Pre-ci test passed git-svn-id: http://svn.eurecom.fr/openair4G/trunk@4000 818b1a75-f10b-46b9-bf7c-635c3b92a50f
150 lines
5.8 KiB
Matlab
150 lines
5.8 KiB
Matlab
% file: eval_nomadic_points.m
|
|
% author: florian.kaltenberger@eurecom.fr
|
|
% purpose: plots the nomadic results from the UE for several directories
|
|
|
|
% in the following two lines set the root path and select the subfolders
|
|
% you want to plot
|
|
% root_path = '~/EMOS/data/';
|
|
% d = dir(fullfile(root_path, '*mode1_parcours1'));
|
|
% dir_names = {d.name};
|
|
|
|
%%
|
|
% decimation = 100;
|
|
%
|
|
% results_UE = [];
|
|
% results_UE_nomadic = [];
|
|
%
|
|
% for i=1:length(dir_names)
|
|
% if exist(fullfile(root_path,dir_names{i},'results_UE_new.mat'),'file')
|
|
% nomadic = load(fullfile(root_path,dir_names{i},'results_UE_new.mat'));
|
|
% results_UE_nomadic = cat(2,results_UE_nomadic,nomadic.minestimates);
|
|
% end
|
|
% end
|
|
|
|
%pathname='/emos/EMOS/Nomadic/20100611_NOMADIC_ALL_MODES/';
|
|
%pathname='/emos/EMOS/Nomadic/20100527_nomadic_all_modes/';
|
|
load(fullfile(pathname,'results_UE_new.mat'));
|
|
results_UE_nomadic=minestimates;
|
|
load(fullfile(pathname,'results_eNB_new.mat'));
|
|
results_eNB_nomadic=minestimates;
|
|
|
|
%%
|
|
h_fig = figure(1);
|
|
hold off
|
|
%plot_gps_coordinates(mm,[results_UE.gps_lon_cat], [results_UE.gps_lat_cat], double([results_UE.UE_mode_cat]));
|
|
%hold on
|
|
for i=1:length(results_UE_nomadic)
|
|
if i==1
|
|
mmi = mm;
|
|
else
|
|
mmi = '';
|
|
end
|
|
plot_gps_coordinates(mmi,[results_UE_nomadic(i).gps_data.longitude], [results_UE_nomadic(i).gps_data.latitude], ...
|
|
double(results_UE_nomadic(i).UE_mode_cat),[0 3], sprintf('N%d',i),'black','Marker','.','Markersize',20);
|
|
end
|
|
saveas(h_fig,fullfile(pathname,'UE_mode_nomadic.jpg'),'jpg');
|
|
|
|
%%
|
|
h_fig = figure(2);
|
|
hold off
|
|
%rx_rssi_dBm_cat = cat(1,results_UE.rx_rssi_dBm_cat);
|
|
%plot_gps_coordinates(mm,[results_UE.gps_lon_cat], [results_UE.gps_lat_cat], double(rx_rssi_dBm_cat(:,1)));
|
|
%hold on
|
|
for i=1:length(results_UE_nomadic)
|
|
if i==1
|
|
mmi = mm;
|
|
else
|
|
mmi = '';
|
|
end
|
|
plot_gps_coordinates(mmi,[results_UE_nomadic(i).gps_data.longitude], [results_UE_nomadic(i).gps_data.latitude], ...
|
|
double(results_UE_nomadic(i).rx_rssi_dBm(:,1)),[-110 -30], sprintf('N%d',i),'black','Marker','.','Markersize',20);
|
|
end
|
|
saveas(h_fig,fullfile(pathname,'RX_RSSI_nomadic.jpg'),'jpg');
|
|
|
|
%%
|
|
fid = fopen(fullfile(pathname,'nomadic_results.csv'),'w');
|
|
for i=1:length(results_UE_nomadic)
|
|
rx_rssi_dBm_mean(i) = mean(results_UE_nomadic(i).rx_rssi_dBm(:,1));
|
|
|
|
ul_rssi_all_sectors = zeros(size(results_eNB_nomadic(i).phy_measurements));
|
|
for j=1:length(results_eNB_nomadic(i).phy_measurements)
|
|
ul_rssi_all_sectors(j,:) = double([results_eNB_nomadic(i).phy_measurements(j,:).rx_rssi_dBm]);
|
|
end
|
|
ul_rssi_dBm = zeros(length(results_eNB_nomadic(i).eNb_UE_stats),1);
|
|
sector = [results_eNB_nomadic(i).eNb_UE_stats.sector];
|
|
for j=1:length(results_eNB_nomadic(i).eNb_UE_stats)
|
|
ul_rssi_dBm(j) = ul_rssi_all_sectors(j,sector(j)+1);
|
|
end
|
|
ul_rssi_dBm_mean(i) = mean(ul_rssi_dBm);
|
|
|
|
|
|
UE_synched = (results_UE_nomadic(i).UE_mode_cat>0);
|
|
UE_connected = (results_UE_nomadic(i).UE_mode_cat==3);
|
|
UE_mimo_mode = (results_UE_nomadic(i).mimo_mode);
|
|
|
|
eNB_synched = ([results_eNB_nomadic(i).eNb_UE_stats.UE_mode]>0);
|
|
eNB_connected = ([results_eNB_nomadic(i).eNb_UE_stats.UE_mode]==3);
|
|
eNB_mimo_mode = (results_eNB_nomadic(i).mimo_mode);
|
|
|
|
good = (results_UE_nomadic(i).dlsch_fer<=100 & results_UE_nomadic(i).dlsch_fer>=0).';
|
|
dlsch_throughput = double(100-results_UE_nomadic(i).dlsch_fer) .* double(results_UE_nomadic(i).tbs_cat) .* 6;
|
|
|
|
results_eNB_nomadic(i).ulsch_fer = [100 diff([results_eNB_nomadic(i).ulsch_errors])];
|
|
ulsch_throughput = double([results_eNB_nomadic(i).tbs_cat]) .* double(100 - results_eNB_nomadic(i).ulsch_fer) .* 3;
|
|
|
|
lat = [results_UE_nomadic(i).gps_data.latitude];
|
|
lon = [results_UE_nomadic(i).gps_data.longitude];
|
|
if (i==1)
|
|
fprintf(fid,'index; DL name; UL name; DL RSSI; UL RSSI; Mode1 TP; Mode2 TP; Mode6 TP; UL TP; Mode1 points; Mode2 points; Mode6 points; UL points; Lat; Lon\n');
|
|
end
|
|
fprintf(fid,'%d; %s; %s; %f; %f; %f; %f; %f; %f; %d; %d; %d; %d; %f; %f\n',i, ...
|
|
results_UE_nomadic(i).filename, results_eNB_nomadic(i).filename, ...
|
|
rx_rssi_dBm_mean(i), ul_rssi_dBm_mean(i), ...
|
|
mean(dlsch_throughput(UE_connected & good & UE_mimo_mode==1)), ...
|
|
mean(dlsch_throughput(UE_connected & good & UE_mimo_mode==2)), ...
|
|
mean(dlsch_throughput(UE_connected & good & UE_mimo_mode==6)), ...
|
|
mean(ulsch_throughput(eNB_connected)), ...
|
|
sum(UE_connected & good & UE_mimo_mode==1), ...
|
|
sum(UE_connected & good & UE_mimo_mode==2), ...
|
|
sum(UE_connected & good & UE_mimo_mode==6), ...
|
|
sum(eNB_connected), ...
|
|
mean(lat(lat~=0)),mean(lon(lon~=0)));
|
|
end
|
|
fclose(fid);
|
|
|
|
|
|
%%
|
|
figure(3)
|
|
hold off
|
|
%plot([results_UE.gps_time_cat],[results_UE.UE_mode_cat],'x')
|
|
%hold on
|
|
gps_data_cat = [results_UE_nomadic.gps_data];
|
|
plot([gps_data_cat.timestamp],[results_UE_nomadic.UE_mode_cat],'rx');
|
|
|
|
%%
|
|
figure(4)
|
|
hold off
|
|
%plot([results_UE.gps_time_cat],rx_rssi_dBm_cat(:,1),'x');
|
|
%hold on
|
|
rx_rssi_dBm_cat_nomadic = cat(1,results_UE_nomadic.rx_rssi_dBm);
|
|
plot([gps_data_cat.timestamp],rx_rssi_dBm_cat_nomadic(:,1),'rx');
|
|
|
|
%%
|
|
figure(5)
|
|
hold off
|
|
% UE_connected = ([results_UE.UE_mode_cat]==3);
|
|
% dlsch_fer_cat = cat(1,results_UE.dlsch_fer_cat).';
|
|
% tbs_cat = cat(1,results_UE.tbs_cat).';
|
|
% good = (dlsch_fer_cat<=100 & dlsch_fer_cat>=0);
|
|
% timebase = [results_UE.gps_time_cat];
|
|
% plot(timebase(UE_connected & good),(100-dlsch_fer_cat(UE_connected & good)).*tbs_cat(UE_connected & good)*7*4/3,'x');
|
|
% hold on
|
|
UE_connected = ([results_UE_nomadic.UE_mode_cat]==3);
|
|
dlsch_fer_cat = cat(1,results_UE_nomadic.dlsch_fer).';
|
|
tbs_cat = cat(1,results_UE_nomadic.tbs_cat).';
|
|
good = (dlsch_fer_cat<=100 & dlsch_fer_cat>=0);
|
|
gps_data = [results_UE_nomadic.gps_data];
|
|
timebase = [gps_data.timestamp];
|
|
plot(timebase(UE_connected & good),(100-dlsch_fer_cat(UE_connected & good)).*tbs_cat(UE_connected & good)*6,'rx');
|
|
|