【从菜鸟开始学通信】基于瑞利衰落信道的 SISO/SIMO/MISO/MIMO 系统容量分析【含matlab代码】
基于瑞利衰落信道的 SISO/SIMO/MISO/MIMO 系统容量分析
摘要
本文主要研究在瑞利衰落(Rayleigh Fading)信道条件下的 MIMO(Multiple Input Multiple Output,多输入多输出)通信系统。假设系统具有 (M) 个发送天线和 (N) 个接收天线,并分析其遍历容量(Ergodic Capacity)与中断容量(Outage Capacity)的性能。
MIMO 是一种在发送端和接收端同时采用多根天线的通信技术,通过建立多个独立空间信道,可以显著提升系统容量和频谱利用率,而无需增加系统带宽。
在无线通信中,由于信号通过不同传播路径到达接收端,各路径具有不同的传播时延,同时不同方向上的波叠加形成驻波场,从而导致快速衰落现象,这种衰落称为瑞利衰落。
博客背景与论文介绍
本文的学习路线与知识体系主要围绕以下论文展开:论文链接
Z. Shang, “Mitigating Hardware Impairments in Multi-User Multi-Layer MIMO Systems via Weighted Fusion Precoding,” IEEE Communications Letters, vol. 30, pp. 1841–1845, 2026.
该论文主要研究:
- 多用户多层 MIMO 系统(Multi-User Multi-Layer MIMO)
- 硬件损伤抑制(Hardware Impairments Mitigation)
- 融合预编码(Fusion Precoding)
- 加权优化策略(Weighted Optimization)
论文核心目标是在存在硬件非理想因素的情况下,通过加权融合预编码方法提升系统性能与通信可靠性。
在现代无线通信系统中,由于:
- 功率放大器非线性;
- IQ 失衡;
- 相位噪声;
- ADC/DAC 量化误差;
等硬件问题的存在,传统理想 MIMO 预编码算法性能会明显下降。因此,如何在硬件损伤条件下设计鲁棒预编码器,已经成为 5G-A 与 6G MIMO 通信中的重要研究方向。
该论文提出了一种:
Weighted Fusion Precoding \text{Weighted Fusion Precoding} Weighted Fusion Precoding
方法,通过融合不同预编码矩阵的优势,实现:
- 多用户干扰抑制;
- 硬件损伤缓解;
- 系统容量提升;
- BER 性能优化。
因此,在阅读该论文之前,需要系统掌握:
- 无线通信基础
- 瑞利衰落信道
- MIMO 系统模型
- 多用户 MIMO
- 预编码理论
- 硬件损伤建模
- 矩阵优化理论
本文后续内容将围绕这些前置知识展开介绍。
关键词
- 遍历容量(Ergodic Capacity)
- 中断容量(Outage Capacity)
- MIMO
- MISO
- SIMO
- SISO
- 瑞利衰落(Rayleigh Fading)
- 信噪比(SNR)
一、引言
1.1 MIMO 技术
MIMO(Multiple Input Multiple Output,多输入多输出)是一种在发送端和接收端均采用多天线的通信系统结构,通过构建多个独立信道来提升通信容量。
MIMO 系统的重要特点之一是具有极高的频谱利用效率。在不增加带宽的前提下,MIMO 技术能够显著提升系统容量和频谱效率。
其核心思想是:
- 利用空间资源获取分集增益与复用增益;
- 在提升系统可靠性的同时提高传输速率;
- 代价是发送端与接收端复杂度增加。
由于不同天线之间具有足够间隔,因此:
- 天线相关性降低;
- 链路性能提升;
- 数据吞吐量增加。
研究表明,在瑞利衰落环境下,OFDM 系统结合 MIMO 技术可以显著提升系统容量。
此外,大多数 MIMO 信道在空间上是相关的而非独立的。2001 年 11 月的 3GPP 会议中,Lucent、Nokia、Siemens 与 Ericsson 联合提出了 MIMO 信道标准化建议。
目前 3GPP 和 3GPP2 推荐两种链路级 MIMO 信道模型:
- 基于相关性的模型(Correlation-Based)
- 基于子路径的模型(Subpath-Based)
信道相关性对系统容量的影响已经成为 MIMO 技术的重要研究方向。
1.2 瑞利衰落
在无线通信中,接收信号通常通过反射、折射、散射等多条路径传播到接收端。
由于:
- 各路径传播时间不同;
- 多方向波叠加形成驻波;
因此会产生快速衰落现象,即瑞利衰落。
瑞利衰落属于小尺度衰落,通常叠加在:
- 阴影衰落;
- 路径损耗;
等大尺度衰落之上。
在多径传播环境中,接收信号包络服从瑞利分布。同时由于接收端移动等因素,信号幅度和相位不断变化,因此称为瑞利衰落。
1.3 遍历容量与中断容量
由于无线信道状态随时间随机变化,因此信道容量通常采用统计意义进行描述。
(1)遍历容量
遍历容量(Ergodic Capacity)表示随机信道在所有衰落状态下最大信息速率的时间平均值。
其公式为:
C = B log 2 ( 1 + SNR ) C = B \log_2(1+\text{SNR}) C=Blog2(1+SNR)
其中:
- (B):系统带宽
- (\text{SNR}):信噪比
(2)中断容量
中断容量(Outage Capacity)表示:
系统以某一传输速率通信时,能够以 (1-p%) 的概率成功传输。
其中:
- (p):允许中断概率
中断概率定义为:
P out = P ( C ( H ) < R ) P_{\text{out}} = P(C(H)<R) Pout=P(C(H)<R)
对应容量表达式为:
C = ( 1 − P out ) B log 2 ( 1 + C ( H ) ) C = (1-P_{\text{out}})B\log_2(1+C(H)) C=(1−Pout)Blog2(1+C(H))
二、系统模型与信号模型
2.1 SISO 系统
SISO(Single Input Single Output,单输入单输出)是传统无线通信系统。
特点:
- 发送端一个天线;
- 接收端一个天线;
- 只有一条传输路径;
- 数据速率较低。
SISO 模型

