《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > RTCM數(shù)據(jù)采集及解碼器設(shè)計(jì)與實(shí)現(xiàn)
RTCM數(shù)據(jù)采集及解碼器設(shè)計(jì)與實(shí)現(xiàn)
胡 輝,葉鑫華
華東交通大學(xué) 信息工程學(xué)院,江西 南昌 330013
摘要: 基于華測(cè)X60 RTK接收機(jī),針對(duì)Windows開(kāi)發(fā)環(huán)境廣泛使用,采用VC++的MSCOMM控件開(kāi)發(fā)了RTCM數(shù)據(jù)采集及解碼器。本軟件能夠動(dòng)態(tài)顯示RTCM導(dǎo)航電文1、2、3、9等各相關(guān)參數(shù),動(dòng)態(tài)存儲(chǔ)RTCM二進(jìn)制原始語(yǔ)句及其解碼結(jié)果文件,為下一步研制差分基準(zhǔn)站、DGPS接收機(jī)提供了數(shù)據(jù)源和基礎(chǔ)。
Abstract:
Key words :

摘 要:基于華測(cè)X60 RTK接收機(jī),針對(duì)Windows開(kāi)發(fā)環(huán)境廣泛使用,采用VC++的MSCOMM控件開(kāi)發(fā)了RTCM數(shù)據(jù)采集解碼器。本軟件能夠動(dòng)態(tài)顯示RTCM導(dǎo)航電文1、2、3、9等各相關(guān)參數(shù),動(dòng)態(tài)存儲(chǔ)RTCM二進(jìn)制原始語(yǔ)句及其解碼結(jié)果文件,為下一步研制差分基準(zhǔn)站、DGPS接收機(jī)提供了數(shù)據(jù)源和基礎(chǔ)。
關(guān)鍵詞:GPS;RTCM;數(shù)據(jù)采集;解碼

  GPS是美國(guó)國(guó)防部的第2代衛(wèi)星導(dǎo)航系統(tǒng)。該系統(tǒng)由GPS衛(wèi)星星座、地面監(jiān)控系統(tǒng)和GPS信號(hào)接收機(jī)3部分組成,能提供全球覆蓋、全天候、全天時(shí)連續(xù)定位、導(dǎo)航和授時(shí)服務(wù)。我國(guó)雖有多個(gè)科研院所從事GPS相關(guān)產(chǎn)品的開(kāi)發(fā),但其研究對(duì)象主要集中在動(dòng)態(tài)較低的民用領(lǐng)域,而且精度一般不高,在17 m左右[1]。
 美國(guó)政府于2000年5月1日取消了SA干擾,此后電離層誤差成為GPS最主要的定位誤差源[2],對(duì)GPS數(shù)據(jù)進(jìn)行差分處理是提高GPS處理精度的有效途徑,差分GPS接收機(jī)是消除電離層誤差的有效手段,這是本文的研究背景。
  本文基于X60 RTK接收機(jī),采用VC開(kāi)發(fā)環(huán)境,開(kāi)發(fā)了RTCM解碼軟件,為下一步進(jìn)行高精度差分定位解算算法研究和DGPS接收機(jī)研制工作提供基礎(chǔ)。
1 RTCM SC-104導(dǎo)航電文簡(jiǎn)介
  RTCM SC-104是商用DGPS接收機(jī)的通用數(shù)據(jù)格式,該格式與ICD-GPS-200規(guī)定的GPS導(dǎo)航電文的字格式、奇偶校驗(yàn)規(guī)則相同,不同在于GPS電文中各子幀長(zhǎng)度是固定的,而RTCM SC-104電文長(zhǎng)度是可變的。RTCM電文結(jié)構(gòu)包括2個(gè)字頭,后接n個(gè)數(shù)據(jù)字,每字長(zhǎng)為30 bit,具體格式參見(jiàn)文獻(xiàn)[3]。RTCM SC-104共包括21類(lèi)63種電文。偽距差分電文主要有1、2、3,有時(shí)也用到電文9。
