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