本文共 1823 字,大约阅读时间需要 6 分钟。
由博文可知:
Newton – Raphson Iteration:
(6)
(7)
(8)
(9)
(10)
对应的 MATLAB 函数:
function H = hessian_ml(X,x,r,sigma2)% ML Hessian matrix computation% --------------------------------% H = hessian_ml(X,x,r,sigma2)% H = Hessian matrix % X = matrix for receiver positions% x = 2D position estimate% r = TOA measurement vector% sigma2 = noise variance vector%L = size(X,2); % number of receiverst1 = 0;t2 = 0;t3 =0;ds = sum((x*ones(1,L)-X).^2,1);ds = ds';for i=1:L t1 = t1 + (1/sigma2(i))*((x(1)-X(1,i))^2/ds(i)-(r(i)-ds(i)^(0.5))*(x(2)-X(2,i))^2/ds(i)^(1.5)); t2 = t2 + (1/sigma2(i))*((x(2)-X(2,i))^2/ds(i)-(r(i)-ds(i)^(0.5))*(x(1)-X(1,i))^2/ds(i)^(1.5)); t3 = t3 + (1/sigma2(i))*(r(i)*(x(1)-X(1,i))*(x(2)-X(2,i))/ds(i)^(1.5));endH=2.*[t1 t3; t3 t2];
function g = grad_ml(X,x,r,sigma2)% ML gradient computation% --------------------------------% g = grad_ml(X,x,r);% g = gradient vector % X = matrix for receiver positions% x = 2D position estimate% r = TOA measurement vector% sigma2 = noise variance vector%L = size(X,2); % number of receiverst1 = 0;t2 = 0;ds = sum((x*ones(1,L)-X).^2,1);ds = ds';for i=1:L t1 = t1 + (1/sigma2(i))*(r(i)-ds(i)^(0.5))*(x(1)-X(1,i))/ds(i)^(0.5); t2 = t2 + (1/sigma2(i))*(r(i)-ds(i)^(0.5))*(x(2)-X(2,i))/ds(i)^(0.5);endg=-2.*[t1; t2];
先给出一次定位示意图:
定位条件:
Illustration of ML Approach for TOA - Based Positioning in a Single Trial
Consider a 2 - D geometry of L = 4 receivers with known coordinates at (0, 0), (0,10), (10, 0), and (10, 10), while the unknown source position is ( x , y ) = (2, 3).
Note that the source is located inside the square bounded by the four receivers. For presentation simplicity, the range error variance,,is assigned proportional to .
and we define the signal - to - noise ratio ( SNR ) as .
可见,目标真实位置和估计出来的位置重合,可以定位,只不过有点误差而已。
下面分析误差:
做这个测量均方根误差的实验,定位了100次。
转载地址:http://tijaf.baihongyu.com/