CN101194451B - 用于迭代解码器中的功率减小的方法及装置 - Google Patents

用于迭代解码器中的功率减小的方法及装置 Download PDF

Info

Publication number
CN101194451B
CN101194451B CN2005800500139A CN200580050013A CN101194451B CN 101194451 B CN101194451 B CN 101194451B CN 2005800500139 A CN2005800500139 A CN 2005800500139A CN 200580050013 A CN200580050013 A CN 200580050013A CN 101194451 B CN101194451 B CN 101194451B
Authority
CN
China
Prior art keywords
iteration
code word
value
decoder
difference
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
Application number
CN2005800500139A
Other languages
English (en)
Other versions
CN101194451A (zh
Inventor
高文
乔舒亚·劳伦斯·科斯洛夫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of CN101194451A publication Critical patent/CN101194451A/zh
Application granted granted Critical
Publication of CN101194451B publication Critical patent/CN101194451B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1128Judging correct decoding and iterative stopping criteria other than syndrome check and upper limit for decoding iterations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/29Coding, 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/2906Coding, 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 using block codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/29Coding, 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/2957Turbo codes and decoding
    • H03M13/2975Judging correct decoding, e.g. iteration stopping criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • H04L1/005Iterative decoding, including iteration between signal detection and decoding operation
    • H04L1/0051Stopping criteria
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • H03M13/1165QC-LDPC codes as defined for the digital video broadcasting [DVB] specifications, e.g. DVB-Satellite [DVB-S2]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/152Bose-Chaudhuri-Hocquenghem [BCH] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/29Coding, 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/2957Turbo codes and decoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Abstract

提供了一种用于减小迭代解码器中的功耗的方法、装置以及计算机程序产品。该装置包括存储设备和迭代终止设备。该存储设备是用于针对最大迭代次数前的迭代解码器的每次迭代而存储比特数差,所述比特数差指示当前迭代的解码后的码字和先前迭代的解码后的码字之间有所不同的比特的个数。该迭代终止设备是用于将比特数差与预定比特数差阈值进行比较,当比特数差超过预定比特数差阈值时递增置信值,并且当置信值超过预定置信阈值时终止迭代解码器的进一步迭代。

Description

用于迭代解码器中的功率减小的方法及装置
技术领域
本发明总体上涉及视频解码器,更具体地涉及用于迭代解码器中的功率减小的方法和装置。
背景技术
近年来,已经采用低密度奇偶校验(LDPC)和turbo码作为通信系统中的前向纠错码。例如,将LDPC码用于下一代卫星通信系统的数字视频广播卫星版本2(DVB-S2)标准,以及将turbo码用于宽带码分多址(WCDMA)系统。
针对LDPC和turbo码的解码算法是迭代算法,其中解码器将一组操作重复多次以对所接收的码字进行解码。为简单起见,可以使用固定迭代次数,该情况下用于对一个码字进行解码的能量是固定。然而,在正常操作条件下,实际上需要最大迭代次数中的一小部分来实现相同的解码性能。
因此,获得一种用于在保持适当性能的同时在达到最大迭代次数之前终止迭代以减小系统功耗的方法和装置是合乎需要且非常有益的。
发明内容
本发明将解决现有技术的这些和其它缺点和不足,本发明涉及一种用于迭代解码器的功率减小的方法和装置。
根据本发明的方面,提供了一种用于减小迭代解码器中的功耗的装置。该装置包括存储设备和迭代终止设备。该存储设备是用于针对最大迭代次数前的迭代解码器的每次迭代而存储比特数差,所述比特数差指示当前迭代的解码后的码字和先前迭代的解码后的码字之间有所不同的比特的个数。该迭代终止设备是用于将比特数差与预定比特数差阈值进行比较,当比特数差超过预定比特数差阈值时递增置信值(confidence value),并且当置信值超过预定置信阈值时终止迭代解码器的进一步迭代。
根据本发明的另一方面,提供了一种用于减小迭代解码器中的功耗的方法。该方法包括步骤:针对最大迭代次数前的迭代解码器的每次迭代,把比特数差存储在缓冲器中,所述比特数差指示当前迭代的解码后的码字和先前迭代的解码后的码字之间有所不同的比特的个数。该方法还包括将比特数差与预定比特数差阈值进行比较的步骤。该方法进一步包括当比特数差超过预定比特数差阈值时递增置信值的步骤。此外,该方法包括当置信值超过预定置信阈值时终止迭代解码器的进一步迭代的步骤。
根据本发明的又一方面,提供了一种包括计算机可用介质的计算机程序产品,该计算机可用介质包括用于减小迭代解码器中的功耗的计算机可用程序代码。该计算机程序产品包括用于针对最大迭代次数前的迭代解码器的每次迭代而在缓冲器中存储比特数差的计算机可用程序代码,所述比特数差指示当前迭代的解码后的码字和先前迭代的解码后的码字之间有所不同的比特的个数。该计算机程序产品还包括用于在比特数差超过预定比特数差阈值时递增置信值的计算机可用程序代码。。该计算机程序产品还包括用于在置信值超过预定置信阈值时致使迭代解码器的进一步迭代的终止的计算机可用程序代码。
从将要结合附图进行理解的示例性实施例的详细描述中,本发明的这些和其它方面、特征以及优点将变得显而易见。
附图说明
根据以下示例性附图,可以更好地理解本发明,在附图中:
图1示出了根据本发明的原理的通信系统的方框图;
图2示出了根据现有技术的使用固定迭代次数的LDPC解码器的方框图;
图3示出了根据本发明的原理的具有自适应迭代终止的LDPC解码器的方框图;
图4示出了根据本发明的原理的用于迭代解码器的自适应迭代终止的方法的流程图;
图5示出了根据本发明的原理的用于迭代解码器的自适应迭代终止的另一方法的流程图;以及
图6示出了根据本发明的原理的用于迭代解码器的自适应迭代终止的又一方法的流程图。
具体实施方式
本发明涉及一种用于迭代解码器的功率减小的方法和装置。有利地,本发明通过在保持解码性能的同时在达到最大可允许的迭代次数之前终止迭代解码器中的迭代过程而提供了功率减小。
本描述示出了本发明的原理。因此,将被理解的是,尽管这里没有明确描述或示出,然而本领域的技术人员将能够设计出体现本发明的原理并被包括在本发明的精神和范围内的多种布置。
这里所列举的所有示例和条件语言旨在针对教学目的,以帮助读者理解本发明的原理以及发明者所贡献的内容,以便促进本领域,并且这里所列举的所有示例和条件语言都应解释为不对具体列举的示例和条件做出限制。
此外,这里列举本发明的原理、方面和实施例及其特定示例的所有声明都旨在包括结构和功能等价物。此外,该等价物旨在包括当前已知的等价物以及将来所开发的等价物,即所开发的执行相同功能的任意元件(与结构无关)。
因此,例如,本领域的技术人员将理解,这里所呈现的方框图表示体现了本发明原理的示例性电路的概念视图。类似地,将被理解的是,任何流程图、流程框图、状态转移图、伪码等表示实质上可以以计算机可读介质来表示并因而由计算机或处理器来执行的各个过程,无论是否明确地示出了该计算机或处理器。
可以通过使用专用硬件以及能够与适当软件相结合来执行软件的硬件来提供附图中所示的各个元件的功能。当由处理器提供时,这些功能可以由单个专用处理器、单个共享处理器、或多个单独的处理器(其中的一些可以共享)来提供。此外,术语“处理器”或“控制器”的显式使用不应被解释为专指能够执行软件的硬件,而且可以隐式地包括(没有限制)数字信号处理器(“DSP”)硬件、用于存储软件的只读存储器(“ROM”)、随机存取存储器(“RAM”)、以及非易失性存储器。
还可以包括其它传统和/或常规硬件。类似地,附图中所示的所有开关仅是概念上的。它们的功能可以通过程序逻辑的操作、通过专用逻辑、通过程序控制和专用逻辑的交互或甚至手动地来实现,可供实施者选择的特定技术可从上下文中得到更加具体的理解。
在本发明的权利要求中,表示成用于执行特定功能的装置的任意元件都旨在包括执行该功能的任意方式,例如包括a)执行该功能的电路元件的组合,或b)任意形式的软件,包括固件、微代码等,以及执行该软件从而执行该功能的适当电路。由该权利要求所限定的本发明在于以下事实:以权利要求所要求的方式来结合并集合由各个所列举的装置所提供的功能。因此,要注意的是,能够提供那些功能的任意装置等同于这里所示的那些装置。
转向图1,由附图标记100总体指示本发明可应用于其中的通信系统。该通信系统使用低密度奇偶校验(LDPC)。可以将Bose-Chaudhuri-Hocquenghem(BCH)码或包括但不局限于里德-所罗门(RS)码的其它差错控制码添加到通信系统100中,以实现极低的比特错误概率。例如,数字视频广播卫星版本2(DVB-S2)标准采用关于图1所示和所述的编码方案。
该通信系统包括数据源105、BCH编码器110、LDPC编码器115、调制器120、通信信道125、解调器130、LDPC解码器135、BCH解码器140、以及数据宿(sink)145。
数据源105的输出以信号通信的形式与BCH编码器110的输入相连。BCH编码器的输出以信号通信的形式与LDPC编码器115的输入相连。LDPC编码器115的输出以信号通信的形式与调制器120的输入相连。调制器的输出以信号通信的形式与通信信道125的输入相连。通信信道125的输出以信号通信的形式与解调器130的输入相连。解调器的输出以信号通信的形式与LDPC解码器135的输入相连。LDPC解码器135的输出以信号通信的形式与BCH解码器140的输入相连。BCH解码器140的输出以信号通信的形式与数据宿145的输入相连。
应理解,本方面不局限于仅使用图1中的通信系统100,因此,在给定了这里所提供的本发明的教益的情况下,本领域及相关领域的技术人员将在保持本发明的范围的同时设想本发明可以应用于其中的其它通信系统和通信系统配置。
此外,应理解,本发明不局限于这里所描述的码,因此在给定了这里所提供的本发明的教益的情况下,本领域及相关领域的技术人员将在保持本发明的范围的同时设想本发明可以应用于其中的其它码。
转向图2,由附图标记200总体指示使用固定迭代次数的LDPC解码器。
LDPC解码器200包括迭代控制器205、校验节点处理器210、比特节点处理器215、以及比特判决模块220。
迭代控制器205的输出以信号通信的形式与校验节点处理器210的第一输入、比特节点处理器215的第一输入、以及比特判决模块220的第一输入相连。
校验节点处理器210的输出以信号通信的形式与比特节点处理器215的第二输入相连。比特节点处理器215的输出以信号通信的形式与比特判决模块的第二输入相连。比特判决模块220的输出可以用作LDPC解码器200的输出。LDPC解码器200的输出提供了解码后的码字。
因此,在初始化之后,每次解码迭代都包括校验节点处理、比特节点处理、以及比特判决。迭代控制器205产生针对其它元件的所有必需的控制信号,并对迭代次数进行计数。当迭代次数达到最大数时,迭代控制器205终止解码过程,并输出解码后的码字。
上述方案的优点是简单:解码器200针对每个接收到的码字消耗相同数量的功率。然而,通信信道通常是动态的,而且最大迭代次数由定时约束、最大容许功率、以及最差信道条件来设定。在正常信道条件下,解码器对接收到的码字成功进行解码所需的迭代次数通常比最大次数要少。
有利地,本发明提供了一种方法和装置来确定解码过程的收敛性并由此终止迭代过程。为此,如图3所示,向图2中的解码器添加了迭代终止模块和解码后的码字缓冲器。
转向图3,由附图标记300总体指示具有自适应迭代终止的LDPC解码器。
LDPC解码器300包括迭代控制器305、校验节点处理器310、比特节点处理器315、比特判决模块320、迭代终止模块325、以及解码后的码字缓冲器330。
迭代控制器305的输出以信号通信的形式与校验节点处理器310的第一输入、比特节点处理器315的第一输入、以及比特判决模块320的第一输入相连。
校验节点处理器310的输出以信号通信的形式与比特节点处理器315的第二输入相连。比特节点处理器315的输出以信号通信的形式与比特判决模块的第二输入相连。比特判决模块320的输出可以用作LDPC解码器300的输出。LDPC解码器300的输出提供了解码后的码字。
现在将给出关于根据本发明一个实施例的用于迭代解码器的自适应迭代终止的方法的描述。首先将在总体上描述该方法,随后将关于图4进行进一步详细描述。
关于图4使用以下标号:k表示迭代索引;Kmin和Kmax表示最小和最大迭代次数;Stop_iteration是发送到迭代控制器以停止迭代过程的控制信号;以及m是表示当前解码后的码字与先前m次迭代的解码后的码字相同的置信计数器。
迭代终止的过程如下:当迭代次数k达到Kmin -1时,将解码后的码字写入码字缓冲器。只要k<Kmax,则将第k次迭代的解码后的码字CW(k)与存储于缓冲器中的先前解码后的码字(即CW(k-1))进行比较。如果两个码字相同,则递增置信计数器m;否则,将该计数器复位至0。当m达到预定值M时,将控制信号Stop_iteration设置为1,其通知迭代控制器停止迭代过程。当m<M时,将解码后的码字CW(k)写入码字缓冲器。注意,参数Kmin、Kmax和M是可调的。为了减小解码器的功耗,我们可以将Kmin设置为正常信道条件下所需的迭代次数。这样,我们避免了不需要的比较和读/写操作。Kmax由定时约束、峰值功耗、以及最差信道条件所确定。通常将M设置为1,因为只要当前解码后的输出与前一次迭代的输出相同,则解码算法通常会收敛,并且可以获得正确的码字。
转向图4,由附图标记400总体指示用于迭代解码器的自适应迭代终止的方法。在图4中,如上述所标识的,k表示迭代索引;Kmin和Kmax表示最小和最大迭代次数;Stop_iteration是发送到迭代控制器以停止迭代过程的控制信号;以及m是表示当前解码后的码字与先前m次迭代的解码后的码字相同的置信计数器。
初始化框405设置变量k、m、和Stop_iteration等于0,并将控制传递到功能框410。功能框410将变量k加1,并将控制传递到判决框415。判决框415确定k是否等于Kmin -1。如果Kmin -1不等于k,则将控制返回功能框410。否则,如果Kmin -1等于k,则将控制传递到功能框420。
功能框420读取解码后的码字CW(k),并将控制传递到功能框425。功能框425将解码后的码字CW(k)写入码字缓冲器,并将控制传递到功能框430。功能框430将变量k加1,并将控制传递到判决框435。判决框43 5确定k<Kmax是否成立。如果k≥Kmax,则将控制传递到功能框440。否则,如果k<Kmax,则将控制传递到功能框445。
功能框440将变量Stop_iteration设为1,并输出解码后的码字CW(k)
功能框445从码字缓冲器中读取码字CW(k),并将控制传递到功能框450。功能框450从码字缓冲器中读取码字CW(k-1),并将控制传递到判决框455。判决框455确定CW(k-1)是否等于CW(k)。如果CW(k-1)不等于CW(k),则将控制传递到功能框460。否则,如果CW(k-1)等于CW(k),则将控制传递到功能框465。功能框465将变量m加1,并将控制传递到判决框470。判决框470确定m<M是否成立。如果m≥M,则将控制传递到功能框440。否则,如果m<M,则将控制返回到功能框425。
对于如图1所示的采用LDPC解码器和诸如BCH解码器或RS解码器的外部解码器的级联的系统,能够实现进一步的功率减小。
因此,现在将给出关于根据本发明的另一实施例的用于迭代解码器的自适应迭代终止的另一方法的描述。首先将在总体上描述该方法,随后将关于图5进行进一步详细描述。
在实践中,将外部解码器用于纠正迭代LDPC解码之后的剩余错误。外部解码器通常可以纠正几十个比特错误。此外,外部码解码操作通常消耗小于一个迭代解码操作的功率。可以把来自LDPC解码器的当前解码后的码字与LDPC解码器的先前迭代的解码后的码字之间的比特差异用作码字中的比特错误个数的指示。因此,如果该比特差异小于特定数,我们可以停止迭代过程,并使外部解码器纠正LDPC解码后的码字中余下的比特错误。图5中示出了修改后的方法,其中n=diff(CW(k),CW(k-1))表示计算CW(k)和CW(k-1)之间的不同比特的个数,并将其存储到变量n中,N是与BCH解码器纠错能力相关的预定值。注意,如果在LDPC迭代过程终止时n=0,则可以实现额外的功率减小,因为n=0指示解码算法已收敛。由于迭代解码算法的特性,当其收敛时,解码后的码字通常是正确的,因此我们可以旁路外部解码器,以进一步减小系统的功耗。
另一方面,当n大于特定数Nmax时,其指示比特错误的个数超过外部解码器的纠错能力。同样,我们可以旁路外部解码器,以减小系统的功耗。需要利用迭代解码算法的收敛特性和外部解码器的纠错能力来确定数N和Nmax
转向图5,由附图标记500总体指示用于迭代解码器的自适应迭代终止的另一方法。
初始化框505将变量k、m、和Stop_iteration设置为0,并将控制传递到功能框510。功能框510将变量k加1,并将控制传递到判决框515。判决框515确定k是否等于Kmin -1。如果Kmin -1不等于k,则将控制返回功能框510。否则,如果Kmin -1等于k,则将控制传递到功能框520。
功能框520读取解码后的码字CW(k),并将控制传递到功能框525。功能框525将解码后的码字CW(k)写入码字缓冲器,并将控制传递到功能框530。功能框530将变量k加1,并将控制传递到判决框535。判决框535确定k<Kmax是否成立,如果k≥Kmax,则将控制传递到功能框540。否则,如果k<Kmax,则将控制传递到功能框545。
功能框540将变量Stop_iteration设置为1,并输出解码后的码字CW(k)
功能框545从码字缓冲器中读取码字CW(k),并将控制传递到功能框550。功能框550从码字缓冲器中读取码字CW(k-1),并将控制传递到功能框552。功能框552计算CW(k)与CW(k-1)之间不同比特的个数,并将其存储到变量n中(即,n=diff(CW(k),CW(k-1))),并将控制传递到判决框555。判决框555确定n<N是否成立,其中N是与BCH解码器的纠错能力有关的预定值。如果n≥N,则将控制传递到功能框560。否则,如果n<N,则将控制传递到功能框565。功能框565将变量m加1,并将控制传递到判决框570。判决框570确定m<M是否成立。如果m≥M,则将控制传递到功能框540。否则,如果m<M,则将控制返回到功能框525。
现在将给出关于根据本发明的又一实施例的用于迭代解码器的自适应迭代终止的又一方法的描述。首先将在总体上描述该方法,随后将关于图6进行进一步详细描述。
用于终止迭代解码过程的又一方法是,使用外部解码器来确定内部解码后的码字中是否存在比特错误。例如,诸如RS解码器或BCH解码器的外部解码器可以计算内部解码后的码字的校正子(syndrome)。如果校正子全为零,则外部解码器宣布该码字是正确的,并通知内部解码器停止迭代过程。否则,内部解码器继续迭代过程,直到其达到最大迭代次数为止。
转向图6,由附图标记400总体指示用于迭代解码器的自适应迭代终止的又一方法。在图6中,如上述所标识的,k表示迭代索引;Kmin和Kmax表示最小和最大迭代次数;Stop_iteration是发送到迭代控制器以停止迭代过程的控制信号;以及m是表示当前解码后的码字与先前m次迭代的解码后的码字相同的置信计数器。
初始化框605设置变量k和Stop_iteration等于0,并将控制传递到功能框610。功能框610将变量k加1,并将控制传递到判决框635。判决框435确定k<Kmax是否成立。如果k≥Kmax,则将控制传递到功能框640。否则,如果k<Kmax,则将控制传递到功能框645。
功能框640将变量Stop_iteration设置为1,并输出解码后的码字CW(k)
功能框645从码字缓冲器中读取码字CW(k),并将控制传递到功能框675。与外部解码器有关的功能框675计算内部解码后的码字的校正子,并将控制传递到判决框680。判决框680确定内部解码后的码字的校正子是否等于0。如果内部解码后的码字的校正子不等于0,则将控制返回功能框610。否则,如果内部解码后的码字的校正子等于0,则将控制返回功能框640。
应理解,校正子计算步骤是外部解码器的一部分,并且可以非常有效地实现,仅消耗少量功率。这个方法的优点是,除了一些可能的简单逻辑以外不需要额外的模块。
本发明的这些和其它特征及优点可以由相关领域的技术人员基于这里的教益很容易地确定。应理解,本发明的教益可以以各种形式的硬件、软件、固件、专用处理器或其组合来实现。
最优选地,将本发明的教益实现为硬件和软件的组合。此外,优选地将软件实现为有形地体现在程序存储单元上的应用程序。该应用程序可以上载到包括任意适当体系结构的机器并由该机器执行。优选地,在具有诸如一个或多个中央处理单元(“CPU”)、随机存取存储器(“RAM”)、以及输入/输出(“I/O”)接口之类的硬件的计算机平台上实现该机器。该计算机平台还可以包括操作系统和微指令码。这里所描述的各个过程和功能可以是微指令码的一部分或应用程序的一部分,或者两者的任意组合,其可以由CPU来执行。此外,可以将各种其它外围单元与该计算机平台相连,例如附加的数据存储单元和打印单元。
还应理解,因为附图中所描述的组成系统组件和方法中的一些优选地以软件来实现,所以系统组件或过程功能框之间的实际连接可能取决于本发明的编程方式而不同。在给定这里的教益的情况下,相关领域的技术人员将能够设想本发明的这些和类似的实现或配置。
尽管这里已经参考附图描述了示例性实施例,应理解,本发明不局限于那些精确的实施例,并且在不背离本发明的范围或精神的前提下,可以由本领域的技术人员实现各种变化和修改。所有这些变化和修改都旨在被包括在所附权利要求中提出的本发明的范围内。

Claims (11)

1.一种用于减小迭代解码器中的功耗的装置,包括:
存储设备,针对最大迭代次数前的迭代解码器的每次迭代而存储比特数差,所述比特数差指示了当前迭代的解码后的码字和先前迭代的解码后的码字之间有所不同的比特的个数;以及
迭代终止设备,将比特数差与预定比特数差阈值进行比较,当比特数差小于预定比特数差阈值时递增置信值,并且当置信值超过预定置信阈值时终止迭代解码器的进一步迭代。
2.根据权利要求1所述的装置,其中,所述预定比特数差阈值与迭代解码器的纠错能力相对应。
3.根据权利要求1所述的装置,其中,Kmin等于在正常信道条件下对码字进行解码所需的最小迭代次数,而且在当前迭代次数等于Kmin时,所述存储设备存储当前迭代的解码后的码字。
4.根据权利要求1所述的装置,其中,当比特数差不小于预定比特数差阈值时,所述迭代终止设备将置信值复位至0。
5.根据权利要求1所述的装置,其中,所述存储设备还用于存储置信值。
6.根据权利要求1所述的装置,其中,所述迭代解码器包括迭代控制器,而且所述迭代终止设备通过产生停止迭代控制信号并将所述停止迭代控制信号传送至所述迭代控制器而终止所述迭代解码器的进一步迭代。
7.一种用于减小迭代解码器中的功耗的方法,包括以下步骤:
针对最大迭代次数前的迭代解码器的每次迭代,把比特数差存储在缓冲器中,所述比特数差指示当前迭代的解码后的码字和先前迭代的解码后的码字之间有所不同的比特的个数;
将比特数差与预定比特数差阈值进行比较;
当比特数差小于预定比特数差阈值时,递增置信值;以及
当置信值超过预定置信阈值时,终止所述迭代解码器的进一步迭代。
8.根据权利要求7所述的方法,其中,所述预定比特数差阈值与迭代解码器的纠错能力相对应。
9.根据权利要求7所述的方法,其中,Kmin等于在正常信道条件下对码字进行解码所需的最小迭代次数,而且在当前迭代次数等于Kmin时,存储当前迭代的解码后的码字。
10.根据权利要求7所述的方法,还包括如下步骤:当比特数差不小于预定比特数差阈值时,将置信值复位至0。
11.根据权利要求7所述的方法,还包括将置信值存储在缓冲器中的步骤。
CN2005800500139A 2005-06-27 2005-06-27 用于迭代解码器中的功率减小的方法及装置 Expired - Fee Related CN101194451B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2005/023005 WO2007001304A1 (en) 2005-06-27 2005-06-27 Method and apparatus for power reduction in iterative decoders