1.1電文1
  電文1是RTCM電文中最基本的電文,向用戶(hù)提供偽距改正數(shù)及其變化率,其內(nèi)容格式如表1所示。

  其中,S為比例因子,是標(biāo)識(shí)偽距改正數(shù)PRC和偽距改正數(shù)變化率RRC的比例尺度;U表示用戶(hù)測(cè)距誤差,有4種編碼,每種編碼代表不同的用戶(hù)測(cè)距誤差;衛(wèi)星ID 號(hào)指衛(wèi)星的編號(hào);PRC指?jìng)尉喔恼龜?shù);RRC指?jìng)尉喔恼龜?shù)變化率,都是用來(lái)修正誤差的,具體含義參見(jiàn)文獻(xiàn)[4-5]。
  IOD是改正數(shù)的數(shù)據(jù)齡期,與GPS中IOD意義相同。如RTCM電文IOD與GPS星歷中IOD不相匹配,則不能直接使用該組改正數(shù),因此IOD是保證差分定位的關(guān)鍵,以確保用戶(hù)使用的導(dǎo)航電文與基準(zhǔn)站使用的導(dǎo)航電文相同。
1.2 電文2
  電文2的格式和電文1完全相同, 包含了衛(wèi)星導(dǎo)航參數(shù)的變化所導(dǎo)致的偽距變率及偽距變率的改變量。如果用戶(hù)站未能解譯出新的星歷,而此時(shí)基準(zhǔn)站已采用了新的星歷,則兩站所用的星歷不一樣,此時(shí)基準(zhǔn)站必須同時(shí)播發(fā)電文1和電文 2,防止定位結(jié)果產(chǎn)生較大誤差。
1.3 電文3
  電文3是GPS參考站參數(shù),用于發(fā)送基準(zhǔn)站在 WGS-84 坐標(biāo)系中的坐標(biāo)信息 ( ECEFX, ECEFY, ECEFZ),各占32 bit,給定的坐標(biāo)精度至少到cm級(jí)。該項(xiàng)電文由 32×3/ 24 = 4 個(gè)字組成, 按順序發(fā)送基準(zhǔn)站坐標(biāo)的3個(gè)參數(shù),每個(gè)字最后6位是奇偶校驗(yàn)位。
  電文9用于GPS部分衛(wèi)星組差分改正,其格式與電文1完全相同。
2  RTCM電文解碼方案設(shè)計(jì)
2.1 VC++平臺(tái)簡(jiǎn)介
  本軟件主要基于VC++平臺(tái)實(shí)現(xiàn),電文的接收用到了VC++中的MSCOMM控件。MSCOMM控件提供了2種處理通信的方式:事件驅(qū)動(dòng)方式和查詢(xún)方式。事件驅(qū)動(dòng)方式相當(dāng)于一般程序設(shè)計(jì)中的中斷方式。當(dāng)串口發(fā)生事件或錯(cuò)誤時(shí),MSCOMM控件會(huì)產(chǎn)生OnComm事件,用戶(hù)程序可以捕獲該事件進(jìn)行相應(yīng)處理。本文的例子均采用該方式。
2.2 RTCM電文解碼方案[6]
  根據(jù)RTCM的編碼規(guī)則設(shè)計(jì)解碼方案,解碼過(guò)程可利用電文字頭中的先導(dǎo)字01100110進(jìn)行同步,主要有如下5個(gè)步驟。
   (1)字節(jié)掃描。傳輸數(shù)據(jù)時(shí),通常采用“6/8”格式的方式。每8 bit數(shù)據(jù)中僅低6 bit是有效位,第7位為標(biāo)志位“1”,第8位為空格“0”。接收到的數(shù)據(jù)必須先取低6位,然后判斷這低6位是不是在64和127之間,如果不是則丟棄這個(gè)數(shù)據(jù)。
  (2)字節(jié)滾動(dòng)。由于GPS設(shè)備多數(shù)采用美國(guó)國(guó)家標(biāo)準(zhǔn)化研究所制定的ANSI X3.16和X3.15型標(biāo)準(zhǔn)接口,故連接到計(jì)算機(jī)標(biāo)準(zhǔn)串口RS-232上的時(shí)候需要進(jìn)行“字節(jié)滾動(dòng)”。
  (3)取補(bǔ)碼。當(dāng)前一個(gè)碼字最后一個(gè)比特D30*為1時(shí),必須對(duì)當(dāng)前這個(gè)字碼的前4個(gè)字節(jié)取補(bǔ)碼;如果D30*為0,則保持不變。奇偶校驗(yàn)位則不必取補(bǔ)碼。
  (4)找引導(dǎo)字。尋找RTCM通用電文引導(dǎo)字(01100110或10011001),進(jìn)行奇偶校驗(yàn),通過(guò)同步完成,否則繼續(xù)找引導(dǎo)字。
  (5)電文解碼。根據(jù)幀長(zhǎng)度,按相應(yīng)電文格式解碼,主要包括比例因子、用戶(hù)測(cè)距誤差、衛(wèi)星號(hào)、PRC等參數(shù)。
  具體解碼流程圖如圖1所示。

3 RTCM數(shù)據(jù)采集及解碼器實(shí)現(xiàn)
3.1 RTCM數(shù)據(jù)采集及解碼器介紹
  本系統(tǒng)基于Windows操作系統(tǒng),利用VC++編程實(shí)現(xiàn)RTCM導(dǎo)航電文解碼,它既能從差分基準(zhǔn)站接收數(shù)據(jù),又能從數(shù)據(jù)文件讀取數(shù)據(jù),原始數(shù)據(jù)和解碼結(jié)果將被顯示及存儲(chǔ),解碼結(jié)果包括各顆衛(wèi)星所包含的參數(shù)。
3.2 RTCM數(shù)據(jù)采集及解碼器實(shí)現(xiàn)
  圖2為數(shù)據(jù)解調(diào)子界面,主要有接收回顯窗和解碼顯示窗2部分,其中接收回顯窗顯示各模塊原始數(shù)據(jù),解碼顯示窗顯示解碼結(jié)果。

3.3 關(guān)鍵代碼介紹
  程序的關(guān)鍵在于對(duì)接收到的差分?jǐn)?shù)據(jù)解碼,根據(jù)2.2節(jié)的解碼方案設(shè)計(jì),以電文1為例,程序關(guān)鍵代碼如下:
   for( i=0;i<N-10;i++)                //找引導(dǎo)字
    { 
       int dxj=b[i]*4+(b[i+1]-bitshift2(b[i+1],4))/16;
       if(dxj==102||pow(2,8)-1-dxj==102) //找到引導(dǎo)字
         {  type=getbit(b[i+1],1,4)*4+getbit(b[i+2],5,6);                //電文類(lèi)型
       if(bitshift2(b[i+4],1)==1)
                   //如D30*等于1,則對(duì)后面4個(gè)字節(jié)取補(bǔ)碼
       {…….}               
             else {i=i+5;}
                              //如果D30*不等于1,則不做任何處理
  zt=(b[i]*pow(2,7)+b[i+1]*2+(b[i+2]-bitshift2(b[i+2],5))/32)*0.6;            // z計(jì)數(shù)
      xuhao=getbit(b[i+2],3,5);          //序號(hào)
            changdu=getbit(b[i+2],1,2)*8+getbit(b[i+3],4,6);   //幀長(zhǎng)
            health=getbit(b[i+3],1,3);                      //健康度
               int d1=i+5;
              if(type==1||type==62)            //如果是電文1
              {   int cc=0;
                  while(1)                    
                                                         //計(jì)算電文1除頭碼之外的長(zhǎng)度cc
                           { … }                                     
              while(i+5<10+cc-1)                 //5個(gè)字碼(3顆衛(wèi)星所有參數(shù))循環(huán)一次
              {  
              ……      //判斷是否取補(bǔ)碼,解比例因子、用戶(hù)測(cè)距誤差、衛(wèi)星號(hào)、PRC
               k=k+3;       //每解完3顆衛(wèi)星的信息便循環(huán)一次
                            } 
               }                                           //if type=1
    }                         //if  找到引導(dǎo)字
   if (d2==1)  break;              // 如果到了電文結(jié)尾,則結(jié)束
   }                                                //for
4 結(jié)果分析
  整個(gè)軟件測(cè)試工作是在華東交通大學(xué)信息工程學(xué)院的2樓信息技術(shù)研究所進(jìn)行,時(shí)間為2008年4月14號(hào)10:22:32。實(shí)驗(yàn)平臺(tái)基于X60差分GPS接收機(jī)進(jìn)行,接收天線安裝在信息學(xué)院樓頂。解碼結(jié)果如表2~表4所示。

  將以上誤差數(shù)據(jù)對(duì)自行研制接收機(jī)輸出結(jié)果進(jìn)行修正,結(jié)果如圖3所示。

  由圖3中結(jié)果可看出,其海拔高度的定位誤差在1 m內(nèi),經(jīng)度、緯度定位誤差分別在10-6度和10-7度,比單頻偽距GPS接收機(jī)的定位精度好。通過(guò)利用基準(zhǔn)站進(jìn)行差分?jǐn)?shù)據(jù)傳送進(jìn)行的定位結(jié)果可以達(dá)到1 m左右定位精度,結(jié)果進(jìn)一步證明了解碼方法及結(jié)果的正確性。
  本文基于X60試驗(yàn)平臺(tái),開(kāi)發(fā)了RTCM SC-104導(dǎo)航電文數(shù)據(jù)采集及解碼器。本軟件再加上其他相關(guān)軟件可進(jìn)行差分基站設(shè)計(jì),可充分利用PC編程資源進(jìn)行開(kāi)發(fā)工作。該算法在自行研制的GPS接收機(jī)上運(yùn)行,已獲得了較好的定位精度,為下一步進(jìn)行實(shí)時(shí)DGPS接收機(jī)研制提供了基礎(chǔ)。
