【无人机】基于粒子群优化干扰受限下无人机群辅助网络附matlab代码

news2024/10/7 8:27:41

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法  神经网络预测 雷达通信  无线传感器

信号处理 图像处理 路径规划 元胞自动机 无人机  电力系统

⛄ 内容介绍

本文研究了三种在实际的空地(ATG)信道模型下的基本部署设计,即最小数量的无人机,它们的最佳部署位置和最佳发射功率分配。由于这三个设计目标是耦合的,结合平衡信号,提出了一种基于粒子群优化(PSO)的方案干扰加噪声比(SINR)发射功率分配。通过利用封闭形式表达式在SINR平衡最优功率分配和由此产生的SINR中,提出了基于PSO的方案迭代优化无人机的数量,然后优化它们的位置,直到每个无人机的SINR用户满足其所需的最小值。为了改进所提出方案的收敛性设计了一些方案,通过分析系统,对无人机的最小数量进行初步估计在使用K-means聚类技术初始化UAV位置之前,求和速率容量。最后开发了功率微调方案以进一步降低总发射功率,广泛的模拟以确认所提出方案的良好性能。

⛄ 部分代码

function [SINR,P ] = Flow_UAV(ITER,X,users_sets)

k_center = size(X,2)/3;

for i = 1: k_center

    centerpoint(i,:) = [X(i*3-2),X(i*3-1)];

    h(i) = X(i*3);

end

N_users = users_sets;

u_distance = 500;

%all_users = u_distance * rand(200,2);

%load('alluser.mat', 'all_users');

s=ITER;

rng(s);

all_users = 500*rand(users_sets,2);

%%   pathloss max choice

N_total = 20;

placement = zeros(N_total,N_users);

for u = 1:N_users

    dist_u = zeros(k_center,1);

    for N =  1:k_center

        dist_u(N) = norm(all_users(u,:) - centerpoint(N,:));

        pathloss(u,N) = pathloss3D(dist_u(N),h(N));

    end

    [N_dist, N_belong] = min(pathloss(u,:));

    label(u) =  N_belong;

    

    n=hist(label,[1:40]);

    for N_tot = 1:N_total

        if n(N_tot)>20

            pathloss(u,N_tot)=[10^30];pathloss(u+1,N_tot)=[10^30];

        end

    end

    [N_dist, N_belong] = min(pathloss(u,:));

    label(u) =  N_belong;

    placement(label(u),u) = 1;

    dist_all(u) = N_dist;

    

    power_normolization(1,u)=1;

    yita(u) = 10^-12;

end

%% pathloss

alpha = [0.0001,0.001];

for u_row = 1:N_users

    for u_col = 1:N_users

        R_deno = norm(all_users(u_row,:)-centerpoint(label(u_row),:));

        R_nume = norm(all_users(u_row,:)-centerpoint(label(u_col),:));% the distance between the u_col-th user and the u_row-th user's BS.

        g(u_row, u_col,:) = 1/pathloss3D(R_nume, h(label(u_col)));

    end

    r(u_row) = 1/pathloss3D(R_deno, h(label(u_row)));

end

diag_r = diag(r);

f = g-diag_r*eye(N_users);

for K = 1:k_center                                                      %damping factors

    for i = 1:N_users

        for j = 1:N_users

            A(i,j) = alpha((label(i)==label(j))+1);

        end

    end

    DC(:,:,K) = diag(1./r) * ( A.*f+ 10*yita'*placement(K,:) );                 %SINR model

    [a(:,:,K),b(:,:,K)] = eig(DC(:,:,K));

    eigenvalue = diag(b(:,:,K));

    lamda(K) = max(eigenvalue);

    for i = 1:length(DC(:,:,K))

        if lamda(K) == eigenvalue(i)

            break;

        end

    end

    y_lamda(:,K) = a(:,i,K);

end

[rho,index] = max(lamda);

SINR = 1/rho;

P(:) = 0.1*y_lamda(:,index)/(placement(index,:)*y_lamda(:,index)); %real power

end

⛄ 运行结果

⛄ 参考文献

​[1] Liu W ,  Niu G ,  Cao Q , et al. Particle Swarm Optimization for Interference-Limited Unmanned Aerial Vehicle-Assisted Networks[J]. IEEE Access, 2020, 8:174342-174352.

⛄ Matlab代码关注

❤️部分理论引用网络文献,若有侵权联系博主删除

❤️ 关注我领取海量matlab电子书和数学建模资料

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

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

相关文章

Xception --tensorflow2.x

简介 Xception和SqueezeNet一样,是一种降低参数量的轻量级神经网络,它主要使用了 深度分离卷积(Depthwise separable convolution)结构,该结构替换了原来的Inception中的多尺寸卷积结构。这里需要弄清深度分离卷积(D…

【创建型设计模式-单例模式】一文搞懂单例模式的使用场景及代码实现的7种方式

1.什么是单例模式 在了解单例模式前,我们先来看一下它的定义: 确保一个类只有一个实例,而且自行实例化并且自行向整个系统提供这个实例,这个类称为单例类,它提供全局访问的方法, 单例模式是一种对象的创建型…

微型计算机原理速通期末复习

文章目录微机基础原码、反码、补码、移码溢出实数型功能结构8086/8088内部结构80286内部结构80386/80486内部结构标志寄存器FLAGS寄存器阵列段寄存器寻址标志寄存器EFLAGS分段结构数据寻址方式立即寻址直接寻址寄存器寻址寄存器间接寻址寄存器相对寻址基址-变址寻址基址-变址-相…

Solidity vs. Vyper:不同的智能合约语言的优缺点

本文探讨以下问题:哪种智能合约语言更有优势,Solidity 还是 Vyper?最近,关于哪种是“最好的”智能合约语言存在很多争论,当然了,每一种语言都有它的支持者。 这篇文章是为了回答这场辩论最根本的问题&…

磨金石教育摄影技能干货分享|中国风摄影大师——郎静山

说到中国风摄影,你想到的画面是什么样子的?故宫、长城、苏州园林、大红灯笼高高挂,反正离不开传承了千八百年的古建筑。仿佛没有了这些历史古董的元素就没有中国味道似的。 其实中国风,其内核应该是传统的审美观念和哲学思想。中…

【雷丰阳-谷粒商城 】课程概述

持续学习&持续更新中… 学习态度:守破离 【雷丰阳-谷粒商城 】课程概述该电商项目与其它项目的区别项目简介项目背景电商模式谷粒商城项目技术&特色项目前置要求谷粒商城-微服务架构图谷粒商城-微服务划分图参考该电商项目与其它项目的区别 互联网大型项目…

深入linux内核架构--内存管理

【推荐阅读】 代码大佬的【Linux内核开发笔记】分享,前人栽树后人乘凉! 一文了解Linux内核的Oops 一篇长文叙述Linux内核虚拟地址空间的基本概括 路由选择协议——RIP协议 深入理解Intel CPU体系结构【值得收藏!】 内存体系结构 1. UM…

银行测试人员谈测试需求

今天呢,想用故事说话,先看看啥叫用户需求挖掘。其实看完故事之后,我自己颇为震撼,请看。 故事一: 100多年前,福特公司的创始人亨利福特先生到处跑去问客户:“您需要一个什么样的更好的交通工具…

loganalyzer 展示数据库中的日志

1 实验目标: 利用rsyslog日志服务,将收集的日志记录于MySQL中,通过loganalyzer 展示数据库中的日志 2 环境准备 三台主机: 一台日志服务器,利用上一个案例实现,IP:192.168.100.100一台数据库…

【Java八股文总结】之数据结构

文章目录数据结构一、概念1、时间复杂度与空间复杂度2、常见算法时间复杂度3、Comparable二、常见的排序算法1、直接插入排序2、希尔排序3、选择排序4、堆排序5、冒泡排序6、快速排序7、归并排序8、二分查找算法Q:什么时候需要结束呢?三、线性表1、概念2…

使用 Footprint Analytics, 快速搭建区块链数据应用

Nov 2022, danielfootprint.network 如果你有一个处理 NFTs 或区块链的网站或应用程序,你可以在你的平台上直接向用户展示数据,以保持他们在网站或者应用内的参与,而不是链接以及跳出到其他网站。 对于任何区块链应用或者媒体、信息网站来说…

秦皇岛科学选育新品种 国稻种芯·中国水稻节:河北秸秆变肥料

秦皇岛科学选育新品种 国稻种芯中国水稻节:河北秸秆变肥料 秦皇岛新闻网 记者李妍 冀时客户端报道(河北台 张志刚 米弘钊 赵永鑫 通讯员 赵力楠) 新闻中国采编网 中国新闻采编网 谋定研究中国智库网 中国农民丰收节国际贸易促进会 国稻种芯…

无线通信技术概览

电生磁,磁生电 电场和磁场的关系,简而言之就是:变化的电场产生磁场,变化的磁场产生电场。 电荷的定向移动产生电流,电荷本身产生电场。电流是移动的电场。静止的电荷产生静止的电场,运动的电荷产生运动的电…

java实现阿里云rocketMQ消息的发送与消费(http协议sdk)

目录一、准备工作二、代码实现1.添加依赖2.创建一个常量类存放公共参数3.调用HTTP协议的SDK 发送普通消息4.调用HTTP协议的SDK 订阅普通消息三、配置main的日志输出级别四、测试效果五、完成代码一、准备工作 登录阿里云官网,先申请rocketMQ,再申请Topi…

一文带你了解PCB设计中的常用基本概念

本文将从初学者的角度出发,一文带你快速了解PCB设计中的常用基本概念:一、FR4板材FR-4就是玻璃纤维环氧树脂覆铜板,线路板中的一种基材,可以分为一般FR4板材和高TG FR4板材,Tg是玻璃转化温度,即熔点。电路板…

分享好玩的h5小游戏制作_为什么要做h5微信小游戏呢

近年来,市面上一直流行各种h5游戏,例如投票、答题、刮刮乐、大转盘等等等等,而且我在各种营销场景下经常看到它们的身影,是做促销,引流和宣传的神器之一! 那么,怎么做好玩的h5游戏?还…

DIXml v5.21.0 for Delphi 11

DIXml v5.21.0 for Delphi 11 DIXml是一个嵌入式XML、XSLT,也是Delphi的EXSLT处理库(Embarcadero//CodeGear/Borland)。它构建在libxml2、libxslt和libexslt库上,但不需要更多的DLL或其他外部文件。 DIXml很容易成为Delphi中功能最齐全的XML和XSLT替代品…

实战讲解MyBatis缓存:一级缓存和二级缓存(图+文+源码)

1 缘起 回顾SpringBoot如何进行事务管理相关知识的时, 发现使用Spring的注解Transational即可实现事务管理,完成回滚操作, 然而SpringBoot中使用MyBatis这个ORM框架操作数据库,实现CURD, 这两者有什么关系呢&#xff…

集合类不安全

ArryList集合 多线程下不安全;可能会报错:java.util.ConcurrentModificationException(并发修改异常) import java.util.*; import java.util.concurrent.CopyOnWriteArrayList;//java.util.ConcurrentModificationException 并发…

每日刷题3——牛客,算术转换和二级指针

更新不易,麻烦多多点赞,欢迎你的提问,感谢你的转发, 最后的最后,关注我,关注我,关注我,你会看到更多有趣的博客哦!!! 喵喵喵,你对我…