A RFID system anti-collision method
By dynamically configuring the search window length, the recognition failure problem caused by multi-tag collision in the RFID system is solved, efficient recognition and energy consumption optimization are achieved, and the tag service life is extended.
Patent Information
- Application Number
- CN202211722334.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-30
- Publication Date
- 2025-09-05
- Estimated Expiration
- 2042-12-30
AI Technical Summary
Existing RFID systems are prone to collisions when multiple tags respond simultaneously, resulting in recognition failures. In addition, existing anti-collision algorithms have the probability of tags not being recognized for a long time or the recognition time being too long, especially in large-scale tag environments, affecting recognition efficiency and tag life.
By dynamically configuring the search window length and controlling the grouping and response of tags according to the number of collision bits, the collision time slot is reduced, and the recognition efficiency and tag service life are improved.
It effectively reduces the number of collision time slots, improves the recognition speed and efficiency of tags, reduces tag energy consumption, extends tag service life, and improves the overall recognition efficiency and energy efficiency of the RFID system.
Smart Images

Figure CN115906894B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of RFID technology, and in particular to an anti-collision method for an RFID system. Background Art
[0002] Radio Frequency Identification (RFID) systems primarily attach electronic tags to individual objects, enabling rapid, contactless identification. With the development of the Internet of Things (IoT), RFID technology, due to its flexible, convenient, and fast data collection capabilities, has been widely used in scenarios such as automatic identification and item logistics management, including smart warehousing and logistics, smart retail, and supply chain management.
[0003] RFID systems consist of tags, readers, and backend data processing systems. RFID systems must quickly and accurately identify tags. However, when multiple tags simultaneously respond to the reader, tag collisions can occur, leading to recognition failures. Therefore, fast, accurate, and effective anti-collision technology is crucial to the development of RFID technology. In the IoT, achieving rapid recognition of large numbers of tags and improving recognition efficiency is a pressing issue.
[0004] To address this issue, two main categories of anti-collision algorithms exist: Aloha-based, nondeterministic, random algorithms and tree-based, deterministic algorithms. While the Aloha anti-collision algorithm is simple to design and implement, it still suffers from the probabilistic problem of some tags remaining unrecognized for extended periods, leading to a phenomenon known as "tag starvation." Tree-based search algorithms, on the other hand, can achieve 100% tag recognition, but are generally more complex and prone to frequent collision slots, resulting in longer recognition times. In large-scale tag environments, such algorithms can lead to overly deep searches and low search efficiency. Furthermore, electronic tags have limited computing power and energy, and their lifespan is related to the number of bits transmitted. Excessive data transmission shortens the tag's lifespan. Summary of the Invention
[0005] The technical problem to be solved by the present invention is to provide an anti-collision method for an RFID system, so as to reduce the number of collision time slots, prevent collisions and improve recognition efficiency.
[0006] In order to solve the above technical problems, the purpose of the present invention is achieved through the following technical solutions: providing an RFID system anti-collision method, which is applied to an RFID system, the RFID system includes a tag and a reader, and the RFID system anti-collision method includes: initialization setting: controlling the reader to send a global search command, initializing the window length of the search window to 0, initializing the temporary sequence number to empty, initializing the prefix queue of the tag ID to empty, and initializing the activation time slot value of each tag to 0; collision determination: controlling the reader to determine the time slot state according to the response of the tag, when the tag collides, it is judged that there is a collision time slot, and the number of collision bits is obtained; window length determination and window mode query instruction sending: when the number of collision bits is greater than 1, it is judged that there is a multi-tag collision time slot, controlling the reader to determine the window length of the search window according to the number of collision bits, and sending a window mode query instruction to query the prefix queue according to the determined window length; prefix queue update: controlling the reader to update the response obtained from the query The mapping part of the tag reply is decoded and analyzed to obtain the corresponding query parameters, and the query parameters are updated as prefixes to the prefix queue; query instruction sending: the reader is controlled to obtain the first value in the updated prefix queue, and a query instruction is sent to query, and the response part of the tag reply obtained according to the query is decoded and analyzed to obtain decoding information, and the temporary serial number is updated according to the decoding information; tag identification and prefix queue re-update: determine whether the length of the temporary serial number is equal to the length of the tag ID. If so, the reader is controlled to be silent after identifying the corresponding tag, and the activation time slot values of all tags are reduced by one to roll back the temporary serial number to the previous collision node and update the prefix queue; if not, the temporary serial number is placed at the first position of the prefix queue, the prefix queue is updated, and the step of executing the query instruction sending is returned; end judgment: the reader is controlled to determine whether the prefix queue after re-update is empty. If so, end; if not, return to the step of executing the query instruction sending.
[0007] The beneficial technical effect of the present invention is that: an RFID system anti-collision method of the present invention dynamically configures the window length of the search window according to the number of collision bits, so that the tags can be adaptively grouped and responded, and the number of tag bits transmitted in each time slot is controlled by the window length, so as to significantly reduce the number of collision time slots, improve the recognition speed and efficiency of the tag, and further, reduce the number of bits transmitted by each tag, reduce the energy consumption of the tag, which is beneficial to extend the service life of the tag and improve the recognition efficiency and energy efficiency of the RFID system. BRIEF DESCRIPTION OF THE DRAWINGS
[0008] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0009] Figure 1 A schematic diagram of a flow chart of an RFID system anti-collision method provided in an embodiment of the present invention;
[0010] Figure 2 A schematic diagram of the first sub-process of the RFID system anti-collision method provided by an embodiment of the present invention;
[0011] Figure 3 A schematic diagram of a second sub-process of the RFID system anti-collision method provided by an embodiment of the present invention;
[0012] Figure 4 This is a schematic diagram of the third sub-process of the RFID system anti-collision method provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0013] The following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of them. All other embodiments obtained by ordinary technicians in this field based on the embodiments of the present invention without making any creative efforts shall fall within the scope of protection of the present invention.
[0014] See also Figure 1 , Figure 1 This is a flow chart of an RFID system anti-collision method provided in an embodiment of the present invention. The RFID system anti-collision method is applied to an RFID system, the RFID system including a tag and a reader / writer, and the RFID system anti-collision method including steps S11-S17:
[0015] Step S11, initialization settings: control the reader to send a global search command, initialize the window length of the search window to 0, initialize the temporary sequence number (TempID, TID) to empty, initialize the prefix queue (PrefixQueue, PQ) of the tag ID to empty, and initialize the activation slot value (Active SlotCounter, ASC) of each tag to 0.
[0016] Step S12, collision determination: controlling the reader to determine the time slot state according to the response of the tag, and when the tag collides, determining the existence of a collision time slot and obtaining the number of collision bits;
[0017] Step S13, window length determination and window mode query instruction sending: When the number of collision bits is greater than 1, it is determined that there is a multi-tag collision time slot, and the reader is controlled to determine the window length of the search window according to the number of collision bits, and a window mode query instruction is sent to query the prefix queue according to the determined window length.
[0018] Step S14, prefix queue update: control the reader to decode and analyze the mapping part (MappingBitPart, MBP) of the tag reply obtained according to the query, obtain the corresponding query parameter, and update the query parameter as a prefix to the prefix queue.
[0019] Step S15: Sending a query command: The reader is controlled to obtain the first value in the updated prefix queue, send a query command to query, decode and analyze the response part (RemainingBitPart, RBP) of the responding tag, obtain decoding information, and update the temporary sequence number based on the decoding information. The items in the prefix queue are arranged in ascending order, and the length of the response part is equal to the window length.
[0020] Step S16, tag identification and prefix queue re-update: determine whether the length of the temporary serial number is equal to the length of the tag ID. If so, control the reader to be silent after identifying the corresponding tag, and subtract one from the activation time slot value of all tags to roll back the temporary serial number to the previous collision node and update the prefix queue; if not, place the temporary serial number at the first position of the prefix queue, update the prefix queue, and return to execute step S15.
[0021] Step S17, end judgment: control the reader to judge whether the prefix queue after the update is empty, if so, end; if not, return to execute step S15.
[0022] Among them, the RFID system anti-collision method dynamically configures the window length of the search window according to the number of collision bits, so that the tags can be adaptively grouped and responded. The number of transmitted tag bits in each time slot is controlled by the window length, which can greatly reduce the number of collision time slots, improve the recognition speed and efficiency of the tags, and also reduce the number of bits transmitted by each tag, reduce the energy consumption of the tags, and help extend the service life of the tags and improve the recognition efficiency and energy efficiency of the RFID system.
[0023] Specifically, before step S12, the method further includes:
[0024] The response of the tag is obtained, the tag is controlled to record the window length, and the response part of the tag reply is obtained.
[0025] Combine Figure 2 Specifically, step S12 includes:
[0026] Step S121: determine whether any tag responds;
[0027] Step S122: If yes, determine whether the tags collide;
[0028] Step S123: If a collision occurs, determine whether a collision time slot exists and obtain the number of collision bits.
[0029] After step S121, the following steps are further included:
[0030] Step S121.1: If no tag responds, return to step S11.
[0031] After step S122, the following steps are further included:
[0032] Step S122.1: If no tag collision occurs, update the temporary serial number and execute step S16.
[0033] Combine Figure 3 Specifically, step S13 includes:
[0034] Step S131: determine whether the number of collision bits is greater than 1;
[0035] Step S132: If yes, it is determined that there is a multi-tag collision time slot, and the reader is controlled to determine the window length of the search window according to the number of collision bits;
[0036] The window length of the search window can be calculated using formula (1):
[0037] Lw=min(8,[log28])(1)
[0038] Where Lw represents the window length, L represents the length of the tag ID, X represents the number of collision bits, [●] represents the maximum integer, and min(●) represents the minimum value.
[0039] Step S133: Send a window mode query instruction to query the prefix queue according to the determined window length. i ,Lw),p i is the i-th prefix in the prefix queue.
[0040] Specifically, after step S131, the following steps are further included:
[0041] Step S131.1: When the number of collision bits is not greater than 1, directly set the values of the collision bits to 0 and 1, update the temporary sequence number, and execute step S16.
[0042] If it is known that a tag collision occurs, the number of collision bits is greater than or equal to 1, and step S131.1 may be: when the number of collision bits is equal to 1, directly set the value of the collision bit to 0 and 1, update the temporary sequence number, and execute step S16.
[0043] Combine Figure 4 Specifically, step S14 includes:
[0044] Step S141: Control the reader to obtain the mapping portion of the response from the tag that responded to the query, record the window length corresponding to the responding tag, and increment the activation time slot value of the non-responding tag by one. A responding tag is a tag whose ID prefix satisfies the window mode query instruction and whose activation time slot value is 0.
[0045] Step S142: Calculate the collision bit based on the total number of bits in the mapping part of the tag reply and the tag ID obtained from the query. The collision bit refers to the position of the collision bit. The subscript of the collision bit can be calculated using formula (2). The mapping part (MappingBitPart, MBP) can be a binary string.
[0046] k=A1×2 0 +A2×2 1 +…+A Lw ×2 Lw-1 (2)
[0047] Where k represents the sequence number of the collision bit, 2 Lw Indicates the total number of bits in the mapping part, Lw indicates the window length, A1, A2, ...A Lw The values of the positions corresponding to the window length in the tag ID are set from left to right. The collision bit of the mapping part is set to 1, and the values of the remaining bits are all 0. The rightmost bit is the least significant bit.
[0048] Step S143: Decode and analyze the mapping part of the tag reply obtained according to the query to obtain a parsing signal, and perform a de-mapping operation on the parsing signal in combination with the obtained collision bit to obtain the corresponding query parameter.
[0049] The length of the query parameter is equal to the window length, and the relationship between the query parameter and the collision bit can be expressed by formula (3):
[0050] B1×2 0 +B2×2 1+…+B Lw ×2 Lw-1 =k(3)
[0051] Where k represents the sequence number of the collision bit, 2 Lw Indicates the total number of bits in the mapping part, Lw indicates the window length, B1, B2, ...B Lw They represent the values corresponding to each position in the query parameter from left to right.
[0052] Step S144: Update the query parameter as a prefix to the prefix queue.
[0053] Specifically, after step S15, the following steps are further included:
[0054] The tag that did not respond is acquired, the activation time slot value of the tag that did not respond is increased by one, and the process returns to step S12.
[0055] Specifically, Table 1 shows the RFID system anti-collision method using eight tags as an example. The eight tags' IDs are: tag a: 00000010, tag b: 00000011, tag c: 00110111, tag d: 01010000, tag e: 01000001, tag f: 01011111, tag g: 10001001, and tag h: 10000000.
[0056]
[0057]
[0058]
[0059] As shown in Table 1, the specific execution process is:
[0060] Initialization settings: control the reader to send a global search command, initialize the window length of the search window to 0, initialize the temporary sequence number (TempID, TID) to empty, initialize the prefix queue (PrefixQueue, PQ) of the tag ID to empty, and initialize the activation slot value (ActiveSlot Counter, ASC) of each tag to 0.
[0061] Collision determination: The reader determines the slot status based on the tag's response. If all eight tags within the reader's range respond, the tag records a window length of 0 and sends back each tag's own response portion (RemainingBitPart, RBP). If a tag collision occurs, a collision slot is determined and the number of collision bits is obtained. The reader receives this information and decodes it to "XXXXXXXX," where X represents the collision bit.
[0062] Window length determination and window mode query instruction transmission: If the number of collision bits X = 8, the window length is determined by combining formula (1), that is, window length Lw = min(8, [log28]) = 3. Based on the determined window length, the window mode query instruction Request(NULL, 3) is sent.
[0063] Prefix queue update: The reader is controlled to decode and analyze the mapping part (MappingBitPart, MBP) of the tag that responded to the query, obtain the corresponding query parameters, and update the query parameters as prefixes to the prefix queue. Among them, the tags ah all respond, obtain the collision bit according to formula (2), reply to the 8-bit mapping part of each tag itself, and record the window length Lw = 3. The reader decodes and analyzes the mapping part of the tag that responded to the query, and obtains the decoding signal "000X0XXX"; the reader parses and obtains the query parameters 000 / 001 / 010 / 100 according to formula (3), and puts the query parameters into the prefix queue in ascending order to update the prefix queue, that is, PQ = [000, 001, 010, 100].
[0064] Query instruction sending: Control the reader to obtain the first value in the updated prefix queue, send the query instruction Request (000) to query, and the temporary sequence number TID = 000; decode and analyze the response part (RemainingBitPart, RBP) of the tag that responded to the query to obtain the decoding information, and update the temporary sequence number based on the decoding information. At this time, the tags that responded are tag a and tag b. Tags a and tag b reply with their respective response parts. The reader decodes and analyzes the response parts of tags a and tag b to obtain the decoding information "000" and updates the temporary sequence number TID = 000000;
[0065] Tag identification and prefix queue re-update: The length of the temporary sequence number is 6, which is less than the length of the tag ID. The temporary sequence number is placed at the first position of the prefix queue, the prefix queue is updated, and the query instruction is sent back to execute;
[0066] The reader is controlled to obtain the first value in the updated prefix queue and send a query instruction Request(000000) to query. The tags that respond are tag a and tag b. Tag a and tag b reply with their respective response parts. The reader decodes and analyzes the response parts replied by tag a and tag b to obtain the decoded information "1X". The number of collision bits X is 1, so the collision bits are directly set to 0 and 1, that is, the temporary serial number TID = 00000011 / 00000010. At this time, the length of TID is 8, which is equal to the length of the tag ID. The reader is silent after identifying tag a and tag b. The temporary serial number TID falls back to empty;
[0067] The reader is controlled to obtain the first value in the updated prefix queue, and a query instruction Request (001) is sent to query, with the temporary sequence number TID = 001. The response part (RemainingBitPart, RBP) of the tag that responded to the query is decoded and analyzed to obtain decoding information, and the temporary sequence number is updated based on the decoding information. At this time, the tag that responded is tag c, and tag c returns its own response part. The reader decodes and analyzes the response part of tag c's reply and obtains the decoding information "101". There is no collision bit, so no collision occurred. The temporary sequence number TID is updated to 001101.
[0068] Tag identification and prefix queue re-update: The length of the temporary sequence number is 6, which is less than the length of the tag ID. The temporary sequence number is placed at the first position of the prefix queue, the prefix queue is updated, and the query instruction is sent back to execute;
[0069] The reader is controlled to obtain the first value in the updated prefix queue and send a query command Request(001101) to query. The tag that responds is tag c, and tag c returns its own response. The reader decodes and analyzes the response from tag c, obtaining the decoded information "11". Since the number of collision bits X is 1, the collision bits are directly set to 0 and 1, i.e., the temporary sequence number TID = 00110111. At this point, the length of the TID is 8, which is equal to the length of the tag ID. The reader recognizes tag c and remains silent. The temporary sequence number TID falls back to null.
[0070] The subsequent steps are similar to the above. The process is shown in Table 1 and will not be repeated here. The identification process ends when the prefix queue is empty and all labels have been identified.
[0071] In summary, the present invention provides an anti-collision method for an RFID system by dynamically configuring the window length of the search window according to the number of collision bits, so that tags can be adaptively grouped and responded to. The number of transmitted tag bits in each time slot is controlled by the window length, which can significantly reduce the number of collision time slots, improve the recognition speed and efficiency of the tag, and reduce the number of bits transmitted by each tag, reduce the energy consumption of the tag, and help extend the service life of the tag and improve the recognition efficiency and energy efficiency of the RFID system.
[0072] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in the present invention, and such modifications or substitutions are intended to be within the scope of protection of the present invention. Therefore, the scope of protection of the present invention shall be subject to the scope of protection of the claims.
Claims
1. An RFID system anti-collision method, characterized in that: Applied to an RFID system, the RFID system includes a tag and a reader / writer, and the RFID system anti-collision method includes: Initialization settings: control the reader to send a global search command, initialize the window length of the search window to 0, initialize the temporary sequence number to empty, initialize the prefix queue of the tag ID to empty, and initialize the activation time slot value of each tag to 0; Collision determination: controlling the reader to determine the time slot state according to the response of the tag. When the tag collides, it is determined that there is a collision time slot and the number of collision bits is obtained. Window length determination and window mode query instruction sending: When the number of collision bits is greater than 1, it is determined that there is a multi-tag collision time slot, and the reader is controlled to determine the window length of the search window according to the number of collision bits, and a window mode query instruction is sent to the prefix queue according to the determined window length to query; Prefix queue update: controlling the reader to decode and analyze the mapping part of the tag reply obtained according to the query, obtain the corresponding query parameter, and update the query parameter as a prefix to the prefix queue; Sending a query instruction: controlling the reader to obtain the first value in the updated prefix queue, sending a query instruction to query, decoding and analyzing the response part of the tag that responded to the query, obtaining decoding information, and updating the temporary sequence number according to the decoding information; Tag identification and prefix queue re-update: Determine whether the length of the temporary sequence number is equal to the length of the tag ID. If so, control the reader to remain silent after identifying the corresponding tag, decrement the activation time slot values of all tags by one to roll back the temporary sequence number to the last collision node, and update the prefix queue; if not, place the temporary sequence number at the first position of the prefix queue, update the prefix queue, and return to the step of executing the query instruction sending; End judgment: control the reader to judge whether the prefix queue after the update is empty, if so, end; if not, return to the step of executing the query instruction sending.
2. The RFID system anti-collision method according to claim 1, characterized in that: The step of determining the collision also includes: The response of the tag is obtained, the tag is controlled to record the window length, and the response part of the tag reply is obtained.
3. The RFID system anti-collision method according to claim 1, characterized in that: After the step of determining the collision, the following steps are further included: When the number of collision bits is equal to 1, the collision bit value is directly set to 0 and 1, the temporary sequence number is updated, and the steps of label identification and prefix queue re-update are performed.
4. The RFID system anti-collision method according to claim 1, characterized in that: The steps of determining the collision specifically include: Determine whether there is a tag response; If so, determine whether the tags collide; If a collision occurs, it is determined that there is a collision time slot and the number of collision bits is obtained.
5. The RFID system anti-collision method according to claim 4, characterized in that: The steps of determining the window length and sending the window mode query instruction specifically include: Determine whether the number of collision bits is greater than 1; If yes, it is determined that there is a multi-tag collision time slot, and the reader is controlled to determine the window length of the search window according to the number of collision bits; A window mode query instruction is sent according to the determined window length to query the prefix queue.
6. The RFID system anti-collision method according to claim 1, characterized in that: The steps of updating the prefix queue specifically include: Control the reader to obtain the mapping portion of the tag reply obtained according to the query, record the window length corresponding to the tag that responded, and add one to the activation time slot value of the tag that did not respond; The collision bit is calculated based on the total number of bits of the mapping part of the tag reply obtained by the query and the tag ID; Decode and analyze the mapped portion of the tag reply obtained from the query to obtain a parsed signal, and perform a de-mapping operation on the parsed signal in combination with the obtained collision bit to obtain the corresponding query parameter; The query parameter is used as a prefix to update the prefix queue.
7. The RFID system anti-collision method according to claim 1, characterized in that: After the step of sending the query instruction, the following steps are further included: The tag that did not respond is acquired, the activation time slot value of the tag that did not respond is incremented by one, and the process returns to the step of executing the collision determination.
Citation Information
Patent Citations
Label identification and inventory method and device, reader, medium and computer program
CN115136139A
Identification anti-collision method and radio frequency identification system using the same
US20060273881A1