用于北斗车载系统的定位数据压缩方法和系统的制作方法

文档序号:7546414阅读:433来源:国知局
用于北斗车载系统的定位数据压缩方法和系统的制作方法
【专利摘要】本发明提供了一种用于北斗车载系统的定位数据压缩方法,所述方法包括将所述N条定位数据依次转化为N条包含定位状态、纬度、经度、地面速度和地面方位的预处理定位数据,并利用预设的块计数器,记录所述N值;对所述N条包含定位状态、纬度、经度、地面速度和地面方位的N条预处理定位数据进行半字节压缩处理,得到N条第一压缩定位数据;将存储的第一条定位数据的语句标识头、世界标准时间、纬度半球、经度半球、日期和所述预设的块计数器记录的N值增加到所述N条第一压缩定位数据的第一条压缩定位数据的前端,和剩下的N-1条第一压缩定位数据一起组成第二压缩定位数据。本发明提高了数据压缩比,降低了系统资源消耗。
【专利说明】用于北斗车载系统的定位数据压缩方法和系统

【技术领域】
[0001]本发明涉及数据处理领域,具体涉及一种用于北斗车载系统的定位数据压缩方法和系统。

【背景技术】
[0002]在北斗车载系统的定位导航系统中,面临的主要问题有:北斗车载系统为实现导航功能,必须存储大量的定位数据;同时这些数据还要通过GSM信道上传到控制调度中心,如果是通过北斗短报文方式发送,则需要分若干次发送。因此需要采用一种数据压缩方法,能够在不增加硬件成本的前提下,从软件的角度充分发挥系统现有资源的作用,解决现有北斗定位导航系统中定位数据量较大的问题。
[0003]由于嵌入式北斗车载系统要求定位数据的压缩方法是无损的,压缩比尽可能的高,同时要求压缩代码和解压代码所需的信息代码足够短,能够快速而且自动地实现数据的压缩操作。因此尽管目前有很多成熟的压缩算法,但很难同时满足以上要求。
[0004]现有研究已经在GPS定位数据压缩算法上取得了一定成果,典型的有半字节压缩算法、Huffman算法等,为北斗定位数据压缩算法研究提供了一定的借鉴。但是鉴于北斗车载系统对数据压缩的实际需求,需要一种压缩比更高,系统资源消耗低的高效压缩算法。


【发明内容】

[0005]针对现有技术中的缺陷,本发明提供了一种用于北斗车载系统的定位数据压缩方法和系统,提高了数据压缩比,降低了系统资源消耗,提高了数据处理效率。
[0006]第一方面,本发明提供一种用于北斗车载系统的定位数据压缩方法,所述方法包括:
[0007]对于包含语句标识头、世界标准时间、定位状态、纬度、经度、纬度半球、经度半球、地面速度、地面方位、日期、磁偏角、磁偏角方向和模式指示的N条定位数据,提取第一条定位数据的语句标识头、世界标准时间、纬度半球、经度半球和日期,将所述N条定位数据依次转化为N条包含定位状态、纬度、经度、地面速度和地面方位的预处理定位数据,并利用预设的块计数器,记录所述N值,其中N为正整数;
[0008]对所述N条包含定位状态、纬度、经度、地面速度和地面方位的N条预处理定位数据进行半字节压缩处理,得到N条第一压缩定位数据;
[0009]将所述提取的第一条定位数据的语句标识头、世界标准时间、纬度半球、经度半球和日期,以及所述预设的块计数器记录的N值,都增加到所述N条第一压缩定位数据的第一条压缩定位数据的前端;
[0010]将增加所述提取的第一条定位数据的语句标识头、世界标准时间、纬度半球、经度半球和日期,以及所述预设的块计数器记录的N值后的第一条压缩定位数据和剩下的N-1条第一压缩定位数据一起组成第二压缩定位数据。
[0011]第二方面,本发明提供一种用于北斗车载系统的定位数据压缩系统,所述系统包括:
[0012]预处理模块,用于对于包含语句标识头、世界标准时间、定位状态、纬度、经度、纬度半球、经度半球、地面速度、地面方位、日期、磁偏角、磁偏角方向和模式指示的N条定位数据,提取第一条定位数据的语句标识头、世界标准时间、纬度半球、经度半球和日期,将所述N条定位数据依次转化为N条包含定位状态、纬度、经度、地面速度和地面方位的预处理定位数据,并利用预设的块计数器,记录所述N值;
[0013]压缩模块,用于对预处理模块发送的所述N条包含定位状态、纬度、经度、地面速度和地面方位的N条预处理定位数据进行半字节压缩处理,得到N条第一压缩定位数据;
[0014]组合模块,用于将预处理模块发送的第一条定位数据的语句标识头、世界标准时间、纬度半球、经度半球和日期,以及所述预设的块计数器记录的N值,都增加到压缩模块发送的所述N条第一压缩定位数据的第一条压缩定位数据的前端;
[0015]将增加所述提取的第一条定位数据的语句标识头、世界标准时间、纬度半球、经度半球和日期,以及所述预设的块计数器记录的N值后的第一条压缩定位数据和剩下的N-1条第一压缩定位数据一起组成第二压缩定位数据。
[0016]由上述技术方案可知,本发明的用于北斗车载系统的定位数据压缩方法及系统,对定位数据去除冗余信息,只留下定位所需的必要信息,从而大大降低了定位数据的信息量,然后针对去除冗余信息的必要定位数据,进行半字节压缩处理,从而进一步提高了压缩率。本发明减少了北斗定位数据的存储空间,满足了嵌入式车载系统对北斗定位数据存储的需求,同时也减少了北斗数据传输的负荷。

【专利附图】

【附图说明】
[0017]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0018]图1是本发明实施例一提供的用于北斗车载系统的定位数据压缩方法的流程图;
[0019]图2是本发明实施例二提供的压缩前后的数据格式示意图;
[0020]图3是本发明实施例二提供的第二压缩数据的存储格式;
[0021]图4是本发明实施例三提供的用于北斗车载系统的定位数据压缩系统的结构示意图。

【具体实施方式】
[0022]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0023]NMEAOI83 是美国国家海洋电子协会(Nat1nal Marine ElectronicsAssociat1n)为海用电子设备制定的标准格式。北斗定位模块接收的定位数据符合NMEA-0183通信协议,其输出数据采用的是ASCII字符组成的字符串,包含了经度、纬度、速度、时间、日期及卫星状况等信息。NMEA — 0183协议中最常见的格式有很多种,但对于北斗车载系统的使用者只关心其日期、时间、纬度、经度、地面方位等信息,由此NMEA — 0183协议中的RMC格式比较合适北斗车载系统。
[0024]一条$BDRMC定位数据包括13个记录:语句标识头(即压缩标识$BDRMC)、世界标准时间、定位状态、纬度、经度、纬度半球、经度半球、地面速度、地面方位、日期、磁偏角、磁偏角方向和模式指示。一共占70个字节,其中也包括用于分隔记录所使用的逗号。
[0025]图1示出了本发明实施例一提供的用于北斗车载系统的定位数据压缩方法的流程图,如图1所示,本实施例的用于北斗车载系统的定位数据压缩方法如下所述。
[0026]步骤101:对于包含语句标识头、世界标准时间、定位状态、纬度、经度、纬度半球、经度半球、地面速度、地面方位、日期、磁偏角、磁偏角方向和模式指示的N条定位数据,提取第一条定位数据的语句标识头、世界标准时间、纬度半球、经度半球和日期,将所述N条定位数据依次转化为N条包含定位状态、纬度、经度、地面速度和地面方位的预处理定位数据,并利用预设的块计数器,记录所述N值,其中N为正整数。
[0027]步骤102:对所述N条包含定位状态、纬度、经度、地面速度和地面方位的N条预处理定位数据进行半字节压缩处理,得到N条第一压缩定位数据。
[0028]步骤103:将所述提取的第一条定位数据的语句标识头、世界标准时间、纬度半球、经度半球和日期,以及所述预设的块计数器记录的N值,都增加到所述N条第一压缩定位数据的第一条压缩定位数据的前端;
[0029]将增加所述提取的第一条定位数据的语句标识头、世界标准时间、纬度半球、经度半球和日期,以及所述预设的块计数器记录的N值后的第一条压缩定位数据和剩下的N-1条第一压缩定位数据一起组成第二压缩定位数据。
[0030]由此,本实施例的用于北斗车载系统的定位数据压缩方法,对定位数据去除冗余信息,只留下定位所需的必要信息,从而大大降低了定位数据的信息量,然后针对去除冗余信息的必要定位数据,进行半字节压缩处理,从而进一步提高了压缩率。本实施例所述方法提高了数据压缩比,减少了北斗定位数据的存储空间,满足了嵌入式车载系统对北斗定位数据存储的需求,同时也减少了北斗数据传输的负荷。
[0031]下面通过实施例二,更为详细地说明本发明的一个较佳实现过程。
[0032]一条$BDRMC定位数据包括13个记录:语句标识头(即压缩标识$BDRMC)、世界标准时间、定位状态、纬度、经度、纬度半球、经度半球、地面速度、地面方位、日期、磁偏角、磁偏角方向和模式指示。一共占70个字节,其中也包括用于分隔记录所使用的逗号。
[0033]$BDRMC数据格式如下所示:
[0034]$BDRMC,〈1>,〈2>,〈3>,〈4>,〈5>,〈6>,〈7>,〈8>,〈9>,〈10>,〈11>,〈12>*〈13>〈CRXLF>
[0035]一条$BDRMC语句包括13个记录:语句标识头和〈1>?〈12>字段,其中后者分别表示固定位置的世界标准时间、定位状态、纬度、经度、纬度半球、经度半球、地面速度、地面方位、日期、磁偏角、磁偏角方向和模式指示。$BDRMC数据中的〈13>为校验和,〈CRXLF〉为结束标识。
[0036]对于语句标识头,由于每个语句的标识头都一样,为冗余信息,可以去除,在解压缩时再标注上即可。
[0037]对于世界标准时间,由于北斗车载系统的定位数据的采集是以秒为单位的,因此可去除无用的毫秒量级数据,只提取第一条语句上的UTC,作为UTC基数。接下来利用车载系统自身的计时时钟,因此对于世界标准时间这个记录为冗余信息。
[0038]对于纬度半球和经度半球,由于北斗目前只限于亚太地区使用,纬度和经度范围较为固定,而且车载系统的使用范围限定在国内,因此纬度半球和经度半球这两个记录为冗余信息。
[0039]对于日期,该记录以日、月、年的格式表示,占用6个字节,由于该字段在24小时内是完全一样的,只提取第一条语句上的日期即可,因此日期为冗余信息,可以去除。
[0040]对于磁偏角和磁偏角方向,为冗余信息,可去除。
[0041]对于模式指示,为冗余信息,在解压缩时再标注上即可。
[0042]还有语句中用来区分各个字段的逗号为冗余信息,可去除。
[0043]定位状态,占用I个字节,为关键信息,不做预处理,用A或V区分表示。
[0044]纬度,占用9个字节,为关键信息,用O?9的阿拉伯数字表示,不进行预处理
[0045]经度,占用10个字节,为关键信息,用O?9的阿拉伯数字表示,不进行预处理
[0046]地面速度,占用4个字节,为关键信息,用O?9的阿拉伯数字表示,不进行预处理。
[0047]地面方位,占用4个字节,为关键信息,用O?9的阿拉伯数字表示,不进行预处理。
[0048]对于校验和和结束标识,为冗余信息,可去除,在解压缩时再标注上即可。
[0049]经过处理后,对于包含语句标识头、世界标准时间、定位状态、纬度、经度、纬度半球、经度半球、地面速度、地面方位、日期、磁偏角、磁偏角方向、模式指示的13条记录的N条定位数据,转化为N条只包含定位状态、纬度、经度、地面速度和地面方位的5条记录的预处理定位数据,并利用预设的块计数器,记录所述N值。
[0050]在处理过程中,只存储第一条定位数据的语句标识头、世界标准时间、纬度半球、经度半球和日期。其中,第一条定位数据的语句标识头、纬度半球、经度半球和日期为公共信息,第一条定位数据的世界标准时间为UTC基数,后续可以根据预设的块计数器记录的值计算当前UTC。
[0051]经过上述处理后,包含13个记录共70个字节长的N条定位数据,变为包含5个记录共28字节的N条预处理定位数据。
[0052]经过预处理的定位数据,包含的文本字符有:0?9十个数字字符,A和V两个字母。因此利用半字节压缩方法对预处理后的定位数据进行压缩,得到第一压缩定位数据。其中O?9的ASCII码的高四位都一样,是冗余的,因此每一个数字字符用低四位来表示,即每个字符的八位编码可压缩为四位编码,不过A,V的ASCII码的高四位与数字符号不一样,这二者不做处理,将其用一个字节完整保留。
[0053]实现半字节压缩算法需要解决两个问题:压缩对象的计数以及如何把两个数字的低位和并到一个字节中。在本实施例中,由于每条定位数据经过压缩预处理后的数据长度是固定的28个字节长,因此不需要解决压缩对象的计数问题。后一个问题通过使奇数字符放在高四位,偶数字符的编码放在低四位就可以解决。如图2所示,图2示出了压缩前后的数据格式示意图。
[0054]所述存储的公共信息,即存储的第一条定位数据的语句标识头(即压缩标识$BDRMC)7个字节、世界标准时间(即UTC基数)6个字节、纬度半球I个字节、经度半球I个字节和日期6个字节,以及所述预设的块计数器记录的N值2个字节,共占23个字节。
[0055]将所述存储的第一条定位数据的语句标识头(即压缩标识$BDRMC)、世界标准时间(即UTC基数)、纬度半球、经度半球和日期,以及所述预设的块计数器记录的N值增加到所述N条第一压缩定位数据的第一条压缩定位数据的前端;
[0056]将增加所述提取的第一条定位数据的语句标识头、世界标准时间、纬度半球、经度半球和日期,以及所述预设的块计数器记录的N值后的第一条压缩定位数据和剩下的N-1条第一压缩定位数据一起组成第二压缩定位数据。具体参见图3,图3示出了第二压缩数据的存储格式。
[0057]其中,在解压缩时,世界标准时间可以通过第一条定位数据的世界标准时间(即UTC基数)和块计数器记录的N值进行还原。
[0058]采用本实施例所述的数据压缩方法,对模拟仿真的北斗格式数据进行压缩,得到如表1所示的实验结果。其中,每条定位数据长度为70字节。
[0059]表1测试结果
[0060]

