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.
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.
It's all in your head. Really.
If you have MATLAB available, that's the best way to follow this course.
Online Octave is also great.
Python is fine as well.
Have fun filtering beautiful music, and get excited for what you'll learn throughout the course!
Link to the github repository with all code and data files for this video.
A philosophical discussion about using your own code, others code, or a mixture.
MATLAB and Python code for this section.
The mean-smoothing filter is a simple yet effective denoising tool.
Like the mean-smoothing filter, but smoothier.
Application of Gaussian-smoothing filter to spike time series.
Reduce noise and enhance signal by converting to TKEO energy.
Eliminate spike artifacts using the threshold-median filter.
Got a trend? Remove it by detrending!
Disappointed with linear trends? Try the nonlinear variety!
Strength in numbers.
Use least-squares projection to remove an artifact.
Apply your skills to solve the mystery!
Download the zip!
A quick intro to what you need to know about the Fourier transform.
Examples of the FFT for spectral analyses.
Increase SNR for non-stationary signals.
What does a birdsong look like?
Apply your skills to solve this mystery!
Zip file with all code files for this section.
1D numbers are for kids. Welcome to the adult numbers.
Adding complex numbers works how you think it should.
Multiplying complex numbers is not what you probably think!
How to get to the upside down.
Use the complex conjugate to simplify your life.
Intersection of complex numbers and trigonometry.
This video provides an introduction to this entire section. Don't skip it!
Design FIR filters using the firls kernel function.
Can't count to 6? Use fir1 instead!
IIR filters are smooth. Just like butter.
Does time flow forwards or backwards? Or both?
Learn how to use reflection to avoid those pesky edge effects!
Identify and resolve a problem with short data sequences.
Let the slow-pokes through.
sin(x)/x: The. Best. Function. Ever.
Take the fast lane to signal processing!
See the importance of appropriate parameter selections!
The better way to filter across a "wide" frequency band.
Learn one way to characterize FIR and IIR filters.
Application of super-narrow notch filters for removing pesky electrical artifacts.
Use temporal filtering to separate different sources of signals.
Learn how to implement convolution in the time domain.
See convolution implemented in code.
Sometimes, truth is stranger than fiction.
All roads lead to Rome.
Example of convolution for signal processing.
Introduction to wavelets and some examples of common wavelets.
See what happens when you convolve a signal with wavelets.
Morlet wavelets are great for narrowband filtering.
Complex wavelets can be used for time-frequency analysis.
See an example of time-frequency analysis in real data.
Unsatisfied with how much data you have? Upsample to get more!
Uh oh, too much data? Try downsampling!
How to deal with multivariate signals that have different sampling rates.
Missing data? No worries, just interpolate!
Irregular sampling rate? Watch this video to find out what to do!
To infinity, and beyond!
Interpolate based on smooth transitions in frequency.
See how similar two signals can get!
Download the zip file!
Identify outliers based on extreme standard deviation.
For non-stationary time series, a "global" threshold might not work.
Identify and remove excessively noisy time windows.
Identifying local extrema is not as trivial as you might think!
Convert noise into signal.
Application of convolution for automatic feature extraction and averaging.
Bringing some elementary calculus into signal processing.
Application of feature detection for muscle movements.
OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.
Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.
Find this site helpful? Tell a friend about us.
We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.
Your purchases help us maintain our catalog and keep our servers humming without ads.
Thank you for supporting OpenCourser.