CN102136842A - 一种译码器及译码方法 - Google Patents

一种译码器及译码方法 Download PDF

Info

Publication number
CN102136842A
CN102136842A CN2010105710348A CN201010571034A CN102136842A CN 102136842 A CN102136842 A CN 102136842A CN 2010105710348 A CN2010105710348 A CN 2010105710348A CN 201010571034 A CN201010571034 A CN 201010571034A CN 102136842 A CN102136842 A CN 102136842A
Authority
CN
China
Prior art keywords
layer
app
value
matrix
nth
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
CN2010105710348A
Other languages
English (en)
Other versions
CN102136842B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN 201010571034 priority Critical patent/CN102136842B/zh
Publication of CN102136842A publication Critical patent/CN102136842A/zh
Application granted granted Critical
Publication of CN102136842B publication Critical patent/CN102136842B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

本发明实施例公开了一种译码器及译码方法,涉及译码领域,能够较大程度的提高译码器的吞吐量。本发明的译码器包括:R个层运算模块和硬判决输出模块;所述R个层运算模块依次连接,在任意相邻的两个层运算模块中,前一个层运算模块的输出是后一个层运算模块的输入;第N个层运算模块以预定码字长度为并行位宽并行接收待译码数据对应的APP值,对接收的APP值进行更新运算,得到所述待译码数据对应的经过该层运算模块更新运算后的APP值,并将更新运算后的APP值以预定码字长度为并行位宽并行输出;硬判决输出模块接收第R个层运算模块输出的APP值并将其进行硬判决输出。本发明实施例主要用于高吞吐量译码的过程中。

Description

