这一部分要回答一个问题:一个电路(更一般地说,一个系统)对 unit impulse 的反应 h(t) 已经知道了,输入换成任意波形 x(t) 时,输出 y(t) 是什么?答案就是 convolution。这一节先把要用到的词定义清楚,再用只含 impulse 的输入做两个最简单的推理;下一节把它推广成 convolution 积分。
一个系统:左边进来输入,右边出去输出。
① 系统、输入、输出
system(系统)就是"吃进一个信号、吐出一个信号"的东西。在电路里,输入通常是某个独立源的波形,输出是我们关心的某个电压或电流。比如一个电流源并联一个电阻和一个 inductor:输入是电流源的电流 x(t),输出是 inductor 电流 y(t)。下面用 x→y 表示"输入 x 产生输出 y"。
linear(线性)
如果 x1→y1、x2→y2,那么对任意常数 a,b:
ax1+bx2→ay1+by2
白话:输入放大 k 倍,输出也放大 k 倍;两个输入同时加进来,输出就是各自输出之和。这就是第 3 章的叠加原理 (superposition)。由电阻、capacitor、inductor、线性 dependent source 组成的电路都满足它,前提是输入到来之前所有 capacitor、inductor 都不储能(initial condition 为 0)。如果有初始储能,输入为 0 时输出也不为 0,"输入乘 k、输出也乘 k"就不成立了。
time-invariant(时不变)
如果 x(t)→y(t),那么对任意 t0:
x(t−t0)→y(t−t0)
白话:x(t−t0) 是把 x 的图像整体向右挪 t0(t0>0 时就是"晚 t0 秒")。time-invariant 说的是:同一个输入晚 t0 秒送进去,输出的形状完全一样,只是也晚 t0 秒出来。元件值不随时间变的电路都满足这一条:今天做实验和明天做实验,结果一样。
两条都满足的系统叫 LTI(linear time-invariant)。这一部分的所有结论都只对 LTI 系统成立。
② impulse response
unit impulse δ(t) 和 unit step u(t) 在第 6 章部分讲过(6·01):Aδ(t−t0) 是位于 t0、面积为 A 的 impulse,图上画成高 A 的箭头,箭头高度表示面积。
impulse response(冲激响应)
系统在此之前完全静止(所有 initial condition 为 0),输入 δ(t) 时的输出,记作 h(t):
δ(t)→h(t)
h 是系统的"指纹":下一节会证明,LTI 系统只要知道 h,任何输入的输出都能算出来。在这一部分里,h 总是已知的。
③ 一个 impulse 输入:先平移,再缩放
设输入是 Aδ(t−t0)。用两条性质各走一步:
- time-invariant:δ(t)→h(t),所以晚 t0 的 impulse 产生晚 t0 的输出:δ(t−t0)→h(t−t0)。
- linear:输入乘 A,输出也乘 A:Aδ(t−t0)→Ah(t−t0)。
Aδ(t−t0)→Ah(t−t0)
例题例 1 一个 impulse
某系统的 impulse response 是 h(t)=te−tu(t):从 0 开始,先升后降,在 t=1 达到最大值 e−1(两个一阶 RC 级串起来就是这种形状,C·03例 1 会算出来)。输入 x(t)=3δ(t−2)。求 y(t)、y(1),以及 y 在哪个时刻最大、最大是多少。
读题。输入是一个 impulse,位置 t0=2,面积 A=3。
用上面的结论。y(t)=3h(t−2)。把 h(t) 式子里的每一个 t 都换成 t−2:前面那个 t、指数里的 t、u 里的 t:
y(t)=3(t−2)e−(t−2)u(t−2)
u(t−2) 说明 t<2 时 y=0:impulse 还没来,系统还没有反应。
代入数值。t=1:u(−1)=0,所以 y(1)=0。最大值:h 在 t=1 最大,整个形状晚 2 秒、放大 3 倍,所以 y 在 t=3 最大,y(3)=3⋅1⋅e−1=1.104。
输入:t=2 处一个面积 3 的 impulse。输出:h 的形状晚 2 秒、放大 3 倍。黑点是峰值 y(3)。
检查
刚过 t=2 时 y=3⋅0⋅e0=0:这个 h 本身从 0 开始,所以输出不跳变,平滑地升起来。峰值 = 面积 3 × h 的峰值 e−1 ✓。
例题例 2 两个 impulse:各自响应再相加
某系统的 impulse response 是一个矩形:h(t)=1(0<t<2),其他为 0。它把一个 impulse "保持" 2 秒。输入 x(t)=2δ(t)+δ(t−1)。求 y(t)。
拆输入。x 是两个 impulse 之和:2δ(t)(位于 0、面积 2)和 δ(t−1)(位于 1、面积 1)。
每一块单独的输出。按 ③:2δ(t)→2h(t),在 0<t<2 上等于 2。δ(t−1)→h(t−1),它在 0<t−1<2,即 1<t<3 上等于 1。
linear:总输出 = 两块之和。按 t 分段,把每一段里"开着"的块加起来:
- t<0:两块都还没开始,y=0。
- 0<t<1:只有第一块,y=2。
- 1<t<2:两块都开着,y=2+1=3。
- 2<t<3:第一块已经结束,只剩第二块,y=1。
- t>3:两块都结束,y=0。
输入:两个 impulse。灰色虚线是 2h(t) 和 h(t−1),青色是它们的和。
例 2 的做法"每一块输入各自产生一个平移、缩放过的 h,再全部相加",就是下一节推导 convolution 的全部思路。
④ causal 系统和 one-sided 信号
两个定义
causal(因果)系统:h(t)=0(t<0)。one-sided(单边)信号:x(t)=0(t<0)。
causal 的意思是"impulse 来之前系统没有反应":输出不可能先于输入出现。真实电路都是 causal 的,上面两个例子里的 h 也都是。one-sided 信号是从 t=0 才开始的信号,例如 u(t)、e−tu(t)。C·03会用这两条把 convolution 积分的上下限简化成 0 到 t。
常见错误
- h(t−2) 是把 h 往右挪 2(t−2=0 发生在 t=2),不是往左。
- 只换了一部分 t:例 1 写成 3te−(t−2)(前面的 t 没换),或者漏掉 u(t−2)(等于说 impulse 来之前系统已经有反应)。
- impulse 的箭头高度是面积,不是函数值。