CN101350625A - 一种高效通用的qc-ldpc码译码器及其译码方法 - Google Patents

一种高效通用的qc-ldpc码译码器及其译码方法 Download PDF

Info

Publication number
CN101350625A
CN101350625A CNA2007101192066A CN200710119206A CN101350625A CN 101350625 A CN101350625 A CN 101350625A CN A2007101192066 A CNA2007101192066 A CN A2007101192066A CN 200710119206 A CN200710119206 A CN 200710119206A CN 101350625 A CN101350625 A CN 101350625A
Authority
CN
China
Prior art keywords
check
information
node
buffer
variable node
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
CNA2007101192066A
Other languages
English (en)
Other versions
CN101350625B (zh
Inventor
白栋
陶涛
杨庆华
陈文�
李群
王秋生
曹晓卫
马炬
叶睿睿
申红兵
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.)
Beijing Taimei Shiji Science & Technology Co Ltd
Original Assignee
Beijing Taimei Shiji Science & Technology Co Ltd
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 Beijing Taimei Shiji Science & Technology Co Ltd filed Critical Beijing Taimei Shiji Science & Technology Co Ltd
Priority to CN2007101192066A priority Critical patent/CN101350625B/zh
Priority to PCT/CN2008/001192 priority patent/WO2009009950A1/zh
Priority to US12/669,277 priority patent/US8321747B2/en
Publication of CN101350625A publication Critical patent/CN101350625A/zh
Application granted granted Critical
Publication of CN101350625B publication Critical patent/CN101350625B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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/1105Decoding

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

本发明提出了一种高效通用的QC-LDPC码译码器,其包括:通用处理器,其对数据存储区进行空间分配,并为数据的寻址建立索引;数据存储区,用于存储译码过程中所需的信息;硬件加速器,用于实现包括奇偶校验、校验节点更新、变量节点更新的信息处理运算中的部分或全部。本发明同时提出一种相应的QC-LDPC码译码方法,包括对变量节点信息进行初始化并对所述校验矩阵以行块为单位进行奇偶校验;若判断有校验方程不满足,则以行块为单位进行校验节点更新以及以列块为单位进行变量节点更新。本发明的译码器具有较强的通用性,提高了译码吞吐量,适用于规则或者非规则QC-LDPC码。

Description

一种高效通用的QC-LDPC码译码器及其译码方法
技术领域
本发明涉及数字通信系统中的纠错编码,尤其涉及一种纠错编码方式为QC-LDPC码的译码方法。
背景技术
数字信号在传输过程中由于受到噪声和干扰的影响会出现差错,在通信系统中一般采用纠错编码技术来保证可靠的传输。低密度校验(LDPC)码最早由Gallager提出,是一种校验矩阵非常稀疏的线性分组码,其校验矩阵中“1”的个数远小于“0”的个数。Mackay等人的进一步研究表明,LDPC码的性能在置信传播(BeliefPropagation)译码算法下可以接近香农极限(Shannon Limit),而译码复杂度远比Turbo码低,且具有较低的误码平台(Error Floor)。因此,LDPC码被认为是目前最有前途的纠错编码方式之一。
为了解决LDPC码编码复杂度较高的问题,近年来提出了一种具有准循环(Quasi Circulant)结构的LDPC码。QC-LDPC码的校验矩阵由若干子矩阵构成。这些子矩阵要么是一个全零子阵,要么是一个由单位矩阵循环移位得到的循环置换矩阵(Circulant PermutationMatrix)。更一般的,非全零子阵还可以由多个循环置换矩阵构成。QC-LDPC码可以采用简单的移位寄存器的方式进行编码,同时由于其校验矩阵结构的规律性,可以大量减少校验矩阵所需的存储空间,且有利于译码过程中数据的寻址。
LDPC码的译码过程是一种不断迭代的消息传递(MessagePassing)过程,一般包括如下4个步骤:
1、初始化:根据接收到的码元信号,计算各变量节点的初始信息。
2、校验节点更新:各校验节点根据与之相连的变量节点传递来的信息,计算新的校验节点信息,并传递给与之相连的变量节点。
3、变量节点更新:各变量节点根据与之相连的校验节点传递来的信息,计算新的变量节点信息。
4、奇偶校验:将新的变量节点信息代入校验方程进行奇偶校验。若所有校验方程均满足,则说明译码成功;若有校验方程不满足,则将新的变量节点信息再次传递给校验节点,重复步骤2和3,直至译码成功或达到最大迭代次数。
LDPC译码器通常采用专用的硬件电路来实现,通过并行的结构来提高译码吞吐量,然而其固定的结构很难满足对不同参数(码长、码率)和校验矩阵结构的LDPC码进行译码。采用软件的方法虽然可以实现LDPC译码器的通用性,但是对于复杂的信息处理尤其是校验节点更新将消耗大量的运算时间,很难实现高效的译码吞吐量。
发明内容
为此,本发明针对QC-LDPC码的结构,采用软件的方式,辅以硬件加速器,提出了一种高效通用的QC-LDPC码译码器,其包括:
通用处理器,用于根据QC-LDPC码校验矩阵的结构,对数据存储区进行空间分配,同时为数据的寻址建立索引,以及用于对所述译码过程进行控制,对各信息处理运算进行调度,并在译码过程中实现包括奇偶校验、校验节点更新、变量节点更新的信息处理运算中的部分;
数据存储区,用于存储所述译码过程中所需的信息,所述信息包括变量节点的初始信息、迭代过程中的校验节点信息和变量节点信息,针对QC-LDPC码校验矩阵准循环的特性,信息以块为单位进行存储;
硬件加速器,用于在译码过程中实现包括奇偶校验、校验节点更新、变量节点更新的信息处理运算中的部分或全部;
所述硬件加速器还包括:数据接口,用于对写入/读出数据的时序和格式进行适配;数据缓存器,用于存储信息处理过程中的中间变量;运算单元,用于完成对信息的运算处理;控制单元,用于对硬件加速器的运行过程进行控制。
本发明另一方面提出一种高效通用的QC-LDPC码译码方法,其包括以下步骤:
使用通用处理器、根据QC-LDPC码校验矩阵的结构、对数据存储区进行空间分配,同时为数据的寻址建立索引;
使用数据存储区存储所述译码过程中所需的信息,包括变量节点的初始信息、迭代过程中的校验节点信息和变量节点信息,针对QC-LDPC码校验矩阵准循环的特性,信息以块为单位进行存储;
对数据存储区进行初始化,然后由通用处理器或硬件加速器以行块为单位进行奇偶校验;
若所有行块的校验方程均满足,则判决输出,若有校验方程不满足,则在通用处理器的调度下,由通用处理器或硬件加速器以行块为单位进行校验节点更新以及以列块为单位进行变量节点更新;
通用处理器与硬件加速器之间信息以块为单位进行传输;
若已达到最大迭代次数,则判决输出,否则再次进入奇偶校验的步骤,开始新一次的迭代。
本发明的QC-LDPC码译码器具有以下特点:
1、具有较强的通用性,可以对不同参数(码长、码率)和校验矩阵结构的QC-LDPC码进行译码;
2、由于将译码过程中较复杂的信息处理部分交由硬件加速器来完成,极大的提高了译码吞吐量,可满足宽带传输的要求;
3、针对QC-LDPC码校验矩阵准循环的特性,以块为单位对信息进行存储、处理和传输,提高了译码的效率。
4、可以适用于规则或者非规则QC-LDPC码。
5、可以适用于多种消息传递译码算法。
6、可以适用于多种消息传递调度策略。
附图说明
图1为本发明的QC-LDPC码译码器的构成框图;
图2为图1中的硬件加速器的一种优选结构图;
图3为优选实施例1中使用的QC-LDPC码校验矩阵H的结构图;
图4为优选实施例1中使用的QC-LDPC码译码器工作流程图;
图5为优选实施例1中的循环置换矩阵所对应的存储块示意图;
图6为优选实施例2中使用的QC-LDPC码译码器工作流程图。
具体实施方式
下面结合附图对本发明的高效通用的QC-LDPC码译码器的优选实施例进行详细说明。
图1为本发明的QC-LDPC码译码器的构成框图。
如图1所示,本发明的QC-LDPC码译码器由通用处理器1、数据存储区2和硬件加速器3三个部分组成。
通用处理器1根据QC-LDPC码校验矩阵的结构,对数据存储区2进行空间分配,同时建立查找表,存储校验矩阵的结构,为译码过程中数据的寻址提供索引。通用处理器1还负责对迭代译码的过程进行控制,通过对各信息处理单元的调度,实现不同的消息传递调度策略,如Flood、Turbo、Shuffle、Group Shuffle、Replica Shuffle等。
数据存储区2用于存储译码过程中所需的信息,如变量节点的初始信息、迭代过程中的校验节点信息和变量节点信息。针对QC-LDPC码校验矩阵准循环的特性,将信息以块为单位进行存储,即为每一个循环置换矩阵分配一段存储块,其在整个存储区中的位置可以任意分配。
为了有利于译码过程中信息的处理和传输,同一行块(或列块)中循环置换矩阵所对应的存储块在数据存储区2中可以连续排放。例如当由硬件加速器3进行校验节点更新时,同一行块中循环置换矩阵所对应的存储块在数据存储区2中连续排放;当由硬件加速器进行变量节点更新时,同一列块中循环置换矩阵所对应的存储块在数据存储区2中连续排放。
特别地,对于规则QC-LDPC码,由于每一个列块(行块)中循环置换矩阵的数量相同,存储块在数据存储区2中还可以按一定的规律排放,以方便译码过程中对数据的寻址。例如同一行块中循环置换矩阵所对应的存储块在数据存储区2中连续地或者等间隔地排放;同一列块中循环置换矩阵所对应的存储块在数据存储区2中连续地或者等间隔地排放。
硬件加速器3可以是独立于通用处理器1之外的硬件电路,或者可以作为专用协处理器与通用处理器1集成在一起,还可以是在通用处理器1的指令集的基础上针对QC-LDPC译码增加的特殊指令集。硬件加速器3用于完成译码过程中的部分或者全部信息处理功能,如奇偶校验、校验节点更新、变量节点更新,余下的信息处理功能则由通用处理器1完成。
如图1所示,硬件加速器3由数据接口4、数据缓存器5、运算单元6和控制单元7这四个部分组成。数据接口4用于对写入/读出数据的时序和格式进行适配;数据缓存器5用于存储信息处理过程中的中间变量;运算单元6用于完成对信息的运算处理;控制单元7用于对硬件加速器3的运行过程进行控制。
在上述信息处理过程中,奇偶校验和校验节点更新以行块(RowBlock)为单位进行。由于循环置换矩阵中“1”的位置具有循环移位的特性,根据各循环置换矩阵相对于单位矩阵的偏移量,可以方便找到参与该行块的每一个校验方程的变量节点的位置并进行奇偶校验,同时也可以方便的找到参与该行块的每一个校验节点更新的变量节点的位置并计算新的校验节点信息。变量节点更新则以列块(Column Block)为单位进行。同样由于循环置换矩阵中“1”的位置具有循环移位的特性,根据各循环置换矩阵相对于单位矩阵的偏移量,可以方便找到参与该列块的每一个变量节点更新的校验节点的位置,并计算新的变量节点信息。
在上述信息处理过程中,通过采用不同的运算规则,可以实现如Standard BP、Min-Sum近似、Normalized BP、Offset BP等不同的译码算法。
由于校验节点更新部分的信息处理运算最为复杂,故该部分功能由硬件加速器3完成。另外,由于Min-Sum近似译码算法较适合硬件实现,且经过一定的修正后其性能与Standard BP译码算法相比几乎没有损失,故在进行校验节点更新时可以采用基于Min-Sum近似的改进译码算法。实现上述功能的硬件加速器的结构如图2所示。
图2为图1中的硬件加速器的一种优选结构图。
如图2所示,硬件加速器3中包括四个数据缓存器。符号(Sign)缓存器8用于存储变量节点信息的符号;最小值(Min)缓存器9用于存储参与同一个校验节点更新的变量节点信息绝对值的最小值;索引(Index)缓存器10用于存储取得所述最小值的变量节点的位置;次小值(Sub-Min)缓存器11用于存储参与同一个校验节点更新的变量节点信息绝对值的次小值。
通用处理器1以块为单位向硬件加速器3写入变量节点信息。输入数据接口13将信息的符号输入符号缓存器8,将其绝对值输入比较器12。由于循环置换矩阵中“1”的位置具有循环移位的特性,控制单元7根据各循环置换矩阵相对于单位矩阵的偏移量,可以方便的找到当前写入的变量节点信息参与第几个校验节点更新,通过将所述当前写入的变量节点信息绝对值与最小值缓存器9和次小值缓存器11中同样参与该校验节点更新的已写入的变量节点信息绝对值的最小值和次小值进行比较,得到新的最小值、次小值和最小值的位置,并根据所述的比较结果更新最小值缓存器9、次小值缓存器11和索引缓存器10存储的内容。
完成变量节点信息写入后,通用处理器1以块为单位从硬件加速器3读出校验节点信息。输出数据接口14根据符号缓存器8、最小值缓存器9、次小值缓存器11和索引缓存器10中的值,并经过一定的修正处理后,输出新的校验节点信息。
以下为本发明优选实施例1的说明。
图3为优选实施例1中使用的QC-LDPC码校验矩阵H的结构图。
如图3所示,本优选实施例中使用码长为9216、码率为1/2的(3,6)规则QC-LDPC码,其校验矩阵H由18×36个子矩阵构成,其中每一个子阵的大小为256。
校验矩阵H在垂直方向上分为18个行块,每一行块中循环置换矩阵的数量为6;同时在水平方向上分为36个列块,每一列块中循环置换矩阵的数量为3。从而该校验矩阵H中共有18×6=36×3=108个循环置换矩阵。
本实施例中的QC-LDPC码译码器中,通用处理器1由DSP(数字信号处理器)实现,数据存储区2为所述DSP的片内RAM(随机存储器)。奇偶校验和变量节点更新由DSP完成,校验节点更新则交由以FPGA(现场可编程门阵列)实现的硬件加速器3来完成。
本实施例中的QC-LDPC码译码器采用Normalized BP译码算法,具体计算公式如下。
初始化:
Z nm ( 0 ) = LLR n - - - ( 1 )
Z n ( 0 ) = LLR n - - - ( 2 )
其中,Zn为变量节点n的信息,Znm为变量节点n传递给校验节点m的信息,LLRn为各接收码元的对数似然比(Log-Likelihood Ratio)。
校验节点更新:
L mn ( i ) = ( Π n ′ ∈ N ( m ) \ n sign ( Z n ′ m ( i - 1 ) ) ) × ( min n ′ ∈ N ( m ) \ n | Z n ′ m ( i - 1 ) | α ) - - - ( 3 )
其中,Lmn为校验节点m传递给变量节点n的信息,N(m)\n表示与校验节点m相连的除变量节点n之外的所有变量节点的集合,上标i表示迭代次数,符号表示取符号运算,min表示取最小值运算,α为归一化因子。
变量节点更新:
Z nm ( i ) = LLR n + Σ m ′ ∈ M ( n ) \ m L m ′ n ( i ) - - - ( 4 )
Z n ( i ) = LLR n + Σ m ′ ∈ M ( n ) L m ′ n ( i ) - - - ( 5 )
其中,M(n)\m表示与变量节点n相连的除校验节点m之外的所有校验节点的集合,M(n)表示与变量节点n相连的所有校验节点的集合。
上述译码过程要求数据存储区2包括三个部分,即LLR缓存器、Z缓存器和L缓存器。其中,LLR缓存器用于存储各接收码元的对数似然比LLRn,共9216个数据;Z缓存器用于存储变量节点信息Zn,共9216个数据;L缓存器用于存储校验节点信息Lmn和变量节点信息Znm,共108×256个数据,也就是为所述108个循环置换矩阵中的每个循环置换矩阵分配一段大小为256的存储块。由于每一列块中循环置换矩阵的数量相同,可以将同一列块中的循环置换矩阵对应的存储块在L缓存器中以36×256=9216为间隔周期地排放。
由DSP建立3个查找表,即位置表(Position_Table)、偏移表(Shift_Table)和行块表(Row_Table)。所述位置表共18行,每一行6列,记录该行块中6个循环置换矩阵所对应的存储块在所述Z缓存器中的位置。所述偏移表共18行,每一行6列,记录该行块中6个循环置换矩阵相对于单位矩阵的偏移量。所述行块表共18行,每一行6列,记录该行块中6个循环置换矩阵所对应的存储块在L缓存器中的位置。
本优选实施例的QC-LDPC码译码器采用Flood的消息传递调度策略。
图4为优选实施例1中使用的QC-LDPC码译码器工作流程图。
如图所示,首先在步骤S41的初始化中,将变量节点信息Znm和Zn(n=1,2,...,9216,m=1,2,...,4608)的值均初始化为LLRn(n=1,2,...,9216)。
然后步骤S42中对所有行块进行奇偶校验。奇偶校验以行块为单位进行。由于每一行块中参与奇偶校验的变量节点的位置具有准循环的特性,在对第i(i=1,2,...,18)行块进行奇偶校验时,DSP根据所述位置表和偏移表的第i行,初始化6个指针使其分别指向参与第1个校验方程的6个变量节点信息Zn在Z缓存器中的位置。
图5为优选实施例1中的循环置换矩阵所对应的存储块示意图。
如图所示,该存储块为某一偏移量为shift的循环置换矩阵所对应的存储块,其在Z缓存器中的位置为position,图中的标号表示该变量节点所参与的校验方程的序号。采用循环寻址(Circular Addressing),可以方便找到参与该行块的每一个校验方程的6个变量节点信息Zn在Z缓存器中的位置。利用Zn的符号进行奇偶校验,直至完成该行块中的256个校验方程。
所有行块的奇偶校验完成后,进入步骤S43,判断是否满足所有的校验方程,若所有行块的校验方程均满足,则说明译码成功,根据Zn的符号进入S47步骤,即判决输出。
若在S43步骤中,判断有校验方程不满足,则进入S44步骤,对所有行块进行校验节点更新。
校验节点更新同样以行块为单位进行。在对第i(i=1,2,...,18)行块进行校验节点更新时,DSP根据所述行块表的第i行,可以找到该行块的6个循环置换矩阵所对应的存储块在L缓存器中的位置。通过输入数据接口13,将L缓存器中的该6块变量节点信息(每块256个数据)写入FPGA。
参见图2,FPGA中包括四个数据缓存器,即符号缓存器8、最小值缓存器9、索引缓存器10和次小值缓存器11。其中,符号缓存器8用于存储变量节点信息的符号,共包括6×256个符号;最小值缓存器9用于存储参与同一个校验节点更新(共256个校验节点)的变量节点信息绝对值的最小值,共包括256个数据;索引缓存器10用于存储取得所述最小值的变量节点的位置,共包括256个数据;次小值缓存器11用于存储参与同一个校验节点更新的变量节点信息绝对值的次小值,共256个数据。
FPGA将信息的符号输入符号缓存器8,将其绝对值输入比较器12。同样,由于每一行块中参与校验节点更新的变量节点的位置具有准循环的特性,FPGA根据所述偏移表的第i行,可以方便的找到当前写入的变量节点信息Znm参与第几个校验节点更新。通过将所述当前写入的变量节点信息绝对值与最小值缓存器9和次小值缓存器11中同样参与该校验节点更新的已写入的变量节点信息绝对值的最小值和次小值进行比较,得到新的最小值、次小值和最小值的位置,并根据比较结果更新最小值缓存器9、次小值缓存器11和索引缓存器10中的内容。
变量节点信息写入完成后,DSP通过输出数据接口14,将相应的6块校验节点信息(每块256个数据)从FPGA中读出,并更新L缓存器。FPGA根据符号缓存器8、最小值缓存器9、次小值缓存器11和索引缓存器10中的值,利用(3)式输出新的校验节点信息Lmn
由于DSP与FPGA之间的数据传输可以采用DMA(直接存储器存取)的方式,所以在另外的实施例中,可以使得S42步骤的奇偶校验与S44步骤的校验节点更新同时进行,以进一步提高译码吞吐量。
S44步骤的所有行块的校验节点更新完成后,进入S45步骤,对所有的列块进行变量节点更新。
S45步骤中的变量节点更新以列块为单位进行。在对第j(j=1,2,...,36)列块进行变量节点更新时,由于同一列块中的循环置换矩阵所对应的存储块在L缓存器中以9216为间隔周期地排放,故DSP可以方便的找到该列块的3个循环置换矩阵所对应的存储块在L缓存器中的位置。利用(4)式和(5)式计算新的变量节点信息Znm和Zn,并更新L缓存器和Z缓存器的内容,直至完成该列块中的256个变量节点更新。
当S45步骤中所有列块的变量节点更新完成后,进入S46步骤,判断此时是否已达到最大迭代次数,若是,则直接进入S47步骤,即根据Zn的符号判决输出;若否,则再次进入S42步骤,对所有行块进行奇偶校验,开始新一次的迭代。
以下为本发明优选实施例2的说明。
本优选实施例中使用码长为17280,码率为3/4的非规则QC-LDPC码,其校验矩阵H由120×480个子矩阵构成,每一个子阵的大小为36。
将校验矩阵H在垂直方向上分为120个行块,每一行块中循环置换矩阵的数量为Ri(i=1,2,...,120);在水平方向上分为480个列块,每一列块中循环置换矩阵的数量为Cj(j=1,2,...,480)。校验矩阵H中共有 K = Σ i = 1 120 R i = Σ j = 1 480 C j 个循环置换矩阵。
本优选实施例2的QC-LDPC码译码器的通用处理器1由嵌入式MPU(微处理器)实现,数据存储区2为片外SDRAM(同步动态随机存储器)。奇偶校验和变量节点更新由MPU完成,校验节点更新则交由以与MPU集成的协处理器实现的硬件加速器3来完成。
本优选实施例2的QC-LDPC码译码器采用Offset BP译码算法,具体计算公式如下。
初始化:
Z nm ( 0 ) = LLR n - - - ( 6 )
Z n ( 0 ) = LLR n - - - ( 7 )
其中,Zn为变量节点n的信息,Znm为变量节点n传递给校验节点m的信息,LLRn为各接收码元的对数似然比。
校验节点更新:
L mn ( i ) = ( Π n ′ ∈ N ( m ) \ n sign ( Z n ′ m ( i - 1 ) ) ) × max { ( min n ′ ∈ N ( m ) \ n | Z n ′ m ( i - 1 ) | ) - β , 0 } - - - ( 8 )
其中,Lmn为校验节点m传递给变量节点n的信息,N(m)\n表示与校验节点m相连的除变量节点n之外的所有变量节点的集合,上标i表示迭代次数,符号表示取符号运算,min表示取最小值运算,max表示取最大值运算,β为偏移因子。
变量节点更新:
Z nm ( i ) = LLR n + Σ m ′ ∈ M ( n ) \ m L m ′ n ( i ) - - - ( 9 )
Z n ( i ) = LLR n + Σ m ′ ∈ M ( n ) L m ′ n ( i ) - - - ( 10 )
其中,M(n)\m表示与变量节点n相连的除校验节点m之外的所有校验节点的集合,M(n)表示与变量节点n相连的所有校验节点的集合。
上述译码过程中也需要三个数据存储区,即LLR缓存器、Z缓存器和L缓存器。其中,LLR缓存器用于存储各接收码元的对数似然比LLRn,共包括17280个数据;Z缓存器用于存储变量节点信息Zn,共包括17280个数据;L缓存器用于存储校验节点信息Lmn和变量节点信息Znm,共包括K×36个数据,即为每一个循环置换矩阵分配一段大小为36的存储块。为了有利于校验节点更新过程中MPU与协处理器之间的信息传输,同一行块中循环置换矩阵对应的存储块在L缓存器中连续排放。
由MPU建立4个查找表,即位置表(Position_Table)、偏移表(Shift_Table)、行块表(Row_Table)以及列块表(Column_Table)。所述位置表共120行,每一行包括Ri个有效数据,用于记录该行块中Ri个循环置换矩阵对应的存储块在Z缓存器中的位置;所述偏移表共120行,每一行包括Ri个有效数据,用于记录该行块中Ri个循环置换矩阵相对于单位矩阵的偏移量;所述行块表共120行,每一行包括Ri个有效数据,用于记录该行块中Ri个循环置换矩阵对应的存储块在L缓存器中的位置;所述列块表共480行,每一行包括Cj个有效数据,用于记录该列块中Cj个循环置换矩阵对应的存储块在L缓存器中的位置。
本优选实施例2中的QC-LDPC译码器采用Group Shuffle的消息传递调度策略。
图6为优选实施例2中使用的QC-LDPC码译码器工作流程图。
如图6所示,首先在步骤S601的初始化中,将变量节点信息Znm和Zn(n=1,2,...,17280,m=1,2,...,4320)的值均初始化为LLRn(n=1,2,...,17280)。随后通过步骤S602将行块数i设为0,并通过步骤S603对行块数i进行循环。
然后进入S604步骤,对第i行块进行奇偶校验。奇偶校验以行块为单位进行。由于每一行块中参与奇偶校验的变量节点的位置具有准循环的特性,故在对第i(i=1,2,...,120)行块进行奇偶校验时,MPU根据所述位置表和偏移表的第i行,可以方便的找到参与该行块的每一个校验方程的Ri个变量节点信息Zn在Z缓存器中的位置。利用Zn的符号进行奇偶校验,直至完成该行块中的36个校验方程。
这时进入步骤S605,判断是否满足当前行块的校验方程,如果当前行块的校验方程均满足,并且在S606步骤中判断i还未满120,则回到步骤S603并使得i加1,继续对下一行块进行奇偶校验,若在S606步骤中判断i为120,即所有行块的校验方程均满足,则说明译码成功,进入步骤S613,根据Zn的符号判决输出。
如果在步骤S605中判断当前行块中有校验方程未能满足,则进入S607步骤,将列块数j初始为0,并通过步骤S608对列块数j进行循环。
对应于480个列块,将变量节点分为480个组。首先在步骤S609中对第1个列块相关的行块进行校验节点更新,即对第1个列块中的C1个循环置换矩阵所在的行块进行校验节点更新,接着步骤S610中对第1个列块进行变量节点更新。
然后对第2个列块相关的行块进行校验节点更新,再对第2个列块进行变量节点更新,依次类推,只要在S611步骤中判断j未达到480,则返回步骤S608并使得j加1,继续对下一个列块相关的行块进行校验节点更新和对下一个列块进行变量节点更新。由于每一组变量节点更新后的新信息马上应用于之后各组的校验节点更新,可以有效的加快译码收敛速度,减少迭代次数,从而提高译码吞吐量。
校验节点更新同样以行块为单位进行。在对第i(i=1,2,...,120)行块进行校验节点更新时,MPU根据所述行块表第i行,可以找到该行块的Ri个循环置换矩阵对应的存储块在L缓存器中的位置。通过内部数据总线,将L缓存器中的该Ri块变量节点信息(每块36个数据)写入协处理器,同时通知其该次写入的行块号i和该行块中循环置换矩阵的数量Ri。由于同一行块中循环置换矩阵对应的存储块在L缓存器中连续排放,故该Ri块变量节点信息可以连续写入。
协处理器中需要四个数据缓存器,即符号缓存器、最小值缓存器、索引缓存器和次小值缓存器,其工作原理同优选实施例1中FPGA的四个数据缓存器,不同之处在于本实施例中的符号缓存器存储Ri×36个符号,最小值缓存器、索引缓存器和次小值缓存器分别存储36个数据。
变量节点信息写入完成后,MPU通过内部数据总线,将相应的Ri块校验节点信息(每块36个数据)从协处理器中读出,并更新L缓存器。同样,由于同一行块中循环置换矩阵对应的存储块在L缓存器中连续排放,故该Ri块校验节点信息可以连续读出。协处理器根据符号缓存器、最小值缓存器、次小值缓存器和索引缓存器中的值,利用(6)式输出新的校验节点信息Lmn
变量节点更新以列块为单位进行。在对第j(j=1,2,...,480)列块进行变量节点更新时,MPU根据所述列块表的第j行,可以找到该列块的Cj个循环置换矩阵对应的存储块在L缓存器中的位置。利用(7)式和(8)式计算新的变量节点信息Znm和Zn,并更新L缓存器和Z缓存器,直至完成该列块中的36个变量节点更新。
当步骤S611中判断结果为j=480,即所有列块的变量节点更新完成时,进入S612步骤,判断此时是否已达到最大迭代次数,若是,则进入S613步骤,根据Zn的符号判决输出,若否,则再次进入S602步骤进行奇偶校验,开始新一次的迭代。
以上为本发明的两个优选实施例的说明,但是本发明不局限于上述特定实施例子,在不背离本发明精神及其实质情况下,熟悉本领域技术人员可根据本发明作出各种相应改变和变形,但这些相应改变和变形都应属于本发明所附权利要求保护范围之内。

