电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

用MATLAB实现线性卷积运算

用MATLAB实现线性卷积运算_第1页
用MATLAB实现线性卷积运算_第2页
用MATLAB实现线性卷积运算_第3页
北京邮电大学 实验报告 实验名称:用MATLAB实现线性卷积运算 学 院:信息与通信工程学院 班 级: 姓 名: 学 号: 日 期:2012 年 5 月 一、实验原理 1、算法产生背景 DFT 是连续傅里叶变换在时域和频域上都离散的形式,将时域信号的采样变换为在离散时间傅里叶变换频域的采样。在形式上,变换两端(时域和频域上)的序列是有限长的。DFT 具备明确且合理的物理含义,适合应用于数字系统,同时可以方便地由计算机进行运算。 对于线性非移变离散系统,可由线性卷积表示时域输入输出关系,即 () ()*() ynxnhn 通常采用循环卷积降低运算量,但实际中往往无法满足对信号处理的实时性要求。因此,产生了重叠相加法和重叠保留法两种典型的算法,用以快速计算线性卷积,成为了DFT 的一个重要应用。 2、算法基本思想 1)重叠相加法 重叠相加法是将待过滤的信号分割成长为N 的若干段,如图1 所示,每一段都可以和有限时宽单位取样响应作卷积,再将过滤后的各段重叠相加。 具体算法实现原理如图2 所示,建立缓存序列,每次输入N 点序列,通过计算x(n) 和h(n) 的循环卷积实现线性卷积运算,将缓存的M-1 点序列和卷积结果相加,并输出前N 点作为计算结果,同时缓存后M-1 点,如此循环,直至所有分段计算完毕,则输出序列y(n)为最终计算结果。 2)重叠保留法 重叠保留法相当于将x l(n)和h( n)作循环卷积,然后找出循环卷积中相当于线性卷积的部分。在这种情况下,将序列 y(n)分为长为 N 的若干段(如图 3 所示),每个输入段和前一段有M-1个重叠点。此时只需要将发生重叠的前 M-1个点舍去,保留重叠的部分并输出,则可获得序列 y(n),算法如图 4 所示。 二、流程图设计 1、重叠相加法 2 、重叠保留法 三、MATLAB源代码 1、重叠相加源码 2 .重叠保留源码 2、四、实验结果与分析 对两种算法采用同一序列进行测试分析。 设56421 .( 56411 .)=( 56411 .+1),0≤ 56411 .≤9;ℎ 56411 .)=*−,0,+2+ 。计算y(n)=x(n)∗(n) 。 ①调用conv()计算 首先利用Matlab对两序列直接运算,得出正确结果。 代码为:x=*1:1:10+,h=*-2,0,+2+,conv(x,h) 结果为: * -2 -4 -4 -4 -4 -4 -4 -4 -4 -4 18 20 + ②测试重叠相加算法 代码为:overlap_add(x,h,6) 结果为:* -2.0000 -4.0000 -4.0000 -4.0000 -4.0000 -4.0000 -4.0000 -4.0000 -4.0000 -4.0000 18.0000 20.0000 +...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

小辰9+ 关注
实名认证
内容提供者

出售各种资料和文档

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部