CN1471763A - 对源数据元素进行纠错编码的方法及相应的迭代译码器 - Google Patents

对源数据元素进行纠错编码的方法及相应的迭代译码器 Download PDF

Info

Publication number
CN1471763A
CN1471763A CNA018180809A CN01818080A CN1471763A CN 1471763 A CN1471763 A CN 1471763A CN A018180809 A CNA018180809 A CN A018180809A CN 01818080 A CN01818080 A CN 01818080A CN 1471763 A CN1471763 A CN 1471763A
Authority
CN
China
Prior art keywords
code
subcode
sub
decoder
coding
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.)
Pending
Application number
CNA018180809A
Other languages
English (en)
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.)
Linkair Communications Inc
Original Assignee
Linkair Communications Inc
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 Linkair Communications Inc filed Critical Linkair Communications Inc
Publication of CN1471763A publication Critical patent/CN1471763A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/02Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas
    • H04B7/04Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas using two or more spaced independent antennas
    • H04B7/06Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas using two or more spaced independent antennas at the transmitting station
    • H04B7/0602Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas using two or more spaced independent antennas at the transmitting station using antenna switching
    • H04B7/0608Antenna selection according to transmission parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • H04L1/005Iterative decoding, including iteration between signal detection and decoding operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/14Two-way operation using the same type of signal, i.e. duplex
    • H04L5/1469Two-way operation using the same type of signal, i.e. duplex using time-sharing
    • H04L5/1484Two-way operation using the same type of signal, i.e. duplex using time-sharing operating bytewise
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/0202Channel estimation

Abstract

一种基于对乘积码进行的“扩展”编码后,所得到纠错码构造方法,其特征在于:对输入信息进行一次N维乘积码编码后,选择其中M(1<=M<=N)维方向进行“扩展”编码操作。“扩展”编码包含了“重组”和“重排”操作。每组“扩展”编码操作得到一组校验符号,将所得的M组校验符号与原N维乘积码一起,构成新的纠错码。同时,本发明还公开了相应的迭代译码方法,其中迭代译码器由多个子译码器组成,每个子译码器含有一个软输入软输出译码单元以及可能的“解重组”和“解重排”单元,与原乘积码或者“扩展”编码中的相应子码对应。同时,各子译码器之间的互连可采用串行、并行或者混合形式,其中每一级子译码器利用了其它所有或着部分子译码器的输出,并将它们进行相加合并后作为先验信息参与本级译码。分析和仿真均表明,本发明所得的纠错码及其译码方法,能够满足一系列码率、码长、性能指标的设计需要,同时可根据实际情况,如并行度、计算量、译码时延要求等,采用不同的实现形式。

Description

对源数据元素进行纠错编码的方法及相应的迭代译码器 技术领域
本发明涉及数字通信系统中使用的数据编码方法和译码器, 尤其涉及数 据的纠错编码方法及相应的迭代译码器。 背景技术
纠错编码技术通过为信息添加冗余, 来实现纠错。 在数字移动通信、 数 字卫星通信等应用中, 传播环境较为恶劣, 而纠错码技术是这些系统中用来 维持系统性能的一个重要手段。
纠错码可看作是从输入信息空间到码字空间的一个映射。 映射的方法和 相应的译码方法决定了纠错码性能的优劣。 信息和码字一般均由一串符号构 成, 且每个符号属于某个代数域, 例如当代数域取 GF(2)={0,1} (此时, "加" 运算定义为模 2和) 时, 就对应了二元码。
如果在码字空间内, 任意两个码字的和(定义在相应的代数域上)仍为 一个有效的码字, 则称之为线性码。 任意两个码字间所有符号中不同符号的 个数称为它们之间的汉明距离。 对于二元线性码, 任意两个码字间的汉明距 离, 等于另一个码字 (该码字由这两个码字经过逐比特模 2和得到) 的汉明 权重(即码字中比特 1 的个数)。 码字空间中所有非零码字的汉明权重的集 合, 以及每个权重所对应的不同码字个数, 称为这个码的汉明权重谱。 汉明 权重集合中最小的正整数称为对应该码字的最小汉明距离。 汉明权重语是决 定码的纠错性能的一个主要指标(在釆用如最大译码方法时); 而最小汉明 距离决定了纠错码的渐近(Asymptotic )性能(既信噪比足够大时, 该纠错 码的近似性能)。
若干基本定义如下, 它们在一般的关于纠错编码的书籍中都可以找到: 分组码: 如果码字的长度有限。
系统码: 如果信息符号均在编码符号集中出现, 亦即, 每个信息符号必 等于编码后的某个符号。 相对的, 其它编码符号称为校 ¾符号。
循环码: 如果任意一个码字的任意一个循环移位仍为一个码字。 许多常 用的分组码都是循环码, 例如, 汉明码、 BCH码就是循环码。 另一方面, 将循环码进行奇偶校验扩展后所得的码, 例如扩展汉明码、 扩展 BCH码, 如果在循环移位时不包括扩展的校验位, 仍可得到一个有效的码字。 在后面 的有关说明中, 把它们也归于一类 (非严格意义上的)循环码。
准循环码: 如果一个码的部分(但非全部)循环移位仍是一个有效码字。 例如, 所谓的 "Tail-Biting" 块卷积码就是这样一类码。
乘积码: 由若干子码(component code )构成的一类复合码。 N个子码 构成的复合码称为 N 维乘积码。 子码一般为较筒单的分组码。 N 维乘积码 可看作是对一系列 N-1 维的乘积码再添加一维编码构成的复合码。 乘积码 的最小汉明距离是各子码最小汉明距离的乘积; 同时, 其码块长也为各子码 码块长的乘积。 在实际应用中, 乘积码是构造低译码复杂度好码的一类较常 用的手段。
单比特校验(SPC )码: 对二元码, 加一个奇偶校 -睑位构成的码。 亦即, 码字中各比特的模 2和为零。 SPC码的最小汉明距离等于 2, 因此它只能检 测一比特的错误。 然而, 可以 SPC码为子码构成乘积码, 由于所得乘积码 的最小汉明距离是各 SPC子码最小汉明距离的乘积(N维情况下该值为 2N ), 从而有望获得较好的性能。
C.Berrou等提出的 Turbo码是近年来糾错编码领域的一个突破。特别地, Turbo码采用的迭代译码技术能够在许多情况下相当接近于香农极限, 同时 其复杂度远低于最大似然译码算法, 因此迅速在实际系统中得到了广泛的采 用。 CBerrou等最初提出的编码结构是由卷积码子编码器(并加交织器)级 联得到的。并且,相应的迭代( Iterative )译码器是由多个软输入软输出( SISO ) 子译码器构成的, 每个 SISO子译码器以先验 priori )信息作为输入, 并以外部 ( extr ins ic )信息作为输出; 这里外部信息为后验 ( a posteriori ) 信息与先验信息的差值, 将它与解调器的软输出信息进行合并后, 以先验信 息的形式作为后级 SISO子译码器的输入。
同样的 , 也可采用分组码进行某种形式的级联构成适合于迭代译码的好 码。 特别地, 乘积码可看作是一类将分组码进行串行级联、 并采用分组交织 器构成的级联码。 因此, 乘积码是一种构造十分简单的纠错码结构, 应用迭 代译码方法, 可发挥该码的良好性能, 并特别适合于高速硬件译码实现。
与 (经过高删节后) 的并行 /串行级联卷积码(PCCC/SCCC )相比, 乘 积码 (运用迭代译码算法)可在较高的码率 (如 R〉l/2 时) 下获得更好的 性能, 主要表现为更低的误码平层或减轻的平坦化(flattening )迹象。 因此, 乘积码在许多场合下具有良好的应用价值。 例如, 美国的 AHA公司已经采 用它们的专利迭代译码器, 针对乘积码(他们称其为 Turbo乘积码—— TPC ) 开发出了译码速度最高可达 0C-3 ( 155Mbps )速率的高速编 /译码单片 ASIC 芯片 AHA4540。
但是, 乘积码的一个突出弱点是: 为了有效地增加最小汉明距离和改善 码的汉明权重谱结构, 有时必须通过增加码的维数来达到。 但同时这也意味 着码长的急剧增加和码率的下降, 这大大限制了乘积码的实际应用。
然而, 通过一系列手段, 可以一定程度上克服该问题。 我们注意到, 加 拿大通信研究中心 (CRC ) 曾在该方面作过一些工作, 得到了他们称之为 Hyper-Code 的一类码, 并已经申请了有关专利 (加拿大专利, 专利号 2,245,601; 美国专利, 专利号 6,145,111 )。 他们的基本想法是: 首先进行编 码得到第一批码字, 这些码字都是属于一个 "公共子码" 的码字; 然后, 通 过一些列的 "重组 (assembling )" 和 "重排(shuffling )" 操作后, 再进行 一次编码; 所得码字的非系统部分与原码字一起, 构成了新的码字。 Hyper- Code在一定程度上克服乘积码随维数的增加时码长较长、 码率下降较快的 缺点, 并具有良好的性能。 发明内容
本发明的目的是提供一种纠错编码方法以及相应的迭代译码器, 这种纠 错编码方法的纠错性能更强, 同时译码复杂度维持在较低的水平。
为实现上述目的, 本发明提供了一种纠错编码方法。
首先, 对输入信息进行一次乘积码编码。 该乘积码的子码可以是 SPC 码、 (扩展)汉明码或 (扩展) BCH码等循环码, 也可以是 "Tail-Biting" 块卷积码码等准循环码。 设乘积码的维数为 N维, 则它可以看作是一组 N- 1维子码的集合; 而这样的集合共有 N组。 事实上, 在第一次编码后所得的 乘积码码中, 从不同的角度来看将含有多个不同的 "公共子码"。 例如, 以 N维的乘积码为例, 它可以看作是许多 N-1维乘积码的集合, 其中每个 N-1 维子码就是这样的一个 "公共子码"。 而原 N维码字中的任意 N-1维子码都 可以看作是这样的一个 "公共子码"。
接着, 在每一组这样的 N-1 维码字集合中, 通过对该组中码字的重组、 重排, 然后 (在剩下一维子码方向上)再进行一次编码后, 可以得到另一批 校验符号。 一种希望得到的情况是, 重组和重排操作使得到的校验符号本身 仍为一个或多个有效的码字 (如 N-1 维乘积码)。 称这样的一次操作为相应 维上的一次 "扩展" 编码。
在所有 N组码字中, 可以选择任意 M ( 1<=M<=N )组进行上述 "扩展" 操作, 并将所得的 M组校验符号与原 N维乘积码一起, 构成新的纠错码。 其中, M值可根据实际需要(如: 码块长度、 码率或性能要求)进行灵活 的选择。 需要特别指出的是, 作为一种特殊情况, 当 M=l 时, 所得到的码 就是 CRC有关专利中所提出的一类码。
本发明还提供一种对根据上述纠错编码方法形成的纠错码进行译码的迭 代译码器, 其特征在于包括多个子译码器, 其中:
每个子译码器包括一个软输入软输出 (SISO ) 译码单元, 与原 N 维乘积码或者 "扩展" 编码中的相应子码对应; 并且每一级子译码步骤 利用了 (在一次迭代跨度内) 其他所有子译码器中一个或多个的输出, 并将它们相加合并后作为先验信息参与本级子译码。
各子译码器之间的互连可根据软 /硬件实现方式(如 DSP、 FPGA或 ASIC 实现)、 性能要求等采用不同的结构, 并包括串行结构、 并行机构和它们的 折衷一一混合结构。 在相同性能下, 串行结构所须的计算量最少, 混合结构 次之, 而并行结构的计算量最大; 但是, 串行结构的译码时延一般比较大, 并性结构的译码时延较小, 而混合结构居中。
本发明给出了给出了几种典型的串行 /并行 /混合迭代译码器结构。 当采 用软 /硬件实现迭代译码算法时, 设计人员可根据实际情况灵活地选取译码 结构。
与前面提到的 CRC 的有关专利算法相比, 这样构造的码字 (在牺牲较 少码率的前提下)可进一步提高纠错性能, 同时也使码的设计更为灵活, 能 够更好地适应一大批码长、码率要求下的纠错编码的设计应用要求。特别的, 当构成乘积码的子码选取 SPC码时, 根据本发明所得的纠错码具有很低复 杂度、 较高性能的迭代译码算法。
同时, 该码的性能还受到相应迭代译码方式的影响。 采用本发明中给出 几种迭代译码结构, 对所得的纠错码进行迭代译码, 可以获得与其它一些迭 代译码器结构相比更好的性能, 从而最大程度上发挥该码的优势。 附图概述 通过结合附图对本发明最佳实施方式的详细描述, 本发明的上述及其 他特征和优点将会更加明显。
图 1是本发明的总体编码结构图;
图 2以 3维乘积码为例示出它可分别看作是由 3个不同的 "公共子码" 构成的 3组集合;
图 3是本发明中有关 "扩展" 编码部分的结构图;
图 4A是本发明中的一种 "串行" 迭代译码器结构示意图 (以 2维乘积 码加 2次 "扩展" 编码情况为例,);
图 4B是另一种常用的 "串行" 迭代译码器结构示意图 (以 2维乘积码 加 2次 "扩展" 编码情况为例), 用于与本发明中 "串行" 结构进行对比; 图 4C是本发明中的一种 "并行" 迭代译码器结构示意图 (以 3维乘积 码加 2次 "扩展" 编码情况为例);
图 4D是本发明中的一种 "混合" 迭代译码器结构示意图 (以 3维乘积 码加 2次 "扩展" 编码情况为例);
图 5和图 6分别给出了本发明构造码的两个简单的例子;
图 7和图 8分别给出了采用本发明的纠错码和译码方法后, 所得的两个 纠错码的计算机仿真结果(采用了一种 "混合" 译码器结构)。
本发明的最佳实施方式
下面结合附图对本发明进行详细描述。
参见图 1 , 它给出了本发明中的主要编码结构。 编码过程可分为: a ) 进行初始的 N ( N>1 ) 维乘积码编码; b )从 N维中选取 M维( 1<=M<=N ) 准备进行 "扩展,, 编码, 并构造 M个集合, 每个集合内含有相应公共子码 的一批码字; c )在每次 "扩展" 编码过程中, 先进行公共子码码字的重新 组合("重组"), 然后对各公共子码码字内部进行重新排序 ("重排"), 最后 再加一次系统编码得到一批校验符号; 对应 M维中的每个方向, 这样的 "扩 展,, 编码过程共进行了 M 次; d ) M组这样得到的校验符号和原乘积码一 起, 得到了编码输出。
为了进行 "扩展" 编码, 在初始 N 维乘积码编码过程中, 乘积码须包 含至少一个循环或准循环子码。 例如, 可以选择 SPC码、 (扩展)汉明码或
(扩展) BCH码作为一个循环子码。 由于常用的分组码多为循环或准循环 码, 因此该条件是容易满足的。 为了使本发明的特点得以充分体现, 通常可 选取多于一个循环或准循环码作为子码。
接下去的一步, 即从 N维中选取 M维(1<=M<=N )准备进行 "扩展" 编码。 对于 N维乘积码, 它可看作是对一批 N-1 维乘积码再进行一次编码 后所得到的。 每个这样的 N-1维乘积码本身也可看作是一个子码。 所以, N 维乘积码可看作是一批码字的集合, 其中每个码字都是一个公共子码的码字
(而这个公共子码本身也是一个 N-1维乘积码)。 对于 N维乘积码, 我们知 道, 各维编码的顺序并不会影响最终的编码输出结果。 因此, 可取 N 维乘 积码中的任意 N-1 维乘积码作为公共子码, 而将原 N维乘积码看作是沿剩 下一维排列的对应于这个公共子码的码字。 这样的选取方法共有 N种, 如 图 2所示 (图中给出了一个 N=3维情况时的例子)。
在总共 N组这样的公共子码排列中, 可以选取任意 M组( 1<=M<=N ) 进行 "扩展" 编码操作。 每组在进行 "扩展" 编码后得到一批校验符号。 所 有 M组校验码字与原乘积码一起, 构成了编码输出。 这样, 采用本发明, 可以根据实际应用所要求的码块长度和码率, 通过灵活地选取 M值(及可 能需要的截短和删节操作等), 来尽可能地设计与之匹配的编码方案。 选择 合适的 "扩展,, 编码手段(参见后面描述)后, 一般地, 随着 M 的增加, 所得纠错码的性能也将提高 (当然, 伴随着较小的码率下降)。 这样, 在某 些场合下, 也可以根据实际信道传输条件, 通过相应地改变 M值来维持一 定的通信性能水平。 这也意味着本发明所得到的纠错码在自适应编码中也有 着一定的应用前景。
为了便于后面的重排操作, 选取这 M组中的每组的 N-1维公共子码时, 应使其至少包含一个循环或准循环子码。 特别地, 为了最大程度地提高该类 纠错码的纠错能力, 应尽可能使 N-1 维公共子码包含尽可能多的循环或准 循环子码。 作为一种好的选择, 可在第一次乘积码编码时, 选择该乘积码的 每维子码均为循环或准循环码。 这样, 该 N维乘积码的任意 N-1 维乘积码 子码也是全由循环或准循环子码所构成的。
以下说明针对每一组所进行的 "扩展" 编码操作, 参见图 3。
首先, 将公共子码码字集合 1进行重新组合, 示为步骤 2。 重组是以公 共码字为单位进行的。 重组后可以得到若干组公共子码码字的集合 3、 4。 公共码字集合 1中的每个公共子码码字可成为某一个公共子码码字集合 3中 的一个码字, 也可以成为多个公共子码码字集合 3、 4 中的码字, 或者, 不 成为任何一个公共子码码字集合 3、 4 中的码字。 但是, 每个公共子码码字 集合 3中不会含有某个公共子码码字集合 1中的码字重复两次或两次以上。 一种最简单的方式是, 直接将公共子码码字集合 1复制成一个公共子码码字 集合 3, 即相当于不进行任何重组操作。 图 3中给出了另一种简单的情况, 亦即, 将公共子码码字集合 1复制两次成为公共子码码字集合 3和 4。
接下去的操作是对公共子码码字集合 3、 4 内的每个码字内的符号进行 重新排列, 示为步骤 5 , 得到公共子码码字集合 6、 7。 理想的排列应满足以 下原则: a )排列后的码字仍为一个公共子码码字; b )对于同一个公共子码 码字集合 3、 4 的不同码字, 排列对应关系应尽可能不同。 遵循上述原则的 重排模式有可能提高最终码字的最小汉明距离, 和 /或能有效地改善汉明距 离谱, 从而获得较好的性能。
为了满足原则 a ), 公共子码的重排可沿该子码中的循环 /准循环码(子 码)方向进行。 因为对于循环或准循环码, (部分)符号的循环移位仍然为 有效的循环 /准循环码。 公共子码码字集合 6、 7中的各个码字可通过选择不 同的循环移位偏移, 来尽可能地满足准则 b )。 如果公共子码含有多个循环 或准循环子码, 则循环移位可同时沿这些子码的方向进^ ί于, 这样可望获得更 好的性能。
一种特殊的情况是, 公共子码中含有一个或多个 SPC 子码。 对于 SPC 码, 其所含比特经过任意一种排列后, 所得码仍然是一个有效的 SPC码。 这样, 分别沿部分或所有这些 SPC 子码所在方向进行任意一个排列后, 所 得到的码字仍然为原公共子码的一个有效的码字。 同时, 由于对应 SPC码 的软输入 /软输出 (SISO )算法十分简单, 所以该类码特别适合于用作本发 明中构造纠错码的基本元素, 这在后面的例子和仿真中也可以部分地得以体 现。
然后, 对于重排后所得的公共码字集合 6、 7, 再进行一次编码, 示为 步骤 8。 编码所沿方向与原 Ν维乘积码中剩下一维的编码方向相同, 如图 3 中所示。 编码方式选择系统码, 例如系统分组码或系统递归卷积码。 对于线 性编码, 由于公共码字集合 6、 7 中的每个码字均为一个有效的公共码字, 因此所得校验符号 (即非系统部分)也由若干个公共码字 9、 10组成, 参见 图 4。 使校验符号本身也满足某种校验关系, 可使校验符号本身参与多次校 验, 这样有利于在迭代译码过程中提高收敛性能。 这也是为什么前述重排过 程中应尽量满足原则 a )的原因。 将编码后的校验部分公共码字 9、 10组合, 得到本组 "扩展,, 编码后的最终输出 11。
最后, 所有 M组输出的校验符号一起, 加上原乘积码, 构成了本发明 所提出的纠错码。
针对该码釆用迭代译码结构描述如下。
当采用软 /硬件实现针对本发明所提糾错码的迭代译码算法时, 设计人 员可根据实际情况, 灵活地选取 "串行"、 "并行,, 或者 "混合" 迭代译码器 结构译码结构。
一种 "串行" 迭代译码器结构如图 4A所示, 那里给出了对应 "2维乘 积码编码 +2 次扩展编码" 的情况。 迭代译码器共包含了 4个子译码器, 其 中 2 个子译码器分别包含对应于原乘积码中两个方向上的子码的 SISO 单 编码时所用子码的 SISO单元, 并包括与相应 "扩展" 编码相应的 "解重组" 和 "解重排" 单元。 这两类子译码器的结构也在图 4A中给出。 在 "串行" 迭代译码过程中, 所有子译码器串行排列 (注意它们的排列顺序并不重要), 并且, 每一个子译码器均采用了其它所有子译码器前次的输出 (即: 其它子 译码器在一次迭代跨度内的输出, 图 4A中例子中, 每次迭代跨度为 4 ); 其 外信息输出也传递给其它所有子译码器, 作为它们输入先验信息的一部分。
与之对比, 另一种 "串行" 结构的译码器如图 4B所示。 与图 4A中结 构不同的是,在该译码器中,每级子译码器仅采用了前一级子译码器的输出。 有关理论(例如 "Belief Propagation" 理论)和计算机仿真均表明, 本发明 提出的前一种 "串行" 译码器结构的收敛速度更快, 其最终收敛性能也明显 于后者。
图 4C 中给出了一种 "并行" 迭代译码器结构, 那里给出了对应 "3 维 乘积码编码 +2 次扩展编码" 的情况。 迭代译码器共包含了 5 个子译码器, 其中 3个子译码器分别包含对应于原乘积码中 3个方向上的子码的 SISO单 编码时所用码的 SISO单元, 以及相应的解重组和解重排单元。 在该译码器 中, 每次迭代包含了并行排列的所有子译码器(图 4C 的例子中为 5个)。 在每次迭代中, 每级子译码器釆用了上次迭代中除本身外其它所有子译码器 (图 4C的例子中为 4个) 的外信息输出, 并将它们与解调器的软信息输出 进行合并后, 作为本级的先验信息输入。 "并行" 迭代译码器结构与 "串行" 译码器结构相比, 在相同译码时间 内一般可获得更快的收敛速度, 并且特别适合于 ASIC硬件实现, 但其计算 量也较大。 "串行"迭代译码器的计算量较小, 适合于单 CPU结构(如 DSP ) 实现。
作为 "串行" 结构和 "并行" 结构的一种折衷, 也可以采用 "混合" 结 构的迭代译码器形式。 这类译码器的结构更为灵活, 在相似的能指标下, 它 们的译码时延一般比 "串行" 结构小, 而计算量则比 "并行" 结构小。 图 4D 中给出了一种可能的 "混合" 结构迭代译码器, 对应了 "3维乘积码编码 +2 次扩展编码" 的情况。 在该结构中, 对应原 N维乘积码, 包含了 N级译码 模块, 在每级译码模块中, 如果在相应维所在方向上仅进行了原乘积码的编 码, 则该译码模块中仅含有一个相应的子译码器; 如果在该维方向上还进行 了 "扩展" 编码, 则还要再包含另外一个(或多个)相应的子译码器。 每级 译码译码模块将它包含的所有子译码器的外信息输出以某种形式进行合并 (例如, 各自先乘一个因子后再相加)后作为本级输出, 供其它 N-1 个译 码模块使用。 同时, 类似本发明提出的 "串行,, 结构, 每级译码模块利用了 其它所有 N-1级译码模块的输出。
下面给出两个简单的例子。
图 5示出例一。 先进行第一次(2维)乘积码编码, 子码分别为 (8,4 ) 扩展汉明码(行方向)和 (7,6 ) SPC码(列方向)。
将该 2维乘积码看作是 7个(8,4 )扩展汉明码码字的集合, 每个扩展 汉明码对应了一行。 进行重组时, 可将该集合复制两次; 然后对其中每个集 合内的扩展汉明码字进行重排。 为了使重排后的码字仍为有效的扩展汉明 码, 对 (8,4 )码中扩展前的 (7,4 )汉明码部分进行循环移位。 对重组后所 得的两个集合, 可分别釆用顺时针和逆时针的循环移位方式, 以尽可能地提 高所得码字的最小汉明距离, 并改善其汉明距离谱。 最后, 对每个重排后的 集合(在列方向)进行(8,7) SPC 编码。 这样, 在列方向上经过 "扩展,, 编码后, 得到了一批校验符号, 它由另两个新得到的 (8,4)扩展汉明码字 组成。
另一方面, 将原 2维乘积码看作是 8个(7,6) SPC码码字的集合, 每 个 SPC码对应了一列。 进行重组时, 直接将该集合复制; 然后对该集合内 每个 SPC码字进行任意顺序的重排。 一种较理想的重排的方式是, 使原乘 积码中的任意一个 "矩形"错误图样, 经过重排后不再是一个 "矩形" 图样。 重排后 (在行方向)进行(9,8) SPC编码。 这样, 在行方向上进行 "扩展" 编码后,得到了另一批校验符号,这些校验符号本身也构成了一个(7,6) SPC 码码字。
经过两次 "扩展"编码后,得到了另外 8+8+7=23个校验位;从而原( 8,4 )
* (7,6) = (56,24)乘积码变为了本发明所得 ( 56+23,24 ) = ( 79,24 )码。
图 6 示出例二。 先进行一次 3 维乘积码编码, 它的 3 个子码分别为 (ΝΙ,ΚΙ )码、 (Ν2,Κ2)码和(Ν3,Κ3)码。 它可以分别看作以下三个公共 子码码字的集合:
集合 1: N1个公共子码码字 (Ν2,Κ2) * (Ν3,Κ3) 的集合;
集合 2: Ν2个公共子码码字 (ΝΙ,ΚΙ ) * (Ν3,Κ3) 的集合;
集合 3: Ν3个公共子码码字 (Ν1,Κ1 ) * (Ν2,Κ2) 的集合;
对于每个集合, 经过 "扩展" 操作, 并进行相应的 SPC 编码后, 可得 到另外一个码字,在 3个集合中分别对应了( Ν2,Κ2 ) * ( Ν3,Κ3 )码、( ΝΙ,ΚΙ )
* (Ν3,Κ3 )码和(Ν1,Κ1 ) * (Ν2,Κ2)码。 它们连同原 3 维乘积码一起, 构成了本发明所得的 (Ν1*Ν2*Ν3+Ν1*Ν2+Ν1*Ν3+Ν2* Ν3; Κ1*Κ2*Κ3 ) 的新码。
下面说明两个仿真结果, 旨在一定程度上反映本发明的特征和优点。 图 7给出了对应了 2维的一个情况。 原 2维乘积码由两个 SPC子码构 成, 这两个 SPC子码均为 (15,14 )码。 分别在两个方向上进行 "扩展" 编 码后 (其中重排可看作是沿两条不同 "对角线" 方向进行的校猃), 分别得 到两个新的 (15,14 ) SPC码码字。 注意, 虽然它们的码型相同, 但它们实 ( 15*15+2*15,14*14 ) = ( 255,196 )码。 如果只在一个方向上进行 "扩展" 编码 (即 CRC 有关专利中所谓 "Hyper-Code" 的构造方式), 可得到 ( 15*15+15,14*14 ) = ( 240,196 )码, 同时它也可看作是本发明的一种简单 的情况。 作为对比, 原初始 2维乘积码的性能曲线也绘于图中。 采用的信道 模型有两种, 分别为 AWGN信道和独立 Rayleigh 衰落信道, 调制方式为 16QAM。 图 7中分别给出了相应的误码率 (BER )和误码块率(BLER )性 t 图 8给出了对应 3维的一个情况。 原 3维乘积码由 3个 SPC子码构成, 分别为 X-轴: ( 11,10 )码、 Y-轴: ( 11,10 )码、 Z-轴 ( 12,11 )码。 选取沿 X- 轴和 Y-轴进行扩展后(SPC编码), 得到两个新的( 11,10 ) * ( 12,11 )码(注 意: 尽管这两个码码型一致, 但实际上它们分别对应了不同方向上的两个丕 同的公共子码),这样最终得到( 11*11*12+2*11*12,10*10*11 ) = ( 1716,1100 ) 码, 作为对比, 我们还给出了另两个码型, 一个为原初始 3维乘积码; 另一 个为进行一次 "扩展"编码后所得的码(即 CRC的专利中所谓 "Hyper-Code" 的构造方式), 其中原 3维乘积码为 (11,10 ) * ( 13,12 ) * ( 10,9 )码, 以其 中的 ( 11,10 ) * ( 13,12 )码作为公共子码, 沿 Z-轴进行 SPC码 "扩展" 编 码后得到一个新的公共子码码字, 这样最终构成一个 (11*13*10+11*13 , 10*12*9 ) = ( 1573 , 1080 )码, 同时它也可看作是本发明中的一种最简单 的情况。 相应的, 译码方法采用了本发明中提出的一种 "混合" 迭代译码结 构 (如图 4D 所示)。 采用的信道模型有两种, 分别为 AWGN信道和独立 Rayleigh衰落信道, 调制方式为 16QAM。 图 8 中分别给出了相应的误码率 ( BER )和误码块率 (BLER )性能。
由图 7和图 8的仿真结果可见, 采用本发明构造的纠错码(特别是, 在 进行多于一次的 "扩展" 编码时)具有较好的性能。 与仅在一个方向上进行 "扩展" 编码的特殊情况(这是 CRC 的相关专利中的构造方法)相比, 又 能够进一步获得一定的编码增益(当然, 在每次 "扩展" 中要仔细选择合适 的 "重组" 和 "重排" 操作), 其代价是码率的少量下降和迭代译码器复杂 度的少量增加。
本发明的意义在于, 提供了一种灵活的纠错码编码结构和相应的译码方 法, 能适合于许多实际应用 (特别是高码率编码、 高频谱利用率的情况), 并体现出较好的性能。 因此, 本发明在许多应用领域中具有良好的实用前景 和应用价值。
虽然以上结合附图详细地描述了本发明的最佳实施方式, 但是对于 本领域内熟练的技术人员而言, 可以做出各种修改和变更, 而不背离本 发明的范围和实盾。 因此, 本发明的范围仅由权利要求书限定。

