Skip to content
View in the app

A better way to browse. Learn more.

Ham Radio Base -Powered By Ham CQ DX

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
Solar
SFI 147
SN 89
A 8
K 1 Quiet
X-Ray C3.2
Wind 382.1 km/s
Aurora 3
Updated 00:00 UTC HamQSL · N0NBH
Day 80/40m Fair 30/20m Good 17/15m Good 12/10m Fair
Night 80/40m Good 30/20m Good 17/15m Good 12/10m Poor

Callsign Lookup
_
Vanity Call Signs Available
Enter filters above and click Search.
ⓘ Callsign lookups are in real time via the FCC database. Vanity callsign availability is refreshed daily at 6:00 AM CST. The vanity search may be unavailable for a few minutes during this update.
Live DX spots
Live DX Spots — 70cm via PSKReporter · scroll or pinch to zoom
Band
Mode
Time
Loading map data…
MHz DX Spotter Info
Recent spots
Select a band above to load spots
Ready — select a band to fetch live spots

Antenna HubAntenna Testing › WSJT-X & WSPR Guide

WSJT-X & WSPR for Ham Radio Antenna Testing

WSPR — Weak Signal Propagation Reporter — is a low-power digital beacon mode that reports every reception to a global online database. Run WSPR for 24 hours at 200 mW and wsprnet.org accumulates hundreds of reception reports from stations worldwide. Change your antenna and run again. The before-and-after comparison, with real SNR data from real receiving stations on real propagation paths, gives antenna testing rigour that no other free tool can match.

Software: WSJT-X (free)
Database: wsprnet.org
Power: 200 mW typical
Coverage: Global HF
How WSPR Works for Antenna Testing

WSPR (pronounced "whisper") was designed by Joe Taylor K1JT — the Nobel Prize-winning physicist who created the digital weak-signal modes that revolutionised amateur radio. A WSPR transmission encodes your callsign, grid square, and transmit power into a 110-second long transmission using an extremely narrow-bandwidth (6 Hz) FSK4 digital mode. The encoding is highly redundant, allowing receivers to decode signals up to 28 dB below the noise floor — far weaker than any conventional mode.

Every station that decodes your WSPR transmission automatically uploads the spot to wsprnet.org, including their callsign, your callsign, the frequency, the UTC time, the SNR in dB, your reported power in dBm, and the great-circle distance between the two stations. You can then query wsprnet.org for all spots of your callsign and see, for each receiving station, exactly how strong your signal was received over time. Running two antenna configurations in sequence and comparing the median SNR at the same receiving stations gives a precise, statistically meaningful antenna comparison.

Advantages over RBN for antenna testing

WSPR produces far more data points per hour than RBN — a spot every 2 minutes for 24 hours creates 720 data points per day. Statistical averaging of hundreds of measurements per antenna virtually eliminates propagation variability. Low power (200 mW) means the test is repeatable without significant RF risk. Works on all HF bands simultaneously if multiple transceivers are available.

Limitations vs. RBN

WSPR cycles on a 2-minute schedule — you cannot instantly switch antennas and compare. The minimum switching interval is one WSPR cycle (2 minutes), and reliable statistical comparison requires hours of data per antenna. WSPR is a beacon mode only — no QSO capability. The mode requires accurate time synchronisation (GPS or NTP within ±1 second).

What WSPR data reveals

Antenna gain differences as small as 1 dB (with sufficient data averaging). Azimuthal pattern differences between antennas. Height-above-ground effects on take-off angle via distance-vs-SNR analysis. Feedline loss detection (consistent SNR reduction at all receiving stations). Long-term antenna performance trends over days and weeks.

WSJT-X Setup for WSPR Operation
1
Download and install WSJT-X

WSJT-X is available free from physics.princeton.edu/pulsar/k1jt/wsjtx.html for Windows, Linux, and macOS. Install the current stable release — version 2.6 or later. WSJT-X handles FT8, FT4, JT65, JT9, WSPR, and several other modes from a single application. For pure WSPR operation, some operators prefer the dedicated WSPR application from the same source, which has a simpler interface focused on WSPR-only operation.

2
Configure audio and radio connection

Connect the transceiver's audio output (speaker/headphone jack or rear-panel audio output) to the computer's audio input. Connect the computer's audio output to the transceiver's audio input (microphone or data input jack). If the transceiver has a built-in USB audio interface (most modern transceivers do), use that instead — it is cleaner and avoids ground loop hum. Set the audio levels: receive audio should show the WSJT-X waterfall display with typical HF band noise visible but not overloading.

3
Synchronise time to UTC within ±1 second

