WO2012131461A1 - Methods and apparatuses for the simultaneous detection of multiple radio frequency identification tags - Google Patents

Methods and apparatuses for the simultaneous detection of multiple radio frequency identification tags Download PDF

Info

Publication number
WO2012131461A1
WO2012131461A1 PCT/IB2012/000591 IB2012000591W WO2012131461A1 WO 2012131461 A1 WO2012131461 A1 WO 2012131461A1 IB 2012000591 W IB2012000591 W IB 2012000591W WO 2012131461 A1 WO2012131461 A1 WO 2012131461A1
Authority
WO
WIPO (PCT)
Prior art keywords
tag
group
tags
rfid
reader
Prior art date
Application number
PCT/IB2012/000591
Other languages
French (fr)
Inventor
Victor Chung Ming LEUNG
Hongbo Guo
Original Assignee
Leung Victor Chung Ming
Hongbo Guo
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Leung Victor Chung Ming, Hongbo Guo filed Critical Leung Victor Chung Ming
Priority to CN201280013844.9A priority Critical patent/CN103562751A/en
Publication of WO2012131461A1 publication Critical patent/WO2012131461A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10009Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves
    • G06K7/10019Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves resolving collision on the communication channels between simultaneously or concurrently interrogated record carriers.
    • G06K7/10029Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves resolving collision on the communication channels between simultaneously or concurrently interrogated record carriers. the collision being resolved in the time domain, e.g. using binary tree search or RFID responses allocated to a random time slot
    • G06K7/10059Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves resolving collision on the communication channels between simultaneously or concurrently interrogated record carriers. the collision being resolved in the time domain, e.g. using binary tree search or RFID responses allocated to a random time slot transponder driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10009Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves
    • G06K7/10019Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves resolving collision on the communication channels between simultaneously or concurrently interrogated record carriers.
    • G06K7/10029Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves resolving collision on the communication channels between simultaneously or concurrently interrogated record carriers. the collision being resolved in the time domain, e.g. using binary tree search or RFID responses allocated to a random time slot
    • G06K7/10039Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves resolving collision on the communication channels between simultaneously or concurrently interrogated record carriers. the collision being resolved in the time domain, e.g. using binary tree search or RFID responses allocated to a random time slot interrogator driven, i.e. synchronous
    • G06K7/10049Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves resolving collision on the communication channels between simultaneously or concurrently interrogated record carriers. the collision being resolved in the time domain, e.g. using binary tree search or RFID responses allocated to a random time slot interrogator driven, i.e. synchronous binary tree
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10009Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves
    • G06K7/10316Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves using at least one antenna particularly designed for interrogating the wireless record carriers
    • G06K7/10356Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves using at least one antenna particularly designed for interrogating the wireless record carriers using a plurality of antennas, e.g. configurations including means to resolve interference between the plurality of antennas
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/005Discovery of network devices, e.g. terminals

Definitions

  • the present disclosure relates to methods and apparatuses for the simultaneous detection of multiple radio frequency identification tags.
  • RFID Radio frequency identification
  • RFID tags can be categorized as passive, active, and semi-active (or hybrid), depending on whether they require batteries for operation.
  • Passive tags typically respond to queries from a reader by reflecting the RF energy transmitted by the reader.
  • active tags typically use on-board battery power for data transmissions to extend the operational range of the tag and can perform more complex functions than passive tags.
  • a desirable objective of RFID systems is to identify all tags within the reader's operational range within minimal queries and time.
  • tag signal collisions can occur when multiple tags within the reader's operational range respond to the reader's query simultaneously.
  • a tag collision results in a read failure, as the reader is unable to decode any tag information from the colliding signals.
  • the colliding tags will typically have to be re-read, which in turn results in transmission overheads, further identification delays, and increased power consumption
  • the disclosure provides, in part, methods and apparatuses for the simultaneous detection of multiple radio frequency identification (RFID) tags.
  • RFID radio frequency identification
  • the disclosure provides a plurality of RFID tags each having a unique tag identification (tag ID), the tags organized into one or more groups such that the tag IDs of the tags within each group are mutually orthogonal, the tags in each group configured to simultaneously transmit their respective tag IDs in response to the receipt of one or more queries associated with the group, whereby all of the tag IDs within each group are capable of being identified by an RFID reader receiving the simultaneous transmission by all of the tags in the group of their respective tag IDs.
  • the tags in each group may be configured to transmit their respective tag IDs in a timeslot that is unique from the timeslot associated with any other group.
  • the one or more queries associated with each group may be identical amongst all of the groups. For example, the one or more queries associated with each group may be a start-frame message. Alternatively, the one or more queries associated with each group may be unique from the one or more queries associated with any other group.
  • Each tag may comprise a memory having stored therein the one or more queries associated with the group in which the tag is a member, and each tag may be configured to compare queries received by the tag to the one or more queries stored in the memory and transmit its tag ID in response to any of the received queries that matches any of the one or more queries stored in the memory.
  • Each tag may be configured to determine if the cross product between the query and the tag ID yields a Walsh code and transmit its tag ID if this cross product is a Walsh code.
  • the tag IDs of the tags within each group may comprise two or more portions, where at least one portion is mutually orthogonal with the same portion of the tag IDs of the other tags in the group.
  • the tag IDs of the tags within each group may comprise one or more portions that are identical to the same portions of the tag IDs of other tags in the group, where at least one portion is mutually orthogonal with the same portion of the tag IDs of the other tags in the group.
  • the disclosure provides a plurality of radio frequency identification (RFID) tags each having a unique tag identification (tag ID), the tags organized into one or more groups such that the tag IDs of the tags within each group vary from a parent code associated with the group by a single bit, the tags in each group configured to transmit their respective tag IDs in response to one or more queries associated with the group, the one or more queries associated with each group being unique from the one or more queries associated with any other group, whereby all of the tag IDs within each group are capable of being identified by an RFID reader receiving the simultaneous transmission by all of the tags in the group of their respective tag IDs.
  • RFID radio frequency identification
  • the tags in each group may be configured to transmit their respective tag IDs in a timeslot that is unique from the timeslot associated with any other group.
  • the one or more queries associated with each group are identical amongst all of the groups.
  • the one or more queries associated with each group may be a start-frame message.
  • the one or more queries associated with each group may be unique from the one or more queries associated with any other group.
  • the one or more queries associated with a group may comprise the parent code associated with the group.
  • Each tag may be configured to determine if its tag ID varies from the queries received by the tag by a single bit and transmit its tag ID if its tag ID varies from any queries received by the tag by a single bit.
  • Each tag may comprise a memory having stored therein the one or more queries associated with the group in which the tag is a member, and each tag may be configured to compare queries received by the tag to the one or more queries stored in the memory and transmit its tag ID in response to any of the received queries that matches any of the one or more queries stored in the memory.
  • the tag IDs of the tags within each group may comprise two or more portions, each portion varying from a parent code by a single bit.
  • Each query associated with each group may comprise a first portion and a second portion, the first portion comprising the parent code associated with the group;
  • the tag IDs of the tags within each group may comprise a first portion and a second portion, the first portion varying by a single bit from the first portion of the query associated with the group, and the second portion identical to the second portion of the query associated with the group; and each tag may be configured to transmit its tag ID where the first portion of its tag ID varies from the first portion of a query by a single bit and the second portion of its tag ID is identical to the second portion of the query.
  • Figure 1 is an example of a system diagram of a system for the simultaneous detection of multiple RFID tags.
  • Figure 2 A is a system diagram of the components of an example of an RFID tag.
  • Figure 2B is a system diagram of the components of an example of another example of an RFID tag.
  • Figure 3 is a system diagram of the components of an example of an RFID tag reader.
  • Figure 4 is a graph of an example of a collision between two tag IDs simultaneously transmitted from two tags employing FM0 signaling.
  • Figure 5A is a logic diagram of an example of a bit-wise differential method for the simultaneous detection of multiple RFID tags by a reader according to one embodiment.
  • Figure 5B is a logic diagram of an example of a method for the responding by a tag to a query transmitted by the reader in accordance with the method shown in Figure 5A.
  • Figure 6 is a logic diagram of an example of a method of organizing tags into groups for use in the methods shown in Figures 5 A and 5B.
  • Figure 7A is a logic diagram of an example of an orthogonal method for the simultaneous detection of multiple RFID tags by a reader according to one embodiment.
  • Figure 7B is a logic diagram of an example of a method for the responding by a tag to a query transmitted by the reader in accordance with the method shown in Figure 7 A.
  • Figure 8 is a logic diagram of an example of a method of organizing tags into groups for use with the methods shown in Figures 7 A and 7B.
  • Figure 9A is a diagram of an example of a multiple input multiple output method for the simultaneous detection of multiple RFID tags by a reader according to one embodiment.
  • Figure 9B is a logic diagram of an example of a multiple input multiple output method for the simultaneous detection of multiple RFID tags by a reader according to one embodiment.
  • Figure 10A is a logic diagram of an example of a segmented multiple input multiple output method for the simultaneous detection of multiple RFID tags by a reader according to one embodiment.
  • Figure 10B is a logic diagram of an example of a method for the responding by a tag to a query transmitted by the reader in accordance with the method shown in Figure 10A.
  • Figure 1 1 is a diagram of an example of a query tree employing the method shown in Figures 10A and 10B.
  • the embodiments described herein relate to methods and apparatuses for the simultaneous detection of multiple radio frequency identification (RFID) tags.
  • RFID radio frequency identification
  • the embodiments relate to methods and apparatuses for simultaneously detecting multiple RFID tags based upon the a priori organization of the tags into groups such that the tag identification ("tag ID") of each tag within a given group is capable of being identified by an RFID reader upon the receipt of the simultaneous transmission by all of the tags in the group of their respective tag IDs.
  • tag identification refers to a unique identifier, or one or more portions of one or more unique identifiers, that are associated with each RFID tag.
  • query refers to a communication signal transmitted by an RFID reader that is directed to initiate a response from one or more RFID tags.
  • response refers to a transmission by an RFID tag of its tag ID or one or more portions thereof.
  • circuit or “processor” may include one or more circuits, including without limitation, application specific circuits, programmable logic controllers, field programmable gate arrays, microcontrollers, microprocessors, analog and digital electronic circuits and other suitable processing devices.
  • computer readable medium may include one or more computer readable mediums, including without limitation, random access memory, flash memory, read only memory, hard disc drives, optical drives and optical drive media, flash drives, and other suitable computer readable storage media.
  • FIG. 1 an example of a system for the simultaneous detection of multiple RFID tags is generally shown as item 100.
  • the system 100 comprises a plurality of RFID tags 102, an RFID tag reader 104, a network 106, and a server 108.
  • Each tag 102 is capable of receiving queries from the reader 104, determining whether the queries are directed to the tag 102, and responding to the reader 104 with its tag ID where a query is directed to the tag 102.
  • the tags 102 are organized into groups such that all of the tags within a given group are capable of being identified by the reader 104 upon receipt of the simultaneous transmission of all of the tag IDs in the group.
  • the RFID tags 102 may comprise passive RFID tags (for example, Monza 4 tag chips manufactured by Impinj, Inc.
  • the passive RFID tag 200 generally comprises an antenna 202 and control circuitry 204.
  • the antenna 202 is capable of receiving information from the reader 104, such as queries, and transmitting information to the reader 104, such as the tag ID associated with the tag 200.
  • Information may be received or transmitted by the antenna 202 using any suitable wireless method, protocol or coding applicable to RFID.
  • the control circuitry 204 is in communication with the antenna 202 and is capable of processing information received by the antenna 202, such as queries, and directing the transmission of information from the antenna 202, such as tag IDs.
  • the passive RPID tag 200 may also optionally comprise a memory 206 for storing information used by the control circuitry 204 to process information received by the tag 200 and transmit information from the tag 200.
  • the memory 206 may be a standalone device in communication with the control circuitry 204 or form part of the control circuitry 204.
  • the active RFID tag 250 comprises an antenna 252, control circuitry 254, and, optionally, a memory 256, similar to the antenna 202, control circuitry 204, and memory 206 of passive RFID tag 200.
  • the active RFID tag 250 also comprises a power source 256 that provides power to the control circuitry 254 to assist in the processing and/or transmission of information by the tag 250.
  • the power source 256 may comprise one or more batteries, solar cells, fuel cells, and other suitable electrical power sources.
  • the reader 104 is capable of identifying the presence of tags 102 that are within the operational range of the reader 104.
  • the reader 104 is capable of transmitting one or more queries directed to one or more specific tags 102, receiving responses from the tags 102, and identifying the tag IDs in the responses.
  • the reader 104 may be any suitable RFID reader/interrogator capable of providing the functionality of the reader 104 described herein, such as for example, the tag reader/controller and exciter manufactured by Guard RFID Solutions.
  • an example of an RFID reader 300 comprising an antenna 302, a processor 304, a memory 306, a communication unit 308 and a power source 310.
  • the antenna 302 is capable of transmitting information to the tags 102, such as queries, and receiving information from the tags 102, such as tag IDs. The information may be received and transmitted by the antenna 302 using any suitable wireless method, protocol or coding. Alternatively, the antenna 302 may comprises a plurality of antennas positioned at one or more locations.
  • the processor 304 is in communication with the antenna 302, memory 306 and communication unit 308.
  • the processor 302 is capable of directing the transmission of information to the tags 102 through the antenna 302, identifying tag IDs in responses received from the tags 102 through the antenna 302, and communicating with the server 108 through the communication unit 308.
  • the memory 306 functions to: (a) store instructions and statements that when executed by the processor 302 provide the functionality of the reader 300; and (b) store information generated or received by the processor 304 in the course of its operation.
  • the communication unit 308 comprises an Ethernet transceiver that is capable of communicating information between the processor 304 and the server 108, such as, for example, status information, control information, and tag IDs. Alternatively, the communication unit 308 may consist of other suitable wired or wireless communications hardware employing any suitable communications protocol.
  • the power source 310 is capable of providing electrical power to the components of the reader 300 and may comprises one or more batteries, solar cells, fuel cells, and other suitable electrical power sources.
  • the network 106 provides a medium or channel over which the reader 104 and server 108 communicate.
  • the network 106 may include one or more networks, including without limitation, local area networks, wide area networks, intranets, the Internet, point-to- point or point-multipoint connections, and other suitable communication channels and networks.
  • the server 108 is in communication with the reader 104 over the network 106.
  • the server 108 is capable of receiving information from the reader 104 (e.g., status information and tag IDs), transmitting information to the reader 104 (e.g., control information), and storing information.
  • the tags 102 are organized into groups such that all of the tags 102 within a given group are capable of being identified by the reader 104 upon receipt of the simultaneous transmission by all of the tags 102 in the group of their respective tag IDs.
  • the following paragraphs describe four embodiments of methods, and alternatives thereto, of grouping and identifying tags 102: A) the Bit- wise Differential Method, B) the Orthogonal Method, and C) the MIMO Method and D) Segmented MIMO Method.
  • the tags 102 are organized into groups such that each of the tags 102 within a given group has a unique tag ID that varies by exactly one bit from a unique parent code associated with the group.
  • Each group of tags 102 is configured to respond to one or more queries associated with the group of tags 102.
  • the reader 104 upon the simultaneous transmission by all of the tags 102 within a given group, the reader 104 is capable of identifying the tag IDs of all of the tags 102 contained in the simultaneous transmission. This method is generally referred to herein as the "Bit-wise Differential Method".
  • a query transmitted by an RFID reader may result in the simultaneous response from multiple RFID tags. If all of the tags respond with the same logical value, either a 0-bit or a 1-bit, in the same bit location, the reader can typically demodulate the logical value of that bit location where the RFID system employs an appropriate signaling scheme to transmit tag IDs, for example, FMO or Manchester coding. However, when some tags respond with a 0-bit and other tags respond with a 1-bit in the same bit location, the reader receives a collision bit (which is neither 1-bit nor a 0-bit). The reader can discern this is a collision bit by employing the appropriate signaling scheme, such as the FMO or Manchester coding.
  • the reader 102 by organizing the tags 102 into groups such that all of the tags 102 within a given group vary by exactly one bit from a unique parent code associated with the group, the reader 102 is able to use collision bits to identify all of the tag IDs in a simultaneous responses from multiple tags 102 in the same group. For example, consider a group of 4-bit tag IDs ⁇ 0001 , 0010, 0100, 1000 ⁇ that includes all four tag IDs that vary by one bit from the parent code ⁇ 0000 ⁇ . When two or more tags 102 respond to a query simultaneously, the reader 104 can identify their tag IDs based on the bit locations of the collision bits in the combined response received by the reader 104.
  • the reader 104 will receive a combined response of ⁇ 00XX ⁇ , with the 3rd and 4th bit locations being collision bits. Since ⁇ 0010 ⁇ is different from the parent code ⁇ 0000 ⁇ in the 3rd bit location, and a collision has occurred in the 3rd bit location, the reader 104 can determine that tag ID ⁇ 0010 ⁇ is present in the combined response. Similarly, since ⁇ 0001 ⁇ is different from the parent code ⁇ 0000 ⁇ in the 4th bit, and a collision has occurred in the 3rd bit location, the reader 104 can determine that tag ID ⁇ 0001 ⁇ is present in the combined response.
  • each tag ID in a group of tags 102 varies by exactly one bit from a parent code and two or more tags 102 in the group simultaneously respond to a query
  • the tag ID of any responding tag 102 can be identified by the presence of a collision bit in the bit location in which the tag ID varies from the parent code by exactly , one bit. It will be appreciated that the method illustrated in the foregoing example can be extended to tag IDs having any number of bits.
  • the parent codes are used as queries by the reader 104 and the tags 102 are configured to respond to the queries when their respective tag IDs vary by exactly one bit from a query (i.e., parent code).
  • a set of unique parent codes can be selected such that all of the tag IDs in a F-bit tag ID space can be divided in to non- overlapping groups, where F is a power of two. Referring to Figure 6, an example of a method 600 for identifying such parent codes is shown.
  • the method 600 commences by initializing a set of parent codes, L c , to the null set, ⁇ , and a set of unallocated tag IDs, S, to all of the tag IDs in the F-bit tag ID space.
  • the method 600 proceeds to block 604 where a random tag ID, ao, is selected from S.
  • the method 600 then proceeds to block 606 where a tag ID from S, ai, is determined such that the weight of the result of the bitwise exclusive OR of ao and ai equals 1, where the "weight" is defined as the number of l 's in the result.
  • the method 600 proceeds to block 608 where ao and ai are removed from S and are added to L c .
  • the method 600 then proceeds to block 610 where it is determined if the length of L c is less than 2 F IF. If it is, the method 600 proceeds to block 612, otherwise, the method 600 proceeds to block 618 where L c is determined and the method 600 is terminated. In block 612, the method 600 determines a tag ID, a'o, from S such that for each parent code in L c , the weight of the result of the bitwise exclusive OR of a'o and the parent code is not equal to 2 (otherwise the parent codes may have overlapping family members).
  • the method 600 then proceeds to block 614, where the method 600 determines a tag ID a'i from S such that (a) the weight of the result of the bitwise exclusive OR of a' 0 and a'i equals 1 , and (b) for each parent code in L c , the weight of the result of the bitwise exclusive OR of a'i and the parent code is greater or equal to 3.
  • a'i is determined, the method 600 proceeds to block 616 where a'o and a'i are removed from S and are added to L c . The method 600 then returns back to block 610.
  • a set of unique parent codes, L c are determined. These parent codes can then be used to organize all of the tags in a F-bit tag ID space into 2 F /F non-overlapping groups of tags 102, where F is a power of two, and wherein the tags 102 in each group vary by exactly one bit from the parent code associated with the group.
  • F is a power of two
  • other suitable methods may be applied for identifying one or more parent codes, and organizing one or more tag IDs of a given length into one or more groups of tag IDs that vary by exactly one bit from an associated parent code.
  • the groups can be utilized by the tags 102 and the reader 104 to simultaneously detect multiple tags 102.
  • FIG 5 A an example of a method 500 for the simultaneous detection of multiple tags 102 by the reader 104 is shown.
  • the method 500 permits the reader 104 to identify all of the tag IDs in a simultaneous transmission of all of the tag IDs within a given group of tags 102 that vary by exactly one bit from the parent code associated with the group.
  • the method 500 commences at block 502 where the reader 104 transmits a start- frame message to inform the tags 102 that the reader 104 is about to query the tags 102.
  • the method 500 then proceeds to block 504 where the reader 104 selects an initial query from a set of predefined queries.
  • the set of predefined queries comprises the unique parent codes that are associated with each group of tags 102.
  • the set of predefined queries may comprise any other desirable queries.
  • the method 500 then proceeds to block 506 where the reader 104 transmits the selected query.
  • the method 500 After transmission of the selected query, the method 500 proceeds to block 508 and awaits a response from one or more tags 102 within the group for which the query is associated. Upon receiving a response, the method 500 proceeds to block 510 where each bit location in the response is examined to determine if a collision bit has occurred. As discussed above, where suitable coding schemes are employed (e.g., FM0 or Manchester coding) and two or more tags 102 within a group simultaneously transmit their respective tag IDs, the logical value of a bit location (i.e., 1 or 0) can be identified by the reader 104 where all of the responding tags 102 transmit the identical logical value in that bit location.
  • suitable coding schemes e.g., FM0 or Manchester coding
  • the reader 104 will identify a collision bit. If no collision bits have occurred, the method 500 proceeds to block 520 where the reader 104 identifies the logical value of each bit location in the response as comprising a single tag ID. If collision bits have occurred, the method proceeds to block 512 and identifies the tag IDs contained in the response by identifying the bit locations where the collision bits have occurred and mapping these bit locations to the tag IDs in the group for which the query is associated that vary from the parent code associated with the group by exactly one bit in the bit location of the collision bit.
  • the method 500 identifies the tag ID that varies from the parent code by exactly one bit in the first bit location. Similarly, if the collision bit occurs in the n th bit location, the method 500 identifies the tag ID that varies from the parent code by exactly one bit in the n th bit location.
  • the method proceeds to block 516 and determines if all of the queries in the set of predefined queries have been transmitted. If all of the queries have been transmitted, the method 500 proceeds to block 518 and terminates. If not all of the queries have been transmitted, the method 500 proceeds to block 522 and selects the next query in the set. The method 500 then repeats blocks 506 to 516 applying the next query.
  • the method 500 describes how the reader 104 may operate to identify all of the tag IDs in a simultaneous transmission of all of the tag IDs within a given group that vary by exactly one bit from the parent code associated with the group.
  • FIG. 5B an example of a corresponding method 550 is shown for tags 102 responding to queries transmitted by the reader 104 in accordance with method 500.
  • the method 550 commences at block 552 where the tag 102 receives a start-frame message from the reader 104. As described above, the start-frame message functions to inform the tags 102 that the reader is about to query the tags 102. The method 550 then proceeds to block 554 where the tag 102 awaits a query from the reader 104. Once a query is received by the tag 102, the method 550 proceeds to block 556 where the tag 102 determines if its tag ID varies from the query (i.e., parent code) by exactly one bit. The tag ID may be stored by the tag 102 in its memory or circuitry.
  • the tag 102 makes this determination by performing a bitwise exclusive OR operation between its tag ID and the query and determining the weight of the result, where the "weight" is defined as the number of l 's in the result. If the weight equals 1, then the query varies by exactly one bit from the tag ID, otherwise, it does not.
  • the tag 102 may determine if its tag ID varies from the query by exactly one bit in block 556 by comparing the query (i.e., parent code) to a parent code associated with the tag 102 that is stored in its memory or circuitry.
  • the method 550 proceeds to block 558 and transmits its tag ID and then proceeds to block 558 and terminates. If the tag ID does not vary by exactly one bit from the query, the method 550 proceeds directly to block 560 and terminates.
  • a simple example is described as follows.
  • the 2-bit tags ⁇ 00, 01, 10, 11 ⁇ are classified into two groups, the 1 st group ⁇ 01, 10 ⁇ and the 2 nd group ⁇ 00, 1 1 ⁇ .
  • the query for the 1 st group is 00 because both 01 and 10 are one-bit-different from query 00.
  • the query for the 2 nd group is 01 because both 00 and 11 are one-bit-different from the query 01.
  • the queries transmitted by the reader 104 comprise the parent codes associated with each group of tags.
  • the parent codes may be determined by method 600 where the length of the parent code is a power of two.
  • the queries may be structured to have (a) a first portion comprising a parent code determined using method 600 and having a length equal to a power of two, and (b) a second portion having a bit length not equal to a power of two.
  • the tag IDs also structured to have first and second portions of equal length and bit locations to the queries.
  • the first and second portions may comprise sequential groupings of bits in each tag ID or query (e.g., a 5-bit tag ID or query may have a first portion comprising the first 4 bits of the tag ID or query and a second portion comprising the 5 th bit in the tag ID or query) or selections of bits from various bit locations in each tag ID or query (e.g., a 5-bit tag ID or query may have a first portion comprising the 1 st , 2 nd , 4 th and 5 th bit locations of the tag ID or query and a second portion comprising the 3 rd bit location of the tag ID or query).
  • the tags 102 are categorized into groups such that all of the tags 102 within a given group comprise a unique tag ID having (a) a second portion that is identical amongst all of the tag IDs in the group and identical to the second portion of the query associated with the group, and (b) a first portion that varies by exactly one bit from the first portion of the query associated with the group.
  • the method 500 may be applied to these tag IDs without modification since the second portion of the tag IDs will always be identical amongst tags 102 within the same group, and thus, collisions will typically only occur within the transmission of the first portion of the tag ID.
  • the method 550 may also be applied to these tags 102, however, with slight modification. Specifically, in block 556 of method 550, the tag 102 will (a) determine if the first portion of its tag ID varies from the first portion of the query by exactly one bit, and (b) determine if the second portion of its tag ID is identical to the second portion of the query. The tag 102 will not proceed to block 558 and transmit its tag ID unless the result of both of these determinations is true.
  • the parent codes are used as queries by the reader 104 and the tags 102 are configured to respond to the queries when their respective tag IDs vary by exactly one bit from a query, or portion thereof.
  • the tags 102 may be grouped using parent codes as described above, however, one or more queries may be uniquely associated with each group that do not necessarily comprise the parent codes associated with the group.
  • the queries may have lengths that are greater or less than the length of the parent codes and each of the one or more queries uniquely associated with a given group are stored in the memory or circuitry of the tags 102 in the group.
  • the method 550 is modified such that in block 556, instead of a tag 102 determining if its tag ID varies from a received query, or portion thereof, by exactly one bit, the tag 102 compares the received query to the stored queries in the memory or circuitry of tag 102. If the received query matches any of the stored queries, the method 550 proceeds to block 558 and transmits its tag ID.
  • the tags 102 are grouped using parent codes as described above, however, one or more identical queries may be associated with all of the tags 102.
  • the queries may have lengths that are greater or less than the length of the parent codes and tag IDs and the one or more queries uniquely associated with a given group are stored in the memory or circuitry of the tags 102 in the group.
  • the tags 102 within each group also have a unique timeslot shared amongst the tags 102 in the group and stored on the memory or circuitry of each tag 102. The timeslot is used by the tag 102 to determine when to transmit its tag ID in response to receiving a query associated with the tag 102.
  • method 550 is modified such that in block 556, the tag 102 compares the received query to the stored queries in the memory or circuitry of tag 102. If the received query matches any of the stored queries, the method 550 proceeds to block 558 and transmits its tag ID during its timeslot.
  • the tags 102 are grouped using parent codes as described above, however, a single query is associated with all of the tags 102 comprising the start-frame message.
  • the tags 102 within each group have a unique timeslot shared amongst the tags 102 in the group and that is stored on the memory or circuitry of each tag 102.
  • the timeslot is used by the tag 102 to determine when to transmit its tag ID in response to receiving a start-frame message from the reader 104.
  • method 550 is modified to delete blocks 554 and 556, and block 558 is modified to and transmits the tag ID during its timeslot.
  • the timeslot is used by the reader 104 to identify tag IDs in responses from the tags 102.
  • method 500 is modified to: delete blocks 504, 506 and 522; blocks 508, 510, 520, and 512 are repeated until all timeslots have expired; and block 512 is modified to use the timeslot to map the collision bits of a combined response to the appropriate tag ID associated with the timeslot.
  • the Bit- wise Differential Method describes one method of organizing the tags 102 into groups such that all of the tags 102 within a given group are capable of being identified by the reader 104 upon receipt of the simultaneous transmission by all of the tags 102 in the group of their respective tag IDs.
  • the tags 102 are organized into groups such that all of the tags 102 within a given group have a unique tag ID that is orthogonal to tag ID of every other tag 102 in the group. This method is generally referred to herein as the "Orthogonal Method".
  • a query transmitted by an RFID reader may result in the simultaneous response from multiple tags. These simultaneous responses may interfere with one another and prevent the reader from being able to identify the information in the responses.
  • the reader 102 is able to separate and identify the tag IDs transmitted by each tag 102 in simultaneous responses from all of the tags 102 in the same group.
  • all of the possible tags IDs in a 5-bit tag ID space can be divided into non-overlapping groups, such that the tag IDs in a given group are mutually orthogonal with each other. Referring to Figure 8, an example of a method 800 for determining such groups is shown.
  • the method 800 commences by initializing a set of unallocated tag IDs, C, to all of the possible tags IDs in the 5-bit tag ID space, and initializing a set of allocated groups of tag IDs, P, to the null set, ⁇ .
  • the method 800 then proceeds to block 804 where: (a) a first group of tag IDs, Gy, is initialized to a Walsh matrix W, (b) a group index, i, is set to 1, and (c) Gy is removed from C and added to P.
  • the method 800 then proceeds to block 806 where: (a) / is incremented by 1, (b) a random tag ID, v, in C is selected, (c) an / ' * group of tag IDs, G is determined as the cross- product of the Walsh matrix W and v, and (d) G, is removed from C and added to P.
  • the method 800 then process to block 808 where it is determined if all of the tag IDs in C have been allocated to a group in P. If so, the method 800 proceeds to block 810 and terminates, otherwise, the method 800 repeats blocks 806 and 808.
  • the identification of the tag IDs is based on a model of the communication channel between the tags 102 and the reader 104, and the mathematical properties of the tag IDs within each group.
  • the communication channel between the tags 102 and the reader 104 expressed mathematically as:
  • x ,/» !, ⁇ ⁇ ⁇ , , is l x i? vector and where y is the signal received by the reader 104, X is the tag IDs transmitted by each tag 102, h describes the characteristics of the communication channels between the tags 102 and the reader 104, n is additive white noise received by the reader 104, B is the number of bits in each tag ID, and Mis the number of tags 102 simultaneously transmitting tag IDs.
  • Equation (1) can be expressed as:
  • Group 4 ⁇ 0011,0110,0000,0101 ⁇ where each group forms an orthogonal matrix.
  • each group forms an orthogonal matrix.
  • tags having tag IDs ⁇ 1111 ⁇ and ⁇ 1010 ⁇ are within the operational range of the reader 104.
  • the reader 104 queries the tags in Group 1. Since only tags having tag IDs ⁇ 1111 ⁇ and ⁇ 1010 ⁇ are within the operational range of the reader 104, only these tags will respond to the query and their responses are simultaneously received by the reader 104.
  • the reader 104 then successively queries the tags 102 in Groups 2, 3 and 4, within no tag responses.
  • the tag IDs of all of tags 102 within the operational range of the reader 104 have been identified with four queries (i.e., four timeslots).
  • FIG. 7 A an example of a method 700 for the simultaneous detection of multiple tags 102 by the reader 104 is shown.
  • the method 700 permits the reader 104 to identify all of the tag IDs in a simultaneous response of all of the tag IDs within a given group that are mutually orthogonal with one another.
  • the method 700 commences at block 702 where the reader 104 transmits a start- frame message to inform the tags 102 that the reader is about to query the tags 102.
  • the method 700 then proceeds to block 704 where the reader 104 selects an initial query from a set of predefined queries that are uniquely associated with each group of tags 102 comprising mutually orthogonal tag IDs.
  • the method 500 then proceeds to block 706 where the reader 104 transmits the selected query.
  • the method 700 After transmission of the selected query, the method 700 proceeds to block 708 and awaits a response from one or more tags 102 within the group for which the selected query is associated. Upon receiving a response, the method 700 proceeds to block 710 where an initial tag ID within the group of tag IDs associated with the query is selected. The method 700 then proceeds to block 712 it is determined if the magnitude of the inner product of the received signal and the selected tag ID is greater than a pre-defined threshold, ⁇ . , , to discriminate the response from the noise. If the result is greater than the threshold, the method 700 proceeds to block 716, otherwise, the method 700 proceeds to block 720.
  • a pre-defined threshold ⁇ .
  • the tag ID is determined to be present in the response received by the reader 104.
  • the reader ,104 may also, optionally, solve for other characteristics of the channel, h,, such as the received signal strength.
  • the method 700 then proceeds to block 720.
  • the reader 104 determines if blocks 712 and 716 have been applied to all of the tag IDs in the group for which the query is associated. If it has, the method 700 proceeds to block 722, otherwise, the method proceeds to block 724, where the next tag ID in the group is selected, and blocks 712 to 720 are repeated using the next tag ID.
  • the reader 104 determines if all of the desired queries have been transmitted by the reader 104. If so, the method 700 proceeds to block 728 and terminates, otherwise, the method 700 proceeds to block 726, where the next query is selected, and blocks 706 to 722 are repeated using the next query.
  • the method 700 describes how the reader 104 may operate to identify all of the tag IDs in a simultaneous transmission of all of the tag IDs within a given group of tags 102 that are mutually orthogonal with each other.
  • FIG 7B an example of a corresponding method 750 is shown for responding by the tags 102 to queries transmitted by the reader 104 in accordance with method 700.
  • one or more queries are uniquely associated with each group of tags 102 having mutually orthogonal tag IDs. These queries are stored in the memory or circuitry of the tags 102 in the group and may have lengths that are greater or less than the length of the tag IDs.
  • the method 750 commences at block 752 where the tag 102 receives a start-frame message from the reader 104. As described above, the start-frame message functions to inform the tags 102 that the reader is about to query the tags 102. The method 750 then proceeds to block 754 where the reader 104 awaits a query from the reader 104. Once a query is received by the tag 102, the method 750 proceeds to block 756 where the tag 102 determines if the received query matches any of the queries stored in the tag's 102 memory or circuitry. If the received query matches any of the stored queries, the method 750 proceeds to block 758 and transmits its tag ID and then proceeds to block 760 where the method 750 is terminated. If the received query does not match any of the stored queries, the method 750 proceeds directly to block 760 and terminates.
  • the tag 102 may determine if an operation performed on the query matches one or more values stored in the tag's 102 memory or circuitry. For example, the tag 102 may determine if the bit-wise exclusive OR of the query and the tag's 102 ID matches a Walsh code stored in the tag's 102 memory or circuitry. Applying this operation to the groupings of 4-bit tag IDs described in the previous example, the following Table 1 identifies the tag IDs that will respond to a query where the bit-wise exclusive OR operation of the query and tag ID results in a specific Walsh code.
  • exclusive OR operation is the same as a cross product. For example, as for the Group 2, (query 1000) XOR (ID 1000) yields Walsh code 1111, while (query 1000) XOR (ID 1101) yields Walsh code 1010.
  • each group of tags 102 may have lengths that are greater or less than the length of the tag IDs.
  • each group of tags 102 having tag IDs that are mutually orthogonal are allocated a unique timeslot shared amongst the tags 102 in the group and stored on the memory or circuitry of each tag 102. The timeslot is used by the tag 102 to determine when to transmit its tag ID in response to receiving a query associated with the tag 102.
  • method 750 is modified such that in block 758, the tag 102 does not transmits its tag ID until the start of its timeslot.
  • each tag 102 has an identical query associated with it comprising the start-frame message.
  • each group of tags 102 having tag IDs that are mutually orthogonal are allocated a unique timeslot shared amongst the tags 102 in the group and that is stored on the memory or circuitry of each tag 102. The timeslot is used by the tag 102 to determine when to transmit its tag ID in response to receiving a start-frame message from the reader 104.
  • method 750 is modified such that blocks 754 and 756 are deleted and block 758 is modified such that the tag 102 does not transmit its tag ID until the start of its timeslot.
  • the Orthogonal Method describes a method of organizing the tags 102 into groups such that all of the tags 102 within a given group are mutually orthogonal. In this manner, the tag IDs in each group are capable of being identified by the reader 104 upon receipt of the simultaneous response by all of the tags 102 in the group of their respective tag IDs.
  • the tags 102 may be organized into groups such that only a portion of their tag IDs are mutually orthogonal to the same portion of the tag IDs of the other tags 102.
  • the reader 102 is able to identify the entire tag IDs of each tag 102 by utilizing multiple antennas.
  • the performance of the RFID system may be improved by using a reader having multiple antennas. These systems are commonly referred to as multiple input multiple output (MIMO) systems.
  • MIMO multiple input multiple output
  • the reader may use the responses received at each antenna to separate the responses of each tag from the cumulative response and identify their respective tag IDs.
  • the reader typically requires that characteristics of the communication channels between the responding tags and the antennas.
  • the characteristics of the communication channels are typically obtained by the tags transmitting training pilot signals to the reader before the tags transmit their tag IDs.
  • the training pilots are used by the reader to determine the characteristics of the communication channels.
  • the coordination of training pilots may require communication amongst the tags in advance to organize the transmission of training pilots.
  • the transmission of training pilots and the organization of the transmission of training pilots amongst the tags require both time and energy, which may not be available depending on the type of tag and application.
  • the tag IDs themselves are structured to serve as training pilots.
  • the tag IDs are structured to have a first portion and a second portion.
  • the tags 102 are organized into groups such that within each group, the first portion of the tag ID of each tag 102 is orthogonal to the first portion of the tag ID of every other tag 102 in the group, whereas, the second portion may comprise any desirable value.
  • the first portion of the tag IDs are used as training pilots while the second portion may be separated by the MIMO system.
  • the first portion is the tag ID
  • the second portion is the data in addition to the tag ID that the tags transmit to the reader.
  • the first portion can be a medium access control (MAC) address or an object identification number.
  • MAC medium access control
  • a possible scenario is when the reader (or the receiving central station) has multiple antennas and the tags collect real-time data from their vicinity and send the data (in addition to their tag ID) to the reader or the receiving central station.
  • N is the number of antennas in the reader 104
  • M is the number of simultaneous received by the reader 104 that have tag IDs with an orthogonal first portion
  • T is the number of bits in each response (i.e., tag ID)
  • Y is the signal received by the reader 104
  • H describes the characteristics of the communication channels between the tags 102 and the N antennas of the reader 104
  • X is the information transmitted by each tag 102 (e.g., tag IDs).
  • M may not be representative of the number of simultaneously responding tags, but rather the number of different channels that the reader 104 can discriminate.
  • M the number of different channels that the reader 104 can discriminate.
  • the reader 104 perceives a response from a tag 102 (or tags) having a tag ID with a first portion ⁇ 00 ⁇ .
  • the actual physical channel from the responding tags 102 to the reader 104 is a 2x N channel (when the reader 104 has N antennas), the reader 104 perceives a IxN channel.
  • each channel is dedicated to only one tag
  • M is representative of the number of simultaneously responding tags, as depicted in Figure 9A. For example, only one tag or no tag starts with 00, only one tag or no tag starts with 01, only one tag or no tag starts with 10, and only one tag or no tag starts with 11.
  • An example is shown in Figure 9 A, where the first portion is ID or MAC address, while the second segment is some additional data.
  • Equation (7) [00101]
  • Y ⁇ HP + N 1 (10) Y 3 HS + N 2 (11)
  • P is the first portion of the tag response transmitted by the tags 102 to the reader 104
  • S is the second portion of the tag response transmitted by the tags 102 to the reader 104
  • Y 1 is the first portion of the signal received by the reader 104 corresponding to P
  • Y 2 is the second portion of the signal received by the reader 104 corresponding to S
  • N 1 is the channel noise associated with the first portion of the signal
  • P and N 2 is the channel noise associate with the second portion of the signal, S.
  • the channel matrix H may be determined by solving:
  • Group 1 ⁇ 1111, 1010, 1100, 1001 ⁇
  • Group 2 ⁇ 1000, 1101, 1011, 1110 ⁇
  • Group 3 ⁇ 0001, 0100, 0010, 0111 ⁇
  • Group 4 ⁇ 0011 , 0110, 0000, 0101 ⁇ where the members of each group are mutually orthogonal with each other.
  • tags 102 respond having 5-bit tag IDs ⁇ 0000a ⁇ and ⁇ 0011b ⁇ , respectively.
  • the information transmitted by the tags 102 can be expressed mathematically as:
  • Equation (7) the response received by the reader 104 can be expressed mathematically as:
  • the reader 104 is able to identify the first portions, P, through correlation by solving:
  • a tag 102 having first portion p is considered to be identified if
  • the characteristics of the communications channels, H, and the second portions, S, of the responding tag IDs can then be determined by the reader 104 by solving Equations (13) and (14).
  • N 1 N ⁇ W ⁇ ⁇ S, noise-signal
  • N 1 N , N ⁇ ?, ⁇ signal
  • P consists of all the above detected p .
  • the reader 104 may determine second portions, S, of the tag 102 responses by applying Equation (14) and considering additive channel noise, N, as:
  • This method is generalized with reference to Figure 9B, where an example of a method 900 for the simultaneous detection of multiple tags 102 by a reader 104 with multiple antennas is shown.
  • the method 900 permits the reader 104 to identify all of the tag responses in a simultaneous response within a given group that have a first portion, P, that are mutually orthogonal with one another.
  • the method 900 commences at block 902 where the reader 104 transmits a start- frame message to inform the tags 102 that the reader is about to query the tags 102.
  • the method 900 then proceeds to block 904 where the reader 104 initializes a number of variables: a set, Q T , of the queries to be transmitted is initialized to the queries of all of the groups of tag IDs comprising mutually orthogonal first portions, P; a current query, q, is initialized to the first query in Q T ; and a set, G, of members of the current group is initialized to all of the members of the first group.
  • the method 700 then proceeds to block 906 where the reader 104 transmits the selected query, q. After transmission of the selected query, the method 900 proceeds to block 908 and awaits a response from one or more tags 102 within group G. Upon receiving a response, the method 900 proceeds to block 910 where the current group member, p, is set as the first member in the current group, G, and the first portion of the received response, Y 1 , is selected. The method 900 then proceeds to block 911 where the reader 104 determines if Y 1 ⁇ p
  • a pre-defined threshold S mlse _ !lgnal
  • the first portion, p is determined to be present in the response received by the reader 104.
  • the method 900 then proceeds to block 920, where the reader 104 determines if blocks 912 and 916 have been applied to all members of group G. If it has, the method 900 proceeds to block 922, otherwise, the method proceeds to block 924, where p is set to the next member in group G, and blocks 912 to 920 are repeated.
  • the reader 104 solves for the characteristics of the communication channels, H, by applying Equation (13).
  • the method 900 then proceeds to block 926 where the second portions, S, of the responding tag IDs is determined by solving Equation (14).
  • the method 900 then proceeds to block 928, where the reader 104 determines if all of the queries in Q T have been transmitted by the reader 104. If so, the method 900 proceeds to block 930 and terminates, otherwise, the method 900 proceeds to block 932, where q is set to the next query in Q T and G is set to the members of the next group. The method 900 then repeats blocks 906 to 932.
  • the method 900 describes how the a reader 104 having multiple antennas may operate to identify all of the tag IDs in a simultaneous transmission of all of the tag IDs within a given group of tags 102 that have first portions, P, that are mutually orthogonal with each other.
  • the method performed by the tags 102 in responding to queries from the reader 104 operating in accordance with method 900 is identical to method 750 describe above, and variants thereto, except for such suitable modifications required to apply the method 700 to group of tags 102 having orthogonal first portions.
  • the tags 102 have tag IDs that are structured to have a plurality of segments, Si to S n (n being the number of segments). This method is generally referred to herein as the "Segmented MIMO Method”.
  • the tag IDs are organized into multiple segmented. Specifically, a tag ID is considered to be in the same group as another tag ID if their first j-l segments are identical and their j segment is orthogonal, where 1 ⁇ j ⁇ n . This relationship can be expressed mathematically as:
  • the reader 104 is configured to query the tags 102 in a segment-by-segment manner until the channel characteristics of each responding tag 102 are capable of being determined by the reader 104.
  • the reader 104 is unable to determine the characteristics of the communication channels between the reader 104 and the responding tags 102.
  • the reader 104 then extends the query to the next segment, S 2 , and queries all of the tags 102 that are within the operational range of the reader 104 that have an identical first segment, Si, and a second segment, S 2 , that is a member of the same orthogonal group.
  • the reader 104 is unable to determine the characteristics of the communication channels between the reader 104 and the responding tags 102.
  • the reader then extends the query to the next segment, S3. This method continues until the reader 104 is able to determine the characteristics of the communication channels between the reader 104 and all of the responding tags 102.
  • tag IDs For example, consider a set of tag IDs having a 2-bit first segment and a 2-bit second segment, where the tag IDs are organized into segmented groups based on the following two groups:
  • Group 2 ⁇ 10, 11 ⁇ where the members of each group are mutually orthogonal with each other.
  • tags 102 having tag IDs ⁇ 0000, 0111, 1110, 111 1 ⁇ , respectively, are within the operational range of a two antenna reader 104.
  • the reader 104 first queries all tags 102 having a first segment that is a member of Group 1. In response, tags 102 having tag IDs ⁇ 0000 ⁇ and ⁇ 011 1 ⁇ respond to the query. Since the first segment of each responding tag ID is orthogonal and unique, the reader 104 is able to identify the first segment of each responding tag ID and employ the MIMO Method described above to determine the characteristics of the communication channels between the reader 104 and each responding tag 102 and determine the second segment of each responding tag ID.
  • the reader 104 may resolve the value of the segments for each responding tag ID, as well as, determine the value of subsequent segments using the MIMO Method described above. However, where the segments of responding tag IDs are identical, the reader 104 extends its query to the next segment and attempts to resolve the value of the next segment. This iterative process, repeats until the values of all of the segments of the responding tag IDs have been determined.
  • FIG. 10A an example of a method 1 100 for the simultaneous detection of multiple tags 102 by a reader 104 with multiple antennas is shown.
  • the method 1100 permits the reader 104 to identify all of the tag IDs in a simultaneous response of all of the tag IDs within a given group that satisfy the relationship expressed above.
  • the method 1100 commences at block 1 102 where the reader 104 transmits a start- frame message to inform the tags 102 that the reader is about to query the tags 102.
  • the method 1100 then proceeds to block 1104 where the reader 104 initializes a number of variables: a set, Q s , is initialized to the queries for all of the groups that satisfy the relationship expressed above; a set, Q T , of the queries to be transmitted is initialized to Q s ; a set, Q c , of the queries resulting in a collision is initialized to NULL; a current query, q, is initialized to the first query in Q T ; a set, G, of members of the current group is initialized to all of the members of the first group; and the current segment, s, is initialized to the first segment. It is s that represent the index of the segment. For example, Y ' represent the first segment of the received signal and Q s represent the part of the query that corresponds to the s th segment.
  • the method 1100 then proceeds to block 1 108 where the reader 104 transmits the selected query, q. After transmission of the selected query, the method 1100 proceeds to block 1110 and awaits a response from one or more tags 102 within the group for which the selected query is associated. Upon receiving a response, the method 1100 proceeds to block 1 112 where the current group member, p, is set as the first member in the current group, G, and the first portion of the received response, Y 1 , is selected. The method 1 100 then proceeds to block 11 14 where the reader 104 determines if
  • a predefined threshold S notst _ sl
  • the first portion, p is determined to be present in the response received by the reader 104.
  • the method 1100 then proceeds to block 1 120, where the reader 104 determines if blocks 1114 and 1116 have been applied to all members of group G. If it has, the method 1100 proceeds to block 1122, otherwise, the method proceeds to block 1118, where p is set to the next member in group G, and blocks 1114 to 1120 are repeated.
  • the reader 104 solves for the characteristics of the communication channels, H, by applying Equation (13).
  • the method 1 100 then proceeds to block 1124 where the second portions, S, of the responding tag IDs is determined by solving Equation (14).
  • the method 1 100 then proceeds to block 1126 where it is determined if a collision has occurred in any of the second portions, S, associated with any of the identified first portions in P. If a collision has occurred, the method 1 100 proceeds to block 1 128, otherwise, the method 1 100 proceeds to block 1130.
  • the reader 104 adds to Q the concatenation of p with each member in Q , respectively. For example, if Q s is ⁇ 00, 11 ⁇ and the first portion in p where there is a collision in its associated second portion is ⁇ 10 ⁇ , the method 1 100 adds the following queries to Q c ⁇ 1000, 107/ ⁇ .
  • the method 1110 then proceeds to block 1130, where the reader 104 determines if all of the queries in Q T have been transmitted by the reader 104. If so, the method 1 100 proceeds to block 1132, otherwise, the method 1 100 proceeds to block 1 136.
  • the reader 104 determines if Q c is empty. If it is, the method 1100 proceeds to block 1 134 and terminates, otherwise, the method 1 100 proceeds to block 1 138 where: Q T is set to Q c ; Q c is set to NULL; q is set to the first query in Q T ; G is set to the members of the first group, and s is set to the next segment. The method 1100 then repeats blocks 1 108 to 1 132.
  • method 1100 repeats blocks 1108 to 1130.
  • method 1 100 may be varied in numerous ways while still achieving the objective of the Segmented MIMO Method.
  • the segments may be of the same size or different sizes.
  • other suitable queries may be used to direct the response of all tags having an identical segment equal to such first portions and a mutually orthogonal or equal subsequent segment.
  • the queries sent by the reader 1104 comprise the identical segments as the tag IDs. Where the reader 104 desires to query a particular segment of a tag's 102 tag ID, the reader 104 transmits a query having the length equal to the length of the tag ID up to an including that segment.
  • the method 1150 commences at block 1 152 where the tag 102 receives a start- frame message from the reader 104. As described above, the start-frame message functions to inform the tags 102 that the reader is about to query the tags 102. The method 750 then proceeds to block 1 154 where the reader 104 awaits a query from the reader 104.
  • the method 1150 proceeds to block 1156 where the tag 102 selects the first segment of the query. The method 1150 then proceeds to block 1 158 where the tag 102 determines if the selected segment of the query is equal to the same segment of the tag's 102 tag ID. If the segments are equal, the method 1 150 proceeds to block 1 160, where the next segment of the query is selected and block 1 158 is repeated.
  • the method 1 150 proceeds to block 1162 and determines if the cross product between the selected segment of the query and the same segment of the tag ID is a Walsh code.
  • the method 1 150 proceeds to block 1164, otherwise, the method 1 150 proceeds to block 1 166 and is terminated. In block 1164, the tag 102 transmits its tag ID and then the method 1150 proceeds to block and is terminated.
  • the reader 104 may send out a unique query associated with each group of tag IDs in the segment, and instead of determining if each segment is identical or its cross product with the query is Walsh code, the tag 102 determines if the unique query matches a query stored in the tag's 102 memory or circuitry.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • General Health & Medical Sciences (AREA)
  • Electromagnetism (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Near-Field Transmission Systems (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Devices, systems and processes for the simultaneous detection of multiple radio frequency identification (RFID) tags. RFID tags are individually configured with unique tag identifications (tag IDs) and organized into one or more groups. The tag IDs within each group of RFID tags are mutually orthogonal and configured to simultaneously transmit their respective tag IDs in response to receiving one or more queries associated with the group. Mutual orthogonality allows an RFID reader receiving the simultaneous transmission by all of the tags within a group to discern respective tag IDs within the group.

Description

METHODS AND APPARATUSES FOR THE SIMULTANEOUS
DETECTION OF MULTIPLE RADIO FREQUENCY IDENTIFICATION TAGS
FIELD
[0001] The present disclosure relates to methods and apparatuses for the simultaneous detection of multiple radio frequency identification tags.
BACKGROUND
[0002] Radio frequency identification (RFID) systems are well known in the art and typically consist of one or more RFID readers and a plurality of RFID tags, each tag having a unique tag identification (ID). By wirelessly reading the tag ID, the system can obtain information about the object to which the tag is associated. RFID tags can be categorized as passive, active, and semi-active (or hybrid), depending on whether they require batteries for operation. Passive tags typically respond to queries from a reader by reflecting the RF energy transmitted by the reader. By contrast, active tags typically use on-board battery power for data transmissions to extend the operational range of the tag and can perform more complex functions than passive tags. A desirable objective of RFID systems is to identify all tags within the reader's operational range within minimal queries and time. Since the reader recognizes tags through RF signals sent over a shared wireless channel, tag signal collisions (tag collision) can occur when multiple tags within the reader's operational range respond to the reader's query simultaneously. In a number of existing RFID systems, a tag collision results in a read failure, as the reader is unable to decode any tag information from the colliding signals. The colliding tags will typically have to be re-read, which in turn results in transmission overheads, further identification delays, and increased power consumption
SUMMARY
[0003] The disclosure provides, in part, methods and apparatuses for the simultaneous detection of multiple radio frequency identification (RFID) tags.
[0004] In one of its aspects, the disclosure provides a plurality of RFID tags each having a unique tag identification (tag ID), the tags organized into one or more groups such that the tag IDs of the tags within each group are mutually orthogonal, the tags in each group configured to simultaneously transmit their respective tag IDs in response to the receipt of one or more queries associated with the group, whereby all of the tag IDs within each group are capable of being identified by an RFID reader receiving the simultaneous transmission by all of the tags in the group of their respective tag IDs. [0005] The tags in each group may be configured to transmit their respective tag IDs in a timeslot that is unique from the timeslot associated with any other group. The one or more queries associated with each group may be identical amongst all of the groups. For example, the one or more queries associated with each group may be a start-frame message. Alternatively, the one or more queries associated with each group may be unique from the one or more queries associated with any other group.
[0006] Each tag may comprise a memory having stored therein the one or more queries associated with the group in which the tag is a member, and each tag may be configured to compare queries received by the tag to the one or more queries stored in the memory and transmit its tag ID in response to any of the received queries that matches any of the one or more queries stored in the memory.
[0007] Each tag may be configured to determine if the cross product between the query and the tag ID yields a Walsh code and transmit its tag ID if this cross product is a Walsh code.
[0008] The tag IDs of the tags within each group may comprise two or more portions, where at least one portion is mutually orthogonal with the same portion of the tag IDs of the other tags in the group. The tag IDs of the tags within each group may comprise one or more portions that are identical to the same portions of the tag IDs of other tags in the group, where at least one portion is mutually orthogonal with the same portion of the tag IDs of the other tags in the group.
[0009] In another one of its aspects, the disclosure provides a plurality of radio frequency identification (RFID) tags each having a unique tag identification (tag ID), the tags organized into one or more groups such that the tag IDs of the tags within each group vary from a parent code associated with the group by a single bit, the tags in each group configured to transmit their respective tag IDs in response to one or more queries associated with the group, the one or more queries associated with each group being unique from the one or more queries associated with any other group, whereby all of the tag IDs within each group are capable of being identified by an RFID reader receiving the simultaneous transmission by all of the tags in the group of their respective tag IDs.
[0010] The tags in each group may be configured to transmit their respective tag IDs in a timeslot that is unique from the timeslot associated with any other group. The one or more queries associated with each group are identical amongst all of the groups. For example, the one or more queries associated with each group may be a start-frame message. Alternatively, the one or more queries associated with each group may be unique from the one or more queries associated with any other group.
[0011] The one or more queries associated with a group may comprise the parent code associated with the group. Each tag may be configured to determine if its tag ID varies from the queries received by the tag by a single bit and transmit its tag ID if its tag ID varies from any queries received by the tag by a single bit.
[0012] Each tag may comprise a memory having stored therein the one or more queries associated with the group in which the tag is a member, and each tag may be configured to compare queries received by the tag to the one or more queries stored in the memory and transmit its tag ID in response to any of the received queries that matches any of the one or more queries stored in the memory.
[0013] The tag IDs of the tags within each group may comprise two or more portions, each portion varying from a parent code by a single bit.
[0014] Each query associated with each group may comprise a first portion and a second portion, the first portion comprising the parent code associated with the group; the tag IDs of the tags within each group may comprise a first portion and a second portion, the first portion varying by a single bit from the first portion of the query associated with the group, and the second portion identical to the second portion of the query associated with the group; and each tag may be configured to transmit its tag ID where the first portion of its tag ID varies from the first portion of a query by a single bit and the second portion of its tag ID is identical to the second portion of the query.
BRIEF DESCRIPTION OF THE DRAWINGS
[0015] Figure 1 is an example of a system diagram of a system for the simultaneous detection of multiple RFID tags.
[0016] Figure 2 A is a system diagram of the components of an example of an RFID tag.
[0017] Figure 2B is a system diagram of the components of an example of another example of an RFID tag.
[0018] Figure 3 is a system diagram of the components of an example of an RFID tag reader.
[0019] Figure 4 is a graph of an example of a collision between two tag IDs simultaneously transmitted from two tags employing FM0 signaling.
[0020] Figure 5A is a logic diagram of an example of a bit-wise differential method for the simultaneous detection of multiple RFID tags by a reader according to one embodiment. [0021] Figure 5B is a logic diagram of an example of a method for the responding by a tag to a query transmitted by the reader in accordance with the method shown in Figure 5A.
[0022] Figure 6 is a logic diagram of an example of a method of organizing tags into groups for use in the methods shown in Figures 5 A and 5B.
[0023] Figure 7A is a logic diagram of an example of an orthogonal method for the simultaneous detection of multiple RFID tags by a reader according to one embodiment.
[0024] Figure 7B is a logic diagram of an example of a method for the responding by a tag to a query transmitted by the reader in accordance with the method shown in Figure 7 A.
[0025] Figure 8 is a logic diagram of an example of a method of organizing tags into groups for use with the methods shown in Figures 7 A and 7B.
[0026] Figure 9A is a diagram of an example of a multiple input multiple output method for the simultaneous detection of multiple RFID tags by a reader according to one embodiment.
[0027] Figure 9B is a logic diagram of an example of a multiple input multiple output method for the simultaneous detection of multiple RFID tags by a reader according to one embodiment.
[0028] Figure 10A is a logic diagram of an example of a segmented multiple input multiple output method for the simultaneous detection of multiple RFID tags by a reader according to one embodiment.
[0029] Figure 10B is a logic diagram of an example of a method for the responding by a tag to a query transmitted by the reader in accordance with the method shown in Figure 10A.
[0030] Figure 1 1 is a diagram of an example of a query tree employing the method shown in Figures 10A and 10B.
DETAILED DESCRIPTION
[0031] The embodiments described herein relate to methods and apparatuses for the simultaneous detection of multiple radio frequency identification (RFID) tags. In particular, the embodiments relate to methods and apparatuses for simultaneously detecting multiple RFID tags based upon the a priori organization of the tags into groups such that the tag identification ("tag ID") of each tag within a given group is capable of being identified by an RFID reader upon the receipt of the simultaneous transmission by all of the tags in the group of their respective tag IDs.
[0032] As used throughout the description, the following terms have the following meanings, unless indicated otherwise. All terms not defined herein have their common meanings as recognized in the art. The terms "tag identification" or "tag ID" refers to a unique identifier, or one or more portions of one or more unique identifiers, that are associated with each RFID tag.
The term "query" refers to a communication signal transmitted by an RFID reader that is directed to initiate a response from one or more RFID tags.
The term "response" refers to a transmission by an RFID tag of its tag ID or one or more portions thereof.
The terms "circuit" or "processor" may include one or more circuits, including without limitation, application specific circuits, programmable logic controllers, field programmable gate arrays, microcontrollers, microprocessors, analog and digital electronic circuits and other suitable processing devices.
The terms "computer readable medium" or "memory" may include one or more computer readable mediums, including without limitation, random access memory, flash memory, read only memory, hard disc drives, optical drives and optical drive media, flash drives, and other suitable computer readable storage media.
[0033] System Components
[0034] Referring to Figure 1, an example of a system for the simultaneous detection of multiple RFID tags is generally shown as item 100. The system 100 comprises a plurality of RFID tags 102, an RFID tag reader 104, a network 106, and a server 108.
[0035] Each tag 102 is capable of receiving queries from the reader 104, determining whether the queries are directed to the tag 102, and responding to the reader 104 with its tag ID where a query is directed to the tag 102. As further described below, the tags 102 are organized into groups such that all of the tags within a given group are capable of being identified by the reader 104 upon receipt of the simultaneous transmission of all of the tag IDs in the group. The RFID tags 102 may comprise passive RFID tags (for example, Monza 4 tag chips manufactured by Impinj, Inc. or Gen 2 chips manufactured by Texas Instruments), active RFID tags (for example, active RFID tags manufactured by Guard RFID Solutions, or RFID tags defined by IEEE 802.15.4.f), hybrid RFID tags (for example, semi-passive RFID tags manufactured by GAO RFID Inc.), or any other suitable type of RFID tag or wireless sensor nodes.
[0036] Referring to Figures 2A and 2B, examples of a passive RFID tag 200 and an active RFID tag 250 is shown, respectively. The passive RFID tag 200 generally comprises an antenna 202 and control circuitry 204. The antenna 202 is capable of receiving information from the reader 104, such as queries, and transmitting information to the reader 104, such as the tag ID associated with the tag 200. Information may be received or transmitted by the antenna 202 using any suitable wireless method, protocol or coding applicable to RFID. The control circuitry 204 is in communication with the antenna 202 and is capable of processing information received by the antenna 202, such as queries, and directing the transmission of information from the antenna 202, such as tag IDs. The passive RPID tag 200 may also optionally comprise a memory 206 for storing information used by the control circuitry 204 to process information received by the tag 200 and transmit information from the tag 200. The memory 206 may be a standalone device in communication with the control circuitry 204 or form part of the control circuitry 204.
[0037] The active RFID tag 250 comprises an antenna 252, control circuitry 254, and, optionally, a memory 256, similar to the antenna 202, control circuitry 204, and memory 206 of passive RFID tag 200. The active RFID tag 250 also comprises a power source 256 that provides power to the control circuitry 254 to assist in the processing and/or transmission of information by the tag 250. The power source 256 may comprise one or more batteries, solar cells, fuel cells, and other suitable electrical power sources.
[0038] The reader 104 is capable of identifying the presence of tags 102 that are within the operational range of the reader 104. The reader 104 is capable of transmitting one or more queries directed to one or more specific tags 102, receiving responses from the tags 102, and identifying the tag IDs in the responses. The reader 104 may be any suitable RFID reader/interrogator capable of providing the functionality of the reader 104 described herein, such as for example, the tag reader/controller and exciter manufactured by Guard RFID Solutions.
[0039] Referring to Figure 3, an example of an RFID reader 300 is shown comprising an antenna 302, a processor 304, a memory 306, a communication unit 308 and a power source 310. The antenna 302 is capable of transmitting information to the tags 102, such as queries, and receiving information from the tags 102, such as tag IDs. The information may be received and transmitted by the antenna 302 using any suitable wireless method, protocol or coding. Alternatively, the antenna 302 may comprises a plurality of antennas positioned at one or more locations. The processor 304 is in communication with the antenna 302, memory 306 and communication unit 308. The processor 302 is capable of directing the transmission of information to the tags 102 through the antenna 302, identifying tag IDs in responses received from the tags 102 through the antenna 302, and communicating with the server 108 through the communication unit 308. The memory 306 functions to: (a) store instructions and statements that when executed by the processor 302 provide the functionality of the reader 300; and (b) store information generated or received by the processor 304 in the course of its operation. The communication unit 308 comprises an Ethernet transceiver that is capable of communicating information between the processor 304 and the server 108, such as, for example, status information, control information, and tag IDs. Alternatively, the communication unit 308 may consist of other suitable wired or wireless communications hardware employing any suitable communications protocol. The power source 310 is capable of providing electrical power to the components of the reader 300 and may comprises one or more batteries, solar cells, fuel cells, and other suitable electrical power sources.
[0040] The network 106 provides a medium or channel over which the reader 104 and server 108 communicate. The network 106 may include one or more networks, including without limitation, local area networks, wide area networks, intranets, the Internet, point-to- point or point-multipoint connections, and other suitable communication channels and networks.
[0041] The server 108 is in communication with the reader 104 over the network 106. The server 108 is capable of receiving information from the reader 104 (e.g., status information and tag IDs), transmitting information to the reader 104 (e.g., control information), and storing information.
[0042] System Operation
[0043] As discussed above, the tags 102 are organized into groups such that all of the tags 102 within a given group are capable of being identified by the reader 104 upon receipt of the simultaneous transmission by all of the tags 102 in the group of their respective tag IDs. The following paragraphs describe four embodiments of methods, and alternatives thereto, of grouping and identifying tags 102: A) the Bit- wise Differential Method, B) the Orthogonal Method, and C) the MIMO Method and D) Segmented MIMO Method.
[0044] A. Bit-wise Differential Method
[0045] In one embodiment, the tags 102 are organized into groups such that each of the tags 102 within a given group has a unique tag ID that varies by exactly one bit from a unique parent code associated with the group. Each group of tags 102 is configured to respond to one or more queries associated with the group of tags 102. As further described below, upon the simultaneous transmission by all of the tags 102 within a given group, the reader 104 is capable of identifying the tag IDs of all of the tags 102 contained in the simultaneous transmission. This method is generally referred to herein as the "Bit-wise Differential Method".
[0046] In a typical RFID system, a query transmitted by an RFID reader may result in the simultaneous response from multiple RFID tags. If all of the tags respond with the same logical value, either a 0-bit or a 1-bit, in the same bit location, the reader can typically demodulate the logical value of that bit location where the RFID system employs an appropriate signaling scheme to transmit tag IDs, for example, FMO or Manchester coding. However, when some tags respond with a 0-bit and other tags respond with a 1-bit in the same bit location, the reader receives a collision bit (which is neither 1-bit nor a 0-bit). The reader can discern this is a collision bit by employing the appropriate signaling scheme, such as the FMO or Manchester coding. For example, referring to Figure 4, in an example of an RFID system employing FMO signaling, when one tag transmits {0110} and another tag 102 transmits {001 1 }, the reader receives {0X1X}, where "X" represents a collision bit. The reader is able to determine that the 1st bit location is a 0-bit and the 3rd bit location is a 1-bit, though it typically cannot determine whether these bits originate from multiple tags or from a single tag.
[0047] In the present embodiment, by organizing the tags 102 into groups such that all of the tags 102 within a given group vary by exactly one bit from a unique parent code associated with the group, the reader 102 is able to use collision bits to identify all of the tag IDs in a simultaneous responses from multiple tags 102 in the same group. For example, consider a group of 4-bit tag IDs {0001 , 0010, 0100, 1000} that includes all four tag IDs that vary by one bit from the parent code {0000}. When two or more tags 102 respond to a query simultaneously, the reader 104 can identify their tag IDs based on the bit locations of the collision bits in the combined response received by the reader 104. For instance, if the tags 102 having tag IDs {0001 } and {0010} simultaneously respond to a query, the reader 104 will receive a combined response of {00XX}, with the 3rd and 4th bit locations being collision bits. Since {0010} is different from the parent code {0000} in the 3rd bit location, and a collision has occurred in the 3rd bit location, the reader 104 can determine that tag ID {0010} is present in the combined response. Similarly, since {0001 } is different from the parent code {0000} in the 4th bit, and a collision has occurred in the 3rd bit location, the reader 104 can determine that tag ID {0001 } is present in the combined response.
[0048] Thus, where each tag ID in a group of tags 102 varies by exactly one bit from a parent code and two or more tags 102 in the group simultaneously respond to a query, the tag ID of any responding tag 102 can be identified by the presence of a collision bit in the bit location in which the tag ID varies from the parent code by exactly , one bit. It will be appreciated that the method illustrated in the foregoing example can be extended to tag IDs having any number of bits.
[0049] In the present embodiment, the parent codes are used as queries by the reader 104 and the tags 102 are configured to respond to the queries when their respective tag IDs vary by exactly one bit from a query (i.e., parent code). If desired, a set of unique parent codes can be selected such that all of the tag IDs in a F-bit tag ID space can be divided in to non- overlapping groups, where F is a power of two. Referring to Figure 6, an example of a method 600 for identifying such parent codes is shown.
[0050] In block 602 the method 600 commences by initializing a set of parent codes, Lc, to the null set, Φ, and a set of unallocated tag IDs, S, to all of the tag IDs in the F-bit tag ID space. The method 600 proceeds to block 604 where a random tag ID, ao, is selected from S. The method 600 then proceeds to block 606 where a tag ID from S, ai, is determined such that the weight of the result of the bitwise exclusive OR of ao and ai equals 1, where the "weight" is defined as the number of l 's in the result. Once ai is determined, the method 600 proceeds to block 608 where ao and ai are removed from S and are added to Lc.
[0051] The method 600 then proceeds to block 610 where it is determined if the length of Lc is less than 2FIF. If it is, the method 600 proceeds to block 612, otherwise, the method 600 proceeds to block 618 where Lc is determined and the method 600 is terminated. In block 612, the method 600 determines a tag ID, a'o, from S such that for each parent code in Lc, the weight of the result of the bitwise exclusive OR of a'o and the parent code is not equal to 2 (otherwise the parent codes may have overlapping family members). The method 600 then proceeds to block 614, where the method 600 determines a tag ID a'i from S such that (a) the weight of the result of the bitwise exclusive OR of a'0 and a'i equals 1 , and (b) for each parent code in Lc, the weight of the result of the bitwise exclusive OR of a'i and the parent code is greater or equal to 3. Once a'i is determined, the method 600 proceeds to block 616 where a'o and a'i are removed from S and are added to Lc. The method 600 then returns back to block 610.
[0052] At the completion of method 600, a set of unique parent codes, Lc, are determined. These parent codes can then be used to organize all of the tags in a F-bit tag ID space into 2F/F non-overlapping groups of tags 102, where F is a power of two, and wherein the tags 102 in each group vary by exactly one bit from the parent code associated with the group. In the alternative, other suitable methods may be applied for identifying one or more parent codes, and organizing one or more tag IDs of a given length into one or more groups of tag IDs that vary by exactly one bit from an associated parent code.
[0053] Once the tags 102 have been organized into groups such that the tag ID of each tag 102 in a given group varies by exactly one bit from a parent code associated with the group, the groups can be utilized by the tags 102 and the reader 104 to simultaneously detect multiple tags 102. Referring to Figure 5 A, an example of a method 500 for the simultaneous detection of multiple tags 102 by the reader 104 is shown. The method 500 permits the reader 104 to identify all of the tag IDs in a simultaneous transmission of all of the tag IDs within a given group of tags 102 that vary by exactly one bit from the parent code associated with the group.
[0054] The method 500 commences at block 502 where the reader 104 transmits a start- frame message to inform the tags 102 that the reader 104 is about to query the tags 102. The method 500 then proceeds to block 504 where the reader 104 selects an initial query from a set of predefined queries. As discussed above, in the present embodiment the set of predefined queries comprises the unique parent codes that are associated with each group of tags 102. In the alternative, the set of predefined queries may comprise any other desirable queries. The method 500 then proceeds to block 506 where the reader 104 transmits the selected query.
[0055] After transmission of the selected query, the method 500 proceeds to block 508 and awaits a response from one or more tags 102 within the group for which the query is associated. Upon receiving a response, the method 500 proceeds to block 510 where each bit location in the response is examined to determine if a collision bit has occurred. As discussed above, where suitable coding schemes are employed (e.g., FM0 or Manchester coding) and two or more tags 102 within a group simultaneously transmit their respective tag IDs, the logical value of a bit location (i.e., 1 or 0) can be identified by the reader 104 where all of the responding tags 102 transmit the identical logical value in that bit location. However, where the responding tags 102 transmit different logical values in the same bit location, the reader 104 will identify a collision bit. If no collision bits have occurred, the method 500 proceeds to block 520 where the reader 104 identifies the logical value of each bit location in the response as comprising a single tag ID. If collision bits have occurred, the method proceeds to block 512 and identifies the tag IDs contained in the response by identifying the bit locations where the collision bits have occurred and mapping these bit locations to the tag IDs in the group for which the query is associated that vary from the parent code associated with the group by exactly one bit in the bit location of the collision bit. For example, if the collision bit occurs in the first bit location, the method 500 identifies the tag ID that varies from the parent code by exactly one bit in the first bit location. Similarly, if the collision bit occurs in the nth bit location, the method 500 identifies the tag ID that varies from the parent code by exactly one bit in the nth bit location.
[0056] Once the tag IDs have been identified in blocks 520 or 512, the method proceeds to block 516 and determines if all of the queries in the set of predefined queries have been transmitted. If all of the queries have been transmitted, the method 500 proceeds to block 518 and terminates. If not all of the queries have been transmitted, the method 500 proceeds to block 522 and selects the next query in the set. The method 500 then repeats blocks 506 to 516 applying the next query.
[0057] The method 500 describes how the reader 104 may operate to identify all of the tag IDs in a simultaneous transmission of all of the tag IDs within a given group that vary by exactly one bit from the parent code associated with the group. Referring to Figure 5B, an example of a corresponding method 550 is shown for tags 102 responding to queries transmitted by the reader 104 in accordance with method 500.
[0058] The method 550 commences at block 552 where the tag 102 receives a start-frame message from the reader 104. As described above, the start-frame message functions to inform the tags 102 that the reader is about to query the tags 102. The method 550 then proceeds to block 554 where the tag 102 awaits a query from the reader 104. Once a query is received by the tag 102, the method 550 proceeds to block 556 where the tag 102 determines if its tag ID varies from the query (i.e., parent code) by exactly one bit. The tag ID may be stored by the tag 102 in its memory or circuitry. The tag 102 makes this determination by performing a bitwise exclusive OR operation between its tag ID and the query and determining the weight of the result, where the "weight" is defined as the number of l 's in the result. If the weight equals 1, then the query varies by exactly one bit from the tag ID, otherwise, it does not. In the alternative, instead of performing the exclusive OR and weight function, the tag 102 may determine if its tag ID varies from the query by exactly one bit in block 556 by comparing the query (i.e., parent code) to a parent code associated with the tag 102 that is stored in its memory or circuitry.
[0059] If the tag ID varies by exactly one bit from the query, the method 550 proceeds to block 558 and transmits its tag ID and then proceeds to block 558 and terminates. If the tag ID does not vary by exactly one bit from the query, the method 550 proceeds directly to block 560 and terminates. A simple example is described as follows. The 2-bit tags {00, 01, 10, 11 } are classified into two groups, the 1st group {01, 10} and the 2nd group {00, 1 1 } . The query for the 1st group is 00 because both 01 and 10 are one-bit-different from query 00. The query for the 2nd group is 01 because both 00 and 11 are one-bit-different from the query 01.
[0060] In the foregoing embodiment, the queries transmitted by the reader 104 comprise the parent codes associated with each group of tags. The parent codes may be determined by method 600 where the length of the parent code is a power of two. In the alternative, the queries may be structured to have (a) a first portion comprising a parent code determined using method 600 and having a length equal to a power of two, and (b) a second portion having a bit length not equal to a power of two. The tag IDs also structured to have first and second portions of equal length and bit locations to the queries. The first and second portions may comprise sequential groupings of bits in each tag ID or query (e.g., a 5-bit tag ID or query may have a first portion comprising the first 4 bits of the tag ID or query and a second portion comprising the 5th bit in the tag ID or query) or selections of bits from various bit locations in each tag ID or query (e.g., a 5-bit tag ID or query may have a first portion comprising the 1st, 2nd, 4th and 5th bit locations of the tag ID or query and a second portion comprising the 3rd bit location of the tag ID or query). The tags 102 are categorized into groups such that all of the tags 102 within a given group comprise a unique tag ID having (a) a second portion that is identical amongst all of the tag IDs in the group and identical to the second portion of the query associated with the group, and (b) a first portion that varies by exactly one bit from the first portion of the query associated with the group.
[0061] The method 500 may be applied to these tag IDs without modification since the second portion of the tag IDs will always be identical amongst tags 102 within the same group, and thus, collisions will typically only occur within the transmission of the first portion of the tag ID. The method 550 may also be applied to these tags 102, however, with slight modification. Specifically, in block 556 of method 550, the tag 102 will (a) determine if the first portion of its tag ID varies from the first portion of the query by exactly one bit, and (b) determine if the second portion of its tag ID is identical to the second portion of the query. The tag 102 will not proceed to block 558 and transmit its tag ID unless the result of both of these determinations is true.
[0062] In the foregoing methods 500, 550, and alternatives thereto, the parent codes are used as queries by the reader 104 and the tags 102 are configured to respond to the queries when their respective tag IDs vary by exactly one bit from a query, or portion thereof. In the alternative, the tags 102 may be grouped using parent codes as described above, however, one or more queries may be uniquely associated with each group that do not necessarily comprise the parent codes associated with the group. The queries may have lengths that are greater or less than the length of the parent codes and each of the one or more queries uniquely associated with a given group are stored in the memory or circuitry of the tags 102 in the group. The method 550 is modified such that in block 556, instead of a tag 102 determining if its tag ID varies from a received query, or portion thereof, by exactly one bit, the tag 102 compares the received query to the stored queries in the memory or circuitry of tag 102. If the received query matches any of the stored queries, the method 550 proceeds to block 558 and transmits its tag ID.
[0063] In the further alternative, the tags 102 are grouped using parent codes as described above, however, one or more identical queries may be associated with all of the tags 102. The queries may have lengths that are greater or less than the length of the parent codes and tag IDs and the one or more queries uniquely associated with a given group are stored in the memory or circuitry of the tags 102 in the group. In addition, the tags 102 within each group also have a unique timeslot shared amongst the tags 102 in the group and stored on the memory or circuitry of each tag 102. The timeslot is used by the tag 102 to determine when to transmit its tag ID in response to receiving a query associated with the tag 102. Specifically, method 550 is modified such that in block 556, the tag 102 compares the received query to the stored queries in the memory or circuitry of tag 102. If the received query matches any of the stored queries, the method 550 proceeds to block 558 and transmits its tag ID during its timeslot.
[0064] In the yet further alternative, the tags 102 are grouped using parent codes as described above, however, a single query is associated with all of the tags 102 comprising the start-frame message. The tags 102 within each group have a unique timeslot shared amongst the tags 102 in the group and that is stored on the memory or circuitry of each tag 102. The timeslot is used by the tag 102 to determine when to transmit its tag ID in response to receiving a start-frame message from the reader 104. Specifically, method 550 is modified to delete blocks 554 and 556, and block 558 is modified to and transmits the tag ID during its timeslot. In addition, the timeslot is used by the reader 104 to identify tag IDs in responses from the tags 102. Specifically, method 500 is modified to: delete blocks 504, 506 and 522; blocks 508, 510, 520, and 512 are repeated until all timeslots have expired; and block 512 is modified to use the timeslot to map the collision bits of a combined response to the appropriate tag ID associated with the timeslot.
[0065] B. Orthogonal Method
[0066] The Bit- wise Differential Method describes one method of organizing the tags 102 into groups such that all of the tags 102 within a given group are capable of being identified by the reader 104 upon receipt of the simultaneous transmission by all of the tags 102 in the group of their respective tag IDs. In an alternative embodiment, the tags 102 are organized into groups such that all of the tags 102 within a given group have a unique tag ID that is orthogonal to tag ID of every other tag 102 in the group. This method is generally referred to herein as the "Orthogonal Method".
[0067] As described above, in a typical RFID system, a query transmitted by an RFID reader may result in the simultaneous response from multiple tags. These simultaneous responses may interfere with one another and prevent the reader from being able to identify the information in the responses. In the present embodiment, by organizing the tags 102 into groups such that all of the tags 102 within a given group have tag IDs that are mutually orthogonal with one another, the reader 102 is able to separate and identify the tag IDs transmitted by each tag 102 in simultaneous responses from all of the tags 102 in the same group.
[0068] If desired, all of the possible tags IDs in a 5-bit tag ID space can be divided into non-overlapping groups, such that the tag IDs in a given group are mutually orthogonal with each other. Referring to Figure 8, an example of a method 800 for determining such groups is shown.
[0069] In block 802, the method 800 commences by initializing a set of unallocated tag IDs, C, to all of the possible tags IDs in the 5-bit tag ID space, and initializing a set of allocated groups of tag IDs, P, to the null set, Φ. The method 800 then proceeds to block 804 where: (a) a first group of tag IDs, Gy, is initialized to a Walsh matrix W, (b) a group index, i, is set to 1, and (c) Gy is removed from C and added to P.
[0070] The method 800 then proceeds to block 806 where: (a) / is incremented by 1, (b) a random tag ID, v, in C is selected, (c) an /'* group of tag IDs, G is determined as the cross- product of the Walsh matrix W and v, and (d) G, is removed from C and added to P.
[0071] The method 800 then process to block 808 where it is determined if all of the tag IDs in C have been allocated to a group in P. If so, the method 800 proceeds to block 810 and terminates, otherwise, the method 800 repeats blocks 806 and 808.
[0072] In the alternative, other suitable methods of organizing some or all of the tag IDs of a given length into one or more groups comprising mutually orthogonal tag IDs may be applied.
[0073] In the present embodiment, the identification of the tag IDs is based on a model of the communication channel between the tags 102 and the reader 104, and the mathematical properties of the tag IDs within each group. [0074] The communication channel between the tags 102 and the reader 104 expressed mathematically as:
YixB hlxWXWxj5 + n1; xS (1) where y = [y{ ■■■ yb ■■■ yB] , h = ft - hm - hM] ,
and x ,/» = !,·· , , is l x i? vector
Figure imgf000016_0001
and where y is the signal received by the reader 104, X is the tag IDs transmitted by each tag 102, h describes the characteristics of the communication channels between the tags 102 and the reader 104, n is additive white noise received by the reader 104, B is the number of bits in each tag ID, and Mis the number of tags 102 simultaneously transmitting tag IDs.
[0075] Alternatively, Equation (1) can be expressed as:
Figure imgf000016_0002
[0076] In addition, the orthogonal relationship of the tag IDs of the tags 102 within each group can be expressed mathematically as: x,. · χ; = 0, i≠ j (3) where x; is the tag ID of any tag ID in a group, x7 is the tag ID of any other tag ID in the group, · is the inner product function, and / and j are indexes into the tag IDs in a group.
[0077] By combining Equations (2) and (3), the reader 104 can separate multiple simultaneous communications from tags 102 in the same group by solving the following combined equation for each tag ID in the group: y x, = 5/i, + n( (4) where ni = n · x, , B is the number of bits in the tag ID and i is an index into the tag IDs of a group.
[0078] To discriminate responses from the tags 102 from the noise in the communication channel, a tag 102 having tag ID x,. is considered to be identified if |y*x, |> Snalse_signal , where | | is the magnitude function and <5„„„e.visa/ is a predetermined threshold which may be determine using any suitable method.
[0079] For example, consider the case where all possible 4-bit (B=4) tag IDs are divided into the following four groups:
Group 1: {1111,1010,1100,1001}
Group2: {1000,1101,1011,1110}
Group 3: {0001,0100,0010,0111}
Group 4: {0011,0110,0000,0101} where each group forms an orthogonal matrix. In addition, assume that only two tags having tag IDs {1111} and {1010} are within the operational range of the reader 104.
[0080] First, the reader 104 queries the tags in Group 1. Since only tags having tag IDs {1111} and {1010} are within the operational range of the reader 104, only these tags will respond to the query and their responses are simultaneously received by the reader 104. Applying Equation (1), the cumulative signal received by the reader 104 can be expressed mathematically as: y = hX + n = hlxl + h2\2 + n (5) where y = [y, y2 y^ y,],
Figure imgf000017_0001
n =
[0081] By iteratively applying Equation (4) to the combined response received by the reader 104 and each known member of Group 1, the reader 104 can identify the existence of the two tag IDs and separate them by correlation as follows: x = hlB + nl,yx2=h2B + n2,yx3 =ni,yx4 =n4. (6) where «, = η·χι2 = η·χ2,η^ =«·χ34 =η·χ4
[0082] In this example:
\yx{\=\ h,B + «, |> Smlsc_s,sal , thus, x, = 1111 is detected;
\yx21=| h2B + n2 |> 5no∞. _siml , thus, x2 =1010 is detected;
\yx31=| 1< , thus, x, = 1100 is considered not to exist; and
\yx41=| n, \< S„„,se_siga, , thus, x2 = 1001 is considered not exist.
[0083] The reader 104 then successively queries the tags 102 in Groups 2, 3 and 4, within no tag responses. In this example, the tag IDs of all of tags 102 within the operational range of the reader 104 have been identified with four queries (i.e., four timeslots).
[0084] The method described in foregoing example is generalized with reference to Figures 7 A and 7B. Referring to Figure 7 A, an example of a method 700 for the simultaneous detection of multiple tags 102 by the reader 104 is shown. The method 700 permits the reader 104 to identify all of the tag IDs in a simultaneous response of all of the tag IDs within a given group that are mutually orthogonal with one another.
[0085] The method 700 commences at block 702 where the reader 104 transmits a start- frame message to inform the tags 102 that the reader is about to query the tags 102. The method 700 then proceeds to block 704 where the reader 104 selects an initial query from a set of predefined queries that are uniquely associated with each group of tags 102 comprising mutually orthogonal tag IDs. The method 500 then proceeds to block 706 where the reader 104 transmits the selected query.
[0086] After transmission of the selected query, the method 700 proceeds to block 708 and awaits a response from one or more tags 102 within the group for which the selected query is associated. Upon receiving a response, the method 700 proceeds to block 710 where an initial tag ID within the group of tag IDs associated with the query is selected. The method 700 then proceeds to block 712 it is determined if the magnitude of the inner product of the received signal and the selected tag ID is greater than a pre-defined threshold, δ . , , to discriminate the response from the noise. If the result is greater than the threshold, the method 700 proceeds to block 716, otherwise, the method 700 proceeds to block 720.
[0087] In block 716, the tag ID is determined to be present in the response received by the reader 104. The reader ,104 may also, optionally, solve for other characteristics of the channel, h,, such as the received signal strength. The method 700 then proceeds to block 720.
[0088] In block 720, the reader 104 determines if blocks 712 and 716 have been applied to all of the tag IDs in the group for which the query is associated. If it has, the method 700 proceeds to block 722, otherwise, the method proceeds to block 724, where the next tag ID in the group is selected, and blocks 712 to 720 are repeated using the next tag ID.
[0089] In block 722, the reader 104 determines if all of the desired queries have been transmitted by the reader 104. If so, the method 700 proceeds to block 728 and terminates, otherwise, the method 700 proceeds to block 726, where the next query is selected, and blocks 706 to 722 are repeated using the next query.
[0090] The method 700 describes how the reader 104 may operate to identify all of the tag IDs in a simultaneous transmission of all of the tag IDs within a given group of tags 102 that are mutually orthogonal with each other. Referring to Figure 7B, an example of a corresponding method 750 is shown for responding by the tags 102 to queries transmitted by the reader 104 in accordance with method 700. In the method 750, one or more queries are uniquely associated with each group of tags 102 having mutually orthogonal tag IDs. These queries are stored in the memory or circuitry of the tags 102 in the group and may have lengths that are greater or less than the length of the tag IDs.
[0091] The method 750 commences at block 752 where the tag 102 receives a start-frame message from the reader 104. As described above, the start-frame message functions to inform the tags 102 that the reader is about to query the tags 102. The method 750 then proceeds to block 754 where the reader 104 awaits a query from the reader 104. Once a query is received by the tag 102, the method 750 proceeds to block 756 where the tag 102 determines if the received query matches any of the queries stored in the tag's 102 memory or circuitry. If the received query matches any of the stored queries, the method 750 proceeds to block 758 and transmits its tag ID and then proceeds to block 760 where the method 750 is terminated. If the received query does not match any of the stored queries, the method 750 proceeds directly to block 760 and terminates.
[0092] In the alternative, instead of determining if a received query matches a query stored in the tag's 102 memory or circuitry, the tag 102 may determine if an operation performed on the query matches one or more values stored in the tag's 102 memory or circuitry. For example, the tag 102 may determine if the bit-wise exclusive OR of the query and the tag's 102 ID matches a Walsh code stored in the tag's 102 memory or circuitry. Applying this operation to the groupings of 4-bit tag IDs described in the previous example, the following Table 1 identifies the tag IDs that will respond to a query where the bit-wise exclusive OR operation of the query and tag ID results in a specific Walsh code. Here exclusive OR operation is the same as a cross product. For example, as for the Group 2, (query 1000) XOR (ID 1000) yields Walsh code 1111, while (query 1000) XOR (ID 1101) yields Walsh code 1010.
Table 1
Figure imgf000020_0001
[0093] In the further alternative, instead of having one or more queries uniquely associated with each group of tags 102, one or more identical queries may be associated with all of the tags 102. The queries are stored in the memory or circuitry of the tags 102 and may have lengths that are greater or less than the length of the tag IDs. In addition, each group of tags 102 having tag IDs that are mutually orthogonal are allocated a unique timeslot shared amongst the tags 102 in the group and stored on the memory or circuitry of each tag 102. The timeslot is used by the tag 102 to determine when to transmit its tag ID in response to receiving a query associated with the tag 102. Specifically, method 750 is modified such that in block 758, the tag 102 does not transmits its tag ID until the start of its timeslot.
[0094] In the further alternative, each tag 102 has an identical query associated with it comprising the start-frame message. In addition, each group of tags 102 having tag IDs that are mutually orthogonal are allocated a unique timeslot shared amongst the tags 102 in the group and that is stored on the memory or circuitry of each tag 102. The timeslot is used by the tag 102 to determine when to transmit its tag ID in response to receiving a start-frame message from the reader 104. Specifically, method 750 is modified such that blocks 754 and 756 are deleted and block 758 is modified such that the tag 102 does not transmit its tag ID until the start of its timeslot.
[0095] C. Multiple Input Multiple Output Method
[0096] The Orthogonal Method describes a method of organizing the tags 102 into groups such that all of the tags 102 within a given group are mutually orthogonal. In this manner, the tag IDs in each group are capable of being identified by the reader 104 upon receipt of the simultaneous response by all of the tags 102 in the group of their respective tag IDs. In an alternative embodiment, the tags 102 may be organized into groups such that only a portion of their tag IDs are mutually orthogonal to the same portion of the tag IDs of the other tags 102. The reader 102 is able to identify the entire tag IDs of each tag 102 by utilizing multiple antennas.
[0097] The performance of the RFID system may be improved by using a reader having multiple antennas. These systems are commonly referred to as multiple input multiple output (MIMO) systems. When multiple tags respond simultaneously, the reader may use the responses received at each antenna to separate the responses of each tag from the cumulative response and identify their respective tag IDs. In order to separate the tags IDs from the cumulative response, the reader typically requires that characteristics of the communication channels between the responding tags and the antennas. The characteristics of the communication channels are typically obtained by the tags transmitting training pilot signals to the reader before the tags transmit their tag IDs. The training pilots are used by the reader to determine the characteristics of the communication channels. In traditional RFID systems, the coordination of training pilots may require communication amongst the tags in advance to organize the transmission of training pilots. The transmission of training pilots and the organization of the transmission of training pilots amongst the tags require both time and energy, which may not be available depending on the type of tag and application.
[0098] In the present embodiment, the tag IDs themselves are structured to serve as training pilots. In particular, the tag IDs are structured to have a first portion and a second portion. The tags 102 are organized into groups such that within each group, the first portion of the tag ID of each tag 102 is orthogonal to the first portion of the tag ID of every other tag 102 in the group, whereas, the second portion may comprise any desirable value. The first portion of the tag IDs are used as training pilots while the second portion may be separated by the MIMO system. Alternatively, the first portion is the tag ID, while the second portion is the data in addition to the tag ID that the tags transmit to the reader. For example, referring to Figure 9A, the first portion can be a medium access control (MAC) address or an object identification number. A possible scenario is when the reader (or the receiving central station) has multiple antennas and the tags collect real-time data from their vicinity and send the data (in addition to their tag ID) to the reader or the receiving central station.
[0099] The communication channels between the tags 102 and the reader 104 can be expressed mathematically as: Y = HX+N (7)
Figure imgf000022_0002
Figure imgf000022_0001
and where N is the number of antennas in the reader 104, M is the number of simultaneous received by the reader 104 that have tag IDs with an orthogonal first portion, T is the number of bits in each response (i.e., tag ID), Y is the signal received by the reader 104, H describes the characteristics of the communication channels between the tags 102 and the N antennas of the reader 104, and X is the information transmitted by each tag 102 (e.g., tag IDs).
[00100] It is to be understood that M may not be representative of the number of simultaneously responding tags, but rather the number of different channels that the reader 104 can discriminate. For example, where two tags respond, having tag IDs {000} and {001 }, respectively, with a common first portion {00}, we have M=l, that is, only a single response or a single responding channel is perceived by the reader 104. Namely, the reader 104 perceives a response from a tag 102 (or tags) having a tag ID with a first portion {00} . While the actual physical channel from the responding tags 102 to the reader 104 is a 2x N channel (when the reader 104 has N antennas), the reader 104 perceives a IxN channel. On the other hand, if each channel is dedicated to only one tag, then M is representative of the number of simultaneously responding tags, as depicted in Figure 9A. For example, only one tag or no tag starts with 00, only one tag or no tag starts with 01, only one tag or no tag starts with 10, and only one tag or no tag starts with 11. An example is shown in Figure 9 A, where the first portion is ID or MAC address, while the second segment is some additional data.
[00101] In order to accommodate the two portion structure of the tag IDs, the elements of Equation (7) can be rewritten as follows:
Y = [Y' Y2] (8)
X = [P S] (9)
Y^ HP + N1 (10) Y3 = HS + N2 (11) where P is the first portion of the tag response transmitted by the tags 102 to the reader 104, S is the second portion of the tag response transmitted by the tags 102 to the reader 104, Y1 is the first portion of the signal received by the reader 104 corresponding to P, Y2 is the second portion of the signal received by the reader 104 corresponding to S, N1 is the channel noise associated with the first portion of the signal, P, and N2 is the channel noise associate with the second portion of the signal, S.
[00102] Since the elements of P are orthogonal to one another, it follows that:
ΡΡ· = 1* (12) where \u is the identity matrix andP' is the conjugate transpose of P .
[00103] Combining Equations (10) and (12), the channel matrix H may be determined by solving:
H = Y'P 1 = YlPr = HPPr + N'Pr = H + N!Pr (13) where H = H when Nl = 0 and the second portion of the tag ID may be determined by solving:
S = H 'Y2 = H-1 (HS + N2 )
Figure imgf000023_0001
= (H + N'P^' HS + (H + N'P^ N
noise where S = S when N = N = 0 (I denotes an identity matrix) and where the number of antennas, N, is no less than M.
[00104] For example, consider a set of tag IDs having a 4-bit first portion, Ρ, and a 1-bit second portion, S, where the first portion, P, is divided into the following four groups.
Group 1: { 1111, 1010, 1100, 1001}
Group 2: {1000, 1101, 1011, 1110}
Group 3: {0001, 0100, 0010, 0111 } Group 4: {0011 , 0110, 0000, 0101 } where the members of each group are mutually orthogonal with each other.
[00105] In addition, assume that the two tags 102 respond having 5-bit tag IDs {0000a} and {0011b}, respectively. The information transmitted by the tags 102 can be expressed mathematically as:
0 0 0
= [P s] (15) 0 1 1
[00106] Applying Equations (7) to (11), the response received by the reader 104 can be expressed mathematically as:
Y H4X2X2)<5 + N2><S = [Y1 YJ ] = H [P S] + [N> Nj ] (16) where N - 4,M = 2 and r = 5 bits.
[00107] Since the first portions, P, of the tag IDs are orthogonal, the reader 104 is able to identify the first portions, P, through correlation by solving:
Υ' · ρ = ΗΡ · ρ + Νι · ρ (17) where p is the a member of an orthogonal group of first portions and Nl is the channel noise associate with the first portion of the response received by the reader 104.
[00108] To discriminate responses from the tags 102 from the noise in the communication channel, a tag 102 having first portion p is considered to be identified if
ΙΙΓ 1ΡΤ II = ΙΙγ1 * pll = !IHP · P N · p|| > i?™^.^ , where || || is the energy function and δ none-signal ls a predetermined threshold which may be determine using any suitable method.
[00109] The characteristics of the communications channels, H, and the second portions, S, of the responding tag IDs can then be determined by the reader 104 by solving Equations (13) and (14).
[00110] This method as applied to members, p, of Group 1 can be expressed mathematically as follows: For p= {0000}:
Figure imgf000025_0001
Figure imgf000025_0003
thus the reader 104 determines that one or more tags 102 with first portion p = {0000} has
0
responded. Note here N1 = N1
Forp = {0011}:
Figure imgf000025_0002
thus the reader 104 determines that one or more tags 102 with first portion p = {0011} has
0
responded. Note here N1 = N1 For p = {0110}:
Figure imgf000026_0001
Figure imgf000026_0004
0
0 + N1 =N\\W\\ < S, noise-signal
thus the reader 104 determines that no tags 102 with tag IDs having a first portion p = {0110}
0
have responded. Note here N
For p = {0101}:
Figure imgf000026_0002
Figure imgf000026_0005
0
0 + N1 =N , N <<?, ■signal
thus the reader 104 determines that no tags 102 with tag IDs having a first portion p = {0101 }
0
have responded. Note here NL
[00111] P consists of all the above detected p . Once the first potions, P, of the tag 102 responses has been determined, the reader 104, may determine second portions, S, of the tag 102 responses by applying Equation (14) and considering additive channel noise, N, as:
Figure imgf000026_0003
[00112] This method is generalized with reference to Figure 9B, where an example of a method 900 for the simultaneous detection of multiple tags 102 by a reader 104 with multiple antennas is shown. The method 900 permits the reader 104 to identify all of the tag responses in a simultaneous response within a given group that have a first portion, P, that are mutually orthogonal with one another.
[00113] The method 900 commences at block 902 where the reader 104 transmits a start- frame message to inform the tags 102 that the reader is about to query the tags 102. The method 900 then proceeds to block 904 where the reader 104 initializes a number of variables: a set, QT, of the queries to be transmitted is initialized to the queries of all of the groups of tag IDs comprising mutually orthogonal first portions, P; a current query, q, is initialized to the first query in QT; and a set, G, of members of the current group is initialized to all of the members of the first group.
[00114] The method 700 then proceeds to block 906 where the reader 104 transmits the selected query, q. After transmission of the selected query, the method 900 proceeds to block 908 and awaits a response from one or more tags 102 within group G. Upon receiving a response, the method 900 proceeds to block 910 where the current group member, p, is set as the first member in the current group, G, and the first portion of the received response, Y1 , is selected. The method 900 then proceeds to block 911 where the reader 104 determines if Y1 · p|| is greater than a pre-defined threshold, Smlse_!lgnal , to discriminate the response from the noise. If the result is greater than the threshold, the method 900 proceeds to block 916, otherwise, the method 900 proceeds to block 920.
[00115] In block 916, the first portion, p, is determined to be present in the response received by the reader 104. The method 900 then proceeds to block 920, where the reader 104 determines if blocks 912 and 916 have been applied to all members of group G. If it has, the method 900 proceeds to block 922, otherwise, the method proceeds to block 924, where p is set to the next member in group G, and blocks 912 to 920 are repeated.
[001 16] In block 922, the reader 104 solves for the characteristics of the communication channels, H, by applying Equation (13). The method 900 then proceeds to block 926 where the second portions, S, of the responding tag IDs is determined by solving Equation (14).
[001 17] The method 900 then proceeds to block 928, where the reader 104 determines if all of the queries in QT have been transmitted by the reader 104. If so, the method 900 proceeds to block 930 and terminates, otherwise, the method 900 proceeds to block 932, where q is set to the next query in QT and G is set to the members of the next group. The method 900 then repeats blocks 906 to 932.
[00118] The method 900 describes how the a reader 104 having multiple antennas may operate to identify all of the tag IDs in a simultaneous transmission of all of the tag IDs within a given group of tags 102 that have first portions, P, that are mutually orthogonal with each other. The method performed by the tags 102 in responding to queries from the reader 104 operating in accordance with method 900 is identical to method 750 describe above, and variants thereto, except for such suitable modifications required to apply the method 700 to group of tags 102 having orthogonal first portions.
[001 19] D. Segmented Multiple Input Multiple Output Method
[00120] In an alternative embodiment, similar to the MIMO method described above, the tags 102 have tag IDs that are structured to have a plurality of segments, Si to Sn (n being the number of segments). This method is generally referred to herein as the "Segmented MIMO Method".
[00121 ] The tag IDs are organized into multiple segmented. Specifically, a tag ID is considered to be in the same group as another tag ID if their first j-l segments are identical and their j segment is orthogonal, where 1 < j < n . This relationship can be expressed mathematically as:
Sf = Sf , for z = 0 toy-l , 0 < ≤n - l, / < j - l and is orthogonal to where S is the /* segment of the first tag ID, is the h segment of the first tag ID, S f is the /* segment of the second tag ID, S* is the h segment of the second tag ID, and n is the number of segments in each tag ID.
[00122] The reader 104 is configured to query the tags 102 in a segment-by-segment manner until the channel characteristics of each responding tag 102 are capable of being determined by the reader 104. In operation, the reader 104 queries all of the tags 102 that are within the operational range of the reader 104 that have a first segment, Si, that is a member of the same orthogonal group. If all responding tags 102 have a first segment, Si, that is mutually orthogonal to every other responding tag 102, the reader 104 is able to determine the characteristics of the communication channels between the reader 104 and all of the responding tags 102 in the manner described above in the MIMO Method and selecting P = Si and S = S2 to S„. However, if one or more responding tags 102 having identical first segments, Si, the reader 104 is unable to determine the characteristics of the communication channels between the reader 104 and the responding tags 102. The reader 104 then extends the query to the next segment, S2, and queries all of the tags 102 that are within the operational range of the reader 104 that have an identical first segment, Si, and a second segment, S2, that is a member of the same orthogonal group. If all responding tags 102 have a first segment, Si, that is identical to the first segment, Si, of every other responding tag 102, and a second segment, S2, that is mutually orthogonal to every other responding tag 102, the reader 104 is able to determine the characteristics of the communication channels between the reader 104 and all of the responding tags in the manner described above in the MIMO Method and selecting P = S2, and S = S3 to Sn. However, if one or more responding tags 102 have identical first and second segments, Si, S2, the reader 104 is unable to determine the characteristics of the communication channels between the reader 104 and the responding tags 102. The reader then extends the query to the next segment, S3. This method continues until the reader 104 is able to determine the characteristics of the communication channels between the reader 104 and all of the responding tags 102.
[00123] For example, consider a set of tag IDs having a 2-bit first segment and a 2-bit second segment, where the tag IDs are organized into segmented groups based on the following two groups:
Group 1 : {00, 01}
Group 2: {10, 11} where the members of each group are mutually orthogonal with each other. In addition, assume that four tags 102 having tag IDs {0000, 0111, 1110, 111 1 }, respectively, are within the operational range of a two antenna reader 104.
[00124] In an illustrative example referring to Figure 11, the reader 104 first queries all tags 102 having a first segment that is a member of Group 1. In response, tags 102 having tag IDs {0000} and {011 1 } respond to the query. Since the first segment of each responding tag ID is orthogonal and unique, the reader 104 is able to identify the first segment of each responding tag ID and employ the MIMO Method described above to determine the characteristics of the communication channels between the reader 104 and each responding tag 102 and determine the second segment of each responding tag ID.
[00125] The reader 104 then queries all tags 102 having a first segment that is a member of Group 2. In response, tags 102 having tag IDs {1110} and {111 1 } respond to the query. Since the first segment of each responding tag ID are identical, Si = {11}, the reader 104 is able to identify the first segments of the responding tag IDs but is unable to employ the MIMO Method described above to determine the second segments of the responding tag IDs. [00126] To determine the second segments of the responding tag IDs, the reader 104 extends its query to the second segment. The reader 104 queries all tags 102 having a first segment Si = {11} and a second segment that is a member of Group 1. In this example, no tags 102 respond. The reader 104 then queries all tags 102 having a first segment Si = {11} and a second segment that is a member of Group 2. In response, tags 102 having tag IDs {1110} and {111 1 } respond to the query. Since the second segment of each responding tag ID is orthogonal and unique, the reader 104 is able to identify the second segment of each responding tag ID.
[00127] Thus, where the segments of responding tag IDs are unique and orthogonal, the reader 104 may resolve the value of the segments for each responding tag ID, as well as, determine the value of subsequent segments using the MIMO Method described above. However, where the segments of responding tag IDs are identical, the reader 104 extends its query to the next segment and attempts to resolve the value of the next segment. This iterative process, repeats until the values of all of the segments of the responding tag IDs have been determined.
[00128] Referring to Figure 10A, an example of a method 1 100 for the simultaneous detection of multiple tags 102 by a reader 104 with multiple antennas is shown. The method 1100 permits the reader 104 to identify all of the tag IDs in a simultaneous response of all of the tag IDs within a given group that satisfy the relationship expressed above.
[00129] The method 1100 commences at block 1 102 where the reader 104 transmits a start- frame message to inform the tags 102 that the reader is about to query the tags 102. The method 1100 then proceeds to block 1104 where the reader 104 initializes a number of variables: a set, Qs, is initialized to the queries for all of the groups that satisfy the relationship expressed above; a set, QT, of the queries to be transmitted is initialized to Qs; a set, Qc, of the queries resulting in a collision is initialized to NULL; a current query, q, is initialized to the first query in QT; a set, G, of members of the current group is initialized to all of the members of the first group; and the current segment, s, is initialized to the first segment. It is s that represent the index of the segment. For example, Y ' represent the first segment of the received signal and Qs represent the part of the query that corresponds to the sth segment.
[00130] The method 1100 then proceeds to block 1 108 where the reader 104 transmits the selected query, q. After transmission of the selected query, the method 1100 proceeds to block 1110 and awaits a response from one or more tags 102 within the group for which the selected query is associated. Upon receiving a response, the method 1100 proceeds to block 1 112 where the current group member, p, is set as the first member in the current group, G, and the first portion of the received response, Y1 , is selected. The method 1 100 then proceeds to block 11 14 where the reader 104 determines if ||γ' · ρ| is greater than a predefined threshold, Snotst_sl , , to discriminate the response from the noise. If the result is greater than the threshold, the method 1 100 proceeds to block 11 16, otherwise, the method 1100 proceeds to block 1 120.
[00131] In block 1116, the first portion, p, is determined to be present in the response received by the reader 104. The method 1100 then proceeds to block 1 120, where the reader 104 determines if blocks 1114 and 1116 have been applied to all members of group G. If it has, the method 1100 proceeds to block 1122, otherwise, the method proceeds to block 1118, where p is set to the next member in group G, and blocks 1114 to 1120 are repeated.
[00132] In block 1122, the reader 104 solves for the characteristics of the communication channels, H, by applying Equation (13). The method 1 100 then proceeds to block 1124 where the second portions, S, of the responding tag IDs is determined by solving Equation (14).
[00133] The method 1 100 then proceeds to block 1126 where it is determined if a collision has occurred in any of the second portions, S, associated with any of the identified first portions in P. If a collision has occurred, the method 1 100 proceeds to block 1 128, otherwise, the method 1 100 proceeds to block 1130.
[00134] In block 1128, for each identified p in P where there is a collision in its associated second portion, the reader 104 adds to Q the concatenation of p with each member in Q , respectively. For example, if Qs is {00, 11} and the first portion in p where there is a collision in its associated second portion is {10}, the method 1 100 adds the following queries to Qc {1000, 107/} .
[00135] The method 1110 then proceeds to block 1130, where the reader 104 determines if all of the queries in QT have been transmitted by the reader 104. If so, the method 1 100 proceeds to block 1132, otherwise, the method 1 100 proceeds to block 1 136.
[00136] In block 1 132, the reader 104 determines if Qc is empty. If it is, the method 1100 proceeds to block 1 134 and terminates, otherwise, the method 1 100 proceeds to block 1 138 where: QT is set to Qc; Qc is set to NULL; q is set to the first query in QT; G is set to the members of the first group, and s is set to the next segment. The method 1100 then repeats blocks 1 108 to 1 132.
[00137] In block, 1136, q is set to the next query in QT and G is set to the members of the next group. The method 1100 then repeats blocks 1108 to 1130. [00138] It will be understood that method 1 100 may be varied in numerous ways while still achieving the objective of the Segmented MIMO Method. For example, the segments may be of the same size or different sizes. Also, instead of concatenating each first portion in P having a collision in its second portion with each member in Qs in block 1128, other suitable queries may be used to direct the response of all tags having an identical segment equal to such first portions and a mutually orthogonal or equal subsequent segment.
[00139] Referring to Figure 10B, an example of a method 1 150 performed by the tags 102 in responding to the queries from the reader 104 operating in accordance with method 1 100 is shown. In method 1 150, the queries sent by the reader 1104 comprise the identical segments as the tag IDs. Where the reader 104 desires to query a particular segment of a tag's 102 tag ID, the reader 104 transmits a query having the length equal to the length of the tag ID up to an including that segment.
[00140] The method 1150 commences at block 1 152 where the tag 102 receives a start- frame message from the reader 104. As described above, the start-frame message functions to inform the tags 102 that the reader is about to query the tags 102. The method 750 then proceeds to block 1 154 where the reader 104 awaits a query from the reader 104.
[00141] Once a query is received by the tag 102, the method 1150 proceeds to block 1156 where the tag 102 selects the first segment of the query. The method 1150 then proceeds to block 1 158 where the tag 102 determines if the selected segment of the query is equal to the same segment of the tag's 102 tag ID. If the segments are equal, the method 1 150 proceeds to block 1 160, where the next segment of the query is selected and block 1 158 is repeated.
[00142] If the segments are not equal, the method 1 150 proceeds to block 1162 and determines if the cross product between the selected segment of the query and the same segment of the tag ID is a Walsh code..
[00143] If the segments are mutually orthogonal, the method 1 150 proceeds to block 1164, otherwise, the method 1 150 proceeds to block 1 166 and is terminated. In block 1164, the tag 102 transmits its tag ID and then the method 1150 proceeds to block and is terminated.
[00144] In the alternative, for each segment, the reader 104 may send out a unique query associated with each group of tag IDs in the segment, and instead of determining if each segment is identical or its cross product with the query is Walsh code, the tag 102 determines if the unique query matches a query stored in the tag's 102 memory or circuitry.
[00145] While particular embodiments of the present invention have been described in the foregoing, it is to be understood that other embodiments are possible within the scope of the invention and are intended to be included therein. It will be clear to any person skilled in the art that modifications of and adjustments to this invention, not shown at this writing, are possible without departing from the spirit of the invention as demonstrated through the exemplary embodiment.

Claims

CLAIMS:
1. A plurality of radio frequency identification (RFID) tags each RFID tag of the plurality of RFID tags comprising a unique tag identification (tag ID), the plurality of RFID tags organized into one or more groups such that the tag IDs of the RFID tags within each group are mutually orthogonal, the RFID tags in each group configured to simultaneously transmit their respective tag IDs in response to the receipt of one or more queries associated with the group, whereby all of the tag IDs within each group are capable of being identified by an RFID reader receiving the simultaneous transmission by all of the RFID tags in the group of their respective tag IDs.
2. The plurality of RFID tags as claimed in claim 1 , wherein the RFID tags in each group are configured to transmit their respective tag IDs in a timeslot that is unique from the timeslot associated with any other group.
3. The plurality of RFID tags as claimed in claim 2, wherein the one or more queries associated with each group are identical amongst all of the groups.
4. The plurality of RFID tags as claimed in claim 3, wherein the one or more queries associated with each group is a start-frame message.
5. The plurality of RFID tags as claimed in claim 2, wherein the one or more queries associated with each group are unique from the one or more queries associated with any other group.
6. The plurality of RFID tags as claimed in claim 1 wherein:
each RFID tag comprises a memory having stored therein the one or more queries associated with the group in which the RFID tag is a member; and
each RFID tag is configured to compare queries received by the RFID tag to the one or more queries stored in the memory and transmit its tag ID in response to any of the received queries that matches any of the one or more queries stored in the memory.
7. The plurality of RFID tags as claimed in claim 1 wherein each RFID tag is configured to determine if the cross product between the query received by the RFID tag and its tag ID is a Walsh code, and transmit its tag ID if the cross product between the query and its tag ID is a Walsh code.
8. The plurality of RFID tags as claimed in claim 1, wherein the tag IDs of the RFID tags within each group comprise two or more portions, and at least one portion is mutually orthogonal with the same portion of the tag IDs of the other RFID tags in the group.
9. The plurality of RFID tags as claimed in claim 8, wherein the tag IDs of the RFID tags within each group comprise one or more portions that are identical to the same portions of the tag IDs of other RFID tags in the group, and at least one portion is mutually orthogonal with the same portion of the tag IDs of the other RFID tags in the group.
10. A plurality of radio frequency identification (RFID) tags each RFID tag of the plurality of RFID tags having a unique tag identification (tag ID), the RFID tags organized into one or more groups such that the tag IDs of the RFID tags within each group vary from a parent code associated with the group by a single bit, the RFID tags in each group configured to transmit their respective tag IDs in response to one or more queries associated with the group, the one or more queries associated with each group being unique from the one or more queries associated with any other group, whereby all of the tag IDs within each group are capable of being identified by an RFID reader receiving the simultaneous transmission by all of the RFID tags in the group of their respective tag IDs.
1 1. The plurality of RFID tags as claimed in claim 10, wherein the RFID tags in each group are configured to transmit their respective tag IDs in a timeslot that is unique from the timeslot associated with any other group.
12. The plurality of RFID tags as claimed in claim 11, wherein the one or more queries associated with each group are identical amongst all of the groups.
13. The plurality of RFID tags as claimed in claim 12, wherein the one or more queries associated with each group is a start-frame message.
14. The plurality of RFID tags as claimed in claim 11 , wherein the one or more queries associated with each group are unique from the one or more queries associated with any other group.
15. The plurality of RFID tags as claimed in claim 14 wherein the one or more queries associated with a group comprises the parent code associated with the group.
16. The plurality of RFID tags as claimed in claim 15 wherein each RFID tag is configured to determine if its tag ID varies from the queries received by the RFID tag by a single bit and transmit its tag ID if its tag ID varies from any queries received by the RFID tag by a single bit.
17. The plurality of RFID tags as claimed in claim 10 wherein:
each RFID tag comprises a memory having stored therein the one or more queries associated with the group in which the RFID tag is a member; and
each RFID tag is configured to compare queries received by the RFID tag to the one or more queries stored in the memory and transmit its tag ID in response to any of the received queries that matches any of the one or more queries stored in the memory.
18. The plurality of RFID tags as claimed in claim 10, wherein the tag IDs of the RFID tags within each group comprise two or more portions, each portion varying from a parent code by a single bit.
19. The plurality of RFID tags as claimed in claim 10, wherein:
(a) each query associated with each group comprises a first portion and a second portion, the first portion comprising the parent code associated with the group;
(b) the tag IDs of the RFID tags within each group comprise a first portion and a second portion, the first portion varying by a single bit from the first portion of the query associated with the group, and the second portion identical to the second portion of the query associated with the group; and
(c) each RFID tag is configured to transmit its tag ID where the first portion of its tag ID varies from the first portion of a query by a single bit and the second portion of its tag ID is identical to the second portion of the query.
PCT/IB2012/000591 2011-03-25 2012-03-23 Methods and apparatuses for the simultaneous detection of multiple radio frequency identification tags WO2012131461A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201280013844.9A CN103562751A (en) 2011-03-25 2012-03-23 Methods and apparatuses for the simultaneous detection of multiple radio frequency identification tags

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201161467848P 2011-03-25 2011-03-25
US61/467,848 2011-03-25

Publications (1)

Publication Number Publication Date
WO2012131461A1 true WO2012131461A1 (en) 2012-10-04

Family

ID=46929565

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2012/000591 WO2012131461A1 (en) 2011-03-25 2012-03-23 Methods and apparatuses for the simultaneous detection of multiple radio frequency identification tags

Country Status (2)

Country Link
CN (1) CN103562751A (en)
WO (1) WO2012131461A1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014198214A1 (en) * 2013-06-13 2014-12-18 山东新北洋信息技术股份有限公司 Rf label processing method and rf label processing apparatus
CN104753835A (en) * 2015-01-23 2015-07-01 北京信息科技大学 Fragmented-adjustment channel parameter estimation implementation method for multiple receiving antennas of reader
EP3108403A1 (en) * 2014-02-21 2016-12-28 Sony Corporation Detection of unauthorized tags
CN106682548A (en) * 2016-12-27 2017-05-17 华东师范大学 Multichannel power random change control method for RFID (radio frequency identification) reader collision preventing
EP3633565A1 (en) * 2018-10-01 2020-04-08 Nxp B.V. System and method for verifying whether objects belong to a predefined set
US11213773B2 (en) 2017-03-06 2022-01-04 Cummins Filtration Ip, Inc. Genuine filter recognition with filter monitoring system
US11966807B2 (en) 2021-11-08 2024-04-23 Nanjing University Of Information Science And Technology Multi-tag concurrent identification method and system for query tree based on feature groups

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3154232B1 (en) * 2015-10-08 2018-04-18 Alcatel Lucent Method for channel estimation in a wireless communication system, communication unit, terminal and communication system
CN109874132B (en) * 2017-12-05 2021-12-07 中移(杭州)信息技术有限公司 Signal identification method and device
CN116502655A (en) * 2022-01-19 2023-07-28 华为技术有限公司 Communication method and device based on wireless radio frequency identification

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060212141A1 (en) * 2005-02-25 2006-09-21 Abraham Thomas C Jr Radio frequency identification-detect ranking system and method of operating the same
US20060290508A1 (en) * 2005-06-23 2006-12-28 Samsung Electronics Co., Ltd. Reader, tags, radio frequency identification (RFID) system, and method thereof
US20080165003A1 (en) * 2007-01-04 2008-07-10 Lockheed Martin Corporation Rfid protocol for improved tag-reader communications integrity
US20090115582A1 (en) * 2006-03-23 2009-05-07 Kt Corporation Apparatus for recognizing radio frequency identification (rfid) and method thereof, and data processing method of rfid

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2337313B1 (en) * 2009-12-21 2018-06-13 Nxp B.V. Intelligent RFID tag identifier
CN102024163B (en) * 2010-12-01 2012-09-05 中国人民解放军国防科学技术大学 Anti-collision method with packet previewing mechanism

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060212141A1 (en) * 2005-02-25 2006-09-21 Abraham Thomas C Jr Radio frequency identification-detect ranking system and method of operating the same
US20060290508A1 (en) * 2005-06-23 2006-12-28 Samsung Electronics Co., Ltd. Reader, tags, radio frequency identification (RFID) system, and method thereof
US20090115582A1 (en) * 2006-03-23 2009-05-07 Kt Corporation Apparatus for recognizing radio frequency identification (rfid) and method thereof, and data processing method of rfid
US20080165003A1 (en) * 2007-01-04 2008-07-10 Lockheed Martin Corporation Rfid protocol for improved tag-reader communications integrity

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014198214A1 (en) * 2013-06-13 2014-12-18 山东新北洋信息技术股份有限公司 Rf label processing method and rf label processing apparatus
EP3108403A1 (en) * 2014-02-21 2016-12-28 Sony Corporation Detection of unauthorized tags
CN104753835A (en) * 2015-01-23 2015-07-01 北京信息科技大学 Fragmented-adjustment channel parameter estimation implementation method for multiple receiving antennas of reader
CN106682548A (en) * 2016-12-27 2017-05-17 华东师范大学 Multichannel power random change control method for RFID (radio frequency identification) reader collision preventing
US11213773B2 (en) 2017-03-06 2022-01-04 Cummins Filtration Ip, Inc. Genuine filter recognition with filter monitoring system
EP3633565A1 (en) * 2018-10-01 2020-04-08 Nxp B.V. System and method for verifying whether objects belong to a predefined set
US10878204B2 (en) 2018-10-01 2020-12-29 Nxp B.V. System and method for verifying whether objects belong to a predefined set
US11966807B2 (en) 2021-11-08 2024-04-23 Nanjing University Of Information Science And Technology Multi-tag concurrent identification method and system for query tree based on feature groups

Also Published As

Publication number Publication date
CN103562751A (en) 2014-02-05

Similar Documents

Publication Publication Date Title
WO2012131461A1 (en) Methods and apparatuses for the simultaneous detection of multiple radio frequency identification tags
Myung et al. An adaptive memoryless tag anti-collision protocol for RFID networks
Chen et al. An efficient tag search protocol in large-scale RFID systems with noisy channel
CN103020568B (en) Based on the pretreated RFID anti-collision method of label ID
EP1859390A1 (en) Tag anti-collision rfid system and method for tag identification
Jia et al. An improved anti‐collision protocol for radio frequency identification tag
Xu et al. An improved dynamic framed slotted ALOHA anti-collision algorithm based on estimation method for RFID systems
CN107895130B (en) Self-adaptive multi-branch tree anti-collision method based on collision tree
Lee et al. Analysis of RFID anti-collision algorithms using smart antennas
Bagnato et al. Performance analysis of anti-collision protocols for RFID systems
Zheng et al. Tree-based backoff protocol for fast RFID tag identification
Wang et al. Anti-collision algorithm for RFID tag identification using fast query tree
Yeh et al. Parallel response query tree splitting for RFID tag anti-collision
Xie et al. A tag-correlation-based approach to fast identification of group tags
Hakeem et al. Novel modulo based Aloha anti-collision algorithm for RFID systems
Zhang et al. Binary search algorithms with interference cancellation RFID systems
KR100921862B1 (en) Method For Generating RFID Tag ID For Collision Avoidance And RFID Tag Having ID For Collision Avoidance
US7880589B2 (en) Communications device identification methods, communications methods, wireless communications readers, wireless communications systems, and articles of manufacture
CN103902944A (en) Multi-tag collision prevention method of internet of things
CN104134052A (en) RFID anti-collision method based on self-adaptive dividing mechanism
Tian et al. An effective temporary ID based query tree algorithm for RFID tag anti-collision
US8258927B1 (en) Method and system for inventorying wireless transponders providing anti-eavesdropping anti-collision
Nguyen et al. Tweaked binary tree algorithm to cope with capture effect and detection error in RFID systems
Yaacob et al. Novel binary search algorithm for fast tag detection in robust and secure RFID systems
Yeh et al. Four–ary query tree splitting with parallel responses for RFID tag anti–collision

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12764208

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12764208

Country of ref document: EP

Kind code of ref document: A1