【 MATLAB 】 WLLS algorithm Simulation of TOA - Based Positioning

举报
李锐博恩 发表于 2021/07/15 06:23:23 2021/07/15
【摘要】 仿真的条件与之前讲解非线性算法之牛顿——拉夫森算法时候的仿真条件一致。从下面的定位示意图中也能看出来,测量站的位置以及个数,以及目标位置。 测量站的位置:x1 = [0,0];x2 = [0,10];x3 = [10,0];x4 = [10,10]; 目标的真实位置:x=[2,3]. 信噪比正常定义,设定为30dB,从下图的定位示意图中可以看出,基本可以定位,因为估计出...

仿真的条件与之前讲解非线性算法之牛顿——拉夫森算法时候的仿真条件一致。从下面的定位示意图中也能看出来,测量站的位置以及个数,以及目标位置。

测量站的位置:x1 = [0,0];x2 = [0,10];x3 = [10,0];x4 = [10,10];

目标的真实位置:x=[2,3].

信噪比正常定义,设定为30dB,从下图的定位示意图中可以看出,基本可以定位,因为估计出来的目标位置与目标真实位置基本重合,但存在一定的误差。这就要求我们去分析误差,看看什么样的误差我们能够接受,对应的信噪比是多少?

 

从下图的定位误差分析图中可以看出,信噪比为20dB时候的定位误差达到了817m,信噪比为30dB时候的定位误差为253m,这与之前的非线性方法相比,定位误差不相上下,但是与lls方法相比,定位误差小了一些,说明WLLS算法确实定位准确呀。

为了方便使用,可以将WLLS算法编写成一个函数:


  
  1. function x = wlls(X,r,sigma2)
  2. % WLLS algorithm
  3. % --------------------------------
  4. % x = wlls(X,r,sigma2);
  5. % x = 2D position estimate
  6. % X = matrix for receiver positions
  7. % r = TOA measurement vector
  8. % sigma2 = noise variance vector
  9. %
  10. L = size(X,2); % number of receivers
  11. A = [-2*X' ones(L,1)];
  12. b = r.^2-sum(X'.^2,2);
  13. W = 1/4*diag(1./(sigma2.*r.^2));
  14. p = pinv(A'*W*A)*A'*W*b;
  15. x= [p(1) ; p(2)];

 

 

 

 

 

 

 

 

 

 

 

文章来源: reborn.blog.csdn.net,作者:李锐博恩,版权归原作者所有,如需转载,请联系作者。

原文链接:reborn.blog.csdn.net/article/details/84147142

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。