基于范围估计的大规模RFID系统中位数估计方法与流程

文档序号:11951723阅读:313来源:国知局
基于范围估计的大规模RFID系统中位数估计方法与流程

本发明属于无线网络技术领域,涉及RFID系统的中位数估计问题。



背景技术:

射频识别(Radio-frequency identification,RFID)技术已获得广泛应用。相对于传感器节点,RFID标签具有造价低廉的优点,更适合大规模部署。有一类RFID标签同时具备感知环境参数的能力,如WISP标签,可以同时感知温度、光照强度等。在这类RFID系统中,当RFID标签数量较多时,如何快速估计数据的一些统计量成为一个难题。本发明考虑的统计量为中位数。

目前有两种方法可以用于估计中位数。第一种是让RFID阅读器逐一识别RFID标签并收集标签上的数据,然后由计算机在后台计算中位数。这种方法虽然精度最高,但所需时间与标签数量呈线性增长,仅适用于小规模的RFID系统,当RFID系统的标签数量成千上万时,这种方法需要的时间不足以满足应用需求。

第二种方法是一种基于计数和二分查找的方法。通过二分查找的方式由RFID阅读器发出一系列询问,通过估计回答问题的RFID标签的个数估算中位数(见参考文献[1])。基本思想是,提前告知RFID阅读器中位数可能的范围,然后RFID阅读器从中猜测一个数值,发出指令让小于等于此值的RFID标签回复。通过统计回复情况可以估算有多少个标签的值小于等于猜测值,即做一次计数操作,RFID阅读器据此缩小中位数的范围,再发出下一个询问,直到中位数的范围缩小到用户提供的阈值为止。该方法在估算标签数量时可以使用短时隙,比逐一阅读标签时采用的长时隙耗时短,所以应用到大规模RFID系统中时相对于第一种方法可以节省时间。

第二种方法的缺点是输出的中位数的估值误差较大。由于二分查找的对象是中位数,任何一次判断失误将延续到后续的询问中,而出现一次失误的概率较大,因为每次询问依赖于RFID计数,而RFID计数的误差无法避免。此外,目前的计数方法的时间开销与标签数量相关,当RFID标签个数很大时,该方法依然无法避免耗时过长的缺点。

参考文献

[1].Huda El Hag Mustafa,Xiaojun Zhu,Qun Li,and Guihai Chen."Efficient median estimation for large-scale sensor RFID systems."International Journal of Sensor Networks,12(3),pages 171-183,2012.



技术实现要素:

本发明目的是:克服已有方法缺点,提出了一种基于范围估计的大规模RFID系统中位数估计方法相对较精确、耗时与RFID标签个数无关的大规模RFID系统的中位数估计方法。在准确度方面,本发明介于基于计数与二分查找的方法和逐一读取RFID标签数据的方法之间。在耗时方面,本发明比已有方法短,且时长与RFID标签的数量无关。本发明可应用于大规模或超大规模RFID系统的中位数估计,当RFID系统的数据呈对称分布时本发明的准确度最高。

本发明的技术方案如下:基于范围估计的大规模RFID系统中位数估计方法,将大规模RFID系统的中位数估计问题转换为最大值与最小值的估计,即范围估计问题;具体步骤如下:

步骤一、初步估计阶段,由RFID阅读器不断发布包含n0个短时隙的帧,让RFID标签根据值的大小选择一个时隙回复的方式估计最大值与最小值;其中n0是方程n ln(n)=n+t2/t1的根按四舍五入的方法取整后的正整数,t1为RFID阅读器支持的短时隙的时长,t2为RFID阅读器支持的帧与帧之间最短的时间间隔;

步骤二、精确估计阶段,RFID阅读器不断发布包含2n1个短时隙的帧同时对最大值与最小值的估计进行校准,其中前n1个时隙对最小值的估计进行校准,后n1个时隙对最大值的估计进行校准;n1是方程n ln(n)=n+t2/(2t1)的根按四舍五入的方法取整后的正整数;

步骤三、在步骤一和步骤三中,当消耗时间等于或大于用户提供的截止时间t时,中断估计,将估计范围的中值作为中位数的估计值。

进一步的,步骤一、初步估计阶段具体如下:

(1)RFID阅读器发出一个包含n0个短时隙的帧,时隙编号从0到n0-1,所有RFID标签均要挑选一个时隙回复信号,对于值为p的标签应当在第个时隙回复一个信号给RFID阅读器;其中:为向下取整运算符,x为RFID标签数据的下界,y为RFID标签数据的上界,n0是方程n ln(n)=n+t2/t1的根按四舍五入的方法取整后的正整数,t1为RFID阅读器支持的短时隙的时长,t2为RFID阅读器支持的帧与帧之间最短的时间间隔;

(2)RFID阅读器根据帧内的时隙是否有标签回复来修正数据的范围;令i和j分别为第1个和最后一个有信号的时隙的编号;若i和j相等,执行步骤(3);若i和j不相等,执行步骤(4);

(3)RFID阅读器更新x和y的估算值;令x+=x+(y-x)/n0*i,y+=x+(y-x)/n0*(i+1),其中x和y是步骤(1)中的对应变量;更新x的值为x+,更新y的值为y+;若当前尚未超过用户提供的截止时间t,则继续执行步骤(1),(2);若已等于或大于用户提供的截止时间t,跳转到步骤三;

(4)设置x1=x+(y-x)/n0*i,y1=x+(y-x)/n0*(i+1),x2=x+(y-x)/n0*j,y2=x+(y-x)/n0*(j+1),其中x和y是步骤(1)中的对应变量;跳转到步骤二;

步骤二、精确估计阶段具体如下:

(5)RFID阅读器发出一个包含2n1个短时隙的帧,对于值为p的标签,执行的操作如下:若x1≤p<y1,则标签在第个时隙回复信号给RFID阅读器;若x2≤p<y2,则标签在第个时隙回复信号给RFID阅读器;若p在其他范围内,则标签不回复;n1是方程n ln(n)=n+t2/(2t1)的根按四舍五入的方法取整后的正整数;

(6)RFID阅读器检查帧内的每个时隙查看是否有标签回复;设置i为第1个有信号的时隙的编号,j为最后一个有信号的时隙的编号;阅读器计算四个数字x1+(y1-x1)/n1*i,x1+(y1-x1)/n1*(i+1),x2+(y2-x2)/n1*(j-n1),x2+(y2-x2)/n1*(j-n1+1),并分别更新为x1,y1,x2,y2的新值;若已等于或大于用户提供的截止时间t,则跳转到步骤三;否则跳转到步骤(5);

步骤三、若在步骤一消耗时间等于或大于用户提供的截止时间t,则RFID阅读器将(x+y)/2作为中位数;若在步骤三消耗时间等于或大于用户提供的截止时间t,则估算的中位数为(x1+x2+y1+y2)/4。

本发明的有益效果包括:

(1)本发明的精确度高,尤其对于RFID感知到的数据服从对称分布时,如均匀分布、高斯分布。这是因为本发明在询问标签数据时关注的是值的区间范围,而不是中位数,从而消除了多轮询问中间步骤出错的可能性。

(2)本发明的耗时显著优于已有方法。这得益于两个新颖的设计,一是每次估计时在同一帧内估计最大值和最小值,从而避免了帧与帧之间切换的额外开销,二是采用了最优的帧大小,从而可以从理论上保证所需时隙的总个数最小。

附图说明

图1为本发明的流程图,其中n0和n1分别为最接近方程x ln(x)-x=t2/t1和方程x ln(x)-x=t2/(2t1)的根的正整数。

图2为本发明的一个典型的误差直方图。

具体实施方式

下面结合附图对本发明做进一步的说明。

分为四个阶段,初始化、初步估计、精确估计、结束,参见附图1。

1.初始化

1.1测量RFID阅读器短时隙的时长t1,帧与帧之间最短的时间间隔t2。一般这两个数据也可以从RFID阅读器的使用手册中查询得到。

1.2从用户处获得本次中位数估计的最长耗时t,以及RFID标签数据的范围,记下界为x,上界为y。比如,若测量的是湖泊的水温,则数据范围应当在0-100度之间,从而x=0,y=100。如果用户未提供数据范围,则将范围设置为最大范围,即,RFID标签上的相应传感器能够表示的值的范围。一般此处获得的范围比真实范围要大很多,比如真实范围可能在25到30,而用户提供的范围可能是0到100,因此需要在阶段2进行初步校准。

1.3求解关于未知数n的方程n ln(n)=n+t2/t1,此方程仅有一个正根,可采用数值算法求解。将根按四舍五入的方法取整,记取整后的根为n0。类似地,记n1为关于n的方程n ln(n)=n+t2/(2t1)的根经过四舍五入后的整数。

2.初步估计

2.1RFID阅读器发出一个包含n0个短时隙的帧(时隙编号从0到n0-1),所有RFID标签均要挑选一个时隙回复信号,值为p的标签应当在第个时隙回复一个信号给RFID阅读器,其中为向下取整运算符。

2.2RFID阅读器根据帧内的时隙是否有标签回复来修正数据的范围。令i和j分别为第1个和最后一个有信号的时隙的编号。若i和j相等,执行第2.3步;若i和j不相等,执行第2.4步。

2.3RFID阅读器更新x和y的估算值。令x+=x+(y-x)/n0*i,y+=x+(y-x)/n0*(i+1),其中x和y是步骤2.1中的对应变量。更新x的值为x+,更新y的值为y+。若当前尚未超过用户提供的截止时间t,则继续执行步骤2.1,2.2;若已经超时,跳转到步骤4。

2.4设置x1=x+(y-x)/n0*i,y1=x+(y-x)/n0*(i+1),x2=x+(y-x)/n0*j,y2=x+(y-x)/n0*(j+1),其中x和y是步骤2.1中的对应变量。跳转到阶段3。

3.精确估计

3.1RFID阅读器发出一个包含2n1个短时隙的帧,不同于步骤2.1,此时并不是所有标签都要回复。对值为p的标签,其执行的操作如下:若x1≤p<y1,则标签在第个时隙回复信号给RFID阅读器;若x2≤p<y2,则标签在第个时隙回复信号给RFID阅读器;若p在其他范围内,则标签不回复。

3.2RFID阅读器检查帧内的每个时隙查看是否有标签回复。设置i为第1个有信号的时隙的编号,j为最后一个有信号的时隙的编号。阅读器计算四个数字x1+(y1-x1)/n1*i,x1+(y1-x1)/n1*(i+1),x2+(y2-x2)/n1*(j-n1),x2+(y2-x2)/n1*(j-n1+1),并分别更新为x1,y1,x2,y2的新值。

3.3若已超过用户允许的时间t,则跳转到阶段4.否则跳转到步骤3.1.

4.结束

若在阶段2超时,则RFID阅读器将(x+y)/2作为中位数;若在阶段3超时,则估算的中位数为(x1+x2+y1+y2)/4。

本发明的效果可以用以下仿真实验进一步说明。

在仿真中,RFID标签的个数为10000个。根据EPCglobal C1G2标准,短时隙长度t1为0.4ms,长时隙为0.8ms,帧与帧之间的最短时间t2为1ms。数据的真实分布为介于20到50的均匀分布,而用户提供的初始范围为-100到100。运行1000次实验,研究本发明的误差分布情况。值得一提的是,若采用逐一读取数据的方法,则在信号无任何丢失的情况下,读取10000个标签的数据至少需要耗时10000*(0.8+1)ms=18s。附图2显示的是用户要求10ms内(不足18s的0.06%)返回结果时,本发明的误差分布直方图。可以看到在1000次实验中,最大误差不超过0.6,若以真实区间长度为分母,则误差不超过2%。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1