Using synchronous detection and notch filter to eliminate het noise


The lighter shaded side of the AM carrier indicates a lower sideband sync lock. (Click to enlarge)

A few days ago, I tuned to 9,420 kHz and found a relatively strong signal from the Avlis transmitter site of the Voice of Greece. The broadcast was quite clear until a heterodyne (het) tone popped up out of nowhere.

I checked the spectrum display of my Excalibur to find two steady carriers located about .5 kHz off each side of VOG’s AM carrier. I assume this may have been a faint digital signal centered on the same frequency as VOG.

The noise was annoying, but SDRs (and many tabletop radios) have tools to help mitigate this type of noise.

The het tone was originating from both sidebands of the VOG AM carrier (see spectrum display above). I had planned to use my notch filter to eliminate the noise, but I had two carriers to notch out and only one notch filter.

VOG AM carrier

Synchronous detection to the rescue… 

The simple solution was to eliminate one of the carriers using my SDR’s synchronous detector which can lock to either the upper or lower sideband. In this case, it didn’t make any difference which sideband I locked to because both had similar audio fidelity and were otherwise noise free. In the end, I locked to the lower sideband, thus eliminating the het in the upper sideband.

Next, I enabled my notch filter and moved its frequency to cover the annoying het carrier in the lower sideband; I kept the notch filter width as narrow as I could to preserve VOG’s audio fidelity. You can see the notch filter location and width in the spectrum display above (the notch filter is the thin yellow line).

I should note here that the great thing about using an SDR–or tabletop receiver with a spectrum display–is that you can see where the noise is. I was using my WinRadio Excalibur, but pretty much any SDR in my shack could have handled this task.

The results? No het tone and I was able to preserve the great audio fidelity from the Voice of Greece broadcast!

Here’s a 3.5 hour recording I made after cleaning up the signal. I believe at one point in the recording, I switched off the notch filter to demonstrate how loud the het tone was:

5 thoughts on “Using synchronous detection and notch filter to eliminate het noise

  1. Broadwing

    Very nice article on how to clear up issues. If that SDR was a G33DDC, did it not have two notch filters to use like mine does? I have the Excalibur Pro and have found it to be a great SDR. If you have any more tips on using the Winradio please post them. Thanks again.

  2. Moshe Ze'ev Zaharia

    Hi Thomas!
    The interfering station is IRIB, it is on 9422kHz. Tuning my Tecsun S2000 to 9419kHz eliminated the HET.
    I don’t know if it is on purpose, or IRIB transmitter detuned by itself. but this thing is going on for over two weeks.
    IRIB takes this frequency after 15:00UTC or so, CRI also uses this frequency at mornings, CRI also took over 15630kHz.
    Best Regards,

  3. K.U.

    I have used FreqTweak in Linux in the past to filter heterodyne noises from radio broadcasts. (My current laptop generates too much RF noise to be connected to a radio). Any radio with audio output can be used. FreqTweak allows specifying unlimited number of notch filters of arbitrary width.

    In addition FreqTweak has gate filters which allow specifying frequency dependent thresholds for the signal to be passed trough. This is useful for removing wide-band background noise when the threshold is specified so that it is slightly above the background noise level. In this way, everything above the threshold at a given moment (mostly signal) is passed without modification and everything below the threshold (mostly noise) is removed.

    FreqTweak home page:
    This software web page has two short reviews:

    FreqTweak requires Jack audio connection kit ( Unfortunately, it may be somewhat difficult to configure on some hardware.

    Anyway, I recommend Linux users to try FreqTweak.

  4. tpreitzel


    freqtweak hasn’t been updated for modern distributions in years. IIRC, the main culprits are libsigc++ (version 1 instead of 2), and wxPython. Freqtweak needs to be updated and the effort would be worthwhile.


Leave a Reply

Your email address will not be published. Required fields are marked *