Publications (2)

Publication Number Publication Date
CN101194451A CN101194451A (zh) 2008-06-04
CN101194451B true CN101194451B (zh) 2012-11-21

Family

ID=35355596

Family Applications (2)

Application Number Title Priority Date Filing Date
CNA2005800500124A Pending CN101194428A (zh) 2005-06-27 2005-06-27 迭代解码器中的停止准则
CN2005800500139A Expired - Fee Related CN101194451B (zh) 2005-06-27 2005-06-27 用于迭代解码器中的功率减小的方法及装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CNA2005800500124A Pending CN101194428A (zh) 2005-06-27 2005-06-27 迭代解码器中的停止准则

Country Status (6)

Country Link
US (1) US7966505B2 (zh)
EP (1) EP1897257A1 (zh)
JP (1) JP5004249B2 (zh)
KR (1) KR101192898B1 (zh)
CN (2) CN101194428A (zh)
WO (1) WO2007001304A1 (zh)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101194428A (zh) 2005-06-27 2008-06-04 汤姆森许可贸易公司 迭代解码器中的停止准则
EP1906560A4 (en) * 2005-07-19 2012-01-04 Nec Corp TURBO DECODING SYSTEM, TRANSMITTER PROCEDURE AND CDMA MOBILE COMMUNICATION DEVICE
JP4092352B2 (ja) * 2005-11-16 2008-05-28 Necエレクトロニクス株式会社 復号装置、復号方法、及び受信装置
US8332718B2 (en) * 2007-03-29 2012-12-11 Sirius Xm Radio Inc. Efficient implementation to perform iterative decoding with large iteration counts
KR101021526B1 (ko) 2007-10-30 2011-03-16 삼성전자주식회사 이동통신 시스템의 반복 복호 장치 및 방법
CN101471674A (zh) * 2007-12-28 2009-07-01 三星电子株式会社 低密度奇偶校验码译码方法及装置
US8255758B2 (en) * 2008-01-21 2012-08-28 Apple Inc. Decoding of error correction code using partial bit inversion
JP5142285B2 (ja) 2008-03-27 2013-02-13 現代自動車株式会社 自動変速機付き車両の変速レバーロック装置
US8327242B1 (en) 2008-04-10 2012-12-04 Apple Inc. High-performance ECC decoder
US8392786B2 (en) * 2008-05-07 2013-03-05 Broadcom Corporation LDPC coding systems for 60 GHz millimeter wave based physical layer extension
CN101841338B (zh) * 2009-03-18 2012-10-31 中国科学院微电子研究所 一种低密度奇偶校验码提前结束迭代译码的方法
US8429498B1 (en) 2009-03-25 2013-04-23 Apple Inc. Dual ECC decoder
JP5445828B2 (ja) * 2009-05-29 2014-03-19 ソニー株式会社 受信装置、受信方法、およびプログラム、並びに受信システム
JP5445829B2 (ja) 2009-05-29 2014-03-19 ソニー株式会社 受信装置、受信方法、およびプログラム、並びに受信システム
US8453038B2 (en) * 2009-06-30 2013-05-28 Apple Inc. Chien search using multiple basis representation
US8601352B1 (en) 2009-07-30 2013-12-03 Apple Inc. Efficient LDPC codes
CN101997639B (zh) * 2009-08-10 2014-10-22 中兴通讯股份有限公司 低密度奇偶校验-多输入多输出通信系统的迭代接收方法
US8301987B2 (en) * 2009-10-29 2012-10-30 Sandisk Il Ltd. System and method of decoding data with reduced power consumption
US8341486B2 (en) * 2010-03-31 2012-12-25 Silicon Laboratories Inc. Reducing power consumption in an iterative decoder
US8433970B2 (en) 2010-03-31 2013-04-30 Silicon Laboratories Inc. Techniques to control power consumption in an iterative decoder by control of node configurations
US8555131B2 (en) 2010-03-31 2013-10-08 Silicon Laboratories Inc. Techniques to control power consumption in an iterative decoder by control of node configurations
US8237869B2 (en) 2010-03-31 2012-08-07 Silicon Laboratories Inc. Multi-standard digital demodulator for TV signals broadcast over cable, satellite and terrestrial networks
US8837611B2 (en) 2011-02-09 2014-09-16 Silicon Laboratories Inc. Memory-aided synchronization in a receiver
US8644370B2 (en) 2012-01-25 2014-02-04 Silicon Laboratories Providing slope values for a demapper
US8959274B2 (en) 2012-09-06 2015-02-17 Silicon Laboratories Inc. Providing a serial download path to devices
TWI477104B (zh) 2012-09-13 2015-03-11 Mstar Semiconductor Inc 錯誤校正裝置與錯誤校正方法
US9116822B2 (en) 2012-12-07 2015-08-25 Micron Technology, Inc. Stopping criteria for layered iterative error correction
CN103354101B (zh) * 2013-05-31 2015-10-21 上海华力创通半导体有限公司 一种用于快闪存储器纠错的ldpc码解码装置
KR102190816B1 (ko) * 2014-04-08 2020-12-14 삼성전자주식회사 이른 디코딩을 통한 전력소모 감소 방법 및 장치
CN104298569A (zh) * 2014-09-30 2015-01-21 北京金山安全软件有限公司 应用程序运行异常的检测方法、装置和移动终端
US10084481B2 (en) 2014-12-18 2018-09-25 Apple Inc. GLDPC soft decoding with hard decision inputs
US10419024B2 (en) * 2017-05-26 2019-09-17 SK Hynix Inc. Early termination of low-density parity-check (LDPC) decoding
KR20170076350A (ko) * 2015-12-24 2017-07-04 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US9584162B1 (en) * 2016-01-05 2017-02-28 International Business Machines Corporation Microcode data recovery strategies for use of iterative decode
US10326479B2 (en) * 2016-07-11 2019-06-18 Micron Technology, Inc. Apparatuses and methods for layer-by-layer error correction
JP6454397B1 (ja) 2017-12-20 2019-01-16 Nttエレクトロニクス株式会社 誤り訂正装置、誤り訂正方法及び光通信システム
US10848182B2 (en) 2018-09-13 2020-11-24 Apple Inc. Iterative decoding with early termination criterion that permits errors in redundancy part
WO2020170435A1 (ja) * 2019-02-22 2020-08-27 三菱電機株式会社 誤り訂正復号装置および誤り訂正復号方法
CN111698056B (zh) * 2019-03-13 2023-05-05 瑞昱半导体股份有限公司 解码方法及相关电路
CN116192166B (zh) * 2023-04-28 2023-08-01 南京创芯慧联技术有限公司 迭代译码方法、装置、存储介质和电子设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003107546A1 (en) * 2002-06-14 2003-12-24 Dspace Pty Ltd Method and receiver for processing a multi-user signal

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6526531B1 (en) * 2000-03-22 2003-02-25 Agere Systems Inc. Threshold detection for early termination of iterative decoding
KR100424460B1 (ko) * 2000-10-05 2004-03-26 삼성전자주식회사 터보 복호기의 전송률 검출 장치 및 방법
US6518892B2 (en) * 2000-11-06 2003-02-11 Broadcom Corporation Stopping criteria for iterative decoding
KR100369561B1 (ko) * 2000-11-08 2003-01-29 학교법인 한국정보통신학원 터보 코드용 인코더 및 디코더
JP3683497B2 (ja) * 2000-11-30 2005-08-17 松下電器産業株式会社 復号装置および復号方法
KR100713331B1 (ko) * 2000-12-23 2007-05-04 삼성전자주식회사 부호분할다중접속 이동통신시스템의 반복복호 중지 장치 및 방법
US6738948B2 (en) 2001-04-09 2004-05-18 Motorola, Inc. Iteration terminating using quality index criteria of turbo codes
US7246295B2 (en) * 2003-04-14 2007-07-17 Agere Systems Inc. Turbo decoder employing simplified log-map decoding
TWI350066B (en) 2003-04-17 2011-10-01 Icera Inc Apparatus and method for turbo decoder termination
GB2403106B (en) * 2003-06-18 2007-08-15 Motorola Inc Arrangement and method for iterative decoding
US7418051B2 (en) * 2003-11-26 2008-08-26 Lucent Technologies Inc. Nonsystematic repeat-accumulate codes for encoding and decoding information in a communication system
WO2006128164A2 (en) * 2005-05-27 2006-11-30 Aquantia Corporation Method and apparatus for extending decoding time in an iterative decoder using input codeword pipelining
WO2007001305A1 (en) * 2005-06-27 2007-01-04 Thomson Licensing Stopping criteria in iterative decoders
CN101194428A (zh) 2005-06-27 2008-06-04 汤姆森许可贸易公司 迭代解码器中的停止准则
US7853854B2 (en) * 2005-11-15 2010-12-14 Stmicroelectronics Sa Iterative decoding of a frame of data encoded using a block coding algorithm
US7818649B1 (en) * 2005-11-30 2010-10-19 Aquantia Corporation Efficient message passing scheme of iterative error correcting decoders
US7861135B2 (en) * 2006-02-03 2010-12-28 Electronics And Telecommunications Research Institute Of Daejeon Low-complexity and low-power-consumption turbo decoder with variable scaling factor
US7805642B1 (en) * 2006-02-17 2010-09-28 Aquantia Corporation Low power iterative decoder using input data pipelining and voltage scaling
US7765453B2 (en) * 2006-12-13 2010-07-27 Nortel Networks Limited Early termination controller for iterative FEC decoders and method therefor

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003107546A1 (en) * 2002-06-14 2003-12-24 Dspace Pty Ltd Method and receiver for processing a multi-user signal

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
A.Matache 等.Stopping Rules for Turbo Decoders.TMO Progress Report.2000,1-21. *

Also Published As

Publication number Publication date
WO2007001304A1 (en) 2007-01-04
KR101192898B1 (ko) 2012-10-18
KR20080028376A (ko) 2008-03-31
CN101194451A (zh) 2008-06-04
JP2008544692A (ja) 2008-12-04
US7966505B2 (en) 2011-06-21
JP5004249B2 (ja) 2012-08-22
US20090094470A1 (en) 2009-04-09
CN101194428A (zh) 2008-06-04
EP1897257A1 (en) 2008-03-12

Similar Documents

Publication Publication Date Title
CN101194451B (zh) 用于迭代解码器中的功率减小的方法及装置
US8171367B2 (en) Stopping criteria in iterative decoders
US8448050B2 (en) Memory system and control method for the same
US7853854B2 (en) Iterative decoding of a frame of data encoded using a block coding algorithm
US7577891B2 (en) Method and apparatus for extending decoding time in an iterative decoder using input codeword pipelining
US20160027521A1 (en) Method of flash channel calibration with multiple luts for adaptive multiple-read
US8612834B2 (en) Apparatus, system, and method for decoding linear block codes in a memory controller
CN102624403A (zh) 用于对级联纠错码的有效解码的方法和系统
US11522562B2 (en) Error correcting decoding device and error correcting decoding method
US11750219B2 (en) Decoding method, decoder, and decoding apparatus
US20180175885A1 (en) Hybrid LDPC-SEC/SECDED Decoding
KR101317039B1 (ko) 디코딩 장치 및 방법
KR20080026559A (ko) 반복 복호기에서의 중단 기준
TWI645683B (zh) 使用代數碼與ldpc碼的部分聯結編碼系統
US20100125769A1 (en) Parity-check-code decoder and recording controller
Xia et al. A two-staged adaptive successive cancellation list decoding for polar codes
CN111769839A (zh) 快速的比特翻转译码方法
RU2811072C1 (ru) Способ декодирования, декодер и устройство декодирования
Cho et al. Soft-decision error correction of NAND flash memory with a turbo product code
US20210081275A1 (en) Memory system
WO2009069087A1 (en) Apparatus and method for decoding concatenated error correction codes
US9577672B2 (en) Low density parity-check code decoder and decoding method thereof
KR20240067786A (ko) 낮은 게이트 카운트 및 높은 처리량의 리드-솔로몬 디코딩
Chai et al. An easily decoded erasure code based on random bipartite graphs
CN101414832A (zh) 里得-索罗门解码中有效率的陈氏寻根方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20121121

Termination date: 20140627

EXPY Termination of patent right or utility model