GPS差分协议RTCM电文分析与应用
差分GPS系统有什么作用?(上)

Nov2012Satelliteclassroom卫星课堂图1 GPS系统导航和定位要求差分GPS系统有什么作用?(上)第十三讲一 背景不同的导航和定位应用对定位精度的要求是完全不同的。
对于开阔空间的导航,如开阔海域的水面舰艇以及商用货轮的导航,以及从航线、航路到非精密进近阶段的飞机导航,数十米的水平精度就已经足够了。
但是,许多重要的应用对定位精度有更高的要求。
在能见度很差的情况下,船舶进出港口和机场地面车辆道路引导要求达到米级的水平定位精度,飞机精密进近要求米级的垂直定位精度。
国际民航组织在其《航空GNSS完好性监测系统》(ICAO GNSSSARPs)草案第七版规定,民航客机利用GPS定位数据实现初始进近(非精密进近)时,GPS水平定位精度应不劣于220m,对垂直定位精度没有要求;I类精密进近时,GPS水平定位精度应不劣于16m,垂直定位精度应不劣于7.7m;而民航客机盲降(CAT III)时,要求GPS水平定位精度不劣于6m,垂直定位精度应不劣于2m。
还有一些特殊行业应用需要更高的定位精度,例+ 刘天雄050Copyright©博看网. All Rights Reserved.Satellite& Network如,水库或水电站的大坝由于水负荷的重压而产生变形,危及坝体的安全,需要对大坝外观变形进行连续而精密的监测,监测精度要求为亚毫米级。
滑坡是指在一定环境中斜坡岩土在重力作用下,由于内外因素的影响,使其沿着坡体内一个或几个软弱面(带)发生剪切下滑现象。
对水库、山区高速公路、铁路等附近区域滑坡体的三维变形实时监测,规避山体滑坡造成的民众人身安全风险十分必要,监测精度要求为毫米级。
如此高的定位精度要求仅仅单独靠GPS系统是无法实现的。
大地测量、航空和航海等GPS系统高端用户对定位精度和导航信号完好性要求如图1所示。
如何进一步提高GPS导航和定位的精度呢?要解决这个问题,就要先了解差分GPS。
GPS协议详解

GPS协议详解协议名称:GPS协议详解一、引言GPS(全球定位系统)是一种通过卫星定位技术来确定地理位置的系统。
本协议旨在详细解释GPS协议的相关内容,包括GPS的工作原理、数据格式、通信协议等。
二、GPS工作原理GPS系统由一组卫星、地面控制站和用户设备组成。
卫星发射GPS信号,地面控制站负责监控卫星状态和校准卫星时钟,用户设备接收卫星信号并计算位置。
三、GPS数据格式1. NMEA 0183NMEA 0183是一种常用的GPS数据格式,包括多种语句类型,如GGA(全球定位系统定位数据)、RMC(推荐最小定位数据)等。
每一个语句都以"$"开头,以回车换行符结束。
2. RTCMRTCM(无线电技术委员会)是一种用于差分GPS(DGPS)的数据格式。
它提供了更精确的位置信息,适合于需要更高精度的应用。
四、GPS通信协议1. NMEA 0183协议NMEA 0183协议规定了GPS设备与其他设备之间的通信格式和协议。
它定义了数据的语句类型、字段和校验等内容,使得不同设备之间可以互相通信和交换数据。
2. RTCM协议RTCM协议用于差分GPS,它定义了差分数据的格式和传输方式。
差分GPS 通过接收基准站和卫星信号,计算出误差并传输给用户设备,从而提供更高的定位精度。
五、GPS协议应用1. 车载导航系统GPS协议在车载导航系统中起到关键作用,通过接收卫星信号并解析GPS数据格式,车载导航系统可以准确计算车辆位置并提供导航指引。
2. 航空导航系统GPS协议在航空导航系统中也得到广泛应用。
飞行员可以通过GPS设备获取飞机的准确位置、速度和航向等信息,从而实现精确导航和飞行控制。
3. 船舶导航系统GPS协议在船舶导航系统中用于确定船只的位置和航向,匡助船舶进行导航、航行和定位。
六、GPS协议安全性GPS协议在数据传输和接收过程中存在一定的安全性风险,可能会受到干扰和攻击。
为了提高GPS协议的安全性,需要采取适当的安全措施,如加密数据、验证数据完整性等。
GPS差分协议RTCM电文分析与应用_刘智敏

