Do I Need A Filter?

The space around ADS-B antenna contain not only 1090 MHz signals, but also lot of other signals at different frequencies. The closer the frequency of a signal to 1090 MHz, your ADS-B antenna picks it stronger. For example if there are three signals of equal strength, one at 144 MHz, 2nd at 850 MHz and 3rd at 950 MHz, the ADS-B antenna will pick 950 MHz one the strongest, 850 MHz one a bit less stronger, and 144 MHz one much fainter.

As the Cell/Mobile/Pager signals exist in the range 850 MHz to 1200 MHz, these are picked strongly by ADS-B antenna and this mixture is fed to the receiver, overloading its front end tuner. To overcome this situation, a hardware called “Filter” is used. As its name shows, it filters out unwanted signals and passes a narrow band of frequency say 1075 MHz to 1150 MHz, blocking most Cell/Mobile/Pager signals from reaching the receiver.

In order to determine if a filter is needed or not, it is necessary to scan frequencies in the range 800 MHz to 1200 MHz. If the scan shows very few and weak interfering signals, adding a filter will not give any appreciable improvement. On the other hand if the scan shows a lot of strong interfering frequencies, adding a filter will give substantial improvement in ADS-B 1090 MHz reception.

Software developers have developed softwares which use (DVB-T+ADS-B Antenna) to perform this scan. There are following two ways it can be done. Please click the options below to see the details.

[u]OPTION-1[/u]:

DVB-T is plugged into Raspberry Pi (or is plugged into a Desktop/Laptop running Linux Debian/Ubuntu)

[u]OPTION-2[/u]:

DVB-T is plugged into a Windows Computer. Using GUI software rtlplan.exe

[u]OPTION-3[/u]:

DVB-T is plugged into a Windows Computer. Using Command Line Terminal

14 Likes

OPTION-1:

DVB-T plugged into Raspberry Pi.

This method uses software tool rtl_power which is part of software package rtl-sdr.

Credits:

Kyle Keen (keenerd): For rtl_power and heatmap.py
Oliver Jowett (obj): For guide how to use rtl_power and heatmap.py

STEP-1 of 6:

Install required packages (rtl-sdr and python-imaging), and get the python script (heatmap.py) to create image scan.png from scanned data stored in file scan.csv
sudo apt-get install rtl-sdr

## For Raspbian Jessie & Stretch use following command:
sudo apt-get install python-imaging  

## For Raspbian Buster use following command:
sudo apt-get install python-pil  

sudo wget https://raw.githubusercontent.com/keenerd/rtl-sdr-misc/master/heatmap/heatmap.py
sudo chmod +x heatmap.py

STEP-2 of 6:

Free the DVB-T Dongle which is in use by a decoder like dump1090, or dump1090-mutability, or dump1090-fa.

sudo systemctl stop dump1090
sudo systemctl stop dump1090-mutability
sudo systemctl stop dump1090-fa

STEP-3 of 6:

Once DVB-T Dongle has been made free, run following test

sudo rtl_power -f 800M:1200M:100k -i 30 -c 50% -e 30m -g 30 -F 9 >scan.csv

The above command will generate following output.

Number of frequency hops: 286
Dongle bandwidth: 2797202Hz
Downsampling by: 1x
Cropping by: 50.00%
Total FFT bins: 9152
Logged FFT bins: 4576
FFT bin size: 87412.56Hz
Buffer size: 16384 bytes (2.93ms)
Reporting every 30 seconds
Found 1 device(s):
0:  Realtek, RTL2832U, SN: 00001003

Using device 0: Generic RTL2832U
Detached kernel driver
Found Rafael Micro R820T tuner
Tuner gain set to 29.70 dB.
Exact sample rate is: 2797202.148434 Hz
[R82XX] PLL not locked!

Wait for 30 minutes for scan to finish.
When scan is finished, it will say “Exiting… Canceled by user”.
Scan will create a file “scan.csv” in current folder and save scan data in it.

This will produce a very wide image (4000 pixels!) that shows spectrum power from 800MHz - 1.2GHz.

If you want a narrower image, increase “100k” above to something larger, it controls the bandwidth that corresponds to one pixel on the x axis.
-i controls the integration interval (time for one pixel on the y axis)
-e is the total runtime, longer gives you a taller image.

STEP-4 of 6:

Don’t forget to Reboot Pi so that system is restored to normal, and data feeding is restored.

sudo reboot

STEP-5 of 6:

Create an image “scan.png” in current folder from data stored in file “scan.csv”

./heatmap.py scan.csv scan.png

This will produce a very wide image (4000 pixels!) that shows spectrum power from 800MHz - 1.2GHz.

STEP-6 of 6:

Copy the image “scan.png” from Pi to your Win/Mac Computer. To copy a file from Pi, you will need to install on your Win/Mac computer an SCP software. Some popular free of cost software are FileZilla (win and mac) or WinSCP (win) or CyberDuck (win and mac).

Example of Scan of Existing RF Signals by rtl-power

This image is very wide (4000 pixel), but displayed smaller. As a result details are not clear.
Click over it to see bigger size.

Three 500 pixel wide cut-outs from above 4000 pixel wide image. These cutouts show details better.

scan by rtl_power-1a

scan by rtl_power-1b

scan by rtl_power-1c

10 Likes

OPTION-2:

DVB-T plugged into Windows Computer

Important: If you want to plug in your DVB-T Dongle into Windows Computer, you should install its driver Zadig from http://zadig.akeo.ie/

STEP 1 of 7:

Create a new folder of a name of your choice and at a location of your choice. For this guide, I will use new folder name “RF Scan”, location inside “Download” Folder.

STEP 2 of 7:

Download RelWithDebInfo.zip from here:
Download Link: http://osmocom.org/attachments/download/2242/RelWithDebInfo.zip

.
Web Page:

(Scroll down to bottom of page to find download link)

STEP 3 of 7:

Un-zip RelWithDebInfo.zip. It will create a folder RelWithDebInfo and inside this folder another folder rtl-sdr-release which contains several files and 2 folders named x32 and x64 .

.
Open folder x32

rtl scan win-2A

.
Copy following 3 files of folder x32 into newly created folder RF Scan.
(1) libusb-1.0.dll
(2) rtl_power.exe
(3) rtlsdr.dll

STEP 4 of 7:

Download rtlplan.exe from the site given below, and save it inside the folder RF Scan

STEP 5 of 7:

Double-click rtplan.exe] to start the software.

STEP 6 of 7:

In the rtlplan window, make settings as follows (see screenshot below)
start freq: 800Mhz (800000000)
end freq: 1200Mhz (1200000000)
step: 100kHz
Gain: 49.6

STEP 7 of 7:

Press “START” Button. The scan will start and the scan image will start building gradually. Wait for about 15 to 30 minutes for scan image to build to sufficient height. Click “STOP” button to stop the scan. In addition to scan image, a file scan.csv will be generated inside folder “RF Scan”

3 Likes

OPTION-3:

DVB-T plugged into Windows Computer - Using Command LIne

Important: If you want to plug in your DVB-T Dongle into Windows Computer, you should install its driver Zadig from http://zadig.akeo.ie/

STEP 1 of 8:

Download Python Installation File python-2.7.14.msi from the site given below, and install it on your computer

STEP 2 of 8:

Download Python Imaging Library Installation File Pillow-4.3.0.win32-py2.7.exe from the site given below, and install it on your computer

IMPORTANT NOTE: Pillow and PIL are not compatible. If you have already installed PIL, first uninstall it, and then install Pillow

STEP 3 of 8:

Create a new folder of a name of your choice and at a location of your choice. For this guide, I will use new folder name “RF Scan”, location inside “Download” Folder.

STEP 4 of 8:

Download RelWithDebInfo.zip from here:
Download link: http://osmocom.org/attachments/download/2242/RelWithDebInfo.zip

.
Web Page:

(Scroll down to bottom of page to find download link)

.

STEP 5 of 8:

Un-zip RelWithDebInfo.zip. It will create a folder RelWithDebInfo and inside this folder another folder rtl-sdr-release which contains several files and 2 folders named x32 and x64.

Open folder x32

.

Copy following 3 files of folder x32 into newly created folder RF Scan.
(1) libusb-1.0.dll
(2) rtl_power.exe
(3) rtlsdr.dll

STEP 6 of 8:

Download file heatmap·py by Right-Clicking on the link below, and choosing “Save Link As…”
Move the downloaded file heatmap·py into folder RF Scan.

https://raw.githubusercontent.com/keenerd/rtl-sdr-misc/master/heatmap/heatmap.py

STEP 7 of 8:

Make sure no program is using DVB-T Dongle. Stop any such program to free DVB-T.

Open Command console by typing cmd.exe in search. Once the Command Console is open, do following:

# First CD to folder RF Scan
#Once in folder RF Scan, give following command
rtl_power -f 800M:1200M:100k -i 30 -c 50% -e 30m -g 30 -F 9 >scan.csv

The above command will generate following output.

scan by rtl_power-1d

Wait for 30 minutes for scan to finish.
When scan is finished, it will say “Exiting… Canceled by user”.
Scan will create a file “scan.csv” in current folder and save scan data in it.

This will produce a very wide image (4000 pixels!) that shows spectrum power from 800MHz - 1.2GHz.

If you want a narrower image, increase “100k” above to something larger, it controls the bandwidth that corresponds to one pixel on the x axis.
-i controls the integration interval (time for one pixel on the y axis)
-e is the total runtime, longer gives you a taller image.

STEP-8 of 8:

Create an image “scan.png” in current folder from data stored in file “scan.csv”
Open Command console by typing cmd.exe in search. Once the Command Console is open, do following:

