A radio frequency identification anti-collision method and system based on a conflict block bitmap strategy
By adopting an RFID method based on a conflict block bit mapping strategy, the problem of data conflict between tags is solved, the system throughput is improved and the normalization latency is reduced, making it suitable for RFID applications with high performance and power consumption requirements.
Patent Information
- Application Number
- CN202311734600.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-15
- Publication Date
- 2025-11-04
- Estimated Expiration
- 2043-12-15
AI Technical Summary
In existing RFID technologies, data conflicts between tags lead to a decrease in system performance, and traditional anti-collision methods suffer from high power consumption, low throughput, and poor scalability.
A collision prevention method based on a collision block bit mapping strategy is adopted. The reader calculates the number of tags, generates the optimal initial frame length, performs time slot polling, and introduces a block mapping pruning query tree identification process when a collision time slot is detected, skipping empty time slots and secondary collisions.
It achieves low power consumption, high throughput and good stability, and is suitable for RFID application scenarios with high performance and power consumption requirements.
Smart Images

Figure CN117979264B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of radio frequency identification technology, and particularly relates to a radio frequency identification anti-collision method and system based on a conflict block bit mapping strategy. BACKGROUND
[0002] Radio frequency identification (RFID) technology has been widely applied due to its characteristics of fast and efficient, non-contact identification, etc. Since tags share a communication channel, multiple tags responding to a reader at the same time will cause data collision, resulting in all data being unable to be correctly read, and further causing retransmission and significantly reducing system performance. Traditional anti-collision methods can be roughly divided into three categories: tree method, ALOHA method and hybrid method. The tree method identifies the conflict tags through recursive bifurcation of a tree data structure, which can be divided into two categories: binary tree and query tree. Since the number of bifurcations of the identification tree is too small compared to the number of tags at the initial stage of identification, a large number of conflict time slots are generated, which reduces the system performance. The ALOHA method reduces the collision probability by randomizing the time nodes (time slots) of each tag responding to the reader, but there is a possibility that multiple tags repeatedly select the same time slot and cannot be identified, resulting in tag information timeout and missing reading. In addition, the optimal frame length needs to be determined by the number of tags, so the accuracy and complexity of the tag number estimation method have higher requirements. The hybrid method is a fusion method of ALOHA and tree, in which the tags are first randomly assigned to the time slots of the identification frame and are identified in turn. For the conflict time slots, a tree structure is introduced to recursively bifurcate and identify. However, the hybrid method has high requirements for the hardware conditions of the tags, and the improvement of performance is limited. SUMMARY
[0003] The present application aims to overcome the shortcomings of the prior art, and provides a radio frequency identification anti-collision method and system based on a conflict block bit mapping strategy, which realizes high system throughput and small normalized delay with low power consumption, has good stability and strong scalability, and is suitable for RFID application occasions with requirements for performance and power consumption.
[0004] To solve the above technical problems, the present application provides a radio frequency identification anti-collision method based on a conflict block bit mapping strategy, which comprises the following steps:
[0005] The reader calculates the estimated number of tags based on the bit state of the tag backscattering bit string;
[0006] The reader calculates the optimal initial frame length based on the estimated number of tags;
[0007] The reader generates a time slot polling command based on the optimal initial frame length, and performs time slot polling based on the time slot polling command.
[0008] detecting whether there is a conflict time slot when performing time slot polling;
[0009] when detecting that there is a conflict time slot, performing a traversal process on each tag corresponding to the conflict time slot based on block mapping pruning query tree.
[0010] The read-write device calculates the estimated number of tags based on the bit state of the tag backscattered bit string, which includes:
[0011] The read-write device broadcasts in the tags in the application scenario based on the preset bit string length information of the tag backscattering;
[0012] Each tag in the application scenario generates tag bit string information and feeds back to the read-write device;
[0013] The read-write device merges the tag bit string information of each tag to generate an aggregated string;
[0014] The read-write device obtains the number of non-conflict bits and the number of conflict bits based on the aggregated string;
[0015] The read-write device obtains the estimated number of tags in the application scenario based on the number of non-conflict bits and the number of conflict bits.
[0016] The read-write device merges the tag bit string information of each tag to generate an aggregated string;
[0017] Each tag parses the bit string length information of the tag backscattering;
[0018] Each tag generates a bit string of all 1s based on the bit string length value of the tag backscattering;
[0019] Each tag randomly replaces one bit in the bit string with 0 and sends the bit string replaced with 0 to the read-write device.
[0020] The read-write device generates a time slot polling command based on the optimal initial frame length, and performs time slot polling based on the time slot polling command, which includes:
[0021] The read-write device sets the number of time slot polling according to the optimal initial frame length based on the internal counter, and broadcasts the optimal initial frame length to the tags in the application scenario through the INVENTRY command to perform time slot polling.
[0022] The detection of whether there is a conflict time slot further includes:
[0023] If it is detected that the current time slot is a single-tag time slot or an empty time slot, the number of time slot polling corresponding to the internal counter is decremented by 1.
[0024] The traversal process based on the block mapping pruning query tree is completed on each label corresponding to the conflict time slot, and comprises the following steps:
[0025] The reader generates a BMREQ command based on the aggregated string and sends the command to each label corresponding to the conflict time slot.
[0026] Each label corresponding to the conflict time slot calls a conflict block mapping function to output a mapping string.
[0027] The reader generates an optimal query string based on the mapping string of each label to realize pruning of the query tree.
[0028] The reader generates a BMREQ command based on the aggregated string and sends the command to each label corresponding to the conflict time slot, and comprises the following steps:
[0029] The reader records the first conflict bit position, the start position and length of the first conflict block in the aggregated bit string.
[0030] If the start position of the first conflict block is greater than the first conflict bit position, the reader adds a bit 0 or 1 at the end of the last query prefix to generate a new query prefix.
[0031] If the start position of the first conflict block is equal to the first conflict bit position, the reader sends a BMREQ command to each label corresponding to the conflict time slot.
[0032] Each label corresponding to the conflict time slot calls a conflict block mapping function to output a mapping string, and comprises the following steps:
[0033] After receiving the BMREQ command, each label compares the prefix information in the ID data of each label with the query prefix information in the BMREQ command.
[0034] The label with consistent prefix information executes a conflict block bit mapping function.
[0035] The reader generates an optimal query string based on the mapping string of each label to realize pruning of the query tree, and comprises the following steps:
[0036] The reader generates an optimal query prefix and broadcasts by skipping all time slots that will lead to empty time slots and conflicts and can be identified based on the mapping string of each label.
[0037] After all conflict labels in the current time slot are identified, the number of time slot polls corresponding to the internal counter is decremented by 1.
[0038] Correspondingly, the application also provides a radio frequency identification anti-conflict system based on a conflict block bit mapping strategy, which comprises a plurality of labels and a card reader in communication with the plurality of labels, and is used to execute the above method.
[0039] In the present application, the number of tags is estimated by using conflict bits at the beginning of identification, and the optimal frame length (i.e. the number of time slots contained in the frame) of the initial frame is set, and tags are randomly selected in a uniform distribution to respond to the reader in a certain time slot to reduce the conflict rate at the beginning of identification. If there is a tag conflict in the current time slot, the pruning query tree identification process based on the conflict block bit mapping is immediately introduced. The reader sends a query string, and the tag inputs the ID segment of itself into the embedded conflict block bit mapping function to generate a mapping string and sends it back to the reader, the reader receives the mapping string and generates an aggregate string, and according to the situation of each bit of the aggregate string, the distribution of the ID segment of the tag in conflict is deduced, and the optimal query string is generated to realize the pruning of the query tree. If the next query still occurs tag conflict, the above process will be recursively executed until there is no tag conflict in the current time slot, and then the identification of the tags in the next time slot is turned to, until all the tags in the time slots are successfully identified. Based on the interactive mechanism of the conflict block mapping, the reader skips all the query prefixes that can produce empty time slots, and maximally reduces the probability of producing secondary conflict time slots, improves the system throughput, and reduces the normalized delay. BRIEF DESCRIPTION OF DRAWINGS
[0040] In order to more clearly illustrate the technical solutions of the embodiments of the present application or the prior art, the drawings needed to be used in the embodiments or prior art description will be briefly introduced below. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative labor.
[0041] Figure 1 is the flow chart of the radio frequency identification anti-collision method based on the conflict block bit mapping strategy in the embodiments of the present application;
[0042] Figure 2 is the number of time slots slot required for average identification of a single tag in the embodiments of the present application avg is a schematic diagram of the change relationship between s / n and the number of time slots slot required for average identification of a single tag;
[0043] Figure 3 is the block mapping pruning query tree traversal process schematic diagram in the embodiments of the present application;
[0044] Figure 4 is the reader operation and tag response flowchart in the embodiments of the present application. DETAILED DESCRIPTION
[0045] With reference to the accompanying drawings, the technical solutions in the embodiments of the present application will be clearly and completely described below. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative effort should fall within the scope of the present application.
[0046] The radio frequency identification anti-collision method based on the conflict block bit mapping strategy in the embodiment of the present application includes three stages of tag quantity estimation based on conflict bit detection, setting of an optimal frame length of an initial frame and pruning query tree identification based on conflict block bit mapping. At the beginning of identification, the tag quantity is estimated by using conflict bit detection, and the optimal frame length (i.e. the number of time slots contained in the frame) of the initial frame is set. Tags randomly select a time slot according to uniform distribution to respond to the reader, so as to reduce the collision rate in the initial stage of identification. If there is a tag collision in the current time slot, the pruning query tree identification process based on the conflict block bit mapping is immediately introduced. The reader sends a query string, and the tags input the ID segment of the tag itself into the embedded conflict block bit mapping function to generate a mapping string and send the mapping string back to the reader. The reader receives the mapping string and generates an aggregated string, and according to the situation of each bit of the aggregated string, the distribution of the ID segment of the tag in conflict is deduced, an optimal query string is generated, and the pruning of the query tree is realized. If the next query still causes a tag collision, the above process is recursively executed until there is no tag collision in the current time slot, and then the identification of the tags in the next time slot is performed, until all the tags in all the time slots are successfully identified. Based on the interaction mechanism of the conflict block mapping, the reader skips all the query prefixes that can generate empty time slots, and maximally reduces the probability of generating a secondary collision time slot, thereby improving the system throughput and reducing the normalized delay.
[0047] The radio frequency identification anti-collision method based on the conflict block bit mapping strategy in the embodiment of the present application includes the following steps:
[0048] Specifically, Figure 1 A flowchart of the radio frequency identification anti-collision method based on the conflict block bit mapping strategy in the embodiment of the present application is shown, including the following steps:
[0049] S101, the reader calculates the estimated number of tags based on the bit state of the backscattered bit string of the tag;
[0050] Specifically, the read-write device calculates the estimated number of tags based on the bit state of the tag backscattered bit string, which includes: the read-write device broadcasts in the application scene based on the preset tag backscattered bit string length information; each tag in the application scene generates tag bit string information and feeds back to the read-write device; the read-write device combines the tag bit string information of each tag to generate an aggregated string; the read-write device obtains the number of non-conflict bits and the number of conflict bits based on the aggregated string; and the read-write device obtains the estimated number of tags in the application scene based on the number of non-conflict bits and the number of conflict bits.
[0051] Specifically, each tag in the application scene generates tag bit string information and feeds back to the read-write device, which includes: each tag parses the tag backscattered bit string length information; each tag generates a bit string of all 1s based on the tag backscattered bit string length value; and each tag randomly replaces one bit in the bit string with 0 and sends the bit string after replacement to the read-write device.
[0052] It should be noted that the estimated number of tags is detected by using conflict bits at the beginning of identification, and the number of tags n can be estimated based on the bit state of the tag backscattered bit string. Define the parameter M as the length of the tag backscattered bit string, and the value of M is determined according to the scale of the tags in the specific application scene. After receiving the M broadcast by the read-write device, the tag generates a bit string of M bits of all 1s and randomly replaces the mth bit (m∈[1,M]) of s mt with 0, that is: and sends it back to the read-write device.
[0053] The read-write device combines s mt from multiple tags to generate an aggregated string s r , each bit of which may have two states of conflict or non-conflict, and the conflict state means that multiple tags assign different values to the bit, that is, some select the bit and set it to 0, and some do not select the bit and keep it as 1; the non-conflict state means that all tags set the bit to 1 or 0. That is, all tags select the bit or do not select the bit. After detecting all bit positions of s r , the read-write device finally obtains two statistical data: the number of non-conflict bits c u and the number of conflict bits c c . c u can be further divided into: the number of non-conflict bits with value “0” c0, and the number of non-conflict bits with value “1” c a .
[0054] Let n be the number of tags to be identified, and M be the length of the bit string s that the reader expects the tags to generate and backscatter, noting that only one bit is randomly set to 0, then the probability Pr(x, n, M) that x tags choose the same bit can be given by:
[0055]
[0056] Similarly, the expected number of bits that all tags do not choose can be given by:
[0057]
[0058] The expected number of bits that all tags choose can be given by:
[0059]
[0060] Therefore, the expected number of non-conflicting bits can be written as:
[0061]
[0062] Finally, the number of conflicting bits can be given by:
[0063]
[0064] After the reader performs the conflicting bit detection on s r , based on the measured data c u , c c , the bit status vector N rec (M, n) can be obtained. On the other hand, by equations (4) and (5), the theoretical value of the vector N thy (M, n) can be calculated given n and M. According to the minimum distance principle, this method can search for the optimal estimate value of n by minimizing the distance between N rec (M, n) and N thy (M, n). That is:
[0065]
[0066] S102, the reader calculates the optimal initial frame length based on the estimated number of tags;
[0067] After the number of unidentified tags is estimated, the tags are evenly distributed to each time slot. The initial frame length has a great impact on performance. Too many time slots will generate more empty time slots, and too few time slots will generate more collision time slots, both of which will increase the total number of time slots, reduce the throughput, and increase the normalized delay. The optimal grouping number of ALOHA type method is equal to the number of tags n, and the optimal grouping number of tree type method is 0.88n. The method uses a collision bit detection and collision block bit mapping strategy based on the tree type branching idea, so the initial frame length required is less than that of ALOHA type method and tree type method. The more the number of collision tags in each time slot of the initial frame, the more the collision block bit mapping strategy is used, the more the number of empty time slots and collision time slots is saved, and the more the performance is improved. Figure 2 The average number of time slots required to identify a single tag is given by slot avg The relationship with S / n, where S / n is the ratio of the initial frame length to the number of tags. It can be seen that when S / n = 0.25, slot avg The minimum is reached. Since the optimal estimate Therefore, the optimal initial frame length can be finally determined as:
[0068]
[0069] S103, the reader generates a time slot polling command based on the optimal initial frame length, and performs time slot polling based on the time slot polling command;
[0070] Specifically, the reader generates a time slot polling command based on the optimal initial frame length, and performs time slot polling based on the time slot polling command, including: the reader sets the number of time slot polling according to the optimal initial frame length based on the internal counter, and broadcasts the optimal initial frame length to the tags in the application scene through the INVENTRY command to perform time slot polling.
[0071] The reader sets the internal counter RC to S opt -1, records that there are S opt time slots left to be polled, and broadcasts S opt to the tags through the INVENTRY command. After starting time slot polling, if the current time slot is a single tag time slot or an empty time slot, RC is decremented by 1, and if the current time slot is a collision time slot, the reader sends a BMREQ command to introduce a block mapping pruning query tree traversal process.
[0072] S104, detecting whether there is a collision time slot, if yes, entering S105, if not, entering S106;
[0073] In step S101, the number of tags is estimated by using the conflict bit detection tag at the beginning of identification, and the optimal frame length (i.e. the number of time slots contained in the frame) of the initial frame is set, and the tag selects a certain time slot in a uniform distribution to respond to the reader, so as to reduce the conflict rate in the initial identification stage.
[0074] S105, based on the block mapping pruning query tree, the traversal process of each tag corresponding to the conflict time slot is completed;
[0075] Specifically, the traversal process of each tag corresponding to the conflict time slot based on the block mapping pruning query tree includes: the reader generates a BMREQ command based on the aggregated string and sends it to each tag corresponding to the conflict time slot; each corresponding tag calls a conflict block mapping function to output a mapping string; and the reader generates an optimal query string based on the mapping string of each tag to realize pruning of the query tree.
[0076] Specifically, the reader generating a BMREQ command based on the aggregated string and sending it to each tag corresponding to the conflict time slot includes: the reader records the position of the first conflict bit, the start position and length of the first conflict block in the aggregated bit string; if the start position of the first conflict block is greater than the position of the first conflict bit, the reader adds a bit 0 or 1 at the end of the previous query prefix to generate a new query prefix; if the start position of the first conflict block is equal to the position of the first conflict bit, the reader sends a BMREQ command to each tag corresponding to the conflict time slot.
[0077] Specifically, the corresponding each tag calling a conflict block mapping function to output a mapping string includes: each tag compares the prefix information in its own ID data with the query prefix information in the BMREQ command after receiving the BMREQ command; and the tags with consistent prefix information perform a conflict block bit mapping function.
[0078] Specifically, the reader generating an optimal query string based on the mapping string of each tag to realize pruning of the query tree includes: the reader skips all time slots that will result in empty time slots and conflicts and can be identified based on the mapping string of each tag, generates an optimal query prefix and broadcasts; after all conflict tags in the current time slot are identified, the number of time slot polls corresponding to the internal counter is decremented by 1.
[0079] It should be noted that the block mapping pruning query tree traversal process is a pruning query tree with the conflict time slot as the root node The process includes the following three steps:
[0080] Step 1, the reader generates a BMREQ command
[0081] The reader records the position of the first conflict bit b r in the aggregated bit string s iThe starting position of the first conflicting block (consecutive conflicts) b bk and length l bk If b bk >b i That is, if the first conflict is discontinuous, then in s r The front b i Add a "0" or "1" to the end of the non-conflicting bits to generate a new query prefix "s". r (0, 1, ..., b) i -1)0” and “s r (0, 1, ..., b) i -1)1”;If b bk =b i If the first collision is consecutive, then send BMREQ(QS, b i ,l bk The command assigns a conflict label, where QS is the current query prefix.
[0082] Step 2: The conflict tag calls the conflict block mapping function to output the mapping string.
[0083] After receiving the BMREQ command, the tag will add the first b of its own ID. i Only tags that match the QS (Quick Slot) are allowed to execute the conflicting block bit mapping function, which can be based on the bth bit in the tag ID. i Position b i +l bk -1-bit ID segment distribution, generation length is The mapping string s mt Table 1 shows the situation when l bk The input-output relationship of the conflict block mapping function when =3 is shown in Table 1, which represents the block mapping process.
[0084] Here, the BMREQ command is used to inform the tags matching the query prefix to prepare for the bit mapping function call, while also providing relevant parameters such as the query prefix QS and the position b of the first consecutive conflicting bit. i and the number of consecutive conflicting bits l bk Send to the tag.
[0085] Table 1 Block Mapping Process
[0086]
[0087] Step 3: The reader receives the s sent back by each tag. mt Post-aggregation generates s r The latter contains the conflicting tag IDs from the bth bit. i Position b i +l bkThe reader determines the distribution of -1 bits and skips all slots (child nodes) that would result in empty slots (nodes) and conflicting slots that can be identified, generating the optimal query prefix and broadcasting it. After all conflicting tags in the current slot have been identified, the reader decrements RC by 1. When RC = -1, it means that all slots in the initial frame have been polled, and the identification process ends.
[0088] On the other hand, when the tag receives S opt After that, a random number from 0 to S will be generated. opt Integers between -1 and 1 are stored in the tag counter TC, recording the number of time slots that the tag still needs to wait before responding to the reader. After identifying a single tag time slot or an empty time slot, the reader sends an ACK command, decrementing the TC of all unidentified tags by 1. When TC = 0, the tag responds to the reader.
[0089] S106. Detect whether the current time slot is a single-tag time slot or an empty time slot;
[0090] S107, decrement the number of time slot polls corresponding to the internal counter by 1;
[0091] S108. Check if the time slot polling is complete. If it is, end the process. If it is not, proceed to S104.
[0092] based on Figure 1 The method flow shown is as follows: Figure 3 This embodiment of the invention illustrates the block mapping pruning query tree traversal process using six tags with IDs "11110111", "10110101", "11110001", "00010111", "10110111", and "11110101" as examples. The reader initializes the query prefix stack to empty and determines the optimal frame length of the initial frame through collision bit detection, then sequentially polls and identifies tags in each time slot. Time slot 1 contains only one tag, so it is successfully identified. Time slot 2 contains no tags, and the reader skips it after a timeout. In time slot 3, tags AF respond simultaneously and a collision occurs; at this point, the reader aggregates s... r = "xxx10xx1", where "x" represents the conflict bit. Since the first conflict bit occurs in bit 1, and the consecutive conflict length is 3, the reader sets b. i =b bk =1 and l bk =3, and send the BMREQ("null", 1, 3) command to trigger the block mapping pruning query tree traversal process. All tags AF respond to the reader / writer by inputting the first three consecutive digits of their own ID into the block mapping function shown in Table 1, generating and sending back the block mapping string s. mt The reader aggregates and generates s. r="x1x1111x", which means that the tag ID contains "000", "101" and "111". And "101" and "111" are stacked, and "000" is taken as a query prefix to identify the tag D. After the reader pops "101" as a query prefix, the tag B and the tag E respond to the reader at the same time, and the s r ="101x1", only 1 bit is in conflict, so the ID information of "10101" and "10111" can still be identified, and the tag B and the tag E can be identified at the same time. Finally, "111" is popped as a query prefix, the tag C and the tag F respond at the same time, and the reader will trigger the block mapping pruning query tree traversal process with a block length of 2 again until all tags are identified. Figure 4 The operation of the reader and the response process of the tag in the embodiment of the application are shown in the flowchart, Figure 3 The string in the circle represents the s r generated by the reader according to the s Figure 4 The operation of the reader and the response process of the tag are shown in the flowchart, wherein BMREQ(qs, a, b) represents the BMREQ command with QS=qs, b bk =a and l bk =b, and the s mt .
[0093] The embodiment of the application is based on the above method, and at the beginning of identification, the number of tags is estimated by using the conflict bit detection, and the optimal frame length (i.e. the number of time slots contained in the frame) of the initial frame is set. The tag randomly selects a time slot according to the uniform distribution to respond to the reader, so as to reduce the conflict rate in the initial identification. If there is a tag conflict in the current time slot, the pruning query tree identification process based on the conflict block bit mapping is immediately introduced. The reader sends a query string, the tag inputs the ID segment in conflict into the embedded conflict block bit mapping function to generate a mapping string and sends the mapping string back to the reader, the reader receives the mapping string and generates an aggregated string, and according to the situation of each bit of the aggregated string, the distribution of the ID segment in conflict is deduced, the optimal query string is generated, and the pruning of the query tree is realized. If the next query still causes a tag conflict, the above process is recursively executed until there is no tag conflict in the current time slot, and then the identification of the tags in the next time slot is performed, until all the tags in all the time slots are successfully identified. Based on the interactive mechanism of the conflict block mapping, the reader skips all the query prefixes that can produce empty time slots, and maximally reduces the probability of producing a secondary conflict time slot, improves the system throughput, and reduces the normalized delay.
[0094] Correspondingly, the radio frequency identification anti-conflict system based on the conflict block bit mapping strategy in the embodiment of the application comprises a plurality of tags and a card reader in communication with the plurality of tags, and the system is used to execute the above method.
[0095] Specifically, the reader calculates an estimated number of tags based on bit states of a backscattered bit string of the tags; the reader calculates an optimal initial frame length based on the estimated number of tags; the reader generates a time slot polling command based on the optimal initial frame length, and performs time slot polling based on the time slot polling command; while performing the time slot polling, it is detected whether there is a collision time slot; when it is detected that there is a collision time slot, a traversal process is completed for each tag corresponding to the collision time slot based on block mapping pruning of a query tree.
[0096] It should be noted that the reader calculates an estimated number of tags based on bit states of a backscattered bit string of the tags includes that the reader broadcasts in the tags in the application scenario based on preset bit string length information of tag backscattering; each tag in the application scenario generates tag bit string information and feeds back to the reader; the reader combines the tag bit string information of each tag to generate an aggregated string; the reader obtains a number of non-collision bits and a number of collision bits based on the aggregated string; and the reader obtains the estimated number of tags in the application scenario based on the number of non-collision bits and the number of collision bits.
[0097] It should be noted that each tag in the application scenario generates tag bit string information and feeds back to the reader includes that each tag parses bit string length information of tag backscattering; each tag generates a bit string of all 1s based on the bit string length value of tag backscattering; and each tag randomly replaces one bit in the bit string with 0 and sends the bit string replaced with 0 to the reader.
[0098] It should be noted that the reader generates a time slot polling command based on the optimal initial frame length, and performs time slot polling based on the time slot polling command includes that the reader sets the number of time slot polling according to the optimal initial frame length based on an internal counter, and broadcasts the optimal initial frame length to the tags in the application scenario through an INVENTRY command to perform time slot polling.
[0099] It should be noted that after detecting whether there is a collision time slot, it further includes that if it is detected that the current time slot is a single-tag time slot or an empty time slot, the number of time slot polling corresponding to the internal counter is decremented by 1.
[0100] It should be noted that the traversal process is completed for each tag corresponding to the collision time slot based on block mapping pruning of a query tree includes that the reader generates a BMREQ command based on the aggregated string and sends it to each tag corresponding to the collision time slot; each corresponding tag calls a collision block mapping function to output a mapping string; and the reader generates an optimal query string based on the mapping string of each tag to realize pruning of the query tree.
[0101] It should be noted that the read-write device generates the BMREQ command based on the aggregation string and sends it to each tag corresponding to the conflict time slot, including that the read-write device records the first conflict bit position, the start position and length of the first conflict block in the aggregation bit string; if the start position of the first conflict block is greater than the first conflict bit position, the read-write device adds a bit 0 or 1 at the end of the last query prefix to generate a new query prefix; if the start position of the first conflict block is equal to the first conflict bit position, the read-write device sends the BMREQ command to each tag corresponding to the conflict time slot.
[0102] It should be noted that each tag calls the conflict block mapping function to output a mapping string, including that each tag compares the prefix information in the ID data of each tag itself with the query prefix information in the BMREQ command after receiving the BMREQ command; and the tag with consistent prefix information performs the conflict block bit mapping function.
[0103] It should be noted that the read-write device generates the optimal query string based on the mapping string of each tag to realize pruning of the query tree, including that the read-write device skips all time slots that will cause empty time slots and conflicts and can be identified based on the mapping string of each tag, generates an optimal query prefix and broadcasts; after all the conflict tags in the current time slot are identified, the number of time slot polling corresponding to the internal counter is decremented by 1.
[0104] Based on the above system, the embodiment of the application estimates the number of tags by using the conflict bit detection at the beginning of identification, sets the optimal frame length (i.e. the number of time slots contained in the frame) of the initial frame, and the tags randomly select a time slot to respond to the read-write device according to uniform distribution to reduce the conflict rate at the initial stage of identification. If there is a tag conflict in the current time slot, the pruning query tree identification process based on the conflict block bit mapping is immediately introduced. The read-write device sends a query string, the tag inputs the ID segment of the tag itself into the embedded conflict block bit mapping function to generate a mapping string and sends it back to the read-write device, the read-write device receives the mapping string and generates an aggregation string, and according to the aggregation string, the distribution of the ID segment of the tag in conflict is deduced, an optimal query string is generated, and pruning of the query tree is realized. If the next query still causes tag conflict, the above process is recursively executed until there is no tag conflict in the current time slot, and then the identification of the tags in the next time slot is performed, and all the tags in all time slots are successfully identified. Based on the interactive mechanism of the conflict block mapping, the read-write device skips all query prefixes that can produce empty time slots, and maximally reduces the probability of producing secondary conflict time slots, improves the system throughput, and reduces the normalized delay.
[0105] The computer readable storage medium provided by the embodiment of the present application stores a computer program, and the program is executed by a processor to realize the image inspection processing method of any one of the above embodiments. The computer readable storage medium includes, but is not limited to, any type of disk (including a floppy disk, a hard disk, an optical disk, a CD-ROM, and a magneto-optical disk), a ROM (Read-Only Memory), a RAM (Random Access Memory), an EPROM (Erasable Programmable Read-Only Memory), an EEPROM (Electrically Erasable Programmable Read-Only Memory), a flash memory, a magnetic card, or an optical card. That is, the storage device includes any medium that stores or transmits information in a form capable of being read by an apparatus (for example, a computer, a mobile phone), and can be a read-only memory, a magnetic disk or an optical disk, etc.
[0106] The embodiment of the present application further provides a computer application program, which is run on a computer and is used for executing the radio frequency identification anti-collision method based on the conflict block bitmap strategy of any one of the above embodiments.
[0107] In addition, the above detailed description is made to the embodiment of the present application, and the principle and implementation mode of the present application are described by using specific examples. The above embodiment is only used to help understand the method of the present application and its core idea; meanwhile, for those skilled in the art, the specific implementation mode and application range can be changed according to the idea of the present application. In conclusion, the content of the specification should not be understood as the limitation of the present application.
Claims
1. A radio frequency identification anti-collision method based on a collision block bit mapping strategy, characterized in that, The method includes the following steps: The reader calculates the estimated number of tags based on the bit state of the tag's backscattered bit string; The reader calculates the optimal initial frame length based on the estimated number of tags; The reader generates a time slot polling command based on the optimal initial frame length, and performs time slot polling based on the time slot polling command; During time slot polling, check for conflicting time slots; When a conflicting time slot is detected, the query tree is pruned based on the block mapping to complete the traversal process of each label corresponding to the conflicting time slot; The process of traversing each label corresponding to a conflicting time slot by pruning the query tree based on block mapping includes: The reader generates BMREQ commands based on the aggregated string and sends them to the tags corresponding to the conflicting time slots; Each corresponding tag calls the conflict block mapping function to output the mapping string; The reader generates the optimal query string based on the mapping strings of each tag to prune the query tree; The reader / writer generates BMREQ commands based on the aggregated string and sends them to the tags corresponding to the conflicting time slots, including: The reader records the position of the first conflicting bit, the start position of the first conflicting block, and its length in the aggregated bit string; If the starting position of the first conflicting block is greater than the position of the first conflicting bit, the reader adds a 0 or 1 bit to the end of the previous query prefix to generate a new query prefix; If the start position of the first conflicting block is equal to the position of the first conflicting bit, then send the BMREQ command to each tag corresponding to the conflicting time slot.
2. The radio frequency identification anti-collision method based on a collision block bit mapping strategy as described in claim 1, characterized in that, The reader calculates the estimated number of tags based on the bit state of the tag's backscattered bit string, including: The reader broadcasts the bit string length information backscattered from the tag within the application scenario based on the preset tag backscattering bit string length information; Each tag in the application scenario generates a tag bit string information and feeds it back to the reader / writer. The reader merges the tag bit string information of each tag to generate an aggregate string; The reader obtains the number of non-collision bits and the number of collision bits based on the aggregated character; The reader estimates the number of tags in the application scenario based on the number of non-collision bits and the number of collision bits.
3. The radio frequency identification anti-collision method based on a collision block bit mapping strategy as described in claim 2, characterized in that, In the application scenario, the tag bit string information generated by each tag is fed back to the reader / writer, including: Each tag's backscattered bit string length information is parsed; Each tag generates a bit string of all 1s based on the bit string length value of the tag backscattered; Each tag randomly replaces one bit in the bit string with 0, and then sends the bit string with the 0-replaced bit string to the reader / writer.
4. The radio frequency identification anti-collision method based on a collision block bit mapping strategy as described in claim 3, characterized in that, The reader / writer generates a time slot polling command based on the optimal initial frame length, and performs time slot polling based on the time slot polling command, including: The reader sets the number of time slot polling based on the optimal initial frame length according to the internal counter, and broadcasts the optimal initial frame length to the tags in the application scenario for time slot polling via the INVENTRY command.
5. The radio frequency identification anti-collision method based on a collision block bit mapping strategy as described in claim 4, characterized in that, Following the detection of conflicting time slots, the process also includes: If the current time slot is detected to be a single-tag time slot or an empty time slot, the number of time slots polled corresponding to the internal counter is decremented by 1.
6. The radio frequency identification anti-collision method based on a collision block bit mapping strategy as described in claim 1, characterized in that, The corresponding tags call the conflict block mapping function to output the mapping string, which includes: After receiving the BMREQ command, each tag compares the prefix information in its own ID data with the query prefix information in the BMREQ command. Perform a conflict block bit mapping function on tags that match the prefix information.
7. The radio frequency identification anti-collision method based on a collision block bit mapping strategy as described in claim 6, characterized in that, The reader / writer generates the optimal query string based on the mapping string of each tag to prune the query tree, including: The reader skips all identifiable time slots that would result in empty time slots and conflicts based on the mapping strings of each tag, generates the optimal query prefix, and broadcasts it. Once all conflicting labels in the current time slot have been identified, the number of time slot polls corresponding to the internal counter is decremented by 1.
8. A radio frequency identification anti-collision system based on a collision block bit mapping strategy, characterized in that, The system includes: a plurality of tags and a reader / writer communicating with the plurality of tags, the system being used to perform the method as described in any one of claims 1 to 7.
Citation Information
Patent Citations
Multi-label anticollision method based on packet dynamic frame and binary tree search for RFID system
CN101393594A