藉由執行完整的模擬,可以確認Simulink模型是否已沒有結構上的問題。但是,如何知道系統的行為是否會如同期待呢?要回答這個問題,你需要知道整個模擬過程之中的模擬輸出看起來是什麼樣子,以及系統參數或環境特性的變更將如何影響系統的回應。
藉由Simulink,可以透過多種選項來取得這類資料。本文將引導如何進行選擇,從開發初期為模型進行除錯的階段經常使用的工具,到通常用於深入模擬資料分析的工具。
端口值顯示-在模型除錯時進行訊號的探測
在為模型除錯以排除特定問題的時候,你通常會需要進行一個或一組訊號的探測。在Simulink,可以先透過對著訊號按下滑鼠右鍵,並選擇”Show Value Label of Selected Port”。接著,在模擬的每一個時間階段監看特定的訊號值,或者匯流排訊號每一個元件的數值(圖1)。
圖1 : 端口值顯示說明了執行模擬時四個分開的匯流排元件數值。 |
|
若要終止執行此視覺化,只需要對著訊號再次按下滑鼠右鍵,並取消該選項的選擇。
Scope與其他顯示模塊-快速檢視模擬資料
圖2 : 在Scope模塊檢視包含統計量測的正弦模擬資料。 |
|
端口值顯示提供每一個模擬時間階段的訊號值。如果要觀察這些訊號數值隨著時間會發生什麼樣的變化,可以加入Scope模塊(圖2)。將訊號曲線與範圍模塊相連,接著執行模擬,便可查看模擬中、模擬後的資料。
你可以在Scope模塊加入互動的游標測量訊號或軸上的幾個點。最大值、最小值、中位數等已知訊號的訊號統計值也可以顯示出來。也可以加入類似示波器的開關,讓Scope可以在特定事件發生時開始顯示或暫停顯示。
圖3 : 在DSP系統工具箱的Spectrum Analyzer(左)以及通訊工具箱(原名Communication System Toolbox,現已更名為Communication Toolbox)的Constellation Diagram檢視模擬資料(右)。 |
|
在訊號處理與通訊領域,可以在模型加入其他幾種類型的視覺化工具來快速檢視模擬資料。舉例來說,可以使用頻譜分析器(Spectrum Analyzer)模塊來檢視頻域資料(圖3左),或者使用Constellation Diagram模塊來檢視數位調變訊號的分布(圖3右)。
儀表板模塊函式庫-在同一個地方調整和監看模擬
隨著設計進度的前進,你可能會想要在模型的最上層設置一個介面,讓你或你的同事可以在同一個地方控制和監看模擬的狀態。你可以從儀表板(Dashboard)模塊函式庫,透過圖形化的控制和顯示來達成這樣的需求(圖4)。
圖4 : Simulink Dashboard模塊中函式庫的圖形化控制和顯示 |
|
這個函數庫包含了不同種類的顯示,像是量測計、燈等等。你可以將這些顯示與模型中的特殊訊號做關聯,方法是先開啟顯示模塊,並選擇你想要與該模塊相互關聯的訊號或模塊。執行模擬時,資料顯示會持續地在模型視窗當中更新,讓你可以一次檢視所有重要的模擬資料(圖5)。
圖5 : 從Simulink Dashboard模塊函式庫加入了燃料管理模擬的旋鈕、開關、量測計。 |
|
模擬資料檢驗器-檢視與分析來自多次模擬的資料
當你在開發模型時,執行多次模擬來測試不同的情境或優化設計通常是很重要的。針對這一點,你可以監看數百筆或甚至數千筆個別的訊號。模擬資料檢驗器(Simulation Data Inspector)可用來把多次模擬而來的所有資料儲存在同一個地方(圖6)。
圖6 : 在模擬資料檢驗器比較從兩次個別的模擬而來資料。 |
|
你可以接著比較從這些模擬得到的所有資料來做檢查,比如兩次模擬訊號輸出之間的差異是否在設計的容許範圍之內。
MATLAB圖表-將資料分析和視覺呈現客製化
許多Simulink視覺化工具的重心主要放在時域及頻域。如果要以其他Simulink未提供的領域或方式檢視資料的話,可以使用MATLAB。所有在Simulink產生的資料都可以透過MATLAB取得,以進行進一步的客製化資料分析,不論是透過指令行或程式腳本。這些資料接下來可以在MATLAB以數字或圖表來查看(圖7)。
圖7 : 以MATLAB腳本定義傅科擺(Foucault pendulum )的x、y座標並繪製3D直方圖(左),以及繪圖結果(右)。 |
|
特製的視覺化工具
到目前為止,我們已經看到針對一般應用的視覺化工具。另外也有一些特殊應用可以使用的工具。舉例來說,在利用Simulink即時控制工具(Simulink Real-Time)於目標機器執行即時模擬時,可以在主機調整參數及查看模擬資料(圖8)。
在調整控制系統時,可以透過Simulink控制設計模塊組(Simulink Control Design)繪製出控制器極值和零等資料,或者是模行的波德響應(Bode response)(圖9)。
除此之外,為了更清楚瞭解系統在預期環境的行為,你可以利用多體機構動態模擬模塊組(原名SimMechanics,現已更名為Simscape Multibody)、與FlightGear搭配的航太模塊組(Aerospace Blockset)、以及Simulink 3D動畫模塊組(Simulink 3D Animation),將Simulink模型與全3D環境連結(圖10)。
圖10 : 車輛測試軌道的虛擬環境,以Simulink 3D動畫模塊組建立。 |
|
(本文由鈦思科技提供,作者Michael Carone任職於MathWorks公司)