基于RSS的多目标节点定位算法
MTL-GMM算法
本文引用地址:https://www.eepw.com.cn/article/164387.htmMTL-GMM算法将定位区域划分成大小相同的网格,首先粗略定位传感器节点所在的网格,根据粗略定位结果缩小定位区域和网格尺寸,迭代运行GridL(Grid Localization)算法,实现精确定位。具体步骤如下:
Step1:初始化定位区域;
Step2:定义网格尺寸;
Step3:运行GridL算法,若定位误差<=阈值,输出结果,若定位误差>阈值,转step4;
Step4:调整定位区域,转step2;
定位区域的计算
1)定位区域初始化
算法根据RC的路径坐标序列
GridL算法描述
图1给出了GridL算法的伪代码。表1给出了GridL算法使用的符号及其解释。MT-GMM算法嵌套了内外两层循环。外层循环即算法第4行到第29行,用来估计节点数量。假设节点数量M从1开始取值,并随循环逐次递增,根据(M-1)个节点坐标估计第M个节点坐标。当节点数量增加,但模型BIC取值不增加时,算法结束。内层循环即算法第11行到第20行,用来调整外层循环确定的M个节点的位置坐标。当模型BIC取值最大时,获得节点数量为M时的位置坐标。
算法第13行的函数findBIC(R,j)根据前j个节点的位置坐标,估计第(j+1)个节点的位置坐标。该函数分别假设第(j+1)个节点在定位区域内的每个网格中,并分别计算相应的BIC取值,BIC取值最大时对应的网格坐标就是第(j+1)个节点的坐标。
实验
本文用仿真实验和实测实验分别验证算法的有效性和准确性,使用Matlab 7.0来实现MTL-GMM算法。
实验使用的信道传播模型的参数取值如表2所示。实验用平均定位误差衡量算法的性能,如公式(6)所示。
仿真实验
我们用NCTUns v5.0[14]模拟实验场景,将8个传感器分别放置在180m×300m的区域里,将一个可移动的传感器做为信标节点RC,如图2所示。图中叉号表示传感器节点所在的位置,曲线表示RC的移动路径,圆圈表示估计的传感器位置。传感器节点的通信半径设为100米。RC采集的RSS序列长度为300。

评论