本發(fā)明涉及一種定位系統(tǒng),尤其涉及一種在ARM平臺實現(xiàn)厘米級精度GPS定位的系統(tǒng)。
背景技術(shù):
全球定位系統(tǒng)(GPS,global positioning system)是利用定位衛(wèi)星,在全球范圍內(nèi)實時進行定位、導航的系統(tǒng)。隨著智能終端設備的發(fā)展,GPS定位技術(shù)被廣泛地運用到不同領域。單點定位,或絕對定位是GPS定位技術(shù)中最常用的一種方法,它是通過GPS接收器與四顆或四顆以上已知衛(wèi)星的距離來確定GPS接收器在地球上的位置。GPS接收器與已知衛(wèi)星間的測量距離誤差,如衛(wèi)星時鐘誤差和衛(wèi)星信號回傳時經(jīng)過電離層延時造成的時間測量誤差,是GPS定位的最主要誤差來源。以實時單點定位(用于導航)為例,P碼誤差為1~2m;C/A碼誤差為5~10m,如何減少實時定位誤差成為了GPS在民用領域的應用和推廣的技術(shù)關鍵。
實時動態(tài)載波相位差分(RTK,real time kinematic)定位技術(shù),是建立在實時處理兩個測站的載波相位基礎上的,將基準站采集的載波相位發(fā)送給用戶臺進行求差解算坐標,它能實時提供觀測點的三維坐標,并達到厘米級的高精度。巨大的精度優(yōu)勢使RTK被應用到地理測繪、駕駛員考試等領域。
RTK定位的技術(shù)關鍵是整周模糊度(integer ambiguity)的求解,只有準確快速地計算出整周模糊度,才能保證實現(xiàn)高精度實時動態(tài)定位。目前,受限于RTKLIB的算法效率和運行環(huán)境以及相關硬件的發(fā)展水平,現(xiàn)行RTK運算系統(tǒng)龐大,需要較高的運算能力,較高的功耗,較多的設備構(gòu)件,使其集成度較低,便攜性很差,價格十分高昂(一般需在4萬元起)。其高昂的設備成本、安裝成本、運行成本和維護成本大大制約了RTK在實際生活中的應用。以使得類于無人機投遞包裹、自動駕駛的安全導航、智能農(nóng)用機械的精準種植、智慧城市等需要高精度位置的產(chǎn)品和服務均未能在民眾的日常生活中成為普遍現(xiàn)實。
技術(shù)實現(xiàn)要素:
為了解決上述技術(shù)問題中的不足之處,本發(fā)明提供了一種在ARM平臺實現(xiàn)厘米級精度GPS定位的系統(tǒng)。
為了解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案是:一種在ARM平臺實現(xiàn)厘米級精度GPS定位的系統(tǒng),包括集成在板卡上的前端接收裝置、FPGA相關器和微處理器三個單元;
前端接收裝置通過外部天線接收衛(wèi)星信號,集成了帶通濾波器、混頻器/振蕩器和三位數(shù)模轉(zhuǎn)換器;前端接收裝置接收的衛(wèi)星信號先由帶通濾波器濾波后,再輸入混頻器/振蕩器,混頻器/振蕩器把輸入的L1載波信號轉(zhuǎn)換到更低的中頻上,輸出低中頻或零中頻I和Q信號,同時不改變調(diào)制信號的結(jié)構(gòu);三位數(shù)模轉(zhuǎn)換器可以同時為I和Q通道各輸出一個或兩個量化位或者為I通道輸出三個量化位;
FPGA相關器用于對前端接收裝置的衛(wèi)星信號流進行進一步的濾波和相關性分析,集成了采樣存儲器、衛(wèi)星信號獲取頻道、衛(wèi)星信號追蹤頻道和系統(tǒng)計時器;采樣存儲器、衛(wèi)星信號獲取頻道、衛(wèi)星信號追蹤頻道、系統(tǒng)計時器分別通過串行外設接口SPI與微處理器相連;
微處理器接收FPGA相關器輸出的中間運算結(jié)果,并執(zhí)行所有在FPGA相關器上層的運算,輸出實時的載波相位差分位置/速度結(jié)果;
板卡為結(jié)構(gòu)相同的兩個,一個作為RTK定位設備的基準站,另一個作為RTK定位設備的流動站。
前端接收裝置采用MAX2769接收機;FPGA相關器采用賽靈思的Spartan-6FPGA;微處理器采用基于ARM的STM32處理器。
前端接收裝置、FPGA相關器和微處理器設置在板卡的中心區(qū)域,板卡的外側(cè)四周設置了連接模塊;連接模塊包括外部天線,USB接口,JTAG調(diào)試口,外部串口A和外部串口B;其中,外部天線的輸入是通過一個設置在板卡上的射頻接頭SMA連接器實現(xiàn),板卡通過外部天線多徑接收GNSS衛(wèi)星信號。
板卡接收的衛(wèi)星數(shù)為0-10,在徑信數(shù)等于或大于5時進行采信運算,徑信數(shù)小于5時不進行采信運算。
USB接口用于PC主機和板卡的通信;USB接口的默認配置是作為串行橋連接到微處理器,USB接口也可被配置為高速的FIFO接口,把FPGA相關器處理后的信號流輸出給PC主機;板卡通過F232R USB轉(zhuǎn)串口芯片和USB接口,在PC主機上對板卡進行設置,USB接口為板卡提供+5V的供電。
外部串口A和外部串口B提供高速的3.3V LVTTL電平的異步串行通信口UART;當板卡作為基準站時,外部串口A輸出基準站的定位結(jié)果,外部串口B輸出基準站的測量值和星歷;當板卡作為流動站時,外部串口A輸出流動站的差分定位結(jié)果,外部串口B接收基準站的測量值和星歷。
基準站的連接主要包括三個接口,第一個接口是將板卡的射頻接頭SMA與高精度天線相連,連接線纜的長度與用戶的基準站架設有關;第二個接口是將板卡的外部串口B與用戶電臺相連;第三個接口是將板卡的USB接口與PC主機相連,通過前端控制臺對基準站進行相關配置,配置的內(nèi)容主要包括基準站坐標輸入和串口設置。
本發(fā)明對整周模糊度的求解算法進行了深度優(yōu)化,使厘米級的實時定位成為可能,并且通過選擇接收頻率為1575.42MHz,波長為19.03cm的L1載波信號,有效地了降低對載波相位測量帶來的誤差。此外,本發(fā)明可進行多徑衛(wèi)星接收,通過高性能的DSP板卡實現(xiàn)原始信號的全速率通過,對衛(wèi)星信息進行信噪分域過濾,欺騙檢測,結(jié)合相關加速器,通過算法的升級和運算環(huán)境的改造,實現(xiàn)了RTK微型化、低成本設備的制造,使應用成本(設備制造、安裝、使用和維護等)僅為現(xiàn)行常規(guī)方案的2%。
附圖說明
下面結(jié)合附圖和具體實施方式對本發(fā)明作進一步的詳細說明。
圖1是本發(fā)明的系統(tǒng)組成結(jié)構(gòu)框圖。
圖2是本發(fā)明產(chǎn)品外觀圖。
圖中:1、外部串口A;2、外部串口B;3、USB接口;4、JTAG調(diào)試口;5、狀態(tài)指示燈。
具體實施方式
如圖1所示,本發(fā)明包括集成在板卡上的前端接收裝置、FPGA相關器(可編程芯片控制模塊)、微處理器;其中,前端接收裝置用來對外部天線接收的衛(wèi)星信號進行濾波,降頻和離散化處理;然后經(jīng)過前端接收裝置數(shù)字化后的衛(wèi)星信號流被發(fā)送到FPGA相關器中,F(xiàn)PGA相關器對衛(wèi)星信號流進行進一步的濾波處理和相關性運算,然后通過串行外設接口SPI(串行外設接口,Serial Peripheral Interface)與其相連接的微處理器可以讀寫和控制FPGA相關器中的模塊,收集解算結(jié)果,并對處理后的衛(wèi)星信號流進行位置/速度/時間的RTK求解。具體設置如下:
前端接收裝置通過外部天線接收衛(wèi)星信號,集成了帶通濾波器、混頻器/振蕩器和三位數(shù)模轉(zhuǎn)換器;前端接收裝置接收的衛(wèi)星信號先由帶通濾波器濾波后,再輸入混頻器/振蕩器,混頻器/振蕩器混頻器把輸入的1575.42MHz的L1載波信號轉(zhuǎn)換到更低的中頻上,來輸出低中頻或零中頻I和Q信號,同時不改變調(diào)制信號的結(jié)構(gòu);其中,三位數(shù)模轉(zhuǎn)換器可以同時為I和Q通道各輸出一個或兩個量化位或者為I通道輸出三個量化位。本實施例選擇低成本和高集成度的MAX2769接收機作為前端接收裝置,MAX2769提供的捕獲靈敏度達-143dB,跟蹤靈敏度達-154dB。由于MAX2769內(nèi)置了配置寄存器,許多配置可以通過串行外設接口SPI的輸入端口對相應的寄存器進行設置,MAX2769的高集成度使其僅需要很少的外圍電路就可以實現(xiàn)完整的低成本的GPS接收機。
本發(fā)明為了保證RTK算法的實時運算,同時接收和處理接收機發(fā)回的多個GPS信號,本發(fā)明的解算由FPGA相關器和微處理器聯(lián)合完成。本發(fā)明的FPGA相關器選擇了賽靈思的Spartan-6FPGA,其構(gòu)建存儲控制器的過程簡單直接。作為賽靈思Spartan FPGA系列的第六代產(chǎn)品,Spartan-6FPGA系列實現(xiàn)了低成本和低功耗以及高性能的平衡,能夠提供更高程度的系統(tǒng)級集成。FPGA相關器集成了采樣存儲器、衛(wèi)星信號獲取頻道、衛(wèi)星信號追蹤頻道和系統(tǒng)計時器,其中衛(wèi)星信號的獲取和追蹤頻道兩個重要頻道用于對前端接收裝置的衛(wèi)星信號流進行進一步的濾波和相關性分析。FPGA相關器通過加載預編程的系統(tǒng)固件,可以作為可編程的模塊開放給微處理器。微處理器可以通過SPI的輸入端口對FPGA相關器進行設置和編程。FPGA相關器給微處理器提供衛(wèi)星信號流的解算結(jié)果,使微處理器可以快速進行位置/速度/時間載波相位差分求解。
本發(fā)明的微處理器由基于ARM的STM32F4處理器組成。STM32F4處理器是ST(意法半導體)公司開發(fā),基于Cortex-M4內(nèi)核的高性能控制器,主頻可達到168MHz。STM32F4接收FPGA相關器輸出的中間運算結(jié)果,并執(zhí)行所有在FPGA相關器上層的運算,包括追蹤回路濾波,導航處理等。STM32F4通過運行上層的Falcon算法,可以輸出實時的載波相位差分位置/速度結(jié)果。為了與Falcon算法的測量頻率對應,STM32F4的RTK刷新率為10Hz。
與單點定位不同,RTK定位設備至少需要一個基準站(接收機)和一個流動站(接收機)。其中,基準站用于接收定點衛(wèi)星信號,并把自身的觀測值,星歷發(fā)送給流動站。流動站通過接收到的衛(wèi)星信號和基準站所發(fā)送的基準站觀測量,對衛(wèi)星信號與基準站觀測量進行對比處理,從而對自己的觀測量進行修正。根據(jù)設計系統(tǒng)結(jié)構(gòu),我們自主開發(fā)了GPS定位信號接收和處理的主板(即板卡),根據(jù)用戶需要,板卡可以被設置成基準站或流動站。如圖2所示,板卡的各串口設置在板卡的外側(cè)邊,與本發(fā)明的組成系統(tǒng)結(jié)構(gòu)對應,板卡的連接模塊主要包括了外部天線,USB接口,JTAG調(diào)試口,外部串口A和外部串口B。
其中,外部天線的輸入是通過一個設置在板卡上的射頻接頭SMA連接器來實現(xiàn)。板卡通過外部天線多徑接收GNSS衛(wèi)星信號。更為具體地,其接收的衛(wèi)星數(shù)為0-10,在徑信數(shù)等于或大于5時進行采信運算,徑信數(shù)小于5時不進行采信運算。外部天線接收到衛(wèi)星信號后,MAX2769前端接收機(其捕獲靈敏度-143dB,跟蹤靈敏度-154dB)對衛(wèi)星信號進行信噪分域過濾,低噪聲放大(增益30dB),在45db域內(nèi)進行采信,過濾信噪較大的信息,為提高運算精度做好基礎。
USB接口用于PC主機和板卡的通信。USB接口的默認配置是作為串行橋連接到微處理器,另外USB接口也可被配置為高速的FIFO接口,把FPGA相關器處理后的信號流輸出給PC主機,高性能的DSP板卡可使衛(wèi)星信號流全速率通過。本發(fā)明板卡上采用的是FTDI公司的F232R USB轉(zhuǎn)串口芯片,通過USB接口,用戶可以在PC主機上對板卡進行設置。此外,USB接口也可以為板卡提供+5V的供電。
外部串口A和B提供高速的3.3V LVTTL電平的異步串行通信口UART(通用異步收發(fā)傳輸器,Universal Asynchronous Receiver/Transmitter)。這兩個外部串口可以被設置為傳輸NMEA-1083衛(wèi)星信號,系統(tǒng)狀態(tài),調(diào)試信息和收發(fā)主機或者其他板卡的信息或指令。當板卡作為基準站時,外部串口A輸出基準站的定位結(jié)果,外部串口B輸出基準站的測量值和星歷。當板卡作為流動站時,外部串口A輸出流動站的差分定位結(jié)果,外部串口B接收基準站的測量值和星歷?;鶞收九c流動站間通過開放、合法、免費的波段(433MHz)進行通信,其傳輸信號編碼基于二進制F-SBP協(xié)議。
基準站的連接主要包括三個接口。第一是將板卡的射頻接頭SMA與外部天線相連,連接線纜的長度與用戶的基準站架設有關,為了保證天線到板卡的信號增益,線纜長度小于20米時使用型號為LMR200的射頻線纜,當線纜長度大于20米并且小于50米時推薦選用型號LMR300的射頻線纜。第二是將板卡的外部串口B與用戶電臺相連。第三是將板卡的USB接口與PC主機相連,通過前端Falcon console(控制臺)來對基準站進行相關配置,配置的內(nèi)容主要包括基準站坐標輸入和串口設置。由于RTK是采用相對定位原理,基準站的位置精度對流動站的差分定位結(jié)果至關重要。為了獲取更高的位置精度,基準站應該被放置在一個觀測條件比較好,上空視野好,周圍無干擾的地方。相應地,流動站連接和配置應與基準站一致。在實際應用中,流動站的外部串口A與用戶設備如無人機的飛行控制器相連。
本發(fā)明的設計原理說明:整周模糊度是載波在傳輸過程中,載波相位與基準相位之間相位差的首觀測值所對應的整周未知數(shù),確定整周模糊度是GPS定位中必須解決的問題。周跳是指在GPS的載波相位測量中,由于衛(wèi)星信號的失鎖而導致的整周計數(shù)的跳變或中斷。整周模糊度和周跳使GPS的基線處理復雜化。在現(xiàn)行的解算方法中,通過衛(wèi)星和觀測站的先驗信息或偽距觀測值可估算其近似值,并在平差計算中解算其最佳估值,使電離層折射效應和多路徑效應等系統(tǒng)性偏差的影響被逐漸削弱以至消除。
GPS定位的精度決定于載波的頻率,GPS接收器和解算算法。一個設計良好的GPS接收機,可使單點定位的精度達到3~8米。因此設計并實現(xiàn)GPS接收機,是提高GPS定位精度的第一步。理論上,單點靜態(tài)定位也可達到厘米級的精度,但是為了確保準確性,觀測時間在一個小時以上。要達到更高的實時定位精度,必須要用新的算法如差分定位(DGPS)和更好的測量技術(shù)。與單點定位不同,RTK通過實時處理兩個測量站載波相位觀測量的差分值,將基準站采集的載波相位發(fā)給移動接收機,來進行求差解算坐標,消去大部分共同誤差?,F(xiàn)行的常用算法是基于一個可靠的差分定位(DGPS)/慣性導航系統(tǒng)(INS)的方法,在DGPS/INS的框架下,所有的非線性量的估算結(jié)果,即通過最大后驗(MAP)估計法得出的算法結(jié)果,是通過考慮所有因素,包括運動,衛(wèi)星軌道,慣性測量單元(IMU)傳感器等可用信息解算出來的。通過GPS和IMU解算整周模糊度帶來的巨大運算量,特別是當為了保證實時性而需要的IMU高采樣率,是實現(xiàn)實時厘米級及其集成化的最大技術(shù)難點。
本發(fā)明的內(nèi)部運行(自命名為Falcon算法)是調(diào)整和優(yōu)化的RTK解算算法。RTK算法的運算量主要來自軌跡的估算為了降低RTK的復雜程度,在運算周期內(nèi),F(xiàn)alcon算法獲取在固定時間段的GPS和IMU測量值,解算整周模糊度和估算移動站軌跡。Falcon算法假設在固定時間段內(nèi),接收機接收多個衛(wèi)星的有效相位測量值沒有時鐘誤差,測量頻率為10Hz。當GPS的測量是線性時不變時,優(yōu)化后的Falcon算法和原算法的解算結(jié)果一致。非線性的邊界誤差和測量時間相關的誤差通過接收機的設計來降低和優(yōu)化。
上述實施方式并非是對本發(fā)明的限制,本發(fā)明也并不僅限于上述舉例,本技術(shù)領域的技術(shù)人員在本發(fā)明的技術(shù)方案范圍內(nèi)所做出的變化、改型、添加或替換,也均屬于本發(fā)明的保護范圍。