CN101951266A - Turbo并行译码的方法及译码器 - Google Patents

Turbo并行译码的方法及译码器 Download PDF

Info

Publication number
CN101951266A
CN101951266A CN 201010262146 CN201010262146A CN101951266A CN 101951266 A CN101951266 A CN 101951266A CN 201010262146 CN201010262146 CN 201010262146 CN 201010262146 A CN201010262146 A CN 201010262146A CN 101951266 A CN101951266 A CN 101951266A
Authority
CN
China
Prior art keywords
window
parallel
iteration
decoder
state metric
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 201010262146
Other languages
English (en)
Other versions
CN101951266B (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.)
Beijing Zhongke Polytron Technologies Inc
Original Assignee
Institute of Computing Technology of CAS
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 Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN 201010262146 priority Critical patent/CN101951266B/zh
Publication of CN101951266A publication Critical patent/CN101951266A/zh
Application granted granted Critical
Publication of CN101951266B publication Critical patent/CN101951266B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

本发明一种Turbo并行译码的方法及译码器,包括:步骤1,译码器将输入的译码序列分成W个相同长度的窗,依次在窗的前后添加比特;步骤2,译码器开始第一次迭代的前向状态度量计算,存储窗的原始结束位置的前向状态度量,作为第二次迭代时,下一个窗的前向状态度量的初始值;步骤3,译码器开始第一次迭代的后向状态度量计算,存储窗的原始起始位置的后向状态度量,作为第二次迭代时,前一个窗的后向状态度量的初始值;步骤4,译码器去掉每个窗添加的比特段,依并行窗算法进行后续迭代,当迭代次数达到预设的最大迭代次数时,迭代停止。本发明能够减少现有的并行窗算法的性能损失。

Description

Turbo并行译码的方法及译码器
技术领域
本发明涉及通信领域,尤其涉及Turbo并行译码的方法及译码器。
背景技术
Turbo码,又称并行级联卷积码(PCCC),是由C.Berrou等在ICC’93会议上提出的。它巧妙地将卷积码和随机交织器结合在一起,实现了随机编码。译码采用软输入软输出迭代译码来逼近最大似然译码。仿真结果表明,turbo码的译码性能接近shannon(仙农)限。Turbo码的良好纠错性能使其成为很多通信协议(WiMAX、LTE)采用的纠错码之一。
LTE(Long Term Evolution,长期演进)作为一种新的无线接入技术,在空中接口方面用频分多址(OFDM/FDMA)替代了3GPP长期使用的码分多址(CDMA),并大量采用多输入多输出(MIMO)技术和自适应技术提高数据率和系统性能。LTE的上行峰值速率为50Mbps,下行峰值速率为100Mbps(能力级3)/150Mbps(能力级4)。下行接收链路中,turbo译码计算复杂,多次迭代使得译码延时大,大的译码延时很难满足LTE高速数据速率的要求,因此减少译码延时是实现高速turbo译码器所要解决的问题之一。
如图1所示是turbo译码器的基本结构图,由两个软输入软输出(SISO)译码器串行级联而成,SISO1对输入的译码信息进行译码,产生的外信息作为SISO2的先验信息,SISO2译码产生的外信息又作为下次迭代SISO1的先验信息,如此迭代下去,直到外信息趋于稳定。对于SISO内部的译码如图2所示,首先前向顺序计算路径度量γ和前向状态度量α,当路径到达序列的尾部时,在反向顺序计算后向状态度量β和计算外信息Le。由此可以看出,这样串行计算译码延时较大,特别是当输入的译码序列较长时。
并行译码可以有效降低译码延时,并行译码方式主要有两种,滑动窗算法和并行窗算法。滑动窗算法将输入的译码序列(长度为N)分为W个窗(可以称为子码块),译码过程中,在同一时间段内,对不同窗的不同变量可以并行运算。而并行窗算法是不同窗的相同变量可以并行运算,并行窗算法的并行度高于滑动窗算法。并行窗算法在实现的过程中可能会产生内存接入冲突的问题,而LTE采用冲突避免交织器可以有效的避免内存接入冲突,保证了并行窗算法的可行性。下面详细介绍下当前并行窗算法的处理流程,如图3所示。
步骤301:将输入的译码序列(长度为N)分为W个窗,每个窗的长度为L=N/W。第一次迭代,每个窗并行执行前向状态度量α的计算,由于α是递归运算,当前时刻的值依赖于上一个时刻的α值,因此并行计算时每个窗(除窗1)的α初始值不知道,需要自己设定,以MAX-Log-MAP算法为例,通常设定的方法如式1所示:
对于窗1:
Figure BSA00000243151100021
(若α采用16位位宽)
对于其他窗:
ln α ( s ) = log ( 1 8 ) (式1)
步骤302:第一次迭代,α计算完后,每个窗开始并行执行后向状态度量β的计算和外信息Le,由于β也是递归运算,当前时刻的值也依赖于上一个时刻的β值,因此每个窗(除了窗W)的β初始值也需要自己设定,设定方法如式2所示:
对于窗W:
Figure BSA00000243151100023
(若β采用16位位宽)
对于其他窗:
ln β ( s ) = log ( 1 8 ) (式2)
步骤303:第二次迭代,每个窗并行计算α,除窗1的α初始值已知外,其他窗的α初始值采用上一次迭代中上一个窗的α最终值,如图3中α值传递所示。
步骤304:第二次迭代,每个窗并行计算β和外信息Le,除窗W外,其他窗的β初始值采用上一次迭代中后一个窗的β最终值,如图中β值传递所示。以后每次迭代的计算过程跟第二次迭代过程类似,这里就不再赘述。
由上面叙述的并行窗算法的处理过程我们可以看出,第一次迭代中无法得到α和β的初始值,因此需要自己设定,自己设定的不准确的α和β初始值会造成第一次迭代的外信息不准确,第一次迭代产生的不准确外信息作为第二次迭代的先验信息影响第二次迭代,这种累积误差会造成性能上的损失,也相应的增加了迭代次数。
发明内容
为解决上述问题,本发明提供了Turbo并行译码的方法及译码器,能够减少现有的并行窗算法的性能损失。
本发明公开了一种Turbo并行译码的方法,包括:
步骤1,译码器将输入的译码序列分成W个相同长度的窗,依次在窗2至窗W的最前边均添加Tα个比特,每个窗中添加的Tα个比特是上一个窗的最后的Tα个比特,依次在窗W-1至窗1的最后边均添加Tβ个比特,每个窗中添加的Tβ个比特是后一个窗的最前面的Tβ个比特,其中W、Tα、Tβ为预设值;
步骤2,译码器开始第一次迭代的前向状态度量计算,窗2至窗W的前Tα个比特依并行窗算法并行执行前向状态度量的计算,当路径到达窗的原始起始位置时,窗1开始同其余的各窗一起并行执行前向状态度量的计算,存储窗的原始结束位置的前向状态度量,作为第二次迭代时,下一个窗的前向状态度量的初始值;
步骤3,译码器开始第一次迭代的后向状态度量计算,窗1至窗W-1的前Tβ个比特依并行窗算法并行执行后向状态度量的计算,当路径到达窗的原始结束位置时,窗W开始同其余的各窗一起并行执行后向状态度量的计算,并且所有窗开始计算外信息,存储窗的原始起始位置的后向状态度量,作为第二次迭代时,前一个窗的后向状态度量的初始值;
步骤4,译码器去掉每个窗添加的比特段中的Tα个和Tβ个比特,依并行窗算法进行后续迭代,当迭代次数达到预设的最大迭代次数时,迭代停止。
前向状态度量采用16位位宽,
所述步骤2进一步为,
步骤21,译码器按如下公式初始化各个窗的前向状态度量计算起始位置的前向状态度量,
对于窗1
Figure BSA00000243151100041
对于其他窗,
ln α ( s ) = log ( 1 8 )
其中,α为前向状态度量,s为译码器所处的状态;
步骤22,译码器对窗2至窗W的前Tα个比特执行前向状态度量的计算,当路径到达窗的原始起始位置时,开始对窗1同其余的各窗一起并行执行前向状态度量的计算;
步骤23,译码器存储窗的原始结束位置的前向状态度量,作为第二次迭代时,下一个窗的前向状态度量的初始值。
后向状态度量均采用16位位宽,
所述步骤3进一步为,
步骤31,译码器按如下公式初始化各个窗的后向状态度量计算起始位置的后向状态度量,
对于窗W,
Figure BSA00000243151100043
对于其他窗,
ln β ( s ) = log ( 1 8 )
其中,β为前向状态度量,s为译码器所处的状态;
步骤32,译码器对窗1至窗W-1的前Tβ个比特并行执行后向状态度量的计算,当路径到达窗的原始结束位置时,开始对窗W同其余的各窗一起并行执行后向状态度量的计算;
步骤33,译码器存储窗的原始起始位置的后向状态度量,作为第二次迭代时,前一个窗的后向状态度量的初始值。
所述步骤4进一步为,
步骤41,译码器去掉每个窗添加的比特段中的Tα个和Tβ个比特,
步骤42,译码器按如下方法进行后续迭代直到迭代次数达到预设的最大迭代次数为止,
在每次迭代时,窗1的前向状态度量初始值如下式所示;
Figure BSA00000243151100051
s为译码器所处的状态,
其他窗的前向状态度量的初始值采用上次迭代时前一个窗的前向状态度量的最终值;按并行窗算法并行执行前向状态度量的计算;
窗W的后向状态度量初始值如下式所示,
Figure BSA00000243151100052
s为译码器所处的状态,
其他窗的后向状态度量的初始值采用上次迭代时后一个窗中的后向状态度量的最终值;按并行窗算法并行执行后向状态度量的计算和外信息的计算;
对于第二次迭代,上次迭代时前一个窗的前向状态度量的最终值为存储第一次迭代中前一个窗的原始结束位置的前向状态度量,上次迭代时后一个窗中的后向状态度量的最终值为存储第一次迭代中前一个窗的原始起始位置的后向状态度量。
所述步骤2中开始对窗1同其余的各窗一起并行执行前向状态度量的计算的计算长度为窗的原始长度;
所述步骤3中开始对窗W同其余的各窗一起并行执行后向状态度量的计算的计算长度为窗的原始长度。
本发明还公开了一种Turbo并行译码器,包括:
窗口划分模块,用于将输入的译码序列分成W个相同长度的窗,依次在窗2至窗W的最前边均添加Tα个比特,每个窗中添加的Tα个比特是上一个窗的最后的Tα个比特,依次在窗W-1至窗1窗的最后边均添加Tβ个比特,每个窗中添加的Tβ个比特是后一个窗的最前面的Tβ个比特,其中W、Tα、Tβ为预设值;
第一前向计算模块,用于开始第一次迭代的前向状态度量计算,窗2至窗W的前Tα个比特依并行窗算法并行执行前向状态度量的计算,当路径到达窗的原始起始位置时,窗1开始同其余的各窗一起并行执行前向状态度量的计算,存储窗的原始结束位置的前向状态度量,作为第二次迭代时,下一个窗的前向状态度量的初始值;
第一后向计算模块,用于开始第一次迭代的后向状态度量计算,窗1至窗W-1的前Tβ个比特依并行窗算法并行执行后向状态度量的计算,当路径到达窗的原始结束位置时,窗W开始同其余的各窗一起并行执行后向状态度量的计算,并且所有窗开始计算外信息,存储窗的原始起始位置的后向状态度量,作为第二次迭代时,前一个窗的后向状态度量的初始值;
后续迭代模块,用于去掉每个窗添加的比特段中的Tα个和Tβ个比特,依并行窗算法进行后续迭代,当迭代次数达到预设的最大迭代次数时,迭代停止。
前向状态度量采用16位位宽,
所述第一前向计算模块进一步用于,
按如下公式初始化各个窗的前向状态度量计算起始位置的前向状态度量,
对于窗1
Figure BSA00000243151100061
对于其他窗,
ln α ( s ) = log ( 1 8 )
其中,α为前向状态度量,s为译码器所处的状态;
对窗2至窗W的前Tα个比特执行前向状态度量的计算,当路径到达窗的原始起始位置时,开始对窗1同其余的各窗一起并行执行前向状态度量的计算;
存储窗的原始结束位置的前向状态度量,作为第二次迭代时,下一个窗的前向状态度量的初始值。
后向状态度量均采用16位位宽,
所述第一后向计算模块进一步用于
按如下公式初始化各个窗的后向状态度量计算起始位置的后向状态度量,
对于窗W,
Figure BSA00000243151100071
对于其他窗,
ln β ( s ) = log ( 1 8 )
其中,β为前向状态度量,s为译码器所处的状态;
窗1至窗W-1的前Tβ个比特并行执行后向状态度量的计算,当路径到达窗的原始结束位置时,开始对窗W同其余的各窗一起并行执行后向状态度量的计算;
存储窗的原始起始位置的后向状态度量,作为第二次迭代时,前一个窗的后向状态度量的初始值。
所述后续迭代模块进一步用于
去掉每个窗添加的比特段中的Tα个和Tβ个比特,
按如下方法进行后续迭代直到迭代次数达到预设的最大迭代次数为止,
在每次迭代时,窗1的前向状态度量初始值如下式所示;
s为译码器所处的状态;
其他窗的前向状态度量的初始值采用上次迭代时前一个窗的前向状态度量的最终值,按并行窗算法并行执行前向状态度量的计算;
窗W的后向状态度量初始值如下式所示,
Figure BSA00000243151100081
s为译码器所处的状态;
其他窗的后向状态度量的初始值采用上次迭代时后一个窗中的后向状态度量的最终值,按并行窗算法并行执行后向状态度量的计算和外信息的计算;
对于第二次迭代,上次迭代时前一个窗的前向状态度量的最终值为存储第一次迭代中前一个窗的原始结束位置的前向状态度量,上次迭代时后一个窗中的后向状态度量的最终值为存储第一次迭代中前一个窗的原始起始位置的后向状态度量。
所述开始对窗1同其余的各窗一起并行执行前向状态度量的计算的计算长度为窗的原始长度;
所述开始对窗W同其余的各窗一起并行执行后向状态度量的计算的计算长度为窗的原始长度。
本发明公开了一种Turbo并行译码的方法,包括:
步骤1,译码器对输入的译码序列的第一次迭代计算采用现有的滑动窗算法;
步骤2,从第二次迭代开始,译码器的迭代计算采用现有的并行窗算法,当迭代次数达到预设的最大迭代次数时,迭代停止。
所述步骤1进一步为,
步骤121,译码器将输入的译码序列分为W个相同长度的窗,在第一个时间段内,窗1的译码数据首先输入并存储起来;
步骤122,译码器对窗1的数据存储后,在第二个时间段里,对窗1执行后向递归计算,得出后向状态度量,后向状态度量的初始值设定如下式;同时将窗2的译码数据存储起来;
对于窗W:
ln β ( s ) = 0 s = 0 - 32678 otherwise
对于其他窗:
ln β ( s ) = log ( 1 8 )
s为译码器所处的状态;
步骤123,译码器在第三个时间段内,对窗1执行前向递归计算,得出前向状态度量;同时对窗2执行后向递归计算,得出后向状态度量;同时将窗3的译码数据存储起来;
步骤124,译码器在第四个时间段内,对窗1计算外信息;同时对窗2执行前向递归计算,得出前向状态度量,初始值采用窗1的末尾比特的前向状态度量的值;同时对窗3执行后向递归计算,得出后向状态度量;同时将窗4的译码数据存储起来;其他的窗依次对应窗1至4进行处理。
所述步骤2进一步为,
步骤131,译码器按如下方法进行后续迭代直到迭代次数达到预设的最大迭代次数为止,
在每次迭代时,窗1的前向状态度量初始值如下式所示;
Figure BSA00000243151100092
s为译码器所处的状态,
其他窗的前向状态度量的初始值采用上次迭代时前一个窗的前向状态度量的最终值;按并行窗算法并行执行前向状态度量的计算;
窗W的后向状态度量初始值如下式所示,
Figure BSA00000243151100093
s为译码器所处的状态,
其他窗的后向状态度量的初始值采用上次迭代时后一个窗中的后向状态度量的最终值;按并行窗算法并行执行后向状态度量的计算和外信息的计算。
本发明还公开了一种Turbo并行译码器,包括:
第一迭代模块,用于对输入的译码序列的第一次迭代计算采用现有的滑动窗算法;
第二迭代模块,从第二次迭代开始,译码器的迭代计算采用现有的并行窗算法,当迭代次数达到预设的最大迭代次数时,迭代停止。
所述第一迭代模块进一步用于
将输入的译码序列分为W个相同长度的窗,在第一个时间段内,窗1的译码数据首先输入并存储起来;
对窗1的数据存储后,在第二个时间段里,对窗1执行后向递归计算,得出后向状态度量,后向状态度量的初始值设定如下式;同时将窗2的译码数据存储起来;
对于窗W:
ln β ( s ) = 0 s = 0 - 32678 otherwise
对于其他窗:
ln β ( s ) = log ( 1 8 )
s为译码器所处的状态;
在第三个时间段内,对窗1执行前向递归计算,得出前向状态度量;同时对窗2执行后向递归计算,得出后向状态度量;同时将窗3的译码数据存储起来;
在第四个时间段内,对窗1计算外信息;同时对窗2执行前向递归计算,得出前向状态度量,初始值采用窗1的末尾比特的前向状态度量的值;同时对窗3执行后向递归计算,得出后向状态度量;同时将窗4的译码数据存储起来;其他的窗依次对应窗1至4进行处理。
所述第二迭代模块进一步用于
按如下方法进行后续迭代直到迭代次数达到预设的最大迭代次数为止,
在每次迭代时,窗1的前向状态度量初始值如下式所示;
s为译码器所处的状态,
其他窗的前向状态度量的初始值采用上次迭代时前一个窗的前向状态度量的最终值;按并行窗算法并行执行前向状态度量的计算;
窗W的后向状态度量初始值如下式所示,
Figure BSA00000243151100111
s为译码器所处的状态,
其他窗的后向状态度量的初始值采用上次迭代时后一个窗中的后向状态度量的最终值;按并行窗算法并行执行后向状态度量的计算和外信息的计算。
本发明的有益效果在于提高了第一次迭代每个窗状态,前向状态度量和后向状态度量,初始值的准确性,从而减少了现有并行窗算法的性能损失。
附图说明
图1是现有技术中Turbo译码器的结构图;
图2是现有技术中两个软输入软输出译码器内部的译码示意图;
图3是现有技术中并行窗算法的处理流程的示意图;
图4是本发明第一种Turbo并行译码的方法的流程图;
图5是本发明第一种Turbo并行译码的方法的一实施例的示意图;
图6是本发明第一种Turbo并行译码的方法同现有技术的并行窗算法的效果比较图;
图7是本发明第二种Turbo并行译码的方法的流程图;
图8是本发明第二种Turbo并行译码的方法的一实施例的示意图;
图9是本发明第二种Turbo并行译码的方法同现有技术的并行窗算法的效果比较图。
具体实施方式
下面结合附图对本发明的方法做进一步的说明。
一种Turbo并行译码的方法如图4所示。
步骤S100,译码器将输入的译码序列分成W个窗,依次在窗2至窗W的最前边均添加Tα个比特,每个窗中添加的Tα个比特是上一个窗的最后的Tα个比特,依次在窗W-1至窗1的最后边均添加Tβ个比特,每个窗中添加的Tβ个比特是后一个窗的最前面的Tβ个比特,其中W、Tα、Tβ为预设值。
步骤S200,译码器开始第一次迭代的前向状态度量计算,窗2至窗W的前Tα个比特依并行窗算法并行执行前向状态度量的计算,当路径到达窗的原始起始位置时,窗1开始同其余的各窗一起并行执行前向状态度量的计算,存储窗的原始结束位置的前向状态度量,作为第二次迭代时,下一个窗的前向状态度量的初始值。
没有添加比特前的窗的起始位置为原始起始位置,没有添加比特前的窗的结束位置为原始结束位置,没有添加比特前的窗的长度为原始长度。
步骤S300,译码器开始第一次迭代的后向状态度量计算,窗1至窗W-1的前Tβ个比特依并行窗算法并行执行后向状态度量的计算,当路径到达窗的原始结束位置时,窗W开始同其余的各窗一起并行执行后向状态度量的计算,并且所有窗开始计算外信息,存储窗的原始起始位置的后向状态度量,作为第二次迭代时,前一个窗的后向状态度量的初始值。
在计算后向状态度量时,可以一并计算外信息,其中窗1至窗W-1的前Tβ个比特不进行外信息的计算,当路径到达窗的原始结束位置时,所有窗才开始计算外信息。
步骤S400,译码器去掉每个窗添加的比特段中的Tα个和Tβ个比特,依并行窗算法进行后续迭代,当迭代次数达到预设的最大迭代次数时,迭代停止。
针对现有并行窗算法第一次迭代时α(前向状态度量)和β(后向状态度量)初始值信息的不准确造成性能上的损失,对第一次迭代进行改进。对第一次迭代中每个窗添加附加比特段,在前向递归计算α时首先计算额外添加的Tα段比特、后向递归计算β时首先计算额外添加的Tβ段比特,以此来换取α和β初始值信息的准确性,每个窗的相同变量之间是并行执行的。
本发明的一个实施例如图5所示,其中,并行窗算法具体为Max-Log-MAP算法,α和β均采用16位位宽。
步骤S501,将输入的译码序列,长度为N,分为W个窗。
每个窗的长度为L=N/W。W个窗的译码数据分别存在W个buff(缓存)里。
步骤S502,将窗2至窗W窗的最左边均添加Tα个比特,每个窗中添加的Tα个比特是上一个窗的最后Tα个比特。
例如,窗2最左边添加的Tα个比特对应的是窗1的最右边的Tα个比特,也就是图5中L-Tα+1~L比特。其中,Tα的大小取值为4。
步骤S503,将窗1至窗W-1窗的最右边均添加Tβ个比特,每个窗中添加的Tβ个比特是后一个窗的最前面Tβ个比特。
例如,窗1最右边添加的Tβ个比特对应的是窗2的最左边的Tβ个比特,也就是图5中L+1~L+Tβ比特。其中,Tβ取值为4。
步骤S504,每个窗并行前向计算α,如图5中前向箭头所示,代表每个窗中α的计算区域,其中窗2至窗W的前Tα个比特首先进行并行运算,当路径到达窗的原始起始位置时,例窗2到达位置L+1时、窗W到达位置(W-1)L+1,窗1开始跟其余的各窗一起并行计算,窗1开始跟其余的各窗一起并行计算的长度为L。
每个窗中箭头的起始位置需要初始化,窗2至窗W的初始化是在添加的Tα段的开头进行的,窗1的初始化是在原始的起始位置进行。
初始化方法如式3所示,α和β均采用16位位宽。
对于窗1,
ln α ( s ) = 0 s = 0 - 32678 otherwise
对于其他窗,
ln α ( s ) = log ( 1 8 )                           (式3)
s为译码器所处的状态。
除第一个窗外,其他窗在计算α时均要多算Tα个比特的长度,多算这截信息可以提高α初始值的准确性的理由如下。
并行窗方法中α的计算公式如式4:
ln α k ( s ) = ln Σ s ′ exp ( ln α k - 1 ( s ′ ) + ln γ k ( s ′ , s ) ) (式4)
由于不知道α初始值(处于各状态的概率)的信息,初始化信息往往采用均值法(处于每种状态的概率相等)。虽然α初始值信息不准确,但是状态转移概率γ(s′,s)值是准确的,因此经过若干比特的归约,α值就会趋于正常,即处于某种状态的概率值最大,其他状态的概率值较小。因此,当路径到达每个窗真正的起始位置时,α值(即窗的初始状态值)就是正确的。并且在Tα过程中产生的外信息不会参与下一次迭代。
步骤S505,后向计算β,如图5中反向箭头所示,代表每个窗中β的计算区域,其中窗1~窗W-1的前Tβ个比特首先开始并行计算Tβ个路径,当路径到达每个窗计算β的真正起始位置时,例,窗1到达位置L、窗2到达位置2L,窗W开始跟其余的各窗一起并行计算,计算的长度为L,每个窗中箭头的起始位置需要初始化,初始化方法如式5:
对于窗W:
ln β ( s ) = 0 s = 0 - 32678 otherwise
对于其他窗:
ln β ( s ) = log ( 1 8 ) (式5)
s为译码器所处的状态。
其中,多算Tβ段信息可以提高β初始值的准确性,原因和步骤404中α的原因一样,这里就不再赘述。
在计算β时,可以一并计算外信息,其中窗1至窗W-1的前Tβ个比特不进行外信息的计算,当路径到达窗的原始结束位置时,所有窗才开始计算外信息。
步骤S506,第二次迭代时,去掉每个窗添加的额外比特段Tα和Tβ,也就是恢复为步骤S501中的分窗方式。窗1的α初始值方法如式6所示,除了窗1外每个窗中α的初始值采用第一次迭代时前一个窗中α的最终值,该最终值为窗原始长度的末尾,如图5中α的传递所示。按并行窗算法并行执行前向状态度量的计算。窗W的β初始值方法如式7所示,除了窗W外的每个窗中β的初始值采用第一次迭代时后一个窗中β的最终值,最终值为窗原始长度的开始位置,如图5中β的传递所示。按并行窗算法并行执行后向状态度量的计算和外信息的计算。
ln α ( s ) = 0 s = 0 - 32678 otherwise (式6)
ln β ( s ) = 0 s = 0 - 32678 otherwise (式7)
s为译码器所处的状态。
步骤S507,第三次迭代时,分窗方式与第二次迭代时相同,α和β的传递如图5中箭头所示,之后每次迭代的处理方式均如此次迭代所示,当迭代次数达到预设的最大迭代次数时,迭代停止。
这种改进的并行窗方法通过在第一次迭代中多算附加比特段信息,来换取α和β初始值的准确性,减少现有并行窗算法的性能损失。并且多算附加比特段信息,通常每个窗只需增加几比特的附加信息,只会增加少许的硬件实现复杂度。
图6是本发明提供的第一种方法与现有并行窗算法的性能比较图。
仿真条件如下:
编码器结构采用LTE标准制定的Turbo码结构;
采用编码的数据源长度为256,1/3码率,QPSK调制;
译码采用Max-Log-MAP算法;
AWGN信道;
迭代次数为8。
图6中横坐标是信噪比SNR,纵坐标是误块率BLER,与之前的译码方法相比,本发明提供的第一种方法性能可以提升0.05dB。
一种Turbo并行译码器如下所述。
窗口划分模块,用于将输入的译码序列分成W个相同长度的窗,依次在窗2至窗W的最前边均添加Tα个比特,每个窗中添加的Tα个比特是上一个窗的最后的Tα个比特,依次在窗W-1至窗1的最后边均添加Tβ个比特,每个窗中添加的Tβ个比特是后一个窗的最前面的Tβ个比特,其中W、Tα、Tβ为预设值。
第一前向计算模块,用于开始第一次迭代的前向状态度量计算,窗2至窗W的前Tα个比特依并行窗算法并行执行前向状态度量的计算,当路径到达窗的原始起始位置时,窗1开始同其余的各窗一起并行执行前向状态度量的计算,存储窗的原始结束位置的前向状态度量,作为第二次迭代时,下一个窗的前向状态度量的初始值。
第一后向计算模块,用于开始第一次迭代的后向状态度量计算,窗1至窗W-1的前Tβ个比特依并行窗算法并行执行后向状态度量的计算,当路径到达窗的原始结束位置时,窗W开始同其余的各窗一起并行执行后向状态度量的计算,并且所有窗开始计算外信息,存储窗的原始起始位置的后向状态度量,作为第二次迭代时,前一个窗的后向状态度量的初始值。
后续迭代模块,用于去掉每个窗添加的比特段中的Tα个和Tβ个比特,依并行窗算法进行后续迭代,当迭代次数达到预设的最大迭代次数时,迭代停止。
在具体实施方式中,前向状态度量采用16位位宽。
所述第一前向计算模块进一步用于,
按如下公式初始化各个窗的前向状态度量计算起始位置的前向状态度量,
对于窗1
Figure BSA00000243151100161
对于其他窗,
ln α ( s ) = log ( 1 8 )
其中,α为前向状态度量,s为译码器所处的状态;
对窗2至窗W的前Tα个比特执行前向状态度量的计算,当路径到达窗的原始起始位置时,开始对窗1同其余的各窗一起并行执行前向状态度量的计算;
存储窗的原始结束位置的前向状态度量,作为第二次迭代时,下一个窗的前向状态度量的初始值。
在一具体实施方式中,后向状态度量均采用16位位宽。
所述第一后向计算模块进一步用于
按如下公式初始化各个窗的后向状态度量计算起始位置的后向状态度量,
对于窗W,
Figure BSA00000243151100171
对于其他窗,
ln β ( s ) = log ( 1 8 )
其中,β为前向状态度量,s为译码器所处的状态;
窗1至窗W-1的前Tβ个比特并行执行后向状态度量的计算,当路径到达窗的原始结束位置时,开始对窗W同其余的各窗一起并行执行后向状态度量的计算;
存储窗的原始起始位置的后向状态度量,作为第二次迭代时,前一个窗的后向状态度量的初始值。
在一具体实施方式中,所述后续迭代模块进一步用于
去掉每个窗添加的比特段中的Tα个和Tβ个比特,
按如下方法进行后续迭代直到迭代次数达到预设的最大迭代次数为止,
在每次迭代时,窗1的前向状态度量初始值如下式所示;
s为译码器所处的状态;
其他窗的前向状态度量的初始值采用上次迭代时前一个窗的前向状态度量的最终值,按并行窗算法并行执行前向状态度量的计算;
窗W的后向状态度量初始值如下式所示,
Figure BSA00000243151100174
s为译码器所处的状态;
其他窗的后向状态度量的初始值采用上次迭代时后一个窗中的后向状态度量的最终值,按并行窗算法并行执行后向状态度量的计算和外信息的计算;
对于第二次迭代,上次迭代时前一个窗的前向状态度量的最终值为存储第一次迭代中前一个窗的原始结束位置的前向状态度量,上次迭代时后一个窗中的后向状态度量的最终值为存储第一次迭代中前一个窗的原始起始位置的后向状态度量。
进一步的,所述开始对窗1同其余的各窗一起并行执行前向状态度量的计算的计算长度为窗的原始长度;所述开始对窗W同其余的各窗一起并行执行后向状态度量的计算的计算长度为窗的原始长度。
如图7所示,为本发明提供的第二种并行译码方法。
步骤S100’,译码器对输入的译码序列的第一次迭代计算采用现有的滑动窗算法;
步骤S200’,译码器从第二次迭代开始的迭代计算采用现有的并行窗算法,当迭代次数达到预设的最大迭代次数时,迭代停止。
由于采用滑动窗算法,各个窗的α其实是串行执行的,因此每个窗的α初始值是准确的,因此可以减少性能损失。
第一种译码方法相同的是均是对第一次迭代做改动,不同的是第二种并行译码方法在第一次迭代时采用滑动窗方法。
对第一次迭代如图8所示。
步骤S801,将输入的译码序列(长度为N)分为W个窗,每个窗的长度为L=N/W。在第一个时间段内,窗1的译码数据首先输入并存储起来。
步骤S802,窗1的数据存在buff后,在第二个时间段里,窗1后向递归计算β,β的初始值设定如式8,同时窗2的译码数据存入buff。这两个过程并行执行。
对于窗W:
ln β ( s ) = 0 s = 0 - 32678 otherwise
对于其他窗:
ln β ( s ) = log ( 1 8 ) (式8)
s为译码器所处的状态。
步骤S803,在第三个时间段内,窗1前向递归计算α,同时窗2后向递归计算β,窗3的译码数据存入buff。三个过程并行执行。
步骤S804,在第四个时间段内,窗1计算外信息Le,同时窗2前向递归计算α,初始值采用窗1的末尾比特的α值,窗3后向递归计算β,窗4的译码数据存入buff。不同窗的不同操作之间可以并行执行,其他的窗类似处理,例如窗5对应窗1,计算外信息Le;窗6对应窗2前向递归计算α;窗7对应窗3后向递归计算β;窗8对应窗4将译码数据存入buff;依次类推。
第一次迭代使用滑动窗方法,由于每个窗中前向递归α值其实是串行执行的,每个窗的α初始值使用的是前一个窗的α最终值,因此每个窗中的α初始值是准确的。这种方法所增加的硬件复杂度略高于第一种并行译码方法。
所述步骤S200’的具体实行过程如下所述。
按如下方法进行后续迭代直到迭代次数达到预设的最大迭代次数为止。
在每次迭代时,窗1的前向状态度量初始值如下式所示;
s为译码器所处的状态;
其他窗的前向状态度量的初始值采用上次迭代时前一个窗的前向状态度量的最终值,按并行窗算法并行执行前向状态度量的计算;
窗W的后向状态度量初始值如下式所示,
Figure BSA00000243151100192
s为译码器所处的状态;
其他窗的后向状态度量的初始值采用上次迭代时后一个窗中的后向状态度量的最终值,按并行窗算法并行执行后向状态度量的计算和外信息的计算。
下面通过仿真来方法二所实现的性能增益,仿真条件如下:
编码器结构采用LTE标准制定的Turbo码结构;
采用编码的数据源长度为256,1/3码率,QPSK调制;
译码采用Max-Log-MAP算法;
AWGN信道;
迭代次数为8。
图9是本发明提供的第二种方法与现有并行窗算法的性能比较图,与现有技术的译码方法相比,本发明提供的第二种方法性能可以提升0.06dB。
一种Turbo并行译码器如下所述。
第一迭代模块,用于对输入的译码序列的第一次迭代计算采用现有的滑动窗算法。
第二迭代模块,从第二次迭代开始,译码器的迭代计算采用现有的并行窗算法,当迭代次数达到预设的最大迭代次数时,迭代停止。
在一具体实施方式中,所述第一迭代模块进一步用于
将输入的译码序列分为W个相同长度的窗,在第一个时间段内,窗1的译码数据首先输入并存储起来;
对窗1的数据存储后,在第二个时间段里,对窗1执行后向递归计算,得出后向状态度量,后向状态度量的初始值设定如下式;同时将窗2的译码数据存储起来;
对于窗W:
ln β ( s ) = 0 s = 0 - 32678 otherwise
对于其他窗:
ln β ( s ) = log ( 1 8 )
s为译码器所处的状态;
在第三个时间段内,对窗1执行前向递归计算,得出前向状态度量;同时对窗2执行后向递归计算,得出后向状态度量;同时将窗3的译码数据存储起来;
在第四个时间段内,对窗1计算外信息;同时对窗2执行前向递归计算,得出前向状态度量,初始值采用窗1的末尾比特的前向状态度量的值;同时对窗3执行后向递归计算,得出后向状态度量;同时将窗4的译码数据存储起来;其他的窗依次对应窗1至4进行处理。
在一具体实施方式中,所述第二迭代模块进一步用于
按如下方法进行后续迭代直到迭代次数达到预设的最大迭代次数为止,在每次迭代时,窗1的前向状态度量初始值如下式所示;
s为译码器所处的状态;
其他窗的前向状态度量的初始值采用上次迭代时前一个窗的前向状态度量的最终值,按并行窗算法并行执行前向状态度量的计算;
窗W的后向状态度量初始值如下式所示,
Figure BSA00000243151100212
s为译码器所处的状态;
其他窗的后向状态度量的初始值采用上次迭代时后一个窗中的后向状态度量的最终值,按并行窗算法并行执行后向状态度量的计算和外信息的计算。
本领域的技术人员在不脱离权利要求书确定的本发明的精神和范围的条件下,还可以对以上内容进行各种各样的修改。因此本发明的范围并不仅限于以上的说明,而是由权利要求书的范围来确定的。

Claims (16)

1.一种Turbo并行译码的方法,其特征在于,包括:
步骤1,译码器将输入的译码序列分成W个相同长度的窗,依次在窗2至窗W的最前边均添加Tα个比特,每个窗中添加的Tα个比特是上一个窗的最后的Tα个比特,依次在窗W-1至窗1的最后边均添加Tβ个比特,每个窗中添加的Tβ个比特是后一个窗的最前面的Tβ个比特,其中W、Tα、Tβ为预设值;
步骤2,译码器开始第一次迭代的前向状态度量计算,窗2至窗W的前Tα个比特依并行窗算法并行执行前向状态度量的计算,当路径到达窗的原始起始位置时,窗1开始同其余的各窗一起并行执行前向状态度量的计算,存储窗的原始结束位置的前向状态度量,作为第二次迭代时,下一个窗的前向状态度量的初始值;
步骤3,译码器开始第一次迭代的后向状态度量计算,窗1至窗W-1的前Tβ个比特依并行窗算法并行执行后向状态度量的计算,当路径到达窗的原始结束位置时,窗W开始同其余的各窗一起并行执行后向状态度量的计算,并且所有窗开始计算外信息,存储窗的原始起始位置的后向状态度量,作为第二次迭代时,前一个窗的后向状态度量的初始值;
步骤4,译码器去掉每个窗添加的比特段中的Tα个和Tβ个比特,依并行窗算法进行后续迭代,当迭代次数达到预设的最大迭代次数时,迭代停止。
2.如权利要求1所述的Turbo并行译码的方法,其特征在于,
前向状态度量采用16位位宽,
所述步骤2进一步为,
步骤21,译码器按如下公式初始化各个窗的前向状态度量计算起始位置的前向状态度量,
对于窗1
对于其他窗,
ln α ( s ) = log ( 1 8 )
其中,α为前向状态度量,s为译码器所处的状态;
步骤22,译码器对窗2至窗W的前Tα个比特执行前向状态度量的计算,当路径到达窗的原始起始位置时,开始对窗1同其余的各窗一起并行执行前向状态度量的计算;
步骤23,译码器存储窗的原始结束位置的前向状态度量,作为第二次迭代时,下一个窗的前向状态度量的初始值。
3.如权利要求1所述的Turbo并行译码的方法,其特征在于,
后向状态度量均采用16位位宽,
所述步骤3进一步为,
步骤31,译码器按如下公式初始化各个窗的后向状态度量计算起始位置的后向状态度量,
对于窗W,
Figure FSA00000243151000021
对于其他窗,
ln β ( s ) = log ( 1 8 )
其中,β为前向状态度量,s为译码器所处的状态;
步骤32,译码器对窗1至窗W-1的前Tβ个比特并行执行后向状态度量的计算,当路径到达窗的原始结束位置时,开始对窗W同其余的各窗一起并行执行后向状态度量的计算;
步骤33,译码器存储窗的原始起始位置的后向状态度量,作为第二次迭代时,前一个窗的后向状态度量的初始值。
4.如权利要求1所述的Turbo并行译码的方法,其特征在于,
所述步骤4进一步为,
步骤41,译码器去掉每个窗添加的比特段中的Tα个和Tβ个比特,
步骤42,译码器按如下方法进行后续迭代直到迭代次数达到预设的最大迭代次数为止,
在每次迭代时,窗1的前向状态度量初始值如下式所示;
Figure FSA00000243151000031
s为译码器所处的状态,
其他窗的前向状态度量的初始值采用上次迭代时前一个窗的前向状态度量的最终值;按并行窗算法并行执行前向状态度量的计算;
窗W的后向状态度量初始值如下式所示,
Figure FSA00000243151000032
s为译码器所处的状态,
其他窗的后向状态度量的初始值采用上次迭代时后一个窗中的后向状态度量的最终值;按并行窗算法并行执行后向状态度量的计算和外信息的计算;
对于第二次迭代,上次迭代时前一个窗的前向状态度量的最终值为存储第一次迭代中前一个窗的原始结束位置的前向状态度量,上次迭代时后一个窗中的后向状态度量的最终值为存储第一次迭代中前一个窗的原始起始位置的后向状态度量。
5.如权利要求1所述的Turbo并行译码的方法,其特征在于,
所述步骤2中开始对窗1同其余的各窗一起并行执行前向状态度量的计算的计算长度为窗的原始长度;
所述步骤3中开始对窗W同其余的各窗一起并行执行后向状态度量的计算的计算长度为窗的原始长度。
6.一种Turbo并行译码器,其特征在于,包括:
窗口划分模块,用于将输入的译码序列分成W个相同长度的窗,依次在窗2至窗W的最前边均添加Tα个比特,每个窗中添加的Tα个比特是上一个窗的最后的Tα个比特,依次在窗W-1至窗1窗的最后边均添加Tβ个比特,每个窗中添加的Tβ个比特是后一个窗的最前面的Tβ个比特,其中W、Tα、Tβ为预设值;
第一前向计算模块,用于开始第一次迭代的前向状态度量计算,窗2至窗W的前Tα个比特依并行窗算法并行执行前向状态度量的计算,当路径到达窗的原始起始位置时,窗1开始同其余的各窗一起并行执行前向状态度量的计算,存储窗的原始结束位置的前向状态度量,作为第二次迭代时,下一个窗的前向状态度量的初始值;
第一后向计算模块,用于开始第一次迭代的后向状态度量计算,窗1至窗W-1的前Tβ个比特依并行窗算法并行执行后向状态度量的计算,当路径到达窗的原始结束位置时,窗W开始同其余的各窗一起并行执行后向状态度量的计算,并且所有窗开始计算外信息,存储窗的原始起始位置的后向状态度量,作为第二次迭代时,前一个窗的后向状态度量的初始值;
后续迭代模块,用于去掉每个窗添加的比特段中的Tα个和Tβ个比特,依并行窗算法进行后续迭代,当迭代次数达到预设的最大迭代次数时,迭代停止。
7.如权利要求6所述的Turbo并行译码器,其特征在于,
前向状态度量采用16位位宽,
所述第一前向计算模块进一步用于,
按如下公式初始化各个窗的前向状态度量计算起始位置的前向状态度量,
对于窗1
对于其他窗,
ln α ( s ) = log ( 1 8 )
其中,α为前向状态度量,s为译码器所处的状态;
对窗2至窗W的前Tα个比特执行前向状态度量的计算,当路径到达窗的原始起始位置时,开始对窗1同其余的各窗一起并行执行前向状态度量的计算;
存储窗的原始结束位置的前向状态度量,作为第二次迭代时,下一个窗的前向状态度量的初始值。
8.如权利要求6所述的Turbo并行译码器,其特征在于,
后向状态度量均采用16位位宽,
所述第一后向计算模块进一步用于
按如下公式初始化各个窗的后向状态度量计算起始位置的后向状态度量,
对于窗W,
Figure FSA00000243151000051
对于其他窗,
ln β ( s ) = log ( 1 8 )
其中,β为前向状态度量,s为译码器所处的状态;
窗1至窗W-1的前Tβ个比特并行执行后向状态度量的计算,当路径到达窗的原始结束位置时,开始对窗W同其余的各窗一起并行执行后向状态度量的计算;
存储窗的原始起始位置的后向状态度量,作为第二次迭代时,前一个窗的后向状态度量的初始值。
9.如权利要求6所述的Turbo并行译码器,其特征在于,
所述后续迭代模块进一步用于
去掉每个窗添加的比特段中的Tα个和Tβ个比特,
按如下方法进行后续迭代直到迭代次数达到预设的最大迭代次数为止,
在每次迭代时,窗1的前向状态度量初始值如下式所示;
Figure FSA00000243151000053
s为译码器所处的状态;
其他窗的前向状态度量的初始值采用上次迭代时前一个窗的前向状态度量的最终值,按并行窗算法并行执行前向状态度量的计算;
窗W的后向状态度量初始值如下式所示,
Figure FSA00000243151000054
s为译码器所处的状态;
其他窗的后向状态度量的初始值采用上次迭代时后一个窗中的后向状态度量的最终值,按并行窗算法并行执行后向状态度量的计算和外信息的计算;
对于第二次迭代,上次迭代时前一个窗的前向状态度量的最终值为存储第一次迭代中前一个窗的原始结束位置的前向状态度量,上次迭代时后一个窗中的后向状态度量的最终值为存储第一次迭代中前一个窗的原始起始位置的后向状态度量。
10.如权利要求6所述的Turbo并行译码器,其特征在于,
所述开始对窗1同其余的各窗一起并行执行前向状态度量的计算的计算长度为窗的原始长度;
所述开始对窗W同其余的各窗一起并行执行后向状态度量的计算的计算长度为窗的原始长度。
11.一种Turbo并行译码的方法,其特征在于,包括:
步骤1,译码器对输入的译码序列的第一次迭代计算采用现有的滑动窗算法;
步骤2,从第二次迭代开始,译码器的迭代计算采用现有的并行窗算法,当迭代次数达到预设的最大迭代次数时,迭代停止。
12.如权利要求11所述的Turbo并行译码的方法,其特征在于,
所述步骤1进一步为,
步骤121,译码器将输入的译码序列分为W个相同长度的窗,在第一个时间段内,窗1的译码数据首先输入并存储起来;
步骤122,译码器对窗1的数据存储后,在第二个时间段里,对窗1执行后向递归计算,得出后向状态度量,后向状态度量的初始值设定如下式;同时将窗2的译码数据存储起来;
对于窗W:
ln β ( s ) = 0 s = 0 - 32678 otherwise
对于其他窗:
ln β ( s ) = log ( 1 8 )
s为译码器所处的状态;
步骤123,译码器在第三个时间段内,对窗1执行前向递归计算,得出前向状态度量;同时对窗2执行后向递归计算,得出后向状态度量;同时将窗3的译码数据存储起来;
步骤124,译码器在第四个时间段内,对窗1计算外信息;同时对窗2执行前向递归计算,得出前向状态度量,初始值采用窗1的末尾比特的前向状态度量的值;同时对窗3执行后向递归计算,得出后向状态度量;同时将窗4的译码数据存储起来;其他的窗依次对应窗1至4进行处理。
13.如权利要求11所述的Turbo并行译码的方法,其特征在于,
所述步骤2进一步为,
步骤131,译码器按如下方法进行后续迭代直到迭代次数达到预设的最大迭代次数为止,
在每次迭代时,窗1的前向状态度量初始值如下式所示;
Figure FSA00000243151000071
s为译码器所处的状态,
其他窗的前向状态度量的初始值采用上次迭代时前一个窗的前向状态度量的最终值;按并行窗算法并行执行前向状态度量的计算;
窗W的后向状态度量初始值如下式所示,
s为译码器所处的状态,
其他窗的后向状态度量的初始值采用上次迭代时后一个窗中的后向状态度量的最终值;按并行窗算法并行执行后向状态度量的计算和外信息的计算。
14.一种Turbo并行译码器,其特征在于,包括:
第一迭代模块,用于对输入的译码序列的第一次迭代计算采用现有的滑动窗算法;
第二迭代模块,从第二次迭代开始,译码器的迭代计算采用现有的并行窗算法,当迭代次数达到预设的最大迭代次数时,迭代停止。
15.如权利要求14所述的Turbo并行译码器,其特征在于,
所述第一迭代模块进一步用于
将输入的译码序列分为W个相同长度的窗,在第一个时间段内,窗1的译码数据首先输入并存储起来;
对窗1的数据存储后,在第二个时间段里,对窗1执行后向递归计算,得出后向状态度量,后向状态度量的初始值设定如下式;同时将窗2的译码数据存储起来;
对于窗W:
ln β ( s ) = 0 s = 0 - 32678 otherwise
对于其他窗:
ln β ( s ) = log ( 1 8 )
s为译码器所处的状态;
在第三个时间段内,对窗1执行前向递归计算,得出前向状态度量;同时对窗2执行后向递归计算,得出后向状态度量;同时将窗3的译码数据存储起来;
在第四个时间段内,对窗1计算外信息;同时对窗2执行前向递归计算,得出前向状态度量,初始值采用窗1的末尾比特的前向状态度量的值;同时对窗3执行后向递归计算,得出后向状态度量;同时将窗4的译码数据存储起来;其他的窗依次对应窗1至4进行处理。
16.如权利要求14所述的Turbo并行译码器,其特征在于,
所述第二迭代模块进一步用于
按如下方法进行后续迭代直到迭代次数达到预设的最大迭代次数为止,
在每次迭代时,窗1的前向状态度量初始值如下式所示;
s为译码器所处的状态,
其他窗的前向状态度量的初始值采用上次迭代时前一个窗的前向状态度量的最终值;按并行窗算法并行执行前向状态度量的计算;
窗W的后向状态度量初始值如下式所示,
Figure FSA00000243151000091
s为译码器所处的状态,
其他窗的后向状态度量的初始值采用上次迭代时后一个窗中的后向状态度量的最终值;按并行窗算法并行执行后向状态度量的计算和外信息的计算。
CN 201010262146 2010-08-24 2010-08-24 Turbo并行译码的方法及译码器 Active CN101951266B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010262146 CN101951266B (zh) 2010-08-24 2010-08-24 Turbo并行译码的方法及译码器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010262146 CN101951266B (zh) 2010-08-24 2010-08-24 Turbo并行译码的方法及译码器

