如何在本地化问题中计算MSE?

时间:2017-02-10 09:45:17

标签: matlab localization rfid mse

我想计算多波束RFID阅读器的位置报告的均方误差。我使用了8个标签,它们是我确切知道的固定位置(你会在代码中找到它们)。我使用Viusal Studio中的RFID阅读器进行测量,以定位标签位置并保存数据。我将数据导入Matlab,然后将它们绘制在图表上。

现在我想计算本地化的错误。我不确定最好的方法是什么,但我的想法是计算每个修复标记的错误(8),然后对它们求和并得到Reader的全局错误。

这是我的计划:

close all
clc
RealPOSX=[40 31 0 -31 -40 -32 0 +31];
RealPosY=[0 27 40 27 0 -27 -40 -27];
RealTagID=['A3 ' ;'A1 ' ; '9F '  ;'9D ' ; '9B ' ; 'A9 '  ; 'A7 ' ; 'A5 ' ]; 
for i=1:length(XLocalization)
    temp=Epc{i};
    ID(i,:)=temp(end-2:end);
end
colorsR = {[0 0 0], [0 1 0], [1 0 0], [0 0.5 0.5], [0 1 1], [1 1 0], [1 0 1], [0.5 0.5 0]};
for i =1: length(RealPOSX)
    idx = all(ismember(ID,RealTagID(i,:)),2)
    pos=find(idx==1);
    POS{i}=pos;
scatter(RealPOSX(i),RealPosY(i),50,colorsR{i},'*') 
hold on  
scatter(XLocalization(pos),Ylocalization(pos),50,colorsR{i})
end
grid on

以下是测量数据: Measured datas

我希望有人可以帮助我,至少可以提供一些想法,但如果他能提供一些代码,我将非常感激。我已经搜索并尝试了很多,但我自己无法解决这个问题......

总而言之,我想知道读者的准确性。为此,我需要定义已知的固定位置和测量位置之间的局部位置(x,y)的均方误差。我应该怎么在Matlab中做到这一点?

1 个答案:

答案 0 :(得分:0)

统计方式是(如果我弄错了):

假设我们有n次测量(x1,y1),...,(xn,yn)。我们也知道确切的位置(X1,Y1),...,(Xn,Yn)

现在,我们计算误差(RFID测量与实际位置之间的距离):

d1 = sqrt((X1 - x1)^ 2 +(Y1 - y1)^ 2)

...

dn = sqrt((Xn - xn)^ 2 +(Yn - yn)^ 2)

现在我们定义:

SSE =(d1 ^ 2 + ... + dn ^ 2)/ n

MSE = sqrt(SSE)。

在你的情况下,n = 8。