一种基于半定规划的无线传感器网络RSS定位算法

文档序号:25232672发布日期:2021-05-28 14:40阅读:60来源:国知局
一种基于半定规划的无线传感器网络RSS定位算法

本发明涉及无线传感网络定位领域,尤其涉及一种基于半定规划的无线传感器网络rss定位算法。



背景技术:

近年来,定位算法在智能仓库、机器人协作、仪器导航、位置监测等方面的应用愈发广泛,在无线传感器网络(wsns)中扮演着越来越重要的角色。已知位置的点为锚节点,位置未知的点成为源节点,即需要估计位置的点。与到达角(aoa)、到达时间(toa)、到达时差(tdoa)等相比,基于接收信号强度(rss)的定位方法具有实现简单、复杂度低的优点,是一种简便、精确的定位方法,与其他定位方法相比有着显著优势。接收信号强度有两种模型,一种是关于信号强度的模型,另一种是关于路径损耗的模型。

现有的基于rss的定位方法中,部分方法是构造关于源节点的非凸方程,再利用梯度下降法、坐标下降法、遗传算法、黄金分割算法等求出源节点的极值。但由于接收信号强度会受到噪声的影响,对于非凸方程求得的极值有可能并不是全局最优解,而是局部最优解,因此利用凸优化把非凸方程转化为凸估计,再求出全局最优值的方法越来越受到欢迎。大部分构造优化问题的准则都采用了最小二乘(ls)、相对误差最小(lsre)、加权最小二乘(wls)这三种。这三种方法在进行模型转化的时候,对含有噪声量的项进行泰勒展开后都忽略了新噪声的标准差不同,因此当接收信号强度中含有噪声时,最终估计的源节点位置会有一些偏差,并且随着噪声标准差的增加,偏差也会增加。



技术实现要素:

本发明提供了一种基于半定规划的无线传感器网络rss定位算法,用以解决现有rss定位方法存在当接收信号强度中含有噪声时,最终估计的源节点位置会有偏差,并且随着噪声标准差的增加,偏差也会增加的问题。

为了解决上述目的,本发明提供的技术方案如下:

一种基于半定规划的无线传感器网络rss定位算法,包括:

s10:将接收信号路径损耗的模型进行预设转化得到预设函数;

s20:根据极大似然估计准则构建非凸估计函数;

s30:通过半定规划将所述非凸估计函数转换为凸估计函数;

s40:将所述凸估计函数导入预设仿真软件中得到源节点的位置估计。

进一步的,所述接收信号路径损耗的模型为:

其中,li为第i个锚节点接收到的路径损耗,l0为当锚节点与源节点的距离为d0时,锚节点所接受到的路径损耗;si为第i个锚节点的坐标;γ为路径损耗指数;ni为接收到的噪声信号;n为锚节点的个数。

进一步的,所述步骤s10中,预设函数为:

αiη=||x-si||+ξi,i=1…n(2)

其中,得到一个均方差为的新噪声ξi。

进一步的,所述步骤s20中,非凸估计函数为:

其中,η,σ都为常数,在估计x的值时不影响,可以去掉分母,分子展开得到:

进一步的,所述步骤s30中,凸估计函数为:

所述非凸估计函数中的加1项去除不影响估计值x;令di=||x-si||,ri=di2得到:

其中,将上式转变成矩阵形式得到:

进一步的,所述步骤s10之前还包括步骤:根据锚节点接收的信号强度生成所述接收信号路径损耗的模型。

进一步的,所述步骤s40之后还包括步骤:通过所述预设仿真软件与预设定位算法进行预设比对。

进一步的,所述预设算法包括:最小二乘半定规划、最小二乘二阶锥规划和相对误差最小二阶锥规划。

采用本发明,通过将接收信号路径损耗的模型进行转化,再利用极大似然估计准则,得到一个非凸估计量来估计源节点的位置,基于极大似然估计提出了一种不忽略新噪声标准差不同的定位算法。

附图说明

图1是本发明的基于半定规划的无线传感器网络rss定位算法的流程框图一;

图2是本发明的基于半定规划的无线传感器网络rss定位算法的流程框图二;

图3是不同算法中均方根误差(rmse)与噪声标准差(σ)的关系;

图4是不同算法中均方根误差(rmse)与传感器数量(n)的关系;

