前言
行将毕业了,最近不太看那些智能反射面、通感一体化之类的热点了。有限的时间里,准备多读一些过去的经典沉淀一下。 疫情汹涌,祝大家一切都好。接下来在家的日子里,希望要求自己每天写一篇经典论文的摘记博客,不负时光。
这篇博客是对2009年文献Generalized Channel Inversion Methods for Multiuser MIMO Systems的摘记,讲的是多用户MIMO系统预编码设计。对此,文献[1]中给出的著名脏纸编码 (dirty paper coding, DPC) 可以达到最大的用户和速率。然而这一非线性算法带来高额的计算复杂度。文献[2]中通过迭代算法来消除干扰,但迭代同样造成了高复杂度。文献[3]中,一种著名的迫零编码算法可用作低复杂度的干扰消除算法,不过其仅针对用户单天线场景。对于多天线场景,文献[4]拓展了迫零算法的思想,提出了著名的块对角化预编码(block diagonalization, BD)。其旨在忽视噪声,并以完全消除用户间干扰为目标。 在本文中,作者提出了一种MMSE-CI预编码算法,相较于BD算法考虑了噪声干扰,且具有更好的鲁棒性。
系统模型
考虑一个下行多用户MIMO系统, 其中基站配有发送天线
N
t
N_t
Nt根,第
j
j
j个用户配备
n
j
≥
1
n_j\ge 1
nj≥1根接收天线,总接收天线数表示为
N
T
=
∑
j
=
1
K
n
j
N_{T}=\sum_{j=1}^{K} n_{j}
NT=∑j=1Knj。基站到第
j
j
j个用户的信道表示为
H
j
\mathbf{H}_j
Hj,我们假定其满秩,并定义总信道矩阵为:
H
s
=
[
H
1
T
H
2
T
⋯
H
K
T
]
T
\mathbf{H}_{s}=\left[\begin{array}{llll}\mathbf{H}_{1}^{T} & \mathbf{H}_{2}^{T} & \cdots & \mathbf{H}_{K}^{T}\end{array}\right]^{T}
Hs=[H1TH2T⋯HKT]T, 在基站端完美已知。
本文中主要考虑线性预编码,定义用户的传输向量为
s
s
\mathbf{s}_s
ss,噪声
w
s
\mathbf{w}_s
ws,预编码矩阵为
P
s
\mathbf{P}_s
Ps,总体可写为:
s
s
=
[
s
1
T
s
2
T
⋯
s
K
T
]
T
,
w
s
=
[
w
1
T
w
2
T
⋯
w
K
T
]
T
P
s
=
[
P
1
P
2
⋯
P
K
]
\begin{aligned} \mathbf{s}_{s} &=\left[\begin{array}{llll} \mathbf{s}_{1}^{T} & \mathbf{s}_{2}^{T} & \cdots & \mathbf{s}_{K}^{T} \end{array}\right]^{T}, \\ \mathbf{w}_{s} &=\left[\begin{array}{llll} \mathbf{w}_{1}^{T} & \mathbf{w}_{2}^{T} & \cdots & \mathbf{w}_{K}^{T} \end{array}\right]^{T} \\ \mathbf{P}_{s} &=\left[\begin{array}{llll} \mathbf{P}_{1} & \mathbf{P}_{2} & \cdots & \mathbf{P}_{K} \end{array}\right] \end{aligned}
sswsPs=[s1Ts2T⋯sKT]T,=[w1Tw2T⋯wKT]T=[P1P2⋯PK]
接收向量可写为:
y
s
=
[
y
1
T
y
2
T
⋯
y
K
T
]
T
=
H
s
P
s
s
s
+
w
s
\mathbf{y}_{s}=\left[\begin{array}{ll} \mathbf{y}_{1}^{T} & \mathbf{y}_{2}^{T} \cdots \mathbf{y}_{K}^{T} \end{array}\right]^{T}=\mathbf{H}_{s} \mathbf{P}_{s} \mathbf{s}_{s}+\mathbf{w}_{s}
ys=[y1Ty2T⋯yKT]T=HsPsss+ws
其中,
y
j
=
H
j
P
j
s
j
+
H
j
∑
k
=
1
,
k
≠
j
K
P
k
s
k
+
w
j
\mathbf{y}_{j}=\mathbf{H}_{j} \mathbf{P}_{j} \mathbf{s}_{j}+\mathbf{H}_{j} \sum_{k=1, k \neq j}^{K} \mathbf{P}_{k} \mathbf{s}_{k}+\mathbf{w}_{j}
yj=HjPjsj+Hjk=1,k=j∑KPksk+wj
另一方面,接收机的线性操作可以表示为:
M
s
=
diag
{
M
1
,
M
2
,
⋯
,
M
K
}
\mathbf{M}_{s}=\operatorname{diag}\left\{\mathbf{M}_{1}, \quad \mathbf{M}_{2}, \quad \cdots, \quad \mathbf{M}_{K}\right\}
Ms=diag{M1,M2,⋯,MK}
最终的输出结果为:
x
j
=
M
j
H
j
P
j
s
j
+
M
j
H
j
∑
k
=
1
,
k
≠
j
K
P
k
s
k
+
M
j
w
j
\mathbf{x}_{j}=\mathbf{M}_{j} \mathbf{H}_{j} \mathbf{P}_{j} \mathbf{s}_{j}+\mathbf{M}_{j} \mathbf{H}_{j} \sum_{k=1, k \neq j}^{K} \mathbf{P}_{k} \mathbf{s}_{k}+\mathbf{M}_{j} \mathbf{w}_{j}
xj=MjHjPjsj+MjHjk=1,k=j∑KPksk+Mjwj
BD算法回顾
BD算法主要分为两阶段。 在第一阶段中,寻找一个可以消除用户间干扰的预编码矩阵。基于此,等效信道将变为块对角形式。第二阶段中,每个块对角信道被进一步通过SVD分解,得到
n
j
n_j
nj个独立平行子信道。
具体而言,第一阶段所要求取的预编码矩阵需要满足:
H
j
P
k
=
0
for all
j
≠
k
and
1
≤
j
,
k
≤
K
\mathbf{H}_{j} \mathbf{P}_{k}=\mathbf{0} \quad \text { for all } \quad j \neq k \quad \text { and } \quad 1 \leq j, k \leq K
HjPk=0 for all j=k and 1≤j,k≤K
从而使得用户间干扰为0。为此,
P
k
\mathbf{P}_{k}
Pk需要位于如下矩阵的零空间中:
H
~
j
=
[
H
1
T
⋯
H
j
−
1
T
H
j
+
1
T
⋯
H
K
T
]
T
\tilde{\mathbf{H}}_{j}=\left[\begin{array}{llllll} \mathbf{H}_{1}^{T} & \cdots & \mathbf{H}_{j-1}^{T} & \mathbf{H}_{j+1}^{T} & \cdots & \mathbf{H}_{K}^{T} \end{array}\right]^{T}
H~j=[H1T⋯Hj−1THj+1T⋯HKT]T
令
L
~
j
=
rank
(
H
~
j
)
\tilde{L}_{j}=\operatorname{rank}\left(\tilde{\mathbf{H}}_{j}\right)
L~j=rank(H~j), 对
H
~
j
\tilde{\mathbf{H}}_{j}
H~j的SVD分解可表示为:
H
~
j
=
U
~
j
Λ
~
j
[
V
~
j
(
1
)
V
~
j
(
0
)
]
H
\tilde{\mathbf{H}}_{j}=\tilde{\mathbf{U}}_{j} \tilde{\boldsymbol{\Lambda}}_{j}\left[\begin{array}{ll} \tilde{\mathbf{V}}_{j}^{(1)} & \tilde{\mathbf{V}}_{j}^{(0)} \end{array}\right]^{H}
H~j=U~jΛ~j[V~j(1)V~j(0)]H
其中
V
~
j
(
0
)
\tilde{\mathbf{V}}_{j}^{(0)}
V~j(0)对应的列空间即为
H
~
j
\tilde{\mathbf{H}}_{j}
H~j的零空间。因此,以
V
~
j
(
0
)
\tilde{\mathbf{V}}_{j}^{(0)}
V~j(0)进行预编码,等效信道矩阵
H
s
P
s
\mathbf{H}_s\mathbf{P}_s
HsPs将变为块对角矩阵,对角元素为
H
j
V
~
j
(
0
)
\mathbf{H}_j\tilde{\mathbf{V}}_{j}^{(0)}
HjV~j(0)。此时由于用户间的传输已互不干扰,因此对于每个用户,都是一个简单的单用户MIMO场景,有经典的SVD方法。具体地, 对基站到第
j
j
j个用户间的等效信道
H
j
V
~
j
(
0
)
\mathbf{H}_j\tilde{\mathbf{V}}_{j}^{(0)}
HjV~j(0)进行SVD分解,得到:
H
j
V
~
j
(
0
)
=
U
j
(
b
)
Λ
j
(
b
)
V
j
(
b
)
H
\mathbf{H}_{j} \tilde{\mathbf{V}}_{j}^{(0)}=\mathbf{U}_{j}^{(\mathrm{b})} \boldsymbol{\Lambda}_{j}^{(\mathrm{b})} \mathbf{V}_{j}^{(\mathrm{b}) H}
HjV~j(0)=Uj(b)Λj(b)Vj(b)H
那么,我们令
P
j
=
V
~
j
(
0
)
V
j
(
b
)
\mathbf{P}_{j}=\tilde{\mathbf{V}}_{j}^{(0)} \mathbf{V}_{j}^{(\mathrm{b})}
Pj=V~j(0)Vj(b),
M
j
=
U
j
(
b
)
H
\mathbf{M}_{j}=\mathbf{U}_{j}^{(\mathrm{b}) H}
Mj=Uj(b)H,即有:
x
~
j
=
Λ
j
(
b
)
s
j
+
U
j
(
b
)
H
w
j
\tilde{\mathbf{x}}_{j}=\boldsymbol{\Lambda}_{j}^{(\mathrm{b})} \mathbf{s}_{j}+\mathbf{U}_{j}^{(\mathrm{b}) H} \mathbf{w}_{j}
x~j=Λj(b)sj+Uj(b)Hwj
因此就将复杂的多用户MIMO转化为了许多个独立平行的SISO信道场景。最后,我们需要通过注水法对不同流的进行功率分配,得到最终结果。最优预编码矩阵为:
P
s
B
D
=
[
V
~
1
(
0
)
V
1
(
b
)
V
~
2
(
0
)
V
2
(
b
)
⋯
V
~
K
(
0
)
V
K
(
b
)
]
Φ
1
2
\mathbf{P}_{s}^{\mathrm{BD}}=\left[\begin{array}{cccc} \tilde{\mathbf{V}}_{1}^{(0)} \mathbf{V}_{1}^{(\mathrm{b})} & \tilde{\mathbf{V}}_{2}^{(0)} \mathbf{V}_{2}^{(\mathrm{b})} & \cdots & \tilde{\mathbf{V}}_{K}^{(0)} \mathbf{V}_{K}^{(\mathrm{b})} \end{array}\right] \Phi^{\frac{1}{2}}
PsBD=[V~1(0)V1(b)V~2(0)V2(b)⋯V~K(0)VK(b)]Φ21
其中
Φ
1
2
\Phi^{\frac{1}{2}}
Φ21为对角阵,负责功率分配。
注:当 N r ≥ N t N_r\ge N_t Nr≥Nt时,可能无法得到零空间。这说明BD对信道的维度也有一定要求。此时可以通过将用户端的接收机也视为等效信道一并进行BD等方法进行操作。
GZF-CI
在BD中作者通过了零空间的思想来消除用户干扰。与之不同的,本文则通过迫零的思想寻找消除干扰的方案。具体地,信道矩阵的伪逆可以表示为:
H
^
s
=
H
s
H
(
H
s
H
s
H
)
−
1
=
[
H
^
1
H
^
2
⋯
H
^
K
]
\hat{\mathbf{H}}_{s}=\mathbf{H}_{s}^{H}\left(\mathbf{H}_{s} \mathbf{H}_{s}^{H}\right)^{-1}=\left[\begin{array}{llll} \hat{\mathbf{H}}_{1} & \hat{\mathbf{H}}_{2} & \cdots & \hat{\mathbf{H}}_{K} \end{array}\right]
H^s=HsH(HsHsH)−1=[H^1H^2⋯H^K]
由此可以看出同样要求
N
r
≥
N
t
N_r\ge N_t
Nr≥Nt,否则
(
H
s
H
s
H
)
\left(\mathbf{H}_{s} \mathbf{H}_{s}^{H}\right)
(HsHsH)不可逆。计算QR分解如下:
H
^
j
=
Q
^
j
R
^
j
for
j
=
1
,
⋯
,
K
\hat{\mathbf{H}}_{j}=\hat{\mathbf{Q}}_{j} \hat{\mathbf{R}}_{j} \quad \text { for } \quad j=1, \cdots, K
H^j=Q^jR^j for j=1,⋯,K
其中,
Q
^
j
\hat{\mathbf{Q}}_{j}
Q^j是一个
N
t
×
n
j
N_t\times n_j
Nt×nj的酉矩阵,而
R
^
j
\hat{\mathbf{R}}_{j}
R^j是一个
n
j
×
n
j
n_j\times n_j
nj×nj的上三角矩阵。其中
Q
^
j
\hat{\mathbf{Q}}_{j}
Q^j中的列组成了
H
^
j
\hat{\mathbf{H}}_{j}
H^j的一组标准正交基。注意到由于
H
s
H
^
s
=
I
\mathbf{H}_s\hat{\mathbf{H}}_{s}=\mathbf{I}
HsH^s=I, 因此
H
^
j
\hat{\mathbf{H}}_{j}
H^j也满足
H
~
j
H
^
j
=
0
\tilde{\mathbf{H}}_{j} \hat{\mathbf{H}}_{j}=\mathbf{0}
H~jH^j=0,即有(上三角矩阵显然可逆):
H
~
j
Q
^
j
=
0
\tilde{\mathbf{H}}_{j} \hat{\mathbf{Q}}_{j}=\mathbf{0}
H~jQ^j=0
也就是说,
Q
^
j
\hat{\mathbf{Q}}_{j}
Q^j恰对应于BD算法所要求取的零空间。相较于BD算法需要对高维的
H
~
j
\tilde{\mathbf{H}}_{j}
H~j矩阵进行SVD分解,QR分解的复杂度相对更低。注意到尽管需要求逆操作,但该操作并不需要对每个用户都进行。
GMI (Generalization of MMSE Channel inversion)
接下来,本文提出一种MMSE算法。 相较于ZF算法,其考虑了噪声的影响。同时,不再要求
N
r
≤
N
t
N_r\le N_t
Nr≤Nt。经典的MMSE预编码可以被表示为:
H
‾
s
=
(
H
s
H
H
s
+
α
I
)
−
1
H
s
H
=
[
H
‾
1
H
‾
2
⋯
H
‾
K
]
\overline{\mathbf{H}}_{s}=\left(\mathbf{H}_{s}^{H} \mathbf{H}_{s}+\alpha \mathbf{I}\right)^{-1} \mathbf{H}_{s}^{H}=\left[\begin{array}{llll} \overline{\mathbf{H}}_{1} & \overline{\mathbf{H}}_{2} & \cdots & \overline{\mathbf{H}}_{K} \end{array}\right]
Hs=(HsHHs+αI)−1HsH=[H1H2⋯HK]
题外化, 通过求逆引理有:
H
‾
s
=
H
s
H
(
H
s
H
s
H
+
α
I
)
−
1
\overline{\mathbf{H}}_{s}=\mathbf{H}_{s}^{H}\left(\mathbf{H}_{s}\mathbf{H}_{s}^{H} +\alpha \mathbf{I}\right)^{-1}
Hs=HsH(HsHsH+αI)−1
显然当
α
=
0
\alpha=0
α=0时这与迫零预编码一致。
在MMSE预编码中,
α
=
N
r
σ
w
2
/
P
total
\alpha=N_{r} \sigma_{w}^{2} / P_{\text {total }}
α=Nrσw2/Ptotal 。我们同样进行QR分解:
H
‾
j
=
Q
‾
j
R
‾
j
for
j
=
1
,
⋯
,
K
\overline{\mathbf{H}}_{j}=\overline{\mathbf{Q}}_{j} \overline{\mathbf{R}}_{j} \quad \text { for } \quad j=1, \cdots, K
Hj=QjRj for j=1,⋯,K
然而,基于这一思路的话用户间干扰并未完全消除,因此我们需要在外面再加一层预编码矩阵
T
j
\mathbf{T}_j
Tj进一步消除干扰。此时接收信号可以表示为:
y
‾
j
=
H
j
Q
‾
j
T
j
s
j
+
H
j
∑
k
≠
j
Q
‾
k
T
k
s
k
+
w
j
\overline{\mathbf{y}}_{j}=\mathbf{H}_{j} \overline{\mathbf{Q}}_{j} \mathbf{T}_{j} \mathbf{s}_{j}+\mathbf{H}_{j} \sum_{k \neq j} \overline{\mathbf{Q}}_{k} \mathbf{T}_{k} \mathbf{s}_{k}+\mathbf{w}_{j}
yj=HjQjTjsj+Hjk=j∑QkTksk+wj
对等效信道矩阵
H
j
Q
‾
j
T
j
\mathbf{H}_{j} \overline{\mathbf{Q}}_{j} \mathbf{T}_{j}
HjQjTj进行SVD分解,最终获取的平行SISO模型结果可以表示为:
x
j
=
U
j
H
H
j
Q
‾
j
T
j
V
j
s
j
+
U
j
H
H
j
∑
k
≠
j
Q
‾
k
T
k
V
k
s
k
+
U
j
H
w
j
\mathbf{x}_{j}=\mathbf{U}_{j}^{H} \mathbf{H}_{j} \overline{\mathbf{Q}}_{j} \mathbf{T}_{j} \mathbf{V}_{j} \mathbf{s}_{j}+\mathbf{U}_{j}^{H} \mathbf{H}_{j} \sum_{k \neq j} \overline{\mathbf{Q}}_{k} \mathbf{T}_{k} \mathbf{V}_{k} \mathbf{s}_{k}+\mathbf{U}_{j}^{H} \mathbf{w}_{j}
xj=UjHHjQjTjVjsj+UjHHjk=j∑QkTkVksk+UjHwj
接下来,讨论如何设计矩阵
T
j
\mathbf{T}_j
Tj。
矩阵 T j \mathbf{T}_j Tj的设计
对于矩阵 T j \mathbf{T}_j Tj的设计,本文提供了两种思路:
基于MMSE
求取矩阵以最小化MMSE结果:
E
[
∥
U
j
H
G
j
V
j
s
j
−
1
β
x
j
∥
2
]
\mathbb{E}\left[\left\|\mathbf{U}_{j}^{H} \mathbf{G}_{j} \mathbf{V}_{j} \mathbf{s}_{j}-\frac{1}{\beta} \mathbf{x}_{j}\right\|^{2}\right]
E[∥∥∥∥UjHGjVjsj−β1xj∥∥∥∥2]
其中
G
j
\mathbf{G}_j
Gj代表目标矩阵,作者令之为
H
j
Q
‾
j
\mathbf{H}_{j} \overline{\mathbf{Q}}_{j}
HjQj。而后通过MMSE问题求解,可得:
T
‾
j
=
(
Q
‾
j
H
∑
k
=
1
K
H
k
H
H
k
Q
‾
j
+
α
I
n
j
)
−
1
Q
‾
j
H
H
j
H
H
j
Q
‾
j
\overline{\mathbf{T}}_{j}=\left(\overline{\mathbf{Q}}_{j}^{H} \sum_{k=1}^{K} \mathbf{H}_{k}^{H} \mathbf{H}_{k} \overline{\mathbf{Q}}_{j}+\alpha \mathbf{I}_{n_{j}}\right)^{-1} \overline{\mathbf{Q}}_{j}^{H} \mathbf{H}_{j}^{H} \mathbf{H}_{j} \overline{\mathbf{Q}}_{j}
Tj=(QjH∑k=1KHkHHkQj+αInj)−1QjHHjHHjQj
基于SLNR最小化
这一思路有点类似于SLNR算法,即目标变为最小化下式:
E
[
∑
k
≠
j
∥
U
k
H
H
k
Q
‾
j
T
j
V
j
s
j
∥
2
]
+
E
[
∥
U
j
H
w
j
∥
2
]
\mathbb{E}\left[\sum_{k \neq j}\left\|\mathbf{U}_{k}^{H} \mathbf{H}_{k} \overline{\mathbf{Q}}_{j} \mathbf{T}_{j} \mathbf{V}_{j} \mathbf{s}_{j}\right\|^{2}\right]+\mathbb{E}\left[\left\|\mathbf{U}_{j}^{H} \mathbf{w}_{j}\right\|^{2}\right]
E⎣⎡k=j∑∥∥UkHHkQjTjVjsj∥∥2⎦⎤+E[∥∥UjHwj∥∥2]
最终
T
j
\mathbf{T}_j
Tj将逐渐收敛为单位阵。
参考文献
[1] M. H. M. Costa, “Writing on dirty paper," IEEE Trans. Inf. Theory, vol. 29, pp. 439-441, May 1983
[2] D. P. Palomar, J. M. Cioffi, and M. A. Lagunas, “Joint Tx-Rx beamforming design for multicarrier MIMO channels: a unified framework for convex optimization," IEEE Trans. Signal Process., vol. 51, pp. 2381-2401, Sep. 2003.
[3] C. B. Peel, B. M. Hochwald, and A. L. Swindelhurst, “A vector-perturbation technique for near-capacity multiantenna multiuser communication—part I: channel inversion and regularization," IEEE
Trans. Commun., vol. 53, pp. 195-202, Jan. 2005.
[4] Q. H. Spencer, A. L. Swindelhurst, and M. Haardt, “Zero-forcing methods for downlink spatial multiplexing in multiuser MIMO channels," IEEE Trans. Signal Process., vol. 52, pp. 461-471, Feb. 2004.
