Recently I have turned my attention back to ADS-B. I realized it is an excellent source for a dynamic near-realtime dataset for use as sample data in some other side projects. The data itself is interesting and fun to visualize, and it’s relatively easy to stand up a recieveing station that is always on. So I pulled out an SBC (Odroid XU3) and an old generic RTL-SDR stick I had lying around, and hooked things up to a simple telescoping dipole antenna mounted in the window. This modest setup was enough to pull flight data from nearby aircraft, and for my purposes was completely satisfactory. However, the more I used this setup and got a sense of its receiving range, I became curious. What are some simple modifications I could make to this little station to increase its range, and by how much? Is it possible to push its range without going (too) crazy with radio gear?
An antenna upgrade seemed like the best place to start. The little telescoping dipole is great for roughly adjusting to a frequency you may be interested in. However, its always a bit of a guess at getting the length just right, and reception is mediocre overall. Since I’m only interested in one frequency (1090MHz for ADS-B), it makes sense to try and construct a purpose built antenna. I settled on a quarter wave ground plane antenna for the build, as folks report good results with it for ADS-B reception. Further, I had the the stuff needed to build one on hand. There are several other antenna options that could work quite well here and rtl-sdr.com has a great rundown of the commonly used ones. It’s also an excellent jumping off point if you want to setup your own ADS-B recieving station.
A quarter wave ground plane antenna is a type of monopole antenna with a single conductor element and several evenly spaced ground plane elements (in my case 4). Each of these elements are cut to 1/4 wavelength of your target frequency. For this antenna we’re wanting elements around 65mm to hopefully resonate well with our target 1090Mhz signal. However, when constructing a wire antenna like this, its a good idea to cut the leads slightly long, this way you can trim the length back to an exact measurement once the antenna is constructed.
In this construction I cut the elements from solid 22AWG copper wire and soldered them directly to a panel mount SMA jack. They were then trimmed them down to exact lengths.
So where did the 65mm element length come from?
To know what the wavelength is for a given radio frequency, you divide the speed of light (in meters per second) by that frequency (in Hz). For this project we’re shooting for 1090Mhz, that’s (3.0x108m/s)/(1090x106Hz). To make things simpler you can reduce this to (300/1090). That gives us .275m (275mm) for the full wavelength; since we are after 1/4 wavelength we divide by 4. So about 68mm.
Wait, what? Didn’t you say 65mm?
Well, yeah… it turns out it’s a bit more complicated. I’ll try to summarize to the best of my ability. (tl;dr in the blockquote below)
Electromagnetic waves travel at a constant velocity in free space (3.0x108m/s). However, RF energy on an antenna has a slightly lower velocity. This is because the relative permittivity of the antenna material (sometimes called its dielectric constant) is greater than that of free space (or vacuum permittivity). Since we have this difference in velocity between RF energy in free space and RF energy on an antenna, the antenna’s physical length is no longer equal to its electrical length. In other words, if you were to cut an antenna element to have an electrical length of exactly 1/4 wavelength, the physical length of that antenna would be slightly shorter than 1/4 wavelength. How much shorter? Again it’s a bit complicated. A large number of things can affect the relative permittivity of an antenna, but the most notable for an antenna made of thin wire is stray capacitance, often called “end effect.” As a general rule of thumb we can say:
End effect for a typical dipole of wire that is thin compared to its length is counteracted by making the physical length about 5 percent shorter than the electrical length…
- Practical Antenna Handbook 5th Edition (105)
So taking 5% off the 68mm we calculated above will give us about 65mm. To apply this to our original calculation (and be a bit more precise), we can slow the speed of light by 5% (285/target freq in MHz) to give us the physical wavelength on the antenna.
So to belabor our example of 1090MHz:
(285/1090) gives us a 261mm wavelength, then dividing by 4 for the quarter wavelength gives us 65mm.
Of course there are many online “antenna length calculators” that will do the math for you, but where’s the fun in that?
Around the time I was working on the antenna, I noticed a nice filtered LNA package specifically designed for ADS-B reception being offered at rtl-sdr.com. It offered targeted filtering for 1090Mhz, and amplification for the signal touting a 27dB boost. Reviews looked good and the price was reasonable so I purchsed one. An LNA should be positioned as close to the antenna as possible, and requires 3v - 5v power provided inline. Powering something directly through coax is typically accomplished using what is called a bias-t.
A bias-t (or bias tee) is a circuit that injects a biased DC voltage in one direction on an RF line, but blocks that DC voltage in the other direction allowing only signal AC to pass through. Typically you put a bias-t directly on the coax between your radio and whatever you want to power (in our case an amplifier). The bias-t will provide power “up” the line to the amplifier, but no DC voltage will be allowed “down” the line to the radio where DC voltage is not welcome.
Many newer RTL-SDR dongles marketed to radio hobbyists come with a 5v bias-t power source built in. However, since I’m using an old generic SDR stick (originally only intended for TV reception) I have no such luxury. Of course RTL-SDR sticks are fairly inexpensive, so I considered purchasing a new one with a built in bias-t just for this purpose (and I likely will in the future). However, as I started reading more on how a bias-t works and solutions that others had come up with, I decided it might be a fun diversion to attempt to build my own.
There are two main components that allow a bias-t to work: a capacitor that allows AC to pass through but blocks DC, and an inductor that allows DC to pass through, but blocks AC. These components can be seen in the top 1/4 of the following schematic. All the remaining components are for DC smoothing, power indication, and the power source.
Component values are chosen based on a number of factors, most notably the target frequency (or frequency range) and the DC voltage being used. It is at this point that I extend a huge thanks to LNA4ALL. There you can find a fantastic writeup for a diy bias-t where he outlines a design for a “good enough” wideband bias-t using common component values. The above schematic is taken directly from that post, adding only a power indicator and a USB power source. It seemed handy to source the 5v from USB, as the SBC that the radio is on has several USB ports to spare, and the RF line was in close proximity.
After plugging in a USB cable and doing some sanity tests, the bias-t was working as expected. 5v DC was observed on the right side, no DC voltages on the left, and after placing this inline with the radio and LNA it seemed to work like a charm. The LNA was getting power and the radio was receiving an AC signal with the DC voltage scrubbed. Excellent! Now admittedly this bias-t is a bit crude. It could probably use a shielded enclosure, and the components spaced much closer together. I had some concerns that there would be a lot of noise introduced, and at some frequencies that certainly may be the case. However, at 1090Mhz things seem fine. So for my purposes, this will do nicely.
Now that the price of having a PCB manufactured for you is very low, the quality high, and the turnaround time reasonable, it’s becoming more difficult to justify making your own PCBs. For this experiment however, I only need the one device, I have all the supplies to etch a board, and I find the process both rewarding and enjoyable. I decided to forego the manufacturer this time and just make the board myself.
For the curious, I use the toner transfer method and etch with ferric cholride.
To get a better sense of how things improved I needed a way to measure the range of reception over time. In this way I could get a rough benchmark for the original setup, and note changes with each addition. I decided to use PlaneFinder’s client software as it offers some nice statistics, and a visual representation of aircraft signals recieved over a 24hr period.
In the charts below each ring is a 50 mile radius from a rough geolocation of my recieving station. The area in blue represents where the flights were observed over 24hrs. The position of the antenna was the same for all tests.
A significant improvement! The new setup’s range tops out near the outskirts of Houston and the Gulf Coast. These flights near the end of reception range are of course are very high altitue cross country flights. Reguardless, I’m quite pleased. It’s interesting to note that the antenna for this setup is hanging in an East facing window. To the West of the station is our house, a hill, and downtown Austin closely followed by a big elevation change at the Balcones Escarpment. This is well represented in the graphs, as reception to the West is greatly diminished. Placing the antenna outside as high as possible could potentially help improve the range in this direction. A weatherproof enclosure and maybe a PoE setup for the SBC would be good next steps for this little project.