Plot MIMO channel capacity and capacity average
72 views (last 30 days)
Show older comments
matlabuser1 on 24 Nov 2021
Answered: Arthi Sathyamurthi on 28 Dec 2021
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 :
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
Arthi Sathyamurthi on 28 Dec 2021
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')))));
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.
Find more on Link-Level Simulation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!