当前位置: 首页 > news >正文

WiFi 发射链路 MCS 自适应机制介绍

链路适配是指发射机选择最优的MCS向特定的接收机发送数据的过程。链路自适应算法的实现有其特殊性,但通常基于测量的数据包错误率(PER)。大多数算法监视PER并调整MCS以跟踪一个最佳的长期平均值,以平衡由于使用更高MCS发送更短数据包而减少的开销和由于更高MCS增加的PER而增加的重传开销。

根据需要确定PER值意味着在一段时间内监视数据包错误,这段时间相对于数据包的持续时间来说很长。例如,要非常粗略地测量10% /,就需要发送器发送10个出错的数据包。正因为如此,基于PER的链路适应缓慢地适应不断变化的信道条件。在许多环境中,信道随着站的移动或环境本身的变化而随时间变化,例如荧光灯泡中50hz或60hz的电离周期,环境中物体的移动,或外部噪声源的变化。这些变化的条件在时间尺度上发生的速度可能比可以测量的速度快。因此,链路自适应算法选择的是长期最优的MCS,而不是瞬时最优的MCS。

如何更紧密地跟踪信道的变化可能提高性能考虑图15.1,而抽象地显示瞬时容量反映不断变化的信道条件,与吞吐量基于MCS选择实现长期10%和吞吐量基于MCS选择实现瞬间10%。当MCS被选择来满足一个长期的,数据包错误主要发生在瞬时容量低于长期平均值的地方。在极端的情况下,所有的数据包错误都发生在糟糕的信道条件下,这些条件将占10%的时间。在一个不那么极端的情况下,短时间的不良通道条件仍然会导致大部分的包丢失。

如果选定的MCS跟踪信道变化,那么当信道条件较差时,通过选择一个更稳健的MCS,可以通过更高的平均吞吐量实现相同的PER。通道条件有利于提高数据速率。由于信道条件差的时间段相对较短,并且在信道条件好的情况下可以发送更多数据,因此总体性能得到了提高。

MCS feedback

实现快速链路适应的一种机制是通过定期提供反馈让接收方参与MCS的选择过程。802.11n和802.11ac修正案为HT控制域添加了MCS反馈域,作为提供这种反馈的手段。接收机不断地监测接收到的传输质量或信道本身的特性,并对利用信道条件的最佳MCS提供建议。发射机采取建议的MCS,并将其与它所拥有的知识(例如发射功率放大器退关)结合起来,得出一个MCS,应该最优地使用链路。

802.11n和802.11ac修正案并没有指定接收端获得MCS建议的技术。一个好的假设是,建议的MCS是在接收方看来能够优化吞吐量的MCS。然而,吞吐量取决于所使用的排序算法和可设想的替代优化点,例如通过瞄准低的PER来优化延迟,以避免重传。很可能一个基于MCS反馈的实际链路自适应算法需要自适应地调整建议的MCS,可能是接收机在其MCS建议的高或低方面一贯出错的因素。

对于各种波束形成形式,发射机可以根据信道状态的知识进行MCS的选择。通过隐式反馈波束形成和基于CSI的显式反馈波束形成,发射机可以直接了解信道状态。通过压缩和非压缩显式波束形成,发射机以每个空间流的信噪比值的形式接收信道的间接信息。因此,发射机可以使用信道状态知识进行MCS选择。在某些情况下,当接收机有干扰时,发射机可以从mcs反馈中受益。

MCS feedback mechanisms

工作站可以通过三种方式接收MCS反馈:

*直接。工作站发送一个请求MCS反馈并收到一个即时响应。这种方法允许请求者接收并应用反馈TXOP相同。

*延迟。一个工作站发送一个请求MCS反馈和延迟响应发生,当响应器在随后的TXOP中传输响应时应答器。

*主动。工作站接收MCS反馈,而不受任何要求的影响反馈。

MCS反馈机制在“ HT控制”字段中受支持,当封装在“控制包装器”帧中时,该字段可能存在于QoS数据帧中,也可能存在于诸如ACK和BA之类的控制帧中。

有了802.11ac修订版,HT控制字段现在有两个变体:802.11n中引入了HT变体HT控制字段,而802.11ac中引入了VHT变体HT控制字段。 这两个变量的区别在于字段中第一位的设置。 两种变体都支持上面概述的用于MCS反馈的机制,而VHT变体提供更多细节以适应更宽的信道操作,更大数量的空间流以及关于为其提供MCS反馈的PPDU类型的更多细节。

MCS feedback using the HT variant HT Control field

为了请求反馈,站点将HT变量HT控制字段中的MRQ(MCS请求)字段设置为1,并为MSI(MCS请求序列标识符)选择一个介于0到6之间的值。 在延迟响应的情况下,MSI用于将响应与请求相关联,并且所选值取决于实现。 在MCS反馈响应中,响应者将MSFI(MCS反馈序列标识符)设置为相应MCS请求中的MSI值。 当响应者提供未经请求的MCS反馈时,MFSI值将设置为7。

如果HT变体HT控制字段包含在一个聚合中的多个MPDU中,则MRQ和MSI字段将设置为相同的值,并有效地充当单个请求。 HT变量HT Control字段应包括在所有帧中,以构成一个集合以提高鲁棒性。

MCS请求应在交错的探测PPDU中发送,或者应在NDP通告字段设置为1的情况下发送,并随后进行NDP传输。 探测PPDU或NDP中HT-LTF的数量由要探测的空间尺寸的总数确定,包括除PPDU数据部分使用的尺寸之外的任何额外空间尺寸。

收到MCS请求后,响应者应计算MCS估算值。 响应者可以选择使用以下任何MFB(MCS反馈)和MFSI组合发送响应帧:

* MFB = 127,MFSI =7。没有提供有关立即进行中的请求或任何其他未决请求的信息。

* MFB = 127,MFSI在0到6的范围内。响应者无法提供反馈。

* MFB的范围是0到126,MFSI的范围是0到6。响应者正在为先前收到的请求提供反馈,而MSI等于MFSI。

* MFB的范围是0到126,MFSI =7。响应者正在提供未经请求的反馈。

硬件限制可能会限制响应者可以处理的未完成的MCS请求的数量。 当来自不同请求者或来自同一请求者但具有不同MSI值的新MCS请求到达时,响应者可以选择忽略该请求或放弃当前请求并开始对新请求进行计算。 如果响应者放弃未决的MCS估计计算,则应返回MFB设置为127且MFSI设置为与MCS请求中的相应MSI相同的值的响应。

响应者受到它可以提出的MCS建议的限制。 它不能提出包含比请求者支持的特殊流更多的特殊流的MCS建议。 除非请求者在“支持的MCS设置”字段的“ Tx不等调制支持”位中指出它能够进行不等调制,否则它也不应提出MCS建议进行不等调制。

MCS feedback using the VHT variant HT Control field

站点通过在VHT功能元素中设置VHT链路适应能力字段来指示其使用VHT变体HT控制字段对链路适应的支持。 可能有三种支持级别:无支持,仅支持未经请求的反馈或支持未经请求和已请求的反馈。  

为了征求反馈,站点将VHT变量HT控制字段中的MRQ字段设置为1。响应站点收到反馈请求后,将计算SNR值和建议的MCS以及空间流的数量。 响应站计算基于承载请求的PPDU,除非请求由VHT NDP通告帧承载,在这种情况下,计算基于帧之后的VHT NDP。

对反馈请求的响应在VHT变体HT控制字段中进行,并且可以是立即的(在携带确认的控制包装帧中),也可以是延迟的(在随后的QoS数据帧中)。响应包括来自请求的MSI值。 响应者无法提供响应,可以通过将MCS,N_STS设置为全1来发送空响应。

工作站也可以提供未经请求的反馈,在这种情况下,VHT变量HT控制字段中的Unsolicited字段设置为1。使用未经请求的反馈,在PPDU上提供使用VHT变量HT Control字段443的附加15.4 MCS反馈, 计算SNR,MCS和N_STS。 如果MU PPDU,编码类型,是否使用STBC,是否对PPDU进行波束成形(基于VHT-SIG-A PHY标头中BEAMFORMED位的设置),则该附加信息包括组ID;以及 PPDU的信道带宽。

相关文章:

WiFi 发射链路 MCS 自适应机制介绍

链路适配是指发射机选择最优的MCS向特定的接收机发送数据的过程。链路自适应算法的实现有其特殊性,但通常基于测量的数据包错误率(PER)。大多数算法监视PER并调整MCS以跟踪一个最佳的长期平均值,以平衡由于使用更高MCS发送更短数据包而减少的开销和由于更…...

【Linux常用命令】-文件写入相关

一、rm命令,文件删除 1.相关参数 -f(–force):强制删除文件或目录,无需确认。 -r(–recursive):递归地删除目录及其内容。 -i(–interactive):交…...

枚举的第一行

2023年11月26日 问题: 好奇enum的所声明的枚举类的第一行是什么 从java技术卷1中第五章5.6中,了解是枚举类的实例 验证 错误信息: 解释: 此时只有有参构造 在这个枚举类里不能使用空,大概意思是说不能使用空参创建实例 校验 在原有的基础上创建一个无参构造 结果:不再报错,第…...

LeetCode.707设计链表(链表相关操作一篇就够了)

LeetCode.707设计链表 1.问题描述2.解题思路3.代码 1.问题描述 你可以选择使用单链表或者双链表,设计并实现自己的链表。 单链表中的节点应该具备两个属性:val 和 next 。val 是当前节点的值,next 是指向下一个节点的指针/引用。 如果是双…...

图论——二部图及其算法

什么是二部图 二部图的判定 例子1 任选一个节点染成红色 红色的邻居染成蓝色 蓝色邻居染成红色 例子2 这个不是二部图 无权二部图的最大匹配...

实现简单的操作服务器和客户端(下)

一、说明 描述:本教程介绍如何使用 simple_action_client 库创建斐波那契操作客户端。此示例程序创建一个操作客户端并将目标发送到操作服务器。 内容 代码代码解释编译运行操作客户端连接服务器和客户端...

第二十章 解读PASCAL VOC2012与MS COCO数据集(工具)

PASCAL VOC2012数据集 Pascal VOC2012官网地址:http://host.robots.ox.ac.uk/pascal/VOC/voc2012/ 官方发表关于介绍数据集的文章 《The PASCALVisual Object Classes Challenge: A Retrospective》:http://host.robots.ox.ac.uk/pascal/VOC/pubs/everi…...

FreeRTOS列表和列表项

目录 列表和列表项 关于列表的一些操作 初始化列表 初始化列表项 列表插入列表项 列表项末尾插入 重点 pxIndex指向的是什么 xItemValue存的是什么 vListInsertEnd()的插入位置 List的头尾在哪里? 通用链表的三种实现方式 方法一 方法二 方法三 总结 Fre…...

【go语言实现一个webSocket的一个demo】

go语言实现一个webSocket的一个demo 前端代码 <html lang"zh-CN"><head></head><body> <script type"text/javascript">// header(Access-Control-Allow-Origin:*);var sock null;var wsuri "ws://127.0.0.1:9999&…...

es6字符串模板之标签化模板

es6字符串模板 我们经常搞前端开发工作的都会用到。它可以保留字符串换行格式&#xff0c;还能接受变量。这个给前端的字符串拼接带来了非常大的方便。但是还有一种用法可能是我们平时还是没有怎么用到的。 styled-components 在项目中熟悉使用react的童鞋可能会用过styled-…...

opencv入门1.1:从视频或摄像头读取图像

cv::VideoCapture是 OpenCV 中用于从视频文件或摄像头捕获图像帧的类。它提供了各种方法和函数&#xff0c;用于读取和处理视频数据。 以下是对 cv::VideoCapture类的详细解释和说明&#xff1a; 1. 打开视频源 为了使用 cv::VideoCapture&#xff0c;我们首先需要打开一个视…...

【数据中台】开源项目(1)-LarkMidTable

LarkMidTable 是一站式开源的数据中台&#xff0c;实现中台的 基础建设&#xff0c;数据治理&#xff0c;数据开发&#xff0c;监控告警&#xff0c;数据服务&#xff0c;数据的可视化&#xff0c;实现高效赋能数据前台并提供数据服务的产品。 系统演示地址 &#xff1a; www.l…...

VUE简易购物车程序

目录 效果预览图 完整代码 效果预览图 完整代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>…...

如何清除redis缓存?

首先进入redis安装目录 当前目录下执行CMD命令&#xff08;shift 右键 -> 选择 ‘在此处打开Powershell窗口’ &#xff09; 执行 redis-cli.exe -h 127.0.0.1 -p 6379flushall...

接收网络包的过程——从硬件网卡解析到IP层

当一些网络包到来触发了中断&#xff0c;内核处理完这些网络包之后&#xff0c;我们可以先进入主动轮询 poll 网卡的方式&#xff0c;主动去接收到来的网络包。如果一直有&#xff0c;就一直处理&#xff0c;等处理告一段落&#xff0c;就返回干其他的事情。当再有下一批网络包…...

正则化与正则剪枝

写在前面&#xff1a;本博客仅作记录学习之用&#xff0c;部分图片来自网络&#xff0c;如需引用请注明出处&#xff0c;同时如有侵犯您的权益&#xff0c;请联系删除&#xff01; 文章目录 引言正则化为什么会过拟合拉格朗日与正则化梯度衰减与正则化 应用解决过拟合网络剪枝 …...

Element-Plus 图标自动导入

&#x1f680; 作者主页&#xff1a; 有来技术 &#x1f525; 开源项目&#xff1a; youlai-mall &#x1f343; vue3-element-admin &#x1f343; youlai-boot &#x1f33a; 仓库主页&#xff1a; Gitee &#x1f4ab; Github &#x1f4ab; GitCode &#x1f496; 欢迎点赞…...

关于DCDC电源中的PWM与PFM

在开关电源DCDC中&#xff0c;我们经常会听到PWM模式与PFM模式。 关于&#xff0c;这两种模式&#xff0c;小编在之前的文章中&#xff0c;做过简单的描述。今天就来针对性的就这两种模式展开讲讲。 PWM&#xff1a;脉冲宽度调制&#xff0c;即频率不变&#xff0c;不断调整脉…...

S25FL系列FLASH读写的FPGA实现

文章目录 实现思路具体实现子模块实现top模块 测试Something 实现思路 建议读者先对 S25FL-S 系列 FLASH 进行了解&#xff0c;我之前的博文中有详细介绍。 笔者的芯片具体型号为 S25FL256SAGNFI00&#xff0c;存储容量 256Mb&#xff0c;增强高性能 EHPLC&#xff0c;4KB 与 6…...

一次【自定义编辑器功能脚本】【调用时内存爆仓】事故排查

一 、事故描述 我有一个需求&#xff1a;在工程文件中找得到所有的图片&#xff08;Texture 2D&#xff09;&#xff0c;然后把WebGL发布打包时的图片压缩规则进行修改。 项目中有图片2千多张&#xff0c;其中2k分辨率的图片上百张&#xff0c;当我右键进行批量处理的时候&…...

吃透QClaw原生运行逻辑:解决指令无响应、权限阻塞、上下文断层

在技术领域&#xff0c;我们常常被那些闪耀的、可见的成果所吸引。今天&#xff0c;这个焦点无疑是大语言模型技术。它们的流畅对话、惊人的创造力&#xff0c;让我们得以一窥未来的轮廓。然而&#xff0c;作为在企业一线构建、部署和维护复杂系统的实践者&#xff0c;我们深知…...

RTX 4090D 24G大模型推理免配置镜像:PyTorch 2.8 + CUDA 12.4保姆级教程

