I suspect the world would be better if that percentage were even greater.
Does WSPR need a successor?
Bill, IO/N2CQR over at Solder Smoke blog commented on one of the problems that I had with my WSPR beacon: that it had become “desynchronized” in time, and therefore the network of people who monitor the WSPR frequencies didn’t report any spots from me. Bill would like to minimize the parts count of his beacon transmitter, and the need to carefully synchronize to a particular time makes that difficult.
From my understanding of how the WSPR software works, it basically records searches for the start of a WSPR message beginning at the start of an even numbered minute. The description that K1JT published says that the WSPR message should begin two seconds after the even minutes, but I seem to recall that the W1JT software scans for the beginning anywhere in the first five seconds or so. Thus, if your clock was that accurate, you’d probably get decoded.
I can think of a couple of different ways that we could do that:
- Use an accurate clock. The problem is that most clock chips accumulate one second of error every few days. Still, it might be possible to use something like a Maxim RTC chip, and periodically readjust it to keep it going. Depending on your needs, this might work quite well.
- Synchronize using a radio clock. Here in the states WWV signals are pretty easy to read, and you can easilly use the 1PPS signal to keep on track.
- Use a GPS as a time base. This sounds hideous, and isn’t keeping in Bill’s minimized philosophy, but GPS modules are actually quite cheap.
- Use a controller which implements NTP or some other time protocol over a network. Again, not the simplest (although can be suprisingly cheap) and requires network access where you are at.
But there is another possibiity: fix the software on the receive end. The truth is that it isn’t all that difficult to detect the WSPR signal no matter where it starts. WSPR sends 162 distinct symbols, half of which are going to come from the synchronization vector. WSPR works pretty hard to find this by running an autocorrelation, but the truth is that with modern computers, finding it no matter what it’s starting position isn’t hard: it just takes more compute power. But its much easier to get that compute power on the receive side (after all, it’s running Windows or Linux or Mac OS on a fast processor in almost every case). Hence, we could detect messages even if they became desynched from these start positions. It would just take a bit more run time.
Bill’s ideal “one transistor” transmitter is kind of extreme, but I think it does make some sense to simplify the transmitters as much as possible. It’s silly to use a $500 computer (or even a $50 junker) when a $2 microcontroller would be sufficient, especially since the microcontroller probably only draws a couple of microamps. Even the simplest microcontroller can act as a good MEPT beacon (heck, Hans didn’t even need one. If we relax the timing info, there is no pressing need to have one for WSPR either.
This suggests to me that it might be reasonable to create a “son of WSPR” format that uses some of WSPR’s good ideas, but relaxes the need for timing synchronization. I have a couple of other ideas regarding the error correcting codes and the like, and it would be nice to have some flexibility in the message format that would allow sending different bits of information (yes, WSPR has a QSO mode, but I’m thinking of informational messages more in line with the needs of a beacon propagation network). Is it time to work on such a thing? What do you all think?
Comments
Comment from Julian, G4ILO
Time 4/6/2009 at 1:09 am
This proposal makes sense if people are either transmitters or receivers. But WSPR allows you to do both. If a transmitter is not synchronized then even if the software is modified so that it can decode a WSPR message whenever it starts, much of the time the start or end of a transmission will be lost whenever the receiver switches to transmit.
Comment from Gregory Maxwell
Time 4/6/2009 at 1:53 pm
So… I don’t know so much about a successor. In terms of SNR requirements modulations that depend on a sync-tone are usually performance limited by the sync-tone search. While WSPR could probably be improved, nothing new is going to remove the need for a computationally expensive search so long as people want good weak signal performance.
Of course, the RX client software could be configured to search all of the time that its not transmitting, presuming that the RX system has enough CPU to run real-time. It seems to me that doing so would be a fairly trivial software change.
Although, if I had CPU to spare and wanted to know how to spend it… would I spend it to relax the already fairly loose (in signal processing terms! it’s some tens of thousands of possible offsets already) timing requirement, or would I want to spend the cpu cycles on a more expensive but slightly more sensitive decoding process? I don’t think 5 seconds is so bad, especially considering G4ILO’s comment about RX/TX switching… so I think I’d be inclined to use the additional CPU to achieve greater sensitivity to whatever extent that was possible, before I bothered searching a larger range.
Comment from Scott
Time 4/9/2009 at 11:06 am
Now that would be clever… information messages would be an interesting addition.
A Propnet sort of thing.
73
Scott
KD5NJR
Comment from WA6PZB
Time 4/5/2009 at 10:48 pm
Mark, it would be great to develop the son of WSPR. Why not use a variation of DFCW, it would be great if it could be both machine and human decodable.