【5G入门】MCS调制编码方案简介


目录

    • 参考资料:
  • 1. MCS简介
    • MCS是什么
    • 如何选择MCS
    • 有哪些MCS可供选择
    • 如何配置MCS
      • 示例

参考资料:

链接: 5G NR Modulation and Coding Scheme – Modulation and Code Rate.

1. MCS简介

MCS是什么

MCS(Modulation and Coding Scheme,即调制编码方案)定义了一个RE(Resource Element,资源单位1)可以承载的有效比特数。一共有0-31号种MCS方案,其中29-31号做保留。MCS索引越高,可承载的有效比特数越高。

1 RE是资源分配的最小单位,把时域上一个常规OFDM符号周期和频域上一个子载波组成的资源称为一个资源单位.

具体来说,MCS定义了两个部分,调制方案(Modulation)码率(Code Rate)

调制方案:5G NR支持可选的调制方案包括QPSK, 16 QAM, 64 QAM 以及 256 QAM。 使用 QPSK,每个 RE 可以传输 2 位信息,使用 16QAM 可以传输 4 位,使用 64QAM 可以传输 6 位,使用 256QAM 可以传输 8 位。

码率:即为有用比特与总传输比特之间的比率(有用+冗余比特),用来度量物理层添加的冗余。冗余比特用于前向纠错 (FEC)。从另一个角度,码率可以被认为是物理层顶部的信息比特数与物理层底部映射到PDSCH的比特数之间的比值。 编码率越低代表增加的冗余越多。

如何选择MCS

选择哪一个MCS 取决于无线链路的质量。质量越好,MCS 越高,一个符号中可以传输的有用比特越多,而信号质量差则只能选择索引低的MCS,意味着一个符号中可以传输的有用数据越少。

具体地,gNB根据误块率(Block Error Rate ,BLER)进行MCS的选择。通常定义一个等于 10% 的 BLER 阈值,gNB 使用链路自适应算法分配MCS,使得在不同的无线电条件下保持 BLER 不超过阈值。

有哪些MCS可供选择

3GPP 规范 38.214给PDSCH2提供了如下三张表格( 64 QAM 表、256 QAM 表和低频谱效率 64 QAM 表),供gNB选择。

1 PDSCH:物理下行共享信道,用于传输下行业务数据和系统消息

选择每个表的情况具体如下所示:

  • 64 QAM 表:当gNB或UE不支持256 QAM或信道较差,256 QAM表解码不成功且gNB需要使用 QPSK 阶调制时,可以使用 64 QAM 表
  • 256 QAM 表:信道状态较好、且设备支持256 QAM
  • 低频谱效率 (Low SE) 64 QAM 表:适用于需要可靠数据传输的应用,例如URLLC类别的应用程序。 本表MCS通过降低的编码率、增加信道编码冗余提高信道的可靠性,因而频谱效率较低。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    表中第一列为MCS索引号,可看出29-31是保留的。第二列是调制阶数,代表采用哪种调制方式,Qm=2,代表使用22=4,即QPSK;Qm=4,代表使用24=16,即16 QAM。第三列代表目标码率,是在选择本行调制方式和对应冗余度之后期望达到的码率(注:本目标码率和最终的数据效率还是有区别的)。最后一列是频谱效率,代表选择本种MCS时的频率效率。表中目标码率与频谱效率成正比,频谱效率越高,目标码率也越高。

如何配置MCS

MCS由gNB基于链路自适应算法决定。决定之后,gNB使用DCI向UE提供选定的MCS信息。
具体来说,选择哪个MCS表由RRC信令(IE)和物理层信令(RNTI)决定。
RRC信令配置PDSCH-Config和SPS-Config的mcs-Table参数选择MCS表。此信令用于半静态配置,但也可以使用 RRC信令进一步修改。
物理层通过动态选择RNTI (例如在C-RNTI和MCS-C-RNTI之间切换)影响MCS表的选择。

示例

一个UE已配置参数 PDSCH-Config,mcs-Table = ‘qam256’,并分配了一个MCS-C-RNTI和传统的C-RNTI。
如果UE接收到使用C-RNTI的DCI 1_1信令,UE选择256 QAM MCS表;
如果同一UE接收到使用C-RNTI的DCT 1_0信令,则UE选择64 QAM MCS表;
如果同一UE使用MCS-C-RNTI的DCI 1_1或1_0信令,则UE将选择低 SE 表。

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

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

相关文章

caffe初体验

caffe是一个深度学习的框架, 具体我也不太清楚, 可以自行百度吧, 我也是刚刚知道有这么一个框架, 才疏学浅啊. 在安装完caffe, 我的第一个想法就是, 别管他是个啥东西, 总得先让我运行一些看一看吧. 刚好, 官方就准备了一些数据, 供我们运行一下看一看使用. 因为我是通过dock…

【安全】进阶的Mosquitto:搭建一个安全的MQTT服务

目录一、基础版Mosquitto安装及运行Mosquitto安装Mosquitto运行二、基础安全版Mosquitto安装及运行(需要输入密码)Mosquitto安装Mosquitto配置Mosquitto测试效果三、安全版Mosquitto安装及运行Mosquitto安装TLS安装Mosquitto配置Mosquitto测试效果注意一…

PHP注释标记整理

什么是注释标记 我们在平常写代码或看别人写的代码时, 在方法的说明注释中经常会有这样的注释: /*** param $num* return array*/上面的*param* return 就是注释标记 注释标记用于生成文档, param指明需要接收的参数, return指明返回值 在使用 phpDocumentor 等工具生成文档…

PHP 循环引用的问题

问题 为了引出问题, 先来看下面一段代码: <?php $arr [a, b,c, d, ];foreach ($arr as &$each){echo $each; } echo PHP_EOL; foreach ($arr as $each){echo $each; }这段代码很简单, 输出数组的元素两次, 感觉会输出两次 abcd? 不好意思, 输出结果如下:  是不是感…

redis常规命令记录

概述 因为redis是单线程执行&#xff0c;所以不用关心并发问题。 简单记录一下redis的操作命令&#xff0c;留作查阅&#xff0c;回头再整理一下事物等操作。 reids中存储的是kev-value形式, 其中的value有几种: 字符串: 就是简单的string 字符串列表: 有序可重的列表 字符…

代码整洁之道-函数

什么是一个好的函数或者叫方法&#xff0c;只要能让函数明确的表达其意图&#xff0c;让读者能够一眼看出是一个怎样的函数&#xff0c;其接收什么参数&#xff0c;返回什么结果&#xff0c;做了什么事情。能做到这&#xff0c;大概就能算作一个好的函数了&#xff0c;看上去很…

代码整洁之道-格式

对于代码的格式&#xff0c;每个人都有不同的代码风格&#xff0c;这没什么。但是对于一个团队来说&#xff0c;最好能够统一代码风格&#xff0c;在同一个项目中&#xff0c;如果到处充斥着不同的代码风格&#xff0c;相比读起来并不是那么让人舒适&#xff0c;比如在什么地方…

代码整洁之道-对象和数据结构

现在&#xff0c;有一个计算面积的需求&#xff0c;其中一种实现如下&#xff1a; class Square{public $side; } class Geometry{public function area($shape){if($shape instanceof Square){return $shape->side * $shape->side;}return 0;} }有人看了&#xff0c;你…

代码整洁之道-类

在面向对象的编程中&#xff0c;类是其中的基本单位&#xff0c;就像面向过程中的函数一样。所以在说类时&#xff0c;可以借鉴一下前面的函数&#xff0c;不如只做一件事&#xff0c;也就是所说的单一职责。 函数应该短小&#xff0c;对于类来说&#xff0c;也是这样。函数的…

Deepin nginx lumen配置

Deepin nginx lumen配置 正常安装 sudo apt install nginx sudo apt install php-fpm 启动后将 /etc/nginx/sites-enabled/default 配置文件 copy一份到 /etc/nginx/conf.d/lumen_demo.conf 然后按照该配置文件改改&#xff0c;修改后的配置文件如下&#xff1a; server {lis…

代码整洁之道小结

以下总结一些不好的代码规范&#xff0c; 借此警示自己不要犯这种错误 注释 1.不恰当的注释 注释应该仅用来描述有关代码和设计的技术性信息。像修改历史等信息不应出现在注释中 2.废弃的注释 过时、无关或错误的注释就是废弃的注释&#xff0c;不要写这种注释&#xff0c…

PHP的stdClass

概述 以下是百度百科对php中的 stdClass的描述&#xff1a; stdClass在PHP5才开始被流行。而stdClass也是zend的一个保留类。**stdClass类是PHP的一个内部保留类&#xff0c;初始时没有成员变量也没成员方法&#xff0c;所有的魔术方法都被设置为NULL.**凡是用new stdClass()的…

浮点数的运算精度丢失

引出 打开Python编译器&#xff0c;输入 0.10.2&#xff0c; 期待的结果是0.3&#xff0c;但是输出为&#xff1a; 0.30000000000000004 有点小尴尬&#xff0c;这是为什么呢&#xff1f; 解惑 其实这设计到了计算机的浮点数存储是以二进制进行存储的。 说二进制不太形象&a…

补码到底是个什么东西

概述 先引入一个前提&#xff0c;在计算机中数字是以二进制进行存储的&#xff0c;也就是我们看到的2&#xff0c;在计算机中存储的是10。我们进行的加法运算 213 在计算机中是这样的&#xff08;这里先假设计算机存储的是4位二进制数字&#xff09; 001000010011 很容以看的…

揭开HTTPS的神秘面纱

在说HTTP前&#xff0c;一定要先介绍一下HTTP&#xff0c;这家伙应该不用过多说明了&#xff0c;大家每天都在用&#xff0c;每一次HTTP请求&#xff0c;都是一次TCP连接。遗憾的是&#xff0c;请求的内容在TCP报文中是明文传输的&#xff0c;任何人截取到请求都可以读取其中的…

递归函数两种方式的区别

概述 递归函数都不陌生&#xff0c;比如计算n的阶乘&#xff1a; function f($n){if($n < 1) return 1;return $n * f($n-1); } 当然&#xff0c;有人可能会这么写&#xff1a; function f($n, $result){if($n < 1) return $result;return f($n-1, $n*$result); } 上…

Trie树

概述 在Google中随意搜索&#xff0c;如下所示&#xff1a; 他会自动显示相关的搜索&#xff0c;不知道有没有想过这个功能是如何实现的呢&#xff1f;面对海量的数据&#xff0c;它怎么能在我输入的同时&#xff0c;如此快速的检索到相关内容呢&#xff1f;当我查找资料后&am…

Python元组是什么

引出 在使用Python过程中&#xff0c;列表、集合和字典是比较常用的数据结构。 列表简单说就是数组&#xff0c;不对&#xff0c;它就是数组 集合就是去重的元素结构&#xff0c;和JAVA中的set一样 字典就是一个key-value的键值对&#xff0c;和JAVA中的HashTable一样 但是…

B+树

引言 时隔一年&#xff0c;我又想起当初看数据库时&#xff0c;看到的B树&#xff0c;就是数据库的索引使用的数据结构。再整理一下&#xff0c;看看自己没有忘记很多吧。 概述 B树之前&#xff0c;先来看一下二叉查找树&#xff08;1,2,3,4,5,6,7&#xff09; 恩&#xff0…

关于相对性的思考

换位思考是一直都在倡导的做法。也就是说&#xff0c;在考虑问题时&#xff0c;不光要站在自己的角度来思考&#xff0c;还要站在他人的角度来思考。不光要站在一个角度思考&#xff0c;要尝试多个角度来思考问题。 下面一则小故事&#xff1a; 熊大&#xff1a;熊二&#xff…