Friday, December 3, 2010

Frequency Calibration and the RBN

Looking through the log of spots posted during CQWW, it appears that the consistency of calibration between RBN Skimmer stations is pretty good - most differ by no more than 100-200 Hz. Still, I thought it would be worthwhile to offer some suggestions on achieving better calibration.

Why? First and foremost, anyone who is using RBN spots may be using some sort of "de-duping" software to get rid of the duplicate spots. We want those spots in our data, since they provide a basis for signal comparisons and other RBN features, but they contribute a lot to the total flow.The most popular de-duper, WintelnetX, only removes duplicate spots that are on the same frequency (to the nearest 100 Hz), so we need to try for accuracy around half that, or 50 Hz.

Accurate calibration of the QS1R receiver (and perhaps other SDRs I haven't used) is more important as you go up in frequency. A small error at 10 MHz is magnified at 21 or 28 MHz.

One of the special characteristics of the RBN is the expectation, when you click on a spot, that you'll hear the spotted station at approximately the same beat-note each time. If your calibration is off, it means that when people click on your spots on the higher bands, the CW tone they hear from the spotted station will be off. Not good. I had calibrated my QS1R against 10-MHz WWV, and was distressed during CQWW CW to hear that my own 21 and 28-MHz spots were too high pitched, to the point where I had to tune my radio slightly before each 10-meter QSO.

Clearly this wouldn't do, so here's what I did, in tutorial form:

Download a copy of Spectran from this site and install it on your computer. Feed audio from your transceiver to it. Now tune to the highest-frequency WWV broadcast you have available, or a similar AM standard frequency station that broadcasts a continuous tone most of the time. Set your radio to the frequency the standard station is supposed to be on, and either USB or LSB. You'll see a display like this:

The audio tone is the key to the whole trick - because with the filters in our modern radios, you can't hear below 300 Hz or so on the audio output. We know that the tone is precisely 600 Hz on WWV, so all you need to do is adjust your radio's calibration until the "Peak" message at the top of the screen is as close to 600 Hz as it will go. On my K-3, that was 600.24 Hz. The next choice was 597.5 Hz, and who wants to be a whole 2.5 Hz off?

To double-check your work, switch to the opposite sideband. It's likely that the displayed frequency will be slightly different, but you should still be able to get within 2-3 Hz. We can't hear that small a difference - at least those of us without perfect pitch can't. Even if you don't want to bother with Spectran, you can still get pretty close by ear, through using this alternate sideband technique to match the beat notes.

Ok, so now your transceiver's calibration is pretty darned good. For the QS1R calibration. QSY to the highest band your transceiver supports, within the range of your SDR. In the case of the QS1R and the K-3, that's 6 meters. Set your transceiver on CW on an exact frequency, like 50,101.000 KHz, for example.

Start CW Skimmer (not Skimmer Server, yet), and tune it to that frequency. Start it running. Turn your transmitter power way down, connect it to a dummy load, or whatever you need, so that when you send dits, the Skimmer waterfall isn't flooded with spurious signals. You'll see that the trace of the dots will be, most likely, somewhat off the frequency displayed by your radio. Use the "crosshairs" in Skimmer to read out as precisely as you can what the frequency of the center of the trace is.

Now, divide the displayed frequency by the frequency your transceiver is tuned to. That will give you a number like I got, at first - 1.00000535.

Close CW Skimmer, and then use Notepad to open the CWSkimmer.ini file. In Windows XP, it will in the CW Skimmer folder of your program directory. In Windows Vista, it will be [User]\AppData\Local\VirtualStore\ProgramFiles\Afreet\CWSkimmer\, where "User" is your user account name. In Windows 7, it will be in UserData\[User])\AppData\Local\VirtualStore\ProgramFiles\Afreet\CWSkimmer. Depending on how your Windows installation is set up, these folders may be hidden - you will need to "unhide" them.

Now that's over (thanks a lot, Microsoft), scroll down until you come to the section labeled "[SdrQS]". In that section you will find a line titled "FreqCalibration=". If you have never adjusted your calibration, the value for this parameter will be 1. Edit it to the value you determined above, and save your change.

Now go back to CWSkimmer, and see where your line of dits falls this time. if you're lucky, you'll hit it the first time, and your Skimmer display will look like this:

If not, then repeat the process, adjusting the value in the ini file until you get it as close as you can. Since the CW Skimmer display is only graduated every 200 Hz, this step is the least precise of any so far, but with a few iterations, you should be able to get within 20-30 Hz. That's the sort of accuracy we're looking for.

You're almost done. Close CW Skimmer and open the SkimSrv folder. Find the SkimSrv.ini file, as above, but looking in the SkimSrv folder. The frequency calibration is the last line in this file. Replace the value with whatever value you found using CW Skimmer. And now you're done - from now on, your Skimmer Server spots will be as accurate as you can make them.

Let me know, please, what you think of this explanation. And please do try it yourself!

73, Pete N4ZR


  1. HI Pete, You could always GPS lock the SDR if you want the ultimate in accuracy:

    73 Steve M0BPQ

  2. Hello!
    Why spots from CWSkimmer not add to Aggregator?
    I see spots on telnet client but not in Aggregator

    73 Igor UR5FCM

  3. Thanks for sharing, I will bookmark and be back again

  4. Hi Igor - Sorry to be so late in replying, but I'm new to this blog deal. Please check on the Telnet tab in your Skimmer and make sure Accept Skimmer Commands is checked. This should not have any effect unless you are running at least Aggregator 1.3, but it's worth a try.

    The other thing that occurs to me is whether you have installed .NET version 4 on your computer. It is required for some functions of the Aggregator, but I don't know which ones.

  5. I have been curious. Is this what time & frequency calibration in Dayton OH does? If not, what is the difference? Thanks for any info!

  6. No, the guy in Dayton is into serious calibration of instruments and measurement devices to thousandths or closer. Our need here is much less - simply to have all the SDRs on the RBN within 0.1.khz of each other.