常系数线性微分方程的冲激函数系数平衡法
一. 导言¶
在连续信号与LTI的时域分析中,我们经常碰到这样一类常系数线性微分方程:
其中\(e(t)\)是系统激励,\(r(t)\)是系统响应。
如果说\(e(t)\)是\(e(t)=e^{t}\),\(e(t)=\sin{t}\),\(e(t)=\cos{t}\)
这样的的函数形式,那么我们利用常系数线性微分方程的一般解法可以很快求出解。
但是当\(e(t)=\delta(t)\)(冲激函数)时,如果我们不采用傅里叶变换或者拉普拉斯变化,只想用常系数线性微分方程的经典解法求解的话,情况就有所不同了。
本章主要研究,如何应用常系数线性微分方程的经典解法,去求解非齐次项含有冲激项(指冲激函数及其各阶导数)的情况。
请注意,如果应用傅里叶变换去解决这个问题的话,情况将会变得很简单。这也是为什么傅里叶变换在信号与系统分析中很重要的原因之一。但在此处,我们不理会傅里叶变换如何解决方程非齐次项含有冲激项的情况,这里,我们关注的是,时域解法能否优雅地解决这个问题。
二. 冲激函数系数平衡法¶
我们以这道例题为例,
求零状态响应。
2.1 齐次解¶
该方程的特征方程为:
特征根为:
故齐次解为:
$\(c_1e^{-t}+c_2e^{-3t}\)$
其中\(c_1,c_2\)为待定系数
2.2 特解¶
注意到非齐次项只有在\(t=0\)才有一个冲激,而在信号与系统分析中,我们关注的是\(t>0\)的情况,此时非齐次项已为0,故特解应该设为:
其中\(B\)为常数,且代入方程得:
故特解为:
2.3 为什么需要冲激函数系数平衡法?¶
在进行分析之前,先给大家回答一个问题:什么是起始条件?什么又是初始条件?
初始条件就是,系统响应在零时刻的值。这么说其实不太准确,但是这个概念本身就没有严格的文字定义。大家只需要记住,如果系统的响应为\(r(t)\),那么:
初始条件就是:
起始条件就是:
我们是根据初始条件,来确定微分方程的解中的齐次解部分的待定系数的(比如上面的\(c_1,c_2\))。
在一般情况下,初始条件与起始条件是完全相等的, 即:
比如某一表示为常系数线性微分方程:
的线性时不变系统。
在高等数学和数学分析范围内,只要函数不存在间断点,那么式(2)也是严格成立的。但是,在信号与系统分析研究的范围内,初始条件与起始条件不一定相同,问题就出现在:
冲激函数
当非齐次项包含冲激函数\(\delta(t)\)或者冲激函数的各阶导数项\(\delta^{(n)}(t)\)时,会造成初始条件与起始条件的不等!,即:系统响应不满足:
或者说,系统的响应\(r(t)\)在0时刻有跳变!
因此,当常系数线性微分方程的非齐次项出现冲激函数\(\delta(t)\)或者冲激函数的各阶导数项\(\delta^{(n)}(t)\)时,我们需要有一种方法,来帮助我们基于\(r(0^{-}),r'(0^{-}),...,r^{(n)}(0^-)\),来确定:\(r(0^{+}),r'(0^{+}),...,r^{(n)}(0^+)\),这个方法就是————冲激函数系数平衡法
2.4 冲激函数系数平衡法¶
我们以方程(1):
为例,带领大家学习如何根据方程的形式,并根据起始条件(\(r^{(n)}(0^-)\)),确定初始条件(\(r^{(n)}(0^+)\)),即求系统响应在0时刻的跳变量。
题目要求零状态响应,意思就是起始条件全为0,即:
题目出现了\(r(t), r'(t), r''(t)\),以及冲激项\(δ'(t), δ''(t)\)。
因此我们假设\(r(t), r'(t)\) 都是有跳变的。(这里为什么不假设\(r''(t)\)也有跳变,请见下)
此外,有可能\(r(t), r'(t)\)其实实际上是没有跳变的,或者说跳变为0,这需要我们求解之后才知
道。
既然我们承认\(r(t), r'(t)\)有跳变,那么其函数形式必然含有冲激项,即:\(δ(t), δ'(t), δ''(t)\)...(其实
是应该至少含有\(δ(t)\))
既然这样,我们不妨采用待定系数法, 先假设出函数形式,然后回代方程,积分求解待定系
数。
这里的\(r(t)\)与\(r'(t)\)都可能有跳变,那我们设出谁的函数形式比较方便呢?———都不是。
为什么都不是?因为\(r'(t)\)的跳变需要由\(r''(t)\)积分求出!
因此结论是:设出原方程最高阶导数的函数形式比较方便,因为高阶导数必然包含最高阶冲
激项,并且这个最高阶冲激项的系数与右式的最高阶冲激项相同。
因此,根据上述分析, 在本题目中,我们有:
积分可得:
请注意,有两个点特别需要关注:
1.我们这里设出的\(r(t)\)以及\(r^{(n)}(t)\),仅仅是为了求出在0时刻的跳变量而假设的函数形式,并不对应真正的函数形式。
2. 上式“\(r''(t)=\delta'(t)+A\delta(t)+...\)”,“\(r'(t)=\delta(t)+...\)”,“\(r(t)=...\)”中的省略号代表\(\delta(t)\)的原函数\(u(t)\),由于在求跳变量是在\(0^- - 0^+\)区间上积分,其积分结果为0,故直接省略。
代入方程(1):
得:
因此:
故:
$\(r'(0^+)=-2,r(0^+)=1\)$
至此,我们就根据原微分方程得形式,求出了响应得跳变量。请读者回顾这一过程。
2.5 求解方程¶
综上过程,我们已经获得了齐次解:
特解:
故完全解为:
以及初始条件:
将初始条件代入完全解,即可解得:
故原方程解为:
2.6* 验证¶
注:本节内容是利用后续课程中更便捷的工具——傅里叶变换,来验证我们的求解结果。如果读者尚未学过傅里叶变换,可直接忽略本节。
本质上,我们是在求该系统的单位冲激响应,所以我们只需要对该系统的频率响应进行傅里叶反变换即可求出方程的解。
根据常系数线性微分方程(1)的方程形式,可以直接写出该LTI的频率响应为:
进行傅里叶反变换,得到:
与我们在之前得到的结果完全相同!这验证了我们冲激函数系数平衡法的正确性(同时也让我们了解到了频域分析方法在某种程度上强大的便捷性)
三. 例题¶
读者经过上述分析,相信已经学会了如何利用这种方法求得初始条件,下面再来看一道例题:
求跳变量:\(r^{(k)}(0^+)-r^{(k)}(0^-)\)
请读者自行解答,答案见下:
答案:\(r''(0^+)-r''(0^-)=6,r'(0^+)-r'(0^-)=-2,r(0^+)-r(0^-)=1\)
Enjoy Reading This Article?
Here are some more articles you might like to read next: