一种交织装置的制作方法

文档序号:7508826阅读:127来源:国知局
专利名称:一种交织装置的制作方法
技术领域
本发明涉及一种应用于第三代通信组织(3GPP,3rd Generation PartnershipProject)物理层Turbo编解码中的交织装置。
背景技术
Turbo码将卷积码和随机交织器结合在一起,实现了随机编码的思想,由于性能接近香农公式的理论极限,可适应低信噪比的应用环境,因而被应用于3GPP移动通信基带信道编码。
图1、图2分别是3GPP 25.212协议中定义的Turbo码编码器和译码器示意图。
按照3GPP 25.212协议,Turbo码编码器包括两个并行的分量码卷积编码器和一个Turbo码交织器,Turbo码编码器通过交织器把两个递归系统的分量码卷积编码器的卷积码并行级联,编码器的输出端包括信息位和两个校验位,这样代表编码速率1/3。轮流删除两个校验位就可以得到码率是1/2的码,用不同的校验位生成器或者不同的删除方式就可以得到各种不同速率的Turbo码。
Turbo码译码器则由两个与分量码对应的译码单元(软输入软输出SISO)和交织器、解交织器组成,译码时两个分量码经过不同交织后对同一信息序列编码,一个译码单元的软输出信息作为下一个译码单元的输入,为了获得更好的译码性能,将此过程叠代多次(3~6次)。
对于上述Turbo码编解码器中应用的Turbo码交织器,3GPP 25.212协议定义如下1、码块长度K决定交织矩阵行数R;2、选择交织矩阵列数C;
3、将输入码块按行写入RxC的交织矩阵中;4、构造行内置换序列、构造行间置换序列,而后行内交织、再行间交织;5、交织矩阵中按列输出码块。
由于Turbo码交织器计算比较复杂,当Turbo编码、Turbo译码时,需首先启动Turbo码交织器计算整个码块比特的交织样式,然后将交织结果存入随机存取存储器(RAM,Random access memory)中,其存储格式参考图3所示。
目前3GPP用户设备/基站(UE/BS)的基带编解码实现中,编码、译码功能相互独立,各自独立实现Turbo码交织器;上下行的Turbo码交织器功能相同,但使用了两套交织器功能单元,造成了功能模块冗余。
另外,由于编码使用软件实现,译码使用硬件逻辑实现,当Turbo码交织器在软件中实现时,功耗较大,且速度较慢,不适合用户设备(UE,UserEquipment)等手持设备的低功耗要求。

