How calculate Energy efficiency in massive MIMO with antenna selection ?
19 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
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 comentarios
Respuestas (1)
Mrutyunjaya Hiremath
el 29 de Sept. de 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 comentarios
Ver también
Categorías
Más información sobre Power and Energy Systems en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!