CN1656693B - 迭代硬输入前向纠错的方法 - Google Patents

迭代硬输入前向纠错的方法 Download PDF

Info

Publication number
CN1656693B
CN1656693B CN038121557A CN03812155A CN1656693B CN 1656693 B CN1656693 B CN 1656693B CN 038121557 A CN038121557 A CN 038121557A CN 03812155 A CN03812155 A CN 03812155A CN 1656693 B CN1656693 B CN 1656693B
Authority
CN
China
Prior art keywords
syndrome
error correction
input data
calculate
data set
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.)
Expired - Fee Related
Application number
CN038121557A
Other languages
English (en)
Other versions
CN1656693A (zh
Inventor
M·考施克
C·波平加
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of CN1656693A publication Critical patent/CN1656693A/zh
Application granted granted Critical
Publication of CN1656693B publication Critical patent/CN1656693B/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/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/2948Iterative 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/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
    • 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
    • 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/2903Methods and arrangements specifically for encoding, e.g. parallel encoding of a plurality of constituent 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/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/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/2918Coding, 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 with error correction codes in three or more dimensions, e.g. 3-dimensional product code where the bits are arranged in a cube
    • 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/2921Coding, 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 wherein error correction coding involves a diagonal direction

Landscapes

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

Abstract

描述了一种用于迭代硬输入前向纠错的方法。方法包括以迭代方式对已经通过光的方式发送的硬输入数据的集合进行解码,硬输入数据集合具有信息符号集合,信息符号集合中的每个通过第一前向纠错(FEC)编码方案以及通过第二FEC编码方案进行编码。

Description

迭代硬输入前向纠错的方法
发明背景
技术领域
本发明涉及通信领域。更具体来讲,本发明涉及通信中的纠错。 
发明背景
在传统的通信网络中,前向纠错(FEC)用来保护信号处理中的发送信息。在代数分组代码(例如里德-索罗蒙代码)的情况下,冗余符号在传输符号块之前被添加到信息符号中。只要被破坏符号的数量没有超过代码的特殊构造给定的某个门限值,则接收该传输的网络单元可纠正传输误差。 
开发了迭代算法,用于其中包含表示接收符号的可靠性的模拟信息的软输入是可用的***中的解码。 
但是,软输入解码技术一般不应用于其中硬解码器输入是由一位或一字节流给定的光网络。此外,软输入解码算法对于传输误差的较低概率具有较差的性能,如光网络中的情况那样。
发明内容
本发明涉及一种对用前向纠错编码的硬输入数据集合进行解码的方法,包括:以迭代方式对已经通过光的方式发送的所述硬输入数据集合进行解码,所述硬输入数据集合具有信息符号集合,所述信息符号集合中的每个通过第一前向纠错(FEC)编码方案以及通过第二FEC编码方案进行编码;其中以迭代方式对所述硬输入数据集合进行解码包括: 按照所述第一前向纠错编码方案来计算第一校验子,通过所述第一校验子来计算第一误差模式,计算第一反向注解,并且将所述第一误差模式应用于所述硬输入数据集合;以及按照所述第二前向纠错编码方案基于所述第一反向注解来计算第二校验子,通过所述第二校验子来计算第二误差模式,并且将所述第二误差模式应用于所述硬输入数据集合。在所述方法中并行计算所述第一和第二校验子。所述方法还包括将所述第一反向注解提供给随后的解码器。本发明涉及一种对用前向纠错编码的硬输入数据集合进行解码的产品,包括:以迭代方式对已经通过光的方式发送的所述硬输入数据集合进行解码的部件,所述硬输入数据集合具有信息符号集合,所述信息符号集合中的每个通过第一前向纠错(FEC)编码方案以及通过第二FEC编码方案进行编码,其中所述以迭代方式对已经通过光的方式发送的所述硬输入数据集合进行解码的部件包括:用于按照所述第一前向纠错编码方案来计算第一校验子,通过所述第一校验子来计算第一误差模式,计算第一反向注解,并且将所述第一误差模式应用于所述硬输入数据集合的部件;以及用于按照所述第二前向纠错编码方案基于所述第一反向注解来计算第二校验子,通过所述第二校验子来计算第二误差模式,并且将所述第二误差模式应用于所述硬输入数据集合的部件。用于计算第一校验子的部件和用于计算第二校验子的部件并行计算所述第一和第二校验子。所述产品还包括随后的解码器以及用于存储所述第一反向注解的部件,所述用于存储所述第一反向注解的部件与所述用于计算所述第一反向注解的部件耦合以接收所述第一反向注解,并且与所述随后的解码器耦合以将所述第一反向注解提供给所述随后的解码器。 
附图说明
通过参照用来说明本发明的实施例的以下描述和附图,可以最透彻地了解本发明。附图中: 
图1是根据本发明的一个实施例的示范网络单元的示图。 
图2是根据本发明的一个实施例、用于对数据编码的示范流程图。 
图3A是示图,说明根据本发明的一个实施例的矩阵中的两个代码类的示范交织。 
图3B是示图,说明根据本发明的一个实施例、第三代码类到图3A的矩阵中的示范交织。 
图3C是示图,说明根据本发明的一个实施例的两个代码类的备选示范交织。 
图4是根据本发明的一个实施例的数据的解码的流程图。 
图5是根据本发明的一个实施例的网络单元的线路卡的组件的示图。 
图6A是示图,说明根据本发明的一个实施例的图5的迭代解码器505A的一个示范实施例。 
图6B是示图,说明根据本发明的一个实施例的迭代解码器/解包器和编码器/包装器509的一个示范实施例。 
图7A是示图,说明根据本发明的一个实施例、具有反向注解(backward annotation)的迭代解码器的一个示范实施例。 
图7B是示图,说明根据本发明的一个实施例、具有前向注解(forward annotation)的迭代解码器的一个示范实施例。 
附图详细说明
在以下说明中,提出了大量具体的详细资料,以便提供对本发明的透彻了解。但是要理解,即使没有这些具体详细资料也可以实施本发明。在其它情况下,众所周知的电路、结构和技术没有进行详细说明,以免使本发明显得不明显。 
图1是根据本发明的一个实施例的示范网络单元的示图。在图1中,网络单元101与网络单元103耦合。在网络单元101中,本文中稍后将更详细描述的包装/编码单元107接收数据105。数据包含信息符号的集合。一个或多个位可表示各信息符号。包装/编码单元107把开销空间添加到数据105(称作包装)。包装/编码单元107首先采用管理信息填充开销空间的部分。管理信息可包括代码同步的模式。然后,包装/编码单元107采用交织代码类的冗余符号填充数据105中的开销空间,本文稍后将更详细地进行描述。包装/编码单元107将包装数据106传递到光发射机109。在备选实施例中,单个物理单元或独立物理单元可执行包装和编码。光发射机109把包装数据106从电信号转换成光信号108。光发射机109则把光信号108从网络单元101传送到网络单元103。 
网络单元103中的光接收机111接收光信号108。光接收机111把已接收光包装数据106转换成电信号。解码单元113以迭代方式对包装数据106进行解码。解码单元113把解码包装数据108传递到解码/解包单元115。本文稍后将更详细地描述解码单元113和解码/解包单元115。解码/解包单元115还对从解码单元113接收的包装数据106进行解码。解码/解包单元115还从包装数据106中删除管理信息和开销空间。然后,解码/解包单元115输出数据105。单个物理单元或独立物理单元可执行解码和解包。 
采用交织代码类以迭代方式对光发送数据进行解码减少了在解码和解包之后输出的数据的误码率。以下所示的图表1说明对于三个示范编码方案的输入误码率(BER)对输出BER。输入BER为单一位传输误差的概率,而输出BER则为在对数据解码之后被破坏的单一位的概率。标记为“RS(255,239)”的虚线说明里德-索罗蒙编码方案的性能。标记为“简易RS”的虚线说明基于简易里德-索罗蒙的分组乘积编码方案的性能。实线表示通过两个迭代实现两个交织代码类的迭代硬输入解码的编码方案的性能。如图表1所示,实现交织代码类的迭代硬输入解码的编码方案在输入BER方面胜过其它示范编码方 案,它通常出现在光传输中。 
Figure GSB00000176656000051
图2是根据本发明的一个实施例、用于对数据编码的示范流程图。在框201,包装/编码单元107确定作为当前编码方案的编码方案。一种编码方案,前向纠错(FEC)编码算法(例如BCH编码、里德-索罗蒙编码等)以及与编码算法配合使用的参数。在一个实施例中,参数和过程的集合可预定义。在另一个实施例中,包装/编码单元107可从存储器中检索参数和编码算法。在一个备选实施例中,用户可选择参数和编码算法。在另一个实施例中,包装/编码单元107可从包装/编码单元107和/或独立存储单元上存储的不同参数和/或编码过程中选择参数和/或编码过程。 
在框203,包装/编码单元107接收数据。在框205,包装/编码单元107通过当前编码过程和当前参数来处理数据,从而产生第一代码类的码字集合(即数据以及冗余数据)。术语“代码类”表示通过某种编码过程以及参数的某个集合产生的所***字。不同的代码类 可通过相同的编码算法但不同的参数来生成。不同的代码类还可通过相同的参数但不同的编码算法来生成。不同的代码类还可通过不同的编码算法以及不同的参数集合来生成。 
在框211,包装/编码单元107确定作为当前编码方案的下一个编码方案。一个备选实施例可选择参数的另一个集合以及另一个编码算法。另一个实施例可使用当前选取的参数以及选择另一个编码算法。 
在框213,包装/编码单元107采用当前编码方案生成下一个代码类。在框215,包装/编码单元107确定编码过程是否完成。如果编码过程没有完成,则控制流向框211。如果编码过程已完成,则包装/编码单元107在框217发送编码数据。数据的符号经过编码,使得各符号为各代码类的至少一个码字的成员。 
虽然附图中的流程图表示了本发明的某些实施例执行的操作的特定顺序,但应该理解,这种顺序是示范性的(例如其它实施例可能以不同顺序执行某些操作、结合某些操作、并行执行某些操作等等)。例如,如果参数的集合被预定,则可能不执行框201和/或框211。另外,框203可在框201之前执行。在另一个实施例中,框201和框211顺序或并行执行。 
对符号编码、使得各符号为各代码类的至少一个码字的成员,可通过矩阵来说明。图3A-3C是示图,说明代码类的交织。 
图3A是示图,说明根据本发明的一个实施例的矩阵中的两个代码类的示范交织。在图3A中,包装数据301通过编码过程305来处理。编码过程305产生表示为在矩阵309中排列成行的n2个码字的集合的第一代码类。第一代码类的码字具有n1和k1个符号的分组长度。第一代码类的冗余符号在矩阵309中表示为行冗余符号311(没行n1-k1个冗余符号)。第一代码类对应矩阵309的第一维。 
矩阵309的第二维则通过编码过程306来处理。如上所述,其它实施例可通过另一个编码过程、通过另一个编码过程和参数的另一个集合等来处理矩阵309。编码过程306产生矩阵315。矩阵315的 列为第二代码类的码字。第二代码类的码字具有n2、k2个信息符号的分组长度,没码字n2-k2个冗余符号,它们表示为列冗余符号313。第二代码类包括n1个码字(即矩阵315中的n1列)。第二代码类包括由行冗余符号311和用于校正行冗余符号311的冗余符号组成的码字。 
图3B是示图,说明根据本发明的一个实施例的、第三代码类到图3A的矩阵中的示范交织。在图3B中,编码过程316产生矩阵319。编码过程319对矩阵306的第三维进行编码,从而生成具有第三代码类的矩阵319。矩阵319包括第三维冗余符号317。第三维冗余符号317对应第三代码类的码字的各对角线。 
图3C是示图,说明根据本发明的一个实施例的两个代码类的备选示范交织。图3C说明产生作为二维域(field)321的交织代码类流的编码过程105。域321包括行码字和列码字。与图3A的矩阵315不同,域321的各行中包括多个码字。在域321中,第一代码类的码字没有相对第二代码类的单个码字对齐。 
交织多个代码类提供了改进的前向纠错。虽然FEC编码方案提供对有限及已知数量的传输误差的校正,但交织多个代码类可使迭代解码能够克服FEC编码方案的这种限制。 
图4是根据本发明的一个实施例的数据的解码的流程图。在框401,网络单元接收数据。在框402,网络单元对最后一个代码类解码。在框403,网络单元对下一个代码类(即最后一个代码类之前编码的代码类)解码。在框405,网络单元确定是否已经对所有代码类进行了解码。如果还没有对所有代码类进行解码,则控制流向框403。如果已经对所有代码类进行了解码,则在框407,网络单元确定各代码类的校验子是否等于零。如果各代码类的校验子不等于零,则控制从框407流向框402。如果各代码类的校验子等于零,则在框409,网络单元从接收数据中删除冗余符号。 
图4说明交织多个代码类怎样使迭代解码能够克服当前FEC编码方案的限制。例如,假定编码过程305和306分别单独提供t1和t2传输误差的校正。如果第一代码类的码字中的误差数量超过t1, 则那个代码类通常无法被校正。由于多个代码类被交织然后再以迭代方式解码,因此第二代码类中的校正误差可能在后续迭代中实现第一代码类的校正。换言之,在第一和第二代码类的码字的交叉点上的不正确符号的校正可减少t1以下的第一代码类的码字的误差数量。 
如上所述,图4中所示的操作的顺序是示范性的。例如,由于代码类的数量是已知的,因此可以不执行框405。其它实施例可按照不同方式执行框407。当计算了不等于零的校验子时,即可设置标记。可保存所有校验子的总和。另外,另一个实施例可接受数据中的某种等级的误差。在另一个实施例中,框402和框403可并行执行。 
虽然图4所示的环境继续以迭代方式进行解码、直到已经校正数据中的所有误差为止,但迭代硬输入前向纠错的实施例可对代码类迭代预定次数。 
图5是根据本发明的一个实施例的网络单元的线路卡的组件的示图。在图5中,线路卡500包括光接收机501,接收作为光信号的包装数据。光接收机501把光信号转换成电信号。光接收机501则把电信号形式的包装数据传递到解串器503。解串器503安排包装数据用于迭代解码。然后,解串器503传递包装数据,由一系列迭代解码器505A-505F进行处理。各迭代解码器505A-505F执行至少一个对包装数据的所有代码类的解码的迭代。迭代解码器505F把包装数据传递到迭代解码器/解包器和编码器/包装器509。迭代解码器/解包器和编码器/包装器509执行至少另外一个对数据的所有代码类的解码的迭代并对数据解包。然后,迭代解码器/解包器和编码器/包装器509输出数据。 
迭代解码器/解包器和编码器/包装器509还接收待发送的数据。迭代解码器/解包器和编码器/包装器509如图1所示包装接收数据,并如前面图1-2所示对接收数据编码。然后,迭代解码器/解包器和编码器/包装器509把包装及编码数据传递到串化器511。串化器511安排包装数据用于传送。然后,串化器511把串化包装数据传递到光发射机513。光发射机513把串化包装数据从电信号转换成光信号, 并发送光信号。 
线路卡500和/或线路卡500的组件包括一个或多个机器可读媒体。机器可读媒体包括以机器(如计算机)可读形式提供(即存储和/或发送)信息的任何装置。例如,机器可读媒体包括:只读存储器(ROM);随机存取存储器(RAM);磁盘存储媒体;光存储媒体;闪速存储装置;电、光、声或其它形式的传播信号(例如载波、红外信号、数字信号等)等等。 
图5所示的实施例是通过共同耦合的迭代解码器的数量可缩放的。另外,所述实施例通过把编码器和解码器实现为单个组件来提供充分广泛的空间节省。各种实施例可按照不同方式实现迭代解码器。 
图6A是示图,说明根据本发明的一个实施例的图5的迭代解码器505A的一个示范实施例。在图6A中,迭代解码器505A用于对两个代码类解码。在图6A中,迭代解码器505A的列解码器601接收包装数据。列解码器601对接收数据的各列进行解码。在对接收数据的各列进行解码之后,列解码器601把数据传递到数据重排器603A。数据重排器603A把从列解码器601接收的数据从列方面重新排列成行方面。然后,数据重排器603A把重排数据传递到行解码器605。行解码器605把接收数据解码为矩阵的行。然后,行解码器605把数据传递到数据重排器603B。数据重排器603B把数据从行方面重排为列。然后,数据重排器603B把重排数据传递到下一个迭代解码器。 
图6B是示图,说明根据本发明的一个实施例的迭代解码器/解包器和编码器/包装器509的一个示范实施例。在图6B中,迭代解码器505F把数据传递到迭代解码器/解包器和编码器/包装器(“混合单元”)509。数据通过列解码器601A、数据重排器603A以及行解码器605A,与各迭代解码器505A-505F相似。行解码器605A把数据传递到解包器611。解包器611对数据进行解包,与前面图1所示的解包过程相似。单元509还包括包装器613。包装器613接收待发送的数据,并对数据进行包装,与前面结合图1所述的包装过程相似。包 装器613把包装数据传递到行编码器615。行编码器615采用行冗余符号填充包装器613添加的某些空间。然后,行编码器615把此数据传递到数据重排器603B。数据重排器603B把数据从行方面重排为列方面。然后,数据重排器603B把重排数据传递到列编码器607。列编码器607采用列冗余符号填充包装器613添加的其余空间。然后,列编码器607把数据从迭代解码器/解包器和编码器/包装器509中传出。 
图7A是示图,说明根据本发明的一个实施例、具有反向注解的迭代解码器的一个示范实施例。图7A所示的迭代解码器是示范的三代码类迭代解码器。图7A所示的迭代解码器包括校验子计算单元703A-703C。其它实施例可包括或多或少的校验子计算单元。误差模式计算单元709A-709C与校验子计算单元703A-703C耦合。迭代解码器505A接收具有三个代码类的数据。接收数据存储在FIFO 701A中。接收数据还被发送到校验子计算单元703A-703C。 
校验子计算单元703A计算三代码类的校验子。校验子计算单元703A把校验子传递到误差模式计算单元709A。误差模式计算单元709A计算用于纠错的误差模式,并且还计算反向注解。误差模式计算单元709A确定的校正应用于FIFO 701A中所存储的数据。所得数据存储在FIFO 701B中。所计算的反向注解从误差模式计算单元709A传递到校验子计算单元703B和703C。由于校验子计算是线性的,因此校验子计算单元703A-703C可并行计算其校验子,因而校验子计算单元703B已经计算了第二代码类的校验子。校验子计算单元703B把接收的反向注解加入它的已计算校验子。然后,校验子计算单元703B把具有反向注解的校验子传递到误差模式计算单元709B。误差模式计算单元709B对于第二代码类执行与误差模式计算单元709A相同的任务。 
误差模式计算单元709B把所计算的纠错信息应用于FIFO701B中所存储的数据。所得数据存储在FIFO 701C中。误差模式计算709B把对于第二代码类计算的反向注解传递到校验子计算单元703C。校验子计算单元703C应该已经计算了第一代码类的校验子,并且已 经把反向注解加入第一代码类。然后,校验子计算单元703C把第二代码类的反向注解加入其校验子,并把已计算校验子传递到误差模式计算单元709C。误差模式计算单元709C确定纠错信息,并把该信息应用于FIFO 701C中所存储的数据。然后,所得数据被传递到下一个迭代解码器。 
通过反向注解对交织代码类的迭代解码减少了对各代码类解码的等待时间。代码类C1的误差模式可在已经完成代码类C2的误差模式计算之后立即进行计算。 
图7B是示图,说明根据本发明的一个实施例、具有前向注解的迭代解码器的一个示范实施例。图7B所示的迭代解码器505A与图7A所示的迭代解码器505A相似,但图7B示出了缓冲器711。缓冲器711临时接纳已计算的、待发送到下一个迭代解码器的注解。其它实施例可把已计算的注解存储在多个缓冲器中、可传递定向到下一个迭代解码器的已计算注解等等。前向注解进一步减少等待时间。 
如上所述,交织代码类的迭代硬输入解码实现了对于光传输的前向纠错。 
虽然根据若干实施例对本发明进行了描述,但本领域的技术人员知道,本发明不限于所述实施例。在所附权利要求书的精神和范围之内,可通过修改和变更来实现本发明的方法和设备。因此,此说明将被视作对本发明的说明而不是限制。 

Claims (6)

1.一种对用前向纠错编码的硬输入数据集合进行解码的方法,包括:
以迭代方式对已经通过光的方式发送的所述硬输入数据集合进行解码,所述硬输入数据集合具有信息符号集合,所述信息符号集合中的每个通过第一前向纠错(FEC)编码方案以及通过第二前向纠错编码方案进行编码;
其中以迭代方式对所述硬输入数据集合进行解码包括:
按照所述第一前向纠错编码方案来计算第一校验子,通过所述第一校验子来计算第一误差模式,计算第一反向注解,并且将所述第一误差模式应用于所述硬输入数据集合;以及
按照所述第二前向纠错编码方案基于所述第一反向注解来计算第二校验子,通过所述第二校验子来计算第二误差模式,并且将所述第二误差模式应用于所述硬输入数据集合。
2.如权利要求1所述的方法,其中,并行计算所述第一和第二校验子。
3.如权利要求1所述的方法,还包括将所述第一反向注解提供给随后的解码器。
4.一种对用前向纠错编码的硬输入数据集合进行解码的产品,包括:
以迭代方式对已经通过光的方式发送的所述硬输入数据集合进行解码的部件,所述硬输入数据集合具有信息符号集合,所述信息符号集合中的每个通过第一前向纠错(FEC)编码方案以及通过第二前向纠错编码方案进行编码,
其中所述以迭代方式对已经通过光的方式发送的所述硬输入数据集合进行解码的部件包括:
用于按照所述第一前向纠错编码方案来计算第一校验子,通过所述第一校验子来计算第一误差模式,计算第一反向注解,并且将所述第一误差模式应用于所述硬输入数据集合的部件;以及
用于按照所述第二前向纠错编码方案基于所述第一反向注解来计算第二校验子,通过所述第二校验子来计算第二误差模式,并且将所述第二误差模式应用于所述硬输入数据集合的部件。
5.如权利要求4所述的产品,其中,用于计算第一校验子的部件和用于计算第二校验子的部件并行计算所述第一和第二校验子。
6.如权利要求4所述的产品,还包括随后的解码器以及用于存储所述第一反向注解的部件,所述用于存储所述第一反向注解的部件与所述用于计算所述第一反向注解的部件耦合以接收所述第一反向注解,并且与所述随后的解码器耦合以将所述第一反向注解提供给所述随后的解码器。
CN038121557A 2002-04-01 2003-03-27 迭代硬输入前向纠错的方法 Expired - Fee Related CN1656693B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/113,190 US7246294B2 (en) 2002-04-01 2002-04-01 Method for iterative hard-decision forward error correction decoding
US10/113,190 2002-04-01
PCT/US2003/009621 WO2003085842A2 (en) 2002-04-01 2003-03-27 Method for iterative hard-input forward error correction

Publications (2)

Publication Number Publication Date
CN1656693A CN1656693A (zh) 2005-08-17
CN1656693B true CN1656693B (zh) 2011-06-15

Family

ID=28453537

Family Applications (1)

Application Number Title Priority Date Filing Date
CN038121557A Expired - Fee Related CN1656693B (zh) 2002-04-01 2003-03-27 迭代硬输入前向纠错的方法

Country Status (8)

Country Link
US (1) US7246294B2 (zh)
EP (1) EP1490976A2 (zh)
JP (1) JP4152896B2 (zh)
CN (1) CN1656693B (zh)
AU (1) AU2003220572A1 (zh)
CA (1) CA2480524A1 (zh)
TW (1) TWI285310B (zh)
WO (1) WO2003085842A2 (zh)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7231575B2 (en) * 2002-04-01 2007-06-12 Intel Corporation Apparatus for iterative hard-decision forward error correction decoding
US7415658B2 (en) * 2003-09-10 2008-08-19 Intel Corporation Forward error correction mapping and de-mapping techniques
US8006161B2 (en) * 2005-10-26 2011-08-23 Samsung Electronics Co., Ltd Apparatus and method for receiving signal in a communication system using a low density parity check code
US7742407B2 (en) * 2005-11-10 2010-06-22 Scientific-Atlanta, Llc Quality of service management in a switched digital video environment
US8099756B2 (en) 2005-11-10 2012-01-17 Versteeg William C Channel changes between services with differing bandwidth in a switched digital video system
US7873760B2 (en) 2005-11-11 2011-01-18 Versteeg William C Expedited digital signal decoding
US7899046B2 (en) * 2006-07-07 2011-03-01 Ver Steeg William C Determining strategy for multicast and/or unicast transmission to correct forward errors
US7877660B2 (en) * 2006-07-07 2011-01-25 Ver Steeg William C Transmitting additional forward error correction (FEC) upon request
US7725797B2 (en) 2006-07-07 2010-05-25 Scientific-Atlanta, Llc Buffer for storing data and forward error correction (FEC)
US7774672B2 (en) 2006-07-07 2010-08-10 Scientific-Atlanta, Llc Requesting additional forward error correction
US7870465B2 (en) 2006-10-18 2011-01-11 Versteeg William C Reducing channel-change time
US8583981B2 (en) * 2006-12-29 2013-11-12 Marvell World Trade Ltd. Concatenated codes for holographic storage
US8370889B2 (en) 2007-03-28 2013-02-05 Kanthimathi Gayatri Sukumar Switched digital video client reverse channel traffic reduction
US8776160B2 (en) 2007-07-27 2014-07-08 William C. Versteeg Systems and methods of differentiated requests for network access
US8832766B2 (en) 2007-07-27 2014-09-09 William C. Versteeg Systems and methods of differentiated channel change behavior
US8065585B1 (en) * 2007-08-30 2011-11-22 L-3 Communications Corporation High data throughput turbo product encoder
US8136020B2 (en) * 2007-09-19 2012-03-13 Altera Canada Co. Forward error correction CODEC
US8176381B2 (en) * 2008-05-08 2012-05-08 Nec Laboratories America, Inc. Multidimensional turbo product codes and generalized low-density parity-check codes with component reed-solomon codes for optical transmission
US8296630B2 (en) * 2008-10-02 2012-10-23 Fujitsu Limited Multi-mode forward error correction
US8392788B2 (en) * 2009-11-24 2013-03-05 Cortina Systems, Inc. Transport network system with transparent transport and method of operation thereof
US8935595B2 (en) * 2010-03-12 2015-01-13 Lsi Corporation LDPC erasure decoding for flash memories
CN103733521A (zh) * 2011-08-24 2014-04-16 三菱电机株式会社 纠错解码装置
US9015555B2 (en) 2011-11-18 2015-04-21 Cisco Technology, Inc. System and method for multicast error recovery using sampled feedback
US8854759B2 (en) 2012-04-24 2014-10-07 International Business Machines Corporation Combined soft detection/soft decoding in tape drive storage channels
US9190076B2 (en) 2012-05-29 2015-11-17 International Business Machines Corporation Data format using an efficient reverse concatenated modulation code for magnetic tape recording
US9558782B2 (en) 2012-05-29 2017-01-31 International Business Machines Corporation Partial reverse concatenation for data storage devices using composite codes
US9178534B2 (en) 2012-05-29 2015-11-03 International Business Machines Corporation Methods for partial reverse concatenation for data storage devices using composite codes
US8856431B2 (en) 2012-08-02 2014-10-07 Lsi Corporation Mixed granularity higher-level redundancy for non-volatile memory
WO2016119120A1 (zh) * 2015-01-27 2016-08-04 华为技术有限公司 一种fec译码的装置及方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1240067A (zh) * 1996-10-09 1999-12-29 艾利森公司 用两个分组码纠错

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4564945A (en) * 1983-06-20 1986-01-14 Reference Technology, Inc. Error-correction code for digital data on video disc
US5230003A (en) 1991-02-08 1993-07-20 Ericsson-Ge Mobile Communications Holding, Inc. Decoding system for distinguishing different types of convolutionally-encoded signals
US5392299A (en) * 1992-01-15 1995-02-21 E-Systems, Inc. Triple orthogonally interleaed error correction system
US5754563A (en) * 1995-09-11 1998-05-19 Ecc Technologies, Inc. Byte-parallel system for implementing reed-solomon error-correcting codes
US5812601A (en) 1996-11-15 1998-09-22 Telefonaktiebolaget Lm Ericsson Coding for higher-level modulation
US6189123B1 (en) 1997-03-26 2001-02-13 Telefonaktiebolaget Lm Ericsson Method and apparatus for communicating a block of digital information between a sending and a receiving station
US6161209A (en) 1997-03-28 2000-12-12 Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of Industry Through The Communications Research Centre Joint detector for multiple coded digital signals
US6029264A (en) 1997-04-28 2000-02-22 The Trustees Of Princeton University System and method for error correcting a received data stream in a concatenated system
US6581178B1 (en) * 1999-02-15 2003-06-17 Nec Corporation Error correction coding/decoding method and apparatus
US6421804B1 (en) 1999-12-20 2002-07-16 Agere Systems Guardian Corp. Generating reliability values for iterative decoding of block codes
US6622277B1 (en) 2000-06-05 2003-09-16 Tyco Telecommunications(Us)Inc. Concatenated forward error correction decoder
JP3668673B2 (ja) 2000-06-09 2005-07-06 株式会社日立コミュニケーションテクノロジー エラー訂正符号の構成方法、復号方法、伝送装置、ネットワーク

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1240067A (zh) * 1996-10-09 1999-12-29 艾利森公司 用两个分组码纠错

Also Published As

Publication number Publication date
TWI285310B (en) 2007-08-11
JP4152896B2 (ja) 2008-09-17
AU2003220572A8 (en) 2003-10-20
CA2480524A1 (en) 2003-10-16
CN1656693A (zh) 2005-08-17
EP1490976A2 (en) 2004-12-29
US20030188253A1 (en) 2003-10-02
JP2005522140A (ja) 2005-07-21
WO2003085842A2 (en) 2003-10-16
AU2003220572A1 (en) 2003-10-20
US7246294B2 (en) 2007-07-17
WO2003085842A3 (en) 2003-12-31
TW200402620A (en) 2004-02-16

Similar Documents

Publication Publication Date Title
CN1656693B (zh) 迭代硬输入前向纠错的方法
US10320425B2 (en) Staircase forward error correction coding
US8719657B2 (en) Hybrid codec apparatus and method for data transferring
EP0675620B1 (en) Parallel data transmission unit using byte error correcting code
US20210234634A1 (en) Forward error correction with compression coding
US8386894B2 (en) Parallel forward error correction with syndrome recalculation
KR20060052488A (ko) 연결된 반복 및 대수 코딩
WO2007055150A1 (ja) 通信装置、送信機、受信機および誤り訂正光通信システム
EP3958485A1 (en) Data transmission method and device
KR20120091001A (ko) Ldpc 컨벌루션 코드를 사용하여 gnss 신호 데이터를 통신하는 방법 및 그 시스템
US7231575B2 (en) Apparatus for iterative hard-decision forward error correction decoding
CN103873071A (zh) 一种前向纠错编码、译码方法和装置、通信设备及***
US7978100B2 (en) Encoding and decoding methods using generalized concatenated codes (GCC)
CN1301117A (zh) ”异或”码和使用”异或”码的串联编码器/解码器
CN104135345A (zh) 一种应用于长期演进***的跨层编解码方法
CN100488057C (zh) 数字信号的优化交织
CN103227693B (zh) 增压码
Jiang et al. Analysis and implementation of FEC in 10G-EPON
CN116261066A (zh) 一种数据传输方法及相关设备
CN115706622A (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: 20110615

Termination date: 20190327