2009年3月22日 星期日

Simulink

因為研究的關係,需要用到Simulink這套工具,簡單介紹一下Simulink的精神。

Simulink可以用來達成三個目的:模型化(model)、模擬(simulate)、分析(analyze)。其對象是系統(system),對系統建置模型、對系統進行模擬、對系統進行分析,讓我們調整系統的一些參數,看看會發生什麼事情。

Simulink可以模擬線性系統(linear)和非線性系統(nonlinear),而且支援連續時間(continuous time)跟離散時間(sampled time)的模擬,甚至是混合型時間(hybrid,就是連續和離散時間混合)的模擬,真的是非常強大。

重點來了,做以上這些事情,我認為最終目的其實是要設計(design),達到Model-Based Design,先分析之後再來設計,藉由模型的方式來設計出我們想要的系統,而Simulink提供graphical user interface (GUI)的方式,使得我們更容易操作,就像終端機時代進化到視窗時代的感覺!

此模型(Model)是階層式(hierarchical)架構的來建置,可以由上到下(top-down)或是由下到上(bottom-up),所以我們可以擁有不同的視野來看待一個系統!

這時候有個問題:你要用模型化的方式來設計,首先必須得到系統的模型(通常式數學模型),那要如何得到這個系統的模型呢?

系統模型化過程的步驟有六個:
  1. 定義系統(Defining the System)
    這個系統到底要定義多少元件(component),看看是不是要把系統切割成子系統(subsystem)。
  2. 確認系統中的元件(Identifying System Components)
    確認每個元件的細節,包含三個細節:參數(parameter)、狀態(state)、信號(signal)。其中參數和狀態在Simulink這套軟體當中是用區塊(block)表示,而信號是用線段(line)來表示。
  3. 用數學式來表示這個系統(Modeling the System with Equations)
    前面兩步驟只有定義"外殼",還沒有定義元件的"內涵"。這內涵通常是用數學方程式表示,方程式的總類有:代數(algebraic)方程式、邏輯(logical)方程式、對於連續型系統的微分(differential)方程式、對於離散型系統的差分(difference)方程式
  4. 建置simulink區塊(Building the Simulink Block Diagram)
    前三個步驟都只是紙上作業,現在開始動手建置simulink的系統,找想要使用的元件放入模型中,如果沒有可能就需要自行建立。
  5. 實現模擬(Running the Simulation)
    建好模型之後,當然是run看看,你考能需要設定模擬的一些參數。
  6. 證明模擬結果(Validating the Simulation Results)
    模擬結束之後,必須確認模擬結果符合實際的特性,藉由這些模擬值來研判模型的正確性。

沒有留言:

張貼留言