图5是不同算法中运行时长(time)与传感器数量(n)的关系;

图6是不同算法中平均误差(em)的累积分布函数(cdf)的曲线。

具体实施方式

以下是本发明的具体实施例并结合附图,对本发明的技术方案作进一步的描述,但本发明并不限于这些实施例。

本实施例

如图1所示,本实施例提供了一种基于半定规划的无线传感器网络rss定位算法,包括步骤:

s10:将接收信号路径损耗的模型进行预设转化得到预设函数;

s20:根据极大似然估计准则构建非凸估计函数;

s30:通过半定规划将所述非凸估计函数转换为凸估计函数;

s40:将所述凸估计函数导入预设仿真软件中得到源节点的位置估计。

具体的,步骤s10中,接收信号路径损耗的模型为:

其中,li为第i个锚节点接收到的路径损耗,l0为当锚节点与源节点的距离为d0时,锚节点所接受到的路径损耗;si为第i个锚节点的坐标;γ为路径损耗指数;ni为接收到的噪声信号;n为锚节点的个数。

其中,预设转化的过程为将接收信号的路径损耗模型进行转化:为了去掉对数,使模型变得更简单,在公式(1)的两边同时减去l0再除以10γ,再同时取10的幂,得到

进行麦克劳林展开,即得到

再根据αiη≈||x-si||得到预设函数:

αiη=||x-si||+ξi,i=1…n(2)

其中,得到一个均方差为的新噪声ξi。

具体的,步骤s20中,非凸估计函数为:

其中,η,σ都为常数,在估计x的值时不影响,可以去掉分母,分子展开得到:

其中,利用半定规划对其中的非凸估计量进行转换成为凸估计量。

具体的,步骤s30中,凸估计函数为:

非凸估计函数中的加1项去除不影响估计值x;令di=||x-si||,ri=di2得到:

其中,将上式转变成矩阵形式得到:

其中,将上述凸估计函数导入matlab中的cvx凸包进行计算:把最终的凸的估计量代码打入matlab中就可以得到所需要的源节点的位置估计。

参阅图2,步骤s10之前还包括步骤:根据锚节点接收的信号强度生成所述接收信号路径损耗的模型。步骤s40之后还包括步骤:通过所述预设仿真软件与预设定位算法进行预设比对。

具体的,预设算法包括:最小二乘半定规划(ls-sdp)、最小二乘二阶锥规划(ls-socp)和相对误差最小二阶锥规划(lsre-socp)。

参阅图3,本发明定位算法(mle-sdp)。对源节点的估计值的均方根误差(rmse)与噪声的方差(σ)之间的关系。比较的方法是将9个锚节点均匀分布在[0,100]×[0,100]m2的正方形区域内,源节点随机产生在这个正方形区域内。循环次数mc=500次,σ的变换范围是从1到6。

参阅图4,本发明定位算法(mle-sdp)。方根误差(rmse)与传感器数量(n)的关系。比较的方法是将16个锚节点均匀分布在[0,100]×[0,100]m2的正方形区域内,源节点随机产生在这个正方形区域内。锚节点数量n的变化范围是3到16,n等于几就取几个锚节点。循环次数mc=1000次,σ=4db。

参阅图5,本发明定位算法(mle-sdp)。运行时长(time)与传感器数量(n)的关系。比较的方法是将16个锚节点均匀分布在[0,100]×[0,100]m2的正方形区域内,源节点随机产生在这个正方形区域内。锚节点数量n的变化范围是3到16,n等于几就取几个锚节点。循环次数mc=1000次,σ=4db。

参阅图6,本发明定位算法(mle-sdp)。平均误差(em)的累积分布函数(cdf)曲线。cdf曲线可以代表一个算法的收敛性,cdf曲线上升越快,算法的收敛性越优,误差越小。比较的方法是将9个锚节点均匀分布在[0,100]×[0,100]m2的正方形区域内,源节点随机产生在这个正方形区域内。循环次数mc=500次,σ=4db。

该算法采用的方法是极大似然估计(mle)和半定规划(sdp)。首先将rss模型进行转化,再利用极大似然估计准则,构建非凸估计函数。最后,利用半定规划把这个非凸估计函数的非凸估计量转换为凸估计量,这样就得到了源节点位置估计的全局最小值。

本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

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