Skip to content
0:00 / 0:00

#discretefouriertransform#fft#julia

What is a Discrete Fourier Transform? | Week 14 | MIT 18.S191 Fall 2020 | Grant Sanderson

The Julia Programming Language

91K subscribers • 17 videos on Hallway

YouTube
  • Recommended by 1 person: 1 on Lobsters.
  • Presented by Grant Sanderson
  • Linked in the descriptionmitmath/18S191

Intermediate. Assumes working knowledge.

259K views5 years ago1 recommendation

Computer scienceProgramming languagesMath for programmersAlgorithms

Grant Sanderson explains the Discrete Fourier Transform using Julia to analyze sound waves and compares naive implementations with the Fast Fourier Transform.

An overview with Julia of what the Discrete Fourier Transform (DFT) does, by applying it to analyze sounds, including how it is defined, along with a comparison between the runtime of a naively- [Click "↓ ↓ ↓ Show More " for the Outline:] implemented DFT and one using the Fast Fourier Transform (FFT) algorithm. Course homepage: computationalthinking.mit.edu/Fall20/ Pluto notebook: github.com/mitmath/18S191/blob/master/lecture_notebooks/week… Introduction Time series data from sound recordings Julia notebook: Playing with sound - WAV files Drawing waveforms Effect of frequency Combining (superposing) different frequencies Julia: FFT function Discrete Fourier Transform (DFT) vs Fast Fourier Transform (FFT) Plotting an FFT Musical overtones: Magnitude of the FFT Analyzing a sound file using the FFT Defining the DFT mathematically First term of the DFT Visualizing the DFT in the complex plane Equally-spaced points on unit circle in the complex plane Idea of Fourier transform of a signal: walking around a circle Adding complex numbers as adding vectors Magnitude of DFT gives information about frequency Angle of DFT gives information about phase Interpreting the second term of the DFT General formula for DFT Implementing the DFT in Julia Julia: Writing "i" as im Julia: Array comprehension Comparison of DFT with FFT results Julia: isapprox for testing approximate equality Efficiency of the implementation Pre-computing an array of powers Julia: Modulo (%) Julia: OffsetArray for zero-based indexing Computational complexity of DFT vs FFT DFT as polynomials Video on FFT from Reducible: youtube.com/watch?v=h7apO7q16V0

Why it's here

1 person recommends this

What people say. Recommended as an exceptionally clear introduction to the Fourier Transform with interactive code.

Hail_Spacecakeon Lobsters • Recommends

What is a Discrete Fourier Transform?