王 鋒,韓俊博,焦國太,耿生群
(1中北大學機電工程學院,太原 030051;2北京航空航天大學電子信息工程學院,北京 100191)
GPS L1C信號包含調制方式MBOC(6,1,1/11)的信號,到目前為止,GPS和 Galileo已經在以1575.42MHz為中心的 L1頻段上布置了六種導航信號,致使該頻段的頻譜相當擁擠,從而不可避免的產生相互間的干擾。因此,對GPS L1C在這種特殊環境下對信號進行更好的捕獲是必要的[1]。
衛星導航接收機進行導航定位時,首先必須通過捕獲和跟蹤過程,建立與衛星信號的精確同步[2]。使用傳統的捕獲方法對GPS L1C進行直接捕獲在載噪比較低或者信號比較差的環境下,是不能保證比較高的捕獲概率的。文中的目標是基于FPGA設計高動態接收機的直接捕獲模塊,以獲得更好的捕獲性能,以提高導航系統在復雜環境下的抗干擾能力。
常用的捕獲方法有滑動相關法,匹配濾波器法和FFT快速捕獲方法,文中在此基礎上介紹一種改進的PMF+FFT算法,即匹配濾波器結合 FFT的快捕算法,并通過仿真分析和硬件實現來討論這種方法的好處。
時域捕獲方法實現簡單但捕獲速度慢,而頻域捕獲的優點是捕獲速度快但實現復雜度高。在文獻[3]中提出一種改進的匹配濾波器算法,基于此基礎上進行算法的軟件和硬件設計,較大程度的減少了計算復雜度,加快了捕獲速度。匹配濾波器結合FFT的捕獲模塊,主要包括以下幾個方面:載波去除,降采樣,匹配濾波運算和FFT運算,檢測判決,本地碼生成等。如圖1所示。

圖1 捕獲算法總體框圖
接收到的衛星信號,經過濾波器的處理,轉變成中頻信號。AD對中頻信號進行采樣,轉變為數字中頻信號。對中頻信號進行載波去除,然后,將剝離載波后的解調信號通過RAM讀取的方式降采樣至需要的點數,這時數據的處理頻率比原來變小很多。再將它和碼生成模塊產生的本地碼數據序列同時送入分段匹配濾波器中,匹配濾波器模塊的工作主要是通過狀態機產生的邏輯機制來控制,每運算一次將結果輸出到FFT運算模塊,并將抽取信號循環移動一次,依次完成所有碼相位的匹配濾波運算。對于每次FFT運算的實部和虛部的平方和,將最大值和對應的碼相位送出并進行門限判決。
匹配濾波器模塊總共有N部分匹配濾波器,每個部分匹配濾波器由 k個子移位寄存器、乘法器、加法器以及累加模塊組成。移位寄存器分別存著輸入信號與本地偽碼序列,經過乘法器,其相關結果進行累加,最后得到總的累加結果送到FFT模塊進行后續的計算和處理[4]。

圖2 部分匹配濾波器結構
部分匹配濾波器的主要結構如圖2所示。經剝離載波后的降采樣數據信號和本地偽碼首先載入到移位存儲器中,進行匹配濾波運算。經過H個時鐘周期后,一段預處理數據進行循環載入和運算完成,送至FFT運算模塊,這樣一個碼相位搜索完成。在接下來的一個時鐘周期中打開數據輸入控制,滑動一個相位值,但是本地偽碼并不滑動,之后繼續進行匹配濾波運算,直到所有碼相位搜索完,給出捕獲完成標志[5]。
每段匹配濾波器的結構由一個移位寄存器延遲鏈和一個本地偽碼緩存鏈組成。這里移位寄存器延遲鏈由125個 RAM-BASE SHIFT-Register組成,每個移位寄存器深度為128,每個數據寬度為8bit;本地偽碼緩存同樣是由128個RAM-BASE SHIFT-Register組成,數據寬度為1bit,用來存儲偽碼,如圖3所示。

圖3 移位寄存器結構圖
在FFT模塊中,主要處理匹配濾波器送來的值,并行搜索載波多普勒。這里,在設計中主要采用兩個FFT的 IP核“Fast Fourier Transform 6.0”進行處理。

圖4 FFT運算結構圖
如圖4所示,本模塊主要完成對分段匹配濾波器結果的頻率搜索。分段匹配濾波器的計算結果將每個時鐘取12bit的數據載入FFT IP核,當這全部數據載入后,會將余下的FFT計算點數補零。進行FFT運算結束以后,對FFT輸出結果中的實部和虛部求模的平方和,并將最大值以及其位置記錄下來,以便進行峰值檢測。由于FFT計算采用了流模式,可以不必等到上一次的FFT結果輸出就可以將下一次的多段匹配濾波值載入FFT,將大大減少計算的時間[6]。
利用生成的MBOC信號,采用PMF+FFT捕獲方法的捕獲MATLAB仿真結果如圖5所示。在相同的條件下,此方法所獲得的相關峰值比FFT并行捕獲方法所得到的相關峰值大很多,從而增大了檢測概率,易于捕獲,圖6是相對于以前的 FFT方法(右),改進的PMF+FFT方法(左)在不同載噪比情況下的捕獲概率。可以看出,當信噪比較小時,匹配濾波器與FFT相結合的方法也能夠較好完成捕獲,這樣就具有很好的抗干擾能力。

圖5 捕獲仿真結果

圖6 改進的PMF+FFT捕獲性能
在設計中采用xc4vsx55-10ff1148 FPGA芯片,ModelSim軟件對程序設計進行功能仿真,使用自己調制生成的經A/D采樣后的數字中頻數據作為激勵源,當碼相位對齊時,匹配濾波器的輸出明顯高于其他時刻,這表明此時的碼相位就是捕獲的碼相位。圖7為FPGA仿真時序圖。

圖7 ModelSim的仿真結果
文中首先簡單介紹了匹配濾波器與FFT相結合的捕獲方法的總體設計,然后重點分別介紹了重要捕獲模塊的設計,并進行了軟件仿真和硬件程序實現的前時序仿真。從分析中可以看出,此方法實現復雜度低,捕獲速度快,能實行信號的快速捕獲,并且具有一定的抗干擾性能[7]。這種方法為 GPS L1C信號對于接收性能要求高或者動態情況的導航接收機設計提供了一定的基礎。
[1]唐祖平,胡修林,黃旭方.現代化的GPS新民用信號L1C碼跟蹤性能分析[J].電訊技術,2009,49(1):1-6.
[2]謝鋼.GPS原理與接收機設計[M].北京:電子工業出版社,2009.
[3]Akop ian D,Agaian S. A fast matched filter in time domain[C]//Position Location and Navigation Symposium,2004PLANS,IEEE,2004:455-460.
[4]連全斌,張乃通,張中兆.一種GPS系統P碼直接捕獲策略分析[J].遙測遙控,2001(9):1-7.
[5]秦毅,熊俊森.一種偽碼捕獲方式的改進[J].無線電工程,2007,37(1):14-16.
[6]郭振揚,黃智剛,鐘興旺,等.MBOC調制信號快捕算法設計與實現[C]//第二屆中國衛星導航學術年會論文集,2011.
[7]廉保旺,劉慧紅,毛得明.匹配濾波器與FFT的偽碼快速捕獲方法及性能分析[J].測控技術,2009,28(1):20 -23.