当前位置: 首页 > 专利查询>清华大学专利>正文

提高Turbo码译码速度的并行译码方法及译码装置制造方法及图纸

技术编号:3425017 阅读:324 留言:0更新日期:2012-04-11 18:40
提高Turbo码译码器速度的并行译码方法及译码装置属于Turbo码译码器技术领域,其特征在于:它是在已有的迭代译码的基础上,利用并行工作的P个单独的小译码器实现P并行度的译码从而提高译码器速度的装置。相应地提出了适用于这种并行译码结构的交织器的设计方法及装置、小译码器以及外信息存储器、接收信号存储器、状态控制器等装置。利用这样的方法及装置,译码速度大约可以提高P倍,而总的存储量并没有增加,占用的资源也并没有增加P倍,因而以较小的代价换取了译码速度的显著提高,从而使得高速译码得以实现。

【技术实现步骤摘要】

提高Turbo码译码速度的并行译码方法及译码装置属于Turbo码译码器

技术介绍
Turbo码是接近香农极限的一种信道编码,建立在卷积码的基础上,在编码长度较长的情况下能得到接近香农极限的纠错性能,而且译码的复杂性不是很高,如果译码器可以达到一定的速度,满足在3G以及未来的4G通信中对数据率以及速度越来越高的要求,则会具有更广泛的应用前景。Turbo码编码本质上是并行级联卷积码,设其编码为(n,k),则编码效率是k/n,它是由两个子编码器和一个交织器组成的编码器。编码结构示意图如图1所示。以1/3码率为例,输入是1bit,输出是3bit,包括信息位X和校验位Y、Y’,两个校验位Y、Y’分别是不经过交织器和经过交织器编码后的输出。一)一种没有读写冲突的交织器。对于Turbo码并行译码方案来说,每个子译码块是单独同时译码的,如果采用随机交织的方案,那么在同一个时刻,可能会对同一个译码子块的不同位置进行读或者写操作,而对于一个存储结构RAM来说,相同的时刻只能进行一个位置的读或者写,这样就产生了读写冲突。因此,要实现并行译码,就要设计出一种没有这样的读写冲突的交织器。根据相关文献调研,设计思想如下取块长度为W,N为码长,则P=N/W为并行度。根据P和W的不同情况采用不同的交织方案(要求P<=W),描述如下i.P为整数,且P与W互为素数,则将N写成P*W(P行W列)的矩阵,然后按照列的顺序读,每行为W个元素,还是P行。这样的交织表是没有冲突的,同一列的元素进行同时的读写操作,但属于不同的RAM,这样就避免了冲突。如N=28,W=7,P=4,交织表见表1所示。ii.当P为整数,但P与W不互为素数时,设K为所述P与W的最大公约数,则把N写成P行W列的矩阵,将该矩阵以列的顺序的方式分成K块,在变换第0块时,同前一种情况正常列读的顺序将该块读成每一行有W个元素的矩阵;在变换第I块时,将本块最后I个元素顺次提到本块首,然后按照同前一种情况正常列读的顺序将该块读成每一行有W个元素的矩阵,其中I=1,…,K-1,由此得到一个交织表;由此得到一个交织表;如N=64,W=8,P=8,交织表见表2所示。iii.P不为整数,将整个块分为两部分,然后两块分别按照上面的方法处理。因为我们可以采用尾部加0然后译码舍弃的方法总可以使得P为整数。 表1 N=28,W=7交织表 交织之前 表2 N=64,W=8交织表以上设计方法能够满足并行的读写没有冲突,但是随机性显然不够。相邻的码之间的相对关系比较固定,比如都间隔W,相邻以及相隔一定关系的码的随机性不够,译码性能不好。要使之能适用于Turbo码译码器,还需要进行随机化处理。随机化处理的方法有很多,比如进行行内交织、行间交织或者同时进行行内和行间交织都可以达到这样的效果。最终交织方案的确定,是要通过大量的仿真来实现的,我们最终采用先进行行内交织再进行行间交织的方式,这也是我们专利技术的一部分。二)迭代译码方法Turbo译码是采用迭代译码的方法进行的,迭代原理示意图如图3所示。具体方法原理因为已经是成熟技术,在此不作详细描述。
技术实现思路
本专利技术的目的在于提供一种可以提高Turbo码译码器速度的方法及译码装置。本专利技术的提高Turbo码译码器速度的并行译码方法的特征在于该方法是利用并行工作的P个单独的基于Turbo码迭代译码的小译码器和在并行译码时没有读写冲突的交织器来提高译码速度的,所述的译码方法依次含有以下步骤步骤1对所有存储器及控制器进行初始化;步骤2把P个小交织表存入P个存储器构成的小交织器,所述P个小交织表按照以下步骤得到当P为整数,且P与W互为素数,则将N写成P行W列的矩阵可,然后按照列的顺序读写,每行为W个元素,共P行,其中,块长度为W,N为码长,P=N/W,所述P代表并行度;由此,得到一个交织表;当P为整数,但P与W不互为素数时,设K为所述P与W的最大公约数,则把N写成P行W列的矩阵,将该矩阵以列的顺序的方式分成K块,在变换第0块时,同前一种情况正常列读的顺序将该块读成每一行有W个元素的矩阵;在变换第I块时,将本块最后I个元素顺次提到本块首,然后按照同前一种情况正常列读的顺序将该块读成每一行有W个元素的矩阵,其中I=1,…,K-1,由此得到一个交织表;当P不为整数时,把整个块分为两部分,把两块分别按前面方法处理。此时,也可以对译码数据尾部加0然后译码舍弃的方法使得P变为正数,由此得到一个交织表;再把所述交织表中的先进行行内交织、再进行行间交织,或者同时进行行内交织和行间交织,以此提高随机性,上述大交织表的每一行形成一个小的交织表,得到本专利技术所用于并行译码的读写部冲突的交织表;步骤3把帧待译码数据送入RAM读写控制器;步骤4迭代控制器向所属RAM读写控制器发送迭代信号,同时,迭代计数器开始计数;步骤5所述RAM读写控制器在迭代控制信号控制下,从所述接收信号存储器读出P块数据,并行地送入P个子译码器,同时从P个存储交织表的交织器中读取交织表,进行Turbo码分段递推式译码;步骤6所述每一个字译码器对输入的每一块数据先进行预推,已得到前向递推的状态似然值的初始值,然后在每一块内进行分段递推,此时,前向递推和反向递推同时进行,前向递推的同时进行似然比和外信息的计算;步骤7P个子译码器在每次迭代后读出接收信号和相应的外信息之后,再把外信息送往RAM读写控制器经过处理后写入外信息存储器,共所述P个子译码器读出用于下一次迭代; 步骤8所述迭代次数计数器迭代次数满之后发出迭代结束信号,所述P个子译码器发出硬判决信息。本专利技术的提高Turbo码译码器速度的并行译码装置的特征在于RAM读写控制器,P个子译码器,P个接收信号存储器,P个外信息存储器,P个小交织器以及一个迭代控制其,迭代次数计数器,其中,P=N/W,N为帧待译码数据码长,W为块长,P为并行度,其中迭代控制器输出迭代控制信号;RAM读写控制器,设有迭代控制信号,作为帧待译码数据的接收信号以及外信息的输入端;P个接收信号存储器,该存储器的读写控制信号和写数据输入端与所述RAM读写控制器的相应信号输出端相连,该存储器的输出端与所述的RAM读写控制器的相应输入端相连;迭代次数计数器,该计数器的技术脉冲输出端与所述RAM读写控制器相应输入端相互连;P个外信息存储器,该存储器的外信息数据、地址信号输入端与所述的RAM读写控制器的相应输出端相连;P个子译码器,P个数据信号、地址信号输入端与所述RAM读写控制器的P个交织后的帧待译码数据及地址信号输出端相连;该P个子译码器硬判决信号输出端及外信息输出端与所述RAM读写控制器相应输入端相连;P个小交织器,都由存储器构成,所述P个小交织器以下属步骤构成存储了的交织表当P为整数,且P与W互为素数,则将N写成P行W列的矩阵可,然后按照列的顺序读写,每行为W个元素,共P行,其中,块长度为W,N为码长,P=N/W,所述P代表并行度;由此,得到一个交织表;当P为整数,但P与W不互为素数时,设K为所述P与W的最大公约数,则把N写成P行W列的矩阵,将该矩阵以列的顺序的方式分成K块,在变换第0块时,同前一种情况正常列读的顺序将该块读成每一行有W个元素的矩阵;在本文档来自技高网
...

【技术保护点】
提高Turbo码译码速度的并行译码方法,其特征在于,该方法是利用并行工作的P个单独的基于Turbo码迭代译码的小译码器和在并行译码时没有读写冲突的交织器来提高译码速度的,所述的译码方法依次含有以下步骤:步骤1:对所有存储器及控制器进 行初始化;步骤2:把P个小交织表存入P个存储器构成的小交织器,所述P个小交织表按照以下步骤得到:当P为整数,且P与W互为素数,则将N写成P行W列的矩阵可,然后按照列的顺序读写,每行为W个元素,共P行,其中,块长度为W,N为码 长,P=N/W,所述P代表并行度;由此,得到一个交织表;当P为整数,但P与W不互为素数时,设K为所述P与W的最大公约数,则把N写成P行W列的矩阵,将该矩阵以列的顺序的方式分成K块,在变换第0块时,同前一种情况正常列读的顺序将该块读成 每一行有W个元素的矩阵;在变换第I块时,将本块最后I个元素顺次提到本块首,然后按照同前一种情况正常列读的顺序将该块读成每一行有W个元素的矩阵,其中I=1,…,K-1,由此得到一个交织表;当P不为整数时,把整个块分为两部分,把两块分别 按前面方法处理;此时,也可以对译码数据尾部加0然后译码舍弃的方法使得P变为整数,由此得到一个交织表;再把所述交织表先进行行内交织、再进行行间交织,或者同时进行行内交织和行间交织,以此提高随机性,得到大交织表,上述大交织表的每一行形成 一个小的交织表,得到本专利技术所用于并行译码的读写不冲突的大交织表;步骤3:把帧待译码数据送入RAM读写控制器;步骤4:迭代控制器向所属RAM读写控制器发送迭代信号,同时,迭代次数计数器开始计数;步骤5:所述RAM读写控 制器在迭代控制信号控制下,从所述接收信号存储器读出P块数据,并行地送入P个子译码器,同时从P个存储交织表的交织器中读取交织表,进行Turbo码分段递推式译码;步骤6:所述每一个子译码器对输入的每一块数据先进行预推,以得到前向递推的状 态似然值的初始值,然后在每一块内进行分段递推,此时,前向递推和反向递推同时进行,前向递推的同时进行似然比和外信息的计算;步骤7:P个子译码器在每次迭代后读出接收信号和相应的外信息之后,经过迭代译码计算将外信息送往RAM读写控制器写入 外信息存储器,供所述P个子译码器读出用于下一次迭代;步骤8:所述迭代次数计数器迭代次数满之后向迭代控制其发出迭代结束信号,所述...

【技术特征摘要】

【专利技术属性】
技术研发人员:郑银香张秀军周世东许希斌粟欣肖立民赵明王京
申请(专利权)人:清华大学
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1