Claims (1)

  1. 权利要求
    1. 一种在数字通信系统中对源数据元素进行纠错编码的方法, 其特征在 于包括以下步骤:
    对所述源数据元素进行一次 N维乘积码编码, 其中 N〉 1 ;
    从分别可以在相应一维方向上排列构成所述 N维乘积码的 N组 N - 1维 乘积码中, 选择 M组 N - 1维乘积码, 其中 1MN;
    分别对每一组所述 N - 1维乘积码进行扩展编码, 得到 M组校验符号; 将所述 M组校验符号与所述 N维乘积码合并, 构成纠错码。
    2. 根据权利要求 1的纠错编码方法, 其特征在于对每组 N - 1维乘积码进 行扩展编码的步骤包括以下子步骤:
    对所述组中的公共子码码字重新组合, 生成至少一个新的公共子码码字 集合;
    对每个新的公共子码码字集合中的每个码字内的符号重新排序; 在与所述 N维乘积码中剩下一维的编码方向相同的方向上, 对每个公共 子码码字集合进行系统编码, 并将得到的所有校验符号作为本次扩展编码的 输出。
    3. 根据权利要求 1 的纠错编码方法, 其特征在于所述 N维乘积码包括至 少一个循环子码或准循环子码。
    4. 根据权利要求 3的纠错编码方法, 其特征在于所述 M组 N - 1 维乘积 码中的每组至少包括一个循环子码或准循环子码。
    5. 根据权利要求 4的纠错编码方法, 其特征在于所选择的 M组 N - 1 维 乘积码包含尽可能多的循环子码或准循环子码。
    6. 一种对根据权利要求 1 的纠错编码方法形成的纠错码进行译码的迭代 译码器, 其特征在于包括多个子译码器, 其中每个子译码器包括一个软输入 软输出译码单元。
    7. 根据权利要求 6 的迭代译码器, 其特征在于所述软输入软输出译码单 元与原 N维乘积码对应。
    8. 根据权利要求 6 的迭代译码器, 其特征在于所述软输入软输出译码单 元与扩展编码中的相应子码对应, 并且所述子译码器还包括与扩展编码中相 对应的解重组和解重排单元。
    9. 根据权利要求 7或 8 的迭代译码器, 其特征在于, 各级子译码器之间 的互连釆用 串行结构, 即各子译码器串行排列, 并且每个子译码器利用了 其他所有子译码器的输出, 并将它们进行合并后作为先验信息参与本级子译 码。
    10. 根据权利要求 7或 8的迭代译码器, 其特征在于, 各级子译码器之间 的互连釆用并行结构, 即各子译码器并行排列, 并且每个子译码器采用了上 次迭代中除本身外其它所有或者部分子译码器输出, 并将它们进行合并后作 为先验信息参与本级子译码。
    11. 根据权利要求 7或 8的迭代译码器, 其特征在于, 各级子译码器之间 的互连采用混合结构, 即各个子译码器部分并行排列, 部分串行排列, 同时, 每个子译码器器利用了其他所有或者部分子译码器的输出, 并将它们进行合 并后作为先验信息参与本级子译码。
CNA018180809A 2001-08-28 2001-08-28 对源数据元素进行纠错编码的方法及相应的迭代译码器 Pending CN1471763A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2001/001290 WO2003023977A1 (fr) 2001-08-28 2001-08-28 Procede et dispositif emetteur en diversite

Publications (1)

Publication Number Publication Date
CN1471763A true CN1471763A (zh) 2004-01-28

Family

ID=4574854

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA018180809A Pending CN1471763A (zh) 2001-08-28 2001-08-28 对源数据元素进行纠错编码的方法及相应的迭代译码器

Country Status (2)

Country Link
CN (1) CN1471763A (zh)
WO (1) WO2003023977A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110489268A (zh) * 2019-08-05 2019-11-22 南开大学 一种应用于星上恶劣环境中存储系统的两级纠错编码方法与系统

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE202009018125U1 (de) 2009-12-14 2011-04-07 Pleß, Diana Husse zur Abdeckung einer Katzentoilette
US9313010B2 (en) 2012-06-29 2016-04-12 Broadcom Corporation Controlling TX antenna selection
GB2503504A (en) * 2012-06-29 2014-01-01 Renesas Mobile Corp Uplink antenna selection in a user equipment on the basis of detected fading conditions for downlink signals
US9413392B1 (en) * 2015-12-14 2016-08-09 International Business Machines Corporation Post-decoding error check with diagnostics for product codes

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2747255B1 (fr) * 1996-04-03 1998-07-10 France Telecom Procede et dispositif de codage convolutif de blocs de donnees, et procede et dispositif de decodage correspondants
US6048090A (en) * 1997-04-23 2000-04-11 Cirrus Logic, Inc. Error correction and concurrent verification of a product code
EP0897223B1 (en) * 1997-08-14 2013-03-20 Her Majesty The Queen In Right Of Canada as represented by the Minister of Industry High-performance low-complexity error-correcting codes

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110489268A (zh) * 2019-08-05 2019-11-22 南开大学 一种应用于星上恶劣环境中存储系统的两级纠错编码方法与系统
CN110489268B (zh) * 2019-08-05 2023-01-20 南开大学 一种应用于星上恶劣环境中存储系统的两级纠错编码方法与系统

Also Published As

Publication number Publication date
WO2003023977A1 (fr) 2003-03-20

Similar Documents

Publication Publication Date Title
AU738257B2 (en) Encoder/decoder with serial concatenated structure in communication system
CN101039119B (zh) 编码与解码的方法及系统
US6145111A (en) High-performance low-complexity error-correcting codes
Boutillon et al. Decoder-first code design
US6769091B2 (en) Encoding method and apparatus using squished trellis codes
EP0682415A1 (en) Punctured convolutional encoder
JP3359913B1 (ja) 移動通信システムの直列鎖状コンボルーション符号化器に使用するためのインタリーバ及びそのインタリービング方法
US20020147954A1 (en) Method and coding means for error-correction utilizing concatenated parity and turbo codes
CN108055044A (zh) 一种基于ldpc码和极化码的级联系统
CN1961517B (zh) 编码和解码方法及装置、存储编码数据的装置
US20010025361A1 (en) XOR code and serially concatenated encoder/decoder using the same
US20090158130A1 (en) Method and apparatus for turbo encoding and decoding
US6944803B2 (en) Code structure, encoder, encoding method, and associated decoder and decoding method and iteratively decodable code structure, encoder, encoding method, and associated iterative decoder and iterative decoding method
CN1471763A (zh) 对源数据元素进行纠错编码的方法及相应的迭代译码器
CN1180538C (zh) 自适应涡轮编码和解码
Pothier et al. A low complexity FEC scheme based on the intersection of interleaved block codes
KR20080088030A (ko) 직렬연접 ldpc 부호기, 복호기 및 이를 이용한복호방법
CN100581089C (zh) TD-SCDMA系统中的Woven卷积码纠错编、译码器
Benedetto et al. Performance evaluation of parallel concatenated codes
CN108880569B (zh) 一种基于反馈分组马尔科夫叠加编码的速率兼容编码方法
Dore et al. Design and decoding of a serial concatenated code structure based on quasi-cyclic LDPC codes
MENEZLA et al. The turbo-codes m-binary
CA2352644C (en) Code structure, encoder, encoding method, and associated decoder and decoding method and iteratively decodable code structure, encoder, encoding method, and associated iterative decoder and iterative decoding method
JP3274114B2 (ja) デコーダーおよびフレーム方向付けターボ・コードのデコーディング方法
Dore et al. A structured LDPC code construction for efficient encoder design

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1060806

Country of ref document: HK

C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1060806

Country of ref document: HK