Maybe I am going about it all wrong and should think as more of a sin x/x problem: Compensate with an analog filter and a digital prefilter.
--- In [email protected], "Frank" <[EMAIL PROTECTED]> wrote: > > Hello, > I tried making a DDS and I encountered a problem where I was running > the tuning word at at fairly high frequencies (1/8th of max). When I > look at the sine wave generated by my DAC on my scope, I see this > phenomenon that looks like a phase drift. I could describe it as v(t, > k) = sin (2 *pi *f * floor(t/Ts) + variable_init_phase(k) ) where t is > the time axis on the scope and k is the number of times the electron > beam did a scan from left to right . The floor (t/Ts) is simply a > quantization in time which makes the sin function give a constant > value for a duration of Ts. The variable_init_phase(k) means that at > each electron beam scan, I start off with a different phase. This > looks like staircase going up and down in a sine shape, but the height > of the steps changes as k changes. > > The voltage is quantized to many bits, so I don't need to worry about > the vertical quantization. In time, I see horizontal lines where each > line has the width of the sampling rate of the DAC. Now since I am > running the tuning word at a high frequency, I only have a few samples > for each sine wave cycle. The phase increment is in discrete steps, so > I end up with jitter. What steps do I take to fix this? I heard about > PHASE DITHERING without appreciating it, would I need to to that? I > put a single R C filter after the DAC as a reconstruction filter to > get rid of the (sin x )/x , but I think all I am doing is smudging the > problem of the quantized time. > > Reading ideas and tips are appreciated. Those of you who know the > various generations of ADI DDS chips probably have useful insight. > Thanks, > Frank >
