Introduction to the Fourier transform
  • Course materials (reader, MATLAB code, Python code)
  • Nontechnical description of Fourier transform
  • Examples of Fourier transform applications
  • MATLAB, Octave, Python, or just watch
  • Using Udemy like a pro
Foundations of the Fourier transform
  • Course materials (reader, MATLAB code, Python code, exercises)
  • Complex numbers
  • xkcd explanation of why we need complex numbers
  • Euler's formula e^ik
  • Sine waves and complex sine waves
  • Dot product
  • Complex dot product
The discrete Fourier transform
  • Course materials (reader, MATLAB code, Python code, exercises)
  • How the discrete Fourier transform works
  • Converting indices to frequencies
  • Converting indices to frequencies: part 2
  • Shortcut: Converting indices to frequencies
  • Normalized time vector
  • Positive and negative frequencies
  • Accurate scaling of Fourier coefficients
  • Interpreting phase values
  • Averaging Fourier coefficients
  • The DC (zero frequency) component
  • Amplitude spectrum vs. power spectrum
  • A note about terminology of Fourier features
The discrete inverse Fourier transform
  • Course materials (reader, MATLAB code, Python code, exercises)
  • How and why it works
  • Inverse Fourier transform for bandstop filtering
The fast Fourier transform
  • Course materials (reader, MATLAB code, Python code, exercises)
  • How it works, speed tests
  • The fast inverse Fourier transform
  • The perfection of the Fourier transform
  • Using the fft on matrices
Frequency resolution and zero padding
  • Course materials (reader, MATLAB code, Python code, exercises)
  • Sampling and frequency resolution
  • Time-domain zero padding
  • Frequency-domain zero padding
  • Sampling rate vs. signal length
  • Course tangent: self-accountability in online learning
Aliasing, stationarity, and violations
  • Course materials (reader, MATLAB code, Python code, exercises)
  • Aliasing
  • Signal stationarity and non-stationarities
  • Effects of non-stationarities on the power spectrum
  • Solution to understanding nonstationary time series
  • Windowing and Welch's method
  • Instantaneous frequency
2D Fourier transform
  • Course materials (reader, MATLAB code, Python code, exercises)
  • How the 2D FFT works
Applications of the Fourier transform
  • Course materials (reader, MATLAB code, Python code, exercises)
  • Rhythmicity in walking (gait)
  • Rhythmicity in electrical brain waves
  • Time series convolution
  • Narrowband temporal filtering
  • 2D image filtering
  • Image narrowband filtering
  • Real data from trends.google.com!
Bonus section
  • Bonus lecture