<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">Brian,<br>
<br>
The formula that is used in theory is:<br>
<br>
(Frequency * 2^57/122880000) >> 32<br>
<br>
If you reduce that it becomes:<br>
<br>
(Frequency * 2^41/1875) >> 32<br>
<br>
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.<br>
<br>
However, in practice, the fpga uses integer math. 2^41/1875 is:<br>
<br>
1172812402.961066666....<br>
<br>
The fpga code rounds this to 1172812403 and uses that constant for
the computation. So the actual formula used in the FPGA is:<br>
<br>
(Frequency * 1172812403) >> 32<br>
<br>
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.<br>
<br>
This information should probably be put on the HPSDR wiki
someplace.<br>
<br>
Regards,<br>
<br>
John<br>
<br>
<br>
<br>
On 11/20/2013 11:36 AM, Brian Lloyd wrote:<br>
</div>
<blockquote
cite="mid:CAE3hgTcaZpLadX2Fo+mVm2mwsDj5_HE_8t9aHASDhuqMe4+98w@mail.gmail.com"
type="cite">
<pre wrap="">***** High Performance Software Defined Radio Discussion List *****
</pre>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<div dir="ltr">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.
<div>
<br>
</div>
<div>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.</div>
<div><br>
</div>
<div>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. </div>
<div><br>
</div>
<div>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. </div>
<div><br>
</div>
<div>Thanks in advance.</div>
<div><br>
</div>
-- <br>
Brian Lloyd, WB6RQN/J79BPL<br>
706 Flightline Drive
<div>Spring Branch, TX 78070<br>
<a moz-do-not-send="true" href="mailto:brian@lloyd.com"
target="_blank">brian@lloyd.com</a><br>
<span><span id="gc-number-9" class="" title="Call with Google
Voice">+1.916.877.5067</span> (USA)</span></div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
HPSDR Discussion List
To post msg: <a class="moz-txt-link-abbreviated" href="mailto:hpsdr@openhpsdr.org">hpsdr@openhpsdr.org</a>
Subscription help: <a class="moz-txt-link-freetext" href="http://lists.openhpsdr.org/listinfo.cgi/hpsdr-openhpsdr.org">http://lists.openhpsdr.org/listinfo.cgi/hpsdr-openhpsdr.org</a>
HPSDR web page: <a class="moz-txt-link-freetext" href="http://openhpsdr.org">http://openhpsdr.org</a>
Archives: <a class="moz-txt-link-freetext" href="http://lists.openhpsdr.org/pipermail/hpsdr-openhpsdr.org/">http://lists.openhpsdr.org/pipermail/hpsdr-openhpsdr.org/</a></pre>
</blockquote>
<br>
</body>
</html>