基于matlab使用波束成形生成 802.11ad 波形

news2024/11/17 23:49:13

一、前言

本示例说明如何使用WLAN工具箱和相控阵系统工具箱对带有相控阵的IEEE 802.11ad DMG波形进行波束成形。

二、介绍

IEEE 802.11ad 定义了工作在 60 GHz 的定向千兆位 (DMG) 传输格式。为了克服在 60 GHz 下遇到的大路径损耗,IEEE 802.11ad 标准旨在支持定向波束成形。通过使用相控天线阵列,您可以应用天线权重矢量 (AWV) 将天线方向图聚焦在所需方向。每个数据包在所有阵列元素上传输,但 AWV 对每个元素应用相移以控制传输。通过将可选的训练字段附加到DMG数据包,并在发射器或接收器上测试不同的AWV,可以提高通信链路的质量。这个过程称为光束细化。

DMG 数据包由以下字段组成:

  1. STF - 用于同步的短训练场。

  1. CE - 通道估计字段,用于通道估计。

  1. 标头 - 接收方解码以确定传输参数的信令字段。

  1. 数据 - 数据字段,承载用户数据负载。

  1. AGC 子场 - 可选的自动增益控制 (AGC) 子场,用于光束细化。

  1. 训练子字段 - 可选的训练子字段,用于光束细化。

STF 和 CE 字段构成前导码。DMG 数据包的前导码、报头和数据字段使用相同的 AWV 传输。对于发射器波束细化训练,最多可以将 64 个训练 (TRN) 子字段附加到数据包。每个 TRN 子字段使用不同的 AWV 传输。这允许测量多达 64 种不同 AWV 的性能,并优化前导码、标头和数据字段的 AWV,以便后续传输。CE 子字段定期传输,每四个 TRN 子字段一个,在 TRN 子字段之间传输一个。每个 CE 子字段都使用与前导码相同的 AWV 进行传输。为了允许接收方在接收 TRN 子字段之前重新配置 AGC,TRN 子字段前面是 AGC 子字段。对于每个 TRN 子字段,AGC 子字段使用应用于单个 TRN 子字段的相同 AWV 进行传输。这允许在接收器上设置增益,适合测量所有TRN子场。下图显示了数据包结构,其中四个 AGC 和 TRN 子字段已编号并突出显示。因此,作为光束细化的一部分,对四种AWV进行了测试。相同的 AWV 应用于具有相同编号的 AGC 和 TRN 子字段。

此示例通过将不同的 AWV 应用于每个训练子字段来模拟发射机训练,以在多个方向上引导传输。通过评估远场平面波在接收器上评估每个训练子场的强度,以确定哪种传输 AWV 是最佳的。此仿真不包括通道或路径损耗。

三、波形规格

该波形配置为具有单载波调制 (SC) 物理层、100 字节物理层服务数据单元 (PSDU) 和四个发射器训练子字段的 DMG 数据包传输。四个训练子字段允许测试四个AWV的光束细化。使用WLAN 工具箱,创建一个 DMG 配置对象。DMG 配置对象指定传输参数。

四、波束成形规范

发射器天线方向图配置为具有半波长间距的 16 元件均匀线性阵列。使用分阶段的对象。ULA和分阶段。转向矢量,创建相控阵和AWV。用于评估传输的接收器位置指定为与发射器视线的偏移。

创建具有16个晶片的均匀线性相控阵来控制传输。AWV 是使用分阶段创建的。转向矢量对象。指定了五个转向角以创建五个 AWV,一个用于前导码和数据字段,一个用于四个训练子字段。前导码和数据场在视线处传输。四个训练子场以围绕视线的角度传输。

使用 plotArrayResponse 帮助程序函数,数组响应显示接收器的方向与训练子字段 TRN-SF3 的方向最一致。

五、生成基带波形

使用配置的DMG对象和填充了随机数据的PSDU作为波形发生器wlan波形发生器(WLAN工具箱)的输入。波形发生器根据格式配置调制PSDU位。

六、将权重矢量应用于每个字段

A 分阶段。创建辐射器对象以将AWV应用于波形,将来自每个元素的辐射信号组合成平面波,并确定感兴趣角度的平面波。DMG波形的每个部分都通过一组指定的AWV和评估平面波的角度通过辐射器。

七、评估波束成形波形

辅助函数绘制DMGWaveform绘制波束成形平面波的大小。在评估波束成形平面波的大小时,我们可以看到在接收器方向上形成的波束比其他场强。

八、结论

此示例展示了如何生成 IEEE 802.11ad DMG 波形并将 AWV 应用于波形的不同部分。该示例使用WLAN工具箱生成符合标准的波形,并使用相控阵系统工具箱应用AWV并评估接收器方向上产生的平面波的幅度。

九、参考

  1. IEEE Std 802.11-2020 IEEE Standard for Information technology - Telecommunications and information exchange between systems - Local and metropolitan area networks - Specific requirements - Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications.

十、程序

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

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

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

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

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

相关文章

进阶必看 | 有关BIMer强推的5本书,看过的都竖大拇指!

大家好,还是我,建模助手。 本期的主题都是围绕着:热点。除了建模助手的品牌资讯之外,还有一些与行业相关的热点。 这不,4月23日是正好的世界读书日,给大家搞一波书籍推荐! 小编认为&#xff…

【Dubbo核心 详解二】Dubbo服务消费的详解

✅创作者:陈书予 🎉个人主页:陈书予的个人主页 🍁陈书予的个人社区,欢迎你的加入: 陈书予的社区 🌟专栏地址: Dubbo专栏 文章目录 引言介绍 Dubbo 服务消费的详解的目的和背景概述 Dubbo 服务消费的过程和核心概念一、Dubbo 服务消费的基础知识1. Dubbo 服务消费的架…