发明内容
本发明解决的技术问题是提供一种交织装置,以降低交织功能模块冗余,适应手持设备低功耗要求。
为解决上述问题,本发明的交织装置,包括存储器,用于存储上下行交织结果;Turbo码交织器,与所述的存储器相连,用于进行上行或下行交织处理并将交织结果输出给所述的存储器存储;共享处理器,与所述的Turbo码交织器相连,用于在上下行交织冲突时控制选择所述的Turbo码交织器进行优先级高的上行或下行交织处理。
其中,所述的共享处理器包括冲突检测装置,检测是否有上下行交织处理请求的冲突;
冲突处理装置,在所述的冲突检测装置检测到有上下行交织处理请求的冲突时,根据预定上下行交织处理优先级,控制选择Turbo码交织器对优先级高的上行或下行交织请求进行优先处理。
其中,所述的预定上下行交织处理优先级为上下行同时发起交织请求,优先处理上行交织请求;Turbo码交织器正在处理上行请求时,下行发起交织请求,优先处理上行交织请求,待上行交织处理完毕,再进行下行交织处理;Turbo码交织器正在处理下行请求时,上行发起交织请求,优先处理上行交织请求或上行等待;或上下行同时发起交织请求,优先处理下行交织请求;Turbo码交织器正在处理下行请求时,上行发起交织请求,优先处理下行交织请求,待下行交织处理完毕,再进行上行交织处理;Turbo码交织器正在处理上行请求时,下行发起交织请求,优先处理下行交织请求或下行等待。
其中,所述的共享处理器还包括有比较处理装置,用于检测交织请求的码块长度,若与已处理过的交织请求的码块长度相同,则结束交织;否则,更新码块长度记录,交由Turbo码交织器重新进行交织处理。
其中,所述的存储器为一个,供上行和下行交织处理共用,只有上行/下行Turbo编码完成或译码完成后,才供下一次上行/下行Turbo编码、译码使用。
其中,所述的存储器包括两块,分别为上行交织结果存储器,用于存储上行交织结果;和下行交织结果存储器,用于存储下行交织结果。
其中,所述的存储器为随机存取存储器。
其中,所述的Turbo码交织器包括
基本参数确定装置,进行交织计算的第一状态处理,根据码块长度确定SI数据计算和QJ数据计算所需的基本参数,所述的基本参数包括交换矩阵的行数和列数值、素数值和根值;QJ数据计算装置,在所述的第一状态处理结束后,进行交织计算处理的第二状态处理,根据所述的素数值确定最小素整数组;SI数据计算装置,在所述的第一状态处理结束后,进行交织计算处理的第二状态处理,根据所述的交换矩阵的行数和列数值确定行内交换的序列;交织地址计算装置,在所述的第二状态处理结束后,进行交织计算的第三状态处理,根据所述的最小素整数组和行内交换的序列计算交织后的地址;状态控制装置,控制所述的基本参数确定装置、QJ数据计算装置、SI数据计算装置和交织地址计算装置启动所述的第一、第二和第三状态的处理。
与现有技术相比,本发明具有以下有益效果本发明的交织装置在实现UE和BS的上下行Turbo码编译码时,设置有共享冲突处理装置,通过冲突控制机制实现复用同一个Turbo码交织器单元,从而优化上下行Turbo码交织器使用,避免功能模块冗余;进一步,本发明中还可采用硬件实现Turbo码交织器,可加快交织器速度、减小功耗,特别适合UE等手持设备低功耗要求。


图1是现有技术Turbo码编码器实现示意图;图2是现有技术Turbo码译码器实现示意图;图3是现有技术将交织结果进行缓存的示意图;图4是本发明交织装置的具体实施例组成示意图;图5是本发明Turbo码交织器的组成示意图;
图6是本发明交织装置在上行优先级高时进行交织处理的流程图;图7是本发明交织装置对相同交织长度的处理流程图。
具体实施例方式
本发明核心在于Turbo编解码中共享使用一个Turbo码交织器,从而避免编解码都需要专门的Turbo码交织器,以致功能模块冗余的问题。
具体参考图4所示,本发明中所述的交织装置包括存储器11,本发明中所述的存储器11用于存储上下行交织结果,具体实现时,所述的存储器可采用RAM,另外实际设置时,所述的存储器可以设置为一个,供上行或下行交织处理共用,只有上行/下行Turbo编码完成或译码完成后,才供下一次上行/下行Turbo编码、译码使用,另外,本发明中所述的存储器也可设置为两块,分别供上行和下行交织处理使用,如图4所示,分别为上行交织结果存储器,用于存储上行交织结果;和下行交织结果存储器,用于存储下行交织结果。
Turbo码交织器12,本发明中所述的Turbo码交织器12与所述的存储器11相连,用于进行上行或下行交织处理并将交织结果输出给存储器11存储;经过对协议的分解,Turbo码交织器的处理过程可以分解成3个阶段第一阶段根据码块长度确定一些基本参数,如交换矩阵的行数R和列数C以及素数P和根v等;第二阶段根据P的取值确定最小素整数组Qj,根据交换矩阵的行数R和列数C确定行内交换的序列S(i);第三阶段根据上述确定最小素整数组Qj和行内交换的序列S(i)计算交织后的地址,把地址存入片外RAM中。
具体实现时,为实现上述3个阶段的处理,本发明中所述的Turbo码交织器包括基本参数确定装置121,本发明中所述的基本参数确定装置121进行交织计算的第一状态处理,根据码块长度确定SI数据计算和QJ数据计算所需的基本参数,所述的基本参数包括交换矩阵的行数和列数值、素数值和根值;QJ数据计算装置122,本发明中所述的QJ数据计算装置122在所述的第一状态处理结束后,进行交织计算处理的第二状态处理,根据所述的素数值确定最小素整数组Qj;SI数据计算装置123,本发明中所述的SI数据计算装置123在所述的第一状态处理结束后,进行交织计算处理的第二状态处理,根据所述的交换矩阵的行数和列数值确定行内交换的序列S(i);交织地址计算装置124,本发明中所述的交织地址计算装置124在所述的第二状态处理结束后,进行交织计算的第三状态处理,根据所述的最小素整数组Qj和行内交换的序列S(i)计算交织后的地址;状态控制装置125,本发明中所述的状态控制装置125控制所述的基本参数确定装置121、QJ数据计算装置122、SI数据计算装置123和交织地址计算装置124启动所述的第一、第二和第三状态的处理。
需要说明的是,为加快交织速度、减小功耗,本发明中所述的Turbo码交织器最好采用硬件实现,根据实际情况的不同也可采用软件实现,这里不再赘述。
共享处理器13,本发明中所述的共享处理器13与所述的Turbo码交织器相连,用于在上下行交织冲突时控制选择所述的Turbo码交织器进行优先级高的上行或下行交织处理。
具体实现时,本发明中所述的共享处理器13包括冲突检测装置,检测是否有上下行交织处理请求的冲突;冲突处理装置,在所述的冲突检测装置检测到有上下行交织处理请求的冲突时,根据预定上下行交织处理优先级,控制选择Turbo码交织器对优先级高的上行或下行交织请求进行优先处理。
由于本发明中基带物理层处理器上下行共用Turbo交织器,必然存在共享冲突问题,具体可分为如下几种情况1、上下行同时请求Turbo交织器;2、Turbo交织器已正在处理上行请求时,下行发起交织请求;3、Turbo交织器已正在处理下行请求时,上行发起交织请求。
具体实现时,可根据上下行任务紧急度划分优先级,本发明中在上下行交织冲突时可根据预定的上下行交织处理优先级进行,例如,若上行优先级高,可按照如下优先级进行处理上下行同时发起交织请求,优先处理上行交织请求;Turbo码交织器正在处理上行请求时,下行发起交织请求,优先处理上行交织请求,待上行交织处理完毕,再进行下行交织处理;Turbo码交织器正在处理下行请求时,上行发起交织请求,优先处理上行交织请求或上行等待。
同样对于下行优先级高,本发明中可按照如下的优先级进行处理上下行同时发起交织请求,优先处理下行交织请求;Turbo码交织器正在处理下行请求时,上行发起交织请求,优先处理下行交织请求,待下行交织处理完毕,再进行上行交织处理;Turbo码交织器正在处理上行请求时,下行发起交织请求,优先处理下行交织请求或下行等待。
参考图6,该图是在上行优先级高时进行交织冲突处理的流程图,对于情况1,Turbo码交织器先处理上行Turbo码交织计算,而后再计算下行;对于情况(2),下行交织请求将等待上行交织处理完毕,即Turbo码交织器先处理上行交织请求,然后再启动进行下行交织处理;对于情况(3),有两种可选的处理方式一、上行等待,Turbo码交织器继续处理下行交织请求;二、上行立即抢占交织计算,Turbo码交织器先进行上行交织处理,这里共享处理器对情况(3)使用方式一。
需要说明的是,对于Turbo码相同交织长度请求的处理,本发明中所述的共享处理器13还包括有比较处理装置,所述的比较处理装置用于检测交织请求的码块长度,若与已处理过交织请求的码块长度相同,则结束交织;否则,更新码块长度记录,交由Turbo码交织器重新进行交织处理,由于Turbo码交织器对前后两次相同交织长度请求采用冗余处理机制,可避免重复执行交织计算,提高交织效率。
具体参考图7,按照3GPP物理层协议(25.212)规定,以码块为单位处理Turbo码编解码,当传输信道存在多个长度相等的码块时,即各个码块的交织映射表相同,对于新的交织请求,首先在步骤60比较新旧码块长度,若相同,则交织结束,若不同,执行步骤61,步骤62,更新码块长度记录,启动交织计算,将交织变换表存入RAM中,供多次编解码读取,然后结束该次交织,由于Turbo交织器只需启动一次,从而避免重复执行交织计算。
以上所述仅为本发明的优选实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的权利要求保护范围之内。
权利要求
1.一种交织装置,用于实现Turbo编解码中的交织,其特征在于,包括存储器,用于存储上下行交织结果;Turbo码交织器,与所述的存储器相连,用于进行上行或下行交织处理并将交织结果输出给所述的存储器存储;共享处理器,与所述的Turbo码交织器相连,用于在上下行交织冲突时控制选择所述的Turbo码交织器进行优先级高的上行或下行交织处理。
2.根据权利要求1所述的交织装置,其特征在于,所述的共享处理器包括冲突检测装置,检测是否有上下行交织处理请求的冲突;冲突处理装置,在所述的冲突检测装置检测到有上下行交织处理请求的冲突时,根据预定上下行交织处理优先级,控制选择Turbo码交织器对优先级高的上行或下行交织请求进行优先处理。
3.根据权利要求2所述的交织装置,其特征在于,所述的预定上下行交织处理优先级为上下行同时发起交织请求,优先处理上行交织请求;Turbo码交织器正在处理上行请求时,下行发起交织请求,优先处理上行交织请求,待上行交织处理完毕,再进行下行交织处理;Turbo码交织器正在处理下行请求时,上行发起交织请求,优先处理上行交织请求或上行等待;或上下行同时发起交织请求,优先处理下行交织请求;Turbo码交织器正在处理下行请求时,上行发起交织请求,优先处理下行交织请求,待下行交织处理完毕,再进行上行交织处理;Turbo码交织器正在处理上行请求时,下行发起交织请求,优先处理下行交织请求或下行等待。
4.根据权利要求1、2或3任一项所述的交织装置,其特征在于,所述的共享处理器还包括有比较处理装置,用于检测交织请求的码块长度,若与已处理过的交织请求的码块长度相同,则结束交织;否则,更新码块长度记录,交由Turbo码交织器重新进行交织处理。
5.根据权利要求1所述的交织装置,其特征在于,所述的存储器为一个,供上行和下行交织处理共用,只有上行/下行Turbo编码完成或译码完成后,才供下一次上行/下行Turbo编码、译码使用。
6.根据权利要求1所述的交织装置,其特征在于,所述的存储器包括两块,分别为上行交织结果存储器,用于存储上行交织结果;和下行交织结果存储器,用于存储下行交织结果。
7.根据权利要求5或6所述的交织装置,其特征在于,所述的存储器为随机存取存储器。
8.根据权利要求1所述的交织装置,其特征在于,所述的Turbo码交织器包括基本参数确定装置,进行交织计算的第一状态处理,根据码块长度确定SI数据计算和QJ数据计算所需的基本参数,所述的基本参数包括交换矩阵的行数和列数值、素数值和根值;QJ数据计算装置,在所述的第一状态处理结束后,进行交织计算处理的第二状态处理,根据所述的素数值确定最小素整数组;SI数据计算装置,在所述的第一状态处理结束后,进行交织计算处理的第二状态处理,根据所述的交换矩阵的行数和列数值确定行内交换的序列;交织地址计算装置,在所述的第二状态处理结束后,进行交织计算的第三状态处理,根据所述的最小素整数组和行内交换的序列计算交织后的地址;状态控制装置,控制所述的基本参数确定装置、QJ数据计算装置、SI数据计算装置和交织地址计算装置启动所述的第一、第二和第三状态的处理。
全文摘要
本发明公开一种交织装置,用于实现Turbo编解码中的交织,包括存储器,用于存储上下行交织结果;Turbo码交织器,与所述的存储器相连,用于进行上行或下行交织处理并将交织结果输出给所述的存储器存储;和共享处理器,与所述的Turbo码交织器相连,用于在上下行交织冲突时控制选择所述的Turbo码交织器进行优先级高的上行或下行交织处理。本发明中由于设置有共享处理器,通过冲突控制机制实现复用同一个Turbo码交织器单元,从而优化上下行Turbo码交织器使用,避免功能模块冗余。
文档编号H03M13/29GK1841940SQ200510058879
公开日2006年10月4日 申请日期2005年3月30日 优先权日2005年3月30日
发明者张凯 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1