两本书写 convolution 用的符号不同,积分上下限也常被简化。这一节先对照记号,再证明交换律,最后说明什么时候可以把 ∫−∞∞ 换成 ∫0t,以及换完之后还要注意什么。
① 两本书的记号
Alexander 写 x(t)∗h(t),哑变量用 λ。Davis 写 x(t)⊗y(t)(他用 y 表示参与 convolution 的第二个函数,不一定是输出),哑变量用 α,并把 α 叫作 running variable(积分时"跑动"的变量)。Davis 式 (13.8-22):
x(t)⊗y(t)=∫−∞∞x(α)y(t−α)dα
它和 Alexander 的 (15.66) 一字不差,只是字母不同。两本书的出发点不同:Davis 的 Definition 13.11 先用 Laplace 定义 x⊗y=L−1{X(s)Y(s)},Theorem 13.12 再证明它等于这个积分(见C·14);Alexander 直接用积分定义。课上(第 13 讲)用 τ 当哑变量,也是同一个东西。
| Alexander §15.5 | Davis §13.8 |
| convolution 符号 | x(t)∗h(t) | x(t)⊗y(t) |
| 哑变量 | λ | α(running variable) |
| 定义方式 | 直接用积分 (15.66) 定义 | Definition 13.11 用 Laplace 定义,Theorem 13.12 证明等于积分 |
| 求导 | f′(t) | p=d/dt,pk 是求 k 次导 |
② 交换律 (commutative):x ⊗ y = y ⊗ x
证明只用一次换元(Davis 13.8-31):
- 令 β=t−α。t 在积分里是常数,所以 α=t−β,dα=−dβ。
- 上下限跟着变:α→−∞ 时 β→+∞;α→+∞ 时 β→−∞。
- 代入:∫−∞∞x(α)y(t−α)dα=∫+∞−∞x(t−β)y(β)(−dβ)=∫−∞∞y(β)x(t−β)dβ。中间那个负号正好用来把上下限换回"从小到大"。
- 最右边正是 y⊗x 的定义(哑变量叫 β 而已)。
x(t)⊗y(t)=y(t)⊗x(t)(13.8-32)
实际意义:C·04 四步法要"翻转"一个函数,你可以挑更简单的那个翻。
③ one-sided 输入 + causal 系统:上下限变成 0 到 t
被积函数 x(λ)h(t−λ) 只有在 x(λ) 和 h(t−λ) 同时不为 0 的地方才不为 0。用C·01的两个定义:
- x 是 one-sided 的:λ<0 时 x(λ)=0,积分下限可以从 −∞ 提到 0(Alexander 15.69)。
- h 是 causal 的:t−λ<0,即 λ>t 时 h(t−λ)=0,积分上限可以降到 t(Alexander 15.70)。
- t<0 时"0<λ<t"是空区间,y=0。
one-sided ⊗ causal
y(t)y(t)=∫0tx(λ)h(t−λ)dλ(t>0)=0(t<0)结果通常写成"式子 × u(t)",u(t) 负责把 t<0 的部分关掉。
例题例 1 e−tu(t)∗e−tu(t):上下限从哪里来
求 y=e−tu(t)∗e−tu(t)。(两个一样的一阶系统串联时,总的 impulse response 就是它,见C·09结合律。)
写出完整的积分。第二个函数里的每个 t 换成 t−λ,包括 u 里的那个:
y(t)=∫−∞∞e−λu(λ)e−(t−λ)u(t−λ)dλ
读两个 u。u(λ)=1⟺λ>0;u(t−λ)=1⟺λ<t。两个同时为 1 的区间是 0<λ<t,只有 t>0 时才非空。这就是上面框里的 0 到 t。
积分(t>0)。被积函数 e−λe−(t−λ)=e−t:λ 消掉了,在整个区间上是常数,面积就是宽 t、高 e−t 的矩形:
y(t)=∫0te−tdλ=te−t(t>0)
t=1.2:一个指数往右衰减,翻转的那个往左衰减,乘积处处是 e−1.2=0.301。紫色是宽 1.2、高 0.301 的矩形。结果 te−tu(t),在 t=1 最大(1/e)。
结果。y(t)=te−tu(t),例如 y(1)=e−1=0.368。这正是C·01、C·02一直用的 h:两个 e−tu 的一阶系统串起来,得到先升后降的 te−tu。
检查
t=0 时为 0 ✓。面积:两个因子的面积都是 1,结果的面积 ∫0∞te−tdt=1(第 01 节的式子令 T→∞)=1×1 ✓(C·09的面积规则)。
例题例 2 输入不从 0 开始、而且有限长
x(t)=1(1<t<3),其他为 0;h(t)=te−tu(t)(同例 1 的结果)。求 y=x∗h。
不为 0 的条件。x(λ)=0⟺1<λ<3;h(t−λ)=0⟺λ<t。两个同时成立:1<λ<min(3, t)。按 t 分三种情况,每种一张图(紫色 = 被积函数):
① t<1:h(t−λ) 全在 1 的左边 → 不重叠,y=0② 1<t<3:重叠 [1, t] → y=1−te−(t−1)③ t>3:重叠 [1, 3],上限不再跟着 t 走 → y=(t−2)e−(t−3)−te−(t−1)
②③ 的积分。被积函数是 (t−λ)e−(t−λ)。和第 01 节例 2 一样换元 s=t−λ,λ 的区间 [1, m] 变成 s 的区间 [t−m, t−1],再用 G(T)=∫0Tse−sds=1−(1+T)e−T:
1<t<3:t>3:y=G(t−1)=1−te−(t−1)y=G(t−1)−G(t−3)=(t−2)e−(t−3)−te−(t−1)
查连续(t=3)。左段 1−3e−2=0.594;右段 1⋅e0−3e−2=0.594 ✓。
青色:正确的 y。橙色:偷懒用 ∫0t 得到的 1−(1+t)e−t,从 t=0 就开始升,一直升到 1。黑点是 y(3)=0.594。
偷懒把 x(λ)=1 直接代进 ∫0t,就把 0 到 1 和 3 到 t 这两段 x=0 的地方也当成 1 来积(在 t=2 给 0.594,正确值是 0.264)。∫0t 只是"保证不漏"的外框,有限长的信号要把上下限收紧到真正重叠的地方。C·06的边界表就是系统地做这件事。
容易错
- 只有两个函数都在负时间为 0 时才能用 ∫0t。
- 有限长的信号(矩形、斜坡段):上下限是 max(两个左端)到 min(两个右端),不是简单的 0 到 t。
- t=0 处有 impulse 时,Alexander 的下限要写成 0− 才会把它算进去;Davis 从 −∞ 积,自然包含。