发明内容
本发明目的是为了解决在无线传感器网络中随机投放的传感器节点过于密集的情况下,往往会造成较大的通信干扰,检测精确低,且成本高;相反,若投放的节点过于稀少又加之其随机性,则会出现检测漏洞的问题,提供了一种基于压缩感知及博弈论的无线传感器网络稀疏事件检测方法。
本发明所述基于压缩感知及博弈论的无线传感器网络稀疏事件检测,该方法包括以下步骤:
步骤一、将网络系统中随机布撒的M个传感器节点采用博弈论思想划分层次,形成a个层次,即为a个层次策略;
将网络系统中随机布撒的M个传感器节点采用博弈论思想划分层次,形成a个层次,即为a个层次策略的过程为:
步骤11、网络系统内的每个传感器通过发送信息来确定通信半径内所有邻居节点的传感器ID及该邻居节点相对自身的位置关系;
步骤12、任取一个传感器节点i,判断在该传感器节点通信半径内,该传感器节点的ID是否小于所有传感器邻居节点的ID,
判断结果为是,则说明该传感器节点所有邻居节点的ID都大于该传感器节点的ID,则该传感器节点根据自身的收益值优先选择该节点的最佳层次策略,并且将其选择的最佳层次策略发送给该节点的所有邻居节点;
判断结果为否,则该节点处于等待状态,直至比该传感器节点ID小的所有邻居节点选择完成其最佳层次策略后,再根据自身的收益值选择该传感器节点的最佳层次策略;
步骤13、按照步骤12对网络系统内的M个传感器节点划分层次,进行n次,直到处于纳什均衡状态,完成a个层次策略的划分。
步骤二、基于压缩感知原理,根据正在发生事件的数量K来确定激活1个或多个层次的传感器节点,被激活的传感器节点的数量P满足
K<P<<N,
利用所述P个传感器节点来对N个事件源中的正在发生的K个事件进行检测;
根据正在发生事件的数量K来确定激活1个或多个层次的传感器节点的过程为:
被激活的传感器节点的数量P满足K<P<<N,根据公式
可确定激活层次的数量y,
式中,Px为某个层次的节点数,y=1,2,...a。
步骤三、网络系统数据终端接收所述P个传感器节点检测出的N个事件源信息的P维数据向量
并根据检测过程获取量测矩阵φP×N;
量测矩阵φP×N按如下公式获取:
其中,
在式中,dij为第i个节点与第j个事件的距离,α为信号衰减常数,2≤α≤5,gij为第i个节点测量第j个事件状态下的高斯噪声信号。
步骤四、利用步骤三获取的N个事件源信息的P维数据向量y和量测矩阵φP×N,采用贪婪稀疏事件检测算法获取N个事件源中正在发生的K个事件的具体分布向量E。
N个事件源中正在发生的K个事件的具体分布向量E的获取过程为:
步骤41、ym为第m次迭代时N个事件源信息的P维数据向量,初始化ym,即m=0时,y0=y,y为P个传感器节点检测出的N个事件源信息的P维数据向量;
步骤42、将量测矩阵φP×N表示为:
[z1,z2,…zq,…,zN],
抽取量测矩阵φP×N的列向量zq,其中q=1,2,...,N;
步骤43、:根据公式
获取正在发生事件的序号q,其中,
η={1,2,…,N};
步骤44、正在发生的第q号事件信号因子Eq根据公式
Eq=ym×zq
获取;
步骤45、根据公式
ym+1=ym-<ym,zq>zq
获取原始量测信号的残差ym+1;
步骤46、若所述残差ym+1大于等于阈值ε,返回步骤43;若所述残差ym+1小于阈值ε,则结束迭代过程,获取N个事件源中正在发生的K个事件的具体分布向量
E=[E1 E2...EN]T,
其中
1×10-6<ε<1×10-3,
向量E中未发生事件的信号因子取值为0,
其中,M、P、K、N和a都为正整数。
本发明的优点:
针对无线传感器网络节点随机布撒、网络生命周期具有不确定性和所检测事件具有稀疏特性的特点,在基于博弈理论对网络中随机布撒的节点采取分组调度的基础之上,采用压缩感知原理,对检测区域内的事件进行实施有效的监测。基于此,既能有效的大大延长网络的生命周期,又能在此基础之上节省网间通讯损耗、大大减少工作节点的数目。
基于博弈理论的分组算法,具有速度快、迭代次数少,通讯损耗小的特点,而在此基础之上的压缩感知算法也具有同样的优点。因此将二者有机的结合,该算法必将有良好的现实意义和广泛的应用前景。
本发明提出了以博弈理论为基础的无线传感器网络节点分组调度策略。在此基础之上对于每个调度层面,提出传感器节点对稀疏事件的检测采用压缩感知原理,并给出压缩感知稀疏事件的检测算法。此时,在博弈分组的调度策略下,能够延长整个传感器网络的生存周期,而且在每个调度层次上,由于采用了压缩感知原理对稀疏事件进行检测,这就使得每个层次上的节点数目的需求量大大的降低。从原理上讲,随机布撒传感器节点的时候,就无需过于密集,这就达到了进一步节省硬件成本并大大降低了在无线通信网络中的信号干扰的问题而同时又不会影响检测精度的目的。
通过大量的模拟实验发现,本方法的确可以在大量的减少传感器节点部署的前提下,充分利用检测区域事件在时间或是空间上的稀疏特性,以最大概率将已发事件检出,并大大延长了无线传感器网络的使用寿命,同时又不会损失传感器网络对突发事件的检测精度。所以在实际应用中,通过将博弈分组策略与压缩感知原理有机结合,必将产生最大限度的经济效益和现实意义,并且必将有巨大的应用价值和发展前景。
具体实施方式
具体实施方式一:下面结合图1说明本实施方式,本实施方式所述基于压缩感知及博弈论的无线传感器网络稀疏事件检测方法基于压缩感知及博弈论的无线传感器网络稀疏事件检测方法,该方法包括以下步骤:
步骤一、将网络系统中随机布撒的M个传感器节点采用博弈论思想划分层次,形成a个层次,即为a个层次策略;
步骤二、基于压缩感知原理,根据正在发生事件的数量K来确定激活1个或多个层次的传感器节点,被激活的传感器节点的数量P满足
K<P<<N,
利用所述P个传感器节点来对N个事件源中的正在发生的K个事件进行检测;
步骤三、网络系统数据终端接收所述P个传感器节点检测出的N个事件源信息的P维数据向量
并根据检测过程获取量测矩阵φP×N;
步骤四、利用步骤三获取的N个事件源信息的M维数据向量y和量测矩阵φP×N,采用贪婪稀疏事件检测算法获取N个事件源中正在发生的K个事件的具体分布向量E,其中,M、P、K、N和a都为正整数。
一般情况下,a的取值为2~5,即网络系统分为2~5层。
具体实施方式二:本实施方式对实施方式一作进一步说明,步骤一中将网络系统中随机布撒的M个传感器节点采用博弈论思想划分层次,形成a个层次,即为a个层次策略的过程为:
步骤11、网络系统内的每个传感器通过发送信息来确定通信半径内所有邻居节点的传感器ID及该邻居节点相对自身的位置关系;
传感器ID是出厂时就设置完成的,每个传感器ID都不同,是用于区分其身份而设置的,即该传感器的身份证。每个传感器ID都有一定的通信半径,通信半径的大小根据传感器型号的不同而不同。传感器在通信半径内向其邻居节点的传感器发送信息,就把自身的传感器ID及通信半径等固有参数一并发送过去,使其所有邻居节点的传感器都能获知其相关信息。
步骤12、任取一个传感器节点i,判断在该传感器节点通信半径内,该传感器节点的ID是否小于所有传感器邻居节点的ID,
判断结果为是,则说明该传感器节点所有邻居节点的ID都大于该传感器节点的ID,则该传感器节点根据自身的收益值优先选择该节点的最佳层次策略,并且将其选择的最佳层次策略发送给该节点的所有邻居节点;
判断结果为否,则该节点处于等待状态,直至比该传感器节点ID小的所有邻居节点选择完成其最佳层次策略后,再根据自身的收益值选择该传感器节点的最佳层次策略;
该传感器节点的最佳层次策略
并将该策略作为数据包发送给它所有的邻居节点N(i),N(i)=N
1(i)+N
2(i),N
1(i)为该传感器节点通信半径内比自身ID小的邻居节点的集合,N
2(i)为该传感器节点通信半径内比自身ID大的邻居节点的集合。
该传感器节点的自身的收益值指的是该节点选择某个层次时该节点感知半径能单独覆盖的面积,传感器ID最小的节点具有最高优先权,它可以选择任意一个层次最为自身的最佳层次策略,覆盖面积都是指自身的感知半径所能覆盖的面积,在该节点的感知半径内传感器ID第2大的节点在传感器ID最大的节点完成选择最佳层次策略后再进行选择自身的最佳策略,为了满足收益值最大,会选择其它层次,前a个传感器ID的节点都会参照这一原则选择新的层次来实现收益值最大的目的,前a个传感器ID的节点选择层次完成后,第a+1个传感器节点进行层次选择时,它会与别的传感器的感知半径覆盖的面积出现重叠,第a+1个传感器会选择与其重叠面积小(则剩余自身面积大,收益值大)的传感器节点所在的层次作为自己的最佳层次策略,此时,第a+1个传感器的节点的收益值最大,依此类推,其它节点也是如此选择自身的最佳层次策略。
因网络系统大多比较庞大,设置的传感器的数目较多,在运用博弈理论划分层次时,会在多处同时进行,随机的、有间隙的选择几个节点,每个节点通信半径内的博弈都相同,因每个传感器节点都会和其通信半径内的传感器节点进行博弈,因此,随机选择节点对结果的正确性没有影响,这样效率会高很多,同时也更加符合现实情况。
传感器ID小的节点先选择层次策略,传感器ID大的节点后选择层次策略。
步骤13、按照步骤12对网络系统内的M个传感器节点划分层次,进行n次,直到处于纳什均衡状态,完成a个层次策略的划分。
所述纳什均衡状态是指任意节点i相对其邻居节点在该层次策略上都相应的获得了最大的收益值,它都不会有动力去改变当前的层次选择策略。此时,便可达到了一种极其稳定的平衡状态——纳什均衡。
具体实施方式三:本实施方式对实施方式一作进一步说明,步骤二中根据正在发生事件的数量K来确定激活1个或多个层次的传感器节点的过程为:
被激活的传感器节点的数量P满足K<P<<N,根据公式
可确定激活层次的数量y,
式中,Px为某个层次的节点数,y=1,2,...a。
为了达到系统优化,只发生K个事件时不需要调用全部的传感器,只需调用一部分层次的传感器,另一部分传感器不工作,这样,即满足检测K个事件的要求,又利用最少量的传感器,达到最优设置。调用几个层次的传感器是根据K<P<<N来判断的,被激活的传感器节点的数量P要满足上述条件,在满足上述条件的情况下,再根据公式
可确定激活层次的数量y,下面进行举例说明:
假设事件源N=200,正在发生的事件K=30,总的传感器M=100,层次a=3,第一层次的传感器数量P1=33,第二层次的传感器数量P2=33,第三层次的传感器数量P3=34,每个层次的传感器数量分配结果是均匀的,但可以不完全相同,它们的数量非常接近。因为此时正在发生的事件K=30,则只激活一个层次的传感器就可以满足要求。
假设其它条件不变,正在发生的事件K=50,则根据条件K<P<<N和公式
可确定需要激活的层次为两层,这两层可以是三层中的任意两层都可以。
全部传感器的数量为M,且满足关系式:M=P1+P2+...+Pa。
具体实施方式四:本实施方式对实施方式一作进一步说明,步骤三中量测矩阵φP×N按如下公式获取:
其中,
在式中,dij为第i个节点与第j个事件的距离,α为信号衰减常数,2≤α≤5,gij为第i个节点测量第j个事件状态下的高斯噪声信号。
所述gij由数据终端节点随机数产生器根据不同传感器的ID,每次产生不同的高斯随机数,以广播的方式向整个网络随机发送。然后每个传感器节点根据自身的ID来分别接收指定的随机数。
具体实施方式五:本实施方式对实施方式一作进一步说明,步骤四中N个事件源中正在发生的K个事件的具体分布向量E的获取过程为:
步骤41、ym为第m次迭代时N个事件源信息的P维数据向量,初始化ym,即m=0时,y0=y,y为P个传感器节点检测出的N个事件源信息的P维数据向量,由步骤三获取;
步骤42、将量测矩阵φP×N表示为:
[z1,z2,…zq,…,zN],
抽取量测矩阵φP×N的列向量zq,其中q=1,2,...,N;量测矩阵φP×N共有N个列向量zq;
步骤43、:根据公式
获取正在发生事件的序号q,其中,
η={1,2,…,N};
N个列向量zq分别代入最大值时的q就是正在发生事件的序号;
步骤44、正在发生的第q号事件信号因子Eq根据公式
Eq=ym×zq
获取;正在发生事件的数值定义为信号因子Eq;
步骤45、根据公式
ym+1=ym-<ym,zq >zq
获取原始量测信号的残差ym+1;
步骤46、若所述残差ym+1大于等于阈值ε,返回步骤43;若所述残差ym+1小于阈值ε,则结束迭代过程,获取N个事件源中正在发生的K个事件的具体分布向量
E=[E1 E2 ...EN]T,
其中1×10-6<ε<1×10-3,向量E中未发生事件的信号因子取值为0。
发生事件的由前述过程求取其信号因子。
所述具体分布向量E中的参数是事件的信号因子,每个参数的下脚标表示该参数对应的事件的序号,例如:参数E3表示第3号事件信号因子。
P个传感器节点检测出的N个事件源信息的P维数据向量y、量测矩阵φP×N和向量E存在如下关系:
初始时,向量y、量测矩阵φP×N为已知,需要求取的是向量E,即 求解时,本实施方式采用贪婪稀疏事件检测算法(Greedy Sparse Event Detection Algorithm,GSEDA),GSEDA算法是一种贪婪的迭代求极值算法,需要多次迭代。
具体实施方式六:本实施方式结合图1至图11给出一个具体实施例。
执行步骤一:在传感器节点完成初始化通信后,进入博弈迭代过程。每个传感器节点i在局部区域内,依ID完成当前迭代过程中的层次选择策略
后,并且将其作为数据包发送给它的所有邻居节点。当所有节点在当前的层次策略下,都得到了相对于邻居节点的最大收益值,则所有节点的策略选择处于一种平衡状态,则博弈过程完成,传感器节点的划分层次过程结束。
执行步骤二和步骤三:基于压缩感知原理,P(P≤M)个工作节点采集N个事件源的事件信息。而且,它还要决策自身采集的事件信息。最终使得数据终端节点获得P维的量测向量y,并且生成了量测矩阵φP×N。
执行步骤四:采用贪婪稀疏事件检测算法(GSEDA),最终便可成功从P维采样信号中,将N维(P<<N)原始事件源信息恢复出来。
图2为本发明实施例中的传感器初始布撒及事件源定位整体图像,所有的节点和传感器被部署在了250m*250m的一个平方区域内。在图中,黑色的实心圆点和空心圆点分别代表着传感器节点和事件源节点,并且他们的ID号及其部署位置如图示,这里采用的是随机部署方式。图中总共有100个传感器节点和200个离散事件源。图3为本发明实施例中从图2独立出来的传感器初始布撒图像,图中每个节点的圆形区域即为它所覆盖的面积。图4至图7为本发明实施例中图3经过上文中采用提出的的博弈分组算法后的分组图像。这里我们将所有的传感器节点分成了四个层次,即分成4个不同的组。图8为图2中存在8个已发事件的事件源与传感器节点部署图像,图中的空心圆点代表传感器节点,黑色圆点代表事件源,而五角星则代表发生的事件;图9为图2中8个已发事件的信号强度与事件ID相对应的参考图像,这8个已发事件即为图8中的五角星对应的事件,其ID号分别为31、65、85、87、100、117、163、167。图10为100个传感器节点采集到的分别含有200个事件源信息的信号强度的加权和图像,图中分别给出了100个节点的理想情况下不带有噪声的量测信号和带有高斯白噪声的量测信号。图11为数据终端采用GSEDA恢复算法,从100个传感器所采集到的含有200个事件源信息的数据中将已发事件成功检测出来的图像。
综合实施例的上述分析,本发明与现有技术相比具有如下优点:
(1)针对无线传感器网络节点随机布撒、网络生命周期具有不确定性和所检测事件具有稀疏特性的特点,在基于博弈理论对网络中随机布撒的节点采取分组调度的基础之上,采用压缩感知原理,对检测区域内的事件进行实施有效的监测。基于此,既能有效的大大延长网络的生命周期,又能在此基础之上节省网间通讯损耗、大大减少工作节点的数目。
(2)基于博弈理论的分组算法,具有速度快、迭代次数少,通讯损耗小的特点,而在此基础之上的压缩感知算法也具有同样的优点。因此将二者有机的结合,该算法必将有良好的现实意义和广泛的应用前景。