一种传感网络数据压缩编码/解码方法

文档序号:7763477阅读:401来源:国知局
专利名称:一种传感网络数据压缩编码/解码方法
一种传感网络数据压缩编码/解码方法
技术领域
本发明公开了一种数据压缩编码/解码方法,具体来说是一种应用于无线网络应用技术,特别是一种用于粮食仓储的无线传感器网络的数据编码/解码方法。背景技术
俗话说“民以食为天”,即使在高新技术发展的今天,人们的生存也离不开粮食,它关系到社会的发展和人民生活的安定。但是在水分高、气温也较高时,粮食10余天就会发霉,若不及时处理,粮食就霉坏变质,轻则造成经济损失,重则人命关天。粮食在储存过程中,粮情(温度、湿度、水分、害虫等)的变化,直接影响到粮食品质的好坏。无线传感网络的粮情测控系统集成了粮仓内粮食的温度、湿度、虫害等信息的采集、数据处理和无线通信等多种功能,实际应用中,电磁波在传输过程中由于温度、湿度、噪音等环境因素的影响,使得无线传感网络节点在通信过程中常发生错误,造成物理链路的不可靠。通常解决这一问题的最简单途径是数据重传,既若数据发送出错,采用重新发送的方法。由于传感器网络节点传输1比特数据所消耗的能量相当于执行3000条指令的能耗,通信所需能量远大于计算所开销的能量。此方法对于采用电池供电的传感网络来说,耗能较大将缩短其网络的生命周期。因此,在保障网络端到端可靠性时要尽量减少通信传输的能量开销,延长电池供电的时间。关于传感器网络中的数据压缩技术的研究,主要有Ioarmidis和Poosala提出了利用直方图压缩数据的方法。Losif Lazaridis等通过对传感器网络中的时间序列的研究,提出了直接在传感器节点上压结合实际原数据,只有当出查询精度要求时才将压缩的数据发送到基站的数据处理方法。Antoios Deligiarmikis等提出了利用同一传感器节点多个属性数据或不同时间段内数据间的相关性压缩历史数据的技术。K. chan提出了利用小波技术压缩时间序列的方法。Aushik和Chakrabarti等提出了为数据建立小波快照,并在压缩的结构上直接进行查询处理的方法。但是这些数据压缩算法存在计算复杂度高,无法满足用户对数据的精度要求的问题。关于无损数据压缩的方法非常多,其中香农一费诺编码、霍夫曼编码、算术编码均是与概率相关的,基于统计模型的编码方法,且针对的是单个字符。字典编码是基于字典模型的,针对的是字符串。然而,温室传感数据多是一个个浮点型数值,若将其看成字符串,则是由O 9的数字和小数点组成的。以温度数据为例,采集数据呈现缓慢变化的特点。因此,各个数据出现的概率相差不大,用基于概率的编码方法无明显优势;同样,在一段时间内,数据会缓慢地升高或降低,若将感知数据看作字符串用基于字典的方法来压缩,则不容易找到较长的参考数据,因此无法取得好的压缩效果。
发明内容
本发明涉及一种传感网络数据压缩编码/解码方法,用以解决传感网络传输1比特数据所消耗的能量相当于执行3000条指令的能耗即通信所需能量远大于计算所开销的能量的技术问题。
本发明是采用以下技术手段解决上述技术问题的一种传感网络数据压缩编码/解码方法,包括以下步骤
步骤一各传感节点采样数据,并将采样数据发送到测控分机;步骤二 测控分机依据接收到的采样数据组,计算出一参考值;步骤三测控分机将各采样数据与参考值作差,得到相对游程长度数据;步骤四测控分机对各相对游程长度数据进行编码,形成二进制编码数据,一组相对游程长度数据编码后形成编码数据组;
步骤五测控分机将编码数据组和参考值传输到测控主机;步骤六测控主机依据参考值解码编码数据组得到各采样数据。所述步骤三的参考值可以按如下步骤计算计算采样数据组的平均值avg ;
统计采样数据组中各值的出现概率
Pi,依据公式H= -TtPim^Pi计算该采样数据组信息熵H ;
最后依据公式h+Hl计算出参考值。「1为向上取整符号。进一步,所述步骤四包括以下步骤
步骤1 测控分机取相对游程长度数据值L,依据公式x = |iog3(:ii| + 5)l-1,计算出编码
数据后缀代码的长度X ;
步骤2 依据公式ρ-计算出y值,取y值作为后缀,后缀代码长度为χ位;
步骤3 用编码数据的前缀代码标识相对游程长度数据的正负,前缀代码的长度也为χ位,前缀数值二进制代码的最后一位与其前面所有比特位的值相异,前缀和后缀共同组成编码数据;
步骤4 重复步骤1至步骤4,直至将所有相对游程长度数据编码完毕,形成编码数据组。所述前缀的二进制代码最后一位为0代表正/负数,最后一位为1代表负/正数。相对游程长度数组中绝对值最大的数,其绝对值在[16,64]区间时,压缩效果最优。更进一步,步骤六中所述解码包括下列步骤
步骤.X :有限状态机发装载信号将寄存器中的参考值装载入第二计数器;
步骤②有限状态机按位读入输入信号,即编码数据,根据信号跳变的发生确定前缀代
码长度并存储于第三计数器中,同时根据所述跳变是从高电平向低电平跳变或低电平向高电平跳变来确定相对游程长度数据的正或负;
步骤③有限状态机根据第三计数器中存储的前缀代码长度数值,读入相同长度的后
缀代码数据,并将后缀代码变换后存储于第一计数器中,所述变换指在χ位长度的后缀代码高位方向的第(x+l)位上置值1,形成(x+1)位长度的二进制代码;=步骤有限状态机根据相对游程长度数据的正或负控制第二计数器做与第一计数器的值相关的若干次自增或自减操作,得到解码值;
步骤:!有限状态机依据第二计数器存放的解码值,输出解码信号;
步骤.1:重复步骤.Ξ:至步骤S:直至所有数据解码结束。所述步骤S具体为
步骤(1)在第一计数器的值大于4的情况下,有限状态机根据相对游程数据的正/负控制第二计数器自增/减1 ;
步骤O)有限状态机控制第一计数器自减1 ;
步骤(3)重复步骤(1)至(3),直至第一计数器的值等于4,遂得到解码值。所述步骤S的输出解码信号可以为有限状态机输出m位0/1,并在最后输出一位1/0,m为解码值。本发明的优点在于针对传感网络感知数据重复性强,差值小的特点,提出一种基于信息熵的相对游程编码方法,取得很好的压缩效果。只传输压缩后的数据,可以减少数据传输量,减少功耗,增加传感网络电池的寿命。

图1为本发明中解码单元的结构框图。
具体实施方式
下面结合实施例对本发明作进一步的描述,以使本领域的技术人员可以更好的理解本发明并能予以实施,但所举实施例不作为对本发明的限定。本发明所述的数据编码方法采用不等间距编码方式,即在进行分组时,每个组的大小根据其出现频率进行了适当调整,这新的分组更符合实际数据中游程的分布。为了便于说明,不失一般性,设某个测控节点有十个温度传感节点,其采样数据值分别为 15、15、17、16、15、15、15、16、15、15。参考值的计算过程
上述十个温度传感节点采样数据的平均值为15. 4 ;值15出现的概率为0. 7,值16出现的概率为0. 2,值17出现的概率为0. 1 ;
按信息熵公式H= -YtPim^Pi进行计算,其中Pi为各值出现的概率,得到
H= -TiPim^ P1 = -(0.7*lg 0.7 + Ollt-Ig0.2 + 01 *lg 01) = 0. 348225373 ;
将H与平均值相加后得到15. 74822537,向上取整后得到16。即,本组采样数据基于熵的参考值为16。在其他实施例中,参考值也可以取采样数据组的平均值、最大值、最小值等。编码过程
计算每个采样数据相对于基于熵的参考值16的相对游程长度,经计算,相对游程长度分别为-1,-1,+1,0, -1,-1,-1,0, -1,-1。参照表1,将相对游程数据进行分组,每个相对游程数据可能被分入Ai、A2、A3、……、As中任一分组中,最大分组序号5 =胃 10|:(£二1 一 )2,其中Lmax为相对游程长
度中最大绝对值,「1为取整符号。本实施例中,Lfflax=I, S=I0在其他实施例中,Lfflax的取值范围为[16,64]时,压缩效果最优。具体到一个长度为L的相对游程长度,分组时将分属于第η个分组An,其中,
;.:=「%:(|1|-5)二2,11为正整数,—二为向上取整符号,“ I I ”为取绝对值符号;如表1所示,第《个分组Afl中包含2η+1个元素,每个相对游程长度对应所属分组中的一个代码字;依据公式χ =计算编码数据后缀代码的长度χ,再依据公式r=计
算出y值,取y值作为后缀,后缀代码长度为χ位。本实施例中,三种相对游程长度值0、+1和-1均分入A1组,具体计算过程如下相对游程长度为-1时,n=l,x=2,y=l-4+4=l,对应后缀二进制代码为01 ;相对游程长度
为0时,n=l, x=2, y=0-4+4=0,对应后缀二进制代码为00 ;相对游程长度为1时,n=l, x=2,y=l-4+4=l,对应后缀二进制代码为01 ;
再冠以表示正负的前缀,本实施例中三个相对游程长度值均分AA1组,因此前缀代码长度也均为2。因此,以二进制代码10表示正,二进制代码01表示负;
最终前缀和后缀共同组成的十个采样数据相对游程长度的编码为0101,0101,1001,1000,0101,0101,0101,1000,0101,0101。在其他实施例中,也可以用01表示正,10表示负。测控分机将上述编码和参考值16传输给测控主机。
权利要求
1.一种传感网络数据压缩编码/解码方法,其特征在于,包括以下步骤步骤一各传感节点采样数据,并将采样数据发送到测控分机;步骤二 测控分机依据接收到的采样数据组,计算出一参考值;步骤三测控分机将各采样数据与参考值作差,得到相对游程长度数据;步骤四测控分机对各相对游程长度数据进行编码,形成二进制编码数据,一组相对游程长度数据编码后形成编码数据组;步骤五测控分机将编码数据组和参考值传输到测控主机;步骤六测控主机依据参考值解码编码数据组得到各采样数据。
2.根据权利要求1所述的一种传感网络数据压缩编码/解码方法,其特征在于,所述步骤四具体包括以下步骤步骤1 测控分机取相对游程长度数据值L,依据公式,计算出编码数据后缀代码的长度χ ;步骤2 依据公式If= |£|-2Χ-4计算出y值,取y值作为后缀,后缀代码长度为χ位;步骤3 用编码数据的前缀代码标识相对游程长度数据的正负,前缀代码的长度也为χ位,前缀数值二进制代码的最后一位与其前面所有比特位的值相异,前缀和后缀共同组成编码数据;步骤4 重复步骤1至步骤4,直至将所有相对游程长度数据编码完毕,形成编码数据组。
3.根据权利要求1或2的所述的一种传感网络数据压缩编码/解码方法,其特征在于,所述步骤三的参考值计算步骤如下计算采样数据平均值avg ;统计采样数据组中各值的出现概率,依据公式H=-Z於”g P:'计算该采样数据组信息熵H ;依据公式^ + H"计算出参考值。
4.根据权利要求2所述的一种传感网络数据压缩编码/解码方法,其特征在于,所述前缀部分二进制代码最后一位为0代表正/负数,最后一位为1代表负/正数。
5.根据权利要求2所述的一种传感网络数据压缩编码/解码方法,其特征在于,相对游程长度数据组中绝对值最大的数,其绝对值在[16,64]区间。
6.根据权利要求1、2、4或5中任一项所述的一种传感网络数据压缩编码/解码方法,其特征在于,所述步骤六具体包括下列步骤步骤Φ 有限状态机发装载信号将寄存器中的参考值装载入第二计数器;步骤3 有限状态机按位读入输入信号,即编码数据,根据信号跳变的发生确定前缀代码长度并存储于第三计数器中,同时根据所述跳变是从高电平向低电平跳变或低电平向高电平跳变来确定相对游程长度数据的正或负;步骤$ 有限状态机根据第三计数器中存储的前缀代码长度数值,读入相同长度的后缀代码数据,并将后缀代码变换后存储于第一计数器中,所述变换指在X位长度的后缀代码高位方向的第(X+1)位上置值1,形成(X+1)位长度的二进制代码;步骤;I:有限状态机根据相对游程长度数据的正或负控制第二计数器做与第一计数器的值相关的若干次自增或自减操作,得到解码值;步骤S 有限状态机依据第二计数器存放的解码值,输出解码信号;步骤S 重复步骤2至步骤S直至所有数据解码结束。
7.根据权利要求6所述的一种传感网络数据压缩编码/解码方法,其特征在于,所述步m:具体为步骤(1)在第一计数器的值大于4的情况下,有限状态机根据相对游程数据的正/负控制第二计数器自增/减1 ;步骤O)有限状态机控制第一计数器自减1 ;步骤(3)重复步骤(1)至(3),直至第一计数器的值等于4,遂得到解码值。
8.根据权利要求6所述的一种传感网络数据压缩编码/解码方法,其特征在于,所述步骤Φ的输出解码信号指有限状态机输出m位0/1,并在最后输出一位1/0,m为解码值。
全文摘要
本发明公开了一种传感网络数据压缩编码/解码方法,主要应用于无线网络技术领域,特别是用于基于无线传感器网络的粮情测控系统。本发明公布的一种典型技术方案包括以下步骤传感节点采样数据并发送到测控分机;测控分机依据采样数据组计算出一参考值;测控分机将各采样数据与参考值作差,得到相对游程长度数据;测控分机对各相对游程长度数据进行编码,相对游程长度数据组编码后形成编码数据组;测控分机将编码数据组和参考值传输到测控主机;测控主机解码编码数据获得各相对游程长度数据;测控主机将各相对游程长度与参考值相加得到采样数据。本发明的优点在于以减少浮点型数值数据的传输量,提高传输效率并降低能耗。
文档编号H04L1/00GK102394718SQ20111024683
公开日2012年3月28日 申请日期2011年8月26日 优先权日2011年8月26日
发明者周健, 孙秀芳, 詹文法, 韩建华 申请人:韩建华
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1