Patent Publication Number: US-2012027053-A1

Title: Method and apparatus for reducing multi-user processing in wireless communication systems

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
     This application is a continuation of U.S. patent application Ser. No. 12/574,176, filed Oct. 6, 2009, which issues as U.S. Pat. No. 8,036,181 on Oct. 11, 2011, which is a continuation of U.S. patent application Ser. No. 10/924,442, filed Aug. 24, 2004, which issued as U.S. Pat. No. 7,599,344 on Oct. 6, 2009, which claims the benefit of U.S. Provisional Application Ser. No. 60/577,898, filed Jun. 8, 2004, the contents of which are incorporated by reference herein. 
    
    
     FIELD OF INVENTION 
     The present invention relates to wireless communication systems. More particularly, the present invention relates reduced multi-user processing in wireless communication systems. 
     BACKGROUND 
     In code division multiple access (CDMA) communication systems, multiple communications may be simultaneously sent over a shared frequency spectrum. Each communication is distinguished by the code used to transmit the communication. Data symbols of a communication are spread using chips of the code. The number of chips used to transmit a particular symbol is referred to as the spreading factor. One common spreading factor is sixteen (16), where sixteen chips are used to transmit one symbol. By way of example, typical spreading factors (SF) are 16, 8, 4, 2 and 1 in TDD/CDMA communication systems. 
     In some CDMA communication systems, to better utilize the shared spectrum, the spectrum is time divided into frames having a predetermined number of time slots, such as fifteen time slots. This type of system is referred to as a hybrid CDMA/time division multiple access (TDMA) communication system. One such system, which restricts uplink communications and downlink communications to particular time slots, is a time division duplex communication (TDD) system. 
     One approach to receive the multiple communications transmitted within the shared spectrum is joint detection. In joint detection, the data from the multiple communications is determined together. The joint detector uses the, known or determined, codes of the multiple communications and estimates the data of the multiple communications as soft symbols. Some typical implementations for joint detectors use zero forcing block linear equalizers (ZF-BLE), Cholesky or approximate Cholesky decomposition or fast Fourier transforms. 
     Communications are received by a receiver at a particular spreading factor. The higher spreading factor at which communications are received, the more complicated it is to perform joint detection. It is therefore desirable to provide a method and apparatus to reduce the complexity of performing joint detection in wireless communication systems. 
     SUMMARY 
     The present invention is a method and apparatus for reducing multi-user processing at a receiver in wireless communication systems. Detected codes are grouped according to channel impulse response and a parent code is identified for each group of detected codes. A matrix A is constructed and joint detection is performed using the identified parent codes. Data symbols of the detected codes are obtained from the data symbols of the identified parent codes. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a transmitter and receiver having a reduced chip-level multi-user detection (MUD) processor and a post data converter. 
         FIG. 2  is a block diagram of components within the reduced chip level MUD processor. 
         FIG. 3  is an illustration of a tree structure of orthogonal variable spreading factor (OVSF) codes. 
         FIG. 4  is a flow chart for grouping detected codes according to their channel impulse response and performing joint detection using parent codes having a lower spreading factor for detected codes having the same channel impulse response. 
     
    
    
     DETAILED DESCRIPTION 
     Although the features and elements of the present invention are described in the preferred embodiments in particular combinations, each feature or element can be used alone (without the other features and elements of the preferred embodiments) or in various combinations with or without other features and elements of the present invention. 
     Herein, a wireless transmit/receive unit (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. When referred to herein, a base station includes but is not limited to a Node-B, site controller, access point or any other type of interfacing device in a wireless environment. 
     Referring initially to  FIG. 1 , there is shown a transmitter  20  and a receiver  22 . The transmitter may be located at a WTRU or multiple transmitting circuits  20  may be located at a base station. The receiver may be located at either the WTRU, base station, or both. 
     The receiver  22  includes a reduced chip level multi-user detection (MUD) processor  44  and a post data converter  46 . Generally, the processor  44  groups detected codes according to their channel impulse responses and performs joint detection using the detected codes&#39; parent codes for detected codes having the same channel impulse response (e.g. the codes in a downlink transmission or the codes emanating from the same user in an uplink transmission). Joint detection is performed on individual detected codes themselves where such detected codes have a channel impulse response that is not shared by at least one other detected code (i.e. the detected codes are considered parent codes in this case). The post data converter  46  is configured to convert back data symbols of parent codes to the data symbols of the parent codes&#39; respective originally detected codes. 
     More specifically, referring now to  FIG. 2 , the receiver  22  includes a code detector  32 , code grouper  34 , parent code locator  36 , and multi-user detector (MUD)  44 . When a communication is received at a particular spreading factor, the code detector  32  detects the transmitted codes. Then, the code grouper  34  groups the codes having the same channel impulse responses (i.e. groups the codes of a single user). Typically, a single incoming communication is from a single user and therefore all of the detected codes often have the same channel impulse response resulting in a single group. Of course, there may also be situations where there is a plurality of groups. For each group of detected codes, the parent code locator  36  identifies a parent code. As mentioned above, where a detected code has a unique channel impulse response (i.e. the detected code does not have the same channel impulse response as any other detected code), the detected code is considered the detected code&#39;s respective parent code. 
     Once the parent codes are identified, a matrix A constructor  40  of the MUD  44  constructs a matrix A using the parent codes. Matrix A, which as known to those skilled in the art is a channel/code convolutional matrix, is constructed and provided to a joint detector  42  of the MUD  44 . The joint detector  42  uses matrix A to estimate soft symbols of the spread data. Performing joint detection using the parent codes as opposed to the detected codes results in significantly less complexity at the joint detector  42 . The soft symbols estimated by the joint detector  42  are input to the post data converter  46 , which converts the estimated soft symbols back to the original data symbols of the originally detected codes. 
     Referring now to  FIG. 3 , an orthogonal variable spreading factor (OVSF) code tree  300  is shown. The inventors have recognized that within each level of codes having a particular spreading factor (SF) in an OVSF code tree  300 , there may be groupings of codes based upon a unique higher level code (i.e. a code having a lower SF). As used herein, a group of codes of a given level has a parent code if all codes of the group are based upon the parent code and no other code of the given level is based upon the parent code. 
     To provide an example, assume a communication having four codes with the same channel impulse response is received at a SF of 16. The four codes  302 ,  304 ,  306 ,  308  are detected and grouped together. Then, the detected codes  302 ,  304 ,  306 ,  308  are traced back up the OVSF tree  300  as far as possible to identify a parent code  310  which is a parent to each of the detected codes  302 ,  304 ,  306 ,  308  and only those detected codes  302 ,  304 ,  306 ,  308 . Parent code  310  is the only code in the OVSF code tree  300  that is a parent code to each of the detected codes  302 ,  304 ,  306 ,  308  and only the detected codes  302 ,  304 ,  306 ,  308 . 
     For convenience, the parent code  310  (i.e.  1111 ) is referred to as C and the detected codes  302 ,  304 ,  306 ,  308  therefore are CCCC, CCC′C′, CC′CC′, and CC′C′C, respectively, where C′ is -1-1-1-1. The data symbols corresponding to the detected codes  302 ,  304 ,  306 ,  308  are as follows: 
       CC CC ← - - - → d SF16,1  
 
       CC C′C′ ← - - - → d SF16,2  
 
       CC′CC′ ← - - - → d SF16,3  
 
       CC′C′C ← - - - → d SF16,4  
 
     where d SF16,i , i=1, 2, 3, 4 is the data symbol of the i-th code of the four detected codes  302 ,  304 ,  306 ,  308  respectively. 
     In an OVSF code tree  300 , the number of data symbols associated with a particular code varies depending on the code&#39;s SF. For example, within a 16-chip duration, a code with a SF of 16 can carry one data symbol, a code with a SF of 8 can carry two data symbols, a code with a SF of 4 can carry four data symbols, a code with a SF of 2 can carry eight data symbols, and a code with a SF of 1 can carry 16 data symbols. Further, parent codes can carry the same data symbols as their children codes, but the data symbols carried by a parent code are processed sequentially while the data symbols carried by the parent code&#39;s children codes are processed in parallel. 
     Therefore, in  FIG. 3 , parent code  310  includes information necessary to decode data symbols of detected codes  302 ,  304 ,  306 ,  308 . The first data symbol of parent code  310  includes information for decoding the data symbol carried by the first four bits of detected codes  302 ,  304 ,  306 ,  308 . The second data symbol of parent code  310  includes information for decoding the data symbol carried by the second four bits of detected codes  302 ,  304 ,  306 ,  308 . The third data symbol of parent code  310  includes information for decoding the data symbol carried by the third four bits of detected codes  302 ,  304 ,  306 ,  308 . The fourth data symbol of parent code  310  includes information for decoding the data symbol carried by the fourth four bits of detected codes  302 ,  304 ,  306 ,  308 . The relationship between the data symbols of the parent code  310  and the data symbols of the detected codes  302 ,  304 ,  306 ,  308  may be expressed as follows: 
     
       
      
       d 
       1 
       SF4 
       =d 
       SF16,1 
       +d 
       SF16,2 
       +d 
       SF16,3 
       +d 
       SF16,4  
      
     
     
       
      
       d 
       2 
       SF4 
       =d 
       SF16,1 
       +d 
       SF16,2 
       −d 
       SF16,3 
       −d 
       SF16,4  
      
     
     
       
      
       d 
       3 
       SF4 
       =d 
       SF16,1 
       −d 
       SF16,2 
       +d 
       SF16,3 
       −d 
       SF16,4  
      
     
     
       
      
       d 
       4 
       SF4 
       =d 
       SF16,1 
       −d 
       SF16,2 
       −d 
       SF16,3 
       +d 
       SF16,4  
      
     
     where d i   SF4 , i=1, 2, 3, 4 are the four data symbols of the parent code  310 . As explained above, the total number of data symbols carried by parent code  310  and detected codes  302 ,  304 ,  306 , and  308  are the same, but the data symbols of parent code  310  are processed sequentially while the data symbols of detected codes  302 ,  304 ,  306 , and  308  are processed in parallel. 
     In the above example, the parent code  310  is used for constructing matrix A and for performing joint detection. This results in significantly less complexity at the MUD than using detected codes  302 ,  304 ,  306 , and  308 . The original data symbols carried by detected codes  302 ,  304 ,  306 , and  308  are recovered by the post data converter  46 . In one embodiment, the original data symbols may be obtained according to: 
         d   SF16,1 =¼( d   1   SF4   +d   2   SF4   +d   3   SF4   +d   4   SF4 )
 
         d   SF16,2 =¼( d   1   SF4   +d   2   SF4   −d   3   SF4   −d   4   SF4 )
 
         d   SF16,3 =¼( d   1   SF4   −d   2   SF4   +d   3   SF4   −d   4   SF4 )
 
         d   SF16,4 =¼( d   1   SF4   −d   2   SF4   −d   3   SF4   +d   4   SF4 )
 
     As can be seen from the above relationship, converting back to the original data symbols requires only four additions and one multiplication for each of the parent code&#39;s  310  four data symbols. 
     Referring now to  FIG. 4 , there is shown a flow chart of a method  400  for grouping detected codes according to their channel impulse response and performing joint detection using parent codes having a lower spreading factor for detected codes having the same channel impulse response. The method  400  begins in step  402  with detecting transmitted codes in a received communication. Then, it is determined whether there are any detected codes having the same channel impulse response. If there are detected codes having the same channel impulse response, those detected codes are group together in step  406  and the method  400  proceeds to step  408 . If there are no detected codes with the same channel impulse response, the method proceeds directly to step  408 . 
     In step  408 , a parent code(s) is identified for each group of detected codes. Then, in step  410 , the identified parent code(s) are used to construct matrix A. Matrix A is provided to a joint detector and joint detection is performed in step  412 . In step,  414 , the demodulated data symbols are converted back to the original data symbols of the codes detected in step  402 . 
     It is noted that to reduce the complexity at a receiver a transmitter should use lower spreading factors for code transmission, and the receiver should use the same spreading factors as the transmitter for despreading and demodulation. However, when the transmitter uses higher spreading factors for transmission the receiver can still reduce complexity by using lower spreading factors for despreading and demodulation and using a post data converter to recover the original data symbols of higher spreading factors from data symbols of lower spreading factors. 
     It is important to note that the present invention may be implemented in any type of wireless communication system employing orthogonal codes. By way of example, the present invention may be implemented in CDMA2000, UMTS-TDD, UMTS-FDD, TDSCDMA, any type of WLAN system including any type of 802.xx system, or any other type of wireless communication system. Further, while the present invention has been described in terms of various embodiments, other variations, which are within the scope of the invention as outlined in the claim below will be apparent to those skilled in the art