What is Fft: Definition and 179 Discussions

A fast Fourier transform (FFT) is an algorithm that computes the discrete Fourier transform (DFT) of a sequence, or its inverse (IDFT). Fourier analysis converts a signal from its original domain (often time or space) to a representation in the frequency domain and vice versa. The DFT is obtained by decomposing a sequence of values into components of different frequencies. This operation is useful in many fields, but computing it directly from the definition is often too slow to be practical. An FFT rapidly computes such transformations by factorizing the DFT matrix into a product of sparse (mostly zero) factors. As a result, it manages to reduce the complexity of computing the DFT from



O

(

N

2


)



{\displaystyle O\left(N^{2}\right)}
, which arises if one simply applies the definition of DFT, to



O
(
N
log

N
)


{\displaystyle O(N\log N)}
, where



N


{\displaystyle N}
is the data size. The difference in speed can be enormous, especially for long data sets where N may be in the thousands or millions. In the presence of round-off error, many FFT algorithms are much more accurate than evaluating the DFT definition directly or indirectly. There are many different FFT algorithms based on a wide range of published theories, from simple complex-number arithmetic to group theory and number theory.
Fast Fourier transforms are widely used for applications in engineering, music, science, and mathematics. The basic ideas were popularized in 1965, but some algorithms had been derived as early as 1805. In 1994, Gilbert Strang described the FFT as "the most important numerical algorithm of our lifetime", and it was included in Top 10 Algorithms of 20th Century by the IEEE magazine Computing in Science & Engineering.The best-known FFT algorithms depend upon the factorization of N, but there are FFTs with O(N log N) complexity for all N, even for prime N. Many FFT algorithms depend only on the fact that




e


2
π
i

/

N




{\displaystyle e^{-2\pi i/N}}
is an N-th primitive root of unity, and thus can be applied to analogous transforms over any finite field, such as number-theoretic transforms. Since the inverse DFT is the same as the DFT, but with the opposite sign in the exponent and a 1/N factor, any FFT algorithm can easily be adapted for it.

View More On Wikipedia.org
  1. G

    Performing an FFT on sampled data

    Im trying to perform an FFT on a set of sampled data to determine the frequency of a person humming. Im using the MCF51AC256 on the DEMOACKIT, coding with Codewarrior using Processor Expert which has a FFT bean included, so all I need to do is pass it values and it performs the FFT. So I...
  2. R

    Reference value for magnitude of fft output

    Hi, I'm using a version of daqacquire to acquire a sample of sound data. This program also uses daqdocfft to perform a Fourier transform, allowing me to view the frequencies that are present in my data sample. My problem is that I don't understand how the function is calculating the...
  3. S

    FFT and Nyquist frequency - higher frequencyresolution with lesser samples

    So, let's say you have a signal, bandpass filtered between 10Hz and 1000Hz. The signal is then sampled at 2000Hz. A window of 20 samples is then FFT:d. You then get a frequency resolution of 2000/20 = 100Hz (the FFT contains 20 points). One consequently doesn't know anything about any other...
  4. E

    Fft and normalized vs real frequency question

    Hello, I have a question regarding fft's. My experience with working with Fourier transforms is pretty much limited to transforming contrived functions pen and paper style, not dft's. But now I need something and I think the fft is the appropriate tool, but I'm having a hard time understanding...
  5. E

    Trouble understanding fft norm axis sampling frequency etc

    Hello, I have a question regarding fft's. My experience with working with Fourier transforms is pretty much limited to transforming contrived functions pen and paper style. But now I need something and I think the fft is the appropriate tool, but I'm having a hard time understanding some...
  6. C

    Speed up a image alignment function using FFT

    Homework Statement I need to speed up a image alignment function using FFT Homework Equations FFT, correlation coefficient (for deciding best alignment) The Attempt at a Solution This function works but a fail to see how it is any better that a naive evaluation of the correlation...
  7. P

    FFT (Fast Fourier Transform) - a method for phase continuation

    Hello everyone, Finding a good query to find an answer in www search engines isn't as easy as I thought. The subject is very narrow and sophisticated. When one performs a FFT, he/she/IT ;) gets the amplitude and phase spectra. The phase spectrum ranges from -PI to PI. Then, there are of course...
  8. A

    Mathematica FFT, Mathematica, Continuous Fourier Transform

    Hi all, First a warning: my Mathematica skills, and computery-type skills in general, are not very hot. My problem is thus: I have a function which I know: \hat{f}(k) I'd like mathematica to approximate the inverse Fourier transform of this function for me and plot the result. I've...
  9. O

    Basic question on the FFT in matlab

    Homework Statement From what I understand, the array output of the FFT of a function in time represents the frequency contributions of different frequencies with the first output coming from 0 freqeuncy, 2nf from the 1st fundamental frequency and so on.. if so, then why does this code(which...
  10. 1

    MATLAB Matlab Matrix Multiplication Query in an fft application

    Hey everyone, first of all id just like to clarify this isn't a homework or coursework related problem, its part of my personal MatLab learning for future years. I obtained a nice little siganls and systems question off a friend, it looked fairly simple but I've come across a problem which i...
  11. C

    How i will write the code for fft

    Homework Statement How i will write the code for fft Homework Equations ACos(ωt+φ) The Attempt at a Solution n = 100; n = 0:n; nodd = 2*n + 1; T=n*pi/2w w=2*pi*1.93*10^14; phi= 0; A=-6:6; X= A*cos(w*T+pi) %Here it generates error " ? Error using ==> mtimes Inner matrix...
  12. H

    Fast Fourier Transform (FFT) Input Question

    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, let's 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...
  13. V

    Understanding FFT Results and the Importance of Replacing f0 in DFT Calculation

    I got some data which is in equal time stamps. When I do the Fast Fourier Transform for the data using MATLAB I get the graph below. Now I understand how to do the fast Fourier transform but I have no idea what information the FFT graph gives. I am confused as to what the peak at 1...
  14. K

    How Do You Use FFT in Matlab to Determine Signal Phases and Strengths?

    Hello all. how to find relative phases, strengths of a signal by using Matlab.
  15. F

    How the heck are you supposed to use FFT?

    Hey, This may seem very stupid but how the heck are you supposed to use FFT? The FFT transformations take a vector as in input but I want to use it to work out FT of a perticular value. I have the charecteristic function of a distribution and wish to numericaly work out values for the...
  16. P

    Neutron flux calculation using FFT in a nuclear reactor

    well, that's the heading of a project i am doing...i need some help on neutron detectors... how they are dectected and what is the probable graph of count rate vs, pulse height that i might get for a nuclar fission reaction of U-235... can anyone help?
  17. N

    Inverse FFT how to scale the x-axis

    Hello I have a Gaussian Pulse in the frequency domain and transform it with the IFFT into the time-domain. My Problem is now that I can't figure out a way to give the sample points the correct time-scale. What kind of formula do I need to use? Thank You for helping me!
  18. L

    Calculating the Hann Window & FFT Energy Correction Factor

    Hi all, I am currently looking into the energy correction factor of the Hann window. So far I have found that to correct for the application of Hann-window and Fourier transform the result needs to be multiplied by sqrt(32)/sqrt(3). Can any of you explain how to get that factor ? The...
  19. S

    MATLAB Solving an integer with FFT in matlab

    Homework Statement Hi, I hope someone could help me, I have been trying to solve this problem with FFT in matlab, why?, because my teacher gave it as homework. The problem is the following. Obtain the value of the following integer using FFT: Homework Equations the integer goes...
  20. S

    MATLAB Finding an integer with matlab fft function

    Hi, I hope someone could help me, I have been trying to solve this problem with FFT in matlab, why?, because my teacher gave it as homework. The problem is the following. Obtain the value of the following integer using FFT: the integer goes from [-infinte, infinite], and the function is...
  21. P

    How do I correctly graph FFT results in signal processing?

    Hello all. I am working on a problem for class that is taking some time data and changing it to frequency data. I am using excel and the fast Fourier transform(fft). I am having a problem graphing the results. I am very new to signal processing. I am only given the data which is 1024...
  22. S

    MATLAB How Can I Time Shift a Signal in Matlab?

    Hi! How can I time shift (ts) a real signal (N samples, T time period, dt sample rate, Fs sampling frequency) using matlab: Timeshift signal = ifft (fft(signal)*exp(2*i*pi*Fs*ts)) ? I am trying to do it this way and it is not working? For example how would you shift a Cos signal to...
  23. M

    Apply Phase Shifts Using FFT for Gaussian Noise Signal

    What I want to do is apply a frequency-independent phase shift to a Gaussian Noise signal. Obviously I can just invert it to get a pi shift. Also I can take the Hilbert transform to get a pi/2 shift and I can invert that to give myself in effect a 3/2pi shift. BUT... what I want to do is to be...
  24. J

    Propagation of waves in solid and FFT

    Hi, I wasn't really sure whether to put this post under Physics or Engineering. I was just wondering whether someone can gimme some help or info or guidance... I am currently working on a project in which I am using the FFT (Fast Fourier transform) algorithm. In a nutshell, I am trying to use...
  25. M

    Text on Discrete Fourier Analysis & FFT

    Does anyone know of any good texts that cover Discrete Fourier Analysis and the Fast Fourier Transform? *I don't know if this belongs here in the HW help or in General Math section.
  26. C

    Why Does My FFT-Based Split Operator Simulation Produce Unexpected Results?

    Hi! This is my first post on these forums. I'm having some problems with the split operator + FFT algorithm to solve the Schrödinger equation in time. A real Gauss curve in a zero potential environment should simply flatten out, but I get two peaks as the following Matlab run shows...
  27. J

    MATLAB Wavefunction with fft and ifft in matlab

    I start with calculating psi(x,0). Then i use fft(psi(x,0)) to get the Fourier coefficients. and with fftshift i get the terms with negative index in the beginning. Then i multiply with the timedependent factor and use ifftshift and ifft to get the wavefunction psi(x,t). Here is the code...
  28. B

    Problems with FFT: Seeking Help for Senior Project

    This is part of my senior project. Please help! I'm trying to use a code to FFT a real, even set of data, but the results are not real and even as would be expected. The code I'm using is availabe http://www.koders.com/c++/fid1C48DD8DBB45CA4B87C9A38DAFC532E793443862.aspx (and...
  29. M

    Describe FFT: Properties/Frequency Needed

    Could somone possibly describe this http://home.bak.rr.com/berlin/088821368-guess1.jpg FFT. I need to know the properties and frequency. Thanks for anyone's time who helps. (BTW, if this is in the wrong forum, I could use some redirection).
Back
Top