1. 什么是 LTI 系统
LTI 是:
- Linear:线性
- Time Invariant:时不变
即:
Linear Time-Invariant System
线性时不变系统
假设一个系统可以表示为:
O{f(t)}=x(t)\mathcal{O}\{f(t)\}=x(t)O{f(t)}=x(t)
其中:
- f(t)f(t)f(t):输入
- x(t)x(t)x(t):输出
- O\mathcal{O}O:系统所进行的运算
2. 什么叫线性
一个系统满足线性,需要满足两个性质:
- 可加性
- 齐次性
2.1 可加性
如果:
O{f1(t)}=x1(t)\mathcal{O}\{f_1(t)\}=x_1(t)O{f1(t)}=x1(t)
O{f2(t)}=x2(t)\mathcal{O}\{f_2(t)\}=x_2(t)O{f2(t)}=x2(t)
那么:
O{f1(t)+f2(t)}=x1(t)+x2(t)\mathcal{O}\{f_1(t)+f_2(t)\}=x_1(t)+x_2(t)O{f1(t)+f2(t)}=x1(t)+x2(t)
意思是:
两个输入相加以后送进系统,产生的输出,等于两个输入分别产生的输出再相加。
2.2 齐次性
如果:
O{f(t)}=x(t)\mathcal{O}\{f(t)\}=x(t)O{f(t)}=x(t)
那么:
O{af(t)}=ax(t)\mathcal{O}\{af(t)\}=ax(t)O{af(t)}=ax(t)
也就是说:
输入放大 aaa 倍,输出也放大 aaa 倍。
2.3 叠加原理
把可加性和齐次性结合起来:
O{a1f1(t)+a2f2(t)}=a1x1(t)+a2x2(t)\mathcal{O}\{a_1f_1(t)+a_2f_2(t)\}=a_1x_1(t)+a_2x_2(t)O{a1f1(t)+a2f2(t)}=a1x1(t)+a2x2(t)
这就是:
叠加原理 Superposition Principle
它也是后面卷积能够成立的关键。
只要能够把一个复杂输入拆成很多简单输入,就可以:
- 分别计算每个简单输入产生的响应;
- 把所有响应相加;
- 得到完整输出。
3. 什么叫时不变
假设:
O{f(t)}=x(t)\mathcal{O}\{f(t)\}=x(t)O{f(t)}=x(t)
如果把输入整体延迟 τ\tauτ:
f(t−τ)f(t-\tau)f(t−τ)
那么输出也应该延迟相同时间:
O{f(t−τ)}=x(t−τ)\mathcal{O}\{f(t-\tau)\}=x(t-\tau)O{f(t−τ)}=x(t−τ)
这就是时不变。
简单理解:
系统的规律不会因为输入发生的时间不同而改变。
例如同一个输入:
- 在 t=0t=0t=0 时输入;
- 在 t=10t=10t=10 时输入;
产生的响应波形应该完全相同,只是第二个响应整体晚了 101010 秒。
4. 一个典型的 LTI 系统:弹簧-质量-阻尼系统
对于弹簧-质量-阻尼系统:
- 质量为 mmm
- 阻尼系数为 ccc
- 弹簧刚度为 kkk
- 输入力为 f(t)f(t)f(t)
- 输出位移为 x(t)x(t)x(t)
系统微分方程为:
mx¨(t)+cx˙(t)+kx(t)=f(t)m\ddot{x}(t)+c\dot{x}(t)+kx(t)=f(t)mx¨(t)+cx˙(t)+kx(t)=f(t)
在零初始条件下进行拉普拉斯变换:
(ms2+cs+k)X(s)=F(s)(ms^2+cs+k)X(s)=F(s)(ms2+cs+k)X(s)=F(s)
因此:
X(s)=1ms2+cs+kF(s)X(s)=\frac{1}{ms^2+cs+k}F(s)X(s)=ms2+cs+k1F(s)
定义传递函数:
H(s)=X(s)F(s)H(s)=\frac{X(s)}{F(s)}H(s)=F(s)X(s)
所以:
H(s)=1ms2+cs+kH(s)=\frac{1}{ms^2+cs+k}H(s)=ms2+cs+k1
于是:
X(s)=F(s)H(s)X(s)=F(s)H(s)X(s)=F(s)H(s)
5. 从拉普拉斯域看卷积
已经知道:
X(s)=F(s)H(s)X(s)=F(s)H(s)X(s)=F(s)H(s)
根据拉普拉斯变换的卷积定理:
L−1{F(s)H(s)}=f(t)∗h(t)\mathcal{L}^{-1}\{F(s)H(s)\}=f(t)*h(t)L−1{F(s)H(s)}=f(t)∗h(t)
所以:
x(t)=f(t)∗h(t)x(t)=f(t)*h(t)x(t)=f(t)∗h(t)
其中:
h(t)=L−1{H(s)}h(t)=\mathcal{L}^{-1}\{H(s)\}h(t)=L−1{H(s)}
于是得到:
x(t)=f(t)∗h(t)\boxed{x(t)=f(t)*h(t)}x(t)=f(t)∗h(t)
但是只记住这个公式还不够。
真正需要理解的是:
为什么 LTI 系统的输出,可以写成输入与冲激响应的卷积?
下面从时域角度推导。
6. 任意输入可以拆成很多小块
假设有一个连续输入:
f(t)f(t)f(t)
把时间轴切成很多很小的区间,每个区间宽度为:
ΔT\Delta TΔT
时间点分别为:
0,ΔT,2ΔT,3ΔT,⋯0,\Delta T,2\Delta T,3\Delta T,\cdots0,ΔT,2ΔT,3ΔT,⋯
在第 iii 个时间位置:
t=iΔTt=i\Delta Tt=iΔT
函数值近似为:
f(iΔT)f(i\Delta T)f(iΔT)
这一小段可以近似看成一个矩形。
它的:
- 宽度为 ΔT\Delta TΔT
- 高度为 f(iΔT)f(i\Delta T)f(iΔT)
因此面积为:
Ai=f(iΔT)ΔTA_i=f(i\Delta T)\Delta TAi=f(iΔT)ΔT
也就是说:
一个连续输入,可以近似拆成很多很窄的小矩形。
7. 从小矩形得到单位冲激
先构造一个宽度为 ΔT\Delta TΔT、高度为 1ΔT\frac{1}{\Delta T}ΔT1 的窄矩形。
它的面积为:
A=1ΔTΔT=1A=\frac{1}{\Delta T}\Delta T=1A=ΔT1ΔT=1
当:
ΔT→0\Delta T\rightarrow0ΔT→0
这个矩形会:
- 越来越窄;
- 越来越高;
- 面积始终保持为 111。
极限情况下:
δΔT(t)→δ(t)\delta_{\Delta T}(t)\rightarrow\delta(t)δΔT(t)→δ(t)
这里的 δ(t)\delta(t)δ(t) 就是狄拉克冲激。
它满足:
δ(t)=0,t≠0\delta(t)=0,\quad t\neq0δ(t)=0,t=0
同时:
∫−∞+∞δ(t) dt=1\int_{-\infty}^{+\infty}\delta(t)\,dt=1∫−∞+∞δ(t)dt=1
所以单位冲激最重要的特点是:
宽度趋近于 0,高度趋近于无穷,但是面积始终等于 1。
8. 用冲激表示输入的每一个小块
第 iii 个输入小矩形的面积为:
Ai=f(iΔT)ΔTA_i=f(i\Delta T)\Delta TAi=f(iΔT)ΔT
因此这一小块可以表示成一个发生在 iΔTi\Delta TiΔT 时刻的小冲激:
ΔTf(iΔT)δΔT(t−iΔT)\Delta T f(i\Delta T)\delta_{\Delta T}(t-i\Delta T)ΔTf(iΔT)δΔT(t−iΔT)
其中:
δΔT(t−iΔT)\delta_{\Delta T}(t-i\Delta T)δΔT(t−iΔT)
表示这个冲激被移动到了:
t=iΔTt=i\Delta Tt=iΔT
的位置。
于是整个输入可以近似表示为:
f(t)≈∑iΔTf(iΔT)δΔT(t−iΔT)f(t)\approx\sum_i\Delta T f(i\Delta T)\delta_{\Delta T}(t-i\Delta T)f(t)≈i∑ΔTf(iΔT)δΔT(t−iΔT)
这一步非常重要。
它表示:
任意复杂输入,都可以看成很多个发生在不同时刻、大小不同的小冲激的叠加。
9. 系统对单位冲激的响应
现在把:
δΔT(t)\delta_{\Delta T}(t)δΔT(t)
输入系统。
假设输出为:
hΔT(t)h_{\Delta T}(t)hΔT(t)
即:
δΔT(t)⟶hΔT(t)\delta_{\Delta T}(t)\longrightarrow h_{\Delta T}(t)δΔT(t)⟶hΔT(t)
当:
ΔT→0\Delta T\rightarrow0ΔT→0
输入趋近于:
δΔT(t)→δ(t)\delta_{\Delta T}(t)\rightarrow\delta(t)δΔT(t)→δ(t)
对应输出也趋近于:
hΔT(t)→h(t)h_{\Delta T}(t)\rightarrow h(t)hΔT(t)→h(t)
于是最终得到:
δ(t)⟶h(t)\delta(t)\longrightarrow h(t)δ(t)⟶h(t)
这里的 h(t)h(t)h(t) 就叫:
冲激响应 Impulse Response
也就是说:
给系统一个单位冲激,系统产生的输出,就是冲激响应 h(t)h(t)h(t)。
10. 利用时不变性
已经知道:
δΔT(t)⟶hΔT(t)\delta_{\Delta T}(t)\longrightarrow h_{\Delta T}(t)δΔT(t)⟶hΔT(t)
如果把输入延迟 iΔTi\Delta TiΔT:
δΔT(t−iΔT)\delta_{\Delta T}(t-i\Delta T)δΔT(t−iΔT)
由于系统是时不变系统,所以输出也延迟相同时间:
δΔT(t−iΔT)⟶hΔT(t−iΔT)\delta_{\Delta T}(t-i\Delta T)\longrightarrow h_{\Delta T}(t-i\Delta T)δΔT(t−iΔT)⟶hΔT(t−iΔT)
也就是说:
输入什么时候发生,响应波形就整体移动到什么时候。
11. 再利用线性
第 iii 个冲激的大小为:
Ai=ΔTf(iΔT)A_i=\Delta T f(i\Delta T)Ai=ΔTf(iΔT)
因此输入为:
AiδΔT(t−iΔT)A_i\delta_{\Delta T}(t-i\Delta T)AiδΔT(t−iΔT)
由于系统具有线性,所以输出也乘上相同系数:
AiδΔT(t−iΔT)⟶AihΔT(t−iΔT)A_i\delta_{\Delta T}(t-i\Delta T)\longrightarrow A_i h_{\Delta T}(t-i\Delta T)AiδΔT(t−iΔT)⟶AihΔT(t−iΔT)
代入 AiA_iAi:
ΔTf(iΔT)δΔT(t−iΔT)⟶ΔTf(iΔT)hΔT(t−iΔT)\Delta T f(i\Delta T)\delta_{\Delta T}(t-i\Delta T)\longrightarrow\Delta T f(i\Delta T)h_{\Delta T}(t-i\Delta T)ΔTf(iΔT)δΔT(t−iΔT)⟶ΔTf(iΔT)hΔT(t−iΔT)
12. 把所有小冲激的响应加起来
整个输入本来就是很多小冲激的叠加。
由于系统具有线性,所以总输出就是所有响应之和:
x(t)≈∑iΔTf(iΔT)hΔT(t−iΔT)x(t)\approx\sum_i\Delta T f(i\Delta T)h_{\Delta T}(t-i\Delta T)x(t)≈i∑ΔTf(iΔT)hΔT(t−iΔT)
这已经非常接近卷积了。
13. 从求和变成积分
令:
ΔT→0\Delta T\rightarrow0ΔT→0
把:
iΔTi\Delta TiΔT
记作:
τ\tauτ
于是:
iΔT→τi\Delta T\rightarrow\tauiΔT→τ
同时:
ΔT→dτ\Delta T\rightarrow d\tauΔT→dτ
并且:
hΔT(t)→h(t)h_{\Delta T}(t)\rightarrow h(t)hΔT(t)→h(t)
于是原来的求和:
∑iΔTf(iΔT)h(t−iΔT)\sum_i\Delta T f(i\Delta T)h(t-i\Delta T)i∑ΔTf(iΔT)h(t−iΔT)
变成积分:
x(t)=∫−∞+∞f(τ)h(t−τ) dτx(t)=\int_{-\infty}^{+\infty}f(\tau)h(t-\tau)\,d\taux(t)=∫−∞+∞f(τ)h(t−τ)dτ
于是:
x(t)=f(t)∗h(t)\boxed{x(t)=f(t)*h(t)}x(t)=f(t)∗h(t)
这就是卷积。
14. 因果系统中的卷积
对于实际物理系统,通常是因果系统。
所谓因果系统,就是:
未来的输入不能影响现在的输出。
如果输入从 t=0t=0t=0 开始,那么在当前时刻 ttt,只需要考虑:
0≤τ≤t0\leq\tau\leq t0≤τ≤t
因此:
x(t)=∫0tf(τ)h(t−τ) dτx(t)=\int_0^t f(\tau)h(t-\tau)\,d\taux(t)=∫0tf(τ)h(t−τ)dτ
也就是:
x(t)=∫0tf(τ)h(t−τ) dτ\boxed{x(t)=\int_0^t f(\tau)h(t-\tau)\,d\tau}x(t)=∫0tf(τ)h(t−τ)dτ
15. 卷积到底在算什么
卷积公式为:
x(t)=∫0tf(τ)h(t−τ) dτx(t)=\int_0^t f(\tau)h(t-\tau)\,d\taux(t)=∫0tf(τ)h(t−τ)dτ
假设过去某一个时刻为:
τ\tauτ
当时输入大小为:
f(τ)f(\tau)f(τ)
这一小段输入可以看成一个大小为:
f(τ)dτf(\tau)d\tauf(τ)dτ
的小冲激。
它发生在 τ\tauτ 时刻。
现在我们观察的是 ttt 时刻。
因此,从输入发生到当前时刻已经过去:
t−τt-\taut−τ
这么长时间。
系统在经历 t−τt-\taut−τ 时间后的响应就是:
h(t−τ)h(t-\tau)h(t−τ)
所以这一小段历史输入对当前输出造成的贡献为:
f(τ)h(t−τ)dτf(\tau)h(t-\tau)d\tauf(τ)h(t−τ)dτ
然后把所有历史时刻的贡献全部加起来:
x(t)=∫0tf(τ)h(t−τ) dτx(t)=\int_0^t f(\tau)h(t-\tau)\,d\taux(t)=∫0tf(τ)h(t−τ)dτ
因此:
卷积就是把过去所有输入在当前时刻留下的影响全部加起来。
16. 为什么卷积里面是 h(t−τ)h(t-\tau)h(t−τ)
假设在 t=0t=0t=0 时输入一个冲激:
δ(t)\delta(t)δ(t)
系统响应为:
h(t)h(t)h(t)
如果冲激不是发生在 000 时刻,而是发生在 τ\tauτ 时刻:
δ(t−τ)\delta(t-\tau)δ(t−τ)
因为系统具有时不变性,所以响应也整体延迟 τ\tauτ:
δ(t−τ)⟶h(t−τ)\delta(t-\tau)\longrightarrow h(t-\tau)δ(t−τ)⟶h(t−τ)
其中:
t−τt-\taut−τ
表示:
从输入发生到当前观察时刻 ttt,已经过去了多少时间。
所以 h(t−τ)h(t-\tau)h(t−τ) 的含义就是:
在 τ\tauτ 时刻发生的输入,到当前 ttt 时刻,它产生的响应发展到了什么程度。
17. 一个简单例子
假设系统冲激响应为:
h(t)h(t)h(t)
分别在:
t=0t=0t=0
t=1t=1t=1
t=2t=2t=2
输入三个冲激。
那么它们分别产生:
h(t)h(t)h(t)
h(t−1)h(t-1)h(t−1)
h(t−2)h(t-2)h(t−2)
如果三个冲激大小分别为:
A0,A1,A2A_0,\quad A_1,\quad A_2A0,A1,A2
根据线性叠加:
x(t)=A0h(t)+A1h(t−1)+A2h(t−2)x(t)=A_0h(t)+A_1h(t-1)+A_2h(t-2)x(t)=A0h(t)+A1h(t−1)+A2h(t−2)
如果这样的冲激越来越多,时间间隔越来越小,最终就得到:
x(t)=∫f(τ)h(t−τ) dτx(t)=\int f(\tau)h(t-\tau)\,d\taux(t)=∫f(τ)h(t−τ)dτ
这就是卷积。
18. 为什么冲激响应可以完整描述一个 LTI 系统
任意输入都可以表示成:
f(t)=∫−∞+∞f(τ)δ(t−τ) dτf(t)=\int_{-\infty}^{+\infty}f(\tau)\delta(t-\tau)\,d\tauf(t)=∫−∞+∞f(τ)δ(t−τ)dτ
也就是说:
任意输入都可以看成无数个平移、缩放后的单位冲激叠加而成。
对于一个 LTI 系统:
δ(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−τ)dτ⟶f(τ)h(t−τ)dτf(\tau)\delta(t-\tau)d\tau\longrightarrow f(\tau)h(t-\tau)d\tauf(τ)δ(t−τ)dτ⟶f(τ)h(t−τ)dτ
最后把所有响应叠加:
x(t)=∫−∞+∞f(τ)h(t−τ) dτx(t)=\int_{-\infty}^{+\infty}f(\tau)h(t-\tau)\,d\taux(t)=∫−∞+∞f(τ)h(t−τ)dτ
所以:
x(t)=f(t)∗h(t)\boxed{x(t)=f(t)*h(t)}x(t)=f(t)∗h(t)
因此:
对于一个 LTI 系统,只要知道冲激响应 h(t)h(t)h(t),就可以计算任意输入对应的输出。
也可以说:
h(t)h(t)h(t) 完整描述了一个 LTI 系统的动态特性。
19. 冲激响应与传递函数的关系
传递函数定义为:
H(s)=X(s)F(s)H(s)=\frac{X(s)}{F(s)}H(s)=F(s)X(s)
现在给系统输入一个单位冲激:
f(t)=δ(t)f(t)=\delta(t)f(t)=δ(t)
因为:
L{δ(t)}=1\mathcal{L}\{\delta(t)\}=1L{δ(t)}=1
所以:
F(s)=1F(s)=1F(s)=1
又因为:
X(s)=F(s)H(s)X(s)=F(s)H(s)X(s)=F(s)H(s)
所以:
X(s)=H(s)X(s)=H(s)X(s)=H(s)
而此时系统输出就是冲激响应:
x(t)=h(t)x(t)=h(t)x(t)=h(t)
因此:
H(s)=L{h(t)}\boxed{H(s)=\mathcal{L}\{h(t)\}}H(s)=L{h(t)}
反过来:
h(t)=L−1{H(s)}\boxed{h(t)=\mathcal{L}^{-1}\{H(s)\}}h(t)=L−1{H(s)}
因此:
传递函数 H(s)H(s)H(s) 和冲激响应 h(t)h(t)h(t) 描述的是同一个系统。
区别只是:
- h(t)h(t)h(t):系统的时域描述
- H(s)H(s)H(s):系统的复频域描述
20. 整条逻辑链
整个卷积推导可以总结为下面几步。
第一步:系统是 LTI 系统
系统具有:
- 线性
- 时不变
因此可以使用:
- 缩放
- 平移
- 叠加
第二步:求系统的单位冲激响应
δ(t)⟶h(t)\delta(t)\longrightarrow h(t)δ(t)⟶h(t)
第三步:把任意输入拆成无数个冲激
f(t)=∫f(τ)δ(t−τ) dτf(t)=\int f(\tau)\delta(t-\tau)\,d\tauf(t)=∫f(τ)δ(t−τ)dτ
第四步:每一个冲激分别产生响应
f(τ)δ(t−τ)dτ⟶f(τ)h(t−τ)dτf(\tau)\delta(t-\tau)d\tau\longrightarrow f(\tau)h(t-\tau)d\tauf(τ)δ(t−τ)dτ⟶f(τ)h(t−τ)dτ
第五步:把所有响应叠加起来
x(t)=∫f(τ)h(t−τ) dτx(t)=\int f(\tau)h(t-\tau)\,d\taux(t)=∫f(τ)h(t−τ)dτ
所以:
x(t)=f(t)∗h(t)\boxed{x(t)=f(t)*h(t)}x(t)=f(t)∗h(t)
21. 从拉普拉斯角度再看一次
时域中:
x(t)=f(t)∗h(t)x(t)=f(t)*h(t)x(t)=f(t)∗h(t)
经过拉普拉斯变换:
X(s)=F(s)H(s)X(s)=F(s)H(s)X(s)=F(s)H(s)
对应关系如下:
| 时域 | 拉普拉斯域 |
|---|---|
| 输入 f(t)f(t)f(t) | F(s)F(s)F(s) |
| 冲激响应 h(t)h(t)h(t) | 传递函数 H(s)H(s)H(s) |
| 输出 x(t)x(t)x(t) | X(s)X(s)X(s) |
| 卷积 f(t)∗h(t)f(t)*h(t)f(t)∗h(t) | 乘法 F(s)H(s)F(s)H(s)F(s)H(s) |
因此:
f(t)∗h(t)⟺F(s)H(s)f(t)*h(t)\Longleftrightarrow F(s)H(s)f(t)∗h(t)⟺F(s)H(s)
这就是拉普拉斯变换解决 LTI 系统问题非常方便的原因:
时域中的卷积,在拉普拉斯域中变成了普通乘法。
22. 卷积为什么体现系统的记忆
对于因果系统:
x(t)=∫0tf(τ)h(t−τ) dτx(t)=\int_0^t f(\tau)h(t-\tau)\,d\taux(t)=∫0tf(τ)h(t−τ)dτ
可以发现,当前输出:
x(t)x(t)x(t)
并不仅仅取决于当前输入:
f(t)f(t)f(t)
还取决于过去所有时刻的输入:
f(τ)f(\tau)f(τ)
其中:
0≤τ≤t0\leq\tau\leq t0≤τ≤t
所以:
当前输出,是过去所有输入留下的影响叠加起来的结果。
以弹簧-质量-阻尼系统为例。
即使现在已经撤掉外力,物体仍然可能继续运动,因为:
- 质量块具有速度;
- 弹簧储存了势能;
- 系统还保留着之前输入造成的状态。
这就是系统的记忆性。
而冲激响应 h(t)h(t)h(t) 描述的是:
一个瞬间输入对系统造成的影响,会怎样随着时间演化、振荡和衰减。
23. 一个直观例子:房间混响
假设:
f(t)f(t)f(t)
是人的原始声音。
一个房间可以近似看成一个 LTI 系统。
如果在房间中产生一个极短的声音:
δ(t)\delta(t)δ(t)
房间会产生:
- 直接声
- 第一次反射
- 第二次反射
- 后续逐渐衰减的混响
这些响应组合起来就是:
h(t)h(t)h(t)
也叫:
Room Impulse Response
当真正的语音 f(t)f(t)f(t) 进入房间以后,最终听到的声音就是:
x(t)=f(t)∗h(t)x(t)=f(t)*h(t)x(t)=f(t)∗h(t)
例如 MATLAB:
matlab
IR = audioread('IR.wav');
talk = audioread('talk.wav');
mix = conv(talk, IR);
sound(mix, 44100);
其中:
talk:原始语音IR:房间冲激响应mix:经过房间后的声音
本质上就是:
把语音在每一个时刻激发出的房间响应全部叠加起来。
24. 对卷积最重要的直觉
不要只把卷积理解成一个数学公式:
x(t)=∫f(τ)h(t−τ) dτx(t)=\int f(\tau)h(t-\tau)\,d\taux(t)=∫f(τ)h(t−τ)dτ
更应该理解成:
输入在过去的每一个时刻,都相当于激发了一次系统。
过去 τ\tauτ 时刻的输入大小为:
f(τ)f(\tau)f(τ)
它对当前时刻产生的响应为:
f(τ)h(t−τ)f(\tau)h(t-\tau)f(τ)h(t−τ)
然后把所有历史输入产生的响应全部加起来,就得到当前输出:
x(t)x(t)x(t)
所以:
当前输出 = 所有历史输入造成的当前影响之和
25. 最终总结
LTI 系统中为什么会出现卷积,本质上只有三步。
1. 任意输入都可以拆成无数个冲激
f(t)=∫f(τ)δ(t−τ) dτf(t)=\int f(\tau)\delta(t-\tau)\,d\tauf(t)=∫f(τ)δ(t−τ)dτ
2. 系统对每一个冲激的响应都可以确定
δ(t−τ)⟶h(t−τ)\delta(t-\tau)\longrightarrow h(t-\tau)δ(t−τ)⟶h(t−τ)
3. 利用线性把所有响应叠加起来
x(t)=∫f(τ)h(t−τ) dτx(t)=\int f(\tau)h(t-\tau)\,d\taux(t)=∫f(τ)h(t−τ)dτ
所以:
x(t)=f(t)∗h(t)\boxed{x(t)=f(t)*h(t)}x(t)=f(t)∗h(t)
而在拉普拉斯域中:
X(s)=F(s)H(s)\boxed{X(s)=F(s)H(s)}X(s)=F(s)H(s)
同时:
h(t)=L−1{H(s)}\boxed{h(t)=\mathcal{L}^{-1}\{H(s)\}}h(t)=L−1{H(s)}
因此:
传递函数 H(s)H(s)H(s) 描述系统在复频域中的特性。
冲激响应 h(t)h(t)h(t) 描述同一个系统在时域中的特性。
卷积描述过去各个时刻的输入,如何共同形成当前输出。
卷积的直观理解
对于 LTI 系统,可以把输入看成许多发生在不同时刻的小冲激。
每个小冲激都会引起一次系统响应。由于系统具有时不变性,这些响应只是冲激响应 h(t)h(t)h(t) 在时间上的平移;由于系统具有线性,输入大小又会决定响应的幅值。
因此,当前时刻的输出,就是之前各个时刻输入所产生的响应叠加起来的结果:
x(t)=∫f(τ)h(t−τ) dτx(t)=\int f(\tau)h(t-\tau)\,d\taux(t)=∫f(τ)h(t−τ)dτ
这就是卷积。