基于軟件的GPS接收機本地系統(tǒng)
0引言
本文引用地址:http://www.ex-cimer.com/article/82713.htm對于一個普通的GPS(全球定位系統(tǒng))接收機來說,其對信號的捕獲和追蹤均由硬件進行處理,主要是用ASIC(專用集成電路)實現(xiàn)。用ASIC的主要好處之一是它的有效性,能夠?qū)?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/GPS">GPS信號進行有效處理,但它的造價較高,而目前GPS技術還在高速發(fā)展,各種算法還在不斷研究,如果都用ASIC來實現(xiàn),顯然并不現(xiàn)實。而使用軟件來模擬搭建GPS的接收系統(tǒng),不但可以方便地對現(xiàn)有的一些算法進行比較,而且也能快速地應用到實際中。在該系統(tǒng)中,用A/D轉(zhuǎn)換器將輸入的模擬信號數(shù)字化,然后交由軟件接收機處理,由此重構的系統(tǒng)不僅花費較少,而且靈活多變,可以對各種算法測試,也可以適用于將來可能改變的GPS信號,如包括L5 band的不同信號傳輸載波的頻率。
目前,MathWorks公司推出的數(shù)值型MATLAB語言計算軟件已經(jīng)發(fā)展成為適合多學科、多種工作平臺的功能強勁的大型軟件,其在數(shù)值分析和科學計算方面的工具能夠用來進行算法的研究和比較。本文充分利用了MATLAB這一特點,對基于軟件的GPS接收機本地系統(tǒng)進行研究。
1 GPS信號的特點
GPS采用偽隨機碼擴頻系統(tǒng)。其原理見圖1。由圖1可知,GPS衛(wèi)星向用戶發(fā)送的信號由兩個分量L1和L2組成。L1的中心頻率為1 575.42 MHz,L2的中心頻率為1 227.6 MHz,L1和L2均是己調(diào)波,其調(diào)制波是衛(wèi)星導航電文D碼和偽隨機噪聲碼P碼、C/A碼。P碼是精密測距碼,為取±1的偽隨機序列,其速率為10.23 Mbit/s,其碼長為235.469 592 765×103碼元,周期約為266 d 9 h;C/A碼是粗捕獲碼,為取±1的C/A碼偽隨機序列,其碼速率為1.023 Mbit/s,其碼長為1 023碼元,周期為1 ms;D碼為取±1的導航電文編碼,其碼速率為50 bit/s載波。
信號L1的同相載波分量是用PoD復合碼進行調(diào)制,而正交載波分量是由C/A D復合碼調(diào)制的。載波信號L2上只調(diào)制有P碼和D碼。調(diào)制的方法是:首先,P碼與數(shù)據(jù)D碼模2和構成復合碼P D,C/A碼與D碼模2和構成復合碼C/A D;然后,用P D和c/A D復合碼對載波L1進行調(diào)制。載波調(diào)制均采用移相鍵控調(diào)制,L1采用QPSK(四相移相鍵控)調(diào)制,12采用DPSK(雙相移相鍵控)調(diào)制。這幾個GPS分量均來源于一個公共的基準頻率,見表1。
2軟件接收機的實現(xiàn)
2.1 GPS信號處理的主要步驟
GPS接收機信號處理主要包括射頻信號處理與中頻信號處理兩部分,如圖2所示。
射頻信號處理主要是指對天線接收到的GPS衛(wèi)星信號進行下變頻、采樣、量化處理,得到數(shù)字中頻信號。它包括天線、RF和A/D轉(zhuǎn)換器。RF用于將信號變中頻,中頻信號在A/D轉(zhuǎn)換器中進行采樣量化數(shù)字化。輸入的中頻為4.31 MHz,采樣頻率為20 MHz。這個采樣頻率是最適合進行中頻信號處理的。
中頻信號處理主要是指對數(shù)字中頻信號進行相關、捕獲、跟蹤、解調(diào)處理,得到衛(wèi)星的導航電文數(shù)據(jù)后,再進一步解算出導航信息。本文的軟件接收機主要處理這些問題。
2.2捕獲模塊
捕獲模塊的功能是:在輸入信號多普勒頻率和C/A碼相位二維平面上尋找最大相關峰,找到對應的載波頻率和C/A碼相位,為本地生成的載波頻率和C/A碼相位與輸入信號提供粗略的初始值。搜索過程是將不同碼相位l和載波頻率ωsvn情況下的I、Q兩路的相關積分值的平方和相關峰值與規(guī)定的閾值比較,如果大于閾值則找出最大值,此時所使用的碼相位和載波頻率值即為輸入信號的碼相位和載波頻率值。
算法思路如下。在不同頻率、不同C/A碼相位進行二維搜索尋找最大相關峰。首先使本地載波發(fā)生器固定在期望的中頻頻點上,然后使C/A碼發(fā)生器從碼相位為1開始運行相關器1 ms時間,保存并清空I、Q兩路積分值,求I、Q兩路積分值的平方和作為相關峰值。再令C/A碼發(fā)生器從碼相位2開始運行l(wèi) ms時間取得相關峰值,直到取得相位從1023開始運行的1 ms時間相關峰值。使本地載波發(fā)生器頻率增加一個頻率步長,比如500 Hz,重復上述過程,直到將所有可能的頻率范圍和所有的碼相位都搜索完為止。在搜索得到的二維平面上尋找最大相關峰的值與對應的頻率和碼相位值。如果最大相關值大于相關平面平均相關值16倍,則可以認為接收信號內(nèi)包含該衛(wèi)星信號,已經(jīng)檢測出其信號相關峰,記錄下對應的頻率和碼相位供后續(xù)程序進行跟蹤解碼。最差情況下捕獲時間可以由二維平面的相關峰值點數(shù)確定。靜態(tài)定位的多普勒頻偏在-5 kHz~+5 kHz,以500 Hz為頻率間隔則需要在21個頻點搜索,每個頻點都需要1 023個碼相位的搜索,則最差捕獲時間約為21 s,即
2.3跟蹤模塊
跟蹤模塊的功能是:實現(xiàn)本地C/A碼相位和載波的頻率、相位與輸入信號的C/A碼相位和載波的嘲率、相位同步,輸出I路中路積分信號供解碼基帶報文信號。算法思路如下。將碼跟蹤與載波跟蹤視為獨翻的兩個過程。碼跟蹤使用超前延遲環(huán)反饋控制C/A碼發(fā)生器調(diào)整碼的相位。其中超前路(E)、中路(P)和延遲路(L)各相差半個碼片,分別代表信號提前、準時和落后達到。經(jīng)綜合后,這些信號分別代表輸入信號和一個本地碼之間的相關性。具有最高相關值的信號被選中并保留下來,即當超前路的能量和延遲路的能量相同時可確定中路已與輸入信號的碼相位對齊。
載波跟蹤是先使用FLL(鎖頻環(huán))跟蹤頻率,待跟蹤一段時間使頻率抖動變小后,將鎖定的頻率送給PLL(鎖相環(huán))作為初始值,使用PLL對信號的相速度進行跟蹤,經(jīng)過一段時間跟蹤穩(wěn)定后,累積器的結(jié)果就可以用于解碼基帶電文數(shù)據(jù)。載波跟蹤的I、Q路積分值使用中路的I、Q積分值。先將捕獲得到的粗略頻率作為FLL的初始值,使用I、Q積分值求得頻率差來調(diào)整跟蹤頻率,待跟蹤一段固定長時間可以確定頻率已經(jīng)很接近真實頻率后,將鎖定頻率送給PLL作為初始值,使用PLL對信號的頻率和相位進行追蹤,待跟蹤一段時間穩(wěn)定后本地載波與輸入信號的頻率和相位將鎖定,累積器的結(jié)果可以用于解碼基帶電文數(shù)據(jù)。綜合碼跟蹤和載波跟蹤的原理圖見圖3。
2.4導航電文解調(diào)、定位模塊
為了解調(diào)出導航電文,需要進一步消除載波的相位誤差。導航電文解調(diào)模塊用以下算法消除誤差,并由I′(k)給出當前導航電文的數(shù)據(jù)位。
式中:I(k)和Q(k)為I、Q分路的即時分支的第k次累加值;θk為載波相位誤差估計值,θk=θk1-1+△k-1,且θ0=0,其中△θk為載波相位誤差的估計殘差,且△θk=sign(I′(K))Q′(k)。
3設計驗證和仿真結(jié)果
為了驗證設計模型,本文利用GPS信號模擬器產(chǎn)生的GPS中頻信號作為輸人信號,并在幾個典型點上觀察相應的模塊輸出波形。
信號模擬器可由MATLAB實現(xiàn),并可對信號的信噪比、多普勒頻率、碼相位等參數(shù)進行調(diào)整。
本文使用的中頻信號中心頻率為16.8 MHz。仿真結(jié)果見圖4 ~圖6。
4結(jié)束語
本文用MATLAB軟件實現(xiàn)GPS軟件接收機的本地系統(tǒng),并通過MATLAB軟件對設計模塊進行了驗證。驗證結(jié)果表明,該設計夠?qū)崿F(xiàn)對GPS信號的處理,包括信號捕獲、碼跟蹤、載波跟蹤和導航電文解調(diào)等功能,不僅為GPS軟件接收機設計提供了基本的參考依據(jù),還可作為各種新的GNSS高性能信號處理方法的設計、評估可視化研究平臺。
評論