[time-nuts] DDS'ery narrow scoped.

Magnus Danielson magnus at rubidium.dyndns.org
Thu Jul 21 18:18:17 UTC 2011


On 07/21/2011 07:10 PM, dk4xp at arcor.de wrote:
>
> IMHO, that would require a sine table with a steerable number
> of entries. Very problematic for a tunable DDS, but doable
> for a fixed frequency application, although address mirroring
> for ROM size reduction would require real address comparators
> instead just using the 2 MSBs as a selector.
>
> The table could also be in RAM instead of ROM without large
> increase of the cost in an FPGA, so with some processor support
> one might approach "tunable".

True, this is an issue if you waveshape to sine/cosine or other suitable 
waveform.

The scaling error is N/2^n so you would have to multiply by 2^n/N to get 
proper scale. A few shifted down adds to form a multiply approximation 
would help to reduce the phase-jump with associated spurious generation.

However, in Luis application he only uses the MSB. The MSB would get a 
PWM factor skewed from 50%, in fact it becomes N/2^n. Again, PWM factor 
can be adjusted with the addition/multiplication trick mentioned 
above... if it is important for the application. Otherwise it is just 
wasted logic.

Cheers,
Magnus



More information about the time-nuts mailing list