用于北斗发送通用航空器经纬位置数据的多模型压缩方法.pdf

上传人:Y948****062 文档编号:4332590 上传时间:2018-09-14 格式:PDF 页数:14 大小:4MB
返回 下载 相关 举报
摘要
申请专利号:

CN201210358480.X

申请日:

2012.09.21

公开号:

CN102841356A

公开日:

2012.12.26

当前法律状态:

撤回

有效性:

无权

法律详情:

发明专利申请公布后的视为撤回IPC(主分类):H03M 7/40申请公布日:20121226|||实质审查的生效IPC(主分类):G01S 19/05申请日:20120921|||公开

IPC分类号:

G01S19/05(2010.01)I; H03M7/40

主分类号:

G01S19/05

申请人:

中国航空无线电电子研究所

发明人:

翟鸣; 施劲松; 刘经华; 张鹤

地址:

200233 上海市徐汇区桂平路432号

优先权:

专利代理机构:

上海和跃知识产权代理事务所(普通合伙) 31239

代理人:

杜林雪

PDF下载: PDF下载
内容摘要

本发明公开了一种用于北斗发送通用航空器经纬位置数据的多模型压缩方法,包含步骤一,根据实际情况确定经纬度和高度数据的精度并对数据进行截断处理;步骤二,基于一个或一个以上的假设模型对步骤一中经过截断处理的数据分别进行预测编码;步骤三,对步骤二中得到的多组预测编码数据分别进行霍夫曼编码;步骤四,对步骤三中得到的多组霍夫曼编码分别生成压缩数据的数据头和压缩数据体,选择字节数最小的作为最终的压缩结果;步骤五,数据的解压缩。本发明使用基于不同模型的预测编码,可以进一步提高压缩效率,以便实现对航空器的精确的监控。

权利要求书

1.用于北斗发送通用航空器经纬位置数据的多模型压缩方法,其特征在于,包括如下步骤:步骤一,根据实际情况确定经纬度和高度数据的精度,并根据确定的精度要求对数据进行截断处理;步骤二,基于一个或一个以上的假设模型对步骤一中经过截断处理的数据分别进行预测编码;步骤三,对步骤二中得到的多组预测编码数据分别进行霍夫曼编码;步骤四,对步骤三中得到的多组霍夫曼编码分别生成压缩数据的数据头和压缩数据体,并比较每组数据头和数据体所占用的字节数,选择字节数最小的作为最终的压缩结果;步骤五,数据的解压缩。2.根据权利要求1所述的用于北斗发送通用航空器经纬位置数据的多模型压缩方法,其特征是,步骤一中的截断操作是一个截尾操作。3.根据权利要求1所述的用于北斗发送通用航空器经纬位置数据的多模型压缩方法,其特征是,步骤二中的预测编码是基于离散信号间相关性,利用前面一个或多个信号预测下一个信号,然后对实际值和预测值的差进行编码。4.根据权利要求3所述的用于北斗发送通用航空器经纬位置数据的多模型压缩方法,其特征是,步骤二中的预测编码采用了不同的假设模型进行预测编码,所采用的假设模型为一阶差分模型和二阶差分模型。5.根据权利要求1所述的用于北斗发送通用航空器经纬位置数据的多模型压缩方法,其特征是,所述步骤四中的数据头为用于记录压缩编码关键信息的数据块。6.根据权利要求5所述的用于北斗发送通用航空器经纬位置数据的多模型压缩方法,其特征是,所述数据块包含文字信息的起始位置、霍夫曼编码的码字、经度数据、纬度数据和高度数据所使用的模型、数据体。

说明书

用于北斗发送通用航空器经纬位置数据的多模型压缩方法

技术领域

本发明涉及信息与信号处理领域的一种方法,具体是一种用于北斗设备批
量发送通用航空器经纬位置和高度数据的多模型压缩和解压方法。

背景技术

伴随着国家对航空工业大力支持,国家、民间对通用航空应用的迫切需求,
通用航空市场蓬勃发展。然而对于通用航空器的用户和管理来说的定位和跟踪
通用航空器是极其重要的,而我国自主研发的北斗系统非常适合进行通用航空
器的定位和跟踪。但第一代民用北斗设备发送信息的间隔较长,且每次送数据
的数量有限,因此使用民用北斗设备发送通用航空器经纬度信息急需相应的压
缩算法,这是实现实时连续跟踪的必要条件。

北斗系统是我国自主研发的定位和通信系统,它不但可以进行定位,同时
其通信功能可以允许用户发送数据。对于普通民用用户来说,每次发送信息的
间隔至少为一分钟,且每次至多发送约两百个字节的数据。使用北斗的数据传
输功能传输通用航空器的经纬度位置信息,可以实现对通用航空器的跟踪和监
控,若用浮点数格式发送经纬度信息,每个浮点数由四个字节构成,一个经度
或纬度或高度信息可由一个浮点数表示,因此一组位置和高度信息由12个字节
构成,民用北斗一次发送的数据量为210字节,因此只能发送约17组数据,航
空器经纬度位置的时间分辨率约为3秒,基本能满足监控的需求。

但是,通用航空器在使用北斗发送经纬位置和高度的同时也会发送文字短
消息与地面通信,通常每次50个汉字(100个字节)左右的短消息基本能满足
用户的需求,若能够在发送经纬度的同时也发送短消息,那么,每次只能发送9
组经纬位置和高度数据,则经纬位置和高度数据的时间分辨率为7秒,这个间
隔对于监控高速飞行的通用航空器来说,是不能满足需求的。文字信息是很难
压缩的,因此只能对经纬位置和高度数据进行压缩,以保证每次发送经纬度位
置和高度的同时仍能够正常发送50个汉字的信息。

经对现有技术的检索发现,专利《用于批量发送通用航空器经纬位置数据
的压缩方法》,申请号/专利号:201210102422.0,该方法使用了预测编码和霍
夫曼编码技术进行压缩,但是在预测编码过程中仅使用单一模型,在某些情况
下压缩效率低,为此,本发明使用基于不同模型的预测编码,以进一步提高压
缩效率。

发明内容

针对上述现有技术存在的问题,本发明的目的在于提供一种用于北斗设备
发送通用航空器经纬位置的多模型压缩和解压方法。本发明是基于多个模型的
预测编码和霍夫曼编码相结合的数据压缩和解压方法,该方法能够用于北斗设
备批量发送通用航空器经纬位置和高度时的数据压缩。

本发明的发明目的是通过以下技术方案实现的,包括如下步骤:

步骤一,根据实际情况确定经纬度和高度数据的精度,并根据确定的精度
要求对数据进行截断处理;

步骤二,基于不同的假设模型对步骤一中经过截断处理的数据分别进行预
测编码;

步骤三,对步骤二中得到的多组预测编码数据分别进行霍夫曼编码;

步骤四,对步骤三中得到的多组霍夫曼编码分别生成压缩数据的数据头和
压缩数据体,并比较每组数据头和数据体所占用的字节数,选择字节数最小的
作为最终的压缩结果;

步骤五,数据的解压缩。

步骤一中的截断操作是一个截尾操作,例如,若要求经纬度精度为小数点
后5位,那么第6位和第6位以后的数据全部舍弃,高度的精度若为米,那么
米级以后的数据全部舍弃。

步骤二中的预测编码是一种编码技术,它基于离散信号间相关性,利用前
面一个或多个信号预测下一个信号,然后对实际值和预测值的差(误差)进行
编码。若信号间的相关性较强,且采取的预测方法得当,那么预测误差会比较
小,就可以用比较少的比特进行编码,进而达到数据压缩的目的。步骤二中的
预测编码采用了不同的假设模型进行预测编码,所采用的假设模型有一阶差分
模型和二阶差分模型。

步骤三中的霍夫曼编码是一种编码技术,它是由Huffman与1952年提出的,
它的基本原理是基于定理“在变长编码中,如果码字长度严格按照出现概率由
大到小的顺序排列,则平均码字长度最小”。

步骤三中的数据头是用于记录压缩编码关键信息的数据块,这些信息包括
霍夫曼编码的码字,初始经纬、高度和其他一些状态信息等,这些是解码时所
必须的。

与现有技术相比,本发明具有以下有益效果:本方法根据通用航空飞行器
的性能特点和其发送的经纬度和高度信息的特点进行压缩,无需人工干预,完
全自动完成,压缩效率高。可以保证在批量传输高时间分辨率的经纬、高度数
据的同时还能够发送文字信息。或者在不发送文字信息时,传送更高时间分辨
率的数据经纬、高度数据,以便实现对航空器的精确的监控。

附图说明

图1为某型号直升机飞行时记录的一组经纬度和高度数据。表中经纬度单
位为度,高度单位为米,数据采样间隔为8秒

图2为描述经纬、高度数据的不同模型组合图

图3对图1中的数据进行步骤一中的截断操作后,再进一阶差分后的结果

图4对图1中的数据进行步骤一中的截断操作后,再进二阶差分后的结果

图5对图4中的数据进行出现频率统计得到的结果

图6为本发明实施例中霍夫曼编码的初始叶子节点

图7为本发明实施例中霍夫曼编码第一次和第二次合并的情况

图8为本发明实施例中得到的霍夫曼树

图9为数据头、数据体和文字信息间的排列关系图。

具体实施方式

下面结合附图对本发明作进一步的详细说明:本实施例在以本发明技术方
案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的
保护范围不限于下述的实施例。

实施例

步骤一,根据实际情况确定经纬度和高度数据的精度,并根据确定的精度
要求对数据进行截断处理;

设数据为浮点数,精度为小数点后M位,则从小数点后第M+1位(包括M+1
位)全部舍去,截断后对数据放大10M倍后转换成整数。设本例中使用的数据如
图1所示,其中经纬和高度数据分别用jk,wk,hk表示。本实施例中经纬度精
度为小数点后5位,高度精度为米级,那么对于经纬、高度数据中小数点后第6
位(包括第6位)以后的数据可以认为是不需要的或者不准确的,进行舍弃。
截断后将经度、纬度和高度数据扩大105倍后将数据转换为四字节表示的整数,
转换后的经纬和高度数据分别用Jk,Wk,Hk。

步骤二,基于不同的假设模型对步骤一中经过截断处理的数据分别进行预
测编码;

若飞机进行匀速直线运动,使用一阶差分模型描述此时飞机的经纬、高度数
据将会得到比较好压缩性能;若飞机进行匀加速运动,使用二阶差分模型描述
此时飞机的经纬、高度数据将会得到比较好压缩性能。因此,尝试对经纬、高
度数据分别采用不同的模型进行描述,然后再进行压缩,就可以进一步提高压
缩效率。这里只采用一阶差分模型和二阶差分模型两种模型,所以对经纬、高
度数据的模型描述可以有8种组合,如图1所示。依次尝试这8种组合,选取
最佳的模型组合就可以得到最佳的压缩效率。

设步骤一中经过截断处理的经度数据序列、纬度序列和高度序列分别为Jk,
Wk,Hk(k=1,2,3,…,N,其中N为序列长度)。记Jk,Wk,Hk的一阶差分分
别为

Jl′=Ji-Ji-1,

Wl′=Wi-Wi-1,(1)

Hl′=Hi-Hi-1

其中l=1,2,…,N-1,i=2,3,…,N。记Jk,Wk,Hk的二阶差分为

Jm″=Ji′-Ji-1′,

Wm″=Wi′-Wi-1′,(2)

Hm″=Hi′-Hi-1′,

其中m=1,2,…,N-2,i=2,3,…,N-1。

对图1中的数据进行步骤一中的截断操作后,然后经由公式(1)和公式(2)
所得到的一阶差分和二阶差分如图3和图4所示。

步骤三,对步骤二中的多组预测编码数据进行霍夫曼编码

步骤二中的数据共有8组,分别对应图2中的8种组合。分别对这8组数
据进行霍夫曼编码。这里以图2最后一组,即图4中所示的数据为例进行说明。
图2最后一组组合对应序列Jm″,Wm″,Hm″(m=1,2,…,N-2),将其组合成一
个序列dk(k=1,2,…,3N-6),其中

dk=Jk″(k=1,2,…,N-2)

dk=Wk″(k=N-1,N,…,2N-4)      (3)

dk=Hk″(k=2N-3,2N-2,…,3N-6)

然后对序列dk(k=1,2,…,3N-6)进行霍夫曼编码。具体方法是:

1.统计序列dk中每个数值出现的频率(即出现的次数)。记dk中共有M个不
同的值,这M个值按其值由小到大的顺序排列得到的序列为Rs(s=1,2,…,M),
Rs是一个二维序列包括数值和对应数值出现的频率,记Rs(1)为数值,Rs(2)
为数值出现的频率。本实施例中对图2中的数据进行处理得到的序列按值由小
到大排列的得到的序列Rs如图6所示。记这M个值按出现频率由小到大排列的
序列为Ds(s=1,2,…,M),Ds也是一个二维序列包括数值和对应数值出现的频
率每个数值和该数值对应的频率,Ds的每一个单元作为一个叶子节点,这些叶
子节点为霍夫曼编码的初始叶子节点,本实施例中霍夫曼编码的初始叶子节点
如图6所示。

2.叶子节点中两个最小频率的节点合并为一个新节点,并将频率相加作为
新节点的频率,并将该节点和其他节点一起新按照出现频率由大到小的顺序进
行排列。合并时频率较高的节点作为右节点,频率较低的节点为左节点。图7
给出了第一次和第二次合并的情况。

3.重复步骤2直到只剩下一个节点,作为根节点。最终获得的霍夫曼树如图
8所示。经过上述步骤后得到一个霍夫曼树,记录叶子节点到根节点的路径,该
路径上的左子树赋值“0”,右子树赋值“1”,按照由低位到高位的顺序排列,
就是叶子节点所对应数值的霍夫曼编码的码字。例如,值-3的码字为0101;值
-2的码字为00;值-1的码字为100;值0的码字为11;值1的码字为101;值
2的码字为011;值3的码字为01001;值6的码字为01000;

最后,根据霍夫曼编码的码字将序列dk转换为霍夫曼编码。对图1所示的8
组数据分别进行霍夫曼编码,于是可以得到8组霍夫曼编码。

步骤四,生成压缩数据的数据头和压缩数据体;

下面以图2中第7组数据所得到的的霍夫曼编码为例,介绍如何生成数据
头。

数据头的前10位二进制位记为h0用于存储一个整数,该整数表示文字信息
的起始位置。

接着h0的是h1,h1的前24个二进制位顺序存储两个12位二进制位标表示
的整数,第一个整数为序列dk中最小值dmin,第二个整数为序列dk中最大值
dmax,在第二个整数后的是(dmax-dmin)个二进制位,记为U,U的第i位记为
Ui。当且仅当a是序列dk中的一个值时,所以,U中1的个数等于
霍夫曼编码码字的个数。

紧接着h1的是霍夫曼编码的码字信息,这一段数据头记为h2。设h1中的U
中的1的个数为Hlen,码字的个数等于Hlen。一个码字信息包括码字长度和码字
两部分,码字长度由N位二进制位表示的正整数表示,其中N为满足2N≥Hlen的
最小整数,码字即为霍夫曼编码得到的码字。码字信息的排列的顺序按照码字
对应的数值由小到大排列。

接着h2的是h3,h3的前3位二进制二进制位分别表示描述经度数据、纬度
数据和高度数据所使用的模型,0为一阶差分模型,1为二阶差分模型。h3的其
他二进制位存储的信息由h3的前3位决定:

若h3前三位为000则h3其他二进制位存顺序存储J1,W1,H1。

若h3前三位为001则h3其他二进制位存顺序存储J1,W1,H1,H1′。

若h3前三位为010则h3其他二进制位存顺序存储J1,W1,H1,W1′。

若h3前三位为011则h3其他二进制位存顺序存储J1,W1,H1,W1′,H1′。

若h3前三位为100则h3其他二进制位存顺序存储J1,W1,H1,J1′。

若h3前三位为101则h3其他二进制位存顺序存储J1,W1,H1,J1′,H1′。

若h3前三位为110则h3其他二进制位存顺序存储J1,W1,H1,J1′,W1′。

若h3前三位为111则h3其他二进制位存顺序存储J1,W1,H1,J1′,W1′,
H1′。

本例中h3前三位为110,h3其他二进制位存顺序存储J1,W1,H1,J1′,W1′

接着h3的是数据体,数据体存储序霍夫曼编码。数据体后是文字消息。数
据头和数据体的排列关系如图9所示。

对步骤四中生成的8组霍夫曼编码分别生成数据头,分别比较每组霍夫曼
编码和其对应的数据头的长度之和,选择最短的作为最终的压缩结果。在本例
中,图2中第7组模型组合所对应的霍夫曼编码和数据头长度之和最小,是最
终压缩结果。

步骤五,数据的解压缩。

从接收的数据读取h0,根据h0的数值读取文字信息,从而完成解码文字信
息。然后解码经纬、高度数据。读取h1中的前两个12位二进制位标表示的整数,
这两个整数分别为最小值dmin,和最大值dmax,h1中的U共有(dmax-dmin)个
二进制位,记U中的二进制位为1的数目为Hlen,则Hlen为霍夫曼码字的个数。
扫描数据头中的h1的U,若发现U第i位为1,则从h2中顺序读取N位二进制位
表示的正整数Ni,其中N为满足2N≥Hlen的最小整数,正整数Ni的数值为该条
码字的长度,读取Ni个二进制位从而得到该条码字。该码字对应的数值为
(dmin+i),重复该步骤直到扫描结束,此时就得到了霍夫曼编码的码字和码字
对应的数值。

读取h3,根据h3的前三位二进制位,分别读取h3其他二进制位,得到J1,W1,
H1或J1′或W1′或H1′的数值。根据h3的前三位二进制位分别得到J1,W1,H1或J1′
或W1′或H1′的数值所候采用的方法是:

若h3前三位为000则h3其他二进制位存顺序存储J1,W1,H1。

若h3前三位为001则h3其他二进制位存顺序存储J1,W1,H1,H1′。

若h3前三位为010则h3其他二进制位存顺序存储J1,W1,H1,W1′。

若h3前三位为011则h3其他二进制位存顺序存储J1,W1,H1,W1′,H1′。

若h3前三位为100则h3其他二进制位存顺序存储J1,W1,H1,J1′。

若h3前三位为101则h3其他二进制位存顺序存储J1,W1,H1,J1′,H1′。

若h3前三位为110则h3其他二进制位存顺序存储J1,W1,H1,J1′,W1′。

若h3前三位为111则h3其他二进制位存顺序存储J1,W1,H1,J1′,W1′,
H1′。

本例中h3前三位为110,h3其他二进制位存顺序存储J1,W1,H1,J1′,W1′。

使用得到的码字对数据体进行解码,即将数据体中的编码序列按照编码码
字对应的数值转换为数值序列,此时得到的数值即为序列dk(k=1,2,…,3N-6),
根据(3)式将dk分别转换为序列J1′或W1′或H1′或Jm″或Wm″或Hm″
(m=1,2,…,N-2)。本例中dk分别转换为序列Jm″,Wm″,H1′。然后根据式(1)
和(2)就可以得到经度数据序列、纬度序列和高度序列jk,wk,hk。(注意:
由于在步骤一中将数据截断后放大了105倍,因此所得jk,wk,hk也要相应缩小
105倍)

本实施例中对图1给出的数据进行压缩,数据头中h0的长度为10位二进制
位(bit),数据头中h1长度为24+9=33个二进制位(bit),h2的长度共计55个
二进制位(bit),h3存储J1,W1,H1,J1′,W1′,其中J1,W1,H1,J1′,W1′,
为四字节整数,共160位(bit)。本实施例中压缩后的数据体长度为216位(bit),
所以加上数据头总共需要474位(bit),约合60个字节(byte)就可以表示图
1中的数据。而北斗一次传输数据可达210个字节,还剩余150个字节,除去需
要传送的50个汉字(约100字节)的文字信息外,还剩余50个字节可供进行校
验或者其它用途。

而若采用四字节浮点数发送图1中的数据则需要360个字节,这远远超出
了北斗一次数据发送的最大限度,无法在发送经纬、高度数据的同时发送文字
信息,更不用说进行校验了。这说明本发明具有良好的压缩效果和并具有较强
的实用性。

用于北斗发送通用航空器经纬位置数据的多模型压缩方法.pdf_第1页
第1页 / 共14页
用于北斗发送通用航空器经纬位置数据的多模型压缩方法.pdf_第2页
第2页 / 共14页
用于北斗发送通用航空器经纬位置数据的多模型压缩方法.pdf_第3页
第3页 / 共14页
点击查看更多>>
资源描述