第24卷 第2期 桂林工学院学报 Vol.24No.2 2004年4月 JOURNAL OF GUILIN INS TITUTE OF TEC HNOLOGY Apr 2004文章编号:1006-544X(2004)02-0188-04GPS差分协议RTCM电文分析与应用刘智敏1,2,林文介1,唐卫明2(1 桂林工学院土木工程系,广西桂林 541004;2 武汉大学GPS工程技术研究中心,湖北武汉 430079)摘 要:通过对R TCM电文内容的分析,就应用中R TCM电文的编码方法和存在的问题进行了探讨,根据DGPS所需要达到的区域范围、环境状况以及经济承受力,选择DGP S差分电文R TCM的发送方式;采用奇偶校验码进行校验,以确保所接收电文的正确性;进行字节滚动,以保持R TCM电文的逻辑序列.关键词:DGP S;R TC M;数据格式中图分类号:P228 4;TN919 3 文献标识码:A y差分GPS系统(Differential GPS,简称DGPS)由基准站、数据链和用户3部分组成:基准站的主要功能是获得差分改正数或得到原始观测值;数据链的作用是将基准站的数据信息以某种标准差分协议传输给用户.因此GPS差分协议和差分电文算法是差分GPS系统必须考虑的两个关键性问题.国际海运事业无线电技术委员会(Radio Tech nical Commission for Maritime Services,简称R TC M)于1983年11月为全球推广应用差分GPS业务设立了RTC M SC-104专门委员会,以便论证用于提供差分GPS业务的各种方法,并制定了标准差分协议.它是最早使用的一种国际通用格式,可以用于伪距差分和实时动态GPS(Real Time Kinematic GPS,简称RTK GPS).1994年1月正式公布Ver 2 1版本,增加了与载波相位差分技术相关的电文18~21,以后又不断有新的版本出现[1-4].新版本提高了差分改正数的抗差性能,增大了可用信息量,提高了定位精度.伪距差分的精度由原来版本的8~10m提高到1m左右,载波相位差分可达到c m级精度.1 实时差分GPS定位模型根据差分GPS工作原理,DGPS可分为4类,包括位置差分、伪距差分、广域差分和载波相位差分.伪距差分是在m级精度要求下使用最广的一种技术,几乎所有的商用差分GPS接收机均采用了这种技术.实时差分定位系统中,基准站的坐标精确已知,可以算出星站之间的真实几何距离 j i,基准站的GPS接收机测量出所有可视卫星的伪距 j i,同时收集全部卫星的星历,从而得到观测值的改正数[1]j i(t)= j i(t)- j i(t);(1) j i=(X j s-X i)2+(Y j s-Y i)2+(Z j s-Z i)2;(2) j i(t)= j i(t)+c t i(t)-c t j(t)+ j i I g(t)+ j i T(t).(3)其中:基准站的WGS-84坐标为(X i,Y i,Z i),由星历计算出所有观测到的卫星在信号发射时刻的WGS-84坐标(X j s,Y j s,Z j s); t i(t)为接收机钟差; t j(t)为卫星钟差; j i Ig(t)为电离层折射影响; j i T(t)为对流层折射影响,c为光速.通过数据链将基准站的差分信号传输至用户站,用户站接收、解调后送入用户接收机进行解码和计算.将基准站的改正数作为伪距修正量,以改正用户接收机相应的同步伪距观测量,这里忽略对不同观测站伪距观测量的不同影响,以及不同接收机钟差的变化,近似得y收稿日期:2003-11-18基金项目:广西自然科学基金资助项目(0339072)作者简介:刘智敏(1975-),女,博士研究生,讲师,研究方向:GPS原理、算法及应用.j i(t)= j i(t)- j i(t).(4)应用C/A码得到定位精度,在距离基准站50 ~100km范围内可达m级.随着用户与基准站的距离的增大,与空间相关的误差相关性减小,流动站的定位精度随之迅速降低.2 RTCM SC-104电文内容分析RTC M差分协议由二进制编码的数据流组成.每种电文帧长为(N+2)个字,每个字由30bit 构成,分解为5个6bit的字节,其中电文头2个字称为通用电文,电文信息包含在N个字中,N 随电文类型不同而不同,同类电文可能由于卫星的个数不同也不相同.第25~30位构成字节5,字节5为奇偶校验码,用于检验接收到的电文信息.在DGPS中常用到的电文类型,以RTC M的Ver2 2版本为例示于表1.表1 Ver2 2中的几种常用RTCM电文类型Table1 Several types of R TC M codes(Ver2 2)电文类型目前状况名 称1固定GPS伪距改正2固定GPS伪距改正的变化量3固定GPS参考站参数RTC M电文中,每种电文的电文头格式和内容完全相同.8个bit的引导字固定为01100110,供用户搜索同步使用,必须通过第1和第2个字的奇偶校验,才能确认该引导字是否正确.帧识别是确定电文的类型.基准站识别给出基准站的序号名称.修正Z计数是时间计数,是电文参数的参考时间,范围仅有1h,用户可根据流动站的时间确定Z计数对应的准确GPS时,与GPS电文的Z 计数不同之处是将其分辨率从6s提高到了0 6s.序号是按下一帧第2个字码逐一增加,帧长是表示接收到的电文的长度,用于电文解码.对序号和帧长解码,可确定下一个引导字的位置.HEALTH为基准站健康状况代码,表示基准站是否正常运行.通用电文格式和内容见图1.电文1是伪距差分中最基本的电文 差分GPS改正数,向用户提供伪距改正数及其变化率.其1bit的比例因子用以标识伪距改正数PRC和伪距改正数变化率RRC的精度,如果编码为0,则表示PRC和RRC的比例因子分别为0 02m和0002m;如果编码为1,则表示PRC和RRC的比例因子分别为0 32m和0 032m.2bit的用户距离误差(UDRE)有4种编码,每种编码代表不同的用户测距误差.卫星标识ID占5bit.伪距改正数PRC和伪距改正数变化率RRC各占8bit.IOD(Is sue of Date)是改正数的数据龄期,占8bit,与GPS中的I OD的意义相同.电文中给出IOD是让用户与GPS导航数据中的星历的数据龄期相比较,如果两者不相匹配,则不能直接使用该组改正数.因此IOD是保证差分定位的关键,以确保用户使用的导航电文与基准站使用的导航电文相同.FILL (表示填充字)在电文中作填充用,RTCM电文每字30bit,如果基准站同时观测到的卫星个数不是3的倍数,则电文的最后1个字就不足30bit,需用填充字来补充.奇偶校验(PARI TY)共占N 6 bit.进行编码时,要注意每24bit插入6bit奇偶校验值,然后余下的不足部分就用填充字来补充至24bit,最后再进行6bit奇偶校验.例如,观测到4颗卫星,则(1+2+5+16+8+8) 4 24=6余16FILL=24-16=8;N=6+1=7此电文1长N+2=9个字,270bit.用户接收到电文1中的内容后,便可对接收到的伪距观测值按(4)式进行改正,应用改正后的伪距进行定位解算.电文2 差分GPS改正数的变化量,如果用户站未能解译出新的星历,而此时基准站已采用了新的星历,则两站所用的星历不一样,此时基准站必须同时播发电文1和电文2,防止定位结果产生较大误差.只有用户接收的星历的IOD与基准站电文1中的IOD相一致后,才能采用新的导航数据.如果用户能及时解译出星历,则电文2可省去.另外,如果基准站在发送使用新星历求出的改正数之前等待约90s[5],让用户有足够的图1 通用电文格式和内容Fi g 1 Format of internation al general R TC M standard d ata codes189第24卷 第2期 刘智敏等:GPS差分协议R TC M电文分析与应用时间来获得新的龄期数据,这样也可以避免发送电文2.电文2的格式和电文1的完全相同,包含了由于卫星导航参数的变化而导致的伪距变率及伪距变率的改变量.电文3 GPS 参考站参数,电文3发送基准站在WGS-84坐标系中的坐标信息(ECEFX,E CE FY,ECE FZ),各占32bit,给定的坐标精度至少到c m 级.该项电文由32 3/24=4个字组成,按顺序发送基准站坐标的3个参数,每个字最后6位是奇偶校验位.3 RTCM SC-104电文编码应用在一些安全要求高、保密性强的工程项目中,采用无线电波以R TC M 电文格式发播自行处理的高精度数据,使特许用户站接收后进行实时差分定位,保证任何状态下的正常运行.目前发送差分电文主要是通过3种方式:低中频的地波、甚高频与超高频传输以及卫星通讯网络.采用低中频地波传输系统,信号越障能力较强,但低频信号受到的干扰及传播中产生的误码也较多,只适于较小范围内数据传输;高频天波传输系统使用电离层与地面反射进行传输,可达到大覆盖面,但是森林、山体、高建筑物有遮挡作用,会形成一定的死角;通讯卫星传播覆盖面广、地面遮挡少,能实现较好的数据广播通信,但是用卫星通讯网络实现DGPS 需要大投入,在我国目前可行性不大.电文信息在这几种传播途径中传输,都会受到各种干扰而产生误码,RTC M 差分电文也不例外.任何电文的遗失或误码都会影响DGPS 的精度,必须采取一定措施确保所接收电文的正确性,才能保证差分定位的精度和可靠性.RTC M 协议采用奇偶校验码对电文进行检验.遵从(30,24)汉明码检错准则,作为一种检错码,奇偶校验码通过增加冗余位使得码字中 1 的个数为奇数或偶数.RTC M 电文中,每30bit 最后6bit 都是奇偶校验位,后面的6位是根据前面的24位以及上一个字的最后两位得到的.图2给出R TC M 中奇偶校验的编码算法,其中:d1,d2,d3 d24是原始的数据信息;D *29,D *30是前一个字的最后两位;D25D30是计算的奇偶校验位;D1,D2 D29,D30是最终发送的信息.RTC M 电文可在标准计算机通用异步收发机UART 间串行传送,如果所用的UART 提供8bit 的字节,则7设置为标志位,8设置为空格,这种编码规则说明对RTC M 每个字只在64~127之间有效.UART 为约定的非同步通讯,首先发送和接收最低有效位.每一个字节在发送前要完成 滚动 ,假设一个字节用d1,d2,d3,d4,d5,d6表示,则滚动的含义是d1和d6,d2和d5,d3和d4进行互换.这在效果上保持了RTC M 电文的逻辑序列,这样在发送媒介中最高有效位优先[2-4].整个编码过程如图3.图2 RTC M 奇偶校验码编码算法[3]Fi g 2 Algorith m of RTC M parity check coding method[3]190桂 林 工 学 院 学 报 2004年图3 RTC M 电文编码流程图Fi g 3 RTC M codin g flow diagram4 结束语DGPS 差分电文RTC M 发送方式的选择,主要根据DGPS 所需要达到的区域范围、环境状况以及经济承受力.差分精度主要靠基准站传输的R TC M 电文进行修正,在传输过程中,对电文的奇偶校验码编码与解码非常重要,对二进制代码进行奇偶校验,只能判断出数据传输过程发生的错误为奇数,因为若发生的次数为偶数,电文中 1 或 0 的个数没变化,而且无法对误码进行修正.在RTC M 电文编码上,如何提高数据的可用率,尚需进一步探讨.参考文献[1]周忠谟,易杰军,周 琪.GPS 卫星测量原理与应用[M].北京:测绘出版社,1995.[2]李洪涛,许国昌,薛鸿印,等.GPS 应用程序设计[M].北京:科学出版社,1999.[3]张九宴.GPS 差分协议及基准站算法研究[D].武汉:武汉大学,2003.[4]王广运,郭秉义,李洪涛.差分GPS 定位技术与应用[M].北京:电子工业出版社,1996.[5]R TC M S pecial Com mittee No 104 RTC M Recom mended Stand ardsFor Differen tial GNSS [S].Analysis and application on RTCM format for d ifferential GPSLIU Zhi min 1,LI N Wen jie 1,TANG Wei ming 2(1 Department o f Civil Engineering,Guilin Institute o f Technology ,Guilin 541004,China;2 Research Center o f GP S ,Wuhan University ,Wuhan 430079,China)Abstract:Real time differential GPS (RTDGPS)technique is widely used to improve positioning accurac y and relia bility.The DGPS informa tion is transmitted to GPS users on a standard data format and received in RTDGPS position ing.R TC M is an international general format and is applied earliest.RTC M data forma t is introduced in detail.Fur thermore,RTC M coding application is discussed:to select different ways to transmit DGPS codes;to take on the RTC M parity check c oding method in order to make sure the correct rate of the DGPS information and to use byte rolling to keep the consecution of RTC M c odes.Key words:DGPS;RTC M;data format191第24卷 第2期 刘智敏等:GPS 差分协议R TC M 电文分析与应用。
常用GPS载波相位差分电文格式分析

应用上面的公式,表I RTCM和CMR最大最小的数据量具 体地比较了往相同的条件下,使用双频接收机,得到的各自 发送的最大最小数据量,最小数据量发生在只发送观测值的 时刘。
收稿日期:2002
09-06
r修回日期2002
1l
11
作者简介:张九宴,硕士研究生,现研究DGP¥的差分信息产生及 其蝙码。
E—mail:jiuyanzhang@163.CO[II
1 328/l 4IS,1
1 20—3 680
厂家使用的方法亦足习:同的.有的aT能和静态定位一样使用
最小二乘的方法,有的可能是使用卡尔漫滤波的方法。
I∞8/1
水同特性。作为两种差分电文格式的不同之处主要有
以下5点。 I)发送的电文内;搴不同。RTCM发送的均是原始观测
4结束语
从上面的分析比较可知.CMR数据格式满足了低带宽 通信要求.降低了对通信的要求.更适合在我国使用。 RTCM是最早使用的一种国际通用格式,而且还可以用于伪 距差分,但是现在标准的RTCM格式币能满足RTK渊量技
GNSS[s]Radio
Ma
ritime Services.1998 Data Transmission Standard for High— COnl/put/survey/
[3]Talbot
N C.Compact GPS
【doc】GPS差分RTCM数据实时编码解码算法及实现

