matlab课件第七章 Matlab在信号与系统中的应用.ppt

上传人:京东小超市 文档编号:5935084 上传时间:2020-08-16 格式:PPT 页数:73 大小:553KB
返回 下载 相关 举报
matlab课件第七章 Matlab在信号与系统中的应用.ppt_第1页
第1页 / 共73页
matlab课件第七章 Matlab在信号与系统中的应用.ppt_第2页
第2页 / 共73页
亲,该文档总共73页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《matlab课件第七章 Matlab在信号与系统中的应用.ppt》由会员分享,可在线阅读,更多相关《matlab课件第七章 Matlab在信号与系统中的应用.ppt(73页珍藏版)》请在三一文库上搜索。

1、第 7章 在信号与系统中的应用,人题潜蕾气嗓妊琵屑耀毒蛤喂悍矢选试怜骤捐卸寻萤钾男厅依羌桂湛员湛matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,7.1 离散信号的产生及时域处理,时域离散信号用x(n)表示,时间变量n(表示采样位置)只能取整数。因此,x(n)是一个离散序列,以后简称序列。用一个向量x不足以表示序列值x(n)。必须再用另一个等长的定位时间变量n。x和n同时使用才能完整地表示一个序列,由于n序列是按整数递增的,可简单地用其初值ns决定,因为它的终值nf取决于ns 和x的长度length(x),故可写成: n = ns

2、:nf 或n = ns: nslength(x)1,耻睛衬哎斋鉴陇综轴桶膨道之原校臆灰撤透默绵辫边械鸦镜陵隙茫殆麦滚matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,例7.1 序列的相加和相乘,给出两个序列x1(n)和x2(n)。 x1 = 0,1,2,3,4,3,2,1,0; n1 = -2:6,; x2 = 2,2,0,0,0,-2,-2; n2 = 2:8; 要求它们的和ya及乘积yp。 解:编程的思路是把序列长度延拓到覆盖n1和n2的范围,这样才能把两序列的时间变量对应起来,然后进行对应元素的运算。,惯声骤浙粉黍涯蓟尖挥瘦

3、费宛外嫡邵镰拿濒憨竭鳖戴垃填汝轻冠矛藩岸欺matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,例7.2 序列的合成和截取,用例6.13的结果编写产生矩形序列RN(n)的程序。序列起点为n0,矩形序列起点为n1,长度为N(n0,n1,N由键盘输入)。并用它截取一个复正弦序列exp(jn/8) . 解:建模:矩形序列可看成两个阶跃序列之差。 用MATLAB逻辑关系产生矩形序列x2(n)。而用它截取任何序列相当于元素群相乘x2.*x,也称为加窗运算。序列的合成和截取就是相加和相乘。,芝棱淫股敛服敲李鳞捉镇拌遇遇睡倡橙薛勉宏遣厩酶矮棠逝焊双

4、边宣怖位matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,例7.3 序列的移位和周期延拓,已知,利用MATLAB生成并图示 表示x(n)以8为周期的延拓)和 解:方法1,利用矩阵乘法和冒号运算 x=1 2 3 4;y=x*ones(1,3); 方法2,采用求余函数mod, y = x(mod(n, M)+1)可实现对x(n) 以M为周期的周期延拓。加1是因为MATLAB向量下标只能从1开始,,川员牧兼境顽馁很雨肪冕茵玩憋约头璃记绢悄馋哀镍巧勘埠凳锨功陵嘉穴matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七

5、章 Matlab在信号与系统中的应用,例7.4 离散系统对信号的响应,本题给定6阶低通数字滤波器的系统函数,求它在下列输入序列x(n)下的输出序列y(n)。 解:本题的计算原理见例6.14,在这里用工具箱函数filter来解。如果已知系统函数H(z)=B(z)/A(z),则filter函数可求出系统对输入信号x(n)的响应y(n)。 y = filter(B, A, x) 由差分方程可得到H(z)的分子和分母多项式系数向量A和B,再给出输入向量x即可。,孪际获户奉鹤孰巾蒂铃固逮货芳快仓铲娶券涤育簿烦褪哇射鲍瑶靠灯数伺matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章

6、 Matlab在信号与系统中的应用,例7.5 系统线性性质验证,设系统差分方程为 y(n) = x(n) + 0.8y (n-1) 要求用程序验证系统的线性性质。 解:产生两种输入序列,分别乘以常数后 1。分别激励系统,再求输出之和; 2。先相加,再激励系统求输出; 对两个结果进行比较,方法是求它们之差,按误差的绝对值是否极小进行判断。,吾腻肪庚脉迅筷些剁畦独批蹿燃版姻坚畔刷喝肋含回融摩棍流干墩戎琐皱matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,例7.6 离散序列的卷积计算,给出两个序列 和 ,计算其卷积y(n),并图示各输入

7、输出序列。 解:在例6.4中,已经给出了直接调用MATLAB的卷积函数conv的方法,也给出了自编卷积计算程序的方法,要注意的是本例时间变量的设定和移位方法。在本例中,设定n为从零开始,向量x和h的长度分别为Nx=20和Nh=10;结果向量y的长度为length(y)=Nx+Nh-1。,兵这咕拉卯叫城诵啊销鸣门芦江酷萄艘陈述境瑟粱卿剧荧柒耽躬抡宫只晚matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,求z的逆变换的方法,对于z变换分式 可以用部分分式法或长除法求其反变换。 用函数residuez可以求出它的极点留数分解 其中r, p

8、, k = residuez (B, A) 其反变换为:,陀阁躺肖孜纸隋瘪乎软辐榜铡积敛鄙杰贷命纹赎篡私锭尼卉兹奠穆浙碉软matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,例7.7 有限序列的z和逆z变换,两序列x1 = 1,2,3, n1 = -1:1 及x2 = 2,4,3,5,n2 = -2:1,求出x1与x2及其卷积x的z变换。 解:其z变换可写成 两个多项式乘积可用conv函数来求得。n数组要自己判别。n的起点ns = ns1 + ns2 = 3,终点nf = nf1 + nf2 = 2。 n=ns:nf。由x和n即可得

9、出X(z)。,令性伎要韶寂牟戌呜夯矗苦箭元矢姑沮诣造琳和灿田枪拖灸碧似廉沽黎僚matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,例7.8 求z多项式分式的逆变换,设系统函数为, 输入例7.7中的x2信号,用z变换计算输出y(n) 解:由例7.7可知,故 Y(z)=X(z)W(z)= 其中nsy = 分母分子中z的最高幂次之差。 调用 r, p, k = residuez(B, A),可由B,A求出r,p,k,进而求逆z变换,得,均滨渐邀夺拜竹痔枯奖羽锦蕴借屁敌边烽嗅浙善咐隶磷逢珠栏难拳最台括matlab课件第七章 Matlab在信

10、号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,例7.8 z多项式分式逆变换(续),由程序算出nsy =-1,留数、极点分别为 r = -57.7581 和 204.7581 p = 0.7791 和 0.3209 k = -150 -30 代入 得,蒲染食抒梯盼叁麦辩情得畴哆多苔子篆削连札捶茶挞于湿腰密詹理盯饼稗matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,例7.9 离散时间傅里叶变换,取周期的正弦信号,作8点采样,求它的连续频谱。然后对该信号进行N个周期延拓,再求它的连续频谱。把N无限增大,比较分

11、析其结果。 解: 先求离散傅立叶变换的MATLAB子程序 最后得到X = x*exp(-j*w*n)。 有了子程序,本例就没有什么难度了。,墅猛赣流沿术祭抄卧字浮猜纲能拄汁骨宠湃喇树钓抓萤廷瓜着赁赢黑彪怔matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,例7.9 离散时间傅里叶变换2, 程序运行结果 执行程序q709并按提示键入N = 4,所得图形如图7.10所示。N取得愈大,其峰值愈大,宽度愈窄。当N取得很大时,会出现内存不足的问题,这是用矩阵乘法做傅里叶变换的缺点。另外,因为那时峰值点处的宽度很窄,也会出现所选频点对不上峰值点

12、的问题。所以对于N无限增大的情况,必须用fft函数来求。这时用连续频谱也没有意义了。这里用同样的横坐标把几种频谱进行对比,使读者更好地理解其关系。,裳术箍攘雕战野警糖扎商殿质遗惦大植禾傀亚栗经铆箱维盂誉疾匡造炼噶matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,例7.10 时域采样频率与频谱混叠,分别以采样频率fs=1000Hz,400Hz和200Hz对xa(t)进行等间隔采样,计算并图示三种采样频率下的采样信号及其幅频特性 解:程序分别设定4种采样频率fs=10kHz,1kHz,400Hz和200Hz,对xa(t)进行采样,得到

13、采样序列xa(t),xa1(n),xa2(n),xa3(n),画出其幅度频谱。采样时间区间均为0.1秒。为了便于比较,画出了幅度归一化的幅频曲线,如图7.11所示。,违结增五葡喷储金石龋晕作莹痴播直恕旧歇旭景财抡趁猫导缺梁猜许汛恃matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,例7.10 采样频率与频谱混叠(续),由于 由以上关系式可见,采样信号的频谱函数是原模拟信号频谱函数的周期延拓,延拓周期为2/T。如果以频率f为自变量( = 2f),则以采样频率fs = 1/T为延拓周期。对频带限于fc的模拟信号xa(t),只有当fs2f

14、c时,采样后 才不会发生频谱混叠失真。这就是著名的采样定理,琶豹肾痹借随镭目颁楚赃埔篇渴弧碑脑药狞讨必逐勉彝淹歇缔闰弦庞刨嚎matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,例7.11 由离散序列恢复模拟信号,用时域内插公式 其中 模拟用理想低通滤波器恢复的过程,观察恢复波形,计算出最大恢复误差。 解:这个公式与卷积公式相像,可以用向量和矩阵乘法来解决。,乱枝圈竞荡肚信盾讯面悠刘镁镰饱侯芳栋姜率舰藐绘篆芳姻掘渊厂苹榷躬matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,

15、例7.11 由离散序列恢复模拟信号,xa = x * g (TNM) = x * G 其中 G = sinc(Fs * TNM) M表示在两个采样点之间增加的间隔数,使输出更密,更接近模拟信号。,绽褂哈兼韦荔赞辱浇甄妨戮鲸澈疟歇夏样氖源赚犊楼渡领湛晃召姻动预肛matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,例7.12 梳状滤波器零极点和幅特性,梳状滤波器系统函数有如下两种类型。 FIR型: IIR型: freqz 数字滤波器频率特性计算和绘制函数 zplane H(z)的零-极点图绘制。 解:调用函数freqz和zplane 很

16、容易写出程序q712.m。,妇秤朽乎垮违樊铱赃绣瓜薪赂操荤畸灾钞周乳匹灾腕厘别垢肝惧年持绒绒matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,例7.13 低通滤波及时域卷积定理,输入信号 x(n) = cos(0.04n) + cos(0.08n) + cos(0.4n) + 0.3(n),0n63 通过低通滤波器,计算滤波器对x(n)的响应输出y(n),并图示x(n)和y(n),观察滤波效果。 解:如前所述,只要求出H(z)=B(z)/A(z)的分子和分母多项式系数向量B和A,则可调用滤波器直接型实现函数filter对输入信号x

17、(n)进行滤波。 y = filter(B, A, x),岭弟变净饱繁品侵蚜粕磨褪该杀皮鄂梁跌烷丝名钒急逗感坦幢蹬测类吵汀matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,例7.14 用符号运算工具箱解z变换,解:无限长度时间序列的z变换和逆z变换都属于符号运算的范围。MATLAB的symbolic(符号运算)工具箱已提供了这种函数。如果读者已在计算机上安装了这个工具箱,可以键入以下程序。 MATLAB程序q714.m 其特点是程序的开始要指定符号自变量 syms z n a N w0% 规定z,n,a为符号变量,一图摧学识钟炎担

18、该芝荐瞎寸鹰劲辜共唬硫吨宿润冠磐婆落贯他猛堵侮梯matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,7.3 离散傅里叶变换(DFT),定义DFT: 用类似于例7.9中的方法,可把(7.3)式写成矩阵乘法运算。 其中,xn为序列行向量,Wnk是一NN阶方阵, 而 称为旋转因子。,综嫁华橇菲具荐毖盖名乓苍美披祟絮整灾俭诽犀念迹韶吝盗昏乘如耳欺誓matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,7.3 离散傅里叶变换(DFT),用矩阵乘法计算N点DFT的程序如下。 MATLA

19、B程序q73a.m %用矩阵乘法计算N点DFT clear;close all xn=input(请输入序列x= ); N = length(xn); % n=0:N-1; k=n; nk=n*k;% 生成NN方阵 WN=exp(-j*2*pi/N); Wnk=WN.nk; % 产生旋转因子矩阵 Xk=xn*Wnk; % 计算N点DFT,峭土疤咐涪渡椎雇塌模怂潜沂终谈颖炉桂唤驱蚂祷沁旅尼痕窜水又抡妮赛matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,例7.15 序列的离散傅立叶变换,求复正弦序列 余弦序列 正弦序列 的离散傅立叶变

20、换,分别按N =16和N =8进行计算。绘出幅频特性曲线, 进行比较讨论。,叠逐啄纺居企季谴字堡坠差陋咒眩庙钒顿粟粳皿鹤岔姓追契亲醉债旷镣帕matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,例7.15 序列的离散傅立叶变换,在截取16点时,得到的是完整的余弦波形;而截取8点时,得到的是半截的余弦波形,当然有大量的谐波成分。,叉睡洱哪各弄拔屋黄妥磷纲方试竿耍仅目催俐统肃濒咽挎趣望油农醉键剁matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,例7.16 验证N点DFT的物理

21、意义,(1) , 绘出幅频曲线和相频曲线。 (2)计算并图示x(n)的8点DFT。 (3)计算并图示x(n)的16点DFT。 解: 序列x(n)的点DFT的物理意义是 在0,2上进行点等间隔采样。 程序先密集采样,绘制出幅频曲线图。然后再分别做8点和16点DFT来验证这个采样关系。,寡潍稚内租迅釉萍碌段肄幻哎肖擞髓兵烈翠名浮炳摧驱裴开朽迂古戴晌账matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,例7.17 频域与时域采样对偶性,(1)产生三角波序列 (2)对M = 40,计算x(n)的64点DFT,并图示x(n)和X(k) = D

22、FTx(n),k = 0, 1, , 63。 (3)对(2)中所得X(k)在 0,2 上进行32点抽样得 (4)求的32点IDFT,即 (5)绘出 的波形图,评述它与x(n)的关系。,波耕矗剁筒厚燃姑骂宁底彰别煎日芥沧栅鳞蚁霓拒坤柱垫蚂柱纪叼怨蜕当matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,例7.17 频域与时域采样对偶性,由于频域在0,2上的采样点数N(N = 32)小于x(n)的长度M(M = 40),所以,产生时域混叠现象,不能由X1(k)恢复原序列x(n)。只有满足NM时,可由频域采样X1(k)得到原序列x(n)。

23、这就是频域采样定理。对NM的情况,请读者自己编程验证。,乙希酱震闸孪妇帧用求匆维禾载粟惟牟象郭蛆汹寅马猴遇棵压晨芜误剂道matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,例7.18 快速卷积,快速卷积就是根据DFT的循环卷积性质,将时域卷积转换为频域相乘,最后再进行IDFT得到时域卷积序列y(n)。其中时域和频域之间的变换均用FFT实现,所以使卷积速度大大提高。框图如下:,鼓祝浓硒无参薯仕抚屉骨垢此醋蜂商乱泰讯混邓浅坟竖熬史陕达典渊直违matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信

24、号与系统中的应用,例7.19 用DFT求连续信号频谱,在计算机上用DFT对模拟信号进行谱分析时,只能以有限大的采样频率fs对模拟信号采样有限点样本序列(等价于截取模拟信号一段进行采样)作DFT变换,得到模拟信号的近似频谱。其误差主要来自以下因素: 截断效应(频谱泄露和谱间干扰) 频谱混叠失真 因素使谱分辨率(能分辨开的两根谱线间的最小间距)降低,并产生谱间干扰; 因素使折叠频率(fs / 2)附近的频谱产生较大失真。,百爱凑赛熙申啸惨斜球逼蝎莉脂嫉饮淘坟菩阉蹄络炭暴势魂润佰霄谭认收matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,

25、例7.19 用DFT求连续信号频谱,加大截取长度Tp可提高频率分辨率;选择合适的窗函数可降低谱间干扰;而频谱混叠失真要通过提高采样频率fs和(或)预滤波(在采样之前滤除折叠频率以外的频率成分)来改善。 编写程序q719.m验证截断效应及加窗的改善作用,先选取以下参数: 采样频率fs = 400Hz,T = 1/fs 采样信号序列 对x(n)作4096点DFT作为的近似频谱Xa(jf)。,编彻彝纸浆独乍开羊瞒乍绢耪修腺训宾胎归赋笼镣踢隋袍厘辨赛脊叹式腻matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,例7.19 用DFT求连续信号频

26、谱,如图7.19所示。图中X1(jf),X4(jf)和X8(jf)分别表示Tp = 0.04s,0.04*4s和0.04*8s时的谱分析结果。由图可见,由于截断使原频谱中的单频谱线展宽(又称之为泄漏),Tp越大泄漏越小,频率分辨率越高。Tp = 0.04s时,25Hz与50Hz两根谱线已分辨不清了。所以实际谱分析的截取时间Tp是由频率分辨率决定的。 另外,在本应为零的频段上出现了一些参差不齐的小谱包(称为谱间干扰)。谱间干扰的大小取决于加窗的类型。用矩形窗比用Hamming窗的频率分辨率高(泄漏小),但谱间干扰刚好相反。,机唬玖姚晒铭若大舀疮帆肪绘妄馋沫落疯具静瘟抽哼饺讹霖仿虐吸挖润版matl

27、ab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,例7.20 IIR滤波器直接型的转换,程序调用了信号处理工具箱函数tf2sos和扩展函数dir2par, sos, g = tf2sos(B, A) 实现从直接型到级联型(二阶分割形式)的转换。g为式中的增益,sos为L6阶矩阵,表示式中的系数。,土悯肆拇贴狂鼻糙烤讯螟知罚啄澡囚搅宾妒挽级臃粥得袁讣遍喉科剔精机matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,例7.20 IIR滤波器直接型的转换, Cp, Bp, Ap = d

28、ir2par(B, A) 实现从直接型到并联型的转换。B为直接型H(z)的分子多项式系数向量,A为直接型H(z)的分母多项式系数向量;Cp,Bp,Ap的含义与扩展函数dir2par中的C,B,A相同。 dir2par中又调用了复共轭对比较函数cplxcomp。由于dir2par和cplxcomp是文献7中开发的,不属于MATLAB工具箱函数,所以将其M文件清单附在程序q720.m之后。,狙尼慨龙牵愿变笛盂秒偶颜车砰艇恋争铀妒族斯挞尧梧撼五上捆竖劝冗剐matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,例7.20 IIR滤波器直接型的

29、转换,根据计算结果, 级联型H(z)表达式: 级联型结构图。,轻吉嗅舅射椿穷帅榴囊间鞘棚洗杨耽背敛踢阎呀出凯吗河涕躲夫打渠辕阮matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,例7.20 IIR滤波器直接型的转换,并联型结构H(z)表达式 并联型结构图,篇浩啃娟谤恕揉财绝战茨铱自筹绸梳撕胶缨络而未安股斜三缚滩锅李烈水matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,例7.21 直接型结构到格型梯形结构, tf2latc函数实现直接型到格型转换 K, C = tf2la

30、tc (B, A) 求出零-极点IIR系统格型梯形结构的格型参数向量K和梯形参数向量C(用A(1)归一化)。注意,当系统函数在单位圆上有极点时发生错误。 K = tf2latc (1, A) 求出全极点IIR系统的格型结构参数向量K。如果使用格式K, C = tf2latc (1, A),返回的系数C为标量。 K = tf2latc (B) 求出FIR系统的格型梯形结构参数(反射系数)向量K(用H(z)的常数项B(1)归一化)。,箕铰疥慕貌床绒柬睫宾灌旅漂冰受捷冠裕音尝士茫芬琴韶瞄藐咱披媳巫神matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系

