2022年FFT的C语言编程 .pdf
《2022年FFT的C语言编程 .pdf》由会员分享,可在线阅读,更多相关《2022年FFT的C语言编程 .pdf(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、FFT 的 C语言编程1.程序:#include #include #define re 0 /* re=0,用 re 表示实部 */ #define im 1 /* im=1,用 im 表示虚部 */ main() float x1282,w2,temp2; /* x1282: 复数变量;xire: 第 i 个复数变量的实部;xiim: 第 i 个复数变量的虚部;w2 : 存储旋转因子 WN P,wre、wim分别代表旋转因子的实部和虚部;temp2: 蝶形计算中的临时变量,tempre、tempim分别代表其实部和虚部;*/ float arg,wreal,wimag; /* arg 存储
2、旋转因子指数p( 数值上相差 - 2 /N) 。wreal 存储 cos(arg),wimag 存储-sin(arg) */ float tem,tr,ti; int L,M,B,j,i,k, N,N2; char c=i; scanf(%d %d,&N,&M); /* 输入复数信号长度N,蝶形运算级数M */ N2=N1; for(j=0;jN;j+) /* 输入复数信号实部和虚部 */ scanf(%f %f,&xjre,&xjim); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - -
3、 第 1 页,共 8 页 - - - - - - - - - printf(n); /* 输入倒序 */ for(j=0,i=1;iN-1;i+) k=N2; while(k1; j=j+k; if(ij) tr=xjre; ti=xjim; xjre=xire; xjim=xiim; xire=tr; xiim=ti; /*FFT 三重循环模块 */ for(L=1; L=M; L+) /* 逐级进行计算共M 级*/ B=1L-1; /* 第 L 级共有 B=2L-1 个不同的旋转因子 */arg=-acos(-1)/B; /* 旋转因子初始化注释见结尾处*/wre=cos(arg); wi
4、m=-sin(arg); for(j=0; jB; j+) /* j 代表第 L 级不同旋转因子的个数 */ /* 旋转因子 */ arg=acos(-1)/B;/* arg= / */wreal=cos(arg); wimag= -sin(arg); tem=wre*wreal-wim*wimag; wim=wre*wimag+wim*wreal; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 8 页 - - - - - - - - - wre=tem; for(k=
5、j; kN; k+=2*B) /* 第 L 级具有相同旋转因子蝶形计算,每个蝶形相距2L=2B 个点*/ tempre=xk+Bre*wre-xk+Bim*wim; tempim=xk+Bim*wre+xk+Bre*wim; xk+Bre=xkre-tempre; xk+Bim=xkim-tempim; xkre=xkre+tempre; xkim=xkim+tempim; /* 编写蝶形运算程序 */ /* 第 L 级每个蝶形计算的输入节点距离为B */ /* 蝶形运算? ? ? + ? = + + + = xi B i x W i x B i x B i x W i x P N P N *
6、/ /* 利用临时存储变量temp2计算 WN Pxi+B */ /* 复数运算: (a+bj)(c+dj)=(ac-bd)+(bc+ad)j */ /* tempre= ac-bd,tempim= bc+ad */ for(j=0;jN;j+) /* 输出*/ printf(%f %c%fn,xjre,c,xjim); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 8 页 - - - - - - - - - /* 计算旋转因子说明) ( 2 * L M j P ? =
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年FFT的C语言编程 2022 FFT 语言 编程
限制150内