我正在尝试估计一个点的位置在 Matlab 中。我有已知位置的接入点 (AP) () 以及到该点的距离从每个 AP。这些距离都有距离误差。如果来自已知节点的圆圈相交,我知道如何使用多点测量来解决这个问题,但它们不会。
距离是根据 RSSI 测量值(接收到的信号强度指示)计算得出的,并且可能会被加权(如果 RSSI 高,则权重更大)。
请参阅下面的代码。请注意,我没有对 RSSI 测量值进行加权。我正在创建一个错误函数,其中和是该点的未知坐标。和是 AP 的已知坐标。我想总结所有错误并找到和最小化误差函数,但不确定如何在 Matlab 中执行此操作。
for n=1:N % N - number of APs
d(n)=getDistance(rssi(n),tx,2);
err=@(px,py) sqrt((x(n)-px).^2+(y(n)-py).^2)-d(n);
end
err=sum(err); % this doesn't work obviously
x0 = [xp_true(k),yp_true(k)];
out= fminunc(err,x0);
xp(k,sample)=out(1);
yp(k,sample)=out(2);