Fast Fourier transform (FFT) illustrated

    Start To launch labAlive simulation applications you need a Java Runtime Environment supporting Java Web Start on your system. Here you can get more information about installing the right Java version. title="Start via Windows Batch Start" onclick="gtag('event', 'Fft', {'event_category': 'Launch bat', 'event_label': 'FFT calculator'});">

The FFT is an efficient algorithm to compute the discrete Fourier transform (DFT).

The FFT takes a time signal defined by discrete time points, e.g. N = 8 (left) and computes the spectrum (right)
The FFT takes a time signal defined by discrete time points, e.g. N = 8 (left) and computes the spectrum (right).

The FFT transforms a time signal x to a frequency signal X. And vice versa, the IFFT transforms a frequency signal X to a time signal x.

FFTIFFT
X k = n=0 N1 x n e j2πk n N MathType@MTEF@5@5@+= feaagKart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaamiwamaaBa aaleaacaWGRbaabeaakiabg2da9maaqahabaGaamiEamaaBaaaleaa caWGUbaabeaaaeaacaWGUbGaeyypa0JaaGimaaqaaiaad6eacqGHsi slcaaIXaaaniabggHiLdGccaWGLbWaaWbaaSqabeaacqGHsislcaWG QbGaaGOmaiabec8aWjaadUgadaWcaaqaaiaad6gaaeaacaWGobaaaa aaaaa@4ABD@ x k = 1 N n=0 N1 X n e j2πk n N MathType@MTEF@5@5@+= feaagKart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaamiEamaaBa aaleaacaWGRbaabeaakiabg2da9maalaaabaGaaGymaaqaaiaad6ea aaWaaabCaeaacaWGybWaaSbaaSqaaiaad6gaaeqaaaqaaiaad6gacq GH9aqpcaaIWaaabaGaamOtaiabgkHiTiaaigdaa0GaeyyeIuoakiaa dwgadaahaaWcbeqaaiaadQgacaaIYaGaeqiWdaNaam4Aamaalaaaba GaamOBaaqaaiaad6eaaaaaaaaa@4B6E@
FFT / DFT and IFFT / DFT definitions

The spectrum analysis (FFT) and signal synthesis (IFFT) equations look quite similar apart from the term 1 N MathType@MTEF@5@5@+= feaagKart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaWaaSaaaeaaca aIXaaabaGaamOtaaaaaaa@3795@ . This asymmetry leads to a power variation of the time and frequency signal.

See also

Create your individual signal spectra by using the FFT calculator. Click on the start button Launch button above!

Calculate the FFT of real and complex time domain signals. Plot time and frequency signals
Calculate the FFT of real and complex time domain signals. Plot time and frequency signals.

Enter the time domain samples. Press Submit to calculate the frequency domain result.

Enter the time domain data – example formats. Or copy-paste values, e.g. from Excel. Enter the time domain data – example formats. Or copy-paste values, e.g. from Excel. Enter the time domain data – example formats. Or copy-paste values, e.g. from Excel. Enter the time domain data – example formats. Or copy-paste values, e.g. from Excel. Enter the time domain data – example formats. Or copy-paste values, e.g. from Excel.
Enter the time domain data - example formats. Or copy-paste values, e.g. from Excel.
Plot time and frequency signals
Plot time and frequency signals

Some examples illustrate the Fast Fourier transform. Time signals and corresponding frequency signals are shown.

Time domainFrequency domain
DC component
DC component
Spectral line at frequency f=0
Spectral line at frequency f=0
Time signal - Dirac delta impulse
Time signal - Dirac delta impulse
Constant spectrum
Constant spectrum
Time signal � cosine with frequency fmax/2
Time signal - cosine with frequency f max 2 MathType@MTEF@5@5@+= feaagKart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaWaaSaaaeaaca WGMbWaaSbaaSqaaiGac2gacaGGHbGaaiiEaaqabaaakeaacaaIYaaa aaaa@3AB8@
Time signal - cosine with frequency +-fmax/2
Spectral lines at frequencies ± f max 2 MathType@MTEF@5@5@+= feaagKart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaeyySae7aaS aaaeaacaWGMbWaaSbaaSqaaiGac2gacaGGHbGaaiiEaaqabaaakeaa caaIYaaaaaaa@3CA6@
Time signal � cosine with frequency fmax
Time signal - cosine with frequency f max MathType@MTEF@5@5@+= feaagKart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaamOzamaaBa aaleaaciGGTbGaaiyyaiaacIhaaeqaaaaa@39E2@
Spectral line at frequency fmax
Spectral line at frequency f max MathType@MTEF@5@5@+= feaagKart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaamOzamaaBa aaleaaciGGTbGaaiyyaiaacIhaaeqaaaaa@39E2@
FFT examples (N = 8). The time and frequency domain signals are real and even.
Time domainFrequency domain
Time signal - pulse
Time signal - pulse
Spectrum signal - Sinc function
Spectrum signal - Sinc function
FFT examples (N = 32). The time and frequency domain signals are real and even.
Time domainFrequency domain
Time signal - complex rotating phasor
Time signal - complex rotating phasor
Single spectral line
Single spectral line
FFT examples (N = 8). Complex time domain signal.


1. Fast Fourier transform. Time signals are shown on the left. Assign the corresponding spectra on the right per drag & drop!

    Time domain

    Fequency domain