CN103679092B - RFID Anti-collision Algorithm Based on Feedback Mechanism - Google Patents
RFID Anti-collision Algorithm Based on Feedback Mechanism Download PDFInfo
- Publication number
- CN103679092B CN103679092B CN201310375292.2A CN201310375292A CN103679092B CN 103679092 B CN103679092 B CN 103679092B CN 201310375292 A CN201310375292 A CN 201310375292A CN 103679092 B CN103679092 B CN 103679092B
- Authority
- CN
- China
- Prior art keywords
- tag
- label
- collision
- dimension
- group
- 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
- 230000008713 feedback mechanism Effects 0.000 title claims abstract 6
- 230000007423 decrease Effects 0.000 abstract 1
- 238000001514 detection method Methods 0.000 abstract 1
Landscapes
- Small-Scale Networks (AREA)
- Image Analysis (AREA)
Abstract
Description
技术领域technical field
本发明属于RFID(射频识别)技术领域。涉及一种捕获效应下基于反馈机制的RFID防碰撞算法。The invention belongs to the technical field of RFID (Radio Frequency Identification). It relates to an RFID anti-collision algorithm based on feedback mechanism under capture effect.
背景技术Background technique
无线射频识别技术(RFID)是一种自动识别技术,广泛应用于物流、军事、交通、医药等领域。一个基本的RFID系统主要包括阅读器、标签和天线。每个标签中都有唯一标识的ID号,标签与阅读器之间通过射频信号进行通信。同一个RFID系统中所有标签工作在同一频道,当读写器作用范围内存在多个标签时,并在同一时刻可能有多个标签同时与阅读器进行通信,此时标签之间就会产生碰撞,阅读器因不能同时接收所有信息而造成数据丢失,即产生了标签之间的碰撞。Radio Frequency Identification (RFID) is an automatic identification technology widely used in logistics, military, transportation, medicine and other fields. A basic RFID system mainly includes readers, tags and antennas. Each tag has a unique ID number, and the tag communicates with the reader through radio frequency signals. All tags in the same RFID system work on the same channel. When there are multiple tags within the range of the reader, and there may be multiple tags communicating with the reader at the same time, a collision will occur between the tags , the reader cannot receive all the information at the same time, resulting in data loss, that is, a collision between tags occurs.
现有的标签防碰撞算法中主要有两类:基于ALOHA的随机算法和基于树的确定性算法。当读写器的作用范围内多个标签应答时,离读写器较近的标签可能因为其信号较强而覆盖其他标签的信号,由此产生了捕获效应。基于ALOHA的随机算法通过随机选择时隙向读写器发送数据,相对来说不能保证整个系统的可靠性,信道的利用率也比较低。基于树的算法通过将冲突节点分成0和1左右两个子集,有序地解决了标签中的冲突问题,但是在识别阶段的初期会产生大量的碰撞,而且对捕获效应的处理比较差。在实际中由于存在捕获效应和信道干扰等造成标签漏读的现象,现有的这两种算法中显然是不能做到对全部标签的识别。There are two main types of existing tag anti-collision algorithms: ALOHA-based random algorithms and tree-based deterministic algorithms. When multiple tags within the range of the reader respond, the tag closer to the reader may cover the signals of other tags because of its stronger signal, resulting in a capture effect. The ALOHA-based random algorithm sends data to the reader by randomly selecting time slots. Relatively speaking, the reliability of the entire system cannot be guaranteed, and the utilization rate of the channel is relatively low. The tree-based algorithm solves the conflict problem in labels in an orderly manner by dividing the conflicting nodes into two subsets of 0 and 1. However, a large number of collisions will be generated in the early stage of the recognition stage, and the handling of the capture effect is relatively poor. In practice, due to the phenomenon of missing tags caused by capture effect and channel interference, the existing two algorithms obviously cannot recognize all tags.
发明内容Contents of the invention
本发明的主要目的是提供一种捕获效应下基于反馈机制的RFID防碰撞算法,用以克服传统防碰撞法可靠性差、信道利用率低,由于大量碰撞,标签与读写器之间的距离不同等造成捕获效应处理差、不能做到对全部标签识别等问题。The main purpose of the present invention is to provide an RFID anti-collision algorithm based on a feedback mechanism under the capture effect to overcome the traditional anti-collision method with poor reliability and low channel utilization. Due to a large number of collisions, the distance between the tag and the reader is different etc. resulting in poor handling of the capture effect and inability to identify all tags.
本发明的方案是通过这样实现的:一种基于反馈机制的RFID防碰撞算法,该算法约定标签对象包括随机数产生器TC、计数器GC、标签组号存储器TG,读写器对象包括当前查询维数RN,组数GN,该算法步骤还包括:The solution of the present invention is achieved by: a feedback mechanism-based RFID anti-collision algorithm, the algorithm stipulates that the tag object includes a random number generator TC, a counter GC, and a tag group number memory TG, and the reader object includes the current query dimension Number RN, group number GN, the algorithm steps also include:
步骤1)标签分组:读写器发送Req(GN)命令,初始时GN=15,标签利用标签内的随机数产生器TC生成0-GN之间的随机数,然后将所生成的随机数保存在标签组号存储器TG中,TG的值便是标签所在的组号,标签随机分成GN+1组,即16组,读写器对组号为“0”的标签进行识别,完成对“0”组的识别后,其余组号大于“0”的标签均将组号减一,再开始下一轮对新“0”组标签的识别。Step 1) Tag grouping: the reader sends a Req(GN) command, initially GN=15, the tag uses the random number generator TC inside the tag to generate a random number between 0 and GN, and then saves the generated random number In the tag group number memory TG, the value of TG is the group number of the tag, and the tags are randomly divided into GN+1 groups, that is, 16 groups. After the identification of the group ", the remaining tags whose group numbers are greater than "0" will have their group numbers reduced by one, and then start the next round of identification of the new "0" group tags.
步骤2)标签组内分维识别:首先读写器初始化当前查询维数RN,发送查询命令Req(X,RN),依据标签前缀与计数器GC的对应关系对GC赋值,然后读写器接收数据GC值,发送查询命令Request(X,RN,gc),最后读写器检测碰撞情况,依据数据碰撞与标签前缀的判断关系获取命令参数,判断堆栈。Step 2) Fractal dimension recognition within the tag group: first, the reader initializes the current query dimension RN, sends the query command Req(X, RN), assigns a value to GC according to the corresponding relationship between the tag prefix and the counter GC, and then the reader receives the data GC value, send the query command Request(X, RN, gc), and finally the reader detects the collision, obtains the command parameters according to the judgment relationship between the data collision and the tag prefix, and judges the stack.
步骤3)标签反馈识别:首先读写器求出[M/V],令GN=[M/V] -1并反馈给标签,然后标签产生0-GN之间的随机数作为标签组号,存于标签组号存储器TG中,选择组号为0的标签响应,最后检测碰撞情况,算法结束。Step 3) Tag feedback identification: first, the reader calculates [M/V], sets GN=[M/V] -1 and feeds back to the tag, and then the tag generates a random number between 0-GN as the tag group number, Stored in the tag group number memory TG, select the tag whose group number is 0 to respond, and finally detect the collision situation, and the algorithm ends.
作为本发明的进一步解释说明,所述的标签其ID号由非“0”即“1”的二进制位组成,每个标签将其ID从左至右每四个二进制位分为一维。As a further explanation of the present invention, the ID number of the tag is composed of binary bits that are not "0" or "1", and each tag divides its ID into one dimension every four binary bits from left to right.
作为本发明的进一步改进,所述步骤2)标签组内分维识别其识别过程步骤包括:As a further improvement of the present invention, the identification process steps of step 2) fractal dimension identification within the tag group include:
步骤2-1,读写器初始化当前查询维数RN=1,查询前缀X=null,当X为null时,组号为0的标签均相应。Step 2-1, the reader initializes the current query dimension RN=1, the query prefix X=null, when X is null, the tags with the group number 0 are all corresponding.
步骤2-2,发送查询命令Req(X,RN),将RN,X告知标签,标签检测其RN中“1”的个数及位置关系,依据标签前缀与计数器GC的对应关系对GC赋值,并向读写器反馈表示GC值的信息序列。Step 2-2, send the query command Req(X, RN), inform the tag of RN, X, the tag detects the number and positional relationship of "1" in its RN, and assigns a value to GC according to the corresponding relationship between the tag prefix and the counter GC, And feed back the information sequence representing the GC value to the reader.
步骤2-3,读写器接收数据GC值,将获知的GC值、X、RN入栈,并获取栈顶元素。Step 2-3, the reader receives the data GC value, pushes the learned GC value, X, and RN into the stack, and obtains the top element of the stack.
步骤2-4,发送查询命令Request(X,RN,gc)要求前缀与X匹配且GC=gc的标签返回其第RN维及其以后的数据。Step 2-4, send the query command Request(X, RN, gc) to request the label whose prefix matches X and GC=gc to return the data of dimension RN and beyond.
步骤2-5,读写器检测碰撞情况,若产生碰撞且RN不是最后一维,则根据查询维中的数据碰撞与标签前缀的判断关系,获取当前存在的标签前缀并将前缀,当前的GC值和查询维数RN=RN+1入栈,获取栈顶元素,返回步骤2-2;若无碰撞或RN为最后一维,则直接识别标签并将其屏蔽后转到步骤2-6。Step 2-5: The reader detects the collision. If there is a collision and the RN is not the last dimension, then according to the judgment relationship between the data collision and the label prefix in the query dimension, the currently existing label prefix is obtained and the prefix, the current GC Value and query dimension RN=RN+1 are pushed onto the stack, get the top element of the stack, and return to step 2-2; if there is no collision or RN is the last dimension, directly identify the tag and mask it, then go to step 2-6.
步骤2-6,判断堆栈,若堆栈为空,则转至步骤2-7;若不为空,则采用后退策略,从堆栈中获取栈顶元素,返回步骤2-4。Step 2-6, judge the stack, if the stack is empty, go to step 2-7; if it is not empty, adopt the back-off strategy, get the top element from the stack, and return to step 2-4.
步骤2-7,若堆栈为空,其余组号大于“0”的标签均将组号减一,由于漏读的组号为“0”的标签保持组号“0”不变,再对新的“0”组标签进行识别,返回步骤2-1;若所有标签组号为“0”且堆栈为空,则结束步骤2)。Step 2-7, if the stack is empty, the group numbers of the remaining labels greater than "0" will be reduced by one, and the group number "0" of the missed-read label with the group number "0" will remain unchanged, and then the new If all the tag group numbers are "0" and the stack is empty, then end step 2).
作为本发明的进一步解释说明,所述步骤3)标签反馈识别其识别过程步骤包括:As a further explanation of the present invention, the identification process steps of step 3) label feedback identification include:
步骤3-1,读写器用已识别的16组标签信息进行反馈,求出16组中的已识别标签的最大数M和平均数V,求出[M/V],令GN=[M/V] -1,发送命令Req(GN)。Step 3-1, the reader uses the identified 16 groups of tag information to give feedback, find the maximum number M and the average number V of the identified tags in the 16 groups, and find [M/V], let GN=[M/ V] -1, send command Req(GN).
步骤3-2,标签产生0-[GN]之间的随机数作为标签组号,存于标签组号存储器TG中,读写器选择组号为“0”的标签响应。In step 3-2, the tag generates a random number between 0-[GN] as the tag group number and stores it in the tag group number memory TG, and the reader selects the tag whose group number is "0" to respond.
步骤3-3,组号为“0”的标签产生“0”、“1”随机数,选择随机数为“0”的标签响应。In step 3-3, the tag whose group number is "0" generates random numbers "0" and "1", and selects the tag whose random number is "0" to respond.
步骤3-4,检测碰撞情况,若产生碰撞,则随机数非“0”的标签将其随机数加一,随机数为“0”的标签重新产生“0”、“1”随机数,返回步骤3-4,重新检测碰撞情况;若只有一个标签响应,则识别标签并将其屏蔽后向其他标签反馈其ID,转至步骤3-5;若无标签响应,则读写器要求未识别的标签返回其随机数,检测接收的数据,若有标签响应则转至步骤3-5;若无标签返回其随机数,则转至步骤3-6。Step 3-4: Detect the collision. If there is a collision, the tag whose random number is not "0" will add one to its random number, and the tag with the random number "0" will regenerate the random numbers "0" and "1", and return Step 3-4, re-detect the collision situation; if only one tag responds, identify the tag and shield it, then feed back its ID to other tags, and go to step 3-5; if no tag responds, the reader requires no recognition The tag returns its random number, detects the received data, and if there is a tag response, go to step 3-5; if no tag returns its random number, go to step 3-6.
步骤3-5,随机数非“0”的标签将随机数减一,返回步骤3-4。In step 3-5, the label whose random number is not "0" subtracts one from the random number, and returns to step 3-4.
步骤3-6,所有标签组号为“0”,则结束整个识别过程;否则组号非“0”的标签将组号减一,再选择组号为“0”的标签响应返回步骤3-3。Step 3-6, if the group number of all tags is "0", the entire identification process will end; otherwise, the group number of the tag whose group number is not "0" will be reduced by one, and then select the tag whose group number is "0" to respond and return to step 3- 3.
作为本发明的进一步限定,所述步骤2)中的标签前缀与计数器GC的对应关系为GC=1时,标签前缀为0001 0010 0100 1000;GC=2时,标签前缀为1010 1001 1100;GC=3时,标签前缀为0111 1011 1110 1101;GC=4时,标签前缀为0000 1111;GC=5时,标签前缀为00110110 0101。As a further limitation of the present invention, the corresponding relationship between the label prefix and the counter GC in step 2) is that when GC=1, the label prefix is 0001 0010 0100 1000; when GC=2, the label prefix is 1010 1001 1100; GC= When 3, the label prefix is 0111 1011 1110 1101; when GC=4, the label prefix is 0000 1111; when GC=5, the label prefix is 00110110 0101.
作为本发明的进一步限定,所述步骤2)中的数据碰撞与标签前缀的判断关系为:As a further limitation of the present invention, the judgment relationship between the data collision and the label prefix in the step 2) is:
在GC=1中只有一个二进制位为1,若某一位发生碰撞,则分别将该碰撞位置1,其余位置0,依次获得当前查询维中存在的标签前缀。In GC=1, only one binary bit is 1. If a certain bit collides, the collision position is 1, and the other positions are 0, and the label prefixes existing in the current query dimension are sequentially obtained.
在GC=3中只有一个二进制位为0,若某一位发生碰撞,则分别将该碰撞位置0,其余位置1,依次获得当前查询维中存在的标签前缀。In GC=3, only one binary bit is 0. If a certain bit collides, the collision position is 0, and the other positions are 1, and the label prefixes existing in the current query dimension are obtained in turn.
在GC=4中只有当前查询维中前缀是0000或1111的标签,若发生碰撞,即说明同时存在0000和1111。In GC=4, there are only labels whose prefixes are 0000 or 1111 in the current query dimension. If a collision occurs, it means that 0000 and 1111 exist at the same time.
在GC=2中1的个数为2,但最左位均为1,若某一位发生碰撞,则分别把相应的碰撞位置1,其余位置0,依次获得当前查询维中存在的标签前缀。In GC=2, the number of 1 is 2, but the leftmost bit is 1. If a certain bit collides, the corresponding collision position is set to 1, and the other positions are 0, and the label prefixes existing in the current query dimension are obtained in turn. .
在GC=5中1的个数为2,但最左位为0,若某一位发生碰撞,则分别把相应的碰撞位置0,其余位置1,依次获得当前查询维中存在的标签前缀。In GC=5, the number of 1 is 2, but the leftmost bit is 0. If a certain bit collides, the corresponding collision position is set to 0, and the other positions are set to 1, and the label prefixes existing in the current query dimension are sequentially obtained.
本发明具备良好效果和实质性进步:减少了识别初期产生的过多碰撞,通过将标签进行分维识别,加快了标签产生碰撞时的处理速度,在相同条件下,标签产生碰撞时的处理速度平均提高大约25%,识别时间平均减少大约28%,大大减少了识别时间;同时考虑了捕获效应和信道干扰等而产生的标签漏读问题,将已识别的标签信息进行反馈,识别率平均提高到99%以上,大大提高了标签的识别率。The present invention has good effects and substantial progress: it reduces the excessive collisions at the initial stage of identification, and speeds up the processing speed when labels collide by performing fractal recognition on tags. Under the same conditions, the processing speed when tags collide The average increase is about 25%, and the recognition time is reduced by about 28% on average, which greatly reduces the recognition time; at the same time, the problem of missed reading of tags caused by capture effect and channel interference is considered, and the recognized tag information is fed back, and the recognition rate is improved on average. To more than 99%, greatly improving the recognition rate of the label.
附图说明Description of drawings
图1.本发明标签分组和标签组内分维识别步骤算法流程图。Fig. 1. The algorithm flow chart of tag grouping and fractal dimension recognition step within tag group in the present invention.
图2.本发明标签反馈识别步骤算法流程图。Fig. 2. Algorithm flow chart of tag feedback identification steps in the present invention.
具体实施方式detailed description
以下结合实施例和附图描述本发明,这些描述并不是对本发明内容作进一步的限定。实施例中算法约定标签对象包括随机数产生器TC、计数器GC、标签组号存储器TG,读写器对象包括当前查询维数RN,组数GN。The present invention is described below in conjunction with the embodiments and accompanying drawings, and these descriptions are not intended to further limit the content of the present invention. The algorithm stipulates in the embodiment that the tag object includes a random number generator TC, a counter GC, and a tag group number storage TG, and the reader/writer object includes the current query dimension RN and the group number GN.
实施例1Example 1
(1)步骤1)标签分组:为减少识别阶段初期因标签数量过多而产生大量的碰撞,首先将标签进行随机分组。本发明中,读写器发送命令Req(GN),GN=15,标签利用标签内的随机数产生器TC生成0-15之间的随机数,然后将所生成的随机数保存在标签组号存储器TG中,TG的值便是标签所在的组号。读写器选择组号为0的标签进行识别。(1) Step 1) Tag grouping: In order to reduce a large number of collisions caused by too many tags in the early stage of recognition, the tags are first randomly grouped. In the present invention, the reader sends the command Req(GN), GN=15, the tag uses the random number generator TC in the tag to generate a random number between 0 and 15, and then saves the generated random number in the tag group number In the memory TG, the value of TG is the group number where the tag is located. The reader selects the tag whose group number is 0 for identification.
(2)步骤2) 标签组内分维识别:在组内采用分维识别算法。其具体流程如图1所示,算法分为以下几步:(2) Step 2) Fractal dimension recognition within the label group: Use the fractal dimension recognition algorithm within the group. The specific process is shown in Figure 1, and the algorithm is divided into the following steps:
1)标签ID由非0即1的二进制位组成,唯一标识一个标签,左边为高位。首先标签将其ID从高位到低位每四个二进制位分成一维,由此可将标签分成若干维,如1,2,3维。例如标签ID为0100110001111110,则可以分为四维,其中第1、2、3、4维分别是0100 、1100 、0111、 1110 。1) The tag ID consists of binary bits that are either 0 or 1, uniquely identifying a tag, and the left side is the high bit. First, the tag divides its ID into one dimension every four binary bits from the high bit to the low bit, so the tag can be divided into several dimensions, such as 1, 2, and 3 dimensions. For example, if the tag ID is 0100110001111110, it can be divided into four dimensions, where the 1st, 2nd, 3rd, and 4th dimensions are 0100, 1100, 0111, and 1110 respectively.
2)读写器初始化当前查询维数RN=1,查询前缀X=null,当X=null时,组号为0的所有标签均响应。2) The reader initializes the current query dimension RN=1, and the query prefix X=null. When X=null, all tags whose group number is 0 respond.
3)发送查询命令Req(X,RN),将X,RN告知标签;读写器根据第RN维中1的个数及位置关系,依据查询维中的标签前缀与计数器GC的对应关系(如表1)对GC赋值,并向读写器反馈表示GC值的信息序列。3) Send the query command Req(X, RN) to inform the tag of X, RN; the reader is based on the number and position relationship of 1 in the RN dimension, and the corresponding relationship between the tag prefix in the query dimension and the counter GC (such as Table 1) Assign a value to the GC and feed back the information sequence representing the GC value to the reader.
①查询维中的标签前缀与GC的关系如下:如当前查询标签的第RN维数据,标签第RN维中1的个数分别为1和3,则相应的GC分别为1和3;1的个数为0或4,则GC=4;1的个数为2且最高位为1,则GC=2,;1的个数为2且最高位为0,则GC=5。① The relationship between the label prefix in the query dimension and GC is as follows: For example, if the RNth dimension data of the current query label, the number of 1s in the RNth dimension of the label is 1 and 3 respectively, then the corresponding GCs are 1 and 3 respectively; The number is 0 or 4, then GC=4; the number of 1 is 2 and the highest bit is 1, then GC=2; the number of 1 is 2 and the highest bit is 0, then GC=5.
②标签向读写器发送GC值的规则如下:标签将GC值用长度为5的二进制表示,用1的位置表示GC的值。如标签的GC=4,则标签发送的数据为01000。②The rules for the tag to send the GC value to the reader are as follows: the tag expresses the GC value in binary with a length of 5, and uses the position of 1 to represent the GC value. If the tag's GC=4, the data sent by the tag is 01000.
表1.查询维中的标签前缀与计数器GC的对应关系Table 1. Correspondence between label prefixes in the query dimension and counter GC
4)读写器接收数据,将获知存在的GC值、X、RN入栈,获取栈顶元素。4) The reader/writer receives the data, pushes the existing GC value, X, and RN into the stack, and obtains the top element of the stack.
5)发送查询命令Request(X,RN,gc),要求前缀与X匹配且GC=gc的标签返回其第RN维及其以后的数据;如X=0100,gc=3,RN=1,则要求标签前缀为0100且计数器GC=3的标签返回其第1维及第1维以后的数据。5) Send the query command Request(X, RN, gc), requesting that the prefix matches X and the label with GC=gc returns the data of its RNth dimension and beyond; if X=0100, gc=3, RN=1, then It is required that the tag whose tag prefix is 0100 and whose counter GC=3 returns the data of the first dimension and beyond.
6)读写器检测碰撞情况,若产生碰撞且RN不是最后一维,则根据查询维的数据碰撞与标签前缀的判断关系,获取当前存在的标签前缀并将前缀、当前GC值和查询维数RN=RN+1入栈。获取栈顶元素,返回3);若无碰撞或RN为最后一维,则直接识别标签并将其屏蔽,转到7)。6) The reader detects the collision situation. If a collision occurs and RN is not the last dimension, then according to the judgment relationship between the data collision of the query dimension and the label prefix, the currently existing label prefix is obtained and the prefix, current GC value and query dimension RN=RN+1 is pushed into the stack. Get the top element of the stack, return 3); if there is no collision or RN is the last dimension, directly identify the label and mask it, and go to 7).
维数的数据碰撞与标签前缀的判断关系如下:The judgment relationship between the data collision of the dimension and the label prefix is as follows:
A:在GC=1中因为只有一个二进制位为1,所以如果某一位发生碰撞,则分别将该碰撞位置“1”,其余位置“0”,依次获得当前查询维中存在的标签前缀。如在GC=1中,读写器检测到碰撞位的情况为xxx0,则说明存在前缀1000,0100,0010前缀。A: In GC=1, only one binary bit is 1, so if a certain bit collides, the collision position is "1", and the other positions are "0", and the label prefixes existing in the current query dimension are sequentially obtained. For example, in GC=1, if the reader detects a collision bit as xxx0, it means that there are prefixes of 1000, 0100, and 0010.
B:在GC=3中因为只有一个二进制位为“0”,所以如果某一位发生碰撞,则分别将该碰撞位置“0”,其余位置“1”,依次获得当前查询维中存在的标签前缀。如在GC=1中,读写器检测到碰撞位的情况为xxx0,则说明存在前缀1000,0100,0010前缀。B: Because only one binary bit is "0" in GC=3, if a certain bit collides, the collision position is "0", and the remaining positions are "1", and the tags existing in the current query dimension are obtained in turn prefix. For example, in GC=1, if the reader detects a collision bit as xxx0, it means that there are prefixes of 1000, 0100, and 0010.
C:在GC=4中,因为只有当前查询维中前缀是0000或1111的标签,所以如果发生碰撞,即xxxx,则说明同时存在0000和1111。C: In GC=4, because there are only labels whose prefixes are 0000 or 1111 in the current query dimension, if a collision occurs, that is, xxxx, it means that 0000 and 1111 exist at the same time.
D: GC=2和GC=5中“1”的个数均为2,区别在于最高位是“0”或“1”。在GC=2中,最高位均为“1”,且因为“1”的个数为2,所以如果某一位发生碰撞,则分别把相应的碰撞位置“1”,其余位置“0”,依次获得当前查询维中存在的标签前缀。如,在GC=2中,读写器接收到的数据为1x0x,则存在的前缀为1100,和1001。D: The number of "1" in GC=2 and GC=5 is 2, the difference is that the highest bit is "0" or "1". In GC=2, the highest bit is "1", and because the number of "1" is 2, if a certain bit collides, the corresponding collision position is "1", and the other positions are "0". Get the tag prefixes that exist in the current query dimension in turn. For example, in GC=2, the data received by the reader is 1x0x, and the existing prefixes are 1100 and 1001.
E:在GC=5中,所查询的维数中,最高位均为“0”,因为“1”的个数为2,所以如果某一位发生碰撞,则分别把相应的碰撞位置“0”,其余位置“1”,依次获得当前存在的前缀。E: In GC=5, the highest bit of the queried dimension is "0", because the number of "1" is 2, so if a certain bit collides, set the corresponding collision position to "0". ", the remaining positions are "1", and the currently existing prefixes are obtained in turn.
7)若堆栈为空,则转至8);若不为空,则采用后退策略,,从堆栈中获取栈顶元素,返回5)。7) If the stack is empty, go to 8); if it is not empty, adopt the fallback strategy, get the top element from the stack, and return to 5).
8)若堆栈为空,其余组号大于0的标签均将组号减一,由于漏读的组号为“0”的标签保持组号“0”不变,再对新的0组标签进行识别,返回2-2;若所有标签组号为0且堆栈为空,则结束循环。8) If the stack is empty, the group number of the remaining tags greater than 0 will be reduced by one, and the group number "0" will remain unchanged for the tag whose group number is "0" that has been missed, and then the new 0 group tag will be Identify, return 2-2; if all tag group numbers are 0 and the stack is empty, then end the loop.
(3)步骤3)标签反馈识别,其具体流程如图2所示,具体包括以下步骤:(3) Step 3) Label feedback identification, the specific process is shown in Figure 2, which specifically includes the following steps:
1)读写器用已识别的16组标签信息进行反馈,求出16组中的已识别标签的最大数M和平均数V,求出[M/V],令GN=[M/V]-1并反馈给标签,令GN=[M/V] -1,读写器发送命令Req(GN);例如还有6个标签因捕获效应或信道干扰等影响未被识别,读写器求出M和V的比值为2,则将GN=[M/V]-1=1反馈给这6个未被识别的标签。1) The reader uses the identified 16 groups of tag information to give feedback, and find the maximum number M and average number V of the identified tags in the 16 groups, and find [M/V], let GN=[M/V]- 1 and feedback to the tag, set GN=[M/V] -1, the reader sends the command Req(GN); for example, there are 6 tags that have not been recognized due to the capture effect or channel interference, and the reader finds out The ratio of M to V is 2, then GN=[M/V]-1=1 is fed back to the 6 unrecognized tags.
2)标签产生0-GN之间的随机数,并将随机数作为组号存于TG中,选择组号为0的标签响应;假设这6个标签中,tagA,tagB,tagC的组号均为“0”,tagD,tagE,tagF的组号为“1”,则先识别tagA,tagB,tagC三个标签。2) The tag generates a random number between 0 and GN, and stores the random number in TG as the group number, and selects the tag whose group number is 0 to respond; assuming that among the 6 tags, the group numbers of tagA, tagB, and tagC are all is "0", and the group numbers of tagD, tagE, and tagF are "1", then the three tags of tagA, tagB, and tagC will be recognized first.
3)组号为0的标签产生“0”、“1”随机数,选择随机数为“0”的标签响应;此处tagA,tagB,tagC分别产生“0”或“1”随机数,这里假设tagA和tagB都产生随机数“0”,而tagC产生随机数“1”,然后tagA和tagB同时向读写器返回其自身ID。3) The tag whose group number is 0 generates "0" and "1" random numbers, and selects the tag whose random number is "0" to respond; here tagA, tagB, and tagC generate "0" or "1" random numbers respectively, here Assuming that both tagA and tagB generate a random number "0", and tagC generates a random number "1", then tagA and tagB return their own IDs to the reader at the same time.
4)检测碰撞情况,若产生碰撞,则随机数非“0”的标签将其随机数加1,随机数为“0”的标签重新产生“0”、“1”随机数,返回4),重新检测碰撞情况;若只有一个标签响应,则识别标签并屏蔽后向其他标签反馈其ID,转至5);若无标签响应,则则读写器要求未识别的标签返回其随机数,检测接收的数据,若有标签响应则转至步骤5);若无标签返回其随机数,则转至6);这里假设由于tagA离读写器较近,虽然与tagB同时传送数据,但因tagA的信号较强,覆盖了tagB的信号,由此理论上应产生碰撞,而此时变成了可读时隙。读写器识别完tagA的信息并将其屏蔽后,将tagA的ID反馈给其余标签,tagB接收反馈信号后发现自身的ID与其不匹配,得知自己信息被漏读。4) Detect the collision. If there is a collision, the tag whose random number is not "0" will add 1 to its random number, and the tag whose random number is "0" will regenerate "0" and "1" random numbers, and return 4), Re-detect the collision situation; if only one tag responds, identify the tag and shield it, then feed back its ID to other tags, go to 5); if no tag responds, the reader requires the unrecognized tag to return its random number, and detects For the received data, if there is a tag response, go to step 5); if no tag returns its random number, go to 6); here it is assumed that because tagA is closer to the reader, although the data is transmitted at the same time as tagB, but because tagA The signal of is stronger and covers the signal of tagB, so theoretically there should be a collision, but at this time it becomes a readable time slot. After the reader recognizes the information of tagA and shields it, it feeds back the ID of tagA to other tags. After receiving the feedback signal, tagB finds that its own ID does not match with it, and knows that its own information has been missed.
5)随机数非“0”的标签将随机数减一,返回4);这里tagB的随机数不变,tagC的随机数减一,然后返回4),读写器重新接收tagB和tagC的数据,检测碰撞情况。这里假设无干扰或捕获效应的影响,tagB和tagC产生了碰撞。因其随机数均为“0”,则重新产生随机数“0”或“1”,如tagB产生“0”,而tagC产生“1”,则下一时隙接收tagB的信息并将其识别进行屏蔽后,tagC的随机数减一,再与读写器进行通信。5) For tags whose random number is not "0", subtract one from the random number and return 4); here, the random number of tagB remains unchanged, the random number of tagC is subtracted by one, and then return to 4), the reader receives the data of tagB and tagC again , to detect collisions. It is assumed here that there is no interference or capture effect, and tagB and tagC collide. Because the random numbers are all "0", the random number "0" or "1" is regenerated. If tagB generates "0" and tagC generates "1", then the next time slot receives the information of tagB and recognizes it. After shielding, the random number of tagC is reduced by one, and then communicates with the reader.
6)所有标签组号为“0”,则结束整个识别过程;否则组号非零的标签将组号减一,再选择组号为“0”的标签响应返回3);这里tagD,tagE,tagF的组号减一后采用同样方法开始下一轮对这三个标签的识别。6) If the group number of all tags is "0", the entire identification process will end; otherwise, the tag with a non-zero group number will subtract one from the group number, and then select a tag with a group number of "0" and return 3); here tagD, tagE, After the group number of tagF is reduced by one, the next round of identification of these three tags is started using the same method.
本实施例减少了识别初期产生的过多碰撞,通过将标签进行分维识别,加快了标签产生碰撞时的处理速度,在相同条件下,标签产生碰撞时的处理速度平均提高大约25%,识别时间平均减少大约28%,大大减少了识别时间;同时考虑了捕获效应和信道干扰等而产生的标签漏读问题,将已识别的标签信息进行反馈,识别率平均提高到99%以上,大大提高了标签的识别率,具有显著进步和实质性特点。This embodiment reduces the excessive collisions generated at the initial stage of identification. By performing fractal identification on the tags, the processing speed when the tags collide is accelerated. Under the same conditions, the processing speed when the tags collide is increased by about 25% on average. The time is reduced by about 28% on average, which greatly reduces the recognition time; at the same time, the problem of missed reading of tags caused by capture effect and channel interference is considered, and the recognized tag information is fed back, and the recognition rate is increased to more than 99% on average, which is greatly improved. The recognition rate of the label has been significantly improved and substantive.
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求内。Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention rather than limit them. Although the present invention has been described in detail with reference to the embodiments, those skilled in the art should understand that modifications or equivalent replacements to the technical solutions of the present invention do not depart from the spirit and scope of the technical solutions of the present invention, and all of them should be included in the scope of the present invention. within the claims.
Claims (4)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310375292.2A CN103679092B (en) | 2013-08-26 | 2013-08-26 | RFID Anti-collision Algorithm Based on Feedback Mechanism |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310375292.2A CN103679092B (en) | 2013-08-26 | 2013-08-26 | RFID Anti-collision Algorithm Based on Feedback Mechanism |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103679092A CN103679092A (en) | 2014-03-26 |
CN103679092B true CN103679092B (en) | 2016-08-10 |
Family
ID=50316591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310375292.2A Active CN103679092B (en) | 2013-08-26 | 2013-08-26 | RFID Anti-collision Algorithm Based on Feedback Mechanism |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103679092B (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103927504B (en) * | 2014-04-21 | 2016-09-14 | 广西大学 | RFID mixing anti-collision algorithm based on dimension yardage |
CN107145807B (en) * | 2017-05-05 | 2018-05-01 | 中国石油大学(华东) | The loss label identification method of radio-frequency recognition system containing Unknown Label |
CN107526986B (en) * | 2017-07-28 | 2020-07-28 | 广东农工商职业技术学院(农业部华南农垦干部培训中心) | RFID label anti-collision method and system |
CN108537079A (en) * | 2018-03-12 | 2018-09-14 | 吉林大学 | A kind of adaptive bifurcated query tree multi-label anti-collision method based on impact factor |
CN116418371A (en) * | 2021-12-29 | 2023-07-11 | 华为技术有限公司 | An identification method and device |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101685495A (en) * | 2008-09-28 | 2010-03-31 | 华为技术有限公司 | Label identification method and reader and radio frequency identification system |
CN102999739A (en) * | 2011-09-16 | 2013-03-27 | 北京邮电大学 | RFID (radio frequency identification) tag and identification method and identification device |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101923625A (en) * | 2009-06-12 | 2010-12-22 | 中兴通讯股份有限公司 | Tag anti-collision method and system |
-
2013
- 2013-08-26 CN CN201310375292.2A patent/CN103679092B/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101685495A (en) * | 2008-09-28 | 2010-03-31 | 华为技术有限公司 | Label identification method and reader and radio frequency identification system |
CN102999739A (en) * | 2011-09-16 | 2013-03-27 | 北京邮电大学 | RFID (radio frequency identification) tag and identification method and identification device |
Also Published As
Publication number | Publication date |
---|---|
CN103679092A (en) | 2014-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103679092B (en) | RFID Anti-collision Algorithm Based on Feedback Mechanism | |
CN103902941B (en) | A multi-tag anti-collision method based on continuous collision bit mapping | |
CN103020568B (en) | Based on the pretreated RFID anti-collision method of label ID | |
CN103065112B (en) | Based on the RFID label tag anticollision recognition methods of modular arithmetic labeling | |
CN106650530A (en) | Enhanced quad-tree anti-collision algorithm suitable for RFID system | |
CN103020569B (en) | A kind of radio-frequency identification multi-label anti-collision method | |
CN101866413B (en) | Multi-label anti-collision method based on grouping mechanism and jumping dynamic binary recognition | |
CN103902942B (en) | A Hybrid Anti-Collision Method for High-Volume Multi-Tag RFID System | |
CN101840489A (en) | Multi-tag identification anti-collision method based on collision tree | |
CN105046181B (en) | A deterministic anti-collision algorithm for multi-prefix matching based on query tree method | |
Liu et al. | An adaptive tag anti-collision protocol in RFID wireless systems | |
CN107784247A (en) | Anonymous radio-frequency recognition system loses crucial label identification method stage by stage | |
CN103927506B (en) | RIFD anti-collision method based on dynamic timeslot conflict tracking tree | |
CN103218635B (en) | A kind of RFID anti-collision method based on mixing multiway tree search | |
CN107895130A (en) | A kind of adaptive multiway tree collision-proof method based on collision tree | |
CN110210266A (en) | Five fork tree search RFID anti-collision method of one kind | |
CN101650770A (en) | Binary search anti-collision method with unknown label quantity estimation function | |
CN117113804A (en) | RFID lost tag identification method based on tree splitting | |
CN101231686A (en) | A query tree radio frequency tag anti-collision recognition method based on fusion database | |
CN105718968B (en) | A kind of RFID adaptive N tree collision-proof method based on bitmap building | |
CN112966534B (en) | A multi-classification-based detection method for missing tags in RFID systems | |
CN103455783B (en) | A kind of label anti-collision method based on low redundant search tree | |
CN102073889B (en) | Hybrid multi-label anti-collision method | |
CN116980873A (en) | RFID unknown label silencing method based on frame interrupt estimation | |
CN104134052B (en) | An RFID Anti-collision Method Based on Adaptive Grouping Mechanism |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20160622 Address after: 530000 the Guangxi Zhuang Autonomous Region Nanning XiXiangTang University Road No. 100 Applicant after: Guangxi University Address before: 530004, No. 3, headquarters Road, hi tech Zone, the Guangxi Zhuang Autonomous Region, Nanning Applicant before: Guangxi Nanning Dongsen Power Information Technology Co., Ltd. |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20170419 Address after: 530000 the Guangxi Zhuang Autonomous Region Nanning City Kimpo Road No. 20 Nanning International Building, eleven storey main building Patentee after: Guangxi top technology Co., Ltd. Address before: 530000 the Guangxi Zhuang Autonomous Region Nanning XiXiangTang University Road No. 100 Patentee before: Guangxi University |