skip to primary navigationskip to content

Department of Computer Science and Technology



Course pages 2023–24

Digital Signal Processing

Principal lecturer: Dr Markus Kuhn
Taken by: Part II CST
Code: DSP
Term: Michaelmas
Hours: 16
Format: In-person lectures
Prerequisites: Mathematical Methods I and III from the NST Mathematics course (or equivalent), LaTeX and Julia (recommended)
Moodle, timetable


This course teaches the basic signal-processing principles necessary to understand many modern high-tech systems, with application examples focussing on audio processing, image coding, communication systems and software-defined radio. Students will gain practical experience from numerical experiments in programming assignments (in Julia, MATLAB or NumPy).


  • Signals and systems. Discrete sequences and systems: types and properties. Amplitude, phase, frequency, modulation, decibels, root-mean square. Linear time-invariant systems, convolution. Some examples from electronics, optics and acoustics.
  • Phasors. Eigen functions of linear time-invariant systems. Review of complex arithmetic. Phasors as orthogonal base functions.
  • Fourier transform. Forms and properties of the Fourier transform. Convolution theorem. Rect and sinc.
  • Dirac’s delta function. Fourier representation of sine waves, impulse combs in the time and frequency domain. Amplitude-modulation in the frequency domain.
  • Discrete sequences and spectra. Sampling of continuous signals, periodic signals, aliasing, interpolation, sampling and reconstruction, sample-rate conversion, oversampling, spectral inversion.
  • Discrete Fourier transform. Continuous versus discrete Fourier transform, symmetry, linearity, FFT, real-valued FFT, FFT-based convolution, zero padding, FFT-based resampling, deconvolution exercise.
  • Spectral estimation. Short-time Fourier transform, leakage and scalloping phenomena, windowing, zero padding. Audio and voice examples. DTFM exercise.
  • 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.
  • Infinite impulse-response filters. Sequences as polynomials, z-transform, zeros and poles, some analog IIR design techniques (Butterworth, Chebyshev I/II, elliptic filters, second-order cascade form).
  • Band-pass signals. Band-pass sampling and reconstruction, IQ up and down conversion, superheterodyne receivers, software-defined radio front-ends, IQ representation of AM and FM signals and their demodulation.
  • Digital communication. Pulse-amplitude modulation. Matched-filter detector. Pulse shapes, inter-symbol interference, equalization. IQ representation of ASK, BSK, PSK, QAM and FSK signals. [2 hours]
  • Random sequences and noise. Random variables, stationary and ergodic processes, autocorrelation, cross-correlation, deterministic cross-correlation sequences, filtered random sequences, white noise, periodic averaging.
  • Correlation coding. Entropy, delta coding, linear prediction, dependence versus correlation, random vectors, 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.
  • Lossy versus lossless compression. What information is discarded by human senses and can be eliminated by encoders? Perceptual scales, audio masking, spatial resolution, colour coordinates, some demonstration experiments.
  • Quantization, image coding standards. Uniform and logarithmic quantization, A/µ-law coding, dithering, JPEG.


  • 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;
  • familiarity with a number of signal-processing concepts used in digital communication systems

Recommended reading

Lyons, R.G. (2010). Understanding digital signal processing. Prentice Hall (3rd ed.).
Oppenheim, A.V. and Schafer, R.W. (2007). Discrete-time digital signal processing. Prentice Hall (3rd ed.).
Stein, J. (2000). Digital signal processing – a computer science perspective. Wiley.

Class size

This module can accommodate a maximum of 24 students (16 Part II students and 8 MPhil students)

Assessment - Part II students

  • Three homework programming assignments, each comprising 20% of the mark
  • Written test, comprising 40% of the total mark.