CN101753154B - 一种Turbo码编码器、译码器及编码、译码方法 - Google Patents

一种Turbo码编码器、译码器及编码、译码方法 Download PDF

Info

Publication number
CN101753154B
CN101753154B CN 200810239147 CN200810239147A CN101753154B CN 101753154 B CN101753154 B CN 101753154B CN 200810239147 CN200810239147 CN 200810239147 CN 200810239147 A CN200810239147 A CN 200810239147A CN 101753154 B CN101753154 B CN 101753154B
Authority
CN
China
Prior art keywords
sequence
information
output
decoding
turbo code
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.)
Active
Application number
CN 200810239147
Other languages
English (en)
Other versions
CN101753154A (zh
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.)
China Academy of Telecommunications Technology CATT
Datang Mobile Communications Equipment Co Ltd
Original Assignee
China Academy of Telecommunications Technology CATT
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 China Academy of Telecommunications Technology CATT filed Critical China Academy of Telecommunications Technology CATT
Priority to CN 200810239147 priority Critical patent/CN101753154B/zh
Publication of CN101753154A publication Critical patent/CN101753154A/zh
Application granted granted Critical
Publication of CN101753154B publication Critical patent/CN101753154B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

本发明公开了一种编码器及编码方法,该编码器通过分量编码器对输入信息序列以及经过交织的输入信息序列进行第一次连续的编码,基于这个连续编码的结果,计算一个循环状态值,并利用该循环状态值初始化分量编码器的寄存器,把分量编码器的寄存器的状态值设置为循环状态值,分量编码器再对输入信息序列以及经过交织的输入信息序列进行第二次连续的编码,并输出第二次连续编码结果作为最终的编码结果。本发明还公开了一种译码器及译码方法。本发明公开的技术方案,降低了编译码的复杂度、处理延迟,提高了编译码的处理速度。

Description

