⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 res_fair.m

📁 基于OFDM的无线宽带系统仿真It contains mainly two parts, i.e. link-level simulator and system-level simulator.
💻 M
字号:
% fairness% x: Delta T, y: fairness% for each UE, during its life time, assume the other UEs not finish their% transmission, calculate the fairness following the two equations% sort by Delta T and plotfunction [result,fileidx] = res_fair(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_mobID','save_bs_mobID','save_bs_fec','save_bs_mod');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;%%    MS_all_mobID = save_user_mobID;    BS_all_mobID = save_bs_mobID;    BS_all_rate = save_bs_fec .* double(save_bs_mod);    clear save_*    max_mobID = max((BS_all_mobID(:,end)));    Fa = zeros(1,max_mobID);    Fr = zeros(1,max_mobID);    ActiveLen = zeros(1,max_mobID);    for mobID = 1:double(max_mobID)        if mod(mobID,30) == 0,            double(mobID)/double(max_mobID)*100        end        interest_idx = find(sum((MS_all_mobID == double(mobID)),1)~=0);        BS_mobIDs = double(BS_all_mobID(:,min(interest_idx):1:max(interest_idx)));        BS_rate = BS_all_rate(:,interest_idx);        MS_mobIDs = double(MS_all_mobID(:,interest_idx));        allocated_idx = zeros(size(BS_mobIDs,1),size(BS_mobIDs,2),para.UE);        allocated_rate = zeros(size(BS_mobIDs,1),size(BS_mobIDs,2),para.UE);        possible_users = cell(1,UE);        for act_UE = 1:UE            [tmp1, tmp2] = hist(MS_mobIDs(act_UE,:),[min(MS_mobIDs(act_UE,:)):1:max(MS_mobIDs(act_UE,:))]);            possible_users{act_UE} = tmp2((tmp1~=0));            for act_mob = possible_users{act_UE}                allocated_idx(:,:,act_UE) = ...                allocated_idx(:,:,act_UE) + (BS_mobIDs == double(act_mob));            end            allocated_rate(:,:,act_UE) = BS_rate.*allocated_idx(:,:,act_UE);        end        Am = squeeze(sum(sum(allocated_idx,1),2));        Rm = squeeze(sum(sum(allocated_rate,1),2));        if sum(sum(Am))~=0            Fa(mobID) = sum(Am)^2/(size(MS_mobIDs,1)*sum(Am.^2));            Fr(mobID) = sum(Rm)^2/(size(MS_mobIDs,1)*sum(Rm.^2));            Fa(mobID);            Fr(mobID);            ActiveLen(mobID) = length(interest_idx);            ActiveLen(mobID);        else            Fa(mobID) = NaN;            Fr(mobID) = NaN;            ActiveLen(mobID) = NaN;        end        Fa(isnan(Fa)) = [];        Fr(isnan(Fr)) = [];        ActiveLen(isnan(ActiveLen)) = [];    endresult.Fa{fileidx} = Fa;result.Fr{fileidx} = Fr;result.ActiveLen{fileidx} = ActiveLen;[activeLen_sort,idx] = sort(ActiveLen);Fa_sort = Fa(idx);Fr_sort = Fr(idx);fig_ix = 0;fig_ix = fig_ix + 1;cfigure(fig_ix);plot(5e-4 * average2(activeLen_sort,av_factor),average2(Fa_sort,av_factor),'color',colors{fileidx},'linestyle',lst{fileidx},'linewidth',2);hold on;result.figname{fig_ix}='fairness_alloc';xlabel('\Delta T in Second','FontSize',14,'fontname','times','FontWeight','b');ylabel('Allocation Fairness','FontSize',14,'fontname','times','FontWeight','b');result.LGDFa{fileidx} = [para.RA,',UE',num2str(para.UE),',F',num2str(Comm_conf.F_LA),'P',num2str(Comm_conf.F_PA),',',MIMO,',M:',sprintf('%3.2f',mean(Fa_sort))];fig_ix = fig_ix + 1;cfigure(fig_ix);plot(5e-4 * average2(activeLen_sort,av_factor),average2(Fr_sort,av_factor),'color',colors{fileidx},'linestyle',lst{fileidx},'linewidth',2);hold on;result.figname{fig_ix}='fairness_rate';xlabel('\Delta T in Second','FontSize',14,'fontname','times','FontWeight','b');ylabel('Datarate Fairness','FontSize',14,'fontname','times','FontWeight','b');result.LGDFr{fileidx} = [para.RA,',UE',num2str(para.UE),',F',num2str(Comm_conf.F_LA),'P',num2str(Comm_conf.F_PA),',',MIMO,',M:',sprintf('%3.2f',mean(Fr_sort))];

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -