博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【 MATLAB】 Two-step WLS algorithm Simulation of TOA - Based Positioning
阅读量:2027 次
发布时间:2019-04-28

本文共 947 字,大约阅读时间需要 3 分钟。

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

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

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

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

 

 

从下图的定位误差分析图中可以看出,信噪比为20dB时候的定位误差达到了730m,信噪比为30dB时候的定位误差为225m,这与之前的非线性方法相比,定位误差不相上下,但是与lls方法相比,定位误差小了一些,并且甚至比WLLS误差更小了。

 

 



 

 

给出函数:

function x = wls2(X,r,sigma2)% two-step WLS algorithm% --------------------------------% x = wls2(X,r,sigma2)% x = 2D position estimate% X = matrix for receiver positions% r = TOA measurement vector% sigma2 = noise variance vector% L = size(X,2); % number of receivers% first stepA = [-2*X' ones(L,1)];b = r.^2-sum(X'.^2,2);W = (1/4)*diag(1./(sigma2.*r.^2));C = pinv(A'*W*A);z = C*A'*W*b;% second steps = sign(z(1:2));G = [1 0;0 1;1 1];h = [z(1)^2;z(2)^2;z(3)];Phi = pinv(diag([2*z(1:2);1])*C*diag([2*z(1:2);1]));z = pinv(G'*Phi*G)*G'*Phi*h;x = real(sign(s).*sqrt(z));

 

转载地址:http://qijaf.baihongyu.com/

你可能感兴趣的文章
【其他】【PL/SQL Developer】【2】报错Initialization error Could not load ".../oci.dll"解决方法...
查看>>
【Java】【28】提高List的removeAll方法的效率
查看>>
【JS】【28】让输入框只能输入正整数
查看>>
【记录】【4】各种工具
查看>>
【JS】【31】读取json文件
查看>>
Ubuntu Boost 编译
查看>>
MySQL中的行级锁,表级锁,页级锁
查看>>
ORACLE 修改SID
查看>>
OpenCV模块分析(转)
查看>>
聊聊我对写好程序的认识
查看>>
OpenSSL源代码学习[转]
查看>>
插件原理2[转自CSDN]
查看>>
COM编程快速入门[转自VCbase]
查看>>
VBA得到word中的超链接
查看>>
ComBSTR的使用
查看>>
硬回车与软回车[转]
查看>>
OpenCV Windows7 VC6.0安装以及HelloWorld
查看>>
编程技巧之表格驱动编程
查看>>
WSAGetLastError()
查看>>
TCP粘包问题 转自CSDN
查看>>