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

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
简介: 认知无线电网络的服务质量——蜻蜓算法的应用(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.

相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
13天前
|
存储 监控 算法
员工上网行为监控中的Go语言算法:布隆过滤器的应用
在信息化高速发展的时代,企业上网行为监管至关重要。布隆过滤器作为一种高效、节省空间的概率性数据结构,适用于大规模URL查询与匹配,是实现精准上网行为管理的理想选择。本文探讨了布隆过滤器的原理及其优缺点,并展示了如何使用Go语言实现该算法,以提升企业网络管理效率和安全性。尽管存在误报等局限性,但合理配置下,布隆过滤器为企业提供了经济有效的解决方案。
54 8
员工上网行为监控中的Go语言算法:布隆过滤器的应用
|
13天前
|
存储 缓存 算法
探索企业文件管理软件:Python中的哈希表算法应用
企业文件管理软件依赖哈希表实现高效的数据管理和安全保障。哈希表通过键值映射,提供平均O(1)时间复杂度的快速访问,适用于海量文件处理。在Python中,字典类型基于哈希表实现,可用于管理文件元数据、缓存机制、版本控制及快速搜索等功能,极大提升工作效率和数据安全性。
51 0
|
2月前
|
机器学习/深度学习 人工智能 算法
探索人工智能中的强化学习:原理、算法与应用
探索人工智能中的强化学习:原理、算法与应用
|
2月前
|
机器学习/深度学习 算法 数据挖掘
C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出
本文探讨了C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出。文章还介绍了C语言在知名机器学习库中的作用,以及与Python等语言结合使用的案例,展望了其未来发展的挑战与机遇。
52 1
|
2月前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
67 1
|
2月前
|
缓存 算法 网络协议
OSPF的路由计算算法:原理与应用
OSPF的路由计算算法:原理与应用
66 4
|
2月前
|
机器学习/深度学习 监控 算法
基于反光衣和检测算法的应用探索
本文探讨了利用机器学习和计算机视觉技术进行反光衣检测的方法,涵盖图像预处理、目标检测与分类、特征提取等关键技术。通过YOLOv5等模型的训练与优化,展示了实现高效反光衣识别的完整流程,旨在提升智能检测系统的性能,应用于交通安全、工地监控等领域。
|
2月前
|
存储 算法 网络协议
OSPF的SPF算法介绍:原理、实现与应用
OSPF的SPF算法介绍:原理、实现与应用
94 3
|
2月前
|
机器学习/深度学习 JSON 算法
二叉树遍历算法的应用场景有哪些?
【10月更文挑战第29天】二叉树遍历算法作为一种基础而重要的算法,在许多领域都有着不可或缺的应用,它为解决各种复杂的问题提供了有效的手段和思路。随着计算机科学的不断发展,二叉树遍历算法也在不断地被优化和扩展,以适应新的应用场景和需求。
55 0
|
2月前
|
机器学习/深度学习 人工智能 算法
探索人工智能中的强化学习:原理、算法及应用
探索人工智能中的强化学习:原理、算法及应用