CN1989696A - 对低密度奇偶校验码的分层解码方法的改进 - Google Patents

对低密度奇偶校验码的分层解码方法的改进 Download PDF

Info

Publication number
CN1989696A
CN1989696A CN 200580024445 CN200580024445A CN1989696A CN 1989696 A CN1989696 A CN 1989696A CN 200580024445 CN200580024445 CN 200580024445 CN 200580024445 A CN200580024445 A CN 200580024445A CN 1989696 A CN1989696 A CN 1989696A
Authority
CN
China
Prior art keywords
row
piece
parity
matrix
data
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.)
Granted
Application number
CN 200580024445
Other languages
English (en)
Other versions
CN100593911C (zh
Inventor
D·E·霍切瓦尔
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.)
Texas Instruments Inc
Original Assignee
Texas Instruments 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 Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of CN1989696A publication Critical patent/CN1989696A/zh
Application granted granted Critical
Publication of CN100593911C publication Critical patent/CN100593911C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

一种对通信***中接收到的层数据进行解码的方法,包括接收包含多个元素的码字(200)和通过把与该码字相关联的奇偶校验矩阵的至少一列的各行分组,而将所述多个元素转化成概率值(204),并单独处理至少一些组(206)。

Description

对低密度奇偶校验码的分层解码方法的改进
背景技术
【0001】许多数据通信技术面临的一个普遍问题是由于噪声引起的数据的讹误。通信信道的信噪比(SNR)是在此信道上进行的通信的质量指标,这是因为该信噪比传达了载有数据(随空间和时间而衰减)的信号和该信道中出现的噪声的相对强度。这些因素直接涉及在信道上接收到的数据位或符号相对于发送的数据位或符号出错的可能性。这个可能性由信道上的通信的错误概率反映,一般表示成比特误码率(BER),它是错误地接收和解码的比特与总的发送的比特的比率。一般而言,开发通信技术时,应该考虑数据通信中出错的可能性。用于通信的数据中的检错和纠错技术应该被并入到有用的通信技术中。
【0002】为此,错误检测和错误纠正技术通过使用数据的冗余编码来实现。通常,冗余编码包括向发送的数据流中***数据位,该数据位不增加任何附加信息,但指示在接收到的数据流中是否出现错误。尽管会出现错误,但更复杂的码具有从接收到的数据流中推导出真正发送的数据的能力。
【0003】一种解码技术称为分层解码。分层解码,下文将对其进行详细描述,通常包括分组或分层地处理奇偶校验矩阵的行。每层是以连续的次序进行处理的,每层的处理依赖于从紧接的前面层的处理中获得的数据。然而,这些解码器的结构被设计成致使在每层的处理之间存在固有的数据等待时间。例如,要开始处理奇偶校验矩阵中的层,必须首先获得通过处理前面一层获得的数据。然而,该数据并不是立刻可用的;相反,该数据可能仍在解码器管道中,在到达目的点的途中,数据在目的点被收集以用于处理。这种数据等待时间使解码器的性能受到损害。
发明内容
【0004】以上指出的一些或全部问题可通过对用于低密度奇偶校验(LDPC)码的一种分层解码方法进行改进来解决。一个示例性的实施例可包括接收包含多个元素的码字,通过将与该码字关联的奇偶校验矩阵的至少一列的各行分组而将所述多个元素转化成概率值,并单独处理至少一些组。
【0005】另一个实施例包括接收包含多个元素的码字,该码字与具有多列和多行的奇偶校验矩阵关联,并将该奇偶校验矩阵的至少一些列的至少一些行划分成组,其中每一组被单独处理。
【0006】又一实施例包括耦连到存储器的多个并行计算块,耦连到所述计算块的多个奇偶校验更新块(PCUB),和耦连到所述PCUB的多个列存储块(CSB),每一个列存储块包括一个存储器。该***将奇偶校验矩阵的至少一列的至少一些行划分成组,其中该***单独处理每一组。
附图说明
【0007】现在参考附图对本发明的示例性实施例进行详细描述,其中:
图1a图示了一个奇偶校验宏矩阵;
图1b图示了图1a的奇偶校验宏矩阵的子矩阵;
图1c图示了图1a的奇偶校验宏矩阵,其中的元根据本发明的实施例被重新排列;
图2图示了根据本发明的实施例的流程图;
图3图示了根据本发明的实施例的LDPC解码器结构的框图;
图4图示了列求和块的框图;
图5a和5b图示了根据本发明的实施例的阶段序列和存储操作序列;和
图6图示了根据本发明的实施例的列求和存储器的框图。
具体实施方式
【0008】在下述讨论及权利要求中,术语“包括”和“包含”以开放方式使用,因此应该解释成“包括,但不局限于…。”的意思。类似地,术语“耦连”旨在表示非直接电连接或直接电连接。因此,如果第一设备耦连到第二设备,那么这种连接可通过直接的电连接,或通过经由其它的设备或连接物的非直接电连接。而且,符号“「 ”表示上取整函数。
【0009】以下讨论针对本发明的各种实施例。尽管这些实施例中的一个或更多个是优选的,但公开的实施例不应该被解释成或被用来限制本发明的范围。此外,本领域的技术人员应理解以下的描述具有广泛的应用,且对任何实施例的讨论只意味对该实施例的示例性说明,并不旨在明确表示本发明的范围限于该实施例。
【0010】此处公开的是一种改进的分层解码算法,该算法去除了上面描述的数据依赖性,因此相对于已知技术对解码性能提供了相当大的改进。还公开了一种可用于将该改进的算法实施到任何合适的通信***中的硬件***。具体地讲,该改进的算法可包括将奇偶校验矩阵的一些或所有的块行划分成单独的组,每一组独立于其它组而被处理。因为任何单独的一组都不处理奇偶校验宏矩阵的两个连续的块行,所以减轻或消除了前面所述的数据等待时间问题。
【0011】一类冗余码是低密度奇偶校验(LDPC)码。根据这类码,稀疏矩阵H定义了该码,有效载荷数据的编码或码字c(即,待发送的数据)在伽罗瓦域GF(2)上满足:
Hc=0    (1)
每一码字c由源消息s与该源消息s的相应奇偶校验位的组合构成。编码c被发送,接收网络元素接收信号向量r=c+n,n为信道加入的噪声。因为接收器处的解码器知道矩阵H,所以它能计算向量z=Hr。然而,因为r=c+n,又因为Hc=0:
z=Hr=Hc+Hn=Hn    (2)
因此解码过程包括在GF(2)上找到满足下面等式的最稀疏的向量x:
Hx=z    (3)
向量x变成噪声向量n的最佳猜测,从接收到的信号向量r中减去x以恢复编码c,原始的源消息s是可从编码c恢复的。
【0012】高性能LDPC码解码器通常难以在硬件中实现。尽管香农理论认为随机码是好码,但有规律性才允许高效的硬件实现。为了解决码无规律性和硬件效率之间的较难折衷,置信度传播技术提供了一种比较高效的LDPC解码的迭代实现。置信度传播解码算法也可称作概率传播算法、消息传递算法及和-积算法。
【0013】迭代的置信度传播算法以LDPC码的二进制奇偶校验特性为基础。正确的LDPC码字向量和奇偶校验矩阵的每一行的积为零。根据置信度传播方法,接收到的数据用来表示具有输入节点和校验节点的二分图的每个输入节点(即,“位节点”)处的输入概率。在置信度传播方法的每一次迭代中,位概率消息从输入节点传递到校验节点,并根据奇偶校验约束被更新,更新值被送回到输入节点并在输入节点处求和。该数据一般表示成对数似然比(LLR),被定义成:
L ( c ) = log ( P ( c = 0 ) P ( c = 1 ) ) - - - ( 4 )
这里c是通过信道接收到的编码位。
【0014】在其传统的实现方式中,置信度传播算法使用二值阵列,第一阵列L存储j个输入节点的对数似然比,第二阵列R存储m个奇偶校验节点更新的结果,m为奇偶校验行下标(index),j为奇偶校验矩阵H的列(或输入节点)的下标。该传统方法的一般操作的第一步是通过为每一校验和(奇偶校验矩阵的行)从用在该校验和中的其它输入估计一个输入节点值的概率,确定R值。该算法的第二步是通过为每一列组合来自该输入节点参与的奇偶校验矩阵各行的该输入节点的R值,确定阵列L的对数似然率概率值。然后从得到的概率值做出“硬”判决,并将其应用到该奇偶校验矩阵。重复该两步迭代方法直到满足(1)(在GF(2)上所有的奇偶校验行等于零),或直到达到另一收敛判据,或已经执行了终止次数的迭代。LDPC解码的更进一步详细讨论见共同转让的美国申请10/329,597号,其标题为“Hardware-Efficient Low DensityParity Check Code For Digital Communications(用于数字通信中的硬件有效低密度奇偶校验码)”,公布号为US 2004/0034828 A1,这里通过引用将其并入。
【0015】以上提到的申请10/329,597号描述了特别好地适于置信度传播解码器电路中的高效硬件实现的低密度奇偶校验(LDPC)码。具体地,LDPC码被布置成宏矩阵,该宏矩阵的行和列代表相应的奇偶校验矩阵的块行和块列。每一零元对应于p×p阶的全零子矩阵。相反地,每一非零元对应于p×p阶的置换子矩阵,诸如循环移位的单位矩阵,该移位对应于宏矩阵中置换子矩阵元的位置。因此,宏矩阵充当奇偶校验矩阵的“速记符号或简化符号”形式。宏矩阵的列被分组,以使宏矩阵组中仅有一列对任何给定的行中的奇偶校验和有贡献。解码器电路包括奇偶校验值估计存储器,其被布置成在各种数据宽度和深度上逻辑相连的存储体(bank)。并行加法器产生施加到奇偶校验更新电路的外在估计,用于产生新的奇偶校验值估计。这些奇偶校验值估计被存储回存储器中,并被转送到更新电路,用于更新输入节点的概率值。
【0016】关于迭代解码的一种方法称作“分层解码”,其中上面描述的奇偶校验矩阵可被看作是水平层或行的集合,且每一层可代表一个分量码(component code)。通过将解码算法应用到每一连续层来执行分层解码。对特定的层执行解码算法包括使用解码前面的层得到的计算结果。因为可使用并行的解码硬件来执行分层解码算法,且更具体地,因为分层解码算法极大地不同于传统的置信度传播算法,所以解码性能也优于不使用分层解码算法和/或并行解码硬件的解码过程的性能。
【0017】以上描述的置信度传播算法可用分层解码模式执行,如以下(5)-(11)所示。奇偶校验矩阵的行被分组成非重叠子集,其中每一子集的每一列具有最大权重1;也就是,每一子集中的每一列具有一元的最大值。例如,在图1a中,分层解码可通过把由p行构成的奇偶校验宏矩阵100的每一行作为解码过程中的一层来执行。把每一子集作为一个单元来处理,且使用来自前面子集的结果一个接一个地处理各子集。矩阵100中的每一个“1”元代表一个p×p子矩阵102,如图1b所示,该子矩阵优选为一个循环移位的单位矩阵。矩阵100中的每个“0”(即空白)元代表一个全为零元的p×p子矩阵。
【0018】基本上,分层解码包括在接收到的码字c的值被发送之前,使用以下(5)-(11)来确定接收到的码字c的值。实际接收到的码字由分数(如,多值元或软数据)而不是二进制位构成。通常,这些分数用来计算包含对应于奇偶校验矩阵的每一元的Rmj值的阵列R。这些Rmj值通过列组合形成向量L。向量L的元值L(qj)代表接收到的码字的每一元在发送前原来为二进制“0”位或“1”位的数学概率。相应地,具有二进制位的向量c被确定。向量c的每一元对应于向量L的一个元。例如,如果向量L的第一元包含指示在发送前该元是“0”位的值,则向量c的第一元可被赋予“0”位。类似地,如果向量L的第四元的元值指示在发送前该元极可能是“1”,则向量c的第四元可被赋予“1”。然后通过校验对于向量c和奇偶检验矩阵H来说(1)为真,确定解码的准确性。如果(1)为真,在发送器侧向量c被发送时,其已经在接收器侧被重新创建。如果(1)不为真,则执行该过程的另一次迭代。一旦满足各种条件中的任何一个,诸如完成预定次数的迭代之后或确定(1)为真之后,可终止该过程。
【0019】从数学上讲,该过程开始于使用多值的接收的软数据,每个j(j)的对数似然率L(qj)的一个初始化估计值。一般地,对于加性白高斯噪声(AWGN)信道,该初始估计值为-2rj2,这里σ2表示信道的噪声。对校验和子集的每一行m的每一列j,每行(或外在的)LLR概率被推导为:
L(qmj)=L(qj)-Rmj    (5)
这些每行概率等于输入值概率的估计值,不包括该行本身对估计值的贡献。在至少一些实施例中,如下面(6)所示能推导出值Amj和符号值smj。本公开内容的范围并不局限于(6)-(10)给出的等式;(6)-(10)的任何部分可由任何其它合适的运算或近似值代替。而且,(6)-(10)都可完全由可替代的合适算法替代:
A mj = Σ n ∈ N ( m ) ; n ≠ j Ψ ( L ( q mn ) ) - - - ( 6 )
尽管可使用多个运算形式中的任何一个用于(6),或可使用除(6)及其变体以外的任何其它合适的计算/逼近或近似技术,根据本发明优选实施例的函数Ψ的一个例子为:
ψ(x)≡log(|tanh(x/2)|)=log(tanh|x/2|)    (7)
 函数Ψ是它自己的负反:Ψ(Ψ(x))=-|x|。为计算方便,可将tanh(L/2)表示成:
tanh ( L 2 ) = ( e L - 1 e L + 1 ) - - - ( 8 )
符号由下式确定:
s mj = Π n ∈ N ( m ) ; n ≠ j sgn ( L ( q mn ) ) - - - ( 9 )
其为负概率数目的奇/偶确定,不包括每一列自己的贡献。每个值Rmj的更新估计值变成:
Rmj=-smjΨ(Amj)    (10)
等式(10)中的smj项前面的负号是有意加入的,这是因为函数ψ是它自己的负反。值Rmj因此对应于从奇偶校验矩阵第m行的其它输入节点推导出的输入节点j的对数似然率估计值,不使用输入节点j本身的值。
【0020】在每一解码迭代的第二步,更新每一输入节点的对数似然率估计值。根据本发明优选的实施例,这是在每一列(即,每一输入节点)上执行的,可表示成:
L(qj)=L(qmj)+Rmj    (11)
这里估计的值Rmj是本推导中来自等式(10)的最近更新。这个列估计值将用在硬判决校验中。与用于此迭代的等式(5)中使用的Rmj的值相反,它是从前面的迭代在奇偶校验矩阵H的这个子集上产生的值。
【0021】确定迭代是否已经收敛到一无误的解码是以每列的对数似然率L(qj)为基础的:
L(qj)≥0,cj=0    (12a)
L(qj)<0,cj=1    (12b)
然后,码字向量c={c0,c1,...cN}应用到奇偶校验矩阵H,以确定积是否为零,其如上述那样指出码字向量c是有效码字,从该码字可容易地提取有效载荷数据部分。分层解码的更进一步细节在共同转让的美国专利申请“Layered Low Density Parity Check Decoding For DigitalCommunications(用于数字通信的分层的低密度奇偶校验解码)”中进行了讨论,该申请序列号为10/806,879,这里通过引用将其并入。
【0022】如前面提到的,奇偶校验宏矩阵包括多行和多列。宏矩阵中的每一元代表奇偶校验矩阵中一个p×p阶的子矩阵。因此,宏矩阵中的每一行代表奇偶校验矩阵中的p行,宏矩阵中的每一列代表奇偶校验矩阵中的p列。这些p行共同形成一个块行(即,层),p列一起形成一个块列。在使用分层解码技术的算法中,包括p行的奇偶校验矩阵的每一层,以连续的次序被处理。对每一层的处理依赖于处理前面一层获得的结果。奇偶校验宏矩阵中的每一元代表一个p×p阶的子矩阵。子矩阵的大小p和并行化因子z确定了每一层的最短的可能处理时间为「p/z
Figure A20058002444500111
周期,假设z行通常在每个周期中被处理。然而,存在涉及把z行或z列数据移动通过解码器的各组件的数据和/或处理等待时间。通常,可能有遍及解码器中的各硬件层的数据管道延迟,这是因为在单个时钟周期中,推动数据通过解码器的至少一些组件可能是不可能的。如前面提到的,分层解码迫使待解码的每一层具有对前一层的数据依赖性。因此,在解码当前层之前,要强制使解码器的组件等待前一层的完成,以使来自前一层的数据可用于解码当前层的过程中。相应地,每一层的有效时间是每一层全部的数据等待时间和「p/z
Figure A20058002444500112
的最短周期时间。层处理时间(即,周期时间)增加了数据等待时间值。此数据等待时间对解码器的吞吐量有极大的负面影响。
【0023】例如,参看图1a的奇偶校验宏矩阵100,当非零元立即出现在另一非零元下面时,包括最后一行回到第一行的循环环绕的情况,会出现上而讨论的数据依赖性问题。数掘依赖性问题的产生是因为如上所述的处理特定行中的特定列必需的数据可能不可用。在宏矩阵100的垂直列分组1,3,5,6,7,8和9中,该数据依赖性问题会出现在每一列中。在分组2和4中,数据依赖性问题仅出现在最后两列中。
【0024】如上所述,向量L中的每一分量上向L(qj)是最新Rmj项的累加值,这是通过在等式(5)山消除每个以前的Rmj项且在更新的项变成可用时,在等式(11)中增加该更新的项来实现的。如果该更新的项不可用,则存在数据依赖性问题。通过将单个L(qj)累加值划分成两个单独的累加值(即,组),其相对于第j列标记为A和B,而消除列j的数据依赖性问题,以下将对其进行详细描述。每一块行也可以被标记为A或B。在优选的实施例中,每一块列的各块行可以被标记为不同于另一块列的各块行。对于给定的列j,标记为A的块行可与A累加值相关联,而标记为B的块行可与B累加值相关联。也可以使用任何适当的,可替代的标记方案。
【0025】在至少一些实施例中,累加值A将包括来自标记为A的那些块行的项;累加值B将包括来自标记为B的那些块行的项。因此,对奇偶校验矩阵的每一列,L(qj)累加值A和B可分别写成:
L Aj = L ^ j - R ^ A 1 j + R A 1 j - . . . - R ^ ALj + R ALj - - - ( 13 )
L Bj = L ^ j - R ^ B 1 j + R B 1 j - . . . - R ^ BLj + R BLj - - - ( 14 )
【0026】等式(13)和(14)中的每一个实际上包括由等式(5)和(11)执行的计算。在至少一些实施例中,等式(13)仅用于标记为A的行,等式(14)仅用于标记为B的行。 项对应于等式(5)中的直接从前面的迭代得到的项。Rmj项对应于用在等式(11)中的从等式(10)中最新确定的项。对于列j,下标A1j到ALj的序列指如由奇偶校验矩阵定义的、在A标记的块行中有贡献的行。类似地,下标Blj到BLj的序列指如由奇偶校验矩阵定义的、在B标记的块行中有贡献的行。项
Figure A20058002444500124
是迭代开始时列j的L变量的初始值;它的值由下面的等式(15)确定。
【0027】在每次迭代结束时,对于特定的列j,可将LAj和LBj组合以形成对应于总的L(qj)项的单个项。该项可标记为Lj并由下式计算:
L j = L Aj + L Bj - L ^ j - - - ( 15 )
这个Lj在被重新标记为
Figure A20058002444500126
之后,可用于下一次迭代中。
【0028】在至少一些实施例的一些情况下,这种改进的算法使块行A和B可关于列j被轮流处理或交替处理。然而,并没必要以轮流的方式来处理块行A和B;可使用任何处理次序。数据等待时间问题被消除是因为,通过适当地选择累加值A和B,奇偶校验矩阵的连续块行就不会出现在LAj或LBj的计算中。在至少一些实施例中,可使用诸如组A、B和C的附加组。因此,不将块行分成两个单独的累加值,而是可将块行分成三个或更多个单独的累加值。这些累加值以类似于用于两个累加值的方式处理。
【0029】图2所示为描述改进的算法的流程图。该过程从接收包含软数据的码字开始(块200)。之后,对一些或全部的列j,初始化L(qj)、
Figure A20058002444500127
、LAj和LBj为接收的软数据(块202)。对至少一列,但不必要是所有的列,块行可被指定为如上所述的A或B(块204)。然而,在至少一些实施例中,在设计执行该算法的硬件时,可执行这种指定。之后,对至少一些块行中的至少一些行m的至少一些列j计算改进的算法,如在等式(6),(9)和(10)中(块206)。如块206所示,符号Lxj可用来表示LAj、LBj或L(qj),这取决于相关的块行及是否相关的列j正在使用此多累加值技术。可以使用可替代的且基本等同的算法、运算和/或近似值来替代等式(6)、(9)和(10)。在块206中,在计算等式(6)之前,用来自前面迭代的Lxj的值首先更新项L(qmj)。然而,在初始迭代中,由于不存在前面的迭代,可用零值代替
Figure A20058002444500132
。在块206内,在计算等式(10)之后,用等式(6)之前计算的L(qmj)值和来自当前迭代的Rmj的值更新Lxj
【0030】如果已经处理完所有的块行处理208,则该过程可继续;否则处理另一块行(块208)。然后,在块210中,对每一可适用的列将LAj和LBj组合以获得如等式(15)中的向量L的值。在块210中,还将LAj和LBj的值设定为Lj的值。可适用的列j的Lj值可被转换成值以得到向量L(块212),然后基于向量L的概率,向量L被转换成位向量c(块214)。应该理解Lj、L(j)和L(qj)的符号是可互换的。这三项中的每一项都描述了特定列j的向量L的值。当向量c已经在块214中被确定后,如果不满足等式(1),或如果没有完成最多次数的迭代,或不满足任何其它的判据,则重复该过程;否则,该过程完成(块216)。
【0031】改进的算法对实现的误码率有负面的影响。这种负面的影响可通过设计奇偶校验宏矩阵使可能出现该问题的列的数量最少来减到最小,因此减少了改进的算法需要应用到的列的数量。例如,图1a的宏矩阵100有17列可能出现数据等待时间问题。将宏矩阵100重新设计成如图1c所示,以使全部24列中仅有3列有数据等待时间问题,使误差减少可以基本忽略不计。这种重新设计还意味着以上所述的改进算法仅需要实施到几列中;剩下的列可使用任何适用的算法,包括上面的改进算法。
【0032】在此改进算法中的额外计算(15)和与其相关联的更新,在其它已知的算法中并不存在。因为需要附加的时间来执行此计算和其相关联的更新,所以它们造成了该算法的一定程度的低效率。为了使这种低效率最小,在一些实施例中,此计算和其更新优选在一时间间隔中执行,在这段时间间隔中处理器并不对该奇偶校验矩阵的相关列执行任何计算。一个这种类型的时间间隔可在具有至少一个零值作为元的奇偶校验宏矩阵中找到。具体地讲,如果共享和零元相同的行的其它列具有非零元,则处理器对那些非零元执行算法。因为分层解码需要在大致同一时间上对一行的大多数列或全部列执行算法,所以在不对那个特定的列执行计算期间,零元实际上充当“空闲”点。这种时间间隔或空闲点的实例可用来计算(15)。因为(15)是在一个时间周期中进行计算的,否则将不被使用,所以不需要附加的时间来计算(15),且效率受到积极的影响。在一些实施例中,若干次迭代可完全跳过(15)的计算。
【0033】图3示出可用于实现上面描述的改进算法的硬件***300。硬件***300包括一个存储器298、多个奇偶校验更新块(PCUB)302、多个列存储块(CSB)304、一个路由器块310、一个反向路由器块312和多个并行加法器块306和308。接收到的软数据经由数据总线350路由进***300中。接收到的软数据首先路由进CSB304,在其中对j的所有值,数据被初始化成向量L的分量L(qj),如上所述。然后向量L被存储到CSB304中。从CSB304,数据经由数据总线352被馈送到反向路由器块312,数据在反向路由器块312中按***300的要求被重新排列。
【0034】然后向量L,
Figure A20058002444500141
的值经由数据总线354被馈送到并行加法器块306。在并行加法器块306中,对每一列执行等式(5)中的运算或类似的运算/近似,在至少一些实施例中,其可包括(13)和(14)或类似于(13)和(14)的运算/近似。具体讲,从
Figure A20058002444500142
的值中减去Rmj的值。这些减法运算的结果经由总线356和358分别被馈送到PCUB 302及并行加法器块308中。PCUB 302执行运算(6)、(9)和(10),或其等同的运算和/或近似。这些运算的结果经由总线360被路由到并行加法器块308。这些结果还经由总线362被路由到存储器298。在并行加法器块308中使用这些结果来执行(11),其可以为(13)或(14)的一部分;也就是说,并行加法器块306中的运算结果加上在PCUB 302中计算的Rmj值,因此产生值Lxj。使用总线364,这些值被馈送到路由器块310中,路由器块310按需要重新排列这些值。最后,这些值可经由总线366被传送到CSB 304并存储在CSB 304中,用于下一次迭代。
【0035】图4所示为CSB 304的详细图。CSB 304包括对准/移位模块314、地址生成模块316、多路复用器320和列求和存储器318。对准/移位模块314不一定是相同的结构或相同的组成。L向量的值LA和/或LB可存储在列求和存储器318中。在至少一些实施例中,LA和/或LB值可单独存储。如上所述,来自路由器块310的值可存储在CSB 304中。在写运算过程中,这些值经由总线368路由进CSB 304中。对准/移位模块314可根据需要排列数据。多路复用器320允许为经由总线370来自发送信道的数据提供通道,或为经由总线372来自路由器块310的数据提供通道。地址生成模块316可用于存储通过多路复用器320经由总线374进入列求和存储器318的数据。相反地,在读运算过程中,数据经由总线376从列求和存储器318中读出,通过对准/移位模块314来根据需要重新排列数据,且经由总线378传送到图3的反向路由器312中。
【0036】图5a所示是连续的处理阶段和存储操作序列,其可发生在特定块列的迭代开始,无任何时间间隔。图5a可分成五列。列500所示是被处理的段(即,块行A或块行B);列502所示是关于其它A或B行的一个A或B行的下标号;列504示出正在执行的动作(即,读或写);列506提供定时信息;列508示出在一个开始/停止阶段或一个主阶段期间是否发生处理,两者都将在下面进行详细描述。
【0037】阶段510是开始/停止阶段,通常的意思是读操作正开始于下一个块行,而同时正在为当前块行完成写操作。在这种情况下,块行A1正从CSB存储器314中被读出。然而,因为阶段510代表块行A1(该列的第一块行),所以在读操作开始于块行A1时,没有以前的写操作正在完成。由于此原因,块行A1读操作可占据一些或全部的开始/停止阶段510。用于该阶段的时间为等待时间,它是通过所有的数据管道所需要的时间(即,数据离开CSB点到数据返回之间的时间)。
【0038】阶段512是主阶段,通常的意思是单个块行的实质部分正在被处理。这里块行A1正从存储器被读出,之后被写入存储器。该阶段的时间是最短周期时间「p/z
Figure A20058002444500151
和等待时间之间的差值。阶段514是开始/停止阶段,它代表从块行A1读步骤上的操作到所示的块行A1和B1上的操作的过渡。执行阶段514所需的时间是等待时间。开始/停止阶段和主阶段以这种方式继续,直到奇偶校验宏矩阵的所有块行已经被处理完毕。
【0039】图5b示出组合如运算(15)中的LAj和LBj的结果的连续阶段和存储操作序列(即,一旦奇偶校验宏矩阵的所有的块行已经被处理完毕)。图6示出了列求和存储器318的详细图。列求和存储器318包括缓冲存储器600、加法器块604、多路复用器610和存储器612。同时参考图5b和图6,待处理的最后的块行BL在块行B分组中。图5b中标记为X和Y的操作被用来在两个单独的步骤中计算(15)。X步骤计算 T j = L Aj - L ^ j ,Y步骤计算 L ^ j = L Bj + T j 。具体地讲,在X步骤中,数据LAj不被写入存储器612中,而是从总线602上的进入数据流被取出,并与通过总线614从缓冲存储器600读出的
Figure A20058002444500163
数据在加法器块604处组合,产生临时值Tj,临时值Tj通过总线620被写入存储器600中,以代替LAj数据。在Y步骤中,LBj数据不被写入存储器612中,而是从总线602上的进入数据流被取出,并与通过总线614从存储器600读出的临时值Tj组合,产生值Lj,值Lj通过总线620被写入缓冲存储器600中。如上所述,然后这个值Lj可用于奇偶校验矩阵中的下一块行的下一次迭代中。列求和存储器318的数据输出可以经由总线618从存储器612输出传递;经由总线614、626从缓冲器600的输出传递;经由总线624从到缓冲存储器600的输入传递。
【0040】以上讨论旨在对本发明的原理和各种实施例进行示例性说明。一旦完全理解上述公开内容,各种变化和修改对本领域技术人员是显而易见的。例如,可以用存储器、硬件、支持逻辑和操作序列的各种其它配置来实施上述的(多个)算法或其变化。可使用包括任何数量的存储器的解决方法。旨在将本发明解释为包括所有的这些变化和修改。

Claims (11)

1.一种对通信***中接收到的层数据进行解码的方法,包括:
接收包含多个元素的码字;和
通过将与所述码字相关联的奇偶校验矩阵的至少一列的各行分成组,并单独处理至少一些所述组而将所述多个元素转化成概率值。
2.根据权利要求1所述的方法,其中处理至少一些所述组包括:
计算所述组的所述至少一列的概率值;和
组合所述至少一列的所述概率值中的至少一些概率值。
3.根据权利要求2所述的方法,其中组合是在一个时间周期期间执行的,在该时间周期中,对所述至少一列基本不执行其它的处理。
4.根据权利要求1所述的方法,其中将所述奇偶校验矩阵的所述各行分成组包括划分所述至少一列,以使至少一个块行与下一个块行在不同的组中。
5.根据权利要求1所述的方法,其中转化所述多个元素包括转化所述多个元素以使所述至少一列的所述各行不同于另一列的各行被分成组。
6.一个***,包括:
耦连到存储器的多个并行计算块;
耦连到所述计算块的多个奇偶校验更新块PCUB;和
耦连到所述奇偶校验更新块的多个列存储块CSB,每一列存储块包括一个存储器;
其中所述***将奇偶校验矩阵的至少一列的至少一些行划分成组;
其中所述***单独处理每一组。
7.根据权利要求6所述的***,其中所述至少一些行被划分以使至少一个块行与下一个块行处在不同的组中。
8.根据权利要求6所述的***,其中块行被所述计算块和奇偶校验更新块处理,以产生向量。
9.根据权利要求8所述的***,其中所述向量存储在所述列存储块存储器中。
10.根据权利要求6所述的***,其中所述***执行分层解码算法,包括以下步骤:
接收一个码字;和
确定与所述码字相关联的概率。
11.根据权利要求10所述的***,其中所述***执行确定与所述码字相关联的概率的所述步骤是通过下述实现的:
对与所述码字相关联的奇偶校验矩阵的至少一列,将所述矩阵的至少一些所述行划分成组;和
单独处理每一组。
CN200580024445A 2004-07-19 2005-07-19 一种对通信***中接收到的层数据进行解码的方法和*** Active CN100593911C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US58917704P 2004-07-19 2004-07-19
US60/589,177 2004-07-19
US11/056,755 2005-02-11

Publications (2)

Publication Number Publication Date
CN1989696A true CN1989696A (zh) 2007-06-27
CN100593911C CN100593911C (zh) 2010-03-10

Family

ID=38185491

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200580024445A Active CN100593911C (zh) 2004-07-19 2005-07-19 一种对通信***中接收到的层数据进行解码的方法和***

Country Status (1)

Country Link
CN (1) CN100593911C (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102203875A (zh) * 2008-09-30 2011-09-28 Lsi公司 使用参考单元的用于存储器器件的软数据生成的方法和装置
CN103155421A (zh) * 2011-01-14 2013-06-12 马维尔国际贸易有限公司 Ldpc多解码器架构
CN103187979A (zh) * 2011-12-30 2013-07-03 Lsi公司 基于混合域fft的非二进制ldpc解码器
CN105988883A (zh) * 2013-08-26 2016-10-05 三星电子株式会社 具有差错处理机制的计算***及其操作方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102203875A (zh) * 2008-09-30 2011-09-28 Lsi公司 使用参考单元的用于存储器器件的软数据生成的方法和装置
CN103155421A (zh) * 2011-01-14 2013-06-12 马维尔国际贸易有限公司 Ldpc多解码器架构
CN103155421B (zh) * 2011-01-14 2016-11-09 马维尔国际贸易有限公司 Ldpc多解码器架构
CN103187979A (zh) * 2011-12-30 2013-07-03 Lsi公司 基于混合域fft的非二进制ldpc解码器
CN103187979B (zh) * 2011-12-30 2017-08-11 安华高科技通用Ip(新加坡)公司 基于混合域fft的非二进制ldpc解码器
CN105988883A (zh) * 2013-08-26 2016-10-05 三星电子株式会社 具有差错处理机制的计算***及其操作方法

Also Published As

Publication number Publication date
CN100593911C (zh) 2010-03-10

Similar Documents

Publication Publication Date Title
US7181676B2 (en) Layered decoding approach for low density parity check (LDPC) codes
US7343548B2 (en) Method and apparatus for encoding and decoding data
US7730377B2 (en) Layered decoding of low density parity check (LDPC) codes
CN101689866B (zh) 低密度奇偶校验卷积码编码器和低密度奇偶校验卷积码解码器
CN102412847B (zh) 用联合节点处理来解码低密度奇偶校验码的方法和设备
US7760880B2 (en) Decoder architecture system and method
CN101032082B (zh) 编码和解码数据的方法和设备
CN101106381B (zh) 分层的低密度校验码译码器及译码处理方法
US20080276156A1 (en) Low density parity check decoder for regular ldpc codes
US8103945B2 (en) Decoding method and decoding apparatus as well as program
JP4412401B2 (ja) 復号装置、復号方法、受信装置、および記憶媒体再生装置
KR101895164B1 (ko) 코드 디코딩 에러 정정 방법 및 장치
US20220255560A1 (en) Method and apparatus for vertical layered decoding of quasi-cyclic low-density parity check codes built from clusters of circulant permutation matrices
CN111786683B (zh) 一种低复杂度的极化码多码块译码器
CN100593911C (zh) 一种对通信***中接收到的层数据进行解码的方法和***
US20030188248A1 (en) Apparatus for iterative hard-decision forward error correction decoding
KR100837730B1 (ko) 사전에 지정한 패리티를 검사한 결과를 이용해 ldpc코드를 부호화하는 방법
KR20080000479A (ko) 통신 시스템에서 신호 수신 장치 및 방법
CN102412844A (zh) 一种ira类ldpc码的译码方法及译码装置
CN112953553A (zh) 一种gnss***中改进的多进制ldpc译码方法、装置和介质
CN111384970A (zh) 一种译码方法、装置及通信设备
EP3841673B1 (en) Apparatuses and methods for mapping frozen sets between product codes and component polar codes
KR101267756B1 (ko) 가변 부호화율 불규칙 반복 다상 누산 부호화 및 복호화 방법과 이를 위한 장치
Huang DESIGN OF DIRECT ERROR PATTERN TESTING (DEPT)-BASED ITERATIVE DECODER FOR OPEN FORWARD ERROR CORRECTION (OFEC) STANDARD
CN116318191A (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
C14 Grant of patent or utility model
GR01 Patent grant