Using the WOLF GUI to Measure Sound Card Sampling Rates


WOLF is low-frequency weak-signal mode created by Stewart Nelson, KK7KA. Stewart's original program has been superceded by the WOLF GUI, a freeware program written by Wolf Buscher, DL4YHF. You can download the latest version of the WOLF GUI at DL4YHF's Web Site .

Programs used for weak-signal, low data rate communication at LF generally require accurate and stable incoming signals. This includes the sampling rate of the sound card used to do the A/D conversion. Standard WOLF sampling rates are 8000 and 11025 Hz. Computer sound cards or on-board audio systems can have sampling rate errors that will seriously affect weak-signal copy. The laptop on which this article is being written has an actual sampling rate of 11098.79 Hz instead of the nominal 11025 Hz. This error not only affects the apparent frequency of an incoming tone, but keeps a program such as WOLF from maintaining a consistent framing on incoming data. A weak signal that can be copied on the first line of a WOLF screen may not decode correctly at all with this incorrect sampling rate.

To measure the sampling rate, you need an accurate audio frequency source. I have a divider chain on my 10 MHz frequency standard, and can use a 1 kHz output, but most of us don't have access to such things. The Loran-C transmissions on 100 kHz do offer a wide spectrum of stable audio frequencies when received in AM mode on a low-frequency receiver. If you set your receiver to 100 kHz and put it in AM mode, you can see a forest of spectral lines using ARGO, SPECTRAN, or SpecLab. The "forest" is a little too crowded for our application, though, as you could wind up calibrating to the wrong line! But you can use the 2-step method described below to do an initial calibration in the 10-16 Hz range, and a final calibration at a harmonic near 800 Hz. While your receiver's audio frequency response is probably well down at 10 Hz, there should be enough signal for the WOLF GUI frequency measurement process. I strongly suggest making your measurements in the daytime, preferably between two hours after sunrise and two hours before sunset. This will minimize pickup of extra Loran-C signals and static, as well as insuring the phase stability over the groundwave path. Any calculations may be made with a hand calculator, or the one provided with Windows (which is quite accurate).

The Loran-C system is divided into "chains" of individual stations that key their signals at the same data rate. If you are unfamiliar with which chain is closest to you in North America, visit the U.S.C.G. Loran Site. Note that most of these chains are dual-rated. The table below shows the primary GRI rates, and their corresponding repetition frequencies. You can probably choose from two frequencies used in your area.

Chain ID Primary GRI Frequency
Canada East 59300 uS 16.863406408 Hz
Canada West 59900 uS 16.694490818 Hz
Great Lakes 89700 uS 11.148272018 Hz
Gulf of Alaska 79600 uS 12.562814070 Hz
Newfoundland 72700 uS 13.755158184 Hz
North Central US 82900 uS 12.062726176 Hz
Northeast US 99600 uS 10.040160643 Hz
North Pacific 99900 uS 10.010010010 Hz
South Central US 96100 uS 10.405827263 Hz
Western US 99400 uS 10.060362173 Hz
Lessay (EU) 67310 uS 14.856633487 Hz
Sylt (EU) 74990 uS 13.335111348 Hz

As an example, I will use the NE US chain frequency of 10.040160643 Hz. My goal is to calibrate the 11025 Hz sampling rate for WOLF. Start by tuning your receiver to 100 kHz, in AM mode. You want the raw audio, without any frequency errors from the oscillators in your receiver. You should hear a fairly loud pulsing sound from the receiver speaker. Presumably, you will already have an audio connection from your receiver to your computer's line input, and will have downloaded the WOLF GUI program from the site above.

