Realtime
Digital Signal Processing Using GPU
CMPUT
605
(Winter
2018)
Instructor: Pierre Boulanger
Tel: 7804923031
Email: pierreb@cs.ualberta.ca
URL: www.cs.ualberta.ca/~pierreb
Office: 411 Athabasca Hall
Office hours: By appointment only.
Lectures:
Every Monday 10h00 to 12h00 in Room ATH 411
Course Description
This class addresses the representation, analysis, and
design of discrete time signals and systems. The major concepts covered
include: discretetime processing of continuoustime signals; decimation,
interpolation, and sampling rate conversion; flowgraph structures for DT
systems; timeand frequencydomain design techniques for recursive (IIR) and
nonrecursive (FIR) filters; linear prediction; discrete Fourier transform, FFT
algorithm; shorttime Fourier analysis and filter banks; multivariate techniques;
Wavelet Transform; Cepstral analysis, Wiener and Kalman Filters, and various
applications. We will also discuss and analyze the GPU implementations of many
of these algorithms.
Purpose
To
introduce Computer Scientists to advanced signal processing theory that can be
applied to various projects involving multidimensional datasets. The emphasis
is based on stochastic view of multidimensional signals and how to extract
useful and reliable information from those signals using GPU.
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. Some parts of the homework will involve CUDA programming.
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.
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.
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:
ACTIVITIES 
Weight 
Final Project 
60% 
Problem Sets 
40% 
LECTURE # 
TOPICS 
Extras 
Jan. 19 

Jan. 26 
. 

Feb. 2 

Feb. 9 
. 

Feb. 16 

Feb. 23 
Winter
Reading Week 

Mar. 2 
Image
Compression Using GPU 

Mar. 9 
No
class 

Mar. 16 

Apr. 3 

Apr. 6 

Apr. 13 

Apr. 20 
Project Presentation Final report due Apr. 20 
Send report to pierreb@ualberta.ca 
Extra Material
for the Course
o B. Champagne and F. Lebeau, Discrete Time Signal Processing, Course note of ECSE412, Winter 2004
o Signal Processing on a Graphics Card
o GPU VSIPL is an implementation of Vector Signal Image Processing Library that targets Graphics Processing Units (GPUs) supporting NVIDIA CUDA platform
o GeneralPurpose Computation on Graphics Hardware
o Talks from NVIDIA GTC conference