• 认知无线电网络的服务质量——蜻蜓算法的应用(Matlab代码实现)


      🍒🍒🍒欢迎关注🌈🌈🌈

    📝个人主页:我爱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.

  • 相关阅读:
    图片像素缩放,支持个性化自定义与精准比例调整,让图像处理更轻松便捷!
    只要有开始,就会有进​步
    DBA 道德规范
    论文查重的时候一定要注意格式和内容
    DNS大全(114DNS 、阿里DNS、百度DNS 、360 DNS、Google DNS)
    vector详解以及一些问题(C++)
    Workflow,要不要了解一下
    day41-网络编程03
    如何打造独立站?这4个要点必须做到!
    Linux:工具(vim,gcc/g++,make/Makefile,yum,git,gdb)
  • 原文地址:https://blog.csdn.net/m0_73907476/article/details/127950890