Advanced Signal Processing for Computer Scientists



General Information

Instructor: Pierre Boulanger
Tel: 780-492-3031

Office: 411 Athabasca Hall
Office hours: By appointment only.

Teaching Assistants:  No teaching assistant

Lectures: Thursday 14:10 to 17:10 in CSC 349

Course Description

This class addresses the representation, analysis, and design of discrete time signals and systems. The major concepts covered include: discrete-time processing of continuous-time signals; decimation, interpolation, and sampling rate conversion; flow-graph structures for DT systems; time-and frequency-domain design techniques for recursive (IIR) and non-recursive (FIR) filters; linear prediction; discrete Fourier transform, FFT algorithm; short-time Fourier analysis and filter banks; Wavelet Transform; Wiener and Kalman Filters,á and various applications. This course qualifies as a breadth requirement in theory.


To introduce Computer Scientists to advanced signal processing theory that can be applied to various projects involving multi-dimensional datasets. The emphasis is based on stochastic view of multi-dimensional signals and how to extract useful and reliable information from those signals.


Basic statistical analysis is preferred. It is also assumed that you already have some familiarity with MATLAB«.


Homework will generally be handed out in lecture and be due in lecture on the following week. Some parts of the homework may involve MATLAB exercises.

There will be approximately 5 problem sets. Don't be misled by the relatively few points assigned to homework grades in the final grade calculation. While the grade that you get on your homework is at most a minor component of your final grade, working the problems is a crucial part of the learning process and will invariably have a major impact on your understanding of the material.

MATLAB-Based Project and Exercises

One of the best ways of learning much of the material in this course is by exploring many of the concepts with MATLAB. In addition to traditional homework problems, this subject will have a computer exercise component based on the MATLAB software package provided by AICT. MATLAB is widely used in academic and industrial research laboratories in general, and is well-suited for work in signal processing in particular. Many of you may probably have some experience with MATLAB in undergraduate courses. For those of you who haven't, though, you'll find that among the many attractive features of MATLAB are its ease of use and very short learning curve.

You can buy MATLAB for students at the University of Alberta Bookstore for $125.00 CAN.

Course Project

There will be an individual semester project, culminating in a final 8 pages report in IEEE format and a presentation at a day workshop. Progress and check points before the final due date will count toward the final grade.


Course Grade

The final grade for the course is based on our best assessment of your understanding of the material, as well as your commitment and participation. The MATLAB project, problem sets, and Final projects are combined to give a final grade:




Final Project


Problem Sets


MATLAB« Project(s)



Lecture Notes


Course calendar.




September 15

Course Overview


September 23

Discrete-Time Signals and Systems

Assign 1 Out

Read Chapter 1 and 2

September 30

Continuous Fourier Analysis

Assign 1 In

Assign 2 Out

Read Chapter 3

October 7

The z-Transform (ZT)

Assign 2 In

Assign 3 Out

Read Chapter 4 and 5

October 14-I

Signal Sampling

Read Chapter 7

October 21-I

Signal Quantization

Assign 3 In

Project abstract due today

Read Chapter 10

October 21-II

IIR, FIR Filter Structures (z-transform viewpoint)

Read Chapter 8

October 28-I

Filter Design: IIR Filters

Read Chapter 9

Assign 4 Out

October 28-II

Filter Design: FIR Filters


November 4

Stochastic Model of Signal


November 11



November 18-I

The Discrete Fourier Transform (DFT)

Read Chapter 6

November 18-II

Spectral Analysis Using DFT

Read Chapter 14

November 18-III

FFT Algorithms

Read Chapter 11

Assign 4 In

November 25-I

Wavelet Transforms


November 25-II

Wiener Filter


December 2

Linear Predictive Filters


December 9-I

LMS Filters


December 9-II

Kalman Filter


December 10

Projects presentation

Send ppt slides to

December 18

Final Project Report

Send report to


Extra Material for the Course


ě  B. Champagne and F. Lebeau, Discrete Time Signal Processing, Course note of ECSE-412, Winter 2004

ě  MATLAB Primer

ě  MATLAB Tutorials