[time-nuts] Ebay FE-5680A Rb
hmurray at megapathdsl.net
Thu Dec 15 15:40:38 EST 2011
>> [~]$ factor 63897600
>> 63897600: 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 5 5 13
> Not fair. You added two zeros on the end and then got to add two more 2s
> and 5s.
I converted 63.8976 MHz to Hz.
> What is the "target frequency"? If you are building a radio or a signal
> generator you will tune around all over the band.
There are two ideas tangled up in here. I missed one the last try. Sorry
for the confusion.
Think of a DDS as a N bit register R, and a constant K.
Each clock cycle, R = R+K
The register has high bits and low bits. The high bits feed the ROM.
The output frequency is
Out = In * K/2^N
The first quirk is that if the input frequency is not "good", you can't get
an exact hit on the output frequency. Usually, N is big enough so that the
nearest available frequency is good enough.
For example, suppose N is 20, your input frequency is 10 MHz, and you want 1
A K of 104 produces 991.821 Hz.
A K of 105 produces 1001.358 Hz.
If your input frequency is 16.384 MHz, a K of 64 produces 1000.000 Hz.
The other quirk is spurs. The spurs will be closer in if you need a bigger
N. In that context, the bottom 0s of K effectively make N smaller. (I don't
have any good examples.)
If your application is tuning a general purpose radio, the input frequency
probably doesn't matter much. What do radios do about spurs?
If your application is a specific target frequency, a "good" input frequency
will give a cleaner output frequency.
One of these days, when I run out of other things to play with, I want to
build a DDS in a FPGA. The idea is to do decimal addition rather than
binary. That will turn the 10 MHz from a GPSDO into a "good" frequency for
an audio signal generator. It will hit any integral Hz exactly. (Well,
this is time-nuts so it's only as close as the accuracy of the input signal.)
These are my opinions, not necessarily my employer's. I hate spam.
More information about the time-nuts