7.2.2 Simulink基礎(chǔ)
1.Simulink簡介
Simulink是MATALB中的一種可視化仿真工具,廣泛用于線性系統(tǒng)、數(shù)字控制以及數(shù)字信號處理的建模和仿真中。Simulink采用模塊化的建模方式,每個模塊都有自己的輸入、輸出端口,并能實現(xiàn)一定的功能。在Simulink中,模型表現(xiàn)為若干個仿真模塊的集合以及各個模塊之間的連接關(guān)系, 并且這些模塊可以組織成具有同等結(jié)構(gòu)的子系統(tǒng),具有內(nèi)在的模塊化設(shè)計要求。
根據(jù)輸出信號和輸入信號的關(guān)系,Simulink提供了3種類型的模塊:連續(xù)模塊、離散模塊和混合模塊。連續(xù)模塊指輸出信號發(fā)生連續(xù)變化的模塊,離散模塊則是輸出信號以固定間隔變化的模塊;混合模塊是根據(jù)輸入信號的類型來確定輸出信號類型的,既能產(chǎn)生連續(xù)輸出信號,也能夠產(chǎn)生離散輸出信號。如果一個仿真模型中只包括離散模塊,Simulink采用固定步長方式進行仿真;如果模型中只有連續(xù)模塊,Simulink將采用連續(xù)方式對模型繼續(xù)仿真。如果模塊中包含連續(xù)模塊和離散模塊,則采用兩種仿真步長進行仿真。
2.Simulink軟件的安裝
Simulink可以隨著MATLAB一起安裝到計算機內(nèi),在MATLAB安裝選項中選中Simulink組件,安裝程序會自動將其安裝到MATLAB目錄下;如果已安裝了MATLAB而沒有安裝Simulink的話,也可以繼續(xù)使用安裝程序?qū)imulink安裝到計算機內(nèi)。兩者的安裝方法是基本一樣的。需要注意的是,Simulink的運行需要MATLAB后臺的支持,因此必須要安裝MATLAB軟件。
3.Simulink的工作原理
Simulink的工作包括兩個階段:初始化階段和模型執(zhí)行階段。
1)模型初始化階段
在初始化階段,Simulink主要完成以下工作:
(1)將模型參數(shù)傳遞給MATLAB進行估值,得到的數(shù)值結(jié)果將作為模型的實際參數(shù);
(2)展開模型的各個層次,每一個非條件執(zhí)行的子系統(tǒng)將被它所包含的模塊代替;
(3)模型中的模塊按更新的次序進行排序;
(4)決定模型中有無顯示設(shè)定的信號屬性,如:名稱、數(shù)據(jù)類型等,并且檢查各個模塊是否能連接到其相應(yīng)的輸入信號;
(5)決定所有未設(shè)定采樣時間的模塊的采樣時間;
(6)分配和初始化用于存儲每個模塊的狀態(tài)和輸入當(dāng)前值的存儲空間。
完成上述工作后,就可以進入模型執(zhí)行階段。
2)模型執(zhí)行
一般模型是使用數(shù)值積分來進行仿真的,所運用的仿真解法器依賴于模型提供的連續(xù)積分能力。計算微分可以分為兩步來進行:首先,按照排序所確定的次序計算每個模塊的輸出;其次,根據(jù)當(dāng)前時刻的輸入和狀態(tài)來決定狀態(tài)的微分,得到微分向量后再把它返回給解法器,再用其來計算下一時刻采樣點的狀態(tài)向量,一旦新的狀態(tài)向量計算完畢,被采樣的數(shù)據(jù)源模塊和接收模塊才被更新。
在仿真開始時,模型設(shè)定待仿真系統(tǒng)的初始狀態(tài)和輸出。在每一個時間步長中,Simulink計算系統(tǒng)的輸入、狀態(tài)和輸出,并更新模型來反映計算出的值。在仿真結(jié)束時,模型得出系統(tǒng)的輸入、狀態(tài)和輸出。
4.Simulink設(shè)計簡單舉例
作為本節(jié)的最后一部分,給出一個Simulink的應(yīng)用實例,增加讀者對Simulink建模的直觀印象。
例8-1 建立一個調(diào)幅(AM)系統(tǒng),信號頻率為100KMHz,載波頻率為1MHz,調(diào)幅系數(shù)為0.5,并在示波器中顯示出來。
具體的操作步驟如下:
1)打開MATLAB,在工具欄點擊 圖標(biāo),啟動Simulink(也可以直接在MATLAB命令窗口直接敲入simulink)。
2)在Simulink環(huán)境下新建一個模型,在Simulink工具欄點擊圖標(biāo)實現(xiàn)或通過菜單“File”中的“New Model”命令來實現(xiàn),將新模型保存為am.mdl。
3)從Simulink library Browser中加入基本模塊。首先從“Simulink Source”庫中選中“Sine Wave”模塊,直接將其拖拽到am.mdl的界面中,并復(fù)制該模塊;然后雙擊“Sine Wave”模塊,設(shè)定載波頻率和幅度。再按照同樣的方法將“Sine Wave1”模塊設(shè)定為信號產(chǎn)生模塊;再從“Simulink Math Operations”庫中選擇乘法器模塊Product,最后從“Simulink Sink”庫中選擇示波器Scope。
4)連接各個模塊,選中目標(biāo)模塊,按住Ctrl鍵,再點擊要連接的模塊,Simulink即可自動將兩個模塊連接起來,最終
|