王玉娥
(北京東方新星石化工程股份有限公司,北京100070)
全球定位系統(tǒng)(GPS)是一種廣泛應(yīng)用于軍用和民用的衛(wèi)星導(dǎo)航定位系統(tǒng)。在該系統(tǒng)中,最重要的部分是接收機(jī),傳統(tǒng)的GPS接收機(jī)主要采用專用集成電路(ASIC)對(duì)信號(hào)進(jìn)行處理和快速微處理器進(jìn)行計(jì)算。但是不同于微處理器,ASIC的算法不易改變。當(dāng)需要改變算法時(shí),ASIC就必須由制造商重新設(shè)計(jì),代價(jià)高昂。隨著GPS技術(shù)的發(fā)展,例如,當(dāng)增添L5波段信號(hào),或者對(duì)于能夠兼容多種衛(wèi)星導(dǎo)航和定位系統(tǒng)的特殊用途的接收機(jī),中頻數(shù)字信號(hào)處理算法往往需要改變。而硬件接收機(jī)的專用芯片是不能滿足這些要求的[1]。
軟件無線電由于其靈活性和多功能性被廣泛應(yīng)用于GPS軟件接收機(jī)的設(shè)計(jì)[2]。按照應(yīng)用軟件來說,接收機(jī)可以作為一個(gè)具有先進(jìn)算法的單一系統(tǒng)接收機(jī)或者各種系統(tǒng)組合的接收機(jī)。應(yīng)用算法可以增強(qiáng)接收機(jī)在信號(hào)處理和定位的能力[3]。
本文主要介紹了基于MAX2769射頻前端的GPS軟件接收機(jī)的硬件和軟件設(shè)計(jì)。射頻前端將接收到的衛(wèi)星信號(hào)下變頻為中頻數(shù)字信號(hào),然后通過數(shù)據(jù)采集板將中頻數(shù)據(jù)傳輸?shù)絇C端,最后在PC上通過軟件對(duì)基帶信號(hào)進(jìn)行解碼。
由于接收信號(hào)的模擬特性,對(duì)于處理真實(shí)信號(hào)的軟件接收機(jī)通常包括一個(gè)處理模擬信號(hào)的部分,稱為射頻前端。射頻前端輸出的信號(hào)被轉(zhuǎn)換為數(shù)字形式,并能夠在可編程數(shù)字信號(hào)處理器中處理,例如DSP、FPGA和PC等。射頻前端的性能在很大程度上決定了軟件接收機(jī)的性能。
GPS軟件接收機(jī)的射頻前端首先用低噪聲放大器(LNA)將接收到的微弱信號(hào)進(jìn)行放大,然后通過一或兩個(gè)混頻器將輸入信號(hào)與本地振蕩器信號(hào)進(jìn)行混合,將信號(hào)下變頻到較低的中頻(IF)。最后通過模數(shù)轉(zhuǎn)換器(ADC)將模擬中頻信號(hào)轉(zhuǎn)換成數(shù)字中頻信號(hào)[4]。
MAX2769的直接下變頻結(jié)構(gòu)具有內(nèi)部濾波器,無需外部濾波元件。該芯片提供了兩個(gè)放大器:其中一個(gè)可配合無源天線使用;另一個(gè)可配合有源天線使用。無需外部放大器。在第一級(jí)放大器輸出與混頻器輸入之間通過耦合電容連接,并提供了RF信號(hào)引出端。集成參考時(shí)鐘振蕩器可以使用溫補(bǔ)晶振(TCXO),無需調(diào)節(jié)外部負(fù)載電容進(jìn)行器件匹配。在晶體和晶體/參考輸入之間連接一個(gè)串聯(lián)電容,通過內(nèi)部SPI接口可對(duì)頻率進(jìn)行微調(diào)[5]。
MAX2769設(shè)置為從ADC輸出2位CMOS值,通過3線SPI接口,包括SDATA,SCLK和CS/對(duì)寄存器進(jìn)行編程配置。
為了通過標(biāo)準(zhǔn)的USB2.0接口,將射頻前端輸出的數(shù)據(jù)傳輸?shù)絇C端,選擇一個(gè)中頻信號(hào)采集板。利用輸入的數(shù)據(jù),基帶處理軟件程序計(jì)算出位置的初步信息,并隨后進(jìn)行跟蹤。
捕獲的主要目的是確定可見衛(wèi)星,獲得每顆衛(wèi)星的載波頻率和碼相位的粗略值。通過32個(gè)不同的PRN序列來識(shí)別不同的衛(wèi)星。碼相位是指當(dāng)前數(shù)據(jù)塊中C/A碼的起始位置。當(dāng)本地復(fù)制的C/A碼與輸入信號(hào)中的C/A碼序列完全對(duì)齊時(shí),輸入信號(hào)中的C/A碼被移除。
在接收器端,GPS輸入信號(hào)與載波相乘后形成同向和正交(I和Q)兩路信號(hào)。再通過相關(guān)器將基帶信號(hào)與本地復(fù)制C/A碼進(jìn)行相關(guān)運(yùn)算[6]。經(jīng)過一個(gè)比特周期的積分后,相關(guān)器的輸出被累加并獲取其最大值。當(dāng)最大值超過某一門限時(shí),則判斷捕獲成功,然后進(jìn)入跟蹤模式。否則,重新調(diào)整本地產(chǎn)生的C/A碼和載波頻率,更新相關(guān)器輸出最大值,并重復(fù)上述過程[7]。
在GPS軟件接收機(jī)中,使用并行碼相位算法進(jìn)行捕獲。這種方法同時(shí)搜索多普勒頻率和碼相位,采用傅里葉變換將時(shí)域的循環(huán)互相關(guān)運(yùn)算變換為頻域的乘積運(yùn)算。這樣只需要搜索多普勒頻移,簡(jiǎn)化了運(yùn)算過程,是一種快速高效的軟件搜索方法[8]。
圖1顯示了并行碼相位捕獲的過程。首先,將輸入信號(hào)與本地正弦和余弦載波分別相乘,產(chǎn)生同向I和正交Q信號(hào)分量。然后把I和Q分量合并成一個(gè)復(fù)合信號(hào)并進(jìn)行FFT運(yùn)算。FFT變換的結(jié)果再和本地復(fù)制C/A碼的FFT變換結(jié)果的復(fù)共軛相乘。將相乘后的結(jié)果再進(jìn)行傅立葉逆變換,然后對(duì)傅里葉逆變換后的結(jié)果取模,即得到輸入信號(hào)與本地復(fù)制偽碼的相關(guān)結(jié)果。最后,比較相關(guān)結(jié)果的最大值與預(yù)先設(shè)定的門限。如果最大值大于預(yù)先設(shè)定的門限,則捕獲成功。否則,改變多普勒頻率并重復(fù)上述過程,直至捕獲成功[9]。
捕獲完成后獲得載波頻率和碼相位的粗略值。因此,需要通過跟蹤進(jìn)行細(xì)調(diào),以便系統(tǒng)能用精確的碼相位和載波頻率解調(diào)出導(dǎo)航數(shù)據(jù)。跟蹤過程中,首先將載波從輸入信號(hào)中剔除,然后再與本地復(fù)制偽碼相乘,輸出即為導(dǎo)航數(shù)據(jù)。所以跟蹤過程需要產(chǎn)生兩種復(fù)制信號(hào),一種為載波,一種為偽碼。相應(yīng)的,跟蹤就分為載波跟蹤和碼跟蹤[10,13]。
碼跟蹤環(huán)路的主要目的是對(duì)信號(hào)中偽碼的相位保持跟蹤,使本地復(fù)制C/A碼的相位與輸入信號(hào)中的C/A碼相位保持一致。在GPS接收機(jī)中,碼跟蹤環(huán)一般采用稱為超前-滯后跟蹤環(huán)的延遲鎖定環(huán)(DLL)實(shí)現(xiàn)[11],如圖2 所示。
首先將輸入信號(hào)與本地復(fù)制載波相乘,用三個(gè)不同相位(間隔±0.5碼片)的本地復(fù)制C/A碼與輸入信號(hào)進(jìn)行相關(guān),這三個(gè)C/A碼分別稱為超前碼,即時(shí)碼和滯后碼。經(jīng)過積分累加之后,比較得到的三個(gè)相關(guān)結(jié)果,具有最高相關(guān)值的信號(hào)被選中并保留,然后推算出C/A碼自相關(guān)峰值的位置,確定即時(shí)碼與接收信號(hào)中的C/A碼的相位差異,進(jìn)而獲得接收信號(hào)中碼相位的測(cè)量值,并將碼相位差異反饋給C/A碼數(shù)控振蕩器,相應(yīng)調(diào)整本地復(fù)制偽碼的相位。
為了成功的解調(diào)出導(dǎo)航數(shù)據(jù),需要生成精確的本地復(fù)制載波。在載波跟蹤環(huán)中,一般使用鎖相環(huán)中的Costas環(huán)實(shí)現(xiàn)。
如圖3所示,Costas環(huán)是一種相位鎖定環(huán),其對(duì)相位翻轉(zhuǎn)不敏感,可以對(duì)信號(hào)保持精確的跟蹤。當(dāng)從輸入信號(hào)中剔除C/A碼后,輸出為一個(gè)被導(dǎo)航數(shù)據(jù)調(diào)制的連續(xù)波信號(hào)。壓控振蕩器根據(jù)捕獲輸出產(chǎn)生載波頻率并生成兩路載波信號(hào),一路為直接信號(hào),一路經(jīng)過90度相位翻轉(zhuǎn)。這兩路信號(hào)分別與輸入信號(hào)相關(guān)。相關(guān)結(jié)果經(jīng)過濾波后,再經(jīng)過反正切鑒相器比較其相位。然后將鑒相結(jié)果經(jīng)過濾波后產(chǎn)生一個(gè)控制信號(hào),用來調(diào)節(jié)振蕩器,使其產(chǎn)生的載波頻率接近輸入的連續(xù)波信號(hào)。這個(gè)載波頻率也被用來剔除輸入信號(hào)中的載波[8]。
當(dāng)捕獲和跟蹤完成之后,就可以從跟蹤模塊的同相支路的輸出中得到導(dǎo)航數(shù)據(jù)信息,然后將輸出數(shù)據(jù)標(biāo)準(zhǔn)化為包含1和-1的序列。由于跟蹤環(huán)輸出的是速率為1000bps的導(dǎo)航數(shù)據(jù)信息,而導(dǎo)航數(shù)據(jù)的比特率為50b/s,所以在對(duì)導(dǎo)航數(shù)據(jù)解碼前,要將1000bps的導(dǎo)航數(shù)據(jù)信息轉(zhuǎn)化為50b/s的導(dǎo)航數(shù)據(jù),也就是要將20個(gè)連續(xù)的值用1個(gè)值來代替,這個(gè)轉(zhuǎn)換過程即稱為位同步。位同步過程中的首要任務(wù)是要找到位翻轉(zhuǎn)點(diǎn),即輸出序列中的數(shù)據(jù)從1變?yōu)椋?或從-1變?yōu)?的位跳變位置。當(dāng)數(shù)據(jù)翻轉(zhuǎn)點(diǎn)確定之后,可以用20ms的間隔分割1000bps輸入數(shù)據(jù),然后再對(duì)20ms間隔排列的比特取樣累加起來取平均值,從而解碼出導(dǎo)航數(shù)據(jù)[6]。
一旦實(shí)現(xiàn)跟蹤,通過子幀匹配和奇偶校驗(yàn)就可以將輸出的結(jié)果轉(zhuǎn)換成導(dǎo)航數(shù)據(jù)。從子幀中獲得星歷數(shù)據(jù)。根據(jù)這些星歷數(shù)據(jù)可以確定衛(wèi)星的位置,還可以獲得接收機(jī)和衛(wèi)星之間的偽距,一旦獲得所以必要的信息,就可以計(jì)算出用戶的位置。最后,將用戶的位置轉(zhuǎn)換到需要的坐標(biāo)系下。
在上述過程中,最關(guān)鍵的步驟是計(jì)算偽距。因?yàn)镚PS接收機(jī)不能獲得本地接收機(jī)的時(shí)間,也就無法計(jì)算出接收機(jī)和衛(wèi)星之間的信號(hào)傳輸時(shí)間,只能通過相對(duì)測(cè)量來獲得偽距。不考慮每顆衛(wèi)星的時(shí)鐘校正,所有不同衛(wèi)星的子幀1的起始點(diǎn)都是相同的。因此,可以認(rèn)為不同衛(wèi)星的子幀都是在同一時(shí)刻發(fā)射的。由于在不同時(shí)刻收到不同衛(wèi)星的子幀l,這個(gè)時(shí)間差就代表了不同衛(wèi)星到接收機(jī)的距離差,所以它就代表相對(duì)偽距。相對(duì)偽距可作為觀測(cè)數(shù)據(jù)用于定位解碼[1]。
通過對(duì)信號(hào)的捕獲,獲得視距內(nèi)可見的衛(wèi)星信號(hào),并得到載波頻率和碼相位的粗略估計(jì)值。經(jīng)過載波和偽碼跟蹤,不斷調(diào)整載波頻率和碼相位,最終獲得精確值。對(duì)得到的數(shù)據(jù)進(jìn)行位同步、子幀匹配和奇偶校驗(yàn)提取出導(dǎo)航電文,并得到衛(wèi)星與接收機(jī)之間的相對(duì)偽距,用于接收機(jī)位置的解算。其軟件和算法已經(jīng)得到實(shí)際驗(yàn)證[12],滿足低精度測(cè)量和導(dǎo)航的要求。
[1]JAMES BAO,YEN TSUI.Fundamentals of global positioning system receivers:A software approach[M],New York:John Wiley & Sons,Inc,2004.
[2]GOUGAN G M,NORRMARK P L,STALBERG C.Satellite navigation evolution:the software GNSS receiver[J].GPS World,2005(1):48 -56.
[3]ALISON BROWN.Benefits of software GPS receiver for enhanced signal processing[J].GPS Solutions,2000(1):56-66.
[4]DAVID WEBER,ROGER BREMER.Universal GPS receiver lets you use a laptop PC for Soft baseband processing[J].Maxim's Engineering Journal,2008,63:1 - 8.
[5]MAX2769 DATASHEET[P/OL].2003 -3 -04.http://datasheets.maximintegrated.com/en/ds/MAX2769.pdf
[6]JIN TIAN,QIN HONG LEI,ZHU JUNJIE.Real- time GPS software receiver correlator design[C].Proceedings of the second international conference on communications and networking in china,2007.
[7]ANDREA MOLINO,MARIO NICOLA,MARCO PINI,MAURIZIO FANTINO.N-Gene GNSS software receiver for acquisition and tracking algorithms validation[C].Proceedings of the 17th European Signal Processing Conference,2009.
[8] ZUOHU LI, JINMING HAO, JIANWEN LI,,CHENGJUN ZHANG.IF signal processing algorithm for GPS software receiver[C].Proceedings of the Congress on Image and Signal Processing,2008(1).
[9]BOROI D,DRISCOLL O,LACHAPELLE C.Composite GNSS signal acquisition over multiple code periods[J].Aerospace and Electronic Systems,2010,46(1):193-206.
[10]HUANG YANGBO,TANG XIAOMEI.Differential correlator for tracking GPS Signalssignals[C].Proceedings of the Information Engineering and Computer Science in China,2009.
[11] NOMI SONOWAL,RAJEEV YADAV,KANNAN S.Real Time time GPS Software receiver receiver with new fast signal tracking method[C].Proceedings of 2008 IEEE Radio and Wireless Symposium,Orlando,F(xiàn)L,USA,2008
[12]崔鑫拓,夏亮亮,徐博會(huì).利用SSL VPN實(shí)現(xiàn)卡車調(diào)度系統(tǒng)中的遠(yuǎn)程設(shè)備管理[J].河北工程大學(xué):自然科學(xué)版,2012,29(1):100 -102.
[13]王小勝,王保國.研究不精確現(xiàn)象的新數(shù)學(xué)工具-不確定理論[J].河北工程大學(xué):自然科學(xué)版,2010,27(4):101-105.