APP下载

扩展卡尔曼滤波的改进蛇定位算法在WSN中的应用

2024-09-19彭铎刘明硕谢

无线电工程 2024年6期
关键词:无线传感器网络

摘 要:针对接收信号强度指示(Received Signal Strength Index,RSSI) 定位易受到环境因素的影响,提出了一种基于RSSI 扩展卡尔曼滤波的改进蛇定位算法(RSSI Extended Kalman Filter-based Improved Snake Optimization LocalizationAlgorithm,RSSI-EISL)。该算法利用扩展卡尔曼滤波(Extended Kalman Filter,EKF) 模型对RSSI 信号值进行平滑处理,使其能够抑制噪声和异常值对估计结果的影响,从而提高测距的准确性和鲁棒性。通过引入Levy 飞行和非线性收敛因子的改进蛇优化算法(Improved Snake Optimization Algorithm,ISO),提升了蛇优化算法(Snake Optimization Algorithm,SO) 的寻优能力,使之能够更加准确地计算出待测节点的坐标。根据仿真结果显示,相较于基于RSSI 最小二乘定位算法(RSSIOrdinary Least Squares Localization Algorithm,ROL)、基于RSSI EKF 的灰狼定位算法(RSSI Extended Kalman Filter-based GreyWolf Optimization Algorithm, REGL) 和基于RSSI EKF 的蛇定位算法(RSSI EKF-based Snake Optimization LocalizationAlgorithm,RESL),RSSI-EISL 的定位精度分别提高了26. 4% 、8. 75% 和5. 6% ,算法的收敛速度和全局搜索能力也有所提升。

关键词:无线传感器网络;接收信号强度;蛇优化算法;扩展卡尔曼滤波;Levy 飞行;非线性收敛因子

中图分类号:TP393 文献标志码:A 开放科学(资源服务)标识码(OSID):

文章编号:1003-3106(2024)06-1489-08

0 引言

无线传感器网络(Wireless Sensor Network,WSN)是一种由微型传感节点组成的网络,这些节点被部署在特定区域。只有准确定位节点的位置,才能确保收集到的各种检测信息具有意义。截至目前,定位算法根据是否测得距离分为2 类:测距算法与非测距算法。基于距离的算法主要包括角度和距离的测量。而非测距依赖于节点的连通性,如定位的跳数,不需要任何额外的硬件支持[1-2]。

基于测距算法中接收信号强度对硬件资源的要求不高,容易实现并且应用广泛,但基于接收信号强度定位受环境影响较大,从而影响最后的定位精度,因此很多学者对接收信号强度算法进行改进。文献[3]利用卡尔曼滤波模型对接收信号强度指示(Received Signal Strength Index,RSSI)值进行平滑处理,使接收到的信号强度值更趋近真实值;采用加权质心算法计算待测节点的位置,提升了算法的定位精度。但是卡尔曼滤波通常是处理线性滤波问题,对于接收到的RSSI 并不能起到很好的滤波效果。文献[4]基于RSSI 定位易收到环境等外界因素影响,提出了基于RSSI 高斯滤波的人工蜂群定位算法,但通常情况下接收到的RSSI 值都是非线性的,高斯滤波模型的处理效果不是很理想。文献[5]提出混沌粒子鸡群融合优化的RSSI 质心定位算法,提高了算法的定位精度,但是离子群优化算法有容易陷入早熟,局部最优和收敛速度慢等缺点,即使加入了鸡群算法能够改善这一缺点,但同时也增加了算法的冗余度。

因此,提出一种基于RSSI 扩展卡尔曼滤波的改进蛇定位算法(RSSI Extended Kalman Filter-basedImproved Snake Optimization Localization Algorithm,RSSI-EISL)。利用扩展卡尔曼滤波(ExtendedKalman Filter,EKF)模型对RSSI 信号值进行平滑处理,抑制噪声和异常值对估计结果的影响,从而提高测距的准确性;利用改进蛇优化算法(ImprovedSnake Optimization Algorithm,ISO)搜索待测节点的位置信息。根据仿真结果显示,RSSI-EISL 相较于其他类似的定位算法,不仅收敛速度和全局搜索能力有所提升,定位精度也有所提高。

1 RSSI 测距模型及测距误差分析

1. 1 测距模型

RSSI 是指未知节点接收到锚节点发送的能量信号强度。在信号传播过程中随着距离的增加,能量会逐渐减弱,导致了信号损耗。因此有了信号损耗模型,常见的信号损耗模型主要有自由空间传播模型、对数-常态分布模型等[6-10]。自由空间传播模型忽略了障碍物对信号传播的影响,只考虑了自由空间中的传播衰减。因此,自由空间传播模型适用于没有障碍物的开放空间,而对数-常态分布模型考虑了障碍物会引起信号的散射、衍射和多径效应等因素,从而导致信号强度的变化[11]。该模型假设信号强度在空间中呈正态分布,意味着在同一距离下,信号强度的变化服从正态分布,可以用均值和方差来描述。

总之,相对于自由空间传播模型,对数-常态分布模型能够更好地模拟信号的路径损耗和衰减过程,从而提高传输的可靠性和稳定性[12-14]。该模型还能够较好地考虑环境中的障碍物和干扰因素对信号传播的影响,进一步提高了模型的准确性和适用性。因此选择对数-常态分布模型作为研究对象,其表达式为:

P(d) = P(d0 )- 10nlg (d/d0) p y + Xσ, (1)

式中:P(d)为在参考距离d 处的接收信号强度,一般P(d0 )取值为1,代表传播1 m 后路径传播损耗;n 为路径损耗指数,Xσ 为随机变量,表示其他因素对信号强度的影响。

信号传输模型如图1 所示。

1. 2 测距误差分析

RSSI 测距是指将待测节点接收到来自其对应锚节点的RSSI 值[15],利用RSSI-d 转换公式计算得到二者之间的距离:

RSSI(d) = A - 10nlg d + Xσ, (2)

式中:A 为1 m 处的信号强度值,n 为信号传输常数,均与环境有关。A 和n 为常见值,如表1 所示。

传统的测距模型选取固定的A 和n 值,再利用RSSI-d 转换公式得出距离,根据表1 可知,不同的环境参数值得到的距离值差别较大,从而影响了最终的定位效果。

因此RSSI-EISL 将在特定的环境下多次测量,获得多个RSSI 值,利用EKF 通过迭代的方式进行优化,不断地融合测量数据和系统模型,逐渐减小估计结果的误差,以便得到相对稳定的RSSI 值,从而提高测距的准确性。

2 RSSI-EISL

n 个节点随机布置在二维网络中,其中锚节点所占的比例为α% 。令θi = (xi,yi )表示第i 个待测节点的位置信息,ηj = (xηj,yηj)表示第j 个锚节点的位置信息。RSSI-EISL 主要是由测距和定位2 个阶段构成。

2. 1 基于EKF 的RSSI 测距

在实际应用中,由于周围环境的复杂多变性,RSSI 值容易受到影响,即使在同一传输路径下,采集到的RSSI 值也会有所不同。为了处理这种情况,常用的预处理方法包括高斯滤波、均值滤波和粒子滤波等滤波模型。然而,由于系统接收到的RSSI 值通常是非线性的,这些模型的处理效果并不理想。为了解决这个问题,EKF 使用泰勒展开处理系统中的状态方程和测量方程,并使用雅可比矩阵来替代卡尔曼算法中的线性变换,从而将非线性问题线性化[16]。使用EKF 来优化测距模型的具体方法如下:

① 计算RSSI 当前状态的预估值:

将k 时刻的接受信号强度最优解利用式(2)RSSId 转换公式计算出距离,即为EKF 的RSSI 测距的基本原理。

2. 2 蛇优化算法

蛇优化算法(Snake Optimization Algorithm,SO)主要来源于蛇的交配行为,通过当前的环境温度大小和食物数量来判断蛇个体的下一步行为。如果温度较低,且食物可用,蛇的交配行为发生;否则蛇只会寻找食物或吃现有的食物。基于此,SO 的搜索过程分为2 个阶段:勘探和开发。

相较于传统的元启发式算法,SO 具有较好的全局搜索能力,能够找到全局最优解。此外,ISO 还具有较好的收敛性和鲁棒性。为此,RSSI-EISL 运用ISO 优化算法求解未知节点的坐标。

2. 3 ISO 的节点定位

利用ISO,可以将待测节点的定位问题转化为求解非线性方程组,通过迭代找到待测节点的位置信息。在ISO 中将待测节点作为蛇个体的位置;蛇个体的最佳位置作为待测节点的估计位置,ISO 中有2 类蛇,分别为雄性蛇和雌性蛇,通过2 类蛇在温度和食物储备量各不相同的情况下产生的个体行为从而计算最优解。表2 给出ISO 中各种行为与节点定位系统步骤的对应关系。

2. 3. 1 基于定位误差的适应度函数

令f(xi,yi)表示待测节点i 的适应度函数,表达式为:

式中:Na 表示与待测节点i 相关的锚节点的个数,d^ i,j 表示通过式(6)所估计的待测节点i 与锚节点j 间的距离。

2. 3. 2 ISO 的适应度函数求解

第一步初始化阶段。

初始化蛇的位置如式(8)所示:

式中:Levy(β)是服从参数β 的Levy 分布,0 <β<2;μ 服从N(0,1)分布。

采用Levy 飞行的位置更新如式(27)所示:

xt+1i = xti+ αL(β)(gbest(i)- xti), (27)

式中:xt+1i 、xti分别为xi 第t+1 代和t 代的位置,α 为缩放因子,取0. 01;gbest(i)为当前种群的最优位置,此处为SO 完成每次迭代后的最优坐标值;L 为服从Levy 飞行的步长因子。

利用Levy 飞行来增加搜索的多样性和全局搜索能力。与传统的优化算法相比,Levy 飞行优化SO能够更好地避免陷入局部最优解,并且具有较快的收敛速度。此外,该算法还能够有效地处理高维问题和非线性问题,具有较强的鲁棒性和适应性[20]。

2. 4 RSSI-EISL 整体流程

所提RSSI-EISL 定位过程如图2 所示。

① 利用EKF 通过迭代的方式进行优化,以得到相对稳定的RSSI 值。

② 初始化。进行蛇种群的初始化,设定最大迭代次数、食物和温度触发阈值。

③ 确定目标函数。根据RSSI-EISL 过程,确定适应度函数如式(7)所示。

④ 将种群分为雄性与雌性2 组,设置适应度函数,并计算相应的适应度,找当前最佳雌雄个体。

⑤ 根据式(11)、式(12)定义环境温度温度Temp 和食物数量D。

⑥ 根据食物量D 的大小来决定个体处于只寻找食物或战斗和交配。如果D <0. 25,则只寻找食物,按式(15)、式(16)更新蛇的个体位置。

⑦ 如果食物充足且Temp>0. 6,则只寻找食物和吃现有食物,按式(19)更新位置。

⑧ 根据模式随机数判断进入战斗模式和交配模式,根据式(20)和式(21)更新战斗模式的位置,用式(24)和式(25)分别替换战斗模式下的Am ,将最佳个体替换成当前个体,更新位置。如果卵孵化,选出最差个体,替换掉。

⑨ 处理更新后的位置,更新个体历史最佳值,进行一次Levy 飞行,利用Levy 飞行的小范围搜索结合长距离迁徙的特性,扩大搜索范围。

⑩ 判断其是否达到迭代次数,不满足则进入下一轮迭代,满足则结束迭代输出最佳位置。

3 性能分析

3. 1 实验参数及环境

为了验证RSSI-EISL 的定位误差,利用Matlab2021a 软件进行仿真模拟实验。

在100 m×100 m 的WSN 监控区域内随机布置传感器节点,实验路径的损耗n 设为2,为了创造真实环境中的自然因素、遮挡和反射等外在条件的影响,加入随机噪声来模拟这些环境因素,范围为[-1,1]。具体的方针参数如表3 所示。

此外,选择RSSI-EISL、基于RSSI EKF 的灰狼定位算法(RSSI EKF based Grey Wolf OptimizationAlgorithm,REGL)和基于RSSI 最小二乘定位算法(RSSI Ordinary Least Squares Localization Algorithm,ROL)对比,并分析归一化定位误差性能。

在100 m×100 m 的仿真区域内,随机部署未知节点150 个、锚节点20 个的情况下,节点分布情况如图3 所示。

平均定位误差是评价定位算法优劣性的主要指标,因此需要通过式(31)计算相对定位误差。由式(32)进行误差归一化计算平均定位误差。

式中:(x′i ,y′i )为待测节点的真实坐标,(xi,yi )为待测节点的估计坐标,r 为通信半径。

式中:AE 为平均定位误差,N 为未知节点的个数,Ei为第i 个未知节点的定位误差。

3. 2 优化算法性能测试

对比所提ISO 的优化性能,选取Sphere 函数对比,种群数设置为30,迭代次数设置为200,选取蜣螂优化算法(Dung Beetle Optimizer Algorithm,DBO)、灰狼优化算法(Grey Wolf Optimization Algo-rithm,GWO)、鲸鱼优化算法(Whale Optimization Al-gorithm,WOA),北方苍鹰算法(Northern GoshawkOptimization Algorithm,NGO)与ISO 进行比较,对测试函数进行30 次仿真的独立运行,将实验结果进行统计,结果如图4 所示。