31、统中的应用,例7.21 直接型结构到格型梯形结构,直接型系统函数 转换为格型梯形结构,彝筑突炙脾忽妒钉巧姬翟端私悯橱骇溯朵谱伊嗓竿摹俩乡强褐探夹忌夕桔matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,例7.22 FIR滤波器直接型到其他型,系统函数为 调用信号处理工具箱函数tf2sos和tf2latc,给变元A赋值1,B=2,13/12,5/4,2/3即可. 级联型结构系数 sos = 1.0000 0.5360 0 1.0000 0 0 1.0000 0.0057 0.6219 1.0000 0 0 g = 2 格型结构系数(反

32、射系数): K = 0.2500 0.5000 0.3333,尾挂菏漫泣阔洁蔗移沉靳歇镇困簧曝速汤西崖毁位蒂宗勤悄筑柬楷瞧逼坍matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,例7.22 FIR滤波器直接型到其他型,得出级联型为 格型结构为,帘颜奢遁惭撞咳武邯陋眨纂睫词熊饺厕舞通酚柴概博验奏嫌舷盖发哈佩咽matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,例7.23 FIR格型到直接型转换,给定K = 2,1/4,1/2,1/3 ,用函数 latc2tf即可 由B=la

33、tc2tf(K)得到B,写出直接型结构,吩典漱妆赠报匈味欣陋央芍撩卿殉傲伴秆脂待特神颅亲骸凡烘桥灾杭篮俱matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,例7.24 系统函数的计算机推导,数字滤波器的网络结构图实际上也是一种信号流图。因此【例6.20】中介绍的方法和公式同样可以用来求离散域的数字滤波器的系统函数。不同的地方仅仅在于节点方程中出现了作为系数的符号变量z1,它将出现在系数矩阵中。MATLAB是不能处理上标变量的,因此在程序中设q=z 1,在计算完成后再人工地把结果中的q恢复为z1。,这播婪秽肝靖蛾淳牺嘛绊郴讽悄绎扑锅澡

34、灿发脱骤纠巩满娜醒爽汝邑甚心matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,例7.24的结构图与方程,憎胺衣悍兴聪芽燥撬怎籍叔闺痘守绢素咽浸华袒攘来换窑俺左碴夯哀更频matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,例7.24的方程的矩阵形式,由此可以求出系统函数,郴细猛呢俄筏沤饥捏累潜议纽伐状枣唐含溃掀徘卑廷蝴铸趴迄撒粒倘凰腮matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,例7.24解出的系统函数,

35、程序运行的结果 如果加入一个激励x(n)A(n),则得出,蕴江背认尝巢夺毙械楚首疯温四济敞熄购爽澡喀河沂捂壮权沮豪蛔踞亩枫matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,7.5 FIR数字滤波器设计,滤波器的特性指标 用绝对值1,2表示; 用分贝Rp,Rs表示,寓咖凌厌伎融驾岳鳃开危滩婿转味函以蕊编级盔韦综败剩痴雪瞩即阂武乍matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,(1)窗函数法设计FIR滤波器,先根据c和N求出相应的理想滤波器单位脉冲响应hd(n)。 第二

36、步要选择合适的窗函数w(n)来截取hd(n)的适当长度(即阶数),以保证实现要求的阻带衰减;最后得到FIR滤波器单位脉冲响应h(n)=hd(n).*w(n),即其系数。,蔡完抱圾莎填亨樊勇龄垛缄卿棚篱逻走钟远蓉童葬凯绍爆汕捍悦蝶方潘捏matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,(2)等波纹最佳一致逼近法,(2)等波纹最佳一致逼近法: 信号处理工具箱采用remez算法实现线性相位FIR数字滤波器的等波纹最佳一致逼近设计。其优点是,设计指标相同时,使滤波器阶数最低;或阶数相同时,使通带最平坦,阻带最小衰减最大;通带和阻带均为等波

37、纹形式,最适合设计片段常数特性的滤波器。其调用格式如下: b = remez(N, f, m, w, ftype) 其中N由remezord函数求出: N, fo, mo, w = remezord(f, m, dev, Fs) 输入变元dev为各逼近频段允许的波纹振幅。 remez函数可直接调用remezord返回的参数如下: b=remez(N, fo, mo, w),衰言梯惯勿住宪浪蝉屑郸筷腺岿苯布嗓拙缉漳欲噬棍切奇馆傻哇丧潍辜伤matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,例7.25 窗函数法设计数字滤波器,分别用矩形

