Close

OFFgrid-SDR 1.7: a smarter AUTO detect, FT4, offline FT8, and a bug fix

A project log for OFFgrid-SDR

RTL-SDR sticks need some love, This self-contained web page receiver does just that

diddydiddy • 19 hours ago•0 Comments

Version 1.7 of OFFgrid-SDR is out. 

It’s still the same idea: a complete RTL-SDR receiver in a single HTML file that runs in the browser, with no installation, no drivers on most systems, and no internet. This release is mostly about making the receiver work things out for you, and making it more dependable on real hardware.

AUTO got much smarter

AUTO listens to a signal for a couple of seconds, works out what it is, and switches to the right mode. In 1.7 it handles SSB properly. It finds the whole voice wherever the dial sits on it, picks LSB or USB from where the speech energy sits, and then tunes to the suppressed carrier to within a few hertz. It does that by lining up the harmonics of the speaker’s voice: voiced speech is a comb of harmonics at whole multiples of the pitch, and the comb only lines up at the true carrier. Clicking an SSB signal on the waterfall does the same fine-tuning by itself.

It also now recognises FT8, FT4, ACARS, PSK63 and PSK125. It no longer mistakes fading AM for Morse, an off-tune voice for PSK, or fast Morse for Hellschreiber. Each of those fixes came from a diagnostics log of a real signal it got wrong.

FT8 and FT4, still completely offline

There’s a new FT4 decoder alongside FT8, and the decode list now shows each station’s country and its distance and bearing from you. None of that needs the internet:

The list can be sorted by distance with one click, which is a nice way to see how far your antenna is reaching.

Other additions

The bug hunt

The most interesting part of this release was a bug that only showed on a MacBook. After powering off and on, the receiver would come back with only noise until you changed band. The diagnostics log showed the stick on exactly the right frequency, locked, delivering data at full rate, but with everything 36 dB weaker. The tuner’s gain had been left at its lowest.

The cause looks like timing. On power-off the tuner goes into standby with its amplifiers turned down. On power-on, the first register writes after it wakes are exactly those amplifier registers, and on a fast USB path some of them seem to get lost. Re-sending the gain a moment after start-up cures it. It later turned up on a Windows laptop too, once the start-up sequence got faster.

Along the way I sent six fixes to Jacobo Tarrío, the author of the webrtlsdr library OFFgrid-SDR is built on, and he has taken most of them upstream. That includes a better fix for another restart bug, where the tuner’s frequency rounding made the receiver drift a few hertz at every restart until it stopped following the tuning altogether.

self-test

As part of future releases I have added in an internal self test tool as a way to bug hunt before release.

Future releases should be as near to bug free as possible.

Ideal for testing before release.

The project, the single file and full release notes are on GitHub: https://github.com/diddy-boy/OFFgrid-SDR

Discussions