基于matlab的混合波束成形仿真

news2024/11/15 7:03:21

一、前言

本示例介绍了混合波束成形的基本概念,并展示了如何仿真此类系统。

二、介绍

现代无线通信系统使用空间复用来提高散射体丰富的环境中系统内的数据吞吐量。为了通过通道发送多个数据流,从通道矩阵中导出一组预编码和组合权重。然后,可以独立恢复每个数据流。这些权重包含幅度和相位项,通常应用于数字域。

在下面显示的系统图中,每个天线都连接到一个唯一的发射和接收(TR)模块。

对高数据速率和更多用户容量的需求不断增长,增加了更有效地使用频谱的需求。因此,下一代5G无线系统将使用毫米波(mmWave)频段来利用其更宽的带宽。此外,5G 系统部署大规模天线阵列,以减轻毫米波频段的严重传播损耗。然而,这些配置带来了独特的技术挑战。

与当前的无线系统相比,毫米波频段的波长要小得多。虽然这允许阵列包含更多具有相同物理尺寸的元件,但为每个天线元件提供一个TR模块的成本要高得多。因此,作为折衷方案,TR开关通常用于为多个天线元件供电。这与雷达界使用的子阵列配置的概念相同。下图显示了其中一种配置。

上图显示,在发射端,TR开关的数量,NTRF,小于天线元件的数量,NT.为了提供更大的灵活性,每个天线元件都可以连接到一个或多个TR模块。此外,可以在每个TR模块和天线之间插入模拟移相器,以提供一些有限的转向能力。

接收器侧的配置类似,如图所示。最大数据流数,Ns,该系统可以支持的较小者NTRFNR RF.

在这种配置中,不再可能在每个天线元件上应用数字砝码。相反,数字权重只能应用于每个RF链。在元件级别,信号由模拟移相器调整,这只会改变信号的相位。因此,预编码或组合实际上是分两个阶段完成的。由于这种方法在数字域和模拟域中执行波束成形,因此称为混合波束成形。

三、系统设置

本节模拟一个 64 x 16 MIMO 混合波束成形系统,发射器侧有一个 64 元件方形阵列,发射器侧有 4 个射频链,接收器侧有一个 16 个元素方形阵列,有 4 个射频链。

在此仿真中,假设每个天线都连接到所有RF链。因此,每个天线连接到 4 个移相器。可以通过将阵列孔径划分为4个完全连接的子阵列来建模这样的阵列。

为了最大限度地提高频谱效率,每个RF链都可用于发送独立的数据流。在这种情况下,系统最多可以支持 4 个流。

接下来,假设一个散射环境,其中 6 个散射簇随机分布在空间中。在每个星团内,有8个位置很近的散射体,角度扩散为5度,总共有48个散射体。每个散射体的路径增益是从复圆对称高斯分布中获得的。

四、混合权重计算

在具有全数字波束成形的空间多路复用系统中,信号由一组预编码权重调制,通过通道传播,并由一组组合权重恢复。在数学上,这个过程可以描述为 其中 是列矩阵,其列是数据流,是一个Y = (X*F*H+N)*WXNsFNs × Nt表示预编码权重的矩阵,是一个WNr × Ns表示组合权重的矩阵是一个列矩阵,其列是每个元素的接收器噪声,并且是一个列矩阵,其列是恢复的数据流。由于系统的目标是实现更好的频谱效率,因此获取预编码和组合权重可以被视为一个优化问题,其中最佳预编码和组合权重使对角矩阵的乘积,因此每个数据流都可以独立恢复。NNrYNsF*H*W'

在混合波束成形系统中,信号流是相似的。预编码权重和组合权重都是基带数字砝码和RF频段模拟砝码的组合。基带数字砝码将输入数据流转换为每个RF链上的输入信号,然后模拟砝码将每个RF链上的信号转换为在每个天线元件上辐射或收集的信号。请注意,模拟砝码只能包含相移。

在数学上,它可以写为 和 ,其中 是F=Fbb*FrfW=Wbb*WrfFbbNs × NtRF矩阵,一个FrfNtRF × Nt矩阵,一个WbbNrRF × Ns矩阵,以及WrfNr × NrRF矩阵。由于两者都只能用于修改信号相位,因此在优化过程中存在额外的约束,以确定最佳预编码和组合权重。理想情况下,和 的结果组合是 和 的近似值,无需这些约束即可获得。FrfWrfFbb*FrfWrf*WbbFW

不幸的是,同时优化所有四个矩阵变量是相当困难的。因此,提出了许多算法,以合理的计算负载得出次优权重。此示例使用 [1] 中提出的方法,该方法将预编码和组合权重的优化解耦。它首先使用正交匹配追踪算法来导出预编码权重。计算出预编码权重后,使用结果获得相应的组合权重。

假设信道已知,则可以通过对角化信道矩阵并提取第一主导模式来获得不受约束的最优预编码权重。

上面的响应模式表明,即使在多路径环境中,主要方向的数量也有限。

混合砝码的光束模式如下所示:

与使用最优权重获得的光束模式相比,使用混合权重的光束模式相似,特别是对于主光束。这意味着数据流可以使用混合权重成功地通过这些波束传输。

五、光谱效率比较

5G系统的系统级性能指标之一是频谱效率。下一节将比较使用最佳权重实现的频谱效率与所提出的混合波束成形权重的频谱效率。模拟假设 1 或 2 个数据流,如 [1] 中所述。假设发射天线阵列位于基站,聚焦波束宽度为方位角60度,仰角为20度。信号可以从任何方向到达接收阵列。得到的频谱效率曲线是从每个SNR的50次蒙特卡洛试验中获得的。

该图表明,当我们增加数据流的数量时,频谱效率显着提高。此外,混合波束成形的性能可以接近使用更少硬件所能提供的最佳权重。

六、总结

本示例介绍了混合波束成形的基本概念,并展示了如何使用正交匹配追踪算法拆分预编码和组合权重。它表明,混合波束成形可以与最佳数字砝码提供的性能紧密匹配。

七、参考文献

[1] Omar El Ayach, et al. Spatially Sparse Precoding in Millimeter wave MIMO Systems, IEEE Transactions on Wireless Communications, Vol. 13, No. 3, March 2014.

八、程序

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

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

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

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

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

相关文章

lammps教程:聚合物压缩,避免“bond atoms missing”

本文介绍聚合物的压缩方法。 lammps模拟聚合物体系时,最常见的一个错误是“bond atoms missing”,其中一个原因是建模方法不对。 这个原理在之前的专栏文章中已经详细介绍。 如果使用ms建模,聚合物的链会伸出到盒子外面,在导出data文件后&…

MindFusion.Diagramming for WinForms 6.8.6

您现在可以指定在修改项目时要显示的视觉效果。 2023 年 4 月 26 日 - 15:55新版本 特征 您现在可以指定在修改项目时要显示的视觉效果。新的 Opacity 属性允许您创建半透明的 DiagramItem。添加了新的 CopySelection 重载,它允许您复制项目列表而无需选择它们。您现…

OrbStack

OrbStack 是一个可以在 macOS 上快速运行 Docker 容器,和 Linux 虚拟机的工具,资源占用率低,高效,快速。 macOS 上的 Parallels Desktop 和 Docker Desktop 一直是饱受诟病,慢、重、资源消耗巨大。OrbStack 的出现就是…

goroutine和channel

进程与线程 进程就是程序执行在操作系统中的一次在执行过程,是系统进行资源分配的基本单位。 线程就是进程的一个执行实例,是程序的最小执行单元,是比进程更小的独立运行的单位。 一个进程可以创建多个线程,同一一个进程中的多…

如何在C中动态分配二维数组

在C语言中如何动态申请连续的二维数组。可以采用多申请一些指针,然后这一些指针分别指向后面数据区中对应的位置,如一个3*4的int类型数组,我们先申请大小为sizeof(int*) * 3 3 * 4 * sizeof(int)的一维数组设为arr。然后arr[0]存放指向arr …

OpenAirInterface通过docker build方式构建images

本文主要讲解如何通过build方式构建各个网元的image,因为直接pull的image无法对其进行更改,而build的镜像可以对其源代码进行编辑更改后生成镜像。 参考链接:OAI build iamges 1.获取正确的网络功能分支 此存储库仅包含教程和持续集成脚本…

有假币与求正数数组的最小不可组成和

一、编程题 1.有假币 链接:有假币__牛客网 (nowcoder.com) 居然有假币! 现在猪肉涨了,但是农民的工资却不见涨啊,没钱怎么买猪肉啊。nowcoder这就去买猪肉,结果找来的零钱中有假币!!&#xff…

爪哇项目maven项目的打包方式

