Abstract:
A block coding method and system for improving the reliability of Channel Quality Indicators (CQI) and antenna weight Indicators (AWI) reporting. A user terminal first generates 8-bit CQI and 2-bit AWI. A codeword generator produces a codeword responsive to these 10 CQI/AWI bits using a codebook or a generator matrix of a (20,10,6) code. The (20,10,6) code has a minimum Hamming distance of 6 The encoded codeword is transmitted to a receiver for decoding utilizing an identical (20,10,6) codebook.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application claims the benefit of U.S. Provisional Application No. 60/863,688, filed Oct. 31, 2006, the disclosure of which is incorporated herein by reference. 
    
    
     STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT 
     Not Applicable 
     REFERENCE TO SEQUENCE LISTING, A TABLE, OR A COMPUTER PROGRAM LISTING COMPACT DISC APPENDIX 
     Not Applicable 
     BACKGROUND OF THE INVENTION 
     The present invention relates to Wideband Code Division Multiple Access (WCDMA) technology. More particularly, and not by way of limitation, the present invention is directed to a system and method for improving the reliability for the transmission of Multiple-Input-Multiple-Output (MIMO) channel quality indicators (CQI) and antenna weight indicators (AWI). 
     With the introduction of Multiple-input-multiple-output (MIMO) transmission technology to increase spectral efficiency and system throughput of WCDMA systems, more detailed reporting of channel quality indicators (CQI) in support of MIMO transmission is needed. For example, for 2 by 2 MIMO, 2 CQI numbers, each for a data stream, are needed. According to W-CDMA Release 7, each of these CQI numbers is represented by 4 bits, and thus overall 8 bits are used for CQI feedback. In addition, a user terminal (UE) needs to feed back a 2-bit antenna weight indicator (AWI). Thus the total UE feedback is 10 bits. 
     In Release 6 of WCDMA systems (3GGPP TX 25.212, v.6, “Multiplexing and Channel Coding (FDD) (Release 6)”), 32 different types of CQI messages can be represented by 5 information bits. With a spreading factor of 256, these information bits can be encoded into 20 channel coded bits in 2 slots. Such a channel is built upon the first order Reed-Muller code. The minimum distance of the Release-6 CQI code has minimum Hamming distance 8. In the below discussion, (n,k,d) is used to refer to a class of block codes that encodes k information bits to produce a codeword of n-bits long and has a Hamming distance between any pair of distinct codewords no less than d. Thus, the Release 6 code for CQI is a (20,5,8) code. Sometimes, the notation (n,k) is used to describe the length of the codeword and the input information block. 
     As mentioned earlier, 10 CQI/AWI feedback bits are needed to support 2 by 2 MIMO operations. Providing channel coding protection for the lengthened feedback message is proposed in “ Definition of HS - DPCCH coding for FDD MIMO operation in Rel -7” 3GPP TSG RANI Tdoc R1-063422, Meeting #47bis, November 2006; based on a (20,10) code shortening of the 2 nd  order Reed-Muller. The generator matrix of this code is 
                     G     20   ,   10   ,   4       =         1       0       1       0       1       0       1       0       1       0       1       0       1       0       1       0       0       0       0       0           0       1       1       0       0       1       1       0       0       1       1       0       0       1       1       0       0       0       0       0           0       0       0       1       1       1       1       0       0       0       0       1       1       1       1       0       0       0       0       0           0       0       0       0       0       0       0       1       1       1       1       1       1       1       1       0       0       0       0       0           1       1       1       1       1       1       1       1       1       1       1       1       1       1       1       1       1       1       1       1           0       0       1       0       0       0       1       0       0       0       1       0       0       0       1       0       0       0       0       0           0       0       0       0       1       0       1       0       0       0       0       0       1       0       1       0       0       0       0       0           0       0       0       0       0       0       0       0       1       0       1       0       1       0       1       0       0       0       0       0           0       0       0       0       0       1       1       0       0       0       0       0       0       1       1       0       0       0       0       0           0       0       0       0       0       0       0       0       0       1       1       0       0       1       1       0       0       0       0       0                 (   1   )               
For any linear block code, one can calculate its distance spectrum by finding the distance distribution of all the codewords to the all-zero codeword (zero in all the positions). For example, the distance spectrum of the above code is given by
         0 1   4 57   6 120   8 262   10 144   12 262   14 120   16 57   20 1.
 
This means that among all the codewords, there is one codeword (the all-zero codeword itself, [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]) having zero Hamming distance from the all-zero codeword, there are 57 codewords having Hamming distance 4 from the all-zero codeword, there are 120 codewords having Hamming distance 6 from the all-zero codeword, there are 262 codewords having Hamming distance 8 from the all-zero codeword, there are 144 codewords having Hamming distance 10 from the all-zero codeword, there are 262 codewords having Hamming distance 12 from the all-zero codeword, there are 120 codewords having Hamming distance 14 from the all-zero codeword, there are 57 code-words having Hamming distance 16 from the all-zero codeword, and there is 1 codeword having Hamming distance 20 from the all-zero codeword. Thus, the minimum Hamming distance between any distinct codewords in the above code is 4, making this a (20,10,4) code.
       

     In general, there are numerous codebooks of (n,k,d) code having the same distance spectrum. For example, any permutation (shuffling the transmission order) on a (n,k,d) code results in another (n,k,d) code having the same distance spectrum. Also, any common masking m applied to all the codewords of a (n,k,d) code results in another (n,k,d) code having the same distance spectrum. We will use a simple example below to illustrate this. Consider a simple generator matrix 
               G   =     [         1       1       0       0       0       0       1       1         ]       ;         
The four codewords generated by this generator matrix are
 
                 0       0       0       0           1       1       0       0           0       0       1       1           1       1       1       1.             
The distance spectrum of this codeword is
 
     0 1 
     2 2 
     4 1. 
     Thus, one codeword at Hamming distance 0 away from the all-zero codeword, two codewords at Hamming distance 2 away from the all-zero codeword, and one codeword at Hamming distance 4 away from the all-zero codeword. Now, changing the order of the 2 nd  and 3 rd  encoded bit in the above code, the four new codewords are 
     0 0 0 0 
     1 0 1 0 
     0 1 0 1 
     1 1 1 1. 
     It is easy to see that the distance spectrum remains the same. Now further perform masking on the above code using a common mask of [1 1 1 0], we have 
               0000   +   1110     =   1110                 1010   +   1110     =   0100                 0101   +   1110     =   1011                 1111   +   1110     =   0001.         
