成熟丰满熟妇高潮XXXXX,人妻无码AV中文系列久久兔费 ,国产精品一国产精品,国精品午夜福利视频不卡麻豆

您好,歡迎來到九壹網(wǎng)。
搜索
您的當(dāng)前位置:首頁MATLAB介紹材料

MATLAB介紹材料

來源:九壹網(wǎng)
?MATLAB

——加速創(chuàng)新與算法開發(fā)

MATLAB是一種高級科學(xué)計算軟件,也是進(jìn)行算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計算的交互式應(yīng)用開發(fā)環(huán)境。世界上許許多多的科研工作者都在使用MATLAB產(chǎn)品來加快他們的科研進(jìn)程,縮短數(shù)據(jù)分析和算法開發(fā)的時間,研發(fā)出更加先進(jìn)的產(chǎn)品和技術(shù)。相對于傳統(tǒng)的C、C++或者FORTRAN語言,MATLAB提供了高效快速解決各種科學(xué)計算問題的方法。目前,MATLAB產(chǎn)品已經(jīng)被廣泛認(rèn)可為科學(xué)計算領(lǐng)域內(nèi)的標(biāo)準(zhǔn)軟件工具之一。

MATLAB可以被廣泛的應(yīng)用于不同的領(lǐng)域,例如信號與圖像處理、控制系統(tǒng)設(shè)計與仿真、通訊系統(tǒng)設(shè)計與仿真、測量測試與數(shù)據(jù)采集、金融數(shù)理分析以及生物科學(xué)等。在MATLAB中內(nèi)建了豐富的數(shù)學(xué)、統(tǒng)計和工程計算函數(shù),使用這些函數(shù)進(jìn)行問題的分析解答,無論是問題的提出還是結(jié)果的表達(dá)都采用工程師習(xí)慣的數(shù)學(xué)描述方法,這一特點使MATLAB成為

了數(shù)學(xué)分析、算法開發(fā)及應(yīng)用程序開發(fā)的良好環(huán)境。MATLAB是MathWorks產(chǎn)品家族中所有產(chǎn)品的基礎(chǔ)。附加的工具箱擴(kuò)展MATLAB基本環(huán)境用于解決特定領(lǐng)域的工程問題。

特點

? ? ? ?

高級科學(xué)計算語言;

代碼、數(shù)據(jù)文件的集成管理環(huán)境; 算法設(shè)計開發(fā)的交互式工具;

用于線性代數(shù)、統(tǒng)計、傅立葉分析、濾波器設(shè)計、優(yōu)化和數(shù)值計算的基本數(shù)學(xué)函數(shù);

? ?

2-D和3-D數(shù)據(jù)可視化;

創(chuàng)建自定義工程師圖形界面的工具;

? 與第三方算法開發(fā)工具——C/C++、FORTRAN、Java、COM、Microsoft Excel——集成開發(fā)基于MATLAB的算法;

強(qiáng)大的功能

數(shù)學(xué)計算

利用以矩陣、向量為基本運算單元的MATLAB進(jìn)行數(shù)學(xué)計算是加速算法開發(fā)的有效途徑,而且MATLAB提供的數(shù)學(xué)算法凝聚了世界上諸多科學(xué)家的辛勤勞動,保證了數(shù)學(xué)計算精確的結(jié)果。MATLAB數(shù)學(xué)計算的內(nèi)容有:

? ? ? ? ? ? ? ?

線性代數(shù)和矩陣分析與變換 數(shù)據(jù)處理與基本統(tǒng)計

快速傅里葉變換(FFT),相關(guān)與協(xié)方差分析 稀疏矩陣運算 三角及其它初等函數(shù)

Bessel、beta及其它特殊函數(shù) 線性方程及微分方程求解 數(shù)組的支持

開發(fā)工具

MATLAB提供了各種用于算法開發(fā)的工具,其中包括:

? MATLAB Editor —— 該工具提供了標(biāo)準(zhǔn)的編輯、調(diào)試M語言算法的基本環(huán)境,例如可以在該工具中定義斷點并且進(jìn)行單步調(diào)試。

? M-Lint Code Checker —— 該工具用于分析M語言代碼并且向開發(fā)人員提出改善代碼性能和維護(hù)性的建議。

? MATLAB Profiler —— 該工具可以計算每行M語言代碼執(zhí)行消耗的時間;

? Directory Reports —— 該工具掃描當(dāng)前目錄下所有的M語言,并且報告文件的代

碼效率、文件的相關(guān)性以及代碼覆蓋度等信息。

數(shù)據(jù)的可視化

MATLAB提供了功能豐富的數(shù)據(jù)可視化功能函數(shù),其中包括:

? 二維、三維繪圖,包括散點圖、直線圖、封閉折線圖(polygon)、網(wǎng)線圖、等值線圖、極坐標(biāo)圖、直方圖等豐富多樣的數(shù)據(jù)可視化手段;

? ?

交互的文本注釋編輯能力;

提供文件I/O能利用來顯示繪制圖形,支持多種圖像文件格式例如:EPS, TIFF, JPEG, PNG, BMP, HDF, AVI, PCX等;

? ? ? ? ?

軟硬件支持的OpenGL渲染; 支持動畫和聲音;

多種光源設(shè)置、照相機(jī)和透視控制;

對圖形界面元素提供了交互式可編程的控制方法——句柄圖形;

能夠打印或者導(dǎo)出數(shù)據(jù)圖形文件到其它的應(yīng)用程序中,例如Word and PowerPoint,共享開發(fā)的結(jié)果。

交互式編輯創(chuàng)建圖形

MATLAB提供了交互式工具用于設(shè)計、修改圖形窗體,在MATLAB的圖形窗體中工程師可以完成:

? ? ? ? ?

拖放數(shù)據(jù)集到窗體;

修改圖形窗體中任意對象的屬性;

放大、旋轉(zhuǎn)、平移、修改攝像機(jī)或者光線的位置、角度等; 增加注釋和數(shù)據(jù)標(biāo)注; 將圖形窗體文件轉(zhuǎn)變?yōu)镸代碼;

集成的算法開發(fā)編程語言和環(huán)境

MATLAB提供了一種簡便易用的算法開發(fā)語言——M語言,直接利用MATLAB提供的基本數(shù)學(xué)、圖形能力,開發(fā)工程師自定義的算法。幾乎所有的MATLAB工具箱函數(shù)都是利用M語言開發(fā)的。

? ? ? ?

可視化的程序編輯器/調(diào)試器; 語法風(fēng)格類似C語言,容易掌握; JIT加速器加快程序運行速度;

向量及工程師自定義結(jié)構(gòu),以及數(shù)組、結(jié)構(gòu)、元胞數(shù)組等多種數(shù)據(jù)結(jié)構(gòu);

? ? ? ? ?

支持面向?qū)ο缶幊蹋∣OP);

流程控制(for,while,if,switch); 字符變換;

ASCII及二進(jìn)制文件輸入輸出;

靈活的開發(fā)性能夠與C, C++, FORTRAN, Java, COM 組件以及 Excel 集成使用;

? ?

支持使用底層I/O手段獲取數(shù)據(jù),操作數(shù)據(jù)文件; MATLAB數(shù)據(jù)文件——MAT文件支持跨平臺應(yīng)用。

圖形用戶界面開發(fā)環(huán)境——GUIDE

? ? ?

應(yīng)用程序向?qū)Ш喕_發(fā)步驟; 下拉及彈出式菜單;

支持多種界面元素按鈕(PUSH BUTTON),選項鈕(RADIO BUTTON),檢查框(CHECK BOXE

S), 滑塊(SLIDERS)、可編輯文本框(EDIT BOX)和ActiveX控件;

? ?

鼠標(biāo)事件(Mouse Event)和回調(diào); 利用回調(diào)函數(shù)響應(yīng)工程師的操作。

開放性、可擴(kuò)展性強(qiáng)

M-語言函數(shù)文件是可見的MATLAB程序,所以工程師可以查看源代碼。開放的系統(tǒng)設(shè)計使工程師能夠檢查算法的正確性,修改已存在的函數(shù),或者加入自己的新部件,包括:

? ? ? ? ? ? ? ?

使用C或者FORTRAN MEX 文件集成已有的C/FORTRAN算法; 在C或FORTRAN程序中調(diào)用MATLAB函數(shù); 在MATLAB中使用Java語言編程; 提供COM服務(wù)和COM控制支持;

輸入輸出各種MATLAB及其它標(biāo)準(zhǔn)格式的數(shù)據(jù)文件; 對計算機(jī)串口進(jìn)行輸入輸出操作; 加載通用DLL文件;

創(chuàng)建圖文并貌的技術(shù)文檔,包括MATLAB圖形、命令,并可通過Word、HTML輸出;

專業(yè)應(yīng)用工具箱

MATLAB的工具箱加強(qiáng)了對工程及科學(xué)中特殊應(yīng)用的支持。工具箱也和MATLAB一樣是完全工程師化的,可擴(kuò)展性強(qiáng)。將某個或某幾個工具箱與MATLAB聯(lián)合使用,可以得到一個功能強(qiáng)大的計算組合包,滿足工程師的特殊要求。于是,MATLAB產(chǎn)品被廣泛應(yīng)用于下列領(lǐng)域:

? ? ? ? ? ?

測量測試 數(shù)學(xué)建模與分析 信號處理

財經(jīng)金融建模與分析 圖像處理與地理信息 MATLAB桌面應(yīng)用程序發(fā)布

Control System Toolbox

——控制系統(tǒng)的分析和設(shè)計

Control System Toolbox為線性控制系統(tǒng)的分析、設(shè)計和調(diào)節(jié)提供符合工業(yè)標(biāo)準(zhǔn)的算法和工具。用戶可以通過傳遞函數(shù)、狀態(tài)方程、零極點增益或者頻率響應(yīng)模型對系統(tǒng)進(jìn)行描述。通過交互式的工具和命令行行數(shù),如階躍響應(yīng)圖和波德圖,用戶能夠可視化的了解系統(tǒng)的時域和頻域行為。用戶還可以通過自動的PID控制器來調(diào)節(jié)補(bǔ)償參數(shù),通過驗證上升時間、超調(diào)、穩(wěn)態(tài)時間、增益、相位差和其它要求來驗證設(shè)計。 特點

? ? ? ? ? ?

線性系統(tǒng)的傳遞函數(shù)、狀態(tài)方程、零極點和頻率響應(yīng)模型 線性模型的串行、并行、反饋和普通模塊連接

階躍響應(yīng)、耐奎斯特圖和其它的時域、頻域工具分析系統(tǒng)穩(wěn)定性和性能 根軌跡、波德圖、LQR、LQG和其它經(jīng)典、狀態(tài)空間控制系統(tǒng)設(shè)計技術(shù) PID控制器自動調(diào)節(jié)

支持模型間的轉(zhuǎn)換:包括表達(dá)方式之間的轉(zhuǎn)換、離散連續(xù)模型間的轉(zhuǎn)換;可以實現(xiàn)高階模型的低階近似計算

? 使用LAPACK及SLICOT庫中的高級內(nèi)建算法進(jìn)行模型的精煉及性能的優(yōu)化

控制和評估工具(上圖),基于GUI的工作流程能讓用戶交互式的進(jìn)行控制器分析、設(shè)計和調(diào)節(jié)。提供的工具包括根軌跡、波德圖和階躍響應(yīng)(下圖)。

強(qiáng)大功能

線性控制技術(shù)是控制系統(tǒng)設(shè)計和分析的基礎(chǔ)。利用控制系統(tǒng)工具箱,用戶可以創(chuàng)建控制系統(tǒng)的線性模型。利用交互可視化工具,用戶可以對模型進(jìn)行諸如行為、性能及約束等方面的更為細(xì)致的分析。利用單回路和多回路設(shè)計技術(shù),用戶還可以方便系統(tǒng)地調(diào)節(jié)控制系統(tǒng)的參數(shù)。

利用控制系統(tǒng)工具箱得到的線性模型還可以應(yīng)用于其它進(jìn)行控制設(shè)計的產(chǎn)品模塊,比如魯棒控制工具箱及模型預(yù)測控制工具箱。結(jié)合Simulink Control Design及Simulink Response Optimization,控制系統(tǒng)工具箱還可以為用戶提供一個全面的、圖形用戶界面驅(qū)動的工具集,用于在Simulink環(huán)境中對控制系統(tǒng)進(jìn)行分析和調(diào)節(jié)。

使用PID調(diào)節(jié)器,調(diào)節(jié)如等式所定義的PID控制器C。用戶可自動計算初始化條件然后重復(fù)計算PID增益及調(diào)節(jié)響應(yīng)時間。

創(chuàng)建和操作線性模型

控制系統(tǒng)工具箱允許用戶將動態(tài)系統(tǒng)表示及操作成線性模型,這種線性模型以對象的形式存在。工具箱支持所有的標(biāo)準(zhǔn)表示方法,包括:傳遞函數(shù)形式、零極點增益形式、狀態(tài)空間形式及頻率響應(yīng)數(shù)據(jù)的形式。線性模型可以是SISO的、MIMO的、連續(xù)的或離散的。用戶可將PID控制器作為PID對象。不僅如此,用戶還可以對帶有時間延遲的系統(tǒng)進(jìn)行精確描述和仿真,包括系統(tǒng)的反饋回路帶有延遲的情況。

控制系統(tǒng)工具箱提供下述指令:

? ?

進(jìn)行線性模型操作的算法

通過簡單模型的串聯(lián)、并連及反饋連接創(chuàng)建復(fù)雜的模塊框圖

? ?

對連續(xù)時間模型進(jìn)行離散化處理 對高階模型進(jìn)行低階的近似計算

用戶還可以利用LTI模塊將線性模型對象導(dǎo)入到Simulink中。

創(chuàng)建被控對象的線性模型通常都是控制系統(tǒng)設(shè)計的第一步,如果被控對象不可得,可以利用實驗數(shù)據(jù)以及系統(tǒng)辨識工具箱擬合出一個數(shù)學(xué)模型,或者利用Simulink Control Design將非線性數(shù)學(xué)模型進(jìn)行線性化處理。這兩類型數(shù)學(xué)模型都可以以對象的形式導(dǎo)入控制系統(tǒng)工具箱,一旦被控對象以對象(object)的形式表示出來,用戶就可以利用控制系統(tǒng)工具箱進(jìn)行分析和設(shè)計了。

MATLAB代碼用于創(chuàng)建和分析控制器C和被控對象模型G的反饋回路。這個被控對象是以具有延時T秒的一階傳遞函數(shù)進(jìn)行建模的。

分析模型

控制系統(tǒng)工具箱提供了GUI和命令行兩種方式進(jìn)行系統(tǒng)設(shè)計,以方便不同模型的分析和設(shè)計。

控制系統(tǒng)工具箱中的LTI Viewer是一個GUI工具,可以簡化線性時不變系統(tǒng)的分析。利

用LTI Viewer可以同時觀察和對比不同的線性模型的響應(yīng)曲線,還可以在時域頻域響應(yīng)曲線中加入關(guān)鍵的性能指標(biāo),比如上升時間,超調(diào)量和穩(wěn)定裕度等。結(jié)合鼠標(biāo)操作,可以對MIMO系統(tǒng)選擇所要觀察的輸入輸出通道。

LTI Viewer可以同時顯示6種不同的響應(yīng)曲線,包括階躍相應(yīng),脈沖響應(yīng),Bode圖,Nyquist曲線,Nichols圖,Sigma圖和零極點分布圖。用戶還可以自定義輸入信號和初始條件,以便對系統(tǒng)進(jìn)行更深入的分析。

LTI的GUI界面,在時域和頻域進(jìn)行線性模型分析的交互式工具。用戶可以使用各種頻域和時域圖一次比較多個線性模型。

調(diào)整控制系統(tǒng)

控制系統(tǒng)工具箱可讓用戶使用SISO和MIMO設(shè)計技術(shù)系統(tǒng)調(diào)節(jié)控制系統(tǒng)參數(shù)。

調(diào)節(jié)PID控制器

控制系統(tǒng)工具箱提供兩種操作和調(diào)節(jié)PID控制器的工具,分別為PID調(diào)節(jié)器GUI和命令行函數(shù),用戶可以:

? ? ? ?

以標(biāo)準(zhǔn)或者并行的方式使用表示連續(xù)時間或者離散時間PID控制器的PID對象 自動調(diào)節(jié)PID增益以平衡性能和魯棒性 說明調(diào)節(jié)參數(shù),如要求的響應(yīng)時間和相位差 調(diào)節(jié)SISO控制器

控制系統(tǒng)工具箱提供的SISO設(shè)計工具可以設(shè)計和分析SISO控制系統(tǒng)。利用SISO設(shè)計工具的GUI,可以完成:

? ? ? ?

設(shè)計通用控制器,比如PID控制器、超前/滯后網(wǎng)絡(luò)及帶阻濾波器等

利用根軌跡、Bode圖及Nichols圖等經(jīng)典工具以圖形化的方式調(diào)節(jié)SISO回路參數(shù) 在調(diào)節(jié)控制器參數(shù)的同時,監(jiān)控閉環(huán)系統(tǒng)的響應(yīng)性能指標(biāo) 對設(shè)計因素進(jìn)行評估,比如采樣時間及控制器的復(fù)雜型影響分析

除了標(biāo)準(zhǔn)模型表示形式之外,如傳遞函數(shù)和頻率響應(yīng)數(shù)據(jù),SISO設(shè)計工具支持具有延時時間的系統(tǒng)。用戶也可以使用多個被控對象模型來仿真評估不同操作條件下的控制器設(shè)計。

Simulink Control Design擴(kuò)展了Control System Toolbox,可使用戶在Simulink中調(diào)節(jié)由多個SISO回路組成的控制器。用戶可以逐個關(guān)閉SISO回路,查看回路響應(yīng),并交互調(diào)節(jié)每個回路使其達(dá)到最好的性能。Simulink Control Design可使用戶通過非線性仿真為更加長遠(yuǎn)的設(shè)計驗證直接調(diào)節(jié)參數(shù)。

結(jié)合Simulink Response Optimization,還可以實現(xiàn)基于時頻性能指標(biāo)要求的控制系統(tǒng)參數(shù)的優(yōu)化。結(jié)合魯棒控制工具箱,還可以通過H無窮算法進(jìn)行自動化整形開環(huán)響應(yīng)分析。

使用SISO設(shè)計工具調(diào)節(jié)具有多個被控對象模型的控制器

設(shè)計多回路控制系統(tǒng)

控制系統(tǒng)工具箱支持MIMO系統(tǒng)設(shè)計,包括LQG和極點配置方法。該工具箱還提供觀測器的設(shè)計工具,包括卡爾曼濾波器的設(shè)計。

Aerospace Toolbox

——航空航天參考標(biāo)準(zhǔn),環(huán)境模型和空氣動力學(xué)數(shù)據(jù)導(dǎo)入

Aerospace Toolbox針對執(zhí)行高級航空航天分析應(yīng)用。工具箱提供了參考標(biāo)準(zhǔn)、環(huán)境模型和氣動系數(shù)導(dǎo)入來支持設(shè)計任務(wù)。同時,工具箱還提供了與FlightGear飛行模擬器的接口,可以三維方式使飛行數(shù)據(jù)可視化并且復(fù)現(xiàn)飛行測試中的異常現(xiàn)象。為了保證設(shè)計的連續(xù)性,航空航天工具箱提供了單位轉(zhuǎn)換、坐標(biāo)系轉(zhuǎn)和四元數(shù)計算,還有大氣、地球重力場重力和磁場的標(biāo)準(zhǔn)環(huán)境模型。用戶可以從美國空軍數(shù)字?jǐn)?shù)據(jù)大綱(Air Force Digital Data Compendiun/Datcom)中導(dǎo)入氣動數(shù)據(jù)來進(jìn)行控制系統(tǒng)初步設(shè)計和飛行器性能分析。

特點

? ? ? ? ?

提供了大氣、地球重力場和磁場的標(biāo)準(zhǔn)環(huán)境模型; 提供單位轉(zhuǎn)換和坐標(biāo)系轉(zhuǎn)換系統(tǒng)及空間表達(dá)式;

預(yù)置計算工具,支持對航空航天參數(shù),時間和四元數(shù)等的計算; 支持從美國空軍數(shù)字?jǐn)?shù)據(jù)大綱Datcom中導(dǎo)入氣動系數(shù);

提供與FlightGear飛行模擬器的接口,可將飛行器的運動以三維顯示。

利用Aerospace toolbox與FlightGear模擬器顯示Boing 747的飛行

強(qiáng)大功能 環(huán)境模型

航空航天工具箱提供了大氣、地球重力場和磁場的標(biāo)準(zhǔn)環(huán)境模型。

大氣模型可用于計算的飛行條件并且規(guī)范化飛行數(shù)據(jù)。它將1976 標(biāo)準(zhǔn)大氣擴(kuò)展委員會(COESA)和國際標(biāo)準(zhǔn)大氣模型(ISA)結(jié)合起來,同時也結(jié)合了美軍標(biāo)準(zhǔn)的非正常天氣狀況模型(MIL-HDBK-310和MIL-STD-210C)。這些非正常天氣狀況模型提供了在給定重力高度下絕對溫

度、氣壓、大氣密度和聲速等信息。

地球重力場和磁場模型可輔助導(dǎo)航和測繪應(yīng)用中的數(shù)據(jù)分析和算法開發(fā)。重力場模型基于1984年全球測量系統(tǒng)中的重力模型。磁場模型包含2000年和2005年版的全球磁場模型(WMM)版本,這兩個版本的WMM都使用了NIMA標(biāo)準(zhǔn)來計算在特定時刻和位置處地球磁場的總強(qiáng)度、水平強(qiáng)度、偏差度、傾斜度和方向。

使用Aerospace Toolbox編輯的腳本,計算在飛行中的重力變化。使用工具轉(zhuǎn)換了單位,并

通過COESA模型計算真實的空速,還導(dǎo)入使用了Datcom氣動系數(shù)。

單位轉(zhuǎn)換和坐標(biāo)系轉(zhuǎn)換

航空航天工具箱中包含單位轉(zhuǎn)換和坐標(biāo)系變換的工具??梢赃M(jìn)行各種物理量,如加速度、密度和溫度等,之間進(jìn)行公英制轉(zhuǎn)換。坐標(biāo)系的轉(zhuǎn)換工具能夠創(chuàng)建方向余弦矩陣,在不同的空間表述方式,如歐拉角和四元數(shù)之間,進(jìn)行轉(zhuǎn)換。兩個不同的坐標(biāo)系之間通過方向余弦矩陣進(jìn)行轉(zhuǎn)換,例如在本體坐標(biāo)系和慣性系中之間、本體系和風(fēng)速系之間、地心地固系(ECEF)和北東天坐

標(biāo)系(NED)之間、地心地固系(ECEF)和緯度經(jīng)度高度系(LLA)之間。另外的還提供地心緯度和大地緯度的表述形式。

執(zhí)行參數(shù)計算,時間計算和四元數(shù)運算

航空航天工具箱提供了飛行參數(shù)計算、時間計算和四元數(shù)運算的工具,例如共軛計算,除法,求逆和求模。

飛行參數(shù)計算工具可實現(xiàn)常用參數(shù)的計算,如相對壓力、密度、溫度比率、等價空速、修正空速、馬赫數(shù)、動壓力和在給定地心緯度處的行星半徑。時間工具計算平臺中可以計算儒略歷(Julian)、十進(jìn)制年和閏年。

利用Aerospace Toolbox單位轉(zhuǎn)換、氣動模型和飛行參數(shù)計算工具得到的Cessna 172機(jī)型

的寄生阻力、額外阻力和總阻力曲線。箭頭處為最佳滑翔速度,對應(yīng)最小總阻力值

從Digital Datcom導(dǎo)入氣動系數(shù)數(shù)據(jù)

美國空軍Digital Datcom是一套計算程序,它利用飛行條件和飛行器氣動外形來估計飛行器氣動穩(wěn)定性和控制特性。Digital Datcom沿襲了美國空軍Stability and Control Datcom的方法。航空航天工具箱提供了一個用于從Digital Datcom中導(dǎo)出文件到Matlab中的函數(shù),這個函數(shù)支持從靜態(tài)和動態(tài)分析中收集氣動系數(shù),并將它們以結(jié)構(gòu)體元胞數(shù)組的形式存儲在Matlab中,其中每一個結(jié)構(gòu)體都包含Digital Datcom輸出文件的信息。

從兩個Digital Datcom輸出文件astdatcom1.out, astdatcom2.out中將氣動系數(shù)導(dǎo)入到Matlab中。系數(shù)以1×2結(jié)構(gòu)體元胞數(shù)組形式導(dǎo)入,可以在Matlab Array Editor中察看,左

圖中表示為5個攻角、2個Mach數(shù)、2個高度數(shù)據(jù)。

FlightGear模擬器接口

與FlightGear模擬器的接口可以將飛行器運動在已有的成熟三維仿真環(huán)境中顯示出來。用戶可以在FlightGear中回放飛行測試數(shù)據(jù),并快速復(fù)現(xiàn)飛行測試結(jié)果中的異?,F(xiàn)象。航空航天工具箱提供了一系列函數(shù),這些函數(shù)通過使用Matlab中雙精度類型的經(jīng)度、緯度、高度、滾轉(zhuǎn)、俯仰和偏航數(shù)據(jù)控制FlightGear模擬器中飛行器的位置和姿態(tài)。

Simulink?

——基于模型的設(shè)計、仿真工具

Simulink是用來建模、分析和仿真各種動態(tài)系統(tǒng)的交互環(huán)境,包括連續(xù)系統(tǒng),離散系統(tǒng)和混合系統(tǒng)。Simulink提供了采用鼠標(biāo)拖放的方法建立系統(tǒng)框圖模型的圖形交互平臺。通過Simulink提供的豐富的功能塊,可以迅速地創(chuàng)建動態(tài)系統(tǒng)模型。同時Simulink還集成了Stateflow,用來建模、仿真復(fù)雜事件驅(qū)動系統(tǒng)的邏輯行為。另外,Simulink也是實時代碼生成工具Real-Time Workshop的支持平臺。 特點

? ? ? ? ? ? ? ? ?

豐富的可擴(kuò)充的預(yù)定義模塊庫; 交互式的圖形編輯器; 模型分割實現(xiàn)復(fù)雜模型的管理;

通過Model Explorer 導(dǎo)航、配置、搜索模型中的任意信號、參數(shù)、屬性; 支持M語言和C語言方式的功能模塊擴(kuò)展; 進(jìn)行系統(tǒng)交互式或批處理式仿真; 支持交互式定義輸入和瀏覽輸出; 圖形化調(diào)試工具檢查和診斷模型行為;

通過MATLAB進(jìn)行數(shù)據(jù)分析和可視化數(shù)據(jù),開發(fā)圖形用戶界面,以及創(chuàng)建模型數(shù)據(jù)、參數(shù);

? 提供模型分析和診斷工具。

Model Explorer工具

強(qiáng)大功能

基于模型的系統(tǒng)設(shè)計

Simulink是層次化建模工具,數(shù)據(jù)管理工具,定制子系統(tǒng)工具。無論工程師的系統(tǒng)有多復(fù)雜,都可以輕松完成簡明精確的模型描述。Simulink包括超過一千個模塊以實現(xiàn)對構(gòu)建系統(tǒng)常用的應(yīng)用函數(shù)的描述。它們包括:

? ? ? ? ? ?

連續(xù)、離散動態(tài)系統(tǒng)模塊。例如:積分和單位延遲模塊 算法模塊。例如:加法、乘法和查表模塊

結(jié)構(gòu)模塊。例如:mux, switch 和信號和總線選擇

特定領(lǐng)域的應(yīng)用。例如:航空航天,通訊,信號處理,機(jī)械,電力…… 采用MATLAB,F(xiàn)ORTRAN、Ada和C代碼生成自定義模塊

基于模型和單個模塊的完善的CallBack機(jī)制,允許用戶對模型的仿真過程進(jìn)行定制 ?

Simulink模型中可以包括用M語言寫的模塊,并且支持代碼生成

模型的組織

? ? ? ?

Simulink通過信號及子系統(tǒng)打包模塊達(dá)到模型層次化管理的目的 Simulink支持模型功能分解 Simulink支持模型分割

Simulink模型支持版本管理以及需求管理

在Simulink模型中使用模型引用

模型信號和參數(shù)的管理

Simulink允許定義和控制模型的信號、參數(shù)。用戶可以定義如下的信號、參數(shù)屬性:

? 數(shù)據(jù)類型——單精度浮點,雙精度浮點, 8,16或32位整型(有符號或無符號);定點數(shù)據(jù)和布爾數(shù)據(jù)

? ? ? ?

維數(shù)——標(biāo)量,矢量,矩陣 實復(fù)數(shù)特性——實數(shù)、虛數(shù)或復(fù)數(shù) 數(shù)值范圍和單位

采樣類型——基于采樣、基于幀

使用Simulink 數(shù)據(jù)對象,用戶可以定義總線信號、數(shù)據(jù)結(jié)構(gòu)以及用戶自定義的數(shù)據(jù)類型。用戶可以通過局部工作空間定義的數(shù)據(jù)屬性的僅適用于模型的特定部分。數(shù)據(jù)對象通過M語言腳本或在Model Explorer的數(shù)據(jù)字典中配置。

調(diào)試系統(tǒng)仿真

? ?

用戶可以通過MATLAB命令行形式批量仿真

Simulink Debugger工具是一個交互式的調(diào)試Simulink 模型的工具。該工具可以設(shè)置斷點,控制仿真的執(zhí)行,顯示模型的運行信息。

Simulink Debugger工具

分析結(jié)果

Simulink提供了諸多工具用來分析模型,測試驗證系統(tǒng),可視化結(jié)果以及模型的文檔生成。

? 可視化結(jié)果

用戶可以通過Simulink提供的Display模塊和Scopes模塊觀察信號;也可以通過MATLAB可視化函數(shù)和GUI開發(fā)工具搭建定制的顯示模塊;還可以把這些信號信息記錄起來留待以后處理。為了對動態(tài)系統(tǒng)復(fù)雜的3-D運動獲得深層次的認(rèn)識,用戶可以結(jié)合虛擬現(xiàn)實模塊(Virtual Reality Blocksets)進(jìn)行可視化。

? 測試驗證模型

o S

imu

link包括了用于創(chuàng)建仿真測試用例的模塊

o Singal Builder block模塊通過圖形方式創(chuàng)建方波來測試模型

o 使用Singal&Scope Manager工具,用戶可以在不增加模塊的前提下插入

信號到模型中

o Simulink還提供各種模型驗證模塊來驗證模塊的信號輸出是否符合設(shè)計需求

o 模型、測試用例以及驗證模塊可以實現(xiàn)需求跟蹤

?

模型的文檔生成

o 添加文檔到Simulink模型非常容易。注釋可以直接加到模型中,描述也可以

以每個模塊的屬性的形式添加。

o 通過DocBlock模塊可以包括一個text文件作為模型中的一個模塊。 o Simulink提供了打印能力。通過一個命令,就可以打印描述了全部模型信息

的文檔。

o 通過使用Simulink Report Generator可以創(chuàng)建定制化的報告,以滿足特

定文檔標(biāo)準(zhǔn)的要求。

自動代碼生成

Simulink模型可以通過Real-Time Workshop生成實時的標(biāo)準(zhǔn)C代碼,用于半物理仿真,快速原型和產(chǎn)品代碼。使得用戶可以完成從系統(tǒng)級仿真到工程實現(xiàn)的無縫過渡。

Simulink針對雷達(dá)系統(tǒng)進(jìn)行建模仿真

Simulink Control Design

—— 用于在控制系統(tǒng)設(shè)計中進(jìn)行線性分析

Simulink Control Design提供了對非線性模型進(jìn)行線性分析的能力。利用該工具可以提取近似的線性模型,用于時域響應(yīng)、頻域響應(yīng)以及零極點等動態(tài)特性分析。從而降低了開發(fā)線性模型上所需的時間和復(fù)雜度。

Simulink Control Design提供了系統(tǒng)化的方法來設(shè)計控制器,這種方法綜合考慮了航空航天、汽車、工業(yè)設(shè)備、電子和工業(yè)過程領(lǐng)域問題的復(fù)雜性和動態(tài)特性。 特點

? ? ? ? ?

能夠自動整定PID控制器的參數(shù)

計算和管理工作點(配平)和模型的線性化 計算模型的頻域響應(yīng)

提供圖形用戶界面方式進(jìn)行任意控制系統(tǒng)的整定

可以對補(bǔ)償器進(jìn)行數(shù)值優(yōu)化來達(dá)到系統(tǒng)時域和頻域的要求(借助Simulink Design Opitmization模塊)

? ?

支持命令行操作,可以編寫線性化腳本文件或者執(zhí)行線性化批處理文件 提供linearization inspector,用來逐個模塊地檢查線性化結(jié)果

強(qiáng)大功能

Control and Estimation Tools Manager (Simulink Control Design的GUI)可用于管理、執(zhí)行線性分析過程。使用Control and Estimation Tools Manager,可以:

? ? ?

確定和計算工作點 選擇模型的輸入輸出節(jié)點 線性化模型

? ?

校驗和分析線性化結(jié)果 設(shè)計控制系統(tǒng)

自動整定PID控制器參數(shù)

利用Simulink Control Design可以自動整定PID控制器的參數(shù)(包括比例系統(tǒng)、積分系數(shù)以及微分系數(shù));

可以指定期望的帶寬和相位裕度來調(diào)節(jié)PID控制器的參數(shù);

可以利用提供的GUI界面進(jìn)行交互式的調(diào)節(jié)系統(tǒng)的響應(yīng)時間,GUI界面提供了階躍響應(yīng)、BODE圖等圖形來方便分析控制器的性能。

確定和計算平衡點

Simulink Control Design提供了以下幾種方法用于確定模型的平衡點:

? ? ? ? ?

利用梯度搜索和直接搜索優(yōu)化算法從用戶自定義的起始點處計算穩(wěn)態(tài)工作點; 在模型仿真過程中在指定時間或事件處提取工作點;

從MATLAB工作空間、文件或其它的線性化工程文件中輸入工作點; 指定已知的工作點;

當(dāng)使用單獨提供的優(yōu)化工具箱后,還可以調(diào)用非線性最小二乘優(yōu)化算法

選擇模型的輸入輸出節(jié)點

利用Simulink Control Design,可以通過在模塊的輸出端插入I/O節(jié)點來定義需要線性化的模型的輸入和輸出位置。通過放置I/O節(jié)點位置的不同,可以對整個模型、部分模型或模型中的子系統(tǒng)求取線性化。利用Control and Estimation Tools Manager,可以觀察和配置I/O節(jié)點;

另外,在模型中插入I/O節(jié)點,還可以在不修改模型(打斷信號線,將系統(tǒng)作開環(huán)處理)的基礎(chǔ)上,對閉環(huán)系統(tǒng)計算其開環(huán)響應(yīng)。

線性化模型

Simulink Control Design允許用戶對連續(xù)系統(tǒng)、離散系統(tǒng)、混合系統(tǒng)以及多速率系統(tǒng)進(jìn)行線性化??梢酝ㄟ^下列步驟控制線性化過程:

? ? ? ? ? ? ? ?

選擇分組工作點,以確定在哪些位置進(jìn)行模型的線性化; 對模塊、子系統(tǒng)進(jìn)行線性化或計算開環(huán)被控對象模型; 指定解析法或小擾動法進(jìn)行線性化;

對那些難于線性化的模塊進(jìn)行各個選項的配置; 對那些未作選項配置的模塊,指定擾動階次; 自動辨識那些對線性化模型無影響的模塊; 指定線性化模型的狀態(tài)個數(shù) 自動生成代碼

校驗和分析線性化結(jié)果

? ? ? ? ? ? ? ?

可以使用SISOTOOL工具設(shè)計: 可以觀察參數(shù)改變時對系統(tǒng)的影響; 圖形化的方式整定多重、連續(xù)或者 離散的SISO回路;

可以對補(bǔ)償器進(jìn)行數(shù)值優(yōu)化來達(dá)到 系統(tǒng)時、頻域的性能指標(biāo);

可以直接調(diào)節(jié)模塊參數(shù),如PID參數(shù)、零極點增益以及封裝模塊;

可以將整定好的控制器參數(shù)寫回Simulink模型,方便檢驗整個非線性系統(tǒng)的控制性能使用系統(tǒng)級的設(shè)計算法(如魯棒響應(yīng)PID參數(shù)整定、Ziegler-Nichols PID參數(shù)整定、IMC以及LQG算法)來進(jìn)行補(bǔ)償器的計算;

輸出和保存結(jié)果

Simulink Control Design允許將線性化模型和工作點輸出和保存到MATLAB工作空間以便進(jìn)行其它分析。用戶可以利用線性化模型,結(jié)合控制系統(tǒng)工具箱及其它的控制系統(tǒng)設(shè)計工具進(jìn)行控制器的設(shè)計??梢詫⒖刂破髋c原系統(tǒng)(未經(jīng)線性化的系統(tǒng))結(jié)合以檢驗控制器的性能。

Simulink Design Optimization

——估計和優(yōu)化Simulink模型參數(shù)

Simulink Design Optimization通過數(shù)值優(yōu)化的方法估計和優(yōu)化模型參數(shù),使用測試數(shù)據(jù)校準(zhǔn)物理參數(shù),比如質(zhì)量、電阻等,提高模型的精度,從而提高系統(tǒng)的性能,減少設(shè)計成本,通過自動調(diào)節(jié)模型參數(shù)達(dá)到設(shè)計目標(biāo)。例如,優(yōu)化控制器增益,以達(dá)到所要求的上升時間和超調(diào)

量,或優(yōu)化關(guān)聯(lián)的物理和算法參數(shù),最大化整個系統(tǒng)的性能。

主要特點

? ? ? ? ? ?

從測試數(shù)據(jù)估計物理參數(shù)

測試數(shù)據(jù)預(yù)處理工具,包括數(shù)據(jù)選擇,消除漂移量,校正,噪聲濾波和缺失數(shù)據(jù)復(fù)現(xiàn) 非線性Simulink模型時域響應(yīng)的優(yōu)化

線性控制系統(tǒng)時域和頻域響應(yīng)的優(yōu)化(連同Control System Toolbox) 能夠圖形化指定響應(yīng)要求,并能可視化監(jiān)控優(yōu)化的過程 能夠為魯棒設(shè)計優(yōu)化考慮參數(shù)的變化和不確定性

強(qiáng)大功能

使用Simulink Design Optimization

使用Simulink Design Optimization能夠利用測試數(shù)據(jù)校準(zhǔn)模型參數(shù),使其達(dá)到設(shè)計需求。Simulink Design Optimization使用控制和估計工具管理界面可以配置、操作和運行Simulink優(yōu)化問題,能夠直接與包括非線性因素、多采樣速率或是定點計算的Simulink模型協(xié)

同工作,支持使用Simulink任一模塊或是附加產(chǎn)品的模型。

Simulink Design Optimization能夠同時優(yōu)化多個模型參數(shù)。這些參數(shù)可以是在MATL

AB或模型工作空間中定義的標(biāo)量、矢量、矩陣或是結(jié)構(gòu)體變量的字段。

Simulink Design Optimization采用各種優(yōu)化算法:梯度下降法、非線性最小二乘法、單純形搜索法以及模式搜索法(連同Genetic Algorithm and Direct Search Toolbox)。通過調(diào)節(jié)優(yōu)化算法設(shè)置,如收斂誤差和迭代次數(shù),調(diào)整優(yōu)化的性能。Simulink Design Optimization協(xié)同Parallel Computing Toolbox(并行計算工具箱)可以加快優(yōu)化的過程。

使用測試數(shù)據(jù)校準(zhǔn)模型參數(shù)

Simulink Design Optimization可以通過以下三步利用測試數(shù)據(jù)校準(zhǔn)模型參數(shù):

? ? ?

導(dǎo)入和預(yù)處理數(shù)據(jù) 估計參數(shù)

比較和驗證估計值

導(dǎo)入和預(yù)處理數(shù)據(jù)

Simulink Design Optimization使用從實際硬件測量而來的輸入輸出數(shù)據(jù)來估計和驗證Simulink模型參數(shù)。它支持多種類型數(shù)據(jù)文件的導(dǎo)入,包括MATLAB基本類型, Microsoft Excel,ASCII 和CSV文件格式等。測量數(shù)據(jù)常常會包括漂移、越界值、周期性丟數(shù)以及其它不規(guī)則量等。Simulink Design Optimization支持對測量數(shù)據(jù)進(jìn)行預(yù)處理以消除這些誤差

量。預(yù)處理通過以下方式進(jìn)行:

? ? ? ?

消除數(shù)據(jù)中的漂移和偏差

用濾波消除數(shù)據(jù)中的噪聲和帶限干擾 用插值方法填補(bǔ)缺失的數(shù)據(jù)

設(shè)置剔除規(guī)則消除數(shù)據(jù)組中有問題的數(shù)據(jù)片斷

估計參數(shù)

對每一次參數(shù)估計任務(wù),Simulink Design Optimization都允許用戶選擇特定的數(shù)據(jù)組來估計特定的模型參數(shù)組合和狀態(tài)變量。用戶可以使用前次計算所得的參數(shù)值作為初始值在后續(xù)

的估計中微調(diào)參數(shù),或是設(shè)置估計參數(shù)的范圍。

除了估計模型參數(shù),Simulink Design Optimization提供估計靜態(tài)查表模塊和Simulink模塊的功能實現(xiàn)自適應(yīng)查表。通過對Simulink模型進(jìn)行編譯,并使用合適的目標(biāo)平臺,例如

xPC Target,用戶可將自己的自適應(yīng)查表直接與真實系統(tǒng)相銜接

估計參數(shù)的比較和驗證

Simulink Design Optimization可以生成估計結(jié)果的對照圖形曲線以幫助用戶確認(rèn)哪些參數(shù)最恰當(dāng)?shù)拿枋隽四P偷男袨?。繪圖曲線中還包括參數(shù)敏感度視圖,測量值與仿真模型輸出的

比較以及殘差。

驗證還涉及模型輸出與一個測試數(shù)據(jù)組的比較,以確定模型校正是否準(zhǔn)確描述了系統(tǒng)的動態(tài)行為。Simulink Design Optimization還支持用戶進(jìn)行多個模型的輸出和驗證數(shù)據(jù)組

的比較以選擇最優(yōu)估計和參數(shù)組。

達(dá)到設(shè)計需求

使用Simulink Design Optimization能夠調(diào)節(jié)非線性Simulink模型參數(shù)達(dá)到時域要

求,也能夠優(yōu)化線性系統(tǒng)補(bǔ)償器以滿足時域和頻域的要求。

調(diào)節(jié)Simulink模型參數(shù)使其達(dá)到時域要求

Simulink Design Optimization能夠自動調(diào)節(jié)Simulink模型參數(shù)使其達(dá)到時域要求。用戶能夠優(yōu)化任何的設(shè)計標(biāo)準(zhǔn),通過將其表述為一個Simulink的信號連接到由Simulink Design Optimization提供的信號約束模塊的方法。信號約束模塊通過圖形化表述響應(yīng)要求或是指定參考信號軌跡的方法約束信號,然后可以調(diào)節(jié)所選擇的模型參數(shù)以滿足約束。信號約束模塊的界面在優(yōu)化時可以不斷更新,使用戶能夠可視化監(jiān)控優(yōu)化的過程,并且用戶可以使用多個信號約

束模塊同時優(yōu)化多個設(shè)計標(biāo)準(zhǔn)。

優(yōu)化補(bǔ)償器達(dá)到時域和頻域設(shè)計要求

線性補(bǔ)償器設(shè)計通常要在穩(wěn)定性、魯棒性和性能之間取得折中。在使用Control System Toolbox 和Simulink Control Design設(shè)計補(bǔ)償器時Simulink Design Optimization能夠

幫助用戶考慮這些折中因素。

用戶可以指定各種時域和頻域要求以優(yōu)化控制器性能。典型的要求包括增益裕度、幅值裕度、阻尼比、最小帶寬、高頻衰減以及階躍或脈沖響應(yīng)的各種約束。用戶能夠優(yōu)化補(bǔ)償器的零極點和增益值,能夠直接在Simulink中調(diào)節(jié)對應(yīng)模塊的參數(shù)。在優(yōu)化過程中當(dāng)前響應(yīng)和設(shè)計需求

之間的對比圖可以幫助用戶監(jiān)控優(yōu)化過程。

指定模型的不確定性參數(shù)

Simulink Design Optimization能夠幫助用戶針對模型參數(shù)中的不確定性進(jìn)行魯棒性測試。用戶可以使用蒙特卡洛或定格仿真提高包含不確定參數(shù)的設(shè)計的魯棒性。Simulink Desig

n Optimization同時允許用戶為模型中的每一個不確定性參數(shù)設(shè)置邊界值。

Simulink Coder

——從Simulink和Stateflow模型生成C和C++代碼

Simulink Code(之前版本為 Real-Time Workshop)從 Simulink框圖、Stateflow圖和 MATLAB函數(shù)生成并執(zhí)行 C和C++代碼。生成的代碼可用于實時和非實時應(yīng)用,包括仿真加速、快速原型建立和硬件在回路測試??梢允褂?Simulink 對生成的代碼進(jìn)行調(diào)優(yōu)和監(jiān)測,或在 MATLAB和 Simulink之外運行代碼并與之交互。

特點

離散、連續(xù)或混合 Simulink 和 Stateflow 模型的 ANSI/ISO C 和 C++ 代碼及可執(zhí)行文件

用于大型模型的增量代碼生成 支持整型、浮點型和定點型數(shù)據(jù)類型

針對單采樣率、多采樣率和異步模型的代碼生成 使用或不使用 RTOS 的單任務(wù)、多任務(wù)和多核代碼執(zhí)行

用于參數(shù)調(diào)優(yōu)和信號監(jiān)測的外部模式仿真

強(qiáng)大的功能

■ 選擇和使用目標(biāo)

Simulink 模型資源管理器在 Simulink 中提供了單一用戶界面,用于配置所有代碼生成設(shè)置。模型資源管理器可提供:

? ? ?

? 選擇代碼生成目標(biāo) ? 配置目標(biāo)以進(jìn)行代碼生成 ? 為模型或子系統(tǒng)生成代碼

Code Generation Advisor 會檢查模型和代碼生成設(shè)置,然后根據(jù)需求針對如何改進(jìn)配置提供建議。 一旦為項目確定了最優(yōu)設(shè)置之后,便可以將這些設(shè)置保存為配置集以重復(fù)用于其他模型。

使用 Simulink 建模的大型飛機(jī)系統(tǒng)。 Simulink Coder 支持用于大規(guī)模建模的高級 Simul

ink 功能,包括模型塊、變量子系統(tǒng)和總線數(shù)組。

◆ 選擇目標(biāo):

Simulink Coder 使用系統(tǒng)目標(biāo)文件將模型轉(zhuǎn)換為源代碼和可執(zhí)行文件。 目標(biāo)文件指定生成的代碼將要在其中運行的環(huán)境。 Simulink Coder 包括若干個準(zhǔn)備好運行的配置的目標(biāo)文件,還支持第三方目標(biāo)和自定義目標(biāo)。 內(nèi)置目標(biāo)包括:

? ? 一般實時目標(biāo)——生成用于模型參數(shù)交互式調(diào)優(yōu)的代碼,記錄和顯示實時仿真結(jié)果并靜態(tài)分配數(shù)據(jù)為進(jìn)行高效的實時執(zhí)行;

? ? 一般實時 Malloc 目標(biāo)——在生成的代碼中使用動態(tài)內(nèi)存分配,以便在一個可執(zhí)行文件中包含同一模型的多個實例或包含多個模型;

? ? 快速仿真目標(biāo) (RSim)——提供快速靈活的測試平臺用于使用定步長或變步長求解器執(zhí)行批量或 Monte Carlo 仿真研究,并使您可以將每次運行的數(shù)據(jù)保存到唯一的輸出文件中。

可以擴(kuò)展這些目標(biāo)以創(chuàng)建自定義的運行時接口和設(shè)備驅(qū)動程序文件,從而能以特定環(huán)境為目標(biāo),訪問 Simulink Coder 的執(zhí)行并調(diào)試其中的功能。

■ 編譯和執(zhí)行生成的代碼

Simulink Coder為使用常用桌面環(huán)境編譯和執(zhí)行生成的代碼提供內(nèi)置支持,包括:

? ? ? ?

? Eclipse? IDE

? Microsoft? Visual C++? IDE ? Linux? 操作系統(tǒng) ? Windows? 操作系統(tǒng)

可以使用 Embedded Coder 在實時嵌入式系統(tǒng)中生成和運用優(yōu)化的 C 和 C++ 代碼。

■ 定義和控制數(shù)據(jù)

Simulink Coder 允許用戶定義和控制模型數(shù)據(jù)在所生成代碼中的出現(xiàn)方式。 可通過以下方式管理數(shù)據(jù):

? ? ? ?

? 將數(shù)據(jù)類型聲明為整型、浮點型和定點型 ? 指定調(diào)優(yōu)和校準(zhǔn)參數(shù)或常數(shù)的存儲區(qū) ? 指定監(jiān)測和記錄信號數(shù)據(jù)的存儲區(qū) ? 重復(fù)使用存儲區(qū)以最小化局部范圍的數(shù)據(jù)

Simulink Coder 從存儲在 Simulink 框圖或數(shù)據(jù)字典(通過 Simulink 模型資源管理器訪問)中的數(shù)據(jù)生成代碼。 通過利用不同的數(shù)據(jù)字典集,可以將代碼從一個模型重新運用到多個目標(biāo)。

Simulink 模型資源管理器可顯示模型中使用的各種數(shù)據(jù)類型和存儲類。

注意存儲類要求Embedded Coder。

■ 生成代碼

Simulink Coder 為 Simulink 和 Stateflow 功能和組件提供了全面的代碼生成支持,包括:

? ? ? ?

? 模型塊用于增量生成代碼

? 原子子系統(tǒng)和原子子圖表,用于通過可重入 C 函數(shù)的重用代碼 ? 在代碼中,總線對象和總線數(shù)組用于生成結(jié)構(gòu) ? S-函數(shù),用于對已有代碼進(jìn)行仿真和對接

Simulink 中的 MATLAB 函數(shù)塊和 Stateflow 中的 MATLAB 函數(shù),用于從具有 MAT

LAB 組件的模型生成代碼

Simulink Coder 還支持 Simulink 系列產(chǎn)品,包括定點建模、物理建模、信號處理和通信建模以及快速原型建立和硬件在回路 (HIL) 測試產(chǎn)品。

◆ 代碼生成選項:

Simulink Coder 提供了用戶可選擇的選項,以便在桌面和仿真環(huán)境中執(zhí)行生成的代碼。選項包括:

? ? ? ? ? ?

? 代碼重用 ? 表達(dá)式折疊 ? 信號存儲區(qū)重用 ? 死路徑消除 ? 參數(shù)內(nèi)聯(lián)

? 單精度和預(yù)制數(shù)學(xué)庫(包括 ISO C 和 GNU C)

生成的代碼,其中將 For 循環(huán)融合和表達(dá)式折疊用于一個 10 元素數(shù)組模型。

Simulink Coder 為單維和信號生成高效且可讀的代碼。

■ 在實時環(huán)境中執(zhí)行代碼

Simulink Coder 提供了實時執(zhí)行生成的代碼并將其合并到用戶執(zhí)行環(huán)境中的完整框架。

它根據(jù)用戶在模型中指定的周期采樣次數(shù)生成單采樣率或多采樣率代碼。

◆ 執(zhí)行模式:

在單任務(wù)、多任務(wù)或異步模式下部署代碼,可使用或不使用 RTOS。

◆ 單任務(wù)模式

在單任務(wù)模式下,簡單的調(diào)度程序以單線程執(zhí)行來調(diào)用生成的代碼,防止不同速率之間的搶占。

◆ 多任務(wù)模式

在多任務(wù)模式下,通過確定性單調(diào)速率調(diào)度程序調(diào)用生成的代碼,允許不同速率之間的搶占。在裸機(jī)環(huán)境中以嵌套中斷來搶占代碼。在 RTOS 環(huán)境中則使用任務(wù)優(yōu)先級和任務(wù)搶占。

◆ 異步模式

在異步模式下,使用 Simulink S-函數(shù)指定非周期性采樣率或異步采樣率。 Simulink Coder 將這些采樣率轉(zhuǎn)換為用戶執(zhí)行環(huán)境所需的代碼。 用戶為硬件中斷之類的事件建模并生成代碼,然后作為的任務(wù)觸發(fā)各子系統(tǒng)。 可以使用所含的異步塊庫作為模板,以創(chuàng)建適用于其他環(huán)境的庫。

◆ 實時部署

Simulink 和 Simulink Coder 為實時部署提供了一整套于目標(biāo)的功能。其中包括:

? ? ?

? 可以為模型中的每個采樣率指定的任務(wù)優(yōu)先級

? 產(chǎn)品級質(zhì)量計數(shù)器以及計算絕對時間和實耗時間的計時器

? 采樣率轉(zhuǎn)移塊,用于指定各采樣率之間的數(shù)據(jù)傳輸機(jī)制(例如信號量、互斥和雙緩沖),從而使您可以權(quán)衡數(shù)據(jù)完整性、確定性和性能

? ? 對合并每種采樣率的錯誤處理邏輯進(jìn)行超限檢測

◆ 繼承代碼集成

通過合并已有的用于仿真和代碼生成的自定義 C、Fortran、Ada 和 C++ 代碼,可以自定義生成的代碼及其運行時環(huán)境。 Simulink Coder 中的自定義工具包括目標(biāo)語言編譯器 (TLC)、自定義代碼塊、模板聯(lián)編文件 (makefile)、構(gòu)建過程 API 和 S-函數(shù)生成器。 使用代碼繼承工具 (Legacy Code Tool),可以快速地將現(xiàn)有 C 和 C++ 函數(shù)集成到 Simulink 模塊中,這對于集成通常用于嵌入式系統(tǒng)的離散時間代碼特別有用。

■ 調(diào)優(yōu)參數(shù)和記錄數(shù)據(jù)

Simulink Coder 使用戶可以與生成的可執(zhí)行文件交互并進(jìn)行分析,從而幫助用戶優(yōu)化算法的性能并改進(jìn)代碼執(zhí)行行為。

通過 Simulink Coder 可以使用下列數(shù)據(jù)接口來監(jiān)測和調(diào)優(yōu)模塊信號及參數(shù):

? ? 基于目標(biāo)的 C API——允許用戶編寫的代碼訪問 MATLAB 和 Simulink 外部的模塊輸出和參數(shù);

? ? 基于主機(jī)的 ASAP2 數(shù)據(jù)交換文件——允許將 ASAP2 標(biāo)準(zhǔn)數(shù)據(jù)描述用于 MATLAB 和 Simulink 外部的數(shù)據(jù)測量、校準(zhǔn)和診斷系統(tǒng);

? ? Simulink 外部模式——允許下載新的參數(shù)值和上傳信號值,以便在 Simulink 內(nèi)部查看或在 MATLAB 工作空間中進(jìn)行記錄。(打開源模塊的對話框會造成 Simulink 暫停。盡管 Simulink 已暫停,但仍可編輯參數(shù)值。 必須關(guān)閉該對話框才能使更改生效并使 Simulink 繼續(xù)運行。)

Embedded Coder

——為嵌入式系統(tǒng)生成優(yōu)化的C/C++代碼

Embedded coder可為嵌入式處理器、目標(biāo)上的快速原型及產(chǎn)品中使用的微處理器生成可讀的、集成的、高效的C/C++代碼。Embedded coder擴(kuò)展了Matlab coder和Simulink coder配置選項和優(yōu)化設(shè)置,來更好的控制生成代碼的函數(shù)、文件和數(shù)據(jù)。這些優(yōu)化設(shè)置提高了代碼的執(zhí)行效率,并能夠集成產(chǎn)品應(yīng)用時的外部代碼、數(shù)據(jù)類型及標(biāo)定參數(shù)。還可以將第三

方開發(fā)環(huán)境集成到為嵌入式系統(tǒng)生成可執(zhí)行文件的build過程中。

Embedded coder本身提供對AUTOSAR和ASAP2軟件標(biāo)準(zhǔn)的支持。同時也提供可追溯性報告、代碼接口文件和自動化的軟件測試來支持DO-178B,IEC61508和ISO26262的

軟件開發(fā)。

特點:

? ? ? ? ?

? 擴(kuò)展了Matlab coder和Simulink coder的優(yōu)化和代碼生成配置選項。 ? 具有使用Simulink數(shù)據(jù)字典進(jìn)行存儲類型、數(shù)據(jù)類型和別名定義的能力。 ? 針對具體目標(biāo)平臺的代碼優(yōu)化。

? 無論有無RTOS的多速率、多任務(wù)和多核的代碼執(zhí)行。

? 代碼驗證,包含SIL/PIL測試,自定義注釋,具有模型和需求到代碼雙向追蹤的代碼報告。

? ? 集成Texas Instruments Code Composer Studio?, Analog Devices? VisualDSP++?及其它的第三方嵌入式開發(fā)環(huán)境。

? ? 對標(biāo)準(zhǔn)的支持,包含ASAP2, AUTOSAR, DO-178, IEC 61508, ISO 26262, and MISRA C。

一個生成代碼的定點模型和它的設(shè)置為SIL執(zhí)行的仿真模型。

Embedded Coder可進(jìn)行產(chǎn)品級的嵌入式系統(tǒng)代碼快速生成、歸檔和測試。

強(qiáng)大的功能

■ 配置目標(biāo)平臺

可使用Matlab Coder的工程用戶界面及Simulink Model Explore來設(shè)置Embedded Coder的代碼生成的配置選項。也可以直接使用Matlab命令和腳本的形式對每個選項進(jìn)行設(shè)

置。

從Matlab Coder的工程用戶界面,可進(jìn)行:

? ? ? ?

? 為MATLAB文件和函數(shù)生成代碼。 ? 選擇使用Embedded Coder特性。 ? 為代碼生成配置功臣設(shè)置選項。 ? 創(chuàng)建、加載和重用多個工程。

從Simulink Model Explore,可進(jìn)行:

? ? ? ?

? 為Simulink模型和子系統(tǒng)生成代碼。 ? 選擇一個Embedded Coder目標(biāo)。 ? 為代碼生成進(jìn)行目標(biāo)配置。 ? 創(chuàng)建、加載和重用多個配置集。

■ 選擇目標(biāo)

Embedded Coder使用配置對象和系統(tǒng)目標(biāo)文件將MATLAB代碼和Simulink模型轉(zhuǎn)換

為產(chǎn)品級的源代碼和可執(zhí)行文件。

對于一個MATLAB配置對象,需要說明如下的輸出目標(biāo):

? ? ?

? MEX文件 ? C/C++靜態(tài)庫 ? C/C++可執(zhí)行文件

對于Simulink系統(tǒng)目標(biāo)文件,需要說明生成的代碼即將運行在哪種實時環(huán)境中。

Embedded Coder包含多種配置的目標(biāo)文件,也支持第三方和自定義目標(biāo)。內(nèi)置的目標(biāo)

包括:

? ? Embedded Real-Time目標(biāo):為任意的產(chǎn)品級處理器生成具有定點和浮點數(shù)據(jù)的ANSI/ISO C,C++代碼,可進(jìn)行高效的實時運行。

? ?

? AUTOSAR 目標(biāo):生成支持AUTOSAR軟件組件的C代碼和實時運行接口。 ? 共享庫目標(biāo):生成可在主機(jī)目標(biāo)平臺上運行的靜態(tài)庫,如windows的動態(tài)鏈接庫(.dll),UNIX共享目標(biāo)文件(.so)。

? ? IDE LINK目標(biāo):生成支持第三方集成開發(fā)環(huán)境編譯和下載的代碼,如(CCS)。

■ 定義嵌入式硬件特性

可從預(yù)定義的列表或者使用目標(biāo)設(shè)置為MATLAB或者SIMULINK代碼生成選擇目標(biāo)平臺。

可通過自定義環(huán)境來擴(kuò)展這個預(yù)定義的列表。

可通過Simulink Model Explore為代碼部署設(shè)置預(yù)定義列表或者設(shè)置生成的微處理器選項。 Embedded Coder可為任意的微處理器或者DSP生成代碼,包括8位,16位,32位。

■ 定義及控制自定義數(shù)據(jù)

Embedded Coder可以定義及控制生成代碼中的數(shù)據(jù)格式。為了便于軟件集成,可以通過MATLAB Coder工程用戶界面說明入口函數(shù)和全局?jǐn)?shù)據(jù)的類型、長度及是否是復(fù)數(shù)。

對于MATLAB代碼,Embedded Coder支持所有的MATLAB Coder的數(shù)據(jù)定義,包括

定點數(shù)據(jù)對象。

對于Simulink模型,Embedded Coder生成代碼支持如下的數(shù)據(jù)說明及數(shù)據(jù)字典定義:

? ? Simulink data object—提供預(yù)定義存儲類型,包括constant,volatile,exported global,imported global,structure,bit fileld及獲取和設(shè)置的方法。

? ? Module packaging data object—為高級的數(shù)據(jù)對象提供預(yù)定義的特性,主要用于多種產(chǎn)品,如內(nèi)存分配來進(jìn)行標(biāo)定或者調(diào)節(jié)查表數(shù)據(jù)。

? ? User data type-從復(fù)雜的數(shù)據(jù)中創(chuàng)建抽象的數(shù)據(jù)類型,可精確控制生成代碼中的模型數(shù)據(jù),可與legacy data進(jìn)行交互,同時也可替代simulink內(nèi)置的數(shù)據(jù)類型。

如下的工具將有助于在simulink中設(shè)計和管理工程數(shù)據(jù):

? ? Custom Storage Class Designer-通過圖形化的界面創(chuàng)建自定義的數(shù)據(jù)定義和聲明,將數(shù)據(jù)結(jié)構(gòu)導(dǎo)入到生成的代碼中,或者是導(dǎo)出數(shù)據(jù),分配內(nèi)存,將自動生成與交換標(biāo)準(zhǔn)如ASAM或者ASAP2兼容的數(shù)據(jù)格式。

? ? Simulink Model Explore—顯示simulink模型和stateflow圖中所有用到的數(shù)據(jù),可以以數(shù)據(jù)字典的格式查看所有自定義數(shù)據(jù)的信息。

? ? Embedded Coder可以創(chuàng)建ASAP2的數(shù)據(jù)交換文件,能夠使用ASAP2標(biāo)準(zhǔn)導(dǎo)出具有復(fù)雜數(shù)據(jù)定義的模型數(shù)據(jù)??尚薷膬?nèi)置的屬性生成其它的數(shù)據(jù)交換機(jī)制文件。

通過Custom Storage Class Designer創(chuàng)建自定義的存儲類型,可使用內(nèi)置圖形用戶界面進(jìn)

行設(shè)計、查看及驗證復(fù)雜數(shù)據(jù)類型。

■ 優(yōu)化及打包代碼

使用Embedded Coder,可控制函數(shù)邊界、保留表達(dá)式,對多個模塊使用優(yōu)化選項以減少代碼量。數(shù)據(jù)通過全局變量或者函數(shù)參數(shù)的形式與生成的代碼進(jìn)行交換??蓪⑸傻拇a追溯

到模型中的模塊和信號。

從MATLAB代碼和Simulink模型生成代碼,Embedded Coder選項可進(jìn)行:

? ? ? ?

? 為數(shù)學(xué)函數(shù)和操作符生成具體目標(biāo)平臺的代碼。 ? 生成導(dǎo)出到外部環(huán)境的可重用代碼。

? 減少不必要的初始化、終止、記錄和錯誤處理的代碼。 ? 從整形應(yīng)用中去除浮點型代碼。

Embedded Coder還為simulink模型提供額外的代碼優(yōu)化和配置選項,可進(jìn)行:

從模型中生成具有處理器編譯宏定義的代碼變量。

按位存儲布爾型數(shù)據(jù)和stateflow狀態(tài)。

? ? ?

? 可控制每個生成文件的格式。

? 控制全局變量數(shù)據(jù)是如何定義和引用的。 ? 對注釋的內(nèi)容和放置位置進(jìn)行說明。

具有具體目標(biāo)平臺的數(shù)學(xué)擴(kuò)展函數(shù)和重用函數(shù)優(yōu)化選項的MATLAB例子和Simulink例子。 Embedded Coder使用具體目標(biāo)平臺和可移植的代碼優(yōu)化選項來提高代碼的執(zhí)行效率。

■ 注釋、追溯及記錄代碼

Embedded Coder提供多種方式來檢查從MATLAB文件和函數(shù)或者Simulink模型和子

系統(tǒng)生成的代碼。使用這些方式,可進(jìn)行:

? ? ?

? 生成代碼生成報告,來描述模型和模塊的配置選項。 ? 控制生成代碼中全局?jǐn)?shù)據(jù),數(shù)據(jù)烈性和函數(shù)的標(biāo)識符。

? 在生成的代碼中可將MATLAB代碼作為注釋,包含函數(shù)幫助文檔。

Embedded Coder也可將高級需求作為代碼注釋插入到代碼中,與需求文檔可進(jìn)行鏈接(需要Simulink Verification and Validation)。代碼生成報告也包含代碼接口描述文件,追溯性報告及可顯示生成的源文件和代碼。模型和代碼間存在雙向的鏈接,可以方便的在每行代碼和相關(guān)的simulink模型間進(jìn)行定位,包含子系統(tǒng)、模塊、MATLAB函數(shù)和代碼及Stateflow

狀態(tài)圖和轉(zhuǎn)換??牲c擊一個鏈接以高亮顯示相關(guān)的模型元素或者代碼行,更加方便代碼檢查和調(diào)

試。

Simulink代碼生成報告,高亮現(xiàn)實算法和代碼間的雙向追蹤。

■ 執(zhí)行和驗證代碼

Embedded Coder可將生成的代碼與代碼執(zhí)行環(huán)境進(jìn)行集成,Embedded Coder對MA

TLAB生成的代碼的執(zhí)行與使用MATLAB Coder生成的代碼具有相同的執(zhí)行框架。

對于Simulink,Embedded Coder擴(kuò)展了Simulink Coder提供的實時執(zhí)行的框架。默認(rèn)情況下,代碼可在具有或者沒有實時操作系統(tǒng)、單任務(wù)多任務(wù)或者異步模式下執(zhí)行。也可以使

用軟件在環(huán)(SIL)和處理器在環(huán)(PIL)的方式驗證代碼執(zhí)行的結(jié)果。

◆ 生成主程序

Embedded Coder按照所提供的實時環(huán)境代碼部署信息生成一個可擴(kuò)展的主程序。這種

特性可為模型生成和創(chuàng)建一個完整的自定義可執(zhí)行文件。

◆ 速率分組

Embedded Coder按照模型中的采樣時間設(shè)置生成單速率或者多速率代碼。對于多速率

多任務(wù)模型,按照速率分組為每個速率任務(wù)生成的函數(shù)。

◆ 使用鏈接和目標(biāo)

第三方IDE、微處理器及RTOS包括Wind River Systems? VxWorks支持生成代碼

的自動下載、集成、優(yōu)化和執(zhí)行。

◆ SIL和PIL測試

Embedded Coder可在simulink中使用simulink仿真模型或者s-function模塊自動執(zhí)行生成代碼進(jìn)行SIL測試,或者在嵌入式目標(biāo)平臺上進(jìn)行PIL測試。代碼生成測試API可幫助自動測試的執(zhí)行,并與之前的模型比較測試結(jié)果。與第三方工具的集成可進(jìn)行代碼結(jié)構(gòu)覆蓋度分

析來確保測試的完整性。

Simulink HDL Coder

—— 將Simulink模型和MATLAB代碼生成可綜合的HDL代碼

Simulink HDL Coder可以把Simulink模型、MATLAB代碼和Stateflow框圖生成位真(bit-true)、周期精確(cycle-accurate)、可綜合的Verilog和VHDL代碼。通過使用工業(yè)標(biāo)準(zhǔn)化設(shè)計工具,可以對自動生成的HDL代碼進(jìn)行仿真和綜合,并進(jìn)一步映射到FPGA和ASIC芯片上。

Simulink HDL Coder可以控制HDL的體系架構(gòu)和實施,突出模型中的關(guān)鍵路徑,生成硬件資源利用評估。Simulink HDL Code還能夠生成測試驗證平臺以及EDA Simulator Link的仿真模型,并提供支持DO-2工作流的代碼跟蹤能力,從而對生成的HDL代碼進(jìn)行快速驗證。 特點:

? 將Simulink模型、MATLAB代碼和Stateflow框圖生成于目標(biāo)器件、可綜合的HDL代碼;

? ? ? ? ? ?

支持Mealy / Moore有限狀態(tài)機(jī)以及控制邏輯的實現(xiàn); 生成測試驗證平臺和EDA Simulator Link協(xié)同仿真模型; 資源共享和子系統(tǒng)級重定時,以實現(xiàn)面積與速度的權(quán)衡;

利用時間約束信息和HDL合成工具箱進(jìn)行Simulink模型的優(yōu)化; 支持DO-2規(guī)范從代碼到模型,模型到代碼的跟蹤能力; 遺產(chǎn)代碼集成;

將Simulink模型生成HDL代碼;Simulink HDL Coder能夠為系統(tǒng)建模,自動生成位真、周期精確(cycle-accurate)、可綜合的Verilog和VHDL代碼,以及測試平臺。

使用Simulink HDL Coder

從建模到FPGA和ASIC的實現(xiàn),Simulink HDL Coder能夠使得算法設(shè)計過程自動化,步驟如下:

? ? ?

配置參數(shù),以選擇實現(xiàn)不同的HDL模塊 優(yōu)化模型以達(dá)到面積與速度的設(shè)計指標(biāo)

利用HDL Workflow Advisor或者Configuration Parameters GUI生成HDL代碼

? 根據(jù)測試平臺驗證生成的代碼,并自動生成協(xié)同仿真模型

通過使用Simulink HDL Coder,用戶可以首先在Simulink、MATLAB和Stateflow中

構(gòu)建系統(tǒng)模型,然后對模型進(jìn)行HDL代碼的生成。Simulink提供了160多個模塊供用戶選擇,來進(jìn)行信號處理和通信的算法建模。例如,可以使用Viterbi譯碼器或者Reed-Solomon譯碼器來建立通信接收端模型,并生產(chǎn)HDL代碼。同樣,可以使用信號處理FFT函數(shù)和濾波算法,如CIC插值法、FIR插值法,以及抽取濾波器等。

Simulink中的Embedded MATLAB功能模塊可以將MATLAB代碼生成HDL代碼。Simulink HDL Coder提供了一個現(xiàn)有的通用邏輯單元庫,如可以寫入MALAB代碼中的計數(shù)器和定時器等。用戶還可以在Stateflow中建立有限狀態(tài)機(jī)(FSM)模型,并且通過黑箱接口將手寫代碼或者HDL遺產(chǎn)代碼與Simulink模型合成為一體。

用戶創(chuàng)建好模型之后, 通過HDL Work Advisor或者Configuration Parameters GUI,并應(yīng)用代碼生成控制文件來生成HDL代碼。

通過Configuration Parameters GUI設(shè)置代碼生成選項并生成Verilog及VHDL Code

Simulink HDL Coder與EDA仿真器共同生成協(xié)同仿真測試平臺模型,并由HDL仿真器進(jìn)行配置,包括Cadence Incisive,Mentor Graphics ModelSim和Synopsys Discovery。除此之外,還可以生成HDL測試平臺和腳本文件,從而在仿真環(huán)境中進(jìn)行的測試驗證。

優(yōu)化設(shè)計

面積與速度權(quán)衡的資源利用報告

Simulink HDL Coder使得用戶可以通過模型的模塊和子系統(tǒng)來控制HDL代碼的體系結(jié)構(gòu)。例如,將分布式流水線、連續(xù)數(shù)據(jù)流以及資源共享應(yīng)用到子系統(tǒng)、Stateflow框圖和Embedded MATLAB功能模塊,在實現(xiàn)FPGA和ASIC時獲得速度與面積的權(quán)衡。用戶還可以實現(xiàn)多通道設(shè)計和序列化技術(shù),這些技術(shù)通常用于信號處理和多媒體應(yīng)用程序當(dāng)中。

資源優(yōu)化舉例。數(shù)據(jù)速率提高4倍,使得設(shè)計面積減少為原來的1/4

文檔記錄及代碼跟蹤

Simulink HDL Coder幫助用戶對生成的代碼進(jìn)行驗證,具體如下:

? ?

用戶自定義注釋及描述,增強(qiáng)代碼可讀性 模型到代碼,以及代碼到模型的雙向可跟蹤性

? 生成的代碼中包含需求,且符合DO-2標(biāo)準(zhǔn)

模型與代碼之間的相互跟蹤。Simulink HDL Coder促進(jìn)DO-2標(biāo)準(zhǔn)的符合以及對所做設(shè)計的檢驗和確認(rèn)

Simulink HDL Coder以HTML報告的形式記錄生成的代碼,報告中全面描述了代碼的模型結(jié)構(gòu)以及在HDL代碼生成過程中應(yīng)用的模型優(yōu)化設(shè)置。報告中包含與Simulink模型直接相關(guān)的摘要和生成的源文件列表。在MATLAB Help瀏覽器中選擇一個源文件使得模型中相應(yīng)的模塊突出顯示,方便對相應(yīng)的代碼跟蹤和回顧。用戶還能夠?qū)imulink模塊,Stateflow狀態(tài)及轉(zhuǎn)移,Embedded MATLAB突觸顯示HDL代碼,以實現(xiàn)代碼和模型之間的雙向跟蹤。使用Simulink Verification and Validation時,Simulink HDL Code將系統(tǒng)需求作為注釋嵌入到HDL代碼中。因此,從系統(tǒng)需求到HDL代碼實現(xiàn),用戶可以對整個流程完整地把握。

協(xié)同仿真及測試平臺生成

Simulink HDL Coder生成VHDL和Verilog測試平臺,對生成的HDL代碼快速驗證。用戶能夠通過若干選項來激勵HDL代碼,從而實現(xiàn)自定義HDL測試平臺。還能夠生成腳本文件,使得在HDL仿真器中,代碼編譯和仿真過程自動化。

Simulink HDL Coder與EDA仿真器共同生成協(xié)同仿真模型。為實現(xiàn)Simulink仿真及

協(xié)同仿真,由HDL仿真器對自動生成的模型進(jìn)行配置,如Cadence Incisive,Mentor Graphics ModelSim和Synopsys Discovery等。

利用Simulink HDL Coder自動生成協(xié)同仿真模型(左下)和HDL(右上)測試平臺

FPGA自動化設(shè)計

Simulink HDL Coder下的FPGA設(shè)計流程。將HDL Workflow Advisor與第三方合成工具,如Xilinx ISE和Altera Quartus共同使用,以實現(xiàn)迭代次數(shù)的快速設(shè)計。

Simulink HDL Coder使得用戶快速地將Simulink模型應(yīng)用到Xilinx和Altera FPGA中。HDL Workflow Advisor支持FPGA設(shè)計過程的全部階段,包括:

? ? ? ? ?

檢測Simulink模型對HDL代碼生成的兼容性 生成RTL代碼,RTL測試平臺,以及協(xié)同仿真模型

在與Xilinx ISE和Altera Quartus II的集成過程中進(jìn)行綜合時序分析 根據(jù)為達(dá)到設(shè)計指標(biāo)所作出的模型修改,提供資源利用評估報告和指導(dǎo) 根據(jù)關(guān)鍵路徑信息,對Simulink模型后端注釋

HDL Workflow Advisor支持在Simulink環(huán)境中進(jìn)行FPGA設(shè)計過程的全部階段

用戶可以查看到綜合時序分析報告,并對Simulink模型后端注釋以鑒別時序瓶頸。與合成工具的綜合使用,為迭代次數(shù)快速設(shè)計提供了途徑,并且使得FPGA的設(shè)計流程時間顯著減少。

Simulink中合成前期和后期時序信息的關(guān)鍵路徑突出顯示。能夠快速迭代設(shè)計,以規(guī)避時序瓶頸。

Simulink HDL Coder能夠生成可讀的,于目標(biāo)機(jī)的HDL代碼,并且支持遺產(chǎn)代碼集成。因此,用戶能夠根據(jù)設(shè)計需求在FPGA和ASIC的實現(xiàn)之間快速轉(zhuǎn)換。

Simulink Verification and Validation

——檢查模型與生成的代碼

Simulink Verification and Validation可以自動實現(xiàn)需求跟蹤、建模標(biāo)準(zhǔn)規(guī)范檢查以及測試框架生成。

用戶可以創(chuàng)建詳細(xì)的需求跟蹤報告,定義適合自己建模風(fēng)格的模型檢查規(guī)則以及配置團(tuán)隊間共享的檢查規(guī)則。需求文檔可以鏈接到模型、測試用例以及生成的代碼。還可以在完整的系統(tǒng)

實現(xiàn)以前生成模型框架用于部件模型以及代碼的測試。從而,用戶可以在早期的研究程序中將需求和用戶設(shè)計及測試用例進(jìn)行關(guān)聯(lián)來設(shè)計流程,同時在模型級別進(jìn)行測試和生成代碼,通過模型覆蓋率和建模標(biāo)準(zhǔn)檢驗來驗證你的設(shè)計和測試,從而將不適當(dāng)?shù)男枨?,不完全的測試和不必要的設(shè)計結(jié)構(gòu)暴露出來。

Simulink Verification and Validation支持DO-178B標(biāo)準(zhǔn)和IEC 61508工業(yè)標(biāo)準(zhǔn)的建模標(biāo)準(zhǔn)檢查。其它的支持可以通過DO Qualification Kit和IEC Certification Kit得到。 特點

? ? ? ? ? ?

提供遵從MAAB、DO-178B和IEC 61508規(guī)范的檢查; 利用Model Advisor配置編輯器,還可以自定義檢查規(guī)則;

利用需求管理接口可以將需求與模型、代碼以及測試用例進(jìn)行相互跟蹤; 可以對子系統(tǒng)自動生成測試框架

通過仿真、軟件在環(huán)(SIL)以及處理器在環(huán)(PIL)進(jìn)行部件測試;

可編程的腳本文件接口可以進(jìn)行自動模型規(guī)范檢查、需求跟蹤分析以及部件測試。

通過Simulink Verification and Validation工具箱對需求跟蹤、建模標(biāo)準(zhǔn)檢查、部件測試以及模型覆蓋度的分析以及報告生成。

強(qiáng)大功能

需求管理接口創(chuàng)建了外部文檔與Simulink模塊之間的鏈接關(guān)系。這些鏈接可以用于需求的檢查、設(shè)計的檢查、跟蹤分析以及項目文檔。使用需求管理接口,可以進(jìn)行:

? ? ? ?

將Simulink和Stateflow對象與需求進(jìn)行關(guān)聯(lián); 從Simulink或者Stateflow對象到需求的相互導(dǎo)航; 使用高亮和定義的標(biāo)簽功能來輔助檢查需求鏈接;

可以為Simulink模型創(chuàng)建報告,該報告可以表達(dá)出哪些模塊對應(yīng)哪條需求。

Simulink Verification and Validation也提供了便于檢查建模規(guī)范的庫。這些檢查可以很容易的進(jìn)行配置,用于MAAB、DO-178B和IEC 61508規(guī)范的檢查。使用Model Advisor可以進(jìn)行:

? ? ? ?

運行建模規(guī)范檢查來驗證模型或者部件是否遵從建模規(guī)范的要求; 創(chuàng)建并共享檢查規(guī)范;

使用命令行API函數(shù)自動運行檢查規(guī)范; 自定義新的檢查規(guī)范。

Simulink Verification and Validation提供的部件測試函數(shù)可以生成框架模型以及從現(xiàn)存的模型中記錄數(shù)據(jù)來幫助用戶運行部件模型的仿真。用戶可以進(jìn)行:

? ? ? ? ?

自動生成模型的部件測試框架

提取子系統(tǒng)或者子狀態(tài)圖中的數(shù)據(jù)到新模型中用于分析; 在仿真中記錄輸入端口值; 使用測試用例仿真模型; 搜集并分析模型的覆蓋度。

跟蹤需求來設(shè)計、測試和生成代碼

Simulink Verification and Validation包括一個需求管理界面,可以使用戶在整個開發(fā)過程中鏈接到設(shè)計說明書中進(jìn)行調(diào)整、跟蹤并實施變更。用戶可以訪問存儲在正式需求管理系統(tǒng)中的需求,如Telelogic DOORS, Microsoft Word, Microsoft Excel, PDF或HTML格式的文件,并將需求與Simulink和Stateflow模型中的模塊、子系統(tǒng)、狀態(tài)、轉(zhuǎn)移、函數(shù)以及真值表相結(jié)合。需求管理界面也可擴(kuò)展到支持額外的文件類型和需求管理系統(tǒng)。當(dāng)鏈接需求管理系統(tǒng)時,用戶可以在DOORS, Word 或Excel文件中插入導(dǎo)航圖標(biāo)來使Simulink和Stateflow模型中相關(guān)的模塊、子系統(tǒng)、狀態(tài)、轉(zhuǎn)移、函數(shù)或真值表高亮顯示。

為了保證需求鏈接和源文件一致,用戶可以運行checks來確認(rèn)移除的或修改的需求。同時還可以在使用RTW Embedded Coder代碼生成時將需求作為comments的形式顯示。

需求界面(左邊)可以與需求文檔(右上方)之間連接和雙向?qū)Ш?。系統(tǒng)需求模塊(左上方)顯示子系統(tǒng)需求。

建模標(biāo)準(zhǔn)規(guī)范檢查

Simulink Verification and Validation工具箱提供的建模規(guī)范有:MathWorks Automotive Advisory Borard(MAAB)、DO-178B、IEC 61508(ISO 26262)以及需求一致性。借助Model Advisor可以運行單個規(guī)范檢查或者一組規(guī)范檢查。每項檢查都有詳細(xì)的文檔說明,當(dāng)檢測到跟建模規(guī)范不一致時還會提供相應(yīng)的推薦修改方法;某些檢查還提供其它配置選項。

在Model Advisor中,不遵從建模規(guī)范的模塊會以高亮顯示,便于觀察分析。

指定驗證模塊來測試信號

Simulink 提供Signal Builder模塊,用戶可以通過它在Simulink中來指定驗證模塊從而測試信號,形成測試用例和test harness,就可以在仿真中驗證功能需求??捎脕韯?chuàng)建模型級的測試用例和驗證功能需求的test harness;同時,用戶還可以在Simulink和Stateflow中使用assertion模塊,利用其建模能力,直接利用或者擴(kuò)展它來建立更加復(fù)雜的驗證模塊庫。每一個模型級測試都可以鏈接到需求中去并用于評估模型中需求的執(zhí)行情況。

模型級的測試用例可以結(jié)合形成test harness,用于保證在仿真過程中對應(yīng)于模型的代碼與模型滿足同樣的需求。在模型中的test harness的應(yīng)用與軟件在回路中(SIL)或處理器在回路中的應(yīng)用(PIL)應(yīng)用測試時生成代碼的應(yīng)用過程正好相反。

使用Simulink Signal Builer模塊鏈接測試用例到verification模塊和需求。確認(rèn)模塊設(shè)置面板和需求面板顯示如上圖。

分析模型覆蓋率

Simulink 驗證和確認(rèn)提供了模型覆蓋度報告,來顯示用戶設(shè)計中未被測試的部分,如:未被執(zhí)行的Logical conditions, Switches, Lookup table, interpolation intervals和未被執(zhí)行的子系統(tǒng)。其結(jié)果將使用結(jié)構(gòu)覆蓋的工業(yè)標(biāo)準(zhǔn)規(guī)格,自動生成HTML文檔格式的報告。覆蓋信息也可以清晰地顯示在模型上,從而讓用戶快速地就覆蓋度缺失對模型進(jìn)行檢查,并瀏覽相關(guān)需求。由此用戶可以快速確定是否需要修改需求、測試用例或者改變設(shè)計以滿足覆蓋度目標(biāo)。

Simulink Verification and Validation提供了6種模型覆蓋分析規(guī)則:

? Cyclomatic complexity—測量模型中結(jié)構(gòu)的復(fù)雜度,近似化McCabe復(fù)雜性測量從模型中生成的代碼。

? Decision coverage—檢查在模型中代表精確點的項,例如Simulink中的Switch和Stateflow中的States

? Condition coverage—檢查對應(yīng)輸入下邏輯結(jié)合的輸出,例如Logic和Stateflow轉(zhuǎn)移。

? MC/DC—分析重要軟件的安全性(定義在RTCA DO-178B),并確定邏輯輸入是否于改變的輸出。

? Lookup table coverage—記錄下每一個插值間隔的使用頻率。(一個測試實例達(dá)到所有的覆蓋如果它每次都執(zhí)行一次內(nèi)插或外推間隔)。

? Signal range coverage—在仿真中通過每個模塊的輸出和對于所有的Stateflow數(shù)據(jù)目標(biāo)顯示產(chǎn)生的最大和最小值。

因篇幅問題不能全部顯示,請點此查看更多更全內(nèi)容

Copyright ? 2019- 91gzw.com 版權(quán)所有 湘ICP備2023023988號-2

違法及侵權(quán)請聯(lián)系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市萬商天勤律師事務(wù)所王興未律師提供法律服務(wù)