Graphs of Realtime HF Signal Levels

While it’s useful to forecast propagation conditions, it’s even more useful to know what the actual propagation conditions are. Propagation forecasting is somewhat like weather forecasting, although slightly less accurate.

I wanted to measure (and store for future reference) the signal levels from several shortwave stations from various parts of the world, transmitting on a range of frequencies. These stations can act as references for determining what propagation conditions are like to that part of the world, on a certain frequency or band, anyway.

One way to do this would be to step a radio through a list of frequencies, measuring the signal level and recording it. The problem is that you need to sit on a given frequency for at least some short period of time, to measure the signal level. And, if you’re only on the frequency for a second or two, that recorded signal level may not be characteristic of the actual signal level. You could have been monitoring while there was a burst of interference, causing a false high signal level reading. Or during a sudden deep fade, causing a weaker signal. And the longer you sit on one frequency, the less time you’re spending on other frequencies. You’re not continuously monitoring, but taking short snapshots.

But there is a solution. Once again, SDR (Software Defined Radio) to the rescue!

In this setup, an RF Space SDR-14 Software Defined Radio is connected to a 132 ft T2FD (Tilted Terminated Folded Dipole) antenna.

Custom software is continuously reading A/D (Analog to Digital Converter) values from the SDR-14 (in real, not complex, mode). The A/D sample rate is approximately 66.67 MHz. Blocks of 262,144 readings are taken, and an FFT is performed. The result is an array of signal strength readings for the entire HF spectrum, 0 to 30 MHz, in 254 Hz steps.


For frequencies of interest, the software then computes the signal strength in dBm over a +/-3 kHz bandwidth around a center frequency. This is computed approximately twice per second, and these readings are averaged over one minute. They are then uploaded to the web server, where they are stored, and graphs are made on demand when a user loads the page. These graphs show the last three days worth of readings. (Possibly less if I just started taking readings for that frequency)

The URL for accessing the graphs is

You will get a list of frequencies, with a brief description of the station on that frequency. Click on a frequency to get a graph of about three days worth of signal readings.

Several things can be readily observed:

For the lower HF frequencies, signal levels are very weak during the daytime, due to absorption by the D layer. They then slowly rise as the Sun sets, stay high overnight, and then go back down again as the Sun rises.

For higher frequencies, say 6 and 7 MHz stations operating in NVIS mode such as NAA on 6726 kHz, you can see a sudden decrease in the signal level as the station goes long in the evening, and then an increase again when the Sun rises, and the F layer increases in strength. The signal does not always completely go away during the night, but it is significantly weaker. There are also periods at night when the signal level goes up and down. This could be the actual signal from the intended station, or possibly another station located elsewhere in the world.

The effect is much more pronounced for even higher frequencies, such as WWV on 20 MHz.

The recording for 10 MHz often shows WWV cutting out around local midnight, then the signal level goes back up again in the early morning, but before sunrise. I believe in this case we’re actually getting a signal from WWVH in Hawaii.

I’m also recording 25,555 kHz, which is a mostly open channel. My goal is to observe radio noise from Jupiter on this frequency.

The aviation weather frequencies (6604 kHz for example) do not have continuous transmissions, there are gaps. This is readily observable by seeing the steps in signal level.

You will often see spikes in the graphs. This is mostly likely due to local noise, it could also be to brief transmissions on the frequency. There are ionospheric sounders that sweep across HF, as these pass by the frequencies being observed, they will cause a brief increase in the measured signal level.

You may also notice occasional gaps in data, the ancient computer the SDR-14 is running on (under Windows 2000) seems to develop USB issues every dozen or so hours. I need to try to set it up on another computer and see if that helps. Worst case I may try to rig up some sort of a Watchdog Timer.

Update: I’ve replaced the Win2k machine with a slightly less ancient machine running XP. We’ll see if that improves reliability. I know, reliability and Windows are rarely used in the same sentence. If only I knew someone with realtime OS experience like QNX…

As mentioned during the introduction, these graphs can be very useful in determining what time of the day propagation is open to various parts of the world on certain bands. It is important to remember that much like the weather, propagation changes from day to day, and with the seasons. The levels of solar activity, as well as the effects of solar flares, have a dramatic effect on propagation. Changes in the season affect the number of hours per day of sunlight on the ionosphere over the different parts of the Earth, and cause seasonal changes to propagation patterns.

Do you have a suggestion for a frequency to monitor? Ideally, the frequency should have a station that is on 24 hours a day. If so, please pass it along!

3 thoughts on “Graphs of Realtime HF Signal Levels

  1. Pingback: What’s the Best Time of the Day to Hear a Pirate Station on 43 Meters? |

  2. This is really cool! Thanks for setting it up. Someone linked it to the IRC channel #logbook on the network. (mostly ham radio folks).

    One question. Where is your setup installed? What country at least?

Leave a Reply

Your email address will not be published.

− five = 3