CTEC1631 Digital Signal Processing

Last modified:  Wed Sep 15 22:05:30 EDT 2010

Course Description

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.

Textbook

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

Overview

After successfully completing this course the student will be able to do the following:

  1. Describe the process of sampling, and quantization of an analog signal.

  2. Explain the effects of signal sampling, including resolution, error rates, aliasing, and the Nyquist limit.

  3. Describe the operation of various types of ADCs and DACs.

  4. Write programs which utilize standard file formats (e.g. WAV files) for storage of digital samples.

  5. Understand the properties of convolution and write programs in C/C++ which convolve signals to effect various types of digital filters.

  6. 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.

  7. 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.

  8. Describe digital signal processor architecture including multipliers, accumulators, and barrel shifters. Relate how such architecture reduces computation time over a 'traditional' microprocessor.

  9. 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.

Unit 1: Analog Signals

  1. Explain the basics of sampling including resolution, and sampling frequency and explain constraints based on sampling theorems (e.g. Nyquist limit).

  2. Describe the operation of Analog-to-Digital Converter (ADC) and Digital-to-Analog Converter (DAC) devices.

  3. Use common file formats (e.g. WAV files) to store digital samples.

  4. Write programs in C to generate waveforms.

Unit 2: Signal Analysis

  1. Explain and relate time domain response and frequency domain response.

  2. Describe the Fourier series and the Fourier transform.

  3. Compute the Fast Fourier Transform (FFT) for a given signal.

Unit 3: Discrete Time Filter Design

  1. Apply convolution techniques in both Finite Impulse Response (FIR) and Infinite Impulse Response (IIR) filter designs.

  2. Transform filter design algorithms into code, in both assembly language and C.

  3. Compute the filter coefficients required for various digital filters.

  4. Explain the relationship between the Laplace Transform, Fourier Transform, and z-Transform.

Unit 4: Real-Time Digital Signal Processing Applications

  1. Describe DSP processor and system architecture.

  2. Describe and use (in an assembly-language program) DSP instructions such as MAC, MPY, and barrel-shifting.

  3. Program basic DSP applications (e.g. filters) on a DSP processor using assembly language.

  4. 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