AmethodandsystemforstoppingexecutionofaTurbodecoder的制作方法

文档序号:7732763阅读:205来源:国知局
专利名称:A method and system for stopping execution of a Turbo decoder的制作方法
技术领域
本发明涉及Turbo解码器领域。具体地,本发明涉及一种用于停止Turbo解码器执行的方法,其中,所述Turbo解 码器包括多个基元解码器,其中每个基元解码器被配置为执行各自的解码操作序列,并且每个基元解码器被布置 为接收来自多个基元解码器中的至少一个其他基元解码器的各自的输入。本发明还涉及一种使用用于停止Turbo解码器执行的方法的Turbo解码器系统。本发明还涉及用于配置数据处理系统的软件。本发明还涉及软件提供系统。本发明还涉及软件提供方法。
背景技术
一类错误校正码是所谓的turbo码。通过turbo解码器对Turbo码进行解码。 Turbo解码器的特性是它至少由两个基元解码器组成,这两个基元解码器相互配合产生解 码数据。举例来说,Turbo码用于通信协议中,比如用于移动电话。例如,发送器通过turbo 编码器将原始数据编码,以在传输期间使用;接收器使用turbo解码器对接收的数据进行 解码。传输过程中会产生错误。使用turbo编码器和turbo解码器能够修正一些错误。使 用turbo码的一种协议是高速下行分组接入(HSDPA)协议。每个基元解码器将接收的数据和由另一个基元解码器完成的前一基元解码操作 的结果作为输入。在执行过程中,基元解码器处理所谓的软数据(soft data)。软数据给出 了原始发送的数据的概率信息。此外,软数据可以包括位可靠性。基元解码器需要能使用 软数据,比如,SISO解码器(软输入软输出)。软数据能够被转换成硬数据。硬数据由从发 送器原始发送的数据的特定的猜测组成。Turbo解码器的结构和操作为本领域的技术人员所熟知。Turbo解码器例如在 S.A. Barbulescu 禾口 S.S. Pietrobon 的“Turbo codes :Atutorial on a new class of powerful error correcting codingschemes,Part 1:Code structures and interleaver design “ ,J. Elec. and Electron. Eng.,Australia, vol. 19, pp.129-142, Sep. 1999.中 以及在 S. A. Barbulescu 禾口 S.S. Pietrobon 的“Turbocodes :A tutorial on a new class of powerful error correctingcoding schemes, Part 2 :Decoder design and performance, " J.Elec. and Electron. Eng.,Australia, vol. 19,pp.143-152,Sep.1999 中有所描述。Turbo解码器包括具有多重迭代的迭代算法。每个迭代包括每个基元解码器的执 行。该迭代算法的经典实现执行恒定数量的迭代,而不依赖于诸如信噪比的信道条件。动 态确定迭代次数的能力称为“早停止”。该技术的目前状态包括几种用于早停止的技术。在US 7,093,180B2中描述了这种早停止方法。在US 7,093,180B2中,turbo解码被组织成一系列的迭代。每个迭代由所有分量解码器的解码组成。在每次完全迭代结束 时,确定是否出现收敛或发散。如果出现收敛或者发散,则停止迭代。A. Matache、S. Dolinar禾口F. Pollara 的〃 Stopping Rules forTurbo Decoders"; TMO progress report 42-142 ;August 15,2000中提供了早停止规则的技术状态的全面概 况。这里,使用具有两个基元解码器的turbo解码器。该报告提出了早停止的第一种方法。 只要两个基元解码器的输出相等,第一种方法就停止基元解码。每个基元解码后应用该第 一种方法。而且,还提出了用于早停止的第二种独立的方法。只要第二基元解码器收敛,第 二种方法就停止基元解码,这个规则仅在第二基元解码器完成的基元解码之后应用。现有技术的问题在于turbo解码器需要许多基元解码。

发明内容
本发明的目的是降低turbo解码器需要的基元解码的数量。此目的由根据本发明的如权利要求1所定义的方法来实现。发明者认识到,现有技术的问题在于应用停止规则的粒度(granularity)。当一个 迭代进行一半时,能够确定turbo解码器的执行可以被终止,然后可以存储一半的迭代。这 种存储对于具有大于5000比特的块尺寸的HSDPA尤其不可忽视。这种存储与具有有限资 源的装置(比如移动电话)也尤为相关。其优点包括降低功耗和降低解码延迟。这样,在解码数据的延迟和可靠性之间得 到更好的折衷。如果包括特定序列的多个序列已实质性地收敛或者实质性地发散,则执行终止操 作。这包括只有该特定序列借以收敛或者发散的方法。这包括该特定序列借以收敛或者 发散而且至少一个其他序列借以收敛或者发散的方法。代替寻找收敛或者发散,这个方法 也能够仅考虑收敛或者仅考虑发散。该方法也可以寻找一个收敛的序列和另一个发散的序 列。根据本发明的方法的实用实施例具有权利要求2所述的措施的特征。考虑单个序列的收敛或者发散具有需要较少存储器的优点。根据本发明的方法的实用实施例具有权利要求3所述的措施的特征。考虑至少两个序列的收敛或者发散具有提高该方法的鲁棒性的优点,S卩,不可能 在不适合条件下进行终止。根据本发明方法的优选实施例具有权利要求4所述的方法的特征。发明者认识到,如果turbo解码器最终不可能提供正确解码,则停止tubro解码器 的执行是有利的。如果对应于两个基元解码器的两个序列都收敛,但并非收敛于同一数据, 则该过程是稳定的。在这种情况下,不可能向着正确输出取得更多的进展。通过使该turbo 解码器报告该最终情况,包括该turbo解码器的通信系统能够采取进一步的行动。例如,通 信系统可以请求数据的重新传送,或者其可以根据该数据终止应用程序。如果turbo解码 器使用多于两个基元解码器,则在对应于这些基元解码器的多于两个序列的收敛的情况下 进行停止时能够提高可靠性。该方法的优点包括对由于以上原因引起turbo解码器失败的情况做出更快的响 应,以及降低在该情况下的功耗。
如果在每个解码操作后实施权利要求4所述的方法则更加有效。在这种情况下, 能够最早地检测到不可能正确的解码,但是也可以仅仅在迭代结束时实施权利要求4所述 的方法。将权利要求4中的确定解码操作的第一序列是否已收敛到第一数据的步骤与权 利要求1中的确定特定基元解码器的特定解码操作序列是否已实质性地收敛或者实质性 地发散的步骤结合起来是方便的。根据本发明的方法的优选实施例具有权利要求5所述的方法的特征。发明者认识到,没有必要限制为一种规则类型,而将不同规则结合可以带来优点。 由于终止测试与额外的基元解码操作相比相对便宜,所以检验多于一个标准以使早停止概 率最大化是适宜的。确定解码操作的第一序列是否与解码操作的第二序列实质性地一致能够首先包 含确定第一序列是否收敛,也能够包含检验第二序列是否收敛。当确定实质性一致包含确 定收敛时,权利要求5所述的方法能够与权利要求1到4中任一项所述的方法方便地结合。 通过将两个确定收敛的步骤相结合成一个步骤,可以获得更快的执行速度的优点,同时降 低了执行该方法所需的软件量或硬件量,并且也降低该软件和硬件的复杂程度。特别地,权利要求4和5的结合尤其有利。根据本发明的turbo解码器系统具有权利要求6所述的特征。Turbo解码器系统能够被配置为使用软件,或者turbo解码器系统能够包括诸如 配置用来执行该方法的电路的硬件,或者能够用软件控制turbo解码器系统,或者turbo解 码器系统可以包括可能专用的硬件和执行本发明的方法的软件的结合。单个装置能够包括 该turbo解码器系统。另一方面该turbo解码器系统也能够包括多个单独的装置。根据本发明的软件具有权利要求7所述的特征。权利要求7的范围包括包含多个处理方式的软件,使得根据本发明的方法的每一 个步骤都能够通过多个处理方式中的至少一个来实现。在一个实施例中,多个处理方式中 的每个特定处理方式对应于根据本发明的方法的特定步骤。可以使用各种为人熟知的高级 编程语言(比如C、C++或者Pascal)来实现编程方式。也可以用低级编程语言(比如汇 编、机器码或者微代码)来实现编程方式。处理方式能够与体系结构(比如子程序、或者对 象)对应,但是这并不是必须的,而且处理方式也能够与一行或者多行程序代码、或者其中 的一部分对应。处理方式也能够被包含在解决软件的进一步目标的较大的处理方式中。软件提供系统具有权利要求8所述的特征。用提供系统来提供软件是方便的。例如,服务器经由数据网络(诸如Internet) 通过使软件对于下载、或者对于流(例如,控制代码流)是可用的来提供软件。或者,作为 又一示例,提供系统包括存储软件的存储单元,之后可以通过从该存储单元读取数据来提 供软件。或者提供系统包括处理装置来进行这种包括下载、流或存储的提供。软件提供方法具有权利要求9所述的特征。使用提供方法提供软件是方便的。


