CN1898874A - 具有子块处理和基于子块的停止标准的siso解码器 - Google Patents
具有子块处理和基于子块的停止标准的siso解码器 Download PDFInfo
- Publication number
- CN1898874A CN1898874A CNA2004800383520A CN200480038352A CN1898874A CN 1898874 A CN1898874 A CN 1898874A CN A2004800383520 A CNA2004800383520 A CN A2004800383520A CN 200480038352 A CN200480038352 A CN 200480038352A CN 1898874 A CN1898874 A CN 1898874A
- Authority
- CN
- China
- Prior art keywords
- window
- siso decoder
- information symbol
- siso
- activation
- 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.)
- Granted
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/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/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/2975—Judging correct decoding, e.g. iteration stopping criteria
-
- 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)
- Error Detection And Correction (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明涉及SISO解码器,用于对接收的信息符号(r)块进行迭代解码,尤其用在turbo解码器中,所述块被分为多个信息符号窗。为了实现功率损耗的显著下降,提出的SISO解码器包括至少一个SISO解码单元(17,21),用于对接收到的窗的信息符号(r)进行SISO解码,其中停止标准应用于每个窗。一旦通过将窗或子块标记为未激活(17,23),而确定解码收敛,就允许对每个窗单独地终止迭代解码。未激活的窗在随后的迭代中不再被进行SISO解码。
Description
本发明涉及SISO解码器,该解码器用于对接收到的信息符号块进行迭代解码,特别地,该解码器用于turbo解码器中,所述块被分为多个信号符号窗。本发明还涉及一种使用该SISO解码器的turbo解码器,也涉及相应的解码方法。最后,本发明涉及用于实现所述方法的计算机程序。
Turbo码是强大的纠错块码,其包含在例如UMTS标准中。迄今为止,UMTS信号接收所需的信号处理量超过了GSM信号接收所需的信号处理量,这是对于UMTS手机电池的一种消耗。对于turbo编码的信号进行解码(“turbo解码”)是计算量很密集的过程。一种公知的方式用于限制计算负荷,从而限制迭代turbo解码过程中的电流损耗,是使用停止标准,以减少迭代的平均次数。这些公知的停止标准应用于turbo解码器中的整个数据块,这被称为全局停止标准。
在发现turbo码之后不久,就已经发现,turbo解码器的原理可以用于均衡。均衡是信号处理中公知的规则,目的是消除符号间干扰的影响。那么,这被称为turbo均衡。Turbo编码和turbo均衡之间的区别在于,如果是turbo均衡,那么,之前在turbo编码器中的至少一个二进制模2卷积编码器(数字滤波器)必须被模拟滤波器取代。众所周知,应用于turbo码解码时的turbo解码和应用于例如卷积编码器(交织器)与符号间干扰信道的串联的turbo解码之间,没有根本的区别。因此,在下述参考中使用的词语“turbo解码”用于基本技术相同的这些应用中。
B.Frey,F.Kschischang,“Early Detection and Trellis Splicing:Reduced Complexity Iterative Decoding,”IEEE Journal on SelectedAreas in Communications,Vol.16,No.2,pp.153-159,Febr.1998公开了一种称为“早期检测”的方法,其中,已经确定的网格(trellis)中的比特或网格中的段,不再被处理。这种方法的优点是进一步减少了turbo解码的计算负荷,这样就节约了电池的电流,或者减小了解码的等待时间。同样公知的是,基于各种窗的软入软出(SISO)模块用于turbo解码器中。那么,使用窗的目的是减少存储器需求,并可能减少解码的等待时间。
二进制turbo码是最普遍的。Turbo解码器中经常使用的软判决比特的代表是对数似然比。对于二进制码来说,对数似然比(LLR)的符号表示相应的硬判决比特值,对数似然比的绝对值表示估计的可靠性(确信度)。但是,推广至非二进制的情况是可能的。在那种情况下,对数似然(比)矢量的可靠性,例如由最大的元素和非最大的一个元素之间的差值确定。下面,重点描述二进制的情况;但是,也不排除普通的情况。
在turbo解码器的迭代中,通常,对数似然比的绝对值增长,且伴有一些随机的波动以及有时是符号的改变。在实际的实现中,对数似然比的动态范围必须限制在一些有限的固定点或整数范围内。中间结果的剪取(clipping)用于将变量保持在该范围内。经验上,一旦某一消息比特的对数似然比变量已经被剪取,那么在以后所有的迭代中,它通常会在该电平处保持固定(stuck)。有效地,这意味着该比特已经变为非随机的,或确定的。在上述提及的Fery和Kschischang的公开文献中,公开了在最终迭代之前这样的每比特检测(称为“早期检测”),并且该每比特检测也使用了更普通的词组“网格的段”,该词组表示多个相邻的消息比特可以同时被早期判决出来。然后,从网格中去除这些已判决出的比特。
在WO00/59118中,公开了SISO模块最极端的变形,该变形限制了用于存储量度的存储器需求和/或限制了解码的等待时间。根据该文献,许多滑动窗由单独的SISO工作单元并行处理。这应用于具有训练时间间隔的滑动窗解码器,和具有下一次迭代初始化的滑动窗解码器。
在(Max)(Log)MAP SISO模块中,原则上,必须既在前向网格方向又在后向网格方向上处理网格,其中该网格的长度和消息块中消息比特的数目相等。计算出路径量度,有时也称为状态量度,用于网格处理的前向方向和后向方向。输出的对数似然比(后验的或非本征的)是两个网格方向中路径量度的函数。这需要储存在至少一个网格方向中的路径量度,通常是所谓的后向网格方向。在UMTS中,在每个网格部分中,网格具有8个状态,并且网格的长度可以是5114个信息比特(这样,5114个网格部分)。为了在芯片上,存储所有部分的所有状态的路径量度,将花费大量的存储器。这是为什么将窗技术引入(Max)(Log)MAP SISO模块的一个原因。他们研究出这些,使得例如,(每个处理器单元)只需要对于一个窗长度储存后向网格方向的路径量度。该窗长度可以是整个消息块长度的一小部分,这实现了大量存储器的节约。
在SISO模块中使用窗的另一目的在于,它们允许由不同的处理单元独立处理分开的窗。这样,处理速度和吞吐量都能提高。通常,重点在于解码的等待时间会减小。
这样,本发明的目的是提供一种SISO解码器,尤其用在turbo解码器中,以此实现功率损耗的大量减少。
根据本发明,通过如权利要求1所述的SISO解码器实现该目的,该SISO解码器包括:
-至少一个SISO解码单元,用于对接收到的窗的信息符号进行SISO解码,
-窗激活标记存储器,用于存储窗激活标记,该标记指示窗为激活还是未激活,
-窗激活标记设定单元,用于设定所述窗激活标记为激活或未激活,其中所述窗激活标记初始设定为激活,并且其中,如果窗中信息符号的确信度指示值大于预定的确信度阈值,那么将所述窗的窗激活标记设定为未激活,
-窗激活标记读单元,用于从所述窗激活标记存储器中读出所述窗激活标记,以及
-控制单元,用于基于读出的窗激活标记,控制所述至少一个SISO解码单元,使得随后的迭代中,其对应的窗激活标记设定为未激活的窗的信息符号不再被进行SISO编码。
本发明基于的思想是应用早期检测,使得只有整个滑动窗被早期检测。这意味着基于窗的SISO解码器能够跳过整个窗。在一种实现中,这可以非常简单的实现。并且,SISO解码器中的每个滑动窗都具有窗激活标记。初始,所有滑动窗是激活的。当所述窗中信息符号的确信度指示值已经达到作为预定值的绝对剪取电平(确信度阈值),即当窗中的所有消息比特达到了某一程度的确信度时,那么将那个窗的激活标记设定为未激活,且在给定的信息块解码的之后迭代中跳过该窗,其中,例如在提出的优选实施例中,该确信度指示值可以是所有的后验对数似然比。
根据Frey和Kschischang描述的解决方案,当比特已经变为确定时,将该比特是0的概率设定为0或1,并将它从网格中去除。作为替代,为了避免将它从网格中去除所带来的任何重组开销,根据本发明的优选方面,将概率(确信度指示值)冻结为它的最后一次计算值,该值接近于但是不等于0或1。如优选实施例中所提出的,当使用对数似然比时,Frey和Kschischang提出的将概率设定为等于0或1,将会引起正无穷或负无穷的对数似然比,这不实际。
本发明也涉及如权利要求8所述的turbo解码器,用于对接收的信息符号,特别是信道数据流的信道符号进行迭代解码,该解码器包括两个如权利要求1所述的用于对所述接收到的信息符号进行SISO解码的SISO解码器,所述两个SISO解码器设置在一行中,每个SISO解码器都将所述接收的信息符号和由相应另一个SISO解码器作为输出产生的信息符号的先验信息概率作为输入。
权利要求9和10中定义了根据本发明的SISO解码方法和turbo解码方法。权利要求11定义了根据本发明的计算机程序,用于在计算机上实现所述方法。本发明的优选实施例在从属权利要求中定义。
根据一个优选实施例,确信度指示值是信息符号的对数似然比(LLR)的绝对值。如果窗中信息符号的对数似然比的绝对值大于预定的对数似然阈值,那么将所述窗的窗激活标记设定为未激活。
可以储存非本征LLR值,也可以储存后验LLR值。在优选的实现中,后验LLR用于检测窗中的比特是确定的,然后从那时起,那个窗的SISO处理停止,那么这意味着那时产生的非本征LLR保持冻结。两个版本的结果是可能的。这两个版本之间的区别在于,对于窗是否确定的检测是通过产生的(输出)非本征LLR完成,还是通过后验LLR完成。这两个LLR之间的关系只是加法或减法的关系,即
输出非本征LLR=后验LLR-先验LLR,
其中先验LLR是前一子迭代的输出非本征。优选的,对于窗是否冻结的检测通过后验LLR完成,而不是通过非本征LLR完成,这是因为后验LLR捕获更多的关于消息比特的信息,因此,能够更可靠的指示信息比特是否变得确定。
根据另一实施例,提出储存非本征LLR,并将它们传递至下一SISO解码器,或者储存后验LLR,并将它们传递至下一SISO解码器。原始的turbo码现在称为并行连接卷积码(PCCC)。但是,后来发展了串行连接卷积码(SCCC),并工作良好。例如,上述的turbo均衡对应于SCCC。现在,在一种实现中,大多数逻辑是(以改变序列的顺序或直接的顺序)储存SISO解码器的输入,即非本征LLR。
根据另一实施例,SISO解码单元包括:
-前向处理单元,用于计算前向状态量度(α),
-后向处理单元,用于计算后向状态量度(β),
-量度储存装置,用于储存前向和后向状态量度(α,β),
-输出装置,用于输出前向和/或后向状态量度(α,β),以及
-输入装置,用于从对位于当前被处理窗前面的窗的信道符号进行解码的SISO解码单元接收前向状态量度,从对位于当前被处理窗后面的窗的信道符号进行解码的SISO解码单元接收后向状态量度。
根据一个优选的实施例,所述量度储存装置适用于储存用于窗的前向和/或后向计算(α,β)的开始状态量度。特别的,未激活窗的后验和非本征输出对数似然比是冻结的。即,当这些窗为激活且被进行SISO处理时,储存最后一次输出,并且重复使用该输出。它们在相关的存储器中保持“原样”(即不刷新)。
Eb/No越大,上述的停止规则,即执行迭代直到信息块的所有窗已经是未激活为止,减少的工作负荷越多,Eb/No即每个信息符号的能量(Eb)与噪声频谱密度(No)的比。当Eb/No很小,以至于成功解码(几乎)不可能时,上述停止规则的简单变形也能够限制工作负荷。在低SNR处,可以检查最小次数(例如3或3.5)的迭代后,是否至少有一个窗已经是未激活,即那个窗中的所有后验对数似然比(改变序列的顺序或直接的顺序)已经被剪取。然后,如果没有窗已经是未激活,那么解码过程中断。
可以实现每个窗具有两组激活标记,其中第一标准就设定第一窗标记为未激活作出决定,使得该窗不再被进行SISO处理,它区别于第二标准,第二标准用于决定相同窗的第二窗激活标记是否设定为未激活。然后,在最小次数的迭代后,当没有第二窗激活标记设定为未激活时,解码过程中断。在一个优选实施例中,这些标准是相同的,并实现每个滑动窗(每个SISO单元)具有单一窗激活标记。
不管在SISO模块中是否使用了基于(滑动)窗的处理,当描述上述例如3.5次迭代时,假设turbo解码器使用了串行形式的两个SISO模块,这在本领域中很普遍。即,在任何时候,只有一个SISO模块是激活的。但是,本发明也应用于两个或多个SISO模块并行运行的情况。在那种情况下,两个或多个SISO模块可以同时激活。在下文中,假设两个SISO模块以串行方式运行。为了在迭代中区分第一SISO模块和第二SISO模块,使用词组“子迭代”,特别是“奇数子迭代”和“偶数子迭代”。只要在后面,例如在附图中,遇到词语“奇数”或“偶数”,那么它表示子迭代的次数。
上述描述的方法的组合意味着,对于每个激活的窗,监视当所有后验(或非本征)LLR的所有绝对值都超过给定阈值时,其是否应该被停止。当窗变为未激活时,对于计算负荷具有直接的优势。当达到给定的预定迭代指数(3或3.5)时,检查是否至少有一个窗是未激活。如果没有,整个解码中断。这样,高SNR规则和低SNR规则的组合不包括这两个规则之间的任何切换。根据优选实施例,这些规则只是一起应用。
根据其他的实施例,可以提供多个SISO解码单元,用于多个窗的信息符号的并行SISO解码,或者提供单个SISO解码单元,用于多个窗的信息符号的串行SISO解码。
优选的,本发明的新的SISO解码器应用于turbo解码器,该turbo解码器通常至少具有两个SISO解码器。所以,在turbo解码器中,每个信息比特至少出现在两个块中,通常,一个以直接的顺序,一个(或多个)以改变序列的顺序。每个块被分为单独的窗,所以,信息比特至少在两个窗中。这样,信息比特可以在一个窗中被冻结或未激活,而在另一窗中激活。
本发明的其他变形是可能的。在一种变形中,绝对阈值电平取决于迭代指数,根据该绝对阈值电平,对剪取后验对数似然比作出决定。并且,剪取电平可以比用于作出剪取决定的阈值电平更高。类似的,剪取电平可以与迭代相关,例如,随着连续的迭代增长。阈值和剪取电平也可以取决于窗第一次被剪取的(半)迭代。
作为剪取决定基于后验对数似然比的取代,它们可以基于非本征输出对数似然比。
本发明不耗费附加的存储器。在优选实施例中,考虑到下一次初始迭代,则储存一组标桩(stake),该组标桩包括窗中最右边(最“前向”)网格部分中,网格部分中的所有状态的后向路径量度的初始值。一旦窗变为未激活,则不再需要用于那个窗的后向网格递归的这样的初始矢量。但是,在下次迭代期间,其右边窗(更“前向”)的(Max)(Log)MAP的前向网格递归的确需要初始矢量。未激活窗的后向初始矢量(标桩)不再需要的存储空间,现在可以再利用,用于储存其右边窗(更“前向”窗)的前向初始矢量(标桩)。这样,标桩的总存储器消耗保持不受窗的早期检测应用的影响。可以忽略每个窗用于记忆该窗是否仍为激活的空间,即存储窗激活标记的空间,其可以是每个窗存储简单的一个比特。
现在将参照附图,详细解释本发明。
图1表示公知的turbo编码器和turbo解码器的总布局;
图2表示公知的SISO解码器的结构图;
图3表示利用公知的SISO解码器进行SISO解码的时序图;
图4表示根据本发明的SISO解码器的结构图;
图5表示利用根据本发明的SISO解码器进行SISO解码的时序图。
图1表示公知的turbo编码系统总布局的结构图,该编码系统包括turbo编码器和turbo解码器。Turbo编码器40由两个并联连接的递归系统卷积(RSC)编码器41、42实现。N个信息比特u的帧由第一编码器41编码,而交织器43产生信息u的预先指定的、类似随机的排列,然后由第二编码器42编码。被传送的代码序列c在信道50上发送,该代码序列包括信息比特u,连同由两个编码器41、42产生的奇偶校验位。有时,使用收缩(puncturing)/多路复用单元44中校验位的收缩或周期性删除,来增加总码率。交织器43使turbo码具有与随机块码类似的结构特性,Shannon证明,平均起来,随机块码实现的性能接近于最大似然解码的信息理论极限。
但是,实现用于turbo码的最大似然(ML)序列解码器会非常复杂。作为替代,经常使用次优的,但是简单有效的解码结构。解码器60包括单独的软入软出(SISO)解码器61、62,用于每个构成的卷积码,这两个解码器以迭代和合作的方式运行。每个构成的解码器61、62对于接收到的信息比特,以后验概率(APP)的形式产生软输出。从这些概率中,SISO解码器抽取“非本征信息”值,该非本征信息值作为软输入提供至其他SISO解码器,该软输入担当信息比特的先验概率。对应于信息比特的噪声通信输出,最终由解收缩/解多路复用单元64进行解收缩和解多路复用,用以将先验概率初始化,在这之后,且在开始解码时,使用该对应于信息比特的噪声信道输出。在解码过程中,它们对于每个构成的解码器61、62都是可获得的。在SISO解码器61、62之间,提供去交织器63和交织器65。该解码循环的重复次数以及非本征信息的交换由停止规则控制,通常迭代次数有预定限制。Turbo解码器的输出是由最终的解码循环产生的信息比特u的硬量化的对数-APP比。更精确的,在时间点n,信息比特un的后验对数似然比(LLR)表示为:
LLRn=logPr(un=1|r)/Pr(un=0|r)
其中r代表噪声信道输出序列。在硬判决单元66的输出端获得最终的输出序列u’。
图2表示公知的SISO解码器61、62的结构图,该解码器在图1所示的turbo解码器中使用了两次。该SISO解码器包括至少一个SISO解码单元70,用于执行SISO算法。原则上,这是完全的块算法,但是,这作为更大块的窗设置,其中SISO解码单元70通常服务于40..64网格部分的窗尺寸。窗的β标桩,即后向状态量度β,被初始化为前一次迭代中窗的β标桩,该前一次迭代中窗的β标桩储存在标桩存储器71中。应该注意,标桩存储器71具有两个部分,一个用于偶数子迭代,一个用于奇数子迭代。
标桩存储器71的读和写操作由标桩地址发生器72控制。该单元调度读和写操作,并且很普通,如图3所示,其中读(用R表示)和写(用W表示)操作表示在时间轴上。应当注意,示出写操作W-1仅仅是为了清楚,在实际实现中,不考虑该操作。图中也表示最后窗的标桩仅仅被读出,但不再产生。最后的标桩矢量被看作是必须被初始化的值。尽管在图中,所有窗的长度相同,但是在实际实现中,最后的窗长度可以不同。这不影响必须产生的地址,只影响最后写操作的时间。来自SISO解码单元70的β矢量由缓冲器73缓冲,当需要时(读和写不能同时执行),以允许它们回写。
图4表示根据本发明的SISO解码器的具体实施例。为了实现窗的早期检测,且不必再次计算窗,必须改进该结构。下面解释根据本发明的SISO解码器中包含的元件的细节。
Turbo解码器从信道获得它的输入,实际上,其可以包括比特检测器或解调器。那么,使用软判决比特检测器或软判决解调器是普通,并且有利的。Turbo解码器的输入值,即从外部通过输入端25接收的信息符号(通常被称为系统奇偶校验1数据和奇偶校验2数据),储存在输入存储器10中。接收的信息符号是用于SISO算法的输入数据。使用偶数/奇数输入端,以在偶数子迭代中传递奇偶校验1数据,在奇数子迭代中传递奇偶校验2数据。在非本征存储器11、12中,保存从一次迭代进入另一次迭代的数据。这是所谓的非本征信息,即在迭代中学习到的信息。在每次迭代中,通过开关装置13、16,切换非本征存储器11、12。由于不必产生就绪窗的地址,所以输入地址发生器14根据偶数/奇数迭代(偶数意味着交织)和就绪表23,来维护地址产生。输出地址发生器15根据偶数/奇数迭代和就绪表23,来维护地址产生。
SISO解码单元17处理窗的输入数据。如果窗就绪,它通过就绪标记(或者将窗激活标记设定为未激活)发出信号。缓冲器(特别是触发器)18、19、20、25用于将SISO解码单元17的时序和读出/回写至标桩存储器21分离,这对于奇数/偶数迭代是不同的。该标桩存储器保存α或β标桩,并完全由标桩地址发生器22控制,该标桩地址发生器22通过就绪表23,根据被处理窗的就绪标记(窗激活标记)产生写入地址,并根据将要处理的窗产生读地址。在就绪表23中,储存每个窗的完备性信息,例如,对于每个窗,储存相应就绪标记(或窗激活标记)的状态。应当注意,对于偶数/奇数迭代,它是不同的。多路复用器24用于根据那个窗的下一/新的激活状态存储α或β标桩。
输出单元26取得SISO解码单元17的输出(判决),并将它们传递至外部。控制单元27控制解码器,特别是迭代。首先,从输入单元25获得所有输入,然后,完成迭代(奇数/偶数/奇数/…),直到例如一次/两次迭代的所有窗是正确的或者满足另一停止标准。然后,输出单元26将最终的LLR比作为后验软信息输出。
如果SISO窗发出信号表示窗就绪,那么,取代β标桩,保存α标桩(即前向状态量度α)。该α标桩保存的位置可以是它自身窗的β标桩之前保存的位置:不再需要β标桩,这是因为不再计算窗。应当注意,这不是相同的地址,因为通常写入前一窗的β标桩。需要保存α标桩,这是因为它不再重新计算。应当注意,对于跟在被跳过的窗后的窗,必须从标桩存储器中获得α和β标桩。
在该实现中,一个重要的改变在标桩地址发生器22中。在第一次迭代中,它的时序行为等于前一种实现,如图2所示。但是,在以后的迭代中,时序如图5所示改变,图5表示两个步骤中的时序行为。在前一迭代中,认为窗3(用对角表示)就绪。这暗示了对于窗4,必须取回储存在位置3的α标桩。第二个暗示是,在窗4被处理后,可以不产生前一窗的β矢量。这将覆盖储存在那的α矢量。但是如果该窗就绪,必须(在位置4)保存α矢量。
标桩地址发生器22必须计算有多少个窗必须跳过,这是非常简单的操作,特别是由于它可以占用更多个周期。迄今,只描述了实现SISO解码单元。但是,在顶层需要一些改变。在LLR的地址产生中可以找到一个示例:不产生被跳过的块的地址。应当注意,由于不产生它们,所以它们不会被覆盖,它们的旧值可以在下一半迭代中使用。只有被处理窗的LLR更新。
已经发现,如本发明提出的,通过使用窗的早期检测,且基于窗的SISO解码器符合每窗停止规则,那么公知的turbo解码器的功率损耗可以比公知的交叉熵停止规则下降大约35%,以及在瀑布区域(waterfall region)中具有大约相同的BER或FER性能,其中该交叉熵停止规则在Hagenauer et al.“Iterative Decoding of Binary Block andConvolutional Codes”,IEEE Transactions on Information Theory,Vol.42,No.2,March 1996中描述过。后者的停止规则是全局停止规则。通常,该功耗下降取决于传送信道的Eb/No。Eb/No越高,计算负荷越小。这对于所有停止标准都成立。帧的长度是1296,对于高SNR的每窗停止规则来说,实际上,在没有停止规则的情况下,在BER或FER性能中没有损耗。这也是为什么一旦使用低SNR的每窗停止规则,则增加高SNR的每窗停止规则将保持BER和FER曲线实际上不变的原因。低SNR的每窗停止规则的确产生一些衰退。
对于5114的最大块长度来说,例如使用基于交叉熵的全局(每个块)停止标准,例如在1.0dB Eb/No时,迭代的平均次数可以从8下降至大约4.9。当使用所提出的每窗停止标准时,迭代的平均有效次数可以下降至大约3.2。这里,附加的词语“有效”说明了下述事实:在所有窗只有一半是激活的迭代中,该迭代在有效工作负荷中的权重是0.5。这形成了大约35%的节约。使用存储器再利用技术,当和公知的turbo解码器实现中一样,使用“单一标桩”时,每窗停止标准不必增加芯片的存储器需求。通常,对于信道上更大的信噪比,在没有停止规则的情况下,计算负荷节省的更多。
与从上述Fery和Kschischang公开文献中获知的SISO解码器相对,根据本发明,只需检测滑动窗中所有对数似然比的绝对值是否已经大于某一常数,以检测窗是否应该被冻结。一旦窗冻结,将完全省略对于那个窗的处理。即,此后就没有重组开销。只需要简单的激活标记来标识出窗是激活或冻结。将(直接的或改序的)turbo码字分割为(滑动)窗是非常结构化的这个事实,即,使用固定的(非随机的)窗长度,且各窗的起始点之间具有规则的距离,则可以避免处理中所需的灵活性,而该灵活性在公知的SISO解码器中是需要的。
在Frey和Kschischang的公开文献的图5中,示出了2-状态网格的实现。许多turbo码(例如UMTS turbo码)使用8-状态网格。网格中状态的数量越大,当比特或比特串变为确定时,计算的重组越复杂。该复杂性在硬件实现中将耗费资源(芯片面积,电流,处理时间)。
由于根据本发明,对于冻结的比特串,使用了非随机的起始和停止位置,则不需要处理中的灵活性,这样,在硬件实现中达到本发明的优势。节省了硬件计算时间,(所以)在使用turbo解码器的手机中,节省了电池功率的消耗。
在MAP、MaxLogMAP或MAX*LogMAP中,也同样达到了本发明的优势;它们也用于无乘法(multiplication-free)或无对数(logarithm-free)的算法。输出的后验(或者:非本征)对数似然比恰恰“原样”保存在存储器中,不再进一步处理。这样,一直节省处理时间,从而节省电流。
总之,公知的网格拼接(trellis splicing)方法具有下述不足:
-网格拼接需要执行计算的大量灵活性,其中该计算将按比特的(bit-wise)依赖于接收信号中的随机噪声和随机失真,在硬件中实现很困难。这样,将破坏该方法在硬件实现时的优势。
-Frey和Kschiscang的算法的优势在无乘法或无对数算法,诸如Max(*)LogMAP算法中,将进一步被破坏。
-当网格的状态数量大于2时,Kschischang算法中计算的重组开销将增加。
本发明适用于带有或不带有训练阶段的滑动窗turbo解码器。这样的训练阶段等于窗之间的小的重叠。这是下一迭代初始化的可供选择的技术,它可以用于turbo解码器的不同实施例中,例如,turbo解码器用于移动通信。
Claims (11)
1、SISO解码器,用于对接收的信息符号(r)块进行迭代解码,尤其用在turbo解码器中,所述块被分为多个信息符号窗,所述SISO解码器包括:
-至少一个SISO解码单元(17,21),用于对接收到的窗的信息符号(r)进行解码,
-窗激活标记存储器(23),用于储存窗激活标记,所述窗激活标记用于指示窗是激活还是未激活,
-窗激活标记设定单元(17),用于设定所述窗激活标记为激活或未激活,其中所述窗激活标记初始设定为激活,其中,如果窗中信息符号的确信度指示值大于预定的确信度阈值,那么将所述窗的窗激活标记设定为未激活,
-窗激活标记读单元(17,22),用于从所述窗激活标记存储器(23)读出所述窗激活标记,以及
-控制单元(27),基于所述读出的窗激活标记,控制所述至少一个SISO解码单元(17),使得在随后的迭代中,其对应的窗激活标记设定为未激活的窗的信息符号不被进行SISO解码。
2、如权利要求1所述的SISO解码器,其中,所述确信度指示值是所述信息符号的对数似然比的绝对值,并且其中,如果窗中信息符号的对数似然比的绝对值大于预定的对数似然阈值,那么将所述窗的窗激活标记设定为未激活。
3、如权利要求1所述的SISO解码器,其中,SISO解码单元(17,21)包括:
-前向处理单元,用于计算前向状态量度(α),
-后向处理单元,用于计算后向状态量度(β),
-量度存储装置(21),用于存储前向和后向状态量度(α,β),
-输出装置(LLR_out,alpha_out,beta_out),用于输出前向和/或后向状态量度(α,β),以及
-输入装置(LLR_in,alpha_in,beta_in),用于从对位于当前被处理窗前面的窗的信道符号进行解码的SISO解码单元接收前向状态量度,从对位于当前被处理窗后面的窗的信道符号进行解码的SISO解码单元接收后向状态量度。
4、如权利要求3所述的SISO解码器,其中,所述量度存储装置(21)适用于存储用于窗的前向和/或后向计算(α,β)的开始状态量度。
5、如权利要求1所述的SISO解码器,包括多个SISO解码单元(17),用于多个窗的信息符号的并行SISO解码。
6、如权利要求1所述的SISO解码器,包括单一SISO解码单元(17),用于多个窗的信息符号的串行SISO解码。
7、如权利要求1所述的SISO解码器,其中,所述控制单元(27)适用于控制信道数据流的信息符号的迭代SISO解码,使得在预定次数的迭代后,或者如果所有窗都成为未激活,停止迭代。
8、Turbo解码器,用于对接收的信息符号、特别是信道数据流的信道符号进行迭代解码,包括两个如权利要求1所述的用于对所述接收的信息符号进行SISO解码的SISO解码器(61,62),所述SISO解码器(61,62)设置在一行中,每个SISO解码器都将所述接收的信息符号和由相应另一个SISO解码器(61,62)作为输出产生的信息符号的先验信息概率作为输入。
9、SISO解码方法,用于对接收的信息符号(r)块进行迭代解码,尤其用在turbo解码器中,所述块被分为多个信息符号窗,所述SISO解码方法包括步骤:
-对接收到的窗的信息符号进行SISO解码,
-将窗激活标记设定为激活或者未激活,所述窗激活标记指示窗是激活还是未激活,且初始设定为激活,其中,如果窗中信息符号的确信度指示值大于预定的确信度阈值,那么,将所述窗的窗激活标记设定为未激活。
-存储所述窗激活标记,
-读出接下来应该被进行SISO解码的相关窗的窗激活标记,以及
-基于所读出的窗激活标记,控制所述SISO解码,使得在随后的迭代中,其对应的窗激活标记设定为未激活的窗的信息符号不被进行SISO解码。
10、Turbo解码方法,用于对信息符号、特别是信道数据流的信道符号进行迭代解码,所述方法包括在两个如权利要求1所述的用于对所述信息符号进行SISO解码的SISO解码器(61,62)中执行的SISO解码方法的步骤,所述SISO解码器设置在一行中,每个SISO解码器都将所述信息符号和由相应另一个SISO解码器作为输出产生的信息符号的先验信息概率作为输入。
11、计算机程序,包括程序代码模块,当在计算机上执行所述计算机程序时,使得所述计算机执行如权利要求9或10所述的方法的步骤。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP03104923 | 2003-12-22 | ||
EP03104923.2 | 2003-12-22 | ||
PCT/IB2004/052709 WO2005064800A1 (en) | 2003-12-22 | 2004-12-08 | Siso decoder with sub-block processing and sub-block based stopping criterion |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1898874A true CN1898874A (zh) | 2007-01-17 |
CN1898874B CN1898874B (zh) | 2010-05-26 |
Family
ID=34717240
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2004800383520A Expired - Fee Related CN1898874B (zh) | 2003-12-22 | 2004-12-08 | 具有子块处理和基于子块的停止标准的siso解码器及其方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7849377B2 (zh) |
EP (1) | EP1700381B1 (zh) |
JP (1) | JP4778441B2 (zh) |
CN (1) | CN1898874B (zh) |
AT (1) | ATE400089T1 (zh) |
DE (1) | DE602004014814D1 (zh) |
WO (1) | WO2005064800A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101903890A (zh) * | 2009-03-05 | 2010-12-01 | Lsi公司 | 用于迭代解码器的改进的turbo均衡方法 |
CN102045071A (zh) * | 2009-10-12 | 2011-05-04 | 马维尔国际贸易有限公司 | 改善用于低功率应用的ldpc解码器中的功耗 |
CN104518802A (zh) * | 2013-09-30 | 2015-04-15 | 中国科学院声学研究所 | 一种基于似然比信息对ldpc编码进行解码的方法及系统 |
CN104980172A (zh) * | 2014-04-01 | 2015-10-14 | 中国科学院大学 | 基于Turbo码的联合信道安全编码的比特级译码方法 |
CN110402545A (zh) * | 2017-02-13 | 2019-11-01 | 阿塞勒康姆有限公司 | 利用非均匀窗口大小的并行turbo解码 |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7924753B2 (en) * | 2005-11-15 | 2011-04-12 | Qualcomm Incorporated | Method and system for decoding |
JP4092352B2 (ja) | 2005-11-16 | 2008-05-28 | Necエレクトロニクス株式会社 | 復号装置、復号方法、及び受信装置 |
FI20055715A0 (fi) * | 2005-12-30 | 2005-12-30 | Nokia Corp | Turboekvalisointimenettely |
US8675771B2 (en) * | 2006-09-29 | 2014-03-18 | Nec Corporation | Log likelihood ratio arithmetic circuit, transmission apparatus, log likelihood ratio arithmetic method, and program |
US7979775B2 (en) * | 2006-10-30 | 2011-07-12 | Motorola Mobility, Inc. | Turbo interference suppression in communication systems |
US8117515B2 (en) * | 2007-03-23 | 2012-02-14 | Sizhen Yang | Methodology and apparatus for soft-information detection and LDPC decoding on an ISI channel |
US8904265B2 (en) * | 2007-05-02 | 2014-12-02 | Broadcom Corporation | Optimal period rate matching for turbo coding |
US8205132B2 (en) * | 2007-05-07 | 2012-06-19 | Lingna Holdings Pte., Llc | Cooperative concatenated coding for wireless systems |
US8468428B1 (en) * | 2007-07-11 | 2013-06-18 | Marvell International Ltd. | Early stopping rules for non-binary turbo codes |
US8145974B2 (en) * | 2008-02-02 | 2012-03-27 | Broadcom Corporation | Virtual limited buffer modification for rate matching |
US8281211B2 (en) * | 2008-05-15 | 2012-10-02 | Nokia Corporation | System and method for relay coding |
US8601355B2 (en) * | 2008-05-28 | 2013-12-03 | Texas Instruments Incorporated | System and method for determining parity bit soft information at a turbo decoder output |
US8175403B1 (en) * | 2008-06-05 | 2012-05-08 | Google Inc. | Iterative backward reference selection with reduced entropy for image compression |
US8321744B2 (en) * | 2008-09-16 | 2012-11-27 | Analog Devices, Inc. | Channel adaptive iterative turbo decoder system and method |
US8930791B2 (en) * | 2009-12-23 | 2015-01-06 | Intel Corporation | Early stop method and apparatus for turbo decoding |
US8983008B2 (en) * | 2009-12-23 | 2015-03-17 | Intel Corporation | Methods and apparatus for tail termination of turbo decoding |
US8996948B2 (en) | 2009-12-23 | 2015-03-31 | Intel Corporation | Methods, systems, and apparatus for tail termination of turbo decoding |
US8495455B1 (en) | 2011-01-06 | 2013-07-23 | Mindspeed Technologies, Inc. | Systems and methods for parallel dual-mode turbo decoders |
US8819517B1 (en) | 2011-01-06 | 2014-08-26 | Intel Corporation | Systems and methods for a turbo decoder in a universal mobile telecommunication system (UMTS) |
US8910029B2 (en) * | 2011-02-08 | 2014-12-09 | Intel Mobile Communications GmbH | Iterative decoder |
US8903027B1 (en) | 2011-06-27 | 2014-12-02 | Xilinx, Inc. | Detector for a multiple-antenna receiver |
US20130142057A1 (en) * | 2011-12-01 | 2013-06-06 | Broadcom Corporation | Control Channel Acquisition |
US20130262952A1 (en) * | 2012-03-30 | 2013-10-03 | Broadcom Corporation | Memory architecture for turbo decoder |
US8848842B2 (en) | 2012-08-16 | 2014-09-30 | Xilinx, Inc. | Recursion unit scheduling |
US9124403B2 (en) * | 2013-04-30 | 2015-09-01 | Qualcomm Incorporated | Puncturing scheme based decoder optimizations |
US20150033094A1 (en) * | 2013-07-23 | 2015-01-29 | Yuan Ze University | Window-stopped method for applying to turbo decoding |
CN105306076A (zh) * | 2014-06-30 | 2016-02-03 | 深圳市中兴微电子技术有限公司 | 一种基于MAP算法的Turbo译码方法及装置 |
CN111726202B (zh) * | 2020-06-16 | 2022-05-31 | 杭州电子科技大学 | 一种极化码置信传播译码的提前终止迭代方法 |
TWI765476B (zh) * | 2020-12-16 | 2022-05-21 | 元智大學 | 基於可信度傳遞演算法作為極化碼解碼之層運算停止方法 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5996104A (en) * | 1996-09-13 | 1999-11-30 | Herzberg; Hanan | System for coding system |
US6871303B2 (en) * | 1998-12-04 | 2005-03-22 | Qualcomm Incorporated | Random-access multi-directional CDMA2000 turbo code interleaver |
JP3582056B2 (ja) * | 1999-03-19 | 2004-10-27 | 富士通株式会社 | ターボ復号器 |
US6901117B1 (en) * | 2000-02-10 | 2005-05-31 | Motorola, Inc. | Soft output decoder for convolutional codes |
US20010044919A1 (en) * | 2000-05-05 | 2001-11-22 | Edmonston Brian S. | Method and apparatus for improved perormance sliding window decoding |
US6829313B1 (en) * | 2000-07-17 | 2004-12-07 | Motorola, Inc. | Sliding window turbo decoder |
CN1157854C (zh) * | 2000-07-25 | 2004-07-14 | 华为技术有限公司 | 一种高速Turbo码解码器 |
KR100390416B1 (ko) * | 2000-10-16 | 2003-07-07 | 엘지전자 주식회사 | 터보 디코딩 방법 |
US6745352B2 (en) * | 2000-12-13 | 2004-06-01 | Ericsson Inc. | Methods of estimating error rates for communications received using iterative processing and related receivers |
CN1333531C (zh) * | 2001-02-23 | 2007-08-22 | 皇家菲利浦电子有限公司 | 包含并联解码器的特播解码器系统 |
US6732321B2 (en) * | 2001-03-27 | 2004-05-04 | Motorola, Inc. | Method, apparatus, and article of manufacture for error detection and channel management in a communication system |
CN1157883C (zh) * | 2001-07-11 | 2004-07-14 | 信息产业部电信传输研究所 | 实现并行滑动窗最大后验概率算法的高速Turbo码译码器 |
KR100444571B1 (ko) * | 2002-01-11 | 2004-08-16 | 삼성전자주식회사 | 터보디코더와 알에스디코더가 연접된 디코딩장치 및 그의디코딩방법 |
US7092464B2 (en) * | 2002-01-23 | 2006-08-15 | Bae Systems Information And Electronic Systems Integration Inc. | Multiuser detection with targeted error correction coding |
JP3440092B1 (ja) * | 2002-03-29 | 2003-08-25 | 松下電器産業株式会社 | 誤り訂正復号装置および誤り訂正復号方法 |
AU2003263497A1 (en) * | 2002-10-23 | 2004-05-13 | Koninklijke Philips Electronics N.V. | Sliding-window decoder with prolog-windows having flexibel sizes |
US7346833B2 (en) * | 2002-11-05 | 2008-03-18 | Analog Devices, Inc. | Reduced complexity turbo decoding scheme |
US7586982B2 (en) * | 2003-05-06 | 2009-09-08 | Nokia Corporation | Kalman filter based method and apparatus for linear equalization of CDMA downlink channels |
US7418051B2 (en) * | 2003-11-26 | 2008-08-26 | Lucent Technologies Inc. | Nonsystematic repeat-accumulate codes for encoding and decoding information in a communication system |
-
2004
- 2004-12-08 US US10/596,543 patent/US7849377B2/en not_active Expired - Fee Related
- 2004-12-08 WO PCT/IB2004/052709 patent/WO2005064800A1/en active IP Right Grant
- 2004-12-08 EP EP04801499A patent/EP1700381B1/en not_active Not-in-force
- 2004-12-08 AT AT04801499T patent/ATE400089T1/de not_active IP Right Cessation
- 2004-12-08 JP JP2006544644A patent/JP4778441B2/ja not_active Expired - Fee Related
- 2004-12-08 DE DE602004014814T patent/DE602004014814D1/de active Active
- 2004-12-08 CN CN2004800383520A patent/CN1898874B/zh not_active Expired - Fee Related
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101903890A (zh) * | 2009-03-05 | 2010-12-01 | Lsi公司 | 用于迭代解码器的改进的turbo均衡方法 |
CN101903890B (zh) * | 2009-03-05 | 2015-05-20 | Lsi公司 | 用于迭代解码器的改进的turbo均衡方法 |
CN102045071A (zh) * | 2009-10-12 | 2011-05-04 | 马维尔国际贸易有限公司 | 改善用于低功率应用的ldpc解码器中的功耗 |
US9003267B2 (en) | 2009-10-12 | 2015-04-07 | Marvell World Trade Ltd. | Power consumption in LDPC decoder for low-power applications |
CN102045071B (zh) * | 2009-10-12 | 2015-11-25 | 马维尔国际贸易有限公司 | 改善用于低功率应用的ldpc解码器中的功耗 |
CN104518802A (zh) * | 2013-09-30 | 2015-04-15 | 中国科学院声学研究所 | 一种基于似然比信息对ldpc编码进行解码的方法及系统 |
CN104518802B (zh) * | 2013-09-30 | 2017-12-12 | 中国科学院声学研究所 | 一种基于似然比信息对ldpc编码进行解码的方法及系统 |
CN104980172A (zh) * | 2014-04-01 | 2015-10-14 | 中国科学院大学 | 基于Turbo码的联合信道安全编码的比特级译码方法 |
CN110402545A (zh) * | 2017-02-13 | 2019-11-01 | 阿塞勒康姆有限公司 | 利用非均匀窗口大小的并行turbo解码 |
Also Published As
Publication number | Publication date |
---|---|
DE602004014814D1 (de) | 2008-08-14 |
WO2005064800A1 (en) | 2005-07-14 |
ATE400089T1 (de) | 2008-07-15 |
US20090019332A1 (en) | 2009-01-15 |
CN1898874B (zh) | 2010-05-26 |
EP1700381B1 (en) | 2008-07-02 |
US7849377B2 (en) | 2010-12-07 |
JP2007515892A (ja) | 2007-06-14 |
EP1700381A1 (en) | 2006-09-13 |
JP4778441B2 (ja) | 2011-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1898874B (zh) | 具有子块处理和基于子块的停止标准的siso解码器及其方法 | |
US7454684B2 (en) | Apparatus and method for turbo decoder termination | |
Sun et al. | Configurable and scalable high throughput turbo decoder architecture for multiple 4G wireless standards | |
JP2004194326A (ja) | 符号分割多重接続移動通信システムのエラー訂正装置及び方法 | |
CN1728563A (zh) | Turbo译码装置和Turbo译码方法 | |
CN102111162B (zh) | Turbo 分量译码方法、分量译码器、支路计算器及Turbo 译码器 | |
CN1461528A (zh) | 运用Turbo码中的质量标记标准的迭代停止准则 | |
US7464316B2 (en) | Modified branch metric calculator to reduce interleaver memory and improve performance in a fixed-point turbo decoder | |
Hong et al. | VLSI design and implementation of low-complexity adaptive turbo-code encoder and decoder for wireless mobile communication applications | |
US7370332B2 (en) | Arrangement and method for iterative decoding | |
CN1328386A (zh) | 并行滑动窗最大后验概率算法及其高速Turbo码译码器 | |
CN1741614A (zh) | 使用冗余对视/音频和语音数据进行解码的方法和系统 | |
CN113131947B (zh) | 译码方法、译码器和译码装置 | |
CN1323102A (zh) | 用于特博码的解码器及其解码方法 | |
CN1145266C (zh) | 特博码解码方法及其解码器 | |
RU2811072C1 (ru) | Способ декодирования, декодер и устройство декодирования | |
KR100517977B1 (ko) | 터보 디코더의 디코딩 반복 제한 방법 | |
CN113765622B (zh) | 分支度量初始化方法、装置、设备及存储介质 | |
CN1286533A (zh) | 一种高速并行级联码的译码方法及译码器 | |
Lee et al. | A low-complexity stopping criterion for iterative turbo decoding | |
KR100890348B1 (ko) | 반복 디코딩 방법, 및 디코더 | |
CN1571316A (zh) | 一种实现缩短Turbo译码器关键路径的方法 | |
Bai et al. | Efficient list decoding for parallel concatenated convolutional codes | |
CN117254880A (zh) | 通过调度器对s极化ecc吞吐量的加速 | |
CN103888153A (zh) | 一种提高Turbo码MAP译码性能的方法及装置 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100526 Termination date: 20161208 |