FFT Analysis for Dummies 
FFT Analysis for Dummies 
Mar 27 2010, 21:41
Post
#1


Group: Members Posts: 248 Joined: 12May 09 From: New Milford, CT Member No.: 69730 
Folks,
I'd like to learn more about FFTs. I'm not a math guy, so I imagine I'll never fully understand all the nuances. But I'd like to try anyway. I understand the general concept, that an FFT shows how much energy is present at different frequencies. What I'd like to know is how to set the various parameters such as FFT Size and Overlap, when to use the different types of window smoothing and why, and so forth. Below is a list of settings in the Rightmark FFT analyzer with my associated questions, and hopefully this is a good place to start. FFT Size: I understand that the higher the number, the better the frequency resolution. So why is this I realize this is a lot to ask! If anyone knows of a good newbielevel tutorial that explains this in plain English with minimal math, I'd love to see it. Everything I've found through Google starts right in with math that's way over my head. Ethan  I believe in Truth, Justice, and the Scientific Method



Mar 28 2010, 01:55
Post
#2


Group: Members Posts: 581 Joined: 17August 09 Member No.: 72373 
I'm not a super math dude but I have been reading math texts lately and I'm going to give this a try. If you don't know it, you can't teach it and all. Please be kind.
First off FFT refers to an optimized implementation of the discrete Fourier transform (DFT). The FFT produces the same results as a DFT. The discrete Fouier transform is for sampled data (i.e. digital audio). The basic idea is you transform a block of samples representing signal intensity from time 0 to time N to a block of samples representing frequency intensity from frequency 0 to frequency N. N is the window or block size. If you choose N large (e.g. as long as a whole track) you'll get detailed frequency information for the whole track but you won't have a clue where in the track those components exist. Using numerous shorter blocks, you can pinpoint where in time the various frequencies are occurring (e.g. when which notes are being played) but in using the shorter block you only get a coarse idea about what frequencies are present (e.g. can't distinguish C from C#). To overcome this, frequency analysis applications will often use the longer blocks and instead of placing them one after another, the blocks will be overlapped. This sort of gives you the best of both worlds. I does require more processing to do the transform  if your overlap is 50%, you are computing FFTs for twice as many samples. When you edit audio on a workstation you create clicks or other artifacts at the edit points. We have this same problem when we edit audio to do FFTs. In editing, we address this by cross fading at the edit points. And that's exactly what we do with FFTs. We apply an envelope to the audio data in each block (fade it up at the beginning, fade it back down at the end) before performing the FFT. Mathemiticians call these envelopes "windows". There are many shapes of windows because there are many compromises to be made when you're slicing and dicing like this. 


Mar 28 2010, 05:23
Post
#3


Group: Members Posts: 1418 Joined: 9January 05 From: In the kitchen Member No.: 18957 
The basic idea is you transform a block of samples representing signal intensity from time 0 to time N to a block of samples representing frequency intensity from frequency 0 to frequency N. N is the window or block size. If you have 'n' realvalued samples (i.e. no complex numbers on input, as most PCM supplies) you have n/2 +1 complex frequency values, where (starting at n=0 for DC and ending at n=N/2 for Nyquist) you have two real values (DC and Nyquist) and N/22 complex values. The complex values are echoed (by conjugation, i.e. changing the sign of the imaginary part) at the negative frequencies (for a real signal, you have both positive and negative frequencies, one is the complex conjugate value of the other). There are other transforms (DCT, DST, etc) that are real to real, and that provide N frequency components instead of N/2 complex components, effectively, but then phase is encoded in interesting ways inside of twice as many real values. While it may seem odd that you have N/2 components, they are complex, so you actually have N results, half real, half imaginary.  
J. D. (jj) Johnston 


Mar 28 2010, 14:45
Post
#4


Group: Members Posts: 581 Joined: 17August 09 Member No.: 72373 
While it may seem odd that you have N/2 components, they are complex, so you actually have N results, half real, half imaginary. Thanks JJ. Dumbing it down a little bit: You start with N samples. The DCT produces N/2 frequency amplitude results and N/2 corresponding phase results. The phase information is typically discarded in spectral analysis applications. 


Mar 30 2010, 00:10
Post
#5


Group: Members Posts: 1418 Joined: 9January 05 From: In the kitchen Member No.: 18957 
While it may seem odd that you have N/2 components, they are complex, so you actually have N results, half real, half imaginary. Thanks JJ. Dumbing it down a little bit: You start with N samples. The DCT produces N/2 frequency amplitude results and N/2 corresponding phase results. The phase information is typically discarded in spectral analysis applications. You meant DFT ... DCT is real to real.  
J. D. (jj) Johnston 


Mar 30 2010, 03:15
Post
#6


Group: Members Posts: 581 Joined: 17August 09 Member No.: 72373 



Mar 30 2010, 21:20
Post
#7


Group: Members Posts: 1418 Joined: 9January 05 From: In the kitchen Member No.: 18957 
You meant DFT ... DCT is real to real. Yes, I did. We'll do DCT another day. Should we start a thread on the mathematics of orthonormal transforms?  
J. D. (jj) Johnston 


LoFi Version  Time is now: 2nd February 2015  02:30 