呂俊杰 董浩宸 張海東



摘? 要:針對(duì)當(dāng)前北斗導(dǎo)航定位接收機(jī)在高動(dòng)態(tài)和復(fù)雜電磁環(huán)境下定位精度不高的問(wèn)題,本文在了解衛(wèi)星導(dǎo)航原理的基礎(chǔ)上,介紹了一種基于DSP+FPGA的嵌入式北斗導(dǎo)航接收機(jī)的設(shè)計(jì),以滿足在高動(dòng)態(tài)和復(fù)雜電磁環(huán)境下無(wú)人機(jī)、單兵、機(jī)器人等高精度導(dǎo)航定位的要求。本文詳細(xì)介紹了接收機(jī)的硬件架構(gòu):接收機(jī)的射頻前端采用MAX2769芯片,基帶及信號(hào)處理部分采用TI公司的高性能浮點(diǎn)系列的TMS320C6747芯片和現(xiàn)場(chǎng)可編程邏輯門(mén)陣列芯片EP4CE115F23C8N。并基于測(cè)試實(shí)驗(yàn)結(jié)果,說(shuō)明該款接收機(jī)體積小、功耗低、高精度的特點(diǎn)。
關(guān)鍵詞:北斗導(dǎo)航接收機(jī);高精度;DSP;FPGA
中圖分類(lèi)號(hào):TN967.1? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2096-4706(2019)20-0054-05
Abstract:Aiming at the problem that the positioning accuracy of Beidou navigation and positioning receiver is not high in high dynamic and complex electromagnetic environment,this paper introduces the design of an embedded Beidou navigation receiver based on DSP + FPGA to meet the requirements of high-precision navigation and positioning of UAV,individual soldier and robot in high dynamic and complex electromagnetic environment. This paper introduces the hardware architecture of the receiver in detail:the RF front-end of the receiver uses MAX2769 chip,the baseband and signal processing part uses TI companys high-performance floating-point series of TMS320C6747 chip and field programmable logic gate array chip EP4CE115F23C8N. Based on the test results,it demonstrates that the receiver has the characteristics of small size,low power consumption and high precision.
Keywords:Beidou navigation receiver;high precision;DSP;FPGA
0? 引? 言
全球衛(wèi)星導(dǎo)航系統(tǒng),俗稱GNSS系統(tǒng)。發(fā)展至今,常見(jiàn)的較為成熟的系統(tǒng)包括美國(guó)的GPS系統(tǒng)、俄羅斯的GLONASS系統(tǒng)、歐盟的GALILEO系統(tǒng)以及如今迅速發(fā)展的中國(guó)的BDS系統(tǒng)。北斗導(dǎo)航系統(tǒng)是我國(guó)獨(dú)立發(fā)展、自主運(yùn)行的全球衛(wèi)星導(dǎo)航系統(tǒng),是國(guó)家中長(zhǎng)期科技發(fā)展綱要確定的16個(gè)重大專項(xiàng)投資中最大的專項(xiàng)之一。2018年12月,北斗三號(hào)基本系統(tǒng)完成建設(shè),標(biāo)志著北斗衛(wèi)星導(dǎo)航正式步入全球時(shí)代。然而基于在高動(dòng)態(tài)及復(fù)雜電磁環(huán)境下導(dǎo)航定位精度不高的問(wèn)題。本文提出了一種高動(dòng)態(tài)嵌入式北斗接收機(jī)的設(shè)計(jì)方案,應(yīng)用性較強(qiáng),且經(jīng)過(guò)實(shí)驗(yàn)測(cè)試,驗(yàn)證了本款接收機(jī)適用于一些惡劣環(huán)境條件下。
1? 接收機(jī)總體組成及系統(tǒng)架構(gòu)
北斗導(dǎo)航接收機(jī)主要由三大部分組成,分別為:天線及射頻前端模塊、基帶信號(hào)處理模塊、定位導(dǎo)航解算模塊。簡(jiǎn)單來(lái)說(shuō),導(dǎo)航接收機(jī)內(nèi)部需要完成四個(gè)過(guò)程:
(1)自主接收衛(wèi)星射頻信號(hào)。
(2)對(duì)信號(hào)進(jìn)行分析,獲取密鑰,恢復(fù)數(shù)據(jù)。
(3)測(cè)量接收機(jī)與衛(wèi)星之間的距離。
(4)利用上述過(guò)程所得信息計(jì)算位置。
具體硬件實(shí)現(xiàn)的流程為:導(dǎo)航信號(hào)經(jīng)由衛(wèi)星天線發(fā)射后,經(jīng)過(guò)電離層、對(duì)流層到達(dá)終端(接收機(jī))的射頻天線前端,此時(shí)接收機(jī)接收到的是微弱的電信號(hào),需經(jīng)過(guò)低噪聲前置放大器進(jìn)行信號(hào)的放大,然后輸入到射頻前端的信號(hào)經(jīng)過(guò)濾波、下變頻和模擬/數(shù)字信號(hào)轉(zhuǎn)換單元得到數(shù)字信號(hào),因此射頻前端模塊得到的是數(shù)字中頻信號(hào)。
接下來(lái),在基帶信號(hào)處理模塊,采用專用的可編程邏輯門(mén)陣列(Field Programmable Gate Array,F(xiàn)PGA)對(duì)所得中頻信號(hào)進(jìn)行捕獲,得到衛(wèi)星的星號(hào)、初始碼相位偏移量以及對(duì)應(yīng)的含多普勒頻移的信號(hào)頻率等觀測(cè)量。接著將上述所得參數(shù)送入跟蹤模塊,估計(jì)出每顆衛(wèi)星精確的碼相位偏移量和含多普勒頻移的信號(hào)頻率。
數(shù)字信號(hào)處理器芯片對(duì)各種觀測(cè)量進(jìn)行快速的運(yùn)算解調(diào),利用導(dǎo)航電文的前導(dǎo)碼找到解調(diào)后數(shù)據(jù)的同步頭,由同步后的數(shù)據(jù)解算出導(dǎo)航電文,并結(jié)合碼相位偏移量計(jì)算出偽距值,最后利用偽距值計(jì)算出用戶接收機(jī)所在位置、速度、時(shí)間信息,為用戶提供PNT服務(wù)。
其系統(tǒng)整體組成圖如圖1所示。
2? 硬件架構(gòu)
2.1? 射頻前端模塊設(shè)計(jì)
北斗衛(wèi)星導(dǎo)航系統(tǒng)B1頻點(diǎn)信號(hào)的頻率為1561.098MHz,采用CDMA工作方式。由于芯片處理低頻率的信號(hào)較為容易,故射頻前端所要實(shí)現(xiàn)的主要內(nèi)容是下變頻和模數(shù)轉(zhuǎn)換功能,但由于有源天線接收到的衛(wèi)星信號(hào)十分微弱,故在進(jìn)入射頻前端處理前,需經(jīng)過(guò)濾波放大環(huán)節(jié)。因?yàn)榛鶐盘?hào)處理模塊需要處理中頻信號(hào),所以射頻前端的設(shè)計(jì)會(huì)直接影響整個(gè)導(dǎo)航接收機(jī)性能的優(yōu)劣。根據(jù)所要滿足的要求,射頻前端的設(shè)計(jì)應(yīng)該要保證高增益、非線性失真等條件??紤]到上述因素,選用Maxim公司生產(chǎn)的一款低中頻結(jié)構(gòu)的能處理GNSS信號(hào)的射頻前端芯片。它采用了業(yè)界領(lǐng)先的SiGe BiCMOS工藝,集成了一個(gè)雙輸入的LNA及混頻器、鏡像頻率抑制濾波器、可控增益放大器、頻率綜合器、晶體振蕩器和多比特A/D轉(zhuǎn)換器。射頻前端拓?fù)鋱D如圖2所示。
采用低中頻結(jié)構(gòu)設(shè)計(jì)的射頻前端具有的優(yōu)勢(shì)在于具有超外差結(jié)構(gòu)的高性能和零中頻結(jié)構(gòu)易于集成的特點(diǎn)。在此設(shè)計(jì)中,MAX2769作為處理信號(hào)的主芯片,外加一級(jí)LNA,提高了接收機(jī)的靈敏度。由于北斗系統(tǒng)采用的是偽碼擴(kuò)頻調(diào)制通訊體制,且存在路徑傳輸、大氣噪聲等干擾,故衛(wèi)星接收端接收到的信號(hào)常常淹沒(méi)在接收機(jī)的熱噪聲中,但通過(guò)解擴(kuò),可以將衛(wèi)星信號(hào)從噪聲信號(hào)中提取出來(lái),這就需要對(duì)接收機(jī)各部分增益、非線性失真、噪聲等指標(biāo)做好綜合規(guī)劃。MAX2769芯片有兩種工作方式:預(yù)置模式和SPI配置模式。在本設(shè)計(jì)中,芯片工作于SPI配置模式以實(shí)現(xiàn)其功能,但需要對(duì)其時(shí)序進(jìn)行配置。
2.2? 基帶信號(hào)處理模塊設(shè)計(jì)
基帶信號(hào)處理模塊承擔(dān)著承上啟下的重要作用,肩負(fù)著對(duì)射頻前端輸入的數(shù)據(jù)進(jìn)行預(yù)處理,以及在DSP的控制下進(jìn)行信號(hào)的捕獲、跟蹤、解擴(kuò)解調(diào)等任務(wù)。在模塊中需要實(shí)現(xiàn)的幾個(gè)關(guān)鍵技術(shù)是信號(hào)捕獲以及載波跟蹤和碼跟蹤。
首先是信號(hào)捕獲過(guò)程,我們采用改進(jìn)的并行碼搜索法,流程(如圖3所示)如下:
(1)首先產(chǎn)生一個(gè)初相位為0的本地偽碼,進(jìn)行FFT變換后取其共軛,結(jié)果記為Fk。
(2)然后生成本地載波,并給其一個(gè)多普勒頻移的初值,這時(shí)數(shù)據(jù)開(kāi)始輸入,由于數(shù)據(jù)為正交信號(hào),將本地載波與其進(jìn)行90度相移后的值分別進(jìn)行點(diǎn)乘,結(jié)果相加并進(jìn)行FFT變換,結(jié)果記為Rk。將Fk與Rk進(jìn)行點(diǎn)乘后求取逆變換,并取其模值的平方。
(3)改變多普勒頻移的值,重復(fù)步驟(2),直至所有可能的多普勒頻移值搜索完成。
(4)擇其最大值進(jìn)行判決。
載波跟蹤與碼跟蹤也是在高動(dòng)態(tài)環(huán)境下對(duì)定位信息實(shí)現(xiàn)精確計(jì)算的主要難點(diǎn)。因?yàn)樵诟邉?dòng)態(tài)環(huán)境下,載波會(huì)產(chǎn)生多普勒頻移,一般的載波跟蹤環(huán)就無(wú)法實(shí)現(xiàn)對(duì)載波的持續(xù)跟蹤,因此就要加寬環(huán)路帶寬,而這會(huì)引來(lái)新的環(huán)路噪聲問(wèn)題,一旦超過(guò)工作的門(mén)限噪聲,就會(huì)使載波環(huán)產(chǎn)生失鎖,解調(diào)數(shù)據(jù)無(wú)法恢復(fù)。而碼跟蹤環(huán)也會(huì)因?yàn)閭坞S機(jī)碼的頻移發(fā)生失鎖,無(wú)法得到偽距測(cè)量值,加長(zhǎng)了重捕獲時(shí)間。為此,本設(shè)計(jì)采用了由Intel公司生產(chǎn)的FPGA芯片EP4CE115F23C8N,采用JTAG方式配置。
當(dāng)數(shù)字中頻信號(hào)進(jìn)入FPGA模塊,首先需要實(shí)現(xiàn)信號(hào)解調(diào),通過(guò)載波跟蹤環(huán)復(fù)制的載波信號(hào)以混頻的形式將其從衛(wèi)星信號(hào)中完全剝離,使其從中頻下變頻到基帶,C/A碼的剝離也同樣如此。然后進(jìn)行解擴(kuò),需要將解調(diào)后的數(shù)據(jù)與碼發(fā)生器產(chǎn)生的C/A碼進(jìn)行相關(guān)運(yùn)算,以得到基帶信號(hào)。主要設(shè)計(jì)單元包括了載波數(shù)控振蕩器NCO、碼振蕩器NCO、碼發(fā)生器、積分清零單元等核心單元以及相應(yīng)的協(xié)調(diào)單元。相關(guān)器通道的數(shù)目決定了接收機(jī)一次可以處理多少顆可見(jiàn)衛(wèi)星發(fā)來(lái)的信號(hào),所以本設(shè)計(jì)擁有12個(gè)相關(guān)器通道,每個(gè)通道的處理電路都相對(duì)獨(dú)立,接收機(jī)跟蹤環(huán)路設(shè)計(jì)如圖4所示。
具體工作流程為:數(shù)字中頻信號(hào)進(jìn)入相關(guān)器之后,分為同相(I)和正交(Q)支路,分別與本地載波NCO所產(chǎn)生的本振相乘,進(jìn)行載波剝離。然后其I支路和Q支路分別與超前、即時(shí)、滯后三路本地C/A碼相乘,進(jìn)行擴(kuò)頻碼剝離。本地產(chǎn)生的三路C/A碼是由在碼NCO控制下的碼發(fā)生器產(chǎn)生,隨后經(jīng)過(guò)移位寄存器輸出,移位寄存器時(shí)鐘標(biāo)稱速率為碼發(fā)生器的2倍,即2.046MHz。積分部分的積分控制模塊包含若干子模塊。利用FPGA來(lái)實(shí)現(xiàn)對(duì)數(shù)字信號(hào)的處理的最大優(yōu)點(diǎn)便是可編程性,因此對(duì)信號(hào)處理的方式和功能就視程序內(nèi)容而定,避免了專用集成電路靈活性不高,一旦電路設(shè)計(jì)完成后,無(wú)法對(duì)其再進(jìn)行開(kāi)發(fā)的缺陷。
2.3? 定位導(dǎo)航解算模塊
在基帶數(shù)字信號(hào)處理模塊處理完數(shù)字中頻信號(hào)后,各個(gè)通道分別輸出其所跟蹤的衛(wèi)星信號(hào)的偽距、多普勒頻移和載波相位等測(cè)量值以及信號(hào)上解調(diào)出來(lái)的導(dǎo)航電文,而定位導(dǎo)航解算模塊需要處理的便是這些衛(wèi)星測(cè)量值和導(dǎo)航電文中的星歷參數(shù)等信息,本接收機(jī)采用雙頻偽距單點(diǎn)定位算法,將從雙頻得到的偽距進(jìn)行一定的差分運(yùn)算,得到組合觀測(cè)值,可以有效地修正電離層延時(shí)。而在解算過(guò)程中涉及到大量的數(shù)值運(yùn)算,尤其是比較多的浮點(diǎn)數(shù)運(yùn)算,故選用了TI公司的高性能浮點(diǎn)DSP芯片TMS320C6747作為系統(tǒng)的主處理芯片。
由于在整個(gè)接收機(jī)硬件中,F(xiàn)PGA是主設(shè)備,DSP是從設(shè)備,對(duì)這個(gè)接收機(jī)的編程即對(duì)二者編程的整體程序框圖如圖5所示。
上電后,DSP首先啟動(dòng),控制FPGA完成配置和初始化工作,同時(shí)自己也完成初始化工作。之后從FPGA讀出相關(guān)值,利用捕獲算法和跟蹤算法對(duì)信號(hào)進(jìn)行捕獲和跟蹤,等到穩(wěn)定跟蹤后,通過(guò)碼相位值計(jì)算出偽距,并通過(guò)相關(guān)值解調(diào)出電文信息,將電文信息通過(guò)一系列算法進(jìn)行定位解算,最后通過(guò)串口輸出結(jié)果。
3? 接收機(jī)測(cè)試
在接收機(jī)完成后對(duì)其進(jìn)行了測(cè)試,測(cè)試結(jié)果非常成功。根據(jù)測(cè)試結(jié)果,發(fā)現(xiàn)高動(dòng)態(tài)北斗接收機(jī)可以完成預(yù)計(jì)功能,包括測(cè)試過(guò)程中對(duì)衛(wèi)星的跟蹤和捕獲,定位精度和測(cè)速精度達(dá)到要求。在此,選取測(cè)試過(guò)程中的一段數(shù)據(jù)進(jìn)行分析。根據(jù)接收機(jī)的位置和速度信息分析得到誤差信息如圖6所示。
通過(guò)分析誤差信息可以得到:在ECEF坐標(biāo)系下,高精度北斗接收機(jī)的性能指標(biāo)可以達(dá)到定位誤差≤10m,測(cè)速誤差≤0.2m/s。
通過(guò)圖7可以看出,北斗接收機(jī)在大部分時(shí)刻都保持著4顆以上的收星數(shù),保證了接收機(jī)具有較快的定位速度和較高的定位精度。
4? 結(jié)? 論
本文介紹了一種基于DSP+FPGA的北斗接收機(jī)設(shè)計(jì)方案。本文首先介紹了北斗接收機(jī)的整體組成及架構(gòu),然后分部分介紹了接收機(jī)各個(gè)模塊的硬件設(shè)計(jì),以信號(hào)處理部分作為重點(diǎn),針對(duì)信號(hào)捕獲上的難點(diǎn),采用了改進(jìn)的并行碼搜索算法,提高了捕獲精度,為后續(xù)的跟蹤與解算做好鋪墊。最后經(jīng)過(guò)實(shí)際測(cè)試,證實(shí)該接收機(jī)可以正常工作并能夠達(dá)到預(yù)定性能指標(biāo)。
參考文獻(xiàn):
[1] 謝鋼.GPS原理與接收機(jī)設(shè)計(jì) [M].北京:電子工業(yè)出版社,2009.
[2] 胡銳,薛曉中,孫瑞勝,等.基于FPGA+DSP的嵌入式GPS數(shù)字接收機(jī)系統(tǒng)設(shè)計(jì) [J].中國(guó)慣性技術(shù)學(xué)報(bào),2009,17(2):187-190.
[3] 楊樹(shù)偉,張冰,胡銳.基于FPGA與DSP的嵌入式GNSS接收機(jī)設(shè)計(jì) [J].科學(xué)技術(shù)與工程,2011,11(27):6643-6647+6655.
[4] 唐康華,何曉峰,吳美平,等.面向嵌入式應(yīng)用領(lǐng)域的GPS接收機(jī)設(shè)計(jì) [J].儀器儀表學(xué)報(bào),2007(8):1497-1501.
[5] 林艷.衛(wèi)星導(dǎo)航系統(tǒng)并高動(dòng)態(tài)跟蹤研究.[D].南京:東南大學(xué),2013.
[6] 魏秀啟,鄭維廣,隋紹勇.北斗導(dǎo)航定位接收機(jī)的原理及硬件實(shí)現(xiàn) [J].電子元器件應(yīng)用,2009,11(4):37-39+43.
[7] 劉競(jìng)超,鄧中亮.基于ARM+FPGA北斗接收機(jī)設(shè)計(jì) [J].軟件,2012,33(12):38-40.
[8] 陳可,朱常其,何燕.基于MAX2769的射頻前端的設(shè)計(jì)和實(shí)現(xiàn) [J].國(guó)外電子測(cè)量技術(shù),2014,33(1):58-61.
[9] 張學(xué)良.基于TMS320C6747的彈載GPS接收機(jī)研究 [D].南京:南京理工大學(xué),2009.
[10] DOBERSTEIN D.Fundamentals of GPS Receivers [M].New York:Springer,2011.
作者簡(jiǎn)介:呂俊杰(1998-),男,漢族,江蘇寶應(yīng)人,本科,研究方向:電氣工程及其自動(dòng)化;董浩宸(1997-),男,漢族,河北唐山人,本科,研究方向:電氣工程及其自動(dòng)化;張海東(1997-),男,漢族,江蘇淮安人,本科,研究方向:自動(dòng)化。