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

文档序号:7517989阅读:180来源:国知局
专利名称:Ldpc编码器、解码器、系统及方法
技术领域
本发明涉及LDPC编码器、解码器、系统及方法。通过许多研究工作已证明LDPC(低密度奇偶校验)码的性能超过了 Turbo码,并 且甚至可仅低于香农限0. 045dB。这种用于消息传递的算法允许并行计算,并且与Turbo解 码算法相比只需很少的存储资源和计算开销。该消息传递算法是基于线性块编码的奇偶校验矩阵H的特性的,包括奇偶校验 矩阵乘以任何有效码字将得到零向量。校验矩阵的另一重要特性是它是稀疏的,并且矩阵 中单元的数目是码字大小的线性函数。因此,解码复杂性是码字的长度的线性函数。高效的解码算法的有效性不能保证高效的编码算法的有效性。由线性块编码的理 论可知,生成矩阵G通常用来对消息进行编码。生成矩阵G与校验矩阵H的关系为HGT = 0mod2。编码的复杂性与编码块按二次方增长。为了对长度为 IO3的码字进行编码,运算 所需的次数为 106,因而对于实际的应用将是困难的。解决这个问题的一种方法是利用使 用线性时间编码的码思想RA-IRA (重复累加-不规则重复累加)。

发明内容
根据一个广泛的方面,本发明提供了一种适于产生系统输出和奇偶校验输出的具 有线性复杂性的LDPC编码器,该编码器包括重复器,实现不规则的重复码;交织器,对重 复器的输出执行交织;累加器,对交织器的输出执行累加并输出奇偶校验输出。在一些实施例中,交织器为S随机或同余交织器。在一些实施例中,累加器执行不规则累加。在一些实施例中,累加器执行规则累加。在一些实施例中,LDPC编码器还含有在重复器和交织器之间的并行到串行的功 能。在一些实施例中,LDPC编码器通过重复器的重复模式,以及交织器的序列改变来 参数化。在一些实施例中,重复模式及序列改变是最佳的。在一些实施例中,s随机交织器为具有拒绝的半随机算法,向s预交织连续位提供在一些实施例中,LDPC码可由具有双对角线结构的奇偶校验矩阵来表示
背景技术
在一些实施例中,整个码以矩阵形式表示如下


Pi,,为―
其中H为大小mXn的矩阵,η为码的长度且m为码中的奇偶校验位的数目,其中
u -组zXz右移单位矩阵或zXz零矩阵中的一个;矩阵H是由大小为HibXnb的二进
制基矩阵Hb扩展的,其中n = ζ ·η>3且m = ζ ·πν并且ζ为正整数,该基矩阵通过将基矩阵
中的每个1用ζ X ζ的右移单位矩阵,以及每个0用ζ X ζ的零矩阵代替来扩展;将Hb分成
两部分,其中Hbl与系统位对应,且Hb2与奇偶校验位对应;又将Hb2分成两部分,其中向量hb
具有奇权重,且H' b2具有其i行j列的矩阵元素在i = j,i = j+1时等于1,其余为0的
双对角线结构 其中hb(0) = l,hb(m_l) = 1,且第三值&(」)等于 1,0< j< (mb_l)。在一些实施例中,LDPC编码器还适于允许基于具有速率兼容校验节点处理器构造 特征的普通编码器/解码器对一组不同码率的构造以及对与校验节点级联相匹配的基于 压缩的速率的构造。根据另一广范的方面,本发明提供了一种具有基矩阵结构的LDPC编码器,它避免 了在扩展的矩阵中具有多个权重为1的列。根据另一广范的方面,本发明提供了一种LDPC编码器,实现了可由具有如下双对 角线结构的奇偶校验矩阵来表示的LDPC码

