具有基于状态机的交织器的编码系统的制作方法

文档序号:7587081阅读:171来源:国知局
专利名称:具有基于状态机的交织器的编码系统的制作方法
技术领域
本发明涉及编码。本发明特别涉及新颖和改进的交织编码与译码技术。
背景技术
“Turbo编码”是前向纠错(FEC)领域内重要的进展。Turbo编码有许多种,但是大多数采用由结合交互译码的交织步骤分隔的多重编码步骤。这种组合提供了先前在通信系统噪声下无法达到的性能。即,Turbo编码允许在先前利用现有前向检错技术时无法接受的Eb/No电平下进行通信。
许多系统采用前向检错技术,因此得益于Turbo编码。例如,Turbo编码可以改进无线卫星链路的性能,在这种场合卫星受到限制的下行链路发射功率要求接收机系统必需能够在低Eb/No电平下工作。
诸如数字蜂窝和PCS电话系统之类的数字无线电信系统也采用前向纠错。例如,IS-95空中接口标准及其衍生标准(例如IS-95B)对利用卷积编码提供编码增益以提高系统容量的无线通信系统作了定义。在题为“CDMA蜂窝电话系统中产生信号波形的系统和方法”的美国专利5,103,459中描述了基本上遵守IS95标准的RF信号处理系统和方法,该专利被转让给了本发明的受让人并且作为参考文献(’495专利)包含在本文中。
由于IS-95之类的数字无线通信系统基本上被用于移动通信,因此重要的是使设备功耗尽可能地小并且小巧轻颖。一般而言,这就要求研制完成大多数或全部必要处理的半导体集成电路(“芯片”)。虽然卷积编码比较复杂,但是完成卷积编码和译码所需的电路可以与其他必需的电路集成在单片芯片上。
Turbo编码(特别是译码操作)要比卷积编码明显复杂。毫无疑问,将Turbo编码纳入数字无线电信系统(包括移动数字通信系统)内是非常需要的。因此本发明的目标是降低实现Turbo编码的复杂程度,并便于在移动系统或关注功耗和电路尺寸的系统内使用Turbo编码。

发明内容
本发明为实现特定应用下Turbo编码的新颖改进技术或者迭代编码技术。根据本发明的一个实施例,通过利用PN状态生成器生成存储器地址来实现交织。数据被顺序写入存储器并随后利用PN状态生成器定义的地址读取。为了去交织,利用PN状态生成器将交织数据写入存储器,随后按顺序读取。提供了一组具有出色编码性能的PN状态生成器。
附图简述通过以下结合附图对本发明的描述将更加深入地理解本发明的特征、目标和优点,附图中相同的标号代表相同或类似的部分,其中

