Computer Laboratory

Course pages 2016–17


Digital Signal Processing

Lecturer: Dr M.G. Kuhn

No. of lectures: 12

Suggested hours of supervisions: 3

Prerequisite courses: Mathematical Methods I-III, Mathematical Methods for Computer Science, LaTeX and MATLAB.


This course teaches the basic signal-processing principles necessary to understand many modern high-tech systems, with digital-communications examples. Students will gain practical experience from numerical experiments in MATLAB-based programming assignments.


  • Signals and systems. Discrete sequences and systems, their types and properties. Linear time-invariant systems, convolution.

  • Phasors. Eigen functions of linear time-invariant systems. Review of complex arithmetic. Some examples from electronics, optics and acoustics.

  • Fourier transform. Phasors as orthogonal base functions. Forms and properties of the Fourier transform. Convolution theorem.

  • Dirac’s delta function. Fourier representation of sine waves, impulse combs in the time and frequency domain.

  • Discrete sequences and spectra. Periodic sampling of continuous signals, periodic signals, aliasing, interpolation, sampling and reconstruction of low-pass and band-pass signals, spectral inversion.

  • Digital modulation. IQ representation of band-pass signals, in particular AM, FM, PSK, and QAM signals.

  • Discrete Fourier transform. Continuous versus discrete Fourier transform, symmetry, linearity, review of the FFT, real-valued FFT.

  • Spectral estimation. Short-time Fourier transform, leakage and scalloping phenomena, windowing, zero padding.

  • Finite impulse-response filters. Properties of filters, implementation forms, window-based FIR design, use of frequency-inversion to obtain high-pass filters, use of modulation to obtain band-pass filters, FFT-based convolution.

  • Infinite impulse-response filters. Sequences as polynomials, z-transform, zeros and poles, some analog IIR design techniques (Butterworth, Chebyshev I/II, elliptic filters).

  • Random sequences and noise. Random variables, stationary processes, autocorrelation, crosscorrelation, deterministic crosscorrelation sequences, filtered random sequences, white noise, exponential averaging.

  • Correlation coding. Random vectors, dependence versus correlation, covariance, decorrelation, matrix diagonalization, eigen decomposition, Karhunen-Loève transform, principal component analysis. Relation to orthogonal transform coding using fixed basis vectors, such as DCT.


By the end of the course students should be able to

  • apply basic properties of time-invariant linear systems;

  • understand sampling, aliasing, convolution, filtering, the pitfalls of spectral estimation;

  • explain the above in time and frequency domain representations;

  • use filter-design software;

  • visualize and discuss digital filters in the z-domain;

  • use the FFT for convolution, deconvolution, filtering;

  • implement, apply and evaluate simple DSP applications in MATLAB;

  • apply transforms that reduce correlation between several signal sources;

  • explain the basic principles of some widely-used modulation and image-coding techniques.

Recommended reading

* Lyons, R.G. (2010). Understanding digital signal processing. Prentice Hall (3rd ed.).
Oppenheim, A.V. & Schafer, R.W. (2007). Discrete-time digital signal processing. Prentice Hall (3rd ed.).