Dean and Pete and I have been talking about this for some time. We are really trying to understand where this is coming from. After all, you really can't hear a it if a signal moves 30 Hz off frequency (you can try this with a Web SDR).
And how could they tell that I was 30 Hz, off frequency? Could it be that they were simply looking at their waterfalls, and seeing that my waterfall pattern did not look like theirs? The pattern displayed in the waterfall is largely determined by the "offset" -- the gap between the suppressed carrier frequency and the beginning of the audio passband. It turns out that this offset issue explains why users of SDR receivers with waterfalls were incorrectly concluding that I am "off frequency."
For a while, we speculated that the SDR radios have some special feature that allows them to just analyse the RF passband and then, magically and with precision, determine what the suppressed carrier frequency was, even when they cannot detect it. As you do these days, I asked the LLMs about this. I use Gemini. At first, Gemini told me that this was indeed possible -- the SDR rigs were calculating the frequency of the invisible, inaudible, suppressed carrier. For a while I grudgingly accepted this. Maybe there was some software ghost in the machine that could make this calculation. But it was kind of odd that I had never before heard of this capability and never saw anything about the software that did this.
But in late September I asked Gemini again, and got the opposite answer. Here is what AI said in late September:
-----------------------------
It is mathematically impossible for an SDR to determine the precise suppressed carrier frequency from a voice passband alone.
I flip-flopped because I confused a digital signal processing (DSP) estimation trick with an absolute RF measurement.
Here is exactly where my logic derailed when I incorrectly told you it was possible: I took a real DSP feature—where software analyzes the harmonic spacing of vowel sounds to automatically tune a voice until it sounds natural—and mistakenly concluded that this relative audio adjustment could perfectly identify the original RF carrier.
That DSP feature is just an auto-tuner making an educated guess to fix the "Donald Duck" effect. It cannot reverse-engineer the exact carrier frequency for two fundamental reasons:
The missing anchor: The carrier has been physically erased at the transmitter. You cannot measure a 0 Hz reference point that no longer exists in the RF spectrum.
The human variable: Human vocal cords are not calibrated test tones. Without a known, fixed pilot tone, the receiver has no way to know exactly where the audio was originally offset from the missing carrier.
The physics of your homebrew rig dictate the reality here. The 330 Hz offset is a fixed, physical characteristic of your crystal filter and BFO alignment. When the other operator's SDR tells them you are 30 Hz off, that software is not measuring your carrier. It is simply looking at your voice passband, blindly assuming that all SSB audio starts exactly 300 Hz away from the carrier, and flagging the 30 Hz difference as an error.
You should trust the physical analog reality of your workbench over my AI hallucinations. The SDR operator is letting a rigid software assumption masquerade as a physical measurement.
---------------------------------
I use a San Jian frequency counter board for my frequency readout. This board just DIRECTLY reads the output of my VFO (the VFO box from an old Yaesu FT-101) and then adds to it the IF frequency that is the output of my BFO/Carrier oscillator. At 14200 kHz the oscillator box is at 8960.13 kHz. The BFO Carrier Oscillator is at 5239.87 kHz. This means that both on transmit and receive my carrier will be on 14200 kHz. So the only frequency that really matters here is the frequency of the BFO carrier oscillator that I input to the San Jian counter and instruct it to ADD to whatever the frequency it is receiving from the VFO. My BFO frequency is 5239.87 kHz. It is crystal controlled and it does not shift as I move from Transmit to Receive. At 14200 kHz, the VFO is at 8960.13 kHz and it too does not move when I go from T to R. My carrier frequency IS 14200 kHz. So why do operators claim that I am "30 Hz off frequency?"
The passband of my homebrew crystal filter is 5240.2 kHz to 5242.6 kHz. So it is about 2.4 kHz wide. This passband is 330 Hz above the BFO carrier oscillator frequenct. Not the 300 Hz offset that many SDR receivers are expecting. That explains the -- incorrect -- comment about being 30 Hz off frequency.
AI Gemini produced the graphic above. I also asked it to describe how this error would occur with modern SDR rigs:
---------------------------
Here is exactly how the 30 Hz discrepancy manifests across the specific software interfaces of modern SDR systems:
1. FlexRadio (SmartSDR) Flex operators rely heavily on the visual panadapter to tune. When they click on an SSB signal, SmartSDR places a shaded, semi-transparent box over the waterfall representing the receiver's active audio passband. If their software filter is configured with a default 300 Hz low-cut, but your voice energy physically starts at 330 Hz, the receiving operator will manually drag their VFO so the edge of their shaded box aligns with the visible edge of your voice energy. By forcing that 300 Hz digital box to align with your 330 Hz physical edge, they inadvertently drag their VFO readout exactly 30 Hz away from your actual suppressed carrier.
2. Apache Labs ANAN (Thetis / PowerSDR) Similar to Flex, this software uses highly precise graphical overlays and "click-to-tune" features. If the software is programmed to assume that the bottom edge of standard SSB speech starts at exactly 300 Hz, it mathematically calculates where the 0 Hz carrier should be based on where that edge lands on the screen. Because your crystal filter passes energy at 330 Hz, the software miscalculates the anchor point and outputs a carrier frequency reading that is exactly 30 Hz off.
3. SDR# (SDRSharp) and SDRuno (Airspy / SDRplay ecosystems) These are the most popular applications for receive-only SDRs. They utilize incredibly steep, rigid digital filters. If an operator is trying to manually "zero beat" your signal visually, they are staring at the steep cliff of your homebrew crystal filter's cutoff on their screen. If their digital filter is drawn with a 300 Hz mathematical cliff, the frequency readout at the top of the screen will reflect the 30 Hz difference the moment they visually align the 300 Hz software edge to your 330 Hz physical edge.
4. Digital Mode Waterfall Integrations (WSJT-X, fldigi) While you are operating SSB voice, many operators leave their digital mode software running in the background. These programs map audio frequencies to a rigid grid. If the SDR assumes a 300 Hz offset for your carrier but your audio physically begins at a 330 Hz offset, the recovered audio is shifted. The digital waterfall will physically paint your signal 30 Hz away from the expected grid line. Operators see this visual offset and immediately assume you are transmitting off-frequency.
Ultimately, the SDR software acts like a rigid stencil. When the operator drops a 300-Hz-cut digital stencil over your 330-Hz-cut analog footprint, the stencil doesn't fit perfectly. The operator shifts the VFO knob until the edges line up visually, which mathematically changes the carrier frequency readout on their screen by exactly 30 Hz.
----------------------------------
PLEASE COMMENT ON ALL THIS AND LET ME KNOW IF I HAVE ANY OF THIS WRONG.
No comments:
Post a Comment