How does the GPS self-calibration work?

Using the discussion of GPS antennas found here from a couple years ago (thanks Chris!) I moved my GPS pucks about 3' from where they were, and went from 0 fixes, to 30/min, which is great. While I was all set to do elaborate fixes to solve the GPS reception issue, 5 minutes of experimentation showed that would have been a great waste of time. Merely moving them around in the shack helped a lot.

What pointed me to this problem was the frequencies posted to wsprnet of my WSPR decodes, which were always a bit off what all others were reporting.

Now that I have a steady stream of GPS fixes, can someone describe how and when the Kiwi makes use of the GPS data to calibrate itself frequency-wise?

* Does it do a calibration based on GPS data on the fly?

* Does it require a reboot to act on the GPS data?

* How often does it calibrate itself?

Thanks for any input



  • Not an answer to your questions but previous examination with an SA shows a lot 1575 +-MHz lines emanating from the SMA end of an enclosed Kiwi.

    I found, as you did, that moving the puck perhaps 5m away made a gread deal of improvement. This even when my (portable) Kiwi was out in the open.

    Also we've found that the GPS distribution PCB I designed and fab' does help a considerable. It has additional BPF and 8-10 dB gain to each of up to 8 outputs.. If you are interested files are available and parts are pretty cheap. It is small SMD though so you may not want to take it on without a hot plate and willingness to learn!

    Glenn n6gn

  • * Does it do a calibration based on GPS data on the fly?


    * Does it require a reboot to act on the GPS data?


    * How often does it calibrate itself?

    Every single GPS solution, which is every 2-4 seconds (I can't remember). There is a 16-period modified moving average (MMA) filter to smooth the adjustments, although Christoph's Kalman filter (developed afterwards) has eliminated that problem. The result is kind of a frequency locked loop (FLL). It is not a GPSDO or even a PLL.

    The other two things the GPS does are:

    • Adjusts the Linux clock if it is out by more than 2 seconds. This is of course important for the WSPR extension. It would only happen if ntpd weren't receiving updates for some reason (e.g. Kiwi on a network with no ntpd peers).
    • Sets the date/time once per restart if so enabled on the admin page, gps tab.

    An interesting thread where Glenn got me to find the bug preventing really good correction as measured at VLF using the IQ display in open loop mode:

  • Thanks John and Glenn, this is most helpful.

    I'm really surprised at the huge difference in performance I saw by moving the pucks such a small amount. Being able to "see" the window was of no value here, but getting the pucks away from the Kiwis did.

    More reading to do, but things are good now, and the WSPR reports are what I would expect them to be.

  • John , beware of the northern nulls... don't have your gps on a northern exposure. The null position varies with your longtiude.

  • You have to remember that GPS signals are the weakest signals you will ever receive. They are way under the noise floor and only recoverable due to the direct sequence spread spectrum processing gain used. It doesn't help that the puck antenna is pretty crappy and the RG174 coax has huge loss at 1.5 GHz.

    If you add any other factory to the equation, Kiwi self-interference, poor sky view, coax extension, it's just not going to work. But it does work in a lot of cases and the low cost helped meet the price target of the Kiwi kit.

Sign In or Register to comment.