馬文希 張巧


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