簡體   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