单用户MIMO系统(一):信道信息在发端已知

关键词

MIMO单用户信道容量注水算法Matlab实现

基本介绍

本文介绍了单用户MIMO系统在发端知道信道状态信息时的系统速率优化算法(注水算法、CVX)并且给出了对应的Matlab实现。除了介绍发射机的设计方案外,也给出了对应的接收机的设计方案。

考虑图1所示的单用户MIMO系统,发射机配有NtN_{\text t}Nt​条射频链路,接收机配置有NrN_{\text r}Nr​条射频链路,无线信道可以用矩阵H∈CNr×Nt{\textbf H}\in{\mathbb C}^{N_{\text r}\times N_{\text t}}H∈CNr​×Nt​表示。接收机接收到的信号向量为:y=Hs+n,{\textbf y}={\textbf H}{\textbf s}+{\textbf n},y=Hs+n,其中s∈CNt×1{\textbf s}\in{\mathbb C}^{N_{\text t}\times 1}s∈CNt​×1表示传输的信号向量, n∼CN(0,σ2INr){\textbf n}\sim{\mathcal{CN}}\left(0,\sigma^2{\textbf I}_{N_{\text r}}\right)n∼CN(0,σ2INr​​)表示接收侧加性噪声,系统传输速率可以表示为[1]R=log⁡det⁡(INr+1σ2HΦH†),{\mathcal R}=\log\det\left({\textbf I}_{N_{\text r}}+\frac{1}{\sigma^2}{\textbf H}{\bm\Phi}{\textbf H}^{\dag}\right),R=logdet(INr​​+σ21​HΦH†),其中Φ=E{ss†}{\bm\Phi}={\mathbb E}\left\{{\textbf s}{\textbf s}^{\dag}\right\}Φ=E{ss†}表示发射信号的协方差矩阵,Tr(Φ){\rm{Tr}}\left(\bm\Phi\right)Tr(Φ)表示传输功率。

图1:单用户MIMO传输系统框图

假设发送方与接收方都知道信道信息H{\textbf H}H,那么可以对协方差矩阵进行设计使得传输速率最大,即:P0:Φ⋆=arg⁡max⁡Φ⪰0log⁡det⁡(INr+1σ2HΦH†).{\mathcal P}_0:{\bm\Phi}^{\star}=\arg\max_{{\bm\Phi}\succeq{\textbf 0}}\log\det\left({\textbf I}_{N_{\text r}}+\frac{1}{\sigma^2}{\textbf H}{\bm\Phi}{\textbf H}^{\dag}\right).P0​:Φ⋆=argΦ⪰0max​logdet(INr​​+σ21​HΦH†).上述问题难以直接进行求解,对信道矩阵先进行奇异值分解,得到H=UrΛUt{\textbf H}={\textbf U}_{\text r}{\bm\Lambda}{\textbf U}_{\text t}H=Ur​ΛUt​,其中Λ∈CNr×Nt{\bm\Lambda}\in{\mathbb C}^{N_{\text r}\times N_{\text t}}Λ∈CNr​×Nt​是一个对角阵,Ur∈CNr×Nr{\textbf U}_{\text r}\in{\mathbb C}^{N_{\text r}\times N_{\text r}}Ur​∈CNr​×Nr​与Ut∈CNt×Nt{\textbf U}_{\text t}\in{\mathbb C}^{N_{\text t}\times N_{\text t}}Ut​∈CNt​×Nt​为酉矩阵。首先,利用奇异值分解以及Sylvester行列式等式 log⁡det⁡(I+AB)=log⁡det⁡(I+BA)\log\det\left({\textbf I}+{\textbf A}{\textbf B}\right)=\log\det\left({\textbf I}+{\textbf B}{\textbf A}\right)logdet(I+AB)=logdet(I+BA),可以得到:
R=log⁡det⁡(INr+1σ2HΦH†)=log⁡det⁡(INt+1σ2H†HΦ)=log⁡det⁡(INt+1σ2Ut†Λ†ΛUtΦ)=log⁡det⁡(INt+1σ2Λ†ΛUtΦUt†).\begin{aligned} {\mathcal R}&=\log\det\left({\textbf I}_{N_{\text r}}+\frac{1}{\sigma^2}{\textbf H}{\bm\Phi}{\textbf H}^{\dag}\right) =\log\det\left({\textbf I}_{N_{\text t}}+\frac{1}{\sigma^2}{\textbf H}^{\dag}{\textbf H}{\bm\Phi}\right)\\ &=\log\det\left({\textbf I}_{N_{\text t}}+\frac{1}{\sigma^2}{\textbf U}_{\text t}^{\dag}{\bm\Lambda}^{\dag}{\bm\Lambda}{\textbf U}_{\text t}{\bm\Phi}\right) =\log\det\left({\textbf I}_{N_{\text t}}+\frac{1}{\sigma^2} {\bm\Lambda}^{\dag}{\bm\Lambda}{\textbf U}_{\text t}{\bm\Phi}{\textbf U}_{\text t}^{\dag} \right)\end{aligned}.R​=logdet(INr​​+σ21​HΦH†)=logdet(INt​​+σ21​H†HΦ)=logdet(INt​​+σ21​Ut†​Λ†ΛUt​Φ)=logdet(INt​​+σ21​Λ†ΛUt​ΦUt†​)​.基于上述关系,将之前定义的速率优化问题写为:P1:Φ⋆=arg⁡max⁡Φ⪰0log⁡det⁡(INt+1σ2Λ†ΛUtΦUt†).{\mathcal P}_1:{\bm\Phi}^{\star}=\arg\max_{{\bm\Phi}\succeq{\textbf 0}}\log\det\left({\textbf I}_{N_{\text t}}+\frac{1}{\sigma^2} {\bm\Lambda}^{\dag}{\bm\Lambda}{\textbf U}_{\text t}{\bm\Phi}{\textbf U}_{\text t}^{\dag}\right).P1​:Φ⋆=argΦ⪰0max​logdet(INt​​+σ21​Λ†ΛUt​ΦUt†​).

作为协方差矩阵,Φ{\bm\Phi}Φ必定是个厄尔米特矩阵,满足 Φ=Φ†{\bm\Phi}={\bm\Phi}^{\dag}Φ=Φ†,对Φ{\bm\Phi}Φ进行特征值分解(此时也就是奇异值分解),为Φ=W†ΩW{\bm\Phi}={\textbf W}^{\dag}{\bm\Omega}{\textbf W}Φ=W†ΩW,因此Φ{\bm\Phi}Φ的优化可以等价为W{\textbf W}W与Ω{\bm\Omega}Ω的联合优化。注意W{\textbf W}W是个酉矩阵,Ω{\bm\Omega}Ω是个对角矩阵且满足Tr(Ω)=Tr(Φ){\rm{Tr}}\left(\bm\Omega\right)={\rm{Tr}}\left(\bm\Phi\right)Tr(Ω)=Tr(Φ)。可以看出,Φ{\bm\Phi}Φ就是功率分配矩阵,而W{\textbf W}W就是预编码矩阵。直观来看,最优的Φ{\bm\Phi}Φ应该满足某些结构上的特性,猜测最优的W{\textbf W}W满足W=Ut{\textbf W}={\textbf U}_{\text t}W=Ut​。现在,抛开Φ{\bm\Phi}Φ的结构特性不管(也就是不再认为它是一个对角矩阵),以此为基础,将速率优化问题写为:P2:Δ⋆=arg⁡max⁡Δ⪰0log⁡det⁡(INt+1σ2Λ†ΛUtUt†ΔUtUt†)=arg⁡max⁡Δ⪰0log⁡det⁡(INt+1σ2Λ†ΛΔ)=arg⁡max⁡Δ⪰0log⁡det⁡(INt+1σ2ΓΔΓ†),\begin{aligned} {\mathcal P}_2:{\bm\Delta}^{\star}&=\arg\max_{{\bm\Delta}\succeq{\textbf 0}}\log\det\left({\textbf I}_{N_{\text t}}+\frac{1}{\sigma^2} {\bm\Lambda}^{\dag}{\bm\Lambda}{\textbf U}_{\text t}{\textbf U}_{\text t}^{\dag}{\bm\Delta}{\textbf U}_{\text t}{\textbf U}_{\text t}^{\dag}\right)\\ &=\arg\max_{{\bm\Delta}\succeq{\textbf 0}}\log\det\left({\textbf I}_{N_{\text t}}+\frac{1}{\sigma^2} {\bm\Lambda}^{\dag}{\bm\Lambda}{\bm\Delta}\right)\\ &=\arg\max_{{\bm\Delta}\succeq{\textbf 0}}\log\det\left({\textbf I}_{N_{\text t}}+ \frac{1}{\sigma^2} {\bm\Gamma}{\bm\Delta}{\bm\Gamma}^{\dag}\right) \end{aligned},P2​:Δ⋆​=argΔ⪰0max​logdet(INt​​+σ21​Λ†ΛUt​Ut†​ΔUt​Ut†​)=argΔ⪰0max​logdet(INt​​+σ21​Λ†ΛΔ)=argΔ⪰0max​logdet(INt​​+σ21​ΓΔΓ†)​,其中Γ∈CNt×Nt{\bm\Gamma}\in{\mathbb C}^{N_{\text t}\times N_{\text t}}Γ∈CNt​×Nt​为对角矩阵,满足Γ†Γ=Λ†Λ{\bm\Gamma}^{\dag}{\bm\Gamma}={\bm\Lambda}^{\dag}{\bm\Lambda}Γ†Γ=Λ†Λ。如果最优的W{\textbf W}W满足W⋆=Ut{\textbf W}^{\star}={\textbf U}_{\text t}W⋆=Ut​,那么问题P2{\mathcal P}_2P2​的最优解Δ⋆{\bm\Delta}^{\star}Δ⋆必定是个对角矩阵,且最优的Ω{\bm\Omega}Ω等于Δ⋆{\bm\Delta}^{\star}Δ⋆。如果W⋆≠Ut{\textbf W}^{\star}\neq{\textbf U}_{\text t}W⋆​=Ut​,那么最优解Δ⋆{\bm\Delta}^{\star}Δ⋆必定满足Δ⋆=UtAUt†{\bm\Delta}^{\star}={\textbf U}_{\text t}{\textbf A}{\textbf U}_{\text t}^{\dag}Δ⋆=Ut​AUt†​,其中A⪰0{\textbf A}\succeq{\textbf 0}A⪰0是一个半正定矩阵。通过分析,可以得到下述定理:
定理1:问题P2{\mathcal P}_2P2​的最优解Δ⋆{\bm\Delta}^{\star}Δ⋆是个对角矩阵。[2]
证明:定义对角矩阵Πl∈CNt×Nt{\bm\Pi}_l\in{\mathbb C}^{N_{\text t}\times N_{\text t}}Πl​∈CNt​×Nt​,其中, Πl{\bm\Pi}_lΠl​的第(l,l)(l,l)(l,l)个元素为-1,其余的对角元素为1。注意到,矩阵ΠlΔΠl†{\bm\Pi}_l{\bm\Delta}{\bm\Pi}_l^{\dag}Πl​ΔΠl†​与矩阵Δ{\bm\Delta}Δ的第lll行与第lll列的非对角元素互为相反数,其余的元素相同(注意这两个矩阵的第(l,l)(l,l)(l,l)个元素是相同的)。根据这一特点,可以得到Tr(ΠlΔΠl†)=Tr(Π){\rm{Tr}}\left({\bm\Pi}_l{\bm\Delta}{\bm\Pi}_l^{\dag}\right)={\rm{Tr}}\left(\bm\Pi\right)Tr(Πl​ΔΠl†​)=Tr(Π)。进一步,可以得到下述表达式:log⁡det⁡(INt+1σ2ΓΠlΔΠl†Γ†)=log⁡det⁡(INt+1σ2(ΓΠl)Δ(ΓΠl)†)=log⁡det⁡(INt+1σ2(ΓΠl)†(ΓΠl)Δ).\begin{aligned} \log\det\left({\textbf I}_{N_{\text t}}+\frac{1}{\sigma^2} {\bm\Gamma}{\bm\Pi}_l{\bm\Delta}{\bm\Pi}_l^{\dag}{\bm\Gamma}^{\dag}\right)&= \log\det\left({\textbf I}_{N_{\text t}}+\frac{1}{\sigma^2} \left({\bm\Gamma}{\bm\Pi}_l\right){\bm\Delta}\left({\bm\Gamma}{\bm\Pi}_l\right)^{\dag}\right)\\ &=\log\det\left({\textbf I}_{N_{\text t}}+\frac{1}{\sigma^2} \left({\bm\Gamma}{\bm\Pi}_l\right)^{\dag} \left({\bm\Gamma}{\bm\Pi}_l\right) {\bm\Delta} \right) \end{aligned}.logdet(INt​​+σ21​ΓΠl​ΔΠl†​Γ†)​=logdet(INt​​+σ21​(ΓΠl​)Δ(ΓΠl​)†)=logdet(INt​​+σ21​(ΓΠl​)†(ΓΠl​)Δ)​.由于矩阵Πl{\bm\Pi}_lΠl​与Γ\bm\GammaΓ都是对角矩阵,利用矩阵Πl{\bm\Pi}_lΠl​结构的特点,可以得到(ΓΠl)†(ΓΠl)=Γ†Γ.\left({\bm\Gamma}{\bm\Pi}_l\right)^{\dag} \left({\bm\Gamma}{\bm\Pi}_l\right)={\bm\Gamma}^{\dag}{\bm\Gamma}.(ΓΠl​)†(ΓΠl​)=Γ†Γ.综上所述,log⁡det⁡(INt+1σ2ΓΠlΔΠl†Γ†)=log⁡det⁡(INt+1σ2Γ†ΓΔ)=log⁡det⁡(INt+1σ2ΓΔΓ†).\begin{aligned} \log\det\left({\textbf I}_{N_{\text t}}+\frac{1}{\sigma^2} {\bm\Gamma}{\bm\Pi}_l{\bm\Delta}{\bm\Pi}_l^{\dag}{\bm\Gamma}^{\dag}\right)&= \log\det\left({\textbf I}_{N_{\text t}}+\frac{1}{\sigma^2} {\bm\Gamma}^{\dag}{\bm\Gamma}{\bm\Delta}\right)\\ &=\log\det\left({\textbf I}_{N_{\text t}}+\frac{1}{\sigma^2} {\bm\Gamma}{\bm\Delta}{\bm\Gamma}^{\dag} \right)\end{aligned}.logdet(INt​​+σ21​ΓΠl​ΔΠl†​Γ†)​=logdet(INt​​+σ21​Γ†ΓΔ)=logdet(INt​​+σ21​ΓΔΓ†)​.此外,注意到矩阵12(ΠlΔΠl†+Δ)\frac{1}{2}\left( {\bm\Pi}_l{\bm\Delta}{\bm\Pi}_l^{\dag} +{\bm\Delta}\right)21​(Πl​ΔΠl†​+Δ)除了第lll行与第lll列的非对角元素为0,其余的元素与矩阵Δ{\bm\Delta}Δ的对应位置的元素相同。此外,对矩阵Δ{\bm\Delta}Δ做奇异值分解,为Δ=GKG†{\bm\Delta}={\textbf G}{\textbf K}{\textbf G}^{\dag}Δ=GKG†,注意到(ΠlG)(ΠlG)†=ΠlGG†Πl†=INt\left({\bm\Pi}_l{\textbf G}\right)\left({\bm\Pi}_l{\textbf G}\right)^{\dag} ={\bm\Pi}_l{\textbf G}{\textbf G}^{\dag}{\bm\Pi}_l^{\dag}={\textbf I}_{N_{\text t}}(Πl​G)(Πl​G)†=Πl​GG†Πl†​=INt​​,即ΠlG{\bm\Pi}_l{\textbf G}Πl​G是个酉矩阵。因此,ΠlΔΠl†⪰0{\bm\Pi}_l{\bm\Delta}{\bm\Pi}_l^{\dag} \succeq{\textbf 0}Πl​ΔΠl†​⪰0。由于log⁡det⁡(INt+ΓXΓ†)\log\det\left({\textbf I}_{N_{\text t}}+{\bm\Gamma}{\textbf X}{\bm\Gamma}^{\dag}\right)logdet(INt​​+ΓXΓ†)是关于X⪰0{\textbf X}\succeq{\textbf 0}X⪰0的凹函数,利用琴生不等式,可以得到log⁡det⁡(INt+1σ2Γ(12(ΠlΔΠl†+Δ))Γ†)≥log⁡det⁡(INt+1σ2ΓΔΓ†)+log⁡det⁡(INt+1σ2ΓΠlΔΠl†Γ†)2.\begin{aligned} &\log\det\left({\textbf I}_{N_{\text t}}+\frac{1}{\sigma^2}{\bm\Gamma} \left(\frac{1}{2}\left( {\bm\Pi}_l{\bm\Delta}{\bm\Pi}_l^{\dag} +{\bm\Delta}\right)\right) {\bm\Gamma}^{\dag}\right)\\ &\geq \frac{\log\det\left({\textbf I}_{N_{\text t}}+\frac{1}{\sigma^2} {\bm\Gamma}{\bm\Delta}{\bm\Gamma}^{\dag} \right)+\log\det\left({\textbf I}_{N_{\text t}}+\frac{1}{\sigma^2} {\bm\Gamma}{\bm\Pi}_l{\bm\Delta}{\bm\Pi}_l^{\dag}{\bm\Gamma}^{\dag} \right)}{2} \end{aligned}.​logdet(INt​​+σ21​Γ(21​(Πl​ΔΠl†​+Δ))Γ†)≥2logdet(INt​​+σ21​ΓΔΓ†)+logdet(INt​​+σ21​ΓΠl​ΔΠl†​Γ†)​​.利用前面的结论log⁡det⁡(INt+1σ2ΓΠlΔΠl†Γ†)=log⁡det⁡(INt+1σ2ΓΔΓ†)\log\det\left({\textbf I}_{N_{\text t}}+\frac{1}{\sigma^2} {\bm\Gamma}{\bm\Pi}_l{\bm\Delta}{\bm\Pi}_l^{\dag}{\bm\Gamma}^{\dag}\right)= \log\det\left({\textbf I}_{N_{\text t}}+\frac{1}{\sigma^2} {\bm\Gamma}{\bm\Delta}{\bm\Gamma}^{\dag} \right)logdet(INt​​+σ21​ΓΠl​ΔΠl†​Γ†)=logdet(INt​​+σ21​ΓΔΓ†)可以得到:log⁡det⁡(INt+1σ2Γ(12(ΠlΔΠl†+Δ))Γ†)⁣≥⁣log⁡det⁡(INt+1σ2ΓΠlΔΠl†Γ†).\log\det\left({\textbf I}_{N_{\text t}}+\frac{1}{\sigma^2}{\bm\Gamma} \left(\frac{1}{2}\left( {\bm\Pi}_l{\bm\Delta}{\bm\Pi}_l^{\dag} +{\bm\Delta}\right)\right) {\bm\Gamma}^{\dag}\right) \!\geq\! \log\det\left({\textbf I}_{N_{\text t}}+\frac{1}{\sigma^2} {\bm\Gamma}{\bm\Pi}_l{\bm\Delta}{\bm\Pi}_l^{\dag}{\bm\Gamma}^{\dag} \right).logdet(INt​​+σ21​Γ(21​(Πl​ΔΠl†​+Δ))Γ†)≥logdet(INt​​+σ21​ΓΠl​ΔΠl†​Γ†).上述公式说明,将矩阵Δ{\bm\Delta}Δ中第lll行与第lll列的非对角元素置为0得到矩阵12(ΠlΔΠl†+Δ)\frac{1}{2}\left( {\bm\Pi}_l{\bm\Delta}{\bm\Pi}_l^{\dag} +{\bm\Delta}\right)21​(Πl​ΔΠl†​+Δ),可以使得传输速率增加。重复上述过程NtN_{\text t}Nt​次,矩阵Δ\bm\DeltaΔ只剩下对角线的元素(其余元素都是0),这个过程会使得传输速率不断增长。由此,我们可以得到结论,问题P2{\mathcal P}_2P2​的最优解Δ⋆{\bm\Delta}^{\star}Δ⋆是个对角矩阵。换言之,如果Δ⋆{\bm\Delta}^{\star}Δ⋆不是一个对角阵,可以通过将它的非对角元素置0以进一步提高系统传输速率。由此证明了定理1。
在证明定理1的过程中,用到了结论“log⁡det⁡(INt+ΓXΓ†)\log\det\left({\textbf I}_{N_{\text t}}+{\bm\Gamma}{\textbf X}{\bm\Gamma}^{\dag}\right)logdet(INt​​+ΓXΓ†)是关于X⪰0{\textbf X}\succeq{\textbf 0}X⪰0的凹函数”,以下对这一结论进行证明。
引理1: 假设K⪰0{\textbf K}\succeq{\textbf 0}K⪰0,则函数f(X)=log⁡det⁡(I+KX)f\left(\textbf X\right) =\log\det\left({\textbf I}+{\textbf K}{\textbf X}\right)f(X)=logdet(I+KX)是关于X⪰0{\textbf X}\succeq{\textbf 0}X⪰0的凹函数。
证明:上述引理的证明需要用到结论“log⁡det⁡(Z)\log\det\left(\textbf Z\right)logdet(Z)是关于Z≻0{\textbf Z}\succ{\textbf 0}Z≻0的凹函数”[3],[4]。定义λ∈[0,1]\lambda\in\left[0,1\right]λ∈[0,1]、X1⪰0{\textbf X}_1\succeq{\textbf 0}X1​⪰0、X2⪰0{\textbf X}_2\succeq{\textbf 0}X2​⪰0,可以得到f(X1)=log⁡det⁡(I+KX1)f\left({\textbf X}_1\right) =\log\det \left({\textbf I}+{\textbf K}{\textbf X}_1\right)f(X1​)=logdet(I+KX1​)与f(X2)=log⁡det⁡(I+KX2)f\left({\textbf X}_2\right) =\log\det\left({\textbf I}+{\textbf K}{\textbf X}_2\right)f(X2​)=logdet(I+KX2​)。此外,λX1+(1−λ)X2⪰0\lambda{\textbf X}_1+\left(1-\lambda\right){\textbf X}_2\succeq{\textbf 0}λX1​+(1−λ)X2​⪰0,因此f(λX1+(1−λ)X2)=log⁡det⁡(I+K(λX1+(1−λ)X2))=log⁡det⁡(I+K12(λX1+(1−λ)X2)K12)=log⁡det⁡((λ+1−λ)I+K12(λX1+(1−λ)X2)K12)=log⁡det⁡(λ(I+K12X1K12)+(1−λ)(I+K12X2K12)).\begin{aligned} &f\left(\lambda{\textbf X}_1+\left(1-\lambda\right){\textbf X}_2\right)\\ &= \log\det\left({\textbf I}+{\textbf K}\left(\lambda{\textbf X}_1+\left(1-\lambda\right){\textbf X}_2\right)\right)\\ &=\log\det\left({\textbf I}+{\textbf K}^{\frac{1}{2}}\left(\lambda{\textbf X}_1+\left(1-\lambda\right){\textbf X}_2\right){\textbf K}^{\frac{1}{2}}\right) \\ &=\log\det\left(\left(\lambda+1-\lambda\right){\textbf I}+{\textbf K}^{\frac{1}{2}}\left(\lambda{\textbf X}_1+\left(1-\lambda\right){\textbf X}_2\right) {\textbf K}^{\frac{1}{2}} \right) \\ &=\log\det\left( \lambda\left( {\textbf I}+{\textbf K}^{\frac{1}{2}} {\textbf X}_1{\textbf K}^{\frac{1}{2}} \right)+ \left(1-\lambda\right)\left({\textbf I}+{\textbf K}^{\frac{1}{2}}{\textbf X}_2{\textbf K}^{\frac{1}{2}}\right) \right) \end{aligned}.​f(λX1​+(1−λ)X2​)=logdet(I+K(λX1​+(1−λ)X2​))=logdet(I+K21​(λX1​+(1−λ)X2​)K21​)=logdet((λ+1−λ)I+K21​(λX1​+(1−λ)X2​)K21​)=logdet(λ(I+K21​X1​K21​)+(1−λ)(I+K21​X2​K21​))​.由于I+K12X1K12≻0{\textbf I}+{\textbf K}^{\frac{1}{2}} {\textbf X}_1{\textbf K}^{\frac{1}{2}}\succ{\textbf 0}I+K21​X1​K21​≻0、I+K12X2K12≻0{\textbf I}+{\textbf K}^{\frac{1}{2}} {\textbf X}_2{\textbf K}^{\frac{1}{2}}\succ{\textbf 0}I+K21​X2​K21​≻0,利用函数log⁡det⁡(Z)\log\det\left(\textbf Z\right)logdet(Z)的凹性,可以得到,如果Z1≻0{\textbf Z}_1\succ{\textbf 0}Z1​≻0、Z2≻0{\textbf Z}_2\succ{\textbf 0}Z2​≻0,则log⁡det⁡(λZ1+(1−λ)Z2)≥λlog⁡det⁡(Z1)+(1−λ)log⁡det⁡(Z2).\log\det\left(\lambda{\textbf Z}_1+\left(1-\lambda\right){\textbf Z}_2\right) \geq \lambda\log\det\left({\textbf Z}_1\right) +\left(1-\lambda\right) \log\det\left({\textbf Z}_2\right).logdet(λZ1​+(1−λ)Z2​)≥λlogdet(Z1​)+(1−λ)logdet(Z2​).基于上述表达式,可以得到:log⁡det⁡(λ(I+K12X1K12)+(1−λ)(I+K12X2K12))=λlog⁡det⁡(I+K12X1K12)+(1−λ)log⁡det⁡(I+K12X2K12)=λlog⁡det⁡(I+KX1)+(1−λ)log⁡det⁡(I+KX2).\begin{aligned} &\log\det\left( \lambda\left( {\textbf I}+{\textbf K}^{\frac{1}{2}} {\textbf X}_1{\textbf K}^{\frac{1}{2}} \right)+ \left(1-\lambda\right)\left({\textbf I}+{\textbf K}^{\frac{1}{2}}{\textbf X}_2{\textbf K}^{\frac{1}{2}}\right) \right) \\ &= \lambda \log\det\left({\textbf I}+{\textbf K}^{\frac{1}{2}} {\textbf X}_1{\textbf K}^{\frac{1}{2}} \right) + \left(1-\lambda\right) \log\det\left({\textbf I}+{\textbf K}^{\frac{1}{2}} {\textbf X}_2{\textbf K}^{\frac{1}{2}} \right)\\ &= \lambda \log\det\left({\textbf I}+{\textbf K} {\textbf X}_1 \right) + \left(1-\lambda\right) \log\det\left({\textbf I}+{\textbf K} {\textbf X}_2 \right) \end{aligned}.​logdet(λ(I+K21​X1​K21​)+(1−λ)(I+K21​X2​K21​))=λlogdet(I+K21​X1​K21​)+(1−λ)logdet(I+K21​X2​K21​)=λlogdet(I+KX1​)+(1−λ)logdet(I+KX2​)​.综上所述,可以得到f(λX1+(1−λ)X2)≥λf(X1)+(1−λ)f(X2)f\left(\lambda{\textbf X}_1+\left(1-\lambda\right){\textbf X}_2\right)\geq \lambda f\left({\textbf X}_1\right) +\left(1-\lambda\right)f\left({\textbf X}_2\right)f(λX1​+(1−λ)X2​)≥λf(X1​)+(1−λ)f(X2​),这说明函数f(X)=log⁡det⁡(I+KX)f\left(\textbf X\right) =\log\det\left({\textbf I}+{\textbf K}{\textbf X}\right)f(X)=logdet(I+KX)是关于X⪰0{\textbf X}\succeq{\textbf 0}X⪰0的凹函数。由此,引理得到了证明。
函数log⁡det⁡(INt+ΓXΓ†)\log\det\left({\textbf I}_{N_{\text t}}+{\bm\Gamma}{\textbf X}{\bm\Gamma}^{\dag}\right)logdet(INt​​+ΓXΓ†)满足log⁡det⁡(INt+ΓXΓ†)=log⁡det⁡(INt+Γ†ΓX)\log\det\left({\textbf I}_{N_{\text t}}+{\bm\Gamma}{\textbf X}{\bm\Gamma}^{\dag}\right) =\log\det\left({\textbf I}_{N_{\text t}}+{\bm\Gamma}^{\dag}{\bm\Gamma}{\textbf X}\right)logdet(INt​​+ΓXΓ†)=logdet(INt​​+Γ†ΓX),所以log⁡det⁡(INt+ΓXΓ†)\log\det\left({\textbf I}_{N_{\text t}}+{\bm\Gamma}{\textbf X}{\bm\Gamma}^{\dag}\right)logdet(INt​​+ΓXΓ†)是个关于X⪰0{\textbf X}\succeq{\textbf 0}X⪰0的凹函数。

至此,已经证明了最优的协方差矩阵Φ⋆{\bm\Phi}^{\star}Φ⋆满足Φ=Ut†ΩUt{\bm\Phi}={\textbf U}_{\text t}^{\dag}{\bm\Omega}{\textbf U}_{\text t}Φ=Ut†​ΩUt​,其中Ω\bm\OmegaΩ是个对角矩阵,此时系统速率优化问题可以简化为:P3:Ω⋆=arg⁡max⁡Tr(Ω)≤Plog⁡det⁡(INt+1σ2Λ†ΛΩ),{\mathcal P}_3:{\bm\Omega}^{\star}=\arg\max_{{\rm{Tr}}\left({\bm\Omega}\right)\leq P}\log\det\left({\textbf I}_{N_{\text t}}+\frac{1}{\sigma^2} {\bm\Lambda}^{\dag}{\bm\Lambda}{\bm\Omega}\right),P3​:Ω⋆=argTr(Ω)≤Pmax​logdet(INt​​+σ21​Λ†ΛΩ),其中P>0P>0P>0是最大传输功率,显然,上述问题的最优解应该在Tr(Ω)≤P{\rm{Tr}}\left({\bm\Omega}\right)\leq PTr(Ω)≤P取等号时达到,即Tr(Ω⋆)=P{\rm{Tr}}\left({\bm\Omega}^{\star}\right)= PTr(Ω⋆)=P,因此上述问题可进一步简化为P4:Ω⋆=arg⁡max⁡Tr(Ω)=Plog⁡det⁡(INt+1σ2ΥΩ),{\mathcal P}_4:{\bm\Omega}^{\star}=\arg\max_{{\rm{Tr}}\left({\bm\Omega}\right)= P}\log\det\left({\textbf I}_{N_{\text t}}+\frac{1}{\sigma^2} {\bm\Upsilon}{\bm\Omega}\right),P4​:Ω⋆=argTr(Ω)=Pmax​logdet(INt​​+σ21​ΥΩ),其中Υ=Γ†Γ{\bm\Upsilon}={\bm\Gamma}^{\dag}{\bm\Gamma}Υ=Γ†Γ是对角矩阵。记Υ=diag{γ1,⋯,γNt}{\bm\Upsilon}={\rm{diag}}\left\{\gamma_1,\cdots,\gamma_{N_{\text t}}\right\}Υ=diag{γ1​,⋯,γNt​​}、Ω=diag{ω1,⋯,ωNt}{\bm\Omega}={\rm{diag}}\left\{\omega_1,\cdots,\omega_{N_{\text t}}\right\}Ω=diag{ω1​,⋯,ωNt​​},其中γi≥0\gamma_{i}\geq0γi​≥0,则问题P4{\mathcal P}_4P4​可以进一步化简为P4:max⁡ωi∑i=1Ntlog⁡(1+γiσ2ωi)s.t. ωi≥0∑i=1Ntωi=P.\begin{aligned} {\mathcal P}_4:\max_{{\omega_i}}~&\sum\nolimits_{i=1}^{N_{\text t}}\log\left(1+\frac{\gamma_i}{\sigma^2}\omega_i\right) \\ {\text{s.t.}}~&\omega_i\geq0\\ ~&\sum\nolimits_{i=1}^{N_{\text t}}\omega_i=P \end{aligned}.P4​:ωi​max​ s.t.  ​∑i=1Nt​​log(1+σ2γi​​ωi​)ωi​≥0∑i=1Nt​​ωi​=P​.上述问题实际上就是一个并行信道的功率分配问题。具体来讲,由于γi≥0\gamma_{i}\geq0γi​≥0,问题P4{\mathcal P}_4P4​的目标函数是个关于ωi\omega_iωi​的凹函数;此外,两个约束条件都是关于ωi\omega_iωi​的线性函数,是凸的。因此,这个最大化传输速率问题是个凸优化问题,可以直接使用CVX工具包进行求解。不过,也可以从KKT条件出发,寻求原问题的闭合解,对应的算法也就是经典的注水算法[4],[5]。具体来讲,由于P4{\mathcal P}_4P4​是个凸问题,写出相应的拉格朗日函数,为L(ω)=−∑i=1Ntlog⁡(1+γiσ2ωi)−λ⊺ω+μ(1⊺ω−P){\mathcal L}\left({\bm\omega}\right)=-\sum_{i=1}^{N_{\text t}}\log\left(1+\frac{\gamma_i}{\sigma^2}\omega_i\right)-{\bm\lambda}^{\intercal}{\bm\omega}+\mu\left({\textbf 1}^{\intercal}{\bm\omega}-P\right)L(ω)=−∑i=1Nt​​log(1+σ2γi​​ωi​)−λ⊺ω+μ(1⊺ω−P),其中ω=[ω1,⋯,ωNt]⊺{\bm\omega}=\left[\omega_1,\cdots,\omega_{N_{\text t}}\right]^{\intercal}ω=[ω1​,⋯,ωNt​​]⊺、λ=[λ1,⋯,λNt]⊺{\bm\lambda}=\left[\lambda_1,\cdots,\lambda_{N_{\text t}}\right]^{\intercal}λ=[λ1​,⋯,λNt​​]⊺,相应的KKT条件为λiωi=0\lambda_i\omega_i=0λi​ωi​=0,ωi≥0\omega_i\geq0ωi​≥0,λi≥0\lambda_i\geq0λi​≥0,∂∂ωiL(ω)=−11+γiσ2ωiγiσ2−λi+μ=0\frac{\partial}{\partial {\bm\omega}_i}{\mathcal L}\left(\omega\right)=-\frac{1}{1+\frac{\gamma_i}{\sigma^2}\omega_i}\frac{\gamma_i}{\sigma^2}-\lambda_i+\mu=0∂ωi​∂​L(ω)=−1+σ2γi​​ωi​1​σ2γi​​−λi​+μ=0。可以得到λi=μ−1σ2γi+ωi\lambda_i=\mu-\frac{1}{\frac{\sigma^2}{\gamma_i}+\omega_i}λi​=μ−γi​σ2​+ωi​1​。以下考虑两种情况:

  1. λi>0\lambda_i>0λi​>0,此时ωi=0\omega_i=0ωi​=0,此外μ−1σ2γi>0\mu-\frac{1}{\frac{\sigma^2}{\gamma_i}}>0μ−γi​σ2​1​>0,即0<1μ<σ2γi0<\frac{1}{\mu}<\frac{\sigma^2}{\gamma_i}0<μ1​<γi​σ2​;
  2. λi=0\lambda_i=0λi​=0,此时ωi≥0\omega_i\geq0ωi​≥0,此外ωi=1μ−σ2γi\omega_i=\frac{1}{\mu}-\frac{\sigma^2}{\gamma_i}ωi​=μ1​−γi​σ2​。
    综上所述,最优的功率分配准则可以表示为ωi⋆=max⁡{1μ−σ2γi,0},\omega_i^{\star}= \max\left\{\frac{1}{\mu}-\frac{\sigma^2}{\gamma_i} ,0\right\},ωi⋆​=max{μ1​−γi​σ2​,0},其中参数 的计算可通过下述方程确定:∑i=1Ntωi⋆=∑i=1Ntmax⁡{1μ−σ2γi,0}=P,\sum_{i=1}^{N_{\text t}}\omega_i^{\star}=\sum_{i=1}^{N_{\text t}}\max\left\{\frac{1}{\mu}-\frac{\sigma^2}{\gamma_i} ,0\right\}=P,i=1∑Nt​​ωi⋆​=i=1∑Nt​​max{μ1​−γi​σ2​,0}=P,上述方程可以利用二分法来求解。可以用下图来对上述算法进行详细的说明。
    图2:注水算法图示

