繁体   English   中英

FFTW中的有效计划r2c 1d

[英]Efficient plan r2c 1d in FFTW

我读到,FFTW计划需要花费几秒钟,因此最好一次调用它,然后在for循环中调用execute() 这是我的情况。 但是,当然,在每个循环中,输入数据都是不同的,但是大小是相同的,那么我该如何改善呢? 是否可以使用布尔变量更好地解决?

fftw_plan my_plan;

in = (fftw_complex*) fftw_malloc(sizeof(fftw_complex)*N);
v = (double*) fftw_malloc(sizeof(double)*N);
out = (fftw_complex*) fftw_malloc(sizeof(fftw_complex)*N);


my_plan =fftw_plan_dft_r2c_1d(N,v,out,FFTW_ESTIMATE);
fftw_execute(my_plan);


fftw_destroy_plan(my_plan);

另外,这个dft的r2c仅向前吗?

您可以为每个FFT重新使用相同的缓冲区(通常需要将数据复制到输入/输出缓冲区中,或者从输入/输出缓冲区中复制数据,或者无论如何都可以在整数和浮点数之间进行转换),也可以使用以下“多个” FFTW计划之一高级接口 ,例如使用fftw_plan_many_dft()

对于逆FFT,您可能希望使用上述两种方法之一进行C2R计划,并在创建计划时使用FFTW_BACKWARD标志。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM