And BTW, the latest valid options for airspy_adsb are those:
pi@pi_3:~/airspy $ ./airspy_adsb -h
airspy_adsb v1.37
Options:
-s <serial_number> Device serial number
-t <timeout> Aircraft timeout in seconds
-g <rf_gain> RF gain: 0..21
-f <bits> Forward Error Correction (FEC) bits
-c <host>:<port>[:format] Add a Push Client
-l <port>[:format] Add a Server
-m <mlat_freq> MLAT frequency in MHz: 12 or 20
-x Enable DX mode
-r Reduced IF bandwidth
-b Enable Bias-Tee
-p Enable Bit Packing
-v Verbose mode
-h Display this help screen
Available output formats:
* AVR - Raw AVR format
* AVR-STRICT - Raw AVR format with only CRC valid frames
* ASAVR - Raw Airspy AVR format
* Beast - Raw Beast Binary format
IMO the bandwidth of the ADSB messages is fairly low, 50kHz.
For comparation, the “normal” bandwidth for FM is 100kHz. UAT signals have 1.3MHz. Normally the bandwidth of the SDR dongle is equal or slightly lower than the sampling rate (because there are two signals I and Q, Nyquist limit is respected).
Reducing the IF band diminishes the out of band noise, without cutting the actual payload of the signals, allowing for weaker signals to be detected.
Now, how is actually implemented… I don’t really know. Might be just a placebo.
The RSSI in the BEAST output tries to emulate BEAST behavior and “sensitivity”. The result is that some very weak frames can still be decoded with the Airspy but will have RSSI = 0.
-x is unrelated to oversampling. It simply tells the decoder to trust more frames that are likely to be good.
Weak frames will show -49.5 dB or so.
However this makes sense for the plethora of signals around 0dB that I see and that don’t seem to overload the airspy mini receiver.
I meant “0” in the BEAST output, not what is displayed in the plotting software in “dBFS”. The RSSI in BEAST is defined as an integer between 0 and 255. With 0 being the weakest and 255 being the strongest. Internally, we estimate the average SNR of the frame and use a 16bit integer to represent it. The data is available our “extended” AS-AVR protocol.
In any case, don’t rely on the RSSI to estimate how good a signal is. The only thing that really matters in modern radio is SNR.
The preamp is more likely to overload before the Mini. Just make sure you have enough headroom by using an antenna that naturally attenuates out-of-band signals. I use a resonant Active Diapason antenna in my main test site, and it always gave good results. https://shop.jetvision.de/Active-Diapason-Antenna
Exactly. I don’t know if is because of internal representation on more bits or why. I was scared to run the airspy mini with the gain up, because I saw lots of 0dB signals, and I was trying to stay at least -3dB lower.
But now I am at gain 21 and I still decode lots of signals, even if some far away airplanes show -0.9dB!
I have been running an airspy with full gain on a hab/nevis amp with no issues. I do have a cavity filter on teh outside as there is so much RF crap in my area.
This is my airspy feeder
The recent stats improvement is due to me changing it from an attic antenna to a chimney mounted antenna. The radarcape was using the chimney mounted antenna but stopped working (I have to get it fixed).
Is PlanePlotter relying on an absolute signal level? That doesn’t make much sense anyway as you can always change receiver gain.
I’m curious how would it break planeplotter?
Maybe you could include a command line switch so it’s actually a useful display in the dump1090 based web interfaces people are using
PP uses the signal levels to do fancy things. They have to match the regular BEAST receiver.
That said, I can add another switch in the command line to enable full scale “RSSI” or, better yet, the SNR.
While i know that the SNR is interesting, if you run double stage amps like the rtl-sdr blog LNA it is nice to know where you are in the dynamic range of the airspy.
With single stage LNAs with aroung 17dB of gain you probably just can’t oversaturate the airspy
(In regards to ADS-B signals)
@burgdorfer
Pretty likely 21 is the best gain setting as you seemingly need more than 30dB of amplification before oversaturation of the airspy becomes a problem.
(I’m just gonna assume you use the uputronics amplifier? You wrote something about a filter but that’s not what i was asking.)
I’m still not sure how PP is gonna do fancy things with a signal level that is clipped to maximum if you even remotely use the dynamic range of the airspy.
You have to ask Bev of COAA for the details. AFAIK, it is used for distributed RSSI calibration so different systems can have consistent display. The RSSI is also used to enhance the MLAT calculation by giving less weights to weak signals. The prerequisite was that the linear full scale should match the ADC used in the BEAST (was that a 8bit MAX1192?)
Airspies give 12bit with an oversampling factor of 6 or 10 depending on the -m setting. You end up with a much larger numerical range that doesn’t fit in a single byte integer.
Before mapping this RSSI, Bev remarked that the RSSI reports “do not seem to vary with height and distance from [his] receiver as [he] would expect”. In fact, most reports were squeezed in a small region of the 0 … 255 range.
Thanks for the explanation that makes sense
I guess planeplotter is using the airspy as part of a kit then? That of course make sense because you have a common baseline.
So does the -m setting actually change the decoding?