CN105680879B - 兼容dvb-s2x标准的ldpc译码器设计方法 - Google Patents
兼容dvb-s2x标准的ldpc译码器设计方法 Download PDFInfo
- Publication number
- CN105680879B CN105680879B CN201610008696.1A CN201610008696A CN105680879B CN 105680879 B CN105680879 B CN 105680879B CN 201610008696 A CN201610008696 A CN 201610008696A CN 105680879 B CN105680879 B CN 105680879B
- Authority
- CN
- China
- Prior art keywords
- node
- log
- check
- likelihood ratio
- ratio information
- 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
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
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明公开了一种兼容DVB‑S2X标准的LDPC译码器设计方法,主要解决现有系统中译码器迭代时间长的问题。其实现步骤是:1.设计数据缓存器,将输入单路数据进行顺序调整后转换为360路并行数据缓存,并对其译码初始化;2.设计第一桶形移位模块,将变量节点更新后的360路数据进行移位并进行校验节点更新;3.设计第二桶形移位模块,将校验节点更新完成后的360路数据进行移位和变量节点更新;4.当译码迭代次数达到设置的最大迭代次数后,对360路数据计算硬判决信息;5.对硬判决信息进行译码判决后顺序输出,完成译码。本发明减少了LDPC译码器的迭代时间,使得译码器的吞吐量提高一倍。
Description
技术领域
本发明属于无线通信领域,涉及一种兼容DVB-S2X标准的LDPC译码器设计方法,可用于DVB-S2和DVB-S2X标准中所有码长和码率LDPC码的译码。
背景技术
低密度奇偶校验码简称LDPC码,是一种线性分组码。众多研究结果表明LDPC码性能良好,更加适合未来通信系统对数据传输的有效性和可靠性的要求,所以越来越多的通信标准都使用LDPC码作为其信道编码方案。DVB-S2和DVB-S2X标准中都采用了LDPC码,针对这些标准的LDPC码译码器的高速FPGA实现吸引了众多关注。串行结构的LDPC译码器由于校验节点更新单元和变量节点更新单元都只有一个,所以校验节点更新和变量节点更新需要交替进行。串行结构硬件结构简单,消耗的硬件资源少,但是由于各个节点需要共用校验节点更新单元和变量节点更新单元,所以需要轮流进行更新,这会导致译码器的时延变得非常大,译码时延会随着码长的增加而增加。基于串行结构的LDPC译码器吞吐量小,不能满足DVB-S2和DVB-S2X标准中高速数据吞吐量的要求。全并行结构的LDPC译码器每个节点都使用独立的更新模块,所有的节点更新都同时进行,所以全并行结构的LDPC译码器译码速度最快。全并行结构中校验节点更新单元和变量节点更新单元与校验矩阵中校验节点和变量节点的个数是对应的,各个处理单元之间的连接复杂,硬件复杂度最大,随着码长的增加,复杂度呈指数增长,所以全并行结构适合于码长较短且校验矩阵固定的LDPC码。由于DVB-S2和DVB-S2X标准中LDPC码有多种码长和码率,其校验矩阵是各不相同的,采用全并行结构需要实现每种LDPC码校验矩阵中每个节点之间的连接关系,而且DVB-S2和DVB-S2X标准中LDPC码码长很大,这会导致硬件实现复杂度非常高,芯片布局难以实现。结合DVB-S2和DVB-S2X中IRA-LDPC码的特点,译码器的硬件实现适合采用部分并行结构。部分并行结构是串行结构和并行结构的一个折中,部分并行结构将校验矩阵中校验节点和变量节点分组,每组使用一个更新模块,各个模块并行处理,而每个更新模块的中的节点消息更新则是串行处理。采用部分并行结构可以减少芯片使用面积,但是相对于全并行结构,译码器的吞吐量也会随之下降。在LDPC译码过程中,一次译码迭代时间越短,则LDPC译码器吞吐量越高。现有的LDPC译码器在译码过程中一次迭代时间的缩短可以直接通过提高译码器的并行度来实现,但是提高并行度需要消耗较多的硬件资源。对于DVB-S2和DVB-S2X标准来说,LDPC译码器的并行度最高为360,另外LDPC译码器的并行度还可以进一步降低为360的整数因子,如180、90、45。
DVB-S2和DVB-S2X标准中LDPC码码长较大、码率较多,这意味着译码器需要支持更多不同种类的LDPC码,存储更多不同LDPC码的参数,译码器的实现难度较大。DVB-S2X作为DVB-S2的拓展标准,有着更高的传输效率,这就要求LDPC译码器支持更大的吞吐量,如何在使用尽量少的硬件资源的基础上提高译码器的吞吐量,成了众多业内学者和技术研究人员的研究重点。2007年,Gomes等人在“Flexible Parallel Architecture for DVB-S2 LDPCDecoders”提出了采用部分并行结构设计DVB-S2标准中的LDPC译码器,降低了译码器的实现难度。2011年K.C.Cinnati Loi等人在“Improvements on the design andimplementation of DVB-S2 LDPC decoders”提出了通过增加并行度和使用流水处理提高DVB-S2标准中LDPC译码器吞吐量的改进设计方法。上述LDPC译码器的设计方法中,由于只使用了一个桶形移位模块,校验节点更新和变量节点更新需要交替进行,限制了译码器的吞吐量;而且因为DVB-S2X标准在2014年发布,上述LDPC译码器不兼容DVB-S2X标准。
发明内容
本发明的目的在于针对上述已有的缺点,提出一种兼容DVB-S2X标准的LDPC译码器设计方法,以实现在不增加译码器的并行度的基础上提高译码器的吞吐量。
本发明的技术思路是:通过增加一个桶形移位模块和部分存储资源,可以在不增加译码器的并行度的基础上减少LDPC译码器在迭代过程中的译码时间,从而实现对吞吐量的增加,其设计方案包括如下:
(1)设计LLR缓存模块,用于对低密度奇偶校验码LDPC输入译码器的对数似然比信息按照码长和码率进行顺序调整,并将完成顺序调整的1路对数似然比信息转换为并行的360路对数似然比信息,然后将这360路对数似然比信息进行缓存;
(2)设计参数控制模块,用于生成低密度奇偶校验码LDPC的地址参数;设计变量节点更新模块,用于按照地址参数控制缓存的360路对数似然比信息输出,使得第一次译码迭代开始前的第i个变量节点传递给第j个校验节点的对数似然比信息L(0)(qij)等于第i个变量节点对应的初始对数似然比信息L(Pi),即L(0)(qij)=L(Pi),完成译码初始化;
(3)设计译码迭代模块,用于进行第l次译码迭代,l的初始值为1:
译码迭代模块包含参数控制子模块、第一桶形移位子模块、校验节点更新子模块、第二桶形移位子模块、校验节点消息缓存子模块、变量节点和值缓存子模块和变量节点更新子模块。
(3a)对校验节点进行第l次更新:
(3a1)设计参数控制子模块,用于生成低密度奇偶校验码LDPC校验节点更新中使用的移位参数sc1、sc2和sc3,设计第一桶形移位子模块用于按照这三个移位参数控制第l-1次译码迭代时的360路第i个变量节点传递给第j个校验节点的对数似然比信息L(l-1)(qij)进行移位;
(3a2)设计校验节点更新子模块,用于移位之后,用低密度奇偶校验码LDPC中第l-1次译码迭代时第i′个变量节点传递给第j个校验节点的对数似然比信息L(l-1)(qi'j),计算第l次译码迭代时第j个校验节点传递给第i个变量节点的对数似然比信息L(l)(rji),完成校验节点的第l次更新:
其中α为修正因子,Vj表示所有与第j个校验节点相连的变量节点的集合,Vj\i表示除第i个变量节点之外所有与第j个校验节点相连的变量节点的集合,i′∈Vj\i表示i′是集合Vj\i中的元素,∏为求积运算,sgn(.)为求符号位运算,min(.)为求最小值运算,|.|为求绝对值运算;
(3b)对变量节点进行第l次更新:
(3b1)设计参数控制子模块,用于生成低密度奇偶校验码LDPC变量节点更新中使用的移位参数sv1、sv2和sv3,设计第二桶形移位模块用于按照这三个移位参数控制第l次译码迭代时的360路第j个校验节点传递给第i个变量节点的对数似然比信息L(l)(rji)进行移位;
(3b2)设计校验节点消息缓存子模块、变量节点和值缓存子模块和变量节点更新子模块,用于移位之后,用低密度奇偶校验码LDPC中第i个变量节点对应的初始对数似然比信息L(Pi)和第l次译码迭代时第j′个校验节点传递给第i个变量节点的对数似然比信息L(l)(rj'i),计算第l次译码迭代时第i个变量节点传递给第j个校验节点的对数似然比信息L(l)(qij),完成变量节点的第l次更新:
其中Ci表示所有与第i个变量节点相连的校验节点的集合,Ci\j表示除第j个校验节点之外所有与第i个变量节点相连的校验节点的集合,j′∈Ci\j表示j′是集合Ci\j的元素;
(4)将设定最大迭代次数h与译码迭代次数l进行比较,其中h为整数,1≤h≤50:
当译码迭代次数l小于设定的最大迭代次数h时,令l=l+1,返回步骤(3),进行下一次译码迭代;
设计硬判决信息计算模块,用于计算硬判决信息:
当译码迭代次数l等于设定的最大迭代次数h时,停止译码迭代,并用低密度奇偶校验码LDPC码中第i个变量节点对应的初始对数似然比信息L(Pi)和第h次译码迭代时第j个校验节点传递给第i个变量节点的对数似然比信息L(h)(rji),计算达到最大迭代次数h时第i个变量节点的硬判决信息L(h)(qi):
(5)设计译码判决输出模块,用于对达到最大迭代次数h时第i个变量节点的硬判决信息L(h)(qi)进行译码判决,如果L(h)(qi)≥0,译码结果判决为0,否则,译码结果判决为1,然后顺序输出译码结果,完成译码。
本发明具有如下优点:
1)本发明采用了两个移位模块同时进行校验节点更新和变量节点更新,可以使译码过程中一次译码迭代的时间缩短为只使用一个移位模块时的一半,在不增加并行度的基础上使LDPC译码器的吞吐量提高一倍左右。
2)本发明对移位过程进行了分级流水设计,将360路数据的移位分为3级进行移位,提高了移位过程的处理速度,避免了其成为译码器的速度瓶颈。
3)本发明采用了兼容性设计,可以对DVB-S2和DVB-S2X标准中的所有LDPC码进行译码。
附图说明
图1是本发明的实现流程图;
图2是本发明设计的LDPC译码器的结构框图;
图3是本发明中DVB-S2X标准码长为64800的LDPC码的误码率性能仿真图;
图4是本发明中DVB-S2X标准码长为16200的LDPC码的误码率性能仿真图。
具体实施方式
下面通过附图和实施例,对本发明的技术方法作进一步的描述。
参照图1,本发明的实现步骤如下:
步骤1:设计LLR缓存模块,将输入的对数似然比信息顺序调整后进行串并转换并缓存。
该LLR缓存模块包括对数似然比调整器、串并转换器和缓存器;
1.1)设计对数似然信息调整器,利用该调整器将LDPC码输入译码器的对数似然比信息按如下规则进行顺序调整:
对输入的k个信息位对数似然比信息直接顺序输出,不进行顺序调整;
对输入的n-k个校验位对数似然比信息进行顺序调整,其中n为LDPC码的码长:
将校验位对数似然比信息按顺序分为360个含有q个对数似然比的校验块,第x个校验块表示为Qx,x=1,2,…,360,其中q=(n-k)/360;
对校验块Qx中第y个对数似然信息进行顺序调整后的位置为k+360×(y-1)+x;
1.2)设计串并转换器,用于将完成顺序调整的1路对数似然比信息转换为并行的360路对数似然比信息;
1.3)设置缓存器,用于将串并转换后的360路对数似然比信息进行缓存。
步骤2:译码初始化。
2.1)设计参数控制模块,用于生成LDPC码的地址参数:
将LDPC码的校验矩阵中前q行的非零元素对应的列位置p与LDPC码的信息位长度k和LDPC码的码长n进行比较,若p≤k,生成的地址参数为其中q=(n-k)/360,为向下取整运算;若k<p≤n,生成的地址参数为p-k-1+k/360;
2.2)设计变量节点更新模块,用于完成译码初始化:
按照地址参数控制缓存的360路对数似然比信息输出,使得第一次译码迭代开始前的第i个变量节点传递给第j个校验节点的对数似然比信息L(0)(qij)等于第i个变量节点对应的初始对数似然比信息L(Pi),即L(0)(qij)=L(Pi)。
步骤3:设计译码迭代模块,用于进行第l次译码迭代,l的初始值为1。
译码迭代模块包含参数控制子模块、第一桶形移位子模块、校验节点更新子模块、第二桶形移位子模块、校验节点消息缓存子模块、变量节点和值缓存子模块和变量节点更新子模块。
3.1)对校验节点进行第l次更新:
3.1.1)设计参数控制子模块,用于生成LDPC码校验节点更新中使用的移位参数sc1、sc2和sc3:
首先,将LDPC码的校验矩阵中前q行的非零元素对应的列位置p与LDPC码的信息位长度k和LDPC码的码长n进行比较,若p≤k,则需要进行大小sc为(p-1)mod360的移位,其q=(n-k)/360,mod为取模运算;若k<p≤n,则需要进行大小sc为0的移位;
其次,对校验节点更新中的各级进行移位,即:
第一级移位参数sc1为其中为向下取整运算;
第二级移位参数sc2为
第三级移位参数sc3为(sc mod90)mod15。
3.1.2)设计第一桶形移位子模块,按照三个移位参数sc1、sc2和sc3控制第l-1次译码迭代时的360路第i个变量节点传递给第j个校验节点的对数似然比信息L(l-1)(qij)进行移位,该移位采用如下三级流水处理的方式:
第一级移位是将输入的360路对数似然比信息向左进行大小为sc1×90的循环移位;
第二级移位是将第一级移位后输出的360路对数似然比信息再向左进行大小为sc2×15的循环移位;
第三级移位是将第二级移位后输出的360路对数似然比信息再向左进行大小为sc3的循环移位。
3.1.3)设计校验节点更新子模块,用于完成校验节点的第l次更新:
移位之后,用LDPC码中第l-1次译码迭代时第i′个变量节点传递给第j个校验节点的对数似然比信息L(l-1)(qi'j),计算第l次译码迭代时第j个校验节点传递给第i个变量节点的对数似然比信息L(l)(rji):
其中α为修正因子,Vj表示所有与第j个校验节点相连的变量节点的集合,Vj\i表示除第i个变量节点之外所有与第j个校验节点相连的变量节点的集合,i′∈Vj\i表示i′是集合Vj\i中的元素,∏为求积运算,sgn(.)为求符号位运算,min(.)为求最小值运算,|.|为求绝对值运算;
3.2)对变量节点进行第l次更新:
3.2.1)设计参数控制子模块,用于生成LDPC码变量节点更新中使用的移位参数sv1、sv2和sv3:
首先,将LDPC码的校验矩阵中前q行的非零元素对应的列位置p与LDPC码的信息位长度k和LDPC码的码长n进行比较,若p≤k,则需要进行大小sv为360-(p-1)mod360的移位,其中q=(n-k)/360,mod为取模运算;若k<p≤n,则需要进行大小sv为360的移位;
其次,对变量节点更新中的各级进行移位,即:
第一级移位参数sv1为其中为向下取整运算;
第二级移位参数sv2为
第三级移位参数sv3为(sv mod90)mod15;
3.2.2)设计第二桶形移位模块,按照三个移位参数sv1、sv2和sv3控制第l次译码迭代时的360路第j个校验节点传递给第i个变量节点的对数似然比信息L(l)(rji)进行移位,该移位采用如下三级流水处理的方式:
第一级移位是将输入的360路对数似然比信息向左进行大小为sv1×90的循环移位;
第二级移位是将第一级移位后输出的360路对数似然比信息再向左进行大小为sv2×15的循环移位;
第三级移位是将第二级移位后输出的360路对数似然比信息再向左进行大小为sv3的循环移位;
3.2.3)设计校验节点消息缓存子模块、变量节点和值缓存子模块和变量节点更新子模块,用于完成变量节点的第l次更新:
移位之后,用LDPC码中第i个变量节点对应的初始对数似然比信息L(Pi)和第l次译码迭代时第j′个校验节点传递给第i个变量节点的对数似然比信息L(l)(rj'i),计算第l次译码迭代时第i个变量节点传递给第j个校验节点的对数似然比信息L(l)(qij):
其中Ci表示所有与第i个变量节点相连的校验节点的集合,Ci\j表示除第j个校验节点之外所有与第i个变量节点相连的校验节点的集合,j′∈Ci\j表示j′是集合Ci\j的元素。
步骤4:判断是否达到最大迭代次数。
将设定的最大迭代次数h与译码迭代次数l进行比较,其中h为整数,1≤h≤50:
当译码迭代次数l小于设定的最大迭代次数h时,令l=l+1,返回步骤(3),进行下一次译码迭代;
设计硬判决信息计算模块,用于计算硬判决信息:
当译码迭代次数l等于设定的最大迭代次数h时,停止译码迭代,并用LDPC码中第i个变量节点对应的初始对数似然比信息L(Pi)和第h次译码迭代时第j个校验节点传递给第i个变量节点的对数似然比信息L(h)(rji),计算达到最大迭代次数h时第i个变量节点的硬判决信息L(h)(qi):
步骤5:设计译码判决输出模块,用于进行译码判决并输出译码结果。
对达到最大迭代次数h时第i个变量节点的硬判决信息L(h)(qi)进行译码判决,如果L(h)(qi)≥0,译码结果判决为0,否则,译码结果判决为1,然后顺序输出译码结果,完成译码。
通过上述步骤1-步骤5设计的译码器如图2所示。
本发明的效果可通过以下仿真结果进一步说明:
1.仿真条件
仿真信道为AWGN信道,调制方式为QPSK,采用归一化最小和算法,修正因子α大小为0.875,译码最高迭代次数h为30。
2.仿真内容与结果
仿真1,对DVB-S2X标准中码长为64800,码率为9/20和11/20的两种LDPC码用MATLAB软件实现的译码仿真结果与用本发明设计的译码器在硬件FPGA上的译码仿真结果进行对比。结果如图3所示。
仿真2,对DVB-S2X标准中码长为16200,码率为7/15和32/45的两种LDPC码用MATLAB软件实现的译码仿真结果与用本发明设计的译码器在硬件FPGA上的译码仿真结果进行对比。结果如图4所示。
从图3和图4的仿真可以看出,本发明设计的LDPC译码器与MATLAB软件上LDPC码译码仿真曲线基本重合。
Claims (3)
1.一种兼容DVB-S2X标准的LDPC译码器设计方法,其包括:
(1)设计LLR缓存模块,用于对低密度奇偶校验码LDPC输入译码器的对数似然比信息按照码长和码率进行顺序调整,并将完成顺序调整的1路对数似然比信息转换为并行的360路对数似然比信息,然后将这360路对数似然比信息进行缓存;
(2)设计参数控制模块,用于生成低密度奇偶校验码LDPC的地址参数;设计变量节点更新模块,用于按照地址参数控制缓存的360路对数似然比信息输出,使得第一次译码迭代开始前的第i个变量节点传递给第j个校验节点的对数似然比信息L(0)(qij)等于第i个变量节点对应的初始对数似然比信息L(Pi),即L(0)(qij)=L(Pi),完成译码初始化;
(3)设计译码迭代模块,用于进行第l次译码迭代,l的初始值为1:
译码迭代模块包含参数控制子模块、第一桶形移位子模块、校验节点更新子模块、第二桶形移位子模块、校验节点消息缓存子模块、变量节点和值缓存子模块和变量节点更新子模块;
(3a)对校验节点进行第l次更新:
(3a1)设计参数控制子模块,用于生成低密度奇偶校验码LDPC校验节点更新中使用的移位参数sc1、sc2和sc3,设计第一桶形移位子模块用于按照这三个移位参数控制第l-1次译码迭代时的360路第i个变量节点传递给第j个校验节点的对数似然比信息L(l-1)(qij)进行移位:
首先,将LDPC码的校验矩阵中前q行的非零元素对应的列位置p与LDPC码的信息位长度k和LDPC码的码长n进行比较,若p≤k,则需要进行大小sc为(p-1)mod360的移位,其q=(n-k)/360,mod为取模运算;若k<p≤n,则需要进行大小sc为0的移位;
其次,对校验节点更新中的各级进行移位,即:
第一级移位参数sc1为其中为向下取整运算;
第二级移位参数sc2为
第三级移位参数sc3为(scmod90)mod15;
然后,采用如下三级流水处理的方式进行移位:
第一级移位是将输入的360路对数似然比信息向左进行大小为sc1×90的循环移位;
第二级移位是将第一级移位后输出的360路对数似然比信息再向左进行大小为sc2×15的循环移位;
第三级移位是将第二级移位后输出的360路对数似然比信息再向左进行大小为sc3的循环移位;
(3a2)设计校验节点更新子模块,用于移位之后,用低密度奇偶校验码LDPC中第l-1次译码迭代时第i′个变量节点传递给第j个校验节点的对数似然比信息L(l-1)(qi'j),计算第l次译码迭代时第j个校验节点传递给第i个变量节点的对数似然比信息L(l)(rji),完成校验节点的第l次更新:
其中α为修正因子,Vj表示所有与第j个校验节点相连的变量节点的集合,Vj\i表示除第i个变量节点之外所有与第j个校验节点相连的变量节点的集合,i′∈Vj\i表示i′是集合Vj\i中的元素,Π为求积运算,sgn(.)为求符号位运算,min(.)为求最小值运算,|.|为求绝对值运算;
(3b)对变量节点进行第l次更新:
(3b1)设计参数控制子模块,用于生成低密度奇偶校验码LDPC变量节点更新中使用的移位参数sv1、sv2和sv3,设计第二桶形移位模块用于按照这三个移位参数控制第l次译码迭代时的360路第j个校验节点传递给第i个变量节点的对数似然比信息L(l)(rji)进行移位:
首先,将LDPC码的校验矩阵中前q行的非零元素对应的列位置p与LDPC码的信息位长度k和LDPC码的码长n进行比较,若p≤k,则需要进行大小sv为360-(p-1)mod360的移位,其中q=(n-k)/360,mod为取模运算;若k<p≤n,则需要进行大小sv为360的移位;
其次,对变量节点更新中的各级进行移位,即:
第一级移位参数sv1为其中为向下取整运算;
第二级移位参数sv2为
第三级移位参数sv3为(svmod90)mod15;
然后,采用如下三级流水处理的方式对数似然比信息L(l)(rji)进行移位:
第一级移位是将输入的360路对数似然比信息向左进行大小为sv1×90的循环移位;
第二级移位是将第一级移位后输出的360路对数似然比信息再向左进行大小为sv2×15的循环移位;
第三级移位是将第二级移位后输出的360路对数似然比信息再向左进行大小为sv3的循环移位;
(3b2)设计校验节点消息缓存子模块、变量节点和值缓存子模块和变量节点更新子模块,用于移位之后,用低密度奇偶校验码LDPC中第i个变量节点对应的初始对数似然比信息L(Pi)和第l次译码迭代时第j′个校验节点传递给第i个变量节点的对数似然比信息L(l)(rj'i),计算第l次译码迭代时第i个变量节点传递给第j个校验节点的对数似然比信息L(l)(qij),完成变量节点的第l次更新:
其中Ci表示所有与第i个变量节点相连的校验节点的集合,Ci\j表示除第j个校验节点之外所有与第i个变量节点相连的校验节点的集合,j′∈Ci\j表示j′是集合Ci\j的元素;
(4)将设定最大迭代次数h与译码迭代次数l进行比较,其中h为整数,1≤h≤50:
当译码迭代次数l小于设定的最大迭代次数h时,令l=l+1,返回步骤(3),进行下一次译码迭代;
设计硬判决信息计算模块,用于计算硬判决信息:
当译码迭代次数l等于设定的最大迭代次数h时,停止译码迭代,并用低密度奇偶校验码LDPC码中第i个变量节点对应的初始对数似然比信息L(Pi)和第h次译码迭代时第j个校验节点传递给第i个变量节点的对数似然比信息L(h)(rji),计算达到最大迭代次数h时第i个变量节点的硬判决信息L(h)(qi):
(5)设计译码判决输出模块,用于对达到最大迭代次数h时第i个变量节点的硬判决信息L(h)(qi)进行译码判决,如果L(h)(qi)≥0,译码结果判决为0,否则,译码结果判决为1,然后顺序输出译码结果,完成译码。
2.根据权利要求1中所述的译码器设计方法,其中步骤1)中通过LLR缓存模块,对输入译码器的对数似然比信息进行顺序调整,按如下规则进行:
对输入的k个信息位对数似然比信息直接顺序输出,不进行顺序调整;
对输入的n-k个校验位对数似然比信息进行顺序调整,其中n为LDPC码的码长:
将校验位对数似然比信息按顺序分为360个含有q个对数似然比的校验块Qx,x=1,2,…,360,其中q=(n-k)/360;
对校验块Qx中第y个对数似然信息进行顺序调整后的位置为k+360×(y-1)+x。
3.根据权利要求1中所述的译码器设计方法,其中步骤2)中通过参数控制模块,生成低密度奇偶校验码LDPC的地址参数,按如下规则进行:
将LDPC码的校验矩阵中前q行的非零元素对应的列位置p与LDPC码的信息位长度k和LDPC码的码长n进行比较,若p≤k,生成的地址参数为其中q=(n-k)/360,为向下取整运算;若k<p≤n,生成的地址参数为p-k-1+k/360。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610008696.1A CN105680879B (zh) | 2016-01-07 | 2016-01-07 | 兼容dvb-s2x标准的ldpc译码器设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610008696.1A CN105680879B (zh) | 2016-01-07 | 2016-01-07 | 兼容dvb-s2x标准的ldpc译码器设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105680879A CN105680879A (zh) | 2016-06-15 |
CN105680879B true CN105680879B (zh) | 2019-04-23 |
Family
ID=56299266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610008696.1A Active CN105680879B (zh) | 2016-01-07 | 2016-01-07 | 兼容dvb-s2x标准的ldpc译码器设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105680879B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108183713B (zh) * | 2017-12-15 | 2021-04-13 | 南京大学 | 基于改进型最小和算法的ldpc译码器及其译码方法 |
CN111130563B (zh) * | 2018-10-30 | 2022-04-26 | 华为技术有限公司 | 处理信息的方法和装置 |
CN109495115B (zh) * | 2018-11-01 | 2022-08-09 | 哈尔滨工业大学 | 一种基于fpga的ldpc译码器及译码方法 |
CN109687877B (zh) * | 2018-12-28 | 2023-04-28 | 深圳忆联信息系统有限公司 | 一种降低多级循环移位网络级联级数的方法及装置 |
CN110278000B (zh) * | 2019-07-16 | 2020-12-11 | 南京中科晶上通信技术有限公司 | 基于dvb-s2标准的ldpc码并行译码fpga实现架构的译码方法 |
CN110868225B (zh) * | 2019-11-29 | 2023-06-06 | 中科南京移动通信与计算创新研究院 | Ldpc码译码器 |
CN110971242B (zh) * | 2019-11-29 | 2023-11-03 | 中科南京移动通信与计算创新研究院 | 通用化的ldpc译码桶形移位器 |
CN112187285B (zh) * | 2020-09-18 | 2024-02-27 | 南京中科晶上通信技术有限公司 | 基于dvb-s2译码器的桶形移位器处理方法及桶形移位器 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101197579A (zh) * | 2007-12-27 | 2008-06-11 | 华为技术有限公司 | 信道译码方法、装置和低密度奇偶校验码译码器 |
CN102468857A (zh) * | 2010-11-04 | 2012-05-23 | 承景科技股份有限公司 | 将低密度奇偶校验码的码块译码的系统及其方法 |
CN102957436A (zh) * | 2011-08-17 | 2013-03-06 | 北京泰美世纪科技有限公司 | 一种低密度奇偶校验码译码装置和译码方法 |
CN103916134A (zh) * | 2014-03-24 | 2014-07-09 | 清华大学 | 低密度奇偶校验码的混叠译码方法及多核协同混叠译码器 |
-
2016
- 2016-01-07 CN CN201610008696.1A patent/CN105680879B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101197579A (zh) * | 2007-12-27 | 2008-06-11 | 华为技术有限公司 | 信道译码方法、装置和低密度奇偶校验码译码器 |
CN102468857A (zh) * | 2010-11-04 | 2012-05-23 | 承景科技股份有限公司 | 将低密度奇偶校验码的码块译码的系统及其方法 |
CN102957436A (zh) * | 2011-08-17 | 2013-03-06 | 北京泰美世纪科技有限公司 | 一种低密度奇偶校验码译码装置和译码方法 |
CN103916134A (zh) * | 2014-03-24 | 2014-07-09 | 清华大学 | 低密度奇偶校验码的混叠译码方法及多核协同混叠译码器 |
Also Published As
Publication number | Publication date |
---|---|
CN105680879A (zh) | 2016-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105680879B (zh) | 兼容dvb-s2x标准的ldpc译码器设计方法 | |
CN101212277A (zh) | 支持多协议标准的ldpc码译码装置 | |
JP4402699B2 (ja) | ノードメモリ基盤のldpcデコーダ及び復号方法 | |
US8225173B2 (en) | Multi-rate LDPC code system and method | |
CN105340183B (zh) | 一种极性码的译码方法及装置 | |
US20130031438A1 (en) | Multi-rate ldpc decoding | |
CN111615793A (zh) | 竖直分层式有限字母表迭代解码 | |
CN106936446A (zh) | 一种基于多进制ldpc码的高速译码器及其译码方法 | |
JP2012504903A (ja) | 2元消失サロゲート・チャネルを用いたawgnチャネル条件下でビット・インタリーバをldpc符号および変調に適合させる方法および装置 | |
CN102664638A (zh) | 基于分层nms算法的多码长ldpc码译码器的fpga实现方法 | |
EP2614593A1 (en) | Method and device for coded modulation | |
CN106452455B (zh) | 基于OpenCL移动设备QC-LDPC的动态译码方法 | |
CN112332856B (zh) | 一种准循环ldpc码的层译码方法及装置 | |
US20160142074A1 (en) | Structure and decoder architecture of a class of low-density parity-check code | |
CN107196737B (zh) | 基于消息传递算法的scma译码方法 | |
EP3364578A1 (en) | Decoding method and decoder for low-density parity check code | |
CN106254030B (zh) | 无速率Spinal码的双向编译码方法 | |
KR101657912B1 (ko) | 비이진 저밀도 패리티 검사 코드의 복호화 방법 | |
CN107733557A (zh) | 一种数据发送的方法及装置、通信设备 | |
Boiko et al. | Design and evaluation of the efficiency of channel coding LDPC codes for 5G information technology | |
EP2991231A1 (en) | Multilevel encoding and multistage decoding | |
CN102340317B (zh) | 结构化ldpc码的高吞吐率译码器及译码方法 | |
CN103152057B (zh) | 一种基于双归一化修正因子的ldpc译码器及译码方法 | |
CN102412844B (zh) | 一种ira类ldpc码的译码方法及译码装置 | |
CN102594369B (zh) | 基于fpga的准循环低密度校验码译码器及译码方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |