基于无线网络的分布式信源编码研究
2016-05-30武红玉
【摘 要】文章对无线网络(Wireless Sensor Network,WSN))中的分布式信源编码(Distributed Source Coding,DSC)进行了研究,基于无线传感器网络的特性,深入分析分布式信源编码通过减少数据发送量实现能量节省的可行性,并进行改进,设计并实现具有实用意义的数据压缩系统。
【关键词】无线网络;分布式信源编码;研究
文章基于WSN的特性,采用DSC技术,将复杂的计算转移到能量不受限制的解码端,而编码端采用计算量较小的算法,满足了WSN节点的需求。最后通过仿真分析表明,DSC压缩效果显著,大幅度减少能量消耗,充分证明了DSC的优越性能。
一、分布式信源编码概述
(一)分布式信源编码原理
DSC简单的说就是利用邻近传感器节点编码信源的信息相关性,在确保足够的可靠性的前提下,尽量减少发送数据的比特率,从而达到减少传感器节点的功耗,延长节点的使用寿命的目的。根据信息论的理论,经过Slepian,Wrolf等人论证,可以在信源端不进行联合编码的情况下(或者说相关的信源互相不进行通信)达到与联合编码一样的性能,也就是所谓的Slcpian-Wolf理论。
从DSC的实现过程可以看出,传统信源编码与DSC的区别主要是:DSC在编译码过程中需要充分利用信源之间的相关性在编码端尽可能对信源进行压缩,但是,每个编码器互相之间无法知道其他编码器的信息,也就是在编码端只能对当前节点的信息进行编码,这样就降低了编码器的复杂度。为了能够利用这种相关性,在译码器将获得临近信源的相对于当前信源的有噪版本,也称为边信息,在译码端利用边信息对接收到的编码信息进行译码,以达到利用信源之间相关性的目的。这种编码方式是否能够有效地利用不同信源之间的相关性,又能对信源之间的相关性的利用达到什么样的程度?Slepian-Wolf编码理论和Wyner-Ziv编码理论验证了DSC的可行性。
(二)分布式信源编码理论
1.Slepian—Wolf编码理论
Slepian-Wolf编码理论的基本思想是:假设在译码端已经给出边信息,能否利用该边信息以及从编码端接收到的编码信息进行正确的译码,以及如何译码才能达到无损译码的最优情况。设X和Y是一对离散的独立同分布的相关随机变量,香农的信源编码定理认为如果可以对X和Y进行联合编解码,只要总的编码速率大于X和Y的联合熵H(X,Y)就可以进行无损压缩。例如,可以先把Y压缩为H(Y)比特每符号,然后基于Y的完整信息,将X压缩为H(X/Y)比特每符号;解码端先由H(Y)无损的恢复Y,然后结合Y和H(X/Y)无损的恢复X。这就是Slepian-Wolf编码理论。
有了理论的基础,我们可以对于DSC原理进一步说明一下:假设X和Y是两个3比特的信源,二者是互相关的且等概率分布,它们的互相关关系为dH(X,Y)≤l。如果在编码端和译码端中信源Y都是已知的,那么X可以只用2比特编码,这是因为X和Y按位异或的结果只有四种可能,这四种可能只需要用2比特就能编码区分。而如果Y在编码端未知,而在译码端已知时,X仍然只需要2比特进行编码。因此,只需要2个比特即可指明X属于哪个陪集,在译码时可以根据Y把X译码成陪集中对Y的汉明距离最近的那个码字。这样即使编码端无法确定Y的信息,也可将信源X压缩成两比特。
2.Wyner-Ziv编码理论
在WSN的应用中,连续信源是经常需要处理的一种信源,但是在解码器端利用边信息就会产生速率失真。对于这个问题,Wyner-Ziv编码理论为文章说明了这个问题。Wyner-Ziv编码理论推导了一种对具有相关性的连续的信源进行分布式编码的方法。在具体的实现中,首先需要对连续信源X进行量化,由此虽然引入了量化失真,但是量化后的时与边信息Y二者之间仍然具有相关性,根据前一节所阐述的Slepian-Wolf编码理论,利用这种相关性来降低*的速 率。由于Slcpian-Wolf编码是基于信道编码的编码,因此Wyner-Ziv编码问题实 际上是一个信源信道编码问题。Wyner-Ziv理论认为,在进行有损压缩的时候(比如量化之后的压缩),对 于只在解码端获得参考信息(或边信息)的情况,以及在编码和解码端同时獲得 参考信息的情况来说,前者的编码效率并没有下降。也就是说,在有损压缩的时 候,这两种情况其实是具有相同的率失真的。Wyner-Ziv编码问题可以看成是一个将码字量化和Slepian-Wolf编码相结合的问题,如图1所示。
如图1所示的量化模块中,需要设计一个量化器,该量化器设计的目标是将信源码字空间分割成互不重叠的2R个区间,则信源的比特率就是R比特/符号。用U表示信源码字空间,信源X和边信息Y是具有相关性的,则U和Y也具有相关性,文章可以设想这样一个虚拟信道P,其在U和Y之间,因此用P(Y/U)表示,把U当做虚拟信道的输入,Y当做其输出,假设信道码有2足个码字(与码字空间的码字数量相对应),如果信源码字属于这组信道码,那么在解码端,参考信息就可以被当作信道的输出,即Y(边信息)是信源码字的有噪版本,即Y=X+N,N为信道的噪声,这样利用信道码的纠错性能就可以对信源码字进行恢复。
从上面的描述中可以知道,Wyner-Ziv编码实际上可以看成是一个信源信道联合编码的问题,其中信源编码的内容包括量化模块和估计模块,码字在量化之后就形成了有待分割的码字空间,在估计模块对解码输出做估值。图1中的 Slcpian-Wolf编码器是以信道编码的原理,实现信源编码的模块。随着信道码正在一步步地接近信道容量,因此Slepian-Wolf编码的码率就会越来越接近 Slepian-Wolf理论所给出的理论极限。
(三)分布式信源编码的主要方法
1.利用校验子(Syndrome)的分布式信源编码方法
Distributed Source Coding Using Syndrome)和实现 Pradhan和Ramchandran提出的DISCUS方案是DSC实现中具有重要意义的 一种方案,它的出现使得很多DSC都是采用它的思想进行实现。DISCUS采用 的是利用网格编码调制的信道码进行实现,对信源进行分割,将需要编码的信源 映射成所在码字的校验子来实现压缩。DISCUS将信道码的特点和理论加以利 用,用特有的信道码对信源划分成不同的陪集,使得各个陪集内的信号之间的距 离尽可能远。
2.Turbo编码方法
DISCUS对信道编码的校验位进行了特殊的处理,使其转变为校验子从而减少了直接传输校验位的冗余信 息,达到压缩信源并且保证了传输有效性的目的。如果直接用校验位实现DSC,就必须考虑一个问题,即:如何处理实现对信源的压缩。近年来,由于Turbo码的出现,使得这个问题得到了解答。Turbo码允许只传输部分校验位(凿孔Turbo码)也能保证准确地实现译码,这样也就在保证译码准确性的前提之下,实现了信源的压缩。由于其优秀的性能,Turbo码已经被应用到DSC中来。
3.LDPC编码方法
LDPC 码(Low-Density Parity-Check codes,低密度奇偶校验码)是 Gallager于 1962 年提出的,是一类可以用非常稀疏的校验矩阵或者二分图定义的线性纠错码,目前也被用于DSC。LDPC码与之前的一些信道码如Turbo码等相比,同样有着逼近理论极限的性能;长码字7时LDPC码的性能超过Turbo 码,同时,其译码复杂度大大低于Turbo码。LDPC码包括二进制LDPC码和多进制LDPC码,前一种由于实现简单,被广泛应用。
二、无线网络中的分布式信源编码方法
在WSN中应用DSC的基本思想是:将传感器节点数据之间的冗余看成是被加插的码元,通过DSC系统对节点数据进行有效的压缩(编码),达到提高数据传输效 率、节约节点能量的目的。文章从Turbo码的设计角度出发,提出Turbo 码的编译码改进结构,实现一种DSC—Turbo编译码方案,如图2所示。图中可以用虚竖线隔成三部分,分别是编码、网络信道和译码。Turbo码编码器分成三部分:RSC编码器,交织器和删余矩阵;译码采用最大后验概率译码(MAP)。下面讨论如何按DSC的要求对这几部分进行优化设计,构造DSC—Turbo编译码结构。
(一)编码器的设计
在传统的Turbo码编码器结构中,信息序列“经过交织器,形成一个新的序列材。(长度与内容没变,但比特位置经过重新排列)。序列1和2分别传送到两个分量编码器。一般情况下,这两个分量编码器结构相同,分别生成新序列。为了提高码率,新序列需经过删余器,形成校验位序列。校验位序列与未编码序列经过复用调制,生成了 Turbo码序列。
与传统的Turbo码编码器相比,在DSC—Turbo 编码器设计中,我们将信源用传统的信源编码方法进行编码,传输到解码端,并在解码端作为参考信息。将信源X送入到两个结构相同的分量编码器中,即每个编码周期进入RSC的数据为k比特,经过编码后产生1比特的校验信息与原始的k比特信息组成编码输出。由于边信息的存在,丢弃原始的k比特信息,只需要1比特的校验信息。经过删余器,两个RSC交替保留校验比特,最后得到的码率为t/I,即将信源速率压缩到原来的I/k。
(二)译码器的设计
典型的移动通信环境中,所使用的信道码编码方式为l/k,(k=2,3,4,...)的Turbo码,对应1比特的输入信息,产生若干比特的校验信息,同时发送到接收端 进行译码,因此采用二进制译码算法,每个译码周期 的判决输出为一个二进制比特。而在文章提出的 DSC—Turbo编译码中与此刚好相反,其码率为k/1,若干比特位的输入信息进行编码后只产生1比特的校 验信息作为编码输出发送到译码端,因此需要采用非二进制译码,每个译码周期的判决输出为一个非二进制数据,共2个备选符号。由于DSC中接收端可以是性能很强且没有限制 的基站设备,因此译码可以使用复杂度比较高但性能很好的软输入软输出(SISO)MAP,LogMAP,SOVA等 Turbo码译码算法,与以往的DSC—Turbo方案不同,文章提出的设计方案中首次采用了MAP译码算法。
三、仿真分析
设信源X和边信息Y的相关性可以用二进制对称信道来建模,且信道的转移概率为p,即
H(X|Y)=H(Y|X)=h(p)
其中,h(g)是二进制熵函数。通过改变参数p的值来模拟X和Y的相关性,从而比较不同的条件熵下的性能。假定虚拟信道为理想信道,即校验位能够正确接收。我们以和之间的相关性H(X|Y)为横坐标,以误比特率为纵坐标,通过改变的值来说明误比特率与信源相关性之间的关系,通过MATLAB对1200帧随机信源数据进行编译码仿真得到图4,其中L=500、 1000表示帧长度,图4中data(1—4)四条曲线分别表示未编码、迭代1次、迭代3次和迭代10次四种情况。
从图3可以看出,相同条件下,帧长度越大,误码率性能越好;迭代译码的迭代次数越多,性能也越好。帧长度的增加意味着编码复杂度的增加,迭代次数的增加对应译码复杂度增加,为了取得比较好的编译码效果以及尽量减少编译码复杂度,两者需要适当的选择。分量器编码速率为Rx=1/2时,H(X|Y)≤Rx的范围内,误比特率曲线迅速下降,当迭代次数达到10次以上时,可以认为达到了数据传输所要求的误差水平。也就是说,在满足一定可靠性的条件下,信源X的数据压缩率可以达1/k,网络能量效率可以提高k+1/2k。根據DSC理论推导证明,在H(X|Y)≤Rx时,是可以实现无差错传输的,仿真结果表明文章提出的方案已经逼近了这一理论界限。
从仿真结果可以看出,DSC编译码可以显著减小信源发送的数据量,在DSC译码过程中,边信息和接收到的校验序列所起到的作用不同,边信息作为辅助信息,是必不可少的,但是允许一定的失真:而校验信息作为译码过程的主要处理对象,具有决定性的作用。因此,目前在WSN中应用DSC时,传送相关消息的节点需要进行两个或者三个的合作,其中一个节点提供边信息,另一个节点根据Slepian—Wolf界或 Wyner-Ziv界压缩信息。
参考文献
[1] 李莉,温向明.无线传感器网络中分簇算法能量有效性分析[J].电子与信息学报,2008,30(04):966-969.
[2] Heinzelman W,Chandrakasan A,and Balakrishnan H.Energy-efficient communication protocol for wireless microsensor networks[C].Proceedings of the 33rd Annual Hawaii International Conference on System Sciences,Hawaii,USA,2000:3005-014.
[3] Younis O and Fahmy S.HEED:a hybrid,energy—efficient,distributed clustering approach for ad hoc sensor networks[J].IEEE Transactions on Mobile Computing,2004,3(04):366—379.
基金项目:文章为许昌学院校内科研基金项目的阶段成果,项目编号:2015078。
作者简介:武红玉(1981- ),女,河南邓州人,硕士研究生,许昌学院电气(机电)工程学院讲师,研究方向:信号处理,通信。