这种类型的仿真,前面已经有两篇了:
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];