【5G PHY】5G 调制与编码策略(MCS)介绍

博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持!
博主链接

本人就职于国际知名终端厂商,负责modem芯片研发。
在5G早期负责终端数据业务层、核心网相关的开发工作,目前牵头6G算力网络技术标准研究。


博客内容主要围绕:
       5G/6G协议讲解
       算力网络讲解(云计算,边缘计算,端计算)
       高级C语言讲解
       Rust语言讲解

文章目录

  • 一、5G 调制与编码策略(MCS)介绍
  • 二、调制
  • 三、码率
  • 四、协议中的MCS表
    • 4.1 64QAM表
    • 4.2 256QAM表
    • 4.3 Low SE 64QAM表
    • 4.4 如何选择使用哪个表
  • 五、总结
  • 参考



一、5G 调制与编码策略(MCS)介绍

MCS:调制与编码策略(Modulation and Coding Scheme)
RB:载波(Radio Bearer)
RE:资源元素(Rsource Element)
BLER:误块率(Blocker Error Rate)


在这里插入图片描述

       MCS定义了在一个符号内可以携带的有用比特数。一个符号被定义为一个RE,而MCS定义了每个RE中可用于传输数据的比特数。MCS依赖于无线链路中的信号质量,如果信号质量越好,一个符号中能用于传输数据的比特数就越多;如果信号质量差,则MCS越低,那么一个符号中能用于传输数据的比特数就越少。

       换句话说,我们可以说MCS的值取决于BLER,通常会将BLER定义为10%的阈值,为了在不同的无线环境下保持BLER不超过该值,gNB会根据链路自适应算法分配一个MCS,并通过PDCCH信道上的DCI信令发送给终端,例如,DCI 1_0、DCI 1_1。

MCS主要定义了以下两点:

  • 调制;
  • 码率

二、调制

       调制定义了在一个RE上可以携带多少比特,而不管这些比特是用于传输有效数据的比特还是用于奇偶校验的比特。5G NR支持QPSK、16QAM、64QAM和256QAM调制。QPSK每个RE可以传输2个比特,16QAM可传输4个比特,64QAM可传输6个比特,256QAM可传输8个比特。这些16、64和256就是所谓的QAM调制阶数。每个调制阶数的比特数可以用下面的公式计算:
请添加图片描述


三、码率

       码率可以定义为有效比特数与总传输比特数(即有效比特+冗余比特)的比值。添加的这些冗余比特用于前向纠错(FEC)。换句话说,它是物理层高层信息比特数与映射到物理层底层PDSCH的比特数的比值。我们也可以说,它是对物理层所添加的冗余比特的度量。低码率意味着更多的冗余比特。相关公式如下:

请添加图片描述

四、协议中的MCS表

  • 当gNB或UE不支持256QAM时,或在较差的无线环境下,256QAM解码不成功,gNB需要分配QPSK调制阶数时,可以使用64QAM表;
  • 当在非常好的无线环境下分配256QAM时,可以使用256QAM表;
  • 低频谱效率(Low SE) 64QAM表适用于需要可靠数据传输的应用,如URLLC类应用。该表包括了频谱效率低的MCS,即降低了编码速率,增加了信道编码冗余。

4.1 64QAM表

请添加图片描述

4.2 256QAM表

请添加图片描述

4.3 Low SE 64QAM表

请添加图片描述

4.4 如何选择使用哪个表

  • gNB通过RRC信令和物理层信令(例如,RNTI)的组合,来通知终端选择特定的MCS表;
  • 通过RRC信令中的PDSCH-Config和SPS-Config(mcs-Table)参数配置的MCS表,随后还可以通过RRC信令进一步修改此参数;
  • 当物理层使用动态RNTI(这个RNTI是使用CRC加扰的属于PDCCH有效载荷)选择时,例如在C-RNTI和MCS-C-RNTI之间的切换可以影响MCS表的选择;

通过下面的示例,我们可以展示MCS表的选择过程。初始MCS是通过RRC信令配置,随后可以仅仅通过物理层信令进行控制:

  • 假设一个UE已经配置了参数PDSCH-Config其中mcs-Table的值为qam256,并且分配了一个C-RNTI和一个MCS-C-RNTI;
  • 如果终端接收到一个由DCI 1_1(使用C-RNTI加扰)指示的PDSCH资源分配,则终端将选择256QAM表;
  • 如果同一个终端收到一个使用DCI 1_ 0(使用C-RNTI加扰)指示的PDSCH资源分配,那么终端将选择64QAM表;
  • 如果同一个终端接收到一个使用DCI 1_1或DCI 1_ 0指示的PDSCH资源分配,通过MCS-C-RNTI加扰,那么该终端将选择Low SE 64QAM表;