RTX 4090D 24G大模型推理免配置镜像&#xff1a;PyTorch 2.8 CUDA 12.4保姆级教程 1. 开箱即用的深度学习环境 如果你正在寻找一个免配置、开箱即用的深度学习环境&#xff0c;这个基于RTX 4090D 24GB显卡优化的PyTorch 2.8镜像就是为你准备的。想象一下&#xff0c;不用再花…...

ESP32嵌入式菜单框架:基于tcMenu的工业HMI开发库

1. 项目概述bamboitEsp32Base_3.0.0是一个面向 ESP32 系列微控制器&#xff08;特别是 ESP32-WROOM-32、ESP32-WROVER、ESP32-S2/S3&#xff09;的综合性嵌入式基础库&#xff0c;其核心定位并非通用 HAL 封装&#xff0c;而是围绕tcMenu&#xff08;Touch Control Menu&#x…...

兼容性测试覆盖多平台与多版本

兼容性测试&#xff1a;跨越平台与版本的品质保障 在数字化时代&#xff0c;软件和应用程序需要在多种操作系统、设备和版本上稳定运行。兼容性测试作为质量保障的关键环节&#xff0c;确保产品在不同环境下表现一致。随着用户终端多样化&#xff0c;覆盖多平台与多版本的测试…...

如何在5分钟内为你的Minecraft服务器添加RPG技能系统

如何在5分钟内为你的Minecraft服务器添加RPG技能系统 【免费下载链接】mcMMO The RPG Lovers Mod! 项目地址: https://gitcode.com/gh_mirrors/mc/mcMMO mcMMO为Minecraft服务器添加深度RPG技能系统&#xff0c;让玩家在挖矿、伐木、战斗等日常活动中获得成长体验。这款…...

用户遇到了Docker镜像拉取超时的问题。我需要提供故障排除和解决方案。

你遇到的 Client.Timeout exceeded while awaiting headers 错误&#xff0c;核心原因是网络连接不稳定。虽然你已经配置了加速器&#xff0c;但从报错看&#xff0c;问题很可能就出在这个加速器地址上。 ⚠️ 配置了镜像源&#xff0c;为何还会超时&#xff1f; 这其实是个很常…...

为什么92%的AI团队还在用传统Scrum硬扛?:揭秘LLM驱动开发下的3层敏捷解耦新模型

第一章&#xff1a;AI原生软件研发敏捷开发方法适配 2026奇点智能技术大会(https://ml-summit.org) AI原生软件的研发范式正从根本上挑战传统敏捷开发的边界——模型迭代、数据漂移、提示工程验证与系统级可观测性耦合&#xff0c;使Scrum的固定Sprint节奏与用户故事拆分逻辑面…...

基于springboot+vue好漂酿自助美甲管理系统hx0749FECS

文章目录详细视频演示技术介绍功能介绍核心代码系统效果图源码获取详细视频演示 文章底部名片&#xff0c;获取项目的完整演示视频&#xff0c;免费解答技术疑问 技术介绍 开发语言&#xff1a;Java 框架&#xff1a;ssm JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomca…...

CMMI认证避坑指南:中小企业如何用最低成本拿下3级认证(附实战案例)

CMMI认证避坑指南&#xff1a;中小企业如何用最低成本拿下3级认证&#xff08;附实战案例&#xff09; 对于许多中小企业来说&#xff0c;CMMI认证似乎是一个遥不可及的目标——高昂的咨询费用、复杂的文档要求、漫长的准备周期&#xff0c;每一项都让资源有限的团队望而却步。…...

Google收紧分发与权限,全球监管聚焦数字生命周期

最近&#xff0c;Google平台治理的节奏明显加快。Google 在安卓生态中持续推进隐私保护与开发者验证的强化&#xff0c;而全球多国监管机构则在儿童安全、游戏停服、账号封禁与内容分级等议题上释放出更具执行力的信号。整体来看&#xff0c;平台透明度、分发控制、隐私权限与数…...