fft快速傅里叶变换-c语言实现.doc

fft快速傅里叶变换-c语言实现.doc

ID:54765308

大小:16.50 KB

页数:3页

时间:2020-04-21

fft快速傅里叶变换-c语言实现.doc_第1页
fft快速傅里叶变换-c语言实现.doc_第2页
fft快速傅里叶变换-c语言实现.doc_第3页
资源描述:

《fft快速傅里叶变换-c语言实现.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、#include#include#include#defineN1000/*定义复数类型*/typedefstruct{doublereal;doubleimg;}complex;complexx[N],*W;/*输入序列,变换核*/intsize_x=0;/*输入序列的大小,在本程序中仅限2的次幂*/doublePI;/*圆周率*/voidfft();/*快速傅里叶变换*/voidinitW();/*初始化变换核*/voidchange();/*变址*

2、/voidadd(complex,complex,complex*);/*复数加法*/voidmul(complex,complex,complex*);/*复数乘法*/voidsub(complex,complex,complex*);/*复数减法*/voidoutput();intmain(){inti;/*输出结果*/system("cls");PI=atan(1)*4;printf("Pleaseinputthesizeofx:");scanf("%d",&size_x);printf("Ple

3、aseinputthedatainx[N]:");for(i=0;i

4、;j+=2*l){/*一组蝶形运算*/for(k=0;k

5、[i].real=cos(2*PI/size_x*i);W[i].img=-1*sin(2*PI/size_x*i);}}/*变址计算,将x(n)码位倒置*/voidchange(){complextemp;unsignedshorti=0,j=0,k=0;doublet;for(i=0;i0){j=j<<1;j

6、=(k&1);k=k>>1;}if(j>i){temp=x[i];x[i]=x[j]

7、;x[j]=temp;}}}/*输出傅里叶变换的结果*/voidoutput(){inti;printf("Theresultareasfollows");for(i=0;i=0.0001)printf("+%.4fj",x[i].img);elseif(fabs(x[i].img)<0.0001)printf("");elseprintf("%.4fj",x[i].img);}}voidad

8、d(complexa,complexb,complex*c){c->real=a.real+b.real;c->img=a.img+b.img;}voidmul(complexa,complexb,complex*c){c->real=a.real*b.real-a.img*b.img;c->img=a.real*b.img+a.img*b.real;}voidsub(complexa,complexb,complex*c){c->real=a.real-b.real;c->img=a.img-b.img;

9、}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。