Frequency accuracy expectations with V1.249

edited December 2018 in Problems and Issues
At KPH I have been testing the frequency accuracy of v1.249 by tuning the 7 Kiwis at KPH to 20M WSPR and extracting the spots for K6PZB who transmits a groundwave GPSDO signal at 14.0970900. I have confirmed PZB's frequency accuracy at two other receive sites with non-Kiwi GPSDO receivers. All seven Kiwis report GPS tracking of 10-12 satellites and they are all set to not auto update Kiwi SW during the test run.

Extracting the 1170 .1 Hz resolution PZB spots recorded during the last 25 hours from the KPH ALL_WSPR.TXT files, I get a range of frequency values from 14097088.4 Hz to 14097093.0 Hz. I exclude from this measurement three -20 dB sideband spots with drift values > 0 which are almost certainly airplane reflections.

These 1170 spots are reported by the Kiwis in a range of -2.6 Hz to +3.0 Hz. Is this accuracy and stability consistent with what one would expect from the new Kalman filter? It is certainly excellent and great for WSPR, but some ionospheric research groups are looking for .001 hertz accuracy where it seems an external GPSDO like the Bodnar will be needed.

pi@Pi-KPH84:~ $ pzb
Total spots: 1170
Start time: 181212:1526
End time: 181213:1820
Low freq: 14.0970884
High freq: 14.0970930
pi@Pi-KPH84:~ $


  • 0.2 ppm is pretty good for most everything (else). The Iono stuff needs a stable TX too.
  • I think something is wrong. My standard for frequency stability testing is running the IQ display open-loop on 25.2 kHz NLM4 (North Dakota, MSK, cesium standard) using the Kansas Beta test Kiwi. Changes were made in v1.234 previously that really improved the frequency stability situation. See: The first image below is after the improvements in v1.234

    But with the recent Kalman code additions jitter seems to be worse, even with the filter turned off. The second and third images below are the same IQ measurement with Kalman on and off. You can see the Kalman filter on-vs-off is improving the situation but the base-level jitter is worse than v1.234 it seems (the absolute phase rotation in these images is arbitrary of course).

    I also measured Kalman-on with two additional Kiwi connections running the WSPR extension and the IQ result is the same. So in theory there are no issues with the Beagle being heavily loaded.

    This could also be some pre-Kalman problem that was introduced. I need to do some regression testing on earlier versions.


    v1.249 Kalman ON

    v1.249 Kalman OFF

  • It was my impression that frequency accuracy was excellent after 234, but this is the first time I have set up such an extensive test.
  • jksjks
    edited December 2018
    If I'm doing the math right (always a bad assumption in my case) 3 Hz variation at 14.1 MHz should be equivalent to about 0.0053 Hz at 25 kHz. And 0.005 Hz would show as about 2 degrees jitter in the IQ display, no? The images above seems to be a bit more than that though.
  • google says 0.00536170212 hz. if i understood the IQ display I would use N6GN's Kiwis which are line of sight to WWV 15 Mhz
  • Recent/better measurements using software version just before addition of Kalman filter (v1.245).

    3 minute IQ display extension exposures: v1.245 before Kalman changes, v1.249 Kalman off, v1.249 Kalman on
    image image image

  • jksjks
    edited December 2018
    Well, now I'm really confused. After more testing I find that the Kalman filter is giving me the best frequency stability of all the configurations. This image is after many minutes of running. It's absolutely perfect and this is the behavior I would expect. So I think something more subtle is going on. Perhaps a bad interaction between the Kalman GPS solutions and updating of the Kiwi clock.


  • Sort of off-topic question, what is the highest GPS disciplined clock signal (or harmonic) I am likely to be able to sniff if I were to hold a coil close to the Kiwi? (if any)
    Reason for asking, I know the Kiwi frequency is very stable, can I then reference that known clock to use while checking calibration on a vhf device? (without connecting anything directly to the Kiwi)
    Sorry I should just try but don't want to spend ages looking for something that may not exist or be controlled by the GPS reference.
  • jksjks
    edited December 2018
    It's easy to forget, but the XO on the Kiwi board is not being disciplined by the GPS. So you can't really use it (or the harmonics) as a stable reference. What's happening is that the GPS is used to accurately and continuously measure the XO frequency and then compensate for it in the NCOs later on so that the SDR always stays exactly on-frequency.

    Click the "stats" tab on a regular connection and it will tell you the measured ADC clock down to 1 Hz (e.g. "ADC clock: 66.665913") But that number will wander particularly with ambient temperature changes. But this is different than the XO (which is marked 66.6666 MHz on the package) being held to exactly that frequency by a hardware PLL.
  • In the past I've sniffed GPS receiver modules in the hope of finding a stable reference. I've even used LN preamps and various probes and loops.
    All to no avail. I think most are pretty clean and RF quiet. (I'd wondered about that in the days of 'no GPS devices on airplanes' )

    Glenn n6gn
  • Excellent info thanks, was at work and the idea came to me but I did wonder if it was an internal function not like a PLL.
    Ah so I have to use something like an SI570 VFO (I have at least one lying about) to create a signal then use the Kiwi audio feedback to move the frequency to zero beat...
    If only I had the time, capabilities and inclination. Might just have to buy one of the Leo Bodnar things.

    Last thought, there is a CAT control thing for web SDR's maybe I could use that to control the easier than trying to write my own extension and cheaper than a built clock.

    Glenn, I have sniffed normal oscillators in common things that I swear could be used as bugs, they responded to vibration so with the right processing I bet could return voices, makes me think of "The Thing" from the 40's.
  • I have just completed a 24 hour WSPR decode test of seven v1.249 Kiwis at KPH where all are fed from the same HF antenna and GPS antenna. With 1058 recorded K6PZB spots, The minimum K6PZB frequency reported was .4 Hz below his 14.0970900 transmit frequency and the maximum was .2 Hz above. While this is not Bodnar level of frequency performance, I think it is excellent and perhaps the best one could expect from the Kiwi's 66 MHz ADC clock.

    As a reference, the Bodnar GPSDO Kiwi N6GN/K2 which is line of sight to 25 MHz WWVH takes over 600 seconds for the IQ point to describe 1/4 of a circle, so that Kiwi clock is accurate to better than 1/(4* 600 * 25e6) = 16.6e-12, which correlates well with the Bodnar's specifications.


    In contrast, the N6GN/K Kiwi which uses the internal GPS signal will describe a circle (drift 1 hz) in 10 seconds or less:


    But I imagine only doppler shift measurements of the ionospheric movements would require the Bodnar's accuracy and stability. It is a credit to John's design that the external clock source is so easy to utilize in those few applications where it is required.

Sign In or Register to comment.