已知某系统冲激响应为h(t)=t /2,0<t<2。输入激励信号e(t)=u(t+0.5)-t(t-1) 求输出信号y(t),绘出输入激励、冲激响应和输出响应的波形;(用conv函数实现)
时间: 2023-08-01 15:11:59 浏览: 302
低通滤波器的冲激响应h(t)-数字信号处理第三版课件
好的,我来帮你解答这个问题。
首先,根据卷积定理,输出信号可以表示为输入信号和系统冲激响应的卷积。即:
y(t) = e(t) * h(t)
其中 * 表示卷积运算符。
接下来,我们需要分别求出输入信号和系统冲激响应的时域表达式。
首先,输入信号为:
e(t) = u(t+0.5) - t(t-1)
其中 u(t) 表示单位阶跃函数。
根据单位阶跃函数的定义,当 t >= 0 时,u(t) = 1;当 t < 0 时,u(t) = 0。
因此,当 t+0.5 >= 0 时,u(t+0.5) = 1;当 t+0.5 < 0 时,u(t+0.5) = 0。
即:
u(t+0.5) = {
1, t >= -0.5
0, t < -0.5
}
又因为 t(t-1) 在 0<t<1 时为正,其他时候为负,因此可以分段计算:
t(t-1) = {
0, t <= 0
t^2 - t, 0 < t < 1
0, t >= 1
}
将上述表达式代入输入信号表达式,得到:
e(t) = {
1, -0.5 <= t < 0
1 - t^2 + t, 0 <= t < 1
-t^2 + t - 1, 1 <= t < 2
0, t < -0.5 或 t >= 2
}
接下来,我们需要求出系统冲激响应的时域表达式。
根据题目,系统冲激响应为:
h(t) = t / 2, 0 < t < 2
将上述表达式代入卷积公式,得到:
y(t) = ∫[0, t] e(τ) h(t-τ) dτ
根据卷积定理,上式等价于:
y(t) = ∫[0, t] e(t-τ) h(τ) dτ
将输入信号表达式和系统冲激响应表达式代入上式,得到:
y(t) = {
∫[-0.5, t] (t-τ)/2 dτ, -0.5 <= t < 0
∫[t-1, t] (t-τ)/2 (1-τ^2+τ) dτ, 0 <= t < 1
∫[t-1, 2] (t-τ)/2 (-τ^2+τ-1) dτ, 1 <= t < 2
0, t < -0.5 或 t >= 2
}
上述式子可以通过 MATLAB 的 conv 函数来实现。具体实现代码如下:
```matlab
t = -1:0.01:3; % 定义时间范围
h = t .* (t > 0) .* (t < 2) ./ 2; % 计算系统冲激响应
e = ((t + 0.5) >= 0) .* (t >= -0.5) .* (t < 2) - (t .* ((t - 1) >= 0) .* ((t - 1) < 2)); % 计算输入信号
y = conv(e, h, 'same'); % 计算输出信号
plot(t, e, 'b', t, h, 'r', t, y, 'g'); % 绘制波形图
legend('输入信号', '系统冲激响应', '输出信号');
```
运行以上代码,即可绘制出输入信号、系统冲激响应和输出信号的波形图。
阅读全文