Patent Publication Number: US-8994506-B2

Title: Apparatus and method for processing RFID signals

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     The present application claims priority to U.S. Ser. No. 61/608,368, filed Mar. 8, 2012, which is herein incorporated by reference. 
    
    
     TECHNICAL FIELD 
     The present disclosure relates to wireless communication and to the detection of radio frequency identification (RFID) signals. 
     BACKGROUND 
     Radio Frequency Identification (RFID) is a wireless communication technology used for identifying, tracking and locating a physical object. RFID has applications in many different industries such as inventory control, tracking people and assets (e.g. mobile medical equipment, hospital patients and personnel), electronic toll collection, and access control. Generally, an RFID system is composed of multiple identifying tags that are attached to the objects, and readers that collect data from the tags. Often, RFID systems include a central processing unit that gathers and processes data from the readers. An RFID system may include thousands of tags in the range of a single reader at a given time, e.g. in a warehouse application. 
     RFID tags are generally classified as active or passive. Passive tags utilize energy received from a signal from the reader to transmit data, which limits the range over which passive RFID tags can be identified. Active tags utilize energy from a battery contained within the tag to generate and transmit the signal, providing better range and reliability. Active tags are typically more expensive than passive tags, and have a limited battery life. However, active tag RFID systems have an advantage in applications that require monitoring and data logging because the tags can remain operational even when they are out of the range of a reader. 
     Active tags may operate in duplex or simplex mode. Simplex mode tags, also referred to as transmit-only tags, benefit from low power consumption and simple tag design. 
     A major challenge in RFID systems is detection failure caused by signal collisions, which occur when a reader simultaneously receives signals from multiple tags. 
     Most of the work undertaken to address signal collisions has assumed that colliding signals cannot be detected and, therefore, has focused on anti-collision protocols in the Medium Access Control (MAC) layer, such as “Slotted Aloha” and “Binary Splitting”. MAC-based anti-collision protocols rely on the tags retransmitting data signals when a collision is detected, causing delayed identification and possibly faster depletion of the limited power resources within the tag. Further, MAC-based anti-collision protocols are not feasible in simplex, or transmit-only, mode tags because MAC-based anti-collision protocols require, either, that the tags themselves detect the signal collisions, or that the tags receive an indication from the reader that a collision has occurred. 
     Resolving the colliding signals at the physical layer in an RFID system would be beneficial because retransmission of the tag signals would not be necessary. However, resolving colliding signals at the physical layer in RFID systems poses unique challenges. For example, receivers utilized in wireless systems, in particular cellular systems, for which collision resolution at the physical layer has been developed, assume that users are assigned channel resources and therefore transmit in a synchronized fashion. This synchronization simplifies packet acquisition and the identification of collisions compared to RFID systems, particularly in the case of transmit-only RFID. Furthermore, in cellular systems, users can be assumed to transmit with the same frequency with relatively high accuracy and stability, which is not the case in RFID systems in which RFID tags utilize inexpensive circuitry for signal generation. 
     A method for resolving multiple, overlapping signals at the physical layer for an RFID system is desirable, particularly for active transmit-only RFID tags. 
     SUMMARY 
     According to an aspect of the disclosure, there is provided a method of processing RFID data packets at an RFID receiver that includes performing channel estimation and data detection on a first received RFID data packet in a single-user reception mode, the first RFID data packet being transmitted by a first RFID tag, acquiring a second received RFID data packet from a second RFID tag while the first RFID data packet is being processed in the single-user reception mode, and in response to acquiring the second received RFID data packet, performing channel estimation and data detection in a multi-user reception mode to recover data transmitted from both the first and second RFID tags in a collision-less manner. 
     According to another aspect of the disclosure, the method further includes determining that a preamble of the second received RFID data packet overlaps in time a preamble of the first RFID data packet, and in response to the determining, improving the channel estimation of the first received RFID data packet determined in the single-user reception mode, prior to performing the channel estimation and the data detection in the multi-user reception mode. 
     According to another aspect of the disclosure, improving the channel estimation comprises applying a least-square estimation filter to the first and second received RFID data packets in response to determining that the preamble of the second received RFID data packet overlaps in time with the preamble of the first RFID data packet. 
     According to another aspect of the disclosure, the method includes, in the multi-user reception mode, performing a frequency offset estimation for the second received RFID data packet. 
     According to another aspect of the disclosure, acquiring the second received RFID data packet comprises using a residual received signal. 
     According to another aspect of the disclosure, performing data detection in the multi-user reception mode comprises utilizing widely linear detection in a mode of one of linear multi-user detection, decision-feedback multi-user detection, and maximum-likelihood multi-user detection. 
     According to another aspect of the disclosure, the first received data packet and the second received data packet are acquired by applying oversampling. According to another aspect of the disclosure, the first received data packet and the second received data packet are acquired by utilizing multiple RFID antennae. 
     According to another aspect of the disclosure, performing data detection in the multi-user reception mode comprises utilizing filters optimized according to criterion from one of zero-forcing and minimum mean-square error. 
     According to another aspect of the disclosure, performing data detection in the multi-user reception mode comprises utilizing filters that are adaptively optimized using a recursive algorithm. 
     According to another aspect of the disclosure, performing channel estimation in the multi-user reception mode comprises determining an estimate of the interfering data symbols of the first received data packet. 
     According to another aspect of the disclosure, there is disclosed an RFID receiver for processing RFID data packets that includes a data packet acquisition unit for receiving RFID data packets transmitted by RFID tags, a channel estimator, and a data detector, wherein the channel estimator and the data detector perform channel estimation and data detection on a first received RFID data packet in a single-user reception mode, the first RFID data packet being transmitted by a first RFID tag, and wherein the data packet acquisition unit is configured to acquire a second received RFID data packet while the first RFID data packet is being processed in the single-user reception mode, the second RFID data packet being transmitted by a second RFID tag, and, in response to acquiring a second received RFID data packet, the channel estimator and the data detector perform channel estimation and data detection in a multi-user reception mode to recover data transmitted from both the first and second RFID tags in a collision-less manner. 
     According to another aspect of the disclosure, the RFID receiver includes a preamble overlap detector that determines whether a preamble of the second received RFID data packet overlaps in time with a preamble of the first RFID data packet. 
     According to another aspect of the disclosure, in the multi-user reception mode, the channel estimator applies a least-square estimation filter to the first and second received RFID data packets in response to the preamble overlap detector determining that the preamble of the second received RFID data packet overlaps in time with the preamble of the first RFID data packet. 
     According to another aspect of the disclosure, in the multi-user reception mode, the data detector utilizes widely linear detection in a mode of one of linear multi-user detection, decision-feedback multi-user detection, and maximum-likelihood multi-user detection. 
     According to another aspect of the disclosure, in the multi-user reception mode, the data detector utilizes filters optimized according to criterion from one of zero-forcing and minimum mean-square error. 
     According to another aspect of the disclosure, in the multi-user reception mode, the data detector utilizes filters that are adaptively optimized using a recursive algorithm. 
     According to another aspect of the disclosure, the recursive algorithm is one of a least mean squares algorithm and a recursive least squares algorithm. 
     According to another aspect of the disclosure, in the multi-user reception mode, the channel estimator determines an estimate of the interfering data symbols of the first received data packet. 
     According to another aspect of the disclosure, in the multi-user reception mode, the data packet acquisition unit performs a frequency offset estimation for the second received RFID data packet. 
     According to another aspect of the disclosure, in the multi-user reception mode, acquiring the second received RFID data packet comprises using a residual received signal. 
     Other aspects of the present invention will be apparent from the following detailed description of the embodiments and the accompanying drawings. 
    
    
     
       DRAWINGS 
       Embodiments of the present invention will be described, by way of example, with reference to the drawings and to the following description, in which: 
         FIG. 1  shows a schematic view of an RFID system according to an embodiment of the invention in accordance with the present disclosure; 
         FIG. 2   a  and  FIG. 2   b  show schematic views of overlapping RFID data packets in accordance with the disclosure; 
         FIG. 3  shows a flow chart illustrating a method of performing multi-user detection of two data packets in an RFID system in accordance with the disclosure; 
         FIG. 4  shows a schematic of a receiver for performing multi-user detection of two data packets in an RFID system in accordance with the disclosure; 
         FIG. 5  shows a schematic view of an apparatus configured to perform the acquisition of the second data packet  112  in the method of  FIG. 3 ; 
         FIG. 6  shows a schematic view of an apparatus configured to perform the detection of an overlap in the preambles of two data packets in the method of  FIG. 3 ; 
         FIG. 7  shows a schematic view of an apparatus configured to perform the improvement of the channel estimation determined in the case where the preambles overlap in the method of  FIG. 3 ; 
         FIG. 8  shows a schematic view of an apparatus configured to perform the channel estimation for a second packet in the method of  FIG. 3 ; 
         FIG. 9  shows a schematic of an apparatus configured to perform a widely linear multi-user detection of two data packets during a period of overlap; 
         FIG. 10  shows a graph of simulated data of the Tag ID outage probability vs. total number of tags; and 
         FIG. 11  shows a table of simulated packet error rates for an embodiment of the invention when two tags send their packets randomly and includes a comparison of the simulated packet error rates with the packet error rates for conventional detection. 
     
    
    
     DETAILED DESCRIPTION 
     For simplicity and clarity of illustration, reference numerals may be repeated among the figures to indicate corresponding or analogous elements. Numerous details are set forth to provide an understanding of the examples described herein. The examples may be practiced without these details. In other instances, well-known methods, procedures, and components are not described in detail to avoid obscuring the examples described. The description is not to be considered as limited to the scope of the examples described herein. 
     The disclosure generally relates a method and a receiver for performing multi-packet reception. The receiver detects signals sent by active radio frequency identification (RFID) tags using real-valued signal constellations, such as, for example, binary phase shift keying (BPSK) and minimum-shift keying (MSK). The receiver comprises packet acquisition, preamble overlap detection, channel estimation, and data detection. 
     The receiver operates in a conventional single-packet reception (also referred to as single-user reception) mode until the acquisition detects a simultaneously received data packet from a second tag. Then channel estimation and data detection switch into a multi-packet reception mode (also referred to as a multi-user reception mode) to recover the data transmitted from both tags. The RFID system may be modeled as an equivalent multiple-input single-output system with real-valued modulation. This model enables the application of so-called widely linear (WL) multi-user detection (MUD) methods, for which linear or nonlinear optimization criteria may be applied. The disclosed configuration allows for improved performance over the conventional RFID receivers in that simultaneous transmissions from two tags, which usually lead to packet collisions, can be resolved. 
     Referring to  FIG. 1 , a schematic view of an RFID system  100  is shown. The RFID system includes one or more RFID readers  102  in communication with a central processing unit (CPU)  104 . A plurality of RFID tags  106 ,  108  transmit data packets  110 ,  112 . The data packets  110 ,  112  are received and processed by the RFID readers  102 . Typically, the RFID tags  106 ,  108  are each attached to or associated with an object. The data packets  110 ,  112  each include unique data such that when, for example, the data packet  110  from RFID tag  106  is received at the reader  102 , it is, for example, utilized to identify the object associated with the RFID tag  106 . 
     Referring to  FIG. 2   a  and  FIG. 2   b , schematics of the data packets  110 ,  112  are shown. Data packet  110  includes a preamble  210  and a data portion  212 , and data packet  112  includes a preamble  220  and a data portion  222 . 
     Generally, the preambles  210 ,  220  of the data packets  110 ,  112  are known at the reader  102 . The preambles  210 ,  220  facilitate packet acquisition, synchronization, and channel estimation at the reader  102 , which are required for detection of the data portions  212 ,  222 . 
     Generally, the data portions  212 ,  222  are unknown at the reader  102 . Often the data portions  212 ,  222  include control information, also known as a header part, and the identification data, also known as a payload part. 
     In some cases, the data packet  110  from the tag  106  may be received by a reader  102  in close proximity in time to the data packet  112  from the tag  108  such that the data packet  110  at least partially overlaps in time with the data packet  112 . Two data packets  110 ,  112  overlapping in time at the reader  102  may result in a collision. Collisions of data packets  110 ,  112  result in interference at the reader  102  that makes resolving the individual data packets  110 ,  112  difficult compared with a single, non-colliding data packet  110 . 
     Generally, overlapping data packets  110 ,  112  occur in one of two types.  FIG. 2   a  illustrates a first type of overlap in which the preamble  210  of the first received data packet  110  does not overlap in time with the preamble  220  of the second, later received data packet  112 . In this type of overlap, the second data packet  112  does not interfere with the preamble  210  of the first data packet  110 , but the second data packet  112  does interfere with a portion of the data  212  of the first data packet  110 . Thus, the preamble  210  may be resolved by the reader  102  and utilized to determine the transmission properties for the channel from the tag  106  to the reader  102  for detection of the data  212  of the earlier received packet  110 . 
       FIG. 2   b  illustrates a second type of overlap in which the preamble  210  of the first data packet  110  received at the reader  102  overlaps in time with the preamble  220  of the second data packet  112  received at the reader  102 . In this type of overlap, the second data packet  112  interferes with the preamble  210  of the first data packet  110 . 
     Embodiments of the present disclosure relate to RFID transmission formats that use real-valued signal constellations, including but not limited to, binary phase shift keying (BPSK) and minimum-shift keying (MSK). The baseband equivalent representation of an MSK signal can be expressed as: 
                 s   ⁡     (   t   )       =       ∑   n     ⁢           ⁢       j   n     ⁢     b   ⁡     [   n   ]       ⁢     f   ⁡     (     t   -   nT     )             ,         
where j=√{square root over (−1)}, b[n] are the data symbols (including known preamble symbols) transmitted by the tag  106 ,  108 , T is the symbol interval and f(t) is the pulse shape.
 
     For a transmitted data packet  110 , the sampled baseband signal received at the reader  102  can be written as: 
                       r   ⁡     [   k   ]       =         ∑   i     ⁢           ⁢       b   ⁡     [     k   -   i     ]       ⁢     h   ⁡     [   i   ]           +     n   ⁡     [   k   ]           ,           (   1   )               
where h[k] is the overall discrete-time channel impulse response, and n[k] is additive noise.
 
     If two data packets  110 ,  112  overlap in time, the sampled baseband signal received at the reader  102  can be written as: 
                       r   ⁡     [   k   ]       =         ∑   i     ⁢           ⁢         b   1     ⁡     [     k   -   i     ]       ⁢       h   1     ⁡     [   i   ]           +       ⅇ     j2π   ⁢           ⁢   vkT       ⁢       ∑   i     ⁢           ⁢         b   2     ⁡     [     k   -   i     ]       ⁢       h   2     ⁡     [   i   ]             +     n   ⁡     [   k   ]           ,           (   2   )               
where b 1 [k] and b 2 [k] are the data from the first tag  106  and second tag  108  (including known preamble symbols), h 1 [k] and h 2 [k] represent the overall discrete-time channel from the first data packet  110  and second data packet  112 , and v is the frequency offset between first data packet  110  and second data packet  112 . Equations 1 and 2 assume a symbol-rate sampling at the reader  102 . Alternatively, oversampling may be applied at the reader  102 , or multiple RFID antenna elements may be applied at the reader  102 .
 
       FIG. 3  is a flowchart illustrating a method for performing multi-packet reception of two overlapping data packets  110 ,  112  in an RFID system  100 . In an embodiment, the method is advantageously performed by the reader  102  performing stored instructions. Instructions may be stored in the memory of the reader  102  or may be stored on a separate memory device in communication with the reader  102 . 
     The method begins by acquiring a first received data packet  110  at  302 . Next, channel estimation for the first received data packet  110  is performed in a single-user reception mode at  304 . After performing the channel estimate at  304 , the data symbols of the first received data packet are determined in a single-user reception mode at  306 . A second received data packet  112  is acquired at  308 , while the first received packet  110  is being processed in the single-user reception mode. 
     After the second received data packet  112  has been acquired at  308 , the method switches to a multi-user reception mode at  309 . A determination of whether the preamble  220  of the second received data packet  112  overlaps the preamble  210  of the first received data packet  110  may optionally be made at  310 . 
     If the preamble  220  of the second data packet  112  is determined at  310  not to overlap the preamble  210  of the first data packet  110 , then an estimate of the channel of the second data packet  112  is performed in multi-user reception mode at  312 . 
     If the preamble  220  of the second data packet  112  is determined at  310  to overlap the preamble  210  of the first data packet  110 , then the channel estimate of the first received data packet, performed at  304 , is improved at  314  prior to estimating the channel of the second received data packet  112  in the multi-user reception mode at  312 . 
     After the channel of the second received data packet  112  is estimated at  312 , widely linear (WL) detection of the first received data packet  110  and the second received data packet  112  is performed at  316 . 
     Alternatively, the determination at  310  of whether the preamble  220  of the second received data packet  112  overlaps the preamble  210  of the first received data packet  110  may be omitted. In this case, further processing of the data packets  110  and  112  proceeds on the assumption that the preamble  220  of the second received data packet  112  does not overlap the preamble  210  of the first received data packet  110 . In the case in which the determination at  310  is omitted and the preambles  210  and  220  do overlap, resolving the first received data packet  110  and the second received data packer  112  may not be possible and a subsequent transmission of the data packets  110 ,  112  may be required. 
     Referring to  FIG. 4 , a schematic of a receiver  400  for performing multi-user detection of two data packets  110 ,  112  is shown. The receiver includes a data packet acquisition unit  402 , a preamble overlap detector  404 , a channel estimator  406 , and a data symbol detector  408 . Although  FIG. 4  shows the data packet acquisition unit  402 , the preamble overlap detector  404 , the channel estimator  406 , and the data detector  408  as discrete elements, these elements may be provided by a single hardware element such as, for example, the reader  102 . 
     The data packet acquisition unit  402  is in communication with an RFID antenna (not shown) in order to acquire the RFID data packets  110  and  112 . Optionally, a preamble overlap detector  404  may be included in communication with the data acquisition unit  402  in order to determine whether a preamble  210  of a first received data packet  110  overlaps in time with a preamble  220  of a second received data packet  112 . The channel estimator  406  performs channel estimation on the first received data packet  110  and the second received data packet  112 . The data detector  408  detects the data symbols of the first received data packet  110  and the second received data packet  112 . The channel estimator  406  and the data detector  408  are configured to perform channel estimation and data detection in a single-user reception mode on a first received RFID data packet  110  from a first RFID tag  106 , and, in response to receiving a second RFID data packet  112  from a second RFID tag  108  while the first RFID data packet  110  is being processed in the single-user reception mode, performing channel estimation and data detection in a multi-user reception mode to recover data transmitted from both the first and second RFID tags  106 ,  108  in a collision-less manner. 
     In an embodiment, the channel estimator  406  is a single hardware element configured to operate in both a single-user reception mode and a multi-user reception mode, as described above. In another embodiment, the channel estimator  406  comprises a first channel estimator that operates in a single-user detection mode and a second, separate, channel estimator that operates in a multi-user reception mode. Similarly, the data detector  408  may be a single hardware element configured to operate in both a single-user reception mode and a multi-user reception mode, as described above, or may comprise a first data detector that operates in a single-user detection mode and a second, separate data detector that operates in a multi-user reception mode. 
     Alternatively, the preamble overlap detector  404  may be omitted from the receiver  400 . In this case, further processing of the first received data packet  110  and the second received data packet  112  proceeds on the assumption that the preamble  220  of the second received data packet  112  does not overlap the preamble  210  of the first received data packet  110 , as described above. 
       FIG. 5  illustrates the details of the acquisition of the second received data packet  112  ( 308  in  FIG. 3 ) by the data packet acquisition unit  402 . The signals  500  utilized for the acquisition are the down-converted, sampled signal received at the reader  102 , r[k], the detected data {circumflex over (b)} 1 [k], from the first data packet  110 , and the channel estimation ĥ 1 [k], provided by the channel estimator  406  operating in the single-user mode, are processed in a residual estimator  501 , which is specified as: 
                   r   res     ⁡     [   k   ]       =       r   ⁡     [   k   ]       -       ∑     i   =   0     L     ⁢           ⁢           b   ^     1     ⁡     [     k   -   i     ]       ⁢         h   ^     1     ⁡     [   i   ]               ,         
