CN1728563A - Turbo译码装置和Turbo译码方法 - Google Patents

Turbo译码装置和Turbo译码方法 Download PDF

Info

Publication number
CN1728563A
CN1728563A CN200510087931.0A CN200510087931A CN1728563A CN 1728563 A CN1728563 A CN 1728563A CN 200510087931 A CN200510087931 A CN 200510087931A CN 1728563 A CN1728563 A CN 1728563A
Authority
CN
China
Prior art keywords
decoding
training
size
turbo
beta
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.)
Granted
Application number
CN200510087931.0A
Other languages
English (en)
Other versions
CN100525119C (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Publication of CN1728563A publication Critical patent/CN1728563A/zh
Application granted granted Critical
Publication of CN100525119C publication Critical patent/CN100525119C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3972Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using sliding window techniques or parallel windows
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • H03M13/296Particular turbo code structure
    • H03M13/2966Turbo codes concatenated with another code, e.g. an outer block code
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • H03M13/2975Judging correct decoding, e.g. iteration stopping criteria
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

本发明提供一种可减少译码所需的大量运算,可实现具有节电能力的译码处理的滑动窗Turbo译码方式。在将所输入的码块分割为多个窗口,进行前向处理和后向处理,进行了多次的重复译码处理的滑动窗Turbo译码方式中,按重复译码的每一次,在CRC部(43)中进行CRC处理,并根据该结果,由训练长度控制部(11)可变控制下一次译码的后向方向的路径度量计算用的初始值的训练处理的训练长度,同时,若检错结果为好,还进行停止译码的控制。由此,可以维持译码性能,同时可削减消耗功率。

Description

Turbo译码装置和Turbo译码方法
技术领域
本发明涉及Turbo译码装置和Turbo译码方法,尤其涉及译码在通信系统和信息处理系统领域中所使用的高性能和高可靠性的Turbo码的Turbo译码方法的改进。
背景技术
近年来,作为由C.Berrou等提出的接近于香农(shannon)边界的纠错编码,有所谓的Turbo码(Turbo codes)方式,作为在包含移动通信系统、信息记录系统、数字广播系统等大范围的通信领域和信息处理领域中使用的高性能、高可靠性的编码方式,研究开发正在发展。
在这里,首先说明普通的Turbo编码器和Turbo译码器。图4和图5是表示公知的Turbo编码器和Turbo译码器的结构的框图。图4表示编码率=1/3的Turbo编码器的示意框图,包括单元编码器E11和E22与交织器E21。被编码比特(Information Bit to be encoded)序列E01被分支后作为系统比特(Systematic bit)序列E02送出,同时输入到单元编码器E11和交织器E21中。
单元编码器E11通过纠错编码来编码被编码比特序列E01后,输出冗余比特序列(Parity Bit)E12。交织器E21通常将被编码比特序列E01一次写入到存储器中,并以不同的顺序读出序列,交织数据的顺序后送到单元编码器E22中。单元编码器E22通过单元编码来编码交织后的被编码比特序列后,送出冗余比特序列E23。单元编码器E11、E22通常使用递归系统卷积编码器(RSC:Recursive Systematic Convolutional Encoder)。
图5所示的Turbo译码器具备单元译码器(Decoder)D04、D16、交织器D12、去交织器D23和硬判决输出块D25。将对应于系统比特序列E02的系统信息序列(Systematic Information)D01、对应于冗余序列E12的冗余信息序列(Parity Information)D02和外部信息(ExtrinsicInformation)D03输入到单元编码器D04中。并且,将输出的外部信息D11用于下一单元译码器D16。
进一步,将所得的外部信息D11和系统信息序列D01经交织器D12,与对应于冗余比特序列E23的冗余信息序列(Parity Information)D14一起,输入到单元译码器D16中。并且,将由单元译码器D16得到的软输出信息(Soft Output Information)D21和外部信息D22送到去交织器D23中。
去交织器D23以与由交织器D12进行的数据转换顺序相反的顺序输出。即,使交织后的软输出信息D21和外部信息D22分别回到交织前的顺序,而作为软输出信息D24和外部信息D03输出。进一步,硬判决&输出块D25对软输出信息D24进行硬判决后输出最终译码结果。为了进行下面的译码处理,将外部信息D03反馈到单元译码器D04中。
如上所述,在图5所示的Turbo译码器中,更新两个单元译码器的外部信息D03和D15,同时重复进行译码处理,在多次循环后,硬判决软输出信息D24。
作为适用于Turbo译码的单元译码器的软输出译码算法,虽然说使用最大后验概率译码法(下面,称作Maximum A Posteriori Probability:MAP)的方法现在最好,但是由于装置规模和处理量极大,所以通常广泛使用通过根据似然(likelihood)的最大值来决定安装时送来的数据是“1”还是“0”,而使用简化了处理的Max-log-MAP(Max Logarithmic MaximumA Posteriori)的方式。
MAP算法是利用了网格线图的最佳译码算法。图6(a)是某一单元编码器的构成例,表示了寄存器数为3个的情况。如图6(b)所示,所谓网格线图表示:对于该单元编码器,输入了某一值时的输出值和寄存器状态的关系。
MAP算法大致来分,由下面三种处理构成。
(a)前向处理:算出从网格线图的前端到达各时刻的各状态的概率(前向路径度量(forward path metric))。
(b)后向处理:算出从网格线图的终端到达各时刻的各状态的概率(后向路径度量(backward path metric))。
(c)软输出生成处理和外部值计算:使用(a)、(b)的处理结果来算出各时刻的系统比特的软输出值。并且,使用该软输出值,进行外部值计算。
在网格线图中,将分别在时刻t、状态s的前向处理和后向处理中算出的前向路径度量和后向路径度量分别表示为Alpha(t,s),Beta(t,s)。另外,将从状态s到状态s’的时刻t的转移概率表示为Gamma(t,s,s’)(这里,将Gamma称作分支度量)。Gamma(t,s,s’)是从接收值(系统信息序列、冗余信息序列、外部信息)求出的概率。
如下所述地分别执行上述的前向处理、后向处理、软输出生成处理和外部值计算。
(a)前向处理:
Alpha(t,s)=Max{Alpha(t-1,s’)+Gamma(t,s’,s)}
另外,在这里,求出最大值的处理Max是指对全部的状态s’来取值。
如图7(a)所示,如下这样来计算对于时刻t的某个状态State(S3)的Alpha(t,S3)。将各个分支度量Gamma(t,S1,S3)、Gamma(t,S2,S3)分别加到两个前级状态具有的路径度量Alpha(t-1,S1)、Alpha(t-1,S2)中,值大的为该状态的Alpha值(称作Alpha ACS(Add-Compare-Select)运算)。对全部时间转移t的所有状态进行该处理,预先保持所有状态的Alpha值。
另外,由于第一次Alpha运算不存在前一级的Alpha值,所以需要进行初始值设置。这里,由于必须从网格线图中的状态#0开始转移,所以作为Alpha的初始值,将状态#0的Alpha规定为0,将除此之外的状态规定为-MAX值(最小值)。
(b)后向处理:
Beta(t,s)=MAX{Beta(t+1,s’)+Gamma(t+1,s,s’)}
如图7(b)所示,如下这样计算对于时刻t的某个状态(S4)的Beta(t,S4)。将各个分支度量Gamma(t+1,S4,S5)、Gamma(t+1,S4,S6)加到两个后级状态具有的路径度量Beta(t+1,S5)、Beta(t+1,S6)中,值大的为该状态的Beta值(称作Beta ACS运算)。
该处理对于全部时间转移t的所有状态,从与Alpha相反的方向(从网格最终状态侧)开始进行Beta运算处理。另外,由于在第一次Beta运算中不存在后级的Beta值,所以需要进行初始值的设置。在这里,在网格线图的最末端中,作为Beta的初始值,将状态#0的Beta规定为0,将除此之外的状态规定为-MAX(最小值)。
(c)软输出生成处理和外部值计算
相加所有算出的Alpha(t-1,s’)的值和Beta(t,s)与Gamma(t,s’,s),从而求出时刻t的所有路径度量值。并且,“译码结果为0的路径的最大路径度量”和“译码结果为1的路径的最大路径度量”的差值为时刻t的软输出值。
若以图8为例进行说明,则对于时刻t=5的所有(s,s’)的组合,相加Alpha(4,s’)、Beta(5,s)和Gamma(5,s’,s)。其中,求出译码结果为0的路径的最大路径度量L0(t)。在该例子中,为:
L0(t=5)=Alpha(t=4,状态#7)
          +Beta(t=5,状态#6)
          +Gamma(t=5,状态#7,状态#6)。
另一方面,还求出译码结果为1的路径的最大路径度量L1(t)。在该例子中,
L1(t=5)=Alpha(t=4,状态#4)
          +Beta(t=5,状态#0)
          +Gamma(t=5,状态#4,状态#0)。
并且,t=5的软输出值计算为:
L(t=5)=L0(t=5)-L1(t=5)。
另外,在Max-Log-MAP算法中,将从上面求出的软输出值(后验值)减去了通信路径值(从接收值求出的值)和先验值(从前级的译码器提供的外部信息)的值作为外部信息。
如上所述,在理想Max-Log-MAP算法中,对所有译码对象数据一次进行Alpha、Beta的运算。
但是,在数据传送中,伴随着数据长度的增大,Max-Log-MAP译码需要大量的存储区域。尤其,需要存储网格整体的路径度量信息用的存储区域。另外,因译码长度的增加,译码处理延迟也增加,所以用于实际的实时系统是困难的。
因此,广泛使用了称作滑动窗(sliding window)的方法(参照非专利文献1)。在该方法中,仅存储窗口大小的网格内的似然信息,并通过滑动到该窗口位置达到译码长度为止,从而可实现存储器的大幅度节约。
另外,为了克服由各窗口的Beta初始值的不稳定造成的译码性能劣化,在Beta计算之前,进行一个窗口大小的Beta初始值训练(training)。但是,随着译码次数的增加,Beta训练部的初始值的可靠性变好,即使利用更短的训练长度((Training Length)即训练大小)也可得到良好的性能。
另一方面,在通信路径环境差时,即使设定为一个窗口大小的固定训练长度,也不能改善译码性能的劣化。因此,为了避免多余的Beta训练计算,需要反复通过译码次数的增加来逐渐缩短Beta训练长度的值的设置方法。
图9表示在Beta计算之前、进行Beta初始值训练处理的现有的滑动窗Turbo译码的功能框图,图10是表示该动作过程的图。如图9所示,为了进行前向处理(Alpha计算),而将一个窗口大小的系统信息(Systematic Information)01、冗余信息(Parity Information)02和通过前一个单元译码器(Decoder)得到的外部信息(External Information)03保存到输入存储器21中。
另外,为了进行Beta初始值训练处理,将保存在Beta初始值存储器14中的前一次(Iteration)的Beta路径度量值作为初始值04,而在Beta训练计算部12中使用。并且,在Beta计算部32中,为了进行Beta计算,将在各窗口中得到的Beta的最终值保存在Beta初始值存储器14中。该Beta计算部32的输入是保存在输入存储器31中的信息和Beta初始值存储器13的信息。
并且,将所得的Beta路径度量值与保存在Alpha存储器23中的Alpha路径度量值取同步,在LLR计算部41中,进行LLR(最大对数似然比,即软输出值)计算。另外,为了得到下次译码的Beta训练处理的初始值,而将Beta计算部32的结果也写入到Beta初始值存储器14中。将LLR计算部41的计算结果经交织器/去交织器45,输入到外部值计算部42中,进行外部信息(Extrinsic Information)的计算。将作为该计算结果的外部信息用作下一单元译码器(图5的译码器D04或D16)的输入信息03。
并且,在达到预先设置的最大译码次数情况下的由后级单元译码器(Decoder)D16进行的译码时,将LLR计算部41的计算结果供给到硬判决部44后,进行硬判决处理。
在该现有技术的滑动窗Turbo译码方式中,如图10的动作处理图所示,Beta训练长度成为固定的。另外,在图10中,是码块长度=512、窗口大小=128,最大译码次数=4的情况的例子。
接着,简单说明进行Beta训练的理由。在理想的译码中,对于输入码块长度(设为1~512),作为前向处理,以1到512的顺序来进行Alpha计算,作为后向处理,以512到1的顺序来进行Beta计算,但是在滑动窗Turbo译码中,以窗口来划分Alpha计算和Beta计算后进行运算处理,所以决定不了Beta的初始值。
例如,在窗口大小为128时,在Alpha计算中,在最先的窗口中,以1到128的顺序来进行计算,窗口的最终值为下一窗口(129~256)的初始值,另外,接下来的129~256的窗口的最终值为下一窗口(257~384)的初始值(下面相同),由此,不需要各窗口的Alpha初始值的训练。
相对于此,在Beta计算中,在最先的窗口中,以128到1的顺序来进行计算,但是由于129的Beta值是未知的,所以需要事先的训练,另外,由于在接着的256~129的窗口中,257的Beta值是未知的,所以需要事先的训练(下面相同),由此,需要各窗口的Beta初始值的训练。
另外,在专利文献1中公开了滑动窗Turbo译码方式的例子。
【非专利文献1】A.J.Viterbi,“An Intuitive Justification and aSimplified Implementation of MAP Decoder for Convolutional Codes,”IEEE J.Select.Areas Commun.,Vol.16,pp.260-264,Feb.1998
【专利文献1】特开2002-314437号公报
如上所述,为了克服由各窗口的Beta初始值的不稳定造成的译码性能劣化,而在Beta计算之前进行一个窗口大小的Beta初始值训练处理,但是随着译码次数的增加,Beta训练部的初始值的可靠性变好,即使利用更短的训练长度也可得到良好的性能。
另一方面,在通信路径环境差时,即使设定为一个窗口大小的固定训练长度,也不能改善译码性能的劣化。因此,为了避免多余的Beta训练计算,需要反复通过译码次数的增加来逐渐缩短Beta训练长度的值的设置方法。
发明内容
本发明的目的是提供一种可削减译码所需的大量运算,可实现有节电能力的译码处理的Turbo译码装置和Turbo译码方法。
基于本发明的Turbo译码装置,其中包括:第一译码机构,其将所输入的码块分割为多个窗口,进行前向处理和后向处理;第二译码机构,其对所述第一译码机构的输出进行前向处理和后向处理;以反复进行由所述第一和第二译码机构进行的译码处理的方式进行控制的机构;训练机构,其进行所述后向处理中的后向方向的路径度量计算用的初始值的运算训练;其特征在于,进一步包括:检错机构,其进行所述第二译码机构的译码输出的检错;和控制机构,其根据所述检错机构的检测结果,可变控制所述训练机构的窗口的训练大小。
基于本发明的Turbo译码方法,其中包括:第一译码步骤,其将所输入的码块分割为多个窗口,进行前向处理和后向处理;第二译码步骤,其对所述第一译码步骤的输出进行前向处理和后向处理;以反复进行由所述第一和第二译码步骤进行的译码处理的方式进行控制的步骤;训练步骤,其进行所述后向处理中的后向方向的路径度量计算用的初始值的运算训练;其特征在于,进一步包括:检错步骤,其进行所述第二译码步骤的译码输出的检错;和控制步骤,其根据所述检错步骤的检测结果,可变控制所述训练步骤的窗口的训练大小。
描述本发明的作用。在将所输入的码块分割为多个窗口,进行前向处理和后向处理,进行了多次的反复译码处理的滑动窗Turbo译码方法中,按反复译码的每一次进行检错(CRC),并根据该检测结果可变控制下一次译码的后向方向的路径度量计算用的初始值的训练处理的训练大小(Training Length),同时,若检错结果为好,还进行停止译码的控制。由此,可以维持译码性能,同时削减消耗功率。
根据本发明,通过使Beta训练长度可变,从而有减少译码处理所需的大量运算,并可实现具有节电能力的译码处理的效果。另外,由于通过使用译码结果的检错(CRC:Cyclic Redundancy Check)结果来控制译码次数,从而不需要多余的译码处理,所以还有可进一步减小消耗功率的效果。
附图说明
图1是本发明的实施方式的功能框图;
图2是表示图1的动作的流程图;
图3是表示图1的动作的时间图;
图4是通常的Turbo编码器的框图;
图5是通常的Turbo译码器的框图;
图6是表示单元编码器(a)及其网格线图的例子(b)的图;
图7是表示Alpha(a)和Beta(b)的ACS运算例子的图;
图8是表示软输出值的计算例的图;
图9是现有的滑动窗Turbo译码的功能框图。
图10是表示图9的块的动作的时间图。
图中:11-训练长度控制部,12-Beta训练计算部,13、14-Beta初始值存储器,21、31-输入存储器,22-Alpha计算部,23-Alpha值存储器,41-LLR计算部,42-外部值计算部,43-CRC部,44-硬判决部,45-交织器/去交织器。
具体实施方式
下面,参照附图,详细说明根据本发明的实施方式。图1是本发明的实施方式的框图,与图9相同的部分由同一符号来表示。在本发明中,将利用硬判决部44的判断结果来进行CRC处理的CRC处理部43、和根据该CRC判断处理来进行输入信息的Beta训练的长度控制的训练长度控制部11添加到图9的现有例的功能框图中,其他构成与图9的例子相同。
即,如图1所示,为了进行前向处理(Alpha计算),而将一个窗口大小的系统信息(Systematic Information)01、冗余信息(Parity Information)02和通过前一个单元编码器(Decoder)得到的外部信息(ExternalInformation)03保存到输入存储器21中。另外,为了由Beta训练计算部12来进行Beta初始值训练处理,而根据前一迭代(前次的)译码的CRC处理部43的CRC处理结果,通过训练长度控制部11来进行输入信息的Beta初始值的训练长度控制。
将保持在Beta初始值存储器14中的前次迭代的Beta路径度量值作为初始值,在Beta训练计算部12中进行Beta训练计算。并且,为了在Beta计算部32中进行Beta计算,而将在各窗口中得到的Beta的最终值保存在Beta初始值存储器13中。
根据保存在输入存储器21中的信息,在Alpha计算部22中进行Alpha计算。另外,为了在Beta计算部32中进行Beta计算,还将输入存储器21的信息写入到输入存储器31中。将Alpha计算的结果保存在Alpha值存储器23中。
Beta计算部32的输入由保存在输入存储器31中的信息和Beta初始值存储器13的信息构成。将所得的Beta路径度量值与保存在Alpha值存储器23中的Alpha路径度量值相匹配,同时,在LLR计算部41中进行LLR(最大对数似然比,即软输出值)计算。另外,为了得到下次译码的Beta训练处理的初始值,还将Beta计算部32的计算结果写入到Beta初始值存储器14中。
使用LLR计算41的结果来进行外部值计算42。将外部值计算的结果作为下一单元译码器(译码器#1(相当于图5的D04))或译码器#2(相当于图5的D16))的外部信息03来使用。在Turbo译码器#2的译码的情况下,将LLR运算部41的输出值输入到硬判决部44中,进行硬判决处理。并且,利用该硬判决的结果,在CRC处理部43中进行CRC处理。该CRC处理在Turbo反复译码处理中,一边维持译码处理的可靠性,一边通过省略无用的反复步骤,从而为减轻处理量和处理延迟,将检查编码添加到路径信息中,在每次重复进行反复译码处理时,检查译码后的信息,根据该检查的结果来决定是否执行进一步的译码处理。
在该检查的结果表示肯定的情况下,硬判决处理部44的输出为译码的结果,结束译码处理。在检查的结果表示否定的情况下,在训练长度控制部11中,进行下次译码的训练长度控制,重复继续进行译码处理。
接着,参照图2和图3说明图1的电路框图的动作。图2是表示本发明的实施方式的整体动作的示意的流程图。首先,按每个窗口大小来分割一个码块(步骤S1)。并且,在步骤S2中,进行单元译码处理。即,进行Beta训练计算、Alpha计算、Beta计算、LLR计算和外部值计算。参照图3来说明步骤S2和S7(训练长度控制)的细节。
虽然Turbo译码装置由两个单元译码器(译码器#1和译码器#2)构成,但是实际上为了由一个处理电路来实现该装置,译码器#2的电路动作与译码器#1的电路动作相同。在步骤S3中,判断实施中的单元译码器是译码器#1还是译码器#2。若当前的单元译码器是译码器#1,则反馈所得的外部信息,并进行译码器#2的译码处理。
在当前的单元译码器是译码器#2的情况下,通过所得的LLR信息来进行硬判决。并且,使用硬判决的结果来进行CRC处理(步骤S4)。接着,在步骤S5中,判断该CRC结果是肯定还是否定。在CRC结果是肯定(没有错误)的情况下,输出硬判决的结果,结束译码处理。在CRC结果为否定(有错误)的情况下,在步骤S6中,确认当前的译码次数(Iteration,迭代)是否超过了预先设置的最大译码次数值。并且,若当前的译码次数为最大译码次数值以下(在步骤S6中为“否”),则进行Beta值的训练长度控制(步骤S7)。
并且,将当前译码的外部信息输入到下次译码的译码器#1中,重复进行译码。在当前的译码次数达到预先设置的最大译码次数值的情况下(在步骤S6中为“是”),结束译码处理。
图2的步骤S2和S7的详细动作如图3所示,作为码块大小=512、窗口大小=128、最大译码次数=4的例子来进行说明。
(a)第一次译码(迭代1)
由译码的Beta训练,除以第一窗口(Code Block Length=1~128),按每个窗口大小沿后向方向来进行Beta ACS运算。Beta训练部的第四窗口(最后的窗口)的初始值设置与理想Max-Log-MAP算法相同。即,在译码网格中,状态#0的Alpha和Beta值为0,除此之外的状态为-MAX值(最小值)。其他初始值因码块的分割为未定,但是这里全部设置为0。
同时进行一个窗口大小的Beta训练计算、前一个窗口的Alpha计算和前两个窗口的Beta计算。另外,在结束一个窗口的Beta训练计算后,仅将最终值作为初始值,用于Beta计算部32。例如,在进行第三窗口(码块=257~384)的Beta训练(Beta ACS)处理时,同时进行第二窗口(码块=129~256)的Alpha计算和第一窗口的Beta计算(码块=1~128)。从第二窗口的Beta训练计算的最终值Beta(129)中得到这时的Beta计算的初始值。
接着,边按每个窗口来匹配在Beta计算中得到的Beta路径度量值和在Alpha计算中得到的Alpha路径度量值,边算出LLR(最大似然比,即软输出比)和外部信息。Alpha计算部22的初始值设置与理想Max-Log-MAP算法相同。
(b)第N次译码(迭代2~4)
虽然Beta计算、Alpha计算、LLR和外部值计算的电路动作与(a)完全相同,但是在Beta训练中,随着译码次数的增加,可以使训练长度逐渐缩短。在图3的例子中,在第二、第三、第四次译码时,训练长度为3/4、1/2、1/4窗口大小。实际上,通过组合窗口大小和最大译码次数,而考虑各种训练长度控制方法。
首先,第一,有随着译码次数的增加,到最大译码次数为止,将训练长度逐渐以固定长度缩短的控制方法。第二,有在最先的几次译码次数中,使训练长度不变(=相当于一个窗口大小),在其余的译码次数中,以固定长度来缩短训练长度的方法。第三,有在最先的几次译码次数中,设训练长度不变(=相当于一个窗口大小),在之后的几次中间译码次数中,以固定长度缩短训练长度,在其余的译码次数中,再次使训练长度不变(=相当于可变训练长度的最终值)的控制方法。
第四,有在最先的几次译码次数中,以固定长度来缩短训练长度,而在其余的译码次数中,使训练长度不变(=相当于可变训练长度的最终值)的控制方法。另外,当然并不限于上述的第一~第四的控制方法。
接着,说明Beta训练计算部12的初始值设置。由于Turbo译码装置重复进行译码,所以在第二次以后的译码中,如下所述那样来进行Beta训练计算部的初始值设置。
对于Beta训练部的第四窗口(最后窗口)的初始值设置,与理想Max-Log-MAP算法相同。对于其他窗口,是通过前次的译码从后一个窗口得到的Beta路径度量的最终值。例如,在第二窗口(码块=129~256)、第二次译码处理的情况下,Beta训练计算部的初始值为在第一次译码中得到的第三窗口的Beta路径度量的最终值。
上述的实施方式仅停留在表示本发明的一例,各种代替例、改变例和变形例可以不脱离本发明的精神。例如,虽然本发明的适用译码算法是Max-Log-MAP,但是还可适用于忠实实现了最大后验概率译码(Maximum A Posteriori Probability decoding:MAP译码)的Log-MAP算法。另外,虽然本发明的码块分割为多个等长的区域(窗口大小),但是,在通过实际的分割,最后的窗口比其他窗口短的情况下,也可使用本发明,但这时需要最后窗口的个别训练长度控制的时间。
可明白:基于上述的图2的流程图的动作,可以构成为预先将该动作顺序作为程序记录在记录介质上,并通过计算机读取程序来执行的形式。

Claims (14)

1.一种Turbo译码装置,其中包括:第一译码机构,其将所输入的码块分割为多个窗口,进行前向处理和后向处理;第二译码机构,其对所述第一译码机构的输出进行前向处理和后向处理;以反复进行由所述第一和第二译码机构进行的译码处理的方式进行控制的机构;和训练机构,其进行所述后向处理中的后向方向的路径度量计算用的初始值的运算训练;其特征在于,进一步包括:
检错机构,其进行所述第二译码机构的译码输出的检错;和
控制机构,其根据所述检错机构的检测结果,可变控制所述训练机构的窗口的训练大小。
2.根据权利要求1所述的Turbo译码装置,其特征在于,所述控制机构在所述检错机构的检测结果表示有错误时,可变控制所述训练大小。
3.根据权利要求2所述的Turbo译码装置,其特征在于,所述控制机构随着由所述第一和第二译码机构进行的译码次数的增加,使所述训练大小减小。
4.根据权利要求3所述的Turbo译码装置,其特征在于,所述控制机构随着所述译码次数的增加,在达到最大译码次数之前,使所述训练大小以一定长度减小。
5.根据权利要求3所述的Turbo译码装置,其特征在于,所述控制机构在最先的预定译码次数中,将所述训练大小设为一个窗口大小,在其余的译码次数中,在达到最大译码次数之前,使所述训练大小以一定长度减小。
6.根据权利要求3所述的Turbo译码装置,其特征在于,所述控制机构在最先的预定译码次数中,将所述训练大小设为一个窗口大小,在之后的预定译码次数中,使所述训练大小以一定长度减小,在其余的译码次数中,使所述训练大小为减小所述一定长度后的大小。
7.根据权利要求1~6中任一项所述的Turbo译码装置,其特征在于,进一步包含:在所述检错机构的检错结果表示没有错误时,停止译码的机构。
8.一种Turbo译码方法,其中包括:第一译码步骤,其将所输入的码块分割为多个窗口,进行前向处理和后向处理;第二译码步骤,其对所述第一译码步骤的输出进行前向处理和后向处理;以反复进行由所述第一和第二译码步骤进行的译码处理的方式进行控制的步骤;训练步骤,其进行所述后向处理中的后向方向的路径度量计算用的初始值的运算训练,其特征在于,进一步包括:
检错步骤,其进行所述第二译码步骤的译码输出的检错;和
控制步骤,其根据所述检错步骤的检测结果,可变控制所述训练步骤的窗口的训练大小。
9.根据权利要求8所述的Turbo译码方法,其特征在于,所述控制步骤在所述检错步骤的检测结果表示有错误时,可变控制所述训练大小。
10.根据权利要求9所述的Turbo译码方法,其特征在于,所述控制步骤随着由所述第一和第二译码步骤进行的译码次数的增加,使所述训练大小减小。
11.根据权利要求10所述的Turbo译码方法,其特征在于,所述控制步骤随着所述译码次数的增加,在达到最大译码次数之前,使所述训练大小以一定长度减小。
12.根据权利要求10所述的Turbo译码方法,其特征在于,所述控制步骤在最先的预定译码次数中,将所述训练大小设为一个窗口大小,在其余的译码次数中,在达到最大译码次数之前,使所述训练大小以一定长度减小。
13.根据权利要求10所述的Turbo译码方法,其特征在于,所述控制步骤在最先的预定译码次数中,将所述训练大小设为一个窗口大小,在之后的预定译码次数中,使所述训练大小以一定长度减小,在其余的译码次数中,使所述训练大小为减小所述一定长度后的大小。
14.根据权利要求7~13中任一项所述的Turbo译码方法,其特征在于,进一步包含在所述检错步骤的检错结果表示没有错误时,停止译码的步骤。
CNB2005100879310A 2004-07-28 2005-07-27 Turbo译码装置和Turbo译码方法 Expired - Fee Related CN100525119C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004219456A JP2006041960A (ja) 2004-07-28 2004-07-28 ターボ復号装置及びターボ復号方法並びにプログラム
JP2004219456 2004-07-28

Publications (2)

Publication Number Publication Date
CN1728563A true CN1728563A (zh) 2006-02-01
CN100525119C CN100525119C (zh) 2009-08-05

Family

ID=35395573

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100879310A Expired - Fee Related CN100525119C (zh) 2004-07-28 2005-07-27 Turbo译码装置和Turbo译码方法

Country Status (4)

Country Link
US (1) US7500169B2 (zh)
EP (1) EP1624584A1 (zh)
JP (1) JP2006041960A (zh)
CN (1) CN100525119C (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010145078A1 (zh) * 2009-06-18 2010-12-23 中兴通讯股份有限公司 一种lte中并行turbo译码的方法及装置
CN101425870B (zh) * 2007-11-01 2011-08-10 中兴通讯股份有限公司 一种Turbo码迭代译码方法
CN103595424A (zh) * 2012-08-15 2014-02-19 重庆重邮信科通信技术有限公司 分量译码方法、译码器及Turbo译码方法、装置
CN108509013A (zh) * 2017-02-28 2018-09-07 华为技术有限公司 一种处理指令的方法及装置

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7469588B2 (en) 2006-05-16 2008-12-30 Honeywell International Inc. MEMS vertical comb drive with improved vibration performance
US8312345B1 (en) * 2006-09-29 2012-11-13 Marvell International Ltd. Forward error correcting code encoder apparatus
US7882416B2 (en) * 2006-10-10 2011-02-01 Broadcom Corporation General and algebraic-constructed contention-free memory mapping for parallel turbo decoding with algebraic interleave ARP (almost regular permutation) of all possible sizes
US7810018B2 (en) * 2006-10-27 2010-10-05 Telefonaktiebolaget Lm Ericsson (Publ) Sliding window method and apparatus for soft input/soft output processing
US7690254B2 (en) 2007-07-26 2010-04-06 Honeywell International Inc. Sensor with position-independent drive electrodes in multi-layer silicon on insulator substrate
EP2282433A1 (en) * 2009-08-04 2011-02-09 Deutsches Zentrum für Luft- und Raumfahrt e.V. Method for recovery of lost and/ or corrupted data
JP2011114567A (ja) * 2009-11-26 2011-06-09 Tohoku Univ ターボ復号方法及び復号器
US11515968B2 (en) * 2020-08-31 2022-11-29 Qualcomm Incorporated Hierarchical hybrid automatic repeat request for multi-level coding
US11419109B2 (en) * 2020-08-31 2022-08-16 Qualcomm Incorporated Latency minimization for retransmissions in communications systems with multi-level coding and multi-level sequential demodulation and decoding and code block grouping per decoding level
CN112332868B (zh) * 2020-10-20 2024-05-28 陕西航天技术应用研究院有限公司 一种基于DVB-RCS2的turbo并行译码方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6292918B1 (en) * 1998-11-05 2001-09-18 Qualcomm Incorporated Efficient iterative decoding
EP1009098A1 (en) * 1998-12-10 2000-06-14 Sony International (Europe) GmbH Error correction using a turbo code and a CRC
EP1030457B1 (en) * 1999-02-18 2012-08-08 Imec Methods and system architectures for turbo decoding
DE69936067T2 (de) * 1999-03-01 2008-01-10 Fujitsu Ltd., Kawasaki Verfahren und Vorrichtung zur Maximum-a-Posteriori Warscheinlichkeits-Dekodierung
JP3932091B2 (ja) * 1999-03-01 2007-06-20 富士通株式会社 ターボ復号装置
JP2002076921A (ja) * 2000-09-01 2002-03-15 Nec Corp 誤り訂正符号復号方法及び装置
US6856657B1 (en) * 2000-02-10 2005-02-15 Motorola, Inc. Soft output decoder for convolutional codes
US6829313B1 (en) * 2000-07-17 2004-12-07 Motorola, Inc. Sliding window turbo decoder
US6813743B1 (en) * 2000-07-31 2004-11-02 Conexant Systems, Inc. Sliding window technique for map decoders
US7127664B2 (en) * 2000-09-18 2006-10-24 Lucent Technologies Inc. Reconfigurable architecture for decoding telecommunications signals
JP3537044B2 (ja) 2001-04-17 2004-06-14 日本電気株式会社 ターボ復号方式及びその方法
US7200799B2 (en) * 2001-04-30 2007-04-03 Regents Of The University Of Minnesota Area efficient parallel turbo decoding
JP2004080508A (ja) * 2002-08-20 2004-03-11 Nec Electronics Corp 誤り訂正符号の復号方法、そのプログラム及びその装置
EP1398881A1 (en) * 2002-09-05 2004-03-17 STMicroelectronics N.V. Combined turbo-code/convolutional code decoder, in particular for mobile radio systems
CN1689238A (zh) * 2002-10-23 2005-10-26 皇家飞利浦电子股份有限公司 具有灵活尺寸的序言窗口的滑动窗口译码器
WO2005125019A1 (ja) * 2004-06-17 2005-12-29 Mitsubishi Denki Kabushiki Kaisha ターボ符号の誤り訂正復号方法及びターボ符号の誤り訂正復号装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101425870B (zh) * 2007-11-01 2011-08-10 中兴通讯股份有限公司 一种Turbo码迭代译码方法
WO2010145078A1 (zh) * 2009-06-18 2010-12-23 中兴通讯股份有限公司 一种lte中并行turbo译码的方法及装置
CN103595424A (zh) * 2012-08-15 2014-02-19 重庆重邮信科通信技术有限公司 分量译码方法、译码器及Turbo译码方法、装置
CN103595424B (zh) * 2012-08-15 2017-02-08 重庆重邮信科通信技术有限公司 分量译码方法、译码器及Turbo译码方法、装置
CN108509013A (zh) * 2017-02-28 2018-09-07 华为技术有限公司 一种处理指令的方法及装置
CN108509013B (zh) * 2017-02-28 2020-06-26 华为技术有限公司 一种处理指令的方法及装置

Also Published As

Publication number Publication date
US7500169B2 (en) 2009-03-03
JP2006041960A (ja) 2006-02-09
CN100525119C (zh) 2009-08-05
US20060026485A1 (en) 2006-02-02
EP1624584A1 (en) 2006-02-08

Similar Documents

Publication Publication Date Title
CN1728563A (zh) Turbo译码装置和Turbo译码方法
CN1645751A (zh) 加速译码装置及其方法
CN1761160A (zh) 解码方法和设备
CN1898874A (zh) 具有子块处理和基于子块的停止标准的siso解码器
US7464316B2 (en) Modified branch metric calculator to reduce interleaver memory and improve performance in a fixed-point turbo decoder
CN1440592A (zh) 对卷积编码的代码字进行解码的方法和设备
JP2007081760A (ja) ターボ復号装置及びその方法並びにプログラム
JP4229948B2 (ja) 復号装置、復号方法、及び受信装置
JP2004343716A (ja) 畳み込み符号化信号の伝送形式をブラインド検出する方法および復号器
CN1254121C (zh) 特博码的解码方法
CN1758543A (zh) 提高Turbo码译码速度的并行译码方法及译码装置
CN1271791C (zh) Turbo译码器及其实现方法
CN103595424B (zh) 分量译码方法、译码器及Turbo译码方法、装置
CN1147169C (zh) 用于Turbo码的解码方法和解码器
CN100350751C (zh) Turbo解码装置
CN1155161C (zh) 用于特博码的解码器及其解码方法
CN1129257C (zh) 串行回溯的最大似然解码方法及其使用该方法的解码器
CN1455565A (zh) 一种用于数字通信差错控制的基于分块处理的并行Turbo编译码方法
CN2506034Y (zh) Turbo译码器件
Zhu et al. An improved decoding of tail-biting convolutional codes for LTE systems
CN1234220C (zh) 一种用于Turbo码的译码方法
CN1841941A (zh) 最大后验概率译码方法和装置
CN112332868A (zh) 一种基于DVB-RCS2的turbo并行译码方法
JP2008136006A (ja) 誤り訂正復号器及びそれに用いる誤り訂正復号方法並びにそのプログラム
US7917834B2 (en) Apparatus and method for computing LLR

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090805

Termination date: 20130727