夏敬潮,張彥祥,汪善根,曾 秋
(1.廣州大學(xué) 土木工程學(xué)院,廣州 510006;2.東莞市測繪院,東莞 523660)
定位是位置服務(wù)、萬物互聯(lián)、人工智能和未來超智能(機(jī)器人+人類)應(yīng)用的核心技術(shù)之一[1]。以北斗、全球定位系統(tǒng)(Global Positioning System,GPS)為代表的全球?qū)Ш叫l(wèi)星系統(tǒng),已經(jīng)成為人們獲取定位信息的主要技術(shù)手段。現(xiàn)在人類80%~90%的時間是在室內(nèi)環(huán)境中度過的[2],然而在室外復(fù)雜和室內(nèi)封閉環(huán)境下,導(dǎo)航衛(wèi)星信號容易被遮擋或屏蔽,使得其定位服務(wù)的可用性大大降低。如何實現(xiàn)高精度、全覆蓋的定位,是一個亟需解決的問題。
泛在無線信號/機(jī)會信號(Signals of Opportunity,SoOP)指的是非專門用于導(dǎo)航定位的無線電信號[3],較常見的有移動蜂窩信號、無線上網(wǎng)信號(Wireless Fidelity,Wi-Fi)等。隨著無線通信技術(shù)的發(fā)展,以及無線城市、數(shù)字城市的建設(shè),周圍環(huán)境中的泛在無線信號日益豐富,已經(jīng)成為實現(xiàn)室內(nèi)和室外復(fù)雜環(huán)境下定位的一種有效途徑。
泛在無線信號通常自身不具備導(dǎo)航定位功能,在利用這類信號進(jìn)行定位時,用戶需要額外的輔助信息,如Wi-Fi熱點坐標(biāo)、手機(jī)基站位置等。雖然市面上已經(jīng)出現(xiàn)了不少基于泛在無線信號與全球?qū)Ш叫l(wèi)星系統(tǒng)的商用室內(nèi)外定位解決方案,例如Skyhook公司推出的XPS系統(tǒng)、百度地圖、高德地圖等,但是它們之間是相互獨立的,對于泛在無線信號定位所需要的輔助信息,還沒有建立相關(guān)的數(shù)據(jù)格式標(biāo)準(zhǔn),缺少合作開放式的平臺。針對這一問題,本文對泛在無線信號定位所需輔助信息的標(biāo)準(zhǔn)化進(jìn)行了研究,主要分為2個方面內(nèi)容:首先是輔助信息數(shù)據(jù)格式的標(biāo)準(zhǔn)化;其次是數(shù)據(jù)傳輸方式的標(biāo)準(zhǔn)化。
前文已經(jīng)提到,目前用于泛在無線信號定位的輔助信息還沒有標(biāo)準(zhǔn)的數(shù)據(jù)格式,市面上支持泛在無線信號定位的服務(wù)商(例如,Skyhook公司)大多采用自定義的數(shù)據(jù)傳輸格式,并且格式詳細(xì)內(nèi)容是不公開的。相應(yīng)的解決方法有兩種:1)建立新的數(shù)據(jù)格式標(biāo)準(zhǔn);2)將已有的相關(guān)標(biāo)準(zhǔn)進(jìn)行修訂或者擴(kuò)展,使其含蓋輔助信息。本文采取第二種方案,將衛(wèi)星導(dǎo)航定位領(lǐng)域廣泛使用的數(shù)據(jù)格式標(biāo)準(zhǔn)(RTCM SC-104標(biāo)準(zhǔn))進(jìn)行擴(kuò)展,以滿足定位用戶和位置服務(wù)供應(yīng)商的相關(guān)需求。
國際海運事業(yè)無線電技術(shù)委員會(Radio Technical Commission for Maritime services,RTCM)是一個國際標(biāo)準(zhǔn)組織。RTCM特別委員會(Special Commission)104專門致力于衛(wèi)星導(dǎo)航定位差分?jǐn)?shù)據(jù)格式標(biāo)準(zhǔn)的制訂,其發(fā)布的RTCM SC-104標(biāo)準(zhǔn)已成為衛(wèi)星導(dǎo)航定位產(chǎn)業(yè)界內(nèi)廣泛使用的數(shù)據(jù)傳輸標(biāo)準(zhǔn)。
RTCM SC-104標(biāo)準(zhǔn)的版本會隨著衛(wèi)星導(dǎo)航定位技術(shù)的發(fā)展和用戶需求的變化而不斷地更新,目前最新的版本是3.X。數(shù)據(jù)從服務(wù)器傳輸?shù)接脩舳说倪^程中,電文內(nèi)容以幀為單位進(jìn)行播發(fā),3.X版本中的電文幀結(jié)構(gòu)如圖1所示[4]。

