- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
FFT快卷积课程设计报告
课 程 设 计 报 告
课程名称 _________数字信号处理_____________
设计题目 _ 用FFT实现快速卷积__ _____
专 业 _________通信工程_________________
班 级 __________x x x x x __________________
学 号 __________xx x xx x ________________
姓 名 x x xx
完成日期 ______ 2014年6月27日_________
课 程 设 计 任 务 书 设计题目:_______用FFT实现快速卷积______________
设计内容与要求:FFT的出现,使DFT在数字通信、语音信号处理、图像处理、功率谱估计、系统分析与仿真、雷达信号处理、光学、地震及数值分析等各个领域都得到广泛应用。然而,各种应用一般都以卷积和相关运算为依据。在实际应用中,为了分析时域离散LTI系统或者序列滤波时,需要计算两个序列的线性卷积。为了提高运算速度,可以利用FFT来实现。
要求:参考课本上第90页的内容(3.4.1 用DFT计算线性卷积),设计并编写程序来实现重叠相加法计算线性卷积。
课 程 设 计 评 语
成绩:
指导教师:_______________
年 月 日 目录
第1章 设计原理 1
1.1设计思想 1
1.2计算循环卷积的过程 1
1.3重叠相加法的图示 2
第2章 设计过程 3
2.1循环卷积子函数流程图 3
2.2主函数流程图 4
2.3循环卷积子函数源程序: 4
2.4主函数源程序: 6
第3章 结果与验证 9
第4章 界面设计 11
第5章 分析与总结 12
参考文献 13
第1章 设计原理
1.1设计思想
运用分段处理方法中的重叠相加法计算两个序列的卷积运算。
设一个给定序列是长度为n1的A,另一个导入序列是长度为n2的B,其中B序列是相对A序列比较长的,所以可以把B分为和A一样长的若干段段,即B分后每一小段长度为n1。根据书上的公式:
可知将B序列的每一小段与A序列做现行卷积,然后将所有的n2/n1段的线性卷积结果相加起来就是整个B序列和A序列的线性卷积结果,而又在本设计中,B序列的一小段和A序列的线性卷积又可由循环卷积来实现,只要让循环卷积的点数,循环卷积的结果就和线性卷积的结果等价,在本实验中取,故A序列和B序列的线性卷积可认为是由A序列和B的每一小段做点的循环卷积的最终累加和,
另外还有两个个问题需要考虑,首先是做循环卷积时要对A序列和B序列的那一小段补零做卷积后,最终做累加的时候要考虑重叠的片段,必须将重叠的两段加起来。不重叠的片段直接赋值。其次是如果B序列长度n2不是A序列长度n1的整数倍时,必须将B序列余下的那几个数补零后和A序列做点循环卷积再加到最终的结果的相应位置。
1.2计算循环卷积的过程
在本次课设题中序列A和B序列的某一小段做循环卷积,由于已知A序列的长度为n1,故可取B序列的每一小段都和A序列相等长度,并且取循环卷积的点数为,这就保证每一组的循环卷积都等效于线性卷积。做循环卷积可运用课本上82页上的循环卷积矩阵做,其第一步是将A序列和B序列的某一小段补零到长度为,然后把A序列通过变换生成的循环卷积矩阵,将补零后的B的某一小段转置,然后用循环卷积矩阵乘以它就可以得到循环卷积的结果,在此也即线性卷积。
1.3重叠相加法的图示
重叠相加法的图示如图1-1所示:
图1-1重叠相加法的图示
第2章 设计过程
2.1循环卷积子函数流程图
2.2主函数流程图
2.3循环卷积子函数源程序:
function y=Convmy4(A,B,L) %创建循环卷积函数
if Llength(A)||Llength(B) %若A和B中任何一个序列长度大于L则出错
error(出错);
end
if Llength(A) %如果A序列长度小于L则补零到L
A=[A,zeros(1,L-length(A))];
end
if Llength(B) %给B序列补零到L
B=[B,zeros(1,L-length(B))];
B=B;
文档评论(0)