Master the Fourier transform and its applications
4.6 (1,127 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
7,723 students enrolled

Master the Fourier transform and its applications

Learn the Fourier transform in MATLAB and Python, and its applications in digital signal processing and image processing
4.6 (1,127 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
7,723 students enrolled
Created by Mike X Cohen
Last updated 8/2020
Current price: $20.99 Original price: $29.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 6.5 hours on-demand video
  • 11 articles
  • 9 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Learn about one of the single most important equations in all of modern technology and therefore human civilization.
  • The fundamental concepts underlying the Fourier transform
  • Sine waves, complex numbers, dot products, sampling theorem, aliasing, and more!
  • Interpret the results of the Fourier transform
  • Apply the Fourier transform in MATLAB and Python!
  • Use the fast Fourier transform in signal processing applications
  • Improve your MATLAB and/or Python programming skills
  • Know the limitations of interpreting the Fourier transform.
  • A curious mind!
  • Some MATLAB or Python experience is useful but not required
  • High-school math (calculus is not necessary)
  • Previous knowledge of the Fourier transform is NOT necessary!
  • * Manually correct English captions *

The Fourier transform is one of the most important operations in signal processing and modern technology, and therefore in modern human civilization. But how does it work, and why does it work?

What you will learn in this course:

You will learn the theoretical and computational bases of the Fourier transform, with a strong focus on how the Fourier transform is used in modern applications in signal processing, data analysis, and image filtering. The course covers not only the basics, but also advanced topics including effects of non-stationarities, spectral resolution, normalization, filtering. All videos come with MATLAB and Python code for you to learn from and adapt!

This course is focused on implementations of the Fourier transform on computers, and applications in digital signal processing (1D) and image processing (2D). I don't go into detail about setting up and solving integration problems to obtain analytical solutions. Thus, this course is more on the computer science/data science/engineering side of things, rather than on the pure mathematics/differential equations/infinite series side.

This course is for you if you are an aspiring or established:

  • Data scientist

  • Statistician

  • Computer scientist (MATLAB and/or Python)

  • Signal processing or image processing expert (or aspiring!)

  • Biologist

  • Engineer

  • Student

  • Curious independent learner!

What you get in this course:

  • >6 hours of video lectures that include explanations, pictures, and diagrams

  • pdf readers with important notes and explanations

  • Many exercises and their solutions! (Note: exercises are in the pdf readers)

  • MATLAB code, Python code, and sample datasets for applications

With >3000 lines of MATLAB and Python code, this course is also a great way to improve your programming skills, particularly in the context of signal processing and image processing.

Why I am qualified to teach this course:

I have been using the Fourier transform extensively in my research and teaching (primarily in MATLAB) for nearly two decades. I have written several textbooks about data analysis, programming, and statistics, that rely extensively on the Fourier transform. Most importantly: I have taught the Fourier transform to bachelor's students, PhD students, professors, and professionals, and I have taught to people from many backgrounds, including biology, psychology, physics, mathematics, and engineering.

So what are you waiting for??

Watch the course introductory video to learn more about the contents of this course and about my teaching style. And scroll down to see what other students think of this course and of my teaching style.

I hope to see you soon in the course!


Who this course is for:
  • Students who need to know the Fourier transform for courses.
  • Scientists who need to know the Fourier transform for research.
  • Data scientists who need to do spectral analysis.
  • Someone doing digital signal processing or image processing (filtering, signal separation, etc.)
  • Someone who learned the FT by solving integral equations but wants more insight into what it means.
  • Programmers looking for tips about optimizing code that involves FFT.
  • Someone who is curious what the Fourier transform is and why it's so important.
  • Someone who uses the FFT but wants a better understanding of what it means, why it works, and how to interpret the results.
Course content
Expand all 56 lectures 06:20:14
+ Introduction to the Fourier transform
5 lectures 25:25
Course materials (reader, MATLAB code, Python code)

A nontechnical introduction of the interpretations and two major goals of the Fourier transform.

Preview 06:36

See a few example applications of the Fourier transform for time series and images.

Preview 11:49

Learn how to follow along the course in code.

MATLAB, Octave, Python, or just watch
Leaving reviews, course coupons
+ Foundations of the Fourier transform
7 lectures 01:03:17
Course materials (reader, MATLAB code, Python code, exercises)

Complex numbers aren't so complicated once you get used to them.

Complex numbers
xkcd explanation of why we need complex numbers

One of the most important equations in human civilization, not to mention the Fourier transform!

Preview 09:32

Hint: Three parameters to rule them all!

Sine waves and complex sine waves

The dot product is a fundamental building-block computation underlying most of signal processing.

Dot product

What happens when a complex number walks into a dot product? Watch and find out!

Complex dot product
+ The discrete Fourier transform
12 lectures 01:21:30
Course materials (reader, MATLAB code, Python code, exercises)

If you think the Fourier transform is really weird and complicated, this video will prove you wrong.

How the discrete Fourier transform works

Learn how to get meaningful frequencies from the output of the Fourier transform.

Converting indices to frequencies
Shortcut: Converting indices to frequencies

The answer to a common question about the Fourier transform.

Normalized time vector

Learn how to interpret and work with "negative frequencies."

Positive and negative frequencies

The units that fft outputs are "wrong"; learn how to fix them!

Preview 06:30

Learn how to interpret the phase values of the Fourier coefficients.

Interpreting phase values

The two ways to average Fourier coefficients together can give very different results!

Averaging Fourier coefficients

The 0-frequency corresponds to the average signal value.

The DC (zero frequency) component

See the difference between amplitude and power, and why I always use amplitude when I teach.

Amplitude spectrum vs. power spectrum

Hopefully some clarifications of confusing terminology used in the Fourier transform. 

A note about terminology of Fourier features
+ The discrete inverse Fourier transform
3 lectures 18:10
Course materials (reader, MATLAB code, Python code, exercises)

What goes up, must come down...

How and why it works

See an application of the inverse Fourier transform in signal processing.

Preview 07:21
+ The fast Fourier transform
5 lectures 23:36
Course materials (reader, MATLAB code, Python code, exercises)

Don't let the Fourier transform slow you down; use the fast Fourier transform!

How it works, speed tests

What goes up, must come down (fast!).

The fast inverse Fourier transform

A few explanations for why the Fourier transform is so perfect.

The perfection of the Fourier transform

Avoid loops at all costs!

Using the fft on matrices
+ Frequency resolution and zero padding
6 lectures 47:40
Course materials (reader, MATLAB code, Python code, exercises)

How many and which frequencies do you get from the Fourier transform? It depends...

Sampling and frequency resolution

Create more frequencies by adding nothing.

Preview 11:13

See how zero-padding is sinc-interpolation

Frequency-domain zero padding

See how two signal properties affect frequency resolution.

Sampling rate vs. signal length
Course tangent: self-accountability in online learning
+ Aliasing, stationarity, and violations
7 lectures 01:06:17
Course materials (reader, MATLAB code, Python code, exercises)

The Nyquist frequency is the speed limit of the Fourier transform!


Learn the definition (and ambiguities) of signal non-stationarities.

Signal stationarity and non-stationarities

Non-stationarities can make the results of the Fourier transform difficult to interpret.

Preview 15:59

See several solutions for dealing with non-stationarities in signals.

Solution to understanding nonstationary time series

One of the primary methods for spectral analysis of nonstationary signals.

Windowing and Welch's method

An alternative way of thinking about frequency leads to a different way of characterizing time series data.

Instantaneous frequency
+ 2D Fourier transform
2 lectures 11:15
Course materials (reader, MATLAB code, Python code, exercises)

Explanation of the 2D FFT used for image processing.

Preview 11:13
+ Applications of the Fourier transform
8 lectures 42:14
Course materials (reader, MATLAB code, Python code, exercises)

Using spectral analysis to reveal walking dynamics.

Rhythmicity in walking (gait)

There is electricity in your brain, and it's doing the wave.

Rhythmicity in electrical brain waves

The FFT is used in signal processing to speed up convolution.

Time series convolution

Application of the FFT for narrowband filtering.

Narrowband temporal filtering

Application of the FFT for image processing.

2D image filtering

Another application of the 2D FFT in image processing (filtering).

Image narrowband filtering

The question is when are people interested in the Fourier transform!

Real data from!