CN109639288B - 适用于qc-ldpc码的通用化译码方法及译码模块 - Google Patents
适用于qc-ldpc码的通用化译码方法及译码模块 Download PDFInfo
- Publication number
- CN109639288B CN109639288B CN201811243406.7A CN201811243406A CN109639288B CN 109639288 B CN109639288 B CN 109639288B CN 201811243406 A CN201811243406 A CN 201811243406A CN 109639288 B CN109639288 B CN 109639288B
- Authority
- CN
- China
- Prior art keywords
- matrix
- check
- row
- column
- sub
- 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
Images
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/1148—Structural properties of the code parity-check or generator matrix
- H03M13/116—Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
一种适用于QC‑LDPC码的通用化译码方法及译码模块,通过改变校验子矩阵、列重子矩阵、行重子矩阵的初始值,实现准循环LDPC码译码实现的模块化,适用于规则QC‑LDPC码和非规则QC‑LDPC码。该通用化实现算法不仅减少了存储模块所需硬件资源,也减少了QC‑LDPC码译码算法实现的工作量,具有良好的灵活性与极强的兼容性。
Description
技术领域
本发明涉及数字通信领域,尤其涉及一种适用于QC-LDPC码的通用化译码方法及译码模块。
背景技术
1962年R.G.Gallager在其博士论文中提出了规则LDPC码的构造方法、编译码算法及其译码算法性能分析。但是由于当时条件的限制,LDPC码被忽略了30多年。随着Tanner图的提出,Mackay、Luby提出的非规则LDPC码的概念被推广,证实了非规则LDPC码比规则LDPC码具有更好的性能。LDPC码是一种线性分组码,通常由校验矩阵进行描述,主要特点是校验矩阵具有稀疏性。LDPC码具有逼近香农极限的优良性能,译码实现复杂度较低,实现结构较灵活的优点。因此,美国航天系统顾问委员会将LDPC码写入CCSDS标准中,该标准提出了一组适用于深空通信系统的高码率LDPC码。
在LDPC码广泛应用中,LDPC译码算法的优化一直是个关键问题。研究学者根据R.G.Gallager提出的软判决译码算法进行简化,提出了BP译码算法和适用于硬件实现的最小和译码算法。文献1(李化营,王健,刘炎.LDPC码改进高速译码算法[J].遥测遥控,2015,36(2))提出一种能够在很大程度上节约存储资源的精简最小和算法,该算法采用部分并行结构,在节约存储资源的前提下,提高了译码器的译码速度。文献2(苏悦,王健辉.一种结构化LDPC码的部分并行译码器设计[J].航天器工程,2014,23(3))针对CCSDS标准中深空通信LDPC码,提出了能够部分并行译码的译码器结构,便于工程实现时在译码时延和实现复杂度之间折中。但是,以上提出的LDPC码译码算法实现与其稀疏校验矩阵有着密切的联系,对于不同的校验矩阵,需要重新设计译码器,大大增加了研发时间和研发成本,不具备通用性。
专利1(LDPC码译码器及实现方法,CN104052500A,2014)提供了一种LDPC码译码器结构及实现方法,该译码器包括:译码单元、中心控制单元和地址生成单元。该方法主要讲述了中心控制单元,没有对地址生成单元进行描述。专利2(一种通用型LDPC译码器,CN101977063A,2011)提供了一种通用型LDPC译码器,包括调度模块、输入模块、译码模块和输出模块,该方法在不改变原模图的基础上,实现通用于各种码长的LDPC码,但是该方法不适用于不同原模图的LDPC码的译码实现。专利3(一种基于FPGA的高速自适应DVB-S2LDPC译码器及译码方法,CN201610955524.5,2016)提供了多码率兼容译码方法,该方法在XC7VX485T上最大吞吐率可达5Gbps,资源消耗为67%,但该方法只符合DVB-S2标准,不适应其他的LDPC码。
发明内容
本发明提供一种适用于QC-LDPC码的通用化译码方法及译码模块,旨在以校验子矩阵、行重子矩阵、列重子矩阵为基础,实现适用于二进制QC-LDPC码译码算法实现的通用化。
为了达到上述目的,本发明提供一种适用于QC-LDPC码的通用化译码方法,包含以下步骤:
根据QC-LDPC码的更新后的校验子矩阵、行重子矩阵、列重子矩阵,计算出校验矩阵每列“1”的位置,即列矩阵;
更新变量节点;
根据QC-LDPC码的更新后的校验子矩阵、行重子矩阵、列重子矩阵,计算出校验矩阵每行“1”的位置,即行矩阵;
更新校验节点;
迭代进行上述步骤,直至满足最大迭代次数。
所述的校验子矩阵的构成方法包含:校验矩阵分成m×n个循环子矩阵,每个循环子矩阵的大小为L×L,每个循环子矩阵每行“1”的个数小于等于1,记录循环子矩阵第一行“1”的位置,组成m×n大小的校验子矩阵,其中数据均小于等于L。
根据校验子矩阵每行非“0”数据的个数组成行重子矩阵,根据校验子矩阵每列非“0”数据的个数组成列重子矩阵。
计算列矩阵的方法包含:
根据校验子矩阵得到每个循环子矩阵第一列“1”的位置dv,循环子矩阵处于校验子矩阵的列数d_col;
通过下述公式得到校验矩阵每列“1”的位置:
di=dv+(d_col-1)*n+i i=0,1,2,...,n-1
式中,n表示校验子矩阵的大小,当dv+i等于n时,即“1”的位置处于子矩阵的最后一列,下一时刻将dv+i置成0,即“1”的位置循环到子矩阵的第一列。
更新变量节点的方法包含:
式中,L(k)(rji)表示校验节点第k次运算的结果,L(k)(qij)表示变量节点第k次运算的结果,\j表示除了第j行以外的其他行,N(i)表示与该变量节点相连的校验节点的集合。
计算行矩阵的方法包含:
根据校验子矩阵得到每个循环子矩阵第一行“1”的位置dc,循环子矩阵处于校验子矩阵的行数d_row;
通过下述公式得到校验矩阵每行“1”的位置:
dj=dc+(d_row-1)*m+j j=0,1,2,...,m-1
式中,m表示校验子矩阵的大小,当dc+j等于m时(“1”的位置处于子矩阵的最后一列),下一时刻将dc+j置成0,即“1”的位置循环到子矩阵的第一列。
更新校验节点的方法包含:
式中,\i表示除了第i列以外的其他列,N(j)表示与该校验节点相连的变量节点的集合,λ是修改因子。
判断是否满足最大迭代次数τ的方法包含:
式中,τ表示最大迭代次数,L(qi)表示变量节点收集到的所有信息,L(Pi)表示译码输入信息。
本发明还提供一种适用于QC-LDPC码的通用化译码模块,包含:
列矩阵计算模块,其用于根据QC-LDPC码的更新后的校验子矩阵、行重子矩阵、列重子矩阵,计算出校验矩阵每列“1”的位置,即列矩阵;
变量节点更新模块,其用于更新变量节点;
行矩阵计算模块,其用于根据QC-LDPC码的更新后的校验子矩阵、行重子矩阵、列重子矩阵,计算出校验矩阵每行“1”的位置,即行矩阵;
校验节点更新模块其用于更新校验节点。
本发明通过改变校验子矩阵、列重子矩阵、行重子矩阵的初始值,实现准循环LDPC码译码实现的模块化,适用于规则QC-LDPC码和非规则QC-LDPC码。该通用化实现算法不仅减少了存储模块所需硬件资源,也减少了QC-LDPC码译码算法实现的工作量,具有良好的灵活性与极强的兼容性。
附图说明
图1是本发明提供的一种适用于QC-LDPC码的通用化译码方法的流程图。
图2为(1024,1536)LDPC码的校验子矩阵。
图3为(1024,1536)LDPC码的行重子矩阵。
图4为(1024,1536)LDPC码的列重子矩阵。
具体实施方式
以下根据图1~图4,具体说明本发明的较佳实施例。
如图1所示,以CCSDS协议中深空通信的(1024,1536)非规则QC-LDPC码为例,本发明提供一种适用于QC-LDPC码的通用化译码方法,译码算法采用最小和译码算法,包含以下步骤:
步骤S1、存储QC-LDPC码的校验子矩阵、行重子矩阵、列重子矩阵;
步骤S2、存储量化后的译码输入信息;
步骤S3、根据校验子矩阵、行重子矩阵、列重子矩阵,计算出校验矩阵每列“1”的位置,即列矩阵;
步骤S4、更新变量节点;
步骤S5、根据校验子矩阵、行重子矩阵、列重子矩阵,计算出校验矩阵每行“1”的位置,即行矩阵;
步骤S6、更新校验节点;
步骤S7、迭代次数判断是否满足最大迭代次数(每次迭代之后,迭代次数+1),若是,输出译码结果,若否,进行步骤S3。
进一步,所述的步骤S1中,校验子矩阵的构成方法包含:校验矩阵分成m×n大小的循环子矩阵(大小为L×L),每个循环子矩阵每行“1”的个数小于等于1,记录循环子矩阵第一行“1”的位置,组成m×n大小的校验子矩阵,其中数据均小于等于L。校验子矩阵中“0”表示对应的循环子矩阵为0矩阵,“1”表示对应的循环子矩阵第一行“1”位于第一个位置,“2”表示对应的循环子矩阵第一行“1”位于第二个位置,以此类推……如图2所示,(1024,1536)LDPC码对应校验子矩阵的大小是12*28,循环子矩阵的大小是64*64;
LDPC码是建立在Tanner图上的,译码算法的每次迭代包含两步:校验节点的处理和变量节点的处理;在Tanner图上可以体现出变量节点和校验节点;其中,Tanner图是根据校验子矩阵画出来的;
如图3所示,根据校验子矩阵每行非“0”数据的个数组成行重子矩阵;
如图4所示,根据校验子矩阵每列非“0”数据的个数组成列重子矩阵。
所述的步骤S2中,译码输入信息是从信道中接收的信息,作为本文译码算法的输入量;将译码输入信息量化成6bit有符号数据,译码算法的计算过程中数据位宽为8bit。
所述的步骤S3中,计算列矩阵的方法包含:
根据校验子矩阵得到每个循环子矩阵第一列“1”的位置dv,循环子矩阵处于校验子矩阵的列数d_col。通过下述公式得到校验矩阵每列“1”的位置:
di=dv+(d_col-1)*n+i i=0,1,2,...,n-1
式中,n表示校验子矩阵的大小,当dv+i等于n时(“1”的位置处于子矩阵的最后一列),下一时刻将dv+i置成0,即“1”的位置循环到子矩阵的第一列。
所述的步骤S4中,更新变量节点的方法包含:
式中,L(k)(rji)表示校验节点第k次运算的结果,L(k)(qij)表示变量节点第k次运算的结果,\j表示除了第j行以外的其他行,N(i)表示与该变量节点相连的校验节点的集合。
所述的步骤S5中,计算行矩阵的方法包含:
根据校验子矩阵得到每个循环子矩阵第一行“1”的位置dc,循环子矩阵处于校验子矩阵的行数d_row。通过下述公式得到校验矩阵每行“1”的位置:
dj=dc+(d_row-1)*m+j j=0,1,2,...,m-1
式中,m表示校验子矩阵的大小,当dc+j等于m时(“1”的位置处于子矩阵的最后一列),下一时刻将dc+j置成0,即“1”的位置循环到子矩阵的第一列。
所述的步骤S6中,更新校验节点的方法包含:
式中,\i表示除了第i列以外的其他列,N(j)表示与该校验节点相连的变量节点的集合,修改因子λ是对最小和译码算法精度的改进。
所述的步骤S7中,判断是否满足迭代次数τ的方法包含:
式中,τ表示最大迭代次数,L(qi)表示变量节点收集到的所有信息,L(Pi)表示译码输入信息。
在本发明的一个实施例中,所述的计算列矩阵的方法包含:
根据校验子矩阵可知每个循环子矩阵第一行“1”的位置dc,通过公式L+1-dc可以计算出每个循环子矩阵第一列“1”的位置dv。
Ηn(i)=L+1-dc i=1,...,col
其中,Hn(i)是一个矩阵,共有col个元素,每个元素对应每列1的位置,即dv。L表示循环子矩阵的大小,col表示每个子矩阵的列重。根据图4可知,(1024,1536)LDPC的校验子矩阵每四列作为一组,则列重分别为4,4,2,3,1,3,6。
根据列重子矩阵的非0子块,作为dv的地址,存储每列“1”的位置。该存储方法可以避免全0矩阵块的计算,节省硬件资源的使用。
Hn_col(i)=Hυ(:,i)i=1,2,...,n
其中,Hυ是列重子矩阵,n表示校验子矩阵的列数,Hn_col(i)=0,表示对应校验子矩阵的循环子矩阵是0矩阵,不进行计算。
根据校验子矩阵对应循环子矩阵的大小,可知每个循环子矩阵对应的初始地址:
Hn_address,即0,L,2*L,…,(n-1)*L。根据图2,每个循环子矩阵对应的初始地址分别为0,64,128,…,1728。
根据上述表示,可以得到列矩阵对应的计算公式:
Hn(Hn_col(i))=L+1-dc+Hn_address(i)i=1,2,...,n
上述公式只计算出循环子矩阵第一列“1”的地址,还需计算出每个循环子矩阵每列“1”的地址。根据公式dv+l(l表示循环子矩阵的列数)计算循环子矩阵每列“1”的位置。当dv+l=L时,表示处于循环子矩阵的最右一列,根据循环子矩阵的循环特性,下一时刻,“1”的位置应处于循环子矩阵的第一列,即dv+l=1。
所述的更新变量节点的方法包含:
变量节点更新模块的输入个数为col+1,其中col个输入根据计算出的列矩阵从校验模块存储单元(存储校验节点更新后的数据)中选取对应地址的数据作为输入。对于非规则QC-LDPC,每个子矩阵模块可能具有不同的col值。为了实现译码模块的通用化,选取最大的col值作为输入量,不满足col值的量填充0。
以图2-图4所示的非规则QC-LDPC码为例,变量节点更新模块的输入个数是7,其中一个输入是量化后的译码输入信息。在部分译码结构中,为了每个并行运算的变量节点更新模块输出时刻相同,列重小于6的模块填充0,在确保不影响译码性能的前提下实现译码模块的通用化。
所述的计算行矩阵的方法包含:
根据校验子矩阵可知每个循环子矩阵第一行“1”的位置dc。
Ηm(i)=dc i=1,...,row
其中,row表示每个循环子矩阵的行重,根据图4可知,(1024,1536)LDPC的校验子矩阵每四行作为一组,则列重分别为3,10,10。
根据行重子矩阵的非0子块,作为dc的地址,存储每行“1”的位置。该存储方法可以避免全0矩阵块的计算,节省硬件资源的使用。
Hm_row(i)=Hc(i,:)i=1,2,...,m
其中,m表示校验子矩阵的行数,Hm_row(i)=0,表示对应校验子矩阵的循环子矩阵是0矩阵,不进行计算。
根据校验子矩阵对应循环子矩阵的大小,可知每个循环子矩阵对应的初始地址
Hm_address,即0,L,2*L,…,(m-1)*L。根据附件1,每个循环子矩阵对应的初始地址分别为0,64,128,…,704。
根据上述表示,可以得到行矩阵对应的计算公式:
Hm(Hm_row(i))=dc+Hm_address(i)i=1,2,...,m
上述公式只计算出循环子矩阵第一行“1”的地址,还需计算出每个循环子矩阵每行“1”的地址。根据公式dc+l(l表示循环子矩阵的行数)计算循环子矩阵每行“1”的位置。当dc+l=L时,表示处于循环子矩阵的最后一行,根据循环子矩阵的循环特性,下一时刻,“1”的位置应处于循环子矩阵的第一行,即dc+l=1。
所述的更新校验节点的方法包含:
校验节点更新模块的输入个数为row,根据行矩阵从变量模块存储单元(存储的变量节点更新后的数据)中选取对应地址的数据作为输入。对于非规则QC-LDPC,每个子矩阵模块可能具有不同的row值。为了实现译码模块的通用化,选取最大的row值作为输入量,不满足row值的量填充最大值。
以图2-图4的非规则QC-LDPC码为例,变量节点更新模块的输入个数是10。在部分译码结构中,为了每个并行运算的变量节点更新模块输出时刻相同,行重为3的模块填充127,在确保不影响译码性能的前提下实现译码模块的通用化。
本发明提供的一种对深空通信中QC-LDPC码译码算法的通用化及实现方法,译码过程主要包括四个模块:列矩阵计算模块、变量节点更新模块、行矩阵计算模块、校验节点更新模块。该通用化译码方法通过改变校验子矩阵、列重子矩阵、行重子矩阵的初始值,实现准循环LDPC码译码实现的模块化,适用于规则QC-LDPC码和非规则QC-LDPC码。该通用化实现算法不仅减少了存储模块所需硬件资源,也减少了QC-LDPC码译码算法实现的工作量,具有良好的灵活性与极强的兼容性。
尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。
Claims (2)
1.一种适用于QC-LDPC码的通用化译码方法,其特征在于,包含以下步骤:
构成校验子矩阵:校验矩阵分成m×n个循环子矩阵,每个循环子矩阵的大小为L×L,每个循环子矩阵每行“1”的个数小于等于1,记录循环子矩阵第一行“1”的位置,组成m×n大小的校验子矩阵,其中数据均小于等于L;根据校验子矩阵每行非“0”数据的个数组成行重子矩阵,根据校验子矩阵每列非“0”数据的个数组成列重子矩阵;
根据QC-LDPC码的更新后的校验子矩阵、行重子矩阵、列重子矩阵,计算列矩阵;
更新变量节点;
根据QC-LDPC码的更新后的校验子矩阵、行重子矩阵、列重子矩阵,计算行矩阵;
更新校验节点;
迭代进行上述步骤,直至满足最大迭代次数;
计算列矩阵的方法包含:
根据校验子矩阵得到每个循环子矩阵第一列“1”的位置dv,循环子矩阵处于校验子矩阵的列数d_col;
通过下述公式得到校验矩阵每列“1”的位置:
di=dv+(d_col-1)×n+i,i=0,1,2,...,n-1
式中,n表示校验子矩阵的大小,当dv+i等于n时,即“1”的位置处于子矩阵的最后一列,下一时刻将dv+i置成0,即“1”的位置循环到子矩阵的第一列;
更新变量节点的方法包含:
式中,r表示校验节点,L(k-1)(rj'i)表示校验节点第k-1次迭代运算的结果,q表示变量节点,L(k)(qij)表示变量节点第k次迭代运算的结果,\j表示除了第j行以外的其他行,N(i)表示与该变量节点相连的校验节点的集合;
计算行矩阵的方法包含:
根据校验子矩阵得到每个循环子矩阵第一行“1”的位置dc,循环子矩阵处于校验子矩阵的行数d_row;
通过下述公式得到校验矩阵每行“1”的位置:
dj=dc+(d_row-1)×m+j,j=0,1,2,...,m-1
式中,m表示校验子矩阵的大小,当dc+j等于m时(“1”的位置处于子矩阵的最后一列),下一时刻将dc+j置成0,即“1”的位置循环到子矩阵的第一列;
更新校验节点的方法包含:
式中,\i表示除了第i列以外的其他列,N(j)表示与该校验节点相连的变量节点的集合,λ是修改因子;
判断是否满足最大迭代次数τ的方法包含:
式中,τ表示最大迭代次数,L(qi)表示变量节点收集到的所有信息,
L(Pi)表示译码输入信息。
2.一种用于实现如权利要求1所述的适用于QC-LDPC码的通用化译码方法的适用于QC-LDPC码的通用化译码模块,其特征在于,包含:
列矩阵计算模块,其用于根据QC-LDPC码的更新后的校验子矩阵、行重子矩阵、列重子矩阵,计算出校验矩阵每列“1”的位置,即列矩阵;
变量节点更新模块,其用于更新变量节点;
行矩阵计算模块,其用于根据QC-LDPC码的更新后的校验子矩阵、行重子矩阵、列重子矩阵,计算出校验矩阵每行“1”的位置,即行矩阵;
校验节点更新模块其用于更新校验节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811243406.7A CN109639288B (zh) | 2018-10-24 | 2018-10-24 | 适用于qc-ldpc码的通用化译码方法及译码模块 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811243406.7A CN109639288B (zh) | 2018-10-24 | 2018-10-24 | 适用于qc-ldpc码的通用化译码方法及译码模块 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109639288A CN109639288A (zh) | 2019-04-16 |
CN109639288B true CN109639288B (zh) | 2023-07-04 |
Family
ID=66066514
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811243406.7A Active CN109639288B (zh) | 2018-10-24 | 2018-10-24 | 适用于qc-ldpc码的通用化译码方法及译码模块 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109639288B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102291153A (zh) * | 2011-06-13 | 2011-12-21 | 电子科技大学 | Cmmb中ldpc码的译码算法及部分并行译码器 |
CN103618556A (zh) * | 2013-12-11 | 2014-03-05 | 北京理工大学 | 基于rmp调度的部分并行qc-ldpc译码方法 |
WO2017105291A1 (en) * | 2015-12-15 | 2017-06-22 | Huawei Technologies Co., Ltd. | Generalized quasi-cyclic ldpc convolutional codes for digital communication systems |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10340948B2 (en) * | 2013-02-08 | 2019-07-02 | Mitsubishi Electric Corporation | Transmitter and receiver, and method of varying a coding rate |
-
2018
- 2018-10-24 CN CN201811243406.7A patent/CN109639288B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102291153A (zh) * | 2011-06-13 | 2011-12-21 | 电子科技大学 | Cmmb中ldpc码的译码算法及部分并行译码器 |
CN103618556A (zh) * | 2013-12-11 | 2014-03-05 | 北京理工大学 | 基于rmp调度的部分并行qc-ldpc译码方法 |
WO2017105291A1 (en) * | 2015-12-15 | 2017-06-22 | Huawei Technologies Co., Ltd. | Generalized quasi-cyclic ldpc convolutional codes for digital communication systems |
Also Published As
Publication number | Publication date |
---|---|
CN109639288A (zh) | 2019-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7373581B2 (en) | Device, program, and method for decoding LDPC codes | |
KR102347823B1 (ko) | 구조화된 ldpc의 부호화 및 복호화 방법 및 장치 | |
US8627172B2 (en) | Error correction encoding apparatus, decoding apparatus, encoding method, decoding method, and programs thereof | |
KR20090092892A (ko) | Ldpc 코드를 이용한 복호화 방법 | |
WO2006115166A1 (ja) | 符号装置および符号化方法 | |
KR20050044963A (ko) | q차 제곱 잉여류를 이용한 준순환 저밀도 패러티 검사부호 생성 방법 | |
CN101753149A (zh) | 一种准循环低密度奇偶校验码的构造方法 | |
US8271851B2 (en) | Encoding and decoding a data signal as a function of a correcting code | |
CN111384970B (zh) | 一种译码方法、装置及通信设备 | |
CN102412844B (zh) | 一种ira类ldpc码的译码方法及译码装置 | |
CN108809327B (zh) | Ldpc译码方法 | |
CN110730003B (zh) | 一种ldpc编码方法及ldpc编码器 | |
CN109639288B (zh) | 适用于qc-ldpc码的通用化译码方法及译码模块 | |
CN108809324B (zh) | Ldpc译码方法 | |
CN105871385A (zh) | 一种ldpc卷积码构造方法 | |
CN109347485A (zh) | 构造ldpc码校验矩阵的方法及ldpc码编译方法 | |
CN104767536B (zh) | 基于ofdm电力线通信系统的qc-ldpc译码方法和译码器 | |
CN110324048B (zh) | 一种通信调制系统中ra-ldpc-cc的编码方法及编码器 | |
CN112583420B (zh) | 一种数据处理方法和译码器 | |
CN108809325B (zh) | Ldpc译码器 | |
CN103001648B (zh) | 基于fpga的准循环ldpc码的简易编码装置及方法 | |
CN109150192B (zh) | 一种ldpc码字结构及码字编码方法 | |
Kakde et al. | FPGA implementation of decoder architectures for high throughput irregular LDPC codes | |
CN107959502B (zh) | 一种ldpc编码方法 | |
CN111181570A (zh) | 基于fpga的编译码方法和装置 |
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 |