WSPR Should Frequency Hop

One feature I would love to see in WSPR is frequency hopping. Like most WSPR users, I connect the radio to the laptop, start the program, and let it run. I check once in a while what it has received (and if I’m transmitting, who has received me), but for the most part is a passive activity. The computer and radio are doing their thing, and I’m doing something else.

One active aspect of WSPRing is deciding which on which band to run it. Running it on a band with good propagation and lots of stations is exciting, because I receive a lot of stations and others receive me. But running it on a band with poor propagation is more useful, because the spots tell us when the band opens. If there is no activity on bands that are closed, we don’t know when they open. Similarly for bands with few stations: less exciting, but the spots are a lot more useful than on a band with lots of activity.

A good way to combine both the excitement of operating WSPR on active bands and the utility of operating on dead bands, as well as to even out the activity across bands, is to add frequency hopping. The computer will automatically tell the radio to switch to a new band at the end of a 2 minute cycle, moving between several bands on which the radio and antenna both work.

Doing this in receive-only mode should be fairly straightforward. I would mark in the user interface not one band but several, and the program would hop between them in a random order (to ensure that every transmitting and receiving station are tuned to the same band every once in a while).

Hopping in transmit mode is more challenging, because the assumption in WSPR is that you monitor a band in receive mode for a while, find out on which frequencies stations are transmitting, and choose a frequency that seems free. The best solution is probably to let the program choose a free frequency after it has been monitoring a band for a while. A probably less controversial solution is for the program to start in “don’t transmit” mode on all band. When it is receiving on a band, the user interface would show the reception reports from that band only (both graphically and in the band map). To start transmitting on a band, you will need to click on the band display to tell the program where to transmit.

Another issue with transmitting is the fact that a station may be able to receive on a band but not transmit (e.g., because the antenna needs manual tuning). So the user interface should allow users to mark separately bands where they want to only receive and bands where they want to enable transmission. If the click to choose a transmit frequency idea is adopted, maybe we don’t need to separate transmit and receive in the user interface, but it would still be useful to have an indication of where the program is only receiving and where it is also transmitting.

I looked at the sources of the program and discovered that WSPR is a pretty large program, so I’m hoping that somebody else with experience in WSPR development will implement this. But if nobody does, I’ll probably try to do it some time in the future.


2 Responses to WSPR Should Frequency Hop

  1. David says:

    If everyone chooses to hop on both transmit and receive, unless a scheme is agreed upon to carefully choose and adhere to a set of standards for hopping (frequencies and/or some form of synchronization), you will get sampling errors.

    • Sivan Toledo says:

      Hi David,

      Since writing this post, several things happened. One is that I prototyped a hopping mechanism in WSPR. Next, Joe Taylor, the author of WSPR, allowed me to contribute it to the code base. So future releases will include hopping.

      There were a lot of discussions in the developers’ list regarding how to hop. I was in favor of completely random hopping and random transmit/receive decisions, but eventually Joe came up with a better solution, called “coordinated hopping”. under it, each band receives one slot in every 20 minute period. If you hop on that band, you’ll be on it during that slot. So the entire crowd of hoppers visits each band at the same time. Among the times you spend on a particular band, transmit/receive decisions are mostly random, but extreme cases are avoided (like 3 transmissions in a row).

      I am not sure that this addresses your concern regarding sampling errors, but this is how it’s likely to be released.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: