D2D用户的功率优化算法研究

  D2D通信技术是指两个对等的用户节点之间直接进行通信的一种通信方式。在由D2D通信用户组成的分布式网络中,每个用户节点都能发送和接收信号,并具有自动路由(转发消息)的功能。网络的参与者共享它们所拥有的一部分硬件资源,包括信息处理、存储以及网络连接能力等。这些共享资源向网络提供服务和资源,能被其它用户直接访问而不需要经过中间实体。在D2D通信网络中,用户节点同时扮演服务器和客户端的角色,用户能够意识到彼此的存在,自组织地构成一个虚拟或者实际的群体。

国内外针对这类类似系统的资源分配和功率算法有很多,下面给出一些国内外的研究现状

  1. 2017年,Shuhang Zhang[1] 设计了一种适用于无人机中继系统的功率和无人机轨迹联合优化算法,该算法将一个非凸优化问题拆解为2个凸优化问题进行优化,仿真结果显示该算法与穷举算法性能比较接近,说明了该方式的有效性。
  2. 2017年, Hongliang Zhang[2]针对5G中的D2D资源分配问题,提出了一种基于感知的D2D用户信道分配算法,仿真结果显示该资源分配算法有效降低了D2D用户间的干扰
  3. 2018年,刘晓玲针对D2D[3]用户的之间的干扰问题,基于博弈论提出了一种带代价因子的优化函数,可以使得整体的D2D用户吞吐量更大化。

D2D通信优点

  • 提高频谱效率
  • 提升用户体验
  • 扩展通信应用

D2D通信问题

  • 用户信道分配
  • 同频用户间干扰
  • D2D与BS切换

优化策略

  • 1、合理分配D2D用户对信道减少相邻用户干扰
  • 2、合理设置D2D用户功率降低通信到用户干扰
     
  • 假设一共KD2D用户共用N个子信道,且各个子信道间不会相互干扰,但是同一个子信道的用户间会相互干扰,则此时整体容量可以表示为

  • 此时的优化目标函数可以表示为

子信道分配算法

功率优化算法

——算法流程如下

  1. 先进行D2D用户的信道分配一共N信道
  2. 逐信道进行能量效率优化,下面描述以信道1为例
  3. 信道1进行优化能量效率1,首先假设所有用户以相同功率发射,找到使得优化能量效率最大化的发射功率,采用高斯迭代法找到最优的发射功率。
  4. 固定其他用户功率,逐用户调整信号发射功率使得整体的能量效率最大化,这里采用高斯迭代法进行优化
  5. 重复步骤4直至所有用户优化数次
  6. 将发射功率并入路径损耗中重复步骤2-5数次
  7. 重复2-6直至所有信道优化完成

根据前面的模型,系统容量和效率公式如下

上述的EE为所有信道的能量效率,对其进行优化使其最大化可以约等于等效为每个子信道进行能量效率EEk最大化

对前面的能量效率Eek进行求导可以表示为

接下来可以用高斯迭代求解上述方程。

逐用户功率优化算法

前面确定了所有用户统一功率作为功率优化的起点,接下来固定其他用户功率,逐用户调整信号发射功率使得整体的能量效率最大化

用户J的能量效率如下

用户J的能量效率公式进行求导

用户J的能量效率公式进行求导

同样的接下来可以用高斯迭代求解上述方程
 

仿真结果1—不同算法性能对比

对比可以看出改,穷举法和改进算法比较接近,原算法优于没有考虑用户之间的影响,因此性能较差,说明我们改进后的算法的流程比较接近我们的最优算法的性能,且算法复杂度不太高。
 

仿真结果2—改变D2D用户数对系统性能的影响

从上图可以看出随着用户数的增长,改进算法的能量效率性能始终远远优于原算法,同时随着用户数的增长整体的容量得到的上升,但是能量效率也略微的下降了。


仿真结果3—改变D2D用户平均距离对系统性能的影响

