透平编码器和信道编码方法

申请号 CN02147194.0 申请日 1998-07-30 公开(公告)号 CN1256812C 公开(公告)日 2006-05-17
申请人 三星电子株式会社; 发明人 朴昌洙; 李炫又; 李弼中; 孔骏镇; 金龙;
摘要 提供了一种透平 编码器 及相应的信道编码方法。所述编码器包括:第一分量编码器,用于对输入信息位进行编码,以生成第一奇偶校验位;一交织器,用于交织所述输入信息位;第二分量编码器,用于对所交织的输入信息位进行编码,以生成第二奇偶校验位;第一尾部位生成器,用于生成第一尾部位,该第一尾部位用于初始化所述第一分量编码器中的 存储器 ;第二尾部位生成器,用于生成第二尾部位,该第二尾部位用于初始化所述第二分量编码器中的存储器;第一切换器,用于将所述第一分量编码器的输入从输入信息位切换到一 帧 端部的第一尾部位;以及,第二切换器,用于将所述第二分量编码器的输入从交织后的输入信息位切换到所述帧端部的第二尾部位。
权利要求

1.一种透平编码器,用于对输入信息位进行编码,所述编码器包括:
第一分量编码器,用于对输入信息位进行编码,以生成第一奇偶校验位;
一交织器,用于交织所述输入信息位;
第二分量编码器,用于对所交织的输入信息位进行编码,以生成第二奇 偶校验位;
第一尾部位生成器,用于生成第一尾部位,该第一尾部位用于初始化所 述第一分量编码器中的存储器
第二尾部位生成器,用于生成第二尾部位,该第二尾部位用于初始化所 述第二分量编码器中的存储器;
第一切换器,用于在一终止时将所述第一分量编码器的输入从输入信 息位切换到第一尾部位;以及
第二切换器,用于在所述帧终止时将所述第二分量编码器的输入从交织 后的输入信息位切换到第二尾部位。
2.如权利要求1所述的透平编码器,还包括:
一穿孔器,用于一次对所述第一奇偶校验位或第二奇偶校验位中的一个 进行穿孔。
3.如权利要求1所述的透平编码器,还包括:
一多路复用器,用于对所述第一尾部位和第二尾部位进行多路复用。
4.一种信道编码方法,用在具有第一分量编码器和第二分量编码器的信 道编码器中,所述方法包括下列步骤:
由所述第一分量编码器生成输入信息位的第一奇偶校验位;
对所述输入信息位进行交织;
由所述第二分量编码器生成交织后的输入信息位的第二奇偶校验位;
生成第一尾部位,该第一尾部位用于初始化所述第一分量编码器中的存 储器;
生成第二尾部位,该第二尾部位用于初始化所述第二分量编码器中的存 储器;以及
在一帧终止时,将所述第一分量编码器的输入从输入信息位切换到第一 尾部位,并且将所述第二分量编码器的输入从交织后的输入信息位切换到第 二尾部位。
5.如权利要求4所述的信道编码方法,还包括步骤:
有选择地对所述第一奇偶校验位或第二奇偶校验位中的一个进行穿孔。
6.如权利要求4所述的信道编码方法,还包括步骤:
对所述第一尾部位和第二尾部位进行多路复用。

说明书全文

                         技术领域

发明涉及用于通信系统的自适应(adaptive)信道编码方法和装置,尤其 涉及在声音和数据的传输中使用的、用于对输入信息位进行编码的透平(turbo) 编码器及相应的信道编码方法。

                         背景技术

带有两个简单的分量(或组成)(simple component(or constituent))编码器 的、以并行或串行结构构成的透平编码器从输入的N信息位中产生奇偶校 验符号。透平编码器将递归系统卷积(recursive systematic convolutional,RSC) 代码用作分量(或组成)代码。

图1是由Berrou在美国专利NO.5,446,747中公开的一种传统的并行透平 编码器的方框图。在图1的透平编码器中,交织器12置于第一和第二分量编 码器11和13之间。该交织器12的大小与输入的信息位的帧长N相等,并修 改第二分量编码器13中收到的信息位的顺序以便减小信息位之间的相关性。 图2是一种传统的串行透平编码器的方框图,该串行透平编码器也有在第一 和第二分量编码器11和13之间连接的交织器12。

上述卷积编码器产生用于空间通信的透平代码。尽管分量编码器11和 13中的约束长度K比传统卷积代码的约束长度(即,K=9)要短,但交织器12 使用非常大的存储器,造成了在解码时非常长的时延。

图3也是由Berrou在美国专利NO.5,446,747中公开的一种对图1中所示 的并行卷积编码器的输出进行解码的卷积解码器的方框图。图4是由 Benedetto于1996年6月在IEEE电子信件(IEEE Electronics Letters)第32卷 第13号中的一篇文章中提出的、用于对图2所示的串行透平编码器的输出进 行解码的卷积解码器的方框图。

图3中的并行卷积解码器通过采用迭代解码算法对帧单元中的输入数据 进行重复解码,有利地改善了关于位错误率(bit error rate,BER)的性能特性。 交织器323在校正第二解码器327中的突发错误模式之前,通过分配没有被 第一解码器319校正的突发错误模式,使错误校正能得以提高。

迭代解码指的是利用产生的外部信息对在特定程序中解码得到的符号进 行重复解码,以便实现极好的解码性能。迭代解码算法是SOVA(软输出Viterbi 算法:见《IEEE车辆技术会刊学报》,1993年5月第941到944页(Soft-Output Viterbi Algorithm:see Proceedings of IEEE Vehicular Technology Conference, pp.941-944,May 1993))和MAP(最大限度的归纳可能性:见《IEEE关于信息 理论的学报》,1996年3月第42卷第二号第429到445页(Maximum Aposteriori Probability:see IEEE Transactions on Information Theory,PP.429-445,Vol.42, No.2,March 1996))。SOVA是对产生软决定输出(soft decision output)的Viterbi 算法进行的改进,并能使代码字(codeword)错误率最小化。另一方面,MAP 能使符号错误率最小化。

在图3的解码器中,当从图1的第一分量编码器11中收到奇偶校验符号 yk时,解穿孔器(depuncturer)313的输出y1k和y2k分别为yk和0,然而当从图 1的第二分量编码器13中收到奇偶校验符号yk时,y1k和y2k分别是0和yk。 Zk+1是在迭代解码算法中用作外部信息的软决定符号(soft decision symbol)和 用于下一阶段解码的输入。通过将Zk+1进行硬决定(hard decision)得到最终所 需的符号。透平代码的性能取决于交织器的大小、交织器的结构和迭代解码 的次数。

如图1所示,透平编码器包括交织器12。交织器12使得透平编码/解码 在帧单元中完成。这样,透平代码的复杂性与图3所示的第一和第二迭代解 码器319和327所必需的存储器的帧大小(size)与用于第一和第二分量编码器 11和13的分量代码的状态数量的乘积是成比例的。由于透平代码使用非常 多的帧,因而并不能应用在声音和数据传输中。为了取得更好的性能,不断 增加用于透平编码器的分量代码的状态数量,从而增加了第一和第二分量编 码器11和13的复杂性。

由于如图3所示的解码器中发生突发错误,因此第一迭代解码器319的 输出具有相关性,它能妨碍下一解码阶段中第二迭代解码器327中的可靠解 码。因此,在整个(block)中会发生错误而且在下一迭代解码阶段不可能得 到纠正。在这个范围(context),总是不断需要能分配代码的单个帧中的突发错 误的交织器和解交织器(deinterleaver),使迭代解码不再有相关性。

由于具有低相关性的优点,随机交织器改善了透平代码的性能。然而, 因为随机交织器的帧大小较小,所以在无相关性地有效分配突发错误方面存 在局限而且需要查找表。因此,声音传输或低速率数据传输要求有小的帧大 小和数量较小的分量代码状态,以便使时延最小化。声音传输或低速率数据 传输还需要结构化的交织器。总之,由于不能接受分量代码的约束长度和大 的交织器,所以传统的透平代码在声音和数据传输中是不可行的。尽管如此, 考虑到传统的透平代码的优点,仍然不断努力实现用于通信系统的编码器和 解码器。

因此,存在对一种具有与传统通信系统中的卷积编码器相同或更高性能 的卷积编码器的需要。还存在对一种具有较少的分量代码状态和最小时延的 极佳性能的交织器的需要。尽管用在透平编码器中的图1或图2的交织器12 的性能大体上与交织器大小成比例,但是透平代码的帧大小是有限的。在这 种情况下,最好使用一种使关于块代码的透平代码的汉明(hamming)距离最大 化的交织器。结构化的交织器能用于小的帧。

                         发明内容

因此,本发明的一个目的是提供一种透平编码方法和装置,它能对通信 系统中的声音和低传输速率数据进行编码。

本发明的另一个目的是提供一种并行或串行透平编码方法或装置,其中 对交织器用于在通信系统中交织输入数据,而不考虑帧大小为多大。

本发明还有一个目的是提供一种用于在将声音和数据信号编码成透平代 码的装置中的信道上传输尾部位(tail bit)以及从该尾部位产生的奇偶校验位 的方法和装置。

本发明还有一个目的是提供一种通过在将声音和数据信号编码成透平代 码的装置中的穿孔数据和奇偶校验信息,对数据传输率进行调整的方法和装 置。

为达到以上目的,提供了一种透平编码器。该透平编码器包括多个用于 对输入信息位进行编码的分量编码器,以及连接到所述多个分量编码器之一 的输入端的对角交织器,该对角交织器具有一表,用于存储对应于可变帧大 小的列和行信息、确定对应于输入信息的帧大小的列和行信息、和对信息位 对角交织。

按照本发明的另一方面,提供了一种透平编码器。该透平编码器包括多 个用于对输入信息位进行编码的分量编码器,以及连接到所述多个分量编码 器之一的输入端的循环移位交织器,该交织器具有一表,用于存储对应于可 变帧大小的跳跃和步进(hop and step)信息、确定对应于输入信息位的帧大小 的跳跃和步进信息以及对于信息位执行循环移位交织。

按照本发明的另一方面,提供了一种透平编码器。该透平编码器包括多 个用于对输入信息位进行编码的分量编码器,连接到所述多个分量编码器之 一的输入端、用于按照帧大小对信息位进行交织的一交织器,以及与分量编 码器一样多的尾部位生成器,这些位生成器对输入到用于终止帧的分量编码 器中的信息位进行分块(blocking)、分析分量编码器中的各存储装置的值,以 及生成尾部位以便终止输入数据的帧。

按照本发明的另一方面,提供了一种透平编码器。在该透平编码器中, 多个分量编码器对输入信息位进行编码。一交织器被连接到所述分量编码器 之一的输入端,用于按照帧大小交织信息位。与分量编码器一样多的尾部位 生成器,对输入到用于终止帧的分量编码器的信息位进行分块、分析分量编 码器中的各存储装置的值,并生成尾部位,以便终止输入数据的帧。第一穿 孔器(puncturer)以预定的速率穿孔输入信息位。第二穿孔器以预定的速率穿孔 分量编码器的输出,以便调整编码数据的传输速率。

具体来讲,本发明提供了一种透平编码器,用于对输入信息位进行编码, 所述编码器包括:第一分量编码器,用于对输入信息位进行编码,以生成第 一奇偶校验位;一交织器,用于交织所述输入信息位;第二分量编码器,用 于对所交织的输入信息位进行编码,以生成第二奇偶校验位;第一尾部位生 成器,用于生成第一尾部位,该第一尾部位用于初始化所述第一分量编码器 中的存储器;第二尾部位生成器,用于生成第二尾部位,该第二尾部位用于 初始化所述第二分量编码器中的存储器;第一切换器,用于在一帧终止时将 所述第一分量编码器的输入从输入信息位切换到第一尾部位;以及第二切换 器,用于在所述帧终止时将所述第二分量编码器的输入从交织后的输入信息 位切换到第二尾部位。

本发明还提供了一种信道编码方法,用在具有第一分量编码器和第二分 量编码器的信道编码器中,所述方法包括下列步骤:由所述第一分量编码器 生成输入信息位的第一奇偶校验位;对所述输入信息位进行交织;由所述第 二分量编码器生成交织后的输入信息位的第二奇偶校验位;生成第一尾部位, 该第一尾部位用于初始化所述第一分量编码器中的存储器;生成第二尾部位, 该第二尾部位用于初始化所述第二分量编码器中的存储器;以及在一帧终止 时,将所述第一分量编码器的输入从输入信息位切换到第一尾部位,并且将 所述第二分量编码器的输入从交织后的输入信息位切换到第二尾部位。

                         附图说明

