Welcome to the new FlexRadio Community! Please review the new Community Rules and other important new Community information on the Message Board.
If you are having a problem, please check the Help Center for known solutions.
Need technical support from FlexRadio? It's as simple as Creating a HelpDesk ticket.

arrl fmt

JosephJoseph Member
edited May 2020 in SmartSDR for Windows
I am trying to understand the ins and outs of the ARRL Frequency Measurement Test (Nov. 11) using just my GPSDO equipped 6600M and no other lab equipment.  Predictably, I have many questions. 

First off, is using the WSJTX Frequency Calibration mode to accumulate the measurement data sufficiently accurate?  If so, does this methodology make sense:
   1. delete all FreqCal mode frequencies in the WSJTX settings
   2. create a FreqCal mode entry for the next test frequency.
   3. Run FreqCal for the duration of the run...3 minutes I think it is.
   4. Use the WSPR 2.12 command line utilities to analyze the data.
   5. Edit the FreqCal setting for the next run and repeat.

It appears that the batch file method for controlling the radio outlined in the https://physics.princeton.edu/pulsar/k1jt/FMT_User.pdf article doesn't work with the 6600M unless you also have a com port like CAT control (no option for TCP/IP CAT control).  Hence the method above.

If there is a how-to somewhere that I have missed, please pass on the link.


  • K5CGK5CG Danny Member ✭✭
    edited October 2019
    I'm sure there are many ways up the mountain but that seems like a lot of work when you could more simply read the offset error over the API. Considering that you have a GPSDO.

    All you have to do is search for "FMT" on this site and there are many articles. But this one is most pertinent.


    The tests are on November 8th, results submission deadline is the 11th. http://fmt.arrl.org/

  • Logan KE7AZLogan KE7AZ Member ✭✭
    edited May 2020
    Here is a link to an excellent presentation that shows how to setup
    Spectrum Lab and Flidigi.  It has step by step screenshots that show
    exactly what fields need to be addressed.


    Sorry for the delayed response but life gets complicated at times.

    Logan, KE7AZ

  • JosephJoseph Member
    edited November 2019
    Logan...thanks for the reference.  I may have this figured out (or not!). I have measured the error on WWV 10MHz and 15Mhz and get reasonable results.  I have an old HP 8640B signal generator that hasn't been calibrated in 20 years and I picked a freq and measured that like I think I would go after the ARRL frequencies.  You tell me:

    1. Set up the radio (6600m) near the carrier, USB.

    2. Set up WSJT-X in freq calc mode on that frequency, Frequency Tolerance = 20, offset = 1500, T/R = 30s.  (Not sure why on any of these.)

    3. Set up SpecLab to measure the frequency of the audio.

    4. Set the dial on my radio to get as close as I could to 1500 on the sidetone (SpecLab).

    5. Cleared the WSJT-X window and let it run for a bit.

    6. Followed the instructions in the reference you provided to get the average measured sidetone frequency.

    7. Teleneted to the radio and got the Rx frequency error.

    8. Plugged that into the formula in the reference (F= dial freq+ average offset - freq error) to get frequency.

    Does that sound right??

    For WWV the radio says the received error is -.22882 mHz (what the radio reported, which seems low.  It onced reported +0.000000...is that even possible?)

    When calculating the signal generator frequency, the calculated error was 0.658913 Hz, but like I said, it hasn't been calibrated in eons.

  • Logan KE7AZLogan KE7AZ Member ✭✭
    edited November 2019
    Sorry for the late reply.  Weekends are a busy time and it takes a while to write a concise response.  Here goes....

    Regarding your question on the WSJT-X parameters:  The "Rx 1500 Hz" parameter is the tuning offset that places the carrier into the audio passband of the radio.  For example: for wwv at 5MHz, the 1500 value causes the receiver to be tuned to 4998.500 KHz.  The carrier will be at 1500 Hz. If you change the value to 500, the radio tunes to 4999.500 KHz and the carrier is at 500 Hz.

    Regarding use of SpecLab:  you don't need to use SpecLab to tune the radio to put the carrier at 1500.  WSJT-X will tune the radio for you.  SpecLab is an independent tool and is not needed to use WSJT-X.  So you could leave out steps 2 and 3, if you like.  The FMT doesn't last long and the less fiddling that you have to do, the better.

    I use SpecLab because it has some nice data recording features and produces a nice long term waterfall of the signal being measured.  I have recorded some dramatic Doppler shifts of WWV during a recent geomagnetic storm with SpecLab.

    Regarding the number supplied by the get_error function: it does vary and it 
    represents the tuning error of the radio not the frequency error of the signal. So there are cases where it could be zero.  Steve's, N5AC write up said it will be in the range of +- 28.61 mHz.

    Regarding your results, I'm not sure what your conclusion was. I would have expected the error on WWV to be very small.  Maybe I didn't understand your tatement.

    I used your steps for a test I did this afternoon with WSJT-X, alone. Here is what I recorded. (I used a 500 Hz offset)

    Fdial=         4,999.500 Khz
     + Foffset =          499.97324615 Hz  (data from WSJT-X averaged in Excel)
     - Ferror  =                    11.44408 mHz (data from GET-ERROR query in PuTTY)
    F measured =     4,999,999.96180207 Hz 

    Several possible reasons for why we didn't get 5 MHz, exactly.
    1) PC digitizer clock error on the 500 HZ signal,
    2) Error in the 10 MHz reference oscillator,
    3) Noise and doppler effects,
    4) More digits of resolution than significant digits of accuracy.
    One caution, when you add all of the pieces, great care is needed to get all of the decimal places lined up since you have KHZ, Hz, and mHz being reported by the tools.  Excel is your friend for this task.

    I hope this helps to answer your questions.  And I hope I have interpreted all that I have read on this subject correctly and made proper use of my engineering skills.  Good Luck and Strong Signals for the FMT.

    Logan, KE7AZ

  • k3Timk3Tim Member ✭✭
    edited November 2019

    "1) PC digitizer clock error on the 500 HZ signal"

    I am not sure the PC clock would have an effect on the frequency measurement / calculation.  In the bygone era of analog radios, the PC sound card digitizing the audio would be a subject to scrutiny. With The Flex, The audio is digitized and sent to the PC via DAX with the 6x00 doing all conversion in the digital domain except the first step of the A to D conversion. If the 6k clock domains are derived from the master clock set by GPSDO (for example) then, the internal DSP and other magic (filtering, demod etc.) should  keep the frequency components 100.0000% accurate. The digitized audio hits the PC as ethernet traffic, is converted to an audio stream (DAX) and consumed by the app (fldigi or WSJT). If the PC can't decode the 48 kc. stereo  channel w/o a timing error, that's a big problem. It would have to be one clock tick off in the 48 Kc timing otherwise the 500 cycle tone should arrive unscathed. 

    A test using WWV audio tones, decoded in AM (or SAM?) mode and measured in fldigi would verify the accuracy of the system, ie. 6K,  PC and app.

  • JosephJoseph Member
    edited November 2019
    I may understand...we'll find out Thursday.  One more question: the avg freg (measured) is totally dependent on WSJTX.  Is the frequency calibration described in the manual sufficient?  When I repeat that exercise, back to back, using 5, 10 , and 15Mhz WWV,  I get values ranging from -.0108 ppm/.11Hz int, to -.0078ppm/-.04Hz int.  Is this as expected?
  • Logan KE7AZLogan KE7AZ Member ✭✭
    edited November 2019
    Thank you for your comment.  Sampling rate error would probably have been a better term rather than PC clock.  My comment was based on my experience with SpecLab that has a calibrate function for the sampling rate.  As you suggested I ran a couple of quick tests using WSJT-X and Flidigi.   I used  WSJT-X to measure the 100Hz sideband on WWV  since it is present all of the time (albeit pulsing) and came up with an average of 99.830 Hz.  I did the same test with Flidigi and came up with an average of 99.519.  Now these were short tests, less than a minute, so more averaging is needed for more accuracy but it does show that some systematic errors may be present.  However, each time we move one digit to the right of the decimal point, the sampling/averaging time goes up by a factor of 10. So, to borrow from a phrase from college:  "Further investigation is obvious and left as an exercise for the reader."  :)   Except for the FMT and some other high accuracy applications, this level of accuracy is not needed for most ham activities.
    Logan, KE7AZ
  • k3Timk3Tim Member ✭✭
    edited November 2019
    No problem with the sampling rate error Vs. PC clock as the meaning was understood.

    Very interesting about the fldigi and SpecLab tests. Since the tone is pulsing, that may thru some problem into the measurement.  I tried fldigi with the 500 and 600 tones on WWV (2.5Mc) using AM demodulation. These were within about 1/100 cycle but did bounce around. Since the tone is AM modulated not sure the propagation would affect the frequency of the tone.

    With the new feature of Smart-SDR allowing two PC's to connect at the same time, a simulated FMT was run on  WWV @ 2.5Mc using separate slices and fldigi on two PCs. The floating scopes showed the exact same frequency excursions due to propagation. This result seems to indicate the PC decode of the DAX stream is not dependent on super accurate clocking (within the PC). 

    Tim - k3Tim

  • Logan KE7AZLogan KE7AZ Member ✭✭
    edited November 2019
    Interesting test results, especially the two PC test and I agree with your conclusion.

    I did another test on the 10 MHz WWV carrier offset by 1500 Hz Monday night using WSJT-X, Fldigi, and SpecLab (uncalibrated).  I was able to isolate about 2 hours of data where the Doppler was minimal.  All three packages gave basically the same average result: 1499.97 Hz offset.  If I had the proper test equipment and reference sources, I'd take a hard look at my external 10 MHz source, a Leo Bodnar GPDSO.  However, I recognize that I am pushing the limits of what might be expected from a consumer product.

    I have a BG7TBL GPSDO, as well.  Guess I'll have to hook it up, let it stablize, and re-run my test.

  • Logan KE7AZLogan KE7AZ Member ✭✭
    edited November 2019
    Could you explain what you meant by "described in the manual?"  Is this the procedure for the FlexRadio or a feature in WSJTX?
  • JosephJoseph Member
    edited November 2019
    Sorry...as described in section 13.1 of the WSJTX user guide.
  • Logan KE7AZLogan KE7AZ Member ✭✭
    edited November 2019
    Thanks for the clarification.  I ran the test with my radio and got -.015 ppm for the slope and .04 Hz for the intercept.  So it looks like your numbers are reasonable.  It appears to me that this calibration also accounts for the "Get_Error" value.  Good Luck with the FMT.
    Logan, KE7AZ
  • Mike-VA3MWMike-VA3MW FlexRadio Employee, Community Manager admin
    edited November 2019
    How did everyone make out?  

    Unfortunately, I had a different priority, so I missed it.

  • Logan KE7AZLogan KE7AZ Member ✭✭
    edited November 2019
    The results have been posted and I am happy with my efforts.  My 80M freq was off by .11 Hz and my reported 40M frequency was off by .56 Hz.  When I went back to my data, I discovered that Murphy got me in the end and I mis-typed my 40M entry with an extra zero in the middle!  My measured (vs reported) frequency was only off by .01 Hz!  Next time I need to be more careful with all of the digits and decimal points.  Rookie mistake.

    I have a 6600 with a BG7TBL GPSDO (the $100 version) for a 10MHz reference. DAX allowed me to use SpecLab, WSJT-X, and Flidig at the same time to collect data. I initially had a slice for 40M and one for 80M.  But I found it easier to retune a single slice than start a second instance of all of the apps. I also had a slice recording 5MHz WWV data.

    WSJT-X and Flidigi each were less than .1 Hz on 40M.  The first run on 80M did not yield good data due to poor S/N ratio.  The second run was better but there was a lot of variation in the data that I averaged. The measurements were .within .08mHz to .13mHz of the correct result.

    SpecLab was marginally useful because the 23mHz bin size for the FFT needed 44 seconds to collect the data.  SpecLab allows a 50% overlap in successive data collections so you get an effective collection time of  22 seconds.  However, in 2 minutes you only get 6 sets of data towork with.  Next time, I'll try a bin size of 43mHz and increase the overlap to get more data points.

    I am going to go back and take a look at the WWV data that I also collected and see if it could have helped refine my results on 80M.

    All in all, a lot of fun, and very doable with a Flex and a GPSDO.

    Logan KE7AZ
  • K1FRK1FR Member ✭✭
    edited November 2019
    My first FMT and did better than expected. Probably beginner's luck!

    A quick scan of the results shows Flex was very well represented.

    73, Tom

  • Bill W2PKYBill W2PKY Member ✭✭
    edited November 2019
    Noticed almost 30 Flex radios were entered and most did very well. Used FLDIGI, also monitored WWV 2.5, 5, & 10Mhz to attempt to get some idea of any Doppler shift. WWV errors were slightly negative where K5CM signals were slightly on the positive side. Massaging the data is the key to entering a very close value. Wish these events were more frequent. Too bad the League doesn't incorporate something like this into code practice runs simply posting the frequency so Ops get more practice.

Leave a Comment

Rich Text Editor. To edit a paragraph's style, hit tab to get to the paragraph menu. From there you will be able to pick one style. Nothing defaults to paragraph. An inline formatting menu will show up when you select text. Hit tab to get into that menu. Some elements, such as rich link embeds, images, loading indicators, and error messages may get inserted into the editor. You may navigate to these using the arrow keys inside of the editor and delete them with the delete or backspace key.