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!
Requirements
Basic programming experience in MATLAB or Python
High-school math
Description
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!
Overview
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 CourseDown.com