How calculate Energy efficiency in massive MIMO with antenna selection ?
9 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
What is the formula of Energy efficiency (Bits/joule) with this code (using matrix)? Basically, this code selects the optimal sub-matrix from a capacity point of view. I want it to be the same except with energy efficiency thank's.
%%%%%%%%%%%OPTIMAL ANTENNA SELECTION
Ns=4;
Nr=16;
SNR=6;%dB
SNR= 10^(SNR/10);
simulation=10;
capacityOfAver=[];
for Lr=1:8
capacityOfSum=0;
antennaSubset=nchoosek([1:Nr],Lr);
for sim=1:simulation
H=sqrt(1/2)*(randn(Nr,Ns)+1j*randn(Nr,Ns));
capacityOfSubsetMax=0;
for k=1:nchoosek(Nr,Lr);
indexOfChannel=antennaSubset(k,:);
H_sel=H(indexOfChannel,:);
capacityOfSubset=log2(det(eye(Ns)+SNR/Ns*(H_sel'*H_sel))) ;
if(capacityOfSubset>capacityOfSubsetMax)
capacityOfSubsetMax=capacityOfSubset;
end
end
capacityOfSum=capacityOfSum+capacityOfSubsetMax;
capacityOfAver=[capacityOfAver,capacityOfSum/simulation];
end
%plot
X=[0:8];
plot(X,[0,capacityOfAver]);
xlabel('Lr');
ylabel('capacity(bit/s/Hz)');
grid on;
hold on;
0 Kommentare
Antworten (1)
Mrutyunjaya Hiremath
am 29 Sep. 2023
The Energy Efficiency (EE) is usually measured in bits per joule (bits/J) and is calculated as follows:
Energy Efficiency (EE) = Capacity (C)/Energy Consumption (E)
Modifying the Code for Energy Efficiency
When considering energy efficiency, you need to model the energy consumption of the selected antennas. Let’s assume that each selected antenna consumes energy Ea (joules/bit), and there is a fixed energy consumption Ef (joules/bit) for the system.
The energy consumption E for a selection of Lr antennas can be modeled as:
E = Ef + Lr ⋅ Ea
Subsequently, the energy efficiency can be calculated as follows:
Energy Efficiency (EE) = Capacity (C)/ E
Here’s the modified MATLAB code to select the optimal sub-matrix from an energy efficiency point of view:
Ns=4;
Nr=16;
SNR=6; %dB
SNR= 10^(SNR/10);
simulation=10;
Ea = 0.1; % Energy consumption per antenna (joules/bit)
Ef = 1; % Fixed energy consumption (joules/bit)
energyEfficiencyAver=[];
for Lr=1:8
energyEfficiencySum=0;
antennaSubset=nchoosek([1:Nr],Lr);
for sim=1:simulation
H=sqrt(1/2)*(randn(Nr,Ns)+1j*randn(Nr,Ns));
energyEfficiencySubsetMax=0;
for k=1:nchoosek(Nr,Lr);
indexOfChannel=antennaSubset(k,:);
H_sel=H(indexOfChannel,:);
capacityOfSubset=log2(det(eye(Ns)+SNR/Ns*(H_sel'*H_sel)));
E = Ef + Lr * Ea; % Total Energy Consumption
energyEfficiency = capacityOfSubset / E; % Energy Efficiency Calculation
if(energyEfficiency > energyEfficiencySubsetMax)
energyEfficiencySubsetMax = energyEfficiency;
end
end
energyEfficiencySum = energyEfficiencySum + energyEfficiencySubsetMax;
end
energyEfficiencyAver=[energyEfficiencyAver, energyEfficiencySum/simulation];
end
% Plot
X=[0:8];
plot(X,[0,energyEfficiencyAver]);
xlabel('Lr');
ylabel('Energy Efficiency (bits/J)');
grid on;
hold on;
0 Kommentare
Siehe auch
Kategorien
Mehr zu Power and Energy Systems finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!