CN1455565A - 一种用于数字通信差错控制的基于分块处理的并行Turbo编译码方法 - Google Patents

一种用于数字通信差错控制的基于分块处理的并行Turbo编译码方法 Download PDF

Info

Publication number
CN1455565A
CN1455565A CN 03117474 CN03117474A CN1455565A CN 1455565 A CN1455565 A CN 1455565A CN 03117474 CN03117474 CN 03117474 CN 03117474 A CN03117474 A CN 03117474A CN 1455565 A CN1455565 A CN 1455565A
Authority
CN
China
Prior art keywords
decoding
piecemeal
component
coding
information
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
CN 03117474
Other languages
English (en)
Other versions
CN100364301C (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.)
Southwest Jiaotong University
Xian Jiaotong University
Original Assignee
Southwest Jiaotong University
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 Southwest Jiaotong University filed Critical Southwest Jiaotong University
Priority to CNB031174744A priority Critical patent/CN100364301C/zh
Publication of CN1455565A publication Critical patent/CN1455565A/zh
Application granted granted Critical
Publication of CN100364301C publication Critical patent/CN100364301C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

本发明公布了一种用于数字通信差错控制的基于分块处理的并行Turbo编译码方法。在本发明中,通过增加分块拆分处理模块、分块合并处理模块和使用带归零处理的分块编码模块,编码端可以在进行信息元分块编码处理的同时,设定并行编码各个编码分块的起始和终止状态;通过增加分块拆分处理模块、分块合并处理模块以及在两个分量译码中采用针对分块编码的多个软输入软输出译码模块所构成的译码单元,解码端支持Turbo码的高速并行分块译码;由于每个编码分块的前向状态和后向状态的初值均被设定为零状态,基于分块处理的并行编译码方法能在保证Turbo译码可靠性的同时,大幅度地降低Turbo码的译码延时。

Description

一种用于数字通信差错控制的基于分块处理的 并行Turbo编译码方法
所属技术领域
本发明涉及数字通信系统中的纠错编译码方法,尤其是在采用Turbo(特博)码的数字通信系统中,基于分块处理的并行Turbo编译码方法。
背景技术
在数字通信系统中,尤其是无线数字通信系统中,纠错码对于保障可靠的通信、提高通信质量起着重要的作用。此外,纠错码还被广泛应用于降低计算机存储和运算系统中的误码率,以延长计算机无故障运行时间。
C.贝努,A.格拉维休仕(C.Berrou,A.Glavieux,et.al.)等人于1993年在"nearShannon limit error-correcting coding and decoding:Turbo codes,"Proc.1993 Int.Conf.Communication,pp.1064-1070,(“接近香农限的纠错编译码方案:Turbo码”,1993年国际通信大会论文集,第1064页至1070页)论文中首次提出Turbo(特博)码的编译码方法。Turbo码编码器是由两个递归系统卷积码(RSC,Recursive Systematic Convolutional code)编码器通过一个随机交织器并行连接而成,编码后的校验位经过穿孔删余处理后,从而产生不同码率的码字。由于两个RSC分量编码器RSC1和RSC2是通过并行的方式进行级联编码,所以这种Turbo码也被称之为并行级联卷积码(PCCC,Parallel ConcatenatedConvolutional Code)。Turbo码巧妙地将卷积编码与随机交织器结合在一起,实现了随机编码的思想。在解码处理时,Turbo码通过迭代译码来逼近最大似然译码:Turbo码在解码时采用了软输入软输出(SISO,Soft-In Soft-Out)译码模块,它由两个SISO译码模块SISO1和SISO2串行级联组成;译码模块SISO1对分量码RSC1进行软输入软输出译码,产生关于信息序列中每一比特的似然比信息,并将其中的外信息(Extrinsic Information)经过交织处理后作为SISO2在对分量码RSC2进行软输入软输出译码时的先验信息;译码模块SISO2对分量码RSC2进行软输入软输出译码,产生关于交织信息序列中每一比特的似然比信息,并将其中的外信息(Extrinsic Information)经过解交织处理后,作为下一次SISO1在对分量码RSC1进行软输入软输出译码时的先验信息;经过多次迭代,SISO1和SISO2的外信息将趋于稳定,似然比渐近值逼近于整个码的最大似然译码。C.贝努等人的仿真研究表明,基于(37,21)分量RSC编码器的并行级联Turbo码,在编码分组长度为65536,编码码率为1/2时,迭代次数达到18次时,误码率下降到10-5以下系统所需的信噪比仅为0.7dB,达到了接近香农限的性能。因其优异的纠错性能,近些年来Turbo码一直成为纠错编码领域的一大热点,并获得了大量成果。其中一个主要的研究领域是围绕Turbo码迭代译码算法的研究工作。到目前为止,人们已经先后提出了最大后验概率译码(MAP,Maximum A Posteriori)算法(包括标准的BCJR算法,对数域上的LOG-MAP算法及其简化的MAX-LOG-MAP算法,减少状态搜索的M-BCJR和T-BCJR算法,滑动窗SW-BCJR算法,将标准BCJR算法简化为仅仅包括前向递归的OSA算法等)、软输出Viterbi(SOVA,Soft-Output ViterbiAlgorithm)算法等译码算法。
在研究、分析和理解Turbo码性能的过程中,人们发现,在信噪比(SNR,Signal-to-noise Ratio)较高,误码率(BER)较低时,Turbo码的性能是由码字的最小有效码距dmin确定,即Turbo码的性能在SNR增加的过程中将趋近于dmin的渐进线,这意味着Turbo码在信噪比SNR较高时所出现的所谓差错平台(error floor)将取决于dmin。M.布瑞林和J.B.胡柏(M.Breiling and J.B.Huber)在论文“Upper Bound on the Minimum Distance of Turbo Codes”,IEEETransactions on Communications,Vol.49,No.5,2001,pp.808~815(“Turbo码最小码距上界”,IEEE通信学报,第49卷5期,2001年,第808页至815页)研究指出,Turbo码的最小码距不可能大于码长的平方根。一般而言,增加交织器的交织长度和并采用适当的交织方法可以增加dmin,从而获得更好的纠错性能。
Turbo码虽然表现出了优异的系统性能,但正如前所述,在数字通信系统中为了获得较好的纠错性能,Turbo码的编码长度通常较长。由于Turbo码译码所采用的迭代译码,随着Turbo码编码长度的增加,Turbo码译码算法所需要的存储量与迭代译码计算量的加大,译码延时也随之增加。
为了尽可能地降低Turbo码译码延时,满足数字通信系统中的实时传输要求,不少专利和文献提出了各种方法来设法降低Turbo码的迭代译码延时。比较常见的一种方法是采用流水线型的Turbo译码结构。显然当采用多个处理器来处理实现流水线中的各个译码模块的译码运算时,将比单个处理器实现Turbo码的迭代译码要更快一些,从而在一定程度上降低Turbo码的迭代译码时延。C.贝努,A.格拉维休仕(C.Berrou,A.Glavieux,et.al.)等人在"Near Shannonlim。it error-correcting coding and decoding:Turbo codes,"Proc.1993 Int.Conf.Communication,pp.1064-1070,(“接近香农限的纠错编译码方案:Turbo码”,1993年国际通信大会论文集,第1064页至1070页)论文首先给出的即为一种流水线型的Turbo译码结构。W.山德斯.奥利法.(美国),P.史密斯.罗纳德(美国)(Saunders Oliver W(US);Smith Ronald P(US))在欧洲EP1024601号专利“Pipelined architecture to decode parallel and serial concatenated codes(Turbocodes)”,TRW INC(US),2000-08-02(“并行和串行级联码(Turbo码)的流水线译码结构”,美国TRW有限公司,2000年8月2日)所给出的也是一种流水线型的级联迭代译码结构。虽然Turbo码的译码结构在采用多个处理器实现流水线型的译码结构时,可以在一定程度上降低译码延时,但流水线译码结构中的每个软输入软输出译码单元的处理时延仍难以降低,特别是在编码分组较长时,流水线型的Turbo码译码结构仍然具有较大的译码时延。
在进一步降低Turbo码译码延时的研究中,徐家明和王成梁(Jah-Ming Hsu,Chin-Liang Wang)在论文“A PARALLEL DECODING SCHEME FOR TURBOCODES”,ISCAS′98,Volume:4,1998,pp.445-448(“一种Turbo码的并行译码方案”,IEEE电路与系统会议,1998年,第4卷,第445页至448页)中提出了一种基于分块处理的并行译码方法。在这一方案中,解码端将接收到的一个长度为L的Turbo码拆分为等长的W块;Turbo码在解码时,第一个SISO译码模块SISO1采用W个处理器对分量码RSC1的W个分块并行执行SISO译码,产生关于分块信息序列中每一比特的似然比信息,SISO译码模块在合并似然比信息并将其中的外信息(Extrinsic Information)经过交织处理后作为第二个SISO译码模块SISO2在对分量码RSC2中的W个分块并行执行SISO译码时的先验信息;译码模块SISO2对分量码RSC2进行软输入软输出译码,并合并产生关于交织信息序列中每一比特的似然比信息,并将其中的外信息(ExtrinsicInformation)经过解交织处理后,作为下一次SISO1在对分量码RSC1进行分块软输入软输出译码时的先验信息;经过多次迭代,得到整个码的分块最大似然译码。由于这一方法中每一个SISO译码模块中均包括了W个SISO译码模块,每个SISO译码模块处理的编码长度减小为非分块方案中的1/W,因此这种基于分块处理的并行译码方法能够显著地降低Turbo码的译码延时。U.达什古普塔和K.R.纳那亚南(U.Dasgupta and K.R.narayanan)在“Parallel Decodingof Turbo Codes Using Soft Output T-Algorithms”,IEEE Communications Letters,Vol.5,no.8,AUGUST 2001,pp352-354(使用软输出T算法的并行Turbo译码算法,IEEE通信快报,第5卷8期,2001年,第352至354页)论文中沿用了徐家明和王成梁(Jah-Ming Hsu and Chin-Liang Wang)的分块处理方法,但采用了能够减少状态搜索的T-BCJR算法来替代MAP算法,以进一步降低Turbo码的译码时延。研究表明,采用上述基于分块处理的Turbo译码方法,可以将Turbo码的译码延时从O(2LM2m/P)减少到O(2LM2m/WP),其中P为处理器的处理速率(单位:运算次数/秒),M为Turbo译码时设定的迭代次数,m为Turbo码的编码存储。在进行以上分块译码处理时,Turbo码的纠错性能会有一定的损失。为了减小因分块译码导致的性能损失,徐家明和王成梁(Jah-Ming Hsu,Chin-Liang Wang)在论文“A PARALLEL DECODINGSCHEME FOR TURBO CODES”,ISCAS′98,Volume:4,1998,pp.445-448(“一种Turbo码的并行译码方案”,IEEE电路与系统会议,1998年,第4卷,第445页至448页)中提出在分块时采用相邻分块间彼此重叠比特的方法来改善纠错性能;研究结果表明,在分块过程中相邻分块间彼此重叠的比特数越多,则分块译码造成的性能损失越小,并逐步接近为传统不分块时的译码性能。显然,在分块时考虑在相邻分块间彼此重叠比特可以改善分块并行译码性能的原因在于各个分块可以从重叠比特中比较准确地确定各个分块在重叠区域的状态。显然重叠比特数越多,这种重叠区域状态的判断也就越准确,当重叠比特数足够多时,每个分块在重叠区域的初始或终止状态判决与不分块时地判断结果基本一致,从而使得分块并行译码接近于传统不分块时的译码性能。
中国CN1288292号发明专利,卢红旗,曲秉玉,“一种串/并行级联卷积码译码模块及其译码实现方法”,深圳市华为技术有限公司,1999年09月13日,也提出了一种类似的Turbo码的分块译码方法,该专利将接收编码分组分成N个分块后,对每个分块分别采用m个前向与后向迭代译码模块执行前向与后向迭代译码;在前向与后向迭代译码输出的基础上,合并得到完整的对数似然比译码输出。中国CN1328386A号专利,徐友云,李烜,宋文涛,罗汉文,“并行滑动窗最大后验概率算法及其高速Turbo码译码模块”,信息产业部电信传输研究所,上海交通大学,2001年12月26日,也给出了一种类似的Turbo码分块并行译码算法,该专利侧重于在多滑动窗分块并行译码处理速度与译码内存需求量间进行某种平衡,从而便于可编程逻辑器件实现高速Turbo译码。以上两项专利所涉及的都只是解码端的分块并行译码处理,而未考虑在Turbo编码端进行带归零的分块编码及其对基于分块处理的Turbo码并行译码的影响。徐家明和王成梁(Jah-Ming Hsu,Chin-Liang Wang)以及U.达什古普塔和K.R.纳那亚南(U.Dasgupta and K.R.Narayanan)虽然给出了重叠比特数与Turbo码分块并行迭代译码性能之间的定性关系,但均未定量地给出重叠比特数与Turbo码分块并行迭代译码性能之间的关系。从大量的仿真结果来看,只有在重叠比特数足够多时,基于重叠比特的分块并行译码算法才能够提供足够可靠的纠错性能。显然,这种基于相邻分块重叠比特的Turbo码并行迭代译码方法在具体实现中会面临以下问题:
针对确定的编码长度N,如果数字通信系统所需要的传输可靠性能越高,为了保证译码性能,相邻分块间需要彼此重叠的比特数也就越多;因此上述基于重叠比特的分块Turbo码并行译码方法的译码效率也将随之降低。
发明内容
本发明的目的是提供一种新的可大幅度降低Turbo码的译码延时并保证Turbo译码可靠性的基于分块处理的Turbo码并行编译码方法。
本发明解决其技术问题,所采用的技术方案是:
一种用于数字通信差错控制的基于分块处理的并行Turbo编译码方法,由编码端对信息元一是直接进行第一分量递归系统卷积编码得到第一分量编码码元,二是进行交织处理生成交织信息元,进行第二分量递归系统卷积编码得到第二分量编码码元,再对第一、第二分量编码码元及未经系统卷积编码的信息元进行穿孔处理得到Turbo编码码元等步骤;解码端对接收到的Turbo编码码元进行缓存处理,解穿孔处理得到信息元、第一、第二分量编码码元,送大于等于1的M个译码单元中通过译码、交织、解交织处理后得到译码输出等步骤组成,其特点为:
编码端:信息元需经编码预处理后:一是先直接分块拆分为N个分块,再进行带归零处理的第一分量递归系统卷积编码;二是将交织处理生成的交织信息元,先分块拆分为大于等于2的N个分块,再进行带归零处理的第二分量递归系统卷积编码;对得到的第一、第二分量编码码元及未经系统卷积编码的信息元进行合并处理后,再进行穿孔处理;
解码端:在解穿孔后,对得到的信息元、第一、第二分量编码码元,进行解码预处理后,送M个译码单元译码,每个译码单元两个分量各采用N个软输入软输出译码模块进行并行译码处理,其并行译码模块数N与编码端分块拆分的块数相同,译码处理所使用的前向状态度量(α)和后向状态度量(β)初值为零,并行译码处理后得到的外信息,再由该译码单元进行相应的分块合并处理、分块拆分处理;而最后一个译码单元中第二分量译码得到的最大似然比输出,再由该译码单元进行相应的分块合并处理、解交织处理得到译码输出。
本发明的有益效果是:通过对Turbo编码结构作适当调整,增加编码预处理模块、分块拆分处理模块、分块合并处理模块和使用带归零处理的分块编码模块,编码端在实现信息元的分块编码处理的同时,设定各个编码分块的起始和终止状态为零。解码端通过分块拆分处理模块、分块合并处理模块拆分得到两个分量译码中多个软输入软输出译码模块处理的编码分块时,不需要象传统分块译码方法那样从重叠比特来推定各个分块的初始与终止状态。由于每个编码分块的前向状态和后向状态的初值均被设定为零状态,基于分块处理的并行译码方法能在保证Turbo译码可靠性的同时,大幅度降低Turbo码的译码延时。而且由于采用了带归零的分块编码,在编码端各个编码分块之后所增加的归零尾比特的数目是确定,解码端在进行分块拆分时对应的各个编码分块长度也随之是唯一确定的,这一特性将便于实际系统实施。
上述编码端的编码预处理具体过程为:
如果信息元长度L′不能被N整除,则编码预处理在长度为L′的信息元尾端添加已知的伪信息元,使其长度增加为能被N整除的最小数L,并将在伪信息元的添加位置和数目写入编码分组的控制头信息;解码端的译码单元根据编码分组的控制头信息在译码输出前删除添加的伪信息元;
如果信息元长度L′能被N整除,则编码预处理不对信息元作任何处理,并将此信息写入编码分组的控制头信息;解码端的译码单元根据编码分组的控制头信息不对译码输出作任何处理。
编码端通过增加编码预处理模块,可以实现系统设定的信息元长度与分块数N之间的匹配。在实际实施中,即使出现L′不能被N整除的情况,考虑到L′一般比较大,而N一般比较小,编码预处理模块所需要添加的冗余伪信息元个数也非常少,其算法的运算复杂度数量级为O(N)。
上述第一、第二分量带归零处理的递归系统卷积编码处理的归零处理方式为,两个分量编码处理在对每个信息元分块编码后将回到零状态的分块编码归零处理,生成第一、第二分量分块编码码元、及使二者归零的归零比特,第一、第二分量分块编码码元的长度为L/N+m,m为RSC编码模块的编码存储长度。
本发明编码端的分块合并处理和穿孔处理可以采用如下方式:
1)分块合并处理的具体方式为:
a)首先对未经系统卷积编码的信息元直接拆分为N个分块,将依序对应的N块第一、第二分量编码的归零比特添加到各个信息元分块末端;输出N个长度为L/N+2×m的等长含归零比特的信息元分块;
b)将a)步得到的N个含归零比特的信息元分块与依序对应的N块第一、第二分量分块编码码元构成一个编码分组,其长度为3×L+4×N×m;
2)穿孔处理模式:对编码分组中的每个分块都进行相互独立的穿孔处理;其中对信息元分块中的归零比特不作穿孔处理;穿孔处理后的编码分组长度为R×L+4×N×m,其中1/R为经过穿孔模块调整后的编码码率,这里R≤3。
两个分量RSC编码模块输出的码元,连同未经处理的信息元以及两个分量RSC编码模块在对每个信息元分块作归零处理时的归零尾比特,经分块合并处理模块按照以下方式依序合并成一个完整的编码分组后输出:首先输出对应第一个信息元分块的信息元、编码码元与归零尾比特,然后输出对应第二个信息元分块的信息元、编码码元与归零尾比特,最后是对应于第N个信息元分块的信息元、编码码元与归零比特;经过分块合并处理后的编码分组长度为3×L+4×N×m,m为RSC编码模块的编码存储长度;穿孔模块将参照穿孔模式对合并后的编码分组执行穿孔处理,穿孔模块对长度为3×L+4×N×m的编码分组中属于每个信息元分块编码归零处理的部分不作穿孔处理:具体来讲,需要进行穿孔处理的区间为[4×(k-1)×m+3×(k-1)×L/N+1,4×(k-1)×m+3×k×L/N],其中k的取值范围为1至N;经过穿孔模块处理后的编码分组长度为R×L+4×N×m,其中1/R为经过穿孔模块调整后的编码码率,这里R≤3。
解码端的缓存处理采用长度为R×L+4×N×m存储器;
解码端的解穿孔处理采用与编码端的穿孔处理模式相对应的模式,恢复得到长度为3×L+4×N×m的解穿孔接收编码分组;解穿孔接收编码分组中添加零比特的位置由穿孔模式指定。
本发明解码端的解码预处理将解穿孔接收得到的编码分组进行以下处理:
(1)、依序将N个信息元分块的末端添加第一分量归零比特,得到长度为L/N+m的含归零比特的信息元分块,并与N个长度为L/N+m第一分量分块编码码元,作为M个译码单元中第一分量N个软输入软输出译码的输入;
(2)、依序将N个信息元分块合并成长度为L的完整信息元;再通过交织处理后得到交织信息元,并拆分成N个等长的交织信息元分块;依序将N个交织信息元分块的末端添加第二分量归零比特,得到长度为L/N+m的含归零比特的交织信息元分块,并与N个长度为L/N+m第一分量分块编码码元,通过延迟线作为M个译码单元中第二分量N个软输入软输出译码的输入。
本发明解码端采用的译码单元数M通常大于或等于2,各译码单元以级联方式实现Turbo码的流水线型迭代译码:第一个译码单元中的第一分量N个软输入软输出译码的输入直接由解码预处理输出送入,第一个译码单元中的第二分量N个软输入软输出译码的输入经其输入延迟线由解码预处理输出送入,后续的译码单元第一分量N个软输入软输出译码的输入由前一个译码单元第二分量的输入延迟线再经延迟线送入,后续的译码单元第二分量N个软输入软输出译码的输入由本译码单元第一分量的输入延迟线再经延迟线送入。
本发明中译码单元进行的处理可以为:
第一、第二分量软输入软输出译码处理的输入除解码预处理的输出信息外,还将分块外信息作为输入;经过译码处理后,输出两个长度均为L/N+m的输出信息,即分块似然比译码输出或分块外信息输出;
(1)、第一译码单元第一分量N个软输入软输出译码处理采用N个长度均为L/N+m的零比特作为分块外信息输入,除第一个译码单元外的第一分量N个软输入软输出译码的分块外信息输入为前一个译码单元得到的第二分量分块外信息;对输入进行译码后得到长度均为L/N+m的分块外信息输出;
分块合并处理先剔除每个分块外信息末尾的m位后,依序将N个分块外信息合并成为长度为L的完整的第一分量外信息,经过交织处理后,再拆分成长度均为L/N的N个分块,并在每个分块末尾添加长度为m的零比特,得到长度为L/N+m的第一分量分块外信息;
(2)第二分量N个软输入软输出译码处理的外信息输入为本译码单元第一分量分块外信息;
除第M个译码单元外,前M-1个译码单元中第二分量N个软输入软输出译码得到长度均为L/N+m的分块外信息输出;然后进行分块合并处理,先剔除每个分块外信息末尾的m位后,依序将N个分块外信息合并成为长度为L的完整的第二分量外信息;再经解交织处理后,由分块拆分处理成长度均为L/N的N个分块,并在每个分块末尾添加长度为m的零比特,得到长度为L/N+m的第二分量分块外信息;
第M个译码单元第二分量N个软输入软输出译码得到长度均为L/N+m的分块似然比译码输出;进行分块合并处理,先剔除每个分块似然比译码输出末尾的m位后,依序将N个分块似然比译码输出合并成为长度为L的完整似然比译码输出;再进行解交织处理后,参照接收编码分组的控制头信息,剔除译码输出中的伪信息元后,得到系统设定长度为L′的译码输出。
本发明中解码端译码单元的交织、解交织与编码端的交织所处理的数据长度相等,均为L。这样本发明进行分块归零编码的同时,沿用了Turbo码长交织器,因此能获得与传统Turbo编码方法基本相同的最小自由码距dmin,从而能够在保证Turbo码纠错性能的同时,大幅度地降低Turbo译码延时。另当分块个数N等于1时,本Turbo码并行编译码方法演变为传统编译码。
附图说明
以下结合附图说明本发明实施例。
图1为本发明实施例一编码结构图
图2为本发明实施例一解码结构图
图3为本发明解码预处理模块结构图
图4为分量并行SISO译码模块结构图
图5为本发明实施例二编码结构图
图6为本发明实施例三编码结构图
实施例1
编码流程
图1示出了Turbo码分块编码的一种实现结构。
本实施例的Turbo码分块编码结构由编码预处理模块、分块拆分处理模块、带归零处理模块的第一分量分块递归系统卷积编码模块一(RSC1)、带归零处理的第二分量递归系统卷积编码模块二(RSC2)、交织处理模块、穿孔处理模块与编码输出模块组成。
来自信源长度为L′的信息元经过编码预处理,输出能被N整除且长度为L的信息元。如果系统设定的信息元长度L′能被N整除,则经过编码预处理模块后的信息元长度L等于L′;如果系统设定的信息元长度L′不能被N整除,则编码预处理模块在长度为L′的信息元尾端添加长度为
Figure A0311747400141
的已知伪信息元(如零比特)后,将其拓展成长度为
Figure A0311747400142
的信息元;这里
Figure A0311747400143
代表大于或等于L’/N的最小整数;Turbo码分块编码方式可以通过编码分组的控制头信息告知解码端在译码输出时是否需要以及从什么位置开始剔除编码端在编码预处理时插入的伪信息元;在L=L’时,控制头信息将告知解码端不需要对经过分块合并处理后,经解交织模块处理得到的长度为L的对数似然比译码输出再进行处理;在
Figure A0311747400144
时,控制头信息将告知解码端需要对经过分块合并处理后,经解交织处理得到的长度为L的似然比译码输出从位置L′+1开始删除编码端在编码预处理时所添加的长度为
Figure A0311747400151
的伪信息元。
长度为L的信息元,一路在分块拆分处理模块的控制下,按照长度L/N将信息元分块送带归零处理的第一分量递归系统卷积编码,另一路经过交织处理后得到的交织信息元,在分块拆分处理模块的控制下,按照长度L/N将交织信息元分块送带归零处理的第二分量递归系统卷积编码;两个编码模块RSC1、RSC2对长度为L/N的信息元分块进行编码后将回到零状态后,再转入对下一个长度为L/N的信息元分块的编码处理。
两个分量RSC编码模块输出的编码码元Y1,k,Y2,k,连同未经处理的信息元以及两个分量RSC编码模块在对每个信息元分块作归零处理时的归零尾比特t1,k,t2,k,在分块拆分处理模块的控制下,经分块合并处理按照以下方式依序合并成一个完整的编码分组后输出:
首先输出对应第一个信息元分块的信息元、编码码元与归零尾比特(其中上标表示分块序号) { X 1 ( 1 ) , Y 1 ( 1 ) , Y 2 ( 1 ) ; X t ( 1 ) , Y 1 , t ( 1 ) , Y 2 , t ( 1 ) } = { x 1 ( 1 ) , y 1,1 ( 1 ) , y 2,1 ( 1 ) , · · · , x L / N ( 1 ) , y 1 , L / N ( 1 ) , y 2 , L / N ( 1 ) ; t 1,1 ( 1 ) , y 1 , L / N + 1 ( 1 ) , y 2 , L / N + 1 ( 1 ) , · · · , t 1 , m ( 1 ) , y 1 , L / N + m ( 1 ) , y 2 , L / N + m ( 1 ) }
然后输出对应第二个信息元分块的信息元、编码码元与归零尾比特 { X ( 2 ) , Y 1 ( 2 ) , Y 2 ( 2 ) ; X t ( 2 ) , Y 1 , t ( 2 ) , Y 2 , t ( 2 ) } = { x 1 ( 2 ) , y 1,1 ( 2 ) , y 2,1 ( 2 ) , · · · , x L / N ( 2 ) , y 1 , L / N ( 2 ) , y 2 , L / N ( 2 ) ; t 1,1 ( 2 ) , y 1 , L / N + 1 ( 2 ) , y 2 , L / N + 1 ( 2 ) , · · · , t 1 , m ( 2 ) , y 1 , L / N + m ( 2 ) , y 2 , L / N + m ( 2 ) }
最后是对应于第N个信息元分块的信息元、编码码元与归零比特; { X ( N ) , Y 1 ( N ) , Y 2 ( N ) ; X t ( N ) , Y 1 t ( N ) , Y 2 t ( N ) } = { x 1 ( N ) , y 1,1 ( N ) , y 2,1 ( N ) , · · · , x L / N ( N ) , y 1 , L / N ( N ) , y 2 , L / N ( N ) ; t 1,1 ( N ) , y 1 , L / N + 1 ( N ) , y 2 , L / N + 1 ( N ) , · · · , t 1 , m ( N ) , y 1 , L / N + m ( N ) , y 2 , L / N + m ( N ) }
经过分块合并处理后的编码分组为 { { X ( 1 ) , Y 1 ( 1 ) , Y 2 ( 1 ) ; X t ( 1 ) , Y 1 t ( 1 ) , Y 2 t ( 1 ) } , { X ( 2 ) , Y 1 ( 2 ) , Y 2 ( 2 ) ; X t ( 2 ) , Y 1 t ( 2 ) , Y 2 t ( 2 ) } , · · · , { X ( N ) , Y 1 ( N ) , Y 2 ( N ) ; X t ( N ) , Y 1 t ( N ) , Y 2 t ( N ) } } 可见以上编码分组由添加归零比特的信息元Xk、第一分量编码码元Y1,k、第二分量编码码元Y2,k构成,长度为3×L+4×N×m,m为RSC编码模块的编码存储长度。
穿孔模块在分块拆分处理模块的控制下,参照穿孔模式对合并后的编码分组执行穿孔处理,穿孔处理时对长度为3×L+4×N×m的编码分组中属于每个信息元分块编码归零处理的部分不作穿孔处理:具体来讲,需要进行穿孔处理的区间为[4×(k-1)×m+3×(k-1)×L/N+1,4×(k-1)×m+3×k×L/N],其中k的取值范围为1至N,其对应的需要进行穿孔处理的数据为: { { X ( 1 ) , Y 1 ( 1 ) , Y 2 ( 1 ) } , { X ( 2 ) , Y 1 ( 2 ) , Y 2 ( 2 ) } , · · · , { X ( N ) , Y 1 ( N ) , Y 2 ( N ) } }
经过穿孔处理后的编码分组长度为R×L+4×N×m,其中1/R为经过穿孔模块调整后的编码码率,这里R≤3。
可见,编码端通过分块编码后输出的编码码字与传统编码码字所不同的是在码字中以R×L/N为单位分块,并在每个分块后添加了一些用于编码分块归零的尾比特;整个分块编码后的编码码字长度较传统编码码字长度有所增加,增加的用于编码分块归零的尾比特长度为4×(N-1)×m。考虑到分块数N一般较小,通过分块编码所增加的冗余比特数与整个编码码字相比,基本可以忽略不计。另外,与传统Turbo编码进行穿孔处理所不同的是,采用分块归零编码的Turbo编码模块,除了最后的4m个归零尾比特不能穿孔而外,穿孔模块还必须分块进行穿孔处理,原因在于分块编码后的码字中间有用于分块归零的4×(N-1)×m个尾比特不能进行穿孔处理。
解码流程
图2示出了本实施例基于分块处理的Turbo码第二分量并行译码实施结构。
基于分块处理的Turbo码并行译码结构由缓存模块、解穿孔模块、解码预处理模块、以及由2的M个基本译码单元、分块合并处理模块、解交织模块和拆分处理模块通过级联构成流水线型译码结构;每个基本译码单元包括第一分量N个并行软输入软输出(SISO)分块译码模块、第二分量N个并行软入软出(SISO)分块译码模块、分块合并处理模块、分块拆分处理模块、交织模块、解交织模块和延迟线组成的。图中XkLa,k
Figure A0311747400163
Y1,k、Y2,k前的“\”斜线表示N路并行输入,以Xk为例,它表示X1 h、X2 h、...、XN h的N路并行输入。
Turbo码并行译码结构从分块数据通信系统接收端基带解映射后获取的编码码元首先被存储在缓存模块中,缓存模块的存储器长度为R×L+4×N×m;并按照先进先出的方式更新缓存内容。并经解穿孔处理后送解码预处理;解穿孔处理使用与编码端穿孔处理相对应的穿孔模式,恢复得到长度为3×L+4×N×m的解穿孔接收编码分组;具体来讲,解穿孔处理对长度为R×L+4×N×m的编码分组中属于每个信息元分块编码归零处理的部分不作解穿孔处理,而只对[4×(k-1)×m+R×(k-1)×L/N+1,4×(k-1)×m+R×k×L/N]区间上对应的第一分量和第二分量编码码元作解穿孔处理,k的取值范围为1至N;其中经解穿孔处理添加的零比特数为(3-R)L,解穿孔接收编码分组中添加零比特的位置由穿孔模式指定。
图3示出本实施例解码预处理模块结构。解码预处理模块将接收的解穿孔接收编码分组中对应的含归零比特的信息元Xk、第一分量编码码元Y1,k、第二分量编码码元Y2,k、并由归零比特提取出第一分量归零尾比特t1,k和第二分量归零尾比特t2,k,并按以下方式得到后续M个译码单元中N个第一分量软输入软输出译码模块的信息元输入和分量编码码元输入,以及N个第二分量软输入软输出译码模块所需的交织信息元输入和分量编码码元Y1,k,Y2 k输入,即:
(1)、解码预处理中的拆分处理将分离出来的N个信息元分块与提取出的对应的N个第一分量归零尾比特组合起来,生成后续M个译码单元中N个第一分量软输入软输出译码的信息元输入即含第一分量归零比特的信息元Xk;每个信息元分块与其对应的第一分量归零尾比特的组合方法为,在每个信息元分块的末端添加对应的第一分量归零尾比特,经过组合后的每个信息元分块长度为L/N+m;N个第一分量编码码元Y1,k将直接送后续M个基本译码单元中N个第一分量软输入软输出译码的分量编码码元输入,分量编码码元长度为L/N+m;
(2)、解码预处理将提取出来的N个信息元分块经合并处理成一路完整的信息元,N个信息元分块的依序合并方式为:先输出对应第一个信息元分块的信息元,然后输出对应第二个信息元分块的信息元,直到输出对应第N个信息元分块的信息元,合并后的信息元长度为L;合并后的信息元通过交织处理后,将再次被拆分处理成N个等长的交织信息元分块;解码预处理将拆分出来的N个交织信息元分块与对应的N个第二分量归零尾比特组合起来,生成后续M个基本译码单元中N个第二分量软输入软输出译码的交织信息元输入即含第二分量归零比特的信息元 ;每个交织信息元分块与其对应的第一分量归零尾比特的组合方法为,在每个交织信息元分块的末端添加对应的第二分量归零尾比特,组合后的交织信息元分块长度为L/N+m;N个第二分量编码码元Y2,k将直接送后续M个基本译码单元中N个第二分量软输入软输出译码的分量编码码元输入,分量编码码元的长度为L/N+m。
如此,解码端通过解穿孔处理和解码预处理,可以拆分出用于后续译码的信息元、第一分量编码码元、交织信息元、第二分量编码码元。与传统Turbo译码进行解穿孔处理所不同的是,采用分块译码的Turbo译码模块,除了最后的4m个归零尾比特不能解穿孔而外,解穿孔模块还必须分块进行解穿孔处理,原因在于分块编码后的码字中间有用于分块归零的4×(N-1)×m个尾比特不能进行解穿孔处理。
图2、图4示出,经解码预处理输出的N块长度均为L/N+m在末端添加m个归零尾比特后的信息元分块、N块第一分量编码码元和N块第一分量归零尾比特组合后同时送第一组N个并行软输入软输出译码模块(SISO11至SISO1N)执行分块并行译码,得到N块似然比译码输出分块LLR和外信息(ExtrinsicInformation)Le,其长度均为L/N+m{满足关系LLR=axk+La,k+Le,k,参数α为Turbo码分量迭代译码参数(在高斯信道的情况下等于2/σ2),La,k为SISO译码模块的输入信息,Le,k为输出的外信息};译码输出通过分块合并处理在剔除N个并行译码模块外信息输出中的最后m位后,依序按照先输出SISO11外信息,然后输出SISO12外信息,最后输出SISO1N外信息的顺序,合并输出长度为L的第一分量外信息译码输出;外信息译码输出经过交织处理后,进行分块拆分处理将外信息译码输出拆分为N块,并在每个第一分量外信息输出分块的末尾添加长度为m的零比特,得到长度为(L/N+m)的第一分量分块外信息;通过延迟线送来的经解码预处理拆分出来的N块第二分量编码码元分块、第二分量N个含归零尾比特的交织信息元分块,以及分块拆分处理得到的N个第一分量外信息将送第二分量N个分块软输入软输出译码(SISO21至SISO2N)执行分块并行译码,并行译码过程同第一分量的N个译码模块;
解码端采用的译码单元数M等于基于分块处理的并行Turbo码译码中的迭代译码次数,即解码端通过M个译码单元的级联,实现Turbo码的流水线型迭代译码。
图4示出了第二分量并行SISO译码的结构,该结构由N个标准的Turbo软输入软输出(SISO11、SISO12、......、SISO1N)译码模块构成,第二分量并行SISO译码的结构与其基本相同,对于其N个译码模块以SISO21、SISO22、......、SISO2N表示;第一分量并行SISO译码模块输入的信息有:(1)对于第一分量译码的含有噪声的信息元Xk,对于第二分量译码的含有噪声的交织信息元
Figure A0311747400181
;(2)有噪声的分量编码码元序列Y1,k或Y2,k;(3)外信息Le,k。第一分量SISO译码模块的外信息来自前一个译码单元的第二分量译码模块的外信息输出;第二分量SISO译码模块的外信息来自本译码单元的第一分量SISO译码模块的外信息输出。第一个译码单元的外信息输入设定为零比特。SISO译码模块可以使用MAP,Log-MAP,Max-Log-MAP等译码算法;
以MAP算法为例,SISO译码的实现算法如下
n∈1,2,...,N α 0 n ( m ) = 0 β L / N n ( m ) = 0
前向迭代:当h=1到L/N,m,m’∈{0,1,...,2M-1} γ i ( R h n , m ′ , m ) = p ( x h n | d h = i ) γ i ( y h n , m ′ , m ) exp { iL e 2 , h n } 1 + exp { L e 2 , h n } α h n ( m ) = Σ m ′ Σ i = 0 l γ i ( R h n , m ′ , m ) α h - 1 n ( m ′ ) Σ m Σ m ′ Σ i = 0 l γ i ( R h n , m ′ , m ) α h - 1 n ( m ′ )
反向迭代:当h=L/N-1到1;m,m’∈{0,1,...,2M-1} β h n ( m ) = Σ m ′ Σ i = 0 l γ i ( R h + 1 n , m ′ , m ) β h - 1 n ( m ′ ) Σ m Σ m ′ Σ i = 0 l γ i ( R h n , m ′ , m ) β h - 1 n ( m ′ )
外信息:h=1,2,...,N;m,m’∈{0,1,...,2M-1} L el , h n = log Σ m Σ m ′ Σ γ 1 ( y h n , m ′ , m ) a h - 1 n ( m ′ ) β h n ( m ) Σ m Σ m ′ γ 0 ( y h n , m ′ , m ) a h - 1 n ( m ′ ) β h n ( m ) L el , k = L el , h n , k = h + ( n - 1 ) N
其中 γ i ( R h n , m ′ , m ) = p ( x h n | d k = i ) γ i ( y h n , m ′ , m ) exp { i , } L e 2 , h n } 1 + exp { i , L e 2 , h n } γ i ( y h n , m ′ , m ) = p ( y h n | d k = i , S k = m , S k - 1 = m ′ ) p ( d k = i | S k = m , S k - 1 = m ′ )
译码单元对两个分量软输入软输出译码模块的输入与输出处理方法为:
(1)、M个译码单元的第一分量SISO11,SISO12,...,SISO1N软输入软输出译码由解码预处理模块获取长度均为L/N+m的N个分块的信息元Xk(X1 h、X2 h、...、XN h)与第一分量编码码元Y1,h(Y1 1,k、Y2 1,h、...、YN 1,h),除第一个译码单元而外,第一分量SISO11,SISO12,...,SISO1N软输入软输出译码模块的外信息La,h(L1 a,h、L2 a,h、...、LN a,h)由前一个译码单元的第二分量SISO21,SISO22,...,SISO2N软输入软输出译码模块提供;第一个译码单元的第一分量SISO11,SISO12,...,SISO1N软输入软输出译码模块的外信息将被译码单元固定为长度是L/N+m的零比特外信息;第一分量SISO11,SISO12,...,SISO1N软输入软输出译码模块经译码后得到长度均为L/N+m的分块外信息输出L1 e1,h、L2 e1,h、...、LN e1,h;分块合并处理模块在剔除各个SISO11,SISO12,...,SISO1N译码模块外信息输出中的最后m位后,按照先输出SISO11外信息,然后输出SISO12外信息,最后输出SISO1N外信息的顺序,合并输出长度为L的第一分量外信息译码输出Le1,k;合并后长度为L的第一分量外信息输出送交织模块经过交织处理后,再送分块拆分处理模块将其拆分成等长的N个第一分量分块外信息 ,每个第一分量分块外信息长度为L/N;分块拆分处理将在每个第一分量外信息输出分块的末尾添加长度为m的零比特,得到N个长度为L/N+m的第一分量分块外信息输出;
(2)、M个译码单元的第二分量SISO21,SISO22,...,SISO2N软输入软输出译码模块由解码预处理模块获取N个分块的长度为L/N+m的交织信息元 X k ~ ( X 1 k , ~ X 2 h ~ , . . . , X N h ~ ) 与第二分量编码码元Y2,k(Y1 2,h、Y2 2,h、...、YN 2,h),第二分量SISO21,SISO22,...,SISO2N软输入软输出译码模块的外信息La,k(L1 a,h、L2 a,h、...、LN a,h)由本译码单元的第一分量SISO11,SISO12,...,SISO1N软输入软输出译码模块提供;第二分量SISO21,SISO22,...,SISO2N软输入软输出译码模块经译码后得到长度为L/N+m的分块似然比译码输出LLR1、LLR2、LLRN或分块外信息输出L1 e2,h、L2 e2,h、...、LN e2,h;除第M个译码单元而外的第一个至第M-1个译码单元中,在第二分量SISO21,SISO22,...,SISO2N软输入软输出译码模块后的分块合并处理模块将在剔除SISO21,SISO22,...,SISO2N译码模块外信息输出中的最后m位后,按照先输出SISO21外信息L1 e2,h,然后输出SISO22外信息L2 e2,h,...,最后输出SISO2N外信息LN e2,h的顺序,合并输出长度为L的第二分量外信息;合并后长度为L的第二分量外信息送解交织模块经过解交织处理后,再送分块拆分处理模块将其拆分成等长的N个第二分量分块外信息;分块拆分处理模块将在每个第二分量分块外信息的末尾添加长度为m的零比特,得到长度为L/N+m的第二分量分块外信息输出。而第M个译码单元的第二分量SISO21,SISO22,...,SISO2N软输入软输出译码模块的长度均为L/N+m的分块似然比译码输出LLR1、LLR2、LLRN送M个译码单元后的分块合并处理模块进行合并处理;分块合并处理模块按照以下方式合并得出一路长度为L的译码输出:分块合并处理模块首先剔除每个似然比译码输出末尾的m位后,按照先输出SISO21似然比译码输出,然后输出SISO22似然比译码输出,最后输出SISO2N似然比译码输出的顺序,合并输出长度为L的似然比译码输出;解交织模块对长度为L的似然比译码输出执行解交织处理后,参照接收编码分组的控制头信息,剔除译码输出中的伪信息后,得到系统设定长度为L′的译码输出。
在基于分块处理的Turbo码并行译码结构的中的每个交织模块与解交织模块,其处理的数据长度均等于L。
本基于分块处理的Turbo译码结构支持Turbo码的高速并行分块译码;由于每个编码分块的前向状态和后向状态的初值均被设定为零状态,基于分块处理的并行编译码方法能进行“无损”译码,保证Turbo译码可靠性的同时,将Turbo码的译码延时,降低为传统串行Turbo码译码的1/N。在本实施例的编解码结构的中,每个交织模块处理的数据长度均等于L。
通过编码端的分块编码与解码端的分块并行译码实现一种基于分块处理的并行编译码方法。与现有文献与专利所不同的是,本发明除了在译码时采用了基于分块的并行译码方法,还在编码端采用了带归零的分块编码方法。通过增加分块拆分处理模块、分块合并处理模块以及使用带归零处理的分块编码模块,编码端在实现信息元的分块编码处理的同时,设定各个分块的起始和终止状态为零。通过增加分块拆分处理模块、分块合并处理模块以及在两个分量译码中采用针对分块编码的多个软输入软输出译码模块所构成的译码单元,解码端支持Turbo码的高速并行译码。由于编码端所采用的带归零的分块编码处理,每个分块的前向状态和后向状态的初值均被设定为零状态。
实施例二
图5示出了Turbo码分块编码的第二种实现结构。与实施例一所不同的是,每个分量RSC编码器采用了N个带归零处理的编码模块对信息元Xk进行并行编码处理。
本实施例的Turbo码分块编码结构由包括编码预处理模块、分块拆分处理模块、分块合并处理模块、带归零处理的第一分量N个并行工作的递归系统卷积编码(RSC11,RSC12,…,RSC1N)模块、带归零处理的第二分量N个并行工作的递归系统卷积编码(RSC21,RSC22,…,RSC2N)模块、交织模块和穿孔模块。
来自信源长度为L′的信息元经过编码预处理模块,输出能被N整除且长度为L的信息元。如果L′能被N整除,则L=L’;如果L’无法被N整除,则(其中 代表大于或等于
Figure A0311747400223
的最小整数)。Turbo码分块编码器可以通过编码分组的控制头信息告知解码端在译码输出时是否需要以及从什么位置开始剔除编码端在编码预处理时插入的伪信息元;在L=L’时,控制头信息将告知解码端不需要对经过分块合并处理模块合并,然后经解交织模块处理后的长度为L的对数似然比译码输出再进行处理;在L=
Figure A0311747400224
时,控制头信息将告知解码端需要对经过分块合并处理模块合并,然后经解交织处理后的长度为L的似然比译码输出从位置L’+1开始删除编码端在编码预处理时所添加的长度为 的伪信息元。
长度为L的信息元,一路被分块拆分处理模块拆分为长度L/N共计N个分块,并同时送N个带归零处理的递归系统卷积编码模块RSC11,RSC12,…RSC1N执行并行编码;另一路通过交织模块处理的交织信息元经分块拆分处理模块后,也被分成N块等长的信息元,同时送第二分量的N个RSC编码模块RSC21,RSC22,…RSC2N执行并行分块编码。两个分量的RSC并行编码模块均执行带归零处理的分块编码,即两个分量的2N个并行RSC编码模块在对每块信息元执行分块编码后,将回到零状态。两个分量的RSC并行编码过程为,第一分量编码器中RSC11处理由分块拆分处理模块送来的第一个分块,RSC12处理送来的第二个分块,最后RSC1N处理分块拆分处理模块送来的第N个信息元分块;同样第二分量并行编码器对N个交织信息元的分块进行并行编码。
两个分量RSC编码模块输出的码元Y1,k,Y2,k,连同未经处理的信息元以及两个分量RSC编码模块在对每个信息元分块作归零处理时的归零尾比特t1,k,t2,k,经分块合并处理和穿孔处理的方法同实施例一。最后输出为编码码元。
解码处理方法同实施例一。在本实施例的编解码结构的中,每个交织模块处理的数据长度均等于L。
实施例三
图6示出了Turbo码分块编码的第三种实现结构。
本实施例的Turbo码分块编码结构与实施例一和实施例二所不同的是,本实施例所采用的RSC编码模块对每个编码分块的归零处理是在分块拆分处理模块的控制下实现的。具体来讲,分块拆分处理模块通过控制RSC编码器的反向生成元支路实现实现信息元分块编码的归零处理。
Turbo码分块编码模块由编码预处理模块、分块拆分处理模块、分块合并处理模块、第一分量分块递归系统卷积编码(RSC)模块一(RSC1)、第二分量递归系统卷积编码模块二(RSC2)、交织模块、穿孔模块与编码输出模块组成;
来自信源长度为L’的信息元首先经过编码预处理模块,输出能被N整除且长度为L的信息元,编码预处理模块的处理方式同实施例一和实施例二。经过编码预处理模块输出的长度为L的信息元一路通过分块拆分处理模块拆分为N块等长的信息元,并在每个分块末尾添加m位零比特,送第一分量分块递归系统卷积编码模块一(RSC1)编码,在RSC1对L/N位信息元编码后由分块处理模块控制断开RSC1的反向生成元支路,由分块处理模块所添加的m位零比特实现其归零处理;另一路经过交织模块处理后的交织信息元,再经分块处理模块分成等长的N块等长的信息元,并在每个分块末尾添加m位零比特,送第二分量分块递归系统卷积编码模块二(RSC2)编码,在RSC2对L/N位信息元编码后由分块处理模块控制断开RSC2的反向生成元支路,由分块处理模块所添加的m位零比特实现其归零处理;两个编码器RSC1、RSC2对各块信息元进行编码后将回到零状态。
两个分量RSC编码模块输出的码元Y1,k,Y2,k,连同未经处理的信息元以及两个分量RSC编码模块在对每个信息元分块作归零处理时的归零尾比特t1,k,t2,k,经分块合并处理和穿孔处理的方法同实施例一和实施例二。最后输出为编码码元。
这里需要说明的是,分块拆分处理模块还可以通过其他方法,控制分量RSC编码模块实现信息元分块编码后的归零处理。臂如,分块拆分处理模块可以在每个分块信息元的末尾添加m位零比特,分块拆分处理模块在分块截尾处将m位零比特与RSC反向生成元作相乘运算后,实现RSC的信息元分块的归零编码处理。解码处理方法同实施例一。在本实施例的编解码结构的中,每个交织模块处理的数据长度均等于L。

Claims (9)

1、一种用于数字通信差错控制的基于分块处理的并行Turbo编译码方法,由编码端对信息元一是直接进行第一分量递归系统卷积编码得到第一分量编码码元,二是进行交织处理生成交织信息元,进行第二分量递归系统卷积编码得到第二分量编码码元,再对第一、第二分量编码码元及未经系统卷积编码的信息元进行穿孔处理得到Turbo编码码元等步骤;解码端对接收到的Turbo编码码元进行缓存处理,解穿孔处理得到信息元、第一、第二分量编码码元,送大于等于1的M个译码单元中通过译码、交织、解交织处理后得到译码输出等步骤组成,其特征在于:
编码端:信息元需经编码预处理后:一是先直接分块拆分为N个分块,再进行带归零处理的第一分量递归系统卷积编码;二是将交织处理生成的交织信息元,先分块拆分为大于等于2的N个分块,再进行带归零处理的第二分量递归系统卷积编码;对得到的第一、第二分量编码码元及未经系统卷积编码的信息元进行合并处理后,再进行穿孔处理;
解码端:在解穿孔后,对得到的信息元、第一、第二分量编码码元,进行解码预处理后,送M个译码单元译码,每个译码单元两个分量各采用N个软输入软输出译码模块进行并行译码处理,其并行译码模块数N与编码端分块拆分的块数相同,译码处理所使用的前向状态度量(α)和后向状态度量(β)初值为零,并行译码处理后得到的外信息,再由该译码单元进行相应的分块合并处理、分块拆分处理;而最后一个译码单元中第二分量译码得到的最大似然比输出,再由该译码单元进行相应的分块合并处理、解交织处理得到译码输出。
2、如权利要求1所述一种用于数字通信差错控制的基于分块处理的并行Turbo编译码方法,其特征在于:所述编码端的编码预处理具体过程为:
如果信息元长度L′不能被N整除,则编码预处理在长度为L′的信息元尾端添加已知的伪信息元,使其长度增加为能被N整除的最小数L,并将在伪信息元的添加位置和数目写入编码分组的控制头信息;解码端的译码单元根据编码分组的控制头信息在译码输出前删除添加的伪信息元;
如果信息元长度L′能被N整除,则编码预处理不对信息元作任何处理,并将此信息写入编码分组的控制头信息;解码端的译码单元根据编码分组的控制头信息不对译码输出作任何处理。
3、如权利要求2所述一种用于数字通信差错控制的基于分块处理的并行Turbo编译码方法,其特征在于:所述第一、第二分量带归零处理的递归系统卷积编码处理的归零处理方式为,两个分量编码处理在对每个信息元分块编码后将回到零状态的分块编码归零处理,生成第一、第二分量分块编码码元、及使二者归零的归零比特,第一、第二分量分块编码码元的长度为L/N+m,m为RSC编码模块的编码存储长度。
4、如权利要求3所述的一种用于数字通信差错控制的基于分块处理的并行Turbo编译码方法,其特征在于,编码端:
1)分块合并处理的具体方式为:
a)首先对未经系统卷积编码的信息元直接拆分为N个分块,将依序对应的N块第一、第二分量编码的归零比特添加到各个信息元分块末端;输出N个长度为L/N+2×m的等长含归零比特的信息元分块;
b)将a)步得到的N个含归零比特的信息元分块与依序对应的N块第一、第二分量分块编码码元构成一个编码分组,其长度为3×L+4×N×m;
2)穿孔处理模式:对编码分组中的每个分块都进行相互独立的穿孔处理;其中对信息元分块中的归零比特不作穿孔处理;穿孔处理后的编码分组长度为R×L+4×N×m,其中1/R为经过穿孔模块调整后的编码码率,这里R≤3。
5、如权利要求4所述一种用于数字通信差错控制的基于分块处理的并行Turbo编译码方法,其特征在于:
解码端的解穿孔处理采用与编码端的穿孔处理模式相对应的模式,恢复得到长度为3×L+4×N×m的解穿孔接收编码分组;解穿孔接收编码分组中添加零比特的位置由穿孔模式指定。
6、如权利要求5所述一种用于数字通信差错控制的基于分块处理的并行Turbo编译码方法,其特征在于,解码端的解码预处理将解穿孔处理得到的编码分组进行以下处理:
(1)、依序将N个信息元分块的末端添加第一分量归零比特,得到长度为L/N+m的含归零比特的信息元分块,并与N个长度为L/N+m第一分量分块编码码元,作为M个译码单元中第一分量N个软输入软输出译码的输入;
(2)、依序将N个信息元分块合并成长度为L的完整信息元;再通过交织处理后得到交织信息元,并拆分成N个等长的交织信息元分块;依序将N个交织信息元分块的末端添加第二分量归零比特,得到长度为L/N+m的含归零比特的交织信息元分块,并与N个长度为L/N+m第一分量分块编码码元,通过延迟线作为M个译码单元中第二分量N个软输入软输出译码的输入。
7、如权利要求6所述一种用于数字通信差错控制的基于分块处理的Turbo编译码方法,其特征在于,解码端采用的译码单元数M≥2,各译码单元以级联方式实现Turbo码的流水线型迭代译码:第一个译码单元中的第一分量N个软输入软输出译码的输入直接由解码预处理输出送入,第一个译码单元中的第二分量N个软输入软输出译码的输入经其输入延迟线由解码预处理输出送入,后续的译码单元第一分量N个软输入软输出译码的输入由前一个译码单元第二分量的输入延迟线再经延迟线送入,后续的译码单元第二分量N个软输入软输出译码的输入由本译码单元第一分量的输入延迟线再经延迟线送入。
8、如权利要求7所述一种用于数字通信差错控制的基于分块处理的并行Turbo编译码方法,其特征在于,译码单元进行的处理为:
第一、第二分量软输入软输出译码处理的输入除解码预处理的输出信息外,还将分块外信息作为输入;经过译码处理后,输出两个长度均为L/N+m的输出信息,即分块似然比译码输出或分块外信息输出;
(1)、第一译码单元第一分量N个软输入软输出译码处理采用N个长度均为L/N+m的零比特作为分块外信息输入,除第一个译码单元外的第一分量N个软输入软输出译码的分块外信息输入为前一个译码单元得到的第二分量分块外信息;对输入进行译码后得到长度均为L/N+m的分块外信息输出;
分块合并处理先剔除每个分块外信息末尾的m位后,依序将N个分块外信息合并成为长度为L的完整的第一分量外信息,经过交织处理后,再拆分成长度均为L/N的N个分块,并在每个分块末尾添加长度为m的零比特,得到长度为L/N+m的第一分量分块外信息;
(2)第二分量N个软输入软输出译码处理的外信息输入为本译码单元第一分量分块外信息;
除第M个译码单元外,前M-1个译码单元中第二分量N个软输入软输出译码得到长度均为L/N+m的分块外信息输出;然后进行分块合并处理,先剔除每个分块外信息末尾的m位后,依序将N个分块外信息合并成为长度为L的完整的第二分量外信息;再经解交织处理后,由分块拆分处理成长度均为L/N的N个分块,并在每个分块末尾添加长度为m的零比特,得到长度为L/N+m的第二分量分块外信息;
第M个译码单元第二分量N个软输入软输出译码得到长度均为L/N+m的分块似然比译码输出;进行分块合并处理,先剔除每个分块似然比译码输出末尾的m位后,依序将N个分块似然比译码输出合并成为长度为L的完整似然比译码输出;再进行解交织处理后,参照接收编码分组的控制头信息,剔除译码输出中的伪信息元后,得到系统设定长度为L′的译码输出。
9、如权利要求1所述一种用于数字通信差错控制的基于分块处理的并行Turbo编译码模块交织与解交织模块,其特征在于:解码端译码单元中的交织、解交织与编码端的交织所处理的数据长度相等,均为L。
CNB031174744A 2003-03-17 2003-03-17 一种用于数字通信差错控制的基于分块处理的并行Turbo编译码方法 Expired - Fee Related CN100364301C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB031174744A CN100364301C (zh) 2003-03-17 2003-03-17 一种用于数字通信差错控制的基于分块处理的并行Turbo编译码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB031174744A CN100364301C (zh) 2003-03-17 2003-03-17 一种用于数字通信差错控制的基于分块处理的并行Turbo编译码方法

