最近调用FFTW来做reconstruction,遇到一个问题,先贴code:

 1         #define N 10 
 2     fftw_complex in[N], out[N];
 3     fftw_plan p;
 4 
 5     p = fftw_plan_dft_1d(N, inout, FFTW_FORWARD, FFTW_ESTIMATE);
 6 
 7     // 初始化in
 8     for (int i = 0; i < N; i++)
 9     {
10         in[i][0= i;        // 实数部分
11         in[i][1= 0;        // 虚数部分
12     }
13 
14 
15     // 执行fftw
16     fftw_execute(p);
17 
18     fftw_complex out1[N];
19 
20     fftw_plan p1;
21 
22     p1 = fftw_plan_dft_1d(N, out, out1, FFTW_BACKWARD, FFTW_ESTIMATE);
23 
24     fftw_execute(p1);
25 
26     fftw_destroy_plan(p);
27     fftw_destroy_plan(p1);
28 
29     double residual = 0;
30 
31     for(int i = 0; i < N; i++)
32     {
33         out1[i][0/= N;
34         out1[i][1/= N;
35 
36         residual += (out1[i][0- in[i][0])*(out1[i][0- in[i][0]) 
37                 + (out1[i][1- in[i][1])*(out1[i][1- in[i][1]);
38     }
39 
40 
41     if (residual < 1e-6)
42         cout << "1D FFT passed successful!" << "  ---  " << "residual : " << residual << endl;
43     else
44         cout << "1D FFT failed!" << "  ---  " << "residual : " << residual << endl;

相关文章:

  • 2021-06-08
  • 2021-12-22
  • 2022-02-15
  • 2022-12-23
  • 2022-12-23
  • 2021-12-08
  • 2021-07-10
猜你喜欢
  • 2022-12-23
  • 2022-01-18
  • 2021-05-22
  • 2022-12-23
  • 2021-07-17
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案