《Simulink高級技術(shù)》PPT課件_第1頁
《Simulink高級技術(shù)》PPT課件_第2頁
《Simulink高級技術(shù)》PPT課件_第3頁
《Simulink高級技術(shù)》PPT課件_第4頁
《Simulink高級技術(shù)》PPT課件_第5頁
已閱讀5頁,還剩121頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、Simulink高級技術(shù)高級技術(shù)1 Simulink求解器概念求解器概念2 系統(tǒng)過零的概念與解決方案系統(tǒng)過零的概念與解決方案3 系統(tǒng)代數(shù)環(huán)的概念與解決方案系統(tǒng)代數(shù)環(huán)的概念與解決方案4 高級積分器高級積分器 5 仿真參數(shù)設(shè)置:高級選項與診斷選項仿真參數(shù)設(shè)置:高級選項與診斷選項1 Simulink求解器概念 1.1 離散求解器 第3章中簡單介紹了動態(tài)系統(tǒng)的模型及其描述,其中指出,離散系統(tǒng)的動態(tài)行為一般可以由差分方程描述。眾所周知,離散系統(tǒng)的輸入與輸出僅在離散的時刻上取值,系統(tǒng)狀態(tài)每隔固定的時間才更新一次;而Simulink對離散系統(tǒng)的仿真核心是對離散系統(tǒng)差分方程的求解。 在對純粹的離散系統(tǒng)進(jìn)行仿真

2、時,需要選擇離散求解器對其進(jìn)行求解。用戶只需選擇Simulink仿真參數(shù)設(shè)置對話框中的求解器選項卡中的discrete(no continuous states)選項,即沒有連續(xù)狀態(tài)的離散求解器,便可以對離散系統(tǒng)進(jìn)行精確的求解與仿真。 1.2 連續(xù)求解器 與離散系統(tǒng)不同,連續(xù)系統(tǒng)具有連續(xù)的輸入與輸出,并且系統(tǒng)中一般都存在著連續(xù)的狀態(tài)變量。連續(xù)系統(tǒng)中存在的狀態(tài)變量往往是系統(tǒng)中某些信號的微分或積分,因此連續(xù)系統(tǒng)一般由微分方程或與之等價的其它方式進(jìn)行描述。這就決定了使用數(shù)字計算機不可能得到連續(xù)系統(tǒng)的精確解,而只能得到系統(tǒng)的數(shù)字解(即近似解)。 采用不同的連續(xù)求解器會對連續(xù)系統(tǒng)的仿真結(jié)果與仿真速度產(chǎn)生

3、不同的影響,但一般不會對系統(tǒng)的性能分析產(chǎn)生較大的影響,因為用戶可以設(shè)置具有一定的誤差范圍的連續(xù)求解器進(jìn)行相應(yīng)的控制。離散求解器與連續(xù)求解器設(shè)置的不同之處如圖1所示。 離散求解器 連續(xù)求解器與離散求解器的區(qū)別:求解受誤差限控制 連續(xù)求解器 圖1 離散求解器與連續(xù)求解器設(shè)置的比較 由于連續(xù)系統(tǒng)狀態(tài)變量不能夠被精確地計算出來,因而積分的誤差值同樣也是一個近似值。通常,連續(xù)求解器采用兩個不同階次的近似方法進(jìn)行積分,然后計算它們之間的積分差值作為積分誤差。連續(xù)求解器積分誤差的計算如圖2所示。 圖2 連續(xù)求解器積分誤差計算 圖2中h為積分步長。注意,此圖以最簡單的多邊形積分近似算法為例說明積分誤差的計算,

4、在實際中具體的方法視連續(xù)求解器的不同而不同。如果積分誤差滿足絕對誤差或相對誤差,則仿真繼續(xù)進(jìn)行;如果不滿足,則求解器嘗試一個更小的步長,并重復(fù)這個過程。當(dāng)然,連續(xù)求解器在選擇更小步長時采用的方法也不盡相同。如果誤差上限值的選擇或連續(xù)求解器的選擇不適合待求解的連續(xù)系統(tǒng),則仿真步長有可能會變得非常小,使仿真速度變得非常慢。(用戶需要注意這一點。) 混合系統(tǒng)仿真時連續(xù)狀態(tài)求解與離散狀態(tài)求解的協(xié)調(diào)如圖3所示。其中h為初始步長,由于在時刻t與th之間系統(tǒng)存在著離散狀態(tài)的更新,因而連續(xù)變步長求解器將會減小步長至,之后再計算積分誤差以控制求解。如果求解誤差滿足誤差范圍,則進(jìn)行下一步仿真,否則縮小時間間隔,重

5、復(fù)此過程進(jìn)行求解仿真。圖3 連續(xù)狀態(tài)求解與離散狀態(tài)求解的協(xié)調(diào)示意圖2 系統(tǒng)過零的概念與解決方案 1節(jié)中對Simulink的求解器進(jìn)行了較為深入的介紹。Simulink求解器固然是系統(tǒng)仿真的核心,但Simulink對動態(tài)系統(tǒng)求解仿真的控制流程也是非常關(guān)鍵的。Simulink對系統(tǒng)仿真的控制是通過系統(tǒng)模型與求解器之間建立對話的方式進(jìn)行的:Simulink將系統(tǒng)模型、模塊參數(shù)與系統(tǒng)方程傳遞給Simulink的求解器,而求解器將計算出的系統(tǒng)狀態(tài)與仿真時間通過Simulink環(huán)境傳遞給系統(tǒng)模型本身,通過這樣的交互作用方式來完成動態(tài)系統(tǒng)的仿真。系統(tǒng)的時間分類系統(tǒng)的時間分類連續(xù)時間系統(tǒng):狀態(tài)隨時間連續(xù)變化

6、離散事件系統(tǒng):狀態(tài)的變化在隨機的離散時間點上發(fā)生 混雜系統(tǒng)(混合動態(tài)系統(tǒng)):混雜上述兩種系統(tǒng)狀態(tài)行為 系統(tǒng) n 離散時間系統(tǒng)(模型):時間離散,狀態(tài)離散n 采樣系統(tǒng):對象連續(xù),控制離散 系統(tǒng)的數(shù)學(xué)描述系統(tǒng)的數(shù)學(xué)描述連續(xù)時間系統(tǒng):微分方程、傳遞函數(shù)、狀態(tài)方程離散事件系統(tǒng):事件調(diào)度、活動掃描、進(jìn)程交互混雜系統(tǒng)(混合動態(tài)系統(tǒng)):上述方法的綜合 系統(tǒng) n 離散時間系統(tǒng):差分方程、狀態(tài)方程n 采樣系統(tǒng):差分方程、狀態(tài)方程 系統(tǒng)的數(shù)學(xué)描述系統(tǒng)的數(shù)學(xué)描述確定型數(shù)學(xué)描述:狀態(tài)隨時間連續(xù)變化 隨機型數(shù)學(xué)描述系統(tǒng)系統(tǒng) n 連續(xù)時間模型:微分方程、脈沖響應(yīng)函數(shù) 傳遞函數(shù)、狀態(tài)空間模型n 離散時間模型:差分方程、脈沖

7、傳遞函數(shù) 權(quán)系列、離散狀態(tài)空間模型 第三章第三章 連續(xù)系統(tǒng)建模方法連續(xù)系統(tǒng)建模方法常用數(shù)學(xué)模型:微分方程、傳遞函數(shù)和狀態(tài)空間模型。各種模型的特點: 微分方程:線性、非線性系統(tǒng)。 時域方法; 傳遞函數(shù):僅適用于線性系統(tǒng);初始條件為零; 用代數(shù)的方法或圖解分析進(jìn)行系統(tǒng)分析與綜合; 頻域方法; 狀態(tài)方程:系統(tǒng)的完整描述;化高階為低階;降低復(fù)雜性 便于處理多變量系統(tǒng) 時域方法;微分方程傳遞函數(shù)狀態(tài)方程系統(tǒng)時域方法頻域方法不完全描述完全描述線性系統(tǒng)線性系統(tǒng) 非線性系統(tǒng)3.1 微分方程的機理建模方法微分方程的機理建模方法建立微分方程的方法1)根據(jù)規(guī)律列方程2)微元分析方法3)模擬近似法在生物、經(jīng)濟等學(xué)科的

8、實際問題中,許多現(xiàn)象的規(guī)律性不很清楚,即使有所了解也是極其復(fù)雜的,建模時在不同的假設(shè)下去模擬實際的現(xiàn)象,建立能近似反映問題的微分方程,然后從數(shù)學(xué)上求解或分析所建方程及其解的性質(zhì),再去同實際情況對比,檢驗此模型能否刻畫、模擬某些實際現(xiàn)象。建模示例圖圖1 1 機械平移系統(tǒng)機械平移系統(tǒng)圖圖2 2 機械傳動系統(tǒng)機械傳動系統(tǒng)圖圖3 R-L-C3 R-L-C電路電路相似系統(tǒng)相似系統(tǒng)3.2 非線性系統(tǒng)模型的線性化非線性系統(tǒng)模型的線性化非線性系統(tǒng):含有一個或多個非線性元件的系統(tǒng)。非線性元件:y=f (x) , y=f (x) , 若f (x)f (x) 是直線,則該元件是線性元 件,反之,則為非線性元件。典型

9、的非線性特性:死區(qū)、飽和、間隙、繼電器特性非線性系統(tǒng)非線性系統(tǒng)一些系統(tǒng)作為線性系統(tǒng)來分析,這是由于:系統(tǒng)的非線性不明顯,可近似為線性系統(tǒng)。某些系統(tǒng)的非線性特性雖然較明顯,但在某些條件下,可進(jìn)行線性化處理,作為線性系統(tǒng)來分析。這類系統(tǒng)統(tǒng)稱為。 但當(dāng)系統(tǒng)的非線性特征明顯且不能進(jìn)行線性化處理時,就必須采用非線性系統(tǒng)理論來分析。這類非線性稱為。關(guān)于線性與非線性的認(rèn)識關(guān)于線性與非線性的認(rèn)識非線性是大自然的普遍特性;線性系統(tǒng)其實只是對少數(shù)簡單非線性系統(tǒng)的一種理論近似,非線性才是世界的魂魄。 生態(tài)學(xué)和混沌學(xué)家羅伯特梅(Robert,May)認(rèn)為,目前全世界標(biāo)準(zhǔn)的科學(xué)教育,向人們灌輸?shù)氖顷P(guān)于世界圖景的偏見和歪

10、曲的印象。不管線性的數(shù)學(xué)獲得了多大的成功,都只能給學(xué)生一個關(guān)于實際大自然的普遍存在的非線性事實的失真形象。 伊恩斯圖爾特感嘆地說:“如果你斷定,只有線性方程才值得研究,那無異于自我禁錮。你的課本充滿了線性分析的成功,它的失敗埋藏得如此之深,以致連墳?zāi)苟伎床灰?,墳?zāi)沟拇嬖谝矝]人注意。如同18世紀(jì)篤信鐘表世界一樣,20世紀(jì)中葉則恪守線性世界?!?非線性系統(tǒng)模型的處理非線性系統(tǒng)模型的處理等效線性化方法:描述函數(shù)法(諧波線性化)、分段線性化法、小參數(shù)法等都屬于這種方法。 :把系統(tǒng)視為理想模型的參數(shù)或結(jié)構(gòu)作了微小擾動的結(jié)果來研究其運動過程的數(shù)學(xué)方法。 直接分析方法:李雅普諾夫第二方法 (李雅普諾夫穩(wěn)定性

11、理論) 雙線性系統(tǒng)理論:對于特殊的雙線性系統(tǒng);流形上的控制理論:以微分幾何為主要數(shù)學(xué)工具的一種分析方法,可用以研究非線性系統(tǒng)的某些全局和局部性質(zhì)。 反饋線性化:代數(shù)變換將一個非線性系統(tǒng)的運動特性(全部或部分地)變換成線性的動態(tài)特性。小偏差線性化小偏差線性化/局部線性化局部線性化所謂線性化,就是在一定的條件下作某種近似,或者縮小一些工作范圍,而將非線性微分方程近似地作為線性微分方程來處理。由級數(shù)理論可知,若非線性函數(shù)在給定區(qū)域內(nèi)存在各階導(dǎo)數(shù),便可在工作點的鄰域?qū)⒎蔷€性函數(shù)展開為泰勒級數(shù)。當(dāng)偏差范圍很小時,可略去2次以上高次項,從而得到只包含偏差一次項的線性化方程式,實現(xiàn)函數(shù)的線性化。這種線性化方

12、法稱為小偏差線性化或局部線性化。非線性數(shù)學(xué)模型的線性化非線性數(shù)學(xué)模型的線性化A Ax x0 0y y0 0 小偏差線性化的這種近似,對大多數(shù)控制系統(tǒng)來說都是可行的。 1)控制系統(tǒng)在通常情況下,都有一個正常、穩(wěn)定的工作狀態(tài),稱為平衡工作點。例如,恒溫控制系統(tǒng)的正常工作狀態(tài)是輸入、輸出為常值(輸出為被控溫度,輸入為期望值)。 2)當(dāng)系統(tǒng)的輸入或輸出相對于正常工作狀態(tài)發(fā)生微小偏差時,系統(tǒng)會立即進(jìn)行控制調(diào)節(jié),力圖去消除此偏差,因此可以看出,這種偏差是“小偏差”,不會很大。 非線性數(shù)學(xué)模型的線性化非線性數(shù)學(xué)模型的線性化對 在 附近進(jìn)行泰勒展開:條件:忽略高階項:增量方程建立系統(tǒng)線性化數(shù)學(xué)模型的步驟建立系

13、統(tǒng)線性化數(shù)學(xué)模型的步驟 首先確定系統(tǒng)處于正常工作狀態(tài)(平衡工作點)時各組成元件的工作點,然后列出各組成元件在工作點附近的增量方程增量方程,最后消去中間變量,得到系統(tǒng)以增量表示的線性化微分方程。 增量方程的數(shù)學(xué)含義增量方程的數(shù)學(xué)含義就是將參考坐標(biāo)的原點移到系統(tǒng)或元件的平衡工作點上,對于實際系統(tǒng)就是以正常工作狀態(tài)為研究系統(tǒng)運動的起始點,這時系統(tǒng)所有的初始條件均為零。Matlab是如何解微分方程的?是如何解微分方程的?答案:線性微分方程和低階特殊微分方程一般通過解析解的方法答案:線性微分方程和低階特殊微分方程一般通過解析解的方法求解,但一般的非線性微分方程是沒有解析解的,需要使用數(shù)求解,但一般的非線

14、性微分方程是沒有解析解的,需要使用數(shù)值解的方式求解。值解的方式求解。 對于多元非線性常微分方程來說,對于多元非線性常微分方程來說,Euler算法是最直觀的一類算法是最直觀的一類求解算法,精度較高的算法是求解算法,精度較高的算法是Runge-Kutta法、法、Adams法等。但法等。但是至今尚沒有一種算法可以有效地適用于所有場合。是至今尚沒有一種算法可以有效地適用于所有場合。解算指令求解算法適用場合ode454、5階Runge-Kutta大多數(shù)場合的首選ode232、3階Runge-Kutta較低精度場合ode113Adamsode45計算時間太長時ode23tEuler適度剛性ode15sGe

15、ar反向數(shù)值微分ode45失敗時ode23s2階Rosenbrock低精度時,比ode15s有效ode23tbEuler,反向數(shù)值微分低精度時,比ode15s有效在用微分方程描述的一個變化過程中,若往往又包含著多個相互作用但變化速度相差十分懸殊的子過程,這樣一類過程就認(rèn)為具有“剛性”。描述這類過程的微分方程初值問題稱為“剛性問題”。 例例1 1:單容水箱液位系統(tǒng):單容水箱液位系統(tǒng)設(shè)供水閥前壓力穩(wěn)定,出水閥其流量公式為:其中為流量系數(shù)。試列寫液位波動的微分方程,并對其進(jìn)行線性化處理。非線性系統(tǒng)的線性化非線性系統(tǒng)的線性化多變量系統(tǒng)局部線性化多變量系統(tǒng)局部線性化將該方程式在工作點 附近展開成泰勒級數(shù)

16、,并忽略二若輸出變量y與輸入變量x1,x2有非線性關(guān)系,即階和高階導(dǎo)數(shù)項,便可得到y(tǒng)的線性方程為: 寫成增量形式: 稱為系統(tǒng)的靜態(tài)/穩(wěn)態(tài)方程。 滑閥系統(tǒng)壓力滑閥系統(tǒng)壓力- -流量特性線性化流量特性線性化滑閥系統(tǒng)壓力滑閥系統(tǒng)壓力- -流量特性線性化流量特性線性化某滑閥的壓力-流量特性如圖所示,其非線性方程為:設(shè)系統(tǒng)的靜態(tài)工作點為A點。為閥芯位移;為負(fù)載壓差;為負(fù)載流量;這里:滑閥系統(tǒng)壓力滑閥系統(tǒng)壓力- -流量特性線性化流量特性線性化將式在工作點處泰勒展開,上式與靜態(tài)方程相減:寫作:圖示:負(fù)載流量特性的線性化應(yīng)用范圍:非線性系統(tǒng)的線性化非線性系統(tǒng)的線性化局部線性化局部線性化線性化是相對某一工作點進(jìn)

17、行的。工作點不同,得到的線性化微分方程的系數(shù)也不同。若使線性化具有足夠的精度,調(diào)節(jié)過程中變量偏離工作點的偏差信號應(yīng)足夠小。線性化不適用于含本質(zhì)非線性的系統(tǒng)。線性化是以直線代替曲線,略去了泰勒級數(shù)展開式中的二階以上無窮小項,這是一種近似處理。如果系統(tǒng)輸入量工作在較大范圍內(nèi),所建立的線性化數(shù)學(xué)模型勢必會帶來較大的誤差。所以,非線性數(shù)學(xué)模型線性化是有條件的有條件的。線性化以后得到的微分方程是增量微分方程增量微分方程,只是為書寫方便,略去了增量符號。連續(xù)系統(tǒng)數(shù)字仿真連續(xù)系統(tǒng)數(shù)字仿真連續(xù)系統(tǒng)的仿真,主要的計算工作是求解一階微分方程。階段技術(shù)建模技術(shù)仿真算法軟件技術(shù)模型建立模型變換仿真試驗連續(xù)系統(tǒng)數(shù)字仿真

18、連續(xù)系統(tǒng)數(shù)字仿真 一般過程一般過程連續(xù)系統(tǒng)數(shù)字仿真方法連續(xù)系統(tǒng)數(shù)字仿真方法基于數(shù)值積分方法面向方程連續(xù)系統(tǒng)數(shù)字仿真方法基于離散化方法面向方程結(jié)構(gòu)圖:微分方程傳遞函數(shù)狀態(tài)模型傳遞函數(shù)+非線性環(huán)節(jié)面向方程面向方程結(jié)構(gòu)圖: 傳遞函數(shù)+非線性環(huán)節(jié)傳遞函數(shù)狀態(tài)模型連續(xù)系統(tǒng)數(shù)字仿真方法連續(xù)系統(tǒng)數(shù)字仿真方法基于數(shù)值積分方法基于數(shù)值積分方法連續(xù)系統(tǒng)的仿真,主要的計算工作是求解一階微分方程。數(shù)值解法:尋求解y(t)在一系列離散點上的近似解(即數(shù)值解)數(shù)值積分方法連續(xù)變量問題離散的差分方程的初值問題單步法歐拉法:精度差(解釋概念)數(shù)值積分方法多步法:改進(jìn)的歐拉法:精度提高,速度快Adams法Adams隱式公式龍格

19、-庫塔法:精度高,常用Adams顯式公式預(yù)估-校正法計算量小單步法(歐拉法)單步法(歐拉法)1.由泰勒展開式得到:2.矩形近似解法:3.切線近似解法:特點:方法簡單、計算量小,但精度差特點:方法簡單、計算量小,但精度差泰勒級數(shù)方法泰勒級數(shù)方法優(yōu)點:優(yōu)點: 方法概念的簡單性,并且具有非常高精度的潛力。方法概念的簡單性,并且具有非常高精度的潛力。缺點:缺點: 依賴于給定的微分方程的反復(fù)求導(dǎo)。依賴于給定的微分方程的反復(fù)求導(dǎo)。幾何解釋幾何解釋圖a 矩形近似及其誤差圖b 切線近似及其誤差改進(jìn)的歐拉法改進(jìn)的歐拉法預(yù)估:曲邊梯形面積:直邊梯形面積:h較小時,簡記為:改進(jìn)的歐拉法改進(jìn)的歐拉法龍格龍格-庫塔(庫

20、塔(Runge-kutta)法)法泰勒展開方法:利用幾個點上的y(t)的一階導(dǎo)數(shù)值的線性組合來近似代替y(t)在某一個點的高階導(dǎo)數(shù)值。然后再利用泰勒展開式確定線性組合的各加權(quán)系數(shù)。這樣既避免了計算高階倒數(shù),又提高了數(shù)值積分的精度。考慮一階微分方程:這里:將 寫成線性組合形式:一階RK公式,歐拉公式改進(jìn)歐拉公式特點:1)單步法;2)同樣精度,RK4的h比RK2的h大十倍,而計算量僅大一倍,常用RK4多變量形式多變量形式例:已知系統(tǒng)方程為:解:原系統(tǒng)方程可化為下列方程組,多步法(多步法(Adams)預(yù)估預(yù)估校正法校正法單步法歐拉法:精度差數(shù)值積分方法多步法:改進(jìn)的歐拉法:精度提高,速度快Adams

21、法Adams隱式公式龍格-庫塔法:精度高,常用Adams顯式公式預(yù)估-校正法計算量小誤差、收斂性與穩(wěn)定性分析誤差、收斂性與穩(wěn)定性分析1. 誤差:截斷誤差與舍入誤差2. 收斂性:3. 穩(wěn)定性:采用數(shù)值積分方法進(jìn)行仿真時常常會出現(xiàn)這樣的現(xiàn)象:本來是穩(wěn)定的系統(tǒng),仿真結(jié)果卻得出不穩(wěn)定的結(jié)論。這種現(xiàn)象是由于計算步長太大造成的,因為,當(dāng)步長h選得過大時,計算誤差較大,數(shù)值積分方法會使誤差傳播,以致引起計算不穩(wěn)定。因穩(wěn)定性與步長有密切關(guān)系,故在處理實際問題時,可用兩個顯著不同的步長進(jìn)行計算,若所得結(jié)果基本相同,則一般是穩(wěn)定的;反之,則很可能不穩(wěn)定;數(shù)值積分方法的選擇數(shù)值積分方法的選擇1. 精度要求:a. 步

22、長確定時,算法階次越高,截斷誤差越小。b. 階次確定時,多步法單步法,隱式顯式2. 計算速度: 同步長,RK4比4階Adams預(yù)估校正法慢。3. 數(shù)值解的穩(wěn)定性:小于4階時,隱式AdamsRK4顯式Adams步長控制步長控制1. 經(jīng)驗公式2. 變步長計算公式連續(xù)系統(tǒng)數(shù)字仿真方法連續(xù)系統(tǒng)數(shù)字仿真方法基于數(shù)值積分方法面向方程連續(xù)系統(tǒng)數(shù)字仿真方法基于離散化方法面向方程結(jié)構(gòu)圖:微分方程傳遞函數(shù)狀態(tài)模型傳遞函數(shù)+非線性環(huán)節(jié)面向方程面向方程結(jié)構(gòu)圖: 傳遞函數(shù)+非線性環(huán)節(jié)傳遞函數(shù)狀態(tài)模型離散相似法離散相似法基本原理:將一個連續(xù)系統(tǒng)進(jìn)行離散化處理,然后求得等價的離散模型。將一個連續(xù)系統(tǒng)進(jìn)行離散化處理,然后求得

23、等價的離散模型。傳遞函數(shù)狀態(tài)方程Z域離散相似模型時域離散相似模型連續(xù)系統(tǒng)數(shù)字仿真方法連續(xù)系統(tǒng)數(shù)字仿真方法基于數(shù)值積分方法面向方程連續(xù)系統(tǒng)數(shù)字仿真方法基于離散化方法面向方程結(jié)構(gòu)圖:微分方程傳遞函數(shù)狀態(tài)模型傳遞函數(shù)+非線性環(huán)節(jié)面向方程面向方程結(jié)構(gòu)圖: 傳遞函數(shù)+非線性環(huán)節(jié)傳遞函數(shù)狀態(tài)模型RK法Adams法離散相似法置換法仿真算法的選擇與比較仿真算法的選擇與比較141.751.25 2.1 過零的產(chǎn)生 在動態(tài)系統(tǒng)的仿真過程中,所謂過零,是指系統(tǒng)模型中的信號或系統(tǒng)模塊特征的某種改變。這種特征改變包括以下兩種情況: (1) 信號在上一個仿真時間步長之內(nèi)改變了符號。 (2) 系統(tǒng)模塊在上一個仿真時間步長改

24、變了模式(如積分器進(jìn)入了飽和區(qū)段)。 2.2 事件通知 在動態(tài)系統(tǒng)仿真中,采用變步長求解器可以使Simulink正確地檢測到系統(tǒng)模塊與信號中過零事件的發(fā)生。當(dāng)一個模塊通過Simulink仿真環(huán)境通知求解器,在系統(tǒng)前一仿真步長時間內(nèi)發(fā)生了過零事件,變步長求解器就會縮小仿真步長,即使求解誤差滿足絕對誤差和相對誤差的上限要求。縮小仿真步長的目的是判定事件發(fā)生的準(zhǔn)確時間(也就是過零事件發(fā)生的準(zhǔn)確時刻)。 2.3 支持過零的模塊 在Simulink的模塊庫中,并非所有的模塊都能夠產(chǎn)生過零事件。 嘿!等等我這里發(fā)生了一個事件沒問題,回頭告訴我謝謝!讓我回頭查查看何時發(fā)生的求解器系統(tǒng)模型求解器系統(tǒng)模型求解器

25、系統(tǒng)模型圖4 系統(tǒng)模型與求解器之間的交互作用示意圖 對于其它的許多模塊而言,它們不具有過零檢測的能力。如果需要對這些模塊進(jìn)行過零檢測,則可以使用信號與系統(tǒng)庫(Signals & Systems)中的Hit Crossing零交叉模塊來實現(xiàn)。當(dāng)Hit Crossing模塊的輸入穿過某一偏移值(offset)時會產(chǎn)生一個過零事件,所以它可以用來為不帶過零能力的模塊提供過零檢測的能力。 一般而言,系統(tǒng)模型中模塊過零的作用有兩種類型:一是用來通知求解器,系統(tǒng)的運行模式是否發(fā)生了改變,也就是系統(tǒng)的動態(tài)特性是否發(fā)生改變;二是驅(qū)動系統(tǒng)模型中其它模塊。過零信號包含三種類型:上升沿、下降沿、雙邊沿,如圖5所示。

26、 上升沿上升沿 下降沿下降沿 雙邊沿雙邊沿 0 F F R R 信號過零類型,其中F 表示下降沿、 R 表示上升沿 圖5 過零信號的類型 下面分別對這三種類型進(jìn)行簡單的介紹。 (1) 上升沿:系統(tǒng)中的信號上升到零或穿過零,或者是信號由零變?yōu)檎?(2) 下降沿:系統(tǒng)中的信號下降到零或穿過零,或者是信號由零變?yōu)樨?fù)。 (3) 雙邊沿:任何信號的上升或下降沿的發(fā)生。 2.4 過零的舉例過零的產(chǎn)生與關(guān)閉過零 1. 過零點的產(chǎn)生 【例1】 過零的產(chǎn)生與影響。 這里以一個很簡單的例子來說明系統(tǒng)中過零的概念以及它對系統(tǒng)仿真所造成的影響。在這個例子中,采用Functions & Tables-函數(shù)與表庫中的F

27、unction函數(shù)模塊和Math數(shù)學(xué)庫中的Abs絕對值模塊分別計算對應(yīng)輸入的絕對值。我們知道,F(xiàn)unction模塊不會產(chǎn)生過零事件,所以在求取絕對值時,一些拐角點被漏掉了;但是Abs模塊能夠產(chǎn)生過零事件,所以每當(dāng)它的輸入信號改變符號時,它都能夠精確地得到零點結(jié)果。圖6所示為此系統(tǒng)的Simulink模型以及系統(tǒng)仿真結(jié)果。 帶有過零檢測的能力 不帶有過零檢測 圖6 過零產(chǎn)生的影響 從仿真的結(jié)果中可以明顯地看出,對于不帶有過零檢測的Function函數(shù)模塊,在求取輸入信號的絕對值時,漏掉了信號的過零點(即結(jié)果中的拐角點);而對于具有過零檢測能力的Abs求取絕對值模塊,它可以使仿真在過零點處的仿真步長

28、足夠小,從而可以獲得精確的結(jié)果。為說明這一點,在MATLAB命令窗口中輸入如下語句: semilogy(tout(1:end1,diff(tout) % 繪制系統(tǒng)仿真時刻的一階差分(即系統(tǒng)仿真步長),如圖7所示,其中常規(guī)步長為0.2 s,% 當(dāng)發(fā)生過零的情況時,系統(tǒng)仿真步長自動縮小至約s 圖7 系統(tǒng)仿真中過零處步長變化 2. 關(guān)閉過零 【例2】 過零的關(guān)閉與影響。 在【例1】中,過零表示系統(tǒng)中信號穿過了零點。其實,過零不僅用來表示信號穿過了零點,還可以用來表示信號的陡沿和飽和。在這個例子中,系統(tǒng)實現(xiàn)了輸入信號由其絕對值跳變到飽和值的功能,而且跳變過程受到仿真時刻的控制。在此系統(tǒng)模型中所使用的A

29、bs模塊與Saturation模塊都支持過零事件的產(chǎn)生,因此在系統(tǒng)的響應(yīng)輸出中得到了理想的陡沿。其中系統(tǒng)模型如圖8(a)所示,系統(tǒng)仿真結(jié)果如圖8(b)所示。 兩種模塊均支持過零檢測使用過零檢測可以獲得很好的仿真結(jié)果 圖8 系統(tǒng)模型及系統(tǒng)仿真結(jié)果 從圖8中可以明顯看出,使用過零檢測可以獲得很好的仿真結(jié)果,系統(tǒng)的輸出具有很好的陡沿。 在使用Simulink進(jìn)行動態(tài)系統(tǒng)仿真中,其默認(rèn)參數(shù)選擇使用過零檢測的功能。如果使用過零檢測并不能給系統(tǒng)的仿真帶來很大的好處,用戶可以關(guān)閉仿真過程中過零事件的檢測功能。用戶可以在Simulation Parameters 參數(shù)設(shè)置對話框中的Advanced選項卡中進(jìn)行

30、設(shè)置,以關(guān)閉過零檢測功能,然后再次對系統(tǒng)進(jìn)行仿真。圖9(a)、(b)所示分別為關(guān)閉過零檢測的設(shè)置以及在關(guān)閉過零檢測后系統(tǒng)的仿真結(jié)果。 關(guān)閉系統(tǒng)過零檢測后的仿真結(jié)果 飽和拐角 陡沿 圖9 關(guān)閉系統(tǒng)過零檢測的設(shè)置和關(guān)閉過零檢測后的仿真結(jié)果 2.5 使用過零檢測的其它注意事項 在使用過零檢測時,用戶需要注意如下幾點: (1) 關(guān)閉系統(tǒng)仿真參數(shù)設(shè)置中的過零事件檢測,可以使動態(tài)系統(tǒng)的仿真速度得到很大的提高。但可能會引起系統(tǒng)仿真結(jié)果的不精確,甚至出現(xiàn)錯誤結(jié)果。 (2) 關(guān)閉系統(tǒng)過零檢測對Hit Crossing零交叉模塊并無影響。 (3) 對于離散模塊及其產(chǎn)生的離散信號不需要進(jìn)行過零檢測。 3 系統(tǒng)代數(shù)環(huán)

31、的概念與解決方案系統(tǒng)代數(shù)環(huán)的概念與解決方案 3.1直接饋通模塊 在使用Simulink的模塊庫建立動態(tài)系統(tǒng)的模型時,有些系統(tǒng)模塊的輸入端口(Input ports)具有直接饋通(Direct feedthrough)的特性。所謂模塊的直接饋通,是指如果在這些模塊的輸入端口中沒有輸入信號,則無法計算此模塊的輸出信號。換句話說,直接饋通就是模塊輸出直接依賴于模塊的輸入。在Simulink中具有直接饋通特性的模塊有如下的幾種:(1) Math Function數(shù)學(xué)函數(shù)模塊。(2) Gain增益模塊。(3) Product乘法模塊。(4) State-Space狀態(tài)空間模塊(其中矩陣D不為0)。(5)

32、 Transfer Fcn傳遞函數(shù)模塊(分子與分母多項式階次相同)。(6) Sum求和模塊。(7) Zero-Pole零極點模塊(零點與極點數(shù)目相同)。(8) Integrator積分模塊。 3.2 代數(shù)環(huán)的產(chǎn)生 在介紹完具有直接饋通特性的系統(tǒng)模塊之后,來介紹代數(shù)環(huán)的產(chǎn)生。系統(tǒng)模型中產(chǎn)生代數(shù)環(huán)的條件如下: (1) 具有直接饋通特性的系統(tǒng)模塊的輸入,直接由此模塊的輸出來驅(qū)動。 (2) 具有直接饋通特性的系統(tǒng)模塊的輸入,由其它直接饋通模塊所構(gòu)成的反饋回路間接來驅(qū)動。 圖10所示為一個非常簡單的標(biāo)量代數(shù)環(huán)的構(gòu)成。 圖10 標(biāo)量代數(shù)環(huán) 3.3 代數(shù)環(huán)的舉例與解決方案之一:直接求解系統(tǒng)方程 【例3】 代

33、數(shù)環(huán)的直接求解。在圖11中所示的兩個系統(tǒng)模型中均存在代數(shù)環(huán)結(jié)構(gòu),試對這兩個系統(tǒng)進(jìn)行求解 解:為了計算求和模塊Sum的輸出,需要知道其輸入,但是其輸入恰恰包含模塊的輸出。對于此二系統(tǒng),很容易寫出如下所示的系統(tǒng)的動態(tài)方程: 由 Sum 求和模塊與 Gain 增益模塊所構(gòu)成的代數(shù)環(huán) 圖11 具有代數(shù)環(huán)的系統(tǒng)模型 3.4 代數(shù)環(huán)的舉例與解決方案之二:代數(shù)約束 用戶除了可以使用Simulink內(nèi)置的代數(shù)環(huán)求解器對含有代數(shù)環(huán)的動態(tài)系統(tǒng)進(jìn)行仿真,還可以使用Math模塊庫中的代數(shù)約束Algebraic Constraint模塊對動態(tài)系統(tǒng)數(shù)學(xué)方程進(jìn)行求解。 使用代數(shù)約束模塊并給出約束初始值,可以方便地對代數(shù)方程

34、進(jìn)行求解。代數(shù)約束模塊通過調(diào)整其輸出代數(shù)狀態(tài)以使其輸入為零。其中為模塊的輸出狀態(tài),為一代數(shù)表達(dá)式,它作為模塊的輸入。 【例4】使用代數(shù)約束求解代數(shù)環(huán)。 在如圖12所示的系統(tǒng)模型中代數(shù)約束模塊的輸出分別為代數(shù)狀態(tài)。分別通過反饋回路作為代數(shù)約束模塊的輸入。運行此系統(tǒng)相當(dāng)于對如下的代數(shù)方程進(jìn)行求解:其仿真結(jié)果如圖12中Display模塊所顯示的那樣,其中,。 01120121zzzz 圖12 使用代數(shù)約束求解的代數(shù)環(huán)結(jié)構(gòu) 【例5】代數(shù)狀態(tài)的初始值選取。使用代數(shù)約束來求解方程的根(顯然此方程的根為 解:首先建立如圖13所示的系統(tǒng)模型,然后對代數(shù)約束模塊的初始值進(jìn)行設(shè)置,如圖13所示(仿真結(jié)果如Disp

35、lay模塊中所示)。 022 xx0)2)(1(xx11x22x)。 初始值為5,結(jié)果為1 初始值為 5, 結(jié)果為 2 圖13 代數(shù)狀態(tài)的初始值選擇 3.5 代數(shù)環(huán)的舉例與解決方案之三:切斷環(huán) 至此,讀者能夠采用兩種方法對含有代數(shù)環(huán)的動態(tài)系統(tǒng)進(jìn)行仿真分析:一是直接對系統(tǒng)方程進(jìn)行手工求解,但是在很多情況下難以進(jìn)行手工求解甚至不可能進(jìn)行手工求解;二是使用代數(shù)約束,由Simulink內(nèi)置的代數(shù)環(huán)求解器對含有代數(shù)環(huán)的系統(tǒng)進(jìn)行仿真。 【例6】 對于如下的連續(xù)線性系統(tǒng): 建立如圖14所示的系統(tǒng)模型。 ) 3)(2(5 . 0)(ssssG 使用內(nèi)置代數(shù)環(huán)求解器 使用手工方法進(jìn)行求解 切斷代數(shù)環(huán)結(jié)果不穩(wěn)定

36、圖14 切斷代數(shù)環(huán) 圖14中為線性連續(xù)系統(tǒng)的零極點描述,其相應(yīng)的狀態(tài)空間描述矩陣分別為A,B,C,D。建立此系統(tǒng)的模型以求出系統(tǒng)在恒定輸入下的狀態(tài)值。為了說明切斷代數(shù)環(huán)的影響,我們在此模型中給出系統(tǒng)狀態(tài)求取的三種不同方法以作為比較。圖中最上方為使用Simulink的內(nèi)置代數(shù)環(huán)求解器進(jìn)行狀態(tài)求解,最下方為使用手工方式進(jìn)行狀態(tài)求解,中間為使用Memory模塊切斷代數(shù)環(huán),然后進(jìn)行狀態(tài)求解。 4 高級積分器高級積分器 在使用Simulink對實際的動態(tài)系統(tǒng)進(jìn)行仿真時,積分運算可以說是Simulink求解器的核心技術(shù)之一。前面在介紹動態(tài)系統(tǒng)的仿真實現(xiàn)時,僅僅使用了最簡單的積分器設(shè)置。在這一節(jié)中,將簡單介

37、紹高級積分器的概念及其應(yīng)用。 首先對積分器的各個端口進(jìn)行簡單的介紹。圖15所示為使用缺省參數(shù)設(shè)置下的積分器外觀與選擇所有參數(shù)設(shè)置后積分器的外觀比較。 圖15 積分器外觀比較 對于使用缺省參數(shù)設(shè)置下的積分器,其輸出信號為輸入信號的數(shù)值積分,想必讀者對其已經(jīng)比較熟悉了,這里不再贅述。下面詳細(xì)介紹一下選擇所有參數(shù)設(shè)置后的積分器各個端口的含義以及對積分器的設(shè)置。首先介紹一下積分器參數(shù)設(shè)置對話框,如圖16所示。 圖16 高級積分器設(shè)置 1. 積分器的初始條件端口(Initial condition) 設(shè)置積分器初始條件的方法有兩種,它們分別是: (1) 在積分器模塊參數(shù)設(shè)置對話框中設(shè)置初始條件:在初始條

38、件源設(shè)置(Initial condition source)中選擇內(nèi)部設(shè)置(Internal),并在下面的文本框中鍵入給定的初始條件,此時不顯示積分器端口。 (2) 從外部輸入源設(shè)置積分器初始條件:在初始條件源設(shè)置中選擇外部設(shè)置(External),初始條件設(shè)置端口以作為標(biāo)志。此時需要使用Signals & Systems模塊庫中的IC模塊設(shè)置積分器初始值。 2. 積分器狀態(tài)端口(State) 當(dāng)出現(xiàn)下述的兩種情況時,需要使用積分器的狀態(tài)端口而非其輸出端口: (1) 當(dāng)積分器模塊的輸出經(jīng)重置端口或初始條件端口反饋至模塊本身時,會造成系統(tǒng)模型中出現(xiàn)代數(shù)環(huán)結(jié)構(gòu)的問題,此時需要使用狀態(tài)端口。 (2)

39、 當(dāng)從一個條件執(zhí)行子系統(tǒng)向另外的條件執(zhí)行子系統(tǒng)傳遞狀態(tài)時,可能會引起時間同步問題。此時也需要使用狀態(tài)端口而非輸出端口。至于條件執(zhí)行子系統(tǒng)的有關(guān)內(nèi)容,將在第7章中介紹。 3. 積分器輸出范圍限制與飽和輸出端口(Saturation) 在某些情況下,積分器的輸出可能會超過系統(tǒng)本身所允許的上限或下限值,選擇積分器輸出范圍限制框(Limit output),并設(shè)置上限值(Upper saturation limit)與下限值(Lower saturation limit),可以將積分器的輸出限制在一個給定的范圍之內(nèi)。此時積分器的輸出服從下面的規(guī)則: (1) 當(dāng)積分結(jié)果小于或等于下限值并且輸入信號為負(fù),

40、積分器輸出保持在下限值(下飽和區(qū))。 (2) 當(dāng)積分結(jié)果在上限值與下限值之間時,積分器輸出為實際的積分結(jié)果。 (3) 當(dāng)積分結(jié)果大于或等于上限值并且輸入信號為正,積分器輸出保持在上限值(上飽和區(qū))。 選擇Show saturation port復(fù)選框可以在積分器中顯示飽和端口,此端口位于輸出端口的下方。飽和端口的輸出取值有三種情況,用來表示積分器的飽和狀態(tài): (1) 輸出為1,表示積分器處于上飽和區(qū)。 (2) 輸出為0,表示積分器處于正常范圍之內(nèi)。 (3) 輸出為-1,表示積分器處于下飽和區(qū)。 4. 積分器重置 選擇積分器狀態(tài)重置框可以重新設(shè)置積分器的狀態(tài),其值由外部輸入信號決定。此時,在積分器輸入端口下方出現(xiàn)重置觸發(fā)端口??梢圆?/p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論