1. 卷积积分
卷积积分是一种特殊的积分,在积分变换、微分方程、信号与系统分析中应用广泛。
本文主要参考了学报 《卷积积分的基本计算方法,王晓平,2002》、Wiki百科的Convolution词条,并添加了自己的理解。
1 连续卷积
1.1 连续卷积定义
连续卷积的定义为:
( f 1 ∗ f 2 ) ( t ) : = f 1 ( t ) ∗ f 2 ( t ) : = ∫ − ∞ + ∞ f 1 ( τ ) f 2 ( t − τ ) d τ : = ∫ − ∞ + ∞ f 1 ( t − τ ) f 2 ( τ ) d τ (f_1*f_2)(t) := f_1(t)*f_2(t):=\int_{-\infin}^{+\infin}f_1(\tau)f_2(t-\tau)d\tau:=\int_{-\infin}^{+\infin}f_1(t-\tau)f_2(\tau)d\tau (f1∗f2)(t):=f1(t)∗f2(t):=∫−∞+∞f1(τ)f2(t−τ)dτ:=∫−∞+∞f1(t−τ)f2(τ)dτ
变量
t
t
t与
τ
\tau
τ的辩证关系:在积分运算过程中,
τ
\tau
τ是积分变量,
t
t
t是参变量;积分后的结果是
t
t
t的函数。
卷积的积分区间既与
f
1
(
τ
)
f_1(\tau)
f1(τ)、
f
2
(
t
−
τ
)
f_2(t-\tau)
f2(t−τ)非零值的区间有关,也与
f
1
(
τ
)
f_1(\tau)
f1(τ)、
f
2
(
t
−
τ
)
f_2(t-\tau)
f2(t−τ)图形的相对位置有关。因为函数
f
2
(
t
−
τ
)
f_2(t-\tau)
f2(t−τ)非零值与
t
t
t的取值的变化有关,所以对于
t
t
t的不同取值范围,
∫
−
∞
+
∞
f
1
(
τ
)
f
2
(
t
−
τ
)
d
τ
\int_{-\infin}^{+\infin}f_1(\tau)f_2(t-\tau)d\tau
∫−∞+∞f1(τ)f2(t−τ)dτ就有不同的积分限。
Wiki百科的Convolution词条有些动图可以非常形象地描述卷积积分的过程,强烈推荐阅读。
1.2 连续卷积计算方法
例 设函数 f 1 ( t ) = u ( t ) − u ( t − 3 ) , f 2 ( t ) = e − t u ( t ) f_1(t)=u(t)-u(t-3),f_2(t)=e^{-t}u(t) f1(t)=u(t)−u(t−3),f2(t)=e−tu(t),试计算器卷积 y = f 1 ( t ) ∗ f 2 ( t ) y=f_1(t)*f_2(t) y=f1(t)∗f2(t)了,其中 u ( t ) u(t) u(t)为单位阶跃函数(Unit Step Function)。
因为
u
(
t
)
u(t)
u(t)是阶跃函数,所以可以
f
1
(
t
)
f_1(t)
f1(t)和
f
2
(
t
)
f_2(t)
f2(t)的图像如下:
1.2.1 根据定义计算
∵
f
1
(
τ
)
=
u
(
τ
)
−
u
(
τ
−
3
)
=
{
1
0
<
τ
<
3
0
其它
,
f
2
(
t
−
τ
)
=
e
−
(
t
−
τ
)
u
(
t
−
τ
)
=
{
e
−
(
t
−
τ
)
τ
<
t
0
τ
>
t
∴
f
1
(
t
)
∗
f
2
(
t
)
=
∫
−
∞
+
∞
f
1
(
τ
)
f
2
(
t
−
τ
)
d
τ
=
∫
0
3
e
−
(
t
−
τ
)
u
(
t
−
τ
)
d
τ
\begin{aligned} &\because f_1(\tau)=u(\tau)-u(\tau-3)=\left\{\begin{array}{cc} 1 & 0<\tau<3 \\ 0 & \text { 其它 } \end{array}, f_2(t-\tau)=\mathrm{e}^{-(t-\tau)} u(t-\tau)= \begin{cases}\mathrm{e}^{-(t-\tau)} & \tau<t \\ 0 & \tau>t\end{cases} \right. \\ &\therefore f_1(t) * f_2(t)=\int_{-\infty}^{+\infty} f_1(\tau) f_2(t-\tau) \mathrm{d} \tau=\int_0^3 \mathrm{e}^{-(t-\tau)} u(t-\tau) \mathrm{d} \tau \end{aligned}
∵f1(τ)=u(τ)−u(τ−3)={100<τ<3 其它 ,f2(t−τ)=e−(t−τ)u(t−τ)={e−(t−τ)0τ<tτ>t∴f1(t)∗f2(t)=∫−∞+∞f1(τ)f2(t−τ)dτ=∫03e−(t−τ)u(t−τ)dτ
显然这个积分值与函数
u
(
t
−
τ
)
=
{
1
τ
<
t
0
τ
>
t
u(t-\tau) = \begin{cases} 1 &\ \tau<t \\ 0 &\ \tau>t \end{cases}
u(t−τ)={10 τ<t τ>t 所取的非零值有关,即与参数
t
t
t的取值有关。
- 当 t < 0 t<0 t<0时,因 t < 0 < τ < 3 t<0<\tau<3 t<0<τ<3,所以 u ( t − τ ) ≡ 0 u(t-\tau)\equiv0 u(t−τ)≡0, f 1 ( t ) ∗ f 2 ( t ) = ∫ 0 3 e − ( t − τ ) ⋅ 0 d τ = 0 f_1(t)*f_2(t)=\int_{0}^{3} e^{-(t-\tau)} ⋅ 0 d\tau=0 f1(t)∗f2(t)=∫03e−(t−τ)⋅0dτ=0
- 当 0 < t < 3 0<t<3 0<t<3时,因 0 < τ < t 0<\tau<t 0<τ<t,所以 u ( t − τ ) = 1 u(t-\tau)=1 u(t−τ)=1, f 1 ( t ) ∗ f 2 ( t ) = ∫ 0 t e − ( t − τ ) d τ = 1 − e − t f_1(t)*f_2(t)=\int_{0}^{t} e^{-(t-\tau)} d\tau=1-e^{-t} f1(t)∗f2(t)=∫0te−(t−τ)dτ=1−e−t
- 当 t > 3 t>3 t>3时,因$ 0 < τ < 3 < t 0<\tau<3<t 0<τ<3<t,所以 u ( t − τ ) ≡ 1 u(t-\tau)\equiv1 u(t−τ)≡1, f 1 ( t ) ∗ f 2 ( t ) = ∫ 0 3 e − ( t − τ ) d τ = ( e 3 − 1 ) e − t f_1(t)*f_2(t)=\int_{0}^{3} e^{-(t-\tau)} d\tau=(e^3-1)e^{-t} f1(t)∗f2(t)=∫03e−(t−τ)dτ=(e3−1)e−t
综上,有 f 1 ( t ) ∗ f 2 ( t ) = { 0 t > 0 1 − e − t 0 < t ⪕ 3 ( e 3 − 1 ) e − t t > 3 f_1(t)*f_2(t)= \begin{cases} 0 &\ t>0 \\ 1-e^{-t} &\ 0<t\eqslantless3 \\ (e^3-1)e^{-t} &\ t>3 \\ \end{cases} f1(t)∗f2(t)=⎩ ⎨ ⎧01−e−t(e3−1)e−t t>0 0<t⪕3 t>3
其函数图像如下所示:
其中 f 1 ( t ) f_1(t) f1(t)是蓝线 f 2 ( t ) f_2(t) f2(t)是红线, f 1 ( t ) ∗ f 2 ( t ) f_1(t)*f_2(t) f1(t)∗f2(t)是黑线。
1.2.2 图解计算
这个方法的原理就是逐渐平移两个函数,求两个函数重叠的面积。
图解计算主要分为3步:
(1)做出
f
1
(
τ
)
f_1(\tau)
f1(τ),
f
2
(
τ
)
f_2(\tau)
f2(τ) 的图形,反褶得到
f
1
(
−
τ
)
f_1(-\tau)
f1(−τ) 的图形,平移得
f
2
(
t
−
τ
)
f_2(t-\tau)
f2(t−τ) 的图形;
(2)移动图形
f
2
(
t
−
τ
)
f_2(t-\tau)
f2(t−τ) ,观察在
t
t
t 的不同取值范围内,
f
2
(
t
−
τ
)
f_2(t-\tau)
f2(t−τ)与
f
1
(
τ
)
f_1(\tau)
f1(τ) 的图形的重叠部分;
(3)根据 f 2 ( t − τ ) f_2(t-\tau) f2(t−τ) 与 f 1 ( τ ) f_1(\tau) f1(τ) 的图形的重叠部分定出积分限和在响应区间的被积函数。
1
◯
\quad\text{\textcircled 1}
1◯ 当
t
<
0
t<0
t<0时,
f
2
(
t
−
τ
)
f_2(t-\tau)
f2(t−τ)的图形与
f
1
(
τ
)
f_1(\tau)
f1(τ) 的图形没有重叠部分见图4(a),所以
f
1
(
t
)
∗
f
2
(
t
)
=
∫
0
3
e
−
(
t
−
τ
)
⋅
0
d
τ
=
0
f_1(t)*f_2(t)=\int_{0}^{3} e^{-(t-\tau)} ⋅ 0 d\tau=0
f1(t)∗f2(t)=∫03e−(t−τ)⋅0dτ=0
2
◯
\quad\text{\textcircled 2}
2◯ 当
0
<
t
<
3
0<t<3
0<t<3 时,
f
2
(
t
−
τ
)
f_2(t-\tau)
f2(t−τ)的图形与
f
1
(
τ
)
f_1(\tau)
f1(τ) 的图形仅在
(
0
,
t
)
(0, t)
(0,t)内有重叠,见图4(b),所以
f
1
(
t
)
∗
f
2
(
t
)
=
∫
0
t
e
−
(
t
−
τ
)
d
τ
=
1
−
e
−
t
f_1(t)*f_2(t)=\int_{0}^{t} e^{-(t-\tau)} d\tau=1-e^{-t}
f1(t)∗f2(t)=∫0te−(t−τ)dτ=1−e−t
3
◯
\quad\text{\textcircled 3}
3◯ 当
t
>
3
t>3
t>3时,
f
2
(
t
−
τ
)
f_2(t-\tau)
f2(t−τ)的图形与
f
1
(
τ
)
f_1(\tau)
f1(τ) 的图形仅在
[
0
,
3
]
[0,3]
[0,3]内有重叠,见图4(c ),所以
f
1
(
t
)
∗
f
2
(
t
)
=
∫
0
3
e
−
(
t
−
τ
)
d
τ
=
(
e
3
−
1
)
e
−
t
f_1(t)*f_2(t)=\int_{0}^{3} e^{-(t-\tau)} d\tau=(e^3-1)e^{-t}
f1(t)∗f2(t)=∫03e−(t−τ)dτ=(e3−1)e−t
2 离散卷积
离散卷积定义
离散卷积是两个离散序列之间按照一定的规则将它们的有关序列值分别两两相乘再相加的一种特殊的运算。
连续卷积的定义为:对于在整数集合 Z Z Z上定义的复值函数 f f f、 g g g, f f f和 g g g的离散卷积由以下公式给出:
( f ∗ g ) [ n ] = ∑ m = − ∞ ∞ f [ m ] g [ n − m ] = ∑ m = − ∞ ∞ f [ n − m ] g [ m ] (f * g)[n] = \sum_{m=-\infty}^\infty f[m] g[n - m]=\sum_{m=-\infty}^\infty f[n-m] g[m] (f∗g)[n]=m=−∞∑∞f[m]g[n−m]=m=−∞∑∞f[n−m]g[m]
序列 g g g的一个典型例子是有限冲激响应(Finite impulse response)
两个有限序列的卷积是通过将序列扩展到整数集上的有限支持函数来定义的。 当序列是两个多项式的系数时,那么两个多项式的普通乘积的系数就是原始两个序列的卷积。 这被称为序列系数的柯西积。
离散卷积的例子
离散卷积是卷积在序列上的扩展,其原理与卷积一致,下面来自一个文档的例子可以很好地理解:
注意:下图中的 x x x和 h h h就是定义中提到到 f f f和 g g g
完。