Precoding with a codebook for a wireless system

09843376 · 2017-12-12

Assignee

Inventors

Cpc classification

International classification

Abstract

A base station used in a wireless communications system with multiple transmission ranks is disclosed. The base station comprises a memory to store a codebook for a transmission rank, a beamforming controller to precode data with a precoding matrix selected from the codebook, and a transmitter to transmit the precoded data to a user equipment, wherein the precoding matrix is selected according to a first description and a second description, which are unique to the precoding matrix, and wherein the second description provides a finer description of the codebook than the first description. Other methods, systems, and apparatuses also are disclosed.

Claims

1. A base station used in a wireless communications system with multiple transmission ranks, the base station comprising: a memory configured to store a codebook for each transmission rank; a beamforming controller configured to precode data with a precoding matrix obtained from the codebook; and a transmitter configured to transmit the precoded data to a user equipment, wherein entries of one or more of the codebooks are accessed through a first description and a second description, wherein the precoding matrix is determined according to the first description and the second description, which are unique to the precoding matrix, and wherein the second description provides a finer description of the codebook than the first description.

2. The base station as in claim 1, wherein the codebook comprises a vector codebook.

3. The base station as in claim 1, wherein the precoding matrix is determined by calculation.

4. A user equipment used in a wireless communications system with multiple transmission ranks, the user equipment comprising: a receiver configured to receive, from a base station, data precoded with a precoding matrix, wherein the precoding matrix is obtained from a codebook for each transmission rank, wherein entries of one or more of the codebooks are accessed through a first description and a second description, wherein the precoding matrix is determined according to the first description and the second description, which are unique to the precoding matrix, and wherein the second description provides a finer description of the codebook than the first description.

5. The user equipment as in claim 4, wherein the codebook comprises a vector codebook.

6. The user equipment as in claim 4, wherein the precoding matrix is determined by calculation.

7. A user equipment used in a wireless communications system with multiple transmission ranks, the user equipment comprising: a transmitter configured to transmit to a base station an indication for a precoding matrix in order for the base station to precode data, wherein the precoding matrix is obtained from a codebook for each transmission rank, wherein entries of one or more of the codebooks are accessed through a first description and a second description, both of which are included in the indication, wherein the precoding matrix is determined according to the first description and the second description, which are unique to the precoding matrix, and wherein the second description provides a finer description of the codebook than the first description.

8. The user equipment as in claim 7, wherein the codebook comprises a vector codebook.

9. The user equipment as in claim 7, wherein the precoding matrix is determined by calculation.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) FIG. 1 is a schematic block diagram of a multiple-antenna communications system with quantized feedback of channel state information.

(2) FIG. 2 is a block diagram of an exemplary embodiment of a base station of an orthogonal frequency-division multiplexing (OFDM) wireless MIMO communication system with feedback from the user equipment (UE).

(3) FIG. 3 is a flowchart of the operation of a base station, such as that of FIG. 2, in accordance with an exemplary embodiment of the present invention.

(4) FIG. 4 is a flowchart of the operation of a UE in accordance with an exemplary embodiment of the present invention.

(5) FIG. 5 is a flowchart of an algorithm for determining rank and power allocations for a downlink using a modified capacity measure in accordance with an exemplary embodiment of the present invention.

(6) FIG. 6 is a flowchart of a successive beamforming algorithm in accordance with an exemplary embodiment of the present invention.

(7) FIG. 7 is a flowchart of a CQI calculation algorithm in accordance with an exemplary embodiment of the present invention.

(8) FIG. 8A is a table of exemplary parameters used in simulating an exemplary embodiment of the present invention and FIG. 8B shows an exemplary format used for feedback information in such an embodiment.

(9) FIG. 9 is a graph of bits per chunk vs. chunk size for the simulated exemplary embodiment of the present invention.

(10) FIG. 10 is a graph of throughput vs. SNR for the simulated exemplary scheme against fundamental limits using a finite set of rates (5 CQI bits).

(11) FIG. 11 is a graph of throughput vs. SNR for the simulated exemplary scheme as compared to selected known schemes.

(12) FIG. 12 is a graph of throughput vs. SNR showing the effect of feedback error for the simulated exemplary embodiment of the present invention.

(13) FIGS. 13A and 13B show a flowchart which illustrates the UE operation for an alternative exemplary embodiment of a rank adaptation scheme for a MIMO downlink in which the beamforming rank may be provided by the base station and which can accommodate various receivers.

(14) FIG. 14 shows a flowchart of an algorithm for calculating CQIs for MCW transmission for reception by a MMSE-SIC decoder.

(15) FIG. 15 shows a flowchart of an algorithm for calculating a CQI for SCW transmission for reception by a ML decoder.

(16) FIG. 16 shows a flowchart of an algorithm for calculating a CQI for SCW transmission for reception by a LMMSE decoder.

DETAILED DESCRIPTION

(17) An exemplary multiple-antenna communication system 100 with quantized feedback is schematically shown in FIG. 1. A transmitter 110 transmits from t transmitting antennas 111.1-111.t over a fading channel 130 to r receiving antennas 121.1-121.r coupled to a receiver 120. A channel estimator 125 provides an estimate of the channel 130 to the receiver 120. The channel estimate is also quantized and provided to the transmitter 110 via a quantized rate control feedback channel 135.

(18) For purposes of analysis, a flat fading channel model is assumed in which the channel remains constant for each block of transmission. Furthermore, the feedback channel 135 is assumed to be an error-free, zero-delay feedback channel from the receiver to the transmitter, carrying B bits of information about the channel realization every frame.

(19) For a multiple-antenna system with r receive and t transmit antennas the baseband channel model can be expressed as follows:
Y=HX+W,  (1)
where Y is the r×1 received column vector, H is the r×t channel matrix, X is the t×1 transmit column vector, and W is the r×1 noise column vector. The input is subject to an average power constraint P, i.e.:
tr(Q)≦P, where Q=custom character[XX.sup.H],  (2)
custom character[.] denotes the expected value, and tr(.) represents the trace of a matrix. A goal of an exemplary space adaptation scheme is to minimize the frame error rate, which tightly follows the outage behavior of the transmission strategy, defined as:
P.sub.out=Prob{log det(I.sub.n+HQH.sup.H)<R},
s.t.tr(Q)≦P,Q≧0  (3)
where I.sub.n is an identity matrix of size n and R is the attempted transmission rate.

(20) In an exemplary multi-rank beamforming scheme in accordance with the present invention, channel state information (CSI) is available to the transmitter (CSIT) as well as the receiver (CSIR). Where perfect CSIT and CSIR are assumed, the capacity of the multiple-antenna fading channel 130 can be achieved through power adaptation over time (one average power for each channel state) and water-filling power control over multiple eigenvectors of the channel for each block of transmission. This translates into power control over multiple antennas in the spatial domain. The nature of the water-filling power control implies that transmission may occur only on a subset of eigenvectors of the channel depending on the channel condition. Therefore, to maximize the system throughput, the number of eigenvectors in which communication occurs, defined as the transmission rank, is controlled. For a given transmission rate, the transmission rank depends on the channel condition, where the transmission rank is at most equal to m=min(t, r). Thus, the set of all channel conditions is divided into m partitions, where the k-th partition represents the channel conditions for which the beamformer rank is equal to k, i.e., transmission occurs on the largest k eigenvectors out of a total of min(t, r) eigenvectors of the channel H.

Codebook Design

(21) The codebook design for the beamforming or precoding in multiple antenna system entails finding the best packing in a Grassmanian manifold.

(22) In general, each precoding matrix U of size t×n defines an n-dimensional subspace of a t-dimensional complex vector space W=custom character.sup.t, where C is the space of complex numbers. The matrix U may interchangeably be used to denote the space that is spanned by U. The set of all precoding matrices of size I×n constitutes a Grassmannian manifold denoted by G(t, n) or G.sub.n(W). The set of all beamforming vectors of size t×1 forms a Grassmanian manifold of G(t, 1), that is also known as the projective space P(W).

(23) A packing in a Grassmannian manifold is then defined with respect to a metric in the corresponding space. Using the metric, the distance between two points on the manifold can be defined. Since each point in Grassmanian manifold G(t, n) is a n-dimensional space, the metric in fact measures the subspace distance between two t-dimensional subspaces.

(24) Two metrics have been used for generating the precoding codebooks in multiple antenna communication systems: chordal distance and Fubini-Study distance. These metrics, however, are not the best metrics to be used for the design of precoders for multiple antenna systems. We can show that the packing with respect to the Fubini-Study metric gives the precoding codebook that is good only at very high SNRs and the packing with respect to Chordal distance gives the precoding codebook that is good only at very low SNRs.

(25) In an exemplary embodiment, a new metric (called “p-metric”) is used which is provably a valid metric for all the positive real values of a parameter pεcustom character. The p-metric enables the design of a codebook that is good for a desired range of SNR. An interesting property of the p-metric is that as p goes to infinity, the p-metric becomes equivalent to the Fubini-Study metric and as p goes to zero, the p-metric becomes equivalent to chordal distance. In other words, “∞-metric” and “0-metric” are equivalent to Fubini-Study and chordal metric, respectively.

(26) The chordal distance, Fubini-Study distance, and p-metric between two subspaces V.sub.t×n and U.sub.t×n are respectively defined as:

(27) d chordal = 1 2 .Math. UU * - VV * .Math. F , ( 4 ) d FS = Arc cos ( .Math. det ( U * V ) .Math. ) , ( 5 ) d P = Arc cos ( .Math. det ( I + pU * VV * U ( 1 + p ) n ) .Math. 1 2 ) . ( 6 )

(28) For the purpose of successive beamforming, one set of quantized beamforming codebooks is generated consisting of k codebooks, one for each packing of lines in the Grassmannian manifold of G(t−i+1, 1), for i=1, 2, . . . , k. The optimal packing uses the p-metric as the measure of the distance between the subspaces where the parameter p is chosen some where in the desired range of SNR. The distribution of the vectors is not necessarily isotropic, however, therefore the codebook design depends on the channel statistics and is not necessarily the packing with respect to this metric. For an iid Rayleigh channel, the optimal codebook is generated by finding the optimal packing with respect to the p-metric. At high SNR, this packing becomes the packing with respect to the Fubini-Study metric and at low SNR becomes the packing with respect to chordal distance.

Successive Beamforming

(29) The singular value decomposition of the channel estimate H can be expressed as follows:
H=UDV*,  (7)
where U and V are unitary matrices representing the left and right eigenvectors of H and D is a diagonal matrix of eigenvalues in descending order (V* denotes the hermitian of matrix V). The column of the unitary matrix V represents different eigenmodes of the channel.
V=[v.sub.1v.sub.2 . . . v.sub.n].  (8)

(30) An exemplary multi-rank beamformer picks the first k columns of the matrix V that correspond to the first k dominant eigenmodes of the channel due to the properties of the singular value decomposition. Choosing the rank of the beamformer is based on a long term rank prediction policy by the transmitter, e.g. the base station (BS), or it can be performed at the receiver, e.g. the mobile user equipment (UE), by using a modified capacity calculation. Details of exemplary schemes of performing rank adaptation are described below with reference to flowcharts shown in FIGS. 3-7 and 13A-16.

(31) For a given rank k, the aim of successive beamforming is to find the best quantization of the actual k dominant eigenmodes of the channel. The successive beamforming for [v.sub.1 v.sub.2 . . . v.sub.k] is performed as follows.

(32) First, v.sub.1 is quantized using the codebook C.sup.(t) of the t-vectors in t-dimensional complex vector space custom character.sup.t. The quantized vector u.sub.1εC.sup.(t) is chosen to maximize custom characterv.sub.1,u.sub.1custom character=|v.sub.1*u.sub.1|. The index of u.sub.1 constitutes the quantized feedback information for the first vector.

(33) Second, a rotation matrix φ(u.sub.1) is found such that:
φ(u.sub.1)u.sub.1=e.sub.1=[1;0;0; . . . ;0]  (9)
where e.sub.1 denotes a unit norm vector in a principal direction [1;0;0; . . . ;0].

(34) Third, all of the vectors v.sub.1 v.sub.2 . . . v.sub.n are rotated by the rotation matrix φ(u.sub.1), whereby:
V′=[v.sub.1′v.sub.2′ . . . v.sub.n′]=φ(u.sub.1)V=[φ(u.sub.1)v.sub.1φ(u.sub.1)v.sub.2 . . . φ(u.sub.1)v.sub.n],  (10)
where all of the first elements of v.sub.2′ v.sub.3′ . . . v.sub.n′ are zero due to the fact that V is a unitary matrix and all of its columns are orthogonal. Moreover, if u.sub.1=v.sub.1, the first vector v.sub.1′ becomes e.sub.1.

(35) Fourth, the same beamforming procedure described in the first three steps are applied to a new matrix:
{tilde over (V)}=V′(2:end,2:end).  (11)
This step is successively performed until all the vectors are quantized.

(36) The above successive beamforming technique generates different amounts of feedback for different ranks. Therefore, if the number of feedback bits is given, different size codebooks can be generated to be used for different rank beamforming. For example, where the possible rank of the channel is 1 or 2, and 8 bits of feedback are available, 1 bit can be dedicated for rank selection, and the other 7 bits for description of the eigenmodes. For rank 1, the 7 bits would provide for 2.sup.7=128 t-vectors to be used for the quantization of the dominant eigenmode of the channel. For rank 2, 4 bits can be used for the first eigenmode and 3 bits for the second eigenmode. As such, there would be 2.sup.4=16 t-vectors to quantize the first eigenmode, and 2.sup.3=8 (t−1)-vectors to quantize the second eigenmode.

(37) Due to the computational complexity and memory requirement of such a beamforming strategy, an alternative exemplary beamforming strategy which uses the same idea of successive beamforming described above to quantize the vectors for the rank-1 case, will now be described. In this exemplary embodiment, the same codebook of 16 t-vectors and 8 (t−1)-vectors that is used for rank-2 beamforming is also used for rank-1 beamforming. Assume that only one vector v.sub.1 is to be quantized using k codebooks comprised of t-vectors, (t−1)-vectors, etc., up to and including (t−k+1)-vectors, respectively.

(38) First, v.sub.1 is quantized using the codebook C.sup.(t) of the t-vectors in custom character.sup.t. The quantized vector u.sub.1εC.sup.(t) is chosen to maximize custom characterv.sub.1,u.sub.1custom character=|v.sub.1*u.sub.1|.

(39) Second, to find a finer description of v.sub.1, the residual part of v.sub.1 that lies in the orthogonal space defined by span{u.sub.1.sup.⊥} is determined. Let:
v.sub.2=v.sub.1−(v.sub.1*u.sub.1)u.sub.1,  (12)
which is then normalized:
v.sub.2′=v.sub.2/|v.sub.2|.  (13)
A rotation matrix φ(u.sub.1) is then determined such that:
φ(u.sub.1)u.sub.1=e.sub.1=[1;0;0; . . . ;0].  (14)

(40) Third, the vector v.sub.2 is rotated by the rotation matrix φ(u.sub.1):
v.sub.2″=φ(u.sub.1)v.sub.2′,  (15)
where the first element of v.sub.2″ is zero due to the fact that V is a unitary matrix and all of its columns are orthogonal.

(41) In a fourth step, the above three steps are then performed on a new vector, {tilde over (v)}.sub.2=v.sub.2″(2:end). This step will be performed successively until all k codebooks of t-vectors, (t−1)-vectors, up to (t−k+1)-vectors are used.

(42) Therefore the exemplary successive beamforming method is performed on v.sub.1, its residual on the orthogonal space span{u.sub.1.sup.⊥} defined by v.sub.2″, and so on, instead of the orthogonal modes v.sub.1, v.sub.2, . . . ,. By thus applying successive beamforming to the residual vectors, the ratio of the projection of v.sub.1 in each successive space needs to be quantized for the reconstruction. For example, for k=2, this entails quantizing the value |v.sub.1*u.sub.1|/|v.sub.2|. In some communication systems, feedback bits that are reserved for the feedback of the rate information for the rank-2 transmission strategy may be used to convey the quantization of this value.

Exemplary Codebook Representation

(43) The exemplary precoder selection process described above relies on a set of vectors V.sup.1={v.sub.1.sup.1εC.sup.M}.sub.i=1.sup.N.sup.1, V.sup.2={v.sub.1.sup.2εC.sup.M−1}.sub.i=1.sup.N.sup.2, . . . , V.sup.M−1={v.sub.1.sup.M−1εC.sup.2}.sub.i=1.sup.N.sup.M−1, where C.sup.N denotes the N-dimensional complex space and a set of rotations defined by φ(v) for all vectors v in the codebook.

(44) An exemplary representation of the codebook based on extending a result from the real vector space to the complex vector space will now be described. It is known that any M×M unitary matrix VεR.sup.M×R.sup.M (where R denotes the set of real numbers) can be written as:

(45) V = [ v 1 , HH ( v 1 - e 1 M ) [ 0 v 2 ] , HH ( v 1 - e 1 M ) [ 0 HH ( v 2 - e 1 M - 1 ) [ 0 v 3 ] ] ] , ( 16 )
where v.sup.a denotes the a.sup.th column of matrix V and v.sub.b.sup.a denotes the b.sup.th element of the vector v.sup.a and

(46) H ( w ) = I - 2 ww T .Math. w .Math. 2
is the Householder transformation. This expansion, however, cannot be generally done for a matrix VεC.sup.M×C.sup.M, where C is the set of complex numbers.

(47) Any Unitary matrix V can be written in the form of:

(48) V = [ v 1 , Φ ( v 1 1 ) HH ( v 1 Φ ( v 1 1 ) - e 1 M ) [ 0 v 2 ] , Φ ( v 1 1 ) HH ( v 1 - e 1 M ) [ 0 Φ ( v 1 1 ) HH ( v 2 - e 1 M - 1 ) [ 0 v 3 ] ] ] , .Math. , ( 17 )
where e.sub.1.sup.N=[1,0, . . . ,0].sup.TεC.sup.N, v.sup.a denotes the a.sup.th column of matrix V, v.sub.b.sup.a denotes the b.sup.th element of the vector v.sup.a, and the function Φ(v.sub.b.sup.a), called the phase function, is defined as

(49) Φ ( v b a ) = v b a .Math. v b a .Math. .

(50) Based on the above expansion, the codebook for a MIMO system with M antennas is defined by sets of:
V.sup.1={v.sub.1.sup.1εC.sup.M}.sub.i=1.sup.N.sup.1,V.sup.2={v.sub.1.sup.2εC.sup.M−1}.sub.i=1.sup.N.sup.2, . . . ,V.sup.M−1={v.sub.1.sup.M−1εC.sup.2}.sub.i=1.sup.N.sup.M−1,  (18)
where the first elements of all the vectors are real-valued. The set of phases Φ(v.sub.b.sup.a) can be used in the design of the codebook based on the channel characteristics. The values of Φ(v.sub.b.sup.a), however, do not directly affect the computation of the inner product in finding the precoding matrix index.

(51) In an exemplary case, all phase functions are equal to one. In this case, the set of precoding matrices are formed using these vectors along with the unitary Householder matrices of the form,

(52) H ( w ) = I - 2 ww * .Math. w .Math. 2
(which is completely determined by the vector w). Then, for instance, a rank-3 codeword can be constructed from three vectors v.sub.i.sup.1εV.sup.1, v.sub.j.sup.2εV.sup.2, v.sub.k.sup.3εV.sup.3 as:

(53) A ( v i 1 , v j 2 , v k 3 ) = [ v i 1 , HH ( v i 1 - e 1 M ) [ 0 v j 2 ] , HH ( v i 1 - e 1 M ) [ 0 HH ( v j 2 - e 1 M - 1 ) [ 0 v k 3 ] ] ] . ( 19 )

(54) An advantageous aspect of the exemplary scheme is that only the set of vectors V.sup.1, . . . , V.sup.M−1 along with some complex scalars are stored at the UE which results in a considerably lower memory requirement compared to unstructured matrix codebooks.

(55) The matrix representation of the codebook can be stored at the base station, where memory requirements are not as stringent. For a given channel realization, the UE does not have to construct the precoding matrix to determine the optimal precoder index and the corresponding MMSE filter.

(56) For example, if the base station has M=4 transmit antennas, for a codebook of size 16 (per-rank), the following vector codebooks can be constructed:
V.sup.1={v.sub.j.sup.1εC.sup.4}.sub.i=1.sup.4,V.sup.2={v.sub.j.sup.2εC.sup.3}.sub.j=1.sup.4,V.sup.3=[1,0].sup.TεC.sup.2.  (20)
For convenience, the case of a 2-antenna UE is considered. The generalization to the 4-antenna case is straightforward. The codebook of rank-2 contains 16 precoding matrices obtained as:

(57) A ( v i 1 , v j 2 ) = [ v i 1 , HH ( v i 1 - e 1 4 ) [ 0 v j 2 ] ] , 1 i , j 4 , ( 21 )
and the codebook of rank-1 also has 16 possibilities that are obtained as the second columns of all possible {A(v.sub.i.sup.1,v.sub.j.sup.2)}, respectively.

Rank Adaptation Scheme for MIMO Downlink

(58) FIG. 2 is a block diagram of the downlink portion of an exemplary embodiment of a base station (BS) 200 of an orthogonal frequency-division multiplexing (OFDM) wireless MIMO communication system with feedback from the user equipment (UE). The base station 200 comprises a downlink scheduler 210, a multiplexer 220, multiple Adaptive Modulation and Coding scheme blocks (AMC) 230.1-230.k, and a beamforming block 250 driving multiple transmit antennas 260.1-260.t. The beamforming block 250 comprises power controllers 255.1-255.k, which scale the power of the signals for each stream to be transmitted along k different eigenvectors 265.1-265.k which are then combined in 270 and transmitted by the transmit antennas 260.1-260.t.

(59) The various blocks of the base station 200 operate in accordance with information fed-back from UE (not shown), including, for example, rank, beamforming matrix index, quantization power control, and Signal to Interference and Noise Ratio (SINR). The SINR information fed-back from the UEs is used by the downlink scheduler 210 to select a user stream from a plurality of user streams for transmission over the downlink to the intended UE. Based on the rank feedback, the multiplexer block 220 generates the appropriate number of signal streams and the AMC blocks 230 choose the corresponding modulation and coding for each stream.

(60) In an exemplary embodiment of the present invention, in order to achieve the best performance over an OFDM-based downlink with reasonable feedback, the available sub-carriers are divided into chunks of adjacent tones and provide a feedback signal including the rank information, the beamforming matrix index, and channel quality indices (CQIs) on a per-chunk basis. The CQIs can be the SINR for each stream. A chunk size of one is throughput optimal. Simulation results show, however, that a larger chunk size (if chosen properly) can significantly reduce the feedback overhead with almost negligible loss in throughput. This fact follows the property that the precoder, i.e., beamforming matrix, chosen for a tone usually is also the best precoder for the adjacent tones (up to a certain neighborhood size) out of the available quantized precoders in the codebook. It is possible to optimally design and also select wideband precoders for the set of parallel channels, i.e., all tones in the chunk. An exemplary strategy of selecting the optimal precoder for the center tone in each chunk and then using it for the entire chunk is described below. Moreover, to further reduce the feedback from the UEs, each UE can choose to send information about only the first few of its “best” chunks rather than all of them.

(61) FIG. 3 is a flowchart which generally illustrates the operation of a base station (BS) in accordance with an exemplary embodiment of the present invention. FIG. 4 is a flowchart illustrating the operation of a UE in accordance with the exemplary embodiment. A high-level description of FIGS. 3 and 4 is provided and details such as particular chunk-size used, OFDM implementation, etc. have been omitted for convenience.

(62) As shown in FIG. 3, at step 310, the base station obtains the various items of feedback information from each UE, including the rank information (k), the beamforming matrix index (i), and CQI(s). At 320, the base station selects the UE with the highest supportable rate and at 330, generates signal streams for the selected UE according to its rank and CQI(s). The signal of each stream is scaled at 340 in accordance with a power allocation ratio and at 350, each stream is multiplied by the corresponding column of the precoding matrix U and transmitted via the multiple transmit antennas to the receiving UE.

(63) At the UE, as shown in FIG. 4, the channel matrix H, the transmit power, and noise variance are estimated at 410. The ratio of transmit power to noise variance defines the transmit SNR used in the selection of the rank and the beamforming matrix. At step 420, the UE determines the rank k and power allocation P.sub.i using a modified capacity measure. In an alternative embodiment described below, these parameters are determined by the base station. An algorithm for carrying out step 420 is described below in greater detail with reference to FIG. 5.

(64) At 430, the UE determines the precoding matrix U.sub.i using successive beamforming. An exemplary successive beamforming algorithm which allows for a considerable reduction in computational complexity as well as the memory requirement of the UE without sacrificing much throughput performance is described below with reference to FIG. 6.