动力节点springsecurity笔记-SpringSecurity 集成thymeleaf

15 SpringSecurity 集成thymeleaf 此项目是在springsecurity-12-database-authorization-method 的基础上进行 复制springsecurity-12-database-authorization-method 并重命名为springsecurity-13-thymeleaf 15.1 添加thymeleaf依赖 | org.springframework.boot spring-…

h5逻辑_解决h5页面嵌入ios兼容性问题

安全区域 如下图所示~ 蓝色部分为安全区域。处于安全区域内的内容不受圆角、齐刘海、小黑条的影响。 若是将h5页面嵌入app中,就需要进行适配—> 让h5页面展示在安全区域内。 tips: 安全区域是在ios11之后并且是iPhoneX及以上机型才有的。 因此我们只…

【微信小程序】详解behaviors,如何使用behaviors

一,behaviors 1.1什么是 behaviors? behaviors 是小程序中, 用于实现组件间代码共享的特性 ,类似于 Vue.js 中的 “mixins”。 1.2behaviors 的工作方式 每个 behavior 可以包含一组 属性、数据、生命周期函数和方法 。组件引…

【PE】inline hook的实现

【PE】inline hook的实现 hook思路 最基本的5字节的hook思路如下,有了这个思路,可以用更多的方式进行hook 通过修改目标函数开头的5个字节为jmp …,劫持程序执行流跳转过去之后,再把API开头5字节改回来(UnHook&…

Servlet 入门到精通(六)

上一篇博客的传送门:Servlet 入门到精通(五) Servlet Filter 又称 Servlet 过滤器,它是在 Servlet 2.3 规范中定义的,是 Servlet 中的一个组件,是设计模式中责任链模式的一种经典实现。能够对 Servlet 容器…

SpringBoot启动自动执行sql脚本

在开发当中我们每次发布服务都需要手动执行脚本,然后重启服务,而SpringBoot有服务启动自动执行sql脚本的功能的,可以为我们省去手动执行脚本的这一步,只需要部署新的服务即可。 这个功能是SpringBoot自带的不需要引入额外的依赖&a…

Spring Boot 提取内存密码

访问 /actuator/heapdump 下载内存,提取密码 select * from java.util.LinkedHashMap$Entry x WHERE (toString(x.key).contains("password"))

学习系统编程No.21【进程间通信之共享内存】

引言: 北京时间:2023/4/16/21:53,刚刚把新文章发出去,开完班会回来,本来上篇博客在昨天就能发的,昨天下午打了一下午的羽毛球之后,饭都没吃,躺在床上,准备睡觉&#xff…

Spring五大类注解 || Bean的更简单存储

目录 前言: 五大类注解 Controller Service Repository Component Configuration JavaEE标准分层 阿里分层结构 BeanName命名规则 方法注解 Bean 注入方式取Bean 属性注入 Setter注入 构造方法注入 Resource 前言: 使用Spring容器&…

Linux-驱动开发-基础温习

一、裸机开发和驱动开发的区别: 裸机开发:底层(相对于linux来说),库 二、linux驱动开发-根据各种框架进行开发 1、 外设比较多,资源多,资料非常少,官方的SDK;直接操作寄存器不显示…

Python 基础(十):元组

❤️ 博客主页:水滴技术 🌸 订阅专栏:Python 入门核心技术 🚀 支持水滴:点赞👍 收藏⭐ 留言💬 文章目录 一、声明元组二、访问元组三、修改元组变量四、遍历元组五、切片六、常用函数和方法6.…

SpringBoot实现导出Excel功能

1 问题背景 需求要做一个导出excel的功能 2 前言 本篇着重阐述后端怎么实现,前端实现的部分只会粗略阐述。该实现方案是经过生产环境考验的,不是那些拿来练手的小demo。本文阐述的方案可以借鉴用来做毕设或者加到自己玩的项目中去。 3 实现思路 后端查询…

103. 二叉树的锯齿形层序遍历【191】

难度等级:中等 上一篇算法: 104. 二叉树的最大深度【75】 力扣此题地址: 103. 二叉树的锯齿形层序遍历 - 力扣(Leetcode) 1.题目:103. 二叉树的锯齿形层序遍历 给你二叉树的根节点 root ,返回其…

p65 内网安全-域环境工作组局域网探针方案

数据来源 基本概念 DMZ区域:称为“隔离区”,也称‘’非军事化区/停火区” 工作组(Work Group)是局域网中的一个概念。它是最常见最简单最普通的资源管理模式,就是将不同的电脑按功能分别列入不同的组中,以…

完美解决丨except NameError:

示例如下: try: print(xx) except: print(xx is not defined) print(continue) 解决办法 第一种解决办法: try: print(xx) except NameError: print(xx is not defined) print(continue) 第二种解决办法: print(xx) if xx in locals() e…

camunda工作流user task如何使用

在Camunda中使用User Task通常需要以下步骤: 1、创建User Task:使用BPMN 2.0图形化设计器(如Camunda Modeler),将User Task元素拖到流程图中,并为任务命名,指定参与者(用户或用户组…

第二章 Maven 核心程序解压和配置

第一节 Maven核心程序解压与配置 1、Maven 官网地址 首页: Maven – Welcome to Apache Maven(opens new window) 下载页面: Maven – Download Apache Maven(opens new window) 下载链接: 具体下载地址:https://dlcdn.apac…

算法:(力扣)(牛客)打印螺旋矩阵题

手撕螺旋矩阵 题目思路解题 题目 描述:给定一个m x n大小的矩阵(m行,n列),按螺旋的顺序返回矩阵中的所有元素。数据范围:0 \le n,m \le 100≤n,m≤10,矩阵中任意元素都满足 |val| \le 100∣val…