In MATLAB and in Python
This project showcases BiophysicsLab’s expertise with the Fourier Transform in both MATLAB and Python. Below are my PDF notes from Dr. Mike X Cohen’s Udemy course.
TABLE OF CONTENTS – Master the Fourier transform and its applications in MATLAB and Python
Lesson | Description | Page |
---|---|---|
Section 1: Introduction to the Fourier transform | 2 | |
2 | Nontechnical description of Fourier transform | 2 |
3 | Examples of Fourier transform applications | 3 |
Section 2: Foundations of the Fourier transform | 16 | |
9 | Euler’s formula e^ik | 16 |
10 | Sine waves and complex sine waves | 21 |
11 | Dot product | 25 |
12 | Complex dot product | 27 |
Section 3: The discrete Fourier transform | 31 | |
14 | How the discrete Fourier transform works | 31 |
15 | Converting indices to frequencies | 33 |
16 | Shortcut: converting indices to frequencies | 35 |
17 | Normalized time vector | 36 |
18 | Positive and negative frequencies | 37 |
19 | Accurate scaling of Fourier coefficients | 38 |
20 | Interpreting phase values | 39 |
21 | Averaging Fourier coefficients | 40 |
22 | The DC (zero frequency) component | 42 |
23 | Amplitude spectrum vs. power spectrum | 43 |
24 | A note about terminology of Fourier features | 45 |
Section 4: The discrete inverse Fourier transform | 46 | |
26 | How and why it works | 46 |
27 | Inverse Fourier transform for bandstop filtering | 48 |
Section 5: The fast Fourier transform | 49 | |
29 | How it works, speed tests | 49 |
30 | The fast inverse Fourier transform | 51 |
31 | The perfection of the Fourier transform | 52 |
32 | Using the fft on matrices | 55 |
Section 6: Frequency resolution and zero padding | 56 | |
34 | Sampling and frequency resolution | 56 |
35 | Time-domain zero padding | 59 |
36 | Frequency-domain zero padding | 61 |
37 | Sampling rate vs. signal length | 63 |
38 | Course tangent: self-accountability in online learning | 64 |
Section 7: Aliasing, stationarity, and violations | 64 | |
40 | Aliasing | 65 |
41 | Signal stationarity and non-stationarities | 69 |
42 | Effects of non-stationarities on the power spectrum | 71 |
43 | Solution to understanding nonstationary time series | 76 |
44 | Windowing and Welch’s method | 80 |
45 | Instantaneous frequency | 81 |
Section 8: 2D Fourier transform | 82 | |
46 | How the 2D FFT works | 82 |
Section 9: Applications of the Fourier transform | 88 | |
47 | Rhythmicity in walking (gait) | 88 |
48 | Rhythmicity in electrical brain waves | 89 |
49 | Time series convolution | 89 |
50 | Narrowband temporal filtering | 91 |
51 | 2D image filtering | 93 |
52 | Image narrowband filtering | 94 |
53 | Real data from trends.google.com! | 95 |
Notes | 98 | |
FFT Examples | 98 | |
Amplitude Spectrum | 99 | |
Power Spectrum | 99 | |
Power Spectrum in Decibels | 99 | |
Inverse FFT | 99 | |
Sinc function and Whittaker-Shannon interpolation formula | 100 | |
MATLAB commands | 100 | |
Utility code | 101 | |
References | 104 |
Purchase Details
While some MATLAB code is included in these notes, the full MATLAB and Python code for MASTER THE FOURIER TRANSFORM AND ITS APPLICATIONS are omitted. The code (for both MATLAB and Python) are included as part of Dr. Mike X Cohen’s Udemy class, as listed in the notes.
However, BiophysicsLab offers consulting services to explore individual lessons from these notes. For example, see my post on this website exploring lesson 43 – Solutions to understanding nonstationary time series: Short-time Fourier Transform
Master the Fourier Transform and Its Applications Using MATLAB – Open PDF 42 downloads 10.1 MB