低密度奇偶校验码的高效解码装置和方法

文档序号:7509621阅读:313来源:国知局
专利名称:低密度奇偶校验码的高效解码装置和方法
技术领域
本发明一般涉及一种纠错解码装置和方法。更确切地说,本发明涉及一种通过降低低密度奇偶校验码(LDPC)的解码复杂度来改进解码性能的装置及方法。
背景技术
通常,由于传输路径产生的噪音,数字通信系统会出现错误,使用各种不同的算法来校正这些误差以消除所产生的误差。在利用目前正在标准化的3G合作伙伴计划(3GPP)或者3G合作伙伴2(3GPP2)的无线通信系统中,提议使用卷积码和Turbo码以用于音频及控制信号的传输。高速传输的Turbo码的优点在于它能在低信噪比(SNR)的条件下获得很低的比特误码率(BER)。然而,Turbo码在代码字之间的最小距离就相对变短。因此,当使用Turbo码编码的信号被解码时,在期望的比特误码点上,可能会出现错误平底(error floor),解码过程中缺陷代码字的检测的失误的概率是相对的高。因此,最近,人们已经开始关注一种在性能上相似或优越于Turbo码的LDPC。
对于相同长度的码字,LDPC相比Turbo码,其最小码距要更大。因此,相比Turbo码来说,误差平底在十分低的BER出现,缺陷代码字的检测失误概率非常低,基于试验近似于“0”。另外,LDPC可以在平行结构中执行,有助于显著减少解码时间,并且可以进行有效解码终止而不需要解码终止算法或开销,比如通过每次迭代解码时所执行的奇偶校验增加的循环冗余校验(CRC)比特。
图1是LDPC解码结构的图。
参考图1,LDPC是具有每一列和行中的1的数目很少的奇偶校验矩阵的代码,它的结构可以用包括校验节点100、可变节点110以及连接校验节点100到可变节点110的边缘115的要素图来定义。在校验节点处理后,从校验节点100传送至可变节点110的值成为校验节点消息115a,在可变节点处理后,从可变节点110传送至校验节点100的值成为可变节点消息115b。
LDPC码的解码过程是通过基于和积算法的迭代解码完成的。优化的和积算法包括相对复杂的计算。因此,使用和积算法需要在解码过程中应用大量计算,因此,增加了硬件的复杂度。
现在将参考图2对LDPC进行更加详细的描述。
图2是根据要素图(factor graph)和奇偶校验矩阵的LDPC示例结构的图。这里,LDPC的结构通过最普遍的要素图定义。要素图是表示分解为局部函数积(product)的多变量全函数的二分图(bipartite graph)。
参考图2,LDPC的要素图包括通过和积算法表示的树状结构。更具体的说,该要素图决定了4个表示LDPC的预定奇偶校验方程的校验节点200的、8个表示码元的可变节点210的、以及表示其间关系的边缘220的结构。边缘220将每个校验节点200与可变节点210相连,可变节点210对应于包括在由校验节点200表示的奇偶校验方程中的码元。这里,显示的是典型规则的LDPC,其中连接到每个校验节点200的可变节点210的数量固定为6,而连接到每个可变节点210的校验节点200的数量固定为3,但并不局限于此。尽管没有图示,但能够提供不规则的LDPC,其中连接到每个校验节点200和可变节点210的边缘的数量不固定。
图2中也显示了表示奇偶校验码的奇偶校验矩阵(H)230,这个矩阵与奇偶校验码的图形表示相似。在奇偶校验矩阵230中,每一行和每一列的1的数目是固定的。即,对应于每个可变节点210和校验节点200之间的连接,奇偶校验矩阵230的每一列都有3个1,而对应于每个校验节点200和可变节点210之间的连接,奇偶校验矩阵230的每一行则有6个1。
解码LDPC的过程是通过重复交换要素图中的校验节点和可变节点为每个独立节点生成和更新的消息的处理而完成的。在这种情况下,每个节点使用和积算法更新消息。在下文将更为详细地描述基于前面解码处理的LDPC码的迭代解码过程。
图3是典型LDPC的方框图。
参考图3,LDPC解码装置包括存储块300,用于存储所接收的信息;可变节点处理器340,用于执行可变节点相关计算(下文称为“可变节点处理”);校验节点处理器320,用于处理校验节点相关计算(下文称为“校验节点处理”);奇偶校验块330,用于通过检查在校验节点中是否校正所有的错误来确定是否执行迭代解码;和存储器访问控制器310,用于执行快速、高效的存储器访问。
以下将简单阐述LDPC解码顺序。
第一,所接收的码元存储于存储块300中作为可变节点的初始值。
第二,校验节点处理器320读取存储于存储块300中的可变节点的值,奇偶校验块330对读取的可变节点值进行奇偶校验,以及校验节点处理器320计算读取的可变节点值的0和1的传输路径变换概率,并将计算所得的概率值作为可变节点值盖写在存储块300中。
第三,可变节点处理器340读取盖写在存储块300中的可变节点值,并利用所读取的可变节点值计算对数似然比(LLR)。
第四,重复第二步和第三步处理直至奇偶校验块330完成奇偶校验,并确定终止迭代解码,因此提高了可靠性。
可变节点处理器340和校验节点处理器320分别读取并计算存储区域中对应奇偶校验矩阵中的行和列的1的位置的值,并将计算出来的值盖写在相同的存储区域中。
如以上所述,分别执行校验节点处理和可变节点处理的计算算法使用大容量存储器。即,存储块300需要存储所有边缘的信息,而校验节点处理器320和可变节点处理器340从存储块300各自读取必要的值以执行相应计算并计算LLR值。这种情况下,在对所有边缘执行校验节点处理后,该算法执行可变节点处理。因此,当算法执行校验节点处理时,可变节点处理器340就在空闲模式中工作。当算法执行可变节点处理时,校验节点处理器320同样也在空闲模式中工作。即,算法必须从单一存储块中读取各种类型的数据,而导致存储器访问延迟。
因此,一种通过降低低密度奇偶校验码(LDPC)的解码复杂度而改进解码性能的系统和方法是十分必要的。

