Systems and methods for reducing complexity in modulation coding scheme (MCS) adaptation
Granted 30 Jun 2015 · 1 office action
Current assignee: Huawei Technologies · originally Futurewei Technologies
Law firm: Law firm · Log in to unlock
Attorney: Attorney · Log in to unlock
Inventors: Aaron Callard, Hamidreza Farmanbar · Examiner: Charles C Jiang
Life of the application
9 dated eventsAbstract
The computational complexity of MCS adaptation for linear and non-linear MU-MIMO can be reduced by avoiding QR decomposition during subsequent stages of MCS adaptation. For instance, QR decomposition can be avoided in later stages of MCS adaptation by computing an instant upper right triangular matrix (R 1 ) directly from an earlier upper right triangular matrix (R) and an earlier unitary matrix (U), which were obtained during a previous stage of MCS adaptation. As such, the instant upper right triangular matrix (R 1 ) is obtained without performing QR decomposition on an instant Hermitian matrix (H 1 H ), thereby allowing MCS adaptation to be performed for the new user group with less complexity. Additionally, computational complexity of MCS adaptation for linear MU-MIMO can be further reduced by avoiding matrix inversion during subsequent stages of MCS adaptation.
Description
10 parts›TECHNICAL FIELD
The present disclosure relates generally to wireless communications, and, in particular embodiments, to systems and methods for reducing complexity in modulation coding scheme (MCS) adaptation.
›BACKGROUND
Modern communications networks utilize modulation coding scheme (MCS) adaptation to match signal transmission parameters to conditions of a radio link. Specifically, MCS adaptation is used to predict the coding rate for users during uplink/downlink scheduling, and is particularly useful when pairing users during multi-user multiple input multiple output (MU-MIMO) downlink scheduling. One drawback is that MCS adaptation becomes increasingly complex as users are added to the network. For instance, conventional MCS adaptation for MU-MIMO downlink scheduling can approach an order of cubic the number of transmit antenna (e.g., O(N 3 ) for a system having N transmit antennas). Accordingly, techniques and mechanisms for reducing the complexity of MCS adaptation are desired in order to better preserve network resources, e.g., processing or otherwise.
›SUMMARY OF THE INVENTION
Technical advantages are generally achieved by embodiments of this disclosure, which describe systems and methods for reducing complexity during MCS adaptation.
In accordance with an embodiment, a method for user selection is provided. In this example, the method includes selecting users for an initial user group and computing initial modulation coding schemes (MCSs) for users in the initial user group. Computing the initial MCSs for the users in the initial user group may include performing an initial QR decomposition operation for the initial user group. The method further includes adding a new user to the initial user group to obtain a new user group and computing a new MCS for the new user in the new user group, wherein computing the new MCS for the new user includes calculating the new MCS directly using information obtained from the initial QR decomposition operation and without performing a QR decomposition operation for the new user group. An apparatus for performing this method is also provided.
In accordance with another embodiment, another method for user selection is provided. In this example, the method includes selecting users for an initial user group, performing QR decomposition on an initial Hermitian matrix (H H ) associated with the initial user group to obtain an initial unitary matrix (Q) and an initial upper triangular matrix (R), adding a new user to the initial user group to obtain a new user group, and performing modulation coding scheme (MCS) adaptation for the new user group. The new user group associated with a new Hermitian matrix (H 1 H ), and performing MCS adaptation for the new user group includes computing a last column (r 1 ) of a new upper triangular matrix (R 1 ) corresponding to the new Hermitian matrix (H 1 H ) directly from at least the initial unitary matrix (Q) and the initial upper triangular matrix (R), thereby obtaining the new upper triangular matrix (R 1 ) without performing QR decomposition on the new Hermitian matrix (H 1 H ), and calculating MCSs for users in the new user group in accordance with the new upper triangular matrix (R 1 ).
In accordance with yet another embodiment, another method for user selection is provided. In this example, the method includes adding a first new user to an initial user group to obtain a first new user group. The first new user group associated with a first new Hermitian matrix (H 1 H ). The method further includes computing a first new unitary matrix (Q 1 ) and a first new upper triangular matrix (R 1 ) corresponding to the first new Hermitian matrix (H 1 H ), adding a second new user to the initial user group to obtain a second new user group, the second new user group associated with a second new channel matrix (H 2 ), computing a second new unitary matrix (Q 2 ) and a second new upper triangular matrix (R 2 ) corresponding to the second new Hermitian matrix (H 2 H ), adding both the first new user and the second new user to the initial user group to obtain a third new user group, and performing modulation coding scheme (MCS) adaptation for the third new user group. The third new user group associated with a third new channel matrix (H 12 ), and performing MCS adaptation for the third new user group includes computing a last column (r 12 ) of a third new upper triangular matrix (R 12 ) corresponding to the third new channel matrix (H 12 ) directly from at least the first new unitary matrix (Q 1 ), the first new upper triangular matrix (R 1 ), the second new unitary matrix (Q 2 ), and the second new upper triangular matrix (R 2 ), thereby obtaining the third new upper triangular matrix (R 12 ) without performing QR decomposition on the third new Hermitian matrix (H 12 H ), and predicting MCSs for users in the new user group in accordance with the third new upper triangular matrix (R 12 ). An Apparatus for performing this method is also provided.
In accordance with yet another embodiment, another method for user selection is provided. In this example, the method includes selecting users for an initial user group for which an initial channel matrix (H) corresponds, performing QR decomposition on an initial Hermitian matrix (H H ) associated with the initial user group to obtain an initial unitary matrix (Q) and an initial upper triangular matrix (R), inverting the upper triangular matrix (R) to obtain an initial inverted upper triangular matrix (R −1 ), adding a new user to the initial user group to obtain a new user group, and performing modulation coding scheme (MCS) adaptation for the new user group. The new user group is associated with a new Hermitian matrix (H 1 H ), and performing MCS adaptation for the new user group includes computing a new unitary matrix (Q 1 ) and a new upper triangular matrix (R 1 ) corresponding to the new Hermitian matrix (H 1 H ), computing a last column (s 1 ) of a new inverted upper triangular matrix (R 1 −1 ) corresponding to the new upper triangular matrix (R 1 ) directly from at least the new unitary matrix (Q 1 ) and a last column (r 1 ) of the new upper triangular matrix (R 1 ), thereby obtaining the new inverted upper triangular matrix (R 1 −1 ) without performing matrix inversion on the new upper triangular matrix (R 1 ), and predicting MCSs for users in the new user group in accordance with the new inverted upper triangular matrix (R 1 −1 ). An apparatus for performing this method is also provided.
›SUMMARY OF THE FIGURES
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:
FIG. 1 illustrates a wireless communications network.
FIG. 2 illustrates a wireless communications network configured for MU-MIMO;
FIG. 3 illustrates a flowchart of an embodiment method for performing MCS adaptation to predict coding rates during non-linear MU-MIMO user selection;
FIG. 4 illustrates a flowchart of another embodiment method for performing MCS adaptation to predict coding rates during non-linear MU-MIMO user selection;
FIG. 5 illustrates an embodiment method for performing MCS adaptation to predict coding rates during linear MU-MIMO user selection;
FIG. 6 illustrates another embodiment method for performing MCS adaptation to predict coding rates during linear MU-MIMO user selection; and
FIG. 7 illustrates a high-level block diagram of a communications device.
Corresponding numerals and symbols in the different figures generally refer to corresponding parts unless otherwise indicated. The figures are drawn to clearly illustrate the relevant aspects of this disclosure and are not necessarily drawn to scale.
›DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS · 1 of 6
The making and using of the presently disclosed embodiments are discussed in detail below. It should be appreciated, however, that the present invention provides many applicable concepts that can be embodied in a wide variety of specific contexts. The specific embodiments discussed are merely illustrative of specific ways to make and use the invention, and do not limit the scope of the invention.
Much of the complexity associated with MCS adaptation for MU-MIMO is attributable to processing related to QR decomposition, which is a computation performed to calculate MCSs for users in a user group. More specifically, QR decomposition is performed on a Hermitian MU-MIMO channel matrix (H H ) corresponding to a new user group in order to obtain an upper-right triangular matrix (R). The upper-right triangular matrix (R) (or an inverse thereof) is used to calculate the MCSs corresponding to a MU-MIMO channel extending between the transmitter and the users in the instant user group. During conventional MCS adaptation, QR decomposition is performed for each evaluated user group. For instance, QR decomposition is performed for each possible user group computation when user selection is based on a brute-force or exhaustive search approach. As a result, the complexity associated with conventional MCS adaptation for MU-MIMO downlink scheduling can approach an order of cubic the number of transmit antenna (e.g., O(N 3 ) for a system having N transmit antennas).
Aspects of this disclosure reduce the computational complexity of MCS adaptation for MU-MIMO by circumventing QR decomposition during subsequent stages of MCS adaptation. More specifically, an instant upper right triangular matrix (R 1 ) is computed directly from an earlier upper right triangular matrix (R) and an earlier unitary matrix (U), which were obtained during an earlier stage of MCS adaptation. As such, the instant upper right triangular matrix (R 1 ) is obtained without performing QR decomposition on the instant Hermitian matrix (H 1 H ). Additional aspects of this disclosure circumvent inversion of the instant upper right triangular matrix (R 1 ) to further reduce the computational complexity of MCS adaptation during non-linear MU-MIMO user selection. As discussed herein, calculating MCSs for users in a user group refers to any computation relating to the selection of a coding and modulation scheme for transmissions to users in the user group. For instance, calculating MCSs for a user group may include calculating/predicting Shannon rates for users in the user group based on an upper right triangular matrix (e.g., obtained through QR decomposition or alternative mechanisms described herein), and then mapping the Shannon rates to MCSs for users in the user group. Mapping the Shannon rates to MCSs of users in the user group may be achieved in a variety of ways, some of which are discussed in chapter 9 of Cisco Wireless LAN Configuration Guide (Release 7.0.116.0), which is incorporated herein by reference as if reproduced in its entirety. For instance, table 9-3 in the Cisco Wireless LAN Configuration Guide shows a mapping of required link SNR (last column) to MCS (second column). Other mappings may also be used.
FIG. 1 illustrates a wireless network 100 comprising an eNBs 110 configured to provide wireless access to a plurality of UEs 120 - 160 in a cellular coverage area (cell) 101 . The eNB 110 may be any device configured to provide wireless access, and may be any one of a number of wireless devices including NodeBs, base stations, communications controllers, controllers, femtocells, home base stations, etc. The UEs 120 - 160 may be any device that allows a user to access the wireless network 100 , and may be commonly referred to as mobile stations, subscribers, terminals, users, etc. In some embodiments, the wireless network 100 may include other wireless devices (not shown), including relays, femtocells, picocells, etc. As depicted in FIG. 1 , the UEs 110 - 160 may communicate with the eNB 110 over the wireless links (dashed arrows). In some systems, multi-antenna transmission techniques may be used to communicate over one or more of the wireless links in order to improve wireless performance (e.g., throughput, coverage, etc.) of the wireless network 100 . As discussed herein, the terms user, mobile station, terminal, user terminal, subscriber, subscriber device, station, and UE may be used interchangeably. User groups may be selected by a network controller, which may be an eNB or a central controller scheduler.
FIG. 2 illustrates a wireless network 200 in which an eNB 210 is configured to perform multi-antenna downlink transmissions to the UEs 220 - 280 . In embodiments, the eNB 210 may perform multi-antenna downlink transmissions in accordance with a linear or non-linear MU-MIMO transmission technique, which may include assigning spatial resources to UEs 220 - 280 . More specifically, the eNB 210 may perform MCS adaptation to determine which group of the UEs 220 - 280 (referred to herein as a ‘user group’) should be scheduled for a given time-frequency instance, as well as to determine which precoding weights (e.g., spatial resources) to assign to those users. MCS adaptation may include computing a utility function (also called a sum of utility functions or ‘sum utility function’ for short) for at least some of the possible user groups/combinations to determine which pairing of users maximizes the utility function (also called a sum of utility functions). The sum utility function may be determined in accordance with various weighted factors, such as coverage, throughput, latency, and others, and may be used a general yardstick for judging the performance of the network within the context of objectives set forth by the network administrator. When an exhaustive search is used, all possible user group combinations are considered. When a non-exhaustive search (e.g., schedule and pair approach, etc.) is used, fewer than all possible user group combinations are considered.
›DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS · 2 of 6
Conventional MCS adaptation performs QR decomposition for each evaluated user group. Aspects of this disclosure provide an alternative to QR decomposition during subsequent stages of MCS adaptation for non-linear MU-MIMO. FIG. 3 illustrates a method 300 for performing MCS adaptation to calculate MCSs during non-linear MU-MIMO user selection, as might be performed by a network controller. The method 300 begins at step 310 , where the network controller selects users for an initial user group. The method 300 then proceeds to step 320 , where the network controller computes an initial Hermitian matrix (H H ) of an initial channel matrix (H) associated with the initial user group. Thereafter, the method 300 proceeds to step 330 , where the network controller performs QR decomposition on the initial Hermitian matrix (H H ) to obtain an initial unitary matrix (Q) and an initial upper triangular matrix (R). Next, the method 300 proceeds to step 340 , where the network controller adds a first user to the initial user group to obtain a new user group. Subsequently, the method 300 proceeds to step 350 , where the network controller computes an initial Hermitian matrix (H 1 H ) of a first channel matrix (H 1 ) associated with the new user group.
Next, the method 300 proceeds to step 360 , where the network controller computes a first unitary matrix (Q 1 ) corresponding to the first Hermitian matrix (H 1 H ) directly from the initial unitary matrix (Q). That is to say, the network controller computes the first unitary matrix (Q 1 ) without performing QR decomposition on the first Hermitian matrix (H 1 H ). More specifically, the network controller computes the last column (e 1 ) of the first unitary matrix (Q 1 ) in accordance with the formula:
e 1 = h 1 H - ∑ k = 1 K proj q k h 1 H h 1 H - ∑ k = 1 K proj q k h 1 H ,
where h 1 H is a column in the first Hermitian matrix (H 1 H ) that corresponds to the new user, proj q k h 1 H is a vector projection of the h 1 H onto a k th column (q k ) of the initial unitary matrix (Q), and K is a number of users in the initial user group.
Thereafter, the method 300 proceeds to step 370 , where the network controller computes a first upper triangular matrix (R 1 ) corresponding to the first Hermitian matrix (H 1 H ) directly from the first unitary matrix (Q 1 ) and the initial upper triangular matrix (R). That is to say, the network controller computes the first upper triangular matrix (R 1 ) without performing QR decomposition on the first Hermitian matrix (H 1 H ). More specifically, the elements of the last column (r 1 ) of the first upper triangular matrix (R 1 ) are computed in accordance with the following formula:
[ r 1 ] k = { 〈 q k , h 1 H 〉 k = 1 , … , K 〈 e 1 , h 1 H 〉 k = K + 1 ,
where [r 1 ] k is a value for a k th element of the last column (r 1 ) of the first upper triangular matrix (R 1 ), and where (K+1) is a number of users in the first new user group.
Finally, the method 300 proceeds to step 380 , where the network controller uses the first upper triangular matrix (R 1 ) to calculate MCSs for users in the new user group. More specifically, the MCS for each user in the new user group in accordance with the formula:
r k = log ( 1 + r kk 2 KN 0 ) ,
where r k is a calculated rate for a k th user in the first new user group.
Aspects of this disclosure can also be applied to later stages of MCS adaptation. FIG. 4 illustrates a method 400 for performing MCS adaptation to calculate coding rates during non-linear MU-MIMO user selection, as might be performed by a network controller. The method 400 begins at step 410 , where the network controller adds a first new user to an initial user group. Next, the method 400 proceeds to step 420 , where the network controller computes a first upper triangular matrix (R 1 ) and a first unitary matrix (Q 1 ) corresponding to a first channel matrix (H 1 ) associated with the first new user group. The first upper triangular matrix (R 1 ) and a first unitary matrix (Q 1 ) may be computed directly from a known upper triangular matrix (R) and a known unitary matrix (Q) corresponding to the initial user group using techniques discussed supra in FIG. 3 . Alternatively, the first upper triangular matrix (R 1 ) and a first unitary matrix (Q 1 ) may be computed by performing QR decomposition on a first Hermitian matrix (H 1 H ) of the first channel matrix (H 1 ).
Thereafter, the method 400 proceeds to step 430 , where the network controller adds a second new user to the initial user group to obtain a second new user group. Subsequently, the method 400 proceeds to step 440 , where the network controller computes a second upper triangular matrix (R 2 ) and a second unitary matrix (Q2) corresponding to a second channel matrix (H 2 ) associated with the second new user group. The second upper triangular matrix (R 2 ) and the second unitary matrix (Q 2 ) may be computed directly from the known upper triangular matrix (R) and the known unitary matrix (Q) corresponding to the initial user group using techniques discussed supra in FIG. 3 . Alternatively, the second upper triangular matrix (R 2 ) and the second unitary matrix (Q 2 ) may be computed by performing QR decomposition on a second Hermitian matrix (H 2 H ) of the second channel matrix (H 2 ).
Next, the method 400 proceeds to step 450 , where the network controller adds both the first user and the second new user to the initial user group to obtain a combined user group. Thereafter, the method 400 proceeds to step 460 , where the network controller computes a third Hermitian matrix (H 12 H ) for a third channel matrix (H 12 ) associated with the combined user group. Subsequently, the method 400 proceeds to step 470 , where the network controller computes a third unitary matrix (Q 12 ) corresponding to the third Hermitian matrix (H 12 H ) directly from the first unitary matrix (Q 1 ) and the second unitary matrix (Q 2 ). For example, the network controller computes the third unitary matrix (Q 12 ) without performing QR decomposition on the third Hermitian matrix (H 12 H ). More specifically, the third unitary matrix (Q 12 ) is expressed as follows: Q 12 =[Q 1 e 12 ] N×(K+2) , where e 12 is the last column of the third unitary matrix (Q 12 ). The last column (e 12 ) may be computed in accordance with the formula:
›DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS · 3 of 6
e 12 = h 2 H - ∑ k = 1 K + 1 proj q k h 2 H h 2 H - ∑ k = 1 K + 1 proj q k h 2 H ,
where h 2 H is a column in the third Hermitian matrix (H 12 H ) that corresponds to the second new user, proj q k h 2 H is a vector projection of the h 2 H onto a k th column (q k ) of the first unitary matrix (Q 1 ), and K is a number of users in the initial user group.
Next, the method 400 proceeds to step 480 , where the network controller computes a third upper triangular matrix (R 12 ) corresponding to the third Hermitian matrix (H 12 H ) directly from the first upper triangular matrix (R 1 ), the second upper triangular matrix (R 2 ), and third unitary matrix (Q 12 ). That is to say, the third upper triangular matrix (R 12 ) is computed without performing QR decomposition on the third Hermitian matrix (H 12 H ). More specifically, the third upper triangular matrix (R 12 ) may be expressed as follows:
R 12 = [ R 1 0 … 0 r 12 ] ( K + 2 ) × ( K + 2 ) ,
where r 12 is the last column of the third upper triangular matrix (R 12 ). The last column (r 12 ) may be computed in accordance with the formula:
[ r 12 ] k = { 〈 q k , h 12 H 〉 k = 1 , … , K 〈 e 1 , h 12 H 〉 k = K + 1 〈 e 12 , h 12 H 〉 k = K + 2 ,
where [r 12 ] k is a value for a k th element of the last column (r 12 ) of the third upper triangular matrix (R 12 ), and where (K+1) is a number of users in the first new user group, and where (K+2) is a number of users in the third new user group. Finally, the method 400 proceeds to step 490 , where the network controller uses the third upper triangular matrix (R 12 ) to calculate MCSs for users in the combined user group.
Aspects of this disclosure also provide an alternative to QR decomposition during subsequent stages of MCS adaptation for linear MU-MIMO. FIG. 5 illustrates a method 500 for performing MCS adaptation to predict coding rates during linear MU-MIMO user selection, as might be performed by a network controller. The method 500 begins at step 510 , where the network controller selects users for an initial user group. The method 500 then proceeds to step 520 , where the network controller computes an initial Hermitian matrix (H H ) of an initial channel matrix (H) associated with the initial user group. Thereafter, the method 500 proceeds to step 530 , where the network controller performs QR decomposition on the initial Hermitian matrix (H H ) to obtain an initial unitary matrix (Q) and an initial upper triangular matrix (R). Next, the method 500 proceeds to step 540 , where the network controller inverts the initial upper triangular matrix (R) to obtain an initial inverted upper triangular matrix (R −1 ). Thereafter, the method 500 proceeds to step 550 , where the network controller adds a first user to the initial user group to obtain a new user group. Subsequently, the method 500 proceeds to step 560 , where the network controller computes an initial Hermitian matrix (H 1 H ) of a first channel matrix (H 1 ) associated with the new user group. Thereafter, the method 500 proceeds to steps 570 and 580 , where the network controller computes a first unitary matrix (Q 1 ) and a first upper triangular matrix (R 1 ) corresponding to the first Hermitian matrix (H 1 H ) directly from the initial unitary matrix (Q) and the initial upper triangular matrix (R) in a manner similar to that described in FIG. 3 , e.g., without performing QR decomposition on the first Hermitian matrix (H 1 H ).
Next, the method proceeds to step 585 , where the network controller computes a first inverted upper triangular matrix (R 1 −1 ) of the first upper triangular matrix (R 1 ) recursively without performing matrix inversion on the first upper triangular matrix (R 1 ). More specifically, the first inverted upper triangular matrix (R 1 −1 ) may be expressed as follows:
R 1 - 1 = ⌊ R - 1 0 … 0 s 1 ⌋ ,
where s 1 is the last column of the first inverted upper triangular matrix (R 1 −1 ).
The last column (s 1 ) can be computed in accordance with the following:
In embodiments, the above may be consolidated as follows:
Finally, the method 500 proceeds to step 590 , where the network controller uses the first inverted upper triangular matrix (R 1 −1 ) to compute a scaling factor (c) used for calculating MCSs for users in the new user group. More specifically, the scaling factor (c) is computed in accordance with the following formula:
c = 1 ∑ k = 1 K d k 2 × [ R - 1 ] k 2 ,
where d k is a k th diagonal element of a diagonal matrix (D) representing precoder power allocation, and [R −1 ] k is a vector corresponding to a k th row of the first inverted upper triangular matrix (R 1 −1 ). After computing the scaling factor (c), the network controller can predict the MCS for each user in the new user group in accordance with the formula:
Rate k = log ( 1 + c 2 d k 2 N 0 ) ,
where Rate k is the Shannon rate for a k th user, and N 0 is the noise power.
Aspects related to FIG. 5 can also be applied to later stages of MCS adaptation. FIG. 6 illustrates a method 600 for performing MCS adaptation to predict coding rates during linear MU-MIMO user selection, as might be performed by a network controller. The method 600 begins at step 610 , where the network controller adds a first new user to an initial user group. Next, the method 600 proceeds to step 620 , where the network controller computes a first inverted upper triangular matrix (R 1 −1 ) corresponding to a first Hermitian channel matrix (H 1 H ) associated with the first new user group. Thereafter, the method 600 proceeds to step 630 , where the network controller adds a second new user to the initial user group to obtain a second new user group.
Subsequently, the method 600 proceeds to step 640 , where the network controller computes a second inverted upper triangular matrix (R 2 −1 ) corresponding to a second Hermitian channel matrix (H 2 H ) associated with the second new user group. Next, the method 600 proceeds to step 650 , where the network controller adds both the first user and the second new user to the initial user group to obtain a combined user group. Thereafter, the method 600 proceeds to step 660 , where the network controller computes a third upper triangular matrix (R 12 ) and a third unitary matrix (Q 12 ) corresponding to the third Hermitian matrix (H 12 H ). Subsequently, the method 600 proceeds to step 670 , where the network controller computes a third inverted upper right triangular matrix (R 2 −1 ) directly from the first new upper triangular matrix (R 1 −1 ) and the second inverted upper triangular matrix (R 2 −1 ) without performing matrix inversion on the third upper triangular matrix (R 12 ). More specifically, the first new upper triangular matrix (R 1 −1 ) can be expressed as
›DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS · 4 of 6
R 1 - 1 = [ R - 1 - R - 1 [ r 1 ] 1 : K [ r 1 ] K + 1 - 1 00 … 0 [ r 1 ] K + 1 - 1 ] ,
the second new inverted upper triangular matrix (R 2 −1 ) can be expressed as
R 2 - 1 = [ R - 1 - R - 1 [ r 2 ] 1 : K [ r 2 ] K + 1 - 1 00 … 0 [ r 2 ] K + 1 - 1 ] ,
and the third new inverted upper triangular matrix can be expressed as
R 12 - 1 = [ R 1 - 1 - R 1 - 1 [ [ r 2 ] 1 : K α ] β - 1 00 … 0 β - 1 ] .
Finally, the method 600 proceeds to step 680 , where the network controller uses the third inverted upper triangular matrix (R 12 ) to calculate MCSs for users in the new user group.
The following is a brief description of the mathematical steps used to achieve aspects of this disclosure. During conventional MCS adaptation for linear MU-MIMO user selection, a zero-forcing MU-MIMO precoder can be expressed as: P N×K =cH H (HH H ) −1 D where D K×K is a diagonal matrix with diagonal elements d 1 , . . . , d K to allow power allocation on the columns of precoder, and c is a scalar to limit the transmit power. The transmit signal is given by: x N×1 =P N×K u K×1 , here u K×1 is the vector of user signals chosen from a unit power constellation. Without loss of generality, the unit transmit power is given as follows:
tr(PP H )=c 2 tr(H H (HH H ) −1 D 2 (HH H ) −1 H)
tr(PP H )=c 2 tr(HH H ) −1 D 2 )
tr(PP H )=1
Accordingly, the scaling factor is then given by:
c = 1 tr ( ( HH H ) - 1 D 2 ) ,
and the received signal at user k is given by y k cd k u k +z k , k=1, . . . , K. In order to calculate the rate of users, (e.g., MCS adaptation for users) from the received signal equation, the scaling factor c is calculated. For instance, if a Shannon rate is used for MCS adaptation, the rate of user k will be given by:
r k = log ( 1 + c 2 d k 2 N 0 ) .
Because matrix pseudo-inverse calculation is used to calculate the scaling factor c, the computational complexity of rate calculation (MCS adaptation for users) is on the order of the number of transmit antennas cubed (e.g., complexity is O(N 3 ).
During conventional MCS adaptation for non-linear MU-MIMO user selection, a MU-MIMO channel matrix by (H K×N ) of the MU-MIMO channel extending between the transmitter (having K transmit antennas) and a user group (having N users) is obtained through channel estimation. Next, a Hermitian matrix (H H ) is obtained by taking the conjugate transpose of the MU-MIMO channel matrix. Thereafter, QR decomposition of the Hermitian matrix (H H ) is performed to obtain the upper-right triangular matrix (R K+K ) in accordance with the following formula: H H =Q N×K R K×K , where Q N×K is the unitary matrix of the Hermitian matrix (H H ). The unitary matrix (Q N×K ) has orthonormal columns and the upper-right Triangular matrix (R K+K ) has diagonal element (r kk ) having real, non-zero, values.
The orthogonal columns of (Q N×K ) may be expressed in vectors (u ii ), with u K×1 , representing the vector of user signals chosen from a unit power constellation. A nonlinear operation is applied to u K×1 , to obtain a nonlinearly precoded vector v K×1 . Hence, the transmitted signal (x N×1 ) is given by x N×1 =Q N×K v K×1 . The received vector (Y K+1 ) containing the received signal of users is given by:
y K × 1 = Hx + z = R H Q H Qv + z = R H v + z ,
where z is circularly symmetric Gaussian noise vector with covariance matrix R z =N 0 I.
Accordingly, the original MU-MIMO channel turns into L interference sub-channels:
Hence, user k experiences interference only from users j<k. Dirty paper coding (DPC) can be applied on each sub-channels in (1) to cancel the interference on users. With DPC, the calculated rate of user k is given by
r k = log ( 1 + r kk 2 KN 0 ) .
However, DPC may be too complex for practical implementation. A lower complexity alternative to DPC may be zero forcing Tomlinson-Harashima precoding (ZF-THP), which includes the nonlinear step:
v 1 = u 1 v 2 = u 2 - r 12 * r 22 v 1 + τ l 2 ⋮ v K = u K - r ( K - 1 ) K * r KK v K - 1 - … - r 1 K * r KK v 1 + τ l K ,
where l 2 , . . . , l K are complex integers chosen such that elements of the nonlinearly precoded vector v remain within the original constellation boundaries.
Regardless of which conventional approach is relied upon (e.g., DPC, ZF-THP, etc.), the diagonal element of R should be known in order to calculate the MCS for users in the user group.
Assume K users are selected for DL MU-MIMO transmission using ZF-THP. Denote the corresponding MU-MIMO channel matrix by H K×N . Let the QR decomposition of H H be given by H H =Q N×K R K×K , where Q has orthonormal columns and R is an upper triangular matrix with real entries on the diagonals. Let u K×1 be the vector of user signals chosen from a unit power constellation. A nonlinear operation (to be described later) is applied to u K×1 to obtain a nonlinearly precoded vector v K×1 . The transmitted signal is given by x N×1 =Q N×K v K×1 , and the received vector containing the received signal of users is given by
y K × 1 = Hx + z = R H Q H Qv + z = R H v + z ,
where z is circularly symmetric Gaussian noise vector with covariance matrix R z =N 0 I. So the original MU-MIMO channel turns into L interference sub-channels given by
y k = r kk v k + ∑ j < k r jk * v j + z k , k = 1 , … , K , where r jk = [ R ] jk .
From this, user k experiences interference only from users j<k. Dirty paper coding (DPC) can be applied on each sub-channels to cancel the interference on users. This approach is described in Beal, M. J., Variational algorithms for approximate Bayesian inference, PhD thesis, Gatsby Computational Neuroscience Unit, University College London, 2003, which is incorporated by reference herein as if reproduced in its entirety. With DPC, the calculated rate of user k is given by
r k = log ( 1 + r k k 2 K N 0 ) .
DPC may be too complex for implementation. Tomlinson-Harashima precoding (THP) may be a lower complexity approach for interference cancellation. The nonlinear step of ZF-THP is given by:
›DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS · 5 of 6
v 1 = u 1 v 2 = u 2 - r 12 * r 22 v 1 + τ l 2 ⋮ v K = u K - r ( K - 1 ) K * r KK v K - 1 - … - r 1 K * r KK v 1 + τ l K ,
where l 2 , . . . , l K are complex integers chosen such that elements of the nonlinearly precoded vector v remain within the original constellation boundaries.
According to this, in order to calculate the calculated rate of users, the diagonal elements of R is calculated. The complexity of this calculation is O(N 3 ).
The following is a brief description of the mathematical steps used to achieve aspects of this disclosure as described in FIG. 3 . Let H H =Q N×K R K×K . Denote the augmented H by H 1 defined as
H 1 = [ H h 1 ] ( K + 1 ) × N .
Also, denote the corresponding unitary and upper triangular matrices resulted from QR decomposition of H 1 H by Q 1 and R 1 , respectively. We note the following:
Q 1 = [ Q e 1 ] N × ( K + 1 ) and R 1 = ⌊ R 0 … 0 r 1 ⌋ ( K + 1 ) × ( K + 1 ) .
Therefore, only the last columns of R 1 and Q 1 need to be calculated. This can be done by projecting the last row of the augmented channel to columns of Q denoted by q 1 , . . . , q K as follows in the next equations.
w 1 = h 1 H - proj q 1 h 1 H - … - proj q K h 1 H ,
where proj b a = 〈 b , a 〉 〈 b , b 〉 b and 〈 a , b 〉 = a H b ,
The last column of Q 1 is then given by
e 1 = w 1 w 1
and the elements of column r 1 are given by
[ r 1 ] k = { 〈 q k , h 1 H 〉 k = 1 , … , K 〈 e 1 , h 1 H 〉 k = K + 1 .
Accordingly the computational complexity of QR decomposition of the augmented channel is reduced from O(N 3 ) to O(N 2 ).
The following is a brief description of the mathematical steps used to achieve aspects of this disclosure as described in FIG. 4 . Let H H =Q N×K R K×K and H 1 and H 2 be the augmented matrices defined as
H 1 = [ H h 1 ] ( K + 1 ) × N and H 2 = [ H h 2 ] ( K + 1 ) × N
with QR decompositions H 1 H =Q 1 R 1 and H 2 H =Q 2 R 2 . A low complexity method to calculate the QR decomposition of
H 12 = [ H h 1 h 2 ] .
Let the QR decomposition of H 12 H be given by H 12 H =Q 12 R 12 . Accordingly,
Q 12 = [ Q 1 e 12 ] N × ( K + 2 ) and R 12 = [ R 1 0 … 0 r 12 ] ( K + 2 ) × ( K + 2 )
are obtained. In order to calculate e 12 and r 12 , previous calculations for both H 1 and H 2 are exploited. The steps for calculating e 12 and r 12 are as follows.
w 12 = h 2 H - proj q 1 h 2 H - … - proj q K h 2 H ︸ w 2 - proj e 1 h 2 H and e 12 = w 12 w 12 .
Moreover w 2 has been calculated in the QR decomposition of H 2 H so only one projection is needed and extra calculations can be avoided. The elements of column r 12 are given by
[ r 12 ] k = { 〈 q k , h 2 H 〉 k = 1 , … , K 〈 e 1 , h 2 H 〉 k = K + 1 〈 e 12 , h 2 H 〉 k = K + 2 .
Further, the first K elements of w 2 have been calculated in the QR decomposition of H 2 H and only two inner products needs to be calculated. This reduces the computational complexity from O(N 3 ) to O(N).
The following is a brief description of the mathematical steps used to achieve aspects of this disclosure as described in FIG. 5 . Let H H =Q N×K R K×K , then (HH H ) −1 =R −1 R −H . Therefore, we have
tr ( PP H ) = c 2 tr ( R - 1 R - H D 2 ) = c 2 ∑ k = 1 K d k 2 × [ R - 1 ] kth row 2 ,
from which
c = 1 ∑ k = 1 K d k 2 × [ R - 1 ] kth row 2
is derived. The augmented H by H 1 defined above, as are the unitary and upper triangular matrices resulted from QR decomposition of H 1 H by Q 1 and R 1 , respectively. It can be shown that R 1 −1 has the following form
R 1 - 1 = ⌊ R - 1 0 … 0 s ⌋
where the elements of column s should satisfy the following set of linear equations which are obtained from R 1 −1 R 1 =I and
r K + 1 s K + 1 = 1 ∑ j = k K [ R ] kj s j + r k s K + 1 = 0 k = 1 , 2 , … K .
From the above equations, we obtain
s K + 1 = 1 r K + 1 and s K = - r K [ R ] KK r K + 1 .
Suppose s K , s K−1 , . . . , s i are known. The rest of the elements are obtained by successively using the following recurrence equation
s i - 1 = - 1 [ R ] ( i - 1 ) ( i - 1 ) ( ∑ j = 1 K [ R ] ( i - 1 ) j s j - r i - 1 r K + 1 ) .
Once R 1 −1 is calculated, the updated scaling factor is obtained from R replaced by R 1 . The computational complexity using is quadratic with N, thereby reducing the complexity from O(N 3 ) to O(N 2 ).
The following is a brief description of the mathematical steps used to achieve aspects of this disclosure as described in FIG. 6 . Let H H =Q N×K R K×K and let H 1 , H 2 , H 12 and their corresponding QR decompositions are given above. As explained before, we have
R 1 = ⌊ R 0 … 0 r 1 ⌋ ( K + 1 ) × ( K + 1 ) and R 2 = ⌊ R 0 … 0 r 2 ⌋ ( K + 1 ) × ( K + 1 ) .
The first K elements of r 12 and r 1 are the same. So, we have
r 12 = [ [ r 2 ] 1 : K α β ] .
Thereafter, the following matrix identity is used for inverting a partitioned matrix:
[ A 11 A 12 A 21 A 22 ] - 1 = [ F 11 - 1 - F 11 - 1 A 12 A 22 - 1 - A 22 - 1 A 21 F 11 - 1 F 22 - 1 ] .
Applying the above identity to the above partitioned matrices, R 1 −1 and R 2 −1 can be expressed in terms of R 1 and R 2 as
R 1 - 1 = [ R - 1 - R - 1 [ r 1 ] 1 : K [ r 1 ] K + 1 - 1 00 … 0 [ r 1 ] K + 1 - 1 ] and R 2 - 1 = [ R - 1 - R - 1 [ r 2 ] 1 : K [ r 2 ] K + 1 - 1 00 … 0 [ r 2 ] K + 1 - 1 ] .
Additionally, R 12 −1 is expressed as
R 12 - 1 = [ R 1 - 1 - R 1 - 1 [ [ r 2 ] 1 : K α ] β - 1 00 … 0 β - 1 ] .
Hence, only
R 1 - 1 [ [ r 2 ] 1 : K α ]
needs to be calculated. We have
R 1 - 1 [ [ r 2 ] 1 : K α ] = [ R - 1 - R - 1 [ r 1 ] 1 : K [ r 1 ] K + 1 - 1 00 … 0 [ r 1 ] K + - 1 ] [ [ r 2 ] 1 : K α ] = [ R - 1 [ r 2 ] 1 : K - α R - 1 [ r 1 ] 1 : K [ r 1 ] K + 1 - 1 α [ r 1 ] K + 1 - 1 ]
and R −1 [r 1 ] 1:K and R −1 [r 2 ] 1:K have already been computed. Therefore,
R 1 - 1 [ [ r 2 ] 1 : K α ]
can be calculated with linear complexity.
FIG. 7 illustrates a block diagram of an embodiment of a communications device 700 , which may be equivalent to one or more devices (e.g., UEs, NBs, etc.) discussed above. The communications device 700 may include a processor 704 , a memory 706 , a cellular interface 710 , a supplemental wireless interface 712 , and a supplemental interface 714 , which may (or may not) be arranged as shown in FIG. 7 . The processor 704 may be any component capable of performing computations and/or other processing related tasks, and the memory 706 may be any component capable of storing programming and/or instructions for the processor 704 . The cellular interface 710 may be any component or collection of components that allows the communications device 700 to communicate using a cellular signal, and may be used to receive and/or transmit information over a cellular connection of a cellular network. The supplemental wireless interface 712 may be any component or collection of components that allows the communications device 700 to communicate via a non-cellular wireless protocol, such as a Wi-Fi or Bluetooth protocol, or a control protocol. The device 700 may use the cellular interface 710 and/or the supplemental wireless interface 712 to communicate with any wirelessly enabled component, e.g., a base station, relay, mobile device, etc. The supplemental interface 714 may be any component or collection of components that allows the communications device 700 to communicate via a supplemental protocol, including wire-line protocols. In embodiments, the supplemental interface 714 may allow the communications device 700 to communicate with another component, such as a backhaul network component.
›DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS · 6 of 6
While this invention has been described with reference to illustrative embodiments, this description is not intended to be construed in a limiting sense. Various modifications and combinations of the illustrative embodiments, as well as other embodiments of the invention, will be apparent to persons skilled in the art upon reference to the description. It is therefore intended that the appended claims encompass any such modifications or embodiments.
Claims as granted
23 claimsLog in to read the claims of this application.
Log in to unlockClassifications
3 codes- H04W72/10
- H04W72/12
Claim changes
SoonSee which claims were amended, added or cancelled during examination, with every added and removed word marked.
The published claims of this application are not paired with the granted ones in what we hold.
File wrapper
See the full prosecution history — every USPTO and applicant action on this file, in order.
Log in to unlockDocuments
Log in to open the documents of this file: the application as filed, every office action and response, the notice of allowance.
Log in to unlockChain of title
See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.
Log in to unlock