# Fundamentals of Digital Signal Processing (DSP)

### Synopsis

Digital signal processing (DSP) is the backbone of numerous technological fields, such as wired and wireless communication, military and intelligence gathering, industrial process control, medical science, cryptography and transportation, just to name a few. DSP algorithms such as spectral analysis and Kalman filtering -- traditionally executed with specialised digital signal processors -- are now increasingly carried out with FPGAs for their greater processing capabilities, increased chip-level integration and lower power consumption. The move towards FPGAs also mean DSP algorithms are now "coded" in hardware description languages rather than assembly, C, or C++.This course concentrates on DSP theory, with a heavy emphasis on mathematical modelling. To ease understanding, simple practical exercises on a few key mathematical fundamentals of DSP systems will also be carried out.

### Course highlights

Participants will have practical design experience using mathematical modelling tools (e.g. Sage or Matlab).### What You Will Learn

This course concentrates on the theoretical and practical knowledge to allow participants to achieve the following learning outcomes. Upon completing the course, participants would be able to:- Understand the theory and mathematics behind signal processing systems.
- Model DSP systems using Sage or Matlab.

### Who Should Attend

This course is particularly suitable as an introductory-level course in digital signal processing (DSP) for engineers and scientists.### Prerequisites

Participants should have a diploma/degree in electronics (and related) engineering with an understanding of digital systems. Working knowledge on DSP theory is encouraged, but not required.### Course Methodology

This course is presented in a workshop style with example-led lectures interlaced with demonstrations and hands-on practical for maximum understanding.### Course Duration

Three (3) days, 0900 to 1700.### Course Structure

**Introduction**- Overview of digital signal processing.
- Discrete-time vs. continuous-time: Analogies and similarities.

**Applications of DSP**- Digital filtering and equalisation.
- Source coding: data compression, encryption, scrambling.
- Image/video processing, audio/speech processing.
- Digital communications systems.
- Digital control systems.

**DSP fundamentals**- Discrete-time (DT) vs. continuous-time (CT) systems and notations.
- Difference equations.
- Convolution sum: A widely-used concept for DSP designs.
- The unit impulse excitation and response for determining system characteristics.
- Concept of convolution.
- Similarities between the DT convolution sum and the CT convolution integral.
- Responses of systems to other standard impulse excitations.

- The Fourier series.
- Time-to-frequency transformations: the Laplace, Fourier, and
*z*transforms. - The Laplace transform.
- The Fourier transform.
- The discrete Fourier transform (DFT).
- The fast Fourier transform (FFT): a popular DFT algorithm.
**Hands-on Practical 1:**Modelling the FFT algorithm.

- The
*z*-transform. - Similarities between the DT
*z*-transform, and the CT transforms such as Laplace (*s*-domain) and Fourier transforms.

**Correlation, energy spectral density, power spectral density**- The correlation function.
- Autocorrelation.
- Cross correlation.
- Similarities and differences between correlation functions and convolution.
- Energy spectral density (ESD).
- Power spectral density (PSD).
- Relation of ESD and PSD to autocorrelation.

**Digital filter design techniques**- Revision of analogue (CT) filters: Butterworth, Chebyshev, and Bessel.
- Overview of digital filter design techniques: bilinear transform, matched
*z*-transform, impulse invariance, step invariance, difference equation approximation. - Infinite-impulse-response (IIR) versus finite-impulse-response (FIR) filters.

**Infinite impulse response filters**- Overview of infinite impulse response (IIR) filters.
- Bilinear transformation.
**Hands-on Practical 2:**Modelling a DT Butterworth IIR filter using the bilinear transformation.- Matched
*z*-transform. **Hands-on Practical 3:**Modelling a DT Chebyshev IIR filter using the matched*z*-transform.- Impulse-invariant and step-invariant design techniques.
**Hands-on Practical 4:**Modelling a DT Chebyshev IIR filter using the impulse-invariant technique.- Frequency transformation - high-pass, band-pass, band-stop.

**Finite impulse response filters**- Overview of finite impulse response (FIR) filters.
- Finite-duration impulse responses: truncation of infinite-duration impulse responses.
- A simple finite impulse response (FIR) filter: the averaging filter.
**Hands-on Practical 5:**Modelling an averaging filter.- FIR filter design: deriving filter coefficients from a given filter specification.
- Windowing method.
- Parks-McClellan method.

**Hands-on Practical 6:**Modelling of a parameterisable FIR filter.

**Adaptive equalisation/filtering**- Overview of estimation theory
- Maximum-likelihood (ML) estimators.
**Hands-on Practical 7:**Modelling an adaptive channel estimator using ML sequence detection.

- Adaptive linear equalisers
- Zero-forcing equaliser.
- Least-mean-square (LMS) equaliser: Mean-square-error minimisation.
- Wiener equaliser / filter.
**Hands-on Practical 8:**Modelling a Wiener equaliser.

- Adaptive decision-feedback equaliser (DFE).
**Hands-on Practical 9:**Modelling an adaptive DFE.- Recursive least-squares (RLS) algorithms for adaptive equalisation
- Kalman equaliser / filter (Kalman algorithm).
- Lattice filter (linear prediction algorithm).
**Hands-on Practical 10:**Modelling a Kalman equaliser.

- Blind equalisers.

- Overview of estimation theory
**[Optional]: Advanced topics.**- 2-D convolution.
- 2-D FIR: spatial filtering.
- Median filtering.
- 2-D DFT and 2-D FFT.