陳紅兵,丁 偉,張詠蘭,邵會兵
(1.海軍駐南京地區航天機電系統軍事代表室,南京210006; 2.北京控制與電子技術研究所,北京100038)
實際工程應用中需要考慮的系統誤差復雜,處理的數據信息量大、計算實時性要求高,即使采用最先進的單DSP芯片也無法滿足使用要求。因此系統設計上常采取降低計算精度以節約存儲和計算空間或者采取更改導航算法的讓步軟處理方式,但這種折中做法往往會導致導航精度降低和算法復雜度增加,甚至在可觀測度低的情況下導致濾波發散,給設計人員帶來巨大的工作負擔,同時還降低了系統的可靠性[1]。目前,關于動基座對準系統計算負擔相關研究較少,主要是根據建模的維度和軟件的執行循環次數做籠統估計,不能準確細致計算出算法運行分配負擔。趙恒等針對空基傳遞對準17維建模,根據系統方程離散化過程的理論推導決策降維方案,仿真驗證了精度及設計,但并未準確給出單個變量計算復雜度及在系統計算中的優化分配[2]。
本文基于硬件系統與算法設計同步的考慮方式,提出一種適應嵌入式DSP應用的動基座對準濾波分步計算方法,以解決系統實時計算負擔的問題。利用嵌入式DSP多處理器并行計算能力強且運行高效的特性,解決單個處理器難以保證濾波實時性的問題;同時算法上在保持導航解算周期不變的前提下,利用多元統計的主成分分析方法計算單個待估變量計算量,提出分布式分配常值性干擾誤差和隨機性干擾誤差方法,以適應性分配給相應DSP處理器運算較大矩陣塊及程序步驟,進行分布式計算并緩存矩陣塊,最終綜合各部分計算結果以達到高精度動基座對準精度。文章首先給出了嵌入式多DSP處理器應用設計,再依次介紹捷聯導航系統誤差方程及其動基座對準應用,根據主成分分析多元統計法分配系統濾波的分布式計算方法,最后通過一組模擬試驗數據驗證基于多DSP的分布式計算方法可滿足高精度動基座對準要求,同時解決了在線濾波計算負擔大的問題[3]。
考慮到本文動基座對準濾波采用分布式設計方法,結合預估整體計算量擬采用多塊AD公司生產的TS201DSP芯片實現并行計算。該處理芯片是一種高性能靜態超標量數字處理器,具有很強的數據處理能力和很高的運算速度,支持32bit、40bit和64bit高精度計算,內部結構上采用雙運算模塊,支持SIMD處理方式,含相互獨立的128位寬數據總線,可以方便地構成高性能的多處理器并行數據處理系統。
一般數據的邏輯控制及核心處理運算是基于DSP+FPGA+CPCI總線設計的,CPCI總線在電氣規則上與PCI總線完全兼容,遵從PCI標準總線數據傳輸規范,傳輸速度很高。CPCI采用歐洲標準尺寸,便于設計開發,對于不同板型系統,提供可選擇多種插頭的連接方式,部分插頭信號的使用可以自行定義,相互連接成新的總線,本文基于實際運算采用標準總線設計。
本文采用嵌入式多DSP分布式并行總線結構,避免對總線資源的競爭,適合多分支同步大數據量處理,且每片DSP幾乎獨立進行數據處理。
圖1所示的DSP處理模塊由多塊ADSP-TS201并行實現,計算節點采用總線緊耦合與分布式并行處理方式相結合,通過Link接口構成兩兩互連的網絡結構。這種并行計算結構的結合,既減少處理器對總線的競爭,又增強了處理器間的數據交換,充分發揮了分布式DSP并行處理能力的優勢,靈活運用Link接口方便快速的特點,使得2塊并行ADSP-TS101構成的運算體處理能力更快速、更強大。
圖2所示為分布式DSP及FPGA系統的并行實現結構,系統中數據存儲區用于存儲數據處理的中間結果, 是整個處理板的主存儲設備。此外由于整個信號處理系統的處理速度很大程度上取決于DSP對外部存儲器的讀寫速度, 因此要求該數據存儲區的讀寫速度必須盡可能地快。基于上述讀寫速度和存儲容量的考慮, 選用一片大容量的高速SDRAM作為數據存儲區。同時考慮到動基座對準多分支、多流程功耗大,選用相應的FLASH構成DSP程序存儲區。而數據接口收發的緩沖是通過輸入緩沖區和輸出緩沖區實現,同時保證了處理系統與數據采集系統之間以及主控系統數據交換的緩沖。
首先,FPGA將高速A/ D采集進來的16位原始數據預處理后拼接成64位,然后寫入數據緩沖模塊,經過采集系統的AD變換后經CPCI總線接口傳入TS101 DSP處理區進行分配計算。其次,信號處理板FPGA接收數據后, 將數據寫入輸入緩存區, 并在完成一幀后給DSP輸出中斷。最后,當DSP采樣到中斷后, 從數據緩存區讀取數據, 完成處理后, 經過輸出緩存區將數據傳輸給CPCI總線,經過D/A輸出使用。
動基座對準是一種多傳感器信息融合匹配方法,利用主子慣導的觀測誤差,通過Kalman濾波來實現導航誤差修正。動基座對準系統方程主要是基于姿態誤差方程、速度誤差方程及位置誤差方程建立的,同時需考慮桿臂誤差、撓曲形變以及慣性器件誤差等多項干擾誤差源[4]。
動基座對準系統方程構建是基于慣性傳感器輸出信息迭代計算的,一般用到的捷聯導航系統誤差方程主要有姿態誤差方程、速度誤差方程及位置誤差方程[5-6]。
速度誤差方程為
(1)
姿態誤差方程為
(2)
位置誤差方程為:
(3)
(4)
(5)

以主子慣導輸出的速度誤差和姿態誤差為觀測量,同時結合上述捷聯導航系統誤差方程可建立系統狀態方程及觀測方程[7]。
構建Kalman濾波系統模型:
(6)
式中,X為系統狀態變量,A為狀態轉移矩陣,B為噪聲系數矩陣,W為系統噪聲,Z為量測匹配量,H為觀測矩陣,V為觀測噪聲(服從白噪聲驅動隨機分布)。
傳統計算復雜度分析方法僅根據建模維度、理論程序迭代次數粗略分析系統大概計算量,不能準確指出主要影響算法運行待估計變量的復雜度,影響分配變量執行的準確實施。由于每個變量彼此有一定聯系,因而系統量的籠統分析在一定程度產生重疊和偏差,本文利用主成分分析思想精確抽取原始建模變量中主要的復雜變量,把粗略系統指標轉化為精確主要指標,根據相關特征值分解決策分配方法,同時進一步為優化各誤差項建模做準備。
根據系統模型的i維變量對應的i個成分,相應i變量互不相關且按照系統方差陣元素由大到小排列,其中對應第i變量為第i主成分。首先確定系統的協方差陣為P,則P為半正定對稱矩陣,按照代數方法求解第i變量特征值λi及其特征向量αi,αi是主成分第i變量相關特征值,而主成分的方差貢獻率用以反應信息量大小
(7)
最后要選擇幾個主要成分,通過信息累計貢獻率G(m)來確定
(8)
當累計貢獻率G(m)大于系統設定的百分比(δ),即認為所占系統變量信息比重較大,最后結合建模維度理論和確定的主成分分配主要計算量,同時確定撓曲形變、桿臂誤差及時間延遲等干擾誤差項的配比。
由主成分特征量及海情分析可知,部分變量如桿臂、撓曲形變在各軸向相互獨立且誤差并未得到完全激勵,為保證估計精度同時最大優化系統建模變量,需對必要的桿臂誤差、撓曲形變量及時間延遲進行分布式建模補償。按照作用過程及效果,可統一分為常值誤差項和動態誤差項,其中常值誤差項進行常微分建模或計算補償,動態誤差項根據響應頻率進行馬爾科夫過程擬合。其中撓曲形變量建模一般按照二階馬爾科夫建模,全狀態則極大增加了濾波負擔和分配的計算難度,根據分析其中航向撓曲形變對姿態影響較為嚴重,水平估計則以速度匹配閉合,如此可分離水平、航向姿態估計,同時減小系統計算負擔,因而狀態建模需擴充航向形變角、航向形變角速率[8-10]。
(9)
桿臂誤差及時間延遲的動態作用效果較符合高頻噪聲特性,一般等效為白噪聲過程。因此綜合考慮可將常值項誤差作為系統預先補償塊,隨機干擾作為待估計后續處理塊。
(10)
基于前述主要影響系統估計精度的變量及理論建模可知,確定估計維數的Kalman濾波系統狀態轉移矩陣及系統噪聲計算、濾波遞推以及量測更新均存在大量的高維度矩陣運算,若在單DSP系統下采用64bit高精度迭代計算將造成系統巨大的計算負擔、占用大量運算資源,短時導航周期內無法完成一次濾波計算的實時性要求。而以單精度32bit運算則會大大節約計算成本,但32bit低精度運算會降低系統的計算精度,尤其是可觀測度較低時由于辨識度低、累積誤差更大更易引起估計濾波器發散。本節基于嵌入式多DSP的數據處理結構,結合主成分統計的主要計算變量,根據濾波系統各步驟計算的迭代運算量分配計算,各子塊存儲量可高效傳遞,最終結合各子塊計算結果在一個導航周期內完成濾波修正。
第一步:依據系統狀態維數及觀測量個數估計各步運算量。
由于矩陣維數決定運算的迭代次數,因而Kalman濾波系統的計算復雜度主要取決于系統狀態維數及觀測量個數,尤其是高維度的待估計狀態量。以一步預測狀態方程為例,n維系統方程的計算復雜度約為o(n2)+o(n),而矩陣相乘的計算頻次是o(n3)數量級,且其中失準角變量計算復雜度最高。表1根據復雜度理論計算方法給出13維狀態方程相應理論計算頻次列表,結果表明系統噪聲陣、一步預測均方誤差和估計均方誤差占用計算資源較多,由此作為后續各步運算量的分布式設計基礎。

表1 13維狀態方程理論計算復雜度列表
第二步:依據各部分計算復雜度進行分布式設計。
在得出濾波系統各部分計算復雜度的同時,需根據計算機DSP處理芯片存儲能力及數量、計算速度以及導航計算的采樣周期分配計算資源。單步導航周期內需完成所有步驟矩陣的分步存儲及計算,因此分配各子塊計算耗時花費應滿足如下公式(其中m為分配塊數,τ為單步導航計算周期)。
τ1+τ2+τ3+…τm≤τ(m≥1)
(11)
本文考慮20維速度+姿態匹配動基座對準應用,根據估計的計算復雜度結果擬采用4塊ADS-TS201DSP處理器存儲計算,并按照預分配的計算量將整體估計計算量A按F1(A)、F2(A)、 F3(A)和F4(A)依次分步處理。其中F1(A)項主要進行捷聯導航計算及狀態轉移矩陣計算,F2(A)項主要進行系統噪聲陣計算及一步預測狀態方程計算,F3(A)項主要進行一步預測均方差及濾波增益計算,F4(A)項主要進行狀態估計及估計均方誤差計算。其中完成每步分配計算后進行緩存處理,再進行下一步分配計算,直到導航周期時間內完成所有分配計算量后可進行下一周期迭代計算,如圖3所示。
根據上述系統方程及分布式計算原理,設計動基座對準試驗驗證適應嵌入式多DSP系統的動基座對準濾波分布式設計的正確性。試驗按照4塊DSP芯片處理器要求搭建數據處理系統,由仿真機模擬一組15min艦船航行中的主基準慣導動態數據,相應地生成一組子慣導原始數據用于捷聯解算,將編寫的動基座對準軟件按分布式設計方法分配嵌入各處理器進行運算,將預先準備的主子慣組數據源注入64bit在線飛控軟件運算,得到的對準估計結果如圖4~圖7所示。其中圖6、圖7為失準角、安裝誤差角估計值,圖5表明使用濾波計算分布式方法后的計算精度與高精度離線結果誤差在5″內,因此本文提出的適應多DSP應用的分步計算方法滿足對準精度使用需求。表2所示為64bit計算精度的多DSP處理器飛行控制機在線解算的實際測量耗時列表,對比表1理論計算復雜度可以看出,各計算步驟的量級對應一致,且所有計算時間總和遠小于10ms,滿足對準算法實時計算的要求,方法設計合理可行。

表2 在線飛控計算實際測量耗時列表
本文針對動基座對準濾波高維數矩陣計算量大、實時性要求高等問題,利用嵌入式多DSP數字信號處理芯片高時效性運算、通信編程方便、應用程序容易維護等特點,根據對準算法的計算復雜度、耗時測量及算法結構設計分布式濾波方法,保證大量信息并行計算、傳遞高效簡單,同時結合主成分特征分析、航向撓曲形變角擴充分析、桿臂誤差及時間延遲分布式優化方法,可滿足動基座對準精度及實時性要求。試驗結果表明,分布式多DSP結構可以為大數據量計算及并行程序執行提供高效硬件基礎,同時保證了最優算法設計的可靠性,為滿足動基座對準濾波解決實時性、高效運算提供一條適用途徑。后續工作將進一步探索在其他導航工程中,分布式軟硬件設計的應用方法。
[1]程明文, 劉勇志, 徐顯強. 潛射導彈捷聯慣導系統傳遞對準技術研究[J]. 魚雷技術, 2010, 18(5):367-370.
[2]趙恒, 蘇永清, 葉萍. 快速傳遞對準濾波器設計及其計算復雜度分析[J]. 彈箭與制導學報, 2011, 31(3):31-34.
[3]樊榮. 捷聯慣導系統傳遞對準方法研究及其仿真[D]. 南京: 南京理工大學, 2006.
[4]代傳堂. 基于多DSP的高速通用信號處理平臺的設計與研究[ D] . 西安: 西安電子科技大學, 2006.
[5]鄭辛, 武少偉, 吳亮華. 導彈武器慣導系統傳遞對準技術綜述[J]. 導航定位與授時, 2016, 3(1):1-8.
[6]白成萌, 楊功流. 王麗芬, 等. 艦載機動基座快速對準方法研究[J]. 導航定位與授時, 2016, 3(1):13-18.
[7]陳國良. 并行計算——結構、算法、編程[M]. 北京: 高等教育出版社, 1999.
[8]AIAA. Rapid transfer alignment for tactical weapon applications[C]∥Proceedings of AIAA Guidance,Navigation and Control Conference,1989:1290-1300.
[9]秦永元. 慣性導航[M]. 北京:科學出版社,2006:327-330.
[10]李蓓. 捷聯慣導傳遞對準可觀測性分析[D]. 哈爾濱:哈爾濱工程大學,2008:45-61.