离散时间LTI系统分析讲义.docx
- 文档编号:23698734
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:24
- 大小:538.94KB
离散时间LTI系统分析讲义.docx
《离散时间LTI系统分析讲义.docx》由会员分享,可在线阅读,更多相关《离散时间LTI系统分析讲义.docx(24页珍藏版)》请在冰豆网上搜索。
离散时间LTI系统分析讲义
实验四离散时间LTI系统分析
实验目的
求解离散时间系统的零状态响应;求解离散时间系统的单位冲激响应;求解离散时间系统的卷积和。
求离散时间信号的z变换和z反变换;分析离散时间系统的系统函数的零极点;分析系统函数的零极点分布与其时域特性的关系;进行离散时间系统的频率特性分析。
实验原理及实例分析
1离散时间系统的响应
离散时间LTI系统可用线性常系数差分方程来描述,即
aiy(n
i0
i)
bjx(nj)
j0
1)
其中,ai(i0,1,…,N)和bj(j0,1,…,M)为实常数。
MATLAB中函数filter可对式
(1)的差分方程在指定时间范围内的输入序列所产生的响应进行求解。
函数filter的语句格式为
y=filter(b,a,x)
其中,x为输入的离散序列;y为输出的离散序列;y的长度与x的长度一样;b与a分别为差分方程右端与左端的系数向量。
【实例1】已知某LTI系统的差分方程为
3y(n)4y(n1)2y(n2)x(n)2x(n1)
试用MATLAB命令绘出当激励信号为x(n)(1/2)nu(n)时,该系统的零状态响应。
解:
MATLAB源程序为
>>a=[3-42];
>>b=[12];
>>n=0:
30;
>>x=(1/2).An;
>>y=filter(b,a,x);
>>stem(n,y,'fill'),gridon
>>xlabel('n'),title('系统响应y(n)')
程序运行结果如图1所示。
呂絃吨应屮①
41
o!
1
1
i;
j
pI
|i:
・i
|i|
fal
«
•
5
1
i
I
I>1
i>i
¥1
l
1
i■i
o
lii
F1
■i
91
F1
iii
V1
►
iii
■i
l!
I
b1
.
1
=•«*・一*…▼丁r■■-f
Fill
ib1
・i-|
1
Ji
・i1
1i-|
■11
iiL„
〒IIIILIII
5wT5202630
n
图3-1实例3-1系统的零状态响应
2离散时间系统的单位冲激响应
系统的单位冲激响应定义为系统在(n)激励下系统的零状态响应,用h(n)表示。
MATLAB求单位冲激响应的方法是利用控制系统工具箱提供的函数impz来实现。
impz函
数的常用语句格式为
impz(b,a,N)
其中,参数N通常为正整数,代表计算单位冲激响应的样值个数。
【实例2】已知某LTI系统的差分方程为
3y(n)4y(n1)2y(n2)x(n)2x(n1)
利用MATLAB的impz函数绘出该系统的单位冲激响应。
解:
MATLAB源程序为
>>a=[3-42];
>>b=[12];
>>n=0:
30;
>>impz(b,a,30),gridon
>>title('系统单位冲激响应h(n)')
程序运行结果如图3所示。
3离散时间信号的卷积和运算
由于系统的零状态响应是激励与系统的单位冲激响应的卷积,因此卷积运算在离散时间
信号处理领域被广泛应用。
离散时间信号的卷积定义为
y(n)x(n)*h(n)x(m)h(nm)
(2)
m
可见,离散时间信号的卷积运算是求和运算,因而常称为卷积和”。
MATLAB求离散时间信号卷积和的命令为conv,其语句格式为
y=conv(x,h)
其中,x与h表示离散时间信号值的向量;y为卷积结果,它默认序列从n=0开始。
但是如
果序列是从一负值开始,即
x(n):
nx1nnx2
h(n):
nh1nnh2
如果nx1<0或nh1<0就不能直接采用conv函数。
其卷积结果序列为
{y(n):
nx1nh1nnx2nh2},这样就可以构成一个新的卷积函数conv_m。
如下所示:
function[y,ny]=conv_m(x,nx,h,nh)
ny1=nx
(1)+nh
(1);ny2=nx(length(x))+nh(length(h));
ny=[ny1:
ny2];
y=conv(x,h)
值得注意的是用MATLAB进行卷积和运算时,无法实现无限的累加,只能计算时限信号的
卷积。
实例3】已知某系统的单位冲激响应为hn0.8nunun8,试用MATLAB
求当激励信号为x(n)u(n)u(n4)时,系统的零状态响应。
解:
MATLAB中可通过卷积求解零状态响应,即x(n)*h(n)。
由题意可知,描述h(n)
向量的长度至少为8,描述x(n)向量的长度至少为4,因此为了图形完整美观,我们将h(n)
向量和x(n)向量加上一些附加的零值。
MATLAB源程序为
nx=-1:
5;%x(n)向量显示范围(添加了附加的零值)
nh=-2:
10;%h(n)向量显示范围(添加了附加的零值)
x=uDT(nx)-uDT(nx-4);
h=0.8。
nh.*(uDT(nh)-uDT(nh-8));
[y,ny]=conv_m(x,nx,h,nh);subplot(311)stem(nx,x,'fill'),gridonxlabel('n'),title('x(n)')axis([-41603])subplot(312)stem(nh,h','fill'),gridonxlabel('n'),title('h(n)')axis([-41603])subplot(313)stem(ny,y,'fill'),gridonxlabel('n'),title('y(n)=x(n)*h(n)')axis([-41603])
程序运行结果如图4所示。
图3-5利用卷积和法求解系统的零状态响应
【编程练习11
1.试用MATLAB命令求解以下离散时间系统的单位冲激响应。
(1)3y(n)4y(n1)y(n2)x(n)x(n1)
5
(2)5y(n)6y(n1)10y(n2)x(n)
2.已知某系统的单位冲激响应为hn(7)nunun10,试用MATLAB求当激励
信号为x(n)u(n)u(n5)时,系统的零状态响应。
4z正反变换
序列xn的z变换定义为
XzZxnxnzn(3)
n
其中,符号Z表示取z变换,z是复变量。
相应地,单边z变换定义为
XzZxnxnzn(4)
n0
MATLAB符号数学工具箱提供了计算离散时间信号单边z变换的函数ztrans和z反变
换函数iztrans,其语句格式分别为
Z=ztrans(x)
x=iztrans(z)
上式中的x和Z分别为时域表达式和z域表达式的符号表示,可通过sym函数来定义。
【实例4】试用ztrans函数求下列函数的z变换。
(1)x(n)ancos(n)u(n);
(2)x(n)[2n1
(2)n1]u(n)。
解:
(1)z变换MATLAB源程序为
>>x=sym('aAn*cos(pj*n)');
>>Z=ztrans(x);
>>simplify(Z)%对Z进行简化运算
ans=
z/(z+a)
(2)z变换MATLAB源程序为
>>x=sym('2A(n-1)-(-2)A(n-1)');
>>Z=ztrans(x);
>>simplify(Z)
ans=
zA2/(z-2)/(z+2)
【实例5】试用iztrans函数求下列函数的z反变换。
解:
(1)z反变换MATLAB源程序为
>>Z=sym('(8*z-19)/(zA2-5*z+6)');>>x=iztrans(Z);
>>simplify(x)
ans=
-19/6*charfcn[0](n)+5*3A(n-1)+3*2A(n-1)
其中,charfcn[0](n)是(n)函数在MATLAB符号工具箱中的表示,反变换后的函数形式为
n1n1
x(n)(n)(5332)u(n)。
6
(2)z反变换MATLAB源程序为
>>Z=sym('z*(2*zA2-11*z+12)/(z-1)/(z-2)A3');
>>x=iztrans(Z);
>>simplify(x)
ans=
-3+3*2An-1/4*2An*n-1/4*2An*nA2
11
其函数形式为x(n)(332n丄n2n^n22n)u(n)。
44
5系统函数的零极点分析
离散时间系统的系统函数定义为系统零状态响应的z变换与激励的z变换之比,即
如果系统函数H(z)的有理函数表示式为
那么,在MATLAB中系统函数的零极点就可通过函数roots得到,也可借助函数tf2zp得到。
1,roots的格式语句为:
p=roots(A),其中A为待求根的多项式的系数构成的行向量,返回向量p则包含该多项式所有的根位置列向量。
2,tf2zp的语句格式为
[Z,P,K]=tf2zp(B,A)
其中,B与A分别表示H(z)的分子与分母多项式的系数向量。
它的作用是将H(z)的有理
分式表示式转换为零极点增益形式,即
z0.32
z2z0.16
【实例7】已知一离散因果LTI系统的系统函数为
H(z)
试用MATLAB命令求该系统的零极点。
解:
1,用roots函数求系统的零极点:
a=[10.32];b=[110.16];r=roots(a)
-0.3200
p=roots(b)P=-0.8000-0.2000
2,用tf2zp函数求系统的零极点,MATLAB源程序为
>>B=[1,0.32];
>>A=[1,1,0.16];
>>[R,P,K]=tf2zp(B,A)
R=
-0.3200
P=
-0.8000
-0.2000
K=
1
因此,零点为z0.32,极点为山°.8与p2°.2。
若要获得系统函数H(z)的零极点分布图,可直接应用zplane函数,其语句格式为
zplane(B,A)
其中,B与A分别表示H(z)的分子和分母多项式的系数向量。
值注意的是:
求系统函数零
极点时,离散系统的系统函数可能有两种形式,一种是分子分母多项式按z的降幕次序排
列,另一种是按z1的升幕次序排列。
若是以z的降幕次序排列,则系数向量一定要由多项
式的最高幕次开始,一直到常数项,缺项要用0补齐;若以z1的升幕次序排列,则分子分
试用MATLAB命令绘出该系统的零极点分布图。
解:
用zplane函数求系统的零极点,MATLAB源程序为
>>B=[1,0,-0.36];
>>A=[1,-1.52,0.68];
>>zplane(B,A),gridon>>legend('零点极点')>>title('零极点分布图')
程序运行结果如图5所示。
可见,该因果系统的极点全部在单位圆内,故系统是稳定的。
as
=0.5
■GEnns
F'rirt
图4-1零极点分布图
6系统函数的零极点分布与其时域特性的关系
z域函数H(z)之间的对应关系。
因此,z变换的函数H(z)从形式可以反映h(n)的部分内
在性质。
我们仍旧通过讨论H(z)的一阶极点情况,来说明系统函数的零极点分布与系统时
域特性的关系。
以及对应的时域
【实例9】试用MATLAB命令画出现下列系统函数的零极点分布图、
单位冲激响应h(n)的波形,并分析系统函数的极点对时域波形的影响。
>>b1=[1,0];
>>a1=[1,-0.8];
>>subplot(121)
>>zplane(b1,a1)
>>title('极点在单位圆内的正实数')
>>subplot(122)
>>impz(b1,a1,30);gridon;
>>figure
>>b2=[1,0];
>>a2=[1,0.8];
>>subplot(121)
>>zplane(b2,a2)
>>title('极点在单位圆内的负实数')
>>subplot(122)
>>impz(b2,a2,30);gridon;
>>figure
>>b3=[0,1,0];
>>a3=[1,-1.2,0.72];
>>subplot(121)
>>zplane(b3,a3)
>>title('极点在单位圆内的共轭复数')
>>subplot(122)
>>impz(b3,a3,30);gridon;
>>figure
>>b4=[1,0];
>>a4=[1,-1];
>>subplot(121)
>>zplane(b4,a4)
>>title('极点在单位圆上为实数1')
>>subplot(122)
>>impz(b4,a4);gridon;
>>figure
>>b5=[0,1,0];
>>a5=[1,-1.6,1];
>>subplot(121)
>>zplane(b5,a5)
>>title('极点在单位圆上的共轭复数')
>>subplot(122)
>>impz(b5,a5,30);gridon;
>>figure
>>b6=[1,0];
>>a6=[1,-1.2];
>>subplot(121)
>>zplane(b6,a6)
>>title('极点在单位圆外的正实数')
>>subplot(122)
>>impz(b6,a6,30);gridon;
>>figure
>>b7=[0,1,0];
>>a7=[1,-2,1.36];
>>subplot(121)
>>zplane(b7,a7)
>>title('极点在单位圆外的共轭复数')>>subplot(122)
>>impz(b7,a7,30);gridon;
极点柱单位圆内的正实数
0.500.5
RbaIPart
(a)
匸WIL』」BJE6eE-
(b)
}JE"L>!
.」ELMSEE
(c)
n(iBTiples)
(d)
职点往单住回上的共梔复數
.5o
口
IJEdXJnErBEE
0.500.5
R»alPart
(e)
}JE"LJC』ELI一SEE
1“00.5
Re^lPart
5o
□.
5
J
(f)
股点程单世回外的共梔复皱
10.500.51
R»aIPart
5O
口
1
1||
1
1
1
1■
iI
1i
11
1i
;:
q
i■
7
1!
i
i
i
i
i
i«
1
1
i
1
1
1
Ifb
F
II
1
khrt¥
1
i
i
i
i
■
1
i
1
|ii
i■
1I
14
19
!
■
14
1i
ii
Ii
i
F
051015202=
n(jftTiples)
(g)
图4-2系统函数的零极点分布与其时域特性的关系
从图可知,当极点位于单位圆内时,h(n)为衰减序列;当极点位于单位圆上时,h(n)
为等幅序列;当极点位于单位圆外时,h(n)为增幅序列。
若h(n)有一阶实数极点,则h(n)
为指数序列;若h(n)有一阶共轭极点,贝yh(n)为指数振荡序列;若h(n)的极点位于虚轴左边,则h(n)序列按一正一负的规律交替变化。
7离散时间LTI系统的频率特性分析
统的稳态响应为yss(n)A|H(ej)|sin[n()]u(n)。
其中,H(ej)通常是复数。
离散时间系统的频率响应定义为
H(ej)|H(ej)|ej(}(9)
其中,|H(ej)|称为离散时间系统的幅频特性;()称为离散时间系统的相频特性;
2
H(ej)是以s(s,若零T1,s2)为周期的周期函数。
因此,只要分
析H(ej)在||范围内的情况,便可分析出系统的整个频率特性。
MATLAB提供了求离散时间系统频响特性的函数freqz,调用freqz的格式主要有两种。
一种形式为
[H,w]=freqz(B,A,N)
其中,B与A分别表示H(z)的分子和分母多项式的系数向量,值得注意的是,B,A采用z
的升次幕形式;N为正整数,默认值为512;返回值w包含[0,]范围内的N个频率等分点;返回值H则是离散时间系统频率响应H(ej)在0~范围内N个频率处的值。
另一种形式
为
[H,w]=freqz(B,A,N,'whole'
与第一种方式不同之处在于角频率的范围由[0,]扩展到[0,2]。
2
【实例10】用MATLAB命令绘制系统H(z)Z20.96Z0.9028的频率响应曲线。
Z21.56z0.8109
解:
禾U用函数freqz计算出H(e‘),然后利用函数abs和angle分别求出幅频特性与相频特性,最后利用plot命令绘出曲线。
MATLAB源程序为
>>b=[1-0.960.9028];
>>a=[1-1.560.8109];
>>[H,w]=freqz(b,a,400,'whole');
>>Hm=abs(H);
>>Hp=angle(H);
>>subplot(211)
>>plot(w,Hm),gridon
>>xlabel('\omega(rad/s)'),ylabel('Magnitude')
>>title('离散系统幅频特性曲线')
>>subplot(212)
>>plot(w,Hp),gridon
>>xlabel('\omega(rad/s)'),ylabel('Phase')
>>title('离散系统相频特性曲线')
程序运行结果如图6所示。
【编程练习2】
1.试用MATLAB画出下列因果系统的系统函数零极点分布图,并判断系统的稳定性。
(1)H(z)
(2)H(z)
2
2z1.6z0.9
32
z2.5z1.96z0.48
z1
432
z0.9z0.65z0.873z
3.自行设计系统函数,验证系统函数零极点分布与其时域特性的关系。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 离散 时间 LTI 系统分析 讲义