TURBO码译码停止迭代准则判断系统、方法及装置.pdf

上传人:小** 文档编号:1680609 上传时间:2018-07-04 格式:PDF 页数:13 大小:835.64KB
返回 下载 相关 举报
摘要
申请专利号:

CN201510167165.2

申请日:

2015.04.09

公开号:

CN104796162A

公开日:

2015.07.22

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):H03M 13/29申请日:20150409|||公开

IPC分类号:

H03M13/29

主分类号:

H03M13/29

申请人:

深圳市三朋电子有限公司

发明人:

王硕; 张朝阳; 阮成佳; 钟祯发; 王小莉; 凌广香; 王景洲

地址:

518057广东省深圳市南山区科技园科技南十路深圳技术创新大楼D座二层D207-208房

优先权:

专利代理机构:

北京联瑞联丰知识产权代理事务所(普通合伙)11411

代理人:

曾少丽

PDF下载: PDF下载
内容摘要

本发明提出了一种Turbo码译码停止迭代准则判断系统,包括Turbo码编码端和Turbo码解码端,所述Turbo码解码端包括Turbo码译码器,所述Turbo码编码端用于对用户数据添加CRC校正数据,并对添加CRC校正数据的用户数据进行Turbo码编码后输出,所述Turbo码解码端接收所述Turbo码编码端输出的Turbo码编码数据,并对其顺序分段后送入所述Turbo码译码器进行译码。本发明还涉及一种Turbo码译码停止迭代准则判断方法及装置。实施本发明的Turbo码译码停止迭代准则判断系统、方法及装置,具有以下有益效果:效率较高、能增加Turbo码译码器的吞吐率。

权利要求书

权利要求书1.  一种Turbo码译码停止迭代准则判断系统,其特征在于,包括Turbo码编码端和Turbo码解码端,所述Turbo码解码端包括Turbo码译码器,所述Turbo码编码端用于对用户数据添加CRC校正数据,并对添加CRC校正数据的用户数据进行Turbo码编码后输出,所述Turbo码解码端接收所述Turbo码编码端输出的Turbo码编码数据,并对其顺序分段后送入所述Turbo码译码器进行译码。2.  根据权利要求1所述的Turbo码译码停止迭代准则判断系统,其特征在于,所述Turbo码译码器包括多个Turbo码分段并行译码器,所述Turbo码解码端还包括多个串行CRC计算模块、多个单周期乘法器、多个并行CRC计算模块和一个异或模块,每一个所述串行CRC计算模块的输入端分别与对应的Turbo码分段并行译码器的输出端连接,每一个所述单周期乘法器的一输入端分别与对应的串行CRC计算模块的输出端连接,每一个所述并行CRC计算模块的输入端分别与对应的单周期乘法器的输出端连接,每一个所述并行CRC计算模块的输出端与所述异或模块的输入端连接,所述异或模块的输出端与所述Turbo码译码器连接,所述异或模块的输入端还与其中一个串行CRC计算模块的输出端连接。3.  根据权利要求2所述的Turbo码译码停止迭代准则判断系统,其特征在于,所述串行CRC计算模块的数量与所述Turbo码分段并行译码器的数量相等,所述单周期乘法器的数量与所述并行CRC计算模块的数量相等,所述单周期乘法器的数量比所述串行CRC计算模块的数量少一个。4.  一种Turbo码译码停止迭代准则判断方法,其特征在于,包括如下步骤:A)在用户数据的尾端添加CRC校验数据,并对添加了所述CRC校验数据的用户数据进行Turbo码编码,将Turbo码编码的数据作为待译码数据输出;B)将所述待译码数据顺序分成M个分段,送入Turbo码译码器,每个Turbo码分段并行译码器对应一个分段的待译码数据;其中,M为大于1的整数;C)根据使用的CRC生成多项式以及每个分段的长度,依次计算、装载M-1个函数;D)M个串行计算模块分别对其对应的硬判决输出数据进行CRC运算,并分别输出对应的串行CRC值;E)将其中M-1个串行CRC值分别与对应的函数在相应的单周期乘法器中进行相乘得到M-1个乘积CRC值;F)将所述M-1个乘积CRC值分别送入对应的并行CRC计算模块内进行计算,并分别输出对应的M-1个并行CRC值;G)将未在所述单周期乘法器中参与运算的串行CRC值与所述M-1个并行CRC值进行异或运算得到所述待译码数据的CRC值;H)判断所述待译码数据的CRC值是否为0,如是,执行步骤J);否则,执行步骤I);I)判断所述待译码数据的CRC值是否达到最大译码迭代次数,如是,执行步骤J);否则,控制Turbo码译码器进行下一轮译码迭代;J)控制Turbo码译码器停止译码迭代,完成译码过程。5.  根据权利要求4所述的Turbo码译码停止迭代准则判断方法,其特征在于,所述步骤A)进一步包括:A1)对用户数据进行CRC计算,并将CRC计算结果添加在所述用户数据的尾端;A2)对添加了所述CRC计算结果的用户数据进行Turbo码编码,并将Turbo码编码的数据作为待译码数据输出。6.  一种实现如权利要求4所述的Turbo码译码停止迭代准则判断方法的装置,其特征在于,包括:数据添加编码单元:用于在用户数据的尾端添加CRC校验数据,并对添加了所述CRC校验数据的用户数据进行Turbo码编码,将Turbo码编码的数据作为待译码数据输出;分段单元:用于将所述待译码数据顺序分成M个分段,送入Turbo码译码器,每个Turbo码分段并行译码器对应一个分段的待译码数据;其中,M为大于1的整数;计算装载单元:用于根据使用的CRC生成多项式以及每个分段的长度,依次计算、装载M-1个函数;判决输出运算单元:用于使M个串行计算模块分别对其对应的硬判决输出数据进行CRC运算,并分别输出对应的串行CRC值;相乘单元:用于将其中M-1个串行CRC值分别与对应的函数在相应的单周期乘法器中进行相乘得到M-1个乘积CRC值;并行运算单元:用于将所述M-1个乘积CRC值分别送入对应的并行CRC计算模块内进行计算,并分别输出对应的M-1个并行CRC值;异或运算单元:用于将未在所述单周期乘法器中参与运算的串行CRC值与所述M-1个并行CRC值进行异或运算得到所述待译码数据的CRC值;CRC值判断单元:用于判断所述待译码数据的CRC值是否为0;迭代次数判断单元:用于判断所述待译码数据的CRC值是否达到最大译码迭代次数,如是,控制Turbo码译码器停止译码迭代,完成译码过程;否则,控制Turbo码译码器进行下一轮译码迭代;译码完成单元:用于控制Turbo码译码器停止译码迭代,完成译码过程。7.  根据权利要求6所述的装置,其特征在于,所述数据添加编码单元进一步包括:CRC计算添加模块:用于对用户数据进行CRC计算,并将CRC计算结果添加在所述用户数据的尾端;编码模块:用于对添加了所述CRC计算结果的用户数据进行Turbo码编码,并将Turbo码编码的数据作为待译码数据输出。

说明书

