全球导航系统的观测值文件编解码方法

文档序号:6356884阅读:182来源:国知局
专利名称:全球导航系统的观测值文件编解码方法
技术领域
本发明属于全球导航系统技术领域,特别涉及一种全 球导航系统的观测值文件编解码方法。
背景技术
全球导航系统的英文为Global Positioning System,本领域习惯简称为GPS。GPS 事后观测数据都通过文件的形式进行传输与保持,文件格式普遍采用标准的RINEX格式, RINEX格式是GPS通用数据交换格式文件,包含观测数据文件、星历文件、气象数据文件等。 目前,所有测量型GPS接收机厂商都提供将其专有格式文件转换为RINEX格式文件的工具, 而且几乎所有的事后数据分析处理软件都能够直接读取RINEX格式的数据。由于采集观测数据是在野外作业中的问题,对数据文件进行无损编码压缩,是提高有效储存空间的重要途径。RINEX格式采用ASCII码存在较大的压缩余地,尤其在高频采样(20 50HZ)的大型基准站网络系统中,如果采用RINEX格式一天的观测数据可以达到5G,假设基准站数量成百上千,每天数据量将是IO3量级(G),对连续运行系统每日维持如此海量数据的传输与存储管理将是很大的挑战。对数据文件进行无损压缩是减轻数据链路传送数据的压力和节省数据中心存储介质容量,降低用于传输和存储数据成本的最有效的方法。因此目前已有接收机厂商采用的自主设计的压缩格式,例如Trimble公司的TOl格式,IGS数据中心采用的Hatanaka RINEX格式(能够压缩25 30%的大小),南方测绘的STH格式等等。在编码压缩过程中,如何对历元数据进行有效的压缩,是这项技术的关键。完整度,压缩率和压缩速度,是评价一项压缩技术方案的三个重要指标。存历元间差数法或利用 Huffman算法,对RINEX格式GPS观测文件进行压缩,压缩率分别为70%和45%左右,压缩率和压缩速度也有一定的限制,压缩效果一般,不足以满足大项目的海量数据量的处理。更高效无损的GPS观测文件编码格式与压缩方法,有待继续研究。

发明内容
本发明目的在于提供一种更高效的GPS观测值文件编解码方法。本发明的技术方案包括全球导航系统的观测值文件编码方法,对观测值文件中的历元数据进行压缩处理,压缩时按照历元的时间顺序,将观测值文件中每N个历元的历元数据存储到1个模块中,N值由用户预先设定;在每个模块内部,处理方式如下,首先,以模块中的第一个历元的历元数据第一行为基础,将模块中其他历元的历元数据第一行与第一个历元的历元数据第一行分别进行对比,相同的内容不再存放,只将不同的内容保留;然后,对模块中N个历元的历元数据中所含卫星观测数据,进行二次求差,所述二次求差的实现过程包括第一次求差和第二次求差,将模块内第i个历元的卫星观测数据记为Xi, i的取值范围为1至N,第一次求差时产生的差值为X2-X^ X3-X^hXn-Xim,第二次求差时产生的差值为(X3-X2)-(X2-X1)A (X4-X3)-(X3-X2)…(Xn-Xm)-(Xm-Xn^2);存储第一个历元的卫星观测数据X1、第一次求差产生的第一个差值X2-X1和第二次求差产生的所有差值 (X3-X2) - (X2-X1)、(X4-X3) - (X3-X2)…(Xn-Xim) “ (Χη-Χμ),取代 N 个历元的历元数据中所含卫星观测数据Xi、XfXN。而且,预设的N值为120。而且,对观测值文件中的文件头所含多余信息进行删改。相应地,本发明提供一种全球导航系 统的观测值文件解码方法,解压某个历元的历元数据时,根据历元的时间,首先找到该历元所在的模块,再进到模块中按查找该历元的卫星观测数据压缩值;设该历元是所在模块中存储的第i个历元,该历元的卫星观测数据压缩值记为Yi, i的取值范围为1至N :当i = 1时,该历元的卫星观测数据X1 = Y1 ;当i = 2时,该历元的卫星观测数据X2 = X^Y2 = Y^Y2 ;当i > 2时,该历元的卫星观测数据Xi = X^+Yi+Y^…+Y2。采用本发明提供的技术方案对RINEX格式GPS观测文件进行压缩,其压缩比率在 5%以内,而且压缩速度较快,效果比较理想。对于数据量越大的文件,压缩比率越高。对应用在网络RTK系统中的文件压缩来说是一种快速、高效的方法,有利于减轻数据链路传送数据的压力和降低用于传输数据的成本。并且,实现过程运用模块的思维,对所有历元进行分组压缩,有如下好处(1)达到了尽量取相关度高的数据进行一次、二次求差的效果,进一步压缩了存储空间和减少了数据的损失;(2)当只需要某一个历元数据时,只需解码该历元数据所在的模块,这样可以大大提高解压的速度和效率(3)模块与模块之间没有相关性,当某一个模块数据丢失时,数据仍有其价值。