參考文獻(xiàn)
[1] 胡輝.高動(dòng)態(tài)數(shù)字化GPS接收機(jī)的研制[R]. 哈爾濱:哈爾濱工業(yè)大學(xué),2002.
[2] 高山,陳武,胡叢偉,等.高精度GPS定位的精密電離層模型[J].Transactions of Nanjing University of Aeronautics & Astronautics,2005,22(2):107-113.
[3] KAPLAN E D, HEGARTY C J. GPS原理與應(yīng)用(第2版)[M].  寇艷紅,譯.北京:電子工業(yè)出版社,2007.
[4] 何怡,李揚(yáng)繼.淺析差分GPS的算法及數(shù)據(jù)格式[J].電訊技術(shù), 2004,(3):111-115.
[5] 李良,張小超,趙化平.GPS差分RTCM數(shù)據(jù)實(shí)時(shí)編碼解碼算法及實(shí)現(xiàn)[J].計(jì)算機(jī)工程與應(yīng)用,2006,(11):209-211.
[6] 史峰.基于虛擬參考站技術(shù)和PDA平臺(tái)的GPS移動(dòng)定位系統(tǒng)[D].上海:同濟(jì)大學(xué), 2007.
 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲精品一区二区在线| 午夜精品久久久久久99热| 国产精品人人做人人爽| 欧美久久精品午夜青青大伊人| 亚洲精品人人| 在线观看日韩精品| 国产婷婷精品| 国产欧美日韩一区二区三区在线观看 | 99精品久久| 亚洲精品一区二区三区樱花| 亚洲欧洲精品一区二区三区不卡 | 国产亚洲福利社区一区| 国产精品视频精品| 国产精品久久久久毛片软件| 国产精品国产三级国产普通话99| 欧美日韩在线亚洲一区蜜芽| 欧美日韩国产小视频在线观看| 欧美精品久久99| 欧美国产亚洲另类动漫| 欧美精品一区二区三区蜜臀| 欧美日韩国产专区| 国产精品v欧美精品∨日韩| 国产精品99一区二区| 国产精品久久久久婷婷| 国产精品一区三区| 国产一区二区三区精品欧美日韩一区二区三区 | 亚洲一区二区免费| 亚洲欧美日韩国产中文| 亚洲女同精品视频| 久久国产精品第一页| 亚洲高清精品中出| 日韩小视频在线观看专区| 一区二区三区高清不卡| 午夜精品在线观看| 久久久久久尹人网香蕉| 六月婷婷一区| 欧美日韩成人免费| 国产精品视频1区| 国产一区二区三区不卡在线观看| 在线观看视频免费一区二区三区| 亚洲激情网址| 亚洲视频中文字幕| 欧美亚洲日本国产| 最新日韩在线| 一本久道久久综合婷婷鲸鱼| 午夜精品视频在线观看| 久久久蜜臀国产一区二区| 欧美高清视频| 国产精品久久久久久久久久免费看| 国产日本亚洲高清| 亚洲经典在线| 亚洲男人的天堂在线观看| 亚洲大片在线| 亚洲无吗在线| 久久国产手机看片| 欧美v日韩v国产v| 欧美系列精品| 伊人久久婷婷| 在线综合视频| 亚洲福利一区| 亚洲一区综合| 久久亚洲精品伦理| 欧美日韩中文在线观看| 国产丝袜一区二区| 亚洲精品国产精品国自产观看| 亚洲男同1069视频| 99精品视频免费全部在线| 午夜亚洲福利在线老司机| 欧美成人国产一区二区| 国产精品推荐精品| 在线观看精品一区| 亚洲欧美区自拍先锋| 亚洲精品国产欧美| 欧美亚洲三级| 欧美精品久久久久a| 国产一区视频在线看| 日韩视频不卡中文| 91久久国产综合久久| 亚洲影音先锋| 欧美亚洲一级| 午夜精品视频在线观看| 欧美啪啪一区| 影音先锋日韩资源| 午夜精品视频一区| 亚洲一区二区在线播放| 免费成人小视频| 国产日韩欧美视频在线| 一区二区三区精品视频| 亚洲精品黄色| 久久久久.com| 国产嫩草一区二区三区在线观看| 亚洲精品乱码久久久久久久久 | 亚洲欧美制服另类日韩| 欧美国产日本高清在线| 韩国三级在线一区| 亚洲欧美激情一区二区| 中文日韩在线| 欧美精品一区二区三区在线看午夜 | 性久久久久久久久| 亚洲一级一区| 欧美美女操人视频| 亚洲国产第一| 亚洲成色www8888| 欧美影院久久久| 国产精品久久久久久久久久免费| 99re国产精品| 日韩一区二区福利| 欧美成人精品一区二区| 影音先锋日韩资源| 久久精品五月| 久久综合国产精品台湾中文娱乐网| 国产麻豆精品theporn| 这里只有精品丝袜| 亚洲深夜影院| 欧美日韩网站| 99v久久综合狠狠综合久久| 亚洲另类自拍| 欧美精品一区在线播放| 最新国产成人av网站网址麻豆| 亚洲人被黑人高潮完整版| 久久综合一区| 在线电影国产精品| 亚洲片在线观看| 欧美精品一区二区三区高清aⅴ| 亚洲欧洲综合| 在线亚洲精品| 欧美日韩综合久久| 亚洲校园激情| 欧美一级视频免费在线观看| 国产精品亚洲产品| 性欧美18~19sex高清播放| 久久成人在线| 黄色影院成人| 91久久精品国产91久久性色| 你懂的视频一区二区| 91久久午夜| 一区二区三区色| 国产精品久久久久久久久久久久久久| 亚洲一区二区三区在线播放| 欧美一二三视频| 国内精品久久久久国产盗摄免费观看完整版 | 久久久亚洲午夜电影| 韩国三级在线一区| 亚洲国产日韩一区| 欧美精品综合| 亚洲社区在线观看| 欧美专区福利在线| 激情欧美丁香| 日韩午夜电影在线观看| 欧美日韩国产免费观看| 亚洲一二三区在线| 久久精品国产99| 18成人免费观看视频| 夜夜狂射影院欧美极品| 欧美性久久久| 欧美制服丝袜第一页| 欧美电影专区| 在线视频欧美日韩| 久久久久高清| 亚洲精品看片| 久久成人18免费观看| 在线观看日韩av电影| 中日韩男男gay无套| 国产女精品视频网站免费 | 亚洲区一区二区三区| 欧美日韩一级片在线观看| 亚洲欧美日韩一区二区三区在线| 久久只精品国产| 一区二区91| 久久影视三级福利片| 日韩午夜在线视频| 久久国产精品久久国产精品 | 日韩视频在线观看国产| 久久精品72免费观看| 亚洲黄色在线观看| 亚洲欧美中文字幕| 在线日本欧美| 亚洲免费视频一区二区| 激情av一区二区| 亚洲综合不卡| 亚洲国产精品久久人人爱蜜臀| 亚洲欧美日韩精品在线| 伊人久久噜噜噜躁狠狠躁| 亚洲资源av| 在线看欧美视频| 午夜精品久久久久久久男人的天堂| 黄色成人小视频| 亚洲一区欧美二区| 1000部国产精品成人观看| 校园春色综合网| 亚洲精品欧美极品| 久久亚洲精品欧美| 亚洲自拍高清| 欧美日韩精品免费观看视一区二区| 欧美一区二区三区婷婷月色| 欧美日韩在线视频一区二区| 91久久精品国产91久久性色| 国产欧美日韩麻豆91| 国产婷婷97碰碰久久人人蜜臀| 久久久久久穴|