Claims (15)

1、一种高效通用的QC-LDPC码译码器,其特征在于,包括:
通用处理器(1),用于根据QC-LDPC码校验矩阵的结构,对数据存储区(2)进行空间分配,同时为数据的寻址建立索引,以及用于对QC-LDPC码译码过程进行控制,对该译码过程中的各信息处理运算进行调度,并在该译码过程中实现包括奇偶校验、校验节点更新和变量节点更新的信息处理运算中的部分;
数据存储区(2),用于存储所述译码过程中所需的信息,所述信息包括变量节点的初始信息、迭代过程中的校验节点信息和变量节点信息,所述数据存储区(2)以块为单位对所述信息进行存储;
硬件加速器(3),用于在译码过程中实现包括奇偶校验、校验节点更新、变量节点更新的信息处理运算中的部分或全部。
2、如权利要求1所述的译码器,其特征在于,所述硬件加速器(3)进一步包括:
数据接口(4),用于对写入/读出数据的时序和格式进行适配;
数据缓存器(5),用于存储信息处理过程中的中间变量;
运算单元(6),用于完成对信息的运算处理;
控制单元(7),用于对硬件加速器(3)的运行过程进行控制。
3、如权利要求2所述的译码器,其特征在于,所述数据缓存器(5)进一步包括:
符号缓存器(8),用于存储变量节点信息的符号;
最小值缓存器(9),用于存储参与同一个校验节点更新的变量节点信息绝对值的最小值;
索引缓存器(10),用于存储取得所述最小值的变量节点的位置;
次小值缓存器(11),用于存储参与同一个校验节点更新的变量节点信息绝对值的次小值。
4、如权利要求1所述的译码器,其特征在于,所述QC-LDPC码校验矩阵的同一行块或列块中的循环置换矩阵所对应的存储块在数据存储区(2)中连续排放。
5、如权利要求1所述的译码器,其特征在于,对于规则QC-LDPC码,其校验矩阵的同一行块或列块中的循环置换矩阵所对应的存储块在数据存储区(2)中连续或等间隔排放。
6、如权利要求1所述的译码器,其特征在于,硬件加速器(3)为独立于通用处理器(1)之外的硬件电路,或者与通用处理器(1)集成的专用处理器,或者是在通用处理器(1)指令集的基础上针对QC-LDPC码译码增加的特殊指令集。
7、如权利要求1所述的译码器,其特征在于,所述奇偶校验与校验节点更新同时进行,以进一步提高译码吞吐量。
8、如权利要求1所述的译码器,其特征在于,所述校验节点更新与变量节点更新交替地进行,以加快译码收敛速度,减少迭代次数。
9、一种高效通用的QC-LDPC码译码方法,其特征在于,该方法采用软件的方式并辅以硬件加速器实现QC-LDPC码译码过程,具体包括以下步骤:
使用通用处理器(1)、根据QC-LDPC码校验矩阵的结构、对数据存储区(2)进行空间分配,同时为数据的寻址建立索引;
使用数据存储区(2)存储所述QC-LDPC码译码过程中所需的信息,包括变量节点的初始信息、迭代过程中的校验节点信息和变量节点信息,所述数据存储区(2)以块为单位对所述信息进行存储;
对数据存储区(2)进行初始化,然后由通用处理器(1)或硬件加速器(3)以行块为单位进行奇偶校验;
若所有行块的校验方程均满足,则判决输出,若有校验方程不满足,则在通用处理器(1)的调度下,由通用处理器(1)或硬件加速器(3)以行块为单位进行校验节点更新以及以列块为单位进行变量节点更新;
所述通用处理器(1)与硬件加速器(3)之间以块为单位对信息进行传输;
若已达到最大迭代次数,则判决输出,否则再次进入奇偶校验的步骤,开始新一次的迭代。
10、如权利要求9所述的译码方法,其特征在于,还包括如下步骤:
数据接口(4)将通用处理器(1)写入硬件加速器(3)的信息输入运算单元(6);
控制单元(7)将数据缓存器(5)中的值输入运算单元(6)与所述写入的信息进行运算,并更新数据缓存器(5)存储的内容;
数据接口(4)根据数据缓存器(5)中的值,输出信息处理运算的结果。
11、如权利要求9或10所述的译码方法,其特征在于,所述校验节点更新包括如下步骤:
输入数据接口(13)将通用处理器(1)写入硬件加速器(3)的变量节点信息的符号输入符号缓存器(8),同时将所述信息的绝对值输入比较器(12);
控制单元(7)将最小值缓存器(9)和次小值缓存器(11)中参与同一个校验节点更新的变量节点信息的绝对值输入比较器(12)与所述写入的变量节点信息的绝对值进行比较,得到新的最小值、次小值和最小值的位置,并更新最小值缓存器(9)、次小值缓存器(11)和索引缓存器(10)存储的内容;
输出数据接口(13)根据最小值缓存器(9)、次小值缓存器(11)和索引缓存器(10)中的值,并经过一定的修正处理后,输出新的校验节点信息。
12、如权利要求9所述的译码方法,其特征在于,所述QC-LDPC码校验矩阵的同一行块或列块中的循环置换矩阵所对应的存储块在数据存储区(2)中连续排放。
13、如权利要求9所述的译码方法,其特征在于,对于规则QC-LDPC码,其校验矩阵的同一行块或列块中的循环置换矩阵所对应的存储块在数据存储区(2)中连续或等间隔排放。
14、如权利要求9所述的译码方法,其特征在于,所述奇偶校验与校验节点更新同时进行,以进一步提高译码吞吐量。
15、如权利要求9所述的译码方法,其特征在于,所述校验节点更新与变量节点更新交替地进行,以加快译码收敛速度,减少迭代次数。
CN2007101192066A 2007-07-18 2007-07-18 一种高效通用的qc-ldpc码译码器及其译码方法 Expired - Fee Related CN101350625B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN2007101192066A CN101350625B (zh) 2007-07-18 2007-07-18 一种高效通用的qc-ldpc码译码器及其译码方法
PCT/CN2008/001192 WO2009009950A1 (fr) 2007-07-18 2008-06-19 Décodeur de code qc-ldpc et procédé de décodage correspondant
US12/669,277 US8321747B2 (en) 2007-07-18 2008-06-19 QC-LDPC code decoder and corresponding decoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007101192066A CN101350625B (zh) 2007-07-18 2007-07-18 一种高效通用的qc-ldpc码译码器及其译码方法

Publications (2)

Publication Number Publication Date
CN101350625A true CN101350625A (zh) 2009-01-21
CN101350625B CN101350625B (zh) 2011-08-31

Family

ID=40259297

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101192066A Expired - Fee Related CN101350625B (zh) 2007-07-18 2007-07-18 一种高效通用的qc-ldpc码译码器及其译码方法

Country Status (3)

Country Link
US (1) US8321747B2 (zh)
CN (1) CN101350625B (zh)
WO (1) WO2009009950A1 (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102088294A (zh) * 2010-09-29 2011-06-08 西安空间无线电技术研究所 一种qc-ldpc编码器及编码方法
CN102340317A (zh) * 2010-07-21 2012-02-01 中国科学院微电子研究所 结构化ldpc码的高吞吐率译码器结构及方法
CN101854177B (zh) * 2009-04-01 2013-01-02 中国科学院微电子研究所 一种高吞吐率的ldpc译码器
CN101854178B (zh) * 2009-04-01 2013-01-30 中国科学院微电子研究所 一种低功耗的ldpc译码器
CN104142907A (zh) * 2013-05-10 2014-11-12 联想(北京)有限公司 增强型处理器、处理方法和电子设备
CN104769556A (zh) * 2012-10-11 2015-07-08 美光科技公司 更新可靠性数据
CN106849959A (zh) * 2016-12-30 2017-06-13 北京联想核芯科技有限公司 数据处理方法及译码器
CN110830049A (zh) * 2019-11-21 2020-02-21 重庆邮电大学 一种基于密度进化改进偏移最小和的ldpc译码方法
CN112233720A (zh) * 2020-10-27 2021-01-15 北京紫光得瑞科技有限公司 低时延ldpc解码器的硬件实现方法、装置及解码器
WO2022204900A1 (zh) * 2021-03-29 2022-10-06 华为技术有限公司 一种ldpc码的译码方法及ldpc码的译码器

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8327215B2 (en) * 2007-12-13 2012-12-04 Electronics And Telecommunications Research Institute Apparatus and method for encoding LDPC code using message passing algorithm
CN102647192B (zh) * 2011-02-17 2015-03-25 中兴通讯股份有限公司 数据处理方法和装置
US9281841B2 (en) * 2012-10-31 2016-03-08 Avago Technologies General Ip (Singapore) Pte. Ltd. Load balanced decoding of low-density parity-check codes
CN103220003B (zh) * 2013-03-29 2016-12-28 西安空间无线电技术研究所 提高节点处理并行度的qc-ldpc译码器的实现方法
KR20150024489A (ko) * 2013-08-26 2015-03-09 삼성전자주식회사 메모리 시스템에서의 ldpc 디코딩 방법 및 이를 이용한 ldpc 디코더
KR101775969B1 (ko) 2015-03-12 2017-09-08 한밭대학교 산학협력단 Nand 플래시 메모리의 qc-ldpc 코드 생성 방법 및 회로
CN106209114B (zh) * 2015-04-29 2019-11-12 深圳忆联信息系统有限公司 译码方法及装置
TWI583141B (zh) * 2016-05-12 2017-05-11 國立清華大學 低密度奇偶檢查碼的解碼方法與解碼器
CN106911336B (zh) * 2017-01-17 2020-07-07 清华大学 多核调度的高速并行低密度奇偶校验译码器及其译码方法
JP6903979B2 (ja) * 2017-02-20 2021-07-14 ソニーグループ株式会社 送信装置、送信方法、受信装置、及び、受信方法
JP6930374B2 (ja) 2017-10-31 2021-09-01 ソニーグループ株式会社 送信装置及び送信方法
JP7283611B2 (ja) * 2018-01-18 2023-05-30 ソニーグループ株式会社 送信装置、送信方法、受信装置、及び、受信方法
JP7272492B2 (ja) * 2018-01-18 2023-05-12 ソニーグループ株式会社 送信装置、送信方法、受信装置、及び、受信方法
JP7119431B2 (ja) * 2018-01-18 2022-08-17 ソニーグループ株式会社 送信装置、送信方法、受信装置、及び、受信方法
JP7077629B2 (ja) * 2018-01-18 2022-05-31 ソニーグループ株式会社 送信装置、送信方法、受信装置、及び、受信方法
JP7135344B2 (ja) * 2018-01-18 2022-09-13 ソニーグループ株式会社 送信装置、送信方法、受信装置、及び、受信方法
JP7077630B2 (ja) * 2018-01-18 2022-05-31 ソニーグループ株式会社 送信装置、送信方法、受信装置、及び、受信方法
JP7077627B2 (ja) * 2018-01-18 2022-05-31 ソニーグループ株式会社 送信装置、送信方法、受信装置、及び、受信方法
JP7077628B2 (ja) * 2018-01-18 2022-05-31 ソニーグループ株式会社 送信装置、送信方法、受信装置、及び、受信方法
JP7283610B2 (ja) * 2018-01-18 2023-05-30 ソニーグループ株式会社 送信装置、送信方法、受信装置、及び、受信方法
JP7283612B2 (ja) * 2018-01-18 2023-05-30 ソニーグループ株式会社 送信装置、送信方法、受信装置、及び、受信方法
JP7135343B2 (ja) * 2018-01-18 2022-09-13 ソニーグループ株式会社 送信装置、送信方法、受信装置、及び、受信方法
KR102523059B1 (ko) * 2018-04-18 2023-04-19 에스케이하이닉스 주식회사 에러 정정 회로 및 그것을 포함하는 메모리 시스템
CN111757168B (zh) * 2019-03-29 2022-08-19 腾讯科技(深圳)有限公司 音频解码方法、装置、存储介质及设备
CN110830050B (zh) * 2019-11-27 2023-09-29 武汉虹旭信息技术有限责任公司 一种ldpc译码方法、系统、电子设备及存储介质
CN111126042B (zh) * 2019-12-24 2023-06-27 北京中安未来科技有限公司 利用置信度的vin码校验方法、vin码识别方法及装置
US11206043B2 (en) 2020-02-04 2021-12-21 SK Hynix Inc. Bit-flipping decoder architecture for irregular quasi-cyclic low-density parity-check codes
CN111641416B (zh) * 2020-06-19 2023-04-07 重庆邮电大学 一种多归一化因子的低密度奇偶校验码译码方法
CN112134570A (zh) * 2020-08-16 2020-12-25 复旦大学 一种应用于深空通信的多模式ldpc译码器
CN112187286A (zh) * 2020-09-24 2021-01-05 复旦大学 应用于ccsds卫星深空通信的多模式ldpc译码器
CN112332856B (zh) * 2020-10-22 2023-07-25 中国科学院计算技术研究所 一种准循环ldpc码的层译码方法及装置
CN112187289A (zh) * 2020-10-27 2021-01-05 南京理工大学智能计算成像研究院有限公司 基于硬件实现的ldpc译码器实现方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060108821A1 (en) * 2004-11-19 2006-05-25 Roy Hawkins Long gate
US7752520B2 (en) 2004-11-24 2010-07-06 Intel Corporation Apparatus and method capable of a unified quasi-cyclic low-density parity-check structure for variable code rates and sizes
US8705632B2 (en) 2005-03-30 2014-04-22 Intel Corporation Decoder architecture systems, apparatus and methods
KR100941680B1 (ko) * 2005-07-01 2010-02-12 삼성전자주식회사 준순환 저밀도 패리티 검사 부호의 생성 방법 및 장치
CN100584011C (zh) * 2005-09-02 2010-01-20 清华大学 用于地面数字电视广播的纠错编码方法
KR100946905B1 (ko) * 2005-09-27 2010-03-09 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 신호 송수신 장치 및 방법
US20080028282A1 (en) * 2006-07-25 2008-01-31 Legend Silicon receiver architecture having a ldpc decoder with an improved llr update method for memory reduction
US20080109698A1 (en) * 2006-07-25 2008-05-08 Legend Silicon Hybrid min-sum decoding apparatus with low bit resolution for ldpc code
CN1976238A (zh) * 2006-12-21 2007-06-06 复旦大学 基于块填充算法的准循环低密度奇偶校验码的构造方法
US8359522B2 (en) * 2007-05-01 2013-01-22 Texas A&M University System Low density parity check decoder for regular LDPC codes

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101854177B (zh) * 2009-04-01 2013-01-02 中国科学院微电子研究所 一种高吞吐率的ldpc译码器
CN101854178B (zh) * 2009-04-01 2013-01-30 中国科学院微电子研究所 一种低功耗的ldpc译码器
CN102340317A (zh) * 2010-07-21 2012-02-01 中国科学院微电子研究所 结构化ldpc码的高吞吐率译码器结构及方法
CN102340317B (zh) * 2010-07-21 2014-06-25 中国科学院微电子研究所 结构化ldpc码的高吞吐率译码器及译码方法
CN102088294B (zh) * 2010-09-29 2013-03-13 西安空间无线电技术研究所 一种qc-ldpc编码器及编码方法
CN102088294A (zh) * 2010-09-29 2011-06-08 西安空间无线电技术研究所 一种qc-ldpc编码器及编码方法
CN104769556B (zh) * 2012-10-11 2018-02-02 美光科技公司 更新可靠性数据
CN104769556A (zh) * 2012-10-11 2015-07-08 美光科技公司 更新可靠性数据
CN104142907A (zh) * 2013-05-10 2014-11-12 联想(北京)有限公司 增强型处理器、处理方法和电子设备
CN106849959A (zh) * 2016-12-30 2017-06-13 北京联想核芯科技有限公司 数据处理方法及译码器
CN106849959B (zh) * 2016-12-30 2020-08-11 深圳忆联信息系统有限公司 数据处理方法及译码器
CN110830049A (zh) * 2019-11-21 2020-02-21 重庆邮电大学 一种基于密度进化改进偏移最小和的ldpc译码方法
CN110830049B (zh) * 2019-11-21 2024-01-12 陕西卓科航微科技有限公司 一种基于密度进化改进偏移最小和的ldpc译码方法
CN112233720A (zh) * 2020-10-27 2021-01-15 北京紫光得瑞科技有限公司 低时延ldpc解码器的硬件实现方法、装置及解码器
CN112233720B (zh) * 2020-10-27 2022-06-24 北京得瑞领新科技有限公司 低时延ldpc解码器的硬件实现方法、装置及解码器
WO2022204900A1 (zh) * 2021-03-29 2022-10-06 华为技术有限公司 一种ldpc码的译码方法及ldpc码的译码器

Also Published As

Publication number Publication date
CN101350625B (zh) 2011-08-31
WO2009009950A1 (fr) 2009-01-22
US8321747B2 (en) 2012-11-27
US20100192044A1 (en) 2010-07-29

Similar Documents

Publication Publication Date Title
CN101350625B (zh) 一种高效通用的qc-ldpc码译码器及其译码方法
CN101924565B (zh) Ldpc编码器、解码器、系统及方法
CN102638274B (zh) 利用向量行分组的结构化ldpc设计操作发送器的设备及方法
US8347170B2 (en) Method and apparatus for performing decoding using LDPC code
EP1829223B1 (en) Parallel, layered decoding for Low-Density Parity-Check (LDPC) codes
CN100589357C (zh) 基于单位阵及其循环移位阵的ldpc码向量译码装置和方法
CN101232288B (zh) 一种基于奇偶校验矩阵的ldpc码的译码方法及译码器
US8645809B2 (en) Method and apparatus for channel coding and decoding in a communication system using a low-density parity-check code
CN101212277A (zh) 支持多协议标准的ldpc码译码装置
KR100941680B1 (ko) 준순환 저밀도 패리티 검사 부호의 생성 방법 및 장치
CN1874164B (zh) 使用同时存储器存取的消息传递译码装置和方法
CN104868925A (zh) 结构化ldpc码的编码方法、译码方法、编码装置和译码装置
KR20110124659A (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 계층적 복호 장치 및 방법
Weiner et al. LDPC decoder architecture for high-data rate personal-area networks
JP2008172824A (ja) 移動通信システムにおけるブロック低密度パリティ検査符号の符号化/復号化装置及び方法
CN101800559B (zh) 一种基于tdmp的高速可配置qc-ldpc码解码器
CN101534166A (zh) 准循环低密度奇偶校验码解码器及解码方法
CN106160752A (zh) 用于分层ldpc译码器的提早退出的系统和方法
CN101777921B (zh) 用于显式存储片上系统的结构化ldpc码译码方法及装置
CN106330203A (zh) 一种ldpc的解码方法
CN100542049C (zh) 一种多码率的ldpc码的译码器装置及译码方法
CN104579362B (zh) 一种空间通信系统中部分并行结构ldpc码译码系统及其方法
CN101420279B (zh) 用于移动多媒体广播中的高速ldpc译码器及译码方法
KR20060071856A (ko) 채널 코드를 이용한 복호화 및 복호화 장치
CN1822510A (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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110831

Termination date: 20190718