Skip to content

TUIlmenauAMS/MRSP_Tutorials

Repository files navigation

Multirate Signal Processing Notebooks and Tutorials

Prof. Dr. -Ing. Gerald Schuller
Jupyter Notebooks and Videos: Renato Profeta

Applied Media Systems Group
Technische Universität Ilmenau

Content

  • 01 Introduction: NBViewerBinderGoogle ColabYoutube

    • What is Multirate Signal Processing? Where is it used?
    • Python Example of a Discrete Time Signal
    • Python Example for a Live Plot of a Microphone Signal
    • Javascript Example for a Live Plot of a Microphone Signal
    • Nyquist Theorem
    • Simple Sample Rate Conversion Example
    • Basic Building Blocks of Multirate Signal Processing
    • Critical Sampling
    • Analysis Filter Bank
    • Synthesis Filter Bank
  • 02 Multiresolution: NBViewerBinderGoogle ColabYoutube

    • Uniform Filter Banks
    • Python Example: Live Spectrogram and Aliasing
    • Non-Uniform Frequency Decomposition
    • Frequency Domain and Notation
    • Common Types of Frequency Transforms:
      • Discrete Time Fourier Transform (DTFT)
      • Discrete Fourier Transform (DFT)
      • Discrete Cosine Transform (DCT)
      • z-Transform
      • Short-Time Fourier Transform (STFT)
  • 03 Frequency Response: NBViewerBinderGoogle ColabYoutube

    • Frequency Response
    • Example: Obtaining the Frequency Response of a "Black Box" system using Noise
    • Example: Obtaining the Frequency Response of a "Black Box" system using Sweeping Sinusoid
    • Frequency Response: z-Transform and the DTFT
      • Example: Low Pass Filter as Moving Average
        • Discrete Convolution as Matrix Multiplication (Sylvester Matrix)
        • Plotting Poles and Zeros in the Complex Plane
        • Complex Conjugate Symmetry
    • dB Revision
      • dB for Voltage and Power
      • Cascading Filters
  • 04 Filters: NBViewerBinderGoogle ColabYoutube

    • Ideal Low Pass Filter
      • Frequency Response
      • Impulse Response
    • Delay (Shift Operator)
  • 05 Filters and Windows: NBViewerBinderGoogle ColabYoutube

    • Ideal Low Pass Filter
      • Quadratic Error
      • Parseval Theorem
    • Rectangular Window
    • Approximation of an Ideal Low Pass Filter using a Rectangular Window and Delay
  • 06a Windows: NBViewerBinderGoogle ColabYoutube

    • Rectangular Window
    • Raised Cosine Window
    • Kaiser Window
    • Vorbis Specification
  • 06b Filter Design with the Window Method: NBViewerBinderGoogle ColabYoutube

    • Design Method
    • Design using Modulation
  • 07 Sampling: NBViewerBinderGoogle ColabYoutube

    • Sampling a Discrete Time Signal
    • Real-Time Python Example
    • Downsampling
    • Upsampling
  • 08 Effects in the z-Domain: NBViewerBinderGoogle ColabYoutube

    • Modulation
    • Time-Reversal
  • 09 Non-Ideal Filters: NBViewerBinderGoogle ColabYoutube

    • Filter Banks
    • Analysis Filter Bank
    • Block Transforms
    • Python Example
    • Fast Implementation
  • 10 Transforms as Filter Banks: NBViewerBinderGoogle ColabYoutube

    • Equivalent Analysis Filters of a DFT
    • Equivalent Synthesis Filter Bank
    • Python Example
    • Example Transform as Filter Bank
  • 11 DCT and Polyphase Representation: NBViewerBinderGoogle ColabYoutube

    • Notation
    • Discrete Cosine Transfomr (DCT)
    • Introduction to Polyphase Representation
    • Analysis Filter Bank
    • Python Polyphase Example
      • Faster Implementation
    • Application Example
    • Auxiliary Functions
  • 12 Polyphase Representation: NBViewerBinderGoogle ColabYoutube

    • Polyphase Representation
    • Synthesis filter Bank
    • Perfect Reconstruction
  • 13 MDCT: NBViewerBinderGoogle ColabYoutube

    • Modified Discrete Cosine Transform (MDCT)
    • MDCT Filters: Python Example
    • Symmetries of a Cosine Modulation Function
    • Sparse Matrices and the MDCT
      • Python Computation
    • The Delay Matrix
      • Python Sympy Example
      • Faster Numerical Python Implementation
    • The Python Folding Matrix Function
    • The Factorization
    • Perfect Reconstruction
      • Example in Python
    • MDCT Python Implementation, Analysis
    • MDCT Synthesis Filter Bank
  • 14 LDFB: NBViewerBinderGoogle ColabYoutube

    • Low Delay Filter Banks (LDFB)
    • Zero-Delay Matrix
    • Maximum-Delay Matrix
    • Python Fast Implementation Example
  • 15 Optimization of Filter Banks: NBViewerBinderGoogle ColabYoutube

    • Goal
    • Approach
    • Newton's Method
    • Gradient Descent
    • Python Example for the Optimization of an MDCT Filter Bank
  • 16 Artificial Neural Networks: NBViewerBinderGoogle ColabYoutube

    • Artificial Neural Networks
    • Gradient Descent and Back-Propagation
    • Python Example for the MNIST Digit Recognition
    • Convolution Neural Networks
    • Python Keras Convolutional Neural Network Example
    • Implementation using Python Pytorch
    • Implementation using a Dense Net
    • Real-Time Online-Implementation of Convolutional Neural Networks
  • 16b Pytorch MNIST Digit Recognition with Webcam: Google Colab

    • Train the Pytorch Version of the MNIST handwitten digit recognizer
    • Capture a handwritten digit using the webcam
    • Try to recognize it with the recognizer, using suitable pre-processing to obtain the same format as the MNIST digit images.

YouTube Playlist

Youtube

Requirements

Please check the following files at the 'binder' folder:

  • environment.yml
  • postBuild

Note

Examples requiring a microphone will not work on remote environments such as Binder and Google Colab.

About

Multirate Signal Processing Tutorials

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published