Biomedical Digital Signal Processing


(Summer 2018)


General Information

Instructor: Pierre Boulanger
Tel: 780-492-3031

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

Lectures: Every Friday 14h00 to 15h00 in Room ATH 411


Course Description

This class addresses the representation, processing, and analysis of biomedical discrete time signals like ECG, EEG, etc. The major concepts covered include: biological basis of biomedical signals, discrete-time processing of continuous-time signals; decimation, interpolation, and sampling rate conversion, 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, Convolutional Neural Networks (CNN), Recurrent Neural Networks (RNN), and various applications.



To introduce Computer Scientists to advanced biomedical 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 C Language.



Homework will generally be handed out in lecture and be due in lecture on the following week.

There will be approximately 4 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.


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 problem sets and final projects are combined to give a final grade:




Final Project


Problem Sets



Lecture Notes


Course calendar.




Week 1

Course Overview

Read Clifford Chapter 1

Week 2

Discrete-Time Signals and Systems

Physiological Origin of Biomedical Signals

Week 3

Analysis of ECG Signals


Read Clifford Chapter 2


Read Clifford Chapter 3

Read Clifford Chapter 5

Assignment 1

Week 4

Discrete Fourier Analysis


Week 5


Assignment 2

Week 6

Wavelet Transform


Extra notes on Wavelet

Week 7

Infinite and Finite Impulse Filter

Digital Filter Design

Week 8

QRS Detection

QT Dispersion Algorithm

Heart Rate Variability

Assignment 3

Week 9

Wiener Filters

Kalman Filters

More on Wiener Filter

Assignment 4

Week 10

Adaptive Filters Introduction

Week 11

Convolutional Neural Net

Understanding How CNN Works

CNN for ECG Analysis

Adaptive Filtering and Neural Net

Week 12

Recurrent Neural Networks

RNN for ECG Analysis


Week 13

Particle Filters

Week 14

Project Presentation and

Final Report

Send report to


Extra Material for the Course


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

o   MATLAB Primer

o   MATLAB Tutorials