说明书一种自适应精度控制的WSN节点定位方法
技术领域
本发明涉及WSN节点定位方法,特别涉及一种自适应精度控制的WSN节点定位方法。
背景技术
无线传感器网络(Wireless Sensor Network,WSN)是借助部署大量具有感知、计算和无线通信能力的传感器节点而组成的网络。传感器节点具备感知、计算和通信等功能,彼此合作完成一些复杂的任务。一般情况下,要提供这些服务,首先要获得传感器节点的位置信息。因此,WSN节点的定位问题逐渐成为人们关注的热点。
常用的WSN节点定位方法很多,一般首先都需要已知一些节点的位置信息,这类节点被称为信标节点,在获取信标节点位置的基础上,借助一定的定位方法,完成未知节点的定位。基于RSSI(Received Signal Strength Indication)来进行测距的WSN节点定位是一种较为常用的方法。在获得RSSI的基础上,通过一定的信号传播模型就可以进行测距。可是在噪声的影响下,RSSI具有一定的波动特性,会引入一定的测距误差,从而WSN节点的定位误差也是波动的。此外,信标节点的分布均匀情况下,一般能够获得好的定位结果,但实际情况下,信标节点的部署有可能是随机的从而导致WSN节点的定位误差波动。因此,WSN节点在不同位置、不同时间的定位具有很大的差异性。一般情况下,可以通过多次测量RSSI求平均值,来提高WSN节点定位的精度。
发明内容
本发明的目的是为了解决噪声和信标节点的部署会导致WSN节点的定位误差波动的问题而提出的一种自适应精度控制的WSN节点定位方法。
上述的发明目的是通过以下技术方案实现的:
步骤一、在WSN工作环境内,部署M个信标节点;对于工作环境内任意的未知节点U=(x,y),设U接收到信号的第i个信标节点为Bi=(xi,yi),i=1,2,...,N,N≤M,Bi对于未知节点U是可见的;其中,(xi,yi)表示信标节点Bi的坐标,N表示对于未知节点U可见的信标节点的数目;
步骤二、在受高斯噪声n的影响下,根据一般的信号传播模型,计算未知节点与信标节点Bi的距离vi:根据vi得到未知节点U到信标节点Bi真实距离di的无偏估计量
其中,i=1,2,...,N;在距离信标节点d0处设置参考节点,参考节点接收信标节点Bi的信号功率为Pi(d0);未知节点U与信标节点Bi的距离为di;在不受噪声的情况下,未知节点U接收到信标节点Bi的信号功率为Pi(di);在高斯噪声n的影响下,未知节点U通过K次测量接收到信标节点Bi的信号功率的均值为α为路径损耗指数,对于传感器网络工作环境为自由空间时,其值一般取为2;n为均值为0,方差为的高斯噪声;K为整数;
步骤三、根据无偏估计量结合加权最小二乘法和牛顿迭代法得到如下矩阵形式:
b=H·△X (3)
其中,
权重矩阵W为:
获得△X为:
△X=(HTWH)-1HTWb (7)
取△X=[(xk-xk-1) (yk-yk-1)]T,根据公式(4)、(5)、(6)和(7)进行迭代求解,得到信号测量次数为K次时,未知节点U位置的估计坐标其中,xk,yk为第k次牛顿迭代法求解未知节点U位置坐标;
步骤四、定义误差因子R=tr((HTD-1H)-1),根据未知节点U位置的估计坐标计算定位误差的方差为:
其中,tr(·)表示矩阵的迹,即对角线元素之和;定义diag[·]表示对角阵;
步骤五、根据WSN节点定位的实际需求,令定位误差的标准差的门限值为PL,也称为保护门限;若满足退出程序执行,xk,yk为未知节点最终的定位结果,若则获得未知节点所需测量信标节点Bi信号的次数Knew为:
表示向上取整,根据保护门限PL,结合式(9),计算需要测量信标节点Bi信号的次数Knew;
步骤六、若Knew≤K,退出程序执行,xk,yk为未知节点最终的定位结果;若Knew>K,未知节点U在K次的基础上,再次测量(Knew-K)次接收到的信标节点Bi的信号功率
则未知节点接收到来自信标节点Bi的信号功率的平均值为
步骤七、将K值更新为K=Knew,重新执行步骤二~七的过程,直至满足Knew≤K或退出程序执行,得到未知节点最终的定位结果xk,yk;即完成了一种自适应精度控制的WSN节点定位方法。
发明效果
本发明提出了一种自适应精度控制的WSN节点定位方法,能够在不增加任何硬件资源的情况下,控制基于RSSI的WSN节点定位的精度,有效提高WSN节点定位的鲁棒性。本方法中WSN节点可独立定位,能够适应无线传感器网络分布式定位的需求。考虑二维平面定位的情况,三维情形可以类似推广。
为实现对定位精度的自适应控制,对于给定的保护门限PL=1m的情况,可以获得信号测量次数K与误差因子R的关系如图3所示:
从图3可以看出定位仿真中获得的K具有较高的可信度,能够与理论值相吻合。
图4中给出了自适应精度控制下,定位的均方根误差与保护门限的关系。蓝色线表示保护门限PL,其恒定为1m。红点表示定位仿真中定位的均方根误差情况。从图4中可以看出,定位的均方根误差大多保持在0.9m和1.1m之间,和设定的保护门限PL基本一致。这说明本算法通过对信标节点信号测量次数K的控制,能够自适应的控制WSN节点定位误差处于一定的范围内,提高WSN节点定位的鲁棒性。
附图说明
图1为实施例一提出的定位轨迹及信标节点分布图;
图2为实施例一提出的定位误差的方差与误差因子R的关系图;
图3为实施例一提出的信号测量次数K与误差因子R的关系图;
图4为实施例一提出的定位的均方根误差与保护门限的关系图;
图5为具体实施方式一提出的一种自适应精度控制的WSN节点定位方法流程图。
具体实施方式
具体实施方式一:本实施方式的一种自适应精度控制的WSN节点定位方法,具体是按照以下步骤制备的:
步骤一、在WSN工作环境内,部署M个信标节点;对于工作环境内任意的未知节点U=(x,y),设U接收到信号的第i个信标节点为Bi=(xi,yi),i=1,2,...,N,N≤M,Bi对于未知节点U是可见的;其中,(xi,yi)表示信标节点Bi的坐标,N表示对于未知节点U可见的信标节点的数目;
步骤二、在受高斯噪声n的影响下,根据一般的信号传播模型,计算未知节点与信标节点Bi的距离vi:根据vi得到未知节点U到信标节点Bi真实距离di的无偏估计量
其中,i=1,2,...,N;在距离信标节点d0处设置参考节点,参考节点接收信标节点Bi的信号功率为Pi(d0);未知节点U与信标节点Bi的距离为di;在不受噪声的情况下,未知节点U接收到信标节点Bi的信号功率为Pi(di);在高斯噪声n的影响下,未知节点U通过K次测量接收到信标节点Bi的信号功率的均值为α为路径损耗指数,对于传感器网络工作环境为自由空间时,其值一般取为2;n为均值为0,方差为的高斯噪声;K为整数;
步骤三、根据无偏估计量结合加权最小二乘法和牛顿迭代法得到如下矩阵形式:
b=H·△X (3)
其中,
权重矩阵W为:
获得△X为:
△X=(HTWH)-1HTWb (7)
取△X=[(xk-xk-1) (yk-yk-1)]T,根据公式(4)、(5)、(6)和(7)进行迭代求解,得到信号测量次数为K次时,未知节点U位置的估计坐标其中,xk,yk为第k次牛顿迭代法求解未知节点U位置坐标;
步骤四、定义误差因子R=tr((HTD-1H)-1),根据未知节点U位置的估计坐标计算定位误差的方差为:
其中,tr(·)表示矩阵的迹,即对角线元素之和;定义diag[·]表示对角阵;
步骤五、根据WSN节点定位的实际需求,令定位误差的标准差的门限值为PL,也称为保护门限;若满足退出程序执行,xk,yk为未知节点最终的定位结果,若则获得未知节点所需测量信标节点Bi信号的次数Knew为:
表示向上取整,根据保护门限PL,结合式(9),计算需要测量信标节点Bi信号的次数Knew;
步骤六、若Knew≤K,退出程序执行,xk,yk为未知节点最终的定位结果;若Knew>K,未知节点U在K次的基础上,再次测量(Knew-K)次接收到的信标节点Bi的信号功率
则未知节点接收到来自信标节点Bi的信号功率的平均值为
步骤七、将K值更新为K=Knew,重新执行步骤二~七的过程,直至满足Knew≤K或退出程序执行,得到未知节点最终的定位结果xk,yk;如图5即完成了一种自适应精度控制的WSN节点定位方法。
本实施方式效果:
本实施方式提出了一种自适应精度控制的WSN节点定位方法,能够在不增加任何硬件资源的情况下,控制基于RSSI的WSN节点定位的精度,有效提高WSN节点定位的鲁棒性。本方法中WSN节点可独立定位,能够适应无线传感器网络分布式定位的需求。考虑二维平面定位的情况,三维情形可以类似推广。
为实现对定位精度的自适应控制,对于给定的保护门限PL=1m的情况,可以获得信号测量次数K与误差因子R的关系如图3所示:
从图3可以看出定位仿真中获得的K具有较高的可信度,能够与理论值相吻合。
图4中给出了自适应精度控制下,定位的均方根误差与保护门限的关系。蓝色线表示保护门限PL,其恒定为1m。红点表示定位仿真中定位的均方根误差情况。从图4中可以看出,定位的均方根误差大多保持在0.9m和1.1m之间,和设定的保护门限PL基本一致。这说明本算法通过对信标节点信号测量次数K的控制,能够自适应的控制WSN节点定位误差处于一定的范围内,提高WSN节点定位的鲁棒性
具体实施方式二:本实施方式与具体实施方式一不同的是:步骤二中计算未知节点与信标节点Bi的距离vi具体为:
其它步骤及参数与具体实施方式一相同。
具体实施方式三:本实施方式与具体实施方式一或二不同的是:步骤三中迭代求解过程如下:
(1)设未知节点U的初始位置为(x0,y0),即迭代的初始值;
(2)当k=1时,根据式(4)、(5)和(6)分别获得H、b和W,并代入式(7)获得此时的△X,△X=[(x1-x0) (y1-y0)]T,进而获得第一次迭代的结果(x1,y1);若△X的二范数小于设定的迭代门限值,则退出迭代,未知节点U位置的估计坐标否则k+1执行步骤(3);迭代门限值决定了迭代退出的条件,当△X小于迭代门限值时,认为迭代收敛;迭代门限值设定为0.01;
(3)当k>1时,和步骤(2)类似,根据式(4)、(5)和(6)分别获得H、b和W,并代入式(7)获得此时的△X=[(xk-xk-1) (yk-yk-1)]T;当△X的二范数小于迭代门限值时,退出迭代,未知节点U位置的估计坐标
(4)当△X的二范数大于等于迭代门限值时,将k+1,返回执行(3)中的步骤;直到△X的二范数小于迭代门限值为止,退出迭代,未知节点U位置的估计坐标其它步骤及参数与具体实施方式一或二相同。
具体实施方式四:本实施方式与具体实施方式一至三之一不同的是:步骤四中定义误差因子R=tr((HTD-1H)-1),根据未知节点U位置的估计坐标计算定位误差的方差具体过程为:
设ε=[εx,εy]T分别表示未知节点U在x和y方向上的定位误差为εx和εy;则定位误差的方差
令C=ε·εT,表示未知节点定位误差的协方差矩阵;根据加权最小二乘理论:
则定位误差的方差为:
其它步骤及参数与具体实施方式一至三之一相同。
具体实施方式五:本实施方式与具体实施方式一至四之一不同的是:步骤五中若则获得未知节点所需测量信标节点Bi信号的次数Knew的具体过程为:
当时,为满足需要将测量信标节点Bi信号的次数提高到Knew次,根据式(8),即为:
上式可以变形为:
表示向上取整;由于误差因子R处于102的量级,(PL)2/R<<1,式(14)近似为:
其它步骤及参数与具体实施方式一至四之一相同。
采用以下实施例验证本发明的有益效果:
实施例一:
本实施例一种自适应精度控制的WSN节点定位方法,具体是按照以下步骤制备的:
在图1中30×30(m2)的WSN工作环境内,部署4个信标节点。未知节点轨迹为图1中蓝色三角表示的A→B→C的路径。未知节点步进长度为0.5m。对于未知节点在该路径上的某一特定位置的情况,通过下面的步骤完成定位:
步骤一、各节点的通信半径为15m。设未知节点U=(x,y)可以接收到信号的信标节点为Bi=(xi,yi),i=1,2,...,N,3≤N≤4,即Bi对于未知节点U是可见的。其中,(xi,yi)表示信标节点Bi的坐标,N表示对于未知节点U可见的信标节点的数目。此时未知节点对各信标节点信号进行信号测量的次数为1。在高斯噪声n的影响下,未知节点U通过K=1次测量接收到信标节点Bi的信号功率均值为
步骤二、设未知节点U的初始位置为(x0,y0)=(0,0),即迭代的初始值。
步骤三、当k=1时,根据式(4)、(5)和(6)分别获得H、b和W,并代入式(7)获得此时的△X,△X=[(x1-x0) (y1-y0)]T,进而获得第一次迭代的结果(x1,y1)。若△X的二范数小于设定的迭代门限值0.01,则退出迭代,未知节点U位置的估计坐标否则k+1执行步骤四
步骤四、当k>1时,和步骤三类似,根据式(4)、(5)和(6)分别获得H、b和W,并代入式(7)获得此时的△X=[(xk-xk-1) (yk-yk-1)]T。当△X的二范数小于迭代门限值0.01时,退出迭代,未知节点U位置的估计坐标
步骤五、当△X的二范数大于等于迭代门限值0.01时,将k+1,返回执行步骤四。直到△X的二范数小于迭代门限值0.01为止,退出迭代,未知节点U位置的估计坐标
步骤六、根据信号测量次数为K次时,所获得的未知节点U位置的估计坐标结合式(8)计算定位误差的方差
步骤七、设定保护门限PL=1m,若退出程序执行,返回未知节点最终的定位结果xk,yk。否则,结合式(9),计算需要测量信标节点Bi信号的次数Knew。
步骤八、若Knew≤K,退出程序执行,返回未知节点最终的定位结果xk,yk。若Knew>K,未知节点U在K次的基础上,再次测量(Knew-K)次接收到的信标节点Bi的信号功率结合式(10),则未知节点接收到来自信标节点Bi的信号功率的平均值为
步骤九、将K值更新为K=Knew根据式(2)重新计算重新执行步骤二至步骤五的迭代过程,获得未知节点U位置的估计坐标定义误差因子R=tr((HTD-1H)-1)根据未知节点U位置的估计坐标依据步骤六重新计算定位误差的方差若退出程序执行,返回未知节点最终的定位结果xk,yk。否则若则重新执行步骤七至步骤九的过程,直至满足Knew≤K或退出程序执行,返回最终的定位结果xk,yk。
其中,方差确定过程为:
设ε=[εx,εy]T分别表示未知节点U在x和y方向上的定位误差为εx和εy;则定位误差的方差
令C=ε·εT,表示未知节点定位误差的协方差矩阵;根据加权最小二乘理论:
则定位误差的方差为:
若则获得未知节点所需测量信标节点Bi信号的次数Knew的具体过程为:
当时,为满足需要将测量信标节点Bi信号的次数提高到Knew次,根据式(8),即为:
上式可以变形为:
表示向上取整;由于误差因子R处于102的量级,(PL)2/R<<1,式(14)近似为:
由以上的步骤可知,假设定位区域为一个30×30(m2)的正方形区域,坐标原点为(0,0)。预先部署4个信标节点,每个信标节点的发射功率为1mW(0dBm),节点通信半径为15m。信标节点的信息如表1所示:
表1信标节点的位置坐标
信标节点序号x(m)y(m)
150
2250
3520
42520
图1中四个红点代表信标节点,未知节点的轨迹用蓝色三角表示,路径为A→B→C。未知节点的步长为0.5m,在每个步进位置各进行1000次定位。
仿真的具体参数为如表2所示:
表2仿真参数
变量参数
高斯噪声标准差3
未知节点步进长度0.5m
单点仿真次数1000次
迭代初始坐标(0,0)
保护门限PL1m
按照表2中的仿真参数对本算法进行仿真,首先给出定位误差的方差与误差因子R的关系,如图2所示。其中,蓝色线为获得的定位误差的方差的理论值,红点表示定位仿真的结果,从图2中可以看出红点刚好落在蓝线上,仿真结果与理论值相一致。
为实现对定位精度的自适应控制,对于给定的保护门限PL=1m的情况,可以获得信号测量次数K与误差因子R的关系如图3所示:
图3中,蓝色线为计算的理论的K值,红点表示定位仿真中获得的K值,从图3中可以看出,红点基本在蓝线附近,这说明定位仿真中获得的K具有较高的可信度,能够与理论值相吻合。
图4中给出了自适应精度控制下,定位的均方根误差与保护门限的关系。蓝色线表示保护门限PL,其恒定为1m。红点表示定位仿真中定位的均方根误差情况。从图4中可以看出,定位的均方根误差大多保持在0.9m和1.1m之间,和设定的保护门限PL基本一致。这说明本算法通过对信标节点信号测量次数K的控制,能够自适应的控制WSN节点定位误差处于一定的范围内,提高WSN节点定位的鲁棒性。
本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,本领域技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。