[time-nuts] Re: pulling some crystals

Bob kb8tq kb8tq at n1k.org
Sat Dec 16 14:30:07 UTC 2023


Hi

A DDS is typically limited by two things: 

1) The “linear binary” to sine (or cosine) conversion process.

2) The accuracy (and bit depth) of the ADC you use.

This is on top of the more normal Nyquist stuff that you would expect of any digital gizmo. Tossing a square wave in on top of the Nyquist issues normally turns things into a major mess spur wise. 

Bob



> On Dec 15, 2023, at 5:36 PM, Hal Murray via time-nuts <time-nuts at lists.febo.com> wrote:
> 
> 
>> the ultimate clock is used as a sample rate clock for ADC, DAC, FPGA . this
>> drives everything.  I can tweak say frequency offset of the system channels
>> that I generate with internal FPGA DDS, but producing a Part PerBillion
>> accurate sample rate conversion running at 393 MHz sample rate would be a
>> whole world of pain,
> 
> Running a fast DDS in a FPGA is pretty easy once you see it.  "Carry save 
> adder" is the buzzword.
> 
> The problem is how to make a wide adder go fast.  The trick for a DDS is that 
> all you need is the carry out of the adder.  So put FFs along in the carry 
> chain as needed to meet timing.  That will delay the carry out by a cycle per 
> FF but that doesn't matter for a DDS.
> 
> Consider a 16 bit adder with one FF half way along the carry chain.  When that FF is a 1, the high bits in the adder and the carry out will be a cycle behind the low bits.  The next cycle they catch up.  The carry out, the DDS signal, has the same pattern.  It's just shifted in time.  If you fed it to a spectrum analyzer you couldn't tell the difference.
> 
> A part per billion is only 30 bits.
> 
> 
> -- 
> These are my opinions.  I hate spam.
> 
> 
> _______________________________________________
> time-nuts mailing list -- time-nuts at lists.febo.com
> To unsubscribe send an email to time-nuts-leave at lists.febo.com




More information about the Time-nuts_lists.febo.com mailing list