- Fix: avoid infinite loop on mulitcast read thread if no data to read
Pre-ci test passed git-svn-id: http://svn.eurecom.fr/openair4G/trunk@4000 818b1a75-f10b-46b9-bf7c-635c3b92a50f
This commit is contained in:
@@ -0,0 +1,240 @@
|
||||
idx = 100;
|
||||
filename_mat = sprintf('results_v2_idx_%d.mat',idx);
|
||||
filename_dpc_mat = sprintf('results_DPC_4x1_idx_%d.mat',idx);
|
||||
|
||||
filepath = 'figs_pimrc';
|
||||
if ~exist(filepath,'dir')
|
||||
mkdir(filepath)
|
||||
end
|
||||
logscale = 1;
|
||||
|
||||
load(filename_mat)
|
||||
load(filename_dpc_mat)
|
||||
%%
|
||||
% post processing
|
||||
[Cap_SU_TDMA_CL_ML_f,Cap_SU_TDMA_CL_ML_x] = ecdf(CAP_SU_TDMA_CL_ML(:));
|
||||
%[Cap_SU_4x1_TDMA_CL_ML_f,Cap_SU_4x1_TDMA_CL_ML_x] = ecdf(CAP_SU_4x1_TDMA_CL_ML);
|
||||
[Cap_SU_TDMA_ML_f,Cap_SU_TDMA_ML_x] = ecdf(CAP_SU_TDMA_ML(:));
|
||||
%[Cap_SU_TDMA_MMSE_f,Cap_SU_TDMA_MMSE_x] = ecdf(CAP_SU_TDMA_MMSE(:));
|
||||
[Cap_4U_ZF_f,Cap_4U_ZF_x] = ecdf(CAP_4U_ZF(:));
|
||||
[Cap_4U_MMSE_f,Cap_4U_MMSE_x] = ecdf(CAP_4U_MMSE(:));
|
||||
[Cap_2U_ZF_f,Cap_2U_ZF_x] = ecdf(CAP_2U_ZF(:));
|
||||
[Cap_2U_MMSE_f,Cap_2U_MMSE_x] = ecdf(CAP_2U_MMSE(:));
|
||||
[Cap_4U_AS_ZF_f,Cap_4U_AS_ZF_x] = ecdf(CAP_4U_AS_ZF(:));
|
||||
[Cap_4U_AS_MMSE_f,Cap_4U_AS_MMSE_x] = ecdf(CAP_4U_AS_MMSE(:));
|
||||
[Cap_2U_AS_ZF_f,Cap_2U_AS_ZF_x] = ecdf(CAP_2U_AS_ZF(:));
|
||||
[Cap_2U_AS_MMSE_f,Cap_2U_AS_MMSE_x] = ecdf(CAP_2U_AS_MMSE(:));
|
||||
%[Cap_2U_BD_WF_f,Cap_2U_BD_WF_x] = ecdf(CAP_2U_BD_WF(:));
|
||||
%[Cap_2U_BD_EP_f,Cap_2U_BD_EP_x] = ecdf(CAP_2U_BD_EP(:));
|
||||
[Cap_2U2Tx_ZF_f,Cap_2U2Tx_ZF_x] = ecdf(CAP_2U2Tx_ZF(:));
|
||||
[Cap_2U2Tx_MMSE_f,Cap_2U2Tx_MMSE_x] = ecdf(CAP_2U2Tx_MMSE(:));
|
||||
|
||||
%[Cap_4U_4x2_DPC_f,Cap_4U_4x2_DPC_x] = ecdf(CAP_4U_4x2_DPC(:));
|
||||
[Cap_4U_4x1_DPC_f,Cap_4U_4x1_DPC_x] = ecdf(CAP_4U_4x1_DPC(:));
|
||||
|
||||
% use the following color coding
|
||||
% ZF = blue, MMSE = red, SUTS = black, BD = cyan, MMSE AS = magenta,
|
||||
% 4U = '-', 2U = '--'
|
||||
% measured = 2pt, iid = 1pt
|
||||
|
||||
%% SU-MIMO TDMA vs 4U MU-MIMO DPC (measured+iid)
|
||||
h_fig = figure(6);
|
||||
load('cap_iid.mat')
|
||||
hold off
|
||||
plot(Cap_SU1x4_TDMA_CL_ML_iid_x,Cap_SU1x4_TDMA_CL_ML_iid_f,'k-','Linewidth',1)
|
||||
hold on
|
||||
|
||||
load('Cap_iid_N_Rx=1.mat')
|
||||
%plot(Cap_4U_ZF_iid_x,Cap_4U_ZF_iid_f,'b--','Linewidth',1)
|
||||
%plot(Cap_4U_MMSE_iid_x,Cap_4U_MMSE_iid_f,'r--','Linewidth',1)
|
||||
|
||||
%plot(Cap_2U_ZF_iid_x,Cap_2U_ZF_iid_f,'b--','Linewidth',1)
|
||||
%plot(Cap_2U_MMSE_iid_x,Cap_2U_MMSE_iid_f,'r--','Linewidth',1)
|
||||
|
||||
plot(Cap_4U_DPC_iid_x,Cap_4U_DPC_iid_f,'b-.','Linewidth',1);
|
||||
|
||||
% AS = load('Cap_iid_N_Rx=2.mat');
|
||||
% plot(AS.Cap_4U_DPC_iid_x,AS.Cap_4U_DPC_iid_f,'c-.','Linewidth',1);
|
||||
|
||||
plot(Cap_SU_TDMA_CL_ML_x,Cap_SU_TDMA_CL_ML_f,'k-','Linewidth',2)
|
||||
|
||||
%plot(Cap_4U_ZF_x,Cap_4U_ZF_f,'b--','Linewidth',2)
|
||||
%plot(Cap_4U_MMSE_x,Cap_4U_MMSE_f,'r--','Linewidth',2)
|
||||
|
||||
%plot(Cap_2U_ZF_x,Cap_2U_ZF_f,'b--','Linewidth',2)
|
||||
%plot(Cap_2U_MMSE_x,Cap_2U_MMSE_f,'r--','Linewidth',2)
|
||||
|
||||
plot(Cap_4U_4x1_DPC_x,Cap_4U_4x1_DPC_f,'b-.','Linewidth',2);
|
||||
|
||||
% plot(Cap_4U_4x2_DPC_x,Cap_4U_4x2_DPC_f,'c-.','Linewidth',2);
|
||||
|
||||
% legend('iid SUTS 4U','iid ZF 4U','iid MMSE 4U','iid ZF 2U','iid MMSE 2U',...
|
||||
% 'measured SUTS 4U',...
|
||||
% 'measured ZF 4U','measured MMSE 4U','measured ZF 2U','measured MMSE 2U',...
|
||||
% 'Location','SouthEast')
|
||||
legend('SU-MIMO TDMA 4x1 iid',...
|
||||
'MU-MIMO DPC 4x[1,1,1,1] iid',...
|
||||
'SU-MIMO TDMA 4x1 measured',...
|
||||
'MU-MIMO DPC 4x[1,1,1,1] measured',...
|
||||
'Location','SouthEast')
|
||||
% title('Theoretical ideal models vs. measured channels, SNR = 10dB','Fontsize',14,'Fontweight','bold')
|
||||
xlabel('bits/sec/Hz','Fontsize',14,'Fontweight','bold')
|
||||
xlim([0 18])
|
||||
ylabel('CDF','Fontsize',14,'Fontweight','bold')
|
||||
if logscale
|
||||
set(gca,'yscale','log')
|
||||
ylim([1e-2 1])
|
||||
end
|
||||
grid on
|
||||
filename_cap = fullfile(filepath,sprintf('idx_%d_capacity_DPC_NRx=1.eps',idx));
|
||||
saveas(h_fig, filename_cap, 'epsc2');
|
||||
filename_cap_pdf = fullfile(filepath,sprintf('idx_%d_capacity_DPC_NRx=1.pdf',idx));
|
||||
system(sprintf('epstopdf --outfile=%s %s',filename_cap_pdf,filename_cap));
|
||||
|
||||
%% SU-MIMO TDMA vs 4U MU-MIMO ZF, 4U MU-MIMO MMSE and 4U MU-MIMO DPC (measured only)
|
||||
h_fig = figure(7);
|
||||
load('cap_iid.mat')
|
||||
hold off
|
||||
%plot(Cap_SU1x4_TDMA_CL_ML_iid_x,Cap_SU1x4_TDMA_CL_ML_iid_f,'k-','Linewidth',1)
|
||||
%hold on
|
||||
|
||||
load('Cap_iid_N_Rx=1.mat')
|
||||
%plot(Cap_4U_ZF_iid_x,Cap_4U_ZF_iid_f,'b--','Linewidth',1)
|
||||
%plot(Cap_4U_MMSE_iid_x,Cap_4U_MMSE_iid_f,'r--','Linewidth',1)
|
||||
|
||||
%plot(Cap_2U_ZF_iid_x,Cap_2U_ZF_iid_f,'b--','Linewidth',1)
|
||||
%plot(Cap_2U_MMSE_iid_x,Cap_2U_MMSE_iid_f,'r--','Linewidth',1)
|
||||
|
||||
%plot(Cap_4U_DPC_iid_x,Cap_4U_DPC_iid_f,'b-.','Linewidth',1);
|
||||
|
||||
% AS = load('Cap_iid_N_Rx=2.mat');
|
||||
% plot(AS.Cap_4U_DPC_iid_x,AS.Cap_4U_DPC_iid_f,'c-.','Linewidth',1);
|
||||
|
||||
plot(Cap_SU_TDMA_CL_ML_x,Cap_SU_TDMA_CL_ML_f,'k-','Linewidth',2)
|
||||
hold on
|
||||
|
||||
plot(Cap_4U_ZF_x,Cap_4U_ZF_f,'c--','Linewidth',2)
|
||||
plot(Cap_4U_MMSE_x,Cap_4U_MMSE_f,'r--','Linewidth',2)
|
||||
|
||||
%plot(Cap_2U_ZF_x,Cap_2U_ZF_f,'b--','Linewidth',2)
|
||||
%plot(Cap_2U_MMSE_x,Cap_2U_MMSE_f,'r--','Linewidth',2)
|
||||
|
||||
plot(Cap_4U_4x1_DPC_x,Cap_4U_4x1_DPC_f,'b-.','Linewidth',2);
|
||||
|
||||
% plot(Cap_4U_4x2_DPC_x,Cap_4U_4x2_DPC_f,'c-.','Linewidth',2);
|
||||
|
||||
% legend('iid SUTS 4U','iid ZF 4U','iid MMSE 4U','iid ZF 2U','iid MMSE 2U',...
|
||||
% 'measured SUTS 4U',...
|
||||
% 'measured ZF 4U','measured MMSE 4U','measured ZF 2U','measured MMSE 2U',...
|
||||
% 'Location','SouthEast')
|
||||
legend('SU-MIMO TDMA 4x1 measured',...
|
||||
'MU-MIMO ZF 4x[1,1,1,1] measured',...
|
||||
'MU-MIMO MMSE 4x[1,1,1,1] measured',...
|
||||
'MU-MIMO DPC 4x[1,1,1,1] measured',...
|
||||
'Location','SouthEast')
|
||||
% title('Theoretical ideal models vs. measured channels, SNR = 10dB','Fontsize',14,'Fontweight','bold')
|
||||
xlabel('bits/sec/Hz','Fontsize',14,'Fontweight','bold')
|
||||
xlim([0 18])
|
||||
ylabel('CDF','Fontsize',14,'Fontweight','bold')
|
||||
if logscale
|
||||
set(gca,'yscale','log')
|
||||
ylim([1e-2 1])
|
||||
end
|
||||
grid on
|
||||
filename_cap = fullfile(filepath,sprintf('idx_%d_capacity_ZF_MMSE_DPC_NRx=1.eps',idx));
|
||||
saveas(h_fig, filename_cap, 'epsc2');
|
||||
filename_cap_pdf = fullfile(filepath,sprintf('idx_%d_capacity_ZF_MMSE_DPC_NRx=1.pdf',idx));
|
||||
system(sprintf('epstopdf --outfile=%s %s',filename_cap_pdf,filename_cap));
|
||||
|
||||
%% SU-MIMO vs. DPC with 2 Rx antennas (meas+iid)
|
||||
h_fig = figure(8);
|
||||
|
||||
hold off
|
||||
plot(Cap_SU2x4_TDMA_CL_ML_iid_x,Cap_SU2x4_TDMA_CL_ML_iid_f,'k-','Linewidth',1)
|
||||
hold on
|
||||
|
||||
AS = load('Cap_iid_N_Rx=2.mat');
|
||||
%plot(AS.Cap_2U_BD_WF_iid_x,AS.Cap_2U_BD_WF_iid_f,'r--','Linewidth',1)
|
||||
|
||||
%plot(AS.Cap_4U_MMSE_iid_x,AS.Cap_4U_MMSE_iid_f,'r--','Linewidth',1)
|
||||
%plot(AS.Cap_2U_MMSE_iid_x,AS.Cap_2U_MMSE_iid_f,'m--','Linewidth',1)
|
||||
|
||||
plot(AS.Cap_4U_DPC_iid_x,AS.Cap_4U_DPC_iid_f,'b-.','Linewidth',1);
|
||||
|
||||
plot(Cap_SU_TDMA_CL_ML_x,Cap_SU_TDMA_CL_ML_f,'k-','Linewidth',2)
|
||||
|
||||
%plot(Cap_2U_BD_WF_x,Cap_2U_BD_WF_f,'r--','Linewidth',2)
|
||||
|
||||
%plot(Cap_4U_AS_MMSE_x,Cap_4U_AS_MMSE_f,'r--','Linewidth',2)
|
||||
%plot(Cap_2U_AS_MMSE_x,Cap_2U_AS_MMSE_f,'m--','Linewidth',2)
|
||||
|
||||
%plot(Cap_2U2_MMSE_x,Cap_2U2_MMSE_f,'r--','Linewidth',2);
|
||||
%plot(Cap_2U2_ZF_x,Cap_2U2_ZF_f,'b--','Linewidth',2);
|
||||
|
||||
plot(Cap_4U_4x2_DPC_x,Cap_4U_4x2_DPC_f,'b-.','Linewidth',2);
|
||||
|
||||
legend('SU-MIMO TDMA 4x2 iid',...
|
||||
'MU-MIMO DPC 4x[2,2,2,2] iid', ...
|
||||
'SU-MIMO TDMA 4x2 iid ',...
|
||||
'MU-MIMO DPC 4x[2,2,2,2] measured',...
|
||||
'Location','SouthEast')
|
||||
%title('MMSE vs. BD vs. DPC with maximum multiplexing gain','Fontsize',14,'Fontweight','bold')
|
||||
xlabel('bits/sec/Hz','Fontsize',14,'Fontweight','bold')
|
||||
xlim([0 18])
|
||||
ylabel('CDF','Fontsize',14,'Fontweight','bold')
|
||||
if logscale
|
||||
set(gca,'yscale','log')
|
||||
ylim([1e-2 1])
|
||||
end
|
||||
grid on
|
||||
filename_cap = fullfile(filepath,sprintf('idx_%d_capacity_DPC_NRx=2.eps',idx));
|
||||
saveas(h_fig, filename_cap, 'epsc2');
|
||||
filename_cap_pdf = fullfile(filepath,sprintf('idx_%d_capacity_DPC_NRx=2.pdf',idx));
|
||||
system(sprintf('epstopdf --outfile=%s %s',filename_cap_pdf,filename_cap));
|
||||
|
||||
%% SU-MIMO vs. MMSE and DPC with 2 Rx antennas (meas only)
|
||||
h_fig = figure(9);
|
||||
|
||||
hold off
|
||||
%plot(Cap_SU2x4_TDMA_CL_ML_iid_x,Cap_SU2x4_TDMA_CL_ML_iid_f,'k-','Linewidth',1)
|
||||
%hold on
|
||||
|
||||
%AS = load('Cap_iid_N_Rx=2.mat');
|
||||
%plot(AS.Cap_2U_BD_WF_iid_x,AS.Cap_2U_BD_WF_iid_f,'r--','Linewidth',1)
|
||||
|
||||
%plot(AS.Cap_4U_MMSE_iid_x,AS.Cap_4U_MMSE_iid_f,'r--','Linewidth',1)
|
||||
%plot(AS.Cap_2U_MMSE_iid_x,AS.Cap_2U_MMSE_iid_f,'m--','Linewidth',1)
|
||||
|
||||
%plot(AS.Cap_4U_DPC_iid_x,AS.Cap_4U_DPC_iid_f,'b-.','Linewidth',1);
|
||||
|
||||
plot(Cap_SU_TDMA_CL_ML_x,Cap_SU_TDMA_CL_ML_f,'k-','Linewidth',2)
|
||||
hold on
|
||||
|
||||
%plot(Cap_2U_BD_WF_x,Cap_2U_BD_WF_f,'r--','Linewidth',2)
|
||||
|
||||
plot(Cap_4U_AS_MMSE_x,Cap_4U_AS_MMSE_f,'r--','Linewidth',2)
|
||||
%plot(Cap_2U_AS_MMSE_x,Cap_2U_AS_MMSE_f,'m--','Linewidth',2)
|
||||
|
||||
%plot(Cap_2U2_MMSE_x,Cap_2U2_MMSE_f,'r--','Linewidth',2);
|
||||
%plot(Cap_2U2_ZF_x,Cap_2U2_ZF_f,'b--','Linewidth',2);
|
||||
|
||||
plot(Cap_4U_4x2_DPC_x,Cap_4U_4x2_DPC_f,'b-.','Linewidth',2);
|
||||
|
||||
legend('SU-MIMO TDMA 4x2 measured',...
|
||||
'MU-MIMO MMSE 4x[2,2,2,2] measured ',...
|
||||
'MU-MIMO DPC 4x[2,2,2,2] measured',...
|
||||
'Location','SouthEast')
|
||||
%title('MMSE vs. BD vs. DPC with maximum multiplexing gain','Fontsize',14,'Fontweight','bold')
|
||||
xlabel('bits/sec/Hz','Fontsize',14,'Fontweight','bold')
|
||||
xlim([0 18])
|
||||
ylabel('CDF','Fontsize',14,'Fontweight','bold')
|
||||
if logscale
|
||||
set(gca,'yscale','log')
|
||||
ylim([1e-2 1])
|
||||
end
|
||||
grid on
|
||||
filename_cap = fullfile(filepath,sprintf('idx_%d_capacity_MMSE_DPC_NRx=2.eps',idx));
|
||||
saveas(h_fig, filename_cap, 'epsc2');
|
||||
filename_cap_pdf = fullfile(filepath,sprintf('idx_%d_capacity_MMSE_DPC_NRx=2.pdf',idx));
|
||||
system(sprintf('epstopdf --outfile=%s %s',filename_cap_pdf,filename_cap));
|
||||
|
||||
Reference in New Issue
Block a user