天天看點

《MATLAB信号處理超級學習手冊》——2.4 連續時間系統的時域分析

本節書摘來自異步社群《matlab信号處理超級學習手冊》一書中的第2章,第2.4節,作者:matlab技術聯盟 , 史潔玉著,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視

matlab信号處理超級學習手冊

2.4.1 連續時間系統求解

連續時間線性非時變系統(lti)可以用如下的線性常系數微分方程來描述:

《MATLAB信号處理超級學習手冊》——2.4 連續時間系統的時域分析

系統的響應一般包括兩個部分,即由目前輸入所産生的響應(零狀态響應)和由曆史輸入(初始狀态)所産生的響應(零輸入響應)。

對于低階系統,一般可以通過解析的方法得到響應。但是,對于高階系統,手工計算就比較困難,這時matlab強大的計算功能就比較容易确定系統的各種響應,如沖激響應、階躍、零狀态響應、全響應等。

涉及到的matlab函數有:impulse(沖激響應)、step(階躍)、roots(零輸入響應)、lsim(零狀态響應)等。在matlab中,要求以系統向量的形式輸入系統的微分方程,是以,在使用前必須對系統的微分方程進行變換,得到其傳遞函數。其分别用向量a和b表示分母多項式和分子多項式的系數(按照s的降幂排列)。

根據系統的機關沖激響應,利用卷積計算的方法,也可以計算任意輸入狀态下系統的零狀态響應。設一個線性零狀态系統,已知系統的機關沖激響應為h(t),當系統的激勵信号為f(t)時,系統的零狀态響應為:

《MATLAB信号處理超級學習手冊》——2.4 連續時間系統的時域分析

式中y zs(k)、f(k)、h(k)分别對應以t為時間間隔對連續時間信号y zs(t)、f(t)和h(t)進行采樣得到的離散序列。

2.4.2 連續時間系統數值求解

在matlab中,控制系統工具箱提供了一個用于求解零初始條件微分方程數值解的函數lsim。其調用格式:

y=lsim(sys,f,t)

式中,t表示計算系統響應的抽樣點向量,f是系統輸入信号向量,sys是lti系統模型,用來表示微分方程、差分方程或狀态方程。其調用格式:

sys=tf(b,a)

式中,b和a分别是微分方程的右端和左端系數向量。例如,對于以下方程:

《MATLAB信号處理超級學習手冊》——2.4 連續時間系統的時域分析

可用a = [a_3 ,a_2 ,a_1 ,a_0 ];b = [b_3 ,b_2 ,b_1 ,b_0 ]; sys = tf(b,a) 獲得其lti模型。注意,如果微分方程的左端或右端表達式中有缺項,則其向量a或b中的對應元素應為零,不能省略不寫,否則出錯。

【例2-23】有一實體學系統,用微分方程描述為 y^{''} (t) + 2y^' (t) + 100y(t) = 10sin 2pi t ,求系統的零狀态響應。運作程式如下:

運作結果如圖2-23所示。

《MATLAB信号處理超級學習手冊》——2.4 連續時間系統的時域分析

在matlab中,求解系統沖激響應可應用控制系統工具箱個提供的函數impulse,求解階躍響應可利用函數step,其調用形式為:

y=impulse(sys,t)

y=step(sys,t)

式中,t表示計算系統響應的抽樣點向量,sys是lti系統模型。

【例2-24】計算下述系統在沖激、階躍、斜坡、正弦激勵下的零狀态響應:

《MATLAB信号處理超級學習手冊》——2.4 連續時間系統的時域分析

運作程式如下:

運作程式如圖2-24所示。

《MATLAB信号處理超級學習手冊》——2.4 連續時間系統的時域分析

2.4.3 連續時間系統符号求解

連續時間系統可以使用常系數微分方程來描述,其完全響應由零輸入響應和零狀态響應組成。matlab符号工具箱提供了dsolve函數,可以實作對常系數微分方程的符号求解,其調用格式為:

dsolve('eq1,eq2…','cond1,cond2,…','v')

其中,參數eq表示各個微分方程,它與matlab符号表達式的輸入基本相同,微分和導數的輸入是使用dy,d2y,d3y來表示y的一價導數,二階導數,三階導數;參數cond表示初始條件或者起始條件;參數v表示自變量,預設是變量t。

通過使用dsolve函數可以求出系統微分方程的零輸入響應和零狀态響應,進而求出完全響應。

【例2-25】已知某線性時不變系統的動态方程為:y''(t) + 4y'(t) + 4y(t) = 2f'(t) + 3f(t), t>0系統的初始狀态為y(0) = 0,y'(0) = 1, 求系統的零輸入響應y x(t)。

運作結果如圖2-25所示。

《MATLAB信号處理超級學習手冊》——2.4 連續時間系統的時域分析

2.4.4 連續時間系統卷積求解

信号的卷積運算有符号算法和數值算法,此處采用數值計算法,需調用matlab的conv函數近似計算信号的卷積積分。連續信号的卷積積分定義是:

《MATLAB信号處理超級學習手冊》——2.4 連續時間系統的時域分析

上式表明,連續信号f 1(t)和f 2(t)的卷積,可用各自抽樣後的離散時間序列的卷積再乘以抽樣間隔Δ。抽樣間隔delta 越小,誤差越小。

【例2-26】用數值計算法求f_1 (t) = u(t) - u(t - 2) 與f_2 (t) = e^{ - 3t} u(t) 的卷積積分。

運作結果如圖2-26所示。

《MATLAB信号處理超級學習手冊》——2.4 連續時間系統的時域分析

繼續閱讀