CN102136842A - 一种译码器及译码方法 - Google Patents
一种译码器及译码方法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000012545 processing Methods 0.000 claims abstract description 25
- 239000011159 matrix material Substances 0.000 claims description 112
- 238000004364 calculation method Methods 0.000 claims description 35
- 125000004122 cyclic group Chemical group 0.000 claims description 5
- 238000004891 communication Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 101150053844 APP1 gene Proteins 0.000 description 3
- 101100189105 Homo sapiens PABPC4 gene Proteins 0.000 description 3
- 102100039424 Polyadenylate-binding protein 4 Human genes 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 101100055496 Arabidopsis thaliana APP2 gene Proteins 0.000 description 1
- 101100016250 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) GYL1 gene Proteins 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
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循环子矩阵。
第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为:
其中,为变量节点的值,为第n列(即每个码字的第n个比特位)对应的后验概率信息,为校验节点值,k为本次计算的迭代次数,L为本次计算的位置(m,n)所在的层数;p为与本次计算信息相关的上一层数和l的差值。
根据所述变量节点的值计算与所述变量节点相关联的校验节点的值,其中,所述变量节点与所述校验节点的关联关系是由所述MS单元所在层运算模块所对应的所述H矩阵的子循环矩阵层(即H矩阵的第一子循环矩阵层)的结构特征决定的;其中,所述根据所述变量节点的值计算与所述变量节点相关联的校验节点的值,可以采用但不局限于公式2获取,公式2为:
其中,为变量节点的值,k为本次计算的迭代次数,L为本次计算的位置(m,n)所在的层数;p为与本次计算信息相关的上一层数和1的差值,j为列号,N(m)为第m行中,是1的列的列号的集合,即与第m行相关的列号的集合;β为offset min sum算法的偏置量,Min Sum算法是现有技术,偏置量在前期算法设计中研究设计,芯片实现中预先设置。
将所述变量节点的值加上所述校验节点的值得到更新后的APP值。其中,所述将所述变量节点的值加上所述校验节点的值得到更新后的APP值可以采用但不局限于公式3获取,公式3为:
所述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为:
其中,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为:
其中,为变量节点的值,为第n列(即每个码字的第n个比特位)对应的后验概率信息,为校验节点值,k为本次计算的迭代次数,L为本次计算的位置(m,n)所在的层数;p为与本次计算信息相关的上一层数和1的差值。
2022、根据所述变量节点的值计算与所述变量节点相关联的校验节点的值;其中,所述变量节点与所述校验节点的关联关系是由所述MS单元所在层运算模块所对应的所述H矩阵的子循环矩阵层的结构特征决定的。
其中,所述根据所述变量节点的值计算与所述变量节点相连的校验节点的值,可以采用但不局限于公式2获取,公式2为:
其中,为变量节点的值,k为本次计算的迭代次数,L为本次计算的位置(m,n)所在的层数;p为与本次计算信息相关的上一层数和1的差值,j为列号,N(m)为第m行中,是1的列的列号的集合,即与第m行相关的列号的集合;β为offset min sum算法的偏置量,Min Sum算法是现有技术,偏置量在前期算法设计中研究设计,芯片实现中预先设置。
2023、将所述变量节点的值加上所述校验节点的值,得到更新后的APP值。
其中,所述将所述变量节点的值加上所述校验节点的值,得到更新后的APP值,可以采用但不局限于公式3获取,公式3为:
其中,这里需要说明的是,为保证数据译码的准确性,可以对所述待译码数据采用迭代译码的处理方式进行译码处理;按照预定迭代次数以所述预定码字长度为并行位宽对所述待译码数据进行并行流水译码处理时,本发明实施例提供另一种译码方法,如图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值。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107113007A (zh) * | 2014-12-19 | 2017-08-29 | 骁阳网络有限公司 | 编码器、解码器以及具有低错误平层的编码方法 |
Citations (2)
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 |
-
2010
- 2010-12-02 CN CN 201010571034 patent/CN102136842B/zh active Active
Patent Citations (2)
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)
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)
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 |