专利名称:具有快速解码器和里德索罗门解码器的解码装置及其方法
技术领域:
本发明涉及一种具有串联地连接的快速(turbo)解码器和RS解码器的解码装置,更具体地说,涉及用于解码经历了RS编码和快速编码的信号的装置及其解码方法。
背景技术:
通常,为了纠正信道中的错误,无线数字通信系统在发送端使用一种加入错误纠正代码的方法,并在接收端使用一种纠正错误的方法。一种用于错误纠正的编码方法是快速编码。快速编码使用于需要高数据速率的信道中,比如在美国使用的码分多址2000(CDMA2000)、和欧洲使用的宽带码分多址(W-CDMA)中。
图1是用于将接收的快速代码进行解码的传统解码装置的方框图。
通过信道接收的信号经过输入缓冲存储器10并输入到快速解码器20。快速解码器20通过迭代解码方法将快速代码进行解码,并将解码的信号发送到输出缓冲存储器70。
根据迭代解码操作的迭代次数,快速编码在错误纠正能力上是变化的。随着迭代次数变大,错误纠正的可能性增加。然而,如果迭代次数太大,解码时间就变长且用于解码的能量消耗增加。所以,一旦错误纠正的执行超过了一定的程度,控制器40就停止迭代解码。
下面将描述两种确定停止迭代解码的方法的传统标准。
第一种方法是预定一个迭代次数,并且,当迭代次数达到预定的迭代次数时停止迭代解码。然而,这种方法会增加解码时间和能量消耗,因为即使错误被充分地纠正了,也将执行不必要的迭代解码。加之,这种方法还有一个问题,期望的错误纠正性能可能不会实现,因为迭代解码可能会停止,尽管错误纠正尚未完成。
第二种方法是使用如图1中所示的分离的LLR(对数似然比率(LogLikelihood Ratio))计算器或CRC(循环冗余检查)发生器30。换句话说,是这样一种方法,即,通过对在迭代快速解码期间解码的信号执行CRC,或产生解码结果的LLR,当根据CRC结果确定完成了错误纠正时,或当LLR的绝对值的最小值高于预定的阈值时,解码就停止。
然而,在使用CRC的方法中,根据CRC方法,快速代码将再编码一次,这会数据速率损失,以及CRC结果会不正确。
另外,使用LLR的方法在确定用于停止迭代的合适阈值上有一个困难,即,即使LLR条件是合适的,而错误可能仍会产生。
即使错误纠正是由快速解码器单独进行的,通过上述方法,也可以采用快速解码器的迭代控制。最近,(美国专利第6,298,461号)建议了一种新的错误纠正方法,该方法使用快速解码器和Reed Solomon(里德索罗门)解码器(RS解码器)这二者,其中,使用RS解码器的解码结果来控制快速解码器的迭代,以产生更好的解码结果。
发明内容
本发明的提出是为了克服上述的问题,并且,相应地,本发明的一个目的是提供一种解码装置,该装置避免由RS编码器和快速编码器编码信号的不必要的和不充分的解码,并优化错误纠正性能。
本发明的另外的目的和优点的一部分将在下面的描述中提出,以及,一部分将是明显来自描述的,或可以通过本发明的实例而学习到的。
为了实现本发明的上述的和其它的目的,根据本发明的解码装置包括第一解码器,以预定的第一方式将输入信号解码;第二解码器,以预定的第二方式将第一解码器解码的结果解码,并且,当通过以第二方式的解码完成了错误纠正,就输出完成信号;和控制器,控制第一解码器,执行与预定的迭代次数一样多次数的解码,并且,当在第二解码器中出现了完成信号时,就停止解码。在这里,第一解码器的例子是快速解码器,而第二解码器的例子是RS解码器。
当作为由快速解码器按迭代次数对输入的第二次解码快速解码的结果在第二解码器中出现完成信号时,控制器就减小迭代次数。如果未接收到完成信号,控制器就增加迭代。相应地,通过根据信道而在迭代次数上的自适应的改变,解码性能就变得优化了。
控制器可以在预定的最小和最大迭代限度之内控制迭代次数。如果迭代次数将变得小于最小值,控制器就将最小值设置为迭代次数。以及如果迭代次数将变得大于这个最大值,控制器就将最大值设置为迭代次数。相应地,除了在下面讨论的特殊情况之外,保证了快速解码的最小迭代,并且,避免了迭代过分地大于预定的最大迭代或小于最小迭代。
根据本发明的解码装置还包括输入缓冲存储器,临时存储向快速解码器输入的数据;和输出缓冲存储器,临时存储RS解码器的输出。如果输入缓冲存储器具有可用的存储容量,或者输出缓冲存储器不具有可用的存储容量,控制器会将迭代次数设置成大于预定的最大值。相应地,无需不必要的时间延迟,就可获得更好性能的错误纠正。
当前迭代次数和预定的最小值与最大值存储在存储器中,且存储的迭代次数用于下一帧。
通过参考附图对本发明的实施例的描述,本发明的上述的和其它目的和特点将变得更明显,其中图1是传统快速解码装置的方框图;图2是根据本发明的实施例的解码装置的方框图;以及图3是图2中所示的解码装置的解码的方法的流程图。
具体实施例方式
现在,将详细参考本发明的本实施例,其中的例子在附图中进行了说明,其中,所有相似的标号表示相似的部件。
根据本发明的解码装置将经RS编码器和快速编码器编码的信号进行解码。换句话说,信号发送器具有RS编码器和快速编码器,并且,相应地,将要被发送的信号经RS编码器编码成块代码,并且,接着,经快速编码器再次编码。
图2是根据本发明的实施例的解码装置的方框图。该解码装置包括输入缓冲存储器110、快速解码器120、RS解码器150、输出缓冲存储器170、控制器140、和存储器180。
输入缓冲存储器110临时存储输入信号(输入数据),并将所存储的信号提供给快速解码器120。输出缓冲存储器170临时存储由RS解码器150解码的信号(RS解码的数据)。快速解码器120对从输入缓冲存储器110输入的信号(快速解码的数据)执行迭代快速解码。
RS解码器150将经快速解码器120快速解码的信号进行RS解码。当通过RS解码器150的RS解码过程完成了错误纠正时,RS解码器150就输出错误纠正(EC)完成信号。如果所有错误都被RS解码器150纠正了,经快速解码器120的错误纠正被认为是充分的。所以,如果RS解码器150输出错误纠正完成信号,经快速解码器120和RS解码器150的错误纠正被判定为是充分的。
存储器180存储快速解码器120的迭代次数和迭代次数的预定的最大迭代值和最小迭代值。控制器140控制快速解码器120,这样,快速解码器120就按存储在存储器180中的迭代次数来执行解码。另外,控制器140根据来自RS解码器150的完成信号而更新存储在存储器180中的迭代次数。
现在,将描述根据本发明的解码方法。
现在参考图3,在操作S10中,所接收的信号(快速代码),在存储到输入缓冲存储器110之后,被发送到快速解码器120。在操作S20(S20)中,快速解码120对所接收的信号执行快速解码。快速解码器120是由控制器140来控制的,而控制器140控制着快速解码器120按照存储器180中预置的迭代次数来迭代解码。
经快速解码的信号(快速解码的信号)被发送到RS解码器150,以便在操作S25中对输入信号执行RS解码,以输出RS解码的数据。在操作S30中,RS解码器150确定是否完成了错误纠正,并且,如果完成了错误纠正,就输出错误纠正完成信号。错误纠正完成信号被发送到控制器140,以显示错误纠正的完成。
在操作S40中,如果控制器140接收到完成信号,控制器140就确定是否存储在存储器180中的迭代次数大于存储在存储器中的预定的最小值。在操作S50中,如果存储的迭代次数大于预定的最小值,控制器就将存储器180中的迭代次数减小一(1)。在操作40中,如果迭代次数的减小将使迭代次数小于或等于预定的最小值,控制器140就不减小迭代次数。
如果在RS解码之后未收到完成信号,就认为在RS解码之后仍存在一些错误。在操作S60,控制器140确定是否迭代次数是大于或等于预定的最大值。在操作S70中,如果迭代次数不是大于或等于预定的最大值,控制器140就将存储器180中的迭代次数增加一,并且,在操作S80中,控制快速解码器120继续对所接收的信号的当前帧进行快速解码,因为错误纠正尚未充分地完成。如果在操作S60中迭代次数由于增加而将大于或等于预定的最大值,那么,在操作S75中,控制器140就确定是否在输入缓冲存储器110中存在剩余的容量。在操作S78中,如果在输入缓冲存储器110中存在剩余的容量,控制器就增加迭代次数。在操作S80中,如果在输入缓冲存储器110中不存在剩余容量,控制器就控制快速120继续对所接收的信号的当前帧进行快速解码。
在操作S50、操作S70、或操作S78中更新的迭代次数被用作针对所接收的信号的下一帧的、快速解码器的迭代次数。
如果传送信号的信道的条件好,那么,数据中的错误将会较少。然而,如果信道不好,在所接收的信号中将会有更多的错误。错误存在得越多,快速解码的迭代次数就应当越大,以便获得更好的错误纠正性能。如果错误很少,则用很少的快速解码迭代就可以获得高质量的错误纠正。
根据本发明,如上所述,快速解码器120的迭代次数在存储器180中预置,并且,如果通过按预先设置的迭代次数将数据进行解码对错误纠正来说是充分的,那么,当前信道就确定为很适合于用预先设置的迭代的错误纠正。所以,就为信号的下一帧试验出用于快速解码的一个更少的迭代。反之,如果错误纠正的结果不是充分的,那么,就确定对于通过快速解码器的预先设置的迭代的错误纠正来说,当前信道中的错误太严重了。所以,就为信号的下一帧试验出用于快速解码的一个更多的迭代。
如操作S40和操作S50中所示,尽管当前信道的条件是好的,迭代次数不会减小到预定的最小值之下。另一方面,如操作S60和操作S70中所示,尽管当前信道的条件是差的,迭代次数不会增加到预定的最大值以上。尽管在某种程度上错误纠正是不完全的,却阻止了由过量迭代而引起的时间延迟和能量消耗,并且,正常快速解码所要求的迭代次数被保证在预定的最大和最小预定的限度之内。
如果输入缓冲存储器110具有剩余的存储容量,就可以允许迭代次数增加到预定的最大限度之上。在这类情况中,将不会出现由于过量迭代而引起的时间延迟问题。那是因为,当在操作S75中确定输入缓冲存储器110具有剩余的存储容量时,尽管通过快速解码器120的解码操作会出现延迟,而在输入缓冲存储器110中额外地存储所接收的信号时通常也不会出现解码操作的时间延迟。所以,在操作S78中,如果输入缓冲存储器110具有剩余的存储容量,即使迭代次数超出了最大预定的限度,也可以增加迭代次数。
如果迭代次数的增加超出了预定的最大限度,并且,如果输出缓冲存储器170不具有剩余的存储容量,那么,在解码中,由于过量迭代引起的时间延迟将不是一个限制因素。如果输出缓冲存储器170不具有剩余的容量,尽管完全快速解码和RS解码的信号被发送到输出缓冲存储器170,由于完全快速解码和RS解码的信号不能存入输出缓冲存储器170,所以,无论如何也会出现时间延迟。相应地,如果输出缓冲存储器170不具有剩余的存储容量,即使当迭代次数超过了最大值,通过增加迭代次数,也可以提高错误纠正的性能。
根据本发明,通过RS解码器的错误纠正的完成,自适应地实现按照对当前信道条件的可选的迭代的快速解码。所以,提高了解码的性能。通过预定的最小迭代次数,保证了快速解码器的最小限度的性能,并且,通过预定的最大迭代次数,阻止了过量的时间延迟。
本发明以上述的解码装置实施例进行了例示,其中,快速解码器和RS解码器是串联地连接的,但是,本发明也可以应用于具有第一解码器和第二解码器的其它解码装置中,其中,所述的第一解码器执行迭代解码,而第二解码器对来自第一解码器的信号进行解码。
尽管已经示出并描述了本发明的一些实施例,那些本领域中的专业技术人员应当理解,在不偏离本发明的原理和实质的前提下,在这些实施例中可以进行变化,其范围定义在权利要求和它们的等价物中。
权利要求
1.一种解码装置,包括第一解码器,以预定的第一方式将输入信号解码,并输出解码的结果;第二解码器,以预定的第二方式将解码的结果进一步地解码,并且,如果第二解码器完成了错误纠正,就输出完成信号;控制器,控制第一解码器,按预定的迭代次数将输入信号的解码进行迭代,并且,如果第二解码器输出完成信号,就停止将输入信号解码。
2.如权利要求1的解码装置,其中,第一解码器是一个快速(turbo)解码器,而第二解码器是一个RS解码器。
3.如权利要求2的解码装置,其中,当在与迭代次数相对应的迭代的次数之内出现完成信号时,控制器就减小迭代次数。
4.如权利要求3的解码装置,其中,如果作为减小的结果迭代次数变得小于预定的最小值,控制器就将迭代次数设置为预定的最小值。
5.如权利要求2的解码装置,其中,如果在与迭代次数相对应的迭代的次数之内未出现完成信号,控制器就增加迭代次数。
6.如权利要求5的解码装置,其中,如果作为增加的结果迭代次数变得大于预定的最大值,控制器就将迭代次数设置为预定的最大值。
7.如权利要求6的解码装置,还包括输入缓冲存储器,存储与输入到快速解码器的信号相对应的输入数据,并且,其中,如果输入缓冲存储器具有接收输入数据的可用的存储容量,控制器就将迭代次数设置为大于预定的最大值。
8.如权利要求6的解码装置,还包括输出缓冲存储器,临时存储RS解码器的输出结果,并且,其中,如果输出缓冲存储器不具有存储输出结果的可用的存储容量,控制器就将迭代次数设置为大于预定的最大值。
9.如权利要求2的解码,其中,如果在与迭代次数相对应的迭代的次数之内未输出完成信号,控制器就控制快速解码器执行额外的迭代。
10.如权利要求2的解码装置,还包括存储迭代次数的存储器。
11.一种解码方法,包括按预定的迭代次数,将接收的信号进行第一次解码;将第一次解码的信号进行第二次解码;确定是否第二次解码已完成了错误纠正;以及如果完成了错误纠正,就停止信号的第一次解码。
12.如权利要求11的方法,其中,第一次解码是快速解码,而第二次解码是RS解码。
13.如权利要求12的方法,还包括如果完成了错误纠正,就减小迭代次数。
14.如权利要求12的方法,其中,迭代次数的减小步骤包括作为减小的结果,如果迭代次数变得小于最小值,就将最小值设置为迭代次数。
15.如权利要求12的方法,还包括如果未完成错误纠正,就增加迭代次数。
16.如权利要求15的方法,其中,迭代次数的增加步骤还包括作为增加的结果,如果迭代次数变得大于最大值时,就将最大值设置为迭代次数。
17.如权利要求16的方法,其中,迭代次数的增加步骤还包括如果用于临时存储所接收的信号的输入缓冲存储器具有可用的存储容量时,就将迭代次数设置成大于最大值。
18.如权利要求16的方法,其中,迭代次数的增加步骤还包括如果用于临时存储RS解码的信号的输出缓冲存储器不具有可用的存储容量时,就将迭代次数设置成大于最大值。
19.一种用于将安排成帧的输入数据进行解码的装置,该装置包括快速解码器,根据迭代的次数将输入数据的当前帧进行迭代地解码,和响应完成信号而停止迭代;以及RS解码器,将快速解码的数据进行解码,并且,如果完成了错误纠正,就输出完成信号。
20.如权利要求19的装置,还包括控制器,如果在为当前帧而指定的迭代次数之内输出了完成信号,就减小输入数据的下一帧的迭代次数。
21.如权利要求20的装置,其中,如果减小迭代的次数使得用于下一帧的迭代的次数减小到小于最小值的次数,控制器就将用于输入数据的下一帧的迭代的次数设置在最小值。
22.如权利要求19的装置,还包括控制器,如果在为当前帧而指定的迭代的次数之内未输出完成信号,就增加用于输入数据的下一帧的迭代次数。
23.如权利要求22的装置,其中,如果增加迭代的次数使得用于下一帧的迭代的次数增加到大于最大值的次数,控制器就将用于输入数据的下一帧的迭代的次数设置在最大值。
24.如权利要求22的装置,其中,如果在为当前帧指定的预定的数目的迭代之内未输出完成信号,控制器就控制快速解码器继续迭代当前帧。
25.如权利要求24的装置,还包括输入缓冲存储器,临时存储输入数据;其中,如果输入缓冲存储器具有可用的剩余存储容量,控制器就将用于当前帧的迭代的次数增加到大于预定的最大值的次数。
26.如权利要求23的装置,还包括输出缓冲存储器,临时存储RS解码的数据;其中,如果输出缓冲存储器不具有可用的剩余存储容量,控制器就将用于当前帧的迭代的次数增加到大于预定的最大值的次数。
27.如权利要求21的装置,还包括存储器,存储最小值和与迭代的次数相对应的值。
28.如权利要求23的装置,还包括存储器,存储最大值和与迭代的次数相对应的值。
全文摘要
一种具有串联地连接的快速(turbo)解码器和RS解码器的解码装置,及其执行解码的操作的方法。快速解码器将接收的一个信道的数据进行解码,而RS解码器将快速解码的数据进行RS解码。控制器根据由存储的迭代次数所确定的迭代次数将数据迭代地进行快速解码,并且,如果从RS解码器接收到一个错误纠正完成信号,就停止快速解码。如果在预定次数的迭代中接收到完成信号,控制器就为下一帧数据减小迭代次数,而如果在预定次数迭代中未接收到完成信号,控制器就为下一帧数据增加迭代次数。迭代次数在最大限度和最小限度之内是可变的,且在特殊情况下可以超出最大限度。
文档编号H03M13/29GK1431781SQ0215146
公开日2003年7月23日 申请日期2002年11月14日 优先权日2002年1月11日
发明者金纪甫 申请人:三星电子株式会社