从上图可以看出随着用户距离的增长,改进算法的能量效率性能始终远远优于原算法,同时随着用户距离的增长的容量基本不变,同时整体的能量效率快速下降
 

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

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

相关文章

HTML5表单的自动验证、取消验证、自定义错误信息

1、自动验证 通过在元素中使用属性的方法,该属性可以实现在表单提交时执行自动验证的功能。下面是关于对元素内输入内容进行限制的属性的指定。 属性说明required输入内容是否不为空pattern输入的内容是否符合指定格式min、max输入的数值是否在min~max范围step判断…

使用Maven命令将第三方jar包安装到maven本地仓库

使用Maven命令将第三方jar包安装到maven本地仓库 事例: 第三方jar包 :common-pojo-1.0-SNAPSHOT.jar Maven命令 mvn install:install-file -Dfilejar包在本地磁盘的路径 -DgroupId组织名称 -DartifactId项目名称 -Dversion版本号 -Dpackaging打包方式 完…

【初阶数据结构】1.算法复杂度

文章目录 1.数据结构前言1.1 数据结构1.2 算法1.3 如何学好数据结构和算法 2.算法效率2.1 复杂度的概念2.2 复杂度的重要性 3.时间复杂度3.1 大O的渐进表示法3.2 时间复杂度计算示例3.2.1 示例13.2.2 示例23.2.3 示例33.2.4 示例43.2.5 示例53.2.6 示例63.2.7 示例7 4.空间复杂…

乐器培训课程报名小程序模板源码

模板介绍 一款实用的音乐课程,乐器培训,艺术类网页课程报名手机小程序模板下载。包含:主页、列表、个人中心、报名等模块。 图片演示 乐器培训课程报名小程序模板源码

6.MkDocs附录

安装插件 在 MkDocs 中,插件通常是通过 pip​ 工具安装的。你可以使用以下步骤来安装和配置 MkDocs 插件。 1.使用 pip​ 命令安装你需要的插件。例如 pip install pymdown-extensions‍ 2.更新 mkdocs.yml​ 文件。 ‍ 3.使用 mkdocs serve​ 命令本地预览你…

PHP禁止IP访问和IP段访问(代码实例)

PHP禁止IP和IP段访问 实现IP限制是Web开发中常见的需求之一&#xff0c;它可以用于限制特定IP地址的访问权限。在PHP中&#xff0c;我们可以通过一些方法来实现IP限制。 <?//禁止某个IP$banned_ip array ("127.0.0.1",//"119.6.20.66","192.168.…

旷野之间2 - 如何训练医疗保健小型语言模型(AI-SLM)

​​​​ 在本文中,我们将研究如何针对疾病症状训练一个小型医疗保健语言模型。为此,我们将从HuggingFace获取数据集(用于训练我们的模型):https://huggingface.co/datasets/QuyenAnhDE/Diseases_Symptoms QuyenAnhDE/Diseases_Symptoms 数据集来自 Hugging Face。图片来源…

cesium 雷达扫描

cesium 雷达扫描 (下面附有源码) 实现思路 1、通过改变圆型材质来实现效果, 2、用了模运算和步进函数(step)来创建一个重复的圆形图案 3、当纹理坐标st落在垂直或水平的中心线上时,该代码将改变透明度和颜色,以突出显示这些线 示例代码 <!DOCTYPE html> <ht…

MacOS如何切换shell类型

切换 shell 类型 如果你想在不同的 shell 之间切换&#xff0c;以探索它们的不同之处&#xff0c;或者因为你知道自己需要其中的一个或另一个&#xff0c;可以使用如下命令&#xff1a; 切换到 bash chsh -s $(which bash)切换到 zsh chsh -s $(which zsh)$()语法的作用是运…

04 效用评测层 显性指标+标准方法 对推荐效果定量评测