说明书Turbo码译码停止迭代准则判断系统、方法及装置
技术领域
本发明涉及译码领域,特别涉及一种Turbo码译码停止迭代准则判断系统、方法及装置。
背景技术
Turbo码被广泛应用于现代无线通讯系统中,例如LTE系统等,具有接近香农限的优异纠错能力。在Turbo码译码过程中,对于译码迭代停止准则的判断有两类方法:一类是基于译码器输出似然比的软判决准则,另一类是基于译码器输出判决符号的硬判决准则。这两类方法均存在实际译码纠错完成,但未达到停止判决准则、需要继续额外迭代译码过程,或者达到停止判决准则、但并未实际译码纠错完成的情况。这就造成了Turbo码译码器性能的降低,其效率较低。
为适应现代宽带通讯系统的高数据速率,实际使用的Turbo码译码器均分段并行计算,以增加Turbo码译码器的吞吐率。在一轮迭代译码完成后,Turbo码译码迭代停止准则的计算,还需要与一轮迭代译码近似、甚至超过一轮迭代译码的额外计算时钟周期,这样就使一轮译码的总时钟周期增大,降低了Turbo码译码器的吞吐率。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述效率较低、Turbo码译码器的吞吐率降低的缺陷,提供一种效率较高、能增加Turbo码译码器的吞吐率的Turbo码译码停止迭代准则判断系统、方法及装置。
本发明解决其技术问题所采用的技术方案是:构造一种Turbo码译码停止迭代准则判断系统,包括Turbo码编码端和Turbo码解码端,所述Turbo码解码端包括Turbo码译码器,所述Turbo码编码端用于对用户数据添加CRC校正数据,并对添加CRC校正数据的用户数据进行Turbo码编码后输出,所述Turbo码解 码端接收所述Turbo码编码端输出的Turbo码编码数据,并对其顺序分段后送入所述Turbo码译码器进行译码。
在本发明所述的Turbo码译码停止迭代准则判断系统中,所述Turbo码译码器包括多个Turbo码分段并行译码器,所述Turbo码解码端还包括多个串行CRC计算模块、多个单周期乘法器、多个并行CRC计算模块和一个异或模块,每一个所述串行CRC计算模块的输入端分别与对应的Turbo码分段并行译码器的输出端连接,每一个所述单周期乘法器的一输入端分别与对应的串行CRC计算模块的输出端连接,每一个所述并行CRC计算模块的输入端分别与对应的单周期乘法器的输出端连接,每一个所述并行CRC计算模块的输出端与所述异或模块的输入端连接,所述异或模块的输出端与所述Turbo码译码器连接,所述异或模块的输入端还与其中一个串行CRC计算模块的输出端连接。
在本发明所述的Turbo码译码停止迭代准则判断系统中,所述串行CRC计算模块的数量与所述Turbo码分段并行译码器的数量相等,所述单周期乘法器的数量与所述并行CRC计算模块的数量相等,所述单周期乘法器的数量比所述串行CRC计算模块的数量少一个。
本发明还涉及一种Turbo码译码停止迭代准则判断方法,包括如下步骤:
A)在用户数据的尾端添加CRC校验数据,并对添加了所述CRC校验数据的用户数据进行Turbo码编码,将Turbo码编码的数据作为待译码数据输出;
B)将所述待译码数据顺序分成M个分段,送入Turbo码译码器,每个Turbo码分段并行译码器对应一个分段的待译码数据;其中,M为大于1的整数;
C)根据使用的CRC生成多项式以及每个分段的长度,依次计算、装载M-1个函数;
D)M个串行计算模块分别对其对应的硬判决输出数据进行CRC运算,并分别输出对应的串行CRC值;
E)将其中M-1个串行CRC值分别与对应的函数在相应的单周期乘法器中进行相乘得到M-1个乘积CRC值;
F)将所述M-1个乘积CRC值分别送入对应的并行CRC计算模块内进行计算,并分别输出对应的M-1个并行CRC值;
G)将未在所述单周期乘法器中参与运算的串行CRC值与所述M-1个并行CRC值进行异或运算得到所述待译码数据的CRC值;
H)判断所述待译码数据的CRC值是否为0,如是,执行步骤J);否则,执行步骤I);
I)判断所述待译码数据的CRC值是否达到最大译码迭代次数,如是,执行步骤J);否则,控制Turbo码译码器进行下一轮译码迭代;
J)控制Turbo码译码器停止译码迭代,完成译码过程。
在本发明所述的Turbo码译码停止迭代准则判断方法中,所述步骤A)进一步包括:
A1)对用户数据进行CRC计算,并将CRC计算结果添加在所述用户数据的尾端;
A2)对添加了所述CRC计算结果的用户数据进行Turbo码编码,并将Turbo码编码的数据作为待译码数据输出。
本发明还涉及一种实现上述Turbo码译码停止迭代准则判断方法的装置,包括:
数据添加编码单元:用于在用户数据的尾端添加CRC校验数据,并对添加了所述CRC校验数据的用户数据进行Turbo码编码,将Turbo码编码的数据作为待译码数据输出;
分段单元:用于对所述待译码数据进行顺序分成M个分段,送入Turbo码译码器,每个Turbo码分段并行译码器对应一个分段的待译码数据;其中,M为大于1的整数;
计算装载单元:用于根据使用的CRC生成多项式以及每个分段的长度,依次计算、装载M-1个函数;
判决输出运算单元:用于使M个串行计算模块分别对其对应的硬判决输出数据进行CRC运算,并分别输出对应的串行CRC值;
相乘单元:用于将其中M-1个串行CRC值分别与对应的函数在相应的单周期乘法器中进行相乘得到M-1个乘积CRC值;
并行运算单元:用于将所述M-1个乘积CRC值分别送入对应的并行CRC计算模块内进行计算,并分别输出对应的M-1个并行CRC值;
异或运算单元:用于将未在所述单周期乘法器中参与运算的串行CRC值与所述M-1个并行CRC值进行异或运算得到所述待译码数据的CRC值;
CRC值判断单元:用于判断所述待译码数据的CRC值是否为0;
迭代次数判断单元:用于判断所述待译码数据的CRC值是否达到最大译码迭代次数,如是,控制Turbo码译码器停止译码迭代,完成译码过程;否则,控制Turbo码译码器进行下一轮译码迭代;
译码完成单元:用于控制Turbo码译码器停止译码迭代,完成译码过程。
在本发明所述的装置中,所述数据添加编码单元进一步包括:
CRC计算添加模块:用于对用户数据进行CRC计算,并将CRC计算结果添加在所述用户数据的尾端;
编码模块:用于对添加了所述CRC计算结果的用户数据进行Turbo码编码,并将Turbo码编码的数据作为待译码数据输出。
实施本发明的Turbo码译码停止迭代准则判断系统、方法及装置,具有以下有益效果:由于使用Turbo码编码端和Turbo码解码端,Turbo码解码端包括Turbo码译码器,Turbo码编码端用于对用户数据添加CRC校正数据,并对添加CRC校正数据的用户数据进行Turbo码编码后输出,Turbo码解码端接收Turbo码编码端输出的Turbo码编码数据,并对其顺序分段后送入Turbo码译码器进行译码,通过对CRC进行改造,形成分段并行CRC算法,可以和Turbo码分段并行计算方式同时进行运算,在一轮迭代完成后,仅需要与一轮迭代译码相比可忽略不计的额外计算时钟周期,CRC校验结果也同时计算完成,不会降低Turbo码译码器的吞吐率,所以其效率较高、能增加Turbo码译码器的吞吐率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述 中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明Turbo码译码停止迭代准则判断系统、方法及装置一个实施例中Turbo码解码端的结构示意图;
图2为所述实施例中方法的流程图;
图3为所述实施例中在用户数据的尾端添加CRC校验数据,并对添加了CRC校验数据的用户数据进行Turbo码编码,将Turbo码编码的数据作为待译码数据输出的具体流程图;
图4为所述实施例中装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明Turbo码译码停止迭代准则判断系统、方法及装置实施例中,该Turbo码译码停止迭代准则判断系统包括Turbo码编码端和Turbo码解码端,图1为实施例中Turbo码解码端的结构示意图。图1中,Turbo码解码端包括Turbo码译码器01,Turbo码编码端用于对用户数据添加CRC校正数据,并对添加CRC校正数据的用户数据进行Turbo码编码后输出,Turbo码解码端接收Turbo码编码端输出的Turbo码编码数据,并对其顺序分段后送入Turbo码译码器进行译码。通过对CRC进行改造,形成分段并行CRC算法,可以和Turbo码分段并行计算方式同时进行运算,在一轮迭代完成后,仅需要与一轮迭代译码相比可忽略不计的额外计算时钟周期,CRC校验结果也同时计算完成,不会降低Turbo码译码器的吞吐率,所以其效率较高、能增加Turbo码译码器的吞吐率。
本实施例中,Turbo码译码器01包括多个Turbo码分段并行译码器,Turbo码解码端还包括多个串行CRC计算模块、多个单周期乘法器、多个并行CRC计算模块和一个异或模块02,每一个串行CRC计算模块的输入端分别与对应的 Turbo码分段并行译码器的输出端连接,每一个单周期乘法器的一输入端分别与对应的串行CRC计算模块的输出端连接,每一个并行CRC计算模块的输入端分别与对应的单周期乘法器的输出端连接,每一个并行CRC计算模块的输出端与异或模块的输入端连接,异或模块的输出端与Turbo码译码器连接,异或模块02的输入端还与其中一个串行CRC计算模块的输出端连接。值得一提的是,串行CRC计算模块的数量与Turbo码分段并行译码器的数量相等,单周期乘法器的数量与并行CRC计算模块的数量相等,单周期乘法器的数量比串行CRC计算模块的数量少一个。
本实施例中,具体的,Turbo码分段并行译码器的个数为M个,串行CRC计算模块的个数为M个,单周期乘法器的个数为M-1个,并行CRC计算模块的个数为M-1个,为了方便描述,将M个Turbo码分段并行译码器分别称为第一Turbo码分段并行译码器011、第二Turbo码分段并行译码器012、…、第MTurbo码分段并行译码器01M,将M个串行CRC计算模块分别称为第一串行CRC计算模块S-CRC_1、第二串行CRC计算模块S-CRC_2、…、第M串行CRC计算模块S-CRC_M,将M-1个单周期乘法器分别称为第二单周期乘法器MUL_2、…、第M单周期乘法器MUL_M,将M-1个并行CRC计算模块分别称为第二并行CRC计算模块P-CRC_2、…、第M并行CRC计算模块P-CRC_M。本发明的Turbo码译码停止迭代准则判断系统结构及实现简单,仅需要串行CRC计算模块、并行CRC计算模块、单周期乘法器和异或模块02即可构建系统。
本实施例还涉及一种Turbo码译码停止迭代准则判断方法,其流程图如图2所示。图2中,该Turbo码译码停止迭代准则判断方法包括如下步骤:
步骤S001在用户数据的尾端添加CRC校验数据,并对添加了CRC校验数据的用户数据进行Turbo码编码,将Turbo码编码的数据作为待译码数据输出:本步骤中,在用户数据的尾端添加CRC校验数据,并对添加了CRC校验数据的用户数据进行Turbo码编码,将Turbo码编码的数据作为待译码数据输出,其具体过程稍后会进行详细描述。
步骤S002将待译码数据顺序分成M个分段,送入Turbo码译码器,每个Turbo码分段并行译码器对应一个分段的待译码数据:本步骤中,将待译码数据 顺序分成M个分段,送入Turbo码译码器进行译码,Turbo码译码器内部包含M个分段并行译码器,每个Turbo码分段并行译码器对应一个分段的待译码数据,M个译码器并行译码。值得一提的还,本实施例中,M为大于1的整数。
步骤S003根据使用的CRC生成多项式以及每个分段的长度,依次计算、装载M-1个函数:本步骤中,根据使用的CRC生成多项式以及每个分段的长度,依次计算、装载M-1个函数,具体的,对用户数据添加CRC校验数据的时候,CRC计算生成的多项式设为G,上述M个分段,每个分段长度设为L1、L2、…、LM,则有函数F对G和L1、L2、…、LM,可确定函数数值F(G,L2)、…、F(G,LM)。
步骤S004M个串行计算模块分别对其对应的硬判决输出数据进行CRC运算,并分别输出对应的串行CRC值:本步骤中,M个串行计算模块分别对其对应的硬判决输出数据进行CRC运算,并分别输出对应的串行CRC值,具体的,M个串行CRC计算模块分别对硬判决输出数据d1i、d2i、…、dMi进行CRC计算,分别输出对应的串行CRC值crc1、s_crc2、…、s_crcM。值得一提的是,d1i、d2i、…、dMi分别是每个Turbo码分段并行译码器的硬判决输出数据,即分别为L1、L2、…、LM长度的0/1位序列。
步骤S005将其中M-1个串行CRC值分别与对应的函数在相应的单周期乘法器中进行相乘得到M-1个乘积CRC值:本步骤中,将其中M-1个串行CRC值分别与对应的函数在相应的单周期乘法器中进行相乘得到M-1个乘积CRC值,具体的,将s_crc2与F(G,L2)在第二单周期乘法器MUL_2中相乘,输出第二乘积CRC值m_crc2、…,以此类推,将s_crcM与F(G,LM)在第M单周期乘法器MUL_M中相乘,输出第M乘积CRC值m_crcM。换句话说,上述m_crc2、…、s_crcM分别通过公式m_crc2=s_crc2×F(G,L2)、…、m_crcM=s_crcM×F(G,LM)得到。
步骤S006将M-1个乘积CRC值分别送入对应的并行CRC计算模块内进行计算,并分别输出对应的M-1个并行CRC值:本步骤中,将M-1个乘积CRC值分别送入对应的并行CRC计算模块内进行计算,并分别输出对应的M-1个并行CRC值,具体的,将m_crc2、…、m_crcM分别送入对应的并行CRC计算模 块内进行CRC计算,并分别输出对应的M-1个并行CRC值,这M-1个并行CRC值分别称为第二并行CRC值p_crc2、…、第M并行CRC值p_crcM。
步骤S007将未在单周期乘法器中参与运算的串行CRC值与M-1个并行CRC值进行异或运算得到待译码数据的CRC值:本步骤中,将未在单周期乘法器中参与运算的串行CRC值与M-1个并行CRC值进行异或运算得到待译码数据的CRC值,也就是将crc1、p_crc2、…、p_crcM进行异或运算得到待译码数据的CRC值crcfinal,也就是crcfinal=crc1⊕p_crc2⊕…⊕p_crcM。
步骤S008判断待译码数据的CRC值是否为0:本步骤中,判断待译码数据的CRC值crcfinal是否为0,如果判断的结果为是,则执行步骤S009;否则,执行步骤S010。
步骤S009控制Turbo码译码器停止译码迭代,完成译码过程:如果上述步骤S008的判断结果为是,则执行本步骤。本步骤中,控制Turbo码译码器停止译码迭代,完成译码过程。
步骤S010判断待译码数据的CRC值是否达到最大译码迭代次数:如果上述步骤S008的判断结果为否,则执行本步骤。本步骤中,判断待译码数据的CRC值crcfinal是否达到最大译码迭代次数,如果判断的结果为是,即crcfinal值非0,且达到最大译码迭代次数,则返回步骤S009;否则,即crcfinal值非0,且未达到最大译码迭代次数,执行步骤S010。
步骤S011控制Turbo码译码器进行下一轮译码迭代:如果上述步骤S010的判断结果为否,则执行本步骤。本步骤中,控制Turbo码译码器进行下一轮译码迭代。
本实施例进行译码停止迭代准则判断的计算所需要的额外时钟周期较少。根据所使用的CRC计算位数(8~32位)不同,需要额外的4~8个时钟周期,与每轮Turbo码译码迭代的时钟周期(根据编码包长度及Turbo码分段并行译码器个数的配置,需几百~几千时钟周期)相比,可忽略不计。其他迭代停止准则判断计算则需要与一轮迭代译码近似、甚至超过一轮迭代译码的额外计算时钟周期。
对于本实施例而言,上述步骤S001还可进一步细化,其细化后的流程图如图3所示。图3中,上述步骤S001进一步包括:
步骤S11对用户数据进行CRC计算,并将CRC计算结果添加在所述用户数据的尾端:本步骤中,对用户数据进行CRC计算,并将CRC计算结果添加在用户数据的尾端。
步骤S12对添加了CRC计算结果的用户数据进行Turbo码编码,并将Turbo码编码的数据作为待译码数据输出:本步骤中,对添加了CRC计算结果的用户数据进行Turbo码编码,并将Turbo码编码的数据作为待译码数据输出。通过在用户数据后附加CRC校验数据用于Turbo码解码端译码停止迭代准则判断,以确定性地判断代替使用译码器输出似然比阀值,或译码器硬判决输出变化情况的概率性判断。一方面可以及时停止不必要的译码迭代,提高译码器吞吐率;另一方面,可以避免由于错误的阀值设置,在未完全纠正错误之前停止译码迭代。
本实施例涉及一种实现上述Turbo码译码停止迭代准则判断方法的装置,其结构示意图如图4所示。图4中,该装置包括数据添加编码单元1、分段单元2、计算装载单元3、判决输出运算单元4、相乘单元5、并行运算单元6、异或运算单元7、CRC值判断单元8、迭代次数判断单元9和译码完成单元10;其中,数据添加编码单元1用于在用户数据的尾端添加CRC校验数据,并对添加了CRC校验数据的用户数据进行Turbo码编码,将Turbo码编码的数据作为待译码数据输出;分段单元2用于将待译码数据顺序分成M个分段,送入Turbo码译码器,每个Turbo码分段并行译码器对应一个分段的待译码数据;其中,M为大于1的整数;计算装载单元3用于根据使用的CRC生成多项式以及每个分段的长度,依次计算、装载M-1个函数;判决输出运算单元4用于使M个串行计算模块分别对其对应的硬判决输出数据进行CRC运算,并分别输出对应的串行CRC值;相乘单元5用于将其中M-1个串行CRC值分别与对应的函数在相应的单周期乘法器中进行相乘得到M-1个乘积CRC值;并行运算单元6用于将所述M-1个乘积CRC值分别送入对应的并行CRC计算模块内进行计算,并分别输出对应的M-1个并行CRC值;异或运算单元7用于将未在单周期乘法器中参与运算的串行CRC值与M-1个并行CRC值进行异或运算得到待译码数据的 CRC值;CRC值判断单元8用于判断待译码数据的CRC值是否为0;迭代次数判断单元9用于判断待译码数据的CRC值是否达到最大译码迭代次数,如是,控制Turbo码译码器停止译码迭代,完成译码过程;否则,控制Turbo码译码器进行下一轮译码迭代;译码完成单元10用于控制Turbo码译码器停止译码迭代,完成译码过程。本实施例进行译码停止迭代准则判断的计算所需要的额外时钟周期较少。根据所使用的CRC计算位数(8~32位)不同,需要额外的4~8个时钟周期,与每轮Turbo码译码迭代的时钟周期(根据编码包长度及Turbo码分段并行译码器个数的配置,需几百~几千时钟周期)相比,可忽略不计。其他迭代停止准则判断计算则需要与一轮迭代译码近似、甚至超过一轮迭代译码的额外计算时钟周期。
本实施例中,数据添加编码单元1进一步包括CRC计算添加模块11和编码模块12;其中,CRC计算添加模块11用于对用户数据进行CRC计算,并将CRC计算结果添加在用户数据的尾端;编码模块12用于对添加了CRC计算结果的用户数据进行Turbo码编码,并将Turbo码编码的数据作为待译码数据输出。
总之,在本实施例中,通过使用CRC算法对译码后的硬判决输出进行校验,以克服上述软判决/硬判决方法的判断不准问题。值得一提的是,在本实施例的一些情况下,单周期乘法器可以用使用多周期乘法器代替,以减小芯片面积,这样会增加额外的计算周期,但与整个迭代译码周期相比,仍可忽略不计。并行CRC计算模块可以使用串行CRC计算模块代替,以减小芯片的面积,这样会增加额外的计算周期,但与整个迭代译码周期相比,增加的周期仍非常小,对引起的系统性能降低的影响很小。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

TURBO码译码停止迭代准则判断系统、方法及装置.pdf_第1页
第1页 / 共13页
TURBO码译码停止迭代准则判断系统、方法及装置.pdf_第2页
第2页 / 共13页
TURBO码译码停止迭代准则判断系统、方法及装置.pdf_第3页
第3页 / 共13页
点击查看更多>>
资源描述

《TURBO码译码停止迭代准则判断系统、方法及装置.pdf》由会员分享,可在线阅读,更多相关《TURBO码译码停止迭代准则判断系统、方法及装置.pdf(13页珍藏版)》请在专利查询网上搜索。

本发明提出了一种Turbo码译码停止迭代准则判断系统,包括Turbo码编码端和Turbo码解码端,所述Turbo码解码端包括Turbo码译码器,所述Turbo码编码端用于对用户数据添加CRC校正数据,并对添加CRC校正数据的用户数据进行Turbo码编码后输出,所述Turbo码解码端接收所述Turbo码编码端输出的Turbo码编码数据,并对其顺序分段后送入所述Turbo码译码器进行译码。本发明还涉及。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 基本电子电路


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1