一种有向传感器网络节点感知区域相交方法与流程

文档序号:14078724阅读:512来源:国知局
一种有向传感器网络节点感知区域相交方法与流程

本发明属于无线传感器网络领域,具体涉及到有向传感器节点间相交区域面积的一种计算方法。



背景技术:

无线传感器网络(wirelesssensornetworks,wsns)自诞生以来,以其低功耗、低成本、分布式和自组织的特点带来了信息感知的变革。wsns具有众多类型的传感器,可探测包括地震、电磁、温度、湿度、噪声、光强度、压力、速度和方向等周边环境中多种多样的现象。而随着wsns应用的扩展,传感网逐渐扩展到采用图像、视频和音频信息进行传输探索等感知应用。由于这种扩展的传感器网络中的节点在感知方向上与传统的标量传感器节点全向感知能力不同,具有明显受限的方向性,因此一般称为有向传感器网络(directionalsensornetworks,dsns)。

网络覆盖程度反映了一个无线传感器网络某区域被监测和跟踪的状况,因此在dsns研究中,一个重要问题就是传感器的感知区域(fieldofview,fov)覆盖问题。由于有向传感器网络大多用于监控类应用,研究有向传感网的覆盖就离不开其节点感知模型的研究。同时,当网络中节点部署较为冗余时,节点间监测区域会产生重叠,造成监测信息的重复,研究节点间感知区域的相交关系,可用于节点建立分簇结构、进行数据融合或进行节点调度等,提高网络监测效率。不同于全向感知模型在二维感知平面上的圆形感知区域,有向传感器节点在二维平面的感知模型为扇形的。基于有向传感器节点感知特征和相交关系的复杂性,有研究者首先提出了有向节点的扇形感知模型和感知区域离散化的节点相关系数计算方法。感知区域离散化方法的本质就是将节点感知区域进行网格化,通过判断网格中心点是否属于某节点感知区域中进行感知区域网格划分,这在研究有向传感器感知区域相关问题中普遍被采用。网格法简单有效,但是其算法复杂度和感知区域划分的精确度成正比,要得到高的精确度将导致高的算法复杂度,因此有研究者提出将有向节点感知模型进行简化的方法进行节点相关性的研究。有研究者将扇形感知模型简化为三角形;有研究者使用角系数(angularcoefficient)方法来粗略表示节点间的相交关系,这些方法与网格化方法相比,算法计算不依赖监测区域网格化程度,很大程度上提高了算法效率,但是同时降低了网络相交区域的计算精确度。这些方法都回避了直接根据扇形感知模型来解决节点感知重叠问题。



技术实现要素:

本发明从节点扇形感知模型出发,通过对节点扇形感知区域相交情况的分析,设计有效的算法,直接求解两个扇形感知区域的相交部分,提出基于坐标位置的节点相交区域计算方法。

不同于传统wsns节点的全向感知模型,有向传感器网络节点的感知模型为有向感知,其感知区域受到视角方向和大小的约束。在二维平面上,一般认为该感知区域是一个以节点所在位置为圆心、最大传感深度为半径、感知视角为圆心角所组成的扇形区域,其中该扇形的朝向受感知方向的控制,如图1所示。

图1中,节点si的坐标为(xi,yi),感知深度为ri,感知视角为φi(根据有向节点感知性质,φi最大值不会达到180°),感知方向为与平面水平方向正方向的夹角值为αi,因此任一有向传感器节点可以使用一个四元组(si,ri,φi,αi)来唯一确定和表示。给定四元组的值即可求出该节点的感知区域在监测区域平面上的位置分布。图1中的βi和γi分别是节点感知区域扇形的两边与平面水平方向正方向的夹角,可由式(1)计算得到。

si、ai和bi为传感器i感知模型上的三个顶点,两条线段siai,libi和一条弧aibi组成了节点i感知扇形的边界。可计算出顶点ai和bi的坐标如式(2)所示。

根据扇形面积计算公式,节点i的感知区域面积可以使用式(3)计算得到。

图2所示是两个有向传感器节点感知区域相交的示例。根据有向传感器节点感知模型,在图2中节点1和节点2形成的感知区域分别为扇形和扇形两个扇形的弧相交产生的交点记为n1、边s1b1和s2a2相交产生的交点记为n2,则不规则多边形a2n1b1n2,即图2中的网格部分就是该两个节点感知区域的相交部分。

通过对图2中两节点相交区域的分析,可得如图3所示的两节点相交感知区域的组成部分划分。图2中网格表示的不规则多边形,可以划分为三个组成部分分别为弓形弓形和凸四边形n1b1n2a2,其中点s1和s2此时为弧对应的圆心点。

根据节点感知模型和线段与弧的相交计算,图3中各个点坐标均可得到。顶点坐标已知则三个组成部分中四边形n1b1n2a2的面积可以根据凸多边形的面积生成方法很容易计算得到。关键问题在于两个弓形的面积计算方法。根据扇形感知模型,其感知视角φi一定小于180°,则两个有向节点相交若产生弓形,则该弓形中的弧不会为劣弧。因此弓形的面积可以通过其对应扇形减去相应三角形的方式得到。在本示例中,弓形弓形的面积的计算方法如图4所示。弓形的面积=扇形的面积—三角形n1s1b1;弓形的面积=扇形的面积—三角形n1s2a2,其中扇形面积计算中,扇形的圆心角可以根据扇形中弧的端点坐标计算得到,半径已知,因此其面积能够很容易计算得到。

该相交区域划分计算方法可以推广到两节点相交产生的任意相交区域情况,如果两节点相交没有产生与弧相关的交点,则不需要调用弓形计算方法,直接使用凸多边形的相交方法求得相交区域面积。

附图说明

图1是有向传感器节点感知模型图,其中si(xi,yi)为有向传感器节点的位置坐标、ri为感知深度、φi为感知视角、为感知方向、αi为与平面水平方向正方向的夹角值、βi和γi分别是节点感知区域扇形的两边与平面水平方向正方向的夹角、ai和bi是节点感知区域扇形弧上的两个顶点。

图2是两个传感器节点相交区域示例图,其中a1、b1和s1是传感器节点1形成的节点感知区域扇形的三个顶点,a2、b2和s2是传感器节点2形成的节点感知区域扇形的三个顶点,n1为弧的交点、n2为边s1b1和s2a2的交点。

图3是相交区域的组成部分划分图,其中弓形弓形和四边形n1b1n2a2分别是图2基础上进行相交区域划分形成的各个组成部分。

图4是相交区域弓形部分计算方法图,其中弓形和弓形是两传感器节点相交区域中的弓形组成部分。

图5是两节点相交区域计算方法流程图。

具体实施方式

首先规定感知节点相交顶点集合v的表达方式,如下表达式所示,

其中相交顶点集合为v,vi即为每个相交顶点。vi中的xi,yi表示该顶点在平面上的坐标位置;l1,l2表示该顶点是由哪两条边或者哪两条弧或者哪条边与弧相交产生。标记的信息用于在算法后期进行总相交区域划分,区分相交顶点集合v中相邻顶点连线是弧或者是边,从而进行弓形和多边形的区域划分,两相交节点为i和j,其中节点i中的2条边为ei1、ei2,弧为ai,节点j中2条边为ej1、ej2弧为aj。

弓形面积的计算方式即为扇形的面积减去顶点三角形的面积,凸多边形的计算面积方法采用现有的其他方法。

下面结合算法执行步骤的工作流程框图(如图5所示)对算法进行具体说明:

步骤1)首先初始化一个相交顶点集合v,将其置为空集;

步骤2)分别判断每个扇形的顶点是否在另一个扇形内,若在,则记录在相交顶点集合v中,顶点在v的记录方式按公式(4)进行;

步骤3)对两节点感知扇形的边与边,弧与边,弧与弧分别进行交点计算,若相交节点不为空,则将其记录在相交顶点集合v中,交点在v的记录方式按公式(4)进行;

步骤4)判断相交顶点集合v是否为空,若为空,则两节点感知区域相交面积为零,算法结束;若不为空,则继续进行下列步骤;

步骤5)将相交顶点集合v中的点按顺时针或逆时针顺序排列,然后顺序比较各个相邻点{xi,yi,l1,l2}中的l1,l2,找出相同的边l,即为该两个相邻顶点的连线是弧或者是边。

步骤6)如果所有顶点的连线都是边,则直接使用凸多边形的计算方法,得到感知节点相交面积,步骤结束,如果不全是边,进行下一步;

步骤7)判断所有顶点的连线是否全是弧,若全为弧,则该相交部分即为感知节点的两段弧相交,分别使用弓形面积计算公式算出该两段弓形的面积然后相加即得到感知节点相交面积,公式中的圆心就是这两段弧所对的圆心,结束步骤,若不全为弧,进行下一步;

步骤8)首先对所有的顶点使用一次凸多边形计算公式得到s1,然后找出各个顶点之间连线为弧的部分,分别对它们使用弓形面积的计算公式,得到各个弓形的面积,将其相加得到s2,则感知节点相交面积为s1+s2,从而完成任意两点感知区域相交面积的计算。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1