我想计算多波束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中做到这一点?
答案 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。