如图所示,6个并行子信道可以理解为6个容器,参数1μ\frac{1}{\mu}μ1​可以理解为水平面,σ2γi\frac{\sigma^2}{\gamma_i}γi​σ2​代表每个子信道(容器)的底座,向每个容器中倒水,使得全部容器里的水的深度之和恰好为P{P}P。可以看出,σ2γi\frac{\sigma^2}{\gamma_i}γi​σ2​越大(即底座越高),相应分配的功率比较少(容器的水的深度越小)。从信道来看,σ2γi\frac{\sigma^2}{\gamma_i}γi​σ2​越大意味着信道的质量越差,综上所述,应该为质量越差的子信道分配给更少的功率。

对以上内容做个总结。在发射机知道信道信息的时候,可以采用信道矩阵的右奇异矩阵作为预编码矩阵,采用注水算法设计数据流的功率分配方案。在这样的预编码矩阵以及功率分配方案下,传输速率可达到最大,即信道容量。在上述推导中,使用了奇异值分解将MIMO信道划分为几个并行的子信道,信道的增益γi≥0\sqrt{\gamma_i}\geq0γi​​≥0恰好是信道H{\textbf H}H的奇异值,信道增益的平方γi\gamma_iγi​恰好是信道H†H{\textbf H}^{\dag}{\textbf H}H†H的特征值。在进行功率分配时,只会考虑信道增益不为0的子信道。因此,子信道数量等于信道矩阵H{\textbf H}H的非零奇异值的数量,即信道矩阵H{\textbf H}H的秩rank(H){\rm{rank}}\left(\textbf H\right)rank(H)。根据矩阵的性质,rank(H)≤min⁡{Nr,Nt}{\rm{rank}}\left(\textbf H\right)\leq\min\left\{N_{\text r},N_{\text t}\right\}rank(H)≤min{Nr​,Nt​}。由此可知,信道矩阵H{\textbf H}H所能支持的最大的数据流数等于信道矩阵的秩。接下来,考虑一个更具有一般性的MIMO系统。记发射机的预编码矩阵为B∈CNt×L{\textbf B}\in{\mathbb C}^{N_{\text t}\times L}B∈CNt​×L,发送的符号向量为x∈CL×1{\textbf x}\in{\mathbb C}^{L\times 1}x∈CL×1,满足E{xx†}=INt{\mathbb E}\left\{{\textbf x}{\textbf x}^{\dag}\right\}={\textbf I}_{N_{\text t}}E{xx†}=INt​​,其中LLL为数据流数。系统模型可以表示为y=HBx+n,{\textbf y}={\textbf H}{\textbf B}{\textbf x}+{\textbf n},y=HBx+n,发送信号s=Bx{\textbf s}={\textbf B}{\textbf x}s=Bx的协方差为E{ss†}=BB†≜Φ{\mathbb E}\left\{{\textbf s}{\textbf s}^{\dag}\right\}={\textbf B}{\textbf B}^{\dag}\triangleq{\bm\Phi}E{ss†}=BB†≜Φ。假设发端知道信道信息,系统传输速率可以表示为R=log⁡det⁡(INr+1σ2HΦH†).{\mathcal R}=\log\det\left({\textbf I}_{N_{\text r}}+\frac{1}{\sigma^2}{\textbf H}{\bm\Phi}{\textbf H}^{\dag}\right).R=logdet(INr​​+σ21​HΦH†).使得传输速率最大(即达到信道容量)的最优协方差矩阵其实就是问题P0{\mathcal P}_0P0​的最优解,结合奇异值分解以及注水算法可以求得。此外,前文已经提及,系统所能传输的数据流数与信道矩阵的秩是相同的。以下,针对广义传输模型y=HBx+n{\textbf y}={\textbf H}{\textbf B}{\textbf x}+{\textbf n}y=HBx+n 讨论数据流数变化的时候,最优的传输策略。

  1. 当数据流数与信道矩阵的秩相同,即L=rank(H)L={\rm{rank}}\left(\textbf H\right)L=rank(H),此时全部的数据流都可以传输,最优的预编码矩阵满足B⋆=Ut†diag{ω1⋆,⋯,ωL⋆,0,⋯,0,},{\textbf B}^{\star}={\textbf U}_{\text t}^{\dag}{\rm{diag}}\left\{ \sqrt{\omega_1^{\star}},\cdots,\sqrt{\omega_L^{\star}},0,\cdots,0,\right\},B⋆=Ut†​diag{ω1⋆​​,⋯,ωL⋆​​,0,⋯,0,},其中Ut{\textbf U}_{\text t}Ut​是信道矩阵的右奇异矩阵,ωi⋆{\omega}_i^{\star}ωi⋆​表示由注水定理确定的最优功率;
  2. 当数据流数小于信道矩阵的秩,即L<rank(H)L<{\rm{rank}}\left(\textbf H\right)L<rank(H),此时全部的数据流也可以传输,此时最优的传输方案是选择全部rank(H){\rm{rank}}\left(\textbf H\right)rank(H)个并行子信道中信道质量最好的LLL个进行传输;
  3. 当数据流数大于信道矩阵的秩,即L>rank(H)L>{\rm{rank}}\left(\textbf H\right)L>rank(H),此时全部的数据流无法同时传输,此时最优的传输方案是先在全部的并行子信道中传输rank(H){\rm{rank}}\left(\textbf H\right)rank(H)个数据流,之后再挑选信道质量最好的L−rank(H)L-{\rm{rank}}\left(\textbf H\right)L−rank(H)个子信道进行传输。

接下来,给出具体的Matlab代码来解决问题P0{\mathcal P}_0P0​。

Power = [-10:5:30]; % 发送功率 (dB)
noise = 1; % 噪声功率 (0dB)
Nt = 6; % 发端天线数
Nr = 8; % 收段天线数
Monte_Carlo = 1e2; % 蒙特卡洛仿真次数
Capacity = ones(1,length(Power)); % 存储信道容量
Tmp = ones(Monte_Carlo,length(Power));
Tmp1 = ones(Monte_Carlo,length(Power));
for Monte = [1:1:Monte_Carlo]for power_index = [1:1:length(Power)][Monte,power_index]P = 10^(Power(power_index)/10);H = 1/sqrt(2)*randn(Nr,Nt) + 1j*1/sqrt(2)*randn(Nr,Nt); % MIMO信道(考虑瑞利衰落模型)channel_gain = abs((svd(H'*H))'); % 利用奇异值分解(svd)构造并行子信道channel_gain = channel_gain(find(channel_gain>0)); % 只考虑增益为正的子信道%% 使用二分法搜索注水算法的水平面upper_bound = max(noise./channel_gain) + P; % 搜索范围的上界,设置为功率与最小的信道增益的倒数之和lower_bound = 0; % 搜索范围的下界,设置为0precision = 1e-6; % 搜索精度while (abs(sum(max([(upper_bound - noise./channel_gain);zeros(1,length(channel_gain))]))-P)>precision)mid = (upper_bound+lower_bound)/2;Result = sum(max([(mid - noise./channel_gain);zeros(1,length(channel_gain))]))-P;if Result>=0upper_bound = mid;elselower_bound = mid;endend %% 得到每个子信道分配到的功率subchannel_power = max([(upper_bound - noise./channel_gain);zeros(1,length(channel_gain))]);%% 计算各个子信道的容量之和(MIMO信道的容量)Sum_Capacity = sum(log(1+subchannel_power.*channel_gain/noise));%% 存储结果Tmp(Monte,power_index) = Sum_Capacity;N = length(channel_gain);%% 使用CVX工具包计算最优功率分配方案cvx_clearcvx_begin quietvariable x(N,1);minimize(-1*sum(log(1+transpose(x).*channel_gain/noise)));subject to-1*x <= 0;sum(x) == P;cvx_end%% 得到每个子信道分配到的功率subchannel_power = transpose(x);%% 计算各个子信道的容量之和(MIMO信道的容量)Sum_Capacity = sum(log(1+subchannel_power.*channel_gain/noise));%% 存储结果Tmp1(Monte,power_index) = Sum_Capacity;end
end
plot(Power,mean(Tmp),'-o');
hold on;
plot(Power,mean(Tmp1),'-x');
xlabel('发送功率 [dB]');
ylabel('容量 [bps/Hz]');
grid on;

前文提到,功率分配问题的求解可以使用二分法或者CVX工具包。使用CVX求解凸问题 ,时间复杂度较高,因为CVX采用的数值求解方法(即内点法),复杂度较高,约为O(N3){\mathcal O}\left(N^3\right)O(N3),其中NNN为优化变量的总数。但是二分法搜索复杂度很低,而且每一步都有闭合表达式,复杂度很低,约为O(Nlog⁡1ϵ){\mathcal O}\left(N\log{\frac{1}{\epsilon }}\right)O(Nlogϵ1​),其中ϵ\epsilonϵ为精度。图3绘制了信道容量随传输功率变化的曲线,从图中可以看出,注水算法与CVX可以实现相同的传输速率(容量)。注意,使用CVX需要先安装相应的Matlab工具包[6]。

图3:MIMO信道容量与发送功率的关系,信道采用瑞利衰落模型,蒙特卡洛仿真次数设置为50,Nt=6N_{\text t}=6Nt​=6 ,Nr=8N_{\text r}=8Nr​=8 ,σ2=1\sigma^2=1σ2=1 。

前文重点关注的是发射机,即预编码以及功率分配策略的设计。现在,考虑接收机的结构,为了达到信道容量,除了预编码外,发端还需采用信道编码,接收端需要进行相应的信道译码(decoding)。对于多天线系统而言,接收机收到的是一个信号向量,进行信道译码时需要对发送的数据流进行联合译码(joint decoding),复杂度随着数据流数呈指数增长,复杂度较高。但是,对于单用户MIMO系统而言,由于其结构的特殊性,可以有更加简单的接收机结构。具体来讲,从之前的推导可以看出,信道容量与信道矩阵H{\textbf H}H的左奇异矩阵Ur{\textbf U}_{\text r}Ur​无关。因此,可以先对接收到的信号y=Hs+n{\textbf y}={\textbf H}{\textbf s}+{\textbf n}y=Hs+n用矩阵Ur†{\textbf U}_{\text r}^{\dag}Ur†​进行滤波,得到:z=Ur†HBx+Ur†n=Ur†UrΛUtUt†x+n~=Λx+n~.{\textbf z}={\textbf U}_{\text r}^{\dag}{\textbf H}{\textbf B}{\textbf x}+{\textbf U}_{\text r}^{\dag}{\textbf n} = {\textbf U}_{\text r}^{\dag}{\textbf U}_{\text r}{\bm\Lambda}{\textbf U}_{\text t}{\textbf U}_{\text t}^{\dag}{\textbf x}+\tilde{\textbf n} ={\bm\Lambda}{\textbf x}+\tilde{\textbf n}.z=Ur†​HBx+Ur†​n=Ur†​Ur​ΛUt​Ut†​x+n~=Λx+n~.其中n~=Ur†n\tilde{\textbf n}={\textbf U}_{\text r}^{\dag}{\textbf n}n~=Ur†​n。由于矩阵Ur†{\textbf U}_{\text r}^{\dag}Ur†​是个酉矩阵,因此n~∼CN(0,σ2Ur†Ur)\tilde{ \textbf n}\sim{\mathcal{CN}}\left({\textbf 0},\sigma^2{\textbf U}_{\text r}^{\dag}{\textbf U}_{\text r}\right)n~∼CN(0,σ2Ur†​Ur​),即n~∼CN(0,σ2INr)\tilde{ \textbf n}\sim{\mathcal{CN}}\left({\textbf 0},\sigma^2{\textbf I}_{N_{\text r}}\right)n~∼CN(0,σ2INr​​) 。系统模型z=Λx+n~{\textbf z}={\bm\Lambda}{\textbf x}+\tilde{\textbf n}z=Λx+n~可以视作输入为x{\textbf x}x、信道为Λ{\bm\Lambda}Λ、噪声为n~∼CN(0,σ2INr)\tilde{ \textbf n}\sim{\mathcal{CN}}\left({\textbf 0},\sigma^2{\textbf I}_{N_{\text r}}\right)n~∼CN(0,σ2INr​​)的MIMO信道。由于Λ{\bm\Lambda}Λ是个对角矩阵,对应的传输速率为:R~=∑i=1rank(H)log⁡(1+γiσ2ωi⋆).\tilde{\mathcal R}=\sum_{i=1}^{{\rm{rank}}\left(\textbf H\right)}\log\left(1+\frac{\gamma_i}{\sigma^2}\omega_i^{\star}\right).R~=i=1∑rank(H)​log(1+σ2γi​​ωi⋆​).上式与系统模型y=Hs+n{\textbf y}={\textbf H}{\textbf s}+{\textbf n}y=Hs+n对应的MIMO信道容量相同。因此,使用矩阵Ur†{\textbf U}_{\text r}^{\dag}Ur†​进行滤波不会减少系统的传输速率。在滤波之后,系统可以视为rank(H){\rm{rank}}\left(\textbf H\right)rank(H)个并行子信道,只需要对每个子信道的数据流进行译码即可,而且各个子信道的译码可以并行进行,复杂度随着数据流数呈线性增长,复杂度相比联合译码而言要低很多。

最后,对上述内容进行总结。对于MIMO信道而言,当发射机已知信道信息时,发射机与接收机使用如下的结构可以达到最大传输速率(信道容量):
1. 发射机利用注水算法进行数据流的功率分配,再采用信道矩阵的右奇异矩阵的转置作为预编码矩阵;
2. 接收机采用信道矩阵的左奇异矩阵的转置作为滤波矩阵,再对各个子信道的数据流进行并行译码。

参考文献

  1. I. E. Telatar, “Capacity of multi-antenna Gaussian channels,” Eur. Trans. Telecom, vol. 10, pp. 585–595, Nov. 1999.
  2. A. Tulino, A. Lozano, and S. Verdú, “Capacity-achieving input covariance for single-user multi-antenna channels,” IEEE Trans. Wireless Commun., vol. 5, no. 2, pp. 662–671, Mar. 2006.
  3. S. Boyd and L. Vandenberghe, Convex Optimization. Cambridge, U.K.: Cambridge Univ. Press, 2004.
  4. C.-Y. Chi, W.-C. Li, and C.-H. Lin, Convex Optimization for Signal Processing and Communications: From Fundamentals to Applications. Boca Raton, FL, USA: CRC Press, 2017.
  5. D. Tes and P. Viswanath, Fundamentals of Wireless Communication. Cambridge, U.K.: Cambridge Univ. Press, 2005.
  6. M. Grant and S. Boyd, “CVX: Matlab software for disciplined convex programming, version 2.1,” http://cvxr.com/cvx, Mar. 2014.

单用户MIMO系统(一):信道信息在发端已知相关推荐

  1. 单用户MIMO系统(二):信道信息在发端未知

    单用户MIMO系统(二):信道信息在发端未知 关键词 MIMO,单用户,信道容量,MMSE-SIC,Matlab实现 基本介绍 本文介绍了单用户MIMO系统在发端不知道信道状态信息时的系统传输速率以及 ...

  2. 杂谈WiFi:一文搞懂多用户MIMO(MU-MIMO),单用户MIMO(SU-MIMO)

    这个是协议层面的一个东西,即多个用户同时使用一套MIMO系统. 一般来讲,ROUTER的天线比较多,而用户的天线比较少,但是多对少呢,就不能完全的利用ROUTER的channel资源. 为此,设计了一 ...

  3. m多载波MC-CDMA系统单用户检测方法的研究,对比EGC,MRC,ORC以及MMSE

    目录 1.算法概述 2.仿真效果预览 3.MATLAB部分代码预览 4.完整MATLAB程序 1.算法概述 传统CDMA技术在码间串扰和多址干扰等方面存在的问题使其总体性能受到限制,随着OFDM技术的 ...

  4. linux系统密码自动丢失,通过单用户模式找回linux系统丢失的密码

    通过单用户模式找回linux系统丢失的密码 发布时间:2006-09-12 11:30:31来源:红联作者:benny_feng 一.单用户模式: 单用户模式要求我们输入root用户的密码,否则您无法 ...

  5. php 单用户登录,Linux 系统的单用户模式、修复模式、跨控制台登录在系统修复中的运用...

    一.单用户模式: 单用户模式要求我们输入root用户的密码,否则您无法登录单用户模式:如果您丢失了root用户的密码,并不能用单用户模式来重设您的root密码: 另外单用户模式还有一个前提是您的gru ...

  6. 低性能单用户计算机,低性能单用户计算机I/O系统的设计主要考虑解决好CPU与内存、I/O设备在速度上的巨大差距。...

    [单选题]人际交往的"第一印象"又称为( ) [单选题]血氧饱和度取决于:( ) [单选题]削球运动员处理追身球的方法? [问答题]55,接待高龄旅游者时导游该注意哪些事项? [多 ...

  7. 多用户MIMO系统预编码:广义矩阵求逆法

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

  8. matlab zf预编码,多用户MIMO系统中各种波束成型预编码性能比较(ZF,BD,MMSE,SLNR,MF,SVD)...

    多用户MIMO系统中各种波束成型预编码性能比较(ZF,BD,MMSE,SLNR,MF,SVD) 关注次数: 905 下载次数: 155 文件大小: 207K 下载需要积分: 1 代码分类: 开发平台: ...

  9. linux单用户模式和多用户模式的区别,什么是Linux单用户模式?

    一.Linux用户模式 0:关机 1:单用户模式 2:无网络支持的多用户模式 3:有网络支持的多用户模式 4:保留,未使用 5:有网络支持有X-Window支持的多用户模式 6:重新引导系统,即重启 ...

最新文章

  1. el表达式 java_java基础学习:JavaWeb之EL表达式
  2. 转载 - 使用HTML5、CSS3和jQuery增强网站用户体验
  3. 64位 java 数据类型_全面解析Java支持的数据类型及Java的常量和变量类型
  4. Ubifs文件系统和mkfs.ubifs以及ubinize工具的用法
  5. 查询前几条记录SQL在不同数据库中的用法
  6. 爬虫 python 爬取php的网页,带有post参数的网页如何爬取
  7. anaconda安装环境变量问题、python环境配置问题以及其他
  8. 【Python】青少年蓝桥杯_每日一题_1.27_单词出现的次数
  9. VTK:Utilities之SortDataArray
  10. jedis使用 api_通过Jedis API使用排序集
  11. Android开发笔记(六十三)HTTP访问的通信方式
  12. git 上传了一个非常大的文件,删除文件
  13. C++学习笔记(一)——类和对象
  14. Eclipse中文版汉化教程(详细图解)
  15. oceanbase安装
  16. 数据模型的概念,数据模型的作用和数据模型的三个要素
  17. Js、 replace 全部内容替换、替换全部匹配内容、替换第一个
  18. MySQL 规范数据库设计
  19. Sun Java System Message Queue - Packet acknowledge failed after failover
  20. 【渝粤教育】电大中专混凝土结构题库作业 题库

热门文章

  1. 浏览器F12功能总结
  2. 基于Yocto的qmake编译环境默认QMAKE_SPEC不是linux-oe-g++的问题
  3. am解调matlab程序,基于Matlab的AM调制解调.doc
  4. Vmware虚拟机文件介绍、克隆及文件名称更改方法
  5. 黑发奶奶曾世鑫的养生经
  6. Mac安装MongoDB(极简)
  7. 宏碁暗影骑士擎AN515-58原厂预装Windows11恢复镜像oem系统
  8. java去除中文括号小括号,或者英文括号
  9. EDAS投会议论文遇见的问题及部分解决办法——总结
  10. vue项目storage本地存储