CN114257250A - Ldpc码编码方法、装置、网络设备和存储介质 - Google Patents

Ldpc码编码方法、装置、网络设备和存储介质 Download PDF

Info

Publication number
CN114257250A
CN114257250A CN202011027693.5A CN202011027693A CN114257250A CN 114257250 A CN114257250 A CN 114257250A CN 202011027693 A CN202011027693 A CN 202011027693A CN 114257250 A CN114257250 A CN 114257250A
Authority
CN
China
Prior art keywords
check
matrix
sequence
ldpc code
calculating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202011027693.5A
Other languages
English (en)
Inventor
钟海静
许金海
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN202011027693.5A priority Critical patent/CN114257250A/zh
Priority to PCT/CN2021/120371 priority patent/WO2022063237A1/zh
Publication of CN114257250A publication Critical patent/CN114257250A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits

Abstract

本发明实施例提供的LDPC码编码方法、装置、网络设备和存储介质,根据提供的LDPC码,对LDPC码的基础矩阵中,对应的非零元素进行存储;根据第一校验子矩阵、非零元素以及待编码序列,计算得到第一校验序列;其中,LDPC码的校验矩阵被划分为第一校验子矩阵、第二校验子矩阵、全零矩阵以及单位对角阵;根据第二校验子矩阵、单位对角阵、非零元素以及待编码序列,以及所述第一校验序列,计算得到第二校验序列;根据第一校验序列、第二校验序列和待编码序列,计算得到编码输出。从而,通过将LDPC码的校验矩阵,划分为第一校验子矩阵、第二校验子矩阵、全零矩阵和单位对角阵,来进行编码处理,从而提升了编码处理的效率,降低了编码延迟,满足了5G场景下的低时延要求。

Description

