hur.cn - 华软网

 热门搜索

懂fftw的进来看一下

  作者:未知    来源:网络    更新时间:2011/9/28
我是用fftw对一位数组进行fft运算,测试代码如下:
double *in;
fftw_complex *out;
int n=Space.size();
in=(double*)malloc(sizeof(double)*n);
out=(fftw_complex*)fftw_malloc(sizeof(fftw_complex)*n);
for(int i=0;i<n;i++)
{
   in[i]=Space[i];
}
fftw_plan p=fftw_plan_dft_r2c_1d(n,in,out,FFTW_ESTIMATE);
fftw_execute(p);
        free(in);
fftw_free(out);
 其中前面的Space是用vector定义的一个动态数组,现在为了测试方便取值为1,0,0,1四个数,采用断点监察可以看到这四个数赋值给了in数组,但是在使用上述fftw函数进行fft转换后得到的的out值之后3个有效值,第四个out[3][0]和out[3][1]是不对的,请问这个问题是出在哪里的呢?
---华软 网友回答---
是不是数据大小问 题呢,顶了。。。
---华软网友回复---
引用 1 楼 lznj06 的回复:
是不是数据大小问 题呢,顶了。。。

找到问题了,fftw_plan_dft_r2c_1d这个函数得到的结果只有n/2+1个。。。。我准备换成fftw_plan_dft_1d试试      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。