本文首发于微信公众号振动信号研究所
在刚接触冲激函数时总感觉这玩意没啥用,内心很抵触,后来见识到其美好的性质却感觉“相识恨晚”;
在刚接触卷积的定义时,也感觉很虚无缥缈,不知道这个计算有什么作用,后来才知道自己的知识有多么狭隘;
再后来,我发现冲激函数与卷积之间的搭配简直绝了,堪比武魂融合技。
1.冲激函数
1.1狄拉克给出的单位冲激函数的定义
单位冲激函数定义:是奇异函数,它是对强度极大,作用时间极短的物理量的理想化模型(狄拉克提出)。可以用
δ
(
t
)
\delta(t)
δ(t) 表示:
{
δ
(
t
)
=
0
,
t
≠
0
∫
−
∞
∞
δ
(
t
)
d
t
=
1
\left\{\begin{array}{l} \delta(t)=0, \qquad \qquad t \neq 0 \\ \int_{-\infty}^{\infty} \delta(t) d t=1 \end{array}\right.
{δ(t)=0,t=0∫−∞∞δ(t)dt=1
可以这么去理解:它是高度无穷大,宽度无穷小,面积为1的对称窄脉冲。
因为 δ ( t ) = δ ( − t ) \delta(t)=\delta(-t) δ(t)=δ(−t) , 因此可以认为冲激函数是偶函数。
可以认为下图的过程就是得到 δ ( t ) \delta(t) δ(t) 的一种方式:
冲激函数 δ ( t ) \delta(t) δ(t) 与阶跃函数 ε ( t ) \varepsilon(t) ε(t) (阶跃函数过于简单,本文跳过其定义介绍)的关系如下:
公式表示:
δ
(
t
)
=
d
ε
(
t
)
d
t
ε
(
t
)
=
∫
−
∞
t
δ
(
τ
)
d
τ
\delta(t)=\frac{\mathrm{d} \varepsilon(t)}{\mathrm{d} t} \quad \varepsilon(t)=\int_{-\infty}^{t} \delta(\tau) \mathrm{d} \tau
δ(t)=dtdε(t)ε(t)=∫−∞tδ(τ)dτ
由此可见,冲击函数的作用之一就是可以描述间断点的导数:
1.2 冲激函数的广义函数定义
狄拉克给出的单位冲激函数的定义是一种简单的描述性的定义:t不等于0时函数值为0,t等于0时函数值为无穷大,但函数与坐标轴所围的面积是1。但是从数学的角度来说,这是不严格的定义。
而后面的数学家们给出了一种严谨的定义,称之为冲激函数的广义函数定义,即假设检验函数 $\varphi(t) $ 性质良好(咱也不知道怎么样算好,但我们经常见的都是好的),能使下式成立的所有函数
δ
(
t
)
\delta (t)
δ(t) 都称为冲激函数
δ
(
t
)
\delta (t)
δ(t)。:
∫
−
∞
∞
δ
(
t
)
φ
(
t
)
d
t
=
φ
(
0
)
\int_{-\infty}^{\infty} \delta(t) \varphi(t) d t=\varphi(0)
∫−∞∞δ(t)φ(t)dt=φ(0)
举个例子
δ
(
t
)
\delta (t)
δ(t) 可以为:
δ
(
t
)
=
lim
b
→
∞
sin
(
b
t
)
π
t
\delta(t)=\lim _{b \rightarrow \infty} \frac{\sin (b t)}{\pi t}
δ(t)=b→∞limπtsin(bt)
而冲激函数具有很重要的性质,即冲激函数的取样性质,为:
{
f
(
t
)
δ
(
t
)
=
f
(
0
)
δ
(
t
)
∫
−
∞
∞
f
(
t
)
δ
(
t
)
d
t
=
f
(
0
)
\left\{\begin{array}{l} f(t) \delta(t)=f(0) \delta(t) \\ \int_{-\infty}^{\infty} f(t) \delta(t) \mathrm{d} t=f(0) \end{array}\right.
{f(t)δ(t)=f(0)δ(t)∫−∞∞f(t)δ(t)dt=f(0)
1.3 冲激函数的导数的定义
由复合函数的求导规则,有:
[
f
(
t
)
δ
(
t
)
]
′
=
f
(
t
)
δ
′
(
t
)
+
f
′
(
t
)
δ
(
t
)
[f(t) \delta(t)]^{\prime}=f(t) \delta^{\prime}(t)+f^{\prime}(t) \delta(t)
[f(t)δ(t)]′=f(t)δ′(t)+f′(t)δ(t)
由冲击函数的取样性质,有:
f
(
t
)
δ
′
(
t
)
=
[
f
(
t
)
δ
(
t
)
]
′
−
f
′
(
t
)
δ
(
t
)
=
f
(
0
)
δ
′
(
t
)
−
f
′
(
0
)
δ
(
t
)
\begin{aligned} f(t) \delta^{\prime}(t) &=[f(t) \delta(t)]^{\prime}-f^{\prime}(t) \delta(t) =f(0) \delta^{\prime}(t)-f^{\prime}(0) \delta(t) \end{aligned}
f(t)δ′(t)=[f(t)δ(t)]′−f′(t)δ(t)=f(0)δ′(t)−f′(0)δ(t)
因为冲激函数是偶函数,所以冲击函数的导数是奇函数。
对两边同时取积分,因为奇函数取积分后值为0,所以有:
∫
−
∞
∞
f
(
t
)
δ
′
(
t
)
d
t
=
−
f
′
(
0
)
\int_{-\infty}^{\infty} f(t) \delta^{\prime}(t) d t=-f^{\prime}(0)
∫−∞∞f(t)δ′(t)dt=−f′(0)
类比冲激函数的定义,上式即为冲激函数的导数的定义。
通过递归的方式,可以推导出冲激函数的n阶导数的定义:
∫
−
∞
∞
f
(
t
)
δ
(
n
)
(
t
)
d
t
=
(
−
1
)
n
f
(
n
)
(
0
)
\int_{-\infty}^{\infty} f(t) \delta^{(n)}(t) \mathrm{d} t=(-1)^{n} f^{(n)}(0)
∫−∞∞f(t)δ(n)(t)dt=(−1)nf(n)(0)
2. 卷积
卷积有什么作用?我想这个问题比卷积的定义更令人感兴趣。其实卷积的本质是信号的分解,类似加减乘除运算,卷积是一种计算规则,之所以给这个计算规则起个名字,是因为这种计算经常能用到。因为卷积的本质是信号的分解,所以最好先了解一下信号的分解。
2.1 信号的时域分解
应用信号分解的例子举不胜举,举个有目的性的例子:有时候我们仅知道简单信号作用于一个线性时不变系统后会产生什么响应,而目标是求复杂信号作用于这个系统后的响应,这个时候,如果可以将这个复杂信号分解成很多个简单信号的叠加,那么所求响应也是多个简单信号响应的叠加。
首先,我们构造一个高度为 1 / Δ {1}/{\Delta} 1/Δ ,宽度为 Δ {\Delta} Δ ,面积为 1 1 1 的门函数 p ( t ) p(t) p(t)(下左图)。此时,如果还有一个宽度为 Δ \Delta Δ ,高度为 A A A 的门函数 f 1 ( t ) f_1(t) f1(t),那么直观地, f 1 ( t ) f_1(t) f1(t) 可以用 p ( t ) p(t) p(t) 线性表示为 f 1 ( t ) = A ⋅ Δ ⋅ p ( t ) f_1(t)=A\cdot\Delta\cdot p(t) f1(t)=A⋅Δ⋅p(t):
假如有一个任意信号 f ( t ) f(t) f(t) , 我们该如何表示呢?
我们可以考虑用多个门函数的叠加的结果 f ^ ( t ) \hat{f}(t) f^(t) 来近似表示 f ( t ) f(t) f(t) , 如下图:
那么:
- “0”号门函数高度为 f ( 0 ) f(0) f(0), 宽度为 Δ \Delta Δ ,用 p ( t ) p(t) p(t) 表示为: f ( 0 ) ⋅ Δ ⋅ p ( t ) f(0) \cdot\Delta \cdot p(t) f(0)⋅Δ⋅p(t)
- “1”号门函数高度为 f ( Δ ) f(\Delta) f(Δ), 宽度为 Δ \Delta Δ ,用 p ( t − Δ ) p(t-\Delta) p(t−Δ) 表示为: f ( Δ ) ⋅ Δ ⋅ p ( t − Δ ) f(\Delta) \cdot\Delta \cdot p(t-\Delta) f(Δ)⋅Δ⋅p(t−Δ)
- “-1”号门函数高度为 f ( − Δ ) f(-\Delta) f(−Δ), 宽度为 Δ \Delta Δ ,用 p ( t + Δ ) p(t+\Delta) p(t+Δ) 表示为: f ( − Δ ) ⋅ Δ ⋅ p ( t + Δ ) f(-\Delta) \cdot\Delta \cdot p(t+\Delta) f(−Δ)⋅Δ⋅p(t+Δ)
所以
f
(
t
)
f(t)
f(t) 的近似表示结果可以表示为:
f
^
(
t
)
=
∑
n
=
−
∞
∞
f
(
n
Δ
)
⋅
Δ
⋅
p
(
t
−
n
Δ
)
\hat{f}(t)=\sum_{n=-\infty}^{\infty} f(n \Delta) \cdot\Delta \cdot p(t-n \Delta)
f^(t)=n=−∞∑∞f(nΔ)⋅Δ⋅p(t−nΔ)
2.2 卷积定义
从图形上看来,如果宽度
Δ
→
0
\Delta \rightarrow 0
Δ→0 时,则
f
(
t
)
=
f
^
(
t
)
{f}(t)=\hat{f}(t)
f(t)=f^(t), 令
n
Δ
=
τ
n \Delta=\tau
nΔ=τ , 有:
f
(
n
Δ
)
=
f
(
τ
)
;
Δ
=
d
τ
;
p
(
t
−
n
Δ
)
=
δ
(
t
−
τ
)
f(n \Delta)=f(\tau) \: ; \qquad \Delta=\rm d \tau \: ; \qquad \it p(t-n \Delta)=\delta(t-\tau)
f(nΔ)=f(τ);Δ=dτ;p(t−nΔ)=δ(t−τ)
f
(
t
)
f(t)
f(t) 可以表示为:
lim
Δ
→
0
f
^
(
t
)
=
f
(
t
)
=
∫
−
∞
∞
f
(
τ
)
δ
(
t
−
τ
)
d
τ
\lim _{\Delta \rightarrow 0} \hat{f}(t)=f(t)=\int_{-\infty}^{\infty} f(\tau) \delta(t-\tau) \mathrm{d} \tau
Δ→0limf^(t)=f(t)=∫−∞∞f(τ)δ(t−τ)dτ
而卷积定义如下:
已知定义在区间 ( − ∞ , ∞ ) (-\infty,\infty) (−∞,∞) 上的两个函数 f 1 ( t ) f_1(t) f1(t) 和 f 2 ( t ) f_2(t) f2(t), 则定义积分:
f ( t ) = ∫ − ∞ ∞ f 1 ( τ ) f 2 ( t − τ ) d τ f(t)=\int_{-\infty}^{\infty} f_{1}(\tau) f_{2}(t-\tau) d \tau f(t)=∫−∞∞f1(τ)f2(t−τ)dτ
为 f 1 ( t ) f_1(t) f1(t) 和 f 2 ( t ) f_2(t) f2(t)的卷积积分,简称卷积,记为:
f ( t ) = f 1 ( t ) ∗ f 2 ( t ) f(t)=f_{1}(t){*} f_{2}(t) f(t)=f1(t)∗f2(t)
所以,对于上述信号分解过程,在 Δ → 0 \Delta \rightarrow 0 Δ→0 时的 f ( t ) f(t) f(t) 的分解结果,即为 f ( t ) f(t) f(t) 和冲激函数 δ ( t ) \delta(t) δ(t) 的卷积。
因此,从信号分解角度可以得出:任意函数和冲激函数的卷积都等于其本身,可以用式子表示为:
f
(
t
)
=
f
(
t
)
∗
δ
(
t
)
f(t)=f(t)*\delta(t)
f(t)=f(t)∗δ(t)
2.3 卷积作用举例
系统冲激响应的定义:由单位冲激响应 δ ( t ) \delta(t) δ(t) 引起的系统的零状态响应,记为 h ( t ) h(t) h(t) .
系统零状态响应的定义:仅由激励 f ( t ) f(t) f(t) 引起的系统的响应,记为 y z s ( t ) y_{zs}(t) yzs(t) .
系统(本文所指系统均为线性时不变系统)的冲激响应 h ( t ) h(t) h(t) 有时候可以通过测试得到(让我想起了锤击法测固有频率),若已经求得冲击响应 h ( t ) h(t) h(t), 则可以求解任意信号 f ( t ) f(t) f(t) 的零状态响应,求解过程如下:
根据
h
(
t
)
h(t)
h(t)的定义:
δ
(
t
)
⟶
h
(
t
)
\delta(t) \longrightarrow h(t)
δ(t)⟶h(t)
根据时不变性:
δ
(
t
−
τ
)
⟶
h
(
t
−
τ
)
\delta(t-\tau) \longrightarrow h(t-\tau)
δ(t−τ)⟶h(t−τ)
根据齐次性:
f
(
τ
)
δ
(
t
−
τ
)
⟶
f
(
τ
)
h
(
t
−
τ
)
f(\tau)\delta(t-\tau) \longrightarrow f(\tau)h(t-\tau)
f(τ)δ(t−τ)⟶f(τ)h(t−τ)
由叠加性:
∫
−
∞
∞
f
(
τ
)
δ
(
t
−
τ
)
d
τ
⟶
∫
−
∞
∞
f
(
τ
)
h
(
t
−
τ
)
d
τ
\int_{-\infty}^{\infty} f(\tau) \delta(t-\tau) \mathrm{d} \tau \longrightarrow \int_{-\infty}^{\infty} f(\tau) h(t-\tau) \mathrm{d} \tau
∫−∞∞f(τ)δ(t−τ)dτ⟶∫−∞∞f(τ)h(t−τ)dτ
而上式等号左侧就等于激励
f
(
t
)
f(t)
f(t), 等号右侧就等于仅由激励
f
(
t
)
f(t)
f(t) 对应的零状态响应
y
z
s
(
t
)
y_{zs}(t)
yzs(t), 所以有:
y
z
s
(
t
)
=
f
(
t
)
∗
h
(
t
)
y_{zs}(t) = f(t)*h(t)
yzs(t)=f(t)∗h(t)
3.冲激函数与卷积的邂逅
3.1第一次邂逅
就是上文已经推导的公式:
f
(
t
)
∗
δ
(
t
)
=
f
(
t
)
f(t)*\delta(t)=f(t)
f(t)∗δ(t)=f(t)
3.2 第二次邂逅
f ( t ) ∗ δ ′ ( t ) = f ′ ( t ) f(t){*} \delta^{\prime}(t)=f^{\prime}(t) f(t)∗δ′(t)=f′(t)
证明如下:
由卷积的定义式,有:
f
(
t
)
∗
δ
′
(
t
)
=
∫
−
∞
∞
f
(
t
−
τ
)
δ
′
(
τ
)
d
τ
f(t) * \delta^{\prime}(t)=\int_{-\infty}^{\infty} f(t-\tau) \delta^{\prime}(\tau) d \tau
f(t)∗δ′(t)=∫−∞∞f(t−τ)δ′(τ)dτ
**关键一步:**令
g
(
τ
)
=
f
(
t
−
τ
)
g(\tau)=f(t-\tau)
g(τ)=f(t−τ), 则
g
(
τ
)
g(\tau)
g(τ) 是含有参数
t
t
t 的关于
τ
\tau
τ 的函数,有:
f
(
t
)
∗
δ
′
(
t
)
=
∫
−
∞
∞
g
(
τ
)
δ
′
(
τ
)
d
τ
=
−
g
′
(
0
)
f(t) * \delta^{\prime}(t)=\int_{-\infty}^{\infty} g(\tau) \delta^{\prime}(\tau) d \tau=-g^{\prime}(0)
f(t)∗δ′(t)=∫−∞∞g(τ)δ′(τ)dτ=−g′(0)
对
g
(
τ
)
g(\tau)
g(τ) 进行求导,有:
g
′
(
τ
)
=
d
[
g
(
τ
)
]
d
τ
=
d
[
f
(
t
−
τ
)
]
d
τ
=
−
f
′
(
t
−
τ
)
g^{\prime}(\tau)=\frac{d[g(\tau)]}{d \tau}=\frac{d[f(t-\tau)]}{d \tau}=-f^{\prime}(t-\tau)
g′(τ)=dτd[g(τ)]=dτd[f(t−τ)]=−f′(t−τ)
把
τ
=
0
\tau=0
τ=0 带入上式, 则有:
g
′
(
0
)
=
−
f
′
(
t
)
g^{\prime}(0)=-f^{\prime}(t)
g′(0)=−f′(t) , 所以有:
f
(
t
)
∗
δ
′
(
t
)
=
f
′
(
t
)
f(t){*} \delta^{\prime}(t)=f^{\prime}(t)
f(t)∗δ′(t)=f′(t)
3.3 第三次邂逅
f ( t ) ∗ δ ( n ) ( t ) = f ( n ) ( t ) f(t) * \delta^{(n)}(t)=f^{(n)}(t) f(t)∗δ(n)(t)=f(n)(t)
因为
f
(
t
)
∗
δ
′
(
t
)
=
f
′
(
t
)
f(t){*} \delta^{\prime}(t)=f^{\prime}(t)
f(t)∗δ′(t)=f′(t), 所以
δ
′
(
t
)
∗
δ
′
(
t
)
=
δ
′
′
(
t
)
\delta^{\prime}(t){*} \delta^{\prime}(t)=\delta^{\prime\prime}(t)
δ′(t)∗δ′(t)=δ′′(t), 故:
f
(
t
)
∗
δ
(
n
)
(
t
)
=
f
(
t
)
∗
δ
′
(
t
)
∗
δ
′
(
t
)
∗
⋯
∗
δ
′
(
t
)
⏟
n
个
=
f
′
(
t
)
∗
δ
′
(
t
)
∗
δ
′
(
t
)
∗
⋯
∗
δ
′
(
t
)
⏟
n
−
1
个
=
f
′
′
(
t
)
∗
δ
′
(
t
)
∗
δ
′
(
t
)
∗
⋯
∗
δ
′
(
t
)
⏟
n
−
2
个
=
f
(
n
)
(
t
)
\begin{align*} f(t) * \delta^{(n)}(t)&=f(t) * \underbrace{\delta^{\prime}(t) * \delta^{\prime}(t) * \cdots * \delta^{\prime}(t)}_{n \:个}\\ &=f^{\prime}(t) * \underbrace{\delta^{\prime}(t) * \delta^{\prime}(t) * \cdots * \delta^{\prime}(t)}_{n-1 \:个}\\ &=f^{\prime\prime}(t) * \underbrace{\delta^{\prime}(t) * \delta^{\prime}(t) * \cdots * \delta^{\prime}(t)}_{n-2 \:个}\\ &=f^{(n)}(t) \end{align*}
f(t)∗δ(n)(t)=f(t)∗n个
δ′(t)∗δ′(t)∗⋯∗δ′(t)=f′(t)∗n−1个
δ′(t)∗δ′(t)∗⋯∗δ′(t)=f′′(t)∗n−2个
δ′(t)∗δ′(t)∗⋯∗δ′(t)=f(n)(t)
注:上式推导用到了卷积的结合律本文未证明。