您好, 歡迎來到智能制造網(wǎng)! 登錄| 免費(fèi)注冊| 產(chǎn)品展廳| 收藏商鋪|
當(dāng)前位置:北京北斗聯(lián)星科技有限公司>>技術(shù)文章>>淺析差分GPS的算法及數(shù)據(jù)格式
何 怡1,李揚(yáng)繼2
(1. 中國西南電子技術(shù)研究所,四川 成都 610036; 2. 四川大學(xué) 電子信息學(xué)院,四川 成都 610064)
摘 要:簡要介紹了GPS 25XL的星歷數(shù)據(jù)及位置數(shù)據(jù)遵從的標(biāo)準(zhǔn),詳述了差分GPS技術(shù)在消除電離層、對流層誤差方面的算法,同時(shí)對RTCM SC-104電文格式進(jìn)行了分析,并在此基礎(chǔ)上給出了構(gòu)造RTCM SC-104格式差分?jǐn)?shù)據(jù)的方法,為相應(yīng)產(chǎn)品的開發(fā)提供了有益的經(jīng)驗(yàn)。
關(guān)鍵詞:定位系統(tǒng);差分GPS;RTCM SC-104;算法;數(shù)據(jù)格式
Analysis of the Algorithm and Data Format of DGPS
HE Yi1, LI Yang-ji2
(1. Southwest China Institute of Electronic Technology,Chengdu 610036,China; 2. Electronic Information College, Sichuan University, Chengdu 610064,China)
Abstract: The standard that star _calendar data and position data of GPS 25XL obey is introduced, and the Difference GPS(DGPS) algorithm on smoothing the error from the influence of ionosphere and troposphere is explicated. Based on analysis of the format of RTCM SC-104 egram,the method of constructing the difference data of RTCM SC-104 format is given.This work offers beneficial reference for the development of corresponding products.
Keywords: GPS;DGPS;RTCM SC-104; Algorithm; Data format
一、引言
GPS利用zui簡單的C/A碼定位,精度可達(dá)到14m;利用P碼定位,精度可達(dá)到3m。美國政府曾經(jīng)采取SA(Selective Availability)政策,人為地將誤差引入衛(wèi)星時(shí)鐘和衛(wèi)星數(shù)據(jù)中,極大地限制了定位技術(shù)的應(yīng)用。現(xiàn)在美國根據(jù)形勢對全部衛(wèi)星取消了SA政策,這使差分GPS(DGPS)的精度有了更大提高,但修正速率因不受SA的影響而放慢。因此,即使取消了SA政策,DGPS仍然具有很高的利用價(jià)值,是重要的導(dǎo)航定位產(chǎn)品之一。
商用的差分GPS設(shè)備已經(jīng)投入使用,其用戶設(shè)備采用雙工傳輸?shù)拇蠭/O通用通信接口,并采用通用的RTCM SC-104電文格式。分析差分?jǐn)?shù)據(jù)電文格式有助于我們利用RTCM格式的差分改正信號,修正定位誤差。
本文將詳細(xì)介紹差分GPS算法和通用的GPS差分?jǐn)?shù)據(jù)格式RTCM SC-104。
二、相關(guān)的數(shù)據(jù)格式遵從的標(biāo)準(zhǔn)
在下面將要介紹的算法中,許多參數(shù)都來自GPS的星歷數(shù)據(jù)和位置數(shù)據(jù)。在本文列出的參考資料中,可以方便地查閱這兩種數(shù)據(jù)格式,所以這里不再贅述,只簡要介紹一下它們遵從的標(biāo)準(zhǔn)。
星歷數(shù)據(jù)和位置數(shù)據(jù)結(jié)構(gòu)中有很多參數(shù)是float型和double型的,它們都遵從IEEE-754標(biāo)準(zhǔn)。
三、DGPS算法介紹
GPS定位是利用一組衛(wèi)星的偽距、星歷、衛(wèi)星發(fā)射時(shí)間等觀測量和用戶鐘差來實(shí)現(xiàn)的。要獲得地面的三維坐標(biāo),必須對至少4顆衛(wèi)星進(jìn)行測量。在這一定位過程中,存在3部分誤差:
*部分誤差是由衛(wèi)星鐘誤差、星歷誤差、電離層誤差、對流層誤差等引起的;
第二部分是由傳播延遲導(dǎo)致的誤差;
第三部分為各用戶接收機(jī)固有的誤差,由內(nèi)部噪聲、通道延遲、多徑效應(yīng)等原因造成。
利用差分技術(shù),*部分誤差可以*消除;第二部分誤差大部分可以消除,消除程度主要取決于基準(zhǔn)接收機(jī)和用戶接收機(jī)的距離;第三部分誤差則無法消除。
下面,我們主要介紹消除由于電離層延遲和對流層延遲引起的誤差的算法。在算法中使用的時(shí)間系統(tǒng)為GPS時(shí),坐標(biāo)系統(tǒng)為WGS-84坐標(biāo)系。
1消除電離層誤差的算法
我們主要通過電離層網(wǎng)格延遲算法來獲得實(shí)際的電離層延遲值,以消除電離層誤差。具體過程如下:解算星歷,得出衛(wèi)星位置→求電離層穿透點(diǎn)位置→求對應(yīng)網(wǎng)格點(diǎn)→求網(wǎng)格4個(gè)頂點(diǎn)的電離層延遲改正數(shù)→內(nèi)插獲得穿透點(diǎn)垂直延遲改正數(shù)→求穿透點(diǎn)的實(shí)際延遲值。
?。?)衛(wèi)星位置的計(jì)算
解算出星歷數(shù)據(jù)后,加入星歷修正和差分信息,便可計(jì)算出衛(wèi)星位置。
從GPS OEM板接收到的是二進(jìn)制編碼的星歷數(shù)據(jù)流,必須按照本文前面部分列出的數(shù)據(jù)結(jié)構(gòu)解算星歷數(shù)據(jù),再依據(jù)IEEE-754標(biāo)準(zhǔn)將其轉(zhuǎn)換為十進(jìn)制編碼的數(shù)據(jù)。在這里,需要解算的參數(shù)有:軌道長半軸的平方根(sqrta)、平近點(diǎn)角改正(dn)、星歷表基準(zhǔn)時(shí)間(toe)、toe時(shí)的平近點(diǎn)角(m0)、偏心率(e)、近地點(diǎn)角距(w)、衛(wèi)星軌道攝動修正參數(shù)(cus cuc cis ciccrs crc)、軌道傾角(i0)、升交點(diǎn)赤經(jīng)(omg0)、升交點(diǎn)赤經(jīng)變化率(odot)。
另外,在衛(wèi)星位置的計(jì)算中,需要一些常量參數(shù),下面一并列出:WGS-84橢球長半軸(a=6378137.0 m),WGS-84橢球扁率(f=1/298.257223563)、地球自轉(zhuǎn)角速度(we=7.292115×10-5rad/s),地球引力常數(shù)(GM=3.986005×1 014m3/s2)。
下面列出衛(wèi)星位置的具體解算過程:
1)計(jì)算衛(wèi)星運(yùn)行的平均角速度:先計(jì)算圓軌道的平均角速度,由于GPS衛(wèi)星軌道實(shí)際為微橢球形,所以應(yīng)在計(jì)算的原軌道的平均角速率上加一個(gè)修正量;
2)計(jì)算歸化時(shí)刻:tk=t-toe。tk為相對于星歷基準(zhǔn)時(shí)間的歸化時(shí)刻。應(yīng)考慮一個(gè)星期(604 800 s)的開始或結(jié)束,當(dāng)tk>302 400 s,應(yīng)減去604 800 s;tk<-302 400 s,應(yīng)加上604 800 s;
3)計(jì)算觀測時(shí)刻的平近點(diǎn)角Mk:Mk=m0+n·tk;
4)計(jì)算偏近點(diǎn)角Ek:利用開普勒方程迭代方式計(jì)算,電文中已給出基準(zhǔn)時(shí)刻的平近點(diǎn)角m0,并在3)中求得Mk,Ek=Mk+e·sinEk (均以弧度計(jì))。
迭代計(jì)算:取E0=Mk,Ei+1=Mk+e·sinEi,代入計(jì)算,當(dāng)|Ei+1-Ei|<ε=10-12時(shí)停止迭代;
5)計(jì)算衛(wèi)星矢徑rk:rk=a·(1-e·cosEk);
6)計(jì)算衛(wèi)星真近點(diǎn)角Vk:Vk=
7)計(jì)算升交點(diǎn)角距Φk:Φk=Vk+ω(ω為電文中的近地點(diǎn)角距);
8)計(jì)算攝動改正項(xiàng)δu、δr、δi:
9)計(jì)算經(jīng)過攝動改正的升交距角Uk、衛(wèi)星矢徑rk和軌道傾角ik:
11)計(jì)算觀測時(shí)刻的升交點(diǎn)經(jīng)度Ωk:Ωk=Ω-GAST。其中:Ω為升交點(diǎn)赤經(jīng)、春分點(diǎn)、升交點(diǎn)角距;GAST為格林尼治視恒星時(shí)、春分點(diǎn)、格林尼治起始子午線角距。升交點(diǎn)赤經(jīng):Ω=Ωoe-Ωtk。
衛(wèi)星電文提供一個(gè)星期的開始時(shí)刻tk(星期六午夜/星期日子夜的交換時(shí)刻)的格林尼治視恒星時(shí)GASTw,由于地球自轉(zhuǎn),GAST不斷增加,其增值率為地球自轉(zhuǎn)速率we。
12)計(jì)算衛(wèi)星在地心坐標(biāo)系中的位置。軌道平面直角坐標(biāo)系轉(zhuǎn)換為地心坐標(biāo)系:沿地心升交點(diǎn)(X軸)旋轉(zhuǎn)ik角,沿Z軸旋轉(zhuǎn)Ωk角(依照右手定則為:-ik、-Ωk)。經(jīng)由旋轉(zhuǎn)矩陣二次變換:
?。?)電離層改正數(shù)的計(jì)算
在已經(jīng)求得衛(wèi)星位置的前提下,根據(jù)衛(wèi)星的坐標(biāo)和GPS輸出的用戶概略位置可以求得電離層穿透點(diǎn)的位置,從廣域差分廣播數(shù)據(jù)中查找其所在的網(wǎng)格點(diǎn),獲得對應(yīng)網(wǎng)格4個(gè)頂點(diǎn)的電離層垂直延遲改正數(shù),然后內(nèi)插獲得電離層穿透點(diǎn)垂直延遲改正數(shù),并利用垂直延遲改正數(shù)來求得電離層穿透點(diǎn)實(shí)際延遲的改正數(shù)。
1)計(jì)算用戶電離層穿透點(diǎn)的概略位置:需要求得用戶仰角E和衛(wèi)星相對用戶方位角Au(λ,φ分別表示經(jīng)度、緯度)。
衛(wèi)星、用戶、地心構(gòu)成一個(gè)三角形ΔSUO,如圖1所示。
2)用戶電離層穿透點(diǎn)垂直延遲改正值的獲得。
在已經(jīng)求得用戶電離層穿透點(diǎn)概略位置的情況下,查找網(wǎng)格點(diǎn),獲得用戶所在的網(wǎng)格以及網(wǎng)格4個(gè)頂
確定用戶所在網(wǎng)格的方法非常簡單,只要在給出的數(shù)據(jù)流中查找同時(shí)滿足條件(1)和(2)的網(wǎng)格頂點(diǎn)即可:
穿透點(diǎn)垂直延遲值因4個(gè)網(wǎng)格頂點(diǎn)的排列順序的不同而不同,從而影響zui終的定位精度,所以確定網(wǎng)格頂點(diǎn)的順序至關(guān)重要。假設(shè)已經(jīng)獲得的網(wǎng)格4個(gè)頂點(diǎn)的經(jīng)度、緯度、垂直延遲值分別為(φ1,λ1,
我們使用內(nèi)插的方法求得用戶電離層穿透點(diǎn)的垂直延遲值,內(nèi)插公式為
4個(gè)網(wǎng)格點(diǎn)的經(jīng)、緯度,而Δλ=λIPP-λ1,Δφ=φIPP
3)求得用戶電離層穿透點(diǎn)實(shí)際延遲改正值。傾斜因子:
2消除對流層誤差的算法
這里選取改進(jìn)的Hopfield模型對對流層進(jìn)行修正:
已知用戶概率位置:經(jīng)度L,緯度B,高度h。
海平面標(biāo)準(zhǔn)氣象元素:t0=18℃,P0=1013.25mbar,H0=50%。
用戶的氣象元素計(jì)算如下(將用戶的氣象元素近似為用戶位置的函數(shù)):
分別計(jì)算干、濕分量折射改正量:
rdry、rwet分別表示測站到傳播路徑與干濕折射指數(shù)趨于零的邊界之交點(diǎn)的距離(m),其計(jì)算公式為
其中i為dry、wet,E為衛(wèi)星高度仰角,r0為用戶地心向徑,單位為米。
四、DGPS數(shù)據(jù)格式(RTCM SC-104格式)分析
1RTCM SC-104格式的電文編碼
RTCM電文是由二進(jìn)制編碼的數(shù)據(jù)流組成,每一組由N+2個(gè)30 bit的字碼組成,每個(gè)字碼分解為5個(gè)6 bit的字節(jié),這樣可允許在標(biāo)準(zhǔn)計(jì)算機(jī)UART間串行傳送。如果所用的UART提供8 bit,則數(shù)據(jù)的zui高位(MSB)和次高位僅僅作為填充位,固定填為為“0”和“1”,是無效數(shù)據(jù)。MSB標(biāo)為d1,LSB標(biāo)為d30。每個(gè)字碼的第五個(gè)字節(jié)(d25~d30)為奇偶校驗(yàn)碼,用于檢驗(yàn)本字碼的RTCM數(shù)據(jù)。前一組RTCMzui后一個(gè)字碼的低兩位(d29和d30),標(biāo)記為d29*和d30*,用于產(chǎn)生本組*字碼的奇偶校驗(yàn)碼。奇偶校驗(yàn)碼遵從(32,26)漢明碼檢錯準(zhǔn)則,漢明校驗(yàn)矩陣為H,校驗(yàn)公式為:S6×1=H6×24⊕M24×1,式中M24×1為電文中每個(gè)字碼的前24位信息位。由于衛(wèi)星電文的子幀長為30 bit,為了滿足字長和信息位(24 bit)的要求,將(32,26)漢明碼縮短,去掉兩位信息位構(gòu)成(32,24)縮短碼。這種縮短碼的糾錯能力和zui小距離與原碼相同。
RTCM電文結(jié)構(gòu)包含2個(gè)字頭和N個(gè)數(shù)據(jù)字。下面詳細(xì)介紹電文結(jié)構(gòu):
RTCM SC-104電文結(jié)構(gòu):
第1字碼:
第2字碼:
第3字碼:
其中:
第1字碼:
引導(dǎo)字:固定填入01100110
基臺識別:固定填入1111111111
第2字碼:
修正Z計(jì)數(shù)=(星期的GPS時(shí)間%3600)/0.6
序號:從001開始計(jì)數(shù)
幀長:該幀電文數(shù)據(jù)的字節(jié)數(shù)
從第3個(gè)字碼起:
填入衛(wèi)星信息數(shù)據(jù)(比例因子——1位,UDRE——2位,衛(wèi)星識別——5位,偽距改正數(shù)——16位,偽距變化率改正值——8位,衛(wèi)星發(fā)布日期——8位),每填入24位之后對這些數(shù)據(jù)進(jìn)行奇偶校驗(yàn),奇偶校驗(yàn)碼是6位,每30位(24位數(shù)據(jù)+6位奇偶校驗(yàn)碼)便組成1個(gè)字碼。
比例因子:填0或1;
衛(wèi)星識別:衛(wèi)星號,若解讀的是星歷中第32顆衛(wèi)星的數(shù)據(jù),則將衛(wèi)星識別置0;否則,將星歷數(shù)據(jù)中的衛(wèi)星號svid加1;
偽距改正數(shù):按照一定的數(shù)學(xué)模型解算出;
數(shù)據(jù)發(fā)布日期:選取當(dāng)前日期。
zui后一個(gè)字碼:若此字碼的數(shù)據(jù)信息不足24位,則用填充位“1010…”補(bǔ)足24位。
RTCM電文中每個(gè)字碼奇偶校驗(yàn)位的zui低位(d30*)決定是否對下一字碼的前四個(gè)字節(jié)取補(bǔ)碼(第五個(gè)字節(jié)不能取補(bǔ)碼)。若d30*為1,則取補(bǔ)碼,否則取原碼。
電文格式采用6/8進(jìn)行數(shù)據(jù)傳輸。bit7設(shè)置為1,bit8設(shè)置為0。由于UART為約定的非同步通訊,首先發(fā)送或接收LSB。所以,每一個(gè)字節(jié)在發(fā)送前先要完成“滾動”,這在效果上保持了RTCM電文的邏輯序列。因此,在發(fā)送媒介中MSB優(yōu)先。所謂“滾動”,就是d1和d6、d2和d5、d3和d4進(jìn)行互換(僅滾動數(shù)據(jù)位,bit7、bit8不參與滾動)。
根據(jù)上面的分析可知:63<byte<128(byte為電文字碼中的字節(jié)),每個(gè)字節(jié)的低6位是有效數(shù)據(jù)。
2獲得GPS差分?jǐn)?shù)據(jù)的流程
?。?)將計(jì)算數(shù)據(jù)轉(zhuǎn)換為二進(jìn)制,按照格式填入字碼中;
?。?)進(jìn)行奇偶校驗(yàn);
?。?)若需要,字節(jié)取補(bǔ)碼(奇偶校驗(yàn)位不能取補(bǔ)碼);
?。?)進(jìn)行字節(jié)滾動(bit7、bit8不參與滾動)。
五、結(jié)束語
本文論述了差分GPS的原理和應(yīng)用,并提出了構(gòu)造RTCM SC-104 格式差分?jǐn)?shù)據(jù)的方法。為了擴(kuò)展差分GPS的用途領(lǐng)域,對具體的算法和性能還需要進(jìn)行深入研究。
請輸入賬號
請輸入密碼
請輸驗(yàn)證碼
以上信息由企業(yè)自行提供,信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性由相關(guān)企業(yè)負(fù)責(zé),智能制造網(wǎng)對此不承擔(dān)任何保證責(zé)任。
溫馨提示:為規(guī)避購買風(fēng)險(xiǎn),建議您在購買產(chǎn)品前務(wù)必確認(rèn)供應(yīng)商資質(zhì)及產(chǎn)品質(zhì)量。