CN102158235B - turbo译码的方法及装置 - Google Patents
turbo译码的方法及装置 Download PDFInfo
- Publication number
- CN102158235B CN102158235B CN201110105086.0A CN201110105086A CN102158235B CN 102158235 B CN102158235 B CN 102158235B CN 201110105086 A CN201110105086 A CN 201110105086A CN 102158235 B CN102158235 B CN 102158235B
- Authority
- CN
- China
- Prior art keywords
- recursion
- intermediate variable
- variable
- decoding
- code block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2957—Turbo codes and decoding
- H03M13/2978—Particular arrangement of the component decoders
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/3972—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using sliding window techniques or parallel windows
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6522—Intended application, e.g. transmission or communication standard
- H03M13/6525—3GPP LTE including E-UTRA
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6577—Representation or format of variables, register sizes or word-lengths and quantization
- H03M13/6583—Normalization other than scaling, e.g. by subtraction
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明提供了一种turbo译码的方法及装置,其中,在对待译码的码块进行多路并行译码中的每一次迭代中,该方法包括:对当前路的待译码的码块,译码模块采用从前往后递推的方式得到当前路的所有第一中间变量,同时采用从后往前递推的方式得到当前路的所有第二中间变量;译码模块根据得到所有第一中间变量、所有第二中间变量以及所述待译码的模块的所有分支转移度量,得到当前路的所有LLR;译码模块根据所有对数似然比,得到当前路输出的先验信息和译码结果。通过本发明,在并行的各路译码模块中,采用两个中间变量分别从前往后及从后往前同时递归计算的方式,解决了现有的并行译码方法中每次迭代的时间过长的问题,从而大大缩短了译码延迟,提高了译码的速度。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种turbo译码的方法及装置。
背景技术
Turbo码自1993年提出以来,由于其接近Shannon极限的优异性能,被广泛应用于无线通信系统中,并且已被确定为第三代合作伙伴计划(Third Generation PartnershipProject,简称为3GPP)移动通信系统的信道编译码方案之一。在长期演进(Long TermEvolution,简称为LTE)系统中,要求更高的传输速率和更好的误码性能,对信道编译码的要求也相应提高。然而,由于Turbo码迭代译码算法的限制,它的具体实现还有很多困难,其中,最主要的就是译码速度。因此,降低译码复杂度和译码时延成为硬件实现的重要问题,性能和资源上的折衷考虑是实现Turbo码的关键。
在相关技术中,turbo译码在算法上一般采用log-MAP或者MAX-log-MAP算法。由于该算法在硬件实现中的重要特征就是需要不断进行多次迭代,而每次迭代的时候也需要对中间变量alpha和beta进行递推迭代。这些特点造成了turbo译码的系统延时较大,不利于在高速的3G和LTE系统中的应用。针对该问题,目前,相关技术中提出的一种解决方案是采用多路并行的译码方法,该方法将接收到的数据按照码约束长度和输入数据的实际长度分为多块,对接收数据同时进行译码,在完成一次译码后均送入其后相应的误差因子控制器,计算其误差因子。在该方法中,在每个并行译码模块处理上,分别对中间变量(alpha和beta)进行计算,因此,译码时间较长。
相关技术中采用的另一种解决方案是基于滑窗控制的turbo译码方法,该方法在各个滑窗之间采用流水操作,但在每个滑动窗里面,没有解决turbo译码的MAP算法的alpha和beta递归特性带来的速度瓶颈。因此,该方法的译码速度也不高。
发明内容
本发明的主要目的在于提供一种turbo译码的方法及装置,以至少解决相关技术中由于分别递归计算中间变量而导致译码速度不高的上述问题。
根据本发明的一个方面,提供了一种turbo译码的方法,在对待译码的码块进行多路并行译码过程中,在每一次迭代过程中,每路译码模块在进行译码时,所述方法包括:对当前路的待译码的码块,所述译码模块采用从前往后递推的方式得到当前路的所有第一中间变量,同时采用从后往前递推的方式得到当前路的所有第二中间变量;所述译码模块根据得到所有所述第一中间变量、所有所述第二中间变量以及所述待译码的模块的所有分支转移度量,得到当前路的所有对数似然比(LLR);所述译码模块根据所有所述对数似然比,得到当前路输出的先验信息和译码结果。
优选地,所述译码模块采用从前往后递推的方式得到当前路的所有第一中间变量,同时采用从后往前递推的方式得到当前路的所有第二中间变量包括:所述译码模块采用从前往后递推的方式得到所述当前路的所有分支转移变量,并根据得到的所有所述分支转移变量从前往后递推得到所述当前路的所有所述第一中间变量;同时,所述译码模块采用从后往前递推的方式得到所述当前路的所有分支转移变量,并根据本次得到的所有所述分支转移变量从后往前递推得到所述当前路的所有所述第二中间变量。
优选地,所述译码模块根据得到的所有所述分支转移变量从前往后递推得到所述当前路的所有所述第一中间变量包括:所述译码模块在递推所述当前路的待译码的码块的前半部分的从前往后的第一个所述第一中间变量时,在进行加操作之后,在进行归一化操作的同时,执行递推所述当前路的待译码的码块的后半部分的从前往后的第一个所述第一中间变量的加操作;所述译码模块执行递推所述前半部分的从前往后的第二个所述第一中间变量的加操作,同时执行所述后半部分的从前往后的第一个所述第一中间变量的归一化操作,然后在执行所述前半部分的从前往后的第二个所述第一中间变量的归一化操作的同时执行所述后半部分的从前往后的第二个所述第一中间变量的加操作,以此循环,递推得到所述当前路的所有所述第一中间变量。
优选地,所述译码模块根据得到的所有所述分支转移变量从后往前递推得到所述当前路的所有所述第二中间变量包括:所述译码模块在递推所述当前路的待译码的码块的后半部分的从后往前的第一个所述第二中间变量时,在进行加操作之后,在进行归一化操作的同时,执行递推所述当前路的待译码的码块的前半部分的从后往前的第一个所述第二中间变量的加操作;所述译码模块执行递推所述后半部分的从后往前的第二个所述第二中间变量的加操作,同时执行所述前半部分的从后往前的第一个所述第二中间变量的归一化操作,并在执行所述后半部分的从后往前的第二个所述第二中间变量的归一化操作的同时执行所述前半部分的从后往前的第二个所述第二中间变量的加操作,以此循环,递推得到所述当前路的所有所述第二中间变量。
优选地,所述方法还包括:所述译码模块将与所述前半部分的前一半的码块对应的各个所述第一中间变量以及与所述后半部分的前一半的码块对应的各个所述第一中间变量存储到存储器中;所述译码模块将与所述后半部分的后一半的码块对应的各个所述第二中间变量以及与所述前半部分的后一半的码块对应的各个所述第二中间变量存储到存储器中。
优选地,所述译码模块根据得到所有所述第一中间变量、所有所述第二中间变量以及所述待译码的模块的所有分支转移度量,得到当前路的所有对数似然比包括:所述译码模块在递推与所述前半部分的后一半码块对应的各个所述第一中间变量以及所述后半部分的后一半码块对应的各个所述第一中间变量时,每递推得到一个所述第一中间变量时,读取存储的与该位置对应的所述第二中间变量,并根据该第一中间变量、该第二中间变量以及该位置对应的分支转移度量,依次得到一个与该位置对应的所述对数似然比;所述译码模块在递推与所述后半部分的前一半码块对应的各个所述第二中间变量以及所述前半部分的前一半码块对应的各个所述第二中间变量时,每递推得到一个所述第二中间变量时,读取存储的与该位置对应的所述第一中间变量,并根据该第二中间变量、该第一中间变量以及该位置对应的分支转移度量,依次得到一个与该位置对应的所述对数似然比。
优选地,在得到各路的译码结果之后,所述方法还包括:根据各路的所述译码结果与待译码的码块的循环冗余校验(CRC)码进行CRC校验,如果校验正确,则停止迭代,完成译码过程,否则,利用各路输出的所述先验信息进行下一次的迭代过程。
根据本发明的另一方面,提供了一种turbo译码装置,包括多路译码模块,其中,每路所述译码模块包括:递推模块,用于对当前路的待译码的码块,采用从前往后递推的方式得到当前路的所有第一中间变量,同时采用从后往前递推的方式得到当前路的所有第二中间变量;LLR计算模块,用于根据得到所有所述第一中间变量、所有所述第二中间变量以及所述待译码的模块的所有分支转移度量,得到当前路的所有对数似然比(LLR),并根据所有所述LLR,输出先验信息;硬判模块,用于对所述LLR计算模块得到的所有所述LLR执行硬判,将硬判结果作为译码结果输出。
优选地,所述递推模块包括:第一分支转移变量计算模块,用于采用从前往后递推的方式得到所述当前路的所有分支转移变量;第一中间变量计算模块,用于根据所述第一分支转移变量计算模块得到的所有所述分支转移变量从前往后递推得到所述当前路的所有所述第一中间变量;第二分支转移变量计算模块,用于采用从后往前递推的方式得到所述当前路的所有分支转移变量;第二中间变量计算模块,用于根据所述第二分支转移变量计算模块得到的所有所述分支转移变量从后往前递推得到所述当前路的所有所述第二中间变量。
优选地,所述第一中间变量计算模块包括:第一加操作单元和第一归一化操作单元,其中,所述第一加操作单元用于在递推各个所述第一中间变量的过程中执行加操作;所述第一归一化操作单元用于在递推各个所述第一中间变量的过程中执行归一化操作。
优选地,所述第二中间变量计算模块包括:第二加操作单元和第二归一化操作单元,其中,所述第二加操作单元用于在递推各个所述第二中间变量的过程中执行加操作;所述第二归一化操作单元用于在递推各个所述第二中间变量的过程中执行归一化操作。
优选地,所述译码模块还包括:存储模块,用于存储所述递推模块递推得到的与所述前半部分的前一半的码块对应的各个所述第一中间变量以及与所述后半部分的前一半的码块对应的各个所述第一中间变量,与所述后半部分的后一半的码块对应的各个所述第二中间变量以及与所述前半部分的后一半的码块对应的各个所述第二中间变量。
优选地,所述装置还包括:输出控制模块,用于根据各路所述译码模块输出的译码结果与待译码的码块的CRC码进行CRC校验,如果校验正确,则停止迭代,完成译码过程,否则,利用各路所述译码模块输出的所述先验信息进行下一次的迭代过程。
通过本发明,采用在并行的各路译码模块中,两个中间变量分别从前往后及从后往前同时递归计算,从而解决了现有的并行译码方法中每次迭代的时间过长的问题,进而达到了大大缩短了译码延迟,提高了译码的速度的技术性效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是turbo译码的基本原理图;
图2是turbo译码装置的硬件架构示意图;
图3是根据本发明实施例的turbo译码方法的流程图;
图4是根据本发明实施例的多路并行译码的示意图;
图5是根据本发明实施例的多路并行时第2路的处理过程示意图;
图6是根据本发明实施例的turbo译码装置中的译码模块的结构示意图;
图7是根据本发明优选实施例的递推模块的结构示意图;
图8是根据本发明另一优选实施例的译码模块的结构示意图;
图9是根据本发明优选实施例的译码模块的硬件结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
图1是turbo译码的基本原理图,如图1所示,先验信息(xk)及校验比特1(y1k)输入到译码模块1(DEC1)中,对于采用long-MAP或者MAX-long-MAP算法的译码方法,DEC1中对输入的待译码的码块进行MAP1计算,然后将结果输入到交织模块进行交织后,输入到译码模块2(DEC2)与输入的校验比特2(y2k)一起进行MAP2计算,结果经解交织模块输出或作为先验信息输入到译码模块1。
图2是turbo译码的硬件架构示意图,如图2所示,该装置主要包括:输入控制模块、系统比特/校验比特/先验信息模块、交织模块、译码模块(DEC)、译码控制模块和输出控制模块。
其中,输入控制模块主要负责将turbo译码器输入的数据按照系统比特、校验比特1、校验比特2数据、系统尾比特、交织的系统尾比特、校验1尾比特和校验2尾比特进行区分,同时产生相关的片选控制信号,控制系统比特RAM和校验比特RAM的写操作。
系统比特/校验比特/先验信息模块分别完成系统比特、校验比特、先验信息的读写操作。将来自输入控制模块的待译码数据根据译码并行度写入相应的RAM;在译码启动后,按照顺序/交织地址分别从各自的RAM中读取数据,送给译码模块进行译码。
交织模块实时提供交织地址,以便turbo译码器在计算MAP2时能够取得交织后的系统比特和先验信息,从而进行当前先验信息的计算,并将先验信息写入先验信息存储RAM中。
译码模块主要根据系统、校验和先验信息模块输出的数据进行译码,并将计算得到的先验信息数据回写到先验信息存储RAM中,将译码结果送给输出控制模块。
译码控制模块控制整个turbo译码核的工作,负责产生译码启动信号、码块相关参数、数据读写使能、地址、乒乓控制信号、计算使能等信号。
输出控制模块负责码块译码结果的解交织、读写控制及相关参数的输出。
以长度为K的码块为例,turbo译码过程主要包括以下步骤:
步骤1、输入的译码数据(共3K+12个)经过输入控制模块的处理,被拆分成K个系统比特、K个校验比特1、K个校验比特2、3个系统尾比特、3个交织的系统尾比特、3个校验1尾比特、3个校验2尾比特,并按照PU个数,将其存入对应的RAM中。
步骤2、数据全部写入后,启动信号start将被拉高,开始多路并行译码。
步骤3、MAP1处理:按照原始地址分别从相应的RAM中读取系统比特和校验比特1,送入并行MAP处理单元进行MAP1计算(计算第1次迭代时MAP1先验信息取零),并将计算得到的外信息写入先验信息RAM中。在启动译码的同时,也将启动交织器,进行交织地址的计算并加以存储,为后续MAP2提前准备交织地址。
步骤4、MAP2处理:把按照原始地址读取的校验比特2、交织地址读取的系统比特和先验信息(第一次迭代时MAP2用到的尾比特先验信息取零,且对应尾比特的相关数据的读写不参与交织),送入并行MAP处理单元进行MAP2计算,并将计算得到的先验信息和硬判结果分别写入先验信息RAM和译码结果RAM中。至此,就完成了一次turbo迭代译码。
步骤5、还可以根据一定的条件判断是否满足迭代终止的条件,如果满足,立即停止迭代译码,否则返回至步骤3直到设定的最大迭代次数。
图3是根据本发明实施例的译码方法的流程图,如图3所示,在对待译码的码块进行多路并行译码过程中,在每一次迭代过程中,每路译码模块在进行译码时(包括MAP1计算和MAP2计算),该方法主要包括以下步骤(步骤S302-步骤S306):
步骤S302,对当前路的待译码的码块,译码模块采用从前往后递推的方式得到当前路的所有第一中间变量(即alpha),同时采用从后往前递推的方式得到当前路的所有第二中间变量(即beta);
其中,第一中间变量可以为alpha,而第二中间变量为beta,或者反之亦可,即第一中间变量为beta,第二中间变量为alpha。优选地,在本发明实施例中,第一中间变量为alpha,而第二中间变量为beta。
在本发明实施例的优选实施方式中,为了减少存储器的空间,可以分别针对第一中间变量和第二中间变量计算递归需要的分支转移变量(即gamma),对于第一中间变量,译码模块采用从前往后递推的方式得到当前路的所有分支转移变量,并根据得到的所有分支转移变量从前往后递推得到当前路的所有第一中间变量(alpha);同时,对于第二中间变量,译码模块采用从后往前递推的方式得到当前路的所有分支转移变量,并根据本次得到的所有分支转移变量从后往前递推得到当前路的所有第二中间变量(beta)。
直接采用递推公式计算第一中间变量和第二中间变量,不利用采用硬件流水线的处理,并且,每次第一中间变量和第二中间变量的递归计算包括gamma与第一中间变量或第二中间变量的加操作和归一化操作两个部分,组合电路逻辑的延时也比较大。因此,在本发明实施例的优选实施方式中,每次第一中间变量或第二中间变量的递归计算分为2步完成,先做加操作,再做归一化处理,即每次第一中间变量或第二中间变量的递归计算在2拍(clk)内完成。
在本发明实施例的优选实施方式中,对同一路的待译码的码块的前后半部分的第一中间变量和第二中间变量进行分时计算。例如,译码模块在递推当前路的待译码的码块的前半部分的从前往后的第一个第一中间变量(例如,alpha)时,在进行加操作之后,在进行归一化操作的同时,执行递推当前路的待译码的码块的后半部分的从前往后的第一个第一中间变量(alpha)的加操作;译码模块执行递推前半部分的从前往后的第二个第一中间变量(例如,alpha)的加操作,同时执行后半部分的从前往后的第一个第一中间变量(例如,alpha)的归一化操作,然后在执行前半部分的从前往后的第二个第一中间变量(alpha)的归一化操作的同时执行后半部分的从前往后的第二个第一中间变量(alpha)的加操作,以此循环,递推得到当前路的所有第一中间变量(alpha)。
类似地,译码模块在递推当前路的待译码的码块的后半部分的从后往前的第一个第二中间变量(例如,beta)时,在进行加操作之后,在进行归一化操作的同时,执行递推当前路的待译码的码块的前半部分的从后往前的第一个第二中间变量(beta)的加操作;译码模块执行递推后半部分的从后往前的第二个第二中间变量(beta)的加操作,同时执行前半部分的从后往前的第一个第二中间变量(beta)的归一化操作,并在执行后半部分的从后往前的第二个第二中间变量(beta)的归一化操作的同时执行前半部分的从后往前的第二个第二中间变量(beta)的加操作,以此循环,递推得到当前路的所有第二中间变量(beta)。
采用上述的两种方式递归计算第一中间变量和第二中间变量,当计算到前半部分的中间比特对应的第一中间变量后,在递归计算前半部分的后一半对应的第一中间变量时,这部分对应的第二中间变量已计算得到,因此,这部分计算得到的第一中间变量可以不用存储,在得到第一中间变量后,直接根据存储的与该位置对应的第二中间变量以及该位置对应的分支转移度量计算该位置对应的对数似然比(LLR),同样,当后半部分的中间比特对应的第二中间变量后,在递归计算后半部分的前一半对应的第二中间变量时,这部分对应的第一中间变量已计算得到,因此,这部分计算得到的第二中间变量可以不用存储,在得到第二中间变量后,直接根据存储的与该位置对应的第一中间变量以及该位置对应的分支转移度量计算该位置对应的对数似然比(LLR)。因此,为了节约存储空间,在本发明实施例的优选实施方式中,在进行上述操作的同时,译码模块将与前半部分的前一半的码块对应的各个第一中间变量(alpha)以及与后半部分的前一半的码块对应的各个第一中间变量(alpha)存储到存储器中;译码模块将与后半部分的后一半的码块对应的各个第二中间变量(beta)以及与前半部分的后一半的码块对应的各个第二中间变量(beta)存储到存储器中。
步骤S304,所述译码模块根据得到所有所述第一中间变量、所有所述第二中间变量以及所述待译码的模块的所有分支转移度量,得到当前路的所有对数似然比(LLR);
例如,在本实施例中,译码模块可以在递推与前半部分的后一半码块对应的各个第一中间变量(alpha)以及后半部分的后一半码块对应的各个第一中间变量(alpha)时,每递推得到一个第一中间变量(alpha)时,读取存储的与该位置对应的第二中间变量(beta),并根据该第一中间变量(alpha)和第二中间变量(beta)以及该位置对应的分支转移度量(gamma),得到一个与该位置对应的对数似然比;而译码模块在递推与后半部分的前一半码块对应的各个第二中间变量(beta)以及前半部分的前一半码块对应的各个第二中间变量(beta)时,每递推得到一个第二中间变量(beta)时,读取存储的与该位置对应的第一中间变量(alpha),并根据该第二中间变量(beta)和第一中间变量(alpha)以及该位置对应的分支转移度量(gamma),得到一个与该位置对应的对数似然比。
例如,可以按照以下方式计算对数似然比:
fork=1∶N
LIR(k)=max([alpha(k,0+1)+gamma_1(k,0+1)+beta(k+1,4+1),...
alpha(k,1+1)+gamma_1(k,1+1)+beta(k+1,0+1),...
alpha(k,2+1)+gamma_1(k,2+1)+beta(k+1,1+1),...
alpha(k,3+1)+gamma_1(k,3+1)+beta(k+1,5+1),...
alpha(k,4+1)+gamma_1(k,4+1)+beta(k+1,6+1),...
alpha(k,5+1)+gamma_1(k,5+1)+beta(k+1,2+1),...
alpha(k,6+1)+gamma_1(k,6+1)+beta(k+1,3+1),...
alpha(k,7+1)+gamma_1(k,7+1)+beta(k+1,7+1),...])
-...
max([alpha(k,0+1)+gamma_1(k,0+1)+beta(k+1,00+1),...
alpha(k,1+1)+gamma_1(k,1+1)+beta(k+1,4+1),...
alpha(k,2+1)+gamma_1(k,2+1)+beta(k+1,5+1),...
alpha(k,3+1)+gamma_1(k,3+1)+beta(k+1,1+1),...
alpha(k,4+1)+gamma_1(k,4+1)+beta(k+1,2+1),...
alpha(k,5+1)+gamma_1(k,5+1)+beta(k+1,6+1),...
alpha(k,6+1)+gamma_1(k,6+1)+beta(k+1,7+1),...
alpha(k,7+1)+gamma_1(k,7+1)+beta(k+1,3+1),...]);
end
步骤S306,所述译码模块根据所有所述对数似然比,得到当前路输出的先验信息和译码结果。
例如,在得到对数似然比之后,根据当前计算得到的LLR和当前输入的系统比特、先验信息可以计算得到的当前输出的先验信息。
在本实施例中,在得到各路的译码结果之后,根据各路的译码结果与待译码的码块的循环冗余校验(CRC)码进行CRC校验,如果校验正确,则停止迭代,完成译码过程,否则,利用各路输出的所述先验信息进行下一次的迭代过程。
相关技术中,没有采用对第一中间变量(alpha)和第二中间变量(beta)进行同时的迭代计算,从而没有解决系统延时过长的问题,而且在处理当迭代正确的情况下,不能够实时终止迭代操作,进一步增加了系统处理时间,而本实施例采用第一中间变量(alpha)和第二中间变量(beta)进行同时的迭代计算的方法,是系统延时缩短至原来的二分之一,同时采用CRC的检验方式对译码结果进行校验,如果得到校验正确的结果,会及时终止后续的反复迭代过程,省去了时间成本。
以第一中间变量为alpha,第二中间变量为beta为例,本发明实施例的并行turbo译码过程主要包括以下步骤:
步骤1:按照码块的长度平均分若干个PU(处理单元,又称为并行路数,在本文1个PU同时也是1个滑动窗)准备进行多路并行译码。对每个PU又平分成前后两部分,分别记作PU-f(PU的前半部分)和PU-b(PU的后半部分);
步骤2:设置PU-f和PU-b的alpha和beta初值(记为alpha0、beta0,由alpha0、beta0迭代得到alpha1、beta1,再由alpha1、beta1迭代得到alpha2、beta2,依此类推),以及各自的overlap(重叠窗长)。其中,在alpha从前往后迭代时,第1个PU的PU-f没有overlap;在beta从后往前迭代时,最后1个PU的PU-b没有overlap;
步骤3:分别利用步骤1和步骤2的分段方法,根据对应的系统比特、校验比特和先验信息计算各个PU的PU-f和PU-b的gamma。
步骤4:利用gamma计算alpha。分2步(cycle)实现,即先计算alpha+gamma,再做归一化处理,得到下一个alpha。在这里,进行PU-f的第n个alpha的归一化处理的同时,进行PU-b的第n个数的alpha+gamma运算,保证为了使译码的吞吐率不受影响,同时,保存PU-f和PU-b的前一半的alpha的值;beta的处理过程与alpha类似,但是保存的是PU-f和PU-b的后一半的beta值;
步骤5:当PU-f或PU-b计算到一半时,利用PU-f或PU-b的后一半计算得到的alpha和后一半保存的beta和对应的分支转移度量(gamma)做计算,得到LLR(对数似然比),然后再根据当前计算得到的LLR和当前输入的系统比特、先验信息计算得到输出的先验信息;同时,利用PU-f或PU-b的前一半计算得到的beta和前一半保存的alpha和对应的分支转移度量(gamma)做计算,得到LLR,并进一步得到输出的先验信息;
步骤6:完成1次迭代后,利用LLR得到硬判结果,并对其继续CRC校验,当校验错误时,继续进行下一次的迭代,直到预先设定的最大迭代次数。当校验正确时,立即停止迭代,准备进行下一个CB(码块)的译码。
采用本发明实施例提供的上述方法,与现有的并行译码方法相比,在每次迭代时总的cycle数(时钟周期数)不变的情况下,大大缩短了turbo译码的alpha,beta迭代时的ACS关键路径的长度(由原来的1个clk完成加比选操作变成了2个clk完成,更有利于FPGA和ASIC实现,硬件电路的频率和吞吐率也将更高);alpha和beta分别从前、后同时对撞计算使得每次迭代时的译码延时减少到原来的1/2;在信道质量较好时,利用CRC的迭代终止,使得译码的迭代次数又成倍的减少(比如,最大迭代8次,实际只迭代1次就正确,增加利用CRC迭代终止后,译码时间仅为原来的1/8)。
同样以码块长度为K,4路并行为例,整体的处理过程如图4所示,各路并行译码。具体到每一路,先进行overlap部分的计算(虚线箭头),然后进行有效数据的计算(实线箭头),如图4所示。在MAP1处理时,分别从每一路的两头同时计算alpha和beta。以比较典型的第2路为例,第3路与第2路相同,第1路前半部分计算alpha时没有overlap,第4路后半部分计算beta的时候,overlap就是整个码块的尾比特。
考虑到每路的重叠部分overlap,相当于在时间上分别先后从码块K的第(K/4-overlap)和第(3K/8-overlap)处开始,按照地址依次加1的规律同时读取相应的系统比特、校验比特和先验信息,按照公式(1)计算gamma。这样按照如下次序得到gamma(K/4-overlap)、gamma(3K/8-overlap)、gamma(K/4-overlap+1)、gamma(3K/8-overlap+1),…,gamma(3K/8-1)、gamma(K/2-1),得到gamma后,按照公式(2)由gamma依次得到K/4个对应的alpha,如图5所示。
由于alpha的计算采用递推公式,不利于采用硬件流水线的处理方式。并且每次alpha的计算包括gamma+alpha和归一化两部分,组合电路逻辑延时比较大,也不利于FPGA或ASIC的硬件实现。因此,在本实施例中,把alpha的计算分成2步完成,先做加法,再做归一化处理。因此,在本实施例中,对同1路的前、后半部分alpha计算(已经分2拍完成)采用了分时计算。具体如下,第1个clk完成alpha(K/4-overlap)的加操作,第2个clk完成alpha(K/4-overlap)的归一化操作(得到alpha(K/4-overlap)),同时完成alpha(3K/8-overlap)的加操作,第3个clk完成alpha(3K/8-overlap)的归一化操作(得到alpha(3K/8-overlap)),同时完成alpha(K/4-overlap+1)的加操作,依此类推,直到(K/4+overlap)个clk后,得到当前路所有的alpha值(包括overlap部分的alpha,共有K/4+overlap个)。
beta的计算过程与alpha类似而且同时,只是方向相反,在时间上分别先后从码块的第(3K/8-1+overlap)和(K/2-1+overlap)处开始,按照地址减1的规律读取相应的系统比特、校验比特和先验信息,按照公式(1)计算gamma。这样按照如下次序得到gamma(3K/8-1+overlap)、gamma(K/2-1+overlap)、gamma(3K/8-2+overlap)、gamma(K/2-2+overlap),…,gamma(K/4)、gamma(3K/8),再利用得到的gamma,按照与alpha计算相似的处理方法,把每次beta的计算拆成2步完成的方法,得到当前路所有的beta值,如图5所示。
本实施例采用alpha和beta的对撞计算,不需要保存当前路所有的alpha和beta值,只保存K/8个alpha和K/8个beta值(alpha和beta可以保存在1个K/4深度的RAM里)。其中,alpha需要保存第K/4处到第5K/16-1处和第3K/8处到7K/16-1处的值;beta需要保存第3K/8-1处到5K/16处的值和第K/2-1处到7K/16处的值。当alpha先后分别递增计算到第5K/16处和7K/16处时,beta恰好先后分别递减计算到第5K/16-1处和7K/16-1处。这时每当同时计算完1个alpha和beta,利用从alpha和beta的存储RAM读出的对应值再结合该位置对应的分支转移度量(gamma)进行计算,可以同时得出2个LLR,从而使得译码时间缩短约1/2。
计算完LLR后,对应每个LLR计算得出先验信息。MAP1处理后,对先验信息存储RAM采取顺序写交织读的方法实现其交织;MAP2处理后,对先验信息存储RAM采取交织写顺序读的方法实现其解交织。
进行完1次迭代后(包括MAP1和MAP2),利用LTE的码块分割以及附加CRC校验码的特征,对每次迭代后的硬判数据进行CRC校验,如果校验正确,则停止迭代。否则,利用迭代后产生的新的先验信息,与接收到的系统比特和校验比特一起进行下次的迭代。
根据本发明实施例还提供了一种turbo译码装置,该装置用于实施本发明实施例提供的上述方法。
根据本发明实施例的turbo译码装置对图2所示的turbo译码装置进行改进,其中的译码模块采用多路并行的译码模块,图6是根据本发明实施例的turbo译码装置中,每个译码模块的结构示意图,如图6所示,每路译码模块可以包括:递推模块10、LLR计算模块20以及硬判模块30。
其中,递推模块10,用于对当前路的待译码的码块,采用从前往后递推的方式得到当前路的所有第一中间变量(例如,alpha),同时采用从后往前递推的方式得到当前路的所有第二中间变量(例如,beta);LLR计算模块20,连接至递推模块10,用于根据得到所有第一中间变量(alpha)、所有第二中间变量(beta)以及所述待译码的模块的所有分支转移度量(gamma),得到当前路的所有对数似然比LLR,并根据所有LLR,输出先验信息;硬判模块30,连接至LLR计算模块20,用于对LLR计算模块得到的所有LLR执行硬判,将硬判结果作为译码结果输出。
在本发明实施例的优选实施方式中,如图7所示,递推模块10可以包括:第一分支转移变量计算模块100,用于采用从前往后递推的方式得到当前路的所有分支转移变量;第一中间变量计算模块102,用于根据第一分支转移变量计算模块100得到的所有分支转移变量从前往后递推得到当前路的所有第一中间变量(alpha);第二分支转移变量计算模块104,用于采用从后往前递推的方式得到当前路的所有分支转移变量;第二中间变量计算模块106,用于根据第二分支转移变量计算模块104得到的所有分支转移变量从后往前递推得到当前路的所有第二中间变量(beta)。
其中,第一中间变量计算模块102可以包括:第一加操作单元和第一归一化操作单元,所述第一加操作单元用于在递推各个所述第一中间变量的过程中执行加操作;所述第一归一化操作单元用于在递推各个所述第一中间变量的过程中执行归一化操作。
其中,在第一加操作单元执行递推当前路的待译码的码块的前半部分的从前往后的第一个第一中间变量(例如,alpha)时的加操作之后,在第一归一化操作单元执行归一化操作的同时,第一操作单元执行递推当前路的待译码的码块的后半部分的从前往后的第一个第一中间变量(alpha)的加操作;然后,第一操作单元执行递推前半部分的从前往后的第二个第一中间变量(例如,alpha)的加操作,同时第一归一化操作单元执行后半部分的从前往后的第一个第一中间变量(例如,alpha)的归一化操作,然后在第一归一化操作单元执行前半部分的从前往后的第二个第一中间变量(alpha)的归一化操作的同时第一加操作单元执行后半部分的从前往后的第二个第一中间变量(alpha)的加操作,以此循环,递推得到当前路的所有第一中间变量(alpha)。
第二中间变量计算模块106可以包括:第二加操作单元和第二归一化操作单元,所述第二加操作单元用于在递推各个所述第二中间变量的过程中执行加操作;所述第二归一化操作单元用于在递推各个所述第二中间变量的过程中执行归一化操作。
例如,在第二加操作单元在执行递推当前路的待译码的码块的后半部分的从后往前的第一个第二中间变量(例如,beta)的加操作,在第二归一化操作执行归一化操作的同时,第二操作单元执行递推当前路的待译码的码块的前半部分的从后往前的第一个第二中间变量(beta)的加操作;然后,第二加操作单元执行递推后半部分的从后往前的第二个第二中间变量(beta)的加操作,同时第二归一化操作单元执行前半部分的从后往前的第一个第二中间变量(beta)的归一化操作,并在第二归一化操作单元执行后半部分的从后往前的第二个第二中间变量(beta)的归一化操作的同时第二加操作单元执行前半部分的从后往前的第二个第二中间变量(beta)的加操作,以此循环,递推得到当前路的所有第二中间变量(beta)。
在本发明实施例的一种优选实施方式中,如图8所示,每路译码模块还可以包括一个存储模块40,用于存储所述递推模块10递推得到的与所述前半部分的前一半的码块对应的各个所述第一中间变量以及与所述后半部分的前一半的码块对应的各个所述第一中间变量,与所述后半部分的后一半的码块对应的各个所述第二中间变量以及与所述前半部分的后一半的码块对应的各个所述第二中间变量。
在本发明实施例的一个优选实施方式中,该装置还可以对图2中的输出控制模块进行改进,该输出控制模块用于根据各路所述译码模块输出的译码结果与待译码的码块的循环冗余校验码进行CRC校验,如果校验正确,则停止迭代,完成译码过程,否则,利用各路所述译码模块输出的所述先验信息进行下一次的迭代过程。
在本发明实施例的一种优选实施方式中,也可以分别设置与第一中间变量和第二变量中间对应的两个LLR计算模块20,相应的硬判模块也可以设置两个。图9根据本发明优选实施例的译码模块30的结构示意图,如图9所示,系统信息(sys)、校验信息(对于MAP1计算为校验信息1,对于MAP2计算为校验信息2)和先验信息(apri)输入到针对alpha的gamma计算模块(相当于第一分支转移变量计算模块)和针对beta的gamma计算模块(相当于第二分支转移变量计算模块),第一分支转移变量计算模块从前往后的递归出LLR输入到alpha计算模块(相当于第一中间变量计算模块),alpha计算模块计算出该路的alpha,一部分存储到数据RAM中,一部分输入到LLR计算模块,LLR计算模块根据输入的alpha和数据RAM中存储的beta计算LLR,并输出先验信息(ext_apri),并将计算得到的LLR输出到硬判模块,硬判模块根据输入的LLR、系统信息和先验信息(apri)。同样,对于beta进行相应的处理。
从以上的描述中,可以看出,通过本发明实施例提供的技术方案,采用了alpha和beta的同时计算,缩短了约1/2的译码延时;同时,在每1路的关键路径alpha和beta的计算上,通过在控制上的改进,把译码的关键路径alpha/beta的迭代计算可以由原来只能采用的一级流水线变成两级流水线但不降低译码器的吞吐率,大大提高了turbo译码器的硬件可实现性和稳定性,也提高了吞吐率。并且,在硬件资源上,alpha、beta对撞的计算方法,只是增加了部分寄存器资源,并没有增加RAM资源,对整个设计电路的规模也没有产生大的影响。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种turbo译码的方法,其特征在于,在对待译码的码块进行多路并行译码过程中,在每一次迭代过程中,每路译码模块在进行译码时,所述方法包括:
对当前路的待译码的码块,所述译码模块采用从前往后递推的方式得到当前路的所有第一中间变量,同时采用从后往前递推的方式得到当前路的所有第二中间变量;
所述译码模块根据得到所有所述第一中间变量、所有所述第二中间变量以及所述待译码的码块的所有分支转移变量,得到当前路的所有对数似然比LLR;
所述译码模块根据所有所述对数似然比,得到当前路输出的先验信息和译码结果;
其中,所述译码模块采用从前往后递推的方式得到当前路的所有第一中间变量,同时采用从后往前递推的方式得到当前路的所有第二中间变量包括:
所述译码模块采用从前往后递推的方式得到所述当前路的所有分支转移变量,并根据得到的所有所述分支转移变量从前往后递推得到所述当前路的所有所述第一中间变量;同时,
所述译码模块采用从后往前递推的方式得到所述当前路的所有分支转移变量,并根据本次得到的所有所述分支转移变量从后往前递推得到所述当前路的所有所述第二中间变量;
其中,所述译码模块根据得到的所有所述分支转移变量从前往后递推得到所述当前路的所有所述第一中间变量包括:
所述译码模块在递推所述当前路的待译码的码块的前半部分的从前往后的第一个所述第一中间变量时,在进行加操作之后,在进行归一化操作的同时,执行递推所述当前路的待译码的码块的后半部分的从前往后的第一个所述第一中间变量的加操作;
所述译码模块执行递推所述前半部分的从前往后的第二个所述第一中间变量的加操作,同时执行所述后半部分的从前往后的第一个所述第一中间变量的归一化操作,然后在执行所述前半部分的从前往后的第二个所述第一中间变量的归一化操作的同时执行所述后半部分的从前往后的第二个所述第一中间变量的加操作,以此循环,递推得到所述当前路的所有所述第一中间变量。
2.根据权利要求1所述的方法,其特征在于,所述译码模块根据得到的所有所述分支转移变量从后往前递推得到所述当前路的所有所述第二中间变量包括:
所述译码模块在递推所述当前路的待译码的码块的后半部分的从后往前的第一个所述第二中间变量时,在进行加操作之后,在进行归一化操作的同时,执行递推所述当前路的待译码的码块的前半部分的从后往前的第一个所述第二中间变量的加操作;
所述译码模块执行递推所述后半部分的从后往前的第二个所述第二中间变量的加操作,同时执行所述前半部分的从后往前的第一个所述第二中间变量的归一化操作,并在执行所述后半部分的从后往前的第二个所述第二中间变量的归一化操作的同时执行所述前半部分的从后往前的第二个所述第二中间变量的加操作,以此循环,递推得到所述当前路的所有所述第二中间变量。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:所述译码模块将与所述前半部分的前一半的码块对应的各个所述第一中间变量以及与所述后半部分的前一半的码块对应的各个所述第一中间变量存储到存储器中;所述译码模块将与所述后半部分的后一半的码块对应的各个所述第二中间变量以及与所述前半部分的后一半的码块对应的各个所述第二中间变量存储到存储器中。
4.根据权利要求3所述的方法,其特征在于,所述译码模块根据得到所有所述第一中间变量、所有所述第二中间变量以及所述待译码的码块的所有分支转移变量,得到当前路的所有对数似然比包括:
所述译码模块在递推与所述前半部分的后一半码块对应的各个所述第一中间变量以及所述后半部分的后一半码块对应的各个所述第一中间变量时,每递推得到一个所述第一中间变量时,读取存储的与当前执行递推的位置对应的所述第二中间变量,并根据该第一中间变量、该第二中间变量以及当前执行递推的位置对应的分支转移变量,得到一个与当前执行递推的位置对应的所述对数似然比;
所述译码模块在递推与所述后半部分的前一半码块对应的各个所述第二中间变量以及所述前半部分的前一半码块对应的各个所述第二中间变量时,每递推得到一个所述第二中间变量时,读取存储的与当前执行递推的位置对应的所述第一中间变量,并根据该第二中间变量、第一中间变量以及当前执行递推的位置对应的分支转移变量,得到一个与当前执行递推的位置对应的所述对数似然比。
5.根据权利要求1至4中任一项所述的方法,其特征在于,在得到各路的译码结果之后,所述方法还包括:
根据各路的所述译码结果与待译码的码块的循环冗余校验CRC码进行CRC校验,如果校验正确,则停止迭代,完成译码过程,否则,利用各路输出的所述先验信息进行下一次的迭代过程。
6.一种turbo译码的装置,其特征在于,包括:多路译码模块,其中,每路所述译码模块包括:
递推模块,用于对当前路的待译码的码块,采用从前往后递推的方式得到当前路的所有第一中间变量,同时采用从后往前递推的方式得到当前路的所有第二中间变量;
LLR计算模块,用于根据得到所有所述第一中间变量、所有所述第二中间变量以及所述待译码的码块的所有分支转移变量,得到当前路的所有对数似然比LLR,并根据所有所述LLR,输出先验信息;
硬判模块,用于对所述LLR计算模块得到的所有所述LLR执行硬判,将硬判结果作为译码结果输出;
其中,所述递推模块包括:
第一分支转移变量计算模块,用于采用从前往后递推的方式得到所述当前路的所有分支转移变量;
第一中间变量计算模块,用于根据所述第一分支转移变量计算模块得到的所有所述分支转移变量从前往后递推得到所述当前路的所有所述第一中间变量;
第二分支转移变量计算模块,用于采用从后往前递推的方式得到所述当前路的所有分支转移变量;
第二中间变量计算模块,用于根据所述第二分支转移变量计算模块得到的所有所述分支转移变量从后往前递推得到所述当前路的所有所述第二中间变量;
其中,所述第一中间变量计算模块包括:第一加操作单元和第一归一化操作单元,其中,
所述第一加操作单元用于在递推各个所述第一中间变量的过程中执行加操作;
所述第一归一化操作单元用于在递推各个所述第一中间变量的过程中执行归一化操作。
7.根据权利要求6所述的装置,其特征在于,所述第二中间变量计算模块包括:第二加操作单元和第二归一化操作单元,其中,
所述第二加操作单元用于在递推各个所述第二中间变量的过程中执行加操作;
所述第二归一化操作单元用于在递推各个所述第二中间变量的过程中执行归一化操作。
8.根据权利要求6所述的装置,其特征在于,所述译码模块还包括:
存储模块,用于存储所述递推模块递推得到的与所述当前路的待译码的码块的前半部分的前一半的码块对应的各个所述第一中间变量以及与所述当前路的待译码的码块的后半部分的前一半的码块对应的各个所述第一中间变量,与所述当前路的待译码的码块的后半部分的后一半的码块对应的各个所述第二中间变量以及与所述当前路的待译码的码块的前半部分的后一半的码块对应的各个所述第二中间变量。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括:
输出控制模块,用于根据各路所述译码模块输出的译码结果与待译码的码块的循环冗余校验CRC码进行CRC校验,如果校验正确,则停止迭代,完成译码过程,否则,利用各路所述译码模块输出的所述先验信息进行下一次的迭代过程。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110105086.0A CN102158235B (zh) | 2011-04-26 | 2011-04-26 | turbo译码的方法及装置 |
EP12776607.9A EP2704330A4 (en) | 2011-04-26 | 2012-04-06 | TURBODE CODING METHOD AND DEVICE |
PCT/CN2012/073593 WO2012146124A1 (zh) | 2011-04-26 | 2012-04-06 | Turbo译码的方法及装置 |
RU2013152333/08A RU2571597C2 (ru) | 2011-04-26 | 2012-04-06 | Способ и устройство для декодирования турбокода |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110105086.0A CN102158235B (zh) | 2011-04-26 | 2011-04-26 | turbo译码的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102158235A CN102158235A (zh) | 2011-08-17 |
CN102158235B true CN102158235B (zh) | 2016-11-23 |
Family
ID=44439457
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110105086.0A Active CN102158235B (zh) | 2011-04-26 | 2011-04-26 | turbo译码的方法及装置 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP2704330A4 (zh) |
CN (1) | CN102158235B (zh) |
RU (1) | RU2571597C2 (zh) |
WO (1) | WO2012146124A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103812510A (zh) * | 2012-11-15 | 2014-05-21 | 中兴通讯股份有限公司 | 译码方法及装置 |
CN103475380A (zh) * | 2013-09-06 | 2013-12-25 | 清华大学 | 用于图像处理器的并行Turbo 译码方法 |
CN103986557B (zh) * | 2014-05-23 | 2017-06-13 | 西安电子科技大学 | 低路径延迟的LTE Turbo码并行分块译码方法 |
CN107733446B (zh) * | 2016-08-12 | 2019-06-07 | 华为技术有限公司 | 译码方法及设备、译码器 |
CN109379088B (zh) * | 2018-12-13 | 2022-03-08 | 浙江天则通信技术有限公司 | 一种并行Turbo码迭代译码的方法及系统 |
CN113691263B (zh) * | 2021-08-19 | 2024-02-27 | Oppo广东移动通信有限公司 | 多比特并行校验方法及装置、存储介质及Turbo译码器 |
CN113992213B (zh) * | 2021-10-28 | 2024-06-04 | 成都星联芯通科技有限公司 | 一种双路并行译码存储设备及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101026439A (zh) * | 2007-02-07 | 2007-08-29 | 重庆重邮信科股份有限公司 | 一种提高Turbo码译码速率的译码方法 |
CN101651458A (zh) * | 2008-08-13 | 2010-02-17 | 华为技术有限公司 | Turbo并行译码方法、装置及系统 |
CN101964665A (zh) * | 2010-10-22 | 2011-02-02 | 上海交通大学 | turbo解码中基于Log-MAP的译码方法及其译码装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6980605B2 (en) * | 2000-01-31 | 2005-12-27 | Alan Gatherer | MAP decoding with parallelized sliding window processing |
DE10012874A1 (de) * | 2000-03-16 | 2001-09-27 | Infineon Technologies Ag | Turbo-Decodierer und Turbo-Decodierverfahren |
JP4185314B2 (ja) * | 2002-06-07 | 2008-11-26 | 富士通株式会社 | 情報記録再生装置、光ディスク装置及び、データ再生方法 |
KR100703307B1 (ko) * | 2002-08-06 | 2007-04-03 | 삼성전자주식회사 | 터보 복호화 장치 및 방법 |
JP4554366B2 (ja) * | 2002-09-18 | 2010-09-29 | エヌエックスピー ビー ヴィ | データウィンドウを使用してデータを復号化するための方法 |
DE10310812B4 (de) * | 2003-03-12 | 2007-11-22 | Infineon Technologies Ag | Dekodiervorrichtung, Trellis-Prozessor und Verfahren |
KR100606023B1 (ko) * | 2004-05-24 | 2006-07-26 | 삼성전자주식회사 | 고속 터보 복호화 장치 |
US7925964B2 (en) * | 2006-12-22 | 2011-04-12 | Intel Corporation | High-throughput memory-efficient BI-SOVA decoder architecture |
US8171384B2 (en) * | 2008-06-27 | 2012-05-01 | Freescale Semiconductor, Inc. | Device having turbo decoding capabilities and a method for turbo decoding |
CN102340320B (zh) * | 2011-07-08 | 2013-09-25 | 电子科技大学 | 卷积Turbo码双向并行译码方法 |
-
2011
- 2011-04-26 CN CN201110105086.0A patent/CN102158235B/zh active Active
-
2012
- 2012-04-06 RU RU2013152333/08A patent/RU2571597C2/ru active
- 2012-04-06 WO PCT/CN2012/073593 patent/WO2012146124A1/zh active Application Filing
- 2012-04-06 EP EP12776607.9A patent/EP2704330A4/en not_active Ceased
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101026439A (zh) * | 2007-02-07 | 2007-08-29 | 重庆重邮信科股份有限公司 | 一种提高Turbo码译码速率的译码方法 |
CN101651458A (zh) * | 2008-08-13 | 2010-02-17 | 华为技术有限公司 | Turbo并行译码方法、装置及系统 |
CN101964665A (zh) * | 2010-10-22 | 2011-02-02 | 上海交通大学 | turbo解码中基于Log-MAP的译码方法及其译码装置 |
Also Published As
Publication number | Publication date |
---|---|
EP2704330A1 (en) | 2014-03-05 |
CN102158235A (zh) | 2011-08-17 |
EP2704330A4 (en) | 2014-12-17 |
WO2012146124A1 (zh) | 2012-11-01 |
RU2013152333A (ru) | 2015-06-10 |
RU2571597C2 (ru) | 2015-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102158235B (zh) | turbo译码的方法及装置 | |
JP5479580B2 (ja) | Lteにおける並列turboデコーディングの方法及び装置 | |
CN101777924B (zh) | 一种Turbo码译码方法和装置 | |
US6563877B1 (en) | Simplified block sliding window implementation of a map decoder | |
CN1168237C (zh) | 移动通信系统中的分量解码器及其方法 | |
EP1030457B1 (en) | Methods and system architectures for turbo decoding | |
CN101026439B (zh) | 一种提高Turbo码译码速率的译码方法 | |
CN103873073A (zh) | 一种基于并行与加窗结构的Turbo码高速译码实现方法 | |
US20050034046A1 (en) | Combined interleaver and deinterleaver, and turbo decoder comprising a combined interleaver and deinterleaver | |
CN101777926B (zh) | 一种Turbo乘积码的通用译码器及其方法 | |
CN102523076B (zh) | 通用可配置的高速率Turbo码译码方法 | |
CN103427850A (zh) | 多模维特比解码装置及其解码方法 | |
CN104092470A (zh) | 一种Turbo码译码装置及方法 | |
CN100413217C (zh) | 一种维特比译码器及用于维特比译码器的加比选单元电路 | |
CN103354483A (zh) | 通用的高性能Radix-4SOVA译码器及其译码方法 | |
CN100508405C (zh) | 提高Turbo码译码速度的并行译码方法及译码装置 | |
CN102571107B (zh) | LTE系统中高速并行Turbo码的解码系统及方法 | |
Shahabuddin et al. | Design of a transport triggered vector processor for turbo decoding | |
CN105515591B (zh) | 一种Turbo码译码系统及方法 | |
CN106712778A (zh) | 一种turbo译码装置及方法 | |
US7917834B2 (en) | Apparatus and method for computing LLR | |
CN100429870C (zh) | 一种维特比译码器以及决定其中加比选单元数据位宽的方法 | |
CN103701475A (zh) | 移动通信系统中8比特运算字长Turbo码的译码方法 | |
CN114531161B (zh) | 一种多模列表维特比实现方法及译码器 | |
CN100505600C (zh) | 一种实现缩短Turbo译码器关键路径的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20221114 Address after: 518055 Zhongxing Industrial Park, Liuxian Avenue, Xili street, Nanshan District, Shenzhen City, Guangdong Province Patentee after: SANECHIPS TECHNOLOGY Co.,Ltd. Address before: 518057 No.55, Keji South Road, Nanshan District, Shenzhen City, Guangdong Province Patentee before: ZTE Corp. |