5G中LDPC码的编码流程:物理层在接收到媒体接入控制层(MAC)的一个传输块之后,先 给它添加一个(16 或 24 比特)的 CRC。在添加 CRC 之后,如果它包含的比特 数超过一定值,则需要把它分成长度相同的两个或多个码块;各个码块再各自添 加 CRC;然后,各个加了 CRC 的码块独立地进行 LDPC 编码;再然后,各个编 码后的码块分别进行速率匹配、混合自动重传请求(HARQ)处理和交织。
 QC-LDPC码是一类结构化的 LDPC码,其校验矩阵可以分解为ZxZ的全零矩阵和循环移位矩阵。其中循环移位矩阵通过对ZxZ的单位矩阵向右循环移位获得。扩展之前的矩阵称为基矩阵[对应的Tanner图称为基图(BG,Base Graph)],只包含元素“0”和“1”。“0” 的位置替换为ZxZ的全零矩阵,“1” 的位置替换为ZXZ的循环移位矩阵。

QC-LDPC码的设计:
1.确定一个mn的稀疏矩阵作为BG;
2.复制BG,倍数为Z,变为mZ
nZ;
3.对变量节点和校验节点之间的连线进行交织(指循环移位);

BG设计:

base graph图解

 [A B]对应RL-LDPC码中的Hcore,是高码率部分;[D E]对应Hext,是扩展部分。Hcore的维度较低,可以通过密度演进和计算机辅助的方法设计比较好的稀疏矩阵。基于Hcore,扩展生成Hext。Hext每增加一行,H就会多一列。
子矩阵A对应系统比特;子矩阵C为全零矩阵;子矩阵E是单位矩阵;子矩阵B是方阵,对应校验比特。B中有一列列重为3,有一列列重可能为1。如果有列重为1的列,该列中元素“1”出现在最后一行,其余的列中首列列重为3.其后的列具有双对角结构。如果没有列重为1的列,则首列列重为3,其后的列具有双对角结构。
 BG1 的大小是46x68,Kb=22K_b=22Kb​=22的系统列。Hcore的大小为4x26,Hext的大小为42x26。支持的最低码率为1/3。主要用于对吞吐要求较高、码率较高,码长较长的场景。
 BG2 的大小为42x52,Kb=6,8,9,10K_b=6,8,9,10Kb​=6,8,9,10的系统列。Hcore的大小为4x14, Hext的大小为38x14。主要用于对吞吐量要求不高,码率较低,码长较短的场景。

Zc=A∗2jZ_c = A*2^jZc​=A∗2j

A = {2,3,5,7,9,9,11,13,15}和j = 0,1 …。
Z在2到384范围内
 5G-NReM BB的LDPC码的提升值最大为384。例如,当待编码的信息长度为8448bit对应的提升值为384时,译码器可以以384的并行度进行译码(384个CNU) ,从而获得极高的吞吐量。

LDPC编码流程

1.对于base graph1,有K=Kb(22)Zc,N=66ZcK=K_b(22)Z_c,N=66Z_cK=Kb​(22)Zc​,N=66Zc​;对于base graph2,有K=10Zc,N=50ZcK=10Z_c,N=50Z_cK=10Zc​,N=50Zc​。
2.表5.3.2-2是HBGH_{BG}HBG​的示意表,表中有i,ji,ji,j下标的在HBGH_{BG}HBG​中表示为1,其余为0。
3.奇偶校验矩阵HHH通过将HBGH_{BG}HBG​中的所有元素用大小为Zc∗ZcZ_c*Z_cZc​∗Zc​的矩阵替换得到。

  • HBGH_{BG}HBG​中为0的元素替换为大小为Zc∗ZcZ_c*Z_cZc​∗Zc​的全0矩阵。
  • HBGH_{BG}HBG​中为1的元素替换为大小为Zc∗ZcZ_c*Z_cZc​∗Zc​的循环置换矩阵I(Pi,j)\mathbf{I}(P_{i,j})I(Pi,j​),其中i,ji,ji,j为相应元素的行和列。I(Pi,j)\mathbf{I}(P_{i,j})I(Pi,j​)是通过将单位矩阵I\mathbf{I}I向右循环移位Pi,jP_{i,j}Pi,j​次得到的。Pi,j=mod(Vi,j,Zc)P_{i,j}={\rm mod}(V_{i,j},Z_c)Pi,j​=mod(Vi,j​,Zc​)。Vi,jV_{i,j}Vi,j​的值在表5.3.2-2中根据集合索引iLSi_{LS}iLS​和LDPC base graph确定。

4.编码的输入表示为c0,c1,c2,...,cK−1c_0,c_1,c_2,...,c_{K-1}c0​,c1​,c2​,...,cK−1​,编码输出为d0,d1,d2,...,dN−1d_0,d_1,d_2,...,d_{N-1}d0​,d1​,d2​,...,dN−1​。



得到d0,d1,d2,...,dN−1d_0,d_1,d_2,...,d_{N-1}d0​,d1​,d2​,...,dN−1​。
5.速率匹配:采用的是循环buffer,rvidrv_{id}rvid​表示本次传输的冗余版本(0,1,2,3)。速率匹配的输出序列表示为ek,k=0,1,2,...,E−1e_k,k=0,1,2,...,E-1ek​,k=0,1,2,...,E−1。由以下方式表述:
得到速率匹配输出ek,k=0,1,2,...,E−1e_k,k=0,1,2,...,E-1ek​,k=0,1,2,...,E−1。其中k0k_0k0​由表5.4.2.1-2表示。Ncb=N,ifILBRM=0;Ncb=min(N,Nref),otherwise.N_{cb}=N, if I_{LBRM}=0;N_{cb}=min(N,N_{ref}), otherwise.Ncb​=N,ifILBRM​=0;Ncb​=min(N,Nref​),otherwise.。
Nref=⌊TBSLBRMC∗RLBRM⌋N_{ref}=\lfloor\frac{TBS_{LBRM}}{C*R_{LBRM}}\rfloorNref​=⌊C∗RLBRM​TBSLBRM​​⌋
6.交织:QmQ_mQm​是调制阶数,有:


可以得到交织后的比特序列f0,f1,f2,...,fE−1f_0,f_1,f_2,...,f_{E-1}f0​,f1​,f2​,...,fE−1​。

NR-LDPC码知识相关推荐

  1. 5G NR LDPC码(2)—— 5G NR中的LDPC码标准化内容

    LDPC码由于可以达到更高的译码吞吐量和更低的译码时延,可以更好适应高数据速率业务的传输,从而替代LTE的Turbo码,被采纳为5G NR数据的编码方案. 1. 基图 (BG, Base Graph) ...

  2. 5G NR LDPC码(1)—— LDPC码设计原理

    5G NR中规定了控制消息和广播信道用Polar码,数据传输用LDPC码的方案. LDPC属于线性分组码,常用校验矩阵或者Tanner图来描述. 用校验矩阵来描述LDPC码,可以清晰的看到信息比特和校 ...

  3. 5G NR Polar码简介(一)

    这里写目录标题 Polar码的基本原理 NR Polar码的设计 CA-Polar码 PC-CA Polar码 Distributed CRC Polar码 序列设计 Polar码的基本原理 土耳其毕 ...

  4. NR LDPC 04 -definition, Tanner and Protograph Constructions

    前言 前面简要的介绍了LDPC相关知识,下面会参照NPTEL详细介绍一下. 分为8章,每章半个小时内容.8天左右的内容 目录: 1:   define 2: Tanner 3: protograph ...

  5. 基于Matlab的LDPC码性能研究毕业设计(含源文件)

    欢迎添加微信互相交流学习哦! 项目源码:https://gitee.com/oklongmm/biye 本科毕业设计(论文) 题 目    LDPC码性能研究 摘 要     信道编码是数字通信系统的 ...

  6. [4G5G专题-44]:物理层-物理层信道编码与交织加扰以及LDPC码与Polar码比较

    目录 第1章 物理层架构 1.1 物理层内部功能协议栈 1.2 5G NR下行选项A 1.3 5G NR下行选项B 1.4 NR的物理层数据处理过程概述 第2章 物理层信道编码过程 2.1 NR物理层 ...

  7. LDPC码的编译码原理简述

    关于fpga调用ldpc IP core的相关参数问题可以看我的另一篇文章 LDPC码由Gallager在1962年提出,全称为 Low Density Parity-check Codes 低密度奇 ...

  8. 新版知识付费系统付费阅读小程序源码知识付费平台

    介绍: 2021知识付费系统付费阅读小程序源码知识付费平台源码. 知识付费的小程序源码的作用我就不多说了,现在都是知识付费的年代,也是付费学习的时代. 知识付费阅读小程序,带有代理,分销,课程资源更新 ...

  9. C语言实现LDPC的校验矩阵,非正则LDPC码在AWGN信道中的性能研究

    0引言低密度奇偶校验码(LowDensityParityCheck,LDPC)是Gallager提出的基于稀疏校验矩阵的线性分组码[1].其构造特殊之处在于它的奇偶检验矩阵H是稀疏矩阵,即H矩阵中非零 ...

  10. NR LDPC 03- Tanner

    前言: 1963年,Gallager(麻省理工罗伯特·加拉格尔院士)在其博士论文中提出了LDPC码 1982年 Tanner 使用图来表示LDPC码,推广了LDPC码 LDPC属于线性分组码,常用校验 ...

最新文章

  1. sort,uniq,fmt,wc,提取开头和结尾的命令的使用
  2. php留言簿代码,php自治简单留言板代码
  3. Docker资源控制与TLS加密通信
  4. 【转】ABP源码分析五:ABP初始化全过程
  5. 计算机知识竞赛主持人开场词,护理竞赛主持人台词:主持人开场白台词
  6. MATLAB警告: 矩阵为奇异工作精度
  7. 如何调查一家公司是否靠谱?
  8. ORACLE PATCH 版本的查询 PL/SQL
  9. zookeeper部署
  10. php找零页面,找零问题
  11. 武汉大学计算机学院电子与通信工程,武汉大学电子信息学院信息与通信工程
  12. 计算机工程ei是不是不检索了,EI检索的期刊一定是EI吗
  13. 显微镜下的大明内容_读《显微镜下的大明》有感
  14. 从iOS切换到Android(flyme)
  15. 前后端跨语言RSA加解密和签名验证实现(js+python)
  16. 如何画好室内手绘效果图,非常值得…
  17. 你所不了解的手机程序数据外泄
  18. 迷宫求解(深度优先)
  19. 星来客机器人餐厅_星战来客——韩国“机器人士兵”小记
  20. CIE1931-XYZ表色系统

热门文章

  1. Windows10最优设置
  2. Modbus-异常响应
  3. 巧用软件辅助,打造个人网络硬盘服务器(转)
  4. 计算机原理(CPU是如何进行工作的?)
  5. BotFramework-WebChat 实现点击标签发送消息
  6. Excel地图可视化不好用?试试这款工具
  7. java到站提醒实现,基于安卓Android实时公交查询系统的设计(Androidstudio)
  8. 初始C语言——梦开始的地方
  9. 芯片中上拉下拉电阻有何作用?
  10. cesium加载cgcs2000\wgs84坐标系解决方式