孫大元,王憲平
(1.中國電子科技集團(tuán)公司第五十四研究所,河北 石家莊 050081;2.北京空間信息中繼傳輸技術(shù)研究中心,北京 100094)
?
基于PMF-FFT的高動態(tài)長偽碼捕獲實(shí)現(xiàn)
孫大元1,王憲平2
(1.中國電子科技集團(tuán)公司第五十四研究所,河北 石家莊 050081;2.北京空間信息中繼傳輸技術(shù)研究中心,北京 100094)
針對突發(fā)擴(kuò)頻通信系統(tǒng)中高動態(tài)條件下長碼捕獲實(shí)現(xiàn)困難的問題,提出了一種基于部分匹配濾波器結(jié)合快速傅里葉變換(PMF-FFT)的捕獲方法。介紹了PMF-FFT捕獲算法的原理和基于PMF-FFT的捕獲過程,給出了包括FPGA芯片選型和板級設(shè)計(jì)在內(nèi)的硬件平臺設(shè)計(jì)。詳細(xì)給出了算法的FPGA實(shí)現(xiàn),重點(diǎn)對匹配濾波器和并行FFT模塊的算法優(yōu)化、工作原理、參數(shù)選擇以及具體的程序設(shè)計(jì)進(jìn)行了說明。Matlab仿真結(jié)果表明,基于PMF-FFT的捕獲方法在高動態(tài)條件下能夠?qū)崿F(xiàn)長碼的高概率捕獲,最后在硬件平臺上進(jìn)行了FPGA程序捕獲性能的測試驗(yàn)證,測試結(jié)果與仿真結(jié)果基本一致。
偽碼捕獲;PMF-FFT;折疊匹配濾波器;高動態(tài)
采用突發(fā)通信方式的擴(kuò)頻通信系統(tǒng)中,傳輸數(shù)據(jù)幀經(jīng)常采用捕獲同步頭引導(dǎo)數(shù)據(jù)段的格式。當(dāng)接收信號信噪比較低時(shí),為了保證捕獲概率,要求同步頭有足夠的長度,可以選擇長碼或多個(gè)周期的短碼實(shí)現(xiàn),其中長碼因?yàn)榫哂斜C苄院?、抗干擾能力強(qiáng)的優(yōu)點(diǎn)成為優(yōu)選方案[1]。此時(shí)同步頭內(nèi)偽碼周期不重復(fù),只能采用偽碼相位并行搜索的方法進(jìn)行捕獲,并且在偽碼相位搜索的同時(shí)需要完成載波多普勒的搜索[2]。在偽碼長度較短、載波多普勒范圍較小的情況下,通常采用頻率分段多匹配濾波器并行處理的捕獲方法,該方法具有理論上的最大硬件資源消耗,當(dāng)信號的多普勒范圍較大或偽碼較長時(shí)往往會導(dǎo)致硬件設(shè)計(jì)復(fù)雜度過高而無法實(shí)現(xiàn)。采用部分匹配濾波器(PMF)和快速傅里葉變換(FFT)相結(jié)合的PMF-FFT算法能夠?qū)崿F(xiàn)偽碼相位和載波多普勒的并行二維搜索[3],對于相同的多普勒捕獲范圍,其所需資源遠(yuǎn)小于頻率分段多匹配濾波器并行處理捕獲方法,但是與串行捕獲方法相比,其實(shí)現(xiàn)所需的硬件資源依然非常高,尤其是當(dāng)偽碼碼長較長、多普勒動態(tài)范圍較大時(shí),其實(shí)現(xiàn)難度很大[4]。
本文針對長偽碼、高動態(tài)的應(yīng)用條件提出了一種PMF-FFT算法的實(shí)現(xiàn)方案,通過算法優(yōu)化設(shè)計(jì)使有限的FPGA資源得到分利用,使用多芯片并行處理實(shí)現(xiàn)了多普勒處理范圍的拓寬并完成了具有擴(kuò)展性的硬件平臺設(shè)計(jì),通過Matlab對算法捕獲性能進(jìn)行了仿真,并在硬件平臺上對程序捕獲性能進(jìn)行了測試,結(jié)果證明該實(shí)現(xiàn)方法適合在實(shí)際工程中應(yīng)用。
1.1基于PMF-FFT的捕獲過程
基于PMF-FFT算法的擴(kuò)頻信號捕獲過程如圖1所示[5],AD采樣后得到的數(shù)字中頻信號與本地NCO產(chǎn)生的本振信號混頻,混頻結(jié)果經(jīng)過濾波降速后得到的基帶信號與本地偽碼送入部分匹配濾波器進(jìn)行相關(guān)運(yùn)算,利用FFT對多組相關(guān)結(jié)果進(jìn)行頻域分析,如果FFT計(jì)算出的頻譜峰值高于捕獲判決模塊預(yù)設(shè)的門限,則判定當(dāng)前接收信號的偽碼與本地偽碼相位一致,此時(shí)FFT模塊輸入信號為Z(n)=X(n)+jY(n)=ej2πfdTsn,F(xiàn)FT峰值點(diǎn)對應(yīng)的頻率值即為載波多普勒值fd,從而完成偽碼相位和載波多普勒的二維搜索。
圖1 基于PMF-FFT算法的捕獲過程
1.2PMF-FFT捕獲算法原理
設(shè)接收信號的偽碼長度為N,碼片寬度為Tc,載波多普勒為fd,部分匹配濾波器數(shù)量為K、長度為M(N=KM),則接收信號偽碼與本地偽碼對齊時(shí)匹配濾波器的歸一化相關(guān)值輸出為[6]:
對K段部分匹配濾波器輸出的相關(guān)值進(jìn)行K點(diǎn)FFT運(yùn)算,F(xiàn)FT結(jié)果中第k點(diǎn)的歸一化幅頻響應(yīng)為:
若K點(diǎn)FFT結(jié)果中取模后的峰值大于捕獲判決模塊預(yù)置的門限,則判定捕獲成功,而峰值點(diǎn)對應(yīng)的頻率值即為載波多普勒值。
實(shí)際應(yīng)用中受偽碼長度等條件的限制,部分匹配濾波器的數(shù)量往往不是2的整數(shù)次冪,從而導(dǎo)致部分匹配濾波器的數(shù)量與FFT點(diǎn)數(shù)不一致,此時(shí)FFT結(jié)果的歸一化幅頻響應(yīng)變?yōu)閇7]:
式中,N為偽碼長度;K為部分匹配濾波器數(shù)量;L為FFT點(diǎn)數(shù)。
2.1匹配濾波器設(shè)計(jì)
本文中接收信號偽碼速率為4 Mcps,偽碼長度16 000,匹配濾波器入口數(shù)據(jù)速率為4倍偽碼速率、數(shù)據(jù)位寬4 bit,則匹配濾波器總長度為64 000,部分匹配濾波器數(shù)量選擇64,每段部分匹配濾波器長度為64 000/64=1 000,如果選擇使用傳統(tǒng)的直接型結(jié)構(gòu)匹配濾波器,那么其消耗的FPGA資源將非常巨大導(dǎo)致難以實(shí)現(xiàn)。本文選擇使用基于遞歸原理的折疊匹配濾波器,其與傳統(tǒng)直接型匹配濾波器的結(jié)構(gòu)對比如圖2所示。
圖2 直接型匹配濾波器與遞歸折疊匹配濾波器結(jié)構(gòu)對比
遞歸折疊匹配濾波器基于硬件資源與處理時(shí)鐘互換的原理,通過遞歸延遲線、折疊相關(guān)運(yùn)算以及模塊時(shí)分復(fù)用,極大地降低了匹配濾波器的硬件資源消耗[8],該結(jié)構(gòu)中偽碼進(jìn)行多次折疊,均分為多段存儲于寄存器中,輪流與輸入信號進(jìn)行相關(guān)運(yùn)算得到匹配濾波結(jié)果。折疊匹配濾波器的折疊系數(shù)X決定了硬件的復(fù)用程度,X的值越大則硬件復(fù)用度越高從而越節(jié)省資源,但同時(shí)處理時(shí)鐘也會隨之線性提高,所以X值的選擇需要綜合考慮FPGA資源使用以及時(shí)序完整性[9]。
匹配濾波器的工作過程如下:第1個(gè)時(shí)鐘周期偽碼C1C2…C25送入25個(gè)處理單元與移位寄存器抽頭位置的數(shù)據(jù)進(jìn)行異或操作,此時(shí)選擇器輸出為X(n);第2個(gè)時(shí)鐘周期偽碼C26C27…C50送入處理單元,同時(shí)第一個(gè)時(shí)鐘周期得出的處理單元輸出送入加法器樹第一級進(jìn)行運(yùn)算,此時(shí)選擇器輸出為保持寄存器的值,之后的處理過程類似,共經(jīng)過10個(gè)時(shí)鐘周期后一次相關(guān)運(yùn)算結(jié)束。
2.2FFT處理模塊設(shè)計(jì)
FFT處理模塊需要對匹配濾波器組每次輸出的64個(gè)相關(guān)值進(jìn)行FFT運(yùn)算,得出頻域分析結(jié)果。為了改善扇貝效應(yīng),提高捕獲性能,F(xiàn)FT點(diǎn)數(shù)選擇128,除64個(gè)相關(guān)值外,其余64個(gè)數(shù)據(jù)為全0[12]。FFT運(yùn)算采用Quartus中的FFT MegaCore Function核實(shí)現(xiàn),它具有高性能、參數(shù)設(shè)置靈活的特點(diǎn),能實(shí)現(xiàn)復(fù)數(shù)FFT和復(fù)數(shù)IFFT運(yùn)算,支持Streaming、Variable Streaming、Burst、Buffered Burst四種工作模式。本文中FFT處理數(shù)據(jù)為連續(xù)數(shù)據(jù)流,選擇使用Streaming模式。IP核參數(shù)設(shè)置為:FFT點(diǎn)數(shù)128,數(shù)據(jù)精度12 bit,旋轉(zhuǎn)精度12 bit,工作模式Streaming,生成FFT模塊如圖3所示,其各端口信號功能描述如表1所示。
圖3 FFT模塊示意
信號名稱方向位寬功能描述clkin1時(shí)鐘reset_nin1異步復(fù)位inversein10∶FFT1∶IFFTsink_validin1輸入數(shù)據(jù)有效標(biāo)志sink_sopin1輸入數(shù)據(jù)開始標(biāo)志sink_eopin1輸入數(shù)據(jù)結(jié)束標(biāo)志sink_realin12輸入數(shù)據(jù)實(shí)部sink_imagin12輸入數(shù)據(jù)虛部source_validout1輸出數(shù)據(jù)有效標(biāo)志source_sopout1輸出數(shù)據(jù)開始標(biāo)志source_eopout1輸出數(shù)據(jù)結(jié)束標(biāo)志source_expout6浮點(diǎn)指數(shù)值source_realout12輸出數(shù)據(jù)實(shí)部source_imagout12輸出數(shù)據(jù)虛部
圖4 并行FFT處理模塊功能框圖
匹配濾波器更新輸出結(jié)果后,每8路為一組依次串行送入RAM緩存,同時(shí)將RAM中之前存儲的數(shù)據(jù)讀出送入數(shù)據(jù)選擇模塊,數(shù)據(jù)選擇模塊根據(jù)COUNT16模塊的計(jì)數(shù)值將8組數(shù)據(jù)以及數(shù)據(jù)“0”分配給16個(gè)FFT模塊進(jìn)行處理,最終捕獲判決模塊通過對FFT結(jié)果進(jìn)行求模判決,確定是否捕獲成功。SEL為0時(shí),I0I1…I15輸出選擇為R0000000-00R7R6R5R4R3R2R1,SEL為1時(shí),I0I1…I15輸出選擇為R1R000000000R7R6R5R4R3R2,SEL為2,時(shí)I0I1…I15輸出選擇為R2R1R000000000R7R-6R5R4R3,…SEL為15時(shí),I0I1…I15輸出選擇為00000000R7R6R5R4R3R2R1R0。
2.3捕獲判決模塊設(shè)計(jì)
捕獲判決模塊接收FFT模塊的輸出結(jié)果,求模后找出最大值并記錄最大值點(diǎn)的位置,如果最大值超過預(yù)置捕獲門限則判定捕獲成功并根據(jù)最大值點(diǎn)位置換算出載波多普勒。
3.1FPGA芯片選型
本文中接收信號偽碼較長,導(dǎo)致PMF-FFT算法實(shí)現(xiàn)需要的FPGA資源較多,同時(shí)由于在PMF設(shè)計(jì)時(shí)采用了折疊結(jié)構(gòu),并且FFT處理時(shí)使用了高速時(shí)鐘,從而使FPGA的整體工作時(shí)鐘較高,因此在FPGA選型時(shí)芯片資源以及功耗成為了主要需考慮的因素。本文選用了ALTERA公司近期推出的CycloneⅤ系列FPGA芯片5CEA9,該款FPGA的特點(diǎn)是邏輯資源和RAM資源非常豐富,已經(jīng)達(dá)到了Stratix系列大容量FPGA的水平,同時(shí)功耗要遠(yuǎn)遠(yuǎn)低于與其資源相當(dāng)?shù)腟tratix系列芯片,并且價(jià)格低廉,非常適合實(shí)現(xiàn)本文需求的捕獲功能。5CEA9與Stratix III系列的EP3SL340的主要資源對比如表2所示。
表1 5CEA9與EP3SL340主要資源對比
3.2板級設(shè)計(jì)
為了適應(yīng)大多普勒范圍,選擇采用多片F(xiàn)PGA分頻段并行捕獲。將整個(gè)捕獲頻率范圍平均分成N份,由N片F(xiàn)PGA分別完成對應(yīng)頻段信號的捕獲。在此基礎(chǔ)上增加兩片F(xiàn)PGA,其中一片用于完成AD采樣信號的接收實(shí)現(xiàn)AGC控制,并將接收的一路AD信號分配給后級進(jìn)行信號處理的N片F(xiàn)PGA;另一片用于匯總前級N片F(xiàn)PGA的捕獲結(jié)果,進(jìn)行判決選擇。該設(shè)計(jì)具有可擴(kuò)展性,通過多板并行處理,可以適應(yīng)更大的范圍多普勒。
在偽碼速率C為4 Mcps、偽碼長度N為16 000、部分匹配濾波器數(shù)量K為64、FFT點(diǎn)數(shù)L為128的條件下,不考慮偽碼不完全對齊以及量化精度帶來的影響,使用MATLAB對算法捕獲性能進(jìn)行了仿真。首先給出了PMF-FFT算法的歸一化幅頻響應(yīng)曲線如圖5所示,之后分別在載噪比固定以及多普勒固定的條件下給出了恒虛警率(1×10-7)捕獲概率仿真結(jié)果如圖6和圖7所示。
圖5 歸一化幅頻響應(yīng)曲線
圖6 載噪比42dBHz條件下的捕獲概率曲線
圖7 多普勒頻率494Hz條件下的捕獲概率曲線
硬件平臺及FPGA程序設(shè)計(jì)完成后,對實(shí)際捕獲性能進(jìn)行了測試。測試時(shí)通過信號模擬器每隔100 ms發(fā)送一次同步頭,并對載波信號實(shí)時(shí)進(jìn)行掃頻,掃頻參數(shù)設(shè)置為:多普勒范圍-25~25 kHz、多普勒變化率范圍-2.5~2.5 kHz/s、多普勒二次變化率范圍-250~250 Hz/s2。信號模擬器發(fā)送100 000次同步頭,捕獲單元記錄捕獲總次數(shù)以及正確捕獲次數(shù),最后計(jì)算得出捕獲概率以及虛警概率,測試結(jié)果如表3所示。
表3 捕獲性能測試結(jié)果
由于捕獲性能仿真過程是在理想條件下進(jìn)行的,忽略了碼片對齊精度和數(shù)據(jù)量化位數(shù)等影響,同時(shí)實(shí)測的虛警概率與仿真條件的虛警概率也略有差距,所以實(shí)際測試的捕獲性能與仿真結(jié)果有1 dB左右的差距。
基于PMF-FFT算法的偽碼捕獲方法能夠?qū)崿F(xiàn)偽碼相位和載波多普勒的二維并行搜索,具備實(shí)時(shí)性好、捕獲頻率范圍寬的優(yōu)點(diǎn),但算法所需的硬件資源量非常大,尤其當(dāng)偽碼長度較長、多普勒范圍較大的情況下,其工程實(shí)現(xiàn)非常困難。本文提出了一種針對大動態(tài)長碼捕獲的PMF-FFT算法實(shí)現(xiàn)方案,根據(jù)算法特點(diǎn)完成了FPGA芯片選型和硬件平臺設(shè)計(jì),在FPGA程序設(shè)計(jì)時(shí)對算法進(jìn)行了優(yōu)化,實(shí)現(xiàn)了FPGA資源的充分合理利用。通過Matlab仿真以及在實(shí)際平臺上進(jìn)行捕獲性能測試,對設(shè)計(jì)方案進(jìn)行了驗(yàn)證。本方案現(xiàn)已在實(shí)際工程中得到了應(yīng)用,為大動態(tài)、高實(shí)時(shí)性要求條件下的偽碼捕獲提供了一種高效的實(shí)現(xiàn)方案。
[1]余紅明,騰潢龍.一種基于超長序列擴(kuò)頻調(diào)制解調(diào)技術(shù)的實(shí)現(xiàn)[J].移動通信,2015,39(12):68-71.
[2]胡建波.高動態(tài)擴(kuò)頻信號快速捕獲方法的研究[D].哈爾濱:哈爾濱工程大學(xué),2005.
[3]程威,劉玉梅,王光鼎.基于改型匹配濾波器的偽碼快捕方法研究[J].戰(zhàn)術(shù)導(dǎo)彈技術(shù),2012(2):108-113.
[4]徐寧波,宋榮榮.基于PMF_FFT改進(jìn)的捕獲方法[J].無線電通信技術(shù),2014,40(2):41-43.
[5]梁保衛(wèi),涂海洋.大多普勒條件下偽碼快捕技術(shù)[J].無線電工程,2014,44(8):85-89.
[6]袁昱.基于匹配濾波器與FFT的擴(kuò)頻碼快速捕獲算法研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2013.
[7]郭素麗,劉云飛.一種基于FFT的偽碼快捕方法[J].無線電通信術(shù),2003,29(1):11-13.
[8]譚曉衡,楊麗麗,張毛.改進(jìn)的數(shù)字匹配濾波器的設(shè)計(jì)及FPGA實(shí)現(xiàn)[J].重慶大學(xué)學(xué)報(bào),2010,33(4):110-114.
[9]沈業(yè)兵,安建平,王愛華.數(shù)字匹配濾波器的遞歸折疊實(shí)現(xiàn)[J].北京理工大學(xué)學(xué)報(bào),2006,26(8):733-736.
[10]楊延嗣,劉太君,葉焱,單月忠,許高明.基于FPGA的寬帶雙波段信號捕獲與恢復(fù)技術(shù)[J].移動通信,2015,39(2):74-78.
[11]余建宇.基于FPGA的擴(kuò)頻接收機(jī)中數(shù)字匹配濾波器的設(shè)計(jì)[J].火控雷達(dá)技術(shù),2009,38(3):30-33.
[12]班華福,王世練,朱 江.大多普勒下基于FFT偽碼捕獲技術(shù)研究[J].通信技術(shù),2011,44(8):36-38.
孫大元男,(1985—),工程師。主要研究方向:航天測控。
王憲平男,(1963—),高級工程師。主要研究方向:中繼衛(wèi)星系統(tǒng)總體。
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
國家高技術(shù)研究發(fā)展計(jì)劃(“863”計(jì)劃)基金資助項(xiàng)目(2013AA122105)。
TP391.4
A
1003-3106(2016)08-0065-05
引用格式:孫大元,王憲平.基于PMF-FFT的高動態(tài)長偽碼捕獲實(shí)現(xiàn)[J].無線電工程,2016,46(8):65-69.