# First CD to folder RF Scan
#Once in folder RF Scan, give following command
heatmap.py scan.csv scan.png

The above command will generate following output.

rtl scan win-4
This will produce a very wide image (4000 pixels!) that shows spectrum power from 800MHz - 1.2GHz.

Example of Scan of Existing RF Signals by rtl-power

This image is very wide (4000 pixel), but displayed smaller. As a result details are not clear.
Click over it to see bigger size.

Three 500 pixel wide cut-outs from above 4000 pixel wide image. These cutouts show details better.

scan by rtl_power-1a

scan by rtl_power-1b

scan by rtl_power-1c

1 Like

thanks abcd
so according the above, filter only for 840-940 as per the attached will suffice ?

Seems you will get improvement by adding a 1090 MHz filter.

A good 1090 MHz filter passes a narrow band of frequencies centered around 1090 MHz (say 1090 MHz +/- 20 MHz i.e. 1070 MHz to 1110 MHz), and rejects/attenuates all other frequencies outside this Pass-Band. Well this is what a good filter is supposed to do.

Cut-out 840 to 940 from your full scan.

@abcd567,
Thanks for this.
I used a modified version to work out the gain setting for my dump978 setup.
dump978 doesn’t provide power levels so it makes optimisation a little tricky.

I narrowed the bandwidth to a few Mhz and then ran the script with a few gain settings.
When you run heatmap.py, it gives you the signal range in the output.

UAT 978 is a little hard because the traffic is so variable. On a rainy day I hardly get any traffic.
Also, at night the traffic is very low.

1 Like

Hi, abcd567

Can you help interpret this graph? Do I need a filter?

Regards

@u2ever
Your scan shows that you have very strong signals at following frequencies:
830 to 880 MHz (Cell/Mobile)
930 to 980 MHz (Pager etc).
Adding a filter will improve reception.

1 Like

When I try to run “rtlpan.exe”, from Option 2, I get an error message: "Cannot open file “D:\RF Scan\scan.csv”. The system cannot find the file specified.
Any hints?

LE: Fixed it. The dongle driver somehow reverted to the “non-universal” one, so I had to re-run zadig to replace it.

I am very new to here so trying to slowly get my head around things. My setup is a flightaware kit with the pro plus.

https://1drv.ms/u/s!AlB5W6Ueto0kr2nDDTzOGKqTm-Vk

Does the pro stick not have a filter or do I need to get one?

https://www.rtl-sdr.com/flightaware-prostick-vs-flightaware-prostick-plus-review/

The plus has a filter inside. It can benefit from another in front of it, in certain situations.

2 Likes

RF Scan using “OPTION-2” above.

Scan reveals that at my location (Urban), the Cell Phone signals are stronger than ADSB signals

Hardware Used:

Flightaware 26 inch Antenna + Generic DVB-T (Black), plugged into Windows Computer.
NO FILTER

Strong Cell phone signals detected, as shown below

1 Like

it is possible . how you compare to other nearby sites ?

1 Like

I see big difference between - at least - last Sunday and today in your stats.
what happened after the 7th ?
also, I remember from the time I was in Montreal, usually received more MLAT traffic than ADS-B,
which, in your case, is reversed. Been so near to both CYOW and CYUL I would expect better result.
hardware-wise antennas and bad/loosened connectors seem to be a common problem more than the
receivers. (btw I I damaged a receiver with a powered LNA, working but only for planes 20nm far !)
you can try your old receiver for a week only with filter and a home made cantenna, see if you can
find a hardware issue.
software-wise, you could try the raspbian jessie lite and modesdeco as a decoder and compare
results by weekday (Sun/Sun, Tue/Tue etc)

HTH
Evangel

I noticed small improvement for the last hour. coincidence or some change you’ve made ?

Just for comparison, I suggest you try a 1/4 wavelength ground plane antenna. Easy to make and naturally tuned. Has 50 Ω impedance. No tuning / trimming and impedance matching required.

@Dxista
This is how I use the mag mount antenna supplied with DVB-T dongle:
Removeable part cut to 52mm
Hidden fixed length inside base 15mm
Total length of vertical conductor = 52mm + 15mm = 67mm = 1/4 wavelength
.

.

.

Got a suitable ground plane after he ate all my Butter Cookies :smile:

Cookie%20Monster%20240x240

2 Likes

I took the small plastic tip from the metallic cut part and put it in the sharp edge of the remaining antenna part!

2 Likes

Hi everyone,

I’m using this USB dongle for ADS-B: SY355

Also I’m using the FA antenna 3m high above ground. I got around 200nm range with this setup.
I wonder if it will be better (to increase the range) to purchase a FA Pro Stick plus and replace my USB SDR dongle or buy any LNA+bandpass attached to my actual dongle?
A picture of the scan from 700 to 1350MHz is attached here in my post.

Any comment on this please?

Thank you and best regards!