Tune SSB to the carrier, and read the sideband from the signal
An SSB capture was tuned to the centroid of the detected energy, which is what every other mode wants and the one thing SSB cannot use. Its demodulator is a filter that opens at the suppressed carrier, so centring on the middle of the voice filtered off its lower half and shifted the rest down by the error. Measured against known transmitters that error was +2445 Hz on 20 m and -2486 Hz on 80 m, against 35 Hz for NFM and 9 Hz for AM, which do not care either way. On real speech the difference is a clean transcript versus nothing recognisable at all. Speech puts most of its power just above the carrier, so the occupied band leans towards it. ssb_alignment() reads that lean: it locates the carrier to within about 100 Hz and names the sideband at the same time, without recourse to any convention. The offset is applied inside the demodulator at the IF rate, where it costs a fraction of what shifting the full-rate stream would, and the reported frequency becomes the carrier -- the frequency an operator would dial in. The sideband was also decided by "LSB below 10 MHz, USB above", which overrode a band plan that already knew better and demodulated 60 m as LSB. The measurement decides now, the band plan when the signal has no lean to read, and the convention only when neither has anything to say. The simulator was transmitting SSB unfiltered, several times wider than anything on the air, because it applied no transmit audio filter -- and that filter is what makes a signal single-sideband. Its absence hid the whole problem from the tests. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
af51b2657d
commit
2aa8739f25
6 changed files with 355 additions and 8 deletions
24
README.md
24
README.md
|
|
@ -577,6 +577,30 @@ reliably:
|
|||
The decoder runs its own CW detector over the captured IQ, so Morse is found
|
||||
even when the recording itself was made in FM or SSB.
|
||||
|
||||
### Single sideband
|
||||
|
||||
SSB needs no `--mode usb`. Nothing else does either, but SSB is the mode where
|
||||
it would matter: FM and AM detectors do not care where in their passband a
|
||||
signal sits, while an SSB demodulator is a filter that opens at the suppressed
|
||||
carrier. Tune to the middle of the voice — which is where a detector naturally
|
||||
lands, a couple of kilohertz up — and its lower half is filtered off while the
|
||||
rest comes out shifted down by the error. That is the mistuned sound, and it
|
||||
makes the recording useless rather than merely imperfect.
|
||||
|
||||
So the carrier is measured rather than assumed. Speech puts most of its power
|
||||
in the first few hundred hertz above the carrier, so an SSB signal's occupied
|
||||
band is lopsided: the loud end is the carrier end. That locates the carrier to
|
||||
within about a hundred hertz and names the sideband at the same time — energy
|
||||
bunched at the low edge is upper sideband, at the high edge lower.
|
||||
|
||||
The frequency in the filename is therefore the carrier, the one you would dial
|
||||
into a radio, not the middle of the voice.
|
||||
|
||||
Where the signal has no lean to read — a data mode inside an SSB segment, or a
|
||||
steady tone — the band plan decides, and it is right where the folklore is
|
||||
wrong: 60 m and the HF utility bands are upper sideband well below the 10 MHz
|
||||
that "LSB below, USB above" splits on.
|
||||
|
||||
## Output
|
||||
|
||||
Everything lands in one directory, named
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue