🍒🍒🍒欢迎关注🌈🌈🌈
📝个人主页:我爱Matlab
👍点赞➕评论➕收藏 == 养成习惯(一键三连)🌻🌻🌻🍌希望大家多多支持🍓~一起加油 🤗
💬语录:将来的我一定会感谢现在奋斗的自己!
🍁🥬🕒摘要🕒🥬🍁
认知无线电技术(CR)是一种解决频谱稀缺问题的新兴技术。CR具有检测、学习环境的能力,并能以最合适的方式智能调整其参数,为用户提供最佳服务。在本文中,我们介绍了一种新的算法叫做蜻蜓算法。该算法用于适应传输参数和优化服务质量。蜻蜓算法(DA)是一种新的基于模拟蜻蜓个体群集行为的元启发式优化算法。该算法是根据蜻蜓的捕猎和迁徙策略而发展起来的。这种捕猎技术被称为静态蜂群(捕食),在这种方法中,蜂群中的所有成员可以成群结队地飞过一小块区域,寻找食物来源。蜻蜓的迁徙策略称为动态蜂群(迁徙)。在这个阶段,蜻蜓愿意更大规模的群体飞翔,因此,蜂群可以迁移。该算法从最小功耗、误码率、最大吞吐量、最小干扰和最大频谱效率等方面优化QoS性能。将所得结果与另外两种算法遗传算法(GA)和模拟退火(SA)进行了比较。
✨🔎⚡部分运行结果⚡🔎✨
💂♨️👨🎓Matlab代码👨🎓♨️💂
clear all
clc
SearchAgents_no=200; % Number of search agents
dim=5;
fobj = @fit_SN;
Max_iteration=200; % Maximum number of iterations
power_max = 251; %maximum power in 251mW 24dB
power_min = 0.158; %minimum power in 0.158mW -8dB
bandwidth_max = 32; %maximum bandwidth in Hz
bandwidth_min = 2; %minimum bandwidth in Hz
tdd_min = 25; %minimum time for transmitting
tdd_max = 100; %maximum time for transmitting
Mmax = 256; %maximum of modulation index
Mmin = 2; %minimum of modulation index
Rs_max = 125000; % Maximum symbol rate (Symbols / second)
Rs_min = 125;
P_Noise_max =3.9810717055e-11 ;%dBm -104 en 3.9810717055e-11mW 6.3095734448e-12 en dBm -112
P_Noise_min = 3.9810717055e-12; %dBm - 114 en 3.9810717055e-12mW 1.995262315e-12 en dBm -117
%Pbe
Pbe_max = 0.5768;
Pbe_min = 0.2065;
Pbe_mean =0.2452;
%ub = [power_max, Mmax, bandwidth_max, tdd_max, P_Noise_max, Rs_max];
%lb = [power_min, Mmin, bandwidth_min, tdd_min , P_Noise_max, Rs_min ];
%ub = [power_max, Mmax, bandwidth_max, tdd_max, Pbe_max, Rs_max];
%lb = [power_min, Mmin, bandwidth_min, tdd_min , Pbe_min, Rs_min ];
ub = [power_max, Mmax, bandwidth_max, tdd_max, Rs_max];
lb = [power_min, Mmin, bandwidth_min, tdd_min , Rs_min];
%ub = [power_max, P_Noise_max, bandwidth_max, tdd_max, Rs_max];
%lb = [power_min, P_Noise_min, bandwidth_min, tdd_min , Rs_min ];
%ub = [power_max, Mmax, bandwidth_max, tdd_max];
%lb = [power_min, Mmin, bandwidth_min, tdd_min];
%ub = 166717.99945;
%lb = 20817.8311;
%ub=[power_max,bandwidth_max,Mmax, tdd_max , P_Noise_max, Rs_max] ;
%lb= [power_min,bandwidth_min,Mmin, tdd_min , P_Noise_min, Rs_min] ;
%ub=[power_max,power_max,bandwidth_max,bandwidth_max,Mmax,Mmax, tdd_max,tdd_max, P_Noise_max,P_Noise_max,Rs_max, Rs_max] ;
%lb= [power_min,power_min,bandwidth_min,bandwidth_min,Mmin,Mmin, tdd_min ,tdd_min , P_Noise_min,P_Noise_min,Rs_min ,Rs_min] ;
%Function_name='F20'; % Name of the test function that can be from F1 to F23 (Table 1,2,3 in the paper)
[Best_score,Best_pos,cg_curve]=DA(SearchAgents_no,Max_iteration,lb,ub,dim,fobj);
%figure('Position',[400 400 560 190])
%Draw search space
%subplot(1,2,1);
%func_plot(Function_name);
%title('Test function')
%xlabel('x_1');
%ylabel('x_2');
%zlabel([Function_name,'( x_1 , x_2 )'])
%grid off
%Draw objective space;
semilogy(cg_curve,'Color','r','Marker','*')
title('Mode Effeciency')
xlabel('Iteration');
ylabel('Best score obtained so far');
axis tight
grid off
box on
legend('DA')
%a = abs(Best_score);
display(['The best solution obtained by DA is : ', num2str(Best_pos')]);
display(['The best optimal value of the objective funciton found by DA is : ', num2str(Best_score)]);
完整代码:认知无线电网络的服务质量——蜻蜓算法的应用
📜📢🌈参考文献🌈📢📜
[1]胡静,沈连丰,宋铁成.基于QoS的认知无线电网络MAC协议(英文)[J].Journal of Southeast University(English Edition),2012,28(04):375-379.