通过循环冗余校验的块的迭代解码的制作方法

文档序号:7815314阅读:245来源:国知局
通过循环冗余校验的块的迭代解码的制作方法
【专利摘要】本申请涉及通过循环冗余校验的块的迭代解码。块的迭代解码可基于CRC校验而继续或终止。在一示例实施例中,在其信息比特由CRC覆盖的块上执行迭代解码过程的一次迭代。如果对于预定次数的连续迭代CRC校验无误,则停止该迭代解码过程。在另一示例实施例中,解码迭代在传输块的多个子块的特定子块上执行,传输块包括传输块的整体上的单个CRC。通过使用从该特定子块上的解码迭代获得的解码比特和从多个子块的其它子块上以前的解码迭代获得的解码比特,校验CRC。随后,如果CRC未校验无误,则在不同子块上执行解码迭代。此外,如果CRC校验无误,也可终止对于子块的解码迭代。
【专利说明】通过循环冗余校验的块的迭代解码
[0001]本分案申请的母案申请日为2009年9月16日、申请号为200980136571.5、发明名称为“通过循环冗余校验的块的迭代解码”。
[0002]对相关申请的交叉引用
本非临时美国专利申请要求2007年9月19日提交的名称为“Method and Arrangementin a Telecommunicat1n System”的美国临时专利申请N0.60/973500的优先权。美国临时专利申请N0.60/973500由此通过引用以其整体结合于本文中。

【技术领域】
[0003]本发明一般涉及通信系统,并且具体地说,涉及对使用CRC校验的迭代解码器的复杂性降低。

【背景技术】
[0004]在通信【技术领域】中使用许多专用术语和缩略词。在后面的文本中涉及了至少以下一些术语和缩略词,如在【背景技术】和/或描述部分中。因此,以下术语和缩略词在此定义:
3GPP第三代合作伙伴项目
CRC循环冗余校验
E-UTRAN演进 UTRAN
LTE长期演进
UMTS通用移动电信系统
UTRA通用地面无线电接入
UTRANUMTS地面无线电接入网络
WiMAX微波接入全球互操作性。
[0005]电信成了今天的信息导向的社会的骨干,并且可使用有线或无线传送和接收来实现。通信信道的能力一般受带宽限制。通信信道的带宽又受限于例如媒体的属性、设计约束为通信分配的频谱及管制机构或运营商强加的自然和人为限制。
[0006]通过采纳多个不同方案的任何方案,即使在电磁谱的有限分配条件下也可增大通信信道的利用。这些方案使得能够在给定频谱分配中传递更多信息。频谱的有效利用能降低正在提供的通信服务的成本,能使得能够提供更丰富的通信服务,或者能实现两者。
[0007]—示例通信方案涉及信息的编码。信息在传送装置编码,并且编码信息经信道传送。传送的编码信息通过信道传播,并且在接收装置解码以恢复至少原信息的样子。通过适当的编码,信息可压缩和/或变得更适应通信信道中的干扰。换而言之,编码方案可用于增大电磁频谱的有效利用。
[0008]实现接近容量的性能的可行信道码现在在当前无线通信标准中广泛使用或者计划用于将来标准。此类码的示例有在UTRAN、E-UTRAN和WiMAX系统中使用的涡轮(turbo)码。实现用于此类码的最佳解码器是不现实的。因此,使用次佳的迭代解码器。但此类解码器已知接近可行操作范围的最佳性能。这些解码器一般要求许多迭代,解码器的复杂性与用于实现目标残留错帧率的迭代次数呈比例增大。
[0009]在移动无线通信系统中,例如此类解码器在移动终端中实现,有着大小、处理能力和成本约束。在系统支持高数据率时,要求的解码器复杂性对移动终端的有限资源带来了负担。此类复杂性约束也影响许多用户的信号可能同时要在其中解码的基站。此外,此类系统可使用传输块分段,其中,更大的传输块被分段成多个更小的子块。在能够将传输块完全解码前,将子块解码。
[0010]因此,关注的是在还尝试保持期望的性能级别的同时降低迭代解码器的复杂性。降低复杂性的一个此类方法涉及基于收到的码字,动态减少采用的解码迭代次数。在现有技术中已描述了用于将迭代次数减少到低于预定义最大数的许多停止规则。
[0011]减少解码迭代次数的停止规则提供了一些准则,这些准则在得到满足时,能够以相对和/或可以接受地高可信度来指示码块已成功解码。在停止规则概述的准则得到满足时,解码过程停止。一般情况下,用于将不同码块解码的迭代次数可直接或间接取决于接收信号的信噪比。实际上,在接收信号的信噪比降低时,解码器增大做出解码判定所需的工作量将是有益的。
[0012]诸如涡轮码等使用中的许多类的码能将付出的工作直接映射到解码器使用的迭代次数。假定有要满足的目标错帧率,则与只使用固定迭代次数的算法相比,停止规则的使用能减少在解码中涉及的平均迭代次数。
[0013]因此,停止规则能用于减少迭代涡轮解码器执行的迭代次数。这些规则能在广义上分类成硬判定规则、软判定规则和CRC规则。硬判定规则基于迭代之间比特判定中没有变化。软判定规则基于比较从迭代后生成的软比特可靠性值得出的某个度量和阈值。
[0014]CRC规则依赖在迭代结束时不存在检测到的错误来判定解码后的码块是否正确。如果CRC指示没有码块错误,则解码停止。使用CRC作为停止准则已在以下文档中描述:Matache> Dolinar 和 Pollara 在 2000 年 8 月 15 日在 NASA JPL TMO Progress Report42-142 中公开的 “Stopping Rules for Turbo Decoders”,该文档当前在 http://tm0.jpl.nasa.gov/progress_report/42-142/title, htm 可得至丨J。
[0015]无论使用的停止规则如何,可行解码器对最大的解码迭代次数设置了限制(例如,/_=8)。在最后允许的迭代结束时,停止规则能用于确定码块是否成功解码。然而,无论停止规则是否已满足,随后将终止迭代解码。
[0016]在现代高数据率通信系统中,例如传输块能够包含数十或甚至成百上千比特。出于可行目的,“大”传输块因此分段成多个码子块,每个子块通常小于预定的最大大小。例如,在UMTS系统的LTE中(例如,第三代合作伙伴项目发布的技术规范3GPP TS 36.212“Multiplexing and Channel Coding (Release 8) ”),最大码子块大小设为 6144 比特,并且CRC序列经计算并附连到每个子块。
[0017]图1A和IB示出示例码块分段方案。通常,每个图包括分段成多个子块102的传输块100。CRC序列104和/或106与每个子块102包括在一起。更具体地说,图1A示出根据E-UTRAN的示例码块分段和CRC附连方案。图1B示出根据WiMAX/UTRA的示例码块分段和CRC附连方案。
[0018]在图1A中,传输块100A包括“η”个子块102Α (例如,子块102Α(1)、子块102Α(2)...子块102Α(η)),“η”表示正整数。每个子块102Α包括CRC 104并且与其相关联。CRC104称为内部CRC。CRC 106称为外部CRC。外部CRC 106可作为一个(或两个或一些)子块102A的部分被包括,但它与多个子块102A相关联,如传输块100A的每个子块102A。因此,在UTRA的LTE情况下,每个子块102A受内部CRC 104保护,并且整个传输块100A还受另一校验序列外部CRC 106保护。
[0019]在图1B中,传输块100B包括“η”个子块102Β (例如,子块102Β(1)、子块102Β(2)...子块102Β (η) ),“η”表示正整数。传输块100Β包括CRC并且与其相关联,如外部CRC106。外部CRC 106可作为诸如最后的子块102Β(η)的子块之一的部分被包括。然而,外部CRC 106与多个子块102Β相关联,如传输块100Β的每个子块102Β。子块102Β(η)还可包括填充比特。应注意,外部CRC 106也可在两个或更多个子块102之间划分。
[0020]涡轮编码由于其性能能力而在许多无线通信系统中使用。一般情况下,总数据块被划分成许多子块,每个子块使用涡轮编码器单独编码。此划分和单独编码旨在折衷涡轮解码器的存储器和性能规范。涡轮解码器以迭代方式操作-每次迭代使用前一迭代的结果作为输入,一般提高了比特的解码序列的可靠性。
[0021]通常,通过按子块形成传输块的连续顺序将组成子块解码,将包含多个子块的传输块解码。如果发现某个子块正确,则可停止该子块的涡轮解码,并且解码器可继续处理下一子块。另一方面,如果发现某个子块不正确,则能中止传输块的剩余部分的解码。任一类型的解码终止的效应能有助于减少采用的解码资源的总量。
[0022]早期停止规则可被实现以确定在最大允许的迭代次数之前何时可终止解码。有两种类型的错误事件与早期停止规则相关联:在“失误事件”中,将错误子块宣布为正确。在此类事件中,接收器继续将传输块中剩余的子块解码,这导致不必要的复杂性增大。在“误警事件”中,将正确解码的子块宣布为错误。此类型的事件也很麻烦。在子块之一被宣布为不正确时,中止剩余子块的解码是合理的。然而,如果此类检测不可靠,则数据吞吐量能够不必要地减少,并且应用的解码资源同时增大。
[0023]在数据吞吐量减少时,每用户正在传递的数据量减少和/或在给定服务级别可服务的用户数量减少。在解码资源增大时,特别是就移动装置而言,复杂性的级别和电池耗电量也增大。现有停止规则由于较复杂,因此,它们未有效地解决这些问题。
[0024]因此,需要解决技术现状中的这些缺陷。本发明的各种实施例的一个或多个实施例解决了此类缺陷和其它需要。


【发明内容】

[0025]本文中描述的示例实施例必需动态停止解码迭代以便至少减轻或改善常规方案的一些缺点的方法。更具体地说,示例实施例描述在将一起形成传输块的子块解码时降低解码复杂性的方法。
[0026]本发明的某个(某些)实施例的一个目的是提供用于停止解码过程的迭代的健壮的基于CRC的规则。
[0027]本发明的某个(某些)实施例的另一目的是降低解码包含多个子块的传输块的复杂性。
[0028]本发明的某个(某些)实施例仍有的另一目的是通过使用健壮的CRC校验停止规则来终止迭代解码过程,从而降低涡轮解码的复杂性。
[0029]在一示例实施例中,存在一种用于迭代解码其信息比特覆盖有CRC的接收块的方法。该方法包括以下动作:执行解码迭代,校验CRC,以及如果对于预定次数的连续迭代CRC已校验无误则停止解码过程。
[0030]在另一示例实施例中,存在一种用于解码包括多个子块(每个子块能被迭代解码)的传输块的方法。传输块还包括传输块的整体上的单个CRC。在多个子块的特定子块上执行解码迭代。使用从该特定子块上的解码迭代获得的解码比特和从多个子块的其它子块上以前的解码迭代获得的解码比特,校验用于传输块的整体的CRC。随后,如果CRC未校验无误,则在不同子块上执行解码迭代。备选的是,如果CRC对于预定次数的连续解码迭代连续校验无误,则可终止对于多个子块的所有子块的解码迭代。
[0031]本发明的某个(某些)实施例的一个优点是例如通过使得能够适当早期终止传输块的子块的迭代解码,可降低移动装置的复杂性而对解码性能的影响极小。
[0032]本发明的某个(某些)实施例的另一优点是由于早期终止,可实现例如涡轮解码过程的更快操作。早期终止能够允许实现更小的芯片面积和功耗。
[0033]本文描述了另外的实施例和/或对其要求权利。示例的另外实施例包括例如但不限于方法、装置、布置、存储器、系统等等。本发明的另外方面部分地在后面的详细描述、图形和权利要求中陈述,并且部分地可从详细描述和图形中得出,或者能通过本发明的实践而了解。要理解,前面的一般描述和下面的详细描述均只是示范和说明性的,并不是所公开或所要求权利的本发明的限制。

【专利附图】

【附图说明】
[0034]参照下面详细的描述(在连同附图进行时),可获得本发明的更完整理解,其中:
图1A示出根据E-UTRAN的示例码块分段和CRC附连方案。
[0035]图1B示出根据WiMAX的示例码块分段和CRC附连方案。
[0036]图2是包括传送装置和接收装置的示例通信系统的框图。
[0037]图3示出传送的信息的示例组成。
[0038]图4示出用于迭代解码器的示例结构。
[0039]图5是用于解码由具有相关联CRC的多个子块构成的传输块的示例通用方法的流程图。
[0040]图6示出用于在每个子块与CRC相关联时将传输块解码的示例迭代算法。
[0041]图7示出用于在每个子块与CRC相关联时将传输块解码的备选示例迭代算法。
[0042]图8是用于在多个子块与某个CRC相关联时将具有该CRC的传输块解码的示例通用方法的流程图。
[0043]图9是示出在多个子块与某个CRC相关联时将具有该CRC的传输块解码时迭代之间已解码比特的示例级联的框图。
[0044]图10是可用于实现用于迭代解码带有CRC的块的实施例的示例装置的框图。

【具体实施方式】
[0045]如上在本文中所述,能够存在与迭代解码一起的早期停止规则造成的“失误事件”和“误警事件”。最好是在设计早期停止规则中将“失误事件”和“误警事件”的概率保持低至可行。“失误事件”概率在所有三种类型的停止规则中存在:硬和软判定规则以及CRC规贝U。然而,CRC规则具有表现出基本上零“误警事件”概率的独特优点。
[0046]应注意,给定到块的CRC附连,有大量方式设计带有不同可靠性级别的不同停止规则。单纯的方案可能得到码块错误概率上的本底(floor),这最终是不合需要的。这在传输块被划分成多个子块而停止规则应用到每个子块的迭代解码时进一步恶化。某些描述的实施例的焦点是避免此类结果。
[0047]图2是包括传送装置202和接收装置204的示例通信系统200的框图。如图所示,通信系统200在信道206上操作,并且除传送装置202和接收装置204外还包括信号208。传送装置202包括传送器210和编码器212。接收装置204包括接收器214和解码器216。
[0048]在一示例操作中,传送装置202通过信道206将信号208传送到接收装置204。接收装置204经信道206从传送装置202接收信号208。更具体地说,编码器212将信息比特编码到通信中,通信经调制并随后由传送器210作为信号208通过信道206传送。在接收装置204,信号208由接收器214接收并转换到基带。解码器216适用于将信号解码以恢复原信息比特。本文中下面专门参照图3描述了信号208的示例组成。
[0049]应理解,单个装置在某个时刻和/或相对于一次通信可充当传送装置202,并且在另一时刻和/或相对于另一通信充当接收装置204。传送装置202和接收装置204的示例包括但不限于网络通信节点、远程终端和能够通过信道206进行通信的其它装置。网络通信节点可包括例如基站收发信台、无线电基站、节点B、接入点等等。远程终端可包括例如移动终端、移动台、订户站、通信卡或模块等等。本文下面专门参照图10描述用于传送/接收装置202/204的通用示例装置实现。
[0050]通常,信道206可以是有线信道或无线信道。无论如何,信道206实现信号208的传送、传播和/或接收。为此和诸如效率等其它原因,信号208由编码器212编码。解码由解码器216执行。本文中下面专门参照图4描述了示例迭代解码器实施例。
[0051]图3示出传送的信息的示例组成300。组成300示出在传送装置执行的示例编码操作的进一步细节。组成300包括信息比特块D、相关联的CRC及编码比特块V。信息比特块D和相关联CRC —起称为级联块U。信道编码操作302也作为编码操作的部分来执行。
[0052]为了示例编码操作,要传送信息比特块D。CRC附加到信息比特块D以形成级联块U。块U通过使用(图2的)编码器212进行的信道编码操作302来编码。信道编码操作生成编码块V。块V随后经调制并传送到具有(图2和4的)解码器216的接收装置。
[0053]图4示出用于迭代解码器216的示例结构。如图所示,迭代解码器216包括解码迭代402和停止规则验证404。在一示例操作中,通常迭代解码器216将接收符号块V’接受为输入,并且产生作为输出的估计U’。如本文中下面进一步所述,多个解码迭代402可作为迭代解码过程的部分来执行。基于在停止规则验证404是否验证了停止规则,可继续或终止迭代解码过程。示例实施例采用必需在一个或多个迭代上校验CRC的停止规则。可监视迭代次数及成功或失败CRC校验的次数。
[0054]更具体地说,对于迭代解码器216,将硬或软接收符号块V’接受为输入。接收符号块V’对应于作为到迭代解码器216的输入的编码块V。图4中示出迭代解码器216的高级别迭代结构。在每次解码迭代402后,生成块U的暂定估计U’(i),其中,“i”表示第i次迭代。迭代解码器216最终输出估计U’,该估计包括在解码成功时检测到的信息比特块D’。否则,在解码不成功时,它标示块或帧错误。
[0055]解码迭代块402可包括一个或多个解码器。作为示例,解码迭代块402可包括至少一个涡轮解码器。在涡轮解码情况下,每解码周期执行两次解码操作。涡轮解码器的每次迭代因此可视为一次或两次解码操作。换而言之,每次迭代可实际上包括取决于编码器结构的一次或两次“子迭代”。在涡轮解码情况下,使用两个组件解码器,因此,使用了两次解码操作或子迭代,每个组件解码器一次。用于停止规则验证块404的停止规则随后可在每次子迭代后或包括两次子迭代的完全迭代后应用。
[0056]本文中下面描述实施例的两个示例集合。示例实施例的第一集合涉及具有多个子块102A的(图1A的)传输块100A,除带有覆盖传输块的整体的外部CRC 106外还带有覆盖每个子块102A的相应内部CRC 104。示例实施例的第二集合涉及具有多个子块102B和覆盖传输块100B的整体的外部CRC 106的(图1B的)传输块100B。图5_7示出实施例第一集合的示例实现。图8和9示出实施例第二集合的示例实现。
[0057]根据示例实施例的第一集合,方法在连续解码迭代上使用内部CRC校验作为终止解码器的操作的停止规则。如果在预定的连续迭代次数的每次迭代后内部CRC校验无误,则子块的迭代解码过程终止,并且将解码比特的结果序列视为正确。在能够宣布数据为有效之前,相对于传输块的解码比特的全体来校验外部CRC。如果给定子块上解码迭代的次数超过选定最大值而未通过内部CRC校验,则假设给定子块是错误的,这暗示着整个传输块也是错误的。使用内部CRC在单独子块上的迭代解码操作的早期终止有助于大大降低解码器的复杂性。此复杂性降低能减小迭代解码器的芯片面积和功耗。
[0058]根据第一方面,在CRC校验指示对于预定的连续迭代次数(这在下面的示例算法中表示为M)没有错误前,不宣布子块正确。此连续CRC停止规则显示实际为零的误警概率,同时也大大减少了失误事件概率。根据第二方面,预定的连续CRC校验次数可以是取决于已执行的解码迭代的实际次数的因变量M(i)。
[0059]根据第三方面,相对于应用连续CRC停止规则,可忽略由Imin表示的前“几次”解码迭代的CRC校验结果。根据第四方面,可设置传输块中多个子块的解码顺序的优先级以进一步降低传输块的整体解码复杂性。可响应相应子块可靠性值将相应子块排序,并随后基于设置优先级的排序来迭代解码。仅作为示例,可响应其噪声方差估计将它们排序,并随后先将带有较高噪声方差估计的子块解码。通过更早平均检测传输块错误,这也能导致复杂性降低。
[0060]作为示例通用实施例,一种方法用于其信息比特覆盖有CRC的接收块的迭代解码。在块上执行迭代解码过程的迭代。在每次迭代后断定CRC是否校验无误。如果对于预定的连续迭代次数CRC校验无误,则停止块的迭代解码过程。此外,如果对于预定的连续迭代次数CRC不是校验无误,则可继续迭代解码过程。在一示例实现中,成功CRC校验的预定的连续迭代次数是取决于已执行的解码操作的次数的因变量。
[0061]图5是用于将由具有相关联CRC的多个子块构成的传输块解码的示例通用方法的流程图500。如图所示,流程图500包括四个框502-508。流程图500可由例如(图2的)接收装置204的装置来实现。
[0062]流程图500及本文中所述的其它流程图的动作可通过处理器可执行指令来实现。处理器可执行指令可实施为硬件、固件、软件、固定逻辑电路、其组合等等。处理器可执行指令的示例操作实现包括但不限于耦合到处理器的存储器、专用集成电路(ASIC)、数字信号处理器和相关联代码、其某个组合等等。
[0063]在一不例实施例中,流程图500描述用于将从多个子块构成的传输块解码的一种方法。每个子块是通过CRC覆盖其信息比特的可被迭代解码的码字。该方法包括接收、执行、停止和继续的动作。在框502,收到传输块。在框504,在多个子块的特定子块上执行迭代解码过程的一次迭代。在每次迭代后可断定特定子块的CRC是否校验无误。
[0064]在框506,如果对于预定的连续解码迭代次数与特定子块相关联的CRC校验无误,则停止特定子块的迭代解码过程。在框508,继续其迭代解码过程尚未停止的其它子块的迭代解码过程,直至能够停止多个子块的所有子块的解码迭代。此外,在一示例实现中,在继续到多个子块的下一子块前,一次一个子块执行迭代解码过程。
[0065]图6示出用于在每个子块与CRC相关联时将传输块解码的示例迭代算法600。通过迭代算法600,在步骤602开始解码。迭代计数设为i=l,并且成功连续校验的当前次数设为CHK=0。在步骤604,执行用于迭代i的处理。在步骤606,校验用于输出块U’ (i)的CRC0在步骤608,断定是否满足CRC。如果不满足,则在步骤610,将成功连续校验计数器重置为CHK=O。
[0066]如果CRC确实校验无误(如在步骤608所断定的),则在步骤612,增大成功连续校验计数器,CHK=CHK+ I。在步骤614,验证成功连续校验计数器是否等于预定次数的成功连续校验(因)变量M(i)。如果验证了连续CRC停止规则(在步骤614),则在步骤616,输出解码块U’⑴。
[0067]在步骤610后或者在步骤614的否定确定后,在步骤618算法继续进行。在步骤618,确定是否已执行最大次数的解码迭代。如果是,则在步骤620输出块错误指示。如果不是,则在步骤622增大迭代计数,i=i+l。
[0068]因此,对于某些示例实施例,在已满足M(i)次连续CRC校验前,不停止迭代解码过程。算法600中的变量M(i)是因变量。它指对于其在迭代i要已经满足CRC以便解码迭代停止的连续迭代的次数。下面描述用于这些实施例的示例备选实现。
[0069]在一个备选实现中,在图6中表示为M(i)的对其要满足CRC的预定的连续迭代次数不随当前迭代次数变化。例如,M可选择为具有预定固定值的固定常数(例如,2、3等)。
[0070]在另一备选实现中,预定的连续成功校验次数M(i)可随着迭代计数i增大而减小。例如,M⑴可在i〈=3 (即,对于前两次迭代)时设为3,在i>3时设为2,以及在i二Imax时可能设为I。用于降低预定的连续成功校验次数M(i)的基本原理是解码器输出的可靠性随着增大的迭代计数变得越来越高。也就是说,在迭代i+Ι的CRC校验的结果与在迭代i的CRC校验的结果相同的概率随着i增大而增大。由于连续CRC校验提供很少的附加信息,这使得它们变得逐渐更少相关。
[0071 ] 本发明的原理可使用的应用的一备选领域是多通(mult1-pass)均衡器/解码器,其中,均衡和信道解码操作迭代应用以便提高整体接收器性能。在此类应用中,如本文中所述的连续CRC停止规则可用于降低失误概率,同时也降低复杂性。
[0072] 图7示出用于在每个子块与CRC相关联时将传输块解码的备选示例迭代算法700。通过算法700,在已执行表示为Imin的最少次数的解码迭代后应用连续CRC检验停止规则。例如,可设为2、3等。算法700与(图6的)算法600不同之处在于添加了步骤702。在步骤702,确定是否已执行解码迭代的最少次数J_。如果是,则算法继续到步骤606以校验CRC。如果尚未执行至少次的解码迭代,则算法继续到步骤622以增大迭代计数器i。
[0073]在某些现实实现中,CRC校验电路可紧密集成到给定迭代解码器结构中。因此,可能不可以完全避免执行初始迭代的CRC校验。然而,在此类配置中,可忽略CRC校验结果,直至已执行解码迭代的次数达到Imin0
[0074]在某些示例实施例中,可基于子块可靠性值来设置接收的传输块的多个子块的优先级。随后,可以响应子块可靠性值的顺序在多个子块上执行迭代解码过程。这能够降低迭代解码器的整体复杂性。
[0075]在传输块被分段成多个子块(如图1A和IB所示)时,任何一个子块中的错误将使得整个传输块无效。因此,在确认一个子块有错误时,不必继续传输块的剩余子块的解码。在整个传输块有错误时,更早检测到有错误的构成子块有助于降低复杂性。
[0076]为了增大更早检测到有错误的传输块的概率,能够以例如对应信号可靠性的降序来拣选子块。换而言之,基于子块可靠性值来拣选它们并设置优先级。例如,可根据其信噪比或其信号噪声干扰比来拣选子块。作为另一示例,可根据其噪声方差估计或其噪声干扰功率估计来拣选子块。
[0077]示例实施例的第二集合适用于其中的子块不具有单独校验序列(例如,如图1B所示)的传输块。换而言之,没有内部CRC。存在提供数据块的整体上的校验和的外部CRC。处理此传输块方案的直接方案是在所有子块上完成涡轮解码操作(使用最大迭代次数),并最终在整个序列上执行帧校验以确定传输块的数据是正确还是错误地接收。
[0078]不同于此类“直接”方案和根据示例实施例的第二集合,所述方法能够降低使用外部CRC的迭代解码器的复杂性。在一示例实现中,在校验CRC前在每个子块上执行有限次数的解码迭代。如果CRC不是校验无误,则迭代解码过程继续,但如果CRC确实校验无误,则它可停止。
[0079]通常,示例实施例必需断定在子块上每次解码迭代后在传输块的整体上CRC是否校验无误。在预定的正确CRC校验次数后,可终止迭代解码过程。也可设置子块优先级以确定下一解码迭代要应用在哪个子块上。本文中下面进一步描述了附加的细节及备选实现。
[0080]在某些示例实施例中,存在用于将包括多个子块(每个子块能够迭代解码)的传输块解码的方法。传输块还包括传输块的整体上的单个CRC。这些方法包括在特定子块上执行解码迭代和为传输块的整体校验CRC的动作。第一示例方法还包括在不同子块上执行解码迭代的动作。第二示例方法还包括终止多个子块的所有子块的解码迭代的动作。
[0081]更具体地说,在多个子块的特定子块上执行解码迭代。通过使用从该特定子块上的解码迭代获得的解码比特和从多个子块的其它子块上以前的解码迭代获得的解码比特,校验用于传输块的整体的CRC。在第一示例方法中,如果CRC不是校验无误,则在不同子块上执行解码迭代。此外,如果对于预定的连续解码迭代次数CRC连续校验无误,则可终止多个子块的所有子块的解码迭代。预定的连续迭代次数例如可设为低到I。
[0082]图8是用于在多个子块与某个CRC相关联时将具有该CRC的传输块解码的示例通用方法的流程图800。如图所示,流程图800包括六个步骤802-812。流程图800可由例如(图2的)接收装置204的装置来实现。在一示例实施列中,流程图800示出用于将传输块迭代解码的接收装置的方法。该方法包括接收、执行、断定和基于所述断定有条件执行的动作。
[0083]在步骤802,接收具有多个子块的传输块。传输块包括与多个子块相关联的CRC。多个子块数量是“η”。在步骤804,在多个子块的一定数量的子块上执行解码迭代,该数量大于O且少于“η”。
[0084]在步骤808,断定CRC相对于多个子块是否校验无误。如果CRC校验失败,则在步骤806更改要解码的子块。因此,如果未断定CRC校验无误(在步骤808),则在步骤804在多个子块的至少一个不同子块上执行解码迭代。
[0085]另一方面,如果断定CRC校验无误(在步骤808 ),则在步骤812可宣布传输块有效。另外,有效性的宣布可以CRC校验历史满足某个准则为条件。在使用重复成功的CRC校验作为停止规则的部分时,在步骤808的肯定CRC校验后也执行步骤810的动作。
[0086]在步骤810,如果CRC断定为校验无误,则在一个或多个子块上重复执行解码迭代,直至确定CRC校验历史满足预定准则。预定的准则例如可以是CRC校验预定的总次数无误或者CRC校验预定的连续次数无误。
[0087]作为另一示例备选实现,如果在多个子块的每个子块上执行预定的解码迭代次数而未发现CRC校验无误,则可宣布传输块无效。
[0088]在另一示例实施例中,一种装置适用于迭代地解码具有CRC的传输块。该装置包括接收器、解码器和处理器。接收器接收具有多个子块的传输块。传输块包括与多个子块相关联的CRC。解码器将多个子块的子集解码。子集是一个或多个子块,但比多个子块的所有子块更少。处理器编程为在解码器将子集解码后,断定CRC相对于多个子块是否校验无误。处理器还编程为如果在将子集解码后CRC不是校验无误,则促使解码器继续将多个子块的子集迭代解码。
[0089]在一示例实现中,处理器还编程为通过校验从多个子块的子集上的当前解码迭代级联的解码比特和来自多个子块的其它子块上的一次或多次以前解码迭代的解码比特,断定CRC相对于多个子块是否校验无误。下面专门参照图9描述在迭代解码过程期间解码比特的级联。
[0090]作为示例而不是限制,描述了涡轮编码器和涡轮解码器的操作。比特U的每个子块通过涡轮编码器,并且获得编码比特的结果流。每个子块的编码比特随后经交织、调制,然后通过无线信道发送到接收器。涡轮编码器一般包括两个构成编码器。包括子块的数据比特通过第一构成编码器以产生编码比特的第一集合。数据比特随后经交织并通过第二构成编码器以产生编码比特的第二集合。最后,穿孔(puncturing)的过程用于在数据比特和编码比特的两个集合中选择以选择编码比特的最终集合。此选择根据编码速率和穿孔规则进行。编码比特V的最终集合通过信道发送。
[0091]涡轮解码器与两个构成解码器迭代工作。它先根据解码器之一解码,并且此过程产生数据比特的改善版本。数据比特的改善版本随后传递到第二解码器,在其之间带有交织的过程。第一与第二构成解码器之间交替的连续迭代继续改善数据比特的当前版本。此过程能例如对于某个预设的迭代次数继续。
[0092]在一直接方案中,能够为所有子块对于可允许的最大迭代次数来执行涡轮解码过程。由此获得的数据块作为从每个子块上操作的构成涡轮解码器输出的数据比特的级联,其随后经历CRC校验过程。如果校验成功,则接收器可确认收到的数据块并将它传递到更高层。如果校验不成功,则接收器可在存储器中存储收到的数据块,并且发送否定确认信号到传送器,传送器可重新传送数据块。
[0093]相比之下,对于本文中所述的某些示例实施例,在涡轮解码器完成给定子块上的迭代后,在数据块上执行CRC校验。因此,在子块m上为下一调度的迭代来操作涡轮解码器,并且在具有来自当前迭代的来自子块m的解码比特而且具有来自以前迭代的来自其它子块的解码比特的级联块上执行CRC校验。
[0094]图9是示出在多个子块与某个CRC相关联时将具有该CRC的传输块解码时迭代之间已解码比特的示例级联的框图900。示出了接收传输块的子块102B(1)、102B(2)...102B(n)。在D次总解码迭代后,产生了解码比特的级联集合。它们示为解码比特902(1)、902(2)…902 (η)。
[0095]解码器的另一次迭代(即,第D+1次迭代)在来自原子块102Β(2)的解码比特902(2)上执行。这产生了解码比特904(2)。来自以前D次迭代的其它解码比特(例如,解码比特902(1)和902(η))与解码比特904(2)级联。随后,使用解码比特902 (I)、904 (2)、...902 (η)相对于接收传输块的整体来校验CRC。连续解码迭代和CRC校验可类似地执行。
[0096]如果CRC校验无误,则正确收到整个传输块的机会较高。因此,解码能够停止。如果CRC不是校验无误,则为不同子块执行解码器的另一迭代。在每次迭代后,通过与来自其它子块上以前迭代的解码比特包括在一起的来自某个子块上解码器的最近迭代的解码比特,针对CRC来校验来自各个子块的级联解码比特。因此,级联来自每个子块的最新迭代的解码比特,并通过在任何给定时刻可能不同的每个子块上执行的迭代次数,针对CRC来校验这些解码比特。
[0097]在选择要迭代解码的下一子块时,也可设置顺序的优先级。每个相应子块可与对应子块可靠性值相关联。在执行迭代η前,可按增大的可靠性来设置解码块的优先级。为解码操作对可靠性值更低的子块设置优先级。
[0098]由于更不可靠的子块更可能需要相对更多的迭代,因此,如果按增大可靠性的顺序应用随后的迭代到子块,则可提高效率。子块可靠性值的示例包括但不限于跨每个子块的解码比特的似然值的绝对值的不同均值(如平均或最小值)。子块可靠性的其它示例是软判定度量。
[0099]如上所述,能够使用跨解码迭代的多个正确CRC校验而不是单个正确CRC校验作为停止迭代解码过程的准则。可保持成功和/或失败CRC校验的历史。通过执行多次校验,大大降低了不正确子块触发成功CRC校验的可能性。
[0100]在一示例实现中,可在执行任何解码操作前基于比特的估计来执行CRC校验,并且在传输块的每个子块上一次迭代后可执行另一 CRC校验。如果在两种情况下CRC均校验无误,则解码块极可能是正确的。如果CRC不是校验无误,则能继续解码设置优先级的子块的过程以及CRC的重复校验。多次正确的连续CRC校验例如可用作停止迭代解码过程的准则。
[0101]图10是可用于实现用于带有CRC的块的迭代解码的实施例的示例装置1002的框图1000。如图所示,框图1000包括两个装置1002(1)和1002(2)、人-装置接口设备1012及一个或多个网络1016。如通过装置1002(1)明确示出的,每个装置1002可包括至少一个处理器1004、一个或多个媒体1006、一个或多个输入/输出接口 1008及至少一个互连1014。媒体1006可包括处理器可执行指令1010。网络1016可以例如但不限于是因特网、内部网、以太网、公共网络、专用网络、电缆网络、数字订户线(DSL)网络、电话网络、有线网络、无线网络、其某个组合等等。装置1002(1)和装置1002(2)可通过网络1016通信。
[0102]对于示例实施例,装置1002可表示任何具处理能力的装置。处理器1004可以使用任何适用的具处理能力的技术来实现,并且可实现为通用或专用处理器。示例包括但不限于中央处理单元(CPU)、数字信号处理器(DSP)、微处理器、其某个组合等等。媒体1006可以是作为装置1002的部分被包括和/或可由装置1002存取的任何可用媒体。它包括易失性和非易失性媒体、可移动和不可移动媒体、存储装置(例如存储器)和传送媒体(例如,无线或有线通信信道)、硬编码逻辑媒体(其可包括存储器)、其组合等等。媒体1006在它实施为物质的组成和/或制品时是有形媒体。
[0103]互连1014将装置1002的组件互连。互连1014可实现为总线或其它连接机制,并且可直接或间接将各种组件互连。I/o接口 1008包括(i)用于跨网络1016通信和/或监视的网络接口、(ii)用于在显示屏幕上显示信息的显示装置接口、(iii) 一个或多个人-装置接口等等。示例网络接口包括但不限于无线电或收发器(例如,传送器和/或接收器)、调制解调器、网卡、其某个组合等等。人-装置接口设备1012可以是键盘/小键盘、触摸屏、遥控器、鼠标或其它图形指点装置、屏幕、扬声器等等。人-装置接口设备1012可与装置1002集成在一起或分开。
[0104]通常,处理器1004能够运行、执行和/或以其它方式实现处理器可执行指令,如处理器可执行指令1010。媒体1006由一个或多个处理器可存取媒体组成。换而言之,媒体1006可包括可由处理器1004执行以通过装置1002实现功能的执行的处理器可执行指令1010。处理器可执行指令1010可实施为软件、固件、硬件、固定逻辑电路、其某一组合等等。处理器1004和媒体1006的处理器可执行指令1010可分开实现(例如,作为DSP执行代码)或集成(例如,作为专用集成电路(ASIC)的部分)。
[0105]在示例实现中,一个装置1002可包括传送装置202,另一装置1002可包括接收装置204 (图2的两者)。处理器可执行指令1010例如可包括图4的迭代解码器216。处理器可执行指令1010由处理器1004执行时,本文中描述的功能可得以实现。示例功能包括但不限于流程图500/800和算法600/700所示的那些功能以及与各种过程、方案等所示的特征有关的那些功能。
[0106]虽然示例实施例已在用于信道解码的迭代处理上下文中描述,但显然,迭代处理在有线和无线系统中的许多其它情况下进行。因此,本文中所述的原理也适用于这些其它情况。
[0107]本发明的不同实施例能提供一个或多个优点。通常,通过使得能够适当早期终止传输块的子块的迭代解码,可降低通信装置(例如,移动装置或基站)的复杂性。此外,由于早期终止,可实现例如涡轮解码过程的更快操作。早期终止能够允许实现更小的芯片面积和功耗。
[0108]图1A-10的装置、动作、特征、功能、方法、方案、数据结构、过程、组件等在分成多个框和其它元素的图形中示出。然而,描述和/或示出图1A-10的次序、互连、相互关系、布局等不要视为限制,并且任何数量的框和/或其它元素可以在任何方式中修改、组合、重新布置、增大、省略等以便为通过循环冗余校验的块的迭代解码实现一个或多个系统、方法、装置、媒体、设备、布置等。
[0109]虽然附图中显示且在上面的【具体实施方式】中描述了本发明的多个实施例,但应理解,本发明并不限于公开的实施例,因为在不脱离随附权利要求陈述和定义的本发明的范围的情况下,它也能够进行多种重新布置、修改和替代。
【权利要求】
1.一种用于解码包括多个子块的传输块的设备,所述多个子块的每个能够被迭代解码,其中所述传输块还包括所述传输块的整体上的单个循环冗余校验CRC ;所述设备包括: 在所述多个子块的特定子块上执行解码迭代的部件; 使用从所述特定子块上的解码迭代获得的解码比特和从所述多个子块的其它子块上的最近解码迭代获得的解码比特,校验用于所述传输块的整体的所述CRC的部件;以及如果所述CRC未校验无误,则在不同子块上执行解码迭代的部件, 其中,基于子块可靠性值来设置所述多个子块的优先级。
2.一种用于解码包括多个子块的传输块的方法,所述多个子块的每个能够被迭代解码,其中所述传输块还包括所述传输块的整体上的单个循环冗余校验CRC ;所述方法包括以下动作: 在所述多个子块的特定子块上执行解码迭代; 使用从所述特定子块上的解码迭代获得的解码比特和从所述多个子块的其它子块上的最近解码迭代获得的解码比特,校验用于所述传输块的整体的所述CRC ;以及如果所述CRC未校验无误,则在不同子块上执行解码迭代, 其中,基于子块可靠性值来设置所述多个子块的优先级。
3.一种用于迭代解码具有循环冗余校验CRC的传输块的方法,所述方法包括以下动作: 接收具有多个子块的传输块,所述传输块包括与所述多个子块相关联的CRC ; 在所述多个子块的一定数量的子块上执行解码迭代; 断定所述CRC相对于所述多个子块是否校验无误;以及 如果所述CRC未断定为校验无误,则在所述多个子块的至少一个不同子块上执行所述解码迭代, 其中,基于子块可靠性值来设置所述多个子块的优先级。
4.如权利要求3所述的方法,还包括以下动作: 在执行断定的动作前,在所述多个子块的每个子块上执行所述解码迭代至少一次。
5.如权利要求3所述的方法,其中用于在多个子块上执行解码迭代的动作的子块的所述数量等于一。
6.如权利要求3所述的方法,还包括以下动作: 如果所述CRC断定为校验无误,则宣布所述传输块有效。
7.如权利要求3所述的方法,还包括以下动作: 如果所述CRC断定为校验无误,则在一个或多个子块上重复执行所述解码迭代,直至确定CRC校验历史满足预定准则。
8.如权利要求7所述的方法,其中: 如果所述CRC校验无误预定的总次数,则确定所述CRC校验历史满足所述预定准则;或者 如果所述CRC校验无误预定的连续次数,则确定所述CRC校验历史满足所述预定准则。
9.如权利要求7所述的方法,还包括以下动作: 如果所述CRC校验历史未确定为满足所述预定准则,则宣布所述传输块无效。
10.如权利要求3所述的方法,还包括以下动作: 如果在所述多个子块的每个子块上执行预定次数的解码迭代而无所述CRC校验无误,则宣布所述传输块无效。
11.一种用于迭代解码具有循环冗余校验CRC的传输块的装置,所述装置包括: 接收器,接收具有多个子块的传输块,所述传输块包括与所述多个子块相关联的CRC ; 解码器,解码所述多个子块的子集;以及 至少一个处理器,编程为断定所述子集由所述解码器解码后所述CRC相对于所述多个子块是否校验无误,所述处理器编程为如果未断定所述CRC在每个子集后校验无误,则促使所述解码器继续迭代解码所述多个子块的其它子集, 其中所述处理器还编程为基于相应子块可靠性值来设置所述多个子块的相应子块的优先级。
12.如权利要求11所述的装置,其中所述解码器包括每解码周期执行两次解码操作的涡轮解码器。
13.如权利要求12所述的装置,其中所述涡轮解码器的每次迭代包括一次解码操作或两次解码操作。
14.如权利要求11所述的装置,其中所述处理器还编程为促使所述解码器响应所述子块可靠性值优先级设置而解码所述多个子块的子集。
15.如权利要求11所述的装置,其中所述处理器还编程为通过校验从所述多个子块的所述子集上的当前解码迭代和从对于所述多个子块的一个或多个其它子块的最近解码迭代来级联的解码比特,断定所述CRC相对于所述多个子块是否校验无误。
16.如权利要求11所述的装置,其中所述处理器还编程为重复解码所述多个子块的子集,直至确定CRC校验历史满足预定准则。
17.如权利要求16所述的装置,其中: 如果所述CRC校验无误预定的总次数,则确定所述CRC校验历史满足所述预定准则;或者 如果所述CRC校验无误预定的连续次数,则确定所述CRC校验历史满足所述预定准则。
18.一种用于迭代解码具有循环冗余校验CRC的传输块的设备,包括: 接收具有多个子块的传输块的部件,所述传输块包括与所述多个子块相关联的CRC,所述多个子块数量是“η”; 在所述多个子块的一定数量的子块上执行解码迭代的部件,所述数量大于零且少于“η” ; 断定所述CRC相对于所述多个子块是否校验无误的部件;以及如果所述CRC未断定为校验无误,则在所述多个子块的至少一个不同子块上执行所述解码迭代的部件, 其中,基于子块可靠性值来设置所述多个子块的优先级。
【文档编号】H04L1/00GK104202126SQ201410496300
【公开日】2014年12月10日 申请日期:2009年9月16日 优先权日:2008年9月19日
【发明者】R.拉梅什, H.库拉帕蒂, 郑荣富, K.巴拉钱德兰 申请人:爱立信电话股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1