通过参照附图详细描述本发明的优选实施例,本发明的以上目的和优点 将会变得更明朗。

图1是传统的并行连接(concatenate)的递归系统编码器的方框图;

图2是传统的串行连接的递归系统编码器的方框图;

图3是传统的并行连接的递归系统解码器的方框图;

图4是传统的串行连接的递归系统解码器的方框图;

图5是按照本发明的第一实施例的连接的递归系统编码器的方框图;

图6是按照本发明的第二实施例的连接的递归系统编码器的方框图;

图7是按照本发明的实施例的透平编码器中的交织器的方框图;

图8是表示图7所示的交织器中的第一对角交织运算的流程图

图9是表示图7所示的交织器中的第二对角交织运算的流程图;

图10是表示图7所示的交织器中的第一循环移位交织运算的流程图;

图11是表示图7所示的交织器中的第二循环移位交织运算的流程图;

图12是表示按照本发明的第二实施例,基于随机和块交织器的透平编码 的特性与基于循环移位交织的透平编码器的特性的对比的图;及

图13是按照本发明的实施例的透平编码器的方框图,是指用于描述尾部 位生成和穿孔的方框图。

                       具体实施方式

为使描述清晰,本发明的实施例将参照并行连接的递归透平编码器进行 描述,诸如串行递归透平编码器的其它结构将被考虑。图5和6是按照本发 明的实施例的透平编码器的方框图。类似于图1和图2的分量编码器,编码 器410和420是用于将输入信息位dk编码成奇偶校验符号Yk的分量编码器。 对角交织器432和循环移位交织器434是本发明的特征,并且在不特指某一 种的情况下将被称为交织器430。

参照图5和6,信息位dk被同时输入到第一分量编码器410和交织器430。 交织器430将修改排列好的信息位的顺序并且最好使相应于信息位dk的编码 输出顺序(Xk,Yk)的最小汉明距离最大化。因为数据中加入了CRC(循环冗余 检查)位和其它控制位,输入到信道编码器的数据帧的长度是可变的。基于帧 大小和交织器大小的区别,为强性固定数据帧的长度,应该加入空白比特。 但是,因为这些空白比特与提高系统性能无关,因此最好减少这些空白比特。 这样,交织器430提供了极好的性能和可靠的运算,而不管与帧大小相关的 参数。

图7是分别在图5和图6中所示的对角交织器432和循环移位交织器434 的方框图。对角和循环移位交织器432和434在接收到信息位时分析其相应 的可变帧大小,并且按照帧大小分析结果,用从系统控制器接收的与交织器 有关的参数来对输入信息位执行最优化交织。在对本发明的实施例的描述中, 对角交织器432和循环移位交织器434被结合成一体,然而,透平编码器可 特别地分别使用对角交织器或循环移位交织器。在下文中,对角交织器432 和循环移位交织器434被称为交织器430。

参照图7,寄存器511存储从系统控制器(未示出)接收的帧大小信号和交 织器类型信号。对角交织表513存储矩阵中的列数和行数M和N,该矩阵能 使关于对角交织中的帧大小得到最佳的对角交织特征。即,它存储了测定的、 能使带有可变帧大小的信息位对角交织最佳的M*N值。对角交织表513输出 对应于从寄存器511接收到的帧大小信号的M*N值。对角交织控制器517接 收来自对角交织表513的M*N值并且以指定的交织方法生成用于交织信息位 的读地址。

在循环移位交织的情况下,循环移位交织表515存储能使关于信息位的 帧大小的循环移位交织特征最佳的跳跃参数P和步进参数STEP。跳跃参数P 和步进参数STEP是经验测定的。循环移位交织表513输出对应于从寄存器 511接收的帧大小信号的参数P和STEP。循环移位交织控制器519接收来自 循环移位交织表515的参数P和STEP并且以指定的循环移位交织方法生成 用于对信息位进行交织的读地址。多路复用器521接收来自对角交织控制器 517和循环移位交织控制器519的读地址并且按照从寄存器511接收的交织 类型符号选择其中的一种。存储器523顺序接收信息位并且以交织顺序输出 存储在从多路复用器521接收到的读地址上的信息位。存储器523设计的大 小应足以容纳带有最大可变帧大小的信息位。

对于图7中仅有对角交织器432的结构,包括寄存器511、对角交织表 513、对角交织控制器517和存储器523。另一方面,对于图7中仅有循环移 位交织器434的结构,包括寄存器511、循环移位交织表515、循环移位交织 控制器519和存储器523。如果仅使用一种类型的交织,这两种情况都不需 多路复用器521和交织器类型信号。

对角交织表513和循环移位交织表515可由类似于ROM或RAM的存储 器或组合的逻辑装置组成。利用组合的逻辑装置或数字信号处理器,能实现 对角交织控制器517和循环移位交织控制器519。

图8和图9是典型的对角交织的流程图,而图10和图11是典型的循环 移位交织的流程图。作为示例将在下文描述的交织器,包括输入缓冲器

参照图7所示的交织器430的结构,将在下文中描述第一到第三对角交 织运算。

图8是第一对角交织运算的流程图。在图8中,第一对角交织包括在M*N 矩阵中重新排列输入位顺序的过程。对于第一对角交织,在步骤611,在接 收到信息位dk时,该信息位将被存储在用于在存储器523(图7)中顺序存储信 息位的地址old_addr[k]处,并且确定数据帧的大小k。接着,在步骤613,确 定用于对角交织的数据帧的列和行参数M*N。即,为实现对角交织,要基于 输入的帧数据大小k从对角交织表指定M*N值。按照输入帧大小k,可在查 找表中存储多个M*N值以供选择。另一方面,按照输入帧大小k,可计算最 佳的M*N值。在步骤615,决定M和N的最大公约数(greatest common divisor, GCD)是否为1。在步骤617,当M和N的GCD为1时,第一对角交织地址 如下运算。

for(k=0;k<M*N-1;k++)

    new addr[k]=(M-1-(k mod N))*N+(k mod N)    ......(1)

随着如公式(1)那样对输出缓冲器中的地址的指定,存储在输入缓冲器中 的输入信息位被交织并且存储在输出缓冲器中。

如果M和N的GCD不是1,即在步骤615中[GCD(M,N)≠1],将在步骤 619中确定交织失败并且中断程序。

在第一对角交织中,假定存储在old_addr[k]中的、M=6和N=5的数据顺 序为{0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29},那么存储在输出缓冲器中的new_addr[k]中的第一对角交织器输出顺 序为{25 21 17 13 9 0 26 22 18 14 5 1 27 23 19 10 6 2 28 24 15 11 7 3 29 20 16 12 8 4}。

输入数据和第一对角交织输出以M*N矩阵列表如下。

[表1]

输入顺序(M=6,N=5)                 交织顺序(M=6,N=5)

0  1  2  3  4                        25  21  17  13  9

5  6  7  8  9                        0   26  22  18  14

10 11 12 13 14                       5   1   27  23  19

15 16 17 18 19                       10  6   2   28  24

20 21 22 23 24                       15  11  7   3   29

25 26 27 28 29                       20  16  12  8   4

然而,以上的第一对角交织仅当M和N的GCD为1的情况下是可行的。 当GCD(M,N)≠1时,例如,M=6,N=6时,第一对角交织是不可能的并且相 同的数据被重写为如表2所示。

[表2]

输入顺序(M=6,N=6)                 交织顺序(M=6,N=6)

0  1  2  3  4  5                     30  25  20  15  10  5

6  7  8  9  10 11                    30  25  20  15  10  5

12 13 14 15 16 17                    30  25  20  15  10  5

18 19 20 21 22 23                    30  25  20  15  10  5 

24 25 26 27 28 29                    30  25  20  15  10  5

30 31 32 33 34 35                    30  25  20  15  10  5

第二和第三对角交织包括用于改变以M*N矩阵表示的输入信息位顺序 的过程,并且不管GCD(M,N)=1或≠1都能使输入数据进行交织。

图9是第二对角交织运算的流程图。参照图9,第二对角交织对M*N矩 阵中的输入位重新排序并且可应用在GCD(M,N)=1和GCD(M,N)≠1的两种 情况下。在第二对角交织中,当信息位dk被输入时,在步骤631中,信息输 入位被存储在地址old_addr[k]处,并且确定帧大小。在步骤633中,用于对 角交织的列和行参数(M*N)得以确定。在步骤635中,第二对角交织地址是 这样运算的:

