一种Turbo码译码装置及方法转让专利

申请号 : CN200710175749.X

文献号 : CN101409599B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈军毕海孙韶辉

申请人 : 电信科学技术研究院

摘要 :

本发明公开一种Turbo码译码装置及方法,将两个结构相同的、双二进制的分量码译码器,通过双层交织器和双层去交织器进行级联,实现Turbo码译码方案,对于每个分量码译码器,可采用特定的17种分量码中的任意一种。采用本发明的方法及装置,能在降低译码复杂度的同时,实现更好的译码性能。

权利要求 :

1.一种Turbo码译码装置,其特征在于,该译码装置包括:第一分量码译码器、第二分量码译码器、交织处理单元、去交织处理单元及判决单元;其中,所述第一分量码译码器,用于对对应于系统位比特、校验位比特和尾比特的接收信息进行双二进制译码;

所述第二分量码译码器,用于对对应于校验位比特和尾比特的接收信息、以及经过加权和交织处理的第一分量码译码的结果进行双二进制译码;

所述交织处理单元,用于对第一分量码译码器的译码输出信息进行加权处理和交织处理;

去交织处理单元,用于对第二分量码译码器的译码输出信息进行加权处理和去交织处理;

判决单元,用于在译码结束时进行判决处理,输出最终的Turbo译码结果,其中,所述交织处理单元和所述去交织处理单元均为双层交织/去交织结构,其中的外层交织为组间交织,内层交织为组内置换。

2.根据权利要求1所述的Turbo码译码装置,其特征在于,所述交织处理单元进一步包括交织器和第一信息处理单元;其中,所述交织器,用于进行交织处理;

所述第一信息处理单元,用于对第一分量码译码器的译码输出信息进行加权处理。

3.根据权利要求2所述的Turbo码译码装置,其特征在于,所述交织器包括一个或两个双层交织器。

4.根据权利要求3所述的Turbo码译码装置,其特征在于,所述交织器进一步包括外层交织单元和内层交织单元,分别对输入信号进行外层交织处理和内层交织处理。

5.根据权利要求4所述的Turbo码编码装置,其特征在于,所述外层交织单元,用于实现基于二次置换多项式的交织处理;

所述内层交织单元,对组内的信号进行置换处理。

6.根据权利要求2所述的Turbo码译码装置,其特征在于,所述第一信息处理单元由两个运算器和一个乘法器组成;

所述两个运算器和一个乘法器均位于交织器的输入侧,或分别位于交织器的输入侧和输出侧。

7.根据权利要求1所述的Turbo码译码装置,其特征在于,所述去交织处理单元进一步包括去交织器和第二信息处理单元;其中,所述去交织器,用于进行去交织处理;

所述第二信息处理单元,用于对第二分量码译码器的译码输出信息进行加权处理

8.根据权利要求7所述的Turbo码译码装置,其特征在于,所述去交织器包括一个或两个双层去交织器。

9.根据权利要求8所述的Turbo码译码装置,其特征在于,所述去交织器进一步包括外层去交织单元和内层去交织单元,分别对输入信号进行外层去交织处理和内层去交织处理。

10.根据权利要求9所述的Turbo码编码装置,其特征在于,所述外层去交织单元,用于实现基于二次置换多项式的去交织处理;

所述内层去交织单元,对组内的信号进行置换处理。

11.根据权利要求7所述的Turbo码译码装置,其特征在于,所述第二信息处理单元由一个运算器和一个乘法器组成;

所述一个运算器和一个乘法器均位于去交织器的输入侧,或均位于去交织器的输出侧,或分别位于去交织器的输入侧和输出侧。

12.根据权利要求1至11任一项所述的Turbo码译码装置,其特征在于,所述第一分量码译码器和第二分量码译码器使用结构相同的、双二进制分量码译码结构;

所使用的分量码生成多项式包括一个反馈多项式和一个或一个以上前馈多项式,所述一个以上前馈多项式为不同的前馈多项式;所述分量码使用双二进制的编码结构。

13.根据权利要求12所述的Turbo码译码装置,其特征在于,当所述分量码使用一个前馈多项式和一个反馈多项式时,所使用的分量码为(11,13)、(11,15)、(13,11)、(13,15)、(13,17)、(15,11)、(15,13)、(15,17)中任意一种;

当所述分量码使用两个前馈多项式和一个反馈多项式时,所使用的分量码为(11,13,

15)、(13,11,15)、(13,11,17)、(13,15,17)、(15,11,13)、(15,11,17)、(15,13,17)中任意一种;

当所述分量码使用三个前馈多项式和一个反馈多项式时,所使用的分量码为(13,11,

15,17)、(15,11,13,17)中任意一种;

其中,每个括号中的第一个参数为以八进制数表示的分量码的反馈多项式,其余参数均为以八进制数表示的分量码的前馈多项式。

14.根据权利要求1至11任一项所述的Turbo码译码装置,其特征在于,所述判决单元进一步将输入信号进行分组,按每组对应系统位取值的概率进行判决处理。

15.根据权利要求1至11任一项所述的Turbo码译码装置,其特征在于,该装置进一步包括一运算器,将对应于系统位比特的原始的接收信息,与对应于系统位比特的先验信息相加,之后将运算结果作为第一分量码译码器的输入。

16.一种Turbo码译码方法,其特征在于,该译码方法包括:将对应于系统位比特、校验位比特和尾比特的接收信息进行第一分量码译码,并将对应于校验位比特和尾比特的接收信息、以及经过加权和交织处理的第一分量码译码的结果进行第二分量码译码;之后,对第二分量码译码的结果进行加权和去交织处理;译码结束时进行判决并输出最终的Turbo译码结果,其中,所述第一分量码译码和所述第二分量码译码均是双二进制译码,以及其中,所述交织处理和所述去交织处理均为双层交织/去交织处理,其中的外层交织为组间交织,内层交织为组内置换。

