CN104868925B - 结构化ldpc码的编码方法、译码方法、编码装置和译码装置 - Google Patents
结构化ldpc码的编码方法、译码方法、编码装置和译码装置 Download PDFInfo
- Publication number
- CN104868925B CN104868925B CN201410061163.0A CN201410061163A CN104868925B CN 104868925 B CN104868925 B CN 104868925B CN 201410061163 A CN201410061163 A CN 201410061163A CN 104868925 B CN104868925 B CN 104868925B
- Authority
- CN
- China
- Prior art keywords
- basis matrix
- neighbouring
- mod
- row
- matrix
- 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/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
-
- 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/033—Theoretical methods to calculate these checking codes
- H03M13/036—Heuristic code construction methods, i.e. code construction or code search based on using trial-and-error
-
- 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
-
- 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/114—Shuffled, staggered, layered or turbo decoding schedules
-
- 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/118—Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
-
- 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/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/611—Specific encoding aspects, e.g. encoding by means of decoding
-
- 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/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/615—Use of computational or mathematical techniques
- H03M13/616—Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
-
- 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/65—Purpose and implementation aspects
- H03M13/6502—Reduction of hardware complexity or efficient processing
-
- 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/65—Purpose and implementation aspects
- H03M13/6566—Implementations concerning memory access contentions
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Computing Systems (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明提供了一种结构化LDPC码的编码方法、译码方法、编码装置和译码装置。涉及数字通信***;解决了现有编译码器效率低下的问题。该方法包括:确定编码使用的包含K0个上下相邻对的基础矩阵;根据所述基础矩阵和其对应的扩展因子,完成从(Nb‑Mb)×z比特的源数据得到Nb×z比特码字的LDPC编码运算,其中z为扩展因子,z是大于等于1的正整数。本发明提供的技术方案适用于结构化LDPC码的编码译码,实现了高流水线速度的LDPC编码和译码。
Description
技术领域
本发明涉及数字通信***,尤其涉及一种结构化LDPC码的编码方法、译码方法、编码装置和译码装置。
背景技术
随着无线数字通信的发展及各种高速率、突发性强的业务的出现,人们对纠错编码技术提出了愈来愈高的要求,图1为一种典型的数字通信***。低密度奇偶校验码(LowDensity Parity Check Codes,记为LDPC码)是一类可以用非常稀疏的奇偶校验矩阵或者二分图定义的线性分组码,最初由Gallager发现,所以称为Gallager码。经过数十年的沉寂,随着计算机硬件和相关理论的发展,MacKay和.Neal重新发现了它,并证明了它具有逼近香农限的性能。最新研究表明,LDPC码具有以下特点:低译码复杂度,可线性时间编码,具有逼近香农限性能,可并行译码,以及在长码长条件下优于Turbo码。
LDPC码是一种基于稀疏校验矩阵的线性分组码,正是利用它的校验矩阵的稀疏性,才能实现低复杂度的编译码,从而使得LDPC码走向实用化。非正则码(irregularcodes)是指奇偶校验矩阵的行重量和列重量是完全不同的低密度奇偶校验码,并且奇偶校验矩阵的信息位部分的列重量也是不同的。正则码(regular codes)是指是指奇偶校验矩阵的行重量和列重量是完全相同的低密度奇偶校验码,或者在奇偶校验矩阵中当校验位部分对应保持固定结构时信息位部分行重量和列重量完全相同的低密度奇偶校验码。在相关文献中,也有人将正则码中第二种情况的低密奇偶校验码称为半正则码(semi-regularcodes)。基础矩阵的次数分布和奇偶校验矩阵的次数分布是一致的。
LDPC码是一种特殊的线性分组码。通信中,每发送一个分组长度为N比特的码字,为了保证其具有一定的纠错能力,需要有M个校验比特,每个码字都要求满足HxT=0T,其中H为二元域上M×N维的奇偶校验矩阵。所有的运算都是在二元域GF(2)上进行的,这里加和减是“异或”运算,而乘是“与”运算。
结构化LDPC码
结构化的LDPC码的奇偶校验矩阵H设为(M×z)×(N×z)矩阵,它是由M×N个分块矩阵构成,每个分块矩阵都是z×z的基本置换矩阵的不同幂次,基本置换矩阵为单位阵时,它们都是单位阵的循环移位矩阵(文中默认为右移)。通过这样的幂次j就可以唯一标识每一个分块矩阵,单位矩阵的幂次可用0表示,矩阵一般用-1来表示。这样,如果将H的每个分块矩阵都用它的幂次代替,就得到一个M×N的幂次矩阵Hb。这里,定义Hb是H的基础矩阵,H称为Hb的扩展矩阵。在实际编码时,z=码长/基础矩阵的列数N,称为扩展因子。
例如,矩阵
可以用下面的参数z和一个2×4的基础矩阵Hb扩展得到:
z=3和
因此,也可以说本发明的LDPC码的编码器是由基础矩阵Hb,扩展因子z及所选择的基本置换矩阵唯一生成的。根据上述基础矩阵的定义,可以看出在给定扩展因子(一个大于1的整数z)的条件下,基础矩阵和奇偶校验矩阵本质上是一个东西。
LDPC码编码
***分组码的直接编码方法是:把一个码字x划分为N-M个信息比特s和M个校验比特c,相应地,把M×N的奇偶校验矩阵H划分为分别对应于信息比特和校验比特的M×(N-M)和M×M大小的两块,即H=[A|B]。根据H×x=0,可得:
于是可以得到A×s+B×c=0,进一步推出c=B-1As。当块B采用特殊的矩阵结构,如严格下三角结构(半随机矩阵)、双下三角结构等,则B-1具有非常简单的形式,可以直接按照上面式子直接计算得到码字中校验比特部分c,并且可以保证编码器具有线性复杂度。
也可以采用Richarson线性时间编码算法:奇偶校验矩阵H具有准下三角结构,设H具有如下形式:
设编码后码字是x=(s,p1,p2),这里s为编码码字的***比特部分,p1和p2为码字的校验比特部分,p1的长度为g,p2长度为(m-g)。上式中,A的维数是(m-g)×(n-m),B是(m-g)×g,T是(m-g)×(m-g),C是g×(n-m),D是g×g,E是g×(m-g)。所有这些矩阵都是稀疏矩阵,而T是下三角矩阵,主对角线元素全为1。校验比特部分可以由下面式子求得:
其中,
因此,本发明设计的LDPC码的编码器可以由LDPC奇偶校验矩阵H唯一生成,实际上LDPC码的奇偶校验矩阵不仅仅决定了LDPC码译码器的性能,而且决定了LDPC码的编码器和译码器的复杂度、存储空间和处理延时。寻找合适的LDPC码的奇偶校验矩阵结构是至关重要的。
在具体实现时,可采上述直接方法或者Richarson方法或者其它方法运算,来完成从N-M比特的源数据得到N比特码字的编码功能。事实上,该编码器就是用软件或硬件实现式中稀疏矩阵的乘法和加法运算,对于基于单位阵及其循环移位矩阵的LDPC码,稀疏矩阵的乘法运算可以由多个z位(z为扩展因子)的循环移位寄存器和多个z位的加法器构成,而稀疏矩阵的加法运算就是由上述的多个z位的加法器完成,该多个z位循环移位寄存器和多个z位加法器就构造出一个硬件电路实现的LDPC编码器。
LDPC的译码
LDPC奇偶校验矩阵的图形表示形式是二分图。二分图和校验矩阵之间具有一一对应的关系,一个M*N的奇偶校验矩阵H定义了每个具有N比特的码字满足M个奇偶校验集的约束。一个二分图包括N个变量节点和M个奇偶校验节点。当第m个校验涉及到第n个比特位,即H中第m行第n列的元素Hm,n=1时,将有一根连线连接校验节点m和变量节点n。二分图中,任何同一类的节点之间都不会有连接,并且二分图中的总边数和校验矩阵中非零元素的个数相等。
LDPC码的信息传递译码算法假定变量节点是相互独立的,短圈的存在必然破坏了独立性的假设,使得译码性能明显下降。事实上,LDPC奇偶校验矩阵对应二分图的最短圈长度越长,即girth值越大,从变量节点发出的信息被传递给自身的正反馈信息将越小,则译码性能也越好。校验矩阵H的girth与基础矩阵Hb之间存在关联,通过数学推理和计算机仿真的验证,有了相关结论。
基础矩阵修正
如果对于每个不同的扩展因子无法采用同一基础矩阵,那么,对于每个不同的码长,所述的LDPC码编译码器都需要存储一个基础矩阵,当码长很多时,就要存储很多基础矩阵,这样会占用很大的存储空间或者使得硬件实现电路很复杂。
修正是利用其它码长的扩展因子对基础矩阵Hb中的非负值元素进行修正,修正后的元素值应小于该码长下的扩展因子值,修正算法可以采用取模(mod)、取整(scale+floor)或舍入(scale+round)等。设Pi,j为基础矩阵第i行第j列的非负元素,P’i,j为修正以后的元素,有:
对于取模(mod)方法:
对于取整(scale+floor)方法:
对于舍入(scale+round)方法:
其中,N为基础矩阵列数,n为要生成奇偶校验矩阵的低密度奇偶校验码的码长。mod为取模操作,[]为下取整操作,Round为四舍五入操作。这里,假定最大码长为2304。
例如,对于码长1152比特低密度奇偶校验码,设其基础矩阵某个非负元素为93,则其修正结果为:
对于取模(mod)方法:
对于取整(scale+floor)方法:
对于舍入(scale+round)方法:
LDPC码如果使用当前最流行的分层译码,对数似然比信息的读写严重影响了LDPC码的流水线的排列。具体地,在高码率的时候,对于普通的LDPC码码结构,译码器需要基础矩阵一行完成处理以后,才可以开始下一级流水线,如果一级流水特别长,将严重降低译码器的效率。
发明内容
本发明提供了一种结构化LDPC码的编码方法、译码方法、编码装置和译码装置,解决了现有编译码器效率低下的问题。
一种结构化LDPC码的编码方法,包括:
确定编码使用的包含K0个上下相邻对的基础矩阵,所述基础矩阵包括对应于***比特的Mb×(Nb-Mb)的块A和对应于校验比特的Mb×Mb的块B,对于所述基础矩阵,则有K1个第一类上下相邻对和有K2个第二类上下相邻对,其中,K0=K1+K2,K0是大于等于6*Mb的正整数,K2是大于等于0且小于等于2*Mb的正整数,上下相邻对为所述基础矩阵中两个对应非零方阵的元素{hbij,hb((i+1)mod Mb)j}构成的集合,即基础矩阵的某一列中两个相邻的对应非零方阵的元素构成的集合,其中最后一行为第一行的上一行,
所述第一类上下相邻对为(hbij-hb((i+1)mod Mb)j)mod Q=a的同余上下相邻对,
所述第二类上下相邻对为(hbij-hb((i+1)mod Mb)j)mod Q=b的同余上下相邻对,
其中,hbij表示所述基础矩阵的第i行和j列的元素,其中,a和b不等,a和b是0到Q-1之间的整数,Q是扩展因子z的一个乘法因子,i是所述基础矩阵的行索引,j是所述基础矩阵的列索引,i=0、1、...、Mb-1,j=0、1,...、Nb-1;
根据所述基础矩阵和其对应的扩展因子,完成从(Nb-Mb)×z比特的源数据得到Nb×z比特码字的LDPC编码运算,其中z为扩展因子,z是大于等于1的正整数。
优选的,
若K2大于等于3,对于任何相邻的两行(x1行和(x1+1)mod Mb行)至多有三个第二类相邻对,其中,行索引x1取值从0到Mb-1。
优选的,Q取值为以下任一:
2、3、4、5、6、7、8。
优选的,所述基础矩阵的第j列所有对应非零方阵的元素有Lj个,从上向下第一个元素是0,Lj是大于等于1的正整数,j=0、1、...、Nb-1。
优选的,K0的取值为以下任一:
1、2、3、4、5、6、7、8、9、10、11、12。
本发明还提供了一种结构化LDPC码的译码方法,包括:
确定译码使用的包含K0个上下相邻对的基础矩阵,所述基础矩阵包括对应于***比特的Mb×(Nb-Mb)的块A和对应于校验比特的Mb×Mb的块B,对于所述基础矩阵,则有K1个第一类上下相邻对和有K2个第二类上下相邻对,其中,K0=K1+K2,K0是大于等于6*Mb的正整数,K2为大于等于1且小于等于2*Mb的正整数,
上下相邻对为每个基础矩阵中两个对应非零方阵的元素{hbij,hb((i+1)modMb)j}构成的集合,即所述基础矩阵的某一列中两个相邻的对应非零方阵的元素构成的集合,其中最后一行定义为第一行的上一行,
所述第一类上下相邻对为(hbij-hb((i+1)mod Mb)j)mod Q=a的同余上下相邻对,
所述第二类上下相邻对为(hbij-hb((i+1)mod Mb)j)mod Q=b的同余上下相邻对,
其中,hbij表示所述基础矩阵的第i行和j列的元素,其中,a和b不等,a和b是0到Q-1之间的整数,Q是扩展因子z的一个乘法因子,,i是所述基础矩阵的行索引,j是所述基础矩阵的列索引,i=0、1、...、Mb-1,j=0、1,...、Nb-1;
根据所述基础矩阵和对应的扩展因子,完成从Nb×z比特的码字得到(Nb-Mb)×z比特信息数据的LDPC译码运算,其中,z是扩展因子,z是大于等于1的正整数。
优选的,若K2大于等于3,对于任何相邻的两行(x1行和(x1+1)modMb行)至多有三个第二类相邻对。其中,x1取值从0到Mb-1。
优选的,Q取值为以下任一:
2、3、4、5、6、7、8。
优选的,所述基础矩阵的第j列所有对应非零方阵的元素有Lj个,从上向下第一个元素是0,Lj是大于等于1的正整数,j=0、1、...、Nb-1。
优选的,根据所述基础矩阵和对应的扩展因子,完成从Nb×z比特的码字得到(Nb-Mb)×z比特信息数据的LDPC译码运算包括:
采用分层BP算法或者修正的最小和算法,对所述基础矩阵进行行更新,包括:
在奇数次迭代的时候,除了对第二类相邻对之外的元素对应的边信息进行更新,仅只对应任何第二类相邻对中一个元素的的边信息进行更新,
在偶数次迭代的时候,除了对第二类相邻对之外的元素对应的边信息进行更新,仅只对对应任何第二类相邻对的另一个元素的边信息进行更新,
所述边信息为校验节点到变量节点信息;
使用所述边信息计算码字对数似然比,并进行硬判,并检验是否正确,若正确则输出正确码字,若错误则继续译码处理。
本发明还提供了一种结构化LDPC码的编码装置,包括:
基础矩阵存储模块,用于至少存储编码使用的包含K0个上下相邻对的基础矩阵,所述基础矩阵包括对应于***比特的Mb×(Nb-Mb)的块A和对应于校验比特的Mb×Mb的块B,对于所述基础矩阵,则有K1个第一类上下相邻对和有K2个第二类上下相邻对,其中,K0=K1+K2,K0是大于等于6*Mb的正整数,K2是大于等于0且小于等于2*Mb的正整数,上下相邻对为每个基础矩阵中两个对应非零方阵的元素{hbij,hb((i+1)mod Mb)j}构成的集合,即基础矩阵的某一列中两个相邻的对应非零方阵的元素构成的集合,其中最后一行为第一行的上一行,
所述第一类上下相邻对为(hbij-hb((i+1)mod Mb)j)mod Q=a的同余上下相邻对,
所述第二类上下相邻对为(hbij-hb((i+1)mod Mb)j)mod Q=b的同余上下相邻对,
其中,hbij表示所述基础矩阵的第i行和j列的元素,其中,a和b不等,a和b是0到Q-1之间的整数,Q是扩展因子z的一个乘法因子,i是所述基础矩阵的行索引,j是所述基础矩阵的列索引,i=0、1、...、Mb-1,j=0、1,...、Nb-1;
编码运算模块,用于确定所述基础矩阵和其对应的扩展因子,完成从(Nb-Mb)×z比特的源数据得到Nb×z比特码字的LDPC编码运算,其中z为扩展因子,z是大于等于1的正整数。
优选的,若K2大于等于3,对于任何相邻的两行(x1行和(x1+1)modMb行)至多有三个第二类相邻对,其中,行索引x1取值从0到Mb-1。
优选的,Q取值为以下任一:
2、3、4、5、6、7、8。
优选的,所述基础矩阵的第j列所有对应非零方阵的元素有Lj个,从上向下第一个元素是0,Lj是大于等于1的正整数,j=0、1、...、Nb-1。
优选的,K0的取值为以下任一:
1、2、3、4、5、6、7、8、9、10、11、12。
本发明还提供了一种结构化LDPC码的译码装置,包括:
基础矩阵存储模块,用于至少存储译码使用的包含K0个上下相邻对的基础矩阵,所述基础矩阵包括对应于***比特的Mb×(Nb-Mb)的块A和对应于校验比特的Mb×Mb的块B,对于所述基础矩阵,则有K1个第一类上下相邻对和有K2个第二类上下相邻对,其中,K0=K1+K2,K0是大于等于6*Mb的正整数,K2为大于等于1且小于等于2*Mb的正整数,
上下相邻对为每个基础矩阵中两个对应非零方阵的元素{hbij,hb((i+1)modMb)j}构成的集合,即所述基础矩阵的某一列中两个相邻的对应非零方阵的元素构成的集合,其中最后一行定义为第一行的上一行,
所述第一类上下相邻对为(hbij-hb((i+1)mod Mb)j)mod Q=a的同余上下相邻对,
所述第二类上下相邻对为(hbij-hb((i+1)mod Mb)j)mod Q=b的同余上下相邻对,
其中,hbij表示所述基础矩阵的第i行和j列的元素,其中,a和b不等,a和b是0到Q-1之间的整数,Q是扩展因子z的一个乘法因子,,i是所述基础矩阵的行索引,j是所述基础矩阵的列索引,i=0、1、...、Mb-1,j=0、1,...、Nb-1;
译码运算模块,用于确定所述基础矩阵和对应的扩展因子,完成从Nb×z比特的码字得到(Nb-Mb)×z比特信息数据的LDPC译码运算,其中,z是扩展因子,z是大于等于1的正整数。
优选的,若K2大于等于3,对于任何相邻的两行(x1行和(x1+1)modMb行)至多有三个第二类相邻对。其中,x1取值从0到Mb-1。
优选的,Q取值为以下任一:
2、3、4、5、6、7、8。
优选的,所述基础矩阵的第j列所有对应非零方阵的元素有Lj个,从上向下第一个元素是0,Lj是大于等于1的正整数,j=0、1、...、Nb-1。
优选的,所述译码运算模块包括:
基础矩阵的行更新单元,用于采用分层BP算法或者修正的最小和算法,对所述基础矩阵进行行更新,包括:
在奇数次迭代的时候,除了对第二类相邻对之外的元素对应的边信息进行更新,仅只对应任何第二类相邻对中一个元素的的边信息进行更新,
在偶数次迭代的时候,除了对第二类相邻对之外的元素对应的边信息进行更新,仅只对对应任何第二类相邻对的另一个元素的边信息进行更新,
所述边信息为校验节点到变量节点信息;
译码判决单元,用于使用所述边信息计算码字对数似然比,并进行硬判,并检验是否正确,若正确则输出正确码字,若错误则继续译码处理。
本发明提供了一种结构化LDPC码的编码方法、译码方法、编码装置和译码装置,通过确定编码或译码使用的包含K0个上下相邻对的基础矩阵,根据所述基础矩阵和其对应的扩展因子,完成编码或译码,实现了高流水线速度的LDPC编码和译码,解决了现有编译码器效率低下的问题。
附图说明
图1为数字通信***的模块图;
图2为本发明的实施例一提供的LDPC码的编码器的结构示意图;
图3为本发明的实施例一中所使用的基础矩阵示意图;
图4为本发明的实施例二提供的LDPC码的译码器的结构示意图;
图5为本发明的实施例二中所使用的基础矩阵示意图;
图6为本发明的实施例二提供的一种传统分层译码流水线示意图;
图7为本发明的实施例二提供的一种本发明分层译码流水线示意图;
图8为本发明的实施例三提供的一种结构化LDPC码的编码方法的流程图;
图9为本发明的实施例四提供的一种结构化LDPC码的译码方法的流程图;
图10为本发明的实施例五提供的一种结构化LDPC码的编码装置的结构示意图;
图11为本发明的实施例五提供的一种结构化LDPC码的译码装置的结构示意图。
具体实施方式
对于传统的结构化LDPC码,如果使用当前最流行的分层译码,对数似然比信息的读写影响了结构化LDPC码的流水线的排列。具体地,在高码率的时候,对于普通的结构化LDPC码码结构,译码器需要等待基础矩阵的一行的行更新完成处理以后,才可以开始下一级流水线,如果一级流水特别长,将严重降低译码器的效率。
但是,基础矩阵的可能组合方式的数量是极其巨大的,现有技术还没有一种减少等待时间的可行方法,也得不到满足这样要求的基础矩阵。
为了解决上述问题,本发明的实施例提供了一种结构化LDPC码的编码方法、译码方法、编码装置和译码装置。本发明的实施例从实用性考虑,对同一码率的多种码长,使用同一个基础矩阵,通常是对应于最大码长而生成的,同时在不同码长时对该基础矩阵进行修正,使得生成的编译码器可适用于码长可变的场合。但本发明不局限于此,也可适用于对每一个码长采用一个基础矩阵的方式。
下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
实施例一
本发明实施例提供了一种数字通信中结构化低密度奇偶校验码LDPC的编码装置,其结构如图2所示,至少包括处理器202和存储器201。
所述存储器201,用于至少存储编码使用的有K0个上下相邻对基础矩阵和参数。
对于每个基础矩阵Hb,若不同的上下相邻对有K0个,则有K1个第一类上下相邻对和有K2个第二类上行相邻对,其中,K0=K1+K2,K0是大于等于6*Mb的正整数,K2大于等于0且小于等于2*Mb的正整数。
需要指出存储器还可能存储了没有上下相邻对基础矩阵的情况,然后再用这些矩阵编码,因为不属于本发明保护范围,所以在本发明中没有进行描述。
进一步,若K2大于等于3,对于任何相邻的两行(x1行和(x1+1)modMb行)至多有三个第二类相邻对其中,x1和x2取值从0到Mb-1。
其中,上下相邻对定义为每个基础矩阵Hb中两个对应非零方阵的元素{hbij,hb((i+1)mod Mb)j}构成的集合,即基础矩阵的某一列中两个相邻的对应非零方阵的元素构成的集合,其中最后一行定义为第一行的上一行。第一类上下相邻对定义为(hbij-hb((i+1)mod Mb)j)mod Q=a的同余上下相邻对,第二类上下相邻对定义为(hbij-hb((i+1)mod Mb)j)mod Q=b的同余上下相邻对。
基础矩阵Hb的第j列所有对应非零方阵的元素有Lj个,从上向下第一个元素是0,Lj是大于等于1的正整数,j=0、1、...、Nb-1。需要指出,本发明不局限这种方式,还可以是最后一个元素为0,还可以任意元素是0。这些方式都可以保证,如果采用分层译码,可以不使用循环移位逆网络,可以明显减少路由开销,取得有益效果。
所述处理器202,用于确定所述基础矩阵和扩展因子z,完成从(Nb-Mb)×z比特的源数据得到Nb×z比特码字的LDPC编码运算。
其中,hbij表示一个基础矩阵的第i行和j列的元素,其中,a和b不等,a和b是0到Q-1之间的整数,Q是扩展因子Z的一个乘法因子,第j列的列重指Hb的第j列所有对应非零方阵的元素个数,i是Hb的行索引,j是Hb的列索引,i=0、1、...、Mb-1,j=0、1,...、Nb-1,z是扩展因子,z是大于等于1的正整数;
进一步,K2的典型取值以下之一:1、2、3、...、12。
进一步,Q的典型取值以下之一:2、3、4、5、6、7和8。
下面给一个更加具体的例子,符合以上描述要求的基础矩阵Hb如图3所示。
对于图3所示基础矩阵,设参数该矩阵对应码率为3/4,矩阵行数为Mb=4,矩阵列数Nb=16,Q=2,K2=4,K0=47,K1=43,a=0,b=1。该基础矩阵对应扩展因子z=42。对于扩展因子z=42=2*3*7,所以Q=2满足是扩展因子z的乘法因子。
对于图3所示基础矩阵Hb,若不同的上下相邻对有K0=47个,则有K1=43个第一类上下相邻对和有K2=3个第二类上行相邻对,显然满足:K0=K1+K2,K0是大于24的正整数,K2小于8的正整数。
其中,第一类上下相邻对定义为(hbij-hb((i+1)mod Mb)j)mod2=0的上下相邻对,如图虚线框所示,对于一列最上面半个虚框和最下面半个虚框构成一个完整的虚框;第二类上下相邻对定义为(hbij-hb((i+1)mod Mb)j)mod2=1的上下相邻对,如图实线框所示。
以上所给出的矩阵中,最上面为列索引,最左边为行索引,A部分矩阵为***位部分矩阵,B部分为校验位部分矩阵,矩阵中元素值-1对应全0方阵,元素值是非-1对应于方阵循环移位相应值后的矩阵。
根据以上所描述的特征,上下相邻对基础矩阵的某一列中两个相邻的对应非零方阵的元素构成的集合,具体如图中矩形线框内的2元素。其中虚线框为第一类上下相邻对,对应a=0,实线框为第二类上下相邻对,对应b=1。
可以看出,存在4个第二类上下相邻对,以上的基础校验矩阵中对于相邻的两行不存在2个以上的第二类上下相邻对,例如:第0和第1行,只有一个;第1和第2行,只有一个;第2和3行,有2个;第3行和第0行,没有。
此外,基础矩阵Hb的所有列中第一对应非零方阵的元素都是0。此时,循环移位网络只需要完成循环移位差值即可,比如对于第一列,循环移位网络只需要实现移位30-0、20-30、36-20、0-36即可,对应第一个基础矩阵的对数似然比信息在完成一次完整LDPC迭代后回到顺序位置,就可以硬判决了,如果正确则输出,否则继续迭代。此时,具有本发明矩阵结构的LDPC分层译码器不需要循环移位逆网络,同传统方案比较,路由减半。
进一步地,上述编码器还可具有以下特点:还包括扩展模块,用于根据扩展因子和基本置换矩阵对所述基础矩阵进行扩展,得到(M×z)×(N×z)低密度奇偶校验码的奇偶校验矩阵,所述译码运算模块是基于所述基础矩阵扩展得到的该奇偶校验矩阵进行编码运算。
本发明实施例则通过提出的基础矩阵的结构对信息比特进行LDPC编码,可以产生LDPC码字,这样的LDPC码字经过调制等模块以后发送到信道,接收端接收信号后进行解调等处理,产生接收的LDPC码字,接收LDPC码字将送到LDPC译码器。这样LDPC码字可以保证译码的流水线速度取得了提升的效果,即译码器处理速度取得了提升的效果。这就有效地提高了LDPC码的效率,加速了译码速度。进一步地,本发明提出的基础矩阵的结构通过允许不使用逆循环移位网络(用于写会存储)还可以使得交换网络减少,同样进一步减少硬件复杂度。
实施例二
本发明实施例提供了一种数字通信中结构化低密度奇偶校验码LDPC的译码装置,其结构如图4所示,至少包括处理器402和存储器401。
所述存储器401,用于至少存储编码使用的有K0个上下相邻对基础矩阵和参数。所述的基础校验矩阵包括以下特征:
对于每个基础矩阵Hb,若不同的上下相邻对有K0个,则有K1个第一类上下相邻对和有K2个第二类上行相邻对,其中,K0=K1+K2,K0是大于等于6*Mb的正整数,K2大于等于1且小于等于2*Mb的正整数。
进一步,若K2大于等于3,对于任何相邻的两行(x1行和(x1+1)modMb行)至多有三个第二类相邻对,其中,x1和x2取值从0到Mb-1。
其中,上下相邻对定义为每个基础矩阵Hb中两个对应非零方阵的元素{hbij,hb((i+1)mod Mb)j}构成的集合,即基础矩阵的某一列中两个相邻的对应非零方阵的元素构成的集合,其中最后一行定义为第一行的上一行。第一类上下相邻对定义为(hbij-hb((i+1)mod Mb)j)mod Q=a的同余上下相邻对,第二类上下相邻对定义为(hbij-hb((i+1)mod Mb)j)mod Q=b的同余上下相邻对。
基础矩阵Hb的第j列所有对应非零方阵的元素有Lj个,从上向下第一个元素是0,Lj是大于等于1的正整数,j=0、1、...、Nb-1。
所述一个处理器402,用于根据所述基础矩阵和扩展因子z,完成从Nb×z比特的码字得到(Nb-Mb)×z比特信息数据的LDPC译码运算。
其中,hbij表示一个基础矩阵的第i行和j列的元素,其中,a和b不等,a和b是0到Q-1之间的整数,Q是扩展因子Z的一个乘法因子,第j列的列重指Hb的第j列所有对应非零方阵的元素个数,i是Hb的行索引,j是Hb的列索引,i=0、1、...、Mb-1,j=0、1,...、Nb-1,z是扩展因子,z是大于等于1的正整数;
进一步,K2的典型取值以下之一:1、2、3、...、12。
进一步,Q的典型取值以下之一:2、3、4、5、6、7和8。
下面给一个更加具体的例子,符合以上描述要求的基础矩阵Hb如图5所示。
对于图5所示的基础矩阵,设参数该矩阵对应码率为3/4,矩阵行数为Mb=4,矩阵列数Nb=16,Q=2,K2=4,K0=47,K1=43,a=0,b=1。该基础矩阵对应扩展因子z=42。对于扩展因子z=42=2*3*7,所以Q=2满足是扩展因子z的乘法因子。
对于图5所示的基础矩阵Hb,不同的上下相邻对有K0=47个,则有K1=43个第一类上下相邻对和有K2=3个第二类上行相邻对,显然满足:K0=K1+K2,K0是大于24的正整数,K2小于8的正整数。
其中,第一类上下相邻对定义为(hbij-hb((i+1)mod Mb)j)mod2=0的上下相邻对,如图虚线框所示,对于一列最上面半个虚框和最下面半个虚框构成一个完整的虚框;第二类上下相邻对定义为(hbij-hb((i+1)mod Mb)j)mod2=1的上下相邻对,如图5中实线框所示。
以上所给出的矩阵中,最上面为列索引,最左边为行索引,A部分矩阵为***位部分矩阵,B部分为校验位部分矩阵,矩阵中元素值-1对应全0方阵,元素值是非-1对应于方阵循环移位相应值后的矩阵。其中,
根据以上所描述的特征,上下相邻对基础矩阵的某一列中两个相邻的对应非零方阵的元素构成的集合,具体如图5中矩形线框内的2元素。其中虚线框为第一类上下相邻对,对应a=0,实线框为第二类上下相邻对,对应b=1。
可以看出,存在4个第二类上下相邻对,以上的基础校验矩阵中对于相邻的两行不存在2个以上的第二类上下相邻对,例如:第0和第1行,只有一个;第1和第2行,只有一个;第2和3行,有2个;第3行和第0行,没有。
此外,基础矩阵Hb的所有列中第一对应非零方阵的元素都是0。此时,循环移位网络只需要完成循环移位差值即可,比如对于第一列,循环移位网络只需要实现移位30-0、20-30、36-20、0-36即可,对应第一个基础矩阵的对数似然比信息在完成一次完整LDPC迭代后回到顺序位置,就可以硬判决了,如果正确则输出,否则继续迭代。此时,具有本发明矩阵结构的LDPC分层译码器不需要循环移位逆网络,同传统方案比较,路由减半。进一步,所述的处理器的译码采用分层BP算法或者修正的最小和算法,对基础矩阵进行行更新,在奇数次迭代的时候,除了对第二类相邻对之外的元素对应的边信息进行更新,仅只对应任何第二类相邻对中一个元素的的边信息(校验节点到变量节点信息)进行更新;在偶数次迭代的时候,除了对第二类相邻对之外的元素对应的边信息进行更新,仅只对对应任何第二类相邻对的另一个元素的边信息(校验节点到变量节点信息)进行更新。
下面进一步说明本发明的码结构对译码的有益效果。
假设译码器的并行度为parallel=21,码字比特序列每zf=42比特有一个对数似然比LLR的存储,则出现了16个LLR的存储,每个存储对应一个基础矩阵的列。对于每个LLR存储,包括wordnum=zf/parallel=2个字(word),一个字存储了对应基础矩阵一列的42个比特中奇数比特,另一个字存储了偶数比特。其中,zf为扩展因子。
译码器译码时候,对于每一个层layernum(从0到译码允许的最大层),按照下面的公式选择奇偶校验矩阵H的21行进行更新:
rowind=RowindHb*zf+
mod(layernummod,wordnum):wordnum:(RowindHb+1)*zf-1;
其中,layernummod=mod(layernum,Totallayers),RowindHb=fix(layernummod*parallel/zf);Totallayers=Mb*zf/parallel=8;
对于分层译码器在第一时刻t0对0、2、..、40行进行行更新,完成第一层的分层译码;译码器在第二时刻t1对1、3、..、41行进行行更新,完成第二层的分层译码;译码器在第三时刻t2对42、44、..、82行进行行更新,完成第三层的分层译码;译码器在第四时刻t3对43、45、..、83行进行行更新,完成第四层的分层译码;译码器在第五时刻t4对84、86、..、124行进行行更新,完成第五层的分层译码;译码器在第六时刻t5对85、87、..、125行进行行更新,完成第六层的分层译码;译码器在第七时刻t6对126、128、..、166行进行行更新,完成第七层的分层译码;译码器在第八时刻t7对127、129、..、167行进行行更新,完成第八层的分层译码;于是,就完成了LDPC码一次完整译码,如果不收敛,可以继续重复上述的过程,直至译码成功或者直到译码失败且达到最大允许次数。
对于传统的译码器,需要等待第二层译码流水完全完成以后,才可以开始第三层的分层译码,这里存在一个很长的等待时间。同样,需要等待第四层译码流水完全完成以后,才可以开始第五层的分层译码,这里存在一个很长的等待时间。同样,需要等待第六层译码流水完全完成以后,才可以开始第七层的分层译码,这里存在一个很长的等待时间。同样,需要等待第六层译码流水完全完成以后,才可以开始第七层的分层译码,这里存在一个很长的等待时间。依次类推,这些等待时间使得LDPC的流水线产生了很大的延迟,极大地降低了分层LDPC码译码速度。如图10,假设每个层LDPC,用一个时钟读,一个时钟处理,一个时钟写,每个时钟占用T的时间,完成完整的LDPC译码需要16*T个时间。
由于我们的设计避免跨层时候上一个流水使用的word一定和下一个流水使用的word不同,且少量冲突的地方采用分时处理,如图11所示,只需要13*T个时间;事实上从整体来看LDPC译码每16*T个时间可以节约4*T个时间。
对于本发明实施例,并行度可以选择为7,则有6个word,如果先处理奇数word后处理偶数word,进行类似于图4和图5的排列,从整体来看LDPC需要32*T个时间,本发明译码可以节约12*T个时间。效果更加明显。
对于本发明实施例,并行度可以扩展到42,从0、2、..、40行和42、44、..、82可以同时译码,因为这些行需要相同地址的数据。另外,还可以排流水线,不过不是简单的分层译码算法,但是节约时间效果更加明显。
对于本发明实施例,并行度可以扩展到84,从0、2、..、40行和42、44、..、82和84、86、..、124和126、128、..、166行可以同时译码,因为这些行需要相同地址的数据。另外,还可以排流水线,不过不是简单的分层译码算法,但是节约时间效果更加明显。
所以,本发明的结构可以支持非常高或者比较灵活的并行度,满足适合于超高速译码,从而达到Gbps的译码需求。本实施例则通过提出的基础矩阵的结构对信息比特进行LDPC译码,LDPC译码器接收LDPC码字。这样LDPC译码器可以保证译码的流水线速度取得了提升的效果,即译码器处理速度取得了提升的效果。这就有效地提高了LDPC码的效率,加速了译码速度。进一步地,本发明提出的基础矩阵的结构通过允许不使用逆循环移位网络(用于写会存储)还可以使得交换网络减少,同样进一步减少硬件复杂度。
实施例三
本发明实施例提供了一种结构化LDPC码的编码方法,使用该方法完成LDPC编码的流程如图8所示,包括:
步骤801、确定编码使用的包含K0个上下相邻对的基础矩阵;
本步骤中,所述基础矩阵包括对应于***比特的Mb×(Nb-Mb)的块A和对应于校验比特的Mb×Mb的块B,对于所述基础矩阵,则有K1个第一类上下相邻对和有K2个第二类上下相邻对,其中,K0=K1+K2,K0是大于等于6*Mb的正整数,K2是大于等于0且小于等于2*Mb的正整数,上下相邻对为每个基础矩阵中两个对应非零方阵的元素{hbij,hb((i+1)mod Mb)j}构成的集合,即基础矩阵的某一列中两个相邻的对应非零方阵的元素构成的集合,其中最后一行为第一行的上一行,
所述第一类上下相邻对为(hbij-hb((i+1)mod Mb)j)mod Q=a的同余上下相邻对,
所述第二类上下相邻对为(hbij-hb((i+1)mod Mb)j)mod Q=b的同余上下相邻对,
其中,hbij表示所述基础矩阵的第i行和j列的元素,其中,a和b不等,a和b是0到Q-1之间的整数,Q是扩展因子z的一个乘法因子,第j列的列重指所述基础矩阵的第j列所有对应非零方阵的元素个数,i是所述基础矩阵的行索引,j是所述基础矩阵的列索引,i=0、1、...、Mb-1,j=0、1,...、Nb-1。
若K2大于等于3,对于任何相邻的两行(x1行和(x1+1)mod Mb行)至多有三个第二类相邻对,其中,行索引x1取值从0到Mb-1。
Q取值为以下任一:
2、3、4、5、6、7、8。
所述基础矩阵的第j列所有对应非零方阵的元素有Lj个,从上向下第一个元素是0,Lj是大于等于1的正整数,j=0、1、...、Nb-1。
K0的取值为以下任一:
1、2、3、4、5、6、7、8、9、10、11、12。
步骤802、根据所述基础矩阵和其对应的扩展因子,完成从(Nb-Mb)×z比特的源数据得到Nb×z比特码字的LDPC编码运算;
其中z为扩展因子,z是大于等于1的正整数。
实施例四
本发明实施例提供了一种结构化LDPC码的编码方法,使用该方法完成LPDC编码的流程如图9所示,包括:
步骤901、确定译码使用的包含K0个上下相邻对的基础矩阵;
所述基础矩阵包括对应于***比特的Mb×(Nb-Mb)的块A和对应于校验比特的Mb×Mb的块B,对于所述基础矩阵,则有K1个第一类上下相邻对和有K2个第二类上下相邻对,其中,K0=K1+K2,K0是大于等于6*Mb的正整数,K2为大于等于1且小于等于2*Mb的正整数,
上下相邻对为每个基础矩阵中两个对应非零方阵的元素{hbij,hb((i+1)modMb)j}构成的集合,即所述基础矩阵的某一列中两个相邻的对应非零方阵的元素构成的集合,其中最后一行定义为第一行的上一行,
所述第一类上下相邻对为(hbij-hb((i+1)mod Mb)j)mod Q=a的同余上下相邻对,
所述第二类上下相邻对为(hbij-hb((i+1)mod Mb)j)mod Q=b的同余上下相邻对,
其中,hbij表示所述基础矩阵的第i行和j列的元素,其中,a和b不等,a和b是0到Q-1之间的整数,Q是扩展因子z的一个乘法因子,,第j列的列重指所述基础矩阵的第j列所有对应非零方阵的元素个数,i是所述基础矩阵的行索引,j是所述基础矩阵的列索引,i=0、1、...、Mb-1,j=0、1,...、Nb-1。
若K2大于等于3,对于任何相邻的两行(x1行和(x1+1)mod Mb行)至多有三个第二类相邻对。其中,x1取值从0到Mb-1。
Q取值为以下任一:
2、3、4、5、6、7、8。
所述基础矩阵的第j列所有对应非零方阵的元素有Lj个,从上向下第一个元素是0,Lj是大于等于1的正整数,j=0、1、...、Nb-1。
步骤902、根据所述基础矩阵和对应的扩展因子,完成从Nb×z比特的码字得到(Nb-Mb)×z比特信息数据的LDPC译码运算;
其中,z是扩展因子,z是大于等于1的正整数。
本步骤具体包括:
1、采用分层BP算法或者修正的最小和算法,对所述基础矩阵进行行更新,包括:
在奇数次迭代的时候,除了对第二类相邻对之外的元素对应的边信息进行更新,仅只对应任何第二类相邻对中一个元素的的边信息进行更新,
在偶数次迭代的时候,除了对第二类相邻对之外的元素对应的边信息进行更新,仅只对对应任何第二类相邻对的另一个元素的边信息进行更新,
所述边信息为校验节点到变量节点信息;
2、使用所述边信息计算码字对数似然比,并进行硬判,并检验是否正确,若正确则输出正确码字,若错误则继续译码处理。
实施例五
本发明实施例提供了一种结构化LDPC码的编码装置,其结构如图10所示,包括:
基础矩阵存储模块1001,用于确定编码使用的包含K0个上下相邻对的基础矩阵,所述基础矩阵包括对应于***比特的Mb×(Nb-Mb)的块A和对应于校验比特的Mb×Mb的块B,对于所述基础矩阵,则有K1个第一类上下相邻对和有K2个第二类上下相邻对,其中,K0=K1+K2,K0是大于等于6*Mb的正整数,K2是大于等于0且小于等于2*Mb的正整数,上下相邻对为每个基础矩阵中两个对应非零方阵的元素{hbij,hb((i+1)mod Mb)j}构成的集合,即基础矩阵的某一列中两个相邻的对应非零方阵的元素构成的集合,其中最后一行为第一行的上一行,
所述第一类上下相邻对为(hbij-hb((i+1)mod Mb)j)mod Q=a的同余上下相邻对,
所述第二类上下相邻对为(hbij-hb((i+1)mod Mb)j)mod Q=b的同余上下相邻对,
其中,hbij表示所述基础矩阵的第i行和j列的元素,其中,a和b不等,a和b是0到Q-1之间的整数,Q是扩展因子z的一个乘法因子,第j列的列重指所述基础矩阵的第j列所有对应非零方阵的元素个数,i是所述基础矩阵的行索引,j是所述基础矩阵的列索引,i=0、1、...、Mb-1,j=0、1,...、Nb-1;
编码运算模块1002,用于根据所述基础矩阵和其对应的扩展因子,完成从(Nb-Mb)×z比特的源数据得到Nb×z比特码字的LDPC编码运算,其中z为扩展因子,z是大于等于1的正整数。
优选的,若K2大于等于3,对于任何相邻的两行(x1行和(x1+1)modMb行)至多有三个第二类相邻对,其中,行索引x1取值从0到Mb-1。
优选的,Q取值为以下任一:
2、3、4、5、6、7、8。
优选的,所述基础矩阵的第j列所有对应非零方阵的元素有Lj个,从上向下第一个元素是0,Lj是大于等于1的正整数,j=0、1、...、Nb-1。
优选的,K0的取值为以下任一:
1、2、3、4、5、6、7、8、9、10、11、12。
本发明实施例还提供了一种结构化LDPC码的译码装置,其结构如图11所示,包括:
基础矩阵存储模块1101,用于确定译码使用的包含K0个上下相邻对的基础矩阵,所述基础矩阵包括对应于***比特的Mb×(Nb-Mb)的块A和对应于校验比特的Mb×Mb的块B,对于所述基础矩阵,则有K1个第一类上下相邻对和有K2个第二类上下相邻对,其中,K0=K1+K2,K0是大于等于6*Mb的正整数,K2为大于等于1且小于等于2*Mb的正整数,
上下相邻对为每个基础矩阵中两个对应非零方阵的元素{hbij,hb(i+1modMb)j}构成的集合,即所述基础矩阵的某一列中两个相邻的对应非零方阵的元素构成的集合,其中最后一行定义为第一行的上一行,
所述第一类上下相邻对为(hbij-hb((i+1)mod Mb)j)mod Q=a的同余上下相邻对,
所述第二类上下相邻对为(hbij-hb((i+1)mod Mb)j)mod Q=b的同余上下相邻对,
其中,hbij表示所述基础矩阵的第i行和j列的元素,其中,a和b不等,a和b是0到Q-1之间的整数,Q是扩展因子z的一个乘法因子,,第j列的列重指所述基础矩阵的第j列所有对应非零方阵的元素个数,i是所述基础矩阵的行索引,j是所述基础矩阵的列索引,i=0、1、...、Mb-1,j=0、1,...、Nb-1;
译码运算模块1102,用于根据所述基础矩阵和对应的扩展因子,完成从Nb×z比特的码字得到(Nb-Mb)×z比特信息数据的LDPC译码运算,其中,z是扩展因子,z是大于等于1的正整数。
优选的,若K2大于等于3,对于任何相邻的两行(x1行和(x1+1)modMb行)至多有三个第二类相邻对。其中,x1取值从0到Mb-1。
优选的,Q取值为以下任一:
2、3、4、5、6、7、8。
优选的,所述基础矩阵的第j列所有对应非零方阵的元素有Lj个,从上向下第一个元素是0,Lj是大于等于1的正整数,j=0、1、...、Nb-1。
优选的,所述译码运算模块1102包括:
基础矩阵的行更新单元11021,用于采用分层BP算法或者修正的最小和算法,对所述基础矩阵进行行更新,包括:
在奇数次迭代的时候,除了对第二类相邻对之外的元素对应的边信息进行更新,仅只对应任何第二类相邻对中一个元素的的边信息进行更新,
在偶数次迭代的时候,除了对第二类相邻对之外的元素对应的边信息进行更新,仅只对对应任何第二类相邻对的另一个元素的边信息进行更新,
所述边信息为校验节点到变量节点信息;
译码判决单元11022,用于使用所述边信息计算码字对数似然比,并进行硬判,并检验是否正确,若正确则输出正确码字,若错误则继续译码处理。
本发明的实施例提供了一种结构化LDPC码的编码方法、译码方法、编码装置和译码装置。通过确定编码或译码使用的包含K0个上下相邻对的基础矩阵,根据所述基础矩阵和其对应的扩展因子,完成编码或译码,实现了高流水线速度的LDPC编码和译码,解决了现有编译码器效率低下的问题。本发明的实施例提供的技术方案可以应用于数字通信***中数据传输的纠错编码技术,得到一种效率提升或者复杂度减少的LDPC码,特别适用超高速的场景。
本领域普通技术人员可以理解上述实施例的全部或部分步骤可以使用计算机程序流程来实现,所述计算机程序可以存储于一计算机可读存储介质中,所述计算机程序在相应的硬件平台上(如***、设备、装置、器件等)执行,在执行时,包括方法实施例的步骤之一或其组合。
可选地,上述实施例的全部或部分步骤也可以使用集成电路来实现,这些步骤可以被分别制作成一个个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
上述实施例中的各装置/功能模块/功能单元可以采用通用的计算装置来实现,它们可以集中在单个的计算装置上,也可以分布在多个计算装置所组成的网络上。
上述实施例中的各装置/功能模块/功能单元以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。上述提到的计算机可读取存储介质可以是只读存储器,磁盘或光盘等。
任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求所述的保护范围为准。
Claims (20)
1.一种结构化LDPC码的编码方法,其特征在于,包括:
确定编码使用的包含K0个上下相邻对的基础矩阵,所述基础矩阵包括对应于***比特的Mb×(Nb-Mb)的块A和对应于校验比特的Mb×Mb的块B,对于所述基础矩阵,则有K1个第一类上下相邻对和有K2个第二类上下相邻对,其中,K0=K1+K2,K0是大于等于6*Mb的正整数,K2是大于等于0且小于等于2*Mb的正整数,上下相邻对为所述基础矩阵中两个对应非零方阵的元素{hbij,hb((i+1)mod Mb)j}构成的集合,即基础矩阵的某一列中两个相邻的对应非零方阵的元素构成的集合,其中最后一行为第一行的上一行,
所述第一类上下相邻对为(hbij-hb((i+1)mod Mb)j)mod Q=a的同余上下相邻对,
所述第二类上下相邻对为(hbij-hb((i+1)mod Mb)j)mod Q=b的同余上下相邻对,
其中,hbij表示所述基础矩阵的第i行和j列的元素,其中,a和b不等,a和b是0到Q-1之间的整数,Q是扩展因子z的一个乘法因子,i是所述基础矩阵的行索引,j是所述基础矩阵的列索引,i=0、1、…、Mb-1,j=0、1,…、Nb-1;
其中,Q=2,a=0,b=1;
根据所述基础矩阵和其对应的扩展因子,完成从(Nb-Mb)×z比特的源数据得到Nb×z比特码字的LDPC编码运算,其中z为扩展因子,z是大于等于1的正整数。
2.根据权利要求1所述的结构化LDPC码的编码方法,其特征在于,
若K2大于等于3,对于任何相邻的两行(x1行和(x1+1)mod Mb行)至多有三个第二类相邻对,其中,行索引x1取值从0到Mb-1。
3.根据权利要求1所述的结构化LDPC码的编码方法,其特征在于,Q取值为以下任一:
2、3、4、5、6、7、8。
4.根据权利要求1所述的结构化LDPC码的编码方法,其特征在于,所述基础矩阵的第j列所有对应非零方阵的元素有Lj个,从上向下第一个元素是0,Lj是大于等于1的正整数,j=0、1、…、Nb-1。
5.根据权利要求1所述的结构化LDPC码的编码方法,其特征在于,K0的取值为以下任一:
1、2、3、4、5、6、7、8、9、10、11、12。
6.一种结构化LDPC码的译码方法,其特征在于,包括:
确定译码使用的包含K0个上下相邻对的基础矩阵,所述基础矩阵包括对应于***比特的Mb×(Nb-Mb)的块A和对应于校验比特的Mb×Mb的块B,对于所述基础矩阵,则有K1个第一类上下相邻对和有K2个第二类上下相邻对,其中,K0=K1+K2,K0是大于等于6*Mb的正整数,K2为大于等于1且小于等于2*Mb的正整数,
上下相邻对为每个基础矩阵中两个对应非零方阵的元素{hbij,hb((i+1)mod Mb)j}构成的集合,即所述基础矩阵的某一列中两个相邻的对应非零方阵的元素构成的集合,其中最后一行定义为第一行的上一行,
所述第一类上下相邻对为(hbij-hb((i+1)mod Mb)j)mod Q=a的同余上下相邻对,
所述第二类上下相邻对为(hbij-hb((i+1)mod Mb)j)mod Q=b的同余上下相邻对,
其中,hbij表示所述基础矩阵的第i行和j列的元素,其中,a和b不等,a和b是0到Q-1之间的整数,Q是扩展因子z的一个乘法因子,i是所述基础矩阵的行索引,j是所述基础矩阵的列索引,i=0、1、…、Mb-1,j=0、1,…、Nb-1;
其中,Q=2,a=0,b=1;
根据所述基础矩阵和对应的扩展因子,完成从Nb×z比特的码字得到(Nb-Mb)×z比特信息数据的LDPC译码运算,其中,z是扩展因子,z是大于等于1的正整数。
7.根据权利要求6所述的结构化LDPC码的译码方法,其特征在于,
若K2大于等于3,对于任何相邻的两行(x1行和(x1+1)mod Mb行)至多有三个第二类相邻对,其中,x1取值从0到Mb-1。
8.根据权利要求6所述的结构化LDPC码的译码方法,其特征在于,Q取值为以下任一:
2、3、4、5、6、7、8。
9.根据权利要求6所述的结构化LDPC码的译码方法,其特征在于,所述基础矩阵的第j列所有对应非零方阵的元素有Lj个,从上向下第一个元素是0,Lj是大于等于1的正整数,j=0、1、…、Nb-1。
10.根据权利要求6所述的结构化LDPC码的译码方法,其特征在于,根据所述基础矩阵和对应的扩展因子,完成从Nb×z比特的码字得到(Nb-Mb)×z比特信息数据的LDPC译码运算包括:
采用分层BP算法或者修正的最小和算法,对所述基础矩阵进行行更新,包括:
在奇数次迭代的时候,除了对第二类相邻对之外的元素对应的边信息进行更新,仅只对应任何第二类相邻对中一个元素的的边信息进行更新,
在偶数次迭代的时候,除了对第二类相邻对之外的元素对应的边信息进行更新,仅只对对应任何第二类相邻对的另一个元素的边信息进行更新,
所述边信息为校验节点到变量节点信息;
使用所述边信息计算码字对数似然比,并进行硬判,并检验是否正确,若正确则输出正确码字,若错误则继续译码处理。
11.一种结构化LDPC码的编码装置,其特征在于,包括:
基础矩阵存储模块,用于至少存储编码使用的包含K0个上下相邻对的基础矩阵,所述基础矩阵包括对应于***比特的Mb×(Nb-Mb)的块A和对应于校验比特的Mb×Mb的块B,对于所述基础矩阵,则有K1个第一类上下相邻对和有K2个第二类上下相邻对,其中,K0=K1+K2,K0是大于等于6*Mb的正整数,K2是大于等于0且小于等于2*Mb的正整数,上下相邻对为每个基础矩阵中两个对应非零方阵的元素{hbij,hb((i+1)mod Mb)j}构成的集合,即基础矩阵的某一列中两个相邻的对应非零方阵的元素构成的集合,其中最后一行为第一行的上一行,
所述第一类上下相邻对为(hbij-hb((i+1)mod Mb)j)mod Q=a的同余上下相邻对,
所述第二类上下相邻对为(hbij-hb((i+1)mod Mb)j)mod Q=b的同余上下相邻对,
其中,hbij表示所述基础矩阵的第i行和j列的元素,其中,a和b不等,a和b是0到Q-1之间的整数,Q是扩展因子z的一个乘法因子,i是所述基础矩阵的行索引,j是所述基础矩阵的列索引,i=0、1、…、Mb-1,j=0、1,…、Nb-1;
其中,Q=2,a=0,b=1;
编码运算模块,用于确定所述基础矩阵和其对应的扩展因子,完成从(Nb-Mb)×z比特的源数据得到Nb×z比特码字的LDPC编码运算,其中z为扩展因子,z是大于等于1的正整数。
12.根据权利要求11所述的结构化LDPC码的编码装置,其特征在于,若K2大于等于3,对于任何相邻的两行(x1行和(x1+1)mod Mb行)至多有三个第二类相邻对,其中,行索引x1取值从0到Mb-1。
13.根据权利要求11所述的结构化LDPC码的编码装置,其特征在于,Q取值为以下任一:
2、3、4、5、6、7、8。
14.根据权利要求11所述的结构化LDPC码的编码装置,其特征在于,所述基础矩阵的第j列所有对应非零方阵的元素有Lj个,从上向下第一个元素是0,Lj是大于等于1的正整数,j=0、1、…、Nb-1。
15.根据权利要求11所述的结构化LDPC码的编码装置,其特征在于,K0的取值为以下任一:
1、2、3、4、5、6、7、8、9、10、11、12。
16.一种结构化LDPC码的译码装置,其特征在于,包括:
基础矩阵存储模块,用于至少存储译码使用的包含K0个上下相邻对的基础矩阵,所述基础矩阵包括对应于***比特的Mb×(Nb-Mb)的块A和对应于校验比特的Mb×Mb的块B,对于所述基础矩阵,则有K1个第一类上下相邻对和有K2个第二类上下相邻对,其中,K0=K1+K2,K0是大于等于6*Mb的正整数,K2为大于等于1且小于等于2*Mb的正整数,
上下相邻对为每个基础矩阵中两个对应非零方阵的元素{hbij,hb((i+1)mod Mb)j}构成的集合,即所述基础矩阵的某一列中两个相邻的对应非零方阵的元素构成的集合,其中最后一行定义为第一行的上一行,
所述第一类上下相邻对为(hbij-hb((i+1)mod Mb)j)mod Q=a的同余上下相邻对,
所述第二类上下相邻对为(hbij-hb((i+1)mod Mb)j)mod Q=b的同余上下相邻对,
其中,hbij表示所述基础矩阵的第i行和j列的元素,其中,a和b不等,a和b是0到Q-1之间的整数,Q是扩展因子z的一个乘法因子,i是所述基础矩阵的行索引,j是所述基础矩阵的列索引,i=0、1、…、Mb-1,j=0、1,…、Nb-1;
其中,Q=2,a=0,b=1;
译码运算模块,用于确定所述基础矩阵和对应的扩展因子,完成从Nb×z比特的码字得到(Nb-Mb)×z比特信息数据的LDPC译码运算,其中,z是扩展因子,z是大于等于1的正整数。
17.根据权利要求16所述的结构化LDPC码的译码装置,其特征在于,
若K2大于等于3,对于任何相邻的两行(x1行和(x1+1)mod Mb行)至多有三个第二类相邻对,其中,x1取值从0到Mb-1。
18.根据权利要求16所述的结构化LDPC码的译码装置,其特征在于,Q取值为以下任一:
2、3、4、5、6、7、8。
19.根据权利要求16所述的结构化LDPC码的译码装置,其特征在于,所述基础矩阵的第j列所有对应非零方阵的元素有Lj个,从上向下第一个元素是0,Lj是大于等于1的正整数,j=0、1、…、Nb-1。
20.根据权利要求16所述的结构化LDPC码的译码装置,其特征在于,所述译码运算模块包括:
基础矩阵的行更新单元,用于采用分层BP算法或者修正的最小和算法,对所述基础矩阵进行行更新,包括:
在奇数次迭代的时候,除了对第二类相邻对之外的元素对应的边信息进行更新,仅只对应任何第二类相邻对中一个元素的的边信息进行更新,
在偶数次迭代的时候,除了对第二类相邻对之外的元素对应的边信息进行更新,仅只对对应任何第二类相邻对的另一个元素的边信息进行更新,
所述边信息为校验节点到变量节点信息;
译码判决单元,用于使用所述边信息计算码字对数似然比,并进行硬判,并检验是否正确,若正确则输出正确码字,若错误则继续译码处理。
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410061163.0A CN104868925B (zh) | 2014-02-21 | 2014-02-21 | 结构化ldpc码的编码方法、译码方法、编码装置和译码装置 |
EP14882882.5A EP3110009B1 (en) | 2014-02-21 | 2014-08-25 | Encoding method, decoding method, encoding device and decoding device for structured ldpc codes |
KR1020167025944A KR101789959B1 (ko) | 2014-02-21 | 2014-08-25 | 구조적 ldpc의 인코딩 방법, 디코딩 방법, 인코딩 장치 및 디코딩 장치 |
EP20161633.1A EP3799313A1 (en) | 2014-02-21 | 2014-08-25 | Encoding method, decoding method, encoding device and decoding device for structured qc-ldpc codes |
JP2016553305A JP6555759B2 (ja) | 2014-02-21 | 2014-08-25 | 構造化されたldpcのコーディング方法、デコーディング方法、コーディング装置及びデコーディング装置 |
ES14882882T ES2788664T3 (es) | 2014-02-21 | 2014-08-25 | Procedimiento de codificación, procedimiento de descodificación, dispositivo de codificación y dispositivo de descodificación para códigos LDPC estructurados |
PCT/CN2014/085132 WO2015123979A1 (zh) | 2014-02-21 | 2014-08-25 | 结构化ldpc的编码方法、译码方法、编码装置和译码装置 |
US15/120,126 US10320419B2 (en) | 2014-02-21 | 2014-08-25 | Encoding method, decoding method, encoding device and decoding device for structured LDPC |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410061163.0A CN104868925B (zh) | 2014-02-21 | 2014-02-21 | 结构化ldpc码的编码方法、译码方法、编码装置和译码装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104868925A CN104868925A (zh) | 2015-08-26 |
CN104868925B true CN104868925B (zh) | 2019-01-22 |
Family
ID=53877603
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410061163.0A Active CN104868925B (zh) | 2014-02-21 | 2014-02-21 | 结构化ldpc码的编码方法、译码方法、编码装置和译码装置 |
Country Status (7)
Country | Link |
---|---|
US (1) | US10320419B2 (zh) |
EP (2) | EP3799313A1 (zh) |
JP (1) | JP6555759B2 (zh) |
KR (1) | KR101789959B1 (zh) |
CN (1) | CN104868925B (zh) |
ES (1) | ES2788664T3 (zh) |
WO (1) | WO2015123979A1 (zh) |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106160937B (zh) | 2015-04-15 | 2019-01-04 | 中兴通讯股份有限公司 | 一种实现码块分割的方法及装置 |
CN106921395B (zh) * | 2015-12-28 | 2021-09-28 | 北京忆芯科技有限公司 | Ldpc编码方法及其装置 |
CN107370490B (zh) | 2016-05-13 | 2023-07-14 | 中兴通讯股份有限公司 | 结构化ldpc的编码、译码方法及装置 |
CN107370489B (zh) | 2016-05-13 | 2020-07-28 | 中兴通讯股份有限公司 | 结构化ldpc码的数据处理方法及装置 |
WO2017193558A1 (zh) | 2016-05-13 | 2017-11-16 | 中兴通讯股份有限公司 | 结构化ldpc码的数据处理方法及装置 |
CN107733440B (zh) * | 2016-08-12 | 2022-12-02 | 中兴通讯股份有限公司 | 多边类型结构化ldpc处理方法及装置 |
US10270466B2 (en) * | 2016-08-15 | 2019-04-23 | Hughes Network Systems, Llc | LDPC performance improvement using SBE-LBD decoding method and LBD collision reduction |
CN107888198B (zh) | 2016-09-30 | 2023-05-26 | 中兴通讯股份有限公司 | 准循环ldpc编译码方法、装置及ldpc编译码器 |
CN108023598B (zh) * | 2016-11-03 | 2021-05-07 | 华为技术有限公司 | 编码方法、译码方法及无线通信设备 |
WO2018084735A1 (en) * | 2016-11-03 | 2018-05-11 | Huawei Technologies Co., Ltd. | Efficiently decodable qc-ldpc code |
CN108234064B (zh) * | 2016-12-09 | 2022-05-03 | 中兴通讯股份有限公司 | 准循环ldpc码数据处理装置及处理方法 |
CN108270448B (zh) * | 2017-01-04 | 2022-11-15 | 中兴通讯股份有限公司 | 准循环低密度奇偶校验编码方法及装置 |
CN108282246B (zh) * | 2017-01-05 | 2023-09-01 | 华为技术有限公司 | 信息处理的方法、设备和通信*** |
WO2018126914A1 (zh) * | 2017-01-09 | 2018-07-12 | 中兴通讯股份有限公司 | 准循环低密度奇偶校验码的编码方法及装置、存储介质 |
TWI652907B (zh) * | 2017-01-09 | 2019-03-01 | 聯發科技股份有限公司 | 用於新無線電低密度奇偶校驗碼的偏移係數和提升因數設計 |
CN106921396B (zh) * | 2017-03-02 | 2019-12-06 | 电子科技大学 | 一种用于ldpc码的混合译码方法 |
CN115065368A (zh) * | 2017-03-24 | 2022-09-16 | 中兴通讯股份有限公司 | 一种准循环低密度奇偶校验编码处理方法及装置 |
SG11202009379VA (en) | 2017-03-24 | 2020-10-29 | Zte Corp | Processing method and device for quasi-cyclic low density parity check coding |
US10680652B2 (en) * | 2017-05-04 | 2020-06-09 | Samsung Electronics Co., Ltd. | Method and apparatus for channel encoding and decoding in communication or broadcasting system |
WO2018201912A1 (zh) * | 2017-05-05 | 2018-11-08 | 电信科学技术研究院有限公司 | 低密度奇偶校验码的基础图选择方法及装置 |
CN108809509B (zh) * | 2017-05-05 | 2021-01-22 | 电信科学技术研究院 | 低密度奇偶校验码的基础图选择方法及装置 |
CN110754042B (zh) | 2017-06-15 | 2024-06-04 | 华为技术有限公司 | 信息处理的方法和通信装置 |
KR102378706B1 (ko) * | 2017-06-23 | 2022-03-28 | 삼성전자 주식회사 | 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치 |
US10623139B2 (en) * | 2017-06-23 | 2020-04-14 | Samsung Electronics Co., Ltd. | Method and apparatus for channel encoding and decoding in communication or broadcasting system |
CN109150196B (zh) * | 2017-06-27 | 2024-06-18 | 华为技术有限公司 | 信息处理的方法、装置和通信设备 |
CN109150197B (zh) | 2017-06-27 | 2024-05-14 | 华为技术有限公司 | 信息处理的方法、装置和通信设备 |
CN108712174B9 (zh) * | 2017-06-27 | 2019-08-30 | 华为技术有限公司 | 信息处理的方法、装置和通信设备 |
CN109391367B (zh) * | 2017-08-11 | 2022-12-30 | 华为技术有限公司 | 通信方法和装置 |
CN109951250B (zh) * | 2017-12-21 | 2021-01-08 | 华为技术有限公司 | 通信信号的ldpc编码方法和装置 |
CN109995379B (zh) * | 2017-12-29 | 2021-07-16 | 华为技术有限公司 | 处理信息的方法和装置 |
CN110661593B (zh) * | 2018-06-29 | 2022-04-22 | 中兴通讯股份有限公司 | 一种译码器、方法和计算机存储介质 |
CN111064475A (zh) * | 2018-10-16 | 2020-04-24 | 华为技术有限公司 | 基于低密度奇偶校验码的译码方法及装置 |
CN111224673A (zh) * | 2018-11-26 | 2020-06-02 | 中兴通讯股份有限公司 | 译码方法、装置及译码器 |
CN112583419B (zh) * | 2019-09-30 | 2024-06-18 | 华为技术有限公司 | 一种译码方法及装置 |
CN115250162A (zh) * | 2021-04-26 | 2022-10-28 | 华为技术有限公司 | 码字同步方法、接收器、网络设备及网络*** |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1641128A1 (en) * | 2004-09-22 | 2006-03-29 | STMicroelectronics N.V. | Method and device for delivering punctured code words encoded with a LDPC code. |
US7752521B2 (en) * | 2004-10-12 | 2010-07-06 | Nortel Networks Limited | Low density parity check (LDPC) code |
CN100550655C (zh) * | 2004-11-04 | 2009-10-14 | 中兴通讯股份有限公司 | 一种低密度奇偶校验码的编码器/译码器及其生成方法 |
KR101216075B1 (ko) | 2004-12-22 | 2012-12-26 | 엘지전자 주식회사 | 채널 코드를 이용한 복호화 및 복호화 장치 |
CN100486150C (zh) * | 2005-01-23 | 2009-05-06 | 中兴通讯股份有限公司 | 基于非正则低密度奇偶校验码的编译码器及其生成方法 |
US7774675B1 (en) * | 2005-12-05 | 2010-08-10 | Marvell International Ltd. | LDPC codes and expansion method |
US8028216B1 (en) * | 2006-06-02 | 2011-09-27 | Marvell International Ltd. | Embedded parity coding for data storage |
CN101212277A (zh) * | 2006-12-29 | 2008-07-02 | 中兴通讯股份有限公司 | 支持多协议标准的ldpc码译码装置 |
CN101217337B (zh) | 2007-01-01 | 2013-01-23 | 中兴通讯股份有限公司 | 一种支持递增冗余混合自动重传的低密度奇偶校验码编码装置和方法 |
CN101325474B (zh) * | 2007-06-12 | 2012-05-09 | 中兴通讯股份有限公司 | Ldpc码的混合自动请求重传的信道编码及调制映射方法 |
JP4487213B2 (ja) | 2007-10-19 | 2010-06-23 | ソニー株式会社 | 復号装置および方法、並びにプログラム |
US20090113256A1 (en) * | 2007-10-24 | 2009-04-30 | Nokia Corporation | Method, computer program product, apparatus and device providing scalable structured high throughput LDPC decoding |
US8392786B2 (en) * | 2008-05-07 | 2013-03-05 | Broadcom Corporation | LDPC coding systems for 60 GHz millimeter wave based physical layer extension |
US8370711B2 (en) * | 2008-06-23 | 2013-02-05 | Ramot At Tel Aviv University Ltd. | Interruption criteria for block decoding |
JP2010114862A (ja) * | 2008-10-10 | 2010-05-20 | Panasonic Corp | 符号化器、送信装置及び符号化方法 |
US8627166B2 (en) * | 2011-03-16 | 2014-01-07 | Samsung Electronics Co., Ltd. | LDPC code family for millimeter-wave band communications in a wireless network |
CN103220005B (zh) | 2013-05-02 | 2017-04-12 | 广州海格通信集团股份有限公司 | 用于生成ldpc码校验矩阵的方法、及该ldpc码编码方法 |
CN103236860B (zh) | 2013-05-02 | 2016-09-07 | 广州海格通信集团股份有限公司 | 用于生成ldpc码校验矩阵的方法、及该ldpc码编码方法 |
CN104202057B (zh) * | 2014-02-12 | 2019-08-16 | 中兴通讯股份有限公司 | 信息处理方法及装置 |
-
2014
- 2014-02-21 CN CN201410061163.0A patent/CN104868925B/zh active Active
- 2014-08-25 EP EP20161633.1A patent/EP3799313A1/en active Pending
- 2014-08-25 ES ES14882882T patent/ES2788664T3/es active Active
- 2014-08-25 US US15/120,126 patent/US10320419B2/en active Active
- 2014-08-25 EP EP14882882.5A patent/EP3110009B1/en active Active
- 2014-08-25 JP JP2016553305A patent/JP6555759B2/ja active Active
- 2014-08-25 KR KR1020167025944A patent/KR101789959B1/ko active IP Right Grant
- 2014-08-25 WO PCT/CN2014/085132 patent/WO2015123979A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
EP3799313A1 (en) | 2021-03-31 |
CN104868925A (zh) | 2015-08-26 |
JP6555759B2 (ja) | 2019-08-07 |
KR20160122261A (ko) | 2016-10-21 |
EP3110009B1 (en) | 2020-03-11 |
JP2017506469A (ja) | 2017-03-02 |
EP3110009A4 (en) | 2017-03-08 |
US20170230058A1 (en) | 2017-08-10 |
US10320419B2 (en) | 2019-06-11 |
ES2788664T3 (es) | 2020-10-22 |
EP3110009A1 (en) | 2016-12-28 |
WO2015123979A1 (zh) | 2015-08-27 |
KR101789959B1 (ko) | 2017-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104868925B (zh) | 结构化ldpc码的编码方法、译码方法、编码装置和译码装置 | |
US11323134B2 (en) | Encoding method and device and decoding method and device for structured LDPC | |
US10530392B2 (en) | Vertical layered finite alphabet iterative decoding | |
US8347170B2 (en) | Method and apparatus for performing decoding using LDPC code | |
US8601352B1 (en) | Efficient LDPC codes | |
CN103155421A (zh) | Ldpc多解码器架构 | |
CN109891753A (zh) | 用于编码和译码ldpc码的方法和装置 | |
CN104917536B (zh) | 一种支持低码率编码的方法及装置 | |
WO2018128560A1 (en) | Efficiently decodable qc-ldpc code | |
WO2011109084A1 (en) | Quasi-cyclic ldpc encoding and decoding for non-integer multiples of circulant size | |
WO2004019268A1 (en) | Methods and apparatus for encoding ldpc codes | |
JP2007215089A (ja) | 復号装置及び復号方法 | |
CN101262230A (zh) | 一种低密度奇偶校验码矩阵的设计方法 | |
CN102412844B (zh) | 一种ira类ldpc码的译码方法及译码装置 | |
CN105871385B (zh) | 一种ldpc卷积码构造方法 | |
US11075650B1 (en) | Sub-matrix reduction for quasi-cyclic LDPC codes | |
WO2017193614A1 (zh) | 结构化ldpc的编码、译码方法及装置 | |
US10727869B1 (en) | Efficient method for packing low-density parity-check (LDPC) decode operations | |
KR101335419B1 (ko) | Qc-ldpc 복호 방법 |
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 |