Signal processing problems solved in MATLAB and in Python

Applications-oriented instruction on signal processing and digital signal processing (DSP) using MATLAB and Python codes
Signal processing problems solved in MATLAB and in Python
File Size :
4.17 GB
Total length :
12h 33m



Mike X Cohen


Last update

Last updated 11/2022



Signal processing problems solved in MATLAB and in Python

What you’ll learn

Understand commonly used signal processing tools
Design, evaluate, and apply digital filters
Clean and denoise data
Know what to look for when something isn’t right with the data or the code
Improve MATLAB or Python programming skills
Know how to generate test signals for signal processing methods
*Fully manually corrected English captions!

Signal processing problems solved in MATLAB and in Python


Basic programming experience in MATLAB or Python
High-school math


Why you need to learn digital signal processing.Nature is mysterious, beautiful, and complex. Trying to understand nature is deeply rewarding, but also deeply challenging. One of the big challenges in studying nature is data analysis. Nature likes to mix many sources of signals and many sources of noise into the same recordings, and this makes your job difficult.Therefore, one of the most important goals of time series analysis and signal processing is to denoise: to separate the signals and noises that are mixed into the same data channels.The big idea of DSP (digital signal processing) is to discover the mysteries that are hidden inside time series data, and this course will teach you the most commonly used discovery strategies. What’s special about this course?The main focus of this course is on implementing signal processing techniques in MATLAB and in Python. Some theory and equations are shown, but I’m guessing you are reading this because you want to implement DSP techniques on real signals, not just brush up on abstract theory.The course comes with over 10,000 lines of MATLAB and Python code, plus sample data sets, which you can use to learn from and to adapt to your own coursework or applications.In this course, you will also learn how to simulate signals in order to test and learn more about your signal processing and analysis methods.You will also learn how to work with noisy or corrupted signals.Are there prerequisites?You need some programming experience. I go through the videos in MATLAB, and you can also follow along using Octave (a free, cross-platform program that emulates MATLAB). I provide corresponding Python code if you prefer Python. You can use any other language, but you would need to do the translation yourself.I recommend taking my Fourier Transform course before or alongside this course. However, this is not a requirement, and you can succeed in this course without taking the Fourier transform course.What should you do now?Watch the sample videos, and check out the reviews of my other courses — many of them are “best-seller” or “top-rated” and have lots of positive reviews. If you are unsure whether this course is right for you, then feel free to send me a message. I hope you to see you in class!


Section 1: Introductions

Lecture 1 Signal processing = decision-making + tools

Lecture 2 Using MATLAB in this course

Lecture 3 Using Octave-online in this course

Lecture 4 Using Python in this course

Lecture 5 Having fun with filtered Glass dance

Lecture 6 Writing code vs. using toolboxes/programs

Lecture 7 Using Udemy like a pro

Section 2: Time series denoising

Lecture 8 MATLAB and Python code for this section

Lecture 9 Mean-smooth a time series

Lecture 10 Gaussian-smooth a time series

Lecture 11 Gaussian-smooth a spike time series

Lecture 12 Denoising EMG signals via TKEO

Lecture 13 Median filter to remove spike noise

Lecture 14 Remove linear trend (detrending)

Lecture 15 Remove nonlinear trend with polynomials

Lecture 16 Averaging multiple repetitions (time-synchronous averaging)

Lecture 17 Remove artifact via least-squares template-matching

Lecture 18 Code challenge: Denoise these signals!

Section 3: Spectral and rhythmicity analyses

Lecture 19 MATLAB and Python code for this section

Lecture 20 Crash course on the Fourier transform

Lecture 21 Fourier transform for spectral analyses

Lecture 22 Welch’s method and windowing

Lecture 23 Spectrogram of birdsong

Lecture 24 Code challenge: Compute a spectrogram!

Section 4: Working with complex numbers

Lecture 25 MATLAB and Python code for this section

Lecture 26 From the number line to the complex number plane

Lecture 27 Addition and subtraction with complex numbers

Lecture 28 Multiplication with complex numbers

Lecture 29 The complex conjugate

Lecture 30 Division with complex numbers

Lecture 31 Magnitude and phase of complex numbers

Section 5: Filtering

Lecture 32 MATLAB and Python code for this section

Lecture 33 Filtering: Intuition, goals, and types

Lecture 34 FIR filters with firls

Lecture 35 FIR filters with fir1

Lecture 36 IIR Butterworth filters

Lecture 37 Causal and zero-phase-shift filters

Lecture 38 Avoid edge effects with reflection

Lecture 39 Data length and filter kernel length

Lecture 40 Low-pass filters

Lecture 41 Windowed-sinc filters

Lecture 42 High-pass filters

Lecture 43 Narrow-band filters

Lecture 44 Two-stage wide-band filter

Lecture 45 Quantifying roll-off characteristics

Lecture 46 Remove electrical line noise and its harmonics

Lecture 47 Use filtering to separate birds in a recording

Lecture 48 Code challenge: Filter these signals!

Section 6: Convolution

Lecture 49 MATLAB and Python code for this section

Lecture 50 Time-domain convolution

Lecture 51 Convolution in MATLAB

Lecture 52 Why is the kernel flipped backwards?!?!!?

Lecture 53 The convolution theorem

Lecture 54 Thinking about convolution as spectral multiplication

Lecture 55 Convolution with time-domain Gaussian (smoothing filter)

Lecture 56 Convolution with frequency-domain Gaussian (narrowband filter)

Lecture 57 Convolution with frequency-domain Planck taper (bandpass filter)

Lecture 58 Code challenge: Create a frequency-domain mean-smoothing filter

Section 7: Wavelet analysis

Lecture 59 MATLAB and Python code for this section

Lecture 60 What are wavelets?

Lecture 61 Convolution with wavelets

Lecture 62 Scientific publication about defining Morlet wavelets

Lecture 63 Wavelet convolution for narrowband filtering

Lecture 64 Overview: Time-frequency analysis with complex wavelets

Lecture 65 Link to youtube channel with 3 hours of relevant material

Lecture 66 MATLAB: Time-frequency analysis with complex wavelets

Lecture 67 Time-frequency analysis of brain signals

Lecture 68 Code challenge: Compare wavelet convolution and FIR filter!

Section 8: Resampling, interpolating, extrapolating

Lecture 69 MATLAB and Python code for this section

Lecture 70 Upsampling

Lecture 71 Downsampling

Lecture 72 Strategies for multirate signals

Lecture 73 Interpolation

Lecture 74 Resample irregularly sampled data

Lecture 75 Extrapolation

Lecture 76 Spectral interpolation

Lecture 77 Dynamic time warping

Lecture 78 Code challenge: denoise and downsample this signal!

Section 9: Outlier detection

Lecture 79 MATLAB and Python code for this section

Lecture 80 Outliers via standard deviation threshold

Lecture 81 Outliers via local threshold exceedance

Lecture 82 Outlier time windows via sliding RMS

Lecture 83 Code challenge

Section 10: Feature detection

Lecture 84 MATLAB and Python code for this section

Lecture 85 Local maxima and minima

Lecture 86 Recover signal from noise amplitude

Lecture 87 Wavelet convolution for feature extraction

Lecture 88 Area under the curve

Lecture 89 Application: Detect muscle movements from EMG recordings

Lecture 90 Full width at half-maximum

Lecture 91 Code challenge: find the features!

Section 11: Variability

Lecture 92 MATLAB and Python code for this section

Lecture 93 Total and windowed variance and RMS

Lecture 94 Signal-to-noise ratio (SNR)

Lecture 95 Coefficient of variation (CV)

Lecture 96 Entropy

Lecture 97 Code challenge

Section 12: Bonus section

Lecture 98 Bonus lecture

Students in a signal processing or digital signal processing (DSP) course,Scientific or industry researchers who analyze data,Developers who work with time series data,Someone who wants to refresh their knowledge about filtering,Engineers who learned the math of DSP and want to learn about implementations in software

Course Information:

Udemy | English | 12h 33m | 4.17 GB
Created by: Mike X Cohen

You Can See More Courses in the Developer >> Greetings from

New Courses

Scroll to Top