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

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

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

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

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

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码、文章下载


💥1 概述

摘要:本文针对存在离群传感器时的目标定位问题进行了研究。该问题在实际中具有重要意义,因为在许多实际应用中,传感器可能会无意或有意地报告不相关的数据。本文采用鲁棒统计技术对平方距离测量进行建模,并提出两种不同的解决方案。第一种方法具有计算效率,然而仅在理论上保证目标收敛。另一种方法则确立了整个序列的收敛性。为了兼顾两种方法的优点,我们将它们结合起来,开发出了一种混合算法,可提供计算效率和理论保证。该算法在不同的模拟和实际场景中进行了评估。数值结果表明,所提出的方法在足够数量的测量下能满足 Cramer-Rao 下限 (CRLB)。当测量数量较小时,所提出的位置解算方法比现有算法有更好的精度和鲁棒性。

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

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

在这篇论文中,我们的目标是在集中式方式下,在存在异常范围测量的情况下定位单个目标。我们的目标是实现异常值分布鲁棒性,这意味着估计器在不同异常值概率分布下表现良好。我们对平方范围测量应用了最小二乘方法。尽管这种表述在机器学习意义上并不是最优的,但它为我们提供了有效找到估计的机会。

这项工作的贡献可以总结如下。首先,我们提出了一个鲁棒优化问题,通过平方范围表述来忽略不可靠的测量值。接下来,我们提出了两种不同的算法来找到优化问题的解决方案。第一种算法基于迭代加权最小二乘法(IRLS),将提出的优化问题转化为一类特殊的优化问题,即广义信任域子问题(GTRS)。数值模拟表明,这种算法具有快速的目标收敛性。详细文章见第4部分。

📚2 运行结果

部分代码:

%% SR-LS 
        tic
        TargetSRLS = PUpositionSRLS(SensorPosition(:,1),SensorPosition(:,2),RangeMeas);
        time1(seed) = toc;
        error1(seed) = rms(TargetSRLS-TargetPosition');
        bias1(:,seed) = TargetSRLS-TargetPosition';
        

        %% SR-IRLS 
        tic
        [TargetSRL0,iters] = PUpositionSRL0(SensorPosition(:,1),SensorPosition(:,2),RangeMeas,MeasNoiseSTD);
        time3(seed) = toc;
        error3(seed) = rms(TargetSRL0-TargetPosition');
        bias3(:,seed) = TargetSRL0-TargetPosition';    
        iters3(seed) = iters;    
        %% SR-GD
        tic
        [TargetSRBCD,iters] = PUpositionSRBCD(SensorPosition(:,1),SensorPosition(:,2),RangeMeas,MeasNoiseSTD,[0;0]);
        time6(seed) = toc;
          error6(seed) = rms(TargetSRBCD-TargetPosition');
        bias6(:,seed) = TargetSRBCD-TargetPosition';        
        iters6(seed) = iters;
        %% SR-Hybrid
        tic
        [TargetHybrid,iters] = PUpositionSRHybrid(SensorPosition(:,1),SensorPosition(:,2),RangeMeas,MeasNoiseSTD);
        time7(seed) = toc;
         error7(seed) = rms(TargetHybrid-TargetPosition');
        bias7(:,seed) = TargetHybrid-TargetPosition';       
        iters7(seed) = iters; 
         %% CRLB
         CRLB(seed) = CRLBpos(TargetPosition,SensorPosition(:,1),SensorPosition(:,2),Iv);
    
    end
    ErrorSRLS(p) = mean(error1(isfinite(error1)));
    ErrorSRL0(p) = mean(error3(isfinite(error3)));
    ErrorSRBCD(p) = mean(error6(isfinite(error6)));
    ErrorSRHybrid(p) = mean(error7(isfinite(error7)));
    ErrorLowerBound(p) = mean(CRLB(isfinite(CRLB)));

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

Alireza Zaeemzadeh, Mohsen Joneidi, Behzad Shahrasbi, Nazanin Rahnavard

🌈4 Matlab代码、文章下载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值