资源描述
实验二 LTI 离散系统的频域分析
一、实验目的
1、 利用 Matlab 绘制 LTI 离散系统的零极图;
2、 根据离散系统的零极点分布,分析系统单位响应 h(n) 的时域特性;
3、 利用 Matlab 求解 LTI 离散系统的幅频特性和相频特性。
二、实验原理
1、离散系统的零极点
LTI离散系统可采用(4-1)所示的线性常系数差分方程来描述,其中y(n)为系统输出信号,x(n)为系统输入信号。
(4-1)
将上式两边进行z变换得:
(4-2)
上式中,A(z)和B(z)均为z的多项式,可分别进行式因式分解。c为常数, q j (j=1,2,…,M)为H(z)的M个零点, pi (i=1,2,…,N )为H(z)的N个极点。H(z)的零、极点的分布决定了系统的特性,若某离散系统的零、极点已知,则系统函数便可确定。因此,通过对H(z)零极点的分析,可以分析离散系统以下几个方面的特性:
离散系统的稳定性;
系统单位响应h(n)的时域特性;
离散系统的频率特性(幅频响应和相频响应)。
2、离散系统的因果稳定性
离散系统因果稳定的充要条件:系统函数H(z)的所有极点均位于z平面的单位圆内。对于三阶以下的低阶系统,利用求根公式可方便地求出离散系统的极点位置,判断系统的因果稳定性。对于高阶系统,手工求解极点位置则非常困难,这时可利用MATLAB来实现。
3、离散系统的频率响应
称为离散系统的幅频响应,决定了输出序列与输入序列的幅度之比; 称为离散系统的相频响应,决定了输出序列和输入序列的相位之差;随而变化的曲线称为系统的幅频特性曲线,随而变化的曲线称为系统的相频特性曲线。
离散系统的频率响应与连续系统的频率响应最大区别在于其呈周期性,且周期为2π。因此,只需分析一个周期或0~2π范围内的情况便可分析出系统的整个频率特性。
4、分析离散系统特性常用的函数
(1) roots()函数
求系统函数的零点和极点位置,调用命令格式如下:
A为待求根的关于z的多项式的系数构成的行向量,返回向量p则是包含该多项式所有根位置的列向量。例如多项式为:
则求该多项式根的MATLAB命令为:
A=[1 3 4];
p=roots(A)
运行结果为:
p=
-1.5000 + 1.3229i
-1.5000 - 1.3229i
注意:求离散系统函数零极点时,系统函数有两种形式,一种是分子和分母多项式均按z的降幂次序排列,如式(4-3)所示;另一种是分子和分母多项式均按 z 的升幂次序排列,如式(4-4)所示。上述两种方式在构造多项式系数向量时稍有不同。
(4-3)
(4-4)
若H(z)是以z的降幂形式排列,则系数向量一定要由多项式的最高幂次开始,一直到常数项,缺项要用0补齐。例如对式(4-3)所示的系统函数
分子多项式的系数向量为:b = [1 0 2 0] (缺项用0补齐)
分母多项式的系数向量为:a = [1 3 2 2 1]
若H(z)是以z的升幂形式排列,则分子和分母多项式系数向量的维数一定要相同,不足的要用0补齐,否则z=0的零点或极点就可能被漏掉。例如对式(4-4)所示的系统函数
分子多项式系数向量应为 b = [1 1 0] (缺项用0补齐,以保证分子分母系数向量维数相同)
分母多项式系数向量应为 a = [1 0.5 0.25]
用roots()函数求得系统函数H(z)的零极点后,就可以用plot命令在复平面上绘制出系统函数的零极点图,方法是在零点位置标以符号“×”,而在极点位置标以符号“o”。
(2) zplane()函数
应用zplane函数可以得到系统函数H(z)的零极点分布图,其调用格式为:
zplane(b,a)
b和a分别表示H(z)的分子和分母多项式的系数向量,函数的作用是在z平面上画出单位圆,零点和极点。
(3) impz()函数
根据H(z)零极点分布,绘制系统的单位响应h(n)的序列波形,其调用格式如下:
impz(b,a): b,a 表示 H(z)的分子和分母多项式的系数向量。
impz(b,a,N): b,a 的含义同上,N 为显示样本的个数。
例如:系统函数为,求系统的h(n)的序列波形,代码如下:
b=[1];
a=[1 -1];
impz(b, a)
(4) freqz()函数
计算离散系统频率响应的数值,再利用函数abs()、angle()及 plot()函数,可绘制出系统在 0 ~或 0 ~ 2范围内的幅频特性曲线和相频特性曲线。freqz()的调用格式有:
[H,w]=freqz(b,a,N)
b,a 表示 H(z)的分子和分母多项式的系数向量,N 为正整数。返回向量 H 包含了离散系统频率响应在0~范围内N个频率值,向量w则包含0~范围内的N个频率等分点。如果在调用中N缺省,则系统默认为N=512。
[H,w]=freqz(b,a,N,’whole’)
计算离散系统在 0 ~ 2范围内N个频率点的频率响应值。
三、实验内容
1、编写 MATLAB 程序,绘出下列系统函数的零极点分布图、以及对应的时域单位取样响应 h(n)的波形,判断系统因果稳定性。
(1), (2), (3), (4), (5) ,(6) ,
(7)
2、某数字滤波器( 或离散系统),其差分方程为y(n)-0.9y(n-8)= x(n)-x(n-8),试计算该系统在0~2范围内的频率响应(取400点),绘出系统在0~2范围内的幅频特性曲线和相频特性曲线,分析系统的功能。
提示:(1)对差分方程先进行Z变换,得到系统函数H(z),再调用函数 freqz 函数计算频率响应值;(2)调用函数abs()、angle()和plot()在0~2范围内绘制出系统的幅频特性曲线和相频特性曲线。
四、实验步骤
1、
(1)程序如下:
b=[0 1];a=[1 -0.8];
subplot(2,1,1);
zplane(b,a);
subplot(2,1,2);
impz(b,a);
结果如下:
是因果稳定系统。
(2)程序如下:
b=[0 1];a=[1 0.8];
subplot(2,1,1);
zplane(b,a);
subplot(2,1,2);
impz(b,a);
结果如下:
是因果稳定系统。
(3)程序如下:
b=[0 0 1];a=[1 -1.2 0.72];
subplot(2,1,1);
zplane(b,a);
subplot(2,1,2);
impz(b,a);
结果如下:
是因果稳定系统。
(4)程序如下:
b=[1 0];a=[1 -1];
subplot(2,1,1);
zplane(b,a);
subplot(2,1,2);
impz(b,a);
结果如下:
不是因果稳定系统。
(5)程序如下:
b=[1 0 0];a=[1 -1.6 1];
subplot(2,1,1);
zplane(b,a);
subplot(2,1,2);
impz(b,a);
结果如下:
不是因果稳定系统。
(6)程序如下:
b=[1 0];a=[1 -1.2];
subplot(2,1,1);
zplane(b,a);
subplot(2,1,2);
impz(b,a);
结果如下:
不是因果稳定系统。
(7)程序如下:
b=[1 0 0];a=[1 -2 1.36];
subplot(2,1,1);
zplane(b,a);
subplot(2,1,2);
impz(b,a);
结果如下:
不是因果稳定系统。
2、
程序如下:
a=[1 0 0 0 0 0 0 -0.9];b=[1 0 0 0 0 0 0 -1];
subplot(3,1,1);
[H,w]=freqz(b,a,400,'whole')
plot(H)
subplot(3,1,2);
ab=abs(H);
plot(ab);
subplot(3,1,3);
ag=angle(H);
plot(ag)
结果如下:
图如下:
是梳状滤波器。
五、思考题
1、从实验内容 1 的结果进行分析,说明系统函数的零极点分布与系统时域特性的关系。哪个系统不稳定?
2、实验内容 2 中的离散系统是一个什么类型的滤波器,具有什么功能?(提示,可查阅相关资料)
六、实验报告要求
1、将源代码及其运行结果附在报告中并加以分析说明;
2、简要回答问题,对问题 1 要求附波形图进行说明。
3、实验收获及体会;
展开阅读全文