where L+1 is the length of the estimated channel ĥ 1 [k]. The residual signal r res [k]  502  determined in the residual estimator  501  is utilized in a preamble detector  503  for acquiring the second data packet  112 . Preamble detection may be based on the correlation metric:
 
                 R   ⁡     [   k   ]       =       ∑     i   =   0     K     ⁢           ⁢         r   res     ⁡     [     k   +   i     ]       ⁢       b   2     ⁡     [   i   ]             ,         
where b 2 [k] are the known preamble symbols of the second data packet  112 . When a second data packet  112  has been acquired, a frequency offset estimator  504  obtains an estimate for the frequency offset v  506  between the reader&#39;s and the tag&#39;s local oscillators. Frequency offset estimation may be based on the D-lag differential r res [k]r* res [k+D] and the Fitz estimator. The preamble detector  503  delivers a value k d    505 , which is a relative delay, measured in number of samples, for the start of the second data packet  112  with respect to the start of the first data packet  110 .
 
       FIG. 6  illustrates the details of how an overlap in the preambles  210 ,  220  is detected ( 310  in  FIG. 3 ) at the preamble overlap detector  404 . The relative packet delay k d    505  from the preamble detector  503  is applied in a comparator  600  that may produce the Boolean output A  601  according to: 
             A   =     {           Yes   ,             k   d     &lt;     K   +   1                 No   ,             k   d     ≥     K   +     1   ′                       
where K+1 is the length of the preamble of data packet  110  in number of samples, which is a system parameter and identical for all data packets and thus known at the reader.
 
       FIG. 7  illustrates the details of how the channel estimator  406  improves the channel estimation (at  314  in  FIG. 3 ) of the first received RFID data packet  110  (determined at  304  in  FIG. 3 ) in the case where the preambles  210  and  220  overlap (i.e. when A=Yes in  FIG. 6 ). The relative packet delay k d  from the preamble detector  503  is used by a joint channel estimator  700 . This estimator may use a signal model: 
               r   =         [       B   1     ⁢           ⁢     C   v     ⁢     B   2       ]     ⁡     [           h   1               h   2           ]       +   n       ,         
where r is the vector of the K−L+1 samples r[k]  702 , as in equations 1 and 2, which are received at the reader  102  during the reception of the preamble  210  of the first data packet  110 , h 1  and h 2  are the channel vectors of length L+1 for the first data packet  110  and the second data packet  112  respectively, and n is the noise vector. The matrix C v  follows from the frequency-offset estimate v  506  as:
 
               C   v     =     [         1       0       …       0           0         ⅇ     j2π   ⁢           ⁢   vT           ⋱       0           ⋮       ⋱       ⋱       ⋮           0       0       …         ⅇ     j2π   ⁢           ⁢   vTK             ]           
and the matrix B 1  is given by:
 
               B   1     =     [             b   1     [   K   }             b   1     ⁡     [     K   -   1     ]           …           b   1     ⁡     [     K   -   L     ]               ⋮                   ⋱       ⋮               b   1     ⁡     [     L   +   1     ]               b   1     ⁡     [   L   ]           ⋱           b   1     ⁡     [   1   ]                   b   1     ⁡     [   L   ]               b   1     ⁡     [     L   -   1     ]           …           b   1     ⁡     [   0   ]             ]           
and B 2  is of the same structure as B 1  but with the elements b 2 [k] being set to zero for k&lt;k d . b 1 [k] and b 2 [k] are the preamble symbols for the first data packet  110  and the second data packet  112 , respectively. The joint channel estimator  700  may estimate the vectors h 1  and h 2  by utilizing a least-squares estimation. The estimate of the first channel ĥ 1    701  is used for the rest of the detection process.
 
       FIG. 8  illustrates an example for performing the channel estimation  312  for the second packet  112 . The vector r of the K−L+1 samples r[k]  800  as in equation 2, which is received at the reader  102  during the reception of the preamble  220  of the second packet  112  may be represented as: 
               r   =         [       H   1     ⁢           ⁢     B   2       ]     ⁡     [           b   1               h   2           ]       +   n       ,         
where b 1  is the vector of K−L+1 data symbols of the first data packet  110 , h 2  is the channel vector of length L+1 for the second data packet  112 , n is the noise vector, the matrix:
 
               B   2     =       [         1       0       …       0           0         ⅇ     j2π   ⁢           ⁢   v           ⋱       0           ⋮       ⋱       ⋱       ⋮           0       0       …         ⅇ     j2π   ⁢           ⁢   vK             ]     ⁡     [             b   2     [   K   }             b   2     ⁡     [     K   -   1     ]           …           b   2     ⁡     [     K   -   L     ]               ⋮                   ⋱       ⋮               b   2     ⁡     [     L   +   1     ]               b   2     ⁡     [   L   ]           ⋱           b   2     ⁡     [   1   ]                   b   2     ⁡     [   L   ]               b   2     ⁡     [     L   -   1     ]           …           b   2     ⁡     [   0   ]             ]             
includes K+1 known preamble symbols from the second packet and the estimated frequency offset v  506 , and the matrix:
 
               H   1     =     [               h   ^     1     ⁡     [   0   ]           …             h   ^     1     ⁡     [   L   ]           0       …       0           0             h   ^     1     ⁡     [   0   ]           …             h   ^     1     ⁡     [   L   ]           …       0           ⋮       ⋱       ⋱       ⋱       ⋱       0           0       …       0             h   ^     1     ⁡     [   0   ]           …             h   ^     1     ⁡     [   L   ]             ]           
is constructed from the estimated channel coefficients ĥ 1    701 . The above model may be turned into an equivalent model:
 
                 r   IQ     =         [       H     1   ,   IQ       ⁢           ⁢     B     2   ,   IQ         ]     ⁡     [           b   1               h     2   ,   IQ             ]       +     n   IQ         ,         
where r IQ , h 2,IQ  n IQ , H 1,IQ  are constructed by expanding each complex element in the vectors r,h 2 ,n and the matrix H 1  into a stacked vector of the real and imaginary components. The matrix B 2,IQ  constructed from the matrix B 2  by taking each complex entry x and expanding it to
 
     
       
         
           
             
               ⌊ 
               
                 
                   
                     
                       Re 
                       ⁡ 
                       
                         ( 
                         x 
                         ) 
                       
                     
                   
                   
                     
                       - 
                       
                         Im 
                         ⁡ 
                         
                           ( 
                           x 
                           ) 
                         
                       
                     
                   
                 
                 
                   
                     
                       Im 
                       ⁡ 
                       
                         ( 
                         x 
                         ) 
                       
                     
                   
                   
                     
                       Re 
                       ⁡ 
                       
                         ( 
                         x 
                         ) 
                       
                     
                   
                 
               
               ⌋ 
             
             . 
           
         
       
     
     This model allows for widely linear (WL) estimation. Based on this model, an initial data estimator  801  generates an initial estimate {circumflex over (b)} 1    802  of b 1  using, for example, a least-squares estimation: 
                 [             b   ^     1                 h   ^       2   ,   IQ             ]     =         [       H     1   ,   IQ       ⁢           ⁢     B     2   ,   IQ         ]       -   1       ⁢     r   IQ         ,         
where  −1  denotes pseudo-inverse of a matrix. The slicer  803 , with the switch  803   a  in position 1, quantizes the elements of {circumflex over (b)} 1  to the nearest symbol of the signal constellation giving the vector b 1,sliced , and generates the vector r IQ,res    804  of residual observations:
 
 r   IQ,res   =r   IQ   −H   1,IQ   b   1,sliced .
 
     Using the residual observation, improved channel estimation can be achieved. For example, a classical least-squares estimation can be applied. The example illustrated in  FIG. 8  uses a parametric estimator  805  that utilizes channel coefficients that are determined through the pulse shape of the RFID signal. This leads to a least-squares estimation problem with constrained phase and the improved channel estimate ĥ 2 [k]  806 . This estimate is used for an improved data symbol estimate  802  {circumflex over (b)} 1 =H 1   −1 (r−B 2 ĥ 2 ) generated in the data estimator  807 , which is returned to the slicer  803  (switch  803   a  is in position 2). This iterative process is repeated until a stopping condition is reached, such as, for example, that no changes in the data estimate {circumflex over (b)} 1  occur between iterations. 
       FIG. 9  illustrates the details of how the data detector  408  performs the WL multi-user detection (at  316  in  FIG. 3 ), for the data symbols of the first and second data packets  110 ,  112  that overlap in time. During the overlap of the data symbols, the sampled received signal r[k]  900  as in equation 2 can be written as: 
     
       
         
           
             
               r 
               ⁡ 
               
                 [ 
                 k 
                 ] 
               
             
             = 
             
               
                 
                   ∑ 
                   
                     i 
                     = 
                     0 
                   
                   L 
                 
                 ⁢ 
                 
                     
                 
                 ⁢ 
                 
                   
                     [ 
                     
                       
                         
                           h 
                           1 
                         
                         ⁡ 
                         
                           [ 
                           i 
                           ] 
                         
                       
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         ⅇ 
                         
                           j2π 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           vkT 
                         
                       
                       ⁢ 
                       
                         
                           h 
                           2 
                         
                         ⁡ 
                         
                           [ 
                           i 
                           ] 
                         
                       
                     
                     ] 
                   
                   ⁢ 
                   
                     ⌊ 
                     
                       
                         
                           
                             
                               b 
                               1 
                             
                             ⁡ 
                             
                               [ 
                               
                                 k 
                                 - 
                                 i 
                               
                               ] 
                             
                           
                         
                       
                       
                         
                           
                             
                               b 
                               2 
                             
                             ⁡ 
                             
                               [ 
                               
                                 k 
                                 - 
                                 i 
                               
                               ] 
                             
                           
                         
                       
                     
                     ⌋ 
                   
                 
               
               + 
               
                 
                   n 
                   ⁡ 
                   
                     [ 
                     k 
                     ] 
                   
                 
                 . 
               
             
           
         
       
     
     The IQ-formatter  901  shown in  FIG. 9  organizes the received samples into r IQ [k]=[Re(r[k]) Im(r[k])] T    902 , in which the signal model becomes: 
                   r   IQ     ⁡     [   k   ]       =         ∑     i   =   0     L     ⁢           ⁢         H     IQ   ,   k       ⁡     [   i   ]       ⁢     b   ⁡     [     k   -   1     ]           +       n   IQ     ⁡     [   k   ]           ,         
where n IQ [k]=[Re(n[k]) Im(n[k])] T , b[k]=[b 1 [k] b 2 [k]] T , and:
 
     
       
         
           
             
               
                 H 
                 
                   IQ 
                   , 
                   k 
                 
               
               ⁡ 
               
                 [ 
                 ⅈ 
                 ] 
               
             
             = 
             
               
                 ⌊ 
                 
                   
                     
                       
                         Re 
                         ⁡ 
                         
                           ( 
                           
                             
                               h 
                               1 
                             
                             ⁡ 
                             
                               [ 
                               ⅈ 
                               ] 
                             
                           
                           ) 
                         
                       
                     
                     
                       
                         Re 
                         ⁡ 
                         
                           ( 
                           
                             
                               ⅇ 
                               
                                 j2π 
                                 ⁢ 
                                 
                                     
                                 
                                 ⁢ 
                                 vkT 
                               
                             
                             ⁢ 
                             
                               
                                 h 
                                 2 
                               
                               ⁡ 
                               
                                 [ 
                                 ⅈ 
                                 ] 
                               
                             
                           
                           ) 
                         
                       
                     
                   
                   
                     
                       
                         Im 
                         ⁡ 
                         
                           ( 
                           
                             
                               h 
                               1 
                             
                             ⁡ 
                             
                               [ 
                               ⅈ 
                               ] 
                             
                           
                           ) 
                         
                       
                     
                     
                       
                         Im 
                         ⁡ 
                         
                           ( 
                           
                             
                               ⅇ 
                               
                                 j2π 
                                 ⁢ 
                                 
                                     
                                 
                                 ⁢ 
                                 vkT 
                               
                             
                             ⁢ 
                             
                               
                                 h 
                                 2 
                               
                               ⁡ 
                               
                                 [ 
                                 ⅈ 
                                 ] 
                               
                             
                           
                           ) 
                         
                       
                     
                   
                 
                 ⌋ 
               
               . 
             
           
         
       
     
     The filter calculator  903  determines the filter coefficients for processing r IQ [k]  902 . In an embodiment, a filter and decision device  905  uses linear filtering according to the minimum mean-square error (MMSE) criterion. In this case, the filter calculator determines the coefficients w p =[w[0], . . . , w[2N−1]] T    904  for data from tags p=1,2 according to:
 
 w   p =( H   IQ,k   H   IQ,k   T +Σ) −1   h   IQ,k     p   ,
 
where h IQ,k     p    is the (2k p +p)th column of H IQ,k , Σ is the noise covariance matrix, which is determined by the RFID signaling format, k p  is the chosen decision delay,
 
               H     IQ   ,   k       =     [               H   ^       IQ   ,   k       ⁡     [   0   ]           …             H   ^       IQ   ,   k       ⁡     [   L   ]           0       …       0           0             H   ^       IQ   ,     k   -   1         ⁡     [   0   ]           …             H   ^       IQ   ,     k   -   1         ⁡     [   L   ]           …       0           ⋮       ⋱       ⋱       ⋱       ⋱       0           0       …       0             H   ^       IQ   ,     k   -   N   +   1         ⁡     [   0   ]           …             H   ^       IQ   ,     k   -   N   +   1         ⁡     [   L   ]             ]               and                   H   ^       IQ   ,   k       ⁡     [   ⅈ   ]       =     [           Re   ⁡     (         h   ^     1     ⁡     [   ⅈ   ]       )             Re   ⁡     (       ⅇ     j2π   ⁢           ⁢   vkT       ⁢         h   ^     2     ⁡     [   ⅈ   ]         )                 Im   ⁡     (         h   ^     1     ⁡     [   ⅈ   ]       )             Im   ⁡     (       ⅇ     j2π   ⁢           ⁢   vkT       ⁢         h   ^     2     ⁡     [   ⅈ   ]         )             ]           
uses the estimated channels ĥ 1 [k]  701  and ĥ 2  [k]  806  and frequency offset v  506 . The parameter N trades off performance and computational complexity. In the embodiment using a linear MMSE filter, filter and decision unit  905  performs the filter operation
 
 {circumflex over (b)}   p   [k] =sign( w   p   T   r   IQ ), p= 1,2,
 
     where r IQ =[r IQ   T [k]e IQ   T [k−1], . . . , r IQ   T [k−N+1]] T  and sign( ) is a function that returns the sign of the real variable within the brackets and outputs the data estimates {circumflex over (b)} 1 [k], {circumflex over (b)} 2 [k]  906 . 
     Alternatively, the filter calculator  903  and the filter and decision unit  905  use decision-feedback (also known as successive interference cancellation) or maximum-likelihood detection. Alternatively, the filter calculator  903  uses an adaptive algorithm such as for example the Least Mean Squares (LMS) algorithm to compute the filter coefficients. Alternatively, the filter calculator  903  uses a recursive method to compute the filter coefficients. 
       FIG. 10  shows the outage rate for an idealized scenario where all collisions of packets from two tags can be resolved, which is an upper bound for the performance achievable with the disclosed invention, as well as the outage rate for a conventional receiver and for an RFID protocol suggested during standardization in the TG IEEE 802.15.4f, where an outage means that packets cannot be detected, versus the number of tags in an RFID system.  FIG. 10  illustrates the potential performance gain assuming we can detect data from two colliding tags, as enabled by the disclosed invention. The system setup assumes that tags transmit their ID packet of length  600  micro-seconds uniformly randomly in an interval of 10 seconds. The curve  1002  corresponds to data detection in the case of collisions of packets from two tags and is labeled with M=1, K=2. Curve  1004  shows results for conventional detection (state of the art) and is labeled with M=1, K=1. Curve  1006  shows results for another transmission format that was proposed during standardization in the TG IEEE 802.15.4f, the so-called Double-P-Aloha, in which each tag transmits its packets three times (labeled with M=3, K=1). The lines and star markers for each of the curves  1002 ,  1004 , and  1006  are analytical approximations of the outage probabilities, and the circle markers are simulated results. The improvement that can be achieved by jointly detecting colliding packets is apparent, and this improvement means that tag density can be increased while keeping the same reliability of registration, or the time it takes to register all tags can be reduced. 
       FIG. 11  shows simulated packet error rates (PERs) for an embodiment of the invention as described in which two tags send their packets randomly and suffer from different collision rates, as indicated in the third column from the left. The packets from the two tags are received at the reader with different powers, which is reflected in the signal-to-interference power ratio (SIR) shown in the second column from the left. The fourth to sixth columns from the left show the PERs for the packets from the two tags, individually and averaged, when using conventional detection at the reader. The seventh to ninth columns show the corresponding results when WL multi-user detection is used as disclosed above. The results confirm that the disclosed WL multi-user detection achieves significant improvements in PER compared to conventional detectors. In the simulated detector (applying linear MMSE filtering for WL multi-user detection), not all packet collisions could be resolved. Using successive interference cancellation would achieve further improvements. 
     The present disclosure may be embodied in other specific forms without departing from its spirit or essential characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive. The scope of the present disclosure is, therefore, indicated by the appended claims rather than by the foregoing description. All changes that come within the meaning and range of equivalency of the claims are to be embraced within their scope.