廉志凌
(中國電子科技集團第三十八研究所 合肥 230031)
空時自適應信號處理技術(STAP)是1973年由Brennan和Reed提出的,該方法將傳統的處理由陣元域推廣到了脈沖和陣元二維數據域,性能遠優于空時級聯處理方法,被認為理論上是最優的。具體工程實現時,根據文獻Klemm的研究,要使STAP處理的輸出信雜噪比損失小于3dB,用來估計雜波協方差矩陣的獨立同分布(IID)訓練樣本數必須大于處理器維數的兩倍。當空域采樣數N和時域采樣數K較大時,全空時處理很難獲得足夠的樣本,同時空時處理所需的設備量和運算量驚人,從而使得準最優的降維處理成為一種必然選擇。
降維處理方法包括固定結構降維處理和自適應降維處理,固定降維處理算法中的比較經典的就是mDT-SAP算法。該算法在時域先對各天線的輸出針對不同的多普勒頻率用窄帶濾波器抑制大量的非同多普勒雜波,剩余同多普勒雜波由后續的空域自適應處理完成,該方法在副瓣雜波區是準最優的。
為了驗證mDT-SAP的處理性能,本文搭建了以TI公司C6678處理芯片為主處理器的硬件系統,設計了基于RapidIO通信的核間通信機制,實現了系統的自適應調度和并行處理。
硬件系統的設計需要綜合考慮系統的體積、重量、功耗、處理能力,以及系統可擴展能力。綜合以上因素,本系統的設備量包括:一塊接口板,一塊交換板,以及若干信號處理板。信號處理板的板卡數量可根據實際需求調整,信號處理系統架構圖如圖1所示。

圖1 信號處理系統架構圖
接口板的主要作用是將接收到的光信號轉換為電信號,然后在FPGA內完成DBF并將合成結果發給信號處理板的第一片C6678。
交換板布有1848芯片,板卡之間大容量的數據交換均需要通過該板卡完成。
每塊信號處理板板載4片C6678處理芯片,用來完成所有的信號處理算法實現,主要特性如下:
1) 單片C6678可外掛8GB的DDR3,工作頻率為800MHz;
2) 每片C6678通過RapidIO Switch和PCIe Switch分別實現與背板的RapidIO及PCIe的總線互聯,構成數據傳輸通路;
3) FPGA實現背板的RocketIO,Link,板內PCIe以及RapidIO總線的接口轉換;
4) 系統可通過CPLD監控單板狀態,實現單板配置,復位等。
信號處理板采用的C6678處理器內部包含8個運算核,最高頻率可達到1.25GHz。在主頻1GHz情況下,其標稱的定點運算能力達到256GMACs,浮點運算能力達到128Gflops。每個C6678核內置32KB L1程序Cache,32K L1數據Cache以及512K L2Cache,8個4096KB SRAM。
簡單起見,設雷達天線為水平排列的一維線陣,單元個數為,一個相干處理間隔內的脈沖個數為。則第個陣元第次快拍的數據為(,),第個脈沖的陣列數據矢量X()為
()=[(1,),(2,),…,(,)]
(1)
將(),=1,2,…,排成×1的列矢量,即

(2)
假設表示無目標信號,只有雜波和噪聲,表示既有信號,又有雜波和噪聲,則有表達式

(3)
其中為目標回波復幅度;和分別表示雜波和內部熱噪聲矢量;為歸一化信號空時導向矢量。根據最大信雜噪比準則,最優權矢量通過求解如式(4)線性約束最優化問題得到

(4)
解得=μ,其中=1()
3DT算法采用相鄰三個多普勒通道作為時域自由度,天線子孔徑作為空域自由度,共同構造空時二維導向矢量,再結合雜波協方差矩陣分解獲取相應的權矢量,對空時兩維數據進行二維濾波,從而抑制雜波,檢測動目標。該方法可以在距離-多普勒域形成相對比較窄的凹口,有利于檢測地面低速目標,同時由于用了更多的自由度,無論在主瓣區還是在副瓣區都能取得比較好的性能。
從數學的角度,3DT處理可以等效成采樣數據矢量通過一個×3的降維矩陣的線性變換過程,其中和3分別為降維前后的數據維數。 降維前后的數據矢量和信號導向矢量有如式(5)關系。

(5)
降維后的雜波協方差矩陣為

(6)
根據線性約束最小方差準則(),相應的最優權矢量為

(7)

