• 认知无线电网络的服务质量——蜻蜓算法的应用(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.

  • 相关阅读:
    泽攸科技JS系列高精度台阶仪在半导体领域的应用
    Pr:音频和视频的同步
    Java复习-20-接口(3)- 代理设计模式
    [开源]基于Vue+ElementUI+G2Plot+Echarts的仪表盘设计器
    es6 Promise, all, race 理解及应用
    入门力扣自学笔记191 C++ (题目编号:1662)
    android音频学习笔记之wav文件
    【CS.PL】Lua 编程之道: 基础语法和数据类型 - 进度16%
    Linux学习之基础工具一
    VM ware中Linux连网
  • 原文地址:https://blog.csdn.net/m0_73907476/article/details/127950890