/*输入序列对应的值*/
for(i=0;i<size_x;i++)
scanf("%lf %lf",&x[i].real,&x[i].img);
initW();
//计算W(0)~W(size_x-1)的值
fft(); //利用fft快速算法进行DFT变化
output(); //顺序输出size_x个fft的结果
return 0;
} /*进行基-2 FFT运算,蝶形算法。这个算法的思路就是先把计算过程分为log(size_x)/log(2)-1级(用i控制级数)然后把每一级蝶形单元分组(用j控制组的第一个元素起始下标)最后算出某一级某一组每一个蝶形单元(用k控制个数,共l个)。
*/
void fft()
{
int i=0,j=0,k=0,l=0;
complex up,down,product;
{
//算出j组中第k个蝶形单元
mul(x[j+k+l],W[(size_x/2/l)*k],&product); /*size/2/l是该级W的相邻上标差,l是该级该组取的W总个数*/
add(x[j+k],product,&up);
sub(x[j+k],product,&down);
x[j+k]=up;
//up为蝶形单元右上方的值
- 上一篇:Asp.net可视化程序设计课程网站建设+ER图
- 下一篇:C#+SQL Server物流公司系统管理和人事管理设计
-
-
-
-
-
-
-
杂拟谷盗体内共生菌沃尔...
乳业同业并购式全产业链...
十二层带中心支撑钢结构...
酸性水汽提装置总汽提塔设计+CAD图纸
当代大学生慈善意识研究+文献综述
java+mysql车辆管理系统的设计+源代码
电站锅炉暖风器设计任务书
大众媒体对公共政策制定的影响
河岸冲刷和泥沙淤积的监测国内外研究现状
中考体育项目与体育教学合理结合的研究