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) 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 ...
see: https://linkiewicz.edu.pl/software/mathcad - mcexp802.exe
Downloadable *.mcd (ver. 8) files :
aquant2.mcd Spectra of quantized sinusoid in highly oversampled case, and some properties of the quantization error alias.mcd Two ways of computing the location of harmonic lines due to aliasing, and an example of "Nyquist voodoo" modieee.mcd 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 ]
inverse.mcd 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)
aquant3.mcd Tuning-dependence of AQ-spurs
a version for creating animation: aquant3A.mcd
Movie Clip: AQspurs.avi
pwheel.mcd Vizualization of the phase wheel (and the phase approximation error)
a version for creating animation: pwheelA.mcd
Movie Clip: pACC.avi (790 KB)
param.mcd Basic parameters of NCO and numerical periodicity of errors ptrunc.mcd Illustration of numerical distortions (spurious components) due to phase truncation (PT): overlapped modulation structure. ptrunc2.mcd Scrambled versions of PT-spurs
a version for creating animation: ptrunc2A.mcd
Movie Clip: PTperm.avi (1.5 MB)
ptrunc3.mcd Tuning-dependence of PT-spurs
a version for creating animation: ptrunc3A.mcd
Movie Clip: PTspurs.avi
nco.mcd Numerical distortion in DDS
due to AQ (amplitude quantizing) and PT (phase truncation)
xilinx2.mcd 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
allMCD.zip Contains all .mcd of the above (120 KB) allAVI.zip 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: email@example.com