解码装置及相关解码方法转让专利

申请号 : CN201410090977.7

文献号 : CN104052573B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 罗嘉明刘益彰李牧凡赖威谕吴威德

申请人 : 联发科技(新加坡)私人有限公司

摘要 :

本发明提供一种解码装置及解码方法。解码装置包含片上缓冲器、外部缓冲器接口及涡轮解码器。片上缓冲器用于缓冲欲被解码的每一代码块。外部缓冲器接口用于访问片外缓冲器。涡轮解码器用于解码从该片上缓冲器读取的特定代码块。除非该特定代码块的解码失败被标识,否则不将该特定代码块从该片上缓冲器通过该外部缓冲器接口传输至该片外缓冲器。本发明可现成本、功耗及系统性能的平衡。

权利要求 :

1.一种解码装置,其特征在于,该解码装置包含:

一片上缓冲器,用于缓冲欲被解码的每一代码块;

一外部缓冲器接口,用于访问一片外缓冲器;

一涡轮解码器,用于解码从该片上缓冲器读取的一特定代码块;

其中,除非该特定代码块的解码失败被标识,否则不将该特定代码块从该片上缓冲器通过该外部缓冲器接口传输至该片外缓冲器。

2.如权利要求1所述的解码装置,其特征在于,在一码字中具有专用的循环冗余校验序列的该特定代码块被储存至该片上缓冲器,以及该涡轮解码器依据该专用的循环冗余校验序列,通过验证该特定代码块的一迭代解码结果的正确性来检测是否发生该特定代码块的解码失败。

3.如权利要求1所述的解码装置,其特征在于,该解码装置还包含:一辅助硬判决循环冗余校验电路,用于编码多个硬判决输出,并相应地产生多个辅助硬判决循环冗余校验序列,以及参考该多个辅助硬判决循环冗余校验序列来检测该特定代码块的解码失败是否发生,其中该多个硬判决输出分别来源于由该涡轮解码器对该特定代码块执行的多个解码迭代。

4.如权利要求3所述的解码装置,其特征在于,当具有相同的辅助硬判决循环冗余校验序列的该特定代码块没有连续的解码迭代时,该辅助硬判决循环冗余校验电路标识该特定代码块的解码失败。

5.如权利要求3所述的解码装置,其特征在于,该解码装置还包含:一异常处理电路,用于检测一误报警条件来决定是否开启该辅助硬判决循环冗余校验电路;

其中,当满足该误报警条件时,关闭该辅助硬判决循环冗余校验电路。

6.如权利要求5所述的解码装置,其特征在于,该特定代码块为一传输块的一部分;以及该异常处理电路比较该传输块相关的一码率与一预定阈值,并至少当该码率高于该预定阈值时,判定满足该误报警条件。

7.如权利要求5所述的解码装置,其特征在于,该特定代码块为一传输块的一部分;以及该异常处理电路比较一均衡器信噪比与一发射器信噪比,并至少当该均衡器信噪比低于该发射器信噪比时,判定满足该误报警条件,其中,该均衡器信噪比表示一均衡器输出的信噪比,以及该发射器信噪比表示该传输块可被成功解码的信号品质。

8.如权利要求5所述的解码装置,其特征在于,该特定代码块为一传输块的一部分,该传输块在一码字中具有专用的循环冗余校验序列;该涡轮解码器依据该专用的循环冗余校验序列,通过验证该传输块的一解码结果的正确性来检测是否发生该传输块的解码失败;

以及当该辅助硬判决循环冗余校验电路指示该传输块中的特定代码块都没有解码失败且该涡轮解码器指示该传输块有解码失败时,该异常处理电路判定满足该误报警条件。

9.如权利要求8所述的解码装置,其特征在于,当判定满足该误报警条件时,该辅助硬判决循环冗余校验电路还为该传输块触发一混合自动重传请求过程重新开始。

10.一种解码方法,其特征在于,该解码方法包含:

利用一片上缓冲器来缓冲欲被解码的每一代码块;

执行一涡轮解码操作来解码从该片上缓冲器读取的一特定代码块;以及仅当标识该特定代码块的解码失败时,将该特定代码块从该片上缓冲器通过一外部缓冲器接口传输至一片外缓冲器。

11.如权利要求10所述的解码方法,其特征在于,在一码字中具有专用的循环冗余校验序列的该特定代码块被储存至该片上缓冲器,以及该涡轮解码操作依据该专用的循环冗余校验序列,通过验证该特定代码块的一迭代解码结果的正确性来检测是否发生该特定代码块的该解码失败。

12.如权利要求10所述的解码方法,其特征在于,该解码方法还包含:通过以下步骤执行一辅助硬判决循环冗余校验操作:

编码多个硬判决输出,并相应地产生多个辅助硬判决循环冗余校验序列,该多个硬判决输出分别来源于由该涡轮解码器对该特定代码块执行的多个解码迭代;以及参考该多个辅助硬判决循环冗余校验序列来检测该特定代码块的解码失败是否发生。

13.如权利要求12所述的解码方法,其特征在于,当具有相同辅助硬判决循环冗余校验序列的该特定代码块没有连续的解码迭代时,该特定代码块的该解码失败被标识。

14.如权利要求12所述的解码方法,其特征在于,该解码方法还包含:检测一误报警条件来判定是否执行该辅助硬判决循环冗余校验操作;

其中,当满足该误报警条件时,不执行该辅助硬判决循环冗余校验操作。

15.如权利要求14所述的解码方法,其特征在于,该特定代码块为一传输块的一部分;

以及检测该误报警条件的步骤包含:

比较该传输块相关的一码率与一预定阈值;以及

至少当该码率高于该预定阈值时,判定满足该误报警条件。

16.如权利要求14所述的解码方法,其特征在于,该特定代码块为一传输块的一部分;

以及检测该误报警条件的步骤包含:

比较一均衡器信噪比与一发射器信噪比,其中,该均衡器信噪比表示一均衡器输出的信噪比,以及该发射器信噪比表示该传输块可被成功解码的信号品质;以及至少当该均衡器信噪比低于该发射器信噪比时,判定满足该误报警条件。

17.如权利要求14所述的解码方法,其特征在于,该特定代码块为一传输块的一部分,该传输块在一码字中具有专用的循环冗余校验序列;该涡轮解码操作依据该专用的循环冗余校验序列,通过验证该传输块的一解码结果的正确性来检测是否发生该传输块的解码失败;以及检测该误报警条件的步骤包含:当指示该传输块中的特定代码块都没有解码失败且该涡轮解码操作指示该传输块有解码失败时,判定满足该误报警条件。

18.如权利要求17所述的解码方法,其特征在于,该解码方法还包含:当判定满足该误报警条件时,为该传输块触发一混合自动重传请求过程重新开始。

19.一种解码方法,其特征在于,该解码方法包含:

对一特定代码块执行一涡轮解码操作,该特定代码块为一传输块的一部分,该特定代码块在一码字中具有专用的循环冗余校验序列,其中该涡轮解码操作还依据该专用的循环冗余校验序列,验证该特定代码块的一迭代解码结果的正确性;

通过以下步骤执行一辅助硬判决循环冗余校验操作:

编码多个硬判决输出,并相应地产生多个辅助硬判决循环冗余校验序列,该多个硬判决输出分别来源于由该涡轮解码操作对该特定代码块执行的多个解码迭代;以及参考该多个辅助硬判决循环冗余校验序列来验证该特定代码块的该迭代解码结果的正确性;以及依据该涡轮解码操作及该辅助硬判决循环冗余校验操作指示的验证结果,检测该特定代码块的一解码失败是否发生,以及仅当标识该特定代码块的解码失败时,启动一外部缓冲器接口为有效状态。

20.一种解码方法,其特征在于,该解码方法包含:

对一第一传输块执行一涡轮解码操作,该第一传输块包含多个代码块;

检测这些代码块的一特定代码块的一解码失败是否发生;以及

当该特定代码块的该解码失败被标识时,控制该涡轮解码操作停止解码该第一传输块的每一后续代码块,以及仅当标识该特定代码块的解码失败时,启动一外部缓冲器接口为有效状态。

21.如权利要求20所述的解码方法,其特征在于,该解码方法还包含:对一第二传输块执行该涡轮解码操作,该第二传输块包含多个代码块,其中在相同的传输时间间隔内传输该第一传输块及该第二传输块;以及当该特定代码块的该解码失败被标识时,调整一最大允许迭代次数,并依据该调整的最大允许迭代次数来控制该涡轮解码操作来解码该第二传输块的至少一个代码块。

说明书 :

解码装置及相关解码方法

【技术领域】

[0001] 本发明关于解码代码块(code block)的解码装置及相关解码方法,尤其关于一种通过使用涡轮解码来解码代码块的解码装置及其相关解码方法。【背景技术】
[0002] 数据信号,尤其是在典型的具干扰性信道(hostile channel)上传输的数据信号,易受信道噪声/干扰的影响。为了将具干扰性信道对已传输数据完整性的不利影响最小化,已经发展了各种纠错编码(error correction coding)方式。这也被称为降低误比特率(bit error rate,BER),其通常被定义为错误地已接收信息与已接收信息比特总数之比。纠错编码通常涉及到以关于误比特具有鲁棒性的设计方式来表示数字数据。因此,纠错编码可使通信系统从信号中恢复原始数据,该信号由于不想要的信道噪声/干扰已经被损坏。
举例来说,在通信系统(例如,宽频码分多址(Wideband Code Division Multiple Access,WCDMA)系统及长期演进(Long Term Evolution,LTE)系统中可使用涡轮码来信道编码。
[0003] 当解码代码块(code block)/传输块(transport block)时,涡轮解码器遭遇解码失败(decoding fail)是有可能的。当发生解码失败时,混合自动重传请求(hybrid automatic repeat request,HARQ)机制可为有效的(active)状态。HARQ机制为结合自动重发请求(automatic repeat request,ARQ)及前向纠错(forward error correction,FEC)的传输技术,每当检测到数据错误时,通过请求重传并结合新的传输与先前传输以在无线信道中具有更高的可靠性。也就是说,HARQ机制重传之后利用错误数据的信息。由于其卓越的可靠性,HARQ机制成为通信系统的重要部分。尽管性能优势非常引人注目,但是实现HARQ机制对于高吞吐量通信系统来说是一个挑战。具体而言,需要在HARQ缓冲器中储存大量的数据。通常,数据被储存在成本较低的外部共享HARQ存储器,而不是昂贵的内部专用(dedicated)HARQ存储器。也就是说,传统接收器设计将欲解码的每一代码块储存至外部HARQ存储器。然而,相较于从内部HARQ存取器读取数据及向内部HARQ存储器写入数据而言,从外部共享HARQ存储器读取数据及向外部共享HARQ存储器写入数据会需要较高功耗。此外,外部共享HARQ存储器可以是片外存储器(例如,动态随机存取存储器(dynamic random access memory)),其也被其他硬件组件用来数据缓冲。因此,HARQ机制不得不与其他硬件组件竞争来访问片外存储器的共享存储器总线。当共享存储器总线忙时,频繁访问片外存储器来读取/写入HARQ数据会降低性能。
[0004] 此外,当解码传输块时,传统涡轮解码器通常通过使用固定的迭代次数来解码每一代码块。然而,使用固定的迭代次数会对较低吞吐量通信系统造成性能损失,对较高吞吐量通信系统造成设计困难。虽然传统涡轮解码器会采用基于提前终止(early termination)的代码块来跳过剩余的迭代,以提前停止代码块的迭代解码程序,但这对于低功耗接收器设计来说并不够。
[0005] 因此,有需要提出一种创新的解码器设计,能够实现成本、功耗及系统性能的平衡和性能提升。【发明内容】
[0006] 有鉴于此,有必要提供一种解码装置及其相关的解码方法,以解决上述问题。
[0007] 依据本发明第一实施例,提供一种示范性解码装置。该示范性解码装置包含片上缓冲器、外部缓冲器接口及涡轮解码器。片上缓冲器用于缓冲欲被解码的每一代码块。外部缓冲器接口用于访问片外缓冲器。涡轮解码器用于解码从该片上缓冲器读取的特定代码块。除非该特定代码块的解码失败被标识,否则不将该特定代码块从该片上缓冲器通过该外部缓冲器接口传输至该片外缓冲器。
[0008] 依据本发明第二实施例,提供一种示范性解码方法。该示范性解码方法包含:利用一片上缓冲器来缓冲欲被解码的每一代码块;执行一涡轮解码操作来解码从该片上缓冲器读取的一特定代码块;以及仅当标识该特定代码块的解码失败时,将该特定代码块从该片上缓冲器通过一外部缓冲器接口传输至一片外缓冲器。
[0009] 依据本发明第三实施例,提供一种示范性解码方法。该示范性解码方法包含:对一特定代码块执行一涡轮解码操作,该特定代码块在一码字中具有专用的循环冗余校验序列,其中该涡轮解码操作还依据该专用的循环冗余校验序列,验证该特定代码块的一迭代解码结果的正确性;通过以下步骤执行一辅助硬判决循环冗余校验操作:编码多个硬判决输出,并相应地产生多个辅助硬判决循环冗余校验序列,这些硬判决输出分别来源于由该涡轮解码操作对该特定代码块执行的多个解码迭代;以及参考这些辅助硬判决循环冗余校验序列来验证该特定代码块的该迭代解码结果的正确性;以及依据该涡轮解码操作及该辅助硬判决循环冗余校验操作指示的验证结果,检测该特定代码块的一解码失败是否发生。
[0010] 依据本发明第四实施例,提供一种示范性解码方法。该示范性解码方法包含:对一第一传输块执行一涡轮解码操作,该第一传输块包含多个代码块;检测这些代码块的一特定代码块的一解码失败是否发生;以及当该特定代码块的该解码失败被标识时,控制该涡轮解码操作停止解码该第一传输块的每一后续代码块。
[0011] 上述解码装置及解码方法可降低功耗。【附图说明】
[0012] 图1为依据本发明第一实施例的解码装置的方块图。
[0013] 图2为依据本发明实施例的TTI提前终止(一个TTI内执行的提前终止)及外部缓冲器接口作业减少的示意图。
[0014] 图3为依据本发明实施例的自适应迭代机制的示意图。
[0015] 图4为依据本发明另一实施例的自适应迭代机制的示意图。
[0016] 图5为依据本发明第二实施例的解码装置的示意图。
[0017] 图6为依据本发明实施例的图5所示解码装置的第一操作情境的示意图。
[0018] 图7为依据本发明实施例的图5所示解码装置的第二操作情境的示意图。
[0019] 图8为依据本发明实施例的图5所示解码装置的第三操作情境的示意图。
[0020] 图9为依据本发明第一实施例通过预解码方式检测误报警条件的方法的流程图。
[0021] 图10为依据本发明第二实施例通过预解码方式检测误报警条件的方法的流程图。
[0022] 图11为依据本发明第三实施例通过预解码方式检测误报警条件的方法的流程图。
[0023] 图12为依据本发明实施例通过后解码方式检测误报警条件的方法的流程图。
[0024] 图13为依据本发明第三实施例的解码装置的方块图。【具体实施方式】
[0025] 在说明书及权利要求当中使用了某些词汇来指称特定的元件。本领域中技术人员应可理解,电子装置制造商可能会用不同的名词来称呼同一个元件。本说明书及权利要求并不以名称的差异来作为区分元件的方式,而是以元件在功能上的差异来作为区分的准则。在通篇说明书及权利要求当中所提及的“包含”为开放式的用语,故应解释成“包含但不限定于”。以外,“耦接”一词在此包含任何直接及间接的电气连接手段。因此,若文中描述第一装置耦接到第二装置,则代表该第一装置可直接电气连接于该第二装置,或通过其他装置或连接手段间接地电气连接至该第二装置。
[0026] 图1为依据本发明第一实施例的解码装置的方块图。在遵守特定通信协议(communications specification)(例如LTE协议)的通信系统中可使用解码装置100,该特定通信协议指定每一码字中的传输块具有专用的循环冗余校验(cyclic redundancy check,CRC)序列,以及传输块的每一代码块也具有专用的CRC序列。如图1所示,解码装置100包含涡轮解码器102、片上缓冲器(on-chip buffer)104、外部缓冲器接口(external buffer interface)106、片外缓冲器108、组合电路110、总线开关111、压缩电路112、解压缩电路114以及校准电路(scaling circuit)116。应注意的是,取决于实际设计考虑/需求,压缩电路112、解压缩电路114以及校准电路116为可选择的。具体地,当实施压缩电路112及解压缩电路114时,可有效地降低外部缓冲器接口106与片外缓冲器108之间的数据处理(data transaction)量,从而缓和外部缓冲器接口106与片外缓冲器108之间的总线109的带宽需求。当采用校准电路116时,可降低欲由涡轮解码器102解码的软比特(soft bit)的比特大小,从而降低芯片面积(die size)。由于本发明集中专注在应用到外部缓冲器接口106及/或涡轮解码器102的自适应控制上,因此压缩电路112、解压缩电路114及校准电路116的进一步描述在此省略以求简洁。
[0027] 解码装置100接收来自前级,例如接收器前端(未图示)的调制解调器(MODEM)软输入SOFT_IN。当HARQ机制对于解码失败的特定代码块为有效状态时,组合电路110将重传(即特定代码块的当前接收到的MODEM软输入SOFT_IN)与先前传输(即特定代码块的先前接收到的MODEM软输入SOFT_IN)组合,以产生MODEM软输入SOFT_IN的组合版本至其后的片上缓冲器104上。当进入的MODEM软输入SOFT_IN为之前未被解码的特定代码块时,组合电路110旁路(bypass)当前接收到的MODEM软输入SOFT_IN而不进行重传组合,SOFT_IN输入至组合电路110后的片上缓冲器104。片上缓冲器104用于暂时储存包含在欲解码的传输块中的每一代码块。涡轮解码器102因而解码从片上缓冲器104读取的每一代码块。
[0028] 在此实施例中,传输块的每一代码块具有专用的CRC序列,涡轮解码器102能够判断当前解码的代码块是否有未能通过CRC检验的解码失败。应注意的是,除非代码块的解码失败被标识,否则代码块不通过外部缓冲器接口106从片上缓冲器104传输至片外缓冲器108。也就是说,不要求解码装置100将片上缓冲器104中缓冲的任何代码块传输至片外缓冲器108。相反,仅当标识代码块的解码失败时,解码装置100通过外部缓冲器接口106从片上缓冲器104传输代码块至片外缓冲器108。举例来说,但不作为限制,片上缓冲器104可为静态随机存取存储器(static random access memory,SRAM),其放置在涡轮解码器102所在芯片之内,片外缓冲器108可为动态随机存取存储器(dynamic random access memory,DRAM),其放置在涡轮解码器102所在芯片之外,以及外部缓冲器接口106可为芯片的外部存储器接口(external memory interface,EMI)。在此实施例中,涡轮解码器102控制总线开关111,以开启(enable)或关闭(disable)片上缓冲器104与片外缓冲器108之间的代码块传输。然而,这仅用于说明目的。实际上,解码装置100可使用能开启/关闭片上缓冲器104与片外缓冲器108之间的代码块传输/HARQ数据传输的任意方法。
[0029] 由于片上缓冲器104与片外缓冲器108之间的代码块传输/HARQ数据传输消耗了大量的功率,且本发明中只有未通过CRC检验的代码块(即错误的代码块)被要求发送至HARQ存储器(即片外缓冲器108)用于将来的处理/解码,所以整体系统功耗可因为本发明所提出的外部缓冲器接口作业减少(activity reduction)而被降低。应注意的是,HARQ处理,包含重传及组合,被应用至仅储存在片外缓冲器108中的错误代码块。
[0030] 此外,可采用本发明提出的传输时间间隔(transmission time interval,TTI)提前终止(early-termination,ET)机制来进一步降低整体系统功耗。具体地,欲被解码的传输块包含多个代码块,其在一个TTI中被传输,且这些代码块被连续传输至片上缓冲器104。当传输块的特定代码块的解码失败被CRC检验标识时,涡轮解码器102停止解码相同传输块的任何后续代码块。换句话说,因应使用代码块CRC检验检测到的代码块解码失败,在一个TTI中传输的一个传输块的解码操作被提前停止。
[0031] 此外,涡轮解码器102直接标识相同传输块的任何后续代码块的解码失败。因此,相同传输块的任何后续代码块通过外部缓冲器接口106,也从片上缓冲器104传输至片外缓冲器108。因为对于还没被解码的任何后续代码块不执行解码操作,采用本发明提出的TTI提前终止机制的涡轮解码器102可具有较低功耗。应注意的是,相同传输块中最后一个通过CRC检验的代码块的CRC内容会被储存以用于将来的处理。
[0032] 简单地说,根据本发明提出的TTI提前终止机制,当当前代码块的解码达到最大允许迭代次数(maximum allowed iteration number)而仍然未能通过CRC检验,或当前代码块的解码由于先前代码块的CRC检验失败而提前终止时,当前代码块的解码失败由涡轮解码器102标识。
[0033] 请参考图2,其为依据本发明实施例的TTI提前终止(一个TTI内执行的提前终止)及外部缓冲器接口作业减少的示意图。假设一个当前TTI中传输的码字/传输块包含九个依次传输的代码块CB0-CB8。因此,如果TTI提前终止不是有效的,则要求涡轮解码器102顺序解码代码块CB0-CB8。所以,首先涡轮解码器102为有效的,读取来自片上缓冲器104的第一代码块CB0,并根据较高层最初指示的最大允许迭代次数,对代码块CB0执行迭代解码(iterative decoding)。在此范例中,当迭代解码操作执行的迭代次数达到最大允许迭代次数时或在此之前,代码块CB0的解码结果成功通过CRC检验。由于代码块CB0的解码没有解码失败,意味着代码块CB0可被涡轮解码器102正确解码,且代码块CB0不需要片上缓冲器104与片外缓冲器108之间的HARQ数据处理。因此,外部缓冲器接口106(例如,EMI)保持不活动(inactive)状态以用于节省功率目的。
[0034] 由于代码块CB0的解码没有解码失败,涡轮解码器102仍然有效以读取来自片上缓冲器104的后续代码块CB1,并依据最大允许迭代次数对代码块CB1执行迭代解码。在此范例中,当迭代解码操作执行的迭代次数达到最大允许迭代次数时或在此之前,代码块CB1的解码结果成功通过CRC检验。由于代码块CB1的解码没有解码失败,意味着代码块CB1可被涡轮解码器102正确解码,且代码块CB1不需要片上缓冲器104与片外缓冲器108之间的HARQ数据处理。因此,外部缓冲器接口106(例如,EMI)仍然保持不活动状态。
[0035] 类似地,由于代码块CB1的解码没有解码失败,涡轮解码器102仍然有效以读取来自片上缓冲器104的后续代码块CB2,并依据最大允许迭代次数对代码块CB2执行迭代解码。在此范例中,当迭代解码操作执行的迭代次数已达到最大允许迭代次数时,代码块CB2的解码结果不能通过CRC检验。换句话说,CB2的CRC检验失败发生了。由于代码块CB2的解码有解码失败(即CRC检验失败),意味着代码块CB2不可被涡轮解码器102正确地解码,代码块CB2需要片上缓冲器104与片外缓冲器108之间的HARQ数据处理。因此,启动外部缓冲器接口106(例如,EMI)为有效状态,用于从片上缓冲器104传输代码块CB2至片外缓冲器108。
[0036] 由于CRC检验失败发现代码块CB2有解码失败,在一个TTI内传输的相同码字/传输块随后的代码块CB3-CB8的解码被提前终止,并认为有解码失败。因此,涡轮解码器102不需要解码随后的代码块CB3-CB8,并对于随后的代码块CB3-CB8,涡轮解码器102进入不活动状态。此外,外部缓冲器接口106(例如,EMI)保持有效状态用于从片上缓冲器104传输代码块CB3-CB8至片外缓冲器108,由于TTI提前终止(TTI EI),直接认为代码块CB3-CB8有解码失败。
[0037] 当解码代码块时,涡轮解码器102持续执行迭代解码操作,直到解码结果通过CRC检验(当迭代解码操作执行的迭代次数达到最大允许迭代次数时或在此之前)或解码结果未能通过CRC检验(当迭代解码操作执行的迭代次数达到最大允许迭代次数时)。在一个TTI内传输多个码字/传输块是可能的。举例来说,为了支持多个物理下行共享信道(Physical Downlink Shared Channel,PDSCH),在一个TTI内可传输四个码字CW1,CW2,CW3,CW4,其中CW1/CW2具有13个代码块,以及CW3/CW4具有1个代码块。本发明还提出使用自适应迭代设计来提升整体解码性能,该设计动态地调整最大允许迭代次数。举例来说,片上缓冲器104用于缓冲欲被解码的第一传输块的多个代码块,以及缓冲欲被解码的第二传输块的多个代码块,其中第一码字包含第一传输块及有关CRC信息,以及第二码字包含第二传输块及有关CRC信息,第一码字及第二码字都在相同TTI内被传输。当第一传输块的特定代码块的解码失败被标识时,涡轮解码器102可调整最大允许迭代次数,接着依据调整的最大允许迭代次数来解码第二传输块的至少一个代码块。具体地,会增加最大允许迭代次数以提高获得正确解码结果的可能性。当一个传输块中的代码块的解码提前终止时,会分配计算资源以增加的最大允许迭代次数去解码另一传输块的代码块,该计算资源最初是被分配去解码这些提前终止代码块的,因此,提升了另一传输块的代码块的解码性能。实际上,最大允许迭代次数Niter取决于涡轮解码器的计算能力。因此,在一个TTI内欲解码的代码块数量控制着最大允许迭代次数Niter。举例来说,但并非作为限制,该最大允许迭代次数Niter可由以下等式设置:
[0038] Niter=min(32,floor(16*26/TC))
[0039] 其中,floor()函数表示无条件舍去小数点后的位数,TC表示每一TTI内的总代码块数量(即,没有提前终止且在一个TTI内仍要求被解码的代码块数量),以及假定涡轮编码器每一TTI内运行16*26次半迭代,每一代码块最大为32次半迭代。举例来说,当通信系统以150Mbps运行且在一个TTI内传输四个码字(即CW=4(13,13,1,1),其中CW1/CW2具有13个代码块,且CW3/CW4具有1个代码块)时,因为TC=28,所以Niter=14。当通信系统以100Mbps运行且在一个TTI内传输四个码字(即CW=4(9,9,1,1),其中CW1/CW2具有9个代码块,且CW3/CW4具有1个代码块)时,因为TC=20,所以Niter=20。当通信系统以100Mbps运行且在一个TTI内传输两个码字(即CW=2(9,9),其中CW1/CW2具有9个代码块)时,因为TC=18,所以Niter=23。
简单来说,低吞吐量会在低信噪比(signal-to-noise,SNR)时使用较大的最大允许迭代次数(例如32),而高吞吐量会在高信噪比时使用较小的最大允许迭代次数(例如14)。简单来说,由传输块配置及解码过程的状态来自适应地决定最大允许迭代次数。
[0040] 请参考图3,其为依据本发明实施例的自适应迭代机制的示意图。在图3范例中,系统以100Mbps运行,在一个TTI内传输四个码字(即CW=4(9,9,1,1))。解码序列由箭头符号说明。由图3可以看到,由于CRC检验失败,码字CW2的第5个代码块发生了解码失败。因此,码字CW2的后续代码块的解码提前终止。此外,由于TTI提前终止,也认为码字CW2的后续代码块有代码失败。最初,最大允许迭代次数设置为20。当码字CW2的第5个代码块的解码失败被标识时,涡轮解码器102调整最大允许迭代次数,接着依据调整的最大允许迭代次数(即Niter=32)来解码码字CW1的代码块。
[0041] 请参考图4,其为依据本发明另一实施例的自适应迭代机制的示意图。在图4的范例中,系统以100Mbps运行,在一个TTI内传输两个码字(即CW=2(9,9))。解码序列由箭头符号说明。由图4可以看到,由于CRC检验失败,码字CW2的第5个代码块发生了解码失败。因此,码字CW2的后续代码块的解码提前终止。此外,由于TTI提前终止,也认为码字CW2的后续代码块有代码失败。最初,最大允许迭代次数设置为23。当码字CW2的第5个代码块的解码失败被标识时,涡轮解码器102调整最大允许迭代次数,接着依据调整的最大允许迭代次数(即Niter=32)来解码码字CW1的第6个代码块及第7个代码块。由图4可以看到,由于CRC检验失败,码字CW1的第7个代码块发生了解码失败。因此,码字CW1的后续代码块的解码提前终止,由于TTI提前终止,也认为码字CW1的后续代码块有代码失败。应注意的是,在这个时候,由于TTI提前终止,码字CW1及码字CW2都没有等待被解码的代码块,最大允许迭代次数被设置为零以跳过当前TTI内的解码程序。
[0042] 如上所述,都基于代码块解码失败的标识来控制所提出的TTI提前终止、外部缓冲器接口作业减少、以及自适应迭代机制。当每一代码块有专用的CRC序列时,发生CRC检验失败时很容易标识代码块的解码失败。然而,在没有提供专用的CRC序列给每一代码块的情况中,需要一种创新的解码失败标识机制。因此本发明提出使用辅助硬判决(hard decision aided,HDA)CRC序列作为指示器来指示已解码代码块的正确性。进一步细节描述如下。
[0043] 图5为依据本发明第二实施例的解码装置的示意图。解码装置500接收来自前级,例如前端501的MODEM软输入SOFT_IN。举例来说,MODEM软输入SOFT_IN可来源于均衡器(equalizer,EQ)502的输出。解码装置100和500的主要区别在于,解码装置500还包含HDA CRC电路504及异常处理(exception handling)电路506。解码装置500可被应用在遵循特定通信协议(例如WCDMA协议)的通信系统中,该特定通信协议规定码字中的每一传输块具有专用的CRC序列,且传输块的每一代码块没有专用的CRC序列。因此,涡轮解码器508对已解码的传输块执行CRC检验,而对已解码的每一代码块不执行CRC检验。HDA CRC电路504用于编码多个硬判决输出,并相应地为代码块产生多个HADCRC序列,这些硬判决输出分别来源于由涡轮解码器508对代码块执行的多个解码迭代;以及参考HDA CRC序列来检测代码块的解码失败是否发生。具体地,由于相同的连续HDA CRC序列与代码块的正确性高度相关联,当具有相同HDACRC序列的代码块没有连续的解码迭代时,HDA CRC电路504可标识代码块的解码失败。举例来说,当通过编码两个连续的解码迭代获得的HDA CRC序列相同时,HDA CRC电路504判决代码块被正确地解码。另外,当未达到最大允许迭代次数且获得相同的连续HDA CRC序列时,代码块的解码操作可提前终止以跳过任意后续的解码迭代。
[0044] 即使没有提供专用的CRC序列给每一代码块,但是可借助于HDA CRC序列来标识代码块的解码失败,该HDA CRC序列通过对代码块解码迭代的硬判决输出进行编码来获得。用这种方法,在用于检测代码块解码失败的HDA CRC序列的帮助下,解码装置500仍可采用一个或多个上述TTI提前终止、外部缓冲器接口作业减少及自适应迭代机制,用于性能提升及/或功耗降低。也就是说,因为可通过使用HDA CRC序列来验证已解码的每一代码块的正确性,所以解码装置500可像解码装置100那样运行,以得益于上述TTI提前终止、外部缓冲器接口作业减少及/或自适应迭代机制。
[0045] 图6为依据本发明实施例的图5所示解码装置500的第一操作情境的示意图。假设采用CRC-24算法来产生24比特的HDA CRC序列,用于代码块的每一个解码迭代。关于传输块的第一代码块,两个连续解码迭代(即第6次迭代及第7次迭代)的HDA CRC序列相同。因此,第一代码块的解码结果的正确性被标识。由于没有发现第一代码块的解码失败,外部缓冲器接口作业减少为有效状态,如此一来,不需要开启外部缓冲器接口106(例如,EMI)来将片上缓冲器104中的第一代码块传输至片外缓冲器108;此外,TTI提前终止不是有效的状态,且自适应迭代不是有效的状态。由图6可见,相同传输块的后续代码块没有发现解码失败。因此,在传输块的解码程序期间,涡轮解码器508保持有效,外部缓冲器接口106保持不活动状态,以及涡轮解码器508最初采用的用于当前传输块的最大允许迭代次数保持不变。在此实施例中,传输块的解码结果通过CRC检验。因此,对于已正确解码的传输块的任意代码块,不需要HARQ处理来执行重传及组合。本领域的技术人员在阅读了上述段落后,可轻易理解TTI提前终止、外部缓冲器接口作业减少及自适应迭代机制的工作原理,进一步的描述在此省略以求简洁。
[0046] 图7为依据本发明实施例的图5所示解码装置500的第二操作情境的示意图。假设采用CRC-24算法来产生24比特的HDA CRC序列,用于代码块的每一个解码迭代。关于传输块的第一代码块,两个连续解码迭代(即第6次迭代及第7次迭代)的HDA CRC序列相同。类似地,关于传输块的第二代码块,两个连续解码迭代(即第4次迭代及第5次迭代)的HDA CRC序列相同。因此,通过相同的连续HDA CRC序列来标识第一代码块及第二代码块的解码结果的正确性。由于没有发现第一代码块/第二代码块的解码失败,外部缓冲器接口作业减少为有效的状态,如此一来,不需要开启外部缓冲器接口106来将片上缓冲器104中的第一代码块/第二代码块传输至片外缓冲器108;此外,TTI提前终止不是有效的状态,且自适应迭代不是有效的状态。然而,关于第三代码块,当达到最初设定用于当前TTI的最大允许迭代次数(即Niter=8)时,没有具有相同HDA CRC序列的连续解码迭代。因此,HDA CRC电路504判定涡轮解码器508没有正确地解码第三代码块,从而由于HDA CRC检验失败,标识第三代码块的解码失败。由于检测到解码失败,HDA CRC电路504控制总线开关111以允许将第三代码块暂时储存在片上缓冲器104中,该第三代码块通过外部缓冲器接口106传输至片外缓冲器108,并进一步通知涡轮解码器508开启TTI提前终止及/或自适应迭代。由图7可见,由于TTI提前终止,认为相同传输块的后续代码块(即第四至第六代码块)有解码错误,因此涡轮解码器508停止/跳过解码后续代码块。此外,如果在相同TTI内传输多于一个码字且另一码字仍然有欲解码的代码块,涡轮解码器508可调整其最初采用的最大允许迭代次数,以增强另一码字的代码块的解码性能。
[0047] 本发明提出使用HDA CRC序列来验证没有专用的CRC序列的代码块的正确性,该HDA CRC序列由对解码迭代的硬判决结果进行编码所产生,该代码块包含在从发射器产生并传输的码字中。因此,在某种情况下(例如,通信系统以高码率低信噪比运行的概率极小的情况),会发生HDA CRC误报警(false alarm)。请参考图8,其为依据本发明实施例的图5所示解码装置500的第三操作情境的示意图。当检测到相同的连续HDA CRC序列时,HDA CRC电路504判定获得正确解码的码字。然而,在由涡轮解码器508处理的代码块仍然包含错误比特但是由HDA CRC电路504产生相同的连续HDA CRC序列的情况下,会发生HDA CRC误报警。如图8所示,来源于编码第二码字的正确硬判决结果的HDA CRC序列应该为0x3EBAD0而不是0x51DEAF。由于相同的两个连续HDA CRC序列0x51DEAF,第二代码块的迭代解码操作在第5次迭代时提前停止,所以不能从涡轮解码器508产生正确的码字。因此,尽管HDA CRC电路504判定相同传输块中的每一代码块已被正确解码为零误差(error-free),但是整体传输块的解码结果不能通过CRC检验,该CRC检验使用添加到传输块的专用的CRC序列,意味着已解码的传输块仍然有某些误差比特。如果不移除这样的HDA CRC误报警,在HARQ处理中传输块会一直遭遇解码失败。为了解决HDA CRC误报警问题,本发明提出使用异常处理电路506实现的误报警处理机制。具体地,异常处理电路506用于通过检测误报警条件选择性地开启或关闭HDA CRC电路504,其中当满足误报警条件时,关闭HDA CRC电路504。举例来说,但不作为限制,使用预解码方式及/或后解码方式可检测误报警条件。进一步细节描述如下。
[0048] 图9为依据本发明第一实施例通过预解码方式检测误报警条件的方法的流程图。在步骤902,在涡轮解码器508开始解码传输块之前,异常处理电路506比较传输块相关的码率CR与预定阈值TH。可定义码率CR为传输块比特与物理信道比特之比。在极高码率的情况中,由于添加至传输块的相对较短的CRC序列,HDA CRC误报警可能性很高。在一示范性设计中,预定阈值TH可被设定为9.5。因此,当异常处理电路506发现码率CR高于预定阈值TH(即满足误报警条件)时,由异常处理电路506关闭HDA CRC电路504(步骤904及906)。因此,在传输块的解码程序期间,解码装置500保持总线开关111接通,以用于通过外部缓冲器接口106从片上缓冲器104将传输块的每一代码块传输至片外缓冲器108,用于进一步处理/解码,并且涡轮解码器508既不开启TTI提前终止,也不开启自适应迭代。当异常处理电路506发现码率CR不高于预定阈值TH(即不满足误报警条件)时,由异常处理电路506开启HDA CRC电路
504(步骤904及908)。因此,在传输块的解码程序期间,允许本发明所提出的TTI提前终止、外部缓冲器接口作业减少及自适应迭代机制至少之一为活动状态。
[0049] 图10为依据本发明第二实施例通过预解码方式检测误报警条件的方法的流程图。在步骤1002,在涡轮解码器508开始解码传输块之前,异常处理电路506比较均衡器信噪比(EQ SNR)与发射器信噪比(TX SNR)。EQ SNR表示EQ502输出的信噪比,并可由解码装置500前级的前端501提供。具体地,EQ SNR为当前输入数据的品质指标(quality indicator)。关于TX SNR,其表示传输块可被成功解码的信号品质。在该实施例中,可参考传输块大小、下行共享信道码数量、调制类型、八比特校准等等来估算TX SNR。更具体地说,检查信道品质指示(channel quality indication,CQI)条件来看是否满足误报警条件。当EQ SNR低于TX SNR时,意味着当前接收到的数据的信号品质比传输块可被成功解码的最低品质要差。因此,当异常处理电路506发现EQ SNR低于TX SNR(即满足误报警条件)时,异常处理电路506关闭HDA CRC电路504(步骤1004及906)。因此,在传输块的解码程序期间,解码装置500保持总线开关111接通,以用于通过外部缓冲器接口106从片上缓冲器104将传输块的每一代码块传输至片外缓冲器108,用于进一步处理/解码,并且涡轮解码器508既不开启TTI提前终止,也不开启自适应迭代。当异常处理电路506发现EQ SNR不低于TXSNR(即不满足误报警条件)时,由异常处理电路506开启HDA CRC电路504(步骤1004及908)。因此,在传输块的解码程序期间,允许本发明所提出的TTI提前终止、外部缓冲器接口作业减少及自适应迭代机制至少之一为活动状态。
[0050] 作为设计变化,上述检测规则可联合考虑以判定是否满足误报警条件。请参考图11,其为依据本发明第三实施例通过预解码方式检测误报警条件的方法的流程图。从图11可以看到,当码率CR高于预定阈值TH且EQ SNR低于TXSNR时,可以确定满足误报警条件。应注意的是,如果结果实质上相同,则不需要完全以图11所示的顺序来执行这些步骤。
[0051] 图12为依据本发明实施例通过后解码方式检测误报警条件的方法的流程图。如上所述,解码装置500接收到的及处理的码字包含传输块及为传输块添加的CRC序列,其中包含在传输块中的每一代码块均没有专用的CRC序列。HDA CRC电路504为有效的,通过参考以连续解码迭代得到的HDA CRC序列来检测每一已解码代码块的正确性,且涡轮解码器508为有效的,基于其专用的CRC序列来检测已解码的传输块是否通过CRC检验。从图8可以看到,当每一代码块有相同的连续HDA CRC序列(例如,至少两个连续的HDA CRC序列,每一HDA CRC序列具有相同值),以及传输块根据在码字中所添加的CRC序列不能通过CRC检验时,会发生HDA CRC误报警。在步骤1202,异常处理电路506检测HDA CRC电路504是否指示代码块都没有解码失败,且涡轮解码器508是否指示传输块不能通过CRC检验。
[0052] 当异常处理电路506发现每一代码块具有相同的连续HDA CRC序列且传输块不能通过CRC检验(即满足误报警条件)时,由异常处理电路506关闭HDACRC电路504(步骤1202及906),且由有效的异常处理电路506触发HARQ过程重新开始(步骤1204)。对于未能通过CRC检验的传输块,当使能HARQ过程重新开始时,该传输块在下一次传输中传输,并执行HDA CRC电路504被关闭的再解码程序,该再解码程序从传输块的第一代码块开始。换句话说,在传输块的再解码程序期间,上述TTI提前终止、外部缓冲器接口作业减少及自适应迭代机制都不被允许为有效状态。因此,解码传输块的每一码字,无需任何产生的HDA CRC序列,且通过外部缓冲器接口106将传输块的每一码字从片上缓冲器104传输至片外缓冲器108,用于进一步解码/处理。用这种方式,基于最大允许迭代次数(例如Niter=8),涡轮解码器508可正确解码图8所示的第二码字。
[0053] 当异常处理电路506发现每一代码块具有相同的连续HDA CRC序列且传输块通过CRC检验(即不满足误报警条件)时,由异常处理电路506开启HDA CRC电路504(步骤1202及908),且异常处理电路506不触发HARQ过程重新开始(步骤1206)。因此,在下一传输块的解码程序期间,允许本发明提出的TTI提前终止、外部缓冲器接口作业减少及自适应迭代机制至少之一为活动状态。
[0054] 在以上实施例中,产生HDA CRC序列来判定通过码字传输的不具有专用CRC序列的代码块是否被正确解码。换句话说,HDA CRC序列作为正确性指示器。在某些情况下,每一代码块具有相同的连续HDA CRC序列而传输块具有CRC检验失败的可能性很小。HDA CRC误报警仅取决于高码率,且可被认为是随机误差。具体地,在大多数情境中,由于HDA CRC误报警仅发生在高码率且低信噪比条件下的事实,HDA CRC误报警发生的可能性非常地低。因此,在一设计变化中,用于代码块的附加产生的HDA CRC序列可与最初提供给代码块的专用CRC合作,以提升解码代码块的可靠性。举例来说,在LTE或其他通信系统中,可采用基于两级CRC检验机制的代码块。请参考图13,其为依据本发明第三实施例的解码装置的方块图。解码装置100与1300之间的主要区别在于,解码装置1300还包含判决电路1302及上述HDA CRC电路504。HDA CRC电路504用于编码多个硬判决输出,并相应地产生多个HAD CRC序列,这些硬判决输出分别来源于由涡轮解码器102对代码块执行的多个解码迭代;以及参考HDA CRC序列来验证代码块的迭代解码结果的正确性。由于在码字中,传输块的每一代码块均具有专用CRC序列,所以涡轮解码器102能够依据专用CRC判断当前已解码的代码块是否有解码失败。因此,判决电路1302用于依据涡轮解码器102及HDA CRC电路504指示的验证结果,检测是否发生代码块的解码失败。举例来说,当涡轮解码器102及HDA CRC电路504都指示代码块的CRC检验失败时,标识代码块的解码失败。类似地,可运行上述TTI提前终止、外部缓冲器接口作业减少及自适应迭代机制至少之一,以响应判决电路1302做出的判断。
[0055] 应注意的是,不要求在相同的解码装置中采用TTI提前终止、外部缓冲器接口作业减少及自适应迭代机制。也就是说,任何使用本发明提出的TTI提前终止、外部缓冲器接口作业减少及自适应迭代机制之一的解码装置都落入本发明的范围。
[0056] 本发明虽以较佳实施例揭露如上,然其并非用以限定本发明的范围,任何本领域的技术人员,在不脱离本发明的精神和范围内,当可做些许的更动与润饰,因此本发明的保护范围当视权利要求所界定者为准。