This course will study digital signal processing techniques from both a theoretical and practical perspective. You will gain hands-on experience in developing digital audio signal processing applications on both a PC (using the C++ language) and real-time processing using a DSP processor.
The Scientist and Engineer's Guide to Digital Signal Processing,
Second Edition,
by Stephen W. Smith, 1999, California Technical Publishing,
ISBN 0-9660176-4-1
The electronic edition ISBN 0-9660176-6-8 is available free at
http://www.dspguide.com
After successfully completing this course the student will be able to do the following:
Describe the process of sampling, and quantization of an analog signal.
Explain the effects of signal sampling, including resolution, error rates, aliasing, and the Nyquist limit.
Write programs which utilize standard file formats (e.g. WAV files) for storage of digital samples.
Understand the properties of convolution and write programs in C/C++ which convolve signals to effect various types of digital filters.
Describe the concept of the Fourier transform and apply Fourier transforms to discrete signals to convert signals from the time domain to the frequency domain.
Design and implement lowpass, highpass, bandpass and bandstop filters using IIR and FIR algorithms. As well, be able to compute coefficients required for these filters.
Describe digital signal processor architecture including multipliers, accumulators, and barrel shifters. Relate how such architecture reduces computation time over a 'traditional' microprocessor.
Interpret DSP algorithms and write assembly language programs for a DSP processor which utilizes DSP instructions such as MAC and MPY to perform real-time processing.
Explain the basics of sampling including resolution, and sampling frequency and explain constraints based on sampling theorems (e.g. Nyquist limit).
Describe the operation of Analog-to-Digital Converter (ADC) and Digital-to-Analog Converter (DAC) devices.
Use common file formats (e.g. WAV files) to store digital samples.
Write programs in C to generate waveforms.
Explain and relate time domain response and frequency domain response.
Describe the Fourier series and the Fourier transform.
Compute the Fast Fourier Transform (FFT) for a given signal.
Apply convolution techniques in both Finite Impulse Response (FIR) and Infinite Impulse Response (IIR) filter designs.
Transform filter design algorithms into code, in both assembly language and C.
Compute the filter coefficients required for various digital filters.
Explain the relationship between the Laplace Transform, Fourier Transform, and z-Transform.
Describe DSP processor and system architecture.
Describe and use (in an assembly-language program) DSP instructions such as MAC, MPY, and barrel-shifting.
Program basic DSP applications (e.g. filters) on a DSP processor using assembly language.
Design, implement, and test a digital audio signal processing application from start to finish.
Top of page | Overview | Unit 1 | Unit 2 | Unit 3 | Unit 4 | Back to CTEC1631