已知2y(k ) 2y(k 1) y(k 2) f (k) 3 f (k 1) 2 f (k 2),用MATLAB画单位响应波形。
时间: 2023-12-11 22:02:52 浏览: 74
运用MATLAB命令分别绘出波形图。
好的,我知道了。这是一个差分方程,我们可以使用MATLAB中的`filter`函数来绘制单位响应波形。
首先,我们需要将差分方程转化为传输函数的形式。根据差分方程的定义,有:
$$
2y(k) - 2y(k-1) + y(k-2) = f(k) + 3f(k-1) + 2f(k-2)
$$
将两边同时除以 $f(k)$,并设 $h(k)$ 为系统的单位响应,则有:
$$
2\frac{y(k)}{f(k)} - 2\frac{y(k-1)}{f(k)} + \frac{y(k-2)}{f(k)} = 1 + 3\frac{f(k-1)}{f(k)} + 2\frac{f(k-2)}{f(k)} \\
2h(k) - 2h(k-1) + h(k-2) = \delta(k) + 3h(k-1) + 2h(k-2)
$$
其中 $\delta(k)$ 表示单位脉冲函数。因此,系统的传输函数为:
$$
H(z) = \frac{1 + 3z^{-1} + 2z^{-2}}{2 - 2z^{-1} + z^{-2}}
$$
接下来,我们可以使用`filter`函数来绘制单位响应波形:
```matlab
b = [1 3 2]; % 分子系数
a = [2 -2 1]; % 分母系数
h = impz(b, a); % 计算单位响应
stem(h); % 绘制单位响应波形
xlabel('n'); ylabel('h(n)');
```
运行上述代码,即可得到单位响应波形。
阅读全文