Calibration Error with GPS

Does anyone know how many Hertz of calibration error is normal when using the GPS? 
After performing the calibration routine, I'm seeing about +/- 10 Hz to 20 Hz error at 10 MHz. 
Is that normal? 
Is it possible to get +/- 1 Hz or better? 


  • jksjks
    edited August 31 Accepted Answer
    First of all, B, very nice to hear from you. I had no idea you were a Kiwi owner.
    I can take a look at your Kiwi. Just open port 8073 on your router and email your public ip to (the public ip is listed on the network tab of the admin page). You don’t have to list on or even set a user access password.

    A couple of points:

    If by “performing the calibration routine” you mean the automatic GPS-derived cal then ignore the rest of this paragraph — it only applies if you’re referring to the manual cal procedure. Manual cal should only be necessary if there are not sufficient current GPS position/timing solutions to make a GPS cal. In fact, when there is a GPS cal it (should) zero any manual cal offset first. Maybe there is a bug such that the GPS solution is being offset by the prior manual cal. I tested this but will check again.

    I looked at a bunch of Kiwis with decent GPS reception and the frequency error of 10/15 MHz WWV/H was always about 0.3 - 1 Hz. I determined this by using the "IQ display” extension. “Decent GPS reception” means the status panel at lower left of the main display shows a “good” sat count of at least 4 and an incrementing ADC clock “avgs” count (if the Kiwi has been running long enough with a count > 999 it won’t show single increments).

    1) Tune to 10 or 15 MHz. A higher frequency time station is better than LF because the frequency error will be greater, hence greater rotation rate.
    2) Select the iq_display from the extension menu.
    3) Select AMN mode. This is very important as SSB/CW won’t pass both I & Q data to the extension.
    4) Shift-click the minus magnifying glass icon until the passband shrinks to less than 100 Hz.
    5) Raise the IQ display gain until you see a roughly circular trace in the IQ display.
    6) Widen the passband slightly if max gain is insufficient.

    On the Kiwis I checked I always observed a rotation rate of < 1 RPS (1 Hz). A valid question is “how do you know you aren’t simply seeing 1 Hz aliasing because it’s rotating so fast? (like it really has 50 Hz error or something). If you widen the passband so that the trace changes from a rotating point (carrier only) to a more complex shape as affected by the signal modulation you can easily see the true speed of rotation. This is also true if there is carrier fading so the point is not tracing out a perfect circle.

    For those reading who don’t know this trick: You can also easily detect significant cal error by flipping between AMN/LSB/USB while the WWV 500/600 modulation tones are present. The tone frequencies should sound identical in all three modes.

    John, ZL/KF6VO
    Tauranga, New Zealand

  • A follow-up comment. 
    Hopefully I'm now able to self-answer my previous question.
    After some experimenting, I found that I'm able to get within about +/- 2 Hz immediate frequency calibration now: with or without GPS enabled. 
    Randomly, it seems possible, to achieve +/- 1 Hz immediate calibration.

    I'm using the admin calibration graphical (GUI) method: Right Click on waterfall carrier>cal ADC clock (admin)

    You will need admin access for this procedure. 
    You will need an antenna and good propagation to WWV or WWVH (or some other standard frequency/tone station)

    1. Tune to 10 MHz (or 15 MHz) for reception of the standard frequency/tone station
    2. Set KiwiSDR mode to USB 
    3. Expand both lower and upper edges of the KiwiSDR passband to exactly:
    Lo = -1000 Hz exactly
    Hi = +1000 Hz exactly
    bw = 2000 Hz
    4. Enter manual frequency 10000.00 kHz (or 5000.00 kHz, or 15000.00 kHz, etc)
    5. Zoom in on the center frequency in waterfall to the narrowest spectrum possible
    6. Right click exactly on the center track of the waterfall carrier of standard frequency/tone station 
    7. Pop-up select> cal ADC clock (admin)>confirm
    8. Enter manual frequency 10000.00 kHz (or 5000.00 kHz, or 15000.00 kHz, etc)
    9. Check for audible beat tone rate during the interval when station (WWV/WWVH) transmits a continuous (500 Hz) tone. The audible beat tone phasing rate is equivalent to the frequency error in Hz. Count the number of audible 500 Hz tone phasing beats per second (relative to the tick/tocks).
    10. This should be adequate to get calibration within 2 Hz by ear.
    11. If calibration is not within 2 Hz, repeat steps 4 through 9 until calibration is within desired accuracy. Keep in mind that each time you try this, it will have a random result, within about +/- 2 Hz. Quit trying when you get calibrated within +/- 1 Hz.
    12. Right Click> Restore Passband
    13. Calibration procedure complete.

  • Hi John,

    Thanks for your detailed answer. 
    As you can see, the problem was self-solved, but your details show that there is more accuracy that can be achieved. 
    Presently, I'm a noob KiwiSDR owner and just set it up for testing on a local private LAN with no internet access. 
    At some point I will probably connect it to the internet. 

    My GPS has low visibility, so I will need to extend my GPS cable outside to get better GPS calibration. 

    My primary target application is ALE, which requires good calibration and fast channel scanning. 
    Perhaps multiple instances of browsers and virtual audio feeds, combined with multiple instances of PCALE might make a muliple channel simultaneous ALE receiver possible using one or several KiwiSDR units.

    Thanks for all your work on the wonderful KiwiSDR system! 

  • After using the IQ display method in AM NARROW, I've found that it is quite accurate, and I've been able to achieve better than +/- 1 Hz.
  • I think I need to add some +/- "jog" buttons to the manual calibration panel so you can fine tune the correction. You could do that while the IQ display is running and set the cal exactly. The problem then is XO drift due to ambient temperature changes. That's why GPS cal is so nice.

    Be careful about extending the existing patch antenna cable length. Especially don't extend it with any more rg174 as the additional cable loss at 1.5 GHz will probably keep the GPS from working at all. See the comments from June 15 in this thread:

  • I agree with your solution, the "addition of +/- jog button to the manual calibration panel" . It would solve the problem of not enough resolution in the GUI/mouse method to enable a user to access the calibration accuracy that KiwiSDR is capable of.
  • Okay, v1.120 has some jog buttons. But I put them in the IQ display extension because it was easier to do than the manual cal panel and you really need to have the IQ display open anyway to see the rotation of a time station carrier to do accurate fine tuning. There is also now an "AM 40Hz" button to setup the demodulator easily.

    The +/- increment is 1 Hz of the 66.7 MHz adc clock, or 0.225 Hz at 15 MHz. You'll note there could be a little more resolution. But that would require converting some code to floating point which is inconvenient. There also seems to be a little bit of a dead band which I don't quite understand. A good strong carrier is best otherwise you get odd effects from multipath etc. WWV/H mixing can cause odd display patterns sometimes. It's fun to look at a bunch of AM BCB stations and see how far their transmitters are off-frequency.

    You can create a browser bookmark that tunes to 15 MHz, opens the IQ display and sets the display gain to, say, 64 or whatever is appropriate: kiwisdr.local:8073/?f=15000amz10&ext=iq,64

Sign In or Register to comment.