Liste des Groupes | Revenir à c dsp |
A DDS clock generator uses an NCO (a phase accumulator) and takes someBecause the sawtooth has much the same harmonic content as a triangular wave, all the odd harmonics (up to the speed of the switches involved) at amplitudes that decrease as the square of the harmonic number
number of MSBs, maps through a sine lookup table, drives a DAC and a
lowpass filter and finally a comparator. The DAC output gets pretty
ratty near Nyquist, and the filter smooths out and interpolates the
steps and reduces jitter.
But why do the sine lookup? Why not use the phase accumulator MSBs
directly and get a sawtooth, and filter that?
The lowpass filter looks backwards in time for a bunch of ugly samplesBut they are delayed as they go through the low pass filter, and that gets the polarity right, if you use a linear phase low pass filter, which doesn't have a sharp cut-off.
to average into a straight line. The older sine samples are the wrong
polarity!
If the filter impulse response is basically zero over theYou can simulate that in LTSpice, whic is safer than hand-waving speculation.
period of the sawtooth, and we compare near the peak, we'll average a
lot of steps and forget the big sawtooth reset.
I want to make four programmable clocks and don't want to buy DDSTrading off development time against parts cost. The Analog Devices development engineers have had longer to get their design right than you will have, so their end result may be more nearly perfect.
chips. So use a cheap FPGA and a few resistors as the DAC.
SynthesizeGood idea.
one octave and divide down for lower frequencies. Gotta sim that.
LT Spice really sucks with digital stuff. Building a phase accumulatorSince you don't need to simulate the digital stuff, LTSpice will work fine. Getting the PWL file to simulate the phase accumulator output may be a chore, but google might find one for you.
would be a horror. I'm working on a PowerBasic program that can dump
waveforms to a PWL file that LT Spice can import and filter. Qspice
would be better but I'd have to learn that and hack the phase
accumulator in c.
Les messages affichés proviennent d'usenet.