陳然,梅杓春
(南京郵電大學(xué)自動(dòng)化學(xué)院 南京210003)
傳統(tǒng)的GPS接收機(jī)中靠專用的芯片實(shí)現(xiàn)的信號(hào)處理功能[1]。GPS軟件接收機(jī)使用軟件方法和少量的硬件進(jìn)行GPS信號(hào)接收處理。與傳統(tǒng)硬件接收機(jī)相比,軟件接收機(jī)更具方便性和靈活性[2]。圖1表示了一個(gè)基于PC的GPS軟件接收機(jī)的示意框圖。軟件接收機(jī)的這種通用的架構(gòu),使得其能在比較短的設(shè)計(jì)周期里,通過(guò)更改軟件來(lái)實(shí)現(xiàn)新的信號(hào)處理算法。
國(guó)外在軟件接收機(jī)的研究方面趨于成熟,并且有多通道的GPS軟件接收機(jī)產(chǎn)品。如L2通道實(shí)時(shí)的雙頻民用GPS軟件接收機(jī)[3]。而國(guó)內(nèi)在GPS軟件接收機(jī)的研究方面比較落后。而本文是在前期開發(fā)的基于PC平臺(tái)的用C語(yǔ)言實(shí)現(xiàn)的非實(shí)時(shí)軟件接收機(jī)的基礎(chǔ)上,對(duì)跟蹤通道中十分耗費(fèi)時(shí)間的相關(guān)運(yùn)算進(jìn)行算法優(yōu)化。
圖1 GPS軟件接收機(jī)的示意框圖
在GPS軟件接收機(jī)中,數(shù)字中頻信號(hào)首先被本地載波(加載頻多普勒)剝離載頻;混頻輸出的I和Q信號(hào)與超前、即時(shí)和滯后的本地復(fù)現(xiàn)碼(加碼多普勒)發(fā)生相關(guān),從而實(shí)現(xiàn)GPS信號(hào)的捕獲與跟蹤[4]。
GPS發(fā)射的信號(hào)包含載波信號(hào)、擴(kuò)頻碼序列和導(dǎo)航電文3個(gè)部分[5]。接收到的時(shí)域L1 C/A碼信號(hào)經(jīng)過(guò)RF模塊下變頻,經(jīng)過(guò)采樣得到的數(shù)字中頻信號(hào)可以表示為下式:
本地復(fù)現(xiàn)信號(hào)由兩個(gè)部分組成,本地載波信號(hào)和本地碼[6]。在載頻±10kHz內(nèi),以175Hz頻率間隔生成115個(gè)不同頻率零相位的本地載波信號(hào)。本地碼采用即時(shí)、超前和滯后碼三路。所以本地復(fù)現(xiàn)信號(hào)的I和Q支路可以分別表示為下式:
數(shù)字中頻信號(hào)與本地復(fù)現(xiàn)信號(hào)中頻率最靠近載頻的本地載波混合,并與C/A碼混合后的信號(hào)積分累加后可表示下式:
在軟件相關(guān)器中,數(shù)字中頻信號(hào)與本地載波混合,與本地即時(shí)、超前和滯后碼進(jìn)行相關(guān),全部通過(guò)位運(yùn)算的方式來(lái)操作;同時(shí),數(shù)字中頻信號(hào)與本地復(fù)現(xiàn)信號(hào)混合后的積分累加工作可以通過(guò)查表法實(shí)現(xiàn)[7]。
采樣后的數(shù)字信號(hào)每個(gè)采樣點(diǎn)含有兩個(gè)二進(jìn)制位,一個(gè)是符號(hào)位,另一個(gè)是幅度位。數(shù)字信號(hào)的可能值是 和 ,如表1所示。
表1 數(shù)字中頻信號(hào)
在頻率間隔為175Hz的情況下,用2比特的SIGN和MAG表示頻率點(diǎn)上的COS和SIN信號(hào),如表2所示。假定COS和SIN信號(hào)的幅度為2.4。
表2 本地載波信號(hào)
對(duì)輸入信號(hào)SIGN位和載波信號(hào)SIGN位的“異或”操作和對(duì)數(shù)據(jù)位的重定義完成了基帶混頻。輸出信號(hào)的SIGN位和本地載波的SIGN位進(jìn)行異或得到新的SIGN位,HIGH MAG位和LOW MAG位分別是輸出信號(hào)的MAG位和本地載波的MAG位。表1的射頻前端輸出信號(hào)和表2的本地載波相乘產(chǎn)生了一個(gè)結(jié)果,這個(gè)結(jié)果包括以下的值:, , , 。這些值可以用3比特來(lái)表示,如表3所示。
表3 數(shù)字中頻信號(hào)和本地載波的混頻
基帶信號(hào)和即時(shí)碼的相關(guān)由 時(shí)的式(4)和(5)來(lái)定義,基帶信號(hào)和早晚碼的相關(guān)是
軟件相關(guān)器產(chǎn)生C/A碼并把它存儲(chǔ)到存儲(chǔ)器中,即時(shí)碼是按照單個(gè)SIGN位來(lái)存儲(chǔ),如表4所示。早晚碼以2比特來(lái)存儲(chǔ)。
表4 本地 C/A碼
基帶信號(hào)和本地碼的相關(guān)也可以通過(guò)異或操作和比特位的重定義來(lái)實(shí)現(xiàn)。假設(shè)有一個(gè)表3所表示的3比特的基帶信號(hào)和表4所表示的本地即時(shí)碼。表3的SIGN位和表4的SIGN進(jìn)行異或得到表5的SIGN位,這個(gè)混頻信號(hào)的高幅度位和低幅度位分別等于表3中基帶信號(hào)的高幅度位和低幅度位。
表5 完全基帶混頻信號(hào)
相關(guān)計(jì)算中的最終操作是把在給定的偽碼周期中所有的采樣點(diǎn)的結(jié)果相加。積分操作是將表5中8個(gè)不同值的個(gè)數(shù)計(jì)算出來(lái),這可以根據(jù)下面的式6到式13計(jì)算得到[8]。
然后通過(guò)查表的方式來(lái)統(tǒng)計(jì)8個(gè)不同的值的個(gè)數(shù)。根據(jù)式14可以計(jì)算出即時(shí)碼同相支路的積分值。正交支路和早晚碼的同相和正交支路可以用相同的操作進(jìn)行計(jì)算。
圖1
經(jīng)過(guò)在1.73GHz的PC上的試驗(yàn),運(yùn)用高效并行軟件相關(guān)器的GPS軟件接收機(jī)大大的提高了速度,僅僅用了1.73 GHz PC 的40%的處理能力,而且根據(jù)上圖表明使用高效并行軟件相關(guān)器對(duì)跟蹤結(jié)果影響不大。
本文研究了基于PC平臺(tái)的GPS軟件接收機(jī)中相關(guān)器算法,并且在捕獲和跟蹤中實(shí)現(xiàn)了高效并行軟件相關(guān)器。整個(gè)軟件接收機(jī)中軟件相關(guān)器用比特智能的并行算法去進(jìn)行有效的基帶混頻和CDMA信號(hào)的相關(guān)計(jì)算,大大的提高了相關(guān)器的運(yùn)行速度。證明了用軟件相關(guān)器完全可以實(shí)現(xiàn)達(dá)到硬件相關(guān)器的性能。
[1] 黃智偉.GPS接收機(jī)電路設(shè)計(jì)[M].北京:國(guó)防工業(yè)出版社,2005:1-13.
[2] B.M.Ledvina, M.L.Psiaki.A Real-Time GPS Civilian L1/L2 Software Receiver[J]. Proceedings of the Institute of Navigation GNSS, 2004(9): 24-26.
[3] Kai Borre, Dennis Akos.A Software-Defined GPS and Galileo Receiver: Single-Frequency Approach.
[4] Jin Tian, Qin HongLei, Zhu JunJie, Liu Yang. Realtime GPS Software Receiver Correlator Design, 2008.
[5] 牛國(guó)朋.單頻軟件GPS接收機(jī)設(shè)計(jì)與實(shí)現(xiàn)研究[J].中國(guó)門戶網(wǎng),2008.
[6] JAMES BAO-YEN TSUI, Fundamentals of Global Position System Receivers-A Software Approach, 2000.
[7] Kaplan.Understanding GPS: Principles and Applications, 1990.
[8] Li Shi-bing, Wang Mei-ling, Liu Tong. Design of software of GPS receiver based on GP4020[J]. Journal of Chinese Inertial Technology, 2006, 14(4):35-38.