📄 miso_capacity.m
字号:
% B04060532-曹作恺-程序-2
% 平均功率分配的MIMO信道容量——MISO的信道容量
% MISO_Capacity.m
% B04060532@fm.njupt.edu.cn
clear all;clc;
Nt = 1; % 8.发射天线的数目为1
Nr = 1; % 9.接收天线的数目为1
SampleNum = 10000; % 10.蒙特卡洛仿真时的抽样数量
SNR_dB = 4:2:24; % 11.信噪比(单位dB)
for nSNR = 1:length(SNR_dB)
SNR_dB(nSNR)
rho = 10^(SNR_dB(nSNR)/10); % 13-15.完成信噪比的单位转换
for nSample = 1:SampleNum
H = (randn(Nr,Nt)+sqrt(-1)*randn(Nr,Nt))/sqrt(2); % 18.瑞利衰落信道矩阵
Cn(nSNR,nSample) = log2(det(1+rho*H*H'/Nt));
end
Capacity(nSNR) = mean( Cn(nSNR,:) ); % 22.求遍历信道容量
tempC1 = sort(Cn(nSNR,:));
end
Nt = 3; % 26-42.发射天线的数目为3
Nr = 1;
SampleNum = 10000;
SNR_dB = 4:2:24;
for nSNR = 1:length(SNR_dB)
SNR_dB(nSNR)
rho = 10^(SNR_dB(nSNR)/10);
for nSample = 1:SampleNum
H = (randn(Nr,Nt)+sqrt(-1)*randn(Nr,Nt))/sqrt(2);
Cn(nSNR,nSample) = log2(det(1+rho*H*H'/Nt));
end
Capacity(nSNR) = mean( Cn(nSNR,:) );
tempC2 = sort(Cn(nSNR,:));
end
Nt = 5; % 44-60.发送天线的数目为5
Nr = 1;
SampleNum = 10000;
SNR_dB = 4:2:24;
for nSNR = 1:length(SNR_dB)
SNR_dB(nSNR)
rho = 10^(SNR_dB(nSNR)/10);
for nSample = 1:SampleNum
H = (randn(Nr,Nt)+sqrt(-1)*randn(Nr,Nt))/sqrt(2);
Cn(nSNR,nSample) = log2(det(1+rho*H*H'/Nt));
end
Capacity(nSNR) = mean( Cn(nSNR,:) );
tempC3 = sort(Cn(nSNR,:));
end
Nt = 7; % 62-78.发射天线的数目为7
Nr = 1;
SampleNum = 10000;
SNR_dB = 4:2:24;
for nSNR = 1:length(SNR_dB)
SNR_dB(nSNR)
rho = 10^(SNR_dB(nSNR)/10);
for nSample = 1:SampleNum
H = (randn(Nr,Nt)+sqrt(-1)*randn(Nr,Nt))/sqrt(2);
Cn(nSNR,nSample) = log2(det(1+rho*H*H'/Nt));
end
Capacity(nSNR) = mean( Cn(nSNR,:) );
tempC4 = sort(Cn(nSNR,:));
end
Nt = 9; % 80-96.发射天线的数目为9
Nr = 1;
SampleNum = 10000;
SNR_dB = 4:2:24;
for nSNR = 1:length(SNR_dB)
SNR_dB(nSNR)
rho = 10^(SNR_dB(nSNR)/10);
for nSample = 1:SampleNum
H = (randn(Nr,Nt)+sqrt(-1)*randn(Nr,Nt))/sqrt(2);
Cn(nSNR,nSample) = log2(det(1+rho*H*H'/Nt));
end
Capacity(nSNR) = mean( Cn(nSNR,:) );
tempC5 = sort(Cn(nSNR,:));
end
figure % 98.开始仿真作图
nSNR = length(SNR_dB);
plot(tempC1, (1:SampleNum)/SampleNum, 'r-');
hold on;
plot(tempC2, (1:SampleNum)/SampleNum, 'b-');
hold on;
plot(tempC3, (1:SampleNum)/SampleNum, 'g-');
hold on;
plot(tempC4, (1:SampleNum)/SampleNum, 'k-');
hold on;
plot(tempC5, (1:SampleNum)/SampleNum, 'm-');
hold on;
xlabel('信道容量 (bit/s/Hz)');
ylabel('概率分布');
text(0.9,0.9,'平均功率分配的MISO的信道容量');
text(0.9,0.8,'从左向右发射天线数依次为1,3,5,7,9');
grid on;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -