CN1838542A - 解码设备和方法以及程序 - Google Patents

解码设备和方法以及程序 Download PDF

Info

Publication number
CN1838542A
CN1838542A CNA200610079362XA CN200610079362A CN1838542A CN 1838542 A CN1838542 A CN 1838542A CN A200610079362X A CNA200610079362X A CN A200610079362XA CN 200610079362 A CN200610079362 A CN 200610079362A CN 1838542 A CN1838542 A CN 1838542A
Authority
CN
China
Prior art keywords
decoding
word
decoded
decoded word
repeat
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
CNA200610079362XA
Other languages
English (en)
Other versions
CN100517980C (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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Publication of CN1838542A publication Critical patent/CN1838542A/zh
Application granted granted Critical
Publication of CN100517980C publication Critical patent/CN100517980C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23BTURNING; BORING
    • B23B51/00Tools for drilling machines
    • B23B51/02Twist drills
    • 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/1191Codes on graphs other than LDPC 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/3746Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding
    • 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/45Soft decoding, i.e. using symbol reliability information
    • H03M13/451Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD]
    • H03M13/453Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD] wherein the candidate code words are obtained by an algebraic decoder, e.g. Chase decoding
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23BTURNING; BORING
    • B23B2251/00Details of tools for drilling machines
    • B23B2251/04Angles, e.g. cutting angles
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23BTURNING; BORING
    • B23B2251/00Details of tools for drilling machines
    • B23B2251/04Angles, e.g. cutting angles
    • B23B2251/043Helix angles
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23BTURNING; BORING
    • B23B2251/00Details of tools for drilling machines
    • B23B2251/08Side or plan views of cutting edges
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23BTURNING; BORING
    • B23B2251/00Details of tools for drilling machines
    • B23B2251/20Number of cutting edges
    • B23B2251/202Three cutting edges
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23BTURNING; BORING
    • B23B2251/00Details of tools for drilling machines
    • B23B2251/40Flutes, i.e. chip conveying grooves
    • B23B2251/408Spiral grooves
    • 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/13Linear codes
    • H03M13/132Algebraic geometric codes, e.g. Goppa 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/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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon 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/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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/152Bose-Chaudhuri-Hocquenghem [BCH] codes

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Mechanical Engineering (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

本发明公开了一种解码设备和方法,能够抑制解码器错误出现的概率并能获得高解码性能。ABP解码设备对角化一个奇偶校验矩阵,更新LLR值,解码该LLR值,然后将通过解码获得的解码字添加到解码字列表中。ABP解码设备以预定次数重复该解码过程作为内部重复解码。此外,随着ABP解码设备连续地为LLR值的优先级排序改变初始值,它以预定次数重复该内部重复解码作为外部重复解码。然后,ABP解码设备从重复的内部重复解码所获得的解码字列表中选择一个最优的解码字。本发明应用于错误校正***。

Description

解码设备和方法以及程序
相关申请的交叉引用
本发明包括在2005年2月7日向日本专利局提交的日本专利申请JP2005-029996所涉及的主题,其全部内容通过引用合并于此处。
技术领域
本发明涉及解码设备和方法以及程序,并且更特别地涉及一种在采用代数过程的错误校正码技术中可提高解码性能的解码设备和方法以及程序。
背景技术
作为一种代数-几何码的解码方法,例如Reed-Solomon码或者是作为Reed-Solomon码的子域部分码的BCH(Bose-Chaudhuri-Hocquenghem)码,公知的方法是利用代数属性,它在性能开销和计算开销方面都很出众。
例如,如果代码长度为n、信息长度为k、定义体GF(q)(q=pm,p:质数)并且最小距离d=n-k的Reed-Solomon码由RS(n,k)来表示,那么将硬判决接收字解码为具有最小Hamming距离的代码字的一种临界距离解码方法作为一种确保校正t个错误符号的方法已经是公知的,这里t满足t<d/2。而且,如1999年的IEEE Transactions on Information Theory第45卷,第1757-1767页中V.Curuswami,M.Sudan的“Improved decoding of Reed-Solomon andAlgebraic-Geometry codes”所公开的,通过Guruswami-Sudan(以下称为G-S列表解码)方法进行的列表解码能确保校正t个错误符号,这里满足T<nk。
作为上面描述的G-S列表解码的扩展版本,公知的使用软判决接收字的Koetter-vardy列表解码(这种列表解码以下称为K-V列表解码)包括四个过程,包括:从接收信息中对符号的可靠性值进行计算、从该可靠性值中提取二变量多项式内插条件、对二变量多项式进行内插以及通过内插多项式的因式分解来产生解码字列表。这样,K-V列表解码具有比硬判决解码更高的性能。K-V列表解码公开在,例如2001年的IEEE Transactions on Information Theory中R.Koetter,A.Vardy的“Algebraic soft-decision decoding of Reed-Solomon codes”中。还有一种通过再编码将计算开销降低到现实水平的方法也是已知的,并且公开在,例如Proceedings of ISIT 2003中R.Koetter,J.Ma,A.Vardy,A.Ahmed的“Efficient Interpolation and Factorization in Algebraic Soft-Decision Decodingof Reed-Solomon codes”中。
同时,近来更加关注作为线性码的低密度奇偶校验码(LDPC),由此可以通过使用置信传播(belief propagation)的重复解码获得接近于边际性能的高性能。低密度奇偶校验码公开于1999年的IEEE Transactions on InformationTheory中D.MacKay的“Good Error-Correcting Codes Based on Very SparseMatrices”中。
理论上已经公知,在LDPC中使用的置信传播通常只对具有低密度奇偶校验矩阵的线性码有效。同时,降低Reed-Solomon码或BCH码的奇偶校验矩阵的密度作为已知的NP-难问题,公开于1978年5月的IEEE Transactions onInformation Theory,第24卷,第384-386页Berlekamp,R.McEliece,H.vanTilborg的“On the inherent intractability of certain coding problems”中。
从前述可知,采用一种将置信传播用于Reed-Solomon码或BCH码的解码方法被认为是困难的。
然而,如在2004年的Proceedings of IEEE International Symposium onInforamtion Theory中Jing Jiang,K.R.Narayanan的“Soft Decision Decoding ofRS Codes Using Adaptive Parity Check Matrices”中所公开的,在2004年由Narayanan等人征明了使用按照接收字的可靠性执行了对角化的奇偶校验矩阵使得其中将置信传播用于Reed-Solomon码、BCH码以及其它具有密度不低的奇偶校验矩阵的线性码的解码方法可以有效应用。下面,描述了ABP(自适应置信传播)解码方法。
例如,考虑具有代码长度n为6、信息长度k为3以及编码率r为1/2,并且具有如下面的表达式(1)所给出的3×6矩阵H作为奇偶校验矩阵的线性码C:
H = 1 0 1 0 0 1 1 1 0 1 0 1 0 1 1 1 1 1 - - - ( 1 )
这里代码空间C由下述表达式(2)给出:
C={c=(c1,c2,...,c6),c1,c2,...,c6∈0,1|H·ct=0}    ......(2)
假设某个代码字经过一个信道,例如,某个代码字在BPSK(二进制移相键控)调制之后经过一个AWGN(自适应白高斯噪声)信道,然后由接收机接收为按下述表达式(3)所给出的接收字:
y=(y1,y2,...,y6)=(0.4,1.2,0.1,0.7,0.3,0.7)         ......(3)
刚才描述的这种实例的接收机中的解码设备所执行的解码处理的流程将在下面参照图1的流程图进行描述。
首先在步骤S1,解码设备搜索接收字的可靠性顺序。该解码设备通过将每个接收符号的绝对值的幅值确定为接收符号的可靠性高度,来对已接收的接收字的接收符号(上面表达式(3)的右边的项)进行排序。特别地,解码设备按可靠性升序将编号附加给接收符号,例如,如在下列表达式(4)中以圆圈围绕的数字所表示的:
     ③   ⑥   ①   ④   ②   ④
y=(0.4,1.2,0.1,0.7,0.3,0.7)         ...(4)
然后,在步骤S2,解码设备对这种排序的接收符号按照预定的规则进行重排,以便转换符号的优先级排序顺序。这一规则是预先准备的,并包括多个互不相同并且等于随后所述的外部重复次数的子规则,并且每次执行外部重复的时候,就选择一个不同的子规则。
在解码设备转换该顺序之后,在步骤S3,按照顺序对奇偶校验矩阵H执行对角化。例如,当通过对顺序的转换以可靠性升序将优先级排序应用到接收符号时,按照从与可靠性最低的符号相对应的一列开始的顺序,该解码对奇偶校验矩阵H执行对角化。
例如,当接收符号的可靠性排序例如是由上述的表达式(4)给出的,奇偶校验矩阵H中与可靠性最低的符号相对应的列是第三列,并且奇偶校验矩阵H中与可靠性第二低的符号相对应的列是第五列。而且,奇偶校验矩阵H中与可靠性第三低的符号相对应的列是第一列,并且奇偶校验矩阵H中与可靠性第四低的符号相对应的列是第四或第六列,而奇偶校验矩阵H中与可靠性最高的符号相对应的列是第二列。解码设备按照优先级排序执行奇偶校验矩阵H的对角化。
具体来说,解码设备首先针对第三列执行奇偶校验矩阵H的基本变换。更具体而言,解码设备首先对第一行和第三行进行“异或”,来获得一个新的第三行以便使第三列为“100”,从而将奇偶校验矩阵H转换为下列表达式(5):
H = 1 0 1 0 0 1 1 1 0 1 0 1 1 1 0 1 1 0 - - - ( 5 )
然后,解码设备针对第五列执行奇偶校验矩阵H的基本变换。具体来说,解码设备交换第二行和第三行,以便使第五列为“010”,从而将奇偶校验矩阵H转换为下列表达式(6):
H = 1 0 1 0 0 1 1 1 0 1 1 0 1 1 0 1 0 1 - - - ( 6 )
此后,解码设备针对第一列执行奇偶校验矩阵H的基本变换。具体来说,解码设备将第一行和第三行的“异或”值替换到第一行中,并将第二行和第三行的“异或”值替换到第二行中,以使第一列为“001”,从而将奇偶校验矩阵H转换为由下列表达式(7)所示的奇偶校验矩阵Hnew
H = 0 1 1 1 0 0 0 0 0 0 1 1 1 1 0 1 0 1 - - - ( 7 )
要注意的是,如果将要执行对角化的列与先前已进行对角化的列是线性相关的,那么解码设备就对该列保持原状并对下一排序的列进行对角化。解码设备以这种方式执行与奇偶校验矩阵H的排序数相等次数的对角化,以获得一个新的奇偶校验矩阵Hnew。然后,在步骤S4中,解码设备使用得到的奇偶校验矩阵Hnew通过置信传播来更新可靠性值。
图2是与上面的表达式(7)所示的奇偶校验矩阵Hnew相对应的Tanner图。置信传播是通过沿Tanner图的边传播消息来实现的。参考图2,可变节点11至16与矩阵(就图2来说是奇偶校验矩阵Hnew)的列相对应。校验节点21至23与矩阵(就图2来说是奇偶校验矩阵Hnew)的行相对应。
在下面的描述中,i和j是自然数,从第i个可变节点到第j个校验节点的消息由Ri,j来表示;从第j个校验节点到第i个可变节点的消息由Qi,j来表示;连接到第i个可变节点的校验节点的索引集由J(i)来表示;以及连接到第j个校验节点的可变节点的索引集由I(j)来表示。
在这个实例中,消息Ri,j和消息Qi,j的更新表达式分别由下列表达式(8)和(9)来表示:
Ri,j=2tanh-1(∏l∈I(j)\i tanh(Qi,j/2))    ...(8)
Qi,j=ri+θ∑i∈J(i)\jRi,j                 ...(9)
这里系数θ是被称为垂直步位(vertical step)阻尼因子的收敛因子,并且具有由0<θ≤1所定义的值。接收符号yj被设置为消息Qi,j的初始值,而外部信息的更新
Λx j
是按照下列的表达式(10)来执行的:
Λ i x = Σ i ∈ J ( i ) R i , j - - - ( 10 )
这样,在图1的步骤S5,解码设备按照下列的表达式(11)对每个代码符号的对数似然比(LLR)Λq进行计算:
Λ i q = r i + α 1 Λ i x - - - ( 11 )
这里系数α1是被称为自适应置信传播阻尼因子的收敛因子,并且具有由0<θ≤1所定义的值。
在解码设备计算LLR值之后,将处理前进到步骤S6,在这里搜索经计算的LLR值的可靠性顺序。特别地,解码设备将所计算的LLR值的绝对值的幅值确定为可靠性值,并且搜索可靠性值的顺序。如下面所述的,重复执行LLR值的更新,直至满足预定的条件后为止。为下一次更新(奇偶校验矩阵H的对角化)来执行搜索可靠性顺序。
然后在步骤S7,解码设备对按照上面描述的这种方式所计算出(更新)的LLR值来进行解码,以获得解码字。解码方法可以是例如硬判决解码、临界距离解码或K-V列表解码。然后在步骤S8,解码设备判断是否已满足作为预先确定的条件的内部重复解码停止条件SC1。
重复通过置信传播来更新LLR值,直至满足预先准备的重复解码停止条件SC后为止。解码设备使用置信传播所更新的LLR值的可靠性值,来再次更新LLR值。特别地,解码设备通过将作为结果的LLR值的绝对值的幅值确定为可靠性值,并按照相应的符号的可靠性值的升序对奇偶校验矩阵的列执行对角化,来通过新的置信传播更新LLR值。然后,每当解码设备更新LLR值的时候,就使用作为结果的LLR值来执行解码(重复执行解码)。这在下面被称为内部重复解码。解码设备重复内部重复解码,直至满足预先准备的重复解码停止条件SC1后为止。
特别地,如果解码设备在图1的步骤S8判定没有满足该内部重复解码停止条件SC1,那么就将处理返回到步骤S3以便从步骤S3开始重复处理。另一方面,如果解码设备在步骤S8判定已满足该内部重复解码停止条件SC1,那么就将处理前进到步骤S9。
在步骤S9,解码设备判断是否满足外部重复解码停止条件SC2。如果解码设备判定没有满足该外部重复解码停止条件SC2,那么就将处理返回到步骤S2以便从步骤S2开始重复处理。
更特别地,除了这种将接收值的可靠性值用作奇偶校验矩阵H的列的对角化优先级排序的初始值的排序方法之外,解码设备还准备了多种互不相同的排序方法。然后,解码设备使用多种排序方法串行地或并行地多次执行上述的内部重复解码(重复执行内部重复解码)。这在下面被称为外部重复解码。解码设备重复该外部重复解码直至满足预先准备的外部重复解码停止条件SC2后为止。
下面描述目标线性码是Reed-Solomon码的重复解码停止条件SC的例子。
例如,假设预先确定的重复的最大次数是N并且Λq的硬判决结果是d=(d1,d2,...,d6)。这里,硬判决结果di由下列表达式(12)来表示:
Figure A20061007936200111
在这种情况下,解码设备能够将例如,奇偶校验矩阵H和硬判决结果d的乘积的值是0(H·d=0)或者重复数t大于等于预先确定的重复的最大次数N(t≥N)(也就是满足所描述的两个条件中的至少一个)设置为重复解码停止条件SC(内部重复解码停止条件SC1或外部重复解码停止条件SC2)。
可选择地,解码设备也可将例如,成功进行了临界距离解码或者重复数t大于等于预先确定的重复的最大次数N(t≥N)(也就是满足所描述的两个条件中的至少一个)设置为重复解码停止条件SC(内部重复解码停止条件SC1或者外部解码停止条件SC2)。另外,解码设备也可以将例如,成功进行了K-V列表解码或者重复数t大于等于预先确定的重复的最大次数N(t≥N)(也就是满足所描述的两个条件中的至少一个)设置为重复解码停止条件SC(内部重复解码停止条件SC1或外部重复解码停止条件SC2)。也或者,解码设备可以例如,仅仅将重复数t大于等于预先确定的重复的最大次数N(t≥N)设置为重复解码停止条件SC(内部重复解码停止条件SC1或外部重复解码停止条件SC2)。
在执行上述这种外部重复解码之后,如果解码设备在步骤S9判定已满足该外部重复解码停止条件SC2,那么就结束解码处理。
发明内容
然而,在使用上述任意一种现有技术的自适应置信传播的方法来进行解码的时候,解码器错误,即解码设备一侧不能将其识别为错误的错误的存在具有不可忽视的可能性,从而不能获得解码设备的优异的解码性能。
希望提供一种解码设备和方法以及程序,来抑制解码器错误出现的可能性并能够获得较高的解码性能。
为了达到上述目的,根据本发明,在自适应置信传播所更新的可能性值被用于执行重复解码的情况下,解码设备保持在中间所获得的候选解码字的列表,并且最后从该列表中选择最可能的候选解码字作为解码字。
特别地,根据本发明的一个实施例,提供一种对环R上的线性码执行解码处理的解码设备,包括:重复解码装置,用于执行重复解码,其中对提供进来的代码字使用置信传播;解码字列表产生装置,用于产生并保持由重复解码装置进行重复解码所获得的解码字的列表;以及解码字选择装置,用于从解码字列表产生装置产生的解码字列表中选择一个解码字。
根据本发明的另一实施例,提供一种用于解码设备的解码方法,用于对环R上的线性码执行解码处理,包括如下步骤:执行重复解码,其中对提供进来的代码字使用置信传播;产生在重复解码步骤的处理中所获得的解码字的列表并将产生的解码字列表放置在保持部分;以及从解码字列表产生步骤的处理中所产生的解码字列表中选择一个解码字。
根据本发明的进一步实施例,提供一种程序,使计算机对环R上的线性码执行解码处理,该程序包括以下步骤:执行重复解码,其中对提供进来的代码字使用置信传播;产生在重复解码步骤的处理中所获得的解码字的列表并将产生的解码字列表放置在保持部分;以及从解码字列表产生步骤的处理中所产生的解码字列表中选择一个解码字。
在解码设备和方法以及程序中,对所提供的代码字执行使用置信传播的重复解码,并且产生和保持由重复解码所获得的解码字的列表。然后,从所产生的解码字列表中选择一个解码字。
通过该解码设备和方法以及程序,可以实现使用代数过程的错误校正码技术。特别地,能够抑制解码器错误发生的可能性,并且能够达到更高的解码性能。
本发明的上述和其它目的、特征和优点通过下面结合附图进行的描述和所附的权利要求书变得更加清楚,其中相似的部分或元件由相似的附图标记来表示。
附图说明
图1是示出传统的解码处理流程的流程图;
图2是示出与传统解码处理相对应的Tanner图的一个实例的示意图;
图3是应用本发明的解码设备的配置的一个实例的方框图;
图4是示出由图3的解码设备所执行的解码处理流程的流程图;
图5是示出将传统解码处理和图3的解码设备的解码处理的帧错误率之间进行比较的图表;
图6是示出应用本发明的错误校正***的配置的一个实例的方框图;
图7至图9是相似的视图,示出了应用本发明的错误校正***的配置的不同的实例;以及
图10是示出应用本发明的个人计算机的配置的一个实例的方框图。
具体实施方式
在详细描述本发明的优选实施例之前,先描述在所附权利要求书中列举的一些特征与下述优选实施例的特定元件之间的对应关系。然而,该描述仅仅是用于确认在权利要求书中列举的用来支持本发明的特定元件已经在对本发明实施例进行的描述中公开了。因此,即使某个在实施例的描述中列举的特定元件没有在下面的描述中作为一个特征来列举,也不表示该特定的元件不与该特征相对应。相反,即使某个特定元件作为与特征中的一个特征相对应的元件来列举,也不表示该元件不与该元件的特征之外的任何其它特征相对应。
而且,下面的描述不表示与在本发明的实施例中描述的特定元件相对应的本发明都在权利要求书中描述了。换句话说,下面的描述不否认存在着一个发明,其与本发明实施例中描述过的、但没有在权利要求书中列举一个特定元件相对应,也就是,这些描述不否认存在着一个发明,作为对权利要求后续修改的结果,可以作为分案专利申请来提交或者附加地包含在本专利申请中。
根据本发明,提供一种解码设备(例如,图3的ABP解码设备),用于对环R上的线性码执行解码处理。解码设备包括:重复解码装置(例如,图3的解码控制部分、接收字保持部分、奇偶校验矩阵对角化部分、置信传播部分、LLR计算部分、LLR可靠性顺序搜索部分以及解码部分),用于执行重复解码,其中为提供进来的代码字使用置信传播;解码字列表产生装置(例如,图3的解码字附加部分),用于产生并保持由重复解码装置重复解码而获得的解码字的列表;以及解码字选择装置(例如,图3的解码字选择部分),用于从由解码字列表产生装置所产生的解码字列表中选择一个解码字。
重复解码装置包括:保持装置(例如,图3的接收字保持部分),用于保持代码字和有关可靠性顺序的信息,其中该可靠性顺序是代码字的符号值的可靠性值的顺序;对角化装置(例如,图3的奇偶校验矩阵对角化部分),基于在该保持装置中保持的有关可靠性顺序的信息对奇偶校验矩阵进行对角化;置信传播装置(例如,图3的置信传播部分),用于使用由该对角化装置进行对角化的奇偶校验矩阵执行置信传播以更新消息;对数似然比计算装置(例如,图3的LLR计算部分),用于使用置信传播装置执行置信传播所更新的消息,来计算每个代码字符号的对数似然比;可靠性顺序搜索装置(例如,图3的LLR可靠性顺序搜索部分),用于搜索由对数似然比计算装置所计算的对数似然比的可靠性顺序,并使用对数似然比和对数似然比的可靠性顺序的信息,更新代码字和在保持装置中保持的有关可靠性顺序的信息;解码装置(例如,图3的解码部分),用于使用对数似然比计算装置所计算的对数似然比来执行解码;以及解码控制装置(例如,图3的解码控制部分),用于控制对角化装置、置信传播装置、对数似然比计算装置、可靠性顺序搜索装置和解码装置,以便分别地、按照预定次数重复奇偶校验矩阵的对角化、置信传播、对数似然比的计算、可靠性顺序的搜索和解码。
该预定次数可以具有一个预先确定的值(例如,图4的最大内部重复次数N1和最大外部重复次数N2)。
对角化装置可以优先地按照从与具有最低可靠性值的接收符号相对应奇偶校验矩阵的列开始的顺序执行对角化(例如,图4的步骤S23)。
对角化装置可按照与列相对应的接收符号的可靠性的升序,排列奇偶校验矩阵的列,根据预定的方法重排该顺序的一部分,以及以重排的顺序对奇偶校验矩阵的列执行对角化(例如,图4的步骤S22)。
对角化装置可预先准备多个不同的确定方法,用于为待执行对角化的奇偶校验矩阵的列的优先级排序确定初始值,并在每次启动优先级顺序排序的时候改变要使用的确定方法(例如,图4的步骤S22)。
解码装置可使用对数似然比计算装置所计算的对数似然比来执行硬定义解码(例如,图4的步骤S27)。
解码装置可使用有限域Fq(q=pm)代数-几何码或同构(isomorphic)码,并对作为输入而接收的多次更新所获得的可靠性值进行解码,这里p是质数(例如,图4的步骤S27)。
解码装置可接收由多次更新所获得的可靠性值作为输入,来根据Sudan算法、Grusuwami-Sudan算法或用于代数-几何码的Reed-Solomon码、BCH码或同构码的其它算法来执行硬判决列表解码(例如,图4的步骤S27)。
解码装置可接收由多次更新所获得的可靠性值作为输入,以便根据Koetter-Vardy算法或用于代数-几何码的Reed-Solomon码、BCH码或同构码的其它算法来执行冗余设置和软判决列表解码(例如,图4的步骤S27)。
解码字选择装置可对寄存在解码字列表中的解码字执行最大后验(posteriori)概率解码,以便选择一个解码字(例如,图4的步骤S35)。
根据本发明,提供一种解码设备的解码方法,用于对环R上的线性码执行解码处理。解码方法包括:重复解码步骤(例如,图4的步骤S23至S27),其中对提供进来的代码字使用置信传播来执行重复解码;解码字列表产生步骤(例如,图4的步骤S28),用于产生一个在重复解码步骤的处理中所获得的解码字的列表,并将所产生的解码字列表放置在保持部分中;以及解码字选择步骤(例如,图4的步骤S35),用于从在解码字列表产生步骤的处理中所产生的解码字列表中选择一个解码字。
另外,本发明的程序包括与根据本发明的上述解码方法相同的步骤。
现在,参考附图对本发明的优选实施例进行描述。
首先参考图3,其示出了应用本发明的解码设备的配置的一个实例。
图3所示的解码设备整体由31标记,并构成一个ABP(自适应置信传播)解码设备,它接收一个接收字作为输入并输出通过解码该输入的接收字而获得的解码字。ABP解码设备31包括:解码控制部分41、接收字保持部分42、可靠性顺序搜索部分43、顺序转换部分44、奇偶校验矩阵对角化部分45、置信传播部分46以及LLR计算部分47。ABP解码设备31还包括:LLR可靠性顺序搜索部分48、解码部分49、解码字附加部分50、内部重复次数计数部分51、外部重复次数计数部分52以及解码字选择部分53。
解码控制部分41控制ABP解码设备31的相关组件,以便执行与控制由ABP解码设备31所执行的解码处理相关的处理。接收字保持部分42从ABP解码设备31的外部获取提供进来的接收字(代码字),并临时保持所获取的接收字。此外,如果响应于可靠性顺序搜索部分43的接收符号的可靠性程度,对这种接收字的接收符号执行优先级排序,那么接收字保持部分42就按照与接收符号的相应关系保持优先级排序信息。而且,接收字保持部分42获取从LLR可靠性顺序搜索部分48提供进来的更新的LLR值以及该LLR值的可靠性排序(优先级排序)信息(更新所保持的信息)。接收字保持部分42将以这种方式保持的接收符号的优先级排序信息提供给顺序转换部分44。
可靠性顺序搜索部分43按照接收符号的绝对值幅值,对保持在接收字保持部分42中的接收字(代码字)的接收符号的可靠性进行排序。例如,可靠性顺序搜索部分43以可靠性顺序升序(从最低的绝对值开始的顺序)对接收符号应用优先级排序,以便确定随着接收符号的绝对值变得越高,可靠性变得越高。
顺序转换部分44由解码控制部分41进行控制,以便按照预定的算法对从接收字保持部分42提供进来的接收字(接收符号)的优先级排序信息进行转换,以便重排该信息。特别地,顺序转换部分44按照由解码控制部分41所选择的预先准备的多个预定方法中的一种方法,对接收字(接收符号)的优先级排序进行转换,并将通过转换而获得的信息提供给奇偶校验矩阵对角化部分45。
奇偶校验矩阵对角化部分45由解码控制部分41进行控制,以便基于由顺序转换部分44提供的转换后的接收字(接收符号)的优先级排序信息或者由接收字保持部分42提供的接收字(接收符号)的优先级排序信息,对奇偶校验矩阵H的列的执行对角化。奇偶校验矩阵对角化部分45将对角化之后的奇偶校验矩阵Hnew提供给置信传播部分46。
置信传播部分46使用从奇偶校验矩阵对角化部分45提供进来的奇偶校验矩阵Hnew来执行置信传播,以便更新消息并将更新的消息提供给LLR计算部分47。LLR计算部分47基于提供进来的消息计算LLR值,来更新LLR值。LLR计算部分47将更新的LLR值提供给LLR可靠性顺序搜索部分48。
LLR可靠性搜索部分48搜索由LLR计算部分47更新的LLR值的可靠性顺序,并将搜索出的信息(更新的LLR值和有关该LLR值的可靠性顺序信息)提供给接收字保持部分42和解码部分49。解码部分49对提供进来的LLR值进行解码,并将得到的解码字提供给解码字附加部分50。要注意的是,解码部分49的解码方法可以是,例如临界距离解码、硬判决解码、K-V列表解码或任意其它方法。
解码字附加部分50对从解码部分49提供进来的作为解码结果的解码字编制列表,并保持结果解码字列表50A(产生并保持解码字列表)。特别地,解码字附加部分50包括在其内部的例如半导体存储器或硬盘的存储介质上形成的存储区域,并将作为结果的解码字作为解码字列表(解码字列表50A)保持在该存储区域中。当从解码部分49提供新的解码字时,解码字附加部分50将该解码字附加存储在解码字列表50A中。然后,解码字附加部分50将一个表示结束处理的处理结束通知提供给内部重复次数计数部分51。
内部重复次数计数部分51在其内部具有一个计数器,它对内部重复解码的次数进行计数并保持计数值。特别地,每当从解码字附加部分50接收到处理结束通知时,该内部重复次数计数部分51就计数接收到这种通知的次数,并将作为结果的计数值(关于直到那时所执行的内部重复解码次数的信息)提供给解码控制部分41。解码控制部分41基于该计数值判断是否应当结束内部重复解码。当应当结束内部重复解码的时候,解码控制部分41控制顺序转换部分44来执行接收符号的优先级排序的转换处理,并重置内部重复次数计数部分51的计数值。此外,解码控制部分41控制外部重复次数计数部分52,以便递增外部重复次数计数部分52的计数值。当不应当结束外部重复解码的时候,解码控制部分41控制奇偶校验矩阵对角化部分45来执行奇偶校验矩阵H的对角化。
外部重复次数计数部分52在其内部具有一个计数器,它对外部重复解码的次数进行计数并保持计数值。特别地,外部重复次数计数部分52在解码控制部分41的控制下递增其计数值,以便计数外部重复解码的次数。然后,每当外部重复次数计数部分52计数的时候,它就控制解码字选择部分53来执行解码字的选择。
解码字选择部分53由外部重复次数计数部分52来控制,以便从解码字附加部分50获取解码字列表50A,并从寄存在解码字列表50A中的解码字中选择一个最优的解码字(最可能的解码字)。这时,解码字选择部分53对解码字列表50A的解码字执行例如MAP(最大A后验概率)解码,以便选择一个最优的解码字。解码字选择部分53将所选择的解码字输出到ABP解码设备31之外。
下面参考图4的流程图描述上述这种解码处理的流程。要注意的是,这里是对适当应用的特定实例给出的描述。特别地,以一个特定实例来描述如下解码处理,这里,有限域为F23,并且线性码c是具有代码长度为7、信息长度为3的Reed-Solomon码的RS(7,3)。
在描述解码处理的流程之前,描述奇偶校验矩阵H。这里值得注意的是,F23的原根(primitive root)由α来表示,并且本原多项式由下列表达式(13)来表示:
α3+α+1=0                                    ......(13)
同时,代码形式的生成多项式由下列表达式(14)来表示:
g(x):=(x+1)(x+α)(x+α2)(x+α3)                   ......(14)
在这种情况下,代码空间C的奇偶校验矩阵H由下列表达式(15)给出:
H = 1 1 1 1 1 1 1 1 α α 2 α 3 α 4 α 5 α 6 1 α 2 α 4 α 6 α 8 α 10 α 12 1 α 3 α 6 α 9 α 12 α 15 α 18 - - - ( 15 )
从表达式(15)可见,奇偶校验矩阵H是4行×7列的矩阵。
顺带地,由于有限域F23是F2的三元扩展,因此就可以在四维空间上展开所有的矩阵。特别地,如果由上述表达式(15)给出的奇偶校验矩阵H是三维展开的,那么就可以基于F2获得如下列表达式(16)所表示的12行×21列的奇偶校验矩阵Hexp
H exp = 100 100 100 100 100 100 100 010 010 010 010 010 010 010 001 001 001 001 001 001 001 100 010 101 110 111 011 001 010 101 110 111 011 001 100 001 100 010 101 110 111 011 100 101 111 001 010 110 011 010 110 011 100 101 111 001 001 010 110 011 100 101 111 100 110 001 101 011 010 111 010 111 100 110 001 101 011 001 101 011 010 111 100 110 - - - ( 16 )
在这种情况下,与奇偶校验矩阵H的情况类似,在F2上将相应的代码字展开成21位,如下列表达式(17)所示:
c=(c1,c2,c3,c4,...,c21)
 =(0,1,0,1,1,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,1)   ...(17)
假设,通过BPSK调制代码字并在AWGN信道上传输该BPSK调制的代码字,例如获得如下列表达式(18)所表示的接收字y作为LLR:
y=(-1.54,0.89,0.25,-0.17,2.49,-0.18,-1.31,-1.82,2.25,1.32,
    -2.69,0.95,-1.55,-0.34,1.26,4.08,3.28,-2.40,-1.71,-1.36,3.79)
                                                                    ...(18)
当把上面给出的这种接收字y提供给ABP解码设备31并且接收字保持部分42保持该接收字y时,开始解码处理。在解码处理开始之后,首先在步骤S21,可靠性顺序搜索部分43搜索保持在接收字保持部分42中的接收字y(也就是LLR)的接收符号的可靠性顺序。
例如,如果可靠性顺序搜索部分43对由上述表达式(18)所表示的接收字y的可靠性顺序进行搜索,以便按可靠性升序对接收符号进行排序,那么就获得了下列表达式(19):
Figure A20061007936200191
简而言之,在这种情况下,待对角化的奇偶校验矩阵Hexp(表达式(16))的列索引的顺序是按下面所给定的,这里按照从左开始的优先级排序的升序来排队:
4,6,3,14,2,12,15,7,10,20,1,13,19,8,9,18,5,11,17,21,16
在步骤S22中,遇到必要时,顺序转换部分44以这种方式转换接收符号的优先级排序的顺序(也就是,奇偶校验矩阵Hexp中待对角化的列的优先级顺序)。例如,当以可靠性升序将优先级排序应用到接收符号时,顺序转换部分44以上述顺序设置(或改变)接收符号的优先级排序。
然后在步骤S23,奇偶校验矩阵对角化部分45按照步骤S22所没置(改变)的顺序执行奇偶校验矩阵Hexp的对角化。
例如,如果奇偶校验矩阵对角化部分45按照上述接收符号的优先级排序的顺序,对由表达式(16)惭的奇偶校验矩阵Hexp的列进行对角化,那么就获得了由下列表达式(20)所表示的奇偶校验矩阵Hnew
Figure A20061007936200201
在上面的表达式(20)中,每个包括由方框表示的奇偶校验矩阵Hnew的因子的列都是应用了对角化的列。在步骤S24,置信传播部分46使用由上述表达式(20)表示的奇偶校验矩阵Hnew来执行置信传播以便更新消息。然后在步骤S25,LLR计算部分47使用更新的消息来更新外部信息,并进一步计算LLR值(更新该LLR值)。在步骤S26,LLR可靠性顺序搜索部分48搜索LLR值的可靠性顺序。由于置信传播部分46、LLR计算部分47和LLR可靠性顺序搜索部分48使用由上面给出的表达式(20)所表示的奇偶校验矩阵Hnew,来以这种方式执行与更新LLR值有关的处理,例如就能够获得由下列表达式(21)所表示的这种新的LLR值和该LLR值的可靠性排序:
Figure A20061007936200202
LLR可靠性顺序搜索部分48将该信息放置在接收字保持部分42中,并且还将该信息提供给解码部分49。在步骤S27,解码部分49对更新的新LLR值(表达式(21))执行诸如硬判决解码、临界距离解码或K-V列表解码的解码,以便获得解码字。要注意的是,解码部分49可使用任意方法作为解码方法。
在以这种方式获得解码字之后,解码字附加部分50在步骤S28将最近获得的解码字添加到解码字列表50A中。在步骤S29,内部重复次数计数部分51对作为内部重复解码的次数的内部重复数Tin进行计数(递增该计数值)。
在步骤S30,解码控制部分41判断内部重复数Tin(也就是由内部重复次数计数部分51所计数的计数值)是否大于等于一个最大内部重复次数N1(达到该最大内部重复次数N1),其中该最大内部重复次数N1是作为内部重复解码停止条件SC1而预先确定的预定阈值。
如果解码控制部分41判断该内部重复数Tin低于该最大内部重复次数N1(也就是,该内部重复数Tin没有达到该最大内部重复次数N1),那么该解码控制部分41就使处理返回到步骤S23,以便执行从步骤S23开始的处理。特别是,在这种情况下,该解码控制部分41控制奇偶校验矩阵对角化部分45。奇偶校验矩阵对角化部分45从接收字保持部分42获取最近的LLR值,以便执行奇偶校验矩阵H的对角化。
重复步骤S23到S30的处理,来执行上述内部重复解码。如果在步骤S30判定该内部重复数Tin大于等于该最大内部重复次数N1(也就是,内部重复数Tin达到最大内部重复次数N1),那么解码控制部分41使处理前进到步骤S31。
在步骤S31,内部重复次数计数部分51在解码控制部分41的控制下重置该内部重复数Tin,以便还原其初始值。在步骤S32,外部重复次数计数部分52在解码控制部分41的控制下对作为外部重复解码次数的外部重复数Tout进行计数(递增计数值)。
然后在步骤S33,解码控制部分41判断该外部重复数Tout(也就是,外部重复次数计数部分52所计数的计数值)是否大于等于一个最大外部重复次数N2(达到该最大外部重复次数N2),其中该最大外部重复次数N2是作为外部重复解码停止条件SC2而预先确定的预定阈值。
如果解码控制部分41判定该外部重复数Tout小于该最大外部重复次数N2(外部重复数Tout没有达到该最大外部重复次数N2),那么它就将处理返回到步骤S22,以便执行从步骤S22开始的处理。换句话说,在这种情况下,解码控制部分41控制顺序转换部分44。顺序转换部分44从接收字保持部分42获得最近的LLR值,并按照预定的方法对LLR值的接收符号的优先级顺序进行转换。
特别地,顺序转换部分44预先准备多个彼此不同的方法(设置顺序的方法)作为奇偶校验矩阵的对角化优先级排序的设置方法(对内部重复解码中的优先级排序设置初始值)。解码控制部分41从这些方法中选择一个尚未使用的方法,并发出一条指令来执行所选择的方法。顺序转换部分44在解码控制部分41的控制下(使用所选择的方法)对奇偶校验矩阵的对角化优先级排序进行设置(转换其顺序)。
例如,假设顺序转换部分44采用接收字的LLR值的可靠性值的升序作为内部重复解码的第一周期中的优先级排序的初始值(在第一次外部重复中由顺序转换部分44所设置的优先级排序)。这时,由上述表达式(19)所表示的接收字y中的奇偶校验矩阵的对角化优先级排序的索引按下面给出的从左开始的顺序排队:
[4,6,3,14,2,12,15],[7,10,20,1,13,19,8],[9,18,5,11,17,21,16]
相反,在第二次内部重复解码中对优先级排序设置初始值时(当顺序转换部分44在第二次外部重复解码中设置优先级排序时),顺序转换部分44采用不同于上述方法的一种方法。例如,顺序转换部分44改变上述的索引的顺序,以便执行如下的21/N2=21/3=7列的交换:
[7,10,20,1,13,19,18],[4,6,3,14,2,12,15],[9,18,5,11,17,21,16]
特别地,在这种情况下,在第一次内部重复解码中的优先级排序的初始值顺序中,在第1至第7优先级排序的接收符号和第8至第14优先级排序的接收符号之间交换优先级排序。此外,顺序转换部分44为第二次内部重复解码中的优先级排序的初始值,采用如下的另一种7位交换方法:
[9,18,5,11,17,21,16],[4,6,3,14,2,12,15],[7,10,20,1,13,19,8]
特别地,在这种情况下,第二次内部重复解码中优先级排序的初始值顺序中的优先级排序在第1至第7优先级排序的接收符号和第15至第21优先级排序的接收符号之间交换。
结果,顺序转换部分44可以在每个互相不同的内部重复解码周期中,为优先级排序产生初始值。在第一个内部重复周期中,奇偶校验矩阵对角化部分45获取由顺序转换部分44按这种方式所设置的初始值,并按照初始值的顺序执行奇偶校验矩阵的对角化。
以上述这种方式重复步骤S22至S33的处理,来执行外部重复解码。然后,如果解码控制部分41在步骤S33判定该外部重复数Tout大于等于最大外部重复次数N2(外部重复数Tout达到最大外部重复次数N2),那么处理就前进到步骤S34。
在步骤S34,外部重复次数计数部分52在解码控制部分41的控制下,重置外部重复数Tout以便还原其初始值。然后在步骤S35,解码字选择部分53执行MAP解码等,以便从解码字附加部分50所产生的解码字列表中选择一个可能是最优的解码字(最可能的解码字),并将所选择的解码字作为解码字输出到ABP解码设备31的外部。
在完成步骤S35的处理之后,解码字选择部分53结束解码处理。ABP解码设备31为每个接收的接收字执行如上所述的这种解码处理。
图5是示出对由上述传统ABP解码方法所解码的简缩Reed-Solomon码RS(7,3)的解码性能与由应用本发明的上述ABP解码方法所解码的简缩Reed-Solomon码RS(7,3)的解码性能之间进行比较的图表。
参考图5,由曲线61表示的图形表示应用传统ABP解码方法的解码性能,由曲线62表示的另一个图形表示使用应用本发明的ABP解码方法的解码性能。要注意的是,在传统ABP解码方法中,成功进行了临界距离解码作为内部重复解码停止条件SC1和SC2,并且该临界距离解码是基于更新的LLR值来执行的。然而,在应用本发明的ABP解码方法中,最大内部重复次数N1设置为5,而最大外部重复次数N2设置为1,在每一次重复中解码的解码字被保存为一个列表,并最后执行MAP解码。如图5所示,在应用本发明的ABP解码方法(曲线62)的情况下,纵轴所表示的帧错误率(FER)低于传统ABP解码方法(曲线61)情况下的帧错误率。因此,可以看出错误校正能力提高了。
如上所述,ABP解码设备31为重复解码所获得的解码字编制列表(将解码字添加到解码字列表中),并在分别重复执行了内部重复解码次数的内部重复解码和外部重复解码次数的外部重复解码之后,按照预定方法从作为结果的解码字列表中选择一个最优的解码字,其中上述内部重复解码次数和外部重复解码次数是预先设置的预定次数。因此,就可以抑制出现不被认为是解码中出现的错误的数据错误的可能性,从而实现更高的解码性能。
另外,ABP解码设备31不是在开始而是在执行重复解码之后为接收字执行MAP解码,以便减少候选解码字。因此,不仅可以降低解码处理的负荷并以较高的速度执行解码处理,而且还可以降低生产成本以及操作成本。
要注意的是,当如上所述的执行自适应置信传播来更新LLR值时,不必在所有的重复处理中执行解码或者将候选字添加到解码字列表中,而是可以部分地执行这些处理。例如,可以在内部重复解码的最后一个周期中执行解码,来将候选字添加到解码字列表中。
此外,当从作为结果的解码字列表中选择一个可能是最优的解码字的时候,可以不应用MAP解码,而应用任意的选择方法。例如,可通过这样一个过程来选择解码字,即:比较单个位(接收符号)的可靠性值以便从列表中移走一个具有不小于预定数目的、可靠性小于等于预定的阈值的位的代码字。
此外,虽然在前面的描述中,ABP解码设备31对Reed-Solomon码进行解码,但待解码的编码不限于此,而是,例如可对BCH码进行解码或采用任意一种解码方法进行解码。
现在,描述将上述这种ABP解码应用到错误校正***的方法的特定实例。图6示出了将本发明的ABP解码应用到错误校正***的一个实例。参考图6,所示的错误校正***100是一个用于电视广播等的数字信号传输和接收***,它包括编码设备101、信道102和解码设备103。
编码设备101作为一个传输设备,例如在广播站等之中,传输数字信号形式的电视信号。编码设备101包括Reed-Solomon编码部分(RS编码部分)111、交织器(interleaver)112和卷积编码部分113。
RS编码部分111使用Reed-Solomon码对输入进来的信息进行编码,并且输出结果编码。交织器112对输入进来的数字信息执行重排,并输出结果数字信息。卷积编码部分113对输入进来的数字信息执行卷积编码并输出结果码。
从编码设备101外部提供的用于传输的数字信息由编码设备101的RS编码部分111进行Reed-Solomon编码,然后提供给交织器112。交织器112对信息进行重排(交织),以便分散主要出现在作为通信线路的信道102中的突发错误(burst error)。由于Reed-Solomon编码涉及一个符号的多个位的错误校正,因此交织器112以一个符号为单位为分散突发错误执行符号交织。
用于传输的已执行交织的数字信息还要由卷积编码部分113进行卷积编码,这样就基于多个信息块顺序地确定了代码序列。例如,如果从交织器112为每个k位的信息块提供数字信息,那么具有约束长度K的卷积编码部分113就基于K个信息块将该数字信息编码成n位代码块,其中该K个信息块不仅包括当前周期提供的信息块还包括过去提供的信息块。
然后,经卷积编码的数字信息被转换为一种数据格式的数据,其中该数据可由一个未示出的通信部分在信道102上传输并发出信号。换句话说,编码设备101对提供进来的电视信号进行编码和传输(广播)。所传输的传输字通过信道102提供到解码设备103。换言之,信道102是电视信号沿其传输的有线或无线传输线路。
解码设备103形成,例如一个接收设备(数字电视接收机等),接收从广播站(编码设备101)传输的电视信号。解码设备103包括卷积解码部分121、解交织器122和ABP解码部分131。
卷积解码部分121对提供进来的输入执行卷积码的软判决解码,例如通过BCJR(Bahl、Cocke、Jelinek和Raviv)算法或SOVA(软输出维特比算法)解码,并输出作为结果的解码字。解交织器122将交织的信息返回到原始顺序的信息。ABP解码部分131与图3所示的ABP解码设备31相对应,它适用于错误校正***100,并具有基本上与ABP解码设备31相似的配置并执行与ABP解码设备31相似的处理。因此,上面给出的对ABP解码设备31的描述可以应用到对ABP解码部分131的配置和处理内容的描述上,因此,为避免冗长这里省略了对它们的详细描述。然而,ABP解码部分131通常对从解交织器122提供进来的信息(软判决解码的解交织结果)执行ABP重复解码处理,通过MAP解码等从由ABP重复解码处理产生的解码字列表中选择一个的最优的解码字,并输出所选择的解码字。
解码设备103解码所接收的电视信号。特别地,解码设备103通过未示出的通信部分接收在信道102上传输的传输字。该所接收的传输字(也就是,接收字)被提供给卷积解码部分121,这样就可以执行卷积码的软判决解码。解交织器122获取卷积解码接收字,并按照与编码设备101的交织器112所执行的交织方法相对应的方法,对信息进行解交织,以便还原交织信息的原始顺序。ABP解码部分131按照上述方法对还原了顺序的数字信息执行ABP重复解码,并在由ABP更新可靠性值之后,执行硬判决后的临界距离解码、列表解码或软判决列表解码,其中软值被原样输入。然后,ABP解码部分131将作为结果的解码字(重新产生的与编码设备101编码之前的数字信息相同的数字信息)输出到解码设备103的外部。
图6的错误校正***100中的解码设备103可按上述方式容易地执行高性能的解码处理,并能获得较高精确度的通信。此外,由于在ABP解码部分131执行MAP解码之前解码设备103执行重复解码来减少候选解码字,因此就能减少解码处理的负荷,并且可以抑制解码设备103的生产成本和操作成本。
要注意的是,虽然上面描述的错误校正***100使用Reed-Solomon码,但所使用的编码不限于此,例如可以采用BCH码或使用任意其它的编码方法。
图7示出了将本发明的ABP解码应用于另一错误校正***的另一实例。参考图7,所示的错误校正***150包括编码设备151、信道152和解码设备153,它用于诸如数字电视***的数字通信***。
编码设备151是一个与图6的编码设备101相似的设备,它具有基本上与编码设备101相似的配置,并执行与编码设备101相似的处理。特别地,编码设备151包括RS编码部分111、交织器112和卷积编码部分113。编码设备151的组件与编码设备101的组件相似,因此在这里省略它们的重复描述以避免冗余。
信道152与图6的信道102相似,是电视信号沿其传输的无线或有线的传输线路。
解码设备153包括卷积编码部分161、解交织器122、ABP解码部分131、以及交织器112。卷积解码部分161获取通过一个未示出的通信部分接收到的一个接收字(通过信道152从编码设备151传输的传输字),并使用例如BCJR算法或SOVA对接收字执行软判决解码。然后,卷积解码部分161将经软判决解码的接收字提供给解交织器122。而且,再次对由ABP解码部分131执行ABP重复解码的接收字进行交织,并且从交织器112提供到卷积解码部分161。与未示出的通信部分所提供的接收字的情况相似,ABP解码部分131还使用例如BCJR算法或SOVA,对接收字执行软判决解码,并将经解码的接收字提供给解交织器122。
解交织器122与图6的解码设备103中的操作相似,它对从卷积解码部分161提供进来的软判决解码结果进行解交织,并将解交织结果提供给ABP解码部分131。
ABP解码部分131与图6的解码设备103中的操作相似,它对从解交织器122提供进来的信息(解交织的软判决结果)执行ABP重复解码处理。然后,ABP解码部分131通过MAP解码等从ABP重复解码处理所产生的解码字列表中选择一个最优的解码字,并输出所选择的解码字。此外,ABP解码部分131将该解码字提供给交织器112。
交织器112与编码设备151中的操作相似,将从ABP解码部分131提供进来的信息(解码字)交织为预定顺序的信息。交织器112的交织模式与编码设备151中的情形相似。以这种方式交织的数字信息提供给卷积解码部分161。
如上所述,解码设备153对通过解交织器122和交织器112对经由未示出的通信部分而获得的接收字,重复执行由卷积解码部分161执行的软判决解码,以及由ABP解码部分131执行的重复解码,以便连续地降低解码处理中的解码错误可能性。要注意的是,整个解码设备153重复解码的次数可以是预先确定的,或者可以基于预定条件,例如应当执行错误校正的位置的数目来判断是否应当停止这种重复。
以这种方式,在图7的错误校正***150中,解码设备153可以容易地执行高性能的解码处理,并能够以高精确度进行通信。此外,由于在ABP解码部分131执行MAP解码之前,解码设备103通过执行重复解码减少了候选解码字,因此就能降低解码处理的负荷,并能够抑制解码设备103的生产成本和操作成本。
要注意的是,虽然上面描述的错误校正***150使用Reed-Solomon码,但所使用的编码不限于此,例如可以采用BCH码或使用任意其它的编码方法。
图8示出了将本发明的ABP解码应用于另一错误校正***的另一实例。参考图8,所示出的错误校正***200包括编码设备201、信道202和解码设备203,并用在数字记录介质记录和再现设备中,例如DVD(数字多功能光盘)唱机。
特别地,记录和再现设备(错误校正***200)通过编码处理部分(201)对从外部提供进来的数字信息进行编码,并通过未示出的记录和再现处理部分将经编码的数字信息记录在记录介质(信道202)上。此外,记录和再现设备(错误校正***200)通过该记录和再现部分对记录在记录介质(信道202)上的数字信息进行再现,通过解码处理部分(解码装置203)对再现的数字信息执行解码处理,以便获取原始数字信息,并向外输出数字信息。
编码设备201包括Reed-Solomon编码部分(RS编码部分)211-1至211-n(n是自然数),它对数字信息执行彼此不同维数的Reed-Solomon编码。
例如,来自编码设备201外部的数字信息通过RS编码部分211-1进行第1维的Reed-Solomon编码。然后,数字信息分别由RS编码部分211-2至211-n连续进行从第2维到第n维的Reed-Solomon编码。当RS编码部分211-n的编码完成时,编码设备201将经编码的数字信息提供给记录和再现处理部分(未示出)。
记录和再现处理部分对从编码设备201提供进来的信息采用诸如NRZI(不归零反转)转换(NRZI编码)的转换,并将经转换的信息记录在记录介质(信道202)上。此外,记录和再现处理部分对记录在记录介质(信道202)上的数字信息(Reed-Solomon编码的数字信息)进行再现,对再现的数字信息进行逆NRZI转换(解码),并将经解码的数字信息提供给解码设备203。
解码设备203是与编码设备201相对应的解码器,它包括n个ABP解码部分(ABP解码部分231-1至231-n),ABP解码部分对数字信息执行与不同维数有关的ABP重复解码处理。
ABP解码部分231-1至231-n分别与编码设备201的RS编码部分211-1至211-n相对应,并执行重复解码处理和选择处理,其中重复解码处理中使用了ABP,选择处理是从通过对有关维数的Reed-Solomon码进行重复解码处理而获得的解码字列表中选择一个最优的解码字。ABP解码部分231-1至231-n具有与图3所示的ABP解码设备31基本上相似的配置,并执行与ABP解码设备31基本上相似的操作。因此,解码设备203的ABP解码部分可与图6或7的ABP解码部分131的情况相似,采用图3的方框图和图4的流程图。
特别地,在解码设备203中,ABP解码部分(ABP解码部分231-1至231-n)执行如上所述的重复解码处理等。于是,如图8所示,解码设备203执行与编码设备201的操作相反的操作。特别地,在解码设备203中,ABP解码部分231-n先执行有关第n维的解码处理,然后串联连接的ABP解码部分通过连续降低维数到第n-1维、第n-2维等来执行解码处理。最后,ABP解码部分231-1执行有关第1维的解码处理。解码设备201将以这种方式还原的原始数字信息输出到记录和再现设备(错误校正***200)的外部。
具有上述配置的错误校正***200的解码设备203可以容易地执行高性能的解码处理。换句话说,作为记录和再现设备的错误校正***200能够以较高的精确度记录和再现数字信息。此外,由于在ABP解码部分231-1至231-n执行MAP解码(选择一个解码字)之前,解码设备203执行重复解码来减少候选解码字,因此就能降低解码处理的负荷,并抑制解码设备203的生产成本和操作成本。
要注意的是,虽然上面描述的错误校正***200使用Reed-Solomon码,但所使用的编码不限于此,例如可以采用BCH码或使用任意其它的编码方法。
图9示出了将本发明的ABP解码应用于又一个错误校正***的又一实例。参考图9,所示出的错误校正***250包括编码设备251、信道252和解码设备253,并用在数字记录介质记录和再现设备中,例如DVD唱机。
特别地,类似于图8所示的错误校正***200,记录和再现设备(错误校正***250)通过编码处理部分(编码设备251)对从外部提供进来的数字信息进行编码,并通过未示出的记录和再现处理部分将所编码的数字信息记录在记录介质(信道252)上。此外,记录和再现设备(错误校正***250)通过记录和再现部分对记录在记录介质(信道252)上的数字信息进行再现,通过解码处理部分(解码设备253)对再现的数字信息进行解码处理以便获得原始数字信息,并向外输出该数字信息。
编码设备251是与图8的编码设备201相似的编码设备,它具有与编码设备201相似的配置并执行相似处理。特别地,从编码设备251外部提供的数字信息经过RS编码部分211-1进行有关第1维的Reed-Solomon编码。然后,数字信息分别通过RS编码部分211-2至211-n,连续经过有关第2维到第n维的Reed-Solomon编码。当RS编码部分211-n的编码完成时,编码设备251将经编码的数字信息提供给记录和再现处理部分(未示出)。
记录和再现处理部分对从编码设备251提供进来的信息采用诸如NRZI(不归零反转)转换(NRZI编码)的转换,并将经转换的信息记录在记录介质(信道252)上。此外,记录和再现处理部分对记录在记录介质(信道252)上的数字信息(Reed-Solomon编码的数字信息)进行再现,对再现的数字信息进行逆NRZI转换(解码),并将经解码的数字信提供给解码设备253。
解码设备253是与编码设备251相对应的解码器,它包括m个串联连接的、并具有与上面参照图8描述的解码设备203相似配置的解码部分261-1至261-m,它们用于执行与解码设备203相似的解码处理。
解码部分261-1至261-m中的每一个都包括n个ABP解码部分231-1至231-n,它们分别与编码设备251的RS编码部分211-1至211-n相对应,并串联连接以便与图8的解码设备203的情况相似地对有关维数的Reed-Solomon码执行使用ABP的重复解码处理。
特别地,在解码设备253中,解码部分261-1的ABP解码部分231-1至231-n首先执行使用ABP的重复解码处理以及选择处理,该选择处理对从记录和再现处理部分(未示出)提供进来的数字信息(经由信道252提供进来的数字信息)从作为结果的解码字列表中选择一个解码字。
此后,解码部分261-1执行与编码设备251的操作相反的操作。特别地,在解码部分261-1中,ABP解码部分231-n首先执行有关第n维的解码处理,然后串联连接的ABP解码部分通过连续降低维数到第n-1维、第n-2维等来执行解码处理。最后,ABP解码部分231-1执行有关第1维的解码处理。
在解码处理结束之后,解码部分261-1将经解码的数字信息提供给解码部分261-2。解码部分261-2与解码部分261-1的情况相似,使用ABP解码部分231-1至231-n连续地一个接一个地降低维数,来执行为每一维数使用ABP的重复解码处理,并将经解码的数字信息提供给下一解码部分。解码处理以这种方式按照直至第m个解码部分261-m的顺序连续地执行。当解码部分261-m的解码处理完成时,解码设备253将经解码的数字信息输出到记录和再现设备(错误校正***250)的外部。
具有上述配置的解码设备253可以容易地执行高性能的解码处理,并且作为记录和再现设备的错误校正***250能够以较高的精确度记录并再现数字信息。此外,由于在ABP解码部分231-1至231-n执行MAP解码(解码字的选择)之前,解码设备253执行重复解码来减少侯选解码字,因此,就可以减少解码处理的负荷,并抑制解码设备253的生产成本和操作成本。
要注意的是,虽然上面描述的错误校正***250使用Reed-Solomon码,但所使用的编码不限于此,例如可以采用BCH码或使用任意其它的编码方法。
虽然上述的一系列处理可由硬件来执行,但也可以由软件来执行。在这种情况下,例如上述解码设备和错误校正***的每一个都可由图10所示的个人计算机来构成。
参考图10,个人计算机300的中央处理器(CPU)301按照存储在ROM(只读存储器)302中的程序或从存储部分313加载到RAM(随机访问存储器)303上的程序执行各种处理。CPU 301执行处理所必须的数据等还适当地存储在RAM 303中。
CPU 301、ROM 302和RAM 303通过总线304互相连接。输入/输出接口310也连接到总线304。
包括键盘、鼠标等的输入部分311,包括显示单元、扬声器等的输出部分312,由硬盘等构成的存储部分313,包括调制解调器等的通信部分314都连接到该输入/输出接口310,其中显示单元可以是CRT(阴极射线管)或LCD(液晶显示器)单元。通信部分314通过包括因特网在内的网络执行通信处理。
此外,必要时,驱动器315连接到输入/输出接口310。可移动介质321,诸如磁盘、光盘、磁光盘、半导体存储器等适当地加载到驱动器315中,并且,必要时,从该加载的可移动介质321上读取的计算机程序安装到存储部分313中。
在由软件执行上述一系列处理时,构成该软件的程序就从网络或记录介质上安装。
该记录介质例如,如图10所示,由可移动介质321构成,可移动介质321被分配以便向与设备体分离的用户提供程序,并且它可以是在其上或其中记录了程序的磁盘(包括软盘)、光盘(包括CD-ROM(只读光盘存储器)和DVD(数字多功能光盘)),或者磁光盘(包括MD(Mini Disk)(注册商标))或半导体存储器。另外,记录介质可以由ROM 302、包括在存储部分313中的硬盘等来构成,在它们中记录了程序并在该程序合并到一个设备体中的状态下将该程序分配给一个用户。
要注意的是,在当前说明书中,描述了记录在记录介质中的程序的步骤可以是但不是必须要按照上述顺序的时间序列来执行,并且这些步骤包括并行或单独执行的处理而不需要以时间序列进行处理。
此外,在当前说明书中,术语“***”用于表示由多个装置(设备)构成的整个设备。要注意的是,上面作为一个设备来描述的任意组件都可被分成多个设备。相反地,作为不同设备来描述的多个组件也可以组合成一个单个设备。此外,任何其它的装置或设备都可以自然地添加到上述设备的任意组件当中。而且,如果整个***的配置或操作实质上是相同的,那么某个设备的组件就可以包括在另一设备中。
虽然本发明的优选实施例已经使用特定术语进行了描述,但这种说明只是出于解释说明的目的,可以理解,在不背离下面的权利要求书的精神或范围的情况下可以作出改变和变化。

Claims (14)

1.一种对环R上的线性码执行解码处理的解码设备,所述解码设备包括:
重复解码装置,用于对提供的代码字使用置信传播来执行重复解码;
解码字列表产生装置,用于产生并保持由所述重复解码装置进行重复解码所获得的解码字的列表;以及
解码字选择装置,用于从所述解码字列表产生装置所产生的解码字列表中选择一个解码字。
2.如权利要求1所述的解码设备,其中所述重复解码装置包括:
保持装置,用于保持代码字以及与可靠性顺序有关的信息,其中所述可靠性顺序是代码字的符号值的可靠性值的顺序;
对角化装置,基于与在所述保持装置中保持的可靠性顺序有关的信息,对奇偶校验矩阵进行对角化;
置信传播装置,使用由所述对角化装置进行对角化的奇偶校验矩阵执行置信传播,以更新消息;
对数似然比计算装置,使用由所述置信传播装置执行置信传播所更新的消息,计算代码字的每个符号的对数似然比;
可靠性顺序搜索装置,用于搜索由所述对数似然比计算装置计算的对数似然比的可靠性顺序,并使用该对数似然比和该对数似然比的可靠性顺序的信息,更新代码字以及与保持在所述保持装置中的可靠性顺序有关的信息;
解码装置,使用由所述对数似然比计算装置所计算的对数似然比执行解码;以及
解码控制装置,用于控制所述对角化装置、置信传播装置、对数似然比计算装置、可靠性顺序搜索装置和解码装置,以便分别以预定次数重复奇偶校验矩阵的对角化、置信传播、对数似然比的计算、可靠性顺序的搜索以及解码。
3.如权利要求2所述的解码设备,其中该预定次数是预先确定的值。
4.如权利要求2所述的解码设备,其中所述对角化装置优选地按照从与具有最低可靠性值的接收符号相对应的奇偶校验矩阵的列开始的顺序执行对角化。
5.如权利要求2所述的解码设备,其中所述对角化装置按照与列相对应的接收符号的可靠性升序排列奇偶校验矩阵的列,按照预定的方法重排该顺序的一部分,并以重排的顺序执行奇偶校验矩阵的列的对角化。
6.如权利要求2所述的解码设备,其中所述对角化装置预先准备多个不同的确定方法,以用于为执行对角化的奇偶校验矩阵的列的优先级排序确定初始值,并在每次启动优先级顺序排序的时候改变要使用的确定方法。
7.如权利要求2所述的解码设备,其中所述解码装置使用由所述对数似然比计算装置所计算的对数似然比来执行硬定义解码。
8.如权利要求2所述的解码设备,其中所述解码装置使用有限域Fq(q=pm)代数-几何码或同构码,并对作为输入而接收的多次更新所获得的可靠性值进行解码,其中p是质数。
9.如权利要求8所述的解码设备,其中所述解码装置接收由多次更新所获得的可靠性值作为输入,来根据Sudan算法、Grusuwami-Sudan算法或用于代数-几何码的Reed-Solomon码、BCH码或同构码的其它算法来执行硬判决列表解码。
10.如权利要求8所述的解码设备,其中所述解码装置接收由多次更新所获得的可靠性值作为输入,来根据Sudan算法、Koetter-Vardy算法或用于代数-几何码的Reed-Solomon码、BCH码或同构码的其它算法来执行冗余设置和软判决列表解码。
11.如权利要求1所述的解码设备,其中所述解码字选择装置对寄存在解码字列表中的解码字执行最大后验概率解码,以便选择一个解码字。
12.一种用于解码设备的解码方法,该解码设备对环R上的线性码执行解码处理,该方法包括步骤:
执行重复解码,其中对提供的代码字使用置信传播;
产生在重复解码步骤的处理中所获得的解码字的列表,并将产生的解码字列表放置在保持部分中;以及
从在解码字列表产生步骤的处理中产生的解码字列表中选择一个解码字。
13.一种程序,使计算机对环R上的线性码执行解码处理,所述程序包括步骤:
执行重复解码,其中对提供的代码字使用置信传播;
产生在重复解码步骤的处理中所获得的解码字的列表,并将产生的解码字列表放置在保持部分中;以及
从在解码字列表产生步骤的处理中产生的解码字列表中选择一个解码字。
14.一种解码设备,其对环R上的线性码执行解码处理,所述解码设备包括:
重复解码装置,用于对提供的代码字使用置信传播来执行重复解码;
解码字列表产生装置,用于产生并保持由所述重复解码装置进行重复解码所获得的解码字的列表;以及
解码字选择装置,用于从所述解码字列表产生装置所产生的解码字列表中选择一个解码字。
CNB200610079362XA 2005-02-07 2006-02-07 解码设备和方法 Expired - Fee Related CN100517980C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005029996 2005-02-07
JP2005029996A JP4595574B2 (ja) 2005-02-07 2005-02-07 復号装置および方法、並びにプログラム

Publications (2)

Publication Number Publication Date
CN1838542A true CN1838542A (zh) 2006-09-27
CN100517980C CN100517980C (zh) 2009-07-22

Family

ID=36293655

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB200610079362XA Expired - Fee Related CN100517980C (zh) 2005-02-07 2006-02-07 解码设备和方法

Country Status (5)

Country Link
US (1) US7689888B2 (zh)
EP (1) EP1689085A3 (zh)
JP (1) JP4595574B2 (zh)
KR (1) KR101176433B1 (zh)
CN (1) CN100517980C (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101909209B (zh) * 2009-06-04 2012-08-08 联发科技(新加坡)私人有限公司 多媒体编译码器、使能加密熵编码器、熵译码器及其方法
CN103259545A (zh) * 2013-04-26 2013-08-21 西安理工大学 基于振荡的准循环低密度奇偶校验码置信传播译码方法
CN106416082A (zh) * 2014-03-20 2017-02-15 凯撒斯劳滕工业大学 对传输数据进行误差修正的方法和装置
CN106856103A (zh) * 2014-12-08 2017-06-16 爱思开海力士有限公司 用于与非闪存的涡轮乘积码
CN110858169A (zh) * 2018-08-22 2020-03-03 爱思开海力士有限公司 错误校正装置和包括该错误校正装置的电子装置
CN111628787A (zh) * 2020-05-25 2020-09-04 武汉高德红外股份有限公司 一种无冗余数据的卷积交织与解交织fpga实现方法和***

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070055128A (ko) * 2005-11-25 2007-05-30 삼성전자주식회사 반복 복호화 장치
TWI305087B (en) * 2006-05-25 2009-01-01 Ind Tech Res Inst Power adjusting device for a viterbi decoder
US8069397B2 (en) * 2006-07-10 2011-11-29 Broadcom Corporation Use of ECC with iterative decoding for iterative and non-iterative decoding in a read channel for a disk drive
US8028214B2 (en) * 2006-08-17 2011-09-27 Mobile Techno Corp. Low density parity check codes decoder and method thereof
JP4910708B2 (ja) * 2007-01-05 2012-04-04 ソニー株式会社 復号装置および復号方法
US8103945B2 (en) 2007-01-05 2012-01-24 Sony Corporation Decoding method and decoding apparatus as well as program
JP4862657B2 (ja) * 2007-01-05 2012-01-25 ソニー株式会社 復号方法および復号装置、並びにプログラム
JP4862658B2 (ja) * 2007-01-05 2012-01-25 ソニー株式会社 復号方法および復号装置、並びにプログラム
US7797480B2 (en) * 2007-03-29 2010-09-14 Sandisk Corporation Method for reading non-volatile storage using pre-conditioning waveforms and modified reliability metrics
US7904793B2 (en) 2007-03-29 2011-03-08 Sandisk Corporation Method for decoding data in non-volatile storage using reliability metrics based on multiple reads
US20100199142A1 (en) * 2007-04-13 2010-08-05 University College Dublin, National University Of Ireland Encoding scheme, and a decoding scheme using a series of ldpc codes based on finite inversive spaces
JP5219699B2 (ja) * 2007-08-30 2013-06-26 パナソニック株式会社 符号化装置及び復号装置
JP5057925B2 (ja) * 2007-10-18 2012-10-24 株式会社日立製作所 デジタル情報再生方法
WO2009078653A2 (en) * 2007-12-17 2009-06-25 Electronics And Telecommunications Research Institute Preprocessing apparatus and method for group-based decoding
JP4412401B2 (ja) * 2007-12-18 2010-02-10 ソニー株式会社 復号装置、復号方法、受信装置、および記憶媒体再生装置
US20090177943A1 (en) * 2008-01-09 2009-07-09 Broadcom Corporation Error correction coding using soft information and interleaving
CN101803205B (zh) * 2008-08-15 2013-12-18 Lsi公司 近码字的ram列表解码
KR101535225B1 (ko) * 2009-01-06 2015-07-09 삼성전자주식회사 디코딩 방법 및 그 방법을 이용하는 메모리 시스템 장치
US8621312B2 (en) * 2009-01-16 2013-12-31 Intel Corporation Transceiver that serves LDPC codewords for decoding including clock cycle budgeting based on block transmission length
CN102077173B (zh) 2009-04-21 2015-06-24 艾格瑞***有限责任公司 利用写入验证减轻代码的误码平层
US8464142B2 (en) 2010-04-23 2013-06-11 Lsi Corporation Error-correction decoder employing extrinsic message averaging
US8499226B2 (en) 2010-06-29 2013-07-30 Lsi Corporation Multi-mode layered decoding
US8458555B2 (en) 2010-06-30 2013-06-04 Lsi Corporation Breaking trapping sets using targeted bit adjustment
US8504900B2 (en) 2010-07-02 2013-08-06 Lsi Corporation On-line discovery and filtering of trapping sets
US8245116B2 (en) * 2011-01-14 2012-08-14 Mitsubishi Electric Research Laboratories, Inc. Method for performing soft decision decoding of Euclidean space Reed-Muller codes
JP2012151676A (ja) * 2011-01-19 2012-08-09 Jvc Kenwood Corp 復号装置および復号方法
US8397146B1 (en) * 2011-03-25 2013-03-12 The United States Of America As Represented By The Director Of The National Security Agency Device for and method of identifying minimum candidate codewords for list decoder
US8768990B2 (en) 2011-11-11 2014-07-01 Lsi Corporation Reconfigurable cyclic shifter arrangement
CN102436834A (zh) * 2011-11-14 2012-05-02 中兴通讯股份有限公司 一种读取磁盘信息的方法及装置
RU2012146685A (ru) 2012-11-01 2014-05-10 ЭлЭсАй Корпорейшн База данных наборов-ловушек для декодера на основе разреженного контроля четности
US9191256B2 (en) 2012-12-03 2015-11-17 Digital PowerRadio, LLC Systems and methods for advanced iterative decoding and channel estimation of concatenated coding systems
US9100052B2 (en) * 2013-02-01 2015-08-04 Samsung Electronics Co., Ltd. QC-LDPC convolutional codes enabling low power trellis-based decoders
US9432056B2 (en) * 2013-11-04 2016-08-30 Microsoft Technology Licensing, Llc Fast decoding based on ZigZag deconvolution for random projection code
US20150124893A1 (en) * 2013-11-04 2015-05-07 Uvic Industry Partnerships, Inc. Modulation-assisted preprocessing for non-binary ldpc decoding
US9564921B1 (en) * 2015-02-04 2017-02-07 Microsemi Storage Solutions (U.S.), Inc. Method and system for forward error correction decoding based on a revised error channel estimate
JP6265938B2 (ja) * 2015-03-31 2018-01-24 三菱電機株式会社 誤り訂正装置、光受信器および光伝送装置
US10511328B2 (en) * 2016-11-04 2019-12-17 Qualcomm Incorporated Efficient list decoding of LDPC codes
KR20180064817A (ko) * 2016-12-06 2018-06-15 삼성전자주식회사 무선 통신 시스템 및 이의 동작 방법
US10304550B1 (en) 2017-11-29 2019-05-28 Sandisk Technologies Llc Sense amplifier with negative threshold sensing for non-volatile memory
US10715182B2 (en) * 2018-07-27 2020-07-14 Innogrit Technologies Co., Ltd. Systems and methods for decoding error correcting codes with self-generated LLR
US11165443B2 (en) 2018-10-01 2021-11-02 Microchip Technology Incorporated Burst error tolerant decoder and related systems, methods, and devices
US10643695B1 (en) 2019-01-10 2020-05-05 Sandisk Technologies Llc Concurrent multi-state program verify for non-volatile memory
US11024392B1 (en) 2019-12-23 2021-06-01 Sandisk Technologies Llc Sense amplifier for bidirectional sensing of memory cells of a non-volatile memory
US12021546B2 (en) * 2020-09-03 2024-06-25 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for improved belief propagation based decoding

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3910777B2 (ja) 2000-01-14 2007-04-25 株式会社エヌ・ティ・ティ・ドコモ 復号装置
US7103818B2 (en) 2002-09-30 2006-09-05 Mitsubishi Electric Research Laboratories, Inc Transforming generalized parity check matrices for error-correcting codes
JP4534128B2 (ja) * 2004-03-05 2010-09-01 ソニー株式会社 符号化方法および装置
US7246297B2 (en) 2004-05-14 2007-07-17 Pirouz Zarrinkhat Time-invariant hybrid iterative decoders
JP3871063B2 (ja) * 2004-05-21 2007-01-24 株式会社エヌ・ティ・ティ・ドコモ 復号方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101909209B (zh) * 2009-06-04 2012-08-08 联发科技(新加坡)私人有限公司 多媒体编译码器、使能加密熵编码器、熵译码器及其方法
CN103259545A (zh) * 2013-04-26 2013-08-21 西安理工大学 基于振荡的准循环低密度奇偶校验码置信传播译码方法
CN103259545B (zh) * 2013-04-26 2017-02-15 西安理工大学 基于振荡的准循环低密度奇偶校验码置信传播译码方法
CN106416082A (zh) * 2014-03-20 2017-02-15 凯撒斯劳滕工业大学 对传输数据进行误差修正的方法和装置
CN106856103A (zh) * 2014-12-08 2017-06-16 爱思开海力士有限公司 用于与非闪存的涡轮乘积码
CN106856103B (zh) * 2014-12-08 2020-10-30 爱思开海力士有限公司 用于与非闪存的涡轮乘积码
CN110858169A (zh) * 2018-08-22 2020-03-03 爱思开海力士有限公司 错误校正装置和包括该错误校正装置的电子装置
CN110858169B (zh) * 2018-08-22 2023-03-21 爱思开海力士有限公司 错误校正装置和包括该错误校正装置的电子装置
CN111628787A (zh) * 2020-05-25 2020-09-04 武汉高德红外股份有限公司 一种无冗余数据的卷积交织与解交织fpga实现方法和***
CN111628787B (zh) * 2020-05-25 2022-03-22 武汉高德红外股份有限公司 一种无冗余数据的卷积交织与解交织fpga实现方法和***

Also Published As

Publication number Publication date
CN100517980C (zh) 2009-07-22
JP2006217442A (ja) 2006-08-17
EP1689085A2 (en) 2006-08-09
KR20060090192A (ko) 2006-08-10
JP4595574B2 (ja) 2010-12-08
EP1689085A3 (en) 2007-05-09
KR101176433B1 (ko) 2012-08-30
US20060190799A1 (en) 2006-08-24
US7689888B2 (en) 2010-03-30

Similar Documents

Publication Publication Date Title
CN1838542A (zh) 解码设备和方法以及程序
CN1698272A (zh) 解码方法、解码装置、程序、记录/再现装置与方法、和再现装置与方法
CN1113295C (zh) 错误校正编码方法及其设备
CN1830149A (zh) 用于对低密度奇偶校验码编码的方法
CN1836394A (zh) 在移动通信***中编码/解码块低密度奇偶校验码的装置和方法
CN1697359A (zh) 用于发送和接收数据的***、装置和方法
CN1639985A (zh) Ldpc码用检查矩阵生成方法及检查矩阵生成装置
CN1476674A (zh) 使用射影分析来评价和最优化纠错码
CN1153354C (zh) 纠错编码器、纠错解码器和具有纠错码的数据传输***
CN1692557A (zh) 编码设备、编码方法、编码程序、解码设备、解码方法、和解码程序
CN1526196A (zh) 缩减的软输出信息分组的选择
CN1547806A (zh) 使用结构化奇偶校验矩阵的低密度奇偶校验码的编码
CN1185796C (zh) 改进的非规则低密度奇偶校验码纠错译码方法
CN1701515A (zh) 解码方法、解码装置和程序
CN1608347A (zh) 低密度奇偶校验码用检查矩阵生成方法
CN1666420A (zh) 检查矩阵生成方法及检查矩阵生成装置
CN1494770A (zh) 适于turbo解码器的交错器
CN1558556A (zh) 非规则低密度奇偶校验码的***码设计方法及其通信***
CN1770640A (zh) 一种低密度奇偶校验码的编码器/译码器及其生成方法
CN1941635A (zh) 一种非正则低密度奇偶校验码的构造方法
CN1701516A (zh) 校验矩阵生成方法和校验矩阵生成装置
CN1274202A (zh) 交错方法、交错装置、加速编码方法以及加速编码装置
CN101047388A (zh) 纠错装置
CN1961517A (zh) 包括本地检错码的纠错编码方法、对应的解码方法、发送、接收和存储装置以及程序
CN101064591A (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: 20090722