第5章-MATLAB数字信号处理.ppt

  1. 1、本文档共81页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章-MATLAB数字信号处理.ppt

第5章 使用MATLAB实现数字信号处理 本章主要内容如下: 5.1 数字信号处理基本内容及相应的MATLAB工具 5.2 信号通过系统的时域分析 5.3 信号通过系统的频域和Z域分析 5.4 滤波器设计 5.5 频谱分析 5.1 数字信号处理基本内容 及相应的MATLAB工具 数字信号处理的基本内容通常分为两部分: 离散时间信号与系统分析 主要涉及离散时间信号与系统的时域、频域表示,以 及信号通过系统的时域、频域分析及其变换域分析。 MATLAB函数库中提供了filter, conv, convmtx, fft ,ifft, freqz, impz, zplane等与之相应的函数。 数字滤波器设计和谱分析 数字滤波器设计包括了无限冲激响应(IIR)和有限冲激响应(FIR)滤波器设计,谱分析又可进一步分为线性谱分析和非线性谱分析。MATLAB为此提供了多种成熟算法的相应函数以及极为丰富的设计工具。 5.2 时域分析 卷积,滤波,单位冲激响应 5.2.1 卷积 MATLAB提供 conv函数实现标准的一维信号卷积 : 例如,若系统h(n)为 h=[1 1 1] 输入序列x(n)为 x=[1 1 1] 则x(n)经过系统h(n)后的MATLAB实现为: conv(h,x) 或 conv([1 1 1], [1 1 1]) 执行后即得到y(n)为 ans = 1 2 3 2 1 注意:使用conv 函数时,h(n) 和x(n)都必须是有限长的,,否则不能使用conv 函数。 例5-1 时域离散序列的卷积计算 与图形显示 例5-1 (教材p63) :已知离散信号x(n)和h(n),求y(n)=x(n)*h(n),并用图形表示。 例5-1的MATLAB程序 Nh=20;Nx=10;m=5; %设定Nx,Nh和位移值m n=0:Nh-1;h1=(0.9).^n; %产生h1(n) h2=h1; nx=0:Nx-1;x1=ones(1,Nx); %产生x1(n) x2=zeros(1,Nx+m); for k=m+1:m+Nx %产生x2(n)=x1(n-m) x2(k)=x1(k-m); end %产生x2(n) y1=conv(x1,h1); %计算y1(n)=x1(n)*h1(n) y2=conv(x2,h2); %计算y2(n)=x2(n)*h2(n) subplot(3,2,1) stem(nx,x1,.) axis([0 30 0 1.2]),title(‘x1(n)’) %绘图 …… (以下省略) 5.2.2 滤波 数字滤波器的系统函数H(z)用如下式表示: 在MATLAB中,用向量b,a来表示滤波器的系数b(i)和 a(i)。 滤波器分类 当n?=?0,m≠0时,称为AR滤波器,即自回归(Auto Recurrence)滤波器,具无限冲激响应(IIR),也即其单位采样响应h(n)具无限长度; 若m?=?0,a(1) ≠ 0,称为MA滤波器,即滑动平均(Moving Average)滤波器,其单位采样响应h(n)是有限长度,故称有限冲激响应(FIR)滤波器; 如果n、m都大于零,称为ARMA滤波器,而其冲激响应也为IIR。 filter函数 MATLAB提供了 filter函数来对离散信号进行滤波,表达信号通过系统后的结果。 与conv不同的是,filter函数可适用于无限冲激响应系统的情况,但信号仍须是有限长的。 例如,一个单极点的低通滤波器系数如下: b = 1; % 分子系数向量b(i) a = [1 -0.9]; % 分母系数向量a(i) 如果用filter函数实现对信号x滤波,只要调用: y = filter(b,a,x); 就可给出输入x经过滤波以后的输出y。 5.2.3 单位冲激响应 数字滤波器的单位冲激响应定义为输入为单位样本序列时数字滤波器的响应 ,即: h(n) = T [δ(n)] 其中: 单位冲激响应的MATLAB实现 MATLAB近似实现单位采样信号的方法为: imp = [1; zeros(p,1)]; % zeros(p,1)产生 p个零元素组成的列向量,p是正整数。使用imp后,滤波器的冲激响应可近似得到为: h = filter(b,a,imp); impz 函数可以直接求出数字滤波器的单位冲激响应,即:impz(b,a) 该命令将同时绘出滤波器的单位冲激响应,教材p66图5-2。 5.3

您可能关注的文档

文档评论(0)

整理王 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档