例说信号与系统
我相信,大学修过《信号与系统》的学生,考试过后,恐怕只剩下“$\delta$函数、卷积、傅里叶变换、拉普拉斯变换”等连自己都不十分理解而又心存敬畏的概念和名词了,原因是多方面的,比如老师所选的教材,学生的数学功底以及教师的讲授方式等等。
《信号与系统》这门课,对于电子信息、通信工程专业学生而言,其重要性自不待言,所以,老师们都很费力地想把它教好,学生们也很痛苦地想把它学好,即便如此众志成城,结果却总差强人意。正所谓“革命尚未成功,同志仍须努力”,作为当事人,我有一个也许难以实现的宏愿,今天,我写下梗概,一来可以记录自己曾经的“年轻冲动”,二来可以作为一提纲或引言,待来年自己或志同道合者加以补充和完善。宏愿就是——
用一个实例为中心,引出《信号与系统》的基本思想和主要内容,用直观的方法阐述基本原理,该实例就是简谐运动:如图1所示,弹簧的左端固定在一墙壁上,另一端系一质量为$m$的小球,平衡位置为点$O$,小球受地面的阻力正比于小球的速度,为$fv$,弹簧的劲度系数为$k$。
假设将小球先拉至点$B$,然后放手让其运动,根据牛顿和胡克定律,小球的运动方程为
(1)\[mx'' + fx' + kx = 0\]
其中$x$为小球离开平衡位置的位移。在放手之后,小球的运动轨迹将会怎么样呢?显然与比例系数$f$和劲度系数$k$有关:
- 如果$f=0$,即小球与地面无摩擦力,根据牛顿第二定律,小球将在点$B$和$B'$之间来回摆动,永不停止;
- 如果地面阻力$fx'>0$,但又不是很大(姑且这么定性地表述),小球将会从$B$点越过$O$点向$B'$移动,由于地面阻力的存在,它将无法达到$B'$点,即会在$B'$点的右边某点停止下来,然后往右越过$O$点$\cdots$,如此以$O$点为中心往复运动,并且离开$O$点越来越近,最终停止在平衡点$O$;
- 如果地面阻力$fx'>0$,而且很大,小球离开$B$点后将向平衡点移动,由于阻力很大,小球不能越过平衡点,即小球由$B$点移动至$O$点即停止。
我们可以通过解微分方程(1)来定量地描述小球的运动轨迹,具体的解法可以参考相关书籍。
如果情况变得更复杂一点,假设有水平一外力$f(t)$作用于小球,小球的运动方程将变为
(2)\[mx'' + fx' + kx = f(t)\]
方程(2)称为线性非齐次微分方程,其对应的齐次方程为微分方程(1)。要求解微分方程(2),关键是寻找特解$y_p$(有代换法和指数偏移法),我们会发现,如果$f(t)$为正(余)弦函数或指数函数时,特解容易求得。这一事实主要源于正弦或指数函数的导数依然为自身(在这里不严格区分正弦和余弦),所以,单从线性非齐次微分方程的求解角度而言,我们希望$f(t)$为正(余)弦函数。
通过求解微分方程(2),可以引出系统的稳定性(与方程的特征根有关)、暂态响应、稳态响应及共振等概念。
但在许多实际应用场合中,方程(2)右端的$f(t)$(我们称之为输入)未必就是特讨人喜欢的正弦函数,比如$f(t)$为周期方波(现在还不是讨论非周期信号的时候),如果直接求解方程(2),会觉得力不从心。由于微分算子是线性的,一个暗示就是,如果我们能将输入$f(t)$表示为一系列(不同频率)正弦函数之和,问题就明朗多了,因为每一个正弦分量作为输入,很容易求得相应的响应,由线性可知,输入之和的响应,等于各分量作为输入的各响应之和。现在的关键问题是,一般的周期信号能表示为一系列正弦函数之和吗?该傅里叶级数出场了,具体内容,此处略。
其实,真正的周期信号是不存在的,因为实际的输入在时间上不可能无穷尽,因此,我们不得不面对非周期信号,如何处理呢?我们已经有了周期信号的傅里叶级数表示法,如果假设其周期无穷大,信号就变成了时间有限的非周期信号了,通过这种方式,很容易推导出傅里叶变换。
以上讨论的$f(t)$都算正常的函数。试想,如果一颗子弹沿弹簧方向水平射向小球,将会发生什么情况呢?我们知道,子弹作用于小球的时间将很短很短(假设小球很硬,硬到连子弹都奈何不了它),但力量是很大很大的,如果以极限的思想来看这一问题,可以假设作用时间无穷小,作用力无穷大,但冲量为一有限值(不妨假设为1),这样的输入(函数)不是通常意义下的函数,我们称它为广义函数,教材中将其记为$\delta(t)$,即冲激函数。
引入$\delta(t)$函数的意义是什么呢?也许不是十分明朗。在离散时间系统中,与之对应的是单位脉冲$\delta[n]$,而将一个任意的离散序列$x[n]$表示为$\delta[n]$的移位、加权和是很简单的一件事,即$x[n] = \sum\limits_{k = - \infty }^{ + \infty } {x[k]\delta [n - k]} $,也就是说,在时域中,任意序列都可以分解为单位脉冲$\delta[n]$的移位加权和,相应地,对于连续时间信号$f(t)$,也可以分解为单位冲激$\delta(t)$的“移位加权和”,当然,在连续时间情况下,就是积分了。
有了信号的时域分解,对于LTI系统,如果已知输入为$\delta[n]$,系统输出为$h[n]$,则对于任意输入$x[n]$,很容易求得系统的响应为$y[n] = \sum\limits_{k = - \infty }^{ + \infty } {x[k]\delta [n - k]}$(完全依据线性时不变系统的定义推导而得,也只有完全根据定义推导,才能体现出卷积的物理含义!),这就是卷积和,信号与系统课程中极为重要的概念。在连续时间系统中,对应的就是卷积积分(关于卷积,可以做一个专题,从它的历史、定义、计算方法及应用等方面阐述,比如放射性垃圾剩余量的问题:已知某放射性垃圾的衰减函数为$e^{-kt}$,而倾倒速率为$f(t)$,则在时刻$t$放射性物质的剩余量即是一个卷积问题),个人认为,卷积和比卷积积分理解起来要容易得多,但国内的教材似乎从来不在乎这一点,一开始就一头扎进令人抓狂的$\delta(t)$函数,接着解一堆微分方程,$\delta(t)$平衡法,吧喇叭拉……
至此,我们应该已经引入了信号的时域分解、卷积、单位冲激(脉冲)响应、傅里叶级数、傅里叶变换,但在讨论傅里叶变换时,收敛性是一个关键性问题,为了拓广其适用范围,引入拉普拉斯变换是必要的,对应离散时间系统,傅里叶变换的推广就是z变换,事实上,拉普拉斯变换可以将(带初值的)微分方程化为代数方程代数方程进行求解,因此,单从微分方程求解这一点来看,引入拉普拉斯变换更是功德无量,z变换对于解差分方程有同样重要的地位。当然,我们不能忽视拉普拉斯变换和z变换在分析系统特性时的作用,比如系统的稳定性、因果性,它们与系统的极点分布直接相关,因此,在学习拉普拉斯变换和z变换时,重要的不是掌握正变换、逆变换的计算,而是零极点分布对系统特性的影响,掌握用几何的方法定性分析系统特性,这对于理解滤波器设计十分重要。
以上杂乱无章地码了一堆文字,压根看不出“提纲”的样子,也许是我不喜欢听任国内某些著名教材的安排,又不能自成体系,结果只能不知云云了。