帳號:
密碼:
CTIMES / 文章 /   
透過Simulink將模擬資料視覺化
 

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

瀏覽人次:【1383】
  

藉由執行完整的模擬,可以確認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公司)


相關文章
強化學習:入門指南
強化學習:入門指南
以模型化基礎設計流程開發測試AUTOSAR軟體元件與複雜裝置驅動
如何利用數位分身進行預測性維護
利用數位分身即時預測鑽油機的效能
comments powered by Disqus
相關討論
  相關新品
Arduino Motor Shield
原廠/品牌:RS
供應商:RS
產品類別:PC Board
mbed
原廠/品牌:RS
供應商:RS
產品類別:PC Board
Arduino
原廠/品牌:RS
供應商:RS
產品類別:PC Board
  相關新聞
» 調查:台灣89%受訪者在家以手機上網 線上看片為主
» Microchip推出智慧儲存介面卡Adaptec 實現大規模安全儲存管理
» E Ink打進日本智慧交通看板 獲西日本旅客鐵道株式會社採用
» 科技部首邀美、以兩國併購專家來台 分享併購新創趨勢
» 科技部2019 AI創新研究中心成果展登場 發表78件計畫實績
  相關產品
» 超恩推出新世代10G超高速伺服器級等嵌入式擴充式模組
» 明緯推出HEP-1000系列 1000W無風扇抗惡劣環境電源供應器
» 大聯大詮鼎推出高通QCA4024的雙模全自動智慧門鎖一站式方案
» 英飛凌推出CoolSiC MOSFET評估板 適用於最高7.5kW馬達驅動
» Western Digital推出專為公共安全與智慧城市應用優化的儲存裝置
  相關資源
» Power Management Solutions for Altera FPGAs

AD


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

Copyright ©1999-2019 遠播資訊股份有限公司版權所有 Powered by O3
地址:台北市中山北路三段29號11樓 / 電話 (02)2585-5526 / E-Mail: webmaster@ctimes.com.tw