圖1 RTCM SC-104標(biāo)準(zhǔn)3.X版本的電文幀結(jié)構(gòu)Fig.1 Frame structure in version 3 of RTCM SC-104 standard
每一幀電文由4個部分組成:電文頭、保留字節(jié)、信息長度、信息內(nèi)容和CRC校驗碼。電文頭用于電文的識別,內(nèi)容固定不變,是一組長度為8bits的二進(jìn)制數(shù),相應(yīng)的值為11010011。保留字節(jié)的內(nèi)容目前也是固定不變的,其長度為6bits,相應(yīng)的值為000000,該值沒有實際意義,在以后的版本中,保留字節(jié)可能會包含數(shù)據(jù)格式標(biāo)準(zhǔn)的版本信息。信息長度指的是其后面數(shù)據(jù)塊信息內(nèi)容所占的字節(jié)(byte)數(shù),其內(nèi)容占10bits,數(shù)據(jù)類型為無符號整數(shù),取值范圍為0~1023bytes。信息內(nèi)容為定位用戶所需要的數(shù)據(jù)內(nèi)容,其大小由前面的信息長度給出,不同的信息通過信息類型號來加以區(qū)分,該值在信息內(nèi)容數(shù)據(jù)塊的開頭給出,是一個12bits的無符號整數(shù)。定位用戶可以根據(jù)所需的定位服務(wù)來決定所接收的信息組合,例如,在進(jìn)行GPS單頻L1的RTK測量時,需要接收以下幾組信息:基準(zhǔn)站觀測值(信息類型為1002)、基準(zhǔn)站坐標(biāo)(信息類型為1005或1006)、基準(zhǔn)站接收機(jī)和天線信息(信息類型號為1033)、輔助操作信息(信息類型號為1013)。CRC校驗碼用于檢驗電文在傳輸?shù)倪^程中是否發(fā)生錯誤,是一組24bits二進(jìn)制數(shù)。3.X版本采用高通公司的循環(huán)冗余校驗(Cyclic Redundancy Check,CRC)算法,服務(wù)器端將準(zhǔn)備發(fā)送的電文通過該算法得到24bits的校驗碼,并附加在電文后。當(dāng)用戶收到電文信息時,將計算出的校驗碼與電文中校驗碼進(jìn)行比對,以決定是否使用該電文中的信息。
由于RTCM SC-104標(biāo)準(zhǔn)不支持泛在無線信號定位相關(guān)的數(shù)據(jù),因此必須對已有的電文類型進(jìn)行擴(kuò)展。RTCM SC-104標(biāo)準(zhǔn)規(guī)定:類型號從4001~4095的信息支持私人定制。截止到3.2版本,類型號從4077~4095的信息已經(jīng)被相關(guān)的公司或者科研機(jī)構(gòu)所申請,例如,類型號為4095的信息包含的是Ashtech公司的數(shù)據(jù),類型號為4077的信息包含的是Hemisphere公司的數(shù)據(jù)。本文以城市環(huán)境下典型的泛在無線信號(移動蜂窩信號和Wi-Fi信號)為例,使用類型號為4060的信息來包含手機(jī)基站坐標(biāo);類型號為4059的信息包含Wi-Fi熱點坐標(biāo);類型號為4058的信息包含室外泛在無線信號指紋;類型號為4057的信息包含室內(nèi)泛在無線信號指紋。需要指出的是,這里所說的擴(kuò)展只增加自定義的信息內(nèi)容,對于信息內(nèi)容之外的其他部分,如每一幀電文中的電文頭、保留字節(jié)、信息長度和CRC校驗碼仍然按照RTCM SC-104標(biāo)準(zhǔn)來進(jìn)行編碼。
1.2.1 手機(jī)基站坐標(biāo)
手機(jī)基站坐標(biāo)信息包含了6個參數(shù):信息類型號、基站識別號、坐標(biāo)參考?xì)v元、協(xié)議地球坐標(biāo)系(Earth Centered Earth Fixed,ECEF)下的X坐標(biāo)、Y坐標(biāo)和Z坐標(biāo),相關(guān)的定義如表1所示。

