Tag Archives: rtl-sdr

Nice filter for 1090 MHz ADS-B site

Over a year ago I decided that I needed some good filters for ADS-B reception on mountaintops. Not that I had an immediate need, I didn’t have anything on a mountaintop, but I suppose I had a little extra cash and felt excited to be able to imagine a good ADS-B receive site atop an Arizona mountaintop (or hilltop) location. So, I drafted up what I thought would be a reasonable spec and went into Alibaba to find a filter manufacturer to build one. I ended up with 5 filters, all exactly to my spec, and for a bargain price (well, relatively speaking).

IMG_4253

Above is the finished ADS-B receiver assembly, complete with Raspberry Pi, RTL-SDR 1ppm TCXO SDR dongle, a eBay-purchased LNA, an eBay-purchased 12 vdc to 5 vdc DC-DC converter, and some coaxial cabling (also from eBay). The black square in the center of the image is the 1090 MHz filter, and it’s a quite good one.

Img_4290_small

It’s a straightforward cavity filter, a little aluminum brick with fine performance.

Img_4283_small

Solid out of band rejection, and I suspect around -100 dB ultimate rejection. The SA just doesn’t have the range to see it.

Img_4289_small

While the signal of interest is only a MHz wide, I wanted a filter that was wider so that temperature and mechanical variation would never haunt me, and I wanted a low bandpass loss (the above shows less than 1 dB loss) across the band.

Behind the filter is a run-of-the-mill eBay wideband LNA with a 1 dB NF, and somewhere around +30 dBm IP3. The RPi is running the most current version of FlightAware’s PiAware, rev 3.0.4, and supports just about any off-the-shelf USB SDR dongle.

After setting it up, it looked like I needed to reduce the overall gain a bit, so I discovered how to go into dump1090 and change the gain from “automatic” (really not, I think it’s just max) to 42 dB. That gave me best range and most received a/c.

The antenna for the site is a FlightAware fiberglass stick, about 12′ above the ground, mounted on the side of the tower.

HeyWhatsThat_30aug16Coverage seems to be pretty close to the model generated by HeyWhatsThat.com (above). The blue line is the 40,000′ contour, while the orange line is the FL300 contour.

24 hours or so of actual flight logs produces the following plot, which is more or less pretty similar to the HeyWhatsThat plot.

ADS-B_Measured_30aug16

The primary notch in the pattern, in the SE, is the higher part of the ridge on which the radio site sits. It ends up blocking any coverage of flights in and out of Tucson, over 110 miles away, until said flights get to FL300 or so.

It will be interesting to see how the coverage shapes out over the next few weeks – I hope that it will get up near the top of all the local receive sites in performance.

Update on acarsdec reception

A few posts ago, I mentioned I’d set up acarsdec on a Raspberry Pi and a USB RTL-SDR dongle. Written by Thierry Leconte F4DWV, it’s a very nice lightweight ACARS decoder that puts a relatively small load on the RPi. A detailed writeup on installing and using acarsdec states that it can handle up to 4 receive channels and with a maximum frequency spread of 1 MHz.

I found that handling 5 channels doesn’t push the CPU load too high. Tonight I found that going beyond the 1 MHz separation barrier, at least a little bit, doesn’t cause any obvious issues either. I’ve even pushed it to 8 channels, that seems to be the absolute limit, while still getting under 80% CPU usage on my RPi 2 model B. However, the error rate becomes extremely high with many messages being lost.

There are a lot of frequencies assigned for ACARS use. While there are many sites that seem to show a number of frequencies, I’ve found that a combination of acarsd.org and radioreference.com make for what seems to be the most comprehensive list.

Freq (MHz) acarsd RR
129.125
130.025
130.425
130.450
130.825
131.125
131.425
131.450
131.475
131.525
131.550
131.725
131.850
136.575
136.650
136.675
136.700
136.725
136.750
136.775
136.800
136.850
136.900

While this is a big list, it seems that what traffic there is is scattered over just a few channels. Here in Phoenix, I hear the vast majority of all ACARS messages on either 130.025 or 136.850 MHz.  There’s some occasional stuff on 131.550, which is supposed to be the primary worldwide frequency, but it pales in comparison to the aforementioned pair. Some of the above channels are claimed to be airline-company specific, but to date I haven’t observed any evidence of that, even with over 2000 flights a day passing through my reception range.

Those two channels are way too far apart for acarsdec to decode them both in one instance. However, with two dongles I can listen to several frequencies in the low part of the band and also in the high part. I haven’t tried that yet, and I suspect it won’t work due to the CPU load with the current RPi.

There are other things that I can do first, which includes resurrecting my homebrew VHF turnstile antenna and putting an LNA/airband filter combo up on the roof right behind the antenna. That alone should help improve my reception since I’ve got about 20 m of coaxial cable between the antenna and the RTL-SDR dongle. As well, the dongle doesn’t have the greatest front end or sensitivity, so an LNA/filter can help with that as well as negating the cable loss.