一种译码器及译码方法
技术领域
本发明涉及译码领域,尤其涉及一种译码器及译码方法。
背景技术
在通信系统中纠错码用来提高数据传输的可靠性,低密度奇偶校验码(LDPC,Low-Density Parity-Check码)是一种基于稀疏校验矩阵的线性分组码,由于具有逼近香农限的译码性能和可并行实现的编译码算法,它逐渐成为信道编码界研究的热点,在无线通信、卫星通信等领域得到了很多应用。
目前,采用水平分层译码算法和部分并行处理的译码方法,具体的为:译码器接收到的数据在输入缓存中缓存,根据LDPC码H矩阵中各行校验方程的关系,通过“π正交换网络”进行选择路由,对每个校验节点选择其关联的变量节点,进入SISO(Soft In Soft Out,软输入软输出)模块进行校验节点更新计算和存储,通过π2逆交换网络进行逆交换恢复到原序列顺序,进行变量节点的计算,完成一次迭代计算过程。完成预先设定的迭代次数后输出。
随着光传输系统的发展,对FEC(Forward Error Correction,前向纠错)技术提出了更高的要求,特别是100Gbps长距离光传输系统的发展,相对于40Gbps速率的系统,要求至少4dB更强的FEC增益性能,LDPC码成为适用于100Gbps高速光传输系统的极具潜力的纠错码,可望成为该系统的编码方案。要实现高速光传输系统的编解码方案,并保证低错误平层的性能,所设计的LDPC码长通常会较长,并且其吞吐量大,达到100Gbps,现有技术中应用在无线通信、卫星通信中的译码方法无法实现单个译码器如此高的吞吐量。
发明内容
本发明的实施例提供一种译码器及译码方法,在进行LDPC译码的过程中能够较大程度的提高译码器的吞吐量。
为达到上述目的,本发明的实施例采用如下技术方案:
一种译码器,包括:R个层运算模块和硬判决输出模块;所述R个层运算模块依次连接,在任意相邻的两个层运算模块中,前一个层运算模块的输出是后一个层运算模块的输入;R为H矩阵的子循环矩阵层的层数;
第N个层运算模块,用于以预定码字长度为并行位宽并行接收待译码数据对应的后验概率信息APP值,根据所述H矩阵的第N个子循环矩阵层的结构特征,对接收的APP值进行更新运算,得到所述待译码数据对应的经过该层运算模块更新运算后的APP值,并将所述更新运算后得到的APP值以所述预定码字长度为并行位宽并行输出;其中,N为自然数,1≤N≤R;
所述硬判决输出模块,用于接收第R个层运算模块输出的APP值,并将其进行硬判决输出。
一种译码方法,包括:
以预定码字长度为并行位宽并行接收待译码数据,将所述待译码数据以后验概率信息APP值的形式进行R层层运算对所述待译码数据对应的APP值进行更新;在任意相邻的两层层运算之间,前一层层运算的输出是后一层层运算的输入;所述R为H矩阵的子循环矩阵层的层数;
第N层层运算是根据所述H矩阵的第N个子循环矩阵层的结构特征,对以所述预定码字长度为并行位宽并行输入的APP值进行更新运算,并将更新运算得到的APP值以所述预定码字长度为并行位宽并行输出;其中,N为自然数,1≤N≤R;
将第R层层运算得到的APP值进行硬判决输出。
本发明实施例提供的技术方案,采用全并行译码结构,并且译码器的多个层运算模块进行全流水处理,从而能够较大程度的提高译码器的吞吐量。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1中一种译码器的组成结构示意图;
图2为本发明实施例1中另一种译码器的组成结构示意图;
图3为本发明实施例1中另一种译码器的组成结构示意图;
图4为本发明实施例1和实施例2中列重为2的译码矩阵的子矩阵示意图;
图5为本发明实施例2中一种译码方法的流程图;
图6为本发明实施例2中将所述待译码数据以后验概率信息APP值的形式进行全并行译码处理的流程图;
图7为本发明实施例2中另一种译码方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本发明实施例提供一种译码器,如图1所示,该译码器包括:R个层运算模块1和硬判决输出模块2。
所述R个层运算模块1依次连接,在任意相邻的两个层运算模块中,前一个层运算模块的输出是后一个层运算模块的输入;R为H矩阵的子循环矩阵层的层数,子循环矩阵层由循环子矩阵组成。其中,如下所示的H矩阵,列举该H矩阵只是为了便于理解本发明实施例,本发明对H矩阵不做具体的限制,该H矩阵由2×3个3×3的子矩阵构成,每个子矩阵为一个循环矩阵,矩阵的列为变量节点(如下矩阵所标识的v1,v2,......,v9),矩阵的行为校验节点(如下矩阵所标识的c1,c2,......,c6),节点中“1”表示该列上的变量节点与行上的校验节点相关联,该H矩阵的子循环矩阵层的层数为2层,每个子循环矩阵层包含3个3×3循环子矩阵。
Figure BDA0000035757510000041
第N个层运算模块,用于以预定码字长度为并行位宽并行接收待译码数据对应的APP(A Posteriori Probability,后验概率信息)值,根据所述H矩阵的第N个子循环矩阵层的结构特征,对接收的APP值进行更新运算,得到所述待译码数据对应的经过该层运算模块更新运算后的APP值,并将所述更新运算后得到的APP值以所述预定码字长度为并行位宽并行输出;其中,N为自然数,1≤N≤R。其中,所述预定码字长度根据H矩阵所设计的码字长度设定。硬判决输出模块2,用于接收第R个层运算模块输出的APP值,并将其进行硬判决输出。其中,所述硬判决是指根据其判决门限对接收到的信号波形直接进行判决后输出0或1,本发明实施例即对所述至少一个第二层运算模块12输出的APP值,根据判决门限判决后输出0或1。所述硬判决输出模块13对所述至少一个第二层运算模块12输出的APP值进行硬判决输出,可以根据现有技术中的任一种方法,本发明实施例此处不进行限定。
进一步的,如图2所示,所述R个层运算模块1中的第一个层运算模块11包括:选择输入单元111、MS(Min Sum,最小和)单元阵列112和APP存储阵列113。
所述选择输入单元111,用于以所述预定码字长度为并行位宽并行接收待译码数据对应的初始APP值,并将接收到的所述APP值发送给其所在层模块的MS单元阵列112。
所述MS单元阵列112,用于接收所述选择输入单元111发送的所述APP值,根据所述H矩阵的第一个子循环矩阵层的结构特征,对其接收到的APP值进行更新运算,得到更新运算后的APP值,并将所述更新后的APP值发送给其第一个层运算模块的APP存储阵列113;其中,所述MS单元阵列112对其接收到的APP值进行更新运算,得到更新运算后的APP值,可以采用以下的方法,该方法包括:
根据接收的所述选择输入单元发送的APP值并行计算变量节点的值;其中,所述根据接收的所述选择输入单元发送的APP值并行计算变量节点的值可以采用但不局限于公式1获取,公式1为:
V m , n k , L = APP n k , L - p - C m , n k - 1 , L (公式1)
其中,
Figure BDA0000035757510000052
为变量节点的值,
Figure BDA0000035757510000053
为第n列(即每个码字的第n个比特位)对应的后验概率信息,
Figure BDA0000035757510000054
为校验节点值,k为本次计算的迭代次数,L为本次计算的位置(m,n)所在的层数;p为与本次计算信息相关的上一层数和l的差值。
根据所述变量节点的值计算与所述变量节点相关联的校验节点的值,其中,所述变量节点与所述校验节点的关联关系是由所述MS单元所在层运算模块所对应的所述H矩阵的子循环矩阵层(即H矩阵的第一子循环矩阵层)的结构特征决定的;其中,所述根据所述变量节点的值计算与所述变量节点相关联的校验节点的值,可以采用但不局限于公式2获取,公式2为:
C m , n k , L = ( Π j ∈ N ( m ) \ n sign ( V m , j k , L ) ) × max ( min j ∈ N ( m ) \ n | V m , j k , L | - β , 0 ) (公式2)
其中,
Figure BDA0000035757510000056
为变量节点的值,k为本次计算的迭代次数,L为本次计算的位置(m,n)所在的层数;p为与本次计算信息相关的上一层数和1的差值,j为列号,N(m)为第m行中,是1的列的列号的集合,即与第m行相关的列号的集合;β为offset min sum算法的偏置量,Min Sum算法是现有技术,偏置量在前期算法设计中研究设计,芯片实现中预先设置。
将所述变量节点的值加上所述校验节点的值得到更新后的APP值。其中,所述将所述变量节点的值加上所述校验节点的值得到更新后的APP值可以采用但不局限于公式3获取,公式3为:
APP n k , L = V m , n k , L + C m , n k , L (公式3)
其中,所述
Figure BDA0000035757510000058
为更新后的后验信息,所述
Figure BDA0000035757510000059
变量节点的值,所述
Figure BDA00000357575100000510
为校验节点的值。
所述APP存储阵列113,用于暂存其所在层运算模块的MS单元阵列112发送的APP值,当缓存得到所述待译码数据对应的更新运算后的AAP值后,将所述待译码数据对应的更新运算后的AAP值以所述预定码字长度为并行位宽并行输出,以便进行进一步的译码处理。
进一步的,如图2所示,所述R个层运算模块1中除第一个层运算模块以外的每个层运算模块12包括:交换网络阵列121、MS单元阵列122和APP存储阵列123。
所述交换网络阵列121,用于以所述预定码字长度为并行位宽并行接收上一个层运算模块输出的APP值,并将所述APP值以固定连线交换的方式发送给其所在层运算模块的MS单元阵列122;其中,所述固定连线交换的方式为根据所述H矩阵的第N个子循环矩阵层的结构特征,将该层同一个校验节点所关联的变量节点的APP值,直接路由连接到同一个MS单元。
所述MS单元阵列122,用于接收所述交换网络阵列121发送的APP值,根据其所在层运算模块所对应的所述H矩阵的子循环矩阵层的结构特征,对其接收到的APP值进行更新运算,得到更新运算后的APP值,并将所述更新后的APP值发送给其所在层运算模块的APP存储阵列123;其中,所述MS单元阵列122如何根据其所在层运算模块所对应的所述H矩阵的子循环矩阵层的结构特征,对其接收到的APP值进行更新运算,得到更新运算后的APP值,可以参考图3中第一个层运算模块的MS单元阵列112中的相应描述,本发明实施例此处将不再赘述,不同的是:输入到该处MS单元阵列122用于计算变量节点的APP值为其所在层模块的所述交换网络阵列121发送的,并且该MS单元阵列是根据其所在层模块所对应的H矩阵的子循环矩阵层的结构特征进行的更新运算。
所述APP存储阵列123,用于暂存其所在层运算模块的MS单元阵列122发送的APP值,当缓存得到所述待译码数据对应的更新运算后的AAP值后,将所述待译码数据对应的更新运算后的AAP值以所述预定码字长度为并行位宽并行输出。
进一步需要说明的是,在实际的应用中,待译码数据可能需要进行迭代译码处理,例如待译码数据需要完成预定次数(例如M次)的迭代译码后才最终输出译码结果,其中,每次迭代译码的结果是下一次迭代的输入,在本发明实施例中,输入到第一个层运算的待译码数据依次经过第一个层运算模块到第R个层运算模块的处理即完成一次迭代译码处理。当所述待译码数据需要进行迭代译码处理,所述待译码数据没有达到预定迭代次数时,所述第R个层运算模块的所述APP存储阵列123还用于,将其更新运算得到后的APP值以所述预定码字长度为并行位宽并行输出给所述第一个层运算模块,所述第一个层运算模块接收的待译码数据对应的APP值具体为所述第R个层运算模块更新运算得到的APP值。
当所述待译码数据需要进行迭代译码处理,所述待译码数据没有达到预定迭代次数时,所述第一个层运算模块的选择输入单元111还用于,选择所述第R个层运算模块更新运算得到的APP值以所述预定码字长度为并行位宽进行并行接收。可以理解的是,在本发明实施例提供的译码器中,同时输入到第一个层运算模块的可能有预定码字长度的新待译码数据所对应的初始APP值,和第R个层运算模块输出的APP值,此时因为第R个层运算模块输出的APP值还需要继续下一次迭代,所以此时第一个层运算模块选择第二个层运算模块输出的APP值进行接收。从上面可以看到,本发明实施例提供的译码器在译码过程中是一种流水线处理,在流水线上最多可以同时处理R个所述预定码字长度的待译码数据。
进一步的,如图3所示,当所述H矩阵的第N个子循环矩阵层的列重(列向1的个数)大于等于2时,所述第N层运算模块还包括APP更新计算模块114/124。
APP更新计算模块114/124,用于根据第N个层运算模块的MS单元阵列更新运算得到的第N个子循环矩阵层的同一列所关联的至少两个校验节点所对应的更新后的APP值,以及输入到第N个层运算模块与该列对应的APP值,计算得到该列对应的更新后的APP值,并将所述该列对应的更新后的APP值发送给第N个层运算模块的APP存储阵列113/123,其中,N为自然数,1≤N≤R。其中,所述第N个层运算模块的APP更新计算模块根据第N个层运算模块的MS单元阵列更新运算得到的第N个子循环矩阵层的同一列所关联的至少两个校验节点所对应的更新后的APP值,以及输入到第N个层运算模块与该列对应的APP值,计算得到该列对应的更新后的APP值包括:将所述第N个子循环矩阵层的同一列所关联的至少两个校验节点所对应的更新后的APP值相加,减去所述输入到第N个层运算模块与该列对应的APP值,得到所述该列对应的更新后的APP值。
其中,当所述H矩阵的第N个子循环矩阵层的列重(列向1的个数)等于2时,即如图4所示,图中的“\”表示“1”分布的位置,图中的“☆”表示位于同一列中的“1”的位置;所述根据第N个层运算模块的MS单元阵列更新运算得到的第N个子循环矩阵层的同一列所关联的两个校验节点所对应的更新后的APP值,以及输入到第N个层运算模块与该列对应的APP值,计算得到该列对应的更新后的APP值,可以采用公式4,公式4为:
APP’=APP1’+APP2’-APP  (公式4)
其中,APP’为APP更新模块计算模块114/124输出的第N个子循环矩阵层的列重为2的列所对应的更新后的APP值,APP1’为该第N个子循环矩阵层的列重为2的列对应的变量节点所关联的第一个校验节点所对应的更新后的APP值,APP2’为该第N个子循环矩阵层的列重为2的列对应的变量节点所关联的第二个校验节点所对应的更新后的APP值,APP为输入到第N个层运算模块与该该第N个子循环矩阵层的列重为2的列对应的APP值;其中,APP1’,APP2’是由第N个层运算模块的MS单元阵列计算得到的。
这里需要说明的是,当所述H矩阵的第N个子循环矩阵层的列重(列向1的个数)大于或等于2时,所述根据第N个层运算模块的MS单元阵列更新运算得到的第N个子循环矩阵层的同一列所关联的至少两个校验节点所对应的更新后的APP值,以及输入到第N个层运算模块与该列对应的APP值,计算得到该列对应的更新后的APP值,可以采用公式7获取,公式7为:
APP , = Σ i = 1 N APPi , - ( Z - 1 ) × APP (公式7)
其中,Z为第N个子循环矩阵层中子矩阵的列重,Z为自然数。
本发明实施例中,采用全并行译码结构,并且译码器的多层运算进行全流水处理,从而能够较大程度的提高译码器的吞吐量。
并且,本发明实施例中,层运算模块中的交换网络阵列和MS单元阵列之间通过固定连线交换的方式实现通信,与现有技术相比,避免了交换网络,无需缓存译码矩阵信息,并且无需交换控制,降低了高吞吐量译码器的实现复杂度。
进一步的,本发明实施例中,通过增加APP更新模块实现对MS单元阵列产生的两个带译码数据的重新更新,实现了译码子矩阵列重为大于1的译码的全并行流水译码处理,从而扩展了译码器的性能。
更近一步的,在层运算模块对待译码数据进行译码处理时,采用迭代运算的方式,可以保证译码的准确性。
实施例2
本发明实施例提供一种译码方法,如图5所示,该方法包括:
201、以预定码字长度为并行位宽并行接收待译码数据,将所述待译码数据以后验概率信息APP值的形式进行R层层运算对所述待译码数据对应的APP值进行更新;在任意相邻的两层层运算之间,前一层层运算的输出是后一层层运算的输入;所述R为H矩阵的子循环矩阵层的层数。
其中,所述预定码字长度根据H矩阵所设计的码字长度设定。所述待译码数据可以为待译码信号对应的变量节点初始化的APP,但本发明实施例对此也不进行限制。
202、第N层层运算是根据所述H矩阵的第N个子循环矩阵层的结构特征,对以所述预定码字长度为并行位宽并行输入的APP值进行更新运算,并将更新运算得到的APP值以所述预定码字长度为并行位宽并行输出;其中,N为自然数,1≤N≤R。
203、将第R层层运算得到的APP值进行硬判决输出。
其中,所述硬判决是指根据其判决门限对接收到的信号波形直接进行判决后输出0或1,本发明实施例即对第R层层运算输出的APP值,根据判决门限判决后输出0或1。对所述第R层层运算输出的结果进行硬判决,可以采用现有技术中的任一种方法实现,本发明实施例对此不进行限制。
其中,所述第N层层运算是根据所述H矩阵的第N个子循环矩阵层的结构特征,对以所述预定码字长度为并行位宽并行输入的APP值进行更新运算,如图6所示,包括:
2021、根据并行输入的所述APP值并行计算变量节点的值。
其中,所述根据并行输入的所述APP值并行计算变量节点的值,可以采用但不局限于公式1获取,公式1为:
V m , n k , L = APP n k , L - p - C m , n k - 1 , L (公式1)
其中,
Figure BDA0000035757510000102
为变量节点的值,
Figure BDA0000035757510000103
为第n列(即每个码字的第n个比特位)对应的后验概率信息,
Figure BDA0000035757510000104
为校验节点值,k为本次计算的迭代次数,L为本次计算的位置(m,n)所在的层数;p为与本次计算信息相关的上一层数和1的差值。
2022、根据所述变量节点的值计算与所述变量节点相关联的校验节点的值;其中,所述变量节点与所述校验节点的关联关系是由所述MS单元所在层运算模块所对应的所述H矩阵的子循环矩阵层的结构特征决定的。
其中,所述根据所述变量节点的值计算与所述变量节点相连的校验节点的值,可以采用但不局限于公式2获取,公式2为:
C m , n k , L = ( Π j ∈ N ( m ) \ n sign ( V m , j k , L ) ) × max ( min j ∈ N ( m ) \ n | V m , j k , L | - β , 0 ) (公式2)
其中,
Figure BDA0000035757510000106
为变量节点的值,k为本次计算的迭代次数,L为本次计算的位置(m,n)所在的层数;p为与本次计算信息相关的上一层数和1的差值,j为列号,N(m)为第m行中,是1的列的列号的集合,即与第m行相关的列号的集合;β为offset min sum算法的偏置量,Min Sum算法是现有技术,偏置量在前期算法设计中研究设计,芯片实现中预先设置。
2023、将所述变量节点的值加上所述校验节点的值,得到更新后的APP值。
其中,所述将所述变量节点的值加上所述校验节点的值,得到更新后的APP值,可以采用但不局限于公式3获取,公式3为:
APP n k , L = V m , n k , L + C m , n k , L (公式3)
其中,所述
Figure BDA0000035757510000108
为更新后的后验信息,所述变量节点的值,所述
Figure BDA00000357575100001010
为校验节点的值。
其中,这里需要说明的是,为保证数据译码的准确性,可以对所述待译码数据采用迭代译码的处理方式进行译码处理;按照预定迭代次数以所述预定码字长度为并行位宽对所述待译码数据进行并行流水译码处理时,本发明实施例提供另一种译码方法,如图7所示,该方法还包括:
301、所述第N层层运算是根据所述H矩阵的第N个子循环矩阵层的结构特征,对以所述预定码字长度为并行位宽并行输入的APP值进行更新运算。
其中,将所述待译码数据以后验概率信息APP值的形式进行全并行译码处理,得到译码处理后的APP值的具体描述,可以参考图3的相应描述,此处将不再赘述。
302、判断对所述待译码数据的迭代译码处理是否达到预定迭代次数;若所述迭代译码处理未达到预定迭代次数时,则执行步骤303;若所述迭代译码处理达到预定迭代次数时,则执行步骤304。
303、将第R层层运算得到的以所述预定码字长度为并行位宽并行输出的APP值,作为第一层层运算的输入,并执行步骤302。
304、将第R层层运算译码处理得到的APP值进行硬判决输出,结束本次对待译码数据的译码处理。
进一步,这里需要说明的是,当所述H矩阵的第N个子循环矩阵层的列重(列向1的个数)大于等于2时,即如图4所示,图中的“\”表示“1”分布的位置,图中的“☆”表示位于同一列中的“1”的位置;所述第N层层运算还包括:根据第N个子循环矩阵层的同一列所关联的至少两个校验节点所对应的更新后的APP值,以及第N层层运算中该列对应的输入的APP值,计算得到该列对应的更新后的APP值;将所述H矩阵的第N个循环矩阵的所有列对应的更新后的APP值,作为第N层层运算的输出。
其中,所述根据第N个子循环矩阵层的同一列所关联的至少两个校验节点所对应的更新后的APP值,以及第N层层运算中该列对应的输入的APP值,计算得到该列对应的更新后的APP值,包括:将所述第N个子循环矩阵层的同一列所关联的至少两个校验节点所对应的更新后的APP值相加,并减去所述第N层层运算中该列对应的输入的APP值,得到该列对应的更新后的APP值。本步骤的具体计算过程中,可以参见实施例一中关于APP更新计算模块工作过程的相关描述,此处不再赘述。本发明实施例中,对待译码数据以预定码字长度为并行位宽全并行译码处理,从而能够较大程度的提高译码的效率。
并且,从本发明实施例中可以看出,当H矩阵子循环矩阵层的列重大于1时,本发明实施例提供的方法同样可以适用,从而扩展了译码适用的范围。
更近一步的,对待译码数据进行译码处理时,采用迭代运算的方式,可以保证译码的准确性。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (12)

