以文本方式查看主題 - 曙海教育集團論壇 (http://www.rfoamep.cn/bbs/index.asp) -- DSP系統(tǒng)和硬件開發(fā)討論區(qū) (http://www.rfoamep.cn/bbs/list.asp?boardid=5) ---- 7.2.2 Simulink基礎(chǔ) (http://www.rfoamep.cn/bbs/dispbbs.asp?boardid=5&id=1293) |
-- 作者:wangxinxin -- 發(fā)布時間:2010-11-13 10:01:05 -- 7.2.2 Simulink基礎(chǔ) 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)在的模塊化設計要求。 根據(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ù)據(jù)類型等,并且檢查各個模塊是否能連接到其相應的輸入信號; (5)決定所有未設定采樣時間的模塊的采樣時間; (6)分配和初始化用于存儲每個模塊的狀態(tài)和輸入當前值的存儲空間。 完成上述工作后,就可以進入模型執(zhí)行階段。 2)模型執(zhí)行 一般模型是使用數(shù)值積分來進行仿真的,所運用的仿真解法器依賴于模型提供的連續(xù)積分能力。計算微分可以分為兩步來進行:首先,按照排序所確定的次序計算每個模塊的輸出;其次,根據(jù)當前時刻的輸入和狀態(tài)來決定狀態(tài)的微分,得到微分向量后再把它返回給解法器,再用其來計算下一時刻采樣點的狀態(tài)向量,一旦新的狀態(tài)向量計算完畢,被采樣的數(shù)據(jù)源模塊和接收模塊才被更新。 在仿真開始時,模型設定待仿真系統(tǒng)的初始狀態(tài)和輸出。在每一個時間步長中,Simulink計算系統(tǒng)的輸入、狀態(tài)和輸出,并更新模型來反映計算出的值。在仿真結(jié)束時,模型得出系統(tǒng)的輸入、狀態(tài)和輸出。 4.Simulink設計簡單舉例 作為本節(jié)的最后一部分,給出一個Simulink的應用實例,增加讀者對Simulink建模的直觀印象。 例8-1 建立一個調(diào)幅(AM)系統(tǒng),信號頻率為100KMHz,載波頻率為1MHz,調(diào)幅系數(shù)為0.5,并在示波器中顯示出來。 具體的操作步驟如下: 1)打開MATLAB,在工具欄點擊 圖標,啟動Simulink(也可以直接在MATLAB命令窗口直接敲入simulink)。 2)在Simulink環(huán)境下新建一個模型,在Simulink工具欄點擊圖標實現(xiàn)或通過菜單“File”中的“New Model”命令來實現(xiàn),將新模型保存為am.mdl。 3)從Simulink library Browser中加入基本模塊。首先從“Simulink Source”庫中選中“Sine Wave”模塊,直接將其拖拽到am.mdl的界面中,并復制該模塊;然后雙擊“Sine Wave”模塊,設定載波頻率和幅度。再按照同樣的方法將“Sine Wave1”模塊設定為信號產(chǎn)生模塊;再從“Simulink Math Operations”庫中選擇乘法器模塊Product,最后從“Simulink Sink”庫中選擇示波器Scope。 4)連接各個模塊,選中目標模塊,按住Ctrl鍵,再點擊要連接的模塊,Simulink即可自動將兩個模塊連接起來,最終 |