大家好 ~ 前言 现在都是使用idea中maven插件来打包项目,出现了很多问题很多类或者方法、依赖没有打入到包中,发生了很多问题,因此此文章将基于idea中的maven插件打包。 概念 打包分为小包和大包两种概念: 小包:只打…

Conda虚拟环境的复制和迁移

Conda虚拟环境的复制和迁移 在本机复制Conda虚拟环境 conda create --name snapshot --clone myenv相同操作系统之间复制环境 方法一:requirements.txt 这个方法不推荐,因为只会导出你使用pip安装的依赖包,不会导出虚拟环境所依赖的包&am…

SQL应用题分析

SQL应用题的一般考点: 基本表的查询(单表、多表、嵌入、分组、排序)、向表中插入数据、更新数据、建立视图 关系代数替换sql,使用关系代数来进行查询 基本上就这几点 SQL基本表的插入、更新和建立视图都是死板的,只…

前端开发:CSS中@import指令详解

前言 在前端开发过程中,关于CSS的使用也是非常的,尤其是样式相关的设置等操作。作为前端开发者关于import指令都会有所了解,尤其是在导入CSS样式的时候会用到,但是刚入行不久的前端开发者对应import指令会有所陌生。那么本文就来分…

项目管理:我该怎么安排下属的工作

在刚开始做项目经理的时候,分配任务时会局限于这样的心理:以前我们都是平级的同事,现在我比他们高一个级别了,我说的话他们会不会听啊。 在这个阶段,大部分项目经理都缺乏自信,觉得在项目成员心中威望不足…

Linux shell编程 条件语句if case

条件测试 test命令 测试表达式是否成立,若成立返回0,否则返回其他数值 格式1: test 条件表达式 格式2: [ 条件表达式 ]文件测试 [ 操作符 文件或者目录 ][ -e 1.txt ]#查看1.txt是否存在,存在返回0 echo $? #查看是上一步命令执行结果 0成…

15天学习MySQL计划-存储过程变量判断循环游标函数触发器(进阶篇)-第九天

15天学习MySQL计划-存储过程/变量/判断/循环/游标/函数/触发器(进阶篇)-第九天 存储过程 1.介绍 ​ 存储过程是事先经过编译并存储是数据库中的一段SQL语句的集合,调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库…

SR常用数据集介绍

1.Download Link: 1.DIV2K: DIV2K Dataset 2.Set5:【实践与问题解决28】最全超分辨率(SR)数据集介绍以及多方法下载链接_超分辨率数据集_呆呆象呆呆的博客-CSDN博客 3.Set14:【实践与问题解决28】最全超分辨率(SR)数…

Java --- springboot2的静态资源配置原理

目录 一、静态资源配置原理 1.1、配置类只有一个有参构造器 1.2、资源处理的默认规则 1.3、欢迎页的处理规则 一、静态资源配置原理 springboot启动默认加载xxxAutoConfiguration(自动配置) springmvc功能的自动配置类,生效 Configuration(proxyBeanMethods …

Find My资讯|苹果iOS 17将增强Health应用、引入情绪追踪器

彭博社的马克・古尔曼表示,苹果计划在 iOS / iPadOS 17 系统中,为 iPhone / iPad 用户引入几项和健康相关的新功能。其中最值得关注的一款新应用,可以追踪用户的情绪。 苹果计划进一步增强 Health 应用,引入视力状况相关的功能。…

Python小姿势 - # Python网络爬虫之如何通过selenium模拟浏览器登录微博

Python网络爬虫之如何通过selenium模拟浏览器登录微博 微博登录接口很混乱,需要我们通过selenium来模拟浏览器登录。 首先我们需要安装selenium,通过pip安装: pip install selenium 然后我们需要下载一个浏览器驱动,推荐使用Ch…

【翻译一下官方文档】认识uniCloud云数据库(基础篇)

我将用图文的形式,把市面上优质的课程加以自己的理解,详细的把:创建一个uniCloud的应用,其中的每一步记录出来,方便大家写项目中,做到哪一步不会了,可以轻松翻看文章进行查阅。(此文…

虹科活动丨2023第十三届药品质量安全大会精彩回顾

由中国社会科学院食品药品产业发展与监管研究中心、北京中培科检信息技术中心联合主办的2023第十三届(春季)全国药品质量安全大会暨展览会圆满结束,会上众多优秀企业齐聚一堂,分享独家产品,交流行业知识。 在生物科学…