图1A和1B为根据本发明实施例配置的Turbo编码器的框图;图2为按照本发明实施例配置的交织器的框图;图3A和3B为按照本发明实施例配置的PN编码生成器的示意图;图5A和5B为按照本发明实施例配置的译码器的框图;图6为本发明实施例性能的曲线图;图7为本发明另一实施例性能的曲线图。
实施发明的较佳方式本发明是实现Turbo编码的新颖改进技术。以数字蜂窝电话系统为例描述示意性实施例。虽然这种含义下的应用具有优点,但是本发明不同实施例可以纳入不同的环境或配置。通常,所述各种系统可以利用软件控制的处理器、集成电路或分立逻辑电路来实现,但是比较好的是集成电路方式。用电压、电流、电磁波、磁场或粒子、光学场或光子或者它们的组合表示整个应用中引用的数据、指令、命令、信息、信号、符号和芯片是有益的。此外,每张框图内的方框可以代表硬件或方法步骤。
图1A和1B高度简化地示出了两种Turbo编码器。图1A示出了并联Turbo编码器。编码器1和交织器2接收一般为用户信息或控制数据的编码器输入数据4。编码器1输出系统符号5(一般为原始输入比特)和一致校验符号3。编码器6接收交织器2的交织输出并且输出第二组一致校验符号7。编码器1和编码器6的输出混合入1/3总编码率的输出数据流。附加的编码器和交织器对可以加入以降低编码率从而提高正向纠错能力。
编码器1和6可以是各种类型的编码器,包括块编码器或卷积编码器。作为卷积编码器,编码器1和6一般具有例如4(四)的较小约束长度以减少复杂性,并且是递归系统卷积(RSC)编码器。较小的约束长度降低了相应译码器的复杂程度。一般情况下,对于R=1/2编码率的每个接收比特,这两个编码器输出两个一致校验符号。但是由于截去了编码器6的系统比特,所以图1ATurbo编码器的总编码率为R=1/3。附加的交织器和编码器对也可以并联加入以减小编码率,由此提供更强的纠错能力。
图1B示出了串联Turbo编码器。输入数据13由编码器10编码并且一致校验符号被施加到交织器12上。最终的交织一致校验符号被提供给编码器14,完成附加编码以生成一致校验符号15。编码器10(外侧编码器)一般可以是各种类型的编码器,包括块编码器或卷积编码器,但是编码器14(内侧编码器)必需是递归编码器并且一般是递归系统编码器。
作为递归系统卷积(RSC)编码器,编码器10和14以R<1的码率生成符号。即,对于给定数量的输入比特N,生成M个输出符号,这里M>N。图1B串联Turbo编码器的总编码率为编码器10的编码率乘以编码器14的编码率。附加的交织器和编码器对也可以串联加入以减小编码率,由此提供附加的纠错能力。
图2为按照本发明实施例配置的交织器的框图。利用交织器可以用作图1A或1B电路内的交织器2或12。在交织器内部,存储器26从混合器20接收编码器输入数据19以及地址数据21。混合器20从计数器18或PN状态机22和地址滤除器24提供地址数据21。控制系统(为方便起见未画出)控制混合器20、计数器18、PN状态机22和地址滤除器24。控制系统比较好的是由运行存储在存储器内的软件指令的微处理器或DSP组成。
在运行期间,编码器输入数据19利用混合器20把计数器18用于地址输入而指定的地址写入存储器26。一旦一块编码器输入数据19被写入存储器16,则通过在地址滤除器24滤除之后将PN状态机22经混合器20应用至存储器26的地址输入将数据读取至编码器14。由此,相对编码器10接收的编码器数据,数据被以另一种顺序读取至编码器。
为了实现去交织,当数据被写入时PN状态机被作用于存储器的地址输入上,并且当数据被写出时计数器被作用于存储器的地址输入上。如本申请所述,译码时利用图2的交织器可以得到与编码相同的好处。
地址滤除器24从可寻址存储器空间大于存储器26的PN状态机中去除地址。在运行期间,地址滤除器24从PN状态机22接收地址。长度为L的PN生成器可能的地址组等于2L-1,这里L为PN状态中的比特数。当存储器26的大小为小于2L-1的N时,地址滤除器24确定来自PN状态机22的地址何时大于存储器大小N。如果大于,则地址滤除器传信PN状态机22切换至下一状态,并且再次完成比较。只要来自PN状态机22的地址超过N,地址滤除器24将继续提升PN状态机22的状态直到生成小于N的地址。因此,通过调整N并且增加或减少PN状态机22生成的比特数,可以借助N值的改变容纳不同大小的存储器。
显然,状态生成器必须选择为在覆盖所有可能状态之前PN状态机不会进入同一状态两次。如果PN生成器产生最大长度移位寄存器序列,则将满足条件。使PN生成器成为Galois域GF2中的本原多项式是一种达到这种特性的方式。而且状态机的大部分有效位用逻辑1初始化,随后以逻辑0初始化其余位置。也可以采用其他初始化值。
如上所述,地址滤除器确保仅仅施加存储器范围内的地址。显然,比较好的是选择不产生大于N的较大地址序列的PN状态生成器。换句话说,选取生成器长度L为2L-1≤N<2L是有好处的。而且比较好的是为PN状态机22配备使PN生成器具有多次进入将来状态的能力,并且存储存储器26处理循环期间的中间状态列表,从而以足够的速度生成合适的地址。这确保PN时钟速率最多是交织器速率的两倍。
在本发明的另一实施例中,可以从PN状态机生成的地址中减去数值V。结果只有落在1—N范围内时才保留地址。数值V为1或64是认可的。在本发明另一实施例中,当状态机最右边寄存器的数值介于V与N-1+V之间时可以减去数字V,否则就不减去V。
众所周知,采用简单的“块”交织对Turbo编码的性能无优化作用。但是不采用块交织,或者采用其他更为常见的交织方案,一般需要采用“查询表”,它定义了应该读取数据的地址序列。
对于需要优化实现Turbo编码的较大尺寸的块,这种查询表需要相当数量的额外的片上存储空间,有时候与交织器存储器本身的容量同等量级。这种存储可能占据可观的芯片空间,从而增加芯片的成本和功耗。因此本发明的优势是更加有效地实现交织,以在尽可能少地增加复杂程度的情况下高质量地完成编码和译码。通过利用PN状态机生成地址,可以实现更为复杂的交织,并且因此可以较少的电路空间和功耗实现较高质量的编码和译码。
在本发明替换实施例中,计数器18可以用另一状态机代替。第二PN状态机可以代替计数器18,只要这两个PN状态机以不同的顺序覆盖所需的地址空间。(另一种办法是将计数器简单地视为其PN序列等于二进制计数序列的PN状态机。)在本发明的替换实施例中,生成的PN状态序列调整为以略微增加复杂性为代价进一步提高性能。对于一组PN状态S1、S2、S3…SN,寻找相对于PN序列2L-1周期为质数的整数k。随后将状态序列定义为S(ki mod N)+1一指数I,其中0≤I<N。如果N=2L-1,这等同于k次计时PN生成器以获得下一PN状态。通过将k选择为L的量级可以明显改进性能。
在本发明另一实施例中,可以交织两个或更多的交织器以生成跨度更大的单个交织器。两个交织器可以都是基于多项式的,并且一般采用不同的多项式。也考虑到将基于多项式的和其他类型的交织器组合起来。
在一个实例中,可以并行使用两个等长度的交织器以生成单个排列(permutation),其中分开排列一致校验指数。如果译码器需要在不使用双端口存储器的情况下同时访问交织器输入/输出的两个相邻符号,则分开排列是有用的。
在另一实例中,不同大小的交织器可以交织形成更大的非2的整数次幂交织器。例如,跨度为2047和1023的交织器可以交错构造出跨度为3070的更大的交织器。两个组成交织器由阶数分别为11和10的本原多项式获得。
图3A和3B示出了根据本发明实施例配置的两个PN序列生成器。参见图3A,一组锁存器50(1)—50(L)存储状态变量S1—SL。多项式系数C1—CL-1被施加在与门52(1)—52(L-1)上,与门还接收状态变量S1—SL-1。状态变量S1—SL-1还施加在下一锁存器的输入上。
异或门54(1)—(L-1)接收与门52(1)—(L)的输出。异或门54(1)—54(L-2)还接收相邻异或门54(2)—54(L-1)的输出,并且异或门54(L)还接收锁存器50(L)的输出。异或门54(1)的输出为PN状态机的输出以及对锁存器50(1)的输入。
在操作期间,多项式系数确定状态变量随数据计时的变化。不同多项式的应用改变了生成的特定PN序列,并且选择某些多项式生成可以近乎优化地实现交织的地址序列。通过利用PN生成序列,可以采用如图2A所示的电路。这种电路占据的电路面积比相应的查询表要明显的少,并且因此减小了实现Turbo编码器所需的总体芯片面积。
图3B提供了生成PN状态的替换方法。异或门62(1)—62(L-2)耦合于锁存器62(0)—62(L)之间,并且锁存器60(0)的输出施加在与门64(1)—64(L-1)以及锁存器60(L-1)上。与门64(1)—64(L-1)还接收多项式系数C(1)—C(L-1)。与门64(1)—64(L-1)的输出施加在异或门62(1)—62(L-2)上。如图2A所示,不同多项式的应用改变了生成的特定PN序列,并且选择某些多项式生成可以近乎优化地实现交织的地址序列。
根据本发明的实施例,对于某些数值的L并且因此也是对于不同大小的地址空间,表I示出了PN状态机中所用的多项式