【权利要求】
1.一种用于北斗车载系统的定位数据压缩方法,其特征在于,所述方法包括: 对于包含语句标识头、世界标准时间、定位状态、纬度、经度、纬度半球、经度半球、地面速度、地面方位、日期、磁偏角、磁偏角方向和模式指示的N条定位数据,提取第一条定位数据的语句标识头、世界标准时间、纬度半球、经度半球和日期,将所述N条定位数据依次转化为N条包含定位状态、纬度、经度、地面速度和地面方位的预处理定位数据,并利用预设的块计数器,记录所述N值,其中N为正整数; 对所述N条包含定位状态、纬度、经度、地面速度和地面方位的N条预处理定位数据进行半字节压缩处理,得到N条第一压缩定位数据; 将所述提取的第一条定位数据的语句标识头、世界标准时间、纬度半球、经度半球和日期,以及所述预设的块计数器记录的N值,都增加到所述N条第一压缩定位数据的第一条压缩定位数据的前端; 将增加所述提取的第一条定位数据的语句标识头、世界标准时间、纬度半球、经度半球和日期,以及所述预设的块计数器记录的N值后的第一条压缩定位数据和剩下的N-1条第一压缩定位数据一起组成第二压缩定位数据。
2.一种用于北斗车载系统的定位数据压缩系统,其特征在于,所述系统包括: 预处理模块,用于对于包含语句标识头、世界标准时间、定位状态、纬度、经度、纬度半球、经度半球、地面速度、地面方位、日期、磁偏角、磁偏角方向和模式指示的N条定位数据,提取第一条定位数据的语句标识头、世界标准时间、纬度半球、经度半球和日期,将所述N条定位数据依次转化为N条包含定位状态、纬度、经度、地面速度和地面方位的预处理定位数据,并利用预设的块计数器,记录所述N值; 压缩模块,用于对预处理模块发送的所述N条包含定位状态、纬度、经度、地面速度和地面方位的N条预处理定位数据进行半字节压缩处理,得到N条第一压缩定位数据; 组合模块,用于将预处理模块发送的第一条定位数据的语句标识头、世界标准时间、纬度半球、经度半球和日期,以及所述预设的块计数器记录的N值,都增加到压缩模块发送的所述N条第一压缩定位数据的第一条压缩定位数据的前端; 将增加所述提取的第一条定位数据的语句标识头、世界标准时间、纬度半球、经度半球和日期,以及所述预设的块计数器记录的N值后的第一条压缩定位数据和剩下的N-1条第一压缩定位数据一起组成第二压缩定位数据。
【文档编号】H03M7/30GK104168028SQ201410390129
【公开日】2014年11月26日 申请日期:2014年8月8日 优先权日:2014年8月8日
【发明者】朱连军, 陈财森, 李卫东 申请人:中国人民解放军装甲兵工程学院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1