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

📄 evalution_jain_24.m

📁 TDM系统中的最优折中曲线搜索及调度算法性能评估
💻 M
字号:
% =========================================================================% Copyright (c)2006, 东南大学移动通信国家重点实验室% All rights reserved.%% 文件名称:evalution_Jain_24.m% function描述:调度算法性能评估,24用户,Jain Index% 当前版本: 1.0% 作    者:梁浩% 完成日期: 2006年10月%==========================================================================clear;clc;%随机集合的再现、归一化、从小到大排序rand('state',0);N2 = 24;for m=1:1800    test_rand = rand(1);endfor m=1:N2    aveSNR(m) = rand(1);endsum_set = sum(aveSNR);aveSNR = aveSNR / sum_set * 240 ;%从小到大排列aveSNR_sorted = sort(aveSNR);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 分组#1(折中分组,多取一个转置),Hybird N/A K=2N = 24;clear aveSNR_grouped;K = 2;uses_per_group = N ./ (24/K);vecN = uses_per_group .* ones(1,(24/K));for k = 1:24/K    aveSNR_grouped(k,:) = aveSNR_sorted( [( (k-1) * uses_per_group + 1) : (k * uses_per_group)] );endaveSNR_grouped = aveSNR_grouped';clear uses_per_group;clear vecN;uses_per_group = N ./ K;vecN = uses_per_group .* ones(1,K);%计算Hybrid N/A方法的Throughput、FairnesshyNAFair12 = HyNAFair(K, vecN, aveSNR_grouped)hyNATh12 = HyNATh(K, vecN, aveSNR_grouped)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 分组#2(折中分组,多取一个转置),Hybird N/A K=4N = 24;clear aveSNR_grouped;K = 4;uses_per_group = N ./ (24/K);vecN = uses_per_group .* ones(1,(24/K));for k = 1:24/K    aveSNR_grouped(k,:) = aveSNR_sorted( [( (k-1) * uses_per_group + 1) : (k * uses_per_group)] );endaveSNR_grouped = aveSNR_grouped';clear uses_per_group;clear vecN;uses_per_group = N ./ K;vecN = uses_per_group .* ones(1,K);%计算Hybrid N/A方法的Throughput、FairnesshyNAFair2 = HyNAFair(K, vecN, aveSNR_grouped)hyNATh2 = HyNATh(K, vecN, aveSNR_grouped)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 分组#3(折中分组,多取一个转置),Hybird A/N K=8N = 24;clear aveSNR_grouped;K = 8;uses_per_group = N ./ (24/K);vecN = uses_per_group .* ones(1,(24/K));for k = 1:24/K    aveSNR_grouped(k,:) = aveSNR_sorted( [( (k-1) * uses_per_group + 1) : (k * uses_per_group)] );endaveSNR_grouped = aveSNR_grouped';clear uses_per_group;clear vecN;uses_per_group = N ./ K;vecN = uses_per_group .* ones(1,K);%计算Hybrid A/N方法中用到的中间参数aveSNRnfor n = 1:K    aveSNRn(n) = quadl(@HyANmodpdf, 10^(-3), 10^3, 10^(-12), [], vecN, aveSNR_grouped, n);end%计算Hybrid A/N方法的Throughput、Fairnessfor i = 1:K    for j= 1:vecN(i)        Th12(i,j) = double_int(10^(-4),'x_hi',10^(-3) ,10^3, K, vecN, aveSNR_grouped, aveSNRn, i, j)    endendhyANFair12 = Fairness_Jain(N, Th12)hyANTh12 = sum(sum(Th12))%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 分组#4(折中分组,多取一个转置),Hybird A/N K=12N = 24;clear aveSNR_grouped;K = 12;uses_per_group = N ./ (24/K);vecN = uses_per_group .* ones(1,(24/K));for k = 1:24/K    aveSNR_grouped(k,:) = aveSNR_sorted( [( (k-1) * uses_per_group + 1) : (k * uses_per_group)] );endaveSNR_grouped = aveSNR_grouped';clear uses_per_group;clear vecN;uses_per_group = N ./ K;vecN = uses_per_group .* ones(1,K);%计算Hybrid A/N方法中用到的中间参数aveSNRnfor n = 1:K    aveSNRn(n) = quadl(@HyANmodpdf, 10^(-3), 10^3, 10^(-12), [], vecN, aveSNR_grouped, n);end%计算Hybrid A/N方法的Throughput、Fairnessfor i = 1:K    for j= 1:vecN(i)        Th2(i,j) = double_int(10^(-4),'x_hi',10^(-3) ,10^3, K, vecN, aveSNR_grouped, aveSNRn, i, j)    endendhyANFair2 = Fairness_Jain(N, Th2)hyANTh2 = sum(sum(Th2))%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 其它几种调度算法:max C/I、PF、M-LWDFmaxCIFair= MaxCIFair(N, aveSNR)maxCITh = MaxCITh(N, aveSNR)pfFair = PFFair(N,aveSNR)pfTh = PFTh(N,aveSNR)rrFair = RRFair(N,aveSNR)rrTh = RRTh(N,aveSNR)[PBFS_Th_100, PBFS_Fair_100] = PBFS_Jain(N, aveSNR, ones(1, N), 1000, 150)[PBFS_Th_500, PBFS_Fair_500] = PBFS_Jain(N, aveSNR, ones(1, N), 1000, 600)[PBFS_Th_3000, PBFS_Fair_3000] = PBFS_Jain(N, aveSNR, ones(1, N), 1000, 2500)% [S_PBFS_Th, S_PBFS_Fair] = S_PBFS_Jain(N, aveSNR, ones(1, N), 1000)load mat_precise_12_24_36.matfigureplot(aimFair_set2_jain,opTh_set2_jain,'k.-')hold on;plot(rrFair,rrTh,'kh')hold on;plot(maxCIFair,maxCITh , 'ks');hold on;plot(pfFair,pfTh , 'kd');hold on;plot(hyNAFair12, hyNATh12, 'k<')hold on;plot(hyNAFair2, hyNATh2, 'k>')hold on;plot(hyANFair12, hyANTh12, 'k^')hold on;plot(hyANFair2, hyANTh2, 'kv')hold on;plot(PBFS_Fair_100,PBFS_Th_100, 'k*')hold on;plot(PBFS_Fair_500,PBFS_Th_500, 'k+')hold on;plot(PBFS_Fair_3000,PBFS_Th_3000, 'kp')hold on;% plot(S_PBFS_Fair,S_PBFS_Th, 'k+')% hold on;grid on;legend('Optimal Curve','RR','Max C/I','PF','Hybrid N/A K=2','Hybrid N/A K=4','Hybrid A/N K=8','Hybrid A/N K=12', 'PBFS D=300', 'PBFS D=1200', 'PBFS D=5000', 3)xlabel('Fairness');ylabel('Throughput (bps/Hz)');

⌨️ 快捷键说明

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