版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 連續(xù)系統(tǒng)StateSpaceModel函數(shù)分析方法程序設(shè)計(jì)</p><p> [摘要]采用Mathematica的StateSpaceModel分析方法,分析求解低階連續(xù)系統(tǒng)并編寫通用的低階連續(xù)系統(tǒng)解析解求解程序,用實(shí)例展示程序的用法和程序求解連續(xù)系統(tǒng)的高效率。</p><p> [關(guān)鍵字]連續(xù)系統(tǒng);Mathematica程序;StateSpaceModel函數(shù);
2、解析解</p><p> Continuous system StaeSpaceModel function analysis method of program design</p><p> Abstract:Using Mathematica StateSpaceModel analysis, discussion and analysis meth
3、od of low order continuous system, and the preparation of low order general continuous system analytical solution procedure, With the example of efficient use and program solver for continuous systems </p><p&g
4、t; Key word: Continuous System ; Mathematica program ; State Space Model function; analytical solution</p><p><b> 引言</b></p><p> 隨著科學(xué)技術(shù)的不斷進(jìn)步,越來(lái)越多的儀器儀表和民用產(chǎn)品的智能化程度也越高,任何智能化設(shè)備的研發(fā),都離不
5、開對(duì)設(shè)備和產(chǎn)品進(jìn)行精確的控制,這些控制大多數(shù)都是通過電子電路組成的動(dòng)態(tài)LTI連續(xù)時(shí)域系統(tǒng)來(lái)實(shí)現(xiàn)的。要設(shè)計(jì)一款高性價(jià)比的產(chǎn)品,必須經(jīng)歷對(duì)控制電路的反復(fù)研究修改,也即要反復(fù)求解動(dòng)態(tài)控制電路在給定類型的輸入信號(hào)激勵(lì)下的響應(yīng),以期達(dá)到最佳性價(jià)比。當(dāng)控制電路比較復(fù)雜時(shí),這樣的分析求解就變得非常復(fù)雜。于是編程完成分析就顯得十分重要。</p><p> 求解線性動(dòng)態(tài)時(shí)不變系統(tǒng)的解析形式的響應(yīng),是一件非常棘手的工作,而且對(duì)于復(fù)
6、雜系統(tǒng)因?yàn)閿?shù)據(jù)誤差導(dǎo)致解析解有可能解不出來(lái)。所以,編程求解復(fù)雜系統(tǒng)是一個(gè)必然的趨勢(shì)。為了降低編程的難度和代價(jià),我們學(xué)習(xí)了WolfRam公司最新版的Mathematica9.0.1軟件中的系統(tǒng)分析方法相關(guān)內(nèi)建函數(shù)TransferFunctionModel、StateSpaceModel、OutputResponse、StateResponse等函數(shù),發(fā)現(xiàn)這一批函數(shù)內(nèi)部集成了世界一流的求解分析動(dòng)態(tài)系統(tǒng)的優(yōu)秀算法,用來(lái)建模求解、分析LTI連續(xù)
7、、離散動(dòng)態(tài)系統(tǒng)非常得心應(yīng)手,于是我選擇了“連續(xù)系統(tǒng)StateSpaceModel函數(shù)分析方法程序設(shè)計(jì)”這一畢業(yè)設(shè)計(jì)題目。</p><p> MATLAB的Simulink建模分析求解連續(xù)LTI動(dòng)態(tài)系統(tǒng),一是要先構(gòu)建模塊文件并設(shè)置系統(tǒng)結(jié)構(gòu)參數(shù)和運(yùn)行參數(shù),二是要編寫MATLAB程序文件,在其中調(diào)用模塊文件求解系統(tǒng),三是只能給出動(dòng)態(tài)LTI連續(xù)系統(tǒng)的數(shù)值解。</p><p> Mathemat
8、ica的建模方法就簡(jiǎn)潔的多,一是先根據(jù)系統(tǒng)拓?fù)浣Y(jié)構(gòu)和元件參數(shù)構(gòu)建或計(jì)算出系統(tǒng)的s域系統(tǒng)函數(shù)H[s],二是調(diào)用Mathematica的內(nèi)建函數(shù)TransferFunctionModel、StateSpaceModel創(chuàng)建系統(tǒng)的傳遞函數(shù)模型函數(shù)和狀態(tài)空間模型函數(shù),三是調(diào)用Mathematica的內(nèi)建函數(shù)OutputResponse分別求出系統(tǒng)的解析形式的零輸入響應(yīng)yzi(t)和零狀態(tài)響應(yīng)yzs(t),然后再對(duì)響應(yīng)做各種必要的分析的表示。整個(gè)
9、分析求解過程不需要建立圖形化的模塊文件,也不需要設(shè)置運(yùn)行參數(shù),提取分析結(jié)果相對(duì)Matlab來(lái)說(shuō)極為簡(jiǎn)單。</p><p> 正是基于以一理由,我選擇了自己的畢業(yè)設(shè)計(jì)課題。</p><p> 1 Simulink建模求解LTI系統(tǒng)的思路</p><p> 為了比較Mathematica的建模分析方法與MATLAB的建模分析方法的優(yōu)缺點(diǎn),我們先簡(jiǎn)單介紹Matlab
10、的Simulink建模分析連續(xù)LTI動(dòng)態(tài)系統(tǒng)的基本步驟。</p><p> Simulink簡(jiǎn)介</p><p> Simulink是一個(gè)用來(lái)對(duì)動(dòng)態(tài)系統(tǒng)進(jìn)行建模、仿真和分析的軟件包,是MATLAB的重要組成部分。它用于可視化的系統(tǒng)仿真,采用系統(tǒng)模塊直觀的描述系統(tǒng)典型環(huán)節(jié)。因此可以十分方便的建立系統(tǒng)而不需要花較多時(shí)間編程。Simulink分析和仿真各種動(dòng)態(tài)系統(tǒng)(包括連續(xù)系統(tǒng)、離散系統(tǒng)和混
11、合系統(tǒng)),它提供了一種圖形化的交互環(huán)境。</p><p> Simulink提供建立系統(tǒng)模型、選擇仿真參數(shù)和數(shù)值算法、啟動(dòng)仿真程序?qū)υ撓到y(tǒng)進(jìn)行仿真、設(shè)置不同的輸出方式來(lái)觀察仿真結(jié)果等功[4]。</p><p> Simulink提供了豐富的模塊庫(kù)以幫助用戶快速的建立起動(dòng)態(tài)系統(tǒng)模型。建模時(shí)只需要使用鼠標(biāo)拖放不同模塊庫(kù)中的系統(tǒng)模型并將它們連接起來(lái)。它外表以方塊圖形式呈現(xiàn),且采用分層結(jié)構(gòu)。S
12、imulink框圖提供了交互式很強(qiáng)的仿真環(huán)境,既可以通過下拉菜單執(zhí)行,也可以通過命令進(jìn)行仿真。</p><p> Simulink的特點(diǎn):</p><p> ?。?)基于矩陣的數(shù)值計(jì)算;</p><p> ?。?)高級(jí)編程語(yǔ)言;</p><p> ?。?)圖形與可視化;</p><p> ?。?)工具箱提供面向具體應(yīng)
13、用領(lǐng)域的功能;</p><p> ?。?)豐富的I/O工具;</p><p> ?。?)提供與其他高級(jí)語(yǔ)言的接口;</p><p> ?。?)支持多平臺(tái)(PC/Macintosh/UNIX)</p><p> (8)開放與可擴(kuò)展的體系結(jié)構(gòu)。</p><p> 1.2 Simulink建模方法步驟</p>
14、<p> 1.2.1分離元件建模方法步驟</p><p> 一般用于結(jié)構(gòu)比較簡(jiǎn)單的系統(tǒng)的分析計(jì)算。</p><p> ?。?)寫出系統(tǒng)的微分方程;</p><p> (2)根據(jù)系統(tǒng)微分方程畫出系統(tǒng)框圖;</p><p> (3)把畫出的框圖用Simulink中的分離原件進(jìn)行仿真組合(分離原件建模)。</p>
15、<p><b> 例如:</b></p><p><b> 系統(tǒng)的微分方程為</b></p><p> 畫出系統(tǒng)的框圖如圖1.1:</p><p> 圖 1.1 系統(tǒng)框圖</p><p> 分立元件仿真模塊圖如圖1.2:</p><p> 圖 1.2二
16、階系統(tǒng)分離元件仿真模塊圖</p><p> 仿真模塊圖構(gòu)造好以后設(shè)置各元件參數(shù),運(yùn)行求解即可。</p><p> 1.2.2用傳遞函數(shù)建立系統(tǒng)仿真模塊文件的方法</p><p> 如果系統(tǒng)很復(fù)雜的話我們用離散建模的方法來(lái)求解系統(tǒng)的時(shí)候,我們所創(chuàng)建的模塊文件的結(jié)構(gòu)就會(huì)比較復(fù)雜,費(fèi)時(shí)費(fèi)力也不利于我們的研究分析。所以在系統(tǒng)比較復(fù)雜的情況下我們用以下方法:</p
17、><p> ?。?)首先寫出系統(tǒng)的微分方程;</p><p> (2)用拉普拉斯變換求解出系統(tǒng)S域的系統(tǒng)函數(shù)(傳遞函數(shù));</p><p> ?。?)利用傳遞函數(shù)建模。</p><p> 建模主要分為三部分:</p><p> ?。?)輸入信號(hào)(信號(hào)源);</p><p> ?。?)傳遞函數(shù)模塊
18、;</p><p> ?。?)數(shù)據(jù)顯示或提取部分。</p><p><b> 例如:</b></p><p><b> 系統(tǒng)微分方程為:</b></p><p> 對(duì)函數(shù)取拉布拉斯變換得:</p><p><b> 由上式可得到:</b><
19、/p><p><b> 化簡(jiǎn)上式:</b></p><p><b> 得到傳遞函數(shù):</b></p><p> 構(gòu)造傳輸函數(shù)仿真模塊如圖1.3:</p><p> 圖1.3 傳輸函數(shù)仿真模塊圖</p><p> 輸入各元件參數(shù),進(jìn)行求解即可。</p>&l
20、t;p> 1.2.3用狀態(tài)空間矩陣創(chuàng)建系統(tǒng)仿真模塊文件的方法</p><p> 使用狀態(tài)空間模型的方法求解連續(xù)系統(tǒng)的優(yōu)點(diǎn)是,此方法可以設(shè)置系統(tǒng)的初值可以直接求得系統(tǒng)的零輸入響應(yīng),進(jìn)而得到連續(xù)系統(tǒng)的完全解。</p><p> ?。?)建立微分方程;</p><p> ?。?)將微分方程轉(zhuǎn)化成為狀態(tài)方程;</p><p> ?。?)利用
21、狀態(tài)方程建模。</p><p><b> 建模主要為三部分:</b></p><p> ?。?)輸入信號(hào)(信號(hào)源);</p><p> ?。?)狀態(tài)空間模塊;</p><p> ?。?)數(shù)據(jù)的顯示或提取部分。</p><p> 用MATLAB建立狀態(tài)空間函數(shù)的方法示例:</p>
22、<p> num = [1 2]; *系數(shù)從高到低排列*</p><p> den = [1 7 12]; </p><p> mytf = tf(num,den); *構(gòu)造傳遞函數(shù)*</p><p> [A,B,C,D] = tf2ss(num,den); *構(gòu)造空間狀態(tài)模型*</p><p> 1.2.4
23、Simulink方法解的特點(diǎn)及其適用范圍</p><p> Simulink方法解的特點(diǎn):</p><p> Simulink的求解方法所計(jì)算出來(lái)的系統(tǒng)所有解都為數(shù)值解,解出的是給定時(shí)間點(diǎn)上的響應(yīng)信號(hào)的采樣值,而不是解析函數(shù)的形式,要想得到系統(tǒng)輸出信號(hào)的時(shí)域演化規(guī)律,還必須再做進(jìn)一步的反復(fù)建模和數(shù)據(jù)擬合。Simulink在對(duì)連續(xù)系統(tǒng)進(jìn)行求解時(shí),其核心是對(duì)系統(tǒng)微分或者偏微分方程進(jìn)行求解。
24、因此,使用Simulink對(duì)連續(xù)系統(tǒng)進(jìn)行求解仿真時(shí)所得到的結(jié)果均為近似解,只要此近似解在一定的誤差范圍內(nèi)便可。該誤差是與其系統(tǒng)的采樣間隔有關(guān)系,采樣間隔大的話誤差就大,采樣間隔小了,誤差就比較小。我們可以利用Simulink求解出來(lái)的數(shù)值解的折線圖來(lái)得到系統(tǒng)隨時(shí)間變化的趨勢(shì),無(wú)法得到系統(tǒng)的解隨著時(shí)間變化的關(guān)系或者規(guī)律。</p><p> Simulink方法適用范圍:</p><p>
25、 該方法可以求解線性和非線性系統(tǒng),即連續(xù)系統(tǒng)。但是因?yàn)镾imulink方法求解出的是數(shù)值解,所以在使用該方法求解連續(xù)系統(tǒng)的過程中,系統(tǒng)結(jié)構(gòu)必須要是給定的,而且模型中各個(gè)部件的參數(shù)值都必須是給定的,不能含有取值待定的參數(shù)。參數(shù)給定后微分方程、系統(tǒng)函數(shù)等才能確定,才能使用該方法求解系統(tǒng)。所以,對(duì)于系統(tǒng)結(jié)果未知或者含有未知參數(shù)的系統(tǒng),該方法不適用。</p><p> 2構(gòu)造狀態(tài)空間模型的方法</p>&
26、lt;p> 2.1構(gòu)造系統(tǒng)狀態(tài)空間模型的理論方法</p><p> 狀態(tài)空間模型的理論求解法如下:</p><p> 以一個(gè)二階連續(xù)系統(tǒng)為例2.1:</p><p> 根據(jù)系統(tǒng)函數(shù)寫出系統(tǒng)的微分方程:</p><p><b> 我們令:</b></p><p><b>
27、 可以得到:</b></p><p> 為了更加簡(jiǎn)便的計(jì)算我們寫成如下的形式:</p><p><b> 令:</b></p><p><b> 得到:</b></p><p><b> 令</b></p><p><b>
28、 那么就得到:</b></p><p> 2.2用Matlab內(nèi)部函數(shù)構(gòu)造系統(tǒng)狀態(tài)空間矩陣的方法 </p><p> MATLAB方法就是我們上述介紹的Simulink中的第三種方法,是通過編程語(yǔ)句的形式來(lái)實(shí)現(xiàn)狀態(tài)空間矩陣的構(gòu)造。</p><p> 以例2.1的系統(tǒng)函數(shù)來(lái)創(chuàng)建:</p><p> num = [1 2];
29、 *系數(shù)從高到低排列*</p><p> den = [1 7 12]; </p><p> mytf = tf(num,den); *構(gòu)造傳遞函數(shù)*</p><p> [A,B,C,D] = tf2ss(num,den); *構(gòu)造狀態(tài)空間模型*</p><p> 運(yùn)行之后即輸出四個(gè)矩陣:</p><p
30、> A = -7 -12</p><p><b> 0</b></p><p><b> B = 1</b></p><p><b> 0</b></p><p> C = 1 2</p><p><b> D
31、 = 0</b></p><p> 這四個(gè)矩陣即為系統(tǒng)的狀態(tài)空間矩陣。</p><p> 2. 3 用Mathematica內(nèi)部函數(shù)構(gòu)造系統(tǒng)狀態(tài)空間模型的方法</p><p><b> 傳遞函數(shù)構(gòu)造法。</b></p><p> 在Mathematica中使用傳遞函數(shù)必須有初值,所以傳遞函數(shù)無(wú)法直接
32、求解系統(tǒng)的零輸入響應(yīng)。為了可以求解系統(tǒng)的零輸入響應(yīng),我們就要通過傳遞函數(shù)來(lái)得到系統(tǒng)的狀態(tài)空間模型。再去進(jìn)一步的求解,用如下的方法:</p><p><b> 程序:</b></p><p> Clear[mytf,y]; </p><p> H[s_]=5(s+2)/(s^2+7s+12); </p><p>
33、 mytf=TransferFunctionModel[H[s],s]; </p><p> ss=StateSpaceModel[mytf]; </p><p> yzi[t_]=StateResponse[{ss,{5,2}},0,t][[1]];</p><p> 3 用StateSpaceModel方法求解LTI系統(tǒng)的思路</p>&l
34、t;p> 我們研究狀態(tài)空間模型求解連續(xù)系統(tǒng)的方法是為了方便、快捷、高效率的去解決實(shí)際生活中的問題。實(shí)際生活中的系統(tǒng)往往是很復(fù)雜的,人工求解是非常困難且費(fèi)力的,所以我們從實(shí)際的問題出發(fā)去研究狀態(tài)空間模型的求解方法,希望能得到一個(gè)低成本、高效率的方法去解決實(shí)際中復(fù)雜的連續(xù)系統(tǒng)。Mathematica是一款科學(xué)計(jì)算軟件,很好地結(jié)合了數(shù)值和符號(hào)計(jì)算引擎、圖形系統(tǒng)、編程語(yǔ)言、文本系統(tǒng)、和與其他應(yīng)用程序的高級(jí)連接。用Mathematica的
35、StateSpaceModel函數(shù)求解LTI系統(tǒng)時(shí)方便又快捷。</p><p> 3.1 StateSpaceModel函數(shù)簡(jiǎn)介</p><p> StateSpaceModel翻譯成中文就是空間狀態(tài)模型的意思,它是Mathematica軟件的一個(gè)內(nèi)部函數(shù),這個(gè)函數(shù)包含的內(nèi)容非常的豐富。狀態(tài)空間模型既可以求解連續(xù)系統(tǒng)也可以求解離散系統(tǒng)。這里我們主要討論的是StateSpaceModel
36、求解LTI系統(tǒng)的方法和思路。</p><p> StateSpaceModel基本語(yǔ)法:</p><p> ?。?)StateSpaceModel[{a,b,c,d}] </p><p> 表示狀態(tài)矩陣為a、輸入矩陣為b、輸出矩陣為 c 和轉(zhuǎn)移矩陣為 d 的狀態(tài)空間模型.</p><p>
37、 ?。?)StateSpaceModel[{a,b,c,d,e}]</p><p> 表示具有描述器矩陣 e 的描述器狀態(tài)空間模型.</p><p> (3)StateSpaceModel[tfm]</p><p> 給出正則(proper)TransferFunctionModel 對(duì)象 tf 的狀態(tài)空間實(shí)現(xiàn)
38、.</p><p> ?。?)StateSpaceModel[{f, g}, {{x1, x10}, ...}, {{u1, u10}, ...}]</p><p> 給出通過函數(shù) 或者函數(shù) 關(guān)于點(diǎn) 的泰勒線性化而取得的狀態(tài)空間模型.</p><p> ?。?)
39、StateSpaceModel[eqns, {{x1, x10}, {x2, x20}, ...}, {{u1, u10}, {u2, u20}, ...}, y, ]</p><p> 給出通過輸出為 y、自變量為 的常微分或者差分方程 eqns 關(guān)于點(diǎn) 的
40、泰勒線性化而取得的狀態(tài)空間模型。</p><p> ?。?)StateSpaceModel 可以表示連續(xù)時(shí)間或者離散時(shí)間中的標(biāo)量和多變量系統(tǒng).</p><p> 時(shí)間延遲可以用任意狀態(tài)空間模型表示,通過在任意矩陣中使用 SystemsModelDelay.</p><p> 由方程 建模,并且具有狀態(tài) 控制輸入
41、 和輸出 的連續(xù)時(shí)間系統(tǒng)可以指定為 StateSpaceModel[{a, b, c, d}].</p><p> 由方程 建模,并且具有狀態(tài) 控制輸入 輸出 和采樣周期的離散時(shí)間系統(tǒng)可以指定為 StateSpaceModel[{a, b, c, d
42、},SamplingPeriod→].</p><p> 3.2求解連續(xù)LTI動(dòng)態(tài)系統(tǒng)解析解的思路和步驟</p><p> 使用StateSpaceModel函數(shù)的方法求解連續(xù)系統(tǒng)的時(shí)候不需要系統(tǒng)的微分方程。而是用系統(tǒng)函數(shù)對(duì)系統(tǒng)進(jìn)行求解。該方法的出發(fā)點(diǎn)就是通過拉普拉斯變換將實(shí)際問題映射到S域中進(jìn)行求解。</p><p> 對(duì)于一般系統(tǒng)求解步驟:</p&g
43、t;<p> (1)用拉普拉斯變換寫出系統(tǒng)的象域代數(shù)方程;</p><p> ?。?)對(duì)信號(hào)源取拉普拉斯變換;</p><p> ?。?)解代數(shù)方程,得到信號(hào)源與要研究對(duì)象的關(guān)系式;</p><p> ?。?)寫出傳遞函數(shù)并用傳遞函數(shù)構(gòu)造狀態(tài)空間模型;</p><p> ?。?)求解系統(tǒng)響應(yīng);</p><p
44、> (6)畫出各響應(yīng)部分的圖形。</p><p><b> 對(duì)于LC電路來(lái)說(shuō):</b></p><p> (1)將系統(tǒng)映射到S域;</p><p> (2)寫出電路各部分的等效電阻;</p><p> ?。?)計(jì)算得到信號(hào)源與要研究對(duì)象的關(guān)系式;</p><p> ?。?)計(jì)算求解出
45、系統(tǒng)的傳遞函數(shù);</p><p> ?。?)用傳遞函數(shù)構(gòu)造狀態(tài)空間模型;</p><p> (6)使用狀態(tài)空間模型求解系統(tǒng)。</p><p> 下面,我們以一個(gè)二階系統(tǒng)為例理論上來(lái)討論求解LTI系統(tǒng)的思路:</p><p> 二階系統(tǒng)的微分方程為:</p><p> 我們將求解步驟中的1、2兩步同時(shí)進(jìn)行,對(duì)等式
46、兩邊同時(shí)取拉普拉斯變換,如下所示:</p><p> 整理上式得到代數(shù)方程:</p><p> 化簡(jiǎn)代數(shù)方程得到傳遞函數(shù):</p><p> 最后,我們用求解出來(lái)的傳遞函數(shù)構(gòu)造狀態(tài)空間模型,并用狀態(tài)空間模型以及傳遞函數(shù)來(lái)求解系統(tǒng)的響應(yīng)。</p><p> 4用StateSpaceModel方法求解LTI系統(tǒng)的程序設(shè)計(jì)思路</p&
47、gt;<p> 上一個(gè)部分我們主要討論的事理論上求解LTI系統(tǒng)的思路,下面我們來(lái)整理程序設(shè)計(jì)的思路,對(duì)于求解LTI系統(tǒng)來(lái)設(shè)計(jì)一個(gè)通用的程序。</p><p> 程序設(shè)計(jì)主演分為兩大部分。</p><p> 程序設(shè)計(jì)的第一部分為求解系統(tǒng)的傳遞函數(shù),省去繁瑣的手動(dòng)計(jì)算過程,將所有的繁瑣計(jì)算全部利用編碼交給計(jì)算機(jī)來(lái)做,用Mathematica強(qiáng)大的計(jì)算功能來(lái)代替人力計(jì)算得到系
48、統(tǒng)的傳遞函數(shù)。</p><p> 程序的第二部分為求解系統(tǒng)的響應(yīng):</p><p> 連續(xù)系統(tǒng)的完全響應(yīng)也可以分為零輸入響應(yīng)和零狀態(tài)響應(yīng)。</p><p> 零輸入響應(yīng)是激勵(lì)為零時(shí)僅由系統(tǒng)的初始狀態(tài){x(0)}所引起的響應(yīng),用表示。</p><p> 零狀態(tài)響應(yīng)是系統(tǒng)的初始狀態(tài)為零時(shí),僅由輸入信號(hào)引起的響應(yīng),用表示。</p>
49、;<p> 如果系統(tǒng)的初始狀態(tài)不為零,在激勵(lì)的作用下,LTI系統(tǒng)的響應(yīng)為全響應(yīng),它是零輸入響應(yīng)與零狀態(tài)響應(yīng)之和。</p><p> 在第二部分程序設(shè)計(jì)中,我們利用第一部分程序求解出來(lái)的傳遞函數(shù)調(diào)用TransferFunctionModel函數(shù)來(lái)構(gòu)造系統(tǒng)的傳遞函數(shù)模型。然后,我們調(diào)用StateSpaceModel函數(shù)用系統(tǒng)的傳遞函數(shù)模型來(lái)進(jìn)一步構(gòu)造系統(tǒng)的狀態(tài)空間函數(shù)模型。最后,我們就可以調(diào)用Out
50、putResponse函數(shù)直接使用系統(tǒng)的狀態(tài)空間函數(shù)模型來(lái)求解系統(tǒng)的零輸入響應(yīng)、用傳遞函數(shù)模型或者狀態(tài)空間函數(shù)模型求解系統(tǒng)的零狀態(tài)響應(yīng),最后得到系統(tǒng)的完全響應(yīng),再對(duì)系統(tǒng)進(jìn)行分析研究。</p><p> 整理完編程思路我們就可以進(jìn)行完整的程序設(shè)計(jì)。</p><p> 以下是求解三階連續(xù)LTI系統(tǒng)的完整程序設(shè)計(jì):</p><p> Clear["y*&q
51、uot;, "t*", "s*", H];(*清除定義的符號(hào)及其數(shù)值*)</p><p> {R1, R2, R3, c1, c2, L} = {10, 70, 1000, 10^-3, 2*10^-3, 0.1}</p><p> {p, q, r} = {0.1, 0.2, -0.1};</p><p> z1 =
52、R3/(1 + R3 c2 s);</p><p> z2 = z1 + R2 + L s;</p><p> z3 = z2/(z2 c1 s + 1);</p><p> u1 = z3/(z3 + R1) us;</p><p> u2 = z1/z2 z3/(z3 + R1) us;</p><p>
53、 H[s_] = Simplify[u2/us];</p><p> Plot[{Abs[H[I 2π f]], 0.5}, {f, 0, 10}, PlotRange→All, </p><p> AxesLabel→{"f/Hz", "|H(f)|"}, AxesOrigin→{0, 0}]</p><p> f[t
54、_] = 10 Cos[2πt +π/4] + 5 Cos[4πt +π/4] + </p><p> 2 Cos[20πt +π/4] + 2 Cos[80πt +π/4] + 1.1 Cos[200πt +π/4];</p><p> F[s_] = LaplaceTransform[f[t], t, s];</p><p> Plot[f[t], {t,
55、 0, 1}, AxesLabel→{"t/sec", "f(t)"}]</p><p> tfun = TransferFunctionModel[H[s], s](*連續(xù)系統(tǒng)傳遞函數(shù)模型*)</p><p> ss = StateSpaceModel[tfun](*連續(xù)系統(tǒng)狀態(tài)空間函數(shù)模型*)</p><p> yz
56、i[t_] = Chop[Expand[OutputResponse[{ss, {p, q, r}}, 0, t][[1]]], 10^-6];(*零輸入*)</p><p> Print["yzi(t)=", yzi[t]];</p><p> Plot[yzi[t], {t, 0, 1}, PlotRange→All, AxesLabel→{"t&qu
57、ot;, "yzi(t)"}]</p><p> yzs[t_] = Chop[OutputResponse[tfun, f[t], t][[1]] // ExpandAll, 10^-6];</p><p> Print["yzs(t)=", yzs[t]];</p><p> Plot[yzs[t], {t, 0,
58、1}, PlotRange→All, AxesLabel→{"t", "yzs(t)"}]</p><p> Plot[yzi[t] + yzs[t], {t, 0, 1}, PlotRange→All, </p><p> AxesLabel→{"t", "y(t)"}]</p><p
59、> 5 StateSpaceModel求解LTI系統(tǒng)程序的應(yīng)用</p><p><b> 5.1程序應(yīng)用示例</b></p><p> 程序設(shè)計(jì)完后我們就可以將其應(yīng)用于實(shí)例當(dāng)中去求解相應(yīng)的連續(xù)LTI系統(tǒng),下面我們以一個(gè)三階的LC電路為實(shí)例,對(duì)此三階系統(tǒng)進(jìn)行求解分析。如下圖:</p><p> Us(t)
60、 U(t)</p><p> 圖5.1 系統(tǒng)電路圖</p><p> 這是一個(gè)比較復(fù)雜的三階系統(tǒng),為了便于分析求解我們要將電感以及電容等效為電阻,畫出這個(gè)電路的S域等效電路圖,如下圖5.2所示:</p><p> 圖5.2 三階系統(tǒng)S域等效電路圖</p>
61、;<p> 根據(jù)等效電路圖得到電路各部分等效電阻為:</p><p><b> 節(jié)點(diǎn)①的電壓為:</b></p><p><b> 節(jié)點(diǎn)②的電壓即為:</b></p><p> 傳遞函數(shù)(系統(tǒng)函數(shù))為:</p><p> 以上分析思路的求解過程我們用編碼的方式完成,交給計(jì)算機(jī)
62、去計(jì)算。</p><p> 電路各部件參數(shù)分別為:</p><p><b> 程序運(yùn)行結(jié)果:</b></p><p> 以下是求解上述三階電路的程序運(yùn)行各結(jié)果圖:</p><p> 圖5.3 幅頻特性曲線圖 圖5.4 系統(tǒng)輸入信號(hào)圖</p><
63、p> 由圖5.3可以看出此三階系統(tǒng)是一個(gè)低通濾波器,而且通頻帶很小,不到2Hz。超過2Hz的都逐漸開始衰減。留下的頻率成分很小都是不超過2Hz的,超過2Hz的頻率成分都舍去不要。</p><p> 如圖5.4所示是這個(gè)三階系統(tǒng)的輸入信號(hào),可以看出信號(hào)中摻雜著很多高頻成分,是個(gè)比較復(fù)雜的信號(hào)源。我們要對(duì)這個(gè)復(fù)雜的輸入信號(hào)進(jìn)行處理。</p><p> 圖5.5 系統(tǒng)傳遞函數(shù)和系統(tǒng)狀
64、態(tài)函數(shù)模型矩陣圖</p><p> 如圖5.5所示,是Mathematica程序計(jì)算出的該三階系統(tǒng)的傳遞函數(shù)H[s]以及經(jīng)過傳遞函數(shù)方法構(gòu)造的該系統(tǒng)的狀態(tài)空間函數(shù)模型。</p><p> 圖5.6 系統(tǒng)零輸入響應(yīng)圖 圖5.7 系統(tǒng)零狀態(tài)響應(yīng)圖</p><p> 如圖5.6所示是系統(tǒng)的零輸入響應(yīng)計(jì)算結(jié)
65、果與零輸入響應(yīng)曲線圖。此程序設(shè)計(jì)中我們是利用傳遞函數(shù)創(chuàng)建系統(tǒng)狀態(tài)空間模型來(lái)對(duì)零輸入狀態(tài)進(jìn)行求解的。</p><p> 如圖5.7所示是系統(tǒng)零狀態(tài)響應(yīng)曲線圖,我們可以看出經(jīng)過此低通濾波器,過濾掉高頻成分之后的信號(hào)曲線看起來(lái)光滑了很多。我用程序設(shè)計(jì)的方法使這個(gè)三階系統(tǒng)實(shí)現(xiàn)了自己低通濾波的功能,我們?cè)趯?shí)際的應(yīng)用中也可以使用該系統(tǒng)對(duì)信號(hào)進(jìn)行處理。</p><p> 5.2 StateSpace
66、Model方法與LapLace逆變換方法的比較</p><p> 求解此連續(xù)系統(tǒng)的零狀態(tài)響應(yīng)除了我們程序中所展示的方法之外還有另外一種方法可以對(duì)此連續(xù)系統(tǒng)的零狀態(tài)進(jìn)行求解,即LapLace的逆變換求解方法,我們對(duì)這兩種方法求解連續(xù)系統(tǒng)進(jìn)行一個(gè)簡(jiǎn)單的比較。</p><p> LapLace逆變換的求解方法部分代碼如下:</p><p> yzs2[t] = In
67、verseLaplaceTransform[H[s] F[s], s, t] // Simplify</p><p> p1 = Chop[Take[yzs2[t], {1, 3}], 10^-6];</p><p> p2 = Simplify[TrigReduce[ExpToTrig[yzs2[t] - p1]] // Chop]</p><p> p =
68、 p1 + p2</p><p> 我們用該方法求解連續(xù)系統(tǒng)的零狀態(tài)響應(yīng),并且將其結(jié)果與狀態(tài)空間模型方法的求解結(jié)果進(jìn)行比較分析,看看兩種方法的不同。</p><p> 圖5.8拉布拉斯逆變換方法結(jié)果圖</p><p> 從結(jié)果圖5.8中我們可以看出,通過拉布拉斯逆變化的方法求解出來(lái)的計(jì)算結(jié)果是非常復(fù)雜的,含有大量的復(fù)函數(shù),程序設(shè)計(jì)中我們沒有辦法利用代碼對(duì)其結(jié)果
69、進(jìn)行簡(jiǎn)化,計(jì)算機(jī)無(wú)法識(shí)別其同類項(xiàng)。但是我們觀察其結(jié)果可以看出,對(duì)于這個(gè)結(jié)果的簡(jiǎn)化我們?nèi)斯さ倪M(jìn)行會(huì)更加的省時(shí)省力,運(yùn)用程序設(shè)計(jì)反而使其變得更加的麻煩費(fèi)力。所以對(duì)于求解連續(xù)系統(tǒng)的零狀態(tài)響應(yīng)來(lái)說(shuō),程序設(shè)計(jì)方法的求解我們還是傾向于狀態(tài)空間模型的方法,求解起來(lái)更省時(shí)省力,得到的計(jì)算結(jié)果也更加的簡(jiǎn)單。</p><p><b> 6結(jié)語(yǔ)</b></p><p> 本次畢業(yè)設(shè)計(jì)至
70、此已經(jīng)接近尾聲,在這幾個(gè)月的時(shí)間里,我通過利用Mathematica強(qiáng)大的數(shù)據(jù)運(yùn)算功能對(duì)于連續(xù)時(shí)間的復(fù)頻域分析進(jìn)行深入的研究。在整個(gè)設(shè)計(jì)過程中,我首先對(duì)于所學(xué)的基礎(chǔ)信號(hào)知識(shí)進(jìn)行溫習(xí)鞏固,比如S域、拉布拉斯變化、時(shí)域采樣、信號(hào)頻譜分析等;其次,整個(gè)實(shí)現(xiàn)過程是通過Mathematica軟件完成的,Mathematica軟件數(shù)學(xué)實(shí)現(xiàn)方法特別的強(qiáng),并且內(nèi)容豐富,操作簡(jiǎn)便。最后,通過此次畢業(yè)設(shè)計(jì),我對(duì)設(shè)計(jì)所用到的軟件有了更加深刻的認(rèn)識(shí),Mathe
71、matica不僅在數(shù)值計(jì)算方面的功能十分強(qiáng)大,而且其圖形仿真功能能夠滿足各個(gè)領(lǐng)域的需要,因此Mathematica已經(jīng)成為我們工作學(xué)習(xí)中不可或缺的軟件。</p><p> 由于Mathematica軟件是專業(yè)性較強(qiáng)的軟件,所以剛開始使用是比較困難的,通過老師的指導(dǎo)、翻閱了大量的相關(guān)資料,不能說(shuō)已經(jīng)掌握了Mathematica軟件的應(yīng)用,但是對(duì)一些基本知識(shí)是有所了解的, 在學(xué)習(xí)的過程中我們進(jìn)一步對(duì)Mat
72、hematica編程中的常用語(yǔ)句、過程已經(jīng)有了初步掌握。</p><p> 這次畢業(yè)設(shè)計(jì),使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。這次課程設(shè)計(jì)終于順利完成,在設(shè)計(jì)中遇到的運(yùn)行和調(diào)試問題,最后在老師的耐心指導(dǎo)下,終于游逆而解。在以后的學(xué)習(xí)過程中我要不段的學(xué)習(xí),不斷豐富自己
73、的知識(shí)。</p><p><b> 致謝</b></p><p> 歷時(shí)將近兩個(gè)月的時(shí)間終于將這篇論文寫完,在論文的寫作過程中遇到了許多的困難和障礙,都在老師和同學(xué)的幫助下克服了。尤其是要感謝指導(dǎo)老師—龍姝明老師,在我寫畢業(yè)論文之前有些需要運(yùn)用的知識(shí)還不是非常的清楚,老師在百忙之中對(duì)我們的程序以及我們的學(xué)習(xí)狀況都有很詳細(xì)的指導(dǎo),對(duì)以后的論文起到了很大的幫助。另外,
74、在校圖書館查找資料的時(shí)候,圖書館的老師也給我提供了很多方面的支持與幫助。在此向幫助和指導(dǎo)過我的各位老師、各位同學(xué)表示最衷心的感謝!感謝這篇論文所涉及到的各位學(xué)者。你們思想與成果給我極大多的幫助與啟發(fā),要不然將很難完成本篇論文的寫作。感謝我的朋友,在我寫論文的過程中給予我了很多你問素材,還在論文的撰寫和排版燈過程中提供熱情的幫助。 由于我的學(xué)術(shù)水平有限,所寫論文難免有不足之處,懇請(qǐng)各位老師和學(xué)友批評(píng)和指正!</p><
75、p><b> 參考文獻(xiàn)</b></p><p> [1] 孫云龍,張衛(wèi)東;深入Mathematica編程[J].淄博學(xué)院學(xué)報(bào)(自然科學(xué)與工程版).2000年02期</p><p> [2] 龍姝明,朱杰武.《數(shù)學(xué)物理方法》. 陜西人民教育出版社 2002年09月[3] 周麗杰,徐彬.δ函數(shù)匹配法在分析LTI系統(tǒng)中的應(yīng)用[J].
76、0;張家口師專學(xué)報(bào) 2003年06期 [4] 馬智超,羅春婭.利用MATLAB實(shí)現(xiàn)系統(tǒng)的頻域分析[J]. 大慶師范學(xué)院學(xué)報(bào) 2007年05期 [5] 王本周,基于狀態(tài)空間模型的時(shí)序數(shù)據(jù)的處理與分析研究.西南交通大學(xué) 2009年 [6] 劉玉瑩,張雋.淺談連續(xù)LTI系統(tǒng)數(shù)學(xué)模型的幾種求解方法[J]. 江西科技師范學(xué)院學(xué)報(bào) 2006年06期
77、60;[7] 李昌利,沈玉利.“信號(hào)與系統(tǒng)”課程教學(xué)中的幾點(diǎn)思考[J]. 高教論壇 2008年03期 [8] 焦方源.《信號(hào)與系統(tǒng)》理論教學(xué)中的幾種實(shí)用方法[J]. 綿陽(yáng)師范學(xué)院學(xué)報(bào) 2007年08期 [9] 高曉燕,劉曉燕.高職信號(hào)與系統(tǒng)教學(xué)研究[J]. 中國(guó)教育技術(shù)裝備 2009年14期 [10] 劉翠響,王寶珠,吳煥麗.信號(hào)與系統(tǒng)精品
78、課程建設(shè)的探索與實(shí)踐[J]. 河北工業(yè)大學(xué)成人教育學(xué)院學(xué)報(bào) 2006年03期 [11] 張睿.“信號(hào)與系統(tǒng)”輔導(dǎo)課的教學(xué)研究與實(shí)踐[J]. 合肥工業(yè)大學(xué)學(xué)報(bào)(社會(huì)</p><p> [13] Oppenheim, Alan V. Signals and Systems[M].Prentice Hall.2011年8月.</p><p> [14
79、] Min Q,Shizhen H. Research on Wavelet Threshold DENOISING Method Based on MATLAB[J].電子器件 ,2012年. </p><p><b> 附錄:</b></p><p> Clear["y*", "t*", "s*",
80、H];(*清除定義的符號(hào)及其數(shù)值*)</p><p> {R1, R2, R3, c1, c2, L} = {10, 70, 1000, 10^-3, 2*10^-3, 0.1}</p><p> {p, q, r} = {0.1, 0.2, -0.1};</p><p> z1 = R3/(1 + R3 c2 s);</p><p>
81、 z2 = z1 + R2 + L s;</p><p> z3 = z2/(z2 c1 s + 1);</p><p> u1 = z3/(z3 + R1) us;</p><p> u2 = z1/z2 z3/(z3 + R1) us;</p><p> H[s_] = Simplify[u2/us];</p>&
82、lt;p> Plot[{Abs[H[| 2π f|], 0.5}, {f, 0, 10}, PlotRange→All, </p><p> AxesLabel→{"f/Hz", "|H(f)|"}, AxesOrigin→{0, 0}]</p><p> f[t_] = 10 Cos[2πt +π/4] + 5 Cos[4πt +π/4
83、] + </p><p> 2 Cos[20πt +π/4] + 2 Cos[80πt +π/4] + 1.1 Cos[200πt +π/4];</p><p> F[s_] = LaplaceTransform[f[t], t, s];</p><p> Plot[f[t], {t, 0, 1}, AxesLabel→{"t/sec",
84、"f(t)"}]</p><p> tfun = TransferFunctionModel[H[s], s](*連續(xù)系統(tǒng)傳遞函數(shù)模型*)</p><p> ss = StateSpaceModel[tfun](*連續(xù)系統(tǒng)狀態(tài)空間函數(shù)模型*)</p><p> yzi[t_] = Chop[Expand[OutputResponse[{ss
85、, {p, q, r}}, 0, t][[1]]], 10^-6];(*零輸入*)</p><p> Print["yzi(t)=", yzi[t]];</p><p> Plot[yzi[t], {t, 0, 1}, PlotRange→All, AxesLabel→{"t", "yzi(t)"}]</p>&
86、lt;p> yzs[t_] = Chop[OutputResponse[tfun, f[t], t][[1]] // ExpandAll, 10^-6];</p><p> Print["yzs(t)=", yzs[t]];</p><p> Plot[yzs[t], {t, 0, 1}, PlotRange→All, AxesLabel→{"t&
87、quot;, "yzs(t)"}]</p><p> Plot[yzi[t] + yzs[t], {t, 0, 1}, PlotRange→All, </p><p> AxesLabel→{"t", "y(t)"}]</p><p><b> 附錄:</b></p>
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 連續(xù)系統(tǒng)statespacemodel函數(shù)分析方法程序設(shè)計(jì)【電信開題報(bào)告+任務(wù)書+翻譯+論文】
- 連續(xù)系統(tǒng)staespacemodel函數(shù)分析方法程序設(shè)計(jì)_任務(wù)書
- 連續(xù)系統(tǒng)simulink傳遞函數(shù)建模分析方法程序設(shè)計(jì)【電信開題報(bào)告+任務(wù)書+翻譯+論文】
- 連續(xù)系統(tǒng)transferfunctionmodel分析方法程序設(shè)計(jì)【電信開題報(bào)告+任務(wù)書+翻譯+論文】
- 作業(yè)5 程序設(shè)計(jì)_函數(shù)
- 學(xué)生管理系統(tǒng)的分析與程序設(shè)計(jì)方法
- visualbasic程序設(shè)計(jì)復(fù)習(xí)題定稿
- 續(xù)系統(tǒng)transferfunctionmodel分析方法程序設(shè)計(jì)_任務(wù)書
- c語(yǔ)言程序設(shè)計(jì)函數(shù)劉
- 實(shí)驗(yàn)七函數(shù)程序設(shè)計(jì)(1)
- 連續(xù)系統(tǒng)simulink狀態(tài)空間建模分析方法程序設(shè)計(jì)【電信開題報(bào)告+任務(wù)書+翻譯+論文】
- 腦電數(shù)據(jù)的函數(shù)分析方法.pdf
- 連續(xù)潮流的程序設(shè)計(jì)外文翻譯(中文)
- 用函數(shù)實(shí)現(xiàn)模塊化程序設(shè)計(jì)
- php 程序設(shè)計(jì) 編程 函數(shù) 命令 學(xué)習(xí) 一
- php 程序設(shè)計(jì) 編程 函數(shù) 命令 學(xué)習(xí) 二
- 連續(xù)系統(tǒng)時(shí)域數(shù)值解法程序設(shè)計(jì)(NDSole)任務(wù)書.doc
- 電力系統(tǒng)分析潮流計(jì)算課程序設(shè)計(jì)及其matlab程序設(shè)計(jì)
- 程序設(shè)計(jì)方法教學(xué)大綱
- python程序設(shè)計(jì)思想與方法
評(píng)論
0/150
提交評(píng)論