MLAT rate/amount general question

around my site are so many other sites doing mlat and most of the time it shows ‘mlat connected to 30-40 other sites’
what i’m wondering is that while mlat works for some aircrafts i see all the day a large number where no positions via mlat are calculated but i get lots of messages from them every minute. so - why aren’t all aircrafts caught with mlat?

You can easily synchronize with sites 100s of km away (during my earliest testing, I regularly had sync between receivers in Cambridge and Eindhoven - close to 400km apart) because they can use ADS-B equipped aircraft flying at 30000ft+ to synchronize.
But mlat for an aircraft requires >= 4 receivers seeing that particular aircraft. For low aircraft, you need a high density of receivers to have enough receivers seeing them, because the radio horizon is much closer at lower altitudes.
Having lots of sync really only tells you something about your mlat coverage at 30000ft, not lower…

very true - i forgot to think about altitudes. how much does the needed distance between mlat-ing sites depend on the aircrafts position relative to them? if further mlat testing is on your list - i’d be interested to setup a prototype here …

btw. who had the brilliant idea with time syncronisation via received ads-b messages? as mlat for me is the most interesting part by far in this whole ads-b thing …

I developed the synchronization that mlat-server uses (the FA implementation is based on that). Planeplotter/COAA did it first, I think; I don’t know the details of their implementation, but I took the fact that it could do multilateration as a proof of existence, which always helps a bit :slight_smile:

It’s pretty similar to how some “real” wide area multilateration systems work, though they usually have the advantage of being able to transmit their own synchronization beacons. see e.g. … 200508.pdf section 3.2.2 “transponder synchronized systems”.

and the fa implementation seems to work great - i’m really impressed how well this ‘low-budget-reverse-gps’ delivers positions. especially how fast it starts working when planes come into the reach of my site. i simply love brilliant algorithms :slight_smile: here’s another example - bit different purpose but again about great algorithms:

perfect reading for tomorrow. thanx

another question about mlat.
in times of lower traffic it sometimes looks like mlat pics up a higher percentage of position-less aircrafts compared to times of high traffic.
don’t know whether this is by chance, my misinterpretation or limited to computer capacity for mlat calculations ?

today again it’s looking similar …

I had the same issue about the MLAT being messed up an hour ago. Tried somethings but that didn’t help. Did a power cycle on the Pi. Problem solved.

yes - i rebooted several times the last days - and one or two times it helped and mlat came back - mostly it took some hours and wasn’t bound on rebooting or not.

but what i’m talking here about is - that always despite mlat works - it looks like mlat percentage (of aircrafts without sending positions) is higher in moments of low traffic (of my site) than in hours of high traffic.


  • when there are 30 airplanes without transmitting position - at the same time 25 are cought by mlat = 80%
  • when there are 60 airplanes without transmitting position - at the same time 30 are cought by mlat = 50%

not 100% sure about this - but that’s my impression when looking at my stats-graphs above …

Look at the piaware logs for the fraction of aircraft requested by the server.

You’re probably just seeing an interaction between your receiver coverage, the coverage of nearby receivers, the time-dependent changes to the paths that aircraft take, and the different rules for what dump1090 can use vs. what mlat can use. I don’t think it is worth spending time on this.

good idea - the piaware logs :slight_smile: looks like you are right and anything is similar in times of high and low traffic …

10/31/2015 03:18:28 mlat(2928): Aircraft: 0 of 0 Mode S, 14 of 18 ADS-B used
10/31/2015 03:33:28 mlat(2928): Aircraft: 3 of 4 Mode S, 15 of 23 ADS-B used
10/31/2015 03:48:29 mlat(2928): Aircraft: 1 of 3 Mode S, 17 of 22 ADS-B used
10/31/2015 04:03:29 mlat(2928): Aircraft: 0 of 0 Mode S, 18 of 21 ADS-B used
10/31/2015 04:18:30 mlat(2928): Aircraft: 3 of 5 Mode S, 26 of 31 ADS-B used
10/31/2015 04:33:30 mlat(2928): Aircraft: 3 of 3 Mode S, 33 of 38 ADS-B used
10/31/2015 04:48:30 mlat(2928): Aircraft: 4 of 7 Mode S, 35 of 42 ADS-B used
10/31/2015 05:03:31 mlat(2928): Aircraft: 0 of 3 Mode S, 30 of 39 ADS-B used
10/31/2015 05:18:31 mlat(2928): Aircraft: 2 of 5 Mode S, 41 of 47 ADS-B used
10/31/2015 05:33:31 mlat(2928): Aircraft: 9 of 14 Mode S, 40 of 50 ADS-B used
10/31/2015 05:48:31 mlat(2928): Aircraft: 9 of 13 Mode S, 56 of 77 ADS-B used
10/31/2015 06:03:31 mlat(2928): Aircraft: 18 of 24 Mode S, 63 of 90 ADS-B used
10/31/2015 06:18:32 mlat(2928): Aircraft: 13 of 19 Mode S, 77 of 110 ADS-B used
10/31/2015 06:33:32 mlat(2928): Aircraft: 22 of 30 Mode S, 87 of 113 ADS-B used
10/31/2015 06:48:32 mlat(2928): Aircraft: 22 of 33 Mode S, 67 of 88 ADS-B used
10/31/2015 07:03:33 mlat(2928): Aircraft: 17 of 24 Mode S, 66 of 98 ADS-B used
10/31/2015 07:18:33 mlat(2928): Aircraft: 15 of 17 Mode S, 71 of 93 ADS-B used
10/31/2015 07:33:33 mlat(2928): Aircraft: 15 of 20 Mode S, 57 of 64 ADS-B used
10/31/2015 07:48:34 mlat(2928): Aircraft: 16 of 21 Mode S, 56 of 76 ADS-B used
10/31/2015 08:03:34 mlat(2928): Aircraft: 23 of 28 Mode S, 72 of 97 ADS-B used
10/31/2015 08:18:35 mlat(2928): Aircraft: 37 of 45 Mode S, 81 of 107 ADS-B used
10/31/2015 08:33:35 mlat(2928): Aircraft: 28 of 40 Mode S, 98 of 125 ADS-B used
10/31/2015 08:48:35 mlat(2928): Aircraft: 18 of 27 Mode S, 93 of 126 ADS-B used
10/31/2015 09:03:36 mlat(2928): Aircraft: 28 of 48 Mode S, 84 of 107 ADS-B used
10/31/2015 09:18:36 mlat(2928): Aircraft: 27 of 39 Mode S, 81 of 106 ADS-B used
10/31/2015 09:33:37 mlat(2928): Aircraft: 30 of 38 Mode S, 74 of 108 ADS-B used
10/31/2015 09:48:37 mlat(2928): Aircraft: 30 of 37 Mode S, 90 of 118 ADS-B used
10/31/2015 10:03:37 mlat(2928): Aircraft: 32 of 45 Mode S, 89 of 121 ADS-B used
10/31/2015 10:18:37 mlat(2928): Aircraft: 25 of 40 Mode S, 80 of 109 ADS-B used
10/31/2015 10:33:38 mlat(2928): Aircraft: 43 of 59 Mode S, 95 of 120 ADS-B used
10/31/2015 10:48:38 mlat(2928): Aircraft: 26 of 37 Mode S, 99 of 119 ADS-B used
10/31/2015 11:03:38 mlat(2928): Aircraft: 28 of 42 Mode S, 67 of 89 ADS-B used
10/31/2015 11:18:39 mlat(2928): Aircraft: 28 of 37 Mode S, 73 of 99 ADS-B used
10/31/2015 11:33:39 mlat(2928): Aircraft: 29 of 49 Mode S, 76 of 106 ADS-B used
10/31/2015 11:48:39 mlat(2928): Aircraft: 27 of 40 Mode S, 84 of 113 ADS-B used
10/31/2015 12:03:40 mlat(2928): Aircraft: 32 of 43 Mode S, 87 of 117 ADS-B used
10/31/2015 12:18:40 mlat(2928): Aircraft: 32 of 49 Mode S, 88 of 117 ADS-B used

Yeah, it’s the Mode S number you are interested in, and the aircraft that are not requested are aircraft where there aren’t enough receivers seeing them (yet).

(the clients report the aircraft addresses of all aircraft they can hear, the server then requests full data for aircraft where there are enough receivers hearing it for mlat to be possible)

perfect - thanks - again one brain twister less in my head :slight_smile:

yesterday (saturday) i found out what is also a part of the riddle with the differing mlat-percentage-rates at my site.

especially when the sun shines and on weekends - it is simply caused by lots of smaller private aircrafts using the free time and nice weather.
as they nearly all fly beyond 10,000 feet there are too less mlat-sites near mine to calculate their positions (as obj already stated above) …

the subject from my post above can be seen in my sunday afternoon chart (15:00-16:00) perfectly …

Our regional MLAT team have finally gotten enough receivers going to start collecting MLAT data. And, we expect to really have things popping in another 6 months.

But, if it takes 4 receivers (including the site receiver) for MLAT, why am I getting MLAT mapping with a site stats page reporting of as few as 1 or 2 other receiver synchronizing for a site)?

There are a couple of possibilities:

  1. The sync report is a snapshot in time; maybe you have sync that comes and goes. You can check the piaware logs for a bit of a history of the sync status.

  2. The mlat server can actually work in the case where, say, receiver A is synchronized with B and B is synchronized with C and D, but there is no synchronization between A and C/D. The accuracy tends to be a bit worse in this case. This is a relatively uncommon case (you need terrain or ADS-B flightpaths that prevent direct synchronization while still allowing visibility of some non-ADS-B aircraft) that the sync report doesn’t look at, it only reports directly synchronized receivers.

a private radarcape ads-b network in my region catches much higher percentage in mlat positions than flightaware does. I’m again unsure whether this is only caused by low altitude private planes and too less stations over here …

see graph last three hours:

The Radarcape is a much better ADS-B receiver than a rtlsdr dongle, and it doesn’t need to rely on ADS-B aircraft for synchronization (as it has GPS timestamped messages), so I’m not hugely surprised.