CN101194451B - 用于迭代解码器中的功率减小的方法及装置 - Google Patents
用于迭代解码器中的功率减小的方法及装置 Download PDFInfo
- 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
- iterations
- iterative
- decoder
- codeword
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 230000009467 reduction Effects 0.000 title description 7
- 238000012937 correction Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 abstract description 5
- 230000006870 function Effects 0.000 description 61
- 238000004891 communication Methods 0.000 description 28
- 230000003044 adaptive effect Effects 0.000 description 11
- 238000012804 iterative process Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 208000011580 syndromic disease Diseases 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/19—Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1128—Judging correct decoding and iterative stopping criteria other than syndrome check and upper limit for decoding iterations
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/29—Coding, 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/2906—Coding, 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/29—Coding, 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/2957—Turbo codes and decoding
- H03M13/2975—Judging correct decoding, e.g. iteration stopping criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0047—Decoding adapted to other signal detection operation
- H04L1/005—Iterative decoding, including iteration between signal detection and decoding operation
- H04L1/0051—Stopping criteria
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1111—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/116—Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
- H03M13/1165—QC-LDPC codes as defined for the digital video broadcasting [DVB] specifications, e.g. DVB-Satellite [DVB-S2]
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic 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/152—Bose-Chaudhuri-Hocquenghem [BCH] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/29—Coding, 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/2957—Turbo codes and decoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block 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所述的方法,还包括将置信值存储在缓冲器中的步骤。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1897257A1 (en) | 2005-06-27 | 2008-03-12 | Thomson Licensing | Method and apparatus for power reduction in iterative decoders |
WO2007010722A1 (ja) * | 2005-07-19 | 2007-01-25 | Nec Corporation | ターボ復号システム、送信電力制御方法及びcdma移動通信端末 |
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 |
JP5445829B2 (ja) | 2009-05-29 | 2014-03-19 | ソニー株式会社 | 受信装置、受信方法、およびプログラム、並びに受信システム |
JP5445828B2 (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)
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)
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 |
US7577891B2 (en) * | 2005-05-27 | 2009-08-18 | Aquantia Corporation | Method and apparatus for extending decoding time in an iterative decoder using input codeword pipelining |
EP1897257A1 (en) | 2005-06-27 | 2008-03-12 | Thomson Licensing | Method and apparatus for power reduction in iterative decoders |
JP2008544721A (ja) * | 2005-06-27 | 2008-12-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 |
-
2005
- 2005-06-27 EP EP05763818A patent/EP1897257A1/en not_active Withdrawn
- 2005-06-27 CN CNA2005800500124A patent/CN101194428A/zh active Pending
- 2005-06-27 KR KR1020077030317A patent/KR101192898B1/ko not_active IP Right Cessation
- 2005-06-27 US US11/921,486 patent/US7966505B2/en active Active
- 2005-06-27 JP JP2008518110A patent/JP5004249B2/ja not_active Expired - Fee Related
- 2005-06-27 CN CN2005800500139A patent/CN101194451B/zh not_active Expired - Fee Related
- 2005-06-27 WO PCT/US2005/023005 patent/WO2007001304A1/en active Application Filing
Patent Citations (1)
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)
Title |
---|
A.Matache 等.Stopping Rules for Turbo Decoders.TMO Progress Report.2000,1-21. * |
Also Published As
Publication number | Publication date |
---|---|
KR101192898B1 (ko) | 2012-10-18 |
CN101194428A (zh) | 2008-06-04 |
KR20080028376A (ko) | 2008-03-31 |
JP2008544692A (ja) | 2008-12-04 |
JP5004249B2 (ja) | 2012-08-22 |
US20090094470A1 (en) | 2009-04-09 |
CN101194451A (zh) | 2008-06-04 |
EP1897257A1 (en) | 2008-03-12 |
WO2007001304A1 (en) | 2007-01-04 |
US7966505B2 (en) | 2011-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101194451B (zh) | 用于迭代解码器中的功率减小的方法及装置 | |
US8171367B2 (en) | Stopping criteria in iterative decoders | |
US8347194B2 (en) | Hierarchical decoding apparatus | |
US7853854B2 (en) | Iterative decoding of a frame of data encoded using a block coding algorithm | |
JP4777876B2 (ja) | ターボデコーダの反復の早期終了 | |
JP4038518B2 (ja) | 低密度パリティ検査コードを効率的に復号する方法及び装置 | |
US9337955B2 (en) | Power-optimized decoding of linear codes | |
WO2018179246A1 (en) | Check bit concatenated polar codes | |
US20090158127A1 (en) | Decoding apparatus and decoding method | |
WO2019019550A1 (zh) | 应用于快闪存储器中的自适应ldpc码纠错码系统和方法 | |
US11750219B2 (en) | Decoding method, decoder, and decoding apparatus | |
CN112468158B (zh) | 用于对码字进行译码的方法及译码器 | |
US8341507B2 (en) | Method and device for decoding a received systematic code encoded block | |
KR101154923B1 (ko) | 비씨에이치 디코더, 이를 포함하는 메모리 시스템 및 비씨에이치 디코딩 방법 | |
KR20080026559A (ko) | 반복 복호기에서의 중단 기준 | |
KR102197751B1 (ko) | 블록 터보 부호의 저 복잡도 오류정정을 위한 신드롬 기반의 혼합 복호 장치 및 그 방법 | |
TWI645683B (zh) | 使用代數碼與ldpc碼的部分聯結編碼系統 | |
KR20120000040A (ko) | 반복 복호수 설정 방법, ldpc 복호화 장치 및 그 방법 | |
RU2811072C1 (ru) | Способ декодирования, декодер и устройство декодирования | |
CN118713682A (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 |