Accuracy of dump1090-mutability dBFS RSSI reading?

Tonight i swapped from a Raspberry Pi B to a B+ as the B was getting close to it’s processing limit (FA, FR24 and PF clients).
In the process of doing the swap i ran the dpkg-reconfigure dump1090-mutability.
One of the questions was for the gain control. Previously i had set it as “agc” but this time i did the recommended “max” setting.
Now when i look at the dump1090 local map i am seeing dBFS figures 25 to 30dB higher than before. Planes 15 miles out have around -3dBFS whereas they used to be around -30dBFS?
Does this seem correct? Is the “agc” setting only turning the amplification up the minimum required amount to get an error free signal? Whereas “max” is just flat out all the time.

I am running a 6 element COCO antenna temporarily mounted indoors with an inline amp, flightaware filter and a RTL-SDR dongle.

There aren’t many planes around tonight for me to see if the maximum range has changed but i’ll keep an eye on it over the next few days.
The dBFS figures seem to track well with the aircraft distance. The figures steadily increase as the distance decreases.

The dbfs value is after amplification I.e. it is measured at the ADC so it is expected that you will get different values with different gain settings. Usually AGC will behave like “more gain than max” so your results are a bit unusual there. -30dbfs is close to the detection limit for the demodulator, I would expect nearby stuff to be much stronger than that

Thanks for the clarification.
Sounds like i must have had something else set up incorrectly that i unknowingly corrected during the upgrade of the Raspberry Pi.
I did have a small pigtail coax from the amplifier to the filter. (SDR → filter → pigtail → amp → antenna)
I removed that and now have the filter connected to the amp with a solid male to male adaptor.
Very possible that the pigtail was faulty or i hadn’t fully screwed in the connection.

I think it’s nothing to do with faulty hardware.I found that out just a few hours back :smiley: .
With AGC the RSSI value were as high as -0.9dB but after setting my gain manually to 49.6 the highest number I have got is -10dB and my noise floor has gone down by 8dB.

http://img02.imgland.net/VGeAxSi.png

With your noise floor dropping and losing so many dB it sounds almost like it is at low gain not maximum.
Maybe the gain setting wraps around. So say the maximum gain was actually 45 and setting it to 49.6 caused the value to overflow and ended up as just 4.6 or something like that. :confused:

I am going to leave mine set to “agc” as it seems to behave better with that setting.

Setting it to “max” gave me a drop of about 10dB and many planes out further than about 90% of my range limit dropped off the dump1090 map.
Which sounds to me like low gain not high gain. :confused:

The graph results do look a little low. Mine peaks around -1 to -3db and my noise floor is around -20db(Not great, however, I life in NYC, so it is to be expected).
I would suggest giving agc or max a try for a while.

I looked at some of my aircraft yesterday. I get -25db levels for aircraft at 100-150NM. -3db for 15NM seems about right to me. It will vary a lot based on their orientation and obstructions. Clearly something at FL380 15 NM away should have a better signal than something at A025.

AGC is “more than max” as @Obj explained.
I tried to find a sweet spot and 48/49.6 dB churns out more positions than AGC.

Give -10 a shot on your -mutability. If you decide to do, can paste another graph?

http://puush.hopto.me/kNju

EDIT: After looking through the source and mutability logs, apparently -10 forces it into AGC:

Using automatic gain control.
Gain reported by device: 0.00 dB

:blush:

Wow. That is an incredibly constant signal strength.

Is your receiver located in an area with essentially constant air traffic?

That’s what I call tuner explode mode. Even though that’s an hourly sample, the levels are pretty much glued to the ceiling like that 24/7 when mutability is running -10 (AGC evidently). If I wasn’t filtered it would be complete tuner saturation, and maybe already, however it seems to be able to handle it quite well although the CPU use is up as I assume dump1090 needs to work extra hard to chew through the noise. I have it pinned for some antenna comparisons for the time being, however this particular setup seems to prefer 38~42 gain during the busy hours. (FA Antenna, filter, dongle & 25ft high Q RG6). I’d be interested to know what the actual “noise” indicator actually consists of when using mutability. So far as my traffic, pretty much the same story as most other locations, dead between 12am and 5am - that’s when AGC seems to work wonders since there is less interference during these hours.

Total power of all samples that are not part of a successfully decoded message. It doesn’t attempt to measure the noise floor, it measures “everything that’s not signal” which can include collisions and overamplified messages etc.

You sir are a true class act. Thank you for taking the time.

I read Obj’s reply which said

Which i took to mean AGC had the ability to increase gain to a higher level than “Max” but i thought it would still reduce the gain if there was a lot of loud (nearby) signals.

That “Max” isn’t actually the highest gain setting is probably what was confusing me. So me seeing a drop in signal levels and range when using “Max” rather then “AGC” now makes sense.

I am now messing about with BartJr and lignumaqua’s Python scripts http://discussions.flightaware.com/ads-b-flight-tracking-f21/gain-adjustment-t37172.html to get some data on what each gain level does.
Maybe i should add “AGC” and “Max” to the list of gain levels that are tested to get a better picture of what effect each has?

The AGC is a complicated one. There are two things going on:

  1. the AGC is designed for continuous DVB-T signals from a single transmitter; it really doesn’t work well with bursty ADS-B messages from multiple transmitters; usually it goes to the maximum gain that the AGC can set and staying there, regardless of the signal strength of individual ADS-B messages.
  2. due to a quirk in librtlsdr, the gain stage that the AGC doesn’t control is set to a value higher than you can set with manual gain

So you end up with a total gain that’s a bit higher than you can manually set.

It’s pretty broken and fixing librtlsdr has been on my list for a while.

AGC for ADS-B signals sounds a bit like trying to set up a one microphone to record every conversation going on at a large party.
With some people whispering in the corner and others yelling right beside you and the number of guests constantly changing.
Not an easy task.

Maybe if the software was able to dynamically change the gain setting based on an algorithm that was designed with ADS-B signals in mind.
So the dongle wouldn’t be controlling the gain with it’s inbuilt DVB-T optimised AGC but rather the software would do it using an ADS-B optimised “software” AGC.

Probably not easy to create though.