《一种TURBO码译码装置及方法.pdf》由会员分享,可在线阅读,更多相关《一种TURBO码译码装置及方法.pdf(30页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104092470A43申请公布日20141008CN104092470A21申请号201410359510822申请日20140725H03M13/2720060171申请人中国人民解放军国防科学技术大学地址410073湖南省长沙市开福区德雅路109号72发明人魏急波熊春林王建王杉陈彬张康俐74专利代理机构北京集佳知识产权代理有限公司11227代理人王宝筠54发明名称一种TURBO码译码装置及方法57摘要本发明公开一种TURBO码译码装置及方法,所述装置包括子块划分模块、并行译码模块、解交织模块和硬判决模块。子块划分模块将待译码的TURBO码码块划分为P个子块;并行译码模块。
2、采用P/M个SISO译码单元对由P个子块分成的P/M个子块分组进行并行译码,得到各个子块相对应的判决软信息,其中,每个子块分组包括M个子块,每个SISO译码单元基于时分复用原理对相应子块分组所包括的M个子块进行译码;后续对判决软信息进行解交织和硬判决得到TURBO码码块的译码结果。可见,本发明利用时分复用原理通过对不同子块的译码操作进行合理调度,实现了M个子块共用一个SISO译码单元完成译码操作的功能,降低了硬件资源的消耗。51INTCL权利要求书3页说明书18页附图8页19中华人民共和国国家知识产权局12发明专利申请权利要求书3页说明书18页附图8页10申请公布号CN104092470ACN。
3、104092470A1/3页21一种TURBO码译码装置,其特征在于,包括子块划分模块、并行译码模块、解交织模块和硬判决模块,其中所述子块划分模块,用于将待译码的TURBO码码块划分为P个子块,所述P为大于1的自然数;所述并行译码模块,用于采用P/M个软输入软输出SISO译码单元对由所述P个子块分成的P/M个子块分组进行并行译码,得到所述各个子块相对应的判决软信息,其中,每个子块分组包括M个子块,每个SISO译码单元基于时分复用原理对相应子块分组所包括的M个子块进行译码,所述M为大于1的自然数;所述解交织模块,用于对所述判决软信息进行解交织处理,得到解交织后的判决软信息;所述硬判决模块,用于对。
4、所述解交织后的判决软信息进行硬判决,得到所述TURBO码码块的译码结果。2根据权利要求1所述的TURBO码译码装置,其特征在于,所述子块划分模块包括信道信息接收单元,用于接收如下四类数据系统软信息X1,K、系统软信息X1,K经解交织处理后的系统软信息X2,K以及校验软信息Z1,K和Z2,K;信道信息存储单元,用于将每类所述数据分为P个子数据块进行存储,其中,P为不小于4的自然数,且P为2的幂次。3根据权利要求2所述的TURBO码译码装置,其特征在于,所述并行译码模块包括设置模块、MAP并行译码模块、并行解交织模块、并行交织模块以及迭代控制模块,其中所述设置模块,用于设置迭代参数X,并为所述X赋。
5、值0,其中所述X表示所述MAP并行译码模块已执行的迭代译码次数;所述MAP并行译码模块,包括P/M个SISO译码单元,每个所述SISO译码单元以时分复用的方式产生顺序地址来读取所对应的M个子块的系统软信息X1,K、校验软信息Z1,K,所述读取以MAXM,4个时钟周期为单位循环执行;并利用所述系统软信息X1,K、校验软信息Z1,K计算各子块相应的判决软信息和第一外信息;所述并行解交织模块,用于对所述各子块相应的第一外信息进行解交织处理,得到第二先验信息,之后,触发所述MAP并行译码模块执行如下操作每个所述SISO译码单元以时分复用的方式产生顺序地址来读取所对应的M个子块的系统软信息X2,K、校验。
6、软信息Z2,K以及第二先验信息,所述读取以MAXM,4个时钟周期为单位循环执行;并利用所述系统软信息X2,K、校验软信息Z2,K以及第二先验信息计算各子块相应的判决软信息和第二外信息;所述迭代控制模块,用于将所述X值加1,并判断所述X的值是否达到预设阈值,若判断结果为是,则将此时MAP并行译码模块计算得到的判决软信息输出,并在本轮译码完成后结束整个TURBO码译码过程;若判断结果为否,则触发所述并行交织模块;所述并行交织模块,用于对所述各子块相应的第二外信息进行交织处理,得到第一先验信息,并触发所述MAP并行译码模块执行如下操作每个所述SISO译码单元以时分复用的方式产生顺序地址来读取所对应的。
7、M个子块的系统软信息X1,K、校验软信息Z1,K以及第一先验信息,所述读取以MAXM,4个时钟周期为单位循环执行;并利用所述系统软信息X1,K、校验软信息Z1,K以及第一先验信息计算权利要求书CN104092470A2/3页3各子块相应的判决软信息和第一外信息;之后,触发所述并行解交织模块。4根据权利要求3所述的TURBO码译码装置,其特征在于,所述SISO译码单元在计算过程中,具体采用延迟归一化原理,把未归一化状态度量的计算和上一组归一化状态度量的最大值的搜寻并行执行,利用上一组状态度量的最大值对新计算出的未归一化的状态度量进行归一化处理。5根据权利要求3所述的TURBO码译码装置,其特征在。
8、于,所述并行交织模块包括外信息次序调整单元、并行交织地址产生单元和子块标号及子块内数据地址确定单元,其中所述外信息次序调整单元,用于将所述MAP并行译码模块输出的2P/M路外信息按照预设方式调整为P/2路;所述并行交织地址产生单元,用于在所述外信息次序调整单元输出有效外信息期间,每个时钟周期产生P/4个交织地址,相应地用于P/2个外信息数据的存储;所述子块标号及子块内数据地址确定单元,用于利用并行交织地址产生单元产生的P/4个交织地址确定P/2个外信息所对应的子块标号和子块内数据地址,并将所确定的子块标号、子块内数据地址与外信息发送至外信息缓存RAM实现外信息存储,得到后续译码操作所需的第一先。
9、验信息。6根据权利要求5所述的TURBO码译码装置,其特征在于,所述并行交织地址产生单元包括QPP交织器,用于生成基地址S,S0,1,N/P,其中,N为TURBO码码块的长度;并行地址生成器,用于在P/4的并行度下,利用所述基地址在每个时钟周期生成P/4个并行交织地址。7一种TURBO码译码方法,其特征在于,包括将待译码的TURBO码码块划分为P个子块,其中,所述P为大于1的自然数;采用P/M个软输入软输出SISO译码单元对由所述P个子块分成的P/M个子块分组进行并行译码,得到所述各个子块相对应的判决软信息,其中,每个子块分组包括M个子块,每个SISO译码单元基于时分复用原理对相应子块分组所包。
10、括的M个子块进行译码,所述M为大于1的自然数;对所述判决软信息进行解交织处理,得到解交织后的判决软信息;对所述解交织后的判决软信息进行硬判决,得到所述TURBO码码块的译码结果。8根据权利要求7所述的TURBO码译码方法,其特征在于,所述将待译码的TURBO码码块划分为P个子块,包括接收如下四类数据系统软信息X1,K、系统软信息X1,K经解交织处理后的系统软信息X2,K以及校验软信息Z1,K和Z2,K;将每类所述数据分为P个子数据块进行存储,其中P为2的幂次。9根据权利要求8所述的TURBO码译码方法,其特征在于,所述采用P/M个软输入软输出SISO译码单元对由所述P个子块分成的P/M个子块分。
11、组进行并行译码得到所述各个子块相对应的判决软信息,包括设置迭代参数X,并为所述X赋值0,其中所述X表示所述MAP并行译码模块已执行的迭代译码次数;采用P/M个SISO译码单元,每个SISO译码单元以时分复用的方式产生顺序地址来读权利要求书CN104092470A3/3页4取所对应的M个子块的系统软信息X1,K、校验软信息Z1,K,所述读取以MAXM,4个时钟周期为单位循环执行;并利用所述系统软信息X1,K、校验软信息Z1,K计算各子块相应的判决软信息和第一外信息;对所述各子块相应的第一外信息进行解交织处理,得到第二先验信息,之后,触发如下操作每个所述SISO译码单元以时分复用的方式产生顺序地址。
12、来读取所对应的M个子块的系统软信息X2,K、校验软信息Z2,K以及第二先验信息,所述读取以MAXM,4个时钟周期为单位循环执行;并利用所述系统软信息X2,K、校验软信息Z2,K以及第二先验信息计算各子块相应的判决软信息和第二外信息;将所述X值加1,并判断所述X的值是否达到预设阈值,若判断结果为是,则将此时MAP并行译码模块计算得到的判决软信息输出,并在本轮译码完成后结束整个TURBO码译码过程;若判断结果为否,则继续执行以下操作;对所述各子块相应的第二外信息进行交织处理,得到第一先验信息,并触发如下操作每个所述SISO译码单元以时分复用的方式产生顺序地址来读取所对应的M个子块的系统软信息X1,。
13、K、校验软信息Z1,K以及第一先验信息,所述读取以MAXM,4个时钟周期为单位循环执行;并利用所述系统软信息X1,K、校验软信息Z1,K以及第一先验信息计算各子块相应的第一外信息和判决软信息;之后,转至执行对所述各子块相应的第一外信息进行解交织处理。10根据权利要求9所述的TURBO码译码方法,其特征在于,所述对所述各子块相应的第二外信息进行交织处理得到第一先验信息,包括将所述MAP并行译码模块输出的2P/M路外信息按照预设方式调整为P/2路;在所述外信息次序调整单元输出有效外信息期间,每个时钟周期产生P/4个交织地址,相应地用于P/2个外信息数据的存储;利用并行交织地址产生单元产生的P/4个。
14、交织地址确定P/2个外信息所对应的子块标号和子块内数据地址,并将所确定的子块标号、子块内数据地址与外信息发送至外信息缓存RAM实现外信息存储,作为后续译码操作的第一先验信息。11根据权利要求10所述的TURBO码译码方法,其特征在于,所述在所述外信息次序调整单元输出有效外信息期间每个时钟周期产生P/4个交织地址,包括生成基地址S,S0,1,N/P,其中,N为TURBO码码块的长度;在P/4的并行度下,利用所述基地址在每个时钟周期生成P/4个并行交织地址。权利要求书CN104092470A1/18页5一种TURBO码译码装置及方法技术领域0001本发明属于移动通信系统技术领域,尤其涉及一种TUR。
15、BO码译码装置及方法。背景技术0002TURBO码具有固有的并行性、高编码增益,且由于TURBO码很好地应用了香农信道编码定理中的随机性编译码条件而获得了接近香农限的译码性能和纠错性能,因此TURBO码被WIMAX,CCSDS,3GPPLTE,HSDPA等诸多通信标准所采纳。0003TURBO码译码器采用反馈结构,以迭代的方式进行译码。当前,主要采用子块并行译码方式实现TURBO码的迭代译码,即具体地,将待译码的TURBO码码块分成P个子块,进而对P个子块进行并行译码,直至达到设定的迭代次数为止。传统的子块并行TURBO码译码方案需要P个SISOSOFTINPUTSOFTOUTPUT,软输入软。
16、输出译码单元来完成P个子块的并行译码操作,即每个子块的译码操作均需相应使用一个SISO译码单元来执行。而在现实应用中,例如,在高速数据传输的场景下,往往需要通过增加分块P的数目,即需要大数据量的子块并行译码来满足系统对吞吐量和处理时延的要求,此种情况下,上述并行译码方式需相应增加相同数目的SISO译码单元来实现译码需求,从而导致TURBO码译码所占用的硬件资源急剧增长,需要占用较多的硬件资源。0004可见,现有并行译码方式由于每个子块需要占用一个SISO译码单元而存在占用硬件资源较多的问题,尤其在高速数据传输场景下,会明显增加硬件资源的消耗。发明内容0005有鉴于此,本发明的目的在于提供一种T。
17、URBO码译码装置及方法,以克服现有并行译码方式存在的占用硬件资源较多的问题,实现在不增加译码时延的基础上降低硬件资源消耗的目的。0006为此,本发明公开如下技术方案0007一种TURBO码译码装置,包括子块划分模块、并行译码模块、解交织模块和硬判决模块,其中0008所述子块划分模块,用于将待译码的TURBO码码块划分为P个子块,所述P为大于1的自然数;0009所述并行译码模块,用于采用P/M个软输入软输出SISO译码单元对由所述P个子块分成的P/M个子块分组进行并行译码,得到所述各个子块相对应的判决软信息,其中,每个子块分组包括M个子块,每个SISO译码单元基于时分复用原理对相应子块分组所包。
18、括的M个子块进行译码,所述M为大于1的自然数;0010所述解交织模块,用于对所述判决软信息进行解交织处理,得到解交织后的判决软信息;0011所述硬判决模块,用于对所述解交织后的判决软信息进行硬判决,得到所述TURBO码码块的译码结果。说明书CN104092470A2/18页60012上述装置,优选的,所述子块划分模块包括0013信道信息接收单元,用于接收如下四类数据系统软信息X1,K、系统软信息X1,K经解交织处理后的系统软信息X2,K以及校验软信息Z1,K和Z2,K;0014信道信息存储单元,用于将每类所述数据分为P个子数据块进行存储,其中,P为不小于4的自然数,且P为2的幂次。0015上述。
19、装置,优选的,所述并行译码模块包括设置模块、MAP并行译码模块、并行解交织模块、并行交织模块以及迭代控制模块,其中0016所述设置模块,用于设置迭代参数X,并为所述X赋值0,其中所述X表示所述MAP并行译码模块已执行的迭代译码次数;0017所述MAP并行译码模块,包括P/M个SISO译码单元,每个所述SISO译码单元以时分复用的方式产生顺序地址来读取所对应的M个子块的系统软信息X1,K、校验软信息Z1,K,所述读取以MAXM,4个时钟周期为单位循环执行;并利用所述系统软信息X1,K、校验软信息Z1,K计算各子块相应的判决软信息和第一外信息;0018所述并行解交织模块,用于对所述各子块相应的第一。
20、外信息进行解交织处理,得到第二先验信息,之后,触发所述MAP并行译码模块执行如下操作每个所述SISO译码单元以时分复用的方式产生顺序地址来读取所对应的M个子块的系统软信息X2,K、校验软信息Z2,K以及第二先验信息,所述读取以MAXM,4个时钟周期为单位循环执行;并利用所述系统软信息X2,K、校验软信息Z2,K以及第二先验信息计算各子块相应的判决软信息和第二外信息;0019所述迭代控制模块,用于将所述X值加1,并判断所述X的值是否达到预设阈值,若判断结果为是,则将此时MAP并行译码模块计算得到的判决软信息输出,并在本轮译码完成后结束整个TURBO码译码过程;若判断结果为否,则触发所述并行交织模。
21、块;0020所述并行交织模块,用于对所述各子块相应的第二外信息进行交织处理,得到第一先验信息,并触发所述MAP并行译码模块执行如下操作0021每个所述SISO译码单元以时分复用的方式产生顺序地址来读取所对应的M个子块的系统软信息X1,K、校验软信息Z1,K以及第一先验信息,所述读取以MAXM,4个时钟周期为单位循环执行;并利用所述系统软信息X1,K、校验软信息Z1,K以及第一先验信息计算各子块相应的判决软信息和第一外信息;之后,触发所述并行解交织模块。0022上述装置,优选的,所述SISO译码单元在计算过程中,具体采用延迟归一化原理,把未归一化状态度量的计算和上一组归一化状态度量的最大值的搜寻。
22、并行执行,利用上一组状态度量的最大值对新计算出的未归一化的状态度量进行归一化处理。0023上述装置,优选的,所述并行交织模块包括外信息次序调整单元、并行交织地址产生单元和子块标号及子块内数据地址确定单元,其中0024所述外信息次序调整单元,用于将所述MAP并行译码模块输出的2P/M路外信息按照预设方式调整为P/2路;0025所述并行交织地址产生单元,用于在所述外信息次序调整单元输出有效外信息期间,每个时钟周期产生P/4个交织地址,相应地用于P/2个外信息数据的存储;0026所述子块标号及子块内数据地址确定单元,用于利用并行交织地址产生单元产生的P/4个交织地址确定P/2个外信息所对应的子块标号。
23、和子块内数据地址,并将所确定的说明书CN104092470A3/18页7子块标号、子块内数据地址与外信息发送至外信息缓存RAM实现外信息存储,得到后续译码操作所需的第一先验信息。0027上述装置,优选的,所述并行交织地址产生单元包括0028QPP交织器,用于生成基地址S,S0,1,N/P,其中,N为TURBO码码块的长度;0029并行地址生成器,用于在P/4的并行度下,利用所述基地址在每个时钟周期生成P/4个并行交织地址。0030一种TURBO码译码方法,包括0031将待译码的TURBO码码块划分为P个子块,其中,所述P为大于1的自然数;0032采用P/M个软输入软输出SISO译码单元对由所述。
24、P个子块分成的P/M个子块分组进行并行译码,得到所述各个子块相对应的判决软信息,其中,每个子块分组包括M个子块,每个SISO译码单元基于时分复用原理对相应子块分组所包括的M个子块进行译码,所述M为大于1的自然数;0033对所述判决软信息进行解交织处理,得到解交织后的判决软信息;0034对所述解交织后的判决软信息进行硬判决,得到所述TURBO码码块的译码结果。0035上述方法,优选的,所述将待译码的TURBO码码块划分为P个子块,包括0036接收如下四类数据系统软信息X1,K、系统软信息X1,K经解交织处理后的系统软信息X2,K以及校验软信息Z1,K和Z2,K;0037将每类所述数据分为P个子数。
25、据块进行存储,其中P为2的幂次。0038上述方法,优选的,所述采用P/M个软输入软输出SISO译码单元对由所述P个子块分成的P/M个子块分组进行并行译码得到所述各个子块相对应的判决软信息,包括0039设置迭代参数X,并为所述X赋值0,其中所述X表示所述MAP并行译码模块已执行的迭代译码次数;0040采用P/M个SISO译码单元,每个SISO译码单元以时分复用的方式产生顺序地址来读取所对应的M个子块的系统软信息X1,K、校验软信息Z1,K,所述读取以MAXM,4个时钟周期为单位循环执行;并利用所述系统软信息X1,K、校验软信息Z1,K计算各子块相应的判决软信息和第一外信息;0041对所述各子块相。
26、应的第一外信息进行解交织处理,得到第二先验信息,之后,触发如下操作每个所述SISO译码单元以时分复用的方式产生顺序地址来读取所对应的M个子块的系统软信息X2,K、校验软信息Z2,K以及第二先验信息,所述读取以MAXM,4个时钟周期为单位循环执行;并利用所述系统软信息X2,K、校验软信息Z2,K以及第二先验信息计算各子块相应的判决软信息和第二外信息;0042将所述X值加1,并判断所述X的值是否达到预设阈值,若判断结果为是,则将此时MAP并行译码模块计算得到的判决软信息输出,并在本轮译码完成后结束整个TURBO码译码过程;若判断结果为否,则继续执行以下操作;0043对所述各子块相应的第二外信息进行。
27、交织处理,得到第一先验信息,并触发如下操作每个所述SISO译码单元以时分复用的方式产生顺序地址来读取所对应的M个子块的系统软信息X1,K、校验软信息Z1,K以及第一先验信息,所述读取以MAXM,4个时钟周期为单位循环执行;并利用所述系统软信息X1,K、校验软信息Z1,K以及第一先验信息计算说明书CN104092470A4/18页8各子块相应的第一外信息和判决软信息;之后,转至执行对所述各子块相应的第一外信息进行解交织处理。0044上述方法,优选的,所述对所述各子块相应的第二外信息进行交织处理得到第一先验信息,包括0045将所述MAP并行译码模块输出的2P/M路外信息按照预设方式调整为P/2路;。
28、0046在所述外信息次序调整单元输出有效外信息期间,每个时钟周期产生P/4个交织地址,相应地用于P/2个外信息数据的存储;0047利用并行交织地址产生单元产生的P/4个交织地址确定P/2个外信息所对应的子块标号和子块内数据地址,并将所确定的子块标号、子块内数据地址与外信息发送至外信息缓存RAM实现外信息存储,作为后续译码操作的第一先验信息。0048上述方法,优选的,所述在所述外信息次序调整单元输出有效外信息期间每个时钟周期产生P/4个交织地址,包括0049生成基地址S,S0,1,N/P,其中,N为TURBO码码块的长度;0050在P/4的并行度下,利用所述基地址在每个时钟周期生成P/4个并行交。
29、织地址。0051本发明实施例提供的TURBO码译码装置包括子块划分模块、并行译码模块、解交织模块和硬判决模块。子块划分模块将待译码的TURBO码码块划分为P个子块;并行译码模块采用P/M个软输入软输出SISO译码单元对由所述P个子块分成的P/M个子块分组进行并行译码,得到各个子块相对应的判决软信息,其中,每个子块分组包括M个子块,每个SISO译码单元基于时分复用原理对相应子块分组所包括的M个子块进行译码;后续对判决软信息进行解交织和硬判决后,即可得到所述TURBO码码块的译码结果。实际应用场景中,可将M优选地设定为SISO译码单元完成子块的一次译码过程一个译码阶段所需的时钟周期个数,例如,针对。
30、SISO译码单元具体需要4个时钟周期完成一次前向/后向状态度量的更新,可将M设定为4,即在不增加译码时延的情况下,利用时分复用原理通过对不同子块的译码操作进行合理调度,使4个子块同时复用一个SISO译码单元来完成译码操作。0052可见,针对划分为P个子块的TURBO码码块,本发明仅需P/M例如P/4个SISO译码单元即可实现所述P个子块的并行译码操作。从而,和现有的子块并行译码方案相比,本发明的装置能够在不增加译码时延的基础上显著降低硬件资源消耗,实现了硬件资源的最大化利用。附图说明0053为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单。
31、地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。0054图1是本发明实施例一公开的TURBO码译码装置的结构示意图;0055图2是本发明实施例一公开的并行译码模块的结构示意图;0056图3是本发明实施例一公开的SISO译码单元的结构示意图;0057图4A、4B是本发明实施例一公开的SISO译码单元中状态度量和软信息计算过程的时序图;说明书CN104092470A5/18页90058图5是本发明实施例一公开的并行交织模块中外信息次序调整单元的硬件结构图;0059图6是本发明实施例一公开的并行交织模。
32、块中交织地址产生单元的硬件结构图;0060图7是本发明实施例一公开的外信息存储过程示意图;0061图8是本发明实施例二公开的TURBO码译码方法流程图;0062图9是本发明实施例二公开的并行译码的迭代过程示意图;0063图10是本发明实施例三公开的TURBO码译码装置实例图。具体实施方式0064为了引用和清楚起见,对下文中使用的技术名词、简写或缩写总结解释如下0065软信息也称为软比特、对数似然比LOGLIKELIHOODRATIO,LLR,是对接收比特的另一种表示方式。假设发送端发送的比特为BT,接收端在判决时认为BT以P1的概率取值为1,而以P01P1的概率取值为0,那么BT所对应的软信息。
33、表示为00660067显然,LBT0表明P1P0,即BT1的可能性要大于BT0的可能性,同时LBT越大意味着BT1的可能性就越大;同样地,当LBT4,在ACS单元的反馈支路上添加长度为M4的移位寄存器。0126相比于现有技术需要P个SISO译码单元来完成P个子块的并行译码操作,本发明仅需P/M个SISO译码单元,例如可优选采用P/4个SISO译码单元来实现P个子块的并行译码,在不增加译码时延的基础上,降低了硬件资源消耗。0127现有技术中,在两个分量译码器的迭代译码过程中,交织器、解交织器也需要按照相应的并行度,即并行度为P进行设计,与此相对,本发明利用QPPQUADRATICPERMUTAT。
34、IONPOLYNOMIAL交织器的数学特性对并行交织地址的生成方式进行了简化,在P/4的并行度下设计了并行解交织模块230以及并行交织模块240。0128并行交织模块240包括外信息次序调整单元、并行交织地址产生单元和子块标号及子块内数据地址确定单元。其中外信息次序调整单元在MAP并行译码模块输出有效外信息时启动,其输出数据触发并行交织地址产生单元工作,最后将次序调整后的外信息数据和相应的并行交织地址送至子块标号及子块内数据地址确定单元。0129外信息次序调整单元,用于将所述MAP并行译码模块输出的2P/M路外信息按照预设方式调整为P/2路。具体而言,从MAP并行译码模块开始输出有效外信息数据。
35、的时刻起,外信息次序调整单元将每M个连续时钟周期内的2P/M路输入数据按照如下方式转换为P/2个输出端口在4个时钟周期内的输出0130将第1,3,2M11,M1个时钟周期所对应的第1,3,2N11,2P/M1条输入支路上的外信息作为第1,2,2N1M11,P/2条输出支路在第1时刻的输出的外信息;0131将第2,4,2M2,M个时钟周期所对应的第1,3,2N21,2P/M1条输入支路上的外信息作为第1,2,2N2M21,P/2条输出支路在第2时刻的输出的外信息;0132将第1,3,2M31,M1个时钟周期所对应的第2,4,2N3,2P/M条输入支路上的外信息作为第1,2,2N3M31,P/2条。
36、输出支路在第3时刻的输出的外信息;0133将第2,4,2M4,M个时钟周期所对应的第2,4,2N4,2P/M条输入支路上的外信息作为第1,2,2N4M41,P/2条输出支路在第4时刻的输出的外信息;0134具体地,以M4的情况为例,此时本发明中PP2M,M2,3,个子块的并行译码操作通过P/4个SISO译码单元完成。以下用表示第P个子块中第I个比特XI所对应的外信息,那么MAP并行译码模块在KK3这4个连续时刻输出的外信息可用矩阵LE表示为说明书CN104092470A1411/18页1501350136其中,LE的第2U1与2U,U1,P/4行对应于第U个SISO译码单元的输出。外信息的次序。
37、调整通过图5所示的电路来实现,该结构由4组移位寄存器单元和一个换向器组成,每组移位寄存器可以同时缓存P/4个外信息。换向器的控制信号可以利用位宽为2的计数器来生成,在输入有效外信息期间令计数器持续计数,则计数器的高位就可用于控制换向器改变数据流的流向。需要说明的是,该电路结构基于寄存器最小化技术进行设计,故而实现了对寄存器资源的高效利用。0137调整后的外信息的输出形式可以用矩阵描述01380139其中的每一列代表外信息次序调整单元在每个时钟周期输出的外信息数据。可以发现,虽然同一时刻输出的外信息分属于不同的子块,但它们所对应的比特在相应子块内处于同一位置。0140并行交织地址产生单元,用于在。
38、所述外信息次序调整单元输出有效外信息期间,每个时钟周期产生P/4个交织地址,相应地用于P/2个外信息数据的存储。0141并行交织地址产生单元进一步包括一个串行QPP交织器和一个并行地址生成器。其中,QPP交织器,用于生成基地址S,S0,1,N/P,N为TURBO码码块的长度;并行地址生成器,用于在P/4的并行度下,利用所述基地址在每个时钟周期生成P/4个并行交织地址。0142具体地,TURBO码中常用的QPP交织器K定义为0143KF1KF2K2MODN,K0,N1100144其中F1MOD21,F2MOD20,N表示TURBO码的码块长度。执行并行译码操作时,需要将长度为N的TURBO码码块。
39、平均划分为P个长度为SN/P的子块,则KSKPKS,SK0,S1,PK0,P1。将KSKPKS对应的交织地址记作RSRPRS说明书CN104092470A1512/18页16SKPKS,SR0,S1,PR0,P1,如果原地址K1SK,1PK,1S和K2SK,2PK,2S满足SK,1SK,2S,PK,1PK,2,那么01450146SR,1SPK,1SMODSSPK,2SMODSSR,2120147其中11由QPP交织器的最大无冲突特性所决定,它保证了并行交织模块在同一时刻的输出结果写入RAM的过程中不会出现访问冲突;12由QPP交织器的最大向量特性决定,它有助于简化并行交织模块的设计。0148。
40、本发明以式1012的结论为基础,公开一种低复杂度的并行交织模块的硬件实现方案。0149假设TURBO码码块长度为N,分为P2M,M2,个子块进行并行译码。定义SP的交织地址矩阵R01500151其中,P0,P1是R的第P1列,表示第P个子块所对应的全部交织地址。利用11和12不难得出矩阵R满足如下特性01520153PSSSPSMODN,S0,S1,P0,P1150154其中,表示维数为S1的全1矢量。可以发现,在已知以及0,S,P/21S的情况下,矩阵R中的所有元素都可以根据14和15求出。0155基于上述特性本发明公开的并行交织模块如图6所示,QPP交织器生成基地址S,S0,S1,并行地址。
41、生成器将基地址叠加在不同的初始地址PS,P0,P/21上得到SPS,并比较SPS与TURBO码码块长度N的大小如果SPSN,那么所要计算的交织地址PSSSPS;否则PSSSPSN。0156具体地,以外信息次序调整单元开始输出有效外信息的时刻作为初始时刻,此后并行交织地址产生单元的内部操作以2个时钟周期为单位重复进行0157第1个时钟周期运行串行QPP交织器产生基地址S;并行地址生成器将基地址S与0,2S,P/22S相加后进行MODN运算,以此得到P/4个并行说明书CN104092470A1613/18页17交织地址,这里的SN/P表示每个子块的长度;0158第2个时钟周期串行QPP交织器处于空。
42、闲状态;并行地址生成器利用与前一时刻相同的S与0,2S,P/22S相加后进行MODN运算,以此得到P/4个并行交织地址。0159进一步,针对传统的QPP交织器硬件实现结构中所存在的关键路径较长的问题,本发明提出了一种具有较短关键路径长度的交织地址计算方法。即具体地,请参见图6,用于产生基地址S,S0,1,N/P的串行QPP交织器包含计算单元601、叠加单元602以及计算单元603三个子单元;分别执行16至18的运算0160K1K14F2MODN160161SUMK1KK1MODN170162K2KSUMK1MODN180163其中,K定义为K2F2KF1F2。除了加法器和取余MOD运算单元外,。
43、计算单元包括两个寄存器R1和R2,叠加单元包括一个寄存器R0,计算单元包括两个寄存器R3和R4;在电路开始工作时,需要根据系统参数分别将图中的移位寄存器R0R4初始化为0,1,2,0和1。给定TURBO码码块长度N与QPP交织器参数F1与F2,当串行QPP交织器处于工作状态时,与1618相对应,以上三个子单元在每个时钟周期内所执行的操作如下0164计算单元寄存器R2的输出数据进行MODN运算后存入R1;R1中前一时刻缓存的数据一方面与4F2MODN相加后存入R2,另一方面输出至叠加单元;0165叠加单元输入数据一方面送入寄存器R0进行存储,另一方面与R0中前一时刻缓存的数据相加并执行MODN运。
44、算后作为计算单元的输入;0166计算单元寄存器R4的输出数据进行MODN运算后存入R3;R3中前一时刻缓存的数据一方面与输入数据相加后存入R4,另一方面作为交织地址生成单元的输出。0167基于以上结构,本发明中交织地址生成单元的关键路径长度为TADDTMUX,其中TADD和TMUX分别表示执行一次加法运算和一次数据选择所需的时间。由于TADDTMUX,和现有结构中2TADDTMUX的关键路径长度相比,本发明所公开结构下生成交织地址所需的关键路径长度大约只有现有结构的一半,因此交织地址生成单元的最大工作时钟频率可以近似提升为现有方案的2倍。0168子块标号及子块内数据地址确定单元,用于利用并行交。
45、织地址产生单元产生的P/4个交织地址确定P/2个外信息所对应的子块标号和子块内数据地址,并将所确定的子块标号、子块内数据地址与外信息发送至外信息缓存RAMRANDOMACCESSMEMORY,随机存取存储器实现外信息存储,得到后续译码操作所需的先验信息。0169首先说明子块标号及子块内数据地址确定单元所基于的数学原理。此处,将第K时刻输入的交织地址和外信息分别表示为WKW0,K,WI,K,WP/41,K和EKE0,K,EJ,K,EP/21,K,其中01700171I0,P/41,J0,P/21。以N/2,N/4,N/P为因子对WK中的元素进行展开,那么0172说明书CN104092470A17。
46、14/18页180173根据12,WK中的每一个元素对应于相同的展开式余项WRAM,该余项即为外信息所对应的子块内数据地址。另一方面,外信息次序调整单元由LOG2P1级构成,其中第MM1,LOG2P1级所需的控制信号个数为P/2M1个。用CUV,U0,LOG2P1,V0,P/2M1表示排序网络第U级的第V个控制信号,那么0174CUVZVU210175在将外信息次序调整单元输出的外信息写入存储单元之前,还需要利用CW对P/2个外信息的数据流向进行最后调整。与控制信号CUV类似,CW也可以从20中得到01760177当CW0时,P/2个外信息并行写入子块0,2,P2对应的外信息缓存RAM;否则,。
47、需要将外信息写入子块1,3,P1对应的外信息缓存RAM。0178利用上述原理所设计的子块标号及子块内数据地址确定单元硬件实现方案通过如下的LOG2P1轮比较操作来确定P/2个外信息所对应的子块标号和子块内数据地址,其中前一轮操作执行完毕所得到的交织地址和外信息作为后一轮比较操作的操作对象;具体而言,第R2,3,LOG2P1轮比较操作只考虑P/4交织地址中的个前P/2R1个,如果其中的第I个地址不小于N/2R,则将这一地址减去N/2R同时把第I,IP/2R,I2R11P/2R个外信息分别与第IP/2R1,IP/2R1P/2R,IP/2R12R11P/2R个外信息进行对换;0179最后将第LOG2。
48、P1轮比较操作结束后得到P/4个地址值中的第一个与N/P进行比较,如果该地址不小于N/P,将其减去N/P后作为外信息的子块内数据地址,然后将第LOG2P1轮比较操作输出的P/2个外信息依次写入外信息缓存RAM中子块1,3,P1对应的存储单元;反之直接将该地址作为外信息的子块内数据地址,并把P/2个外信息依次写入外信息缓存RAM中子块0,2,P2对应的存储单元。0180请参见图7,图7以子块数目P16为例示出了外信息的存储过程,此时每个时钟周期需要利用P/44个并行交织地址向存储单元写入P/28个外信息。图7中的硬件电路由两部分构成,并行交织地址生成单元在计算子块内数据地址的同时产生控制信号以调。
49、节外信息次序调整单元中数据流的流向;外信息次序调整单元数据流的连接方式与RADIX2DIF信号流图类似,它利用各级的数据选择器组将外信息映射到相应的存储RAM,从而间接地实现了外信息所对应的子块序号的确定。0181通过并行度的降低,本发明公开的外信息存储方案比现有结构占用了更少的硬件资源。0182并行解交织模块230的结构与并行交织模块240的结构相同,不再详述。0183解交织模块300,用于对所述判决软信息进行解交织处理,得到解交织后的判决软信息。说明书CN104092470A1815/18页190184硬判决模块400,用于对所述解交织后的判决软信息进行硬判决,得到所述TURBO码码块的译码结果。0185为了得。