Publications (2)

Publication Number Publication Date
CN1455565A true CN1455565A (zh) 2003-11-12
CN100364301C CN100364301C (zh) 2008-01-23

Family

ID=29260128

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB031174744A Expired - Fee Related CN100364301C (zh) 2003-03-17 2003-03-17 一种用于数字通信差错控制的基于分块处理的并行Turbo编译码方法

Country Status (1)

Country Link
CN (1) CN100364301C (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100454768C (zh) * 2005-06-01 2009-01-21 西南交通大学 非对数域最大后验概率Turbo译码方法
CN100517983C (zh) * 2005-10-27 2009-07-22 中国科学院研究生院 联合信源信道可变长符号Turbo编译码方法
CN101355401B (zh) * 2007-07-23 2011-08-24 中兴通讯股份有限公司 一种turbo码译码方法及装置
CN101388745B (zh) * 2008-03-05 2012-11-07 中国科学院嘉兴无线传感网工程中心 一种应用于无线多媒体传感网的并行信道解码装置
CN101626249B (zh) * 2009-08-19 2013-04-10 北京海尔集成电路设计有限公司 一种软输入软输出译码系统及方法
CN107733445A (zh) * 2017-09-07 2018-02-23 中国科学院微电子研究所 Turbo码码字的生成方法和译码方法
CN110535478A (zh) * 2019-09-27 2019-12-03 电子科技大学 一种DVB-RCS2协议中双输入类Turbo码闭集识别方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1124691C (zh) * 1999-09-13 2003-10-15 华为技术有限公司 一种串/并行级联卷积码译码器及其译码实现方法
WO2002089331A2 (en) * 2001-04-30 2002-11-07 Regents Of The University Of Minnesota Area efficient parallel turbo decoding
CN1157883C (zh) * 2001-07-11 2004-07-14 信息产业部电信传输研究所 实现并行滑动窗最大后验概率算法的高速Turbo码译码器

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100454768C (zh) * 2005-06-01 2009-01-21 西南交通大学 非对数域最大后验概率Turbo译码方法
CN100517983C (zh) * 2005-10-27 2009-07-22 中国科学院研究生院 联合信源信道可变长符号Turbo编译码方法
CN101355401B (zh) * 2007-07-23 2011-08-24 中兴通讯股份有限公司 一种turbo码译码方法及装置
CN101388745B (zh) * 2008-03-05 2012-11-07 中国科学院嘉兴无线传感网工程中心 一种应用于无线多媒体传感网的并行信道解码装置
CN101626249B (zh) * 2009-08-19 2013-04-10 北京海尔集成电路设计有限公司 一种软输入软输出译码系统及方法
CN107733445A (zh) * 2017-09-07 2018-02-23 中国科学院微电子研究所 Turbo码码字的生成方法和译码方法
CN107733445B (zh) * 2017-09-07 2021-07-09 中国科学院微电子研究所 Turbo码码字的生成方法和译码方法
CN110535478A (zh) * 2019-09-27 2019-12-03 电子科技大学 一种DVB-RCS2协议中双输入类Turbo码闭集识别方法

Also Published As

Publication number Publication date
CN100364301C (zh) 2008-01-23

Similar Documents

Publication Publication Date Title
US20030097633A1 (en) High speed turbo codes decoder for 3G using pipelined SISO Log-Map decoders architecture
CN1728563A (zh) Turbo译码装置和Turbo译码方法
US20050034046A1 (en) Combined interleaver and deinterleaver, and turbo decoder comprising a combined interleaver and deinterleaver
WO2004062111A9 (en) High speed turbo codes decoder for 3g using pipelined siso log-map decoders architecture
CN1455565A (zh) 一种用于数字通信差错控制的基于分块处理的并行Turbo编译码方法
CN1271791C (zh) Turbo译码器及其实现方法
CN100454768C (zh) 非对数域最大后验概率Turbo译码方法
CN1140148C (zh) 在移动通信系统中执行特博解码的方法
CN1157883C (zh) 实现并行滑动窗最大后验概率算法的高速Turbo码译码器
CN1157854C (zh) 一种高速Turbo码解码器
CN1183687C (zh) Turbo码编码器及编码方法
CN1142629C (zh) 用于特博码的解码方法及其解码器
CN1133276C (zh) 一种高速并行级联码的译码方法及译码器
Gracie et al. Performance of an MLSE-based early stopping technique for turbo codes
CN109831217B (zh) 一种Turbo码译码器、用于Turbo码的分量译码器及分量译码方法
CN1204693C (zh) 随机系统Turbo码的编、译码方法
CN1171392C (zh) 一种并行级联卷积码交织和解交织的实现方法和装置
CN2506034Y (zh) Turbo译码器件
CN1841941A (zh) 最大后验概率译码方法和装置
CN1175580C (zh) 一种译码方法及实现该方法的译码装置
CN103701475A (zh) 移动通信系统中8比特运算字长Turbo码的译码方法
Mathana et al. FPGA implementation of high speed architecture for Max Log Map turbo SISO decoder
Guerrieri et al. Stopping rules for duo-binary turbo codes and application to HomePlug AV
CN103973319B (zh) 全整数Turbo码迭代译码的方法和系统
Wang et al. Study of early stopping criteria for turbo decoding and their applications in WCDMA systems

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: 20080123

Termination date: 20110317