使用matlab基于神经网络进行光束选择

news2024/11/15 3:53:18

一、前言

此示例说明如何使用神经网络来减少光束选择任务中的开销。在此示例中,您仅使用接收方的位置,而不是通信信道的知识。您可以通过在选定的波束对中进行搜索来减少波束扫掠开销,而不是对所有波束对进行详尽的波束搜索K光束对。考虑到一个总共有16个光束对的系统,本例中的仿真结果表明,所设计的机器学习算法只需对一半的光束对进行详尽搜索,就可以达到90%的准确率。

二、介绍

为了实现毫米波(mmWave)通信,必须使用波束管理技术,因为在高频下会经历高路径损耗和阻塞。波束管理是一组第 1 层(物理层)和第 2 层(介质访问控制)程序,用于建立和保留最佳波束对(发射波束和相应的接收波束)以实现良好的连接 [1]。

此示例考虑在用户设备 (UE) 和接入网络节点 (gNB) 之间建立连接时的波束选择过程。在5G NR中,初始接入的波束选择程序包括波束扫描,这需要对发射器和接收器侧的所有波束进行详尽搜索,然后选择提供最强参考信号接收功率(RSRP)的波束对。由于毫米波通信需要许多天线元件,这意味着许多波束,因此对所有波束进行详尽搜索的计算成本很高,并且增加了初始访问时间。

为了避免重复执行详尽搜索并减少通信开销,机器学习已被应用于波束选择问题。通常,波束选择问题被提出为分类任务,其中目标输出是最佳波束对指数。外部信息,包括激光雷达、GPS信号和路边摄像头图像,被用作机器学习算法的输入[2]-[6]。具体来说,给定这些带外信息,经过训练的机器学习模型会推荐一组K良好的光束对。仿真不是对所有光束对进行详尽搜索,而是通过仅在选定的光束对中进行搜索来减少光束扫描开销K光束对。

此示例使用神经网络仅使用接收器的 GPS 坐标来执行波束选择。固定发射器和散射体的位置,该示例生成一组训练样本:每个样本由接收器位置(GPS 数据)和真正的最佳波束对指数(通过在发射端和接收端对所有波束对执行详尽搜索而得出)组成。该示例设计和训练一个神经网络,该神经网络使用接收器的位置作为输入,并使用真正的最佳波束对指数作为正确的标签。在测试阶段,神经网络首先输出K良好的光束对。对这些进行详尽的搜索K跟踪光束对,神经网络选择平均RSRP最高的光束对作为最终预测的光束对。

该示例使用两个指标来衡量所提出的方法的有效性:平均RSRP和top-K准确性[2]-[6]。此图显示了主要的处理步骤。

三、生成训练数据

在预先记录的数据中,接收器随机分布在6米正方形的周长上,并配置有16个波束对(每端四个波束,模拟波束由1个RF链形成)。设置 MIMO 散射 通道 后, 该 示例 会 考虑 训练 集中 200 个 不同 的 接收 机 位置 和 测试 集中 100 个 不同 的 接收 机 位置。预先记录的数据使用 2-D 位置坐标。具体来说,每个样本的第三个GPS坐标始终为零。与示例中一样,对于每个位置,将执行基于 SSB 的波束扫描,以对所有 16 个波束对进行详尽搜索。由于AWGN是在详尽搜索期间添加的,因此对于每个位置,该示例运行四个不同的试验,并通过选择具有最高平均RSRP的光束对来确定真正的最佳光束对。

要生成新的训练集和测试集,重新生成数据需要花费大量时间。

配置频率和波束扫描角度,同步信号突发配置,散射体配置,天线阵列配置,确定发射/接收位置,绘制发射机和散射体位置。

四、数据处理和可视化

接下来,将平均RSRP最高的光束对标记为真正的最佳光束对。将独热编码标签转换为分类数据以用于分类。最后,扩充分类数据,使其总共有 16 个类,以匹配可能的梁对数量(尽管类可能具有不相等数量的单元)。增强是为了确保神经网络的输出具有所需的维度 16。

流程训练数据,过程测试数据,为神经网络创建输入/输出数据,绘制训练数据的最佳光束对分布图。

绘制每个训练样本的位置和最佳光束对(总共 200 个)。每种颜色代表一个光束对指数。换句话说,具有相同颜色的数据点属于同一类。增加训练数据集以可能包括每个光束对值,尽管光束对的实际分布将取决于散射体和发射器位置。

  • 绘制验证数据的最佳光束对分布图

  • 绘制测试数据的最佳光束对分布图

五、设计和训练神经网络

训练具有四个隐藏层的神经网络。该设计的动机是[3](四个隐藏层)和[5](两个隐藏层,每层有128个神经元),其中接收器位置也被视为神经网络的输入。要启用训练,请调整逻辑。

此示例还提供了对类进行加权的选项。出现频率较高的类具有较小的权重,而发生频率较低的类具有较大的权重。要使用类权重,请调整逻辑。

修改网络以试验不同的设计。如果修改提供的数据集之一,则必须使用修改后的数据集重新训练网络。重新训练网络可能需要大量时间。调整逻辑以在后续运行中使用经过训练的网络。

六、比较不同的方法:顶级精度

本部分使用考虑 top-K 精度指标的看不见的测试数据测试经过训练的网络。top-K 精度度量已广泛应用于基于神经网络的波束选择任务 [2]-[6]。

给定接收器位置,神经网络首先输出K推荐的光束对。然后,它对这些执行详尽的顺序搜索K光束配对并选择平均RSRP最高的光束作为最终预测。如果真正的最佳光束对是最终选择的光束对,则预测成功。等效地,当真正的最佳光束对是K神经网络推荐的光束对。

比较了三个基准。每个方案产生K推荐的光束对。

  1. KNN - 对于测试样本,此方法首先收集K基于 GPS 坐标的最接近训练样本。然后,该方法推荐与这些相关的所有光束对K训练样本。由于每个训练样本都有相应的最优光束对,因此推荐的光束对数量最多为K(某些光束对可能是相同的)。

  1. 统计信息 [5] - 此方法首先根据训练集中的相对频率对所有光束对进行排名,然后始终选择第一个K光束对。

  1. 随机 [5] - 对于测试样品,此方法随机选择K光束对。

图显示,对于K=8,准确率已经超过90%,这突出了使用训练好的神经网络进行波束选择任务的有效性。什么时候K=16,每个方案(KNN 除外)都放宽到对所有 16 个波束对的穷举搜索,因此达到了 100% 的精度。但是,当K=16,KNN 考虑 16 个最接近的训练样本,来自这些样本的不同光束对的数量通常小于 16。因此,KNN 无法达到 100% 的精度。

七、比较不同的方法:平均 RSRP

使用看不见的测试数据,计算神经网络和三个基准测试实现的平均 RSRP。该图显示,使用经过训练的神经网络会导致平均 RSRP 接近最佳穷举搜索。

比较最优方法、神经网络方法和 KNN 方法的结束值。

KNN和最佳方法之间的性能差距表明,即使考虑更大的光束对,例如256,KNN也可能表现不佳。

八、绘图混淆矩阵

我们观察到元素较少的类会受到训练网络的负面影响。对不同的类使用不同的权重可以避免这种情况。使用逻辑探索相同的内容,并为每个类指定自定义权重。

九、结论

此示例描述了神经网络在 5G NR 系统的波束选择任务中的应用。您可以设计和训练一个神经网络,该神经网络输出一组K良好的光束对。仅通过对选定的那些进行详尽搜索,可以减少光束扫描开销K光束对。

该 示例 允许 您 指定 MIMO 通道 中的 散射 器。要查看通道对波束选择的影响,请尝试不同的方案。该示例还提供了预先保存的数据集,可用于试验不同的网络结构和训练超参数。

从仿真结果来看,对于16个波束对的预记录MIMO散射信道,所提算法在以下情况下可以达到90%的top-K精度。K=8.这表明使用神经网络,只需对所有光束对的一半执行详尽搜索就足够了,从而将光束扫描开销减少了 50%。通过重新生成数据,然后重新训练和重新测试网络,尝试改变其他系统参数以查看网络的有效性。

十、参考文献

  1. 3GPP TR 38.802, "Study on New Radio access technology physical layer aspects." 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.

  1. Klautau, A., González-Prelcic, N., and Heath, R. W., "LIDAR data for deep learning-based mmWave beam-selection," IEEE Wireless Communications Letters, vol. 8, no. 3, pp. 909–912, Jun. 2019.

  1. Heng, Y., and Andrews, J. G., "Machine Learning-Assisted Beam Alignment for mmWave Systems," 2019 IEEE Global Communications Conference (GLOBECOM), 2019, pp. 1-6, doi: 10.1109/GLOBECOM38437.2019.9013296.

  1. Klautau, A., Batista, P., González-Prelcic, N., Wang, Y., and Heath, R. W., "5G MIMO Data for Machine Learning: Application to Beam-Selection Using Deep Learning," 2018 Information Theory and Applications Workshop (ITA), 2018, pp. 1-9, doi: 10.1109/ITA.2018.8503086.

  1. Matteo, Z., <https://github.com/ITU-AI-ML-in-5G-Challenge/PS-012-ML5G-PHY-Beam-Selection_BEAMSOUP> (This is the team achieving the highest test score in the ITU Artificial Intelligence/Machine Learning in 5G Challenge in 2020).

  1. Sim, M. S., Lim, Y., Park, S. H., Dai, L., and Chae, C., "Deep Learning-Based mmWave Beam Selection for 5G NR/6G With Sub-6 GHz Channel Information: Algorithms and Prototype Validation," IEEE Access, vol. 8, pp. 51634-51646, 2020.

十一、程序

使用Matlab R2022b版本,点击打开。(版本过低,运行该程序可能会报错)

打开下面的“Example,mlx”文件,点击运行,就可以看到上述效果。

程序下载:https://download.csdn.net/download/weixin_45770896/87666630

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

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

相关文章

R语言ggplot2 | 修改ggplot主题

&#x1f4cb;文章目录 图形设置&#xff08;settings&#xff09;面板设置和背景&#xff08;Panel&Background&#xff09;坐标轴设置&#xff08;Axis&#xff09;标题和标签&#xff08;Title&label&#xff09;图例&#xff08;Legend&#xff09;副标题和图注&am…

静态和动态NAT,NAPT配置简介

一.类型介绍 二.功能 1.将大量的私有地址转换为公有地址(节约IP地址) 2.将一个IP地址转换为另一个IP地址(增加内部网络设备的安全性) 三.缺陷&#xff1a; 1.很消耗网络设备资源 2.破坏数据端到端传输&#xff0c;安全策略实施受限 四.配置命令 1.静态模式&#xff08;…

押注零知识证明赛道,Conflux与ACCSEAL达成战略合作

Conflux与新兴零知识证明加速芯片制造公司ACCSEAL宣布达成战略合作&#xff0c;携手共同布局零知识证明&#xff08;Zero-Knowledge Proof&#xff0c;简称ZKP&#xff09;赛道&#xff0c;探索可应用于Conflux生态系统的最先进零知识证明技术和解决方案。早在2022年3月&#x…

白话文讲计算机视觉-第九讲-霍夫变换之直线检测

霍夫变换是1962年由霍夫发明的一种检测图像中直线、圆等形状的方法。后来1972年经过Richard O. Duda和Peter E. Hart改进&#xff0c;形成了今天的霍夫变换算法。 今天我就带大家了解了解霍夫变换之直线检测是怎么特么的一回事。 1.霍夫变换 说到霍夫变换&#xff0c;首先就得…

C++——类和对象

作者&#xff1a;几冬雪来 时间&#xff1a;2023年4月21日 内容&#xff1a;C类和对象 目录 前言&#xff1a; 1.inline函数&#xff1a; 2.auto&#xff08;补充&#xff09;&#xff1a; 3.类&#xff1a; 4.类的访问限定符及封装&#xff1a; 5.封装&#xff1a;…

从零开始下载torch+cu(无痛版)

从零开始下载torchcu&#xff08;无痛版&#xff09; 文章目录 从零开始下载torchcu&#xff08;无痛版&#xff09;一&#xff0c;前言二&#xff0c;配置torch的GPU版具体步骤1,查看电脑安装的Cuda版本2&#xff0c;在pytoch官网检索待下载whl包名以及版本3&#xff0c;下载指…

playwright实战篇(tx、ali225)

人人都笑金角&#xff0c;人人都是金角推荐文章&#xff1a; 1、https://playwright.dev/python/docs/api/class-playwright //官方文档 2、https://cuiqingcai.com/36045.html //崔庆才教程 3、https://github.com/qqq732004709/ //实战参考 4、https://www.cnblogs.com/ca…

asp.net mvc网上书店购物系统(带项目文档)

c#_asp.net mvc网上书店购物系统&#xff08;带项目文档&#xff09; mvc网上书店购物系统 主要技术&#xff1a; 基于asp.net mvc架构和sql server数据库&#xff0c;并采用EF实体模型开发。 功能模块&#xff1a; 系统包括前台和后台两个部分&#xff0c;用户可在前台浏览…

KL散度和交叉熵的对比介绍

KL散度&#xff08;Kullback-Leibler Divergence&#xff09;和交叉熵&#xff08;Cross Entropy&#xff09;是在机器学习中广泛使用的概念。这两者都用于比较两个概率分布之间的相似性&#xff0c;但在一些方面&#xff0c;它们也有所不同。本文将对KL散度和交叉熵的详细解释…

学系统集成项目管理工程师(中项)系列03_职业道德规范

1. 职业道德 1.1. 涵盖了从业人员与服务对象、职业与职工、职业与职业之间的关系 1.2. 是所有从业人员在职业活动中应该遵循的行为准则 1.3. 包括爱岗敬业、诚实守信、办事公道、服务群众和奉献社会 2. 道德 2.1. 通常与法律相对应&#xff0c;具有非强制性 2.2. 指人们依…

《花雕学AI》26:多维度了解ChatGPT思维链提示的原理、方法、使用和发展的22个问题

早上5点起床&#xff0c;没有去打羽毛球&#xff0c;打开电脑&#xff0c;漫无边际的浏览&#xff0c;偶然发现了一个提法&#xff1a;ChatGPT思维链提示。于是&#xff0c;我使用与ChatGPT同源技术的新Bing引擎&#xff08;GPT-4&#xff09;&#xff0c;来进行搜索与了解相关…

基于在线优化的快速模型预测控制仿真Fast_MPC(Matlab代码实现)

目录 &#x1f4a5;1 概述 &#x1f4da;2 运行结果 &#x1f389;3 参考文献 &#x1f468;‍&#x1f4bb;4 Matlab代码 &#x1f4a5;1 概述 ​模型预测控制(Model Predictive Control,MPC)是一种基于在线计算的控制优化算法,能够统一处理带约束的多参数优化控制问题。…

ESP8266 最简单的OTA升级模式

最近在做一个项目时有OTA的需求&#xff0c;之前是通过arduino自带的ota模式&#xff0c;虽说也可以用&#xff0c;但操作比较麻烦&#xff0c;昨晚在网上搜索相关教程&#xff0c;发现了使用巴法云来实现ota的功能&#xff0c;现分享如下 1、首先要让你的设备联网 2、注册巴法…

jsp基础语法

前提 安装jdk参考 下载tomcat解压&#xff0c;运行tomcat不报错即可 第一个jsp程序 切换到webapps下ROOT文件夹下&#xff0c;将除了WEB-INF文件外的全部内容删除&#xff0c;新建index.jsp index.jsp内容如下 <!DOCTYPE html> <html lang"zh-CN"&g…

React Proxy 详细流程与配置方式(webpack、setupProxy.js、package.json)

一、 package.json 配置方式 全部以 GET 请求为例&#xff0c;每次修改配置后&#xff0c;重启项目&#xff0c;否则不生效。 访问 http://127.0.0.1:6000/api/user/list 接口为例检查自己脚手架版本 $ create-react-app -V若脚手架版本在 2.0 以下&#xff0c;可以使用对象类型…

【C++】deque的实现原理简单介绍

前言 deque被称为双端队列&#xff0c;它的出现主要是为了结合vector和list的优点并减小它们的缺点&#xff0c;实际上deque确实结合了vector和list的优点减小了它们的缺点&#xff0c;但是它的结合也让它自己的优点没有原始的vector和list那么极致&#xff0c;导致deque变得很…

C++好难(1):C++的入门

目录 前言&#xff1a; C的历史&#xff1a; c的领域 1.C的关键字&#xff1a; 2.命名空间 2.1命名空间的定义&#xff1a; 1&#xff09;命名空间的普通定义&#xff1a; 2&#xff09;命名空间的嵌套定义&#xff1a; 3&#xff09;命名空间相同的处理&#xff1a; …

没有公网IP,自建网站如何让外网访问?

受创业潮影响&#xff0c;身边很多朋友都自己开公司创业了&#xff0c;作为一个IT行业从业者&#xff0c;我就莫名的开始忙起来了&#xff0c;因为掌握编程技术&#xff0c;朋友们经常找到我&#xff0c;让我帮他们做公司网站。但是存在一个无法回避的问题&#xff0c;就是我的…

0/1背包问题——从LeetCode题海中总结常见套路

目录 问题讨论 01背包问题公式 为什么状态压缩到一维时候需要逆序&#xff1f; 怎样求次数&#xff1f; 转化成最大和sum/2的01背包&#xff1a;LeetCode.416.分割等和子集 转化成最大和sum/2的01背包&#xff1a;LeetCode1049.最后一块石头的重量II LeetCode.494.目标和…

微软文字转语音不能试用了,分享三个方法给大家!

最近很多小伙伴告诉我&#xff0c;微软文字转语音不能在线试用了&#xff0c;这是因为微软关闭了官方的使用页面&#xff0c;所以现在不能直接使用微软的网页版进行文字转语音了。 那么我们还有没有更好的方法去“白嫖”微软的文字转语音呢&#xff1f; 答案是肯定的&#xf…