CN116456290B - 一种北斗位置信息报文压缩编码方法及系统 - Google Patents
一种北斗位置信息报文压缩编码方法及系统 Download PDFInfo
- Publication number
- CN116456290B CN116456290B CN202310700360.1A CN202310700360A CN116456290B CN 116456290 B CN116456290 B CN 116456290B CN 202310700360 A CN202310700360 A CN 202310700360A CN 116456290 B CN116456290 B CN 116456290B
- Authority
- CN
- China
- Prior art keywords
- data
- message
- conversion
- segment
- latitude
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000007906 compression Methods 0.000 title claims abstract description 34
- 230000006835 compression Effects 0.000 title claims abstract description 34
- 238000006243 chemical reaction Methods 0.000 claims abstract description 94
- 238000012545 processing Methods 0.000 claims abstract description 44
- 238000013507 mapping Methods 0.000 claims abstract description 36
- 230000008569 process Effects 0.000 claims abstract description 14
- 238000013144 data compression Methods 0.000 claims abstract description 12
- 230000000694 effects Effects 0.000 claims abstract description 11
- 238000012795 verification Methods 0.000 claims abstract description 9
- 238000004891 communication Methods 0.000 claims description 13
- 238000004364 calculation method Methods 0.000 claims description 5
- 230000000295 complement effect Effects 0.000 claims description 5
- 230000009471 action Effects 0.000 claims description 4
- 238000005192 partition Methods 0.000 claims description 4
- 229910002056 binary alloy Inorganic materials 0.000 claims description 3
- 230000001131 transforming effect Effects 0.000 claims 2
- DMBHHRLKUKUOEG-UHFFFAOYSA-N diphenylamine Chemical compound C=1C=CC=CC=1NC1=CC=CC=C1 DMBHHRLKUKUOEG-UHFFFAOYSA-N 0.000 claims 1
- 238000000638 solvent extraction Methods 0.000 claims 1
- 230000005540 biological transmission Effects 0.000 description 6
- LIWAQLJGPBVORC-UHFFFAOYSA-N ethylmethylamine Chemical compound CCNC LIWAQLJGPBVORC-UHFFFAOYSA-N 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/12—Messaging; Mailboxes; Announcements
- H04W4/14—Short messaging services, e.g. short message services [SMS] or unstructured supplementary service data [USSD]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/04—Protocols for data compression, e.g. ROHC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/06—Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/18—Information format or content conversion, e.g. adaptation by the network of the transmitted or received information for the purpose of wireless delivery to users or terminals
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明提出一种北斗位置信息报文压缩编码方法及系统,所述方法包括:读取报文类型并进行字符转换;为各段数据添加段标识;依次读取各段内的数据,并将各段内的数据进行转化、校验、异或处理,并将不可打印字符与特殊作用字符统一映射到特定组合字串上,得到第一转换报文数据;对得到第一转换报文数据中剩余的特殊标识进行二次转换,得到完全由字母和数字组成的第二转换报文数据;利用哈夫曼树对第二转换报文数据进行数据压缩,得到北斗位置信息报文压缩编码结果。本发明通过特定映射、与原报文中独有字段异或再转换等方式,将易读的明文转换为不可读的字串码,并处理掉部分特征分割符,实现报文压缩的同时提高了报文的安全性。
Description
技术领域
本发明属于数字通信中的压缩编码技术领域,具体涉及一种北斗位置信息报文压缩编码方法及系统。
背景技术
北斗卫星导航系统是中国自主建设运行的全球卫星导航系统,是为全球用户提供全天候、全天时、高精度的定位、导航和授时服务的时空基础设施。北斗卫星导航系统提供服务以来,已在交通运输、农林渔业、水文监测、气象测报、通信授时、电力调度、救灾减灾、公共安全等领域得到广泛应用。
然而北斗卫星导航系统对报文长度有一定的限制,当需要连续、高频次获取定位数据时,往往会带来通信资源紧缺,为了尽可能传输更多信息量,一般需要进行报文压缩以提高通信效率。比如公开号为CN105992154A的专利公开一种位置数据传输方法,其计算位置数据之间的差值并进行压缩传输,能够拓展位置数据的传输量,但是容易造成误差累计。公开号为CN108737976A的发明专利公开了一种基于北斗短报文的压缩传输方法,其通过分析不同类型的报文空间特点,在流行的压缩算法的基础上进行算法组合和改进,提高了算法通用性,但是对于位置数据,压缩算法较为复杂,不利于数据快速传输,且安全性有待提高。
发明内容
有鉴于此,本发明提出了一种北斗位置信息报文压缩编码方法及系统,用于解决现有报文压缩方案安全性不高的问题。
本发明第一方面,公开了一种北斗位置信息报文压缩编码方法,所述方法包括:
建立一张北斗位置信息报文的报文类型映射表,读取报文类型并进行字符转换;
依次读取各段数据并为各段数据添加段标识;
依次读取各段内的数据,并将各段内的数据进行转化、校验、异或处理,并将不可打印字符与特殊作用字符统一映射到特定组合字串上,得到第一转换报文数据;
对得到第一转换报文数据中剩余的特殊标识进行二次转换,得到完全由字母和数字组成的第二转换报文数据;
利用哈夫曼树对第二转换报文数据进行数据压缩,得到北斗位置信息报文压缩编码结果。
在以上技术方案的基础上,优选的,所述报文类型映射表中,报文头类型、报文句类型和报文类型均转换成对应字符,所述对应字符用数字表示。
在以上技术方案的基础上,优选的,所述段标识长度为12位,前5位记录本段序号,中间4位记录原数据段段长,其余位置保留,保留位暂且置0。
在以上技术方案的基础上,优选的,所述依次读取各段内的数据,并将各段内的数据进行转化、校验、异或处理,并将不可打印字符与特殊作用字符统一映射到特定组合字串上,得到第一转换报文数据具体包括:
依次读取段内数据,将其转化为16进制ASCII值,并与报文段尾进行校验和异或,再与127异或,进行一个127内的补数计算;
建立一个特殊字符映射表,将原ASCII中的不可打印字符与特殊作用字符统一映射到特定组合字串上;
重复以上段内数据处理过程,到校验和标识‘’结束,并将‘/>’作为新校验和标识,将校验和与转换后的报文类型特定位异或;
保留结尾字符,得到第一转换报文数据。
在以上技术方案的基础上,优选的,所述对得到第一转换报文数据中剩余的特殊标识进行二次转换,得到完全由字母和数字组成的第二转换报文数据具体包括:
依次读取第一转换报文数据并转化为二进制,保留7位并拼接到一起;
若拼接处理后的数据长度非8的整数倍,则在后面补0至长度满足8的整数倍;
将8的整数倍数据中,8位为一组转换为16进制数,得到第二转换报文数据。
在以上技术方案的基础上,优选的,对于GPGGA报文,所述读取报文类型并进行字符转换之前,还包括:
对于GPGGA报文中的时间字段,将时间字段转化为对应二进制并保留最低所需比特位数,并使用base64编码转换为4个字符;
对于GPGGA报文中的经纬度字段,将经纬度字段分别通过经纬度不断分区的形式转换成经度二进制串和纬度二进制串,并进行拼接、转换处理。
在以上技术方案的基础上,优选的,所述将经纬度字段分别通过经纬度不断分区的形式转换成经度二进制串和纬度二进制串具体包括:
对经纬度字段中的经度数据/纬度数据,分别将经度范围、纬度范围划分为两个区间,用0和1表示每次经度数据/纬度数据所落在的区间,将经度数据、纬度数据所落在的区间再次划分为两个区间,用0和1表示每次经度数据/纬度数据所落在的区间,重复以上过程直到划分到想要的精度,得到一个经度二进制串/纬度二进制串。
本发明第二方面,公开一种北斗位置信息报文压缩编码系统,所述系统包括:
类型转换模块:用于建立一张北斗位置信息报文的报文类型映射表,读取报文类型并进行字符转换;
数据编码模块:用于依次读取各段数据并为各段数据添加段标识;依次读取各段内的数据,并将各段内的数据进行转化、校验、异或处理,并将不可打印字符与特殊作用字符统一映射到特定组合字串上,得到第一转换报文数据;对得到第一转换报文数据中剩余的特殊标识进行二次转换,得到完全由字母和数字组成的第二转换报文数据;
数据压缩模块:用于利用哈夫曼树对第二转换报文数据进行数据压缩,得到北斗位置信息报文压缩编码结果。
本发明第三方面,公开一种电子设备,包括:至少一个处理器、至少一个存储器、通信接口和总线;
其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令,以实现如本发明第一方面所述的方法。
本发明第四方面,公开一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令使计算机实现如本发明第一方面所述的方法。
本发明相对于现有技术具有以下有益效果:
1)本发明建立并维护一个报文类型映射表,读取报文类型并进行字符转换,并对段内的数据进行转化、校验、异或处理和映射处理,得到的第一转换报文数据可以将报文特征隐藏,增加安全性,将第一转换报文数据中剩余的特殊标识进行二次转换,得到完全由字母和数字组成的第二转换报文数据,增加安全性的同时减少字符种类,便于在利用哈夫曼树进行处理时减少相应的叶子数量会,从而减少编码长度,提高压缩效率;
2)本发明为各段增加段标识,将段内数据转化为16进制ASCII值,并与报文段尾校验和进行异或,再与127异或,进行一个127内的补数计算,然后将原ASCII中的不可打印字符与特殊作用字符统一映射到特定组合字串上,可以提高位置数据传输的安全性;
3)本发明针对GPGGA报文中的时间字段和经纬度字段进行了特殊处理,对于时间字段只保留最低所需比特位数的二进制数据,对于经纬度字段,通过geohash编码思想生成经度二进制串和纬度二进制串并进行编码处理,可以提高压缩效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的北斗位置信息报文压缩编码方法流程图;
图2为NMEA报文格式示例;
图3为第一转换报文数据的转换过程详细流程图;
图4为第二转换报文数据的转换过程示例图;
图5为本发明的数据处理过程中的数据文件大小示例。
具体实施方式
下面将结合本发明实施方式,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
请参阅图1,本发明提出一种北斗位置信息报文压缩编码方法,所述方法包括:
S1、建立一张北斗位置信息报文的报文类型映射表,读取报文类型并进行字符转换。
S11、读取一段北斗位置信息报文记录校验和,将起始字段‘$’变换为‘$$’。
S12、维护一张报文类型映射表,读取报文类型并转换。
报文类型映射表中,报文头类型、报文句类型和报文类型均转换成对应字符,所述对应字符用数字表示。表1、表2分别为报文类型映射表示例:
表1 报文类型映射表示例1
表2 报文类型映射表示例2
S2、依次读取各段数据并为各段数据添加段标识,并将各段内的数据进行转化、校验、异或处理,并将不可打印字符与特殊作用字符统一映射到特定组合字串上,得到第一转换报文数据。
步骤S2包括具体的如下分步骤:
S21、依次读取各段数据并为各段数据添加段标识。
以‘,’为界限,依次读取北斗位置信息报文中两个‘,’间的数据进行再编码,为便于还原数据,各段增加12b作为段标识。段标识中,前5位记录本段序号,中间4位记录原数据段段长,其余3位保留,保留位暂且置0,若后续发现有需要可用于对数据段进行特殊标记,此外取3位的主要原因是让序号位数为4的倍数,便于处理和转换。
以NMEA报文为例,图2为NMEA报文格式示例,其中,顶部的1~15为NMEA报文格式给出的段序,NMEA报文以‘,’对报文段进行划分,因此段序号是两个‘,’之间数据的序号。
S22、依次读取各段内数据,将段内数据转化为16进制ASCII值(占1B),并与报文段尾校验和进行异或,再与127异或,进行一个127内的补数计算。
S23、建立一个特殊字符映射表,将原ASCII中的不可打印字符与特殊作用字符统一映射到特定组合字串上。特殊字符映射表如下:
表3 特殊字符映射表
表3的ASCII一列中除编号为36~42的$、%、&、‘、(、)、外,其他均为控制字符,不可打印,本发明通过转换、异或和映射处理,可以将报文特征隐藏,并通过对不可打印字符与特殊作用字符的转换处理增加报文的安全性。
S24、重复以上步骤S21~S23的处理过程。
S25、至校验和标识符‘’结束循环,将‘/>’转换为‘/>’,将‘/>’作为新校验和标识,将校验和与经过表3映射后的报文类型特定位异或;
S26、保留结尾字符‘\r\n’,继续处理下一段报文至结束,得到第一转换报文数据。
如图3所示为步骤S1~S2处理得到第一转换报文数据的转换过程详细流程图。读入一段报文,进入步骤S1,记录校验和,起始标识变为‘$$’,然后读入报文类型根据报文类型映射表进行转换。每次循环时读入下一字节,判断该字节是否为校验和提示符‘’,若是,直接进入步骤S35和S36;若否,判断该字节是否为‘,’,若是,进入步骤S21,在本段最前添加3个16进制数作为段标识,进入下一循环;若否,进入步骤S22,将该字节转换为16进制ASCII值并与校验和异或;然后判断异或后的ASCII是否为可打印字符,若是,转换为可打印字符,若否,借助特殊字符映射表进行转换,进入下一循环。
S3、对得到第一转换报文数据中剩余的特殊标识进行二次转换,得到完全由字母和数字组成的第二转换报文数据。
经过步骤S1和S2处理得到的第一转换报文数据中,仍有部分较明显的标识,为了增加安全性的同时减少字符种类,需要将这些较明显的标识彻底数字和字母化。减少字符种类的好处在于后续利用哈夫曼树进行处理时相应的叶子数量会减少,编码长度也就会减少,压缩效率会更好。
步骤S3具体包括如下分步骤:
S31、依次读取第一转换报文数据并转化为二进制,将各个二进制数据保留7位并按顺序拼接到一起。
S32、若拼接处理后的数据长度非8的整数倍,则在后面补0至长度满足8的整数倍。
S33、将8的整数倍数据中,以四位为一组转换为16进制数,得到第二转换报文数据。
图4为以一小段数据“64))7&”为例进行第二转换报文数据转换的转换过程示例图,其中阶段①将一小段数据“64))7&”转换为二进制数据,阶段②对拼接处理后的42位数据二进制数据补6位0至48位,使数据长度为8的整数倍。阶段③将48位二进制数据分成4位一组,阶段④将每四位转换为一个十六进制数。
S4、利用哈夫曼树对第二转换报文数据进行数据压缩,得到北斗位置信息报文压缩编码结果。
经二轮处理后的得到的第二转换报文数据仅包含16进制的数字和字母(即0~9,abcdef),会有较高的数据重复率,本发明利用哈夫曼树进行数据压缩,使压缩处理后的数据长度尽量与初始数据更小或一致。
利用哈夫曼树进行数据压缩的原理为:统计各字符出现频次;构建哈夫曼编码树;借助编码树对数据进行重新编码。
下面结合具体示例对本发明的效果进行说明,如图5所示为本发明的数据处理过程中的数据文件大小示例。
如图5所示,获取的原始北斗位置信息报文data.txt为250KB,报文内容为:
$GNGGA, 093756.000, 3218.558095, N, 11848.197146,E,1,25,0.59, 10.328,M,0.82,M,,41 \r\n
经过步骤S1和S2处理得到的得到第一转换报文数据test.txt为329KB,数据内容为:
$$100C8656764))77148475>))5102188I25066344))3563288B3083390474186))74A84?))>2508J5B0)64))17608J69076/>68
经过步骤S3处理得到的得到第二转换报文数据ans2.txt为542KB,数据内容为:
244845386e1b356c5d33452a5b37625143466d5f295255b64c5c3812492b64d193468254b362d193270621336e193372412376c5c3652253b482e1a3f522573262c1c4a6b92154d1a2952453b66e253672413b654a1b3850
再采用哈夫曼树对第二转换报文数据进行数据压缩(压缩后数据显示会乱码,本发明中不再列出),压缩得到的测试文档.txt.zip为209KB,由该示例可以看出,本发明除了可以提高数据的安全性,还具有较好的压缩率。
本发明通过特定映射、与原报文中独有字段异或再转换等方式,将易读的明文转换为不可读的字串码,并处理掉部分特征分割符,实现报文压缩编码的同时还提高了报文的安全性。
S5、GPGGA报文的特殊处理。
以上报文处理方法适用于大多数北斗位置信息报文,对于GPGGA报文,还可以进行一些特殊处理,因为GPGGA报文存在固定的时间与地理位置字段,针对其进行收缩可一定程度上减少数据量,该处理在步骤S1处理前进行。
S51、对于GPGGA报文中的时间字段,将时间字段转化为对应二进制并保留最低所需比特位数,并使用base64编码转换为4个字符。
GPGGA报文中,时间字段属于字段1,本发明以时间字段123545.00为例进行说明。
将时分秒各自看成一个数,将其转化为对应二进制并保留最低所需比特位数:
小时:值从0~23,保留五位(12→01100)
分钟&秒钟前2位:值从0~59,保留六位(35→100011 45→101101)
秒钟后2位:值从0~99,保留7位(00→0000000)
上述一共需24bit(011001000111011010000000),经过使用base64编码转换为4个字符(ZHaA)。
S52、对于GPGGA报文中的经纬度字段,将经纬度字段分别通过经纬度不断分区的形式转换成经度二进制串和纬度二进制串,并进行拼接、转换处理。
具体的,经纬度字段对应字段2-5,根据geohash编码规则,在编码位数为9的时候经纬度在GGA报文中的精度误差可忽略,因此可以将经纬度字段减少为1个字段,对比原有的编码方案数据量一定会减少,因此可以用来实现压缩编码。
经例如:纬度字段为:3218.558095, N, 11848.197146, E
字段2:3218.558095,字段3:N
字段4:11848.197146,字段5:E
首先判断字段3、5的正负,根据字段的正负进行二进制转换,如表4所示:
表4 字段的正负与二进制转换
根据表4得到的二进制作为字段2、4的第0位编码,因为原数据是直接给出东西南北的,所以可由对应字段直接判断第0位是0或1。
后续依据geohash的思想进行范围划分,最后形成9位(或以上)的geohash码。具体的,对经纬度字段中的经度数据/纬度数据,分别将经度范围/纬度范围划分为两个区间,用0和1表示每次经度数据/纬度数据所落在的区间,将经度数据/纬度数据所落在的区间再次划分为两个区间,用0和1表示每次经度数据/纬度数据所落在的区间,重复以上过程直到划分到想要的精度,得到一个经度二进制串/纬度二进制串。如表5所示,是以字段2的纬度数据3218.558095为例,将纬度数据转换为纬度二进制串的部分区间划分示例。
表5 将纬度数据转换为二进制串的部分示例
采用以上转换纬度二进制串的相同方式转换经度二进制串,并进行精度取舍以保持经度二进制串和纬度二进制串具有相同长度,然后按照奇数位纬度偶数位经度的规则将两个二进制数串拼到一起;最后5位一组转换为base32编码,完成GPGGA报文中经纬度字段的处理。
本发明针对GPGGA报文中的时间字段和经纬度字段进行了特殊处理,对于时间字段只保留最低所需比特位数的二进制数据,对于经纬度字段,通过geohash编码思想生成经度二进制串和纬度二进制串并进行编码处理,可以提高压缩效率。
与上述方法实施例相对应,本发明还提出一种北斗位置信息报文压缩编码系统,所述系统包括:
类型转换模块:用于建立一张北斗位置信息报文的报文类型映射表,读取报文类型并进行字符转换;
数据编码模块:用于依次读取各段数据并为各段数据添加段标识;依次读取各段内的数据,并将各段内的数据进行转化、校验、异或处理,并将不可打印字符与特殊作用字符统一映射到特定组合字串上,得到第一转换报文数据;对得到第一转换报文数据中剩余的特殊标识进行二次转换,得到完全由字母和数字组成的第二转换报文数据;
数据压缩模块:用于利用哈夫曼树对第二转换报文数据进行数据压缩,得到北斗位置信息报文压缩编码结果。
以上系统实施例和方法实施例是一一对应的,系统实施例简述之处请参阅方法实施例即可。
本发明还公开一种电子设备,包括:至少一个处理器、至少一个存储器、通信接口和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令,以实现本发明前述的方法。
本发明还公开一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机实现本发明实施例所述方法的全部或部分步骤。所述存储介质包括:U盘、移动硬盘、只读存储器ROM、随机存取存储器RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以分布到多个网络单元上。本领域普通技术人员在不付出创造性的劳动的情况下,可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
以上所述仅为本发明的较佳实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种北斗位置信息报文压缩编码方法,其特征在于,所述方法包括:
建立一张北斗位置信息报文的报文类型映射表,读取报文类型并进行字符转换;
依次读取各段数据并为各段数据添加段标识;
依次读取各段内的数据,并将各段内的数据进行转化、校验、异或处理,并将不可打印字符与特殊作用字符统一映射到特定组合字串上,变换得到第一转换报文数据;
所述依次读取各段内的数据,并将各段内的数据进行转化、校验、异或处理,并将不可打印字符与特殊作用字符统一映射到特定组合字串上,得到第一转换报文数据具体包括:
依次读取段内数据,将其转化为16进制ASCII值,并与报文段尾进行校验和异或,再与127异或,进行一个127内的补数计算;
建立一个特殊字符映射表,将原ASCII中的不可打印字符与特殊作用字符统一映射到特定组合字串上;
重复以上段内数据处理过程,到校验和标识‘’结束,并将‘/>’作为新校验和标识,将新校验和标识与映射后的报文类型特定位进行异或处理;
保留结尾字符,得到第一转换报文数据;
对得到第一转换报文数据中剩余的特殊标识进行二次转换,得到完全由字母和数字组成的第二转换报文数据;
所述对得到第一转换报文数据中剩余的特殊标识进行二次转换,得到完全由字母和数字组成的第二转换报文数据具体包括:
依次读取第一转换报文数据并转化为二进制,保留7位并拼接到一起;
若拼接处理后的数据长度非8的整数倍,则在后面补0至长度满足8的整数倍;
将8的整数倍数据中,8位为一组转换为16进制数,得到第二转换报文数据;
利用哈夫曼树对第二转换报文数据进行数据压缩,得到北斗位置信息报文压缩编码结果。
2.根据权利要求1所述的北斗位置信息报文压缩编码方法,其特征在于,所述报文类型映射表中,报文头类型、报文句类型和报文类型均转换成对应字符,所述对应字符用数字表示。
3.根据权利要求1所述的北斗位置信息报文压缩编码方法,其特征在于,所述段标识长度为12位,前5位记录本段序号,中间4位记录原数据段段长,其余位置保留,保留位暂且置0。
4.根据权利要求1所述的北斗位置信息报文压缩编码方法,其特征在于,对于GPGGA报文,所述读取报文类型并进行字符转换之前,还包括:
对于GPGGA报文中的时间字段,将时间字段转化为对应二进制并保留最低所需比特位数,并使用base64编码转换为4个字符;
对于GPGGA报文中的经纬度字段,将经纬度字段分别通过经纬度不断分区的形式转换成经度二进制串和纬度二进制串,并进行拼接、转换处理。
5.根据权利要求4所述的北斗位置信息报文压缩编码方法,其特征在于,所述将经纬度字段分别通过经纬度不断分区的形式转换成经度二进制串和纬度二进制串具体包括:
对经纬度字段中的经度数据/纬度数据,将经度范围/纬度范围划分为两个区间,用0和1表示每次经度数据/纬度数据所落在的区间,将经度数据/纬度数据所落在的区间再次划分为两个区间,用0和1表示每次经度数据/纬度数据所落在的区间,重复以上过程直到划分到想要的精度,得到一个经度二进制串/纬度二进制串。
6.一种北斗位置信息报文压缩编码系统,其特征在于,所述系统包括:
类型转换模块:用于建立一张北斗位置信息报文的报文类型映射表,读取报文类型并进行字符转换;
数据编码模块:用于依次读取各段数据并为各段数据添加段标识;依次读取各段内的数据,并将各段内的数据进行转化、校验、异或处理,并将不可打印字符与特殊作用字符统一映射到特定组合字串上,变换得到第一转换报文数据;对得到第一转换报文数据中剩余的特殊标识进行二次转换,得到完全由字母和数字组成的第二转换报文数据;
所述数据编码模块具体用于:依次读取段内数据,将其转化为16进制ASCII值,并与报文段尾进行校验和异或,再与127异或,进行一个127内的补数计算;建立一个特殊字符映射表,将原ASCII中的不可打印字符与特殊作用字符统一映射到特定组合字串上;重复以上段内数据处理过程,到校验和标识‘’结束,并将‘/>’作为新校验和标识,将新校验和标识与映射后的报文类型特定位进行异或处理;保留结尾字符,得到第一转换报文数据;依次读取第一转换报文数据并转化为二进制,保留7位并拼接到一起;若拼接处理后的数据长度非8的整数倍,则在后面补0至长度满足8的整数倍;将8的整数倍数据中,8位为一组转换为16进制数,得到第二转换报文数据;
数据压缩模块:用于利用哈夫曼树对第二转换报文数据进行数据压缩,得到北斗位置信息报文压缩编码结果。
7.一种电子设备,其特征在于,包括:至少一个处理器、至少一个存储器、通信接口和总线;
其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令,以实现如权利要求1~5任一项所述的方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储计算机指令,所述计算机指令使计算机实现如权利要求1~5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310700360.1A CN116456290B (zh) | 2023-06-14 | 2023-06-14 | 一种北斗位置信息报文压缩编码方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310700360.1A CN116456290B (zh) | 2023-06-14 | 2023-06-14 | 一种北斗位置信息报文压缩编码方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116456290A CN116456290A (zh) | 2023-07-18 |
CN116456290B true CN116456290B (zh) | 2023-09-12 |
Family
ID=87132378
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310700360.1A Active CN116456290B (zh) | 2023-06-14 | 2023-06-14 | 一种北斗位置信息报文压缩编码方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116456290B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103279462A (zh) * | 2013-05-28 | 2013-09-04 | 浙江大学 | 一种适用于北斗短报文民用协议的数据编码/解码方法 |
CN105630755A (zh) * | 2016-01-22 | 2016-06-01 | 上海普适导航科技股份有限公司 | 北斗卫星短报文扩大信息量传输的信源编解码方法及装置 |
CN109769217A (zh) * | 2018-11-15 | 2019-05-17 | 安徽继远软件有限公司 | 一种基于北斗的用电信息采集通信装置及方法 |
WO2021227301A1 (zh) * | 2020-05-15 | 2021-11-18 | 诺领科技(南京)有限公司 | 卫星导航定位辅助星历数据压缩及传输方法 |
CN114900796A (zh) * | 2022-07-15 | 2022-08-12 | 北京太极疆泰科技发展有限公司 | 一种基于北斗短报文传输的经纬度坐标压缩方法 |
CN115002835A (zh) * | 2022-06-30 | 2022-09-02 | 商飞软件有限公司 | 基于北斗系统的飞机位置信息压缩传输方法 |
-
2023
- 2023-06-14 CN CN202310700360.1A patent/CN116456290B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103279462A (zh) * | 2013-05-28 | 2013-09-04 | 浙江大学 | 一种适用于北斗短报文民用协议的数据编码/解码方法 |
CN105630755A (zh) * | 2016-01-22 | 2016-06-01 | 上海普适导航科技股份有限公司 | 北斗卫星短报文扩大信息量传输的信源编解码方法及装置 |
CN109769217A (zh) * | 2018-11-15 | 2019-05-17 | 安徽继远软件有限公司 | 一种基于北斗的用电信息采集通信装置及方法 |
WO2021227301A1 (zh) * | 2020-05-15 | 2021-11-18 | 诺领科技(南京)有限公司 | 卫星导航定位辅助星历数据压缩及传输方法 |
CN115002835A (zh) * | 2022-06-30 | 2022-09-02 | 商飞软件有限公司 | 基于北斗系统的飞机位置信息压缩传输方法 |
CN114900796A (zh) * | 2022-07-15 | 2022-08-12 | 北京太极疆泰科技发展有限公司 | 一种基于北斗短报文传输的经纬度坐标压缩方法 |
Non-Patent Citations (1)
Title |
---|
民用北斗短报文的船载冷链信息压缩传输方法;殷振凯等;《单片机与嵌入式系统应用》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116456290A (zh) | 2023-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105684316B (zh) | 一种Polar码编码方法、装置 | |
US10013434B2 (en) | Geographic coordinate encoding device, method, and storage medium, geographic coordinate decoding device, method, and storage medium, and terminal unit using geographic coordinate encoding device | |
CN108631942A (zh) | 编码方法、译码方法、装置和设备 | |
CN101008890A (zh) | 整型数据的压缩方法、装置及解压缩方法、装置 | |
CN103400173A (zh) | 一种含隐私信息的二维码生成及读取方法 | |
CN111865493A (zh) | 数据处理方法及相关设备 | |
CN102541926B (zh) | 一种数据交换处理方法、设备和系统 | |
CN105868194A (zh) | 文本数据压缩、解压方法及装置 | |
CN113094346A (zh) | 基于时间序列的大数据编解码方法及装置 | |
CN110569967A (zh) | 一种基于算术编码的神经网络模型压缩加密方法及系统 | |
CN104125475B (zh) | 一种多维量子数据压缩、解压缩方法及装置 | |
CN104850619A (zh) | 单据编码生成的方法和装置 | |
CN116456290B (zh) | 一种北斗位置信息报文压缩编码方法及系统 | |
CN117240409B (zh) | 一种用于智能手机与智能穿戴设备的数据处理方法 | |
CN116208667B (zh) | 一种可变长高压缩的比特报文编解码方法 | |
CN114065269B (zh) | 无绑定型非同质化代币的生成方法和解析方法和存储介质 | |
CN114025024B (zh) | 一种数据传输方法及装置 | |
CN110808739A (zh) | 一种信源符号概率分布未知的二元编码方法及装置 | |
US9235610B2 (en) | Short string compression | |
CN113037574A (zh) | 基于软件定义的机载装备实时信号处理方法及系统 | |
JP2021141576A (ja) | データ処理システム | |
CN111866520A (zh) | 编解码方法、编解码设备以及通信系统 | |
CN116684003B (zh) | 一种基于量子通信的铁路沿线空地综合监测方法及系统 | |
CN114706725B (zh) | 一种基于云平台的设备数据处理方法及系统 | |
RU2510940C1 (ru) | Система передачи и приема информации |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |