CN100388632C - 高效迭代解码 - Google Patents
高效迭代解码 Download PDFInfo
- Publication number
- CN100388632C CN100388632C CNB998153400A CN99815340A CN100388632C CN 100388632 C CN100388632 C CN 100388632C CN B998153400 A CNB998153400 A CN B998153400A CN 99815340 A CN99815340 A CN 99815340A CN 100388632 C CN100388632 C CN 100388632C
- Authority
- CN
- China
- Prior art keywords
- grouping
- decoder
- decoding
- iterative
- mistake
- 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.)
- Expired - Fee Related
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/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
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
一种装置,用于对根据多分量编码方案编码的信号分组的序列进行迭代解码。所述装置包括多个解码器(68、70),每个解码器在信号分组中的一个信号分组上执行相应的不同解码方法,致使多个解码器基本上同时操作。如果到达最大迭代次数预定门限值,或如果以前两个解码器迭代已经满足循环冗余校验(CRC),或如果已使输入帧缓冲器充满到它的存储容量的预定百分比之内,则可以终止迭代解码。
Description
发明领域
本发明一般涉及迭代解码,特别涉及多分量码的快速迭代解码。
背景技术
数字数据的发送易于内在地产生干扰,这种干扰会对所发送的数据引入差错。已经建议一些差错检测方案,以尽可靠地确定是否已经把差错引入所发送的数据。例如,通常以分组来发送数据,并把例如16位长度的CRC(循环冗余校验)字段附加到每个分组,所述字段携带分组数据的校验和。当接收机接收数据时,它在所接收的数据上计算相同的校验和,并验证它的计算结果是否和在CRC字段中的校验和相同。
当在线不使用所发送的数据而检测到差错时,可以请求再发送有差错的数据。然而,当在诸如电话线、蜂窝电话、远程视频系统等上在线地进行发送时,就不可能请求再发送。
已经引入卷积码接收数字数据,即使在发送期间当可能发生差错时,也可以正确地确定所发送的数据。卷积码把冗余引入所发送的数据,并把所发送的数据分成分组,在所述分组中,每位的值与在序列中先前位的值无关。因此,当发生少量差错时,接收机通过追踪回在所接收到的数据中的可能序列而仍可以推断原始数据。
为了进一步改进发送信道的性能,某些编码方案包括交错器,它在编码期间混淆在分组中的位的次序。因此,当发送期间干扰破坏一些相邻的位时,在整个原始分组上扩散干扰的作用,并可以更容易地通过解码处理而克服干扰的作用。其它改进可以包括以并行或串行多次对分组进行编码。例如,在此引用作为参考的美国专利5,446,747号描述一种差错校正方法,该方法使用至少两次并行的卷积编码。在本技术领域中众知这种并行编码是“Turbo-编码”。
对于多分量码,最佳解码经常是很复杂的任务,可能需要很长的时间周期,通常不可用于在线解码。为了解决这个问题,已经发展了迭代解码技术。不是直接确定所接收到的位是零还是一,而是接收机把多级定标的一个值赋予每位,以表示该位是一的概率。称为LLR概率的公共定标以在范围{-32,31}中的整数表示每位。值31表明所发送的位是零的概率极高,而值-32表明所发送的位是一的概率极高。值零表示该值是未确定的。
把在多级定标上表示的数据称为“软数据”,而通常迭代解码是软-进/软-出的,即,解码过程接收相应于位值的概率的输入序列,并提供作为考虑码的限制的经校正的输出概率。一般,执行迭代解码的解码器使用来自以前的迭代的软数据,以对通过接收机读出的软数据进行解码。例如,在美国专利5,563,897中描述迭代解码的一种方法,在此引用所述专利作为参考。
在多分量码的迭代解码期间,解码器使用来自一个码的解码结果,以改进第二码的解码。当如在Turbo编码中使用并行编码时,为了这个目的可以方便地使用并行的两个相应的解码器。
对于多个迭代执行迭代解码直到认为软数据近似地表示所发送的数据。把二进制0赋予表示其概率接近1的那些位(例如,在上述定标上的0和31之间),并把二进制1赋予其余的位。
通常,使迭代过程重复预定次数。根据可以在http://lamarr.mprg.ee.vt.edu/documents/turbo.pdf上找到,并在此引用作为参考的Matthew C.Valenti的“Turbo码的介绍”,迭代的预定次数约为18次。在此引用作为参考的Joachim Hagenauer、Elke Offer和Lutz Papke的“二进制块码的迭代解码”(IEEE Trans.of Information Theory,Vol.42,NO.2,pp.429-445(March 1996))建议使用交叉平均信息量准则分别对每个分组确定何时停止迭代解码过程。因此,可以比当所有分组使用相同迭代数进行解码时更有效地使用解码器的计算权。然而,交叉平均信息量准则本身是极复杂的,在应用数目可变的迭代中,基本上降低有效的增益。
在一个共同-采用的多分量编码方案中,首先通过第一“外部的”编码方案对分组进行编码。此后,使它交错,然后通过第二“内部的”编码方案进行编码。在解码期间,首先对内部码,然后对外部码进行解码。此后在对内部码解码的第二迭代中使用外部码的解码结果以改进它的结果。迭代地继续这个过程直到对经编码的分组满意地解码。
一般通过单个硬件解码器执行上述解码方案,它对内部和外部码轮流解码。然而,当需要极快速解码,并且内部和外部码基本上不同时,一般,计算负载超过传统设计的单个解码器的能力。因此,已经建议使用包括两个处理器的解码器,一个处理器用于内部码,一个用于外部码。然而,当处理器等待来自另一个处理器的结果时,这造成每个处理器有一半的空闲时间。
发明内容
本发明某些方面的目的是提供根据两个或多个不同的卷积编码方案进行代码的快速迭代解码的方法和装置。
本发明某些方面的另一个目的是提供用于卷积代码的高效迭代解码的装置。
本发明某些方面的再一个目的是提供一种确定可靠解码分组所需迭代次数的高效方法。
在本发明的示例实施例中,在多码系列或并行编码方案中对每个码进行解码所分配的解码时间基本上是相同的。包括两个处理器的解码器接收在序列中的两个数据分组,并对它们同时进行解码。当一个分组正在第一处理器中解码时,第二处理器对第二分组解码。当两个处理器完成单次迭代时,在处理器之间交换分组,并执行另一次迭代。因此,基本上恒定地使用两个处理器,而且可以进行两次解码,与硬件复杂度很高的现有技术方案一样快。最好,对于任何输入分组,在至少50%的处理器工作时间上两个处理器同时工作。
在本发明的某些实施例中,彼此独立地对两个分组进行解码,以致分组解码的终止也是独立的。当完成对第一分组的解码时,新的分组可以输入解码器之一,而不管是否已经完成第二分组的解码。
在本发明的某些实施例中,多码方案包括内部编码方案和外部编码方案。最好,选择内部和外部编码方案,致使它们两者的单次迭代解码时间近似地相同。另一方面或此外,先完成迭代的处理器等待第二处理器完成处理,然后在解码器之间交换分组。最好,内部和外部编码方案是不同的,而且不可以通过同一处理器容易地解码。
在本发明的另外方面,在每个分组解码期间,使用简单的方法确定何时停止迭代处理。最好,基本上在每次迭代之后执行终止校验过程,并包括确定与分组中的任何位相关联的最小绝对概率值。当最小绝对概率值在预定门限值上面时,指示已经对所有位分配值“1”或“0”的概率相当高,终止迭代过程。
另一方面或此外,发送带有CRC字段的每个分组。在每次解码迭代之后,终止校验过程校验由待从迭代输出的数据计算的CRC值是否与CRC字段兼容。最好,仅在最小概率值超过门限值时校验过程才校验CRC字段。如果CRC字段与所获得的数据兼容,则终止迭代过程。
在本发明的某些实施例中,仅在最小初始迭代次数之后才开始校验过程,为了降低虽然解码数据是不正确的但是返回明显“正确”的CRC校验的概率。最好,最小迭代次数在4和8次之间。最好,把迭代次数选择为这样的迭代次数,即,对于大多数分组,最小概率值不会超过门限值。又最好,在最大迭代次数之后终止迭代过程而不管任何其它条件。最好,最大迭代次数在20和30次之间。
在本发明的其它实施例中,可以通过平均概率值、中间概率值或通过指示迭代解码过程的进程的任何其它值来代替最小绝对概率值,例如,当希望使位差错(BER)准则而不是分组差错率最小时,最好用最小值的下一个代替最小绝对值,即,在忽略一个或两个例外之后的最低值。
因此,根据本发明的一个实施例提供用于信号分组序列的迭代解码的装置,所述分组是根据多分量编码方案编码的,所述装置包括多个解码器,解码器的每一个在信号分组之一上执行相应的不同解码方法,致使多个解码器基本上同时工作。
最好,在不同的,相应的分组上,多个解码器同时工作。最好,在装置对序列进行解码的工作时间的至少50%期间,多个解码器同时工作。
又最好,在装置的基本上完整的工作时间期间,多个解码器同时工作。
最好,在大多数迭代中,多个解码器的每一个接收分组作为它的输入,所述分组是通过多个解码器的另一个进行处理的。
最好,多个解码器包括两个解码器。
最好,装置进一步包括多个存储器单元,在解码之后,解码器对所述存储器单元输出分组。
最好,在解码之后对分组进行交错或去交错。
最好,多个解码器的每一个解码器需要的解码时间一般和其它解码器的解码时间相同。
最好,多分量编码方案包括并行编码方案。
另一方面,多分量编码方案包括串行编码方案。
最好,多个解码器包括APP解码器。
根据本发明的另一个实施例,进一步提供数据分组序列的解码方法,所述数据是根据包括内部码和外部码的多分量编码方案进行编码的,所述方法包括在对内部码进行解码的第一解码器中对第一分组进行解码,以产生第一解码输出分组,并在对外部码进行解码的第二解码器中对第一解码输出分组进行解码,而基本上同时在第一解码器中对第二分组进行解码。
最好,所述方法包括把第一分组从第二解码器输出到第一解码器,以致重复进行内部码的解码。
最好,所述方法包括轮流在第一和第二解码器中对第一和第二分组重复解码。
最好,所述方法包括在第二解码器中对第一输出分组解码之前对它进行去交错。
最好,多分量编码方案包括串行编码方案。根据本发明的另一个实施例进一步在系统(所述系统用于对软数据分组的迭代解码,在所述软数据中通过概率值来表示每一位)中提供一种方法,用于确定在多次迭代之后的那一次终止解码,所述方法包括确定在分组中的位的概率值,并仅在概率值超过预定值时判定终止解码。
最好,确定概率值包括确定在分组中的位的硬数据值的最小概率。
最好,确定最小概率值包括确定最小绝对对数概率值。
最好,所述方法包括验证在分组中的差错检测字段是正确的,并且判定终止包括仅在差错检测字段是正确时才判定终止。
最好,当概率值执行预定值之上时执行验证差错检测字段是正确的。
最好,仅在分组上执行预定次数的解码迭代之后才执行确定概率值。
最好,确定概率值包括在分组中的位的解码拷贝上确定概率值。
另一方面或此外,确定概率值包括确定在分组中的位的解码拷贝上的概率值。
根据本发明的另一个实施例,进一步提供用于对编码分组(所述编码分组包括每一位有一个概率值)进行迭代解码的装置,所述装置包括:解码器,它执行分组的迭代解码;控制单元,它根据在分组中的位的概率值确定解码器是否还执行另一次迭代。
最好,控制单元导致解码器执行预定次数的迭代而不对分组进行校验。
最好,根据在分组中的差错检测字段,概率值是否满足预定条件,确定解码器是否执行另一次迭代。
最好,如果差错检测字段是正确的,则控制单元不启动解码器的另一次迭代。
最好,解码器包括APP解码器。
最好,控制单元计算在分组中的位的硬数据值的最小概率,并根据最小概率确定是否执行另一次迭代。
又最好,控制单元计算最小绝对对数概率值。
最好,控制单元根据分组的解码或编码拷贝的概率值计算最小概率。
根据本发明的一个方面,进一步有利地提供一种方法,用于终止正在迭代解码器中的分组上执行的迭代解码过程,所述方法包括下列步骤:确定解码迭代次数是否等于预定的最大迭代次数;确定是否把耦合到迭代解码器的输入的分组存储单元充满到分组存储单元的存储容量的预定百分比之内;确定解码迭代次数是否等于预定的最小迭代次数;确定对于至少一个以前的分组,差错检测测量是否已经令人满意;以及如果(1)解码迭代次数等于预定的最大迭代次数,或如果(2)使分组存储单元充满到分组存储单元的存储容量的预定百分比之内,或如果(3)解码迭代次数等于预定的最小迭代次数,以及对于至少一个以前的分组差错检测测量已经令人满意,则对分组终止迭代解码过程。
根据本发明的另一方面,有利地进一步提供一种迭代解码器,所述迭代解码器包括:第一和第二解码装置,用于在分组上执行迭代解码过程;耦合到第一和第二解码装置的分组存储装置;用于确定解码迭代次数是否等于预定最大迭代次数的一种装置;用于确定是否把分组存储装置充满到分组存储装置的存储容量的预定百分比之内的一种装置;用于确定解码迭代次数是否等于预定最小迭代次数的一种装置;用于确定对于至少一个以前的分组差错检测测量是否已经令人满意的装置;以及用于如果(1)解码迭代次数等于预定的最大迭代次数,或如果(2)使分组存储单元充满到分组存储单元的存储容量的预定百分比之内,或如果(3)解码迭代次数等于预定的最小迭代次数,以及对于至少一个以前的分组,差错检测测量令人满意,则终止分组的迭代解码过程的一种装置。
根据本发明的另一方面,有利地进一步提供一种迭代解码器,所述迭代解码器包括:第一和第二解码器;耦合到第一和第二解码器的交错器,并配置成对在经第二解码器解码的分组中的位进行交错,并把经交错的分组提供给第一解码器;耦合到第一和第二解码器的去交错器,并配置成对在经第一解码器解码的分组中的位去交错,并把经去交错的分组提供给第二解码器;耦合到第二解码器的差错检测模块;耦合到第一解码器的输入分组缓冲器;以及耦合到第一和第二解码器、交错器、去交错器、差错检测模块和输入分组缓冲器的控制单元,把控制单元配置成如果(1)解码迭代次数等于预定的最大迭代次数,或如果(2)差错检测模块对两个以前的分组产生满意的差错检测测量,或如果(3)使输入分组缓冲器充满到输入分组缓冲器的存储容量的预定百分比之内,则终止正在分组上执行的迭代解码过程。
根据本发明的另一方面,有利地进一步提供一种方法,所述方法用于终止正在迭代解码器中的分组上执行的迭代解码过程,所述方法包括下列步骤:确定解码迭代次数是否等于预定的最大迭代次数;确定是否把耦合到迭代解码器的输入的分组存储单元充满到分组存储单元的存储容量的预定百分比之内;确定解码迭代次数是否大于或等于预定的最小迭代次数;确定对于至少一个以前的分组差错检测测量是否已经令人满意;以及如果(1)解码迭代次数等于预定的最大迭代次数,或如果(2)解码迭代次数大于或等于预定的最小迭代次数,而且使分组穿插单元充满到分组存储单元的存储容量的预定百分比之内,或如果(3)解码迭代次数大于或等于预定的最小迭代次数,而且对至少一个以前的分组差错检测测量已经令人满意,则对分组终止迭代解码过程。
根据本发明的另一方面,有利地进一步提供一种迭代解码器,所述迭代解码器包括:第一和第二解码装置,用于在分组上执行迭代解码过程;耦合到第一和第二解码装置的分组存储装置;用于确定解码迭代次数是否等于预定最大迭代次数的一种装置;用于确定是否把分组存储装置充满到分组存储装置的存储容量的预定百分比之内的一种装置;用于确定解码迭代次数是否大于或等于预定最小迭代次数的一种装置;用于确定对于至少一个以前的分组差错检测测量是否已经令人满意的装置;以及一种装置,用于如果(1)解码迭代次数等于预定的最大迭代次数,或如果(2)解码迭代次数大于或等于预定的最小迭代次数,而且使分组穿插单元充满到分组存储单元的存储容量的预定百分比之内,或如果(3)解码迭代次数大于或等于预定的最小迭代次数,而且对至少一个以前的分组,差错检测测量已经令人满意,则终止分组的迭代解码过程的。
根据本发明提供一种根据多分量编码方案编码的信号分组的序列进行迭代解码的装置,所述装置包括:多个缓冲器,所述多个缓冲器的每一个被配置为从所述的分组的序列接收一个分组;多个存储器单元;以及多个解码器,所述多个解码器与所述多个缓冲器个数是相等的,其中,每两个相继的解码器与一个不同的存储器单元有关;所述多个解码器的每一个被配置为执行各自不同的解码方法;以及所述解码器中的第一解码器被配置为在一系列操作循环中顺次地接收所述缓冲器中一个缓冲器在一个输入上的内容;以及其中,每一个所述存储器单元被配置为:在一个操作循环中,接收来自所述多个解码器的一个解码器的输出到该存储器单元的第一部分中并提供该存储器单元的第二部分的内容到另一个所述解码器的输入中,在下一个操作循环中,接收来自所述多个解码器的所述一个解码器的输出到该存储器单元的第二部分中并提供该存储器单元的第一部分的内容到另一个所述解码器的输入中。
本发明提供一种数据分组序列的解码方法,所述数据是根据包括内部码和外部码的多分量编码方案编码的,所述方法包括下列步骤:利用多个缓冲器中的一个缓冲器,从所述的分组序列接收一个分组;利用多个存储器单元;以及利用多个解码器进行解码,所述多个解码器与所述多个缓冲器个数是相等的,其中,每两个相继的解码器与一个不同的存储器单元有关;所述多个解码器的每一个解码器被配置为执行各自不同的解码方法;以及所述解码器中的第一解码器被配置为在一系列操作循环中顺次地接收所述缓冲器中一个缓冲器在一个输入上的内容,并对所述内部码解码;以及其中,每一个所述存储器单元被配置为:在一个操作循环中,接收来自所述多个解码器的一个解码器的输出到该存储器单元的第一部分中并提供该存储器单元的第二部分的内容到另一个所述解码器的输入中,其中所述另一个解码器对外部码解码,以及在下一个操作循环中,接收来自所述多个解码器的所述一个解码器的输出到该存储器单元的第二部分中并提供该存储器单元的第一部分的内容到另一个所述解码器的输入中。
本发明提供一种在一种用于对软数据的分组进行迭代解码的系统中的用于在多次迭代之后确定终止解码的方法,在所述软数据中通过概率值表示每个位,所述方法包括下列步骤:确定在分组中的位的概率值;以及只有在概率值超过预定值时才判定终止解码,其中,所述解码包括:利用多个缓冲器,从分组的序列接收一个分组;利用多个存储器单元;以及利用多个解码器进行解码,所述多个解码器与所述多个缓冲器个数是相等的,其中,每两个相继的解码器与一个不同的存储器单元有关;所述多个解码器的每一个被配置为执行各自不同的解码方法;以及所述解码器中的第一解码器被配置为在一系列操作循环中顺次地接收所述缓冲器中一个缓冲器在一个输入上的内容;以及其中,每一个所述存储器单元被配置为:在一个操作循环中,接收来自所述多个解码器的一个解码器的输出到该存储器单元的第一部分中并提供该存储器单元的第二部分的内容到另一个所述解码器的输入中,在下一个操作循环中,接收来自所述多个解码器的所述一个解码器的输出到该存储器单元的第二部分中并提供该存储器单元的第一部分的内容到另一个所述解码器的输入中。
本发明提供一种用于对经编码分组的迭代解码的装置,所述分组包每位一个概率值,所述装置包括:解码器,它执行分组迭代解码;以及控制单元,它根据在分组中的位的概率值确定解码器是否执行另外的迭代,其中,所述装置进一步包括多个缓冲器,所述多个缓冲器的每一个被配置为从分组的序列接收一个分组;多个存储器单元;以及多个解码器,所述多个解码器与所述多个缓冲器个数是相等的,其中,每两个相继的解码器与一个不同的存储器单元有关;所述多个解码器的每一个被配置为执行各自不同的解码方法;以及所述解码器中的第一解码器被配置为在一系列操作循环中顺次地接收所述缓冲器中一个缓冲器在一个输入上的内容;以及其中,每一个所述存储器单元被配置为:在一个操作循环中,接收来自所述多个解码器的一个解码器的输出到该存储器单元的第一部分中并提供该存储器单元的第二部分的内容到另一个所述解码器的输入中,在下一个操作循环中,接收来自所述多个解码器的所述一个解码器的输出到该存储器单元的第二部分中并提供该存储器单元的第一部分的内容到另一个所述解码器的输入中。
从下面连同附图对本发明的较佳实施例的详述,将更充分地了解本发明。其中:
附图简述
图1是根据本发明的一个实施例的迭代解码器方框图;
图2是根据本发明的一个实施例的解码器所执行的动作的流程图,用于确定是否停止对分组的解码;
图3是根据本发明的另一个实施例的迭代解码器方框图;
图4是根据本发明的另一个实施例的解码器所执行的动作的流程图,用于确定是否停止对分组的解码;
图5是根据本发明的另一个实施例的解码器所执行的动作的流程图,用于确定是否停止对分组的解码。
较佳实施例的详述
图1是根据本发明的一个实施例的解码处理器50的方框图。处理器50最好是接收模拟信号的数字接收机的一部分。使所接收到的信号数字化,最好,变换成在对数定标中表示概率值的范围{-32,31}中的定标,如在本技术领域中所众知。另一方面,可以在任何其它范围中进行定标和/或可以是非-对数的定标。最好,解码处理器50接收来自解调器或信道去交错器(未示出)的数字信号,如在本技术领域中所众知。在根据多码方案发送之前对所接收到的数字信号进行编码,所述多码方案最好包括串行的外部编码方案、交错以及内部编码方案。另一方面或此外,多码方案包括加速码(Turbo code)方案,或任何其它合适的迭代方案。
把输入处理器50的数字数据积累到两个平行的缓冲器62和64,其中,缓冲器62接收数据的第一分组而缓冲器64接收数据的第二分组。通过开关66把对内部码进行解码的内部解码器68轮流地连接到缓冲器62和64。解码器68最好是一个后验概率(APP)解码器,也称为最大后验概率(MAP)解码器。在本技术领域中众知这种解码器,例如,在Steven S.Pietrobon的题为“Turbo/Map解码器的实施和性能”(International Journal of SatelliteCommunications,vol.16,1998,pp.23-46)中描述了这种解码器,在此引用该文作为参考;以及在题为“有效的格子结构国家量度标准”的美国专利申请第09/186,753号中描述了这种解码器,该专利已转让给本发明的受让人,并在此引用作为参考。又另一方面,解码器68可以包括本技术领域中众知的其它解码器,包括SOVA解码器。
最好通过开关56和58把两个双端口存储器RAM 52和54轮流连接到内部解码器68。最好,开关56把经解码的输出从解码器68传递到RAM 52和54之一,而开关58把来自同一个RAM的输入传递到解码器68。最好,来自解码器68的输出在它到RAM 52或54的入口时或在它从那里输出时通过去交错器72去交错。同样,最好,通过开关58到解码器68的输入通过与RAM 52和54相关联的交错器74进行交错。
把虽然针对不同码(即,外部码)的解码,但是最好在结构上与解码器68相似的外部APP(或MAP)解码器70通过开关76轮流地连接到RAM 52和54。最好,解码器70包括两个输出线路:第一输出线路90,它提供在供进一步处理的经编码信号上的概率信息;以及第二输出线路92,它提供在经解码数据信号上的概率信息。最好,连接到输出线路90的开关78轮流地把从解码器70的输出导向RAM 52和54的交错器74。在处理器50中足够次数的迭代之后,最好把从解码器70的输出在输出线路92上传递到判定单元80,它把软数据转换成硬数据。最好,把硬数据传递到CRC校验单元83,它确定和校验经解码分组的CRC。
最好,解码器68把经解码数据作为非本征信息输出,即,作为来自开关58的它的输入数据的LLR概率和它的经计算改进的LLR概率之间的差,如在本技术领域中所众知,并且例如在上述Hagenauer等人的文章中所定义。另一方面,解码器701最好具有两个输出线路90和92,如上所述,其中之一(最好是线路92)传递非本征信息,作为到解码器68的反馈,而另一个(最好是线路90)把先验概率信息,即,经计算的LLR概率,传递到判定单元80。
最好,从解码单元50通过开关86输出经解码硬数据,所述开关根据原始分组存储在缓冲器62和64中的哪一个而把输出导向两个分立的线路82和84。最好,控制单元88控制解码器68和70的操作、开关的状态和处理器50的其它操作。
在操作期间,分别把两个连续的数据分组输入缓冲器62和64。把开关66和56设置成它们的向上的状态(如在图1中所示),解码器68执行第一循环,在该循环中,在缓冲器62中的分组上进行第一内部解码迭代。在第一内部解码迭代中,解码器68接收来自缓冲器62的输入分组,并产生在RAM 52中的输出分组。最好在RAM 52中的输出分组通过去交错器72进行去交错,因此准备了输入到解码器70的分组。开关58的状态不影响解码器68的操作,因此不要紧或使之断开。
此后,使开关56和66置于它们的向下的状态,而使开关76和78置于它们的向上的状态。此时,控制单元88启动解码器68和70两者的操作。解码器68执行在缓冲器64中的分组上的第一内部解码迭代,并产生在RAM 54中的输出分组。最好,输出分组在它到RAM 54的途中通过去交错器72进行去交错,以准备在处理器的下一个循环期间输出到解码器70。另一方面或此外,去交错器72对离开RAM 54的分组进行去交错。同时,解码器70执行在RAM 52中的分组上的第一外部解码迭代。解码器72在RAM 52中的经去交错的分组上进行操作并产生返回RAM 52的输出分组。输出分组通过与RAM 52相关联的交错器74进行交错,以准备供解码器68再使用。
在第三操作循环中,使开关56、58和66处于它们向上的状态,而使开关76和78处于它们向下的状态,如在第一循环中那样。解码器68接收来自缓冲器62和RAM 52两者的输入,并在缓冲器62中的分组上执行第二内部解码迭代。把输出分组传递到RAM 52,如同在第一内部解码迭代中那样。同时,解码器70在来自缓冲器64的分组上执行第一外部解码迭代。把输出返回到RAM 54,以待单元74进行交错而准备供解码器68使用。此后,改变开关56、58、66、76和78的状态,解码器68在缓冲器64中的分组上操作,而解码器70在来自缓冲器62的分组上操作。因此,解码器68和70在缓冲器62和64的分组上互换地执行解码迭代。两个解码器68和70同时操作,因此,使用本技术领域中众知的诸如处理器之类的相同硬件量有可能得到两倍解码速度。
控制单元88判定何时终止分组的解码,最好,根据一种下述的方法。通过开关78把来自解码器70的输出传递到判定单元80,它从在分组中的软数据的符号得到硬数据(0和1),如上所述,或如在本技术领域中所众知。把硬数据传递到CRC校验单元83,它确定CRC并把它传递到控制单元88。控制单元88根据CRC和其它信息判定是否执行其它解码迭代,如在下面进一步描述。
另一方面或此外,在预定次数解码迭代之后,终止每个分组的解码。无论从82或84两个线路中的哪一个输出分组,开关86都设置成接通,而且最好断开开关78。把来自解码器70的输出传递到判定单元80,并从那里通过线路82或84输出。在基本上相同的时刻,把数据的新分组输入到缓冲器62或64,原来已经在其中存储了现在-经解码分组,并继续进行解码过程。最好,顺序地把新分组装载到缓冲器62和64的每一个,然后通过解码器68彼此独立地进行处理。另一方面,新分组一个接着一个紧接着充入缓冲器62和64,以致两个新分组在紧接着的循环中进入解码过程。
图2是流程图,示出根据本发明的一个实施例在控制单元88的监督下解码器70所执行的一种迭代解码方法。最好,对于进入处理器50的每个新分组,使执行解码迭代次数的计数器设置为零。对于分组的每个输出解码迭代,使计数器增加。直到计数器达到预定最小迭代数(TR),就使分组自动地从解码器70传递回解码器68供另一次解码迭代。最好,把预定次数设置成最小迭代次数,这样可以得到适用于输出的足够的解码质量。又最好,预定次数(TR)在4和8之间。
在已经执行预定次数的初始迭代之后,解码器70和/或控制单元88确定在分组中的位的LLR概率值L的最小绝对值,最小(|L|),即,在分组中的所有位中的LLR概率值接近于零。(如上所述,在-32到31的定标上在对数域中测量位概率,分别具有相应于高概率的定标极值1和0。)最小LLR概率表示LLR概率所表示的正确硬位值的可信度水平。因此,如果最小LLR概率值不超过预定绝对概率门限值,则继续进行解码过程。然而,如果最小LLR概率值超过预定门限值,则最好验证分组的CRC,如果CRC是正确的,则终止分组的解码。
最好,从在输出线路90上的经解码数据LLR概率计算最小绝对值。另一方面或此外,从经编码数据先验概率计算最小绝对值,所述经编码数据先验概率相应于在线路92上的非本征信息,如这里上面所述并为本技术领域中众知。
另一方面,解码器70校验最小概率值或CRC码,但是不是两者。又另一方面,用对概率值汇聚到极值的进程进行任何其它测量来代替最小值。例如,可以把位的概率值的平均或中间值与不同的相应门限值进行比较。然而应该注意,使用最小值简单,而且所需要的计算时间较少。在本发明的一个实施例中,用顺序地把概率与最小门限值进行比较来代替先只计算最小值再与门限值比较。如果发现位具有的概率值低于门限值,则终止校验而执行另外的迭代。
又另一方面或此外,调节最小概率以忽略离开本体的东西。最好,忽略低于最小值的概率值预定数。
又另一方面或此外,在分组中的位的子集上计算最小或平均概率,最好在随机子集上计算。应该注意,这里上述确定何时终止迭代解码的方法不只限于使用解码处理器50。可以在任何迭代解码器中使用所述方法,包括Turbo码解码器和Turbo-型解码器。
应该进一步注意,虽然上述说明涉及在对数域中使用LLR概率的解码方法,但是可以用其它概率表示来应用本发明的方法。尤其,可以用诸如DSP浮点运算解码器之类的解码器应用本发明的方法,它表示在正常范围(即,在0和1之间)中的概率。在这种解码器中,调节选择最小概率的方法,以致相对于通过概率表示的硬数据判定(“0”或“1”)来选择最小概率。
在本发明的另一个实施例中,迭代解码系统100包括帧缓冲器102、内部解码器104、交错器106、去交错器108、外部解码器110、判定单元112、CRC校验单元114和控制单元116,如在图3中所示。可以有利地用RAM存储器来实施交错器106和去交错器108。有利地,系统100是接收模拟信号的数字接收机的一部分。所接收的信号经过数字化,并有利地变换成在对数定标中表示概率值的范围{-32,31}中的定标,如在本技术领域中所众知。另一方面,定标可以在任何其它范围中和/或可以是非对数定标。
有利地,迭代解码系统100接收两者解调器和信道去交错器(未示出)的数字信号,如在本技术领域中所众知。在根据多码方案发送之前,对所接收到的数字信号进行编码,有利地包括相串联的外部编码方案、交错和内部编码方案。另一方面或此外,多码方案包括Turbo码方案或任何其它合适的迭代方案。
在接收分组中的数据的帧缓冲器102中积累输入到系统100的数字数据。可以用FIFO有利地实施帧缓冲器102。配置帧缓冲器102以把硬件控制信号(把该信号表示为FAST_DECODE,并在下面描述)发送到控制单元116。把对内部码进行解码的内部解码器104耦合到帧缓冲器102。有利地,解码器104是APP解码器(或MAP解码器),如在本技术领域中所众知。又另一方面,内部解码器104可以包括在本技术领域中所众知其它解码器,例如包括SOVA解码器。
把内部解码器104耦合到去交错器108。从内部解码器104输出经解码数据信号,并通过去交错器108进行去交错。把去交错器108耦合到外部解码器110。
把外部AAP(或MAP)解码器110也耦合到交错器106,所述外部解码器110虽然针对不同码的解码,但是在结构上有利地与内部解码器104相似。有利地,交错器106是伪随机交错器,但是也可以是块交错器或卷积交错器等另外的交错器。有利地,外部解码器110包括两个输出线路:连接到交错器106的第一输出线路,提供在经编码信号上的概率信息供进一步处理;以及连接到判定单元112的第二输出线路,提供在经解码数据信号上的概率信息。在解码系统100中经过足够次数迭代之后,有利地在第二输出线路上把来自外部解码器110的输出传递到判定单元112,该单元把软数据转换成硬数据。有利地,把硬数据传递到CRC校验单元114,它确定并校验经解码分组的CRC。
有利地,内部解码器104输出经解码数据作为非本征信息,即,作为它的输入数据的LLR概率和它的经计算改进的LLR概率之间的差,如在本技术领域中所众知和定义,例如,上述Hagenauer等人的文章。另一方面,外部解码器110有利地包括两个输出线路,如上所述,其中之一传递非本征信息作为到内部解码器104的反馈,而其中的另一个把先验概率信息,即,经计算的LLR概率,传递到判定单元112。
有利地在控制单元116的控制下从解码系统100输出经解码硬数据。控制单元116还控制迭代解码系统100的其它操作。控制单元100可以有利地是一个微处理器。另一方面,可以用任何传统处理器、控制器、微控制器或状态机实施控制单元116。
当两个解码器104、110已经对分组进行解码时,解码系统100已经执行一次迭代。控制单元116有利地根据下面描述的方法步骤确定何时终止分组的解码。把外部解码器110的输出传递到判定单元112,它从分组中的软数据的符号得到硬数据(0和1),如上所述或如在本技术领域中所众知。把硬数据传递到CRC校验单元114,它根据已知方法确定CRC,并把CRC传递到控制单元116。控制单元116根据CRC和其它信息判定是否执行另外的解码迭代,如进一步在下面描述。
另一方面或此外,在预定解码迭代次数之后终止每个分组的解码。把外部解码器110的输出传递到判定单元112,并从那里从解码系统100输出。在基本上相同的时刻,把数据的新分组输入到帧缓冲器102(在其中原始地存储现在-经解码分组),并继续进行解码过程。根据一个实施例,迭代解码系统100在控制单元116的监督下执行在图4的流程图中示出的运算步骤,以停止数据分组的迭代解码过程。在步骤200中,对于每个输入系统的新分组,设置执行解码迭代次数的计数器(未示出)为零。用ITER_NUM表示当前迭代次数。然后系统进行到步骤204,并增加当前迭代次数ITER_NUM。对于分组的每个外部解码迭代,增加计数器。直到计数器到达预定最小迭代次数,MIN_ITER_NUM,分组从外部解码器自动传递回内部解码器,供另一次解码迭代。有利地,把预定最小迭代次数MIN_ITER_NUM设置成可以得到适合于输出的具有足够解码质量的最小迭代次数。又有利地,预定最小迭代次数MIN_ITER_NUM在4和8之间。在一个实施例中,预定最小迭代次数MIN_ITER_NUM是一个4-位帧参数。在增加当前迭代次数ITER_NUM之后,系统进行到步骤206。
在步骤206中,系统确定当前迭代次数ITER_NUM是否等于预定最大迭代次数MAX_ITER_NUM。有利地,预定最大迭代次数MAX_ITER_NUM在12和16之间。在一个实施例中,预定最大迭代次数MAX_ITER_NUM是一个4-位帧参数。如果当前迭代次数ITER_NUM等于预定最大迭代次数MAX_ITER_NUM,则系统进行到步骤208。在步骤208中,系统停止执行在数据分组上的解码迭代。另一方面,如果当前迭代次数ITER_NUM不等于预定最大迭代次数MAX_ITER_NUM,则系统进行到步骤210。
在步骤210中,系统确定当前迭代次数ITER_NUM是否大于或等于预定最小迭代次数MIN_ITER_NUM。如果当前迭代次数ITER_NUM大于或等于预定最小迭代次数MIN_ITER_NUM,则系统进行到步骤212。另一方面,如果当前迭代次数ITER_NUM不大于或等于预定最小迭代次数MIN_ITER_NUM,则系统返回到步骤202以执行另外的解码迭代。
在步骤212中,系统确定表示为CRC_CHECK_MODE_OK的状态标志是否等于1(即,是否设置该标志)。状态标志CRC_CHECK_MODE_OK有利地是在控制单元中的解码模式寄存器中的一个标志,是有利地通过控制单元写入的。在一个实施例中,具有值1的CRC_CHECK_MODE_OK标志表示以前两次迭代具有优良的循环冗余校验(CRC)结果。CRC是在有关技术中众知的一种差错-检测方法。在另一个实施例中,具有值1的CRC_CHECK_MODE_OK标志表示以前两次迭代的CRC位是相同的。在另一个实施例中,具有值1的CRC_CHECK_MODE_OK标志表示以前两次迭代的CRC位是相同的,而且以前两次迭代具有优良的CRC结果。在另一个实施例中,具有值1的CRC_CHECK_MODE_OK标志表示以前迭代是优良的,而且整个分组和以前迭代上的经解码分组是相同的。在另一个实施例中,可以用CONVERGE_DETECTED标志来代替CRC_CHECK_MODE_OK标志。具有值1的CONVERGE_DETECTED标志表示整个分组和以前迭代上的经解码分组是相同的。例如,当解码器已经集中到有差错的结果,而且不需要继续进行解码的试验(即,在该模式中没有CRC)时,这是有利的。在另一个实施例中,具有值1的CRC_CHECK_MODE_OK标志可以表示对于以前两个数据分组是否有可以满意的其它已知差错检测测量。
如果在步骤212中CRC_CHECK_MODE_OK标志等于1,则系统进行到步骤208,终止数据分组的迭代过程。另一方面,如果CRC_CHECK_MODE_OK标志不等于1,(即,该标志等于0,或被清除)则系统进行到步骤214。
在步骤214中,系统确定表示为FAST_DECODE的硬件控制信号是否等于1。在多用户解码系统中可以有利地使用FAST_DECODE硬件控制信号,在这种系统中,通过解调器(未示出)发送信号以加速解码系统。可以通过外部FIFO有利地产生FAST_DECODE硬件控制信号,以通知解码系统在最小迭代次数MIN_ITER_NUM之后尽快结束已经执行的分组解码。另一方面,可以通过解码系统的输入帧缓冲器的FIFO驱动FAST_DECODE硬件控制信号。在FIFO上设置一个门限值,致使如果使分组充入FIFO而它的电平低于门限值,则解码系统可以运行最大迭代次数MAX_ITER_NUM。如果FIFO已充满而关闭(即,如果符合或超过门限值),则解码系统只运行最小迭代次数MIN_ITER_NUM。因此,如果使FIFO充满到FIFO存储容量的预定百分比之内,则驱动FAST_DECODE硬件控制信号。因此可以有利地在FIFO上设置门限电平,在解码系统了解到它不能对等待在输入帧缓冲器中的所有分组都进行服务的情况下,可以驱动FAST_DECODE硬件控制信号。
如果在步骤214中FAST_DECODE硬件控制信号等于1,则系统进行到步骤208,停止数据分组的迭代过程。另一方面,如果FAST_DECODE硬件控制信号不等于1(即,它等于0),则系统返回步骤202以执行另外的解码迭代。
熟悉本技术领域的人员会理解,可以通过任何迭代解码器,例如,Turbo解码器或Turbo型解码器,来执行图4的方法步骤。众知Turbo解码主要可以用于均衡器和解码器之间或解调器和解码器之间的迭代。因此,熟悉本技术领域的人员会理解,可以在Turbo均衡(包括一个解码器)中执行图4的方法步骤。
根据另一个实施例,图3的迭代解码系统100在控制单元116的监督下执行在图5的流程图中示出的算法步骤,以停止数据分组的迭代解码过程。在步骤300中,对于接入系统的每个新分组,使执行解码迭代次数的计数器(未示出)设置到零。把当前迭代次数表示为ITER_NUM。然后系统进行到步骤304,并增加当前迭代次数ITER_NUM。对于分组的每个输出解码迭代,增加计数器。直到计数器到达预定最小迭代次数MIN_ITER_NUM,分组自动从外部解码器返回到内部解码器,以进行另外的解码迭代。有利地,把预定最小迭代次数MIN_ITER_NUM设置为可以得到适合于输出的足够解码质量的最小迭代次数。又有利地,预定最小迭代次数MIN_ITER_NUM在4和8之间。在一个实施例中,预定最小迭代次数MIN_ITER_NUM是一个4-位帧参数。在增加当前迭代次数之后,系统进行到步骤306。
在步骤306中,系统确定当前迭代次数ITER_NUM是否等于预定最大迭代次数MAX_ITER_NUM。有利地,预定最大迭代次数MAX_ITER_NUM在12和16之间。在一个实施例中,预定最大迭代次数MAX_ITER_NUM是一个4-位帧参数。如果当前迭代次数ITER_NUM等于预定最大迭代次数MAX_ITER_NUM,则系统进行到步骤308。在步骤308中,系统停止执行在数据分组上的解码迭代。另一方面,如果当前迭代次数ITER_NUM不等于预定最大迭代次数MAX_ITER_NUM,则系统进行到步骤310。
在步骤310中,系统确定表示为CRC_CHECK_MODE_OK的状态标志是否等于1(即,是否设置该标志)。状态标志CRC_CHECK_MODE_OK有利地是在控制单元中的解码模式寄存器中的一个标志,是有利地通过控制单元写入的。在一个实施例中,具有值1的CRC_CHECK_MODE_OK标志表示以前两次迭代具有优良的CRC结果。在另一个实施例中,具有值1的CRC_CHECK_MODE_OK标志表示以前两次迭代的CRC位是相同的。在另一个实施例中,具有值1的CRC_CHECK_MODE_OK标志表示以前两次迭代的CRC位是相同的,而且以前两次迭代具有优良的CRC结果。在另一个实施例中,具有值1的CRC_CHECK_MODE_OK标志表示以前迭代是优良的,而且整个分组和以前迭代上的经解码分组是相同的。在另一个实施例中,可以用CONVERGE_DETECTED标志来代替CRC_CHECK_MODE_OK标志。具有值1的CONVERGE_DETECTED标志表示整个分组和以前迭代上的经解码分组是相同的。例如,当解码器已经集中到有差错的结果,而且不需要继续进行解码的试验(即,在该模式中没有CRC)时,这是有利的。在另一个实施例中,具有值1的CRC_CHECK_MODE_OK标志可以表示对于以前两个数据分组是否有可以满意的其它已知差错检测测量。
如果在步骤310中CRC_CHECK_MODE_OK标志等于1,则系统进行到步骤308,终止数据分组的迭代过程。另一方面,如果CRC_CHECK_MODE_OK标志不等于1,(即,该标志等于0,或被清除)则系统进行到步骤312。
在步骤312中,系统确定当前迭代次数ITER_NUM是否等于预定最小迭代次数MIN_ITER_NUM。如果当前迭代次数ITER_NUM等于预定最小迭代次数MIN_ITER_NUM,则系统进行到步骤314。另一方面,如果当前迭代次数ITER_NUM不等于预定最小迭代次数MIN_ITER_NUM,则系统返回到步骤302以执行另外的解码迭代。
在步骤314中,系统确定表示为FAST_DECODE的硬件控制信号是否等于1。在多用户解码系统中可以有利地使用FAST_DECODE硬件控制信号,在这种系统中,通过解调器(未示出)发送信号以加速解码系统。可以通过外部FIFO有利地产生FAST_DECODE硬件控制信号,以通知解码系统在最小迭代次数MIN_ITER_NUM之后尽快结束已经执行的分组解码。另一方面,可以通过解码系统的输入帧缓冲器的FIFO驱动FAST_DECODE硬件控制信号。在FIFO上设置一个门限值,致使如果使分组充入FIFO而它的电平低于门限值,则解码系统可以运行最大迭代次数MAX_ITER_NUM。如果FIFO已充满而关闭(即,如果符合或超过门限值),则解码系统只运行最小迭代次数MIN_ITER_NUM。因此,如果使FIFO充满到FIFO存储容量的预定百分比之内,则驱动FAST_DECODE硬件控制信号。因此可以有利地在FIFO上设置门限电平,在解码系统了解到它不能对等待在输入帧缓冲器中的所有分组都进行服务的情况下,可以驱动FAST_DECODE硬件控制信号。
如果在步骤314中FAST_DECODE硬件控制信号等于1,则系统进行到步骤308,停止数据分组的迭代过程。另一方面,如果FAST_DECODE硬件控制信号不等于1(即,它等于0),则系统返回步骤302以执行另外的解码迭代。
熟悉本技术领域的人员会理解,可以通过任何迭代解码器,例如,包括Turbo解码器或Turbo型解码器,来执行图5的方法步骤。众知Turbo解码主要可以用于均衡器和解码器之间或解调器和解码器之间的迭代。因此,熟悉本技术领域的人员会理解,可以在Turbo均衡(包括一个解码器)中执行图5的方法步骤。
因此,已经描述了新颖的、有效的迭代解码器。熟悉本技术领域的人员会理解,可以实施,或用数字信号处理器(DSP)、专用集成电路(ASIC)、分立门或晶体管逻辑、分立硬件单元(例如,诸如寄存器和FIFO)、执行一组固件指令的处理器、或任何传统可编程软件模块和处理器来执行这里连同所揭示的实施例一起描述的各种示例逻辑块和运算步骤。处理器可以有利地是一个微处理器,但是另一方面,处理器可以是任何传统的处理器、控制器、微控制器或状态机。可以使软件模块驻留在RAM存储器、快闪存储器、寄存器或本技术领域中众知的任何其它形式的可写入媒体。熟悉本技术领域的人员会进一步理解,可以在所有上述说明中参考到的数据、指令、命令、信息、信号、位、码元、码片都有利地通过电压、电流、电磁波、磁场或粒子、光域或粒子、或任何它们的组合来表示。
可以理解,借助于上面描述的较佳实施例作为示例,只通过所述权利要求来限定本发明的完整的范围。
Claims (29)
1.一种方法,用于终止在迭代解码器中的分组上正在执行的迭代解码过程,所述方法包括下列步骤:
确定解码迭代次数是否等于预定最大迭代次数;
确定是否把耦合到迭代解码器的一个输入的分组存储单元填充至分组存储单元存储容量的预定百分比之内;
确定解码迭代次数是否等于预定最小迭代次数;
确定对于至少一个以前的分组,差错-检测测量是否已经令人满意;以及
如果(1)解码迭代次数等于预定最大迭代次数;或如果(2)使分组存储单元填充至分组存储单元的存储容量的预定百分比之内;或如果(3)解码迭代次数等于预定最小迭代次数;而且对于至少一个以前的分组,差错-检测测量已经令人满意,则终止分组的迭代解码过程。
2.如权利要求1所述的方法,其特征在于,差错-检测测量包括循环冗余校验。
3.如权利要求1所述的方法,其特征在于,至少一个以前分组包括两个以前的分组。
4.如权利要求1所述的方法,其特征在于,如果对于两个以前分组的循环冗余校验是相同的,则差错-检测测量令人满意。
5.如权利要求1所述的方法,其特征在于,如果对于以前解码的分组,循环冗余校验是令人满意的,并且如果以前解码的分组与正在进行迭代解码处理的分组相同,则差错-检测测量令人满意。
6.如权利要求1所述的方法,其特征在于,如果以前经解码分组与正在进行迭代解码处理的分组相同,则差错-检测测量令人满意。
7.一种迭代解码器包括:
第一和第二解码装置,用于执行在分组上的迭代解码过程;
耦合到第一和第二解码装置的分组存储装置;
用于确定解码迭代次数是否等于预定最大迭代次数的装置;
用于确定是否把分组存储装置充满到分组存储装置的存储容量的预定百分比之内的装置;
用于确定解码迭代次数是否等于预定最小迭代次数的装置;
用于确定对于至少一个以前分组差错-检测测量是否已经令人满意的装置;以及
一种装置,如果(1)解码迭代次数等于预定最大迭代次数;或如果(2)使分组存储单元填充至分组存储单元的存储容量的预定百分比之内;或如果(3)解码迭代次数等于预定最小迭代次数;而且对于至少一个以前的分组,差错-检测测量已经令人满意,则终止分组的迭代解码过程。
8.如权利要求7所述的迭代解码器,其特征在于,差错-检测测量包括循环冗余校验。
9.如权利要求7所述的迭代解码器,其特征在于,至少一个以前分组包括两个以前的分组。
10.如权利要求7所述的迭代解码器,其特征在于,如果对于两个以前分组的循环冗余校验是相同的,则差错-检测测量令人满意。
11.如权利要求7所述的迭代解码器,其特征在于,如果对于以前解码的分组,循环冗余校验是令人满意的,并且如果以前解码的分组与正在进行迭代解码处理的分组相同,则差错-检测测量令人满意。
12.如权利要求7所述的迭代解码器,其特征在于,如果以前经解码分组与正在进行迭代解码处理的分组相同,则差错-检测测量令人满意。
13.一种迭代解码器包括:
第一和第二解码器;
耦合到第一和第二解码器的交错器,并配置成对通过第二解码器解码的分组内的位进行交错并把经交错的分组提供给第一解码器;
耦合到第一和第二解码器的去交错器并配置成对通过第一解码器解码的分组内的位进行去交错,并把经去交错的分组提供给第二解码器;
耦合到第二解码器的差错-检测模块;
耦合到第一解码器的输入分组缓冲器;以及
耦合到第一和第二解码器、交错器、去交错器、差错-检测模块和输入分组缓冲器的控制单元,把控制单元配置成如果(1)解码迭代次数等于预定最大迭代次数;或(2)差错-检测模块对两个以前分组产生满意的差错-检测测量;或(3)使输入分组缓冲器充满到输入分组缓冲器的存储容量的预定百分比之内,则终止正在分组上执行的迭代解码过程。
14.如权利要求13所述的迭代解码器,其特征在于,差错-检测模块包括循环冗余校验单元。
15.如权利要求13所述的迭代解码器,其特征在于,第一和第二解码器包括最大后验解码器。
16.如权利要求13所述的迭代解码器,其特征在于,第一和第二解码器包括Turbo解码器。
17.如权利要求13所述的迭代解码器,其特征在于,配置第一解码器对内部码进行解码,而配置第二解码器对外部码进行解码。
18.一种方法,用于终止在迭代解码器中的分组上正在执行的迭代解码过程,所述方法包括下列步骤:
确定解码迭代次数是否等于预定最大迭代次数;
确定是否把耦合到迭代解码器的一个输入的分组存储单元充满到分组存储单元的存储容量的预定百分比之内;
确定解码迭代次数是否大于或等于预定最小迭代次数;
确定对于至少一个以前的分组,差错-检测测量是否已经令人满意;以及
如果(1)解码迭代次数等于预定最大迭代次数;或如果(2)解码迭代次数大于或等于预定最小迭代次数,以及使分组存储单元充满到分组存储单元的存储容量的预定百分比之内;或如果(3)解码迭代次数大于或等于预定最小迭代次数;而且对于至少一个以前的分组,差错-检测测量已经令人满意,则终止分组的迭代解码过程。
19.如权利要求18所述的方法,其特征在于,差错-检测测量包括循环冗余校验。
20.如权利要求18所述的方法,其特征在于,至少一个以前分组包括两个以前的分组。
21.如权利要求18所述的方法,其特征在于,如果对于两个以前分组的循环冗余校验是相同的,则差错-检测测量令人满意。
22.如权利要求18所述的方法,其特征在于,如果对于以前经解码分组的循环冗余校验是满意的,以及如果以前经解码分组与正在进行迭代解码处理的分组相同,则差错-检测测量令人满意。
23.如权利要求18所述的方法,其特征在于,如果以前经解码分组与正在进行迭代解码处理的分组相同,则差错-检测测量令人满意。
24.一种迭代解码器包括:
第一和第二解码装置,用于执行在分组上的迭代解码过程;
耦合到第一和第二解码装置的分组存储装置;
用于确定解码迭代次数是否等于预定最大迭代次数的装置;
用于确定是否把分组存储装置充满到分组存储装置的存储容量的预定百分比之内的装置;
用于确定解码迭代次数是否大于或等于预定最小迭代次数的装置;
用于确定对于至少一个以前分组差错-检测测量是否令人满意的装置;以及
一种装置,用于如果(1)解码迭代次数等于预定最大迭代次数;或如果(2)解码迭代次数大于或等于预定最小迭代次数,以及使分组存储装置充满到分组存储装置的存储容量的预定百分比之内;或如果(3)解码迭代次数大于或等于预定最小迭代次数,而且对至少一个以前的分组差错-检测测量已经令人满意,则终止分组的迭代解码过程。
25.如权利要求24所述的迭代解码器,其特征在于,差错-检测测量包括循环冗余校验。
26.如权利要求24所述的迭代解码器,其特征在于,至少一个以前分组包括两个以前的分组。
27.如权利要求24所述的迭代解码器,其特征在于,如果对于两个以前分组的循环冗余校验是相同的,则差错-检测测量令人满意。
28.如权利要求24所述的迭代解码器,其特征在于,如果对于以前经解码分组的循环冗余校验是令人满意的,以及如果以前经解码分组与正在进行迭代解码处理的分组相同,则差错-检测测量令人满意。
29.如权利要求24所述的迭代解码器,其特征在于,如果以前经解码分组与正在进行迭代解码处理的分组相同,则差错-检测测量令人满意。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/186,971 US6292918B1 (en) | 1998-11-05 | 1998-11-05 | Efficient iterative decoding |
US09/186,971 | 1998-11-05 | ||
US09/350,941 | 1999-07-09 | ||
US09/350,941 US6182261B1 (en) | 1998-11-05 | 1999-07-09 | Efficient iterative decoding |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2008101911001A Division CN101505156A (zh) | 1998-11-05 | 1999-11-04 | 高效迭代解码 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1348631A CN1348631A (zh) | 2002-05-08 |
CN100388632C true CN100388632C (zh) | 2008-05-14 |
Family
ID=26882613
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB998153400A Expired - Fee Related CN100388632C (zh) | 1998-11-05 | 1999-11-04 | 高效迭代解码 |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP1127413B1 (zh) |
JP (1) | JP4386588B2 (zh) |
CN (1) | CN100388632C (zh) |
AU (1) | AU2146000A (zh) |
WO (1) | WO2000027037A2 (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3932091B2 (ja) | 1999-03-01 | 2007-06-20 | 富士通株式会社 | ターボ復号装置 |
DE19934646C2 (de) * | 1999-07-16 | 2001-09-13 | Univ Dresden Tech | Verfahren und Vorrichtung zur iterativen Decodierung von verketteten Codes |
US7302621B2 (en) | 2000-01-03 | 2007-11-27 | Icoding Technology, Inc. | High spread highly randomized generatable interleavers |
AU2284301A (en) * | 2000-01-03 | 2001-07-16 | Icoding Technology, Inc. | System and method for high speed processing of turbo codes |
FI111888B (fi) * | 2000-02-25 | 2003-09-30 | Nokia Corp | Mukautuva menetelmä ja järjestelmä vähittäisen redundanssin toteuttamiseksi vastaanotossa |
US7159164B1 (en) | 2000-06-05 | 2007-01-02 | Qualcomm Incorporated | Method and apparatus for recovery of particular bits of a frame |
EP1178613A1 (en) * | 2000-08-01 | 2002-02-06 | Motorola, Inc. | Apparatus and method for determining an abort criterion in an iterative detection process |
EP1179934A1 (en) * | 2000-08-11 | 2002-02-13 | Mitsubishi Electric Information Technology Centre Europe B.V. | Adaptive turbo-equalization |
KR100424460B1 (ko) * | 2000-10-05 | 2004-03-26 | 삼성전자주식회사 | 터보 복호기의 전송률 검출 장치 및 방법 |
KR20020031721A (ko) * | 2000-10-23 | 2002-05-03 | 이계철 | 채널정보를 이용한 터보코드 복호화 장치 및 그 방법 |
US6662331B1 (en) * | 2000-10-27 | 2003-12-09 | Qualcomm Inc. | Space-efficient turbo decoder |
US6956912B2 (en) * | 2000-11-14 | 2005-10-18 | David Bass | Turbo decoder with circular redundancy code signature comparison |
US7533320B2 (en) | 2000-11-14 | 2009-05-12 | Interdigital Technology Corporation | Wireless transmit/receive unit having a turbo decoder with circular redundancy code signature comparison and method |
JP3683497B2 (ja) | 2000-11-30 | 2005-08-17 | 松下電器産業株式会社 | 復号装置および復号方法 |
KR100713331B1 (ko) | 2000-12-23 | 2007-05-04 | 삼성전자주식회사 | 부호분할다중접속 이동통신시스템의 반복복호 중지 장치 및 방법 |
AUPR679101A0 (en) * | 2001-08-03 | 2001-08-30 | Lucent Technologies Inc. | Termination of iterative decoding |
KR100474287B1 (ko) * | 2002-05-30 | 2005-03-10 | 엘지전자 주식회사 | 휴대용 단말기의 자원 최적화 방법 및 장치 |
US7093180B2 (en) | 2002-06-28 | 2006-08-15 | Interdigital Technology Corporation | Fast H-ARQ acknowledgement generation method using a stopping rule for turbo decoding |
KR100516586B1 (ko) * | 2002-12-10 | 2005-09-22 | 삼성전자주식회사 | 부호 분할 다중 접속 이동 통신 시스템의 오류 정정 장치및 방법 |
JP2008522528A (ja) * | 2004-12-02 | 2008-06-26 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | データ・ブロック冗長バージョン復号用ステーク継承ターボ復号器 |
KR100729258B1 (ko) * | 2005-12-07 | 2007-06-18 | 엘지전자 주식회사 | 확장된 링크 적응화 기법을 제공하는 이동 통신 단말기 및그 방법 |
WO2008077421A1 (en) * | 2006-12-22 | 2008-07-03 | Micronas Gmbh | Channel decoder with variable number of decoding iterations |
JP2009188640A (ja) * | 2008-02-05 | 2009-08-20 | Sharp Corp | 実行判断装置、受信装置、無線通信システム、及び実行判断方法 |
EP2819310A1 (en) * | 2013-06-26 | 2014-12-31 | Alcatel Lucent | Iterative error decoder with cascaded decoding blocks and a feedback decoding block |
JP6335547B2 (ja) * | 2014-02-27 | 2018-05-30 | 三菱電機株式会社 | 復調装置および受信装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US497404A (en) * | 1893-05-16 | Electric cigar-lighter |
-
1999
- 1999-11-04 EP EP99965762A patent/EP1127413B1/en not_active Expired - Lifetime
- 1999-11-04 JP JP2000580308A patent/JP4386588B2/ja not_active Expired - Lifetime
- 1999-11-04 WO PCT/US1999/026101 patent/WO2000027037A2/en active IP Right Grant
- 1999-11-04 CN CNB998153400A patent/CN100388632C/zh not_active Expired - Fee Related
- 1999-11-04 AU AU21460/00A patent/AU2146000A/en not_active Abandoned
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US497404A (en) * | 1893-05-16 | Electric cigar-lighter |
Also Published As
Publication number | Publication date |
---|---|
EP1127413B1 (en) | 2011-06-22 |
WO2000027037A2 (en) | 2000-05-11 |
CN1348631A (zh) | 2002-05-08 |
AU2146000A (en) | 2000-05-22 |
JP2002529953A (ja) | 2002-09-10 |
JP4386588B2 (ja) | 2009-12-16 |
EP1127413A2 (en) | 2001-08-29 |
WO2000027037A3 (en) | 2000-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100388632C (zh) | 高效迭代解码 | |
CN101505156A (zh) | 高效迭代解码 | |
CN1536767B (zh) | 通信系统中的迭代解码装置和迭代解码方法 | |
CN100542051C (zh) | 解码方法和设备 | |
US9214958B2 (en) | Method and decoder for processing decoding | |
CN102171937B (zh) | 信道自适应迭代Turbo解码器系统和方法 | |
US20100162077A1 (en) | Method and apparatus for map decoding and turbo decoder using the same | |
US20080040644A1 (en) | Method of correcting message errors using cyclic redundancy checks | |
CA2660073A1 (en) | Event cleanup processing for improving the performance of sequence based decoders | |
US6757865B1 (en) | Turbo-code error correcting decoder, turbo-code error correction decoding method, turbo-code decoding apparatus, and turbo-code decoding system | |
CN1426630A (zh) | 有效的格子结构状态量度归一化 | |
Battail et al. | Pseudo-random recursive convolutional coding for near-capacity performance | |
CN104579369A (zh) | 一种Turbo迭代译码方法和译码装置 | |
US7346117B2 (en) | Turbo decoder | |
KR100738250B1 (ko) | Llr의 부호 비교를 이용한 터보 복호기의 반복복호제어장치 및 방법 | |
CN102751996B (zh) | 高性能低复杂性分组乘积码tpc的译码方法 | |
CN101411071A (zh) | 具有双向滑动窗口体系结构的map译码器 | |
EP1565992A1 (en) | Erasure determination procedure for fec decoding | |
CN107342775B (zh) | 删余卷积码的维特比译码方法 | |
CN117081611B (zh) | 一种基于并行处理的译码方法和设备 | |
TW201817172A (zh) | 用於通訊系統中迴旋碼解碼裝置的解碼方法及相關的判斷模組 | |
CN109428604A (zh) | 采用改进tdmp算法的ldpc码译码方法及电路 | |
Morakis | A comparison of modified convolutional codes with sequential decoding and turbo codes | |
CN1700605A (zh) | 基于软状态估计的非二进制循环Turbo码译码装置 | |
CN106487391A (zh) | 应用于一卷积编码信号的解码方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1044082 Country of ref document: HK |
|
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080514 Termination date: 20121104 |