C·01

先看问题:知道 h,求任意输入的输出

About 7 minLecture 12

这一部分要回答一个问题:一个电路(更一般地说,一个系统)对 unit impulse 的反应 h(t)h(t) 已经知道了,输入换成任意波形 x(t)x(t) 时,输出 y(t)y(t) 是什么?答案就是 convolution。这一节先把要用到的词定义清楚,再用只含 impulse 的输入做两个最简单的推理;下一节把它推广成 convolution 积分。

LTI 系统 冲激响应 h(t) 输入 x(t) 输出 y(t) y = x * h
一个系统:左边进来输入,右边出去输出。

① 系统、输入、输出

system(系统)就是"吃进一个信号、吐出一个信号"的东西。在电路里,输入通常是某个独立源的波形,输出是我们关心的某个电压或电流。比如一个电流源并联一个电阻和一个 inductor:输入是电流源的电流 x(t)x(t),输出是 inductor 电流 y(t)y(t)。下面用 x→yx \to y 表示"输入 xx 产生输出 yy"。

linear(线性)

如果 x1→y1x_1 \to y_1、x2→y2x_2 \to y_2,那么对任意常数 a,ba, b:

a x1+b x2  →  a y1+b y2a\,x_1 + b\,x_2 \;\to\; a\,y_1 + b\,y_2

白话:输入放大 kk 倍,输出也放大 kk 倍;两个输入同时加进来,输出就是各自输出之和。这就是第 3 章的叠加原理 (superposition)。由电阻、capacitor、inductor、线性 dependent source 组成的电路都满足它,前提是输入到来之前所有 capacitor、inductor 都不储能(initial condition 为 0)。如果有初始储能,输入为 0 时输出也不为 0,"输入乘 kk、输出也乘 kk"就不成立了。

time-invariant(时不变)

如果 x(t)→y(t)x(t) \to y(t),那么对任意 t0t_0:

x(t−t0)  →  y(t−t0)x(t-t_0) \;\to\; y(t-t_0)

白话:x(t−t0)x(t-t_0) 是把 xx 的图像整体向右挪 t0t_0(t0>0t_0 \gt 0 时就是"晚 t0t_0 秒")。time-invariant 说的是:同一个输入晚 t0t_0 秒送进去,输出的形状完全一样,只是也晚 t0t_0 秒出来。元件值不随时间变的电路都满足这一条:今天做实验和明天做实验,结果一样。

两条都满足的系统叫 LTI(linear time-invariant)。这一部分的所有结论都只对 LTI 系统成立。

② impulse response

unit impulse δ(t)\delta(t) 和 unit step u(t)u(t) 在第 6 章部分讲过(6·01):A δ(t−t0)A\,\delta(t-t_0) 是位于 t0t_0、面积为 AA 的 impulse,图上画成高 AA 的箭头,箭头高度表示面积。

impulse response(冲激响应)

系统在此之前完全静止(所有 initial condition 为 0),输入 δ(t)\delta(t) 时的输出,记作 h(t)h(t):

δ(t)  →  h(t)\delta(t) \;\to\; h(t)

hh 是系统的"指纹":下一节会证明,LTI 系统只要知道 hh,任何输入的输出都能算出来。在这一部分里,hh 总是已知的。

③ 一个 impulse 输入:先平移,再缩放

设输入是 A δ(t−t0)A\,\delta(t-t_0)。用两条性质各走一步:

  1. time-invariant:δ(t)→h(t)\delta(t) \to h(t),所以晚 t0t_0 的 impulse 产生晚 t0t_0 的输出:δ(t−t0)→h(t−t0)\delta(t-t_0) \to h(t-t_0)。
  2. linear:输入乘 AA,输出也乘 AA:A δ(t−t0)→A h(t−t0)A\,\delta(t-t_0) \to A\,h(t-t_0)。
A δ(t−t0)  →  A h(t−t0)A\,\delta(t-t_0) \;\to\; A\,h(t-t_0)
例题

例 1 一个 impulse

某系统的 impulse response 是 h(t)=t e−tu(t)h(t) = t\,e^{-t}u(t):从 0 开始,先升后降,在 t=1t = 1 达到最大值 e−1e^{-1}(两个一阶 RC 级串起来就是这种形状,C·03例 1 会算出来)。输入 x(t)=3 δ(t−2)x(t) = 3\,\delta(t-2)。求 y(t)y(t)、y(1)y(1),以及 yy 在哪个时刻最大、最大是多少。

读题。输入是一个 impulse,位置 t0=2t_0 = 2,面积 A=3A = 3。

用上面的结论。y(t)=3 h(t−2)y(t) = 3\,h(t-2)。把 h(t)h(t) 式子里的每一个 tt 都换成 t−2t-2:前面那个 tt、指数里的 tt、uu 里的 tt:

y(t)=3 (t−2) e−(t−2) u(t−2)y(t) = 3\,(t-2)\,e^{-(t-2)}\,u(t-2)

u(t−2)u(t-2) 说明 t<2t \lt 2 时 y=0y = 0:impulse 还没来,系统还没有反应。

代入数值。t=1t = 1:u(−1)=0u(-1) = 0,所以 y(1)=0y(1) = 0。最大值:hh 在 t=1t = 1 最大,整个形状晚 2 秒、放大 3 倍,所以 yy 在 t=3t = 3 最大,y(3)=3⋅1⋅e−1=1.104y(3) = 3\cdot 1\cdot e^{-1} = 1.104。

1 2 3 4 5 6 1 2 3 0 t 3δ(t−2)
输入:t=2t = 2 处一个面积 3 的 impulse。
1 2 3 4 5 6 .5 1 0 t y = 3h(t−2)
输出:hh 的形状晚 2 秒、放大 3 倍。黑点是峰值 y(3)y(3)。
检查

刚过 t=2t = 2 时 y=3⋅0⋅e0=0y = 3\cdot 0\cdot e^{0} = 0:这个 hh 本身从 0 开始,所以输出不跳变,平滑地升起来。峰值 = 面积 3 × hh 的峰值 e−1e^{-1} ✓。

例题

例 2 两个 impulse:各自响应再相加

某系统的 impulse response 是一个矩形:h(t)=1h(t) = 1(0<t<20 \lt t \lt 2),其他为 0。它把一个 impulse "保持" 2 秒。输入 x(t)=2 δ(t)+δ(t−1)x(t) = 2\,\delta(t) + \delta(t-1)。求 y(t)y(t)。

拆输入。xx 是两个 impulse 之和:2δ(t)2\delta(t)(位于 0、面积 2)和 δ(t−1)\delta(t-1)(位于 1、面积 1)。

每一块单独的输出。按 ③:2δ(t)→2h(t)2\delta(t) \to 2h(t),在 0<t<20 \lt t \lt 2 上等于 2。δ(t−1)→h(t−1)\delta(t-1) \to h(t-1),它在 0<t−1<20 \lt t-1 \lt 2,即 1<t<31 \lt t \lt 3 上等于 1。

linear:总输出 = 两块之和。按 tt 分段,把每一段里"开着"的块加起来:

  • t<0t \lt 0:两块都还没开始,y=0y = 0。
  • 0<t<10 \lt t \lt 1:只有第一块,y=2y = 2。
  • 1<t<21 \lt t \lt 2:两块都开着,y=2+1=3y = 2 + 1 = 3。
  • 2<t<32 \lt t \lt 3:第一块已经结束,只剩第二块,y=1y = 1。
  • t>3t \gt 3:两块都结束,y=0y = 0。
1 2 3 4 1 2 3 0 t 2δ(t) δ(t−1)
输入:两个 impulse。
1 2 3 4 1 2 3 0 t y(t)
灰色虚线是 2h(t)2h(t) 和 h(t−1)h(t-1),青色是它们的和。

例 2 的做法"每一块输入各自产生一个平移、缩放过的 hh,再全部相加",就是下一节推导 convolution 的全部思路。

④ causal 系统和 one-sided 信号

两个定义

causal(因果)系统:h(t)=0h(t) = 0(t<0t \lt 0)。one-sided(单边)信号:x(t)=0x(t) = 0(t<0t \lt 0)。

causal 的意思是"impulse 来之前系统没有反应":输出不可能先于输入出现。真实电路都是 causal 的,上面两个例子里的 hh 也都是。one-sided 信号是从 t=0t = 0 才开始的信号,例如 u(t)u(t)、e−tu(t)e^{-t}u(t)。C·03会用这两条把 convolution 积分的上下限简化成 0 到 tt。

常见错误
  • h(t−2)h(t-2) 是把 hh 往右挪 2(t−2=0t - 2 = 0 发生在 t=2t = 2),不是往左。
  • 只换了一部分 tt:例 1 写成 3t e−(t−2)3t\,e^{-(t-2)}(前面的 tt 没换),或者漏掉 u(t−2)u(t-2)(等于说 impulse 来之前系统已经有反应)。
  • impulse 的箭头高度是面积,不是函数值。