5G NR QC-LDPC简介(一)_ldpc编码-程序员宅基地

技术标签: 算法  5G  通信系统  

什么是LDPC?

LDPC码即低密度奇偶校验码(Low Density Parity Check Code,LDPC),它由Robert G.Gallager博士于1963年提出的一类具有稀疏校验矩阵的线性分组码,不仅有逼近Shannon限的良好性能,而且译码复杂度较低, 结构灵活,是近年信道编码领域的研究热点,已广泛应用于深空通信、光纤通信、卫星数字视频和音频广播等领域。

LDPC码由一个包含少量非零元素的 m ∗ n m*n mn校验矩阵 H H H的零空间定义。如果矩阵 H H H中的非零元素仅为“1”,则将矩阵 H H H的零空间所定义的LDPC码称为二元LDPC码,同理可得出多元LDPC码的定义。如果校验矩阵 H H H具有固定的行重和列重,那么由该校验矩阵定义的LDPC码是规则的,否则称为非规则的LDPC码。非规则的LDPC码的性能与H的行重和列重密切相关。为了获得较好的性能,LDPC码在构造的噶城中需要对校验矩阵H做出限制,即任意两行(两列)同时为非零元素的位置不能超过一个,这个性质被称为行列约束。

LDPC码校验矩阵 H H H的典型特征是密度(H中的非零元素比例)较低。众所周知,对一般线性分组码来说,最优解码算法(例如最大似然解码)由于过高的复杂度很难应用倒实际的系统中,所以无法获得最优解码性能。而LDPC码的低密度特性使它正好适合于迭代解码,在许多应用场景下,LDPC码在采用迭代解码时能够在许多感兴趣的误码率区域去爹接近最大似然解码的性能。

为什么5G采用LDPC编码

目前为止,影响力最大的三类先进的现带纠错编码方式分别时Turbo码、LDPC码和极化(polar)码,所以LDPC码、Turbo码和Polar码被3GPP定为数据信道候选纠错编码方案。

Turbo码在高吞吐率和误码平层性能方面存在短板;Polar码的BLER性能虽然非常的优异,但是在大码块传输时SCL解码算法的复杂过高,目前的技术难以支持20Gbit/s的峰值吞吐率,而支持高吞吐率的低复杂度算法却存在着较大的性能损失;LDPC码具有较低的解码复杂度,非常适合并行解码、支持高吞吐量传输,设计恰当的LDPC码具有很低的误码平台,完全可以满足5G支年高吞吐率传与可靠性方面的需求。

经过恰当设计的LDPC码性能优异,在AWGN信道性性能明显优于Turbo码,仿真结果还表明与其他候选方案相比,高码率的LDPC码复杂度最低、性能最好。这些技术原因在促使LDPC码被NR采纳为eMMB数据信道编码方案方面发挥了重要的作用。同时,LDPC码在uRLLC场景的研究也证明了其性能的优越性,在NR表混中也被接受为数据信道编码方案

控制信道编码同样非常重要, 性能优异的纠错编码能够显著提高系统的整体性能,扩大小区覆盖。由于控制信令比特数较少,LDPC码、Tubo码在码长较短时性能较差、所以LTE采用了咬尾卷积编码( Tail Biting Convoltioal Colding, TBCC)作为信道编码方案,鉴于Polar码在控制信道小分组传输时的复杂度可以接受,性能优于TBCC及其它方案,所以采用Polar码为控制信道纠错编码方案

5G NR LDPC码的设计

LDPC码的编码流程
在这里插入图片描述

QC-LDPC码

QC-LDPC(Quasi-Cyslic Low-Density Parity-Check Codes)即准循环LDPC码。LDPC码基本属于随机构造法,构造出的码性能很好,但校验矩阵具有不规律性,存在校验矩阵存储于读取困难、编码复杂度高等问题,相对难以实现。准循环LDPC码是结构化LDPC码的重要子集,其奇偶校验矩阵可以分成多个大小相等的方阵,每个方阵都是单位矩阵的循环移位矩阵或全0矩阵,非常便于存储器的存储和寻址,从而大大降低了LDPC码的编译码复杂度,并且具有重复累计结构的准循环LDPC码能够实现线性复杂度的快速编码。因此,目前实际中所使用的LDPC码大都使用这种校验矩阵构造方式。

鉴于QC-LDPC的优良特性,NR LDPC码也采用了这种准循环结构。

基图

5G NR采用QC-LDPC码,BG是整个LDPC码设计的核心。BG是LDPC码PCM(Parity-Check Matrix, 校验矩阵)设计的前提,也决定了LDPC码的宏观特性和整体性能。在5G NR中,为适应不同通信场景的需求,LDPC码必须能够灵活地支持不同的码长和码率。同时,为提高通信可靠度,IR-HARQ 也是LDPC码必须支持的一项特性。

在采纳LDPC码作为数据编码方案的同时,3GPP 会议也同期确定通过对一个高码率PCM进行下行角的码字扩展,以支持IR-HARQ和速率匹配。后续会议上,各公司同意把5G NR LDPC码PCM做如图的划分。
在这里插入图片描述
NR LDPC码的基础矩阵有五个部分,其中 A A A矩阵和 E E E矩阵都是循环置换矩阵和全零矩阵组成的矩阵阵列, O O O矩阵为全零矩阵, I I I矩阵为单位矩阵。并且 A A A矩阵对应系统信息位, D D D矩阵对应校验信息位,矩阵 [ A D ] [A \quad D] [AD]对应一个高码率的LDPC码,矩阵 [ E I ] [E \quad I] [EI]对应支持IR-HARQ的扩展冗余比特,其中单位矩阵I实际上对应一个度为1的单校验比特。所以该结构等价于一个高码率LDPC码与多个单校验码串行级联,并且可以随着扩展矩阵行数和列数的增加来得到码率任意低的码率LDPC校验矩阵,从而NR LDPC码的校验矩阵可以支持IR-HARQ与灵活的编码码率。

通过进一步对比各个厂商所提矩阵的BLER,最终决定采用2个独立的BG。标准确定的BG2稍显特殊,可以通过删除 H c o r e H_{core} Hcore 中的部分列,实现BG大小随着信息块大小的变化而变化。具体来说,当信息块小于等于192时, H c o r e H_{core} Hcore 的列数为10;当信息块大于192且小于560时, H c o r e H_{core} Hcore 的列数为12;当信息块大于 560小于等于640 时, H c o r e H_{core} Hcore 的列数为13;当信息块大于640时, H c o r e H_{core} Hcore 的列数为14。

BG1 的大小是 46 ∗ 68 46 * 68 4668 H c o r e H_{core} Hcore 的大小为 4 ∗ 26 4*26 426 H e x t H_{ext} Hext的大小为 42 ∗ 26 42*26 4226。支持的最低码率为1/3。主要用于对吞吐要求较高、码车较高、码长较长的场景。

BG2 的大小为 42 ∗ 52 42 * 52 4252 H c o r e H_{core} Hcore的大小为 4 ∗ 14 4*14 414, H e x t H_{ext} Hext的大小为 38 ∗ 14 38*14 3814。主要用于对吞吐量要求不高,码率较低,码长较短的场景。

5G NR LDPC码BG中前两列属于大列重,所谓大列重就是指这两列中1的数量明显大于其他列。这样做的好处是在译码过程中加强消息流动,增加校验方程之间的消息传递效率。右下角是对角阵,支持IR-HARQ,每次重传只需要发送更多的校验比特即可。

矩阵散列 & PCM

一个QC-LDPC 码由BG和相应的移位因子 Z Z Z构成,即PCM定义:BG中的1替换为大小为 Z ∗ Z Z*Z ZZ的循环移位矩阵,BG中的0被替换为 Z ∗ Z Z*Z ZZ的全零矩阵。

循环移位矩阵的移位值 P i j P_{ij} Pij,表示BG中第 ( i , j ) (i,j ) (ij)个非0元素对应的移位矩阵为 Z ∗ Z Z*Z ZZ往右移位 P i j P_{ij} Pij次,它由 P i j = m o d ( V i j , Z ) P_{ij}=mod(V_{ij}, Z) Pij=mod(Vij,Z)计算得到,其中 V i j V_{ij} Vij是BG中第 ( i , j ) (i, j) (i,j)个非“0”元素位置对应的整数, m o d ( x , y ) mod(x,y) mod(x,y)表示 x x x y y y取余。

为了支持不同的信息块长度,同时考虑描述复杂度和性能的折中,5G NR定义了8组扩展因子 Z Z Z,即 Z = a ∗ 2 j Z=a*2^j Z=a2j,其中 a ∈ { 2 , 3 , 5 , 7 , 9 , 11 , 13 , 15 } , j ∈ { 0 , 1 … 5 } a∈\{2,3,5,7,9,11,13,15\},j∈ \{0, 1…5\} a{ 2,3,5,7,9,11,13,15}j{ 0,15} Z Z Z的取值是 2 ≤ Z ≤ 384 2≤Z≤384 2Z384内的正整数。这些值分为8个集合,每个集合对应一个 a a a。对于每个 a a a,5G NR基于每个BG定义了一个PCM,对应这个集合中最大的 Z Z Z。BG1和BG2分别对应8套PCM。

码块分段

码块分段是信道编码的重要一环。TB的大小往往远大于CB所能编码的最大信息比特数,所以需要吧一个TB分割成多个CB,然后分别对各个CB进行编码,得到对应的多个编码比特序列。

速率匹配

HARQ是提升系统吞吐量的一项关键技术,而5G NR系统中LDPC码的RL结构,可以增量生成校验比特,很好地支持IR-HARQ和不同的传输码率。另一方面,QC-LDPC码离散的移位因子大小等也对信息块大小和码长的支持提出一些限制, 需要通过额外的填充和打孔等实现速率匹配。

对速率匹配得到的编码比特进行交织后再调制,即比特交织编码调制是保证LDPC 码在高阶调制和衰落信道下性能稳定的另一个基本保障。

与LTE Turbo码类似,5GNR通过循环缓存实现HARQ和速率匹配:将编码比特存储在循环缓存中,每次传输时根据冗余版本从循环缓存中顺序读取,实现速率匹配。

另外,LDPC码支持有限缓存速率匹配(LBRM,Limited Buffer Rate Matching)。对于初传需要打掉的大列重对应的 2 Z 2Z 2Z个系统比特,标准规定不进入循环缓存,即永远不会传输。对于每次传输,速率匹配的读取位置由冗余版本rv决定,且是移位因子 Z Z Z的整数倍。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/daijingxin/article/details/114766200

智能推荐

电子模块|压力传感器模块HX711---C51&&STM32驱动_单片机hx711驱动-程序员宅基地

文章浏览阅读2.2k次。HX711是一款专为高精度称重传感器而设计的24位A/D转换器芯片。与同类型其它芯片相比,该芯片集成了包括稳压电源、片内时钟振荡器等其它同类型芯片所需要的外围电路,具有集成度高、响应速度快、抗干扰性强等优点。降低了电子秤的整机成本,提高了整机的性能和可靠性。该芯片与后端MCU芯片的接口和编程非常简单,所有控制信号由管脚驱动,无需对芯片内部的寄存器编程。输入选择开关可任意选取通道A或通道B,与其内部的低噪声可编程放大器相连。_单片机hx711驱动

微信小程序 java springboot 57.高校毕业生就业信息的设计与实现(完整源码+数据库文件+万字文档+保姆级视频部署教程+配套环境)-程序员宅基地

文章浏览阅读263次,点赞6次,收藏5次。针对高校教师成果信息管理混乱,出错率高,信息安全性差,劳动强度大,费时费力等问题,采用高校毕业生就业信息可以有效管理,使信息管理能够更加科学和规范。高校毕业生就业信息使用 Java 语言进行编码,使用 Mysql 创建数据表保存本系统产生的数据。系统可以提供信息显示和相应服务,其管理高校毕业生就业信息信息,查看高校毕业生就业信息信息,管理高校毕业生就业信息。总之,高校毕业生就业信息集中管理信息,有着保密性强,效率高,存储空间大,成本低等诸多优点。数据库工具:Navicat;开发语言:Java;

ERROR: Failed to resolve: com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.46-程序员宅基地

文章浏览阅读1.6w次,点赞3次,收藏3次。今天弄一个demo 导入brvah 出现的错误,又去看了下教程 是自己忘记添加jitpack仓库了_error: failed to resolve: com.github.cymchad:baserecyclerviewadapterhelper:2

对人脸检测和人脸识别的理解_人脸检测和人脸属性识别的意义-程序员宅基地

文章浏览阅读1.5k次。人脸检测是指对输入图像中判断是否存在人脸区域,并进一步确定人脸的位置、大小、姿态等信息。 这些算法大致分为三种类别:基于肤色的检测方法、基于形状的检测方法、基于统计理论的检测方法。 人脸识别技术是基于人的脸部特征,一个完整的人脸识别过程一般包括人脸检测和人脸识别两大部分。人脸识别就是将待识别的人脸与已知的人脸进行比较,得出相似程度的相关信息。 人脸自动识别系统包括三个主要的环节:首先是图像预处_人脸检测和人脸属性识别的意义

ZipArchive(解压文件)-程序员宅基地

文章浏览阅读1.3k次。一、首先介绍minizip 的使用方法ziparchive是基于开源代码”MiniZip”的zip压缩与解压的Objective-C 的Class,使用起来非常的简单方法:从http://code.google.com/p/ziparchive/ 上下载ZipArchive.zip,解压后将代码加入工程中,并且把zlib库添加到工程中使用方法:1. 压缩:ZipArchive可..._zip archive是什么意思

【Python基础】HTTP知识扫盲_python 顺序输出 http 访问踪迹中 http get 请求中的资源对象序列及对应的大小序-程序员宅基地

文章浏览阅读142次。【Python基础】Http基础文章目录HTTP协议介绍1. HTTP 协议的介绍2. HTTP 协议的作用3. 浏览器访问web服务器的通信过程4. 小结URL介绍1. URL的概念2. URL的组成3. 小结HTTP协议通讯过程1. 谷歌浏览器开发者工具的使用2. 查看HTTP协议的通信过程3. 小结HTTP请求报文1. HTTP 请求报文介绍2. HTTP GET 请求报文分析3. HTTP POST 请求报文分析4. 小结HTTP响应报文1. HTTP响应报文分析2. HTTP 状态码介绍3. 小_python 顺序输出 http 访问踪迹中 http get 请求中的资源对象序列及对应的大小序

随便推点

Java之设计模式:七大设计原则和UML类图_综合利用设计原则的代码和类图-程序员宅基地

文章浏览阅读324次。设计模式的目的 编写软件过程中,程序员面临着来自耦合性,内聚性以及可维护性,可扩展性,重用性,灵活性等多方面的挑战,设计模式是为了让程序(软件),具有更好的:代码重用性 (即:相同功能的代码,不用多次编写)可读性 (即:编程规范性, 便于其他程序员的阅读和理解)可扩展性 (即:当需要增加新的功能时,非常的方便,称为可维护)可靠性 (即:当我们增加新的功能后,对原来的功能没有影响)使程序呈现高内聚,低耦合的特性7大设计模式单一职责原则接口隔_综合利用设计原则的代码和类图

laravel 根据时间分表查询数据_laravel分表查询-程序员宅基地

文章浏览阅读648次。【代码】laravel 根据时间分表查询数据。_laravel分表查询

[JavaSE-18]File类、字节流和字符流_java中file类是字符流还是字节流-程序员宅基地

文章浏览阅读335次。1、File类java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。1.1 构造方法public File(String pathname):通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。public File(String parent, String child):从父路径名字符串和子路径名字符串创建新的 File实例..._java中file类是字符流还是字节流

Oracle+11g+笔记(3)-SQL/Plus-程序员宅基地

文章浏览阅读826次,点赞16次,收藏13次。Oracle+11g+笔记(3)-SQL/Plus

Mysql数据库,插入内容包含emoji表情错误:Incorrect string value: '\xF0\x9F\x98\x84'_parsetoaliases 有部分表情无法转换-程序员宅基地

文章浏览阅读427次。1.问题描述项目需要把excel表格内容插入mysql,但是内容中包含emoji表情,特殊字符,出现错误Incorrect string value: '\xF0\x9F\x98\x84'2原因Mysql的UTF-8只支持三个字节的存储,而一般字符是三个字节,但是emoji表情是4个字节,所以存储不了。为了解决这个问题,Mysql在5.5.3版本之后转而支持了存储4个字节的u..._parsetoaliases 有部分表情无法转换

面试题、例题、知识点 汇总-程序员宅基地

文章浏览阅读983次。centos 7 卸载 mariadb 的正确命令列出所有被安装的rpm package rpm -qa | grep mariadb卸载 rpm -e mariadb-libs-5.5.37-1.el7_0.x86_64错误:依赖检测失败:libmysqlclient.so.18()(64bit) 被 (已安裝) postfix-2:2.10.1-6.el7.x86_64 需要强制卸载..._expr 5+2