Multilateration

This forum is for users who are developing applications (or resources) to work alongside BaseStation (i.e. add-ons) and who wish to discuss development techniques.

Moderators: KineticChris, KineticDavid, Moderators

ATC-TOM
Posts: 79
Joined: March 14th, 2006, 5:15 pm

Multilateration

Postby ATC-TOM » September 23rd, 2012, 10:45 am

Hi all!

I would like to open this threat, because me and others too, want to know all about multilateration.

Here are some questions:

What exactly do I need to calculate and display a none visible aircraft?
Which Port must I use? Port 30003 (Kinetic) or 30333, 30334, 30335 (Boris)
Where exactly can I find timing values? Are there some examples?
Are there some programming examples out there with formulars?

In Boris's readme file the are some examples, but when I try to read it I'll get such an output (Port 30333):
4C A7 66 8D 4B 1A 60 99 40 90 19 C8 50 05 00 00 00 8D 50 2C 55 90 B9 92 F8 05 48 4A 00 00 00 5D 4C A7 07 00 00 00 8D 49 D1 93 99 44 98 2B 28 04 1B 00 00 00 5D 3D 36 EF 00 00 00 8D 4C A5 65 60 C3 85 FE 4A 47 DA 00 00 00 20 00 17 9E 49 D0 94 20 00 17 31
4C A7 66 5D 50 2C 55 00 00 00 8D 4B 1A 60 58 1F 72 DB A4 C1 7D 00 00 00 20 00 17 31 4C A7 66 A8 00 0B 37 CA 38 00 30 A8 00 00
4B CE B6 8D 4C A4 F8 99 45 5B 01 40 08 0E 00 00 00 5D 45 C2 64 00 00 00 8D 4C A4 F6 60 C3 86 29 A6 B7 79 00 00 00 A0 00 17 9E 00 00 00 00 00 00 00 49 D0 94 20 00 17 31

Sorry, but where shall I begin ? I'm missing a better discription.
Where is the beginning of a block and where is the end?
I'm not realy able to decode it.

Here's a short output of Port 30003:
AIR,,5,143767,3C4DD5,3481,2012/09/23,11:52:37.546,2012/09/23,11:52:37.546
MSG,8,5,143767,3C4DD5,3481,2012/09/23,11:52:37.546,2012/09/23,11:52:37.843,,,,,,,,,,,,0

Question: The timestamp as seen here, is it usable for Mlat or not? and when not, where can I get the correct timestamp from?

I think there are some good programmers in the world who could write cools programs, but
not all of them are so fit and have the needed formulars in place.

I've read many document like ICAO Annex 10 a.s.o. but isn't there a better documentation?
Would be great to get more information from you all.

best regards

Thomas

DaveReid
Posts: 5911
Joined: July 2nd, 2005, 8:25 am
Location: Reading, Berks
Contact:

Re: Multilateration

Postby DaveReid » September 23rd, 2012, 4:57 pm

ATC-TOM wrote:Hi all!Question: The timestamp as seen here, is it usable for Mlat or not? and when not, where can I get the correct timestamp from?

No. The timestamp in the port 30003 output only has a a resolution of about 0.2 seconds (despite having 3 decimal places).

Since multilateration depends on accurately calculating the time taken for a transponder signal (travelling at the speed of light) to get from the aircraft to the receiver, a 0.2s resolution timer would only give a result that was accurate to around 40,000 miles. :D

You need to capture the 20MHz timer clock tick from the SBS box itself, using either the Borisware DLL or the new "raw data" port output, as used by PlanePlotter. In fact, why not let PlanePlotter do the hard work for you ?

Bear in mind that if you do decide to DIY, you can't do multilateration with just one receiver location - the clue is in the name !

User avatar
satcom
Posts: 1531
Joined: January 10th, 2006, 3:04 pm

Re: Multilateration

Postby satcom » September 23rd, 2012, 5:15 pm

Just to add to Dave's reply , PlanePlotter has recently introduced a sector facility whereby we can set up mini Mlat nets
anywhere there are enough sharers sending the required raw data.
Experience has shown that a minimum of six ground stations is needed to accomplish good fixes. They will need to be well spaced between 20 and 50 km apart
Ideally set up your ground stations around a central point....perhaps a nearby major airport , or in the region of your main airway system.
Each ground station should have good coverage.

Your stations must keep exact time , we recommend ntp , free sotware which will keep your PCs in synch.

ATC-TOM
Posts: 79
Joined: March 14th, 2006, 5:15 pm

Re: Multilateration

Postby ATC-TOM » September 24th, 2012, 2:31 pm

Hi Dave!

you wrote: "You need to capture the 20MHz timer clock tick from the SBS box itself, using either the Borisware DLL"

OK, I've installed his DLL's but I have problemswith the data I receive. Where can I find this needed timestamps from the 20Mhz Clock???
The Boris's document is not so understandable for me. Could anyone help me?

Thomas

DaveReid
Posts: 5911
Joined: July 2nd, 2005, 8:25 am
Location: Reading, Berks
Contact:

Re: Multilateration

Postby DaveReid » September 25th, 2012, 2:25 pm

ATC-TOM wrote:you wrote: "You need to capture the 20MHz timer clock tick from the SBS box itself, using either the Borisware DLL"
OK, I've installed his DLL's but I have problemswith the data I receive. Where can I find this needed timestamps from the 20Mhz Clock???
The Boris's document is not so understandable for me. Could anyone help me?

For the timer data, you need port 30334, not 30333. You get one control byte, 4 bytes of timing data, then either 7 of 14 bytes of packet data and finally a 2-byte checksum.

Your original post has the packet data in it, but it's hard to see because of the formatting:

4C A7 66 8D 4B 1A 60 99 40 90 19 C8 50 05 00 00 00 8D 50 2C 55 90 B9 92 F8 05 48 4A 00 00 00 5D 4C A7 07 00 00 00 8D 49 D1 93 99 44 98 2B 28 04 1B 00 00 00 5D 3D 36 EF 00 00 00 8D 4C A5 65 60 C3 85 FE 4A 47 DA 00 00 00 20 00 17 9E 49 D0 94 20 00 17 31
4C A7 66 5D 50 2C 55 00 00 00 8D 4B 1A 60 58 1F 72 DB A4 C1 7D 00 00 00 20 00 17 31 4C A7 66 A8 00 0B 37 CA 38 00 30 A8 00 00
4B CE B6 8D 4C A4 F8 99 45 5B 01 40 08 0E 00 00 00 5D 45 C2 64 00 00 00 8D 4C A4 F6 60 C3 86 29 A6 B7 79 00 00 00 A0 00 17 9E 00 00 00 00 00 00 00 49 D0 94 20 00 17 31

is more easily read as:

8D 4B 1A 60 99 40 90 19 C8 50 05 00 00 00 (DF17)
8D 50 2C 55 90 B9 92 F8 05 48 4A 00 00 00 (DF17)
5D 4C A7 07 00 00 00 (DF11)
8D 49 D1 93 99 44 98 2B 28 04 1B 00 00 00
5D 3D 36 EF 00 00 00
8D 4C A5 65 60 C3 85 FE 4A 47 DA 00 00 00
20 00 17 9E 49 D0 94 (DF4)
20 00 17 31 4C A7 66
5D 50 2C 55 00 00 00
8D 4B 1A 60 58 1F 72 DB A4 C1 7D 00 00 00
20 00 17 31 4C A7 66
A8 00 0B 37 CA 38 00 30 A8 00 00 4B CE B6 (DF21)
8D 4C A4 F8 99 45 5B 01 40 08 0E 00 00 00
5D 45 C2 64 00 00 00
8D 4C A4 F6 60 C3 86 29 A6 B7 79 00 00 00
A0 00 17 9E 00 00 00 00 00 00 00 49 D0 94 (DF20)

ATC-TOM
Posts: 79
Joined: March 14th, 2006, 5:15 pm

Re: Multilateration

Postby ATC-TOM » September 25th, 2012, 5:39 pm

Thanx Dave :P

It will help me a lot more than before.

Last questions:
Are the timing data comming from the aircraft or from the sbs1?
Are the timing data values in milliseconds?
Are the timing data continuously counting up?


best regards

Thomas

DaveReid
Posts: 5911
Joined: July 2nd, 2005, 8:25 am
Location: Reading, Berks
Contact:

Re: Multilateration

Postby DaveReid » September 25th, 2012, 10:58 pm

ATC-TOM wrote:Are the timing data coming from the aircraft or from the sbs1?

From the SBS, Mode S packets don't contain any timing data

Are the timing data values in milliseconds?

No, the counter runs at 20MHz.

Are the timing data continuously counting up?

The counter is a 32-bit value, it rolls over to 0 when it reaches FFFFFFFF.

ATC-TOM
Posts: 79
Joined: March 14th, 2006, 5:15 pm

Re: Multilateration

Postby ATC-TOM » September 26th, 2012, 11:14 am

Thanx Dave.
Here I have another Problem: Example from Port 30334
07 - 00 AC 71 55 - 5D - 40 64 9F - 00 00 00 19 08 07 00 B4 76 56 5D 4C
01 - 00 E8 77 58 - 8D - 40 64 9F - 99 45 85 00 C0 04 11 00 00 00 34 5C
01 - 00 42 C0 A1 - 8D - 40 64 9F - 58 B9 82 EC 1C D1 42 00 00 00 FF C9
01 - 00 1A 8E 09 - 8D - 40 64 9F - 99 45 85 00 C0 04 11 00 00 00 2D 0E
01 - 00 FF 78 3D - 8D - 40 64 9F - 58 B9 82 EC 1C D1 33 00 00 00 17 FC
07 - 00 A0 D6 58 - 5D - 40 64 9F - 00 00 00 01 F7 F7 F7 F7 F7 F7 F7 F7
01 - 00 77 DB 43 - 8D - 40 64 9F - 58 B9 82 EC 1E D1 14 00 00 00 23 56
01 - 00 97 EF 46 - 8D - 40 64 9F - 99 45 84 00 C0 08 11 00 00 00 D2 47
07 - 00 99 E8 83 - 5D - 40 64 9F - 00 00 00 EE 5D 05 00 72 E5 86 A0 00
01 - 00 73 4D D0 - 8D - 40 64 9F - 58 B9 86 57 1E BC F6 00 00 00 95 B1

Look about the timer values, it doesn't seems that the aircraft is sending each 0,8 seconds.
E8 77 58 - AC 71 55 = 3C 06 03 = 3933699 Dez
20.000.000 / 3933699 = 5.084 seconds


Is my calculation correct, or what is wrong here?
This Listing I've received in sequence.

Thomas

Btw, I've found that page here:
http://en.wikipedia.org/wiki/Multilateration
...which decribes all the formulars, but is there anybody out there who could write
an example with sourcecode and measured values, so that it is really understandable for a newbie like me? :roll:
I'm not so fit in such formulars. Thanx

DaveReid
Posts: 5911
Joined: July 2nd, 2005, 8:25 am
Location: Reading, Berks
Contact:

Re: Multilateration

Postby DaveReid » September 27th, 2012, 7:01 am

ATC-TOM wrote:Look about the timer values, it doesn't seems that the aircraft is sending each 0,8 seconds.
E8 77 58 - AC 71 55 = 3C 06 03 = 3933699 Dez
20.000.000 / 3933699 = 5.084 seconds


Is my calculation correct, or what is wrong here?

To get the time between transmissions, divide the number of timer ticks by the clock rate.

Not the other way round !


Return to “Development”

Who is online

Users browsing this forum: No registered users and 1 guest