Sum Rates, Rate Allocation, and User Scheduling for Multi-user MIMO Vector Perturbation Precoding Adeel Razi†,⋆ joint work with Daniel J. Ryan∗ Iain B. Collings⋆ Jinhong Yuan† † School of Electrical Eng. & Telecommun., The University of New South Wales, Sydney, AUSTRALIA adeel.razi@student.unsw.edu.au ∗ Dept. of Electronics and Telecommuns., Norwegian University of Science and Tech. (NTNU), NORWAY ⋆ Wireless Technologies Laboratory, CSIRO ICT Centre, Sydney, AUSTRALIA Eurecom, Sophia Antipolis, FRANCE, June 11, 2009 Razi et. al. ”Sum Rates, Rate Allocation, and User Scheduling for Multi-user MIMO Vector Perturbation Precoding” Outline • Multi-user MIMO Channel • Background on Multi-user Techniques • Review on Vector Perturbation Precoding • Previous Work • Expressions for Sum Rate • Rate Allocation Problem • Algorithm for User Scheduling • Conclusions Razi et. al. ”Sum Rates, Rate Allocation, and User Scheduling for Multi-user MIMO Vector Perturbation Precoding” Outline • Multi-user MIMO Channel • Background on Multi-user Techniques • Review on Vector Perturbation Precoding • Previous Work • Expressions for Sum Rate • Rate Allocation Problem • Algorithm for User Scheduling • Conclusions Razi et. al. ”Sum Rates, Rate Allocation, and User Scheduling for Multi-user MIMO Vector Perturbation Precoding” Multi-user MIMO Channel Multi-user MIMO channel for the k th user: yk = hk x + nk where • x ∈ CNT is the vector of transmitted symbols, • yk ∈ C is the received symbol at the k th user, • nk is the noise at the k user’s receiver, and • hk ∈ C1×NT is the channel vector. • Noise and channel coefficients are i.i.d. zero-mean circularly-symmetric Gaussian variables. Combined system equation: y = Hx + n Razi et. al. ”Sum Rates, Rate Allocation, and User Scheduling for Multi-user MIMO Vector Perturbation Precoding” Outline • Multi-user MIMO Channel • Background on Multi-user Techniques • Review on Vector Perturbation Precoding • Previous Work • Expressions for Sum Rate • Rate Allocation Problem • Algorithm for User Scheduling • Conclusions Razi et. al. ”Sum Rates, Rate Allocation, and User Scheduling for Multi-user MIMO Vector Perturbation Precoding” Multi-user Techniques: Background • Dirty-paper coding is optimal but prohibitively complex [Caire and Shamai Trans. I.T. ’03]. • Linear precoders such as Zero-Forcing Beamforming and Channel Inversion have low complexity but a diversity order of only one. [Peel, Hochwald and Swindlehurst Trans. Comms. ’05, Jindal Trans. I.T. ’06]. They have inferior sum rate. • Non-linear block Tomlinson-Harashima precoding improves the performance, but still has a diversity order of only one. • Vector Perturbation Precoding: Low-complexity, non-linear, achieves sum rates close to DPC [Hochwald, Peel and Swindlehurst Trans. Comms. ’05]. Achieves maximum diversity [Taherzadeh, Mobasher and Khandani, Trans. Info. Theory. ’07]. Razi et. al. ”Sum Rates, Rate Allocation, and User Scheduling for Multi-user MIMO Vector Perturbation Precoding” Outline • Multi-user MIMO Channel • Background on Multi-user Techniques • Review on Vector Perturbation Precoding • Previous Work • Expressions for Sum Rate • Rate Allocation Problem • Algorithm for User Scheduling • Conclusions Razi et. al. ”Sum Rates, Rate Allocation, and User Scheduling for Multi-user MIMO Vector Perturbation Precoding” Vector Perturbation Precoding and Perturbation: x= r P s where s = F(a + p) Ese where • a ∈ BK is the vector of K data symbols, B , { a : |Re {a}|, |Im {a}| < 0.5}, • F is the precoding matrix. Here we set F = H+ , where H+ is the pseudo-inverse of H. • p ∈ ZK C is the perturbation vector. • P is the transmit signal to noise ratio (SNR). 2 • Ese , E[ksk ] is the average energy after perturbation. We normalize the transmit power by averaging over the data and channel realizations. Razi et. al. ”Sum Rates, Rate Allocation, and User Scheduling for Multi-user MIMO Vector Perturbation Precoding” Choosing the Perturbation Vector 2 The complex-integer perturbation vector is chosen to minimize ksk , i.e. 2 p = arg min kF(a + q)k . q∈Z[j]K Using this construction, s lies within the Voronoi region about the origin of the lattice with generator matrix F. Since p contains complex integers, this is an instance of the nearest lattice-point problem. Strictly NP-hard, however fast near-optimal polynomial-time algorithms exist e.g. LLL algorithm. Razi et. al. ”Sum Rates, Rate Allocation, and User Scheduling for Multi-user MIMO Vector Perturbation Precoding” Reception and Demodulation The received signal at the k th user is given by yk = p P/Ese (ak + pk ) + nk . Then the data is recovered using a modulo demodulator âk = hp Ese /P yk i mod B i p = ak + pk + Ese /P nk h = [ak + ηk ] where ηk , p mod B mod B . Ese /P nk is the effective noise for each k , and therefore Var {ηk } = Ese /P . Razi et. al. ”Sum Rates, Rate Allocation, and User Scheduling for Multi-user MIMO Vector Perturbation Precoding” Outline • Multi-user MIMO Channel • Background on Multi-user Techniques • Review on Vector Perturbation Precoding • Previous Work • Expressions for Sum Rate • Rate Allocation Problem • Algorithm for User Scheduling • Conclusions Razi et. al. ”Sum Rates, Rate Allocation, and User Scheduling for Multi-user MIMO Vector Perturbation Precoding” Previous Work Since Ese is determined by the operation of an NP-hard algorithm acting over arbitrary matrices it is unsurprising that analysis is difficult. • [Peel, Hochwald and Swindlehurst Trans. Communs. ’05] derived an expression that gave insight into the choice of perturbation vector, but still required numerical simulation to evaluate Ese . • [Müller, Guo and Moustakas JSAC ’08] derived Ese in the limit as NT , K → ∞ using the replica method of statistical physics. The result is in terms of coupled fixed-point integral equations but reduces to 1 fixed-point equation for i.i.d Rayleigh fading. • [Zaidel, Müller, de Miguel and Moustakas Allerton ’08] Employing first-order replica symmetry breaking improves the result, particularly for K/NT ∼ 1 but yields four equations hence difficult to achieve convergence. • [Ryan, Collings, Clarkson and Heath Trans. Comms. accept ’08] Some useful closed-form lower bounds for Ese have been derived. Razi et. al. ”Sum Rates, Rate Allocation, and User Scheduling for Multi-user MIMO Vector Perturbation Precoding” Our Contribution • We derived an expression for the sum rate in terms of the average energy of the precoded vector, Ese , • we used this sum rate expression to derive a closed-form high-SNR upper bound, • we proposed an extension to vector perturbation to allocate different rates to different users, and • we proposed a low-complexity user selection algorithm as a way of rate allocation. Razi et. al. ”Sum Rates, Rate Allocation, and User Scheduling for Multi-user MIMO Vector Perturbation Precoding” Outline • Multi-user MIMO Channel • Background on Multi-user Techniques • Review on Vector Perturbation Precoding • Previous Work • Expressions for Sum Rate • Rate Allocation Problem • Algorithm for User Scheduling • Conclusions Razi et. al. ”Sum Rates, Rate Allocation, and User Scheduling for Multi-user MIMO Vector Perturbation Precoding” Sum Rate for Vector Perturbation Precoding First, we derive an expression for the sum rate of a VP precoding system in terms of Ese (H). Theorem 1 The sum rate distributed inputs is RVP , RVP of an NT × K vector perturbation system with uniformly K X I(âk ; ak |H, F) k=1 where πeEse (F) Ese (F) P − K log + 2KΩ = K log K K 2P " # Z 21 X ∞ ∞ X |ξ−s|2 |ξ−t|2 1 − − 1 √ e 2γ log Ω(γ) = + e 2γ dξ. 2πγ 2 − 12 s=−∞ t=−∞ The term Ω(γ) where here γ = Ese (F)/(2P ) captures the effect of the modulo operation on the Gaussian noise. Razi et. al. ”Sum Rates, Rate Allocation, and User Scheduling for Multi-user MIMO Vector Perturbation Precoding” Proof Outline • RVP , K X I(âk ; ak |F) = K X H(âk |F) − H(âk |ak , F) k=1 k=1 • ak and hence âk are uniformly distributed over B, therefore H(âk |F) = log Vol(B) = 0. • The effective noise is modulo-Gaussian distributed, with pre-modulo variance of Ese (F)/P . • Ω(γ) = where γ As P 1 + 2 Z 1 2 ∞ X − 21 s=−∞ = Ese (F)/(2P ). √ 1 e− 2πγ |ξ−s|2 2γ " log ∞ X t=−∞ e− |ξ−t|2 2γ # dξ. → ∞, Ω(γ) → 0 , as the effect of the modulo operation diminishes, and therefore negligible when it comes to determining the sum rate. Razi et. al. ”Sum Rates, Rate Allocation, and User Scheduling for Multi-user MIMO Vector Perturbation Precoding” Bounds on Sum Rate By noting that Ω(γ) > 0 and approaches 0 as P → ∞ we have the following lower bound, Corollary 1 The sum rate RVP of an NT distributed inputs satisfy the lower bound RVP,LB , K log which is approached as P × K vector perturbation system with uniformly P πeEse (F) − K log . K K → ∞. We also have following asymptotic upper bound, Corollary 2 The limit of the sum rate P → ∞ satisfies the upper bound RVP of an NT × K vector perturbation system as 1 lim RVP P →∞ where W P Γ(K + 1) K e < K log + log det(W) − K log . K (K + 1) , HH† and Γ(·) denotes the gamma function. Razi et. al. ”Sum Rates, Rate Allocation, and User Scheduling for Multi-user MIMO Vector Perturbation Precoding” Simulation Results 70 60 Sum rate (bps/Hz) 50 DPC VP−exact VP−UB ZF−WF Plot of sum rate (bps/Hz) versus SNR (dB) for 40 • • • • 30 20 10 0 RDPC RVP RVP-UB zero-forcing beamforming with waterfilling (ZF-WF) [Yoo, Goldsmith, JSAC ’06] −10 −20 0 5 10 15 20 25 30 SNR (dB) K = NT = 8 Razi et. al. ”Sum Rates, Rate Allocation, and User Scheduling for Multi-user MIMO Vector Perturbation Precoding” Outline • Multi-user MIMO Channel • Background on Multi-user Techniques • Review on Vector Perturbation Precoding • Previous Work • Expressions for Sum Rate • Rate Allocation Problem • Algorithm for User Scheduling • Conclusions Razi et. al. ”Sum Rates, Rate Allocation, and User Scheduling for Multi-user MIMO Vector Perturbation Precoding” System Model for Rate Allocation We propose an extension to vector perturbation precoding so that different rates may be allocated to different users. We begin by decomposing the channel matrix H as H = DVQ where • D = diag(d1 , . . . , dK ), • V is lower traingular with ones on its diagonal, and • Q is a unitary matrix. Instead of using F = H+ as a precoding matrix, we now set F = Q+ V+ Λ where Λ = diag(λ1 , . . . , λK ) is the rate allocation matix. Razi et. al. ”Sum Rates, Rate Allocation, and User Scheduling for Multi-user MIMO Vector Perturbation Precoding” Perturbation Vector and Demodulation The Gaussian (complex) integer-valued perturbation vector p is again chosen to minimize Ese , i.e. + 2 p = argmin V Λ(a + q) . q∈Z[j]K The received signal at the k th user is then yk = r P dk λk (ak + pk ) + nk Ese and the data recovered at the k th user’s s modulo demodulator is " âk = ak + pk + where ηk = q Ese (F) nk 2 2 P λk d k # = [ak + ηk ] mod B mod B Ese n is the effective noise for user P λ2k d2k k k. Razi et. al. ”Sum Rates, Rate Allocation, and User Scheduling for Multi-user MIMO Vector Perturbation Precoding” Rate Allocation for Vector Perturbation Precoding Corollary 3 The sum rate RVP-RA of an NT distributed inputs and precoding matrix F = RVP-RA = K X × K vector perturbation system with uniformly Q+ V+ Λ is I(âk ; ak |Ese (F), dk ) k=1 K 2 2 X P λk d k πeEse (F) Ese (F) log = − log + 2Ω K K 2P λ2k d2k k=1 • The choice of the optimal Λ is difficult as the rate is a function of Ese (F), which is an NP-hard problem to evaluate. • We propose a piece-wise linear approximation to I(âk ; ak |Ese (F), dk ) 2 2 P λk d k . IVP-PW (âk ; ak |Ese (F), dk ) = max 0, log πeEse (F) Razi et. al. ”Sum Rates, Rate Allocation, and User Scheduling for Multi-user MIMO Vector Perturbation Precoding” Piece-wise Linear Approximation to Sum Rate 6 Mutual information (bps/Hz) 5 Plot of mutual information (bps/Hz) versus λk for Corollary 3 Piece−wise linear approximation Gaussian channel • IVP-RA from corollary 3 • A piece-wise linear approximation IPW , • Mutual information of a Gaussian channel IAWGN 4 3 2 • max (IAWGN − IVP-PW ) = 1 bit • max (IVP-RA − IVP-PW ) ≈ 0.2992 bit 1 0 −1 −15 −10 −5 0 λ (dB) 5 10 15 SNR = 0dB, Ese = 0.1 and dk = 1 k By taking advantage of the tightness of the piece-wise lower bound we propose to maximize the rate allocation function RVP,PW , K X k=1 P λ2k d2k max 0, log πeEse (F) Razi et. al. ”Sum Rates, Rate Allocation, and User Scheduling for Multi-user MIMO Vector Perturbation Precoding” Rate Allocation as a User Selection Problem • By using the lower bound on Ese (F) we could write RVP,PW 6 K X max 0, R0,k + k=1 where R0,k , log 1/K Γ(K+1) P −log K (K+1) e +log d2k and log(λ′k )2 . 1 log(λ′k )2=logλ2k−K • By placing the restriction that K users must be selected, we write RVP-PW 6 K X k=1 (R0,k + log(λ′k )2 ) = K X PK 2 k=1logλk R0,k = RVP-UB k=1 • By this piece-wise linear approximation, and the use of the Ese approximation, the best sum-rate is obtained by selecting users so as to maximize RVP,UB given by Corollary 2. • It is also sufficient to use H+ as a precoding matrix to achieve this rate. Razi et. al. ”Sum Rates, Rate Allocation, and User Scheduling for Multi-user MIMO Vector Perturbation Precoding” Outline • Multi-user MIMO Channel • Background on Multi-user Techniques • Review on Vector Perturbation Precoding • Previous Work • Expressions for Sum Rate • Rate Allocation Problem • Algorithm for User Scheduling • Conclusions Razi et. al. ”Sum Rates, Rate Allocation, and User Scheduling for Multi-user MIMO Vector Perturbation Precoding” User Selection • Vector perturbation requires that K 6 NT . What about when there are many users, i.e. U > NT . • Naively, search over all combinations that maximize the sum rate (or sum rate bound). • We propose greedy rate maximization (GRM): we maximize the rate by iteratively adding users to the set of receivers. • Users are chosen successively to maximize det(W(S)). • The selection algorithm terminates when adding the next best user will decrease the rate upper bound of Corollary 2, or NT users are selected. • The determinant det(WK+1 ) is calculated from the next user’s channel vector and det(WK ). Razi et. al. ”Sum Rates, Rate Allocation, and User Scheduling for Multi-user MIMO Vector Perturbation Precoding” User Selection 1. Initialize the set of selected vectors S 2. Calculate det(W(S = ∅, and set U to the set of all users. ∪ u)) for all users u ∈ U . 3. Selection: Determine umax , the user that maximizes det(W(S ∪ u)). Add user umax to S and remove it from U . 4. Shedding: Remove from U all those users such that RVP-UB would be reduced if it were to be added to S . Precisely, remove user u if det(W(S ∪ u)) e(K + 1)2K+1 kgu k = < . K K+1 det(W(S)) P K (K + 2) 2 5. Termination: If U is empty or K = NT . Razi et. al. ”Sum Rates, Rate Allocation, and User Scheduling for Multi-user MIMO Vector Perturbation Precoding” Algorithm Complexity The step 2 of the algorithm is calculated as det(W(S ∪ u)) 2 = khu (I − P(S))k det(W(S)) where P(S) = H(S)(H(S)H(S)† )−1 H(S)† . But instead of calculating hu (I − P(S)), we calculate hu (I − P(S)) = gu , hu I − X g∗ gs s s∈S kgs k 2 ! where the gs are the values of gu calculated in the previous iterations of the algorithm. It is obvious that calculating gu requires 2 vector multiplications. Razi et. al. ”Sum Rates, Rate Allocation, and User Scheduling for Multi-user MIMO Vector Perturbation Precoding” Algorithm Complexity • SUS [Yoo, Goldsmith, JSAC ’06] is a selection algorithm designed for zero forcing BF. • It turns out that SUS and GRM are equivalent, but with a different shedding criterion. • In SUS, all users satisfying 2 cos2 θ(gs , hk ) , |hk gs∗ | 2 2 khk k kgs k are removed, where α is a parameter in the interval [0, 1]. > α2 • The shedding criterion in SUS is heuristic - α is chosen by best simulation performance. • This user shedding step for SUS require an additional vector multiplication as compared to GRM. VP-GRM VP-SUS SNR=0dB 27.4 34.5 SNR=10 dB 62.8 64.2 SNR=20dB 70.8 100.8 SNR=30dB 71.88 104.67 Complexity comparison (in terms of vector multiplications) between VP-GRM and VP-SUS. Razi et. al. ”Sum Rates, Rate Allocation, and User Scheduling for Multi-user MIMO Vector Perturbation Precoding” Simulation Results 0 −0.2 α =0.75 opt αopt=0.8 Loss in sum rate (bps/Hz) −0.4 −0.6 αopt=0.2 −0.8 α =0.45 opt opt −1 Plot of loss in sum rate (bps/Hz) compared to an exhaustive search over the user set. • RVP with GRM α =0.75 αopt=0.5 −1.2 • RVP with semiorthogonal user selection (SUS) α =0.6 opt −1.4 −1.6 VP−GRM VP−SUS −1.8 −2 0 5 10 15 20 25 30 SNR (dB) K 6 U = NT = 8 Razi et. al. ”Sum Rates, Rate Allocation, and User Scheduling for Multi-user MIMO Vector Perturbation Precoding” Outline • Multi-user MIMO Channel • Background on Multi-user Techniques • Review on Vector Perturbation Precoding • Previous Work • Expressions for Sum Rate • Rate Allocation Problem • Algorithm for User Scheduling • Conclusions Razi et. al. ”Sum Rates, Rate Allocation, and User Scheduling for Multi-user MIMO Vector Perturbation Precoding” Conclusions • We derived expressions for the capacity in terms of the average energy of the precoded vector. • We examine the problem of individual rate allocation, and by using a piece-wise linear approximation, we showed that for VP, rate allocation can be reduced to a user selection problem. • We then proposed a low-complexity user selection algorithm that attempts to maximize the high-SNR sum rate upper bound. • We showed, by simulation, that the proposed algorithm outperforms other user selection algorithms of similar complexity. Related Work • A. Razi, D. J. Ryan, I. B. Collings, J. Yuan , “Sum Rates, Rate Allocation, and User Scheduling for Multi-User MIMO Vector Perturbation Precoding”, submitted to IEEE Trans. Wireless Communs., May 2009. • A. Razi, D. J. Ryan, I. B. Collings, J. Yuan , “Sum Rates and User Scheduling for Multi-User MIMO Vector Perturbation Precding”, to appear 2009 IEEE International Communications Conference (ICC), Dresden, Germany, June 2009. • D. J. Ryan, I. B. Collings, I. V. L. Clarkson and R. W. .Heath Jr. , “Performance of Vector Perturbation Multiuser MIMO Systems with Limited Feedback”, to appear IEEE Trans. Communs.. Razi et. al. ”Sum Rates, Rate Allocation, and User Scheduling for Multi-user MIMO Vector Perturbation Precoding”