DDS: background   |  numerical distortion   |  products

Simulations of DDS in Mathcad worksheets
"Visual learning is not just for kids."

DDS: Direct Digital Synthesis = point(memory location)-skipping at constant update(clock)-rate  [ vs. traditional PPC (point-per-clock) synthesis at variable clock-rate ]

Mathcad combines the mathematical power of a spreadsheet with the WYSIWYG interface of a word processor and allows you to solve just about any math problem you can think of.
In this environment, you can place equations , text, and graphs anywhere on the screen and use real math notation throughout.
(1) The Mathcad execution order is just as you read:  left-to-right, top-to-bottom.
(2) Change the parameters and see the consequences. ("Learning-by-doing.")
(3) math Mathcad Explorer is a free viewer for Mathcad files ( .mcd , version 8 or earlier ) ... Unfortunately, MathSoft is no longer offering the downloadable viewer (Sept/2001), but ... 
  - mcexp802.exe

 Downloadable  *.mcd (ver. 8)  files : Spectra of quantized sinusoid in highly oversampled case, and some properties of the quantization error Two ways of computing the location of harmonic lines due to aliasing, and an example of "Nyquist voodoo" Illustration of numerical distortions (spurious components) due to amplitude quantization (AQ): overlapped harmonic structure.
ModT plot is a reversible temporal permutation of samples.  This shows samples plotted as a function of their true phase rather than as a function of original time index. (This illustrates also the point-skipping nature of DDS.)
Comments on  'The Modulo Time Plot : A Useful Data Acquisition Diagnostic Tool' (Fig. 1)
IEEE Trans. on Instrumentation and Measurements , Vol. IM-45, No.6, (959) 1996 [ pdf ]  and (error correction) Vol. IM-46, No. 3, (739) 1997 [ pdf ] Multiplicative inverse( ) function -  finds J such that "m.J = 1 (modN)".
Simple, slow (linear) search: the equation is equivalent to finding J (and k) such that "m.J = N.k + 1" (k integer) Tuning-dependence of  AQ-spurs
a version for creating animation
Movie Clip:  AQspurs.avi Vizualization of the phase wheel (and the phase approximation error)
a version for creating animation
Movie Clip:  pACC.avi (790 KB) Basic parameters of NCO and numerical periodicity of errors Illustration of numerical distortions (spurious components) due to phase truncation (PT): overlapped modulation structure. Scrambled versions of  PT-spurs
a version for creating animation
Movie Clip:  PTperm.avi (1.5 MB) Tuning-dependence of  PT-spurs
a version for creating animation
Movie Clip:  PTspurs.avi Numerical distortion in DDS
due to AQ (amplitude quantizing) and PT (phase truncation) Xilinx LogiCore - DDS V2.0 , an FPGA example
Product spec: c_dds_v2_0.pdf (Nov. 3, 2000);
V3.0 (c_dds_v3_0.pdf, March 2, 2001), 
V3.1 (dds.pdf - May 11, 2001 ),
V4.0 (dds.pdf - Oct. 4, 2001 ),
V4.1 (dds.pdf - March 25, 2002)
V4.2 (dds.pdf - March 28, 2003)
new: V5.0 (dds.pdf - May 21, 2004; April 28, 2005) product link
* Contains all .mcd of the above (120 KB) Contains all .avi of the above (160 KB)

(1) If you are using a Web browser to access these files, links will take you to the ASCII readout of  Mathcad files ( .mcd) unless you have configured your browser to use Mathcad as a viewer/helper application.
(2)  Mathematica   imports Mathcad worksheets (the converter will work for all versions of Mathematica 3 or later, it can be downloaded free of charge).

Date: Feb/2001

questions or comments  e-mail: