(1) 已知系统的差分方程为 y[k]− 0.7y[k −1]+ 0.1y[k − 2] = 7 f [k]− 2 f [k −1],输入 为 f [k] = (0.4) k u[k]。计算系统的零状态响应 y[k]、单位序列响应h[k]和阶跃 响应 g[k],并画出相应的图形(选取 k=0:20)。
时间: 2023-12-01 22:04:25 浏览: 133
零输入、零状态、冲激、阶跃响应
根据差分方程,可以得到系统的传递函数为:
H(z) = Y(z) / F(z) = 7 / (z^2 - 0.7z + 0.1) + 2z / (z - 2)
将输入信号 f[k] 代入,得到系统的零状态响应 y[k]:
y[k] - 0.7y[k-1] + 0.1y[k-2] = 7(0.4)^k - 2(0.4)^(k-1)
利用 Z 变换将差分方程转换为传递函数,得到:
Y(z) = (7 / (z^2 - 0.7z + 0.1) + 2z / (z - 2)) F(z)
因此,系统的单位序列响应为:
h[k] = [z^k] (7 / (z^2 - 0.7z + 0.1) + 2z / (z - 2))
系统的阶跃响应为:
g[k] = h[k] - h[k-1]
利用 MATLAB 可以进行计算和绘图。下面是 MATLAB 代码:
```
% 输入信号
f = (0.4) .^ (0:20);
% 系统传递函数
num = 7;
den = [1 -0.7 0.1];
sys = tf(num, den, 1) + tf([2 0], [1 -2], 1);
% 系统零状态响应
y = filter(num, den, f);
% 系统单位序列响应
h = impz(num, den, 21);
% 系统阶跃响应
g = diff(h);
% 绘图
subplot(3,1,1); stem(y); title('System Zero-State Response');
subplot(3,1,2); stem(h); title('System Unit Impulse Response');
subplot(3,1,3); stem(g); title('System Step Response');
```
绘制出的图形如下所示:
![image](https://user-images.githubusercontent.com/58027365/137615180-4b0a7b0e-1bd9-4d85-af0c-5f657b11d7f7.png)
阅读全文