WSPR transmissions must start within ±1 second of even UTC minutes to be decoded correctly. Enable automatic time synchronisation via NTP (Network Time Protocol) — most operating systems do this by default when connected to the internet. On Windows, verify in Settings → Time → Synchronise Now. For GPS-quality time synchronisation, a cheap USB GPS receiver with gpsd daemon (Linux) or dedicated GPS time sync software (Windows) provides sub-100 ms accuracy.

4
Set WSPR mode in WSJT-X

In WSJT-X, select Mode → WSPR. Enter your callsign and 6-character grid square in the Station Settings. Set the transmit frequency to the standard WSPR dial frequency for your chosen band (listed in the table below). Set TX power (dBm) to your actual transmit power — this is reported to the database and used for path loss analysis. Set the Tx percentage to 20% (transmitting 2 minutes in every 10 for a casual test) or 100% (transmitting every 2-minute period for maximum data generation).

5
Enable upload to wsprnet.org

In WSJT-X File → Settings → Reporting, check "Upload spots" to wsprnet.org. Enter your callsign. WSJT-X automatically uploads every received and transmitted spot to the database in real time. Verify operation by checking wsprnet.org/drupal/wsprmap after 10 minutes — your callsign should appear on the map as a transmitting station with spots from receiving stations drawn as lines to their locations.

BandWSPR dial frequency (USB)Actual TX frequency rangeNotes
160 m1.836600 MHz1836.600–1838.600 kHzNight-time propagation
80 m3.568600 MHz3568.600–3570.600 kHzNight-time regional/DX
40 m7.038600 MHz7038.600–7040.600 kHzMost active WSPR band
30 m10.138700 MHz10138.700–10140.700 kHzExcellent activity
20 m14.095600 MHz14095.600–14097.600 kHzWorldwide coverage
17 m18.104600 MHz18104.600–18106.600 kHzGood daytime DX
15 m21.094600 MHz21094.600–21096.600 kHzSolar cycle dependent
10 m28.124600 MHz28124.600–28126.600 kHzBest at solar maximum
6 m50.293000 MHz50293.000–50295.000 kHzSporadic-E indicator
2 m144.489000 MHz144489.000–144491.000 kHzTropo detection
The WSPR Antenna Comparison Methodology

The fundamental principle of WSPR antenna comparison is straightforward: run Antenna A for a period, switch to Antenna B for the same period, compare the median SNR from common receiving stations. The challenge is separating real antenna differences from propagation variability. The longer each antenna runs, the more propagation variability is averaged out and the smaller the true antenna difference you can reliably detect.

The interleaved WSPR test — best practice

Rather than running Antenna A for a full day then Antenna B for a full day (during which propagation conditions may have changed significantly), use the interleaved approach: switch antennas every hour, alternating between A and B. After 12 hours you have 6 hours of data per antenna, collected during similar propagation conditions. Compare the median SNR from each receiving station for the A periods vs. the B periods — the median removes occasional outliers from propagation spikes.

1
Configure the antenna switching schedule

Set an alarm or automated relay for hourly antenna switching. Use a coaxial relay controlled by a timer or a simple manual switchbox. Record the exact UTC times of each antenna switch — you will need these to separate the wsprnet.org database records by antenna. Keep a simple log: "14:00–15:00 UTC — Antenna A; 15:00–16:00 UTC — Antenna B; 16:00–17:00 UTC — Antenna A" and so on.

2
Download data from wsprnet.org

Go to wsprnet.org/drupal/wsprmap and click on your callsign. From the Spots page, download all spots for your callsign over the test period as a CSV file. The CSV includes: Timestamp, Reporter callsign, Reporter grid, SNR, Frequency, TX power, Distance, and Azimuth. This is the raw dataset for your analysis.

3
Separate records by antenna using timestamps

Using a spreadsheet (Excel, LibreOffice Calc, or Google Sheets), import the CSV. Add a column "Antenna" populated by an IF formula comparing the timestamp to your switching log. For example: =IF(AND(HOUR(A2)>=14,HOUR(A2)<15),"A",IF(AND(HOUR(A2)>=15,HOUR(A2)<16),"B","A")). Sort and filter by antenna and by reporting station callsign.

4
Compute median SNR per reporter per antenna

For each reporting station that has at least 5 reports for both Antenna A and Antenna B, compute the median SNR for each antenna. The median is more robust than the mean for this application because individual SNR reports can swing wildly due to propagation events. Subtract: Median(Antenna B SNR) − Median(Antenna A SNR) = the antenna difference in dB from that station's direction.

5
Map results by azimuth for pattern analysis

Each reporting station has an azimuth (compass bearing from your station) available in the wsprnet database. Plot the SNR difference (B − A in dB) as a function of azimuth — this produces an empirical radiation pattern difference between the two antennas. A directional antenna should show positive SNR differences in the beam direction and negative or zero differences off the sides and rear. This azimuth-difference plot is the most informative output of the WSPR antenna test.

Interactive Calculator: WSPR SNR Difference Interpreter

WSPR A/B Antenna Test Interpreter

PSKReporter — Real-Time Reception Mapping

PSKReporter (pskreporter.info) is the FT8, FT4, and digital mode equivalent of wsprnet.org — a crowdsourced reception database where every FT8 transmission you make is automatically spotted and logged by other stations running WSJT-X. Unlike WSPR (which requires a dedicated 110-second beacon transmission), FT8 spots are generated as a by-product of normal operating — every CQ call in FT8 mode generates PSKReporter spots from all stations that receive it without specifically responding.

PSKReporter provides a real-time map showing which stations are currently receiving you and at what SNR. For antenna testing, PSKReporter provides the fastest feedback loop of any testing method — within 15 seconds of your FT8 CQ call, the map updates with reception reports. Switching between antennas and comparing the immediate PSKReporter response is a fast qualitative antenna assessment that complements the more statistically rigorous WSPR comparison.

Using PSKReporter for antenna testing

  • Go to pskreporter.info and enter your callsign in the "Heard by" field to see which stations are receiving you right now
  • Select a time window of "Last 15 minutes" for real-time comparison during active antenna switching
  • The colour-coding of the spots by SNR allows immediate visual comparison — more green spots (high SNR) on Antenna A vs. Antenna B indicates the better performer
  • Filter by azimuth to focus on specific directions — if testing a directional antenna, filter for reception reports from your beam direction vs. off-axis directions
  • Export spot data to CSV for the same statistical analysis approach used with wsprnet.org data
WSPR for Propagation Assessment — Beyond Antenna Testing

WSPR data is not only useful for antenna comparison — it is one of the most sensitive real-time HF propagation indicators available. The WSPR database records propagation conditions continuously from thousands of stations worldwide, creating a detailed time-vs-frequency picture of ionospheric behaviour that is invaluable for planning operating sessions and understanding why signal conditions change.

Using WSPR to assess band openings

Before transmitting on a new band, check wsprnet.org to see what WSPR spots have been reported on that band in the last hour. A sudden appearance of DX callsigns in the spots list from a specific geographic direction is a reliable indicator of a band opening in that direction. WSPR spots from stations thousands of kilometres away appearing when propagation seemed dead typically indicate F2, sporadic-E, or transequatorial propagation opening — often too weak for conventional modes but detectable by WSPR's 28 dB below noise capability.

WSPR as a solar cycle / ionospheric monitor

WSPR activity on 10 m and 15 m reliably reflects solar activity. When 10 m WSPR shows regular transatlantic spots, the solar flux is high enough for F2 propagation at those frequencies. During solar minimum, 10 m WSPR spots become rare or absent. Comparing WSPR activity on different bands at the same time reveals the Maximum Usable Frequency (MUF) for specific propagation paths — a valuable tool for planning DX operations.

Advanced WSPR Analysis — Using wsprnet.org Data

Downloading and processing WSPR data

wsprnet.org provides several ways to access historical data. The main interface allows downloading spot data as CSV. The WSPRnet API (undocumented but widely used) allows querying by callsign, band, and time range programmatically. Several third-party tools have been built on the WSPR database:

  • DXplorer (dxplorer.net): Interactive WSPR data analysis with azimuth plots, time-of-day analysis, and band comparison charts. Excellent for visualising antenna directivity patterns from WSPR data
  • WSPR analytics (wsprana): Python library for programmatic WSPR data analysis — download, filter, and plot WSPR data in Jupyter notebooks for custom antenna test analysis
  • WSPR.live: Real-time WSPR reception map with historical replay — useful for watching propagation openings develop in real time
  • Gridtracker: Standalone application that connects to WSJT-X in real time and plots PSKReporter and WSPR spots on a world map, providing real-time band condition and antenna comparison visualisation

Interpreting WSPR SNR values

WSPR SNR values are reported relative to the noise floor in a 2.5 kHz reference bandwidth, measured at the receiving station. The values are negative dB (signals below the noise floor in the reference bandwidth) — values of −30 dB are typical for signals decoded near the sensitivity limit. The actual received signal-to-noise ratio in the 6 Hz WSPR channel is approximately 28 dB higher than the reported value, reflecting the processing gain of the WSPR decoder. When comparing antennas, the absolute SNR value is less important than the difference between the two antennas — what matters is the consistent direction and magnitude of the SNR change across multiple reporting stations.

WSPR SNR to effective ERP ratio ΔSNR (dB) = ΔEIRP (dBm) + ΔGainTX (dBi) − ΔPath_loss (0 for same path)
i.e. ΔSNR = Antenna B gain − Antenna A gain for same power, same path
Practical WSPR Test Scenarios