1.一种译码器,其特征在于,包括:R个层运算模块和硬判决输出模块;所述R个层运算模块依次连接,在任意相邻的两个层运算模块中,前一个层运算模块的输出是后一个层运算模块的输入;R为H矩阵的子循环矩阵层的层数;
第N个层运算模块,用于以预定码字长度为并行位宽并行接收待译码数据对应的APP值,根据所述H矩阵的第N个子循环矩阵层的结构特征,对接收的APP值进行更新运算,得到所述待译码数据对应的经过该层运算模块更新运算后的APP值,并将所述更新运算后得到的APP值以所述预定码字长度为并行位宽并行输出;其中,N为自然数,1≤N≤R;
所述硬判决输出模块,用于接收第R个层运算模块输出的APP值,并将其进行硬判决输出。
2.根据权利要求1所述的译码器,特征在于,每一个层运算模块均包括:最小和MS单元阵列和APP存储阵列;第一个层运算模块还包括选择输入单元;所述R个层运算模块中除第一个层运算模块以外的每个层运算模块均还包括交换网络阵列;
所述选择输入单元,用于以所述预定码字长度为并行位宽并行接收待译码数据对应的初始APP值,并将接收到的所述APP值发送给其所在层模块的MS单元阵列;
所述交换网络阵列,用于以所述预定码字长度为并行位宽并行接收上一个层运算模块输出的APP值,并将所述APP值以固定连线交换的方式发送给其所在层运算模块的MS单元阵列;
所述MS单元阵列,用于根据其所在层运算模块所对应的所述H矩阵的子循环矩阵层的结构特征,对其接收到的APP值进行更新运算,得到更新运算后的APP值,并将所述更新后的APP值发送给其所在层运算模块的APP存储阵列;
所述APP存储阵列,用于暂存其所在层运算模块的MS单元阵列发送的APP值,当缓存得到所述待译码数据对应的更新运算后的AAP值后,将所述待译码数据对应的更新运算后的AAP值以所述预定码字长度为并行位宽并行输出。
3.根据权利要求2所述的译码器,其特征在于,所述MS单元用于根据其所在层运算模块所对应的所述H矩阵的子循环矩阵层的结构特征,对其接收到的APP值进行更新运算,得到更新运算后的APP值,包括:
根据接收的所述选择输入单元或者所述交换网络阵列发送的APP值并行计算变量节点的值;
根据所述变量节点的值计算与所述变量节点相关联的校验节点的值;其中,所述变量节点与所述校验节点的关联关系是由所述MS单元所在层运算模块所对应的所述H矩阵的子循环矩阵层的结构特征决定的;
将所述变量节点的值加上所述校验节点的值得到更新后的APP值。
4.根据权利要求2所述的译码器,其特征在于,当所述待译码数据需要进行迭代译码处理,且所述迭代译码处理没有达到预定迭代次数时,第R个层运算模块还用于将其更新运算得到后的APP值以所述预定码字长度为并行位宽并行输出给所述第一个层运算模块;
所述第一个层运算模块接收的待译码数据对应的APP值具体为所述第R个层运算模块更新运算得到的APP值。
5.根据权利要求4所述的译码器,其特征在于,所述选择输入单元还用于选择所述第R个层运算模块更新运算得到的APP值以所述预定码字长度为并行位宽进行并行接收。
6.根据权利要求2至5中任一项所述的译码器,其特征在于,当所述H矩阵的第N个子循环矩阵层的列重大于等于2时,所述第N个层运算模块还包括:
APP更新计算模块,用于根据第N个层运算模块的MS单元阵列更新运算得到的第N个子循环矩阵层的同一列所关联的至少两个校验节点所对应的更新后的APP值,以及输入到第N个层运算模块与该列对应的APP值,计算得到该列对应的更新后的APP值,并将所述该列对应的更新后的APP值发送给第N个层运算模块的APP存储阵列。
7.根据权利要求6所述的译码器,其特征在于,所述第N个层运算模块的APP更新计算模块根据第N个层运算模块的MS单元阵列更新运算得到的第N个子循环矩阵层的同一列所关联的至少两个校验节点所对应的更新后的APP值,以及输入到第N个层运算模块与该列对应的APP值,计算得到该列对应的更新后的APP值包括:
将所述第N个子循环矩阵层的同一列所关联的至少两个校验节点所对应的更新后的APP值相加,减去所述输入到第N个层运算模块与该列对应的APP值,得到所述该列对应的更新后的APP值。
8.一种译码方法,其特征在于,包括:
以预定码字长度为并行位宽并行接收待译码数据,将所述待译码数据以后验概率信息APP值的形式进行R层层运算对所述待译码数据对应的APP值进行更新;在任意相邻的两层层运算之间,前一层层运算的输出是后一层层运算的输入;所述R为H矩阵的子循环矩阵层的层数;
第N层层运算是根据所述H矩阵的第N个子循环矩阵层的结构特征,对以所述预定码字长度为并行位宽并行输入的APP值进行更新运算,并将更新运算得到的APP值以所述预定码字长度为并行位宽并行输出;其中,N为自然数,1≤N≤R;
将第R层层运算得到的APP值进行硬判决输出。
9.根据权利要求8所述的译码方法,其特征在于,当所述待译码数据需要进行迭代译码处理时,该方法还包括:
当所述迭代译码处理未达到预定迭代次数时,将第R层层运算得到的以所述预定码字长度为并行位宽并行输出的APP值,作为第一层层运算的输入;
当所述迭代译码处理达到预定迭代次数时,将第R层层运算译码处理得到的APP值进行硬判决输出。
10.根据权利要求8或9所述的译码方法,其特征在于,所述第N层层运算是根据所述H矩阵的第N个子循环矩阵层的结构特征,对以所述预定码字长度为并行位宽并行输入的APP值进行更新运算,包括:
根据并行输入的所述APP值并行计算变量节点的值;
根据所述变量节点的值计算与所述变量节点相连的校验节点的值;其中,所述变量节点与所述校验节点的关联关系是由所述MS单元所在层运算模块所对应的所述H矩阵的子循环矩阵层的结构特征决定的;
将所述变量节点的值加上所述校验节点的值,得到更新后的APP值。
11.根据权利要求8至10中任一项所述的译码方法,其特征在于,当所述H矩阵的第N个子循环矩阵层的列重大于等于2时,所述第N层层运算还包括:
根据第N个子循环矩阵层的同一列所关联的至少两个校验节点所对应的更新后的APP值,以及第N层层运算中该列对应的输入的APP值,计算得到该列对应的更新后的APP值;
将所述H矩阵的第N个循环矩阵的所有列对应的更新后的APP值,作为第N层层运算的输出。
12.根据权利要求11所述的译码方法,其特征在于,所述根据第N个子循环矩阵层的同一列所关联的至少两个校验节点所对应的更新后的APP值,以及第N层层运算中该列对应的输入的APP值,计算得到该列对应的更新后的APP值,包括:
将所述第N个子循环矩阵层的同一列所关联的至少两个校验节点所对应的更新后的APP值相加,并减去所述第N层层运算中该列对应的输入的APP值,得到该列对应的更新后的APP值。
CN 201010571034 2010-12-02 2010-12-02 一种译码器及译码方法 Active CN102136842B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010571034 CN102136842B (zh) 2010-12-02 2010-12-02 一种译码器及译码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010571034 CN102136842B (zh) 2010-12-02 2010-12-02 一种译码器及译码方法

