[time-nuts] An (unknown?) nasty feature of the DDS principle for time nuts applications

pablo alvarez pabloalvarezsanchez at gmail.com
Fri Jan 28 18:06:04 UTC 2011

I will answer to myself, as my previous email was unclear and buggy.
Actually I was just doing some order of magnitude calculations which seem
quite correct, but it is always better to dig bit more in the details. The
whole idea is to find the waveform paths that will generate a zero crossing
the most distant from the desired zero crossing. Spectral analysis is quite
powerful for understanding the DDS general performance, but I believe that
following the waveform path at every time instant gives an insight into the
DDS behavior that is very hard to grasp with any other means.

Going to the matter. As the 1MHz is slowly drifting the waveform will be
stable for some time and not cleaned by a low pass filter. Now take the
instant when the DAC is about to ouput zero but it is still generating one
LSB. The error here will be 0.5LSBs

In the zero crossing the sinewave slope is:

 delta(V)=2pi/T*delta(t)   (T=1microsecond)

For a 10bit dac we will have that 0.5LSB represent an error of:

2^-10=2pi/T*delta(t) --> delta(t)=2^-11/pi*T=0.15ns

The AD9850 uses 14 bits to calculate the cosine function. In any case the
14bits truncation can provoke an aditional 1 bit error on the DAC output.
This would mean an error on the zero crossing of 0.45ns. Peak to peak would
be 0.9ns, which is smaller than 2ns pk-pk actually observed by Ulrich.

So the order of magnitude is somehow correct, but there is still something
(most likely a lot) missing in this analysis. Any ideas?

Best regards


On Fri, Jan 28, 2011 at 2:47 PM, pablo alvarez <
pabloalvarezsanchez at gmail.com> wrote:

> Hi,
> The AD9850 has a 10bit DAC. If the AD9850 does not dither the 10bit ADC
> output the zero crossings for a 1MHz signal will have an aprox resolution of
> 2^-10*1us~1ns on average. If the lookup table feeding values to the dac has
> 10 address lines (just guessing, I do not see any anything on it on the
> datasheet), you will have an additional uncertainty of 1ns to the phase
> error. Adding these two we have the ~2ns Ulrich is measuring.
> What do you think?
> Pablo
>> _______________________________________________
>> time-nuts mailing list -- time-nuts at febo.com
>> To unsubscribe, go to
>> https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
>> and follow the instructions there.

More information about the time-nuts mailing list