Department of Computer Science and Technology

Masters

Course pages 2022–23

# Digital Signal Processing

Principal lecturer: Dr Markus Kuhn
Taken by: MPhil ACS, Part III
Code: L314
Term: Michaelmas
Hours: 16
Format: In-person lectures
Class limit: max. 8 students
Prerequisites: basic linear algebra
Moodle, timetable

## Aims

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 MATLAB, NumPy or Julia).

## Lectures

• 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.

## Objectives

• 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

## Assessment - Part II students

• Three homework programming assignments, each comprising 20% of the mark
• Written take-home assignment, comprising 40% of the total mark.

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.

## Practicals

All the practical components are programming exercises. If students are unable to be in Cambridge due to COVID-19 restrictions, students will need their own PC / laptop with an Internet connection capable of  downloading a couple of gigabytes of sample data from www.cl.cam.ac.uk

## Assessment - Part III and MPhil students

The weighting of each assignment may change

• Written test about part 1, comprising 20% of the total mark.
• Three homework programming exercises, each comprising 10% of the mark.
• Individual implementation project with 8-page written report, topic agreed with lecturer, comprising 50% of the mark.

## Further Information

Due to infectious respiratory diseases, the method of teaching for this module may be adjusted to cater for physical distancing and students who are working remotely. Unless otherwise advised, this module will be taught in person.

Current Cambridge undergraduate students who are continuing onto Part III or the MPhil in Advanced Computer Science may only take this module if they did NOT take it as a Unit of Assessment in Part II.

This module is shared with Part II of the Computer Science Tripos. Assessment will be adjusted for the two groups of students to be at an appropriate level for whichever course the student is enrolled on. Further information about assessment and practicals will follow at the first lecture.