能量约束贝叶斯压缩感知检测算法
2012-11-06赵春晖许云龙
赵春晖,许云龙
(哈尔滨工程大学 信息与通信工程学院,黑龙江 哈尔滨150001)
1 引言
目前,无线传感器网络(WSN, wireless sensor network)已被广泛应用于智能家居、物联网等领域的数据采集和传输。其中,另一个重要的应用是对目标物体位置的检测。假设在一个无线传感器网络中分布着若干个目标源,各传感器节点首先对网络中所有目标源信号进行接收,再将接收到的目标源信号叠加和信息传送到汇聚节点,最后由汇聚节点通过收集到的信息来获得网络中目标源的个数、位置及所发送信号强度等信息。无线传感器网络在拥有快速展开、抗毁性强等诸多优势的同时,也存在着一些现阶段无法克服的缺点,其中最为突出的是节点信息处理能力不足和能量缺乏。在实际目标位置检测过程中,汇聚节点只能接收和处理网络中少数感知节点的信息。这时,亟待出现一种能根据少量的节点信息获得整个网络状态的技术。近年来,兴起的压缩感知(CS, compressive sensing)理论[1,2]能很好地解决这一问题。利用原始信号的稀疏性,CS技术能从比奈奎斯特准则要求少得多的采样点数中精确恢复出原始信号。结合CS理论,可有效减少目标源信号信息的采样点数。另外,由于无线传感器网络节点所携带的能量有限,同时其节点能量一般无法更新,因此在算法中必须考虑节点的能耗。
唐亮等人提出了一种贝叶斯 CS检测算法[3],该算法是联合 LEACH[4~7]和贝叶斯 CS[8]无线传感器网络检测算法。算法在开始时,利用LEACH算法进行分簇收集信息,之后利用贝叶斯CS算法去重构出原信号,来完成对目标源的检测。然而在贝叶斯CS重构信号时,必须重新选择观测向量,而在传统的贝叶斯CS中选择的观测向量仅仅考虑了熵减少的方向,而没有考虑选择观测向量节点的能量。这样虽然解决了节点信息处理能力不足的缺点,但是没有考虑到节点的能量,容易导致整个网络中的节点能量失衡,从而使网络过早的失效,因此文中提出了一种基于能量约束的贝叶斯CS检测算法来进行目标源检测。该算法在选择观测向量时,加入了能量约束条件同时采用了改进的分簇算法[7]去收集信息,使得网络在保持检测性能的同时,更好地均衡网络中各节点的能量,有效地延长网络的生存时间。
2 系统模型
假设WSN的监测区域是一个被等分成N块单位面积大小子区域的N×N的方形区域。令整个区域内随机分布有L个传感器节点。因此每个传感器节点与各个子区域传输关系可以用 L×N矩阵 H来表示。H的第i行第j列元素Hi,j表示第i个节点与第 j个子区域传输关系,其中,1≤i≤L,1≤j≤N。假设传播模型为自由空间传播模型,Hi,j表示第j个子区域到第i个节点的传输损耗。同样,目标源的位置也用其所在的子区域来表示,且每个子区域最多存在一个目标源。所以,区域内的K个目标源也用一个N维向量f来表示。令第k(1≤k≤K)个目标源的信号强度为sk,在子区域i内,则f中对应元素fi的值就设为sk,其他设为0。
WSN检测目标源的过程,是由网络所有节点信息检测出来的,然而汇聚节点出来能量有限,仅可以处理少量节点的信息,因此节点的信息融合成为必要的步骤。由此汇聚节点的信息收集模型如下
其中,n为观测噪声,W为一个M×L的信息融合矩阵,M为网络中的簇数,L为传感器节点数。
3 改进分簇算法
LEACH算法把整个网络分成M个簇,每个簇有簇头,在簇内各节点的信息汇集到簇头进行信息融合,再由簇头把融合后的信息发送给汇聚节点。然而LEACH算法中,若簇首节点与汇聚节点较远时,消耗的能量将会过多,由此产生很多改进算法。例如文献[5]提出了由其他簇首来代发信息,然而每个簇的簇首自身的任务繁重,能量消耗也很快,因而再为其他簇首转发信息将使其能量消耗更大。WENDI等人提出MTE转发信息的方法,该方法尽管每个节点消耗的转发能量最小,但是转发节点数太大,这样发送信息所需的总能耗不一定最小[6]。郭书城等人提出了综合考虑方位、距离、剩余能量等去选择转发节点,在降低网络节点能耗、均衡节点能耗方面取得效果更好[7],亦本文采用的分簇算法,该分簇算法的具体步骤如下。
1)以LEACH算法分簇,节点按就近原则加入簇,并将自己加入该簇以及自身的地理位置和剩余能量信息发送给簇头。
2)簇头节点广播簇内所有节点的地理位置和剩余能量信息给簇内节点,簇内节点存储此信息。
3)在算法运行过程中,当节点能量低于某一门限值时,该节点需向簇内节点告知自己的剩余能量信息,便于节点自身及簇内节点及时更新数据库中能量信息。
4)簇首节点选择簇内下一跳转发节点。具体步骤如下:
(a)簇首节点在簇内挑选出比自己距离汇聚节点近的成员节点;
(b)按与簇首节点的距离由近到远对节点排序并赋予距离权值;
(c)按剩余能量由大到小对节点排序并赋予能量权值;
(d)将各节点的距离和能量权值相加,权值和最小的节点即为簇首节点的下一跳转发节点。
如果本簇内没有满足条件的节点,转到6)。
5)转发节点继续选择下一跳节点。与簇首节点选择方法不同,转发节点选取的下一跳节点需同时满足剩余能量要求和能距比[7]小的原则。具体步骤如下:
(a)在转发节点与汇聚节点的连线上选择距离转发节点为最佳发送距离的点为圆心,选出在最佳发送距离为圆心内的本簇节点;
(b)按与圆心的距离由远到近对节点排序并赋予距离权值;
(c)按剩余能量由大到小对节点排序并赋予能量权值;
(d)将各节点的距离和能量权值相加,权值和最小的节点即为本转发节点的下一跳转发节点。
6)若本簇内找不到满足要求的下一跳转发节点,可在相邻簇内进行选择。在进行邻簇选取时,节点需向邻簇发送一个包含自己位置信息的询问,最先收到信息的节点按第 5)步的方法进行节点选取,并把选出节点的位置信息告知发出询问信息的那个节点。
7)转发节点将信息发送到汇聚节点。
4 能量约束贝叶斯CS检测算法
4.1 贝叶斯CS
设信号u在变换基Ψ上是稀疏的,对其作如下变换:
其中,u,f是N×1的向量,Ψ是N×N的变换矩阵。向量f中仅有k(k<<N)个非零系数。然后把稀疏信号f投影到观测矩阵Φ上得到观测向量y。
在实际系统中CS的观测值常常包含噪声,观测噪声是均值为零,方差σ2未知的高斯白噪声,用n表示。则观测向量y可以表示为
引入高斯概率模型则式(4)可以表示为
CS重构问题就变为对权值和噪声方差的后验估计。贝叶斯 CS[8]就是利用稀疏贝叶斯学习中的相关向量机原理[9,10]去实现对权值和噪声方差的后验估计,从而解决CS重构问题。大部分压缩感知算法的观测矩阵是固定的,系统无法根据实际情况来选择需要的观测向量,这就缺乏灵活性,容易造成观测向量的冗余或不足。而贝叶斯 CS算法很好地解决了这一问题,通过计算信号的熵来选择算法所需要的观测向量。原始信号的熵可用式(6)计算
4.2 检测算法
首先,由于无线传感器网络中,节点的能耗是必须考虑的一个问题,而贝叶斯CS检测算法只考虑了原信号的熵,这样选出来的节点可能在能耗约束上不一定有效,因此文中提出了一种能量约束的贝叶斯CS检测算法,算法在选择观测向量时,不仅考虑了原始信号的熵,同时考虑了所选节点的能量,这样就可以达到使网络中所有节点的能量消耗的更加均衡。能量约束的贝叶斯CS检测算法把选择新观测向量的熵式中加入了能量约束成分得到新的信号熵如下
其次,为了更好地减少簇头的能量消耗,均衡网络中所有节点的能量,在开始收集信息时采用改进分簇算法[7]传输信息至汇聚节点。同时之后选择的节点由于只是单个节点,在信息传输至汇聚节点前,并不需要簇头进行信息融合,所以为了减少簇头的能量消耗,被选择的节点被重新定位为该簇的簇头。又由于这时簇头收集和发送的信息只是本身的信息,簇头的负担并不重,这时若找较近的,剩余能量较大的节点转发,而不考虑能距比的要求,将会造成节点能量的浪费,因此在转发节点选取过程中,将按照同时满足剩余能量要求和能距比[7]小的原则来选择转发节点,即按照改进的分簇算法[7]的第5)步来选择转发节点。
能量约束贝叶斯CS检测算法过程如下。
1)簇头节点先收集簇内各节点的信息并对其融合之后,按照改进的分簇算法[7]来选择传输路径,把信息发送给汇聚节点,然后汇聚节点利用这些节点的信息去重构信号f。
2)对重构后的信号f的精度进行判断,如满足系统要求,算法停止,否则进行第3)步。
4)汇聚节点把这个节点的观测向量,观测值与之前的观测向量,观测值相结合。利用结合后的观测向量,观测值去重构信号 f,之后返回第2)步。
5 实验结果与分析
仿真中,将 M(M=100)个传感器节点随机分布于大小为100m×100m的区域内,区域的顶点即坐标为(100,100)的汇聚节点,任何一个传感器节点都能直接和汇聚节点进行通信。K(K< 为了检验2种算法的检测性能,本文引入了漏检概率pm和虚检概率pf作为检测性能的判别标准,其中,pm为每次未检测出来的目标占实际总目标源的个数,pf为检测到虚假目标源个数与实际总目标源个数的百分比,pf理论上可以大于 1。为了减少虚假目标源的个数,提高检测性能,本文通过设置阈值(0≤ε≤1)来改善重构性能,当所检测到的目标源向量中元素的值小于ε时,则设为0,即在该位置不存在目标源。 图1是K=5时,贝叶斯CS检测算法和能量约束贝叶斯CS检测算法检测原信号的分布。 图1 信号f的分布 由图1可知:两算法均能准确地恢复出信号源的位置,图中看不出有什么区别,但是两算法有时候可能不能完全检测出目标,或者检测到虚假目标。在K=5,ε=0.5时,通过1 000检测实验,得到了贝叶斯压缩感知算法和能量约束检测算法的平均漏检概率分别为7.10%和10.24%;虚检概率分别为8.67%和9.64%,由上述的概率可以看出贝叶斯CS检测算法性能稍优于能量约束贝叶斯CS检测算法,这是由于贝叶斯CS检测算法在选择观测向量时只考虑重构性能,而能量约束检测贝叶斯CS检测算法还需要考虑节点的能量,因此它的检测性能会稍差于贝叶斯压缩感知算法,然而通过 10次实验得到贝叶斯 CS检测算法和能量约束贝叶斯 CS检测算法的网络平均生存时间分别为 212min和385min,网络的生存时间得到了很大的提高,这对于无线传感器这种能量受限的网络来说,在检测性能牺牲不大的情况下,极大地提高了网络的生存时间还是值得的。 如图2(a)、图2(b)所示分别为目标源个数K=10时,取不同的阈值ε得到的2种算法的pm和pf的性能对比。 图2 2种检测算法的检测性能对比 从图2中曲线可以看出:pm值随着阈值ε的增大而增大,而pf值随着阈值ε的增大而减小。这是由于较小的阈值时,将保留大量的目标源,但是随着阈值的增大,正确的目标源也会被认为是虚假的目标源,因此选择一个合理的阈值对于算法的检测效果至关重要。 表1是通过100次实验得到的贝叶斯CS检测算法和能量约束贝叶斯CS检测算法的网络平均生存时间对比。从表中可以看出贝叶斯CS检测算法由于在选择最优的节点没有考虑节点的能量,它的网络生存时间几乎只有考虑了节点能量情况下的能量约束检测算法的网络生存时间的十分之六。由此可以看出能量约束贝叶斯CS检测算法大大地提高了网络的生存时间,也就是说能量约束贝叶斯CS检测算法更符合在这种对能量缺乏的无线传感器网络中使用。 表1 网络平均生存时间对比 由于算法精确检测出信号位置所消耗的时间主要是看算法选择的观测向量上,因此2种算法的收敛速度可以用检测出信号位置所需节点的观测数目来代替。表2是通过1 000次实验,在K=5,ε=0.5时,得到的贝叶斯CS检测算法和能量约束贝叶斯CS检测算法精确检测出信号位置所需的观测节点的平均数目。由表2可以看出贝叶斯CS检测算法由于在选择最优的节点只考虑使信号的熵值变小的方向而不用考虑网络节点的能量,因此所需的观测节点数较少,而能量约束贝叶斯CS检测算法由于考虑了信号的熵值和网络节点的能量,所以所需的观测节点数较多,即贝叶斯CS检测算法相比于能量约束贝叶斯CS检测算法的收敛性能要好一些。 表2 收敛性能对比 本文提出了一种新的WSN的目标检测算法。算法有效地利用改进分簇算法的优点同时改进贝叶斯CS算法的缺点,是其更适用于WSN网络。1)初始收集信息时,使用LEACH算法进行数据融合减少信息量,同时利用改进分簇算法去选择传输至汇聚节点的最佳路径,减少簇头节点的能量消耗。2)选择的节点为单个节点,因此传输其信息时,按照剩余能量要求和能距比[7]小的原则选择传输路径,防止节点能量浪费。3)对贝叶斯CS算法选择观测向量的过程中加入了能量约束条件,以使网络中各个节点的能量更加均衡。该算法相对于贝叶斯CS检测算法,极大地增加了网络的生存时间。通过仿真实验可以看出,尽管在检测性能上能量约束贝叶斯CS检测算法稍逊于传统的贝叶斯CS检测算法,但是能量约束检测贝叶斯CS检测算法相对于传统的贝叶斯CS检测算法能够有效地提高网络的生存时间,这对于无线传感网络这种能量受限的网络来说,牺牲一点检测性能去换取网络生存时间的较大提高还是可以接受的。 [1] DONOHO D L. Compressed sensing[J]. IEEE Trans Information Theory, 2006, 52(4): 1289-1306. [2] CANDS E J. Compressive sampling[A]. International Congress of Mathematicians[C]. Madrid, Spain: European Mathematical Socirty,2006.1433-1452. [3] 唐亮,周正,石磊等.基于 LEACH和压缩感知的无线传感器网络目标探测[J]. 北京邮电大学学报, 2011, 34(3): 8-11.TANG L, ZHOU Z, SHI L, et al. Source detection in wireless sensor network by LEACH and compressive sensing[J]. Journal of Beijing University of Posts and Telecommunications, 2011, 34(3): 8-11. [4] 许力. 无线传感器网络的安全和优化[M]. 北京:电子工业出版社,2010.XU L. The Security and Optimization of Wireless Sensor Network[M].Beijing: Publishing House of Electronics Industry, 2010. [5] 冯健胜.基于LEACH和WMC的无线传感器网络路由协议的研究与优化[D]. 广州:暨南大学, 2008.FENG J S. Researching and Optimizing of Routing Protocols in Wireless Sensor Network Based on LEACH and WMC[D]. Guangzhou:Jinan University, 2008. [6] HEINZELMAN W R, CHANDRAKASAN A, BALAKRISHNAN H.Energy-efficient communication protocol for wireless microsensor networks[A]. Proceedings of the 33rd Hawaii International Conference on System Sciences[C]. Hawaii, USA, 2000. 1-10. [7] 郭书城, 卢昱, 许定根. 基于分簇无线传感器网络的路由算法研究[J]. 通信学报, 2010, 8A(31): 63-69.GUO S C, LU Y, XU D G. Research on a routing algorithm for clustered wireless sensor networks[J]. Journal on Communications, 2010,8A(31): 63-69. [8] JI S H, XUE Y, CARIN L. Bayesian compressive sensing[J].IEEE Trans on Signal Processing,2008,56(6): 2346-2356. [9] TIPPING M E. Sparse Bayesian learning and the relevance vector machine[J]. Journal of Machine Learning Research, 2001, (1): 211-244. [10] TIPPING M E, FAUL A. Fast marginal likelihood maximisation for sparse Bayesian models[A]. Proceedings of the Ninth International Workshop Artificial Intelligence and Statistics[C]. 2003.1-8. [11] JOHNSEN K, ROGERS A, JENNINGS N R. Decentralized control of adaptive sampling in wireless sensor networks[J]. ACM Transactions on Sensor Networks, 2009, 5(3): 19-52.6 结束语