齊志強
(中國空空導彈研究院,河南 洛陽 471009)
衛(wèi)星導航定位系統(tǒng)目前已廣泛應用于精確制導武器系統(tǒng)和其他需要導航定位的平臺上,如飛機、船舶、車輛等。衛(wèi)星導航定位系統(tǒng)采用擴頻技術(shù),到達地面的信號強度比白噪聲低20 dB左右,工作頻率固定,很容易遭到敵方的壓制干擾而導致無法正常工作[1],因此,抗干擾能力成了制約衛(wèi)星導航定位系統(tǒng)應用的瓶頸[2]。為了滿足在復雜電磁環(huán)境下的應用需求,軍用衛(wèi)星導航定位產(chǎn)品多采用陣列處理天線來提高抗干擾能力[3]。
目前采用陣列信號處理來進行衛(wèi)星定位系統(tǒng)的抗干擾處理算法主要有兩大類:一類是閉環(huán)算法,另一類是開環(huán)算法。常用的閉環(huán)算法以LMS算法為典型代表,該算法實現(xiàn)簡單,計算量小,因而成為美軍早期采用的主要的抗干擾算法。但該算法的收斂速度與其輸出協(xié)方差矩陣的特征值分布相關(guān),其收斂速度隨著干擾信號強度和干擾信號的類型變化而變化,當特征值散布較大時,收斂速度慢[4],特別是在動態(tài)載體上難以收斂到最優(yōu)值。開環(huán)算法的收斂速度快,被認為是實現(xiàn)自適應抗干擾處理的最優(yōu)算法[5],已成為國內(nèi)外研究的熱點方向。開環(huán)算法主要有多級維納濾波MSNWF(Multistage Nested Wiener Filter)和 SMI(Sample Matrix Inversion)算法[6-7],MSNWF算法雖然具有良好的降秩性能,但降秩處理會影響陣列自由度,使干擾抑制性能下降[8],而且MSNWF算法包含前向迭代和后向迭代,當振元數(shù)目過多時,計算量迅速增加,難以滿足實時性的要求[9]。傳統(tǒng)的SMI算法需要進行矩陣求逆運算,硬件系統(tǒng)復雜[10],實現(xiàn)困難[11],為解決此問題,通常用矩陣分解的方式來實現(xiàn)。本文主要闡述基于Cholesky分解的自適應抗干擾算法應用研究。
衛(wèi)星導航定位系統(tǒng)由于接收到的信號比較弱,湮沒在白噪聲中,而干擾信號比較強,常用的抗干擾算法主要有自適應調(diào)零和自適應波束形成技術(shù),自適應波束形成技術(shù)被認為是干擾抑制最有效的工具之一[12]。文獻[12]推導的自適應波束形成算法最終需要求得的權(quán)值表達式為:
式(1)中,a(θd)為陣列在 θd方向的陣列響應,R 為輸入信號的協(xié)方差矩陣,a(θd)和 R 的求解在文獻[12]中已有詳細的推導,這里不再重復。從式(1)中易見,權(quán)值求解的關(guān)鍵在于求得協(xié)方差矩陣R的逆矩陣。
自適應抗干擾算法的主要運算,最終歸結(jié)為對輸入信號的協(xié)方差矩陣求逆問題。矩陣求逆的方法較多,而矩陣求逆方法的選擇不僅關(guān)系硬件資源的占用量,還關(guān)系著權(quán)值的更新速度。因此,對于硬件平臺來說,由于硬件資源有限,需要找到一種既耗費資源少,又可以快速完成矩陣求逆的方法。
矩陣求逆最基本的方法是Gauss消元法,但該方法計算步驟繁多,運算量大,不適合硬件實現(xiàn)。硬件實現(xiàn)時通常采用矩陣分解的方法,將矩陣轉(zhuǎn)換為特殊矩陣,從而簡化運算。矩陣分解常用的方法有LU 分解[13],QR 分解,Cholesky分解等方法,LU 分解結(jié)果不唯一;QR分解需要將矩陣分解為一個正交矩陣和一個上三角矩陣,并且需要求平方和開根號,步驟繁多,利用硬件實現(xiàn)比較困難[14];Cholesky分解需要用到開方和除法,不太適合FPGA實現(xiàn),但近年來隨著FPGA的規(guī)模越來越大,用FPGA來完成Cholesky變換,資源問題已不再成為問題的瓶頸[15-16],因此,本文擬采用Cholesky分解來實現(xiàn)權(quán)值求解。
R是秩為n的赫米特矩陣,利用Cholesky分解可求得下三角矩陣G,使R=GGH。
矩陣R可以寫作如下形式:
則存在下三角矩陣:
由式(3)可知,要得到矩陣G,需要分3步走:
第3步:求解矩陣G1。令,則有,G1為下三角矩陣,顯然,矩陣G1的求解過程和矩陣G的求解過程相同,先算出矩陣R1,然后采用相同的方法即可逐步求出矩陣G1中的全部元素。
將式(4)兩邊同乘以 R,并將R=GGH帶入,可得:
式(5)中 a(θd)為 n×1 的列向量,G 為 n×n 的下三角矩陣,令,則T為n×1的列向量,式(5)可以寫為:
式(6)可以用Gauss消元法求得T,以n=4為例,式(6)可以寫為:
由式(7)可求得 T,
用FPGA實現(xiàn)Cholesky分解求權(quán)值,需要3個功能模塊,如圖1所示:
圖1 Cholesky分解求權(quán)值模塊結(jié)構(gòu)圖
控制模塊負責協(xié)方差矩陣R和導向矢量a(θd)的調(diào)取,協(xié)調(diào)Cholesky分解模塊和Gauss消元模塊的數(shù)據(jù)進出及時序控制,并將最終求得的權(quán)值輸出。
Cholesky分解模塊完成對協(xié)方差矩陣R的分解,求出下三角矩陣G。由上面的介紹可知,Cholesky分解由3個計算單元組成:第1個計算單元進行開方運算,求出矩陣G的第1個元素,;第 2個計算單元求出矩陣G的第1列其他元素,;第3個計算單元更新下三角矩陣中的其他元素,即求出。由于下三角矩陣G1為n-1維矩陣,因此,上述3個計算單元可在控制模塊作用下重復利用,最終完成下三角矩陣G的求解。
Gauss消元模塊只需要一個計算模塊即可完成兩次Gauss消元的全部運算,以4振元為例,只需完成計算模塊,當計算t1時,控制模塊將a1賦給a4,將G11賦給G44,其他元素賦0即可,在控制模塊作用下,依次算出 t1,t2,…,t4。
上述計算過程多是順序執(zhí)行,需要幾百個時鐘周期才可以完成一次權(quán)值更新,但協(xié)方差矩陣也是需要多個時鐘周期的樣本數(shù)據(jù)才可求得[12],即使1 000個時鐘周期更新一次權(quán)值,以系統(tǒng)時鐘62 MHz為例,更新周期也只有16 μs,足以滿足高動態(tài)條件下的權(quán)值更新要求。
表1列出了幾種常用自適應抗干擾算法的比較情況,其中M代表陣列的維數(shù),D表示MSNWF降秩后的維數(shù)。
表1 幾種常用自適應抗干擾算法的比較
從表1可以看出,SMI算法性能最優(yōu),但計算復雜度也最高,因為該算法需要開方和除法運算,這也是很多人望而卻步的原因。本文所述方法由于可以實現(xiàn)資源復用,僅需要1個開方模塊和1個除法模塊,乘法器也可以復用,cholesky分解所需乘法器數(shù)量僅和LMS算法相當,因此,該算法對資源的需求并不是特別大,完全可以用FPGA來實現(xiàn)。
本文所述的基于Cholesky分解的自適應抗干擾算法巧妙地回避了矩陣求逆運算,大幅度降低了運算復雜度,掃除了利用FPGA實現(xiàn)的障礙。按照文獻[12]所述方法,已在工程上實現(xiàn),其抗干擾效果可達80 dB以上,特別是在高動態(tài)載體上,依然可以獲得優(yōu)異的抗干擾性能。該方法不但可以應用于空域抗干擾技術(shù),也適用于空時抗干擾算法,應用前景廣泛。當載體姿態(tài)不易獲知時,可以將導向矢量a(θd)設(shè)為固定值,以4振元為例,當時為常用的功率倒置算法[17],時則為Capon空域自適應抗干擾方法,當時為空時聯(lián)合抗干擾方法[18]。