一种Turbo码编码器、译码器及编码、译码方法
技术领域
本发明涉及数字通信领域,具体而言,本发明涉及一种Turbo码编码器、译码器及编码、译码方法。 
背景技术
数字信号在传输过程中由于受到噪声和干扰的影响会出现差错,在通信系统中一般采用纠错编码技术来保证可靠的传输。Turbo码是C.Berrou等人于1993年提出的一种编码方案,由于其在低信噪比的应用环境下比其它编码性能好,因而在多种移动通信系统中,将Turbo码作为无线信道的编码标准之一。一般地,Turbo编码器由两个系统递归卷积(RSC)编码器、交织器和删除器组成。 
随着移动通信的不断发展,Turbo码编译码技术不断得到发展和完善,并广泛应用于各种系统中,但在不同移动通信系统中所采用的具体编码方法和交织器有所不同。例如,在3GPP(3rd Generation Partnership Project,第三代合作伙伴项目)中,包括Release 6和LTE的系统,Turbo码是二进制(Binary)编码方法,使用尾比特结尾(Tail Bits Termination)方法。在WiMAX(Worldwide Interoperability for Microwave Access,微波存取全球互通)中,Turbo码是双二进制(Duo-Binary)编码方法,使用咬尾比特结尾(Tail-biting Termination)方法、无尾比特。3GPP移动通信系统所采用的Turbo码编码技术规范由3GPP中的TS25.212详细描述。WiMAX通信系统所采用的Turbo码编码技术规范由IEEE 802.16d详细描述。 
具体而言,WiMAX Turbo码编码器包括CTC(Convolutional TurboCodes,卷积Turbo码)交织器和分量编码器,使用两个编码器并行级联编码,输出系统位和经过交织及编码处理的校验位Y1W1、Y2W2。其中,分量编码器进一步由三个寄存器和五个加法器组成,完成编码功能,该Turbo 码是双二进制编码(Duo-Binary)。WiMAX中的Turbo码使用咬尾比特结尾方法,分量编码器先对输入数据序列进行第一次编码,获得第一次编码后的编码器的结束状态,然后查询状态表,确定一个循环状态值。分量编码器使用这个循环状态值作为编码器的初始状态,对输入比特序列再进行第二次编码,最后将这个第二次编码的编码结果作为分量编码器的编码输出。另外,分量编码器还要对输入数据序列经过交织后进行相应的第一次编码、查找状态表、确定循环状态值和第二次编码。这样,WiMAX中的Turbo码的咬尾比特结尾方法将需要经过4次编码过程和2次循环状态值的计算,总的编码复杂度高和处理延迟较大。 
相应地,其译码方法是使用两个相同分量译码器,第一分量译码器完成译码后,将其译码结果提供给第二分量译码器,然后第二分量译码器完成译码后,再把其译码结果提供给第一分量译码器,这是一次迭代译码过程。第一分量译码器和第二分量译码器轮流执行上述相同的译码过程N次,完成了N次迭代译码过程。在这种迭代译码过程中,由于第二分量译码器需要等待第一分量译码器完成并提供译码结果,第一分量译码器也需要等待第二分量译码器完成并提供译码结果,因此两个分量译码器之间存在较大的译码延迟,使得这样的译码方法的译码速度不高。此外,在每次迭代译码时,需要进行两次分量译码过程,第一分量译码器和第二分量译码器应先对状态表确定的2个循环状态值进行2次准确估计。这样也会增加了译码处理的复杂度和译码延迟。 
因此,有必要提出一种信道编译码技术方案,以解决现有系统中编译码复杂度高和处理延迟较大的问题,使得改进后的编译码方案能适应LTE-Advanced系统或者IMT-Advanced系统等具有更高速度需求的系统。 
发明内容
本发明要解决的问题是提出一种Turbo码编码器及编码方法,解决现有系统中编码复杂度高和处理延迟较大的问题。 
本发明要解决的问题还包括提出一种Turbo码译码器及译码方法,解决现有系统中译码处理的复杂度高和译码延迟较大的问题。
为了达到上述目的,本发明公开了一种Turbo码编码器,包括: 
交织器,所述交织器将输入信息序列  X s = { x 0 s , x 1 s , · · · , x K - 1 s } 进行交织,得到交织后的序列  X Π s = { x Π ( 0 ) s , x Π ( 1 ) s , · · · , x Π ( K - 1 ) s } , 其中K表示输入信息序列的比特分组的数目;复用器,所述复用器将输入信息序列  X s = { x 0 s , x 1 s , · · · , x K - 1 s } 与交织后的序列  X Π s = { x Π ( 0 ) s , x Π ( 1 ) s , · · · , x Π ( K - 1 ) s } 复接为
Figure G2008102391470D00035
分量编码器,所述分量编码器将序列输入进行第一次编码,得到分量编码器的寄存器第一次编码结束时的状态值S,根据S、K以及交织器的个数查表获得相应的循环状态值,将所述循环状态值初始化分量编码器的寄存器,再将所述
Figure G2008102391470D00036
送入分量编码器进行第二次编码输出校验序列  X p = { x 0 p , x 1 p , · · · , x 2 K - 1 p } , 将所述输入信息序列和校验序列输出。 
根据本发明的实施例,所述分量编码器包括递归卷积编码器。 
根据本发明的实施例,所述递归卷积编码器的反馈多项式为{1,1,0,1},其前馈多项式为{1,0,1,1}和/或{1,0,0,1}。 
根据本发明的实施例,所述校验序列Xp由前馈多项式{1,0,1,1}和/或{1,0,0,1}输出。 
根据本发明的实施例,所述Turbo码为双二进制编码,相应的,每两比特为一组,所述输入信息序列的长度为2K比特。 
根据本发明的实施例,所述查表获得相应的循环状态值包括:对所述输入信息序列的比特分组和经交织后的比特分组的数目求和,并对(2m-1)取模,即r=[(1+t)×K]mod(2m-1),其中t为交织器的个数,m为分量编码器寄存器的个数;根据所述r值以及所述S值,查表得到相应的循环状态值。 
根据本发明的实施例,所述交织器为1个,所述分量编码器寄存器为3个,相应地,r=2Kmod(7)。 
根据本发明的实施例,所查询的状态表为:
Figure DEST_PATH_G200810239147001D00011
其中,S02K-1表示分量编码器的寄存器第一次编码结束时的状态值。 
本发明还公开了一种Turbo码编码方法,包括以下步骤:将所述输入信息序列 X s = { x 0 s , x 1 s , · · · , x K - 1 s } 以及交织处理后的序列 X Π s = { x Π ( 0 ) s , x Π ( 1 ) s , · · · , x Π ( K - 1 ) s } 复接为 
Figure DEST_PATH_G200810239147001D00014
其后送入分量编码器进行第一次编码,其中K表示输入信息序列的比特分组的数目;获得分量编码器的寄存器第一次编码结束时的状态值S,根据S、K以及交织器的个数查表获得相应的循环状态值;将所述循环状态值初始化分量编码器的寄存器,再将所述 送入分量编码器进行第二次编码输出校验序列  X p = { x 0 p , x 1 p , · · · , x 2 K - 1 p } , 将所述输入信息序列和校验序列输出。 
根据本发明的实施例,所述分量编码器包括递归卷积编码器。 
根据本发明的实施例,所述递归卷积编码器的反馈多项式为{1,1,0,1},其前馈多项式为{1,0,1,1}和/或{1,0,0,1}。 
根据本发明的实施例,所述校验序列Xp由前馈多项式{1,0,1,1}和/或{1,0,0,1}输出。 
根据本发明的实施例,所述Turbo码为双二进制编码,相应的,每两比特为一组,所述输入信息序列的长度为2K比特。 
根据本发明的实施例,所述查表获得相应的循环状态值包括:对所述输入信息序列的比特分组和经交织后的比特分组的数目求和,并对(2m-1)取模,即r=[(1+t)×K]mod(2m-1),其中t为交织器的个数,m为分量编码器寄存器的个数;根据所述r值以及所述S值,查表得到相应的循环状态值。 
根据本发明的实施例,所述交织器为1个,所述分量编码器寄存器为 3个,相应地,r=2K mod(7)。 
根据本发明的实施例,所查询的状态表为: 
Figure DEST_PATH_G200810239147001D00021
其中,S02K-1表示分量编码器的寄存器第一次编码结束时的状态值。 
本发明还公开了一种Turbo码译码器,包括:分离器,所述分离器将输入的接收信息分为系统比特流、校验比特流输出;分量译码器,所述分量译码器将输入的所述系统比特流、所述校验比特流、先验信息以及状态估计信息,译码输出对应于所述系统比特流的似然比和附加信息,所述分量译码器迭代译码直到迭代译码的次数达到预定的次数为止;先验信息产生器,所述先验信息产生器将输入的所述附加信息进行变化加权后输出所述先验信息;状态估计器,所述状态估计器根据输入的所述系统比特流、所述校验比特流、以及所述先验信息,输出更新后的状态估计信息,所述分量译码器每次迭代译码开始时采用所述状态估计信息进行译码器状态的初始化;判决器,所述判决器将所述系统比特流的似然比判决输出译码信息。 
根据本发明的实施例,所述分离器包括:交织器,所述交织器将所述接收信息中的信息序列X={x0,x1,…,xK-1}进行交织,得到序列X={x∏(0),x∏(1),…,x∏(K-1)};复用器,所述复用器将X和X进行复接,得到所述系统比特流X′={X,X}。 
根据本发明的实施例,所述分量译码器将输入的系统比特流X′、校验比特流以及先验信息,译码输出对应于X′的似然比LLR={l0,l1,…,l2K-1}以及附加信息W={w0,w1,…,w2K-1}。 
根据本发明的实施例,所述先验信息产生器包括:置换器,所述置换器将附加信息序列W={w0,w1,…,w2K-1}进行置换处理,得到置换的附加信息序列  W &prime; = { w 0 &prime; , w 1 &prime; , &CenterDot; &CenterDot; &CenterDot; , w 2 K - 1 &prime; } , 其中,  w i &prime; = w K + &Pi; - 1 ( i ) , 0 &le; i < K w &Pi; ( i - K ) , K &le; i < 2 K , -1代表去交织器的去交织运算,∏-1(i)代表去交织器输出的第i个元素;将置换的附加信息序列  W &prime; = { w 0 &prime; , w 1 &prime; , &CenterDot; &CenterDot; &CenterDot; , w 2 K - 1 &prime; } 进行加权后输出,得到先验信息序列Z=α×W′,α为加权权值。 
根据本发明的实施例,所述判决器包括:解复用器,所述解复用器用于将所述似然比LLR={l0,l1,…,l2K-1}截取分为以下两个部分解复用得到D={l0,l1,…,lK-1}和E={lK,lK+1,…,l2K-1};硬判决器,所述硬判决器将所述D输入,硬判决译码输出Xo,其中Xo={H(d0),H(d1),…,H(dK-1)},  H ( x ) = 0 x < 0 1 x &GreaterEqual; 0 或者  H ( x ) = 1 , x < 0 0 , 0 &le; x .
根据本发明的实施例,所述判决器还包括:解交织器,所述解交织器将E经过解交织后得到  F = { l K + &Pi; - 1 ( 0 ) , l K + &Pi; - 1 ( 1 ) , &CenterDot; &CenterDot; &CenterDot; , l K + &Pi; - 1 ( K - 1 ) } ; 所述判决器将D和F的对应位求和,其后输入所述硬判决器。 
根据本发明的实施例,所述判决器还包括:所述判决器将所述F输入所述硬判决器。 
本发明还公开了一种Turbo码译码方法,包括以下步骤:将输入的接收信息分为系统比特流、校验比特流输出;所述分量译码器将输入的所述系统比特流、所述校验比特流、先验信息以及状态估计信息进行译码,所述分量译码器每次迭代译码开始时采用更新后的所述状态估计信息进行译码器状态的初始化,译码输出对应于所述系统比特流的似然比和附加信息,所述分量译码器迭代译码直到迭代译码的次数达到预定的次数为止;将所述系统比特流的似然比判决输出译码信息。 
根据本发明的实施例,所述分量译码器译码采用的算法包括:MAP算法、Log-MAP算法或Max-Log-MAP算法。 
根据本发明的实施例,所述似然比判决输出译码信息包括:将所述系统比特流的似然比进行解复用,截取出两段与待译码信息的长度相等序列 分别为D和E,将D序列硬判决输出作为译码信息。 
根据本发明的实施例,所述似然比判决输出译码信息包括:将所述系统比特流的似然比进行解复用,截取出两段与待译码信息的长度相等序列分别为D和E,将E序列解交织后与D序列对应位求和,并将求和结果得到的序列硬判决输出作为译码信息。 
根据本发明的实施例,所述似然比判决输出译码信息包括:将E序列解交织后再硬判决输出作为译码信息。 
相对于需要经过4次编码过程和2次循环状态值的计算的WiMAX中的Turbo码,本发明采用分量编码器对输入信息序列以及经过交织的数据序列进行第一次连续的编码,基于这个连续编码的结果,计算一个循环状态值,并用这个循环状态值初始化分量编码器的寄存器,把分量编码器的寄存器的状态值设置为循环状态值,分量编码器再对输入信息序列以及经过交织的数据序列进行第二次连续的编码,并输出第二次连续编码结果作为最终的编码结果。本发明的编码方案只需要经过2次编码过程和1次循环状态值的计算,采用本发明公开的技术方案,降低了编码的复杂度、编码的处理延迟,提高了编码的处理速度。 
相应地,本发明采用一个分量译码器对系统信息位序列、校验位序列、先验信息序列进行连续的SISO译码,在SISO译码完成后,输出对应于系统信息位的附加信息序列和似然值序列。在后续的迭代译码的过程中,置换处理单元对附加信息序列进行置换处理,并将输出用于先验信息序列的更新。在迭代译码结束时,判决处理单元对似然值序列进行判决处理,输出最终的译码结果。其中,系统信息位序列、先验信息序列、附加信息序列和似然值序列都包含对应于输入信息序列的系统信息位信息、先验信息、附加信息以及对应于输入信息序列经过交织处理后的数据序列的系统信息位信息、先验信息、附加信息。其中,校验位序列包含对应于编码输出的校验序列的信息,即包括对应于输入信息序列的校验序列的信息和对应于输入信息序列经过交织处理后的数据序列的校验序列的信息。在每次迭代译码时,本发明的译码方法只需要进行1次分量译码过程、对1个循环状态值进行1次准确估计,有效降低了译码处理的复杂度和减少译码延迟。
附图说明
图1为本发明编码器结构的示意图; 
图2为本发明分量编码器具体实施例的示意图; 
图3为本发明编码方法的流程图; 
图4为本发明译码器结构的示意图; 
图5为本发明译码方法的流程图; 
图6为实现本发明编码、译码实施例的电子设备的结构示意图。 
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述: 
如图1所示,为本发明编码器结构的示意图。 
本发明公开的Turbo码编码器,包括交织器、复用器和分量编码器。 
上述Turbo码编码器可以有多个交织器,交织器完成对输入信息序列交织的功能。交织器将输入信息序列  X s = { x 0 s , x 1 s , &CenterDot; &CenterDot; &CenterDot; , x K - 1 s } 进行交织,得到交织后的序列  X &Pi; s = { x &Pi; ( 0 ) s , x &Pi; ( 1 ) s , &CenterDot; &CenterDot; &CenterDot; , x &Pi; ( K - 1 ) s } , 其中K表示输入信息序列的比特分组的数目,即以比特分组为基本单元进行交织。 
复用器将输入信息序列  X s = { x 0 s , x 1 s , &CenterDot; &CenterDot; &CenterDot; , x K - 1 s } 与交织后的序列  X &Pi; s = { x &Pi; ( 0 ) s , x &Pi; ( 1 ) s , &CenterDot; &CenterDot; &CenterDot; , x &Pi; ( K - 1 ) s } 复接为
Figure G2008102391470D00085
分量编码器将序列
Figure G2008102391470D00086
输入进行第一次编码,得到分量编码器的寄存器第一次编码结束时的状态值S,根据S、K以及交织器的个数查表获得相应的循环状态值,将所述循环状态值初始化分量编码器的寄存器,再将所述
Figure G2008102391470D00087
送入分量编码器进行第二次编码输出校验序列  X p = { x 0 p , x 1 p , &CenterDot; &CenterDot; &CenterDot; , x 2 K - 1 p } , 将所述输入信息序列和校验序列输出。 
如图2所示,为本发明分量编码器具体实施例的示意图。 
在图2的实施例中,分量编码器采用的是递归卷积编码器。显然,分量编码器也可以采用其它编码器,例如非递归的卷积编码器、分组码编码器等。
作为本发明的实施例,该递归卷积编码器的反馈多项式为{1,1,0,1},其前馈多项式为{1,0,1,1}和/或{1,0,0,1}。 
在本实施例中,校验序列Xp由前馈多项式{1,0,1,1}和{1,0,0,1}输出,当然,也可以仅由前馈多项式{1,0,1,1}或{1,0,0,1}中的某一个抽头输出。 
显然,上述实施例中的分量编码器不局限于这些反馈多项式和馈多项式,还可以采用其它的反馈多项式和前馈多项式。 
优选地,在本实施例中,所述Turbo码为双二进制编码,相应的,每两比特为一组,每个输入信息序列的总长度为2K比特。其中,序列
Figure G2008102391470D0009090952QIETU
分为A、B两路输入分量编码器进行编码,通过抽头Y、W两路输出校验序列。此外,序列
Figure 2008102391470100002G2008102391470D0009090952QIETU
还可以全部从A或B路输入编码器进行编码。显然,完全输出校验序列构成编码后序列比部分输出校验序列构成编码后序列的编码效率低。 
本发明公开的编码器首先通过分量编码器将
Figure 2008102391470100002G2008102391470D0009090952QIETU
送入分量编码器进行第一次编码,得到分量编码器的寄存器第一次编码结束时的状态值S,根据S、K以及交织器的个数查表获得相应的循环状态值。即,对输入信息序列的比特分组和经交织后的比特分组的数目求和,并对(2m-1)取模,得到r=[(1+t)×K]mod(2m-1),其中t为交织器的个数,m为分量编码器寄存器的个数,然后根据r值以及S值,查表得到相应的循环状态值。 
结合本发明如图2所示的实施例,交织器为1个,分量编码器寄存器为3个,相应地,r=2K mod(7)。 
以S0 2K-1表示本实施例中分量编码器的寄存器第一次编码结束时的状态值,则通过利用2K mod(7)和S0 2K-1查询表1,获得相应的循环状态值,并将该循环状态值初始化分量编码器的寄存器,再进行第二次编码。
表1 
下面结合图1和图2,对本发明公开的编码器的具体工作流程进行详细描述: 
(1)初始化分量编码器的寄存器,将寄存器设置为全“0”。 
(2)本发明使用交织器对输入信息序列 X s = { x 0 s , x 1 s , &CenterDot; &CenterDot; &CenterDot; , x K - 1 s } 进行交织处理,获得经过交织后的数据序列 X &Pi; s = { x &Pi; ( 0 ) s , x &Pi; ( 1 ) s , &CenterDot; &CenterDot; &CenterDot; , x &Pi; ( K - 1 ) s } . 其中,输入信息序列Xs包含了K组信息符号。xi s(0≤i<K)是序列Xs的第i个元素,代表第i组信息符号。数据序列X s也包含了K组信息符号。x∏(i) s(0≤i<K)是序列X s中的第i个元素,对应于输入信息序列Xs的第∏(i)个元素、或第∏(i)组信息符号。 
(3)本发明使用一个复用处理单元,将输入信息序列Xs与数据序列X s进行复用处理,获得一个合并序列 其中,合并序列 
Figure 224618DEST_PATH_G200810239147001D00035
包含了2K组信息符号。 
Figure 953539DEST_PATH_G200810239147001D00036
是序列 
Figure 32354DEST_PATH_G200810239147001D00037
的第i个元素, 
Figure 61490DEST_PATH_G200810239147001D00038
(4)本发明使用分量编码器对合并序列 
Figure 833136DEST_PATH_G200810239147001D00039
进行第一次编码,当这次编码完成时,根据编码结果和表1计算出一个循环状态值。 
(5)本发明使用这个循环状态值初始化分量编码器的寄存器,即把分量编码器的寄存器的状态值设置为这个循环状态值,使用分量编码器再对合并序列 
Figure 783775DEST_PATH_G200810239147001D000310
进行第二次编码,得到校验序列 X p = { x 0 p , x 1 p , &CenterDot; &CenterDot; &CenterDot; , x 2 K - 1 p } .
(6)最后将信息序列 X s = { x 0 s , x 1 s , &CenterDot; &CenterDot; &CenterDot; , x K - 1 s } , 校验序列 X p = { x 0 p , x 1 p , &CenterDot; &CenterDot; &CenterDot; , x 2 K - 1 p } 输出。 
本发明还公开一种编码方法,如图3所示,为本发明编码方法的流程 图,包括以下步骤: 
S301:将输入信息序列以及交织处理后的序列送入分量编码器进行第一次编码。 
在步骤S301中,将所述输入信息序列  X s = { x 0 s , x 1 s , &CenterDot; &CenterDot; &CenterDot; , x K - 1 s } 以及交织处理后的序列  X &Pi; s = { x &Pi; ( 0 ) s , x &Pi; ( 1 ) s , &CenterDot; &CenterDot; &CenterDot; , x &Pi; ( K - 1 ) s } 复接为 
Figure G2008102391470D00113
其后送入分量编码器进行第一次编码,其中K表示输入信息序列的比特分组的数目。 
其中,本发明公开的编码方法可以有多个交织器,交织器完成对输入信息序列交织的功能。交织器将输入信息序列  X s = { x 0 s , x 1 s , &CenterDot; &CenterDot; &CenterDot; , x K - 1 s } 进行交织,得到交织后的序列  X &Pi; s = { x &Pi; ( 0 ) s , x &Pi; ( 1 ) s , &CenterDot; &CenterDot; &CenterDot; , x &Pi; ( K - 1 ) s } , 其中K表示输入信息序列的比特分组的数目,即以比特分组为基本单元进行交织。 
其中,分量编码器采用的是递归卷积编码器。显然,分量编码器也可以采用其它编码器,例如非递归的卷积编码器、分组码编码器等。 
作为本发明的实施例,该递归卷积编码器的反馈多项式为{1,1,0,1},其前馈多项式为{1,0,1,1}和/或{1,0,0,1}。 
显然,上述实施例中的分量编码器不局限于这些反馈多项式和馈多项式,还可以采用其它的反馈多项式和前馈多项式。 
优选地,在本实施例中,所述Turbo码为双二进制编码,相应的,每两比特为一组,每个输入信息序列的总长度为2K比特。 
S302:根据分量编码器的寄存器第一次编码结束时的状态值、输入信息序列的比特分组的数目以及交织器的个数查表获得相应的循环状态值。 
在步骤S302中,通过获得分量编码器的寄存器第一次编码结束时的状态值S,根据S、K以及交织器的个数查表获得相应的循环状态值。即,对输入信息序列的比特分组和经交织后的比特分组的数目求和,并对(2m-1)取模,求得r=[(1+t)×K]mod(2m-1),其中t为交织器的个数,m为分量编码器寄存器的个数,然后根据r值以及S值,查表得到相应的循环状态值。 
作为本发明的实施例,对于交织器为1个、分量编码器寄存器为3个的情况,相应地,r=2K mod(7)。
以S0 2K-1表示本实施例中分量编码器的寄存器第一次编码结束时的状态值,则通过利用2K mod(7)和S0 2K-1查询表1,获得相应的循环状态值,并将该循环状态值初始化分量编码器的寄存器,再进行第二次编码。 
S303:将循环状态值初始化分量编码器的寄存器,进行第二次编码并输出。 
在步骤S303中,将得到的循环状态值初始化分量编码器的寄存器,再将所述送入分量编码器进行第二次编码输出校验序列  X p = { x 0 p , x 1 p , &CenterDot; &CenterDot; &CenterDot; , x 2 K - 1 p } , 将所述输入信息序列和校验序列输出。 
在本实施例中,校验序列Xp由前馈多项式{1,0,1,1}和{1,0,0,1}输出,当然,也可以仅由前馈多项式{1,0,1,1}或{1,0,0,1}中的某一个抽头输出。显然,完全输出校验序列构成编码后序列比部分输出校验序列构成编码后序列的编码效率低。 
本发明还公开了一种Turbo码译码器,如图4所示,为本发明公开的译码器的结构示意图。 
该Turbo码译码器包括:分离器、分量译码器、先验信息产生器、状态估计器以及判决器。 
其中,分离器将输入的接收信息分为系统比特流、校验比特流输出。具体地,分离器还包括交织器和复用器,交织器将接收信息中的信息序列X={x0,x1,…,xK-1}进行交织,得到序列X={x∏(0),x∏(1),…,x∏(K-1)};复用器将X和X进行复接,得到所述系统比特流X′={X,X}并输出。 
分量译码器将输入的系统比特流、校验比特流、先验信息以及状态估计信息,译码输出对应于所述系统比特流的似然比和附加信息,分量译码器迭代译码直到迭代译码的次数达到预定的次数为止。具体地,分量译码器将输入的系统比特流X′、校验比特流以及先验信息,译码输出对应于X′的似然比LLR={l0,l1,…,l2K-1}以及附加信息W={w0,w1,…,w2K-1}。 
先验信息产生器将输入的所述附加信息进行变化加权后输出所述先验信息。具体地,先验信息产生器还包括置换器,置换器将附加信息序列W={w0,w1,…,w2K-1}进行置换处理,得到置换的附加信息序列  W &prime; = { w 0 &prime; , w 1 &prime; , &CenterDot; &CenterDot; &CenterDot; , w 2 K - 1 &prime; } , 其中,  w i &prime; = w K + &Pi; - 1 ( i ) , 0 &le; i < K w &Pi; ( i - K ) , K &le; i < 2 K , -1代表去交织器的去交织运算,∏-1(i)代表去交织器输出的第i个元素;将置换的附加信息序列  W &prime; = { w 0 &prime; , w 1 &prime; , &CenterDot; &CenterDot; &CenterDot; , w 2 K - 1 &prime; } 进行加权后输出,得到先验信息序列Z=α×W′,α为加权权值。 
状态估计器,根据输入的系统比特流、校验比特流、以及先验信息,输出更新后的状态估计信息,分量译码器每次迭代译码开始时采用更新后的状态估计信息进行译码器状态的初始化。 
判决器将系统比特流的似然比判决输出译码信息。具体地,判决器进一步包括解复用器和硬判决器,解复用器用于将所述似然比LLR={l0,l1,…,l2K-1}截取分为以下两个部分解复用得到D={l0,l1,…,lK-1}和E={lK,lK+1,…,l2K-1};硬判决器将所述D输入,硬判决译码输出Xo,其中Xo={H(d0),H(d1),…,H(dK-1)},  H ( x ) = 0 x < 0 1 x &GreaterEqual; 0 或者  H ( x ) = 1 , x < 0 0 , 0 &le; x .
此外,判决器进一步还包括解交织器,解交织器将E经过解交织后得到  F = { l K + &Pi; - 1 ( 0 ) , l K + &Pi; - 1 ( 1 ) , &CenterDot; &CenterDot; &CenterDot; , l K + &Pi; - 1 ( K - 1 ) } ; 判决器将D和F的对应位求和,其后输入所述硬判决器。 
此外,判决器进一步还包括将所述F输入所述硬判决器。 
下面结合图4,对本发明公开的译码器的具体工作流程进行详细描述: 
(1)接收来自信道的信号X={x0,x1,…,xK-1}和Y={y0,y1,…,y2K-1},其中,X、Y分别对应于Turbo编码中的信息序列Xs、校验序列Xp。 
(2)将X进行交织处理,得到序列X={x∏(0),x∏(1),…,x∏(K-1)},并将X和X进行复用处理,得到系统比特流序列X′={X,X}={x0,x1,…,xK-1,x∏(0),x∏(1),…,x∏(K-1)
(3)在第一次迭代译码的开始之前,将对应于X′的先验信息序列Z={z0,z1,…,z2K-1}的所有的元素的取值设置为相同的数值,例如,每个元素取值为“0”。 
(4)状态估计器接收X′、Y、Z,分别作为系统信息位序列、校验位序列、先验信息序列,进行状态估计,计算循环状态值的分布概率或者似然值。
(5)分量译码器接收X′、Y、Z,分别作为分量译码器的系统信息位序列、校验位序列、先验信息序列,并使用状态估计信息进行译码器状态的初始化,分量译码器通过执行MAP或者Log-MAP或者Max-Log-MAP算法,进行连续的软输入软输出SISO译码。 
(6)在SISO译码结束时,输出对应于X′的似然值序列LLR={l0,l1,…,l2K-1}和附加信息序列W={w0,w1,…,w2K-1}。 
(7)将附加信息序列W={w0,w1,…,w2K-1}进行置换处理,得到置换的附加信息序列  W &prime; = { w 0 &prime; , w 1 &prime; , &CenterDot; &CenterDot; &CenterDot; , w 2 K - 1 &prime; } , 其中,  w i &prime; = w K + &Pi; - 1 ( i ) , 0 &le; i < K w &Pi; ( i - K ) , K &le; i < 2 K , -1代表去交织器的去交织处理和运算,∏-1(i)代表去交织器输出的第i个元素,它对应于去交织器输入的第∏-1(i)个元素。 
(8)将置换的附加信息序列  W &prime; = { w 0 &prime; , w 1 &prime; , &CenterDot; &CenterDot; &CenterDot; , w 2 K - 1 &prime; } 进行加权处理后,得到更新的先验信息序列Z。此外,还可以直接将置换的附加信息序列  W &prime; = { w 0 &prime; , w 1 &prime; , &CenterDot; &CenterDot; &CenterDot; , w 2 K - 1 &prime; } 作为更新的先验信息序列Z。 
(9)在迭代译码过程中,分量译码器对系统信息位序列X′、校验位序列Y和更新的先验信息序列Z进行状态估计和SISO译码; 
(10)当迭代译码结束时,将似然值LLR={l0,l1,…,l2K-1}进行判决处理,并输出译码结果Xo。此时,Turbo译码结束。其中,输出的译码结果Xo为  X o = { H ( l 0 + l K + &Pi; - 1 ( 0 ) ) , H ( l 1 + l K + &Pi; - 1 ( 1 ) ) , &CenterDot; &CenterDot; &CenterDot; , H ( l K - 1 + l K + &Pi; - 1 ( K - 1 ) ) } , 或者 
Xo={H(l0),H(l1),…,H(lK-1)}。 
其中,H(x)代表变量x的硬判决函数,  H ( x ) = 0 , x < 0 1 , 0 &le; x 或者  H ( x ) = 1 , x < 0 0 , 0 &le; x .
在上述步骤中,分量译码器译码可以通过执行MAP或者Log-MAP或者Max-Log-MAP算法实现,下面对各种算法进行介绍。 
MAP算法的目标是在无记忆信道环境下求马氏数据源的最大后验概率译码,它在译码序列比特错误概率最小化的意义上是最优的,MAP算法计算所有可能的路径,它不仅提供了译码比特序列,还提供了每个比特的译码正确概率。 
MAP算法对每个被译比特uk给出了在接收序列为y的条件下uk等于+1或-1的概率。
L ( u k | y &OverBar; ) = ln ( P ( u k = + 1 | y &OverBar; ) P ( u k = - 1 | y &OverBar; ) ) - - - ( 1 )
如果时刻k的前一状态Sk-1=`s、当前状态Sk=s已知,则uk也能得到。因此,上式可改写为 
Figure DEST_PATH_G200810239147001D00042
其中,符号P(a∧b)代表a和b的联合概率。为简化,P(Sk-1=`s∧Sk=s∧y)写为P(`s∧s∧y)。显然,y可分为3段,k时刻以前收到的序列y j<k,k时刻收到的序列y k和k时刻以后收到的序列y j>k。因此 
P(`s∧s∧y)=P(`s∧s∧y j<ky ky j>k)     (3) 
由于信道是无记忆信道,则y j>k只与s有关。 
P(`s∧s∧y)=P(`s∧s∧y j<ky ky j>k
=P(y j>k|s)·P(`s∧s∧y j<ky k
=P(y j>k|s)·P({y k∧s}|`s)                 (4) 
·P(`s∧y j<k
=βk(s)·γk(`s,s)·αk-1(`s) 
其中, 
αk-1(`s)=P(Sk-1=`s∧y j<k)               (5) 
βk(s)=P(y j>k|Sk=s)                       (6) 
γk(`s,s)=P({y k∧Sk=s}|Sk-1=`s)         (7) 
所以,在接收序列为y的条件下uk的似然概率为 
Figure DEST_PATH_G200810239147001D00051
= ln ( &Sigma; u k = + 1 ( ` s , s ) &DoubleRightArrow; &alpha; k - 1 ( ` s ) &CenterDot; &gamma; k ( ` s , s ) &CenterDot; &beta; k ( s ) &Sigma; u k = - 1 ( ` s , s ) &DoubleRightArrow; &alpha; k - 1 ( ` s ) &CenterDot; &gamma; k ( ` s , s ) &CenterDot; &beta; k ( s ) ) - - - ( 8 )
下面推导αk(s)、βk(s)和γk(`s,s)。 
1)αk(s) 
Figure DEST_PATH_G200810239147001D00053
Figure DEST_PATH_G200810239147001D00055
Figure DEST_PATH_G200810239147001D00056
Figure DEST_PATH_G200810239147001D00058
= &Sigma; all ` s &alpha; k - 1 ( ` s ) &CenterDot; &gamma; k ( ` s , s )
因此,只要得到γk(`s,s),则可依次求得αk(s)。另外,由于初始状态=0,所以 
α0(S0=0)=1 
α0(S0=s)=0      当所有s≠0           (11) 
2)βk(s) 
&beta; k - 1 ( ` s ) = P ( y &OverBar; j > k - 1 | ` s )
= &Sigma; alls &beta; k ( s ) &CenterDot; &gamma; k ( ` s , s ) - - - ( 12 )
只要得到γk(`s,s),则可依次求得βk(s)。 
3)γk(`s,s) 
γk(`s,s)=P({y k∧s}|`s) 
=P(y k|{`s∧s})·P(s|`s)      (13) 
=P(y k|{`s∧s})·P(uk
=P(y k|x k)·P(uk)             (14) 
其中, 
uk:状态Sk-1=`s转移到状态Sk=s所需的输入比特; 
P(uk):该比特的先验概率; 
x k:这一转移对应的编码比特; 
P(y k|x k):与信道转移概率有关。 
在无记忆高斯信道、BPSK调制方式中 
P ( y &OverBar; k | x &OverBar; k ) = &Pi; l = 1 n P ( y kl | x kl )
= &Pi; l = 1 n 1 2 &pi; &sigma; e ( E b R 2 &sigma; 2 ( y kl - &alpha; x kl ) 2 ) - - - ( 15 )
其中, 
ykl和xkl:是x ky k的具体比特; 
n:每个码字包含比特的个数; 
Eb:每个比特的发送功率; 
σ2:噪声方差; 
a:衰落幅度; 
R:码率。 
可以看到,一旦收到所有的接收序列,就可以得到γk(`s,s),也就可以求得αk(s)和βk(s),从而得到L(uk|y)。 
在以往的译码方案中,通常认为先验等概,因而P(uk)=1/2。而在迭代译码方案中,把上一级得到的L(uk|y)作为新一级译码器的先验概率,再经过多次迭代,得到了很好的效果。 
通过对MAP算法进行简化,得到Max-Log-MAP算法。定义Ak(s),Bk(s)和Гk(s)如下: 
A k ( s ) = &Delta; ln ( &alpha; k ( s ) )
B k ( s ) = &Delta; ln ( &beta; k ( s ) ) - - - ( 16 )
&Gamma; k = ( ` s , s ) = &Delta; ln ( &gamma; k ( ` s , s ) ) - - - ( 17 )
由于 
ln ( &Sigma; i e x i ) &ap; max i ( x i ) - - - ( 18 )
Ak(s)可以重写为 
A k ( s ) = &Delta; ln ( &alpha; k ( s ) )
= ln ( &Sigma; all ` s &alpha; k - 1 ( ` s ) &gamma; k ( ` s , s ) )
= ln ( &Sigma; all ` s exp [ A k - 1 ( ` s ) + &Gamma; k ( ` s , s ) ] ) - - - ( 19 )
&ap; max ` s ( A k - 1 ( ` s ) + &Gamma; k ( ` s , s ) )
同理, 
B k - 1 ( ` s ) = &Delta; ln ( &beta; k - 1 ( ` s ) )
&ap; max s ( B k ( s ) + &Gamma; k ( ` s , s ) ) - - - ( 20 )
而 
&Gamma; k = ( ` s , s ) = &Delta; ln ( &gamma; k ( ` s , s ) )
= C + 1 2 u k L ( u k ) + L c 2 &Sigma; l = 1 n y kl x kl - - - ( 21 )
其中,C是一常数,可以忽略不计,Lc=4R(Eb/No),No为噪声谱密度。所以在Max-Log-MAP算法中, 
L ( u k | y &OverBar; ) = ln ( &Sigma; ( ` s , s ) &DoubleRightArrow; u k = + 1 &alpha; k - 1 ( ` s ) &CenterDot; &gamma; k &prime; ( ` s , s ) &CenterDot; &beta; k ( s ) &Sigma; u k = - 1 ( ` s , s ) &DoubleRightArrow; &alpha; k - 1 ( ` s ) &CenterDot; &gamma; k &prime; ( ` s , s ) &CenterDot; &beta; k ( s ) )
&ap; max ( ` s , s ) &DoubleRightArrow; u k = + 1 ( A k - 1 ( ` s ) + &Gamma; k ( ` s , s ) + B k ( s ) ) - - - ( 22 )
- max ( ` s , s ) &DoubleRightArrow; u k = - 1 ( A k - 1 ( ` s ) + &Gamma; k ( ` s , s ) + B k ( s ) )
由于Max-log-MAP算法中使用了近似算法,其性能较MAP算法有0.35dB的损失。后来Robertson用Jacobian对数算法 
ln ( e x 1 + e x 2 ) = max ( x 1 , x 2 ) + ln ( 1 + e - | x 1 - x 2 | )
= max ( x 1 , x 2 ) + f c ( | x 1 - x 2 | ) - - - ( 23 )
= g ( x 1 , x 2 )
取代了近似算法 
ln ( &Sigma; i e x i ) &ap; max i ( x i ) - - - ( 24 )
如图5所示,本发明还公开了一种译码方法,包括以下步骤: 
S501:将接收信息分为系统比特流、校验比特流输出。 
在步骤S501中,将输入的接收信息分为系统比特流、校验比特流输出包括: 
将接收的信息解复用,得到待译码信息序列以及所述校验比特流; 
将待译码信息序列X={x0,x1,…,xK-1}交织得到待译码信息交织序列X={x∏(0),x∏(1),…,x∏(K-1)},将X和X进行复接,得到所述系统比特流X′={X,X}。 
其后,将校验比特流和系统比特流输出进入步骤S502。 
S502:将输入信息迭代译码,直到迭代译码的次数达到预定的次数为止。 
在步骤S502中,首先将先验信息初始化为0,将输入的所述系统比特流、所述校验比特流、先验信息以及状态估计信息,译码输出对应于所述系统比特流的似然比和附加信息,分量译码器迭代译码直到迭代译码的次数达到预定的次数为止。 
其中,分量译码器每次迭代译码开始时采用更新后的状态估计信息进 行译码器状态的初始化。 
同时,将SISO译码输出的附加信息进行变化加权后输出所述先验信息,并反馈输入回到分量译码器译码。其中,可以利用MAP算法、Log-MAP算法或Max-Log-MAP算法进行SISO译码。 
S503:系统比特流的似然比判决输出译码信息。 
在步骤S503中,将系统比特流的似然比进行解复用,截取出两段与待译码信息的长度相等序列分别为D和E,将D序列硬判决输出作为译码信息。 
此外,还可以将系统比特流的似然比进行解复用,截取出两段与待译码信息的长度相等序列分别为D和E,将E序列解交织后与D序列对应位求和,并将求和结果得到的序列硬判决输出作为译码信息。 
此外,还可以将E序列解交织后再硬判决输出作为译码信息。 
相对于需要经过4次编码过程和2次循环状态值的计算的WiMAX中的Turbo码,本发明采用分量编码器对输入信息序列以及经过交织的数据序列进行第一次连续的编码,基于这个连续编码的结果,计算一个循环状态值,并用这个循环状态值初始化分量编码器的寄存器,把分量编码器的寄存器的状态值设置为循环状态值,分量编码器再对输入信息序列以及经过交织的数据序列进行第二次连续的编码,并输出第二次连续编码结果作为最终的编码结果。本发明的编码方案只需要经过2次编码过程和1次循环状态值的计算,采用本发明公开的技术方案,降低了编码的复杂度、编码的处理延迟,提高了编码的处理速度。 
相应地,本发明采用一个分量译码器对系统信息位序列、校验位序列、先验信息序列进行连续的SISO译码,在SISO译码完成后,输出对应于系统信息位的附加信息序列和似然值序列。在后续的迭代译码的过程中,置换处理单元对附加信息序列进行置换处理,并将输出用于先验信息序列的更新。在迭代译码结束时,判决处理单元对似然值序列进行判决处理,输出最终的译码结果。其中,系统信息位序列、先验信息序列、附加信息序列和似然值序列都包含对应于输入信息序列的系统信息位信息、先验信息、附加信息以及对应于输入信息序列经过交织处理后的数据序列的系统信息 位信息、先验信息、附加信息。其中,校验位序列包含对应于编码输出的校验序列的信息,即包括对应于输入信息序列的校验序列的信息和对应于输入信息序列经过交织处理后的数据序列的校验序列的信息。在每次迭代译码时,本发明的译码方法只需要进行1次分量译码过程、对1个循环状态值进行1次准确估计,有效降低了译码处理的复杂度和减少译码延迟。 
图6为实现本发明编码、译码实施例的电子设备的结构示意图。在图6中,用户设备610通过访问接入网620实现通信。其中,用户设备610包括数据处理器613,连接数据处理器613的存储器612,以及能接收和发送的无线收发器614,用户设备610通过无线收发器614实现与接入网620的双向通信。存储器612储存着程序611。接入网620包括数据处理器623,连接数据处理器623的存储器622,以及能接收和发送的无线收发器624,接入网620通过无线收发器624实现与用户设备610的双向通信。存储器622储存着程序621。其中接入网620通过数据通道连接到一个或多个外部网络或系统,例如是移动通信网络或Internet,由于所述部分内容是本领域的公知技术,因此在图6中未画出。 
数据处理器613和数据处理器623执行对应的程序611、程序621,程序611、程序621中包括的程序指令用于执行本发明上述阐述的实施例,实现本发明的编码、译码方案。本发明的实施例可以通过用户设备610和接入网620中的数据处理器613和数据处理器623执行计算机软件程序实现,或者通过硬件、通过软件与硬件相结合的形式实现。 
更具体而言,在上述实施例中,执行本发明的编码、译码的实现形式包括但是不限于DSP(Digital Signal Processing,数字信号处理器)、FPGA(Field Programmable Gate Array,现场可编程门阵列)、ASIC(ApplicationSpecific Integrated Circuit,专用集成电路)等具体实现方式。 
显然,本实施例中的用户设备610包括但不限于以下设备:手机、个人数字助理PDA、便携电脑等用户终端设备。本实施例中的接入网620包括但不限于以下设备:基站、无线局域网的接入点AP(Access Point)等相关连接用户所访问的系统的接入网设备。 
基于上述的编码方法,本发明还提出一种计算机程序,用于执行上述 实施例中的编码方法。 
基于上述的编码方法,本发明还提出一种可读计算机介质,用于承载执行上述实施例中的编码方法的计算机程序。 
基于上述的译码方法,本发明还提出一种计算机程序,用于执行上述实施例中的译码方法。 
基于上述的译码方法,本发明还提出一种可读计算机介质,用于承载执行上述实施例中的译码方法的计算机程序。 
在这里所用的“可读计算机介质”术语指任何提供用于执行的程序给数据处理器的介质。这样一种介质可以有多种形式,包括但是不限于非易失性介质、易失性介质、传输介质。非易失性介质包括例如象存储设备的光盘或磁盘,易失性介质包括象主存储器的动态存储器。 
传输介质包括同轴电缆、铜线和光纤,包括包含总线的线路。传输介质也能采用声学的、光学的、或电磁波的形式,如那些在射频(RF)和红外(IR)数据通信中产生的。可读计算机介质的通用形式包括例如软盘、软碟、硬盘、磁带,任何其它的磁介质,CD-ROM、CDRW、DVD,任何其它的光介质,穿孔卡片、纸带、光学侧标纸。任何带洞的或带可辨认标记的物理介质,RAM、PROM、和EPROM、FLASH-EPROM,任何其它的存储片或卡带,载波、或任何其它计算机可读的介质。不同形式的计算机可读介质可用于给数据处理器提供用于执行的程序。例如,用于实现至少本发明的部分的程序可以最初产生在一个远程计算机的磁盘上。 
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (22)

1.一种Turbo码编码器,其特征在于,包括:
交织器,所述交织器将输入信息序列 
Figure FSB00000936381900011
进行交织,得到交织后的序列 
Figure FSB00000936381900012
其中K表示输入信息序列的比特分组的数目;
复用器,所述复用器将输入信息序列 
Figure FSB00000936381900013
与交织后的序列 
Figure FSB00000936381900014
复接为 
分量编码器,所述分量编码器将序列 
Figure FSB00000936381900016
输入进行第一次编码,得到分量编码器的寄存器第一次编码结束时的状态值S,根据S、K以及交织器的个数查表获得相应的循环状态值,将所述循环状态值初始化分量编码器的寄存器,再将所述 
Figure FSB00000936381900017
送入分量编码器进行第二次编码输出校验序列 
Figure FSB00000936381900018
将所述输入信息序列和校验序列输出,其中,根据S、K以及交织器的个数查表获得相应的循环状态值包括对所述输入信息序列的比特分组和经交织后的比特分组的数目求和,并对(2m-1)取模,即r=[(1+t)×K]mod(2m-1),其中t为交织器的个数,m为分量编码器寄存器的个数;以及根据所述r值以及所述S值,查表得到相应的循环状态值。
2.如权利要求1所述的Turbo码编码器,其特征在于,所述分量编码器包括递归卷积编码器。
3.如权利要求2所述的Turbo码编码器,其特征在于,所述递归卷积编码器的反馈多项式为{1,1,0,1},其前馈多项式为{1,0,1,1}和/或{1,0,0,1}。
4.如权利要求3所述的Turbo码编码器,其特征在于,所述校验序列Xp由前馈多项式{1,0,1,1}和/或{1,0,0,1}输出。
5.如权利要求4所述的Turbo码编码器,其特征在于,所述Turbo码为双二进制编码,相应的,每两比特为一组,所述输入信息序列的长度为2K比特。
6.如权利要求1或5所述的Turbo码编码器,其特征在于,所述交织 器为1个,所述分量编码器寄存器为3个,相应地,r=2K mod(7)。
7.如权利要求6所述的Turbo码编码器,其特征在于,所查询的状态表为:
其中,S02K-1表示分量编码器的寄存器第一次编码结束时的状态值。
8.一种Turbo码编码方法,其特征在于,包括以下步骤:
将输入信息序列 
Figure FSB00000936381900022
以及对输入信息序列 
Figure FSB00000936381900023
交织处理后得到的序列 
Figure FSB00000936381900024
复接为 
Figure FSB00000936381900025
其后将序列 送入分量编码器进行第一次编码,其中K表示输入信息序列的比特分组的数目;
获得分量编码器的寄存器第一次编码结束时的状态值S,根据S、K以及交织器的个数查表获得相应的循环状态值,包括:对所述输入信息序列的比特分组和经交织后的比特分组的数目求和,并对(2m-1)取模,即r=[(1+t)×K]mod(2m-1),其中t为交织器的个数,m为分量编码器寄存器的个数;以及根据所述r值以及所述S值,查表得到相应的循环状态值;
将所述循环状态值初始化分量编码器的寄存器,再将所述 
Figure FSB00000936381900027
送入分量编码器进行第二次编码输出校验序列 
Figure FSB00000936381900028
将所述输入信息序列和校验序列输出。
9.如权利要求8所述的Turbo码编码方法,其特征在于,所述分量编码器包括递归卷积编码器。
10.如权利要求9所述的Turbo码编码方法,其特征在于,所述递归卷积编码器的反馈多项式为{1,1,0,1},其前馈多项式为{1,0,1,1}和/ 或{1,0,0,1}。
11.如权利要求10所述的Turbo码编码方法,其特征在于,所述校验序列Xp由前馈多项式{1,0,1,1}和/或{1,0,0,1}输出。
12.如权利要求11所述的Turbo码编码方法,其特征在于,所述Turbo码为双二进制编码,相应的,每两比特为一组,所述输入信息序列的长度为2K比特。
13.如权利要求12所述的Turbo码编码方法,其特征在于,所述交织器为1个,所述分量编码器寄存器为3个,相应地,r=2Kmod(7)。
14.如权利要求13所述的Turbo码编码方法,其特征在于,所查询的状态表为:
Figure FSB00000936381900031
其中,S02K-1表示分量编码器的寄存器第一次编码结束时的状态值。
15.一种Turbo码译码器,其特征在于,包括:
分离器,所述分离器将输入的接收信息分为系统比特流、校验比特流输出,其中,所述分离器包括交织器,所述交织器将所述接收信息中的信息序列X={x0,x1,…,xK-1}进行交织,得到序列X={x∏(0),x∏(1),…,x∏(K-1)},其中K表示输入信息序列的比特分组的数目;以及,复用器,所述复用器将X和X进行复接,得到所述系统比特流X′={X,X};
分量译码器,所述分量译码器将输入的所述系统比特流、所述校验比特流、先验信息以及状态估计信息,译码输出对应于所述系统比特流的似然比和附加信息,所述分量译码器迭代译码直到迭代译码的次数达到预定的次数为止; 
先验信息产生器,所述先验信息产生器将输入的所述附加信息进行变化加权后输出所述先验信息,其中,所述先验信息产生器包括:
置换器,将附加信息序列W={w0,w1,…,w2K-1}进行置换处理,得到置换的附加信息序列W′={w′0,w′1,…,w′2K-1},其中, 
Figure FSB00000936381900041
-1代表去交织器的去交织运算,∏-1(i)代表去交织器输出的第i个元素,∏(i-K)代表交织器输出的第i-K个元素;以及
所述先验信息产生器将置换的附加信息序列W′={w′0,w′1,…,w′2K-1}进行加权后输出,得到先验信息序列Z=α×W′,α为加权权值;
状态估计器,所述状态估计器根据输入的所述系统比特流、所述校验比特流、以及所述先验信息,输出更新后的状态估计信息,所述分量译码器每次迭代译码开始时采用所述状态估计信息进行译码器状态的初始化;
判决器,所述判决器将所述系统比特流的似然比判决输出译码信息。
16.如权利要求15所述的Turbo码译码器,其特征在于,所述分量译码器将输入的系统比特流X′、校验比特流以及先验信息,译码输出对应于X′的似然比LLR={l0,l1,…,l2K-1}以及附加信息W={w0,w1,…,w2K-1}。
17.如权利要求16所述的Turbo码译码器,其特征在于,所述判决器包括:
解复用器,所述解复用器用于将所述似然比LLR={l0,l1,…,l2K-1}截取分为以下两个部分解复用得到D={l0,l1,…,lK-1}和E={lK,lK+1,…,l2K-1};
硬判决器,所述硬判决器将所述D输入,硬判决译码输出Xo,其中Xo={H(d0),H(d1),…,H(dK-1)},di代表硬判决器输出的与li对应的元素, 
Figure FSB00000936381900042
或者
Figure FSB00000936381900043
其中,H(x)代表变量x的硬判决函数。
18.如权利要求17所述的Turbo码译码器,其特征在于,所述判决器还包括:
解交织器,所述解交织器将E经过解交织后得到 
Figure FSB00000936381900044
所述判决器将D和F的对应位求和,其后输入所述硬判决器,或者直 接将所述F输入所述硬判决器。
19.一种Turbo码译码方法,其特征在于,包括以下步骤:
将输入的接收信息分为系统比特流、校验比特流输出,该步骤进一步包括:
将接收的信息解复用,得到待译码信息序列X={x0,x1,…,xK-1}以及所述校验比特流,K表示输入信息序列的比特分组的数目;以及
将待译码信息序列X={x0,x1,…,xK-1}交织得到待译码信息交织序列X={x∏(0),x∏(1),…,x∏(K-1)},将X和X∏进行复接,得到所述系统比特流X′={X,X};
分量译码器将输入的所述系统比特流、所述校验比特流、先验信息以及状态估计信息进行译码,所述分量译码器每次迭代译码开始时采用更新后的所述状态估计信息进行译码器状态的初始化,译码输出对应于所述系统比特流的似然比和附加信息,所述分量译码器迭代译码直到迭代译码的次数达到预定的次数为止,其中,根据输入的所述系统比特流、所述校验比特流以及所述先验信息输出更新后的状态估计信息,以及,
所述先验信息通过以下方式得到:
将附加信息序列W={w0,w1,…,w2K-1}进行置换处理,得到置换的附加信息序列W′={w′0,w′1,…,w′2K-1},其中,
Figure FSB00000936381900051
-1代表去交织器的去交织运算,∏-1(i)代表去交织器输出的第i个元素,∏(i-K)代表交织器输出的第i-K个元素;和,将置换的附加信息序列W′={w′0,w′1,…,w′2K-1}进行加权后输出,得到先验信息序列Z=α×W′,α为加权权值;
将所述系统比特流的似然比判决输出译码信息。
20.如权利要求19所述的译码方法,其特征在于,所述分量译码器译码采用的算法包括:MAP算法、Log-MAP算法或Max-Log-MAP算法。
21.如权利要求19所述的译码方法,其特征在于,所述似然比判决输出译码信息包括:
将所述系统比特流的似然比进行解复用,截取出两段与待译码信息的长度相等序列分别为D和E,将D序列硬判决输出作为译码信息。
22.如权利要求19所述的译码方法,其特征在于,所述似然比判决输 出译码信息包括:
将所述系统比特流的似然比进行解复用,截取出两段与待译码信息的长度相等序列分别为D和E,将E序列解交织后与D序列对应位求和,并将求和结果得到的序列硬判决输出作为译码信息,或者将E序列解交织后再硬判决输出作为译码信息。 
CN 200810239147 2008-12-10 2008-12-10 一种Turbo码编码器、译码器及编码、译码方法 Active CN101753154B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200810239147 CN101753154B (zh) 2008-12-10 2008-12-10 一种Turbo码编码器、译码器及编码、译码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200810239147 CN101753154B (zh) 2008-12-10 2008-12-10 一种Turbo码编码器、译码器及编码、译码方法

Publications (2)

Publication Number Publication Date
CN101753154A CN101753154A (zh) 2010-06-23
CN101753154B true CN101753154B (zh) 2013-03-13

Family

ID=42479629

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200810239147 Active CN101753154B (zh) 2008-12-10 2008-12-10 一种Turbo码编码器、译码器及编码、译码方法

Country Status (1)

Country Link
CN (1) CN101753154B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107645362B (zh) * 2016-07-22 2021-11-16 广东天珩通电子科技有限公司 一种适用于OvXDM系统的时频变换译码方法、装置及OvXDM系统
CN110535478B (zh) * 2019-09-27 2023-02-07 电子科技大学 一种DVB-RCS2协议中双输入类Turbo码闭集识别方法
CN111130572B (zh) * 2020-01-06 2024-04-23 西南电子技术研究所(中国电子科技集团公司第十研究所) Turbo码快速实现方法

Also Published As

Publication number Publication date
CN101753154A (zh) 2010-06-23

Similar Documents

Publication Publication Date Title
CN100355201C (zh) 缩减的软输出信息分组的选择
CN1203616C (zh) 带有判决反馈均衡的turbo解码器
US7657819B2 (en) Method and apparatus for termination of iterative turbo decoding
EP1193882A1 (en) Method and apparatus for decoding turbo-encoded code sequence
JP2003528477A (ja) マップデコーダ用の区分されたデインターリーバメモリ
Xiang et al. CRC-aided logarithmic stack decoding of polar codes for ultra reliable low latency communication in 3GPP new radio
US6359935B1 (en) Method for iterative demodulation and decoding for a system with coding and differential demodulation
CN101753152A (zh) 一种Turbo码译码器及译码方法
US6732327B1 (en) Scaled-feedback turbo decoder
CN101262232A (zh) 一种针对重叠编码复用的译码算法
CN101753154B (zh) 一种Turbo码编码器、译码器及编码、译码方法
US7573962B1 (en) Diversity code combining scheme for turbo coded systems
CN101753153B (zh) 一种Turbo码编码器、译码器及编码、译码方法
CN101753261B (zh) 一种编码器、译码器及编码、译码方法
US8627187B2 (en) Decoding of recursive convolutional codes by means of a decoder for non-recursive convolutional codes
Schiavone et al. Performance improvement of space missions using convolutional codes by CRC-aided list Viterbi algorithms
US8984377B2 (en) Stopping methods for iterative signal processing
WO2000010254A1 (en) Memory architecture for map decoder
CN101777925B (zh) 一种数据处理装置及其方法
CN101753260B (zh) 一种Turbo码编码器及编码方法
Lang et al. Tail‐biting in optimal CPM detectors
CN114598423B (zh) 联合gmsk与ldpc的解调译码的方法、装置及介质
Lafci et al. Performance Optimization of 6LoWPAN Systems for RF AMR System Using Turbo and LDPC Codes
Choomchuay A customized RS decoder for BAN architecture
Qin et al. Symbol-Likelihood Based Successive-Cancellation List Polar Decoding for Short-Packet Non-Coherent Communications

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: INST OF TELECOMMUNICATION SCIENCE AND TECHNOLGOY

Free format text: FORMER OWNER: DATANG MOBILE COMMUNICATION EQUIPMENT CO., LTD.

Effective date: 20110407

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100083 NO. 29, XUEYUAN ROAD, HAIDIAN DISTRICT, BEIJING TO: 100191 NO. 40, XUEYUAN ROAD, HAIDIAN DISTRICT, BEIJING

TA01 Transfer of patent application right

Effective date of registration: 20110407

Address after: 100191 Haidian District, Xueyuan Road, No. 40,

Applicant after: CHINA ACADEMY OF TELECOMMUNICATIONS TECHNOLOGY

Address before: 100083 Haidian District, Xueyuan Road, No. 29,

Applicant before: DATANG MOBILE COMMUNICATIONS EQUIPMENT Co.,Ltd.

C14 Grant of patent or utility model
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 100191 No. 40, Haidian District, Beijing, Xueyuan Road

Patentee after: CHINA ACADEMY OF TELECOMMUNICATIONS TECHNOLOGY

Address before: 100191 No. 40, Haidian District, Beijing, Xueyuan Road

Patentee before: CHINA ACADEMY OF TELECOMMUNICATIONS TECHNOLOGY

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210617

Address after: 100085 1st floor, building 1, yard 5, Shangdi East Road, Haidian District, Beijing

Patentee after: DATANG MOBILE COMMUNICATIONS EQUIPMENT Co.,Ltd.

Address before: 100191 No. 40, Haidian District, Beijing, Xueyuan Road

Patentee before: CHINA ACADEMY OF TELECOMMUNICATIONS TECHNOLOGY