Some Observations While Using the KiwiSDR to Spot WSPR Stations [fixed in v1.242]

edited October 2018 in Problems Now Fixed
Gwyn Griffiths, G3ZIL , Glenn Elmore, N6GN, Rob Robinett, AI6VN,


This article is intended to document some of our recent experiences using a KiwiSDR on WSPR and observed degradations of those spots when compared with other receiving and decoding techniques. Three techniques are examined: complete decode of WSPR stations by way of the KiwiSDR WSPR extension, use of the KiwiSDR to downconvert to an audio file which is decoded by a remote host, and for contrast a non-KiwiSDR path using an Apache Angelia SDR board. These comparisons show degradations in the two KiwiSDR paths both in terms of SNR of spotted stations and in number of stations spotted. Additionally these investigations have identified spurious signals associated with the downconversion process within the KiwiSDR.

[download article PDF below]



  • To emphasize one of the major observations from this extensive study: The Kiwi reports 1-2 dB *worse* WSPR SNRs than a state-of-the-art Apache Angelia SDR.
    Glenn's testbench measurements suggest this weakness in the Kiwi may be correctable with SW and/or FW changes.
    We are soliciting comments and suggestions on how to proceed.
  • Hi Rob,

    This is what I find, using the 60kHz MSF time signal received @G0EZY:8073 (v1.241) tuned to 58.55 kHz and using three settings:
    1) USB [1200 - 1700] -> like you are using for recording WSPR data
    2) IQ [1200 -1700]
    3) IQ [-6000 6000]

    The first plot shows a zoom around the 60 kHz time signal where you can see 1Hz sidebands from the time pulses

    The same spectrum in a wider frequency range is shown below. I would say that the USB[1200-1700] data contains (likely quantization) noise

    Here you can see ~23Hz spikes in the IQ[1200-1700] data.

    ... and they are mirror images of the 60kHz signal (see the 1Hz harmonics due to the time pulses).
  • ... 12000Hz/512 = 23.4 Hz (there are blocks of 512 samples), so something goes wrong at block boundaries either in if in the KiwiSDR.
  • Thanks Christoph. You have given us all some new insight into the +/- 23 Hz sideband problem and it appears that John is studying it.
    Do you have any insights into the other SNR problem? I suspect the CIC downconversion, but I know very little about digital signal processing.
  • My initial look only a few minutes after loading v 1.242 here is that both the ~24 Hz spurious we reported as well as the SNR degradation we saw and wrote about in the above PDF are substantially or completely gone.

    It will take a more data gathering to confirm this but I'm quite confident that efforts by yourself and John have very significantly improved KiwiSDR performance, not just on WSPR but on all modes.

    This is a big deal!

    Thank you for all your work.

    Glenn n6gn
  • I had a look at my KiWi WSPR spots to compare results from before and after v 1.242.

    Although there is no immediately obvious difference between the reported S/N values, v 1.242 does seem to improve the consistency of the reports, with much less variation between spots of the same station in a similar time frame.

    This observation may be purely co-incidental (due to variation in lightning storms etc.) but it does seem to be a positive improvement.

    So a big thanks from me too.


    Martin - G8JNJ
  • You may also wish to use the beta wsprd which is now at 2.0 rc3 as it offers +1dB better SNR
  • Update to "Some Observations ..."

    A superseding update to the first article is attached. Here is the Summary:

    From our measurements and interpretation it appears that the KiwiSDR did have some additional room for
    improvement. We found evidence that in comparison to other SDRs the delivered SNR was not yet as good as it
    might be. Spurious sidebands were generated within the KiwiSDR which resulted in false decodes on WSPR.
    Extremely quick response by John Seamons and Christoph to the original data presented in Part 1 resulted in
    elimination of the spurious spots as well as a large reduction in the SNR differences which had been observed
    between the Apache SDR and KiwiSDR platforms.
    Further measurements have revealed a remaining difference wherein spots of two closely spaced WSPR stations
    on the KiwiSDR can result in the SNR of the weaker of the two being spuriously assigned an SNR higher than it
    should be, typically to within 1.5dB of the stronger of the two. . These findings are presented in Part 2 of this

  • Version 3.3 of my report with N6GN and AI6VN showed that the after .wav files from the KiwiSDR were decoded using AI6VN's script there were occasions when the SNR of the weaker of two closely adjacent signals was “Topped-up” leading to an SNR discrepancy compared with N6GN's Apache receiver.

    In this brief update I've looked at this issue in more detail using a KiwiSDR (v1.245, reporting as G3ZIL/K) and a direct conversion analogue receiver (G3ZIL) and I show that these “Top-up” errors are due to the use of an inadvisable combination of wsprd options in release 1.1g of

    AI6VN will be updating his script.


    Gwyn G3ZIL

  • Thanks Gwyn for uncovering this problem.
Sign In or Register to comment.