(65) At 440, the UE finds the index of the augmented precoding matrix as determined by the precoding matrix U.sub.i and the power allocation P.sub.i.

(66) At 450, the one or more CQIs are then calculated for the corresponding receiver (e.g., LMMSE or MMSE-SIC) using multiple or single codeword transmission. A CQI calculation algorithm is described below with reference to FIG. 7.

(67) FIG. 5 is a flowchart of an algorithm for determining the rank k and power allocations P.sub.i using a modified capacity measure f(H), defined below. At 510, the estimated channel matrix H, transmit power P, and noise variance are provided as inputs. At 520, the singular value decomposition is performed, as described above. At 530 and 540, a processing loop is initiated starting with the highest possible rank. At 550-570, for all quantized power vectors in the codebook of a given rank, the modified capacity measure F is calculated in accordance with the following expression:
f(H)=f(UDV*)=F.sub.i=log det(1+PD.sup.2diag(P.sub.i)).  (22)
where H is the estimated channel matrix and H=UDV* is the singular value decomposition of H.

(68) At 580, the maximum value of the modified capacity measure F.sub.i for the given rank is selected and designated F.sup.(k), referred to as the sum rate. At 590, a determination is made as whether the highest rank has been processed or whether F.sup.(k) is increasing. If either condition is true, operation branches to 591, in which the rank is decremented and the loop starting at 540 is repeated. If not, operation proceeds to 592 in which the rank and power allocation that maximize the sum rate F.sup.(k) are provided as outputs.

(69) In an alternative embodiment, successive beamforming can be performed for each rank separately, the CQI information can be calculated, and then a decision made as to which rank is optimal. Instead of trying out all of the possible ranks, the exemplary algorithm of FIG. 5, however, starts off with the maximum rank and decreases the rank until the point when the rate supported by the channel does not increase.

(70) FIG. 6 is a flowchart of an exemplary successive beamforming algorithm. At 610, the rank k is provided as an input and at 620, the singular value decomposition is performed, as described above. At 630-680, an inner product calculation between the eigenvectors of the channel the corresponding vectors from the codebook is performed within nested loops. At 690, the index of the precoding matrix uniquely determined by the set of quantized vectors is found and is output at 695.

(71) FIG. 7 is a flowchart of an exemplary CQI calculation algorithm for MCW transmission for reception by an LMMSE decoder. After inputting the precoding matrix and power allocation vector at 710, an intermediate variable Z is calculated at 720. A processing loop is then commenced at 730 in which a further intermediate variable S is calculated at 740. A CQI for each of the k streams of rank k is then calculated at 750 based on the intermediate variables S and Z. Operation loops back at 760 until the CQIs for all streams have been determined. The CQIs are then output at 770.

(72) As an alternative to determining a CQI for each stream, the CQIs of all streams of a rank can be combined, so as to output only one CQI value.

Simulation Results

(73) An exemplary embodiment of the present invention has been simulated with the parameters indicated in FIG. 8A. A modulation and coding scheme (MCS) table with 32 entries was chosen and was used for CQI quantization for all the simulated schemes. Since only two antennas are assumed at the UE, the transmission rank is at most two. As shown in FIG. 8B, eight bits are used for two-rank precoding feedback. The first bit indicates the beamforming rank followed by 7 bits that represents the index of a precoder for the given rank. For both rank 1 and rank 2 beamforming, the “xxxx” bits represent the feedback bits for the first vector and the “yyy” bits represent the feedback bits for the second vector.

(74) For rank 2, there would be a total of 2.sup.7 precoding (or beamforming) matrices, comprising the Cartesian product of 2.sup.4 vectors in C.sup.4 space and 2.sup.3 vectors in C.sup.3 space. Therefore, the total memory required to store the codebook would be 16*4+8*3=88 complex numbers. For rank 1, successive beamforming is applied in order to reduce the memory requirement from 2.sup.7*4=512 complex numbers to only 24 complex numbers.

(75) In accordance with the Spatial Channel Model (SCM) defined in 3GPP, a UE will be dropped with a given distribution when it is between 45 and 500 meters from the BS. As such, the initial pathloss and shadowing values affect the entire simulation results per run. In order to average out the effect of these parameters, the average performance of each scheme over multiple drops was simulated.