GPS差分RTCM数据实时编码解码算法及实现GPS差分RTCM数据实时编码解码算法及实现李良张小超赵化平(中国农业机械化科学研究院,北京100083)E—mail:**************摘要就GPS差分f”l题中常用的RTCMSC一104格式的解码和编码方法进行了论述.针对目前Windows操作系统的广泛使用,以及控件技术编程的方便性,使用MSCOMM控件进行串口鳊程得到了广泛使用,文章对GPS的RTCM差分信号的相关处理及其实现算法的论述将基于该控件.关键词全球定位系统差分GPSRTCMMSCOMMVisualC++文章编号1002—8331一(2006)l1-0209—03文献标识码A中图分类号TP311:TP391 TheReal—timeArithmeticandRealizationofEncoding andDecodingofDGPS’SRTCMData LiLiangZhangXiaochaoZhaoHuaping (ChineseAcademyofAgriculturalMechanizationofSciences,Beijing1000 83)Abstract:ThispaperdiscussesthemethodofhowtoencodeanddecodetheRTCMSC-104datawhichisoftenusedinDGPS.NowWindowsSystemofMicrosoftisusedwidely,andtheActiveXt echnologyhasgreatlyimprovedthe convenienceofprogramming,therelativeprocessingandtherealizationofth earithmeticofthispaperwillbebasedon theMSCOMMActiveXcontro1.Keywords:GlobalPositionSystem(GPS),DifferentialGPS(DGPS).RTCM ,MSCOMM,VisualC++l引言GPs数据进行差分处理是提高GPS处理精度的有效途径,RTCM(美国海运事业无线电委员会)于1983年11月为全球推广应用差分GPS业务设立了SC一104专门委员会.以便论证_L}j于提供差分GPS业务的各种方法,并制定了各种数据格式标准.该标准格式经历了1985年11月的ver1.0,1990年1月的ver2.0,1994年1月的ver2.1以及2001年的ver2.3等多个版本.每一个版本在上一个版本的基础上对上一个版本进行丁升级和修改.早期文献介绍的内容多以DoS操作系统下的GPS差分信号处理为主.其过程相对复杂,已不符合当今发展的需要.本文就其相关算法实现问题进行了研究,该方法经过VisualC++6.0编写得到实现.2RTCMSC一104标准格式简介RTCMSC一1o4标准格式每一帧由可变长度的字码组成.每个字码长30bit,每帧字码长度为N+2,其中Ⅳ表示不同类型电文中的数据字码的个数.它随着电文类型的不同而不同.2表示两个头字码.头字码包含了适用于所有类型的电文,连续为8bit的引导字(01100110),6bit的帧识别,10bit的基准站识别,6bit的奇偶校验组成第一字码,13bit的修正Z计数,3bit的序号,5bit的帧长(N+2),3bit的基准站健康状况,6bit的奇偶校验组成第二字码.该标准格式类型共63个.最常用的是类型为1的电文(本文算法主要以此为例).用作伪距差分使用,F面就类型l的电文作出说明:电文1连续包含了观测到的每颗卫星的改正数,由lbit的比例因子,2bit的用户差分测距误差(UDRE),5bit的卫星ID号, 16bit的伪距改正数PRC(t0),8bit的距离变化率改正值PRC,以及8bit的数据发布日期组成,每颗卫星40bit.其中每隔24bit 有一6bit的奇偶校验位从而构成30bit的字码.由于每颗卫星40bit不是24的整数倍,故最后一字码需要0bit,8bit或16bit 的填充字来填充再加上6bit的奇偶校验构成30bit的字码.该填充字以…1’,”0”交替以免同引导字的同步码混淆.传输数据时.通常采用”6,8”格式的方式进行,接受数据中每8bit数据中仅低6bit是有效位.第7位为标志位”1”,第8位为空格”0”.由于GPS设备多数采用美国国家标准化研究所制定的ANSIX3.16和X3.15型标准接口.故连接到计算机标准串口RS一232上的时候需要进行”字节滚动”.上文中提到了6bit的奇偶校验位,奇偶校验规则为:首先获得上一电文中的最后两位d29star,d30star,然后依据d30star决定是否将目前需要进行奇偶校验的24bit有效数据取补,若d30star为1则124位取补码.为0则不变.根据得到的24位数据以及d29star和d30star.由表l给定的规则取得奇偶校验位的6bit数.其中最后两列为d29star和d3Ostar.其他为24bit数字,行为奇偶校验位的从高到低5~0bit,”‘号表示”异或”关系.奇偶校验的每一bit由后面的26bit相应有”‘号的部分进基金项目:国家863高技术研究发展计划资助项目(编号:2003AA209012.2003AA209040)作者简介:李良.男,硕士研究生,主要研究方向为GPS导航及无人机控制.~,d,til,男,研究员,主要研究方向为农业相关仪器及智能控制.赵化平,男,研究员.主要研究方向为机械自动化.计算机工程与应用2006.1l209行异或得到.表1奇偶校验规则表202122232429303MSCOMM控件简介MSCOMM控件是利用ActiveX技术开发的通用控件.使用它可以方便地开发串口相关程序.介绍它的文章比较多,故这里不多介绍.只就算法所需内容作些说明.通信过程采用常用的9600波特率,无奇偶校验,8位数据位,1位停止位,采用中断方式进行处理,当接受数据时便产生OnComm事件,下面的编码算法实现的程序便是在该事件中运行.4RTCMSC一104的编码解码算法上文给出了RTCMSC一10_4标准格式的各种规则,下面就电文数据的相关程序算法实现研究结果给出分析.4.1电文的编码算法分析编码首先假定已经拥有所有的数据.该过程比较简单,可以将编码过程针对电文头以及各种类型电文分别编写,首先依据表1的关系实现奇偶校验的函数charParity(int*Character),该函数的作用是利用上次的d29star和d30star以及目前的24个位判断是否取补码,得到新的d29star,d3Ostar并且组合成奇偶校验位返回.然后可实现由24个位的数组Character[24]得到包含奇偶校验位的数组缓冲区Buffer[51的函数voidSet—WordCode(int*Charactor,char*Buffer),该函数首先利用24个位和d3Ostar来判断是否取补,然后重组成4个8bit的数字,并利用上述奇偶校验函数得到奇偶校验位.处理电文头的过程即先利用所有的头信息得到两个24个位的数组Character[24】,Character1【24】,然后调用SetWordCode 两次得到两个缓冲区的数.处理电位数据内容的过程以电文一为例.先依据帧长建立一个24*Length的缓冲区,然后将所有的电文处理得到每位的信息放到该缓冲区中.未满的地方以填充字填充,接着依据帧长,依次每24个数调用SetWordCode从而可得5*Length个8bit一字符的缓冲区.我们将电文头和处理的电文数据内容得到的缓冲区组合在一起,放置到一V ARIANT变量的数巾便可以利用控件的方法进行串口数据的发送.4.2电文的解码算法分析解码是编码的逆过程,过程相对复杂,涉及到电文同步等内容,下面根据流程图进行讲解根据下面设计的主体算法涉及到的变量.我们需定义全局变量d29star,d3Ostar,标志Flag(初始化O),标志Flagl,数组Raw圆(初始化O),数组MsgButt[256](初始化0),RawNum(~始化0),Count(初始化0)以及电文内容相关变量preamble,ID, lrype,SeqNum,Length,HeMth,ZCount(某些变量可以作为局部变2102006.11计算机工程与应用eada8bild厶\::/…Y ePutthedatatothePmthedatatothelastofRaw[5】,thelastofRaw[5】,the restdatagoforwardrestdatagoforwardlJLoadWord(Raw[O】,:::一….Ra,,41】,Raw121,Raw[3】. Raw[41)Y eRawNum++lRawNum=O(/a-l1b>一l/f1..o—<—而::;,>一l…:Flag=1/二\\\Flag1=1,,-n对5-<.//0J1ProssesstheRaw, LoadWord(Raw[O】,andgetType.base Y esRaw[1】,Raw[2】,Raw[3】,Raw[4]),ID,S8.V ed30,Flagl=1. andgetthe1Count+=5ZCount,Sequence.Flag=O.Length,Health;Count=O.F1agl=0DeeodethelSavetheMsgBuffRawtotheMsgBuff【360]l一厂’T’..,图1解码算法主流程量,为简便起见将它们全部设为全局变量).首先,依据串口事件2(缓冲区有数据),从缓冲区取出一个8bit数据(用字符型变量指针说明).依据标志Flag为O,将新得到的数据放到Raw数组的最后一个,其它数字依次向前移动一个,然后执行函数Loadword(该函数的作用是提取数组的每一bit到某一全局数组中提取的过程需要依据d3Ostar来判断是否提取的过程取补,并保存新的d30star,提取时将获得数据的低位放到前面,高位放到后面,从而得到原始数据的正确顺序).将得到的每位数据进行重组,取前8位数据组合成一个数保存为preamble,判断是否为前导字102,不是则重复上述过程直到找到先导字,是则设标志位Flag为1.Flag1为1, 并且将剩下的数据处理得到电文类型Tvpe,基站ID;接着连续读数直到读了5个数为止(用RawNum来判断是否读完5个数. 如果读完则将RawNum置0),读完5个数后依Flagl标志(此时为1且Flag为1表示该读第二个字码了)处理第二字码得40.o02340.o02240.o02140.o0240.o01940.o01840.o017纬度蠹梧:}hlj,}1\}】一图2本身差分无处理过程到ZCount,Sequence,Length,Health,同时将标志Flagl设为0 (此时Flag为1),表示一帧的头已经处理完需要处理该帧的电文内容了;最后也是每次读完5个数后将数据保存到MsgBuff 中.此过程利用Count和帧长Length*5大小比较来判断是否已经完成了所有有效数据的读入,如果读完则进行数据电文的处理并将Flag置0.Count置0,以便再次重复下一帧的电文头的读取过程.处理数据类型1的算法相对简单,只做文字说明,实现的过程中.由于每颗卫星的有效数据共40bit,而处理一个字码只能得到24bit,故取最大公约数8,如果缓冲区MsgBuff数据未处理完,则从其中依次LoadWord5个数,从而得到24个数码位.然后外循环3次,内循环8次将数据依次保存到一维数组type1packet『401中,从而每次都能将得到的24个数码位处理完.然后在内循环后外循环内判断是否取满了40个数,若取满则进行数据的重组操作,这样就可以将缓冲区所有数据电文进行处理得到有效的数字.5实现及实验采用VisualC++6.0,我们编程实现了上述算法的解码和编码,并对编写的程序进行了测验.实验中,我们采用Novmel 公司的SS—IIBASE作为基站,SS—fI作为流动站,接收从基站串13二发送的差分RTCM格式数据,天线采用普通导航GPS 天线.对解码的结果与采用解码软件RTCM—WIN解码的结果进行对比实验,所得结果与RTCM解码结果一致.实时解码操作后,用所得的数据实时进行编码运算并把得到的编码发送至流动站接收机,实验结果和直接利用上述基站发送差分信号至流动站接收机进行差分计算所得结果对比如图2纬度__●___—___—.毒I挺II耠I砖IItL——\Ⅱ_ln×112围3经过算法实现的程序差分处理结果图2为直接采用差分端口连接获得的24h单点定位结果图(2oo5年5月25日20点23分开始),图3为经过SS—II BASE的差分端口实时解码后获得结果然后实时编码发送数据到流动站SS—II的差分接收端口得到的差分结果24h单点定位图(2005年5月24日15点10分开始).从图中可以看出,除去干扰因素产生的较大的跳跃以外,两者获得的精度一致,表明流动站接收到的差分信号得到了较好的精度.实验证实该算法实用可靠.6程序应用及结论经过上述算法程序的实现,加上其它相关处理程序,该算法可以应用于差分基站的设计,以及利用电脑进行实时数据的差分和监控等.我们利用SS—II型号的廉价OEM接收板经过相关的运算实现了价格低廉的GPS基准站,获得了较好的差分精度.取得了较好的应用效果.该算法在利用较为廉价的GPS接收板提高无人机控制中的自动导航精度,提高精准农业作业精细度,增强交通监控等方面具有良好的应用前景.(收稿日期:2oo5年12月)参考文献1.王广运.郭秉义,李洪涛.差分GPS定位技术与应用[M】.北京:电子工业出版社.1998:187—2322.刘基余.GPS卫星导航定位原理与方法【M】.北京:科学出版}十,2003:221~2283.SUPERSTARIIFirmwareReferenceManualNovatel,20044.Reec.mmendedStandardsforDifferentialNA VSTARGPSRadioTech—nicalCommissionforMaritimeServices.RTCM一104version2.1,19945.http://www.q$,dk7iR1’CM.html计算机工程与应用2006.112118765432姗蛳姗狮姗蛳狮6666666。
GPS虚拟参考站RTCM传输电文的分析与解码

收稿 日期 : 0 8 0 — 9 2 0 — 5 1
・
5 ・ 2
GN SW ol fChn / 0 8 5 S rdo ia 2 0 .
具 体规定 _消 息 、 据 要 素 和数 据 定 义 ; 『 数 而传 输 层 定 义 了消息 的框 架 , 数据 的循 环 校 验 方法 等 ; 据 数 链 层定 义 了 R M3 X信 息在 物 理层 上 怎样 被 编 TC . 码, 如采用 Nti 议 ; 理层 没 有具 体定 义 , 用 r p协 物 使 时取 决于用 户 。
关键词 : T M3 1 C C校验 ; R C .;R 解码
中 图分类号 : 2 7 P 0
文献 标志码 : A
文章编 号 :0 89 6 ( 0 8 0 —0 20 1 0 —2 8 2 0 ) 50 5 —6
1 引 言
随着 GP S定 位 技 术 的不 断 发展 和 使 用 的 普
效果非 常好 。
R M . TC 2 x版本采 用 奇偶 检校 模 式 , 2 在 4位
数据后 面有 6 的奇偶检 校码 。然而 , 位 在进行 数据
及, 用户对 GP S定 位 的精度 要 求 越来 越 高 。采 用 差分 G S定位 技 术 可使 G S定 位 精度 达 到米 级 P P
定位 , 对新 的传 输协议 进行解码 是前提 。
目前对 于 RT M3 X解 码方法 提出者甚少 , C . 国 内对 R C . T M3 x版本 的 编码 方 式 了解 也不 多 。本
文 分析 了 R C . T M3 x的编码 方式 和数据类 型 , 出 提
差分原理与RTCM

…
固定
固定
7
9
信标历书
部分卫星差分改正数
(30,24)汉明码检错准则:
S H
61
624
M
241
电文格式采用6/ 8 进行数据传输。bit7 设置 为1 ,bit8 设置为0。由于UART 为约定的非同 步通讯,首先发送或接收LSB。所以,每一个字 节在发送前先要完成“滚动”,这在效果上保持 了RTCM 电文的逻辑序列。因此,在发送媒介 中MSB 优先。所谓“滚动”,就是d1 和d6 、d2 和d5 、d3 和d4 进行互换(仅滚动数据位,bit7 、bit8 不参与滚动) 。
差分GPS原理与RTCM
基准站 数据通讯链
流动站(用户)
差分类型: 位置差分: 伪距差分: 载波相位差分
可用的差分数据源:
Ⅰ卫星差星导航重叠服务) MSAS GAGAN
Ⅱ地面差分
沿海信标台 GDCORS 自主差分
主要参考资料
《GPS技术与应用》,作者:总装备部军事训练教材编辑工作委员会
编著 。国防工业出版社,2004
《GPS卫星导航定位原理与方法》,作者:刘基余。科学出版社, 2003 《GPS 应用程序设计》,作者:李洪涛.科学出版社,1999 浅析差分GPS 的算法及数据格式.何怡,李扬继.电讯技术,2004 ,3: 111-115 GPS 差分协议RTCM电文分析与应用.刘智敏, 林文介, 唐卫明.桂林 工学院学报,2004,24 (2):188-191 一种低成本的差分GPS定位系统的设计与实验.龚真春,宋执环,李平, 韩波.计算机测量与控制.2005,13(1):86-88
RTCM协议
国际海运事业无线电技术委员会 (Radio Technical Commission for Maritime Services , 简称RTCM)于1983 年11 月为全球推广应用 差分GPS 业务设立了RTCM SC - 104 专门 委员会, 以便论证用于提供差分GPS 业务的 各种方法, 并制定了标准差分协议. 它是一种 国际通用格式, 可以用于实时伪距差分RTD和 实时载波相位差分RTK. RTD的精度只能 达 到亚米级,而RTK采用双频可以达到厘米级.
RTK中的电文格式(差分格式)的说明

RTK中的电文格式(差分格式)的说明大家在使用RTK启动基站的时候,是不是都要选择一下电文格式(差分格式,这两个是一个意思,不同厂家叫法不同)?一般大家选择RTCM3.0或者RTCM3.2或者Scmrx。
1、RTCM是国际海事无线电技术委员会制定的国际通用的GNSS 差分数据格式标准。
基站是架设在那里不动的,它把当前误差产生的原因通过电台或者网络发送给移动站,移动站才得到实时坐标。
误差产生的原因有一种国际通用的数据格式,这个就是RTCM,所以它是一种格式。
就象监理要求大家按照监理要求的格式提供导线复测成果一样,你不用这个格式不行。
RTCM2.1格式,单星,只接受美国GPS卫星信号的年代使用这种格式。
RTCM2.2,增加了俄罗斯的GLONASS卫星差分格式。
RTCM2.3,实时动态精度小于5cm,RTK必须使用此种或以上版本的差分格式。
RTCM3.0,增加了网络差分改正数电文,要用CORS必须用这个版本或以上的格式。
RTCM3.2,增加了BDS(北斗)的差分导航电文。
现在的RTK基本都是三星的系统,就是美国GPS、俄罗斯GLONASS、中国北斗,所以大家使用的时候选择这种数据格式。
2、CMR是美国天宝弄出来的一套用于RTK的差分格式标准。
这种格式降低了对通信(带宽)的要求。
选择Scmrx格式的情况一般是双星的主板升级为三星后,或者基站和移动站都是天宝的主板,可以选择这种格式。
3、三星的机器建议选用RTCM3.2,在此基础上如果基站和移动站都是天宝的主板并且用网络模式来操作的话建议选用Scmrx的电文格式(差分格式),省流量省电。
4、它就是一种格式,基站按这种格式发射信号出去,这种信号用于移动站尽量减少产生误差的原因,得到实时坐标。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第24卷 第2期 桂林工学院学报 V ol.24N o.2 2004年4月 JOURNA L OF G UI LI N I NSTIT UTE OF TECH NO LOGY Apr12004文章编号:1006-544X(2004)02-0188-04GPS差分协议RTCM电文分析与应用刘智敏1,2,林文介1,唐卫明2(11桂林工学院土木工程系,广西桂林 541004;21武汉大学G PS工程技术研究中心,湖北武汉 430079)摘 要:通过对RTC M电文内容的分析,就应用中RTC M电文的编码方法和存在的问题进行了探讨,根据DG PS所需要达到的区域范围、环境状况以及经济承受力,选择DG PS差分电文RTC M的发送方式;采用奇偶校验码进行校验,以确保所接收电文的正确性;进行字节滚动,以保持RTC M电文的逻辑序列.关键词:DG PS;RTC M;数据格式中图分类号:P22814;T N91913 文献标识码:A差分G PS系统(Differential G PS,简称DG PS)由基准站、数据链和用户3部分组成:基准站的主要功能是获得差分改正数或得到原始观测值;数据链的作用是将基准站的数据信息以某种标准差分协议传输给用户.因此G PS差分协议和差分电文算法是差分G PS系统必须考虑的两个关键性问题.国际海运事业无线电技术委员会(Radio T ech2 nical C ommission for Maritime Services,简称RT C M)于1983年11月为全球推广应用差分G PS业务设立了RT C M SC-104专门委员会,以便论证用于提供差分G PS业务的各种方法,并制定了标准差分协议.它是最早使用的一种国际通用格式,可以用于伪距差分和实时动态G PS(Real T ime K inematic G PS,简称RTK G PS).1994年1月正式公布Ver 211版本,增加了与载波相位差分技术相关的电文18~21,以后又不断有新的版本出现[1-4].新版本提高了差分改正数的抗差性能,增大了可用信息量,提高了定位精度.伪距差分的精度由原来版本的8~10m提高到1m左右,载波相位差分可达到cm级精度.1 实时差分G PS定位模型根据差分G PS工作原理,DG PS可分为4类,包括位置差分、伪距差分、广域差分和载波相位差分.伪距差分是在m级精度要求下使用最广的一种技术,几乎所有的商用差分G PS接收机均采用了这种技术.实时差分定位系统中,基准站的坐标精确已知,可以算出星站之间的真实几何距离ρj i,基准站的G PS接收机测量出所有可视卫星的伪距 ρj i,同时收集全部卫星的星历,从而得到观测值的改正数[1]Δρji(t)= ρj i(t)-ρj i(t);(1)ρji=(X j s-X i)2+(Y j s-Y i)2+(Z j s-Z i)2;(2) ρj i(t)=ρj i(t)+cδt i(t)-cδt j(t)+Δj i・Ig(t)+Δj i・T(t).(3)其中:基准站的WG S-84坐标为(X i,Y i,Z i),由星历计算出所有观测到的卫星在信号发射时刻的WG S-84坐标(X j s,Y j s,Z j s);δt i(t)为接收机钟差;δt j(t)为卫星钟差;Δji・Ig(t)为电离层折射影响;Δji・T(t)为对流层折射影响,c为光速.通过数据链将基准站的差分信号传输至用户站,用户站接收、解调后送入用户接收机进行解码和计算.将基准站的改正数作为伪距修正量,以改正用户接收机相应的同步伪距观测量,这里忽略对不同观测站伪距观测量的不同影响,以及不同接收机钟差的变化,近似得收稿日期:2003-11-18基金项目:广西自然科学基金资助项目(0339072)作者简介:刘智敏(1975-),女,博士研究生,讲师,研究方向:G PS原理、算法及应用.ρji(t)= ρj i(t)-Δρj i(t).(4)应用C/A码得到定位精度,在距离基准站50~100km范围内可达m级.随着用户与基准站的距离的增大,与空间相关的误差相关性减小,流动站的定位精度随之迅速降低.2 RTCM SC-104电文内容分析RT C M差分协议由二进制编码的数据流组成.每种电文帧长为(N+2)个字,每个字由30bit 构成,分解为5个6bit的字节,其中电文头2个字称为通用电文,电文信息包含在N个字中,N 随电文类型不同而不同,同类电文可能由于卫星的个数不同也不相同.第25~30位构成字节5,字节5为奇偶校验码,用于检验接收到的电文信息.在DG PS中常用到的电文类型,以RT C M的Ver212版本为例示于表1.表1 Ver212中的几种常用RT C M电文类型T able1 Several types of RTC M codes(Ver212)电文类型目前状况名 称1固定G PS伪距改正2固定G PS伪距改正的变化量3固定G PS参考站参数RT C M电文中,每种电文的电文头格式和内容完全相同.8个bit的引导字固定为01100110,供用户搜索同步使用,必须通过第1和第2个字的奇偶校验,才能确认该引导字是否正确.帧识别是确定电文的类型.基准站识别给出基准站的序号名称.修正Z计数是时间计数,是电文参数的参考时间,范围仅有1h,用户可根据流动站的时间确定Z计数对应的准确G PS时,与G PS电文的Z 计数不同之处是将其分辨率从6s提高到了016s.序号是按下一帧第2个字码逐一增加,帧长是表示接收到的电文的长度,用于电文解码.对序号和帧长解码,可确定下一个引导字的位置. HE A LTH为基准站健康状况代码,表示基准站是否正常运行.通用电文格式和内容见图1.电文1是伪距差分中最基本的电文———差分G PS改正数,向用户提供伪距改正数及其变化率.其1bit的比例因子用以标识伪距改正数PRC和伪距改正数变化率RRC的精度,如果编码为0,则表示PRC和RRC的比例因子分别为0102m和01002m;如果编码为1,则表示PRC和RRC的比例因子分别为0132m和01032m.2bit的用户距离误差(UDRE)有4种编码,每种编码代表不同的用户测距误差.卫星标识ID占5bit.伪距改正数PRC和伪距改正数变化率RRC各占8bit.IOD(Is2 sue of Date)是改正数的数据龄期,占8bit,与G PS中的IOD的意义相同.电文中给出IOD是让用户与G PS导航数据中的星历的数据龄期相比较,如果两者不相匹配,则不能直接使用该组改正数.因此IOD是保证差分定位的关键,以确保用户使用的导航电文与基准站使用的导航电文相同.FI LL (表示填充字)在电文中作填充用,RT C M电文每字30bit,如果基准站同时观测到的卫星个数不是3的倍数,则电文的最后1个字就不足30bit,需用填充字来补充.奇偶校验(PARITY)共占N×6 bit.进行编码时,要注意每24bit插入6bit奇偶校验值,然后余下的不足部分就用填充字来补充至24bit,最后再进行6bit奇偶校验.例如,观测到4颗卫星,则(1+2+5+16+8+8)×4÷24=6余16FI LL=24-16=8;N=6+1=7此电文1长N+2=9个字,270bit.用户接收到电文1中的内容后,便可对接收到的伪距观测值按(4)式进行改正,应用改正后的伪距进行定位解算.电文2———差分G PS改正数的变化量,如果用户站未能解译出新的星历,而此时基准站已采用了新的星历,则两站所用的星历不一样,此时基准站必须同时播发电文1和电文2,防止定位结果产生较大误差.只有用户接收的星历的IOD与基准站电文1中的IOD相一致后,才能采用新的导航数据.如果用户能及时解译出星历,则电文2可省去.另外,如果基准站在发送使用新星历求出的改正数之前等待约90s[5],让用户有足够的图1 通用电文格式和内容Fig11 F ormat of international general RTC M standard data codes981第24卷 第2期 刘智敏等:G PS差分协议RTC M电文分析与应用时间来获得新的龄期数据,这样也可以避免发送电文2.电文2的格式和电文1的完全相同,包含了由于卫星导航参数的变化而导致的伪距变率及伪距变率的改变量.电文3———G PS 参考站参数,电文3发送基准站在WG S -84坐标系中的坐标信息(ECEFX ,E 2CEFY,ECEFZ ),各占32bit ,给定的坐标精度至少到cm 级.该项电文由32×3/24=4个字组成,按顺序发送基准站坐标的3个参数,每个字最后6位是奇偶校验位.3 RTCM SC -104电文编码应用在一些安全要求高、保密性强的工程项目中,采用无线电波以RT C M 电文格式发播自行处理的高精度数据,使特许用户站接收后进行实时差分定位,保证任何状态下的正常运行.目前发送差分电文主要是通过3种方式:低中频的地波、甚高频与超高频传输以及卫星通讯网络.采用低中频地波传输系统,信号越障能力较强,但低频信号受到的干扰及传播中产生的误码也较多,只适于较小范围内数据传输;高频天波传输系统使用电离层与地面反射进行传输,可达到大覆盖面,但是森林、山体、高建筑物有遮挡作用,会形成一定的死角;通讯卫星传播覆盖面广、地面遮挡少,能实现较好的数据广播通信,但是用卫星通讯网络实现DG PS 需要大投入,在我国目前可行性不大.电文信息在这几种传播途径中传输,都会受到各种干扰而产生误码,RT C M 差分电文也不例外.任何电文的遗失或误码都会影响DG PS 的精度,必须采取一定措施确保所接收电文的正确性,才能保证差分定位的精度和可靠性.RT C M 协议采用奇偶校验码对电文进行检验.遵从(30,24)汉明码检错准则,作为一种检错码,奇偶校验码通过增加冗余位使得码字中“1”的个数为奇数或偶数.RT C M 电文中,每30bit 最后6bit 都是奇偶校验位,后面的6位是根据前面的24位以及上一个字的最后两位得到的.图2给出RT C M 中奇偶校验的编码算法,其中:d1,d2,d3…d24是原始的数据信息;D 329,D 330是前一个字的最后两位;D25…D30是计算的奇偶校验位;D1,D2…D29,D30是最终发送的信息.RT C M 电文可在标准计算机通用异步收发机UART 间串行传送,如果所用的UART 提供8bit 的字节,则7设置为标志位,8设置为空格,这种编码规则说明对RT C M 每个字只在64~127之间有效.UART 为约定的非同步通讯,首先发送和接收最低有效位.每一个字节在发送前要完成“滚动”,假设一个字节用d1,d2,d3,d4,d5,d6表示,则滚动的含义是d1和d6,d2和d5,d3和d4进行互换.这在效果上保持了RT C M 电文的逻辑序列,这样在发送媒介中最高有效位优先[2-4].整个编码过程如图3.图2 RT C M 奇偶校验码编码算法[3]Fig 12 Alg orithm of RTC M parity check coding method[3]91桂 林 工 学 院 学 报 2004年图3 RT C M 电文编码流程图Fig 13 RTC M coding flow diagram4 结束语DG PS 差分电文RT C M 发送方式的选择,主要根据DG PS 所需要达到的区域范围、环境状况以及经济承受力.差分精度主要靠基准站传输的RT C M 电文进行修正,在传输过程中,对电文的奇偶校验码编码与解码非常重要,对二进制代码进行奇偶校验,只能判断出数据传输过程发生的错误为奇数,因为若发生的次数为偶数,电文中“1”或“0”的个数没变化,而且无法对误码进行修正.在RT C M 电文编码上,如何提高数据的可用率,尚需进一步探讨.参考文献[1]周忠谟,易杰军,周 琪.G PS 卫星测量原理与应用[M].北京:测绘出版社,1995.[2]李洪涛,许国昌,薛鸿印,等.G PS 应用程序设计[M].北京:科学出版社,1999.[3]张九宴.G PS 差分协议及基准站算法研究[D].武汉:武汉大学,2003.[4]王广运,郭秉义,李洪涛.差分G PS 定位技术与应用[M].北京:电子工业出版社,1996.[5]RTC M S pecial C omm ittee N o 11041RTC M Recommended S tandardsF or DifferentialG NSS [S].Analysis and application on RTCM format for differential GPSLIU Zhi 2min 1,LIN Wen 2jie 1,T ANG Wei 2ming 2(11Department o f Civil Engineering ,Guilin Institute o f Technology ,Guilin 541004,China ;21Research Center o f GP S ,Wuhan Univer sity ,Wuhan 430079,China )Abstract :Real 2time differential G PS (RT DG PS )technique is widely used to im prove positioning accuracy and relia 2bility.The DG PS in formation is transmitted to G PS users on a standard data format and received in RT DG PS position 2ing.RT C M is an international general format and is applied earliest.RT C M data format is introduced in detail.Fur 2therm ore ,RT C M coding application is discussed :to select different ways to transmit DG PS codes ;to take on the RT C M parity check coding method in order to make sure the correct rate of the DG PS in formation and to use byte rolling to keep the consecution of RT C M codes.K ey w ords :DG PS ;RT C M ;data format191第24卷 第2期 刘智敏等:G PS 差分协议RTC M 电文分析与应用。