圖2 mDT-STAP信號處理流程圖
信號處理的處理架構為1+,即1片C6678負責數據分發,片C6678負責處理,處理芯片之間的任務分配,采用輪詢策略。信號處理的軟件設計包括數據分發、片間通信和并行處理三個方面。
信號處理板的第一片C6678芯片收到接口板發過來的數據之后,以脈沖為基本單位進行數據分發。由于DSP的最小處理單位為一個波位,第一片6678在進行數據分發時,先判斷當前脈沖所在的波序號,相同波序的數據分發給同一處理芯片。
考慮到雷達設計時序時,不同方位的脈沖數不同,從而每個波位的數據量也不盡相同,這樣在以波位為單位的調度和處理時,會造成負載的不均衡。因此我們在設計分發策略時,采用自適應調度策略,即每次進行數據分發時,都會判斷對應DSP的忙閑狀態,并將數據分發給處于‘閑’狀態的DSP,具體流程如圖3所示。

圖3 數據分發流程
為了提高效率,減少不必要的時間和存儲空間的開支,信號處理采用裸系統運行,將全部資源用于處理數據。這樣也就帶來了一個新的問題,如何快速有效地在DSP芯片之間進行通信呢?
我們基于已有的RapidIO協議,建立了一套完整的片間通信機制,該機制已應用于某工程,運行良好,主要工作原理如下:
1)上電后,每塊信號處理芯片需要向第一片C6678的固定內存地址發送狀態標識1,表示該板卡做好準備接收數據。
2)第一片C6678在分發數據時,只將數據分發給狀態標識為1的板卡,若輪循至某板卡,而該板卡狀態標識非1,則跳過該芯片,發送給下一芯片。
3)C6678處理芯片接收完一個完整的波位數據時,將其對應內存地址的狀態置為0,不再接收數據。
4)處理芯片處理完當前波位數據,將狀態標識置為1,準備下一次處理。
3DT-STAP處理包括脈沖壓縮、MTI、多普勒濾波、樣本選取、空時自適應濾波處理以及恒虛警檢測,流程如圖4所示。

圖4 處理流程
工程實現時,為了減少系統的設備量,降低成本,我們希望充分發揮C6678的處理能力,采用8核并行處理架構。事實上,由于信號處理為串行處理架構,即必須保證一個節點完成后再進行下一個節點的運算,因此對3DT-STAP整體上進行分解,從而實現8核并行處理,顯然不可能。
我們的實現策略是,在每個處理節點,將任務平均分到8個運算核,實現并行處理,然后在每個節點之后再8核同步一下,保證該處理節點任務徹底完成。這樣就可以發揮C6678的8核并行處理能力了。
在將每個處理節點數據分解到8個核的過程中,因為每個處理節點的數據處理方式不一樣,在分解時需要對數據進行解耦,保證每個核的數據輸入對其它核沒有依賴,處理結果也不會影響其它核。對3DT-STAP算法進行分析之后,每個處理節點的任務分解策略如下:
1) 脈沖壓縮:由于不同脈沖的處理順序并無要求,且相互獨立,可以分核按照脈沖個數進行任務劃分,每個核處理總脈沖數的八分之一。
2)多普勒濾波:不同距離單元的數據相互獨立,因此按照距離單元進行劃分,每個核處理距離單元總數的八分之一。
3)空時自適應處理:因為不同頻道之間數據處理相互獨立,故自適應濾波的處理分頻道進行。
圖5為某實測數據經過PD處理后的距離-多普勒二維譜,圖6為該批數據經過STAP處理的距離-多普勒二維譜,圓形區域為配試目標所在位置。從兩圖的對比可以看出,經過3DT-STAP處理之后,主瓣雜波和副瓣雜波區域被明顯削弱,使得處于副瓣雜波區域的目標能量顯著增強,有效提高了目標的信雜噪比(約為3 dB)。

圖5 PD處理結果

圖6 3DT處理結果
本文搭建了一套基于c6678信號處理板用于實現3DT-STAP的硬件系統,提出了一套自適應的數據分發機制和芯片之間的通信機制,并在深入理解3DT-STAP算法的基礎上,結合C6678的處理器特點,提出了基于處理節點的8核并行處理算法。需要指出的是,本文的處理架構和并行處理思想不僅適用于3DT-STAP處理,對于常規的PD處理及類似算法均可適用。最后,實測數據的處理結果驗證了本系統的正確性和有效性。