Abstract:
A method and apparatus for multi-user detection is disclosed. A signal is received in a shared spectrum, and samples of the received signals are produced as a received vector. The received vector is segmented into vector segments. Each segment has a portion that overlaps with another segment and the overlapping portion includes at least one chip less than twice a channel impulse response length. For each vector segment, symbols are successively determined for communications by determining symbols for a communication in the communications, ordering the communications by received power and removing a contribution of the communication from the vector segment. The determining of symbols includes equalizing an input vector corresponding to a segment of the received vector using fast Fourier transform. The determined symbols are assembled into a data vector for each communication in the communications.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application is a continuation of U.S. patent application Ser. No. 13/588,023, filed Aug. 17, 2012, which is a continuation of U.S. patent application Ser. No. 12/547,028, filed Aug. 25, 2009, now U.S. Pat. No. 8,249,191 issued Aug. 21, 2012, which is a continuation of U.S. patent application Ser. No. 12/049,806, filed Mar. 17, 2008, now U.S. Pat. No. 7,593,461 issued Sep. 22, 2009, which is a continuation of U.S. patent application Ser. No. 10/748,544, filed Dec. 30, 2003, now U.S. Pat. No. 7,346,103 issued Mar. 18, 2008, which claims priority from U.S. Provisional Patent Application No. 60/451,591, filed Mar. 3, 2003, which are all incorporated by reference as if fully set forth herein. 
     
    
     FIELD OF INVENTION 
       [0002]    The invention generally relates to wireless communication systems. In particular, the invention relates to detection of multiple user signals in a wireless communication system. 
       BACKGROUND 
       [0003]    A typical wireless communication system includes base stations which communicate with wireless transmit/receive units (WTRUs). Each base station has an associated operational area where it communicates with WTRUs which are in its operational area. In some communication systems, such as code division multiple access (CDMA), multiple communications are sent over the same frequency spectrum. These communications are typically differentiated by their codes. 
         [0004]    Since multiple communications may be sent in the same frequency spectrum and at the same time, a receiver in such a system must distinguish between the multiple communications. One approach to detecting such signals is matched filtering. In matched filtering, a communication sent with a single code is detected. Other communications are treated as interference. To detect multiple codes, a respective number of matched filters are used. These signal detectors have a low complexity, but can suffer from multiple access interference (MAI) and inter-symbol interference (ISI). 
         [0005]    Other signal detectors attempt to cancel the interference from other users and the ISI, such as parallel interference cancellers (PICS) and successive interference cancellers (SICs). These receivers tend to have better performance at the cost of increased complexity. Other signal detectors detect multiple communications jointly, which is referred to as joint detection. Some joint detectors use Cholesky decomposition to perform a minimum mean square error (MMSE) detection and zero-forcing block equalizers (ZF-BLEs). These detectors tend to have improved performance but high complexities. 
         [0006]    Accordingly, it is desirable to have alternate approaches to multi-user detection. 
       SUMMARY 
       [0007]    A method and apparatus for multi-user detection is disclosed. A signal is received in a shared spectrum, and samples of the received signals are produced as a received vector. The received vector is segmented into vector segments. Each segment has a portion that overlaps with another segment and the overlapping portion includes at least one chip less than twice a channel impulse response length. For each vector segment, symbols are successively determined for communications by determining symbols for a communication in the communications, ordering the communications by received power and removing a contribution of the communication from the vector segment. The determining of symbols includes equalizing an input vector corresponding to a segment of the received vector using fast Fourier transform. The determined symbols are assembled into a data vector for each communication in the communications. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0008]      FIG. 1  is a simplified diagram of an equalization successive interference canceller (EQ-SIC) receiver. 
           [0009]      FIG. 2  is an illustration of a preferred segmentation of a received vector r. 
           [0010]      FIG. 3  is a simplified diagram of an EQ-SIC device. 
           [0011]      FIG. 4  is a flow chart for an EQ-SIC receiver. 
       
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
       [0012]    The preferred implementation of the preferred embodiments is in a frequency division duplex (FDD) mode of the third generation partnership project (3GPP) wideband code division multiple access (W-CDMA) communication system. However, the preferred embodiments can be applied to a variety of wireless communication systems. 
         [0013]    The preferred embodiments can be utilized at a wireless transmit/receive unit (WTRU) or a base station. A WTRU includes but is not limited to a user equipment, mobile station, fixed or mobile subscriber unit, pager, or any other type of device capable of operating in a wireless environment. A “base station” includes, but is not limited to, a base station, Node B, site controller, access point or other interfacing device in a wireless environment. Additionally, the preferred embodiments can be applied to WTRUs communicating with each other. 
         [0014]      FIG. 1  is a simplified diagram of a preferred equalization/successive interference cancellation (EQ-SIC) receiver. Preferably, most of the components shown in  FIG. 1 , excluding the antenna 20, are implemented as a single integrated circuit. Alternately, the individual components can be discrete components or a mixture of integrated circuit(s) and/or discrete components. 
         [0015]    Multiple communications are received by an antenna 20 or antenna array of the receiver. A sampling device 22, such as a single or multiple analog to digital converters (ADCs), samples the received signal to produce a received vector, r. 
         [0016]    The received vector is processed by a segmentation device 24 to produce segments, r 1  . . . r n  of the received vector r.  FIG. 2  is an illustration of a preferred segmentation scheme, although others may be used. As illustrated in  FIG. 2 , the received vector r is separated into a plurality of segments, r 1  . . . r n , (only segments r 1 , r 2 , r 3 , r 4 , r 5 , r 6 , r 7 , r 8  and r 9  shown). Preferably, the segments overlap as shown. The amount of the overlap is preferably twice the length the impulse response less one chip, 2*(W−1). W is the maximum length of the channel impulse response, over all channels of all users. This overlap facilitates the equalization of all chips, even though segments have finite length. For a given segment, all of the chips contributing to the portion of interest for that segment are equalized. To illustrate, the portion of interest of r 2  is bounded by the dashed lines. The last chip in that portion will extend into the next segment by W−1 chips. Conversely, the chip furthest prior to the first chip in the region of interest extending into that region is W−1 chips prior to the first chip. Accordingly, all chips contributing to the portion of interest and not in that portion can be equalized, effectively removing their contribution from the portion of interest. 
         [0017]    Although the overlap is shown as being roughly twice the impulse response, larger overlaps may be used. The larger overlaps may be useful based on the exact receiver implementations. In one embodiment, the EQ-SIC device may use a prime factor algorithm (PFA) fast Fourier transform (FFT) based implementation. The overlap may be extended to reach a desired optimal PFA or FFT length. In other implementations, the optimal non-overlap portions may vary based on the signals being processed. To illustrate, in the time division duplex (TDD) mode of 3GPP W-CDMA, based on the burst type, the length of the data field may vary. As a result, the optimum segment length for one burst may not be optimum for another burst. To utilize one uniform hardware configuration a set size for a segment may be implemented. Different overlaps may be used to facilitate the different burst lengths. 
         [0018]    A channel estimation device  26  estimates the channel response for each of the received user signals. Typically, the channel response is estimated using a reference signal, such as a pilot code or a midamble sequence, although other techniques may be used. The estimated channel responses are represented in  FIG. 1  as a channel response matrix H. 
         [0019]      FIG. 3  is an illustration of a preferred EQ-SIC device  28  applied to a received vector segment r i . EQ-SIC device  28  includes equalizers  34   1 ,  34   2 , . . . ,  34   K  for equalizing vector segments r i , x i1 , . . . x iK−1  configured to produce spread data vectors s i1 , s i2 , . . . , s iK , respectively. EQ-SIC device  28  also includes despreaders  36   1 ,  36   2 , . . . ,  36   K  for despreading the spread data vectors s i1 , s i2 , . . . , s iK , configured to produce soft symbols and hard decision devices  38   1 ,  38   2 , . . . ,  38   K  configured to produce hard symbols vectors d i1 , d i2 , . . . , d iK  from the respective soft symbols. EQ-SIC device  28  also includes interference construction devices  40   1 ,  40   2 , . . . for determining respective user contributions r i1 , r i2  . . . in each corresponding spread data vector s i1 , s i2 , . . . and subtractors  42   1 ,  42   2  . . . for subtracting respective user contributions r i1 , r i2  . . . from respective corresponding vector segments r i , x i1  . . . In one implementation, all of the user signals are ranked, such as by their received power. For the user having the highest received power, the received vector segment r i  is equalized by an equalizer  34   1  using the channel response associated with that user (user  1 ), producing a spread data vector s i1 . The codes used by that user signal are used to produce soft symbols of that user data by a despreader  36   1 . Hard decisions are performed on that user&#39;s soft symbols by a hard decision device  38   1  to produce a hard symbol vector, d i1 . Using the detected hard symbols, the contribution of user  1  to the spread data vector is determined, r i1 , by interference construction device  40   1 . The user  1  contribution is subtracted from the segment by a subtractor  42   1  producing a new segment x i1  having user  1 &#39;s contribution removed. Similar processing is performed on a second user (user  2 ) having a second highest received power level. User  2 &#39;s hard symbols, d i2 , are detected using an equalizer  34   2 , producing spread data vector s i2 , despreader  36   2  and hard decision device  38   2 . The contribution of user  2  to x i1 , r i2 , is removed using an interference construction device  40   2  and a subtractor  42   2 . This procedure is repeated K−1 times to produce segment x iK−1  which is vector r i  with the contributions of K−1 users removed. For the K th  user, only the hard symbols d iK  are determined using an equalizer  34   K , producing spread data vector s iK , despreader  36   K  and hard decision device  38   K . 
         [0020]    If the EQ-SIC receiver is used at a base station, typically, the hard symbols from all of the users signals are recovered. However, at a WTRU, the WTRU EQ-SIC receiver may only have one user&#39;s signal of interest. As a result, the successive processing of each user can be stopped after the hard symbols of that user of interest&#39;s signals are recovered. 
         [0021]    Although the previous description detected each user&#39;s signals separately, multiple users signals may be recovered jointly. In such an implementation, the users would be grouped by received signal power. The successive processing would be performed on each group, in turn. To illustrate, the first group&#39;s data would be detected and subsequently canceled from the received segment, followed by the second group. 
         [0022]    After the data for each user in a segment is detected, the data vector, such as d i , is stored by a segment storage device  30 . To reduce the storage size, preferably, the segment is truncated to remove portions not of interest, only leaving the portion of the segment of interest. A segment reassembly device  32  produces a data vector, d, having the data from all the segments, typically by serially combining the data for each user for each segment. To illustrate, the data from user  1  for segment  1 , d 11 , is serially combined with the data from user  1  for segment  2 , d 12 . 
         [0023]      FIG. 4  is a flow chart for an EQ-SIC receiver. Initially, a received vector r is produced, step  50 . A channel estimation is performed for all the users, step  52 . The received vector is segmented, r 1  . . . r n , step  54 . Each segment is processed, step  56 . For an i th  segment, a user having the highest received power is determined, step  58 . The received vector is equalized for that user, step  60 . The resulting spread vector is despread using that user&#39;s code, step  62 . Hard decisions are performed on the despread data, step  64 . The contribution of that user to the received vector is determined, step  66 . That user&#39;s contribution is subtracted from the received vector, step  68 . The next highest received power user is processed by repeating steps  60 - 68 , using the subtracted received vector as the received vector in those steps, step  70 . Store the results for that segment and repeat steps  58 - 70  for each remaining segment, step  72 . Assemble the stored segments into the data vector d, step  74 . The rate at which channel estimates are made or updated can vary between different implementations, as the rate of updated depends on the time varying nature of the wireless channels. 
         [0024]    Preferably, the equalization for each stage of the EQ-SIC device  28  is implemented using FFT, although other implementations may be used. One potential implementation is as follows. Each received segment can be viewed as a signal model per Equation 1. 
         [0000]        r   i   =H   s   +n   Equation 1
 
         [0000]    H is the channel response matrix. n is the noise vector. s is the spread data vector, which is the convolution of the spreading codes, C, for the user or group and the data vector, d, for the user or group, as per Equation 2. 
         [0000]      s=Cd  Equation 2
 
         [0025]    Two approaches to solve Equation 3 use an equalization stage followed by a despreading stage. Each received vector segment, r i , is equalized, step  54 . One equalization approach uses a minimum mean square error (MMSE) solution. The MMSE solution for each extended segment is per Equation 4A. 
         [0000]        ŝ   i =( H   s   H   H   s +σ 2   I   s ) −1   H   s   H   r   i   Equation 4A
 
         [0000]    σ 2  is the noise variance and I s  is the identity matrix for the extended matrix. ( • ) H  is the complex conjugate transpose operation or Hermetian operation. The zero forcing (ZF) solution is per Equation 4B 
         [0000]        ŝ   i =( H   s   H   H   s ) −1   H   s   H   r   i   Equation 4B
 
         [0000]    Alternately, Equations 4A or 4B is written as Equation 5. 
         [0000]      ŝ i =R s   −1 H s   H r i   Equation 5
 
         [0000]    R s  is defined per Equation 6A corresponding to MMSE. 
         [0000]        R   s   =H   s   H   H   s +σ 2   I   s   Equation 6A
 
       Alternately, R s  for ZF is per Equation 6B. 
       [0026]      R s =H s   H H s   Equation 6B
 
         [0027]    One preferred approach to solve Equation 5 is by a fast Fourier transform (FFT) as per Equations 7 and 8, an alternate approach to solve Equation 5 is by Cholesky decomposition. 
         [0000]        R   s   =D   z   −1   ΛD   z =(1/ P ) D   z   *ΛD   z   Equation 7
 
         [0000]        R   s   −1   =D   z   −1 Λ −1   D   z =(1/ P ) D   z   *Λ*D   z   Equation 8
 
         [0000]    D z  is the Z-point FFT matrix and Λ is the diagonal matrix, which has diagonals that are an FFT of the first column of a circulant approximation of the R s  matrix. The circulant approximation can be performed using any column of the R s  matrix. Preferably, a full column, having the most number of elements, is used. 
         [0028]    In the frequency domain, the FFT solution is per Equation 9. 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       F 
                        
                       
                         ( 
                         
                           
                             s 
                             ^ 
                           
                           _ 
                         
                         ) 
                       
                     
                     = 
                     
                       
                         
                           
                             
                               ∑ 
                               
                                 m 
                                 = 
                                 1 
                               
                               M 
                             
                              
                             
                               
                                 
                                   F 
                                    
                                   
                                     ( 
                                     
                                       
                                         h 
                                         _ 
                                       
                                       m 
                                     
                                     ) 
                                   
                                 
                                 * 
                               
                               ⊗ 
                               
                                 F 
                                  
                                 
                                   ( 
                                   
                                     
                                       r 
                                       _ 
                                     
                                     m 
                                   
                                   ) 
                                 
                               
                             
                           
                           
                             F 
                              
                             
                               ( 
                               
                                 q 
                                 _ 
                               
                               ) 
                             
                           
                         
                          
                         
                             
                         
                          
                         where 
                          
                         
                             
                         
                          
                         
                           F 
                            
                           
                             ( 
                             
                               x 
                               _ 
                             
                             ) 
                           
                         
                       
                       = 
                       
                         
                           ∑ 
                           
                             n 
                             = 
                             0 
                           
                           
                             P 
                             - 
                             1 
                           
                         
                          
                         
                           
                             x 
                              
                             
                               ( 
                               n 
                               ) 
                             
                           
                            
                           
                              
                             
                               
                                 - 
                                 j 
                               
                                
                               
                                   
                               
                                
                               
                                 
                                   2 
                                    
                                   π 
                                    
                                   
                                       
                                   
                                    
                                   kn 
                                 
                                 N 
                               
                             
                           
                         
                       
                     
                   
                   , 
                   
                     
                       where 
                        
                       
                           
                       
                        
                       k 
                     
                     = 
                     0 
                   
                   , 
                   1 
                   , 
                   … 
                    
                   
                       
                   
                   , 
                   
                     P 
                     - 
                     1 
                   
                 
               
               
                 
                   Equation 
                    
                   
                       
                   
                    
                   9 
                 
               
             
           
         
       
     
         [0000]               is the kronecker product. M is the sampling rate. M=1 is chip rate sampling and M=2 is twice the chip rate sampling. 
         [0029]    After the Fourier transform of the spread data vector, F(ŝ), is determined, the spread data vector ŝ is determined by taking an inverse Fourier transform.