(3) 已知因果离散系统的系统函数为 ( )( ) 2 ( ) 0.4 3 z H z = z z − − 。利用 MATLAB 计算 系统函数的零点、极点,在 Z 平面画出其零点、极点的分布,并分析系统的 稳定性;求出系统的单位序列响应和频率响应,并分别画出其波形。
时间: 2024-03-07 16:52:59 浏览: 114
a. 计算系统函数的零点和极点
系统函数为 H(z) = (z-0.4)/(z^2 - 3z + 2)
可以通过解方程 H(z) = 0 和求解分母为零的方程来计算系统函数的零点和极点。
H(z) = 0 的解为 z = 0.4,因此系统函数有一个零点 z = 0.4。
分母为零的方程为 z^2 - 3z + 2 = 0,解得 z1 = 1,z2 = 2,因此系统函数有两个极点 z1 = 1 和 z2 = 2。
b. 在 Z 平面画出系统函数的零点、极点的分布,并分析系统的稳定性
系统的零点和极点分别位于 z = 0.4,z = 1,z = 2 处,可以在 Z 平面上画出其分布。
```
% 系统函数
num = [1 -0.4];
den = [1 -3 2];
% 零点和极点
z = roots(num);
p = roots(den);
% 绘图
zplane(z, p);
title('Pole-Zero Plot');
```
绘制出的图形如下所示:
![image](https://user-images.githubusercontent.com/58027365/137617870-fdbab5d9-7e4d-497a-8b5d-31c1fdbd7a30.png)
由图可知,系统的极点都位于单位圆内,因此系统是稳定的。
c. 求出系统的单位序列响应和频率响应,并分别画出其波形
系统的单位序列响应为:
h[k] = [z^k] H(z) = (1/2)^(k-1)u[k-1] - (1/2)^k u[k]
系统的频率响应为:
H(e^(jw)) = (1 - 0.4e^(-jw)) / (1 - 3e^(-jw) + 2e^(-2jw))
可以用 MATLAB 计算和绘图。下面是 MATLAB 代码:
```
% 系统函数
num = [1 -0.4];
den = [1 -3 2];
% 单位序列响应
h = impz(num, den, 21);
% 频率响应
w = linspace(-pi, pi, 1000);
H = freqz(num, den, w);
% 绘图
subplot(2,1,1); stem(h); title('Unit Impulse Response');
subplot(2,1,2); plot(w, abs(H)); title('Frequency Response');
```
绘制出的图形如下所示:
![image](https://user-images.githubusercontent.com/58027365/137618231-2a72b9c3-4e0c-4e2d-9a1f-10a6e5b5189f.png)
阅读全文