17.根据权利要求16所述的Turbo码译码方法,其特征在于,所述交织处理进一步包括对输入信号分别进行外层交织处理和内层交织处理。

18.根据权利要求17所述的Turbo码译码方法,其特征在于,该方法进一步包括:将输入信号按每四个一组进行分组;

2

所述外层交织处理使用的二次置换多项式为i=(f1·j+f2·j)mod N;

所述内层交织处理为:当i mod 2=0时,将第i组内的四个输入信号(S1i,S2i,S3i,S4i)置换位置为(S1i,S3i,S2i,S4i),放在经过外层交织后的第j组位置;

其中,i为输入信号的分组的位置序号,j为输入信号经过外层交织和内层交织后的分组的位置序号,N为按组计的输入信号长度,f1和f2为二次置换多项式系数。

19.根据权利要求16所述的Turbo码译码方法,其特征在于,所述去交织处理进一步包括对输入信号分别进行外层去交织处理和内层去交织处理。

20.根据权利要求19所述的Turbo码译码方法,其特征在于,该方法进一步包括:将输入信号按每四个一组进行分组;

2

所述外层去交织处理使用的二次置换多项式为i=(f1·j+f2·j)mod N;

所述内层去交织处理为:当i mod 2=0时,将第j组内的四个输入信号(t1j,t2j,t3j,t4j)置换位置为(t1j,t3j,t2j,t4j),放在经过外层去交织后的第i组位置;

其中,j=0,...,N-1,j为输入信号的分组的位置序号;i=0,...,N-1,i为输入信号经过外层去交织和内层去交织后的分组的位置序号;N为按组计的输入信号长度;f1和f2为二次置换多项式系数。

21.根据权利要求16至20任一项所述的Turbo码译码方法,其特征在于,所述第一分量码译码和第二分量码译码使用结构相同的、双二进制的分量码译码结构;

所使用的分量码生成多项式包括一个反馈多项式和一个或一个以上前馈多项式,所述一个以上前馈多项式为不同的前馈多项式;所述分量码使用双二进制的编码结构。

22.根据权利要求21所述的Turbo码译码方法,其特征在于,当所述分量码使用一个前馈多项式和一个反馈多项式时,所使用的分量码为(11,13)、(11,15)、(13,11)、(13,15)、(13,17)、(15,11)、(15,13)、(15,17)中任意一种;

当所述分量码使用两个前馈多项式和一个反馈多项式时,所使用的分量码为(11,13,

15)、(13,11,15)、(13,11,17)、(13,15,17)、(15,11,13)、(15,11,17)、(15,13,17)中任意一种;

当所述分量码使用三个前馈多项式和一个反馈多项式时,所使用的分量码为(13,11,

15,17)、(15,11,13,17)中任意一种;

其中,每个括号中的第一个参数为以八进制数表示的分量码的反馈多项式,其余参数均为以八进制数表示的分量码的前馈多项式。

23.根据权利要求16至20任一项所述的Turbo码译码方法,其特征在于,所述判决为:将输入信号进行分组,按每组对应系统位取值的概率进行判决处理。

说明书 :

一种Turbo码译码装置及方法

技术领域

[0001] 本发明涉及通信中的信道译码技术,特别是涉及一种新的Turbo码译码装置及方法。

背景技术

[0002] Turbo码是1993年由C.Berrou、A.Glavieux和P.Thitimajshiwa提出的一种编译码方案,目前Turbo码已被作为无线信道的编译码标准之一,第三代(3G)移动通信系统所采用的Turbo码编译码技术规范由第三代合作伙伴项目(3GPP)中TS25.212详细描述。
[0003] 随着3G移动通信的不断发展,Turbo码编译码技术被广泛应用于各种3G移动通信系统中,但在不同移动通信系统中所采用的具体译码方法和交织器有所不同。比如:3GPP Turbo码使用二进制(Binary)的编码方法,相应的使用逐比特(bit-by-bit)的迭代译码方法;3GPP Release 6 Turbo码使用素数交织器(PIL,Prime Interleaver),不能支持并行译码;3GPP LTE Turbo码使用二次方置换多项式(QPP,Quadratic Permutation Polynomial)交织器代替PIL交织器,可支持并行译码;3GPP Turbo码均使用尾比特结尾(tail bits termination)。因此,3GPP Turbo码的译码方法在每次Turbo迭代译码过程中,一般都从全零的初始状态开始软输入软输出译码(SISO,soft-in soft-out decoding)。
[0004] 再比如:WiMAX的Turbo码使用双二进制(Duo-Binary)的编码方法,相应的使用逐符号(symbol-by-symbol)的迭代译码方法;WiMAX Turbo码使用特别规则的置换(ARP,Almost Regular Permutation)交织器,可支持并行译码;WiMAX Turbo码使用tail-biting的结尾方法(tail-biting termination),无尾比特。因此,WiMAX Turbo码的译码方法在每次Turbo迭代译码过程中,一般都需要先做初始状态估计,然后利用初始状态的估计进行软输入软输出译码。
[0005] 具体来说,3GPP Turbo码编码器的一种组成结构如图1所示,包括两个分量码编码器(constituent encoder)——分量码编码器1和分量码编码器2,以及内交织器(internal interleaver),其中,每个分量码编码器又由三个寄存器和四个运算器构成,完成编码功能。一路输入数据分为两路,同时输入分量器编码1和内交织器分别进行处理,经过分量器编码1或经过内交织器和分量码编码器2的处理后分别输出尾比特ZK和Z’K;并且,该3GPP Turbo码编码器还分两路输出未经过交织处理的和经过交织处理的系统位XK和X’K。图1中,分量码编码器的生成多项式以八进制数表示为(13,15),对应的反馈多项式{1,0,1,1},前馈多项式{1,1,0,1}。对于3GPP Release 6 Turbo码,内交织器采用PIL交织器;对于3GPP LTE Turbo码,内交织器采用QPP交织器。3GPP Turbo码均使用尾比特结尾方法(tail bits termination)完成网格图归零结尾。
[0006] 对应于图1给出的3GPP Turbo码编码器结构,3GPP Turbo码译码器的一般组成结构如图2所示,是一种典型的迭代译码结构,包括顺序连接的第一分量码译码器和第二分量码译码器,在第一分量码译码器和第二分量码译码器之间,连接有一个交织器,在第二分量码译码器的两个输出端分别连接一个去交织器,其中一个去交织器的输出反馈回译码器的输入侧,作为第一分量码译码器的输入,另一去交织器与判决单元相连。图2所示3GPP Turbo码译码器中,每个分量码译码器一般都初始化为全零的初始状态,使用逐比特的软输入软输出译码。在每次迭代译码过程中,3GPP Turbo码译码器使用单输入的交织器和去交织器;3GPP LTE Turbo码译码器使用的QPP交织器和去交织器,能支持并行译码。然而,根据3GPP Turbo码译码器的实际应用结果来看,效果并不是很好,且信号输入方式仅为单输入。
[0007] WiMAX Turbo码编码器的一种组成结构如图3所示,包括CTC交织器和分量码编码器,输出系统位和经过交织及编码处理的校验位Y1W1、Y2W2。其中,分量码编码器进一步由三个寄存器和五个运算器组成,完成编码功能。图3中,分量码编码器生成多项式以八进制数表示为(15,13 or 11),对应的其反馈多项式{1,1,0,1},前馈多项式{1,0,1,1}or{1,0,0,1},该Turbo码是Duo-Binary码。图3中所采用的CTC交织器是双层交织结构,包括两个处理步骤:第一步,为对内(intra-couple)的置换,即偶数位置的比特互换;第二步,为对间(inter-couple)的交织,即所有成对的数据块使用ARP交织器进行交织处理。WiMAX Turbo码使用tail-biting的结尾方法(tail-biting termination),无尾比特。
[0008] WiMAX Turbo码译码器的一般组成结构如图4所示,采用迭代译码结构。该译码器包括顺序连接的第一分量码译码器和第二分量码译码器,在第一分量码译码器和第二分量码译码器之间,连接有一个交织器,在第二分量码译码器的输出端顺序连接有去交织器和判决单元,去交织器的输出同时反馈回译码器的输入侧,作为第一分量码译码器的输入。图4所示WiMAX Turbo码译码器中,每个分量码译码器一般都需要先做初始状态估计,然后利用初始状态的估计进行逐符号(symbol-by-symbol)的软输入软输出译码。在每次迭代译码过程中,WiMAX Turbo码译码器使用双层的ARP交织器和去交织器,能够支持并行译码。
由于WiMAX Turbo码使用tail-biting结尾方法,编码复杂度和译码复杂度都比较大,且根据实际应用来看,效果也不是很好。
[0009] 3GPP Turbo码译码器和WiMAX Turbo码译码器有很多共同的特点,比如:使用两个分量码译码器,每个分量码译码器使用软输入软输出译码,接收包括系统位信息、校验位信息、先验信息的三个输入,提供包括附加信息、软译码信息的两个输出;使用交织器和去交织器将两个分量码译码器连接起来,实现迭代译码。
[0010] 3GPP Turbo码译码器和WiMAX Turbo码译码器也存在明显的差异,比如:3GPP Turbo码的分量码译码器采用逐比特的软输入软输出译码,是二进制译码,交织器和去交织器都基于单层的PIL或QPP交织器;WiMAX Turbo码的分量码译码器采用逐符号的软输入软输出译码,是双二进制译码,交织器和去交织器都基于双层的ARP交织器。
[0011] 总体来说,无论3GPP Turbo码还是WiMAX Turbo码,目前都存在译码复杂度较大,且实际应用中译码性能不好的问题。

发明内容

