DSP

Digital Signal Processing (DSP)

Reference Books

Steven W. Smith
The Scientist and Engineer's Guide to Digital Signal Processing
(Free online access)

Richard G. Lyons
Understanding Digital Signal Processing”, 3rd Edition
Prentice Hall, 2011

Course Goals

  • Develop Convolution Kernel algorithms in Python
  • Design and develop different window filters in Python
  • Develop the Discrete Fourier Transform (DFT) algorithm in Python
  • Design and develop Type I and II Chebyshev filters in Python
  • Develop the Inverse Discrete Fourier Transform (IDFT) algorithm in Pyhton
  • Develop the Fast Fourier Transform (FFT) algorithm in Python
  • Perform spectral analysis on ECG signals in Python
  • Design and develop Finite Impulse Response (FIR) filters in Python
  • Design and develop Infinite Impulse Response (IIR) filters in Python
  • Design and develop Butterworth filters in Python
  • Design and develop Match filters in Python
  • Design and develop Bessel filters in Python
  • Simulate Linear Time Invariant (LTI) Systems in Python
  • Perform linear and cubic interpolation in Python

Course Modules

mysignals.py

IIR Filters (Chapter 19 & Chapter 20)

  • DSP with STM32F4 Discovery Board and PmodI2S2 Audio Board
    • FIR Filter (Designed with ASN Filter Designer)
    • IIR Filter (RC Low Pass Example)
    • Effects (Reverb Example)
  • PmodI2S2 Audio Board Shield for STM32F4 Discovery Board
  • FIRs and IIRs with Octave
  • Add external buttons to interact with the filters done with STM32F4

Lectures (Zoom)

Week 1 - Module 0 and 1
Week 2 - Module 2
Week 3 - Module 3 Part 1
Week 4 - Module 3 Part 2
Week 5 - DSP with STM32F4
Week 6 - PCB Design
Week 8 - DSP with Octave
Week 9 - Extra DSP with STM32F4


Support Videos

  • Understanding the Z-Transform (Link)
  • Understanding Power Spectral Density and the Power Spectrum (Link)
  • Understanding the Discrete Fourier Transform and the FFT (Link)

Support Modules