用于迭代硬判决前向纠错译码的装置

申请号 CN03812146.8 申请日 2003-03-27 公开(公告)号 CN1656692A 公开(公告)日 2005-08-17
申请人 英特尔公司; 发明人 M·考施克; C·波平加;
摘要 描述一种用于 迭代 硬判决 前向纠错译码的装置。一种方法包括,二进制接收器将光 信号 转换成 电信号 ,所述电信号具有一组信息符号和一组冗余符号,所述一组冗余符号由不同的前向纠错(FEC)编码方案生成;以及多个译码器的第一译码器与所述二进制接收器和所述多个译码器连接在一起,所述多个译码器中中的每一个译码器用于根据所述不同FEC编码方案利用所述一组冗余符号对所述一组信息符号译码。
权利要求

1.一种装置,包括:
用于将光信号转换成电信号的二进制接收器,所述电信号具有 一组信息符号和一组冗余符号,所述一组冗余符号由不同的前向纠 错(FEC)编码方案生成;以及
多个译码器,其中第一个译码器与所述二进制接收器相连,并 且所述多个译码器连接在一起,所述多个译码器中的每一个译码器 根据所述不同的FEC编码方案利用所述冗余符号组对所述一组信息 符号进行译码。
2.如权利要求1所述的装置,其特征在于:所述多个译码器以 串联方式连接在一起。
3.如权利要求1所述的装置,其特征在于:所述不同的FEC 编码方案是采用不同参数的相同FEC编码算法
4.如权利要求1所述的装置,其特征在于:所述不同的FEC 编码方案是不同的FEC编码算法。
5.如权利要求1所述的装置,其特征在于还包括与所述二进制 接收器相连、用于将所述电信号解串的解串器。
6.如权利要求1所述的装置,其特征在于还包括与所述多个译 码器之一相连的译码器/去封装器,所述单元用于根据所述不同的FEC 编码方案利用所述冗余符号组对所述一组信息符号进行译码,并去 除所述冗余符号组。
7.如权利要求1所述的装置,其特征在于还包括与所述多个译 码器之一相连的去封装器,所述去封装器用于去除所述冗余符号组。
8.如权利要求1所述的装置,其特征在于还包括与所述多个译 码器之一相连的译码器/去封装器/编码器/封装器单元,所述译码器/ 去封装器/编码器/封装器单元用于根据所述不同的FEC编码方案利用 所述冗余符号组对所述一组信息符号进行译码;去除所述冗余符号 组,接收第二组信息符号;添加开销空间和开销信息到所述冗余符 号组中;以及利用所述不同的FEC编码方案对所述一组信息符号进 行编码。
9.如权利要求8所述的装置,其特征在于还包括与所述译码器/ 去封装器/编码器/封装器单元相连的二进制发送器,所述二进制发送 器用于将从所述译码器/去封装器/编码器/封装器单元接收的电信号转 换成光信号
10.如权利要求8所述的装置,其特征在于还包括与所述译码 器/去封装器/编码器/封装器单元相连的串行化器,所述串行化器用于 将从所述译码器/去封装器/编码器/封装器单元接收的电信号串行化。
11.一种装置,包括:
用于接收光信号并将所述光信号转换成电信号的二进制接收 器;
与所述二进制接收器相连的迭代前向纠错(FEC)译码器,所 述迭代FEC译码器用于重复对具有多个交织码类的一组数据的每个 码类进行给定次数的译码;以及
与所述迭代FEC译码器相连的去封装器,所述去封装器用于从 所述一组数据中去除冗余符号和开销信息。
12.如权利要求11所述的装置,其特征在于还包括与所述去封 装器相连的封装器,用于将开销空间和开销信息添加到要从所述装 置发送的数据中。
13.如权利要求12所述的装置,其特征在于还包括与所述封装 器相连的串行化器。
14.如权利要求13所述的装置,其特征在于还包括与所述串行 化器相连的发送器。
15.如权利要求11所述的装置,其特征在于还包括与所述去封 装器相连的编码器,所述编码器用于对要从所述装置发送的数据进 行编码。
16.一种装置,包括:
第一译码器,其具有:
交替与多个数据重排序器相连的多个前向纠错(FEC)编 码方案译码器,所述多个FEC编码方案译码器中的每一个 译码器用于根据不同的FEC编码方案对数据进行译码,以 及所述多个数据重排序器中的每一个重排序器用于排列所 述数据以供所述多个FEC编码方案译码器中的下一个进行 处理;以及
与所述第一译码器相连的第二译码器。
17.如权利要求16所述的装置,其特征在于还包括与所述第二 译码器相连的去封装器,所述去封装器用于从所述数据中去除冗余 符号。
18.如权利要求16所述的装置,其特征在于:所述多个数据重 排序器中的每一个根据相应的维数排列数据。
19.如权利要求16所述的装置,其特征在于还包括与所述第一 译码器相连的二进制接收器,所述二进制接收器用于将信号从光转 换成电,所述信号具有所述一组信息符号和所述第一和第二组冗余 符号。
20.一种装置,包括:
第一译码器,其具有:
用于接收一组数据的第一缓冲器,所述一组数据包含一组 码字,
第一校正子计算单元,用于接收所述一组数据并根据第一 前向纠错(FEC)编码方案计算所述一组数据的第一 校正子,
与所述第一校正子计算单元相连的第一差错模式计算单 元,所述第一差错模式计算单元用于利用所述第一校 正子计算第一差错模式;更新所述第一缓冲器中的所 述一组数据;以及计算第一值,
与所述第一缓冲器相连的第二缓冲器,所述第二缓冲器用 于接收所述更新的一组数据,
与所述第一差错模式计算单元相连的第二校正子计算单 元,所述第二校正子计算单元用于接收所述一组数据 并根据第二前向纠错(FEC)编码方案计算所述一组 数据的第二校正子,接收所述第一值并以所述第一值 更新所述第二校正子。
与所述第二校正子计算单元和所述第二缓冲器相连的第二 差错模式计算单元,所述第二差错模式计算单元用于 计算第二差错模式并更新所述第二缓冲器中的所述一 组数据;以及
与所述第一译码器相连的第二译码器,所述第二译码器用于从 所述第一译码器接收所述一组数据。
21.如权利要求20所述的装置,其特征在于还包括与所述第一 译码器相连的二进制接收器,所述二进制接收器用于将信号从光转 换成电,所述信号具有所述一组数据。
22.如权利要求20所述的装置,其特征在于还包括与所述第二 译码器相连的去封装器,所述去封装器用于从所述一组数据中去除 冗余符号。
23.如权利要求20所述的装置,其特征在于还包括:
所述第一译码器,其又具有:
用于计算第二值的第二差错模式计算单元;
用于从所述第二缓冲器接收所述更新的一组数据的第三缓 冲器;
与所述第一和第二差错模式计算单元相连的第三校正子计 算单元,所述第三校正子计算单元用于计算第三校正 子,并以所述第二值更新所述校正子;以及
与所述第三校正子计算单元相连的第三差错模式计算单 元,所述第三差错模式计算单元用于计算所述一组数 据的第三差错模式,以更新所述第三缓冲器中的所述 一组数据。
24.如权利要求20所述的装置,其特征在于还包括与所述第一 和第二差错模式计算单元及所述第二译码器的第三和第四校正子计 算单元相连的第三缓冲器,所述第三缓冲器用于接收所述第一值和 所述第二值,并将所述第一值发送到所述第三校正子计算单元以及 将所述第二值发送到所述第四校正子计算单元。
25.如权利要求20所述的装置,其特征在于还包括:
所述第二译码器具有:
与所述第一译码器的所述第一和第二差错模式计算单元相 连的第三校正子计算单元,所述第三校正子计算单元 用于接收所述第一值和第二值;以及
与所述第一译码器的所述第一和第二差错模式计算单元相 连的第四校正子计算单元,所述第四校正子计算单元 用于接收所述第一值和第二值。
26.一种装置,包括:
二进制接收器,用于接收信号并将所述信号从光转换成电,所 述信号具有一组数据;
与所述二进制接收器相连的第一译码器,所述第一译码器用于 根据多个不同的前向纠错(FEC)编码方案对所述一组数 据进行译码;
与所述第一译码器相连的第二译码器,所述第二译码器用于根 据所述多个不同的前向纠错(FEC)编码方案对所述一组 数据进行译码;
与所述第二译码器相连的去封装器,所述去封装器用于从所述 一组数据中去除冗余符号;
用于接收第二信号的封装器,所述第二信号具有第二组数据, 所述封装器用于将开销空间和开销信息添加到所述第二组 数据中;
与所述封装器相连的编码器,所述编码器用于采用所述多个不 同的FEC编码方案对所述第二组数据进行编码;以及
与所述编码器相连的二进制发送器,所述二进制发送器用于将 所述第二信号从电转换成光。
27.如权利要求26所述的装置,其特征在于:所述第一和第二 译码器各包括交替与多个数据重排序器相连的多个FEC编码方案译 码器,所述FEC编码方案译码器中的每一个译码器根据所述多个不 同FEC编码方案之一对所述一组数据进行译码;以及所述多个数据 重排序器用于排列所述一组数据。
28.如权利要求26所述的装置,其特征在于:所述第一和第二 译码器各包括:
第一缓冲器;
第一校正子计算单元;
与所述第一校正子装置和所述第一缓冲器相连的第一差错模式 计算单元;
与所述第一缓冲器相连的第二缓冲器;
与所述第一差错模式计算单元相连的第二校正子计算单元;以 及
与所述第二校正子装置和所述第二缓冲器相连的第二差错模式 计算单元。
29.如权利要求28所述的装置,其特征在于:所述第一译码器 的所述第一和第二差错模式计算单元与所述第二译码器的所述第一 和第二校正子计算单元相连。
30.如权利要求28所述的装置,其特征在于:所述第一和第二 差错模式计算单元与第三缓冲器相连,所述第三缓冲器与所述第二 译码器的所述第一和第二校正子计算单元相连。
31.如权利要求26所述的装置,其特征在于还包括与所述二进 制发送器和所述编码器相连的串行化器,所述串行化器用于将所述 第二组数据串行化。
32.如权利要求26所述的装置,其特征在于还包括与所述二进 制发送器和所述第一译码器相连的解串器,所述解串器用于对所述 第二组数据进行解串处理。
33.一种系统,包括:
第一网元,其又具有:
将开销空间和开销信息添加到一组数据中的封装器;
与所述封装器相连的编码器,所述编码器用于根据多个不同 的前向纠错(FEC)方案对所述一组数据进行编码;
与所述编码器相连的二进制发送器,所述二进制发送器用于 将所述一组数据从电信号转换成光信号;以及
与所述第一网元相连的第二网元,所述第二网元具有:
用于将所述一组数据从光信号转换成电信号的二进制接收 器;
与所述二进制接收器相连的第一译码器,所述第一译码器 用于根据所述多个不同的FEC编码方案对所述一组数 据进行译码;
与所述第一译码器相连的第二译码器,所述第二译码器用 于根据所述多个不同的FEC编码方案对所述一组数据 进行译码;以及
与所述第二译码器相连的去封装器,所述去封装器用于从 所述一组数据中去除开销空间、开销信息以及冗余符 号。
34.如权利要求33所述的系统,其特征在于还包括:
第一网元具有:
第三译码器,用于根据所述多个不同的FEC编码方案对第 二组数据进行译码;以及
与所述第三译码器相连的第四译码器,所述第四译码器根据 所述多个不同的FEC编码方案对所述第二组数据进行 译码。
35.如权利要求33所述的系统,其特征在于还包括:
第二网元具有:
将开销空间和开销信息添加到第二组数据中的第二封装 器;
与所述第二封装器相连的第二编码器,所述第二编码器用 于根据所述多个不同的前向纠错(FEC)方案对所述 第二组数据进行编码;以及
与所述第二编码器相连的第二二进制发送器,所述第二二 进制发送器将所述第二组数据从第二电信号转换成第 二光信号。

