数据融合是WSN中非常重要的一项技术,也是目前的一个研究热点,通过一定算法将采集到的数据进行各种网内处理,去除冗余信息,减少数据传输量,降低能耗,延长网络生命周期。
本文以从降低传输数据量和能量方面对数据融合方法进行分类,介绍其研究现状。
1.与路由相结合的数据融合将路由技术和数据融合结合起来,通过在数据转发过程中适当地进行数据融合,减轻网络拥塞,延长网络生存时间[1]。
1.1查询路由中的数据融合定向扩散(directed diffusion)[2]作为查询路由的代表,数据融合主要是在其数据传播阶段进行,采用抑制副本的方法,对转发过的数据进行缓存,若发现重复数据将不予转发,该方法有很好的能源自适应性,但是他只能在他选择的随机路由上进行数据融合,并不是最优方案。
1.2分层路由中的数据融合Wendi Rabiner Heinzelman 等提出了在无线传感器网络中使用分簇概念,其将网络分为不同层次的LEACH 算法[3] :通过某种方式周期性随机选举簇头,簇头在无线信道中广播信息,其余节点检测信号并选择信号最强的簇头加入,从而形成不同的簇。
每个簇头在收到本簇成员后进行数据融合处理,并将结果发送给汇集节点。
LEACH算法仅强调数据融合的重要性,但未给出具体的融合方法。
TEEN是LEACH 算法的改进[4],通过缓存机制抑制不需要转发的数据,进一步减少数据融合过程中的数据亮。
1.3链式路由中的数据融合Lindsey S 等人在L EACH 的基础上,提出了PEGASIS 算法[5]每个节点通过贪婪算法找到与其最近的邻居并连接,从而整个网络形成一个链,同时设定一个距离Sink 最近的节点为链头节点,它与Sink进行一跳通信。
数据总是在某个节点与其邻居之间传输,节点通过多跳方式轮流传输数据到Sink 处,位于链头节点和源节点之间的节点进行融合操作,最终链头节点将结果传送给汇聚节点。
链式结构使每个节点发送数据距离几乎最短,比LEACH节能,但增大了数据传送的平均延时,和传输失败率。
PEDAP (power efficient data gathering and aggregation protocol) [6]协议进一步发展了PEGASIS 协议,其核心思想是把WSN 的所有节点构造成一棵最小汇集树(minimum spanning tree) 。
节点不管在每一轮内接收到多少个来自各子节点的数据包,都将压缩融合为单个数据包,再进行转发,以最小化每轮数据传输的总能耗。
然而,PEDAP 存在难以及时排除死亡节点(非能量耗尽) 的缺点。
2.基于树的数据融合现有的算法有最短路径树(SPT)、贪婪增量树(GIT)、近源汇集树(CNS)和Steiner树以及他们的改进算法。
Zhang [7]提出DCTC(dynamic convey tree based collaboration) 算法。
通过目标附近的节点协同构建动态生成树,协同组节点把测量数据沿确定的生成树向根节点传输,在传输过程中,汇聚节点对其子生成树节点的数据进行数据融合。
Luo [8-9]了MFST (minimum fusion steiner t ree)算法,用于在WSN 中以数据融合方式进行高效节能的数据收集。
文中考虑了数据传输开销和数据融合开销,并且根据节点产生的数据量来选择融合数据点,还提出提出了AFST (adaptive fusion steiner t ree) 算法,该算法对MFST 算法进行了改进,不仅优化数据传输路由,而且在节点转发数据时,动态决定是否进行数据融合来进一步减少总的能量开销。
Min Ding等人提出基于节点剩余能量的EADAT[10]立和维护一颗组播树,来减少广播信息数量,关闭书中页子节点的射频单元,只有非叶子节点参与数据融合和响应,有效地降低了非叶子节点的能耗,延长了网络寿命。
3.基于性能的数据融合为使网内数据融合更加有效,要求数据在传送时要哟一定时间延迟。
如何将最大融合延迟合理地分配到各个融合节点上,使融合效果达到最佳。
Brute-Force算法[11],将最大融合延迟时间分配到各个融合节点上,但算法太复杂,超出无线传感网络能力。
除数据延迟性能外,研究人员还对数据融合中其他性能问题进行了深入研究。
Jerry Zhao[12]等人探讨了连续计算融合对网络性能的影响,并提出树结构建立算法,可针对部分融合函数进行高能效计算,实验表明,通过丢弃高丢包率和非对称性链路,可大大提高结果的准确性。
Athanassions boulis[13] 探讨了无线传感网络中数据融合的能耗和结果准确性之间的平衡问题,针对周期性融合问题,提出利用个节点数据之间的时空相关性作为融合估计值得思想,建立了能耗和准确性的折中准则。
Ignacia solis[14]等人讨论了在传感器网络中进行数据融合的时序模型,及节点向上层节点转发数据前,应当等待多长时间以便接受完整数据,比较采用三种不同融合方法(即Periodic Simple Aggregation,Periodic Per-hop Aggregation和Peridic Per-hop Adjusted Aggregation)时的性能差异。
研究表明,根据节点在融合树中的位置来设置时序可得到较理想的效果。
Tri Pham15]提出DAQ(Data Aggregation Quality,数据聚集质量概念),对LEACH和PEACH和PEGASIS进行扩展,提出两种新的融合算法,即E-LEACH和C-PEGASIS,并比较了这四种方法的能靠,平均DAQ 以及网络延时性能。
结果表明,PEGASIS方法在能耗方面较LEACH好,但其DAQ低。
付华等人提出的基于环带模型的非均匀分簇方法[16]和LiuAn-Feng提出的TDMA 数据融合算法[17],可使得网络达到能耗均衡,进一步避免了“热区”问题,消除了数据融合相关度的限制,更大程度地提高了网络寿命和能量的利用率。
文献周平等人[18]从预测的角度,分析节点能量衰减的过程,采用节点能量衰减预测模型描述节点能量损耗的规律,并建立基于该预测模型的节点剩余能量汇报机制,从而减少节点能量数据的汇报次数以及节点间的数据通信量,降低节点能耗。
4.基于移动代理的数据融合将传感数据保留在节点本地,移动代理迁移到数据处采用合适的算法进行融合处理,克服传统的数据融合算法弊端。
王殊[19]等人针对移动代理特点,提出一种基于分辨率的并行量化交叠算法(RPQO)实现数据融合,仿真结果表明RPQO能够以较小的代价达到应用要求,其优势随着网络规模的增长更为明显。
5.基于数据压缩的数据融合5.1排序编码的数据压缩算法基于排序编码的数据压缩算法[20]原理是将兴趣区域中的节点数据传送到集合节点,在集合节点处将会丢弃一些数据,并通过组合保留节点数据的存储顺序来表达被丢弃的节点数据,实现数据压缩。
5.2分布式数据压缩算法5.2.1基于信源编码的压缩算法以Slepian2Wolf 编码为基础的分布式信源编码(dist ributed source coding) 技术[21]采用分布式方式,在每个信息源点进行数据压缩,使所有信息源点输出的信息消息量最少,而且互不相关。
所有互不相关的数据无需网内汇聚处理,直接传送到sink ,sink 根据数据之间的相关性恢复出所有原始数据,并进行相应的后处理。
5.2.2. 报头压缩不同协议的报头携带了相同信息或可推论的信息;连续包之间的冗余,即同一个包流的前后包的对应字段间只有微小的变化。
根据报头中各个字段的变化方式,可将其分为不变字段和变化字段。
根据具体情况设计相应的压缩算法,从而减小传输的数据量,提高信道利用效率。
吴亦川[22]等人提出了一种自适应的TCP/ IP 报头压缩算法,并提出基于信道状态进行自适应调整以进一步提高压缩算法的性能。
这种算法适用于无线IP 网络中对TCP/ IP 报头的压缩。
周新运[23]等人提出提出了自适应的报头压缩机制AA HC (advanced adaptive header compression) 。
AA HC 机制在获得较高压缩效率的同时,可保证报头压缩的抗差错鲁棒性,其性能优于传统的ROHC( robust header compression)机制和CRTP(compressed RTP)机制。
但是,该机制没有考虑时延的影响。
5.2.3数据包合并数据包合并是WSN 中一种有效的数据融合算法。
数据包合并的主要思想是当某个节点收到多个子节点发来的数据包时,将它们合并成一个大的数据包,然后将合并后的数据包发送到父节点。
在WSN 中,数据字段相对较短,而控制字段相对较长。
数据包合并能够有效地降低包头的开销。
典型的数据包合并算法包括数据漏斗( data funneling) [24]以及AIDA( application2independent data aggregation) [25]等。
数据漏斗实质上是一种基于簇的数据融合,簇头节点负责合并簇内节点的数据包。
然而,数据漏斗要求节点具有自身的位置信息,并且有可能产生漏斗效应(funneling effect) [26] 。
AIDA 是一种与应用无关的数据融合算法,实质上是在MAC 层与网络层之间加入了一个数据融合层进行数据包合并的操作。
通过数据包合并,AIDA 能够有效地减少网络中的数据传输量,降低无线信道中发生冲突的可能性。
然而,AIDA 与应用相互独立,无法利用高层次的语义信息对数据作进一步的压缩,因此其融合度相对比较低。
5.2.4分布式小波压缩算法传感器节点检测到的数据往往冗余度很大,将得到后的传感数据进行小波变换,量化,混合熵编码,最后的到码比特流。
通过基于小波变换的混合熵方法压缩,可进一步降低定向扩散算法的节点耗能,延长网络生命周期。
Alexandre Ciancio等人提出利用小波变换中的提升因数分解方法构造分布式压缩算法[27]。
该算法将小波系数重定义为通往中心的节点数据流,通过计算部分小波系数,利用网络中的自然数据流来聚集数据。
5.2.5基于贪婪算法和聚合代价的压缩算法Seung Jun Beak 等人提出基于基于贪婪算法和聚合代价的单汇聚节点最优分布式数据压缩算法[28].研究表明,压缩最后结果与节点分布无关,只与其聚合代价的相对顺序有关。
文献[28]提出了一个由Sinks、Aggregators/ Compressors和Sensors组成的简化三层是结构。
通过采用合理的能量度量尺度函数,最好将这个最优层次组织问题转化为一个Jone-Mehl tessellation问题;通过采用随机集合理论,将其与Voroni tessellation方法进行了比较。