【5G MAC】5G中传输块(TBS)大小的计算方式

news2024/11/18 10:30:45

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

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


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

文章目录

  • 一、5G中传输块(TBS)大小的计算方式
  • 二、影响TBS的因素
  • 三、如何计算TBS
    • 3.1 计算TBS的步骤
  • 参考



一、5G中传输块(TBS)大小的计算方式

TBS:传输块大小(Transport Block Size)
TB:传输块(Transport Block)
CB:码块(Code Block)


在这里插入图片描述

       5G NR中的传输块,就是在MAC层和物理层之间传递的有效载荷,特别是对于PDSCH和PUSCH等共享数据信道。传输块在被映射到PDSCH以通过空口传输之前,会在发射机处由物理层进行处理。会在一个传输块中添加CRC,并将其分成多个CB,如下所示。TB由多达百万个比特组成,CB由多达8448个比特组成。

请添加图片描述

二、影响TBS的因素

       在PDSCH上接收数据的设备在尝试解码数据之前,必须确定TB的大小。UE通过解析RRC信令以及PDCCH上的下行控制信息(DCI)来解析TB的大小。

       下图描述了获得传输块大小的简化图表,并提供了影响TB大小的参数列表:

  • 传输层数(Layers(v))
  • 调制阶数(QM)
  • 码率(R)
  • 物理资源块(PRB)的数量
  • 传输周期

请添加图片描述

三、如何计算TBS

       在4G LTE中,传输块大小由MCS字段和资源块分配(Resource block Allocation,PRBs)的函数表提供。然而,5G NR支持的带宽要大得多,传输持续时间也很长,开销也会随CSI-RS等配置的其他特性而变化。就传输块大小而言,这将导致需要大量的表来处理这种大的动态范围。

       当某些参数发生变化时,这种方案也可能需要修改。因此,5G NR选择了一种基于公式的方法,并结合最小TBS表,以获得必要的灵活性。

请添加图片描述

3.1 计算TBS的步骤

  1. UE要确定RE的数量(N’RE),即在单个资源块的带宽内可用于数据传输的RE的数量,相关公式如下:
    请添加图片描述

    其中:

    • N’RE:表示每个资源块(RB)中可用于数据传输的资源元素(RE)的数;
    • N s c R B N_{sc}^{RB} NscRB:一个PRB中子载波的数。例如,12;
    • N s y m b l s h N_{symbl}^{sh} Nsymblsh:在一个slot内分配给PDSCH的符号数;
    • N D M R S P R B N_{DMRS}^{PRB} NDMRSPRB:在这个调度周期内,每个PRB上DMRS占用的RE数;
    • N o h P R B N_{oh}^{PRB} NohPRB:头部开销,由PDSCH Serving Cell中的高层参数xOverhead配置;
  2. 如果N’RE的值大于156,则向下取整为156,即在单个资源块的带宽范围内,假定UE不会分配超过156个RE的资源。使用常规循环前缀(CP,cyclic prefix)下,单个RB带宽内的RE总数为12 x 14 = 168。

  3. 最终的N’RE值乘以已分配RB的数量,最后的结果记为NRE。已分配RB的数量是从PDCCH的DCI中获取的。

  4. NRE的值表示可用于数据传输的总的RE数。

  5. 然后将可用于数据传输的总RE数转换为信息比特数。信息比特数的多少取决于调制方式、编码速率和层数。UE使用如3GPP下公式:
    请添加图片描述

    其中:

    • NRE:表示可用于数据传输的总的RE数;
    • R:码率;
    • QM:调制阶数;
    • v:MIMO的层数;

    调制阶数和目标码率均从MCS表中提取;
    如果使用DCI 1_0接收到PDSCH资源分配,则层数固定为1。否则,层数需要通过查找DCI 1_1表中的“DMRS Ports”列的“Antenna Ports”获得。层数等于分配的DMRS端口数;

  6. 如果Ninfo <= 3824位,则TBS根据3GPP TS 38.214表确定;否则,TBS根据公式确定。确定TBS的具体步骤如下图所示。
    请添加图片描述

  7. 这个3824比特的门限是基于LDPC信道编码使用“Base Graph 2”时可处理的最大码块大小3840位确定的。CRC比特在信道编码之前添加。大小为3824比特的传输块有一个16比特的CRC,即CRC添加后的总大小可以达到3840比特。LDPC的“Base Graph 1”可以处理的最大码块大小为8448比特,因此对于“Base Graph 1”和“Base Graph 2”来说,如果TB <= 3824比特则不需要在信道编码之前进行分块。
    请添加图片描述

  8. 当Ninfo > 3824时,会添加一个24比特的CRC而不是16比特的CRC。此外,可能需要在信道编码之前进行分段。当分段时,额外的24比特CRC会被添加到每个分段。下面的计算考虑了这24比特的CRC。N’info的计算公式如下:
    请添加图片描述

  9. 这个等式会生成一个包含整数字节的结果。它也成一个步长,该步长取决于Ninfo的值。对于较小的Ninfo值,会生成一个64比特的步长,随着Ninfo值的增加,步长增加到128、256、512……比特。

    接下来使用以下3个公式之一计算传输块的长度:

    • 如果码率 <= 0.25,则使用LDPC ’ Base Graph 2 '(最大码块大小为3816 + 24 = 3840比特),并应用以下公式:
      请添加图片描述
    • 如果 N’info > 8424比特,然后将使用LDPC ’ Base Graph I '(最大代码块大小为8424 + 24 = 8448比特),并应用以下公式:
      请添加图片描述
    • 否则使用下面的公式:
      请添加图片描述


