dst是复杂的DFT结果,也是此部分代码完成后的最后结果。
for( j = 2, wave++; j < n2; j += 2, wave++ )
{
/* calc odd */
h2_re = scale2*(dst[j+1] + t);
h2_im = scale2*(dst[n-j] - dst[j]);
/* calc even */
h1_re = scale2*(dst[j] + dst[n-j]);
h1_im = scale2*(dst[j+1] - t);
/* rotate i can not understand this*/
t = h2_re*wave->re - h2_im*wave->im;
h2_im = h2_re*wave->im + h2_im*wave->re;
h2_re = t;
t = dst[n-j-1];
dst[j-1] = h1_re + h2_re;
dst[n-j-1] = h1_re - h2_re;
dst[j] = h1_im + h2_im;
dst[n-j] = h2_im - h1_im;
}
为什么需要另一个旋转/ * rotate * /
答案 0 :(得分:0)
因为根据
所以需要转动。