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. Y

    Frequency spectrum in Doppler effect

    Homework Statement I have been investigating the Doppler effect in a circular motion with a stationary source and moving observer (however the main aim is to determine the speed of sound in the end). Using Vernier software - Logger Pro - I have obtained two graphs of the sound pressure against...
  2. Z

    MATLAB Is FFT the Proper Method for Transforming Green Function in MATLAB?

    Hi everybody. I have a (1×N) Green function in MATLAB. I want to use the FFt function for Green function to transform the time domain. Does the FFT command work correctly for Green function using: A=fft(Green function, nfft). Here nfft is the number of transformed points. Is it necessary that...
  3. R

    Meaning of having powerful signal near to 0Hz

    Hello I computed, with python scipy.rfft, the Fourier transform of signal coming from an accelerometer. I don't understood what this is the meaning of having a powerful signal near to 0 Hz ?
  4. avikarto

    Fortran [FORTRAN] FFT of delta function, issue w/ MKL & Intel compiler

    I am trying to program something using a backwards FFT, and am attempting to feed it a delta function as a test condition since this result is known. However, my results are nonsense compared to what is expected. It should be the case that if we have...
  5. Z

    MATLAB FFT for one 1*N Green function in MATLAB

    I have a 1×N Green function in energy domain. I want to use the FFT (fast Fourier transform) for this Green function in MATLAB. But this function is non-periodic. Could you help me about this? How can I change the energy interval to convert Green function as a periodic function?
  6. avikarto

    Fortran How Do You Implement MKL's FFT Functions for Multidimensional Data in Fortran?

    This is my first time attempting to use the MKL's FFT functions, and I'm having trouble understanding them. The available examples (https://software.intel.com/en-us/node/522290) provide little insight into the reasons for doing things, and looking into the commands themselves doesn't provide...
  7. E

    Phase shift in frequency domain

    Hello, I'using Matlab to simulate phase shift in frequency domain (FD). I have got real and imaginary parts of the signal after FFT. I'd like to use phase shift in FD. This works: Y=fft(y); YY=Y.exp(-i*2*pi*nk/N*samples_delay); result=ifft(YY); But in my DSP I can't use the formula above and...
  8. M

    MHB A question about FFT transform

    Suppose that there is a linear relation between discrete time (n) and frequency (f), then what is the relatian between x(n) and X(f) (X(f) is DFT transform of x(n))?
  9. 1

    Use FMM or FFT for low-discrepancy sample of atoms?

    To complete my Master's thesis, I am working on a problem that deals with an arrangement of initial atoms, and their positions are then changed according to a pseudo-random number generator with low discrepancy. My advisor told me that instead of computing the interactions between the atoms for...
  10. V

    Using fft on a partially staggered grid

    Hi, I was wondering if anyone could give me a hand. I am wondering if it possible to use standard spectral methods to compute the derivative of a function on a partially staggered grid. e.g. from 0 to pi I would perform the differentiation on the nodes j*(pi/N) j=1,2,3 ... N-1 and from 0...
  11. S

    Inverse Discrete Laplace Transform

    Hi, I have an idea which when tested looks like its clearly flawed. I am hoping someone can tell me where my procedure is flawed, or point me to some other theory that has already done something similar. The first two are the laplace transform. The third line is the Fourier Transform. The...
  12. S

    Power Spectral Density Confusion

    Hi, I am working on a project and came across a conceptual roadblock. I am working with a PSD, let's say the units are V^2/Hz. I choose a dF based on how many sine tones I want in the time signal I am going to create. I sample the PSD curve at my frequency bin locations; so I have both my...
  13. D

    MATLAB Matlab - calculate phase shift using fft

    hello, I have 3 signals in the form of sampled values. When I plot them using plot (t,vPa,t,vPb,t,vPc) where vPa, vPb, vPc contains the values and t contains the sampling istants I get this: when I calculate phase shift using fft I get phase angle = 0. I have tried using my own code ( which...
  14. T

    Improving Frequency Resolution with Window Functions in FFT Calculations

    Okay I have a question involving calculating the FFT of a signal from a sensor. I have simulated many different scenarios in MATLAB of various noise characteristics involving the signal. I want to take the FFT of a noisy signal. As long as my expected input signal has a higher amplitude than...
  15. J

    How to get specific frequency and time values for .wav file

    How to get specific frequency and time values for .wav file and export the values as .csv? Problem: I need to analyze this music .wav file, particularly for its frequency, amplitude, and pitch over specific intervals of time. Is there any easy to use software and steps I can take that can...
  16. electronic engineer

    Calculating FFT for discrete values

    Homework Statement We have a set of values: f(n)=f(0,1,2)=(1,3,2) so f(0)=1, f(1)=3, f(2)=2, where n=0,1,2the number of values N=3 The question is to calculate the FFT of this signal, the Fourier spectrum the power spectrum and phase spectrum. I'm not sure concerning FFT. And also about...
  17. J

    Number of complex calculations in FFT and inverse FFT

    Homework Statement Calculate the total number of compex multiplications required for the calculation in (b) when FFTs are used to perform the Discrete Fourier Transforms and Inverse Discrete Fourier Transforms.[/B] There were two FFT multiplied together and one inverse FFT of that product to...
  18. N

    Power from a Fourier transform

    So I have been away from education for a little while now and I'm going through some refresher stuff - in particular I have been playing around with FFTs. If i take (with MATLAB notation): time = 0:0.01:10 y = fft(sin(2*pi*f*time)) with f = 5 then the maximum amplitude of the fft output is...
  19. J

    Help Me Solve FFT Sinc Function Problem

    Hello, I am a physics engineering student and i need a little help with fft function. I wrote the following code everything works, but when i get the fft. I was supose to obtain a sinc function and if you take a close look, it is a sinc, but in the wrong points, can anyone help me with this? if...
  20. N

    Fourier transform power dependent on frequency

    Homework Statement this is something i noticed doing homework rather than homework itself. I plot fft output from different frequency signals, i am not sure why power changes with increasing frequency? Homework Equations if i take (with MATLAB notation): time = 0:0.01:10 y =...
  21. B

    Would a guitar tuner work on a human voice ?

    So I have a program that works for a guitar, and sinewave and a saw tooth wave . so If a have person sing a note, it should work for that right ? I am not talking about sing a whole song but just a note. so like when people sing the scales: do ra me fa so la ti do is should would for that right...
  22. S

    Why didn't I see a peak at half the frequency in my FFT analysis of two waves?

    I am carrying out FFT analysis to compare two waves. One looks very much like a sine wave the other has an extra dip occurring at half the frequency of the main wave. I have been thinking around how I might expect this to show up in the FFT analysis. At first i was expecting to see a smaller...
  23. B

    FFT and guitar not working right

    Why is it that my FFT does not work when I play a note on a guitar ? I even tried audacity and it did not work . Is there some thing else beside a fft That I can use that can work for a guitar ? So if I play a C I and the program to get me the right frequency that is being played . My fft and...
  24. D

    What is the updated version of FFT that does not require 2^n data points?

    Back when I studied the FFT (many years ago), it was always described as transforming a sample based on 2^n data points. More recently, I have read that this restriction has been removed. Can anyone point me to a good reference on this newer form, preferably something available free on the 'net...
  25. B

    Convert FFT to IFFT: Steps to Get Right Values Back

    I have a working FFT, but my question is how do I convert it into an IFFT? I was told that an IFFT should be just like the FFT that you are using. this is the FFT I have: public Complex[] FFT(Complex[] x ) { int N2 = x.Length; Complex[] X = new...
  26. W

    Fft time axis for a signal that is a function of frequency

    Hello! I am attempting to do an FFT on a signal e^(jω+nδω)t, where t is constant and for n=0:N-1. This signal starts off at ω when n =0 and then increments in steps of δω until it reaches the final frequency ω+(N-1)δω. Performing an FFT on this signal will put me in the time domain so my...
  27. S

    MATLAB Measuring the 'purity' of a sine wave using FFT (Matlab)

    I have a range of sine waves I have obtained in an experiment. I want to put a measure on the purity of these sine waves - how well the reproduce a theoretical sine wave. Is there anyway I can analyse the FFT of the sine waves in Matlab and put a measure on the purity of the sine wave...
  28. P

    Fast Fourier Transform (FFT) power spectrum angle

    Dear Physics Buddies, How are well all, okay I hope. I was wondering if I might browse all your infinite intellects and ask you a very simple question. I am working with some medical images in MATLAB and my collaborators would like to know the orientation of the fibres that it contains...
  29. F

    Particle Mesh Method - FFT with Green Function

    Hello, For generating initial velocities on a N-Body code (modeling galaxy dynamics), I need to solve the Poisson equation with Green's function by applying Fast Fourier Transform. The Fourier analysis being more straightforwardly performed in a periodic system, I use the "zero padding trick"...
  30. S

    MATLAB Benefits of DFT over FFT in MATLAB

    From what I have read, FFT seems to simply be faster than DFT, thus making DFT redundant. However, if computational speed is not an issue, are there any advantages of using DFT over FFT (such as increased precision, for example)?
  31. B

    Maximizing Your Sound System: Understanding FFT and Low Frequencies"

    so my fft is working for notes 8b-1G# so from 7902 Hz to 51.91 Hz after that it says 46.25 Hz is the same 49.00Hz : notes 1F# and 1G. it then says notes 1E and notes 1F are the same (41.20Hz, 43.65Hz) I am using this site : http://onlinetonegenerator.com/?freq=5000 to product the...
  32. B

    Is the FFT effective for analyzing real world music?

    so I have a program that pull data from a microphone and does an FFT. now it is working for computer Generated Sin waves like from: http://onlinetonegenerator.com/ and youtube.. but not for read work sound from youtube. so I do not have a piano, but I have been using youtube videos...
  33. B

    C# C# FFT Troubleshooting: Sampling at 44100 Hz, 16384 Samples

    I am trying to make this but my FFT is not getting close enough to the right Values I am Sampling at a 44100 Hz rate and I am sending 16384 samples to the fft at a time but it is not close I have attach a pic what should i do? I know the FFT work.. because i compared...
  34. B

    MATLAB Help with FFT Code Troubleshooting in Matlab

    ok I have been troubleshooting this code left and right... but I am still not getting what Mat lab is getting... can someone please look at this for me ? private float Fs; private int N; private Complex [] F; private int R; private Complex[] x...
  35. B

    MATLAB Troubleshooting FFT code with MATLAB

    ok I wrote my own FFT class and I now have MatLab on my computer. I am comparing my code to mat-lab. so my test i used it this : for (int y = 0; y < 100; y++) { double temp8 = (2D * (Math.Sin(2D * Math.PI * 4D * (double)y / 100D)))...
  36. C

    FFT vs Filon's Rule: Accuracy Comparison

    Homework Statement Suppose we can calculate a quantity f(t) and we need its Fourier transform F(w). Looks to me that accuracywise Filon's rule, e.g. approximating the computed f(t) by splines and analytically integrating piecewise should be more accurate than an FFT, at least for a smooth...
  37. B

    Solving FFT Issues in Real World - Hi, I'm Using YouTube Vid

    Hi so I have a working FFT. I tested it but inputting sin waves into it. will not i am inputting sound waves from a Mic and it is not looking to do... example: I am using to youtube vid it outputs B7 (Musical note) b′′′′ Four-lined 3951.066 Frequency and I run my program this is what I...
  38. B

    When using a FFT should I convert the AtoD samples into a Voltage?

    when using the FFT for DSP should I convert the A to D samples back into a Voltages ? so A to D sample = sample voltage * ( bits / max Voltages) so sample Voltage = (A to D sample ) *(max Voltages/ bits) that is right, right? anyhow should I keep the samples as digital...
  39. J

    Why Are FFT Frequencies Inaccurate in My Java Program?

    Hi there, I am using a basic java program to identify the frequency of a note captured by the microphone. The problem is that frequencies don't seem accurate. package com.overdrive.FreqFinder; import java.nio.ByteBuffer; import java.nio.ByteOrder; import...
  40. L

    Question regarding y-axis units in FFT

    Hi all, Havent turned to this forum in quite some time but hoping you might be able to explain to me my y-axis in the audio FFT I have below. How should I understand the units of dB/20u Pa? Ideally I want to convert this into dBa or something, I'm just not sure how to get a "feel" for this...
  41. B

    Code for matlab convolution by FFT

    Homework Statement You have two functions in Matlab (represented as column vectors). Compute their convolution using the fast Fourier transform. Homework Equations The Attempt at a Solution I am having trouble finding a book with this topic. I would like to know where the...
  42. O

    MATLAB MATLAB FFT: Zero Out DC Component for Better Frequency Analysis

    Hello, I am hoping someone can give me some advice. I need to zero out the DC component of an FFT I have done, so I can get a better look at the rest of the frequency components, so how would one go about doing that? I am not looking the code, just some advice ...I have just really started...
  43. J

    Cooley-Tukey FFT: You don't have to zeropad to a power of 2?

    Someone wrote "The algorithm that Cooley and Tukey presented in their classic paper (Math. Comp. 19 (1965), 297-301. http://dx.doi.org/10.1090/S0025-5718-1965-0178586-1) can be applied to any composite length. The performance advantages are greatest for highly composite lengths, of which...
  44. S

    Fortran Help FFT subroutine fortran 77

    Does someone have an effective two-dimensional FFT subroutine in Fortran 77?
  45. L

    Spatial frequency of pixels in an FFT transformed image

    This question is about converting from spatial to frequency domains when performing an FFT on 2D image data. I suspect my problem has a painfully obvious solution that I'm just not seeing. If I have some image data g(x,y) where I know the pixel resolution, say 256x256 pels at a resolution of...
  46. C

    Fortran Wanted: Ancient Fortran FFT source code

    Hi. I'm new here and wasn't sure which forum to post this request on, but this one seemed a good start. I am developing a talk/seminar on dealing with legacy code. In the late 1990s I was working for a large corporation in a software capacity and one day idly wondered what the source code...
  47. J

    Correct Plot of FFT Phase for Audio File Analysis?

    Homework Statement I would like get an advice whatever the plot of phase (in radians) of the FFT computation of audio file is correct. Is it not supposed to show a decrease as the frequency increases ? Homework Equations
  48. S

    What is FFT Frequency Resolution?

    Hi everyone, Please excuse the somewhat basic question. I'm a mechanical engineering student a little out of my realm! I'm doing some work with signal processing and have been given some data (a series of vibration measurements, out of interest). This includes the following: I'm a little...
  49. J

    Convolution of two probability distributions using FFT

    I've been trying to code an algorithm to compute the convolution of two probability distributions. using the FFT. This relies on the "convolution theorem": (p*q)[z] = FFT^{-1}(FFT(p) \cdot FFT(q)) However, when I test it using the distributions p={0.1, 0.2, 0.3, 0.4} q={0.4, 0.3, 0.2, 0.1}...
  50. J

    FFT and Resistor Noise Newbie Questions - PLEASE HELP

    Hi all. I have been recording the thermal noise produced by a number of resistors. I have created a excel sheet that takes the readings from the 8 1/2 DVM and performs a FFT on them, in order to give me the frequency domain plot. However I am not 100% certain of what I am seeing because of my...
Back
Top