Settling the antenna argument with real data
Every ham has asked it: is my new antenna actually better than the old one? SWR tells you whether the antenna takes power. It says nothing about where that power goes once it leaves the feedpoint. Modeling software gives you a pattern, but only for the antenna the program imagines, not the one tangled in your trees.
FarField Lab, written by K5OHY, answers that question differently. It uses the worldwide networks of receivers that are already listening, the Reverse Beacon Network (RBN) for CW and the WSPR network for beacons, as a free antenna range. You transmit, they report what they heard and how strong it was, and FarField Lab turns those reports into maps, charts, and a plain-English verdict.
The tool was previously called RBN Signal Mapper, and the old addresses still work. It runs in any web browser; it is free, and the code is open source under the MIT license. If you’d rather run it on your own computer, the GitHub page has step-by-step instructions for Windows, macOS, and Linux (Python 3.9 or newer).
The hosted version lives at farfieldlab.streamlit.app. The free hosting sometimes falls asleep; just click the button to wake it. The in-app Help and README page carries the full documentation, which is also on GitHub.
What FarField Lab does
FarField Lab has three main jobs: show you who heard you, compare two antennas, and tell you which bands are open right now. You start by typing your callsign in the sidebar and choosing where your spots come from.
Where the data comes from
- RBN (CW). Download a full day of Reverse Beacon Network spots (up to a 7-day range, through yesterday UTC), or paste in spots copied from reversebeacon.net for something that just happened.
- WSPR. Pick a date, today included, and the tool pulls every report of your WSPR transmitter’s callsign. Allow about 5 minutes after a transmission for the reports to arrive.
My spots: the map
Every station that heard you is drawn as a great-circle path, colored by band, with the dot sized and colored by signal-to-noise ratio (SNR). You can filter by band, by UTC time window, and by minimum SNR. A Session report tab adds a band-by-hour grid, a band scorecard, and a station count by region. A world view centered on your station shows your coverage by direction and distance. You can download the map as HTML, a PDF report, or the raw tables as CSV.
Compare antennas
This is the A-B testing page, and the heart of this article. It walks you through three steps: load your spots, tell it how you switched antennas, and read the result. More on that below.
Band conditions
This page looks at WSPR stations near you over the last half hour (or longer) and restates their reports for your power and mode (CW, SSB, FT8, or WSPR). The result is a dashboard of band tiles, a region-by-band grid, a map of who would likely hear you, plus current space weather from NOAA and an estimated maximum usable frequency (MUF) from nearby ionosondes. It’s handy when you’re at a park deciding whether to change bands.
Sharing
Once spots are loaded, the address bar holds a link to exactly what you are looking at. On the Compare page, that link carries the whole test setup, so a friend who opens it sees the same verdict you do.
A-B testing two antennas
The trick behind FarField Lab’s comparison is simple: ask the same receivers about both antennas. A receiver in Germany has its own noise level, and its own path to you, but those are the same whether you’re on antenna A or antenna B. Subtract that receiver’s report on A from its report on B, and what’s left is the difference between your antennas along that path. FarField Lab calls this the relative gain (B minus A, in dB). It averages the relative gain across every receiver that heard both antennas and puts a 95% range around the answer.
There are three ways to run a test. Pick the one that fits your station.
| Method | Mode | How A and B are told apart | Typical length | Best for |
|---|---|---|---|---|
| Switch every transmission | WSPR | By time slot | 8 to 16+ transmissions (16 to 32 min) | Quick, sensitive comparisons |
| Long alternating blocks | WSPR | By block schedule | Several hours, 10 to 60 min blocks | Averaging over changing band conditions |
| Two frequencies | CW on RBN | By frequency | A few minutes of CQs on each | A quick check during an operating session |
Example 1: The quick WSPR test (switch every transmission)
This is the method the tool recommends. Say you want to know whether your new 20m dipole at 40 feet beats your 40m loop at 20 feet on 20 meters.
- Connect your WSPR transmitter to an A/B coax switch, the loop on one port (A) and the dipole on the other (B). Use one band, one power and one callsign for the whole test.
- Set the transmitter to send in every 2-minute slot. Turn off any extra packets, such as a 6-character locator option.
- A WSPR transmission lasts about 110 seconds, leaving a short gap. Flip the switch in each gap, going A, B, A, B (or A, B, B, A), always starting on A. Write down the time of the first transmission.
- Run at least 8 transmissions for a first look at signal strength. Plan on 12 to 16 or more if you expect a small difference, or if you want to know which antenna reached more receivers.
- Wait about 5 minutes, open Compare antennas, pick the date, and click Load spots.
- Under Your test, set Transmissions in your test and the start time. Check that the Order and Antenna columns match your notes, then read the summary.
K5OHY ran exactly this test on 4 October 2026: 12 transmissions on 20m between a 40m loop at 20 ft (A) and a 20m dipole at 40 ft (B). The dipole won clearly. You can open that test as a built-in example on the Compare page and click through every tab.
How the math works in this mode. Each A transmission is paired with the B transmission right after it, only a couple of minutes apart. For each receiver, the tool takes the B-minus-A difference for every pair and uses the middle value (the median). Suppose one receiver’s five pairs come out +4, +6, +5, +20 and +5 dB. Sorted, that’s 4, 5, 5, 6, 20, so its relative gain is +5 dB. The one oddball +20 dB reading, maybe a lucky burst of propagation, doesn’t skew the answer. Then the receivers are averaged: four receivers at +5, +3, +6 and +2 dB give B an advantage of +4 dB.
Example 2: The long-block WSPR test
Band conditions change over an afternoon, and a 20-minute test captures only one slice of them. For a time-averaged answer, run each antenna for a block of time and alternate over several hours. This method comes from Dale (N3HXZ), who has published several WSPR antenna comparisons.
One built-in example is Dale’s own test: a Performer (a tuned, elevated quarter-wave vertical) against a 17 ft whip on a 5:1 unun, on 20m at 1 watt, switched every 30 minutes for nine and a half hours.
- Set up the A/B switch as before.
- Run antenna A for a fixed block (say, 30 minutes), then antenna B, and keep alternating. Blocks of 10 or 20 minutes also work.
- On the Compare page, choose In long blocks under Your test. Enter the start time, the minutes per block, and the number of blocks. If your blocks were uneven, paste a schedule, one block per line, like
16:40-17:12 A. - Keep clicking Load spots while the test runs and watch the Data used box. The goal is 20 or more reports per antenna, and enough receivers to see the big picture.
- If the test crosses midnight UTC, choose Date range under Period and set the end date to the next day.
With no neat pairs to compare, this mode averages each receiver’s reports as power rather than dB. Each report is converted to a power ratio; the ratios are averaged for A and for B, and the ratio of the two averages is converted back to dB. A relative gain-over-time view shows whether a band opening during the test favored one antenna.
The tool’s author checked this method against Dale’s published study. On the 27 stations in Dale’s original table, FarField Lab’s results matched his to within 0.12 dB at every station.
Example 3: A quick CW test on the Reverse Beacon Network
No WSPR transmitter? You can compare antennas with CW and the RBN skimmers.
- Call CQ on antenna A on one frequency, say 14069.5 kHz.
- A minute or two later, switch to antenna B and call CQ on a nearby frequency, say 14070.5 kHz. Use the same power and speed.
- Send plenty of CQs on each antenna.
- Copy your spots from reversebeacon.net, paste them into the tool, and click Load spots.
FarField Lab groups the spots by frequency. The two biggest groups become A and B, and you can change them with dropdowns. Keep the two frequencies at least 0.5 kHz apart, because skimmers report slightly different frequencies for the same signal. The RBN method sorts by frequency rather than by time because skimmers can report a spot a minute or more after you send it.
Reading the verdict
The colored Summary card at the top of the results tells you, in plain English, which antenna reached more receivers, which was stronger and by how much, and whether changing conditions could explain it. A headline tile called Signal advantage is the number to quote, written as who is ahead and by how much, for example, B +2.0 dB.
FarField Lab is careful about declaring a winner. An antenna is called stronger only when the whole 95% range sits on its side of zero and the gap is at least 1 dB. Anything smaller is reported as no meaningful difference. That doesn’t mean the antennas are identical, only that the data can’t separate them. Too close to call means you need more data.
Below the summary, the tabs hold the evidence:
- Result: a scoreboard, a timeline of every spot, a downloadable PDF report and a Data used box showing what went in and what was left out.
- Direction & distance: a world map centered on your station, colored by which antenna was stronger in each direction, plus a rose chart. This is where you might discover, for example, that one antenna is stronger toward Europe while the other does better to the West Coast.
- Receiver by receiver: each station’s relative gain in a sortable table, with charts of gain versus direction and versus distance. Pick one station to watch its reports on both antennas over time.
- Linear average: the same comparison, but averaged power instead of dB, as a cross-check. If the two methods agree within 1 dB, that’s a good sign.
- Maps: antenna A’s map and antenna B’s map side by side.
Watch the slider: On the Receiver by receiver tab, a slider sets the minimum number of reports a receiver needs on each antenna to count. Raise it one step at a time. When the average gain stops moving, the result has settled. If it keeps climbing as receivers drop out, your test was too short. Keep at least 5 to 10 receivers in play, or a handful of stations will decide the answer.
Tips for a fair test
- Keep everything else the same. One band, one power level, one callsign, and one transmitter for the whole test. If you must change power, enter it under Power and the tool corrects for it.
- Use an even number of transmissions. An odd last one has no partner and is dropped.
- More is better. Dale’s experience with the same antennas at 16, 12, and 8 transmissions showed that shorter tests gave lower and shakier numbers. For a difference of 2 to 3 dB, plan on 16 transmissions or more. Differences smaller than about 1 dB are hard to pin down at all.
- Keep the slider at or below half of each antenna’s transmissions. With 4 transmissions per antenna, asking for 4 reports means a receiver had to hear every one, and none may have.
- Repeat on another day. Propagation changes. A result that holds up on a second day is worth much more than one lucky afternoon.
Know the limits
FarField Lab measures how your antennas performed along real paths to real receivers, not absolute antenna gain in dBi. A few other things to keep in mind:
- The weak-signal floor. WSPR decodes down to about -28 dB. Signals weaker than that are never reported, so the weaker antenna loses its faint reports, and the two can look closer together than they really are. Look at how many receivers heard each antenna, not just how strong the signal was.
- Clustered receivers. Several receivers at one site share a path and a noise level, so they aren’t fully independent. That can make the stated range narrower than the real uncertainty.
- Direction results are leads, not findings. With many direction sectors checked at once, treat a “stronger toward Asia” result as something to follow up with another test.
- The two averaging methods can disagree. Averaging in dB treats every report equally. Averaging power lets a few strong reports dominate. Neither is wrong; they answer slightly different questions. If they disagree by a lot, dig in before drawing conclusions.
The GitHub page links to a detailed technical methodology that spells out every rule, how the program was checked (including tests where A and B are the same antenna), and what it can’t establish.
Give it a try
The easiest way to get a feel for FarField Lab is to open one of the five real tests built into the Compare page and click through the tabs. Then grab an A/B coax switch, fire up your WSPR transmitter for half an hour, and find out whether that new antenna was worth the trip up the ladder.
Try it online (nothing to install): https://farfieldlab.streamlit.app/
Source code and full documentation on GitHub: https://github.com/K5OHY/FarField-Lab#readme
