本发明涉及了一种基于大规模rfid系统中标签估算和时隙配对的算法,来提高rfid系统的识别时间效率,广泛适用于大规模rfid系统。
背景技术:
射频识别(radiofrdqudncyiddntification)对于很多应用来说是一种有前景、实用和强大的技术。2l世纪的今天,rfid技术在国内市场的发展前景是巨大的。同时rfid技术也可以更加轻松,灵活地将被标记的“事物”变成一种智能化项目,通常标签会被附加到动态或者静态的“对象”上。rfid系统已经被广泛应用于跟踪和管理,并被广泛应用在制造业、自动化仓库管理、零售、自动检测丢失物品和商品识别等领域,具有重要的研究价值。因此,提高rfid系统的识别效率和准确度以及海量标签防碰撞具有重要的研究意义。rfid系统在应用于自动化仓库管理领域时,仓库中的产品需要统计,如何利用rfid系统实现对仓库产品的读数是研究热点。
技术实现要素:
本发明目的是提供一种对仓库中的部分产品进行读数的方法,具体为一种基于大规模rfid系统中标签估算和时隙配对的算法。
本发明是采用如下技术方案实现的:一种基于大规模rfid系统中标签估算和时隙配对的算法,包括以下步骤:
s1:设定整个仓库内的标签数目为a,在仓库中选定任一区域并对该选定区域内产品上的标签持续监测,被选定区域内的标签数目为m;
s2:阅读器对仓库内的标签发送一个请求命令;
s3:仓库内的标签接收到阅读器的请求命令之后返回一个响应,为避免返回响应造成通讯冲突,标签使用哈希函数h和随机数r、帧长f以及标签的id,进行时隙映射h(id,r)modf,时隙的响应情况分为单时隙(只有一个标签在此时隙响应)、冲突时隙(大于等于两个标签在此时隙响应)、空时隙(没有标签在此时隙响应);
s4:当第一次时隙映射完成之后,会有大量的冲突时隙和空时隙,针对第一个冲突时隙,假设有k个标签冲突,随机移出k-1个标签到空时隙,通过配对把冲突时隙变成单时隙,再针对第二个冲突时隙,假设有k个标签冲突,随机移出k-1个标签到空时隙,通过配对把冲突时隙变成单时隙,依次进行配对把冲突时隙变成单时隙,直至将最后一个冲突时隙变成单时隙;
s5:定义m代表初始状态下仓库内的标签的集合,s表示初始状态存在但现在时刻不存在的仓库内丢失标签的集合,d表示初始状态存在现在时刻也存在的仓库内标签的集合,c表示一段时间后,现在时刻仓库内标签的集合,设定指示向量km[]表示初始状态的时隙映射情况,指示向量kc[]表示现在时刻的时隙映射情况,在指示向量中0表示空时隙,1表示单时隙,将指示向量km[]和指示向量kc[]对比,得到标签进行时隙映射后,时隙的配对观测值x1,0和x1,1,x1,0表示初始状态存在现在时刻不存在于仓库内(km[]=1,kc[]=0)的单时隙数目,x1,1表示一直存在于仓库内的单时隙数目;
s6:对于任意一个现在时刻不在的标签,它所映射到的时隙不被其他标签选择的概率为
s7:利用期望值和指示向量指示的时隙数量估计选定区域现有标签数量并根据中心极限定理求出
s8:通过已经获得了选定区域现有标签的数量,可以使用方程m=s+d对丢失标签进行估数,但是,由于d值是由估计值算出,因此直接使用上述式子会导致计算的准确度不高,因此继续使用指示向量的值代入来进行计算
s9:估算结束,得出选定区域内现存标签(产品)的数目d′和丢失标签(产品)的数目s′。
本发明设计的基于大规模rfid系统中标签估算和时隙配对算法主要包含三个部分,第一部分是时隙配对,在标签响应阅读器进行时隙映射后,进行时隙配对以构造更多的单时隙;第二部分是存在标签的估计,根据时隙映射和指示向量的指示情况,使用数学中的期望和方差以及中心极限定理进行估算;第三部分是丢失标签的估计,本部分原理与第二部分相同,也是根据求指示向量的期望值对标签进行估计。
在大型rfid系统中,通常只需要部分产品信息,因此可以专注于产品的一个子集而不是所有仓库的产品。本发明方法就是监测某一部分的标签集,使用指示向量来指示标签映射的情况,通过求指示向量的期望值来近似估计监测的标签集合中标签数目的变动情况。本算法执行时间短,精确度高,在一定程度上提升了时间效率,降低了系统成本。
附图说明
图1为时隙配对原理示例图。
图2为标签估计原理算法示例。
具体实施方式
一种基于大规模rfid系统中标签估算和时隙配对的算法,包括以下步骤:
s1:设定整个仓库内的标签数目为a,在仓库中选定任一区域并对该选定区域内产品上的标签持续监测,被选定区域内的标签数目为m。
s2:阅读器对仓库内的标签发送一个请求命令。
s3:仓库内标签接收到阅读器的请求之后返回一个响应,由于同时返回响应会造成通讯冲突,通过构造一个帧(一个帧由若干个时隙构成,标签映射到时隙中)来使得标签按照一定序列回复阅读器的请求,减少冲突情况的发生,标签使用哈希函数h和随机数r、帧长f以及标签的id,选择一个时隙进行与阅读器的通讯也就是时隙映射,选择哪一个时隙进行映射的公式为h(id,r)modf。根据时隙的响应情况分为单时隙(只有一个标签在此时隙响应)、冲突时隙(大于等于两个标签在此时隙响应)、空时隙(没有标签在此时隙响应)其中只有单时隙为有用时隙,可以用于随后的估数。
s4:虽然增加帧的长度可以增加单时隙的数目,但是时间开销也会随之增长,因此可以在不增长帧长度的情况下增加单时隙数目,即本发明所提出的时隙配对方法。当第一次时隙映射完成之后,会有大量的冲突时隙和空时隙,针对第一个冲突时隙,假设有k个标签冲突,随机移出k-1个标签到空时隙,通过配对把冲突时隙变成单时隙,再针对第二个冲突时隙,假设有k个标签冲突,随机移出k-1个标签到空时隙,通过配对把冲突时隙变成单时隙,依次进行配对把冲突时隙变成单时隙,直至将最后一个冲突时隙变成单时隙。
时隙配对的方法给标签提供了第二次机会,选择一个原始的冲突时隙来重新选择其他空时隙,这可以获得更多的单时隙。图1给出了时隙配对方法的一个示例用来解释说明本时隙配对方法。
s5:构造了足够的单时隙后,下面进行估算,估算是需要使用到几个标签集合。定义m代表初始状态下仓库内的标签的集合,s表示初始状态存在但现在不存在的仓库内丢失标签的集合,d表示初始状态存在现在也存在的仓库内标签的集合,c表示一段时间后,现在时刻区域内标签的仓库内集合。
已知最初集合m中的标签id,在每个帧具有f个时隙(0,f-1),标签会被随机映射到h(id,r)modf的位置,并且结果遵循(0,f-1)内的分布。设定指示向量km[]表示初始状态的时隙映射情况,指示向量kc[]表示现在时刻的时隙映射情况,指示向量kc[]可获取实时时隙状态,在指示向量中0表示空时隙,1表示单时隙,将指示向量km[]和指示向量kc[]对比,得到标签进行时隙映射后,时隙的配对观测值x1,0和x1,1,x1,0表示现在时刻并不存在于当前区域(km[]=1,kc[]=0)的单时隙数目,x1,1表示一直存在于当前区域的单时隙数目。
s6:对于任意一个现在时刻不在的标签,它所映射到的时隙不被其他标签选择的概率为
s7:利用期望值和指示向量指示的时隙数量估计选定区域现有标签数量并根据中心极限定理上述式子推导出式子求出
s8:通过已经获得了现有标签的数量,可以使用方程m=s+d对丢失标签进行估数,但是,由于d值是由估计值算出,因此直接使用上述式子会导致计算的准确度不高,因此继续使用指示向量的值代入来进行估算
9、估算结束,得出选定区域内现存标签(货物)的数目d′和丢失标签(货物)的数目s′。