t=EE(xin[ip],u); //蝶形运算,详见公式
xin[ip].real=xin[i].real-t.real;
xin[ip].imag=xin[i].imag-t.imag;
xin[i].real=xin[i].real+t.real;
xin[i].imag=xin[i].imag+t.imag;
}
u=EE(u,w); //改变系数,进行下一个蝶形运算
}
}
}
}
/************************************************************
函数原型:void main()
函数功能:测试 FFT 变换,演示函数使用方法
输入参数:无
输出参数:无
************************************************************/
void main()
{
int i;
for(i=0;i<FFT_N;i++) //给结构体赋值
{
s[i].real=sin(2*3.141592653589793*i/FFT_N); //实部为正弦波 FFT_N 点采样,赋值为 1
s[i].imag=0; //虚部为 0
}
FFT(s); //进行快速福利叶变换
for(i=0;i<FFT_N;i++) //求变换后结果的模值,存入复数的实部部分
s[i].real=sqrt(s[i].real*s[i].real+s[i].imag*s[i].imag);
while(1);
}