专利名称:一种turbo码译码方法及装置的制作方法
技术领域:
本发明涉及通信技术领域,尤其涉及一种turbo码译码的方法及装置。
背景技术:
随着3G、 4G通信技术的发展,数据传输速度的要求越来越高。译码技术 作为通信系统核心组成部分之一,其吞吐量的提高需要有高速算法和高速架构 的支持。
目前,对于turbo码译码所采用的处理方法为分块并行译码,包括将接 收到的数据按照约束长度和输入数据长度分成n个子块,每个子块长度为Lf, 并采用n个并行译码处理器,同时译码。为了保证译码的正确性,需要有一个 5倍及其以上约束长度的递推作为预处理,然后才开始子块译码。这里的子块 并不是简单的将总长度平均为n块,而是每一子块会有一定数目比特重叠。
进行分块并行译码时所采用的装置,其结构如图1所示,主要包括数据块 分块模块、数据块合并模块、迭代停止判定模块和译码处理器组成。数据块输 入到数据块分块模块后,所有长度的数据块都被分为n个相同长度的子块,分 别送入n个译码处理器进行译码;译码处理器的数据输出到数据块合并模块, 然后经过迭代停止判定模块判断是否译码完成,完成了则输出结果,没有完成 则继续进行迭代。
当需要达到的纠错性能在被确定之后,重叠比特的数目(即训练长度)由 且只由约束长度决定,如果数据块很小,就会带来过多的额外开销。分块并行
的目的是为了增加系统吞吐量,减少译码延时,当数据块长度很小时,数据块 长度和重叠比特长度比(数据块长度/重叠比特长度)小于某个常数以后,额外 开销增加过多,系统整体的吞吐量(单位时间处理的数据量)反而降低,增加 了数据块译码延时。
发明内容
本发明提供一种turbo码译码方法及装置,通过增加优选控制器和数据合 并控制器,达到减少并行turbo码译码的额外开销,提高译码速度的目的。
本发明提供了一种turbo码译码方法,所述方法包括
根据接收到的数据块的信息和预定的优选准则将所述数据块分成至少一 个子块,并根据译码处理器的状态给所述子块分配译码处理器;
对所述子块进行译码迭代,并根据所述子块的配置信息将译码迭代后的子 块进行合并输出;
根据译码迭代停止准则判断是否完成译码,当确认译码完成后,输出译码 结果。
其中,所述优选准则具体包括在允许的额外开销范围内取一个译码速度、 译码延迟、资源利用率、分块数目的平衡。
系数综合决定,其中,
额外开销比重系数=训练长度/ (子块长度+训练长度), 译码延迟系数=数据块分块并行的译码时间/数据块不分子块的译码时间。 本发明所述方法中,所述根据接收到的数据块的信息和预定的优选准则将
所述数据块分成至少一个子块的步骤具体包括
根据数据块的信息和预定的优选准则将所述数据块进行分块,所述数据块
的信息包括数据块长度和约束长度;
当所述数据块长度超过预定值时,将所述数据块分成多个子块;否则,将 所述数据块作为一个子块处理。
当所有译码处理器全部处于空闲状态时,将所述子块分配给所有或部分译 码处理器;或者,
当所有译码处理器中只有部分译码处理器处于空闲状态时,将所述分块后 得到的子块分配给所有或部分处于空闲状态的译码处理器;或者,
当所述子块的数目大于处于空闲状态的译码处理器的数目时,先给部分子 块分配全部空闲译码处理器,进行译码处理;当进行译码处理的译码处理器变 为空闲状态时,对未分配的子块分配空闲译码处理器。
所述子块的配置信息包括所述子块长度,分配的译码处理的数目和分配 的译码处理器的位置。
本发明还提供了一种turbo码译码装置,所述装置包括数据块分块模块、 优选控制模块、数据块合并模块、迭代停止判定模块和至少一个译码处理器,
数据块分块模块,用于接收完整的数据块,并将所述数据块进行分块;
优选控制模块,用于根据接收到的数据块的信息和预定的优选准则控制所
述数据块分块模块将所述数据块进行分块,并根据译码处理器的状态给分块后
得到的子块分配译码处理器,并将所有所述子块的信息发送给数据块合并控制
器,所述子块的信息包括子块的长度、优选控制器给子块分配的译码处理器
的数目,以及分配的译码处理器的位置;
译码处理器,用于对接收到的子块进行译码迭代;
数据块合并模块,用于将译码迭代后的子块进行合并输出; 迭代停止判定模块,用于根据译码迭代停止准则判断是否完成译码,当确 认译码完成后,输出译码结果。
综上所述,本发明本发明提供一种turbo码译码方法及装置,通过增加优
选控制器和数据合并控制器,达到减少并行turbo码译码的额外开销,提高译 码速度的目的,并且在译码处理器数目确定的情况下可以充分地使用资源。
图1为现有技术中的译码处理装置的结构示意图; 图2为本发明实施例所述方法的流程示意图; 图3为本发明实施例所述装置的结构示意图。
具体实施例方式
下面结合附图对本发明实施例所述方法及装置进行详细说明。
如图2所示,本发明实施例所述turbo码译码方法,具体包括以下步骤
步骤21、数据块分块模块接收到完整数据块,并将所述数据块的信息发送 给优选控制器,所述数据块的信息包括数据块长度和约束长度。
步骤22、优选控制器检测当前处于空闲状态的并行译码处理器的个数;然 后根据预先设定的优选准则和从数据块分块模块得到的数据块信息,控制数据 块分块模块将所述数据块分成至少一个子块,具体可以包括如下情况
如果数据块长度很长,子块数目就比较多;
如果数据块长度很短,子块数目就比较少;
如果数据块长度非常短,可以不做分块处理。
步骤23、优选控制器为所述子块分配译码处理器,并将所有所述子块的信 息发送给数据块合并控制器,所述子块的信息包括子块的长度、优选控制器 给子块分配的译码处理器的数目,以及分配的译码处理器的位置;所述优选控
一个完整数据块的所有子块刚好占用全部译码处理器;
前一个或者几个完整数据块分成的子块正占用部分译码处理器,部分空
闲;当前数据块子块则分配剩下空闲的部分或者全部译码处理器;多独立数据 块子块并行处理;
当一个完整数据块子块数目大于当前空闲译码器数目时,先对部分数据块 子块分配全部空闲的译码处理器,当有先前被占用的译码处理器变为空闲状态 时,则对剩下未分配的子块分配译码处理器。
步骤24、对所述子块进行译码迭代,如果所述子块为多个,可以同时对所 述多个子块进行译码迭代;所述译码迭代的具体处理过程在现有技术中已有成 熟解决方案,此处不再赘述。
步骤25、将完成迭代处理的子块输出到数据块合并控制器的緩存当中,数 据块合并控制器控制监控得到的子块,当接收完一个完整的数据块时,则将所 有子块合并成一个完整的数据块,输出并释放掉处理子块凄t据占用的译码处理 器,并发送一个反馈信息到优选控制器。
步骤26、根据译码迭代停止准则判断是否译码完成,同时发送一个反馈到 数据块合并控制器;当确认译码完成时,输出译码结果。所述迭代停止判定准 则是指,turbo码分量码译码至少需要进行两次迭代才能比较译码结果,在接 收端数据块出现误码的时候,迭代次数越多纠错性能越强。通常情况下,在迭 代次数达到16次以后,纠错性能已经接近极限;而当信道条件在极差的时候, 有这样一种可能性,数据块永远无法正确译出。迭代停止判定准则可以包括 步骤一,当前迭代是否为第一次迭代,如果是则直接到步骤四,否则进行下一 步骤;步骤二,迭代次数是否达到设定的最大次,如果达到,则给出当前数据 块译码结束信号,输出当前迭代的译码结果;没有达到则进行下一步骤;步骤
三,本次迭代和上次迭代结果是否完全一致,如果完全一致,则给出当前数据
块译码结束信号,输出当前迭代的译码结果;否则进行下一步骤;步骤四,给
述,此处就不再赘述。
另外,本发明实施例中的所述优选准则是指,在允许的额外开销范围内取 一个译码速度、译码延迟、资源利用率、分块数目的平衡,具体的说就是,额 外开销是由数据子块块首和块尾的训练长度引起的,当要求的译码性能一定, 即训练长度就确定了;额外开销比重系数=重叠比特长度/ (数据子块长度+重 叠比特长度),额外开销比重系数越小越好;译码延迟系数=数据块分块并行的 译码时间/数据块不分子块的译码时间,越小越好;分块数目和译码速度则由设 定的额外开销比重系数和译码延迟系数综合来决定。
以IEEE 802.16d双二进制turbo巻积码编码为例,其约束长度为3,编码 数据块最短的长度为24个格栅,最长的为240个格栅。根据要求达到的纠错 性能确定训练长度,对纠错性能要求不高时,可以将训练长度选为16个格栅, 对纠错性能要求很高时,可以将训练长度选为32个格栅。设额外开销比重系 数<0.4,译码延迟系数<0.8,若两个系数只能满足其中一个或者只能接近一个, 则额外开销比重系数应优先满足优先;在满足额外开销比重系数的情况下,译 码延迟系数越小越好;比如,
1、当数据块长度为24个格栅时,训练长度选取16,
不分块
额外开销比重系数=(16+16)/(24+16+16)=0.57 译码延迟系数=1;
分2个子块
额外开销比重系数=(16+16)/( 12+16+16)=0.73 译码延迟系数=(16+16+12)/(24+16+16)=0.79;
短数据块额外开销太高,按照优选准则,此种情况应该不分块;
2、 当数据块长度为24个格栅时,训练长度选取32; 不分块
额外开销比重系数=(32+32)/(24+32+32)=0.73
译码延迟系数=1 分2个子块
额外开销比重系数=(32+32)/(12+32+32)=0.84
译码延迟系数=(32+32+12)/(24+32+32)=0.86; 短数据块额外开销太高,按照优选准则,此种情况应该不分块;
3、 当数据块长度为240个格栅时,训练长度选取16; 不分块
额外开销比重系数=(16+16)/(240+16+16)=0.125 译码延迟系数=1;
分2个子块
额外开销比重系数=(16+16)/( 120+16+16)=0.21 译码延迟系数=(16+16+120)/(240+16+16)=0.5 6;
分3个子块
额外开销比重系数=(16+16)/(80+16+16)=0.29 译码延迟系数=(16+16+80)/(240+16+16)=0.41;
分4个子块
额外开销比重系数=(16+16)/(60+16+16)=0.3 5
译码延迟系数=(16+16+60)/(240+16+16)=0.34; 分5个子块
额外开销比重系数=(16+16)/(48+16+16)=0.4
译码延迟系数=(16+16+48)/(240+16+16)=0.29; 按照优选准则,此种情况应该分4个子块; 4、当数据块长度为240个格栅时,训练长度选取32; 不分块
额外开销比重系数=(32+32)/(240+64)=0.21 译码延迟系数=1 分2个子块
额外开销比重系数=(32+32)/(120+64)=0.35 译码延迟系数=(32+32+120)/(32+32+240)=0.6
分3个子块
额外开销比重系数=(32+32)/(80+64)=0.44
译码延迟系数=(32+32+80)/(32+32+240)=0.47 分4个子块
额外开销比重系数=(32+32)/(60+64)=0.52
译码延迟系数=(32+32+60)/(32+32+240)=0.41 按照优选准则,此种情况应该分2个子块。
下面结合附图对本发明实施例所述装置进行详细说明。
如图3所示,本发明实施例所述装置具体包括包括数据块分块模块、
优选控制模块、数据块合并模块、迭代停止判定模块和至少一个译码处理器, 其中,
数据块分块模块,用于接收完整的数据块,并将所述数据块进行分块;具
体的说就是,数据块分块模块接收到完整数据块,并将所述数据块的信息发送
给优选控制器,所述数据块的信息包括数据块长度和约束长度。
优选控制模块,用于根据接收到的数据块的信息和预定的优选准则控制所
述数据块分块模块将所述数据块进行分块,并根据译码处理器的状态给分块后
得到的子块分配译码处理器。
译码处理器,用于对接收到的子块进行译码迭代,如果所述子块为多个, 可以同时对所述多个子块进行-泽码迭代;所述碍,码迭代的具体处理过程在现有 技术中已有成熟解决方案,此处不再赘述。
数据块合并模块,用于将译码迭代后的子块进行合并输出;具体的说就是,
数据块合并模块将完成迭代处理的子块输出到数据块合并控制器的緩存当中,
所述数据块合并模块监控得到的子块,当接收完一个完整的数据块时,则将所
有子块合并成一个完整的数据块,输出并释放掉处理子块数据占用的译码处理
器,并发送一个反馈信息到优选控制器。
迭代停止判定模块,用于根据译码迭代停止准则判断是否完成译码,当确
认译码完成后,输出译码结果,否则,继续迭代。
对于装置中各个模块的具体处理过程,由于在前面方法中已作详细描述,
此处就不再赘述。
综上所述,本发明实施例提供了一种turbo码译码方法及装置,比传统并 行分块译码方法增加了 一个优选控制器和一个数据块合并控制器,优选控制器 主要控制数据块分块模块,数据块合并控制器主要控制数据块合并模块,并通 过交互信息协同工作。数据块分块模块接收到完整的数据块之后先发送信息到 优选控制器对当前数据块进行优选判断,数据块分块模块根据判断结果将数据 块分块,并由优选控制器为各个子块分配译码处理器进行处理。利用一个分块
优选控制器可以减少并行turbo码译码的额外开销,提高译码速度,并且在译 码处理器数目确定的情况下可以最充分地使用资源。
明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及 其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1、一种turbo码译码方法,其特征在于,包括根据接收到的数据块的信息和预定的优选准则将所述数据块分成至少一个子块,并根据译码处理器的状态给所述子块分配译码处理器;对所述子块进行译码迭代,并根据所述子块的配置信息将译码迭代后的子块进行合并输出;根据译码迭代停止准则判断是否完成译码,当确认译码完成后,输出译码结果。
2、 如权利要求1所述的方法,其特征在于,所述优选准则具体包括在 允许的额外开销范围内取一个译码速度、译码延迟、资源利用率、分块数目的 平衡。
3、 根据权利要求2所述的方法,其特征在于,所述优选准则中的译码速 度和分块数目由额外开销比重系数和译码延迟系数综合决定,其中,额外开销比重系数=训练长度/ (子块长度+训练长度),
4、 根据权利要求1到3中任意一项所述的方法,其特征在于,所述根据 接收到的数据块的信息和预定的优选准则将所述数据块分成至少一个子块的 步骤具体包括根据数据块的信息和预定的优选准则将所述数据块进行分块,所述数据块 的信息包括数据块长度和约束长度;当所述数据块长度超过预定值时,将所述数据块分成多个子块,否则,将 所述数据块作为一个子块处理。
5、 根据权利要求1到3中任意一项所述的方法,其特征在于,所述根据:纟合所述子块分g当所有译码处理器全部处于空闲状态时,将所述子块分配给所有或部分译 码处理器;或者,当所有译码处理器中只有部分译码处理器处于空闲状态时,将所述分块后得到的子块分配给所有或部分处于空闲状态的译码处理器;或者,当所述子块的数目大于处于空闲状态的译码处理器的数目时,先给部分子 块分配全部空闲译码处理器,进行译码处理;当进行译码处理的译码处理器变 为空闲状态时,对未分配的子块分配空闲译码处理器。
6、 根据权利要求1到3中任意一项所述的方法,其特征在于,所述子块 的配置信息至少包括所述子块长度,分配的译码处理的数目和分配的译码处 理器的位置。
7、 一种turbo码译码装置,其特征在于,至少包括数据块分块模块、优 选控制模块、数据块合并模块、迭代停止判定模块和至少一个译码处理器,所述数据块分块模块,用于接收完整的数据块,并将所述数据块进行分块;所述优选控制才莫块,用于根据接收到的数据块的信息和预定的优选准则控 制所述数据块分块^^块将所述数据块进行分块,并根据^^码处理器的状态给分 块后得到的子块分配译码处理器,并将所有所述子块的信息发送给数据块合并 控制器;所述译码处理器,用于对接收到的子块进行译码迭代; 所述数据块合并模块,用于将译码迭代后的子块进行合并输出; 所述迭代停止判定模块,用于根据译码迭代停止准则判断是否完成译码, 当确认译码完成后,输出译码结果。
8、按照权利要求7所述的一种turbo码译码装置,其特征在于,所述子块的信息至少包括子块的长度、优选控制器给子块分配的译码处理器的数目,以及分配的译码处理器的位置。
全文摘要
本发明公开了一种turbo码译码方法及装置,其中,所述方法包括根据接收到的数据块的信息和预定的优选准则将所述数据块分成至少一个子块,并根据译码处理器的状态给所述子块分配译码处理器;对所述子块进行译码迭代,并根据所述子块的配置信息将译码迭代后的子块进行合并输出;根据译码迭代停止准则判断是否完成译码,当确认译码完成后,输出译码结果。本发明通过增加优选控制器和数据合并控制器,达到减少并行turbo码译码的额外开销,提高译码速度的目的,并且在译码处理器数目确定的情况下可以充分地使用资源。
文档编号H03M13/23GK101355401SQ20071013075
公开日2009年1月28日 申请日期2007年7月23日 优先权日2007年7月23日
发明者伟 郑, 翔 高 申请人:中兴通讯股份有限公司