孫大元,王憲平
(1.中國電子科技集團公司第五十四研究所,河北 石家莊 050081;2.北京空間信息中繼傳輸技術研究中心,北京 100094)
?
基于PMF-FFT的高動態長偽碼捕獲實現
孫大元1,王憲平2
(1.中國電子科技集團公司第五十四研究所,河北 石家莊 050081;2.北京空間信息中繼傳輸技術研究中心,北京 100094)
針對突發擴頻通信系統中高動態條件下長碼捕獲實現困難的問題,提出了一種基于部分匹配濾波器結合快速傅里葉變換(PMF-FFT)的捕獲方法。介紹了PMF-FFT捕獲算法的原理和基于PMF-FFT的捕獲過程,給出了包括FPGA芯片選型和板級設計在內的硬件平臺設計。詳細給出了算法的FPGA實現,重點對匹配濾波器和并行FFT模塊的算法優化、工作原理、參數選擇以及具體的程序設計進行了說明。Matlab仿真結果表明,基于PMF-FFT的捕獲方法在高動態條件下能夠實現長碼的高概率捕獲,最后在硬件平臺上進行了FPGA程序捕獲性能的測試驗證,測試結果與仿真結果基本一致。
偽碼捕獲;PMF-FFT;折疊匹配濾波器;高動態
采用突發通信方式的擴頻通信系統中,傳輸數據幀經常采用捕獲同步頭引導數據段的格式。當接收信號信噪比較低時,為了保證捕獲概率,要求同步頭有足夠的長度,可以選擇長碼或多個周期的短碼實現,其中長碼因為具有保密性好、抗干擾能力強的優點成為優選方案[1]。此時同步頭內偽碼周期不重復,只能采用偽碼相位并行搜索的方法進行捕獲,并且在偽碼相位搜索的同時需要完成載波多普勒的搜索[2]。在偽碼長度較短、載波多普勒范圍較小的情況下,通常采用頻率分段多匹配濾波器并行處理的捕獲方法,該方法具有理論上的最大硬件資源消耗,當信號的多普勒范圍較大或偽碼較長時往往會導致硬件設計復雜度過高而無法實現。采用部分匹配濾波器(PMF)和快速傅里葉變換(FFT)相結合的PMF-FFT算法能夠實現偽碼相位和載波多普勒的并行二維搜索[3],對于相同的多普勒捕獲范圍,其所需資源遠小于頻率分段多匹配濾波器并行處理捕獲方法,但是與串行捕獲方法相比,其實現所需的硬件資源依然非常高,尤其是當偽碼碼長較長、多普勒動態范圍較大時,其實現難度很大[4]。
本文針對長偽碼、高動態的應用條件提出了一種PMF-FFT算法的實現方案,通過算法優化設計使有限的FPGA資源得到分利用,使用多芯片并行處理實現了多普勒處理范圍的拓寬并完成了具有擴展性的硬件平臺設計,通過Matlab對算法捕獲性能進行了仿真,并在硬件平臺上對程序捕獲性能進行了測試,結果證明該實現方法適合在實際工程中應用。
1.1基于PMF-FFT的捕獲過程
基于PMF-FFT算法的擴頻信號捕獲過程如圖1所示[5],AD采樣后得到的數字中頻信號與本地NCO產生的本振信號混頻,混頻結果經過濾波降速后得到的基帶信號與本地偽碼送入部分匹配濾波器進行相關運算,利用FFT對多組相關結果進行頻域分析,如果FFT計算出的頻譜峰值高于捕獲判決模塊預設的門限,則判定當前接收信號的偽碼與本地偽碼相位一致,此時FFT模塊輸入信號為Z(n)=X(n)+jY(n)=ej2πfdTsn,FFT峰值點對應的頻率值即為載波多普勒值fd,從而完成偽碼相位和載波多普勒的二維搜索。

圖1 基于PMF-FFT算法的捕獲過程
1.2PMF-FFT捕獲算法原理
設接收信號的偽碼長度為N,碼片寬度為Tc,載波多普勒為fd,部分匹配濾波器數量為K、長度為M(N=KM),則接收信號偽碼與本地偽碼對齊時匹配濾波器的歸一化相關值輸出為[6]:

對K段部分匹配濾波器輸出的相關值進行K點FFT運算,FFT結果中第k點的歸一化幅頻響應為:

若K點FFT結果中取模后的峰值大于捕獲判決模塊預置的門限,則判定捕獲成功,而峰值點對應的頻率值即為載波多普勒值。
實際應用中受偽碼長度等條件的限制,部分匹配濾波器的數量往往不是2的整數次冪,從而導致部分匹配濾波器的數量與FFT點數不一致,此時FFT結果的歸一化幅頻響應變為[7]:

式中,N為偽碼長度;K為部分匹配濾波器數量;L為FFT點數。
2.1匹配濾波器設計
本文中接收信號偽碼速率為4 Mcps,偽碼長度16 000,匹配濾波器入口數據速率為4倍偽碼速率、數據位寬4 bit,則匹配濾波器總長度為64 000,部分匹配濾波器數量選擇64,每段部分匹配濾波器長度為64 000/64=1 000,如果選擇使用傳統的直接型結構匹配濾波器,那么其消耗的FPGA資源將非常巨大導致難以實現。本文選擇使用基于遞歸原理的折疊匹配濾波器,其與傳統直接型匹配濾波器的結構對比如圖2所示。

圖2 直接型匹配濾波器與遞歸折疊匹配濾波器結構對比
遞歸折疊匹配濾波器基于硬件資源與處理時鐘互換的原理,通過遞歸延遲線、折疊相關運算以及模塊時分復用,極大地降低了匹配濾波器的硬件資源消耗[8],該結構中偽碼進行多次折疊,均分為多段存儲于寄存器中,輪流與輸入信號進行相關運算得到匹配濾波結果。折疊匹配濾波器的折疊系數X決定了硬件的復用程度,X的值越大則硬件復用度越高從而越節省資源,但同時處理時鐘也會隨之線性提高,所以X值的選擇需要綜合考慮FPGA資源使用以及時序完整性[9]。

匹配濾波器的工作過程如下:第1個時鐘周期偽碼C1C2…C25送入25個處理單元與移位寄存器抽頭位置的數據進行異或操作,此時選擇器輸出為X(n);第2個時鐘周期偽碼C26C27…C50送入處理單元,同時第一個時鐘周期得出的處理單元輸出送入加法器樹第一級進行運算,此時選擇器輸出為保持寄存器的值,之后的處理過程類似,共經過10個時鐘周期后一次相關運算結束。
2.2FFT處理模塊設計
FFT處理模塊需要對匹配濾波器組每次輸出的64個相關值進行FFT運算,得出頻域分析結果。為了改善扇貝效應,提高捕獲性能,FFT點數選擇128,除64個相關值外,其余64個數據為全0[12]。FFT運算采用Quartus中的FFT MegaCore Function核實現,它具有高性能、參數設置靈活的特點,能實現復數FFT和復數IFFT運算,支持Streaming、Variable Streaming、Burst、Buffered Burst四種工作模式。本文中FFT處理數據為連續數據流,選擇使用Streaming模式。IP核參數設置為:FFT點數128,數據精度12 bit,旋轉精度12 bit,工作模式Streaming,生成FFT模塊如圖3所示,其各端口信號功能描述如表1所示。

圖3 FFT模塊示意

信號名稱方向位寬功能描述clkin1時鐘reset_nin1異步復位inversein10∶FFT1∶IFFTsink_validin1輸入數據有效標志sink_sopin1輸入數據開始標志sink_eopin1輸入數據結束標志sink_realin12輸入數據實部sink_imagin12輸入數據虛部source_validout1輸出數據有效標志source_sopout1輸出數據開始標志source_eopout1輸出數據結束標志source_expout6浮點指數值source_realout12輸出數據實部source_imagout12輸出數據虛部


圖4 并行FFT處理模塊功能框圖
匹配濾波器更新輸出結果后,每8路為一組依次串行送入RAM緩存,同時將RAM中之前存儲的數據讀出送入數據選擇模塊,數據選擇模塊根據COUNT16模塊的計數值將8組數據以及數據“0”分配給16個FFT模塊進行處理,最終捕獲判決模塊通過對FFT結果進行求模判決,確定是否捕獲成功。SEL為0時,I0I1…I15輸出選擇為R0000000-00R7R6R5R4R3R2R1,SEL為1時,I0I1…I15輸出選擇為R1R000000000R7R6R5R4R3R2,SEL為2,時I0I1…I15輸出選擇為R2R1R000000000R7R-6R5R4R3,…SEL為15時,I0I1…I15輸出選擇為00000000R7R6R5R4R3R2R1R0。
2.3捕獲判決模塊設計
捕獲判決模塊接收FFT模塊的輸出結果,求模后找出最大值并記錄最大值點的位置,如果最大值超過預置捕獲門限則判定捕獲成功并根據最大值點位置換算出載波多普勒。


3.1FPGA芯片選型
本文中接收信號偽碼較長,導致PMF-FFT算法實現需要的FPGA資源較多,同時由于在PMF設計時采用了折疊結構,并且FFT處理時使用了高速時鐘,從而使FPGA的整體工作時鐘較高,因此在FPGA選型時芯片資源以及功耗成為了主要需考慮的因素。本文選用了ALTERA公司近期推出的CycloneⅤ系列FPGA芯片5CEA9,該款FPGA的特點是邏輯資源和RAM資源非常豐富,已經達到了Stratix系列大容量FPGA的水平,同時功耗要遠遠低于與其資源相當的Stratix系列芯片,并且價格低廉,非常適合實現本文需求的捕獲功能。5CEA9與Stratix III系列的EP3SL340的主要資源對比如表2所示。

表1 5CEA9與EP3SL340主要資源對比
3.2板級設計
為了適應大多普勒范圍,選擇采用多片FPGA分頻段并行捕獲。將整個捕獲頻率范圍平均分成N份,由N片FPGA分別完成對應頻段信號的捕獲。在此基礎上增加兩片FPGA,其中一片用于完成AD采樣信號的接收實現AGC控制,并將接收的一路AD信號分配給后級進行信號處理的N片FPGA;另一片用于匯總前級N片FPGA的捕獲結果,進行判決選擇。該設計具有可擴展性,通過多板并行處理,可以適應更大的范圍多普勒。
在偽碼速率C為4 Mcps、偽碼長度N為16 000、部分匹配濾波器數量K為64、FFT點數L為128的條件下,不考慮偽碼不完全對齊以及量化精度帶來的影響,使用MATLAB對算法捕獲性能進行了仿真。首先給出了PMF-FFT算法的歸一化幅頻響應曲線如圖5所示,之后分別在載噪比固定以及多普勒固定的條件下給出了恒虛警率(1×10-7)捕獲概率仿真結果如圖6和圖7所示。

圖5 歸一化幅頻響應曲線

圖6 載噪比42dBHz條件下的捕獲概率曲線

圖7 多普勒頻率494Hz條件下的捕獲概率曲線
硬件平臺及FPGA程序設計完成后,對實際捕獲性能進行了測試。測試時通過信號模擬器每隔100 ms發送一次同步頭,并對載波信號實時進行掃頻,掃頻參數設置為:多普勒范圍-25~25 kHz、多普勒變化率范圍-2.5~2.5 kHz/s、多普勒二次變化率范圍-250~250 Hz/s2。信號模擬器發送100 000次同步頭,捕獲單元記錄捕獲總次數以及正確捕獲次數,最后計算得出捕獲概率以及虛警概率,測試結果如表3所示。

