Precoding with a codebook for a wireless system
09843376 · 2017-12-12
Assignee
Inventors
Cpc classification
H04B7/0456
ELECTRICITY
H04W52/42
ELECTRICITY
International classification
H04W52/42
ELECTRICITY
H04B7/0456
ELECTRICITY
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)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
DETAILED DESCRIPTION
(17) An exemplary multiple-antenna communication system 100 with quantized feedback is schematically shown in
(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=[XX.sup.H], (2)
[.] 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=.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ε. 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)
(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
(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 .sup.t. The quantized vector u.sub.1εC.sup.(t) is chosen to maximize
v.sub.1,u.sub.1
=|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 .sup.t. The quantized vector u.sub.1εC.sup.(t) is chosen to maximize
v.sub.1,u.sub.1
=|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.
(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)
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)
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)
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)
(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.
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)
(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)
(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)
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)
(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)
(62) As shown in
(63) At the UE, as shown in
(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
(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
(67)
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
(70)
(71)
(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
(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
(77)
(78)
(79)
UE Operation for Alternative Embodiment
(80)
(81) As shown in
(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
(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
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.