> Hi all,
>
> I was hoping someone could shed some light on this problem Im having. Ill
> be as clear as possible.
>
> Im using the Java JNI wrapper for FFTW. The problem I am having is
> regarding the imaginary components being returned from a real to complex
> tranform.
>
> As I understand it, the format of the array returned by the FFTW real to
> complex transform is (for an even N length signal);
>
> [dc][r1][r2][r3][r4][ny][i4][i3][i2][i1]
>
> where
> dc = direct component
> ny = nyquist
> and
> (rx, ix) are the various imaginary numbers
>
> If I input a pure cosine wave of fHz, I would assume that all the [ix]
> elements of the array would be zero or close enough. However I'm getting
> some non-trivial values in the imaginary parts of the array.
>
> I'm at a total loss as to why this is. Are any of my assumptions incorrect
> or has anyone had similar experiences?
>
> Thanks in advance!
>
> Sean
An FFT of a totally real input signal will, in general, return results
with nonzero real and imaginary parts. If the input signal has even
symmetry around 0 then the FFT should be all real, if it has odd
symmetry around 0 then the FFT should be all imaginary.
--
Tim Wescott
Wescott Design Services
http://www.wescottdesign.com
Posting from Google? See http://cfaj.freeshell.org/google/
"Applied Control Theory for Embedded Systems" came out in April.
See details at http://www.wescottdesign.com/actfes/actfes.html
Reply by SeanOg●May 16, 20062006-05-16
Hi all,
I was hoping someone could shed some light on this problem Im having. Ill
be as clear as possible.
Im using the Java JNI wrapper for FFTW. The problem I am having is
regarding the imaginary components being returned from a real to complex
tranform.
As I understand it, the format of the array returned by the FFTW real to
complex transform is (for an even N length signal);
[dc][r1][r2][r3][r4][ny][i4][i3][i2][i1]
where
dc = direct component
ny = nyquist
and
(rx, ix) are the various imaginary numbers
If I input a pure cosine wave of fHz, I would assume that all the [ix]
elements of the array would be zero or close enough. However I'm getting
some non-trivial values in the imaginary parts of the array.
I'm at a total loss as to why this is. Are any of my assumptions incorrect
or has anyone had similar experiences?
Thanks in advance!
Sean