李 珅(中國電子科技集團公司第二十研究所,西安710068)
基于Scade Suite的數字濾波器設計
李珅
(中國電子科技集團公司第二十研究所,西安710068)
ScadeSuite是一種基于模型的軟件設計工具,具有軟件開發周期短、代碼調試測試方便等優點。本文提出了一種防抖動數字濾波器的設計方案,并介紹了這種濾波器在ScadeSuite環境下的框架設計及個主要模塊之間和模塊內部的邏輯關系。
ScadeSuite;數字濾波器設計;軟件代碼開發
隨著軟件業的不斷發展,軟件代碼開發量越來越大,軟件文檔編寫,軟件測試、認證等工作大大延長了軟件開發周期。
ScadeSuite是一種經過DO-178B認證的,基于模型的軟件設計工具,它同時集成了代碼生成、設計文檔生成、用例測試等功能。使用這種工具不但可以節省代碼和設計文檔編寫的時間,而且生成的代碼和文檔直接滿足DO-178B認證的要求,從而大大縮短了軟件開發周期和認證周期。
本文介紹了使用ScadeSuite6.3.1實現一個數字濾波器的方法。
數字濾波器的模型如下圖1:
比較選擇模塊根據它存儲的50個歷史數據判斷輸入數據是否為奇異值,判斷依據為:如果輸入數據超出以50個歷史值為中心的門限(門限為均值的0.5倍和1.5倍),則為奇異值,如果輸入數據落入門限內則為正常值。如果輸入數據為正常值,比較選擇模塊直接輸出輸入數據,將本次輸入數據存入歷史值數組中,并將連續預測計數模塊計數值清零;如果輸入數據為奇異值,比較選擇模塊輸出上一個正常值,并將連續異常計數模塊加1,當連續預測的次數到達門限值(20次)時,復位比較選擇模塊和平滑濾波模塊。
平滑濾波模塊是一個長度為20的滑窗濾波器,每次有新數據到來時將數據存入緩存并輸出均值。
2.1系統模型
2.1.1接口
本系統有一個輸入值和一個輸出值,在SCADESuite中定義如下圖2:
由圖可見,FilteDDM模塊的接口有兩個變量ddm和ddm20,其中ddm為輸入值,ddm20為輸出值,兩個變量都是real型。
2.1.2模型
系統模型如下圖3:Filter50Control為比較選擇模塊,它有兩個輸出,一個是選擇之后的輸出值(real類型),另一個是當前輸入數據的狀態(Filter50State類型)。由圖3可見,Filter50Control輸出的Filter50State類型變量發送給連續異常計數模塊(ErrorCounter);輸出的real型變量發送給平滑濾波模塊(Filter20Control)。連續異常計數模塊的輸出可以重置比較選擇模塊和平滑濾波模塊。
2.2比較選擇模塊模型
2.2.1接口
比較選擇模塊有一個輸入和兩個輸出接口,定義如下圖4:
ddm為輸入數據,ddm_f為選擇輸出的結果,FilterState為輸入數據類型(正常值或奇異值)。
2.2.2模型
比較選擇模塊模型如下圖5:
ddm數據直接傳送給選擇器(Filter_50)進行數據選擇,同時選擇器給出數據狀態(FilterState)和數據選擇結果(ddm_f)。array50是一個數組變量,存儲50個歷史數據,由上一個循環的輸出作為下一循環的輸入。
2.3連續異常計數模塊
2.3.1接口
連續異常計數模塊接口如下圖6:
輸入State表示當前輸入數據狀態,輸出control是重置比較選擇模塊和平滑濾波模塊的信號,為true時重置這兩個模塊,為false時不重置。
2.3.2模型
連續異常計數模塊模型如圖7:
收到Filter50Control模塊發送的State信號后,判斷State是normal還是odd,如果是normal則計數器(counter)清零;如果是odd則計數器加1,計數器的輸出與連續異常門限(FilterResetThreshold)比較,如果計數超出門限值則輸出true信號用于重置比較選擇模塊和平滑濾波模塊;否則輸出false。
2.4平滑濾波模塊
2.4.1接口(見圖8)
2.4.2模型(見圖9)
輸入數據(ddm_f)經平滑濾波器處理得到ddm_s作為輸出數據。Array20是一個20長度的數組,存儲20個歷史數據,由上一循環的輸
出作為下一循環的輸入。
本文介紹了一種在ScadeSuite6.3.1環境下實現數字濾波器的方法,經真實數據測試該濾波器效果較好,輸出數據抖動較輸入數據有明顯減小。本次設計過程充分體現了ScadeSuite的優勢:軟件模塊劃分清晰,開發周期短,文檔生成迅速完整。在以后的軟件發工作中,ScadeSuite可能會發揮能大的作用。
[1]EsterelTechnologies.ScadeLanguagePrimer,2012.3.22.
[2]EsterelTechnologies。LibrariesManual,2009.7.9.
李珅(1981—),男,陜西耀縣人,碩士研究生,工程師,軟件項目負責人,數字信號處理。