蔡靖宇,陳伏州,沈飛,李明峰
(1.南京工業(yè)大學(xué) 測繪科學(xué)與技術(shù)學(xué)院,南京 211816;2.江蘇北斗衛(wèi)星應(yīng)用產(chǎn)業(yè)研究院有限公司,南京 210032)
?
國產(chǎn)GNSS板卡定位性能測試方法研究
蔡靖宇1,陳伏州2,沈飛2,李明峰1
(1.南京工業(yè)大學(xué) 測繪科學(xué)與技術(shù)學(xué)院,南京 211816;2.江蘇北斗衛(wèi)星應(yīng)用產(chǎn)業(yè)研究院有限公司,南京 210032)
本文研究了國產(chǎn)GNSS接收機板卡與計算機間的串口通信技術(shù),探討了板卡NMEA0183協(xié)議解析步驟,提出了基于定位精度、穩(wěn)定性和冷熱啟動效率等指標的板卡定位性能判別方法,基于Matlab編程測試了司南K500板卡的定位性能,得出了有益的結(jié)論。
GNSS接收機板卡;串口通信;NMEA0183;性能測試
GNSS接收機板卡作為定位產(chǎn)業(yè)鏈中的核心部件,集成了產(chǎn)業(yè)鏈中各種中間產(chǎn)品及技術(shù),在產(chǎn)業(yè)鏈中處于非常重要的地位。由于GPS衛(wèi)星定位導(dǎo)航起步早、發(fā)展比較成熟,Trimble、Leica等國外板卡在高精度領(lǐng)域占有絕對優(yōu)勢,技術(shù)壟斷且價格昂貴。目前,北斗導(dǎo)航定位及授時業(yè)務(wù)已覆蓋亞太地區(qū)。為突破高精度核心板卡技術(shù),我國一大批企業(yè)進軍集成北斗、GPS和GLONASS三星系統(tǒng)的GNSS高精度板卡研發(fā)制造領(lǐng)域,國產(chǎn)GNSS板卡迎來了一個快速發(fā)展期。
隨著國產(chǎn)GNSS板卡的快速發(fā)展,市場上國產(chǎn)GNSS板卡定位精度及穩(wěn)定性良莠不齊。對于定位終端產(chǎn)品生產(chǎn)商或位置服務(wù)應(yīng)用商而言,確定GNSS板卡性能優(yōu)劣和選擇合適自身需求的板卡都具有極其重要的意義。盡管GNSS板卡品牌各異,但板卡數(shù)據(jù)格式都遵循NMEA0183標準協(xié)議。因此,本文基于目前流行的國產(chǎn)司南板卡,在闡述板卡串口通信及NMEA0183協(xié)議的基礎(chǔ)上,比較兩種串口通信方式的優(yōu)缺點,解析0183協(xié)議并提取有效定位數(shù)據(jù),研究GNSS板卡定位性能評判指標和成本低、效率高的評判技術(shù)方法。
1.1板卡串口通信
測試GNSS接收機板卡定位性能的前提是通過有效方法獲取定位數(shù)據(jù),串口通信則是解決接收機板卡與計算機數(shù)據(jù)交換的常用方法。該方法是通過數(shù)據(jù)線連接板卡與計算機,按字節(jié)進行數(shù)據(jù)傳輸,其本質(zhì)是作為CPU與板卡的編碼轉(zhuǎn)換器[1]。每臺計算機至少配備一個標準的串行端口RS-232,它是計算機與設(shè)備的數(shù)據(jù)傳輸通道。在板卡和計算機的數(shù)據(jù)傳輸過程中,只要板卡一直處于正常工作的狀態(tài),就會不斷地將接收并解算出的導(dǎo)航定位信息通過 RS-232 串口傳輸?shù)接嬎銠C中。
1.2串口通信方式與流程
利用計算機實現(xiàn)與板卡間的串口通信方式主要有兩種:
1) WindowsAPI函數(shù)法:利用Windows提供的全部API動態(tài)鏈接函數(shù)進行串口通信,不用對硬件直接進行操作,并通過VC、VB和Delphi等語言進行調(diào)用,具體過程包括打開串口、關(guān)閉串口、讀取、寫入等操作;
2) MSComm控件法:利用VB與VC++等.NET平臺下提供的串口通信控件MSComm,通過編寫程序?qū)崿F(xiàn)GNSS板卡與計算機間的實時通信[2]。
方法一使用較為復(fù)雜的API 函數(shù),需顧及多線程的影響,編寫的程序不但龐大,且結(jié)構(gòu)比較復(fù)雜,繼承性差,維護困難,程序運行效率較低;方法二的MSComm是Microsoft公司提供的簡化Windows下串行通行編程的Active X控件,通過串行口傳輸與接收數(shù)據(jù),為應(yīng)用程序提供串行通信功能,該控件在串口編程時效率較高。
因此,本文采用效率較高的MSComm控件法實現(xiàn)板卡與計算機間的串口通信,MSComm控件串口通信基本流程圖如圖1所示。
圖1 MSComm控件串口通信編程流程圖
2.1NMEA0183協(xié)議簡介
NMEA0183是由美國國家海洋電子協(xié)會制定的一套通信協(xié)議[3],現(xiàn)在已經(jīng)作為一種廣泛使用的行業(yè)標準。
NMEA0183協(xié)議定義了一系列語句,通常采用ASCII碼格式。協(xié)議語句主要包括:$GPGGA、$GPGSA、$GPRMC、$GPGSV以及$GPGLL等;以$GPGGA為例,格式如下:
$GPGGA<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>*hh
該數(shù)據(jù)主要由幀頭、幀尾、幀內(nèi)數(shù)據(jù)組成,每幀數(shù)據(jù)均以回車符(
2.2NMEA0183協(xié)議解析
為測試板卡性能,需正確解析NMEA0183協(xié)議的ASCII碼格式幀數(shù)據(jù),獲取有效定位信息。因此,應(yīng)在明確各語句結(jié)構(gòu)的基礎(chǔ)上,通過程序接收緩存字節(jié)流中的完整語句[5],從語句中解析出字段信息。
解析幀數(shù)據(jù)時通過幀頭識別幀內(nèi)數(shù)據(jù)的結(jié)構(gòu),如$GPGGA使用“$”判斷是否為幀頭,依據(jù)“$”后的GPGGA、GPRMC確定該行對應(yīng)定位信息。在分離所需信息時,應(yīng)根據(jù)分隔符“,”提取各字段,以字符串?dāng)?shù)組的形式返回各字段數(shù)據(jù),<1>,<2>,<3>,<4>,…對應(yīng)各字段。
衡量GNSS板卡性能的指標有跟蹤靈敏度、捕獲靈敏度、定位精度、定位穩(wěn)定性、冷熱啟動效率等[6]。其中,定位精度是衡量板卡性能最重要的指標,穩(wěn)定性及冷熱啟動效率等指標的測試無需借助其他設(shè)備且環(huán)境要求較寬松,這四項指標基本體現(xiàn)了板卡的性能。因此,本文研究基于定位精度、定位穩(wěn)定性、冷熱啟動效率等指標,判斷板卡性能的優(yōu)劣。
3.1定位精度
定位精度是板卡獲取的定位信息與其真實位置的接近程度。定位精度包括內(nèi)符合精度和外符合精度。內(nèi)符合精度是指板卡多次測量對比較差,外符合精度則是與該點準確坐標較差。測試定位精度需要經(jīng)緯度和時間信息,該信息可通過NMEA0183下的$GPRMC提取,該幀的結(jié)構(gòu)如下:$GPRMC<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>*hh
<1>為當(dāng)前格林尼治時間(UTC),格式為mmss;<2>是狀態(tài)字,A表示定位成功,V表示當(dāng)前未成功定位;<3>為緯度,格式為ddmm.mmmm;<4>是緯度的屬性,南半球為S,北半球為N;<5>為經(jīng)度,格式為ddmm.mmmm;<6>是經(jīng)度的屬性,東半球為E,西半球為W;<7>為天線移動速度,000.0~999.9節(jié);<8>是相對地面方向,000.0°~359.90°;<9>為當(dāng)前日期(UTC時間),格式為ddm;<10>為磁偏角,000.0°~180.00°;<11>是磁偏方向,用E or W表示;<*>校驗和標志;
通過<2>判斷是否有效定位,有效定位后提取<3>、<4>、<9>作為經(jīng)緯度坐標及對應(yīng)時間。
GNSS板卡獲取的數(shù)據(jù)是WGS-84坐標系下的經(jīng)緯度坐標(B,L),一般以平面精度衡量定位精度。因此,需確認當(dāng)?shù)刂醒胱游缇€經(jīng)度,依據(jù)高斯3°或6°帶投影將定位點投影到平面上,獲取兩點的平面坐標(x,y),通過matlab中的std函數(shù)求解(x,y)定位中誤差[7],并結(jié)合殘差圖像分析定位精度。
采用司南K500國產(chǎn)板卡進行測試。K500是司南導(dǎo)航自主研發(fā)的三系統(tǒng)單頻OEM板卡,采集其偽距差分狀態(tài)下的測試數(shù)據(jù),接收10 min總計600個點的定位數(shù)據(jù),測試定位精度及定位穩(wěn)定性指標。
測試點的準確坐標已知,通過解析NMEA0183協(xié)議、使用matlab中std函數(shù)求得σx為0.57 m,σy為0.49 m,定位精度殘差圖如圖2所示。板卡設(shè)計技術(shù)指標中說明水平方向偽距差分精度為1 m,求得的σx、σy均滿足1 m要求,且從圖像中可觀察水平方向殘差絕大部分位于1 m以內(nèi),定位精度符合設(shè)計指標。
圖2 司南K500板卡定位殘差
3.2定位穩(wěn)定性
定位穩(wěn)定性是指定誤差位于指定范圍內(nèi)的概率。提取出定位數(shù)據(jù)后,可利用matlab中的capaplot概率密度函數(shù)確定板卡定位誤差位于米級、亞米級和毫米級之間的概率。
為更加直觀地判斷K500板卡是否適用于亞米級精度的應(yīng)用,使用capaplot函數(shù)求出上述定位誤差在1 m內(nèi)的概率,圖3分別示出了x、y方向亞米精度概率分布圖,求得x、y方向誤差1 m內(nèi)的概率Px為0.92,Py為0.95,可知Px與Py均大于90%,板卡定位穩(wěn)定性較高,滿足亞米級定位要求,可應(yīng)用于車道級導(dǎo)航等高精度應(yīng)用上。
圖3 x和y方向亞米級精度概率分布
3.3冷啟動效率
冷啟動效率是指板卡在星歷、歷書、時間和位置未知,即在沒有任何數(shù)據(jù)保存的情況下,直接加電測試到能夠獲取有效定位數(shù)據(jù)的首次定位時間。冷啟動過程較慢,這是衡量板卡定位能力的重要指標之一。本文從協(xié)議字段判斷和圖像分析的角度,提出了以下兩種方式分析板卡冷啟動效率:
1) 字段判別法:利用$GPRMC中的<2>判斷當(dāng)前狀態(tài)是否為有效定位。板卡剛啟動時處于無效定位,即<2>=V.從啟動開始計時,當(dāng)<2>=A時計算所需時間,該時間即為冷啟動時間。
2) 圖像法:利用matlab畫出經(jīng)度或緯度隨時間波動圖像。冷啟動時無法有效定位,經(jīng)緯度波動幅度較大。待有效定位時,經(jīng)緯度波動幅度變小且趨于穩(wěn)定,通過圖像直觀判斷冷啟動時間。
接收約3 min共200個點的K500板卡冷啟動測試數(shù)據(jù),測試板卡冷啟動性能指標。
冷啟動狀態(tài)下,結(jié)合字段判別法可通過matlab批量解析$GPRMC中<2>字段求得首次定位時間為44 s,如表1所示。表中063432、063516均為UTC時間,063432含義為6時34分32秒,063516含義為6時35分16秒。
表1 冷啟動定位時間
依據(jù)圖像法可通過緯度隨時間波動圖像如圖4所示判斷冷啟動效率,易發(fā)現(xiàn)40 s前緯度波動幅度較大,40 s后波動幅度較小即獲得有效定位。
圖4定位緯度值隨時間波動
板卡設(shè)計技術(shù)指標中說明冷啟動時間<60 s,上述兩種方法實測的冷啟動時間均滿足要求。
大量試驗證明,字段判別法在絕大部分情況下比較準確,能得出精確的冷啟動時間,但若遇信號問題,GPRMC中<2>字段值不準確,可能出現(xiàn)所需啟動時間的誤判;圖像法只能大致判斷冷啟動所需時間,但不能精確至秒,但其表示的緯度變化形象直觀,板卡正常定位后也對應(yīng)著緯度數(shù)據(jù)振幅范圍逐漸變小,故出現(xiàn)誤判的可能性較小。
3.4熱啟動效率
熱啟動是在長期開機的情況下復(fù)位產(chǎn)品,熱啟動效率即復(fù)位后重新定位的時間。熱啟動所需時間相對冷啟動要短很多,上述冷啟動效率中提出的圖像法不再適用于熱啟動,借助經(jīng)緯度隨時間波動圖像無法準確分析熱效率效率,利用$GPRMC中的<2>字段是判斷熱啟動效率的最佳方法。
接收約3 min共200個點的K500板卡熱啟動測試數(shù)據(jù),測試板卡熱啟動性能指標。
表2 熱啟動定位時間
使用matlab批量解析測試數(shù)據(jù)中$GPRMC中<2>字段求得首次定位時間為2 s,如表2所示。板卡設(shè)計技術(shù)指標中熱啟動時間<5 s,可知實測的熱啟動時間滿足要求。
本文在解析串口和分析NMEA0183協(xié)議的基礎(chǔ)上,基于定位精度、定位穩(wěn)定性和冷熱啟動效率等四個性能指標,提出了成本低、效率高的GNSS板卡性能評判技術(shù)方法,結(jié)合對司南K500板卡的性能測試,論述了板卡測試步驟,論證了該方法的便捷性和有效性。
[1]張超,范娟利,章傳銀,等. 不同格式ASCII數(shù)據(jù)流解析方法研究[J]. 全球定位系統(tǒng),2014,39(1):56-60.
[2]袁德寶,崔希民,臧永強,等. 基于VC++的GPS-OEM板串行通信關(guān)鍵算法的設(shè)計與實現(xiàn)[J]. 測繪科學(xué),2008(6):170-172.
[3]張智剛,羅錫文,胡煉,等. 4種DGPS模塊動態(tài)定位精度測試與分析[J]. 華南農(nóng)業(yè)大學(xué)學(xué)報,2010(1):102-107.
[4]陳桂珍. 利用MATLAB實現(xiàn)GPS OEM板與計算機的通訊及信息處理[J]. 鹽城工學(xué)院學(xué)報(自然科學(xué)版),2006(1):32-35.
[5]孫鵬,高金耀,張濤. 利用MATLAB實時處理GPS數(shù)據(jù)[J]. 東海海洋,2004(1):20-27.
[6]張國慶,張顯庫. 實船數(shù)據(jù)處理建模及仿真系統(tǒng)[J]. 中國造船,2011(3):52-58.
[7]郝強. 衛(wèi)星導(dǎo)航仿真測試系統(tǒng)的數(shù)據(jù)仿真與處理[D].太原:中北大學(xué),2015.
Testing of the Positioning Performance of Domestic GNSS Board
CAI Jingyu1,CHEN Fuzhou2,SHEN Fei2,LI Mingfeng1
(1.CollgeofGeomaticsScienceandTechnology,NanjingTechnologyUniversity,Nanjing211816,China;2.JiangSuBDSApplicationIndustryInstitute,Nanjing210032,China)
The serial port communication between the domestic GNSS board and the computer is studied and NMEA-0183 protocol for GNSS board is analyzed in this paper.With the positioning performance indexes of GNSS board introduced, the accuracyof positioning, the stability of positioning, the hot efficiency and the cold starting efficiency are selected to test the positioning performance of GNSS board and the testing methods are suggested.Through experiments based on the Sinan K500 board, some useful conclusionsare made.
GNSS board; serial portcommunication; NMEA0183; function testing
2015-02-20
南京市科技發(fā)展計劃項目(編號:2014sc331065)
P228.4
A
1008-9268(2016)03-0039-05
蔡靖宇(1992-),男,碩士生,主要從事衛(wèi)星導(dǎo)航定位及其應(yīng)用方面研究。
陳伏州(1963-),男,研究員,主要從事通信技術(shù)及導(dǎo)航定位研究。
沈飛(1980-),男,博士,高級工程師,主要從事北斗衛(wèi)星導(dǎo)航技術(shù)應(yīng)用。
李明峰(1964-),男,教授,博導(dǎo),主要從事精密工程測量和變形監(jiān)測研究。
doi:10.13442/j.gnss.1008-9268.2016.03.009
聯(lián)系人: 蔡靖宇 E-mail: caijingyu2015@163.com