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