Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Fast Fourier Transform (FFT) Input Question

  1. Nov 16, 2008 #1
    Hi, I have a question about the FFT. I'm starting to learn the concepts behind it, but I'm struggling at this one particular thing...

    Ok, lets say you have this diagram. http://www.ece.uvic.ca/499/2004a/group05/image/radix2.jpg

    Can someone explain to me exactly what "N-point" means? Also, what a "point" is?

    And... what exactly does into these inputs... like x(0) and x(1) and ... x(15)? Are they complex numbers? 1s and 0s? Maybe 1 sample size per x(#) of 16 bits?

    As you can see, I'm pretty much confused on how this actually works and how to interact with it. Thanks!
  2. jcsd
  3. Nov 16, 2008 #2
    a point is a datum, an element in a vector. that is a 16-point vector of data. the values in each element are complex, but you usually start with the imaginary part set to zero. if you start with reals, the result will be complex, and symmetric about zero as complex conjugates.
  4. Dec 9, 2008 #3
    Hi HD555, the FFT is actually a fast implementation of the Discrete Fourier Transform (DFT). The DFT is *simplistically*, a sampled version of the spectrum of a signal.

    In computers, we work with digital signals which are samples of some analog (continuous) signal. Lets say for example speech. If I record a 1 second clip of somebody talking, I am actually storing a vector of numbers. The length of this vector depends on my sampling period or frequency. If I sample at 8kHz (or 8000 samples per second), then my 1 second clip will be stored as a vector that has 8000 elements.

    Ok, now if I want to inspect the frequency content of this signal, I look at its fourier transform using the FFT. The FFT will give you a sampled version of the signal spectrum. The "points" that you mentioned play a role in the resolution of the frequency spectrum that you will see. For example, in the "normal" mode, simply taking an FFT of a signal will return to you a frequency vector of the same size. In our case, a frequency vector of 8000 samples. This means that the entire frequency range between 0 to 2pi is divided into 8000 sample points. If you take a 10000 point FFT that means that you will be returned a frequency vector which is 10000 points long. It represents the same spectrum but this time the frequency content between 0 and 2pi is divided into 10000 points.

    Hope that helps.
  5. Dec 15, 2008 #4
    "N" in the N-point FFT represents the number of sampled points taken for computation.

    For example consider a sinewave containing 64 samples.
    When u apply these 64 sample points to an FFT engine it is called 64-point DFT.

    Since the sample points are obtained by sampling the time domain signal .. they are real values.
  6. Dec 15, 2008 #5
    In matlab,

    take x = input signal on which DFT has to be calculated.

    y = fft(x,n) is the n-point FFT. If the length of x is less than n, fft pads x with trailing zeros to length n. If the length of x is greater than n, fft truncates the sequence x
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook