SIMULINK

可視化模擬工具

Simulink是美國Mathworks公司推出的MATLAB中的一種可視化模擬工具。Simulink是一個模塊圖環境,用於多域模擬以及基於模型的設計。它支持系統設計、模擬、自動代碼生成以及嵌入式系統的連續測試和驗證。Simulink提供圖形編輯器、可自定義的模塊庫以及求解器,能夠進行動態系統建模和模擬。

Simulink與MATLAB相集成,能夠在Simulink 中將MATLAB演演算法融入模型,還能將模擬結果導出至 MATLAB 做進一步分析。Simulink應用領域包括汽車、航空、工業自動化、大型建模、複雜邏輯、物理邏輯,信號處理等方面。

簡介


Simulink具有適應面廣、結構和流程清晰及模擬精細、貼近實際、效率高、靈活等優點,並基於以上優點Simulink已被廣泛應用於控制理論和數字信號處理的複雜模擬和設計。同時有大量的第三方軟體和硬體可應用於或被要求應用於Simulink。

功能


Simulink可以用連續採樣時間、離散採樣時間或兩種混合的採樣時間進行建模,它也支持多速率系統,也就是系統中的不同部分具有不同的採樣速率。為了創建動態系統模型,Simulink提供了一個建立模型方塊圖的圖形用戶介面,這個創建過程只需單擊和拖動滑鼠操作就能完成,它提供了一種更快捷、直接明了的方式,而且用戶可以立即看到系統的模擬結果。
Simulink是用於動態系統和嵌入式系統的多領域模擬和基於模型的設計工具。對各種時變系統,包括通訊、控制、信號處理、視頻處理和圖像處理系統,Simulink提供了互動式圖形化環境和可定製模塊庫來對其進行設計、模擬、執行和測試。.
構架在Simulink基礎之上的其他產品擴展了Simulink多領域建模功能,也提供了用於設計、執行、驗證和確認任務的相應工具。Simulink與MATLAB緊密集成,可以直接訪問MATLAB大量的工具來進行演演算法研發、模擬的分析和可視化、批處理腳本的創建、建模環境的定製以及信號參數和測試數據的定義。

特點


豐富的可擴充的預定義模塊庫。
互動式的圖形編輯器來組合和管理直觀的模塊圖。
以設計功能的層次性來分割模型,實現對複雜設計的管理。
通過Model Explorer 導航、創建、配置、搜索模型中的任意信號、參數、屬性,生成模型代碼。
提供API用於與其他模擬程序的連接或與手寫代碼集成。
使用Embedded MATLAB™ 模塊在Simulink和嵌入式系統執行中調用MATLAB演演算法。
使用定步長或變步長運行模擬,根據模擬模式(Normal,Accelerator,Rapid Accelerator)來決定以解釋性的方式運行或以編譯C代碼的形式來運行模型。
圖形化的調試器和剖析器來檢查模擬結果,診斷設計的性能和異常行為。
可訪問MATLAB從而對結果進行分析與可視化,定製建模環境,定義信號參數和測試數據。
模型分析和診斷工具來保證模型的一致性,確定模型中的錯誤。

啟動


1、在MATLAB命令窗口中輸入simulink
結果是在桌面上出現一個稱為Simulink Library Browser的窗口,在這個窗口中列出了按功能分類的各種模塊的名稱。
當然用戶也可以通過MATLAB主窗口的快捷按鈕來打開Simulink Library Browser窗口。
2、在MATLAB命令窗口中輸入simulink3
結果是在桌面上出現一個用圖標形式顯示的Library :simulink3的Simulink模塊庫窗口。
兩種模塊庫窗口界面只是不同的顯示形式,用戶可以根據各人喜好進行選用,一般說來第二種窗口直觀、形象,易於初學者,但使用時會打開太多的子窗口。

模塊介紹


