Real-time
Digital Signal Processing Using GPU
CMPUT
605
(Winter
2018)
Instructor: Pierre Boulanger
Tel: 780-492-3031
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: 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. 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 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 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 ECSE-412, 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 General-Purpose Computation on Graphics Hardware
o Talks from NVIDIA GTC conference