由图4 可知,所提算法收敛速度快,且获得的适应度值最小,寻优得到的平均适应度值更接近理论最优值0,因此具有更好的优化性能。

3. 3 锚节点数对归一化定位误差的影响

实验参数:150 个待测节点,节点通信半径设置为30 m。锚节点数从10 个增加至40 个,步长设置为5。

如图5 所示,归一化定位误差随着锚节点的增加而减少,原因在于当只有少数几个锚节点时,定位误差可能会较大,因为只有有限的锚节点提供了定位信息,无法准确确定目标位置。但是随着锚节点数的增加,定位系统可以通过多个锚节点的距离或信号强度等信息来计算目标位置,从而提高定位的准确性。另外ROL 的平均定位误差为47. 82% ,REGL 的平均定位误差为22. 64% ,RESL的平均定位误差为20. 39% ,RSSI-EISL 的平均定位误差为12. 10% 。相比于ROL、REGL 和RESL,本文提出的RSSI-EISL 的定位精度分别提高了约35. 72% 、10. 54% 和8. 29% 。

3. 4 通信半径数对归一化定位误差的影响

实验参数:150 个待测节点,锚节点设置为30 个。通信半径从20 m 增加至45 m,步长设置为5。

如图6 所示,归一化平均定位误差随通信半径的增加而下降。原因在于通信半径的增大可以减少通信链路的路径损耗,使得节点之间的通信更加可靠。更可靠的通信链路可以提供更准确的定位信息,从而减小定位误差。另外ROL 的平均定位误差为38. 24% ,REGL 的平均定位误差为25. 42% ,RESL的平均定位误差为19. 50% ,RSSI-EISL 的平均定位误差为14. 92% 。相比于ROL、REGL 和RESL,本文提出的RSSI-EISL 的定位精度分别提高了23. 32% 、10. 50% 和4. 58% 。

3. 5 总节点数对归一化定位误差的影响

实验参数:待测节点从100 个增加至200 个,锚节点设置为待测节点的30% ,通信半径设置为30 m,步长为20。

如图7 所示,归一化平均定位误差随着总节点数的增加而下降,原因在于网络中的节点数量的增加可以提供更多的定位信息和数据。当总节点数增加时,网络中的节点之间的通信和交互也随之增加,导致更多的节点之间能够相互传递位置信息和测量数据,从而提高了定位的准确性。另外ROL 的平均定位误差为39. 57% ,REGL 的平均定位误差为24. 62% ,RESL 的平均定位误差为23. 33% ,RSSI-EISL 的平均定位误差为19. 40% 。相比于ROL、REGL 和RESL,RSSI-EISL 的定位精度分别提高了20. 17% 、5. 22% 和3. 93% 。

3. 6 收敛速度分析

实验分析了RSSI-EISL、RESL 和REGL 的收敛速度。实验参数:待测节点150,锚节点设置为30 个,节点通信半径为30 m,最大迭代次数设置为100。

图8 给出了迭代次数1 ~ 100,RSSI-EISL、RESL和REGL 算法的定位误差。由图8 可以看出,RSSI-EISL 在迭代到第10 次左右,定位误差达到了收敛。REGL 算法收敛速度慢,在100 次还未达到最优值。对比RESL,RSSI-EISL 利用Levy 飞行使其具有更快的迭代速度,同时因为加入了自适应权重因子,使得算法具有更好的全局搜索能力。

4 结束语

针对RSSI 定位易受到环境因素的影响,提出一种应用于WSN 中的RSSI-EISL,该算法利用EKF模型对RSSI 信号值进行平滑处理,以抑制噪声和异常值对估计结果的影响,从而提高测距的准确性和鲁棒性。通过引入Levy 飞行和非线性收敛因子的ISO,提升了蛇优化算法的寻优能力,使之能够更加准确地计算出待测节点的坐标。

根据仿真结果显示,RSSI-EISL 相较于其他定位算法,能够显著减少定位误差,并提高算法的收敛速度和全局搜索能力。需要注意的是,仿真所考虑的场景相对理想化,在实际应用中,RSSI 信号会受到多种环境因素的影响。因此,后期将进一步研究如何在复杂环境中提高RSSI 测距的精确度。

参考文献

[1] 田昕,魏国亮,王甘楠. 无线传感器网络定位综述[J].信息与控制,2022,51(1):69-87.

[2] 钱志鸿,王义君. 面向物联网的无线传感器网络综述[J]. 电子与信息学报,2013,35(1):215-227.

[3] 王田,兰艳亭,郭译凡,等. 改进的免疫粒子群算法在TDOA 定位中的应用[J]. 无线电工程,2023,53 (5):1199-1206.

[4] 蒋建峰,丁慧洁,张运嵩,等. DVHop 定位算法的混沌粒子群优化[J]. 无线电工程,2023,53(6):1430-1437.

[5] 潘琢金,刘玉龙,罗振,等. 基于卡尔曼滤波的加权补偿定位算法[J]. 计算机工程与设计,2017,38 (10):2600-2604.

[6] 单好民,陈才学. 基于RSSI 高斯滤波的人工蜂群定位算法[J]. 传感技术学报,2021,34(7):979-983.

[7] 王改云,陆家卓,焦傲,等. 混沌粒子群鸡群融合优化的RSSI 质心定位算法[J]. 计算机工程,2021,47(6):197-202.

[8] LIU W Y,LUO X Y,WEI G,et al. Node Localization Algorithm for Wireless Sensor Networks Based on StaticAnchor Node Location Selection Strategy [J]. ComputerCommunications,2022,192(C):289-298.

[9] HU Z D,TAO Y,WANG Z D. Node Location Algorithmfor Wireless Sensor Networks Oriented to MountainousTerrain[J]. International Journal of Wireless and MobileComputing,2019,17(2):128-135.

[10] 任晓奎,于百川,李岩. 基于RSSI 的加权质心定位算法的改进[J]. 传感器与微系统,2021,40(11):150-153.

[11] ZHANG K,ZHANG G,YU X W,et al. WSNs Node Localization Algorithm Based on Multihop Distance Vector andError Correction [J]. Telecommunication Systems,2022,81(3):461-474.

[12] 李娜,贾伟. 布谷鸟算法在无线传感器网络中的定位研究[J]. 数据采集与处理,2020,35(2):315-321.

[13] 王建强,代阳. 基于高斯牛顿迭代估计的无线网络节点定位算法[J]. 测绘工程,2020,29(6):8-12.

[14] 于春荣,王益芳,于瑷雯. 基于光纤传感的物联网节点定位技术研究[J]. 光通信研究,2020(6):8-11.

[15] 王建强,代阳,雷倩芳. 狄克逊检验法滤波RSSI 的室内定位算法[J]. 传感技术学报,2021,34(1):118-123.

[16] 任克强,潘翠敏. RSSI 模型参数动态修正的协作定位算法[J]. 华中科技大学学报(自然科学版),2020,48(2):97-102.

[17] 季鹏,陈芳芳,徐天奇,等. 基于融合Levy 飞行策略与自适应变异因子优化QPSOSVM 算法[J]. 云南民族大学学报(自然科学版),2023,32(2):217-224.

[18] 张梦坤. 入侵性杂草优化算法的改进与应用[D]. 镇江:江苏科技大学,2021.

[29] 刘哲,董楦,张德广,等. 基于鲸鱼算法优化DV-Hop 的人员定位算法[J]. 河北电力技术,2022,41(2):85-89.

[20] 孟宪猛,蔡翠翠. 基于莱维飞行粒子群算法的稀布阵列天线综合[J]. 太赫兹科学与电子信息学报,2021,19(1):90-95.

作者简介

彭铎 男,(1976—),博士,副教授,硕士生导师。主要研究方向:无线传感器网络、光纤网络与无线通信。

刘明硕 男,(2000—),硕士研究生。主要研究方向:无线传感器网络定位。

谢堃男,(2000—),硕士研究生。主要研究方向:无线传感器网络目标跟踪。

基金项目:国家自然科学基金(62265010,62061024);甘肃省科技计划(23YFGA0062);甘肃省创新基金(2022A-215)

猜你喜欢

无线传感器网络
基于STC单片机及SI4432的无线传感网的设计与实现
无线传感器网络在农田数据监测中的应用研究
基于层次和节点功率控制的源位置隐私保护策略研究
基于无线传感器网络的绿色蔬菜生长环境监控系统设计与实现
基于混沌加密的无线传感器网络安全技术
基于无线传感器网络的葡萄生长环境测控系统设计与应用
一种改进的基于RSSI最小二乘法和拟牛顿法的WSN节点定位算法
无线传感器网络定位技术可靠性分析
对无线传感器网络MAC层协议优化的研究与设计
无线传感器网络技术综述