(76) As mentioned, the feedback signals are sent per chunk in order to reduce the feedback requirement. For the given simulation setup of FIG. 8A, using 21 adjacent tones was determined to be the best chunk size. FIG. 9 illustrates the effect of chunk size on the throughput of the exemplary scheme at P/N.sub.0=20 dB when the chunk size varies from 1 to 51. P/N.sub.0 is the ratio of the transmit power to the noise variance. It is observed that the throughput increases almost linearly at the beginning, with a relatively steep slope and then flattens out with a shallower slope at larger chunk sizes. In order to reduce the feedback requirement, it is desirable to increase the chunk size as much as possible, while the throughput will be adversely affected with larger chunk sizes. FIG. 9 shows that choosing approximately 21 tones per chunk provides the highest ratio of relative throughput per chunk size for the simulated exemplary embodiment.

(77) FIG. 10 illustrates the relative performance of the simulated exemplary scheme against fundamental limits using a finite set of rates (only 5 CQI bits). FIG. 10 shows that the relative gain due to the addition of channel state information at the transmitter (i.e., CSIRT versus CSIR) for the simulated scenario (4 transmit and 2 receive antennas) is considerable. Therefore, the importance of an effective feedback strategy becomes more dominant. FIG. 10 also shows that the simulated exemplary feedback strategy (in a typical scenario) is capable of bridging almost 80% of the gap between the performances of a system with CSIRT versus CSIR only.

(78) FIG. 11 provides a cross comparison of an exemplary scheme in accordance with the present invention against selected other schemes including: (i) PU2RC by Samsung with 8-bit feedback, (ii) antenna selection with 3-bits feedback, (iii) rank adaptation and cycling by Qualcomm, with SCW and 1-bit feedback, and (iv) a 2-streams antenna cycling scheme with no feedback. It should be noted that a thorough comparison between different schemes can be performed with system level simulation, whereas FIG. 11 provides a link level comparison.

(79) FIG. 12 shows the effect of a typical feedback error on the performance of the exemplary scheme. It seems that the effect of feedback error on the rank information bit is more destructive than its effect on the other feedback bits. Therefore, more protection for this bit is indicated.

UE Operation for Alternative Embodiment

(80) FIGS. 13A and 13B show a flowchart which illustrates the UE operation for an alternative exemplary embodiment of a rank adaptation scheme for a MIMO downlink in which the beamforming rank may be provided by the base station (BS) and which can accommodate various receivers, including LMMSE, MMSE-SIC, and ML receivers.

(81) As shown in FIG. 13A, the UE estimates the channel matrix H, the transmit power, and noise variance at 1310. At 1315, a determination is made as to whether or not the rank is provided by the BS. If not, operation proceeds to step 1320, in which the UE determines the rank k and power allocation P.sub.i using a modified capacity measure f(H). An algorithm for carrying out step 1320 is described above in greater detail with reference to FIG. 5.

(82) Operation proceeds to step 1322 in which the UE determines the precoding matrix U.sub.i using successive beamforming. A successive beamforming algorithm is described above with reference to FIG. 6.

(83) At 1330, the UE picks the index of the augmented precoding matrix, the augmented precoding matrix comprising by the precoding matrix U.sub.i and the power allocation P.sub.i.

(84) If it was determined at 1315 that the rank is provided by the BS, operation proceeds to step 1324 in which the UE determines the precoding matrix U.sub.i using successive beamforming. The successive beamforming algorithm described above with reference to FIG. 6 can be used for this purpose. Operation then proceeds to step 1326 in which the quantized power allocation that maximizes the following expression is determined:
log det[1+PHUdiag(P.sub.i)U.sup.HH.sup.H]  (23)
This expression defines the achievable rate of a precoded MIMO system with precoding matrix U and power allocation given by diag(P.sub.i), assuming a Gaussian codebook.

(85) The indexing is done by scanning row-by-row or column-by-column the black-and-white image representing UV spots and assigning a number to each spot in order.

(86) It is understood that the above-described embodiments are illustrative of only a few of the possible specific embodiments which can represent applications of the invention. Numerous and varied other arrangements can be made by those skilled in the art without departing from the spirit and scope of the invention.