Publications (2)

Publication Number Publication Date
CN102136842A true CN102136842A (zh) 2011-07-27
CN102136842B CN102136842B (zh) 2013-04-17

Family

ID=44296510

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010571034 Active CN102136842B (zh) 2010-12-02 2010-12-02 一种译码器及译码方法

Country Status (1)

Country Link
CN (1) CN102136842B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107113007A (zh) * 2014-12-19 2017-08-29 骁阳网络有限公司 编码器、解码器以及具有低错误平层的编码方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101355406A (zh) * 2008-09-18 2009-01-28 上海交通大学 分层的非规则低密度校验码译码器及译码处理方法
US7827461B1 (en) * 2006-09-18 2010-11-02 Marvell International Ltd. Low-density parity-check decoder apparatus

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7827461B1 (en) * 2006-09-18 2010-11-02 Marvell International Ltd. Low-density parity-check decoder apparatus
CN101355406A (zh) * 2008-09-18 2009-01-28 上海交通大学 分层的非规则低密度校验码译码器及译码处理方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
王建新 等: "LDPC码全并行译码器的设计与实现", 《电路与系统学报》, vol. 14, no. 5, 31 October 2009 (2009-10-31), pages 60 - 65 *
王锦山 等: "一种新的LDPC 译码器设计", 《系统工程与电子技术》, vol. 30, no. 10, 31 October 2008 (2008-10-31), pages 2031 - 2034 *
王鹏 等: "高速LDPC码分层译码器设计", 《小型微型计算机系统》, vol. 30, no. 11, 30 November 2009 (2009-11-30), pages 2294 - 2296 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107113007A (zh) * 2014-12-19 2017-08-29 骁阳网络有限公司 编码器、解码器以及具有低错误平层的编码方法

