Skip to content

TUIlmenauAMS/MRSP_Tutorials

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

Contributors 3

  •  
  •  
  •