参考

  • 3GPP TS 38.214 NR; Physical layer procedures for data
  • https://5g-tools.com/5g-nr-tbs-transport-block-size-calculator/

在这里插入图片描述

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

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

相关文章

【学习日记2023.6.18】之 分布式缓存redis持久化_redis主从_reids哨兵_redis分片集群

文章目录 分布式缓存1. Redis持久化1.1 RDB持久化1.1.1 执行时机1.1.2 RDB原理1.1.3 小结 1.2 AOF持久化1.2.1 AOF原理1.2.2 AOF配置1.2.3 AOF文件重写 1.3 RDB与AOF对比 2 Redis主从2.1 搭建主从架构2.1.1 准备实例和配置2.1.2 启动2.1.3 开启主从关系2.1.4 测试 2.2 主从数据…

计算服务资源调度管理

文章目录 前言总体架构“ULT”和“KLT”抽象“内核”“容器”“虚容器” 内存抽象虚拟存储&#xff08;容器调用&#xff09; 多机器调度 前言 今天复习了一下操作系统&#xff0c;系统过了一下&#xff0c;感觉还有点时间&#xff0c;那么顺便来讨论一下&#xff0c;关于我的…

.maloxx勒索病毒数据怎么处理|数据解密恢复,malox/mallox

导语&#xff1a; 随着科技的快速发展&#xff0c;数据成为了企业和个人不可或缺的财富。然而&#xff0c;网络安全威胁也日益增多&#xff0c;其中Mallox勒索病毒家族的最新变种.maloxx勒索病毒的出现给我们带来了巨大的困扰。但不要担心&#xff01;91数据恢复研究院将为您揭…

一、Docker介绍

学习参考&#xff1a;尚硅谷Docker实战教程、Docker官网、其他优秀博客(参考过的在文章最后列出) 目录 前言一、Docker是什么&#xff1f;二、Docker能干撒&#xff1f;三、容器虚拟化技术 和 虚拟机有啥区别&#xff1f;1.虚拟机2.容器虚拟化技术3.对比 四、Docker组成4.1 镜像…

python自动化办公——定制化将电子签名批量签写到PDF文件

python自动化办公——定制化将电子签名批量签写到PDF文件 文章目录 python自动化办公——定制化将电子签名批量签写到PDF文件1、安装依赖2、需求分析3、代码 1、安装依赖 首先需要下载所需要的库 pip install pdf2image pip install img2pdf pip install opencv-python此外还…

【工作记录】基于可视化爬虫spiderflow实战天气数据爬取@20230618

前言 之前写过一篇关于可视化爬虫spiderflow的文章&#xff0c;介绍了基本语法并实战了某校园新闻数据的爬取。 还有一篇文章介绍了基于docker-compose快速部署spiderflow的过程&#xff0c;需要部署的话可参考该文章。 文章链接如下: 可视化爬虫框架spiderflow入门及实战【…

基于SpringBoot+Vue+微信小程序的电影平台

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取项目下载方式&#x1f345; 一、项目背景介绍&#xff1a; 研究背景&#xff1a;…

【通过Data Studio连接openGauss---快速入门】

【通过Data Studio连接openGauss---快速入门】 &#x1f53b; 一、访问openGauss&#x1f530; 1.1 确认连接信息&#xff08;单节点&#xff09;&#x1f530; 1.2 使用gsql访问openGauss&#xff08;本地连接数据库&#xff09;&#x1f530; 1.3 使用gsql访问openGauss&…

多道程序设计(操作系统)

目录 1 单道程序设计的缺点 2 多道程序设计的提出 3 多道程序设计的问题 多道程序设计目标&#xff1a; 多道程序设计是操作系统所采用最基本、最重要的技术&#xff0c;其根本目标是提高整个计算机系统的效率。衡量系统效率有一个尺度&#xff0c;那就是吞吐量。 提高系统…

clDice-一种新的分割标准-能够促进管状结构分割的连接性

clDice-a Novel Topology-Preserving Loss Function for Tubular StructureSegmentation论文总结 论文&#xff1a;clDice-A Novel Topology-Preserving Loss Function for Tubular Structure 源码&#xff1a;GitHub - jocpae/clDice 目录 一、论文背景和出发点 二、创新点 …

动态规划III (买股票-121、122、123、188、309)

CP121 买股票的最佳时机 题目描述&#xff1a; 给定一个数组 prices &#xff0c;它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票&#xff0c;并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利…

Advanced-C.04.函数

函数 函数的定义 包括两个部分&#xff0c;“函数头"和"函数体” 返回值类型 函数名(形参1,形参2,...)//函数头{}//函数体 函数类型决定返回值类型&#xff0c;执行函数需要调用 函数的返回值和参数可以是任何类型&#xff0c;包括空类型&#xff01;&#xff01;函…

Android adb shell命令捕获systemtrace

Android adb shell命令捕获systemtrace (1)抓取trace文件&#xff1a; adb shell perfetto -o /data/misc/perfetto-traces/trace_file.perfetto-trace -t 20s sched freq idle am wm gfx view binder_driver hal dalvik camera input res memory -t 时长&#xff0c;20s&a…

Java学习笔记23——集合进阶

集合进阶 集合进阶CollectionCollection集合常用方法Collection集合的遍历Iterator中的常用方法集合的使用步骤 List集合概述和特点List集合的特点List集合的特有方法并发修改异常ListIterator 列表迭代器常用方法增强for循环 数据结构栈队列数组链表 Set集合Set特点实现类Hash…

Presto(Trino)的逻辑执行计划和Fragment生成过程

文章目录 1. 前言2. 从SQL提交到Fragment计划生成全过程2.1 Statement生成2.2 对结构化的Statement进行分析2.3 生成未优化的逻辑执行计划2.4 基于Visitor模型对逻辑执行计划进行优化2.4.1 Visitor模型介绍2.4.2 Presto中常见的逻辑执行计划优化器常规OptimizerIterativeOptimi…

阿里月薪23k软件测试工程师:必备的6大技能(建议收藏)

随着软件开发行业的日益发展&#xff0c;岗位需求量和行业薪资都不断增长&#xff0c;想要入行的人也是越来越多&#xff0c;但不知道从哪里下手&#xff0c;今天&#xff0c;就给大家分享一下&#xff0c;软件测试行业都有哪些必会的方法和技术知识点&#xff0c;作为小白该从…

EmGU(4.7) 和C#中特征检测算法详解集合

C#联合Emgu实现计算机视觉任务&#xff08;特征提取篇&#xff09; 文章目录 C#联合Emgu实现计算机视觉任务&#xff08;特征提取篇&#xff09;前言一、Emgu库中特征提取有哪些类函数&#xff1f;二、特征提取函数1.AgastFeatureDetector类2.AKAZE 类3.FastFeatureDetector类4…

Docker部署(2)——实现两个容器互相访问并运行项目

一、拉取MySQL镜像&#xff0c;并启动镜像对应的容器 由于上一篇文章实现了拉取jdk8的环境&#xff0c;同时将jar包打成了一个镜像。但是要想真正的把项目运行起来&#xff08;此处仅以单体项目为例&#xff09;还需要MySQL的容器提供数据支持&#xff08;当然这里面方法有多种…

深蓝学院C++基础与深度解析笔记 第 4 章 表达式

第 4 章 表达式 一、表达式基础 A、表达式: 由一到多个操作数组成&#xff0c;可以求值并 ( 通常会 ) 返回求值结果: #include <iostream> int main(){int x;x 3; }最基本的表达式&#xff1a;变量、字面值通常来说&#xff0c;表达式会包含操作符&#xff08;运算符…

Vue3项目中引入ElementUI使用详解

目录 Vue3项目中引入 ElementUI1.安装2.引入2.1 全局引入2.2 按需引入viteWebpack 3.使用 Vue3项目中引入 ElementUI ElementUI是一个强大的PC端UI组件框架&#xff0c;它不依赖于vue&#xff0c;但是却是当前和vue配合做项目开发的一个比较好的ui框架&#xff0c;其包含了布局…