李 程
(中國電子科技集團公司第五十四研究所,河北 石家莊 050081)
關(guān)鍵字:PMF-FFT;折疊匹配濾波器;高動態(tài);長偽碼捕獲
衛(wèi)星通信以其全天候、廣地域和高靈活性在軍民領(lǐng)域中均得以廣泛的應(yīng)用。但是衛(wèi)星通信系統(tǒng)鏈路環(huán)境較為復(fù)雜多變,特別是在高動態(tài)條件下,鏈路上的多普勒頻移導(dǎo)致信號的捕獲和跟蹤難度較大,這也一直是工程研究的熱點和難點。在低速通信中,常結(jié)合擴頻通信整體設(shè)計,這樣可以提升其抗干擾能力和高可靠性,降低實現(xiàn)難度。目前擴頻通信中較為成熟的捕獲算法有滑動相關(guān)算法、匹配濾波算法以及基于FFT的捕獲算法等,部分匹配濾波-快速傅立葉變換(Partial Match Filter Fast Fourier Transform,PMF-FFT)是最近研究的熱點,主要用于捕獲高動態(tài)長偽碼信號,其捕獲用時較短、捕獲頻偏范圍較寬。PMF-FFT算法多用FPGA實現(xiàn),對邏輯資源和RAM資源消耗量也較大,特別是當(dāng)擴頻信號的偽碼長度較長或多普勒頻偏過大時,會導(dǎo)致硬件資源占用過多而不可實現(xiàn)。本文論述一種PMF-FFT實現(xiàn)方法,通過非相干累積和匹配濾波器組的折疊,優(yōu)化了資源使用率,實現(xiàn)了高動態(tài)長偽碼信號的捕獲。通過仿真和測試,捕獲概率為99%時,捕獲時間小于1 s。
假設(shè)信號碼長為N,多普勒頻差為?f,碼寬為Tc,若對此信號實現(xiàn)捕獲,此時的歸一化相關(guān)輸出值為[1]:
式中,r(k)為接收信號;c(k-n)為本地偽碼;?(φ)為接收相差。
當(dāng)r(k)與c(k-n)對齊時,?(φ)=0,r(k)c(k-n)=1,則式(1)可表示為:
部分匹配濾波算法是將式(2)中長為N的匹配濾波器分成K段長為M的部分匹配濾波器(N=K×M),可得出:
對K段部分匹配濾波器輸出的相關(guān)值進行K點FFT運算,輸出結(jié)果中第k點的歸一化幅頻響應(yīng)為:
若k點FFT結(jié)果取模之后的峰值大于判決門限,則捕獲成功,F(xiàn)FT估計的載波頻差為接收端需要補償?shù)念l差值[2]。對固定的?f,比較這K個GPMF-FFT(k,?f)的函數(shù)值,可得捕獲的相關(guān)增益A(?f)。
若擴頻信號信息速率Rb為1 kb/s,擴頻周期N為1 024,采樣因子K為2,M為128,則碼片速率Rc=1.024 Mb/s,碼片周期Tc=1/Rc,部分匹配濾波器級數(shù)X=KN/M=16,則在偽碼同步時,PMF-FFT算法的相關(guān)增益如圖1所示。
捕獲輸出的歸一化增益在0~8 kHz范圍內(nèi)并沒有隨著頻偏的增加而急劇下降,在系統(tǒng)頻偏過大時,PMF-FFT算法不會因為相關(guān)增益過低導(dǎo)致相位漏檢,即系統(tǒng)的頻偏搜索范圍變大。由此可得,PMF-FFT算法能夠解決大頻偏問題。
在PMF-FFT捕獲算法中,部分匹配濾波器的長度需慎重考慮,不可過大或過小[3]。部分匹配濾波器的長度過大會導(dǎo)致捕獲帶寬變窄,長度過小會導(dǎo)致FFT點數(shù)過多,導(dǎo)致FFT計算量過大,資源占用和計算延時增加,因此須合理平衡匹配濾波器的長度和FFT點數(shù)。由式(5)可知,接收信號與本地偽碼的相關(guān)增益會受到部分匹配濾波器的頻率響應(yīng)GPMF(k,?f)的影響。當(dāng)頻偏很大時,相關(guān)增益衰減十分明顯。圖2是M=64,32階濾波器時PMFFFT輸出的相關(guān)增益。
從圖2可知,基于PMF-FFT的捕獲算法對頻偏的搜索范圍是有限的。因此在進行匹配濾波器長度設(shè)計時,要合理計算頻偏搜索范圍,同時保證正常捕獲。
算法處理流程如圖3所示。信號Rx經(jīng)過預(yù)處理產(chǎn)生I、Q兩路信號,送入匹配濾波器組進行相關(guān)運算,每個濾波器組由相關(guān)器和M階累加器組成,I、Q兩路數(shù)據(jù)先相關(guān)再累加生成n個數(shù)據(jù),將累加結(jié)果送入N(N≥n)點FFT模塊進行運算,將輸出結(jié)果與預(yù)設(shè)門限進行判決,若輸出結(jié)果高于門限,則表示成功捕獲[4],通過捕獲的相位位置計算可得出系統(tǒng)頻差。
圖1 PMF-FFT捕獲算法輸出增益
圖2 PMF-FFT輸出增益
圖3 算法處理流程
本文中擴頻信號偽碼長度為40 800,碼速率為2.5 Mc/s,頻偏范圍為±20 kHz。如圖4所示,經(jīng)過仿真計算,若需捕獲概率大于99%,部分匹配濾波器長度為256,F(xiàn)FT點數(shù)為256。
圖4 基于PMF-FFT的捕獲仿真結(jié)果
下面給出具體的實現(xiàn)方法。
常規(guī)方法的部分匹配濾波器實現(xiàn)過程如圖5所示,處理過程需要L級數(shù)據(jù)寄存器、L級相關(guān)寄存器和K級累加寄存器。
部分匹配濾波器長度為256,F(xiàn)FT計算點數(shù)為256點,需要緩存的點數(shù)為256×256=65 536點,按照輸入數(shù)據(jù)2 bit量化,2倍采樣計算,若使用常規(guī)的PMF-FFT算法,其數(shù)據(jù)寄存器和相關(guān)寄存器使用量為524 288 bit。以Xilinx的XC7VX690T型號FPGA為例,其邏輯資源為693 120,已經(jīng)占據(jù)其75%的邏輯資源,綜合資源使用情況,難以實現(xiàn)算法。
圖5 常規(guī)PMF實現(xiàn)流程
本文參考一種折疊匹配濾波器[5],如圖6所示,通過RAM資源與邏輯資源的優(yōu)化互換,將待運算數(shù)據(jù)和碼字序列緩存于RAM中,將匹配濾波器組折疊,使用流水線思想,多級復(fù)用,使用高速時鐘處理低速數(shù)據(jù),減少了近一半寄存器的使用。具體實現(xiàn)流程如圖7所示。
圖6 基于RAM的折疊匹配濾波器實現(xiàn)流程
圖7 RAM存取數(shù)據(jù)流程
例化8個寬度為512,深度為32的RAM,用于存儲輸入數(shù)據(jù)。在碼周期開始后,RAM地址由0開始,累加至31,每次讀出的數(shù)據(jù)既要用于相關(guān)運算,還需要將其低510 bit與上一地址高2 bit(0地址為輸入數(shù)據(jù))拼接,再次寫入本地址中。實現(xiàn)在每個碼周期讀一次數(shù)據(jù),更新一次數(shù)據(jù)。
例化8個寬度為256,深度為32的ROM用于存儲折疊的偽碼序列,ROM地址操作與RAM一致。地址變換的同時,ROM輸出本地偽碼與RAM輸出的緩存數(shù)據(jù)進行一次相關(guān)運算,將結(jié)果放入寄存器中進入流水線處理。由于延時固定,流水線會在不同時刻輸出對應(yīng)點的累加結(jié)果,將其緩存后給FFT模塊使用,如圖8所示。
單倍采樣的碼時鐘為2.5 Mc/s,工作時鐘為150 MHz,倍數(shù)相差60倍。此種折疊匹配濾波器進行了32級折疊,考慮RAM讀寫和流水線處理延時,足以在60個時鐘周期內(nèi)完成一次PMF運算。
FFT處理模塊需要對部分匹配濾波器輸出的256個樣點進行運算,由于工作時鐘為單倍采樣碼片鐘的60倍,而256點FFT的處理延時約為600個時鐘周期,因此需要多路FFT并行處理,采用10個FFT模塊同時工作,處理流程框圖如圖9所示。
經(jīng)過累加輸出的256樣點數(shù)據(jù)通過寄存器進行緩存,通過數(shù)據(jù)選擇器依次輸入FFT模塊進行運算,對FFT輸出的數(shù)據(jù)取模值后與門限進行判決,當(dāng)模值的峰值高于門限時,則成功捕獲,此時FFT峰值點位置的歸一化頻偏則為載波頻差,本算法載波頻差估計的范圍為:
即捕獲頻偏范圍為±4.88 kHz,分辨精度為:
即經(jīng)過頻差補償后殘留的頻差最大值為38 Hz。
針對捕獲算法需要滿足初始高動態(tài)頻偏的方案設(shè)計如下:頻偏范圍-20~20 kHz,采用4路并行工作的方法,每個偽碼初始位置時進行一次捕獲,為實現(xiàn)可靠捕獲,進行3次捕獲運算,捕獲概率大于99.999 9%,最長捕獲時間小于1 s。
圖8 PMF模塊處理流程
圖9 FFT模塊處理流程
PMF-FFT算法廣泛運用于高動態(tài)長偽碼擴頻信號的捕獲中,但是其資源占用量也相對較多。本文簡要分析了PMF-FFT的算法原理,從工程應(yīng)用的角度闡述了一種優(yōu)化的PMF-FFT實現(xiàn)方法,通過對部分匹配濾波器組長度的折疊,有效減少了對芯片邏輯資源的使用。本方法已經(jīng)在工程項目中應(yīng)用,性能良好,工作穩(wěn)定可靠。