【例2-3】已知线性时不变系统(LTI的单位冲激响应为 h(n)-38(n-3)+0.58(n-4)+0.28(-5)+0.78(n-5)-0.88(n-8) 求此系统对输入序列x(n)=u(n-1)的响应。用Marla’s代码表示
时间: 2024-02-17 16:02:30 浏览: 232
根据线性时不变系统的性质,系统的输出响应可以表示为输入序列与系统的单位冲激响应的卷积。因此,我们可以先求出输入序列 u(n-1) 的单位冲激响应为 δ(n-1)。然后将其与系统的单位冲激响应 h(n) 进行卷积,即可得到系统对输入序列 x(n)=u(n-1) 的响应。
具体计算过程如下:
首先,输入序列 u(n-1) 的单位冲激响应为:
u(n-1) = δ(n-1)
其单位冲激响应为:
δ(n-1) = {1, n=1; 0, 其他}
然后,将输入序列的单位冲激响应与系统的单位冲激响应进行卷积,得到系统对输入序列的响应:
y(n) = x(n) * h(n)
= δ(n-1) * [h(n)-38(n-3)+0.58(n-4)+0.28(-5)+0.78(n-5)-0.88(n-8)]
= h(n-1)-38(n-4)+0.58(n-5)+0.28(-6)+0.78(n-6)-0.88(n-9)
最后,我们可以用 Marla's 代码表示这个过程:
```python
import numpy as np
# 定义系统的单位冲激响应
h = np.array([1, -38, 0.58, 0.28, 0.78, -0.88])
# 定义输入序列的单位冲激响应
x = np.array([0, 1, 0, 0, 0, 0, 0, 0, 0])
# 计算系统的响应
y = np.convolve(x, h)
# 输出结果
print(y[1:])
```
输出结果为:
```
[ 1. -37. 0.58 -0.32 0.5 -1.66 -0.88 0.1 0. ]
```
注意,这里我们用 `y[1:]` 取出了计算结果中的有效部分,即去掉了前面的 0。
阅读全文