卷积积分描述的是:当一个函数沿着另一个函数平移时,它们如何组合。在连续时间中,它定义为
(f∗g)(t)=∫−∞∞f(τ)g(t−τ)dτ
快速理解它的方法很简单:对每个 t,把一个函数滑动过去,找出两个函数重叠的部分,在重叠处把函数值相乘,再把结果加起来。如果两个函数都是因果的,也就是在负时间上都为零,那么它通常可以写成
(f∗g)(t)=∫0tf(τ)g(t−τ)dτ
对 t≥0 成立,只要 [0,t] 覆盖了全部重叠区间。核心思想很实用:卷积把“滑动重叠”变成每个 t 对应的一个数。
卷积积分的定义与直觉
把 f(τ) 看成固定不动,把 g(t−τ) 看成 g 的一个翻转后再平移的副本。随着 t 改变,重叠区域也会改变,所以积分值也会改变。
这就是它与逐点相乘的主要区别。你不是在同一个输入点上比较两个函数,而是在平移后的副本与原函数重叠的整个区域上,把乘积累加起来。
为什么重叠决定积分上下限
卷积题里的积分上下限通常不是靠背模板得到的,而是通过判断两个因子在哪些地方同时非零得到的。
这也是为什么很多卷积结果都要分段写。随着 t 移动,重叠区间可能变长、变短,或者直接消失,所以积分表达式也必须随之变化。
学生最容易忽略的就是这一点:难点通常不在积分本身,而在于先找对重叠区间。
卷积积分示例:两个单位脉冲
设
f(t)={1,0,0≤t≤1otherwise
并且令 g(t) 与它相同。我们要求 (f∗g)(t)。
这个例子很好,因为被积函数只可能是 1 或 0,所以卷积值就是重叠区间的长度。
根据定义,
(f∗g)(t)=∫−∞∞f(τ)g(t−τ)dτ
由于 f(τ)=1 只在 [0,1] 上成立,而 g(t−τ)=1 只在 0≤t−τ≤1 时成立,所以被积函数恰好在这两个条件同时满足的地方等于 1。
第二个条件意味着
t−1≤τ≤t
因此重叠区间是
[0,1]∩[t−1,t]
所以 (f∗g)(t) 就是这个重叠区间的长度。
情况 1:t<0
没有重叠,因此
(f∗g)(t)=0
情况 2:0≤t≤1
重叠区间从 τ=0 到 τ=t,因此
(f∗g)(t)=∫0t1dτ=t
情况 3:1≤t≤2
重叠区间从 τ=t−1 到 τ=1,因此
(f∗g)(t)=∫t−111dτ=2−t
情况 4:t>2
同样没有重叠,因此
(f∗g)(t)=0
把这些分段结果合起来,
(f∗g)(t)=⎩⎨⎧0,t,2−t,0,t<00≤t≤11≤t≤2t>2
结果是一个三角形。随着重叠区间变长,它的高度上升;随着重叠区间缩短,它又下降。
卷积积分中的常见错误
忘记平移后的输入
第二个因子是 g(t−τ),不是 g(τ−t),也不是单纯的 g(τ)。这个平移正是卷积的关键。
使用了错误的积分上下限
最稳妥的方法是先找出两个因子同时非零的区域。如果重叠区间会随 t 改变,那么结果通常就需要分段表示。
把卷积当成逐点相乘
逐点相乘是在同一个输入点上取值。卷积则是在整个区间上累加乘积。
跳过捷径成立的条件
捷径
(f∗g)(t)=∫0tf(τ)g(t−τ)dτ
在常见的因果情形下成立,但并不适用于任意一对函数。只有在支撑区间的假设确实满足时,才能使用它。
卷积积分用在哪里
当一个量取决于另一个量如何在附近的时间或空间中分布时,就会用到卷积。
在线性时不变系统中,卷积可以由输入和冲激响应求出输出。在概率论中,如果两个独立随机变量都有密度函数,那么它们和的密度就是这两个密度的卷积。更广泛地说,卷积还会出现在平滑、滤波、扩散,以及任何邻近数值会相互组合的场景中。
试试一个类似的卷积问题
还是用同样的脉冲例子,但把第二个脉冲的高度改成原来的两倍:
g(t)={2,0,0≤t≤1otherwise
重叠区间保持不变,但现在被积函数在该区间上的值变成了原来的两倍。如果你能在积分之前就预测出这会怎样改变那个三角形结果,那就说明你已经真正抓住了卷积的核心思想。