% Raw data results %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Default parameters rss_labels = ['-50 dBm', '-70 dBm', '-90 dBm','-110 dBm']; rss_labels_no_dbm = {'-50' '-70' '-90' '-110'}; %%%%%%%%%%%%%%% %% Pings %%%%%%%%%%%%%%% % -50 dBm ping_50_dch_time = 4623; ping_50_fach_time = 7054; ping_50_avg_1 = power_1_dch_50; ping_50_avg_2 = power_2_dch_50; ping_50_avg_3 = power_3_dch_50; ping_50_avg_4 = power_4_dch_50; ping_50_avg_5 = power_5_dch_50; ping_50_mean = (ping_50_avg_1 + ping_50_avg_2 + ping_50_avg_3 + ping_50_avg_4 + ping_50_avg_5) / 5; ping_50_y = [ping_50_avg_1; ping_50_avg_2; ping_50_avg_3; ping_50_avg_4; ping_50_avg_5]; %%%%%%%%%%%%%%% % -70 dBm ping_70_dch_time = 5024; ping_70_fach_time = 5.997200000000000e+03; ping_70_avg_1 = power_1_dch_70; ping_70_avg_2 = power_2_dch_70; ping_70_avg_3 = power_3_dch_70; ping_70_avg_4 = power_4_dch_70; ping_70_avg_5 = power_5_dch_70; ping_70_y = [ping_70_avg_1; ping_70_avg_2; ping_70_avg_3; ping_70_avg_4; ping_70_avg_5]; ping_70_mean = mean(ping_70_y); %%%%%%%%%%%%%%% % -90 dBm ping_90_dch_time = 4.845200000000000e+03; ping_90_fach_time = 6.683400000000000e+03; ping_90_avg_1 = power_1_dch_90; ping_90_avg_2 = power_2_dch_90; ping_90_avg_3 = power_3_dch_90; ping_90_avg_4 = power_4_dch_90; ping_90_avg_5 = power_5_dch_90; ping_90_y = [ping_90_avg_1; ping_90_avg_2; ping_90_avg_3; ping_90_avg_4; ping_90_avg_5]; ping_90_mean = mean(ping_90_y); %%%%%%%%%%%%%%% % -110 dBm ping_110_dch_time = 4704; ping_110_fach_time = 5994; ping_110_avg_1 = power_1_dch_110; ping_110_avg_2 = power_2_dch_110; ping_110_avg_3 = power_3_dch_110; ping_110_avg_4 = power_4_dch_110; ping_110_avg_5 = power_5_dch_110; ping_110_y = [ping_110_avg_1; ping_110_avg_2; ping_110_avg_3; ping_110_avg_4; ping_110_avg_5]; ping_110_mean = mean(ping_110_y); %%%%%%%%%%%%%%% % Averages avg50_ping = mean(ping_50_y); avg70_ping = mean(ping_70_y); avg90_ping = mean(ping_90_y); avg110_ping = mean(ping_110_y); %%%%%%%%%%%%%%% % Plots for pings figure(1); boxplot([ping_50_y, ping_70_y, ping_90_y, ping_110_y],'notch','off','labels',{'-50','-70','-90','-110'}); xlabel('RSSI [dBm]'); %%%%%%%%%% figure(6); cdfplot(ping_50_y); hold on cdfplot(ping_110_y); legend('-50 dBm','-110 dBm','Location','NW') xlabel(''); ylabel(''); hold off %%%%%%%%%%% fig_mean = figure('Pos',[440 500 461 146]); % Create the column and row names in cell arrays rnames = {'Mean [W]'}; cnames = {'-50 dBm','-70 dBm','-90 dBm', '-110 dBm'}; % mean_data = []; mean_data(1,1) = 1.13;% round(ping_50_mean,2); mean_data(1,2) = 1.14;%round(ping_70_mean,2); mean_data(1,3) = 1.16;%round(ping_90_mean,2); mean_data(1,4) = 1.22;%round(ping_110_mean,2); % Create the uitable t = uitable(fig_mean,'Data',mean_data,... 'ColumnName',cnames,... 'RowName',rnames); % Set width and height t.Position(3) = t.Extent(3); t.Position(4) = t.Extent(4); % percentage increase ping_70_90 = ((round(ping_90_mean,2)/round(ping_70_mean,2)) - 1 )* 100; ping_90_110 = ((round(ping_110_mean,2)/round(ping_90_mean,2)) - 1 ) * 100 ; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Datarate %%%%%%%%%%%%%%% % -50 dBm rate50_down_unlimited_power = mean(pr50(rate50_dch_start_1:rate50_dch_end_1-tail)); rate50_up_unlimited_power = mean(pr50(rate50_dch_start_2:rate50_dch_end_2-tail)); rate50_down_1mbps_power = mean(pr50(rate50_dch_start_3:rate50_dch_end_3-tail)); rate50_down_100kbps_power = mean(pr50(rate50_dch_start_4:rate50_dch_end_4-tail)); rate50_down_unlimited_power_readings = pr50(rate50_dch_start_1:rate50_dch_end_1-tail); rate50_down_1mbps_power_readings = pr50(rate50_dch_start_3:rate50_dch_end_3-tail); rate50_down_100kbps_power_readings = pr50(rate50_dch_start_4:rate50_dch_end_4-tail); rate50_up_unlimited_power_readings = pr50(rate50_dch_start_2:rate50_dch_end_2-tail); %%%%%%%%%%%%%%% % -70 dBm rate70_down_unlimited_power = mean(pr70(rate70_dch_start_1:rate70_dch_end_1-tail)); rate70_up_unlimited_power = mean(pr70(rate70_dch_start_2:rate70_dch_end_2-tail)); rate70_down_1mbps_power = mean(pr70(rate70_dch_start_3:rate70_dch_end_3-tail)); rate70_down_100kbps_power = mean(pr70(rate70_dch_start_4:rate70_dch_end_4-tail)); rate70_down_unlimited_power_readings = pr70(rate70_dch_start_1:rate70_dch_end_1-tail); rate70_down_1mbps_power_readings = pr70(rate70_dch_start_3:rate70_dch_end_3-tail); rate70_down_100kbps_power_readings = pr70(rate70_dch_start_4:rate70_dch_end_4-tail); rate70_up_unlimited_power_readings = pr70(rate70_dch_start_2:rate70_dch_end_2-tail); %%%%%%%%%%%%%%% % -90 dBm rate90_down_unlimited_power = mean(pr90(rate90_dch_start_1:rate90_dch_end_1-tail)); rate90_up_unlimited_power = mean(pr90(rate90_dch_start_2:rate90_dch_end_2-tail)); rate90_down_1mbps_power = mean(pr90(rate90_dch_start_3:rate90_dch_end_3-tail)); rate90_down_100kbps_power = mean(pr90(rate90_dch_start_4:rate90_dch_end_4-tail)); rate90_down_unlimited_power_readings = pr90(rate90_dch_start_1:rate90_dch_end_1-tail); rate90_down_1mbps_power_readings = pr90(rate90_dch_start_3:rate90_dch_end_3-tail); rate90_down_100kbps_power_readings = pr90(rate90_dch_start_4:rate90_dch_end_4-tail); rate90_up_unlimited_power_readings = pr90(rate90_dch_start_2:rate90_dch_end_2-tail); %%%%%%%%%%%%%%% % -110 dBm rate110_down_unlimited_power = mean(pr110(rate110_dch_start_1:rate110_dch_end_1-tail)); rate110_up_unlimited_power = mean(pr110(rate110_dch_start_2:rate110_dch_end_2-tail)); rate110_down_1mbps_power = mean(pr110(rate110_dch_start_3:rate110_dch_end_3-tail)); rate110_down_100kbps_power = mean(pr110(rate110_dch_start_4:rate110_dch_end_4-tail)); rate110_down_unlimited_power_readings = pr110(rate110_dch_start_1:rate110_dch_end_1-tail); rate110_down_1mbps_power_readings = pr110(rate110_dch_start_3:rate110_dch_end_3-tail); rate110_down_100kbps_power_readings = pr110(rate110_dch_start_4:rate110_dch_end_4-tail); rate110_up_unlimited_power_readings = pr110(rate110_dch_start_2:rate110_dch_end_2-tail); %%%%%%%%%%%%%%% % Energy model %%%%%%%%%%%%%%% dch_50_base = mean_power_50_dch; dch_70_base = mean_power_70_dch; dch_90_base = mean_power_90_dch; dch_110_base = mean_power_110_dch; fach_50_base = mean_power_50_fach; fach_70_base = mean_power_70_fach; fach_90_base = mean_power_90_fach; fach_110_base = mean_power_110_fach; %%%%%%%%%%%%%%%%%% % Plots for datarates %%%%%%%%%%%%%%%%%% % combined per RSS rate50_combined_power = [rate50_up_unlimited_power;rate50_down_unlimited_power;rate50_down_1mbps_power;rate50_down_100kbps_power;mean_power_50_dch]; rate70_combined_power = [rate70_up_unlimited_power;rate70_down_unlimited_power;rate70_down_1mbps_power;rate70_down_100kbps_power;mean_power_70_dch]; rate90_combined_power = [rate90_up_unlimited_power;rate90_down_unlimited_power;rate90_down_1mbps_power;rate90_down_100kbps_power;mean_power_90_dch]; rate110_combined_power = [rate110_up_unlimited_power;rate110_down_unlimited_power;rate110_down_1mbps_power;rate110_down_100kbps_power;mean_power_110_dch]; combined_power_rss = [rate50_combined_power, rate70_combined_power, rate90_combined_power, rate110_combined_power]; combined_power_names = [-50 ,-70 ,-90,-110;-50 ,-70 ,-90,-110;-50 ,-70 ,-90,-110;-50 ,-70 ,-90,-110;-50 ,-70 ,-90,-110]; combined_power_rss_mean = [mean(rate50_combined_power), mean(rate70_combined_power), mean(rate90_combined_power), mean(rate110_combined_power)]; combined_names = [-50,-70,-90,-110]; figure(13); boxplot(combined_power_rss,'notch','off','labels',{'-50','-70','-90','-110'}); xlabel('RSSI [dBm]'); ylabel('Power [W]'); figure(89); %plot(combined_power_names,combined_power_rss); %xlabel('RSSI [dBm]'); %ylabel('Power [W]'); hold on; poly_p = polyfit(combined_power_names,combined_power_rss,3); poly_pp = polyval(poly_p, combined_names); plot(poly_pp) legend('3rd degree','Location','NorthWest'); hold off; %%%%%%%%%%%%%%%%%% % with unlimited rate50_down_power = [rate50_down_unlimited_power,rate50_down_1mbps_power,rate50_down_100kbps_power]; rate70_down_power = [rate70_down_unlimited_power,rate70_down_1mbps_power,rate70_down_100kbps_power]; rate90_down_power = [rate90_down_unlimited_power,rate90_down_1mbps_power,rate90_down_100kbps_power]; rate110_down_power = [rate110_down_unlimited_power,rate110_down_1mbps_power,rate110_down_100kbps_power]; to_mbps = 8*10^-6; rate50_down_speeds = [rate50_down_unlimited*to_mbps,rate50_down_1Mbps*to_mbps,rate50_down_100kbps*to_mbps]; rate70_down_speeds = [rate70_down_unlimited*to_mbps,rate70_down_1Mbps*to_mbps,rate70_down_100kbps*to_mbps]; rate90_down_speeds = [rate90_down_unlimited*to_mbps,rate90_down_1Mbps*to_mbps,rate90_down_100kbps*to_mbps]; rate110_down_speeds = [rate110_down_unlimited*to_mbps,rate110_down_1Mbps*to_mbps,rate110_down_100kbps*to_mbps]; figure(19); plot(rate110_down_speeds,rate110_down_power,'bs--'); hold on; plot(rate90_down_speeds,rate90_down_power,'r*--'); plot(rate70_down_speeds,rate70_down_power,'ko--'); plot(rate50_down_speeds,rate50_down_power,'mx--'); %rate110_down_unlimited_power_readings %rate110_down_1mbps_power_readings %rate110_down_100kbps_power_readings errorbar(rate110_down_speeds(1),mean(rate110_down_unlimited_power_readings),std(rate110_down_unlimited_power_readings),'bs'); errorbar(rate110_down_speeds(2),mean(rate110_down_1mbps_power_readings),std(rate110_down_1mbps_power_readings),'bs'); errorbar(rate110_down_speeds(3),mean(rate110_down_100kbps_power_readings),std(rate110_down_100kbps_power_readings),'bs'); errorbar(rate90_down_speeds(1),mean(rate90_down_unlimited_power_readings),std(rate90_down_unlimited_power_readings),'r*'); errorbar(rate90_down_speeds(2),mean(rate90_down_1mbps_power_readings),std(rate90_down_1mbps_power_readings),'r*'); errorbar(rate90_down_speeds(3),mean(rate90_down_100kbps_power_readings),std(rate90_down_100kbps_power_readings),'r*'); errorbar(rate70_down_speeds(1),mean(rate70_down_unlimited_power_readings),std(rate70_down_unlimited_power_readings),'ko'); errorbar(rate70_down_speeds(2),mean(rate70_down_1mbps_power_readings),std(rate70_down_1mbps_power_readings),'ko'); errorbar(rate70_down_speeds(3),mean(rate70_down_100kbps_power_readings),std(rate70_down_100kbps_power_readings),'ko'); errorbar(rate50_down_speeds(1),mean(rate50_down_unlimited_power_readings),std(rate50_down_unlimited_power_readings),'mx'); errorbar(rate50_down_speeds(2),mean(rate50_down_1mbps_power_readings),std(rate50_down_1mbps_power_readings),'mx'); errorbar(rate50_down_speeds(3),mean(rate50_down_100kbps_power_readings),std(rate50_down_100kbps_power_readings),'mx'); hold off; legend('-110 dBm', '-90 dBm', '-70 dBm','-50 dBm'); xlabel('Data rate [Mbps]'); ylabel('Power [W]'); %%%%%%%%%%%% % std for power and data rate std_power_rate= [... std(rate50_down_power) ... std(rate70_down_power) ... std(rate90_down_power) ... std(rate110_down_power)]; std_rate_speed = [... std(rate50_down_speeds)... std(rate70_down_speeds)... std(rate90_down_speeds)... std(rate110_down_speeds)]; mean_rate_speed = [... mean(rate50_down_speeds)... mean(rate70_down_speeds)... mean(rate90_down_speeds)... mean(rate110_down_speeds)]; power_rate = [... rate50_down_power ... rate70_down_power ... rate90_down_power ... rate110_down_power]; mean_power_rate = [... mean(rate50_down_power) ... mean(rate70_down_power) ... mean(rate90_down_power) ... mean(rate110_down_power)]; rate_speed = [... rate50_down_speeds... rate70_down_speeds... rate90_down_speeds... rate110_down_speeds]; figure(20); %errorbarxy(rate_speed,power_rate,std_rate_speed,std_power_rate); plot(... std(rate110_down_speeds),std(rate110_down_power),'s--',... std(rate90_down_speeds),std(rate90_down_power),'*--',... std(rate70_down_speeds),std(rate70_down_power),'o--',... std(rate50_down_speeds),std(rate50_down_power),'x--'); legend('-110 dBm', '-90 dBm', '-70 dBm','-50 dBm','location','North'); xlabel('Data rate [Mbps]'); ylabel('Power [W]'); %%%%%%%%%%%%%%%%%% % without unlimited rate50_down_power = [rate50_down_1mbps_power,rate50_down_100kbps_power]; rate70_down_power = [rate70_down_1mbps_power,rate70_down_100kbps_power]; rate90_down_power = [rate90_down_1mbps_power,rate90_down_100kbps_power]; rate110_down_power = [rate110_down_1mbps_power,rate110_down_100kbps_power]; minimum_diff_100kbps = rate110_down_100kbps_power - rate90_down_100kbps_power; minimum_diff_1Mbps = rate110_down_1mbps_power - rate90_down_1mbps_power; rate50_down_speeds = [rate50_down_1Mbps,rate50_down_100kbps]; rate70_down_speeds = [rate70_down_1Mbps,rate70_down_100kbps]; rate90_down_speeds = [rate90_down_1Mbps,rate90_down_100kbps]; rate110_down_speeds = [rate110_down_1Mbps,rate110_down_100kbps]; figure(38); plot(rate110_down_speeds,rate110_down_power,rate90_down_speeds,rate90_down_power,rate70_down_speeds,rate70_down_power,rate50_down_speeds,rate50_down_power); legend('-110 dBm', '-90 dBm', '-70 dBm','-50 dBm'); xlabel('Data rate [Bps]'); ylabel('Power [W]'); %%%%%%%%%%%%%%%%%% %upload unlimited rate_up_power = [rate50_up_unlimited_power,rate70_up_unlimited_power,rate90_up_unlimited_power,rate110_up_unlimited_power]; rate_up_speed = [rate50_up_unlimited,rate70_up_unlimited,rate90_up_unlimited,rate110_up_unlimited]; minimum_diff_up_unlimited = rate110_up_unlimited_power - rate90_up_unlimited_power; rate_up_x_func = -50:-20:-110; figure(4); ax_rate_bar_up = subplot(1,1,1); bar(ax_rate_bar_up,rate_up_power); set(gca,'xticklabel',rss_labels_no_dbm) xlabel('RSS [dBm]'); ylabel('Power [W]'); %ax_rate_bar_up = subplot(1,2,2); %bar(ax_rate_bar_up,rate_up_speed); %set(gca,'xticklabel',rss_labels_no_dbm) %xlabel('RSS [dBm]'); %ylabel('Data rate [Bps]'); %%%%%%%%%%%%%%%%%% % Download unlimited rate_down_power = [rate50_down_unlimited_power,rate70_down_unlimited_power,rate90_down_unlimited_power,rate110_down_unlimited_power]; rate_down_speed = [rate50_down_unlimited,rate70_down_unlimited,rate90_down_unlimited,rate110_down_unlimited]; minimum_diff_down_unlimited = rate110_down_unlimited_power - rate90_down_unlimited_power; increase_rate_90_110 = (((round(rate110_down_unlimited_power,2)/round(rate90_down_unlimited_power,2)))-1) * 100; diff_down_up_unlimited = (((round(rate110_up_unlimited_power,2)/round(rate110_down_unlimited_power,2)))-1) * 100; rate_down_x_func = -50:-20:-110; figure(5); ax_rate_bar = subplot(1,1,1); bar(ax_rate_bar,rate_down_power); set(gca,'xticklabel',rss_labels_no_dbm) xlabel('RSS [dBm]'); ylabel('Power [W]'); %%%%%%%%%%%%%%%%%%%% % Both unlimted and std rate_unlimited =[... rate_down_power(1) rate_up_power(1); ... rate_down_power(2) rate_up_power(2) ; ... rate_down_power(3) rate_up_power(3) ; ... rate_down_power(4) rate_up_power(4) ;]; rate_std_un = [... std(rate_down_power(1), rate_up_power(1)) ... std(rate_down_power(2), rate_up_power(2)) ... std(rate_down_power(3), rate_up_power(3)) ... std(rate_down_power(4), rate_up_power(4))]; figure(77); ax_unlimited_bar = subplot(1,1,1); bar(ax_unlimited_bar,rate_unlimited); set(gca,'xticklabel',rss_labels_no_dbm) hold on; errorbar(0.85,mean(rate50_down_unlimited_power_readings), std(rate50_down_unlimited_power_readings)); errorbar(1.15,mean(rate50_up_unlimited_power_readings), std(rate50_up_unlimited_power_readings)); errorbar(1.85,mean(rate70_down_unlimited_power_readings), std(rate70_down_unlimited_power_readings)); errorbar(2.15,mean(rate70_up_unlimited_power_readings), std(rate70_up_unlimited_power_readings)); errorbar(2.85,mean(rate90_down_unlimited_power_readings), std(rate90_down_unlimited_power_readings)); errorbar(3.15,mean(rate90_up_unlimited_power_readings), std(rate90_up_unlimited_power_readings)); errorbar(3.85,mean(rate110_down_unlimited_power_readings), std(rate110_down_unlimited_power_readings)); errorbar(4.15,mean(rate110_up_unlimited_power_readings), std(rate110_up_unlimited_power_readings)); hold off; xlabel('RSS [dBm]'); ylabel('Average Power [W]'); legend('Download', 'Upload', 'Location', 'Northwest'); figure(78); ax_unlimited_bar2 = subplot(1,1,1); bar(ax_unlimited_bar2,rate_std_un); set(gca,'xticklabel',rss_labels_no_dbm) xlabel('RSS [dBm]'); ylabel('STD');