【 MATLAB 】 LLS algorithm Simulation of TOA - Based Positioning

版权声明:本博客内容来自于个人学习过程中的总结,参考了互联网、数据手册、帮助文档、书本以及论文等上的内容,仅供学习交流使用,如有侵权,请联系,我会重写!转载请注明地址! https://blog.csdn.net/Reborn_Lee/article/details/84146976

博文:【 LLS 】Linear Approaches of TOA - Based Positioning

讲解了LLS的TOA定位算法的原理,这里给出MATLAB仿真。

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

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

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

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

从下图的定位误差分析图中可以看出,信噪比为20dB时候的定位误差达到了1km之多,信噪比为30dB时候的定位误差为328m,这与之前的非线性方法相比,定位误差就大了一些,当然我们也能理解,毕竟做了一些线性近似嘛。



定位示意图代码和误差分析代码略。

下面只给出lls算法的代码:

当然,这些程序中都可以主动调用lls算法,可以将lls算法写成一个函数,供调用:

function x = lls(X,r)
% LLS algorithm
% --------------------------------
% x = lls(X,r);
% x = 2D position estimate
% X = receiver position matrix
% r = TOA measurement vector
% 
L = size(X,2); % number of receivers
A = [-2*X' ones(L,1)];
b = r.^2-sum(X'.^2,2);
p = pinv(A'*A)*A'*b;
x= [p(1) ; p(2)];


为什么这么写,原理参见开头推荐的博文。

猜你喜欢

转载自blog.csdn.net/Reborn_Lee/article/details/84146976
toa