帳號:
密碼:
最新動態
產業快訊
CTIMES / 文章 /
透過Simulink將模擬資料視覺化
 

【作者: Michael Carone】   2019年08月23日 星期五

瀏覽人次:【8547】

藉由執行完整的模擬,可以確認Simulink模型是否已沒有結構上的問題。但是,如何知道系統的行為是否會如同期待呢?要回答這個問題,你需要知道整個模擬過程之中的模擬輸出看起來是什麼樣子,以及系統參數或環境特性的變更將如何影響系統的回應。


藉由Simulink,可以透過多種選項來取得這類資料。本文將引導如何進行選擇,從開發初期為模型進行除錯的階段經常使用的工具,到通常用於深入模擬資料分析的工具。


端口值顯示-在模型除錯時進行訊號的探測

在為模型除錯以排除特定問題的時候,你通常會需要進行一個或一組訊號的探測。在Simulink,可以先透過對著訊號按下滑鼠右鍵,並選擇”Show Value Label of Selected Port”。接著,在模擬的每一個時間階段監看特定的訊號值,或者匯流排訊號每一個元件的數值(圖1)。



圖1 : 端口值顯示說明了執行模擬時四個分開的匯流排元件數值。
圖1 : 端口值顯示說明了執行模擬時四個分開的匯流排元件數值。

若要終止執行此視覺化,只需要對著訊號再次按下滑鼠右鍵,並取消該選項的選擇。


Scope與其他顯示模塊-快速檢視模擬資料

圖2 : 在Scope模塊檢視包含統計量測的正弦模擬資料。
圖2 : 在Scope模塊檢視包含統計量測的正弦模擬資料。

端口值顯示提供每一個模擬時間階段的訊號值。如果要觀察這些訊號數值隨著時間會發生什麼樣的變化,可以加入Scope模塊(圖2)。將訊號曲線與範圍模塊相連,接著執行模擬,便可查看模擬中、模擬後的資料。


你可以在Scope模塊加入互動的游標測量訊號或軸上的幾個點。最大值、最小值、中位數等已知訊號的訊號統計值也可以顯示出來。也可以加入類似示波器的開關,讓Scope可以在特定事件發生時開始顯示或暫停顯示。


圖3 : 在DSP系統工具箱的Spectrum Analyzer(左)以及通訊工具箱(原名Communication System Toolbox,現已更名為Communication Toolbox)的Constellation Diagram檢視模擬資料(右)。
圖3 : 在DSP系統工具箱的Spectrum Analyzer(左)以及通訊工具箱(原名Communication System Toolbox,現已更名為Communication Toolbox)的Constellation Diagram檢視模擬資料(右)。

在訊號處理與通訊領域,可以在模型加入其他幾種類型的視覺化工具來快速檢視模擬資料。舉例來說,可以使用頻譜分析器(Spectrum Analyzer)模塊來檢視頻域資料(圖3左),或者使用Constellation Diagram模塊來檢視數位調變訊號的分布(圖3右)。


儀表板模塊函式庫-在同一個地方調整和監看模擬

隨著設計進度的前進,你可能會想要在模型的最上層設置一個介面,讓你或你的同事可以在同一個地方控制和監看模擬的狀態。你可以從儀表板(Dashboard)模塊函式庫,透過圖形化的控制和顯示來達成這樣的需求(圖4)。


圖4 : Simulink Dashboard模塊中函式庫的圖形化控制和顯示
圖4 : Simulink Dashboard模塊中函式庫的圖形化控制和顯示

這個函數庫包含了不同種類的顯示,像是量測計、燈等等。你可以將這些顯示與模型中的特殊訊號做關聯,方法是先開啟顯示模塊,並選擇你想要與該模塊相互關聯的訊號或模塊。執行模擬時,資料顯示會持續地在模型視窗當中更新,讓你可以一次檢視所有重要的模擬資料(圖5)。



圖5 : 從Simulink Dashboard模塊函式庫加入了燃料管理模擬的旋鈕、開關、量測計。
圖5 : 從Simulink Dashboard模塊函式庫加入了燃料管理模擬的旋鈕、開關、量測計。

模擬資料檢驗器-檢視與分析來自多次模擬的資料

當你在開發模型時,執行多次模擬來測試不同的情境或優化設計通常是很重要的。針對這一點,你可以監看數百筆或甚至數千筆個別的訊號。模擬資料檢驗器(Simulation Data Inspector)可用來把多次模擬而來的所有資料儲存在同一個地方(圖6)。



圖6 : 在模擬資料檢驗器比較從兩次個別的模擬而來資料。
圖6 : 在模擬資料檢驗器比較從兩次個別的模擬而來資料。

你可以接著比較從這些模擬得到的所有資料來做檢查,比如兩次模擬訊號輸出之間的差異是否在設計的容許範圍之內。


MATLAB圖表-將資料分析和視覺呈現客製化

許多Simulink視覺化工具的重心主要放在時域及頻域。如果要以其他Simulink未提供的領域或方式檢視資料的話,可以使用MATLAB。所有在Simulink產生的資料都可以透過MATLAB取得,以進行進一步的客製化資料分析,不論是透過指令行或程式腳本。這些資料接下來可以在MATLAB以數字或圖表來查看(圖7)。


圖7 : 以MATLAB腳本定義傅科擺(Foucault pendulum )的x、y座標並繪製3D直方圖(左),以及繪圖結果(右)。
圖7 : 以MATLAB腳本定義傅科擺(Foucault pendulum )的x、y座標並繪製3D直方圖(左),以及繪圖結果(右)。

特製的視覺化工具

到目前為止,我們已經看到針對一般應用的視覺化工具。另外也有一些特殊應用可以使用的工具。舉例來說,在利用Simulink即時控制工具(Simulink Real-Time)於目標機器執行即時模擬時,可以在主機調整參數及查看模擬資料(圖8)。


圖8 : 用來控制和監看即時模擬的儀器
圖8 : 用來控制和監看即時模擬的儀器

在調整控制系統時,可以透過Simulink控制設計模塊組(Simulink Control Design)繪製出控制器極值和零等資料,或者是模行的波德響應(Bode response)(圖9)。


圖9 : 控制系統的波德響應
圖9 : 控制系統的波德響應

除此之外,為了更清楚瞭解系統在預期環境的行為,你可以利用多體機構動態模擬模塊組(原名SimMechanics,現已更名為Simscape Multibody)、與FlightGear搭配的航太模塊組(Aerospace Blockset)、以及Simulink 3D動畫模塊組(Simulink 3D Animation),將Simulink模型與全3D環境連結(圖10)。


圖10 : 車輛測試軌道的虛擬環境,以Simulink 3D動畫模塊組建立。
圖10 : 車輛測試軌道的虛擬環境,以Simulink 3D動畫模塊組建立。

(本文由鈦思科技提供,作者Michael Carone任職於MathWorks公司)


相關文章
NASA太空飛行器任務開發光學導航軟體
近即時模擬與控制協助自主水下載具機動運行
資料科學與機器學習協助改善頸部損傷評估
配電網路的即時模擬環境開發
MATLAB與Simulink整合自動化機器學習與DevOps
comments powered by Disqus
相關討論
  相關新聞
» 貿澤開售TI新款車用乙太網路實體層收發器DP83TG721-Q1
» InnoVEX 2025沙龍座談 助新創搶攻亞洲市場
» 醫生實測:ChatGPT在診斷疾病方面更勝一籌
» 研究:成功掌握AI潛力的關鍵在於適應全球地緣政治與監管環境
» Red Hat收購Neural Magic 帶來生成式AI模型優化演算法


刊登廣告 新聞信箱 讀者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 遠播資訊股份有限公司版權所有 Powered by O3  v3.20.2048.18.191.154.174
地址:台北數位產業園區(digiBlock Taipei) 103台北市大同區承德路三段287-2號A棟204室
電話 (02)2585-5526 #0 轉接至總機 /  E-Mail: webmaster@ctimes.com.tw