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:  Idanis Diaz and Amir Sharifi

Lectures: Every Friday 13h00 to 15h50 in Room CSC B-43

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; multivariate techniques; Wavelet Transform; Cepstral analysis, Wiener and Kalman Filters, and various applications.


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 AICT services 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 6

Course Overview

Discrete-Time Signals and Systems

Assign 1 Out

Read Chapter 1 and 2

September 13

Continuous Fourier Analysis

The z-Transform (ZT)

Assign 1 In

Assign 2 Out

Read Chapter 3

September 20

Signal Sampling

Signal Quantization

Assign 2 In

Assign 3 Out

Read Chapter 4 and 5

September 27

IIR, FIR Filter Structures (z-transform viewpoint)

Read Chapter 7

October 4

Filter Design: IIR Filters

Assign 3 In

Project abstract due today

Read Chapter 10

October 11

Filter Design: FIR Filters

Read Chapter 8

October 18

Stochastic Model of Signal

Wiener Filter

Read Chapter 9

Assign 4 Out

October 25

The Discrete Fourier Transform (DFT)


Spectral Analysis Using DFT


FFT Algorithms

Assign 4 In

November 1

Wavelet Transforms


November 8

Linear Predictive Filters

Speech Recognition

November 15

LMS Filters

Read Chapter 6

November 22

Kalman Filter

Read Chapter 14

November 29

Particle Filter


Read Chapter 11

December 6

Projects presentation

Send ppt slides to

December 18

Final Project Report

Send report to


Extra Material for the Course


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

2.    MATLAB Primer

3.    MATLAB Tutorials