专利名称:利用共享硬件及顺序和-积体系结构进行低密度奇偶校验解码的方法和设备的利记博彩app
技术领域:
本发明一般涉及编码及解码技术,尤其涉及一种用于解码被编码信号的解码器算法和体系结构。
背景技术:
在数字信息的传输过程中,编码被广泛应用以减少比特和分组错误的可能性。在很多应用中,卷积码被用于这个目的。卷积码由状态机利用由将被编码的输入比特所确定的状态转换而定义。用于卷积码或者基于卷积码的代码的最常见的两种解码算法是维特比算法和最大后验概率(MAP)算法。
对于需要更好纠错能力的应用,通常使用特播码或者LDPC码。对级联码,例如特播码的解码,需要代码网格的解码结果作为下一个代码网格的解码输入,并且对于后续的代码网格执行同样的处理。特播码的解码算法的迭代特性提供了很大的实现挑战。
LDPC码是很有前景的下一代纠错码,在编码增益方面可以超过特播码。很多技术已经被提出或者被建议用于对LDPC码进行平行的或者顺序的解码。例如,A.J.Blanksby和C.J.Howland,″A 690-mW 1-Gb/s 1024-b,Rate-1/2Low-Density Parity-Check Decoder,″IEEE J.Solid-State Circuits,Vol.37,404-412(2002年3月)以及美国专利No.6,539,367,申请人Blanksby等,描述了低密度奇偶校验(LDPC)码的块-平行解码。
LDPC解码器的顺序实现可以共享了一些硬件,于是相对于平行解码方法,需要较少数量的计算单元和并不复杂的路由机制。然而,由于沿着二分图边界的所有消息都需要被保存,因此顺序解码方法典型地需要附加存储器空间,并且由于顺序实现编码块的解码需要大量的时钟周期,因而吞吐量受到限制。通常,二分图是表示LDPC码所使用的奇偶校验矩阵的图形。典型的存储器需求与代码边界的数量的两倍成正比,并且时钟周期的数量典型地与代码中校验节点和比特节点的数量之和成正比。
例如,Zining Wu和Gregory Burd已经提出了通信系统的顺序体系结构,其中LDPC解码器与信道检测器级联。其公开的体系结构相对于传统顺序实现减少存储器需求。参见,Z.Wu和G.Burd,″Equation Based LDPC Decoderfor Intersymbol Interference Channels,″IEEE Proc.of Acoustics,Speech,and Signal Processing 2005(ICASSP′05)Vol.5,757-60(2005年3月18-23日)。D.E.Hocevar提出了独立的LDPC解码器的顺序体系结构,其能够相对于传统顺序实现减少存储器需求。参见,D.E.Hocevar″LDPC CodeConstruction With Flexible Hardware Implementation,″IEEE Int′l Conf.on Comm.(ICC),Anchorage,AK,2708-2712(2003年5月)。
仍然存在一些对于顺序LDPC解码体系结构的要求,即对于独立的和级联的LDPC解码器,要求相对于平行和顺序实现来说,在存储器需求或每次迭代的周期数量(或者二者)以及比特差错率性能方面提供进一步的改进。
发明内容
通常,为解码代码,例如LDPC码提供方法和设备,所述代码可以利用具有互连比特节点和校验节点的二分图进行描述。二分图例如可以是奇偶校验矩阵的图形化表示。
根据本发明的一个方面,计算从校验节点j到比特节点i的校验-比特节点消息的量值,其中所述量值基于连接到所述校验节点j的多个比特节点的比特-校验节点消息的变换后的量值之和,并且小于比特节点i和校验节点j的比特-校验节点消息的变换后的量值。通过将连接到校验节点j的多个比特节点中的比特-校验节点消息的sign的乘积Sj,乘以比特节点i和校验节点j的比特-校验节点消息的sign,也可以计算从校验节点j到比特节点i的校验-比特节点消息的sign。
在本发明的相关实施例中,计算从校验节点j到比特节点i的校验-比特节点消息的量值,其中所述量值基于连接到所述校验节点j的多个比特节点的先验信息值的变换后的量值之和,并且小于比特节点i的先验信息值的变换后的量值。通过将连接到校验节点j的多个比特节点的先验信息值的sign的乘积Sj,乘以比特节点i的先验信息值的sign,也可以计算校验节点j到比特节点i的校验-比特节点消息的sign。所述计算由与软输出检测器级联的LDPC解码器执行。所述先验信息值由软输出检测器生成,或者基于由软输出检测器提供的软输出而计算。
根据本发明的再一个方面,公开了一个解码器体系结构用于解码代码,所述代码可以利用具有互连比特节点和校验节点的二分图进行描述。所公开的解码器可以以独立模式实现,或者与软输出检测器相级联。所公开的解码器包括比特节点更新单元;和多个平行校验节点更新单元,连接到所述比特节点更新单元,用于计算多个校验-比特节点消息。
在备选的实施例中,所述校验节点更新单元基于小于比特-校验节点消息的单个变换后的量值的多个比特-校验节点消息的变换后的量值之和,计算所述校验-比特节点消息的量值。在相关实施例中,所述校验节点更新单元基于小于比特节点的先验信息值的单个变换后的量值的多个比特节点的先验信息值的变换后的量值之和,计算所述校验-比特节点消息的量值。
公开了大量与存储器相连的多个电路单元。这些电路单元由数字逻辑单元,例如加法器、减法器或者XOR门、以及读取电路或读取/写入电路组成。所公开的电路单元在独立模式中,对于变换后的量值和多个比特-校验节点消息的sign执行各种操作,并且在相关实施例中对于先验信息值的变换后的量值和sign执行操作。
本发明更为完整的理解,以及本发明进一步的特征和优点将通过参考下列详细说明和附图得到。
图1描述了LDPC矩阵H的总体结构; 图2是表示LDPC码的示例性二分图; 图3是示例性共享硬件的LDPC解码器体系结构的框图; 图4是具有本发明特征的LDPC解码器的框图; 图5是具有与软输入软输出(SISO)检测器级联的LDPC解码器的典型通信系统的框图;并且 图6是与SISO检测器级联的LDPC解码器的框图。
具体实施例方式 本发明提供了利用共享硬件及顺序和-积体系结构进行LDPC解码的方法和设备。公开的LDPC解码器执行和-积解码算法,相比于传统的实现其需要较少的存储器空间和较少的时钟周期。
低密度奇偶校验码 下面的背景讨论LDPC码和LDPC解码是基于A.J.Blanksby和C.J.Howland,″A 690-m W1-Gb/s 1024-b,Rate-1/2Low-Density Parity-CheckDecoder,″IEEE J.Solid-State Circuits,Vol 37,404-412(2002年3月)中的讨论,这些文献被包含于此作为参考。更详细的描述,请读者参考Blanksby和Howland的全部论文。
表示LDPC码的矩阵 LDPC码是线性块码。所有代码字的集合,X∈CX,跨越奇偶校验矩阵H的空空间 HxT=0,x∈Cx(1) LDPC码的奇偶校验矩阵是一个稀疏二进制矩阵。
图1描述了LDPC矩阵H的通常体系结构100。如图1所示,奇偶校验矩阵H的每一行对应于一个奇偶校验,并且设置的元素hji指示参与奇偶校验j的数据比特i。在一个n比特的块中,存在m个冗余奇偶比特。编码率有下列公式给出 r=(n-m)/n(2) 奇偶校验矩阵H的设置的行或者列元素被选定以满足期望的行或者列的加权分布,其中行或者列的加权被定义为分别在指定行或者列设置元素的数量。在一个常规的LDPC码中,所有的行具有统一的权重,并且所有列也一样。如果行和列不具备统一的权重,LDPC码就被认为是非常规的。
表示LDPC码的图 LDPC码也可以采用二分图表示,其中节点的一个集合表示奇偶校验约束,而另一个集合表示数据位。图2是表示LDPC码的示例性二分图表示200。奇偶校验矩阵是该图的关联矩阵,其中对应于矩阵H中的列i的比特节点i连接于对应于矩阵H中的列j的校验节点j,如果设置了H的条目hji为非零的话。
用于解码LDPC码的算法被称为和-积算法。该算法为了很好的解码性能,很重要的是表示LDPC码的图的周期长度要尽量的长。在图2表示的实例中,已经描述了示例性的4个周期的短周期。短周期,例如图2中描述的长度为4的周期,使和-积算法的执行退化。
和-积算法 和-积算法是用于解码LDPC码的迭代算法。和-积算法也被称作消息传递算法或者置信传播算法。对于和-积算法更详细的讨论,例如请参见A.J.Blanksby和C.J.Howland,″A 690-m W 1-Gb/s 1024-b,Rate-1/2Low-Density Parity-Check Decoder,″IEEE J.Solid-State Circuits,Vol37,404-412(2002年3月)以及D.E.Hocevar″LDPC Code Construction WithFlexible Hardware Implementation,″IEEE Int′l Conf.on Comm.(ICC),Anchorage,AK,2708-2712(2003年5月),每一篇文件都作为参考包含于此。
从比特节点i到校验节点j的消息由下面的公式给出 请注意此处使用的符号在说明书的最后的表中被定义。从校验节点j到比特节点i的消息由下面的公式给出 其中 和 其中后验信息值也称为后验的对数似然率(LLR),对于比特i,Λi来说,由下列公式给出 LDPC解码器 在实现解码LDPC码的和-积算法时的最大挑战是管理消息的传递。由于校验和比特节点的功能相对简单,它们的分别实现仅仅涉及少量的门电路。主要的问题是在功能节点之间传递消息所需的操作实现。
共享硬件的解码器体系结构 图3是示例性的共享硬件LDPC解码器体系结构300的框图。如图3中所示,通用LDPC解码器体系结构300包括多个功能单元310,320,它们分别地实现校验或者比特码节点功能,并且存储结构350用于存储消息以及实现图形连接。控制逻辑330控制存储结构350的配置。对于共享LDPC解码器体系结构300的实现的细节讨论,例如请参见E.Yeo et al.,″VLSI Architectures forIterative Decoders in Magnetic Recording Channel,″IEEE Trans.OnMagnetics,Vol.37,No.2,748-755(2001年3月)。
已经认识到这种共享硬件体系结构减少了解码器的区域。
修改后的LDPC奇偶校验公式 本发明认识到上述LDPC奇偶校验公式的各个部分可以被重新组织以在存储器空间和时钟周期方面产生改进。公式(4)显示的校验节点的计算可以被拆分成若干部分,如下 ρi,j=φ(|Qi,j|)(5) 其中ρi,j于是成为在比特节点i和校验节点j之间的比特-校验节点消息Qi,j的变换后的量值,并且″| |″是量值的计数法。
σi,j=sign(Qi,j)(6) 于是,σi,j是在比特节点i和校验节点j之间的比特-校验节点消息Qi,j的sign值。
为校验节点j计算Pj,作为连接到校验节点j的所有比特节点的比特-校验节点消息的变换后的量值之和。
给定节点j的Sj于是就是连接到校验节点j的所有比特节点的比特-校验节点消息sign的乘积。
于是,由下列公式给出校验节点j到比特节点i的消息的量值和sign值。
|Rj,i|=φ(Pj-ρi,j)(9) sign(Rj,i)=Sj·σi,j(10) 于是,当根据公式(4)计算传统的校验-比特节点消息时,从计算(l∈Ci,l≠i)中排除当前的比特节点i,而本发明计算中间值Pi作为所有连接到校验节点j的比特节点l的比特-校验节点消息的变换后的量值ρl,j,并且随后从Pj中减去ρl,j’以计算从校验节点j到比特节点i的消息Rj,i的量值。
在示例性的实施例中,比特节点的计算以2′s-补码的形式执行,并且校验节点的计算以sign-量值(SM)形式执行。
具有顺序和-积体系结构的LDPC解码器 图4是包括本发明特征的LDPC解码器400的框图。图4所示的LDPC解码器400描述了一个示例,其中dc等于3,并且Bi等于{j1,j2,j3}。元素430,435,440,450,470,475,478和480构成了校验节点更新块,包括平行校验节点更新单元。在每一个时间周期,执行属于一个比特节点的计算。于是为了完成从比特节点1到n的计算需要n个周期。假设在第一个时间周期计算比特节点1。那么在第(n·(k-1)+i)时间周期,比特节点更新单元410生成dc消息Qi,jk j∈Bi,其在第k次迭代对应于第i个比特节点。这些dc消息在状态430从2′s-补码转换成sign-量值数量表示。所述量值部分被发送到平行转换单元435-1到435-3,它们执行函数φ并且从单元435中输出由公式(5)定义的ρi,jk j∈Bi。
这些ρi,jk,j∈Bi被馈入dc变换后的量值更新单元440(为了计算所有连接到校验节点j的比特节点Pjk上的和,并且接着在随后的迭代中得出Pjk),其包括加法器以及读取/写入电路。平行变换后的量值更新单元440可以从存储器460中的m个存储单元访问任何dc元素,其中每个单元存储q个比特,其中q是在示例性实施例中用于表示Pjk的比特的数量。这些平行变换后的量值更新单元440更新相关的存储单元,使得在一次迭代(即,第(n·k)次时钟周期)结束时存在如公式(7)定义的Pjk,j∈1...m,并且Pjk,j∈1...m被存储在m存储单元中。也就是说,这些存储单元保存相关ρ值的运行和。
如果第k次迭代的存储单元中的中间值被Pjk(i)给出,其中i=1...n,那么在第(n·(k-1)+i)次时间实例中,运行和由下列公式给出 于是,在一次迭代结束时,例如在第(n·k)次时间实例中 这个由公式(6)定义的比特-校验节点消息Qi,jk j∈Bi的signs,其中σi,jk,j∈Bi,在下面进行处理。与前面讨论的过程相似,σi,jk,j∈Bi被馈入dc sign更新单元450的另一组,其包括XOR门和读取/写入电路。平行sign更新单元更新在存储器460中的相关存储单元,使得在一次迭代的结束,如公式(8)定义的Sjk,j∈1...m被存储在m个存储单元中,其中每个存储单元存储一个比特。也就是说,这些存储单元保存有sign-比特σ值的运行乘积。所述乘积通过XOR门获取。如前面各段所解释的,如果第k次迭代的存储单元j的中间值被Sjk(i)给出,其中i=1...n,那么运行乘积被下列公式给出 于是,在一次迭代的结束,例如在第(n·k)次时间实例中 每一个时间周期计算的ρi,jk,j∈Bi也被发送给先入先出(FIFO)缓存器420-1(图4中的缓存器-1)。所述FIFO 420-1包括dc·q列(其中ρ值的dc数生成于每个周期并且每个ρ使用示例性实施例中的q比特表示)以及n行。在时间周期n·(k-1)+i,集合ρi,jk,j∈Bi被馈入到FIFO 420-1的后端并且从缓存器420-1的前端读出上一次迭代的集合Pjk,j∈1...m。在第(n·k)个时间周期中,所有的Pjk,j∈1...m都可以在存储器460中得到,并且全部ρi,jk,i=1...n,j∈Bi可以在第一FIFO缓存器420-1中得到。于是,FIFO 420-1的最顶一行保持了ρ1,jk,j∈B1,而接下来的一行保持了ρ2,jk,j∈B2,并且缓存器420-1的最后一行包含了ρn,jk,j∈Bn。
每一时间周期计算出来的σi,jk,j∈Bi都被馈入到另一个FIFO缓存器420-2(图4中的缓存器-2)。所述第二FIFO缓存器420-2包括dc个一比特的列(由于每个σi,j使用一个比特表示)以及n行。在时间周期n·(k-1)+i,集合σi,jk,j∈Bi被馈入到FIFO 420-2的后端,并且从缓存器420-2的前端读出上一次迭代的集合σi,jk-1,j∈Bi。
现在,下列过程被解释用于根据前次k-1次迭代,从存储在存储器460中的Pjk-1,j=1...m以及存储在第一FIFO缓存器420-1的ρi,jk-1,j∈Bi,计算校验-比特节点消息Rj,ik-1的量值。从存储器460中读取所需的Pjk-1,j∈Bi,并且从第一FIFO缓存器420-1中读取ρi,jk-1,j∈Bi。于是通过平行变换后的量值减法单元470-1到470-3为每个j∈Bi计算(Pjk-1-ρi,jk-1)的差值,并且相应的结果被传送给平行变换单元475-1到475-3,这些单元执行Φ函数。这些变换单元475的输出是在第(k-1)次迭代中从dc列校验节点到第i个比特节点的相应消息的量值,也即根据公式(9)的|Rj,ik-1|,j∈Bi。
以相似的方式计算在第(k-1)次迭代的校验-比特节点消息的sign(sign(Rj,ik-1))。从存储器460中读出所需的Sjk-1,j∈Bi并且从第二FIFO缓存器420-2中读出σi,jk-1,j∈Bi。于是,使用平行sign处理单元478-1到478-3(在示例性实施例中,每一个都使用一个XOR门)为每个j∈Bi计算乘积Sjk-1·σi,jk-1。这些乘积是第(k-1)次迭代中,从dc校验节点到第i个比特节点的相应消息的sign比特,也即,根据公式(10)的sign(Rj,ik-1),j∈Bi。
校验-比特节点消息的sign和量值通过dc sign-量值被传送给2′s-补码变换单元480。这些单元480输出的结果是Rj,ik-1,j∈Bi,其随后被输入到比特节点更新单元410。比特节点更新单元410根据下列公式(也参见公式(3))为第k次迭代计算比特-校验节点消息Qi,jk 存储器需求和吞吐量 示例的第一FIFO缓存器420-1具有n·dc·q比特的大小并且示例的第二FIFO缓存器420-2具有n·dc比特的大小。
Pj,j等于1...m需要的存储器的数量是2·q·m比特,其中乘以2是用于k和k-1次迭代相关的值。
Sj,j等于1...m需要的存储器的数量是2·m比特,其中乘以2是用于k和k-1次迭代相关的值。
总的存储器需求是(2·m+n·dc)·(q+1)比特。
在每一个时间周期,所公开的方法用于计算dc校验-比特节点消息以及dc比特-校验节点消息。于是,一个比特节点更新单元410在每一次迭代时需要n时间周期来处理长度为n的数据块。
与标准的LDPC解码体系结构相比较,所公开的体系结构仅需要(2·m+n·dc)·(q+1)比特的存储器空间,并且在每一次迭代时仅需要n时间周期。请注意典型的顺序和-积体系结构需要2·n·dc·(q+1)比特的存储器空间,并且每次迭代需要m+n周期。
具有顺序和-积体系结构的级联LDPC解码器 LDPC码被用于由符号间干扰和噪声所消弱的信道,以改进比特错误率。图5显示了一个典型的通信系统500,包括LDPC编码器510,ISI信道520(其引入符号间干扰及噪声),软-输入软-输出(SISO)检测器615,和LDPC解码器600。在图5中,LDPC解码器600与SISO解码器615相级联,它们进一步结合下面的附图6进行讨论。SISO检测器615接收信道输出和来自LDPC解码器600的非本征信息值,该信息值被用作先验信息值。SISO解码器615给出非本征信息值,其被LDPC解码器600用作下一次迭代的先验信息值λi。来自LDPC解码器的非本征信息值被用作SISO检测器的先验信息值,并且来自SISO检测器的非本征信息值被用作LDPC解码器的先验信息值。SISO检测器考虑ISI信道以计算非本征信息值,例如使用本领域普通技术人员已知的MAP算法或者软输出维特比算法(SOVA),而LDPC解码器考虑LDPC码以计算非本征信息值。系统的迭代包括由SISO检测器615和LDPC解码器600一起处理数据。
图6显示了公开的级联SISO检测器和LDPC解码器体系结构的更多细节。SISO检测器615接收信道输出和来自LDPC解码器600的非本征信息值,并且输出非本征信息值,这些非本征信息值被LDPC解码器600用作下一次迭代的先验信息值λi。本发明揭示了每次通过LDPC解码器600时,从比特节点i到其校验节点的dc信息,即
j∈Bi,都与先验信息值或者比特节点i的先验LLRλi相等的事实,例如 校验节点计算以与上述相似的方式分离为多个部分。
从校验节点j到比特节点i的信息的sign和量值被下列公式给出 使用这些
j∈Bi,来自LDPC解码器的非本征信息值传送到SISO检测器615,并且可以由非本征信息计算单元610计算出来 该非本征信息值被SISO检测器615用作先验信息值。
图6显示了为级联系统建议的体系结构600的框图,其中,dc等于3,Bi等于{j1,j2,j3}。每一个先验LLR λi附属于比特节点i,其等于SISO检测器615输出的非本征信息值,并且被送到2′-补码单元到sign-量值变换单元630。量值被送给执行φ函数的变换单元635并且单元635的输出为
如公式(17)所定义的。第k次迭代以及第i个比特节点的变换量值
被馈入dc变换后的量值更新单元640,其更新在存储器中的
j∈Bi。同理,
被送入另一组dc sign更新单元650,其更新在存储器中的
j∈Bi。更进一步,
和
被分别馈入第一FIFO缓存器620-1以及第二缓存器620-2。
第k-1次迭代的校验-比特节点消息,即
j∈Bi,结合图4上面讨论的过程以相同的方式被计算。然而,从第一FIFO缓存器620-1仅使用一个值(
被用于获取量值),从第二FIFO缓存器620-2仅使用一个值(
被用于获取sign)。于是,FIFO缓存器620的存储器需求比结合图4描述的独立体系结构的存储器需求减少dc倍。
存储器需求和吞吐量 示例的第一FIFO缓存器620-1具有n·q比特的大小并且示例的第二FIFO缓存器620-2具有n比特的大小。
Pj,j等于1...m需要的存储器的数量是2·q·m比特。
Sj,j等于1...m需要的存储器的数量是2·m比特。
总的存储器需求是(2·m+n)·(q+1)比特。
在每一个时间周期,所公开的方法用于计算dc校验-比特节点消息以及非本征信息值。于是,在每一次迭代时需要n个时间周期来处理长度为n的数据块。
所公开的体系结构执行由公式(17)到(23)定义的和-积算法。这里公开的方法具有比Wu和Burd提出的较不优化的算法更好的错误率性能,在Wu和Burd方法中,在和-积算法时仅仅考虑最小的LLR值。而且,Wu和Burd提出的方法仅应用在级联LDPC解码器系统中。本发明仅需要(2·m+n)·(q+1)的存储器空间并且在每一次迭代时仅需要n时间周期。
符号 此处使用下列符号 i是比特节点的索引; j是校验节点的索引; k是迭代索引; Qi,j是从比特节点i到校验节点j的消息; Ri,j是从校验节点j到比特节点i的消息; λi是与比特i相关的先验信值或者先验对数似然率(LLR); Λl是涉及比特i的后验信息值或者后验LLR; Λext,i是涉及比特i的非本征信息值或者非本征LLR; Bi是与比特节点i相连的校验节点j的集合; Cj是与校验节点j相连的比特节点i的集合; n是比特节点的数量; m是奇偶校验节点的数量; dr是校验矩阵的行权重; dc是校验矩阵的列权重; 比特节点是1...n; 校验节点是1...m。
尽管本发明的示例性实施例已经参考数字逻辑单元进行描述,但是对于本领域技术人员很清楚的是,不同的功能可以在数字领域实现,作为软件程序的处理步骤,通过电路单元或状态机以硬件形式实现,或者作为软件和硬件的结合。这样的软件例如可以应用于数字信号处理器,微控制器,或者通用计算机。这种硬件和软件都可以在集成电路内实现的电路上具体实施。
于是,本发明的功能能够以多种形式的方法以及实现这些方法的设备实现。本发明的一个或者多个方面可以被程序代码形式实现,例如,存储在存储介质中,载入和/或被机器执行,或者经由一个传输媒体传输,其中,当程序代码被载入机器并且被机器,例如计算机执行时,机器成为实现本发明的设备。当在通用处理器上实现本方法时,程序代码段将结合处理器,提供对于特定逻辑电路进行类似操作的设备。
如同本领域技术人员熟知的那样,此处讨论的方法和设备可以被作为一个产品发布,其自身包括计算机可读介质,在所述介质上嵌入计算机可读代码单元。计算机可读程序代码单元与计算机系统相结合而可操作,执行所有或者部分方法的步骤或者生成此处讨论的设备。计算机可读介质可以是可记录介质(例如,软盘,硬盘,压缩盘,记忆卡,半导体器件,芯片,专用集成电路(ASIC)),或者可以是传输媒体(例如,包括光纤的网络,国际互联网,有线网,或者使用分时多址,码分多址的无线信道,以及其他射频信道)。可以使用适当用于计算机系统的、任何已知或者开发的存储信息的介质。计算机可读编码单元是允许计算机读取指令和数据的机制,例如磁性介质的磁性变化,或者压缩盘介质表面的高度变化。
存储器和缓存器可以是分布的或者本地的,并且处理器可以是分布的或者单个的。存储器和缓存器应该由电、磁或光存储器、或者它们的任何组合、或者与其他类型的存储设备的任何组合来实现。而且,术语″存储器″,″缓存器″,〃FIFO缓存器″应该被足够宽泛的构建,以便包含能够从介质读取或者写入介质的任何信息。根据此定义,网络上的信息也在存储器范围内,因为相关的处理器能够从网络上检索上述信息。
应该明白的是,此处描述和显示的实施例和其变化都是对本发明原理的阐述,并且可以由本领域普通技术人员在不背离发明范围和精神的情况下作出各种修改。
权利要求
1.一种解码代码的方法,所述代码可以利用具有互连比特节点和校验节点的二分图进行描述,包括
计算从校验节点j到比特节点i的校验-比特节点消息的量值,其中所述量值基于连接到所述校验节点j的多个比特节点的比特-校验节点消息的变换后的量值之和,并且小于比特节点i和校验节点j的比特-校验节点消息的变换后的量值。
2.根据权利要求1的方法,其中所述二分图是表示奇偶校验矩阵的图。
3.根据权利要求1的方法,进一步包括步骤
通过将连接到校验节点j的多个比特节点中的比特-校验节点消息的sign的乘积Sj,乘以比特节点i和校验节点j的比特-校验节点消息的sign,计算从校验节点j到比特节点i的校验-比特节点消息的sign。
4.一种用于解码代码的解码器,所述代码可以利用具有互连比特节点和校验节点的二分图进行描述,包括
比特节点更新单元;和
多个平行校验节点更新单元,连接到所述比特节点更新单元,用于计算多个校验-比特节点消息。
5.根据权利要求4的解码器,其中所述校验节点更新单元的其中一个基于小于比特-校验节点消息的单个变换后的量值的多个比特-校验节点消息的变换后的量值之和,计算所述校验-比特节点消息的量值。
6.根据权利要求4的解码器,其中所述校验节点更新单元的其中一个包括连接到存储器的加法器和读取/写入电路,以计算多个比特-校验节点消息的变换后的量值的和。
7.一种解码代码的方法,所述代码可以利用具有互连比特节点和校验节点的二分图进行描述,包括
计算从校验节点j到比特节点i的校验-比特节点消息的量值,其中所述量值基于连接到所述校验节点j的多个比特节点的先验信息值的变换后的量值之和,并且小于比特节点i的先验信息值的变换后的量值。
8.根据权利要求7的方法,其中所述先验信息值由软输出检测器生成。
9.根据权利要求7的方法,其中所述计算步骤由与软输出检测器级联的LDPC解码器执行。
10.根据权利要求7的方法,进一步包括步骤
通过将连接到校验节点j的多个比特节点的先验信息值的sign的乘积Sj,乘以比特节点i的先验信息值的sign,计算从校验节点j到比特节点i的校验-比特节点消息的sign。
全文摘要
提供了用于解码代码的方法和设备,所述代码可以利用具有互连比特节点和校验节点的二分图进行描述。基于连接到所述校验节点j的多个比特节点的比特-校验节点消息的变换后的量值之和,计算从校验节点j到比特节点i的校验-比特节点消息的量值,所述量值小于比特节点i和校验节点j的比特-校验节点消息的变换后的量值。通过将连接到校验节点j的多个比特节点中的比特-校验节点消息的sign的乘积Sj,乘以比特节点i和校验节点j的比特-校验节点消息的sign,也可以计算从校验节点j到比特节点i的校验-比特节点消息的sign。还公开了解码代码的解码器的体系结构,所述代码能够被描述为利用具有互连的比特节点和校验节点的二分图。公开的解码器可以与软输出解码器级联。
文档编号H03M13/11GK101154948SQ20071019291
公开日2008年4月2日 申请日期2007年7月31日 优先权日2006年7月31日
发明者埃里希·F·哈拉特施, 鲁万·N·S·拉塔雅克 申请人:艾格瑞系统有限公司