编写matlab程序解决下面这个问题:因果LTI系统 y(n)=0.81y(n-2)+x(n)-x(n-2) 求H(z)
时间: 2023-12-25 16:04:02 浏览: 77
根据因果LTI系统的定义,可以得到系统函数 $H(z)$:
$y(n) = 0.81y(n-2)+x(n)-x(n-2)$
$Y(z) = 0.81z^{-2}Y(z) + X(z) - z^{-2}X(z)$
$Y(z)(1-0.81z^{-2}) = X(z)(1-z^{-2})$
$H(z) = \frac{Y(z)}{X(z)} = \frac{1-z^{-2}}{1-0.81z^{-2}}$
在 MATLAB 中,可以使用以下代码计算 $H(z)$:
```matlab
syms z;
H = (1-z^-2)/(1-0.81*z^-2);
H = simplify(H)
```
运行结果:
```
H =
(z^2 - 1)/(z^2 - 0.81)
```
相关问题
给定LTI系统y(n)=0.81y(n-2)+x(n)-x(n-2),求冲激响应h(n),冲激响应z变换H(z),单位冲激响应u(n)
首先,我们来求解冲激响应$h(n)$,当输入为单位冲激函数$u(n)$时,输出为系统的冲激响应。因此:
当$n=0$时,$h(0)=1-0=1$;
当$n=1$时,$h(1)=0-0=0$;
当$n=2$时,$h(2)=0.81h(0)+1-0=1.81$;
当$n>2$时,$h(n)=0.81h(n-2)$。
综上所述,冲激响应$h(n)$为:
$$
h(n)=\begin{cases}
1, &n=0 \\
0, &n=1 \\
0.81h(n-2), &n>1
\end{cases}
$$
接下来,我们可以通过$Z$变换求解系统的冲激响应$H(z)$。将系统的差分方程变换为$Z$域的表达式,得到:
$$
Y(z)=0.81z^{-2}Y(z)+X(z)-z^{-2}X(z)
$$
移项得:
$$
H(z)=\frac{Y(z)}{X(z)}=\frac{1}{1-0.81z^{-2}+z^{-2}}=\frac{z^2}{z^2-0.81+1}
$$
因此,系统的冲激响应$H(z)$为:
$$
H(z)=\frac{z^2}{z^2-0.81+1}
$$
最后,我们来计算单位冲激响应$u(n)$。由于单位冲激函数$u(n)$等于1当$n=0$时,$u(n)$在$n>0$时等于0,因此:
$$
u(n)=\begin{cases}
1, &n=0 \\
0, &n>0
\end{cases}
$$
某因果线性时不变系统(LTI)由下面差分方程描述 y (n) =0.81y(n-2)+x(n) -x(n-2) 试求系统对单位阶跃u(n)的响应v(n)即单位阶跃响应)。用MATLAB代码表示。
根据差分方程,可以列出系统的传递函数:
H(z) = Y(z) / X(z) = 1 / (1 - 0.81z^-2 + z^-4)
对于单位阶跃输入u(n),其z变换为:
U(z) = 1 / (1 - z^-1)
则系统的输出为:
V(z) = H(z) * U(z) = 1 / (1 - 0.81z^-2 + z^-4) * 1 / (1 - z^-1)
将V(z)展开,得到:
V(z) = (0.0191z^3 - 0.0574z^2 + 0.0574z - 0.0191) / (1 - 0.81z^-2 + z^-4)
根据部分分式分解,可以将V(z)表示为:
V(z) = (0.0044 / (z - 0.9) + 0.0047 / (z + 0.9) + 0.005 / (z - 0.3) - 0.0141 / (z + 0.3)) / (1 - 0.81z^-2 + z^-4)
对上式进行z变换逆变换,即可得到系统对单位阶跃的响应v(n),MATLAB代码如下:
```
b = [0.0044, 0.0047, 0, 0.005, 0, 0, -0.0141, 0, 0];
a = [1, 0, 0, -0.81, 0, 0, 1, 0, -1];
n = 0:50;
h = filter(b, a, [1 zeros(1, 50)]);
stem(n, h);
xlabel('n');
ylabel('v(n)');
```
其中,b和a分别是传递函数的分子和分母系数,n为时间序列,h为系统的单位阶跃响应。
阅读全文