表1 手機(jī)基站信息中各參數(shù)的定義
注:UINT表示無符號整型;INT表示有符號整型。
信息類型號沿用了RTCM SC-104標(biāo)準(zhǔn)中的信息分類方法,采用12bits無符號整數(shù)來表示。基站識別號采用64bits的無符號整數(shù)來識別不同的基站,每個基站的識別號在全球范圍內(nèi)應(yīng)該是唯一的。坐標(biāo)參考?xì)v元為基站坐標(biāo)值所對應(yīng)的參考?xì)v元,同一基站的坐標(biāo)值隨著時間的流逝可能會發(fā)生變化,因此不同的空間位置信息還應(yīng)該與時間相對應(yīng),此處使用約化儒略日(Modified Julian Date,MJD)來區(qū)分不同的時間歷元,采用32bits的無符號整數(shù)來表示。基站的位置信息以三維空間直角坐標(biāo)的形式給出,在中國范圍內(nèi)采用2000中國大地坐標(biāo)系[5],X、Y和Z值分別用3個38bits的有符號整數(shù)來表示,單位為m,在使用該值時,還需要乘上相應(yīng)的比例因子0.0001。
1.2.2 Wi-Fi熱點坐標(biāo)
Wi-Fi熱點坐標(biāo)信息包含6個參數(shù):信息類型號、Wi-Fi熱點物理地址、坐標(biāo)參考?xì)v元、協(xié)議地球坐標(biāo)系下的X坐標(biāo)、Y坐標(biāo)和Z坐標(biāo),相關(guān)的定義如表2所示。

表2 Wi-Fi熱點坐標(biāo)信息中各參數(shù)的定義
注:UINT表示無符號整型;INT表示有符號整型。
Wi-Fi熱點坐標(biāo)信息十進(jìn)制的類型號為4059,除了Wi-Fi熱點物理地址是采用48bits的無符號整數(shù)表示之外,其他參數(shù)的含義和手機(jī)基站坐標(biāo)信息中對應(yīng)的同名參數(shù)相同,這里不再贅述。
1.2.3 室外指紋
每條指紋信息的內(nèi)容分為兩部分,第一部分稱為數(shù)據(jù)頭,相關(guān)參數(shù)的定義如表3所示。

表3 室外指紋信息中數(shù)據(jù)頭各參數(shù)的定義
注:UINT表示無符號整型;INT表示有符號整型。
室外指紋信息十進(jìn)制的類型號為4058。無線信號類型用來區(qū)分不同類型的無線電信號,它是一個16bits的無符號類型整數(shù),1表示W(wǎng)i-Fi信號,其他無線信號的類型值可以在此基礎(chǔ)上依次增加。指紋采集日期指的是采集指紋記錄的時間,一般來說,受周圍環(huán)境變化的影響,指紋庫每隔一段時間要進(jìn)行更新,更新時間離用戶請求數(shù)據(jù)的時間越接近,定位效果越好。信號強(qiáng)度觀測值個數(shù)N指的是數(shù)據(jù)頭后面的數(shù)據(jù)塊中所包含的信號強(qiáng)度觀測值個數(shù),該值是一個6bits的無符號整數(shù),最大值為63。
第二部分為信號強(qiáng)度觀測值記錄,記錄總數(shù)為N,每條記錄中包含一個信號強(qiáng)度觀測值和相應(yīng)的識別號,各參數(shù)的定義如表4所示。

表4 每條室外信號強(qiáng)度觀測值記錄中各參數(shù)的定義
無線信號源的識別號用來區(qū)分不同的信號發(fā)射源,是一個48bits無符號整數(shù),對于Wi-Fi信號,該值對應(yīng)于Wi-Fi熱點的物理(Media Access Control,MAC)地址。信號強(qiáng)度觀測值是用戶所觀測到的無線信號的強(qiáng)度值,是一個32bits有符號整數(shù),單位為dBm。
1.2.4 室內(nèi)指紋
和室外指紋信息類似,每條室內(nèi)指紋信息也分為數(shù)據(jù)頭和信息強(qiáng)度觀測值記錄2個部分,數(shù)據(jù)頭中各參數(shù)的定義如表5所示。