图1为本发明实施例的编码流程图;图2为本发明实施例的解码流程图。
具体实施例方式本发明的数据压缩编码是针对RINEX格式的GPS观测数据文件(包括对观测值文件头和数据记录)的处理。实施例中,压缩方法针对以下几个部分进行,具体描述如下1对观测值文件的文件头进行处理观测值文件的文件头用于存放与整个观测值文件有关的全局性信息。RINEX观测数据文件的文件头大小与观测值文件的历元数据相比,几乎可以忽略不计,压缩的主体是历元数据。但为了更高的压缩效率,本发明在提出观测值文件的历元数据压缩方案之外,进一步提出可以对文件头也进行压缩,对文件头所含多余信息进行删改。具体删改处理方法,可以由本领域技术人员决定。实施例对文件头中的部分项做出修改,如创建本数据文件所采用的程序的名称,创建本数据文件单位的名称,本数据文件包含的数据类型等。删除文件头中信息沉余无实际价值的数据项目,如天线标志的名称,天线标志编号,观测值的历元间隔,数据文件中第一个和最后一个观测记录的时刻,跳秒数, 文件中存储有观测值的卫星数量,每一观测值类型涉及PRN及其观测值的数量。2对历元数据第一行的处理一个观察值文件一般包含多个历元的历元数据。实施例中,首先按照历元的时间顺序,将观测值文件中每N个历元的历元数据封装到1个模块中,N值由用户预先设定。具体实施时,N值只需大于1,小于观测值文件所含历元数,可以由用户根据情况灵活设定。本发明建议在存储空间上建立以120个历元为1个单位的模块中,这样原文件的历元数据便存放到了一个个组(模块)中。假如某天的观测值文 件中,存放有120000个历元数据,则 “缩小”的存储到1000个模块中。历元数据的第一行是“历元/卫星或事件标志”,用于存放该观测历元时刻的时标和在该历元所观测到卫星的数量及其列表或表明时间性质的标志。实施例具体处理方法为将模块中第一个历元的历元数据第一行不改变,以此为基础,将模块中其余历元的历元数据第一行与第一个历元的历元数据第一行分别进行对比,相同的地方不再记录存放,只将与第一个历元不同的地方在对应位置表示出来。每个历元数据的第一行与其他行的存储是一个存储单元,本发明按模块存储各历元的历元数据, 各历元处理后的历元数据第一行存放在模块内原位置。3卫星观测数据的压缩和处理每个历元的历元数据除第一行以外,都用于存放在该历元所采集到的所有卫星观测数据,所占行数与在该历元中所观测卫星的数量有关。每个模块内部,对N个历元的历元数据中所含卫星观测数据,进行二次求差,所述二次求差的实现过程包括第一次求差和第二次求差,将模块内第i个历元的卫星观测数据记为Xi, i取值范围为1至N,第一次求差时产生的差值为X2-X^ X3-X^hXn-Xim,第二次求差时产生的差值为(X3-X2)-(X2-X1), (X4-X3) - (X3-X2) - (Xn-Xn-!) " (Xn-i-XN-2);存储第一个历元的卫星观测数据X1、第一次求差产生的第一个差值X2-X1和第二次求差产生的所有差值(X3-X2) -(X2-X1)、(X4-X3) -(X3-X2)…(Xn-Xim) -(XN-rXN-2),取代 N 个历元的历元数据中所含卫星观测数据Xp Χ^··ΧΝ。也就是说,第一个历元的卫星观测数据X1保持不变,第二个历元的卫星观测数据X2替换为压缩值X2-X1,第三个历元的卫星观测数据X3替换为压缩值 (X3-X2)-(X2-X1),第四个历元的卫星观测数据X3替换为压缩值(X4-X3)-(X3-X2)…第N个历元的卫星观测数据Xn替换为压缩值(Xn-Xim)-(Χη-ΧΜ)。即在i大于2时,第i个历元的卫星观测数据Xi压缩为Yi = (Xi-Xi^1)-(X^rX^)。参见表1,以模块中存储10个历元为例。在每个模块中,将各自对应的原始文件每一个历元的位置相对应的卫星观测数据存放于如表1第二列中,将第二列的数据当中的后一个减去前一个的差存放于第三列中,将第三列的数据当中的后一个减去前一个的差存放于第四列中(例如10394. 264-10385. 201 = 9.063)。最终形成压缩后的数据序列来替代在原始文件中相应数据的位置。该表中压缩算法的实现方法原始数据 23752572.711,23762957.912,23773352.176,23783753.241,23794162. 618, 23804579. 884,23815005. 351,23825438. 362,23835879. 758,23846328. 947,经过压缩处理后的数据序列是 23752572. 711,10385. 201,9. 063,6. 801,8. 312,7. 889,8. 201,7. 544, 8. 385,7. 793。可以看出经压缩处理后的数据比原始的数据的存储量小了很多。
表1
权利要求
1.一种全球导航系统的观测值文件编码方法,其特征在于对观测值文件中的历元数据进行压缩处理,压缩时按照历元的时间顺序,将观测值文件中每N个历元的历元数据存储到1个模块中,N值由用户预先设定;在每个模块内部,处理方式如下,首先,以模块中的第一个历元的历元数据第一行为基础,将模块中其他历元的历元数据第一行与第一个历元的历元数据第一行分别进行对比,相同的内容不再存放,只将不同的内容保留;然后,对模块中N个历元的历元数据中所含卫星观测数据,进行二次求差,所述二次求差的实现过程包括第一次求差和第二次求差,将模块内第i个历元的卫星观测数据记为&, i的取值范围为1至N,第一次求差时产生的差值为A-X1 J3I^Xn-Xn+第二次求差时产生的差值为( - )- (X2-X1)^(X4-X3)- (X3-X2) ... (Xn-Xn-I)- (Xh-XN-2);存储第一个历元的卫星观测数据&、第一次求差产生的第一个差值和第二次求差产生的所有差值 (X3-X2)- (X2-X1)^(X4-X3)- (X3-X2) ... (Xn-Xn-I)- (\-i-U,取代 N 个历元的历元数据中所含卫星观测数据&、)(2…\。
2.根据权利要求1所述全球导航系统的观测值文件编码方法,其特征在于预设的N 值为120。
3.根据权利要求1或2所述全球导航系统的观测值文件编码方法,其特征在于对观测值文件中的文件头所含多余信息进行删改。
4.一种全球导航系统的观测值文件解码方法,其特征在于解压某个历元的历元数据时,根据历元的时间,首先找到该历元所在的模块,再进到模块中按查找该历元的卫星观测数据压缩值;设该历元是所在模块中存储的第i个历元,该历元的卫星观测数据压缩值记为Yi, i的取值范围为1至N:当i=l时,该历元的卫星观测数据A=Y1,当i=2时,该历元的卫星观测数据A=XAY2=YAt,当i>2时,该历元的卫星观测数据Xii^+Yi+YiV+A。
全文摘要
本发明公开一种全球导航系统的观测值文件编解码方法,主要针对高频采样大型基准站网络系统中,数据的传输与存储管理。本发明以多个历元数据作为一个存储单位存储到单个模块中,在每个模块中,将各自对应的原始文件历元采用二次求差法,最终形成压缩后的数据序列来替代在原始文件中相应数据的位置。采用该技术方案,压缩比率在5%以内,对应用在网络RTK系统中的文件压缩来说是一种快速、高效的方法,有利于减轻数据链路传送数据的压力和降低用于传输数据的成本。
文档编号G06F17/30GK102156719SQ201110074908
公开日2011年8月17日 申请日期2011年3月28日 优先权日2011年3月28日
发明者宋伟伟, 易文婷, 楼益栋, 陈昊 申请人:武汉大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1