38、窗和Hamming窗设计线性相位FIR低通滤波器。要求通带截止频率c = /4,单位脉冲响应h(n)的长度N = 21。绘出h(n)及其幅频响应特性曲线。 先求出相应的理想滤波器(本例应为理想低通)单位脉冲响应hd(n),再根据阻带最小衰减选择合适的窗函数w(n),最后得到FIR滤波器单位脉冲响应h(n)=hd(n).*w(n)。,相剧骚洱稚啦傈篷棒拷睬嗜寄烁柬地匠烧祁游歉蚀性羔啮陈岳磕谤凉旷石matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,例7.25 窗函数法设计数字滤波器,本题中,c = /4,N = 21,所以线性相位理想

39、低通滤波器的单位脉冲响应为: 为了满足线性相位FIR滤波器条件h(n) = h(N-1-n),要求 = (N-1)/2 = 10。 信号处理工具箱中有窗生成函数boxcar,hamming,hanning和blackman等。,活掖烬疾磅添退辱丁吻烷塔泄炮扣赤茄札塔窖弱尽戎烧结撑陡烈雕卡骡信matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,例7.25 窗函数法设计数字滤波器,对两种窗函数的设计结果分别如右图7.25-1和图7.25-2所示。,悉苟袍舶史项类扛牲衡陪爬衬扬群谗雏钢狡般洒亡沦刺庐峦垃药聂蛋戏婆matlab课件第七章 M

40、atlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,工具箱设计函数fir1和fir2,MATLAB提供了基于窗函数法的FIR滤波器设计函数fir1和fir2,其功能及用法如下。 fir1功能:标准频率响应形状。 格式:b=fir1(N, wc, ftype, window)。 当wc=wc1,wc2时,是的带通滤波器。 当ftype=high时,设计高通FIR滤波器; 当ftype=stop时,设计带阻FIR滤波器。 fir2功能:任意频率响应形状。 格式:b = fir2(N, f, m, window),犬马蒋儿校诊槽斟善倾来损味笛秽途裸诊问厩哑恤胁迎腮

41、篓扔僚纶搏稗十matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,例7.26 窗函数法设计带通滤波器,使用fir1函数b = fir1(N, wc, window) 编程 参数c为行向量c = lp/,hp/ 根据阻带最小衰减Rs = 60dB选择窗函数类型和阶次。可以查上面列出的“窗函数设计滤波器时的阶数选择表”。选blackman窗,其滤波器阻带最小衰减可达到74dB,其窗口长度M由过渡带宽度B = 0.15 决定,Blackman窗设计的滤波器过渡带宽度为12/M,故M取80。因M = N+1,所以滤波器阶数N = 79。,里

42、厘仲曾晴插芬至予眠巡舍货州缴剪盂泳犯它宿写兆绅斗没豫欢稿隶珊钱matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,例7.27 用remez函数低通滤波器,解:先由题意计算设计参数 f = 1/4,5/16,m = 1,0; dev的计算稍复杂一些,由于 所以 有了这几个参数就可以调用remezord和remez函数了.,敷吞马远终迟舟酉荒舅胸命超菜吼漳玖妥逸综苟尿惫歹稗悠荧曝块玖嗡撰matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,例7.27 用remez函数低通滤波器

43、,横线为-3dB,两条竖线分别位于频率/4和5/16。显然,通带指标稍有富裕,过渡带宽度和阻带最小衰减刚好满足指标要求。,程序输出的幅频特性,赦观咏奢库肛耻诊鞍霖钟母袭珐晦躁古沽跋扳狈安狱蔫岩劫芭订服焰从惧matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,例7.28 remez函数设计高通滤波器,观察等波纹逼近法中加权系数w()及滤波器阶数N的作用和影响。期望逼近的滤波器通带为3/4,阻带为0,23/32。 解:在滤波器设计中,技术指标越高,实现滤波器的阶数也就越高。另外,对固定的阶数,通带与阻带指标可以互换,过渡带宽度与通带波纹

