# Patent

## Title
Multi-user detection using equalization and successive interference cancellation

## Abstract

A method and apparatus for multi-user detection using equalization and successive interference cancellation is provided. A signal is received in a shared spectrum. Samples of the received signal are produced as a received vector. The received vector is segmented into a plurality of vector segments. For each segment, symbols for a plurality of communications are successively determined by determining symbols for a communication and removing a contribution of that communication from the vector segment. The determined symbols are assembled into a data vector for each communication.

## Background
CROSS REFERENCE TO RELATED APPLICATION(S)
This application is a continuation of U.S. patent application Ser. No. 12/049,806, filed Mar. 17, 2008, 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 in turn claims priority from U.S. Provisional Application No. 60/451,591, filed Mar. 3, 2003, which is incorporated by reference as if fully set forth.


FIELD OF INVENTION
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
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.
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).
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.
Accordingly, it is desirable to have alternate approaches to multi-user detection.
SUMMARY
A plurality of signals are received in a shared spectrum. Samples of the received user signals are produced as a received vector. The received vector is segmented into a plurality of segments. For each segment, successively determining symbols for each user or group of signals (the group of signals having the same channel response) by determining symbols for one user/group and removing a contribution of that one user/group from the received vector. The symbols for each user/group are determined, such as by channel equalization followed by despreading. The determined symbols corresponding to each segment are assembled into a data vector.



BRIEF DESCRIPTION OF THE DRAWING(S)
FIG. 1 is a simplified diagram of a equalization successive interference canceller (EQ-SIC) receiver.
FIG. 2 is an illustration of a preferred segmentation of a received vector r.
FIG. 3 is a simplified diagram of an EQ-SIC device.
FIG. 4 is a flow chart for an EQ-SIC receiver.



DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT(S)
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.
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.
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.
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.
The received vector is processed by a segmentation device 24 to produce segments, r1 . . . rn 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, r1 . . . rn, (only segments r1, r2, r3, r4, r5, r6, r7, r8 and r9 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 r2 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.
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.
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.
FIG. 3 is an illustration of a preferred EQ-SIC device 28 applied to a received vector segment ri. EQ-SIC device 28 includes equalizers 341, 342, . . . , 34K for equalizing vector segments ri, xi1, . . . xiK−1 configured to produce spread data vectors si1, si2, . . . , siK, respectively. EQ-SIC device 28 also includes despreaders 361, 362, . . . , 36K for despreading the spread data vectors si1, si2, . . . , siK, configured to produce soft symbols and hard decision devices 381, 382, . . . , 38K configured to produce hard symbols vectors di1, di2, . . . , diK from the respective soft symbols. EQ-SIC device 28 also includes interference construction devices 401, 402, . . . for determining respective user contributions ri1, ri2 . . . in each corresponding spread data vector si1, si2, . . . and subtractors 421, 422 . . . for subtracting respective user contributions ri1, ri2 . . . from respective corresponding vector segments ri, xi1 . . . . 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 ri is equalized by a equalizer 341 using the channel response associated with that user (user 1), producing a spread data vector si1. The codes used by that user signal are used to produce soft symbols of that user data by a despreader 361. Hard decisions are performed on that user's soft symbols by a hard decision device 381 to produce a hard symbol vector, di1. Using the detected hard symbols, the contribution of user 1 to the spread data vector is determined, ri1, by interference construction device 401. The user 1 contribution is subtracted from the segment by a subtractor 421 producing a new segment xi1 having user 1's contribution removed. Similar processing is performed on a second user (user 2) having a second highest received power level. User 2's hard symbols, di2, are detected using an equalizer 342, producing spread data vector si2, despreader 362 and hard decision device 382. The contribution of user 2 to xi1, ri2, is removed using an interference construction device 402 and a subtractor 422. This procedure is repeated K−1 times to produce segment xiK−1 which is vector ri with the contributions of K−1 users removed. For the Kth user, only the hard symbols diK are determined using an equalizer 34K, producing spread data vector siK, despreader 36K and hard decision device 38K.
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'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's signals are recovered.
Although the previous description detected each user'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 groups data would be detected and subsequently canceled from the received segment, followed by the second group.
After the data for each user in a segment is detected, the data vector, such as di, 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, d11, is serially combined with the data from user 1 for segment 2, d12.
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, r1 . . . rn, step 54. Each segment is processed, step 56. For an ith 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'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'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.
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.

ri=Hs+n  Equation 1

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.

s=Cd  Equation 2

Two approaches to solve Equation 3 use an equalization stage followed by a despreading stage. Each received vector segment, ri, 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.

ŝi=(HsHHs+σ2Is)−1HsHri  Equation 4A

σ2 is the noise variance and Is 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

ŝi=(HsHHs)−1HsHri  Equation 4B

Alternately, Equations 4A or 4B is written as Equation 5.

ŝi=Rs−1HsHri  Equation 5

Rs is defined per Equation 6A corresponding to MMSE.

Rs=HsHHs+σ2Is  Equation 6A

Alternately, Rs for ZF is per Equation 6B.

Rs=HsHHs  Equation 6B

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.

Rs=Dz−1ΛDz=(1/P)Dz*ΛDz  Equation 7

Rs−1=Dz−1Λ−1Dz=(1/P)Dz*Λ*Dz  Equation 8

Dz 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 Rs matrix. The circulant approximation can be performed using any column of the Rs matrix. Preferably, a full column, having the most number of elements, is used.

In the frequency domain, the FFT solution is per Equation 9.




  
    
      
        
          
            F
            ⁡
            
              (
              
                
                  s
                  ^
                
                _
              
              )
            
          
          =
          
            
              
                ∑
                
                  m
                  =
                  1
                
                M
              
              ⁢
              
                
                  
                    F
                    ⁡
                    
                      (
                      
                        
                          h
                          _
                        
                        m
                      
                      )
                    
                  
                  *
                
                ⊗
                
                  F
                  ⁡
                  
                    (
                    
                      
                        r
                        _
                      
                      m
                    
                    )
                  
                
              
            
            
              F
              ⁡
              
                (
                
                  q
                  _
                
                )
              
            
          
        
        ⁢
        
          

        
        ⁢
        where
        ⁢
        
          

        
        ⁢
        
          
            
              F
              ⁡
              
                (
                
                  x
                  _
                
                )
              
            
            =
            
              
                ∑
                
                  n
                  =
                  0
                
                
                  P
                  -
                  1
                
              
              ⁢
              
                
                  x
                  ⁡
                  
                    (
                    n
                    )
                  
                
                ⁢
                
                  e
                  
                    
                      -
                      j
                    
                    ⁢
                    
                      
                    
                    ⁢
                    
                      
                        2
                        ⁢
                        π
                        ⁢
                        
                          
                        
                        ⁢
                        k
                        ⁢
                        
                          
                        
                        ⁢
                        n
                      
                      N
                    
                  
                
              
            
          
          ,
          
            

          
          ⁢
          
            
              where
              ⁢
              
                
              
              ⁢
              k
            
            =
            0
          
          ,
          1
          ,
          ...
          ⁢
          
            
          
          ,
          
            P
            -
            1
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        9
      
    
  




 is the kronecker product. M is the sampling rate. M=1 is chip rate sampling and M=2 is twice the chip rate sampling.

After the Fourier transform of the spread data vector, F(ŝ), is determined, the spread data vector ŝ is determined by taking an inverse Fourier transform.

## Claims

1. A method for use in wireless communication, the method comprising:
receiving a signal in a shared spectrum;
producing samples of the received signal as a received vector;
segmenting the received vector into a plurality of vector segments;
for each vector segment, successively determining symbols for a plurality of communications by determining symbols for a communication in the plurality of communications and removing a contribution of the communication from the vector segment; and
assembling the determined symbols into a data vector for each communication in the plurality of communications.

2. The method of claim 1, wherein the successively determining symbols for a plurality of communications includes ordering the communications by received power.

3. The method of claim 1, wherein the determining symbols for a communication includes equalizing the vector segment for the communication, despreading the equalized vector segment, and making a hard decision on the despread equalized vector segment.

4. The method of claim 3, wherein the equalizing the vector segment includes applying a fast Fourier transform to the vector segment.

5. The method of claim 3, wherein the despreading the equalized vector segment includes applying a code associated with the communication to produce a despread equalized vector segment including a plurality of soft symbols.

6. The method of claim 1, wherein the removing a contribution of the communication includes subtracting the determined symbols from the vector segment.

7. The method of claim 1, wherein the successively determining symbols for a plurality of communications includes determining symbols for a communication of interest.

8. A wireless transmit/receive unit (WTRU) comprising:
an antenna configured to receive a signal in a shared spectrum;
a sampling device configured to produce samples of the received signal as a received vector;
a segmentation device configured to segment the received vector into a plurality of vector segments;
an equalization and successive interference canceller configured to successively determine, for each vector segment, symbols for a plurality of communications by determining symbols for a communication in the plurality of communications and removing a contribution of the communication from the vector segment; and
a segment reassembly device configured to assemble the determined symbols into a data vector for each communication in the plurality of communications.

9. The WTRU of claim 8, wherein the equalization and successive interference canceller includes an equalizer configured to equalize the vector segment, a despreader configured to despread the equalized vector segment, and a hard decision device configured to make hard decisions on the despread equalized vector segment.

10. The WTRU of claim 9, wherein the equalizer is configured to equalize the vector segment using a fast Fourier transform.

11. The WTRU of claim 9, wherein the despreader is configured to produce a despread equalized vector segment including a plurality of soft symbols by applying a code associated with the communication to the equalized vector segment.

12. The WTRU of claim 8, wherein the equalization and successive interference canceller is configured to remove a contribution of the communication from the vector segment by subtracting the determined symbols from the vector segment.

13. The WTRU of claim 8, wherein the equalization and successive interference canceller is configured to determine symbols for a communication of interest.

14. A base station comprising:
an antenna configured to receive a signal in a shared spectrum;
a sampling device configured to produce samples of the received signal as a received vector;
a segmentation device configured to segment the received vector into a plurality of vector segments;
an equalization and successive interference canceller configured to successively determine, for each vector segment, symbols for a plurality of communications by determining symbols for a communication in the plurality of communications and removing a contribution of the communication from the vector segment; and
a segment reassembly device configured to assemble the determined symbols into a data vector for each communication in the plurality of communications.

15. The base station of claim 14, wherein the equalization and successive interference canceller includes an equalizer configured to equalize the vector segment, a despreader configured to despread the equalized vector segment, and a hard decision device configured to make hard decisions on the despread equalized vector segment.

16. The base station of claim 15, wherein the equalizer is configured to equalize the vector segment using a fast Fourier transform.

17. The base station of claim 15, wherein the despreader is configured to produce a despread equalized vector segment including a plurality of soft symbols by applying a code associated with the communication to the equalized vector segment.

18. The base station of claim 14, wherein the equalization and successive interference canceller is configured to remove a contribution of the communication from the vector segment by subtracting the determined symbols from the vector segment.

19. The base station of claim 14, wherein the equalization and successive interference canceller is configured to determine symbols for a communication of interest.