你好&#xff0c;我是大师兄。前面三节课我们介绍了推荐系统的数据采集层和数据加工层的相关内容&#xff0c;本节课我们重点介绍下推荐系统效用评价层的评测方法和评测指标。 这里的“效用评测”&#xff0c;通俗点说是指推荐系统输出数据的好坏是否符合用户和商业的预期&…

【python】PyQt5事件传递,鼠标动作捕获,键盘按键捕获原理与应用实战

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

MiniGPT-Med 通用医学视觉大模型:生成医学报告 + 视觉问答 + 医学疾病识别

MiniGPT-Med 通用医学视觉大模型&#xff1a;生成医学报告 视觉问答 医学疾病识别 提出背景解法拆解 论文&#xff1a;https://arxiv.org/pdf/2407.04106 代码&#xff1a;https://github.com/Vision-CAIR/MiniGPT-Med 提出背景 近年来&#xff0c;人工智能&#xff08;AI…

2-1静态库

静态库制作 编写库文件 test.c #include<stdio.h> int main(void){printf("%d\n",add(3,5));return 0; }add.c int add(int a,int b){return ab; }生成.o(目标文件) 用nm查看.o文件 T代表add这个函数的链接性是外部链接&#xff0c;即全局可见&#xff0c;…

AMSR-E L2 降雨子集:GES DISC 的 CloudSat 轨道 V002 (AMSERR_CPR) 位于同一地点

AMSR-E L2 Rainfall Subset, collocated with CloudSat track V002 (AMSERR_CPR) at GES DISC AMSR-E L2 降雨子集&#xff0c;与位于 GES DISC 的 CloudSat 轨道 V002 (AMSERR_CPR) 位于同一地点 简介 这是沿云卫星视场轨迹的 AMSR-E 雨率产品子集。子集的目标是选择并返回…

PaddleVideo:Squeeze Time算法移植

参考PaddleVideo/docs/zh-CN/contribute/add_new_algorithm.md at develop PaddlePaddle/PaddleVideo GitHubAwesome video understanding toolkits based on PaddlePaddle. It supports video data annotation tools, lightweight RGB and skeleton based action recognitio…

分类模型的算法性能评价

一、概述 分类模型是机器学习中一种最常见的问题模型&#xff0c;在许多问题场景中有着广泛的运用&#xff0c;是模式识别问题中一种主要的实现手段。分类问题概况起来就是&#xff0c;对一堆高度抽象了的样本&#xff0c;由经验标定了每个样本所属的实际类别&#xff0c;由特定…

List、Map、Set 接口在Java中的存取元素特点

List、Map、Set 接口在Java中的存取元素特点 1、List 接口2、Map 接口3、Set 接口4、总结 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 在Java中&#xff0c;List、Map和Set是三个最常用的集合接口。它们各自有不同的特点和用途&#xff…

Windows 网络重置及重置网络可能出现的问题( WIFI 没有了 / WLAN 图标消失)

netsh int ip reset 命令是用于重置 Windows 操作系统中的网络设置和配置的命令。 在网络故障排除、修复网络连接问题以及清除可能存在的网络配置冲突时非常有用。 命令详解&#xff1a; netsh: 用于配置各种网络设置 int: 用于管理网络接口 ip: 用于管理网络接口的 IP 配…

我的FPGA

1.安装quartus 2.更新usb blaster驱动 3.新建工程 1.随便找一个文件夹&#xff0c;里面新建demo文件夹&#xff0c;表示一个个工程 在demo文件夹里面&#xff0c;新建src&#xff08;源码&#xff09;&#xff0c;prj&#xff08;项目&#xff09;&#xff0c;doc&#xff…

LLM 研究方向(一): LLM Prompts--p-tuning、LoRA

目录 1. prompt-tuning background 2. Prompt Tuning 模型介绍 2.1 2021 prefix-tuning 2.2 2021 P-tuning v1 2.3 2021 Parameter-efficient prompt tuning (PET) 2.4 2022 P-tuning v2 2.5 2019 Adapter ​2.6 2021 LoRA (Low-Rank Adaptation) 2.7 2024 DoRA (…