《用于北斗发送通用航空器经纬位置数据的多模型压缩方法.pdf》由会员分享,可在线阅读,更多相关《用于北斗发送通用航空器经纬位置数据的多模型压缩方法.pdf(14页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 102841356 A (43)申请公布日 2012.12.26 C N 1 0 2 8 4 1 3 5 6 A *CN102841356A* (21)申请号 201210358480.X (22)申请日 2012.09.21 G01S 19/05(2010.01) H03M 7/40(2006.01) (71)申请人中国航空无线电电子研究所 地址 200233 上海市徐汇区桂平路432号 (72)发明人翟鸣 施劲松 刘经华 张鹤 (74)专利代理机构上海和跃知识产权代理事务 所(普通合伙) 31239 代理人杜林雪 (54) 发明名称 用于北斗发送通用航空器经纬位置。

2、数据的多 模型压缩方法 (57) 摘要 本发明公开了一种用于北斗发送通用航空器 经纬位置数据的多模型压缩方法,包含步骤一,根 据实际情况确定经纬度和高度数据的精度并对数 据进行截断处理;步骤二,基于一个或一个以上 的假设模型对步骤一中经过截断处理的数据分别 进行预测编码;步骤三,对步骤二中得到的多组 预测编码数据分别进行霍夫曼编码;步骤四,对 步骤三中得到的多组霍夫曼编码分别生成压缩数 据的数据头和压缩数据体,选择字节数最小的作 为最终的压缩结果;步骤五,数据的解压缩。本发 明使用基于不同模型的预测编码,可以进一步提 高压缩效率,以便实现对航空器的精确的监控。 (51)Int.Cl. 权利要求。

3、书1页 说明书6页 附图6页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 1 页 说明书 6 页 附图 6 页 1/1页 2 1.用于北斗发送通用航空器经纬位置数据的多模型压缩方法,其特征在于,包括如下 步骤: 步骤一,根据实际情况确定经纬度和高度数据的精度,并根据确定的精度要求对数据 进行截断处理; 步骤二,基于一个或一个以上的假设模型对步骤一中经过截断处理的数据分别进行预 测编码; 步骤三,对步骤二中得到的多组预测编码数据分别进行霍夫曼编码; 步骤四,对步骤三中得到的多组霍夫曼编码分别生成压缩数据的数据头和压缩数据 体,并比较每组数据头和数据体所占用的字节数,选。

4、择字节数最小的作为最终的压缩结 果; 步骤五,数据的解压缩。 2.根据权利要求1所述的用于北斗发送通用航空器经纬位置数据的多模型压缩方法, 其特征是,步骤一中的截断操作是一个截尾操作。 3.根据权利要求1所述的用于北斗发送通用航空器经纬位置数据的多模型压缩方法, 其特征是,步骤二中的预测编码是基于离散信号间相关性,利用前面一个或多个信号预测 下一个信号,然后对实际值和预测值的差进行编码。 4.根据权利要求3所述的用于北斗发送通用航空器经纬位置数据的多模型压缩方法, 其特征是,步骤二中的预测编码采用了不同的假设模型进行预测编码,所采用的假设模型 为一阶差分模型和二阶差分模型。 5.根据权利要求1。

5、所述的用于北斗发送通用航空器经纬位置数据的多模型压缩方法, 其特征是,所述步骤四中的数据头为用于记录压缩编码关键信息的数据块。 6.根据权利要求5所述的用于北斗发送通用航空器经纬位置数据的多模型压缩方法, 其特征是,所述数据块包含文字信息的起始位置、霍夫曼编码的码字、经度数据、纬度数据 和高度数据所使用的模型、数据体。 权 利 要 求 书CN 102841356 A 1/6页 3 用于北斗发送通用航空器经纬位置数据的多模型压缩方法 技术领域 0001 本发明涉及信息与信号处理领域的一种方法,具体是一种用于北斗设备批量发送 通用航空器经纬位置和高度数据的多模型压缩和解压方法。 背景技术 0002。

6、 伴随着国家对航空工业大力支持,国家、民间对通用航空应用的迫切需求,通用航 空市场蓬勃发展。然而对于通用航空器的用户和管理来说的定位和跟踪通用航空器是极其 重要的,而我国自主研发的北斗系统非常适合进行通用航空器的定位和跟踪。但第一代民 用北斗设备发送信息的间隔较长,且每次送数据的数量有限,因此使用民用北斗设备发送 通用航空器经纬度信息急需相应的压缩算法,这是实现实时连续跟踪的必要条件。 0003 北斗系统是我国自主研发的定位和通信系统,它不但可以进行定位,同时其通信 功能可以允许用户发送数据。对于普通民用用户来说,每次发送信息的间隔至少为一分钟, 且每次至多发送约两百个字节的数据。使用北斗的数。

7、据传输功能传输通用航空器的经纬度 位置信息,可以实现对通用航空器的跟踪和监控,若用浮点数格式发送经纬度信息,每个浮 点数由四个字节构成,一个经度或纬度或高度信息可由一个浮点数表示,因此一组位置和 高度信息由12个字节构成,民用北斗一次发送的数据量为210字节,因此只能发送约17组 数据,航空器经纬度位置的时间分辨率约为3秒,基本能满足监控的需求。 0004 但是,通用航空器在使用北斗发送经纬位置和高度的同时也会发送文字短消息与 地面通信,通常每次50个汉字(100个字节)左右的短消息基本能满足用户的需求,若能够 在发送经纬度的同时也发送短消息,那么,每次只能发送9组经纬位置和高度数据,则经纬 。

8、位置和高度数据的时间分辨率为7秒,这个间隔对于监控高速飞行的通用航空器来说,是 不能满足需求的。文字信息是很难压缩的,因此只能对经纬位置和高度数据进行压缩,以保 证每次发送经纬度位置和高度的同时仍能够正常发送50个汉字的信息。 0005 经对现有技术的检索发现,专利用于批量发送通用航空器经纬位置数据的压缩 方法,申请号/专利号:201210102422.0,该方法使用了预测编码和霍夫曼编码技术进行 压缩,但是在预测编码过程中仅使用单一模型,在某些情况下压缩效率低,为此,本发明使 用基于不同模型的预测编码,以进一步提高压缩效率。 发明内容 0006 针对上述现有技术存在的问题,本发明的目的在于提。

9、供一种用于北斗设备发送通 用航空器经纬位置的多模型压缩和解压方法。本发明是基于多个模型的预测编码和霍夫曼 编码相结合的数据压缩和解压方法,该方法能够用于北斗设备批量发送通用航空器经纬位 置和高度时的数据压缩。 0007 本发明的发明目的是通过以下技术方案实现的,包括如下步骤: 0008 步骤一,根据实际情况确定经纬度和高度数据的精度,并根据确定的精度要求对 数据进行截断处理; 说 明 书CN 102841356 A 2/6页 4 0009 步骤二,基于不同的假设模型对步骤一中经过截断处理的数据分别进行预测编 码; 0010 步骤三,对步骤二中得到的多组预测编码数据分别进行霍夫曼编码; 0011。

10、 步骤四,对步骤三中得到的多组霍夫曼编码分别生成压缩数据的数据头和压缩数 据体,并比较每组数据头和数据体所占用的字节数,选择字节数最小的作为最终的压缩结 果; 0012 步骤五,数据的解压缩。 0013 步骤一中的截断操作是一个截尾操作,例如,若要求经纬度精度为小数点后5位, 那么第6位和第6位以后的数据全部舍弃,高度的精度若为米,那么米级以后的数据全部舍 弃。 0014 步骤二中的预测编码是一种编码技术,它基于离散信号间相关性,利用前面一个 或多个信号预测下一个信号,然后对实际值和预测值的差(误差)进行编码。若信号间的相 关性较强,且采取的预测方法得当,那么预测误差会比较小,就可以用比较少的。

11、比特进行编 码,进而达到数据压缩的目的。步骤二中的预测编码采用了不同的假设模型进行预测编码, 所采用的假设模型有一阶差分模型和二阶差分模型。 0015 步骤三中的霍夫曼编码是一种编码技术,它是由Huffman与1952年提出的,它的 基本原理是基于定理“在变长编码中,如果码字长度严格按照出现概率由大到小的顺序排 列,则平均码字长度最小”。 0016 步骤三中的数据头是用于记录压缩编码关键信息的数据块,这些信息包括霍夫曼 编码的码字,初始经纬、高度和其他一些状态信息等,这些是解码时所必须的。 0017 与现有技术相比,本发明具有以下有益效果:本方法根据通用航空飞行器的性能 特点和其发送的经纬度和。

12、高度信息的特点进行压缩,无需人工干预,完全自动完成,压缩效 率高。可以保证在批量传输高时间分辨率的经纬、高度数据的同时还能够发送文字信息。或 者在不发送文字信息时,传送更高时间分辨率的数据经纬、高度数据,以便实现对航空器的 精确的监控。 附图说明 0018 图1为某型号直升机飞行时记录的一组经纬度和高度数据。表中经纬度单位为 度,高度单位为米,数据采样间隔为8秒 0019 图2为描述经纬、高度数据的不同模型组合图 0020 图3对图1中的数据进行步骤一中的截断操作后,再进一阶差分后的结果 0021 图4对图1中的数据进行步骤一中的截断操作后,再进二阶差分后的结果 0022 图5对图4中的数据进。

13、行出现频率统计得到的结果 0023 图6为本发明实施例中霍夫曼编码的初始叶子节点 0024 图7为本发明实施例中霍夫曼编码第一次和第二次合并的情况 0025 图8为本发明实施例中得到的霍夫曼树 0026 图9为数据头、数据体和文字信息间的排列关系图。 具体实施方式 说 明 书CN 102841356 A 3/6页 5 0027 下面结合附图对本发明作进一步的详细说明:本实施例在以本发明技术方案为前 提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下 述的实施例。 0028 实施例 0029 步骤一,根据实际情况确定经纬度和高度数据的精度,并根据确定的精度要求对 数据。

14、进行截断处理; 0030 设数据为浮点数,精度为小数点后M位,则从小数点后第M+1位(包括M+1位)全部 舍去,截断后对数据放大10 M 倍后转换成整数。设本例中使用的数据如图1所示,其中经纬 和高度数据分别用j k ,w k ,h k 表示。本实施例中经纬度精度为小数点后5位,高度精度为米 级,那么对于经纬、高度数据中小数点后第6位(包括第6位)以后的数据可以认为是不需要 的或者不准确的,进行舍弃。截断后将经度、纬度和高度数据扩大10 5 倍后将数据转换为四 字节表示的整数,转换后的经纬和高度数据分别用J k ,W k ,H k 。 0031 步骤二,基于不同的假设模型对步骤一中经过截断处理。

15、的数据分别进行预测编 码; 0032 若飞机进行匀速直线运动,使用一阶差分模型描述此时飞机的经纬、高度数据将 会得到比较好压缩性能;若飞机进行匀加速运动,使用二阶差分模型描述此时飞机的经纬、 高度数据将会得到比较好压缩性能。因此,尝试对经纬、高度数据分别采用不同的模型进行 描述,然后再进行压缩,就可以进一步提高压缩效率。这里只采用一阶差分模型和二阶差分 模型两种模型,所以对经纬、高度数据的模型描述可以有8种组合,如图1所示。依次尝试 这8种组合,选取最佳的模型组合就可以得到最佳的压缩效率。 0033 设步骤一中经过截断处理的经度数据序列、纬度序列和高度序列分别为J k ,W k ,H k (k。

16、=1,2,3,N,其中N为序列长度)。记J k ,W k ,H k 的一阶差分分别为 0034 J l J i -J i-1 , 0035 W l W i -W i-1 ,(1) 0036 H l H i -H i-1 0037 其中l=1,2,N-1,i=2,3,N。记J k ,W k ,H k 的二阶差分为 0038 J m J i -J i-1 , 0039 W m W i -W i-1 ,(2) 0040 H m H i -H i-1 , 0041 其中m=1,2,N-2,i=2,3,N-1。 0042 对图1中的数据进行步骤一中的截断操作后,然后经由公式(1)和公式(2)所得到 的一。

17、阶差分和二阶差分如图3和图4所示。 0043 步骤三,对步骤二中的多组预测编码数据进行霍夫曼编码 0044 步骤二中的数据共有8组,分别对应图2中的8种组合。分别对这8组数据进行霍 夫曼编码。这里以图2最后一组,即图4中所示的数据为例进行说明。图2最后一组组合 对应序列J m ,W m ,H m (m=1,2,N-2),将其组合成一个序列d k (k=1,2,3N-6), 其中 0045 d k J k (k=1,2,N-2) 0046 d k W k (k=N-1,N,2N-4) (3) 说 明 书CN 102841356 A 4/6页 6 0047 d k H k (k=2N-3,2N-2。

18、,3N-6) 0048 然后对序列d k (k=1,2,3N-6)进行霍夫曼编码。具体方法是: 0049 1.统计序列d k 中每个数值出现的频率(即出现的次数)。记d k 中共有M个不同的 值,这M个值按其值由小到大的顺序排列得到的序列为R s (s=1,2,M),R s 是一个二维序 列包括数值和对应数值出现的频率,记R s (1)为数值,R s (2)为数值出现的频率。本实施 例中对图2中的数据进行处理得到的序列按值由小到大排列的得到的序列R s 如图6所示。 记这M个值按出现频率由小到大排列的序列为D s (s=1,2,M),D s 也是一个二维序列包 括数值和对应数值出现的频率每个数。

19、值和该数值对应的频率,D s 的每一个单元作为一个叶 子节点,这些叶子节点为霍夫曼编码的初始叶子节点,本实施例中霍夫曼编码的初始叶子 节点如图6所示。 0050 2叶子节点中两个最小频率的节点合并为一个新节点,并将频率相加作为新节点 的频率,并将该节点和其他节点一起新按照出现频率由大到小的顺序进行排列。合并时频 率较高的节点作为右节点,频率较低的节点为左节点。图7给出了第一次和第二次合并的 情况。 0051 3.重复步骤2直到只剩下一个节点,作为根节点。最终获得的霍夫曼树如图8所 示。经过上述步骤后得到一个霍夫曼树,记录叶子节点到根节点的路径,该路径上的左子树 赋值“0”,右子树赋值“1”,按。

20、照由低位到高位的顺序排列,就是叶子节点所对应数值的霍 夫曼编码的码字。例如,值-3的码字为0101;值-2的码字为00;值-1的码字为100;值 0的码字为11;值1的码字为101;值2的码字为011;值3的码字为01001;值6的码字为 01000; 0052 最后,根据霍夫曼编码的码字将序列d k 转换为霍夫曼编码。对图1所示的8组数 据分别进行霍夫曼编码,于是可以得到8组霍夫曼编码。 0053 步骤四,生成压缩数据的数据头和压缩数据体; 0054 下面以图2中第7组数据所得到的的霍夫曼编码为例,介绍如何生成数据头。 0055 数据头的前10位二进制位记为h 0 用于存储一个整数,该整数表。

21、示文字信息的起 始位置。 0056 接着h 0 的是h 1 ,h 1 的前24个二进制位顺序存储两个12位二进制位标表示的整数, 第一个整数为序列d k 中最小值d min ,第二个整数为序列d k 中最大值d max ,在第二个整数后的 是(d max -d min )个二进制位,记为U,U的第i位记为U i 。当且仅当a是序列d k 中的一个值时, 所以,U中1的个数等于霍夫曼编码码字的个数。 0057 紧接着h 1 的是霍夫曼编码的码字信息,这一段数据头记为h 2 。设h 1 中的U中的1 的个数为H len ,码字的个数等于H len 。一个码字信息包括码字长度和码字两部分,码字长度由。

22、 N位二进制位表示的正整数表示,其中N为满足2 N H len 的最小整数,码字即为霍夫曼编码 得到的码字。码字信息的排列的顺序按照码字对应的数值由小到大排列。 0058 接着h 2 的是h 3 ,h 3 的前3位二进制二进制位分别表示描述经度数据、纬度数据和 高度数据所使用的模型,0为一阶差分模型,1为二阶差分模型。h 3 的其他二进制位存储的 信息由h 3 的前3位决定: 0059 若h 3 前三位为000则h 3 其他二进制位存顺序存储J 1 ,W 1 ,H 1 。 0060 若h 3 前三位为001则h 3 其他二进制位存顺序存储J 1 ,W 1 ,H 1 ,H 1 。 说 明 书CN。

23、 102841356 A 5/6页 7 0061 若h 3 前三位为010则h 3 其他二进制位存顺序存储J 1 ,W 1 ,H 1 ,W 1 。 0062 若h 3 前三位为011则h 3 其他二进制位存顺序存储J 1 ,W 1 ,H 1 ,W 1 ,H 1 。 0063 若h 3 前三位为100则h 3 其他二进制位存顺序存储J 1 ,W 1 ,H 1 ,J 1 。 0064 若h 3 前三位为101则h 3 其他二进制位存顺序存储J 1 ,W 1 ,H 1 ,J 1 ,H 1 。 0065 若h 3 前三位为110则h 3 其他二进制位存顺序存储J 1 ,W 1 ,H 1 ,J 1 ,W。

24、 1 。 0066 若h 3 前三位为111则h 3 其他二进制位存顺序存储J 1 ,W 1 ,H 1 ,J 1 ,W 1 ,H 1 。 0067 本例中h 3 前三位为110,h 3 其他二进制位存顺序存储J 1 ,W 1 ,H 1 ,J 1 ,W 1 0068 接着h 3 的是数据体,数据体存储序霍夫曼编码。数据体后是文字消息。数据头和 数据体的排列关系如图9所示。 0069 对步骤四中生成的8组霍夫曼编码分别生成数据头,分别比较每组霍夫曼编码和 其对应的数据头的长度之和,选择最短的作为最终的压缩结果。在本例中,图2中第7组模 型组合所对应的霍夫曼编码和数据头长度之和最小,是最终压缩结果。。

25、 0070 步骤五,数据的解压缩。 0071 从接收的数据读取h 0 ,根据h 0 的数值读取文字信息,从而完成解码文字信息。然 后解码经纬、高度数据。读取h 1 中的前两个12位二进制位标表示的整数,这两个整数分别 为最小值d min ,和最大值d max ,h 1 中的U共有(d max -d min )个二进制位,记U中的二进制位为1 的数目为H len ,则H len 为霍夫曼码字的个数。扫描数据头中的h 1 的U,若发现U第i位为1, 则从h 2 中顺序读取N位二进制位表示的正整数N i ,其中N为满足2 N H len 的最小整数,正 整数N i 的数值为该条码字的长度,读取N i。

26、 个二进制位从而得到该条码字。该码字对应的数 值为(d min +i),重复该步骤直到扫描结束,此时就得到了霍夫曼编码的码字和码字对应的数 值。 0072 读取h 3 ,根据h 3 的前三位二进制位,分别读取h 3 其他二进制位,得到J 1 ,W 1 ,H 1 或 J 1 或W 1 或H 1 的数值。根据h 3 的前三位二进制位分别得到J 1 ,W 1 ,H 1 或J 1 或W 1 或 H 1 的数值所候采用的方法是: 0073 若h 3 前三位为000则h 3 其他二进制位存顺序存储J 1 ,W 1 ,H 1 。 0074 若h 3 前三位为001则h 3 其他二进制位存顺序存储J 1 ,W。

27、 1 ,H 1 ,H 1 。 0075 若h 3 前三位为010则h 3 其他二进制位存顺序存储J 1 ,W 1 ,H 1 ,W 1 。 0076 若h 3 前三位为011则h 3 其他二进制位存顺序存储J 1 ,W 1 ,H 1 ,W 1 ,H 1 。 0077 若h 3 前三位为100则h 3 其他二进制位存顺序存储J 1 ,W 1 ,H 1 ,J 1 。 0078 若h 3 前三位为101则h 3 其他二进制位存顺序存储J 1 ,W 1 ,H 1 ,J 1 ,H 1 。 0079 若h 3 前三位为110则h 3 其他二进制位存顺序存储J 1 ,W 1 ,H 1 ,J 1 ,W 1 。 。

28、0080 若h 3 前三位为111则h 3 其他二进制位存顺序存储J 1 ,W 1 ,H 1 ,J 1 ,W 1 ,H 1 。 0081 本例中h 3 前三位为110,h 3 其他二进制位存顺序存储J 1 ,W 1 ,H 1 ,J 1 ,W 1 。 0082 使用得到的码字对数据体进行解码,即将数据体中的编码序列按照编码码字对应 的数值转换为数值序列,此时得到的数值即为序列d k (k=1,2,3N-6),根据(3)式将d k 分别转换为序列J 1 或W 1 或H 1 或J m 或W m 或H m (m=1,2,N-2)。本例中d k 分 别转换为序列J m ,W m ,H 1 。然后根据式(。

29、1)和(2)就可以得到经度数据序列、纬度序列 和高度序列j k ,w k ,h k 。(注意:由于在步骤一中将数据截断后放大了10 5 倍,因此所得j k ,w k , h k 也要相应缩小10 5 倍) 说 明 书CN 102841356 A 6/6页 8 0083 本实施例中对图1给出的数据进行压缩,数据头中h 0 的长度为10位二进制位 (bit),数据头中h 1 长度为24+9=33个二进制位(bit),h 2 的长度共计55个二进制位(bit), h 3 存储J 1 ,W 1 ,H 1 ,J 1 ,W 1 ,其中J 1 ,W 1 ,H 1 ,J 1 ,W 1 ,为四字节整数,共160。

30、位(bit)。本 实施例中压缩后的数据体长度为216位(bit),所以加上数据头总共需要474位(bit),约 合60个字节(byte)就可以表示图1中的数据。而北斗一次传输数据可达210个字节,还 剩余150个字节,除去需要传送的50个汉字(约100字节)的文字信息外,还剩余50个字 节可供进行校验或者其它用途。 0084 而若采用四字节浮点数发送图1中的数据则需要360个字节,这远远超出了北斗 一次数据发送的最大限度,无法在发送经纬、高度数据的同时发送文字信息,更不用说进行 校验了。这说明本发明具有良好的压缩效果和并具有较强的实用性。 说 明 书CN 102841356 A 1/6页 9 图1 说 明 书 附 图CN 102841356 A 2/6页 10 图2 图3 说 明 书 附 图CN 102841356 A 10 3/6页 11 图4 图5 说 明 书 附 图CN 102841356 A 11 4/6页 12 图6 图7 说 明 书 附 图CN 102841356 A 12 5/6页 13 图8 说 明 书 附 图CN 102841356 A 13 6/6页 14 图9 说 明 书 附 图CN 102841356 A 14 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 测量;测试


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1