陳偉強(qiáng)
(福建福大北斗通信科技有限公司,福建 福州 350100)
隨著科技的不斷發(fā)展,衛(wèi)星導(dǎo)航定位技術(shù)的運(yùn)用也越來(lái)越廣泛。所謂衛(wèi)星導(dǎo)航定位系統(tǒng),就是一種利用衛(wèi)星為參考源的無(wú)線導(dǎo)航系統(tǒng)[1,2]。為了能夠?qū)崿F(xiàn)精確、穩(wěn)定的導(dǎo)航定位功能,需要研究不同衛(wèi)星導(dǎo)航定位系統(tǒng)的信息并加以相互融合,利用GPS成熟的空間星座來(lái)補(bǔ)充北斗空間星座目前的缺陷[3,4]。要實(shí)現(xiàn)上述功能,必需使衛(wèi)星導(dǎo)航定位終端具備北斗和GPS兩大系統(tǒng)信息的接收功能,采用雙系統(tǒng)一體化組合結(jié)構(gòu),將北斗和GPS兩個(gè)通道獲取的數(shù)據(jù)同時(shí)作為定位解算模塊的輸入,來(lái)求解出位置等信息[5,6]。
雙系統(tǒng)信息聯(lián)合處理系統(tǒng)總體框圖如圖1所示,可劃分為射頻模塊、跟蹤通道、通道控制、PVT解算、串口輸出等功能模塊。
圖1 雙系統(tǒng)信號(hào)處理框圖
射頻模塊將天線接收到的衛(wèi)星信號(hào)下變頻到中頻信號(hào),北斗B1頻點(diǎn)載波頻率1561.098MHz,GPS L1頻點(diǎn)載波頻率1575.42MHz,兩個(gè)頻點(diǎn)相差14.322MHz,對(duì)于一般導(dǎo)航接收機(jī)天線而言,兩系統(tǒng)的信號(hào)頻點(diǎn)均包含在其帶內(nèi),然而在下變頻電路中,該頻點(diǎn)差異將使信號(hào)落在帶外而抑制,因此需要將射頻信號(hào)分兩路下變頻到中頻[7]。該系統(tǒng)中采用MAX2769方案,支持1550MHz至1610MHz的射頻信號(hào)輸入,中頻輸出中心頻率4.092MHz的2比特二進(jìn)制偏移量,分別代表符號(hào)和幅值。
系統(tǒng)采用多通道并行的設(shè)計(jì),保證對(duì)雙系統(tǒng)多顆衛(wèi)星的實(shí)時(shí)跟蹤,每個(gè)通道中包含本地載波振蕩器、測(cè)距碼發(fā)生器、混頻器、積分器等功能模塊[8,9],結(jié)合ARM部分的通道控制模塊,實(shí)現(xiàn)雙系統(tǒng)衛(wèi)星信號(hào)的捕獲、跟蹤,并糾錯(cuò)解碼得到導(dǎo)航電文,記錄各歷元時(shí)刻下各通道的觀測(cè)值[10]。
PVT解算模塊利用各歷元的觀測(cè)值,按一定的權(quán)重比例組合得到一組觀測(cè)方程并輸入到位置解算模塊得到接收機(jī)的三維坐標(biāo)和鐘差參數(shù),隨后按照NMEA協(xié)議,從串口輸出定位結(jié)果[11]。
當(dāng)射頻模塊輸出經(jīng)數(shù)字化后的帶載波的數(shù)字中頻信號(hào)后,還需經(jīng)過(guò)QPSK解調(diào)、偽碼剝離等操作才能獲取導(dǎo)航電文。該部分在FPGA中實(shí)現(xiàn),以獨(dú)立、并行通道的形式進(jìn)行設(shè)計(jì),各處理通道根據(jù)控制模塊的指令獨(dú)立地對(duì)北斗或GPS中頻數(shù)字信號(hào)進(jìn)行剝離載波、剝離偽碼和相干積分操作[12]。其中單通道結(jié)構(gòu)框圖如圖2所示。
圖2 單通道數(shù)字基帶信號(hào)處理通道框圖
為了實(shí)現(xiàn)雙系統(tǒng)信息的聯(lián)合處理,接收機(jī)必須能夠同時(shí)處理北斗和GPS的數(shù)字基帶信號(hào)。為實(shí)現(xiàn)該目的,接收機(jī)可為北斗系統(tǒng)和GPS系統(tǒng)分別設(shè)計(jì)一定數(shù)量的專用數(shù)字基帶信號(hào)處理通道,但考慮到資源消耗和通道及各功能模塊的資源利用率,本文提出了雙系統(tǒng)接收機(jī)通道。與傳統(tǒng)的GPS通道相比,雙系統(tǒng)接收機(jī)通道從結(jié)構(gòu)上僅增加了一個(gè)中頻信號(hào)選擇器,其余各功能模塊都由接收機(jī)配置可支持雙系統(tǒng)信號(hào)處理的要求。
為剝離中頻信號(hào)中的載波分量,首先要由本機(jī)載波NCO生成與中頻信號(hào)同頻同相的本機(jī)復(fù)制載波,再由混頻器將兩者相乘實(shí)現(xiàn)中頻載波的剝離。因?yàn)檩斎胄盘?hào)是經(jīng)過(guò)ADC后的2比特偏移二進(jìn)制信號(hào),幅值位代表偏移量;符號(hào)位的1代表符號(hào)為負(fù),0代表為正。本機(jī)復(fù)制的載波也采取這種形式,分別用一個(gè)符號(hào)位和一個(gè)幅值位來(lái)代表一個(gè)載波。載波NCO輸出一個(gè)階梯形周期信號(hào),然后通過(guò)正弦余弦函數(shù)查詢表分別將載波NCO中累加器輸出階梯信號(hào)的高三位轉(zhuǎn)換成數(shù)字正弦信號(hào)和數(shù)字余弦信號(hào),如圖3所示。
圖3 正弦余弦函數(shù)值表
NCO的工作過(guò)程可以簡(jiǎn)單地認(rèn)為是一個(gè)N位累加器在輸入時(shí)鐘fclk的觸發(fā)下不斷以步進(jìn)M進(jìn)行累加,相當(dāng)于將時(shí)鐘信號(hào)fclk進(jìn)行2N次分頻,在控制每次累加的數(shù)值M實(shí)現(xiàn)M次倍頻,得到階梯周期信號(hào)頻率為fc等于:
式(1)表明,只需要輸入一個(gè)合理的M值,即可近似于或者等于我們所需的頻率,使其通過(guò)查表就可以輸出數(shù)字正弦信號(hào)和數(shù)字余弦信號(hào)了。所以設(shè)計(jì)時(shí)首先定義一個(gè)N位累加器將時(shí)鐘頻率進(jìn)行2N分頻,而每次累加的數(shù)值M由外部電路寫入,實(shí)現(xiàn)M倍頻。
相關(guān)接收利用了偽隨機(jī)序列的自相關(guān)特性,如圖4所示,τ代表兩個(gè)序列的相位偏差大小,ρ為序列長(zhǎng)度,R(τ)是相關(guān)函數(shù)輸出值,即當(dāng)兩個(gè)序列偏差在一個(gè)碼元內(nèi)時(shí),隨著兩個(gè)碼元偏差量的減小相關(guān)函數(shù)值將急劇增大,當(dāng)偏差大于一個(gè)碼元時(shí)相關(guān)函數(shù)輸出一個(gè)很小的值。
圖4 偽隨機(jī)序列自相關(guān)函數(shù)
為了實(shí)現(xiàn)本機(jī)測(cè)距碼相位與衛(wèi)星信號(hào)測(cè)距碼實(shí)時(shí)對(duì)齊,測(cè)距碼發(fā)生器將生成相位相差1/2碼片的測(cè)距碼,分別為超前碼(E)、即時(shí)碼(P)和滯后碼(L)。超前碼比即時(shí)碼超前1/2個(gè)碼元,滯后碼比即時(shí)碼滯后1/2個(gè)碼元。
G2移位寄存器的兩抽頭取值范圍∈[0,10],可采用兩個(gè)4比特二進(jìn)制數(shù)表示,同時(shí)增加1bit系統(tǒng)選擇位,在通道初始化時(shí)微處理器給測(cè)距碼生成器一個(gè)9bit配置參數(shù)PRN[8:0],其中PRN[8]為系統(tǒng)標(biāo)識(shí)位,當(dāng)值為0時(shí)代表該通道處理北斗數(shù)字基帶信號(hào),并賦初值01010101010,G2序列輸出抽頭序號(hào)分別為PRN[7:4]和PRN[3:0];當(dāng)值為1時(shí)代表該通道處理GPS數(shù)字基帶信號(hào),G1、G2處理器進(jìn)行配置,并賦初值1111111111,G2序列輸出抽頭序號(hào)分別為PRN[7:4]和PRN[3:0]。
FPGA與ARM之間采用STM32自帶的FSMC總線協(xié)議通信,由地址(A)、片選(NCS)、讀使能(NOE)、寫使能(NWE)信號(hào)控制數(shù)據(jù)的傳遞。
(1)片選信號(hào)NCS
該信號(hào)為高時(shí),相關(guān)器不對(duì)外進(jìn)行任何數(shù)據(jù)傳遞,僅外部中斷持續(xù)輸出。當(dāng)需要對(duì)相關(guān)器讀寫時(shí),該信號(hào)應(yīng)提前拉低。
(2)地址選擇
對(duì)相關(guān)器的不同模塊和不同類型的操作是通過(guò)地址A來(lái)區(qū)分的,在讀寫使能未觸發(fā)時(shí)先設(shè)置好地址A,在讀寫過(guò)程中應(yīng)保持A不變。
(3)讀時(shí)序(如圖5所示)
圖5 總線讀數(shù)據(jù)時(shí)序
在讀取相關(guān)器信息時(shí)刻,NOE由高電平向低電平跳變,當(dāng)FPGA檢測(cè)到該跳變時(shí),將對(duì)應(yīng)數(shù)據(jù)送入輸入輸出端口。
(4)寫時(shí)序(如圖6所示)
圖6 總線寫數(shù)據(jù)時(shí)序
在向相關(guān)器寫入數(shù)據(jù)時(shí)刻,NWE由高電平向低電平跳變,并保持一段時(shí)間返回高電平,當(dāng)FPGA檢測(cè)到返回高電平的上升沿時(shí),將數(shù)據(jù)從輸入輸出端口寫入對(duì)應(yīng)寄存器。
通道控制功能由微處理器完成,與數(shù)字基帶信號(hào)處理器共同實(shí)現(xiàn)信號(hào)捕獲、同步、跟蹤和電文解碼功能,其處理流程如圖7所示。
圖7 通道控制程序流程圖
當(dāng)接收機(jī)上電后,微處理器首先對(duì)各通道初始變化,包括載波NCO設(shè)置、測(cè)距碼NCO設(shè)置、測(cè)距碼抽頭設(shè)置等。隨后微處理器在轉(zhuǎn)存器有新值時(shí)讀取各積分器數(shù)據(jù),進(jìn)行衛(wèi)星捕獲的操作。在確認(rèn)捕獲衛(wèi)星后,該通道進(jìn)入跟蹤階段并尋找比特邊緣和數(shù)據(jù)幀頭信息實(shí)現(xiàn)信號(hào)幀同步,隨后即可根據(jù)不同系統(tǒng)進(jìn)行解碼得到導(dǎo)航電文。
要實(shí)現(xiàn)PVT解算,首先,接收機(jī)記錄各顆衛(wèi)星導(dǎo)航電文中的星歷信息,隨后在同一個(gè)TIC脈沖下記錄各通道的即時(shí)狀態(tài);然后接收機(jī)計(jì)算出TIC時(shí)刻下接收到的信號(hào)播發(fā)的衛(wèi)星時(shí)間tsv,接收機(jī)利用tsv計(jì)算出衛(wèi)星的三維坐標(biāo);隨后利用式(2)求得接收機(jī)與第i顆衛(wèi)星之間的偽距,其中t為系統(tǒng)時(shí),光速c=299792458m/s,此時(shí)因注意的是若當(dāng)前衛(wèi)星是北斗衛(wèi)星,采用北斗系統(tǒng)時(shí)計(jì)算偽距,若是GPS衛(wèi)星則需采用GPS系統(tǒng)時(shí)計(jì)算偽距。
如果已經(jīng)存在有效定位點(diǎn)或已設(shè)置初始坐標(biāo),接收機(jī)根據(jù)衛(wèi)星與接收機(jī)的相對(duì)位置修正偽距及衛(wèi)星tsv時(shí)刻三維坐標(biāo)經(jīng)過(guò)地球自轉(zhuǎn)后在接收機(jī)系統(tǒng)時(shí)t時(shí)刻ECEF坐標(biāo)系下的坐標(biāo)值。至此,觀測(cè)方程中所需的參數(shù)已經(jīng)求得,開始構(gòu)建方程組。
圖8 PVT解算流程
在進(jìn)行PVT解算測(cè)試時(shí),為盡量保證所有測(cè)試的公平性,均在相同的測(cè)試環(huán)境下采用同一硬件平臺(tái),分別對(duì)北斗單系統(tǒng)、GPS單系統(tǒng)、雙系統(tǒng)聯(lián)合處理進(jìn)行測(cè)試。測(cè)試中采用1Hz定位輸出速率,每個(gè)系統(tǒng)各測(cè)試30分鐘,累計(jì)1800個(gè)采樣點(diǎn)。
在三種測(cè)試條件下記錄空間位置精度因子(PDOP)、水平位置精度因子(HDOP)和高程精度因子(VDOP)如表1。
表1 三種測(cè)試條件下的精度因子?
星座分布和可選觀測(cè)衛(wèi)星數(shù)量對(duì)定位精度影響很大,而北斗系統(tǒng)作為建設(shè)中的系統(tǒng),其空間星座是逐步完善的。通過(guò)聯(lián)合北斗與GPS星座,優(yōu)化空間星座分布結(jié)構(gòu),提升可視衛(wèi)星數(shù)量,增加觀測(cè)方程并選用更加合理的選星策略將有效提高接收機(jī)定位精度和定位的可靠性。
本章首先介紹了系統(tǒng)硬件開發(fā)平臺(tái)的設(shè)計(jì)思路,提出FPGA系統(tǒng)電路、ARM系統(tǒng)電路及射頻電路分層結(jié)構(gòu),完成了硬件設(shè)計(jì),分別進(jìn)行單GPS系統(tǒng)、單北斗系統(tǒng)和北斗/GPS雙系統(tǒng)聯(lián)合處理的性能測(cè)試。北斗/GPS雙系統(tǒng)聯(lián)合后將增加系統(tǒng)可視衛(wèi)星數(shù)量,使接收機(jī)能采用更有效的選星策略,提高觀測(cè)方程組的可靠性。此外,雙系統(tǒng)利用GPS成熟的空間星座彌補(bǔ)北斗系統(tǒng)發(fā)展過(guò)程中的星座缺陷,提高了定位精度。