CN102130696A - 错误纠正码编码器、错误纠正码解码器、交织/去交织方法及软入软出解码方法 - Google Patents
错误纠正码编码器、错误纠正码解码器、交织/去交织方法及软入软出解码方法 Download PDFInfo
- Publication number
- CN102130696A CN102130696A CN2011100053397A CN201110005339A CN102130696A CN 102130696 A CN102130696 A CN 102130696A CN 2011100053397 A CN2011100053397 A CN 2011100053397A CN 201110005339 A CN201110005339 A CN 201110005339A CN 102130696 A CN102130696 A CN 102130696A
- Authority
- CN
- China
- Prior art keywords
- window
- softly
- soft
- information
- decoder
- 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.)
- Pending
Links
Images
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/27—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 using interleaving techniques
- H03M13/2771—Internal interleaver for turbo codes
- H03M13/2775—Contention or collision free turbo code internal interleaver
-
- 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/27—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 using interleaving techniques
- H03M13/2739—Permutation polynomial interleaver, e.g. quadratic permutation polynomial [QPP] interleaver and quadratic congruence interleaver
-
- 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/27—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 using interleaving techniques
- H03M13/275—Interleaver wherein the permutation pattern is obtained using a congruential operation of the type y=ax+b modulo c
- H03M13/2753—Almost regular permutation [ARP] interleaver
-
- 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/27—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 using interleaving techniques
- H03M13/2771—Internal interleaver for turbo codes
-
- 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
-
- 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/3905—Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding
-
- 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
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明提供一种错误纠正码编码器、错误纠正码解码器、交织/去交织方法及软入软出解码方法。错误纠正码编码器包含第一编码器、交织器、以及第二编码器。第一编码器用于编码多个输入信息位以产生多个第一奇偶校验位;交织器用于交织多个输入信息位以产生多个置换信息位;以及第二编码器用于编码多个置换信息位以产生多个第二奇偶校验位。上述错误纠正码编码器、错误纠正码解码器、交织/去交织方法及软入软出解码方法能够提供较高的编码/解码性能。
Description
技术领域
本发明有关于一种交织/去交织(interleaving/de-interleaving)方法以及对应的错误纠正(error correcting)编码/解码方法,且特别有关于一种用于高turbo编码/解码性能的错误纠正码编码器、错误纠正码解码器、交织/去交织方法以及软入软出(Soft-In/Soft-out,以下简称为SISO)解码方法。
背景技术
Turbo码,也被公知为并行级联卷积码(parallel concatenated convolutionalcode),具有较佳的接近香农极限(near Shannon limit)性能。1/3码率的turbo码字(codeword)是由系统数据与两个奇偶校验(parity check)位构成,其是分别以原始顺序(original order)以及置换顺序(permuted order)编码信息得到。传统的turbo解码器主要由一个用于计算软数值(soft value)的SISO解码器组成,其中接收到的码字以及暂时结果是存储于存储器中。对于每一组件码(component code),SISO解码器可利用最大后验概率(Maximum A Posterioriprobability,以下简称为MAP)算法来获得对数相似比值(Log-Likelihood Ratio,以下简称为LLR)以及外来(extrinsic)信息。LLR是用于作决定,而外来信息是作为其它组件码的先验估计(priori estimation)。每一组件码的软数值计算被称为一个半迭代(half-iteration),而两个连续的半迭代组成一个完整迭代。解码流程在原始组件与置换组件之间交替,直至满足特定停止准则。
然而,turbo码的某些特性使相关的解码器较难在集成电路中实现。这些特性包含帧大小较大、重复解码步骤(包含外来信息)的使用、以及伪随机(pseudorandom)交织器的使用,其中伪随机交织器用于产生编码与解码中所用的传送信息与外来信息的交织形式。此外,许多turbo编码机制需要伪随机交织器具有足够高的随机性以使序列存储于存储器中而不是实时(on the fly)计算。通常来说,上述特性的组合致使turbo码需要比其它正向错误纠正编码技术多的处理资源。举例来说,重复解码步骤的使用增加解码时间。
图1是turbo码SISO解码器的传统解码处理的示意图。SISO解码器包含多个缓冲器,例如图示的输入缓冲器以及α缓冲器,上述多个缓冲器用于暂时存储待解码的输入码字以及正向路径度量(metric)α的计算结果。SISO解码器进一步包含多个计算单元,例如用于计算分支度量的分支度量单元、用于计算反向路径度量β的β加法比较选择(Add Compare Select,以下简称为ACS)单元、以及用于计算虚拟(dummy)反向路径度量βd的βdACS单元。LLR单元产生LLR计算结果来基于正向路径度量α与反向路径度量β计算软数值。图2是用于获得分支度量以及路径度量的传统SISO解码器的解码流程的示意图,其中灰色填充块代表置换序列的半迭代的计算。如上所述,解码流程在原始组件与置换组件之间交替,直至满足特定停止准则。传统SISO解码器通常采用滑动窗口方法以较少开销来计算路径度量以及LLR。每一半迭代所需时间可定义如下:δa为管线延迟,δb为存储器存取时间,τa为在第一窗口W0中获得LLR的必要度量的时间,以及τb为推算全部窗口的LLR结果以及决定的时间。由于需要花费总运行时间τb来产生输出,运行效率η可如下式计算得出:
其中τa、τb、δa、以及δb的数值可由窗口长度以及解码器构架影响。对于如图1所示的传统SISO解码器的解码排程,两个窗口的执行期可如下式表示:
简单来说,假设SISO解码器每一个周期可处理一个交织区间(trellis stage)。此外,窗口长度表示为L。当窗口数目为K(=N/L,N为总位计数)时,仅有τb增至K×L周期,而其它参数仍保持不变。此处假设δa、δb以及τa的加总约为3L周期,则运行效率η将为显然,K值越小,运行效率η越低。此外,由于在完成前一半迭代之前无法获得对应的外来信息,传统的SISO解码器必须等待当前半迭代的完成,随后开始新的半迭代。换句话来说,在当前半迭代仍处理的期间,无法开始新的半迭代。否则,计算单元的运算结果会出现很大的误差。
图3是图1所示的传统SISO解码器中的计算单元的活跃期的时序示意图,其中Wi代表第i个窗口,而在每一个窗口中,连续计算虚拟反向路径度量βd、正向路径度量α、反向路径度量β以及LLR。如图3所示,传统SISO解码器中的计算单元的空闲时间实际比活跃期长,导致低解码效率。
为解决上述低效率问题,极需一种新的turbo码SISO解码方法及其相应的交织/去交织技术来提供较高解码性能以及较佳效率。
发明内容
有鉴于此,特提供以下技术方案:
本发明实施例提供一种错误纠正码编码器,包含:第一编码器,用于编码多个输入信息位以产生多个第一奇偶校验位;交织器,用于交织多个输入信息位以产生多个置换信息位;以及第二编码器,用于编码多个置换信息位以产生多个第二奇偶校验位,其中交织器以窗口形式交织多个输入信息位以使多个输入信息位在交织之前分成多个输入信息位窗口,以及随后产生包含多个置换信息位的多个置换信息位窗口,以及其中当多个输入信息位窗口依据不同的窗口索引性质而分成多个组时,由交织器产生的每一置换信息位窗口的窗口索引与由此交织的对应输入信息位窗口具有相同的性质。
本发明实施例另提供一种错误纠正码解码器,包含:第一软入软出解码器,用于接收与turbo编码信号联系的多个度量以及对该多个度量与第一先验概率信息执行软入软出解码以产生第一外来信息;第二软入软出解码器,用于对第二先验概率信息执行软入软出解码以产生第二外来信息;以及交织器/去交织器,用于交织该第一外来信息以产生该第二先验概率信息以及去交织该第二外来信息以产生该第一先验概率信息,其中该第一软入软出解码器进一步依据与该turbo编码信号联系的该多个度量以及该第一先验概率信息产生第一对数相似比值信息来作为第一解码结果,以及该第二软入软出解码器进一步依据该多个度量以及该第二先验概率信息产生第二对数相似比值信息来作为第二解码结果,以及其中该第一软入软出解码器与该第二软入软出解码器在当前半迭代的计算完成之前开始计算软入软出解码的新的半迭代以使连续半迭代的计算同时执行。
本发明实施例另提供一种交织/去交织方法,通过与turbo码编码器联系的交织器/去交织器执行,包含:交织多个输入信息位以产生多个置换信息位,其中多个输入信息位是以窗口形式交织以使多个输入信息位在交织之前分成多个输入信息位窗口,以及在交织步骤之后产生包含多个置换信息位的多个置换信息位窗口,以及其中当多个输入信息位窗口依据不同的窗口索引性质而分成至少两个组时,每一置换信息位窗口的窗口索引与由此交织的对应输入信息位窗口具有相同的性质。
本发明实施例又提供一种软入软出解码方法,通过turbo码解码器中的软入软出解码器执行,包含:接收与turbo编码信号联系的多个度量;以及对多个度量执行软入软出解码处理以产生概率信息,其中软入软出解码处理包含由两个半迭代组成的完整迭代用于产生概率信息,以及在执行软入软出解码处理步骤中,在当前半迭代的计算完成之前开始新的半迭代以使连续半迭代并行处理。
以上所述的错误纠正码编码器、错误纠正码解码器、交织/去交织方法及软入软出解码方法能够提供较高的编码/解码性能。
附图说明
图1是turbo码SISO解码器的传统解码处理的示意图。
图2是传统SISO解码器的解码流程的示意图。
图3是图1所示的传统SISO解码器中的计算单元的活跃期的时序示意图。
图4是依本发明实施例的turbo码解码器的示意图。
图5是依本发明实施例的turbo码编码器的示意图。
图6是依本发明实施例的SISO解码器的解码流程的示意图。
图7是依本发明实施例的基于图6所示的解码排程的SISO解码器中的计算单元的活跃期的时序示意图。
具体实施方式
在说明书及权利要求书当中使用了某些词汇来指称特定的元件。所属技术领域的技术人员应可理解,硬件制造商可能会用不同的名词来称呼同一个元件。本说明书及权利要求书并不以名称的差异作为区分元件的方式,而是以元件在功能上的差异作为区分的准则。在通篇说明书及权利要求项中所提及的「包含」为一开放式的用语,故应解释成「包含但不限定于」。此外,「耦接」一词在此包含任何直接及间接的电气连接手段。因此,若文中描述第一装置耦接于第二装置,则代表第一装置可直接电气连接于第二装置,或透过其它装置或连接手段间接地电气连接至第二装置。
请再次参考图1至图3,对于传统的SISO解码器,很难消除通过排程每一独立半迭代用于路径度量计算与存储器存取的必要运行时间。在一个半迭代中的最后决定与下一半迭代中的最初决定的间隔期间,LLR单元保持闲置。若在完成当前半迭代之前开始新的半迭代,两个连续的半迭代并行执行,则可实现较少不活跃期以及较高运行效率η。然而,由于在交织器交织数据之后,原始序列中的最后数据将映像至置换序列中的最初位置,两个连续半迭代的并行执行排程将导致两个问题。第一,SISO解码器进行新的半迭代需要先验估计却无法获得对应的外来信息。因此,在此情况下,SISO解码器将自较早半迭代存取不可靠的外来信息,而由此可能导致巨大的性能损耗。第二,由于设计原因,在存储器存取期间,可产生复杂度。未完成的半迭代的输出写回至存储器,而同时新的半迭代的输入读取自存储器。当读操作与写操作存取同一地址时,某些存储器可输出未知信号。
为解决上述问题,提出一种新的turbo码解码方法及其装置、以及相应的交织/去交织方法,上述交织/去交织方法是由turbo码编码器的交织器/去交织器利用。
图4是依本发明实施例的turbo码解码器的示意图。turbo码解码器400包含第一SISO解码器401、第一交织器402、第二SISO解码器403、第二交织器404以及去交织器405。第一SISO解码器401接收与turbo编码信号联系的多个度量r0,t、r1,t以及先验概率信息La1(ut),并对上述度量执行SISO解码以产生外来信息Le1(ut)。第一交织器402交织外来信息Le1(ut)以产生先验概率信息第二交织器404交织系统信息的度量r0,t并产生置换系统信息第二SISO解码器403则接收与turbo编码信号联系的度量r2,t、由第一交织器402产生的先验概率信息由第二交织器404产生的置换系统信息执行SISO解码以产生外来信息去交织器405去交织外来信息并产生先验概率信息La1(ut)以供第一SISO解码器401使用。如图4所示,第一SISO解码器401进一步依据与turbo编码信号联系的度量r0,t与r1,t以及先验概率信息La1(ut)来产生第一LLR信息L1(ut)来作为第一解码结果。第二SISO解码器403进一步依据度量与以及r2,t以及先验概率信息产生第二LLR信息来作为第二解码结果。
依据本发明实施例,为提升运行效率,SISO解码器在当前半迭代的计算完成之前开始计算SISO解码的新的半迭代。具体来说,不同于传统的SISO解码处理,在本发明实施例中,连续半迭代的计算是同时执行,其中在说明书中将两个连续半迭代同时执行的时期称为“重叠区域”。请注意,由于传统turbo码编码与解码机制的限制,很难消除通过排程每一独立半迭代用于路径度量计算与存储器存取的必要运行时间。如图3所示,在一个半迭代中的最后决定与下一半迭代中的最初决定的间隔期间,SISO解码器的LLR单元保持闲置。对于传统的SISO解码器,由于在交织器交织数据之后,原始序列中的最后数据将映像至置换序列中的最初位置,若在当前半迭代完成之前尝试开始新的半迭代,将导致两个问题。第一,SISO解码器进行新的半迭代需要先验估计却无法获得对应的外来信息。因此,在此情况下,SISO解码器将自较早半迭代存取不可靠的外来信息,而由此可能导致巨大的性能损耗。第二,由于设计原因,在存储器存取期间,可产生复杂化。未完成的半迭代的输出写回至存储器,而同时新的半迭代的输入读取自存储器。当读操作与写操作存取同一地址时,某些存储器可输出未知信号。
为解决上述问题并仍实现SISO解码器的高运行效率,提出一种新的交织/去交织方法,上述交织/去交织方法是由turbo码编码器的交织器/去交织器利用。依本发明的精神,交织器必须保证用于SISO解码的半迭代中的最后数据与下一半迭代中的最初数据之间并无相关。
图5是依本发明实施例的turbo码编码器的示意图。turbo码编码器500包含第一编码器501、第二编码器502以及交织器503。第一编码器501编码输入信息位u(D)以产生第一奇偶校验位v1(D),交织器503交织输入信息位u(D)以产生置换信息位而第二编码器502编码置换信息位以产生第二奇偶校验位v2(D)。依本发明实施例,交织器503是以窗口形式交织输入信息位u(D)以使输入信息位u(D)在交织之前分成多个输入信息位窗口,以及随后产生包含置换信息位的多个置换信息位窗口。在本发明实施例中,原始序列与置换序列中的全部窗口可视作分类成多个组,其中原始序列中的全部窗口即在交织之前的输入信息位窗口。交织器503的目的在于将原始序列窗口的一组精准映射至置换序列窗口的一组。随后,解码器可安排窗口的执行顺序并避免由同时处理连续半迭代而导致的复杂度。
依本发明实施例,当多个输入信息位窗口依据不同的窗口索引性质而分成多个组时,由交织器503产生的每一置换信息位窗口的窗口索引与由此交织的对应输入信息位窗口具有相同或相似的性质。举例来说,当多个输入信息位窗口依据窗口索引否为奇数或偶数而分成两组时,当由此交织的对应输入信息位窗口的窗口索引为奇数/偶数时,每一置换信息位窗口的窗口索引为奇数/偶数。请注意,交织器503也可设计为:当由此交织的对应输入信息位窗口的窗口索引为奇数/偶数时,每一置换信息位窗口的窗口索引为偶数/奇数,且本发明并非限制于此。当多个输入信息位窗口分类成超过两个组时,也可适用相似概念。举例来说,当多个输入信息位窗口依据其窗口索引i而分成m个组时,交织器503也可设计为:将每一置换信息位窗口的窗口索引i模m之后结果为特定数目n,而将与由此交织的对应输入信息位窗口的窗口索引模m之后结果也为n(或n加上固定数目),且本发明并非限制于此。
依本发明实施例,交织器503可为常用交织器,例如二次多项式(QuadraticPermutation Polynomial,以下简称为QPP)交织器、近似规则置换(Almost RegularPermutation,以下简称为ARP)交织器、或其它。以QPP交织器为例,由于其简单公式以及突出性能,3GPP LTE标准采用QPP交织器。此外,此交织器属于免竞争(contention-free)型,故其能支持并行处理。对于大小为N的块,QPP交织器可如下式表示:
F(x)=f1x+f2x2(mod N)(3)
其中x代表原始地址,F(x)代表交织地址,而mod代表模数操作。通过利用QPP交织器的限制,QPP交织器可满足上述需要。首先,在窗口形式策略中需要合适的地址表示。将公式(3)中的x替代为(sL+j),指示第s个窗口中的第j个数据,其中L为窗口长度。替代后的交织地址(第Qs个窗口中的第qj个数据)可如下式表示:
F(sL+j)=f1sL+f2s2L2+2f2jsL+f1j+f2j2
=QsL+qj(mod N)(4)
交织器设计涉及分类方法与映像规则,且仅考虑s与Qs。简单来说,设置四个基本限制,包含:2|f2、L|N、以及2|L,其中a|b意味着b可被a整除。在本发明一个实施例中,全部窗口依据s与Qs模2而分类,则交织器503将全部奇数s以及全部偶数s分别映像至全部奇数Qs以及全部偶数Qs。由此,由交织器503产生的每一置换信息位窗口的窗口索引Qs可与由此交织的对应输入信息位窗口的窗口索引s具有相同的性质。下列命题将详细推导上述性质。
L|(f1-1) (6a)
L|f2 (6b)
(f1-1)/L≡f2/L(mod2)(6c)
公式(2)中最后一项可重写为:
对于公式(6a)与(6b),与都是整数。公式(6c)中的限制保证上述两项的和为偶数。此外,由于j<L,通过地板函数消除项。结果,公式(7)中的最后一项可被2整除且可被除去,且对于且j=0~(L-1),Qs≡s(mod 2)始终成立。
如上所述,不同于传统的SISO解码处理,在本发明实施例中,连续半迭代的计算是同时执行,其中在说明书中将两个连续半迭代同时执行的时期称为“重叠区域”。依本发明的一个实施例,重叠区域的最大长度可为(δa+δb+τa),即为当前半迭代中的最后LLR计算与下一半迭代中的最初LLR计算之间的间隔。请注意,实际重叠区域是由处理窗口的数目与顺序决定。当后续半迭代中的数据可存取可靠外来信息时,可影响上述两个因素。依据s与Qs之间的严格映像关系,重叠区域内的处理窗口应满足限制s≠Qs(mod 2)。此外,对于安排窗口执行顺序的SISO解码器来说,不同组的窗口可相继地执行。举例来说,当将输入信息位窗口分成两组(例如,奇数与偶数)时,SISO解码器可在重叠区域之前完成全部偶数索引窗口或全部奇数索引窗口的执行。以两个窗口的解码排程为例,由于原始序列中的数据W0仅映像至置换序列中的W0,置换顺序W0的执行可提前开始L个周期,随后同时计算原始顺序W1的LLR与置换顺序W0的α。由此可将运行效率η自传统SISO解码排程的50%提升至66.7%。
依据本发明的另一实施例,为达到100%效率,SISO解码器必须在最大重叠期内在当前半迭代中计算最后处理窗口的LLR。由于在本发明提出的改进SISO解码排程中,(δa+δb+τa)约为2L,重叠区域涉及两个原始顺序窗口以及两个置换顺序窗口的执行。因此,SISO解码器可同时处理至少四个窗口。图6是依本发明实施例的SISO解码器的解码流程的示意图,其中执行顺序为W0、W2、W1、以及W3。在获得W0与W2的LLR之后,SISO解码器继续未完成的处理来获得W1与W3的软数值。同时,可立即开始随后半迭代中的W0与W2的执行。图7是依本发明实施例的基于图6所示的解码排程的SISO解码器中的计算单元的活跃期的时序示意图。如图7所示,全部计算单元,包含用于计算路径度量α与β的路径度量计算单元以及用于计算LLR概率信息的LLR计算单元,是充分利用,且运行效率η快速地自66.7%提升至100%。换句话来说,在本发明实施例中,如图7所示,路径度量计算单元以及LLR计算单元可连续地工作而在连续半迭代中几乎没有闲置期,从而达到100%效率。
以上所述仅为本发明的较佳实施例,凡依本发明权利要求所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (16)
1.一种错误纠正码编码器,包含:
第一编码器,用于编码多个输入信息位以产生多个第一奇偶校验位;
交织器,用于交织该多个输入信息位以产生多个置换信息位;以及
第二编码器,用于编码该多个置换信息位以产生多个第二奇偶校验位,
其中该交织器以窗口形式交织该多个输入信息位以使该多个输入信息位在交织之前分成多个输入信息位窗口,以及随后产生包含该多个置换信息位的多个置换信息位窗口,以及
其中当该多个输入信息位窗口依据不同的窗口索引性质而分成多个组时,由该交织器产生的每一置换信息位窗口的该窗口索引与由此交织的对应输入信息位窗口具有相同的性质。
2.如权利要求1所述的错误纠正码编码器,其特征在于:当由此交织的对应输入信息位窗口的该窗口索引为奇数/偶数时,每一置换信息位窗口的该窗口索引为奇数/偶数。
3.如权利要求1所述的错误纠正码编码器,其特征在于:当由此交织的对应输入信息位窗口的该窗口索引为奇数/偶数时,每一置换信息位窗口的该窗口索引为偶数/奇数。
4.如权利要求1所述的错误纠正码编码器,其特征在于:该交织器为二次多项式交织器。
5.如权利要求4所述的错误纠正码编码器,其特征在于:该交织器基于如下公式交织该多个输入信息位:
F(x)=f1x+f2x2
其中x为该多个输入信息位的索引,F(x)为该多个置换信息位的索引,且其中第一系数f1与第一系数f2满足下列限制:
其中L为窗口长度,L|f2意味着f2可被L整除。
6.如权利要求1所述的错误纠正码编码器,其特征在于:该交织器为近似规则置换交织器。
7.一种错误纠正码解码器,包含:
第一软入软出解码器,用于接收与turbo编码信号联系的多个度量以及对该多个度量与第一先验概率信息执行软入软出解码以产生第一外来信息;
第二软入软出解码器,用于对第二先验概率信息执行软入软出解码以产生第二外来信息;以及
交织器/去交织器,用于交织该第一外来信息以产生该第二先验概率信息以及去交织该第二外来信息以产生该第一先验概率信息,
其中该第一软入软出解码器进一步依据与该turbo编码信号联系的该多个度量以及该第一先验概率信息产生第一对数相似比值信息来作为第一解码结果,以及该第二软入软出解码器进一步依据该多个度量以及该第二先验概率信息产生第二对数相似比值信息来作为第二解码结果,以及
其中该第一软入软出解码器与该第二软入软出解码器在当前半迭代的计算完成之前开始计算软入软出解码的新的半迭代以使连续半迭代的计算同时执行。
8.如权利要求7所述的错误纠正码解码器,其特征在于:半迭代中的最后数据与下一半迭代中的最初数据之间并无相关。
9.如权利要求7所述的错误纠正码解码器,其特征在于:该第一软入软出解码器/该第二软入软出解码器更包含:
多个路径度量计算单元,用于基于该多个度量计算并产生多个路径度量;
多个对数相似比值计算单元,用于依据该多个路径度量来计算该第一对数相似比值信息与该第二对数相似比值信息,
其中该多个路径度量计算单元以及该多个对数相似比值计算单元是连续地工作而在连续半迭代中没有闲置期。
10.一种交织/去交织方法,通过与turbo码编码器联系的交织器/去交织器执行,包含:
交织多个输入信息位以产生多个置换信息位,
其中该多个输入信息位是以窗口形式交织以使该多个输入信息位在交织之前分成多个输入信息位窗口,以及在该交织步骤之后产生包含该多个置换信息位的多个置换信息位窗口,以及
其中当该多个输入信息位窗口依据不同的窗口索引性质而分成至少两个组时,每一置换信息位窗口的该窗口索引与由此交织的对应输入信息位窗口具有相同的性质。
11.如权利要求10所述的交织/去交织方法,其特征在于:当由此交织的对应输入信息位窗口的该窗口索引为奇数/偶数时,每一置换信息位窗口的该窗口索引为奇数/偶数。
12.如权利要求10所述的交织/去交织方法,其特征在于:当由此交织的对应输入信息位窗口的该窗口索引为奇数/偶数时,每一置换信息位窗口的该窗口索引为偶数/奇数。
13.如权利要求10所述的交织/去交织方法,其特征在于:该多个输入信息位是基于如下公式交织:
F(x)=f1x+f2x2
其中x为该多个输入信息位的索引,F(x)为该多个置换信息位的索引,且其中第一系数f1与第一系数f2满足下列限制:
其中L为窗口长度,L|f2意味着f2可被L整除。
14.一种软入软出解码方法,通过turbo码解码器中的软入软出解码器执行,包含:
接收与turbo编码信号联系的多个度量;以及
对该多个度量执行软入软出解码处理以产生概率信息,
其中该软入软出解码处理包含由两个半迭代组成的一个完整迭代用于产生该概率信息,以及在执行该软入软出解码处理步骤中,在当前半迭代的计算完成之前开始新的半迭代以使连续半迭代并行处理。
15.如权利要求14所述的软入软出解码方法,其特征在于:执行该软入软出解码处理的该步骤更包含:
基于该多个度量计算并产生多个路径度量;以及
依据该多个路径度量来计算并产生至少一个对数相似比值结果,
其中计算并产生该多个路径度量以及该至少一个对数相似比值结果的该步骤是连续地执行而在连续半迭代中没有闲置期。
16.如权利要求14所述的软入软出解码方法,其特征在于:半迭代中的最后数据与下一半迭代中的最初数据之间并无相关。
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US29486210P | 2010-01-14 | 2010-01-14 | |
| US61/294,862 | 2010-01-14 | ||
| US12/955,709 US8448033B2 (en) | 2010-01-14 | 2010-11-29 | Interleaving/de-interleaving method, soft-in/soft-out decoding method and error correction code encoder and decoder utilizing the same |
| US12/955,709 | 2010-11-29 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN102130696A true CN102130696A (zh) | 2011-07-20 |
Family
ID=44259463
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN2011100053397A Pending CN102130696A (zh) | 2010-01-14 | 2011-01-12 | 错误纠正码编码器、错误纠正码解码器、交织/去交织方法及软入软出解码方法 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US8448033B2 (zh) |
| CN (1) | CN102130696A (zh) |
| TW (1) | TWI459725B (zh) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2013067697A1 (zh) * | 2011-11-10 | 2013-05-16 | 中兴通讯股份有限公司 | 一种并行译码方法及Turbo译码器 |
| CN109150192A (zh) * | 2017-06-16 | 2019-01-04 | 上海交通大学 | 一种ldpc码字结构及码字编码方法 |
| CN111970008A (zh) * | 2020-08-28 | 2020-11-20 | 苏州浪潮智能科技有限公司 | 一种涡轮码解码器及软输入软输出方法、设备和存储介质 |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI433471B (zh) * | 2010-09-24 | 2014-04-01 | Sunplus Technology Co Ltd | (n,k)方塊碼之軟輸入軟輸出解碼裝置 |
| US8762808B2 (en) * | 2012-02-22 | 2014-06-24 | Lsi Corporation | Multi-processing architecture for an LTE turbo decoder (TD) |
| KR20210138241A (ko) * | 2020-05-12 | 2021-11-19 | 삼성전자주식회사 | 메모리 컨트롤러, 메모리 시스템 및 메모리 모듈 |
| CN115514377B (zh) * | 2022-08-15 | 2025-08-12 | 中山大学 | 一种Turbo解码电路及解码方法 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1189935A (zh) * | 1996-04-19 | 1998-08-05 | 通用电气公司 | 并行链接截尾卷积码及其译码器 |
| CN101601188A (zh) * | 2006-11-30 | 2009-12-09 | 摩托罗拉公司 | 利用无争用交织器的turbo编码 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1085661B1 (en) * | 1999-09-14 | 2005-03-02 | Lucent Technologies Inc. | Channel decoder and method of channel decoding |
| AU2284301A (en) | 2000-01-03 | 2001-07-16 | Icoding Technology, Inc. | System and method for high speed processing of turbo codes |
| DE10220892A1 (de) * | 2002-05-10 | 2003-12-18 | Fraunhofer Ges Forschung | Sendevorrichtung und Empfangsvorrichtung |
| US20080133997A1 (en) | 2006-12-01 | 2008-06-05 | Broadcom Corporation, A California Corporation | Turbo decoder employing ARP (almost regular permutation) interleave and inverse thereof as de-interleave |
| US8335949B2 (en) * | 2009-11-06 | 2012-12-18 | Trellisware Technologies, Inc. | Tunable early-stopping for decoders |
-
2010
- 2010-11-29 US US12/955,709 patent/US8448033B2/en not_active Expired - Fee Related
-
2011
- 2011-01-12 CN CN2011100053397A patent/CN102130696A/zh active Pending
- 2011-01-13 TW TW100101191A patent/TWI459725B/zh not_active IP Right Cessation
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1189935A (zh) * | 1996-04-19 | 1998-08-05 | 通用电气公司 | 并行链接截尾卷积码及其译码器 |
| CN101601188A (zh) * | 2006-11-30 | 2009-12-09 | 摩托罗拉公司 | 利用无争用交织器的turbo编码 |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2013067697A1 (zh) * | 2011-11-10 | 2013-05-16 | 中兴通讯股份有限公司 | 一种并行译码方法及Turbo译码器 |
| CN109150192A (zh) * | 2017-06-16 | 2019-01-04 | 上海交通大学 | 一种ldpc码字结构及码字编码方法 |
| CN109150192B (zh) * | 2017-06-16 | 2023-02-28 | 上海交通大学 | 一种ldpc码字结构及码字编码方法 |
| CN111970008A (zh) * | 2020-08-28 | 2020-11-20 | 苏州浪潮智能科技有限公司 | 一种涡轮码解码器及软输入软输出方法、设备和存储介质 |
| CN111970008B (zh) * | 2020-08-28 | 2022-05-24 | 苏州浪潮智能科技有限公司 | 一种涡轮码解码器及软输入软输出方法、设备和存储介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| TWI459725B (zh) | 2014-11-01 |
| US20110173507A1 (en) | 2011-07-14 |
| TW201141080A (en) | 2011-11-16 |
| US8448033B2 (en) | 2013-05-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN100542051C (zh) | 解码方法和设备 | |
| CN106888025B (zh) | 一种基于极化码的级联纠错编译码方法和系统 | |
| CN101777924B (zh) | 一种Turbo码译码方法和装置 | |
| JP5479580B2 (ja) | Lteにおける並列turboデコーディングの方法及び装置 | |
| CN101388674B (zh) | 一种译码的方法、译码器以及Turbo码译码器 | |
| CN102130696A (zh) | 错误纠正码编码器、错误纠正码解码器、交织/去交织方法及软入软出解码方法 | |
| US6950977B2 (en) | Mechanism for turbo decoding when CRC for partial blocks is provided | |
| CN101026439B (zh) | 一种提高Turbo码译码速率的译码方法 | |
| CN104092470B (zh) | 一种Turbo码译码装置及方法 | |
| US8370713B2 (en) | Error correction code decoding device | |
| JP5840741B2 (ja) | 複数のコード・タイプをプログラマブル復号する方法および装置 | |
| CN102111162A (zh) | Turbo 分量译码方法、分量译码器、支路计算器及Turbo 译码器 | |
| CN100546207C (zh) | 一种基于DVB-RCS标准的双二元Turbo码译码方法 | |
| JP4478668B2 (ja) | 並列のターボ復号機中でのインターリーブの方法およびシステム。 | |
| CN101442321A (zh) | 涡轮码的并行译码以及数据处理方法和装置 | |
| CN1157854C (zh) | 一种高速Turbo码解码器 | |
| CN102270993B (zh) | 一种同时实现交织与解交织的Turbo译码器 | |
| CN113872615A (zh) | 一种可变长度的Turbo码译码器装置 | |
| CN100508405C (zh) | 提高Turbo码译码速度的并行译码方法及译码装置 | |
| CN102571107B (zh) | LTE系统中高速并行Turbo码的解码系统及方法 | |
| Yoo et al. | Reverse rate matching for low-power LTE-advanced turbo decoders | |
| CN105515591B (zh) | 一种Turbo码译码系统及方法 | |
| CN104461921A (zh) | 一种基于硬件系统的交织器/解交织器装置 | |
| CN119543967A (zh) | 一种基于FPGA的Turbo编码设备及解码设备 | |
| TWI565246B (zh) | 迴旋編碼的解碼方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
| WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20110720 |