WO2012106937A1 - 译码装置 - Google Patents

译码装置 Download PDF

Info

Publication number
WO2012106937A1
WO2012106937A1 PCT/CN2011/077678 CN2011077678W WO2012106937A1 WO 2012106937 A1 WO2012106937 A1 WO 2012106937A1 CN 2011077678 W CN2011077678 W CN 2011077678W WO 2012106937 A1 WO2012106937 A1 WO 2012106937A1
Authority
WO
WIPO (PCT)
Prior art keywords
check
node
external information
nodes
module
Prior art date
Application number
PCT/CN2011/077678
Other languages
English (en)
French (fr)
Inventor
岑超荣
陈旭
谭伟文
赵越
刘重明
喻凡
Original Assignee
华为技术有限公司
香港理工大学
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 华为技术有限公司, 香港理工大学 filed Critical 华为技术有限公司
Priority to PCT/CN2011/077678 priority Critical patent/WO2012106937A1/zh
Priority to CN201180001583.4A priority patent/CN102696176B/zh
Publication of WO2012106937A1 publication Critical patent/WO2012106937A1/zh

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/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing
    • H03M13/114Shuffled, staggered, layered or turbo decoding schedules
    • 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/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing
    • H03M13/1137Partly parallel processing, i.e. sub-blocks or sub-groups of nodes being processed in parallel
    • 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/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices

Abstract

本发明涉及一种译码装置,包括:存储模块,用于存储准循环低密度奇偶校验QC-LDPC码的二分图的各个变量节点的信道信息和在对所述QC-LDPC码进行迭代译码过程中在所述QC-LDPC码的各个校验节点和各个变量节点之间传递的外部信息,其中,在所述QC-LDPC码的任意两个相连的校验节点C和变量节点V之间传递的外部信息存储在所述存储模块的相同存储位置中;更新模块,用于在所述QC-LDPC码的每一次迭代译码过程中,根据所述存储模块所存储的信道信息和外部信息,按照将所述QC-LDPC码的各个校验节点划分为多层校验节点并逐层处理的方式,计算在所述QC-LDPC码的各个校验节点和各个变量节点之间传递的外部信息并且将所计算的外部信息写入所述存储模块以更新所述存储模块所存储的外部信息,以及用于根据所述存储模块所存储的信道信息和外部信息以及所计算的外部信息来计算所述QC-LDPC码的各个变量节点的后验概率信息;以及,计算模块,用于根据所计算的所述QC-LDPC码的各个变量节点的后验概率信息,计算所述QC-LDPC码的各个码位的判决取值。利用该译码装置,减少了所需的存储资源,降低了译码装置的硬件实现复杂度。

Description

