专利名称:对数据块冗余版本进行解码的Turbo解码器的制作方法
技术领域:
本发明涉及二进制数据解码的领域,以及更具体地涉及适于以迭代方式对已Turbo编码的数据块进行解码的解码设备及方法。
背景技术:
正如本领域的技术人员所知的,Turbo码经常被用于数字通信系统来对二进制数据进行编码,并通过传输信道(例如,在通信网络的基站和诸如第三代(3G)UMTS无线设备的终端设备之间)发送。实际上,传输信道经常使所发送的信号在接收信号上产生错误,并且Turbo码的使用允许适当的错误保护。为了对所要发送的二进制序列进行编码,并将其分成各个块,传输设备(例如,UMTS通信网络的基站和Node B)包括Turbo编码器,Turbo编码器被施加以数据块(即,系统数据和向量S),并适于采用向量S的第一递归卷积编码来产生第一奇偶校验向量(parity vector)P1以及,并行地,适于采用由已知的向量成分置换交织的向量S的第二递归卷积编码,来产生第二奇偶校验向量P2。接着,根据指定的方案对系统和编码向量(和序列)进行复用,并根据指定的调制方案(例如,由3GPP规范所定义的调制方案)对系统和编码的向量(和序列)进行调制。通过传输信道,将得到的信号发送到终端(和用户)设备,该设备本身包括支持Turbo解码的接收设备。
为了对编码数据块进行解码,接收设备包括Turbo解码器。这种Turbo解码器通常包括用于存储由分别表示子序列S、P1和P2的RS、RP1和RP2所组成的编码接收序列的输入缓冲器、第一和第二SISO子解码器(“软输入软输出”)、第一和第二交织器、两个解交织器以及迭代控制模块。在迭代控制模块的控制下,以迭代方式处理由RS、RP1和RP2(表示S、P1和P2)所组成的编码接收序列。在专利文件WO 03/098811和US 6,732,327中,特别地描述了这种类型的Turbo解码器。
一些所提议的Turbo解码器使用所谓的“滑窗”算法来处理所接收到的由RS、RP1和RP2所组成的序列。在滑窗算法的改进中,将指定的“下一个迭代初始化”、前向和后向递归计算用于由接收到的序列所定义的数据块的子块。执行后向计算来为每个子块以及在每个迭代期间确定在下一个迭代期间使用的状态度量集(有时称为标桩(stake))以便确定下一个度量集(或标桩),直至在最后的迭代期间得到最后的度量集(或标桩)。最后,通过执行CRC校验的独立的单元来确定已处理的数据块的每个子块的有效性。
在UMTS Release 99中,如果CRC校验失败,则完全放弃已解码的数据。在UMTS Release5中,如果CRC校验失败,则“ACK/NACK”消息被发回基站以确认并请求重传。这个过程称为HARQ(“混合自动重传请求”)并被引入HSDPA(高速下行分组接入)。
这个新的下行分组接入HSDPA(WCDMA的演进,并由3GPP的HSDPA 3G TR 25.212规范定义),要求比已知的迭代Turbo解码器所提供的更快的数据解码。
发明内容
因此,本发明的目的是提供一种适于HSDPA实现的改进的迭代Turbo解码器。
为这个目的,提供了一种迭代解码设备(或Turbo解码器),包括解码装置,用于通过下一个迭代初始化机制(滑窗算法)对所接收到的编码数据块(或向量)进行解码,以便确定与接收到的编码数据块相关联的最终标桩,从而计算第一和第二硬判决位;以及控制装置,被设置成选择所述第一和第二硬判决位之一,以便校验与这个接收到的数据块相关联的CRC字段的有效性。
此迭代解码设备,其特征在于,它包括第一存储装置,以及所述控制装置被设置成当接收到的块的CRC字段无效时,i)命令解码装置将与此块相关的最后的标桩存储在第一存储装置中,ii)要求此块的冗余版本的传输,以及iii)当接收到冗余版本时在将滑窗算法应用到所接收到的冗余版本之前以所存储的最后标桩来初始化解码装置。
根据本发明的迭代解码设备可包括单独或结合并被显著考虑的附加特征-其第一存储装置可被设置为存储与N个连续且不同的块分别关联的N组最终标桩,N大于1。一个组包括与一个块相关联的至少一个最终标桩。一个组中的最终标桩的数量取决于所关联的块的重传冗余版本的数量。此外,N组最终标桩被存储,因为重传可在其他块的N次传送之后到达,-其解码装置可被设置为,在每个迭代期间确定与接收到的块的已选定部分相结合的外信息项,以发送先验信息项;此外该解码装置的控制装置可被设置为,在所接收的块的CRC字段无效时命令解码装置在最终迭代期间将由解码装置所确定的最终外信息项存储在第二存储装置中,此外,该控制装置还被设置为在接收到冗余本版时,在将滑窗算法应用于接收到的冗余版本之前,以所存储的最终外信息项初始化解码装置,-第二存储装置可被设置为存储与所接收块的N个冗余版本分别关联的N组最终外信息项,N大于1,-第三存储装置,其控制装置可存储所积累的错误块的信息;以及组合装置,被设置为,在向解码装置发送具有相应的Chase组合信息的最近所接收的冗余版本之前,通过将Chase组合与存储于第三存储装置并与所述块的之前冗余版本相关联的相应信息相加,来将该Chase组合应用到包含在最近所接收的块的每个最终冗余版本的信息中。
本发明还提供诸如适于HSDPA通信并包括诸如上面所介绍的迭代解码设备的通信接收机。这样的通信设备可以是诸如移动电话(或用户设备)的通信设备的一部分。
本发明还提供了一种迭代解码方法,该方法包括将所谓的下一个迭代初始化机制应用于接收到的编码数据块,以将其分成选定数量的子块;接着对这些子块的每个在每个迭代期间进行前向和后向递归计算,以确定定义了将要在下一个初始化期间使用的标桩的状态度量集,从而确定下一个标桩,直至在最终迭代期间得到最终标桩;以及,接着以与每个自身子块相关联的最终标桩来校验与块相关联的CRC字段的有效性。
这种方法的特征在于,当块的CRC字段无效时i)存储与此块相关联的最终标桩,ii)需要块的冗余版本的传输,以及iii)当接收到冗余版本时,下一个迭代初始化机制被应用于所接收到的冗余版本,并且在每个迭代期间对每个子块都进行了第一迭代的前向和后向递归计算,在第一迭代期间所存储的最终标桩被用作初始化标桩。
此外,在每个最终迭代期间,可确定与块的选定部分相结合的外信息项,以发送先验信息项,以及,在块的CRC字段无效时,存储在最终迭代期间所确定的外信息项本身,以及在接收到冗余版本时,将下一个迭代初始化机制应用于所接收到的冗余版本,并且在每个迭代期间对每个子块进行第一迭代的后向和后向递归计算,在第一迭代期间所存储的外信息项被用作初始化外信息项。
通过分析此后的详细描述以及附图,本发明的其他特征和优点将变得显而易见,其中,唯一的附图示意性地示出了根据本发明的迭代Turbo解码器。
附图不仅可用于用于完成本发明,还可用于定义本发明(如果需要的话)。
参考唯一的附图来描述根据本发明的迭代Turbo解码器(或解码装置)ITD的示例。
具体实施例方式
根据本发明,将考虑到迭代Turbo解码器ITD用于诸如移动电话(或用户设备)的通信设备的通信接收机,该通信接收机适于UMTS网络的无线通信(更具体地HSDPA)。但是,注意,很重要的是,本发明既不受限于这种类型的通信设备也不受限于这种类型的网络。
移动电话被设置为,通过由HS-PDSCH信道组成的HS-DSCH信道,将数据分组发送到UMTS网络的基站(Node B),以及从基站(NodeB)接收数据分组。此外,UMTS网络的基站以及移动电话适于实现HARQ机制,以允许如3GPP的规范HSDPA 3G TR 25.212中所描述的错误解码分组(或块)的选择性重传。
上文已提到的,HARQ机制由以下步骤组成(对于简化的标桩,假设接收机只接收到一个具有相关联的CRC字段的数据传输块,但是可以接收N个块(N>1))。
在第一个步骤中,基站(Node B)通过HS-DSCH信道向移动电话发送HS-DSCH数据传输块(或编码数据块)n°X。
在第二个步骤中,移动电话接收到HS-DSCH数据传输块n°X,并将该块发送到其迭代Trubo解码器ITD(将在下文中描述)。
在第三个步骤中,迭代Turbo解码器ITD对编码数据块n°X进行解码,此外外部单元检验其关联的CRC字段是否有效。如果该CRC字段有效,则块n°X由移动电话使用。如果该CRC字段无效,则迭代Turbo解码器ITD产生否定确认消息(“NACK”),以要求块n°X重传。接着,这个NACK消息由移动电话发送到有关的基站。
在第四个步骤中,基站接收到NACK消息,为了移动电话设法成功解码,向移动电话重传块n°X的冗余版本。
本发明致力于所接收到的数据块的冗余版本的Turbo解码。
如唯一的附图所示,迭代Turbo解码器ITD至少包括用于暂时存储所接收到的数据块的输入缓冲器IB、第一解码器SISO1、第二解码器SISO1、第一交织器I1、第二交织器I2、第一解交织器DI1、第二解交织器DI2、几个电子组合器(例如,加法器(+)、减法器(-)、以及乘法器(×))、以及控制模块CM。
优选地,并如示例所示,迭代Turbo解码器ITD还包括专门用于计算最优对数似然输入度量以及所支持的信躁比(SNR)估计的校准模块SM;以及Chase组合模块CCM,专门用于组合由基站根据HARQ机制所重传的数据块的不同冗余版本相关联的信息。上文已提到,在数量校准之间进行Chase组合,这根据所产生的Chase组合序列的SNR。
如介绍部分所提到的,以复用的子序列(或向量)S(或系统信息)、P1(或第一奇偶校验信息)和P2(第二奇偶校验信息)的形式来发送每个编码数据块。当迭代Turbo解码器ITD接收到编码数据块时,分别在输入缓冲器IB的三个不同的位置存储向量S、P1和P2。
在控制模块CM的控制下,以迭代的方式对每个接收到的编码数据块(此后称为块)进行解码。
在第一迭代期间,块的系统信息在第一奇偶校验信息P1被直接从输入缓冲器IB传送到第一解码器SISO时,被通过第一加法器(+)从输入缓冲器IB传送到第一解码器SISO1。
在第一加法器(+)中,系统信息S被加到第一外信息项Le2上,并且这个加法“SYS1”(也成为“先验信息”)的结果被施加到第一解码器SISO1。根据本发明,第一外信息项Le2被初始化为零(0)。因此,施加到第一解码器SISO1的第一优选信息SYS1等于接收到的系统信息S。
优选地,第一解码器SISO1为NII软输入软输出类型。其被设置为将下一个迭代初始化机制应用于SYS1和P1。换句话说,SYS和P1被分成选定数量的子块,此子块由前向和后向递归计算所决定。
通过整个块来执行前向递归计算,以确定与每个子块相关联的度量状态αk(s)。通过块的结束部分来执行后向递归计算,以确定也与每个子块相关联的度量状态βk(s),并且通过使用在前面迭代中所计算的度量(或标桩)的状态来初始化此递归。
因此,对于每个子块(以及对于每个迭代),状态度量的第一子集由第一解码器SISO1来确定。此第一自己定义了标桩,标桩被存储为由第一解码器SISO1在下一个迭代期间使用以确定下一个标桩(对于同一对应子块),直至在最终迭代期间得到最终标桩。标桩是每个子块的“边界”后向度量。
注意,很重要的是,在每个第一迭代的开始,后向递归计算只以初始化标桩等于零(0)开始。而前向度量则以连续的方式计算,将结果从一个子块传送到另一个。
与一个子块相关联的第一子集的状态度量的数量取决于Turbo编码器所实现的编码。例如,如果已根据存储量为3的系统递归卷积码对要发送的每个位进行编码,则每个第一子集包括23=8个状态度量。
第一减法器(-)中的先验信息SYS1减去第一解码器SISO1所输出的信息λ1,此减法的结果被施加到第一乘法器(×),其中该减法结果乘于0.75而变成已校准的信息项Le11。在第二交织器I2中对该已校准的信息Le11进行交织,而变成另一个外信息项Le1,Le1被施加到第二加法器(+)。
在第二加法器(+)中,另外的外信息项Le1与由第一交织器I1所交织的一份系统信息相加。此加法“SYS1”也称为“先验信息”)的结果被施加到第二解码器SISO2,第二先验信息P2也被施加到SISO2。
第二解码器SISO2优先地还是NII软输入软输出类型。SISO2还被设置为将下一个迭代初始化机制应用到SYS2和P2。换句话说,SYS2和P2被分成已选定数量的子块,此子块取决于前向和后向递归计算。
因此,对于每个子块(以及对于每个迭代),由第二解码器8ISO2以与第一解码器SISO1同样的方式确定了状态度量的第二子集。此第二子集还定义了标桩,标桩被存储以便由第二解码器SISO2在下一个迭代期间使用,以确定下一个标桩(对于同一对应子块),直至在最终迭代期间得到最终标桩。
与一个子集相关联的第二子集的状态度量数还取决于Turbo解码器所实现的编码。例如,如果已根据存储量为3的系统递归卷积码对要发送的每个位进行编码,则每个第一子集包括23=8个状态度量。
第二减法器(-)中的先验信息SYS2减去第二解码器SISO2所输出的信息λ2,此减法的结果被施加到第二乘法器(×),其中该减法结果乘于0.75而变成另一已校准的信息项Le22。在第一解交织器DI1中对另一已校准的信息Le22进行解交织,而变成(第二)外信息项Le2,Le2在第二迭代期间被施加到第一加法器(+)。
因此,数据块处理包括每一迭代期间的一直到最终(或最近)一个的同样的操作。
在最终迭代期间,第一解码器SISO1确定了与已处理的块的每个子块分别关联的最终第一子集(最终标桩),以及向控制模块CM发送了第一硬判决位HD1。
第一硬判决位HD1以符号λ表示。例如,硬判决位HD1等于1对应符号+,反之,硬判决位HD1等于0则对应符号-。
第二解码器SISO2也在最终迭代期间确定了与已处理的块的每个子块分别关联的最终第二子集(最终标桩),并输出“已解码的交织块”,此“已解码的交织块”被施加到第二解交织器DI2。此第二解交织器DI2对已解码的交织块进行解交织,并数据第二硬判决位HD2,HD2被施加到控制模块CM。
第二硬判决位HD2也以符号λ表示。例如,硬判决位HD2等于1对应符号+,反之,硬判决位HD2等于0则对应符号-。
如果选择了第一解码器SISO1的硬判决HD1或第二解码器SISO的硬盘决HD2控制模块CM,控制模块CM必须转发最终解码的硬数据序列。
然后,外部CRC单元检验与已处理的块相关联的CRC字段是否有效。换句话说,外部CRC单元检验已处理的块是否包括错误。
根据本发明,在CRC字段无效的情况下(或不能准确地对应已处理的错误块),控制模块CM命令第一SISO1和第二SISO2存储已确定的并与存储器MY的第一M1和第三M3部分中的错误块相关联的最终标桩。
仍然根据本发明,在CRC字段无效的情况下,控制模块CM可命令第一解交织器DI1存储最终外信息项Le2,Le2与存储器MY的第二部分M2中的已处理的错误块相关联。
接着,控制模块CM产生NACK消息,要将此NACK消息发送到基站以让基站重传已处理的块的冗余版本。
注意,很重要的是,迭代Turbo解码器ITD可在接收之前所接收到的错误块的第一冗余版本之间接收一个或多个新的编码数据块。因此,每次处理一个新块,外信息项Le2和标桩s都被初始化为零。
当迭代Turbo解码器ITD接收错误块的第一冗余版本时,控制模块CM命令第一SISO1和第二SISO2从存储器MY的第一部分M1从恢复出对应于此错误块的最终标桩,以便将其用作初始化的标桩。
这允许显著地减少对冗余版本进行预解码的必要的时间。
在迭代Turbo解码器ITD被适于存储由第一解交织器DI1在最终迭代期间所输出的最终(或最后的)外信息项Le2的情况下,控制模块CM优选地命令第一解交织器DI1在第一迭代开始之前从存储器MY的第二部分M2中恢复出对应于错误块的外信息项Le2,以将其用作初始化外信息项Le2。
这仍然允许减少对冗余版本进行解码必要的时间,因为需要更少的迭代。
注意,很重要的是,以与此编码数据块相同的迭代方式处理之前所接收到的编码数据块的每个冗余版本。
存储器MY的第一部分M1的大小优选地取决于HARQ机制所允许的重传数N。
此外,可重传数据快的N个冗余版本时,存储器MY的第一部分M1的大小适于存储分别与N个冗余版本(N>1)相关联的N组最终标桩。
例如,如果数据快的最大尺寸等于5114比特,窗的尺寸(或子块尺寸)等于63比特,不同状态的数量等于8,并且状态度量的位宽等于8,则存储器MY的第一部分M1的最大尺寸等于N*10368比特,考虑了有两个解码器SISO1和SISO2的事实。
同样地,可重传数据快的N个冗余版本时,存储器MY的第三部分M3的尺寸适于存储分别与N个冗余版本(N>1)相关联的N组最终外信息项Le2。
例如,如果数据块的最大尺寸等于5114比特,并且状态度量的位宽等于8,则存储器MY的第三部分M3的最大尺寸等于N*30684比特。
如上面所述,控制模块CM可命令第一SISO1和第二SISO2解码器存储与错误块及其连续的接收到的冗余版本相关联的最终标桩。
相同块的一个或多个冗余版本可能是错误的。因此,为了缓解对于发送块的解码,可使用上述众所周知的Chase组合模块CCM。
更精确地,Chase组合模块被设置为,将重传的信息项一个接一个地与错误块的积累信息相加。
迭代Turbo解码器ITD可以是以芯片工业制造中所使用的任意技术来实现的集成电路(例如ASIC)。但也可实现为软件。
本发明不受限于上面所描述的迭代Turbo解码器、通信接收机、通信设备以及迭代解码方法的实施例,只是以此作为示例,但是本发明包括了本发明的技术人员在此后的权利要求的范围内可能考虑到的所有可选的实施例。
权利要求
1.一种迭代解码设备(ITD),包括解码装置(SISO1、SISO2、DI1、DI2、I1、I2),用于通过被称作下一个迭代初始化机制的方式来对所接收到的编码数据块进行解码所述下一个迭代初始化机制包括将所述编码数据块分成选定数量的子块,以确定前向和后向递归计算,对于每个所述子块以及对于每个迭代,状态度量集在下一个迭代期间使用定义了所要使用的标桩的以确定下一个标桩,直至在最终迭代期间得到最终标桩,以计算第一和第二硬判决位;以及控制装置(CM),被设置为,为了检验CRC字段的有效性而选择与所接收到的数据块相关联的所述第一和第二硬判决位之一,其特征在于所述迭代解码设备包括第一存储装置(M1),以及所述控制装置(CM)被设置为,当块的CRC字段无效时,i)命令所述解码装置将与所述块相关联的最终标桩存储在所述第一存储装置中,ii)要求传输所述块的冗余版本,以及iii)当接收到所述冗余版本时,在将所述下一个迭代初始化机制应用于所述接收到的冗余版本之前,用所述所存储的最终标桩来初始化所述解码装置(SISO1)。
2.如权利要求1所述的迭代解码设备,其特征在于,所述第一存储装置(M1)被设置为,存储分别与N个连续并且不同的块相关联的N组最终标桩(N大于0),其中每组包括与一个块相关联的至少一个最终标桩,以及一个组里取决于所关联的块的已重传的冗余版本的数量的最终标桩的数量。
3.如权利要求1或2之一所述的迭代解码设备,其特征在于,所述迭代解码设备包括第二存储装置(M2),以及所述解码装置(SISO1、SISO2、DI1、DI2、I1、I2)被设置为,在每个迭代期间确定与所述块的选定部分相结合的外信息项,以发送先验信息项;以及所述控制装置(CM)被设置为,当块的CRC字段无效时,i)命令所述解码装置将在所述最终迭代期间所确定的最终外信息项存储在所述第二存储装置(M3)中,以及ii)当接收到所述冗余版本时,在将所述下一迭代机制应用于所述接收到的冗余版本之前,用所述已存储的最终外信息项来初始化所述解码装置(DI1)。
4.如权利要求3所述的迭代解码设备,其特征在于,所述第二存储装置(M2)被设置为,存储分别与所述块的N个冗余版本相关联的N组最终外信息项,N大于1。
5.如权利要求1到4之一所述的迭代解码设备,其特征在于,所述迭代解码设备包括i)第三存储装置(M3),其中所述控制装置(M3)可命令所述解码装置(SISO1、SISO2)在所述第三存储装置中存储所积累的错误块的信息;以及ii)组合装置(CCM),被设置为,在向所述解码装置(SISO1、SISO2、DI1、DI2、I1、I2)发送最近所接收的具有相应的Chase组合信息的冗余版本之前,通过将Chase组合与存储于所述第三存储装置(M3)并与所述块的之前的冗余版本相关联的相应信息相加,以将所述Chase组合应用到块的每个最后接收到的冗余版本中所包含的信息。
6.一种通信接收机,其特征在于,包括根据前述的权利要求之一的迭代解码设备(ITD)。
7.如权利要求6所述的通信接收机,其特征在于,所述通信接收机适于HSDPA通信。
8.一种通信设备,其特征在于,包括根据权利要求6和7之一所述的通信接收机。
9.如权利要求8所述的通信设备,其特征在于,所述通信设备是移动电话。
10.一种迭代解码方法,包括将所谓的下一个迭代初始化机制应用于接收到的编码数据块,以将所述接收到的编码数据块分成选定数量的子块;接着,对每个所述子块在每个迭代期间进行前向和后向递归计算,以确定状态度量集,所述状态度量集定义了在下一个初始期间所要使用的标桩,以确定下一个标桩,直至在最终迭代期间得到最终标桩;以及校验与所述块相关联的CRC字段的有效性,所述块具有与每个子块相关联的最终标桩,其特征在于,当块的CRC字段无效时,i)存储与所述块相关联的最终标桩,ii)需要所述块的冗余版本的传输,以及iii)当接收到所述冗余版本时,所述下一个迭代初始化机制被应用于所述接收到的冗余版本,然后,对每个所述子块在每个迭代期间进行所述的前向和后向递归计算,在第一迭代期间,所述已存储的最终标桩被用作初始化标桩。
11.如权利要求10所述的迭代解码方法,其特征在于,在每个最终迭代期间,一个外信息项被确定为与所述块的已选定部分相结合,以发送先验信息项;以及,当块的CRC字段无效时,i)在所述迭代期间,存储并确定所述外信息,以及ii)当接收到所述冗余版本时,所述下一个迭代初始化机制被应用于所述接收到的冗余版本,以及对每个所述子块在每个迭代期间进行所述的前向和后向递归计算,在第一迭代期间,所述已存储的外信项被用作初始化外信息。
全文摘要
一种用于通信接收机的迭代解码设备(ITD),包括i)解码装置(SISO1、SISO2、DII、DI2、I1、I2),通过所谓的下一个迭代初始化机制来对所接收到的编码数据块进行解码;ii)控制装置(CM),被设置为,为了CRC字段的有效性而选择与所接收到的数据块相关联的第一和第二硬判决位之一用于校验,以及iii)第一存储装置(M1)。控制装置(CM)还被设置为,在块的CRC字段无效时,-命令解码装置将与块相关联的最终标桩(标桩)存储在第一存储装置(M1)中,-要求块的冗余版本的传输,以及-在接收到冗余版本时,在将下一个迭代初始化机制应用于所接收到的冗余版本之前,用所存储的最终标桩来初始化解码装置(SISO1)。
文档编号H03M13/29GK101069357SQ200580041254
公开日2007年11月7日 申请日期2005年11月30日 优先权日2004年12月2日
发明者安德烈娅·安科拉, 法布里齐奥·托马蒂斯 申请人:皇家飞利浦电子股份有限公司