SIMULINK模塊庫按功能進行分類,包括以下8類子庫:
Continuous(連續模塊)。
Discrete(離散模塊)。
Function&Tables(函數和平台模塊)。
Math(數學模塊)。
Nonlinear(非線性模塊)。
Signals&Systems(信號和系統模塊)。
Sinks(接收器模塊)。
Sources(輸入源模塊)。
連續模塊(Continuous) continuous.mdl。
Integrator:輸入信號積分。
Derivative:輸入信號微分。
State-Space:線性狀態空間系統模型。
Transfer-Fcn:線性傳遞函數模型。
Zero-Pole:以零極點表示的傳遞函數模型。
Memory:存儲上一時刻的狀態值。
Transport Delay:輸入信號延時一個固定時間再輸出。
Variable Transport Delay:輸入信號延時一個可變時間再輸出。
離散模塊(Discrete) discrete.mdl。
Discrete-time Integrator:離散時間積分器。
Discrete Filter:IIR與FIR濾波器。
Discrete State-Space:離散狀態空間系統模型。
Discrete Transfer-Fcn:離散傳遞函數模型。
Discrete Zero-Pole:以零極點表示的離散傳遞函數模型。
First-Order Hold:一階採樣和保持器。
Zero-Order Hold:零階採樣和保持器。
Unit Delay:一個採樣周期的延時。
Function&Tables(函數和平台模塊) function.mdl。
Fcn:用用戶自定義的函數(表達式)進行運算。
MATLAB Fcn:利用matlab的現有函數進行運算。
S-Function:調用自編的S函數的程序進行運算。
Look-Up Table:建立輸入信號的查詢表(線性峰值匹配)。
Look-Up Table(2-D):建立兩個輸入信號的查詢表(線性峰值匹配)。
Math(數學模塊) math.mdl。
Sum:加減運算。
Product:乘運算。
Dot Product:點乘運算。
Gain:比例增益運算。
Math Function:包括指數函數、對數函數、求平方、開根號等常用數學函數。
Trigonometric Function:三角函數,包括正弦、餘弦、正切等。
MinMax:最值運算。
Abs:取絕對值。
Sign:符號函數。
Logical Operator:邏輯運算。
Relational Operator:關係運算。
Complex to Magnitude-Angle:由複數輸入轉為幅值和相角輸出。
Magnitude-Angle to Complex:由幅值和相角輸入合成複數輸出。
Complex to Real-Imag:由複數輸入轉為實部和虛部輸出。
Real-Imag to Complex:由實部和虛部輸入合成複數輸出。
Nonlinear(非線性模塊) nonlinear.mdl。
Saturation:飽和輸出,讓輸出超過某一值時能夠飽和。
Relay:滯環比較器,限制輸出值在某一範圍內變化。
Switch:開關選擇,當第二個輸入端大於臨界值時,輸出由第一個輸入端而來,否則輸出由第三個輸入端而來。
Manual Switch:手動選擇開關。
Signal&Systems(信號和系統模塊) sigsys.mdl。
In1:輸入端。
Out1:輸出端。
Mux:將多個單一輸入轉化為一個複合輸出。
Demux:將一個複合輸入轉化為多個單一輸出。
Ground:連接到沒有連接到的輸入端。
Terminator:連接到沒有連接到的輸出端。
SubSystem:建立新的封裝(Mask)功能模塊。
Sinks(接收器模塊) sinks.mdl。
Scope:示波器
XY Graph:顯示二維圖形。
To Workspace:將輸出寫入MATLAB的工作空間。
To File(.mat):將輸出寫入數據文件。
Sources(輸入源模塊) sources.mdl。
Constant:常數信號。
Clock:時鐘信號。
From Workspace:來自MATLAB的工作空間。
From File(.mat):來自數據文件。
Pulse Generator:脈衝發生器。
Repeating Sequence:重複信號。
Signal Generator:信號發生器,可以產生正弦、方波、鋸齒波及隨意波。
Sine Wave:正弦波信號。
Step:階躍波信號。
Ramp: 斜坡信號。