The KiwiSDR 2 online store is open for orders! Please visit

Improving selectivity for close CW signals?

As a KiwiSDR user (not an operator), I've found that when I select CW mode and drag the sides of the bandwidth bar as close as possible, it is still often difficult to hear a signal clearly if another CW signal is close by.

Are there other user settings or commands within KiwiSDR to help with this? Or would my main option be audio post-processing with, say, an audio filter in-line with my headphones, or outputting to a program like Spectrum Lab, etc?

Thanks for any suggestions,



  • sometimes adjusting the AGC will help... google AGC settings for CW.. fast attack, short decay type settings.

  • Wow, the narrowest CW bandwidth is 6Hz if I drag in both sides of the CW filter passband, and I don't think you would resolve any CW through an even narrower filter.

    One other suggestion, maybe try using I/Q demodulation and headphones.

    It has the effect of spreading the passband across the audio sound stage and provides a pseudo binaural effect, which depending upon your ears and brain, may allow you to separate the signals.

    However with really closely spaced signals, they may not 'spread' far enough across the sound stage for this technique to be effective.



  • Actually I found that using SAS this binaural effect is quite pronounced and helpful when listening to closely separated CW. To prevent SAS locking on to the strongest signal and wandering around all the time, I usually insert an external carrier signal which is at the centre frequency of the pass band.

    This is a crutch of course and if for these cases there was an option to inhibit the carrier search that would make using SAS for CW listening quite interesting. A stereo headset is needed to appreciate the spatial effect.

    73 Ben

  • Hi Ben,

    An interesting method. Incidentally, I had also wondered about having the facility to be able use the internal signal generator to inject an adjustable low level test signal into the receive path whilst still receiving off-air signals. My thought was to be able to determine the actual receive MDS when the antenna's noise floor was present.

    I tried using I/Q yesterday with the filter passband set to be just allow the upper half above carrier. That stopped stuff in the lower half from appearing in the recovered audio.

    Maybe worth considering adding a binaural CW mode ? I think there are a few SDR's that do provide it, maybe Flex ? (from memory).



  • Wow, the narrowest CW bandwidth is 6Hz if I drag in both sides of the CW filter passband, and I don't think you would resolve any CW through an even narrower filter.

    That's interesting. When I tried dragging in the sides the other night (a little on one side, then the other), I couldn't get anywhere near as tight as 6 Hz. However, when I try it on the same KiwiSDR now (dragging in from one side only, with smooth motion) it does claim to have a 6 Hz bandwidth. Though when I reposition the bandwidth window to the left or right of a CW signal, I can hear it when it's 20 Hz or more outside the window.

    One point where I'm stuck is, once I drag the bandwidth in to a narrow window, I haven't yet found how to rewiden it. When I drag either of the side edges, the whole bandwidth box moves left or right, but doesn't change width. Is there a trick here I need to learn?

  • Trying to adjust extremely narrow passbands using the drag method is very tedious. Try the other methods: p and P keyboard shortcuts (probably to coarse for what you want), /pbw entry in frequency box (e.g. /10 for 10 Hz). See the documentation for more details and options.

  • While the frequency accuracy and stability of of a GPS-aided Kiwi is excellent, I wonder if the modest phase noise specification of the Kiwi's internal oscillator might impair CW SNR when there are two CW signals close in frequency.

  • jksjks
    edited August 2022

    Another thing that just occurred to me: One of the reasons the Kiwi audio passband filter is so good (e.g. the effect of the sharp skirts on carriers, CW signals notwithstanding) is that it is FFT-based. The FFT convolution filter is from the CuteSDR project by Moe Wheatley, AE4JY.

    BUT, this means all the usual drawbacks to FFT-based filtering apply, including the spectral leakage issue. We saw a very dramatic case of this last year when Martin discovered that the default window function (Hanning) for the waterfall FFT was not optimal. And using a Blackman-Harris resulted in a huge improvement in the low level pedestal around strong MWBC signals:

    So I wonder if something similar might apply to the passband FFT filter. Where a more optimal window function might improve the "spectral containment" of adjacent CW signals. The default right now is a Blackman-Nuttall that was present in the original CuteSDR code. But Moe's documentation mentions other functions can and should be tried (page 35

    Also mentioned on page 45 is how for very narrow (CW) filters better selectivity can be achieved by employing additional decimation/interpolation, something the code doesn't do currently.

    Let me add a URL parameter to select window functions just as we have for the waterfall. That way it will be easy to do some A/B comparisons and see if there is really any improvement.

  • In v1.557 you can add "sndw=N" to the URL where N is:

    • 0: Blackman-Nuttall (default)
    • 1: Blackman-Harris
    • 2: Nuttall
    • 3: Hanning
    • 4: Hamming

    I found there actually was some difference between them, although more testing is needed. For a (notional) 10 Hz passband placed 50 Hz away from a moderately strong CW signal the more traditional Hanning and Hamming window functions let less of the CW tone leak through.

    So for a CW signal at 7006 kHz you could reload the page varying N using a URL like:


  • I am happy to see a discussion on CW filtering.

    Often neglected is ringing of the filter in the presence of impulse noise. Frankly the current CW filter is not very gentle to my ears on low bands where impulse noise from thunderstorms is significant. One cannot have both. Sharp frequency response filters ring, while smooth frequency response filters do not. At an extreme, gaussian impulse response has a gaussian frequency response and vice versa with little spread of the time signal. Would you please consider adding a smoother CW filter with less ringing? It may be useful to apply a smoothly shaped peaking filter such as the gaussian over the current sharp filter to get rid of the ringing while making it easier to zero beat tune the CW signal.

    73, Vojtech OK1IAK

Sign In or Register to comment.