Proj3 Instructions
Proj3_Instructions
User Manual:
Open the PDF directly: View PDF
.
Page Count: 20
| Download | |
| Open PDF In Browser | View PDF |
Technische Universität München
MIMO Systems Programming Project 3
Instructions
Michael Newinger, M.Sc.
Dr.-Ing. Michael Joham
WS 2018/19
Fakultät für Elektrotechnik und Informationstechnik
Professur für Methoden der Signalverarbeitung
Univ.-Prof. Dr.-Ing. Wolfgang Utschick
© 2019 Professur für Methoden der Signalverarbeitung, Technische Universität München
All rights reserved. Personnel and students at universities only may copy the material for their personal use and for
educational purposes with proper referencing. The distribution to and copying by other persons and organizations as
well as any commercial usage is not allowed without the written permission by the publisher.
Professur für Methoden der Signalverarbeitung
Technische Universität München
80290 München
http://www.msv.ei.tum.de
Contents
3 Broadcast Channel
4
3.1 Capacity of the MIMO Broadcast Channel . . . . . . . . . . . . . . . .
4
3.1.1 Dual MIMO Multiple Access Channel . . . . . . . . . . . . . . .
6
3.1.2 Sum-Rate optimization for the MIMO BC . . . . . . . . . . . . . 10
3.1.3 Sato’s Bound . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2 Block Diagonalization Precoding . . . . . . . . . . . . . . . . . . . . . 17
3
Chapter 3
Broadcast Channel
The third project considers the K-user broadcast channel (BC), where one transmitter
sends information to K receivers. A BC with input x, outputs y1 , y2 , ... yK , and
the transition probability density function fy1 ,...,yK |x (y1 , . . . , yK |x) is depicted in
Fig. 3.1.
x
fy1 ,...,yK |x (y1 , . . . , yK |x)
y1
..
.
yK
Figure 3.1: K-user Broadcast Channel
In the following tasks, the Gaussian MIMO BC is considered, where we analyze the
capacity region, which depends only on the conditional marginals fyk |x (yk |x), ∀k.
3.1
Capacity of the MIMO Broadcast Channel
A model of the Gaussian MIMO BC is shown in Fig. 3.2a, where the transmit signal
x ∈ CN is sent to K receivers. The received signals read as
yk = Hk x + nk ∈ CM ,
k ∈ {1, . . . , K},
and the transmit power is limited to E[kxk22 ] ≤ PTx . Throughout this project, we
assume white Gaussian noise, i.e.,
nk ∼ NC (0, IM ).
4
Chapter 3. Broadcast Channel
n1
H1H
H1
y1
x1
nk
HkH
Hk
x
yk
xj
y
xk
nK
H
HK
HK
yK
n
xK
(a) MIMO Broadcast Channel
(b) Dual Multiple Access Channel
Figure 3.2: Gaussian MIMO Broadcast and Dual Multiple Access Channel
The capacity region of the MIMO BC is achieved via the vector extension of dirty
paper coding. To this end, let the transmitted signal x be the superposition of the K
signals sk intended for the respective receiver k, i.e.,
x=
K
X
sk .
k=1
To derive the MIMO BC capacity we will assume that the encoding order corresponds
to the user index for the sake of notational brevity, i.e., user 1 is encoded first, followed
by user 2, etc. When choosing a codeword for the signal sk for user k, the transmitter
therefore has knowledge of the k−1 previously encoded signals and the achievable
rate of receiver k is the same as if si for i < k would be known to the receiver and
RkBC ≤ I(sk ; yk |s1 , . . . , sk−1 ).
(3.1)
By the introduction of a one-to-one mapping from user index to encoding order
k 7→ π(k) the following results can be extended to any arbitrary encoding order.
Since the capacity of the Gaussian BC can be achieved with Gaussian signaling, we
furthermore assume
sk ∼ NC (0, Sk ).
(3.2)
QUESTION 1
Calculate the achievable rate RkBC of user k in terms of Si , i ∈ {1, . . . , K},
assuming that dirty paper coding is employed and users i < k have been encoded
prior to user k.
5
Chapter 3. Broadcast Channel
In the following, we will examine the sum rate optimization for this K-user MIMO
Gaussian BC, i.e.,
K
X
max
RkBC s.t. E[kxk22 ] ≤ PTx .
(3.3)
k=1
The key idea for solving this problem is the transformation to a dual Gaussian MIMO
MAC that inherits the same sum power constraint. The resulting MAC problem is
convex and can be solved with standard convex optimization tools.
3.1.1
Dual MIMO Multiple Access Channel
In the dual MIMO MAC depicted in Fig. 3.2b, the roles of the transmitter and receivers
are reversed compared to the BC (see Fig. 3.2a) with complex-conjugate transpose
channels. The received signal reads as
y=
K
X
HkH xk + n ∈ CN ,
k=1
with Gaussian noise n ∼ NC (0, I). While a successive encoding scheme is used in
the Gaussian MIMO BC, successive decoding is used in the MIMO MAC, where the
MAC decoding order is the reversed BC encoding order, i.e., the achievable rate is
upper bounded by
RkMAC ≤ I(xk , y|xk+1 , . . . , xK ).
(3.4)
Similar to the BC, we assume Gaussian distributed input signals with
xk ∼ NC (0, Qk ).
(3.5)
QUESTION 2
Determine the achievable rate RkMAC of user k in terms of Qi , i ∈ {1, . . . , K},
assuming that successive decoding is employed and that users i > k have been
decoded prior to user k.
PROGRAMMING TASK 1
Implement a function that calculates the achievable rates of the MAC and BC
for given channels Hk and transmit covariance matrices Qk , Sk and a given BC
encoding order. Note that the MAC decoding order corresponds to the reversed BC
encoding order.
6
Chapter 3. Broadcast Channel
1 Deliverables (Matlab code file): MAC_BC_rates.m
• Function definition:
function [R_BC, R_MAC] = MAC_BC_rates(H,Q,S,order)
2 Input Specification:
• H: K × 1 cell array with channel Hk ∈ CM ×N per cell
• Q: K × 1 cell array with matrix Qk ∈ CM ×M per cell
• S: K × 1 cell array with matrix Sk ∈ CN ×N per cell
• order: 1 × K vector in {1, . . . , K}K with the BC encoding order
3 Output Specification:
• R_BC: K × 1 array with achievable rates of the BC: RkBC
• R_MAC: K × 1 array with achievable rates of the MAC: RkMAC
Point-to-Point Duality Principle
The rate duality between the Gaussian MIMO BC and the corresponding MAC is based
on the point-to-point duality principle, i.e., the same rates can be achieved for MIMO
point-to-point systems with the channels H and H H and additive white Gaussian
noise if the same transmit power is available. To this end, we construct S 0 such
that
!
log2 det IM + HSH H = log2 det IN + H H QH
(3.6)
is satisfied and tr(S) ≤ tr(Q) for given Q 0, where H ∈ CM ×N denotes the
effective channel. Vice versa, a covariance matrix Q 0 could be constructed for
given S 0 with tr(Q) ≤ tr(S) such that (3.6) is fulfilled. In the following, we
assume that H is full rank, i.e., r = rank(H) = min(M, N ).
Let the reduced singular value decomposition (SVD) of the effective channel be
H = U ΣV H ,
M ×r
with the square diagonal matrix Σ ∈ Rr×r
+ and the (sub-)unitary matrices U ∈ C
and V ∈ CN ×r . Then, the duality requirement in (3.6) can be rewritten as
!
det IM + ΣV H SV Σ = det IN + ΣU H QU Σ
and equality for a given Q holds if
S = V U H QU V H .
7
Chapter 3. Broadcast Channel
For r = M , this choice leads to tr(S) = tr(U U H Q) = tr(Q) since U is unitary
in this case. For r = N , we represent Q as
"
#"
#
h
i Q
H
Q
U
11
12
Q = U U0
,
QH
Q
U 0,H
22
12
where [U , U 0 ] ∈ CM ×M is unitary and Q11 , Q22 are positive semidefinite.
QUESTION 3
Use above representation to show that tr(S) ≤ tr(Q).
PROGRAMMING TASK 2
Implement the point-to-point transformation to construct S for given Q and H.
1 Deliverables (Matlab code file): ptpTransform.m
• Function definition: function [S] = ptpTransform(Q,Heff)
2 Input Specification:
• Q: M × M covariance matrix Q
• Heff: effective channel matrix H
3 Output Specification:
• S: N × N transmit covariance matrix S
MAC-BC Transformation Principle
Based on the duality transformation for the point-to-point case, the duality between the
BC and the MAC in Fig. 3.2 can be established. The duality implies that the same rates
are achievable in the BC and the MAC, i.e., RkBC = RkMAC , using the same transmit
P
PK
powers K
k=1 tr(Sk ) =
k=1 tr(Qk ). In other words, a rate tuple (R1 , . . . , RK ) is
achievable in the MIMO BC if and only if it is achievable in its dual MIMO MAC.
For the transformation, again assume that the MAC decoding order is given by
P
(K, K − 1, . . . , 1). We introduce the matrix Xk = I + i k. The transmit covariances therefore have to be computed
successively starting with the user that is encoded last.
PROGRAMMING TASK 3
Write a function that calculates the BC transmit covariance matrices Sk , ∀k for
given matrices Qk , ∀k and a given encoding order in the BC.
1 Deliverables (Matlab code file): MACtoBCtransform.m
• Function definition:
function [S] = MACtoBCtransform(Q,H,order)
2 Input Specification:
• Q: K × 1 cell array with matrix Qk ∈ CM ×M per cell
• H: K × 1 cell array with channel Hk ∈ CM ×N per cell
• order: 1 × K vector in {1, . . . , K}K with the given BC encoding order
3 Output Specification:
• S: K × 1 cell array with matrix Sk ∈ CN ×N per cell
4 Hint(s):
9
Chapter 3. Broadcast Channel
• Use the function ptpTransform.m for the transformation.
• Use the proper order for calculating Sk dependent on the BC encoding
order.
QUESTION 5
Run the MACtoBCtransform.m for the exemplary channels and MAC transmit
covariance matrices given in exampleMIMOBC.mat and calculate the achieved
rates in the BC and the MAC to test your function for the two encoding orders
(1, 2, . . . , K) and (K, K −1, . . . , 1). Compare the powers of the transmit signals
in the BC and the dual MAC, i.e., tr(Qi ) with tr(Si ), i ∈ {1, . . . K}.
3.1.2
Sum-Rate optimization for the MIMO BC
Due to the BC-MAC duality, the sum rate maximization problem in (3.3) can
alternatively be formulated as a problem in the dual MAC domain, i.e.,
max
K
X
RkMAC
K
X
s.t.
k=1
E[kxk k22 ] ≤ PTx .
(3.11)
k=1
The solution to this problem can then be transformed to the BC domain to obtain the
sum rate maximizing transmit covariance matrices for the BC.
In the dual Gaussian MIMO MAC, the sum-rate is bounded by the mutual
information corresponding to joint decoding, i.e.,
K
X
RkMAC
≤ I(y; x1 , . . . , xk ) = log2 det IM +
k=1
K
X
HkH Qk Hk ,
(3.12)
k=1
P
and the transmit power is K
k=1 tr(Qk ) ≤ PTx .
The sum rate maximization in (3.11) can equivalently be written as
K
X
max log2 det IN +
HkH Qk Hk
s.t.
Qk 0
k=1
K
X
tr(Qk ) ≤ PTx .
(3.13)
k=1
The objective of this problem is known to be concave (see Chapter 2). Note, however,
that instead of individual power constraints for each receiver, this optimization problem
is subject to a sum power constraint.
10
Chapter 3. Broadcast Channel
QUESTION 6
Show that the sum-power constraint and the positive semidefiniteness constraints
define a convex constraint set.
Hence, (3.13) is a convex problem and can be solved via standard semidefinite
programming such as interior-point methods or a projected gradient method. In this
project we will again use YALMIP with SDPT3. Refer to Project 2 for instructions on
the usage of YALMIP.
PROGRAMMING TASK 4
Implement a function that computes the sum capacity and the optimal transmit
covariances in the dual MAC Qk for a joint transmit power constraint with the help
of YALMIP and SDPT3. Use the hints given in Listing 3.1.
1 Deliverables (Matlab code file): DualMACSumRateMaximization.m
• Function definition:
function [Q,Csum] = DualMACSumRateMaximization(H,Ptx)
2 Input Specification:
• H: K × 1 cell array with channel H ∈ CM ×N per cell
• Ptx: joint transmit power PTx
3 Output Specification:
• Q: K × 1 cell array with matrix Q ∈ CM ×M per cell
• Csum: sum capacity Csum
% Use c e l l a r r a y s t o d e f i n e m u l t i p l e o p t i m i z a t i o n v a r i a b l e s
Q = c e l l (K, 1 ) ;
3 f o r k = 1 :K
4
Q{ k } = s d p v a r (M,M, ’ h e r m i t i a n ’ , ’ complex ’ )
5 end
1
2
6
7
8
9
10
11
12
% I t i s p o s s i b l e to define f u n c t i o n s of o p t i m i z a t i o n
variables in loops
Z = z e r o s (M,M) ;
f o r k = 1 :K
Z = Z + Q{ k } ;
end
% The same i s p o s s i b l e t o d e f i n e c o n s t r a i n t s .
Listing 3.1: Hints for optimization with YALMIP
11
Chapter 3. Broadcast Channel
QUESTION 7
Run DualMACSumRateMaximization.m for the exemplary channels given in
exampleMIMOBC.mat and PTx = 10 dB and give the sum capacity Csum .
QUESTION 8
Use the function MACtoBCtransform.m to calculate the sum rate maximizing
transmit covariance matrices in the BC, i.e., Sk for the decoding orders (1, 2, . . . , K)
and (K, K − 1, . . . , 1). What are the powers allocated to the transmit signals in the
BC, i.e., tr(Sk ) for k = 1, . . . , K, at the sum capacity for the two possible encoding
orders?
PROVIDED PROGRAM
The
provided
function
plotSumRateBC.m
runs
the
function
DualMACSumRateMaximization.m to calculate the sum capacities Csum
for given transmit powers PTx in dB and plots these rate values over PTx .
1 Matlab file: plotSumRateBC.m
• Function definition:
function [fig] = plotSumRateBC(H,Ptx,fig)
2 Input Specification:
• H: K × 1 cell array with channels HkM ×N per cell
• Ptx: vector of PTx values in dB
• fig (optional): figure handle for plotting the sum rates into a given figure
3 Output Specification:
• fig: returned handle of the plotted figure
QUESTION 9
Run the function plotSumRateBC.m to plot the sum capacity Csum versus PTx
in dB for the given exemplary system in exampleMIMOBCs.mat with PTx from
−15 dB to 30 dB (in steps of 5 dB) and save the figure as CsumBCvsPtx.fig.
What is the slope of the curve in [bits/channel use] per [dB] power between 25 dB
and 30 dB?
12
Chapter 3. Broadcast Channel
PROGRAMMING TASK 5
Extend the function plotSumRateBC.m such that it also calculates and plots
the sum capacity curves and each users’ rate curves that are obtained for the
corresponding BC transmit covariance matrices. To this end, first transform the
MAC transmit covariance matrices into BC transmit covariance matrices and
calculate the corresponding rates. Consider the encoding orders (1, 2, . . . , K) and
(K, K − 1, . . . , 1) for the transformation and the rate calculation.
1 Deliverables (Matlab code file): plotSumRateBC.m
• Function definition:
function [fig] = plotSumRateBC(H,Ptx,fig)
2 Input Specification:
• H: K × 1 cell array with channels HkM ×N per cell
• Ptx: vector of PTx values in dB
• fig (optional): figure handle for plotting the sum rates into a given figure
3 Output Specification:
• fig: returned handle of the plotted figure
QUESTION 10
Run the function plotSumRateBC.m again to plot the sum capacities Csum
versus PTx in dB for the given exemplary systems in exampleMIMOBCs.mat
PTx from −15 dB to 30 dB (in steps of 5 dB) and save the figure as
CsumBCvsEtx_rates.fig. Qualitatively describe the differences between the observed individual rates for the two encoding orders. Comment on your observation.
3.1.3
Sato’s Bound
In this section, we will numerically illustrate that the result obtained in the previous
section is in fact capacity achieving by evaluating Sato’s upper bound which is given
by
K
X
k=1
Rk ≤
min
fy1 ,...,yK |x (y1 ,...,yK |x) with
marginals fy1 |x (y1 |x),...,fyK |x (yK |x)
13
I(y1 , . . . , yK ; x),
(3.14)
Chapter 3. Broadcast Channel
where I(y1 , . . . , yK ; x) corresponds to the mutual information if both receivers
cooperate and perform joint decoding. Since separate decoding, which is assumed in
the broadcast channel, can never outperform joint decoding, Sato’s upper bound is found
by minimizing I(y1 , y2 ; x) with respect to the joint PDF fy1 ,...,yK |x (y1 , . . . , yK |x)
under the constraint that the corresponding marginals are given by fyk |x (yk |x),
characterizing the BC.
Since for Sato’s bound, the broadcast channel is interpreted as a Point-to-Point
MIMO Channel, we define the stacked variables
y1
H1
n1
y = ... ,
Ĥ = ... ,
n = ... .
(3.15)
yK
HK
nK
Assuming Gaussian signals, the joint distribution y unconditioned and given x read as
y ∼ NC 0, ĤC Ĥ H + Z ,
y|x ∼ NC Ĥx, Z ,
with E[xxH ] = C and E[nnH ] = Z. The joint mutual information from (3.14) is
then given by
I(y; x) = log2 det(I + Z −1 ĤC Ĥ H ).
The Sato bound is now found by minimizing this mutual information with respect to the
joint PDF of y|x, while keeping the marginal distributions fixed. As these marginal
distributions are defined by the noise covariances of n1 and n2 , which correspond
to the diagonal blocks of Z (cf. (3.15)), we define the set Z of admissible noise
covariance matrices as
Z = Z ∈ C2M ×2M : Z 0, Sk ZSkT I, ∀k .
(3.16)
The matrices
Sk = [
0
|{z}
, IM ,
M ×(k−1)M
0
|{z}
]
(3.17)
M ×(K−k)M
are selection matrices that cut out the respective diagonal block of Z. Sato’s bound is
then given by
RSato =
1
min
ln(2) Z∈Z
max ln det(I + Z −1 ĤC Ĥ H ).
C0
tr(C)≤PTx
(3.18)
Above problem is difficult to solve in its current form, however, it can be transformed
into an equivalent convex optimization problem via Lagrangian duality. To this end,
we first consider the inner maximization problem only. From the point-to-point duality
14
Chapter 3. Broadcast Channel
in Section 3.1.1 we know that the same rates can be achieved for MIMO point-to-point
systems with the channels H and H H . The following optimization problems are
therefore equivalent
max ln det(I + Z −1/2 ĤC Ĥ H Z −H/2 )
C0
tr(C)≤PTx
= max ln det(I + Ĥ H Z −H/2 QZ −1/2 Ĥ).
Q0
tr(Q)≤PTx
(3.19)
We rewrite (3.19) by introducing an auxiliary variable X
max ln det(X) s.t.
X,Q
tr(Q) ≤ PTx , Q 0
(3.20)
X = I + Ĥ H Z −H/2 QZ −1/2 Ĥ
QUESTION 11
Determine the Lagrangian function L(X, Q, K, Λ, µ) for above optimization
problem, where K, Λ 0, and µ ≥ 0 correspond to the Lagrangian multipliers
for the equality, non-negative definiteness, and power constraint, respectively.
Since above optimization problem is convex, the KKT conditions must hold at the
optimum. Specifically, the dual feasibility conditions need to hold at the optimum, i.e.,
the derivatives of the Lagrangian function with respect to the optimization variables
are equal to zero.
QUESTION 12
Determine
∂
Hint: ∂X
T
∂
∂
L(X, Q, K, Λ, µ) and ∂Q
T L(X, Q, K, Λ, µ).
∂X T
det(X) = det(X)X −1
QUESTION 13
Use the dual feasibility conditions to show that the Lagrangian function can be
written as
L(K, µ) = − ln det(K) + tr(K) + µPTx − tr(IN ).
15
Chapter 3. Broadcast Channel
Since (3.19) is convex, strong duality holds. The maximization of (3.19) is
therefore equivalent to minimizing the Lagrangian dual function with respect to the
dual variables
min max L(X, Q, K, Λ, µ)
s.t. Λ 0, µ ≥ 0.
K,Λ,µ
Q,X
Note that, with help of the dual feasibility condition, we have rewritten the Lagrangian
function such that it is independent of Q, X, and Λ, making the maximization w.r.t.
Q and X superfluous. However, for the maximum to exist, we have to make sure that
the dual feasibility conditions hold by adding additional constraints. The resulting
dual problem is then given by
min − ln det(K) + tr(K) + µPTx − N
K,µ
s.t. K 0, µ ≥ 0
(3.21)
µZ ĤK Ĥ H .
This minimization problem is equivalent to the inner maximization of (3.18). We
substitute this result back into (3.18) and introduce the auxiliary variable Ẑ = µZ,
yielding
RSato =
1
min − ln det(K) + tr(K) + µPTx − N
ln(2) Ẑ,K,µ
(3.22)
s.t. Ẑ 0, K 0, µ ≥ 0
Ẑ ĤK Ĥ H
Si ẐSiT µI, ∀i ∈ {1, . . . , K}.
This optimization problem is convex and can be solved with standard optimization
tools.
PROGRAMMING TASK 6
Modify the function SatoBound.m to determine RSato . Use YALMIP with SDPT3
(cf. Project 2) to solve (3.22).
QUESTION 14
Modify the script plotSumRateBC.m to additionally plot the Sato bound for the
given exemplary system in exampleMIMOBCs.mat for PTx from −15 dB to 30 dB.
Verify that the Sato bound is equal to the sum capacity of the broadcast channel.
16
Chapter 3. Broadcast Channel
n1
T1
V1
H1
y1
s1
nk
Tk
Vk
Hk
yk
sk
nK
TK
VK
HK
yK
sK
Figure 3.3: Linear Block Diagonalization Precoding
3.2
Block Diagonalization Precoding
Due to the high complexity of dirty paper coding, linear processing is often preferred
in practical systems. In this section, a linear block diagonalization precoder will be
derived and the performance compared to the BC capacity. To this end, consider the
BC depicted in Fig. 3.3 with channels Hk ∈ CM ×N and N ≥ KM . The noise is
assumed Gaussian distributed according to nk ∼ NC (0, Cnk ). The input signals are
given as sk ∼ NC (0, I) ∈ CM . All noise and input signals are assumed to be mutually
independent.
The precoding is performed in two steps, where Vk ∈ CN ×M ensures that the
signal sk is only received at user k and does not cause interference at other users.
The transmitted signal intended for user k therefore has to lie in the nullspace of the
channels Hi , i 6= k. This matrix Vk can be obtained via an orthogonal projection
matrix Pk
Pk = I − H̄kH (H̄k H̄kH )−1 H̄k
(3.23)
where
H̄kH =
h
H HH · · · HH
H1H · · · Hk−1
K
k+1
i
.
(3.24)
Assuming full rank channel matrices of size Hk ∈ CM ×N , Pk has rank M . With
help of an eigenvalue decomposition, Pk can therefore be written as
Pk = Vk VkH
(3.25)
where Vk ∈ CN ×M contains the eigenvectors corresponding to the M non-zero
eigenvalues of Pk .
With this choice of the precoder Vk , the transmissions from sk to yk become
independent of the input signals si , i 6= k and we can formulate k independent
point-to-point channels
yk = Hk Vk Tk sk + nk = Ĥk Tk sk + nk .
17
(3.26)
Chapter 3. Broadcast Channel
A suboptimal, yet simple choice to now allocate power among the users is to divide
the available transmit power PTx equally among all users.
QUESTION 15
Formulate an optimization problem to maximize the achievable rate of the point-topoint MIMO system given in (3.26) with the assumption that the available transmit
power is divided equally among all users. Give the optimal choice for Tk .
PROGRAMMING TASK 7
Write a function that computes the maximum achievable rate of a MIMO BC with
block diagonalization for given channels Hk , noise covariances Cnk , assuming
that the available transmit power PTx is divided equally among all users for.
1 Deliverables (Matlab code file): BlockDiagBCEqualPower.m
• Function definition:
function [Rsum] = BlockDiagBCEqualPower(H,C,Ptx)
2 Input Specification:
• H: K × 1 cell array with channel Hk ∈ CM ×N per cell
• C: K × 1 cell array with noise covariance Ck ∈ CM ×M per cell
• Ptx: Available transmit power PTx
3 Output Specification:
• Rsum: Achievable sum rate with zero forcing precoding.
The achievable rate of this system can still be improved by also optimizing the
transmit power that is allocated to each user. To this end, we now define the composite
matrices
H1
h
i
H = ...
V = V1 . . . VK
(3.27)
HK
as well as the stacked vectors
s1
n1
s = ...
n = ...
sK
nK
18
y1
y = ... .
yK
(3.28)
Chapter 3. Broadcast Channel
With above definitions we can find that the product HV as well as the covariance
matrix of n become block diagonal, i.e.,
Ĥ = HV = blockdiag(H1 V1 , . . . , HK VK )
C = E[nnH ] = blockdiag(Cn1 , . . . , CnK )
(3.29)
We can therefore give an equivalent point-to-point channel
y = ĤT s + n,
(3.30)
where also T is block diagonal with entries T1 , . . . , TK . Due to the block diagonal
structure of the equivalent channel as well as the noise covariance, separate decoding
of each block yk is optimal for this system.
QUESTION 16
Formulate an optimization problem to maximize the achievable rate of the point-topoint MIMO system given in (3.30). What is the optimal choice for T ?
PROGRAMMING TASK 8
Write a function that computes the maximum achievable rate of a MIMO BC with
block diagonalization for given channels Hk , noise covariances Cnk and transmit
power PTx .
1 Deliverables (Matlab code file): BlockDiagBC.m
• Function definition:
function [Rsum] = BlockDiagBC(H,C,Ptx)
2 Input Specification:
• H: K × 1 cell array with channel Hk ∈ CM ×N per cell
• C: K × 1 cell array with noise covariance Ck ∈ CM ×M per cell
• Ptx: Available transmit power PTx
3 Output Specification:
• Rsum: Achievable sum rate with zero forcing precoding.
Again, assume that the noise at each receiver is given by nk ∼ NC (0, I).
19
Chapter 3. Broadcast Channel
PROGRAMMING TASK 9
Write a Matlab script plotBlogDiagBC.m to plot the achievable rates obtained with
BlockDiagBCEqualPower.m, BlockDiagBC.m, and the sum capacity of the BC
versus PTx for the exemplary channels given in exampleBlockDiagMIMOBC.mat.
QUESTION 17
Run the Matlab script plotBlockDiagBC.m for the exemplary channels given
in exampleBlockDiagMIMOBC.m and PTx from −10 dB to 40 dB (in steps of
2 dB) and save the figure as BlockDiagVSCapacity.fig. Comment on your
observations.
20
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.5 Linearized : No Page Count : 20 Producer : pdfTeX-1.40.19 Creator : TeX Create Date : 2019:01:25 11:00:40+01:00 Modify Date : 2019:01:25 11:00:40+01:00 Trapped : False PTEX Fullbanner : This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2018) kpathsea version 6.3.0EXIF Metadata provided by EXIF.tools