CN103902942B - 一种用于大容量多标签rfid系统的混合防碰撞方法 - Google Patents
一种用于大容量多标签rfid系统的混合防碰撞方法 Download PDFInfo
- Publication number
- CN103902942B CN103902942B CN201410033760.2A CN201410033760A CN103902942B CN 103902942 B CN103902942 B CN 103902942B CN 201410033760 A CN201410033760 A CN 201410033760A CN 103902942 B CN103902942 B CN 103902942B
- Authority
- CN
- China
- Prior art keywords
- reader
- writer
- tag
- value
- collision
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 95
- 230000004044 response Effects 0.000 claims description 25
- 239000000284 extract Substances 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 17
- 238000013507 mapping Methods 0.000 claims description 16
- 230000009191 jumping Effects 0.000 claims description 9
- 230000008901 benefit Effects 0.000 abstract description 6
- 235000003642 hunger Nutrition 0.000 abstract description 3
- 230000001149 cognitive effect Effects 0.000 abstract 2
- 238000005309 stochastic process Methods 0.000 abstract 1
- 238000004891 communication Methods 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000037351 starvation Effects 0.000 description 2
- YVHVGFSDGHMIIG-UHFFFAOYSA-N 2-(2-tert-butylsulfonylethynylsulfonyl)-2-methylpropane Chemical compound CC(C)(C)S(=O)(=O)C#CS(=O)(=O)C(C)(C)C YVHVGFSDGHMIIG-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000013068 supply chain management Methods 0.000 description 1
Landscapes
- Near-Field Transmission Systems (AREA)
- Radar Systems Or Details Thereof (AREA)
Abstract
本发明公开了一种用于大容量多标签RFID系统的混合防碰撞方法,该方法主要可以分为两个阶段,第一阶段是利用帧时隙分离和识别阶段,第二阶段是利用AMS方法识别阶段。该方法可以提高标签识别性能,缩小每次标签查询的范围;同时采用的AMS方法消除了空闲查询并降低了碰撞次数,提高了识别效率和安全性;同时结合了ALOHA‑based方法和tree‑based方法各自的优点,解决了由于随机过程的不确定性带来的标签饥饿问题,消除了传统tree‑based方法中的空闲查询,同时无需估计标签数,降低了计算复杂度;并且突破了传统方法对标签数量的限制,适用于大容量多标签RFID系统。
Description
技术领域
本发明属于射频识别技术领域,具体涉及一种用于大容量多标签RFID系统的混合防碰撞方法的设计。
背景技术
近年来,由于UHF RFID系统具有距离远,标签无源,使用寿命长,标签读写速度快等众多优点,因此成为了未来RFID应用的主要发展趋势,诸如:供应链管理,物品追踪等。此外,UHF RFID系统读写器覆盖范围广,系统内覆盖的标签数目很多,同时对标签的读写要求很高,这样使得UHF RFID系统的标签碰撞问题较为突出。为了解决多个标签同时与读写器通信所产生的碰撞问题,读写器需要采用防碰撞发方法来协调读写器和多个标签之间的通信。由于受到诸多因素的制约,防碰撞方法在标签侧的实现要尽可能简单,特别是标签数目较多的时候。
标签防碰撞方法主要分为两类:概率性方法和确定性方法。概率性方法即ALOHA-based方法,主要用于EPC Global C1Gen2、ISO 18000-6C以及ISO 14443-3Type B等国际标准中。ALOHA-based方法主要包括时隙ALOHA方法(SA),帧时隙ALOHA方法(FSA)以及动态帧时隙ALOHA方法(DFSA)。其中应用最广泛的就是DFSA,基本原理是:读写器向其工作域内的标签广播一个Query命令,这个Query命令指定一个固定长度的时隙帧L,标签可以在(1,L)之间随机选择一个时隙响应读写器命令,若某个时隙无标签响应则为空闲时隙,若只有一个标签响应则为成功时隙,此时标签可以被读写器成功读取,若有多个标签同时响应则为碰撞时隙。当一帧结束后,读写器统计空闲时隙、碰撞时隙和成功时隙的数量,并以此为参数来估计未识别的标签数,然后调整下一帧的长度,重复上述过程直到所有标签被识别为止。Tree-based方法中应用最广的就是查询树方法(QT)。
QT方法的基本特征是,每个标签都有自己的前缀(prefix)匹配电路,读写器从查询堆栈中,选择一个前缀进行查询,所有标签将自身的ID号与接收到的前缀进行比较,如果匹配,则标签响应读写器并回复自己的ID号,如果不匹配,标签不做响应。如果没有碰撞发生,则读写器成功识别到一个标签,并从堆栈中选取新的查询前缀进行查询;如果发生碰撞,读写器将刚刚发送的前缀按照碰撞信息增加一位0或1并放入堆栈,等到后续查询使用;若是没有收到回复,读写器从堆栈中选取新的前缀继续查询;循环上述操作,直到完成对所有标签的识别。
目前存在的大多数RFID防碰撞方法的主要优缺点在于:ALOHA-based方法以时隙为基础对标签进行分组识别,方法实现简单,但是存在“tag starvation”(标签饥饿)和“cardinalitysensitive”(标签数敏感)问题。Tree-based类方法不存在标签饥饿问题,确保了标签的完全识别,但是在处理大量标签碰撞时,读写器不得不多次发送标签ID号来分裂标签群,这样造成了标签的信息泄露。
发明内容
本发明的目的是为了解决现有技术中防碰撞方法识别率低、不稳定的缺点而提出一种适用于大容量多标签RFID系统的混合防碰撞方法,该方法稳定、高效,扩展性强。
本发明的技术方案是:一种用于大容量多标签RFID系统的混合防碰撞方法,具体包括:
步骤1:读写器初始化清零,读写器时隙计数器Sc、空闲时隙数Ne、碰撞时隙数Nc以及成功时隙数Nr的值均为0;
步骤2:读写器向其覆盖范围内的标签广播一个Query命令,所述Query命令规定一个固定长度的时隙帧L=2Q,读写器时隙计数器Sc=Sc+1;
步骤3:所述读写器覆盖范围内的待识别标签接收到读写器的Query命令,提取命令中的Q值,在[1,L]中随机产生一个数加载到自己的计数器上,并且比较计数器的值与当前读写器Sc的值,若相等,则响应读写器的Query命令并回复自己的ID,否则不予响应;
步骤4:读写器接收标签应答,如果没有接收到标签回复,则表示在读写器覆盖范围内没有待识别的标签,此时将Ne=Ne+1;
如果接收到的应答没有碰撞产生,则表示成功将标签识别,此时将Nr=Nr+1;
如果接收到的应答发生碰撞,则表示当前时隙内有多个标签同时响应,此时将Nc=Nc+1并将当前Sc的值放入时隙堆栈;
步骤5:当前读写器时隙计数器Sc=Sc+1,判断当前Sc的值是否达到最大值L,若是则跳转到步骤8,否则发送QueryRep命令;
步骤6:所述读写器覆盖范围内的待识别标签接收到读写器的QueryRep命令,并判断自身计时器的值与当前读写器Sc的值,若相等,则响应读写器的QueryRep命令并回复自己的ID,否则不予响应;
步骤7:跳转到步骤4;
步骤8:统计本轮查询过程中的Ne,Nc和Nr的值,并判断Ne-6*Nc的值是否超过设定门限值,若是则跳转到步骤9,若否则将Ne,Nr和Nc值清零,Q=Q+1并跳转到步骤2;步骤9:读写器采用基于碰撞因子的自适应多进制树查询AMS方法识别未识别标签。
进一步的,所述步骤9中AMS方法具体包括:
步骤9.1:读写器检测时隙堆栈是否为空,若为空则跳转到步骤9.9,否则读写器从时隙堆栈中提取出一个时隙值并等待发送查询命令;
步骤9.2:读写器从前缀堆栈中提取出一个查询前缀,结合当前时隙值向覆盖范围内的标签发送查询命令;
步骤9.3:标签接收读写器的查询命令,并比较自身的计数器的值与当前时隙值,若相等,则响应读写器当前查询命令并回复自己的ID,否则不予响应;
步骤9.4:读写器接收标签的响应,若无碰撞,则表示成功识别标签并跳转到步骤9.8;若碰撞,则计算碰撞因子,所述碰撞因子定义为发生碰撞的比特位数与标签ID长度之比;若碰撞因子大于等于0.75,则跳转到步骤9.5;若碰撞因子小于0.75,记首位碰撞位为Dc,产生两个新的查询前缀,将Dc分别设置成0或1,余下部分由查询前缀与接收到的ID中首位碰撞位之前的部分组成,并将两个新的查询前缀放入前缀堆栈,并跳转到步骤9.8;
步骤9.5:读写器发送自定义命令QueryP令标签返回一个4bit的数据,该数据用于反映标签碰撞的首两位信息;
步骤9.6:标签对自定义命令QueryP进行响应,将首两位碰撞数据转换成十进制数x,然后向读写器返回一个4bit数据,该数据Dx位置为1,其余位置为0;
步骤9.7:读写器根据接收到的4bit数据,解析出标签首两位碰撞数据,并将它们置于查询前缀prefix后产生新的查询前缀,并将这些新前缀放入前缀堆栈;
步骤9.8:判断当前前缀堆栈是否为空,若为空,则跳转到步骤9.1,否则跳转到步骤9.2;
步骤9.9:整个标签识别过程结束。
进一步的,所述步骤9中AMS方法具体包括:
步骤9.1:读写器检测时隙堆栈是否为空,若为空则跳转到步骤9.6,否则读写器从时隙堆栈中提取出一个时隙值并等待发送查询命令;
步骤9.2:读写器从前缀堆栈中提取出一个查询前缀,结合当前时隙值向覆盖范围内的标签发送查询命令;
步骤9.3:标签接收读写器的查询命令,并比较自身的计数器的值与当前时隙值,若相等,则响应读写器当前查询命令,并回复自己的ID与查询前缀prefix相匹配部分的余下部分的首两位,同时将这两位数据根据映射表转换成四比特数据并发送给读写器;
步骤9.4:读写器接收到标签的响应数据,若发生碰撞,则将首两位碰撞位分别设置成00/01/10/11,并将它们置于查询前缀prefix后产生新的查询前缀,并将这些新前缀放入前缀堆栈;若无碰撞,说明当前时隙值下的标签ID的首两位相同,则根据映射表将这两位置于查询前缀prefix后,产生新的查询前缀,并将新个前缀放入前缀堆栈;
步骤9.5:判断当前前缀堆栈是否为空,若为空,则跳转到步骤9.1,否则跳转到步骤9.2;
步骤9.6:整个标签识别过程结束。
更进一步的,所述步骤9.2中首次查询前缀prefix为空串,即让所有计数器值等于当前读写器时隙值的标签响应。
本发明的有益效果:本发明一种用于大容量多标签RFID系统的混合防碰撞方法将标签的识别过程分为两个阶段,第一阶段读写器通过向其工作域内的标签广播一个Query命令,该命令规定一个固定长度的时隙帧L,标签在该帧中随机选择一个时隙响应读写器命令,若时隙产生碰撞,则碰撞标签可以通过两种AMS方法进行识别,可以提高标签识别性能,而且利用时分复用TDMA的思想将标签进行分组,缩小了每次标签查询的范围;同时采用的AMS方法消除了空闲查询并降低了碰撞次数,提高了识别效率和安全性;同时结合了ALOHA-based方法和tree-based方法各自的优点,解决了由于随机过程的不确定性带来的标签饥饿问题,消除了传统tree-based方法中的空闲查询,同时无需估计标签数,降低了计算复杂度;并且突破了传统方法对标签数量的限制,同时不受标签ID分布的影响,特别适用于大容量多标签RFID系统。
附图说明
图1是本发明提出的一种用于大容量多标签RFID系统的混合防碰撞方法流程框图;
图2是AMS方法1的流程图;
图3是AMS方法1中读写器采用的自定义命令QueryP与标签的交互流程;
图4是AMS方法2的流程图;
图5是发明方法识别8个标签的一个实例;
图6是本发明方法在识别速度上的优势曲线;
图7是本发明方法在能量效率上的优势曲线。
具体实施方式
下面结合附图和具体的实施例对本发明作进一步的阐述。
如图1所示为本发明一种用于大容量多标签RFID系统的混合防碰撞方法的流程框图,具体包括:
步骤1:读写器初始化清零,读写器时隙计数器Sc、空闲时隙数Ne、碰撞时隙数Nc以及成功时隙数Nr的值均为0;
步骤2:读写器向其覆盖范围内的标签广播一个Query命令,所述Query命令规定一个固定长度的时隙帧L=2Q,读写器时隙计数器Sc=Sc+1;
步骤3:所述读写器覆盖范围内的待识别标签接收到读写器的Query命令,提取命令中的Q值,该Q值为所述步骤2中时隙帧L=2Q中的Q值,在[1,L]中随机产生一个数加载到自己的计数器上,并且比较计数器的值与当前读写器Sc的值,若相等,则响应读写器的Query命令并回复自己的ID,否则不予响应;
步骤4:读写器接收标签应答,如果没有接收到标签回复,则表示在读写器覆盖范围内没有待识别的标签,此时将Ne=Ne+1;
如果接收到的应答没有碰撞产生,则表示成功将标签识别,此时将Nr=Nr+1;
如果接收到的应答发生碰撞,则表示当前时隙内有多个标签同时响应,此时将Nc=Nc+1并将当前Sc的值放入时隙堆栈;
步骤5:当前读写器时隙计数器Sc=Sc+1,判断当前Sc的值是否达到最大值L,若是则跳转到步骤8,否则发送QueryRep命令;
步骤6:所述读写器覆盖范围内的待识别标签接收到读写器的QueryRep命令,并判断自身计时器的值与当前读写器Sc的值,若相等,则响应读写器的QueryRep命令并回复自己的ID,否则不予响应;
步骤7:跳转到步骤4;
步骤8:统计本轮查询过程中的Ne,Nc和Nr的值,并判断Ne-6*Nc的值是否超过设定门限值,若是则跳转到步骤9,若否则将Ne,Nr和Nc值清零,Q=Q+1并跳转到步骤2;其中,当帧长度L=2n时,n为待识别标签数,可以推导出Ne:Nr:Nc=2:1:7/24,其推导过程属于现有技术,本发明申请方案不再作详细描述,因此可以根据这个比值来设定一定的门限值,通过Ne-6*Nc的值来验证当前的L值是否合适,该“*”代表相乘的意思;
步骤9:读写器采用基于碰撞因子的自适应多进制树查询AMS方法识别未识别标签。
在本发明中标签的ID采用曼彻斯特编码方式,因为根据曼彻斯特编码,读写器可以正确识别发生碰撞的二进制位的位置。
本发明方法过程结构清晰,实现方便,主要可以分为两个阶段,第一阶段是利用帧时隙分离和识别阶段,第二阶段是利用AMS方法识别阶段;其中AMS方法识别阶段本发明申请方案提供了两种方法进行识别,下面将结合附图进行详细说明:
如图2所示为AMS方法1的流程图,其具体包括:
步骤9.1:读写器检测时隙堆栈是否为空,若为空则跳转到步骤9.9,否则读写器从时隙堆栈中提取出一个时隙值并等待发送查询命令;
步骤9.2:读写器从前缀堆栈中提取出一个查询前缀(首次查询前缀prefix为空串,即让所有计数器值等于当前读写器时隙值的标签响应),结合当前时隙值然后向标签发送查询命令;
步骤9.3:标签接收读写器的查询命令,并比较自身的计数器的值与当前时隙值,若相等,则响应读写器当前查询命令,并回复自己的ID;
步骤9.4:读写器接收标签的响应,若无碰撞,则成功识别标签并跳转到步骤9.8;若碰撞,则计算碰撞因子(碰撞因子定义为发生碰撞的比特位数与标签ID长度之比);若碰撞因子大于等于0.75,则跳转到步骤9.5;若碰撞因子小于0.75,记首位碰撞位为Dc,产生两个新的查询前缀,将Dc分别设置成0或1,余下部分由查询前缀与接收到的ID中首位碰撞位之前的部分组成,并将两个新的查询前缀放入前缀堆栈,并跳转到步骤9.8;其中,所述0.75是理论推导出来的一个值,该推导过程属于现有就技术,在本发明方案中不再作详细描述;
步骤9.5:读写器发送自定义命令QueryP令标签返回一个4bit的数据,这个数据可以准确反映标签碰撞的首两位信息;
步骤9.6:标签对自定义命令QueryP进行响应,将首两位碰撞数据(00或01或10或11)转换成十进制数x,然后向读写器返回一个4bit数据,这个数据Dx位置1,其余位置0;
步骤9.7:读写器根据接收到的4bit数据,解析出标签首两位碰撞数据的具体指00/01/10/11,并将它们置于查询前缀prefix后产生新的查询前缀,并将这些新前缀放入前缀堆栈;
步骤9.8:判断当前前缀堆栈是否为空,若为空,则跳转到步骤9.1,否则跳转到步骤9.2;
步骤9.9:整个标签识别过程结束。
如图3所述AMS方法1中所提到的自定义命令QueryP的具体实施过程,当读写器检测到碰撞时,计算碰撞因子,此时碰撞因子等于0.75,读写器会先发送一个自定义命令QueryP要求标签响应其首两位的具体信息;从图中可以看到标签将自己的首两位碰撞信息转换成十进制数x,然后返回一个4bit的数据,其中Dx位为1,其余各位为0;读写器接收到标签的响应数据0xx0后,判断D2,D1位碰撞,由此可以得知发生碰撞的标签的最高碰撞位和次高碰撞位的具体碰撞信息分别为01和10,因此后续查询命令会分别将01和10加在原先的查询序列之后生成新的查询命令。
如图4所示为AMS方法2的流程图,其具体包括:
步骤9.1:读写器检测时隙堆栈是否为空,若为空则跳转到步骤9.6,否则读写器从时隙堆栈中提取出一个时隙值并等待发送查询命令;
步骤9.2:读写器从前缀堆栈中提取出一个查询前缀(首次查询前缀prefix为空串,即让所有计数器值等于当前读写器时隙值的标签响应),结合当前时隙值然后向标签发送查询命令;
步骤9.3:标签接收读写器的查询命令,并比较自身的计数器的值与当前时隙值,若相等,则响应读写器当前查询命令,并回复自己的ID与查询前缀prefix相匹配部分的余下部分的首两位,同时这两位数据会根据映射表转换成四比特数据并发送给读写器;
步骤9.4:读写器接收到标签的响应数据,若发生碰撞,则将首两位碰撞位分别设置成00/01/10/11,并将它们置于查询前缀prefix后产生新的查询前缀,并将这些新前缀放入前缀堆栈;若无碰撞,说明当前时隙值下的标签ID的首两位相同,则根据映射表将这两位置于查询前缀prefix后,产生新的查询前缀,并将新个前缀放入前缀堆栈;
步骤9.5:判断当前前缀堆栈是否为空,若为空,则跳转到步骤9.1,否则跳转到步骤9.2;
步骤9.6:整个标签识别过程结束。
如下表1所示给出了AMS方法2中所使用的映射表,根据映射表读写器能够快速获取标签碰撞信息,避免空闲时隙,同时加快查询速度。
表1映射表
2bit(碰撞位) | 4bit(映射数据) |
00 | 0001 |
01 | 0010 |
10 | 0100 |
11 | 1000 |
由图2和图4给出的AMS方法1和AMS方法2的流程图可知,两种方法的差别在于,一种是基于碰撞因子和自定义命令QueryP来确定新的查询前缀,另一种是直接利用标签返回的映射数据来确定新的查询前缀,不难看出,后者无需额外的自定义命令,且不需要标签返回完整的ID信息,因此性能更优。
为了本领域技术人员能够理解并且实施本发明技术方案,下面将结合具体实施例对本发明申请方案作详细说明:
如图5所示下面以10个标签的识别过程为例,并采用AMS方法2来具体说明本发明技术方案,10个标签分别为00110011、01000101、01011101、01001010、00010011、00010001、11011110、11111000、10011011、11110110,根据图1所示的方法流程图以及图5所示的映射表,本发明的具体实施步骤如下:
步骤1:读写器向工作域内的标签广播一个Query命令,此时帧长度L=4;如图6所示,标签T3、T10选择在时隙1响应,标签T5选择在时隙2响应,标签T1、T2、T6、T8以及T9选择在时隙3响应,标签T4、T7选择在时隙4响应;由于时隙2为成功时隙,因此标签T5在此时隙被成功识别;其余时隙均为碰撞时隙,根据本发明方法的原理,时隙号1、3、4被压入时隙堆栈,便于AMS方法识别。后续读写器会根据时隙堆栈的信息,分别对计时器的值等于1、3、4的碰撞标签进行识别。
步骤2:读写器从时隙堆栈中提取时隙号1,发送空串查询,使得所有计数器值等于1的标签响应,并回复自身ID与查询前缀prefix相匹配部分的剩余部分首两位的映射数据;根据映射表,标签T3、T10分别回复0010和1000,读写器接收到响应数据x0x0判断出碰撞信息中存在01和11前缀,并将这两个前缀压入前缀堆栈;读写器发送查询前缀01,此时标签T3响应并回复0010,无碰撞发生,所以T3被成功识别;读写器继续发送查询前缀11,此时标签T10响应并回复1000,无碰撞发生,所以标签T10被成功识别;此时前缀堆栈为空,对计数器值为1的标签识别结束;
步骤3:读写器从时隙堆栈中提取时隙号3,发送空串查询,使得所有计数器值等于3的标签响应,并回复自身ID与查询前缀prefix相匹配部分的剩余部分首两位的映射数据;根据映射表,标签T1、T2、T6、T8以及T9响应,并回复数据0001,0010,0001,1000,0100,读写器接收到响应数据xxxx判断出碰撞信息中存在前缀00,01,10,11并压入堆栈;读写器发送查询前缀00,此时标签T1、T6响应并回复数据1000和0010,读写器接收到响应数据x0x0,此时读写器判断出碰撞信息中存在01和11前缀并将它们压入堆栈;读写器发送查询前缀0001,此时只有标签T6响应并回复数据0001,无碰撞发生,T6被成功识别;读写器继续发送查询前缀0011,标签T1响应并回复数据0001,无碰撞发生,T1被成功识别;读写继续发送查询前缀01,标签T2响应并回复数据0001,无碰撞发生,T2被成功识别;读写器继续发送查询前缀10,标签T9响应并回复数据0010,无碰撞发生,T9被成功识别;读写器发送查询前缀11,标签T8响应并回复数据1000,无碰撞发生,T8被成功识别;此时前缀堆栈为空,对计时器值为3的标签识别结束;
步骤4:与上述步骤类似,对计数器值为4的标签也被成功识别;
步骤5:此时时隙堆栈为空,读写器工作域内的所有标签均被成功识别。
图6、图7分别给出了与经典防碰撞方法相比较,本发明方法在识别效率和能量效率上的优势,其中CT为碰撞树方法,DFSA为动态帧时隙ALOHA方法,EDFSA为增强型动态帧时隙ALOHA方法,Splitting BTSA为分离二进制树时隙ALOHA方法。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为发明的保护范围并不局限于这样的特别陈述和实施例。凡是根据上述描述做出各种可能的等同替换或改变,均被认为属于本发明的权利要求的保护范围。
Claims (2)
1.一种用于大容量多标签RFID系统的混合防碰撞方法,其特征在于,具体包括:
步骤1:读写器初始化清零,读写器时隙计数器Sc、空闲时隙数Ne、碰撞时隙数Nc以及成功时隙数Nr的值均为0;
步骤2:读写器向其覆盖范围内的标签广播一个Query命令,所述Query命令规定一个固定长度的时隙帧L=2Q,读写器时隙计数器Sc=Sc+1;
步骤3:所述读写器覆盖范围内的待识别标签接收到读写器的Query命令,提取命令中的Q值,在[1,L]中随机产生一个数加载到自己的计数器上,并且比较计数器的值与当前读写器Sc的值,若相等,则响应读写器的Query命令并回复自己的ID,否则不予响应;
步骤4:读写器接收标签应答,如果没有接收到标签回复,则表示在读写器覆盖范围内没有待识别的标签,此时将Ne=Ne+1;
如果接收到的应答没有碰撞产生,则表示成功将标签识别,此时将Nr=Nr+1;
如果接收到的应答发生碰撞,则表示当前时隙内有多个标签同时响应,此时将Nc=Nc+1并将当前Sc的值放入时隙堆栈;
步骤5:当前读写器时隙计数器Sc=Sc+1,判断当前Sc的值是否达到最大值L,若是则跳转到步骤8,否则发送QueryRep命令;
步骤6:所述读写器覆盖范围内的待识别标签接收到读写器的QueryRep命令,并判断自身计时器的值与当前读写器Sc的值,若相等,则响应读写器的QueryRep命令并回复自己的ID,否则不予响应;
步骤7:跳转到步骤4;
步骤8:统计本轮查询过程中的Ne,Nc和Nr的值,并判断Ne-6*Nc的值是否超过设定门限值,若是则跳转到步骤9,若否则将Ne,Nr和Nc值清零,Q=Q+1并跳转到步骤2;
步骤9:读写器采用基于碰撞因子的自适应多进制树查询AMS方法识别未识别标签,
所述步骤9中AMS方法具体包括:
步骤9.1:读写器检测时隙堆栈是否为空,若为空则跳转到步骤9.9,否则读写器从时隙堆栈中提取出一个时隙值并等待发送查询命令;
步骤9.2:读写器从前缀堆栈中提取出一个查询前缀,结合当前时隙值向覆盖范围内的标签发送查询命令;
步骤9.3:标签接收读写器的查询命令,并比较自身的计数器的值与当前时隙值,若相等,则响应读写器当前查询命令并回复自己的ID,否则不予响应;
步骤9.4:读写器接收标签的响应,若无碰撞,则表示成功识别标签并跳转到步骤9.8;若碰撞,则计算碰撞因子,所述碰撞因子定义为发生碰撞的比特数与标签ID长度之比;若碰撞因子大于等于0.75,则跳转到步骤9.5;若碰撞因子小于0.75,记首位碰撞位为Dc,产生两个新的查询前缀,将Dc分别设置成0或1,余下部分由查询前缀与接收到的ID中首位碰撞位之前的部分组成,并将两个新的查询前缀放入前缀堆栈,并跳转到步骤9.8;
步骤9.5:读写器发送自定义命令QueryP令标签返回一个4bit的数据,该数据用于反映标签碰撞的首两位信息;
步骤9.6:标签对自定义命令QueryP进行响应,将首两位碰撞数据转换成十进制数x,然后向读写器返回一个4bit数据,该数据Dx位置为1,其余位置为0;
步骤9.7:读写器根据接收到的4bit数据,解析出标签首两位碰撞数据,并将它们置于查询前缀prefix后产生新的查询前缀,并将这些新前缀放入前缀堆栈;
步骤9.8:判断当前前缀堆栈是否为空,若为空,则跳转到步骤9.1,否则跳转到步骤9.2;
步骤9.9:整个标签识别过程结束;
或者,
所述步骤9中AMS方法具体包括:
步骤9.1:读写器检测时隙堆栈是否为空,若为空则跳转到步骤9.6,否则读写器从时隙堆栈中提取出一个时隙值并等待发送查询命令;
步骤9.2:读写器从前缀堆栈中提取出一个查询前缀,结合当前时隙值向覆盖范围内的标签发送查询命令;
步骤9.3:标签接收读写器的查询命令,并比较自身的计数器的值与当前时隙值,若相等,则响应读写器当前查询命令,并回复自己的ID与查询前缀prefix相匹配部分的余下部分的首两位,同时将这两位数据根据映射表转换成四比特数据并发送给读写器;
步骤9.4:读写器接收到标签的响应数据,若发生碰撞,则将首两位碰撞位分别设置成00/01/10/11,并将它们置于查询前缀prefix后产生新的查询前缀,并将这些新前缀放入前缀堆栈;若无碰撞,说明当前时隙值下的标签ID的首两位相同,则根据映射表将这两位置于查询前缀prefix后,产生新的查询前缀,并将新个前缀放入前缀堆栈;
步骤9.5:判断当前前缀堆栈是否为空,若为空,则跳转到步骤9.1,否则跳转到步骤9.2;
步骤9.6:整个标签识别过程结束。
2.如权利要求1所述的一种用于大容量多标签RFID系统的混合防碰撞方法,其特征在于,所述步骤9.2中首次查询前缀prefix为空串,即让所有计数器值等于当前读写器时隙值的标签响应。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410033760.2A CN103902942B (zh) | 2014-01-23 | 2014-01-23 | 一种用于大容量多标签rfid系统的混合防碰撞方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410033760.2A CN103902942B (zh) | 2014-01-23 | 2014-01-23 | 一种用于大容量多标签rfid系统的混合防碰撞方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103902942A CN103902942A (zh) | 2014-07-02 |
CN103902942B true CN103902942B (zh) | 2016-11-02 |
Family
ID=50994255
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410033760.2A Active CN103902942B (zh) | 2014-01-23 | 2014-01-23 | 一种用于大容量多标签rfid系统的混合防碰撞方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103902942B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104134052B (zh) * | 2014-07-10 | 2016-11-16 | 广东工业大学 | 一种基于自适应分组机制的rfid防碰撞方法 |
CN106919879B (zh) * | 2015-12-28 | 2020-03-13 | 航天信息股份有限公司 | 一种双频标签防碰撞设备和方法 |
CN107590408B (zh) * | 2017-08-01 | 2020-05-12 | 广东顺德中山大学卡内基梅隆大学国际联合研究院 | 基于二进制散列的aloha防碰撞方法 |
CN108108643B (zh) * | 2017-12-20 | 2021-02-19 | 深圳市航天华拓科技有限公司 | 一种射频识别防碰撞的最佳q值推算方法和装置 |
CN111523337B (zh) * | 2020-04-21 | 2023-06-09 | 中煤科工集团重庆研究院有限公司 | 基于标签序列号滑动窗口迭代分组的防冲突方法 |
CN112949334B (zh) * | 2021-03-04 | 2022-06-10 | 武汉大学 | 一种基于分组复用的可靠射频识别方法 |
CN114186571B (zh) | 2021-11-08 | 2023-06-09 | 南京信息工程大学 | 一种基于特征组的查询树多标签并发识别方法及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101004780A (zh) * | 2006-01-16 | 2007-07-25 | 北京大学 | 射频识别信息的防碰撞读取方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7193504B2 (en) * | 2001-10-09 | 2007-03-20 | Alien Technology Corporation | Methods and apparatuses for identification |
-
2014
- 2014-01-23 CN CN201410033760.2A patent/CN103902942B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101004780A (zh) * | 2006-01-16 | 2007-07-25 | 北京大学 | 射频识别信息的防碰撞读取方法 |
Non-Patent Citations (3)
Title |
---|
基于AS3992的防碰撞Q算法分析与改进;邓敦建等;《传感器与微系统》;20130331;第32卷(第3期);第8页第1节 * |
基于堆栈的RFID防碰撞算法设计;陆洲艳等;《物流工程与管理》;20120930;第34卷(第9期);第141页第2节 * |
自适应多叉树防碰撞算法研究;丁治国等;《自动化学报》;20100228;第36卷(第2期);第238页第1-2节,图1-4 * |
Also Published As
Publication number | Publication date |
---|---|
CN103902942A (zh) | 2014-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103902942B (zh) | 一种用于大容量多标签rfid系统的混合防碰撞方法 | |
US8477016B2 (en) | Method for identifying tags using adaptive binary tree splitting technique in RFID system and RFID system therefore | |
CN103020568B (zh) | 基于标签id预处理的rfid防碰撞方法 | |
CN104657693B (zh) | 一种基于分组自适应分配时隙的rfid防碰撞方法 | |
Su et al. | An effective frame breaking policy for dynamic framed slotted Aloha in RFID | |
CN104517087B (zh) | 一种rfid多标签识别防碰撞方法 | |
CN103065112B (zh) | 基于模运算标签分类的rfid标签防碰撞识别方法 | |
CN101840489A (zh) | 一种基于碰撞树的多标签识别防碰撞方法 | |
CN105224970B (zh) | 一种rfid防碰撞方法 | |
CN103902941A (zh) | 一种基于连续碰撞位映射的多标签防碰撞方法 | |
CN103020569A (zh) | 一种射频识别多标签防碰撞方法 | |
Su et al. | A New RFID Anti‐collision Algorithm Based on the Q‐Ary Search Scheme | |
Xu et al. | An improved dynamic framed slotted ALOHA anti-collision algorithm based on estimation method for RFID systems | |
Wong et al. | Grouping based bit-slot ALOHA protocol for tag anti-collision in RFID systems | |
CN109740394B (zh) | 一种射频识别防碰撞方法 | |
CN105046181A (zh) | 一种基于查询树方法的多前缀匹配的确定性防碰撞算法 | |
CN104794509B (zh) | 一种基于信息位编码的自适应搜索的rfid防碰撞方法 | |
CN103679092B (zh) | 基于反馈机制的rfid防碰撞算法 | |
CN107895130A (zh) | 一种基于碰撞树的自适应多叉树防碰撞方法 | |
CN111046685A (zh) | 基于分组寻呼的锁位式双前缀探针防碰撞计算方法 | |
CN103218635A (zh) | 一种基于混合多叉树搜索的rfid防碰撞方法 | |
Shakiba et al. | Fitted dynamic framed slotted ALOHA anti-collision algorithm in RFID systems | |
CN112446448A (zh) | 一种dfsa和二进制算法结合的单阅读器识别rfid标签方法 | |
Kalache et al. | Performances comparison of RFID anti-collision algorithms | |
Wang et al. | Anti-collision algorithm for RFID tag identification using fast query tree |
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 |