📄 res_tp_vs_sinr.m
字号:
% UE throughput vs UE SINR and Distance.% figure 1: x: SINR y: TP% figure 2: x: Distance y: TP% SINR is averaged during each UE's alive time across both time and% frequency domain% Distance and TP is averaged during UE's alive timefunction [result,fileidx] = res_tp_vs_sinr(test_resource_allocation_idx,UE,MIMO,loaddir,result,fileidx,av_factor,Comm_conf)filename = ['RA',num2str(test_resource_allocation_idx),'_UE',num2str(UE),'_FLA',num2str(Comm_conf.F_LA),'_FPA',num2str(Comm_conf.F_PA),MIMO,'_trms',num2str(Comm_conf.t_rms),'f',num2str(Comm_conf.fd),'_s',num2str(Comm_conf.state),'N',num2str(Comm_conf.N),'subN',num2str(Comm_conf.subN),'_E',num2str(Comm_conf.flg_csi_err),'c',num2str(Comm_conf.flg_offset),'D',num2str(Comm_conf.DELAY),'BO',num2str(Comm_conf.BO_dB),'HPA',num2str(Comm_conf.use_HPA_flg),'_BLER',num2str(Comm_conf.targetFER),'.mat'];load([loaddir,'/',filename],'save_user_distance','save_user_sinr','save_user_mobID','save_bs_mobID','save_bs_mod','save_bs_fec','save_bs_FrminErr');bs_data = double(save_bs_mod) .* save_bs_fec .* ~(save_bs_FrminErr) * 6 * 12;bs_mobID = reshape(save_bs_mobID,[],1);bs_data = reshape(bs_data,[],1);for lp_mob = 1:max(save_bs_mobID(:,end)) if(mod(lp_mob,5) == 0), double(lp_mob) / double(max(save_bs_mobID(:,end))) * 100 end data(lp_mob) = sum(bs_data(bs_mobID == lp_mob)); tmp1 = save_user_mobID == lp_mob; idx1 = find(sum(tmp1,1) == 1); idx2 = find(sum(tmp1,2) ~= 0); lens(lp_mob) = length(idx1); sinr(lp_mob) = 10*log10(mean(mean(10.^(double(save_user_sinr(idx2,idx1,:))/10),3),2)); dist(lp_mob) = (mean(mean((double(save_user_distance(idx2,idx1,:))),3),2));endthpt = 1e-6 * data ./ lens / 5e-4;[sinr_sort,idx] = sort(sinr);thpt_sort = thpt(idx);[dist_sort,idx] = sort(dist);thpt_dist = thpt(idx);colors = {[0.5 0.5 0.5],[0 0 0],[0 0.5 1],[0 0 1],[1 0 0.5],[1 0 0]};lst = {'-','-.','-','-.','-','-.'};RAs = {'RR','PF','MX','PF2'};para.RA = RAs{test_resource_allocation_idx};UEs = [4 10];para.UE = UE;para.ra_ix = test_resource_allocation_idx;if Comm_conf.F_LA == 2 && Comm_conf.F_PA == 2, para.ra_ix = 4;endif MIMO == 2, para.ra_ix = 5;endpara.ue_ix = find(UEs == para.UE);para.nuSymbol = 6;para.subN = Comm_conf.subN;para.Tfrm = 5e-4;fileidx = fileidx + 1;%%result.ra_idx(fileidx) = test_resource_allocation_idx;result.LGD{fileidx} = [para.RA,',UE',num2str(para.UE),',F',num2str(Comm_conf.F_LA),'P',num2str(Comm_conf.F_PA),',',MIMO];%%cfigure(1);plot(average3(sinr_sort,av_factor),average2(thpt_sort,av_factor),'color',colors{fileidx},'linestyle',lst{fileidx},'linewidth',2);hold on;result.figname{1}=['ue_thpt','_vs_sinr'];xlabel('Averaged SINR at UE in dB','FontSize',14,'fontname','times','FontWeight','b');ylabel('Averaged UE Throughput in Mbps','FontSize',14,'fontname','times','FontWeight','b');xlim([0 37]);cfigure(2);plot(average2(dist_sort,av_factor),average2(thpt_dist,av_factor),'color',colors{fileidx},'linestyle',lst{fileidx},'linewidth',2);hold on;result.figname{2}=['ue_thpt','_vs_dist'];xlabel('Averaged UE Distance in Meter','FontSize',14,'fontname','times','FontWeight','b');ylabel('Averaged UE Throughput in Mbps','FontSize',14,'fontname','times','FontWeight','b');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -