Abstract:
Methods and systems for transmission are shown that include iteratively generating an optimized precoder matrix and optimized linear filters for multiple receivers, where the optimized precoder matrix is based on a linear filter from a previous iteration and the optimized linear filters the multiple receivers are based on a precoder matrix from a previous iteration, precoding an input stream using the iteratively generated optimized precoder matrix to produce transmission streams for the multiple receivers, where at least one receiver has a plurality of associated transmission streams, and transmitting the transmission streams with multiple antennas to the receivers.

Description:
RELATED APPLICATION INFORMATION 
     This application claims priority to U.S. provisional application Ser. No. 61/384,143 filed on Sep. 17, 2010, incorporated herein by reference. 
    
    
     BACKGROUND 
     1. Technical Field 
     The present invention relates to wireless broadcast systems and, in particular, to multiple-input, multiple-output wireless broadcast systems having a constraint on the number of streams that can be transmitted to a user. 
     2. Description of the Related Art 
     As the number of mobile wireless users increases, and as the quality of services demands rise, higher data rates are needed to meet demand. In current wireless networks download transfer rate is of primary interest, such that one or a group of base stations should be able to simultaneously transmit data to a group of users, satisfying individual instantaneous or average target bit rates. 
     Current wireless systems are often based on having a single user transmission per resource block. For example, each user may receive an independent portion of time-frequency resources. However, the use of multiple-input multiple-output (MIMO) antennas in single-user and point-to-point communication systems results in a multiplexing gain in fading channels, scaling up the system throughput linearly with the lesser of the number of antennas at the transmitter and the antennas at the receiver. 
     Existing technologies are based on a single stream transmission. However, the use of multiple streams in a MIMO broadcast channel can increase individuals&#39; achievable rates. Even proposed standards consider only very limited numbers of streams transmitted to each user. The capacity of a multi-user MIMO system is enhanced by the use of multiple streams and successive interference precancellation techniques called dirty paper coding (DPC). Realization of DPC in practice has been through non-linear precoding approaches and is generally complicated and costly. As such, few practical systems employ DPC. Whether or not DPC is used, an increase in the number of streams increases base station and receiver complexity. As such, little effort has been made to optimize the use of multiple streams and DPC. 
     SUMMARY 
     A method for transmission is shown that includes iteratively generating an optimized precoder matrix and optimized linear filters for a plurality of receivers, wherein the optimized precoder matrix is based on a linear filter from a previous iteration and the optimized linear filters for a plurality of receivers are based on a precoder matrix from a previous iteration; precoding an input stream using the iteratively generated optimized precoder matrix to produce transmission streams for the plurality of receivers, where at least one of the plurality of receivers has a plurality of associated transmission streams; and transmitting the transmission streams with a plurality of antennas to the plurality of receivers. 
     A transmitter is shown that includes a precoder configured to iteratively generate an optimized precoder matrix and linear filters and further configured to precode an input stream using the optimized precoder matrix to produce transmission streams for a plurality of receivers, where at least one of the plurality of receivers has a plurality of associated transmission streams, and a plurality of transmitters configured to transmit the transmission streams to the plurality of receivers. The precoder includes a precoder update module configured to update the precoder matrix based on a linear filter from a previous iteration; and a filter update module configured to update the linear filters for a plurality receivers based on a precoder matrix from a previous iteration. 
     These and other features and advantages will become apparent from the following detailed description of illustrative embodiments thereof, which is to be read in connection with the accompanying drawings. 
    
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
       The disclosure will provide details in the following description of preferred embodiments with reference to the following figures wherein: 
         FIG. 1  is a diagram showing an exemplary communication system employing a precoder and filters according to the present principles; 
         FIG. 2  is a block/flow diagram showing an exemplary precoder and filter update method according to the present principles; and 
         FIG. 3  is a diagram showing a detailed view of a precoder according to the present principles. 
     
    
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS 
     The capacity region of linear precoding without DPC or with constrained numbers of streams in multiple input multiple output (MIMO) broadcast channels (BCs) has not been fully characterized. The convexity of the capacity region of MIMO BC implies that every point on the boundary corresponds to a maximization of the weighted sum rate (WSR) for a particular weight vector. Since the WSR maximization for linear precoding without DPC exhibits a non-convex optimization problem in either primal MIMO BC or the dual multiple access channel (MAC), minimization of weighted sum mean squared error (WSMSE) may alternatively be considered. WSMSE is often easier to solve than the sum rate problem when DPC is not allowed, due to available convex relaxations. 
     Although related, WSR maximization and WSMSE minimization problems are not equivalent. For the case of a single-antenna receiver, there is a one-to-one mapping between the two, but finding correspondences outside of that special case is not straightforward. Furthermore, for multiple receiving antennas in a multi-stream system, where each user&#39;s message can be encapsulated in multiple input streams, minimizing WSMSE entails using as few streams as possible, which degrades the achievable throughput. This motivates separate approaches for finding maximum WSR. 
     The present principles provide methods and systems for addressing both maximizing WSR and minimizing WSMSE under arbitrary rank constrains. The present principles provide a unified method which solves either problem, whether or not DPC is used. 
     Embodiments described herein may be entirely hardware, entirely software or including both hardware and software elements. In a preferred embodiment, the present invention is implemented in software, which includes but is not limited to firmware, resident software, microcode, etc. 
     Embodiments may include a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system. A computer-usable or computer readable medium may include any apparatus that stores, communicates, propagates, or transports the program for use by or in connection with the instruction execution system, apparatus, or device. The medium can be magnetic, optical, electronic, electromagnetic, infrared, or semiconductor system (or apparatus or device) or a propagation medium. The medium may include a computer-readable storage medium such as a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk and an optical disk, etc. 
     A data processing system suitable for storing and/or executing program code may include at least one processor coupled directly or indirectly to memory elements through a system bus. The memory elements can include local memory employed during actual execution of the program code, bulk storage, and cache memories which provide temporary storage of at least some program code to reduce the number of times code is retrieved from bulk storage during execution. Input/output or I/O devices (including but not limited to keyboards, displays, pointing devices, etc.) may be coupled to the system either directly or through intervening I/O controllers. 
     Network adapters may also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, cable modem and Ethernet cards are just a few of the currently available types of network adapters. 
     Referring now to the drawings in which like numerals represent the same or similar elements and initially to  FIG. 1 , a MIMO broadcast system  100  is shown. A base station transmitter  102  has M transmit antennas  104  and transmits independent messages to K receivers  106 . Each receiver  106  has N i  receiver antennas  108 , where 1≦i≦K. The narrowband channel matrix H i    110  for each user i is a complex matrix of dimension N i ×M and the receive vector y i  given by
 
 y   i   =H   i   x+n   i ,  (1)
 
where x is a complex, M-element vector that represents the transmitted signal at the base station transmitter  102  and n i  is the additive white complex Gaussian noise at the receiver antennas  108  of receiver i  106 - i.  
 
     A vector of independent streams may be transmitted to each receiver  106 - i . The vector is represented as u i =(u i,1 , u i,2 , . . . , u i,d     i   ) T , where d i  represents the number of streams for the user i. The collection of all streams to all users forms the input vector u=(u 1   T , u 1   T , . . . , u K   T ) T . The vector u is multiplied by precoder matrix  103  G=(G 1 , G 2 , . . . , G K ) at the transmitter  102  and is of dimension M×Σ i=1   K d i , resulting in a vector x=Gu=(x 1 , x 2 , . . . , x m ) T  that is broadcast through the M transmit antennas  104 . A power constraint P T  at the transmitter  102  implies that trace(GG*)≦P T . 
     In a DPC scheme, the streams of the K users may be encoded at the transmitter  102  before linear precoding. The DPC allows successive precancellation of the interference seen by the users in an arbitrary order. It may be assumed that DPC is performed in descending order by user index i and that the effect of the DPC scheme is captured by writing the corresponding interference term for every achievable user rate at the receiver  106 . 
     At each receiver antenna  108  of each receiver  106 , the received signal is contaminated with complex Gaussian noise which is passed through an optimal linear minimum mean squares error filter  112  F i =(f i,1   T , f i,2   T , . . . , f i,d     i     T ) T  before detection. Assigning an order to the receivers  106  that matches DPC indexing, where each receiver  106 - i  is able to cancel interference from all users having an index greater than i, the achievable rate R i,t  for the stream u i,t  is given as: 
                     R     i   ,   t       ⁢     {           log   (     1   +                f     i   ,   t       ⁢     H   i     ⁢     g     i   ,   t              2           σ   2     ⁢            f     i   ,   t            2       +       ∑       (     p   ,   q     )     ≠     (     i   ,   t     )                 ⁢              f     i   ,   t       ⁢     H   i     ⁢     g     p   ,   q              2             )           θ   =   0               log   (     1   +                f     i   ,   t       ⁢     H   i     ⁢     g     i   ,   t              2           σ   2     ⁢            f     i   ,   t            2       +       ∑         (     p   ,   q     )     ≠     (     i   ,   t     )       ,     p   ≤   i                 ⁢              f     i   ,   t       ⁢     H   i     ⁢     g     p   ,   q              2             )             θ   =   1     ,                     (   2   )               
where θ=1 denotes that DPC is used and θ=0 denotes that DPC is not used. The quantity d i  determines the maximum number of streams that can be transmitted to the user i and therefore represents an upper bound on the rank of the covariance matrix associated with the i th  receiver  106  transmission in the downlink. Optimizing the WSR and WSMSE under arbitrary rank constraints (d 1 , d 2 , . . . , d K ) is formulated as finding the optimal transmit precoder  103  and receive filters  112  for all users that optimizes either of the considered objectives.
 
     To capture the rank constraints into the dimensions of the precoding matrices  103  and thus in the objective function, the WSR problem with a given positive weight vector α=(α 1 , α 2 , . . . , α K ) T  can be written as: 
                       max     G   ,     {     F   i     }         ⁢       ∑     i   =   1     k     ⁢     (       α   i     ⁢       ∑     i   =   1       d   i       ⁢     R     i   ,   t           )         ,           (   3   )               
such that trace(GG*)≦P T . The WSMSE minimization problem can be similarly written as:
 
                       max     G   ,     {     F   i     }         ⁢       ∑     i   =   1     k     ⁢     (       α   i     ⁢       ∑     i   =   1       d   i       ⁢     MSE     i   ,   t           )         ,           (   4   )               
such that trace(GG*)≦P T , where MSE for the t th  stream of user I is defined as:
 
                           MSE     i   ,   t       =       E   ⁡     (         u   ^       i   ,   t       -     u     i   ,   t         )       2                 =                f     i   ,   t       ⁢     H   i     ⁢     g     i   ,   t         -   1          2                 =         f     i   ,   t       (     I   +       ∑       (     j   ,   s     )     ≠     (     i   ,   t     )                 ⁢           ⁢       H   i     ⁢     g     j   ,   s       ⁢     g     j   ,   s     *     ⁢     H   i   *           )     ⁢     f     i   ,   t     *                     (   5   )               
where û i,t  is the estimate of u i,t  at the receiver  106 - i  and I is the identity matrix. Using the best receiver filter  112  for a given precoder  103  G (i.e., an MMSE filter), the following relationship holds:
 
 R   i,t =−log 2 (MSE i,t )  (6)
 
Therefore the minimum WSMSE problem can be written as:
 
                     max     G   ,     {     F   i     }         ⁢       ∑     i   =   1     k     ⁢     (       α   i     ⁢       ∑     i   =   1       d   i       ⁢     2     -     R     i   ,   t               )               (   7   )               
such that trace(GG*)≦P T .
 
     The latter formulation of the WMSE problem, shown in eq. (7), may be used to find a unified solution to both WSR and WSMSE problems. Hereinafter it may be assumed that P T =1 with the effect of different power constraints in the received signal-to-noise ratio being captured by varying the value of the noise variance. 
     Equations (3) and (7) may be solved iteratively. The present principles can treat both cases, with or without DPC, and provide a solution that satisfies rank constraints. Although not explicitly stated above, both formulations are considered under the rank constraint vector (d 1 , d 2 , . . . , d K ). However, the imposition of rank constraints in WSR and WSMSE takes different forms. The lower ranks are generally more desirable. In WSR, the proposed algorithm is designed to reduce the transmission ranks as much as possible and usually converges to a solution where the rank of the precoding matrices  103  are minimal, such that no further rank reduction is possible. This means that the rank constraints only serve as an upper bound on the number of transmitted streams to a different user. However, the rank constraint in the WSMSE problem cannot be treated in the same way because WSMSE is reduced for the least possible ranks regardless of the power. Therefore, a hard constraint is imposed on the rank in the case of WSMSE. 
     As noted above, the binary variable θ denotes whether DPC is used or not. Similarly, the binary parameter ψ={0,1} denotes whether the WSR maximization or WSMSE minimization problem is being considered. For given precoding matrix G  103  and filters {F i } i=1   K    112 , the following definitions are used: 
                   ξ   =              f     i   ,   t       ⁢     H   i     ⁢     g     i   ,   t              2             (   8   )                 ς     i   ,   t       =     {               σ   2     ⁢            f     i   ,   t            2       +       ∑       (     p   ,   q     )     ≠     (     i   ,   t     )                 ⁢              f     i   ,   t       ⁢     H   i     ⁢     g     p   ,   q              2               ψ   =   0                   σ   2     ⁢            f     i   ,   t            2       +       ∑         (     p   ,   q     )     ≠     (     i   ,   t     )       ,     p   ≤   i                 ⁢              f     i   ,   t       ⁢     H   i     ⁢     g     p   ,   q              2               ψ   =   1                     (   9   )                 λ     i   ,   t       =     {               α   i     ⁡     (     1   +       ς     i   ,   t         ξ     i   ,   t           )         -   1             ψ   =   0                     α   i     ⁡     (     1   +       ς     i   ,   t         ξ     i   ,   t           )         -   1       ⁢     ξ     i   ,   t       -   1               ψ   =   1                     (   10   )                 δ     i   ,   t       =       ς     i   ,   t       +     ψξ     i   ,   t                 (   11   )                 M     i   ,   t       =       H   t   *     ⁢     f     i   ,   t     *     ⁢     f     i   ,   t       ⁢     H   i               (   12   )                 Δ   t     =       ∑     t   =   1     d     ⁢       λ     i   ,   j       ⁢            f     i   ,   t            2                 (   13   )               M   =     Ξ   ⁡     (           α   1     ⁢           ⁢     M     1   ,   1           δ     1   ,   1         ,   …   ⁢           ,         α   1     ⁢           ⁢     M     1   ,   t           δ     1   ,   t         ,   …   ⁢           ,         α   K     ⁢           ⁢     M     K   ,     d   K             δ     K   ,     d   K             )               (   14   )                   B   i     =       ∑     j   &lt;   i               ⁢       ∑     t   =   1       d   j       ⁢           α   j     ⁢     ξ     j   ,   t       ⁢     M     j   ,   t             (       ς     j   ,   t       +     ξ     j   ,   t         )     ⁢     δ     j   ,   t           ⁢     ∀   i             ,     1   ≤   i   ≤   K             (   15   )               B   =     Ξ   ⁡     (       B   1     ,     B   2     ,   …   ⁢           ,     B   K       )               (   16   )               
where Ξ indicates the block diagonalization operator. It should be noted that the values of eqs 8-16 are intermediate steps and do not necessarily have physical interpretations.
 
     The first order optimality conditions for both equations (3) and (7) is equivalent to: 
                   G   =       mat   ⁢     {       (     M   +     θ   ⁢           ⁢   B       )     ×     vec   ⁡     (   G   )         }               σ   2     ⁡     (       ∑     i   =   1     K     ⁢     Δ   i       )       ⁢   I     +       ∑     i   ,   t               ⁢       λ     i   ,   t       ⁢     M     i   ,   t                       (   17   )                 F   i     =         G   i   *     ⁢     H   *           σ   2     +       HGG   *     ⁢     H   *       -     θ   ⁢           ⁢     H   ⁡     (       ∑     j   =     i   +   1       K     ⁢       G   i     ⁢     G   i   *         )       ⁢     H   *                   (   18   )               
where vec(.) is a vector operator which stacks the columns of a matrix into a single vector and mat(.) is the inverse operator of vec(.) with preserved sizing, such that mat(vec(X))=X. It is worth noting that the implicit derivation expression for the transmit precoding matrix G  103  may be obtained by setting the derivative with respect to G to zero in the form G=f(G) as in eq. (17), such that the convergence of an iterative method to find the fixed point of a transformation f(G) highly depends on the form of the decomposition. It should further be noted that the optimality condition found for the received filters  112  found through first order optimality conditions (e.g., F i  in eq. (18)) is the MMSE filter for the i th  user, which is an assumption in the WSMSE formulation.
 
     The above derivations are obtained for WSR maximization and WSMSE minimization using the explicit binary parameter ψ. Considering that the original problems are non-convex, particularly due to the presence of rank constraints, the proposed principles attempt to converge to a Karush-Kuhn-Tucker (KKT) point that would be a local optimum. In truth, the problems exhibit more than one local optimum, but simulation results show that only a few such optima usually exist. In particular, it is possible in most cases to obtain global optimal solutions, where optimality can be verified through other means. For example, in the case of only one receive antenna  108 , the boundary of the achievable rate region can be obtained precisely through uplink/downlink duality. Another exemplary case is when there is no rank constraint and DPC is used. In this case, the optimal point for the WSR maximization problem can be obtained for the dual uplink problem and the solution reached by the present principles also gives the exact same points. 
     Referring now to  FIG. 2 , a block/flow diagram showing precoder design for WSR maximization or WSMSE minimization, with or without DPC. As input  202 , channel matrices H i  are provided, with a norm threshold ε&gt;0 and a termination criterion ε 1 &gt;0. A weight vector α and upper bounds (d 1 , d 2 , . . . , d K ) are also provided. Furthermore, binary variables θ and ψ are set to specify what problem is to be solved and whether DPC is used. The precoder G  103  begins as a random fill of maximum allowable size having all non-zero columns. If, in the WSR maximization problem one of the columns of the precoder matrix becomes significantly small, that column is removed from G and the rank d i  is decremented. 
     User indices are permuted  204  such that the weight vector is ordered, α 1 ≦α 2 ≦ . . . ≦α K . A loop then begins, determining whether ΔG has dropped below the termination criterion  206  (with ΔG being initialized to a suitable value greater than the threshold criterion). A first nested loop begins over all users i at block  208 . For each user, a second nested loop begins over the user&#39;s streams t at block  210 . The quantities ζ i,t ,ξ i,t ,λ i,t , and M i,t  are updated using equations (8) through (12) in order at block  212 . The next stream is selected by incrementing t at block  214  and processing returns to block  210 . After all streams have been processed, the quantities Δ i  and B i  are updated for the user using equations (13) and (15) at block  216 . The next user is selected by incrementing i at block  216  and processing returns to block  208 . 
     Once all users have been processed, the quantities M and B are updated using equations 14 and 16 at block  218 . A new G is then calculated using equation (17), with ΔG being set to the difference between the new G and the old G. G is then normalized at block  222  by G=G/√{square root over (trace(G*G))}. The filters F i  are updated using equation (18) in block  224 . If WSR maximization is being performed (i.e., if ψ=0), block  226  begins rank reduction  228 . Rank reduction  228  finds all users i having streams t such that ∥g i,t ∥ 2 &lt;ε. For each such user and stream, g i,t  is removed from G and the rank of user i is decremented. The above process produces an optimal precoder  103 . The intermediate steps in updating equations 13-16 allow for the generation of the optimal precoder  103  but have no important physical meaning on their own. 
     One issue that arises when using DPC (θ=1) is user ordering. As noted above, block  204  permutes the user indices such that the weight vector α is arranged in order of increasing magnitude. However, DPC assumes a specific user ordering, where encoding order of the users plays a role in maximizing the WSR when DPC is allowed. 
     Invoking uplink/downlink duality, it is known that a user encoding order of descending order by weight should be used in order to achieve the highest WSR in downlink using DPC. In other words, if α i &lt;α j  then the message for user i is to be encoded after user j. This result is for the case where there is no rank constraint on the covariance matrices of the transmitted vectors. It is not immediately clear what the optimal user ordering is when the number of transmitted streams is constrained. However, it can be shown that, under any set of upper bounds for the number of streams, the optimal ordering for DPC is still given by the weight vector α, regardless of the channels. 
     This can be shown by noting that, for any set of covariance matrices having an expectation value of Σ i =Ex i x* i  in the broadcast channel, there is a transformation {Σ i } i=1   K ={P i } i=1   K  that results in a set of covariance matrices in the dual MAC network (with the channels transposed). This means that the achievable rate vector in the broadcast channel using {Σ i } i=1   K  and a given encoding order π is equal to the achievable rate vector in the MAC using {P i } i=1   K  and the decoding order opposite of π. In addition, the given transformation has the property that Σ i=1   K trace(Σ i )=trace(P i ). Also, the ranks of the MAC and broadcast channel covariance matrices is invariant over the transformation between the two. Therefore the rank-constrained WSR maximization in downlink broadcast channel arrangements is equal to the rank-constrained WSR maximization problem in the uplink. This produces the following maximization problem: 
                       max     π   ,       {   P   }       i   =   1     K         ⁢       ∑     i   =   1     K     ⁢       α     π   ⁡     (   i   )         ⁢   log   ⁢            I   +       ∑     j   =   1     K     ⁢       H     π   ⁡     (   j   )       *     ⁢     P     π   ⁡     (   j   )         ⁢     H     π   ⁡     (   j   )                           I   +       ∑     j   =     1   +   1       K     ⁢       H     π   ⁡     (   j   )       *     ⁢     P     π   ⁡     (   j   )         ⁢     H     π   ⁡     (   j   )                            ,           (   19   )               
such that P i ≧0, rank(P i )≦d i  ∀i 1≦i≦K, and
 
     
       
         
           
             
               
                 ∑ 
                 
                   i 
                   = 
                   1 
                 
                 K 
               
               ⁢ 
               
                 trace 
                 ⁡ 
                 
                   ( 
                   
                     P 
                     i 
                   
                   ) 
                 
               
             
             ≤ 
             1. 
           
         
       
     
     Given the objective function in eq. (19) and given P i &#39;s satisfying constrains, the optimum decoding order π is the one for which α π(1) ≦α π(2) ≦ . . . ≦α π(K) . This is because if, for some i, α π(i) &gt;α π(i+1) , then the objective function in (19) will increase by swapping the decoding order of i and i+1. Let B i =I+Σ j=1   K H* π(j+1) P π(j+1) H π(j+1)  and B′ i+1 =B 1 −H* π(j+1) P π(j+1) H π(j+1)  for all 1≦i≦K. This produces: 
                         α     π   ⁡     (   i   )         ⁢   log   ⁢            B   i                 B     i   +   1                +       α     π   ⁡     (     i   +   1     )         ⁢   log   ⁢            B     i   +   1                   B     i   +   2                -       α     π   ⁡     (     i   +   1     )         ⁢   log   ⁢            B   i                 B     i   +   1                -       α     π   ⁡     (   i   )         ⁢   log   ⁢            B     i   +   1                   B     i   +   2                  =         (       α     π   ⁡     (   i   )         -     α     π   ⁡     (     i   +   1     )           )     ⁢     (     log   ⁢              B   i     ⁢     B     i   +   2                       b     i   +   1       ⁢     B     i   +   1     ′                )       ≤   0.             (   20   )               
Equation (20) holds because B i+1 B′ i+1             B i B i+2           0.

     Simulations show the benefits to transmission rates using the present principles. In an exemplary test embodiment having four transmit antennas  104  and two receivers  106 , each having three receiver antennas  108 , the channel matrices H i    110  employed were: 
                       H   1     =     [           2.84   ⁢     ⅇ       -   1.7     ⁢           ⁢   i               2.22   ⁢     ⅇ     1.9   ⁢           ⁢   i               0.68   ⁢     ⅇ       -   2.4     ⁢           ⁢   i               2.14   ⁢     ⅇ     1.7   ⁢           ⁢   i                   2.14   ⁢     ⅇ       -   2.7     ⁢           ⁢   i               0.68   ⁢     ⅇ       -   3.0     ⁢           ⁢   i               0.75   ⁢     ⅇ       -   0.9     ⁢           ⁢   i               0.48   ⁢     ⅇ     1.6   ⁢   i                   2.24   ⁢     ⅇ     3.0   ⁢           ⁢   i               0.75   ⁢     ⅇ       -   0.8     ⁢           ⁢   i               1.07   ⁢     ⅇ     2.7   ⁢           ⁢   i               1.45   ⁢     ⅇ     1.9   ⁢           ⁢   i               ]       ⁢     
     ⁢       H   2     =     [           3.67   ⁢     ⅇ     3.0   ⁢           ⁢   i               1.77   ⁢     ⅇ     0.7   ⁢           ⁢   i               4.25   ⁢     ⅇ     2.1   ⁢           ⁢   i               1.09   ⁢     ⅇ     0.0   ⁢           ⁢   i                   3.36   ⁢     ⅇ     3.0   ⁢           ⁢   i               2.14   ⁢     ⅇ       -   1.6     ⁢           ⁢   i               2.70   ⁢     ⅇ       -   1.0     ⁢           ⁢   i               2.52   ⁢     ⅇ     0.5   ⁢   i                   2.90   ⁢     ⅇ     1.9   ⁢           ⁢   i               1.98   ⁢     ⅇ       -   2.8     ⁢           ⁢   i               4.84   ⁢     ⅇ     0.4   ⁢           ⁢   i               0.28   ⁢     ⅇ       -   0.3     ⁢   i               ]               (   21   )               
A weighting vector of α=[2,1] is used for the WSR problem. Comparing the present principles, with and without DPC, to prior art techniques, shows a substantial increase in achievable rate. This increase is even more marked in systems with greater numbers of users  106  and receiver antennas  108 .
 
     Referring now to  FIG. 3 , more detail on precoder module  103  is shown. A processor  302  has access to memory  304 , which may be, e.g., volatile memory such as RAM, nonvolatile solid state memory such as flash memory, or hard drives. The processor communicates with a user update module  306 , a precoder update module  310 , a filter update module  312 , and a rank reduction module  314 . The user update module updates precoder information for each user and includes a stream update module  308  to update each user&#39;s individual streams. The precoder update module uses the information from user update module  306  to update the precoder to produce an optimal precoder matrix. The filter update module  312  generates minimum mean squares error filters that may be communicated to the receivers  106  for use in filters  112 . Alternatively, the receiver filters  112  may independently perform filter updates, as it may be assumed that the channel information is known to all parties. The rank reduction module  314  removes columns from the precoder matrix having a norm below a rank threshold if WSR maximization is used. 
     Having described preferred embodiments of a system and method of linear precoding in MIMO broadcast channels with arbitrary rank constraints (which are intended to be illustrative and not limiting), it is noted that modifications and variations can be made by persons skilled in the art in light of the above teachings. It is therefore to be understood that changes may be made in the particular embodiments disclosed which are within the scope of the invention as outlined by the appended claims. Having thus described aspects of the invention, with the details and particularity required by the patent laws, what is claimed and desired protected by Letters Patent is set forth in the appended claims.