新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 牛人業(yè)話 > 怎么能使Simulink的仿真速度更快?

怎么能使Simulink的仿真速度更快?

作者:paradoxfx 時(shí)間:2013-11-11 來源:電子產(chǎn)品世界 收藏

  現(xiàn)在的專業(yè)軟件都是越做越大,功能成倍成倍地增加,而處理的對象也是越來越復(fù)雜,特別是使用一些仿真軟件在高精度下建模仿真的時(shí)候,因?yàn)镻C上硬件的發(fā)展速度慢于軟件功能復(fù)雜化的速度,就造成了我們的仿真看起來是越跑越慢了。那以電子、通信、控制等領(lǐng)域都廣泛使用的為例,有沒有什么好的辦法能讓我們的更快一點(diǎn)呢?在此總結(jié)一下,我們可以在以下的幾點(diǎn)中進(jìn)行一些改進(jìn)。

本文引用地址:http://m.butianyuan.cn/article/185304.htm

  首先是模型的搭建問題。在環(huán)境中建模時(shí),以s域的表達(dá)式進(jìn)行建模時(shí)問題要少一些,增大誤差限、取消過零檢測等可以提高發(fā)展速度,減少警告信息。而z域的情況下要注意的問題會多一點(diǎn)。第一點(diǎn)是把模型中的代數(shù)環(huán)(Algebraic Loop)要消除掉;因?yàn)閦域處理的數(shù)據(jù)都是一拍一拍按照采樣周期處理的,所以如果一個(gè)數(shù)據(jù)既作為輸入,同時(shí)又無延時(shí)地作為輸出,就產(chǎn)生了數(shù)值處理的問題,造成顯著下降,處理的方法一般也不難,把反饋加一個(gè)延時(shí)環(huán)節(jié)就好了。另外就是仿真步長的問題,在能保證仿真精度的情況下,盡量使用大的步長可以顯著提高;這個(gè)最大的仿真步長自然可以按照香農(nóng)采樣定律來確定,但是一般情況下選擇仿真步長為4-10倍的最大采樣頻率是足夠了。

  其次是可以改變仿真的模式。在老版本中,這個(gè)選擇很少,但是新版本有了Normal、Accelerator和Rapid Accelerator、HIL等模式。硬件在回路HIL顯然速度最快,但是好多時(shí)候并不適用,因?yàn)槭紫纫邢鄳?yīng)的硬件,其次是仿真對象要支持代碼生成。因?yàn)镾imulink用的是一種解釋性的語言,normal模式就可以理解為Matlab解釋一句,執(zhí)行一句,速度自然不會太快;Accelerator則是把一部分共享模塊編譯為庫文件,例如dll進(jìn)行調(diào)用,相當(dāng)于混合模式,既有解釋-執(zhí)行,也有直接調(diào)用,速度;Rapid Accelerator則是把整個(gè)模型編譯為下獨(dú)立運(yùn)行的程序,少了Simulink解釋給的工作,自然運(yùn)行速度快,代價(jià)則是需要一定的時(shí)間來編譯模型;這種模式對PC的硬件配置要求是相對比較高的,內(nèi)存少于3GB時(shí)容易出錯(cuò)。

  再者就是有一些模塊會顯著拖慢仿真速度,它們相當(dāng)于“木桶理論”中的那塊“短板”了。例如Simulink中的X-Y圖這樣實(shí)時(shí)刷新繪圖的模塊。如果模式中有這個(gè)模塊,則仿真的時(shí)候它會緩慢地刷新X-Y圖,仿真速度肯定快不了。如果有別的方法替代則可以加快仿真速度,例如先把數(shù)據(jù)保存到工作空間里,等仿真結(jié)束之后再繪制X-Y圖等。一些非線性的模塊,例如一個(gè)非線性的模型,自然也比理想開關(guān)所需要的仿真時(shí)間長。

  第四種方法是并行執(zhí)行和分布式執(zhí)行,相當(dāng)于多個(gè)人一起完成一項(xiàng)工作,前提是要有并行執(zhí)行的許可和分布式執(zhí)行的許可。并行執(zhí)行就是在多核CPU的計(jì)算機(jī)上,打開多個(gè)Matlab,然后自動或者手動分配進(jìn)行并行處理;分布式執(zhí)行則是多臺計(jì)算機(jī)使用高速網(wǎng)絡(luò)互聯(lián)之后分別處理。這種仿真方法其速度提高非常顯著,特別是在處理大量迭代計(jì)算的時(shí)候,不過不是一般的開發(fā)者所能具備的。

  此外,從2012b以后的版本開始,Simulink自帶了Simulink Performance Advisor工具,可以幫助我們發(fā)現(xiàn)影響仿真速度的瓶頸,并提出相應(yīng)的建議。不過它無法或者我們搭建模型的意圖是神馬,所以還需要我們在搭建模式的時(shí)候就按照前面幾條建議進(jìn)行一些必要的修改。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