- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言实现FFT
孙大江 20092420128
程序如下
#include stdafx.h
#include stdio.h
#include math.h
#include stdlib.h
#include graphics.h
#include conio.h
#define N 1000
/*定义复数类型*/
typedef struct
{
double real;
double img;
}complex;
void fft(); /*快速傅里叶变换*/
void ifft();
void initW(); /*初始化变换核*/
void change(); /*变址*/
void add(complex ,complex ,complex *); /*复数加法*/
void mul(complex ,complex ,complex *); /*复数乘法*/
void sub(complex ,complex ,complex *); /*复数减法*/
void divi(complex ,complex ,complex *);/*复数除法*/
void output();
/*输出结果*/
complex x[N], *W; /*变换核*/
int size_x=0; /*输入序列的大小,在本程序中仅限2的次幂*/
double PI=atan(1)*4; /*定义圆周率*/
int main()
{
int i, X, Y,flt=0;
int gd=DETECT,gm;
system(cls);
printf(输入正弦频率X:\n);
scanf(%d,X);
printf(输入采样频率Y(理想情况下应是2的整数次幂):\n);
scanf(%d,Y);
if(int(Y)==2||int(Y)==4||int(Y)==8||int(Y)==16||int(Y)==32||int(Y)==64||int(Y)==128||int(Y)==256||int(Y)==512||int(Y)==1024)
flt=1;
if(flt==0)
{ printf(注意!输入的Y不是2的整数次幂!\n);
}
printf(输入采样点数size_x:\n);
scanf(%d,size_x);
for(i=0;isize_x;i++)
{
x[i].real=sin(2*PI*X*i/Y);
x[i].img=0;
}
initW();
fft();
output();
for(i=0;isize_x;i++)
{ //求变换后结果的模值,存入复数的实部部分
x[i].real=sqrt(x[i].real*x[i].real+x[i].img*x[i].img);
}
//registerbgidriver(EGAVGA_driver);
initgraph(gd,gm,);
cleardevice();
setcolor(WHITE);
line(400,400,400,50);
line(400,50,395,55);
line(400,50,405,55);
line(200,400,600,400);
line(600,400,595,395);
line(600,400,595,405);
setcolor(WHITE);
for(i=0;isize_x;i++)
line(i*10+400-size_x*10/2,400,i*10+400-size_x*10/2,400-(int)x[i].real*10);
getch();
closegraph();
return 0;
}
/*快速傅里叶变换*/
void
您可能关注的文档
- 道路工程技术试题库.doc
- 道素菜.doc
- 道路测量程序.doc
- 遗产范围的界定及其立法模式选择.doc
- 遗传学复习参考之数量遗传.doc
- 遗传学50题(答)20040223.doc
- 遗传归纳.doc
- 遗传算法源程序.doc
- 遗传算法应用的分析与研究.doc
- 遗传算法的实现.doc
- 销售后技术nokia rae 1n 4诺基亚9000iRaeRak 1n4.pdf
- 八年级下册期中真题汇编——记叙文阅读.doc
- 中考语文真题汇编专题——记叙文阅读03.docx
- 七年级下册期中真题汇编——记叙文阅读.docx
- 该由个印刷页面组成.pdf
- an unsupervised method for automatic evaluation of open domain dialog systemsR AN无监督方法自动评估开放域对话框系统.pdf
- phase iii convert twice-daily vs once concurrent crt in limited stage sclc三阶段每天与一次同时在有限SCLC.pdf
- 4966 troleandomycin专着4967 trometh-注射磁带.pdf
- 对用户批准三方lab3 vsxlabs2012-r7540vs.pdf
- 人教版真题汇编六级下册小升初模拟检测卷-演练专用.pdf
最近下载
- 保护生物学--物种多样性及保护.ppt VIP
- 《中职心理健康与职业生涯》全套教学课件(共6章完整版).pptx VIP
- simphoenixvs500变频器说明书(打印版).docx VIP
- 普通高中学业水平考试合格考仿真模拟信息技术.doc VIP
- 车驾管业务知识考试题库(含答案).pdf
- 兼职社保合同范本.docx VIP
- 企业如何制定气候变化风险管理方案.pptx
- (6篇)带头严守政治纪律和政治规矩,维护党的团结统一等四个方面存在的问题与整改材料.docx VIP
- 2025年湖南有色金属职业技术学院单招职业适应性测试题库(考点梳理).docx VIP
- 数据结构与算法期末复习题.doc VIP
文档评论(0)