CN105814799A - 纠错解码装置 - Google Patents

纠错解码装置 Download PDF

Info

Publication number
CN105814799A
CN105814799A CN201480066943.2A CN201480066943A CN105814799A CN 105814799 A CN105814799 A CN 105814799A CN 201480066943 A CN201480066943 A CN 201480066943A CN 105814799 A CN105814799 A CN 105814799A
Authority
CN
China
Prior art keywords
row
minima
llr
column
column operations
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
CN201480066943.2A
Other languages
English (en)
Other versions
CN105814799B (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of CN105814799A publication Critical patent/CN105814799A/zh
Application granted granted Critical
Publication of CN105814799B publication Critical patent/CN105814799B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • H03M13/1117Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule
    • H03M13/112Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule with correction functions for the min-sum rule, e.g. using an offset or a scaling factor
    • 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/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • H03M13/1114Merged schedule message passing algorithm with storage of sums of check-to-bit node messages or sums of bit-to-check node messages, e.g. in order to increase the memory efficiency
    • 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/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • H03M13/1117Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule
    • H03M13/1122Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule storing only the first and second minimum values per check node
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2909Product codes
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3977Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using sequential decoding, e.g. the Fano or stack algorithms
    • 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/65Purpose and implementation aspects
    • H03M13/6577Representation or format of variables, register sizes or word-lengths and quantization
    • H03M13/658Scaling by multiplication or division
    • 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/65Purpose and implementation aspects
    • H03M13/6577Representation or format of variables, register sizes or word-lengths and quantization
    • H03M13/6583Normalization other than scaling, e.g. by subtraction
    • 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/1154Low-density parity-check convolutional codes [LDPC-CC]

Landscapes

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

Abstract

纠错解码装置具备与LDPC码的检查矩阵的列以及行分别对应地设置的列运算器(201)以及行运算器(211~213),列运算器(201)从接收序列的接收LLR(对数似然比)和行运算器(211~213)输入行LLR,计算接收序列的接收LLR与来自行运算器(211~213)的行LLR的合计值(z1),行运算器(211~213)保持在上次运算时获得的与行LLR或列LLR相关的运算结果,采用从列运算器(201)输入的合计值和所保持的运算结果来计算列LLR,根据所算出的列LLR计算行LLR,输出给列运算器(201)。

Description

纠错解码装置
技术领域
本发明涉及纠错解码装置,尤其涉及对利用低密度奇偶检查码(Low-DensityParity-Check码;以下,称为LDPC码。)编码的接收序列进行解码的纠错解码装置。
背景技术
如图1所示一例那样,LDPC码是以1的个数疏的(即,矩阵要素的大部分是0,相对于整体较少)奇偶检查矩阵进行定义的线性码。此时,如图2那样,当将奇偶检查矩阵的尺寸设为m×n矩阵(这里,m<n)时,LDPC码的码长度成为n,奇偶检查矩阵的秩(阶数)成为奇偶比特长度m。在奇偶检查矩阵是满秩(阶数与行数一致)的情况下,奇偶比特长度成为m,信息序列长度成为n-m。
在对LDPC码进行解码的解码法的代表方法中,例如专利文献1所记载的那样,具有Sum-Product解码法。在Sum-Product解码法中,作为接收信号(接收序列)的概率性的可靠度信息,计算对数似然比(LogLikelihoodRatio;以下,称为LLR。)并且反复进行运算,由此,进行解码。Sum-Product解码法由被称为列运算和行运算的两个运算构成,分别对应于奇偶检查矩阵的列与行。在电路等中安装时,进行列运算或行运算的部分被称为列运算器以及行运算器,但有时也分别被称为比特节点以及校验节点。
对Sum-Product解码法的具体运算进行说明。将根据接收序列对与码长度相应的比特分别进行计算的接收对数似然比(以下,称为接收LLR。)作为输入,交替地反复进行行运算与列运算这两个运算,由此,进行解码运算。
在行运算中,当将奇偶检查矩阵的第r行要素是1的列编号的集合设为N(r)时,针对N(r)所包含的各列c利用下面的式(1)来计算行LLRεr,c。式(1)右边的zr,c'是利用后面说明的列运算进行计算的列LLR,但在Sum-Product解码法的第一次反复中,代入与列c对应的接收LLRλc
ϵ r , c = ( Π c ′ ∈ N ( r ) \ { c } sgn ( z r , c ′ ) ) · ( ⊗ c ′ ∈ N ( r ) \ { c } | z r , c ′ | ) - - - ( 1 )
在式(1)右边出现的各个运算记号的定义如以下这样。
sgn ( x ) = 1 ( x &GreaterEqual; 0 ) - 1 ( x < 0 ) - - - ( 2 )
&CircleTimes; i &Element; I z i = z 1 &CircleTimes; z 2 &CircleTimes; ... &CircleTimes; z | I | , ( I = { 1 , 2 , ... , | I | } ) - - - ( 3 )
x &CircleTimes; y = f ( f ( x ) + f ( y ) ) - - - ( 4 )
f ( x ) = l n exp ( x ) + 1 exp ( x ) - 1 - - - ( 5 )
接着,说明列运算。这里,将奇偶检查矩阵的列c的要素是1的行的集合设为M(c)。列运算是针对由行运算求出的行LLRεr,c'利用下面的式(6)来计算列LLRzr,c
z r , c = &lambda; c + &Sigma; r &prime; &Element; M ( c ) \ { r } &epsiv; r &prime; , c - - - ( 6 )
另外,利用式(7)进行发送比特bc的估计(LDPC码的解码结果的计算)。当式(7)的结果是zc为0以上时,将接收序列的第c比特bc设为1,当zc小于0时,设为bc=0。
z c = &lambda; c + &Sigma; r &Element; M ( c ) &epsiv; r , c - - - ( 7 )
针对由式(6)获得的列LLR进行行运算,之后反复进行这些运算,当到达预定的反复次数的上限或者估计比特是码字(可利用奇偶校验进行判别)时,输出估计比特串bc,解码结束。
Sum-Product解码法在利用式(1)以及式(2)~(5)式表示的行运算中,需要指数或对数的运算,运算量庞大。
在专利文献1以及其它专利文献的专利文献2中,记载了几个通过对式(1)进行近似运算来削减运算量的解码法。作为代表性的近似方法,具有采用下面的式(8)来代替式(1)的Min-sum解码法。
&epsiv; r , c = ( &Pi; c &prime; &Element; N ( r ) \ { c } sgn ( z r , c &prime; ) ) &CenterDot; min c &prime; &Element; N ( r ) \ { c } { | z r , c &prime; | } - - - ( 8 )
Min-sum解码法通过如式(8)那样算出zr,c的绝对值的最小值,对由在式(1)中出现的指数或对数构成的运算进行近似。
但是,Min-sum解码法的近似精度粗略,与Sum-product解码法相比,解码性能的劣化大。因此,考虑了虽然运算量比Min-sum解码法稍大但解码性能得到改善的解码法,其中之一是利用下述的式(9)来置换式(1)的OffsetBP-based解码法。
&epsiv; r , c = ( &Pi; c &prime; &Element; N ( r ) \ { c } sgn ( z r , c &prime; ) ) &CenterDot; max { min c &prime; &Element; N ( r ) \ { c } { | z r , c &prime; | } - &alpha; , 0 } - - - ( 9 )
OffsetBP-based解码法与Min-sum解码法同样,对最小值进行运算,然后从最小值减去α。α是常数,预先利用密度发展法等来求出。与Min-sum解码法相比,只是追加减法,运算量的增量小,但大幅改善了解码性能。
另外,作为与OffsetBP-based解码法同样、解码性能比Min-sum解码法高的解码法,具有NormalizedMin-sum解码法(式(10))或δ-min解码法(例如,参照非专利文献1),在专利文献2中显示了使OffsetBP-based解码法的α随着最小值而变化的解码法。
&epsiv; r , c = ( &Pi; c &prime; &Element; N ( r ) \ { c } sgn ( z r , c &prime; ) ) &CenterDot; &beta; &CenterDot; min c &prime; &Element; N ( r ) \ { c } { | z r , c &prime; | } - - - ( 10 )
由上述说明的Sum-product解码法的近似运算构成的解码法都是针对zr,c的绝对值的最小值或以该最小值为基准的值(以下,称为准最小值。)进行某些低运算量处理,将其结果作为行LLRεr,c
当在电路中安装Sum-product解码法以及由Sum-product解码法的近似运算构成的解码法时,与奇偶检查矩阵的列数、行数的个数对应地分别安装进行列运算的列运算器和进行行运算的行运算器。如图3那样,与奇偶检查矩阵的各列以及各行分别对应地安装列运算器和行运算器,对于矩阵内的各个1,在其列与行之间进行布线,进行数据的输入输出。例如,图3(a)的奇偶检查矩阵的第4行、第2列的矩阵要素是1,因此,如图3(b)那样,在行运算器#4与列运算器#2之间进行布线。同样,在奇偶检查矩阵的矩阵要素是1的位置,在其列的列运算器与其行的行运算器之间进行布线。
现有技术文献
专利文献
专利文献1:国际公开第2006/059688号文本
专利文献2:日本特开2011-4229号公报
非专利文献
非专利文献1:阪井塁、松本涉、吉田英夫、“LDPC符号の簡易復号法とその離散化密度発展法”,电子信息通信学会,2007年2月,电子信息通信学会论文志A,第J90-A卷,2号,p.83-91
发明内容
发明所要解决的课题
现有的LDPC码的解码电路具有以下这样的问题:进行列运算的列运算器与进行行运算的行运算器之间的布线是根据奇偶检查矩阵的1的位置进行布线,在1的数量多的情况下,布线变多。另外,还具有以下这样的问题:奇偶检查矩阵的1的位置基本上是不规则的,布线变得复杂。
本发明是为了解决上述这样的问题而完成的,其目的是获得可通过减少布线数并缓和布线复杂度来提高LDPC码的解码电路的安装性的纠错解码装置。
解决问题的手段
本发明是用于对利用LDPC码进行了编码的接收序列进行解码,该纠错解码装置具备与所述LDPC码的检查矩阵的列以及行分别对应地设置的列运算器以及行运算器,所述列运算器输入所述接收序列的接收LLR(Log-LikelihoodRatio:对数似然比)并且从所述行运算器输入行LLR,计算所述接收序列的所述接收LLR与来自所述行运算器的所述行LLR的合计值,所述行运算器保持在上次运算时获得的与行LLR或列LLR相关的运算结果,采用从所述列运算器输入的所述合计值和所保持的所述运算结果来计算列LLR,根据算出的所述列LLR计算行LLR,并输出给所述列运算器。
发明效果
本发明是用于对利用LDPC码进行了编码的接收序列进行解码的纠错解码装置,具备与上述LDPC码的检查矩阵的列以及行分别对应地设置的列运算器以及行运算器,上述列运算器输入上述接收序列的接收LLR(Log-LikelihoodRatio:对数似然比)并且从上述行运算器输入行LLR,计算上述接收序列的上述接收LLR与来自上述行运算器的上述行LLR的合计值,上述行运算器保持在上次运算时获得的与行LLR或列LLR相关的运算结果,采用从上述列运算器输入的上述合计值和所保持的上述运算结果来计算列LLR,根据所算出的上述列LLR计算行LLR,输出给上述列运算器,因此可通过减少布线数并缓和布线复杂度,提高LDPC码的解码电路的安装性。
附图说明
图1是示出低密度奇偶检查矩阵的一例的图。
图2是示出由m×n矩阵构成的奇偶检查矩阵的一例的图。
图3是示出现有的列运算器与行运算器的布线的一例的图。
图4是示出本发明的实施方式1的纠错解码装置的结构的构成图。
图5是示出现有的列运算器的运算例的图。
图6是示出现有的行运算器的运算例的图。
图7是示出本发明的实施方式1的纠错解码装置中的列运算器的运算例的图。
图8是示出本发明的实施方式1的纠错解码装置中的行运算器的运算例的图。
图9是示出本发明的实施方式2的纠错解码装置中的行运算器的运算例的图。
图10是示出本发明的实施方式3的纠错解码装置中的行运算器的运算例的图。
图11是示出本发明的实施方式3的纠错解码装置中的行运算器的运算例的图。
具体实施方式
实施方式1.
图4示出本发明的实施方式1的纠错解码装置的结构的一例。在图4中,作为纠错解码装置,列举用于解码利用LDPC码进行编码的接收序列的LDPC码解码装置(以下,称为LDPC解码电路100。)为例进行显示。如图4所示,LDPC解码电路100由列运算器101和行运算器111构成。分别按照奇偶检查矩阵的列数以及行数的数量设置列运算器101以及行运算器111。
LDPC解码电路100将与奇偶检查矩阵的各列c对应的接收LLRλc作为输入,输出与该各列c对应的估计比特序列bc。这里,如上所述,各列c是在将奇偶检查矩阵的第r行的要素为1的列编号的集合设为N(r)时包含在集合N(r)中的各列。另外,如上所述,接收LLRλc是与列c对应的接收LLR。
列运算器101由多个列运算器#1、#2、···、#n构成,分别对应于奇偶检查矩阵的各列。因此,n是奇偶检查矩阵的列数。
行运算器111由多个行运算器#1、#2、···、#m构成,各自与奇偶检查矩阵的各行对应。因此,m是奇偶检查矩阵的行数。
列运算器101和行运算器111按照预先决定的次数或者根据运算中途经过决定的次数,反复进行数据的交换,然后,列运算器101根据式(7)计算并输出估计比特序列bc
本发明是从现有结构变更了列运算器与行运算器的运算而得到的。因此,在进行本发明的实施方式1的纠错解码装置的说明之前,说明现有的列运算器以及行运算器。
首先,图5示出现有的列运算器的运算例,图6示出现有的行运算器的结构例。
作为例子,图5的列运算器101根据奇偶检查矩阵的要素1的位置,与行运算器#1111、行运算器#5112和行运算器#6113连接。列运算器101将从这些行运算器111、112、113输出的行LLRε1,1、ε5,1、ε6,1作为输入,分别对行运算器#1111、行运算器#5112以及行运算器#6113输出根据上述的式(6)运算出的z1,1、z1,5、z1,6。具体记述式(6)的运算结果的是图5所示的z1,1=λ15,16,1、z1,5=λ11,16,1、z1,6=λ11,15,1
在行运算器111、行运算器112、行运算器113中,根据基于Sum-Product解码法的上述式(1)至式(5),计算各行LLRε1,1、ε5,1、ε6,1,向列运算器101输出。
图6中将行运算器111、112、113的现有结构例表示为行运算器#x114。
在图6中,作为例子,行运算器#x114根据奇偶检查矩阵的要素1的位置,与列运算器#1101、列运算器#i102、列运算器#j103、列运算器#k104连接。这些列运算器101~104的结构为与图5所示的列运算器#1101基本相同的结构。如图6所示,行运算器#x114由“绝对值的最小值以及准最小值的计算部115”、“伴随于近似的运算处理部116”和“选择器117”构成。
图6的行运算器#x114示出基于Min-sum解码法(式(8))、OffsetBP-based解码法(式(9))、NormalizedMin-sum解码法(式(10))或者δ-min解码法这样的由Sum-product解码法的近似运算构成的解码法的结构。
绝对值的最小值以及准最小值的计算部115输入由列运算器#1101、列运算器#i102、列运算器#j103、列运算器#k104运算出的列LLRzx,1、zx,i、zx,j、zx,k,从它们的绝对值中算出最小值和以其为基准的值。具体地说,在伴随于后级的近似的运算处理部116或选择器117中采用Min-sum解码法(式(8))、或者OffsetBP-based解码法(式(9))以及NormalizedMin-sum解码法(式(10))等以Min-sum解码法为基础的解码法的近似的情况下,绝对值的最小值以及准最小值的计算部115从各输入zx,c即输入zx,1、zx,i、zx,j、zx,k的绝对值中算出最小值和第2小的值。另一方面,在伴随于后级的近似的运算处理部116或选择器117中采用δ-min解码法或者与其同样的近似的情况下,从各输入zx,c即输入zx,1、zx,i、zx,j、zx,k的绝对值中算出最小值、第2小的值以及第3小的值。但是,关于分别求出从最小值到第几小的值为好,可根据期望的近似精度自由进行决定,在本发明中没有限定。即,如果是如下这样的解码法,则任意的解码法都能应用于本发明:利用绝对值的最小值以及准最小值的计算部115来算出最小值、第2小的值、第3小的值、比其大的值(以下,将这些称为准最小值),能够根据这些值,由伴随于后级的近似的运算处理部116或选择器117算出行LLR。
伴随于近似的运算处理部116在利用后级的选择器117进行OffsetBP-based解码法(式(9))、NormalizedMin-sum解码法(式(10))或者δ-min解码法的情况下,作为其前处理,进行对最小值或第2最小值等的各种运算。例如,如果为OffsetBP-based解码法,则是从式(9)中的最小值min|zr,c'|减去α的运算等。这样,当利用伴随于近似的运算处理部116进行前处理时,减轻了后级的选择器117的运算负荷,使选择器117的电路结构简化。此外,当然在进行与Min-sum解码法(式(8))同样的处理的情况下,因为不特别需要伴随于近似的运算处理部116,所以,可不设置。
选择器117采用伴随于近似的运算处理部116的输出,进行按照OffsetBP-based解码法(式(9))或NormalizedMin-sum解码法(式(10))或δ-min解码法或Min-sum解码法(式(8))等中的任意方法的运算处理,计算并输出向各列运算器#c即列运算器#1、#i、#j、#k101~104的输出值(行LLRεx,c)。具体地说,在针对伴随于近似的运算处理部116的输出利用式(11)算出正负的符号sgx,c之后,采用式(8)~(10)等中的任意式子,计算用于向列运算器#1101、#i102、#j103、#k104输出的行LLRεx,1、εx,i、εx,j、εx,k,选择已计算出的行LLRεx,1、εx,i、εx,j、εx,k并向适当的列运算器#1101、#i102、#j103、#k104输出。此外,式(11)的正负的符号计算也可利用其它部位进行。
sg x , c = ( &Pi; c &prime; &Element; N ( x ) \ { c } sgn ( z x , c &prime; ) ) - - - ( 11 )
此外,在上述的说明中说明了分别设置伴随于近似的运算处理部116和选择器117,但并非限定于此,也可一体化地设置它们。以下,伴随于近似的运算处理部116和选择器117构成用于根据从绝对值的最小值以及准最小值的计算部115输出的绝对值的最小值和准最小值来计算行LLR的运算部,所以,在汇总它们的情况下,简称为运算部。
以上,说明了现有技术,以下,说明本发明的实施方式1的列运算器以及行运算器。
图7示出本发明的实施方式1的列运算器的结构。
在图7中,作为例子,列运算器#1201根据奇偶检查矩阵的要素1的位置,与3个行运算器即行运算器#1211、行运算器#5212和行运算器#6213连接。列运算器#1201输入作为解码对象的接收序列的接收LLRλ1,并且输入从这些行运算器211~213输出的行LLRε1,1、ε5,1、ε6,1。列运算器#1201采用所输入的这些值,进行与式(7)同样的运算即z1=λ11,15,16,1,求出接收LLR与行LLR的合计值z1,对行运算器#1211、行运算器#5212和行运算器#6213输出该合计值z1。本实施方式与现有技术不同,不进行利用列运算器#1201求出式(6)的列LLR的运算,也不进行输出。与图5的现有结构的较大不同之处是,在现有的列运算器101中,如图5所示,针对连接的每个行运算器输出不同的值(z1,1,z1,5,z1,6),但在本实施方式中,如图7所示,对列运算器201连接的行运算器211~213全部输出同一值(只有合计值z1)。由此,可大幅改善布线的复杂度,使安装性提高。
行运算器#1211、行运算器#5212、行运算器#6213分别具有存储部(省略图示),在该存储部中预先存储向列运算器#1201输出的行LLRε1,1、ε5,1、ε6,1。这里,将在存储部中保持的ε1,1、ε5,1、ε6,1分别表示为ε’1,1、ε’5,1、ε’6,1。本实施方式中的行运算器#1211、行运算器#5212、行运算器#6213从由列运算器#1201输入的合计值z1减去在各个存储部中保持的ε’1,1、ε’5,1、ε’6,1,由此,获得列LLRz1,1、z5,1、z6,1。下面详细进行叙述。
接着,采用图8示出本实施方式的行运算器的结构。
如图8所示,作为例子,行运算器#x214根据奇偶检查矩阵的要素1的位置,与列运算器#1201、列运算器#i202、列运算器#j203、列运算器#k204连接。此外,这些各列运算器201~204也与行运算器#x214以外的行运算器连接,连接关系如上所述根据奇偶检查矩阵来决定。行运算器#x214由“绝对值的最小值以及准最小值的计算部115”、“伴随于近似的运算处理部116”、“选择器117”、“存储部218”和“减法部220、221、223、224”构成。因为“伴随于近似的运算处理部116”与现有的图6相同,所以,这里省略详细的说明。与图6的较大不同之处是,在本实施方式中,如图8所示追加了存储部218和减法部220、221、223、224。
在绝对值的最小值以及准最小值的计算部115中,从后述的减法部220、221、223、224输入列LLRzx,1、zx,i、zx,j、zx,k,从这些列LLR的绝对值中算出最小值和以其为基准的值。关于计算方法,只要与现有的图6的绝对值的最小值以及准最小值的计算部115相同即可,所以,这里省略说明。
因为选择器117的运算处理的内容与图6的选择器117相同,所以,这里省略说明,但与图6的不同之处是,在图8中,选择器117的输出线不仅仅是各列运算器201~204,也与存储部218连接。向这些输出线输出与在现有结构(图6)中向列运算器101~104输出的值相同的值即行LLRεx,c。具体地说,向列运算器#1201输出行LLRεx,1,向列运算器#i202输出行LLRεx,i,向列运算器#j203输出行LLRεx,j,向列运算器#k204输出行LLRεx,k,向存储部218输出行LLRεx,1、εx,i、εx,j、εx,k(以下,统称为行LLRεx,c。)。
存储部218保持来自选择器117的输出即行LLRεx,c。这里将所保持的行LLRεx,c的值分别表述为ε’x,c。存储部218在利用列运算器#1201处理从选择器117向列运算器#1201输出的εx,1之后,在作为z1向行运算器#x214输入的时刻,向减法部220适当地输出所保持的行LLRε’x,1。同样,在利用列运算器#i202处理从选择器117向列运算器#i202输出的εx,i之后,在作为zi向行运算器#x214输入的时刻,存储部218适当地向减法部221输出ε’x,i。关于其它减法部223、224也是同样的。
减法部220进行从由列运算器#1201输入的合计值z1减去ε’x,1的zx,1=z1-ε’x,1的减法处理,计算列LLRzx,1。减法部221、减法部223、减法部224也进行与减法部220同样的处理,分别算出列LLRzx,i(=z1-ε’x,i)、列LLRzx,j(=z1-ε’x,j)、列LLRzx,k(=z1-ε’x,k)。
此外,与行运算器#x214连接的列运算器可以是几个,即使不是如图8那样的4个,也可以构成本实施方式。虽然减法部的设置数或其它部的处理根据连接的列运算器数而不同,但只要是本领域的技术人员,就能够容易地根据以上说明的内容而想到。
在现有的列运算器中,为了向连接的各行运算器输出不同的值,与连接的行运算器的个数对应地分别计算向各行运算器的输出值,但在本实施方式中,利用行运算器#x214将上次运算时的行LLRεx,c保持为ε’x,c,从合计值zc中减去,所以,各列运算器201~204能够向与其连接的行运算器输出同一值(只是合计值zc)。根据本实施方式,具有如下这样的效果:通过使从列运算器向行运算器的输出成为同一值,改善布线的复杂度,安装性得到提高。
另外,在利用触发器暂时积蓄并输出列运算器的输出值的情况下,在现有的列运算器中,为了向连接的各行运算器输出不同的值,需要分别设置触发器,但在本实施方式中,由于向连接的行运算器输出同一值,触发器仅为1种即可。根据本实施方式,通过减少触发器个数,可获得电路规模削减效果。
如以上那样,在本实施方式中,LDPC码的解码装置用于对利用LDPC码进行了编码的接收序列进行解码,具备与上述LDPC码的检查矩阵的列以及行分别对应设置的多个列运算器201~204和多个行运算器214。列运算器201~204输入接收序列的接收LLR,并且从行运算器214输入行LLR,计算接收序列的接收LLR与来自行运算器214的行LLR的合计值zc。另外,行运算器214保持在上次运算时获得的与行LLR或列LLR相关的运算结果,采用从列运算器201~204输入的合计值zc以及所保持的上述运算结果来计算列LLR,根据所算出的上述列LLR计算行LLR,输出至上述列运算器。这样地构成以下这样的结构,利用列运算器201~204仅计算接收LLR与来自行运算器214的行LLR的合计值zc,而不求出列LLR,针对全部行运算器输出同一值(合计值zc)。由此,能够减少列运算器与行运算器之间的布线数,缓和布线复杂度,从而提高LDPC码的解码电路的安装性。
另外,在本实施方式中,行运算器214具有:存储部218,其按照每列保持在上次运算时向列运算器201~204输出的上次运算时的行LLR;减法部220、221、223、224,其从由列运算器201~204输入的合计值zc中减去上述存储部所保持的上述上次运算时的每列的上述行LLR,算出每列的列LLR;绝对值的最小值以及准最小值的计算部115,其从由减法部220、221、223、224输出的每列的列LLR的绝对值中计算最小值与准最小值;以及运算部116、117,其根据从由绝对值的最小值以及准最小值的计算部115输出的绝对值的最小值与准最小值,算出行LLR并向列运算器输出。在现有的列运算器中,为了按照连接的各行运算器输出不同的值,与连接的行运算器的个数对应地分别算出向各行运算器的输出值,但在本实施方式中,通过构成为上述这样的结构,利用行运算器214保持行LLRεx,c并从合计值zc中减去,由此列运算器201~204能够向连接的行运算器214输出同一值,所以,根据本实施方式具有以下这样的效果:通过使从列运算器向行运算器的输出成为同一值,改善布线的复杂度,使安装性提高。
此外,在本实施方式中,不采用Sum-Product解码法,而是采用Min-sum解码法(式(8))、OffsetBP-based解码法(式(9))、NormalizedMin-sum解码法(式(10))或δ-min解码法等由Sum-Priduct解码法的近似运算构成的解码法,进行在选择器117中进行的解码处理,所以,获得能够削减运算量的效果。
实施方式2.
在上述的实施方式1中,行运算器214在存储部中保持上次运算时的行LLRεx,c,对来自列运算器201~204的输入进行减法,由此,列运算器201~204能够向连接的行运算器输出同一值,但需要在行运算器中设置存储部218。在本实施方式中示出改变了存储部设置方法的结构。
图9示出本实施方式的纠错解码装置的行运算器#x314的结构。
行运算器#x314根据奇偶检查矩阵,例如与列运算器#1201、列运算器#i202、列运算器#j203、列运算器#k204连接。此外,这些各列运算器也与行运算器#x314以外的行运算器连接,如上所述,连接关系利用奇偶检查矩阵来决定。行运算器#x314由“绝对值的最小值以及准最小值的计算部115”、“伴随于近似的运算处理部116”、“选择器117”、“存储部318”、“伴随于近似的运算处理部2319”和“减法部220、221、223、224”构成。
列运算器#1201、列运算器#i202、列运算器#j203、列运算器#k204、绝对值的最小值以及准最小值的计算部115、伴随于近似的运算处理部116、选择器117以及减法部220~224与实施方式1相同。与实施方式1的不同之处是,取代存储部218而设置存储部318以及追加伴随于近似的运算处理部2319。因此,这里说明与实施方式1不同的存储部318以及伴随于近似的运算处理部2319。
存储部318保持来自绝对值的最小值以及准最小值的计算部115的输出。即,存储部318存储由绝对值的最小值以及准最小值的计算部115算出的从减法部220、221、223、224输出的列LLRzx,1、zx,i、zx,j、zx,k的绝对值中的最小值以及准最小值。向运算处理部2319输入所存储的最小值以及准最小值,从而用于计算行LLRε’x,1、ε’x,i等。
伴随于近似的运算处理部2319根据从存储部318输出的最小值以及准最小值,算出行LLRε’x,1、ε’x,i等。作为运算方法,进行与伴随于近似的运算处理部116等同的处理。但是,伴随于近似的运算处理部2319也具有选择器117的部分功能,还具有选择所算出的ε’x,1、ε’x,i并输出至适当的减法部220的功能、基于式(11)的正负符号计算功能。
此外,与行运算器#x314连接的列运算器可以是几个,即使不是如图所示的4个,也能够构成本实施方式。虽然减法部的设置数或其它部的处理根据所连接的列运算器数而不同,但只要是本领域的技术人员,则能够容易地根据以上说明的内容而想到。
根据本实施方式,即使在向列运算器的连接数多的行运算器中,与实施方式1相比,也能够减少存储部,能够削减电路规模。
虽然需要伴随于近似的运算处理部2319的设置,但该处理部319如上所述是仅进行针对最小值或第2小的值这样的几种值的减法等的电路,电路规模小于其它运算部。
另外,根据本实施方式,虽然需要不存在于现有结构(图6)中的存储部,但在现有结构中,为了作为电路成立,在几个位置需要具有存储部。在现有结构中设置存储部的位置是列运算器、行运算器或其外部,因为结构的自由度高,所以,在图6中省略了图示。在本实施方式或其它实施方式中设置的存储部具备在现有结构中设置的存储部的一部分或者全部作用,不会大幅地有助于电路规模的增加。
如以上那样,根据本实施方式,可获得与上述实施方式1同样的效果,并且在本实施方式中,在存储部318内仅存储由绝对值的最小值以及准最小值的计算部115算出的最小值和准最小值,所以,与实施方式1相比,能够减少存储部318的存储容量,能够削减电路规模。
实施方式3.
在上述实施方式1、2中记载了与奇偶检查矩阵的列数相应地设置列运算器的结构,但在本实施方式中,设置个数少于奇偶检查矩阵的列数的列运算器,这些列运算器进行时分处理,进行全部列的处理。
图10示出本实施方式的纠错解码装置的结构。10(a)说明奇偶检查矩阵的一例以及哪个列运算器以及哪个行运算器处理该奇偶检查矩阵的列和行。在图10(b)中,作为一例示出列运算器#111与列运算器#212以及行运算器#121、行运算器#222、行运算器#323、行运算器#424、行运算器#525、行运算器#626,图示了存在于各列运算器或行运算器之间的布线,用箭头表示数据的输入输出关系。
在图10(a)的例子中示出列运算器#111以时分的方式从左开始逐列地进行第1~3列的列运算,列运算器#212以时分的方式逐列地进行第4~6列的列运算。在此情况下,如图10(b)所示,列运算器#111根据奇偶检查矩阵的要素,与行运算器#121、行运算器#222、行运算器#424、行运算器#525、行运算器#626连接。即,图3的列运算器#1至#3连接的全部行运算器和图10的列运算器#1具有布线。但如图所示,通过对列运算进行时分处理,列编号不同的列可共用从行运算器到列运算器的布线。这是因为,列运算器#1在某个单位时刻进行1列的列处理,因此,来自行运算器的输入信号也可以是1列。例如,列运算器#111和行运算器#626即使在列1、2、3的任意列的情况下也可进行数据的交换,但由列运算器#111同时处理的数据是1列,所以,能够共用布线,能够将在图10中以3条示出的布线简化为1条。
为了对列运算进行时分处理,可控制列运算器的输入数据,从各行运算器输出与此时希望处理的列对应的行LLR。即,列运算器#1402在预定的时刻进行对规定的列的列处理。下面示出行运算器的结构。
图11示出本实施方式的纠错解码装置的结构。
如图11所示,在本实施方式中,行运算器#x414还与列运算器#1402、列运算器#i403或其以外的列运算器连接。此外,各列运算器还与行运算器#x414以外的行运算器连接,如上所述,连接关系由奇偶检查矩阵决定。另外,如图11所示,行运算器#x414由“绝对值的最小值以及准最小值的计算部415”、“伴随于近似的运算处理部116”、“选择器417”、“存储部418”、“伴随于近似的运算处理部2419”和“减法部420、421”构成。
列运算器#1402如上述所说明的那样,在预定的时刻进行对规定的列的列处理。这里作为一例进行从列1到列i的列处理。可从外部控制进行针对哪个列的列运算,适当地选择行LLRεr、c和接收LLRλc,在适当的时刻向列运算器401输入。另外,在设置于外部的缓冲存储器等存储装置中以适当的顺序积蓄所输出的估计比特bc
列运算器#2403也进行与列运算器#1402同样的处理。
绝对值的最小值以及准最小值的计算部415将从减法部420以及421输入的列LLRzx,p、zx,q和在存储部418中积蓄的最小值以及准最小值作为输入,计算新的最小值以及准最小值,并输出到伴随于近似的运算处理部116或存储部418。因为列运算处理是时分处理,所以,这是用于依次处理绝对值的最小值以及准最小值的措施。这里,p或q表示利用列运算器#1402或列运算器#2403进行的列处理的列编号。即,p是1至i中的任意数,q是j至k中的任意数。
因为伴随于近似的运算处理部116的运算处理与上述的实施方式1以及2相同,所以,省略说明。
选择器417针对伴随于近似的运算处理部116的输出,计算并输出向各列运算器#c402、403的输出值(行LLRεx,c)。由于列运算进行时分处理,未必向与选择器417连接的全部列运算器#c402、403始终输出每时刻数据。选择器417进行选择,以使对与不需要输出的列运算器的连接线输出0。此外,与实施方式1、2所示的选择器117同样,选择器417针对伴随于近似的运算处理部116的输出利用式(11)计算正负的符号,然后如式(8)~(10)等中的任意式子那样计算向列运算器输出的行LLR,选择算出的行LLR并输出至适当的列运算器。可利用其它部位进行式(11)的正负的符号计算。
在存储部418中,与实施方式2同样,积蓄由绝对值的最小值以及准最小值的计算部415算出的上次运算时的最小值以及准最小值,对绝对值的最小值以及准最小值的计算部415或伴随于近似的运算处理部2419输出该积蓄的最小值以及准最小值。此时,绝对值的最小值以及准最小值的计算部415在可算出减法部420、421所采用的ε’x,p、ε’x,q的范围内,进行存储部418所存储的最小值和准最小值的更新。这是因为,减法部420或421所采用的ε’x,p或ε’x,q需要与以前由行运算器#x414输出的εx,p’或ε’x,q等值,所以当始终更新存储部418的最小值以及准最小值时,可能由于时刻的差而无法适当地算出ε’x,p或ε’x,q
伴随于近似的运算处理部2419根据从存储部418输出的最小值以及准最小值算出行LLRε’x,p、ε’x,q等。这里,p或q表示由列运算器#1402或列运算器#2403进行的列处理的列编号,计算与在此时刻进行的列处理对应的ε’x,p、ε’x,q等,向减法部420或421输出。ε’x,p、ε’x,q等的计算进行与伴随于近似的运算处理部1116等同的处理。但是,伴随于近似的运算处理部2419也具有选择器417的部分功能,还具有选择算出的ε’x,1、ε’x,i等并输出至适当的减法部220的功能、或基于式(11)的正负符号计算功能。
减法部420进行从由列运算器#1402输入的zp(=z1~zi)减去由伴随于近似的运算处理部2419输入的行LLRε’x,p的处理,计算并输出zx,p=zp-ε’x,p。此外,由于列运算进行时分处理,有时未必从列运算器#1402向行运算器#x414始终输出有效的数据。即,是这样的情况:在行运算器#x414对应的奇偶检查矩阵的行与列运算器#1402在某时刻进行列运算的列中,奇偶检查矩阵的矩阵要素为0。在此情况下,减法部420将输出值固定为规定的较大值,而不取决于输入值。因为在电路中对各数据规定比特宽度,所以,只要输出与比特幅度相应的最大值(正值)即可。通过输出最大值,在下一级的绝对值的最小值以及准最小值的计算部415中,被自动无视。
减法部421也是同样的。
此外,与行运算器#x414连接的列运算器可以是几个,即使不是如图11所示的2个,也能够构成本实施方式。虽然减法部的设置数或其它部的处理根据连接的列运算器数而不同,但只要是本领域的技术人员,就能够容易地根据以上说明的内容而想到。
根据上述的结构,可通过以时分的方式进行列运算处理,共用从行运算器向列运算器的布线,能够改善布线复杂度。
另外,通过以时分的方式进行列运算处理来减少列运算器个数,能够削减电路规模。
在上述中,采用图11说明了行运算器#x414内部的结构,但本发明的范围并非被此结构限定。例如,虽然说明了在减法部420中进行对从列运算器#1402输入的zp(=z1~zi)减去从伴随于近似的运算处理部2419输入的行LLRε’x,p的处理,但也可以是如下这样的结构。即,在伴随于近似的运算处理部2419中,只要对减法部420输出使行LLRε’x,p的正负翻转的-ε’x,p,减法部420就能够通过进行zp与-ε’x,p的相加进行同等的运算。同样的情况即使在实施方式1或实施方式2中也成立。
另外,基于式(11)的正负的符号sgx,c的计算不需要每次计算式(11),可通过保持式(12)的计算结果sync并对sync乘以sgn(zx,c)来进行该计算。另外,当将sgn(zx,c')=+1设为0、将sgn(zx,c')=-1设为1分别用1比特来表现时,sgn(zx,c')的乘法运算在逻辑“异或”的情况下成为等同的运算。同样的情况在实施方式1或实施方式2中也成立。
syn c = ( &Pi; c &prime; &Element; N ( x ) sgn ( z x , c &prime; ) ) - - - ( 12 )
如这些例子那样,实施方式所示的结构不仅是一例,可通过进行同等的运算,来构成本发明的结构。即使在此情况下,也能够获得改善布线复杂度的效果或电路规模削减的效果。
另外,作为与本实施方式类似的结构,具有对行运算处理进行时分处理的结构。对行运算处理进行时分处理的行运算器#x除了与图9(不以时分的方式进行列运算处理的情况)或图11(对列运算处理与行运算处理双方进行时分处理的情况)的结构稍微不同之外,都是相同同样的,但行运算器#x与列运算器的连接关系根据行运算器#x进行时分处理的多个行与奇偶检查矩阵的1的位置的对应关系而不同。另外,存储部的存储容量需要比图9或图11的结构大与行运算器#x进行处理的行数相应的量。但是,存储容量的增加是每一个行运算器中的增加,考虑了全部行运算器的存储容量的总和与图9或图11的结构等同。
即使在此情况下也与对列运算处理进行时分处理的情况同样,可通过共用布线来改善布线复杂度。另外,可减少行运算器个数,削减电路规模。
在本实施方式的列运算的时分处理中,只要各列运算器进行时分处理的多个列在同一行包含多个矩阵要素1,就能够大量共用布线,能够改善布线复杂度。尤其,在被称为空间结合LDPC码的LDPC码的一种中,奇偶检查矩阵是规则的,能够容易地发现如多个列在同一行中包含多个矩阵要素1这样的列的集合。换言之,能够高效地分配各列运算器进行时分处理的列,能够大量共用布线,能够改善布线复杂度。另外,即使在对行运算处理进行时分处理的情况下也是同样,空间结合LDPC码的奇偶检查矩阵可采用规则性而高效地分配各行运算器进行时分处理的行,能够大量共用布线,能够改善布线复杂度。
如以上那样,根据本实施方式,可获得与上述的实施方式1、2同样的效果,并且在本实施方式中,还设置个数少于奇偶检查矩阵的列数的列运算器,这些列运算器进行时分处理,进行全列的处理,因此,能够共用从行运算器向列运算器的布线,能够改善布线复杂度,并且能够减少列运算器个数,能够削减电路规模。

Claims (8)

1.一种纠错解码装置,其用于对利用LDPC码进行了编码的接收序列进行解码,
该纠错解码装置具备与所述LDPC码的检查矩阵的列以及行分别对应地设置的列运算器以及行运算器,
所述列运算器输入所述接收序列的接收LLR(Log-LikelihoodRatio:对数似然比)并且从所述行运算器输入行LLR,计算所述接收序列的所述接收LLR与来自所述行运算器的所述行LLR的合计值,
所述行运算器保持在上次运算时获得的与行LLR或列LLR相关的运算结果,采用从所述列运算器输入的所述合计值和所保持的所述运算结果来计算列LLR,根据算出的所述列LLR计算行LLR,并输出给所述列运算器。
2.根据权利要求1所述的纠错解码装置,其中,
所述行运算器具有:
存储部,其针对每列保持在上次运算时输出给所述列运算器的上次运算时的行LLR;
减法部,其从由所述列运算器输入的所述合计值中减去所述存储部所保持的所述上次运算时的每列的所述行LLR,计算每列的列LLR;
计算部,其从由所述减法部输出的每列的所述列LLR的绝对值中算出最小值和准最小值;
运算部,其根据从所述计算部输出的所述绝对值的最小值和准最小值计算所述行LLR,并输出给所述列运算器。
3.根据权利要求1所述的纠错解码装置,其中,
所述行运算器具有:
存储部,其针对每列保持在上次运算时算出的列LLR的绝对值的最小值和准最小值;
减法部,其从由所述列运算器输入的所述合计值中减去根据所述存储部所保持的所述上次运算时的所述列LLR的绝对值的最小值和准最小值而算出的行LLR,算出列LLR;
计算部,其从由所述减法部输出的所述列LLR的绝对值中算出最小值和准最小值,并且使所述存储部存储所算出的所述绝对值的最小值和准最小值;以及
运算部,其根据从所述计算部输出的所述绝对值的最小值和准最小值计算所述行LLR,并输出给所述列运算器。
4.根据权利要求1所述的纠错解码装置,其中,
所述列运算器按照所述LDPC码的检查矩阵的多个列中的每列进行设置,以时分的方式对每1列进行针对该多个列的处理,
所述行运算器具有:
存储部,其针对每列保持在上次运算时算出的列LLR的绝对值的最小值和准最小值;
减法部,其从由所述列运算器输入的所述合计值中减去根据所述存储部所保持的所述上次运算时的所述列LLR的绝对值的最小值和准最小值而算出的行LLR,算出列LLR;
计算部,其从由所述减法部输出的所述列LLR的绝对值与所述存储部所存储的所述列LLR的绝对值的最小值和准最小值中算出新的最小值和准最小值,并且采用该新的最小值和准最小值来更新所述存储部所保持的所述绝对值的最小值以及准最小值;以及
运算部,其根据从所述计算部输出的所述绝对值的最小值和准最小值来算出所述行LLR,并输出给所述列运算器。
5.根据权利要求2至4中任意一项所述的纠错解码装置,其中,
所述运算部根据所述绝对值的最小值和准最小值进行基于Min-sum解码法的运算处理,来计算所述行LLR。
6.根据权利要求2至4中任意一项所述的纠错解码装置,其中,
所述运算部根据所述绝对值的最小值和准最小值进行基于OffsetBP-based解码法的运算处理,来计算所述行LLR。
7.根据权利要求2至4中任意一项所述的纠错解码装置,其中,
所述运算部根据所述绝对值的最小值和准最小值进行基于NormalizedMin-sum解码法的运算处理,来计算所述行LLR。
8.根据权利要求2至4中任意一项所述的纠错解码装置,其中,
所述运算部根据所述绝对值的最小值和准最小值进行基于δ-min解码法的运算处理,来计算所述行LLR。
CN201480066943.2A 2013-12-09 2014-11-07 纠错解码装置 Active CN105814799B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2013-253952 2013-12-09
JP2013253952 2013-12-09
PCT/JP2014/079602 WO2015087643A1 (ja) 2013-12-09 2014-11-07 誤り訂正復号装置

Publications (2)

Publication Number Publication Date
CN105814799A true CN105814799A (zh) 2016-07-27
CN105814799B CN105814799B (zh) 2019-03-01

Family

ID=53370958

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480066943.2A Active CN105814799B (zh) 2013-12-09 2014-11-07 纠错解码装置

Country Status (5)

Country Link
US (1) US10103750B2 (zh)
EP (1) EP3082267A4 (zh)
JP (1) JP5971670B2 (zh)
CN (1) CN105814799B (zh)
WO (1) WO2015087643A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6605839B2 (ja) * 2015-05-08 2019-11-13 株式会社東芝 復号装置、復号方法及びプログラム
US20190326931A1 (en) * 2018-04-24 2019-10-24 Avago Technologies General Ip (Singapore) Pte. Ltd Low-density parity check decoders and methods thereof
US10826538B1 (en) 2019-06-12 2020-11-03 International Business Machines Corporation Efficient error correction of codewords encoded by binary symmetry-invariant product codes
US11159175B2 (en) * 2019-06-21 2021-10-26 Intel Corporation Non-uniform iteration-dependent min-sum scaling factors for improved performance of spatially-coupled LDPC codes
US11012099B1 (en) 2019-10-29 2021-05-18 International Business Machines Corporation Half-size data array for encoding binary symmetry-invariant product codes
US11063612B1 (en) 2020-03-02 2021-07-13 International Business Machines Corporation Parallelizing encoding of binary symmetry-invariant product codes

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101069356A (zh) * 2004-12-02 2007-11-07 三菱电机株式会社 解码装置以及通信装置
JP4341646B2 (ja) * 2006-06-14 2009-10-07 住友電気工業株式会社 復号装置
CN101931418A (zh) * 2009-06-19 2010-12-29 三菱电机株式会社 解码方法以及解码装置
JP4739086B2 (ja) * 2006-04-05 2011-08-03 三菱電機株式会社 誤り訂正復号装置および誤り訂正復号方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7174495B2 (en) 2003-12-19 2007-02-06 Emmanuel Boutillon LDPC decoder, corresponding method, system and computer program
JP3891186B2 (ja) * 2004-03-22 2007-03-14 住友電気工業株式会社 復号装置および前処理装置
US7127659B2 (en) * 2004-08-02 2006-10-24 Qualcomm Incorporated Memory efficient LDPC decoding methods and apparatus
KR100945991B1 (ko) * 2005-05-13 2010-03-09 닛본 덴끼 가부시끼가이샤 Ldpc 부호화 방식에 의한 인코더 및 디코더
CN101248583B (zh) * 2005-07-13 2012-04-18 三菱电机株式会社 通信装置以及解码方法
US8103935B2 (en) * 2005-08-10 2012-01-24 Mitsubishi Electric Corporation Test matrix generating method, encoding method, decoding method, communication apparatus, communication system, encoder and decoder
WO2007088870A1 (ja) * 2006-02-02 2007-08-09 Mitsubishi Electric Corporation 検査行列生成方法、符号化方法、復号方法、通信装置、符号化器および復号器
JP4739089B2 (ja) 2006-04-05 2011-08-03 生活協同組合コープさっぽろ 鮮度情報検出用インジケータホルダ
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
WO2009004572A1 (en) * 2007-07-04 2009-01-08 Nxp B.V. Shuffled ldpc decoding
JP2009100222A (ja) * 2007-10-16 2009-05-07 Toshiba Corp 低密度パリティ検査符号の復号装置およびその方法
JP5631846B2 (ja) * 2011-11-01 2014-11-26 株式会社東芝 半導体メモリ装置および復号方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101069356A (zh) * 2004-12-02 2007-11-07 三菱电机株式会社 解码装置以及通信装置
JP4739086B2 (ja) * 2006-04-05 2011-08-03 三菱電機株式会社 誤り訂正復号装置および誤り訂正復号方法
JP4341646B2 (ja) * 2006-06-14 2009-10-07 住友電気工業株式会社 復号装置
CN101931418A (zh) * 2009-06-19 2010-12-29 三菱电机株式会社 解码方法以及解码装置

Also Published As

Publication number Publication date
US10103750B2 (en) 2018-10-16
CN105814799B (zh) 2019-03-01
EP3082267A4 (en) 2017-08-16
JPWO2015087643A1 (ja) 2017-03-16
WO2015087643A1 (ja) 2015-06-18
EP3082267A1 (en) 2016-10-19
US20160294415A1 (en) 2016-10-06
JP5971670B2 (ja) 2016-08-17

Similar Documents

Publication Publication Date Title
CN105814799A (zh) 纠错解码装置
JP5112468B2 (ja) 誤り検出訂正回路、メモリコントローラ、および半導体メモリ装置
CN102208213B (zh) 用于闪存的纠错机制
US10536169B2 (en) Encoder and decoder for LDPC code
JP3328093B2 (ja) エラー訂正装置
CN101490963B (zh) 纠错编码方法及装置
CN107786211B (zh) 一种ira-qc-ldpc码的代数结构获取方法、编码方法和编码器
EP2916461A1 (en) Error-correction coding method and error-correction coding device
CN103325425B (zh) 存储器控制器
WO2017113507A1 (zh) 一种集合译码方法和集合译码器
CN105518996B (zh) 一种基于二进制域里德所罗门码的数据编解码方法
EP3182601B1 (en) Data processing method and system based on quasi-cyclic ldpc
EP2533450B1 (en) Method and device for data check processing
CN100544212C (zh) 高速的减少存储需求的低密度校验码解码器
CN103166648B (zh) 一种ldpc解码器及其实现方法
CN102386931A (zh) 差错检测纠正方法和半导体存储装置
CN103151078B (zh) 一种存储器检错纠错码生成方法
CN102064837B (zh) 基于fifo分段存储的qc-ldpc码部分并行译码方法
CN112688693A (zh) 一种内存多矩阵编码方法、纠错方法及相关装置
CN102045073A (zh) 一种bch码译码方法和装置
CN111313912A (zh) 一种ldpc码编码器及编码方法
CN100459438C (zh) 里德所罗门解码器的关键方程与错误值求解优化电路
CN101777922B (zh) 用于BCH译码器的高速低延时Berlekamp-Massey迭代译码电路
CN103916138B (zh) 一种钱搜索电路及基于该钱搜索电路的ecc解码装置及方法
CN110990188B (zh) 一种基于Hadamard矩阵的部分重复码的构造方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant