Yet another project I am interested in. Number 157 on the list. 8)
ADS-B is an interesting system that allows aircraft to send position and
other information. It uses the 1090 MHz Transponder frequency.
ADS-B is more progressed over in Europe. It is in a testing phase on
the East Coast of the US. It is out of range from my QTH.
The UAT is used for general aviation on a frequency of 978 MHz.
I was interested in the SBS-1 which decodes Mode S and ADS-B.
The design uses SDR techniques. It appears the decoding is done in a
Xilinx Spartan. http://www.tech-software.net/inside_sbs1.php
There are other interesting things on the website.
Some interesting info about the data being encrypted and delayed
5 minutes over TCP/IP. So no direct Linux support.
I talked to someone with the SBS-1 and they said there is some ADS-B
activity as some US aircraft fleets have it installed.
I thought that the USRP and DVB tuner board could also receive ADS-B and
Mode S. I did not know if my discone and long coax run would work. So
I did some experiments.
I used the fft and oscilloscope programs to check for activity. I did
see activity on 1090 MHz. I then modified the oscilloscope program to
do AM detection with the gr.complex_to_mag() function. I saw various
pulse trains that look correct. There were some short ones that look
like old transponders and longer ones that look like Mode S. I found
the range of good gain settings was narrow (31 to 35) with 33 to be the
best. I found the decimation of 16 gave good pulse shapes. The pulse
timings are in 500 nS units so you need 250 nS sample times at least.
This is the data format. http://www.tech-software.net/adsb_decode1.php
The next step is to write a decoder block that takes in the samples and
prints out type and raw data to the standard output.