特性。
MATLAB提供了求离散时间系统频响特性的函数freqz,调用freqz的格式主要有两种。一种形式为
[H,w]=freqz(B,A,N)
其中,B与A分别表示H(z)的分子和分母多项式的系数向量;N为正整数,默认值为512;返回值w包含[0,?]范围内的N个频率等分点;返回值H则是离散时间系统频率响应H(ej?)在0~?范围内N个频率处的值。另一种形式为
[H,w]=freqz(B,A,N,’whole’)
与第一种方式不同之处在于角频率的范围由[0,?]扩展到[0,2?]。
z2?0.96z?0.9028【实例2-6】 用MATLAB命令绘制系统H(z)?2的频率
z?1.56z?0.8109响应曲线。
解:利用函数freqz计算出H(ej?),然后利用函数abs和angle分别求出幅
频特性与相频特性,最后利用plot命令绘出曲线。MATLAB源程序为
>>b=[1 -0.96 0.9028]; >>a=[1 -1.56 0.8109];
>>[H,w]=freqz(b,a,400,'whole'); >>Hm=abs(H); >>Hp=angle(H); >>subplot(211) >>plot(w,Hm),grid on
>>xlabel('\\omega(rad/s)'),ylabel('Magnitude') >>title('离散系统幅频特性曲线') >>subplot(212) >>plot(w,Hp),grid on
>>xlabel('\\omega(rad/s)'),ylabel('Phase') >>title('离散系统相频特性曲线')
程序运行结果如图2-3所示。
20
图4-3 离散系统频响特性曲线
2.3 编程练习
2z4?16z3?44z2?56z?321. 试用MATLAB的residuez函数,求出X(z)?的
3z4?3z3?15z2?18z?12部分分式展开和。 结果:MATLAB源程序为 >>B=[2 16 44 56 32]; >>A=[3,3,-15,18,-12]; >>[R,P,K]=residuez(B,A) R =
-0.0177 9.4914
21
-3.0702 + 2.3398i -3.0702 - 2.3398i P =
-3.2361 1.2361 0.5000 + 0.8660i 0.5000 - 0.8660i K =
-2.6667
X(z)?(?2.6667)[ 2.
?0.01779.4914?3.0702?2.3398i?3.0702?2.3398i???]1?3.2361z?11?1.2361z?11?(0.5?0.866i)z?11?(0.5?0.866i)z?1试用MATLAB画出下列因果系统的系统函数零极点分布图,并判断系统的稳定性。
2z2?1.6z?0.9(1)H(z)?3
z?2.5z2?1.96z?0.48结果:程序: B=[2,-1.6,-0.9]; A=[1,-2.5,1.96,-0.48]; [R,P,K]=tf2zp(B,A) zplane(B,A)
22
(2)H(z)?z?1 432z?0.9z?0.65z?0.873z结果:程序: B=[1,-1];
A=[1,-0.9,-0.65,0.873]; [R,P,K]=tf2zp(B,A) zplane(B,A)
23