Digital Signal Processing

By Steven W. Smith, Ph.D.

- 1: The Breadth and Depth of DSP
- 2: Statistics, Probability and Noise
- 3: ADC and DAC
- 4: DSP Software
- 5: Linear Systems
- 6: Convolution
- 7: Properties of Convolution
- 8: The Discrete Fourier Transform
- 9: Applications of the DFT
- 10: Fourier Transform Properties
- 11: Fourier Transform Pairs
- 12: The Fast Fourier Transform
- 13: Continuous Signal Processing
- 14: Introduction to Digital Filters
- 15: Moving Average Filters
- 16: Windowed-Sinc Filters
- 17: Custom Filters
- 18: FFT Convolution
- 19: Recursive Filters
- 20: Chebyshev Filters
- 21: Filter Comparison
- 22: Audio Processing
- 23: Image Formation & Display
- 24: Linear Image Processing
- 25: Special Imaging Techniques
- 26: Neural Networks (and more!)
- 27: Data Compression
- 28: Digital Signal Processors
- 29: Getting Started with DSPs
- 30: Complex Numbers
- 31: The Complex Fourier Transform
- 32: The Laplace Transform
- 33: The z-Transform
- 34: Explaining Benford's Law

Your laser printer will thank you!

DFT Basis Functions

The sine and cosine waves used in the DFT are commonly called the DFT basis functions. In other words, the output of the DFT is a set of numbers that
represent amplitudes. The basis functions are a set of sine and cosine waves
with *unity* amplitude. If you assign each amplitude (the frequency domain) to
the proper sine or cosine wave (the basis functions), the result is a set of *scaled*
sine and cosine waves that can be added to form the time domain signal.

The DFT basis functions are generated from the equations:

where: *c _{k}*[ ] is the cosine wave for the amplitude held in

Let's look at several of these basis functions in detail. Figure (a) shows the
cosine wave *c _{0}*[ ]. This is a cosine wave of zero frequency, which is a constant
value of one. This means that

Figures (c) & (d) show *c _{2}*[ ] &

The highest frequencies in the basis functions are shown in (g) and (h). These
are *c _{N/2}*[ ] &

Here's a puzzle: If there are *N* samples entering the DFT, and *N*+2 samples
exiting, where did the extra information come from? The answer: two of the
output samples contain *no* information, allowing the other *N* samples to be fully
independent. As you might have guessed, the points that carry no information
are *ImX*[0] and *ImX*[*N*/2], the samples that always have a value of zero.