在一些实施例中,整个码以矩阵形式表示如下 根据另一广范的方面,本发明提供一种给定信息序列s,执行LDPC编码以确定奇 偶校验序列P的方法,它含有以下步骤将信息序列S分成Z位的kb = nb-mb组,使该分组 s被表示为U,
表不,
u = [U(O)U(I) ... u(kb-l)],
其中u的每个元素是如下的列向量 u(i) = [siz siz+1 …s(i+1)z_JT
:z+ls(i+l)z
使用模型矩阵Hb,在ζ的组中确定奇偶校验序列ρ-令分组的奇偶校验序列ρ用ν
ν = [ν(0) ν(1)…v(mb-l)] 其中ν的每个元素为如下的列向量 v(i) = [Piz Piz+i …P(i+i)z-i]T 执行初始化步骤以确定v(0); 执行递归以根据ν⑴确定v(i+l),0 ^ i ^ mb-2 ; 在一些实施例中,V(O)的表达式可通过对Hb的行求和得到以获得
ki, -) OJl-I
iWjv
^oO 卜 O
其中X为其条目为非负且不成对的hb的行索引,1 < X < mb-2,,且Pi表示按大小 i的循环右移Ζ X Z单位矩阵。方程⑴通过乘求解V (0),且=,因为ρ (χ,
kb)表示循环移位。在一些实施例中,递归根据下式规定v(l) = ^P/)(/iy)uO")+^((,,)v(°)> ^0'(2〉
Vl v(/+l)= v(0十;£ ’#(/)+P,灿,)v(0),t· = 1,,..’ —2
y-u
(3)
6
其中P—三 Ozxz在一些实施例中,LDPC编码器含有并行节点处理结构,适宜于任何选择的码率 和交织器选择,用于对根据任何一种如上所述的方法实现的码进行解码。


图1是RA码结构的示意图;图2是RA编码器结构的示意图;图3是解码算法的示意图;图4是该解码器的改进交织器的示意图;图5是消息计算的示意图;图6是校验节点计算的示意图;图7是事件的完全组的示意图;图8 是函数 In ((exp (χ) _1) / (exp (χ) +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是具有哑符号压缩的级联的校验节点处理器的示意7
图33是3它量节点处理器3的示意图34是3它量节点处理器3-3-3-5的示意图35是3它量节点处理器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—14—15—13—12—1我们有总计5个奇偶校验位此示例的码率为8/(8+5) = 8/13表格1编码表格(一个示例) 由上表格可见,第一位及第二位被包含一次,第三、第四和第五位被包含两次,并 且第六、第七及第八位被包括三次。由上表格可见,为了获得第一校验位,“异或”运算必须 在交织器输出端按3位顺序地执行。下一个校验位通过“异或”操作用交织器输出的下4 个位及第一个校验位等,使用在表格中指定的这样的位的数目来获得。用来指示每个系统 位被重复多少次的表格的使用是可用来实现这个功能的结构的简单示例。教程中(course) 的每个位的重复的次数会是具体的码设计的函数,如使用的系统位的数目,即块大小。类似 地,产生的奇偶校验位会是具体码设计的函数,并且用来产生各自奇偶校验位的交织器的 输出位的数目是码特定的参数。表格1中编码表格给出的示例仅为极特定的示例。在示例中,图9示出了不规则重复因子并且基于不同的码率,在表格4中列出了求 和因子。在优选实施例中,交织器为“S随机”交织器。所选择的算法为具有拒绝的半随机 算法,向S预交织连续位提供不小于S的后交织距离。如已经证明的,如果则这样
的交织过程收敛。这种交织的方法在得到的矩阵中允许排除短周期。直接编码通常,每个LDPC码都是系统的线性块码。在该组LDPC码中的每个LDPC码由大小 mXn的矩阵H来规定,其中η为码的长度且m为码中奇偶校验位的数目。系统位的数目为 k = n-mD矩阵H被定义为基矩阵的扩展并可表示为
H: 其中Piij是一组zXz右移单位矩阵或zXz零矩阵之一。矩阵H由大小mbXnb的 二进制基矩阵Hb扩展,其中η = ζ · nb且m = ζ · mb,并且ζ为正整数。该基矩阵通过将基 矩阵中的每个1用zXz右移单位矩阵,且每个0用zXz的零矩阵代替来扩展。因此这个 设计通过改变子矩阵的大小ζ来适应不同的包大小。已知这样的Hb可分为两部分,其中Hbl与系统位对应,且Hb2与奇偶校验位对应。根据本发明的一方面,Hb2部分又被分为两部分,其中其中hb具有奇权重,且H 具有在i行j列处的矩阵元素在i = j,i = j+1时等于1,其余为0的双对角线结构
H;j2 =[n, ! H'w] 该基矩阵有hb(0) = l,hb(m_l) = 1,且第三值&(」),0 < j < (mb_l)等于 1。基 矩阵的结构避免在扩展的矩阵中有多个权重为1的列,这可通过交织器的优化来实现。更具体地说,非零子矩阵由具体的循环移位值来循环右移。H'⑷中的每个1分配 了 0的移位大小,并且当扩展为H时用zXz单位矩阵来代替。这允许了具有简单的递归电 路的双对角线结构的实现。位于hb的顶部和底部的两个1分配了相等的移位大小,并且对 hb中间的第三个1给定了不成对的移位大小。该不成对的移位大小为0。编码是给出信息序列s确定奇偶校验序列ρ的过程。为进行编码,信息块s被分 成ζ位的kb = nb-mb组。令该组s用u表示,u = [u(0) U(I) ... u(kb_l)],其中u的每个元素为如下的列向量u(i) = [siz siz+1 ... s(i+1)z_JT使用模型矩阵Hb,奇偶校验序列ρ在ζ的组中确定。令该组奇偶校验序列P用ν 表不,ν = [v(0) v(l) ... v(mb-l)],其中ν的每个元素为如下的列向量v(i) = [piz piz+1 ... P(^)z-Jt编码分两个步骤进行,(a)初始化,其中确定v(O),以及(b)递归,其中根据v(i) 确定 v(i+l),0 彡 i 彡 mb-2。
ν (0)的表格达式通过对Hb的行进行求和得到以便获得

其中χ是hb的行系数,1 < χ < mb_2,其中条目为非负且不成对的,并且Pi表示按 大小i循环右移的Z X Z单位矩阵。方程(1)通过乘Ha)来求解V (0),并且巧Lo = P=-Pl,Λ), 因为p(x,kb)表示循环移位。考虑H' b2的结构,递归可如下得到, 其中P^1 ^ 0zXzO因此不在v(O)中的所有奇偶校验位通过对方程(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|,eXC 印 t」Qm, n, I) = minm, n, (| Qm, J)1.另一方法类似于LOG MAP算法中的函数E的计算。该函数f由下式给出f (a, b) = min(a, b) + δ,δ = log(1-exp(-1a+b|))-log(l_exp(-1a_b|))函数E(x) = l0g(l-eXp(-|X|),广泛用在turbo编码中,可设置为表格。1.方法2有一种改进,其中 该方法不需要函数E表格。然而,此方法导致性能的降低。由于来自带有即时符号考虑的校验节点消息计算,方法2的运算的次数可减少。 以下描述实现这个的该技术。E展示中的校验节点的对数似然比算法计算考虑函数f可交换的特征,让我们考虑基本的“箱求和”(“box-sum”)运算或对 数似然比的计算。 其中P为传送1的后验概率,在接收的信号等于χ的条件下,信号为BPSK :+1,_1 ; 并且噪声为具有离差σ 2的AWGN。分别地,λ为判决函数或对数似然比对数。
(2)问题陈述如果后验概率P1及P2 (对数似然比对数X1, λ 2)是已知的,则图6中的 后验概率P3 (对数似然比对数λ3)是多少?在编码器的校验节点处执行的运算为模2加。如图7所示,为了解决上面提出的问题,构建了事件的完全组。于是,
12
… 或(5)在一+1关0,一+1华0的条件下,
(6)其中turbo码函数E广泛地使用
(7)因此,具有正确的符号的消息可被立即计算出。除了函数E的两个调用之外,只需 执行一次加法和一次减法。计算对数似然比(概率解码-tanhOrule)的另一方法在(3)中示出的概率P3可表示为
(8)两边都乘2并减去1,可得2p3-l = 2p1+2p2-4p1p2-l(9)将右边分解成因式(2prl) (2p2-l) = 4p1p2-2p1-2p2+l(10)代入损失结果,我们得到(2p3-l) = -(2Pl-l) (2p2-l)(11)或,除2Pl_l = 0的情况之外,两边取对数[ln(2p3-l)] = -[In (2prl) ]-[In (2p2-l) ], P1 ^ 0. 5 (12)其中该对数用λ表示如下 让我们考虑函数/W =
<·)的性质,此函数具有以下性质1.偶函数 f(X) = ·(-λ)2.该函数在图10中绘出3.该函数在0处没有定义该函数是自逆(self-inverse)函数f(f(x)) = χ在校验节点处的计算的运算顺序由以下步骤给出1.如果在输入消息中不存在零,则输出消息符号除这一个之外通过对输入消息的 符号进行异或来按标准方式来计算,否则输出消息还为零;2.对所有输入消息用表格f(x) =-ln((exp(x)-l)/(exp(x)+l)来进行直接转换,
13
(3)
(4)其中X为输入消息(在图8中绘出);3.根据(12)来计算转换的消息的和。4.为得到的和来计算逆函数f的变换。(?)综述提供了校验节点操作的两种算法“E展示”和“tanhO规则”。两者都没有损失并 给出了 ML判决。这些方法将在H/W体系结构的设计部分继续考虑。下一部分将在具有E 展示的仿真器提供与turbo码的比较。仿真与Turbo码的比较第一仿真目标是按固定速率1/2来执行比较。然后介绍了基于速率兼容的LDPC 码的重复累加编码器结构。下一仿真目标是与下面表格4中指定的压缩的3GPP2 turbo解 码器进行比较。输入信号量化如果使用E函数表格,则输入信号必须被转换为单位离差并表示为
其中巧和巧为到对应星座点的距离。然后以
的步长来执行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的双极大解调器的仿真结^ ο 表格3速率组IRA-7码的性能结论存在根据调制符号能量对噪声比的BER、FER曲线。给出了表格4的所有MCS。余 下的问题是各速率的码矩阵是不同的。在这个项目中根据本项目的目标开发的码是速率兼 容的(1/8-4/5)。这意味着高速率通过压缩母码来得到。编码的系统部分必须是相同且稳 定的。然而,得到的结果对于编码的比较给出了良好的基准测试。Η/ff体系结构设计及复杂性分析基本LDPC解码器体系结构图15示出了示例解码器结构。这种体系结构的主要的实现问题在于RAM存取的FPGA限制。更具体地说,Virtex 812EM实现了对4k存储块的双端口存取。也就是说,在一个时钟内两个数可从这样的区中 读出,或者一个数可读出而另一个可被写入。因此,并行消息处理的实现需要在可存取的存 储体中布置来自变量节点的消息,以便从不同存储体读出由校验节点处理器处理的消息, 并且写入不同的存储体以避免存取冲突。基于“解码器-第一码设计”规则在图16中示出了并行校验节点处理器的结构。 让我们考虑该解码器的运算速度估计 其中Fd为FPGA时钟速率,ζ为计算的并行因子,R是码率,α是码符号重复因子 (均值),I为迭代次数。Z等于并行计算消息的数目。在一个FPGA时钟处理的相应数据位的数目是按迭代 次数计算并且分开以便获得吞吐量及解码器运算速度。以下公式被施加到并行LDPC解码 器以计算其运算速度。交织器设计存在两种交织器设计的途径。 代数 随机考察了代数交织器对于速率R> 1/2(即2/3、3/4、4/5)的性能损失。速率兼容解 码器在速率为1/8-4/5的范围并不适合。具有RA编码器结构的随机交织器集中在本工作中。对交织器的需求可表示为 最大并行因子 对给定的并行因子无性能损失(无低权重码字)考虑RA码结构,可作出以下结论
奇偶校验符号无需交织器,只需按因子2重复。 系统符号需要按至少为3的因子重复以在进行交织之前在Tarmer图(图17) 上表示每个边沿。随机交织器数目需要存储。对于1000位的块按重复因子7的实现需要具有大小为 7000的交织器。它取7000X14位。不工作的数目的产生是不好的想法,因为它占用FPGA 时钟。将交织器分成小的交织器(其数目等于并行因子)是解决方案。每个小交织器上载 到FGPARAM块中。因此,来自交织器的每个数需要8位(参见图18)。高FPGA板上的RAM块的大小是很大的(至少18k)。该块是不会满的并对于存储 8位或16位没有区别。好的交织器可通过随机搜索来发现。通过使用2种以下技术,交织器存储器的需要还可进一步降低 偶奇对称性 扩展的交织器偶奇交织器是对称交织器,它允许将每一个奇位置用偶位置交换,反之亦然。这种 交织器结构满足以下两个限制 奇到偶的转换imod2 ^(i)mod2,Vi 对称性汗(0 = ;=>^rO') = '·假设在交织器向量中只存储了奇位置。所有存储的地址然后为偶数,意味着每个 地址的二进制表示中的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)的所选量化用最大的数来初始化。
17
时钟 第-
个时钟_ 第二个时钟-第三个时钟-第四个时钟-
_说明书_
6个“箱求和”模块
4+4+3 = 11个“箱求和”模块-峰值负载 6个“箱求和”模块 7个“箱求和”模块
15/18 页
因此,对于速率兼容的处理器校验节点,11个“箱求和”模块(最大)及7个“箱求
和”模块(最小)是必需的。计算延时占用4个时钟的“箱求和”模块(最小),以及7个 时钟的“箱求和”模块(最大)。速率组构造在图25中示出。因此,速率2/3、4/5从相当容易实现的速率组中被留下。图26是校验节点处理器2/3的示例。图27是校验节点处理器4/5的示例。基于复杂性降低的节点处理器的111((6即00-1)/(6即00+1))函数(基于tanh() 规则的体系结构)。复杂性降低的另一体系结构在图28中示出。LUT (表格4)用类型-ln eXp (x)-l)/(exp(x)+l)的直接变换来表示。由于该函 数的性质,相同的表格也被用在正向和反向变换中。表 4LUT-6 位 f (χ)={-ln((exp (χ/16)-ι)/
Xf(x)Xf(x)χf(x)χ
155171233449
244181134450
338191035451
43320936352
53021937353
62722838354
72523839355
82324740356
92125741257
101926642258
111827643259
121628644260
131529545261
141430546262
151331547263
161232448264
位宽度增加超过6位不是问题i。在这种情汉化。第六位为软判决模块,第7位为符号位。在这种个
f(x)
在这种情况下,在没有零时该输入值按7位来量 t。在这种情况下LUT可加上零f(0) =0。这个 零没有任何物理意义,并会被用在可变速率解码器的不同节点处理器的合并。
加法器图28为传统的整数加法器。图28示出了输出消息检测模块的原理,它应通过输出消息符号定义原理来完成。在符号处理器处的计算类似于模块定义原理的计算, 由“异或”代替加法来区分。同样变量节点结构必须通过从符号格式到二进制补码的变换 来完成,如符号加法(在变量节点处执行)更便利地按这样的格式执行。校验节点处理器 2+2的完整结构在图29中示出。注意,LUT变换在IRA码中无需奇偶校验符号,如在奇偶校 验节点处的它们的处理考虑简单的转置(图31) —样。LUT变换在初始化的同时执行(图 30)。在图32中示出了用于可变速率解码器的含有复合节点处理器的结构的构成节点处理 器。该结构假定使用两个节点处理器,其中压缩的奇偶校验符号由逻辑单元(1)用零幅度 初始化,并且这个符号被包含在两个构成处理器中。在复合节点处理器处得到的消息的符 号通过具有第二构成节点处理器的输出符号的相应构成节点处理器消息符号的“异或”获 得。在构成节点处理器处得到的消息幅值由具有第二构成处理器的输出幅值的相应构成节 点处理器得到的幅度相加产生。变量节点处理器的结构在图33中示出。输入消息幅值由 LUT在没有变换符号的前提下用同样的表格来变换。所得到的值被变换为二进制补码。在 求和之后,输出消息由这些消息变换为带符号的整数来产生。变量节点处理器的结构,处理较大数目的消息,类似于图33所示。在结果中,所有 变换的输入消息的具有符号的和被写入到“输出”单元,作为软数据位判决,输出消息由来 自“输出”的相应输入消息的LUT变换的减法得到。实现问题及运算速度估计重复累加编码原理的选择因为如下原因作出 尽可能简单地编码 码含有系统及奇偶校验部分 奇偶校验符号的通常交织器 减少到最小的奇偶校验符号重复(2_两次)。运算速度估计公式可不带码率写成 其中ζ是交织器并行因子,α是系统位的重复因子。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 =IOOMHz (28 * IOOMHz)/(24 * 7) = 100MHz/6 = 15MBps。最大 32 个奇偶校验符号需要 并行地上载,因此需要最小16块来存储它们。存储器分配7000/250+16 = 28+16 = 44RAM 块最小。简单压缩或校验节点级联简单压缩工作,但与校验节点级联相比,在FER = 0. 01时有IdB的损失。然而校 验节点级联的算法(图32、图26、图27)需要更多的逻辑FPGA板。仿真结果在图38及图 39中给出。规则码为增加吞吐量及运算速度,实现了规则重复累加码。重复因子降低为3。这就意味 着每一个系统位仅被重复3次。并行因子72通过减小交织器分集(S因子)来实现。交织 器大小为9000且系统部分大小为3000。码率为1/2。规则码的性能损失被忽略。在并行数据流的上载中不存在问题。参见图40及41。运算速度估计为T = (Z * Fd) / (I * Alpha) = (28 * Fd) /(1*7)。令迭代数为 I = 24,且 Fd = IOOMHz (72 * IOOMHz)/(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)但对于本文中描述的校验节点级联的算法有Idb的 损失。参见图43。
20
减小解码迭代次数的影响图43、44及45中示出了示例。迭代次数由100减小到24有03dB的损失。迭代 次数由100减小到10在BER = 10_6处有IdB的损失。按照上面的讲授,本发明的大量的改进及变化都是可能的。因此会理解在所附的 权利要求书的范围内,本发明可按不同于本文具体描述地被实现。
权利要求
一种具有在已扩展的矩阵中避免有多个权重为1的列的基矩阵结构的LDPC编码器。
2.一种实现LDPC码的LDPC编码器,所述LDPC码可由以下具有双对角线结构的奇偶校 验矩阵来表示
3.如权利要求2所述的LDPC编码器,其中整个码按矩阵形式表示如下
4.一种在给定信息序列s的条件下来执行LDPC编码以确定奇偶校验序列ρ的方法,所 述方法包括将所述信息序列s分成ζ位的kb = nb-mb组,令该分组s用u表示, 使用模型矩阵Hb,在ζ的组中确定所述奇偶校验序列P,令被分组的奇偶校验序列ρ用 ν表不, 其中V的各元素为如下的列向量 v(i) = [Piz Piz+i — P(i+i)z-i]T 执行初始化步骤以确定v(0); 执行递归以根据ν (i),0 < i彡mb-2来确定ν (i+1)。
5.如权利要求4所述的方法,其中v(0)的表达格式通过对Hb的行求和导出以获得J=O 1=0其中X为其条目为非负且不成对的hb的行索引,1 < X < mb-2,且Pi表示按大小i循 环右移的zXz单位矩阵,方程(1)通过乘以E^M来对V(O)求解,且1V(U) = P-^WJ ρ为P(x,kb)表示循环移位。
6.如权利要求5所述的方法,其中所述递归按照如下规定
7.一种LDPC解码器,包括并行节点处理结构,其包括变量节点处理器和校验节点处理器,所述并行节点处理结 构被配置成在所述变量节点处理器和所述校验节点处理器之间执行消息传递算法,以对包 括系统数据和奇偶数据的LDPC编码数据进行解码;用于存储从所述校验节点处理器的校验节点到所述变量节点处理器的系统变量节点 的消息的存储器;用于存储从所述变量节点处理器的系统变量节点到所述校验节点处理器的校验节点 的消息的存储器;用于存储在所述变量节点处理器的奇偶变量节点和所述校验节点处理器的校验节点 之间的奇偶消息的存储器;被配置用于对从所述系统变量节点到所述校验节点的消息进行交织的交织器; 被配置用于对从所述校验节点到所述系统变量节点的消息进行去交织的去交织器; 根据LDPC编码数据的码率来选择所述并行节点处理结构中的系统变量节点、奇偶变 量节点和校验节点的数量;以及根据LDPC编码数据中的系统数据的交织来对所述交织器和去交织器进行配置。
8.如权利要求7所述的LDPC解码器,其中所述并行节点处理结构具有多个可选择配 置,每个配置支持相应的LDPC编码数据的码率,每个配置均包括相应的一组与相应的码率 一致的系统变量节点、奇偶变量节点和校验节点。
9.如权利要求7所述的LDPC解码器,其中所述被发送给所述校验节点处理器的校验节 点的交换消息对应于所述LDPC编码数据的奇偶符号产生周期。
10.如权利要求7所述的LDPC解码器,其中所述去交织器包括奇偶交织器。
全文摘要
提供了一种复杂性随着块大小的函数线性增加的LDPC编码器。它们可与包含具有不规则重复模式的重复器、交织器以及执行不规则累加的累加器的简单逻辑一起实现。
文档编号H03M13/27GK101924565SQ201010276240
公开日2010年12月22日 申请日期2005年4月4日 优先权日2004年4月2日
发明者C·罗耶, J·马, M·贾, P·朱, 童文 申请人:北方电讯网络有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1