CN108736898A - 一种适用于5g系统的ldpc码编解码器复用方法 - Google Patents
一种适用于5g系统的ldpc码编解码器复用方法 Download PDFInfo
- Publication number
- CN108736898A CN108736898A CN201810552073.XA CN201810552073A CN108736898A CN 108736898 A CN108736898 A CN 108736898A CN 201810552073 A CN201810552073 A CN 201810552073A CN 108736898 A CN108736898 A CN 108736898A
- Authority
- CN
- China
- Prior art keywords
- check
- bit
- indicate
- node
- ldpc
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1108—Hard decision decoding, e.g. bit flipping, modified or weighted bit flipping
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1131—Scheduling of bit node or check node processing
- H03M13/1137—Partly 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码编解码器复用方法,属于通信技术领域。
背景技术
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,按如下:
初始化变量节点vn向与其在二分图上相连的各校验节点cm传递信息然后进入步骤S103;n∈[1,N],N表示5G系统LDPC码的校验矩阵的列数,m∈A(n),A(n)表示变量节点vn参与的校验节点集合;
步骤S103.针对k所对应的值进行加1更新,并进入步骤S104;
步骤S104.对于各校验节点cm,按如下:
更新校验节点cm向与其在二分图上相连各变量节点vn传递的信息同时校验节点处理单元输出第k次迭代的校正子然后进入步骤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传递而来的信息和Yn,按如下:
计算该变量节点输出的似然比信息为和译码判决并根据计算变量节点向与其在二分图上相连的各校验节点cm传输的边信息然后进入步骤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调制后的符号似然比量化值以及校验比特部分采用比特0调制成x=+1的似然比量化值初始化解码器输入的似然比信息如下:
然后进入步骤S102;其中,M表示5G系统LDPC码的校验矩阵的行数;
步骤S101-5.设定编码标志t=1,根据消息比特部分、双对角部分对应的校验比特部分采用对应比特取值BPSK调制后的符号似然比量化值其余校验比特部分采用打孔比特的似然比量化值初始化解码器输入的似然比信息如下:
然后进入步骤S102;其中,Nc表示5G系统LDPC码校验矩阵中核心高码率矩阵的列数;
所述步骤S107之后,进入到步骤S101-5。
作为本发明的一种优选技术方案,所述步骤S107包括如下:
利用步骤S104中输出的校正子,作为编码计算的中间变量,将编码后的码字 W={wn,n∈[1,N]}转化为分块形式如下:
其中,{m1,m2,…,mkb}表示输入消息比特序列的分块形式,表示检验比特的分块形式;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位;
按如下:
定义为编码计算的中间量,其中,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];
然后定义
其中,a-b-a表示5G系统LDPC码校验矩阵中核心高码率矩阵按分块形式定义所对应的第kb+1列中有且仅有的3块移位值非负的分块所对应的移位值,a表示分块 对应的移位值,b表示分块对应的移位值,e为5G系统LDPC码校验矩阵中核心高码率矩阵按分块形式定义所对应的第kb+1列中移位值为b的分块的行号,且 Mc/Z>e>1;
进而根据如下:
pi=φi T+p1<<a,i≥2
计算获得双对角部分对应的校验位,然后返回步骤S101-5。
作为本发明的一种优选技术方案,所述步骤S110中所述单对角部分编码方法如下:
根据所述步骤S101-5中解码器输入的似然比信息,将单对角部分的校验节点和变量节点更新过程等价为:
根据上式,等价于单列重部分的校验比特。
本发明所述一种适用于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)传递的信息为其输出的似然比信息为k为迭代次数;对各校验节点cm,定义其向变量节点vn,n∈B(m)传递的信息为k为迭代次数;定义第k次迭代中的校正子为
编码所得码字序列为W={wn,n∈[1,N]};对码字序列进行BPSK调制,得到 X={xn,n∈[1,N]},其中xn=1-2wn,再经过信道得到的接收序列的似然比量化值为 Lch,n,n∈[1,N]。定义表示第n个码元比特(wn=0或1)对应的BPSK调制符号x=+1或-1 的似然比量化值,表示第n个比特被打孔后的似然比量化值;在q-bit均匀量化下,解码器接收到的输入序列为Y={Yn,n∈[1,N]};解码器第k 次迭代的译码判决序列为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为分块 对应的移位值;定义第kb+1列中间移位值为b的分块为其行号为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调制后的符号似然比量化值以及校验比特部分采用比特0调制成x=+1的似然比量化值初始化解码器输入的似然比信息如下:
然后进入步骤S102;其中,M表示5G系统LDPC码的校验矩阵的行数。
步骤S101-5.设定编码标志t=1,根据消息比特部分、双对角部分对应的校验比特部分采用对应比特取值BPSK调制后的符号似然比量化值其余校验比特部分采用打孔比特的似然比量化值初始化解码器输入的似然比信息如下:
然后进入步骤S102;其中,Nc表示5G系统LDPC码校验矩阵中核心高码率矩阵的列数。
步骤S102.初始化迭代次数k=0,以及最大迭代次数K,对于各变量节点vn,按如下:
初始化变量节点vn向与其在二分图上相连的各校验节点cm传递信息然后进入步骤S103;n∈[1,N],N表示5G系统LDPC码的校验矩阵的列数,m∈A(n),A(n)表示变量节点vn参与的校验节点集合。
步骤S103.针对k所对应的值进行加1更新,并进入步骤S104。
步骤S104.对于各校验节点cm,按如下:
更新校验节点cm向与其在二分图上相连各变量节点vn传递的信息同时校验节点处理单元输出第k次迭代的校正子然后进入步骤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传递而来的信息和Yn,按如下:
计算该变量节点输出的似然比信息为和译码判决并根据计算变量节点向与其在二分图上相连的各校验节点cm传输的边信息然后进入步骤S108;其中,sgn(x)表示对x取符号位,当x≥0和x<0时,sgn(x)分别取值+1和-1。
步骤S107.利用步骤S104中输出的校正子,作为编码计算的中间变量,并计算获得双对角部分对应的校验位,然后返回步骤S101-5中,基于非解码、非用作双对角编码情况下的解码器输入的似然比信息初始化操作。
具体来说,上述步骤S107具体如下:
步骤S107包括如下:
利用步骤S104中输出的校正子,作为编码计算的中间变量,将编码后的码字 W={wn,n∈[1,N]}转化为分块形式如下:
其中,{m1,m2,…,mkb}表示输入消息比特序列的分块形式,表示检验比特的分块形式;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位;
按如下:
定义为编码计算的中间量,其中,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]。
然后定义
其中,a-b-a表示5G系统LDPC码校验矩阵中核心高码率矩阵按分块形式定义所对应的第kb+1列中有且仅有的3块移位值非负的分块所对应的移位值,a表示分块 对应的移位值,b表示分块对应的移位值,e为5G系统LDPC码校验矩阵中核心高码率矩阵按分块形式定义所对应的第kb+1列中移位值为b的分块的行号,且 Mc/Z>e>1。
进而根据如下:
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中解码器输入的似然比信息,将单对角部分的校验节点和变量节点更新过程等价为:
根据上式,等价于单列重部分的校验比特。
步骤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表示为
i表示分块矩阵的行号,j表示分块矩阵的列号,校验矩阵的各分块记作 hi.j,i∈[1,mb],j∈[1,nb];各分块是Z阶单位矩阵的循环移位或全零矩阵;每个分块hi,j对应有一个循环移位值Si,j,Si,j=-1表示该分块为全零矩阵。
如下表1给出了各分块的循环移位值,没有涉及到的行列号对应的分块为全零矩阵。
表1
上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。
Claims (4)
1.一种适用于5G系统的LDPC码编解码器复用方法,包括如下步骤:
步骤S101.根据解码与双对角核心部分编码的判断,初始化解码器输入的似然比信息Yn,然后进入步骤S102;
步骤S102.初始化迭代次数k=0,以及最大迭代次数K,对于各变量节点vn,按如下:
初始化变量节点vn向与其在二分图上相连的各校验节点cm传递信息然后进入步骤S103;n∈[1,N],N表示5G系统LDPC码的校验矩阵的列数,m∈A(n),A(n)表示变量节点vn参与的校验节点集合;
步骤S103.针对k所对应的值进行加1更新,并进入步骤S104;
步骤S104.对于各校验节点cm,按如下:
更新校验节点cm向与其在二分图上相连各变量节点vn传递的信息同时校验节点处理单元输出第k次迭代的校正子然后进入步骤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传递而来的信息和Yn,按如下:
计算该变量节点输出的似然比信息为和译码判决并根据计算变量节点向与其在二分图上相连的各校验节点cm传输的边信息然后进入步骤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码编解码器复用方法。
2.根据权利要求1中所述的一种适用于5G系统的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调制后的符号似然比量化值以及校验比特部分采用比特0调制成x=+1的似然比量化值初始化解码器输入的似然比信息如下:
然后进入步骤S102;其中,M表示5G系统LDPC码的校验矩阵的行数;
步骤S101-5.设定编码标志t=1,根据消息比特部分、双对角部分对应的校验比特部分采用对应比特取值BPSK调制后的符号似然比量化值其余校验比特部分采用打孔比特的似然比量化值初始化解码器输入的似然比信息如下:
然后进入步骤S102;其中,Nc表示5G系统LDPC码校验矩阵中核心高码率矩阵的列数;
所述步骤S107之后,进入到步骤S101-5。
3.根据权利要求2中所述的一种适用于5G系统的LDPC码编解码器复用方法,其特征在于,所述步骤S107包括如下:
利用步骤S104中输出的校正子,作为编码计算的中间变量,将编码后的码字W={wn,n∈[1,N]}转化为分块形式如下:
其中,{m1,m2,…,mkb}表示输入消息比特序列的分块形式,表示检验比特的分块形式;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位;
按如下:
定义为编码计算的中间量,其中,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];
然后定义
其中,a-b-a表示5G系统LDPC码校验矩阵中核心高码率矩阵按分块形式定义所对应的第kb+1列中有且仅有的3块移位值非负的分块所对应的移位值,a表示分块 对应的移位值,b表示分块对应的移位值,e为5G系统LDPC码校验矩阵中核心高码率矩阵按分块形式定义所对应的第kb+1列中移位值为b的分块的行号,且Mc/Z>e>1;
进而根据如下:
pi=φi T+p1<<a,i≥2
计算获得双对角部分对应的校验位,然后返回步骤S101-5。
4.根据权利要求3中所述的一种适用于5G系统的LDPC码编解码器复用方法,其特征在于,所述步骤S110中所述单对角部分编码方法如下:
根据所述步骤S101-5中解码器输入的似然比信息,将单对角部分的校验节点和变量节点更新过程等价为:
根据上式,等价于单列重部分的校验比特。
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 true CN108736898A (zh) | 2018-11-02 |
CN108736898B 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 (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050210355A1 (en) * | 2004-03-22 | 2005-09-22 | Katsutoshi Itoh | Retransmission ordering method, wireless communication system, receiver and transmitter |
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 | 华为技术有限公司 | 一种突发纠错的方法、设备和装置 |
US20130179756A1 (en) * | 2008-10-31 | 2013-07-11 | Broadcom Corporation | Selective merge and partial reuse LDPC (Low Density Parity Check) code construction for limited number of layers Belief Propagation (BP) decoding |
CN103208995A (zh) * | 2013-03-27 | 2013-07-17 | 东南大学 | 一种低密度奇偶校验码译码的提前终止方法 |
-
2018
- 2018-05-31 CN CN201810552073.XA patent/CN108736898B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050210355A1 (en) * | 2004-03-22 | 2005-09-22 | Katsutoshi Itoh | Retransmission ordering method, wireless communication system, receiver and transmitter |
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 | 华为技术有限公司 | 一种突发纠错的方法、设备和装置 |
US20130179756A1 (en) * | 2008-10-31 | 2013-07-11 | Broadcom Corporation | Selective merge and partial reuse LDPC (Low Density Parity Check) code construction for limited number of layers Belief Propagation (BP) decoding |
CN103208995A (zh) * | 2013-03-27 | 2013-07-17 | 东南大学 | 一种低密度奇偶校验码译码的提前终止方法 |
Non-Patent Citations (1)
Title |
---|
黄平: "LDPC 编码调制系统中改进的迭代译码算法", 《2011 INTERNATIONAL CONFERENCE ON FUTURE COMPUTER SCIENCE AND APPLICATION》 * |
Also Published As
Publication number | Publication date |
---|---|
CN108736898B (zh) | 2021-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102638274B (zh) | 利用向量行分组的结构化ldpc设计操作发送器的设备及方法 | |
JP7372369B2 (ja) | 構造的ldpcの符号化、復号化方法および装置 | |
CN101924565B (zh) | Ldpc编码器、解码器、系统及方法 | |
CN100581064C (zh) | 低密度奇偶校验码解码装置和方法 | |
CN110114978B (zh) | 高效可解码qc-ldpc码 | |
US7373581B2 (en) | Device, program, and method for decoding LDPC codes | |
CN104868925B (zh) | 结构化ldpc码的编码方法、译码方法、编码装置和译码装置 | |
CN106888026B (zh) | 基于lsc-crc译码的分段极化码编译码方法及系统 | |
CN107786211B (zh) | 一种ira-qc-ldpc码的代数结构获取方法、编码方法和编码器 | |
CN101490963B (zh) | 纠错编码方法及装置 | |
CN104219019A (zh) | 编码方法及编码设备 | |
WO2009108025A2 (en) | Method and apparatus for performing decoding using ldpc code | |
CN109586732B (zh) | 中短码ldpc编解码系统和方法 | |
CN102075198A (zh) | 准循环低密度奇偶校验卷积码编译码系统及其编译码方法 | |
JPWO2010073922A1 (ja) | 誤り訂正符号化装置、復号装置、符号化方法、復号方法、及びそのプログラム | |
CN107370488A (zh) | 纠错编码方法及装置 | |
CN111211790A (zh) | 一种面向5g终端的高吞吐率ldpc译码算法及架构 | |
CN103957015A (zh) | 用于ldpc码解码的非均匀量化编码方法及其在解码器的应用 | |
CN107332571B (zh) | 一种Polar码构造方法及装置 | |
CN108566263A (zh) | 一种基于qc-ldpc码的多信源多中继协作构建方法 | |
CN110868223A (zh) | 一种哈夫曼编码的数值运算实现方法及电路 | |
CN112332857B (zh) | 一种用于ldpc码的循环移位网络系统及循环移位方法 | |
CN1973440A (zh) | Ldpc编码器、解码器、系统及方法 | |
CN102739259A (zh) | 一种用于cmmb激励器中的基于fpga的ldpc编码方法 | |
CN108449090B (zh) | 一种可配置多码长、多码率的ldpc译码器 |
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 |