说明书全文

发明领域

本发明涉及通信领域。更具体地来说,本发明涉及通信中的纠 错技术。

发明背景

在通信网络中,前向纠错(FEC)用于保护传送的信息免受在 传输系统中传输时发生的损害。在代数码(例如,里德所罗码) 的情况中,在传输信息符号块之前,在符号中添加了冗余符号。只 要被破坏的符号数量不超过该码的特殊构造所给定的某个阈值,则 接收该传输的网元可以校正传输差错。
代数编码的一个替代方案是迭代编码。迭代编码算法是为在表 示传输信息流接收符号可靠性的标量信息可用的情况下校正传输信 息流而开发的。这些迭代编码算法还称为软判决算法。
但是,软判决编码技术常常不适用于光网络,其中高传输速率 干扰生成接收符号可靠性信息的能。再者,软判决编码算法对校 正后比特误码概率低的传输信息流(此情况出现在光网络中)往往 具有相对较差的性能。
附图简介
参考以下说明以及用于图示本发明实施例的附图,可以更好地 理解本发明。附图中:
图1A是根据本发明一个实施例的示范性网元的示意图;
图1B说明根据本发明一个实施例的输入比特误码率(BERi) 与输出比特误码率(BERo)关系的图表,其中三个示范性编码方案 在传输示范信号时在其中添加了25%的FEC相关开销;
图2说明根据本发明一个实施例对数据进行编码的示范流程图
图3A是说明根据本发明一个实施例,一个矩阵中两个码类的示 范性交织的示意图;
图3B是说明根据本发明一个实施例,第三码类交织到图3A所 示矩阵中的示范性交织的示意图;
图3C是说明根据本发明一个实施例,两个码类的备选示范性交 织的示意图;
图4是根据本发明一个实施例对数据进行译码的流程图;
图5是说明根据本发明一个实施例的网元的线路卡的部件示意 图;
图6A是说明根据本发明一个实施例,图5的迭代译码器505A 的示范实施例的示意图;
图6B是说明根据本发明一个实施例,迭代译码器/去封装器 (dewraper)和编码器/封装器(wrapper)509的示范实施例的示意 图;
图7是说明根据本发明一个实施例,利用后向注释(backward annotation)的迭代译码器的示意图;
图8是说明根据本发明一个实施例,利用前向注释(forward annotation)的迭代译码器的示意图。
发明的详细说明
在如下说明中,阐述了许多具体细节,以便透彻地理解本发明。 但应理解,本发明还可以在不具有这些特定细节的情况下实施。在 其它实例中,熟知的电路、结构和技术未详细说明,以使本发明足 够清楚。
图1A是根据本发明一个实施例的示范性网元的示意图。在图1 中,网元101与网元103相连。封装/编码单元107(下文将进行更 详细的说明)在网元101接收数据105。该数据包含一组信息符号。 一个或多个比特可以表示每个信息符号。封装/编码单元107将开销 空间添加到数据105中(称为封装)。封装/编码单元107最初以管 理信息填充该开销空间。该管理信息可以包括用于码同步的图案。 封装/编码单元107然后以从数据105的信息符号派生出的冗余符号 填充数据105的剩余开销空间。冗余符号是交织码类的成员,对此 将在下文予以详细说明。封装/编码单元107将封装的数据106传递 到光发送器109。光发送器109将封装的数据106从电信号转换成光 信号108。光发送器109然后将光信号108从网元101传送到网元 103。在本发明的一个实施例中,封装/编码单元107和光发送器109 是分离的单元。在本发明的替代实施例中,封装/编码单元107和光 发送器109是一个单元。
网元103中的光接收器111接收光信号108。光接收器111将光 信号108转换成电信号,即接收的封装数据110,并将接收的封装数 据110传递给多码类迭代译码单元113。如果封装的数据未受损害, 则接收的封装数据110与封装数据106相同。为了进行说明,假定 接收的封装数据110是带有损伤的封装数据106。
多码类迭代译码单元113处理含有添加的冗余符号的接收封装 数据110,以生成经处理的封装数据112。多码类迭代译码单元113 将该经处理的封装数据112传递给去封装单元115。下文将对多码类 迭代译码单元113和去封装单元115予以详细说明。
去封装单元115从经处理的封装数据112中去除管理信息和先 前携带冗余符号的开销空间。去封装单元115然后输出数据117,与 原始数据105相比,除数据117中含有不可校正差错星座(error constellation)的那些位置以外完全相同。原始数据105与输出数据117 之间的差异称为输出误码率。本发明的不同实施例可以不同方式实 现光接收器111、多码类迭代译码单元113及去封装单元115。光接 收器111、多码类迭代译码单元113和去封装单元115可以是一个装 置;光接收器111和多码类迭代译码单元113也可以是与去封装单 元115分离的一个单元;或者,多码类迭代译码单元113和去封装 单元115也可以是与光接收器111分离的一个装置。
对以光信号方式传输的具有交织码类的数据应用硬判决FEC可 降低输出比特误码率。
图1B说明根据本发明一个实施例的输入比特误码率(BERi) 与输出比特误码率(BERo)关系,其中的三个示范性编码方案在传 输示范信号时在其中添加了25%的FEC相关开销。BERi是单比特传 输误码的概率,而BERo是在根据平均白高斯噪声模型对数据进行译 码之后单个比特被破坏的概率。标记为“RS(255,205)”的点划线表 示单级里德所罗门编码方案的性能。标记为“简单积译码(simple product decoding)”的虚线表示利用优化码参数的简单的基于里德 所罗门的块积编码方案(block product coding scheme)的性能。实线 表示使用两次迭代对两个交织码类执行迭代硬判决译码的编码方案 的性能。如图B1所示,在光传输中通常出现的输入BER的情况下, 对交织码类执行迭代硬判决译码的编码方案性能优于其它示范编码 方案。
图2说明根据本发明一个实施例对数据进行编码的示范流程图。 在方框201中选择编码方案。选择编码方案包括选择要采用哪个前 向纠错(FEC)编码程序(例如BCH编码、里德所罗门编码等)以 及选择要配合该编码算法使用的参数。在本发明一个实施例中,预 定义了一组参数和程序。在本发明的替代实施例中,参数和编码程 序是从存储器中检索出来的;用户选择参数和编码程序;编码程序 是随机地从一组编码算法中选择的,每种编码算法具有一组预定义 的参数,随机地从一组预定义参数中选择要配合预定编码程序使用 的一组参数;所述参数和/或编码程序是从存储在封装/编码单元和/或 单独的存储单元等上的不同参数和/或编码程序中选择的。
在方框203中接收数据。在方框205中,利用所选择的编码方 案处理数据,以生成第一码类的一组码字(即,附有冗余数据的数 据)。术语码类指利用某个编码程序和某组参数生成的所有码字。 虽然在本发明一个实施例中,不同的码类由相同的编码程序采用不 同的参数生成,但是在本发明的替代实施例中,不同的码类由相同 的参数和不同的编码算法或不同的编码算法和不同的参数组生成。
在方框211中,选择一个不同的编码方案。该不同的编码方案 至少在一个方面不同于先前选择的编码方案(例如参数不同、编码 算法不同等)。
在方框213中,通过对在方框205中处理的编码数据应用选定 的编码方案生成下一个码类。在方框215中判断编码是否完成。如 果编码未完成,则控制流程返回到方框211。如果编码完成,则控制 流程转到方框217。
在方框217中传输编码数据。对数据符号进行编码,以便每个 符号成为每个码类的至少一个码字的成员。
虽然图中的流程图显示了由本发明某些实施例执行的操作的特 定次序,但应理解,这种次序是示例性的(例如,本发明的替代实 施例可以不同的次序来执行某些操作,合并某些操作,并行执行某 些操作等)。例如,如果参数组是预定的,则可以不执行方框201 和/或方框211的操作。此外,方框203可以在方框201之前执行。 在本发明的另一个实施例中,方框201和方框211可依次执行或并 行执行。
对符号进行编码,以便每个符号成为每个码类的至少一个码字 的成员,每个码类可以用一个矩阵表示。图3A-3C是说明码类交织 的示意图。
图3A是说明根据本发明一个实施例,一个矩阵中两个码类的示 范性交织的示意图。在图3A中,由编码程序305对封装的数据301 进行处理。编码程序305生成第一码类,表示为在矩阵309中按行 排列的一组k2个码字。第一码类的每个码字包含n1个符号,其中k1 个符号是要保护的信息符号。第一码类的冗余符号在矩阵309中表 示为行冗余符号311(每行n1-k1个冗余符号)。第一码类对应于矩 阵309的第一维。
随后由编码程序306处理矩阵309的第二维。如上所述,本发 明的替代实施例可以采用另一个编码程序、另一个编码程序和另一 组参数等来处理矩阵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说明编码程序105生成一个形式为二维域321的 交织码类流。域321包括行码字和列码字。不同于图3A的矩阵315, 域321在每行包含多个码字。在域321中,第一码类的码字并不与 第二码类的单个码字对齐。
将多码类交织提供了改进的前向纠错。每种单一的FEC编码方 案对传输差错分布(如每个码字的固定差错限制)有严格的约束。 将多码类交织可使迭代译码普遍地克服FEC编码方案的局限,从而 显著改善性能,对平均白高斯噪声(AWGN)模型的情况尤其突出。
图4是根据本发明一个实施例对数据进行译码的流程图。在方 框401中接收数据。在方框402中处理最后一个码类(即在传输网 元上编码的最后一个码类)。在方框403中,处理下一个码类(即 传输网元上对最后一个码类编码之前进行编码的码类)。在方框405 中,判断是否已经将所有码类译码。如果尚未将所有码类译码,则 控制流程返回到方框403。如果已将所有码类译码,则控制流程返回 到方框407。
在方框407中,判断在处理所有码类的同时是否校正了任何差 错。如果校正了任何差错,则控制流程从方框407返回到方框402。 如果没有其它差错被校正,则在方框409中从接收的数据中去除冗 余符号。
图4说明将多码类交织如何使迭代译码能够克服目前FEC编码 方案的局限。例如,假定编码程序305和306分别用于校正t1和t2个 传输差错。如果第一码类的一个码字中的差错数量超过t1,则通常无 法校正该码字。因为已将多个码类交织而后加以迭代译码,所以第 二码类中校正的差错可能允许在后续迭代中校正第一码类中的差 错。换言之,校正第一和第二码类的码字相交处的不正确的符号可 以将第一码类的码字中的差错数量减少至低于t1。因此,该码字在下 一轮迭代中变得可校正。
如前所述,图4所示的操作次序是示范性的。例如,可以不执 行方框405,因为码类的数量是已知的。本发明的替代实施例可以不 同方式执行方框407的步骤。可以给定固定次数的迭代循环而不是 观察所执行的差错校正。此外,本发明的另一个实施例还可以接受 输出数据中余留某种级别的差错。在本发明的另一个实施例中,处 理单个码类(方框402和方框403)可以图5所示的流线结构形式 并行执行。
图5是根据本发明一个实施例的网元的线路卡的部件图。在图5 中,线路卡包括一个光接收器501,其接收光信号形式的封装数据。 光发送器501将光信号转换成电信号。然后,光接收器501将电信 号形式的封装数据传递到解串器503。解串器503将封装的数据进行 排列以进行迭代译码。然后,解串器503将封装数据传递给一系列 任意数量的迭代译码器505A-505F进行处理。迭代译码器505A-505F 中的每一个迭代译码器对封装数据的所有码类执行至少一次迭代译 码。迭代译码器505F将封装数据传递给迭代译码器/去封装器和编码 器/封装器509。迭代译码器/去封装器和编码器/封装器509对该数据 的所有码类执行至少一次以上的迭代译码,并将该数据去封装。迭 代译码器/去封装器和编码器/封装器509随后输出该数据。
迭代译码器/去封装器和编码器/封装器509还接收待发送的数 据。迭代译码器/去封装器和编码器/封装器509将接收数据如图1A 所述进行封装,并如前图1-2中所述将接收数据编码。迭代译码器/ 去封装器和编码器/封装器509然后将封装且编码的数据传递给串行 化器511。串行化器511对封装的数据进行排列以便发送。串行化器 511然后将串行化的封装数据传递到光发送器513。光发送器513将 串行化的封装数据从电信号转换成光信号,并发送该光信号。
线路卡500和/或线路卡500的部件包括一个或多个机器可读介 质。机器可读介质包括任何以机器(如计算机)可读形式提供(例 如存储和/或传输)信息的装置。例如,机器可读介质包括只读存储 器(ROM);随机存取存储器(RAM);磁碟存储介质;光存储介 质;闪速存储器;以及电、光、声或其它形式的传播信号(例如, 载波、红外线、数字信号等);等等。
图5所示的本发明实施例就连接在一起的迭代译码器的数量而 言是可伸缩的。此外,所示的本发明实施例通过将编码器和译码器 实现为一个部件而显著节省了板空间。本发明的各实施例可以不同 方式实现迭代译码器。例如,迭代译码器505A-505F可以实现为单 个迭代FEC译码器,迭代译码器505A-505F和迭代译码器/去封装器 和编码器/封装单元509中的译码功能可以实现为一个单元。
图6A是说明根据本发明一个实施例,图5的迭代译码器505A 的示范实施例的示意图。在图6A中,迭代译码器505A用于对两个 码类进行译码。在图6A中,迭代译码器505A的列译码器601接收 封装的数据。列译码器601对接收数据的每一列进行译码。在将接 收数据的每一列译码之后,列译码器601将该数据传递到数据重排 序器(reorderer)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从行到列 将该数据重新排序。数据重排序器603A然后将重排序的数据传递给 列编码器607。列编码器607用列冗余符号填充封装器613添加的其 余空间。列编码器607然后将数据传递出迭代译码器/去封装器和编 码器/封装器509。
图7是说明根据本发明一个实施例,利用后向注释(backward annotation)的迭代译码器的示意图。图7所示的迭代译码器是一个 示范性三码类迭代译码器。为简明起见,假定每个码类具有代数性 质,包括以计算校正子(syndrome)作为第一步骤。图7所示的迭代 译码器700包括校正子计算单元703A-703C。本发明的替代实施例 可以包括更多或更少的校正子计算单元。差错模式计算单元709A- 709C与校正子计算单元703A-703C相连。迭代译码器700接收具有 三码类的数据。接收的数据存储在FIFO 701A中。接收数据还发送 到校正子计算单元703A-703C。
校正子计算单元703A计算第三码类的校正子。校正子计算单元 703A将校正子传递给差错模式计算单元709A。差错模式计算单元 709A计算用于纠错的差错模式,并且还计算后向注释。对存储在FIFO 701A中的数据应用由差错模式计算单元709A确定的校正。所得数 据存储在FIFO 701B中。计算的向后注释从差错模式计算单元709A 传递到校正子计算单元703B和703C。因为校正子计算是线性的, 所以校正子计算单元703A-703C以并行方式计算它们的校正子,从 而校正子计算单元703B已计算了用于第二码类的校正子。校正子计 算单元703B将收到的后向注释添加到其计算的校正子中。校正子计 算单元703B随后将含有后向注释的校正子传递给差错模式计算单元 709B。差错模式计算单元709B对第二码类执行与差错模式计算单元 709A相同的任务。
差错模式计算单元709B将计算得到的差错校正信息应用于存储 在FIFO 701B中的数据上。所得数据存储在FIFO 701C中。差错模 式计算单元709B将为第二码类计算的后向注释传递给校正子计算单 元703C。校正子计算单元703C应该已经计算了第一码类的校正子, 以及添加了第一码类后向注释。校正子计算单元703C随后将第二码 类的后向注释添加到其校正子中,并将计算得到的校正子传递给差 错模式计算单元709C。差错模式计算单元709C确定差错校正信息, 并将该信息应用于存储在FIFO 701C中的数据上。然后将所得数据 传递给下一个迭代译码器。
利用后向注释对交织码类进行迭代译码减少了对每个码类进行 译码导致的等待时间。可以在码类C2的差错模式计算完成之后立即 计算码类C1的差错模式。
图8是说明根据本发明一个实施例,利用前向注释的迭代译码 器的示意图。图8所示的迭代译码器800类似于图7所示的迭代译 码器700。迭代译码器800包括校正子计算单元803A-803C。本发明 的替代实施例可以包括更多或更少的校正子计算单元。差错模式计 算单元809A-809C与校正子计算单元803A-803C相连。迭代译码器 800接收具有三码类的数据。接收的数据存储在FIFO 801A中。接收 数据还发送到校正子计算单元803A-803C。
校正子计算单元803A计算三码类的校正子。校正子计算单元 809A将校正子传递给差错模式计算单元809A。差错模式计算单元 809A计算用于纠错的差错模式,并且还计算后向注释。对存储在FIFO 801A中的数据应用由差错模式计算单元809A确定的校正。所得数 据存储在FIFO 801B中。计算的向后注释从差错模式计算单元809A 传递到校正子计算单元803B和803C。因为校正子计算是线性的, 所以校正子计算单元803A-803C并行地计算它们的校正子,从而校 正子计算单元803B已计算出用于第二码类的校正子。差错模式计算 单元809A还将其计算的结果存储在缓冲器811中,以便传送到下一 个迭代译码器的校正子计算单元(“前向注释”)。校正子计算单 元803B将收到的后向注释添加到其计算的校正子中。校正子计算单 元803B随后将含有后向注释的校正子传递给差错模式计算单元 809B。差错模式计算单元809B执行与用于第二码类的差错模式计算 单元809A相同的任务。
差错模式计算单元809B将计算得到的差错校正信息应用于存储 在FIFO 801B中的数据上。所得数据存储在FIFO 801C中。差错模 式计算单元809B将为第二码类计算的后向注释传递给校正子计算单 元803C,并将计算得到的差错模式存储在缓冲器811中,以便传送 到下一个迭代译码器的校正子计算单元。校正子计算单元803C应该 已经计算出第一码类的校正子,并添加了第一码类后向注释。校正 子计算单元803C随后将第二码类的后向注释添加到其校正子中,并 将计算得到的校正子传递给差错模式计算单元809C。差错模式计算 单元809C确定差错校正信息,并将该信息应用于存储在FIFO 801C 中的数据上。与差错模式计算单元809A和809B一样,差错模式计 算单元809C将其计算得到的差错模式传递到缓冲器811,以便传送 到下一个迭代译码器的校正子计算单元。存储在FIFO 801C中的数 据传递给下一个迭代译码器。
在本发明的一个实施例中,缓冲器811按照差错模式计算单元 的指示临时暂存要传送到下一个迭代译码器的校正子计算单元的计 算所得的注释。在本发明的替代实施例中,差错模式计算单元将前 向注释信息传递到专门对应于一个迭代译码器的差错模式计算单元 和下一个迭代译码器的校正子计算单元的缓冲器。在本发明的另一 个实施例中,迭代译码器的差错模式计算单元将计算得到的差错模 式直接传递给下一个迭代译码器的与其对应的校正子计算单元。前 向注释减少了等待时间。
所述的迭代译码可以通过存储在一个或多个机器可读介质上的 指令来实现。因此,机器可读介质包括任何以机器(例如计算机) 可读形式提供(例如存储和/或传输)信息的装置。例如,机器可读 介质包括只读存储器(ROM);随机存取存储器(RAM);磁碟存 储介质;光存储介质、闪速存储器;以及电、光、声或其它形式的 传播信号(例如,载波、红外信号、数字信号等);等等。
如前所述,对交织码类的迭代硬判决译码方法允许对光传输进 行前向纠错。
虽然已根据本发明的几个实施例对本发明作了描述,但本专业 技术人员应知本发明并不限于所述这些实施例。在不背离权利要求 书提出的本发明精神和范围的前提下,本发明的方法和装置可以在 本发明精神和范围内加以修改和替换而实施。本说明书因此应视为 说明性而非限制性的。

发明背景

QQ群二维码
意见反馈