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

news2024/12/23 23:21:26

  🍒🍒🍒欢迎关注🌈🌈🌈

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/21167.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【深入浅出Spring6】第七期——使用JDBC模板与代理模式

一、JDBCTemplate JdbcTemplate 是Spring提供的一个JDBC模板类,是对JDBC的封装,简化JDBC代码Spring也继承了其他持久化的框架,比如 MyBatis 等本篇我们从简单的增删改查角度介绍如何使用Spring提供的这个模板类 $ 准备工作 创建一个新的模块…

livekit 简单上手教程

什么是livekit? livekit是一个开源的webrtc项目,基于pion实现了SFU架构的go程序。 它主要有以下几个特性: 可以水平扩展的sfu架构。有完整的sdk程序接口供开发人员使用。基于JWT进行身份验证,可与大部分系统进行权限集成。内置Tur…

SpringCloud学习笔记 - 分布式配置中心 - config

1. 简介 Spring Cloud Config是用来为分布式系统中的基础设施和微服务应用提供集中化的外部配置支持的。 它由服务端和客户端构成: 其中,服务端也称为分布式配置中心,是一个独立的微服务应用,用来连接配置仓库、为客户端提供支持…

32.nacos配置文件中心,使用实例(springcloud)

1.为什么使用Nacos 配置文件中心1.如果在生产情况下,修改了配置文件,项目需要下架,重新打包,重新发布。这在单机模式下影响不会太大,但如果过在一个集群项目中就会照成很大的影响,需要停掉多个项目。因此&a…

字节研发之道

前言 字节的迅速崛起缔造了一个互联网的神话,堪称火箭般的蹿升。当阿里来到第十八个年头时,员工人数还不足6万。老牌互联网腾讯现在也不过11万左右人数。但字节发展到七个年头时,人数就突破了10万。曾经入职阿里是一票难求,但现在…

基于51单片机的音乐盒播放器proteus仿真

资料编号:092 下面是相关功能视频演示: 92-基于51单片机的音乐盒播放器proteus仿真(源码仿真全套资料)功能介绍:使用51单片机,采用蜂鸣器进行音乐播放,提供了音乐代码生成器软件,可…

JavaWeb运行环境安装教程以及各个安装包

文章目录安装包下载安装教程一、JDK安装1、下载2、安装3、配置环境4、验证环境配置二、IDEA安装下载链接三、MySQL安装1、下载2、安装四、Navicat安装五、Tomcat安装1、下载2、环境配置3、修改编码4、启动六、Maven安装1、下载2、环境配置3、新建本地仓库4、修改镜像5、添加IDE…

Design Compiler工具学习笔记(1)

本人做过FPGA设计的项目,后面想转 IC 设计方向。现在从 DC 工具的使用开始学起,DC 是新思科技的EDA软件,具体的安装见下面的文章: Synopsys EDA Tools 安装问题记录https://blog.csdn.net/qq_43045275/article/details/127630241…

5G无线技术基础自学系列 | CloudRAN架构

素材来源:《5G无线网络规划与优化》 一边学习一边整理内容,并与大家分享,侵权即删,谢谢支持! 附上汇总贴:5G无线技术基础自学系列 | 汇总_COCOgsta的博客-CSDN博客 5G在核心网实现云化之后,更…

2.旋转的骰子(1)

1.动画——旋转的骰子 我们想用纯html 和CSS, 做一个旋转的筛子,骰子要有立体感,每个面上要有圆点,表示点数,并且骰子可以原地旋转。 2.分析需求——庖丁解牛

【DELM回归预测】基于matlab多元宇宙优化算法改进深度学习极限学习机数据回归预测【含Matlab源码 2230期】

⛄一、多元宇宙优化算法 MVO是Seyedali Mirjalili受到多元宇宙理论的启发提出来的元启发式优化算法。主要根据多元宇宙理论的3个主要概念-白洞、黑洞和虫洞,来建立数学模型。 MVO算法中的可行解对应宇宙,解的适应度对应该宇宙的膨胀率,在每…

【第三部分 | 移动端开发】2:流式布局

目录 | 移动端布局 | 流式布局(百分比布局) | 案例:京东搜索页相关知识点 | 移动端布局 | 流式布局(百分比布局) 介绍 核心思想:不使用固定布局,而是使用百分比 为了保护盒子的内容不因拉伸…

Spring AOP使用与原理

AOP介绍 SpringAOP核心概念 上述中已经出现的关键词有Advice(顶级的通知类/拦截器)、MethodInvocation(方法连接点)、MethodInterceptor(方法拦截器) SpringAOP在此基础上又增加了几个类,丰富了AOP定义及使用概念,包括 Advisor:包含通知(拦截…

基于密度的划分、DBSCAN(机器学习)

目录 居于密度的划分 DBSCAN算法 居于密度的划分 基于划分聚类和基于层次聚类的方法在聚类过程中根据距离来划分类簇,因此只能够用于挖掘球状簇。 为了解决这一缺陷,基于密度聚类算法利用密度思想,将样本中的高密度区域(即样本点分布稠密的…

图的概念(1)

图是什么? 首先,我们导入需要的包? import numpy as np import random import networkx as nx from IPython.display import Image import matplotlib.pyplot as plt 图的定义? 图表示物件与物件之间关系的数学对象,…

Metasploit入门用法

靶机介绍 Difficult: As always, it’s a very easy box for beginners. Goal: Get flag Download:https://www.vulnhub.com/entry/funbox-scriptkiddie,725/ 解题过程: 1.使用nmap进行端口扫描:Nmap -sV IP 2.使用search命令查…

yolov5加入分割头,多任务头

Yolov5同时进行目标检测和分割分割_MidasKing的博客-CSDN博客_yolov5分割 用YOLOv5ds训练自己的数据集,注意点!_用猪头过日子.的博客-CSDN博客 基于pytorch用yolov5算法实现目标检测与分割_无损检测小白白的博客-CSDN博客 原理 代码:

一种三自由度机器人的设计(CAD+Solidworks+文档)

目 录 摘 要 I Abstract II 第1章 绪论 1 1.1课题研究背景及其意义 1 1.2三自由度机器人的发展与现状 1 1.3三自由度机器人的原理和介绍 3 1.4三自由度机器人目前存在问题 4 1.5三自由度机器人的力控制问题 4 1.6三自由度机器人的发展趋势 5 第2章 总体技术方案及系统组成 7 2.…

[附源码]SSM计算机毕业设计电子病历信息管理系统JAVA

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

AVL的单旋和双旋—附图超详细

文章目录前言:AVL 的插入寻找插入位置更新平衡因子调整AVL右旋左旋左右双旋右左双旋完整代码前言: 我们知道二叉排序树的搜索效率很高,能达到(logn)的时间复杂度,但是当元素有序导致二叉搜索树变成了一个长条(图左&am…