行将毕业了,最近不太看那些智能反射面、通感一体化之类的热点了。有限的时间里,准备多读一些过去的经典沉淀一下。 疫情汹涌,祝大家一切都好。接下来在家的日子里,希望要求自己每天写一篇经典论文的摘记博客,不负时光。 这篇博客是对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.