- 发射端:1 根天线
- 接收端:1 根天线
2.2 SIMO 系统
SIMO(Single Input Multiple Output,单输入多输出)系统中:
- 发射端:1 根天线
- 接收端:多根天线
其优势:
- 降低误码率;
- 提高数据速率;
- 提升接收分集增益。
在复杂环境中,电磁波会通过多条路径传播到接收端,因此接收端采用多天线能够有效对抗多径衰落。
SIMO 模型

- (N=2)
2.3 MISO 系统
MISO(Multiple Input Single Output,多输入单输出)系统中:
- 发送端:多根天线
- 接收端:1 根天线
其主要特点:
- 发送端进行空间分集;
- 降低多径传播影响;
- 提高链路可靠性。
MISO 模型

- (M=2)
2.4 MIMO 系统
MIMO(Multiple Input Multiple Output)系统中:
- 发送端采用多天线;
- 接收端采用多天线。
MIMO 也被称为空间分集(Spatial Diversity)技术。
其优势包括:
- 提升系统容量;
- 增强覆盖范围;
- 提高系统性能;
- 提升频谱利用率。
MIMO 模型
在这里插入图片描述
- (M=2)
- (N=2)
三、问题一:遍历容量与 99% 中断容量绘制
本文利用 MATLAB 对以下四种系统进行仿真:
- SISO
- SIMO
- MISO
- MIMO