Also Published As

Publication number Publication date
CN102136842B (zh) 2013-04-17

Similar Documents

Publication Publication Date Title
US7373581B2 (en) Device, program, and method for decoding LDPC codes
CN101079639B (zh) 基于节点存储器的低密度奇偶校验解码装置和方法
US7937648B2 (en) Decoding device, control method, and program
CN101141133B (zh) 一种结构化低密度校验码的编码方法
CN107370490B (zh) 结构化ldpc的编码、译码方法及装置
US7941737B2 (en) Low density parity check code decoder
CN107404321B (zh) 用于纠错码解码的方法和设备
RU2369008C2 (ru) Устройство и способ кодирования-декодирования блочного кода проверки на четность с низкой плотностью с переменной длиной блока
US8234555B2 (en) Data decoding apparatus, data decoding method, data transmitting/receiving system, data receiving apparatus, data receiving method and program
CN107979445B (zh) 使用预先排序的输入的基于基本校验节点的校正子解码
EP3364578B1 (en) Parallel decoding for qc-ldpc codes
CN105262493B (zh) 低密度奇偶校验码的译码方法
CN101154948A (zh) 利用共享硬件及顺序和-积体系结构进行低密度奇偶校验解码的方法和设备
KR20150011085A (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 신호 수신 장치 및 방법
CN111384970A (zh) 一种译码方法、装置及通信设备
CN111034055A (zh) 在非二进制ldpc解码器中简化的校验节点处理
CN112889221B (zh) 用于非二进制码的消息传递解码的校验节点处理单元中的偏移值确定
Boncalo et al. Cost-efficient FPGA layered LDPC decoder with serial AP-LLR processing
CN102136842B (zh) 一种译码器及译码方法
CN102611462A (zh) 一种ldpc-cc译码算法及译码器
CN103036577B (zh) 一种低复杂度的低密度奇偶校验ldpc码编码电路结构
KR20230124036A (ko) 저밀도 패리티 체크 인코딩 방법, 저밀도 패리티 체크디코딩 방법, 인코딩 장치, 디코딩 장치 및 매체
CN112470405A (zh) 非二进制码的消息传递解码的可变节点处理方法和设备
Zolotarev et al. Usage of divergence within concatenated multithreshold decoding convolutional codes
Wang et al. Real-time implementation for reduced-complexity LDPC decoder in satellite communication

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