数字信号处理实践与应用-MATLAB话数字信号处理(第2版) 课件 案例四 - 滤波可以卷出来_第1页
数字信号处理实践与应用-MATLAB话数字信号处理(第2版) 课件 案例四 - 滤波可以卷出来_第2页
数字信号处理实践与应用-MATLAB话数字信号处理(第2版) 课件 案例四 - 滤波可以卷出来_第3页
数字信号处理实践与应用-MATLAB话数字信号处理(第2版) 课件 案例四 - 滤波可以卷出来_第4页
数字信号处理实践与应用-MATLAB话数字信号处理(第2版) 课件 案例四 - 滤波可以卷出来_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

案例四——滤波可以卷出来内容概要案例设置目的相关基础理论情境任务及步骤线性卷积的编程实现卷积运算竟是滤波确定系统单位脉冲响应思考题总结报告要求案例设置目的通过编制线性卷积算法程序,进一步理解线性卷积的原理;通过对一噪声污染的正弦波用线性卷积实现滑动平均,从感官上理解线性卷积的作用及滤波的概念;通过测试代码执行时间,建立代码效率概念;通过单位脉冲响应的求解,理解系统的时域描述方式。相关基础理论输入序列x(n)和线性时不变系统单位脉冲响应h(n)的线性卷积运算定义为当h(n)为M+1点的有限长序列,且h(n)仅在0≤n≤M有非零值时,则h(n)描述了一FIR(FiniteImpulseResponse)系统。此时式(4.1)改写为或者

当x(n)也为有限长序列,且仅在n1≤n≤n2有非零值时,n1≥0,则使乘积h(m)·x(n-m)取非零值的n必定在如下范围:即

相关基础理论由式(4.4)容易推导出输出序列的长度L=n2+M-n1+1.若n1=0,n2=N,x(n)和h(n)卷积的结果y可用一个1×L的矩阵来描述,其中L=N+M+1,而计算过程可以写成如下两个矩阵的乘积,单位脉冲响应h(n)各系数构成的左侧矩阵是1×(M+1)维,根据输入x(n)构造的右侧矩阵是(M+1)×L维,且右侧矩阵第一行补M个零。

相关基础理论若x(n)是n1≠0的因果序列,同样也可以用式(4.5)进行计算,只是前n1项为0而已。将式(4.5)中由输入x(n)构造的矩阵的每一行看成一个向量,h(n)各系数构成的矩阵的每一列看成一个向量,则式(4.5)的运算可以看出是如下排列的有(N+1)项的(M+1)个行向量的和,这种方法也称为对位相乘相加法。

相关基础理论当h(n)为无限长序列时,系统可选择用差分方程描述,即(4.6)式(4.6)也常等价为(4.7)其中x(n)和y(n)分别为系统的输入和输出;bk和ak分别表示输入和已有输出对当前输出的贡献权重,它们取值的变化决定不同的系统,因此差分方程描述的系统也可以用权重矩阵或系数矩阵表示,b=[b0,

b1,

…,

bM],a=[a0,

a1,

…,

aN],其中a0

1,当b和a为常数时系统称为线性常系数差分方程;有时将N或N与M的较大者称为差分方程的阶数。式(4.1)也可以看成是差分方程,此时有b0=h(0),b1=h(1),…,bM=h(M),a0=1,an=0,n=1,2,…,N。情境任务及步骤一、线性卷积的编程实现

1.根据线性卷积原理编制自定义函数实现线性卷积要求函数名为个人姓名的首字母+学号后两位+conv;输入参数为hn,M,xn,n1,n2;输出参数为yn和ny,其中hn代表序列h(n),xn代表序列x(n),yn表示输出序列y(n),ny表示输出序列yn各样点值对应的标号n。编制子函数除注意使用关键词function外,非常重要的是要编制成单独的m文件。2.对编制程序进行初检取h(n)=R4(n),x(n)=R4(n)进行函数验证。建议编制单独的m文件,在m文件中调用自己编制的程序,而不是在命令窗口中执行。程序调试中注意断点设置、单步运行、进入函数内部、中间变量值观察等功能的使用。3.对编制程序进行再检在命令窗口调用自己编制的卷积计算程序进行验证,输入序列h(n)=R4(n),x(n)=R4(n-5)计算结果与手动计算结果进行对比,并画图显示计算结果,要求图中对横坐标进行标注。情境任务及步骤二、卷积运算竟是滤波1.产生纯净信号生成信号x(t)=sin(2

200

t),时间长度取5s,采样率Fs=8000Hz,并听其音观其形。2.生成噪声调用函数wgn生成长度与x(t)相同的

10dBW的高斯白噪声信号,记为noise,并听其音观其形。3.引狼入室用噪声信号noise对x(t)进行干扰,得到noisyx=noise+x(t),并听其音观其形。情境任务及步骤二、卷积运算竟是滤波4.去噪效果比较(1)取h(n)=R4(n)/4,调用自定义函数计算h(n)与noisyx的卷积,结果用filteredx1表示,并听其音观其形,用三幅图分别显示x(t)、noisyx和filteredx1,显示长度为x(t)的20个周期。(2)取h(n)=R4(n)/4,调用MATLAB函数conv,计算h(n)与noisyx的卷积,结果用filte-

redx2表示,并收听效果。(3)取h(n)=R4(n)/4,调用MATLAB函数filter,对noisyx进行滤波,用filteredx3表示,并收听效果。(4)在每个函数调用语句之前加语句tic,之后加语句toc,以比较各个子函数执行时间。(5)在一幅图中用三种颜色重叠显示filteredx1、filteredx2、filteredx3,并进行比较。MATLAB的支持图形重叠显示的函数

为holdon,通过Help文件学习函数的调用语法。情境任务及步骤三、确定系统单位脉冲响应MATLAB提供了函数impz用于确定滤波器的脉冲响应,要求用该函数确定如下两个差分方程描述系统的单位脉冲响应。(1)已知一差分方程描述的系统,,设入

,借助impz函数计算差分方程的输出,要求输出点数不少于20点。(2)已知一差分方程描述的系统,设入

,借助impz函数计算差分方程的输出,要求输出点数不少于20点。(3)根据系统单位脉冲响应的定义,推导上述两系统的单位脉冲响应,再与impz输出的结果进行对比。思考题(1)在自定义卷积函数中能否通过在x(n)的前后补适当数量的0,以简化程序的结构?(2)通过查询Help文件,学习conv或卷积运算还有哪些应用?(3)能否用filter函数求解差分方程描述系统的单位脉冲响应呢?

总结报告要求(1)情境任务总结报告中原理部分要简要描述卷积计算的原理和流程,书写情境任务时可适当进行归纳和总结,但至少要列出【情境任务及步骤】相关内容的各级标题。(2)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论