MagicPlot Manual

Plotting and nonlinear fitting software

User Tools

Site Tools


fft

This is an old revision of the document!


Table of Contents

Fast Fourier Transform (FFT)

Open Table or Figure or Plot with initial data and use Analysis → Fast Fourier Transform menu item to perform FFT.

MagicPlot uses the algorithm of FFT that does not require the number of points N to be the integer power of 2. Though the evaluation time of the FFT algorithm is much less if N is the integer power of 2.

FFT of Table FFT of Figure or Plot

Formulas

Discrete Fourier Transform Formulas

MagicPlot uses 'electrical engineering' convention to set the sign of the exponential phase factor of FFT as follows from the table below. 1)

Normalize Forward
Transform
Forward Transform
(Signal→Spectrum)
Inverse Transform
(Spectrum→Signal)
Unchecked C_n = sum{k=1}{N}{c_k e^{−2 pi i k n {/} N}} c_n = 1/N sum{k=1}{N}{C_k e^{2 pi i k n {/} N}}
Checked C_n = 1/N sum{k=1}{N}{c_k e^{−2 pi i k n {/} N}} c_n = sum{k=1}{N}{C_k e^{2 pi i k n {/} N}}

Here c_n are complex signal components and C_n are complex spectrum components, n = 1...N.

The only difference is in the sign of exponential phase factor and 1/N multiplier.

Note: If you expect to get the original data when doing a inverse FFT of forward FFT set the Normalize Forward Transform and Center Zero Frequency check boxes identically for forward and inverse transforms.

Amplitude and Phase Columns Formulas

Amplitude_n = sqrt{{Re_n}^2 + {Im_n}^2},~~ Phase_n = atan2(Im_n,~ Re_n)

Because of using atan2 function the phase is unwrapped and is in range (− pi,~ pi].

Sampling Column Formulas

Center Zero
Frequency
Sampling Column Values
Unchecked 0,~ 1/{N Delta t},~ 2/{N Delta t},~ ... ~{N−1}/{N Delta t}
Checked {−{N{/}2}/{N Delta t}},~ ...~ 0,~ ... ~{N{/}2−1}/{N Delta t}

Here Delta t is given sampling interval of initial data.

Missing Values in the Original Data

Fourier transform implies that the original samples are uniformly distributed in time (for forward transform) of frequency (for inverse transform).

Missing values in the middle or in beginning of original data columns are treated as zeros, the result of Fourier transform may be incorrect.

Missing values in the end of the column are ignored.

Parameters

Sampling Interval Sampling interval of original data Delta t is used to compute the data in resulting sampling column. If Get from box is set, MagicPlot will calculate sampling interval as difference between two beginning values from given column. You can set sampling interval manually by checking Set manually box.
Note that using of discrete Fourier transform implies that the samples in your original data are equally spaced in time/frequency, i.e. the sampling interval is constant. If the sampling interval is varying or real and/or imaginary data contains empty cells in the middle, the result of discrete Fourier transform will be incorrect.
Real,
Imaginary
Columns with real and imaginary components of data.
If your data is only real, select <all zeros> imaginary item
Forward /
Inverse
Transform direction (here Inverse equals to Backward)
Normalize forward transform Divide forward transform result by number of points N (see table). If your original data is real, you may want to additionally multiply the result by 2 to get the true amplitudes of real signal
Center zero frequency If selected, after forward Fourier transform the two parts of spectrum will be rearranged so that the lower frequency components are in the center; the opposite rearrangement of spectrum will be done before inverse transform if any.
1)
Most scientific applications uses the same sign conventions. But note, that the sign of exponential phase factor in Numerical Receipts in C, 2nd edition, p. 503 is the opposite
fft.1272606070.txt.gz · Last modified: Sun Nov 8 12:20:32 2015 (external edit)