CN106712778A - 一种turbo译码装置及方法 - Google Patents
一种turbo译码装置及方法 Download PDFInfo
- Publication number
- CN106712778A CN106712778A CN201510475123.5A CN201510475123A CN106712778A CN 106712778 A CN106712778 A CN 106712778A CN 201510475123 A CN201510475123 A CN 201510475123A CN 106712778 A CN106712778 A CN 106712778A
- Authority
- CN
- China
- Prior art keywords
- window
- state metric
- metric calculation
- jth
- parallel processing
- 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
Links
Landscapes
- Error Detection And Correction (AREA)
Abstract
本发明涉及电子通信技术领域,具体涉及一种turbo译码装置,包括,第一译码单元,于一信息序列、一第一校验序列、一第一先验序列的输入下译码输出第一对数似然比;第二译码单元,于一第二校验序列、一第二先验序列及一经交织过的信息序列的作用下译码输出第二对数似然比;判决单元,依据第一对数似然比和经解交织后的第二对数似然比作出判决,以输出译码结果。本发明可以减少内存面积(memory size),节省终端功耗和硬件资源,减少译码延时,译码性能更好,复杂度更低。
Description
技术领域
本发明涉及电子通信技术领域,具体涉及一种turbo译码装置及方法。
背景技术
Turbo码在有噪信道中提供了传输的高可靠性,它可以通过最大后验概率译码器进行迭代译码的方法最大限度地逼近香农极限,在诸多通信应用领域均采用Turbo码作为其编解码的标准,传统的Turbo码的译码器为反馈串行译码器,两个子译码器交互交替工作,对接收到的软比特依次顺序进行译码,对于每一个子译码器,其译码均有先验信息输入,信源信息输入和校验信息输入,通过对接收到软比特依次顺序进行译码,随着迭代过程的不断进行,先验信息的置信度不断提高,并最终达到收敛极限。在应用于Turbo码的各种译码算法中,基于码元的最大后验概率译码算法,即MAP(Maximum APosteriori Algorithm)算法中由于涉及大量的指数和乘法运算,计算过于复杂,严重制约芯片的处理速度,造成迭代译码的延时增大,不利于信息传输速率的提高,为了解决MAP算法的运算复杂度,开始将上述的算法转换为对数域中,即LOG-MAP算法,从而使乘法变为加法运算,然而这种算法虽然运算复杂度有所降低,但是所需的内存空间却没有减小,仍然耗费过多的内存空间,并且译码性能也没有得到显著的提高。
发明内容
本发明的目的在于,提供一种turbo译码装置及方法,解决现有技术占用过多内存空间,译码性能不高的缺点;
本发明所解决的技术问题可以采用以下技术方案来实现:
一种turbo译码装置,其中,包括,
第一译码单元,于一信息序列、一第一校验序列、一第一先验序列的输入下译码输出第一对数似然比;
第二译码单元,于一第二校验序列、一第二先验序列及一经交织过的信息序列的作用下译码输出第二对数似然比;
判决单元,依据所述第一对数似然比和经解交织后的第二对数似然比作出判决,以输出译码结果。
本发明的turbo译码装置,所述第一译码单元采用软输入软输出分量译码器,和/或,所述第二译码单元采用软输入软输出分量译码器。
本发明的turbo译码装置,还包括:
第一计算器,对所述第一对数似然比、所述信息序列及所述第一先验序列运算得到第一外部软信息;
第一交织器,对所述第一外部软信息进行交织以得到所述第二先验序列。
本发明的turbo译码装置,还包括:第二交织器,对所述信息序列进行交织以获得所述交织过的信息序列。
本发明的turbo译码装置,还包括,
第二计算器,对所述第二对数似然比、所述第二先验序列、所述交织过的信息序列进行计算以获得第二外部软信息;
第一解交织器,对所述第二外部软信息解交织后以更新所述第一先验序列。
本发明的turbo译码装置,还包括,
第二解交织器,对所述第二对数似然比进行解交织以获得解交织后的第二对数似然比。
本发明还提供一种turbo译码方法,用于上述的turbo译码装置,具体步骤如下:
步骤1,将所述信息序列划分为N个并行处理块,每个并行处理块分为M个设定长度的窗;
步骤2,所述第一译码单元依据滑动窗算法于第一时间段内并行处理N个并行处理块并依设定次序完成所有窗的计算获得第一对数似然比输出;
步骤3,所述第二译码单元依据滑动窗算法于第二时间段内并行处理N个并行处理块并依设定次序完成所有窗的计算获得第二对数似然比输出;
步骤4,重复步骤2至步骤3直至完成设定次数的迭代运算,以输出译码结果。
本发明的turbo译码方法,执行偶数次迭代时所述步骤2包括以下步骤:
步骤21c,所述第一译码单元执行编号为双数的并行处理块中第j号窗的前向状态度量计算时,同时执行用于第j号窗的后向状态度量计算的训练运算;及编号为单数的并行处理块中第k号窗的后向状态度量计算及用于第k号窗的前向状态度量计算的训练运算,其中,j=0,k=M-1-j;
步骤22c,所述第一译码单元顺序执行编号为双数的并行处理块中第j号窗的前向状态度量计算,并于执行编号为双数的并行处理块中第j号窗的前向状态度量计算时,还执行用于第j号窗的后向状态度量计算的训练运算及第j-1号窗的后向状态度量计算,还执行第j-1号窗的对数似然比计算;同时执行编号为单数的并行处理块中第k号窗的后向状态度量计算、用于第k号窗的前向状态度量计算的训练运算及第k+1号窗的前向状态度量计算,还执行用于第k+1号窗的对数似然比计算,其中,j=1,2……M-2,k=M-1-j;
步骤23c,所述第一译码单元执行编号为双数的并行处理块的第j号窗的前向状态度量计算时,还执行第j-1号窗的后向状态度量计算及第j-1号窗的对数似然比计算;同时执行编号为单数的并行处理块的第k号窗的后向状态度量计算、第k+1号窗的前向状态度量计算及第k+1号窗的对数似然比计算,其中,j=M-1,k=M-1-j;
步骤24c,所述第一译码单元执行编号为双数的并行处理块的第j号窗的后向状态度量计算,还执行第j号窗的对数似然比计算;及编号为单数的并行处理块的第k号窗的前向状态度量计算,还执行用于第k号窗的对数似然比计算,其中j=M-1,k=M-1-j。
本发明的turbo译码方法,执行奇数次迭代时所述步骤2包括以下步骤:
步骤21d,所述第一译码单元执行编号为双数的并行处理块中第j号窗的后向状态度量计算时,同时执行用于第j号窗的前向状态度量计算的训练运算;及编号为单数的并行处理块中第k号窗的前向状态度量计算及用于第k号窗的后向状态度量计算的训练运算,其中,j=M-1,k=M-1-j。;
步骤22d,所述第一译码单元顺序执行编号为双数的并行处理块中第j号窗的后向状态度量计算,并于执行编号为双数的并行处理块中第j号窗的后向状态度量计算时、还执行用于第j号窗的前向状态度量计算的训练运算、第j+1号窗的前向状态度量计算及用于第j+1号窗的对数似然比计算,同时执行编号为单数的并行处理块中第k号窗的前向状态度量计算时,还执行用于第k号窗的后向状态度量计算的训练运算及第k-1号窗的后向状态度量计算,还执行第k-1号窗的对数似然比计算,其中,j=M-2,M-3……1,k=M-1-j;
步骤23d,所述第一译码单元执行编号为双数的并行处理块的第j=0号窗的后向状态度量计算、第j+1号窗的前向状态度量计算及第j+1号窗的对数似然比计算;同时执行编号为单数的并行处理块的第k号窗的前向状态度量计算时,还执行第k-1号窗的后向状态度量计算及第k-1号窗的对数似然比计算,其中,j=0,k=M-1-j;
步骤24d,所述第一译码单元执行编号为双数的并行处理块的第j=0号窗的前向状态度量计算,还执行用于第j号窗的对数似然比计算;及编号为单数的并行处理块的第k号窗的后向状态度量计算,还执行第k号窗的对数似然比计算,其中,j=0,k=M-1-j。
本发明的turbo译码方法,执行偶数次迭代时所述步骤3包括以下步骤:
步骤31c,所述第二译码单元执行编号为双数的并行处理块中第j号窗的前向状态度量计算时,同时执行用于第j号窗的后向状态度量计算的训练运算;及编号为单数的并行处理块中第k号窗的后向状态度量计算及用于第k号窗的前向状态度量计算的训练运算,其中,j=0,k=M-1-j;
步骤32c,所述第二译码单元顺序执行编号为双数的并行处理块中第j号窗的前向状态度量计算,并于执行编号为双数的并行处理块中第j号窗的前向状态度量计算时,还执行用于第j号窗的后向状态度量计算的训练运算及第j-1号窗的后向状态度量计算,还执行第j-1号窗的对数似然比计算;同时执行编号为单数的并行处理块中第k号窗的后向状态度量计算、用于第k号窗的前向状态度量计算的训练运算及第k+1号窗的前向状态度量计算,还执行用于第k+1号窗的对数似然比计算,其中,j=1,2……M-2,k=M-1-j;
步骤33c,所述第二译码单元执行编号为双数的并行处理块的第j号窗的前向状态度量计算时,还执行第j-1号窗的后向状态度量计算及第j-1号窗的对数似然比计算;同时执行编号为单数的并行处理块的第k号窗的后向状态度量计算、第k+1号窗的前向状态度量计算及第k+1号窗的对数似然比计算,其中,j=M-1,k=M-1-j;
步骤34c,所述第二译码单元执行编号为双数的并行处理块的第j号窗的后向状态度量计算,还执行第j号窗的对数似然比计算;及编号为单数的并行处理块的第k号窗的前向状态度量计算,还执行用于第k号窗的对数似然比计算,其中,j=M-1,k=M-1-j。
本发明的turbo译码方法,执行奇数次迭代时所述步骤3包括以下步骤:
步骤31d,所述第二译码单元执行编号为双数的并行处理块中第j号窗的后向状态度量计算时,同时执行用于第j号窗的前向状态度量计算的训练运算;及编号为单数的并行处理块中第k号窗的前向状态度量计算及用于第k号窗的后向状态度量计算的训练运算,其中j=M-1,k=M-1-j;
步骤32d,所述第二译码单元顺序执行编号为双数的并行处理块中第j号窗的后向状态度量计算,并于执行编号为双数的并行处理块中第j号窗的后向状态度量计算时、还执行用于第j号窗的前向状态度量计算的训练运算、第j+1号窗的前向状态度量计算及用于第j+1号窗的对数似然比计算,同时执行编号为单数的并行处理块中第k号窗的前向状态度量计算时,还执行用于第k号窗的后向状态度量计算的训练运算及第k-1号窗的后向状态度量计算,还执行第k-1号窗的对数似然比计算,其中,j=M-2,M-3……1,k=M-1-j;
步骤33d,所述第二译码单元执行编号为双数的并行处理块的第j=0号窗的后向状态度量计算、第j+1号窗的前向状态度量计算及第j+1号窗的对数似然比计算;同时执行编号为单数的并行处理块的第k号窗的前向状态度量计算时,还执行第k-1号窗的后向状态度量计算及第k-1号窗的对数似然比计算,其中,j=0,k=M-1-j;
步骤34d,所述第二译码单元执行编号为双数的并行处理块的第j=0号窗的前向状态度量计算,还执行用于第j号窗的对数似然比计算;及编号为单数的并行处理块的第k号窗的后向状态度量计算,还执行第k号窗的对数似然比计算,其中,j=0,k=M-1-j。
本发明的turbo译码方法,于同一偶数次迭代中,编号为双数的并行处理块中的前向状态度量自第0号窗至第M-1号窗依次传递,于同一奇数次迭代中,编号为单数的并行处理块的前向状态度量自第0号窗至第M-1号窗依次传递;
各号窗的后向状态度量通过当前窗训练的后向状态度量的末状态传递给当前窗得到。
本发明的turbo译码方法,于同一奇数次迭代中,编号为双数的并行处理块的后向状态度量自第M-1号窗至第0号窗依次传递,于同一偶数次迭代中,编号为单数的并行处理块的后向状态度量自第M-1号窗至第0号窗依次传递;
各号窗的前向状态度量通过当前窗训练的前向状态度量的末状态传递给当前窗得到。
本发明的turbo译码方法,每个训练运算的初状态由对应的窗上次迭代时的对应比特位置的状态值传递得到。
本发明的turbo译码方法,奇数次迭代中编号为双数的并行处理块中第M-1号窗的后向状态度量计算的初状态由上一次迭代的编号为奇数的并行处理块中第0号窗的后向状态度量的末状态传递得到。
本发明的turbo译码方法,每个窗的设定长度为64位。
本发明的turbo译码方法,所述并行处理块的数目为1个或2个或4个或6个或8个或16个。
有益效果:由于采用以上技术方案,本发明可以减少内存面积(memorysize),节省终端功耗和硬件资源,减少译码延时,译码性能更好,复杂度更低。
附图说明
图1为本发明的turbo译码装置的结构图;
图2为本发明的方法流程图;
图3为本发明的步骤2的一种具体方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
参照图1,一种turbo译码装置,其中,包括,
第一译码器SISO#0,于一信息序列s、一第一校验序列p1、一第一先验序列AP0的输入下译码输出第一对数似然比LLR1;
第二译码器SISO#1,于一第二校验序列p2、一第二先验序列AP1及一经交织过的信息序列s的作用下译码输出第二对数似然比LLR2;
判决单元55,依据第一对数似然比LLR1和经解交织后的第二对数似然比LLR2作出判决,以输出译码结果。
本发明的turbo译码装置,第一译码器SISO#0采用软输入软输出分量译码器,和/或,第二译码器SISO#1采用软输入软输出分量译码器。
本发明的turbo译码装置,还包括:
第一计算器41,对第一对数似然比LLR1、信息序列s及第一先验序列AP0运算得到第一外部软信息;
第一交织器52,对第一外部软信息进行交织以得到第二先验序列AP1。
本发明的turbo译码装置,还包括:第二交织器53,对信息序列s进行交织以获得交织过的信息序列s。
本发明的turbo译码装置,还包括,
第二计算器42,对第二对数似然比LLR2、第二先验序列AP1、交织过的信息序列s进行计算以获得第二外部软信息;
第一解交织器51,对第二外部软信息解交织后以更新第一先验序列AP0。
本发明的turbo译码装置,还包括,
第二解交织器54,对第二对数似然比LLR2进行解交织以获得解交织后的第二对数似然比LLR2。
本发明采用高速并行结构,第二译码器SISO#1和第一译码器SISO#0通过信息交换及反复迭代以完成并行译码操作,进而提高吞吐率及改善译码性能。上述的turbo译码装置可以支持多模式,如支持LTE制式、WCDMA制式及TD-SCDMA制式。
本发明还提供一种turbo译码方法,用于上述的turbo译码装置,参照图2,具体步骤如下:
步骤1,将信息序列s划分为N个并行处理块,每个并行处理块分为M个设定长度的窗;
步骤2,第一译码器SISO#0依据滑动窗算法于第一时间段内并行处理N个并行处理块并依设定次序完成所有窗的计算获得第一对数似然比输出;
步骤3,第二译码器SISO#1依据滑动窗算法于第二时间段内并行处理N个并行处理块并依设定次序完成所有窗的计算获得第二对数似然比输出;
步骤4,重复步骤2至步骤3直至完成设定次数的迭代运算,以输出译码结果。
本发明将信息序列s划分为N个并行处理块Core#0、Core#1……Core#N-1,每个并行处理块按照滑窗(SW:Slideing Window)处理。使得每次存储的内存面积大大降低。
作为本发明的一种具体的实施例,参照图3,本发明的turbo译码方法,执行偶数次迭代时,即第一译码单元SISO#0的第0次迭代Iter#0、第2次迭代Iter#2,第4次迭代Iter#4,……;步骤2可以包括以下步骤:
步骤21c,第一译码单元执行编号为双数的并行处理块中第j号窗的前向状态度量alpha计算时,同时执行用于第j=0号窗的后向状态度量beta计算的训练运算;及编号为单数的并行处理块中第k号窗的后向状态度量beta计算及用于第k号窗的前向状态度量alpha计算的训练运算,其中,j=0,k=M-1-j;
步骤22c,第一译码单元顺序执行编号为双数的并行处理块中第j号窗的前向状态度量alpha计算,并于执行编号为双数的并行处理块中第j号窗的前向状态度量alpha计算时,还执行用于第j号窗的后向状态度量beta计算的训练运算及第j-1号窗的后向状态度量beta计算,还执行第j-1号窗的对数似然比计算;同时执行编号为单数的并行处理块中第k号窗的后向状态度量beta计算、用于第k号窗的前向状态度量alpha计算的训练运算及第k+1号窗的前向状态度量alpha计算,还执行用于第k+1号窗的对数似然比计算,其中,j=1,2……M-2,k=M-1-j;即步骤22c通过顺序循环执行编号为双数的并行处理块中第1号窗、第2号窗……直至第M-2号窗;
步骤23c,第一译码单元执行编号为双数的并行处理块的第j号窗的前向状态度量alpha计算时,还执行第j-1号窗的后向状态度量beta计算及第j-1号窗的对数似然比计算;同时执行编号为单数的并行处理块的第k号窗的后向状态度量beta计算、第k+1号窗的前向状态度量alpha计算及第k+1号窗的对数似然比计算,其中,j=M-1,k=M-1-j;
步骤24c,第一译码单元执行编号为双数的并行处理块的第j号窗的后向状态度量beta计算,还执行第j号窗的对数似然比计算;及编号为单数的并行处理块的第k号窗的前向状态度量alpha计算,还执行用于第k号窗的对数似然比计算,其中,j=M-1,k=M-1-j。
上述的步骤22c在同一时刻,同时完成了第一并行处理块Core#0第0号窗SW0的后向状态度量beta计算、第1号窗SW1的前向状态度量alpha计算、第1号窗SW1的后向状态度量beta训练运算,第二并行处理块Core#1的第3号窗SW3的前向状态度量alpha训练、第3号窗SW3的后向状态度量beta计算,第4号窗SW4的前向状态度量alpha计算,共6个部分的并行运算。通常情况下,同时运算的部分为3倍的并行处理块数,以并行处理块等于16为例,每号窗运算的同时,并行计算了3*16=48个部分的状态度量。可以显著提升译码性能。
本发明的turbo译码方法,第一译码单元SISO#0执行奇数次迭代时,如第1次迭代Iter#1,第3次迭代Iter#3,第5次迭代Iter#5,……;步骤2包括以下步骤:
步骤21d,第一译码单元执行编号为双数的并行处理块中第j号窗的后向状态度量beta计算时,同时执行用于第j号窗的前向状态度量alpha计算的训练运算;及编号为单数的并行处理块中第k号窗的前向状态度量alpha计算及用于第k号窗的后向状态度量beta计算的训练运算,其中,j=M-1,k=M-1-j;
步骤22d,第一译码单元顺序执行编号为双数的并行处理块中第j号窗的后向状态度量beta计算,并于执行编号为双数的并行处理块中第j号窗的后向状态度量beta计算时、还执行用于第j号窗的前向状态度量alpha计算的训练运算、第j+1号窗的前向状态度量alpha计算及用于第j+1号窗的对数似然比计算,同时执行编号为单数的并行处理块中第k号窗的前向状态度量alpha计算时,还执行用于第k号窗的后向状态度量beta计算的训练运算及第k-1号窗的后向状态度量beta计算,还执行第k-1号窗的对数似然比计算,其中,j=M-2,M-3……1,k=M-1-j;
步骤23d,第一译码单元执行编号为双数的并行处理块的第j号窗的后向状态度量beta计算、第j+1号窗的前向状态度量alpha计算及第j+1号窗的对数似然比计算;同时执行编号为单数的并行处理块的第k号窗的前向状态度量alpha计算时,还执行第k-1号窗的后向状态度量beta计算及第k-1号窗的对数似然比计算,其中,j=0,k=M-1-j;
步骤24d,第一译码单元执行编号为双数的并行处理块的第j号窗的前向状态度量alpha计算,还执行用于第j号窗的对数似然比计算;及编号为单数的并行处理块的第k号窗的后向状态度量beta计算,还执行第k号窗的对数似然比计算,其中,j=0,k=M-1-j;
本发明的turbo译码方法,第二译码单元SISO#1的第0次迭代Iter#0、第2次迭代Iter#2,第4次迭代Iter#4,……;执行偶数次迭代时步骤3包括以下步骤:
步骤31c,第二译码单元执行编号为双数的并行处理块中第j号窗的前向状态度量alpha计算时,同时执行用于第j=0号窗的后向状态度量beta计算的训练运算;及编号为单数的并行处理块中第k号窗的后向状态度量beta计算及用于第k号窗的前向状态度量alpha计算的训练运算,其中,j=0,k=M-1-j;
步骤32c,第二译码单元顺序执行编号为双数的并行处理块中第j号窗的前向状态度量alpha计算,并于执行编号为双数的并行处理块中第j号窗的前向状态度量alpha计算时,还执行用于第j号窗的后向状态度量beta计算的训练运算及第j-1号窗的后向状态度量beta计算,还执行第j-1号窗的对数似然比计算;同时执行编号为单数的并行处理块中第k号窗的后向状态度量beta计算、用于第k号窗的前向状态度量alpha计算的训练运算及第k+1号窗的前向状态度量alpha计算,还执行用于第k+1号窗的对数似然比计算,其中,j=1,2……M-2,k=M-1-j;
步骤33c,第二译码单元执行编号为双数的并行处理块的第j号窗的前向状态度量alpha计算时,还执行第j-1号窗的后向状态度量beta计算及第j-1号窗的对数似然比计算;同时执行编号为单数的并行处理块的第k号窗的后向状态度量beta计算、第k+1号窗的前向状态度量alpha计算及第k+1号窗的对数似然比计算,其中,j=M-1,k=M-1-j;
步骤34c,第二译码单元执行编号为双数的并行处理块的第j号窗的后向状态度量beta计算,还执行第j号窗的对数似然比计算;及编号为单数的并行处理块的第k号窗的前向状态度量alpha计算,还执行用于第k号窗的对数似然比计算,其中,j=M-1,k=M-1-j。
本发明的turbo译码方法,第二译码单元SISO#1执行奇数次迭代时,如第1次迭代Iter#1,第3次迭代Iter#3,第5次迭代Iter#5,……;步骤3包括以下步骤:
步骤31d,第二译码单元执行编号为双数的并行处理块中第j号窗的后向状态度量beta计算时,同时执行用于第j号窗的前向状态度量alpha计算的训练运算;及编号为单数的并行处理块中第k号窗的前向状态度量alpha计算及用于第k号窗的后向状态度量beta计算的训练运算,其中,j=M-1,k=M-1-j;
步骤32d,第二译码单元顺序执行编号为双数的并行处理块中第j号窗的后向状态度量beta计算,并于执行编号为双数的并行处理块中第j号窗的后向状态度量beta计算时、还执行用于第j号窗的前向状态度量alpha计算的训练运算、第j+1号窗的前向状态度量alpha计算及用于第j+1号窗的对数似然比计算,同时执行编号为单数的并行处理块中第k号窗的前向状态度量alpha计算时,还执行用于第k号窗的后向状态度量beta计算的训练运算及第k-1号窗的后向状态度量beta计算,还执行第k-1号窗的对数似然比计算,其中,j=M-2,M-3……1,k=M-1-j;
步骤33d,第二译码单元执行编号为双数的并行处理块的第j号窗的后向状态度量beta计算、第j+1号窗的前向状态度量alpha计算及第j+1号窗的对数似然比计算;同时执行编号为单数的并行处理块的第k号窗的前向状态度量alpha计算时,还执行第k-1号窗的后向状态度量beta计算及第k-1号窗的对数似然比计算,其中,j=0,k=M-1-j;
步骤34d,第二译码单元执行编号为双数的并行处理块的第j号窗的前向状态度量alpha计算,还执行用于第j号窗的对数似然比计算;及编号为单数的并行处理块的第k号窗的后向状态度量beta计算,还执行第k号窗的对数似然比计算,其中,j=0,k=M-1-j。
上述的步骤3中第二译码器SISO#1的具体算法步骤与步骤2中的第一译码器SISO#0的具体算法步骤类似,译码过程主要包括三部分,可以先算前向状态度量alpha再同时算后向状态度量beta和对数似然比,也可以先算后向状态度量beta再同时算前向状态度量alpha和对数似然比。
作为本发明的一种具体的实施例,于同一次迭代的状态度量传递为:于同一偶数次迭代中,编号为双数的并行处理块中的前向状态度量alpha自第0号窗至第M-1号窗依次传递,于同一奇数次迭代中,编号为单数的并行处理块的前向状态度量alpha自第0号窗至第M-1号窗依次传递;
各号窗的后向状态度量beta通过当前窗训练的后向状态度量beta的末状态传递给当前窗得到。
相应地,于同一奇数次迭代中,编号为双数的并行处理块的后向状态度量beta自第M-1号窗至第0号窗依次传递,于同一偶数次迭代中,编号为单数的并行处理块的后向状态度量beta自第M-1号窗至第0号窗依次传递;
各号窗的前向状态度量alpha通过当前窗训练的前向状态度量alpha的末状态传递给当前窗得到。
本发明的turbo译码方法,每次迭代的前向状态度量alpha、后向状态度量beta初始值由训练得到,训练窗的初始值由上一次迭代对应比特传递得到。采用训练窗可有效提高尤其是WCDMA或TD-SCDMA中高码率场景的译码性能。
每个训练运算的初状态由对应的窗上次迭代时的对应比特位置的状态值传递得到。举例来说,每号窗的设定长度可以为64位,第1次迭代Iter#1的残窗SW0长度=4,其余窗长=64;第0次迭代Iter#0的SW0=SW1=SW3=64,残窗SW4=4。第1次迭代Iter#1的用于SW2窗的前向状态度量alpha训练的初始值,由第0次迭代Iter#0的SW0窗的第60bit的前向状态度量alpha末状态的值传递而来。
本发明的turbo译码方法,奇数次迭代中编号为双数的并行处理块中第M-1号窗的后向状态度量beta计算的初状态由上一次迭代的编号为奇数的并行处理块中第0号窗的后向状态度量beta的末状态传递得到。
举例来说,第1次迭代Iter#1的并行处理块Core#0的SW4的后向状态度量beta计算初状态由第0次迭代Iter#0的并行处理块Core#1的SW0的后向状态度量beta末状态传递而来。
本发明的新结构中增加对前向状态度量alpha和后向状态度量beta的训练和传递功能,可以有效提高在高码率场景的译码性能。
作为本发明的一种具体的实施例,步骤2和步骤3中,各号窗的前向状态度量alpha的训练运算或后向状态度量beta的训练运算可单独或共同开启关闭,根据实际需求可调,在LTE中,可将前向状态度量alpha计算的训练运算或后向状态度量beta计算的训练运算同时关闭。
本发明的turbo译码方法,上述并行处理块的数目为1个或2个或4个或6个或8个或16个。LTE中可做大分16并行Core处理,WCDMA/TDS-CDMA一般地可采用1个并行处理块进行译码处理。
现有技术中由于前向状态度量需要存储到后向状态度量迭代运算完毕才可以释放,因此用硬件直接去实现MAP算法需要大量的存储器资源,而本发明对于每号窗的计算,用于传递给下一次迭代的状态度量,只需存储对应上一次迭代的每号窗上的1比特终止状态度量,而不需要存储整号窗的状态度量可以减少内存面积(memory size),节省终端功耗和硬件资源,减少译码延时。
具体的前向状态度量计算和后向状态度量计算不属于本发明的改进之处,在此不作赘述。
同时,传统译码方案针对Log-MAP运算中的补偿项,查找表较大,增加硬件实现成本。本发明可以简化查找表,并用1比特(bit)对查找表项进行优化,减少芯片面积和硬件实现复杂度。以Radix-4中前向状态度量alpha的计算为例:
alpha0[k+2]=max(max(w,x),max(y,z))+
LUT(max(w,x),max(y,z))+sel(LUT(w,x),LUT(y,z))
w,x,y,z指4个状态的分支度量。
其中,max(max(w,x),max(y,z))是计算前向状态度量alpha的等价公式,也是该公式的主项,LUT(max(w,x),max(y,z))+sel(LUT(w,x),LUT(y,z))是修正项;
其中当max(w,x)>max(y,z)时,sel=LUT(w,x)
否则Sel=LUT(y,z);
LUT(w,x)指的是根据w,x之差的绝对值进行查表;LUT(y,z)指的是根据y,z之差的绝对值进行查表;简化的查找表(LUT:look up table)将事先计算好的值存储起来,采用1bit精度查找表1
If|x|<=1 LUT(x)=1;else,LUT(x)=0。
表1:
|x-y| | 0 | 1 | >1 |
LUT(x,y) | 1 | 1 | 0 |
采用1bit精度查找表2
If|x|<=3LUT(x)=1;else,LUT(x)=0。
表2:
|x-y| | 0 | 1 | 2 | 3 | >3 |
LUT(x,y) | 1 | 1 | 1 | 1 | 0 |
查找表1和查找表2根据码块的长度进行选择。可以在基本不影响译码性能的前提下,减少修正项的位宽,在硬件实现时大大减少芯片面积和硬件实现复杂度。
以上所述仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。
Claims (17)
1.一种turbo译码装置,其特征在于,包括,
第一译码单元,于一信息序列、一第一校验序列、一第一先验序列的输入下译码输出第一对数似然比;
第二译码单元,于一第二校验序列、一第二先验序列及一经交织过的信息序列的作用下译码输出第二对数似然比;
判决单元,依据所述第一对数似然比和经解交织后的第二对数似然比作出判决,以输出译码结果。
2.根据权利要求1所述的turbo译码装置,其特征在于,所述第一译码单元采用软输入软输出分量译码器,和/或,所述第二译码单元采用软输入软输出分量译码器。
3.根据权利要求1所述的turbo译码装置,其特征在于,还包括:
第一计算器,对所述第一对数似然比、所述信息序列及所述第一先验序列运算得到第一外部软信息;
第一交织器,对所述第一外部软信息进行交织以得到所述第二先验序列。
4.根据权利要求1所述的turbo译码装置,其特征在于,还包括:第二交织器,对所述信息序列进行交织以获得所述交织过的信息序列。
5.根据权利要求1所述的turbo译码装置,其特征在于,还包括,
第二计算器,对所述第二对数似然比、所述第二先验序列、所述交织过的信息序列进行计算以获得第二外部软信息;
第一解交织器,对所述第二外部软信息解交织后以更新所述第一先验序列。
6.根据权利要求1所述的turbo译码装置,其特征在于,还包括,
第二解交织器,对所述第二对数似然比进行解交织以获得解交织后的第二对数似然比。
7.一种turbo译码方法,其特征在于,用于权利要求1所述的turbo译码装置,具体步骤如下:
步骤1,将所述信息序列划分为N个并行处理块,每个并行处理块分为M个设定长度的窗;
步骤2,所述第一译码单元依据滑动窗算法于第一时间段内并行处理N个并行处理块并依设定次序完成所有窗的计算获得第一对数似然比输出;
步骤3,所述第二译码单元依据滑动窗算法于第二时间段内并行处理N个并行处理块并依设定次序完成所有窗的计算获得第二对数似然比输出;
步骤4,重复步骤2至步骤3直至完成设定次数的迭代运算,以输出译码结果。
8.根据权利要求7所述的turbo译码方法,其特征在于,执行偶数次迭代时所述步骤2包括以下步骤:
步骤21c,所述第一译码单元执行编号为双数的并行处理块中第j号窗的前向状态度量计算时,同时执行用于第j号窗的后向状态度量计算的训练运算;及编号为单数的并行处理块中第k号窗的后向状态度量计算及用于第k号窗的前向状态度量计算的训练运算,其中,j=0,k=M-1-j;
步骤22c,所述第一译码单元顺序执行编号为双数的并行处理块中第j号窗的前向状态度量计算,并于执行编号为双数的并行处理块中第j号窗的前向状态度量计算时,还执行用于第j号窗的后向状态度量计算的训练运算及第j-1号窗的后向状态度量计算,还执行第j-1号窗的对数似然比计算;同时执行编号为单数的并行处理块中第k号窗的后向状态度量计算、用于第k号窗的前向状态度量计算的训练运算及第k+1号窗的前向状态度量计算,还执行用于第k+1号窗的对数似然比计算,其中,j=1,2……M-2,k=M-1-j;
步骤23c,所述第一译码单元执行编号为双数的并行处理块的第j号窗的前向状态度量计算时,还执行第j-1号窗的后向状态度量计算及第j-1号窗的对数似然比计算;同时执行编号为单数的并行处理块的第k号窗的后向状态度量计算、第k+1号窗的前向状态度量计算及第k+1号窗的对数似然比计算,其中,j=M-1,k=M-1-j;
步骤24c,所述第一译码单元执行编号为双数的并行处理块的第j号窗的后向状态度量计算,还执行第j号窗的对数似然比计算;及编号为单数的并行处理块的第k号窗的前向状态度量计算,还执行用于第k号窗的对数似然比计算,其中j=M-1,k=M-1-j。
9.根据权利要求7所述的turbo译码方法,其特征在于,执行奇数次迭代时所述步骤2包括以下步骤:
步骤21d,所述第一译码单元执行编号为双数的并行处理块中第j号窗的后向状态度量计算时,同时执行用于第j号窗的前向状态度量计算的训练运算;及编号为单数的并行处理块中第k号窗的前向状态度量计算及用于第k号窗的后向状态度量计算的训练运算,其中,j=M-1,k=M-1-j。;
步骤22d,所述第一译码单元顺序执行编号为双数的并行处理块中第j号窗的后向状态度量计算,并于执行编号为双数的并行处理块中第j号窗的后向状态度量计算时、还执行用于第j号窗的前向状态度量计算的训练运算、第j+1号窗的前向状态度量计算及用于第j+1号窗的对数似然比计算,同时执行编号为单数的并行处理块中第k号窗的前向状态度量计算时,还执行用于第k号窗的后向状态度量计算的训练运算及第k-1号窗的后向状态度量计算,还执行第k-1号窗的对数似然比计算,其中,j=M-2,M-3……1,k=M-1-j;
步骤23d,所述第一译码单元执行编号为双数的并行处理块的第j号窗的后向状态度量计算、第j+1号窗的前向状态度量计算及第j+1号窗的对数似然比计算;同时执行编号为单数的并行处理块的第k号窗的前向状态度量计算时,还执行第k-1号窗的后向状态度量计算及第k-1号窗的对数似然比计算,其中,j=0,k=M-1-j;
步骤24d,所述第一译码单元执行编号为双数的并行处理块的第j号窗的前向状态度量计算,还执行用于第j号窗的对数似然比计算;及编号为单数的并行处理块的第k号窗的后向状态度量计算,还执行第k号窗的对数似然比计算,其中,j=0,k=M-1-j。
10.根据权利要求7所述的turbo译码方法,其特征在于,执行偶数次迭代时所述步骤3包括以下步骤:
步骤31c,所述第二译码单元执行编号为双数的并行处理块中第j号窗的前向状态度量计算时,同时执行用于第j号窗的后向状态度量计算的训练运算;及编号为单数的并行处理块中第k号窗的后向状态度量计算及用于第k号窗的前向状态度量计算的训练运算,其中,j=0,k=M-1-j;
步骤32c,所述第二译码单元顺序执行编号为双数的并行处理块中第j号窗的前向状态度量计算,并于执行编号为双数的并行处理块中第j号窗的前向状态度量计算时,还执行用于第j号窗的后向状态度量计算的训练运算及第j-1号窗的后向状态度量计算,还执行第j-1号窗的对数似然比计算;同时执行编号为单数的并行处理块中第k号窗的后向状态度量计算、用于第k号窗的前向状态度量计算的训练运算及第k+1号窗的前向状态度量计算,还执行用于第k+1号窗的对数似然比计算,其中,j=1,2……M-2,k=M-1-j;
步骤33c,所述第二译码单元执行编号为双数的并行处理块的第j号窗的前向状态度量计算时,还执行第j-1号窗的后向状态度量计算及第j-1号窗的对数似然比计算;同时执行编号为单数的并行处理块的第k号窗的后向状态度量计算、第k+1号窗的前向状态度量计算及第k+1号窗的对数似然比计算,其中,j=M-1,k=M-1-j;
步骤34c,所述第二译码单元执行编号为双数的并行处理块的第j号窗的后向状态度量计算,还执行第j号窗的对数似然比计算;及编号为单数的并行处理块的第k号窗的前向状态度量计算,还执行用于第k号窗的对数似然比计算,其中,j=M-1,k=M-1-j。
11.根据权利要求7所述的turbo译码方法,其特征在于,执行奇数次迭代时所述步骤3包括以下步骤:
步骤31d,所述第二译码单元执行编号为双数的并行处理块中第j号窗的后向状态度量计算时,同时执行用于第j号窗的前向状态度量计算的训练运算;及编号为单数的并行处理块中第k号窗的前向状态度量计算及用于第k号窗的后向状态度量计算的训练运算,其中j=M-1,k=M-1-j;
步骤32d,所述第二译码单元顺序执行编号为双数的并行处理块中第j号窗的后向状态度量计算,并于执行编号为双数的并行处理块中第j号窗的后向状态度量计算时、还执行用于第j号窗的前向状态度量计算的训练运算、第j+1号窗的前向状态度量计算及用于第j+1号窗的对数似然比计算,同时执行编号为单数的并行处理块中第k号窗的前向状态度量计算时,还执行用于第k号窗的后向状态度量计算的训练运算及第k-1号窗的后向状态度量计算,还执行第k-1号窗的对数似然比计算,其中,j=M-2,M-3……1,k=M-1-j;
步骤33d,所述第二译码单元执行编号为双数的并行处理块的第j号窗的后向状态度量计算、第j+1号窗的前向状态度量计算及第j+1号窗的对数似然比计算;同时执行编号为单数的并行处理块的第k号窗的前向状态度量计算时,还执行第k-1号窗的后向状态度量计算及第k-1号窗的对数似然比计算,其中,j=0,k=M-1-j;
步骤34d,所述第二译码单元执行编号为双数的并行处理块的第j号窗的前向状态度量计算,还执行用于第j号窗的对数似然比计算;及编号为单数的并行处理块的第k号窗的后向状态度量计算,还执行第k号窗的对数似然比计算,其中,j=0,k=M-1-j。
12.根据权利要求7所述的turbo译码方法,其特征在于,于同一偶数次迭代中,编号为双数的并行处理块中的前向状态度量自第0号窗至第M-1号窗依次传递,于同一奇数次迭代中,编号为单数的并行处理块的前向状态度量自第0号窗至第M-1号窗依次传递;
各号窗的后向状态度量通过当前窗训练的后向状态度量的末状态传递给当前窗得到。
13.根据权利要求7所述的turbo译码方法,其特征在于,于同一奇数次迭代中,编号为双数的并行处理块的后向状态度量自第M-1号窗至第0号窗依次传递,于同一偶数次迭代中,编号为单数的并行处理块的后向状态度量自第M-1号窗至第0号窗依次传递;
各号窗的前向状态度量通过当前窗训练的前向状态度量的末状态传递给当前窗得到。
14.根据权利要求8或9或10或11所述的turbo译码方法,其特征在于,每个训练运算的初状态由对应的窗上次迭代时的对应比特位置的状态值传递得到。
15.根据权利要求7所述的turbo译码方法,其特征在于,奇数次迭代中编号为双数的并行处理块中第M-1号窗的后向状态度量计算的初状态由上一次迭代的编号为奇数的并行处理块中第0号窗的后向状态度量的末状态传递得到。
16.根据权利要求7所述的turbo译码方法,其特征在于,每个窗的设定长度为64位。
17.根据权利要求7所述的turbo译码方法,其特征在于,所述并行处理块的数目为1个或2个或4个或6个或8个或16个。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510475123.5A CN106712778B (zh) | 2015-08-05 | 2015-08-05 | 一种turbo译码装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510475123.5A CN106712778B (zh) | 2015-08-05 | 2015-08-05 | 一种turbo译码装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106712778A true CN106712778A (zh) | 2017-05-24 |
CN106712778B CN106712778B (zh) | 2020-05-26 |
Family
ID=58918418
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510475123.5A Active CN106712778B (zh) | 2015-08-05 | 2015-08-05 | 一种turbo译码装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106712778B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111865336A (zh) * | 2020-04-24 | 2020-10-30 | 北京芯领航通科技有限公司 | 基于RAM总线的Turbo译码存储方法及装置和译码器 |
WO2021109683A1 (zh) * | 2019-12-02 | 2021-06-10 | 深圳市中兴微电子技术有限公司 | 译码方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101651458A (zh) * | 2008-08-13 | 2010-02-17 | 华为技术有限公司 | Turbo并行译码方法、装置及系统 |
CN101753152A (zh) * | 2008-12-02 | 2010-06-23 | 大唐移动通信设备有限公司 | 一种Turbo码译码器及译码方法 |
US20120246539A1 (en) * | 2001-01-02 | 2012-09-27 | Icomm Technologies Inc. | Wireless system with diversity processing |
CN103873073A (zh) * | 2014-03-20 | 2014-06-18 | 北京遥测技术研究所 | 一种基于并行与加窗结构的Turbo码高速译码实现方法 |
-
2015
- 2015-08-05 CN CN201510475123.5A patent/CN106712778B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120246539A1 (en) * | 2001-01-02 | 2012-09-27 | Icomm Technologies Inc. | Wireless system with diversity processing |
CN101651458A (zh) * | 2008-08-13 | 2010-02-17 | 华为技术有限公司 | Turbo并行译码方法、装置及系统 |
CN101753152A (zh) * | 2008-12-02 | 2010-06-23 | 大唐移动通信设备有限公司 | 一种Turbo码译码器及译码方法 |
CN103873073A (zh) * | 2014-03-20 | 2014-06-18 | 北京遥测技术研究所 | 一种基于并行与加窗结构的Turbo码高速译码实现方法 |
Non-Patent Citations (1)
Title |
---|
郗莉: "LTE系统Turbo高速译码算法研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021109683A1 (zh) * | 2019-12-02 | 2021-06-10 | 深圳市中兴微电子技术有限公司 | 译码方法、装置、设备及存储介质 |
US11848688B2 (en) | 2019-12-02 | 2023-12-19 | Sanechips Technology Co., Ltd. | Decoding method and device, apparatus, and storage medium |
CN111865336A (zh) * | 2020-04-24 | 2020-10-30 | 北京芯领航通科技有限公司 | 基于RAM总线的Turbo译码存储方法及装置和译码器 |
Also Published As
Publication number | Publication date |
---|---|
CN106712778B (zh) | 2020-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101777924B (zh) | 一种Turbo码译码方法和装置 | |
KR101225016B1 (ko) | Lte에서 병렬 터보 디코딩의 방법 및 장치 | |
CN102638278B (zh) | 迭代解码器 | |
CN101951266B (zh) | Turbo并行译码的方法及译码器 | |
CN102523076B (zh) | 通用可配置的高速率Turbo码译码方法 | |
CN104092470B (zh) | 一种Turbo码译码装置及方法 | |
CN112398487B (zh) | 一种降低Turbo并行译码复杂度的实现方法及系统 | |
CN101373978B (zh) | 一种Turbo码译码方法以及装置 | |
CN102158235B (zh) | turbo译码的方法及装置 | |
CN102111162A (zh) | Turbo 分量译码方法、分量译码器、支路计算器及Turbo 译码器 | |
CN102340320B (zh) | 卷积Turbo码双向并行译码方法 | |
EP1471677A1 (en) | Method of blindly detecting a transport format of an incident convolutional encoded signal, and corresponding convolutional code decoder | |
CN103354483A (zh) | 通用的高性能Radix-4SOVA译码器及其译码方法 | |
CN106712778A (zh) | 一种turbo译码装置及方法 | |
CN106059597A (zh) | 一种基于概率Turbo译码器的有符号概率计算单元 | |
CN106533454A (zh) | Turbo码译码迭代控制方法及装置 | |
CN102571107B (zh) | LTE系统中高速并行Turbo码的解码系统及方法 | |
CN102270993B (zh) | 一种同时实现交织与解交织的Turbo译码器 | |
CN113872615A (zh) | 一种可变长度的Turbo码译码器装置 | |
CN103916141A (zh) | Turbo码译码方法及装置 | |
CN105515591B (zh) | 一种Turbo码译码系统及方法 | |
CN103701475A (zh) | 移动通信系统中8比特运算字长Turbo码的译码方法 | |
KR100625242B1 (ko) | 터보 복호화 장치 및 방법 | |
CN106788899A (zh) | 高可靠的Turbo译码器后向边界初始化方法 | |
CN109831217A (zh) | 一种Turbo码译码器、用于Turbo码的分量译码器及分量译码方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |