Plot MIMO channel capacity and capacity average
33 次查看(过去 30 天)
显示 更早的评论
Hello,
I would like to know how to plot the average channel capacity of a MIMO channel capacity.
I know MIMO channel capacity is :
C = log det (INR * ((gamma)/(Nt)* H*H(Hermitian))
and Channel capacity average is :
Cav = 1/P * Sigma (C) , where P = 10^3 and teh limits of sigma is p=1 to P.
I need to plot the average channel Capacity, Cav, for uncorrelated channel, H, take sigma in db from 0 to 30 in increments of 2. Nr and Nt equal 5.
The code I have so far is :
clc;
clear all;
Nt = 2;
Nr = 2;
gammaBar = -10:5:30; %average SNR in dB
SNR = 10 .^(gammaBar/10); % absoulte value of SNR
noSim = 10e5; %Numnber of Independent channel relaizations
H = sqrt(1/2) * (randn+1j*randn); %Complex Gaussian random variables
0 个评论
回答(1 个)
Arthi Sathyamurthi
2021-12-28
Hello,
The MIMO Channel Capacity formula mentioned seems to have few minor mistakes and has basic assumptions. The formula considering the same assumptions should be
which is where γ is the SNR.
Further modifying the code based on the input data mentioned in the description and taking gamma in dB from –10 to 30 in increments of 2, the code for plotting channel capacity is
Nt = 5;
Nr = 5;
gammaBar = -10:2:30;
SNR = 10 .^(gammaBar/10);
H = sqrt(1/2) * (randn+1j*randn);
for idx = 1:1:length(SNR)
c(idx) = log2(det((eye(Nr))+((SNR(idx)/Nt)*abs(H)*(abs(H')))));
end
plot(gammaBar,c)
xlabel('SNR in dB');
ylabel('Ergodic Channel Capacity');
Further, the average channel capacity can be calculated by modifying the formula of channel capacity with either or information and having the power factor in the formula.
1 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Link-Level Simulation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!