一种基于压缩感知技术的多区域室内安全定位方法与流程

文档序号:12280104阅读:309来源:国知局
一种基于压缩感知技术的多区域室内安全定位方法与流程

本发明属于无线传感器网络领域,特别涉及一种基于压缩感知技术的多区域室内安全定位方法。



背景技术:

无线传感器网络室内定位近几年发展很迅速,其中包括智能感知技术,嵌入式计算技术和通信技术的应用提升了室内定位的精度拓宽了室内定位的应用范围。

室内定位在最近几年已经成功应用于各种领域,包括博物馆导航、仓库导航、停车场导航等。但是目前该领域的研究主要集中于如何提高定位精确度和能量有效性这方面,对无线传感器网络在室内定位过程中的安全性问题考虑不足。由于无线传感器节点是开放性部署的,导致它们很容易被攻击者俘获,从而定位所依据的信号的物理属性很容易被外界篡改。又因为信号的传输过程是在完全开放的环境中进行的,这导致了节点的信号在传输过程中容易被截获或者被篡改。无线传感器网络的室内定位过程遭受来自内部或者外部的攻击所产生的错误定位结果可能导致网络功能失效和监测结果出错,进而破坏网络应用的有效性。因此如何在有敌对可能的无线传感器网络应用中实现节点的安全定位,是一个必须解决的问题。



技术实现要素:

本发明所要解决的技术问题是,针对无线传感器网络室内定位的安全性问题,提供一种基于压缩感知技术的多区域室内安全定位的方法,保证定位精度的基础上,排除恶意的定位信息,从而保证定位环境的安全性。

一种基于压缩感知技术的多区域室内安全定位方法,包括离线阶段、安全监测阶段和在线阶段,具体步骤如下:

1)离线阶段

在待定位节点所在设定区域内,按照等边三角形部署锚节点,并依据待定位节点距离锚节点之间的距离,构建待定位节点的RSSI安全密钥矩阵;

2)安全监测阶段

利用待定位节点接收的实际RSSI值与RSSI安全密钥矩阵中的对应值进行比较,剔除恶意锚节点;

3)在线阶段

待定位节点实时接收感知到的锚节点信息,将已感知的锚节点为圆心绘制圆形区域,得到所有锚节点对应的圆形区域形成的重叠区域;

依据重叠区域选取网格来构建在线测量矩阵,根据待定位节点感知到的锚节点信息构建在线观测矩阵;对在线测量矩阵和在线观测矩阵进行正交化预操作获得稀疏信号,利用信号恢复算法对正交化后的稀疏信号进行还原,进行精确的位置估算,获得待定位节点的定位信息。

在线测量矩阵Ψ中的元素依次为重叠区域中的网格节点的离线其维数是其中表示关联度为1的网格节点的数量;

位于重叠区域中的网格节点的关联度即为1;

表示第j个网格节点在第i个锚节点采样的离线RSS平均值;

表示第j个网格节点接收到第i个锚节点的第τ个RSS采样值;如果未搜集到锚节点的信息,令

在线观测矩阵为Φ,

Φ是M×L维的矩阵,Φ的每一行是一个1×L的向量,所有的元素满足φi,j∈{0,1},每行都只有一个元素为1,为1的元素所在列号表示选择的是L个锚节点中的第几个;如果φh,g=1,h=1,2…,M,g=1,2…,L,则表示选择的第h个锚节点是L个锚节点中的第g个,锚节点为选定锚节点,依据wi×RSSi,j,i=1,2,...,L,j=1,2,...,N的值,选取非零的锚节点;

RSSi,j表示第j个网格节点在第i个锚节点采样的在线RSS平均值,wi表示第i个锚节点的权值,即每个锚节点在所有网格点采集RSS过程中的贡献值,Numk表示在第k个网格节点上是否感知到了该锚节点,即当在网格节点放置一测试传感节点时,锚节点是否在测试传感节点的通信范围之内,Numk∈{0,1}.

进一步地,所述待定位节点的RSSI安全密钥矩阵为Num:

其中,numi,j表示第i个待定位节点接收到的第j个锚节点发的随机数,表示第i个待定位节点接收到第j个锚节点发送的RSSI值RSSi,j的阈值,若则的取值为k的取值范围为0-2;

表示距离锚节点为r1时,待定位节点接收到到的RSSI阈值;

表示距离锚节点为r2时,待定位节点接收到到的RSSI阈值;

表示距离锚节点为r3时,待定位节点接收到到的RSSI阈值;

r1表示任意两个相邻锚节点之间的距离,r3为待定位节点能接收到RSSI信息的最大的范围半径,当待定位节点的与锚节点的距离超过了r3就将待定位节点接受到的RSSI值置零,r2为r1和r3的平均值;

i的取值范围为1-L,L表示待定位节点的个数;j表的取值范围为1-N,N表示锚节点的个数。

进一步地,所述利用待定位节点接收的实际RSSI值与RSSI安全密钥矩阵中的对应值进行比较,剔除恶意锚节点的具体过程如下:

第i个待定位节点接收到第j个锚节点发送的随机数为numi,j,且感知到的RSSI值为RSSi,j,RSSi,j对应的阈值为

判断随机数numi,j是否满足公式:

如果满足,则判定第i个待定位节点感知到的第j个锚节点的定位信息是正确的;

如果不满足或者没有收到对应的随机数,则判断第i个待定位节点接受到的第j个锚节发送的定位信息是恶意的,在第i个待定位节点的定位过程中将不使用第j个锚节点的定位信息,删除该恶意锚节点发出的定位信息。

进一步地,所述将已感知的锚节点为圆心绘制圆形区域时,圆形半径按照以下过程确定:

根据待定位节点接收到的RSSi,j取得的阈值得到对应的阈值下的半径等级ri,j,依据半径等级获取对应锚节点的圆形半径;

若取值为则半径等级ri,j对应的半径为r1

若取值为则半径等级ri,j对应的半径为r2

若取值为则半径等级ri,j对应的半径为r3

有益效果

本发明的基于压缩感知技术的无线传感网络室内安全定位方法,该定位方法利用压缩感知的理论,包括离线、安全监测和在线三个阶段。通过建立有自适应能力的随机数字典剔除掉恶意的定位信息,从而保证定位的安全。与传统的定位方法相比,本专利的优点在于:

1)设计了一种多区域叠加的机制,提出了基于锚节点传输半径的有自适应能力的随机数密钥算法,来剔除掉室内定位环境中的恶意定位信息;

2)在在线线阶段进行了一步预处理的工作,对离线的RSS信息进行加权,来平衡每个锚节点的影响;

3)引进了CS算法来提高定位的效率;

利用多区域覆盖和CS算法保证了定位的精确度,重点引入了实时校验机制,确保了定位环境的安全性。

附图说明

图1为定位的场景图;

图2为本发明的定位方法流程图;

图3为不同算法在有攻击的环境中平均定位误差;

图4为不同的安全定位算法在遭受不同攻击时的定位误差。

具体实施方式

以下将结合附图和具体实施例对本发明做进一步详细说明:

实施例1:

一种基于压缩感知技术的多区域室内安全定位方法,包括离线阶段、安全监测阶段和在线阶段,具体步骤如下:

一、离线阶段

在待定位节点所在设定区域内,按照等边三角形部署锚节点,并依据待定位节点距离锚节点之间的距离,构建待定位节点的RSSI安全密钥矩阵;

1)建立离线测量矩阵:

定位区域内网格节点的总数为N,锚节点的个数为L;在每个网格上,进行q次采样,搜集网格点感知到的所有锚节点的RSS(接收信号强度)值,获取一个初始L×N维的离线测量矩阵

其中表示第j个网格节点在第i个锚节点采样的离线RSS平均值;

表示网格节点j接收到锚节点i的第τ个RSS采样值;如果未搜集到锚节点的信息,令

2)加权锚节点:

权值矩阵W=[w1,w2,…,wL]T,其中表示第i个锚节点的权值,即每个锚节点在所有网格节点采集RSS过程中的贡献值,Numk表示在第k个网格节点上是否感知到了该锚节点,即当在网格节点放置一测试传感节点时,锚节点是否在测试传感节点的通信范围之内,Numk∈{0,1};

3)建立离线指纹库:

参考节点j接收到测试点即锚节点i采样值的无偏估计表示为对于每个参考节点j,无偏估计矩阵表示为Δj=[Δ1,j2,j,…,ΔL,j]T;离线指纹库表示为其中(xj,yj)是参考节点j的坐标。

二、安全监测阶段

利用待定位节点接收的实际RSSI值与RSSI安全密钥矩阵中的对应值进行比较,剔除恶意锚节点;

所述待定位节点的RSSI安全密钥矩阵为Num:

其中,numi,j表示第i个待定位节点接收到的第j个锚节点发的随机数,表示第i个待定位节点接收到第j个锚节点发送的RSSI值RSSi,j的阈值,若则的取值为k的取值范围为0-2;

表示距离锚节点为r1时,待定位节点接收到到的RSSI阈值;

表示距离锚节点为r2时,待定位节点接收到到的RSSI阈值;

表示距离锚节点为r3时,待定位节点接收到到的RSSI阈值;

r1表示任意两个相邻锚节点之间的距离,r3为待定位节点能接收到RSSI信息的最大的范围半径,当待定位节点的与锚节点的距离超过了r3就将待定位节点接受到的RSSI值置零,r2为r1和r3的平均值;

i的取值范围为1-L,L表示待定位节点的个数;j表的取值范围为1-N,N表示锚节点的个数。

所述利用待定位节点接收的实际RSSI值与RSSI安全密钥矩阵中的对应值进行比较,剔除恶意锚节点的具体过程如下:

第i个待定位节点接收到第j个锚节点发送的随机数为numi,j,且感知到的RSSI值为RSSi,j,RSSi,j对应的阈值为

判断随机数numi,j是否满足公式:

如果满足,则判定第i个待定位节点感知到的第j个锚节点的定位信息是正确的;

如果不满足或者没有收到对应的随机数,则判断第i个待定位节点接受到的第j个锚节发送的定位信息是恶意的,在第i个待定位节点的定位过程中将不使用第j个锚节点的定位信息,删除该恶意锚节点发出的定位信息。

三、在线阶段

待定位节点实时接收感知到的锚节点信息,将已感知的锚节点为圆心绘制圆形区域,得到所有锚节点对应的圆形区域形成的重叠区域;

依据重叠区域选取网格来构建在线测量矩阵,根据待定位节点感知到的锚节点信息构建在线观测矩阵;对在线测量矩阵和在线观测矩阵进行正交化预操作获得稀疏信号,利用信号恢复算法对正交化后的稀疏信号进行还原,进行精确的位置估算,获得待定位节点的定位信息。

在线测量矩阵Ψ中的元素依次为重叠区域中的网格节点的离线其维数是其中表示关联度为1的网格节点的数量;

位于重叠区域中的网格节点的关联度即为1;

表示第j个网格节点在第i个锚节点采样的离线RSS平均值;

表示第j个网格节点接收到第i个锚节点的第τ个RSS采样值;如果未搜集到锚节点的信息,令

在线观测矩阵为Φ,

Φ是M×L维的矩阵,Φ的每一行是一个1×L的向量,所有的元素满足φi,j∈{0,1},每行都只有一个元素为1,为1的元素所在列号表示选择的是L个锚节点中的第几个;如果φh,g=1,h=1,2…,M,g=1,2…,L,则表示选择的第h个锚节点是L个锚节点中的第g个,锚节点为选定锚节点,依据wi×RSSi,j,i=1,2,...,L,j=1,2,...,N的值,选取非零的锚节点;

RSSi,j表示第j个网格节点在第i个锚节点采样的在线RSS平均值,wi表示第i个锚节点的权值,即每个锚节点在所有网格点采集RSS过程中的贡献值,Numk表示在第k个网格节点上是否感知到了该锚节点,即当在网格节点放置一测试传感节点时,锚节点是否在测试传感节点的通信范围之内,Numk∈{0,1}.

首先对Φ和Ψ进行正交化预操作,再利用信号恢复算法对稀疏信号进行还原;信号恢复采用凸优化算法中的l1-最小范式来处理,得到恢复后的稀疏信号

通过和节点的位置坐标进行加权,对待定位节点的位置进行更加精确的估算,表达式为:

其中,px和py分别代表待定位节点最终的位置对应的横坐标和纵坐标;xk、yk和分别代表第k个网格的x坐标,y坐标和待定位节点出现在该网格的概率。

在正交化预操作和信号恢复步骤中,假设T是测量值y的正交化预操作,对y进行正交化,得到正交化后的测量值y′=Ty;定义P=ΦΨ,Q=orth(PT)T,orth(A)表示对矩阵P的规范正交化操作,为P的伪逆矩阵,则定位问题描述为以下l1-最小范式模型:

其中,θ是表示待定位节点可能出现的一组位置的向量,表示对于特定的误差值ε′的满足等式条件的特定的θ值,Z是计算时用到的目标矩阵函数,有Z=y,y为测量向量,是指在线阶段待定位节点采集的感知到的所有锚节点的RSS值,ε′是设定的误差,在区间[0,0.1]范围内取值;计算不等式z-Qθ≤ε'。

构建关联矩阵可以看做是一个聚类问题。多区域叠加算法被设计来解决该问题。多区域叠加算法的思想是利用叠加技术缩小定位区域。区域叠加算法在解决聚类问题上有很多优势。区域叠加是非迭代的。这样定位速度比一般的聚类算法更快;区域叠加算法很容易实现。在线阶段动态获取的RSS信息比离线数据库更能反映当前的环境状况,因此定位更加精确;区域叠加算法在线阶段对定位区域的缩小性能较好。因此,该算法比传统的聚类算法更有效。

在聚类思想中,找到最小且最精确的定位区域是最关键的问题。区域叠加算法利用重叠机制来获取最优的区域。重叠的基本思想是将通信区域内的候选锚节点的通信半径区域全部叠加。候选节点通过最适函数来进行选取。在该算法中,候选节点有更高的在线RSS值和离线权值。

根据接收到的在线RSSI矩阵,得到非零的RSSI值的锚节点的标号,根据这些标号将相对应的传输半径矩阵进行融合得到待定位节点的位置估计值。最后根据得到的半径值进行区域叠加覆盖。接着正交化生成稀疏矩阵,再利用压缩感知和L1-最小范式回复稀疏信号,获取带定位节点的坐标。

图1为本发明的应用场景图。在场上定位区域中共部署了5个待定位节点,用红色的圆点表示。25个锚节点用蓝色三角形表示。4个恶意节点,用黄色的三角形表示。每个待定位节点感知周围的锚节点信息,并从数据库中下载锚节点的相关信息。各锚节点利用相关信息和定位方法确定自己的位置。恶意节点通过发送错误的RSS信息误导定位。

图2为本发明定位方法流程图。定位分为离线、安全监测和在线阶段。离线阶段构建初始数据库。再对离现阶段感知到的锚节点进行加权,使得的每个锚节点在定位过程中达到均衡。然后并建立安全密钥,设定锚节点的发送功率,根据发送功率不同给出不同范围的随机数。锚节点在发送RSS信息的同时发送随机数。每个待定位节点都能接收到不同的随机数,作为在线价段进行安全验证的密钥。在现阶段,根据待定位节点接受到的随机数集给出相对应的半径值。验证随机数和接收到的RSS信息是否对等。剔除掉恶意的定位信息。最后根据得到的半径值进行区域叠加覆盖。接着正交化生成稀疏矩阵,再利用压缩感知和L1-最小范式回复稀疏信号,获取带定位节点的坐标。

图3为几种算法在遭受攻击时的定位误差,横坐标代表了恶意锚节点的个数,纵坐标代表定位的平均误差。CS_NSL算法是一种单一密钥校验算法。锚节点在发送定位信息的同时向所有定位区域内广播同一的密钥。当待定位节点接收到的密钥不是初始密钥时,则证明该定位信息是恶意的。CS_SL是一种基于压缩感知的多区域网格室内定位算法,它是利用网格将区域划分成为一个一个的小区域,提高定位的精确度。同时利用了压缩感知的方法,选取活性比较强锚节点进行定位,排除了部分恶意节点的干扰。其中当恶意锚节点数目逐渐增加时,CS_SL的定位误差急剧上升,而当恶意节点超过两个以后CS_NSL的定位误差也有明显的增加。而本专利提出的多区域的密钥验证算法的定位误差几乎没有变化。因为本发明的校验算法是实时性的动态验证的,几乎所有的恶意定位信息都可以被检验并排除。

图4为CS_NSL算法和本发明的算法在遭受外部攻击和内部攻击时的平均定位误差,其中选取了洪范攻击和伪造攻击作为内部和外部攻击的代表,对算法的安全性进行验证。图中,‘-*-’代表了本发明的定位方法(CSMR_SL),将它与其他两种算法CS_SL和CS_NSL进行对比。两种攻击结果都显示本发明所述的算法防御攻击的能力更好。外部攻击无法获取密钥,但是可以不断的发送错误的密钥去猜测安全密钥。内部攻击可以通过俘获锚节点,再发送错误的定位信息,从而来破坏定位过程。当密钥比较单一时,外部攻击可以通过不断试发送密钥,猜中算法的密钥,使得安全算法失效。而基于传输半径值的密钥实时变化,几乎无法猜中。而内部攻击中,根据密钥生成算法。如果接收到的随机数密钥不超过用于密钥生成的半径阈值,即定位信息正常。本发明所述的方法与传统的单一密钥算法相比,将以前的覆盖范围划分成几个子范围,在进行一一验证,很大程度上提高了算法的有效性。

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