Scenario 1: Comparing dipole heights

Antenna A: dipole at 8 m. Antenna B: same dipole raised to 12 m. Run interleaved hourly on 40 m for 24 hours. Expected result: Antenna B shows 1–3 dB better SNR from distant stations (lower take-off angle) and possibly slightly worse SNR from near-ground stations. The pattern difference reveals the actual benefit of the height increase at your specific site on a real propagation path.

Scenario 2: Validating a new Yagi

Antenna A: existing wire dipole at 10 m. Antenna B: new 3-element 20 m Yagi at 12 m pointing toward Europe. Run on 20 m. Expected result: Antenna B shows 5–8 dB better SNR from European stations (forward direction), approximately equal or worse SNR from US and Asian stations (off-axis or rear). If the Yagi shows worse performance than the dipole in all directions, the Yagi has a fault — investigate feed point, element dimensions, and phasing.

Scenario 3: Detecting feedline loss

Run WSPR on an antenna that you suspect has increased feedline loss (after a storm, after cable work). Compare the current performance against stored historical WSPR data from the same time of day and season from several months ago. A consistent 2–4 dB reduction across all reporting stations points to feedline loss. A reduction only in specific azimuth directions points to pattern change (possibly a broken element).

Scenario 4: Multi-band efficiency comparison

Run WSPR simultaneously on 40 m, 20 m, and 15 m from a multi-band antenna. Compare the median SNR on each band against expected performance (from antenna model predictions). If the 20 m performance matches prediction but 15 m underperforms by 4 dB, there is a problem with the 15 m matching — possibly a trap fault or tuner inefficiency that the SWR meter does not reveal.

Frequently Asked Questions

What power should I use for WSPR antenna testing?

200 mW (23 dBm) is the standard WSPR testing power and is intentionally low — it keeps you well within legal QRP power limits, generates minimal interference, and still produces spots from stations thousands of kilometres away when propagation is open. Lower power (100 mW, 50 mW) gives fewer spots on marginal paths but is entirely valid. Higher power produces more spots in marginal conditions but is not necessary and wastes the advantage of WSPR's sensitivity.

How long should I run each antenna for a reliable comparison?

For a 3 dB difference, 4–6 hours per antenna (interleaved) with 20+ reports per station gives reliable results. For a 1 dB difference, 12–24 hours per antenna is needed. For a 6 dB difference, even 1–2 hours per antenna is usually sufficient. The key metric is the number of reports per station per antenna — aim for at least 10 reports per station per antenna before computing medians.

Can I run WSPR while also operating normally?

WSPR operates on a dedicated frequency segment within the amateur band that is clearly separate from SSB and CW activity. You can run WSPR on one radio while operating SSB on another. If you have only one radio, WSPR's 110-second transmission cycle leaves 10-minute gaps between transmissions (at 10% TX rate) during which you can operate normally, but coordinating this with contacts is difficult in practice.

Why does my WSPR SNR vary so much from report to report?

WSPR SNR variability of ±3–5 dB from report to report is normal and reflects real propagation variability — ionospheric scintillation, multipath interference, and QSB (selective fading) all cause rapid signal strength changes on HF. This is why median rather than mean is used for antenna comparison analysis, and why many reports per station are needed for reliable results. The variability is not a measurement error — it is the physics of HF propagation.

What does a negative WSPR SNR mean?

WSPR SNR is reported relative to the noise floor in a 2.5 kHz reference bandwidth. A value of −20 dB means the signal is 20 dB below the noise floor in that bandwidth — well below what any conventional mode could decode, but within WSPR's exceptional sensitivity. The WSPR decoder can work down to approximately −30 dB in the 2.5 kHz bandwidth, which corresponds to the signal being visible only in the 6 Hz WSPR channel after correlation. These extreme negative values are normal for long-distance DX paths.

Is WSPR receive-only useful for antenna testing?

Receive-only WSPR (monitoring other stations' transmissions without transmitting yourself) is useful for propagation monitoring but not for antenna comparison testing of your own transmit antenna. However, running WSPR receive-only on two different receive antennas and comparing SNR from the same transmitting stations is an excellent method for comparing receive antenna performance — particularly useful for comparing receive-only antennas (K9AY loops, pennant antennas, beverage wires) against a reference.

Related Guides

Affiliate Disclosure: As an Amazon Associate, Ham Radio Base earns from qualifying purchases. Some links throughout this website may be affiliate links. If you purchase a product through one of these links, we may earn a commission at no additional cost to you. Your support helps us continue creating free articles, tutorials, reviews, and resources for the amateur radio community. N0TLB © Ham Radio Base - Powered by the Ham CQ DX Community. All rights reserved.

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.