【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表;


参考


在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Cisco学习笔记(CCNA)——Internetworking

Internetworking Internetworking Basics 什么是网络? 计算机网络:具有独立功能的多台计算机及其外部设备,通过通信线路连接起来 网络设备 Hub(集线器) 优点:便宜、操作简单 缺点:共享型、…

Kubernetes(K8s)常用命令大全:熟练编排更完美

🌷🍁 博主 libin9iOak带您 Go to New World.✨🍁 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~&#x1f33…

react 升级

1、查看react版本 当前开发项目的react版本从哪里看呢?其实就在package.json文件中,搜索"react",即可看到版本号 2、输入命令npm info react查看最新的react版本 3、执行命令 npm install --save react18.2.0 react-dom18.2.0 4…

Docker 部署 Jenkins (一)

Docker 部署 Jenkins (一) 一. 安装 jenkins $ mkdir -p /home/tester/data/docker/jenkins $ vim jenkins:lts-jdk11.sh./jenkins:lts-jdk11.sh 内容 #! /bin/bash mkdir -p /home/tester/data/docker/jenkins/jenkins_homesudo chown -R 1000:1000 /home/tester/data/dock…

2023年Java最新面试题

由【后端面试题宝典】提供 和 equals 的区别是什么? 对于基本类型,比较的是值;对于引用类型,比较的是地址;equals不能用于基本类型的比较;如果没有重写equals,equals就相当于;如果重…

基于Javaweb实现ATM机系统开发实战(十一)存储交易记录

首先创建一个业务接口: package com.atm.service;import com.atm.pojo.RunMessage;//交易记录的业务接口 public interface RunMessageService{//添加交易记录public void addRunMessage(RunMessage runMessage) throws Exception ; }再完成业务接口的实现类&#…

JAVA中的Socket编程、通信协议、传输协议

JAVA中的Socket编程 一、Socket概述 Socket,建立起客户端和服务器之间的连接,实现数据的传输和交互,它既可以发送请求,也可以接受请求,一个Socket由一个IP地址和一个端口号唯一确定,利用Socket能比较方便的…

基于单片机指纹考勤系统的设计与实现

功能介绍 以51单片机作为主控系统;利用指纹采集模块存储打卡信息;12864显示当前考勤信息,时间 ;如果迟到 语音播报 您已迟到;按键进行注册指纹、删除指纹、设置当前时间和签到时间、查询打卡等;具有掉电保存…

讯为RK3568开发板到手编译buildroot系统入坑一

从事单片机开发多年一直想买一个开发板学习Linux系统,这次狠心花了800多打样买了一个讯为的RK3568低配。裸板配置。 因为讯为没有编译系统的视频教程,只有文档的教程,而且只有瑞芯微官方带的Linux源码中的系统编译后文档教程。像ubuntu是没有…

51单片机的智能交通控制系统【含仿真+程序+演示视频带原理讲解】

51单片机的智能交通控制系统【含仿真程序演示视频带原理讲解】 1、系统概述2、核心功能3、仿真运行及功能演示4、程序代码 1、系统概述 该系统由AT89C51单片机、LED灯组、数码管组成。通过Protues对十字路口红绿灯控制逻辑进行了仿真。 每个路口包含了左转、右转、直行三条车道…

使用FreeMarker自定义生成word文档

使用FreeMarker自定义生成word文档 最终生成word文档如下: 实现思路: 按照要生成的文档模板格式,创建一个新的word(doc)文档,将其调整成所需格式,然后处理其中需要动态填充的数据&#xff0…

【Ubuntu】Ubuntu14 安装 open-jdk-1.7(open-jdk-7) 最新 持续更新中

【Ubuntu】Ubuntu14 安装 open-jdk-1.7(open-jdk-7) 最新 持续更新中 一、概述二、特别说明三、开发环境四、安装 open-jdk-1.7五、配置环境1、配置环境变量路径2、环境变量3、完成安装 一、概述 一个好的文章能够帮助开发者完成更便捷、更快速的开发。…

红帽Linux 8.0末班车

RH124、RH134、RH294三门课和考前辅导的套包课程。红帽系统管理是针对了解 Linux 并需要核心红帽企业 Linux 技能的 IT 业人员而设计的。学完这个课程后,学员将能够执行安装操作,建立网络连接,管理物理存储器&#xff0c…

Linux vs MacOS ,你更喜欢哪个系统?

大家应该都知道Windows,Linux和MacOS这几个操作系统,它们各有优缺点,比如像游戏等专门的领域,Windows当然是比Linux更好些,但Linux是开源的,安全性和稳定性要比Windows要好,如果是关于视频编辑方…

什么企业适合建设数据中台?

从历史脉络中,看到数据中台凸显价值,数据中台是大数据下一站。所有企业都适合建设数据中台吗?什么样应该建数据中台? 2018年我们在建数据中台前面临的窘境,通过了解我们建数据中台的背景,你也可以对照着看…

CTFShow-WEB入门篇文件上传详细Wp(151-170)

WEB入门篇--命令执行详细Wp 文件上传:Web151:Web152:Web153:Web154:Web155:Web156:Web157:Web158:Web159:Web160:Web161:Web162&#…

基于JAVA SpringBoot和Vue UniApp外卖订餐小程序

随着社会的发展和进步,网络信息技术的迅速发展已经渗透到我们生活的各个角落,传统餐饮业也受到了很大的影响,大部分传统中餐馆都开门,最多只能通过一个电话预约。但是在中国春节长假期间,餐厅不能接待这么多顾客。因此…

学习react,复制一个civitai(C站)-更新3

更新内容 优化了一下加载速度 图片列表 初步更新了199张图片,大部分都有stable diffusion 的prompts。 可以直接复制到AI绘画里面使用。 先来看看效果图吧: 我还是挺喜欢这种砌砖流布局 技术点 同样使用了砌墙瀑布流布局:masonry js 安装方法 npm …

15 - 信号处理设计模式

---- 整理自狄泰软件唐佐林老师课程 查看所有文章链接:(更新中)Linux系统编程训练营 - 目录 文章目录 1. Linux应用程序安全性讨论1.1 问题1.2 不同场景1.2.1 场景一:不需要处理信号1.2.2 场景二:需要处理信号 2. 场景…

matlab将0 1矩阵显示为黑白图像

解决方法 clear clc pattern cell2mat(struct2cell(load("pattern"))); pic1 squeeze(pattern(1:64,:,:,:)); pic1 logical(permute(pic1, [2,3,1])); temp pic1(:,:,1); imshow(pic1(:,:,1));显示效果 test int8(rand(30,30)); imshow(logical(test));本来想…