void FFT()
{
unsigned char L,B,J,Jump,i,K;
struct complex F,W_i_N;
for(L=1;L<=7;L++) //L为蝶形运算级数
{
B=1<<(L-1); //B为跨度 第一级跨度为1 第二级跨度为2 第三级跨度为4
for(J=0;J<B;J++)
{
i=(1<<(7-L))*J; // Px=J*PS;不能这样写!!要移位运算在前,乘法在后
W_i_N=Rotation_factor(i);
Jump=1<<L;
for(K=J;K<128;K=K+Jump) //CT为碟形单元大小 每加一个CT for循环跳过当前蝶形单元计算下一个碟形单元
{
F=mult(A_Reality[K+B],W_i_N); //F_0=add(A[K],F);乘法在里面,不能这样写!!
A_Remember[K]=add(A_Reality[K],F); //BK[0]=add(A[K],mult(A[K+B],WP));乘法在里面,不能这样写!!
A_Remember[K+B]=sub(A_Reality[K],F);
A_Reality[K]=A_Remember[K];
A_Reality[K+B]=A_Remember[K+B];
}
}
}
}
08-23
752
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
01-01
8566
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交