五、总结

  • MCS定义了每个符号的有效比特数;
  • MCS的选择是根据无线环境和BLER;
  • MCS是基于gNB的链路自适应算法修改的;
  • MCS信息通过DCI提供给UE的;
  • 5G NR支持PDSCH的QPSK、16 QAM、64 QAM和256 QAM调制;
  • NR定义了大约32个MCS索引(0 ~ 31),其中29、30、31保留用于重传;
  • 3GPP 38.214规范给出了PDSCH MCS的三种表,即64QAM表、256QAM表和Low SE 64QAM表;


参考


在这里插入图片描述

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

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

相关文章

自定义程序包不存在的解决方法

方案一&#xff1a; 在pom文件中加入以下代码 <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><version>2.4.2</version><configuration><skipTests>true</sk…

回归预测 | MATLAB实现基于BiGRU-AdaBoost双向门控循环单元结合AdaBoost多输入单输出回归预测

回归预测 | MATLAB实现基于BiGRU-AdaBoost双向门控循环单元结合AdaBoost多输入单输出回归预测 目录 回归预测 | MATLAB实现基于BiGRU-AdaBoost双向门控循环单元结合AdaBoost多输入单输出回归预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 1.MATLAB实现基于B…

Django 分布式路由

简介&#xff1a; Django中&#xff0c;主路由配置文件(urls.py)可以不处理用户具体路由&#xff0c;主路由的配置文件可以配置成做请求的分发&#xff08;分布式请求处理&#xff0c;分发到子路由而不是具体的视图函数&#xff09;。具体的请求可以由各自的应用来处理。 步骤…

重启Oracle数据库

root 用户登录服务器。 1、 以oracle身份登录数据库&#xff0c;命令&#xff1a;su - oracle 2、 进入Sqlplus控制台&#xff0c;命令&#xff1a;sqlplus /nolog 3、 以系统管理员登录&#xff0c;命令&#xff1a;connect / as sysdba可以合并为&#xff1a;sqlplus sys/密码…

vite性能优化提升开发体验之hmr和预编译

一、vite中的预编译 1. 预编译概念介绍 Vite&#xff0c;一个由Vue.js开发者尤雨溪开发的新型前端构建工具&#xff0c;主要利用了现代浏览器支持的ESM&#xff08;ES模块&#xff09;来进行快速开发。Vite在法语中意为“快”&#xff0c;其中最大的亮点就是其开发服务器启动…

使用qemu创建ubuntu-base文件系统,并安装PM相关内核模块

目录 一、配置镜像二、使用qemu模拟nvdimm&#xff08;安装PM相关内核模块&#xff09;运行记录 遇到的一些问题1、ext4文件系统损坏问题&#xff1a;系统启动时&#xff0c;遇到ext4的报错信息解决办法&#xff1a;2、内核模块未成功加载3、qemu报错4、主机终端无法正常打开 流…

flask实现get和post请求

1、实现get请求 在项目根目录创建app.py 代码如下&#xff1a; from flask import Flask,render_template,requestapp Flask(__name__)app.route("/regist/user/", methods[GET]) def regist():return render_template("regist.html") #默认去templat…

【基本绘图注释函数】——MatLab画图

目录索引 title&#xff1a;ylable&#xff1a;legend&#xff1a; title&#xff1a; 在绘图中添加标签。此类函数的输入是一个字符串。MATLAB 中的字符串是用双引号 (") 引起来的。 上面一部分画图代码这里省略 title("Sample Mass")ylable&#xff1a; 为y轴…

03插值与拟合

9.已知飞机下轮廓线上数据如下&#xff0c;分别用分段线性插值和三次样条插值求x每改变0.1时的y值。 x035791112131415y01.21.72.02.12.01.81.21.01.6 %9.已知飞机下轮廓线上数据如下&#xff0c;分别用分段线性插值和三次样条插值求每改变0.1时的y值。x [0 3 5 7 9 11 12 1…

Dreamweaver批量替换所有超链接替换成#

需求&#xff1a;想要将页面所有链接地址替换为#。 方法一 CTRLF打开“查找和替换”&#xff0c;勾选“使用正则表达式” 查找 href"([\s\S]*?)" 替换为 href"#" 副作用&#xff1a;样式表链接地址也会被替换为#&#xff0c;需提前备份。 方法二 也可以查…

【Hello mysql】 mysql的索引

Mysql专栏&#xff1a;Mysql 本篇博客简介&#xff1a;介绍mysql的索引 mysql索引 索引索引是什么索引的分类索引作用查看 磁盘mysql的工作过程认识磁盘定位扇区磁盘随机访问(Random Access)与连续访问(Sequential Access)mysql和磁盘交互的基本单位 索引的理解建立测试表为何I…

dede tag不以关键词作为url以数字作为url方法修改

dede tag不以关键词作为url以数字作为url方法修改 打开/include/taglib/tag.lib.php 查找以下代码&#xff1a; $row[link] $cfg_cmsurl."/tags.php?/".urlencode($row[keyword])."/"; 替换为&#xff1a; $row[link] $cfg_cmsurl."/tags.php?/&q…

考核:QTableWidget开发[折叠/展开单元格QTableWidgetItem]

目录 效果要求一、功能概述二、功能三、关系FATable 表NTable 表CTable 表 实现infos.hmain.cppcomplextablewidget.hcomplextablewidget.cppschemedialog.hschemedialog.cpp 源码模糊知识点 效果 要求 一、功能概述 二、功能 三、关系 FATable 表 CREATE TABLE fatable (idF…

插入排序和希尔排序:用C语言打造高效的排序算法

插入排序 插入排序的思路就像是你在整理一堆扑克牌。你先拿起第一张牌&#xff0c;然后拿起第二张牌&#xff0c;把它插入到合适的位置&#xff0c;使得你手上的两张牌是有序的。接着&#xff0c;你再拿起第三张牌&#xff0c;也把它插入到合适的位置&#xff0c;使得你手上的…

error: ‘CV_LOAD_IMAGE_UNCHANGED’ was not declared in this scope

1-错误 2-错误原因 opencv4.x以上&#xff0c;有些宏&#xff0c;API名字改了&#xff0c;需要改为新的 3-解决方案 CV_LOAD_IMAGE_UNCHANGED 改为 cv::IMREAD_UNCHANGEDCV_LOAD_IMAGE_GRAYSCALE 改为 cv::IMREAD_GRAYSCALECV_LOAD_IMAGE_COLOR 改为 cv::IMREAD_COLORCV_LO…

Java反射机制概述

Java反射的概述 Reflection&#xff08;反射&#xff09;是被视为动态语言的关键&#xff0c;反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息&#xff0c;并能直接操作任意对象的内部属性及方法。 加载完类之后&#xff0c;在堆内存的方法区中就产生了一…

含多类型充电桩的电动汽车充电站优化配置方法(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

rapid_latex_ocr: 更快更好用的公式图像转latex工具

Rapid Latex OCR rapid_latex_ocr是一个将公式图像转为latex格式的工具。仓库中的推理代码来自修改自LaTeX-OCR&#xff0c;模型已经全部转为ONNX格式&#xff0c;并对推理代码做了精简&#xff0c;推理速度更快&#xff0c;更容易部署。仓库只有基于ONNXRuntime或者OpenVINO推…

阿里瓴羊One推出背后,零售企业迎数字化新解

配图来自Canva可画 近年来随着数字经济的高速发展&#xff0c;各式各样的SaaS应用服务更是层出不穷&#xff0c;但本质上SaaS大多局限于单一业务流层面&#xff0c;对用户核心关切的增长问题等则没有提供更好的解法。在SaaS赛道日渐拥挤、企业增长焦虑愈演愈烈之下&#xff0c…

前端uni-app自定义精美全端复制文本插件,支持全端文本复制插件 可设置复制按钮颜色

随着技术的发展&#xff0c;开发的复杂度也越来越高&#xff0c;传统开发方式将一个系统做成了整块应用&#xff0c;经常出现的情况就是一个小小的改动或者一个小功能的增加可能会引起整体逻辑的修改&#xff0c;造成牵一发而动全身。 通过组件化开发&#xff0c;可以有效实现…