Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
PRECODING CODEBOOK FOR MIMO SYSTEMS
Document Type and Number:
WIPO Patent Application WO/2008/086239
Kind Code:
A1
Abstract:
A method of transmission is disclosed where a precoding matrix is selected from NT codebooks and each codebook corresponds to a transmission rank and NT corresponds to the number of transmit antennas. The data signal i s precoded in response to the selected precoding matrix and then transmitted. Each NTXR matrix in the codebook corresponding to a transmission rank-R with R less than NT is a sub-matrix of an NTxNT precoding matrix corresponding to the rank-NT codebook. Alternatively, each NTXR matrix in the codebook corresponding to a transmission rank-R with R less than NT is a sub-matrix of an NTX(R+1) precoding matrix corresponding to the rank-(R+1) codebook. Exemplary embodiment based on Householder construction is also given.

Inventors:
VARADARAJAN BADRI (US)
ONGGOSANUSI EKO N (US)
Application Number:
PCT/US2008/050319
Publication Date:
July 17, 2008
Filing Date:
January 04, 2008
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
TEXAS INSTRUMENTS INC (US)
VARADARAJAN BADRI (US)
ONGGOSANUSI EKO N (US)
International Classes:
H04Q7/00
Foreign References:
US20060018397A12006-01-26
US20060270360A12006-11-30
US20060209923A12006-09-21
Attorney, Agent or Firm:
FRANZ, Warren, L. et al. (Deputy General Patent CounselP.O. Box 655474. MS 399, Dallas TX, US)
Download PDF:
Claims:
WHAT IS CLAIMED IS:

1. A method of transmitting a communication signal with N T antennas, comprising the steps of: selecting a precoding matrix from N T codebooks, wherein each codebook corresponds to a transmission rank; precoding the data signal in response to the selected precoding matrix; and transmitting the precoded data signal from N T antennas.

2. A method as in claim 1, wherein each N T xR matrix in the codebook corresponding to a transmission rank-R with R less than N T is a sub-matrix of an N T xN T precoding matrix corresponding to the rank-N T codebook.

3. A method as in claim 1, wherein each N T xR matrix in the codebook corresponding to a transmission rank-R with R less than N T is a scaled sub-matrix of an N T xN T precoding matrix corresponding to the rank-N T codebook.

4. A method as in claim 1, wherein each N T xR matrix in the codebook corresponding to a transmission rank-R with R less than N T is a sub-matrix of an N T x(R+1) precoding matrix corresponding to the rank-(R+1) codebook.

5. A method as in claim 1, wherein each N T xR matrix in the codebook corresponding to a transmission rank-R with R less than N T is a scaled sub-matrix of an N T x(R+1) precoding matrix corresponding to the rank-(R+1) codebook.

6. A method as in claim 4, wherein the rank-N T codebook is derived, at least in part, from a plurality of Householder

matrices with the Householder matrix of the form

7. A method as in claim 2, wherein the rank-N T codebook is derived, at least in part, from a plurality of Householder

matrices with the Householder matrix of the form

8. A method as in claim 6, wherein at least one of the precoding matrices is removed from at least one of the N T codebooks .

9. A method as in claim 6, wherein elements of each matrix in a codebook have the phase belonging to 0, 45, 90, 135, 180, 225, 270, 315, 360 degrees and the same magnitude.

10. A method as in claim 6, wherein each of rank-1 precoding matrices is the first column vector of an N T xN T Householder matrix.

11. A method as in claim 1, wherein the step of selecting the precoding matrix is in response to a precoding matrix index received from a remote transceiver.

12. A method as in claim 1, further comprising a step of orthogonal frequency division modulating the precoded data signal prior to the step of transmitting.

13. A method as in claim 1, wherein at least one of the N T codebooks associated with at least one remote transceiver is adapted.

14. A method as in claim 13, wherein the codebook size is signaled to the remote transceiver.

15. A transmitter with N T antennas, comprising: a decode circuit coupled to receive an input signal from a remote transceiver and produce a precoding matrix index; a select circuit coupled to receive the precoding matrix index, the select circuit selecting a precoding matrix from N T codebooks, wherein each codebook corresponds to a transmission rank; a precoder circuit coupled to receive a data signal and the precoding matrix, the pre-coder circuit arranged to precode the data signal; and a modulator circuit arranged to modulate the precoded data signal.

16. A transmitter as in claim 15, wherein each N T xR matrix in the codebook corresponding to a transmission rank-R with R less than N T is a sub-matrix of an N T x(R+1) precoding matrix corresponding to the rank-(R+1) codebook.

17. A transmitter as in claim 15, wherein each N T xR matrix in the codebook corresponding to a transmission rank-R with R less than N T is a scaled sub-matrix of an N T x(R+1) precoding matrix corresponding to the rank-(R+1) codebook.

18. A transmitter as in claim 17, wherein the rank-N T codebook is derived, at least in part, from a plurality of Householder

matrices with the Householder matrix of the form and each of the rank-1 precoding matrices is the first column vector of an N T xN T Householder matrix.

19. A transmitter as in claim 18, wherein at least one of the precoding matrices is removed from at least one of the N T codebooks .

20. A transmitter as in claim 18, wherein elements of each matrix in a codebook have the phase belonging to 0, 45, 90, 135, 180, 225, 270, 315, 360 degrees the same magnitude.

21. A transmitter as in claim 15, wherein the modulator circuit is an orthogonal frequency division modulator (OFDM) .

22. A transmitter as in claim 15, wherein at least one of the N T codebooks associated with at least one remote transceiver is adapted.

23. A transmitter as in claim 22, wherein the codebook size is signaled to the remote transceiver.

24. A method of receiving a communication signal, comprising the steps of : receiving a signal from a remote transceiver with N T antennas ; selecting a precoding matrix from N T codebooks, wherein each codebook corresponds to a transmission rank; and transmitting an index of the selected precoding matrix to the remote transmitter.

25. A method as in claim 24, wherein each N T xR matrix in the codebook corresponding to a transmission rank-R with R less than N T is a sub-matrix of an N T xN T precoding matrix corresponding to the rank-N T codebook.

26. A method as in claim 24, wherein each N T xR matrix in the codebook corresponding to a transmission rank-R with R less than N T is a scaled sub-matrix of an N T xN T precoding matrix corresponding to the rank-N T codebook.

27. A method as in claim 24, wherein each N T xR matrix in the codebook corresponding to a transmission rank-R with R less than N T is a sub-matrix of an N T x(R+1) precoding matrix corresponding to the rank-(R+1) codebook.

28. A method as in claim 24, wherein each N T xR matrix in the codebook corresponding to a transmission rank-R with R less than N T is a scaled sub-matrix of an N T x(R+1) precoding matrix corresponding to the rank-(R+1) codebook.

29. A method as in claim 24, wherein each N T xR matrix in the codebook corresponding to a transmission rank-R with R less than N T is a sub-matrix of an N T x(R+1) precoding matrix corresponding to the rank- (R+1) codebook.

30. A method as in claim 29, wherein the rank-N T codebook is derived, at least in part, from a plurality of Householder

matrices with the Householder matrix of the form

31. A method as in claim 27, wherein the rank-N T codebook is derived, at least in part, from a plurality of Householder

matrices with the Householder matrix of the form

32. A method as in claim 30, wherein at least one of the precoding matrices is removed from at least one of the N T codebooks .

33. A method as in claim 30, wherein all elements of each matrix in a codebook have the phase belonging to 0, 45, 90, 135, 180, 225, 270, 315, 360 degrees and the same magnitude.

34. A method as in claim 30, wherein each of the rank-1 precoding matrices is a first column vector of an N T xN T Householder matrix.

35. A method as in claim 24, wherein the received signal comprises an orthogonal frequency division multiplex (OFDM) signal.

36. A method as in claim 24, wherein the remote transceiver includes a copy of the N T codebooks .

37. A method as in claim 24, wherein at least one of the N T codebooks associated with at least one remote transceiver is adapted by information from said remote transceiver.

38. A method as in claim 37, wherein the codebook size is signaled from the remote transceiver.

39. A receiver, comprising: an input circuit coupled to receive an input signal from a remote transceiver; a select circuit, the select circuit selecting a precoding matrix from N T codebooks, wherein each codebook corresponds to a transmission rank; and an output circuit arranged to transmit an index of the selected precoding matrix to the remote transceiver.

40. A receiver as in claim 39, wherein each N T xR matrix in the codebook corresponding to a transmission rank-R with R less than

N T is a sub-matrix of an N T xN T precoding matrix corresponding to the rank-N T codebook.

41. A receiver as in claim 39, wherein each N T xR matrix in the codebook corresponding to a transmission rank-R with R less than N T is a scaled sub-matrix of an N T xN T precoding matrix corresponding to the rank-N T codebook.

42. A receiver as in claim 39, wherein each N T xR matrix in the codebook corresponding to a transmission rank-R with R less than N T is a sub-matrix of an N T x(R+1) precoding matrix corresponding to the rank-(R+1) codebook.

43. A receiver as in claim 39, wherein each N T xR matrix in the codebook corresponding to a transmission rank-R with R less than N T is a scaled sub-matrix of an N T x(R+1) precoding matrix corresponding to the rank-(R+1) codebook.

44. A receiver as in claim 42, wherein the rank-N T codebook is derived, at least in part, from a plurality of Householder

matrices with the Householder matrix of the form

45. A receiver as in claim 40, wherein the rank-N T codebook is derived, at least in part, from a plurality of Householder

matrices with the Householder matrix of the form

46. A receiver as in claim 44, wherein at least one of the precoding matrices is removed from at least one of the N T codebooks .

47. A receiver as in claim 44, wherein all elements of each matrix in a codebook have the phase belonging to 0, 45, 90, 135, 180, 225, 270, 315, 360 degrees and same magnitude.

48. A receiver as in claim 44, wherein each of the rank-1 precoding matrices is the first column vector of an N T xN T Householder matrix.

49. A receiver as in claim 39, wherein the received signal comprises an orthogonal frequency division multiplex (OFDM) signal .

50. A receiver as in claim 39, wherein the remote transceiver includes a copy of the N T codebooks.

51. A receiver as in claim 39, wherein at least one of the N T codebooks associated with at least one remote transceiver is adapted by information from said remote transceiver .

52. A receiver as in claim 51, wherein the codebook size is signaled from the remote transceiver.

Description:

PRECODING CODEBOOK FOR MIMO SYSTEMS

CROSS-REFERENCE TO PROVISIONAL APPLICATIONS

[0001] This application claims the benefit of U.S. Provisional Application Nos . : 60/883,435 entitled "Codebook Sizes and Structures for Precoded MIMO Systems" filed on January 4, 2007; 60/893,291 entitled "Codebook Sizes and Structures for Precoded MIMO Systems" filed on March 6, 2007; 60/895,354 entitled "Codebook Sizes and Structures for Precoded MIMO Systems" filed on March 16, 2007; and 60/913,461 entitled "Codebook Sizes and Structures for Precoded MIMO Systems" filed on April 23, 2007, which are incorporated herein by reference in their entirety.

[0002] This application further claims the benefit of U.S. Provisional Application No. 60/888,229 entitled "Construction of Precoding Codebooks for 4 Transmit Antennas", filed on February 5, 2007, which is incorporated herein by reference in its entirety.

[0003] This application yet further claims the benefit of U.S. Provisional Application No. 60/890,125 entitled "Precoder Based on Virtual Antenna Selection, filed on February 15, 2007, which is incorporated herein by reference in its entirety.

TECHNICAL FIELD

[0004] The present disclosure is directed, in general, to wireless communication systems and, more specifically, to Multiple-Input Multiple-Output (MIMO) communication employing a transmitter, a receiver and methods of operating a transmitter and a receiver.

BACKGROUND

[0005] Multiple-input multiple-output (MIMO) communication systems offer large increases in throughput due to their ability to support multiple parallel data streams that are each transmitted from different spatial transmission layers which are either real/physical or virtual antennas. In the most general form, MIMO transmissions employ one or more parallel spatial streams that are independently FEC encoded, termed codeword. Each stream/codeword is then mapped to one or more transmission layers . Mapping of one encoded stream to multiple layers can be done by simply distributing the encoder stream output on all the layers, i.e., the serial stream from the FEC output is converted to parallel streams on different layers . The number of spatial transmission layers is termed the rank of transmission.

[0006] The number of transmission layers is typically less than or equal to the number of physical antennas. The signal on the virtual antennas is converted to the signal on the real antennas, typically by linear precoding, i.e., linearly combining the virtual antenna signals to obtain the actual transmit signals. The effectiveness of MIMO communication depends on the set of possible precoders used, called the codebook. Although many current precoding codebooks exist, further improvements would prove beneficial in the art.

BRIEF DESCRIPTION OF THE DRAWINGS

[0008] For a more complete understanding of the present disclosure, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which:

[0009] FIGURE 1 illustrates a system diagram of a transmitter as provided by one embodiment of the present disclosure;

[0010] FIGURE 2 illustrate an embodiment of a method of operating a transmitter;

[0011] FIGURE 3 illustrates a system diagram of a receiver as provided by one embodiment of the present disclosure;

[0012] FIGURE 4 illustrates an embodiment of a method of operating a receiver

[0013] FIGURE 5 illustrates an embodiment of a method of computing preferred transmission ranks and precoder matrices in a receiver

[0014] FIGURE 6 is an example of a nested codebook construction for the case of N T = 2 transmit antennas

[0015] FIGURE 7 is an example of a nested codebook construction for the case of N T = 4 transmit antennas based on a single precoding matrix for rank-4 transmission.

[0016] FIGURE 8 is an example of a nested Householder-based codebook construction for the case of N T = 4 transmit antennas.

[0017] FIGURE 9 is another example of a nested Householder- based codebook construction for the case of N T = 4 transmit antennas .

DETAILED DESCRIPTION

[0018] Embodiments of the present invention below employ a transmitter (node-B) and a receiver (UE) equipped with multiple antennas. The UE may feed back a channel quality indicator (CQI) report to assist the transmitter in selecting transmission parameters. Specifically, the following parameters are adapted, often based on receiver feedback.

[0019] 1. Rank Adaptation: The rank R, namely, the number of spatial transmission. The rank cannot exceed the number of transmit antennas N T .

[0020] 2. Grouping: To reduce feedback, it is desirable to reduce the number of spatial streams/codewords while maintaining the same rank. This can be done by grouping multiple virtual antennas to one spatial stream. This is essentially a mapping from spatial streams/codewords to layers.

[0021] 3. Link Adaptation: The modulation and coding scheme (MCS) of each spatial stream. This is determined by the channel quality indicator (CQI) for each spatial stream.

[0022] 4. Precoder Adaptation: The mapping from virtual-to- real antennas, called precoding, can be adapted to improve the channel quality indicator of different streams. Note that precoding can be based on receiver feedback, or it can be done in a feedback-independent way, by using a time-varying precoding pattern. Alternatively, it is also possible to exploit the property of the propagating channel to allow precoder adaptation in the absence of feedback. Such is possible for time-division duplex (TDD) system where the uplink and downlink channels are reciprocal. Feedback-based adaptive precoding, however, applies to any duplexing scheme including frequency-division duplex

(FDD) .

[0023] FIGURE 1 illustrates a system diagram of a transmitter

(100) as provided by one embodiment of the present disclosure, and FIGURE 2 illustrates a method of operating the exemplary transmitter. In the illustrated embodiment, the transmitter operates in an OFDM communication system (typically referred to as a node B) although the principles of the present disclosure may be employed in other communication systems. The transmitter includes a transmit portion (101) and a feedback decoding portion

(110) . The transmit portion (101) includes a modulation, encoding, and layer mapping module (102), a precoding module

(104) and an OFDM module (106) having multiple OFDM modulators that feed corresponding transmit antennas. The feedback decoding portion (110) includes a receiver module (114) and a decoder module (112) .

[0024] The transmitter has at least two transmit antennas and is capable of transmitting at least one spatial codeword corresponding to a transmission rank grouping. The feedback decoding portion (110) is configured to recover the CQI report from the UE, which is used to determine the precoding matrix index on each time-frequency resource block, as illustrated in (202) and (204) of FIGURE 2. Then, as shown in (206), the transmit portion (101) is coupled to the multiple transmit antennas and provides a transmission. Data is generated and encoded for each of the symbol streams. The encoded streams are grouped (102) by mapping one spatial stream to multiple spatial layers (in the form of virtual antennas) wherein the number of active virtual antennas is given by a transmission rank R. By performing encoding and layer mapping, the transmit signal on each transmission layer is assembled.

[0025] The precoding module (104) converts the signal on the R virtual antennas to the N T physical antennas . Embodiments of the

precoders presented are linear. That is, the signal on each of the physical antennas is some linear combination of the signals on the virtual antennas . Thus the mapping can be specified by an N T xR linear precoding matrix.

[0026] The precoder output contains signal to be transmitted on the physical antennas. In the embodiment shown, the signal is assembled in the frequency domain and converted to time domain using the OFDM modulator which can add a cyclic prefix to guard against channel distortion. The specific OFDM modulation is just an example for the various kinds of modulation schemes that could be used to send the precoder output on the channel. Some other examples include code-division multiple access (CDMA) and time- division multiple access (TDMA) transmissions where the signal is transmitted in the code and time domain, respectively.

[0027] A corresponding embodiment of a receiver 300 is shown in FIGURE 3, and an exemplary method of operating that receiver is shown in FIGURE 4. The receiver includes a data decoding portion (301) and a feedback generation portion (310) .

[0028] In the data decoding portion (301) of the receiver, the OFDM demodulation is followed by channel estimation (308) which enables control channel decoding (309). The control channel decoder determines, among other things, the transmission rank and the precoder index used by the transmitter on each time-frequency resource. Using the knowledge of the codebook, the receiver then determines the precoding matrix used. This knowledge is used by the MIMO detector (304) to generate soft information for each transmission layer, which is then subsequently processed to decode the various coded streams .

[0029] The receiver embodiment shown in FIGURE 3 also contains a feedback generation portion (310) , which uses channel and noise

variance estimates to assemble the CQI report. In this embodiment, this includes selection of a recommended rank (316) , the preferred precoder index from the codebook corresponding to the preferred rank (312), CQI for the corresponding transmission layers / coded streams (314) . These are then fed back to the transmitted using the modulator (318) .

[0030] Different transmission ranks use different precoding codebooks . To enable the receiver to correctly decode the signal, the precoding matrix in many communication systems (e.g., E-UTRA, IEEE 802.16e, E-UTRA HSPA) is drawn from a finite codebook. There is a trade-off in the choice of the codebook size: increasing the size allows better tuning of the precoder matrix to improve the signal-to-interference-noise ratio (SINR) seen by the transmission layers, and hence to increase downlink throughput. However, a larger codebook size also increases the amount of feedback and downlink control signaling to indicate the preferred / used precoder index. Also, the UE might need to compute the optimum precoding matrix based on channel and noise variance estimates, as shown in Block (312) in FIG 3. An exemplary procedure for doing so is shown in FIG 5.

[0031] As seen in FIG 5, the exemplary receiver first examines each rank, starting with rank 1 (500) . For all the precoding matrices in the rank-R codebook, the receiver computes the SINR of each layer (502), uses it to compute the sum throughput (504) . The receiver then picks the preferred precoding matrix for that rank (506) . By comparing the optimum throughputs across different ranks (508) , the receiver determines the preferred rank and the corresponding precoding matrix (514) . Other throughput-based metrics can also be used. Furthermore, other optimality criteria are also possible such as the maximizing the worst-case SINR, minimizing the worst-case block error rate.

[0032] While other precoder computation methods might vary, in most cases, the computational complexity increases with the codebook size. Consequently, the codebook size must be carefully chosen. The optimum choice could also be a function of the network load. In a heavily loaded network, since many users are active, the control overhead needs to be minimized, so a small codebook size should be used. For low network traffic loads, it is desirable to achieve optimum throughput for the few active users, so a large codebook size is desirable. It is proposed that the node-B can change the codebook size at a slow rate, either

(i) for all users simultaneously; or (ii) specifically for a set of user(s) depending on their channel conditions / the overall network state. This codebook size is signaled periodically either by broadcasting to the entire network or by signaling to individual sets of user(s). As a special case, each set of users comprises only a single user. In this case, dedicated signaling is required to notify the change in codebook. Since the codebook changes slowly, higher layer signaling can be used for this purpose .

[0033] Given a codebook size, the actual codebook must be chosen to maximize performance (e.g. maximum throughput, minimum error rate, maximum SINR) , while at the same time minimizing the computational complexity of precoder feedback calculation.

[0034] Embodiments of the present invention describe a nested codebook structure which enables easy computation of throughput metrics for precoding matrices. To describe the structures, note that the precoding matrix for rank R transmission has dimensions N T X R. Under the assumption of unitary precoding, the R columns are the matrix are mutually orthogonal N T x 1 complex vectors. Thus, if the rank-R codebook consists of N C matrices, it effectively contains a set of up to N C · R vectors. Note that some

of these may be scaled versions of each other, and therefore should be counted together. Denote this set by S(R) . Then, the nested structure requires that if R 1 < R 2 , then S(R 1 ) ⊆ S (R 2 ) •

[0035] The advantages of the nested structure are as follows: First, it simplifies the codebook design. Second, it is simpler for the node-B to estimate the preferred precoding matrix and CQI when it has to override the UE's rank recommendation. More importantly, the nested structure simplifies precoder selection because it allows reuse of computations for precoder metric calculation with different codebooks . Specifically, the per-layer SINR calculation (502 in FIG 5) requires computation of the form V H PV where V is a matrix in the codebook and P is the effective channel at the whitened matched filter output. Here, V H denotes complex conjugate (Hermitian) transpose operation. Now, each of the elements of V H PV is a product of the form v 1 H Pv 2 where v 1 and v 2 are in the set S(R) . Because of the nested property it is sufficient to calculate these products for the highest rank S(N T ) and the remaining can be derived thence.

[0036] To maximize the benefit of the nested structure, a stronger condition for the nested structure can further be imposed: each matrix in the rank-R (<N T ) codebook is a sub-matrix of a matrix in the rank-N T codebook. Here, a sub-matrix of W is defined as a matrix that is constructed from the column vectors of matrix W without any particular restriction on the column ordering or column permutation. That is, any column ordering or permutation is possible. For instance, assuming a 4x4 matrix W, a 4x2 sub-matrix X can be constructed from columns {1,2}, {2,1}, {1,3}, {3,1}, {1,4}, {4,1}, {2,3}, {3,2}, {2,4}, {4,2}, {3,4}, or {4,3}. Note that an additional scalar multiplication can be applied to all the selected column vectors. The advantage of this

stricter condition is that V H PV for a rank-R precoding matrix is a direct sub-matrix of W H PW for some rank-N T precoding matrix W.

[0037] An even stronger nested condition is the nesting between two codebooks corresponding to two consecutive ranks . That is, each matrix in the rank-R (<N T ) codebook is a sub-matrix of a matrix in the rank-(R+1) codebook. This is mostly beneficial when the node-B decides to override the rank report recommended by the node-B .

[0038] Embodiments of the present invention use the general nested codebook structure described above. Some illustrative examples are now presented. Those skilled in the art can recognize that the examples are preferred embodiments.

[0039] One exemplary construction for the case of N T = 2 transmit antennas is shown in FIG 6. As seen from the tables, the rank-2 codebook consists of three matrices and the rank-1 codebook consists of the columns of the columns of those matrices. In other words, the codebook satisfies S(1) = S(2), and is therefore nested.

[0040] Two other exemplary constructions are given below - (i) Submatrix selection from a fixed precoding matrix and (ii) Codebook design based on Householder matrices .

[0041] EXEMPLARY METHOD 1 — SUBMATRIX SELECTION FROM A FIXED PRECODING MATRIX Choose a fixed precoding matrix M of dimension N T X N T . Possible choices of this matrix include

[0042] (i) A Walsh-Hadamard matrix of dimension N T , or

[0043] (ii) A DFT matrix, or

[0044] (iii) The Identity Matrix, or

[0045] (iv) A block DFT matrix where different small precoders are arranged in block-diagonal fashion. For example, for N T = 4,

this could be where M 2 is a 2 X 2 fixed precoder. (One candidate would be to make M 2 equal to the 2 X 2 Hadamard matrix. ) , or

[0046] (v) Column permutations of any of the above

[0047] From the above, the rank R codebook consists of N T X R submatrices obtained by choosing R columns from M. Note that one could either choose all C(N T , R) possible submatrices are some subset thereof.

[0048] Note that the above codebook construction method can be viewed alternatively as follows: The fixed precoder M transforms virtual antennas to real antennas. Then, precoding consists of virtual antenna selections alone. FIG 7 contains one illustrative example for N T - 4, with M being the 4 X 4 Hadamard matrix.

[0049] Clearly, other constructions based on different choices of M and different subset selections are possible, and are contemplated by this invention. Furthermore, the choice of the matrix M and / or the choice of the subsets for lower rank codebooks can be varied slowly, and the variation may be based on receiver feedback. Whenever the transmitter changes the codebook, it would signal the change to the UE and the UE will correspondingly update its codebook definition. The signaling needed for such change, and the processing needed for the receiver to decode and apply this signaling are both contemplated here .

[0050] EXEMPLARY METHOD 2 - HOUSEHOLDER-BASED CODEBOOK SELECTION Another exemplary procedure to construct nested precoding codebooks 4 based on the Householder construction will now be described. For illustration, take the case of N T = 4.

[0051] Step 1 — Choose Rank-One Codebook: The rank-one codebook consisting of some N unit-norm 4 x 1 complex vectors is chosen. Note that the codebook can be chosen to satisfy any metric. In one embodiment, the codebook is chosen so that each of its elements is drawn from a small finite alphabet set, such as {+1, ±j} or {±1, ±j, (±1±j)/ 2}. Other methods are described in the sequel .

[0052] Step 2 — Obtain Householder vectors: From each vector in the rank-one codebook, obtain one Householder basis vector. This can be done as follows . Suppose x is a valid precoding vector. Then the corresponding Householder vector u is obtained

so that the first column of the Householder matrix is equal to x. Note that this is always possible for all unit- norm x and its first element equal to (i.e. zero-phase).

Further, the resulting u is unique up to a phase rotation, and is unit-norm. For N T - 4, another notable feature of such construction is the preservation of constant modulus property across different ranks for each of the matrix/vector elements. That is, if all the elements of x have the same magnitude, the same holds for u as well as H(u) .

[0053] Step 3 — Obtain rank-4 codebook: From the set of Householder vectors u, construct the 4x4 Householder matrices

. These matrices form the rank-4 codebook. In an alternative embodiment, applying column permutation (i.e. rearranging the column order) to at least one of the 4x4 Householder matrices in the codebook may result in some

performance improvement. Hence, the rank-4 codebook can also be constructed from such set of Householder matrices with column permutation applied to at least one the matrices. For a given 4x4 matrix, there are 4! (= 24) possible column permutations or rearrangements. Some examples are {1,2,3,4}, {1,3,2,4}, {4,1,2,3}.

[0054] Step 4 — Obtain rank-2 and rank-3 codebooks by column selection: Codebooks for rank two and three are obtained by selecting sub-matrices of the rank-4 codebook. One exemplary construction is that the rank-R codebook (R=2 or 3) just contains the first R columns of each of matrix in the rank-4 codebook. However, more sophisticated construction techniques would pick the sub-matrices in order to optimize the chordal or Fubini-Study distance or some other performance-related criterion. Methods for doing so are described in the sequel .

[0055] The codebooks obtained using the above method possess the stronger nested structure. The following generalizations should be apparent for those skilled in the art: (i) Use of N T other than 4, (ii) Using nested structure alone without the Householder-based construction, (iii) Obtaining Householder vectors directly without using the rank-one codebooks in Step 1, (iv) Applying some additional column permutation or ordering to at least one of the precoding matrices, (iv) Pre-multiplying all the elements in all codebooks by a constant transformation matrix .

[0056] As seen from the above method, one crucial aspect is the choice of the rank-one codebook. Traditionally, rank-one codebooks are designed to maximize inter-element distance based on a metric like chordal or Fubini-Study distance. While such "Grassmanian" codebooks work well for uncorrelated fading channels, they do not necessarily achieve good performance for

correlated fading. The reason for this is that antenna correlation distorts the space of the dominant right singular vector and makes it more concentrated along a specific direction. Two methods can be used to derive rank-one codebooks for correlated fading channels.

[0057] The first method uses matched filtering criterion of Grassmanian codebooks. Suppose we are given a Grassmanian codebook ω. If the transmit antenna correlation matrix is R τ , then the codebook for rank-one transmission can be {y / | |y| | , where y = R T x, x ∈ ω} . The intuition is that such a codebook matches the distortion of the right singular vectors induced by the correlation matrix R T .

[0058] The second method applies selection from a finite mother set: Instead of the heuristic method of matched filtering, a precise search algorithm can be used to find high-performance codebook. Start with a finite set ψ containing (N T X 1) vectors of norm N T . For example, the elements of ψ could be drawn from a small finite-alphabet set like {±1, ±j} , or {±1, ±j, (±1±j) / 2}. Typically, the vectors in ψ are scaled so that the first element is zero-phase. Now codebook design is stated as a problem of selecting a subset ωof vectors from the larger "mother set" ψ. Many methods can be used for selecting the subset:

[0059] The subset can be searched by trial and error (i.e. random search) to maximize chordal distance. A set of random channel matrices are generated according to the desired distribution. Then the effective SINR is calculated for each matrix and each candidate vector in ψ. Given any codebook, the effective SINR for each channel matrix is the maximum effective SINR across all candidate vectors in the codebook. Note that this

maximum effective SINR S max (ω, H) is a random variable whose specific value depends on the channel matrix H but whose distribution is determined by the codebook ω. The task of code design is to optimize certain properties of this random variable. For instance, given a value s 0 , one might seek to minimize the probability that S max (ω, H) is less than s 0 . Alternatively, given a certain value ε 1 , one might seek to maximize the value of s 1 such that Pr( S max (ω, H) < s 1 ) = ε 1 .

[0060] The numerical search can be implemented exhaustively for all possible selections ω.. Alternatively, a greedy approach can be implemented as follows. Choose the first element such that it minimized Pr(S max (ω, H) < s 0 ) . Then remove from consideration all values of H for which the chosen element is the best (max- SINR) element in ψ. Now, from among the remaining values of H, choose the second element to minimize Pr (S max (ω, H) < s 0 ) and so on.

[0061] To design higher rank precoders, the numerical search method for rank-one codebooks can be extended. Two modifications are necessary. Firstly, the cost function for selecting a rank-R codebook needs to be changed because up to R SINRs are generated, so the SINR itself cannot be used as a cost function since it is multi-dimensional. Instead the sum throughput can be used as cost function, assuming some nominal noise variance. Alternatively, the Frobenius norm (energy) of the matrix (HV) can be used instead of SINR as the cost function for a precoding matrix V ∈ ψ. Once the cost function is chosen, any search method can be used to determine the codebook, exhaustive and greedy search being exemplary methods .

[0062] The second, and crucial change needed for higher rank codebooks is the choice of the mother codebook from which the subset is selected. One possible choice is the set of all (N T x R) matrices with elements drawn from a finite codebook. An alternative embodiment is to use Householder matrices obtained from the rank-one codebook as discussed earlier.

[0063] FIG 8 presents an example of a Householder-based nested codebook construction. The householder vectors {u i } are tabulated. The rank-4 codebook consists of Householder matrices. The rank-1 and rank-3 codebook contain respectively the first one and three columns of the Householder matrices. The rank-2 codebook is obtained by sub-matrix selection, as shown.

[0064] FIG 9 presents another example of a Householder-based nested codebook construction. Compared to the previous example, this exemplary design conforms to the strongest nested condition. In addition, column permutation is applied to some of the matrices in the rank-4 codebook.

[0065] Other variations to the invention are also possible. A variation of the theme is an embodiment where codebooks of some (but not all) ranks are generated using the Householder structure. For instance, for N T =4, the codebooks for rank-1 and 2 can be generated based on the structures given above. The codebooks for rank-3 and 4 can be designed based on some other constructions such as ordering, grouping, and/or antenna selection. The ordering, grouping, and/or antenna selection can be based on physical antennas or virtual antennas. Likewise, it is possible to construct the rank-1, 2, and 3 codebooks based on the structure given above, and rank-4 codebook based on some other construction such as ordering and/or grouping.

[0066] It is also possible to combine different codebook constructions into one larger codebook. For example, the finite- alphabet Householder codebook (for all ranks) can be combined with physical or virtual antenna selection codebook (for all ranks) to form a larger codebook. Another possible combination is with the grouping codebook (for all ranks) . Other combinations are also possible for one skilled in the art.

[0067] Furthermore, it is also possible to choose only a subset of the matrices in the proposed codebook depending on the operation or channel condition. This applies the above principle of varying the codebook size.

[0068] Yet another possible variation is to remove at least one matrix from at least one of the N T codebooks from the original construction. For instance, it is possible to remove at least one of the 4x4 matrices in the rank-4 codebook given in FIG 8 or 9. This can be done to reduce feedback overhead without significant impact on the performance. While this does not fully conform with the prescribed definition of nested structure, it is still within the scope of the invention.

[0069] Still further, while numerous examples have thus been provided, one skilled in the art should recognize that various modifications, substitutions, or alterations may be made to the described embodiments while still falling with the inventive scope as defined by the following claims. Other combinations will be readily apparent to one of ordinary skill in the art having access to the instant specification.