表I.
一般情况下,多项式内特定阶数单元如果存在,则相应的系数C设定为逻辑1;否则系数设定为0。本领域内技术人员将会发现利用特定多项式或一些变体实现PN状态机的各种方式。而且地址的比特数比较好的是给出的最大地址大于或等于存储器容量N的最小数L。
表II提供了更多可用于本发明替换实施例的多项式

表II表III提供了更多可用于本发明替换实施例的多项式

表III图4为本发明的替换和更广义的实施例的框图。在该本发明替换实施例中,通过将行—列地址生成器与一个或多个PN地址生成器组合实现交织器地址生成。如图所示,交织器存储器200具有数据输入—输出(I/O)202和地址输入204。地址输入204由行输入206和列输入208组成。
列多路复用器210向列输入208提供列计数器212或列PN地址生成器的输出。行多路复用器220向行输入206提供行计数器222或行PN地址生成器214的输出。列PN地址生成器214从PN多项式组216接收多项式值并且行PN地址生成器214从PN多项式组226接收多项式值。
在一个实施例中,每行与长度为c的PN地址生成器相连,特定的生成器由PN多项式组226内存储的不同多项式定义。同样,每列与长度为r的PN交织器相连,特定的生成器由PN多项式组216内存储的不同多项式定义。与不同行或列相连的交织器可以相同或不同。此外,在本发明替换实施例中,列或行地址生成器的任意一个可以是基于PN地址生成器以外的生成器,例如比特逆转地址生成器、循环位移地址生成器或者甚至是恒等式地址生成器。
在操作期间,利用行计数器222,将被交织数据逐行写入交织器缓冲器,而利用列PN地址生成器214选择列。当读取数据时,利用行PN地址生成器224寻址每行并且利用列计数器212寻址列。显然,读取和写入的顺序可以互换。
比较好的是,通过从PN多项式组加载新的多项式,对寻址的每行或列改变PN地址生成器采用的多项式。不同的多项式可以利用表I—III列出的多项式的“镜像”生成,此时逻辑1被设定为0并且反之亦如此。其他逐行(或者逐列)改变地址生成的方法也可以采用。例如,PN状态机的起始状态可以逐行改变。对于各行,PN状态机可以不同的次数计时。而且不同的状态机(例如图3的二个状态机)可以用于不同的行。使用图4所示交织器在最小程度增加复杂性的情况下提高了性能。
图5A为根据本发明实施例配置的并行Turbo编码的译码器框图。接收数据在输入40上接收并且施加在译码器44和交织器46上。去交织器46的输出施加在译码器48上并且译码器44和48的输出施加在求和器50上。求和器50的输出构成译码器的输出,但是还作为第二输入,通过混合器42施加以用于迭代译码。此外,译码器48和译码器44经交织器50和去交织器52耦合。
在示意性的操作中,译码器44和译码器48接收的数据在交织器54和去交织器52交织和去交织后被重复译码和交换。一旦完成所需次数的迭代或者达到所需的误差水平,则从求和器50提取输出。
图5B为根据本发明实施例配置的串行Turbo编码的译码框图。输入数据70由译码器72接收,译码器72的输出施加在去交织器76上。去交织器74的去交织输出被施加在译码器76上。译码器76的输出被施加在去交织器78上,去交织器78的输出被施加在译码器72上。译码器76的输出还构成串行高速译码器的输出。
在示意性操作中,接收的符号由译码器72和76重复译码。一旦完成所需次数的译码器迭代或者达到所需的误差水平,则从译码器76提取输出。
在本发明的实施例中,除了PN状态机在写入时作用而计数器在读取时起作用以外,图4A和4B的去交织器的配置方式与图2所示的相似。交织器比较好的是如图2所示配置。
图6为曲线图,示出了利用1/4码率串接Turbo编码的特定多项式的性能,它与其他需要使用查询表的交织方案作了比较。数值K为被处理的数据帧大小。示出了理想交织器和基于PN的交织器下的帧误码率(FER)和比特误码率(BER)。如图所示,基于PN的交织方案的性能与查询表在1×10-3的误码率(误码机率)下几乎相同。对于基于IS-95的CDMA无线电信系统以及许多其他数字无线系统,这种误码率是比较好的操作水平。因此电路空间的节省可以只是略微或者不降低基于PN的交织方案的性能。
图7为曲线图,示出了1/2码率串接Turbo编码,它与其他需要使用查询表的交织方案作了比较。理想与基于PN的交织器的差异在1×10-3的误码率下较小。因此电路空间的节省可以只是略微或者不降低基于PN的交织方案的性能。
以上描述了实现Turbo编码的新颖改进的计数。上述提供的较佳实施例使本领域内的技术人员能够制作或使用本发明。对于本领域内的技术人员来说,对这些实施例作各种修改是显而易见的,并且无需创造性的活动即可将这里定义的通用原理应用于其他实施例。因此本发明并不局限于所示实施例而是由这里揭示的原理和新特征限定。
权利要求
1.一种译码编码数据的方法,其特征在于包含以下步骤(a)利用第一地址生成单元将编码数据写入存储器;以及(b)利用第二地址生成单元从所述存储器读取编码数据。
2.如权利要求1所述的方法,其特征在于步骤(b)包含以下步骤通过使PN状态机递增生成一组地址。
3.如权利要求2所述的方法,其特征在于包含以下步骤如果所述地址大于数字N,则从所述地址组去除地址,这里N为待交织的编码数据量。
4.如权利要求3所述的方法,其特征在于所述PN状态机具有L比特的状态,这里L为满足下列方程的最小数N<=2L-1。
5.如权利要求1所述的方法,其特征在于所述第二地址单元包括利用下列多项式的状态机当存储器容量大于256并且小于等于511时,1+D^4+D^9;当存储器容量大于511并且小于等于1023时,1+D^3+D^10;当存储器容量大于1023并且小于等于2047时,1+D^2+D^11;当存储器容量大于2047并且小于等于4095时,1+D+D^4+D^6+D^12;当存储器容量大于4095并且小于等于8191时,1+D+D^3+D^4+D^13;当存储器容量大于8191并且小于等于16383时,1+D+D^3+D^5+D^14;当存储器容量大于16383并且小于等于32767时,1+D+D^15。
6.一种编码数据的系统,其特征在于包括大小为N的存储器,包含地址输入和数据输入;计数器装置,用于当数据写入所述存储器时控制所述地址输入;以及PN状态机,用于当读取所述存储器数据时控制所述地址输入。
7.如权利要求5所述的系统,其特征在于进一步包括地址滤除器,用于去除大于所述PN状态机生成的N的数值。
8.如权利要求6所述的系统,其特征在于进一步包括与所述存储器耦合的第一编码器,用于生成第一一致校验符号以响应输入数据。
9.如权利要求6所述的系统,其特征在于进一步包含第二编码器,用于编码从所述存储器接收的符号。
10.一种译码数据的方法,其特征在于包含以下步骤利用PN状态机定义的第一组地址写入所述数据;以及利用计数器定义的第二组地址读取所述数据。
11.如权利要求10所述的方法,其特征在于包含以下步骤如果所述地址大于数字N,则从所述第一组地址去除地址,这里N为待交织的编码数据量。
12.如权利要求10所述的方法,其特征在于所述PN状态机利用下列多项式当存储器容量大于256并且小于等于511时,1+D^4+D^9;当存储器容量大于511并且小于等于1023时,1+D^3+D^10;当存储器容量大于1023并且小于等于2047时,1+D^2+D^11;当存储器容量大于2047并且小于等于4095时,1+D+D^4+D^6+D^12;当存储器容量大于4095并且小于等于8191时,1+D+D^3+D^4+D^13;当存储器容量大于8191并且小于等于16383时,1+D+D^3+D^5+D^14;当存储器容量大于16383并且小于等于32767时,1+D+D^15。
13.一种译码器,其特征在于包括大小为N的存储器,包含地址输入和数据输入;PN状态机,用于当数据写入所述存储器时控制所述地址输入;以及计数器装置,用于当读取所述存储器数据时控制所述地址输入。
14.如权利要求13所述的译码器,其特征在于进一步包括地址滤除器,用于去除大于所述PN状态机生成的N的数值。
15.如权利要求14所述的译码器,其特征在于进一步包括与所述存储器耦合的第一编码器,用于生成第一一致校验符号以响应输入数据。
16.如权利要求15所述的系统,其特征在于进一步包含第二编码器,用于编码从所述存储器接收的符号。
17.一种在Turbo编码器内实现交织的方法,其特征在于包含以下步骤(a)生成第一组基于PN的地址;(b)利用所述第一组基于PN的地址作为行地址将数据写入存储器;(c)利用行地址计数器读取所述数据。
18.如权利要求17所述的方法,其特征在于进一步包括下列步骤在所述写入步骤中,利用计数器生成列地址;在所述读取步骤中,利用计数器生成行地址。
19.如权利要求17所述的方法,其特征在于利用下列多项式组中选定的多项式生成所述基于PN的地址
20.一种在Turbo编码器内实现交织的方法,其特征在于包含以下步骤(d)生成第一组基于PN的地址;(e)利用所述第一组基于PN的地址作为列地址将数据写入存储器;(f)利用列地址计数器读取所述数据。
21.如权利要求17所述的方法,其特征在于进一步包括下列步骤在所述写入步骤中,利用计数器生成列地址;在所述读取步骤中,利用计数器生成行地址。
22.如权利要求17所述的方法,其特征在于利用下列多项式组中选定的多项式生成所述基于PN的地址
全文摘要
本发明为实现特定应用下Turbo编码的新颖改进技术或者迭代编码技术。根据本发明的一个实施例,通过利用PN状态生成器生成存储器地址来实现交织。数据被顺序写入存储器并随后利用PN状态生成器定义的地址读取。为了去交织,利用PN状态生成器指定的地址将交织数据写入存储器,随后按顺序读取。提供了一组具有出色编码性能的PN状态生成器。
文档编号H04L1/00GK1329777SQ9981427
公开日2002年1月2日 申请日期1999年10月12日 优先权日1998年10月13日
发明者N·辛德胡萨雅那, R·维贾雅恩, J·斯坦因, 林福云 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1