CN108736898B - 一种适用于5g系统的ldpc码编解码器复用方法 - Google Patents

一种适用于5g系统的ldpc码编解码器复用方法 Download PDF

Info

Publication number
CN108736898B
CN108736898B CN201810552073.XA CN201810552073A CN108736898B CN 108736898 B CN108736898 B CN 108736898B CN 201810552073 A CN201810552073 A CN 201810552073A CN 108736898 B CN108736898 B CN 108736898B
Authority
CN
China
Prior art keywords
check
ldpc code
matrix
coding
bit
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.)
Active
Application number
CN201810552073.XA
Other languages
English (en)
Other versions
CN108736898A (zh
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.)
Southeast University
Original Assignee
Southeast University
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 Southeast University filed Critical Southeast University
Priority to CN201810552073.XA priority Critical patent/CN108736898B/zh
Publication of CN108736898A publication Critical patent/CN108736898A/zh
Application granted granted Critical
Publication of CN108736898B publication Critical patent/CN108736898B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/1105Decoding
    • H03M13/1108Hard decision decoding, e.g. bit flipping, modified or weighted bit flipping
    • 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/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing
    • H03M13/1137Partly parallel processing, i.e. sub-blocks or sub-groups of nodes being processed in parallel

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

本发明涉及一种适用于5G系统的LDPC码编解码器复用方法,针对5G标准中LDPC码校验矩阵的结构,编码器可通过复用解码器的部分单元实现,其中,对于双对角部分,将消息比特,以及置为零的校验比特送入解码器。利用解码器第1次迭代中校正子计算,输出校正子作为核心阵编码计算校验位所需的中间变量,再经确定的逻辑计算即可得双对角部分编码结果。对于单对角扩展部分,将消息比特、双对角编码比特和剩余打孔的待编码校验比特再送入解码器,解码器继续进行1次迭代,单对角线对应的校验位迭代译码输出即为相应的编码结果。对于需同时实现编解码功能的设备而言,省去了编码器设计以及减少了编码器电路所耗资源。

Description

一种适用于5G系统的LDPC码编解码器复用方法
技术领域
本发明涉及一种适用于5G系统的LDPC码编解码器复用方法,属于通信技术领域。
背景技术
LDPC码即低密度奇偶校验(Low-Density Parity-Check,LDPC)码,它是由RobertG.Gallager博士于1963年首次提出的一类具有稀疏校验矩阵的线性分组码。LDPC码的特点取决于它的奇偶校验矩阵,其校验矩阵的行列重量非常小,是一个十分稀疏的矩阵,所以称之为低密度。LDPC码可以通过生成矩阵、相应的校验矩阵或者二分图(Tanner图) 进行描述。
实用的LDPC码校验矩阵,通常是基于分块结构的矩阵。对于随机构造的校验矩阵,相应的编码器、解码器复杂度太高,导致LDPC码硬件实现困难,实用性大大降低。分块结构的校验矩阵,一般由若干个单位矩阵或循环移位的单位矩阵组成,也称之为排列阵。基于这种结构,部分并行的编解码器相应而生,有效降低了LDPC码编解码器的复杂度。分块结构的校验矩阵可以通过基矩阵的方式描述,基矩阵的各个元素表示各分块的循环移位值。
LDPC码编码算法一般分为基于生成矩阵编码、基于校验矩阵编码两大类;通常,硬件编码器采用基于校验矩阵的编码方式;结合特殊构造的LDPC码校验矩阵,硬件编码器主要使用加法器和存储器,通过地址发生器的控制,完成对校验比特的递推计算,得到编码结果。LDPC码译码算法包括比特翻转(Bit Flipping)、置信传播类(BeliefPropagation)、迭代排序统计译码(Iterative Ordered Statistics Decoding)三类算法;其中,置信传播类算法具有优秀的译码性能,如BP译码算法、最小和译码算法。BP译码算法虽然性能卓越,但在硬件实现上较为复杂,需要庞大的查表网络实现对数运算,资源消耗巨大;而最小和算法具有良好的硬件友好性,其算法实现简单,硬件资源消耗较小;很大一部分LDPC码硬件解码器采用了最小和译码算法。
对于硬件编解码器而言,资源开销是限制LDPC码编解码器的一大瓶颈。极大的的逻辑资源、存储资源需求量,常常成为设计LDPC码解码器的难点。因此,寻求速率和资源的折中,是实际工程应用中必要的考虑内容。
发明内容
本发明所要解决的技术问题是提供一种适用于5G系统的LDPC码编解码器复用方法,针对5G系统中LDPC码的编码,通过复用解码器部分单元用作编码工作,在保证编码效率的基础上,既节省了硬件资源,同时也省去了编码器设计。
本发明为了解决上述技术问题采用以下技术方案:本发明设计了一种适用于5G系统的LDPC码编解码器复用方法,包括如下步骤:
步骤S101.根据解码与双对角核心部分编码的判断,初始化解码器输入的似然比信息 Yn,然后进入步骤S102;
步骤S102.初始化迭代次数k=0,以及最大迭代次数K,对于各变量节点vn,按如下:
Figure BDA0001680501240000021
初始化变量节点vn向与其在二分图上相连的各校验节点cm传递信息
Figure BDA0001680501240000022
然后进入步骤S103;n∈[1,N],N表示5G系统LDPC码的校验矩阵的列数,m∈A(n),A(n)表示变量节点vn参与的校验节点集合;
步骤S103.针对k所对应的值进行加1更新,并进入步骤S104;
步骤S104.对于各校验节点cm,按如下:
Figure BDA0001680501240000023
更新校验节点cm向与其在二分图上相连各变量节点vn传递的信息
Figure BDA0001680501240000024
同时校验节点处理单元输出第k次迭代的校正子
Figure BDA0001680501240000025
然后进入步骤S105;其中,α为修正因子,B(m)表示校验节点cm所参与的变量节点集合,B(m)\n表示变量节点集合B(m)中去除变量节点 vn的节点集合;m∈[1,M],M表示5G系统LDPC码的校验矩阵的行数;
步骤S105.判断t是否为0,是则进入步骤S107;否则进入步骤S106;
步骤S106.对于各变量节点vn,利用第k次迭代中产生的由相应校验节点cm传递而来的信息
Figure BDA0001680501240000026
和Yn,按如下:
Figure BDA0001680501240000027
Figure BDA0001680501240000031
计算该变量节点输出的似然比信息为
Figure BDA0001680501240000032
和译码判决
Figure BDA0001680501240000033
并根据
Figure BDA0001680501240000034
计算变量节点向与其在二分图上相连的各校验节点cm传输的边信息
Figure BDA0001680501240000035
然后进入步骤S108;其中,sgn(x)表示对x取符号位,当x≥0和x<0时,sgn(x)分别取值+1和-1;
步骤S107.利用步骤S104中输出的校正子,作为编码计算的中间变量,并计算获得双对角部分对应的校验位,然后返回步骤S101中,基于非解码、非用作双对角编码情况下的解码器输入的似然比信息初始化操作;
步骤S108.判断t是否为-1,是则进入步骤S109;否则进入步骤S110;
步骤S109.判断k是否等于最大迭代次数K,是则进入步骤S111;否则返回步骤S103;
步骤S110.单列重部分的硬判决的输出即为编码结果;组合单对角部分校验比特与核心码率部分编码比特,完成后,进入步骤S112;
步骤S111.终止迭代译码,输出第k次迭代产生的译码判决比特序列D,结束LDPC码编解码器复用方法;
步骤S112.终止编码,输出编码比特序列W,结束LDPC码编解码器复用方法。
作为本发明的一种优选技术方案,所述步骤S101包括如下步骤:
步骤S101-1.判断是否进行解码,是则进入步骤S101-3;否则进入步骤S101-2;
步骤S101-2.判断是否进行双对角核心部分编码,是则进入步骤S101-4;否则进入步骤S101-5;
步骤S101-3.设定编码标志t=-1,根据信道输出的似然比量化值Lch,n,初始化解码器输入的似然比信息Yn=Lch,n,然后进入步骤S102;其中,n∈[1,N],N表示5G系统 LDPC码的校验矩阵的列数;
步骤S101-4.设定编码标志t=0,根据消息比特部分采用对应比特取值BPSK调制后的符号似然比量化值
Figure BDA0001680501240000036
以及校验比特部分采用比特0调制成x=+1的似然比量化值
Figure BDA0001680501240000037
初始化解码器输入的似然比信息如下:
Figure BDA0001680501240000041
然后进入步骤S102;其中,M表示5G系统LDPC码的校验矩阵的行数;
步骤S101-5.设定编码标志t=1,根据消息比特部分、双对角部分对应的校验比特部分采用对应比特取值BPSK调制后的符号似然比量化值
Figure BDA0001680501240000042
其余校验比特部分采用打孔比特的似然比量化值
Figure BDA0001680501240000043
初始化解码器输入的似然比信息如下:
Figure BDA0001680501240000044
然后进入步骤S102;其中,Nc表示5G系统LDPC码校验矩阵中核心高码率矩阵的列数;
所述步骤S107之后,进入到步骤S101-5。
作为本发明的一种优选技术方案,所述步骤S107包括如下:
利用步骤S104中输出的校正子,作为编码计算的中间变量,将编码后的码字 W={wn,n∈[1,N]}转化为分块形式如下:
Figure BDA0001680501240000047
其中,{m1,m2,…,mkb}表示输入消息比特序列的分块形式,
Figure BDA0001680501240000048
表示检验比特的分块形式;mb表示5G系统LDPC码校验矩阵按分块形式定义所对应的行分块数,且 mb=M/Z,kb表示5G系统LDPC码校验矩阵按分块形式定义所对应的列分块数nb与行分快数mb之差,且nb=N/Z,kb=(N-M)/Z,定义v<<a表示对矢量v循环左移a位,v>>b 表示对矢量v循环右移b位;
按如下:
Figure BDA0001680501240000045
定义
Figure BDA0001680501240000046
为编码计算的中间量,其中,Si,j表示校验矩阵中各分块hi,j所对应的循环右移值,且Si,j=-1表示该分块为全零矩阵,i∈[1,m'b],m'b表示5G系统LDPC码校验矩阵核心高码率矩阵按分块形式定义所对应的行分块数,且m'b=Mc/Z,Mc表示5G系统LDPC 码校验矩阵中核心高码率矩阵的行数,j∈[1,nb];
然后定义
Figure BDA0001680501240000051
其中,a-b-a表示5G系统LDPC码校验矩阵中核心高码率矩阵按分块形式定义所对应的第kb+1列中有且仅有的3块移位值非负的分块所对应的移位值,a表示分块
Figure BDA0001680501240000052
Figure BDA0001680501240000053
对应的移位值,b表示分块
Figure BDA0001680501240000054
对应的移位值,e为5G系统LDPC码校验矩阵中核心高码率矩阵按分块形式定义所对应的第kb+1列中移位值为b的分块
Figure BDA0001680501240000055
的行号,且 Mc/Z>e>1;
进而根据如下:
Figure BDA0001680501240000056
pi=φi T+p1<<a,i≥2
计算获得双对角部分对应的校验位,然后返回步骤S101-5。
作为本发明的一种优选技术方案,所述步骤S110中所述单对角部分编码方法如下:
根据所述步骤S101-5中解码器输入的似然比信息,将单对角部分的校验节点和变量节点更新过程等价为:
Figure BDA0001680501240000057
Figure BDA0001680501240000058
Figure BDA0001680501240000059
根据上式,
Figure BDA00016805012400000510
等价于单列重部分的校验比特。
本发明所述一种适用于5G系统的LDPC码编解码器复用方法采用以上技术方案与现有技术相比,具有以下技术效果:
(1)本发明设计适用于5G系统的LDPC码编解码器复用方法,通过增加少量的外部控制信号,配置解码器不同的工作模式,通过控制其输入数据和迭代过程,完成了编码的工作。减少了单独的编码器资源开销,高效利用资源;
(2)本发明设计适用于5G系统的LDPC码编解码器复用方法,不再需要为编码设计单独的算法和电路结构,降低了编解码器设计的复杂度;
(3)本发明设计适用于5G系统的LDPC码编解码器复用方法,对于一部分硬件编解码器实现方式,如FPGA实现,一定程度上降低了布局布线的复杂度。
附图说明
图1为本发明设计适用于5G系统的LDPC码编解码器复用方法的流程图;
图2为5G系统LDPC码校验矩阵BG1示意图;
图3为本发明提供的编解码器复用方法实现双对角编码的时序图;
图4为本发明提供的编解码器复用方法实现单对角编码的时序图;
图5为本发明提供的复用方法在一个FPGA设计实例中的资源消耗分析。
具体实施方式
下面结合说明书附图对本发明的具体实施方式作进一步详细的说明。
本发明设计了一种适用于5G系统的LDPC码编解码器复用方法,5G系统LDPC码校验矩阵,其最高码率部分(核心阵)校验位采用双对角结构,随码率降低校验位作单对角线拓展。对于这种校验矩阵的结构,编码器可通过复用解码器的部分单元实现。对于双对角部分,将消息比特,以及置为零的校验比特送入解码器。利用解码器第1次迭代中校正子计算,输出校正子作为核心高码率矩阵对应的校验位计算所需的中间量,再经确定的逻辑计算即可得双对角部分编码结果。对于单对角扩展部分,将消息比特、双对角编码比特和剩余打孔的待编码校验比特再送入解码器,解码器继续进行1次迭代,单对角线对应的校验位迭代译码输出即为相应的编码结果。
实际应用当中,本发明所设计一种适用于5G系统的LDPC码编解码器复用方法,所涉及到的参数如下:
定义5G系统低密度奇偶校验(LDPC)码的校验矩阵为M行,N列的矩阵 HM×N=[Hm,n]M×N,对应的二分图变量节点和校验节点集合分别为V={vn,n∈[1,N]}和C={cm,m∈[1,M]};定义校验矩阵第m行,第n列的元素为Hm,n;其核心高码率矩阵为Mc行,Nc列,校验位采用双对角结构的矩阵;以核心高码率矩阵为基础再扩展M-Mc行和 N-Nc列得到低码率矩阵,其校验位直接采用单对角线形式。
定义变量节点vn参与的校验节点集合为A(n)={j,Hj,n=1},校验节点cm参与的变量节点集合为B(m)={i,Hm,i=1};定义校验节点集合An中去除校验节点cm的节点集合为 A(n)\m,定义变量节点集合B(m)中去除变量节点vn的节点集合为B(m)\n;对各变量节点vn,定义其向校验节点cm,m∈A(n)传递的信息为
Figure BDA0001680501240000071
其输出的似然比信息为
Figure BDA0001680501240000072
k为迭代次数;对各校验节点cm,定义其向变量节点vn,n∈B(m)传递的信息为
Figure BDA0001680501240000073
k为迭代次数;定义第k次迭代中的校正子为
Figure BDA0001680501240000074
编码所得码字序列为W={wn,n∈[1,N]};对码字序列进行BPSK调制,得到 X={xn,n∈[1,N]},其中xn=1-2wn,再经过信道得到的接收序列的似然比量化值为 Lch,n,n∈[1,N]。定义
Figure BDA0001680501240000075
表示第n个码元比特(wn=0或1)对应的BPSK调制符号x=+1或-1 的似然比量化值,
Figure BDA0001680501240000076
表示第n个比特被打孔后的似然比量化值;在q-bit均匀量化下,
Figure BDA0001680501240000077
解码器接收到的输入序列为Y={Yn,n∈[1,N]};解码器第k 次迭代的译码判决序列为
Figure BDA0001680501240000078
sgn(x)表示对x取符号位,当x≥0和x<0 时,sgn(x)分别取值+1和-1。
5G系统的LDPC码校验矩阵可按分块形式定义,列分块数为nb,行分块数为mb, kb=nb-mb,其中核心高码率矩阵的列分块数为n'b,行分块数为m'b;nb、mb、Z、N、M 满足如下关系式:nb×Z=N,mb×Z=M。校验矩阵的各分块记作hi,j,i∈[1,mb],j∈[1,nb],是Z阶单位矩阵的循环移位或全零矩阵。每个分块hi,j对应有一个循环右移值Si,j,Si,j=-1表示该分块为全零矩阵。5G系统LDPC码的核心高码率矩阵校验位采用双对角结构,其按分块形式定义下,第kb+1列中只有3块移位值非负的分块,记作a-b-a形式;a为分块
Figure BDA0001680501240000079
Figure BDA0001680501240000081
对应的移位值;定义第kb+1列中间移位值为b的分块为
Figure BDA0001680501240000082
其行号为e,且 Mc/Z>e>1。
定义输入消息比特序列的分块形式为m={m1,…,mkb},校验比特的分块形式为 p={p1,…,pmb},编码所得码字的分块形式表述为W={m1、…、mkb,p1、…、pmb},各分块 (mi和pi)为Z维行向量。
然后所设计适用于5G系统的LDPC码编解码器复用方法,应用于实际当中,如图2所示,为5G标准LDPC码BG1的示意图,矩阵由A,B,C,D,E五个区域组成;A,B组成了最高码率的核心部分,A是稀疏分块矩阵,B是双对角结构分块矩阵;C是全零分块矩阵;D是稀疏分块矩阵;E是用于低码率的单对角线拓展,为单对角结构分块矩阵。B部分对应的校验位称为双对角部分校验位;E部分对应的校验位称为单对角部分校验位。
A,B组成的核心部分,码率R=11/12,是Mc×Mc(4Z×26Z)的双对角结构矩阵;整个BG1是码率R=1/3的M×N(46Z×68Z)的矩阵。校验矩阵BG1相关参数如下:nb=68, mb=46,kb=22,N=nb×Z,M=mb×Z,Mc=4×Z,Nc=26×Z。
适用于5G系统的LDPC码编解码器复用方法,应用于实际当中,如图1所示,具体包括如下步骤:
步骤S101.根据解码与双对角核心部分编码的判断,初始化解码器输入的似然比信息 Yn,然后进入步骤S102。
上述步骤S101实际应用中,具体包括如下步骤:
步骤S101-1.判断是否进行解码,是则进入步骤S101-3;否则进入步骤S101-2。
步骤S101-2.判断是否进行双对角核心部分编码,是则进入步骤S101-4;否则进入步骤S101-5。
步骤S101-3.设定编码标志t=-1,根据信道输出的似然比量化值Lch,n,初始化解码器输入的似然比信息Yn=Lch,n,然后进入步骤S102;其中,n∈[1,N],N表示5G系统 LDPC码的校验矩阵的列数。
步骤S101-4.设定编码标志t=0,根据消息比特部分采用对应比特取值BPSK调制后的符号似然比量化值
Figure BDA0001680501240000091
以及校验比特部分采用比特0调制成x=+1的似然比量化值
Figure BDA0001680501240000092
初始化解码器输入的似然比信息如下:
Figure BDA0001680501240000093
然后进入步骤S102;其中,M表示5G系统LDPC码的校验矩阵的行数。
步骤S101-5.设定编码标志t=1,根据消息比特部分、双对角部分对应的校验比特部分采用对应比特取值BPSK调制后的符号似然比量化值
Figure BDA0001680501240000094
其余校验比特部分采用打孔比特的似然比量化值
Figure BDA0001680501240000095
初始化解码器输入的似然比信息如下:
Figure BDA0001680501240000096
然后进入步骤S102;其中,Nc表示5G系统LDPC码校验矩阵中核心高码率矩阵的列数。
步骤S102.初始化迭代次数k=0,以及最大迭代次数K,对于各变量节点vn,按如下:
Figure BDA0001680501240000097
初始化变量节点vn向与其在二分图上相连的各校验节点cm传递信息
Figure BDA0001680501240000098
然后进入步骤S103;n∈[1,N],N表示5G系统LDPC码的校验矩阵的列数,m∈A(n),A(n)表示变量节点vn参与的校验节点集合。
步骤S103.针对k所对应的值进行加1更新,并进入步骤S104。
步骤S104.对于各校验节点cm,按如下:
Figure BDA0001680501240000099
更新校验节点cm向与其在二分图上相连各变量节点vn传递的信息
Figure BDA00016805012400000910
同时校验节点处理单元输出第k次迭代的校正子
Figure BDA00016805012400000911
然后进入步骤S105;其中,α为修正因子,B(m)表示校验节点cm所参与的变量节点集合,B(m)\n表示变量节点集合B(m)中去除变量节点 vn的节点集合;m∈[1,M],M表示5G系统LDPC码的校验矩阵的行数。
步骤S105.判断t是否为0,是则进入步骤S107;否则进入步骤S106。
步骤S106.对于各变量节点vn,利用第k次迭代中产生的由相应校验节点cm传递而来的信息
Figure BDA0001680501240000101
和Yn,按如下:
Figure BDA0001680501240000102
Figure BDA0001680501240000103
计算该变量节点输出的似然比信息为
Figure BDA0001680501240000104
和译码判决
Figure BDA0001680501240000105
并根据
Figure BDA0001680501240000106
计算变量节点向与其在二分图上相连的各校验节点cm传输的边信息
Figure BDA0001680501240000107
然后进入步骤S108;其中,sgn(x)表示对x取符号位,当x≥0和x<0时,sgn(x)分别取值+1和-1。
步骤S107.利用步骤S104中输出的校正子,作为编码计算的中间变量,并计算获得双对角部分对应的校验位,然后返回步骤S101-5中,基于非解码、非用作双对角编码情况下的解码器输入的似然比信息初始化操作。
具体来说,上述步骤S107具体如下:
步骤S107包括如下:
利用步骤S104中输出的校正子,作为编码计算的中间变量,将编码后的码字 W={wn,n∈[1,N]}转化为分块形式如下:
Figure BDA0001680501240000108
其中,{m1,m2,…,mkb}表示输入消息比特序列的分块形式,
Figure BDA0001680501240000109
表示检验比特的分块形式;mb表示5G系统LDPC码校验矩阵按分块形式定义所对应的行分块数,且 mb=M/Z,kb表示5G系统LDPC码校验矩阵按分块形式定义所对应的列分块数nb与行分快数mb之差,且nb=N/Z,kb=(N-M)/Z,定义v<<a表示对矢量v循环左移a位,v>>b 表示对矢量v循环右移b位;
按如下:
Figure BDA0001680501240000111
定义
Figure BDA0001680501240000118
为编码计算的中间量,其中,Si,j表示校验矩阵中各分块hi,j所对应的循环右移值,且Si,j=-1表示该分块为全零矩阵,i∈[1,m'b],m'b表示5G系统LDPC码校验矩阵核心高码率矩阵按分块形式定义所对应的行分块数,且m'b=Mc/Z,Mc表示5G系统LDPC 码校验矩阵中核心高码率矩阵的行数,j∈[1,nb]。
然后定义
Figure BDA0001680501240000112
其中,a-b-a表示5G系统LDPC码校验矩阵中核心高码率矩阵按分块形式定义所对应的第kb+1列中有且仅有的3块移位值非负的分块所对应的移位值,a表示分块
Figure BDA0001680501240000113
Figure BDA0001680501240000114
对应的移位值,b表示分块
Figure BDA0001680501240000115
对应的移位值,e为5G系统LDPC码校验矩阵中核心高码率矩阵按分块形式定义所对应的第kb+1列中移位值为b的分块
Figure BDA0001680501240000116
的行号,且 Mc/Z>e>1。
进而根据如下:
Figure BDA0001680501240000117
pi=φi T+p1<<a,i≥2
计算获得双对角部分对应的校验位,然后返回步骤S101-5。
如图3所示,为使用本发明提供的复用方法的一种FPGA解码器用作双对角编码的时序图,对于部分并行的解码器,解码器工作在双对角部分编码模式时,数据输入到编码输出有3Z个时钟周期附加固定的中间延时。独立的LDPC码编码器作一次编码与解码器该工作模式时序大致相同,数据输入到编码输出约有(3Z+overhead)个时钟周期。
如图4所示,为使用本发明提供的复用方法的一种FPGA解码器用作单对角编码的时序图,对于部分并行的解码器,解码器工作在单对角部分编码模式时,数据输入到编码输出同样有3Z个时钟周期附加固定的中间延时。因此,使用本发明提供的复用方法,对5G 的LDPC码作一次完整编码,总体速率约为独立编码器的1/2。由于编码速率远高于解码速率,降低一半的编码速率仍在合理速率范围内。
步骤S108.判断t是否为-1,是则进入步骤S109;否则进入步骤S110。
步骤S109.判断k是否等于最大迭代次数K,是则进入步骤S111;否则返回步骤S103。
步骤S110.单列重部分的硬判决的输出即为编码结果;组合单对角部分校验比特与核心码率部分编码比特,完成后,进入步骤S112。
上述步骤S110中所述单对角部分编码方法如下:
根据所述步骤S101-5中解码器输入的似然比信息,将单对角部分的校验节点和变量节点更新过程等价为:
Figure BDA0001680501240000121
Figure BDA0001680501240000122
Figure BDA0001680501240000123
根据上式,
Figure BDA0001680501240000124
等价于单列重部分的校验比特。
步骤S111.终止迭代译码,输出第k次迭代产生的译码判决比特序列D,结束LDPC码编解码器复用方法。
步骤S112.终止编码,输出编码比特序列W,结束LDPC码编解码器复用方法。
将上述所设计适用于5G系统的LDPC码编解码器复用方法,应用于实际当中,如图5所示,即在FPGA设计实例中的资源消耗分析。该实例中,选取的消息长度K=4224, Z=192,R=1/3。根据3GPPTS 38.212协议,此码型的校验矩阵如表1所示,nb=68, mb=46。该校验矩阵中,mb×kb区域的非0分块数共计245块,其中属于A区域的有67 块。
传统的基于分块矩阵的LDPC码编码器,至少需要使用mb×kb区域内非0分块数、校验位分块数的和再加1个Slice Ram,以及若干个进行异或(XOR)运算的单元。每个SliceRam与XOR单元消耗固定的资源数量,具体资源数值需要在实际综合后得到。对于该码型,传统编码器需要292块Slice Ram以及92个XOR单元。使用Xilinx Kintex-7 XC7K325T-2FFG900CFPGA设计的独立编码器,综合后每个Slice Ram约消耗22个Slice LUT和 26个Slice Register,以及少量选择器;每个XOR单元约消耗5个Slice LUT和4个SliceRegister。
该实例中,权衡了编码速率、编码器设计复杂度、资源消耗三个因素,对单对角部分使用复用方法编码,双对角部分保留传统独立编码器设计。图5对比了独立编码器使用的主要资源和本发明用于编码部分的主要资源。
表1为上述编解码器复用设计实例中使用的Z=192,R=1/3的校验矩阵各分块对应的循环移位值,为nb=68,mb=46的分块矩阵。分块校验矩阵Hb表示为
Figure BDA0001680501240000131
i表示分块矩阵的行号,j表示分块矩阵的列号,校验矩阵的各分块记作 hi.j,i∈[1,mb],j∈[1,nb];各分块是Z阶单位矩阵的循环移位或全零矩阵;每个分块hi,j对应有一个循环移位值Si,j,Si,j=-1表示该分块为全零矩阵。
如下表1给出了各分块的循环移位值,没有涉及到的行列号对应的分块为全零矩阵。
Figure BDA0001680501240000132
Figure BDA0001680501240000141
Figure BDA0001680501240000151
表1
上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。

Claims (3)

1.一种适用于5G系统的LDPC码编解码器复用方法,包括如下步骤:
步骤S101.按如下步骤S101-1至步骤S101-5,根据解码与双对角核心部分编码的判断,初始化解码器输入的似然比信息Yn,然后进入步骤S102;
步骤S101-1.判断是否进行解码,是则进入步骤S101-3;否则进入步骤S101-2;
步骤S101-2.判断是否进行双对角核心部分编码,是则进入步骤S101-4;否则进入步骤S101-5;
步骤S101-3.设定编码标志t=-1,根据信道输出的似然比量化值Lch,n,初始化解码器输入的似然比信息Yn=Lch,n,然后进入步骤S102;其中,n∈[1,N],N表示5G系统LDPC码的校验矩阵的列数;
步骤S101-4.设定编码标志t=0,根据消息比特部分采用对应比特取值BPSK调制后的符号似然比量化值
Figure FDA0003158196280000011
以及校验比特部分采用比特0调制成x=+1的似然比量化值
Figure FDA0003158196280000012
初始化解码器输入的似然比信息如下:
Figure FDA0003158196280000013
然后进入步骤S102;其中,M表示5G系统LDPC码的校验矩阵的行数;
步骤S101-5.设定编码标志t=1,根据消息比特部分、双对角部分对应的校验比特部分采用对应比特取值BPSK调制后的符号似然比量化值
Figure FDA0003158196280000014
其余校验比特部分采用打孔比特的似然比量化值
Figure FDA0003158196280000015
初始化解码器输入的似然比信息如下:
Figure FDA0003158196280000016
然后进入步骤S102;其中,Nc表示5G系统LDPC码校验矩阵中核心高码率矩阵的列数;
步骤S102.初始化迭代次数k=0,以及最大迭代次数K,对于各变量节点vn,按如下:
Figure FDA0003158196280000017
初始化变量节点vn向与其在二分图上相连的各校验节点cm传递信息
Figure FDA0003158196280000021
然后进入步骤S103;n∈[1,N],N表示5G系统LDPC码的校验矩阵的列数,m∈[1,M],M表示5G系统LDPC码的校验矩阵的行数,5G系统LDPC码校验矩阵的各行分别代表变量节点vn参与的校验节点,变量节点vn参与的校验节点集合为A(n);
步骤S103.针对k所对应的值进行加1更新,并进入步骤S104;
步骤S104.对于各校验节点cm,按如下:
Figure FDA0003158196280000022
更新校验节点cm向与其在二分图上相连各变量节点vn传递的信息
Figure FDA0003158196280000023
同时校验节点处理单元输出第k次迭代的校正子
Figure FDA0003158196280000024
然后进入步骤S105;其中,α为修正因子,B(m)表示校验节点cm所参与的变量节点集合,B(m)\n表示变量节点集合B(m)中去除变量节点vn的节点集合;
步骤S105.判断t是否为0,是则进入步骤S107;否则进入步骤S106;
步骤S106.对于各变量节点vn,利用第k次迭代中产生的由相应校验节点cm传递而来的信息
Figure FDA0003158196280000025
和Yn,按如下:
Figure FDA0003158196280000026
Figure FDA0003158196280000027
计算该变量节点输出的似然比信息为
Figure FDA0003158196280000028
和译码判决
Figure FDA0003158196280000029
并根据
Figure FDA00031581962800000210
计算变量节点向与其在二分图上相连的各校验节点cm传输的边信息
Figure FDA00031581962800000211
然后进入步骤S108;其中,sgn(x)表示对x取符号位,当x≥0和x<0时,sgn(x)分别取值+1和-1;
步骤S107.利用步骤S104中输出的校正子,作为编码计算的中间变量,并计算获得双对角部分对应的校验位,然后返回步骤S101-5中,基于非解码、非用作双对角编码情况下的解码器输入的似然比信息初始化操作;
步骤S108.判断t是否为-1,是则进入步骤S109;否则进入步骤S110;
步骤S109.判断k是否等于最大迭代次数K,是则进入步骤S111;否则返回步骤S103;
步骤S110.单列重部分的硬判决的输出即为编码结果;组合单对角部分校验比特与核心码率部分编码比特,完成后,进入步骤S112;
步骤S111.终止迭代译码,输出第k次迭代产生的译码判决比特序列D,结束LDPC码编解码器复用方法;
步骤S112.终止编码,输出编码比特序列W,结束LDPC码编解码器复用方法。
2.根据权利要求1中所述的一种适用于5G系统的LDPC码编解码器复用方法,其特征在于,所述步骤S107包括如下:
利用步骤S104中输出的校正子,作为编码计算的中间变量,将编码后的码字W={wn,n∈[1,N]}转化为分块形式如下:
W={m1,m2,…,mkb,p1,p2,…,pmb}
其中,{m1,m2,…,mkb}表示输入消息比特序列的分块形式,{p1,p2,…,pmb}表示检验比特的分块形式;mb表示5G系统LDPC码校验矩阵按分块形式定义所对应的行分块数,且mb=M/Z,kb表示5G系统LDPC码校验矩阵按分块形式定义所对应的列分块数nb与行分快数mb之差,且nb=N/Z,kb=(N-M)/Z,定义v<<a表示对矢量v循环左移a位,v>>b表示对矢量v循环右移b位;
按如下:
Figure FDA0003158196280000031
定义
Figure FDA0003158196280000032
为编码计算的中间量,其中,Si,j表示校验矩阵中各分块hi,j所对应的循环右移值,且Si,j=-1表示该分块为全零矩阵,i∈[1,m'b],m'b表示5G系统LDPC码校验矩阵核心高码率矩阵按分块形式定义所对应的行分块数,且m'b=Mc/Z,Mc表示5G系统LDPC码校验矩阵中核心高码率矩阵的行数,j∈[1,nb];
然后定义
Figure FDA0003158196280000041
其中,a-b-a表示5G系统LDPC码校验矩阵中核心高码率矩阵按分块形式定义所对应的第kb+1列中有且仅有的3块移位值非负的分块所对应的移位值,a表示分块
Figure FDA0003158196280000042
对应的移位值,b表示分块
Figure FDA0003158196280000043
对应的移位值,e为5G系统LDPC码校验矩阵中核心高码率矩阵按分块形式定义所对应的第kb+1列中移位值为b的分块
Figure FDA0003158196280000044
的行号,且Mc/Z>e>1;
进而根据如下:
Figure FDA0003158196280000045
pi=φi T+p1<<a,i≥2
计算获得双对角部分对应的校验位,然后返回步骤S101-5。
3.根据权利要求2中所述的一种适用于5G系统的LDPC码编解码器复用方法,其特征在于,所述步骤S110中所述单对角部分编码方法如下:
根据所述步骤S101-5中解码器输入的似然比信息,将单对角部分的校验节点和变量节点更新过程等价为:
Figure FDA0003158196280000046
Figure FDA0003158196280000047
Figure FDA0003158196280000048
根据上式,
Figure FDA0003158196280000049
等价于单列重部分的校验比特。
CN201810552073.XA 2018-05-31 2018-05-31 一种适用于5g系统的ldpc码编解码器复用方法 Active CN108736898B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810552073.XA CN108736898B (zh) 2018-05-31 2018-05-31 一种适用于5g系统的ldpc码编解码器复用方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810552073.XA CN108736898B (zh) 2018-05-31 2018-05-31 一种适用于5g系统的ldpc码编解码器复用方法

Publications (2)

Publication Number Publication Date
CN108736898A CN108736898A (zh) 2018-11-02
CN108736898B true CN108736898B (zh) 2021-09-07

Family

ID=63931299

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810552073.XA Active CN108736898B (zh) 2018-05-31 2018-05-31 一种适用于5g系统的ldpc码编解码器复用方法

Country Status (1)

Country Link
CN (1) CN108736898B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1724932A1 (en) * 2005-05-16 2006-11-22 Samsung Electronics Co., Ltd. Device and method for padding and puncturing low density parity check
CN101217302A (zh) * 2008-01-18 2008-07-09 清华大学 多用户无线网络中基于空时分集编解码的协同通信方法
WO2009004572A1 (en) * 2007-07-04 2009-01-08 Nxp B.V. Shuffled ldpc decoding
CN101621299A (zh) * 2008-07-04 2010-01-06 华为技术有限公司 一种突发纠错的方法、设备和装置
CN103208995A (zh) * 2013-03-27 2013-07-17 东南大学 一种低密度奇偶校验码译码的提前终止方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4446338B2 (ja) * 2004-03-22 2010-04-07 ソニー・エリクソン・モバイルコミュニケーションズ株式会社 再送要求方法、無線通信システム、および受信機
US8392787B2 (en) * 2008-10-31 2013-03-05 Broadcom Corporation Selective merge and partial reuse LDPC (Low Density Parity Check) code construction for limited number of layers Belief Propagation (BP) decoding

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1724932A1 (en) * 2005-05-16 2006-11-22 Samsung Electronics Co., Ltd. Device and method for padding and puncturing low density parity check
WO2009004572A1 (en) * 2007-07-04 2009-01-08 Nxp B.V. Shuffled ldpc decoding
CN101217302A (zh) * 2008-01-18 2008-07-09 清华大学 多用户无线网络中基于空时分集编解码的协同通信方法
CN101621299A (zh) * 2008-07-04 2010-01-06 华为技术有限公司 一种突发纠错的方法、设备和装置
CN103208995A (zh) * 2013-03-27 2013-07-17 东南大学 一种低密度奇偶校验码译码的提前终止方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LDPC 编码调制系统中改进的迭代译码算法;黄平;《2011 International Conference on Future Computer Science and Application》;20111231;全文 *

Also Published As

Publication number Publication date
CN108736898A (zh) 2018-11-02

Similar Documents

Publication Publication Date Title
CN110114978B (zh) 高效可解码qc-ldpc码
CN110572163B (zh) 用于编码和译码ldpc码的方法和装置
US7373581B2 (en) Device, program, and method for decoding LDPC codes
CN107370490B (zh) 结构化ldpc的编码、译码方法及装置
CN101924565B (zh) Ldpc编码器、解码器、系统及方法
CN101192833B (zh) 一种低密度校验码ldpc并行编码的装置及方法
CN101162907B (zh) 一种利用低密度奇偶校验码实现编码的方法及装置
CN101951264B (zh) 一种多码率准循环低密度奇偶校验码解码器
CN107786211B (zh) 一种ira-qc-ldpc码的代数结构获取方法、编码方法和编码器
WO2017080249A1 (zh) 生成用于在信道中传输的低密度奇偶校验码的方法及设备
CN109586732B (zh) 中短码ldpc编解码系统和方法
CN106998208B (zh) 一种可变长Polar码的码字构造方法
WO2015123979A1 (zh) 结构化ldpc的编码方法、译码方法、编码装置和译码装置
CN109802687B (zh) 一种基于fpga的qc-ldpc码的高速码率兼容ldpc编码器
WO2007034870A1 (ja) 復号装置および受信装置
CN107786306B (zh) 用于多点协同通信系统的低码率ldpc码字结构和编码方法
CN108462496B (zh) 一种基于随机比特流更新的ldpc译码器
CN107528596B (zh) 一种基于斐波那契-卢卡斯序列的Type-II QC-LDPC码构造方法
EP2951925A1 (en) Ldpc code design and encoding apparatus enabling the adjustment of code rate and codelength
CN111464300B (zh) 一种适用于连续变量量子密钥分发的高速后处理方法
WO2008069231A1 (ja) 復号装置、復号方法
CN107786210B (zh) 用于多点协同通信系统的中高码率ldpc码字结构和编码方法
CN103199877A (zh) 一种结构化ldpc卷积码构造编码方法
CN102739259A (zh) 一种用于cmmb激励器中的基于fpga的ldpc编码方法
CN107733441B (zh) 编码方法及装置、译码方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant