【鲁棒、传感器】基于平方距离迭代加权最小二乘的鲁棒目标定位研究(Matlab代码实现)

本文探讨了在传感器网络中处理异常值的鲁棒目标定位问题。针对可能的错误数据,文章提出了基于最小二乘法的平方范围测量方法,并设计了两种算法:一种是基于迭代加权最小二乘(IRLS),另一种是基于梯度下降。数值模拟展示了这两种方法的性能,其中IRLS算法具有更快的目标收敛性,而梯度下降算法保证全局收敛。此外,还提出了一种结合两者的混合方法,以实现理想的理论和实践特性。
摘要由CSDN通过智能技术生成

 👨‍🎓个人主页:研学社的博客    

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

定位问题出现在不同的研究领域,如无线网络、导航、监视和声学[1]-[3]。基于各种类型的测量,有许多不同的定位方法,例如距离和平方范围(SR),到达时间(ToA),到达时间差(TDoA),双向飞行时间(TW-ToF),到达方向(DoA)和接收信号强度(RSS)[2],[4]-[7]。

在[2]中,考虑了距离测量和距离差测量的定位,并利用了最小二乘(LS)估计器。[1]–[3]、[7] 中的作者已经建立了在最大似然 (ML) 框架中找到精确或近似解的方法。通常,为 ML 估计器找到解决方案是一项艰巨的任务或计算繁重的任务 [3], [7]。

本文考虑了鲁棒目标定位问题。在传感器网络中,某些节点可能会无意或恶意地向处理节点报告错误数据。这可能是由于网络故障、电池电量不足、场景物理障碍和攻击者造成的。因此,处理节点不应简单地聚合来自所有传感器的测量值。忽略异常值测量值并根据可靠的测量值定位目标更有效。

对于可靠的本地化,有不同的方法。[4] 中的方法通过将 ToA 估计误差建模为柯西-洛仑兹分布而获得。在[8]中,利用稳健的统计,特别是Huber范数,使用节点子集的位置以分布式方式定位网络中的传感器。[6]中的作者试图最小化最坏情况似然函数,并采用半定松弛法来使用TW-ToF测量值获得估计值。[9] 中的作者开发了一种强大的地理定位方法,通过将测量误差的概率密度函数 (PDF) 估计为高斯核的总和。当测量误差来自高斯混合 PDF 时,此方法效果最佳。

在本文中,目标是在存在异常值范围测量的情况下以集中方式定位单个目标。我们的目标是实现异常值分布鲁棒性,这意味着估计器在不同的异常值概率分布下表现良好。最小二乘法应用于平方范围测量。虽然这个公式在ML意义上不是最优的[3],但它为我们提供了有效找到估计值的机会。

本文可归纳如下。首先,使用平方范围公式制定一个鲁棒优化问题,该问题忽略了不可靠的测量。接下来,提出两种不同的算法来找到优化问题的解。在第一个基于迭代加权最小二乘(IRLS)的算法中,提出的优化问题被转换为一类特殊的优化问题,即广义信任区域子问题(GTRS)[10]。数值仿真表明,该算法具有较快的目标收敛性。然而,全序列收敛在理论上尚未建立。

第二种算法基于梯度下降。此算法是全局收敛的,但需要更多的迭代才能收敛。通过使用这两种算法,我们提出了一种混合方法,该方法具有理想的理论和实践特征,例如快速全序列收敛。

📚2 运行结果

 

可视化部分代码 

%% Plot Data
figure(1);
clf;
plot(sweep_parameter,ErrorSRL0,'-og','LineWidth',4,'DisplayName',' SR-IRLS')
hold on
plot(sweep_parameter,ErrorSRLS,'-.>b','LineWidth',4,'DisplayName',' SR-LS')
plot(sweep_parameter,ErrorSRBCD,'-*c','LineWidth',4,'DisplayName',' SR-GD')
plot(sweep_parameter,ErrorSRHybrid,'--<m','LineWidth',4,'DisplayName',' SR-Hybrid')
plot(sweep_parameter,ErrorLowerBound,'--k','LineWidth',2,'DisplayName',' CRLB')

legend_handle  = legend('show');
set(legend_handle,'Interpreter','latex')
set(legend_handle,'FontSize',14)
set(legend_handle,'Location','Best')

yhandle = ylabel('RMSE');
set(yhandle,'Interpreter','latex','FontSize',16)

xhandle = xlabel('Num of Sensors');
set(xhandle,'Interpreter','latex','FontSize',16)

set(gca,'FontSize',12,'LineWidth',1)
grid on
saveas(gcf, '../results/RMSE.png');
%%
figure(2);
clf;
semilogy(sweep_parameter,TimeSRL0,'-og','LineWidth',4,'DisplayName','SR-IRLS')
hold on
semilogy(sweep_parameter,TimeSRLS,'-.^y','LineWidth',4,'DisplayName','SR-LS')
semilogy(sweep_parameter,TimeSRBCD,'-*c','LineWidth',4,'DisplayName','SR-GD')
semilogy(sweep_parameter,TimeSRHybrid,'-<m','LineWidth',4,'DisplayName','SR-Hybrid')

legend_handle  = legend('show');
set(legend_handle,'Interpreter','latex','FontSize',14,'Location','Best')

yhandle = ylabel('Time (s)');
set(yhandle,'Interpreter','latex','FontSize',16)

xhandle = xlabel('Num of Sensors');
set(xhandle,'Interpreter','latex','FontSize',16)

set(gca,'FontSize',12,'LineWidth',1)
grid on

saveas(gcf, '../results/Time.png');
 

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]Alireza Zaeemzadeh, Mohsen Joneidi, Behzad Shahrasbi, Nazanin Rahnavard (2017) Robust Target Localization Based on Squared Range Iterative Reweighted Least Squares

🌈4 Matlab代码实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荔枝科研社

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值