[0012] 有鉴于此,本发明的主要目的在于提供一种Turbo码译码装置,能在降低译码复杂度的同时,实现更好的译码性能。
[0013] 本发明的另一目的在于提供一种Turbo码译码方法,能实现更好的译码性能,且降低译码复杂度。
[0014] 为达到上述目的,本发明的技术方案是这样实现的:
[0015] 本发明公开了一种Turbo码译码装置,包括:第一分量码译码器、第二分量码译码器、交织处理单元、去交织处理单元及判决单元;其中,
[0016] 所述第一分量码译码器,用于对对应于系统位比特、校验位比特和尾比特的接收信息进行双二进制译码;
[0017] 所述第二分量码译码器,用于对对应于校验位比特和尾比特的接收信息、以及经过加权和交织处理的第一分量码译码的结果进行双二进制译码;
[0018] 所述交织处理单元,用于对第一分量码译码器的译码输出信息进行加权处理和交织处理;
[0019] 去交织处理单元,用于对第二分量码译码器的译码输出信息进行加权处理和去交织处理;
[0020] 判决单元,用于在译码结束时进行判决处理,输出最终的Turbo译码结果。
[0021] 上述方案中,所述交织处理单元进一步包括交织器和第一信息处理单元;其中,所述交织器,用于进行交织处理;所述第一信息处理单元,用于对第一分量码译码器的译码输出信息进行加权处理。
[0022] 其中,所述交织器包括一个或两个双层交织器。所述交织器进一步包括外层交织单元和内层交织单元,分别对输入信号进行外层交织处理和内层交织处理。所述外层交织单元,用于实现基于二次置换多项式的交织处理;所述内层交织单元,对组内的信号进行置换处理。
[0023] 上述方案中,所述第一信息处理单元由两个运算器和一个乘法器组成;所述两个运算器和一个乘法器均位于交织器的输入侧,或分别位于交织器的输入侧和输出侧。
[0024] 上述方案中,所述去交织处理单元进一步包括去交织器和第二信息处理单元;其中,所述去交织器,用于进行去交织处理;所述第二信息处理单元,用于对第二分量码译码器的译码输出信息进行加权处理。
[0025] 其中,所述去交织器包括一个或两个双层去交织器。所述去交织器进一步包括外层去交织单元和内层去交织单元,分别对输入信号进行外层去交织处理和内层去交织处理。所述外层去交织单元,用于实现基于二次置换多项式的去交织处理;所述内层去交织单元,对组内的信号进行置换处理。
[0026] 所述第二信息处理单元由一个运算器和一个乘法器组成;所述一个运算器和一个乘法器均位于去交织器的输入侧,或均位于去交织器的输出侧,或分别位于去交织器的输入侧和输出侧。
[0027] 上述方案中,所述第一分量码译码器和第二分量码译码器使用结构相同的、双二进制分量码译码结构;所使用的分量码生成多项式包括一个反馈多项式和一个或一个以上前馈多项式,所述一个以上前馈多项式为不同的前馈多项式;所述分量码使用双二进制的编码结构。
[0028] 其中,当所述分量码使用一个前馈多项式和一个反馈多项式时,所使用的分量码为(11,13)、(11,15)、(13,11)、(13,15)、(13,17)、(15,11)、(15,13)、(15,17)中任意一种;当所述分量码使用两个前馈多项式和一个反馈多项式时,所使用的分量码为(11,13,15)、(13,11,15)、(13,11,17)、(13,15,17)、(15,11,13)、(15,11,17)、(15,13,17)中任意一种;
当所述分量码使用三个前馈多项式和一个反馈多项式时,所使用的分量码为(13,11,15,
17)、(15,11,13,17)中任意一种;这里,每个括号中的第一个参数为以八进制数表示的分量码的反馈多项式,其余参数均为以八进制数表示的分量码的前馈多项式。
[0029] 上述方案中,所述判决单元进一步将输入信号进行分组,按每组对应系统位取值的概率进行判决处理。
[0030] 上述方案中,该装置进一步包括一运算器,将对应于系统位比特的原始的接收信息,与对应于系统位比特的先验信息相加,之后将运算结果作为第一分量码译码器的输入。
[0031] 本发明还公开了一种Turbo码译码方法,包括:
[0032] 将对应于系统位比特、校验位比特和尾比特的接收信息进行第一分量码译码,并将对应于校验位比特和尾比特的接收信息、以及经过加权和交织处理的第一分量码译码的结果进行第二分量码译码;之后,对第二分量码译码的结果进行加权和去交织处理;译码结束时进行判决并输出最终的Turbo译码结果。
[0033] 其中,所述交织处理进一步包括对输入信号分别进行外层交织处理和内层交织处理。该方法进一步包括:将输入信号按每四个一组进行分组;所述外层交织处理使用的二2
次置换多项式为i=(f1·j+f2·j)mod N;所述内层交织处理为:当i mod 2=0时,将第i组内的四个输入信号(S1i,S2i,S3i,S4i)置换位置为(S1i,S3i,S2i,S4i),放在经过外层交织后的第j组位置;其中,i为输入信号的分组的位置序号,j为输入信号经过外层交织和内层交织后的分组的位置序号,N为按组计的输入信号长度,f1和f2为二次置换多项式系数。
[0034] 其中,所述去交织处理进一步包括对输入信号分别进行外层去交织处理和内层去交织处理。该方法进一步包括:将输入信号按每四个一组进行分组;所述外层去交织处理2
使用的二次置换多项式为i=(f1·j+f2·j)mod N;所述内层去交织处理为:当i mod 2=
0时,将第j组内的四个输入信号(t1j,t2j,t3j,t4j)置换位置为(t1j,t3j,t2j,t4j),放在经过外层去交织后的第i组位置;其中,j=0,…,N-1,j为输入信号的分组的位置序号;
i=0,…,N-1,i为输入信号经过外层去交织和内层去交织后的分组的位置序号;N为按组计的输入信号长度;f1和f2为二次置换多项式系数。
[0035] 其中,所述判决为:将输入信号进行分组,按每组对应系统位取值的概率进行判决处理。
[0036] 本发明所提供的Turbo码译码装置及方法,由于采用双二进制编码方式、尾比特结尾方法以及基于QPP的双层交织结构,所以,本发明可支持并行译码,且译码性能明显优于现有的3GPP Turbo码和WiMAX Turbo码的译码方案。
[0037] 由于本发明采用尾比特结尾方法,使译码复杂度大大降低;并且,本发明的分量码译码器可以使用对应不同分量码的多种可变的译码器结构,使用灵活多样、简单方便。

附图说明

[0038] 图1为3GPP Turbo码编码器的一种组成结构示意图;
[0039] 图2为3GPP Turbo码译码器的一种组成结构示意图;
[0040] 图3为WiMAX Turbo码编码器的一种组成结构示意图;
[0041] 图4为WiMAX Turbo码译码器的一种组成结构示意图;
[0042] 图5为本发明所基于的Turbo码编码装置的组成结构示意图;
[0043] 图6为本发明Turbo码译码装置的组成结构示意图;
[0044] 图7为本发明第一实施例的组成结构示意图;
[0045] 图8为本发明第二实施例的组成结构示意图;
[0046] 图9为本发明第三实施例的组成结构示意图;
[0047] 图10为本发明第四实施例的组成结构示意图;
[0048] 图11为本发明第五实施例的组成结构示意图;
[0049] 图12为本发明第六实施例的组成结构示意图;
[0050] 图13为本发明Turbo码在一种实际应用中的性能效果示意图。

具体实施方式

