劉智超
(陜西凌云科技有限責任公司 陜西西安 710119)
基于FFT的衛星信號偽碼相位并行捕獲算法的分析
劉智超
(陜西凌云科技有限責任公司 陜西西安 710119)
本文介紹了一種基于FFT的偽碼相位并行捕獲算法,該算法采用時域和頻域相結合的方式,在時域上進行多路并行捕獲處理獲得碼相位,同時通過FFT獲得多普勒頻率,提高了捕獲的速度。
衛星信號;捕獲;碼相位;多普勒;FFT
衛星信號捕獲的過程是解擴的過程,也是在時域和頻域的范圍內進行二維搜索的過程,其目的是就在一段未知時間和頻率范圍內,找到能夠使接收信號的擴頻碼與本地擴頻碼同步的位置。具體來說,就是指接收機產生本地的載波和本地擴頻碼,通過不斷調整本地載波的頻率和擴頻碼的相位使得他們與接收信號的載波和擴頻碼粗略對準。為了能夠保證捕獲后可以成功的牽入跟蹤環路,對準的原則是,捕獲成功后的本地載波和衛星信號的載波頻差在載波跟蹤環的跟蹤范圍之內,本地擴頻碼和衛星信號碼的相差在碼跟蹤環的跟蹤范圍內,這個范圍一般是1/2個碼片。
基于FFT的偽碼相位并行捕獲算法,捕獲速度快,效率高。其結構圖如圖1所示。

圖1 基于FFT的偽碼相位并行捕獲結構圖
該算法包括了n路的碼相位并行捕獲通道,每一路之間相差半個碼片。每一路都按照匹配濾波的方式進行FFT變換,具體的工作流程為,本地的擴頻碼和衛星信號進行相關累加,每P點累加成一點,一共累加M個點,將這M個值進行FFT運算。分段累加的目的之前已經提過,就是為了提高信噪比,減少FFT的運算量。每一路都進行這樣的操作,所以捕獲一次一共是n*M個點進行FFT運算,將每個點與門限值比較,若超過門限值,那么該點所在的路就是捕獲到的碼相位值,所對應的頻率點就是多普勒的頻率,若沒有超過門限值,調整本地碼相位,繼續搜索下一組n個碼相位。碼相位和多普勒是同時搜索,所以說效率非常高,實現時只需要對捕獲路進行復用,并控制好邏輯。捕獲的工作流程圖如圖2所示。
3.1 頻率搜索范圍

圖2 捕獲流程圖
頻率搜索范圍的確定主要由載體運動所產生的多普勒頻移決定,低速運動的載體產生的多普勒頻移較小,則搜索范圍小。而高動態的載體會產生較大的多普勒頻移,就需要擴大搜索的范圍。本文所研究的內容針對的是以900m/s以上的速度運動的載體,綜合各個平臺的應用,設載體最大的運動速度在2400m/s左右,那么根據下式可以計算出所產生的多普勒頻率。

式中:fd是多普勒頻率;Vm是速度;C是光速;f為衛星信號的頻率。由衛星運動和載體運動產生的最大多普勒頻率一共約為±15kHz,那么根據多普勒頻率的搜索范圍可以得出匹配濾波的時間,即相關累加的時間至少要小于等于0.033ms。
3.2 頻率分辨率
頻率分辨率也叫做多普勒頻率搜索步進,表示了搜索多普勒頻率的精度,可由下式表示:

式中:T0表示積分時間,指的是完成M點相關累加的時間。若要提高頻率的分辨率就要增加積分的時間,但是積分的時間過長,就必須考慮調制基帶數據的符號位。以衛星信號的C/A碼為例,一個數據上包含了204600個擴頻碼,進行M點的相關累加的碼片數為M*P,在選擇M和P的值時要考慮到碼片數不能超過204600個碼片,否則越過符號位會造成頻譜泄漏和捷變,導致在進行頻譜分析時不能找出正確的多普勒頻率。
如圖3的給出的仿真結果所示,在沒有多普勒頻移的情況下仿真了符號為的變換對頻譜分析的影響。

圖3 符號為的跳變對頻譜的影響
由仿真結果可知,捕獲的數據跨越符號位越多,造成的頻譜泄露越嚴重,對捕獲的結果影響越大。若捕獲的數據跨越了符號位,可通過將I、Q兩路信號進行三角公式變換,變換成不受符號位影響的復信號,通過對復信號的頻譜分析可以得到原來信號頻譜幅度最大值,所對應的就是多普勒頻率。
3.3 捕獲時間
采用n路碼并行的捕獲算法,其捕獲的時間Ta如下式表示,

式中:K是要搜索的碼片個數;T0是積分時間;Tfft是FFT的計算時間。分析可知,為了獲得更快的捕獲速度,只有增大捕獲路數n,因為積分時間T0的減少必然會影響頻率分辨率,而FFT的計算時間也是固定的。n值的大小由硬件資源決定,在資源允許的情況下,n越大捕獲時間越短。
3.4 捕獲門限的選擇
捕獲門限的設置對于捕獲性能的影響也很大,主要表現在檢測概率和虛警概率兩個方面。門限設置低了虛警概率變大,會導致跟蹤失敗。設置的高了會造成漏警,還影響捕獲速度,所以合適的門限值對于捕獲非常重要。
高斯白噪聲具有概率統計特性。由于基于FFT的偽碼相位并行捕獲算法是在頻域上對輸出信號的幅度進行檢測,所以,在沒有信號只有噪聲時,其包絡是瑞利分布,概率密度函數寫為:

式中:σn為瑞利分布的均方根。輸入信號超過門限Vt的概率,即虛警概率為:

對公式化簡,可得門限值與虛警概率的關系為:

門限設置的方法有很多種,包括固定門限、可變門限、自適應門限等[13]。本文采用統計噪聲的方法估算σn,可以在恒虛警率的情況下,根據信噪比來調整門限值,達到門限的自適應調節。
捕獲過程中,單次檢測產生的檢測概率和虛警概率一般效果是不好的。為了降低虛警概率,可以加入唐檢測器,也就是在檢測一次峰值的基礎上加入驗證環節。唐檢測器結構簡單,參數可靈活改變,具體工作流程是:設計數器為K,當檢測器第一次檢測到峰值超過門限后,記錄產生此峰值的位置,初始化計數器為B,然后重新捕獲。若下一次捕獲的相關峰值大于門限,且峰值位置相對第一次位置不變時,計數器K的值B加1,反之,計數器減1。當計數器的值等于A時,判決檢測到信號;當計數器等于0,判決未檢測到信號,并開始對下一個碼相位進行搜索。
上述唐檢測器的總虛警概率為:

若設計數器K的值B=1,A=3,即在第一次捕獲成功后,如果后兩次捕獲都在同一位置上,則判決捕獲成功。設單次檢測的虛警概率為0.01,那么總的虛警概率可以為0.0001。
可以看出,經過唐檢測器的虛警概率會大大降低。但同時增加了捕獲時間。
3.5 硬件資源
通過對捕獲時間的分析可知,要提高捕獲速度,關鍵是要增加并行的碼相位捕獲路數,隨著捕獲路數的增加,硬件資源占用變大,所以如何合理的配置資源,也是獲得高捕獲性能的關鍵的因素。
在硬件實現時,乘法器要比加法器占用資源多,而且在進行FFT運算時,主要用到了乘法器,所以對FFT的資源占用情況做一個分析。以M點的FFT運算為例,需要進行4M2次的復數乘法,每個復數乘法需要4個乘法器,M點的復數占用乘法器的數量為16M2。在對復數的結果進行分析時,需要先平方和,然后對幅值進行比較。而M點復數需要2M個乘法器進行平方和運算,那么M點的復數共需要16M2+M個乘法器。由于FPGA中乘法器的資源是一定的,在滿足捕獲性能的前提下,進行FFT運算的點數M越少越好。
由基于FFT的偽碼相位并行捕獲算法的結構可知,并行的每一路捕獲都要進行一次FFT運算,這也就意味著若有n個捕獲路,就需要n個FFT運算。n值如果很大,那么所需要的乘法器的數量是非常大的,在硬件上很難實現。為了保證此方法能夠實現,可以對FFT模塊進行復用,使一定數量的捕獲路共用一個FFT模塊,這樣就減少了資源的占用。若m個捕獲路共用一個FFT模塊,那么將采用串行的工作方式,每一路的M個點按順序送入FFT模塊中,在這個過程中需要進行時序控制,將FFT的工作模式設置為Streaming方式,保證第一路完成FFT運算后第二路繼續工作,直到第m路完成FFT運算。但是,FFT復用的方法會使捕獲時間增加,所以在滿足性能的前提下,復用越多,越節省資源。
通過對基于FFT的衛星信號偽碼相位并行捕獲算法的分析可知,利用此算法可以有效提高衛星信號的捕獲速度和捕獲效率。
[1]劉基余.GPS衛星導航定位原理與方法[M].北京:科學出版社,2003.
[2]朱近康.擴展頻譜通信及其應用[M].合肥:中國科技大學出版社,1993.
[3]袁建平,羅建軍,等.衛星導航原理與應用[M].中國宇航出版社,2003.
[4]楊小牛,樓才義,徐建良.軟件無線電原理與應用[M].電子工業出版社,2001.
[5]王忠.高動態GPS接收機的設計.航天電子對抗.
[6]田明坤.高動態GPS接收機的一種設計方案.遙控遙測.
TN967.1
A
1004-7344(2016)11-0242-02
2016-4-1
劉智超(1983-),男,本科,主要從事無線電導航,衛星導航與通信等開發工作。