仿真的条件与之前讲解非线性算法之牛顿——拉夫森算法时候的仿真条件一致。从下面的定位示意图中也能看出来,测量站的位置以及个数,以及目标位置。
测量站的位置:x1 = [0,0];x2 = [0,10];x3 = [10,0];x4 = [10,10];
目标的真实位置:x=[2,3].
信噪比正常定义,设定为30dB,从下图的定位示意图中可以看出,基本可以定位,因为估计出来的目标位置与目标真实位置基本重合,但存在一定的误差。这就要求我们去分析误差,看看什么样的误差我们能够接受,对应的信噪比是多少?
从下图的定位误差分析图中可以看出,信噪比为20dB时候的定位误差达到了1082m,信噪比为30dB时候的定位误差为346m,这与之前的非线性方法相比,定位误差一些,但与LLS不相上下。
子空间方法的函数:
function x = sub(X,r)
% Subspace algorithm
% --------------------------------
% x = sub(X,r);
% x = 2D position estimate
% X = matrix for receiver positions
% r = TOA measurement vector
%
Y = X';
L = size(Y,1); % number of receivers
R = squareform(pdist(Y));
D = zeros(L);
for i=1:Lfor j=1:LD(i,j)=0.5*(r(i)^2+r(j)^2-R(i,j)^2);end
end
% [U,Lamda] = eig(D);
[U,S,V] = svd(D);
Un = U(:,3:end);
x = (Y'*(Un*Un')*ones(L,1))/(ones(L,1)'*(Un*Un')*ones(L,1));
x = x';
其他程序暂时略。