C++
C#
VB
JScript
All

External Function fft_in_place


Copyright (C) 2005 IENT-RWTH Aachen

template<class G> inline void fft_in_place(Vector<G> &X)

FFT in place of a signal

Parameters

Output argumentX

The FFT

Remarks

For complex signal, this function is equivalent to fft(X,X).

The FFT of a real signal with N terms is complex and has the following symmetry property:

Y[N-i] = conj(Y[i])

The arrangement of the compact half-complex terms uses the following scheme:

k = 0 X[k] = real(Y[k]), imaginary part is zero and not stored
k < N/2 X[k] = real(Y[k]), X[N-k] = imag(Y[k])
k = N/2 X[k] = real(Y[k]), imaginary part is zero and not stored
k > N/2 Terms not stored but can be reconstructed using the symmetry property.

Example

DenseVector<float>::self X(4, 1);
fft_in_place(X);