Plot MIMO channel capacity and capacity average
33 views (last 30 days)
Show older comments
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 Comments
Answers (1)
Arthi Sathyamurthi
on 28 Dec 2021
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 Comment
Kavya
on 20 Jul 2023
how to calculate snr and capacity in case of using transmit beamformer as input
See Also
Categories
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!