[0051] 经过对3GPP Turbo码和WiMAX Turbo码的编译码性能研究发现:一般来说,Turbo码采用双二进制编码方式的性能优于二进制编码的方式;采用tail-biting结尾方法的性能与尾比特结尾方法的性能相同,但tail-biting结尾方法的编码和译码复杂度要大于尾比特结尾方法。
[0052] 基于此,本申请人在另一专利申请中提出了一种针对特定双二进制Turbo码的Turbo码编码装置,由两个分量码编码器和双层结构的交织器构成,且将原始数据分为并行的两路,成对地输入Turbo码编码装置,经过处理后由两个分量码编码器分别输出各自的校验位比特序列和尾比特序列。
[0053] 具体参见图5所示,所述Turbo码编码装置包括第一分量码编码器51、第二分量码编码器52和双层结构的交织器53,图5中的黑色圆点表示线路发生连接的接头。其中,第一分量码编码器51和第二分量码编码器52,分别用于对成对输入的原始数据A、B和经过交织处理的数据进行编码,之后输出校验位比特序列Y1、Y2和尾比特序列Z1、Z2,两个分量码编码器的内部结构完全相同;双层结构的交织器53,用于将两个相同的分量码编码器进行并行级联,实现双二进制Turbo编码方法,具体的,双层结构的交织器53对成对输入的原始数据A、B进行内层和外层两层交织处理,再将交织处理后的数据成对输出至第二分量码编码器52;该Turbo码编码装置还将成对输入的原始数据A、B作为系统位成对输出。
[0054] 图5中,数据输入端将原始数据分为并行的两路A和B,成对(couple)地输入至第一分量码编码器51和双层结构的交织器53,这里所述成对是指A路数据和B路数据按顺序分别输出一个比特,构成一对的关系;第一分量码编码器51输出相应的校验位比特序列Y1和尾比特序列Z1;双层结构的交织器53收到成对输入的原始数据后进行内层交织和外层交织处理,之后将交织处理后的数据成对的输出给第二分量码编码器52;第二分量码编码器52获得原始数据经过交织器后的成对输出,输出相应的校验位比特序列Y2和尾比特序列Z2。可以看出,本发明Turbo码编码装置全部的编码输出包括:系统位比特,即原始数据A、B;网格图归零结尾的尾比特序列Z1、Z2;以及校验位比特序列Y1、Y2,其中,校验位比特序列Y1、Y2中包含系统位比特的校验位比特和尾比特的校验位比特,输出尾比特时对应输出的校验位比特称作尾比特的校验位比特。
[0055] 图5中所示双层结构的交织器进一步包括:外层交织单元和内层交织单元,分别对原始数据块进行外层交织和内层交织。外层交织处理使用的二次置换多项式为i=2
(f1×j+f2×j)mod N;内层交织处理为:i值满足i mod 2=0时,将原始数据输入的第i
个成对的两路(Ai,Bi)交换位置,变为(Bi,Ai),放在经过外层交织后的第j个成对位置。
其中,i为原始数据块成对位置序号,j为数据块经过外层交织和内层交织后的成对位置序号,N为数据块的成对数目,f1和f2为二次置换多项式系数。
[0056] 图5中的分量码编码器选用性能符合要求的8种基本分量码,以及通过将其两个或两个以上前馈多项式同时使用而得到的9种新分量码中的任意一种。所使用的分量码生成多项式包括一个反馈多项式和一个或一个以上前馈多项式,所述一个以上前馈多项式为不同的前馈多项式;所述分量码使用双二进制的编码结构。
[0057] 具体的,这17种分量码的生成多项式以八进制数表示分别为:(11,13)、(11,15)、(13,11)、(13,15)、(13,17)、(15,11)、(15,13)、(15,17)、(11,13,15)、(13,11,15)、(13,11,17)、(13,15,17)、(13,11,15,17)、(15,11,13)、(15,11,17)、(15,13,17)、(15,11,13,
17)。其中,每个括号内的第一个参数为以八进制数表示的分量码的反馈多项式,其余参数均为以八进制数表示的分量码的前馈多项式。
[0058] 针对图5给出的Turbo码编码装置,本发明相应提出一种针对特定双二进制Turbo码的Turbo码译码装置及方法,基本思想是:将两个结构相同的、双二进制的分量码译码器,通过双层交织器和双层去交织器进行级联,实现Turbo码译码方案。每个分量码译码器针对上述特定的17种分量码中的任意一种,建立归零结尾的网格图或状态图,基于相应的归零结尾的网格图或状态图进行分量码译码器。双层交织器由外层交织和内层交织构成,双层去交织器也由外层交织和内层交织构成,外层交织按分组的方式使用的二次置换多项式进行交织处理,内层交织按分组的方式对组内信号进行位置置换。
[0059] 图6为本发明Turbo码译码装置的组成结构示意图,参见图6,该译码装置包括:第一分量码译码器61、第二分量码译码器62、交织处理单元63、去交织处理单元64以及判决单元65;其中,第一分量码译码器61和第二分量码译码器62内部结构相同,分别用于对对应于系统位比特RX1/RX2、校验位比特RY1/RY2和尾比特RZ1/RZ2的接收信息进行双二进制译码;交织处理单元63,用于对第一分量码译码器61的译码输出信息进行加权处理和交织处理;去交织处理单元64,用于对第二分量码译码器62的译码输出信息进行加权处理和去交织处理;判决单元65,用于将经过去交织处理的信息按组划分,在译码结束时进行判决处理,输出最终的Turbo译码结果。
[0060] 这里,交织处理单元63进一步包括交织器和第一信息处理单元,交织器用于进行交织处理,包括一个或两个交织器。第一信息处理单元用于对第一分量码译码器61的译码输出信息进行加权处理,一般由两个运算器和一个乘法器组成,特殊的也可以仅包括一个运算器;所述两个运算器和一个乘法器一般均位于交织器的输入侧,特殊的也可以分别位于交织器的输入侧和输出侧。
[0061] 去交织处理单元64进一步包括去交织器和第二信息处理单元,去交织器用于进行去交织处理,包括一个或两个去交织器。第二信息处理单元用于对第二分量码译码器62的译码输出信息进行加权处理,一般由一个运算器和一个乘法器组成,特殊的也可以仅包括一个运算器;所述一个运算器和一个乘法器可以均位于去交织器的输入侧,也可以均位于去交织器的输出侧,还可以分别位于去交织器的输入侧和输出侧。
[0062] 判决单元65,将输入信号(q0,q1,…,qN)按每四个为一组进行分组:qi=(q1i,q2i,q3i,q4i),i=0,…,N-1,N为输入信号的分组个数。每组的四个信号依次对应于系统位(A,B)取值分别为(0,0)、(0,1)、(1,0)、(1,1)的四种译码信息。判决单元65基于第i组四个信息q1i,q2i,q3i,q4i,推算出与第i组相对应的系统位(A,B)取值分别为(0,0)、(0,1)、(1,0)、(1,1)的四个概率值P1、P2、P3、P4,并按下述方案进行判决处理,将判决结果作为最终的Turbo译码结果输出:当P1+P2≥P3+P4时,判决A为0;否则为1。当P1+P3≥P2+P4时,判决B为0;否则为1。
[0063] 图6中,第一分量码译码器61有三个输入RX1、RY1、RZ1,RX1又来源于RU1和W1,其中,RU1是对应于系统位比特(A,B)的原始的接收信息,包含对应于系统位比特(A,B)取值分别为(0,0)、(0,1)、(1,0)、(1,1)的四种来自信道的接收信息(channel value);W1是对应于系统位比特(A,B)的先验信息,包含对应于系统位比特(A,B)取值分别为(0,0)、(0,1)、(1,0)、(1,1)的四种先验信息(a priori information),W1反馈自去交织器的输出;RX1包含了原始接收信息RU1和先验信息W1;RY1是对应于校验位比特Y1的来自信道的接收信息,包含对应于系统位比特(A,B)的校验位比特和尾比特Z1的校验位比特的接收信息;RZ1是对应于尾比特Z1的来自信道的接收信息。
[0064] 第一分量码译码器61的输出为LLR1,对应于系统位比特(A,B)的译码输出,包含对应于系统位比特(A,B)取值分别为(0,0)、(0,1)、(1,0)、(1,1)的四种软信息。
[0065] 第二分量码译码器62有三个输入RX2、RY2、RZ2,RX2包含原始接收信息RU2和先验信息W2,其中,RU2是对应于将系统位比特(A,B)进行交织处理后获得的新的系统位比特(A,B)′的原始的接收信息,包含对应于系统位比特(A,B)′取值分别为(0,0)、(0,1)、(1,0)、(1,1)的四种来自信道的接收信息;W2是对应于系统位比特(A,B)′的先验信息,包含对应于系统位比特(A,B)′取值分别为(0,0)、(0,1)、(1,0)、(1,1)的四种先验信息;RY2是对应于校验位比特Y2的来自信道的接收信息,包含对应于系统位比特(A,B)′的校验位比特和尾比特Z2的校验位比特的接收信息;RZ2是对应于尾比特Z2的来自信道的接收信息。其中,(A,B)′对应于对系统位比特(A,B)进行交织处理后获得的新的系统位比特。
[0066] 第二分量码译码器62的输出为LLR2,对应于系统位比特(A,B)′的译码输出,包含对应于系统位比特(A,B)′取值分别为(0,0)、(0,1)、(1,0)、(1,1)的四种软信息。
[0067] 本发明中,第一或第二分量码译码器使用图5所述编码装置使用的17种分量码中的任意一种,所述分量码用于支持的分量码译码处理。所述分量码译码器针对一种分量码建立相应的分量码的网格图(trellis diagram)或状态图(statediagram),并基于所建立的网格图或状态图进行软输入软输出译码。其中,所述软输入软输出译码采用传统的BCJR译码算法,包括MAP算法、Log-MAP算法和Max-Log-MAP算法及其改进算法。
[0068] 第一分量码译码器61基于所选用的分量码的网格图或状态图,对接收信息进行软输入软输出译码,并在输出端给出译码信息LLR1。第二分量码译码器62基于所选用的分量码的网格图或状态图对这些接收信息进行软输入软输出译码,并在输出端给出译码信息LLR2。
[0069] 本发明中,对所选用的分量码的网格图或状态图进行归零结尾处理,网格图或状态图从全零的初始状态开始,在结束时采用归零结尾的方式回归到全零的最终状态。本发明的分量码译码器使用这种归零结尾的网格图或状态图进行软输入软输出译码。在网格图或状态图的归零结尾处理阶段,本发明的第一分量码译码器61和第二分量码译码器62分别利用接收信息RZ1和RY1、RZ2和RY2进行软输入软输出译码。
[0070] 图6中所述的交织器均为双层交织结构,包含对输入信号(S0,S1,…,SN)进行外层交织处理和内层交织处理,分别对应外层交织处理单元和内层交织处理单元。本发明的交织器将输入信号按每四个一组进行分组:Si=(S1i,S2i,S3i,S4i),i=0,…,N-1,N为输入信号的分组个数;外层交织以组为基本单元进行组间的交织处理,同时保持组内信号的相对位置不变;内层交织对组内的四个信号进行置换处理;外层交织基于二次置换多项式。本发明中双层交织器的具体结构是这样:
[0071] a.外层交织:i=(f1×j+f2×j2)mod N;
[0072] 其中,将第i组的输入信号放在经过交织后的第j组位置,同时该组内的四个信号的相对位置保持不变。
[0073] b.内层交织:当i mod 2=0时,将第i组内的四个输入信号(S1i,S2i,S3i,S4i)置换位置,变为(S1i,S3i,S2i,S4i),放在经过外层交织后的第j组位置。
[0074] 其中,i=0,…,N-1,i为输入信号的分组的位置序号;j=0,…,N-1,j为输入信号经过外层交织和内层交织后的分组的位置序号;N为输入信号的长度(按组计);系数f1和f2可通过计算机搜索、优化得到。
[0075] 本发明的双层交织结构中,经过交织后的第j组信号取自输入信号的第i组信号。其中,外层交织为组间交织(inter-group interleaving),输入信号按分组方式使用QPP交织器进行交织,保持组内信号特相对位置不变。内层交织为组内置换(intra-group permutation),当输入信号的分组的位置序号是偶数时,该组内的第二信号与第三信号进行位置互换,第一信号和第四信号的位置不变;当输入信号的分组的位置序号是奇数时,该组内的四个信号相对位置不变。
[0076] 本发明的去交织器也均为双层去交织结构,包含对输入信号(t0,t1,…,tN)进行外层去交织和内层去交织处理,分别对应外层去交织处理单元和内层去交织处理单元。本发明的去交织器将输入信号按每四个为一组进行分组:tj=(t1j,t2j,t3j,t4j),j=0,…,N-1,N为输入信号的分组个数。外层去交织以组为基本单元进行组间的去交织处理,同时保持组内信号的相对位置不变;内层去交织对组内的四个信号进行置换处理;外层去交织基于二次置换多项式。具体的,本发明的双层去交织器结构是这样的:
[0077] a.外层去交织:i=(f1×j+f2×j2)mod N;
[0078] 其中,将第j组的输入信号放在经过去交织后的第i组位置,同时该组内的四个信号的相对位置保持不变。
[0079] b.内层去交织:当i mod 2=0时,将第j组内的四个输入信号(t1j,t2j,t3j,t4j)置换位置,变为(t1j,t3j,t2j,t4j),放在经过外层去交织后的第i组位置。
[0080] 其中,j=0,…,N-1,j为输入信号的分组的位置序号;i=0,…,N-1,i为输入信号经过外层去交织和内层去交织后的分组的位置序号;N为按组计的输入信号的长度;系数f1和f2与上述双层交织器的系数f1和f2完全相同。
[0081] 在本发明的双层去交织结构中,经过去交织后的第i组信号取自输入信号的第j组信号。其中,外层去交织为组间去交织(inter-group deinterleaving),输入信号按分组方式使用QPP去交织器进行去交织,保持组内信号特相对位置不变。内层去交织为组内置换,当去交织后的信号分组的位置序号是偶数时,该组内信号的第二信号与第三信号进行位置互换,第一信号和第四信号的位置不变;当去交织后的信号分组的位置序号是奇数时,该组内信号的四个信号相对位置不变。
[0082] 本发明中,第一分量码译码器61通过双层交织器连接到第二分量码译码器62,第二分量码译码器62再通过双层去交织器连接到第一分量码译码器61上,通过这样的方式可实现迭代译码结构。在迭代译码的过程中,第一分量码译码器61提供相应的译码输出信息LLR1,其中部分信息经过双层交织处理后,作为先验信息W2传送给第二分量码译码器62,第二分量码译码器62提供相应的译码输出信息LLR2,其中部分的信息经过双层去交织处理后,作为先验信息W1传送给第一分量码译码器61。
[0083] 下面结合附图和具体实施例进一步说明本发明译码装置的实现结构。
[0084] 实施例一:
[0085] 本实施例中,所述交织处理单元包括两个交织器和第一信息处理单元,第一信息处理单元由两个运算器和一个乘法器组成,其中,一个运算器和一个乘法器位于交织器2的输入侧,一个运算器位于交织器2和交织器1的输出侧。所述去交织处理单元包括两个去交织器和第二信息处理单元,第二信息处理单元由一个运算器和一个乘法器组成,其中,一个运算器和一个乘法器位于去交织器1的输入侧。
[0086] 图7中,Le1对应于系统位比特(A,B)的附加信息(extrinsic information),包含对应于系统位比特(A,B)取值分别为(0,0)、(0,1)、(1,0)、(1,1)的四种附加信息。Le2对应于系统位比特(A,B)′的附加信息,包含对应于系统位比特(A,B)′取值分别为(0,0)、(0,1)、(1,0)、(1,1)的四种附加信息。其中,(A,B)′对应于对系统位比特(A,B)进行交织处理后获得的新的系统位比特。
[0087] 如图7所示,本实施例中,数据输入端有并行的五路,分别是接收信息RU1、RY1、RZ1、RZ2、RY2,其中,接收信息RU1、RY1、RZ1输入至第一分量码译码器,接收信息RY2、RZ2输入至第二分量码译码器;第一分量码译码器通过一个交织器连接到第二分量码译码器;第二分量码译码器再通过一个去交织器连接到第一分量码译码器,通过这样的方式实现迭代的译码结构。在迭代译码的过程中,第一分量码译码器提供相应的译码输出信息,并输入给第二分量码译码器;第二分量码译码器提供相应的译码输出信息,并输入给第一分量码译码器。当迭代译码的结束时,第二分量码译码器对相应的译码输出信息先进行去交织处理,然后再经过判决处理得出最终的译码输出。
[0088] 具体来说,本实施例使用两个结构相同的双层交织器和两个结构相同的双层去交织器。在本实施例的译码过程中,对Le2进行加权处理即乘以系数β,以及去交织处理得到W1;再将W1与RU1相加给出RX1,并通过LLR1减去RX1给出Le1。本实施例对Le1进行加权处理即乘以系数α,以及交织处理得到W2;对RU1进行交织处理给出RU2,再将RU2与W2相加得到RX2,并通过LLR2减去RX2得出Le2。
[0089] 当迭代译码结束时,译码装置对LLR2进行去交织处理,然后送入判决单元进行判决处理和译码输出。当然,本发明还可以先将LLR1与W1相加,然后送入判决单元进行判决处理和译码输出。
[0090] 实施例二:
[0091] 本实施例中,所述交织处理单元包括一个交织器和第一信息处理单元,第一信息处理单元由两个运算器和一个乘法器组成,其中,两个运算器和一个乘法器均位于交织器的输入侧。所述去交织处理单元包括两个去交织器和第二信息处理单元,第二信息处理单元由一个运算器和一个乘法器组成,其中,一个运算器和一个乘法器均位于去交织器1的输入侧。
[0092] 如图8所示,本实施例是实施例一的优化方案,使用一个双层交织器和两个结构相同的双层去交织器,比实施例一少使用一个交织器。在本实施例的译码过程中,对Le1先进行加权处理即乘以系数α,然后与RU1相加,再进行交织处理来给出RX2,并通过LLR2减去RX2来给出Le2。
[0093] 本实施例中其它部件及其处理过程与实施例一相同。
[0094] 实施例三:
[0095] 本实施例中,所述交织处理单元包括一个交织器和第一信息处理单元,第一信息处理单元由两个运算器和一个乘法器组成,其中,两个运算器和一个乘法器均位于交织器的输入侧。所述去交织处理单元包括两个去交织器和第二信息处理单元,第二信息处理单元由一个运算器和一个乘法器组成,其中,一个运算器和一个乘法器分别位于去交织器1的输入侧和输出侧。
[0096] 如图9所示,本实施例是实施例一的优化方案,使用一个双层交织器和两个结构相同的双层去交织器。在本实施例的译码过程中,先对Le2进行去交织处理,然后再进行加权处理即乘以系数β得到W1。
[0097] 本实施例中的其它部件及其处理过程与实施例二相同。
[0098] 实施例四:
[0099] 本实施例中,所述交织处理单元包括一个交织器和第一信息处理单元,第一信息处理单元由两个运算器和一个乘法器组成,其中,两个运算器和一个乘法器均位于交织器的输入侧。所述去交织处理单元包括一个去交织器和第二信息处理单元,第二信息处理单元由一个运算器和一个乘法器组成,其中,一个运算器和一个乘法器位于去交织器的输出侧。
[0100] 如图10所示,本实施例是一种更优化的方案,使用一个双层交织器和一个双层去交织器,比实施例二少使用一个去交织器。在本实施例的译码过程中,将去交织器的输出信号与交织器的输入信号直接相减,再进行加权处理即乘以系数β得到W1。本实施例减少了与Le2直接相关的减法处理、加权处理即乘以系数β、去交织处理的相关部分及过程。
[0101] 本实施例的其它部件及其处理过程与实施例二相同。
[0102] 实施例五:
[0103] 本实施例中,所述交织处理单元包括一个交织器和第一信息处理单元,第一信息处理单元由两个运算器和一个乘法器组成,其中,两个运算器和一个乘法器均位于交织器的输入侧。所述去交织处理单元包括一个去交织器和第二信息处理单元,第二信息处理单元由一个运算器和一个乘法器组成,其中,一个运算器和一个乘法器位于去交织器的输出侧。
[0104] 如图11所示,本实施例是一种更优化的方案,使用了一个双层交织器和一个双层去交织器。在本实施例的译码过程中,将W1与RU1相加得到RX1,并通过LLR1减去RU1、再减去W1得出Le1。
[0105] 本实施例的其它部件及其处理过程与实施例五相同。
[0106] 实施例六:
[0107] 本实施例中,所述交织处理单元包括一个交织器和第一信息处理单元,第一信息处理单元只包括一个运算器,位于交织器的输入侧。所述去交织处理单元包括一个去交织器和第二信息处理单元,第二信息处理单元仅包括一个运算器,位于去交织器的输出侧。
[0108] 如图12所示,本实施例是一种极为优化的方案,使用一个双层交织器和一个双层去交织器,比实施例五少使用两个乘法器和一个运算器,本实施例中不使用加权处理。在本实施例的译码过程中,将LLR1减去W1,并进行交织处理得到RX2。
[0109] 本实施例的其它部件及其处理过程与实施例五相同。
[0110] 本发明的实现方案中,α和β的取值一般为经验值,在0.5~0.9之间。随着迭代过程的变化可以进一步调整α和β的取值,以使译码的效果和性能更好。
[0111] 与3GPP Turbo码和WiMAX Turbo码相比,本发明中Turbo码的译码性能更好,且复杂度复杂度比较小。基于上述译码装置的结构及处理过程,以下通过一个仿真实例来说明本发明的性能效果,并与3GPP Turbo码和WiMAX Turbo码的译码性能进行对比。
[0112] 本仿真实例中,双二进制Turbo码的原始数据块大小为1920比特;码率R为1/2,不计入尾比特及其检验位比特;采用BPSK调制;译码算法使用Max-Log-MAP算法,迭代次数为8次;信道模型为AWGN信道;QPP多项式系数f1和f2参考LTE的QPP交织器系数。本仿真实例中,使用生成多项式以八进制数表示为(11,13)、(11,15)、(13,11)、(13,15)、(13,
17)、(15,11)、(15,13)、(15,17)的八种分量码编码器,且使用本发明实施六的方案。另外,给出了在相同的假设条件下,3GPP Rel.6 Turbo码、LTE Turbo码和WiMAXTurbo码的译码性能,其中,需要对3GPP Rel.6 Turbo码和LTE Turbo码进行打孔(puncturing)来实现码率1/2,打孔方式为[11;10;01]均匀的、对称的打孔。
[0113] 图13中横坐标为信噪比(Eb/No),以dB为单位,纵坐标为误块率(BLER),11条曲线1301、1302、1303、1304、1305、1306、1307、1308、1309、1310、1311依次给出了本发明使用分量码(11,13)、(11,15)、(13,11)、(13,15)、(13,17)、(15,11)、(15,13)、(15,17)的Turbo码时的译码性能曲线、以及3GPP Rel.6Turbo码、LTE Turbo码和WiMAX Turbo码的译码性能曲线。
[0114] 从图13中可以看出,本发明的Turbo译码装置及方法与3GPP Rel.6 Turbo码、LTE Turbo码和WiMAX Turbo码的译码方法相比,一般都具有更好性能。此外,WiMAX Turbo码的明显缺点是复杂度都比较大,而本发明的复杂度都相对较小。
[0115] 以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。