表5 室內(nèi)指紋信息中數(shù)據(jù)頭各參數(shù)的定義
室內(nèi)指紋信息十進(jìn)制的類型號為4057,與室外指紋信息中的數(shù)據(jù)頭相比,室內(nèi)指紋信息數(shù)據(jù)頭新增加了室內(nèi)指紋庫的總記錄數(shù)和當(dāng)前指紋記錄號這2個參數(shù)。室內(nèi)指紋庫的總記錄數(shù)指的是用戶所在室內(nèi)區(qū)域指紋庫中總的指紋記錄數(shù),是一個32bits無符號整數(shù)。當(dāng)前指紋記錄號是一個32bits無符號整數(shù),指的是當(dāng)前播發(fā)的電文中指紋記錄的編號,例如第一條記錄的編號為1,最后一條記錄的編號應(yīng)該等于室內(nèi)指紋庫的總記錄數(shù)。由于室內(nèi)指紋庫帶有明顯的區(qū)域性,因此新增加的2個參數(shù)可以幫助用戶確定所接收的指紋記錄的總數(shù)是否完整。另外需要指出的是,數(shù)據(jù)頭中的坐標(biāo)值為獨立平面直角系下的坐標(biāo),而不是協(xié)議地球坐標(biāo)系下的坐標(biāo),其他參數(shù)的定義和室外指紋庫中同名參數(shù)相同。
第二部分為信號強(qiáng)度觀測值記錄,總記錄數(shù)為N,每條記錄中各參數(shù)的定義如表6所示。

表6 每條室內(nèi)信號強(qiáng)度觀測值記錄中各參數(shù)的定義
在制定好了輔助信息的數(shù)據(jù)格式后,接下來的問題便是如何將數(shù)據(jù)發(fā)送給用戶。考慮到定位中所使用的泛在無線信號大都支持網(wǎng)絡(luò)通信,而且基于互聯(lián)網(wǎng)的網(wǎng)絡(luò)通信技術(shù)已經(jīng)很成熟,所以本文使用基于互聯(lián)網(wǎng)的網(wǎng)絡(luò)通信來進(jìn)行輔助信息的發(fā)送和接收。
通過互聯(lián)網(wǎng)進(jìn)行RTCM網(wǎng)絡(luò)傳輸?shù)膮f(xié)議(Networked Transport of RTCM via Internet Protocol,NTRIP)是一個基于HTTP的應(yīng)用層協(xié)議,隸屬于TCP/IP協(xié)議簇,主要用于在互聯(lián)網(wǎng)上傳輸RTCM格式的數(shù)據(jù)流,由德國聯(lián)邦測繪局發(fā)起并制定,目前已經(jīng)成為互聯(lián)網(wǎng)上進(jìn)行衛(wèi)星導(dǎo)航定位相關(guān)數(shù)據(jù)傳輸?shù)臉?biāo)準(zhǔn)協(xié)議。
基于NTRIP協(xié)議的數(shù)據(jù)傳輸主要由NtripClient、NtripServer和NtripCaster這3個程序模塊來實現(xiàn),其中NtripCaster作為HTTP服務(wù)器端應(yīng)用程序,NtripServer作為數(shù)據(jù)傳輸程序,負(fù)責(zé)將NtripSource中的數(shù)據(jù)傳輸?shù)絅tripCaster,NtripClient則作為HTTP客戶端應(yīng)用程序。在NtripClient與NtripCaster之間進(jìn)行通信時,采用非持久連接模式,所使用的消息格式和狀態(tài)碼都是基于HTTP 1.1協(xié)議,例如使用消息格式中的“GET”來向服務(wù)器獲取信息,狀態(tài)碼“200”則表示服務(wù)器已經(jīng)成功處理了請求。NtripServer與NtripCaster之間進(jìn)行通信時,則在HTTP 1.1通信協(xié)議的基礎(chǔ)上定義出了一個新的消息格式“SOURCE”和一個新的狀態(tài)碼“ERROR Bad Password”。
一個完整的NTRIP數(shù)據(jù)流傳輸系統(tǒng)由NtripSource、NtripServer、NtripCaster和NtripClient這4個部分組成,它們之間的關(guān)系如圖2所示。