Publications (2)

Publication Number Publication Date
CN101951266A true CN101951266A (zh) 2011-01-19
CN101951266B CN101951266B (zh) 2013-04-24

Family

ID=43454638

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010262146 Active CN101951266B (zh) 2010-08-24 2010-08-24 Turbo并行译码的方法及译码器

Country Status (1)

Country Link
CN (1) CN101951266B (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102843154A (zh) * 2011-06-24 2012-12-26 中国科学院微电子研究所 Turbo码的初始态估计及子帧译码方法、装置
CN103220001A (zh) * 2012-01-20 2013-07-24 华为技术有限公司 与循环冗余校验级联的极性码的译码方法和译码装置
CN103490854A (zh) * 2013-09-03 2014-01-01 华为技术有限公司 一种训练窗添加方法及芯片
CN103595424A (zh) * 2012-08-15 2014-02-19 重庆重邮信科通信技术有限公司 分量译码方法、译码器及Turbo译码方法、装置
CN103688502A (zh) * 2013-07-01 2014-03-26 华为技术有限公司 实现Turbo均衡补偿的方法以及Turbo均衡器和系统
WO2014173133A1 (zh) * 2013-04-27 2014-10-30 华为技术有限公司 极性码的译码方法和译码装置
CN104283572A (zh) * 2013-07-03 2015-01-14 展讯通信(上海)有限公司 卷积码译码器输入信息的控制方法和装置
CN104767537A (zh) * 2015-03-19 2015-07-08 深圳市力合微电子股份有限公司 一种用于OFDM电力线通信系统的Turbo译码方法
CN104980172A (zh) * 2014-04-01 2015-10-14 中国科学院大学 基于Turbo码的联合信道安全编码的比特级译码方法
CN107453761A (zh) * 2016-05-31 2017-12-08 展讯通信(上海)有限公司 Turbo码译码方法及Turbo码译码器
CN112332868A (zh) * 2020-10-20 2021-02-05 陕西航天技术应用研究院有限公司 一种基于DVB-RCS2的turbo并行译码方法
CN113765622A (zh) * 2021-08-26 2021-12-07 希诺麦田技术(深圳)有限公司 分支度量初始化方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1246991A (zh) * 1997-11-10 2000-03-08 Ntt移动通信网株式会社 交织方法、交织装置以及存储交织模式产生程序的媒体
US6202178B1 (en) * 1995-08-21 2001-03-13 Alcatel N.V. Complementary methods for interleaving and deinterleaving data frames and corresponding forward error correcting devices in a transmitter and receiver

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6202178B1 (en) * 1995-08-21 2001-03-13 Alcatel N.V. Complementary methods for interleaving and deinterleaving data frames and corresponding forward error correcting devices in a transmitter and receiver
CN1246991A (zh) * 1997-11-10 2000-03-08 Ntt移动通信网株式会社 交织方法、交织装置以及存储交织模式产生程序的媒体

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102843154B (zh) * 2011-06-24 2016-04-13 中国科学院微电子研究所 Turbo码的初始态估计及子帧译码方法、装置
CN102843154A (zh) * 2011-06-24 2012-12-26 中国科学院微电子研究所 Turbo码的初始态估计及子帧译码方法、装置
USRE47936E1 (en) 2012-01-20 2020-04-07 Huawei Technologies Co., Ltd. Decoding method and decoding device for polar code cascaded with cyclic redundancy check
US9178532B2 (en) 2012-01-20 2015-11-03 Huawei Technologies Co., Ltd. Decoding method and decoding device for polar code cascaded with cyclic redundancy check
CN103220001A (zh) * 2012-01-20 2013-07-24 华为技术有限公司 与循环冗余校验级联的极性码的译码方法和译码装置
CN103220001B (zh) * 2012-01-20 2016-09-07 华为技术有限公司 与循环冗余校验级联的极性码的译码方法和译码装置
WO2013107140A1 (zh) * 2012-01-20 2013-07-25 华为技术有限公司 与循环冗余校验级联的极性码的译码方法和译码装置
CN103595424A (zh) * 2012-08-15 2014-02-19 重庆重邮信科通信技术有限公司 分量译码方法、译码器及Turbo译码方法、装置
CN103595424B (zh) * 2012-08-15 2017-02-08 重庆重邮信科通信技术有限公司 分量译码方法、译码器及Turbo译码方法、装置
WO2014173133A1 (zh) * 2013-04-27 2014-10-30 华为技术有限公司 极性码的译码方法和译码装置
CN103688502A (zh) * 2013-07-01 2014-03-26 华为技术有限公司 实现Turbo均衡补偿的方法以及Turbo均衡器和系统
US10574263B2 (en) 2013-07-01 2020-02-25 Huawei Technologies Co., Ltd. Method for implementing turbo equalization compensation, turbo equalizer and system
CN104283572A (zh) * 2013-07-03 2015-01-14 展讯通信(上海)有限公司 卷积码译码器输入信息的控制方法和装置
CN104283572B (zh) * 2013-07-03 2017-04-26 展讯通信(上海)有限公司 卷积码译码器输入信息的控制方法和装置
CN103490854A (zh) * 2013-09-03 2014-01-01 华为技术有限公司 一种训练窗添加方法及芯片
CN104980172A (zh) * 2014-04-01 2015-10-14 中国科学院大学 基于Turbo码的联合信道安全编码的比特级译码方法
CN104767537A (zh) * 2015-03-19 2015-07-08 深圳市力合微电子股份有限公司 一种用于OFDM电力线通信系统的Turbo译码方法
CN104767537B (zh) * 2015-03-19 2018-01-30 深圳市力合微电子股份有限公司 一种用于OFDM电力线通信系统的Turbo译码方法
CN107453761A (zh) * 2016-05-31 2017-12-08 展讯通信(上海)有限公司 Turbo码译码方法及Turbo码译码器
CN107453761B (zh) * 2016-05-31 2021-04-06 展讯通信(上海)有限公司 Turbo码译码方法及Turbo码译码器
CN112968709A (zh) * 2016-05-31 2021-06-15 展讯通信(上海)有限公司 Turbo码译码方法及Turbo码译码器
CN112968709B (zh) * 2016-05-31 2022-08-19 展讯通信(上海)有限公司 Turbo码译码方法及Turbo码译码器
CN112332868A (zh) * 2020-10-20 2021-02-05 陕西航天技术应用研究院有限公司 一种基于DVB-RCS2的turbo并行译码方法
CN112332868B (zh) * 2020-10-20 2024-05-28 陕西航天技术应用研究院有限公司 一种基于DVB-RCS2的turbo并行译码方法
CN113765622A (zh) * 2021-08-26 2021-12-07 希诺麦田技术(深圳)有限公司 分支度量初始化方法、装置、设备及存储介质
CN113765622B (zh) * 2021-08-26 2024-01-23 希诺麦田技术(深圳)有限公司 分支度量初始化方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN101951266B (zh) 2013-04-24

Similar Documents

Publication Publication Date Title
CN101951266B (zh) Turbo并行译码的方法及译码器
KR101323444B1 (ko) 반복적 디코더 및 반복적 디코딩 방법
EP2429085B1 (en) Method and apparatus for parallel turbo decoding in long term evolution system (lte)
US9214958B2 (en) Method and decoder for processing decoding
JP4629295B2 (ja) ターボ符号化された符号シーケンスの復号方法及び復号装置
US8719658B2 (en) Accessing memory during parallel turbo decoding
CN101388674B (zh) 一种译码的方法、译码器以及Turbo码译码器
JP4227481B2 (ja) 復号装置および復号方法
CN104579369B (zh) 一种Turbo迭代译码方法和译码装置
US8879671B2 (en) Worker and iteration control for parallel turbo decoder
CN105634508A (zh) 一种低复杂度近性能限的Turbo译码器的实现方法
CN102523076A (zh) 通用可配置的高速率Turbo码译码系统及其方法
CN104202271A (zh) 直接序列扩频通信中基于逐幸存路径处理的迭代均衡方法
CN101262232A (zh) 一种针对重叠编码复用的译码算法
CN103957016B (zh) 一种低存储容量的Turbo码译码器及其设计方法
CN101299613B (zh) ZigZag码译码方法及其装置
US20120051470A1 (en) System and Method for Iteration Scheduling in Joint Equalization and Turbo Decoding
US20120272125A1 (en) Stopping Methods for Iterative Signal Processing
EP2685656B1 (en) Method and apparatus for dynamic soft decoding
CN102801661B (zh) 一种上行接收方法及装置
CN100505600C (zh) 一种实现缩短Turbo译码器关键路径的方法
CN111211792B (zh) Turbo译码方法、装置及系统
CN103546170A (zh) 一种低功耗状态反馈式维特比译码器及译码方法
KR100776910B1 (ko) 비이진부호에서의 scr/sdr을 이용한 반복 복호 장치및 그 동작 방법
CN102523005B (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
EE01 Entry into force of recordation of patent licensing contract

Assignee: Beijing Zhongke Jingshang Technology Co., Ltd.

Assignor: Institute of Computing Technology, Chinese Academy of Sciences

Contract record no.: 2011110000143

Denomination of invention: Turbo parallel decoding method and decoder

License type: Exclusive License

Open date: 20110119

Record date: 20110823

C14 Grant of patent or utility model
GR01 Patent grant
EC01 Cancellation of recordation of patent licensing contract
EC01 Cancellation of recordation of patent licensing contract

Assignee: Beijing Zhongke Polytron Technologies Inc

Assignor: Institute of Computing Technology, Chinese Academy of Sciences

Contract record no.: 2011110000143

Date of cancellation: 20181212

EM01 Change of recordation of patent licensing contract
EM01 Change of recordation of patent licensing contract

Change date: 20181212

Contract record no.: 2011110000143

Assignee after: Beijing Zhongke Polytron Technologies Inc

Assignee before: Beijing Zhongke Jingshang Technology Co., Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20190314

Address after: 100190 No. 10 South Road, Zhongguancun Academy of Sciences, Haidian District, Beijing

Patentee after: Beijing Zhongke Polytron Technologies Inc

Address before: 100080 No. 6 South Road, Zhongguancun Academy of Sciences, Beijing, Haidian District

Patentee before: Institute of Computing Technology, Chinese Academy of Sciences