Reply by Michael Felber●November 17, 20052005-11-17
Okay, I answer by myself:
out[i][0], out[i][1], ...
Reply by Micha80●November 16, 20052005-11-16
Hi,
just another silly question:
You reserve memory with
in = fftw_malloc(sizeof(fftw_complex) * N);
out = fftw_malloc(sizeof(fftw_complex) * N);
So, how to access each single element there?
One single Element is declared as
typedef double fftw_complex[2];
I have no idea how to read this structure out of the allocated memory.
Thanks in advance, Michael
Reply by ●November 16, 20052005-11-16
Micha80 wrote:
> The problem is, that values in in1 are all zero now. But there must be the
> values 0...len-1 again.
FFTW FAQ, Q3.16.
Reply by Micha80●November 16, 20052005-11-16
Hi,
I use the FFTW lib to do a FFT and a IFFT of real data.
So I declare
int len = 32;
out1 = (fftw_complex*) fftw_malloc(sizeof(fftw_complex) * len);
in1 = (double*) malloc(sizeof(double) * len);
I initialize the in1 field with 0,1,2,3...len-1
I do the FFT due to the documentation:
p_for = fftw_plan_dft_r2c_1d(len, in1, out1, FFTW_FORWARD);
fftw_execute(p_for);
And now the Inverse FFT after the IFFT:
p_back = fftw_plan_dft_c2r_1d(len, out1, in1, FFTW_BACKWARD);
fftw_execute(p_back);
The problem is, that values in in1 are all zero now. But there must be the
values 0...len-1 again.
Thanks in advance, Michael