本文主要是介绍MIMO信道容量推导(奇异值分解法),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
[转]MIMO信道容量推导
(奇异值分解法)
Massive MIMO,目前是5G的一项关键技术。那么求解它的信道容量,对于我们研究它的属性尤为重要。今天,我们就求算一下信道容量。
在通信系统中我们学到信道容量的一个计算式:
C = B l o g 2 ( 1 + S N R ) C=Blog_2(1+SNR) C=Blog2(1+SNR)
其中 B B B是带宽, S N R SNR SNR是信噪比, C C C是信道容量。
那么其实我们就是需要求解 S N R SNR SNR。
假设M个接收天线,N个发送天线,那么MIMO模型的表达式如下:
y = Hx + n \textbf{y}=\textbf{H}\textbf{x}+\textbf{n} y=Hx+n
其中, y \textbf{y} y是 M × 1 M\times 1 M×1输出的信息, H \textbf{H} H是一个只能被接收机感知的 M × N M\times N M×N矩阵, x \textbf{x} x是输入信息的 N × 1 N\times 1 N×1列向量, n \textbf{n} n是AWGN噪声组成的 M × 1 M\times 1 M×1列向量。
先了解一下奇异值分解(SVD):
SVD也是对矩阵进行分解,但是和特征分解不同,SVD并不要求要分解的矩阵为方阵。那么我们定义矩阵H的SVD为:
H = UD V H \textbf{H}=\textbf{U}\textbf{D}\textbf{V}^H H=UDVH
其中 U \textbf{U} U是一个 M × M M\times M M×M的矩阵, D \textbf{D} D是一个 M × N M\times N M×N的矩阵,除了主对角线上的元素以外全为0,主对角线上的每个元素都称为奇异值, V \textbf{V} V是一个 N × N N\times N N×N的矩阵。 U \textbf{U} U和 V \textbf{V} V都是酉矩阵,即满足:
I = X T X \textbf{I}=\textbf{X}^T\textbf{X} I=XTX
那么,考虑使用奇异值分解法处理 H \textbf{H} H矩阵,得到:
H = UD V H \textbf{H}=\textbf{U}\textbf{D}\textbf{V}^H H=UDVH
y = UD V H x + n \textbf{y}=\textbf{U}\textbf{D}\textbf{V}^H\textbf{x}+\textbf{n} y=UDVHx+n
U H ( y − n ) = D V H x \textbf{U}^H(\textbf{y}-\textbf{n})=\textbf{D}\textbf{V}^H\textbf{x} UH(y−n)=DVHx
令: y ^ = U H y \hat\textbf{y}=\textbf{U}^H\textbf{y} y^=UHy, x ^ = V H x \hat\textbf{x}=\textbf{V}^H\textbf{x} x^=VHx, n ^ = U H n \hat\textbf{n}=\textbf{U}^H\textbf{n} n^=UHn。
则有,
y ^ = D x ^ + n ^ \hat\textbf{y}=\textbf{D}\hat\textbf{x}+\hat\textbf{n} y^=Dx^+n^
令奇异值为 λ i \sqrt{\lambda_i} λi,最多 r a n k ( H ) = min ( M , N ) rank(\textbf{H})=\min(M,N) rank(H)=min(M,N)个非零奇异值,那么接收信号为:
y ^ i = λ i x ^ i + n ^ i , i = 1 , 2 , . . . , r a n k \hat{y}_i=\sqrt{\lambda_i}\hat{x}_i+\hat{n}_i,i=1,2,...,rank y^i=λix^i+n^i,i=1,2,...,rank y ^ i = n ^ i , i = r a n k + 1 , . . . , M \hat{y}_i=\hat{n}_i,i=rank+1,...,M y^i=n^i,i=rank+1,...,M
由上述可知,MIMO其实是rank个平行的等效子信道组成的。幅度增益就是奇异值,那么单个信道的信噪比就是 p i σ 2 \frac{p_i}{\sigma^2} σ2pi,其中信息功率为平均下来每个天线的接收功率,即 p i = P T M p_i=\frac{P_T}{M} pi=MPT,而后对单个信道进行叠加,得到:
C = B log 2 ∏ i = 1 r a n k ( 1 + λ i P T M σ 2 ) C=B\log_2\prod \limits_{i=1}^{rank}\left(1+\frac{{\lambda_i}P_T}{M\sigma^2}\right) C=Blog2i=1∏rank(1+Mσ2λiPT)
即最终MIMO的信道容量。
这篇关于MIMO信道容量推导(奇异值分解法)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!