[hpsdr] exact frequency determination

John Marvin jm-hpsdr at themarvins.org
Wed Nov 20 16:57:22 PST 2013


Brian,

The formula that is used in theory is:

     (Frequency * 2^57/122880000) >> 32

If you reduce that it becomes:

     (Frequency * 2^41/1875) >> 32

So, theoretically any frequency that is evenly divided by 1875 would be  
a "perfect" frequency. I use that rule when setting frequencies for the FMT.

However, in practice, the fpga uses integer math. 2^41/1875 is:

     1172812402.961066666....

The fpga code rounds this to 1172812403 and uses that constant for the 
computation. So the actual formula used in the FPGA is:

     (Frequency * 1172812403) >> 32

Therefore there is always some error, however it is minimized at 
frequencies that are evenly divided by 1875. In those cases I believe 
the error is less than .1 mHz.

This information should probably be put on the HPSDR wiki someplace.

Regards,

John



On 11/20/2013 11:36 AM, Brian Lloyd wrote:
> ***** High Performance Software Defined Radio Discussion List *****
>
>
>
> Several of the things I like to do involve precise frequency 
> measurement in the HF spectrum using a Hermes and/or Angelia board, 
> and PowerSDRmrx. Since my frequency reference is either a GPSDO or an 
> Rb reference, the potential accuracy is very high. The actual limit 
> has become the error in radix conversion between the decimal frequency 
> value and the binary frequency control word used by the NCO in the 
> Hermes/Angelia FPGA "firmware" plus the error in PowerSDR's NCO 
> frequency control word.
>
> Now this error is not large, typically on the order of 20 or so mHz 
> most of the time, but there are some combinations of control words 
> that produce larger errors.
>
> Now these errors are completely deterministic. When one enters a 
> frequency in decimal that produces a binary control word for the 
> nearest possible frequency, usually within a couple of handsful of 
> mHz. But if you know the binary control word, it is possible to work 
> that backwards to the ACTUAL frequency. So, yes, if I enter 
> 7,150,000.000 Hz, I really DO want to know that the radio actually 
> tuned to 7,150,000.037 Hz.
>
> What would be nice would be to have PowerSDR actually include this 
> calculation and display it, or, better yet, include it as the actual 
> value represented when queried with CAT. Still, just knowing the 
> calculation so I can do my own corrections by hand would be extremely 
> useful.
>
> Thanks in advance.
>
> -- 
> Brian Lloyd, WB6RQN/J79BPL
> 706 Flightline Drive
> Spring Branch, TX 78070
> brian at lloyd.com <mailto:brian at lloyd.com>
> +1.916.877.5067 (USA)
>
>
> _______________________________________________
> HPSDR Discussion List
> To post msg: hpsdr at openhpsdr.org
> Subscription help: http://lists.openhpsdr.org/listinfo.cgi/hpsdr-openhpsdr.org
> HPSDR web page: http://openhpsdr.org
> Archives: http://lists.openhpsdr.org/pipermail/hpsdr-openhpsdr.org/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openhpsdr.org/pipermail/hpsdr-openhpsdr.org/attachments/20131120/27e1c49e/attachment-0004.htm>


More information about the Hpsdr mailing list