CN101924565B - Ldpc编码器、解码器、系统及方法 - Google Patents

Ldpc编码器、解码器、系统及方法 Download PDF

Info

Publication number
CN101924565B
CN101924565B CN201010276240.6A CN201010276240A CN101924565B CN 101924565 B CN101924565 B CN 101924565B CN 201010276240 A CN201010276240 A CN 201010276240A CN 101924565 B CN101924565 B CN 101924565B
Authority
CN
China
Prior art keywords
matrix
code
check
interleaver
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201010276240.6A
Other languages
English (en)
Other versions
CN101924565A (zh
Inventor
童文
M·贾
P·朱
J·马
C·罗耶
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nortel Networks Ltd
Apple Inc
Original Assignee
Apple Computer Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Computer Inc filed Critical Apple Computer Inc
Publication of CN101924565A publication Critical patent/CN101924565A/zh
Application granted granted Critical
Publication of CN101924565B publication Critical patent/CN101924565B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1191Codes on graphs other than LDPC codes
    • H03M13/1194Repeat-accumulate [RA] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • H03M13/1185Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, 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 using interleaving techniques

Abstract

提供了一种复杂性随着块大小的函数线性增加的LDPC编码器。它们可与包含具有不规则重复模式的重复器、交织器以及执行不规则累加的累加器的简单逻辑一起实现。

Description

LDPC编码器、解码器、系统及方法
本申请是申请日为2005年4月4日申请号为200580017442.6(PCT/CA2005/000505)的同名中国专利申请的分案申请。
技术领域
本发明涉及LDPC编码器、解码器、系统及方法。
背景技术
通过许多研究工作已证明LDPC(低密度奇偶校验)码的性能超过了Turbo码,并且甚至可仅低于香农限0.045dB。这种用于消息传递的算法允许并行计算,并且与Turbo解码算法相比只需很少的存储资源和计算开销。
该消息传递算法是基于线性块编码的奇偶校验矩阵H的特性的,包括:奇偶校验矩阵乘以任何有效码字将得到零向量。校验矩阵的另一重要特性是它是稀疏的,并且矩阵中单元的数目是码字大小的线性函数。因此,解码复杂性是码字的长度的线性函数。
高效的解码算法的有效性不能保证高效的编码算法的有效性。由线性块编码的理论可知,生成矩阵G通常用来对消息进行编码。生成矩阵G与校验矩阵H的关系为:HGT=0mod2。编码的复杂性与编码块按二次方增长。为了对长度为~103的码字进行编码,运算所需的次数为~106,因而对于实际的应用将是困难的。解决这个问题的一种方法是利用使用线性时间编码的码思想RA-IRA(重复累加-不规则重复累加)。
发明内容
根据一个广泛的方面,本发明提供了一种适于产生系统输出和奇偶校验输出的具有线性复杂性的LDPC编码器,该编码器包括:重复器,实现不规则的重复码;交织器,对重复器的输出执行交织;累加器,对交织器的输出执行累加并输出奇偶校验输出。
在一些实施例中,交织器为S随机或同余交织器。
在一些实施例中,累加器执行不规则累加。
在一些实施例中,累加器执行规则累加。
在一些实施例中,LDPC编码器还含有在重复器和交织器之间的并行到串行的功能。
在一些实施例中,LDPC编码器通过重复器的重复模式,以及交织器的序列改变来参数化。
在一些实施例中,重复模式及序列改变是最佳的。
在一些实施例中,s随机交织器为具有拒绝的半随机算法,向s预交织连续位提供不小于s的后交织距离,
在一些实施例中,LDPC码可由具有双对角线结构的奇偶校验矩阵来表示:
在一些实施例中,整个码以矩阵形式表示如下:
H = P 0,0 P 0,1 P 0,2 . . . P 0 , n b - 2 P 0 , n b - 1 P 1,0 P 1,1 P 1,2 . . . P 1 , n b - 2 P 1 , n b - 1 P 2,0 P 2,1 P 2,2 . . . P 2 , n b - 2 P 2 , n b - 1 . . . . . . . . . . . . . . . . . . P m b - 1,0 P m b - 1,1 P m b - 1,2 . . . P m b - 1 , n b - 2 P m b - 1 , n b - 1 = P H b
其中H为大小m×n的矩阵,n为码的长度且m为码中的奇偶校验位的数目,其中Pi,j为一组z×z右移单位矩阵或z×z零矩阵中的一个;矩阵H是由大小为mb×nb的二进制基矩阵Hb扩展的,其中n=z·nb且m=z·mb,并且z为正整数,该基矩阵通过将基矩阵中的每个1用z×z的右移单位矩阵,以及每个0用z×z的零矩阵代替来扩展;将Hb分成两部分,其中Hb1与系统位对应,且Hb2与奇偶校验位对应;又将Hb2分成两部分,其中向量hb具有奇权重,且H′b2具有其i行j列的矩阵元素在i=j,i=j+1时等于1,其余为0的双对角线结构:
其中hb(0)=1,hb(m-1)=1,且第三值hb(j)等于1,0<j<(mb-1)。
在一些实施例中,LDPC编码器还适于允许基于具有速率兼容校验节点处理器构造特征的普通编码器/解码器对一组不同码率的构造以及对与校验节点级联相匹配的基于压缩的速率的构造。
根据另一广范的方面,本发明提供了一种具有基矩阵结构的LDPC编码器,它避免了在扩展的矩阵中具有多个权重为1的列。
根据另一广范的方面,本发明提供了一种LDPC编码器,实现了可由具有如下双对角线结构的奇偶校验矩阵来表示的LDPC码:
在一些实施例中,整个码以矩阵形式表示如下:
H = P 0,0 P 0,1 P 0,2 . . . P 0 , n b - 2 P 0 , n b - 1 P 1,0 P 1,1 P 1,2 . . . P 1 , n b - 2 P 1 , n b - 1 P 2 , 0 P 2,1 P 2,2 . . . P 2 , n b - 2 P 2 , n b - 1 . . . . . . . . . . . . . . . . . . P m b - 1,0 P m b - 1,1 P m b - 1,2 . . . P m b - 1 , n b - 2 P m b - 1 , n b - 1 = P H b
根据另一广范的方面,本发明提供一种给定信息序列s,执行LDPC编码以确定奇偶校验序列P的方法,它含有以下步骤:将信息序列s分成z位的kb=nb-mb组,使该分组s被表示为u,
u=[u(0)u(1) … u(kb-1)],
其中u的每个元素是如下的列向量
u(i)=[siz siz+1 … s(i+1)z-1]T
使用模型矩阵Hb,在z的组中确定奇偶校验序列p-令分组的奇偶校验序列p用v表示,
v=[v(0) v(1) … v(mb-1)]
其中v的每个元素为如下的列向量
v(i)=[piz piz+1 … p(i+1)z-1]T
执行初始化步骤以确定v(0);
执行递归以根据v(i)确定v(i+1),0≤i≤mb-2;
在一些实施例中,v(0)的表达式可通过对Hb的行求和得到以获得
P p ( x , k b ) v ( 0 ) = Σ j = 0 k b - 1 Σ i = 0 m b - 1 P p ( i , j ) u ( j ) - - - ( 1 )
其中x为其条目为非负且不成对的hb的行索引,1≤x≤mb-2,,且pi表示按大小i的循环右移z×z单位矩阵。方程(1)通过乘求解v(0),且因为p(x,kb)表示循环移位。
在一些实施例中,递归根据下式规定:
v ( 1 ) = Σ j = 0 k b - 1 P p ( i , j ) u ( j ) + P p ( i , k b ) v ( 0 ) , i = 0 , - - - ( 2 )
v ( i + 1 ) = v ( i ) + Σ j = 0 k b - 1 P p ( i , j ) u ( j ) + P p ( i , k b ) v ( 0 ) , i = 1 , . . . , m b - 2 - - - ( 3 )
其中
P-1≡0z×z
在一些实施例中,LDPC编码器含有:并行节点处理结构,适宜于任何选择的码率和交织器选择,用于对根据任何一种如上所述的方法实现的码进行解码。
附图说明
图1是RA码结构的示意图;
图2是RA编码器结构的示意图;
图3是解码算法的示意图;
图4是该解码器的改进交织器的示意图;
图5是消息计算的示意图;
图6是校验节点计算的示意图;
图7是事件的完全组的示意图;
图8是函数ln((exp(x)-1)/(exp(x)+1))的曲线图;
图9是不规则变量节点的重复表的图形;
图10是BER对Eb/No的曲线图;
图11是BER对Eb/No可变速率解码器结构的曲线图;
图12是可变速率解码器的结构示意图;
图13是在校验节点处的系统消息的数目的曲线图;
图14是“可变速率解码器的误帧率:IRA-7与3GPP turbo,帧大小为1000位”的曲线图;
图15是基本的IRA解码器结构的示意图;
图16是并行节点处理的示意图;
图17是交织器中的重复因子的示意图;
图18是交织器结构的示意图;
图19是偶-奇交织器的示意图;
图20是扩展的奇-偶交织器的示意图;
图21是基本的校验节点处理器的示意图;
图22是1/2速率的校验节点处理器的示意图;
图23是1/2速率变量的校验节点处理器的示意图;
图24是速率兼容校验节点处理器1/4、1/3、1/2的示意图;
图25是速率组构造的示意图;
图26是校验节点处理器2/3的示意图;
图27是校验节点处理器4/5的示意图;
图28是不带符号确定的节点处理器基结构(变量及校验)的示意图;
图29是除奇偶校验符号外的完整的校验节点处理器结构2+2LUT示意图;
图30是奇偶校验节点的初始化的示意图;
图31是通过奇偶校验变量节点处理器进行处理的示意图(无需计算);
图32是具有哑符号压缩的级联的校验节点处理器的示意图;
图33是变量节点处理器3的示意图;
图34是变量节点处理器3-3-3-5的示意图;
图35是变量节点处理器7的示意图;
图36是IRA-7与3GPP2 turbo码的比较FER的曲线图;
图37是IRA-7与3GPP2 turbo码的比较BER的曲线图;
图38是简单压缩损失FER的曲线图;
图39是简单压缩损失BER的曲线图;
图40是重复累加码FER的曲线图;
图41是重复累加码BER的曲线图;
图42是重复因子减少的FER曲线图;
图43是按RA-3码简单压缩的FER曲线图;
图44是根据迭代次数的性能的FER曲线图;以及
图45是根据迭代次数的性能的BER曲线图。
具体实施方式
图1示出了对称RA码结构的示例,其中编码的复杂性随着码块的长度线性地增长。图示的示例取4个系统位并且产生5个校验位。这4个系统位输入图示在10、12、14、16处。每个系统位的多个拷贝被输入到交织器18。经选择的交织器输出被馈送到产生奇偶校验位的5个校验节点18、20、22、24、26。LDPC消息传递算法适用于这种码的结构。换句话说这种码允许通过Tanner图来进行解码。实际得到的性能不比LDPC类的其他码差。
在图2中以框图的形式示出由本发明的实施例提供的编码器。该编码器具有用于接收将被编码的系统位的输入50。编码器输出含有系统位68及奇偶校验位66。系统位输入50被输入到重复器52,它产生馈送到并串变换器54的并行输出53。串行输出55被输入到交织器56。交织器输出57被输入到累加器。在该说明性示例中累加器含有“异或”功能60及状态元件62,但其他设计也是可能的。“异或”功能60的输出通过状态元件被反馈到“异或”功能60的第二输入端。不时地,最好在不规则累加周期内,在累加器58(说明性示例中的“异或”功能60)的输出端的位被当作奇偶校验位66的其中之一。它用开关64示意性地说明。奇偶校验位在“异或”功能60的输出处取的次数是编码器结构的函数。
为了增强纠错能力,最好系统符号的不规则重复,与交织器之后的不规则求和一样可被使用。因此,以下三个表格可被用来对图2的结构中的码进行设置:
1、系统部分重复的表格;
2、交织器;
3、在交织之后的求和表格;
含有系统部分重复及求和信息两者的表格的示例在下文示出。重复表格列识别重复器输出如何根据系统位输入产生。在说明性示例中,存在8位的系统输入。该重复列指示除了该位被重复之外,有多少次被重复,并且求和表格列指示交织器的输出有多少位被求和以产生各奇偶校验位输出。求和表格将在图2的示例的输出“异或”功能60处控制奇偶校验位66的产生。在说明性示例中,存在为每8个系统位而产生的总计5个奇偶校验位。
我们具有8位的系统位,我们为8位使用左列循环重复以便扩展为:
11222333=17位
这些位被交织并且然后右列的求和表格被用来求和以产生奇偶校验位:
3→1 4→1 5→1 3→1 2→1我们有总计5个奇偶校验位
此示例的码率为8/(8+5)=8/13
表格1编码表格(一个示例)
由上表格可见,第一位及第二位被包含一次,第三、第四和第五位被包含两次,并且第六、第七及第八位被包括三次。由上表格可见,为了获得第一校验位,“异或”运算必须在交织器输出端按3位顺序地执行。下一个校验位通过“异或”操作用交织器输出的下4个位及第一个校验位等,使用在表格中指定的这样的位的数目来获得。用来指示每个系统位被重复多少次的表格的使用是可用来实现这个功能的结构的简单示例。教程中(course)的每个位的重复的次数会是具体的码设计的函数,如使用的系统位的数目,即块大小。类似地,产生的奇偶校验位会是具体码设计的函数,并且用来产生各自奇偶校验位的交织器的输出位的数目是码特定的参数。表格1中编码表格给出的示例仅为极特定的示例。
在示例中,图9示出了不规则重复因子并且基于不同的码率,在表格4中列出了求和因子。
在优选实施例中,交织器为“s随机”交织器。所选择的算法为具有拒绝的半随机算法,向s预交织连续位提供不小于s的后交织距离。如已经证明的,如果则这样的交织过程收敛。这种交织的方法在得到的矩阵中允许排除短周期。
直接编码
通常,每个LDPC码都是系统的线性块码。在该组LDPC码中的每个LDPC码由大小m×n的矩阵H来规定,其中n为码的长度且m为码中奇偶校验位的数目。系统位的数目为k=n-m。
矩阵H被定义为基矩阵的扩展并可表示为:
H = P 0,0 P 0,1 P 0,2 . . . P 0 , n b - 2 P 0 , n b - 1 P 1,0 P 1,1 P 1,2 . . . P 1 , n b - 2 P 1 , n b - 1 P 2,0 P 2,1 P 2,2 . . . P 2 , n b - 2 P 2 , n b - 1 . . . . . . . . . . . . . . . . . . P m b - 1,0 P m b - 1,1 P m b - 1,2 . . . P m b - 1 , n b - 2 P m b - 1 , n b - 1 = P H b
其中Pi,j是一组z×z右移单位矩阵或z×z零矩阵之一。矩阵H由大小mb×nb的二进制基矩阵Hb扩展,其中n=z·nb且m=z·mb,并且z为正整数。该基矩阵通过将基矩阵中的每个1用z×z右移单位矩阵,且每个0用z×z的零矩阵代替来扩展。因此这个设计通过改变子矩阵的大小z来适应不同的包大小。
已知这样的Hb可分为两部分,其中Hb1与系统位对应,且Hb2与奇偶校验位对应。
根据本发明的一方面,Hb2部分又被分为两部分,其中其中hb具有奇权重,且H′b2具有在i行j列处的矩阵元素在i=j,i=j+1时等于1,其余为0的双对角线结构:
该基矩阵有hb(0)=1,hb(m-1)=1,且第三值hb(j),0<j<(mb-1)等于1。基矩阵的结构避免在扩展的矩阵中有多个权重为1的列,这可通过交织器的优化来实现。
更具体地说,非零子矩阵由具体的循环移位值来循环右移。H′b2中的每个1分配了0的移位大小,并且当扩展为H时用z×z单位矩阵来代替。这允许了具有简单的递归电路的双对角线结构的实现。位于hb的顶部和底部的两个1分配了相等的移位大小,并且对hb中间的第三个1给定了不成对的移位大小。该不成对的移位大小为0。
编码是给出信息序列s确定奇偶校验序列p的过程。为进行编码,信息块s被分成z位的kb=nb-mb组。令该组s用u表示,
u=[u(0) u(1) … u(kb-1)],
其中u的每个元素为如下的列向量:
u(i)=[siz siz+1 … s(i+1)z-1]T
使用模型矩阵Hb,奇偶校验序列p在z的组中确定。令该组奇偶校验序列p用v表示,
v=[v(0) v(1) … v(mb-1)],
其中v的每个元素为如下的列向量:
v(i)=[piz piz+1 … p(i+1)z-1]T
编码分两个步骤进行,(a)初始化,其中确定v(0),以及(b)递归,其中根据v(i)确定v(i+1),0≤i≤mb-2。
v(0)的表格达式通过对Hb的行进行求和得到以便获得:
P p ( x , k b ) v ( 0 ) = Σ j = 0 k b - 1 Σ i = 0 m b - 1 P p ( i , j ) u ( j ) - - - ( 1 )
其中x是hb的行系数,1≤x≤mb-2,其中条目为非负且不成对的,并且pi表示按大小i循环右移的z×z单位矩阵。方程(1)通过乘来求解v(0),并且因为p(x,kb)表示循环移位。
考虑H′b2的结构,递归可如下得到,
v ( 1 ) = Σ j = 0 k b - 1 P p ( i , j ) u ( j ) + P p ( i , k b ) v ( 0 ) , i = 0 , - - - ( 2 )
v ( i + 1 ) = v ( i ) + Σ j = 0 k b - 1 P p ( i , j ) u ( j ) + P p ( i , k b ) v ( 0 ) , i = 1 , . . . , m b - 2 - - - ( 3 )
其中
P-1≡0z×z
因此不在v(0)中的所有奇偶校验位通过对方程(2)在0≤i≤mb-2时进行估计来确定。
方程(1)和(2)完整地描述了编码算法。这些方程也具有按照标准数字逻辑体系结构的直接解译。更具体地说,它们能易于使用参考上面图2描述的编码体系结构来实现。
基本解码器结构
解码算法的如下改进是可能的:
1、最小和(Min-sum)算法(最大Log MAP的模拟)
2、和积(sum-product)(Log-MAP的模拟)
a、E展示(E-presentation)中的和积
b、概率解码(tanh()规则)。
用公知的图形解码概念,解码被反复地执行,即迭代的目的是将奇偶校验信息供给下一次迭代。因此,对最接近的合法码字的搜索由连续逼近方法来执行。已显示这种方法的结果接近最大似然判决。
图3示出了消息传递算法框图的示例。每个图的边沿匹配两个被称为消息的数:从变量节点到校验节点的消息,以及从校验节点到变量节点的消息。每个消息是像软判决的数。在进行解码之前它们被初始化到零。消息阵列的大小等于解码器的内部交织器的大小并且交织器用来对它们进行序列改变。
对于RA码,解码器的内部交织器根据编码器的内部交织器按照包含在交织过程中的奇偶校验位来进行区分。参见图4。
重复及求和的表格根据交织器而变化。当进行解码时,系统节点及奇偶校验节点并不区分,而是两者都被视作变量节点。
计算从变量节点到校验节点的输出消息的运算包括对变量节点从其他校验节点接收的所有消息求和,除了假定接收该消息的一个之外,加上从解调器接收的软判决。参见图5。
在从校验节点到变量节点的输出消息的计算期间,为期输出消息被计算的来自变量节点的输入消息被忽略。
从校验节点到变量节点的消息计算的运算有两部分:
●消息符号的规定,以及
●消息的模的规定。
消息的符号由校验和的零相等条件来规定。因此,计算了来自变量节点的输入消息的和,并且得到的符号被分配给输出消息。
计算来自校验节点的输出消息的简单方法(最小和)。
输出消息模由图5中的函数来计算。该函数为判决函数或对数似然比。函数f具有可交换的特征:
f(a,b,c,d)=f(a,f(b,f(c,f(d))))
f(d)=d
存在几种设置函数f的方法:
1.最简单的方法是通常所说的最小和算法。输出消息的绝对值等于所考虑的输入消息的最小模:
f(|Qm′n|,except_|Qm′n′|)=minm′n′(|Qm′n|)
1.另一方法类似于LOG MAP算法中的函数E的计算。该函数f由下式给出:
f(a,b)=min(a,b)+δ,
δ=log(1-exp(-|a+b|))-log(1-exp(-|a-b|))
函数E(x)=log(1-exp(-|x|),广泛用在turbo编码中,可设置为表格。
1.方法2有一种改进,其中:
δ = 1 , | a - b | ≤ 1 , | a + b | > 1 - 1 , | a - b | > 1 , | a + b | ≤ 1 0 , else
该方法不需要函数E表格。然而,此方法导致性能的降低。
由于来自带有即时符号考虑的校验节点消息计算,方法2的运算的次数可减少。以下描述实现这个的该技术。
E展示中的校验节点的对数似然比算法计算
考虑函数f可交换的特征,让我们考虑基本的“箱求和”(“box-sum”)运算或对数似然比的计算。
其中p为传送1的后验概率,在接收的信号等于x的条件下,信号为BPSK:+1,-1;并且噪声为具有离差σ2的AWGN。
分别地,λ为判决函数或对数似然比对数。
e λ = p 1 - p , (1-p)eλ=p, p = e λ 1 + e λ , 1 - p = 1 e λ + 1 - - - ( 2 )
问题陈述:如果后验概率p1及p2(对数似然比对数λ1,λ2)是已知的,则图6中的后验概率p3(对数似然比对数λ3)是多少?在编码器的校验节点处执行的运算为模2加。
如图7所示,为了解决上面提出的问题,构建了事件的完全组。于是,
λ 3 = ln ( p 1 ( 1 - p 2 ) + p 2 ( 1 - p 1 ) p 1 p 2 + ( 1 - p 1 ) ( 1 - p 2 ) ) - - - ( 3 )
λ 3 = ln ( e λ 1 ( e λ 1 + 1 ) 1 ( e λ 1 + 1 ) + e λ 2 ( e λ 1 + 1 ) 1 ( e λ 1 + 1 ) e λ 1 ( e λ 1 + 1 ) e λ 2 ( e λ 2 + 1 ) + 1 ( e λ 1 + 1 ) 1 ( e λ 1 + 1 ) ) - - - ( 4 )
λ 3 = ln ( e λ 1 + e λ 2 e λ 1 + λ 2 + 1 ) - - - ( 5 )
的条件下,
λ 3 = ln ( e λ 1 + e λ 2 ) - ln ( e λ 1 + λ 2 + 1 ) = E ( λ 1 , λ 2 ) - E ( 0 , λ 1 + λ 2 ) - - - ( 6 )
其中turbo码函数E广泛地使用
E(a,b)=ln(ea+eb)=max(a,b)+ln(1+e-|a-b|)         (7)
因此,具有正确的符号的消息可被立即计算出。除了函数E的两个调用之外,只需执行一次加法和一次减法。
计算对数似然比(概率解码-tanh()rule)的另一方法
在(3)中示出的概率p3可表示为:
p3=p1(1-p2)+p2(1-p1)=p1+p2-2p1p2          (8)
两边都乘2并减去1,可得:
2p3-1=2p1+2p2-4p1p2-1                      (9)
将右边分解成因式:
(2p1-1)(2p2-1)=4p1p2-2p1-2p2+1                 (10)
代入损失结果,我们得到:
(2p3-1)=-(2p1-1)(2p2-1)                        (11)
或,除2p1-1=0的情况之外,两边取对数:
[ln(2p3-1)]=-[ln(2p1-1)]-[ln(2p2-1)],p1≠0.5  (12)
其中该对数用λ表示如下:
ln ( 2 p - 1 ) = ln ( 2 e λ 1 + e λ - 1 ) = ln ( e λ - 1 e λ + 1 ) - - - ( 13 )
让我们考虑函数的性质,
此函数具有以下性质:
1.偶函数f(λ)=f(-λ)
2.该函数在图10中绘出
3.该函数在0处没有定义
该函数是自逆(self-inverse)函数f(f(x))=x
在校验节点处的计算的运算顺序由以下步骤给出:
1.如果在输入消息中不存在零,则输出消息符号除这一个之外通过对输入消息的符号进行异或来按标准方式来计算,否则输出消息还为零;
2.对所有输入消息用表格f(x)=-ln((exp(x)-1)/(exp(x)+1)来进行直接转换,其中x为输入消息(在图8中绘出);
3.根据(12)来计算转换的消息的和。
4.为得到的和来计算逆函数f的变换。(?)
综述
提供了校验节点操作的两种算法:“E展示”和“tanh()规则”。两者都没有损失并给出了ML判决。这些方法将在H/W体系结构的设计部分继续考虑。下一部分将在具有E展示的仿真器提供与turbo码的比较。
仿真与Turbo码的比较
第一仿真目标是按固定速率1/2来执行比较。然后介绍了基于速率兼容的LDPC码的重复累加编码器结构。下一仿真目标是与下面表格4中指定的压缩的3GPP2 turbo解码器进行比较。
输入信号量化
如果使用E函数表格,则输入信号必须被转换为单位离差并表示为其中r1和r2为到对应星座点的距离。然后以的步长来执行8位量化。E函数表格按同样的步骤初始化。
编码参数及仿真结果
在速率1/2处执行比较,信息块的大小为1000位。对LDPC IRA码,选择了不规则重复表格(图9)。在此情况下内部交织器的大小为7000。这是s=32的s随机交织器。在交织之后,对速率1/2在校验节点以等于7的间隔执行规则的合并。
为了比较,选择了3GPP turbo码。
基于速率兼容的LDPC解码器的RA编码器的结构通过压缩奇偶校验符号由多路分解的级联校验节点来得到。如果分量节点具有零校验和,则在级联的校验节点的奇偶校验和强制等于零。图12说明了通过改变校验节点的大小的来自RA编码器的所有可能速率的导出。RA编码器结构保证奇偶校验和等于零。
在编码器侧,速率兼容码通过改变锁定键“奇偶符号端”的周期而产生。在解码器侧,到校验节点的序列改变的消息的数目与奇偶符号产生周期相对应。仿真结果与3GPP2 turbo解码器的比较在图13中给出。
表2校验节点处的系统消息的数目
上表选择了重复因子α=7,并且重复表格的最佳不规则结构在图9中示出,重复的次数证明为传输中的位数目的函数。
速率兼容的LDPC IRA码相比turbo码除了极低速率1/4和极高速率(4/5)之外没有损失。重复表是最佳的以便在主要速率(1/2、1/3、2/3、3/4)上得到最佳性能。在此情况下,速率1/8比速率1/4更差,即速率为1/4时,数据应被重复两次,而不是在速率为1/8时的编码。此外,与turbo码相比,IRA码的出错底限(error floor)低得多。
平均重复因子7是基于最大码率1/8来选择的。
同样应注意上述的码为速率兼容码,即它形成了可变速率码系列,允许了HARQ-II的实现。
下表是速率组,并给出了用于调制符号的具有来自SNR的双极大解调器的仿真结果。
  MCS索引   码率   QAM   有效载荷(bits/TTI(2ms))   用户速率(Mbits/s)
  1   0.125   2   2428   1.21
  2   0.200   2   3863   1.93
  3   0.250   2   4856   2.43
  4   0.333   2   6512   3.26
  5   0.500   2   9824   4.91
  6   0.667   2   13135   6.57
  7   0.800   2   15785   7.89
  8   0.500   4   19759   9.88
  9   0.667   4   26382   13.19
  10   0.800   4   31681   15.84
  11   0.667   6   39629   19.81
  12   0.750   6   44596   22.30
  13   0.800   6   47577   23.79
表格3速率组
IRA-7码的性能结论
存在根据调制符号能量对噪声比的BER、FER曲线。给出了表格4的所有MCS。余下的问题是各速率的码矩阵是不同的。在这个项目中根据本项目的目标开发的码是速率兼容的(1/8-4/5)。这意味着高速率通过压缩母码来得到。编码的系统部分必须是相同且稳定的。然而,得到的结果对于编码的比较给出了良好的基准测试。
H/W体系结构设计及复杂性分析
基本LDPC解码器体系结构
图15示出了示例解码器结构。
这种体系结构的主要的实现问题在于RAM存取的FPGA限制。更具体地说,Virtex 812EM实现了对4k存储块的双端口存取。也就是说,在一个时钟内两个数可从这样的区中读出,或者一个数可读出而另一个可被写入。因此,并行消息处理的实现需要在可存取的存储体中布置来自变量节点的消息,以便从不同存储体读出由校验节点处理器处理的消息,并且写入不同的存储体以避免存取冲突。
基于“解码器-第一码设计”规则在图16中示出了并行校验节点处理器的结构。让我们考虑该解码器的运算速度估计:
T = F d * Z * R α * I - - - ( 14 )
其中Fd为FPGA时钟速率,z为计算的并行因子,R是码率,α是码符号重复因子(均值),I为迭代次数。
Z等于并行计算消息的数目。在一个FPGA时钟处理的相应数据位的数目是按迭代次数计算并且分开以便获得吞吐量及解码器运算速度。以下公式被施加到并行LDPC解码器以计算其运算速度。
交织器设计
存在两种交织器设计的途径。
●代数
●随机
考察了代数交织器对于速率R>1/2(即2/3、3/4、4/5)的性能损失。速率兼容解码器在速率为1/8-4/5的范围并不适合。
具有RA编码器结构的随机交织器集中在本工作中。
对交织器的需求可表示为:
●最大并行因子
●对给定的并行因子无性能损失(无低权重码字)
考虑RA码结构,可作出以下结论:
●奇偶校验符号无需交织器,只需按因子2重复。
●系统符号需要按至少为3的因子重复以在进行交织之前在Tanner图(图17)上表示每个边沿。
随机交织器数目需要存储。对于1000位的块按重复因子7的实现需要具有大小为7000的交织器。它取7000×14位。不工作的数目的产生是不好的想法,因为它占用FPGA时钟。将交织器分成小的交织器(其数目等于并行因子)是解决方案。每个小交织器上载到FGPARAM块中。因此,来自交织器的每个数需要8位(参见图18)。
高FPGA板上的RAM块的大小是很大的(至少18k)。该块是不会满的并对于存储8位或16位没有区别。
好的交织器可通过随机搜索来发现。
通过使用2种以下技术,交织器存储器的需要还可进一步降低:
●偶奇对称性
●扩展的交织器
偶奇交织器是对称交织器,它允许将每一个奇位置用偶位置交换,反之亦然。这种交织器结构满足以下两个限制:
●奇到偶的转换: i mod 2 ≠ π ( i ) mod 2 , ∀ i
●对称性: π ( i ) = j ⇒ π ( j ) = i
假设在交织器向量中只存储了奇位置。所有存储的地址然后为偶数,意味着每个地址的二进制表示中的LSB总是零。因此提供了额外的存储器节省。奇偶交织器的运算示出在图19中。
为了保持奇偶对称性质,虽然扩展了交织器的长度,但是我们需要在原交织器中在每第二项之后插入两个未定义的元素。这种改进确保了在原交织器中的偶位置上的各元素在扩展之后仍保持在偶位置,反之亦然。
速率兼容校验节点处理器
考察速率兼容校验节点处理器的体系结构。通过压缩奇偶校验符号并通过级联由这些符号划分(demaroated)的基本校验节点来获得高速率。基本的校验节点处理器结构在图21中以E展示示出,其中:运算+意味着“箱求和”装置,八边形是奇偶校验节点消息,正方形是系统变量节点消息。这些处理器的并行应用使得能实现速率1/8、1/4、1/3。
以下变形可能从速率1/2开始。
所考虑的变形具有8个“箱求和”时钟的延时,并且在第8个时钟同时需要7个“箱求和”模块,并且在所有其他时钟需要2个模块。该处理器校验节点的另一种实现的变形也是可能的。
在第一个时钟需要四个模块,第二个时钟6个,第三个时钟8个,以及最后一个时钟7个。模块的峰值增加到8,并且所需的时钟的数目减少为4。此外,该处理器可被用在两个速率:1/3(接近1/3)及1/2。校验节点3的结果在第三个时钟准备好。
然而,为了将速率调整到1/3,在校验节点中的合并在可变周期内执行:3-4,并且所考虑的体系结构按3产生校验节点。这就导致校验节点实现对于速率1/4、1/3、1/2的以下变形,如图21、24所示。
有“1”的单元对于对应于逻辑单元(1)的所选量化用最大的数来初始化。
时钟:
●第一个时钟→6个“箱求和”模块
●第二个时钟→4+4+3=11个“箱求和”模块-峰值负载
●第三个时钟→6个“箱求和”模块
●第四个时钟→7个“箱求和”模块
因此,对于速率兼容的处理器校验节点,11个“箱求和”模块(最大)及7个“箱求和”模块(最小)是必需的。计算延时占用4个时钟的“箱求和”模块(最小),以及7个时钟的“箱求和”模块(最大)。
速率组构造在图25中示出。
因此,速率2/3、4/5从相当容易实现的速率组中被留下。
图26是校验节点处理器2/3的示例。
图27是校验节点处理器4/5的示例。
基于复杂性降低的节点处理器的ln((exp(x)-1)/(exp(x)+1))函数(基于tanh()规则的体系结构)。
复杂性降低的另一体系结构在图28中示出。
LUT(表格4)用类型-ln<<exp(x)-1)/(exp(x)+1)的直接变换来表示。由于该函数的性质,相同的表格也被用在正向和反向变换中。
表4LUT-6位f(x)={-ln((exp(x/16)-1)/(exp(x/16)+1)}*16
x    f(x)  X     f(x)  x     f(x)  x     f(x)
1    55    17    12    33    4     49    1
2    44    18    11    34    4     50    1
3    38    19    10    35    4     51    1
4    33    20    9     36    3     52    1
5    30    21    9     37    3     53    1
6    27    22    8     38    3     54    1
7    25    23    8     39    3     55    1
8    23    24    7     40    3     56    1
9     21    25    7    41    2    57    1
10    19    26    6    42    2    58    1
11    18    27    6    43    2    59    1
12    16    28    6    44    2    60    1
13    15    29    5    45    2    61    1
14    14    30    5    46    2    62    1
15    13    31    5    47    2    63    1
16    12    32    4    48    2    64    1
位宽度增加超过6位不是问题。在这种情况下,在没有零时该输入值按7位来量化。第六位为软判决模块,第7位为符号位。在这种情况下LUT可加上零f(0)=0。这个零没有任何物理意义,并会被用在可变速率解码器的不同节点处理器的合并。
加法器图28为传统的整数加法器。图28示出了输出消息检测模块的原理,它应通过输出消息符号定义原理来完成。在符号处理器处的计算类似于模块定义原理的计算,由“异或”代替加法来区分。同样变量节点结构必须通过从符号格式到二进制补码的变换来完成,如符号加法(在变量节点处执行)更便利地按这样的格式执行。校验节点处理器2+2的完整结构在图29中示出。注意,LUT变换在IRA码中无需奇偶校验符号,如在奇偶校验节点处的它们的处理考虑简单的转置(图31)一样。LUT变换在初始化的同时执行(图30)。在图32中示出了用于可变速率解码器的含有复合节点处理器的结构的构成节点处理器。该结构假定使用两个节点处理器,其中压缩的奇偶校验符号由逻辑单元(1)用零幅度初始化,并且这个符号被包含在两个构成处理器中。在复合节点处理器处得到的消息的符号通过具有第二构成节点处理器的输出符号的相应构成节点处理器消息符号的“异或”获得。在构成节点处理器处得到的消息幅值由具有第二构成处理器的输出幅值的相应构成节点处理器得到的幅度相加产生。变量节点处理器的结构在图33中示出。输入消息幅值由LUT在没有变换符号的前提下用同样的表格来变换。所得到的值被变换为二进制补码。在求和之后,输出消息由这些消息变换为带符号的整数来产生。
变量节点处理器的结构,处理较大数目的消息,类似于图33所示。在结果中,所有变换的输入消息的具有符号的和被写入到“输出”单元,作为软数据位判决,输出消息由来自“输出”的相应输入消息的LUT变换的减法得到。
实现问题及运算速度估计
重复累加编码原理的选择因为如下原因作出:
●尽可能简单地编码
●码含有系统及奇偶校验部分
●奇偶校验符号的通常交织器
●减少到最小的奇偶校验符号重复(2-两次)。
运算速度估计公式可不带码率写成:
T = Z * F d I * &alpha; - - - ( 15 )
其中z是交织器并行因子,α是系统位的重复因子。Fd为FPGA板时钟速率,I为迭代次数。
以下问题在下一部分考虑:如何将并行数据流上载到具有不规则重复的交织器上。将不同程度重复的符号合并到具有固定速率的块是可能的,其长度等于交织器的并行因子。
不规则码
在变量节点处理器处计算的目的被减少到除为其响应消息被计算的消息之外的所有节点有关的消息之和的计算。
对于变量奇偶校验节点,在两个情况下,这样的运算是简单的:交换它们的位置2次。这样的运算在处理器校验节点成为系统节点交织的模拟之后直接被执行。为了简化变量节点的处理,选择了不规则重复表格以维持重复的符号的数目数倍于用在消息存储中的存储体的数目。在这种情况下,这个数等于28,它也是可由校验节点处理器并行处理的消息的最大数。显然,并行处理消息的数目不能大于这个数。
不规则重复表格可按以下方式来组织:
存在重复的符号的可容许的序列,以致重复的符号的数目为7的倍数并在28之下。
●3 3 3 5-4个信息符号被全部重复14次,图34
●7-任何数目的消息可被重复7次,图35
●11 3-第一位被重复11次,且下一位被重复3次
●13 15-数据位被全部重复28次
●28-一个位的重复的最大数目
除了来自变量节点的输出消息计算之外,输出软判决由处理器为解码器产生。这种软判决可直接用于在迭代期间上载的数据。本文中运算“+”为带符号求和。
在图36和图37上示出了硬件约束(交织器及重复表)的码设计损失。如图可见,不存在相对于turbo码的大的块误码损失,虽然观测到了相对于随机IRA码的该损失。
运算速度估计为
T=(Z*Fd)/(I*Alpha)=(28*Fd)/(I*7)。令数目迭代为I=24,且Fd=100MHz(28*100MHz)/(24*7)=100MHz/6=15MBps。最大32个奇偶校验符号需要并行地上载,因此需要最小16块来存储它们。存储器分配7000/250+16=28+16=44RAM块最小。
简单压缩或校验节点级联
简单压缩工作,但与校验节点级联相比,在FER=0.01时有1dB的损失。然而校验节点级联的算法(图32、图26、图27)需要更多的逻辑FPGA板。仿真结果在图38及图39中给出。
规则码
为增加吞吐量及运算速度,实现了规则重复累加码。重复因子降低为3。这就意味着每一个系统位仅被重复3次。并行因子72通过减小交织器分集(S因子)来实现。交织器大小为9000且系统部分大小为3000。码率为1/2。
规则码的性能损失被忽略。在并行数据流的上载中不存在问题。参见图40及41。
运算速度估计为
T=(Z*Fd)/(I*Alpha)=(28*Fd)/(I*7)。令迭代数为I=24,且Fd=100MHz(72*100MHz)/(24*3)=100MHz=100Mbit/s。最大48个奇偶校验符号需要并行地上载,因此最小需要24块来存储它们。存储器分配9000/125+48=72+48=120RAM块最小
减小重复因子的影响
以下仿真给出了这个问题的答案。使用了相同的交织器并具有数据重复因子3、2、1。第一个码以速率3000/(3000+3000)=1/2运算,下一个以速率4500/(4500+3000)=3/5运算,最后一个以速率9000/(9000+3000)=3/4运算。
重复因子由3减小到2有3dB的损失。重复因子由3减小到1在BER=10-6处有7dB的损失。参见图42。
简单压缩的影响
简单压缩工作(2/3,3/4,4/5)但对于本文中描述的校验节点级联的算法有1db的损失。参见图43。
减小解码迭代次数的影响
图43、44及45中示出了示例。迭代次数由100减小到24有03dB的损失。迭代次数由100减小到10在BER=10-6处有1dB的损失。
按照上面的讲授,本发明的大量的改进及变化都是可能的。因此会理解在所附的权利要求书的范围内,本发明可按不同于本文具体描述地被实现。

Claims (3)

1.一种在给定信息序列s的条件下来执行LDPC编码以确定奇偶校验序列p的方法,所述方法包括:
将所述信息序列s分成z位的kb=nb-mb组,其中nb等于块码的长度除以z,并且mb等于奇偶校验位的数目除以z,
令该分组的s用u表示,
u=[u(0) u(1) … u(kb-1)]
其中u的各元素为如下列向量:
u(i)=[siz siz+1 … s(i+1)z-1]T
使用模型矩阵H,在z位的组中确定所述奇偶校验序列p,其中模型矩阵H是由二进制基矩阵Hb扩展而来,其中,该二进制基矩阵Hb中的每个1用z×z右移单位矩阵来代替,并且该二进制基矩阵Hb中的每个0用z×z的零矩阵来代替,令被分组的奇偶校验序列p用v表示,
v=[v(0) v(1) … v(mb-1)]
其中v的各元素为如下的列向量
v(i)=[piz piz+1 … p(i+1)z-1]T
执行初始化步骤以确定v(0);
执行递归以根据v(i),0≤i≤mb-2来确定v(i+1),
其中二进制基矩阵Hb分为Hb1和Hb2两部分,其中Hb1与系统位对应而Hb2与奇偶校验位对应,并且,
其中hb具有奇权重,hb(j)=1,0≤j≤(mb-1),且H’b2具有双对角线结构。
2.如权利要求1所述的方法,其中:
v(0)的表达式通过对Hb的行求和导出以获得
P p ( x , k b ) v ( 0 ) = &Sigma; j = 0 k b - 1 &Sigma; i = 0 m b - 1 P p ( i , j ) u ( j ) - - - ( 1 )
其中x为其条目为非负且不成对的hb的行索引,1≤x≤mb-2,且Pi表示按大小i循环右移的z×z单位矩阵,方程(1)通过乘以来对v(0)求解,且因为p(x,kb)表示循环移位。
3.如权利要求2所述的方法,其中所述递归根据如下式子定义:
v ( 1 ) = &Sigma; j = 0 k b - 1 P p ( i , j ) u ( j ) + P p ( i , k b ) v ( 0 ) , i = 0 , - - - ( 2 )
v ( i + 1 ) = v ( i ) + &Sigma; j = 0 k b - 1 P p ( i , j ) u ( j ) + P p ( i , k b ) v ( 0 ) , i = 1 , . . . , m b - 2 - - - ( 3 )
其中
P-1≡0z×z
CN201010276240.6A 2004-04-02 2005-04-04 Ldpc编码器、解码器、系统及方法 Active CN101924565B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US55856604P 2004-04-02 2004-04-02
US60/558566 2004-04-02
US56381504P 2004-04-21 2004-04-21
US60/563815 2004-04-21

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CNA2005800174426A Division CN1973440A (zh) 2004-04-02 2005-04-04 Ldpc编码器、解码器、系统及方法

Publications (2)

Publication Number Publication Date
CN101924565A CN101924565A (zh) 2010-12-22
CN101924565B true CN101924565B (zh) 2014-10-15

Family

ID=35064124

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010276240.6A Active CN101924565B (zh) 2004-04-02 2005-04-04 Ldpc编码器、解码器、系统及方法

Country Status (3)

Country Link
US (1) US7831883B2 (zh)
CN (1) CN101924565B (zh)
WO (1) WO2005096510A1 (zh)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006001015A2 (en) * 2004-06-25 2006-01-05 Runcom Technologies Ltd. Multi-rate ldpc code system and method
CA2604939A1 (en) * 2005-04-15 2006-10-26 Trellisware Technologies, Inc. Clash-free irregular-repeat-accumulate code
US7793190B1 (en) 2005-08-10 2010-09-07 Trellisware Technologies, Inc. Reduced clash GRA interleavers
JP4807063B2 (ja) * 2005-12-20 2011-11-02 ソニー株式会社 復号装置、制御方法、およびプログラム
EP1968225A1 (en) 2005-12-27 2008-09-10 Matsushita Electric Industrial Co., Ltd. Radio transmitting apparatus and multicarrier signal generating method
US7783952B2 (en) 2006-09-08 2010-08-24 Motorola, Inc. Method and apparatus for decoding data
FR2909499B1 (fr) * 2006-12-01 2009-01-16 Commissariat Energie Atomique Procede et dispositif de decodage pour codes ldpc, et appareil de communication comprenant un tel dispositif
EP2109977A1 (en) * 2007-02-09 2009-10-21 Telefonaktiebolaget LM Ericsson (PUBL) Ip tunneling optimisation
JPWO2008096550A1 (ja) * 2007-02-09 2010-05-20 パナソニック株式会社 無線通信装置およびレピティション方法
US20090217126A1 (en) * 2007-04-24 2009-08-27 Manik Raina Generation of tanner graphs for systematic group codes for efficient communication
US8301963B2 (en) * 2007-10-23 2012-10-30 Spansion Llc Low-density parity-check code based error correction for memory device
US8230312B1 (en) 2008-01-09 2012-07-24 Marvell International Ltd. Iterative decoder memory arrangement
US8443033B2 (en) * 2008-08-04 2013-05-14 Lsi Corporation Variable node processing unit
EP2525498A1 (en) * 2011-05-18 2012-11-21 Panasonic Corporation Bit-interleaved coding and modulation (BICM) with quasi-cyclic LDPC codes
EP2525496A1 (en) * 2011-05-18 2012-11-21 Panasonic Corporation Bit-interleaved coding and modulation (BICM) with quasi-cyclic LDPC codes
KR101218658B1 (ko) 2011-11-22 2013-01-04 단국대학교 산학협력단 불규칙 반복 다상 누산 코드를 이용한 부호화 방법 및 복호화 방법
US8914710B2 (en) 2012-09-27 2014-12-16 Apple Inc. Soft message-passing decoder with efficient message computation
CN104917536B (zh) * 2014-03-11 2019-11-12 中兴通讯股份有限公司 一种支持低码率编码的方法及装置
US10432228B2 (en) * 2014-03-27 2019-10-01 Electronics And Telecommunications Research Institute Bit interleaver for low-density parity check codeword having length of 64800 and code rate of 5/15 and 4096-symbol mapping, and bit interleaving method using same
KR102240741B1 (ko) * 2015-01-27 2021-04-16 한국전자통신연구원 길이가 16200이며, 부호율이 2/15인 ldpc 부호어 및 64-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR102287637B1 (ko) * 2015-02-17 2021-08-10 한국전자통신연구원 길이가 16200이며, 부호율이 4/15인 ldpc 부호어 및 64-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
WO2016137234A1 (en) * 2015-02-24 2016-09-01 Samsung Electronics Co., Ltd. Transmitter and repetition method thereof
KR101776267B1 (ko) 2015-02-24 2017-09-07 삼성전자주식회사 송신 장치 및 그의 리피티션 방법
CN105703783B (zh) * 2016-03-30 2019-10-18 成都凯腾四方数字广播电视设备有限公司 一种准并行结构的ldpc编码器
WO2017173389A1 (en) * 2016-04-01 2017-10-05 Cohere Technologies Iterative two dimensional equalization of orthogonal time frequency space modulated signals
RU2730434C1 (ru) * 2016-08-12 2020-08-21 Телефонактиеболагет Л М Эрикссон (Пабл) Способы согласования скорости для ldpc-кодов
EP3316486B1 (en) * 2016-10-25 2023-06-14 Université de Bretagne Sud Elementary check node-based syndrome decoding with input pre-sorting
WO2018218466A1 (zh) 2017-05-28 2018-12-06 华为技术有限公司 信息处理的方法和通信装置
WO2018218692A1 (zh) * 2017-06-03 2018-12-06 华为技术有限公司 信息处理的方法和通信装置
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
FR3113214A1 (fr) * 2020-07-31 2022-02-04 Airbus Defence And Space Sas Dispositif et procédé d’encodage de codes LDPC

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1359197A (zh) * 2001-06-21 2002-07-17 张红雨 达到香农限的随机扩展迭代码方法
CN1481130A (zh) * 2002-07-26 2004-03-10 产生低密度奇偶校验码的方法和系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6453442B1 (en) * 1999-08-20 2002-09-17 At&T Corp. Two stage S—Random interleaver
US7116710B1 (en) * 2000-05-18 2006-10-03 California Institute Of Technology Serial concatenation of interleaved convolutional codes forming turbo-like codes
EP1257064B1 (en) * 2001-05-10 2008-11-19 STMicroelectronics S.r.l. Prunable S-random block interleaver method and corresponding interleaver
US6938196B2 (en) * 2001-06-15 2005-08-30 Flarion Technologies, Inc. Node processors for use in parity check decoders
WO2003065591A2 (en) * 2002-01-29 2003-08-07 Seagate Technology Llc A method and decoding apparatus using linear code with parity check matrices composed from circulants
US7395484B2 (en) * 2002-07-02 2008-07-01 Mitsubishi Denki Kabushiki Kaisha Check matrix generation method and check matrix generation device
US7178080B2 (en) * 2002-08-15 2007-02-13 Texas Instruments Incorporated Hardware-efficient low density parity check code for digital communications
US7120856B2 (en) * 2002-09-25 2006-10-10 Leanics Corporation LDPC code and encoder/decoder regarding same
KR100809619B1 (ko) * 2003-08-26 2008-03-05 삼성전자주식회사 이동 통신 시스템에서 블록 저밀도 패러티 검사 부호부호화/복호 장치 및 방법
KR100922956B1 (ko) * 2003-10-14 2009-10-22 삼성전자주식회사 저밀도 패리티 검사 코드의 부호화 방법
US7418051B2 (en) * 2003-11-26 2008-08-26 Lucent Technologies Inc. Nonsystematic repeat-accumulate codes for encoding and decoding information in a communication system
US7568145B2 (en) * 2004-04-15 2009-07-28 Libero Dinoi Prunable S-random interleavers

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1359197A (zh) * 2001-06-21 2002-07-17 张红雨 达到香农限的随机扩展迭代码方法
CN1481130A (zh) * 2002-07-26 2004-03-10 产生低密度奇偶校验码的方法和系统

Also Published As

Publication number Publication date
CN101924565A (zh) 2010-12-22
US7831883B2 (en) 2010-11-09
WO2005096510A1 (en) 2005-10-13
US20090083604A1 (en) 2009-03-26

Similar Documents

Publication Publication Date Title
CN101924565B (zh) Ldpc编码器、解码器、系统及方法
CN100546205C (zh) 构造低密度奇偶校验码的方法、译码方法及其传输系统
US8196025B2 (en) Turbo LDPC decoding
Johnson Iterative error correction: Turbo, low-density parity-check and repeat-accumulate codes
US8185797B2 (en) Basic matrix, coder/encoder and generation method of the low density parity check codes
US7536623B2 (en) Method and apparatus for generating a low-density parity check code
US7343548B2 (en) Method and apparatus for encoding and decoding data
EP2387157B1 (en) Efficient encoding of LDPC codes using structured parity-check matrices
CN101162907B (zh) 一种利用低密度奇偶校验码实现编码的方法及装置
EP1850484A1 (en) Basic matrix based on irregular ldcp, codec and generation method thereof
CN100505555C (zh) 一种无线通信系统中非正则低密度奇偶校验码的生成方法
US7934147B2 (en) Turbo LDPC decoding
CN109586732B (zh) 中短码ldpc编解码系统和方法
CN100425000C (zh) 双涡轮结构低密度奇偶校验码解码器及解码方法
CN103746708A (zh) 一种Polar-LDPC级联码的构造方法
CN102006085B (zh) 类eIRA准循环低密度奇偶校验码的校验矩阵构造方法
US7493548B2 (en) Method and apparatus for encoding and decoding data
CN101796488A (zh) 奇偶校验矩阵的产生
CN1973440A (zh) Ldpc编码器、解码器、系统及方法
CN101465655B (zh) 极短码长低密度奇偶校验码的编码方法
CN103199877B (zh) 一种结构化ldpc卷积码构造编码方法
Lou et al. Channel Coding
CN105871385B (zh) 一种ldpc卷积码构造方法
CN106685432A (zh) 一种基于完备循环差集的大围长Type‑II QC‑LDPC码构造方法
CN103338044B (zh) 一种适用于深空光通信系统的原模图码

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: APPLE COMPUTER, INC.

Free format text: FORMER OWNER: YANXING BIDEKE CO., LTD.

Effective date: 20130407

Owner name: YANXING BIDEKE CO., LTD.

Free format text: FORMER OWNER: NORTEL NETWORKS LTD (CA)

Effective date: 20130407

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20130407

Address after: American California

Applicant after: APPLE Inc.

Address before: American New York

Applicant before: NORTEL NETWORKS LTD.

Effective date of registration: 20130407

Address after: American New York

Applicant after: NORTEL NETWORKS LTD.

Address before: Quebec

Applicant before: NORTEL NETWORKS Ltd.

C14 Grant of patent or utility model
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20101222

Assignee: HUAWEI TECHNOLOGIES Co.,Ltd.

Assignor: APPLE Inc.

Contract record no.: 2015990000754

Denomination of invention: LDPC encoders, decoders, systems and methods

Granted publication date: 20141015

License type: Common License

Record date: 20150827

LICC Enforcement, change and cancellation of record of contracts on the licence for exploitation of a patent or utility model