C·05

课上的两道图解 convolution 例题

About 7 minLecture 13

这一节用 C·04 的四步法(翻转、平移、相乘、积分)把第 13 讲的两道例题完整做一遍。公式是 y(t)=∫−∞∞x(τ) h(t−τ) dτy(t) = \int_{-\infty}^{\infty} x(\tau)\,h(t - \tau)\,d\tau:课上把积分变量写成 τ\tau(Alexander 写 λ\lambda),tt 是要求输出的那个时刻,积分时当常数。图都画在 τ\tau 轴上。

每道题都先回答同一个问题:翻转、平移以后的函数在 τ\tau 轴上占哪一段、长什么样。规则是:如果 hh 只在 0≤t≤10 \le t \le 1 上不为 0,那么 h(t−τ)h(t - \tau) 只在 0≤t−τ≤10 \le t - \tau \le 1,也就是 t−1≤τ≤tt - 1 \le \tau \le t 上不为 0;它的值就是把 hh 公式里的 tt 换成 t−τt - \tau。

课上例题 1

下降三角形的 impulse response,输入是单位阶跃

1 2 1 0 t h(t)
h(t)=1−th(t) = 1 - t(0≤t≤10 \le t \le 1),其余为 0。

求 y=h∗uy = h * u,也就是这个系统的 step response。写成 y(t)=∫u(τ) h(t−τ) dτy(t) = \int u(\tau)\,h(t - \tau)\,d\tau:u(τ)u(\tau) 固定不动,把 hh 翻转再平移 tt。

① 写出两个函数在 τ 轴上的样子(读图)。

  • 固定的 u(τ)u(\tau):τ>0\tau \gt 0 时为 1,τ≤0\tau \le 0 时为 0。
  • 翻转平移的 h(t−τ)h(t - \tau):不为 0 的条件 0≤t−τ≤10 \le t - \tau \le 1,即 t−1≤τ≤tt - 1 \le \tau \le t。值:把 1−t1 - t 里的 tt 换成 t−τt - \tau,得 1−(t−τ)=1−t+τ1 - (t - \tau) = 1 - t + \tau。在 τ=t−1\tau = t - 1 处是 0,在 τ=t\tau = t 处是 1:原来往右下降的三角形,翻过来变成往右上升。
t−1 t 1 2 1 0 τ u(τ) h(t−τ) 阴影 = y(0.5)
t=0.5t = 0.5 的情形:只有 0≤τ≤0.50 \le \tau \le 0.5 这一段两者都不为 0,阴影面积就是 y(0.5)y(0.5)。

② 找分段点。滑动三角形的两端是 t−1t - 1 和 tt,uu 的有效区从 0 开始。右端 tt 到达 0(t=0t = 0)时开始重叠;左端 t−1t - 1 到达 0(t=1t = 1)时三角形整个进入 τ>0\tau \gt 0。所以分三段:t<0t \lt 0、0≤t≤10 \le t \le 1、t>1t \gt 1。

③ 每一段积分。三张小图各取一段里的一个 tt(橙 = 固定的 u(τ)u(\tau),青 = 滑动的 h(t−τ)h(t - \tau),阴影 = 乘积的面积 = y(t)y(t)):

-2 -1 1 2 1 0 τ
t<0t \lt 0(图中 t=−0.5t = -0.5):三角形 [t−1,t][t - 1, t] 整段在 0 左边,那里 u=0u = 0,乘积处处为 0:y=0y = 0。
-2 -1 1 2 1 0 τ
0≤t≤10 \le t \le 1(图中 t=0.5t = 0.5):左端被 uu 截掉,重叠是 [0,t][0, t],乘积 1−t+τ1 - t + \tau。
-2 -1 1 2 1 0 τ
t>1t \gt 1(图中 t=1.5t = 1.5):三角形整个在 τ>0\tau \gt 0 里,阴影就是整个三角形:y=12y = \tfrac12。

只有中间一段要真的积分。积分变量是 τ\tau,1−t1 - t 是常数:

y(t)=∫0t(1−t+τ) dτ=(1−t) t+t22=t−t22\begin{aligned} y(t) &= \int_0^t (1 - t + \tau)\,d\tau \\ &= (1 - t)\,t + \frac{t^2}{2} = t - \frac{t^2}{2} \end{aligned}

几何核对:中间那张图的阴影是梯形,τ=0\tau = 0 处高 1−t1 - t,τ=t\tau = t 处高 1,宽 tt,面积 t⋅(1−t)+12=t−t22t \cdot \frac{(1 - t) + 1}{2} = t - \frac{t^2}{2} ✓。最后一张图的阴影是整个三角形,面积 12×1×1=12\frac12 \times 1 \times 1 = \frac12,和 tt 无关。

y(t)={0,t<0t−t2/2,0≤t≤11/2,t>1y(t) = \begin{cases} 0, & t \lt 0 \\ t - t^2/2, & 0 \le t \le 1 \\ 1/2, & t \gt 1 \end{cases}

④ 检查。t=1t = 1:中间一段给 1−12=121 - \frac12 = \frac12,和最后一段相等,连续 ✓(两个函数都没有 impulse,输出一定连续)。终值 12\frac12 等于 hh 的总面积:阶跃输入最后把整个 hh 都积了进来。y(0.5)=0.5−0.125=0.375=38y(0.5) = 0.5 - 0.125 = 0.375 = \frac38,就是上图的阴影。

1 2 1/2 0 t y(t) 3/8
step response:从 0 开始,斜率越来越小,t=1t = 1 时停在 12\frac12。

⑤ 另一种做法(课上也讲了)。和 uu 做 convolution 就是 running integral:u(t−τ)u(t - \tau) 在 τ<t\tau \lt t 时为 1、τ>t\tau \gt t 时为 0,所以 ∫h(τ) u(t−τ) dτ=∫−∞th(τ) dτ=1ph\int h(\tau)\,u(t - \tau)\,d\tau = \int_{-\infty}^{t} h(\tau)\,d\tau = \frac1p h。按 6·02 的方法把 hh 写成 h=u(t)−r(t)+r(t−1)h = u(t) - r(t) + r(t - 1)(检查 t>1t \gt 1:1−t+(t−1)=01 - t + (t - 1) = 0 ✓),再用 6·01 的链逐项积:1pu=r\frac1p u = r,1pr=12t2u\frac1p r = \frac12 t^2 u,1pr(t−1)=12(t−1)2u(t−1)\frac1p r(t - 1) = \frac12 (t - 1)^2 u(t - 1):

y=r(t)−12t2u(t)+12(t−1)2u(t−1)y = r(t) - \tfrac12 t^2 u(t) + \tfrac12 (t - 1)^2 u(t - 1)

0<t<10 \lt t \lt 1 时只有前两项:t−t22t - \frac{t^2}{2} ✓。t>1t \gt 1 时展开最后一项:t−t22+t2−2t+12=12t - \frac{t^2}{2} + \frac{t^2 - 2t + 1}{2} = \frac12 ✓。

⑥ 反向核对。yy 的导数应该回到 hh:0<t<10 \lt t \lt 1 时 ddt(t−t22)=1−t\frac{d}{dt}\big(t - \frac{t^2}{2}\big) = 1 - t ✓,其余地方 yy 是常数,导数 0 ✓。

课上例题 2

单位脉冲通过积分器

输入 x=u(t)−u(t−1)x = u(t) - u(t - 1)(高 1、宽 1 的脉冲),系统 h=u(t)h = u(t)。和 uu 做 convolution 就是积分,所以这个系统叫积分器。求 y=x∗hy = x * h。

① 选哪个翻转、画出来(读图)。两个函数都是平的,课上翻转脉冲(交换律:y=∫h(τ) x(t−τ) dτy = \int h(\tau)\,x(t - \tau)\,d\tau)。x(t−τ)x(t - \tau) 不为 0 的条件 0<t−τ≤10 \lt t - \tau \le 1,即 t−1≤τ<tt - 1 \le \tau \lt t,值为 1。h(τ)=u(τ)h(\tau) = u(\tau) 在 τ>0\tau \gt 0 为 1。

t−1 t 1 2 1 0 τ h(τ) = u(τ) x(t−τ) 重叠长度 = t
t=0.6t = 0.6 的情形:两个高度都是 1,乘积也是 1,阴影面积就等于重叠长度。

② 分段点。脉冲右端 tt 到达 0:t=0t = 0;左端 t−1t - 1 到达 0:t=1t = 1。

③ 每一段。乘积是 1,面积 = 重叠长度(这个捷径只在两个高度相乘等于 1 时成立):

-2 -1 1 2 1 0 τ
t<0t \lt 0:脉冲整个在 0 左边,重叠长度 0:y=0y = 0。
-2 -1 1 2 1 0 τ
0<t<10 \lt t \lt 1:重叠 [0,t][0, t],长度 tt:y=ty = t。
-2 -1 1 2 1 0 τ
t>1t \gt 1:脉冲 [t−1,t][t - 1, t] 整个在 τ>0\tau \gt 0 里,长度 1:y=1y = 1。

④ 写成积木。0、然后斜率 1 升到 1、然后保持:这就是 6·02 例 2 的形状,y=r(t)−r(t−1)y = r(t) - r(t - 1)。

⑤ 核对。积分器的输出是输入的 running integral:1p[u(t)−u(t−1)]=r(t)−r(t−1)\frac1p[u(t) - u(t - 1)] = r(t) - r(t - 1) ✓。

1 2 1 0 t y = r(t) − r(t−1)
积分器把脉冲的面积"攒"起来,脉冲结束后不回到 0:这就是记忆。

两道题做的是同一组动作:把两个函数的支撑写成关于 τ\tau 的不等式;找出端点进入、离开重叠的那些 tt,它们就是分段点;每一段写出真正的乘积和积分上下限;最后查连续、查终值。只要某一个时刻的值,比如 y(0.5)y(0.5),就把翻转平移后的函数放在那个 tt,只积那一次。下一节 C·06 的边界表把"找分段点、定上下限"变成固定的公式。

练习:输入从负时间开始,系统有 1 s 延迟

x=u(t+1)−u(t−1)x = u(t + 1) - u(t - 1)(从 t=−1t = -1 开到 t=1t = 1 的单位脉冲),h=2u(t−1)h = 2u(t - 1)(晚 1 s 才开始、高 2 的积分器)。(a) 求 y=x∗hy = x * h 的全式和终值。(b) 只求 y(1.5)y(1.5):把翻转的脉冲放在 t=1.5t = 1.5,只积这一次。(c) 把结果和"2[u(t)−u(t−2)]2[u(t) - u(t - 2)] 通过 h=u(t)h = u(t)"比一比,解释为什么一样。

提示

像课上例题 2 那样翻转脉冲:x(t−τ)x(t - \tau) 不为 0 的条件是 −1<t−τ≤1-1 \lt t - \tau \le 1。h(τ)h(\tau) 从 τ=1\tau = 1 才开始。分段点是滑动脉冲的两端碰到 τ=1\tau = 1 的时刻。

(a) y=∫h(τ) x(t−τ) dτy = \int h(\tau)\,x(t - \tau)\,d\tau。x(t−τ)=1x(t - \tau) = 1 当 t−1≤τ<t+1t - 1 \le \tau \lt t + 1;h(τ)=2h(\tau) = 2 当 τ>1\tau \gt 1。右端 t+1t + 1 碰到 1:t=0t = 0;左端 t−1t - 1 碰到 1:t=2t = 2。t<0t \lt 0:不重叠,y=0y = 0。0<t<20 \lt t \lt 2:重叠 [1,t+1][1, t + 1],长 tt,y=2ty = 2t。t>2t \gt 2:重叠 [t−1,t+1][t - 1, t + 1],长 2,y=4y = 4。即 y=2r(t)−2r(t−2)y = 2r(t) - 2r(t - 2),终值 4 = 2 × 脉冲面积 2 ✓。

(b) t=1.5t = 1.5:翻转的脉冲在 [0.5,2.5)[0.5, 2.5),hh 只留 [1,2.5][1, 2.5],面积 2×1.5=32 \times 1.5 = 3,和 (a) 的 2×1.52 \times 1.5 一致 ✓。

(c) 2[u(t)−u(t−2)]∗u(t)2[u(t) - u(t - 2)] * u(t) 的分段点也是 0 和 2,结果同样是 2r(t)−2r(t−2)2r(t) - 2r(t - 2)。原因是 time-invariance:输入提前 1 s,输出就提前 1 s;系统延迟 1 s,输出就推迟 1 s。这里 xx 是 [0,2][0, 2] 上的脉冲提前了 1 s,hh 是 2u(t)2u(t) 推迟了 1 s,两次平移正好抵消;比较的那一组里系数 2 在输入上,这里 2 在 hh 上:常数在两个因子之间怎么挪,乘积都不变。