CN102073890A - 基于标签随机分组的动态帧时隙防碰撞方法 - Google Patents

基于标签随机分组的动态帧时隙防碰撞方法 Download PDF

Info

Publication number
CN102073890A
CN102073890A CN 201110021558 CN201110021558A CN102073890A CN 102073890 A CN102073890 A CN 102073890A CN 201110021558 CN201110021558 CN 201110021558 CN 201110021558 A CN201110021558 A CN 201110021558A CN 102073890 A CN102073890 A CN 102073890A
Authority
CN
China
Prior art keywords
write line
read write
label
time slot
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN 201110021558
Other languages
English (en)
Other versions
CN102073890B (zh
Inventor
李建成
杨青
王宏义
庄钊文
许拔
任天鹏
谷晓忱
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianjin Kunpeng Information Technology Co ltd
Original Assignee
National University of Defense Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN2011100215584A priority Critical patent/CN102073890B/zh
Publication of CN102073890A publication Critical patent/CN102073890A/zh
Application granted granted Critical
Publication of CN102073890B publication Critical patent/CN102073890B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种基于标签随机分组的动态帧时隙防碰撞方法,应用于射频识别系统中,具体步骤如下所述:步骤1:初始化;步骤2:读写器复位标签清点标志位并将标签随机分组;步骤3:读写器获取标签分组信息;步骤4:读写器清点单标签组;步骤5:读写器判断是否已完成所有单标签组的清点;步骤6:读写器清点多标签组;步骤7:读写器判断是否已完成所有多标签组的清点。本发明有益效果是可避免射频识别系统中标签数量估计不准确的问题,在读写器和标签的通信中将系统吞吐率保持在较高值。

Description

基于标签随机分组的动态帧时隙防碰撞方法
技术领域
本发明属于射频识别通信技术领域,具体涉及一种基于标签随机分组的动态帧时隙防碰撞方法。
背景技术
射频识别(Radio Frequency Identification,简称RFID)通信技术是一种非接触式自动识别技术。在射频识别系统中,读写器通过射频信号与标签进行通信,并获取标签上存储的识别信息。
RFID通信与其他典型的射频通信所面临的一个共同问题是,如何解决同一个系统中多个设备之间同时通信的碰撞问题。对于RFID通信而言,主要解决单个读写器与多个标签通信的碰撞问题。限于成本和功耗的因素,标签只能够提供极为有限的功能用于防碰撞机制的实现。目前多标签防碰撞方法主要分为时隙ALOHA算法和二叉树算法两大类。
时隙ALOHA算法的基本特征是,系统将标签返回的连续时间划分为若干时隙,标签根据读写器命令中指定的时隙范围,随机选择时隙进行返回,读写器根据返回的信息进行判断,如果发生碰撞则要求标签重新选择时隙并进行返回,直到读写器清点所有标签。
帧时隙ALOHA算法是在时隙ALOHA算法的基础上,将多个时隙组成一帧,标签在某一帧内随机选择一个时隙进行返回,该方法减少了防碰撞过程中读写器发送命令的次数。
假设读写器作用范围内标签数量为N,读写器清点这些标签需要的总时隙数为M,则系统吞吐率S可定义为:S=N/M。在帧时隙ALOHA算法中,当帧长度与未识别标签数量相当时,系统吞吐率达到最大值;然而,当帧长度远大于或远小于未识别标签数量时,系统吞吐率急剧下降。
动态帧时隙ALOHA算法是在帧时隙ALOHA算法的基础上,增加了根据估计的标签数量动态调整帧长度的机制,相比于帧时隙ALOHA算法,该方法有效地提高了系统吞吐率。
然而,在动态帧时隙ALOHA算法中,当标签数量估计不准确时,仍不能将系统吞吐率保持在较高值。
发明内容
本发明的目的是针对现有的动态帧时隙ALOHA算法存在的不足,提供一种防碰撞方法,避免了标签数量估计不准确的问题,从而将系统吞吐率保持在较高值。
本发明的技术方案是,一种基于标签随机分组的动态帧时隙防碰撞方法,应用于射频识别系统中,具体步骤如下所述:
步骤1:初始化。
读写器设置参数L1=2、L2=4,C=0,D=0,E=0。
步骤2:读写器复位标签清点标志位并将标签随机分组。
读写器向其作用范围内的所有标签发送参数为L1的分组命令。
标签接收到上述分组命令后,将自身的清点标志位清零,并在[0,L1-1]范围内随机选择一个整数作为其分组号,分组号相同的标签为一组。然后,按照分组号对应的数值由小到大的顺序,各分组中的标签依次向读写器返回一个16位的随机数,该16位随机数使用具有碰撞位检测能力的编码方式(如Manchester编码)进行编码。
步骤3:读写器获取标签分组信息。
读写器接收完所有分组中标签返回的16位随机数后,根据接收情况对所有分组进行分类统计:没有接收到任何数据的分组为空闲组,可统计其数量为z0,分组号依次为ZIDLE[0]~ZIDLE[z0-1];接收到16位随机数并且没有发生碰撞的分组为单标签组,可统计其数量为z1,分组号依次为ZONE[0]~ZONE[z1-1],同时可得到在这z1个单标签组中接收的16位随机数依次为ZID[0]~ZID[z1-1];接收到16位随机数并且发生碰撞的分组为多标签组,可统计其数量为z2,分组号依次为ZTWO[0]~ZTWO[z2-1]。
读写器判断z1是否为0,如果不为0,跳到步骤4;如果为0,将分组命令参数设置为L1=L1*2,返回步骤2。
步骤4:读写器清点单标签组。
读写器发送把ZONE[C]和ZID[C]作为参数的确认命令。
标签接收到上述确认命令后,把自身的分组号和最近一次返回的16位随机数,分别与ZONE[C]和ZID[C]进行比较,如果比较结果均相等,则将自身的ID号返回给读写器,并将清点标志位置1;反之,清点标志位不变。
步骤5:读写器判断是否已完成所有单标签组的清点。
读写器判断C的值,若C小于z1-1,设置C=C+1,返回步骤4;若C等于z1-1,跳到步骤6。
步骤6:读写器清点多标签组。
读写器清点多标签组ZTWO[D]中所有标签的步骤如下所述:
第1步:读写器开始多标签组ZTWO[D]的清点。
读写器发送以L2和ZTWO[D]为参数的查询命令。
接收到上述查询命令后,分组号为ZTWO[D]并且清点标志位为0的标签在[0,L2-1]范围内随机选择时隙值,然后按照时隙值的大小在相应时隙向读写器返回一个16位的随机数,该16位随机数使用具有碰撞位检测能力的编码方式(如Manchester编码)进行编码。
第2步:读写器统计分类所有时隙上的标签返回情况。
读写器接收完所有L2个时隙上标签返回的16位随机数后,根据返回情况对所有时隙进行分类统计,没有接收到任何数据的时隙为空闲时隙,可统计其数量为a0;接收到16位随机数并且没有发生碰撞的时隙为单标签时隙,可统计其数量为a1,时隙值依次为FONE[0]~FONE[a1-1],同时可得到在这a1个单标签时隙中接收的16位随机数依次为FID[0]~FID[a1-1];接收到16位随机数并且发生碰撞的时隙为多标签时隙,可统计其数量为a2。
第3步:读写器清点单标签时隙FONE[E]。
读写器发送以ZTWO[D]和FID[E]为参数的确认命令。
标签接收到上述确认命令后,把自身的分组号和最近一次返回的16位随机数,分别与ZTWO[D]和FID[E]进行比较,如果比较结果均相等,则将自身的ID号返回给读写器,并将清点标志位置1;反之,清点标志位不变。
第4步:读写器判断是否已完成所有单标签时隙的清点。
读写器判断E的值,若E小于a1-1,设置E=E+1,返回第3步;若E等于a1-1,设置E=0,跳到第5步。
第5步:读写器判断是否已完成多标签组ZTWO[D]的清点。
读写器判断a2的值是否为0,若a2大于0,设置参数L2=2*a2,返回第1步;若a2等于0,设置L2=4,跳到步骤7。
步骤7:读写器判断是否已完成所有多标签组的清点。
读写器判断D的值,若D小于z2-1,设置D=D+1,返回步骤6;若D等于z2-1,步骤7结束,表明读写器已清点完其作用范围内的所有标签。
本发明的有益效果是:
(a)读写器首先发送参数L1=2的分组命令,该命令将标签随机分为L1组,在这L1个分组中,若存在单标签组,则分组完成;否则,设置L1=L1*2,继续将标签随机分为L1组,如此循环,直至出现单标签组时,分组完成,利用这种方法,可快速实现标签的随机分组。
(b)随机分组完成后,对于任意一个多标签组,读写器发送帧长度参数L2=4的查询命令,让该多标签组中的所有未被清点的标签在[0,L2-1]的范围内随机选择时隙返回,标签返回后,读写器发送确认命令,完成所有单标签时隙的清点,接着判断多标签时隙的数量a2,若a2值为0,则该多标签组清点结束;若a2值大于0,读写器继续发送帧长度参数L2=2*a2的查询命令,如此循环,直到a2值为0,即该多标签组清点结束,这就避免了标签数量估计不准确的问题,将系统吞吐率保持在了较高值。
附图说明
图1是本发明提出的防碰撞方法的流程;
图2是执行本发明一具体实施方式中多标签被清点的过程;
图3是本发明方法与帧时隙ALOHA算法的系统吞吐率比较图。
具体实施方式
图1是本发明提出的防碰撞方法的流程,具体包括如下7个步骤:
步骤1:初始化;
步骤2:读写器复位标签清点标志位并将标签随机分组;
步骤3:读写器获取标签分组信息;
步骤4:读写器清点单标签组;
步骤5:读写器判断是否已完成所有单标签组的清点;
步骤6:读写器清点多标签组;
步骤7:读写器判断是否已完成所有多标签组的清点。
图2是执行本发明一具体实施方式中多标签被清点的过程。
在本实施方式中,假设读写器作用范围内同时存在9个标签,编号从标签1到标签9,具体实施方式步骤如下:
具体实施步骤1:初始化。
读写器设置参数L1=2、L2=4,C=0,D=0,E=0。
具体实施步骤2:读写器复位标签清点标志位并将标签随机分组。
读写器向其作用范围内的所有标签发送参数为L1的分组命令。
标签接收到上述分组命令后,将自身的清点标志位清零,并在[0,L1-1]范围内随机选择一个整数作为其分组号,分组号相同的标签为一组。然后,按照分组号对应的数值由小到大的顺序,各分组中的标签依次向读写器返回一个16位的随机数,该16位随机数使用具有碰撞位检测能力的编码方式(如Manchester编码)进行编码。
执行完具体实施步骤2后,所有9个标签清点标志位全部被清零,图2中的表示方法为,以标签1为例,若其清点标志位为0,则表示为“1(0)”。可以看到,选择分组0的为标签2、5、7、8,选择分组1的为标签1、3、4、6、9。这两个分组中的标签依次向读写器返回一个16位的随机数。
具体实施步骤3:读写器获取标签分组信息。
读写器接收完所有分组中标签返回的16位随机数后,根据接收情况对所有分组进行分类统计。没有接收到任何数据的分组为空闲组,可统计其数量为z0,分组号依次为ZIDLE[0]~ZIDLE[z0-1];接收到16位随机数并且没有发生碰撞的分组为单标签组,可统计其数量为z1,分组号依次为ZONE[0]~ZONE[z1-1],同时可得到,在这z1个单标签组中接收的16位随机数依次为ZID[0]~ZID[z1-1];接收到16位随机数并且发生碰撞的分组为多标签组,可统计其数量为z2,分组号依次为ZTWO[0]~ZTWO[z2-1]。
执行完具体实施步骤3后,读写器可得到z1的值为0,于是读写器设置参数L1=4。
具体实施步骤4:读写器复位标签清点标志位并将标签随机分组。
读写器向其作用范围内的所有标签发送参数为L1的分组命令。
标签接收到上述分组命令后,将自身的清点标志位清零,并在[0,L1-1]范围内随机选择一个整数作为其分组号,分组号相同的标签为一组。然后,按照分组号对应的数值由小到大的顺序,各分组中的标签依次向读写器返回一个16位的随机数,该16位随机数使用具有碰撞位检测能力的编码方式(如Manchester编码)进行编码。
执行完具体实施步骤4后,可以看到,选择分组0的为标签3、5、7、8,选择分组1的为标签1、6,选择分组2的为标签2、4,选择分组3的为标签9。这四个分组中的标签依次向读写器返回一个16位的随机数。
具体实施步骤5:读写器获取标签分组信息。
读写器接收完所有分组中标签返回的16位随机数后,根据接收情况对所有分组进行分类统计。没有接收到任何数据的分组为空闲组,可统计其数量为z0,分组号依次为ZIDLE[0]~ZIDLE[z0-1];接收到16位随机数并且没有发生碰撞的分组为单标签组,可统计其数量为z1,分组号依次为ZONE[0]~ZONE[z1-1],同时可得到,在这z1个单标签组中接收的16位随机数依次为ZID[0]~ZID[z1-1];接收到16位随机数并且发生碰撞的分组为多标签组,可统计其数量为z2,分组号依次为ZTWO[0]~ZTWO[z2-1]。
执行完具体实施步骤5后,读写器可得到,z0的值为0,z1的值为1,z2的值为3。
具体实施步骤6:读写器清点单标签组ZONE[C]。
读写器发送把ZONE[C]和ZID[C]作为参数的确认命令。
标签接收到上述确认命令后,把自身的分组号和最近一次返回的16位随机数,分别与ZONE[C]和ZID[C]进行比较,如果比较结果均相等,则将自身的ID号返回给读写器,并将清点标志位置1;反之,清点标志位不变。
执行完具体实施步骤6后,标签9将其清点标志位置1,其余标签清点标志位不变,如图2所示。
具体实施步骤7:读写器判断是否已完成所有单标签组的清点。
读写器判断C的值,若C小于z1-1,设置C=C+1;否则,保持C的值不变。
执行完具体实施步骤7后,读写器得到C的值为0,z1-1的值也为0,即C与z1-1相等,保持C的值不变。
具体实施步骤8:读写器清点多标签组ZTWO[D]。
读写器清点多标签组ZTWO[D]中所有标签的步骤(包括具体实施第801步~具体实施第814步)如下所述:
具体实施第801步:读写器开始多标签组ZTWO[D]的清点。
读写器发送以L2和ZTWO[D]为参数的查询命令。
接收到上述查询命令后,分组号为ZTWO[D]并且清点标志位为0的标签在[0,L2-1]范围内随机选择时隙值,然后按照时隙值的大小在相应时隙向读写器返回一个16位的随机数,该16位随机数使用具有碰撞位检测能力的编码方式(如Manchester编码)进行编码。
执行完具体实施第801步后,没有标签选择时隙0,选择时隙1的为标签5,选择时隙2的为标签7、8,选择时隙3的为标签3,如图2所示。这四个时隙中的标签依次向读写器返回一个16位的随机数。
具体实施第802步:读写器统计分类所有时隙上的标签返回情况。
读写器接收完所有L2个时隙上的标签返回的16位随机数后,根据返回情况对所有时隙进行分类统计,没有接收到任何数据的时隙为空闲时隙,可统计其数量为a0;接收到16位随机数并且没有发生碰撞的时隙为单标签时隙,可统计其数量为a1,时隙值依次为FONE[0]~FONE[a1-1],同时可得到在这a1个单标签时隙中接收的16位随机数依次为FID[0]~FID[a1-1];接收到16位随机数并且发生碰撞的时隙为多标签时隙,可统计其数量为a2。
执行完具体实施第802步后,读写器可以得到a0的值为1、a1的值为2、a2的值为1。
具体实施第803步:读写器清点单标签时隙FONE[E]。
读写器发送以ZTWO[D]和FID[E]为参数的确认命令。
标签接收到上述确认命令后,把自身的分组号和最近一次返回的16位随机数,分别与ZTWO[D]和FID[E]进行比较,如果比较结果均相等,则将自身的ID号返回给读写器,并将清点标志位置1;反之,清点标志位不变。
执行完具体实施第803步后,标签5将其清点标志位置1,其余标签清点标志位不变。
具体实施第804步:读写器判断是否已完成所有单标签时隙的清点。
读写器判断E的值,若E小于a1-1,设置E=E+1;若E等于a1-1,设置E=0。
执行完具体实施第84步后,读写器得到E的值为0,a1-1的值为1。于是读写器设置E=1。
具体实施第805步:读写器清点单标签时隙FONE[E]。
读写器发送以ZTWO[D]和FID[E]为参数的确认命令。
标签接收到上述确认命令后,把自身的分组号和最近一次返回的16位随机数,分别与ZTWO[D]和FID[E]进行比较,如果比较结果均相等,则将自身的ID号返回给读写器,并将清点标志位置1;反之,清点标志位不变。
执行完具体实施第805步后,标签3将其清点标志位置1,其余标签清点标志位不变。
具体实施第806步:读写器判断是否已完成所有单标签时隙的清点。
读写器判断E的值,若E小于a1-1,设置E=E+1;若E等于a1-1,设置E=0。
执行完具体实施第806步后,读写器得到E的值为1,a1-1的值为1。即E与a1-1相等,设置E=0。
具体实施第807步:读写器判断是否已完成多标签组ZTWO[D]的清点。
读写器判断a2的值是否为0,若a2大于0,设置参数L2=2*a2,若a2等于0,设置L2=4。
执行完具体实施第807步后,读写器得到a2的值为1,即a2大于0,设置参数L2=2。
具体实施第808步:读写器继续多标签组ZTWO[D]的清点。
读写器发送以L2和ZTWO[D]为参数的查询命令。
接收到上述查询命令后,分组号为ZTWO[D]并且清点标志位为0的标签在[0,L2-1]范围内随机选择时隙值,然后按照时隙值的大小在相应时隙向读写器返回一个16位的随机数,该16位随机数使用具有碰撞位检测能力的编码方式(如Manchester编码)进行编码。
执行完具体实施第808步后,选择时隙0的为标签7,选择时隙1的为标签8,如图2所示。这两个时隙中的标签依次向读写器返回一个16位的随机数。
具体实施第809步:读写器统计分类所有时隙上的标签返回情况。
读写器接收完所有L2个时隙上的标签返回的16位随机数后,根据返回情况对所有时隙进行分类统计,没有接收到任何数据的时隙为空闲时隙,可统计其数量为a0;接收到16位随机数并且没有发生碰撞的时隙为单标签时隙,可统计其数量为a1,时隙值依次为FONE[0]~FONE[a1-1],同时可得到在这a1个单标签时隙中接收的16位随机数依次为FID[0]~FID[a1-1];接收到16位随机数并且发生碰撞的时隙为多标签时隙,可统计其数量为a2。
执行完具体实施第809步后,读写器可以得到a0的值为0、a1的值为2、a2的值为0。
具体实施第810步:读写器清点单标签时隙FONE[E]。
读写器发送以ZTWO[D]和FID[E]为参数的确认命令。
标签接收到上述确认命令后,把自身的分组号和最近一次返回的16位随机数,分别与ZTWO[D]和FID[E]进行比较,如果比较结果均相等,则将自身的ID号返回给读写器,并将清点标志位置1;反之,清点标志位不变。
执行完具体实施第810步后,标签7将其清点标志位置1,其余标签清点标志位不变。
具体实施第811步:读写器判断是否已完成所有单标签时隙的清点。
读写器判断E的值,若E小于a1-1,设置E=E+1;若E等于a1-1,设置E=0。
执行完具体实施第811步后,读写器得到E的值为0,a1-1的值为1。于是读写器设置E=1。
具体实施第812步:读写器清点单标签时隙FONE[E]。
读写器发送以ZTWO[D]和FID[E]为参数的确认命令。
标签接收到上述确认命令后,把自身的分组号和最近一次返回的16位随机数,分别与ZTWO[D]和FID[E]进行比较,如果比较结果均相等,则将自身的ID号返回给读写器,并将清点标志位置1;反之,清点标志位不变。
执行完具体实施第812步后,标签8将其清点标志位置1,其余标签清点标志位不变。
具体实施第813步:读写器判断是否已完成所有单标签时隙的清点。
读写器判断E的值,若E小于a1-1,设置E=E+1;若E等于a1-1,设置E=0。
执行完具体实施第813步后,读写器得到E的值为1,a1-1的值为1,即E与a1-1相等,设置E=0。
具体实施第814步:读写器判断是否已完成多标签组ZTWO[D]的清点。
读写器判断a2的值是否为0,若a2大于0,设置参数L2=2*a2,若a2等于0,设置L2=4。
执行完具体实施第814步后,读写器得到a2的值为0,即a2等于0,设置参数L2=4。
具体实施步骤9:读写器判断是否已完成所有多标签组的清点。
读写器判断D的值,若D小于z2-1,设置D=D+1。
执行完具体实施步骤9后,读写器得到D的值为0,z2-1的值为2,于是设置D=1。
具体实施步骤10:读写器清点多标签组ZTWO[D]。
读写器清点多标签组ZTWO[D]中所有标签的步骤(包括具体实施第101步~具体实施第107步)如下所述:
具体实施第101步:读写器开始多标签组ZTWO[D]的清点。
读写器发送以L2和ZTWO[D]为参数的查询命令。
接收到上述查询命令后,分组号为ZTWO[D]并且清点标志位为0的标签在[0,L2-1]范围内随机选择时隙值,然后按照时隙值的大小在相应时隙向读写器返回一个16位的随机数,该16位随机数使用具有碰撞位检测能力的编码方式(如Manchester编码)进行编码。
执行完具体实施第101步后,没有标签选择时隙0,选择时隙1的为标签1,选择时隙2的为标签6,没有标签选择时隙3,如图2所示。这四个时隙中的标签依次向读写器返回一个16位的随机数。
具体实施第102步:读写器统计分类所有时隙上的标签返回情况。
读写器接收完所有L2个时隙上的标签返回的16位随机数后,根据返回情况对所有时隙进行分类统计,没有接收到任何数据的时隙为空闲时隙,可统计其数量为a0;接收到16位随机数并且没有发生碰撞的时隙为单标签时隙,可统计其数量为a1,时隙值依次为FONE[0]~FONE[a1-1],同时可得到在这a1个单标签时隙中接收的16位随机数依次为FID[0]~FID[a1-1];接收到16位随机数并且发生碰撞的时隙为多标签时隙,可统计其数量为a2。
执行完具体实施第102步后,读写器可以得到a0的值为0、a1的值为2、a2的值为0。
具体实施第103步:读写器清点单标签时隙FONE[E]。
读写器发送以ZTWO[D]和FID[E]为参数的确认命令。
标签接收到上述确认命令后,把自身的分组号和最近一次返回的16位随机数,分别与ZTWO[D]和FID[E]进行比较,如果比较结果均相等,则将自身的ID号返回给读写器,并将清点标志位置1;反之,清点标志位不变。
执行完具体实施第103步后,标签1将其清点标志位置1,其余标签清点标志位不变。
具体实施第104步:读写器判断是否已完成所有单标签时隙的清点。
读写器判断E的值,若E小于a1-1,设置E=E+1;若E等于a1-1,设置E=0。
执行完具体实施第104步后,读写器得到E的值为0,a1-1的值为1。于是读写器设置E=1。
具体实施第105步:读写器清点单标签时隙FONE[E]。
读写器发送以ZTWO[D]和FID[E]为参数的确认命令。
标签接收到上述确认命令后,把自身的分组号和最近一次返回的16位随机数,分别与ZTWO[D]和FID[E]进行比较,如果比较结果均相等,则将自身的ID号返回给读写器,并将清点标志位置1;反之,清点标志位不变。
执行完具体实施第105步后,标签6将其清点标志位置1,其余标签清点标志位不变。
具体实施第106步:读写器判断是否已完成所有单标签时隙的清点。
读写器判断E的值,若E小于a1-1,设置E=E+1;若E等于a1-1,设置E=0。
执行完具体实施第106步后,读写器得到E的值为1,a1-1的值为1。即E与a1-1相等,设置E=0。
具体实施第107步:读写器判断是否已完成多标签组ZTWO[D]的清点。
读写器判断a2的值是否为0,若a2大于0,设置参数L2=2*a2,若a2等于0,设置L2=4。
执行完具体实施第107步后,读写器得到a2的值为0,即a2等于0,设置L2=4。
具体实施步骤11:读写器判断是否已完成所有多标签组的清点。
读写器判断D的值,若D小于z2-1,设置D=D+1。
执行完具体实施步骤11后,读写器得到D的值为1,z2-1的值为2,于是设置D=2。
具体实施步骤12:读写器清点多标签组ZTWO[D]。
读写器清点多标签组ZTWO[D]中所有标签的步骤(包括具体实施第121步~具体实施第127步)如下所述:
具体实施第121步:读写器开始多标签组ZTWO[D]的清点。
读写器发送以L2和ZTWO[D]为参数的查询命令。
接收到上述查询命令后,分组号为ZTWO[D]并且清点标志位为0的标签在[0,L2-1]范围内随机选择时隙值,然后按照时隙值的大小在相应时隙向读写器返回一个16位的随机数,该16位随机数使用具有碰撞位检测能力的编码方式(如Manchester编码)进行编码。
执行完具体实施第121步后,选择时隙0的为标签2,没有标签选择时隙1,选择时隙2的为标签4,没有标签选择时隙3,如图2所示。这四个时隙中的标签依次向读写器返回一个16位的随机数。
具体实施第122步:读写器统计分类所有时隙上的标签返回情况。
读写器接收完所有L2个时隙上标签返回的16位随机数后,根据返回情况对所有时隙进行分类统计,没有接收到任何数据的时隙为空闲时隙,可统计其数量为a0;接收到16位随机数并且没有发生碰撞的时隙为单标签时隙,可统计其数量为a1,时隙值依次为FONE[0]~FONE[a1-1],同时可得到在这a1个单标签时隙中接收的16位随机数依次为FID[0]~FID[a1-1];接收到16位随机数并且发生碰撞的时隙为多标签时隙,可统计其数量为a2。
执行完具体实施第122步后,读写器可以得到a0的值为0、a1的值为2、a2的值为0。
具体实施第123步:读写器清点单标签时隙FONE[E]。
读写器发送以ZTWO[D]和FID[E]为参数的确认命令。
标签接收到上述确认命令后,把自身的分组号和最近一次返回的16位随机数,分别与ZTWO[D]和FID[E]进行比较,如果比较结果均相等,则将自身的ID号返回给读写器,并将清点标志位置1;反之,清点标志位不变。
执行完具体实施第123步后,标签2将其清点标志位置1,其余标签清点标志位不变。
具体实施第124步:读写器判断是否已完成所有单标签时隙的清点。
读写器判断E的值,若E小于a1-1,设置E=E+1;若E等于a1-1,设置E=0。
执行完具体实施第124步后,读写器得到E的值为0,a1-1的值为1,于是读写器设置E=1。
具体实施第125步:读写器清点单标签时隙FONE[E]。
读写器发送以ZTWO[D]和FID[E]为参数的确认命令。
标签接收到上述确认命令后,把自身的分组号和最近一次返回的16位随机数,分别与ZTWO[D]和FID[E]进行比较,如果比较结果均相等,则将自身的ID号返回给读写器,并将清点标志位置1;反之,清点标志位不变。
执行完具体实施第125步后,标签2将其清点标志位置1,其余标签清点标志位不变。
具体实施第126步:读写器判断是否已完成所有单标签时隙的清点。
读写器判断E的值,若E小于a1-1,设置E=E+1;若E等于a1-1,设置E=0。
执行完具体实施第126步后,读写器得到E的值为1,a1-1的值为1。即E与a1-1相等,设置E=0。
具体实施第127步:读写器判断是否已完成多标签组ZTWO[D]的清点。
读写器判断a2的值是否为0,若a2大于0,设置参数L2=2*a2,若a2等于0,设置L2=4。
执行完具体实施第127步后,读写器得到a2的值为0,即a2等于0,设置L2=4。
具体实施步骤13:读写器判断是否已完成所有多标签组的清点。
读写器判断D的值,若D小于z2-1,设置D=D+1。
执行完具体实施步骤13后,读写器得到D的值为2,z2-1的值为2,D与z2-1相等,具体实施方式结束,读写器已完成了所有标签的清点。
图3是本发明方法与帧时隙ALOHA算法的系统吞吐率比较图。其中,横轴为标签数,纵轴为系统吞吐率。图中给出了帧长度依次为128、256、512时,帧时隙ALOHA算法的系统吞吐率曲线,从图中可以看出,在帧时隙ALOHA算法中,只有帧长度与标签数量相当时,系统吞吐率达到最大值。然而,对于本发明提出的方法,无论标签数量的多少,总能将系统吞吐率保持在帧时隙ALOHA算法的最大值附近。

Claims (2)

1.一种基于标签随机分组的动态帧时隙防碰撞方法,应用于射频识别系统中,其特征在于,具体步骤如下所述:
步骤1:初始化;
读写器设置参数L1=2、L2=4,C=0,D=0,E=0;
步骤2:读写器复位标签清点标志位并将标签随机分组;
读写器向其作用范围内的所有标签发送参数为L1的分组命令;
标签接收到上述分组命令后,将自身的清点标志位清零,并在[0,L1-1]范围内随机选择一个整数作为其分组号,分组号相同的标签为一组;然后,按照分组号对应的数值由小到大的顺序,各分组中的标签依次向读写器返回一个16位的随机数,该16位随机数使用具有碰撞位检测能力的编码方式进行编码;
步骤3:读写器获取标签分组信息;
读写器接收完所有分组中标签返回的16位随机数后,根据接收情况对所有分组进行分类统计:没有接收到任何数据的分组为空闲组,设其数量为z0,分组号依次为ZIDLE[0]~ZIDLE[z0-1];接收到16位随机数并且没有发生碰撞的分组为单标签组,设其数量为z1,分组号依次为ZONE[0]~ZONE[z1-1],同时设在这z1个单标签组中接收的16位随机数依次为ZID[0]~ZID[z1-1];接收到16位随机数并且发生碰撞的分组为多标签组,设其数量为z2,分组号依次为ZTWO[0]~ZTWO[z2-1];
读写器判断z1是否为0,如果不为0,跳到步骤4;如果为0,将分组命令参数设置为L1=L1*2,返回步骤2;
步骤4:读写器清点单标签组;
读写器发送把ZONE[C]和ZID[C]作为参数的确认命令;
标签接收到上述确认命令后,把自身的分组号和最近一次返回的16位随机数,分别与ZONE[C]和ZID[C]进行比较:如果比较结果均相等,则将自身的ID号返回给读写器,并将清点标志位置1;反之,清点标志位不变;
步骤5:读写器判断是否已完成所有单标签组的清点;
读写器判断C的值:若C小于z1-1,设置C=C+1,返回步骤4;若C等于z1-1,跳到步骤6;
步骤6:读写器清点多标签组;
读写器清点多标签组ZTWO[D]中所有标签的步骤如下所述:
第1步:读写器开始多标签组ZTWO[D]的清点;
读写器发送以L2和ZTWO[D]为参数的查询命令;
接收到上述查询命令后,分组号为ZTWO[D]并且清点标志位为0的标签在[0,L2-1]范围内随机选择时隙值,然后按照时隙值的大小在相应时隙向读写器返回一个16位的随机数,该16位随机数使用具有碰撞位检测能力的编码方式进行编码;
第2步:读写器统计分类所有时隙上的标签返回情况;
读写器接收完所有L2个时隙上标签返回的16位随机数后,根据返回情况对所有时隙进行分类统计:没有接收到任何数据的时隙为空闲时隙,设其数量为a0;接收到16位随机数并且没有发生碰撞的时隙为单标签时隙,设其数量为a1,时隙值依次为FONE[0]~FONE[a1-1],同时得到在这a1个单标签时隙中接收的16位随机数依次为FID[0]~FID[a1-1];接收到16位随机数并且发生碰撞的时隙为多标签时隙,设其数量为a2;
第3步:读写器清点单标签时隙FONE[E];
读写器发送以ZTWO[D]和FID[E]为参数的确认命令;
标签接收到上述确认命令后,把自身的分组号和最近一次返回的16位随机数,分别与ZTWO[D]和FID[E]进行比较:如果比较结果均相等,则将自身的ID号返回给读写器,并将清点标志位置1;反之,清点标志位不变;
第4步:读写器判断是否已完成所有单标签时隙的清点;
读写器判断E的值:若E小于a1-1,设置E=E+1,返回第3步;若E等于a1-1,设置E=0,跳到第5步;
第5步:读写器判断是否已完成多标签组ZTWO[D]的清点;
读写器判断a2的值:若a2大于0,设置参数L2=2*a2,返回第1步;若a2等于0,设置L2=4,跳到步骤7;
步骤7:读写器判断是否已完成所有多标签组的清点;
读写器判断D的值:若D小于z2-1,设置D=D+1,返回步骤6;若D等于z2-1,步骤7结束。
2.根据权利要求1所述的基于标签随机分组的动态帧时隙防碰撞方法,其特征在于,具有碰撞位检测能力的编码方式是Manchester编码方式。
CN2011100215584A 2011-01-19 2011-01-19 基于标签随机分组的动态帧时隙防碰撞方法 Active CN102073890B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011100215584A CN102073890B (zh) 2011-01-19 2011-01-19 基于标签随机分组的动态帧时隙防碰撞方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011100215584A CN102073890B (zh) 2011-01-19 2011-01-19 基于标签随机分组的动态帧时隙防碰撞方法

Publications (2)

Publication Number Publication Date
CN102073890A true CN102073890A (zh) 2011-05-25
CN102073890B CN102073890B (zh) 2012-08-01

Family

ID=44032424

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011100215584A Active CN102073890B (zh) 2011-01-19 2011-01-19 基于标签随机分组的动态帧时隙防碰撞方法

Country Status (1)

Country Link
CN (1) CN102073890B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103020568A (zh) * 2012-12-27 2013-04-03 南京三宝科技股份有限公司 基于标签id预处理的rfid防碰撞方法
CN103377356A (zh) * 2012-04-25 2013-10-30 四川红宇创智信息科技有限责任公司 一种rfid电子标签防冲突识别算法
CN104657693A (zh) * 2015-02-26 2015-05-27 江西理工大学 一种基于分组自适应分配时隙的rfid防碰撞方法
CN104680209A (zh) * 2015-01-22 2015-06-03 广东工业大学 一种符合epc c1g2标准的基于时隙状态的射频识别标签数量估计方法
CN115221903A (zh) * 2022-09-19 2022-10-21 东集技术股份有限公司 一种rfid识读方法和设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101145183A (zh) * 2006-09-28 2008-03-19 中兴通讯股份有限公司 一种用于射频识别的多标签识别方法
CN101393594A (zh) * 2008-10-24 2009-03-25 中山大学 一种用于rfid系统中的基于分组动态帧及二叉树搜索的多标签防碰撞方法
CN101609498A (zh) * 2009-07-24 2009-12-23 西安电子科技大学 射频识别网络的多标签识别方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101145183A (zh) * 2006-09-28 2008-03-19 中兴通讯股份有限公司 一种用于射频识别的多标签识别方法
CN101393594A (zh) * 2008-10-24 2009-03-25 中山大学 一种用于rfid系统中的基于分组动态帧及二叉树搜索的多标签防碰撞方法
CN101609498A (zh) * 2009-07-24 2009-12-23 西安电子科技大学 射频识别网络的多标签识别方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103377356A (zh) * 2012-04-25 2013-10-30 四川红宇创智信息科技有限责任公司 一种rfid电子标签防冲突识别算法
CN103020568A (zh) * 2012-12-27 2013-04-03 南京三宝科技股份有限公司 基于标签id预处理的rfid防碰撞方法
CN103020568B (zh) * 2012-12-27 2016-04-20 南京三宝科技股份有限公司 基于标签id预处理的rfid防碰撞方法
CN104680209A (zh) * 2015-01-22 2015-06-03 广东工业大学 一种符合epc c1g2标准的基于时隙状态的射频识别标签数量估计方法
CN104657693A (zh) * 2015-02-26 2015-05-27 江西理工大学 一种基于分组自适应分配时隙的rfid防碰撞方法
CN104657693B (zh) * 2015-02-26 2018-05-29 江西理工大学 一种基于分组自适应分配时隙的rfid防碰撞方法
CN115221903A (zh) * 2022-09-19 2022-10-21 东集技术股份有限公司 一种rfid识读方法和设备
CN115221903B (zh) * 2022-09-19 2022-11-29 东集技术股份有限公司 一种rfid识读方法和设备

Also Published As

Publication number Publication date
CN102073890B (zh) 2012-08-01

Similar Documents

Publication Publication Date Title
CN102073890B (zh) 基于标签随机分组的动态帧时隙防碰撞方法
CN102004895B (zh) 基于碰撞预检的时隙扫描防碰撞方法
CN101840489A (zh) 一种基于碰撞树的多标签识别防碰撞方法
CN102622564B (zh) 一种rfid多标签识别防碰撞方法
CN1845125A (zh) 一种同时读取多个标签的防碰撞的系统和方法
CN101743697A (zh) 标签识别方法、标签防冲突方法及射频识别标签
CN103065112A (zh) 基于模运算标签分类的rfid标签防碰撞识别方法
CN103020568A (zh) 基于标签id预处理的rfid防碰撞方法
CN103020569A (zh) 一种射频识别多标签防碰撞方法
CN102609672A (zh) 一种射频识别系统的防碰撞方法
CN102024163A (zh) 一种带有分组预览机制的防碰撞方法
CN107609611A (zh) 一种基于大规模射频识别系统的多类信息收集方法
CN101324916B (zh) 用于rfid系统的标签识别防碰撞方法
CN103679099A (zh) 一种用于大量rfid标签系统中的防碰撞方法
CN101369305A (zh) 一种射频识别标签芯片防冲突功能的验证电路及其模型
CN101169818A (zh) 一种基于时隙随机的射频识别过程的帧长度选择方法
CN104680104A (zh) 一种动态高效的rfid标签识别机制
CN101650770A (zh) 具有未知标签数估算功能的二进制搜索防碰撞方法
CN1924883A (zh) 一种射频识别系统中多标签冲突的解决方法
CN107526986A (zh) 一种rfid标签防碰撞方法及系统
CN102663332B (zh) 一种用于rfid系统中的多标签防碰撞引导式识别方法
CN102073889B (zh) 一种混合式的多标签防碰撞方法
CN103927506A (zh) 基于动态时隙冲突跟踪树的rifd防碰撞方法
Wang et al. A novel anti-collision algorithm with dynamic tag number estimation for RFID systems
Kim et al. An enhanced anti-collision algorithm for EPC gen2 RFID system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address

Address after: 300459, No. 399, Xiang Xiang Road, Tanggu hi tech Zone, Tianjin Binhai New Area

Patentee after: Tianjin Institute of advanced technology

Address before: No. 399, Tanggu Ocean high tech Zone, Binhai New Area, Tianjin

Patentee before: TIANJIN BINHAI CIVIL-MILITARY INTEGRATED INNOVATION INSTITUTE

CP03 Change of name, title or address
TR01 Transfer of patent right

Effective date of registration: 20200618

Address after: No. 399, Tanggu Ocean high tech Zone, Binhai New Area, Tianjin

Patentee after: TIANJIN BINHAI CIVIL-MILITARY INTEGRATED INNOVATION INSTITUTE

Address before: 410073 Hunan province Changsha Kaifu District, Deya Road No. 109

Patentee before: NATIONAL University OF DEFENSE TECHNOLOGY

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20201023

Address after: 8-9 / F, building 9, Xin'an venture Plaza, 399 Huixiang Road, Tanggu marine science and Technology Park, Binhai New Area, Tianjin 300459

Patentee after: Tianjin Kunpeng Information Technology Co.,Ltd.

Address before: 300459, No. 399, Xiang Xiang Road, Tanggu hi tech Zone, Tianjin Binhai New Area

Patentee before: Tianjin Institute of advanced technology

TR01 Transfer of patent right