发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种Turbo译码器及译码方法,用于解决现有技术中Turbo译码器的吞吐量小,译码延时长等问题。
为实现上述目的及其他相关目的,本发明提供一种Turbo译码器,所述Turbo译码器至少包括:
输入缓冲电路、第一多路复用电路、N个软输入缓冲电路、第二多路复用电路、N个软输入软输出译码电路、第三多路复用电路、N个数据缓存电路、N个外信息缓冲电路、N个软输出缓冲电路及控制电路;
所述输入缓冲电路用于接收地址信息及软信息;
所述第一多路复用电路连接于所述输入缓冲电路的输出端,用于将输入软信息根据输入的地址信息并行送入多个所述软输入缓冲电路中;
各软输入缓冲电路连接于所述第一多路复用电路的输出端,用于对输入的多路软信息进行缓存;
所述第二多路复用电路连接于多个所述软输入缓冲电路的输出端,用于将多路并行送入多个所述软输入软输出译码电路中;
各软输入软输出译码电路连接于所述第二多路复用电路的输出端,用于对输入的软信息进行译码转换为外信息,经过多次迭代实现译码;
所述第三多路复用电路连接于各软输入软输出译码电路及各数据缓存电路之间,用于实现各软输入软输出译码电路与各数据缓存电路之间的数据传输;
所述数据缓存电路连接于各软输入软输出译码电路与各外信息缓冲电路,用于对各软输入软输出译码电路与各外信息缓冲电路之间传输的数据进行并行写入和读取;
所述外信息缓冲电路用于缓存各软输入软输出译码电路输出的外信息,并回传给各软输入软输出译码电路,以实现多次迭代;
所述软输出缓冲电路连接于所述第三多路复用电路的输出端,用于输出译码结果;
所述控制电路为各电路提供控制信号。
优选地,所述软输入软输出译码电路包括正向迭代单元和反向迭代单元;所述正向迭代单元包括第一分支度量模块、第一状态度量模块、第一外信息度量模块及第一加法模块;所述反向迭代单元包括第二分支度量模块、第二状态度量模块、第二外信息度量模块及第二加法模块;
所述第一分支度量模块接收并对正向软信息及正向外信息进行分支度量计算;所述第一状态度量模块连接所述第一分支度量模块的输出端,其输出信号连接至存储器中,用于进行状态度量计算;所述第一外信息度量模块连接所述第一状态度量模块、所述第二分支度量模块及所述存储器的输出端,用于进行外信息度量计算;所述第一加法模块连接所述第一外信息度量模块的输出端,实现所述第一外信息度量模块输出的外信息与正向外信息的加法操作;
所述第二分支度量模块接收并对反向软信息及反向外信息进行分支度量计算;所述第二状态度量模块连接所述第二分支度量模块的输出端,其输出信号连接至存储器中,用于进行状态度量计算;所述第二外信息度量模块连接所述第二状态度量模块、所述第一分支度量模块及所述存储器的输出端,用于进行外信息度量计算;所述第二加法模块连接所述第二外信息度量模块的输出端,实现所述第二外信息度量模块输出的外信息与反向外信息的加法操作。
优选地,所述控制电路包括交织器、并行控制单元、控制和状态寄存单元;所述交织器连接于所述控制和状态寄存单元的输出端,通过地址变化控制所述第一多路复用电路、所述第二多路复用电路及所述第三多路复用电路协同工作;所述并行控制单元连接于所述控制和状态寄存单元的输出端,用于为各软输入软输出译码电路提供控制信号。
优选地,所述数据缓存电路为先进先出队列缓存器。
更优选地,所述数据缓存电路包括N个子数据缓存器,各子数据缓存器包括3个缓存单元,其中,第一缓存单元用于缓存所述软输入软输出译码电路写入所述外信息缓冲电路中的地址信息及外信息;第二缓存单元用于缓存所述软输入软输出译码电路读取所述外信息缓冲电路的地址信息;第三缓存部分用于缓存所述外信息缓冲电路传回所述软输入软输出译码电路的外信息。
优选地,所述Turbo译码器还包括连接于所述软输出缓冲电路输出端的循环冗余校验电路,通过冗余校验对译码结果进行检查。
为实现上述目的及其他相关目的,本发明还提供一种Turbo译码方法,所述Turbo译码方法至少包括:
接收地址信息及软信息,将地址信息及软信息分为多路并行信号,对多路信号进行并行译码,分别对译码得到的外信号和地址信号进行延迟缓存和读取,避免并行译码过程中对存储器读写的冲突,然后再次进行并行译码,如此循环,通过多次迭代实现伪随机译码。
优选地,所述Turbo译码方法采用双向迭代的Max-Log-Map算法。
优选地,所述Turbo译码方法具体方法包括:
缓存地址信息:将外信息通过第一先进先出队列缓存单元存入外信息缓冲电路;
读取外信息:将地址信息存入第二先进先出队列缓存单元,根据地址信息从外信息缓冲电路中读取外信息并存入第三先进先出队列缓存单元。
如上所述,本发明的Turbo译码器及译码方法,具有以下有益效果:
本发明的Turbo译码器及译码方法使用并行双向迭代的Max-Log-Map算法,有效地提高的Turbo译码的吞吐量和译码时延;同时实现了WCMDA的并行译码,大大降低了WCDMA的译码延时,使硬件资源得到充分复用。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
请参阅图2~图3。需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
如图2所示,本发明提供一种Turbo译码器,所述Turbo译码器至少包括:
混合自动重传请求电路201、输入缓冲电路21、第一多路复用电路221、4个软输入缓冲电路231、第二多路复用电路222、4个软输入软输出译码电路24、第三多路复用电路223、4个数据缓存电路25、4个外信息缓冲电路26、4个硬判决电路27、4个软输出缓冲电路232、第四多路复用电路224、控制电路28、接口电路202、系统状态寄存器203、数字信号处理器204。
如图2所示,所述混合自动重传请求电路201连接于所述输入缓冲电路21的输入端,同时连接所述控制电路28,受所述控制电路28的控制,在输入信息出错时重新输入信号,在本实施例中,输入信息包括软信息LLR[63:0]及地址信息Addr[12:0]。
如图2所示,所述输入缓冲电路21用于接收地址信息及软信息。
如图2所示,所述第一多路复用电路221连接于所述输入缓冲电路21的输出端,用于将软信息根据输入的地址信息并行送入多个所述软输入缓冲电路231中。
具体地,在本实施例中,所述第一多路复用电路221为4路复用电路,在实际使用中,可根据具体需要设定,不以本实施例为限。所述第一多路复用电路221将收到的信息分为4段进行并行处理。
如图2所示,各软输入缓冲电路231连接于所述第一多路复用电路221的输出端,用于对输入的多路软信息进行缓存。
具体地,在本实施例中,所述软输入缓冲电路231设定为4路,分别为第一软输入缓冲电路、第二软输入缓冲电路、第三软输入缓冲电路、第四软输入缓冲电路。在实际使用中,可根据具体需要设定,不以本实施例为限。
如图2所示,所述第二多路复用电路222连接于多个所述软输入缓冲电路231的输出端,用于将多路软信息并行送入多个所述软输入软输出译码电路24中。
具体地,在本实施例中,所述第二多路复用电路222为4路复用电路。
如图2所示,各软输入软输出译码电路24连接于所述第二多路复用电路222的输出端,用于对输入的软信息进行译码转换为外信息,经过多次迭代实现译码。
具体地,在本实施例中,所述软输入软输出译码电路24设定为4路,分别为第一软输入软输出译码电路、第二软输入软输出译码电路、第三软输入软输出译码电路、第四软输入软输出译码电路。如图3所示,各软输入软输出译码电路24包括正向迭代单元241和反向迭代单元242。所述正向迭代单元241包括第一分支度量模块2411、第一状态度量模块2412、第一外信息度量模块2413及第一加法模块2414;所述反向迭代单元242包括第二分支度量模块2421、第二状态度量模块2422、第二外信息度量模块2423及第二加法模块2424。所述第一分支度量模块2411接收并对正向软信息Lxf_i、Lzf_i及正向外信息Lpf_i进行分支度量γk计算,其中,k=0,1……,N-1;所述第一状态度量模块2412连接所述第一分支度量模块2411的输出端,其输出信号连接至存储器243中,用于进行状态度量α计算;所述第一外信息度量模块2413连接所述第一状态度量模块2412、所述第二分支度量模块2421及所述存储器243的输出端,用于进行外信息度量LLRk(x)计算,其中,k=N/2-1,…...,0;所述第一加法模块2414连接所述第一外信息度量模块2413的输出端,实现所述第一外信息度量模块2413输出的外信息与正向外信息的加法操作。所述第二分支度量模块2421接收并对反向软信息Lxb_i、Lzb_i及反向外信息Lpb_i进行分支度量γk计算,其中,k=N-1,……1,0;所述第二状态度量模块2422连接所述第二分支度量模块2421的输出端,其输出信号连接至存储器243中,用于进行状态度量β计算;所述第二外信息度量模块2423连接所述第二状态度量模块2422、所述第一分支度量模块2411及所述存储器243的输出端,用于进行外信息度量LLRk(x)计算,其中,k=N/2,……,N-1;所述第二加法模块2424连接所述第二外信息度量模块2423的输出端,实现所述第二外信息度量模块2423输出的外信息与反向外信息的加法操作。
具体地,所述软输入软输出译码电路24通过双向迭代的Max-Log-Map算法实现译码,所述正向迭代单元进行正向迭代,所述反向迭代单元进行反向迭代,当两部分交叠时(迭代了N/2步),进行外信息计算,所述软输入软输出译码电路24只需要N个cycle就可完成一次半迭代,比单向迭代方式可减少一半的时延。
如图2所示,所述第三多路复用电路223连接于各软输入软输出译码电路24及各数据缓存电路25之间,用于实现各软输入软输出译码电路24与各数据缓存电路25之间的数据传输。
具体地,在本实施例中,所述第三多路复用电路223为4路复用电路。
如图2所示,所述数据缓存电路25连接于各软输入软输出译码电路24与各外信息缓冲电路26,用于对各软输入软输出译码电路24与各外信息缓冲电路26之间传输的数据进行并行写入和读取。
具体地,在本实施例中,所述数据缓存电路25设定为4路,分别为第一数据缓存电路、第二数据缓存电路、第三数据缓存电路、第四数据缓存电路。各数据缓存电路为先进先出队列缓存器。各数据缓存电路包括4个子数据缓存器,各子数据缓存器均为先进先出队列缓存器,包括3个缓存单元,其中,第一缓存单元FIFO_write用于缓存所述软输入软输出译码电路24写入所述外信息缓冲电路26中的地址信息及外信息;第二缓存单元FIFO_read_addr用于缓存所述软输入软输出译码电路24读取所述外信息缓冲电路26的地址信息;第三缓存单元FIFO_read_Lext用于缓存所述软输入软输出译码电路24从所述外信息缓冲电路26中读出的外信息。
如图2所示,所述外信息缓冲电路26用于缓存各软输入软输出译码电路24输出的外信息,并回传给各软输入软输出译码电路24,以实现多次迭代。
如图2所示,各硬判决电路27连接于所述第三多路复用电路223的输出端,对输出信号的0、1电平进行检测。
具体地,在本实施例中,所述硬判决电路27设定为4路,分别为第一硬判决电路、第二硬判决电路、第三硬判决电路、第四硬判决电路。
如图2所示,所述软输出缓冲电路232连接于所述硬判决电路27的输出端,用于输出译码结果。
具体地,在本实施例中,所述软输出缓冲电路232设定为4路,分别为第一软输出缓冲电路、第二软输出缓冲电路、第三软输出缓冲电路、第四软输出缓冲电路。
如图2所示,所述第四多路复用电路224连接于所述软输出缓冲电路232的输出端,用于分别输出译码结果。
如图2所示,所述循环冗余校验电路29连接于所述软输出缓冲电路232的输出端,通过冗余校验对译码结果进行检查。
如图2所示,所述控制电路28连接所述第四多路复用电路224、所述循环冗余校验电路29的输出端,为各电路提供控制信号。
具体地,如图2所示,所述控制电路28包括交织器284、并行控制单元285、控制和状态寄存单元283、输入输出控制单元281及输出缓冲单元282。所述输入输出控制单元281连接于所述控制和状态寄存单元283的输出端,为所述输出缓冲单元282提供控制信号。所述输出缓冲单元282连接所述第四多路复用电路224的输出端,向外电路输出译码结果。所述交织器284连接于所述控制和状态寄存单元283的输出端,通过地址变化控制所述第一多路复用电路221、所述第二多路复用电路222及所述第三多路复用电路223协同工作。所述并行控制单元285连接于所述控制和状态寄存单元283的输出端,用于为各软输入软输出译码电路24提供控制信号。
如图2所示,所述接口电路202连接于所述控制电路28,为所述Turbo译码器提供输入输出接口。
如图2所示,所述系统状态寄存器203连接所述控制电路28,用于存储所述Turbo译码器的系统状态。
如图2所示,所述数字信号处理器204(DSP)连接所述控制电路28,用于进行数字信号的处理。
上述Turbo译码器的工作原理如下:
步骤S1:藉由所述输入缓冲电路接收地址信息Address[12:0]及软信息LLR[63:0],藉由所述第一多路复用电路221及所述软输入缓冲电路231将软信息分为多路并行信号。
具体地,在本实施例中,将地址信息及软信息分为4路并行处理,在实际使用中,可根据实际需要设定为多路并行信号,不以本实施例为限。
步骤S2:藉由所述软输入软输出译码电路24对多路信号进行并行译码。
具体地,采用双向迭代的Max-Log-Map算法,通过所述正向迭代单元进行正向迭代,所述反向迭代单元进行反向迭代,当两部分交叠时(迭代了N/2步),进行外信息计算,所述软输入软输出译码电路24只需要N个cycle就可完成一次半迭代,比单向迭代方式可减少一半的时延。
步骤S3:分别对译码得到的外信号进行延迟缓存和读取,避免并行译码过程中对存储器读写的冲突,然后再次进行并行译码,如此循环,通过多次迭代实现译码。
具体地,在WCDMA系统中,将所述软输入软输出译码电路24输出的外信息通过第一先进先出队列缓存单元存入外信息缓冲电路26。更具体地,所述第一软输入软输出译码电路~所述第四软输入软输出译码电路将外信息写入到所述第一外信息缓冲电路时,直接将4路并行的外信号写入所述第一数据缓存电路的4个子数据缓存电路中,在本实施例中,外信息缓存入第一缓存单元。先进先出队列控制电路根据所述第一外信息缓冲电路的状态将外信息写入所述第一外信息缓冲电路;所述第二外信息缓冲电路~所述第四外信息缓冲电路的写操作类似,在此不一一赘述。
具体地,在WCDMA系统中,将读地址信息通过第二先进先出队列缓存单元存入所述数据缓存电路25,通过第三先进先出队列缓存单元从外信息缓冲电路26中读取外信息。更具体地,所述第一软输入软输出译码电路~所述第四软输入软输出译码电路从所述第一外信息缓冲电路读取外信息时,首先将读地址信息分别写入与所述第一外信息缓冲电路相连的4个子数据缓存电路中,在本实施例中,地址信息缓存入第二缓存单元。先进先出队列控制电路根据所述第一外信息缓冲电路的状态和地址信息,从所述第一外信息缓冲电路中读取外信息,并将读回的外信息分别存入第三先进先出队列缓存单元中,先进先出队列控制电路再根据时序要求将第三先进先出队列缓存单元中的数据分别送到所述第一软输入软输出译码电路~所述第四软输入软输出译码电路中。通过两路分别存储和读出可避免冲突发生。
具体地,在LTE系统中,采用QPP交织器,各数据缓存电路25可关闭直接将外信息顺序存入各外信息缓冲电路26并读出,不会产生冲突。
在本实施例中,通过遍历WCDMA所有的码块长度发现,第一缓存单元FIFO_write和第二缓存单元FIFO_read_addr的深度为16,第三缓存单元FIFO_read_Lext的深度为32。
在本实施例中,所述Turbo译码器支持分段并行译码方式如下:
1)码块的长度小于1536时,每个软输入软输出译码电路可以单独处理一个码块。最多4个码块可分别送到4个软输入软输出译码电路处理。
2)码块长度大于1536且小于3072时,每个码块分成两段处理,占用两个软输入软输出译码电路。最多2个码块送入4个软输入软输出译码电路进行并行译码。
3)码块长度大于3072时,分为4段处理,占用4个软输入软输出译码电路。
通过不同的硬件参数可对处理信息的容量进行设定,不以本实施例为限。
如上所述,本发明的Turbo译码器及译码方法,具有以下有益效果:
本发明的Turbo译码器及译码方法使用并行双向迭代的Max-Log-Map算法,有效地提高的Turbo译码的吞吐量和译码时延;同时实现了WCMDA的并行译码,大大降低了WCDMA的译码延时,使硬件资源得到充分复用。
综上所述,本发明提供一种Turbo译码器及译码方法,包括:藉由输入缓冲电路、第一多路复用电路、软输入缓冲电路接收地址信息及软信息,将软信息分为多路并行信号;藉由各软输入软输出译码电路对多路信号进行并行译码;藉由数据缓存电路、外信息缓冲电路对译码得到的外信号进行延迟缓存和读取,避免并行译码过程中对存储器读写的冲突,然后再次藉由各软输入软输出译码电路进行并行译码,如此循环,通过多次迭代实现伪随机译码。本发明的Turbo译码器及译码方法使用并行双向迭代的Max-Log-Map算法,有效地提高的Turbo译码的吞吐量和译码时延;同时实现了WCMDA的并行译码,大大降低了WCDMA的译码延时,使硬件资源得到充分复用。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。