Begin by closing all programs on your computer, as we don't want to distract WOLF while it's thinking. Start the WOLF GUI, and click the WOLF Config tab. Enter the nominal sampling frequency, in this case 11025 Hz, in the Sample Rate box. In the Center Freq box, enter the frequency listed above for your "local" Loran-C chain. I will use 10.040160643 Hz as mentioned earlier. Now click the Special tab, and enter 60 into the box for "Frequency measuring interval ('m' option)". Then click Main Screen, and Mode. Choose Frequency Measurement, and walk away for 5 minutes or so. When you get back with your cup of coffee, you should find a list of frequency measurements, shown as f:x.xxx. With luck they will all be the same, or will differ by only one digit. If there is some variation, take an average, or do the run again to see if the results settle down. In my case, I had f:-0.067 Hz.

Click Mode and Stop. Go back to WOLF Config, and click the CAL button. Fill in the known reference frequency with your Loran-C frequency from the table, click OK, and fill in the result from the frequency measurement. In my case, I entered 10.040160643 for the known reference and -0.067 for the value from the WOLF decoder. Click OK, and WOLF will prompt you with its calculated sampling rate. In my case, this was 11099.66 Hz. Click Yes, and the program will insert that rate into the Sample Rate box on the WOLF Config screen. You're halfway there!

Chances are that this sample rate is only an approximation of the real rate. This is due to the inevitable difficulty in measuring an offset from a low audio frequency like 10 Hz. We can improve the accuracy substantially by making a measurement on a harmonic of that rate, and those sharp clicks you hear in your receiver speaker guarantee that there are plenty of harmonics. Since many LF experimenters use receiver BFO frequencies of 800 Hz, here is a list of Loran lines near 800 Hz:

Canada East 784.14840 792.58010 801.01180 809.44351 817.87521
Canada West 784.64107 792.98831 801.33556 809.68280 818.03005
Great Lakes 791.52731 797.10145 802.67559 808.24972 813.82386
Gulf of Alaska 785.17588 791.45729 797.73869 804.02010 810.30151
Newfoundland 784.04402 790.92160 797.79917 804.67675 811.55433
North Central US 790.10856 796.13993 802.17129 808.20265 814.23402
Northeast US 788.15261 793.17269 798.19277 803.21285 808.23293
North Pacific 790.79079 795.79580 800.80080 805.80581 810.81081
South Central US 790.84287 796.04579 801.24870 806.45161 811.65453
Western US 789.73843 794.76861 799.79879 804.82897 809.85915
Lessay (EU) 787.40157 794.82989 802.25821 809.68653 817.11484
Sylt (EU) 786.77157 793.43913 800.10668 806.77424 813.44179

Lines will occur at multiples of (50,000)/(GRI) Hz. For example, the Northeast US chain has a bright line at my QTH at 833.33333 Hz. That is the 166th harmonic of (50,000)/(9960). You can choose any harmonic you'd like -- DL4YHF prefers the 1-2 kHz range.

Now we will go back and repeat the earlier process. Leaving the receiver in 100 kHz AM mode, click the WOLF Config tab. Leave the previously calculated sampling frequency alone. In the Center Freq box, enter your choice of harmonic frequency from the table above or your calculation. I will use 833.33333 Hz as mentioned earlier. Then click Main Screen, and Mode. Choose Frequency Measurement, and again walk away for 5 minutes or so. When you get back with your second cup of coffee, you should find another list of frequency measurements. Again, if there is some variation, take an average, or do the run again to see if the results settle down. In my case, I had f: 0.021 Hz.

Click Mode and Stop. Go back to WOLF Config, and click the CAL button. Fill in the known harmonic frequency from the table, click OK, and fill in the result from the frequency measurement. In my case, I entered 833.33333 for the known reference and 0.021 for the value from the WOLF decoder. Click OK, and WOLF will prompt you with its calculated sampling rate. In my case, this was 11098.786 Hz. Click Yes, and the program will insert that rate into the Sample Rate box on the WOLF Config screen. That's it...you have accurately calibrated the sampling rate for WOLF. Make a note of the final value, as it might come in handy for other programs. Chances are that this rate will remain stable for a long time, as it is effectively divided down from a much higher crystal oscillator frequency.

One other thing. You have had two cups of coffee. Don't you have something to do?

Back to Home