3.1 遍历容量分析
根据实验结果:
\
- 遍历容量随着 SNR 增大而增加;
- 当 (M=N=2) 时,容量最大。
即:
C MIMO > C SIMO > C MISO > C SISO C_{\text{MIMO}} > C_{\text{SIMO}} > C_{\text{MISO}} > C_{\text{SISO}} CMIMO>CSIMO>CMISO>CSISO
3.2 中断容量分析
实验结果表明:
- 中断容量同样随 SNR 增加而增大;
- (M=N=2) 时性能最佳;
- 当中断概率达到 99% 时,中断容量远小于遍历容量。
3.3 遍历容量与中断容量对比
结论如下:
- 两种容量均随 SNR 提升而增加;
- MIMO 系统始终具有最大容量;
- 遍历容量明显大于中断容量。
四、问题二:遍历容量推导与证明
4.1 遍历容量公式
遍历容量定义为:
C = 1 n ∑ i = 1 n C i C=\frac{1}{n}\sum_{i=1}^{n}C_i C=n1i=1∑nCi
其中:
C i = log 2 ( 1 + ϕ 2 σ 2 ) C_i=\log_2\left(1+\frac{\phi^2}{\sigma^2}\right) Ci=log2(1+σ2ϕ2)
上述公式适用于并行信道。
4.2 MIMO 系统模型
MIMO 信号模型:
Y = H X + N Y=HX+N Y=HX+N
其中:
- (Y):接收信号向量
- (H):信道矩阵
- (X):发送信号向量
- (N):高斯噪声
噪声满足:
N ∼ N ( 0 , σ 2 I N ) N \sim \mathcal{N}(0,\sigma^2 I_N) N∼N(0,σ2IN)
协方差矩阵:
E [ X X H ] = R X E[XX^H]=R_X E[XXH]=RX
E [ Y Y H ] = R Y E[YY^H]=R_Y E[YYH]=RY
在非并行信道条件下,发送功率分配为:
R X = P M I M R_X=\frac{P}{M}I_M RX=MPIM
其中:
- (P):总发送功率
- (M):发送天线数
五、问题三:高 SNR 条件下验证

在:
SNR = 40 / 45 / 50 / 55 / 60 dB \text{SNR}=40/45/50/55/60\text{ dB} SNR=40/45/50/55/60 dB
条件下,分析天线数量与遍历容量关系。
实验结果表明:
- 遍历容量随天线数量增加而增加;
- 在高 SNR 条件下近似呈线性增长;
- SNR 越高,增长斜率越大。
六、主要实验结果
通过实验可以得到以下结论:
6.1 SNR 对容量的影响
无论是:
- 遍历容量;
- 中断容量;
都随着 SNR 提升而增大。
6.2 不同系统容量比较
遍历容量大小规律:
MIMO > SIMO > MISO > SISO \text{MIMO}>\text{SIMO}>\text{MISO}>\text{SISO} MIMO>SIMO>MISO>SISO
即:
- MIMO 容量最高;
- SISO 容量最低。
6.3 高信噪比特性
在高 SNR 条件下:
- 遍历容量近似线性增长;
- 增加天线数量可以显著提高系统容量。
七、总结
本文研究了:
- 瑞利衰落环境下的 MIMO 信道;
- 不同天线结构系统容量性能。
分析对象包括:
- SISO
- SIMO
- MISO
- MIMO
通过 MATLAB 仿真研究:
- 遍历容量;
- 中断容量;
并完成对应公式推导与验证。
最终得到以下结论:
- 所有系统容量均随 SNR 增加而提高;
- MIMO 系统容量始终最高;
- 遍历容量大于中断容量;
- 高 SNR 条件下容量近似线性增长。
总体而言,MIMO 技术能够显著提高无线通信系统容量与频谱利用率,在未来无线通信系统中具有广阔的发展前景。
附录 2:证明与数学推导
1. MIMO 系统模型
在 MIMO 系统中,接收信号模型可表示为:
Y = H X + N Y = HX + N Y=HX+N
其中:
- Y Y Y 表示接收信号向量;
- H H H 表示信道矩阵;
- X X X 表示发送信号向量;
- N N N 表示信道噪声。
噪声矩阵 N N N 服从复高斯分布:
N ∼ N ( 0 , σ 2 I N ) N \sim \mathcal{N}(0,\sigma^2 I_N) N∼N(0,σ2IN)
其协方差满足:
E [ X X H ] = R X E[XX^H] = R_X E[XXH]=RX
E [ Y Y H ] = R Y E[YY^H] = R_Y E[YYH]=RY
E [ N N H ] = R N E[NN^H] = R_N E[NNH]=RN
2. 互信息推导
根据信息论定义,输入与输出之间的互信息为:
I ( X ; Y ) = H ( X ) − H ( X ∣ Y ) I(X;Y)=H(X)-H(X|Y) I(X;Y)=H(X)−H(X∣Y)
也可以写成:
I ( X ; Y ) = H ( Y ) − H ( Y ∣ X ) I(X;Y)=H(Y)-H(Y|X) I(X;Y)=H(Y)−H(Y∣X)
由于:
Y = H X + N Y=HX+N Y=HX+N
在给定 X X X 的情况下,仅剩噪声项,因此:
H ( Y ∣ X ) = H ( N ) H(Y|X)=H(N) H(Y∣X)=H(N)
于是:
I ( X ; Y ) = H ( Y ) − H ( N ) I(X;Y)=H(Y)-H(N) I(X;Y)=H(Y)−H(N)
3. 高斯噪声熵计算
噪声的概率密度函数为:
f ( n ) = 1 2 π σ exp ( − μ 2 2 σ 2 ) f(n)=\frac{1}{\sqrt{2\pi}\sigma} \exp\left(-\frac{\mu^2}{2\sigma^2}\right) f(n)=2πσ1exp(−2σ2μ2)
根据信息熵定义:
H ( N ) = ∫ − ∞ ∞ − f ( n ) log 2 f ( n ) d n H(N)=\int_{-\infty}^{\infty} -f(n)\log_2 f(n)\,dn H(N)=∫−∞∞−f(n)log2f(n)dn
代入高斯分布后可得:
H ( N ) = 1 2 log 2 ( 2 π e σ 2 ) H(N)= \frac{1}{2}\log_2(2\pi e\sigma^2) H(N)=21log2(2πeσ2)
因此互信息可以表示为:
I ( X ; Y ) = H ( Y ) − 1 2 log 2 ( 2 π e σ 2 ) I(X;Y)= H(Y)-\frac{1}{2}\log_2(2\pi e\sigma^2) I(X;Y)=H(Y)−21log2(2πeσ2)
4. 接收信号熵
由于接收信号 Y Y Y 同样服从高斯分布,因此其概率密度函数为:
H ( Y ) = 1 2 π ( P + σ 2 ) exp ( − y 2 2 ( P + σ 2 ) ) H(Y)= \frac{1}{\sqrt{2\pi(P+\sigma^2)}} \exp\left( -\frac{y^2}{2(P+\sigma^2)} \right) H(Y)=2π(P+σ2)1exp(−2(P+σ2)y2)
信道容量定义为互信息的最大值:
C = max I ( X ; Y ) C=\max I(X;Y) C=maxI(X;Y)
因此:
C = 1 2 log 2 ( 2 π e ( P + σ 2 ) ) − 1 2 log 2 ( 2 π e σ 2 ) C=\frac{1}{2}\log_2\left(2\pi e(P+\sigma^2)\right)-\frac{1}{2} \log_2 \left( 2\pi e\sigma^2 \right) C=21log2(2πe(P+σ2))−21log2(2πeσ2)
化简可得经典 AWGN 信道容量公式:
C = 1 2 log 2 ( 1 + P σ 2 ) C= \frac{1}{2} \log_2 \left( 1+\frac{P}{\sigma^2} \right) C=21log2(1+σ2P)
5. SVD 奇异值分解
对信道矩阵 H H H 进行奇异值分解(SVD):
H = U D V H H = UDV^H H=UDVH
其中:
- U ∈ C M × M U \in \mathbb{C}^{M\times M} U∈CM×M
- D ∈ C M × N D \in \mathbb{C}^{M\times N} D∈CM×N
- V ∈ C N × N V \in \mathbb{C}^{N\times N} V∈CN×N
经过变换后:
y ^ = D x ^ + n ^ \hat{y}=D\hat{x}+\hat{n} y^=Dx^+n^
设奇异值为:
λ i \sqrt{\lambda_i} λi
则 MIMO 信道被分解为多个并行子信道。
6. 接收信号最大熵分析
设接收信号概率密度函数为:
g ( y ) g(y) g(y)
则其熵为:
H ( y ) = − ∫ − ∞ ∞ g ( y ) log g ( y ) d y H(y)= -\int_{-\infty}^{\infty} g(y)\log g(y)\,dy H(y)=−∫−∞∞g(y)logg(y)dy
满足:
∫ − ∞ ∞ g ( y ) d y = 1 \int_{-\infty}^{\infty} g(y)\,dy = 1 ∫−∞∞g(y)dy=1
以及:
∫ − ∞ ∞ g ( y ) y 2 d y ≤ P + σ 2 \int_{-\infty}^{\infty} g(y)y^2dy \le P+\sigma^2 ∫−∞∞g(y)y2dy≤P+σ2
当 H ( Y ) H(Y) H(Y) 最大时,互信息达到最大,从而获得最大信道容量。
7. 噪声熵进一步推导
由于:
N ∼ N c ( 0 , σ 2 I N ) N\sim \mathcal{N}_c(0,\sigma^2I_N) N∼Nc(0,σ2IN)
因此:
H ( N ) = log ( π e σ 2 ) H(N)=\log(\pi e\sigma^2) H(N)=log(πeσ2)
8. 接收信号协方差矩阵
接收信号协方差矩阵为:
E [ ( Y − E ( Y ) ) ( Y − E ( Y ) ) H ] E[(Y-E(Y))(Y-E(Y))^H] E[(Y−E(Y))(Y−E(Y))H]
展开可得:
= E [ ( H X + N − E ( Y ) ) ( H X + N − E ( Y ) ) H ] =E[(HX+N-E(Y))(HX+N-E(Y))^H] =E[(HX+N−E(Y))(HX+N−E(Y))H]
进一步化简:
= E { [ H ( X − E ( X ) ) + N ] [ H ( X − E ( X ) ) + N ] H } =E\left\{ [H(X-E(X))+N] [H(X-E(X))+N]^H \right\} =E{[H(X−E(X))+N][H(X−E(X))+N]H}
继续推导:
= E [ H H H ( X − E ( X ) ) ( X − E ( X ) ) H + N N H ] =E \left[ HH^H(X-E(X))(X-E(X))^H + NN^H \right] =E[HHH(X−E(X))(X−E(X))H+NNH]
最终得到:
= σ 2 I N + H H H R X =\sigma^2I_N + HH^HR_X =σ2IN+HHHRX
因此:
H ( Y ) max = log [ π e ( σ 2 I N + H H H R X ) ] H(Y)_{\max}= \log \left[ \pi e ( \sigma^2I_N+HH^HR_X ) \right] H(Y)max=log[πe(σ2IN+HHHRX)]
9. MIMO 信道容量最终表达式
因此 MIMO 信道容量为:
C = log [ π e ( H H H R X + σ 2 I N ) ] − log ( π e σ 2 ) C=\log\left[\pi e(HH^HR_X+\sigma^2I_N)\right] -\log(\pi e\sigma^2) C=log[πe(HHHRX+σ2IN)]−log(πeσ2)
最终化简为:
C = log ∣ I N + 1 σ 2 H H H R X ∣ C= \log \left| I_N + \frac{1}{\sigma^2} HH^HR_X \right| C=log IN+σ21HHHRX
这就是经典的 MIMO 信道容量表达式。
10. 结论
通过上述推导可以得到:
- MIMO 信道容量来源于多个空间并行子信道;
- 信道容量与:
- 发射功率;
- 信噪比;
- 天线数量;
- 信道矩阵秩;
密切相关;
- 在高 SNR 条件下,MIMO 系统容量近似线性增长;
- 奇异值分解(SVD)能够将 MIMO 信道转化为多个独立并行信道;
- 增加收发天线数量能够显著提升频谱效率与系统容量。
代码
% License: This code is licensed under the GPLv2 license. If you in any way
% use this code for research that results in publications, please cite our
% original article listed above.
% Z. Shang, "Mitigating Hardware Impairments in Multi-User Multi-Layer MIMO Systems via % Weighted Fusion Precoding," in IEEE Communications Letters, vol. 30, pp. 1841-1845,
% 2026, doi: 10.1109/LCOMM.2026.3688411.
clc
clear all
close all
SNR = 0:1e-1:4e1;
% the system signal-to-noise ratio with dB
r= 0.7;
%% Author:zixia shang
% University of New South Wales
% Telecommunications Engineering
% Email address: zixia.shang@ieee.org
% 05/11/2022
ergodic11=ergodiccapacities (1,1,SNR,r);
ergodic12=ergodiccapacities (1,2,SNR,r);
ergodic21=ergodiccapacities (2,1,SNR,r);
ergodic22=ergodiccapacities (2,2,SNR,r);
outage11=outagecapacities (1,1,SNR,r,99);
outage12=outagecapacities (1,2,SNR,r,99);
outage21=outagecapacities (2,1,SNR,r,99);
outage22=outagecapacities (2,2,SNR,r,99);
figure(11)
subplot(2,2,1)
semilogy(SNR,ergodic11,'r')
subtitle('M_T=N_R=1')
grid on
xlabel('SNR (dB)')
ylabel('Capacity (bit/s/Hz)')
subplot(2,2,2)
semilogy(SNR,ergodic12,'g')
grid on
xlabel('SNR (dB)')
ylabel('Capacity (bit/s/Hz)')
subtitle('M_T=1 N_R=2')
subplot(2,2,3)
semilogy(SNR,ergodic21,'b')
grid on
xlabel('SNR (dB)')
ylabel('Capacity (bit/s/Hz)')
subtitle('M_T=2 N_R=1')
subplot(2,2,4)
semilogy(SNR,ergodic22,'k')
grid on
xlabel('SNR (dB)')
ylabel('Capacity (bit/s/Hz)')
subtitle('M_T=N_R=2')
sgtitle('MIMO Ergodic Capacity')
figure(12)
hold on
semilogy(SNR,ergodic11, ...
'r',SNR,ergodic12, ...
'g',SNR,ergodic21, ...
'b',SNR,ergodic22,'k')
grid on
title('MIMO Ergodic Capacity for different number of antennas')
xlabel('SNR (dB)')
ylabel('Ergodic Capacity (bit/s/Hz)')
legend('M_T=N_R=1','M_T=1 N_R=2','M_T=2 N_R=1','M_T=N_R=2')
hold off
figure(13)
subplot(2,2,1)
semilogy(SNR,outage11,'r')
grid on
xlabel('SNR (dB)')
ylabel('Capacity (bit/s/Hz)')
subtitle('M_T=N_R=1')
subplot(2,2,2)
semilogy(SNR,outage12,'g')
grid on
xlabel('SNR (dB)')
ylabel('Capacity (bit/s/Hz)')
subtitle('M_T=1 N_R=2')
subplot(2,2,3)
semilogy(SNR,outage21,'b')
grid on
xlabel('SNR (dB)')
ylabel('Capacity (bit/s/Hz)')
subtitle('M_T=2 N_R=1')
subplot(2,2,4)
semilogy(SNR,outage22,'k')
grid on
xlabel('SNR (dB)')
ylabel('Capacity (bit/s/Hz)')
subtitle('M_T=N_R=2')
sgtitle('MIMO Outage Capacity')
figure(14)
hold on
semilogy(SNR,outage11,'r')
semilogy(SNR,outage12,'g')
semilogy(SNR,outage21,'b')
semilogy(SNR,outage22,'k')
grid on
xlabel('SNR (dB)')
ylabel('Capacity (bit/s/Hz)')
grid on
title('MIMO Outage Capacity for different number of antennas')
xlabel('SNR (dB)')
legend('M_T=N_R=1','M_T=1 N_R=2','M_T=2 N_R=1','M_T=N_R=2')
ylabel('Capacity (bit/s/Hz)')
hold off
figure(15)
hold on
semilogy(SNR,ergodic11,'k')
semilogy(SNR,ergodic12,'k')
semilogy(SNR,ergodic21,'k')
semilogy(SNR,ergodic22,'k')
semilogy(SNR,outage11,'b')
semilogy(SNR,outage12,'b')
semilogy(SNR,outage21,'b')
semilogy(SNR,outage22,'b')
grid on
title('Ergodic Capacity vs Outage Capacity')
xlabel('SNR (dB)')
legend('ergodiccapacities M_T=N_R=1','ergodiccapacities M_T=1 N_R=2','ergodiccapacities M_T=2 N_R=1','ergodiccapacities M_T=N_R=2','outagecapacities M_T=N_R=1','outagecapacities M_T=1 N_R=2','outagecapacities M_T=2 N_R=1','outagecapacities M_T=N_R=2')
ylabel('Capacity (bit/s/Hz)')
hold off
figure(16)
clear all
w=1:1:20;
%x = ones(1,20);
for n = 1:20
x40(n) = ergodiccapacities (n,n,40,0);
x45(n) = ergodiccapacities (n,n,45,0);
x50(n) = ergodiccapacities (n,n,50,0);
x55(n) = ergodiccapacities (n,n,55,0);
end
hold on
plot(w,x40,'k-+')
plot(w,x45,'g-+')
plot(w,x50,'r-+')
plot(w,x55,'b-+')
hold off
grid on
xlabel('the number of antennas(M=N)')
ylabel('Ergodic Capacity (bit/s/Hz)')
legend('SNR=40','SNR=45','SNR=50','SNR=55')
title('Ergodic Capacity of mimo systems with different number of antennas at high SNR')
function [capacities] = ergodiccapacities (M,N,SNR,r)
% M-the number of transmitted antennas M
% N-the number of Receive antennas N
% SNR-the system signal-to-noise ratio with dB
% rt-Correlation coefficient of the transmitter.
% (Equal to zero when the channel transmission is not correlated)
for X =1:M
for Y=1:M
Rt(X,Y) = r^(abs(X-Y));
end
end
Re = 0.7;
for X =1:N
for Y=1:N
Rr(X,Y) = Re^(abs(X-Y));
end
end
MCrun = 1000;
snr = 10.^(0.1*SNR); % Signal to noise ratio conversion
capacities = zeros(1,length(SNR));
for ll = 1:length(SNR)
capa = zeros(1,MCrun);
for nn =1:MCrun
% Rayleigh
H = Rr^(1/2)*(sqrt(1/2).* (randn(N,M) + Y.* randn(N,M)))*Rt^(1/2);
capa(nn) = log2(det(eye(N)+snr(ll)/M*H*H'));
end
capacities(ll)=mean(capa);
Hh = waitbar(ll/length(SNR));
end
close(Hh)
end
function [capacities] = outagecapacities (M,N,SNR,rt,n)
% M-the number of transmitted antennas M
% N-the number of Receive antennas N
% SNR-the system signal-to-noise ratio with dB
% rt-Correlation coefficient of the transmitter.
% (Equal to zero when the channel transmission is not correlated)
% n-outage(Interruption rate)
for X =1:M
for Y=1:M
Rt(X,Y) = rt^(abs(X-Y));
end
end
Re = 0.7;
for X =1:N
for Y=1:N
Rr(X,Y) = Re^(abs(X-Y));
end
end
MCrun = 1000;
snr = 10.^(0.1*SNR); % Signal to noise ratio conversion
capacities = zeros(1,length(SNR));
for ll = 1:length(SNR)
capa = zeros(1,MCrun);
for nn =1:MCrun
% Rayleigh
H = Rr^(1/2)*(sqrt(1/2).* (randn(N,M) + Y.* randn(N,M)))*Rt^(1/2);
capa(nn) = (1-0.01*n)*log2(det(eye(N)+snr(ll)/M*H*H'));
end
capacities(ll)=mean(capa);
Hh = waitbar(ll/length(SNR));
end
close(Hh)
end
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)