当前位置: 代码迷 >> 综合 >> 【 NLS 】Steepest Descent Algorithm Iteration Procedure of TOA - Based Positioning
  详细解决方案

【 NLS 】Steepest Descent Algorithm Iteration Procedure of TOA - Based Positioning

热度:37   发布时间:2023-12-12 21:26:40.0

这种类型的仿真,前面已经有两篇了:

Newton – Raphson Iteration Procedure of TOA - Based Positioning

Gauss-Netwon algorithm Iteration Procedure of TOA - Based Positioning

加上这一批,恰好三篇,三种迭代方法。

总的来源在:NLS ALGORITHMS of TOA - Based Positioning,即非线性的方法进行TOA定位算法。

就TOA而言,这次出来的效果我是最舒服的,尽管精度算不上最好。


仿真的条件同牛顿——拉夫森方法。

先给出定位示意图:

 

可见,目标的实际位置和估计出来的位置重合,可以定位。

再分析最快下降法的收敛情况:

 

可见,30次迭代一定能收敛了。

最后分析均方根误差:

可见,信噪比为20时候的定位均方根误差为826m,信噪比为30时候的均方根误差为265,和其他两种方法相比差不多。

曲线比较光滑,趋势也比较好,深得我爱呀!

从来源:steepest descent 看,最快下降法的迭代公式为:

可见,只需要一个u和梯度矢量即可。

求梯度矢量的公式为:

给出梯度向量的函数:

function g = grad_nls(X,x,r)
% NLS gradient computation
% --------------------------------
% g = grad_nls(X,x,r);
% g = gradient vector 
% X = matrix for receiver positions
% x = 2D position estimate
% r = TOA measurement vector
%
L = size(X,2); % number of receivers
t1 = 0;
t2 = 0;
ds = sum((x*ones(1,L)-X).^2,1);
ds = ds';
for i=1:Lt1 = t1 + (r(i)-ds(i)^(0.5))*(x(1)-X(1,i))/ds(i)^(0.5);t2 = t2 + (r(i)-ds(i)^(0.5))*(x(2)-X(2,i))/ds(i)^(0.5);
end
g=-2.*[t1; t2];

 

 

 

  相关解决方案