研究动态系统的输入与输出之间的关系可以帮助我们了解动态系统的本质。对于线性时不变系统而言,其输入与输出之间是 卷积 (Convolution)关系,即系统的输入会对未来一段时间之内的系统输出产生影响。做一个直观的比喻,向平静的水中扔一颗石子,水面会产生涟漪。如果在第一次涟漪消失之前,向水中的同一位置再扔一颗石子,那么这两次产生的涟漪便会叠加在一起。在这个例子中,扔石子这个动作是系统的输入,产生的涟漪是系统的输出。因此,某个时刻的涟漪是前面几次石子入水后叠加的效果。这个叠加用数学语言表示即为卷积,下面将通过一个例子推导卷积的公式,一步步揭开卷积的面纱,从而了解动态系统的本质。
考虑一个在日常生活中最常见到的线性欠阻尼弹簧,如图2.1.1(a)所示,弹簧力与压缩程度成正比(线性),而且不管在什么时间去压缩或者拉伸这个弹簧,它的动态特性都不变(时不变),因此这是一个线性时不变系统。定义系统的输出为弹簧位移 x ( t ) ,向上为正方向,系统的输入为外力 u ( t ) 。在没有外力的作用下,弹簧会静止在其平衡位置。如果对弹簧施加一个短暂的向上外力 u ( t ) ,如图2.1.1(b)所示,弹簧的位移 x ( t ) 会不断地振动并衰减,最终回到平衡位置。
下面请读者思考一个问题,当系统的输入 u ( t ) 连续不间断地作用在弹簧上时(如图2.1.1(c)所示),弹簧的位移 x ( t ) 将如何变化?
图2.1.1 欠阻尼弹簧系统的输入输出响应
这并不是一个很容易回答的问题。为了便于研究,首先将
u
(
t
)
近似地划分为三个离散型的输入
和
,如图2.1.2(a)所示的三个小区域块,其中每一块的宽度为Δ
T
。
图2.1.2 弹簧系统连续输入离散化及其响应
当这三个离散的输入分别作用在系统上时,其对应的输出是
和
。因为这是一个线性时不变系统,所以三个输出的形状相同,它们之间只存在延迟和幅度上的差别,如图2.1.2(b)所示。当这三个离散的输入接连作用在系统上时,系统的输出为
图2.1.3所示的虚线部分显示了这三个输出叠加后的系统输出结果。
图2.1.3
和
x
(
t
)
随时间的变化
上述例子直观地描述了离散系统输出叠加的概念。若要使用数学方法对其进行深入剖析,首先要得到
和
以及
和
的表达式,掌握这些信息后便可以将其从离散形式推广到连续形式,得到
u
(
t
)
与
x
(
t
)
的关系。
为了找到输入
和
的数学表达式,需要引入
单位冲激函数
(Unit Impulse),又称
狄拉克函数
(Dirac Delta),其定义为
式(2.1.2)所描述的单位冲激函数是一个宽度为0、面积为1的函数,这是一个纯数学函数,无法在现实生活中找到,但我们可以通过一个辅助函数来理解它。如图2.1.4(a)所示的单位脉冲方波
,它的宽度为Δ
T
,长度为
,面积为
,可以理解为它包含了1个单位面积的能量。想象从右边将这个方框压扁,但面积保持不变。当宽度Δ
T
不断缩小时,长度
会不断变长,直到宽度为0时,
。
图2.1.4 单位脉冲方波及其响应
当
作用在上述弹簧系统上时,系统对其响应如图2.1.4(b)所示,定义为
。根据线性时不变系统的性质,如果系统的输入是
(它代表
A
倍单位面积的
在延迟了
T
之后作用到系统中),则系统的输出是
。
如图2.1.5所示,
和
中分别包含的面积为
A
0
、
A
1
和
A
2
。以
A
2
为例,它的高是连续函数
u
(
t
)
在2Δ
T
时刻的值
u
(2Δ
T
)
,宽是Δ
T
,可得
同时,
作用在系统的时间延迟了2Δ
T
,因此
图2.1.5 单位冲激函数和冲激响应
动态系统对于式(2.1.4)的响应为
式(2.1.5)说明
是扩大了
A
2
=
u
(2Δ
T
)
Δ
T
倍且延迟了2Δ
T
的响应
。
同理,可以得到
和
及其对应的输出,分别为
将式(2.1.5)和式(2.1.7)代入式(2.1.1),得到
即
现在将图2.1.2(a)中的划分间隔Δ T 缩小,将其划成( n +1)个小区域块,则式(2.1.8)可以写成
式(2.1.9)是 卷积 的离散表达形式。令Δ T →0,便可以得到卷积的连续表达形式。根据积分的定义,可得
其中, h ( t ) 是系统对于冲激函数 δ ( t ) 的 冲激响应 (Impulse Response)。式(2.1.10)可以用框图表示,如图2.1.6所示。
图2.1.6 动态系统输入与输出的卷积关系
通过式(2.1.10)和图2.1.6可以得出,冲激响应 h ( t ) 包含了线性时不变系统的全部特性。
关于这个性质,读者可以尝试做一个有趣的实验。首先寻找一个空旷的地方,例如操场或者礼堂。然后扎破一个气球或者用力拍手,要保证时间很短但能量很大,这样就制造了一个冲激输入。然后用麦克风录制下这个声音,得到这个地方的冲激响应。之后,可以把其他的声音和这个冲激响应做卷积运算,就可以模拟这个地方的混响了。有很多的公司都会在音乐厅最好的位置采集素材,合成到唱片当中,由此创造出一种身临其境的感觉。
请参考代码2.1:2-1_Convolution_Example.m。