It is easy to see that the new code preserves a distance spectrum of
 
     0 1 
     2 2 
     4 1. 
     The minimum Hamming distance of the above proposed (20,10) code is only 4. This minimum distance implies a significantly weaker protection for CQI information bits compared to the existing code in Release 6 for CQI protection. A comparison of the Rel6 CQI channel code and the above proposed code based on the generator matrix G 20,10,4  shown above is provided in the graph shown in  FIG. 4  (comparing Rel6 channel code (20,5,8) and a (20,10,4) code for MIMO CQI). It can be seen that, with the above proposed code, one more dB is required to carry each of the CQI information bits. At the same time, the number of information bits to carry has doubled. In summary, significantly more power is needed to transmit the detailed MIMO CQI report reliably. 
     It would be advantageous to have a system and method for providing CQI and AWI information to a base station that overcomes the disadvantages of the prior art. The present invention provides such a system and method. 
     BRIEF SUMMARY OF THE INVENTION 
     It is an object of the invention to provide more detailed reporting of Channel Quality Indicators in support of Multiple-input-multiple-output transmission in a WCDMA system. A channel code that utilizes less power per information bit to carry the CQI bits is provided. 
     A user equipment generates CQI bits and antenna weight indicator (AWI) bits for transfer to an encoder in the user equipment. The encoder utilizes a (20,10,6) codebook, or a generator matrix, stored in the UE to produce a codeword according to a ten bit sequence comprising the CQI bits and the AWI bits. The (20,10,6) codeword is then transmitted to a base station in the WCDMA system. 
     The WCDMA system receives the codeword at a base station that processes the signal containing the (20,10,6) codeword in order to produce twenty soft values. Each of the soft values corresponds to a bit in the (20,10,6) codeword. The (20,10,6) codeword is decoded and the CQI bits are passed to a rate controller with the AWI bits going to an antenna weight controller. 
     The (20,10,6) code has a distance spectrum comprising, measured from the all-zero or any codeword: one codeword having zero Hamming distance; 40 codewords having Hamming distance 6; 160 codewords having Hamming distance 7; 130 codewords having Hamming distance 8; 176 codewords having Hamming distance 10; 320 codewords having Hamming distance 11; 120 codewords having Hamming distance 12; 40 codewords having Hamming distance 14; 32 codewords having Hamming distance 15; and 5 codewords having Hamming distance 16. 
     Thus, for the purpose of the present invention, the numerous forms of the (n,k,d) code are all covered as long as they have the same distance spectrum 
    
    
     
       BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING 
       In the following section, the accompanying figures where like reference numerals refer to identical or functionally similar elements and which together with the detailed description below are incorporated in and form part of the specification, serve to further illustrate exemplary embodiments illustrated in the figures, in which: 
         FIG. 1   a  depicts a high-level block diagram of a user equipment (UE) in communication with a base station according to a preferred embodiment of the present invention; 
         FIG. 1   b  illustrates a multiple-input-multiple-output user equipment (MIMO UE) in communication with a base station in accordance with a preferred embodiment of the present invention; 
         FIG. 2  illustrates the differences between a codebook with a hamming distance of 4 and a codebook with a hamming distance of 6: and 
         FIG. 3  depicts a process of a user equipment providing CQI and AWI to a base station in accordance with a preferred embodiment of the present invention. 
         FIG. 4  depicts a graph comparing performance of a Rel6 CQI channel code and a code having a minimum Hamming distance of 4. 
         FIG. 5  depicts a graph comparing performance of the Rel6 CQI channel code and a new code having a Hamming distance of 6. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the invention. However, it will be understood by those skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known methods, procedures, components and circuits have not been described in detail so as not to obscure the present invention. 
       FIG. 1   a  depicts a high-level block diagram of a user equipment (UE) in communication with a base station according to a preferred embodiment of the present invention. UE  102  is depicted as being serviced by base station  104  in a WCDMA system, and base station  104  receives reports of Channel Quality Indicator and Antenna Weight indicator from the UE. 
       FIG. 1   b  illustrates, in greater detail, a Multiple-Input-Multiple-Output user equipment (MIMO UE) in communication with a base station in accordance with a preferred embodiment of the present invention. MIMO UE  102 , reports to serving Node B  104  (also termed base station) channel quality indicator (CQI) and preferred antenna weight indicator (AWI), also termed PCI (precoder indicator). There are 8 bits CQI and 2 bits AWI to be sent. Typically, the UE employs channel and signal-interference-plus-noise ratio (SINR) estimator  110  to generate the CQI and AWI bits. The 10-bit CQI/AWI sequence is given to CQI/AWI encoder  108 . CQI/AWI  108  encoder uses a (20,10,6) codebook to produce a 20-bit codeword according to the input 10-bit sequence. The codebook consists of 1024 codewords each associated with a 10-bit sequence. Since there are 1024 combinations of the 10-bit input sequence, there are 1024 codewords. 
     The codebook has a property that any two distinct codewords differ by at least 6 bits; i.e., the codebook has a minimum Hamming distance of 6. A large minimum Hamming distance implies better performance of the code. For example with a minimum Hamming distance of 6, the receiver can correct 2 erroneous bits in a received codeword when hard-decision decoding is used. In comparison, with a minimum Hamming distance of 4, the receiver can only correct  1  erroneous bit in the codeword. The codeword generated by CQI/AWI encoder  108  is given to transmitter  106  to perform spreading, scrambling, and other RF transmission processing. 
     The transmitted codeword is received by Node B  104  which is serving UE  102 . The received codeword is RF down converted, filtered, descrambled, and de-spread by receiver  112  to produce 20 soft values, each soft value corresponding to a bit in the received codeword. Each soft value may be further quantized to two levels e.g., negative values quantized to −A and positive values quantized to A. These soft values are given to (20,10,6) CQI/AWI decoder  114  to recover the transmitted 10 CQI/AWI information bits. CQI/AWI decoder  114  also includes the same codebook that is used by the CQI/AWI encoder  108  in UE  102 . That is, the codebook used in CQI/AWI decoder  114  also has a property that any two distinct codewords differ by at least 6 bits. 
     As noted above, a (20,10) code with an optimal minimum Hamming distance of 6 would offer better protection of the CQI/AWI feedback report. The description below illustrates a non-limiting exemplary method for producing a (20,10,6) code. In order to provide a minimum Hamming distance of 6, as a first step, a quadratic residue generator matrix of the (24,12,8) Golay code is used: 
               G     24   ,   12   ,   8       =         1       0       0       0       0       0       0       0       0       0       0       0       1       1       0       1       1       1       1       0       1       0       0       0           0       1       0       0       0       0       0       0       0       0       0       0       0       1       1       0       1       1       1       1       0       1       0       0           0       0       1       0       0       0       0       0       0       0       0       0       0       0       1       1       0       1       1       1       1       0       1       0           0       0       0       1       0       0       0       0       0       0       0       0       0       0       0       1       1       0       1       1       1       1       0       1           0       0       0       0       1       0       0       0       0       0       0       0       1       0       0       0       1       1       0       1       1       1       1       0           0       0       0       0       0       1       0       0       0       0       0       0       0       1       0       0       0       1       1       0       1       1       1       1           0       0       0       0       0       0       1       0       0       0       0       0       1       0       1       0       0       0       1       1       0       1       1       1           0       0       0       0       0       0       0       1       0       0       0       0       1       1       0       1       0       0       0       1       1       0       1       1           0       0       0       0       0       0       0       0       1       0       0       0       1       1       1       0       1       0       0       0       1       1       0       1           0       0       0       0       0       0       0       0       0       1       0       0       1       1       1       1       0       1       0       0       0       1       1       0           0       0       0       0       0       0       0       0       0       0       1       0       0       1       1       1       1       0       1       0       0       0       1       1           0       0       0       0       0       0       0       0       0       0       0       1       1       0       1       1       1       1       0       1       0       0       0       1               
This code can be shortened to obtain a (22,10,8) code by removing eleventh and twelfth columns and rows of G 24,10,8 :
 
               G     22   ,   10   ,   8       =         1       0       0       0       0       0       0       0       0       0       1       1       0       1       1       1       1       0       1       0       0       0           0       1       0       0       0       0       0       0       0       0       0       1       1       0       1       1       1       1       0       1       0       0           0       0       1       0       0       0       0       0       0       0       0       0       1       1       0       1       1       1       1       0       1       0           0       0       0       1       0       0       0       0       0       0       0       0       0       1       1       0       1       1       1       1       0       1           0       0       0       0       1       0       0       0       0       0       1       0       0       0       1       1       0       1       1       1       1       0           0       0       0       0       0       1       0       0       0       0       0       1       0       0       0       1       1       0       1       1       1       1           0       0       0       0       0       0       1       0       0       0       1       0       1       0       0       0       1       1       0       1       1       1           0       0       0       0       0       0       0       1       0       0       1       1       0       1       0       0       0       1       1       0       1       1           0       0       0       0       0       0       0       0       1       0       1       1       1       0       1       0       0       0       1       1       0       1           0       0       0       0       0       0       0       0       0       1       1       1       1       1       0       1       0       0       0       1       1       0               
A (20,10,6) code can then be obtained by puncturing any two out of the last 12 columns to reduce the code length to 20. By puncturing the last two columns, an optimal code is obtained:
 
               G     20   ,   10   ,   6       =         1       0       0       0       0       0       0       0       0       0       1       1       0       1       1       1       1       0       1       0           0       1       0       0       0       0       0       0       0       0       0       1       1       0       1       1       1       1       0       1           0       0       1       0       0       0       0       0       0       0       0       0       1       1       0       1       1       1       1       0           0       0       0       1       0       0       0       0       0       0       0       0       0       1       1       0       1       1       1       1           0       0       0       0       1       0       0       0       0       0       0       0       0       0       1       1       0       1       1       1           0       0       0       0       0       1       0       0       0       0       0       0       0       0       0       1       1       0       1       1           0       0       0       0       0       0       1       0       0       0       1       0       1       0       0       0       1       1       0       1           0       0       0       0       0       0       0       1       0       0       1       1       0       1       0       0       0       1       1       0           0       0       0       0       0       0       0       0       1       0       1       1       1       0       1       0       0       0       1       1           0       0       0       0       0       0       0       0       0       1       1       1       1       1       0       1       0       0       0       1               
The distance spectrum is given by
         0 1   6 40   7 160   8 130   10 176   11 320   12 120   14 40   15 32   16 5
 
This means that among all the codewords, there is one codeword (the all-zero codeword itself) having zero Hamming distance from the all-zero codeword, there are 40 codewords having Hamming distance 6 from the all-zero codeword, there are 160 codewords having Hamming distance 7 from the all-zero codeword, there are 130 codewords having Hamming distance 8 from the all-zero codeword, there are 176 codewords having Hamming distance 10 from the all-zero codeword, there are 320 codewords having Hamming distance 11 from the all-zero codeword, there are 120 codewords having Hamming distance 12 from the all-zero codeword, there are 40 codewords having Hamming distance 14 from the all-zero codeword, there are 32 codewords having Hamming distance 15 from the all-zero codeword, and there are 5 codewords having Hamming distance 16 from the all-zero codeword. As discussed earlier, any (20,10,6) code having the distance spectrum as specified above is isomorphic to the code generated by the Generator matrix G 20,10,6  above.
       

     A comparison of the Rel6 CQI channel code and the present optimal code based on the Generator matrix G 20,10,6  is shown in  FIG. 5 . It can be seen that with the new channel code, less power per information bit is required to carry the CQI information bits. Overall gain is more than 1.6 dB for the same 1% block error rate target. Recall the previously proposed (20,10,4) code is 1 dB worse than the Release 6 code. Thus, the (20,10,6) code is much better compared to the (20,10,4) code. 
       FIGS. 2   a  and  2   b  illustrate the advantage of the optimal code having a minimum Hamming distance 6, instead of 4, in accordance with a preferred embodiment of the present invention. As illustrated in  FIG. 2   a , due to errors that occur during transmission received signal  206  can be different from transmitted codeword  202 . If there are two bits in error in the received signal, the error can be corrected when the minimum Hamming distance is 6. In the case of a minimum Hamming distance of 6, transmitted codeword  202  is still the closest codeword to received signal  206 . In contrast, as shown in  FIG. 2   b , when the minimum Hamming distance is 4, codeword  214  has the same Hamming distance to received signal  216  as originally transmitted codeword  212 . In this case, the minimum Hamming distance is 4, the receiver cannot tell which one is the transmitted codeword and thus cannot correct the errors in the received signal. 
       FIG. 3  depicts a high-level block diagram of a user equipment (UE) in communication with a base station according to a preferred embodiment of the present invention. The process begins with the UE using a Channel and signal-interference-plus-noise ratio (SINR) estimator to generate CQI and AWI bits (step  302 ). The 10 bit sequence is transferred to the CQI/AWI encoder (step  304 ). The encoder utilizes a (20,10,6) codebook to produce a codeword according to the 10-bit sequence (step  306 ). The (20,10,6) codebook has 1024 codewords, each associated with a 10 bit sequence and the codebook has a property that any two distinct codewords differ by at least 6 bits (Hamming distance of 6). The codeword is transferred from the CQI/AWI encoder to the UE transmitter, which performs spreading, scrambling and RF transmission processing (step  308 ). 
     The transmitted codeword is received by the base station receiver and RF down converted, filtered, descrambled and de-spread by a base station receiver, which produces 20 soft values, each corresponding to a bit in the codeword (step  310 ). The soft values are then transferred to the CQI/AWI decoder to recover the 10 CQI/AWI information bits (312). The decoding process may include the step of correlating the 20 soft values with all the 1024 codewords in the (20,10,6) codebook and then selecting the codeword which has the largest correlation value between the received soft values and the transmitted codeword. The codebook in the CQI/AWI decoder includes the same codebook used by the CQI/AWI encoder in the UE. 
     Although preferred embodiments of the method and apparatus of the present invention have been illustrated in the accompanying drawings as described in the foregoing detailed description, it will be understood that the invention is not limited to the embodiments disclosed, but is capable of numerous rearrangements, modifications, equivalents and substitutions without departing from the scope of the invention as set forth in the appended claims.