LDPC码编码方法、装置、网络设备和存储介质
技术领域
本发明实施例涉及但不限于通信领域,具体而言,涉及但不限于一种LDPC码编码方法、装置、网络设备和存储介质。
背景技术
低密度奇偶校验(Low-density Parity-check,LDPC)码是一种能逼近香农限的信道编码方案。该信道编码方案目前已被IEEE802.16e、IEEE802.22、5G等标准采纳。LDPC码属于线性分组码,根据构造的方法,大体可分为随机构造的LDPC码及结构化的LDPC码,在当前5G协议标准中所采纳的QC-LDPC码属于结构化LDPC码,具有准循环及对角特性。在相关技术中,通常是利用通用的高斯消元方法,对待编码的序列进行编码,而该编码方法较为繁琐,并不能充分发挥LDPC码的特性,也难以满足5G uRLLC(Ultra-reliable and Low LatencyCommunications,高可靠和低延迟通信)场景低时延的要求。如何针对该LDPC码进行高效的快速编码,是亟需解决的问题。
发明内容
本发明实施例提供的LDPC码编码方法、装置、网络设备和存储介质,主要解决的技术问题是相关技术中,针对LDPC码编码方式繁琐,场景时延较高的问题。
为解决上述技术问题,本发明实施例提供一种LDPC码编码方法,包括:
根据提供的LDPC码,对所述LDPC码的基础矩阵中,对应的非零元素进行存储;
根据第一校验子矩阵、非零元素以及待编码序列,计算得到第一校验序列;其中,所述LDPC码的校验矩阵被划分为第一校验子矩阵、第二校验子矩阵、全零矩阵以及单位对角阵;
根据所述第二校验子矩阵、单位对角阵、非零元素以及待编码序列,以及所述第一校验序列,计算得到第二校验序列;
根据所述第一校验序列、第二校验序列和待编码序列,计算得到编码输出。
本发明实施例还提供一种LDPC码编码装置,包括:
存储模块,用于根据提供的LDPC码,对所述LDPC码的基础矩阵中,对应的非零元素进行存储;
计算模块,用于根据第一校验子矩阵、非零元素以及待编码序列,计算得到第一校验序列,以及根据所述第二校验子矩阵、单位对角阵、非零元素以及待编码序列,以及所述第一校验序列,计算得到第二校验序列;其中,所述LDPC的校验矩阵被划分为第一校验子矩阵、第二校验子矩阵、全零矩阵以及单位对角阵;
编码模块,用于根据所述第一校验序列、第二校验序列和待编码序列,计算得到编码输出。
本发明实施例还提供一种网络设备,包括处理器、存储器、及通信总线;
所述通信总线用于实现处理器和存储器之间的连接通信;
所述处理器用于执行存储器中存储的一个或者多个计算机程序,以实现上述的LDPC码编码方法的步骤。
本发明实施例还提供一种计算机存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述的LDPC码编码方法的步骤。
根据本发明实施例提供的LDPC码编码方法、装置、网络设备和存储介质,根据提供的LDPC码,对LDPC码的基础矩阵中,对应的非零元素进行存储;根据第一校验子矩阵、非零元素以及待编码序列,计算得到第一校验序列;其中,LDPC码的校验矩阵被划分为第一校验子矩阵、第二校验子矩阵、全零矩阵以及单位对角阵;根据第二校验子矩阵、单位对角阵、非零元素以及待编码序列,以及所述第一校验序列,计算得到第二校验序列;根据第一校验序列、第二校验序列和待编码序列,计算得到编码输出。从而,通过将LDPC码的校验矩阵,划分为第一校验子矩阵、第二校验子矩阵、全零矩阵和单位对角阵,来进行编码处理,从而提升了编码处理的效率,降低了编码延迟,满足了5G场景下的低时延要求。
本发明其他特征和相应的有益效果在说明书的后面部分进行阐述说明,且应当理解,至少部分有益效果从本发明说明书中的记载变的显而易见。
附图说明
图1为本发明各实施例的LDPC码编码方法流程图;
图2为本发明各实施例的LDPC码编码方法流程图;
图3为本发明各实施例的LDPC码编码装置组成示意图;
图4为本发明各实施例的网络设备组成示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,下面通过具体实施方式结合附图对本发明实施例作进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例一:
本实施例提供了一种LDPC码编码方法,请参见图1,该方法包括:
S101、根据提供的LDPC码,对LDPC码的基础矩阵中,对应的非零元素进行存储;
S102、根据第一校验子矩阵、非零元素以及待编码序列,计算得到第一校验序列;其中,LDPC码的校验矩阵被划分为第一校验子矩阵、第二校验子矩阵、全零矩阵以及单位对角阵;
S103、根据第二校验子矩阵、单位对角阵、非零元素以及待编码序列,以及第一校验序列,计算得到第二校验序列;
S104、根据第一校验序列、第二校验序列和待编码序列,计算得到编码输出。
本发明实施例所要解决的技术问题在于,针对传统的编码方式,没能充分利用5G协议下,QC-LDPC码的特性,难以满足实际工程应用低时延的要求的不足,提供一种快速编码的方法。
在一些实施例中,对LDPC码的基础矩阵中,对应的非零元素进行存储具体包括:
对非零元素的元素值以及行偏移、列索引进行存储。也就是说,非零元素在进行存储时,需要存储其在基础矩阵中的位置,通俗来讲就是坐标,以及其具体的数值,其中位置即是行偏移和列索引,而数值就是元素值。
在本实施例中,根据提供的LDPC码,可以获知对应的基础矩阵,即BG矩阵;BG矩阵可以定义为Hm×n,其中m表示BG矩阵的行数,n表示BG矩阵的列数。
所谓按照LDPC码进行编码,也就是对待编码序列进行编码,待编码序列也称之为待编码向量,可以表示为
Figure BDA0002702597180000021
表示该待编码序列中,含有kzc个元素,待编码序列的长度为kzc。一般而言,对于待编码序列,其kzc的总值是已知的,比如说,给定的待编码序列,可以预知其序列中的元素个数为200,则kzc即为200。
具体的,对于待编码序列,也就是待编码向量
Figure BDA0002702597180000022
而言,其之所以将元素的个数表示为kzc,是为了与LDPC码对应的基础矩阵和校验矩阵相对应;具体的,BG矩阵为Hm×n,其中k=n-m;而校验矩阵为基于基础矩阵,根据待编码序列的长度,对基础矩阵进行扩张得到。具体的,校验矩阵为基于基础矩阵,根据待编码序列的长度,对基础矩阵进行扩张得到可以包括:基础矩阵为Hm×n,待编码序列为
Figure BDA0002702597180000031
k=n-m,校验矩阵为
Figure BDA0002702597180000032
其中,各矩阵下标中,×号两侧分别表示矩阵的行数和列数。也就是说,校验矩阵,是将基础矩阵扩张ZC倍所得到,其行数和列数均扩展到之前的ZC倍。
在一些实施例中,将LDPC码的校验矩阵,划分为第一校验子矩阵、第二校验子矩阵、全零矩阵以及单位对角阵中,具体按照以下方式对校验矩阵进行划分:
第一校验子矩阵包括位于校验矩阵的左上角的元素,行数为4ZC,列数为(k+4)ZC
第二校验子矩阵包括位于校验矩阵的左下角的元素,行数为(m-4)ZC,列数为(k+4)ZC
具体的,校验矩阵按照以下方式进行划分:
Figure BDA0002702597180000033
其中,
Figure BDA0002702597180000034
为全零阵,
Figure BDA0002702597180000035
为单位对角阵,
Figure BDA0002702597180000036
为第一校验子矩阵,
Figure BDA0002702597180000037
为第二校验子矩阵。而第一校验子矩阵
Figure BDA0002702597180000038
表示
Figure BDA0002702597180000039
Figure BDA00027025971800000310
的组合的矩阵,其行数为4ZC,列数为(k+4)ZC;第二校验子矩阵
Figure BDA00027025971800000311
的行数为(m-4)ZC,列数为(k+4)ZC。两个校验子矩阵的总行数为mZC,总列数为(k+4)ZC。由于k=n-m,因此两个校验子矩阵的总列数,相当于是(n-m+4)ZC。而全零阵和单位对角阵的列数为(m-4)ZC,与校验子矩阵的列数相加则正好是nZC
在一些实施例中,根据第一校验子矩阵、非零元素以及待编码序列,计算得到第一校验序列具体可以包括:
将第一校验子矩阵,划分为4个行矩阵,分别是A矩阵、B矩阵、C矩阵和D矩阵,每个行矩阵的行数为ZC,相当于将第一校验子矩阵,按照行均分为四个矩阵,划分如下:
Figure BDA00027025971800000312
基于各行矩阵,并根据
Figure BDA00027025971800000313
计算得到第一校验序列;其中:
Figure BDA00027025971800000314
Figure BDA00027025971800000315
为第一校验序列;
Figure BDA00027025971800000316
为第二校验序列。而
Figure BDA00027025971800000317
表示
Figure BDA00027025971800000318
的转置,
Figure BDA00027025971800000319
Figure BDA00027025971800000320
Figure BDA00027025971800000321
之间的特性。矩阵
Figure BDA00027025971800000322
Figure BDA0002702597180000041
矩阵中的第i行j列元素分别表示为
Figure BDA0002702597180000042
Figure BDA0002702597180000043
其中0≤i<Zc,0≤j<(k+4)Zc
在一些实施例中,计算得到第一校验序列可以包括:
将矩阵
Figure BDA0002702597180000044
中的相同行列的元素分别与
Figure BDA0002702597180000045
中相同行列的元素作异或运算(也称之为模2加运算),得到
Figure BDA0002702597180000046
Figure BDA0002702597180000047
Figure BDA0002702597180000048
在计算过程中,各个矩阵中的元素之间的异或运算,可以并行进行,提升计算过程中的效率;
根据
Figure BDA0002702597180000049
得到
Figure BDA00027025971800000410
并解得
Figure BDA00027025971800000411
前ZC个校验位
Figure BDA00027025971800000412
在计算过程中,得到各个校验位的过程,可以并行进行,提升计算过程中的效率;
根据
Figure BDA00027025971800000413
得到
Figure BDA00027025971800000414
并解得
Figure BDA00027025971800000415
第二段ZC个校验位
Figure BDA00027025971800000416
在计算过程中,得到各个校验位的过程,可以并行进行,提升计算过程中的效率;
根据
Figure BDA00027025971800000417
得到
Figure BDA00027025971800000418
并解得
Figure BDA00027025971800000419
第三段ZC个校验位
Figure BDA00027025971800000420
在计算过程中,得到各个校验位的过程,可以并行进行,提升计算过程中的效率;
根据根据
Figure BDA00027025971800000421
得到
Figure BDA00027025971800000422
并解得
Figure BDA00027025971800000423
第四段ZC个校验位
Figure BDA00027025971800000424
从而得到第一校验序列
Figure BDA00027025971800000425
同样的,在计算过程中,得到各个校验位的过程,可以并行进行,提升计算过程中的效率;通过上述步骤,分别得到了第一校验序列中的四段长度为ZC的校验位,将其按照顺序进行组合,即可得到第一校验序列
Figure BDA00027025971800000426
在一些实施例中,根据第二校验子矩阵、单位对角阵、非零元素以及待编码序列,以及上述计算得到的第一校验序列,计算得到第二校验序列可以包括:
根据
Figure BDA00027025971800000427
得到
Figure BDA00027025971800000428
并解得
Figure BDA00027025971800000429
从而得到第二校验序列
Figure BDA00027025971800000430
同样的,在计算过程中,得到各个校验位的过程,可以并行进行,提升计算过程中的效率。
在一些实施例中,根据第一校验序列、第二校验序列和待编码序列,计算得到编码输出具体可以包括:
根据计算得到的
Figure BDA0002702597180000051
Figure BDA0002702597180000052
确定
Figure BDA0002702597180000053
打孔
Figure BDA0002702597180000054
的前2ZC个比特数,得到编码输出。由于
Figure BDA0002702597180000055
是待编码序列,属于已知的,而
Figure BDA0002702597180000056
Figure BDA0002702597180000057
通过上述步骤解得,因此可以得知
Figure BDA0002702597180000058
打孔
Figure BDA0002702597180000059
的前2ZC个比特数,表示将
Figure BDA00027025971800000510
中的前2ZC个比特数去除,保留后续的比特,作为编码结果输出。
本实施例提供了一种LDPC码编码方法,根据提供的LDPC码,对LDPC码的基础矩阵中,对应的非零元素进行存储;根据第一校验子矩阵、非零元素以及待编码序列,计算得到第一校验序列;其中,LDPC码的校验矩阵被划分为第一校验子矩阵、第二校验子矩阵、全零矩阵以及单位对角阵;根据第二校验子矩阵、单位对角阵、非零元素以及待编码序列,以及所述第一校验序列,计算得到第二校验序列;根据第一校验序列、第二校验序列和待编码序列,计算得到编码输出。从而,通过将LDPC码的校验矩阵,划分为第一校验子矩阵、第二校验子矩阵、全零矩阵和单位对角阵,来进行编码处理,从而提升了编码处理的效率,降低了编码延迟,满足了5G场景下的低时延要求。
实施例二
本实施例提供了一种LDPC码编码方法,请参考图2,包括:
S201、把该QC-LDPC码根据其BG矩阵扩张得到的对应的m*Zc行,n*Zc列校验矩阵,表示为
Figure BDA00027025971800000511
为描述方便,下面统一将矩阵下标×号左边的数表示为矩阵的行数,右边的数表示为列数。将
Figure BDA00027025971800000512
划分为5块子矩阵
Figure BDA00027025971800000513
其中
Figure BDA00027025971800000514
为全零阵,
Figure BDA00027025971800000515
为单位对角阵;
S202、将第一校验子矩阵
Figure BDA00027025971800000516
拆分为四个行矩阵,分别是A矩阵、B矩阵、C矩阵和D矩阵,具体拆分结果如下:
Figure BDA00027025971800000517
把矩阵
Figure BDA00027025971800000518
矩阵中的第i行j列元素分别表示为
Figure BDA00027025971800000519
其中0≤i<Zc,0≤j<(k+4)Zc
S203、把待编码序列表示为行向量
Figure BDA0002702597180000061
把编码后的校验位分为
Figure BDA0002702597180000062
Figure BDA0002702597180000063
两部分,
Figure BDA0002702597180000064
而后,令
Figure BDA0002702597180000065
则满足公式
Figure BDA0002702597180000066
其中
Figure BDA0002702597180000067
表示
Figure BDA0002702597180000068
的转置;
S204、将矩阵
Figure BDA0002702597180000069
中的同一行列元素分别与
Figure BDA00027025971800000610
同一行列元素进行异或运算,结果如下:
Figure BDA00027025971800000611
S205、根据公式
Figure BDA00027025971800000612
得:
Figure BDA00027025971800000613
可解得Zc个校验比特位
Figure BDA00027025971800000614
S206、根据公式
Figure BDA00027025971800000615
得:
Figure BDA00027025971800000616
可解得
Figure BDA00027025971800000617
S207、根据公式
Figure BDA00027025971800000618
得:
Figure BDA00027025971800000619
可解得
Figure BDA00027025971800000620
S208、根据公式
Figure BDA00027025971800000621
得:
Figure BDA00027025971800000622
可解得
Figure BDA00027025971800000623
S209、根据公式
Figure BDA00027025971800000624
得:
Figure BDA00027025971800000625
可解得第二校验序列
Figure BDA00027025971800000626
S210、打孔
Figure BDA00027025971800000627
前2Zc个比特,可得编码输出。
实施例三
本实施例以协议中BG1矩阵为例进行说明,本实施例中m=46,n=68,k=22,传输块(Transport Block,TB)长度为16896比特,仿真平台为乌班图ubuntu16.04,显卡GT730,CUDA(Compute Unified Device Architecture,统一计算设备架构)版本cuda9.1。
步骤一:对编码用到的BG矩阵进行储存。在GPU(Graphics Processing Unit,图形处理器)上储存BG矩阵中的非零元行偏移及非零元的列索引和非零元的元素值,在具体编码算法需用到该非零元时,才在CUDA内核中对该非零元进行循环置换矩阵Zc×Zc扩展,得到校验矩阵。
步骤二:计算编码输出系统信息比特序列,即待编码序列。设定二维网格维度,一维线程块,block.x值为待编码序列长度及GPU限定的每个块最大线程数两者中的较小值,grid.y值为需要分段编码的数目;grid.x值为待编码序列长度除以GPU限定的每个块最大线程数,取下整。内核定义一个寄存器变量并赋值为2Zc,通过索引值偏移2Zc位,进行并行赋值,即可打孔待编码序列
Figure BDA0002702597180000071
前2Zc个比特,取后20Zc位比特作为系统信息位输出;
步骤三:计算编码输出校验比特序列,具体计算流程如下:
步骤3.1开一个GPU内核求解子矩阵
Figure BDA0002702597180000072
与行向量
Figure BDA0002702597180000073
的乘积。设定二维网格维度,一维线程块,grid.x值为4,grid.y值为需要分段编码的数目;block.x值为Zc。内核中定义一个寄存器变量cur_H11_row_nnz,根据步骤一的矩阵表示方法,计算矩阵
Figure BDA0002702597180000074
中每一行非零元的数量。每个块中的一个线程计算
Figure BDA0002702597180000075
Figure BDA0002702597180000076
每一行的乘积;
步骤3.2开一个GPU内核求解第一校验序列
Figure BDA0002702597180000077
设定二维网格维度,一维线程块,grid.x值为1,grid.y值为需要分段编码的数目;block.x值为Zc。根据公式
Figure BDA0002702597180000078
在内核中用4个__device__函数,分别计算
Figure BDA0002702597180000079
Figure BDA00027025971800000710
步骤3.3开一个GPU内核求解第二校验序列
Figure BDA00027025971800000711
设定二维网格维度,一维线程块,grid.x值为42,grid.y值为需要分段编码的数目;block.x值为Zc。内核中定义一个寄存器变量cur_H21_Ib_row_nnz,根据步骤一的矩阵表示方法,计算矩阵
Figure BDA00027025971800000712
中每一行非零元的数量。每个块中的一个线程计算
Figure BDA00027025971800000713
Figure BDA00027025971800000714
每一行的乘积;
步骤3.4将系统信息位与校验序列
Figure BDA00027025971800000715
拼接,可得到编码输出。
测试结果:
一、正确性验证
对于每个分段后的待编码序列,其对应的编码输出
Figure BDA00027025971800000716
均满足校验方程
Figure BDA00027025971800000717
二、有效性验证
传输块长度为16896比特的编码输入,编码完成时间为53.73微秒。
另外仿真了两组长度较短的TB块,编码输入序列分别为144比特、2792比特,请参考表1。
表1
TB块长度(比特) 编码耗时(微秒)
144 26.33
2792 31.52
16896 53.73
测试效果表明:针对5G场景的LDPC码快速编码并行算法,在不同长度TB块下,编码耗时均为微秒级别。
实施例四:
本实施例提供了一种LDPC码编码装置,请参见图3,该装置包括:
存储模块31,用于根据提供的LDPC码,对LDPC码的基础矩阵中,对应的非零元素进行存储;
计算模块32,用于根据第一校验子矩阵、非零元素以及待编码序列,计算得到第一校验序列,以及根据第二校验子矩阵、单位对角阵、非零元素以及待编码序列,以及第一校验序列,计算得到第二校验序列;其中,LDPC的校验矩阵被划分为第一校验子矩阵、第二校验子矩阵、全零矩阵以及单位对角阵;
编码模块33,用于根据第一校验序列、第二校验序列和待编码序列,计算得到编码输出。
本发明实施例所要解决的技术问题在于,针对传统的编码方式,没能充分利用5G协议下,QC-LDPC码的特性,难以满足实际工程应用低时延的要求的不足,提供一种快速编码的方法。
在一些实施例中,对LDPC码的基础矩阵中,对应的非零元素进行存储具体包括:
对非零元素的元素值以及行偏移、列索引进行存储。也就是说,非零元素在进行存储时,需要存储其在基础矩阵中的位置,通俗来讲就是坐标,以及其具体的数值,其中位置即是行偏移和列索引,而数值就是元素值。
在本实施例中,根据提供的LDPC码,可以获知对应的基础矩阵,即BG矩阵;BG矩阵可以定义为Hm×n,其中m表示BG矩阵的行数,n表示BG矩阵的列数。
所谓按照LDPC码进行编码,也就是对待编码序列进行编码,待编码序列也称之为待编码向量,可以表示为
Figure BDA0002702597180000081
表示该待编码序列中,含有kzc个元素,待编码序列的长度为kzc。一般而言,对于待编码序列,其kzc的总值是已知的,比如说,给定的待编码序列,可以预知其序列中的元素个数为200,则kzc即为200。
具体的,对于待编码序列,也就是待编码向量
Figure BDA0002702597180000082
而言,其之所以将元素的个数表示为kzc,是为了与LDPC码对应的基础矩阵和校验矩阵相对应;具体的,BG矩阵为Hm×n,其中k=n-m;而校验矩阵为基于基础矩阵,根据待编码序列的长度,对基础矩阵进行扩张得到。具体的,校验矩阵为基于基础矩阵,根据待编码序列的长度,对基础矩阵进行扩张得到可以包括:基础矩阵为Hm×n,待编码序列为
Figure BDA0002702597180000083
k=n-m,校验矩阵为
Figure BDA0002702597180000084
其中,各矩阵下标中,×号两侧分别表示矩阵的行数和列数。也就是说,校验矩阵,是将基础矩阵扩张ZC倍所得到,其行数和列数均扩展到之前的ZC倍。
在一些实施例中,将LDPC码的校验矩阵,划分为第一校验子矩阵、第二校验子矩阵、全零矩阵以及单位对角阵中,具体按照以下方式对校验矩阵进行划分:
第一校验子矩阵包括位于校验矩阵的左上角的元素,行数为4ZC,列数为(k+4)ZC
第二校验子矩阵包括位于校验矩阵的左下角的元素,行数为(m-4)ZC,列数为(k+4)ZC
具体的,校验矩阵按照以下方式进行划分:
Figure BDA0002702597180000091
其中,
Figure BDA0002702597180000092
为全零阵,
Figure BDA0002702597180000093
为单位对角阵,
Figure BDA0002702597180000094
为第一校验子矩阵,
Figure BDA0002702597180000095
为第二校验子矩阵。而第一校验子矩阵
Figure BDA0002702597180000096
表示
Figure BDA0002702597180000097
Figure BDA0002702597180000098
的组合的矩阵,其行数为4ZC,列数为(k+4)ZC;第二校验子矩阵
Figure BDA0002702597180000099
的行数为(m-4)ZC,列数为(k+4)ZC。两个校验子矩阵的总行数为mZC,总列数为(k+4)ZC。由于k=n-m,因此两个校验子矩阵的总列数,相当于是(n-m+4)ZC。而全零阵和单位对角阵的列数为(m-4)ZC,与校验子矩阵的列数相加则正好是nZC
在一些实施例中,根据第一校验子矩阵、非零元素以及待编码序列,计算得到第一校验序列具体可以包括:
将第一校验子矩阵,划分为4个行矩阵,分别是A矩阵、B矩阵、C矩阵和D矩阵,每个行矩阵的行数为ZC,相当于将第一校验子矩阵,按照行均分为四个矩阵,划分如下:
Figure BDA00027025971800000910
基于各行矩阵,并根据
Figure BDA00027025971800000911
计算得到第一校验序列;其中:
Figure BDA00027025971800000912
Figure BDA00027025971800000913
为第一校验序列;
Figure BDA00027025971800000914
为第二校验序列。而
Figure BDA00027025971800000915
表示
Figure BDA00027025971800000916
的转置,
Figure BDA00027025971800000917
Figure BDA00027025971800000918
Figure BDA00027025971800000919
之间的特性。矩阵
Figure BDA00027025971800000920
Figure BDA00027025971800000921
矩阵中的第i行j列元素分别表示为
Figure BDA00027025971800000922
Figure BDA00027025971800000923
其中0≤i<Zc,0≤j<(k+4)Zc
在一些实施例中,计算得到第一校验序列可以包括:
将矩阵
Figure BDA00027025971800000924
中的相同行列的元素分别与
Figure BDA00027025971800000925
中相同行列的元素作异或运算(也称之为模2加运算),得到
Figure BDA00027025971800000926
Figure BDA00027025971800000927
Figure BDA00027025971800000928
在计算过程中,各个矩阵中的元素之间的异或运算,可以并行进行,提升计算过程中的效率;
根据
Figure BDA0002702597180000101
得到
Figure BDA0002702597180000102
并解得
Figure BDA0002702597180000103
前ZC个校验位
Figure BDA0002702597180000104
在计算过程中,得到各个校验位的过程,可以并行进行,提升计算过程中的效率;
根据
Figure BDA0002702597180000105
得到
Figure BDA0002702597180000106
并解得
Figure BDA0002702597180000107
第二段ZC个校验位
Figure BDA0002702597180000108
在计算过程中,得到各个校验位的过程,可以并行进行,提升计算过程中的效率;
根据
Figure BDA0002702597180000109
得到
Figure BDA00027025971800001010
并解得
Figure BDA00027025971800001011
第三段ZC个校验位
Figure BDA00027025971800001012
在计算过程中,得到各个校验位的过程,可以并行进行,提升计算过程中的效率;
根据根据
Figure BDA00027025971800001013
得到
Figure BDA00027025971800001014
并解得
Figure BDA00027025971800001015
第四段ZC个校验位
Figure BDA00027025971800001016
从而得到第一校验序列
Figure BDA00027025971800001017
同样的,在计算过程中,得到各个校验位的过程,可以并行进行,提升计算过程中的效率;通过上述步骤,分别得到了第一校验序列中的四段长度为ZC的校验位,将其按照顺序进行组合,即可得到第一校验序列
Figure BDA00027025971800001018
在一些实施例中,根据第二校验子矩阵、单位对角阵、非零元素以及待编码序列,以及上述计算得到的第一校验序列,计算得到第二校验序列可以包括:
根据
Figure BDA00027025971800001019
得到
Figure BDA00027025971800001020
并解得
Figure BDA00027025971800001021
从而得到第二校验序列
Figure BDA00027025971800001022
同样的,在计算过程中,得到各个校验位的过程,可以并行进行,提升计算过程中的效率。
在一些实施例中,根据第一校验序列、第二校验序列和待编码序列,计算得到编码输出具体可以包括:
根据计算得到的
Figure BDA00027025971800001023
Figure BDA00027025971800001024
确定
Figure BDA00027025971800001025
打孔
Figure BDA00027025971800001026
的前2ZC个比特数,得到编码输出。由于
Figure BDA00027025971800001027
是待编码序列,属于已知的,而
Figure BDA00027025971800001028
Figure BDA00027025971800001029
通过上述步骤解得,因此可以得知
Figure BDA00027025971800001030
打孔
Figure BDA00027025971800001031
的前2ZC个比特数,表示将
Figure BDA00027025971800001032
中的前2ZC个比特数去除,保留后续的比特,作为编码结果输出。
本实施例提供了一种LDPC码编码装置,包括存储模块、计算模块和编码模块,根据提供的LDPC码,对LDPC码的基础矩阵中,对应的非零元素进行存储;根据第一校验子矩阵、非零元素以及待编码序列,计算得到第一校验序列;其中,LDPC码的校验矩阵被划分为第一校验子矩阵、第二校验子矩阵、全零矩阵以及单位对角阵;根据第二校验子矩阵、单位对角阵、非零元素以及待编码序列,以及所述第一校验序列,计算得到第二校验序列;根据第一校验序列、第二校验序列和待编码序列,计算得到编码输出。从而,通过将LDPC码的校验矩阵,划分为第一校验子矩阵、第二校验子矩阵、全零矩阵和单位对角阵,来进行编码处理,从而提升了编码处理的效率,降低了编码延迟,满足了5G场景下的低时延要求。
实施例五:
本实施例还提供了一种网络设备,请参考图4,其包括处理器41、存储器42及通信总线43;
通信总线43用于实现处理器41和存储器42之间的连接通信;
处理器41用于执行存储器42中存储的一个或者多个计算机程序,以实现上述各实施例中的LDPC码编码方法中的步骤,这里不再赘述。
本实施例还提供了一种计算机可读存储介质,该计算机可读存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、计算机程序模块或其他数据)的任何方法或技术中实施的易失性或非易失性、可移除或不可移除的介质。计算机可读存储介质包括但不限于RAM(Random Access Memory,随机存取存储器),ROM(Read-Only Memory,只读存储器),EEPROM(Electrically Erasable Programmable read only memory,带电可擦可编程只读存储器)、闪存或其他存储器技术、CD-ROM(Compact Disc Read-Only Memory,光盘只读存储器),数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。
本实施例中的计算机可读存储介质可用于存储一个或者多个计算机程序,其存储的一个或者多个计算机程序可被一个或者多个处理器执行,以实现上述各实施例种的LDPC码编码方法的步骤。
本实施例还提供了一种计算机程序(或称计算机软件),该计算机程序可以分布在计算机可读介质上,由可计算装置来执行,以实现上述各实施例中的LDPC码编码方法的步骤;并且在某些情况下,可以采用不同于上述实施例所描述的顺序执行所示出或描述的至少一个步骤。
本实施例还提供了一种计算机程序产品,包括计算机可读装置,该计算机可读装置上存储有如上所示的计算机程序。本实施例中该计算机可读装置可包括如上所示的计算机可读存储介质。
可见,本领域的技术人员应该明白,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件(可以用计算装置可执行的计算机程序代码来实现)、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。
此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、计算机程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。所以,本发明不限制于任何特定的硬件和软件结合。
以上内容是结合具体的实施方式对本发明实施例所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (13)

1.一种低密度奇偶校验LDPC码编码方法,包括:
根据提供的LDPC码,对所述LDPC码的基础矩阵中,对应的非零元素进行存储;
根据第一校验子矩阵、非零元素以及待编码序列,计算得到第一校验序列;其中,所述LDPC码的校验矩阵被划分为第一校验子矩阵、第二校验子矩阵、全零矩阵以及单位对角阵;
根据所述第二校验子矩阵、单位对角阵、非零元素以及待编码序列,以及所述第一校验序列,计算得到第二校验序列;
根据所述第一校验序列、第二校验序列和待编码序列,计算得到编码输出。
2.如权利要求1所述的LDPC码编码方法,其特征在于,所述对所述LDPC码的基础矩阵中,对应的非零元素进行存储包括:
对所述非零元素的元素值以及行偏移、列索引进行存储。
3.如权利要求1或2所述的LDPC码编码方法,其特征在于,所述校验矩阵为基于所述基础矩阵,根据所述待编码序列的长度,对所述基础矩阵进行扩张得到。
4.如权利要求3所述的LDPC码编码方法,其特征在于,所述校验矩阵为基于所述基础矩阵,根据所述待编码序列的长度,对所述基础矩阵进行扩张得到包括:所述基础矩阵为Hm×n,所述待编码序列为
Figure FDA0002702597170000011
所述k=n-m,所述校验矩阵为
Figure FDA0002702597170000012
其中,各矩阵下标中,×号两侧分别表示矩阵的行数和列数。
5.如权利要求4所述的LDPC码编码方法,其特征在于,所述将所述LDPC码的校验矩阵,划分为第一校验子矩阵、第二校验子矩阵、全零矩阵以及单位对角阵中,按照以下方式对所述校验矩阵进行划分:
所述第一校验子矩阵包括位于所述校验矩阵的左上角的元素,行数为4ZC,列数为(k+4)ZC
所述第二校验子矩阵包括位于所述校验矩阵的左下角的元素,行数为(m-4)ZC,列数为(k+4)ZC
6.如权利要求5所述的LDPC码编码方法,其特征在于,所述校验矩阵按照以下方式划分:
Figure FDA0002702597170000013
其中,所述
Figure FDA0002702597170000014
为所述全零阵,所述
Figure FDA0002702597170000015
为所述单位对角阵,所述
Figure FDA0002702597170000016
为所述第一校验子矩阵,所述
Figure FDA0002702597170000017
为所述第二校验子矩阵。
7.如权利要求6所述的LDPC码编码方法,其特征在于,所述根据第一校验子矩阵和非零元素以及待编码序列,计算得到第一校验序列包括:
将所述第一校验子矩阵,划分为4个行矩阵,分别是A矩阵、B矩阵、C矩阵和D矩阵,每个行矩阵的行数为ZC,划分如下:
Figure FDA0002702597170000018
基于各所述行矩阵,并根据
Figure FDA0002702597170000021
计算得到第一校验序列;其中:
Figure FDA0002702597170000022
Figure FDA0002702597170000023
为第一校验序列;
Figure FDA0002702597170000024
为第二校验序列。
8.如权利要求7所述的LDPC码编码方法,其特征在于,所述计算得到第一校验序列包括:
将矩阵
Figure FDA0002702597170000025
中的相同行列的元素分别与
Figure FDA0002702597170000026
中相同行列的元素作异或运算,得到
Figure FDA0002702597170000027
Figure FDA0002702597170000028
根据
Figure FDA0002702597170000029
得到
Figure FDA00027025971700000210
并解得
Figure FDA00027025971700000211
前Zc个校验位
Figure FDA00027025971700000212
根据
Figure FDA00027025971700000213
得到
Figure FDA00027025971700000214
并解得
Figure FDA00027025971700000215
第二段ZC个校验位
Figure FDA00027025971700000216
根据
Figure FDA00027025971700000217
得到
Figure FDA00027025971700000218
并解得
Figure FDA00027025971700000219
第三段ZC个校验位
Figure FDA00027025971700000220
根据根据
Figure FDA00027025971700000221
得到
Figure FDA00027025971700000222
并解得
Figure FDA00027025971700000223
第四段ZC个校验位
Figure FDA00027025971700000224
从而得到第一校验序列
Figure FDA00027025971700000225
9.如权利要求7所述的LDPC码编码方法,其特征在于,所述根据所述第二校验子矩阵、单位对角阵、非零元素以及待编码序列,以及所述第一校验序列,计算得到第二校验序列包括:
根据
Figure FDA00027025971700000226
得到
Figure FDA00027025971700000227
并解得
Figure FDA00027025971700000228
从而得到第二校验序列
Figure FDA00027025971700000229
10.如权利要求9所述的LDPC码编码方法,其特征在于,所述根据所述第一校验序列、第二校验序列和待编码序列,计算得到编码输出包括:
根据计算得到的
Figure FDA00027025971700000230
Figure FDA00027025971700000231
确定
Figure FDA00027025971700000232
其中
Figure FDA00027025971700000233
打孔
Figure FDA0002702597170000031
的前2ZC个比特数,得到编码输出。
11.一种LDPC码编码装置,包括:
存储模块,用于根据提供的LDPC码,对所述LDPC码的基础矩阵中,对应的非零元素进行存储;
计算模块,用于根据第一校验子矩阵、非零元素以及待编码序列,计算得到第一校验序列,以及根据所述第二校验子矩阵、单位对角阵、非零元素以及待编码序列,以及所述第一校验序列,计算得到第二校验序列;其中,所述LDPC的校验矩阵被划分为第一校验子矩阵、第二校验子矩阵、全零矩阵以及单位对角阵;
编码模块,用于根据所述第一校验序列、第二校验序列和待编码序列,计算得到编码输出。
12.一种网络设备,包括处理器、存储器及通信总线;:
所述通信总线用于实现所述处理器和存储器之间的连接通信;
所述处理器用于执行所述存储器中存储的一个或者多个计算机程序,以实现如权利要求1-10任一项所述的LDPC码编码方法的步骤。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个计算机程序,所述一个或者多个计算机程序可被一个或者多个处理器执行,以实现如权利要求1-10中任一项所述的LDPC码编码方法的步骤。
CN202011027693.5A 2020-09-25 2020-09-25 Ldpc码编码方法、装置、网络设备和存储介质 Pending CN114257250A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202011027693.5A CN114257250A (zh) 2020-09-25 2020-09-25 Ldpc码编码方法、装置、网络设备和存储介质
PCT/CN2021/120371 WO2022063237A1 (zh) 2020-09-25 2021-09-24 Ldpc码编码方法、装置、网络设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011027693.5A CN114257250A (zh) 2020-09-25 2020-09-25 Ldpc码编码方法、装置、网络设备和存储介质

