CN101807971B - Turbo码译码方法及系统 - Google Patents
Turbo码译码方法及系统 Download PDFInfo
- Publication number
- CN101807971B CN101807971B CN2010101220180A CN201010122018A CN101807971B CN 101807971 B CN101807971 B CN 101807971B CN 2010101220180 A CN2010101220180 A CN 2010101220180A CN 201010122018 A CN201010122018 A CN 201010122018A CN 101807971 B CN101807971 B CN 101807971B
- Authority
- CN
- China
- Prior art keywords
- sub
- block
- value
- path metric
- border
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/29—Coding, 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/2957—Turbo codes and decoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/3972—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using sliding window techniques or parallel windows
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明实施例公开了一种Turbo码译码方法及系统。一种Turbo码译码方法为:将待译码的数据块划分为L个子块,利用本次迭代第i子块的第一路径度量值,获取本次迭代第i+1子块的边界第一路径度量值;利用本次迭代第j子块相应时刻的第二路径度量值,获取下次迭代第j-2子块的边界第二路径度量值;根据获取的L个子块的边界第一路径度量值及边界第二路径度量值获得L个子块各个时刻的所有第一路径度量值及第二路径度量值,对L个子块进行译码。应用上述技术方案,利用与当前子块相隔一个位置的子块信息进行训练,相当于增加了等效训练长度,从而令边界路径度量值的可信度得到改善,进一步提高了滑窗译码的性能。
Description
技术领域
本发明涉及通信技术领域,特别是涉及一种Turbo码译码方法及系统。
背景技术
Turbo码是一种前向纠错信道编译码技术,其编码器由两个递归循环卷积码通过交织器以并行级联的方式结合而成,采用反馈迭代的译码方式。Turbo码由于很好地应用了香农信道编码定理中的随机性编译码条件而获得了接近香农理论极限的译码性能。它不仅在信噪比较低的高噪声环境下性能优越,而且具有很强的抗衰落、抗干扰能力,Turbo码已经成为现代通信系统中的关键技术之一。
传统的Turbo译码方法需要存储整个数据块的前向计算结果以实现迭代译码,在LTE/UMTS/WiMAX系统中,Turbo码的最大块长达到数千比特,对译码器的硬件资源也提出了较高的要求。为解决上述问题,提出了滑窗译码算法。在滑窗译码算法中,将接收到的数据块划分为若干个子块,然后串行地对每一子块进行译码。在对某一子块进行译码时,该子块初始时刻的前向路径度量值(即边界α值)由上一子块最后时刻的α值代替,然后通过前向递归计算得出该子块的所有其他α值;而该子块最后时刻的后向路径度量值(即边界β值)通过初始化得到,然后通过后向递归计算得出该子块的所有其他β值。
虽然滑窗译码算法降低了译码器的硬件资源占用,但由于在迭代过程中,每个子块的边界β值是以常数初始化得到,在进行后向处理时没有充分利用到后面子块的后向信息,所以边界β值的可信度降低,导致译码性能下降。
发明内容
为解决上述技术问题,本发明实施例提供了Turbo码译码方法及系统,以提高滑窗译码的性能,技术方案如下:
本发明实施例提供一种Turbo码译码方法,待译码的数据块被划分为L个子块,
利用本次迭代第i子块的第一路径度量值,获取本次迭代第i+1子块的边界第一路径度量值;
利用本次迭代第j子块相应时刻的第二路径度量值,获取下次迭代第j-2子块的边界第二路径度量值;
根据获取的L个子块的边界第一路径度量值及边界第二路径度量值获得L个子块各个时刻的所有第一路径度量值及第二路径度量值,对L个子块进行译码;
其中,L、i,j为自然数、且i∈[1,L),j∈(2,L];当所述第二路径度量值为后向路径度量值β时,所述相应时刻为:与第j-2子块的训练序列的最后时刻相对应的时刻;当所述第二路径度量值为前向路径度量值α时,所述相应时刻为:与第i-2子块的训练序列的初始时刻相对应的时刻。
本发明实施例还提供一种Turbo码译码系统,待译码的数据块被划分为L个子块,所述系统包括:
边界第一路径度量值获取模块,用于利用本次迭代第i子块的第一路径度量值,获取本次迭代第i+1子块的边界第一路径度量值;
边界第二路径度量值获取模块,用于利用本次迭代第j子块相应时刻的第二路径度量值,获取下次迭代第j-2子块的边界第二路径度量值;
译码模块,用于根据获取的L个子块的边界第一路径度量值及边界第二路径度量值获得L个子块各个时刻的所有第一路径度量值及第二路径度量值,对L个子块进行译码;
其中,L、i,j为自然数、且i∈[1,L),j∈(2,L];当所述第二路径度量值为后向路径度量值β时,所述相应时刻为:与第j-2子块的训练序列的最后时刻相对应的时刻;当所述第二路径度量值为前向路径度量值α时,所述相应时刻为:与第j-2子块的训练序列的初始时刻相对应的时刻。
本发明实施例所提供的技术方案,在计算某一个子块的边界前向路径度量值或边界后向路径度量值时,利用与当前子块相隔一个位置的子块信息进行训练,相当于增加了等效训练长度,从而令边界路径度量值的可信度得到改善,进一步提高了滑窗译码的性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本发明实施例的Turbo码译码方法的流程图;
图2为本发明实施例的一种滑窗算法示意图;
图3为本发明实施例的另一种滑窗算法示意图;
图4为本发明另一实施例的Turbo码译码方法的流程图;
图5为本发明另一实施例的一种滑窗算法示意图;
图6为本发明另一实施例的另一种滑窗算法示意图;
图7为本发明实施例的Turbo码译码系统的结构示意图;
图8为本发明实施例的边界第二路径度量值获取模块的结构示意图;
图9为本发明实施例的边界第二路径度量值获取模块的另一种结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
在Turbo译码滑窗算法中,将待译码的数据块划分为若干子块,然后串行地对每一子块进行译码。在对一子块进行译码时,需要用到该子块各时刻的α值(前向路径度量值)及β值(后向路径度量值),而子块各时刻的α值是由该子块的边界α值(即该子块初始时刻的α值)通过前向递归计算得到、子块各时刻的β值是由该子块的边界β值(即该子块最后时刻的β值)通过后向递归计算得到,因此,在对一子块进行译码时,需要首先确定该子块的边界α值及边界β值。
边界路径度量值的可信度直接影响译码性能,为了增加的边界路径度量值的可信度,可以采用训练的方式递归计算得到子块的边界路径度量值。其中,设子块长度即译码滑窗的长度为WL,训练序列的长度为TL,为了实现滑窗译码的高效流水操作,一般设置WL=TL。训练序列在时序上可以设置于子块之前或之后,当训练序列设置于子块之前时,通过前向递归计算可以得到子块的边界α值;当训练序列设置于子块之后时,通过后向递归计算可以得到子块的边界β值。
为了提高子块的边界路径度量值的可信度,本发明一实施例提供一种Turbo码译码方法,包括:
利用本次迭代第i子块的第一路径度量值,获取本次迭代第i+1子块的边界第一路径度量值;
利用本次迭代第j子块相应时刻的第二路径度量值,获取下次迭代第j-2子块的边界第二路径度量值;
根据获取的L个子块的边界第一路径度量值及边界第二路径度量值获得L个子块各个时刻的所有第一路径度量值及第二路径度量值,对L个子块进行译码。
其中,L、i,j为自然数、且i∈[1,L),j∈(2,L];当所述第二路径度量值为后向路径度量值β时,所述相应时刻为:与第j-2子块的训练序列的最后时刻相对应的时刻;当所述第二路径度量值为前向路径度量值α时,所述相应时刻为:与第j-2子块的训练序列的初始时刻相对应的时刻。可以理解的是,上述方法中,前两个步骤的执行并不存在先后顺序。
本发明实施例所提供的技术方案,在计算某一个子块的边界前向路径度量值或边界后向路径度量值时,由于是利用与当前子块相隔一个位置的子块信息进行训练,相当于增加了等效训练长度,从而令边界路径度量值的可信度得到改善,进一步提高了滑窗译码的性能。
图1所示为本发明另一实施例所提供的一种Turbo码译码方法的流程图,在本实施例中,第一路径度量值为前向路径度量值α,第二路径度量值为后向路径度量值β,本实施例可以包括:
S101,利用本次迭代第i子块的α值,计算本次迭代第i+1子块的边界α值;
参见图2所示,待译码的数据块被划分为5个子块,各个子块所有时刻的α值是由利用各个子块的边界α值进行前向递归计算得到。其中各个子块的边界α值计算方法如下:
对于第1子块,可以根据Trellis图在初始时刻的前向路径度量值公式进行计算得到其边界前向路径度量值α1,其中,Trellis图即Turbo码编码器中寄存器的状态转移路径图,此处为现有技术,本实施例不做详细介绍。得到α1后,通过前向递归计算可以得到第1子块所有时刻的α值。
对于第2-5子块,每个子块的边界前向路径度量值α2、α3、α4、α5分别由本次迭代中上一子块最后时刻的α值替换得到。由于在滑窗译码过程中,本次迭代处理第i(i>1)子块时,第i-1子块已被处理,因此第i(i>1)子块的边界α值可以直接使用第i-1子块最后时刻的α值进行替换。
也就是说,将本次迭代第i子块最后时刻的α值,作为本次迭代第i+1子块的边界α值,i<L。
S102,利用本次迭代第j子块相应时刻的β值,计算下次迭代第j-2子块的边界β值;
参见图2所示,5个子块所有时刻的β值是利用各个子块的边界β值进行后向递归计算得到。其中各个子块的边界β值计算方法如下:
对于第5子块,根据Trellis图在最后时刻的后向路径度量值公式进行计算得到其边界后向路径度量值,此处为现有技术,本实施例不做详细介绍。进一步,通过后向递归计算可以得到第5子块所有时刻的β值。
对于第4子块,首先将其训练序列的边界后向路径度量值β4初始化为常数,例如初始化为0或1;利用β4通过后向递归计算可以训练得到第4子块训练序列初始时刻的β值;以第4子块训练序列初始时刻的β值作为第4子块的边界β值。进一步,通过后向递归计算可以得到第4子块所有时刻的β值。
对于第1-3子块,其边界后向路径度量值β1、β2、β3计算方法如下:
a1.计算训练序列的边界β值;
针对第一次迭代,将训练序列的边界后向路径度量值β1、β2、β3均初始化为与β4相等的常数。
针对第二次以上的迭代,利用上一次迭代的第j+2子块的初始时刻β值替换第j子块训练序列的边界β值。
由于在滑窗译码过程中,在第x次迭代处理第j(j<L-1)子块时,第j+2子块还未被处理,因此第j(j<L-1)子块训练序列的边界β值需要使用第x-1次迭代过程中已计算出的第j+2子块的相应时刻的β值进行替换。在本实施例中,对于第1子块至第3子块,WL=TL,因此该“相应时刻”就是第j+2子块的初始时刻。也就是说,在第x次迭代第j(j<L-1)子块训练序列的边界β值应使用第x-1次迭代第j+2子块初始时刻的β值进行替换,其中x表示迭代的次数。如图2所示:
第x次迭代的第1子块的边界后向路径度量值β1,使用第x-1次迭代第3子块初始时刻的β值进行替换;
第x次迭代的第2子块的边界后向路径度量值β2,使用第x-1次迭代第4子块初始时刻的β值进行替换;
第x次迭代的第3子块的边界后向路径度量值β3,使用第x-1次迭代第5子块初始时刻的β值进行替换。
b1.利用训练序列的边界β值,通过后向递归计算得到训练序列的初始时刻的β值。
c1.以训练序列初始时刻的β值作为子块的边界β值。
也就是说,将本次迭代第j子块相应时刻的β值,作为下次迭代第j-2子块的训练序列的边界β值,j>2。其中,所述第j子块相应时刻指的是:在第j子块中,与第j-2子块的训练序列的最后时刻相对应的时刻;在本实施例中,由于WL=TL,因此第j子块相应时刻即为第j子块的初始时刻。
需要说明的是,本实施例中以待译码的数据块被划分为5个子块为例进行说明,实际上,还可以被划分其他数目的子块,其边界α值和边界β值的计算方法与此类似,本实施例对此不做限定。
S103,根据获取的L个子块的α值及β值获得L个子块各个时刻的所有α值及β值,对L个子块进行译码。
通过上面的步骤,就可以得到每次迭代中,每个子块的边界α值及边界β值,再通过后向或前向计算,即可分别得到每次迭代中该子块各个时刻的的所有α值及β值,进而就可以对子块进行译码计算,其中,根据α值及β值进行译码的方法可以采用与现有技术同样的方式,本实施例不再详细说明。
应用上述方案,由于训练序列最后时刻的β值含有该时刻之后的信息,而训练过程中又可以用到训练序列已经计算出的上次迭代所产生的外信息,因此能够提高子块边界β值的可信度。应用本实施例的算法,相当于以(TL+WL)作为等效训练长度,从而进一步提高了子块边界β值的可信度。并且,在每次迭代过程中,只需对第j子块初始时刻的β值进行保存,作为下一次迭代第j-2(j>2)子块的训练序列的初始边界β值,与现有技术相比,能够在不增加硬件资源占用的情况下,提高译码性能。
需要说明的是,在上面的实施例中,由于选取WL=TL,因此第j子块相应时刻即为第j子块的初始时刻。本领域技术人员可以理解的是,当WL<TL时,该相应时刻应该位于子块初始时刻之后。如图3所示,本次迭代第j子块相应时刻的β值,将作为下次迭代第j-2子块的训练序列的边界β值,当WL<TL时,其等效序列长度小于(TL+WL),但是等效训练长度仍然增加了,因此同样可以提高子块边界β值的可信度,这种情况也应该在本发明的保护范围之内。
在上一实施例中,子块1~子块5是按照时序顺序定义的,可以理解的是,如果子块1~子块5是按照时序逆序定义,即滑窗译码是从每个数据块在时序上的最后一个子块开始依次向前处理,也可以应用类似的方案计算每个子块的边界α值和边界β值。
图4所示为本发明实施例所提供的另一种Turbo码译码方法的流程图,在本实施例中,第一路径度量值为后向路径度量值β,第二路径度量值为前向路径度量值α,本实施例可以包括:
S201,利用本次迭代第j子块相应时刻的α值,计算下次迭代第j-2子块的边界α值;
本步骤中,边界α值的获取方法与S102中计算边界β值的方法类似。由于在本实施例中,子块的编号是按照时序逆序定义的,因此子块的训练序列在时序上位于相应的子块之前,而“第j子块的相应时刻”则指的是第j子块中,与第j-2子块的训练序列的初始时刻相对应的时刻。
S202,利用本次迭代第i子块的β值,计算本次迭代第i+1子块的边界β值;
此处,计算边界β值的方法与S101中计算边界α值的方式类似。
S203,根据获取的L个子块的α值及β值获得L个子块各个时刻的所有α值及β值,对L个子块进行译码。
以图5所示的情况为例,子块的训练序列在时序上位于相应的子块之前,假设WL=TL。每次迭代是按照子块1~子块5的顺序进行滑窗译码,则
各个子块的边界α值计算方法为:
a2.将本次迭代第j子块相应时刻的α值,作为下次迭代第j-2子块的训练序列的边界α值,所述相应时刻为:与第j-2子块的训练序列的初始时刻相对应的时刻;对于WL=TL的情况,第j子块的相应时刻就是第j子块的最后时刻;可以理解的是,对于WL<TL的情况,第j子块的相应时刻应位于第j子块最后时刻之前,如图6所示。
b2.利用所述下次迭代第j-2子块的训练序列的边界α值,通过前向递归计算得到下次迭代第j-2子块的训练序列的最后时刻的α值;
c2.将所述下次迭代第j-2子块的训练序列的最后时刻的α值,作为下次迭代第j-2子块的边界α值;
各个子块的边界β值计算方法为:
将本次迭代第i子块初始时刻的β值,作为本次迭代第i+1子块的边界β值。
由于本实施例与前一实施例基本类似,因此仅作简单说明,本实施例没有详述的部分,可以参见图1所示实施例的相关描述。应用本实施方案,相当于以(TL+WL)作为等效训练长度,从而提高了子块边界α值的可信度。并且,在每次迭代过程中,只需对第j子块最后时刻的α值进行保存,作为下一次迭代第j-2(j>2)子块的训练序列的初始边界α值,能够在不增加硬件资源占用的情况下,提高译码性能。
通过以上的方法实施例的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
相应于上面的方法实施例,本发明实施例还提供一种Turbo码译码系统,假设待译码的数据块被划分为L个子块,如图7所示,该系统包括:
边界第一路径度量值获取模块301,用于利用本次迭代第i子块的第一路径度量值,获取本次迭代第i+1子块的边界第一路径度量值;
边界第二路径度量值获取模块302,用于利用本次迭代第j子块相应时刻的第二路径度量值,获取下次迭代第j-2子块的边界第二路径度量值;
译码模块303,用于根据获取的L个子块的边界第一路径度量值及边界第二路径度量值获得L个子块各个时刻的所有第一路径度量值及第二路径度量值,对L个子块进行译码;
其中,L、i,j为自然数、且i∈[1,L),j∈(2,L];当所述第二路径度量值为后向路径度量值β时,所述相应时刻为:与第j-2子块的训练序列的最后时刻相对应的时刻;当所述第二路径度量值为前向路径度量值α时,所述相应时刻为:与第j-2子块的训练序列的初始时刻相对应的时刻。
参见图8所示,当所述j值按照时序顺序定义、所述第一路径度量值为前向路径度量值α、所述第二路径度量值为后向路径度量值β时,边界第二路径度量值获取模块302,可以包括:
训练序列边界β值计算子模块302a,用于将本次迭代第j子块相应时刻的β值,作为下次迭代第j-2子块的训练序列的边界β值,所述相应时刻为:与第j-2子块的训练序列的最后时刻相对应的时刻;当子块长度等于训练序列长度时,所述第j子块相应时刻为第j子块的初始时刻。
后向递归计算子模块302b,用于利用所述下次迭代第j-2子块的训练序列的边界β值,通过后向递归计算得到下次迭代第j-2子块的训练序列的初始时刻的β值;
子块边界β值计算子模块302c,用于将所述下次迭代第j-2子块的训练序列的初始时刻的β值,作为下次迭代第j-2子块的边界β值;
参见图9所示,当所述j值按照时序逆序定义、所述第一路径度量值为后向路径度量值β、所述第二路径度量值为前向路径度量值α时,边界第二路径度量值获取模块302可以包括:
训练序列边界α值计算子模块302d,用于将本次迭代第j子块相应时刻的α值,作为下次迭代第j-2子块的训练序列的边界α值,所述相应时刻为:与第j-2子块的训练序列的初始时刻相对应的时刻;当子块长度等于训练序列长度时,所述第j子块相应时刻为第j子块的最后时刻。
前向递归计算子模块302e,用于利用所述下次迭代第j-2子块的训练序列的边界α值,通过前向递归计算得到下次迭代第j-2子块的训练序列的最后时刻的α值;
子块边界α值计算子模块302f,用于将所述下次迭代第j-2子块的训练序列的最后时刻的α值,作为下次迭代第j-2子块的边界α值;
其中,子块的训练序列在时序上位于相应的子块之前。
对于系统实施例而言,由于其基本相应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,在没有超过本申请的精神和范围内,可以通过其他的方式实现。当前的实施例只是一种示范性的例子,不应该作为限制,所给出的具体内容不应该限制本申请的目的。例如,所述模块或子模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或多个子模块结合一起。另外,多个模块可以或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
另外,所描述系统,装置和方法以及不同实施例的示意图,在不超出本申请的范围内,可以与其它系统,模块,技术或方法结合或集成。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (6)
1.一种Turbo码译码方法,其特征在于,待译码的数据块被划分为L个子块,所述方法包括:
利用本次迭代第i子块的第一路径度量值,获取本次迭代第i+1子块的边界第一路径度量值;
利用本次迭代第j子块相应时刻的第二路径度量值,获取下次迭代第j-2子块的边界第二路径度量值;
根据获取的L个子块的边界第一路径度量值及边界第二路径度量值获得L个子块各个时刻的所有第一路径度量值及第二路径度量值,对L个子块进行译码;
其中,L、i,j为自然数、且i∈[1,L),j∈(2,L];当所述第二路径度量值为后向路径度量值β时,所述相应时刻为:与第j-2子块的训练序列的最后时刻相对应的时刻;当所述第二路径度量值为前向路径度量值α时,所述相应时刻为:与第j-2子块的训练序列的初始时刻相对应的时刻;
当所述j值按照时序顺序定义时,所述第一路径度量值为前向路径度量值α,所述第二路径度量值为后向路径度量值β;
所述利用本次迭代第i子块的第一路径度量值,获取本次迭代第i+1子块的边界第一路径度量值,包括:
将本次迭代第i子块最后时刻的α值,作为本次迭代i+1子块的边界α值;
利用本次迭代第i子块的边界α值,通过前向递归计算得到本次迭代第i子块所有时刻的α值;
所述利用本次迭代第j子块相应时刻的第二路径度量值,获取下次迭代第j-2子块的边界第二路径度量值,包括:
将本次迭代第j子块相应时刻的β值,作为下次迭代第j-2子块的训练序列的边界β值,所述相应时刻为:与第j-2子块的训练序列的最后时刻相对应的时刻;
利用所述下次迭代第j-2子块的训练序列的边界β值,通过后向递归计算得到下次迭代第j-2子块的训练序列的初始时刻的β值;
将所述下次迭代第j-2子块的训练序列的初始时刻的β值,作为下次迭代第j-2子块的边界β值;
其中,子块的训练序列在时序上位于相应的子块之后;
当所述j值按照时序逆序定义时,所述第一路径度量值为后向路径度量值β,所述第二路径度量值为前向路径度量值α;
所述利用本次迭代第i子块的第一路径度量值,获取本次迭代第i+1子块的边界第一路径度量值,包括:
将本次迭代第i子块初始时刻的β值,作为本次迭代i+1子块的边界β值;
利用本次迭代第i子块的边界β值,通过后向递归计算得到本次迭代第i子块所有时刻的β值;
所述利用本次迭代第j子块相应时刻的第二路径度量值,获取下次迭代第j-2子块的边界第二路径度量值,包括:
将本次迭代第j子块相应时刻的α值,作为下次迭代第j-2子块的训练序列的边界α值,所述相应时刻为:与第j-2子块的训练序列的初始时刻相对应的时刻;
利用所述下次迭代第j-2子块的训练序列的边界α值,通过前向递归计算得到所述下次迭代第j-2子块的训练序列的最后时刻的α值;
将所述下次迭代第j-2子块的训练序列的最后时刻的α值,作为下次迭代第j-2子块的边界α值;
其中,子块的训练序列在时序上位于相应的子块之前。
2.根据权利要求1所述的方法,其特征在于,当子块长度等于训练序列长度且所述j值按照时序顺序定义时,所述第j子块相应时刻为:
第j子块的初始时刻。
3.根据权利要求1所述的方法,其特征在于,当子块长度等于训练序列长度且所述j值按照时序逆序定义时,所述第j子块相应时刻为:
第j子块的最后时刻。
4.一种Turbo码译码系统,其特征在于,待译码的数据块被划分为L个子块,所述系统包括:
边界第一路径度量值获取模块,用于利用本次迭代第i子块的第一路径度量值,获取本次迭代第i+1子块的边界第一路径度量值;
边界第二路径度量值获取模块,用于利用本次迭代第j子块相应时刻的第二路径度量值,获取下次迭代第j-2子块的边界第二路径度量值;
译码模块,用于根据获取的L个子块的边界第一路径度量值及边界第二路径度量值获得L个子块各个时刻的所有第一路径度量值及第二路径度量值,对L个子块进行译码;
其中,L、i,j为自然数、且i∈[1,L),j∈(2,L];当所述第二路径度量值为后向路径度量值β时,所述相应时刻为:与第j-2子块的训练序列的最后时刻相对应的时刻;当所述第二路径度量值为前向路径度量值α时,所述相应时刻为:与第j-2子块的训练序列的初始时刻相对应的时刻;
当所述j值按照时序顺序定义时,所述第一路径度量值为前向路径度量值α,所述第二路径度量值为后向路径度量值β;
所述利用本次迭代第i子块的第一路径度量值,获取本次迭代第i+1子块的边界第一路径度量值,包括:
将本次迭代第i子块最后时刻的α值,作为本次迭代i+1子块的边界α值;
利用本次迭代第i子块的边界α值,通过前向递归计算得到本次迭代第i子块所有时刻的α值;
所述边界第二路径度量值获取模块,包括:
训练序列边界β值计算子模块,用于将本次迭代第j子块相应时刻的β值,作为下次迭代第j-2子块的训练序列的边界β值,所述相应时刻为:与第j-2子块的训练序列的最后时刻相对应的时刻;
后向递归计算子模块,用于利用所述下次迭代第j-2子块的训练序列的边界β值,通过后向递归计算得到下次迭代第j-2子块的训练序列的初始时刻的β值;
子块边界β值计算子模块,用于将所述下次迭代第j-2子块的训练序列的初始时刻的β值,作为下次迭代第j-2子块的边界β值;
其中,子块的训练序列在时序上位于相应的子块之后;
当所述j值按照时序逆序定义时,所述第一路径度量值为后向路径度量值β;所述第二路径度量值为前向路径度量值α;
所述利用本次迭代第i子块的第一路径度量值,获取本次迭代第i+1子块的边界第一路径度量值,包括:
将本次迭代第i子块初始时刻的β值,作为本次迭代i+1子块的边界β值;
利用本次迭代第i子块的边界β值,通过后向递归计算得到本次迭代第i子块所有时刻的β值;
所述边界第二路径度量值获取模块,包括:
训练序列边界α值计算子模块,用于将本次迭代第j子块相应时刻的α值,作为下次迭代第j-2子块的训练序列的边界α值,所述相应时刻为:与第j-2子块的训练序列的初始时刻相对应的时刻;
前向递归计算子模块,用于利用所述下次迭代第j-2子块的训练序列的边界α值,通过前向递归计算得到下次迭代第j-2子块的训练序列的最后时刻的α值;
子块边界α值计算子模块,用于将所述下次迭代第j-2子块的训练序列的最后时刻的α值,作为下次迭代第j-2子块的边界α值;
其中,子块的训练序列在时序上位于相应的子块之前。
5.根据权利要求4所述的系统,其特征在于,当子块长度等于训练序列长度且所述j值按照时序顺序定义时,所述第j子块相应时刻为:
第j子块的初始时刻。
6.根据权利要求4所述的系统,其特征在于,当子块长度等于训练序列长度且所述j值按照时序逆序定义时,所述第j子块相应时刻为:
第j子块的最后时刻。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101220180A CN101807971B (zh) | 2010-03-08 | 2010-03-08 | Turbo码译码方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101220180A CN101807971B (zh) | 2010-03-08 | 2010-03-08 | Turbo码译码方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101807971A CN101807971A (zh) | 2010-08-18 |
CN101807971B true CN101807971B (zh) | 2013-03-20 |
Family
ID=42609599
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010101220180A Active CN101807971B (zh) | 2010-03-08 | 2010-03-08 | Turbo码译码方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101807971B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105306076A (zh) | 2014-06-30 | 2016-02-03 | 深圳市中兴微电子技术有限公司 | 一种基于MAP算法的Turbo译码方法及装置 |
CN106788899A (zh) * | 2016-12-29 | 2017-05-31 | 中国科学院微电子研究所 | 高可靠的Turbo译码器后向边界初始化方法 |
CN113765622B (zh) * | 2021-08-26 | 2024-01-23 | 希诺麦田技术(深圳)有限公司 | 分支度量初始化方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101350626A (zh) * | 2007-07-20 | 2009-01-21 | 大唐移动通信设备有限公司 | 一种Turbo码编码装置及方法 |
CN101355401A (zh) * | 2007-07-23 | 2009-01-28 | 中兴通讯股份有限公司 | 一种turbo码译码方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2408900B (en) * | 2003-12-05 | 2006-03-08 | Motorola Inc | A receiver for a wireless communication device |
-
2010
- 2010-03-08 CN CN2010101220180A patent/CN101807971B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101350626A (zh) * | 2007-07-20 | 2009-01-21 | 大唐移动通信设备有限公司 | 一种Turbo码编码装置及方法 |
CN101355401A (zh) * | 2007-07-23 | 2009-01-28 | 中兴通讯股份有限公司 | 一种turbo码译码方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101807971A (zh) | 2010-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1168237C (zh) | 移动通信系统中的分量解码器及其方法 | |
CN104025459A (zh) | 译码处理方法及译码器 | |
CN101388674B (zh) | 一种译码的方法、译码器以及Turbo码译码器 | |
CN102122966A (zh) | 基于信道极化的交错结构重复码的编码器及其编译码方法 | |
CN101309086A (zh) | 里德-所罗门码级联反馈系统卷积码的系统的译码方法 | |
CN101478314A (zh) | 一种里德-所罗门编码译码器及其译码的方法 | |
CN110233628B (zh) | 极化码的自适应置信传播列表译码方法 | |
CN101807971B (zh) | Turbo码译码方法及系统 | |
CN102835062B (zh) | 确定码距的方法及计算装置 | |
CN109672498B (zh) | 译码方法和装置 | |
CN103220007B (zh) | 一种自适应调整子码不可靠位数的tpc迭代译码算法 | |
EP2174422B1 (en) | Decoding of recursive convolutional codes by means of a decoder for non-recursive convolutional codes | |
CN102832954B (zh) | 一种基于软信息平均最小值的Turbo码译码迭代停止方法 | |
CN1183687C (zh) | Turbo码编码器及编码方法 | |
CN1741614A (zh) | 使用冗余对视/音频和语音数据进行解码的方法和系统 | |
CN106341211A (zh) | 一种针对多种信道环境的自适应译码方法 | |
CN106656216A (zh) | 一种针对Turbo乘积码的修正的软入软出译码方法 | |
CN106411328B (zh) | 一种基于软比特的Turbo码交织器的盲识别方法 | |
CN101656542A (zh) | 双二元卷积Turbo码译码方法和装置 | |
CN102377438B (zh) | 信道译码方法和咬尾卷积译码器 | |
US20210203364A1 (en) | Apparatuses and methods for mapping frozen sets between polar codes and product codes | |
CN105049063B (zh) | 一种网格状脉冲间隔编码方法 | |
CN102932002A (zh) | 截短型高速tpc译码器的fpga设计方法 | |
CN112534724B (zh) | 用于解码极化码和乘积码的解码器和方法 | |
CN110958025A (zh) | 一种基于叠加的短帧长编码及译码方法 |
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 |