劉智超
(陜西凌云科技有限責(zé)任公司 陜西西安 710119)
基于FFT的衛(wèi)星信號(hào)偽碼相位并行捕獲算法的分析
劉智超
(陜西凌云科技有限責(zé)任公司 陜西西安 710119)
本文介紹了一種基于FFT的偽碼相位并行捕獲算法,該算法采用時(shí)域和頻域相結(jié)合的方式,在時(shí)域上進(jìn)行多路并行捕獲處理獲得碼相位,同時(shí)通過FFT獲得多普勒頻率,提高了捕獲的速度。
衛(wèi)星信號(hào);捕獲;碼相位;多普勒;FFT
衛(wèi)星信號(hào)捕獲的過程是解擴(kuò)的過程,也是在時(shí)域和頻域的范圍內(nèi)進(jìn)行二維搜索的過程,其目的是就在一段未知時(shí)間和頻率范圍內(nèi),找到能夠使接收信號(hào)的擴(kuò)頻碼與本地?cái)U(kuò)頻碼同步的位置。具體來說,就是指接收機(jī)產(chǎn)生本地的載波和本地?cái)U(kuò)頻碼,通過不斷調(diào)整本地載波的頻率和擴(kuò)頻碼的相位使得他們與接收信號(hào)的載波和擴(kuò)頻碼粗略對(duì)準(zhǔn)。為了能夠保證捕獲后可以成功的牽入跟蹤環(huán)路,對(duì)準(zhǔn)的原則是,捕獲成功后的本地載波和衛(wèi)星信號(hào)的載波頻差在載波跟蹤環(huán)的跟蹤范圍之內(nèi),本地?cái)U(kuò)頻碼和衛(wèi)星信號(hào)碼的相差在碼跟蹤環(huán)的跟蹤范圍內(nèi),這個(gè)范圍一般是1/2個(gè)碼片。
基于FFT的偽碼相位并行捕獲算法,捕獲速度快,效率高。其結(jié)構(gòu)圖如圖1所示。
圖1 基于FFT的偽碼相位并行捕獲結(jié)構(gòu)圖
該算法包括了n路的碼相位并行捕獲通道,每一路之間相差半個(gè)碼片。每一路都按照匹配濾波的方式進(jìn)行FFT變換,具體的工作流程為,本地的擴(kuò)頻碼和衛(wèi)星信號(hào)進(jìn)行相關(guān)累加,每P點(diǎn)累加成一點(diǎn),一共累加M個(gè)點(diǎn),將這M個(gè)值進(jìn)行FFT運(yùn)算。分段累加的目的之前已經(jīng)提過,就是為了提高信噪比,減少FFT的運(yùn)算量。每一路都進(jìn)行這樣的操作,所以捕獲一次一共是n*M個(gè)點(diǎn)進(jìn)行FFT運(yùn)算,將每個(gè)點(diǎn)與門限值比較,若超過門限值,那么該點(diǎn)所在的路就是捕獲到的碼相位值,所對(duì)應(yīng)的頻率點(diǎn)就是多普勒的頻率,若沒有超過門限值,調(diào)整本地碼相位,繼續(xù)搜索下一組n個(gè)碼相位。碼相位和多普勒是同時(shí)搜索,所以說效率非常高,實(shí)現(xiàn)時(shí)只需要對(duì)捕獲路進(jìn)行復(fù)用,并控制好邏輯。捕獲的工作流程圖如圖2所示。
3.1 頻率搜索范圍
圖2 捕獲流程圖
頻率搜索范圍的確定主要由載體運(yùn)動(dòng)所產(chǎn)生的多普勒頻移決定,低速運(yùn)動(dòng)的載體產(chǎn)生的多普勒頻移較小,則搜索范圍小。而高動(dòng)態(tài)的載體會(huì)產(chǎn)生較大的多普勒頻移,就需要擴(kuò)大搜索的范圍。本文所研究的內(nèi)容針對(duì)的是以900m/s以上的速度運(yùn)動(dòng)的載體,綜合各個(gè)平臺(tái)的應(yīng)用,設(shè)載體最大的運(yùn)動(dòng)速度在2400m/s左右,那么根據(jù)下式可以計(jì)算出所產(chǎn)生的多普勒頻率。
式中:fd是多普勒頻率;Vm是速度;C是光速;f為衛(wèi)星信號(hào)的頻率。由衛(wèi)星運(yùn)動(dòng)和載體運(yùn)動(dòng)產(chǎn)生的最大多普勒頻率一共約為±15kHz,那么根據(jù)多普勒頻率的搜索范圍可以得出匹配濾波的時(shí)間,即相關(guān)累加的時(shí)間至少要小于等于0.033ms。
3.2 頻率分辨率
頻率分辨率也叫做多普勒頻率搜索步進(jìn),表示了搜索多普勒頻率的精度,可由下式表示:
式中:T0表示積分時(shí)間,指的是完成M點(diǎn)相關(guān)累加的時(shí)間。若要提高頻率的分辨率就要增加積分的時(shí)間,但是積分的時(shí)間過長,就必須考慮調(diào)制基帶數(shù)據(jù)的符號(hào)位。以衛(wèi)星信號(hào)的C/A碼為例,一個(gè)數(shù)據(jù)上包含了204600個(gè)擴(kuò)頻碼,進(jìn)行M點(diǎn)的相關(guān)累加的碼片數(shù)為M*P,在選擇M和P的值時(shí)要考慮到碼片數(shù)不能超過204600個(gè)碼片,否則越過符號(hào)位會(huì)造成頻譜泄漏和捷變,導(dǎo)致在進(jìn)行頻譜分析時(shí)不能找出正確的多普勒頻率。
如圖3的給出的仿真結(jié)果所示,在沒有多普勒頻移的情況下仿真了符號(hào)為的變換對(duì)頻譜分析的影響。
圖3 符號(hào)為的跳變對(duì)頻譜的影響
由仿真結(jié)果可知,捕獲的數(shù)據(jù)跨越符號(hào)位越多,造成的頻譜泄露越嚴(yán)重,對(duì)捕獲的結(jié)果影響越大。若捕獲的數(shù)據(jù)跨越了符號(hào)位,可通過將I、Q兩路信號(hào)進(jìn)行三角公式變換,變換成不受符號(hào)位影響的復(fù)信號(hào),通過對(duì)復(fù)信號(hào)的頻譜分析可以得到原來信號(hào)頻譜幅度最大值,所對(duì)應(yīng)的就是多普勒頻率。
3.3 捕獲時(shí)間
采用n路碼并行的捕獲算法,其捕獲的時(shí)間Ta如下式表示,
式中:K是要搜索的碼片個(gè)數(shù);T0是積分時(shí)間;Tfft是FFT的計(jì)算時(shí)間。分析可知,為了獲得更快的捕獲速度,只有增大捕獲路數(shù)n,因?yàn)榉e分時(shí)間T0的減少必然會(huì)影響頻率分辨率,而FFT的計(jì)算時(shí)間也是固定的。n值的大小由硬件資源決定,在資源允許的情況下,n越大捕獲時(shí)間越短。
3.4 捕獲門限的選擇
捕獲門限的設(shè)置對(duì)于捕獲性能的影響也很大,主要表現(xiàn)在檢測(cè)概率和虛警概率兩個(gè)方面。門限設(shè)置低了虛警概率變大,會(huì)導(dǎo)致跟蹤失敗。設(shè)置的高了會(huì)造成漏警,還影響捕獲速度,所以合適的門限值對(duì)于捕獲非常重要。
高斯白噪聲具有概率統(tǒng)計(jì)特性。由于基于FFT的偽碼相位并行捕獲算法是在頻域上對(duì)輸出信號(hào)的幅度進(jìn)行檢測(cè),所以,在沒有信號(hào)只有噪聲時(shí),其包絡(luò)是瑞利分布,概率密度函數(shù)寫為:
式中:σn為瑞利分布的均方根。輸入信號(hào)超過門限Vt的概率,即虛警概率為:
對(duì)公式化簡,可得門限值與虛警概率的關(guān)系為:
門限設(shè)置的方法有很多種,包括固定門限、可變門限、自適應(yīng)門限等[13]。本文采用統(tǒng)計(jì)噪聲的方法估算σn,可以在恒虛警率的情況下,根據(jù)信噪比來調(diào)整門限值,達(dá)到門限的自適應(yīng)調(diào)節(jié)。
捕獲過程中,單次檢測(cè)產(chǎn)生的檢測(cè)概率和虛警概率一般效果是不好的。為了降低虛警概率,可以加入唐檢測(cè)器,也就是在檢測(cè)一次峰值的基礎(chǔ)上加入驗(yàn)證環(huán)節(jié)。唐檢測(cè)器結(jié)構(gòu)簡單,參數(shù)可靈活改變,具體工作流程是:設(shè)計(jì)數(shù)器為K,當(dāng)檢測(cè)器第一次檢測(cè)到峰值超過門限后,記錄產(chǎn)生此峰值的位置,初始化計(jì)數(shù)器為B,然后重新捕獲。若下一次捕獲的相關(guān)峰值大于門限,且峰值位置相對(duì)第一次位置不變時(shí),計(jì)數(shù)器K的值B加1,反之,計(jì)數(shù)器減1。當(dāng)計(jì)數(shù)器的值等于A時(shí),判決檢測(cè)到信號(hào);當(dāng)計(jì)數(shù)器等于0,判決未檢測(cè)到信號(hào),并開始對(duì)下一個(gè)碼相位進(jìn)行搜索。
上述唐檢測(cè)器的總虛警概率為:
若設(shè)計(jì)數(shù)器K的值B=1,A=3,即在第一次捕獲成功后,如果后兩次捕獲都在同一位置上,則判決捕獲成功。設(shè)單次檢測(cè)的虛警概率為0.01,那么總的虛警概率可以為0.0001。
可以看出,經(jīng)過唐檢測(cè)器的虛警概率會(huì)大大降低。但同時(shí)增加了捕獲時(shí)間。
3.5 硬件資源
通過對(duì)捕獲時(shí)間的分析可知,要提高捕獲速度,關(guān)鍵是要增加并行的碼相位捕獲路數(shù),隨著捕獲路數(shù)的增加,硬件資源占用變大,所以如何合理的配置資源,也是獲得高捕獲性能的關(guān)鍵的因素。
在硬件實(shí)現(xiàn)時(shí),乘法器要比加法器占用資源多,而且在進(jìn)行FFT運(yùn)算時(shí),主要用到了乘法器,所以對(duì)FFT的資源占用情況做一個(gè)分析。以M點(diǎn)的FFT運(yùn)算為例,需要進(jìn)行4M2次的復(fù)數(shù)乘法,每個(gè)復(fù)數(shù)乘法需要4個(gè)乘法器,M點(diǎn)的復(fù)數(shù)占用乘法器的數(shù)量為16M2。在對(duì)復(fù)數(shù)的結(jié)果進(jìn)行分析時(shí),需要先平方和,然后對(duì)幅值進(jìn)行比較。而M點(diǎn)復(fù)數(shù)需要2M個(gè)乘法器進(jìn)行平方和運(yùn)算,那么M點(diǎn)的復(fù)數(shù)共需要16M2+M個(gè)乘法器。由于FPGA中乘法器的資源是一定的,在滿足捕獲性能的前提下,進(jìn)行FFT運(yùn)算的點(diǎn)數(shù)M越少越好。
由基于FFT的偽碼相位并行捕獲算法的結(jié)構(gòu)可知,并行的每一路捕獲都要進(jìn)行一次FFT運(yùn)算,這也就意味著若有n個(gè)捕獲路,就需要n個(gè)FFT運(yùn)算。n值如果很大,那么所需要的乘法器的數(shù)量是非常大的,在硬件上很難實(shí)現(xiàn)。為了保證此方法能夠?qū)崿F(xiàn),可以對(duì)FFT模塊進(jìn)行復(fù)用,使一定數(shù)量的捕獲路共用一個(gè)FFT模塊,這樣就減少了資源的占用。若m個(gè)捕獲路共用一個(gè)FFT模塊,那么將采用串行的工作方式,每一路的M個(gè)點(diǎn)按順序送入FFT模塊中,在這個(gè)過程中需要進(jìn)行時(shí)序控制,將FFT的工作模式設(shè)置為Streaming方式,保證第一路完成FFT運(yùn)算后第二路繼續(xù)工作,直到第m路完成FFT運(yùn)算。但是,F(xiàn)FT復(fù)用的方法會(huì)使捕獲時(shí)間增加,所以在滿足性能的前提下,復(fù)用越多,越節(jié)省資源。
通過對(duì)基于FFT的衛(wèi)星信號(hào)偽碼相位并行捕獲算法的分析可知,利用此算法可以有效提高衛(wèi)星信號(hào)的捕獲速度和捕獲效率。
[1]劉基余.GPS衛(wèi)星導(dǎo)航定位原理與方法[M].北京:科學(xué)出版社,2003.
[2]朱近康.擴(kuò)展頻譜通信及其應(yīng)用[M].合肥:中國科技大學(xué)出版社,1993.
[3]袁建平,羅建軍,等.衛(wèi)星導(dǎo)航原理與應(yīng)用[M].中國宇航出版社,2003.
[4]楊小牛,樓才義,徐建良.軟件無線電原理與應(yīng)用[M].電子工業(yè)出版社,2001.
[5]王忠.高動(dòng)態(tài)GPS接收機(jī)的設(shè)計(jì).航天電子對(duì)抗.
[6]田明坤.高動(dòng)態(tài)GPS接收機(jī)的一種設(shè)計(jì)方案.遙控遙測(cè).
TN967.1
A
1004-7344(2016)11-0242-02
2016-4-1
劉智超(1983-),男,本科,主要從事無線電導(dǎo)航,衛(wèi)星導(dǎo)航與通信等開發(fā)工作。