表3 捕獲性能測試結果
由于捕獲性能仿真過程是在理想條件下進行的,忽略了碼片對齊精度和數據量化位數等影響,同時實測的虛警概率與仿真條件的虛警概率也略有差距,所以實際測試的捕獲性能與仿真結果有1 dB左右的差距。
基于PMF-FFT算法的偽碼捕獲方法能夠實現偽碼相位和載波多普勒的二維并行搜索,具備實時性好、捕獲頻率范圍寬的優點,但算法所需的硬件資源量非常大,尤其當偽碼長度較長、多普勒范圍較大的情況下,其工程實現非常困難。本文提出了一種針對大動態長碼捕獲的PMF-FFT算法實現方案,根據算法特點完成了FPGA芯片選型和硬件平臺設計,在FPGA程序設計時對算法進行了優化,實現了FPGA資源的充分合理利用。通過Matlab仿真以及在實際平臺上進行捕獲性能測試,對設計方案進行了驗證。本方案現已在實際工程中得到了應用,為大動態、高實時性要求條件下的偽碼捕獲提供了一種高效的實現方案。
[1]余紅明,騰潢龍.一種基于超長序列擴頻調制解調技術的實現[J].移動通信,2015,39(12):68-71.
[2]胡建波.高動態擴頻信號快速捕獲方法的研究[D].哈爾濱:哈爾濱工程大學,2005.
[3]程威,劉玉梅,王光鼎.基于改型匹配濾波器的偽碼快捕方法研究[J].戰術導彈技術,2012(2):108-113.
[4]徐寧波,宋榮榮.基于PMF_FFT改進的捕獲方法[J].無線電通信技術,2014,40(2):41-43.
[5]梁保衛,涂海洋.大多普勒條件下偽碼快捕技術[J].無線電工程,2014,44(8):85-89.
[6]袁昱.基于匹配濾波器與FFT的擴頻碼快速捕獲算法研究[D].哈爾濱:哈爾濱工業大學,2013.
[7]郭素麗,劉云飛.一種基于FFT的偽碼快捕方法[J].無線電通信術,2003,29(1):11-13.
[8]譚曉衡,楊麗麗,張毛.改進的數字匹配濾波器的設計及FPGA實現[J].重慶大學學報,2010,33(4):110-114.
[9]沈業兵,安建平,王愛華.數字匹配濾波器的遞歸折疊實現[J].北京理工大學學報,2006,26(8):733-736.
[10]楊延嗣,劉太君,葉焱,單月忠,許高明.基于FPGA的寬帶雙波段信號捕獲與恢復技術[J].移動通信,2015,39(2):74-78.
[11]余建宇.基于FPGA的擴頻接收機中數字匹配濾波器的設計[J].火控雷達技術,2009,38(3):30-33.
[12]班華福,王世練,朱 江.大多普勒下基于FFT偽碼捕獲技術研究[J].通信技術,2011,44(8):36-38.
孫大元男,(1985—),工程師。主要研究方向:航天測控。
王憲平男,(1963—),高級工程師。主要研究方向:中繼衛星系統總體。
Realization of High Dynamic Long PN Code Acquisition Based on PMF-FFT
SUN Da-yuan1,WANG Xian-ping2
(1.The54thResearchInstituteofCETC,ShijiazhuangHebei050081,China;2.BeijingSpaceInformationRelayandTransmissionTechnologyResearchCenter,Beijing100094,China)
Aiming at the problem of high dynamic long PN code acquisition in spread spectrum system,a realization method of acquisition based on Partial Match Filter-Fast Fourier Transform (PMF-FFT) is proposed.The principle of PMF-FFT and the acquisition process based on PMF-FFT are introduced,and the hardware platform design including the selection of FPGA and board design is given.The algorithm implementation in FPGA is explicated,and the algorithm optimization,operating principle,parameter selection and process design are explained.Matlab simulation result indicates that the acquisition method based on PMF-FFT achieves good acquisition probability.Finally the performance measurement result is given and the result is consistent with the simulation result.
PN code acquisition;PMF-FFT;folded DMF;high dynamic
10.3969/j.issn.1003-3106.2016.08.16
2016-05-05
國家高技術研究發展計劃(“863”計劃)基金資助項目(2013AA122105)。
TP391.4
A
1003-3106(2016)08-0065-05
引用格式:孫大元,王憲平.基于PMF-FFT的高動態長偽碼捕獲實現[J].無線電工程,2016,46(8):65-69.