Publications (1)

Publication Number Publication Date
CN114257250A true CN114257250A (zh) 2022-03-29

Family

ID=80789455

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011027693.5A Pending CN114257250A (zh) 2020-09-25 2020-09-25 Ldpc码编码方法、装置、网络设备和存储介质

Country Status (2)

Country Link
CN (1) CN114257250A (zh)
WO (1) WO2022063237A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024055934A1 (zh) * 2022-09-13 2024-03-21 华为技术有限公司 编码方法、译码方法、通信装置及计算机可读存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4702632B2 (ja) * 2007-04-06 2011-06-15 ソニー株式会社 符号化方法および符号化装置、並びにプログラム
CN101662290B (zh) * 2008-08-26 2013-08-28 华为技术有限公司 生成准循环ldpc码及编码的方法与装置
CN102546122B (zh) * 2010-12-17 2015-01-21 华为技术有限公司 校验矩阵构造方法及设备、编解码方法及设备
CN102340318A (zh) * 2011-10-08 2012-02-01 中国科学院上海微系统与信息技术研究所 准循环ldpc码的编码方法
CN109150197A (zh) * 2017-06-27 2019-01-04 华为技术有限公司 信息处理的方法、装置和通信设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024055934A1 (zh) * 2022-09-13 2024-03-21 华为技术有限公司 编码方法、译码方法、通信装置及计算机可读存储介质

Also Published As

Publication number Publication date
WO2022063237A1 (zh) 2022-03-31

Similar Documents

Publication Publication Date Title
US10536169B2 (en) Encoder and decoder for LDPC code
US10320419B2 (en) Encoding method, decoding method, encoding device and decoding device for structured LDPC
US20160173132A1 (en) Construction of Structured LDPC Convolutional Codes
KR101405962B1 (ko) Ldpc 코드를 이용한 복호화 방법
CN106685586B (zh) 生成用于在信道中传输的低密度奇偶校验码的方法及设备
US8839069B2 (en) Encoding and decoding techniques using low-density parity check codes
US10382069B2 (en) Data encoding by efficient inversion of a parity-check sub-matrix
US9450612B2 (en) Encoding method and system for quasi-cyclic low-density parity-check code
WO2011109084A1 (en) Quasi-cyclic ldpc encoding and decoding for non-integer multiples of circulant size
JP5631846B2 (ja) 半導体メモリ装置および復号方法
US8438448B2 (en) Decoding method and device for low density generator matrix codes
EP2916461A1 (en) Error-correction coding method and error-correction coding device
US10033407B2 (en) Optimization of low density parity-check code encoder based on a search for an independent set of nodes
CN104917536A (zh) 一种支持低码率编码的方法及装置
US20110179337A1 (en) Memory utilization method for low density parity check code, low density parity check code decoding method and decoding apparatus thereof
US8448041B1 (en) Multistage LDPC encoding
CN114257250A (zh) Ldpc码编码方法、装置、网络设备和存储介质
KR100837730B1 (ko) 사전에 지정한 패리티를 검사한 결과를 이용해 ldpc코드를 부호화하는 방법
CN112655152A (zh) 用于编码准循环低密度奇偶校验码的方法及设备
US11316534B2 (en) Encoding method and device, decoding method and device, and storage medium
US20170026056A1 (en) Unified h-encoder for a class of multi-rate ldpc codes
CN103401650B (zh) 一种(n,1,m)有误码卷积码的盲识别方法
CN111162796B (zh) 基于ldpc编码器的数据处理方法、装置及终端
CN101777920A (zh) 低密度奇偶校验码的编码方法和编码译码装置
CN111107375B (zh) 一种视频编码方法、解码方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20220329