馬文希 張巧


摘 要:SCADE Suite主要用于嵌入式控制軟件的設(shè)計、驗證和代碼生成。本文利用完成了α-β濾波的代碼開發(fā),與傳統(tǒng)的代碼編寫相比較縮短了開發(fā)周期,可視化更強,調(diào)試驗證方便快捷,圖形化的方法便于開發(fā)人員快速學習運用。
關(guān)鍵詞:代碼生成;α-β濾波;嵌入式控制軟件;圖形化開發(fā);實時仿真
1SCADE軟件試用
1.1 SCADE簡介
SCADE 是一種圖形化、模塊化,基于自頂向下的控制流和數(shù)據(jù)流設(shè)計的軟件開發(fā)工具。SCADE結(jié)合Lustre和Esterel兩種語言進行設(shè)計,屬于強類型語言,能夠提供數(shù)據(jù)流運算符、控制結(jié)構(gòu)體和層次化狀態(tài)機,其語義規(guī)范,無歧義,支持循環(huán)式的程序執(zhí)行方式。SCADE Suite基于形式化語言和嚴謹?shù)臄?shù)學理論,為研制人員設(shè)計出高安全性的系統(tǒng)和軟件提供了充分的支持。提供了友好直觀的基于模型的集成開發(fā)環(huán)境。SCADE使用同步語言,創(chuàng)建無歧義并且自動實現(xiàn)、規(guī)范方面有著強大的優(yōu)勢,SCADE的圖形描述首先轉(zhuǎn)換成LUSTRE語言,再通過LUSTRE轉(zhuǎn)化成C語言或ADA語言。其中LUSTRE語言可以看成是SCADE的核心。
LUSTRE是一種基于數(shù)據(jù)流的同步程序設(shè)計語言,LUSTRE應(yīng)用于反應(yīng)系統(tǒng)。它是確定性的,是基于時間的同步模型。它的同步模型使它適合在程序中處理時間、并被編譯成高效的程序。整個系統(tǒng)看作實時交互的節(jié)點集,實則構(gòu)成了一種時間演算系統(tǒng),可以刻畫出系統(tǒng)的動態(tài)行為,該技術(shù)在許多安全關(guān)鍵系統(tǒng)中已經(jīng)得到了成功的應(yīng)用。能有效地控制和使用系統(tǒng)資源、確定任務(wù)的時限、描述系統(tǒng)的行為。LUSTRE的時間模型可以為程序員精確提供精確的時間控制;并發(fā)性則為指定控制系統(tǒng)提供了便利;完整的確定性;有限狀態(tài)機語言;容易分析、執(zhí)行時間可預(yù)測、更容易驗證、服從軟件的實現(xiàn)。
1.2 α-β濾波跟蹤模型設(shè)計
當機動目標模型建立之后,就要對目標進行跟蹤,主要是對目標的距離信息、方位角信息、俯仰角信息以及距離變化率信息、方位角變化率信息、俯仰角變化率信息進行跟蹤,預(yù)測目標的運動參數(shù)。濾波就是從混合在一起的諸多信號中提取出所需要的信號。α-β濾波是一種簡單并且在工程上易于實現(xiàn)得濾波方法。以α-β濾波模型設(shè)計作為SCADE軟件建模的目標。該模型功能較為獨立,適合作為單一軟件模塊進行設(shè)計。
2 傳統(tǒng)工具軟件設(shè)計過程
2.1 需求分析
2.1.1 跟蹤模型處理過程
根據(jù)工作狀態(tài),選取對應(yīng)的濾波參數(shù)。根據(jù)目標坐標預(yù)測值及本周期測量結(jié)果,進行目標坐標及速度估值,估值完成后,進行下周期坐標預(yù)測。
2.1.2 濾波跟蹤模型輸入輸出
(1)輸入?yún)?shù)為目標上周期濾波結(jié)果、間隔時間、濾波系數(shù)組;
(2)輸出參數(shù)為目標本周期濾波結(jié)果。
2.2 軟件設(shè)計
目標跟蹤軟件中的α-β濾波跟蹤模型如下。
3 SCADE工具軟件設(shè)計過程
3.1常量設(shè)計
根據(jù)需求分析,進行對應(yīng)的常量設(shè)計,其中包含濾波系數(shù)等常量參數(shù)。包括目標當前拍的距離信息、方位角信息、俯仰角信息。
3.2 數(shù)據(jù)類型設(shè)計
根據(jù)需求分析,進行對應(yīng)的數(shù)據(jù)類型設(shè)計,其中主要包含濾波系數(shù)結(jié)構(gòu)體、、濾波系數(shù)數(shù)組等。包括目標的距離信息、方位角信息、俯仰角信息以及距離變化率信息、方位角變化率信息、俯仰角變化率信息。
3.3 Operator設(shè)計
根據(jù)實際需要定義相應(yīng)的類型,確保在PC機進行模型測試與目標機的數(shù)據(jù)類型相符。整形根據(jù)實際需要選擇8位,16位,32位或64位。浮點型根據(jù)需要選擇32位(單精度)或64位(雙精度)。將常用的模塊集成到庫,以便重用;建議設(shè)計清晰表達所實現(xiàn)的功能,如:一節(jié)點包含計數(shù)功能,調(diào)用庫節(jié)點“counter”,而不是直接在當前節(jié)點中構(gòu)建計數(shù)器;即使某些子功能不會重用,但只要它很復(fù)雜難以理解,就應(yīng)該構(gòu)建實現(xiàn)子功能的操作符。當操作符的內(nèi)容無法在一個圖形頁設(shè)計完畢時,建議將操作符內(nèi)容分到多個圖形頁(diagram)中去設(shè)計;而當實現(xiàn)圖形頁的一部分過于復(fù)雜或者圖形頁數(shù)量過大時,建議考慮將實現(xiàn)內(nèi)容封裝到新操作符中。對齊方式中輸入采用左對齊,輸出采用右對齊。變量與變量對齊,常量與常量對齊,運算符與運算符對齊。相同操作符可以按照不同情況設(shè)置為等寬,或等高,或大小相同。
根據(jù)軟件流程圖,將濾波跟蹤模型劃分為3個Operator:FiltersSelectByT(根據(jù)目標跟蹤周期選擇濾波系數(shù)組)、FiltersSelectByREB(根據(jù)距離角度標志選擇濾波系數(shù))、FilterProcess(濾波跟蹤處理)、Opt_Main(頂層控制)。
Operator設(shè)計如圖所示:
3.4 工程構(gòu)建及仿真測試
軟件建模完成后,選擇Opt_Main模塊進行Check,Check通過后,選擇Simulation模式進行編譯,編譯完成后,點擊運行。在運行前,可將輸入輸出接口添加至watch窗口中,并初始化各輸入接口數(shù)據(jù)。初始化完成后,選擇仿真運行時間開始仿真。在仿真過程中,可隨時觀測模塊各級輸入輸出接口數(shù)據(jù)變化情況。計算結(jié)果與輸入的上周期坐標預(yù)測值基本一致,符合目標濾波跟蹤模型的要求。
4 總結(jié)
運用SCADE工具對數(shù)據(jù)計算類的軟件進行設(shè)計開發(fā),進行數(shù)據(jù)仿真比較靈活,可以動態(tài)的觀測仿真數(shù)據(jù)。繼而得出結(jié)論,SCADE Suite的優(yōu)勢主要體現(xiàn)在:軟件的模塊劃分比較清晰,開發(fā)周期較短,而且生成的文檔快速完整,通過圖形化的方法進行系統(tǒng)建模,并且可以進行動態(tài)仿真,為開發(fā)者提供了極大的便利,SCADE Suite在以后的運用中會得到極大的推廣。
參考文獻:
[1]張合軍.基于SCADE的無人機飛行控制系統(tǒng)軟件設(shè)計[M].南京航空航天大學,2007.
[2]李紳.基于Scade Suite的數(shù)字濾波器設(shè)計[M].中國電子科機集團公司第二十研究所.