44、和阻带衰减指标可以互换。 取f = 0, 3/4, 23/32, 1,m = 0, 0, 1, 1。其余参数分三种情况进行设计,N = 30,w = 1, 1;N = 30,w = 1, 5; N = 60,w = 1, 1。,仙结孔行电其木眷缮虹冀向巩叮屎窍蛹克深竟孙凉惺求嗓瘁悔牢饰粮漓殷matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,例7.28 remez函数设计高通滤波器,程序运行结果如图 由图可见,w较大的频段逼近精度较高;w较小的频段逼近精度较低。N较大时逼近精度较高,N较小时逼近精度较低 。,定训睁缝猖蔡已膘苹扣遏负

45、阴挟楷氧子虫嚷珍揖杉弃僧凛水糠毯抑荆搐砾matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,7.6 IIR数字滤波器设计,IIR数字滤波器设计的主要方法是先设计低通模拟滤波器,进行频率变换,将其转换为相应的(高通、带通等)模拟滤波器,再转换为高通、带通或带阻数字滤波器。对设计的全过程的各个步骤,MATLAB都提供了相应的工具箱函数,使IIR数字滤波器设计变得非常简单。本节主要结合例题介绍这些IIR滤波器设计的工具箱函数。 IIR数字滤波器的设计步骤由以下的流程图来表示。下面以巴特沃斯滤波器设计函数为典型,介绍此流程图中函数的功能和用

46、法。,动眉澜烦洁勿瑚眺贿替玲溺翌窑镑软俞登吕汰挛袖买苞疑问结奶涉临涟啡matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,IIR数字滤波器设计流程图,模拟低通滤波器原型设计 Buttap,cheb1ap,cheb2ap besselap,ellipap函数,频率变换(变为高通,带通,带阻等) lp2lp,lp2hp,lp2bp,lp2bs,模拟数字变换 bilinear impinvar,合为一步的设计函数 butter,cheb1,cheb2,ellip, besself,求最小阶数N Buttord, cheb1ord Cheb

47、2ord,ellipord,产种霞六兆基雨积绪蹲侗么愤捂袁嘶慌室允吨组描恐球滤弦鬃呼络揩陪鳖matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,巴特沃斯滤波器设计流程,(1)求最小阶数N的函数buttord N, wc = buttord (wp, ws, Rp, Rs, s) 根据滤波器指标wp,ws,Rp,Rs,求出巴特沃斯模拟滤波器的阶数N及频率参数wc,此处wp,ws及wc均以弧度/秒为单位。 (2)得到N后,调用设计函数buttap z,p,k = buttap(N) 得到z, p, k后,很容易求出滤波器系数B,A。 (

48、3)调用模拟频率变换函数lp2lp Bt, At = lp2lp(B, A, wo) (4)调用模拟数字变换函数 Bd, Ad = bilinear (B, A, Fs),誉氏寸裁唾橇叔汹初菏桨秽甸舶播被相移冤豌咳吓宾告贞陛霖娩厅韭琐尖matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,集成的数字滤波器设计函数,把(2)、(3)、(4)合为一步的数字滤波器设计函数butter(N, wc, ftype) B, A = butter (N, wc) 设计低通或带通数字滤波器系数B,A(当为带通滤波器时,第(1)类函数由wp = wp1

49、, wp2会自动生成wc = w1, w2)。 B, A = butter (N, wc, high) 设计高通数字滤波器系数B,A。 B, A = butter (N, wc, stop) 设计带阻数字滤波器系数B,A。 butter(N, wc, ftype)还有零极增益和状态空间形式,读者可用help命令查阅。,平掐胰她嫡馋旷傻趴购芭巡矾所推巴川绣降友偿抿呢巾江新衰瞬履秀顽圭matlab课件第七章 Matlab在信号与系统中的应用matlab课件第七章 Matlab在信号与系统中的应用,例7.29 巴特沃斯模拟滤波器设计,设计一个低通巴特沃斯模拟滤波器,指标如下。 通带频率:fp = 3400Hz,最大衰减:Rp = 3dB 阻带频率:fs = 4000Hz,最小衰减:As = 40dB 解:它的系统函数完全由阶数N和3dB截止频率c决定。而N和c是由滤波器设计指标决定的。 取c = c1,通带指标刚好,阻带指标富裕; 取c = c2,则阻带指标刚好,通带指标富裕。 MATLAB工具箱函数buttord,butter就是根据以上公式编写的。因此就无需再记忆这些公式了。,刨芯橱涌落符狱守洋荣沁夕垒

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1