【 模擬 】基於多維相似性分析的移動定位方法模擬
上篇博文是對論文:MOBILE LOCALIZATON METHOD BASED ON MULTIDIMENSIONAL SIMILARITY ANALYSIS做出的筆記,博文地址:https://blog.csdn.net/Reborn_Lee/article/details/84202353#CONCLUSION
宣告:下面的模擬,定位誤差和論文中的有點不一樣,原因是因為目標位置論文沒有給出,只是給出了一個區域範圍,我取這個區域中的任意一點,稍微不一樣也是正常的,但是趨勢都是一樣的。
這篇博文將對論文給出的方法進行模擬,模擬的條件:
三個基站位於(0,0),(2500,4330)和(5000,0),距離測量誤差為高斯分佈,零均值和標準差為30,所有單位 是米。
先給出一次實驗的定位示意圖:
此時,移動站的位置為:x0 = [3000,2000]';
可見,估計出來的目標位置和實際位置重合,故能夠定位。
下面考慮定位的均方根誤差:
為了比較上述兩種方法的效能,將7個移動臺固定在不同的區域座標系的象限中。
移動站的位置分別為:
x_ms1 = [3000,7000]';
x_ms2 = [-1000,3000]';
x_ms3 = [3000,2000]';
x_ms4 = [5000,3000]';
x_ms5 = [-3000,-1000]';
x_ms6 = [3000,-1000]';
x_ms7 = [7000,-1000]';
ms1——ms7對應上圖中的7個區域。座標是這個區域內的任意一個座標。試驗次數300.
模擬結果如下:
下圖中的橫座標是7個區域,可見在目標在每個區域的定位均方根誤差是不同的。
下面是傳統的LLS方法的模擬結果,為了方便比較,橫座標仍然是七個區域,取相同的目標。
LLS演算法的RMSE:
如果認真的比較上面兩個圖可以看出,這篇文章中提出的估計方法的均方差誤差在大多數情況下小於LLS演算法,也就是定位精度會稍微提高了一點。
模擬程式就不給出了,有興趣的私信我即可。
還是給出一次定位的程式吧:
自己編寫的,如果有問題,也可以和我討論:
clc clear close all %measurement platform position x1 = [0,0]'; x2 = [2500,4330]'; x3 = [5000,0]'; L = 3; %the number of measurements platform X = [x1,x2,x3]; %target position x0 = [3000,2000]'; % standard deviation of 30 sigma2 = 900 ; n = sqrt(sigma2).*randn(L,1); %noise vector with standard deviation of 30 dl = sqrt( sum((X'-ones(L,1)*x0').^2,2) ); %the range measurement with free noise rl = dl + n; %the range measurement with noise D = X' - ones(L,1)*X(:,1)'; D = D(2:L,:); D1 = sum( (X(:,2:L)').^2, 2 ); D2 = sum((ones(L-1,1)*X(:,1)').^2 ,2); D3 = ( ones(L-1,1)*rl(1) ).^2 - rl(2:L).^2 ; D0 = D1 - D2 + D3; x = 0.5*pinv(D)*D0; % measurement platform position plot(X(1,:),X(2,:),'d'); axis([-4000,8000,-4000,8000]); xlabel('x(m)');ylabel('y(m)'); hold on %target real position plot(x0(1),x0(2),'*'); hold on %estimation target position plot(x(1),x(2),'bO'); hold off legend('Measurement platform position','Real position','Estimation position');
其實一次定位的程式給出來了,那麼均方根誤差自己就可以根據這個程式改改即可。
原論文地址:https://download.csdn.net/download/reborn_lee/10792598