《matlab幻灯片》由会员分享,可在线阅读,更多相关《matlab幻灯片(47页珍藏版)》请在金锄头文库上搜索。
1、第 6章 在信号与系统中的应用,例6.1 连续信号的MATLAB描述,(1)单位冲激函数 (2)单位阶跃函数: (3)复指数函数,例6.2 LTI系统的零输入响应,n阶线性时不变连续系统的微分方程 已知y及其各阶导数的初始值为y(0),y(1)(0),y(n-1)(0),求系统的零输入响应。解:方程的解为p1, p2,pn是方程a1n+a2n-1+ an+ an+1 =0的根, C1,Cn由y及其各阶导数的初始值来确定。,例6.2 LTI系统的零输入响应(续),C1+ C2+Cn = y0 y0 = y(0)p1C1+ p2C2+ pnCn=Dy0,例6.2 LTI系统的零输入响应(续),即
2、VC = Y0其解为 C =V Y0式中 V为范德蒙矩阵,在MATLAB的特殊矩阵库中有vander。调用方法: V=vander(p),例6.3 n阶LTI系统的冲激响应,n阶微分方程,写成系统函数为:冲击响应就是H(s)的拉普拉斯反变换,可以把H(s)展开为极点留数式。 其反变换为,例6.4 卷积的计算,根据卷积公式:因此编程的过程为:(1)写出h(t)的MATLAB表达式;(2)写出u(t)的MATLAB表达式;(3)利用MATLAB的卷积语句y=conv(u,h)求解(4)画曲线plot(t,y)。,例6.5 LTI系统的零状态响应,设二阶连续系统求其冲激响应。若输入为u = 3t +
3、 cos (0.1t),求其零状态响应y(t)。解:特征方程 2+2 + 8 = 0求出其特征根为p1,p2及相应的留数r1,r2,则冲击响应为:输出y(t)可用输入u(t)与冲击响应h(t)的卷积求得。,例6.6 有重极点时的计算,n级放大器,每级的传递函数均为0/(s+0),求阶跃响应,画出n不同时的波形和频率特性。解:阶跃信号下系统的输出为求Y(s)的拉普拉斯反变换,即得到阶跃响应y(t)。遇到的困难是重极点,公式复杂,且结果不稳定。为了避开重极点问题,可以有意把极点拉开一些,例如设n个极点散布在-0.950到1.050之间,那样也就可当非重极点来列程序。,例6.7 方波分解为多次正弦波
4、之和,图示的周期性方波,其傅里叶级数为分别计算 直到9次谐波,并做图。,例6.8 全波整流信号的频谱,周期信号f(t)可展开为直流与各次谐波之和,即其中, 是基波角频率,T为周期。 全波整流电压Us(t)的波形如图所示。用傅里叶级数可求得其偶次谐波幅值k=2,4,6,奇次谐波为零。,例6.8 全波整流信号功率(续),信号每周期的有效值Us1可由数字积分求得取前n项分量的功率求出的有效值Us2为 用可以衡量所取谐波是否包含了原波形的主体。,例6.9 周期信号的滤波,图示滤波电路,如激励电压us(t)为全波整流信号,求负载R两端的直流和各次谐波分量。解:输入信号为多频的网络的输出由分压确定,例6.
5、9 周期信号的滤波(续),信号幅度随频率而变元件和系统函数都是频率的函数因此输出电压为由此式可求得UR的各次谐波。,例6.10 调幅信号通过带通滤波器,已知带通滤波器的系统函数为激励电压u1(t) = (1+cost ) cos (100t)求(1)带通滤器的频率响应; (2)输出的稳态响应u2(t)并画出波形。 解:将激励信号u1(t)展开为傅立叶级数,例6.10 调幅信号通过滤波器(续),带通滤波器的频率响应为可画出其频率响应,并求各个分量通过滤波器后的幅度和相位变化,再将各分量叠合,得到按此信号作出图形与原有信号比较。,例6.11 方波的频谱分析,将积分上下限定为010s,并将t分成N等
6、份,用求和代替积分。这样,傅立叶变换式可写为求和可以用f(t)行向量乘以e-jtn列向量来实现。式中t是t的增量,在程序中,用dt表示。,例6.11 方波的频谱分析(续),求不同处的F值,都用同一公式,这就可以利用MATLAB中的元素群运算。将设为一个行数组,代入上式,则可写为(程序中用w表示) 其中,F是与w等长的行向量,t 是列向量,w是行向量,t *w是一矩阵,其行数与t相同,列数与w相同。这样,此式就完成了傅里叶变换。类似地也可得到傅里叶逆变换表示式为,例6.11 方波的频谱分析(续),算得的时域信号波形及其频谱图如右。下图为采样周期较低时的情况,有明显的频率泄漏。,例6.12 信号通
7、过滤波器,计算幅度为1,宽度为5s的矩形脉冲(同例6.11)通过下列滤波器的响应。(1)理想低通滤波器,(2)低通滤波器解:滤波器输出的频谱Y(j)=F(j)H(j)其时间响应y(t)是Y(j)的傅里叶反变换。,例6.12 信号通过滤波器(续),(1)理想低通滤波器的截止角频率c=10,故只取F(j)中 = 010的部分,用MATLAB语言表述,输出频率分量对应的的下标数组为n2 = find (w= wc) & (w= wc)其对应的频率数组为w2 = w(n2)频段内的频谱数组为F2 = F(n2:),它就是滤波后的频谱数组Y2,其逆变换即y2 = F2*exp(j*n2*t)/pi*dw
8、,例6.12 信号通过滤波器(续),(2)三阶低通滤波器的频率响应滤波器的输出为,例6.13 离散信号的MATLAB表述,编写MATLAB程序,产生下列基本脉冲序列:(1)单位脉冲序列,起点n0,终点nf,在ns处有一单位脉冲(n0nsnf)。n1=n0:nf; x1=zeros(1,ns-n0),1,zeros(1,nf-ns);用逻辑关系编程:n1 = n0:nf; x1=(n1-ns)=0 (2)单位阶跃序列,起点n0,终点nf,在ns前为0,在ns后为1(n0nsnf)。 n2=n0:nf;x2=zeros(1,ns-n0),ones(1,nf-ns+1); (3)复数指数序列。 n3
9、 = n0:nf; x3=exp(-0.2+0.5j)*n3);,例6.14 解差分方程的递推程序,描述线性时不变离散系统的差分方程为编写解上述方程的通用程序。解: 建模可用递推法解差分方程,移项如下:于是得y(n)=(b*us - a(2:na)*ys)/a(1) 这里需要n = 0之前的y和u, 而MATLAB变量下标不能取负数。需要作一些技巧性的处理。,例6.14 递推解差分方程(续),本例中的处理方法是另设两个变量ym和um,使ym(k) = ys(k-na+1),um(k) = us(k-na+1),这相当于把y和u右移na-1个序号,故ym和um的第1到na-1位相当于y和u在起点
10、之前的初值。注意在程序中,随着计算点的右移,要随时更新相应于公式中的向量us和ys。,例6.15 离散系统对输入的响应,描述LTI系统的差分方程为y(n) - y(n-1) + 0.9y(n-2) - 0.5y(n-3) = 5u(n) - 2u(n-1) + 2u(n-2)(1)如已知y(0) = -2,y(-1) = 2,y(-2) = -0.5,求零输入的响应,计算20步。(2)求单位脉冲的响应h(n),计算20步。(3)求单位阶跃的响应g(n),计算20步。解:利用例6.14的通用程序(1)令us = zeros(1,20); ym = -1/2, 2,-2;(2) 令us = 1,z
11、eros(1,19) ;ym = 0,0,0 (3)令um = ones (1, 20); ym = 0,0,0;,例6.16 二阶数字滤波器的频响。,低通滤波器的系统函数(传递函数)为求其频率响应。解:利用多项式求值的函数polyval,分别求出分子分母多项式在z=exp(jw)时的值,求其比值。它是对应于w数组的复数数组,其幅值为幅特性,相角为相特性。然后绘图。也可用信号处理工具箱中的freqz函数快速求解,但为了弄清原理,这里不提倡。,6.4.1 模型的典型表达式,1连续系统 状态空间型设x为状态变量,u为输入,y为输出,系统的状态方程为:如果系统是n阶的,输入有nu个,输出有ny个,则
12、A为nn阶,B为nnu阶,C为nyn阶,而D为nynu阶矩阵,对单输入单输出(SISO)系统,ny=nu=1。,6.4.1 模型的典型表达式(续), 传递函数型单输入单输出(SISO)n阶系统的传递函数为知道分子系数矢量f =f (1),f (2),f (m + 1),分母系数矢量g =g(1),g(2),g (n+1),就惟一地确定了系统的模型(注意系统的阶次n)。而对物理可实现的系统,必有nm。,6.4.1 模型的典型表达式(续), 零极增益型对传递函数分子和分母进行因式分解,可得令z = z(1),z(2),z(m)为系统的零点矢量,p = p(1),p(2),p(n)为系统的极点矢量,
13、k为系统增益,它是一个标量。可以看出,H(s)有m个零点、n个极点。物理可实现系统的nm,系统的模型将由矢量z,p及增益k惟一确定,故称为零极增益模型。零极增益模型通常用于描述SISO系统。并可以推广到MISO系统。,6.4.1 模型的典型表达式(续), 极点留数型如果零极增益模型中的极点都是单极点,将它分解为部分分式,可得 其中p =p(1),p(2),p(n)仍为极点矢量,而r =r(1),r(2),r(n)为对应于各极点的留数矢量,p,r两个矢量及常数h惟一地决定了系统的模型。,6.4.1 典型表达式的比较,比较一下这四种情况下模型系数的总个数。假定都是SISO系统,阶数为n,则状态空间
14、型有n2+2n+1个系数;传递函数型为m+n+1个(不含g(1) (注意,由于mn,系数的数目小于等于2n+1);零极增益型的系数个数为n+m+1;而极点留数型为2n+1。因此,传递函数法的待定系数最少,而状态空间法的待定系数最多。这说明了状态空间法中有许多冗余的系数。事实上,同一个系统可以有无数个状态空间矩阵A,B,C,D的组合来描述,其他描述方法则都是惟一的。,6.4.1 离散模型的表达式,2离散系统以上四种表示模型的方法可以全部推广至离散系统。只是将系数矩阵后面加小写字母d,便有: 状态空间型 xn + 1 = Adxn + Bdunyn = Cdxn + Ddun传递函数型零极增益型,
15、6.4.1 离散模型的表达式(续), 极点留数型 数字信号处理模型二阶环节型表6.1列出了连续和离散线性系统的模型式。,6.4.2 模型转换,MATLAB中各种模型转换的函数,6.4.2 模型转换(续), 传递函数型到零极增益型已知f,g,求z,p,k,即知道多项式求根。可用MATLAB内部函数roots,z=roots(f),p=roots(g),k= f(1)/g(1) 零极增益型到传递函数型已知z,p,k,求f,g,即已知根求多项式。可用MATLAB内部函数poly,它是roots的逆运算,即有 f=poly(z)*k,g=poly(p),6.4.2 模型转换(续), 传递函数型到极点留数型及反向变换知道传递函数的系数g求其极点p,方法同上,而求其中某极点处留数r,可用专用函数residue,格式为 r,p,h=residue(f,g)可直接由f,g求出r,p,k。由极点留数型到传递函数型仍可用同一函数。 f,g = residue(r,p,h)residue函数根据输入变元的数目为二或三个,决定变换的方向。,