高频/超高频RFID识别系统中的多标签防碰撞方法与流程

文档序号:15258042发布日期:2018-08-24 20:58阅读:418来源:国知局
本发明涉及rfid标签
技术领域
,特别涉及一种高频/超高频rfid识别系统中的多标签防碰撞方法。
背景技术
:rfid标签本身有一些限制和制约因素如:rfid系统的通讯宽带不能无限的扩大,传递消息的特性也受限;读取范围内的标签数量未知;低成本标签的内存和读写能力有限;标签不具有载波监听功能、标签和标签之间不能通讯。由于这些条件的限制和成本的限制,促使防碰撞算法的研究的重要性,目前使用碰撞算法解决碰撞问题的主要分为二类,基于树的确定性算法和基于aloha概率算法,但基于树的确定性算法需要识别查询区域内的所有标签,复杂度高且延时较长,基于aloha概率算法在大量标签的情况下会严重加剧读写器运算负担,并不适用于物联网中的大数据环境。rfid实际应用中,电子标签处于移动的动态和工作环境中,在通信中途随时可能有新的标签进入或超出读写的工作范围,多个标签之间通过竞争方式与读写器进行通信,因此就有冲撞产生,而防冲撞算法就是要完成标签的顺利通信。电子标签要将数据很准确的传给读写器,需要满足通信过程中的最大速率c。最大速率是由标签天线的带宽b和读写天线的联系所决定:c=b·log2(1+s/n)(s/n的信噪比),因此在实际运作中研究防碰撞算法是确保实现多路存取成功,成为rfid系统研究的重要问题。rfid标签本身有一些限制和制约因素如:rfid系统的通讯宽带不能无限的扩大,传递消息的特性也受限;读取范围内的标签数量未知;低成本标签的内存和读写能力有限;标签不具有载波监听功能、标签和标签之间不能通讯。由于这些条件的限制和成本的限制,促使这项课题进行研究更困难,目前使用碰撞算法解决碰撞问题的主要分为二类:第一类:基于树的确定性算法:基于树的确定性算法对芯片有要求,因此不适宜做一种推广的定制,但研究是可以的。包括查询树算法、二进制树算、搜索树算法和碰撞树算法等,但基于树的确定性算法需要识别查询区域内的所有标签,复杂度高且延时较长。第二类:基于aloha概率算法aloha概率性算法不易受到标签id位数的影响,更适用于如今的物联网大数据信息采集应用。典型的aloha算法有纯aloha(purealoha,pa)算法、时隙aloha(slotedaloha,sa)算法、帧时隙aloha(framedslotedaloha,fsaf)算法和动态帧时隙aloha(dynamicframedslotedaloha,dfsa)算法.pa算法中标签将自身id随机发送给读写器,然后等待响应,如果标签在发送信息的过程中其他的标签也在发送,那么可能导致部分碰撞或完全碰撞,系统吞吐率较低;为避免部分碰撞,sa算法将时间分成多个离散时隙,使标签在每个离散时隙的起始处同时传送id;fsa算法在sa算法的基础上,将多个时隙划分为一帧每个标签只在每一帧中响应一次,若在当前帧中发生碰撞,则在下一帧中重新选择一个时隙,避免了标签频繁发生碰撞;dfsa算法是对fas算法的改进,使帧长尽可能地等于待读标签数。考虑到大量碰撞时隙和空闲时隙对系统效率的影响,研究人员还提出了不等长的dfsa算法,通过时隙内部机制,减少无效碰撞时隙和空闲时隙数,使系统性能得到显著改善,如epcc1g2的q算法。q算法通过时隙内的预测机制调整q值,进而达到调整帧长的目的,但仍存在较多的碰撞时隙和空闲时隙.且每个时隙结束后都需要计算q值和参数c,在大量标签的情况下会严重加剧读写器运算负担,并不适用于物联网中的大数据环境。技术实现要素:本发明的目的旨在至少解决所述技术缺陷之一。为此,本发明的目的在于提出一种高频/超高频rfid识别系统中的多标签防碰撞方法。为了实现上述目的,本发明的实施例提供一种高频/超高频rfid识别系统中的多标签防碰撞方法,包括如下步骤:步骤s1,在rfid识别系统中,rfid读写器向rfid发送请求指令,该请求指令向所述rfid标签提供初始帧长度l和用来选择时隙的随机数;步骤s2,每个所述rfid标签根据接收到指令随机选择时隙向所述rfid阅读器发送信息;步骤s3,所述rfid阅读器设置rfid标签数量的初始均匀分布函;步骤s4,所述rfid阅读器根据接收到的信息更新rfid标签数量的均匀分布函数;步骤s5,根据更新的rfid标签数量的均匀分布函数和已经被识别的rfid标签的数量,调整下一帧的长度;步骤s6,如果判断还有标签碰撞情况发生,则返回步骤s4,若没有碰撞,则判断标签识别完毕。进一步,所述rfid阅读器获取信息包括:最近一帧中成功、空闲和碰撞这3种情况下各自的时隙数,若多个信息帧的时隙效率为n,则读n个标签时在每个信息帧内成功、空闲和碰撞时隙数分别为ak=n-a0-a1。进一步,所述rfid标签数量的均匀分布函数选用哈希函数h,并根据所述均匀分布函数h利用数学期望来估计标签个数,以去除标签的随机性带来的算法误差。进一步,在所述步骤s2中,假设一帧含有n个时隙,共有n个待检测的标签,用l近似表示帧长,每个标签以均等的概率来随机选择一帧中的某个时隙发送数据,得到在一个时隙里有k个标签同时发送数据的概率为由上式定义rfid系统吞吐率进一步,在所述步骤s2中,所述rfid标签在接收到来自rfid读写器的随机数sn后,将时隙序号存储在随机数sn中,并发送至所述rfid读写器,其中,sn为“0”、“1”二值数。进一步,所述rfid读写器接收到sn后启动一个新时隙,判断标签随机数sn的值是否为0,如果是则rfid标签发送标识符号,否则标签随机数sn的值减一,不发送标识符号;在rfid标签发送标识符号后,判断是否无碰撞冲突发生,识别成功,如果是则rfid标签立即进入休眠状态,否则等待rfid阅读器重新开始一个帧。进一步,所述rfid读写器接收到sn后启动一个新时隙之后,进一步判断该帧是否结束,如果是则判断rfid阅读器是否未收到任何标签信号,如果未收到任何标签信号则识别结束,否则等待rfid阅读器重新开始一个帧。根据本发明实施例的高频/超高频rfid识别系统中的多标签防碰撞方法,是连续空闲时隙的预测算法即哈希函数算法,这个算法简单、均匀、有构造库,因而可以加快跳过无效时隙。在大规模的标签下,仍保持有较高的吞吐率可以稳定在63%,与之前的算法相比,本发明提出的算法在提高算法吞吐率、传输开销和延时都具有一定的优越性。无线射频识别系统要实现同时阅读现场多个标签的关键技术在于找到防冲撞算法来表明解决标签发数据的冲突问题。在rfid系统中帧时隙aloha算法的基础上,本发明不仅能够充分利用读写器在与之前帧收集的信息,而且标签前帧的信息保留,作为与前的先验信息,再根据h函数对标签个数进行估计,并动态调整帧长,该算法能够更加精准地估计标签个数,提高系统的吞吐率,加快标签的识别速度。本发明解决动态时隙aloha算法在标签数增加过大或在大数量标签存在所需时隙增长慢的问题。首先以哈希函数为分配原则,对标签进行时隙分配,以减少发生碰撞的标签数,然后根据碰撞时隙中平均值与碰撞时隙所占比例,空闲时隙所占比例的关系,估计方法产生的误差率较小,采用本发明可将帧长时隙数设置为标签的1.6倍,将标签识别率控制在500us,当帧长等于标签数时,每个标签的平均识别时间大约在600us。这就是这个算法有相当大的推广价值。本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。附图说明本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:图1为根据本发明实施例的高频/超高频rfid识别系统中的多标签防碰撞方法的流程图;图2为根据本发明实施例的帧时隙aloha算法的流程图;图3为根据本发明实施例的哈希函数核心算法的流程图;图4为根据本发明实施例的rfid系统内读写器的吞吐量的示意图;图5为根据本发明实施例的256个标签下采用哈希函数后系统的系统测试效率;图6为根据本发明实施例的512以内标签下采用哈希函数后系统的系统测试效率;图7为根据本发明实施例的512时标签下采用哈希函数后系统的系统测试效率。具体实施方式下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。本发明实施例提出一种高频/超高频rfid识别系统中的多标签防碰撞方法,该方法是基于连续空闲时隙的预测算法即哈希函数算法,这个算法简单、均匀、有构造库,因而可以加快跳过无效时隙,我们研究的方法在大规模的标签下,仍保持有较高的吞吐率可以稳定在63%,与之前的算法相比,本发明提出的算法在提高算法吞吐率、传输开销和延时都具有一定的优越性。以dfsa算法为例来证明系统的延时和效率问题。假设在dfsa算法的防碰撞系统中,帧长为l,待识别标签数为n,那么一帧中某个时隙为空闲时隙、可读时隙和碰撞时隙的概率分别为因此,一帧中平均的空闲时隙、可读时隙和碰撞时隙数目分别为ak(l,n)=lpk(6)定义系统时延定义系统效率在rfid系统中,标签到达读写器的信息并不是大量连续不断的,因此很难抽象为某种随机过程,但标签会根据接收到的读写器指令中的帧长度信息,在该帧长范围内产生一个随机数,该随机数在帧长范围内平均分布。根据这一点,对发生碰撞的时隙中可能存在的标签数目做如下估计:若n个标签处于读写器有效区域内,则选择一帧中k个标签选择时隙i的概率为若时隙i中发生碰撞,可知选择时隙i的标签数目不少于2,从而可推知分布函数为pk{k个标签选择时隙i有碰撞发生}=则时隙i中的标签数目平均为再由式(10)得若要获得最大系统效率s,要使ds/dn=0(13)由式(5),式(8),式(13)得从而有根据麦克劳林展开式有eχ≈1+χ(16)令则有再由式(15),式(17)有n=n+1≈n(n>>1)(18)由上面的推导可知,若某时隙为空,则选择该时隙的标签数为零;若信息正确接收,则该时隙中标签数目为1;若有碰撞发生,则可估计该时隙中的标签数目为b个。当帧时隙数和标签数越相近时,系统效率越高。由此可估计未识别的标签数目为n0=bc2(19)其中,c2为发生碰撞的时隙数,从而就能根据估计的签数目,确定下一帧的长度。在rfid动态帧时隙aloha中,若一个帧的时隙数相比于标签数过长,则空时隙过多,相反,则冲突时隙又过多,这均会导致标签识别效率降低。因此,帧长与标签数应满足一定比例关系。从系统最大信道利用率的角度出发,推导出若干标签数和帧长关系式,这些文献假设了空时隙、冲突时隙和可读时隙所占用的时间都相同,或冲突时隙和可读时隙的时间相同,然而,为了提高信道利用率,有时并不一定要把这些时隙的时间设为一样。在iso18000-6c和epcc1gen2标准中,冲突时隙、空时隙和可读时隙所占用的时间就不一样。在这样的标准系统中,标签先向阅读器发送16位随机码rn16,若阅读器没有接收到任何信息,则提前终止时隙;若正确接收到,标签再发送64位epc数据;若发生冲突,则不再发送epc。因此,该系统的空时隙时间最短,其次是冲突时隙,可读时隙的时间最长。通过分析已知,要获得最大的系统性只需在每个识别周期内读取标签数量最接近的帧的大小即可,因此本发明提出一个具体的帧长调整方案。由于标签选择的随机性,促使当标签数量增加过多时,碰撞发生的概率增大,若通过一种科学的时隙分配方法实现如下功能在时隙比标签较少时,大部分标签能够跟配到唯一的时隙上时这样就大大的减少了碰撞发生的概率,缩短读写的识别时间,增高识别率,并且碰撞发生时读写器能统计出本周期出现碰撞时隙的量ck,可读时隙数量c1及空时隙c0,根据统计理论和上述三个参数,计算读取标签的数量cc。如前所述,减少碰撞的最理想情况,帧长应和出现在读与识别这范围的标签参数基本相等,标签能均匀地分布在不同时隙中发送信息。本发明使用哈希函数的构造方法来分配时隙,函数的选择标准是:一、要求简单,简单是哈希函数计算简单、快速;二、要求均匀,是指哈希函数可以等概率将标签分配到时隙中,促使碰撞的最小化。哈希函数h(id)=(id/w)/[l],其中id表示标签的唯一识别码,w为读写器发送给标签与运算的正整数,l表示帧长。一般的线性表,树中,记录在结构中的相对位置是随机的,即和记录的关键字之间不存在确定的关系,因此,在结构中查找记录时需进行一系列和关键字的比较。这一类查找方法建立在“比较“的基础上,查找的效率依赖于查找过程中所进行的比较次数。理想的情况是能直接找到需要的记录,因此必须在记录的存储位置和它的关键字之间建立一个确定的对应关系f,使每个关键字和结构中一个唯一的存储位置相对应。哈希函数就是一种理想情况,在实际应用中,读写器范围的标签数量是未知的,要解决rfid得碰撞问题,因此要对标签数进行预测,目前的预测方法有以下几种方法:最差预测(也称最预测)一个碰撞时隙中至少存在两个以上的标签发生碰撞,可以预测碰撞标签为2×n;一般预测(也称泊松概率)即在每个信息帧中每个标签选择的时隙存入λ=1的泊松分布,则信息帧中各冲突时隙平均响应的标签个数均为2.39,可以预测碰撞时隙中响应的标签为2.39×n;若完成则证明标签识别结束。图3为根据本发明实施例的哈希函数核心算法的流程图。通过分析可知,为了得到更好的系统性能,只要在每个识别周期内取得和标签数量最接近的帧长,就可以得到很好的结果。实际情况中,由于每个标签距读写器的距离不同,近距离标签发出的信,可能覆盖了远距离标签发出的信,即时隙冲突,读写器也可能正确的识别近距离标签的信息,同样由于其它环境噪声的影响即是在时隙中只有一个标签应答,读写器也可能没有读到。在两种极端情况和噪声的影响。若多个信息帧的时隙效率为n,则读n个标签时在每个信息帧内成功、空闲和冲突时隙数分别为ak=n-a0-a1因此rfid系统内读写器的吞吐率也称识别率(在一个信息帧长的时间内能成功识别标签数的比例)则最大吞吐率可对n求导:图4为根据本发明实施例的rfid系统内读写器的吞吐量的示意图。一般文献中在做空闲时隙,碰撞时隙和有效时隙要求所占用时间都相同或碰撞时隙和有效时隙时间都相同,推导出若干标签和帧长的关系式,从而获得最大利用率,这种操作法并不科学,在iso18000-6c和epcc1gen2标准中,其碰撞时隙、空闲时隙和有效时隙所占时间是不同的,标准规定,标签选后阅读器发16位随机码rv16,若读写器没有收到任何信息,则提前终止时隙,若正确接收到信息,标签再发出64位epc数据,若发生冲突则不发epc,因此我们可以看到标准中对应空闲时隙有最短时隙,而在冲撞时有效时隙则能最长。通过得到碰撞算法时隙的平均估值e和与冲撞时隙所占比例p0,空闲时隙所占比例pc的关系估计出识别的标签数,帧长度不同时,估计标签数与实际之间的值差。信噪利用率用下式表达:其中t0空隙时隙,t1碰撞时隙,ck有效时隙。而帧长与n具有线性关系,即:l=kn(n为标签数,l为帧长)当标签数趋于∞时如图1所示,本发明实施例的高频/超高频rfid识别系统中的多标签防碰撞方法,包括如下步骤:步骤s1,在rfid识别系统中,rfid读写器向rfid发送请求指令,该请求指令向rfid标签提供初始帧长度l和用来选择时隙的随机数。步骤s2,每个rfid标签根据接收到指令随机选择时隙向rfid阅读器发送信息。设一帧含有n个时隙,共有n个待检测的标签,用l近似表示帧长,每个标签以均等的概率来随机选择一帧中的某个时隙发送数据,得到在一个时隙里有k个标签同时发送数据的概率为由上式定义rfid系统吞吐率具体地,在帧时隙aloha算法中,一帧被分成数个相同大小的时隙,这些时隙由阅读器实现同步,在每一帧的初始时刻,阅读器将发出request指令,这个指令可以向标签提供帧长和用来选择时隙的随机数.每一个标签根据接收到的信息随机选择一个时隙向阅读器发送信息。假设一帧含有n个时隙,共有n个待检测的标签,为便于讨论,用l近似表示帧长,每个标签以均等的概率来随机选择一帧中的某个时隙发送数据,可以得到在一个时隙里有k个标签同时发送数据的概率为由上式定义rfid系统吞吐率由上式可以推出,当系统吞吐率t最高且l>>1时,n≈n,此时t=36.8%.即当标签个数等于帧长时,系统吞吐率达到最大。标签选取时隙的随机性导致阅读器收集的信息也具有一定的随机性,对标签个数的估计不能只是一个确定值,而是一个概率均匀函数。一种更为合理的估计标签个数的方法是采用哈希函数。采用这个概率分布函数也是一种可行的方案,而哈希函数由于有构造表,且能均匀分布,所以选用哈希函数能使算法更简单快捷。h=p(n),式中p(n)为标签个数的分布函数。若能够求出p(n),则利用数学期望来估计标签个数可以更为有效地去除标签的随机性带来的算法误差。步骤s3,rfid阅读器设置rfid标签数量的初始均匀分布函。步骤s4,rfid阅读器根据接收到的信息更新rfid标签数量的均匀分布函数。在步骤s4中,rfid阅读器获取信息包括:最近一帧中成功、空闲和碰撞这3种情况下各自的时隙数,若多个信息帧的时隙效率为n,则读n个标签时在每个信息帧内成功、空闲和碰撞时隙数分别为ak=n-a0-a1。步骤s5,根据更新的rfid标签数量的均匀分布函数和已经被识别的rfid标签的数量,调整下一帧的长度。rfid标签数量的均匀分布函数选用哈希函数h,并根据均匀分布函数h利用数学期望来估计标签个数,以去除标签的随机性带来的算法误差。步骤s6,如果判断还有标签碰撞情况发生,则返回步骤s4,若没有碰撞,则判断标签识别完毕。如图2所示,rfid标签在接收到来自rfid读写器的随机数sn后,将时隙序号存储在随机数sn中,并发送至rfid读写器,其中,sn为“0”、“1”二值数。rfid读写器接收到sn后启动一个新时隙,判断标签随机数sn的值是否为0,如果是则rfid标签发送标识符号,否则标签随机数sn的值减一,不发送标识符号;在rfid标签发送标识符号后,判断是否无碰撞冲突发生,识别成功,如果是则rfid标签立即进入休眠状态,否则等待rfid阅读器重新开始一个帧。rfid读写器接收到sn后启动一个新时隙之后,进一步判断该帧是否结束,如果是则判断rfid阅读器是否未收到任何标签信号,如果未收到任何标签信号则识别结束,否则等待rfid阅读器重新开始一个帧。综上,通过哈希函数的时隙状态模型分析,不同帧长与连续碰撞时隙和连续空闲时隙的关系。不同帧长与连续碰撞的关系:仍以帧长为l,标签总数为n,测试得知,当l=0.75n时,发生的碰撞概率是0.05,即为小概率事件,即可认为是一般发生事件;当l=0.5n时,发生的碰撞概率是0.21,因此可预测将l增加一倍,这样比较合理。不同帧长与连续空闲时隙概率的关系:当l=1.5n时,发生空闲时隙分布概率为0.06,属于小概率事件,当l=2n时,发生空闲时隙分布概率为0.13,因此在哈希函数内证明标签数n为帧长l一半比较合理。表1不同标签数的最佳帧标签数n帧长l6-11812-221623-446443-8812889-177256178-154256根据已有的碰撞时隙中的平均标签数e和碰撞时隙的占用比的关系测试标签提出新的哈希函数测试方法,当空闲时隙所用时间小于碰撞时隙,对于相同的标签数和帧长,每次读取的标签数也不相同,本发明在不同帧长做测试,当帧长为8-125时标签数为100-200之间进行样本分析的7个标签进行比较,可以看到新的方法中误差可以得到很大程度下降。表2不同算法的误差率比较系统效率:估计在256个标签下,做静态测试,可以看到采用哈希函数后系统比较稳定在0.34左右,如图5所示。表3不同算法标签数的比较当标签在512个以内,dfsa的算法和哈希算法各有优劣,在高端显示增加到400个后,哈希算法显出优势,如图6所示。为了进一步比较哈希函数和idfsa与dfsa算法,我们将标签数量在512时,仍能以0.35的系统概率工作,而dfsa的情况会有所恶化,如图7所示。根据本发明实施例的高频/超高频rfid识别系统中的多标签防碰撞方法,是连续空闲时隙的预测算法即哈希函数算法,这个算法简单、均匀、有构造库,因而可以加快跳过无效时隙。在大规模的标签下,仍保持有较高的吞吐率可以稳定在63%,与之前的算法相比,本发明提出的算法在提高算法吞吐率、传输开销和延时都具有一定的优越性。无线射频识别系统要实现同时阅读现场多个标签的关键技术在于找到防冲撞算法来表明解决标签发数据的冲突问题。在rfid系统中帧时隙aloha算法的基础上,本发明不仅能够充分利用读写器在与之前帧收集的信息,而且标签前帧的信息保留,作为与前的先验信息,再根据h函数对标签个数进行估计,并动态调整帧长,该算法能够更加精准地估计标签个数,提高系统的吞吐率,加快标签的识别速度。本发明解决动态时隙aloha算法在标签数增加过大或在大数量标签存在所需时隙增长慢的问题。首先以哈希函数为分配原则,对标签进行时隙分配,以减少发生碰撞的标签数,然后根据碰撞时隙中平均值与碰撞时隙所占比例,空闲时隙所占比例的关系,估计方法产生的误差率较小,采用本发明可将帧长时隙数设置为标签的1.6倍,将标签识别率控制在500us,当帧长等于标签数时,每个标签的平均识别时间大约在600us。这就是这个算法有相当大的推广价值。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。本发明的范围由所附权利要求及其等同限定。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1