圖2 NTRIP數(shù)據(jù)流傳輸系統(tǒng)示意圖Fig.2 Schematic diagram of NTRIP data stream transmission system
NTRIP中各組成部分的功能和工作流程可以參考文獻(xiàn)[6-8],這里不再贅述。第1節(jié)已經(jīng)提到,通過將消息類型進(jìn)行擴(kuò)展,就可以將泛在無線定位輔助信息納入到RTCM SC-104標(biāo)準(zhǔn)之中,由于NTRIP支持RTCM格式數(shù)據(jù)的網(wǎng)絡(luò)傳輸,因此利用NTRIP就可以直接支持泛在無線定位輔助信息的網(wǎng)絡(luò)傳輸。
用戶在通過互聯(lián)網(wǎng)向NTRIP服務(wù)器請求數(shù)據(jù)時,對于資源列表中NMEA標(biāo)志位為1的數(shù)據(jù)流,需要向服務(wù)器發(fā)送自己的概略位置信息。該信息通過NMEA 0183格式(詳細(xì)說明可考看文獻(xiàn)[9-10])中的$GPGGA語句發(fā)送,概略位置一般通過GNSS偽距單點定位獲得。然而,對于泛在無線信號定位用戶而言,通常是在GNSS定位功能失效的情況下才會向服務(wù)器發(fā)送數(shù)據(jù)請求,以獲得輔助定位信息,然后通過相關(guān)的運算獲得定位結(jié)果,此時用戶向服務(wù)器發(fā)送的信息只能是基站ID、Wi-Fi的MAC地址、上網(wǎng)所使用的IP地址等相關(guān)內(nèi)容,因此現(xiàn)有NMEA 0183格式中的語句不能滿足我們的需要,必需對其進(jìn)行擴(kuò)展。
為了使NMEA 0183包含泛在無線信號相關(guān)的信息,本文在原有標(biāo)準(zhǔn)的基礎(chǔ)上新增了4條語句,相應(yīng)的標(biāo)識符為:$NTIP4、$NTIP6、$CLLID、$WLNID。$NTIP4和$NTIP6語句包含了用戶上網(wǎng)所用的IP地址,其中$NTIP4表示IPv4地址,即IP協(xié)議第四版;$NTIP6表示IPv6地址,即IP協(xié)議第六版。$CLLID語句包含了手機(jī)基站的ID,即Cell-ID。$WLNID語句包含了Wi-Fi熱點MAC地址信息。
NTIP4語句的基本格式為:
$NTIP4,<1>*hh
字段<1>表示用戶上網(wǎng)使用的IPv4地址,例如IP地址為202.103.24.68的$NTIP4語句內(nèi)容為:
$NTIP4,202.103.24.68*3F
$NTIP6語句的基本格式和$NTIP4類似:
$NTIP6,<1>*hh
字段<1>表示用戶上網(wǎng)使用的IPv6地址,例如IP地址為2000∶0000∶0000∶0000∶0001∶2345∶6789∶abcd的$NTIP6語句內(nèi)容為:
$NTIP6,2000∶0000∶0000∶0000∶0001∶2345∶6789∶abcd*24
$CLLID語句的基本格式為:
$CLLID,<1>*hh
字段<1>表示正在為手機(jī)提供通信服務(wù)的基站ID號,該值是一個十進(jìn)制的整數(shù),例如ID號為00860270010001537的$CLLID語句內(nèi)容為:
$CLLID,00860270010001537*58
需要指出的是,$CLLID語句所發(fā)送的ID號碼不是基站的原始ID號,而是在原有ID號基礎(chǔ)上加上區(qū)域信息重新編碼而成。
$WLNID語句的基本格式為:
$WLNID,<1>,<2>,<3>,<4>,…<4>*
hh
各字段的含義如下:
1)為WLNID語句的總數(shù)。
2)為當(dāng)前WLNID語句的編號。
3)為探測到的Wi-Fi熱點總的個數(shù),取值范圍為00~99,前面的0也將被傳輸。
4)為Wi-Fi熱點的MAC地址,由12個十六進(jìn)制的ASCII字符組成。每條語句中最多包含5個熱點的MAC地址,當(dāng)Wi-Fi熱點總數(shù)大于5時,多余的信息將在下一序列的WLNID語句中輸出。
例如當(dāng)前有2個Wi-Fi熱點,MAC地址分別為02∶E1∶40∶00∶01∶E0和28∶2C∶B2∶B0∶9F∶5C,則對應(yīng)的$WLNID語句為:
$WLNID,1,1,02,02E1400001E0,
282CB2B09F5C*00
本文對于泛在無線信號定位輔助信息的標(biāo)準(zhǔn)化研究只是一個開始,無線信號類型只涵蓋了城市環(huán)境下典型的移動蜂窩信號和無線上網(wǎng)Wi-Fi信號;鑒于指紋定位法是目前主流的Wi-Fi定位方法[11-12],Wi-Fi相關(guān)的輔助信息標(biāo)準(zhǔn)的內(nèi)容也以指紋消息為主。隨著泛在無線信號的日益豐富,以及定位技術(shù)的不斷發(fā)展,本文的研究內(nèi)容顯然不能滿足未來的用戶需求。當(dāng)有新類型的無線信號加入到定位系統(tǒng)中時,可以根據(jù)需要繼續(xù)補(bǔ)充和完善擴(kuò)展的RTCM SC-104標(biāo)準(zhǔn)和擴(kuò)展的NMEA 0183語句,使其更好地支持泛在無線信號相關(guān)數(shù)據(jù)的編碼和傳輸。另外,在標(biāo)準(zhǔn)草案提出后,如何作進(jìn)一步的調(diào)整和優(yōu)化,使其通過官方認(rèn)證,并且成為學(xué)術(shù)界和工業(yè)界廣泛認(rèn)同和使用的標(biāo)準(zhǔn),也是一個需要考慮的問題。
參考文獻(xiàn)
[1] 陳銳志,陳亮.基于智能手機(jī)的室內(nèi)定位技術(shù)的發(fā)展現(xiàn)狀和挑戰(zhàn)[J].測繪學(xué)報,2017,46(10):1316-1326.
[2] 朱欣焰,周成虎,咼維,等.全息位置地圖概念內(nèi)涵及其關(guān)鍵技術(shù)初探[J].武漢大學(xué)學(xué)報(信息科學(xué)版),2015,40(3):285-295.
[3] 田輝,夏林元,莫志明,等.泛在無線信號輔助的室內(nèi)外無縫定位方法與關(guān)鍵技術(shù)[J].武漢大學(xué)學(xué)報(信息科學(xué)版),2009,34(11):1372-1376.
[4] RTCM special committee No. 104.RTCM standard 10403.1 for differential GNSS services-version 3[R].Arlington:Radio Technical Commission for Maritime Services,2006.
[5] 魏子卿.2000中國大地坐標(biāo)系及其與WGS84的比較[J].大地測量與地球動力學(xué),2008, 28(5):1-5.
[6] 楊汀.網(wǎng)絡(luò)RTK定位精度影響因子與GNSS數(shù)據(jù)網(wǎng)絡(luò)傳輸研究[D].北京:中國礦業(yè)大學(xué),2010.
[7] 劉科,聶桂根,范嘆奇,等.基于Ntrip協(xié)議的差分?jǐn)?shù)據(jù)實時傳輸平臺及定位研究[J].測繪信息與工程,2009,34(1):7-9.
[8] 李成鋼.網(wǎng)絡(luò)GPS/VRS系統(tǒng)高精度差分改正信息生成與發(fā)布研究[D].成都:西南交通大學(xué),2007.
[9] National Marine Electronics Association.NMEA 0183 standard for interfacing marine electronic devices version 3.01[R].Maryland:National Marine Electronics Association,2002.
[10] 劉賦山,郭承軍,賈振東.一種新的NMEA0183協(xié)議解析方法實現(xiàn)[J].全球定位系統(tǒng),2017,42(1):70-73.
[11] Yuan Y,Pei L,Xu C,et al.Efficient WiFi fingerprint training using semi-supervised learning[C]// Ubiquitous Positioning Indoor Navigation and Location Based Service (UPINLBS).IEEE,2014:148-155.
[12] 裴凌,劉東輝,錢久超.室內(nèi)定位技術(shù)與應(yīng)用綜述[J].導(dǎo)航定位與授時,2017,4(3):1-10.