发明内容
本发明的目的实质上是至少解决上述问题和缺陷,并至少提供下述优点。因此,本发明的目的就是提供一种LDPC解码器高效实施的解码算法和一种适合的解码器结构。
本发明的另一目的是提供一种LDPC码解码器的高效实施的存储器结构和一种根据此存储结构的高效解码算法。
本发明的又一目的是提供一种使LDPC解码器中存储器分段最小化,以及同时进行校验节点处理和可变节点处理的方法和装置。
根据本发明的一个方面,提供了一种在移动通信系统中使用低密度奇偶校验码对前向纠错码进行解码的装置。该装置包括校验节点处理器,用于接收多个校验节点的接收信息,并对所接收到的信息进行校验节点处理;累加器,用于将来自校验节点处理器的校验节点输出值与在前累加值相累加;边缘存储器,用于存储校验节点输出值;以及至少两个累加存储器,用于存储来自累加器的累加值和在前累加值。更进一步地,该装置还包括减法器,用于从累加器所提供的累加值中减去从边缘存储器读取的校验节点输出值;硬判决块,用于对接收的信息以及减法器的输出值进行硬判决;比特缓冲器,用于存储硬判决结果;以及奇偶校验块,用于对硬判决结果进行奇偶校验以决定是否终止迭代解码。该装置还包括多路复用器,用于传送减法器的减法结果值至校验节点处理器来执行迭代解码操作,同时,还传送减法判决值至硬判决块。
根据本发明的另一方面,还提供了一种在移动通信系统中使用低密度奇偶校验码对前向纠错码进行解码的方法。该方法包括下列步骤逐行接收来自多个校验节点的接收的信息,以及对所接收的信息进行校验节点处理;将校验节点处理的结果值与在前累加值相累加;存储校验节点处理的结果值;以及分别存储累加值和在前累加值。该方法还进一步包括这些步骤从累加值中减去校验节点处理的结果值;对接收的信息以及减法结果值进行硬判决;存储硬判决结果值;对硬判决结果进行奇偶校验以决定是否终止迭代解码。该方法还包括存储迭代解码操作的减法结果值,以及同时传送减法结果值至硬判决块的步骤。


本发明上述和其它目的、特征和效果从下面结合附图的详细描述中将会变得更加清楚,其中图1是典型LDPC解码结构图;图2是典型要素图和奇偶校验矩阵图;图3是典型LDPC码的方框图;
图4是传统存储器分段的解码过程图;图5是传统解码算法的流程图;图6是本发明实施例的存储器结构图;图7是本发明实施例的LDPC解码器结构图;图8是本发明实施例的解码算法的概念图;图9是本发明实施例的解码算法的流程图。
全部附图中,相同的附图标记应被理解为表示相同的部件、组件及结构。
具体实施例方式
现在,参考附图将详细说明本发明的具体实施方式
。图中,相同或相似的部件即使在不同附图中都将由相同的附图标记表示。在下面的描述中,为了说明清楚和简洁,现有已知的功能和结构的详细描述将被省略。
图4是根据普通解码过程的存储器分段图。
参考图4,为奇偶校验矩阵和单位矩阵分别提供存储器,该存储器被分割成与节点数量相同的许多子量度块(如校验节点处理器和可变节点处理器)。即,存储器的行与校验节点并联,而根据存储器的列分割出的子量度块与可变节点并联。每个阴影小方块表示子量度块,其中所接收到的信号“1”被存储。
在步骤1中,接收的信息输入给每个存储器的子量度块。
在步骤2中,校验节点处理块410对从每一列中分割出的子量度块的每个值进行校验节点处理以及奇偶校验,然后将校验节点处理结果值存回子量度块中,由此更新校验节点消息。
在步骤3中,可变节点处理块420读取每一行的子量度块中更新的值,并对所读取的值进行可变节点处理,进行硬判决并进行LLR计算,然后,将结果值存回子量度块中,由此更新可变节点消息。存储器的子量度块的大小根据可变节点和校验节点的处理器数目决定。因此,可变节点和校验节点处理器的数目增加将会导致存储器分割出的子量度块数目的增加,使得硬件复杂度增加。但是,可变节点和校验节点处理器数目减少导致存储器分割出的子度量块数目减少,导致存储器访问速度和通过量的减少。
图5是普通LDPC解码算法的流程图。
如图5所示,校验节点处理过程580和可变节点处理过程590在循环基础上进行连接,而且一个计算过程是在另一个计算过程完成之后执行。这两个计算过程一直迭代直至在奇偶校验中的算法完成。
在步骤500中,校验节点处理器读取接收的信息,并将读取的信息存储于存储器中。这一过程称为“LDPC解码的初始化”。
在步骤510中校验节点处理器读取存储于存储器子量度段中的信息位,当在步骤525中对信息位进行奇偶校验时,在步骤520中进行校验节点处理。如果奇偶校验结果为“优”,那么校验节点处理器就停止迭代(迭代解码)。否则,在步骤530中校验节点处理器将用校验节点处理结果更新存储器中的可变节点值,因此也更新校验节点消息。在执行校验节点消息更新处理之后,初始化可变节点处理过程590。
在步骤540中,可变节点处理器从存储器子度量块中读取根据校验节点信息更新的可变节点值。可变节点处理器在步骤550中对更新的可变节点值求和,在步骤560中从总和的结果值中减去相应行的可变节点值,并在步骤565中对减法结果值执行硬判决。在步骤570中,可变节点处理器在存储器的子量度块中将减法结果值存为可变节点值,然后返回步骤510。
如上所述,普通LDPC码解码算法在对所有信息位执行校验节点处理之后执行可变节点处理。与这样的普通算法相比,根据这里所述本发明实施例的算法仅使用校验节点处理器而不包括可变节点处理器并行执行校验节点处理与可变节点处理,由此增加了通过量。
图6是根据本发明实施例的存储器结构图。
如图6所示,存储器600被分割成与校验节点处理器数目(D)相同的数量的子量度块,以便子量度块可以一对一地映射到校验节点处理器。子量度块的大小(Ssub_metric)是根据存在于设计者定义的奇偶校验矩阵的每行中1的数量来决定的。
更具体的说,存储器600中的输入信息被分成与子量度块数目D,即,校验节点处理器的数目D相同的每行信息片。这里,输入信息的每行信息被称为“一个字(word)”。
数字(Nsub_block#)表示映射到一个子量度块的校验节点数目,并且与每行中存储的1的数量相等。大小(Ssub_block_size#)表示子量度块的大小,并与存储于它们的相关子量度块的校验节点中1的数量相等。
当输入到子量度块的数据形成字时,存储器600的输入数据也具有相对宽的比特宽度。因此,该信息也同时输入到映射到子量度块的校验节点中,并且校验节点的输出值也输回给存储器600,因此充分保证了校验节点的并行性。
图7是根据本发明实施例的LDPC解码器的结构视图。
参考图7,LDPC解码器包括边缘存储器710,其映射到校验节点处理器760的校验节点;以及两个累加(ACC)存储器730a和730b。该边缘存储器710最好没有存储各个硬判决值的独立存储器空间,而且最好具有如图6所示的存储器结构。硬判决块770的解码结果则存储于比特缓冲器780中。
校验节点处理器760在存储接收的信息的接收缓冲器中对从每个子量度块中接收的每行信息进行校验节点处理,然后使用校验节点处理的结果值更新边缘存储器710中的校验节点值。
从校验节点处理器760中输出的值通过累加器720加到存储于第一累加存储器730a的先前校验节点值中,然后再存储于第二累加存储器730b中。即,第一累加存储器730a在执行当前校验节点处理前存储先前的校验节点值,而第二累加存储器730b存储通过将当前校验节点值加到第一累加存储器730a中的先前校验节点值而累积的值。
减法器740将存储于边缘存储器710中的值中的相应子量度块的存储值从第二累加存储器730b的累加值中减去,并将减法结果通过多路复用器(MUX)750提供给校验节点处理器760和硬判决块770。硬判决块770通过使用减法结果进行硬判决选择0或1中的一个。
比特缓冲器780存储来自硬判决块770的硬判决解码值,而且奇偶校验块790对硬判决值执行奇偶校验。如果奇偶校验块790的奇偶校验结果为“优”,则LDPC解码器停止迭代,并输出比特缓冲器780中的硬判决值作为解码结果。但是,如果奇偶校验结果为“差”,LDPC解码器就读取接收缓冲器的下一子量度块中的接收的信息。
如图7所示,根据本发明实施例的LDPC解码器使用两个累加存储器730a和730b来存储先前迭代的校验节点值和通过将校验节点值累加到每个子量度块的当前迭代而产生的总和值,且并不使用可变节点处理器。在传统LDPC解码器中使用的可变节点处理器与校验节点处理器尺寸类似。因此,根据本发明实施例的LDPC解码器的存储能力提高了,但是由于可变节点而减少了存储器分段和不使用可变节点处理器,所以由于增加了存储器输入/输出端口就降低了其复杂度,并提高了通过量。
现在参考图4和图8将描述根据本发明实施例的解码算法。
图8是根据本发明实施例的解码算法的概念图。
与传统解码算法中必须顺序执行图4中的步骤2和步骤3以能执行一次迭代操作相比,根据本发明实施例的解码算法仅需利用图8中的步骤2进行解码。
更具体的说,参考图8,存储器800的每一行被分割为与校验节点处理器数目相同的子量度块,且每个阴影小方块存储所接收的信息中的值“1”。
在步骤1中,接收到的信息逐行地输入给存储器800中每个子量度块。
在步骤2中,在方框840中,解码算法读取子量度块中的存储值,并对读取的存储值执行校验节点处理和奇偶校验。在方框820中,校验节点处理的结果值被累加至子量度块中的存储值。解码算法从该累加值中减去校验节点处理的结果值,从而计算可变节点值。该可变节点值作为存储值被存储回子量度块中。在对可变节点值执行奇偶校验后,如果奇偶校验结果为“优”,则解码算法停止迭代。但是,当奇偶校验结果为“差”时,解码算法继续进行迭代。
图9是根据本发明实施例的新颖的解码算法的流程图。
如图9所示,在步骤902中,LDPC解码器从接收缓冲器中的子量度块中读取接收的信息。在步骤904中,所读取的接收信息存储于累加存储器中,并在步骤906中进行校验节点处理,由此生成校验节点输出值。在步骤908中,边缘存储器中的存储值被校验节点输出值所更新,基本上同时,在步骤910中,校验节点输出值与先前迭代的校验节点输出值累加,生成可变节点消息。在步骤914中,生成的可变节点消息用来更新与之相关的子量度块中的累加值。
一旦对全部接收的数据完成校验节点的处理后,解码器就停止对校验节点输出值的累加。接着,在步骤918中,为下一次迭代,解码器从子量度块中读取更新的累加值,并在步骤912,读取更新的边缘存储器值,即,更新的校验节点输出值。在步骤916中,解码器从累加存储器中所累加的更新校验节点输出值中减去边缘存储器中更新的校验节点输出值。在步骤920和922中,解码器再分别对减法结果值,即,校验节点输入值,进行硬判决和奇偶校验。如果奇偶校验结果为“优”,解码器就停止迭代并输出硬判决值。
在步骤906至910中,校验节点和累加器并行地接收输入值,有助于简化存储访问过程。
从上前述应该明白,本发明改进了LDPC存储器分段和解码算法不够有效的缺点,并能同时执行校验节点处理和可变节点处理,因此提高了通过量。另外,本发明通过简单的存储器分段和简化节点处理器降低了硬件复杂度。
虽然本发明已参考其特定的实施例进行了显示及说明,但是本领域技术人员应能理解,在不脱离本发明的后附权利要求所限定的精神和范围的情况下,可对其在形式和细节上做出任何的变化。
权利要求
1.一种在移动通信系统中使用低密度奇偶校验码对前向纠错码进行解码的装置,该装置包括校验节点处理器,用于接收多个校验节点的接收信息,并对所接收的信息进行校验节点处理;累加器,用于将来自校验节点处理器的校验节点输出值与在前累加值相累加;边缘存储器,用于存储校验节点输出值;多个累加存储器,用于存储来自累加器的累加值和在前累加值;减法器,用于从累加器所提供的累加值中减去从边缘存储器中读取的校验节点输出值;硬判决块,用于对接收的信息以及减法器的输出值进行硬判决;比特缓冲器,用于存储硬判决结果;奇偶校验块,用于对硬判决结果进行奇偶校验以决定是否终止迭代解码;和多路复用器,用于传送减法器的减法结果值至校验节点处理器来执行迭代解码,基本上同时,还传送减法结果值至硬判决块。
2.如权利要求1所述的装置,其中,如果奇偶校验结果为优,奇偶校验块被配置为停止迭代解码并输出硬判决结果。
3.如权利要求1所述的装置,其中,所述边缘存储器被分割为独立映射到多个校验节点处理器的子量度块。
4.如权利要求3所述的装置,其中,分割的子量度块映射到多个校验节点,并且被配置为至少存储接收信息和校验节点输出值之一。
5.如权利要求4所述的装置,其中,接收的信息被分成与子量度块的数目相对应的字单位。
6.一种在移动通信系统中使用低密度奇偶校验码对前向纠错码进行解码的方法,该方法包括以下步骤逐行接收来自多个校验节点的接收的信息并对所接收的信息进行校验节点处理;将校验节点处理的结果值与在前累加值相累加;存储校验节点处理的结果值;分别存储累加值和在前累加值;从累加值中减去校验节点处理的结果值;对接收的信息以及减法结果值进行硬判决;存储硬判决结果,并对硬判决结果进行奇偶校验以决定是否终止迭代解码;和存储迭代解码的减法结果值,基本上同时,传送减法结果值至硬判决块。
7.如权利要求6所述的方法,其中,决定的步骤包括下列步骤决定奇偶校验结果是否为优;以及如果奇偶校验结果为优,就停止迭代解码并输出硬判决结果。
8.如权利要求6所述的方法,其中,校验节点处理的结果值存储于独立映射到多个校验节点的子量度块中。
9.如权利要求8所述的方法,其中,接收的信息被分成与子量度块的数目相对应的字单位。
10.一种在计算机可读介质上实施的移动通信系统中使用低密度奇偶校验码解码对前向纠错码进行解码的计算机程序,包括第一组指令,用于逐行接收来自多个校验节点的接收的信息,以及对所接收的信息进行校验节点处理;第二组指令,用于将校验节点处理的结果值与在前累加值进行累加;第三组指令,用于存储校验节点处理的结果值,并分别存储累加值和在前累加值;第四组指令,用于从累加值中减去校验节点处理结果值,并对接收的信息和减法结果值执行硬判决;第五组指令,用于存储硬判决结果,并对硬判决结果执行奇偶校验以决定是否停止迭代解码;第六组指令,用于存储迭状解码的减法结果,基本上同时,将减法结果传送给硬判决块。
全文摘要
本发明涉及一种移动通信系统中使用LDPC码对前向纠错码进行解码的装置及方法。校验节点处理器对多个校验节点接收到的信息执行校验节点处理,累加器将校验节点处理器的校验节点输出值与先前累加值进行累加。边缘存储器存储校验节点输出值,以及两个累加存储器分别存储累加器的累加值和先前的累加值。减法器从累加值中减去校验节点输出值,和硬判决解码块对接收到的信息以及减法器输出值进行硬判决解码。比特缓冲器存储硬判决解码结果,和奇偶校验块对硬判决结果进行奇偶校验以决定是否终止迭代解码操作。多路复用器传送减法结果值至校验节点处理器和硬判决解码块。
文档编号H03M13/00GK1767397SQ20051012499
公开日2006年5月3日 申请日期2005年10月12日 优先权日2004年10月12日
发明者朴成镇, 金相晓, 金汉柱, 金潣龟 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1