以举例的方式并且参考附图进一步详细阐述本发明,其中
图1是显示根据本发明的turbo解码器系统在通信系统中应用的框图;图2是说明根据本发明的turbo解码器系统的第一实施例的框图;图3是说明根据本发明的turbo解码器系统的第二实施例的框图;图4是说明停止单元实施例的框图;图5是说明根据本发明的用于停止turbo解码器执行的方法的第一实施例的流程 图;图6是说明根据本发明的用于停止的方法的第二实施例的流程图;图7是说明根据本发明的用于停止的方法的第三实施例的流程图;图8给出了表示根据本发明的用于停止的方法的实施例的各种方面的各种等式;图9给出了表示根据本发明的用于停止的方法的实施例的各种方面的进一步的
等式ο在所有附图中,相同或者相应的特征用相同的参考数字表示。
具体实施例方式虽然本发明容许不同形式的实施例,但是在附图中示出并在此详细描述一个或多 个特定实施例,应当理解,本公开应当被认为是本发明原理的示例,并且本发明并不局限于 示出的和描述的特定实施例。为了方便,针对具有两个基元解码器的turbo解码器来描述停止turbo解码器的 方法;然而,该方法适用于任何具有至少两个基元解码器的turbo解码器。附图标记参考Y代表是参考N代表否参考Fig代表图参考_女字(100)通信系统
参考_女字(102)发送器
参考_女字(104)接收器
参考_女字(106)原始数据
参考_女字(108)turbo编码器
参考_女字(109)传送数据
参考_女字(110)接收数据
参考_女字(112)turbo解码器系统
参考_女字(114)解码数据
参考_女字(202)基元解码器1
参考_女字(204)基元解码器2
参考_女字(206)停止决定单元
参考_女字(300)硬数据单元1
参考_女字(302)硬数据单元2
参考_女字(400)存储器1
参考_女字(402)存储器2
等式(809)能够用作停止标准。当按等式(802)描述的方式为两个基元解码器建 立实质性收敛或者按等式(804)描述的方式建立实质性一致时,终止基元解码的执行。等式(810)能够用作停止标准。当按等式(802)描述的方式为两个基元解码器建 立实质性收敛或者按等式(805)描述的方式建立实质性一致时,终止基元解码的执行。可以使用执行上述以流程图形式概括描述的编程指令的程控处理器来实现本发 明(如在这里描述的实施例),这些编程指令可存储在任何合适的电子存储介质中。然而, 本领域的技术人员应当理解,在不脱离本发明的情况下,上述过程能够以任何数量变型形 式来实施,也可以以许多合适的编程语言来实施。例如,执行的某些操作的顺序能够经常改 变,在不脱离本发明的情况下,可以加入附件的操作或者删除操作。在不脱离本发明的情况 下,可以加入错误捕获、增强和变型。这些变型是预期的并且被认为是等效的。本发明可以通过使用特殊目的硬件和/或专用处理器来实施。相似地,通用计算 机、基于计算机的微处理器、数字信号处理器、微控制器、专用处理器、定制电路、ASICS和/ 或专用硬布线逻辑可以用于构建本发明的可替换的等效实施例。本领域的技术人员将意识到,在不脱离本发明的情况下,用于实施上述实施例的 程序步骤和相关数据能够通过磁盘存储和其他形式的存储来实施,比如,只读存储器(ROM) 设备、随机存储器(RAM)设备,光存储元件、磁存储元件、磁光存储元件、闪存和/或者其他 等效的存储技术。这些可替换的存储装置能被认为是等效的。虽然连同特定实施例描述了本发明,但是很明显,根据上述描述,许多可替代物、 修改、变换和变型对于本领域的普通技术人员来说是明显的。因此,其目的在于本发明包含 落入所附权利要求范围内的所有这些替代物、修改和变型。
权利要求
一种用于停止turbo解码器的执行的方法(500),其中所述turbo解码器包括多个基元解码器(202、204),其中每个基元解码器被配置为执行各自的解码操作序列,并且每个基元解码器被布置为接收来自多个基元解码器中的至少一个其他基元解码器的各自的输入;其特征在于所述用于停止的方法包括请求得到特定基元解码器的特定解码操作序列中的每个特定解码操作;确定该特定基元解码器的特定解码操作序列是否实质性地收敛或者实质性地发散(502);如果包括该特定序列的多个序列已实质性地收敛或者实质性地发散,则终止解码操作的执行(504)。
2.如权利要求1所述的方法,其中序列的数量为1。
3.如权利要求1所述的方法,其中序列的数量至少为2。
4.如前述的任一项权利要求所述的用于停止turbo解码器的执行的方法(600),包括 附加步骤;其中所述附加步骤包括确定第一解码操作序列是否已收敛到第一数据(602),以及如果是, 确定第二解码操作序列是否已收敛到第二数据(604),以及如果是, 验证第一数据和第二数据是否不相等(606),以及如果不相等, 报告turbo解码器失败(608)。
5.如前述的任一项权利要求所述的用于停止turbo解码器的执行的方法(700),包括 进一步的附加步骤;其中所述的进一步的附加步骤包括确定第一解码操作序列是否实质性地与第二解码操作序列一致(702),以及如果一致, 终止解码操作的执行(504)。
6.一种turbo解码器系统(112),包括 多个基元解码器(202、204),其中每个基元解码器被配置为执行各自的解码操作序列,并且每个基元解码器被布置为接收来自多个基元解码器中的至少一个其他基元解码器的 各自的输入,以及停止决定单元(206);其特征在于所述停止决定单元至少被配置为执行权利要求1到5中的任一项所述的方法。
7.一种软件,用于对数据处理系统进行配置,使其能够使用权利要求1到5中的任一项 所述的方法来停止turbo解码器的执行。
8.一种软件提供系统,配置为提供权利要求7所述的软件。
9.一种软件提供方法,被布置为提供权利要求7所述的软件,其中,所述方法能够在如 权利要求8所述的提供系统中执行。
全文摘要
文档编号H04L1/00GK101953105SQ20098010585
公开日2011年1月19日 申请日期2009年2月5日 优先权日2008年2月5日
发明者Ancora Andrea, Charpentier Sebastien 申请人:Nxp Bv
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1