Discrete Fourier Transform - Simple Step by Step

Simon Xu · 1M views · 2015 · 10:35

Open on YouTube

Information theory & signal processingMath & theory (other)tutorial

Why Stack Overflow recommends it

Stack Overflow users link it when answering FFT questions and want to give askers a short, concrete walk-through of what the DFT actually computes before they use an FFT library.

Recommended by 2 people across 5 different months, 2017 to 2021.

What it is

A 10-minute walkthrough by Simon Xu that explains the Fourier transform and the Discrete Fourier Transform, showing how a time-domain signal is broken into its component frequencies. It works through a small toy example step by step on paper.

What people said

Strong rec John Scott Stensland · 2020-06 · Stack Overflow · on “Trying to calculate the magnitude of each channel using KissFFT”

yes or can be written `magnitude = 2 * (sqrt(pow(cx_out[position].r, 2) + pow(cx_out[position].i, 2))) / len` however when iterating across output of fft result set only loop `from 0 to < nyquist_limit` where `nyquist_limit = number_of_samples / 2` for a nice full detail yet digestible video see [this video] I strongly suggest you run your code using that toy input time series

Recommends John Scott Stensland · 2017-10 · Stack Overflow · on “Dividing Sound Into Equal Frequency Ranges with pyaudio”

I suggest you invest many hours/days/months to understand the Fourier Transform then watch this video which brings together the essential concepts to send your time series buffer into a FFT library ... its the money shot ... if this video does not ring true then rinse and repeat [this video] # Discrete Fourier Transform - Simple Step by Step - fft

Recommends John Scott Stensland · 2018-10 · Stack Overflow · on “Roadmap from sensor data to predictive maintenance”

Welcome to SO ... to leverage this site hover your mouse over top of tag fft on your question ... then click View tag ... then hit learn more ... then after reading the info page on fft hit Votes to see the highest voted posts here on SO ... those questions/answers will get you into the ball park I highly suggest you master the details explained here Discrete Fourier Transform - Simple Step by Step [this video] An Interactive Guide To The Fourier Transform [LINK] Intuitive Understanding of the Fourier Transform and FFTs [LINK] An Intuitive Discrete Fourier Transform Tutorial [LINK] How to get frequency from fft result? [LINK] I could go on mentioning nuggets from my notes however I will leave you

Recommends Sub 6 Resources · 2018-11 · Stack Overflow · on “AudioRecorder | Interpreting FFT data for Spectrum Analyzer”

Your question can be split into two parts: finding the magnitude of all frequencies (interpreting the output) and averaging the frequencies into bands Finding the magnitude of all frequencies: I won't go into the intricacies of the Fast Fourier Transform/Discrete Fourier Transform (if you would like to gain a basic understanding see this video [this video] ), but know that there is a real and an imaginary part of each output. The documentation of the realForward function describes where both the imaginary and the real parts are located in the output array (I'm assuming you have an even sample size): a[2*k] = Re[k], 0 <= k < n / 2 a[2*k+1] = Im[k], 0 < k < n / 2 a[1] = Re[n/2] a is equivalent to y

Recommends John Scott Stensland · 2021-08 · Stack Overflow · on “How can I see Fast Fourier Transform makes sense by an easy example”

when I wrote some golang code to implement an inverse Fourier Transform from scratch this took me over the hump [this video] # Discrete Fourier Transform - Simple Step by Step ... that short video outlines a minimal data and algo walk through on paper and for more detail see [LINK]

Cites John Scott Stensland · 2017-09 · Stack Overflow · on “Speech ADC - Nyquist's Theorem for Non-Sinusoidal Waveforms”

Focus on understanding the difference between an analog curve (audio) in the time domain versus the frequency domain. Its the same information using different representations. When an ADC (analog to digital converter) samples this curve its digital output are points on the curve in the time domain (where time is plotted on the X axis and amplitude on Y). As long as samples happen at least twice as frequently as the highest frequency wobble of that curve the information load is captured. This works just fine for arbitrary curves (non-sinusoidal). Using a Discrete Fourier Transform (fft) you can transform this information into its frequency domain counterpart while retaining all the informatio

Cites Alex M · 2018-08 · Stack Overflow · on “Using Fourier Transform to Transform Image into Sound (I don't think it's working)”

Backstory I started messing with electronics, and realized I need an oscilloscope. I went to buy the oscilloscope (for like $40) online and watched tutorials on how to use them. I stumbled upon a video using the "X-Y" function of the oscilloscope to draw images; I thought that was cool. I tried searching how to do this from scratch and learned you need to convert the image into the frequency domain and some how convert that to an audio signal and send the signal to the two channels on the oscilloscope from the left and right channels from the audio output. So now I am trying to do the image processing part. What I Got So Far Choosing an Image First thing I did was to create an nxn image usin