CN103595424B - 分量译码方法、译码器及Turbo译码方法、装置 - Google Patents

分量译码方法、译码器及Turbo译码方法、装置 Download PDF

Info

Publication number
CN103595424B
CN103595424B CN201210290493.8A CN201210290493A CN103595424B CN 103595424 B CN103595424 B CN 103595424B CN 201210290493 A CN201210290493 A CN 201210290493A CN 103595424 B CN103595424 B CN 103595424B
Authority
CN
China
Prior art keywords
decoding
sub
window
branch metric
component
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201210290493.8A
Other languages
English (en)
Other versions
CN103595424A (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.)
Spreadtrum Communications Shanghai Co Ltd
Original Assignee
Chongqing Cyit Communication Technologies Co Ltd
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 Chongqing Cyit Communication Technologies Co Ltd filed Critical Chongqing Cyit Communication Technologies Co Ltd
Priority to CN201210290493.8A priority Critical patent/CN103595424B/zh
Publication of CN103595424A publication Critical patent/CN103595424A/zh
Application granted granted Critical
Publication of CN103595424B publication Critical patent/CN103595424B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Error Detection And Correction (AREA)

Abstract

本发明公开了一种分量译码方法,将译码数据块划分为多个子窗,根据分量译码顺序依次对各子窗实施分量译码,在首次译码迭代时,预设除最后一个子窗外其余各子窗第二分支度量初始值;分别用各子窗最后一个第二分支度量更新该子窗前一个子窗第二分支度量初始值;本发明的技术方案能够有效的减少分量译码过程中的冗余计算量,提高Turbo译码效率。本发明还同时公开了一种与所述方法相适应的分量译码器、Turbo译码方法及Turbo译码装置。

Description

分量译码方法、译码器及Turbo译码方法、装置
技术领域
本发明涉及到移动通信系统中的信道译码方法,特别涉及到一种分量译码方法、分量译码器以及Turbo译码方法和Turbo译码装置。
背景技术
Turbo码是近年来通信系统纠错编码领域的重大突破,他以其接近香农(即,shannon)极限的优越性能博得众多学者的青睐。Turbo码的最大特点在于它通过在编译码器中交织器和解交织器的使用,有效地实现了随机性编译码的思想,通过短码的有效结合实现长码,达到了接近香农理论极限的性能。在第三代移动通信系统中,Turbo码在各种标准中被普遍作为高速数据业务的信道编码方式,在长期演进(简称,LTE)系统中依然采用Turbo码作为数据业务的信道编码。Turbo编码器采用3GPP的编码方案,由约束长度为4,码率为1/2的RSC编码器通过一个交织器并行级联而成,为提高性能对2个译码器分别附加3个尾比特使译码器的最终状态为全0,在turbo编码器中交织器的作用是将信息序列中的比特顺序重置。Turbo译码器包括,接口模块、软输入软输出(简称,SISO)分量译码器SISO1、SISO2、硬判决器、交织/解交织器1、交织/解交织器2、LLR存储器1、LLR存储器2、译码数据块存储器,如图1所示。
现有技术的Turbo码译码过程包括:
1、分量译码器SISO1根据输入数据的校验信息和先验信息l′2k(第一次迭代时先验信息l′2k为系统信息进行计算输出对数似然比(简称,LLR)信息l1k;(其中下标k表示输入数据为当前进行译码的译码块中的第k组数据)
2、SISO1输出的l1k与输入数据的系统信息相加,产生l′1k,即,
3、将l′1k进行交织,并将交织后的l′1k作为SISO2的先验信息输入SISO2;
4、分量译码器SISO2根据输入数据的校验信息和先验信息l′1k进行计算输出对数似然比(简称,LLR)信息l2k
5、将l2k进行解交织,将解交织后的l2k与系统信息相加,产生l′2k,即,作为SISO1的先验信息输入SISO1;
6、SISO1输出的LLR信息l1k与SISO1输入的先验信息l′2k进行加法运算,并对运算结果进行硬判决;
7、重复迭代执行译码步骤1~6,直至达到最大迭代次数停止迭代,将最后一次迭代的硬判决结果作为译码结果输出。
其中,步骤1和步骤4为分量译码过程,两个分量译码过程完全相同,区别仅在于步骤1的输入为校验信息和先验信息l′2k,输出为l1k;而步骤4的输入为校验信息和先验信息l′1k,输出为l2k
现有技术的分量译码器SISO1和SISO2如图2所示,包括:
前向分支度量计算单元,用于计算前向分支度量αk(s);
αk(s)存储单元,用于存储计算出的αk(s);
后向分支度量计算单元,用于计算后向分支度量βk(s);
βk(s)存储单元,用于保存计算出的βk(s);
LLR计算单元,用于计算LLR信息;
接口控制模块,接收分量译码控制信息、各数据的校验信息和先验信息;
分量译码过程包括:
1、计算各分支度量,分支度量包括前向分支度量和后向分支度量;
根据第一个数据的校验信息、先验信息以及译码软信息前向分支度量初始值α0(s)计算第一个前向分支度量α1(s),根据第二个数据的校验信息、先验信息以及α1(s)计算第二个前向分支度量α2(s),以此类推,利用各数据的校验信息和先验信息以及前一个前向分支度量递推计算译码块的各前向分支度量;
根据最后一个数据的校验信息、先验信息以及译码块后向分支度量初始值βK+1(s)计算第一个后向分支度量βK(s);根据倒数第二个数据的校验信息、先验信息以及βK(s)计算第二个后向分支度量βK-1(s);以此类推,利用各数据的校验信息和先验信息以及前一个后向分支度量递推计算译码块的各后向分支度量;
其中,前向分支度量的顺序与译码块中数据的顺序相同,而后向分支度量的顺序与译码块中数据的顺序相反,即:
第一个前向分支度量指译码块第一个数据的前向分支度量,前一个前向分支度量指当前计算的前向分支度量对应数据的前一个数据的前向分支度量,后一个前向分支度量指当前计算的前向分支度量对应数据的后一个数据的前向分支度量;
第一个后向分支度量指译码块最后一个数据的后向分支度量,前一个后向分支度量指当前计算的后向分支度量对应数据的后一个数据的后向分支度量,后一个后向分支度量指当前计算的后向分支度量对应数据的前一个数据的后向分支度量;
2、计算各个数据的LLR信息,根据αk(s)和βk(s)计算第k个数据的LLR信息;
其中, α 0 ( s ) = 0 if s = 0 - ∞ if s ≠ 0 ; β K + 1 ( s ) = 0 if s = 0 - ∞ if s ≠ 0 ; 在具体实现中,通常用系统位宽所允许的最大负数来表示-∞;
其中,k=1~K;K为译码块长度;s表示分支度量的状态,s=0~7,分别表示分支度量的8种不同状态,即,每个分支度量的8种状态分别对应不同的值;
从上述分量译码过程可以看出,分量译码中需要保存一个完整译码块的各分支度量,当译码块长度较大时,所需的存储器容量也较大;同时,由于需要完成整个译码块的前向分支度量和后向分支度量计算后才能进行LLR信息计算,分量译码过程的计算时间较长;从而导致基带芯片的面积和功耗较大,也会造成较大的数据处理时延。
在译码效率要求较高的系统,如LTE系统中,为了提高Turbo译码速率,通常会采用并行译码的方式。并行译码是将一个译码块划分为M个译码数据块,译码数据块1~译码数据块M;利用Turbo译码器1~Turbo译码器M分别对译码数据块1~译码数据块M进行并行的Turbo译码。对于非并行译码,译码块仅包含一个译码数据块。
在工程实现中,分量译码过程通常都是采用滑动窗的形式来实现的。该实现方法的主要思路是通过将译码数据块分为多个子窗,以子窗为单位进行分量译码,每次计算一个子窗的各LLR信息;这样,计算过程中仅需要保存一个子窗的分支度量;减小了所需存储器的空间。
滑动窗实现分量译码的分量译码顺序可以是正向分量译码(按译码块中数据从头到尾的顺序依次对各子窗实施分量译码)或反向分量译码(按译码块中数据从尾到头的顺序依次对各子窗实施分量译码)。
从分量译码的过程可以看出,在对各子窗进行分量译码时,需要知道该子窗的分支度量初始值,然后递推计算子窗的各分支度量;以非并行Turbo译码为例:
对任意一个子窗,第一分支度量初始值为前一个子窗的最后一个分支度量,第二分支度量初始值为后一个子窗的最后一个第二分支度量;其中,第一个子窗第一分支度量初始值为译码块第一分支度量初始值,最后一个子窗第二分支度量初始值为译码块第二分支度量初始值;
各子窗第一分支度量初始值在计算该子窗的第一分支度量时都已获得;而除最后一各子窗外,各子窗第二分支度量初始值在计算该子窗的第二分支度量时还未知;
为了解决各子窗第二分支度量初始值在计算该子窗的第二分支度量时未知的问题,现有技术采用的方法是:
在计算当前子窗的第二分支度量时,首先根据实验数据预设该子窗后一个子窗的倒数第L个第二分支度量;
利用该预设的分支度量通过递推计算所述后一个子窗的最后一个第二分支度量作为所述当前子窗第二分支度量初始值。
其中,所述子窗的前后顺序与分量译码顺序相同;所述第一分支度量为递推顺序与分量译码顺序相同的分支度量,所述第二分支度量为递推顺序与分量译码顺序相反的分支度量。
对于正向分量译码,所述子窗的顺序按所述子窗在译码块中的位置从前向后的顺序排列;所述第一分支度量为前向分支度量,所述第二分支度量为后向分支度量;
对于反向分量译码,所述子窗的顺序按所述子窗在译码块中的位置从后向前的顺序排列;所述第一分支度量为后向分支度量,所述第二分支度量为前向分支度量;
现有技术分量译码的滑动窗实现方法中,除最后一个子窗外的每一个子窗都会多计算L个第二分支度量,而为了保证译码性能,L的长度不能取太小。
例如,如果译码块的长度为768,每个子窗长度为32,L的取值为24;为保证译码性能,一般需要迭代8次,每次迭代两个分量译码器各进行一次分量译码,每次分量译码需要分别计算前向分支度量和后向分支度量。这样,整个译码过程中的分支度量冗余计算量为:((768÷32)-1)×24×8×2=8832;
而在没有冗余计算的情况下,译码块所有数据的分支度量(包括前向分支度量和后向分支度量)需要的计算量为:768×2×8×2=24576;
在总计算过程中,冗余计算的次数占到了总计算量的26.4%。
对于并行译码,采用现有技术通过冗余计算来获取各子窗分支度量初始值的方法,会造成更多的冗余计算量:
对于任意一个译码数据块,其第一个子窗的第一分支度量初始值为前一个译码数据块的最后一个子窗的最后一个第一分支度量;
由于各译码数据块同时并行进行译码,因此,除了第一个译码数据块的第一个子窗第一分支度量初始值已知为译码块第一分支度量初始值外,其余各译码数据块的第一个子窗第一分支度量初始值在开始计算该子窗的第一分支度量时还是未知的;
现有技术中,对于除第一个译码数据块外的其余译码数据块,其第一个子窗第一分支度量初始值也需要通过冗余计算的方法来获得。
其中,所述译码数据块的前后顺序与分量译码顺序相同;
对正向分量译码,各译码数据块按译码数据块在译码块中的位置从前向后顺序排列;对于反向分量译码,各译码数据块按译码数据块在译码块中的位置从后向前顺序排列。
可以看到,现有技术的上述分量译码实现过程包含了大量的冗余计算,增加了译码过程的计算量,降低了译码效率。
发明内容
有鉴于此,本发明提出了一种分量译码方法、分量译码装置及一种Turbo码译码方法、Turbo译码装置,以减少分量译码过程中的冗余计算,提高译码效率。
本发明的分量译码方法包括:
将译码数据块划分为多个子窗,根据分量译码顺序依次对各子窗实施分量译码,包括,计算子窗第一分支度量、计算子窗第二分支度量和计算子窗LLR信息;
首次译码迭代时,预设除最后一个子窗外其余各子窗第二分支度量初始值;
用在后子窗的最后一个第二分支度量更新在前子窗第二分支度量初始值;
其中,所述第一分支度量为递推计算顺序与分量译码顺序相同的分支度量;所述第二分支度量为递推计算顺序与分量译码顺序相反的分支度量;各子窗的前后顺序与分量译码顺序相同;所述在后子窗为除第一个子窗外的任意一个子窗,所述在前子窗为所述在后子窗的前一个子窗。
优选的,对于并行译码,所述方法还包括:
在首次译码迭代时,预设除第一个译码数据块外各译码数据块第一个子窗第一分支度量初始值;
完成译码数据块最后一个子窗的第二分支度量计算后,用在前译码数据块最后一个第一分支度量更新在后译码数据块的第一个子窗的第一分支度量初始值;
其中,各译码数据块的前后顺序与分量译码顺序相同;所述在后译码数据块为除最后一个译码数据块外的任意一个译码数据块,所述在前译码数据块为所述在后译码数据块的前一个译码数据块。
优选的,所述计算子窗第一分支度量包括,对于每个计算出的第一分支度量,将该第一分支度量中各状态对应的值减去基准状态对应的值得到的结果作为该分支度量各状态对应的值;所述计算子窗第二分支度量包括,对于每个计算出的第二分支度量,将该第二分支度量中各状态对应的值减去基准状态对应的值得到的结果作为该分支度量各状态对应的值;
其中,所述基准状态为预先选择的任意一个状态。
优选的,所述计算子窗第二分支度量与所述计算子窗LLR信息并行进行。
优选的,在所述计算子窗第二分支度量的同时,并行计算后一个子窗的第一分支度量。
本发明的分量译码器包括:
接口控制模块,接收分量译码控制信息、输入数据和各数据的先验信息;
第一分支度量计算模块,计算各子窗第一分支度量;
第二分支度量计算模块,计算各子窗第二分支度量;将在后子窗中最后一个第二分支度量发送到分支度量初始值存储模块更新在前子窗第二分支度量初始值;
对数似然比LLR计算模块,计算各子窗LLR信息;
分支度量存储模块,保存计算出的第一分支度量;
分支度量初始值存储模块,保存各子窗第二分支度量初始值;
其中,首次迭代时,所述各子窗第二分支度量初始值为预设值;
所述第一分支度量为递推计算顺序与分量译码顺序相同的分支度量;所述第二分支度量为递推计算顺序与分量译码顺序相反的分支度量;各子窗的前后顺序与分量译码顺序相同;所述在后子窗为除第一个子窗外的任意一个子窗,所述在前子窗为所述在后子窗的前一个子窗。
优选的,所述第二分支度量计算模块获取后一个译码数据块第一个子窗的最后一个第二分支度量作为译码数据块最后一个子窗第二分支度量初始值;
所述分支度量初始值存储模块还用于保存译码数据块第一个子窗第一分支度量初始值;每次译码迭代完成后,用前一个译码数据块的最后一个第一分支度量更新所述分支度量初始值存储模块所保存的第一个子窗第一分支度量初始值。
其中,各译码数据块的前后顺序与分量译码顺序相同。
优选的,所述分量译码器还包括:
输入数据存储模块,保存所述接口控制模块接收的输入数据;
所述第二分支度量计算模块从所述输入数据存储模块获取校验信息。
本发明的Turbo译码方法包括:
任意一种本发明的分量译码方法;
每次译码迭代获得译码块本次译码迭代的判决结果后,判断译码正确性,如果译码正确,结束译码,将本次译码迭代的判决结果作为Turbo译码结果输出。
优选的,所述判断译码正确性包括:
将译码块本次译码迭代的判决结果与上次译码迭代的判决结果进行比较;
如果本次译码迭代的判决结果与上次译码迭代的判决结果的相同率大于校验门限,判定译码正确;
其中,所述相同率为,
所述校验门限根据Turbo译码的性能要求设定。
本发明的Turbo译码装置包括:
任一种本发明的分量译码器;
迭代停止控制模块,判断译码正确性,当译码正确时,控制所述Turbo译码装置停止译码迭代。
优选的,所述迭代停止控制模块包括:
判决结果存储单元,存储译码迭代的判决结果;
比较单元,比较译码块各数据本次译码迭代的判决结果与上次译码迭代得到的该数据的判决结果,得到相同率;
停止控制单元,判断所述相同率是否大于预设的校验门限,如果是,控制Turbo译码装置停止译码迭代;否则,在迭代次数达到最大迭代次数时控制Turbo译码装置停止译码迭代
其中,所述相同率为,
所述校验门限根据Turbo译码的性能要求设定。
本发明的分量译码技术方案在首次迭代时,直接预设各子窗未知的分支度量初始值,在后续迭代过程中,从上次迭代过程计算出的分支度量中获得各子窗未知的分支度量初始值,与现有技术相比,无需在每次迭代时都进行冗余数据计算,仅需多进行一次迭代即可获得相同的译码性能;减少分量译码过程中的冗余计算,提高译码效率。
以长度为768的译码数据块为例,本发明分量译码技术方案的冗余计算量为:768×2×2=3072;仅为现有技术方案的冗余计算量8832的35%。
同时本发明的Turbo译码技术方案在译码通过增加译码正确停止译码迭代的方案,在已获得正确的译码结果时可以提前停止译码过程,进一步提高了Turbo译码效率。
附图说明
图1是现有技术Turbo译码器结构示意图;
图2是现有技术分量译码器结构示意图;
图3是具体实施例1分量译码方法流程图;
图4是具体实施例2分量译码装置一种优选实现方案结构示意图;
图5是具体实施例2分量译码装置另一种优选实现方案结构示意图;
图6是具体实施例3Turbo译码方法流程图;
图7是具体实施例4Turbo译码装置结构示意图;
图8是具体实施例4迭代停止控制模块结构示意图;
具体实施方式
为进一步说明本发明的技术方案,下面给出具体实施例并结合附图详细说明。
具体实施例1
本实施例为本发明分量译码方法的一种优选实施方式,流程如图3所示,包括:
本实施例中的分量译码方法可用于非并行译码的场景或并行译码的场景;
将译码数据块划分为多个子窗;
对于非并行译码,所述译码数据块即为译码块,对于并行译码,所述译码数据块为译码块所划分的各译码数据块;
1、首次译码迭代时,预设各子窗第二分支度量初始值;
其中,最后一个子窗的第二分支度量初始值预设为译码块第二分之度量初始值;根据实验数据预设其余各子窗第二分支度量初始值。
对于并行译码,本步骤还包括预设各译码数据块的第一个子窗的第一分支度量初始值;其中,第一个译码数据块的第一个子窗的第一分支度量初始值预设为译码块第一分支度量初始值;根据实验数据预设除其余各译码数据块的第一个子窗第一分支度量初始值;
其中,所述第一分支度量为递推计算顺序与分量译码顺序相同的分支度量;所述第二分支度量为递推计算顺序与分量译码顺序相反的分支度量;各子窗的前后顺序与分量译码顺序相同;各译码数据块的前后顺序与分量译码顺序相同。
2、每次译码迭代时,根据分量译码顺序依次对各子窗实施分量译码:
对于并行译码,各译码数据块的分量译码同时并行进行;
201、计算子窗的第一分支度量;
根据子窗第一分支度量初始值及各数据的校验信息和各数据的先验信息依次递推计算子窗的各第一分支度量;
其中,除第一个子窗外,其余各子窗第一分支度量初始值为前一个子窗的最后一个第一分支度量;
对于非并行译码,第一个子窗的第一分支度量初始值为译码块第一分支度量初始值;
对于并行译码,本步骤还包括,用最后一个子窗的最后一个第一分支度量更新当前译码数据块的后一个译码数据块第一个子窗第一分支度量初始值;
优选的,本步骤在计算各第一分支度量时,对于每个计算出的第一分支度量,将该第一分支度量中各状态对应的值减去基准状态对应的值得到的结果作为该分支度量各状态对应的值;其中,所述基准状态为预先选择的任意一个状态;
202、计算子窗的第二分支度量;
根据子窗第二分支度量初始值及各数据的校验信息和各数据的先验信息依次递推计算子窗的各第二分支度量;
对于并行译码,最后一个译码数据块的最后一个子窗的第二分支度量初始值为译码块第二分支度量初始值;其余各译码数据块最后一个子窗第二分支度量初始值为后一个译码数据块第一个子窗的最后一个第二分支度量;
优选的,本步骤在计算各第二分支度量时,对于每个计算出的第二分支度量,将该第二分支度量中各状态对应的值减去基准状态对应的值得到的结果作为该分支度量各状态对应的值;其中,所述基准状态为预先选择的任意一个状态;
203、计算子窗的LLR信息;
根据子窗的各第一分支度量和各第二分支度量计算子窗的各LLR信息;
优选的,所述步骤202和所述步骤203并行执行;
在步骤202中每计算出一个第二分支度量后,即执行步骤203计算该第二分支度量对应的LLR信息;同时步骤202继续执行,计算后一个第二分支度量;
优选的,在执行步骤202同时对后一个子窗执行步骤201,计算后一个子窗的各第一分支度量;
3、更新各子窗分支度量初始值
用在后子窗的最后一个第二分支度量更新在前子窗的第二分支度量初始值;
其中,所述在后子窗为当前译码数据块中除第一个子窗外的任意一个子窗,所述在前子窗为所述在后子窗的前一个子窗;
本实施例中,可以在步骤2中每完成一个子窗的第二分支度量计算,就用该子窗的最后一个第二分支度量更新该子窗的前一个子窗的第二分支度量初始值;也可以在完成译码数据块所有子窗的第二分支度量初始值计算后,一并更新各在前子窗的第二分支度量初始值;
对于并行译码,本步骤还包括,用在前译码数据块最后一个第一分支度量更新在后译码数据块的第一个子窗的第一分支度量初始值;
其中,所述在前译码数据块为除最后一个译码数据块外的任意一个译码数据块;所述在后译码数据块为所述在前译码数据块的后一个译码数据块。
本实施例的一种优选实现方案中,步骤202和步骤203并行执行以及步骤202和后一个子窗的步骤201并行执行可以进一步提高分量译码和Turbo译码的效率,同时由于将步骤A202和步骤A203并行进行,每计算出一个第二分支度量,即将该第二分支度量直接送入LLR计算单元,不需要存储所述第二分支度量,进一步减少了分量译码所需的存储器。
而在本实施例的又一种优选方案中,每次迭代时都将分支度量基准状态的值归零,其他状态的值用相对于基准状态的值来表示,可以有效的避免由于迭代过程中分支度量各状态的值不断累加造成数据溢出(累加数据值超出了系统最大位宽所能表示的范围)的情况。
具体实施例2
本实施例为本发明分量译码器的一种优选实施方式,如图4所示,包括:
接口控制模块,接收分量译码控制信息、输入数据和各数据的先验信息;
第一分支度量计算模块,计算各子窗第一分支度量;
第二分支度量计算模块,计算各子窗第二分支度量;将在后子窗中最后一个第二分支度量发送到分支度量初始值存储模块更新在前个子窗第二分支度量初始值;
对数似然比LLR计算模块,计算各子窗LLR信息;
分支度量存储模块,保存计算出的第一分支度量;
分支度量初始值存储模块,保存各子窗第二分支度量初始值;
其中,首次迭代时,所述各子窗第二分支度量初始值为预设值;
所述第一分支度量为递推计算顺序与分量译码顺序相同的分支度量;所述第二分支度量为递推计算顺序与分量译码顺序相反的分支度量;各子窗的前后顺序与分量译码顺序相同;所述在后子窗为当前译码数据块中除第一个子窗外的任意一个子窗,所述在前子窗为所述在后子窗的前一个子窗。
本实施例分量译码器的分支度量存储模块可以保存计算出的第一分支度量和第二分支度量,也可以只保存计算出的第一分支度量;
优选的,所述分支度量存储模块只保存计算出的第一分支度量,所述第二分支度量计算模块每计算出一个第二分支度量,即将该第二分支度量与所述分支度量存储模块中保存的对应第一分支度量一起送入所述LLR计算模块计算对应的LLR信息。本优选实现方式可以进一步减少分支度量存储模块所需的存储空间,从而减少芯片面积。
对于并行译码,所述第二分支度量计算模块获取后一个译码数据块第一个子窗的最后一个第二分支度量作为译码数据块最后一个子窗第二分支度量初始值;
其中,各译码数据块的前后顺序与分量译码顺序相同。
并行译码的场景中,各译码数据块同时分别进行分量译码,因此,在计算译码数据块最后一个子窗的第二分支度量之前,该译码数据块的后一个译码数据块的第一个子窗的第二分支度量计算已完成;
对于并行译码,所述分支度量初始值存储模块还用于保存译码数据块第一个子窗第一分支度量初始值;每次译码迭代完成后,用该译码数据块的前一个译码数据块的最后一个第一分支度量更新所述分支度量初始值存储模块所保存的第一个子窗第一分支度量初始值。
优选的,所述分量译码器还包括输入数据存储模块,如图5所示:
输入数据存储模块,保存所述接口控制模块接收的输入数据;;
所述第二分支度量计算模块从所述输入数据存储模块获取校验信息和先验信息。
本优选方案中,在分量译码器内部设置输入数据存储模块,分量译码器将接收的校验信息和先验信息发送到第一分支度量计算模块计算第一分支度量,同时将输入数据保存到输入数据存储模块保存;第二分支度量计算模块从所述输入数据存储模块获取校验信息和先验信息以计算第二分支度量;
在分量译码中,对于每个子窗,第一分支度量与第二分支度量的计算是反向进行的,因此,如果第一分支度量计算模块与第二分支度量计算模块都直接通过接口控制模块从译码数据块存储器读取数据,由于需要同时读取不同的数据,因此,译码数据块存储器需要使用双口存储器或两块单口存储器(每块单口存储器都需要能保存一个完整的译码数据块输入数据)来实现,而本优选方案中进行使用一个单口的译码数据块存储器和一个能保存一个子窗输入数据的存储器;进一步减少了基带芯片面积。
具体实施例3
本实施例为本发明Turbo译码方法的一种优选实施方式,总体流程如图6所示,包括:
1、第一分量译码器根据第一校验信息和第一先验信息进行分量译码得到第一LLR信息;
2、将第一LLR信息与系统信息相加后交织得到第二先验信息;
3、第二分量译码器根据第二校验信息和第二先验信息进行分量译码得到第二LLR信息;
4、将第二LLR信息解交织后与系统消息相加得到第一先验信息;
5、第一LLR信息与第一先验信息相加,对相加的结果进行硬判决得到判决结果;
6、判断是否已达到最大迭代次数,如果是,执行步骤8;否则执行步骤7;
7、判断译码块译码正确性,如果译码正确,执行步骤8;否则执行返回执行步骤1;
8、停止译码迭代,将所述判决结果作为译码结果输出。
其中,所述分量译码的方法为具体实施例1中任意一种本发明的分量译码方法;所述第一先验信息的初始值为系统信息。
本实施例中,所述判断译码正确性的方法可以采用现有技术中任意一种判断译码正确性的方法,如,对于LTE系统,可以根据译码结果的循环冗余校验(简称,CRC)信息来判断译码是否正确;对于TD-SCDMA系统或LTE系统,可以根据译码块本次迭代得到的判决结果与上次迭代得到的判决结果的相同程度来判断译码是否正确。
优选的,本实施中所述判断译码结果正确性进一步包括:
将译码块本次译码迭代的判决结果与上次译码迭代的判决结果进行比较;
如果本次译码迭代的判决结果与上次译码迭代的判决结果的相同率大于校验门限,判定译码正确;
其中,所述相同率为,
所述校验门限根据Turbo译码的性能要求设定;所述校验门限优选取值范围为70%~100%。
具体实施例4
本实施例是本发明Turbo译码装置的一种优选实施方式,包括:
第一分量译码器,根据第一校验信息和第一先验信息进行分量译码得到第一LLR信息;
第二分量译码器,根据第二校验信息和第二先验信息进行分量译码得到第二LLR信息;
第一加法器,将第一LLR信息和系统信息相加;
第一交织/解交织器,对第一加法器的输出数据进行交织得到第二先验信息;
第一存储器,存储第二先验信息;
第二存储器,存储第二LLR信息;
第二交织/解交织器,对第二LLR信息进行解交织;
第二加法器,将解交织后的第二LLR信息和系统信息相加得到第一先验信息;
第三加法器,将第一LLR信息和第一先验信息相加;
判决模块,对第三加法器的输出数据进行硬判决,获得判决结果;
迭代停止控制模块,判断译码块译码正确性,当译码正确时,控制所述Turbo译码装置停止译码迭代,否则,在译码迭代次数达到最大迭代次数时,控制所述Turbo译码装置停止译码迭代。
接口模块,接收译码数据块,在停止译码后将所述判决结果作为译码结果输出;
译码数据块存储器,用于存储所述接口模块接收到的译码数据块;
其中,所述第一分量译码器和第二分量译码器为具体实施例2中任意一种本发明的分量译码装置。
由于Turbo译码过程各步骤是是串行进行的,因此,所述第一分量译码器和所述第二分量译码器可以是同一个分量译码器;所述第一交织/解交织模器和所述第二交织/解交织器可以是同一个交织/解交织器;所述第一存储器和所述第二存储器可以是同一个存储器。
优选的,所述迭代停止控制模块包括:
判决结果存储单元,存储译码迭代的判决结果;
比较单元,比较译码块各数据本次译码迭代的判决结果与上次译码迭代得到的该数据的判决结果,得到相同率;
停止控制单元,判断所述相同率是否大于预设的校验门限,如果是,控制Turbo译码装置停止译码迭代;否则,在译码迭代次数达到最大迭代次数时控制Turbo译码装置停止译码迭代;
其中,所述相同率为,
所述校验门限根据Turbo译码的性能要求设定;所述校验门限优选取值范围为70%~100%。
为了更好的说明迭代停止控制模块,下面介绍一下工作流程:
1、首次译码迭代获得判决结果后,比较单元将获得的判决结果直接保存到所述判决结果存储单元;
2、此后,每次译码迭代获得判决结果后,比较单元将本次译码迭代获得的结果与所述判决结果存储单元保存的判决结果进行比较;获得相同率;
3、比较单元用本次译码迭代获得的结果更新所述判决结果存储单元中保存的判决结果;
4、如果所述停止控制单元判断所述相同率大于预设的校验门限,控制Turbo译码装置停止译码迭代,将所述判决结果存储单元中保存的判决结果作为译码结果通过接口模块输出;否则,在译码迭代次数达到最大迭代次数时,控制Turbo译码装置停止译码迭代,将所述判决结果存储单元中保存的判决结果作为译码结果通过接口模块输出。
本发明各实施例中的分量译码顺序可以是正向分量译码,也可以是反向分量译码:
对于正向分量译码,各子窗按子窗在译码数据块中的位置从前向后的顺序排列,即,第一个子窗为译码数据块的第一个子窗,第二个子窗为译码数据块的第二个子窗,以此类推,最后一个子窗为译码数据块的最后一个子窗;各译码数据块按译码数据块在译码块中的位置从前向后顺序排列,即,第一个译码数据块为译码块的第一个译码数据块,第二个译码数据块为译码块的第二个译码数据块,以此类推,最后一个译码数据块为译码块的最后一个译码数据块;所述第一分支度量为前向分支度量,第二分支度量为后向分支度量;
对于反向分量译码,各子窗按子窗在译码数据块中的位置从后向前的顺序排列,即,第一个子窗为译码数据块的最后一个子窗,第二个子窗为译码数据块的倒数第二个子窗,以此类推,最后一个子窗为译码数据块的第一个子窗;各译码数据块按译码数据块在译码块中的位置从后向前顺序排列,即,第一个译码数据块为译码块的最后一个译码数据块,第二个译码数据块为译码块的倒数第二个译码数据块,以此类推,最后一个译码数据块为译码块的第一个译码数据块;所述第一分支度量为后向分支度量,第二分支度量为前向分支度量。
本领域的一般技术人员显然应该清楚并且理解,本发明方法所举的以上实施例仅用于说明本发明方法,而并不用于限制本发明方法。在不背离本发明方法的精神及其实质的情况下,本领域技术人员当可根据本发明方法做出各种相应的改变或变形,但这些相应的改变或变形均属于本发明方法的权利要求保护范围。

Claims (10)

1.一种分量译码方法,将译码数据块划分为多个子窗,根据分量译码顺序依次对各子窗实施分量译码,包括,计算子窗第一分支度量、计算子窗第二分支度量和计算子窗对数似然比LLR信息,其特征在于:
首次译码迭代时,预设除最后一个子窗外其余各子窗第二分支度量初始值;
用在后子窗的最后一个第二分支度量更新在前子窗的第二分支度量初始值;
其中,所述第一分支度量为递推计算顺序与分量译码顺序相同的分支度量;所述第二分支度量为递推计算顺序与分量译码顺序相反的分支度量;各子窗的前后顺序与分量译码顺序相同;所述在后子窗为除第一个子窗外的任意一个子窗,所述在前子窗为所述在后子窗的前一个子窗;
所述方法还包括:
首次译码迭代时,预设除第一个译码数据块外各译码数据块第一个子窗第一分支度量初始值;
完成译码数据块最后一个子窗的第二分支度量计算后,用在前译码数据块最后一个第一分支度量更新在后译码数据块的第一个子窗的第一分支度量初始值;
其中,各译码数据块的前后顺序与分量译码顺序相同;所述在后译码数据块为除最后一个译码数据块外的任意一个译码数据块,所述在前译码数据块为所述在后译码数据块的前一个译码数据块。
2.根据权利要求1所述的分量译码方法,其特征在于:
所述计算子窗第一分支度量包括,对于每个计算出的第一分支度量,将该第一分支度量中各状态对应的值减去基准状态对应的值得到的结果作为该分支度量各状态对应的值;
所述计算子窗第二分支度量包括,对于每个计算出的第二分支度量,将该第二分支度量中各状态对应的值减去基准状态对应的值得到的结果作为该分支度量各状态对应的值;
其中,所述基准状态为预先选择的任意一个状态。
3.根据权利要求2所述的分量译码方法,其特征在于:
所述计算子窗第二分支度量与所述计算子窗LLR信息并行进行。
4.根据权利要求3所述的分量译码方法,其特征在于;
在所述计算子窗第二分支度量的同时,并行计算后一个子窗的第一分支度量。
5.一种分量译码器,其特征在于,包括:
接口控制模块,接收分量译码控制信息、输入数据和各数据的先验信息;
第一分支度量计算模块,计算各子窗第一分支度量;
第二分支度量计算模块,计算各子窗第二分支度量;将在后子窗中最后一个第二分支度量发送到分支度量初始值存储模块更新在前子窗第二分支度量初始值;
对数似然比LLR计算模块,计算各子窗LLR信息;
分支度量存储模块,保存计算出的第一分支度量;
分支度量初始值存储模块,保存各子窗第二分支度量初始值;
其中,首次迭代时,所述各子窗第二分支度量初始值为预设值;
所述第一分支度量为递推计算顺序与分量译码顺序相同的分支度量;所述第二分支度量为递推计算顺序与分量译码顺序相反的分支度量;各子窗的前后顺序与分量译码顺序相同;所述在后子窗为除第一个子窗外的任意一个子窗,所述在前子窗为所述在后子窗的前一个子窗;
所述第二分支度量计算模块获取后一个译码数据块第一个子窗的最后一个第二分支度量作为译码数据块最后一个子窗的第二分支度量初始值;
所述分支度量初始值存储模块还用于保存译码数据块第一个子窗第一分支度量初始值;每次译码迭代完成后,用前一个译码数据块的最后一个第一分支度量更新所述分支度量初始值存储模块所保存的第一个子窗的第一分支度量初始值;
其中,各译码数据块的前后顺序与分量译码顺序相同。
6.根据权利要求5所述的分量译码器,其特征在于,包括:
输入数据存储模块,保存所述接口控制模块接收的输入数据;
所述第二分支度量计算模块从所述输入数据存储模块获取校验信息。
7.一种Turbo译码方法,其特征在于,包括:
权利要求1~4中任一项所述的分量译码方法;
每次译码迭代获得译码块本次译码迭代的判决结果后,判断译码正确性,如果译码正确,结束译码,将本次译码迭代的判决结果作为Turbo译码结果输出。
8.根据权利要求7所述的Turbo译码方法,其特征在于,所述判断译码正确性包括:
将译码块本次译码迭代的判决结果与上次译码迭代的判决结果进行比较;
如果本次译码迭代的判决结果与上次译码迭代的判决结果的相同率大于校验门限,判定译码正确;
其中,所述相同率为,
所述校验门限根据Turbo译码的性能要求设定。
9.一种Turbo译码装置,其特征在于,包括:
权利要求5~6中任一项所述的分量译码器;
迭代停止控制模块,判断译码块译码正确性,当译码正确时,控制所述Turbo译码装置停止译码迭代。
10.根据权利要求9所述的装置,其特征在于,所述迭代停止控制模块包括:
判决结果存储单元,存储译码迭代的判决结果;
比较单元,比较译码块各数据本次译码迭代的判决结果与上次译码迭代得到的该数据的判决结果,得到相同率;
停止控制单元,判断所述相同率是否大于预设的校验门限,如果是,控制Turbo译码装置停止译码迭代;否则,在迭代次数达到最大迭代次数时控制Turbo译码装置停止译码迭代;
其中,所述相同率为,
所述校验门限根据Turbo译码的性能要求设定。
CN201210290493.8A 2012-08-15 2012-08-15 分量译码方法、译码器及Turbo译码方法、装置 Active CN103595424B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210290493.8A CN103595424B (zh) 2012-08-15 2012-08-15 分量译码方法、译码器及Turbo译码方法、装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210290493.8A CN103595424B (zh) 2012-08-15 2012-08-15 分量译码方法、译码器及Turbo译码方法、装置

Publications (2)

Publication Number Publication Date
CN103595424A CN103595424A (zh) 2014-02-19
CN103595424B true CN103595424B (zh) 2017-02-08

Family

ID=50085428

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210290493.8A Active CN103595424B (zh) 2012-08-15 2012-08-15 分量译码方法、译码器及Turbo译码方法、装置

Country Status (1)

Country Link
CN (1) CN103595424B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111130564B (zh) * 2018-10-30 2021-10-26 华为技术有限公司 译码方法及装置
CN113258940B (zh) * 2021-06-15 2021-10-08 成都星联芯通科技有限公司 turbo译码方法、装置、译码设备及存储介质
CN113765622B (zh) * 2021-08-26 2024-01-23 希诺麦田技术(深圳)有限公司 分支度量初始化方法、装置、设备及存储介质
CN114553370B (zh) * 2022-01-19 2024-03-15 北京理工大学 译码方法、译码器、电子设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1301087A (zh) * 1999-12-23 2001-06-27 华为技术有限公司 用于特博码的解码方法及其解码器
CN1328386A (zh) * 2001-07-11 2001-12-26 信息产业部电信传输研究所 并行滑动窗最大后验概率算法及其高速Turbo码译码器
CN1490956A (zh) * 2002-10-18 2004-04-21 重庆重邮信科股份有限公司 一种用于Turbo码的译码方法
CN1728563A (zh) * 2004-07-28 2006-02-01 日本电气株式会社 Turbo译码装置和Turbo译码方法
CN101388674A (zh) * 2008-10-23 2009-03-18 华为技术有限公司 一种译码的方法、译码器以及Turbo码译码器
CN101951266A (zh) * 2010-08-24 2011-01-19 中国科学院计算技术研究所 Turbo并行译码的方法及译码器
CN102111162A (zh) * 2009-12-28 2011-06-29 重庆重邮信科通信技术有限公司 Turbo 分量译码方法、分量译码器、支路计算器及Turbo 译码器

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100744367B1 (ko) * 2004-05-24 2007-07-30 삼성전자주식회사 가변 윈도우가 적용된 터보 복호화 장치 및 방법
JP2008135813A (ja) * 2006-11-27 2008-06-12 Fujitsu Ltd ターボ復号器及びターボ復号方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1301087A (zh) * 1999-12-23 2001-06-27 华为技术有限公司 用于特博码的解码方法及其解码器
CN1328386A (zh) * 2001-07-11 2001-12-26 信息产业部电信传输研究所 并行滑动窗最大后验概率算法及其高速Turbo码译码器
CN1490956A (zh) * 2002-10-18 2004-04-21 重庆重邮信科股份有限公司 一种用于Turbo码的译码方法
CN1728563A (zh) * 2004-07-28 2006-02-01 日本电气株式会社 Turbo译码装置和Turbo译码方法
CN101388674A (zh) * 2008-10-23 2009-03-18 华为技术有限公司 一种译码的方法、译码器以及Turbo码译码器
CN102111162A (zh) * 2009-12-28 2011-06-29 重庆重邮信科通信技术有限公司 Turbo 分量译码方法、分量译码器、支路计算器及Turbo 译码器
CN101951266A (zh) * 2010-08-24 2011-01-19 中国科学院计算技术研究所 Turbo并行译码的方法及译码器

Also Published As

Publication number Publication date
CN103595424A (zh) 2014-02-19

Similar Documents

Publication Publication Date Title
KR101323444B1 (ko) 반복적 디코더 및 반복적 디코딩 방법
US20120106683A1 (en) Method and apparatus for parallel turbo decoding in long term evolution system (lte)
CN101026439B (zh) 一种提高Turbo码译码速率的译码方法
US8112698B2 (en) High speed turbo codes decoder for 3G using pipelined SISO Log-MAP decoders architecture
CN102111162B (zh) Turbo 分量译码方法、分量译码器、支路计算器及Turbo 译码器
WO2004062111A9 (en) High speed turbo codes decoder for 3g using pipelined siso log-map decoders architecture
RU2571597C2 (ru) Способ и устройство для декодирования турбокода
CN104767537B (zh) 一种用于OFDM电力线通信系统的Turbo译码方法
CN103595424B (zh) 分量译码方法、译码器及Turbo译码方法、装置
CN103354483B (zh) 通用的高性能Radix-4SOVA译码器及其译码方法
CN101373978B (zh) 一种Turbo码译码方法以及装置
US7886209B2 (en) Decoding device, decoding method, and receiving apparatus
JP2004343716A (ja) 畳み込み符号化信号の伝送形式をブラインド検出する方法および復号器
US8918695B2 (en) Methods and apparatus for early stop algorithm of turbo decoding
CN103916141B (zh) Turbo码译码方法及装置
CN113872615A (zh) 一种可变长度的Turbo码译码器装置
CN1129257C (zh) 串行回溯的最大似然解码方法及其使用该方法的解码器
US7333419B2 (en) Method to improve performance and reduce complexity of turbo decoder
CN101882933B (zh) 一种LTE中进行Turbo译码的方法及Turbo译码器
Zhu et al. An improved decoding of tail-biting convolutional codes for LTE systems
US9325351B2 (en) Adaptive multi-core, multi-direction turbo decoder and related decoding method thereof
CN103701475A (zh) 移动通信系统中8比特运算字长Turbo码的译码方法
US10116337B2 (en) Decoding method for convolutionally coded signal
JP2006217042A (ja) ターボ復号装置
KR100625242B1 (ko) 터보 복호화 장치 및 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20170420

Address after: Nanping Street 400060 Chongqing Nan'an District Nancheng Road No. 199 left attached to the floor 403

Patentee after: Keen (Chongqing) Microelectronics Technology Co.,Ltd.

Address before: 400065 Chongqing Nan'an District huangjuezhen pass Fort Park No. 1

Patentee before: CHONGQING CYIT COMMUNICATION TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20181101

Address after: 201203 Building 1, exhibition hall, 2288 lane, 2288 Chong, road, Zhangjiang hi tech park, Shanghai

Patentee after: SPREADTRUM COMMUNICATIONS (SHANGHAI) Co.,Ltd.

Address before: 400060 Nanping Road 199, Nanping Street, Nan'an District, Chongqing, 403

Patentee before: Keen (Chongqing) Microelectronics Technology Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20190321

Address after: 361006 Xiamen Free Trade Pilot Area, Xiamen, Fujian Province, Unit X, 8th Floor, Unit 05, Building D, Xiamen International Shipping Center, 97 Xiangyu Road, Xiamen Section

Patentee after: Xinxin Finance Leasing (Xiamen) Co.,Ltd.

Address before: 201203 Building 1, exhibition hall, 2288 lane, 2288 Chong, road, Zhangjiang hi tech park, Shanghai

Patentee before: SPREADTRUM COMMUNICATIONS (SHANGHAI) Co.,Ltd.

TR01 Transfer of patent right
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20140219

Assignee: SPREADTRUM COMMUNICATIONS (SHANGHAI) Co.,Ltd.

Assignor: Xinxin Finance Leasing (Xiamen) Co.,Ltd.

Contract record no.: X2021110000009

Denomination of invention: Component decoding method, decoder and turbo decoding method and device

Granted publication date: 20170208

License type: Exclusive License

Record date: 20210317

EE01 Entry into force of recordation of patent licensing contract
TR01 Transfer of patent right

Effective date of registration: 20221014

Address after: 201203 Shanghai city Zuchongzhi road Pudong New Area Zhangjiang hi tech park, Spreadtrum Center Building 1, Lane 2288

Patentee after: SPREADTRUM COMMUNICATIONS (SHANGHAI) Co.,Ltd.

Address before: 361006 Xiamen Free Trade Pilot Area, Xiamen, Fujian Province, Unit X, 8th Floor, Unit 05, Building D, Xiamen International Shipping Center, 97 Xiangyu Road, Xiamen Section

Patentee before: Xinxin Finance Leasing (Xiamen) Co.,Ltd.

TR01 Transfer of patent right