From: yoshiki9@... Date: 2006-06-03T12:54:42+09:00 Subject: Re: Time domain to frequency domain with FFT from GSL > The items after N/2 are the "negative frequencies" It is not the case for real FFTs, the negative frequency components are not stored in the returned array. Time domain data of length N are represented by N Fourier components with N/2 positive and N/2 negative frequencies. The negative components are "mirror image" of the positives, just complex- conjugate, as Adam said. In many cases only the positive frequency components are used in analyses. If the input vector with N elements are complex-valued, it is 2N long, and the FFTed data contains N Fourier components. Since each of the components is complex and represented by two values (real, imag), the length required to store the FFTed data are 2N, (N/2)*2 for positive frequencies and (N/2)*2 for negatives. If the input vector is of N real, we have only N length field (many of C FFT routines store the results in-plane) and thus only the positive frequency components of N/2 complex values are stored in the results. > On 6/1/06, Alex Polite wrote: > > > > Howdy. > > > > I need to do some Fast Fourier Transforms for an audio project I'm > > working on. Problem is I don't know shit about math ;) > > > > Reading a dozen online tutorials on FFT tells me that the FFT of a > > vector of real time domain data of size N should yield a vector of > > frequency domain data of size N/2. > > > > So I try out the different FFT functions in GSL, but the ones that > > accept a vector of real data of size N also return a vector of > size N. > > > > What's the deal here? > > > > --v