The method I planned to use to compare two sets of FIR filters is to run two RTL-SDR dongles simultaneously with the two sets of filters and collect I/Q data in files. Then run the two sets of data through dump1090-fa using the --stats option.That is: dump1090-fa --stats --ifile output.iq.
The setup is: half-wave vertical dipole antenna, uputronics filtered LNA, XRDS-RF 2-way splitter, two RTL-SDR dongles, Rpi 4. The antenna is inside the house on first floor – ie not very good, and therefore a small plane count. But that can be improved later.
First I figured I would run a sanity check with the same filters in the two dongles. The stats should be nearly equal. However, I was in for a surprise. The script for running the test is just:
rtl_sdr -d 00000978 -f 1090e6 -s 2.4e6 -n 240000000 -g 49 output1.iq &
rtl_sdr -d 00001090 -f 1090e6 -s 2.4e6 -n 240000000 -g 49 output0.iq
Notice the & at the end of the first line – both of those lines run at the same time. The I/Q data collection time is 100 secs in the above test. After collecting the data in output0.iq and output1.iq files, run these files through dump1090-fa as above.
I found that there could be differences in the stats up to 10% or more depending on the RTL-SDR modules used. Furthermore, the differences stayed with the RTL-SDR module, that is they are not random differences. Also it appears that older modules were worse than newer ones.
The following shows the stats outputs from dump1090-fa
Statistics: Sun Feb 8 21:48:29 2026 PST - Sun Feb 8 21:48:34 2026 PST
Local receiver:
240000000 samples processed
0 samples dropped
0 Mode A/C messages received
1883334 Mode-S message preambles received
7647542 with bad message format or invalid CRC
790533 with unrecognized ICAO address
1186 accepted with correct CRC
-37.4 dBFS noise power
-22.9 dBFS mean signal power
-12.7 dBFS peak signal power
0 messages with signal power above -3dBFS
Decoder:
1186 total usable messages
292 DF0 messages
120 DF4 messages
10 DF5 messages
347 DF11 messages
3 DF16 messages
412 DF17 messages
2 DF20 messages
Statistics: Sun Feb 8 21:50:38 2026 PST - Sun Feb 8 21:50:43 2026 PST
Local receiver:
240000000 samples processed
0 samples dropped
0 Mode A/C messages received
1878925 Mode-S message preambles received
7630601 with bad message format or invalid CRC
788867 with unrecognized ICAO address
1093 accepted with correct CRC
-37.4 dBFS noise power
-23.0 dBFS mean signal power
-13.0 dBFS peak signal power
0 messages with signal power above -3dBFS
Decoder:
1093 total usable messages
267 DF0 messages
100 DF4 messages
7 DF5 messages
311 DF11 messages
3 DF16 messages
403 DF17 messages
1 DF20 messages
1 DF21 messages
1093 vs 1186 usable messages – almost a 9% difference.
Notice the signal levels are about the same, so that can’t explain the difference.
This data was from two fairly old RTL-SDR modules.(About 3 years old).
This kind of variability between RTL-SDR modules really surprised me. Possibly there’s some flaw in my testing methodology. If there is, please point it out.