for(j=0;j<M;j++)

   for(i=0;i<N;i++)

     new addr[i+j+N]=i+(M-1-(i+j)mod M)*N    ......(2)

其中i和j递增帧的存储单元。

随着如公式(2)那样对输出缓冲器中的地址的指定,存储在输入缓冲器中 的信息位被交织并存储在输出缓冲器中。

对应于M=6,N=5和GCE(M,N)=1的输入顺序的第二对角交织输出如表 3所示。

[表3]

输入顺序(M=6,N=5)                    交织顺序(M=6,N=5)

0  1  2  3  4                           25  21 17  13  9

5  6  7  8  9                           20  16 12  8   4

10 11 12 13 14                          15  11 7   3   29

15 16 17 18 19                          10  6  2   28  24

20 21 22 23 24                          5   1  27  23  19

25 26 27 28 29                          0   26 22  18  14

另外,M=6,N=6及GCD(M,N)≠1的输入顺序的交织如表4所示。

[表4]

输入顺序(M=6,N=6)                    交织顺序(M=6,N=6)

0  1  2  3  4  5                        30  25  20  15  10  5

6  7  8  9  10 11                       24  29  14  9   4   35

12 13 14 15 16 17                       18  13  8   3   34  29

18 19 20 21 22 23                       12  7   2   33  28  23

24 25 26 27 28 29                       6   1   32  27  22  17

30 31 32 33 34 35                       0   31  26  21  16  11

在第三对角交织中,对角交织控制器517由下式实现。

for(j=0;j<M;j++)

    for(i=0;i<N;i++)

     new addr[i+j+N]=i+((i+j)mod M)*N    .......(3)

输入顺序存储在映射存储器的地址处,然后由对角交织器432按列或行 顺序读取。否则,输入顺序以列或行存储在存储器中并且由对角交织器432 逐位从地址中读取。

解交织是以相反于交织输入数据的顺序来实现的。

图10是由循环移位交织器434实现的第一循环移位交织的流程图。第一 循环移位交织运算是在将输入顺序视为循环的情况下,在预定间隔中的数据 重新排序过程。不管其长度是多大,第一循环移位交织运算都能交织输入顺 序。

参照图10,在步骤711,输入信息位dk被存储在输入缓冲器的地址 old_addr[k]处,并且确定帧大小。在步骤713,参数P和STEP得以确定。这 里,P是确定循环移位交织器性能的跳跃间隔参数,这样根据经验可得到其 值从而取得最佳的效果。另外,STEP是用于将跳跃了P值的位置处的数据向 左或右移位,并且是整数值。然后,在步骤715将确定P和SIZE的GCD是 否为1。在步骤717,当GCD(P,SIZE)=1时,将由下式计算出第一循环移位 交织地址:

for(i=0;i<SIZE;i++)

   new addr[i]=(p*i+STEP)mod SIZE    .......(4)

其中,i是表示输入数据的帧大小的参数,或者表示小于输入数据帧大小 的帧大小的参数,其范围从0到SIZE,即,它是地址的数目,SIZE是帧大 小,p是满足GCD(SIZE,P)=1的自然数,以及STEP是整数并且表示开始点。

例如,对应于存储在输入缓冲器的new_addr[k]中的、SIZE=30的输入顺 序的第一循环移位交织输出存储在缓冲器的new_addr[k]中,即,如果P=11 且STEP=0,则{0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29}是{0 11 22 3 14 25 6 17 28 9 20 1 12 23 4 15 26 7 18 29 10 21 2 13 24 5 16 27 8 19}。输入顺序和第一循环移位交织输出顺序用表表示为:

[表5]

输入顺序(M=6,N=5)                    交织顺序(M=6,N=5,p=11)

0  1  2  3  4                       0  11  22  3  14

5  6  7  8  9                       25 6   17  28 9

10 11 12 13 14                      20 1   12  23 4

15 16 17 18 19                      15 26  7   18 29

20 21 22 23 24                      10 21  2   13 24

25 26 27 28 29                      5  16  27  8  19

然而,如果GCD(SIZE,p)≠1且p=6,那么第一循环移位交织会因相同的 数据被重写而不再可行。

假定用于输入顺序的SIZE=30存储在初始存储器的顺序地址odd_addr[k] 中,P=11且STEP=0,则相应于图10的第一循环移位交织的交织结果用M*N 矩阵表示如下:

[表6]

输入顺序(M=6,N=5)                交织顺序(M=6,N=5,p=6)

0  1  2  3  4                       0  6  12  18  24

5  6  7  8  9                       0  6  12  18  24

10 11 12 13 14                      0  6  12  18  24

15 16 17 18 19                      0  6  12  18  24

20 21 22 23 24                      0  6  12  18  24

25 26 27 28 29                      0  6  12  18  24

如图11所示,第二循环交织方案包括允许在GCD(SIZE,p)≠1的情况下 进行交织。第二循环移位交织是数据重组过程,其中输入顺序被视为d× SIZE/d的矩阵,行被第一循环移位交织,而列被块交织(block interleaved)。

图11是第二循环移位交织的流程图,它在GCD(SIZE,p)=1或≠1的情况 都可被应用。在第二循环移位交织运算中,在步骤721,输入信息位被存储 在存储器的顺序地址odd_addr[k]处并且大小将得到确定。这里,SIZE是表示 输入数据的大小的参数。在步骤723,确定用于循环移位交织的参数P和 STEP。在步骤725,第二循环移位交织地址将由公式(5)取得。

d=GCD(P,SIZE);

  for(k-j=0;j<d;j++)

     for(addr[k]=((p*i+STEP)+j)mod SIZE    ......(5)

其中,i和k介于0和SIZE之间,j是地址参数,其范围从0到d,P是 用于实现循环移位交织的跳跃参数,以及STEP是通过将放置在P设定的位 置中的数据移位到左或右来决定开始点的参数。

公式(5)中,(P×i+STEP)代表循环移位交织运算而j表示块交织运算。SIZE 是输入数据的大小,p是自然数,而STEP是整数。

当SIZE=30且P=11时,第二循环移位交织输出以M×N表示为:

[表7]

输入顺序(M=6,N=5)                交织顺序(M=6,N=5,p=11)

0  1  2  3  4                       0  11  22  3  14

5  6  7  8  9                       25 6   17  28 9

10 11 12 13 14                      20 1   12  23 4

15 16 17 18 19                      15 26  7   18 29

20 21 22 23 24                      10 21  2   13 24

25 26 27 28 29                      5  16  27  8  19

它与表6的顺序相同。然而当GCD(SIZE,p)≠1时,

[表8]

输入顺序(M=6,N=5)                交织顺序(M=6,N=5,p=15)

0  1  2  3  4                       0  15  1  16  2

5  6  7  8  9                       17 3   18 4   19

10 11 12 13 14                      5  20  6  2   17

15 16 17 18 19                      22 8   23 9   24

20 21 22 23 24                      10 25  11 26  12

25 26 27 28 29                      27 13  28 14  29

在输入顺序存储在映射存储器的地址后,由循环移位交织器按列或行顺 序读取数据。否则,输入顺序将按列或行顺序存储在存储器中并且随后从地 址中逐位读取。

解交织器以相反于交织输入数据的顺序来实现。

图12是表示按照本发明的第二实施例的并行连接的透平编码器中循环 移位交织器的性能。在K=3、输入104位帧、8个迭代解码、BPSK(Bi-Phase Shift Key,双相移位键)调制和AWGN(Additive White Gaussian Noise,附加白 高斯噪声)的分量代码的条件下,大量使用的块和随机交织器与循环移位交织 器就BER相互比较。从图12得知,在BER为10-5情况下,循环移位交织器 的Eb/No是3dB,而块交织器的Eb/No是3.4dB。因此,可以推断循环移位 交织器在性能上优于块交织器0.4dB。

图13是按照本发明的实施例的透平编码器的方框图。

参照图13,第一分量编码器410例如以K=3对输入信息位进行编码。交 织器430以预定的方法对信息位进行交织以便修改信息位的顺序。交织器430 可按图7所示的那样构造。在这种情况下,可以实现第一到第三对角交织和 第一到第三循环移位交织中的一种。第二分量编码器420例如以K=3对交织 器430的输出进行编码。

第一尾部位生成器450包括:异或451,用于对第一分量编码器410 的存储器412和413的输出进行异或运算;以及位生成器453,用于按照异 或门451的输出生成用于终止帧的信号、并且将该信号施加到第一切换器 455。当一帧终止时,第一切换器455连接到第一分量编码器410,并且,帧 终止信号被生成。第二尾部位生成器460包括:异或门461,用于对第二分 量编码器420的存储器422和423的输出进行异或运算;以及位生成器463, 按照异或门461的输出,生成帧终止信号且将该信号施加到第二切换器465。 当一帧终止时,第二切换器465连接到第二分量编码器420并且,帧终止信 号被生成。

第一穿孔器470对信息位穿孔。第二穿孔器480对从第一和第二分量编 码器410和420接收的编码数据进行穿孔。第一和第二穿孔器470和480用 于调整数据传输率。多路复用器491对位生成器453和463的输出进行多路 复用。当一帧终止时,第三切换器493将从多路复用器491接收的尾部位切 换到传输信道。

第一和第二尾部位生成器450和460分别生成用于终止第一和第二分量 编码器410和420的运算的尾部位。第一和第二穿孔器470和480的功能是 将传输率调整到可接受的平。

参照图13,透平代码含有用于终止分量编码器410和420的尾部位。在 这里,因为透平代码的分量代码是系统化的,所以即便是如同在非系统化的 卷积代码中那样输入连续的0,分量编码器410和420的存储器412和413、 以及422和423都不被初使化。为了将最接近输入的存储器中的值设为0, 第一和第二分量编码器410和420得利用尾部位生成器将反馈值的和输入到 存储器中。因此,透平编码器需要与每个分量编码器的存储器一样多的尾部 位。第一和第二切换器455和465基于尾部位的生成而进行切换。接着,从 尾部位生成的奇偶校验位从第一和第二分量编码器410和420施加到第二穿 孔器480中,并且从尾部位器生成的尾部位被第三切换器493切换,以作为 信息位Xk输出。

最好将传输率设定成2的幂,以便减小硬件的复杂性。然而,在使用具 有1/2的代码率(code rate)的透平代码时,384kps的传输率不可能是2的幂。 在这种情况下,1/2透平代码被穿孔成3/8透平代码。特别地,在144kps的 情况下,1/2透平代码被穿孔成9/16透平代码。9/16穿孔矩阵典型地表示为:

[表9]

信息位                     111111111111111111

RSC1                       1 00101 00101 001 0010

RSC2                       01 001 00101 00101 001

[表10]

信息位                     111 01111 0111 01111 0

RSC1                       101010101010101010

RSC2                       010101010101010101

在表9和表10中,信息位是dk,它被施加到第一穿孔器470,而RSC1 是奇偶校验位,它从第一分量编码器410施加到第二穿孔器480。在这里, 表9典型地表示了从分量编码器410和420输出的奇偶校验位的穿孔。这种 情况下,有几个相应于奇偶校验位的连续的0。即,当奇偶校验位被穿孔以 便调整传输率时,如同表9中下划线所表示的那样,0连续地出现了。然而, 由于每个分量编码器410和420中有两个存储器,除非连续传输两个或更多 的奇偶校验位,否则就会产生严重错误。因此,在本发明中信息位如表10中 那样被穿孔。表10表示与表9中的穿孔矩阵不同之处在于9/16穿孔矩阵中 连续地传输了两个或更多的奇偶校验位。而且,由于迭代解码的次数增加, 透平代码的性能得到了提高。

按照本发明以上的描述,透平代码由于时延不能用于通信系统中的声音 和数据传输,却可通过引入具有减小的大小的交织器而被应用在声音和数据 传输中,且表现出相对于透平编码器中的透平代码的优良性能。而且,具有 优良性能的交织器减少了透平编码器中的分量编码器的状态数量,从而又降 低了解码器的复杂性。另外,按照本发明以上描述的一个实施例,通过穿孔 输入信息,可提供多种编码率。

尽管对本发明已经参照特定的实施例进行了详细描述,但这仅仅是示例 性的应用。因此,应该清楚地知道,在由所附权利要求提出的本发明的范围 和精神下,可由本领域的普通技术人员对其作各种修改。

申请是申请号为98807352.8、申请日为1998年7月30日、题目为“自 适应信道编码方法和装置”的专利申请的分案申请。

QQ群二维码
意见反馈