基於模型的設計

基於模型的設計（Model-Based Design，簡稱MBD）是一種數學及可视化的方法，可以用來處理複雜控制系統、信號處理及通訊系統的設計。基於模型的設計可以用在運動控制、工業設計、航天以及車輛應用中。基於模型的設計也是嵌入式系統設計的方法論。

簡介 
基於模型的設計是一種較有效率的設計方式，在支援开发过程（V模型）的同時，在設計過程中建立了溝通用的共同框架。若用這種方式設計控制系統，開發會分為以下四步驟：
 為受控體建模。 
 配合受控體，分析及合成適合的控制器。 
 針對控制器及受控體進行仿真。 
 整合上述的步驟來佈署控制器。 

基於模型的設計和傳統的設計方法論有很大的不同。設計者在使用基於模型的設計時，不需使用複雜的架構以及繁多的软件代码，只需利用基於模型的設計來定義系統模型，再配合連續及離散的架構方塊來產生進階的機能特性。使用仿真工具建立的模型可以進行快速應用程式開發、软件测试和验证。不但強化了測試以及验证的程序。有些情形下，可以將這個新的設計方法配合硬件在环的仿真，測試系統的動態效應，不但速度更快，也比傳統的設計方法論更加有效率。

基於模型設計的步驟
基於模型設計的主要步驟如下：
 受控體建模：受控體建模可以以資料驅動（data-driven）為基礎，也可以依照第一原理（first principle）建模。資料驅動的建模會配合系統識別或是類似的技術。系統識別會先取得系統在真實世界中的輸入輸出資料，並進行處理，再配合數學演算法來識別系統的模型。在系統識別後，就可以針對受控體設計適合的控制器。首要原則驅動的建模是先找到受控體的，再創建方塊圖模型來實現上述的統御方程式。實體建模（physical modeling）就是一種首要原則驅動的驅動建模方式，模型中會包括許多互相連結的方塊，對應實際受控體中的各個元件。
控制器分析及合成：會使用步驟1得到的數學模型來確認模型的動態特性，再依這些特性設計符合特性的控制器。
離線的仿真及：會分析動態系統在複雜時變輸入下的反應特性。這可以將受授體的簡易線性非時變模型和控制器一起進行仿真，也可以用受授體的非線性模型和控制器進行仿真。仿真有助於找到規格、需求以及建模時的錯誤，而不是在之後實際設計控制器時才發現。實時仿真可以用步驟2的控制器進行代碼自動生成（automatically generating code）來達到。代碼可以佈署在特殊的實時原型電腦中，這個電腦可以執行程式並且控制受控體的運作。假如無法取得受控體的原型，或是配合原型的測試有危險性或是太過昂貴，可以配合受控體模型進行自動代碼生成。之後可以將代碼布署到另一台電腦上，這台電腦和執行控制體的電腦相連。因此可以實時的測試控制器，不過控制的不是實際的受控體，而是實時仿真的受控體模型。
佈署控制器：理想上讓步驟2的控制器進行代碼自動生成，即可佈署控制器。不過一開始時，控制器在實際系統上的性能會和仿真時的性能不同，此時可以用迭代除錯方式，分析實際系統上的結果，依分析結果更新控制器模型。配合基於模型設計的工具，可以在統一化可視環境下，進行上述的迭代除錯。

優點
基於模型的設計相較於傳統開發方式的優點有：
 基於模型的設計提供一個共同的開發環境，有助於不同的開發團隊之間的一般性溝通、資料分析以及系統驗證。
 工程師可以在系統設計早期定位出錯誤並且修正錯誤，此時系統修改造成的時間衝擊及財務影響都是最小的。
 設計可以復用，有助於提昇機能及衍生系統的擴充能力。

參考資料

相關條目

控制理论

科學建模
技術規範
模型驱动工程
系统工程
模型在環

控制工程