说 明 书
译码装置
技术领域
本发明涉及通信领域,尤其涉及一种用于对低密度奇偶检验码进 行译码的译码装置。 背景技术
低密度奇偶校验(LDPC )码是一种线性分组码, 其性能接近香 农信道容量的极限, 因此, LDPC码在无线通信、 卫星通信等通信领 域中得到了很多应用。
LDPC码通常用稀疏奇偶校验矩阵 H表示。图 1 A示出了校验矩 阵 H的一个例子。假设 LDPC码的校验矩阵 H是一个 M行 XN列的 矩阵, 则 LDPC码也可以用于一个具有 M个校验节点和 N个变量节 点的二分图表示, 其中, 每一个检验节点表示校验矩阵 H 的其中一 行元素, 每一个变量节点表示校验矩阵 H的其中一列元素。 图 1B示 出了具有图 1A的校验矩阵 H的 LDPC码的二分图。 H矩阵中的" 1 " 代表了变量节点和校验节点之间的连接关系,在二分图中表现为变量 节点与校验节点之间的一条边相连。由一条边相连的变量节点和校验 节点互称为相邻节点。
在 LDPC码的众多译码算法中,分层译码算法具有算法收敛速度 更快和误码性能更好的特点, 因此, LDPC码的分层译码算法受到了 更多的关注, 并且已经提出了各种各样实现结构的分层译码器。
参考文献 1 (Zhongfeng Wang, Zhiqiang Cui, Jin Sha "VLSI Design for Low-Density Parity-Check Code Decoding", IEEE CIRCUITS AND SYSTEM MAGAZINE, FIRST QUARTER 2011 )提出了一种分层译码 器的实现结构。然而, 该分层译码器需要两组存储单元来分别存储在 对 LDPC码进行迭代译码过程中计算得到的校验节点传递给变量节 点的信息和变量节点传递给校验节点的信息, 因此, 该分层译码器需 要更多的存储资源, 导致该分层译码器的硬件实现复杂度高。 发明内容
考虑到现有技术的上述问题, 本发明的实施例提出一种译码装 置, 其硬件实现的复杂度低。
按照本发明实施例的一种译码装置, 包括: 存储模块, 用于存储 准循环低密度奇偶校验 QC-LDPC码的二分图的各个变量节点的信道 信息和在对所述 QC-LDPC码进行迭代译码过程中在所述 QC-LDPC 码的各个校验节点和各个变量节点之间传递的外部信息, 其中, 在所 述 QC-LDPC码的任意两个相连的校验节点和变量节点之间传递的外 部信息动态存储在所述存储模块的相同存储位置中; 更新模块, 用于 在所述 QC-LDPC码的每一次迭代译码过程中, 根据所述存储模块所 存储的信道信息和外部信息, 按照将所述 QC-LDPC码的各个校验节 点划分为多层校验节点并逐层处理的方式, 计算在所述 QC-LDPC码 的各个校验节点和各个变量节点之间传递的外部信息并且将所计算 的外部信息写入所述存储模块以更新所述存储模块所存储的外部信 息,以及用于根据所述存储模块所存储的信道信息和外部信息以及所 计算的外部信息来计算所述 QC-LDPC码的各个变量节点的后验概率 信息; 以及, 计算模块, 用于根据所计算的所述 QC-LDPC码的各个 变量节点的后验概率信息, 计算所述 QC-LDPC码的各个码位的判决 取值。
由于译码装置将在 QC-LDPC码的迭代译码过程中 QC-LDPC码 的任意两个相连的校验节点和变量节点之间传递的外部信息动态存 储在存储模块的相同存储位置中,所以减少了译码装置所需的存储资 源, 降低了译码装置的硬件实现复杂度。 附图说明
本发明的其它特点、特征、优点和益处通过以下结合附图的详细 描述将变得更加显而易见。 其中:
图 1 A示出了校验矩阵 H的一个例子; 图 IB示出了具有图 1A的校验矩阵 H的 LDPC码的二分图; 图 2示出了按照本发明实施例一的译码装置的结构示意图; 图 3示出了按照本发明实施一的层计算模块的结构示意图; 图 4示出了按照本发明实施一的处理模块的结构示意图; 图 5示出了按照本发明实施例一的 QC-LDPC码的校验矩阵 H的 一个示例;
图 6A示出了按照本发明实施例一的第一层校验节点译码的示意 图;
图 6B示出了按照本发明实施例一的第二层校验节点译码的示意 图;
图 7示出了现有技术的译码装置的流水调度示意图; 以及 图 8示出了按照本发明实施例二的译码装置的流水调度示意图。 具体实施方式
本发明的实施例提出了一种用于对准循环低密度奇偶校验 (QC-LDPC)码进行译码的译码装置, 其将在 QC-LDPC码的迭代译 码过程中在 QC-LDPC码的任意两个相连的校验节点和变量节点之间 传递的外部信息动态存储在相同存储位置中,从而减少了译码装置所 需的存储资源, 降低了译码装置的硬件实现复杂度。 下面, 结合附图详细描述本发明的各个实施例。
<实施例一>
QC-LDPC码是 LDPC码的一个子类, 其校验矩阵 H矩阵可由多 个属于循环置换矩阵的子矩阵构成, 其中, 循环置换矩阵是对单位矩 阵进行循环右移得到的矩阵。
在本发明实施例一中, 假设 QC-LDPC码的校验矩阵 H由 JXL 个属于循环置换矩阵的子矩阵构成, 每个子矩阵是大小为 z Xz, 则 QC-LDPC码具有 JXz个校验节点和 L Xz个变量节点。 QC-LDPC码 的 J X z个校验节点被划分为 J层校验节点, 每一层校验节点包括 z 个校验节点。 每一层校验节点进一步被划分为 G组, 则每一组校验 节点包括 z/G个校验节点。
在本发明实施例一中,对 QC-LDPC码的译码进行 NMAX次迭代, 并且在 QC-LDPC码的每一次迭代译码过程中, 按照逐层逐组校验节 点进行处理并且每组校验节点中的校验节点并行处理的方式来对 QC-LDPC码进行译码。 现在参考图 2, 其示出了按照本发明实施例一的译码装置的结构 示意图。 如图 2所示, 译码装置包括存储模块 110、 更新装置 120、 地址控制模块 130、 计算装置 140和交换模块 150。
其中, 存储模块 110存储来自信道的 QC-LDPC码的各个变量节 点的信道信息和在 QC-LDPC码的迭代译码过程中在 QC-LDPC码的 各个校验节点和各个变量节点之间传递的外部信息(包括: 校验节点 传递给与其相连的变量节点的外部信息、变量节点传递给与其相连的 校验节点的外部信息)。 其中, 在 QC-LDPC码的任意两个相连的校 验节点 d和变量节点 V」之间传递的外部信息动态存储在存储模块 110的相同存储位置中, gp, 校验节点 传递给变量节点 ν」的外部 信息和变量节点 V」传递给校验节点 Q的外部信息动态存储在存储模 块 110的同一存储位置中。 其中, 在 QC-LDPC码的每一次迭代译码 过程中, 在包括校验节点 Q的那一层校验节点的前一层校验节点处 理完成之后但在包括校验节点 Q的那一层校验节点开始处理之前, 该相同存储位置存储变量节点 V」向校验节点 Q传递的外部信息, 以 及在包括校验节点 Q的那一层校验节点处理完成之后, 该相同存储 位置存储校验节点 Q向变量节点 V」传递的外部信息。
更新模块 120用于在 QC-LDPC码的每一次迭代译码过程中, 根 据存储模块 110所存储的信道信息和外部信息, 按照对 QC-LDPC码 的 J层校验节点逐层逐组处理的方式, 计算在 QC-LDPC码的各个校 验节点和各个变量节点之间传递的外部信息和 QC-LDPC码的各个变 量节点的后验概率信息, 并且将所计算的外部信息写入存储模块 110 以更新存储模块 110所存储的外部信息。
地址控制模块 130控制更新模块 120从存储模块 110中读取信道 信息和外部信息和向存储模块 110写入更新模块 120所计算的外部信 息的地址。
计算模块 140根据在 QC-LDPC码的第 NMAX次 (即最后一次) 迭代译码时更新模块 120所计算的 QC-LDPC码的各个变量节点的后 验概率信息, 计算 QC-LDPC码的各个码位的判决取值。
交换模块 150根据 QC-LDPC码的各个码位在 QC-LDPC码中所 处的先后顺序, 依次输出所计算的 QC-LDPC码的各个码位的判决取 值。 如图 2所示,更新模块 120包括 J个层计算模块 120-1、 120-2、 . . .、 120-J 。其中,每一个层计算模块 120-i(i=l、2、...、J)分别与 QC-LDPC 码的第 i层校验节点相对应, 用于在 QC-LDPC码的每一次迭代译码 过程中, 当第 i层校验节点的处理次序到达时, 以对第 i层校验节点 的各组校验节点逐组处理的方式,根据存储模块 110所存储的外部信 息, 计算第 i层校验节点的每一组校验节点传递给与所述每一组校验 节点相连的各个变量节点的外部信息,根据存储模块 110所存储的外 部信息、信道信息和所计算的所述每一组校验节点传递给与所述每一 组校验节点相连的各个变量节点的外部信息,计算与所述每一组校验 节点相连的各个变量节点传递给下一层校验节点的外部信息以及与 所述每一组校验节点相连的各个变量节点的后验概率信息,并且将所 计算的外部信息写入存储模块 110以更新存储模块 110所存储的外部 信息。
具体的, 在 QC-LDPC码的每一次迭代译码过程中, 层计算模块
120-1首先进行工作, 然后在层计算模块 120-1工作完毕后层计算模 块 120-2进行工作, 接着在层计算模块 120-2工作完毕后层计算模块 120-3进行工作, 依次类推, 最后在层计算模块 120- 1)工作完毕后 层计算模块 120-J进行工作。
下面, 以层计算模块 120-J为例解释各个层计算模块的具体工作 过程。
首先进行第一步处理, 即层计算模块 120-J根据存储模块 110所 存储的外部信息来计算第 J层校验节点的第 1组校验节点传递给与第 J层校验节点的第 1组校验节点相连的各个变量节点的外部信息, 根 据存储模块 110所存储的信道信息、外部信息和所计算的第 J层校验 节点的第 1组校验节点传递给与第 J层校验节点的第 1组校验节点相 连的各个变量节点的外部信息,计算与第 J层校验节点的第 1组校验 节点相连的各个变量节点传递给第 1 层校验节点的外部信息以及与 第 J层校验节点的第 1组校验节点相连的各个变量节点的后验概率信 息, 并且将所计算的外部信息写入存储模块 110以更新存储模块 110 所存储的外部信息。
然后,在第一步处理完毕后进行第二步处理,即层计算模块 120-J 根据存储模块 110所存储的外部信息, 计算第 J层校验节点的第 2组 校验节点传递给与第 J层校验节点的第 2组校验节点相连的各个变量 节点的外部信息, 根据存储模块 110所存储的信道信息、外部信息和 所计算的第 J层校验节点的第 2组校验节点传递给与第 J层校验节点 的第 2组校验节点相连的各个变量节点的外部信息,计算与第 J层校 验节点的第 2组校验节点相连的各个变量节点传递给第 1层校验节点 的外部信息以及与第 J层校验节点的第 2组校验节点相连的各个变量 节点的后验概率信息,并且将所计算的外部信息写入存储模块 110以 更新存储模块 110所存储的外部信息。
依次类推, 最后, 在第 G-1步处理完毕后进行第 G步处理, 即 层计算模块 120-J根据存储模块 110所存储的外部信息、 计算第 J层 校验节点的第 G组校验节点传递给与第 J层校验节点的第 G组校验 节点相连的各个变量节点的外部信息,根据存储模块 110所存储的信 道信息、外部信息和所计算的第 J层校验节点的第 G组校验节点传递 给与第 J层校验节点的第 G组校验节点相连的各个变量节点的外部信 息,计算与第 J层校验节点的第 G组校验节点相连的各个变量节点传 递给第 1层校验节点的外部信息以及与第 J层校验节点的第 G组校验 节点相连的各个变量节点的后验概率信息,并且将所计算的外部信息 写入存储模块 110以更新存储模块 110所存储的外部信息。 现在参考图 3, 其示出了按照本发明实施一的层计算模块的结构 示意图。 如图 3所示, 层计算模块 120-i(i=l、 2 J)包括一个处 理模块组, 其包括 Z/G个处理模块。
层计算模块 120-i(i=l、 2 J)的处理模块组中的每一个处理 模块与 J层校验节点的第 i层校验节点的每一组校验节点的其中一个 校验节点相对应, 用于在 QC-LDPC码的每一次迭代译码过程中, 当 第 i层校验节点的处理次序到达时,以逐组校验节点进行处理的方式, 根据存储模块 110所存储的外部信息,计算该其中一个校验节点传递 给与该其中一个校验节点相连的各个变量节点的外部信息,根据存储 模块 110所存储的外部信息、信道信息以及所计算的该其中一个校验 节点传递给与该其中一个校验节点相连的各个变量节点的外部信息, 计算与该其中一个校验节点相连的各个变量节点传递给下一层校验 节点的外部信息以及与该其中一个校验节点相连的各个变量节点的 后验概率信息,并且将所计算的外部信息写入存储模块 110以更新存 储模块 110所存储的外部信息。 层计算模块 120-i(i=l、 2 J)的 处理模块组中的各个处理模块并行工作。
例如, 假设 QC-LDPC码的每一层校验节点包括 6个校验节点, 每一层校验节点被分成 3组校验节点,则每一层校验节点的每一组校 验节点包括两个校验节点, 分别用校验节点 1和校验节点 2来表示。 相应地, 层计算模块 120-i(i=l、 2 J)的处理模块组包括两个处 理模块, 分别用处理模块 1 和处理模块 2 表示, 则层计算模块 120-i(i=l、 2 J)的处理模块 1与第 i层校验节点中的第一组校验 节点的校验节点 1、 第二组校验节点的校验节点 1和第三组校验节点 的校验节点 1相对应, 以及层计算模块 120-i(i=l、 2 J)的处理 模块 2与第 i层校验节点中的第一组校验节点的校验节点 2、 第二组 校验节点的校验节点 2和第三组校验节点的校验节点 2相对应。 现在参考图 4, 其示出了按照本发明实施一的处理模块的结构示 意图。 如图 4所示, 层计算模块 120-i(i=l、 2 J)的处理模块 122 包括一个校验节点处理器 CNP和多个变量节点处理器 VNP-k (k=l、 其中, 层计算模块 120-i(i=l、 2 J)的处理模块 122的校验 节点处理器 CNP用于在 QC-LDPC码的每一次迭代译码过程中, 当 第 i层校验节点的处理次序到达时, 根据存储模块 110所存储的与处 理模块 122所对应的校验节点 m相连的各个变量节点传递给该对应 的校验节点 m的外部信息, 计算该对应的校验节点 m传递给与该对 应的校验节点 m相连的各个变量节点的外部信息。
层计算模块 120-i(i=l、 2 J)的处理模块 122的每一个变量 节点处理器 VNP-k对应于与该对应的校验节点 m相连的各个变量节 点的其中一个变量节点, 用于在校验节点处理器 CNP计算出该对应 的校验节点 m传递给该其中一个变量节点的外部信息后, 根据所计 算的该校验节点 m传递给该其中一个变量节点的外部信息、 存储模 块 110所存储的该其中一个变量节点的信道信息和存储模块 110所存 储的与该其中一个变量节点相连的其他层校验节点传递给该其中一 个变量节点的外部信息,计算该其中一个变量节点传递给与该其中一 个变量节点相连的下一层校验节点的外部信息和该其中一个变量节 点的后验概率信息。
其中, 校验节点处理器 CNP 按照等式 (1 ) 来计算校验节点 m 传递给与校验节点 m相连的各个变量节点的外部信息。
Figure imgf000010_0001
在等式 (1 ) 中, amn表示校验节点 m传递给与校验节点 m相连 的变量节点 n的外部信息, β 皿,表示与校验节点 m相连的变量节点 n' 传递给校验节点 m的外部信息, N(m)表示与校验节点 m相连的所有 变量节点的集合, 以及 N(m)\n表示集合 N(m)中除去变量节点 n。
变量节点处理器 VNP-k按照等式(2)来计算变量节点 n传递给 与变量节点 n相连的各个校验节点的外部信息。 GM (ϊ 等式 (2 ) 在等式 (2 ) 中, P mn表示变量节点 n传递给与变量节点 n相连 的校验节点 m'的外部信息, ^表示来自信道的变量节点 n的信道信 息, (^,^表示与变量节点 n相连的校验节点 m"传递给变量节点 n的 外部信息,, M(n)表示与变量节点 n相连的所有校验节点的集合, 以 及 M(n)\m '表示集合 M( )中除去校验节点 m'。
变量节点处理器 VNP-k按照等式(3 )来计算变量节点 n的后验 概率信息。 等式 (3 )
在等式(3 ) 中, β η表示变量节点 η的后验概率信息, ^表示来 自信道的变量节点 n的信道信息, ο η表示与变量节点 n相连的校验 节点 m'传递给变量节点 n的外部信息, 以及 M(n)表示与变量节点 n 相连的所有校验节点的集合。
计算模块 140在 QC-LDPC码的第 NMAX次 (即最后一次) 迭代 译码时根据变量节点处理器 VNP-k所计算的变量节点 n的后验概率 信息,来计算 QC-LDPC码的第 n个码位 xn的判决取值。即,当 βη≥0 时, 计算 QC-LDPC码的第 n个码位 xn的判决取值为 0,即判决 xn =0, 否则计算 QC-LDPC码的第 n个码位 xn的判决取值为 1, 即判决 xn = 1。 下面,参考具体例子来进一步详细描述本发明实施例一的译码装 置。
现在参考图 5, 其示出了按照本发明实施例一的 QC-LDPC码的 校验矩阵 H的一个示例。在本示例中, 假定对 QC-LDPC码的译码进 行 NMAX次迭代。
如图 5所示, QC-LDPC码的校验矩阵 H包括 2 X 3个属于循环 置换矩阵的子矩阵, 每个子矩阵的大小为 3 X 3。 从而, QC-LDPC码 具有 6个校验节点和 9个变量节点。
QC-LDPC码的 6个校验节点划分为两层校验节点, 每一层校验 节点包括 3个校验节点, 其中, 第一层校验节点包括校验节点 d、 C2和 C3, 第二层校验节点包括校验节点 C4、 C5和 C6
每一层校验节点进一步划分为 3组校验节点,每组校验节点包括
1个校验节点, 其中, 第一层校验节点的第一组校验节点中的校验节 点是 第一层校验节点的第二组校验节点中的校验节点是 c2, 第 一层校验节点的第三组校验节点中的校验节点是 c3, 第二层校验节 点的第一组校验节点中的校验节点是 c4, 第二层校验节点的第二组 校验节点中的校验节点是 C5, 第二层校验节点的第三组校验节点中 的校验节点是 c6
对应于图 5所示的 QC-LDPC码, 译码装置的存储模块 110包括 9个存储单元 RAM I、 RAM 2、 ...、 RAM 9, 每一个存储单元具有三 个存储位置。
如图 6A所示,存储单元 RAM 1的第一个存储位置 addrl用于存 储位于校验矩阵 H的第一个子矩阵中变量节点 V2传递给与变量节点 ¥2相连的校验节点 d的外部信息,存储单元 RAM 1的第二个存储位 置 addr2用于存储位于校验矩阵 H的第一个子矩阵中变量节点 V3传 递给与变量节点 3相连的校验节点 C2的外部信息, 以及存储单元 RAM 1的第三个存储位置 addr3用于存储位于校验矩阵 H的第一个 子矩阵中变量节点 传递给与变量节点 连的校验节点 C3的外 立 自
存储单元 RAM 2的第一个存储位置 addrl用于存储位于校验矩 阵 H的第二个子矩阵中变量节点 V4传递给与变量节点 V4相连的校验 节点 d的外部信息, 存储单元 RAM 2的第二个存储位置 addr2用于 存储位于校验矩阵 H的第二个子矩阵中变量节点 5传递给与变量节 点 ¼相连的校验节点 C2的外部信息, 以及存储单元 RAM 2的第三 个存储位置 addr3用于存储位于校验矩阵 H的第二个子矩阵中变量节 点 ¼传递给与变量节点 V6相连的校验节点 C3的外部信息。
存储单元 RAM 3的第一个存储位置 addrl用于存储位于校验矩 阵 H的第三个子矩阵中变量节点 V8传递给与变量节点 V8相连的校验 节点 的外部信息, 存储单元 RAM 3的第二个存储位置 addr2用于 存储位于校验矩阵 H的第三个子矩阵中变量节点 V9传递给与变量节 点 V9相连的校验节点 C2的外部信息, 以及存储单元 RAM 3的第三 个存储位置 addr3用于存储位于校验矩阵 H的第三个子矩阵中变量节 点 V7传递给与变量节点 V7相连的校验节点 C3的外部信息。
存储单元 RAM 4的第一个存储位置 addrl用于存储位于校验矩 阵 H的第四个子矩阵中的校验节点 C4传递给与校验节点 C4相连的变 量节点 V3的外部信息, 存储单元 RAM 4的第二个存储位置 addr2用 于存储位于校验矩阵 H的第四个子矩阵中的校验节点 C5传递给与校 验节点 5相连的变量节点 ¼的外部信息, 以及存储单元 RAM 4的 第三个存储位置 addr3用于存储位于校验矩阵 H的第四个子矩阵中的 校验节点 C6传递给与校验节点 6相连的变量节点 V2的外部信息。
存储单元 RAM 5的第一个存储位置 addrl用于存储位于校验矩 阵 H的第五个子矩阵中的校验节点 C4传递给与校验节点 C4相连的变 量节点 V6的外部信息, 存储单元 RAM 5的第二个存储位置 addr2用 于存储位于校验矩阵 H的第五个子矩阵中的校验节点 C5传递给与校 验节点 5相连的变量节点 V4的外部信息, 以及存储单元 RAM 5的 第三个存储位置 addr3用于存储位于校验矩阵 H的第五个子矩阵中的 校验节点 C6传递给与校验节点 C6相连的变量节点 V5的外部信息。
存储单元 RAM 6的第一个存储位置 addrl用于存储位于校验矩 阵 H的第六个子矩阵中的校验节点 C4传递给与校验节点 C4相连的变 量节点 V7的外部信息, 存储单元 RAM 6的第二个存储位置 addr2用 于存储位于校验矩阵 H的第六个子矩阵中的校验节点 C5传递给与校 验节点 5相连的变量节点 V8的外部信息, 以及存储单元 RAM 6的 第三个存储位置 addr3用于存储位于校验矩阵 H的第六个子矩阵中的 校验节点 C6传递给与校验节点 C6相连的变量节点 V9的外部信息。
存储单元 RAM 7用于存储变量节点 V2、 V3、 的信道信息, 存 储单元 RAM 8用于存储变量节点 V4、 V5、 ¼的信道信息, 以及存储 单元 RAM 9用于存储变量节点 V8、 V9、 V7的信道信息。 译码装置的更新模块 120包括两个层计算模块 L1和 L2,分别与 第一层校验节点和第二层校验节点对应。 层计算模块 L1和 L2各自 包括一个处理模块组, 该处理模块组仅包括一个处理模块, 该处理模 块包括一个校验节点处理器 CNP和三个变量节点处理器 VNP。 层计 算模块 L1的处理模块与第一层校验节点的第一、 二和三组校验节点 中的校验节点 、 2和 C3对应, 层计算模块 L2的处理模块与第二 层校验节点的第一、 二和三组校验节点中的校验节点 C456对 应。
在 QC-LDPC码的每一次迭代译码过程中, 更新模块 120按照逐 层逐组校验节点处理的方式来对 QC-LDPC码进行译码。 具体地, 在 QC-LDPC码的每一次迭代译码过程中, 首先层计算 模块 L1按照逐组校验节点处理的方式来分三步来处理第一层校验节 点。
第一步,层计算模块 L1处理第一层校验节点的第一组校验节点, 在这里, 第一层校验节点的第一组校验节点仅包括校验节点 。
首先, 地址控制模块 130根据存储模块 110 中存储在校验节点 Ci和与校验节点 d相连的各个变量节点之间传递的外部信息的存储 位置和存储模块 110中存储在与校验节点 相连的各个变量节点和 与该各个变量节点相连的其它层校验节点之间传递的外部信息的存 储位置,控制层计算模块 L1的校验节点处理器 CNP和三个变量节点 处理器 VNP各自的读地址和写地址。如图 5所示, 与校验节点 ^相 连的变量节点是 V2、 V4和 V8, 与变量节点 V2相连的其它层校验节 点是 C6, 与变量节点 V4相连的其它层校验节点是 C5, 与变量节点 V8相连的其它层校验节点是 C5, 并且, 如前面参考图 6A所描述的, 存储模块 110的存储单元 RAM 1的第一个存储位置 addrel存储在校 验节点 和变量节点 ^之间传递的外部信息, 存储模块 110的存储 单元 RAM 2的第一个存储位置 addrel存储在校验节点 d和变量节点 V4之间传递的外部信息, 存储模块 110的存储单元 RAM 3的第一个 存储位置 addrel存储在校验节点 d和变量节点 V8之间传递的外部信 息, 存储模块 110的存储单元 RAM 4的第三个存储位置 addre3存储 在校验节点 C6和变量节点 ^之间传递的外部信息, 存储模块 110的 存储单元 RAM 5的第二个存储位置 addre2存储在校验节点 C5和变量 节点 V4之间传递的外部信息,存储模块 110的存储单元 RAM 6的第 二个存储位置 addre2存储在校验节点 C8和变量节点 V8之间传递的外 部信息, 因此, 在地址控制模块 130的控制下, 层计算模块 L1的校 验节点处理器 CNP的读地址和写地址都是存储单元 RAM 1、 RAM 2 和 RAM 3的第一个存储位置 addrel,层计算模块 L1的第一个变量节 点处理器 VNP的读地址是存储单元 RAM 4的第三个存储位置 addre3 和存储单元 RAM 7的第一个存储位置 addrel以及其写地址是存储单 元 RAM 4的第三个存储位置 addre3,层计算模块 L1的第二个变量节 点处理器 VNP的读地址是存储单元 RAM 5的第二个存储位置 addre2 和存储单元 RAM 8的第一个存储位置 addrel以及其写地址是存储单 元 RAM 5的第二个存储位置 addre2,层计算模块 L1的第三个变量节 点处理器 VNP的读地址是存储单元 RAM 6的第二个存储位置 addre2 和存储单元 RAM 9的第一个存储位置 addrel以及其写地址是存储单 元 RAM 6的第二个存储位置 addre2。
然后, 层计算模块 L1的校验节点处理器 CNP从存储单元 RAM 1、 RAM 2和 RAM 3各自的第一个存储位置 addrel中读取与校验节 点 d相连的变量节点 V2、 V4和 V8分别传递给校验节点 d的外部信 息, 并根据所读取的外部信息按照等式(1 )计算校验节点 分别传 递给变量节点 V2、 V4和 V8的外部信息 d2V2、 d2V^P d2V8并把 所计算的外部信息 C V^ C^VA和 d2V8分别写入存储单元 RAM 1、 RAM 2和 RAM 3各自的第一个存储位置 addrel以更新各自所存储的 外部信息。
接着,层计算模块 L1的第一个变量节点处理器 VNP利用从存储 单元 RAM 4的第三个存储位置 addre3读取的校验节点 C6传递给变量 节点 V2的外部信息 C62V2、 从存储单元 RAM 7的第一个存储位置 addrel 读取的变量节点 V2的信道信息 CM2和校验节点处理器 CNP 所计算的校验节点 d传递给变量节点 V2的外部信息 d2V2按照等式 (2)和等式(3 )来计算变量节点 2传递给校验节点 6的外部信息 V22C6和变量节点 V2的后验概率信息并把所计算的外部信息 V22C6 写入 RAM 4的第三个存储位置 addre3以更新其所存储的外部信息, 层计算模块 L1的第二个变量节点处理器 VNP利用从存储单元 RAM 5的第二个存储位置 addre2读取的校验节点 5传递给变量节点 V4的 外部信息 C52V4、 从存储单元 RAM 8的第一个存储位置 addrel读取 的变量节点 V4的信道信息 CM4和校验节点处理器 CNP所计算的校 验节点 ^传递给变量节点 V4的外部信息 d2V4按照等式 (2) 和等 式 (3 ) 来计算变量节点 V4传递给校验节点 C5的外部信息 V42C5和 变量节点 V4的后验概率信息并把所计算的外部信息 V42C5写入 RAM 5的第二个存储位置 addre2以更新其所存储的外部信息, 以及, 层计 算模块 L1的第三个变量节点处理器 VNP利用从存储单元 RAM 6的 第二个存储位置 addre2读取的校验节点 5传递给变量节点 V8的外部 信息 C52V8、 从存储单元 RAM 9的第一个存储位置 addrel读取的变 量节点 V8的信道信息 CM8和校验节点处理器 CNP所计算的校验节 点 ^传递给变量节点 V8的外部信息 2¼按照等式(2)和等式(3 ) 来计算变量节点 ¼传递给校验节点 C5的外部信息 V82C5和变量节点 V8的后验概率信息并把所计算的外部信息 V82C5写入 RAM 6的第二 个存储位置 addre2以更新其所存储的外部信息。
第二步和第三步分别是层计算模块 L1处理第一层校验节点的第 二组校验节点和第三组校验节点, 其处理过程与第一步, 即层计算模 块 L1处理第一层校验节点的第一组校验节点类似, 并且图 6A有详 细图示, 因此在此不再赘述。
层计算模块 L2处理第二层校验节点的第一组校验节点、 第二组 校验节点和第三组校验节点与上面描述的层计算模块 L1处理第一层 校验节点的第一组校验节点、 第二组校验节点类似, 并且图 6B有详 细图示, 因此在此也不再赘述。
当处理完所有层校验节点, 则完成 QC-LDPC码一次迭代译码的 计算处理。进行下一次迭代译码时又重复完成上述的一次迭代译码过 程。 在完成 QC-LDPC码的预先设定的 NMAX次迭代译码后, 计算模 块 140根据在 QC-LDPC码的第 NMAX次 (即最后一次) 迭代译码时 层计算模块 L1和 L2的第一、 二和三个变量节点处理器 VNP所计算 的各个变量节点的后验概率信息, 计算 QC-LDPC码的各个码位的判 决取值。
从图 6A 和图 6B 可以看出, 存储模块 110 的存储单元 RAM1-RAM6 的各个存储位置动态存储其中两个相连的校验节点和 变量节点之间传递的外部信息。 存储在存储模块 110 的存储单元 RAM1-RAM6 的各个存储位置中的信息是校验节点传递给变量节点 的外部信息还是变量节点传递给校验节点的外部信息取决于正在对 QC-LDPC码的哪一层校验节点进行处理。 具体地, 在 QC-LDPC码 的每一次迭代译码过程中, 当 QC-LDPC码的第 j-1层校验节点已经 处理完毕但第 j 层校验节点还没有开始处理时, 存储单元 RAM1-RAM6中与第 j层校验节点相关的各个存储位置所存储的外部 信息都是变量节点传递给校验节点的外部信息, 而存储单元 RAM1-RAM6 中与其他层校验节点相关的各个存储位置所存储的外 部信息都是校验节点传递给变量节点的外部信息, 然而, 在第 j层校 验节点已经处理完毕之后, 存储单元 RAM1-RAM6中与第 j层校验 节点相关的各个存储位置所存储的外部信息都是更新的校验节点传 递给变量节点的外部信息, 存储单元 RAM1-RAM6中与第 j+1层校 验节点相关的各个存储位置所存储的外部信息都是更新的变量节点 传递给校验节点的外部信息,并且存储单元 RAM1-RAM6中与除了 j 和 j+1层之外的其它层校验节点相关的各个存储位置所存储的外部信 息保持不变。
由于存储模块 110 将在 QC-LDPC 码的迭代译码过程中在 QC-LDPC码的任意两个相连的校验节点和变量节点之间传递的外部 信息动态存储在相同存储位置中,因此减少了译码装置所需的存储资 源, 降低了译码装置的硬件实现的复杂度。
<实施例二> 类似于本发明实施例一,本发明实施例二的译码装置也包括存储 模块、 更新装置、 地址控制模块、 计算装置和交换模块。 为了简单起 见, 以下仅描述本发明实施例二与本发明实施例一不同的地方, 两者 相同的地方不再赘述。
本发明实施例二的存储模块包括多个子存储模块, 其中, 每一个 子存储模块与 QC-LDPC码的多个码字的其中一个码字相对应, 用于 存储该其中一个码字的各个变量节点的信道信息和在对该其中一个 码字进行迭代译码过程中在该其中一个码字的各个校验节点和各个 变量节点之间传递的外部信息, 其中, 在该其中一个码字的任意两个 相连的校验节点和变量节点之间传递的外部信息动态存储在与该其 中一个码字相对应的子存储模块的相同存储位置中。
在本发明实施例二中, 译码装置采用流水调度的方式来对 QC-LDPC码的多个码字进行译码, 以减少译码过程中的空闲时隙从 而提高处理吞吐量。具体地, 本发明实施例二的更新模块中的每一个 层计算模块的处理模块组的各个处理模块的处理被分成多个顺序执 行的处理步骤, 其中, 当每一个层计算模块的处理模块组中的各个处 理模块的第一个处理步骤完成对该多个码字的其中一个码字的处理 后, 在没有空闲等待的情况下开始就对另一个码字进行处理。 其中, 各个处理模块把所计算的每一个码字的各个校验节点和各个变量节 点之间传递的外部信息写入存储模块中与每一个码字相应的子存储 模块以更新与每一个码字相应的子存储模块所存储的外部信息。
参考图 7, 其示出了现有技术的译码装置的流水调度示意图。 如 图 7所示, 译码装置对三个码字进行译码, 其中, Ll、 L2、 L3和 L4 分别表示第一、 二、 三和四层校验节点, sl、 s2、 s3和 s4分别表示 处理模块的第一、 二、 三和四个处理步骤。 从图 7可以看出, 译码装 置的每一个层计算模块的处理模块的第一个处理步骤在完成一个码 字的处理之后, 在等待第二、三和四个处理步骤都完成该一个码字的 处理之后, 才开始执行对另一个码字的处理。 可见在现有技术中, 译 码装置在译码过程中会等待空闲时隙,从而降低了译码装置的处理吞 吐量。 参考图 8, 其示出了按照本发明实施例二的译码装置的流水调度 示意图。如图 8所示, 译码装置以流水调度的方式对六个码字进行译 码, 其中, Ll、 L2、 L3和 L4分别表示第一、 二、 三和四层校验节 点, sl、 s2、 s3和 s4分别表示处理模块的第一、 二、 三和四个处理 步骤。
从图 8可以看出,译码装置的每一个层计算模块的处理模块的第 一个处理步骤在完成一个码字的处理后, 在没有空闲等待(即没有等 待第二、三和四个处理步骤都完成该一个码字的处理之后)的情况下 就开始就对另一个码字进行处理。可见, 本发明实施例二的译码装置 在译码过程中没有等待空闲时隙, 从而提高了译码装置的处理吞吐
本领域技术人员应当理解, 虽然在本发明的实施例一和二中, 每 一个层计算模块的处理模块组中的各个处理模块并行工作, 然而, 本 发明并不局限于此。在本发明的其它实施例中, 每一个层计算模块的 处理模块组中的各个处理模块也可以依次顺序进行工作。
本领域技术人员应当理解, 虽然在本发明的实施例一和二中, 每 一个层计算模块的处理模块组所包括的处理模块的个数等于每组校 验节点中的校验节点个数, 然而, 本发明并不局限于此。在本发明的 其它实施例中,每一个层计算模块的处理模块组中也可以仅包括一个 处理模块,其依次对一组校验节点中的各个校验节点进行处理;或者, 每一个层计算模块的处理模块组包括多个处理模块但数量比每组校 验节点中的校验节点个数少,每个处理模块负责一组校验节点中的其 中一部分校验节点的处理。通过这种方式, 可以进一步减少译码装置 的硬件资源, 降低译码装置的硬件实现复杂度。
本领域技术人员应当理解, 虽然在本发明的实施例一和二中, 每 一个层计算模块仅包括一个处理模块组,其对其中一层校验节点中的 各组校验节点逐组进行处理, 然而, 本发明并不局限于此。在本发明 的其它实施例中,每一个层计算模块也可以包括多个并行工作的处理 模块组,每一个处理模块组负责对该其中一层校验节点中的一组校验 节点进行处理, 以此加快译码装置的译码速度, 提高译码装置的处理 吞吐量。
本领域技术人员应当理解, 虽然在本发明的实施例一和二中, 更 新模块包括多个层计算模块,每个层计算模块负责处理其中一层校验 节点, 然而, 本发明并不局限于此。 在本发明的其它实施例中, 更新 模块也可以仅包括一个层计算模块,其依次顺序对各层校验节点进行 处理; 或者, 更新模块包括多个层计算模块但数量比层校验节点的数 量少, 每一个层计算模块负责处理其中一部分层校验节点。通过这种 方式, 可以进一步减少译码装置的硬件资源, 降低译码装置的硬件实 现复杂度。
本领域技术人员应当理解, 虽然在本发明的实施例一和二中, 译 码装置包括地址控制模块, 然而, 本发明并不局限于此。在本发明的 其它实施例中,例如当更新模块包括的层计算模块的个数等于校验节 点的层数,每个层计算模块所包括的处理模块组的数量等于每层校验 节点中的校验节点的组数,每个处理模块组所包括的处理模块的个数 等于每组校验节点中校验节点的个数,从而使得更新模块中的处理模 块与 QC-LDPC码的校验节点形成一一对应关系时, 译码装置可以不 包括地址控制模块, 因为这种情况下, 每一个处理模块的读地址和写 地址是固定不变的。
本领域技术人员应当理解, 虽然在本发明的实施例一和二中, 译 码装置包括交换模块, 然而, 本发明并不局限于此。在本发明的其它 实施例中, 例如当计算模块能够按照 QC-LDPC码的各个码位的先后 顺序依次计算得到 QC-LDPC码的各个码位的判决取值时, 译码装置 可以不包括交换模块。
本领域技术人员应当理解, 虽然在上面所描述的实施例中, 在
QC-LDPC码的每一次迭代译码过程中都计算 QC-LDPC码的各个变 量节点的后验概率信息, 然而, 本发明并不局限于此。在本发明的其 它实施例中, 也可以仅在 QC-LDPC码的最后一次迭代译码时才计算 QC-LDPC码的各个变量节点的后验概率信息。
本领域技术人员应当理解, 虽然在上面所描述的内容中, 本发明 的各个实施例所公开的装置应用于对 QC-LDPC码进行预定迭代次数 (即 NMAX) 译码的情形, 但是, 本发明的各个实施例所公开的装置 也可以应用到对 QC-LDPC码进行动态译码的情形。
其中, 在对 QC-LDPC码进行动态译码时, 在 QC-LDPC码的每 一次迭代译码过程中, 计算模块 140 根据更新模块 120 所计算的 QC-LDPC码的各个变量节点的后验概率信息来计算 QC-LDPC码的 各个码位的判决取值, 把所计算的 QC-LDPC码的各个码位的判决取 值与 QC-LDPC码的校验矩阵相乘, 判断相乘的结果是否为零, 如果 判断结果为肯定 (即相乘的结果为零), 则表明对 QC-LDPC码的译 码已经成功, 从而结束对 QC-LDPC码的译码, 如果判断结果为否定 (即相乘的结果不为零), 则进一步判断对 QC-LDPC码的迭代译码 是否已经达到预定的最大迭代次数, 如果进一步判断结果为肯定(即 已经达到了预定的最大迭代次数), 则结束对 QC-LDPC码的译码并 输出所计算的 QC-LDPC码的各个码位的判决取值作为 QC-LDPC码 的实际值, 如果进一步判断结果为否定(即还没有达到预定的最大迭 代次数), 则对 QC-LDPC码进行下一次迭代译码。
本领域技术人员应当理解,本发明的各个实施例可以在不偏离发 明实质的情况下做出各种变形和改变,这些变形和改变都应当落入在 本发明的保护范围之内。 因此, 本发明的保护范围由所附的权利要求 书定义。

Claims

权 利 要 求 书
1、 一种译码装置, 包括:
存储模块, 用于存储准循环低密度奇偶校验 QC-LDPC码的各个 变量节点的信道信息和在对所述 QC-LDPC码进行迭代译码过程中在 所述 QC-LDPC码的各个校验节点和各个变量节点之间传递的外部信 息, 其中, 在所述 QC-LDPC码的任意两个相连的校验节点 C和变量 节点 V之间传递的外部信息动态存储在所述存储模块的相同存储位 置中;
更新模块, 用于在所述 QC-LDPC码的每一次迭代译码过程中, 根据所述存储模块所存储的信道信息和外部信息, 按照将所述 QC-LDPC 码的各个校验节点划分为多层校验节点并逐层处理的方 式, 计算在所述 QC-LDPC码的各个校验节点和各个变量节点之间传 递的外部信息并且将所计算的外部信息写入所述存储模块以更新所 述存储模块所存储的外部信息,以及用于根据所述存储模块所存储的 信道信息和外部信息以及所计算的外部信息来计算所述 QC-LDPC码 的各个变量节点的后验概率信息; 以及
计算模块, 用于根据所计算的所述 QC-LDPC码的各个变量节点 的后验概率信息, 计算所述 QC-LDPC码的各个码位的判决取值。
2、 如权利要求 1所述的译码装置, 其中,
在所述 QC-LDPC码的每一次迭代译码过程中, 在包括所述校验 节点 C 的那一层校验节点的前一层校验节点处理完成之后但在包括 所述校验节点 C 的那一层校验节点开始处理之前, 所述相同存储位 置存储所述变量节点 V向所述校验节点 C传递的外部信息, 以及, 在包括所述校验节点 C 的那一层校验节点处理完成之后, 所述相同 存储位置存储所述校验节点 C向所述变量节点 V传递的外部信息。
3、 如权利要求 1或 2所述的译码装置, 其中,
在所述 QC-LDPC码的每一次迭代译码过程中, 在包括所述校验 节点 C 的那一层校验节点的前一层校验节点处理完成之后但在包括 所述校验节点 C 的那一层校验节点开始处理之前, 所述存储模块中 与所述 QC-LDPC码的除了包括所述校验节点 C的那一层校验节点之 外的其它层校验节点相关的各个存储位置存储校验节点传递给变量 节点的外部信息, 以及, 在包括所述校验节点 C 的那一层校验节点 处理完成之后, 所述存储模块中与包括所述校验节点 C 的那一层校 验节点的下一层校验节点相关的各个存储位置存储变量节点传递给 校验节点的外部信息。
4、 如权利要求 1、 2或 3所述的译码装置, 其中,
所述更新模块包括多个层计算模块, 其中, 每一个层计算模块与 所述多层校验节点的其中一层校验节点相对应, 用于在所述 QC-LDPC码的每一次迭代译码过程中, 当所述其中一层校验节点的 处理次序到达时,根据所述存储模块所存储的外部信息来计算所述其 中一层校验节点传递给与所述其中一层校验节点相连的各个变量节 点的外部信息, 根据所述存储模块所存储的信道信息、外部信息以及 所计算的所述其中一层校验节点传递给与所述其中一层校验节点相 连的各个变量节点的外部信息,计算与所述其中一层校验节点相连的 各个变量节点传递给下一层校验节点的外部信息以及与所述其中一 层校验节点相连的各个变量节点的后验概率信息,并且将所计算的外 部信息写入所述存储模块以更新所述存储模块所存储的外部信息。
5、 如权利要求 4所述的译码装置, 其中,
所述多层校验节点中的每一层校验节点被分为多组检验节点, 所述多个层计算模块的每一个层计算模块用于在所述 QC-LDPC 码的每一次迭代译码过程中,当所述其中一层校验节点的处理次序到 达时, 以逐组校验节点进行处理的方式, 根据所述存储模块所存储的 外部信息来计算所述其中一层校验节点的每一组校验节点传递给与 所述每一组校验节点相连的各个变量节点的外部信息,根据所述存储 模块所存储的外部信息、信道信息以及所计算的所述每一组校验节点 传递给与所述每一组校验节点相连的各个变量节点的外部信息,计算 与所述每一组校验节点相连的各个变量节点传递给所述下一层校验 节点的外部信息以及与所述每一组校验节点相连的各个变量节点的 后验概率信息,并且将所计算的外部信息写入所述存储模块以更新所 述存储模块所存储的外部信息。
6、 如权利要求 5所述的译码装置, 其中,
所述多个层计算模块的每一个层计算模块包括一个处理模块组, 其中,每一个层计算模块的所述处理模块组中的每一个处理模块与所 述其中一层校验节点的每一组校验节点的其中一个校验节点相对应, 用于在所述 QC-LDPC码的每一次迭代译码过程中, 当所述其中一层 校验节点的处理次序到达时, 以逐组校验节点进行处理的方式, 根据 所述存储模块所存储的外部信息来计算所述其中一个校验节点传递 给与所述其中一个校验节点相连的各个变量节点的外部信息,根据所 述存储模块所存储的外部信息和信道信息以及所计算的所述其中一 个校验节点传递给与所述其中一个校验节点相连的各个变量节点的 外部信息来计算与所述其中一个校验节点相连的各个变量节点传递 给所述下一层校验节点的外部信息以及与所述其中一个校验节点相 连的各个变量节点的后验概率信息,并且将所计算的外部信息写入所 述存储模块以更新所述存储模块所存储的外部信息。
7、 如权利要求 6所述的译码装置, 其中,
所述处理模块组中的各个处理模块并行工作。
8、 如权利要求 7所述的译码装置, 其中,
所述多个层计算模块的每一个层计算模块的所述处理模块组中 的每一个处理模块包括一个校验节点处理器和多个变量节点处理器, 其中
所述校验节点处理器用于在所述 QC-LDPC码的每一次迭代译码 过程中, 当所述其中一层校验节点的处理次序到达时, 根据所述存储 模块所存储的与所述其中一个校验节点相连的各个变量节点传递给 所述其中一个校验节点的外部信息来计算所述其中一个校验节点传 递给与所述其中一个校验节点相连的各个变量节点的外部信息, 所述多个变量节点处理器的每一个变量节点处理器对应于与所 述其中一个校验节点相连的各个变量节点的其中一个变量节点,用于 在所述其中一个校验节点计算出所述其中一个校验节点传递给所述 其中一个变量节点的外部信息后,根据所计算的所述其中一个校验节 点传递给所述其中一个变量节点的外部信息、所述存储模块所存储的 所述其中一个变量节点的信道信息和所述存储模块所存储的与所述 其中一个变量节点相连的其他层校验节点传递给所述其中一个变量 节点的外部信息来计算所述其中一个变量节点传递给与所述其中一 个变量节点相连的下一层校验节点的外部信息和所述其中一个变量 节点的后验概率信息。
9、 如权利要求 8所述的译码装置, 其中,
所述存储模块包括多个子存储模块, 其中, 每一个子存储模块与 所述 QC-LDPC码的多个码字的其中一个码字相对应, 用于存储所述 其中一个码字的各个变量节点的信道信息和在对所述其中一个码字 进行迭代译码过程中在所述其中一个码字的各个校验节点和各个变 量节点之间传递的外部信息, 其中, 在所述其中一个码字的相同的校 验节点和变量节点之间传递的外部信息存储在与所述其中一个码字 相对应的子存储模块的相同存储位置中,
所述多个层计算模块的每一个层计算模块的所述处理模块组中 的各个处理模块的处理被分成多个顺序执行的处理步骤, 其中, 当所 述多个层计算模块的每一个层计算模块的所述处理模块组中的各个 处理模块的第一个处理步骤完成对所述多个码字的其中一个码字的 处理后,在没有空闲等待的情况下开始对所述多个码字中的另一个码 字进行处理, 并且其中, 所述处理模块组中的各个处理模块把所计算 的在所述多个码字的每一个码字的各个校验节点和各个变量节点之 间传递的外部信息写入所述存储模块中与每一个码字相应的子存储 模块以更新与每一个码字相应的子存储模块所存储的外部信息。
10、 如权利要求 1所述的译码装置, 其中, 还包括:
地址控制模,用于控制所述更新模块从所述存储模块中读取信道 信息和外部信息和向所述存储模块写入所述更新模块所计算的外部 信息的地址。
11、 如权利要求 1所述的译码装置, 其中, 还包括:
交换模块, 用于根据所述 QC-LDPC 码的各个码位在所述 QC-LDPC码中所处的先后顺序, 依次输出所述计算模块所计算的所 述 QC-LDPC码的各个码位的判决取值。
12、 如权利要求 1所述的译码装置, 其中
所述计算模块进一步用于根据在所述 QC-LDPC码的最后一次迭 代译码时所计算的所述 QC-LDPC码的各个变量节点的后验概率信息 来计算所述 QC-LDPC码的各个码位的判决取值。
13、 如权利要求 1所述的译码装置, 其中
所述更新模块进一步用于在所述 QC-LDPC码的每一次迭代译码 过程或者最后一次迭代译码过程中,根据所述存储模块所存储的信道 信息和外部信息以及所述计算的外部信息来计算所述 QC-LDPC码的 各个变量节点的后验概率信息。
PCT/CN2011/077678 2011-07-27 2011-07-27 译码装置 WO2012106937A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2011/077678 WO2012106937A1 (zh) 2011-07-27 2011-07-27 译码装置
CN201180001583.4A CN102696176B (zh) 2011-07-27 2011-07-27 译码装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2011/077678 WO2012106937A1 (zh) 2011-07-27 2011-07-27 译码装置

Publications (1)

Publication Number Publication Date
WO2012106937A1 true WO2012106937A1 (zh) 2012-08-16

Family

ID=46638137

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2011/077678 WO2012106937A1 (zh) 2011-07-27 2011-07-27 译码装置

Country Status (2)

Country Link
CN (1) CN102696176B (zh)
WO (1) WO2012106937A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106209114A (zh) * 2015-04-29 2016-12-07 联想(北京)有限公司 译码方法及装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9116822B2 (en) * 2012-12-07 2015-08-25 Micron Technology, Inc. Stopping criteria for layered iterative error correction
CN105680877B (zh) * 2014-11-19 2019-06-28 香港理工大学 一种cc-qc-ldpc码的构建方法及译码装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101471674A (zh) * 2007-12-28 2009-07-01 三星电子株式会社 低密度奇偶校验码译码方法及装置
CN101931416A (zh) * 2009-06-24 2010-12-29 中国科学院微电子研究所 移动数字多媒体广播系统中的ldpc码的并行分层译码器
US20110145675A1 (en) * 2009-12-15 2011-06-16 International Business Machines Corporation Calculation technique for sum-product decoding method (belief propagation method) based on scaling of input log-likelihood ratio by noise variance

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101471674A (zh) * 2007-12-28 2009-07-01 三星电子株式会社 低密度奇偶校验码译码方法及装置
CN101931416A (zh) * 2009-06-24 2010-12-29 中国科学院微电子研究所 移动数字多媒体广播系统中的ldpc码的并行分层译码器
US20110145675A1 (en) * 2009-12-15 2011-06-16 International Business Machines Corporation Calculation technique for sum-product decoding method (belief propagation method) based on scaling of input log-likelihood ratio by noise variance

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LI, GANG ET AL.: "Design and Implementation of a QC-LDPC Decoder", MICROELECTRONICS & COMPUTER, vol. 25, no. 7, July 2008 (2008-07-01), pages 52 - 55 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106209114A (zh) * 2015-04-29 2016-12-07 联想(北京)有限公司 译码方法及装置

Also Published As

Publication number Publication date
CN102696176B (zh) 2014-07-16
CN102696176A (zh) 2012-09-26

Similar Documents

Publication Publication Date Title
US7373581B2 (en) Device, program, and method for decoding LDPC codes
US8839077B2 (en) Low density parity check codec
US8566667B2 (en) Low density parity check code decoding system and method
CN101079639B (zh) 基于节点存储器的低密度奇偶校验解码装置和方法
CN107370490B (zh) 结构化ldpc的编码、译码方法及装置
JP4519694B2 (ja) Ldpc符号検出装置及びldpc符号検出方法
WO2015123979A1 (zh) 结构化ldpc的编码方法、译码方法、编码装置和译码装置
US20060020870A1 (en) Layered decoding of low density parity check (PDPC) codes
US20140149820A1 (en) Efficient ldpc codes
Ho et al. A 520k (18900, 17010) array dispersion LDPC decoder architectures for NAND flash memory
WO2007034870A1 (ja) 復号装置および受信装置
KR20110124659A (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 계층적 복호 장치 및 방법
CN103618556A (zh) 基于rmp调度的部分并行qc-ldpc译码方法
US20110179337A1 (en) Memory utilization method for low density parity check code, low density parity check code decoding method and decoding apparatus thereof
WO2012106937A1 (zh) 译码装置
CN100544212C (zh) 高速的减少存储需求的低密度校验码解码器
WO2021063217A1 (zh) 一种译码方法及装置
CN110890896B (zh) 可重构的极化码与低密度奇偶校验码联合译码单元
CN111384970B (zh) 一种译码方法、装置及通信设备
CN113055025B (zh) 可重构的极化码与低密度奇偶校验码译码器
Rovini et al. A minimum-latency block-serial architecture of a decoder for IEEE 802.11 n LDPC codes
Oh et al. Efficient highly-parallel decoder architecture for quasi-cyclic low-density parity-check codes
WO2017193614A1 (zh) 结构化ldpc的编码、译码方法及装置
Kakde et al. FPGA implementation of decoder architectures for high throughput irregular LDPC codes
Kim et al. Overlapped decoding for a class of quasi-cyclic LDPC codes

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201180001583.4

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11858040

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11858040

Country of ref document: EP

Kind code of ref document: A1