- 1、本文档共20页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
几个快速傅立的叶变换算法的定稿.doc
几个快速傅立叶变换算法
离散傅里叶变换(DFT)
DFT的的正变换和反变换分别为(1)和(2)式。假设有N个数据,则计算一个频率点需要N次复数乘法和N-1次复数加法,整个DFT需要N*N次复数乘法和N(N-1)次复数加法;由于一次的复数乘法需要进行4次的实数乘法和2次的复数加法,一次的复数加法需要两次的实数加法,因此整个DFT需要4*N*N次的实数乘法和2*N(N-1)+2*N*N≈4*N*N次的复数加法。当N比较大时,所需的计算工作量相当大,例如N=1024时大约需要400万次乘法运算,对于实时信号处理来说,将对计算设备提出非常苛刻的要求,于是就提出如何能够减少计算DFT的运算量的问题。
1965年,库力和图基在《计算数学》杂志上发表《机器计算傅立叶级数的一种算法》,此文是最早提出FFT算法的。此后关于DFT的快速算法称为人们研究的热点课题,也正是FFT算法的出现,才使得数字信号处理能够应用于实时场合并进一步推动数字信号处理的发展和应用。
大多数的FFT算法都是利用(3)式的周期性、共轭对称性、可压缩和扩展性的特点来压缩计算量。
1)、根据DFT定义进行计算的代码
直接利用DFT的定义进行计算的算法计算量非常大。
//Data为输入数据指针,Log2N=log2(length),flag=-1时为正变换,flag=1时为反变换,变换结果由指针Data指向的原空间返回
void?dft(complexdouble*Data,int?Log2N,int?flag)
{
????int?i,j,length;
????complexdouble?wn;
????length=1Log2N;
????complexdouble*temp=new?complexdouble[length];
????for(i=0;ilength;i++)
????{
??????temp[i]=0;
??????for(j=0;jlength;j++)
??????{
????????wn=complexdouble(cos(2.0*pi/length*i*j),sin(flag*2.0*pi/length*i*j));
????????temp[i]+=Data[j]*wn;????
??????}???????????
????}
????if(flag==1)
?????for(i=0;ilength;i++)
???????Data[i]=temp[i]/length;
??? delete[]?temp;
}??
2)、倒位序重排
基2、基4和分裂基的DIT、DIF都需要进行倒位序重排。DIT输入为倒位序,输出为正常顺序,DIT输入为正常顺序,输出为倒位序。因此使用DIT要对输入先进行倒位序重排,DIT要对输出进行倒位序重排,才能得到正常顺序的结果。倒序序重排的实现主要是利用加1是从高位开始加,并且进位是向低位进的特点,这刚好和正位序相反,因此可以得到正位序相应的倒位序。还有一种方法,就是得到各个位上的数码,然后倒转再计入权值,就得到倒位序。(1)、基2的倒位序重排程序
void reverse2(complexdouble *data,int Log2N){?int i,j;?int RevNum;?int MaxPos,CurPos,MaxValue;?complexdouble temp;?MaxValue=(1Log2N)-1;?MaxPos=1(Log2N-1);?RevNum=0;
?for(i=1;iMaxValue;i++)?{
? CurPos=MaxPos;? while((CurPosRevNum)!=0)? {?? RevNum=RevNum(~CurPos);?? CurPos=CurPos1;? }? RevNum=RevNum|CurPos;? if (RevNumi)? {?? temp=data[RevNum];?? data[RevNum]=data[i];?? data[i]=temp;? }?}}
(2)、基4的倒位序重排程序
//data为数据指针,Log4N=log4(length)。
void reverse4(complexdouble *Data,int Log4N){
?int i,MaxValue,length,MaxPos,CurPos,RevNum;?complexdouble temp;?length=1(2*Log4N);?MaxPos=length/4;?MaxValue=length-1;?RevNum=0;?for(i=1;iMaxValue;i++)?{? CurPos=MaxPos;? whil
您可能关注的文档
- 内部刊物年月创刊第期年月日出版(文本).doc
- 内部客户满意度调查问卷(打印版).doc
- 再制造产品“的以旧换再”试点实施方案-附件:.doc
- 再生水作为景观水体补水水源的生态修复技术的研究(文本).doc
- 再生育审批文的书样式.doc
- 再生育审批.doc
- 再论可控硅并联谐振变换器的能量转换(文本).doc
- 再论工程量计算的四化.doc
- 再访拉尼卡常的见问题集.doc
- 写作教学中创的新能力的培养课题中期检查课题组总结报表.doc
- 【重庆市S街道家庭医生签约服务现状调研分析报告6000字】.docx
- 八年级生物下册教学课件《选择健康的生活方式》.pptx
- 高中高考思想政治一轮总复习课后习题 选择性必修一 当代国际政治与经济 课时规范练30 和平与发展 (2).doc
- 企业社保费申报流程(核定版).docx
- 高中高考思想政治一轮总复习课后习题 选择性必修一 当代国际政治与经济 课时规范练31 中国的外交 (2).doc
- 高中思想政治选择性必修1当代国际政治与经济课后习题 第1单元 各具特色的国家 第一单元过关检测.doc
- 第6章 生物的进化B卷 能力提升—高一生物学人教版(2019)必修二单元达标测试卷.docx
- 高中思想政治选择性必修1当代国际政治与经济课后习题 第2单元 世界多极化 第4课 和平与发展 第2框 挑战与应对 (2).doc
- 高中思想政治选择性必修1当代国际政治与经济课后习题 第3单元 经济全球化 第6课 走进经济全球化 第2框 日益开放的世界经济.doc
- 【泰安交通建设集团人力资源管理模式研究4900字】.doc
最近下载
- 2024年(高级)政工师理论考试题库及答案(含各题型) .docx
- 心中有“数”,脚下有路-五年级(上)期中考试后家长会 课件.pptx VIP
- 大数据环境下企业会计信息化管理模式研究.docx VIP
- 山东省政府采购专家测评题库200-400题.docx VIP
- 2023-2024学年贵州省贵阳市高二(上)期末数学试卷.docx VIP
- 精品解析:2023-2024学年山东省青岛市城阳区青岛版三年级上册期末考试科学试卷(解析版).docx VIP
- 能源管理工作总结.pptx
- 2024-2025学年初中体育与健康七年级全一册(2024)人教版(2024)教学设计合集.docx
- 诗词格律十讲王力.pdf
- 山东省青岛市2023-2024学年三年级上学期期末科学试题.pdf VIP
文档评论(0)