CN101069356A - 解码装置以及通信装置 - Google Patents

解码装置以及通信装置 Download PDF

Info

Publication number
CN101069356A
CN101069356A CNA2005800412570A CN200580041257A CN101069356A CN 101069356 A CN101069356 A CN 101069356A CN A2005800412570 A CNA2005800412570 A CN A2005800412570A CN 200580041257 A CN200580041257 A CN 200580041257A CN 101069356 A CN101069356 A CN 101069356A
Authority
CN
China
Prior art keywords
row
decoding
handling part
algorithm
carry out
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.)
Pending
Application number
CNA2005800412570A
Other languages
English (en)
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of CN101069356A publication Critical patent/CN101069356A/zh
Pending legal-status Critical Current

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/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/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • H03M13/1185Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
    • H03M13/1188Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal wherein in the part with the double-diagonal at least one column has an odd column weight equal or greater than three
    • 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
    • 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
    • H03M13/1117Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule
    • 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
    • H03M13/1117Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule
    • H03M13/112Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule with correction functions for the min-sum rule, e.g. using an offset or a scaling factor
    • 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/1131Scheduling of bit node or check node processing
    • H03M13/1137Partly parallel processing, i.e. sub-blocks or sub-groups of nodes being processed in parallel
    • 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/1131Scheduling of bit node or check node processing
    • H03M13/114Shuffled, staggered, layered or turbo decoding schedules
    • 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/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • 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/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • H03M13/1185Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
    • 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
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3905Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding
    • H03M13/3911Correction factor, e.g. approximations of the exp(1+x) function
    • 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/65Purpose and implementation aspects
    • H03M13/6577Representation or format of variables, register sizes or word-lengths and quantization
    • H03M13/6583Normalization other than scaling, e.g. by subtraction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • 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
    • 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

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

Abstract

一种解码装置,具备:行处理部(5)及列处理部(6),针对经过低密度奇偶校验编码的接收信号,按每一位或者预定的多个位逐个执行利用按照Min-Sum算法的行处理及列处理的概率信息的算出及其更新;解码结果判定部(8),根据事后值的硬判定来决定解码结果并进行奇偶校验以判定解码结果的正误;以及控制部,基于解码结果判定部(8)的判定结果来控制利用行处理部(5)及列处理部(6)的解码处理的反复。

Description

解码装置以及通信装置
技术领域
本发明涉及数字通信中的纠错技术,特别是对基于低密度奇偶校验LDPC(Low-Density Parity Check)代码以及Turbo代码的编码信号进行解码的解码装置以及具备该解码装置的通信装置。
背景技术
在对LDPC编码信号进行解码的基本算法中有Sum-Product算法和Min-Sum算法。在这些解码算法中,通过一边算出对数似然比LLR(Log Likelihood Ratio)作为接收信号的概率上的可靠度信息一边进行反复运算来进行解码(例如,参照非专利文献1)。
在Sum-Product算法中,要求采用了例如tanh函数等数学函数的运算(实数的加法运算和函数的评价等),计算成本较高。为此,在实现之际,就需要准备保持该函数之值的表等以降低计算成本。其另一面,还有因为实施准确的运算所以解码性能较高之类的优点。
相对于此,在Min-Sum算法中,采用近似于Sum-Product算法的数学函数的简易的数学公式,仅通过加法运算、最小、正负判定、正负符号的乘法运算这4种运算就能够实现。为此,计算成本就变小。但是,由于近似的影响解码性能将会劣化。
另外,以往的LDPC编码信号的解码算法基于概率信息的传输进行反复解码。在Sum-Product算法或Min-Sum算法中,在反复解码的任意一次对于编码信号结束全部的行处理后进行针对该编码信号的全部位的列处理。
例如,若设欲解码的LDPC代码的检查行列式为2维m×n行列式H=[Hm,n](其中,n是大于等于0且小于N的整数,m是大于等于0小于M的整数),则按m=1,2,3,...,M的顺序对满足Hm,n=1的全部组(m,n)进行行处理,之后按n=1,2,3,...,N的顺序对满足Hm,n=1的全部组(m,n)执行列处理。
为此,若解码处理的反复次数变大,则伴随其将产生解码迟延时间变大之类的问题。因而,作为削减反复解码的次数的解码算法,有Shuffled BP(Belief Propagation)算法(例如,参照非专利文献2)。
在Shuffled BP算法中,按每一位逐个执行利用针对编码信号的行处理与列处理的概率信息的算出及更新。据此,就有概率信息的传输有效率地进行使收敛变快之类的优点。以下对此Shuffled BP算法简单地进行说明。
首先,作为初始化步骤,将反复次数i设定为i=1,将最大反复次数设定为Imax,将对数似然比LLR(Log Likelihood Ratio)的初始值zm,n (0)设定为Fn(zm,n (0):=Fn)。此外,欲解码的LDPC代码的检查行列式H为2维m×n行列式H=[Hm,n](其中,n是大于等于0且小于N的整数,m是大于等于0小于M的整数),设Hm,n为H的第m行第n列要素。
其次,作为步骤1,针对下述式(1)的条件,执行运算下述式(2)及下述式(3)的行处理。在这里,N(m)、M(n)是集合[1,N]的部分集合,并定义为N(m):={n:Hm,n=1}、M(n):={m:Hm,n=1}。即,N(m)意味着在检查行列式H的m行中持有1的列索引的集合,M(n)意味着在LDPC检查行列式H的m行中持有1的列索引的集合。
[数学公式1]
0≤g<G(g:整数.G=N/Ng)
g·Ng+1≤n≤(g+1)·Ng,m∈M(n)    ...(1)
τ m , n ( 1 ) = Π n ∈ N ( m ) \ n n ′ ≤ g · N g tanh ( z m , n ′ ( 1 ) / 2 ) Π n ∈ N ( m ) \ n n ′ ≥ g ′ N g + 1 tanh ( z m , n ′ ( i - 1 ) / 2 ) · · · ( 2 )
ϵ m , n ( i ) = log 1 + τ m , n ( 1 ) 1 - τ m , n ( 1 ) · · · ( 3 )
另外,将从集合A中除去元a所得到的集合记为A\a。即,N(m)\n是从集合N(m)中除掉第n列的列索引的集合,M(n)\m表示从集合M(n)中除掉第m行的行索引的集合。zm,n (i)是在反复第i次经过更新的LLR,εm,n (i)是从检查节点送往位节点的反复第i次的LLR。
进而,在步骤1中,执行针对上述式(1)的条件,运算下述式(4)及下述式(5)的列处理。在这里,zm,n (i)是从位节点送往检查节点的反复第i次的LLR。进而,zn (i)是反复第i次的事后值。
[数学公式2]
z m , n ( 1 ) = F n + Σ m ∈ M ( n ) \ m ϵ m ′ , n ( i ) · · · ( 4 )
z n ( 1 ) = F n + Σ m ∈ M ( n ) ϵ m , n ( i ) · · · ( 5 )
其次,作为步骤2,对事后值zn (i)进行硬判定,并生成用下述式(6)所表示的解码系列。之后,如果满足下述式(7)的条件,则转移到后述的步骤3的处理,如果这两个条件中的任意一个都不满足,则对反复次数i进行加法运算并返回步骤2的处理。在步骤3中,输出步骤2中得到的按照下述式(6)的解码系列作为解码结果。另外,下述式(6)中的wn是解码系列w的n=1~N中的要素。
[数学公式3]
w=[wn]         ...(6)
[数学公式4]
奇偶校验:OK(H·w=0)
或者反复次数为最大:i=Imax               ...(7)
在上述的Shuffled BP算法中,当着眼于反复次数i时,通过采用在同一反复第i次经过更新的LLR即zm,n (i)进行行处理则概率传输就有效率地得以进行。
此外,在非专利文献2中,作为Ng=1将按每一位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新的情况设为Shuffled BP算法,作为1<Ng<N将按预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新设为GroupShuffled BP算法,在此也依从其。此外,在Ng=N的情况下,就成为Sum-Product算法。另外,为了简单起见将Ng设为N的约数。
另一方面,作为能够一边以与Min-Sum算法同程度的计算成本进行LDPC代码的解码,一边与Sum-Product算法相比较可抑制解码性能劣化的解码算法,例如,有Normalized BP算法和Offset BP算法等(例如,参照非专利文献3)。
简单地进行说明,就是由于按Min-Sum算法所算出的LLR与按Sum-Product算法所算出的LLR相比时常为更大的值,所以在Normalized BP算法中,将Min-Sum算法的行处理所算出的LLR用被称之为Normalization Factor的因子α(>1)进行除法运算并作为将要传递的LLR。另外,在Offset BP算法中,将Min-Sum算法的行处理所算出的LLR通过被称之为Offset Factor的因子β(>0)进行减法运算并作为将要传递的LLR。
这样,虽然在解码之际执行除法运算或减法运算,但因除法运算或减法运算造成的计算成本并不很大,可以减轻与Sum-Product算法相比较的解码性能的劣化。另外,关于各因子α,β使用模拟或者密度发展法(例如,参照非专利文献4)预先算出,并在LDPC解码部保持好即可。
另外,还有对于用Min-Sum算法的行处理所算出的LLR,依照接收信号的大小来进行校正的算法(例如,参照非专利文献5)。在该解码算法中,通过作为Min-Sum算法的校正项准备好校正函数的表,并依照接收信号的大小来改变校正项而进行可靠的校正,使解码性能提高。
进而,还有作为信道信息按接收LLR的大小对Shuffled BP算法的运算顺序进行控制的方法。该方法是从接收信息算出的接收LLR的绝对值较大一方、或者较小一方起进行顺序控制并按Shuffled BP算法进行解码。
在对Turbo编码信号进行解码的基本算法中,有Log-MAP(Maximum A Posteriori Probability)算法和Max-Log-Map算法。在这些解码算法中,作为接收信号的概率上的可靠度信息一边算出量度值一边进行反复运算由此来进行解码(例如,参照非专利文献6)。
在Log-MAP算法中,要求采用了例如指数函数等数学函数的运算(实数的加法运算或函数的评价),计算成本较高。为此,在实现之际,就需要准备保持该函数之值的表等以降低计算成本。其另一面,还有因为实施准确的运算所以解码性能较高之类的优点。
相对于此,在Max-Log-MAP算法中,采用近似于Log-Map算法的数学函数的简易的数学公式,仅通过加法运算、最小、正负判定、正负符号的乘法运算这4种运算就能够实现。用指数的最大值来近似在Log-MAP算法中进行的针对指数函数之和的对数计算。为此,就没有包含数学函数的处理使计算成本变小。但是,由于近似的影响解码性能将会劣化。
另一方面,还有能够一边以与Max-Log-Map算法同程度的计算成本进行Turbo代码的解码,一边与Map算法相比较来抑制解码性能劣化的解码算法(例如,参照非专利文献7)。
简单地进行说明,就是将通过Max-Log-Map算法的量度计算所算出的量度值用因子s进行乘法运算而调整成与MAP算法所算出的值同程度并作为将要传递的LLR。
这样,虽然在解码之际执行乘法运算,但因乘法运算造成的计算成本并不很大,可以减轻与Log-MAP算法相比较的解码性能的劣化。另外,关于因子s使用模拟预先算出,并在Turbo解码部保持好即可。
非专利文献1:和田山正、“低密度奇偶校验代码及其解码法LDPC(Low Density Parity Check)代码/sum-product解码法”、トリケツプス、2002年6月5日、p.76-99
非专利文献2:Juntan Zhang等、″Shuffled Belief PropagationDecoding″、[online]、[平成16年9月28日检索]、http://lester.univ-ubs.fr:8080/~boutillon/Journee_GDR_LDPC/Fossorier1_GDR_LDPC.pdf
非专利文献3:Jinghu Chen等、″Reduced-Complexity Decodingof LDPC Codes″、[online]、[平成16年9月28日検索]、http://www-ee.eng.hawaii.edu/~jinghu/FILES/tcom02v3p2.pdf
非专利文献4:Jinghu Chen等、′Density evolution of twoimproved BP-based algorithms for LDPC decoding″、IEEECommunications Letters,March 2002
非专利文献5:Xiao-Yu等、″Efficient Implementation of theSum-Product algorithm for Decoding LDPC Codes″、Proc.2001 IEEEGlobeCom Conf.,pp.1036-1036E,Nov.2001
非专利文献6:萩原春生、「タ一ボ符号の基础」、トリケツプス、1999年10月7日、p,37-46
非专利文献7:J Vogt等、″lmproving the max-log-MAP turbodecoder″、ELECTRONICS LETTERS,VoL.36,No.23、p.1937-1938
在以往的按照Min-Sum算法的LDPC编码信号的解码装置中,为了维持解码性能必须加大反复次数,伴随其就有解码迟延也变大之类的课题。另外,这一倾向在将Min-Sum算法中的近似更新式作为基本更新式使用的Normalized BP算法和Offset BP算法中也同样如此。
另外,Normalized BP算法及Offset BP算法的解码性能分别很大地依赖于因子α(Normalization Factor)及因子β(Offset Factor)的值。为此,就有必要事前计算出各因子α,β,但在实际的接收装置等上进行了安装的情况下,如果不依赖于代码构成和信道等改变各因子α、β的值就无法发挥充分的解码性能。
进而,在对于Min-Sum算法的行处理所算出的LLR依照接收信号的大小来进行校正的解码算法中,就需要设置保持了与接收信息(接收信号的大小)相应的校正常数的校正项表,实现起来不容易。在如Sum-Product算法或Shuffled BP算法那样,在解码之际需要tanh函数等数学函数的情况下,由于计算成本变大硬件构成变得复杂所以实现起来也困难。
另外,在Shuffled BP算法以及Group Shuffled BP算法中,从代码的开头位起按顺序进行解码运算、或者从代码的开头起按经过分组的多个位的顺序进行解码运算。为此,就还有无法采用最适合于代码构成或调制方式的运算顺序之类的课题。进而,在作为信道信息按从接收信息计算出的接收LLR的大小来进行顺序控制的技术中,存在每当接收就需要改变顺序之类的不便。
进而,用上述因子s进行乘法运算的Max-Log-MAP算法的解码性能依赖于因子s的值。为此,就需要在事前算出因子s,但在实际的接收装置等上进行了安装的情况下,如果不依赖于代码构成和信道等改变因子s的值就无法发挥充分的解码性能。
发明内容
本发明就是为了解决如上述那样的课题而完成的,其目的是获得一种对于Min-Sum算法及以其作为基本更新式的Normalized BP算法或Group Shuffled BP算法提供高效率的概率传输算法以加速运算结果的收敛,并能够削减反复解码的次数的编码信号的解码方法、解码装置以及具备它的通信装置。
另外,本发明的目的是获得一种能够不使用如Sum-Product算法那样的复杂的数学函数地以与Min-Sum算法同程度的计算成本、既不用如Normalized B算法或Offset BP算法那样很大地依赖于因子也不需要将校正项作为表来保持,而且还实现较高的解码能力的解码装置以及具备它的通信装置。
进而,本发明的目的是获得一种在经过多值调制来收发的情况和代码为不正规LDPC代码的情况下,都能够有效率地进行按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新的解码算法的运算顺序控制,进而,反复次数也能够削减的解码装置以及具备它的通信装置。
进而,在本发明中,以获得一种在经过多值调制来收发的情况下,通过依赖于调制方式或代码构成来决定因子α(Normalization Factor)或因子β(Offset Factor)而使解码性能提高的解码装置以及具备它的通信装置为目的。
进而,本发明的目的是获得一种当如Shuffled BP算法那样按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新时使处理并列化由此就能够削减运算迟延时间的解码装置以及具备它的通信装置。
另外,本发明的目的是获得一种能够不使用如Log-MAP算法那样的复杂的数学函数地以与Max-Log-MAP算法同程度的计算成本、实现较高的解码能力的解码装置以及具备它的通信装置。
本发明所涉及的解码装置具备对于经过低密度奇偶校验(Low-density Parity-check:LDPC)编码的接收信号,按每一位或者预定的多个位逐个执行利用按照“Min-Sum算法”的行处理及列处理的概率信息的算出及其更新的解码部件。
据此,就具有与解码LDPC代码的按照以往的解码算法的解码装置相比较就能够以更少的反复次数进行解码,而且还能够较少地抑制解码所要的计算成本之类的效果。
另外,根据本发明,就具有对于经过Turbo编码的接收信号能够不使用如Map算法那样的复杂的数学函数地以与Max-Log-MAP算法同程度的计算成本、抑制性能劣化而不会如用上述因子s进行乘法运算的Max-Log-MAP算法那样解码性能依赖于因子之类的效果。
附图说明
图1是表示根据本发明实施方式1的LDPC编码解码装置之构成的框图。
图2是表示图1中的行处理部之构成的框图。
图3是表示根据实施方式1的LDPC编码解码装置之动作的流程图。
图4是对位误码率与解码反复次数的平均值之关系进行了描绘的图表。
图5是表示根据本发明实施方式2的LDPC编码解码装置的行处理部之构成的框图。
图6是对位误码率与解码反复次数的平均值之关系进行了描绘的图表。
图7是表示根据本发明实施方式3的LDPC编码解码装置的行处理部之构成的框图。
图8是对位误码率与解码反复次数的平均值之关系进行了描绘的图表。
图9是表示根据本发明实施方式4的LDPC编码解码装置之构成的框图。
图10是表示图9中的行处理部之构成的框图。
图10A是表示图9中的行处理部的其他构成的框图。
图11是表示根据实施方式4的LDPC编码解码装置之动作的流程图。
图12是对位误码率与信噪比(Eb/No)之关系进行了描绘的图表。
图13是表示根据本发明实施方式5的LDPC编码解码装置的行处理部之构成的框图。
图14是对位误码率与信噪比(Eb/No)之关系进行了描绘的图表。
图15是表示根据本发明实施方式6的LDPC编码解码装置的行处理部之构成的框图。
图16是对位误码率与信噪比(Eb/No)之关系进行了描绘的图表。
图17是表示4PAM Gray Mapping下的接收值之分布的图表。
图18是表示根据本发明实施方式10的LDPC编码解码装置的行处理部之构成的框图。
图19是表示根据本发明实施方式11的LDPC编码解码装置的行处理部之构成的框图。
图20是表示根据本发明实施方式12的LDPC编码解码装置之构成的框图。
图21是表示LDPC代码行列式之构成例的图。
图22是表示利用实施方式12的LDPC编码解码装置的LDPC代码行列式的组分割例的图。
图23是表示根据实施方式12的LDPC编码解码装置之动作的流程图。
图24是对位误码率与解码反复次数的平均值之关系进行了描绘的图表。
图25是表示根据本发明实施方式16的通信装置之构成的框图。
图26是表示根据实施方式16的通信装置中使用的LDPC代码之构成的图。
图27是表示用根据实施方式16的通信装置将LDPC代码调制成4PAM进行收发情况下的位分配之例的图。
图28是表示根据实施方式16的通信装置之动作的流程图,并按此图进行说明。
图29是表示根据本发明实施方式17的LDPC编码解码装置之构成的框图。
图30是用于说明利用图29中的行处理部及列处理部的解码运算的框图。
图31是用于说明利用图29中的行处理部及列处理部的其他解码运算的框图。
图32伪巡回代码之模式图。
图33是用于说明根据本发明实施方式18的行处理部及列处理部的解码运算的框图。
图34是表示根据本发明实施方式19的Turbo编码解码装置之构成的框图。
图35是表示根据实施方式19的Turbo编码解码装置之动作的流程图。
图36是表示包含LDPC解码器的本实施方式的通信系统之构成例的图。
图37是表示移动通信系统之构成例的图。
具体实施方式
以下,为了更为详细地说明本发明,按照附图就用于实施本发明的最佳形态进行说明。
实施方式1.
图1是表示根据本发明实施方式1的LDPC编码解码装置之构成的框图。根据本实施方式1的LDPC编码解码装置1由接收LLR计算部2及解码核心部(解码部件)3构成。接收LLR计算部2接收LDPC(Low-Density Parity Check)编码信号,计算出其对数似然比LLR(Log Likelihood Ratio)(以下、称之为接收LLR)并输出给解码核心部3。解码核心部3由中间结果保持部4、行处理部5、列处理部6、控制部7及解码结果判定部8构成。
在中间结果保持部4中保持基于从接收LLR计算部2输入的接收LLR的行处理部5及列处理部6进行解码处理的中间结果。行处理部5进行行处理。列处理部6进行列处理。控制部7控制行处理部5及列处理部6进行解码处理的反复。解码结果判定部8根据事后值的硬判定来决定解码结果,并进行奇偶校验以判定解码结果的正误。
在这里,在根据本实施方式1的行处理部5中,对于上述式(1)取代上述式(1)及上述式(2)而执行下述式(8)的运算。即,在上述的Shuffled BP算法的步骤1的行处理中,用Min-Sum算法中使用的更新式来进行更新运算。此外,下述式中的各记号与上述的记号相同。
[数学公式5]
ϵ m , n ( i ) = Π n ′ ∈ N ( m ) \ n n ′ ≤ g · N g sign ( z m , n ′ ( i ) ) · MIN ( min n ′ ∈ N ( m ) \ n ( | z m , n ′ ( i ) | ) n ′ ≤ g · N g , min n ′ ∈ N ( m ) \ n n ′ ≥ g · N g + 1 ( | z m , n ′ ( i - 1 ) | ) ) · · · ( 8 )
Figure A20058004125700172
是集合A所包含的n′中的|zm,n′ (i)|最小值
MIN(a,b)是从a、b之中选择较小一方的处理
sign(zm,n′ i):zm,n′ (i)是的符号(±))
图2是表示图1中的行处理部之构成的框图。比较部9进行所输入的两值之绝对值的大小比较,并计算出较小一方与两值的符号(±)之积。行处理部5以多级方式连接多个比较部9而构成。另外,如图所示那样,下级的比较部9输入上级的比较部9的算出结果作为输入两值之一方。各比较部9进行的处理如下述那样。
在比较部9输入了两值a,b的绝对值的情况下,如果|a|<|b|的话,就输出sign(a)×sign(b)×|a|。另外,如果是|a|<|b|以外的话,就输出sign(a)×sign(b)×|b|。此外,sign(a)表示a的符号(±)。在行处理部5中,从中间结果保持部4输入进行行处理的适当位的LLR,并将比较部9计算出各自的大小比较与符号(±)之积的值传递给列处理部6。
这样,根据本实施方式1的LDPC编码解码装置1,以按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新的Shuffled BP算法为基础,在其各行处理中利用Min-Sum算法的近似更新式即上述式(8)而不用上述式(2)及上述式(3)。由此,按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新的Min-Sum算法就得以实现。
其次,就动作进行说明。
图3是表示根据实施方式1的LDPC编码解码装置之动作的流程图,并按照该图对动作进行说明。
首先,接收LLR计算部2输入接收信息(步骤ST1),并从该接收信息计算出接收LLR(步骤ST2)。其次,在初始化步骤(步骤ST3)中,接收LLR计算部2将计算出的接收LLR作为初始值zm,n (0)(:=Fn)设定在中间结果保持部4中。此时,控制部7将解码的反复次数i初始化为i=1。
其次,在步骤ST4中,从反复次数i=1到i=最终解码次(最大反复次数Imax)反复执行利用行处理部5及列处理部6的反复解码处理即步骤1、和利用解码结果判定部8的按照上述式(7)的步骤2的判定处理。
以反复第i次的解码运算为例来进行说明。
首先,对于欲解码的LDPC代码的检查行列式H(=[Hm,n]),在上述式(1)中g=1时,行处理部5进行在从第1列到第Ng列的列上持有1的行的行处理,并将处理结果传递给列处理部6。在列处理部6中同样地进行从第1列到第Ng列的列处理,并使处理结果保持在中间结果保持部4中。
其次,在上述式(1)中g=2时,行处理部5进行在从第(Ng+1)列到第2Ng列的列上持有1的行的行处理,并将处理结果传递给列处理部6。在列处理部6中同样地进行从第(Ng+1)列到第2Ng列的列处理,并使处理结果保持在中间结果保持部4中。
接下来,逐次执行g=3以后的处理,每次,利用行处理部5的处理结果被传递给列处理部6,列处理部6的处理结果被保持在中间结果保持部4中。
最后,在上述式(1)中g=G时,行处理部5进行在从第(N-Ng)列到第N列的列上持有1的行的行处理,并将处理结果传递给列处理部6。在列处理部6中同样地进行从第(N-Ng)列到第N列的列处理,并使处理结果保持在中间结果保持部4中。
在上述的处理中,行处理部5按照上述式(8),由此,在g=1以后的处理中,关于持有在反复第i次已经被更新的LLR的列,使用已被更新的LLR而不是接收LLR来执行行处理。
在步骤2中,解码结果判定部8对由列处理部6在反复第i次计算出的事后值zn (i)进行硬判定而决定解码结果,并进行奇偶校验。此时,如果奇偶校验的结果是NG,则控制部7将反复次数i增加1,接下来使行处理部5及列处理部6执行步骤1的处理。另一方面,如果满足上述式(7)的条件,则使之转移到后述的步骤3的处理。
这样一来,控制部7直到如上述式(7)所示那样奇偶校验的结果为OK或者反复次数成为已设定的最大值Imax为止,以反复进行基于上述式(8)的步骤1及步骤2的处理的方式来控制行处理部5及列处理部6。
若利用解码结果判定部8的奇偶校验的结果为OK或者由控制部7所设定的反复次数i成为最大值Imax,则作为步骤3(步骤ST5),控制部7使利用行处理部5及列处理部6的解码处理结束,解码结果判定部8输出诸如上述式(6)的解码系列作为解码结果。
图4是对以往的按照Min-Sum算法的LDPC编码解码装置和根据实施方式1的LDPC编码解码装置中的、位误码率与直到此位误码率下的奇偶校验成为OK为止所要的解码反复次数的平均值之关系进行了描绘的图表。在图中,在绘图间用虚线联结的一方是基于以往的Min-Sum算法的结果,用实线在绘图间联结的则是根据本实施方式1的结果。
另外,在图4中,LDPC代码是正规LDPC代码、代码长8000、编码率1/2、列权重3、行权重6,最大反复次数Imax是100次。信道设想是AWGN(Additive White Gaussian Noise;加法性白色高斯噪声)信道,调制方式设为BPSK(Binary Phase Shift Keying)。
在以往的Min-Sum算法中,按照上述式(8)在反复解码的任意一次对于编码信号结束全部的行处理以后,进行针对该编码信号的全部位的列处理。与此相对,在根据本实施方式1的LDPC编码解码装置1中,按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新。由此,如图4所示那样,可知直到奇偶校验成为OK为止所要的解码反复次数的平均值的收敛与以往的Min-Sum算法相比较就显著地变快。
如以上那样,根据此实施方式1,按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新,同时还在其行处理中采用Min-Sum算法的简易更新式,所以概率传输就比以往的Min-Sum算法更有效率地得以进行,解码运算的收敛变快并能够削减反复次数。另外,将Min-Sum算法作为行处理的基本算法,就能够削减计算成本而不用如以往的Shuffled BP算法那样需要数学函数。
实施方式2.
在上述实施方式1中,表示了已实现按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新的Min-Sum算法的LDPC编码解码装置。与其相对,根据本实施方式2的LDPC编码解码装置,按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新,同时还在其行处理中执行Normalized BP算法。
根据本实施方式2的LDPC编码解码装置具有与图1已示的根据上述实施方式1的LDPC编码解码装置基本上相同的构成,但是由于Normalized BP算法的执行所以行处理部5之构成及其处理内容不同。
若具体地进行说明,就是在本实施方式2中的行处理部5,对于上述式(1)取代上述式(2)及上述式(3)而执行下述式(9)的运算。即,在按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新的、Shuffled BP算法的步骤1的行处理中,通过Normalized BP算法中使用的更新式即下述式(9)来进行更新运算。此外,下述式(9)中的各记号与上述的相同。另外,常数α是Normalization Factor。
[数学公式6]
ϵ m , n ( i ) = 1 α Π n ′ ∈ N ( m ) \ n n ′ ≤ g · N g sign ( z m , n ′ ( i ) ) · MIN ( min n ′ ∈ N ( m ) \ n ( | z m , n ′ ( i ) | ) n ′ ≤ g · N g , min n ′ ∈ N ( m ) \ n n ′ ≥ g · N g + 1 ( | z m , n ′ ( i - 1 ) | ) ) · · · ( 9 )
根据本实施方式2的LDPC编码解码装置,如上述那样,基本的构成与图1所示的上述实施方式1相同。即,由从接收信息计算出接收LLR的接收LLR计算部2和解码核心部3构成,由解码核心部3执行按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新的、基于Normalized BP算法的解码。
解码核心部3由中间结果保持部4、行处理部5、列处理部6、控制部7及解码结果判定部8构成。中间结果保持部4,如上述实施方式1中已说明那样,保持利用行处理部5及列处理部6的解码的中间结果。在行处理部5中进行利用了上述式(9)的行处理,列处理部6与上述的Shuffled BP算法的步骤1同样地进行利用了上述式(4)及式(5)的列处理。
控制部7进行最大反复次数的设定等解码反复的控制。在解码结果判定部8中,与上述的Shuffled BP算法的步骤1同样地根据列处理部6求出的事后值的硬判定通过上述式(6)计算出解码结果的解码系列,进行奇偶校验并根据上述式(7)的条件来判定解码结果的正误。
图5是表示根据实施方式2的LDPC编码解码装置的行处理部之构成的框图。根据本实施方式的行处理部5由多个比较部9和除法运算部10构成。比较部9与图2所示的同样地进行所输入的两值之绝对值的大小比较,并计算出较小一方与两值的符号(±)之积。在行处理部5中,多个比较部9以多级方式连接起来。另外,如图所示那样,下级的比较部9输入上级的比较部9的算出结果作为输入两值之一方。各比较部9进行的处理如下述那样。
在比较部9输入了两值a,b的绝对值的情况下,如果|a|<|b|的话,就输出sign(a)×sign(b)×|a|。另外,如果是|a|<|b|以外的话,就输出sign(a)×sign(b)×|b|。此外,sign(a)表示a的符号(±)。
在除法运算部10,对于输入值c,计算用因子α(NormalizationFactor)进行了除法运算的c/α并输出到列处理部6。即,在根据本实施方式2的行处理部5中,当从中间结果保持部4输入进行行处理的适当位的LLR时,在比较部9进行各自的大小比较与符号(±)之积,在除法运算部10对由比较部9所得到的值进行了利用因子α的除法运算以后,进行向列处理部6传递的处理。
这样,根据本实施方式1的LDPC编码解码装置1,以按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新的Shuffled BP算法为基础,在其各行处理中利用Normalized BP算法的更新式即上述式(9)而不用上述式(2)及上述式(3)。由此,对一边以与Min-Sum算法同程度的计算成本进行LDPC代码的解码,一边用抑制了解码性能劣化的Normalized BP算法,就实现按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新。
其次,就动作进行说明。
根据本实施方式2的LDPC编码解码装置的基本的动作之流程,与上述实施方式1中的图3的流程图相同。因而,按照图3对动作进行说明,同时就与上述实施方式1不同的动作进行说明。
首先,接收LLR计算部2输入接收信息(步骤ST1),并从该接收信息计算出接收LLR(步骤ST2)。其次,在初始化步骤(步骤ST3)中,接收LLR计算部2将计算出的接收LLR作为初始值zm,n (0)(:=Fn)设定在中间结果保持部4中。此时,控制部7将解码的反复次数i初始化为i=1。
其次,在步骤ST4中,从反复次数i=1到i=最终解码次(最大反复次数Imax)反复执行利用行处理部5及列处理部6的反复解码处理即步骤1、和利用解码结果判定部8的按照上述式(7)的步骤2的判定处理。
以反复第i次的解码运算为例来进行说明。
首先,对于欲解码的LDPC代码的检查行列式H(=[Hm,n]),在上述式(1)中g=1时,行处理部5对于在从第1列到第Ng列的列上持有1的行进行按照上述式(9)的行处理,并将处理结果传递给列处理部6。在列处理部6中,按照上述式(3)及上述式(4)进行从第1列到第Ng列的列处理,并使处理结果保持在中间结果保持部4中。
其次,在上述式(1)中g=2时,行处理部5进行在从第(Ng+1)列到第2Ng列的列上持有1的行的行处理,并将处理结果传递给列处理部6。在列处理部6中同样地进行从第(Ng+1)列到第2Ng列的列处理,并使处理结果保持在中间结果保持部4中。
接下来,逐次执行g=3以后的处理,每次,利用行处理部5的处理结果被传递给列处理部6,列处理部6的处理结果被保持在中间结果保持部4中。
最后,在上述式(1)中g=G时,行处理部5进行在从第(N-Ng)列到第N列的列上持有1的行的行处理,并将处理结果传递给列处理部6。在列处理部6中同样地进行从第(N-Ng)列到第N列的列处理,并使处理结果保持在中间结果保持部4中。
在上述的处理中,行处理部5按照上述式(9),由此,在g=1以后的处理中,关于持有在反复第i次已经被更新的LLR的列,使用已被更新的LLR而不是接收LLR来执行行处理。
在步骤2中,解码结果判定部8对由列处理部6在反复第i次计算出的事后值zn (i)进行硬判定而决定解码结果,并进行奇偶校验。此时,如果奇偶校验的结果是NG,则控制部7将反复次数i增加1,接下来使行处理部5及列处理部6执行步骤1的处理。另一方面,如果满足上述式(7)的条件,则使之转移到后述的步骤3的处理。
这样一来,控制部7直到如上述式(7)所示那样奇偶校验的结果为OK或者反复次数成为已设定的最大值Imax为止,控制行处理部5及列处理部6以便反复进行基于上述式(9)的步骤1及步骤2的处理。
若利用解码结果判定部8的奇偶校验的结果为OK或者由控制部7所设定的反复次数i成为最大值Imax,则作为步骤3(步骤ST5),控制部7使利用行处理部5及列处理部6的解码处理结束,解码结果判定部8输出诸如上述式(6)的解码系列作为解码结果。
图6是对以往的按照Normalized BP算法的LDPC编码解码装置和根据实施方式2的LDPC编码解码装置中的、位误码率与直到此位误码率下的奇偶校验成为OK为止所要的解码反复次数的平均值之关系进行了描绘的图表。在图中,在绘图间用虚线联结的一方是基于以往的Normalized BP算法的结果,用实线在绘图间联结的则是根据本实施方式2的结果。
另外,在图6中,LDPC代码是正规LDPC代码、代码长8000、编码率1/2、列权重3、行权重6,最大反复次数Imax是100次。另外,信道设想是AWGN(Additive White Gaussian Noise;加法性白色高斯噪声)信道,调制方式设为BPSK(Binary Phase Shift Keying)。进而,在以往的Normalized BP算法及根据本实施方式2的Normalized BP算法中,分别将因子α(Normalization Factor)设为α=1.25。
在以往的Normalized BP算法中,按照上述式(9)在反复解码的任意一次对于编码信号结束全部的行处理以后,进行针对该编码信号的全部位的列处理。与此相对,在根据本实施方式2的LDPC编码解码装置中,按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新。由此,如图6所示那样,可知直到奇偶校验成为OK为止所要的解码反复次数的平均值的收敛与以往的Normalized BP算法相比较就显著地变快。
如以上那样,根据此实施方式2,按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新,同时还在其行处理中采用Normalized BP算法的简易更新式,所以概率传输就比以往的Normalized BP算法更有效率地得以进行,解码运算的收敛变快并可以削减反复次数。另外,通过将Normalized BP算法作为基本算法,就能够削减计算成本而不用如以往的Shuffled BP算法那样需要数学函数。
实施方式3.
在本实施方式3中,按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新,同时还在其行处理中执行OffsetBP算法。
根据本实施方式3的LDPC编码解码装置具有与图1已示的根据上述实施方式1的LDPC编码解码装置基本上相同的构成,但是由于OffsetBP算法的执行所以行处理部5之构成及其处理内容不同。若具体地进行说明,就是在本实施方式3中的行处理部5中,对于上述式(1)执行下述式(10)的运算。
即,在按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新的、Shuffled BP算法的步骤1的行处理中,通过Offset BP算法中使用的近似更新式即下述式(10)来进行更新运算。此外,下述式(10)中的各记号与上述的相同。另外,常数β是Offset Factor,MAX设为选择两者之较大一方的操作。
[数学公式7]
p = Π n ′ ∈ N ( m ) \ n n ′ ≤ g · N g sign ( z m , n ′ ( i ) ) · MIN ( min n ′ ∈ N ( m ) \ n ( | z m , n ′ ( i ) | ) n ′ ≤ g · N g , min n ′ ∈ N ( m ) \ n n ′ ≥ g · N g + 1 ( | z m , n ′ ( i - 1 ) | ) ) · · · ( 10 )
ϵ m , n ( i ) = sign ( p ) · MAX ( | p | - β , 0 )
根据本实施方式3LDPC编码解码装置,如上述那样,基本的构成与图1所示的上述实施方式1相同。即,由从接收信息计算出接收LLR的接收LLR计算部2和解码核心部3构成,由解码核心部3执行按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新的、基于Offset BP算法的解码。
解码核心部3由中间结果保持部4、行处理部5、列处理部6、控制部7及解码结果判定部8构成。中间结果保持部4如上述实施方式1中已说明那样,保持利用行处理部5及列处理部6的解码的中间结果。在行处理部5中进行利用了上述式(10)的行处理,列处理部6与上述的Shuffled BP算法的步骤1同样地进行利用了上述式(4)及式(5)的列处理。
控制部7进行最大反复次数的设定等解码反复的控制。在解码结果判定部8中,与上述的Shuffled BP算法的步骤1同样地根据列处理部6求出的事后值的硬判定通过上述式(6)计算出解码结果的解码系列,进行奇偶校验并根据上述式(7)的条件来判定解码结果的正误。
图7是表示根据实施方式3的LDPC编码解码装置的行处理部之构成的框图。根据本实施方式的行处理部5由多个比较部9和减法运算部11构成。比较部9与图2所示的同样地进行所输入的两值之绝对值的大小比较,并计算出较小一方与两值的符号(±)之积。在行处理部5中,多个比较部9以多级方式连接起来。另外,如图所示那样,下级的比较部9输入上级的比较部9的算出结果作为输入两值之一方。各比较部9进行的处理如下述那样。
在比较部9输入了两值a,b的绝对值的情况下,如果|a|<|b|的话,就输出sign(a)×sign(b)×|a|。另外,如果是|a|<|b|以外的话,就输出sign(a)×sign(b)×|b|。此外,sign(a)表示a的符号(±)。
在减法运算部11中,对于输入值c,计算用因子β(Offset Factor)进行了减法运算的c-β并输出到列处理部6。即,在根据本实施方式3的行处理部5中,当从中间结果保持部4输入进行行处理的适当位的LLR时,在比较部9进行各自的大小比较与符号(±)之积,在减法运算部11对由比较部9所得到的值进行了利用因子β的减法运算以后,进行向列处理部6传递的处理。
这样,根据本实施方式3的LDPC编码解码装置,以按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新的Shuffled BP算法为基础,在其各行处理中利用Offset BP算法的更新式即上述式(10)而不用上述式(2)及上述式(3)。由此,对一边以与Min-Sum算法同程度的计算成本进行LDPC代码的解码,一边用抑制了解码性能劣化的Offset BP算法,就实现按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新。
其次,就动作进行说明。
根据本实施方式3的LDPC编码解码装置的基本的动作之流程,与上述实施方式1中的图3之流程图相同。因而,按照图3对动作进行说明,同时就与上述实施方式1不同的动作进行说明。
首先,接收LLR计算部2输入接收信息(步骤ST1),并从该接收信息计算出接收LLR(步骤ST2)。其次,在初始化步骤(步骤ST3)中,接收LLR计算部2将计算出的接收LLR作为初始值zm,n (0)(:=Fn)设定在中间结果保持部4中。此时,控制部7将解码的反复次数i初始化为i=1。
其次,在步骤ST4中,从反复次数i=1到i=最终解码次(最大反复次数Imax)反复执行利用行处理部5及列处理部6的反复解码处理即步骤1、和利用解码结果判定部8的按照上述式(7)的步骤2的判定处理。
以反复第i次的解码运算为例来进行说明。
首先,对于欲解码的LDPC代码的检查行列式H(=[Hm,n]),在上述式(1)中g=1时,行处理部5对于在从第1列到第Ng列的列上持有1的行进行按照上述式(10)的行处理,并将处理结果传递给列处理部6。在列处理部6中,按照上述式(3)及上述式(4)进行从第1列到第Ng列的列处理,并使处理结果保持在中间结果保持部4中。
其次,在上述式(1)中g=2时,行处理部5进行在从第(Ng+1)列到第2Ng列的列上持有1的行的行处理,并将处理结果传递给列处理部6。在列处理部6中同样地进行从第(Ng+1)列到第2Ng列的列处理,并使处理结果保持在中间结果保持部4中。
接下来,逐次执行g=3以后的处理,每次,利用行处理部5的处理结果被传递给列处理部6,列处理部6的处理结果被保持在中间结果保持部4中。
最后,在上述式(1)中g=G时,行处理部5进行在从第(N-Ng)列到第N列的列上持有1的行的行处理,并将处理结果传递给列处理部6。在列处理部6中同样地进行从第(N-Ng)列到第N列的列处理,并使处理结果保持在中间结果保持部4中。
在上述的处理中,行处理部5按照上述式(10),由此,在g=1以后的处理中,关于持有在反复第i次已经被更新的LLR的列,使用已被更新的LLR而不是接收LLR来执行行处理。
在步骤2中,解码结果判定部8对由列处理部6在反复第i次计算出的事后值zn (i)进行硬判定而决定解码结果,并进行奇偶校验。此时,如果奇偶校验的结果是NG,则控制部7将反复次数i增加1,接下来使行处理部5及列处理部6执行步骤1的处理。另一方面,如果满足上述式(7)的条件,则使之转移到后述的步骤3的处理。
这样一来,控制部7直到如上述式(7)所示那样奇偶校验的结果为OK或者反复次数成为已设定的最大值Imax为止,以反复进行基于上述式(10)的步骤1及步骤2的处理的方式来控制行处理部5及列处理部6。
若利用解码结果判定部8的奇偶校验的结果为OK或者由控制部7所设定的反复次数i成为最大值1,则作为步骤3(步骤ST5),控制部7使利用行处理部5及列处理部6的解码处理结束,解码结果判定部8输出诸如上述式(6)的解码系列作为解码结果。
图8是对以往的按照Offset BP算法的LDPC编码解码装置和根据实施方式3的LDPC编码解码装置中的、位误码率与直到此位误码率下的奇偶校验成为OK为止所要的解码反复次数的平均值之关系进行了描绘的图表。在图中,在绘图间用虚线联结的一方是基于以往的Offset BP算法的结果,用实线在绘图间联结的则是根据本实施方式3的结果。
另外,在图8中,LDPC代码是正规LDPC代码、代码长8000、编码率1/2、列权重3、行权重6,最大反复次数Imax是100次。信道设想是AWGN(Additive White Gaussian Noise;加法性白色高斯噪声)信道,调制方式设为BPSK(Binary Phase Shift Keying)。进而,在以往的Offset BP算法及根据本实施方式3的Offset BP算法中,分别将因子β(Offset Factor)设为β=0.15。
在以往的Offset BP算法中,按照上述式(10)在反复解码的任意一次对于编码信号结束全部的行处理以后,进行针对该编码信号的全部位的列处理。与此相对,在根据本实施方式3的LDPC编码解码装置中,按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新。由此,如图8所示那样,可知直到奇偶校验成为OK为止所要的解码反复次数的平均值的收敛与以往的Offset BP算法相比较就显著地变快。
如以上那样,根据此实施方式3,按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新,同时还在其行处理中采用Offset BP算法的简易更新式,所以概率传输就比以往的Offset BP算法更有效率地得以进行,解码运算的收敛变快并能够削减反复次数。另外,通过将Offset BP算法作为基本算法,就能够削减计算成本而不用如以往的Shuffled BP算法那样需要数学函数。
实施方式4.
此实施方式4具备在Min-Sum算法上利用仅通过减法运算和移位运算就能够从接收信息算出的校正项进行校正的校正型Min-Sum算法作为解码算法。
图9是表示根据本发明实施方式4的LDPC编码解码装置之构成的框图。根据本实施方式4的LDPC编码解码装置1由接收LLR计算部2及解码核心部3构成。接收LLR计算部2接收LDPC(Low-Density Parity Check)编码信号,计算出其对数似然比LLR并输出给解码核心部3。解码核心部3由中间结果保持部4、行处理部5、列处理部6、控制部7及解码结果判定部8构成。
中间结果保持部4保持基于从接收LLR计算部2输入的接收LLR的行处理部5及列处理部6进行解码处理的中间结果。行处理部5进行根据上述的利用校正项进行校正的校正型Min-Sum算法的行处理。列处理部6对利用该行处理部5的处理结果进行列处理。控制部7控制行处理部5及列处理部6进行解码处理的反复。解码结果判定部8根据事后值的硬判定来决定解码结果,并进行奇偶校验以判定解码结果的正误。
在这里,在本实施方式4中,与以往的Min-Sum算法同样,在反复解码的任意一次对于编码信号结束全部的行处理后进行针对该编码信号的全部位的列处理。即,若设欲解码的LDPC代码的检查行列式为2维m×n行列式H=[Hm,n](其中,n是大于等于0且小于N的整数,m是大于等于0小于M的整数),则按m=1,2,3,...,M的顺序对满足Hm,n=1的全部组(m,n)进行行处理,之后按n=1,2,3,...,N的顺序对满足Hm,n=1的全部组(m,n)执行列处理。
在反复一次之中所执行的行处理即步骤1中,根据本实施方式4的行处理部5对于下述式(11)执行下述式(12)的运算。下述式(12)中的各参数用下述式(13)~(15)来表示,这些式中的各记号与上述的记号相同。
[数学公式8]
1≤n≤N,n∈M(m)               ...(11)
ϵ m , n ( i ) = Π n ′ ∈ ( m ) \ n sign ( z m , n ′ ( i - 1 ) ) · q · · · ( 12 )
q = func ( z m , n * ′ ( i - 1 ) , q ) , q = func ( z m , n 1 ′ ( i - 1 ) , q ) , q = func ( z m , n 2 ′ ( i - 1 ) , q ) · · · , q = func ( z m , n max - 1 ′ ( i - 1 ) , z m , n max ′ ( i - 1 ) )
...(13)
n′(∈N(m)\n)=n′0,n′1,n′2,...,n′max-1,n′max     ...(14)
func(a,b)=MIN(|a|,|b|)-δ                               ...(15)
δ = C - 1 2 | | a | - | b | | if C > 1 2 | | a | - | b | | , C ; const 0 else
此外,在上述式(15)中,关于作为针对Min-Sum算法的校正项δ是能够从Sum-Product算法的更新式进行级数展开而得到的近似项,能够仅通过利用输入的两值的绝对值之差与2的除法运算、从常数C进行的减法运算而算出。
另外,关于常数C,在从Sum-Product算法的更新式的近似计算中所得到的ln(2)是一个例子,例如还可以通过设定0.9等适当的值,使解码性能提高。进而,关于借助于2的除法运算可以在用硬件等二进制数所表现的系列中,通过1位的移位运算实现。
进而,在步骤1中,若利用行处理部5的全部行处理结束,则根据本实施方式4的列处理部6就对于下述式(16)执行上述式(4)及上述式(5)的运算。
[数学公式9]
1≤n≤N,m∈M(n)        ...(16)
接下来,作为步骤2,解码结果判定部8对事后值zn (i)进行硬判定,并生成用上述式(6)所表示的解码系列。之后,如果满足上述式(7)的条件,则转移到后述的步骤3的处理,如果这两个条件中的任意一个都不满足,则对反复次数i进行加法运算并返回步骤2的处理。在步骤3中,解码结果判定部8输出步骤2中得到的按照上述式(6)的解码系列作为解码结果。
图10是表示图9中的行处理部之构成的框图。校正运算部12进行所输入的两值的绝对值之大小比较、校正项的算出以及基于其的校正,并计算出经过校正的值与两值的符号(±)之积。行处理部5以多级方式连接多个校正运算部12而构成。另外,如图所示那样,下级的校正运算部12输入上级的校正运算部12的算出结果作为输入两值之一方。各校正运算部12进行的处理如下述那样。
在校正运算部12输入了两值a,b的绝对值的情况下,首先,对δ=0.69-(||a|-|b||)>>2进行计算(ln(2)~0.69)。然后,如果是|a|<|b|的话就输出slgn(a)×sign(b)×(|a|-δ)。另外,如果是|a|<|b|以外的话,就输出sign(a)×sign(b)×(|b|-δ)。此外,sign(a)表示a的符号(±)。在行处理部5中,从中间结果保持部4输入进行行处理的适当位的LLR,并进行将校正运算部12计算出各自的大小比较和校正、符号(±)之积的值传递给列处理部6的处理。
这样,在根据本实施方式4的LDPC编码解码装置1中,通过在反复解码的任意一次对于编码信号,在Min-Sum算法上利用仅通过减法运算和移位运算就能够从接收信息算出的校正项进行校正的校正型Min-Sum算法,在结束全部的行处理后进行针对该编码信号的全部位的列处理。
此外,在上述的上述式(12)及图10之构成中,在全部的比较中进行校正,但通过如图10A所示那样仅在利用比较部9的最小两值的比较时进行校正等,与比较次数相比而减少校正次数,就能够削减运算量。
其次,就动作进行说明。
图11是表示根据实施方式4的LDPC编码解码装置之动作的流程图,并按照该图对动作进行说明。
首先,接收LLR计算部2输入接收信息(步骤ST1),并从该接收信息计算出接收LLR(步骤ST2)。其次,在初始化步骤(步骤ST3)中,接收LLR计算部2将计算出的接收LLR作为初始值zm,n (0)(:=Fn)设定在中间结果保持部4中。此时,控制部7将解码的反复次数i初始化为i=1。
其次,在步骤ST4中,从反复次数i=1到i=最终解码次(最大反复次数Imax)反复执行利用行处理部5及列处理部6的反复解码处理即步骤1、和利用解码结果判定部8的按照上述式(7)的步骤2的判定处理。
以反复第i次的解码运算为例来进行说明。
首先,在步骤1中,行处理部5对于欲解码的LDPC代码的检查行列式H(=[Hm,n])进行反复第i次的解码运算中的行处理。具体地进行说明,就是按照上述式(11)的关系使用上述式(12)进行在从第1列到第N列的列上持有1的行的行处理,并使处理结果保持在中间结果保持部4中。
在步骤1中,若利用行处理部5进行的行处理结束,则列处理部6对欲解码的LDPC代码的检查行列式H进行反复第i次的解码运算中的列处理。具体而言,就是按照上述式(16)的关系进行从第1列到第N列的列处理,并使处理结果保持在中间结果保持部4中。
在步骤2中,解码结果判定部8对由列处理部6在反复第i次计算出的事后值zn (i)进行硬判定而决定解码结果,并进行奇偶校验。此时,如果奇偶校验的结果是NG,则控制部7将反复次数i增加1,接下来使行处理部5及列处理部6执行步骤1的处理。另一方面,如果满足上述式(7)的条件,则使之转移到后述的步骤3的处理。
这样一来,控制部7直到如上述式(7)所示那样奇偶校验的结果为OK或者反复次数成为已设定的最大值Imax为止,以反复进行步骤1的处理的方式来控制行处理部5及列处理部6。
若利用解码结果判定部8的奇偶校验的结果为OK或者由控制部7所设定的反复次数i成为最大值Imax,则作为步骤3(步骤ST5),控制部7使利用行处理部5及列处理部6的解码处理结束,解码结果判定部8输出诸如上述式(6)的解码系列作为解码结果。
图12是对以往的按照Sum-Product算法的LDPC编码解码装置、以往的按照Min-Sum算法的LDPC编码解码装置和根据实施方式4的LDPC编码解码装置中的、位误码率与直到此位误码率下的信噪比(Eb/No)之关系进行了描绘的图表。在图中,在绘图间用单点划线联结的一方是基于以往的Sum-Product算法的结果,在绘图间用虚线联结的一方是基于以往的Min-Sum算法的结果,用实线在绘图间联结的则是根据本实施方式4的结果。
另外,在图12中,LDPC代码是正规LDPC代码、代码长8000、编码率1/2、列权重3、行权重6,最大反复次数Imax是100次。信道设想是AWGN(Additive White Gaussian Noise;加法性白色高斯噪声)信道,调制方式设为BPSK(Binary Phase Shift Keying)。
在以往的Sum-Product算法及以往的Min-Sum算法中,分别按照上述式(2)及上述式(8),在反复解码的任意一次对于编码信号结束全部的行处理后,进行针对该编码信号的全部位的列处理。
相对于此,在根据本实施方式4的LDPC编码解码装置1中,按照利用仅通过接收信息的减法运算及移位运算就能够算出的校正项进行校正的校正型Min-Sum算法,在对于针对接收信号的行处理结束全部的行处理后,进行针对该编码信号的全部位的列处理。通过此校正,如图12所示那样,可知根据本实施方式4的LDPC编码解码装置1,与以往的Min-Sum算法相比较解码性能显著提高,另外还能够实现与以往的Sum-Product算法同样的解码性能。
如以上那样,根据此实施方式4,由于是按照利用仅通过接收信息的减法运算及移位运算就能够算出的校正项进行校正的校正型Min-Sum算法来执行解码处理,所以就能够抑制源于以往的Sum-Product算法的解码性能的劣化,而且还能够与以往的Min-Sum算法相比较显著地使解码性能提高。
另外,因为是从接收信息计算出针对Min-Sum算法的校正项,所以就不需要如以往的校正型Min-Sum算法那样准备好保持校正项的表,也不需要如以往的Normalized BP算法或Offset BP算法等那样,预先准备好依赖于代码构成经过优化的因子。
进而,用于算出基于接收信息的校正项的计算,可以仅通过减法运算和1移位运算来执行,就能够用简易的硬件构成实现根据实施方式4的LDPC编码解码装置1。
实施方式5.
在上述实施方式4中,表示了将利用仅通过接收信息的减法运算及移位运算就能够算出的校正项来进行校正的校正型Min-Sum算法实现了的解码装置。与其相对,根据本实施方式5的解码装置,执行使用将上述实施方式4中所说明的校正型Min-Sum算法中的行处理结果用常数经过除法运算后的值来进行列处理的带除法运算的校正型Min-Sum算法作为解码算法。
根据本实施方式5的解码装置,具有与图9已示的根据上述实施方式4的解码装置基本上相同的构成,但是由于带除法运算的校正型Min-Sum算法的执行所以行处理部5之构成及其处理内容不同。若具体地进行说明,就是在本实施方式5中的行处理部5中,对于上述式(11)取代上述实施方式4中的行处理中所用的上述式(12)而执行下述式(17)的运算。此外,设下述式(17)中的各参数按照上述式(13)~上述式(15)。另外,关于其他的处理,与上述实施方式4相同,记号如上述那样。
[数学公式10]
ϵ m , n ( i ) = 1 α · Π n ′ ∈ N ( m ) \ n sign ( z m , n ′ ( i - 1 ) ) · q · · · ( 1 )
在这里,作为针对Min-Sum算法的校正项的δ是能够从Sum-Product算法的更新式进行级数展开而得到的近似项,能够仅通过利用输入的两值的绝对值之差与2的除法运算、从常数C进行的减法运算而算出。
此外,关于常数C,在从Sum-Product算法的更新式的近似计算中所得到的ln(2)是一个例子,还可以通过设定适当的值,使解码性能提高。进而,关于借助于2的除法运算可以在用硬件等二进制数所表现的系列中,通过1位的移位运算实现。
除法运算常数α具有与Normalized BP算法中的NormalizationFactor同样的效果,并具有通过将上述实施方式4中的校正型Min-Sum算法的行处理所算出的LLR的大小调整成与Sum-Product算法中所算出的LLR的大小同程度,而使解码性能提高的效果。此外,设本实施方式中的带除法运算的校正型Min-Sum算法中的除法运算常数α与Normalized BP算法同样地称之为Normalization Factor。
根据本实施方式5的LDPC编码解码装置,如上述那样基本的构成与图9所示的上述实施方式4相同。即,由从接收信息计算出接收LLR的接收LLR计算部2和解码核心部3构成,由解码核心部3执行对于接收信号由按照带除法运算的校正型Min-Sum算法的行处理与列处理进行的解码。
解码核心部3由中间结果保持部4、行处理部5、列处理部6、控制部7及解码结果判定部8构成。中间结果保持部4,如上述实施方式1中已说明那样,保持利用行处理部5及列处理部6进行解码的中间结果,在行处理部5中进行利用了上述式(17)的行处理,列处理部6对于上述式(16)的关系,进行利用了上述式(4)及式(5)的列处理。
控制部7进行最大反复次数的设定等解码反复的控制。在解码结果判定部8中,根据列处理部6求出的事后值的硬判定通过上述式(6)计算出解码结果的解码系列,进行奇偶校验并根据上述式(7)的条件来判定解码结果的正误。
图13是表示根据实施方式5的LDPC编码解码装置的行处理部之构成的框图。根据本实施方式的行处理部5由多个校正运算部12和除法运算部13构成。校正运算部12与图10所示的同样地进行所输入的两值的绝对值的大小比较、校正项的算出及校正,并计算出经过校正的值与两值的符号(±)之积。在行处理部5中,多个校正运算部12以多级方式连接起来。另外,如图所示那样,下级的校正运算部12输入上级的校正运算部12的算出结果作为输入两值之一方。各校正运算部12进行的处理如下述那样。
校正运算部12若输入两值a,b的绝对值,就对δ=0.69-(||a|-|b||)>>2进行计算(ln(2)~0.69)。然后,如果是|a|<|b|的话就输出slgn(a)×sign(b)×(|a|-δ)。另外,如果是|a|<|b|以外的话,就输出sign(a)×sign(b)×(|b|-δ)。此外,sign(a)表示a的符号(±)。
在除法运算部13中,用常数α(Normalization Factor)对上述的利用校正运算部12的运算结果进行除法运算。即,除法运算部13对于输入值c,计算c/α并进行输出。这样,在行处理部5中,校正运算部12从中间结果保持部4输入进行行处理的适当位的LLR,并进行各自的大小比较与符号(±)之积及利用校正项的校正,除法运算部13将校正运算部12计算出的值用常数α进行了除法运算后,传递给列处理部6。
其次,就动作进行说明。
根据本实施方式5的LDPC编码解码装置的基本的动作之流程,与上述实施方式4中的图11之流程图相同。因而,按照图11对动作进行说明,同时就与上述实施方式4不同的动作进行说明。
首先,接收LLR计算部2输入接收信息(步骤ST1),并从该接收信息计算出接收LLR(步骤ST2)。其次,在初始化步骤(步骤ST3)中,接收LLR计算部2将计算出的接收LLR作为初始值zm,n (0)(:=Fn)设定在中间结果保持部4中。此时,控制部7将解码的反复次数i初始化为i=1。
其次,在步骤ST4a中,从反复次数i=1到i=最终解码次(最大反复次数Imax)反复执行利用行处理部5及列处理部6的反复解码处理即步骤1、和利用解码结果判定部8的按照上述式(7)的步骤2的判定处理。
以反复第i次的解码运算为例来进行说明。
首先,在步骤1中,行处理部5对于欲解码的LDPC代码的检查行列式H(=[Hm,n])进行反复第i次的解码运算中的行处理。具体而言,就是按照上述式(11)的关系使用上述式(17)进行在从第1列到第N列的列上持有1的行的行处理,并使处理结果保持在中间结果保持部4中。
在步骤1中,若利用行处理部5的行处理结束,则列处理部6对于欲解码的LDPC代码的检查行列式H进行反复第i次的解码运算中的列处理。具体而言,就是按照上述式(16)的关系进行从第1列到第N列的列处理,并使处理结果保持在中间结果保持部4中。
在步骤2中,解码结果判定部8对由列处理部6在反复第i次计算出的事后值zn (i)进行硬判定而决定解码结果,并进行奇偶校验。此时,如果奇偶校验的结果是NG,控制部7就将反复次数i增加1,接下来使行处理部5及列处理部6执行步骤1的处理。另一方面,如果满足上述式(7)的条件,则使之转移到后述的步骤3的处理。
这样一来,控制部7直到如上述式(7)所示那样奇偶校验的结果为OK或者反复次数成为已设定的最大值Imax为止,以反复进行步骤1的处理的方式来控制行处理部5及列处理部6。
若利用解码结果判定部8的奇偶校验的结果为OK或者由控制部7所设定的反复次数i成为最大值Imax,则作为步骤3(步骤ST5),控制部7使利用行处理部5及列处理部6的解码处理结束,解码结果判定部8输出诸如上述式(6)的解码系列作为解码结果。
图14是对以往的按照Sum-Product算法的LDPC编码解码装置、以往的按照Normalized BP算法的LDPC编码解码装置和根据实施方式5的LDPC编码解码装置中的、位误码率与在此位误码率下的信噪比(Eb/No)之关系进行了描绘的图表。在图中,在绘图间用虚线联结的一方是基于以往的Sum-Product算法的结果,在绘图间用单点划线联结的一方是基于以往的Normalized BP算法的结果,用实线在绘图间联结的则是根据本实施方式5的结果。
另外,在图14中,LDPC代码是正规LDPC代码、代码长8000、编码率1/2、列权重3、行权重6,最大反复次数Imax是100次。信道设想是AWGN(Additive White Gaussian Noise;加法性白色高斯噪声)信道,调制方式设为BPSK(Binary Phase Shift Keying)。另外,表示在Normalized BP算法中将因子α(Normalization Factor)设为α=1.25时的解码性能。
在以往的Sum-Product算法及以往的Normalized BP算法中,分别按照上述式(2)及上述式(9),在反复解码的任意一次对于编码信号结束全部的行处理后,进行针对该编码信号的全部位的列处理。
相对于此,在根据本实施方式5的LDPC编码解码装置1中,按照使用将上述实施方式4所示的校正型Min-Sum算法中的行处理结果用常数α经过除法运算后的值来进行列处理的带除法运算的校正型Min-Sum算法,在对于针对接收信号的行处理结束全部的行处理后,进行针对该编码信号的全部位的列处理。通过此校正,如图14所示那样,在本实施方式5中,与以往的Normalized BP算法相比较解码性能显著提高,另外还能够实现与以往的Sum-Product算法大致同样的解码性能。
如以上那样,根据此实施方式5,由于是按照使用将校正型Min-Sum算法中的行处理结果用常数经过除法运算后的值来进行列处理的带除法运算的校正型Min-Sum算法来执行解码处理,其中,该校正型Min-Sum算法利用仅通过接收信息的减法运算及移位运算就能够算出的校正项进行校正,所以不仅如以往的Normalized BP算法那样将以往的Sum-Product算法所计算出的LLR的大小之差用因子α(Normalization Factor)进行调整,还对上述实施方式4所示的校正型Min-Sum算法进一步进行校正,由此,就能够比以往的Normalized BP算法更显著地使解码性能提高。
另外,因为针对根据本实施方式5的Min-Sum算法的校正项是从接收信息计算出,所以就不需要如以往的校正型算法那样保持校正项表。进而,用于算出基于接收信息的校正项的计算,可以仅通过减法运算和1移位运算来执行,就能够用简易的硬件构成实现根据实施方式5的LDPC编码解码装置1。
实施方式6.
在本实施方式6中,执行使用从上述实施方式4中所说明的校正型Min-Sum算法中的行处理结果用常数经过减法运算后的值来进行列处理的带减法运算的校正型Min-Sum算法作为解码算法。
根据本实施方式6的LDPC编码解码装置,具有与图9已示的根据上述实施方式4的LDPC编码解码装置基本相同的构成,但是由于带减法运算的校正型Min-Sum算法的执行所以行处理部5之构成及其处理内容不同。
若具体地进行说明,就是在本实施方式6中的行处理部5中,对于上述式(11)取代上述实施方式4中的行处理中所用的上述式(12)而执行下述式(18)的运算。此外,设下述式(18)中的各参数按照上述式(13)~上述式(15)。另外,关于其他的处理,与上述实施方式4相同,记号如上述那样。
[数学公式11]
p = Π n ′ ∈ N ( m ) \ n sign ( z m , n ′ ( i - 1 ) ) · q
ϵ m , n ( i ) = sign ( p ) · MAX ( | p | - β , 0 ) · · · ( 18 )
在这里,作为针对Min-Sum算法的校正项的δ是能够从Sum-Product算法的更新式进行级数展开而得到的近似项,能够仅通过利用输入的两值的绝对值之差与2的除法运算、从常数C进行的减法运算而算出。
此外,关于常数C,在从Sum-Product算法的更新式的近似计算中所得到的ln(2)是一个例子,还可以通过设定适当的值,使解码性能提高。进而,关于借助于2的除法运算可以在用硬件等二进制数所表现的系列中,通过1位的移位运算实现。
减法运算常数β具有与Offset BP算法中的Offset Factor同样的效果,并具有通过将根据上述实施方式4的校正型Min-Sum算法的行处理所算出的LLR的大小调整成与Sum-Product算法中所算出的LLR的大小同程度,而使解码性能提高的效果。此外,设根据本实施方式6的带减法运算的校正型Min-Sum算法中的减法运算常数β与Offset BP算法同样地称之为Offset Factor。
根据本实施方式6的LDPC编码解码装置如上述那样,基本的构成与图9所示的上述实施方式4相同。即,由从接收信息计算出接收LLR的接收LLR计算部2和解码核心部3构成,由解码核心部3执行对于接收信号由按照带减法运算的校正型Min-Sum算法的行处理与列处理进行的解码。
解码核心部3由中间结果保持部4、行处理部5、列处理部6、控制部7及解码结果判定部8构成。中间结果保持部4,如上述实施方式1中已说明那样,保持利用行处理部5及列处理部6的解码的中间结果。在行处理部5中进行利用了上述式(18)的行处理,列处理部6对于上述式(16)的关系,进行利用了上述式(4)及式(5)的列处理。
控制部7进行最大反复次数的设定等解码反复的控制。在解码结果判定部8中,根据列处理部6求出的事后值的硬判定通过上述式(6)计算出解码结果的解码系列,进行奇偶校验并根据上述式(7)的条件来判定解码结果的正误。
图15是表示根据实施方式6的LDPC编码解码装置的行处理部之构成的框图。根据本实施方式的行处理部5由多个校正运算部12和减法运算部14构成。校正运算部12与图10所示的同样地进行所输入的两值的绝对值的大小比较、校正项的算出及校正,并计算出经过校正的值与两值的符号(±)之积。在行处理部5中,多个校正运算部12以多级方式连接起来。另外,如图所示那样,下级的校正运算部12输入上级的校正运算部12的算出结果作为输入两值之一方。各校正运算部12进行的处理如下述那样。
校正运算部12若输入两值a,b的绝对值,就对δ=0.69-(||a|-|b||)>>2进行计算(ln(2)~0.69)。然后,如果是|a|<|b|的话就输出slgn(a)×sign(b)×(|a|-δ)。另外,如果是|a|<|b|以外的话,就输出sign(a)×sign(b)×(|b|-δ)。此外,sign(a)表示a的符号(±)。
在减法运算部4中,用常数β(Offset Factor)对上述的利用校正运算部12的运算结果进行减法运算。即,减法运算部14,对输入值c计算(c-β),如果计算结果不为负就输出(c-β),如果为负就输出0。这样,在行处理部5中,校正运算部12从中间结果保持部4输入进行行处理的适当位的LLR,并进行各自的大小比较与符号(±)之积及利用校正项的校正,减法运算部14将校正运算部12计算出的值用常数β进行了减法运算后,传递给列处理部6。
其次,就动作进行说明。
根据本实施方式6的LDPC编码解码装置的基本的动作之流程,与上述实施方式4中的图11之流程图相同。因而,按照图11对动作进行说明,同时就与上述实施方式4不同的动作进行说明。
首先,接收LLR计算部2输入接收信息(步骤ST1),并从该接收信息计算出接收LLR(步骤ST2)。其次,在初始化步骤(步骤ST3)中,接收LLR计算部2将计算出的接收LLR作为初始值zm,n (0)(:=Fn)设定在中间结果保持部4中。此时,控制部7将解码的反复次数i初始化为i=1。
其次,在步骤ST4a中,从反复次数i=1到i=最终解码次(最大反复次数Imax)反复执行利用行处理部5及列处理部6的反复解码处理即步骤1、和利用解码结果判定部8的按照上述式(7)的步骤2的判定处理。
以反复第i次的解码运算为例来进行说明。
首先,在步骤1中,行处理部5对于欲解码的LDPC代码的检查行列式H(=[Hm,n])进行反复第i次的解码运算中的行处理。具体而言,就是按照上述式(11)的关系使用上述式(18)进行在从第1列到第N列的列上持有1的行的行处理,并使处理结果保持在中间结果保持部4中。
在步骤1中,若利用行处理部5的行处理结束,则列处理部6对于欲解码的LDPC代码的检查行列式H进行反复第i次的解码运算中的列处理。具体而言,就是按照上述式(16)的关系进行从第1列到第N列的列处理,并使处理结果保持在中间结果保持部4中。
在步骤2中,解码结果判定部8对由列处理部6在反复第i次计算出的事后值zn (i)进行硬判定而决定解码结果,并进行奇偶校验。此时,如果奇偶校验的结果是NG,控制部7就将反复次数i增加1,接下来使行处理部5及列处理部6执行步骤1的处理。另一方面,如果满足上述式(7)的条件,则使之转移到后述的步骤3的处理。
这样一来,控制部7直到如上述式(7)所示那样奇偶校验的结果为OK或者反复次数成为已设定的最大值Imax为止,以反复进行步骤1的处理的方式来控制行处理部5及列处理部6。
若利用解码结果判定部8的奇偶校验的结果为OK或者由控制部7所设定的反复次数i成为最大值Imax,则作为步骤3(步骤ST5),控制部7使利用行处理部5及列处理部6的解码处理结束,解码结果判定部8输出诸如上述式(6)的解码系列作为解码结果。
图16是对以往的按照Sum-Product算法的LDPC编码解码装置、以往的按照Offset BP算法的LDPC编码解码装置和根据实施方式6的LDPC编码解码装置中的、位误码率与直到此位误码率下的信噪比(Eb/No)之关系进行了描绘的图表。在图中,在绘图间用虚线联结的一方是基于以往的Sum-Product算法的结果,在绘图间用单点划线联结的一方是基于以往的Offset BP算法的结果,用实线在绘图间联结的则是根据本实施方式6的结果。
另外,在图16中,LDPC代码是正规LDPC代码、代码长8000、编码率1/2、列权重3、行权重6,最大反复次数Imax是100次。信道设想是AWGN(Additive White Gaussian Noise;加法性白色高斯噪声)信道,调制方式设为BPSK(Binary Phase Shift Keying)。另外,表示在Offset BP算法中将因子β(Offset Factor)设为β=0.25时的解码性能。
在以往的Sum-Product算法及以往的Normalized BP算法中,分别按照上述式(2)及上述式(10),在反复解码的任意一次对于编码信号结束全部的行处理后,进行针对该编码信号的全部位的列处理。
相对于此,在根据本实施方式6的LDPC编码解码装置1中,按照使用将上述实施方式4所示的校正型Min-Sum算法中的行处理结果用常数β经过减法运算后的值来进行列处理的带减法运算的校正型Min-Sum算法,在对于针对接收信号的行处理结束全部的行处理后,进行针对该编码信号的全部位的列处理。通过此校正,如图16所示那样,在本实施方式6中,与以往的Offset BP算法相比较解码性能显著提高,另外还能够实现与以往的Sum-Product算法大致同样的解码性能。
如以上那样,根据此实施方式6,由于是按照使用将校正型Min-Sum算法中的行处理结果用常数经过减法运算后的值来进行列处理的带减法运算的校正型Min-Sum算法来执行解码处理,其中,该校正型Min-Sum算法利用仅通过接收信息的减法运算及移位运算就能够算出的校正项进行校正,所以不仅如以往的Offset BP算法那样将以往的Sum-Product算法所计算出的LLR的大小之差用因子β(Offset Factor)进行调整,还对上述实施方式4所示的校正型Min-Sum算法进一步进行校正,由此,就能够比以往的Offset BP算法更显著地使解码性能提高。
另外,因为针对根据本实施方式6的Min-Sum算法的校正项是从接收信息计算出,所以就不需要如以往的校正型算法那样保持校正项表。进而,用于算出基于接收信息的校正项的计算,可以仅通过减法运算和1移位运算来执行,就能够用简易的硬件构成实现根据实施方式6的LDPC编码解码装置1。
实施方式7.
在此实施方式7中,按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新,同时在其行处理中进行上述实施方式4所说明的校正型Min-Sum算法。
根据本实施方式7的LDPC编码解码装置具有与图9已示的根据上述实施方式4的LDPC编码解码装置基本上相同的构成,但校正型Min-Sum算法中的按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新这一点不同。
若具体地进行说明,就是在本实施方式7中的行处理部5中,对于上述式(11)取代上述实施方式4中的行处理中所用的上述式(12)而执行下述式(19)的运算。此外,设下述式(19)中的各参数按照下述式(20)、上述式(14)和(15)。另外,关于其他的处理,与上述实施方式4相同,记号如上述那样。
[数学公式12]
ϵ m , n ( 1 ) = Π n ′ ∈ N ( m ) \ n n ′ ≤ g · N g sign ( z m , n ′ ( i ) ) Π n ′ ∈ N ( m ) \ n n ′ ≥ g ′ N g + 1 sign ( z m , n ′ ( i - 1 ) ) · q
q = func ( z m , n 0 ′ ( i - 1 ) , q ) , · · · , q = func ( z m , n g , N g ′ ( i - 1 ) , q ) , q = func ( z m , n g · N g + 1 ′ ( i - 1 ) , q ) · · · , q = func ( z m , n max - 1 ′ ( i - 1 ) , z m , n max ′ ( i - 1 ) ) ...(20)
此外,在上述式(15)中,作为针对Min-Sum算法的校正项的δ是能够从Sum-Product算法的更新式进行级数展开而得到的近似项,能够仅通过利用输入的两值的绝对值之差与2的除法运算、从常数C进行的减法运算而算出。
另外,关于常数C,关于常数C,在从Sum-Product算法的更新式的近似计算中所得到的ln(2)是一个例子,还可以通过设定适当的值,使解码性能提高。进而,关于借助于2的除法运算可以在用硬件等二进制数所表现的系列中,通过1位的移位运算实现。
根据本实施方式7的LDPC编码解码装置,如上述那样基本的构成与图9所示的上述实施方式4相同。即,由从接收信息计算出接收LLR的接收LLR计算部2和解码核心部3构成,由解码核心部3执行对于接收信号由按照校正型Min-Sum算法的行处理与列处理进行的解码。
解码核心部3由中间结果保持部4、行处理部5、列处理部6、控制部7及解码结果判定部8构成。中间结果保持部4,如上述实施方式1中已说明那样,保持利用行处理部5及列处理部6进行解码的中间结果,在行处理部5中对于上述式(1)的关系,进行利用了上述式(19)的行处理,列处理部6对于上述式(1)的关系,进行利用了上述式(4)及式(5)的列处理。
控制部7进行最大反复次数的设定等解码反复的控制。在解码结果判定部8中,根据列处理部6求出的事后值的硬判定通过上述式(6)计算出解码结果的解码系列,进行奇偶校验并根据上述式(7)的条件来判定解码结果的正误。
另外,根据本实施方式7的行处理部5,如上述那样基本的构成与图10所示的上述实施方式4相同。即,校正运算部12进行所输入的两值的绝对值的大小比较、校正项的算出以及基于其的校正,并计算出经过校正的值与两值的符号(±)之积。在这里,行处理部5以多级方式连接多个校正运算部12而构成,上级的校正运算部12的算出结果作为下级的校正运算部12中的输入两值之一方被输入。各校正运算部12进行的处理如下述那样。
在校正运算部12输入了两值a,b的绝对值的情况下,首先,对δ=0.69-(||a|-|b||)>>2进行计算(ln(2)~0.69)。然后,如果是|a|<|b|的话就输出slgn(a)×sign(b)×(|a|-δ)。另外,如果是|a|<|b|以外的话,就输出sign(a)×sign(b)×(|b|-δ)。此外,sign(a)表示a的符号(±)。在行处理部5中,从中间结果保持部4输入进行行处理的适当位的LLR,并进行将校正运算部12计算出各自的大小比较和校正、符号(±)之积的值传递给列处理部6的处理。
这样,根据本实施方式7的LDPC编码解码装置,以按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新的Shuffled BP算法为基础,在其各行处理中利用上述式(19)而不用上述式(2)及上述式(3)。
其次,就动作进行说明。
根据本实施方式7的LDPC编码解码装置的基本的动作之流程与上述实施方式1中的图3之流程图相同。因而,按照图3对动作进行说明。
首先,接收LLR计算部2输入接收信息(步骤ST1),并从该接收信息计算出接收LLR(步骤ST2)。其次,在初始化步骤(步骤ST3)中,接收LLR计算部2将计算出的接收LLR作为初始值zm,n (0)(:=Fn)设定在中间结果保持部4中。此时,控制部7将解码的反复次数i初始化为i=1。
其次,在步骤ST4中,从反复次数i=1到i=最终解码次(最大反复次数Imax)反复执行利用行处理部5及列处理部6的反复解码处理即步骤1、和利用解码结果判定部8的按照上述式(7)的步骤2的判定处理。
以反复第i次的解码运算为例来进行说明。
首先,对于欲解码的LDPC代码的检查行列式H(=[Hm,n]),在上述式(1)中g=1时,行处理部5按照上述式(19)进行在从第1列到第Ng列的列上持有1的行的行处理,并将处理结果传递给列处理部6。在列处理部6中同样地进行从第1列到第Ng列的列处理,并使处理结果保持在中间结果保持部4中。
其次,在上述式(1)中g=2时,行处理部5按照上述式(19)进行在从第(Ng+1)列到第2Ng列的列上持有1的行的行处理,并将处理结果传递给列处理部6。在列处理部6中同样地进行从第(Ng+1)列到第2Ng列的列处理,并使处理结果保持在中间结果保持部4中。
接下来,逐次执行g=3以后的处理,每次,利用行处理部5的处理结果被传递给列处理部6,列处理部6的处理结果被保持在中间结果保持部4中。
最后,在上述式(1)中g=G时,行处理部5按照上述式(19)进行在从第(N-Ng)列到第N列的列上持有1的行的行处理,并将处理结果传递给列处理部6。在列处理部6中同样地进行从第(N-Ng)列到第N列的列处理,并使处理结果保持在中间结果保持部4中。
在上述的处理中,行处理部5按照上述式(19),由此,在g=1以后的处理中,关于持有在反复第i次已经被更新的LLR的列,使用已被更新的LLR而不是接收LLR来执行行处理。
在步骤2中,解码结果判定部8,对由列处理部6在反复第i次计算出的事后值zn (i)进行硬判定而决定解码结果,并进行奇偶校验。此时,如果奇偶校验的结果是NG,控制部7就将反复次数i增加1,接下来使行处理部5及列处理部6执行步骤1的处理。另一方面,如果满足上述式(7)的条件,则使之转移到后述的步骤3的处理。
这样一来,控制部7直到如上述式(7)所示那样奇偶校验的结果为OK或者反复次数成为已设定的最大值Imax为止,以反复进行基于上述式(8)的步骤1及步骤2的处理的方式来控制行处理部5及列处理部6。
若利用解码结果判定部8的奇偶校验的结果为OK或者由控制部7所设定的反复次数i成为最大值Imax,则作为步骤3(步骤ST5),控制部7使利用行处理部5及列处理部6的解码处理结束,解码结果判定部8输出诸如上述式(6)的解码系列作为解码结果。
如以上那样,根据此实施方式7,按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新,同时在其行处理中按照上述实施方式4所示的校正型Min-Sum算法来进行处理,所以概率传输就有效率地得以进行,解码运算的收敛变快并能够削减反复次数。
另外,通过以基于Sum-Product算法的近似从接收信息进行校正的校正型Min-Sum算法作为基本算法,就能够比以往的Shuffled BP算法还要削减计算成本,并且获得较高的解码性能。
实施方式8.
在根据该实施方式8的LDPC编码解码装置中,按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新,同时在其行处理中执行上述实施方式5所示的带除法运算的校正型Min-Sum算法。
根据本实施方式8的LDPC编码解码装置具有与图9已示的根据上述实施方式4的LDPC编码解码装置基本上相同的构成,但是由于带除法运算的校正型Min-Sum算法的执行所以行处理部5之构成及其处理内容不同。
若具体地进行说明,就是在本实施方式8中的行处理部5中,针对上述式(1)执行下述式(21)的运算。即,在按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新的、Shuffled BP算法的步骤1的行处理中,根据上述实施方式5所示的带除法运算的校正型Min-Sum算法中使用的更新式即下述式(21)来进行更新运算。此外,设下述式(21)中的各参数按照上述式(20)、上述式(14)、(15)。另外,关于其他的处理,与上述实施方式4相同,记号如上述那样。
[数学公式13]
ϵ m , n ( 1 ) = 1 α Π n ′ ∈ N ( m ) \ n n ′ ≤ g · N g sign ( z m , n ′ ( i ) ) Π n ′ ∈ N ( m ) \ n n ′ ≥ g ′ N g + 1 sign ( z m , n ′ ( i - 1 ) ) · q · · · ( 21 )
上述式(15)中的作为针对Min-Sum算法的校正项的δ是能够从Sum-Product算法的更新式进行级数展开而得到的近似项,能够仅通过利用输入的两值的绝对值之差与2的除法运算、从常数C进行的减法运算而算出。
此外,关于常数C,在从Sum-Product算法的更新式的近似计算中所得到的ln(2)是一个例子,还可以通过设定适当的值,使解码性能提高。进而,关于借助于2的除法运算可以在用硬件等二进制数所表现的系列中,通过1位的移位运算实现。
除法运算常数α具有与Normalized BP算法中的NormalizationFactor同样的效果,并具有通过将按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新的、在带除法运算的校正型Min-Sum算法的行处理所算出的LLR的大小调整成与Sum-Product算法中所算出的LLR的大小同程度,而使解码性能提高的效果。
根据本实施方式8的LDPC编码解码装置,如上述那样基本的构成与图9所示的上述实施方式4相同。即,由从接收信息计算出接收LLR的接收LLR计算部2和解码核心部3构成,由解码核心部3执行按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新的、基于带除法运算的校正型Min-Sum算法的解码。
解码核心部3由中间结果保持部4、行处理部5、列处理部6、控制部7及解码结果判定部8构成。中间结果保持部4,如上述实施方式1中已说明那样,保持利用行处理部5及列处理部6的解码的中间结果。在行处理部5中按照上述式(1)的关系进行利用了上述式(21)的行处理,列处理部6与上述的Shuffled BP算法的步骤1同样地进行利用了上述式(4)及式(5)的列处理。
控制部7进行最大反复次数的设定等解码反复的控制。在解码结果判定部8中,与上述的Shuffled BP算法的步骤1同样地根据列处理部6求出的事后值的硬判定通过上述式(6)计算出解码结果的解码系列,进行奇偶校验并根据上述式(7)的条件来判定解码结果的正误。
另外,根据本实施方式8的行处理部5,基本的构成与图13所示的上述实施方式5相同。即,由多个校正运算部12与除法运算部13构成。在这里,校正运算部12进行所输入的两值的绝对值的大小比较、校正项的算出以及基于其的校正,并计算出经过校正的值与两值的符号(±)之积。另外,行处理部5以多级方式连接多个校正运算部12而构成,上级的校正运算部12的算出结果作为下级的校正运算部12中的输入两值之一方被输入。各校正运算部12进行的处理如下述那样。
在校正运算部12输入了两值a,b的绝对值的情况下,首先,对δ=0.69-(||a|-|b||)>>2进行计算(ln(2)~0.69)。然后,如果是|a|<|b|的话就输出slgn(a)×sign(b)×(|a|-δ)。另外,如果是|a|<|b|以外的话,就输出sign(a)×sign(b)×(|b|-δ)。此外,sign(a)表示a的符号(±)。
在除法运算部13中,用常数α(Normalization Factor)对上述的利用校正运算部12的运算结果进行除法运算。即,除法运算部13对于输入值c,计算c/α并进行输出。这样,在行处理部5中,校正运算部12从中间结果保持部4输入进行行处理的适当位的LLR,并进行各自的大小比较与符号(±)之积及利用校正项的校正,除法运算部13将校正运算部12计算出的值用常数α进行了除法运算后,传递给列处理部6。
这样,根据本实施方式8的LDPC编码解码装置,以按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新的Shuffled BP算法为基础,在其各行处理中利用上述式(21)。
其次,就动作进行说明。
根据本实施方式8的LDPC编码解码装置的基本的动作之流程与上述实施方式1中的图3之流程图相同。因而,按照图3对动作进行说明。
首先,接收LLR计算部2输入接收信息(步骤ST1),并从该接收信息计算出接收LLR(步骤ST2)。其次,在初始化步骤(步骤ST3)中,接收LLR计算部2将计算出的接收LLR作为初始值zm,n (0)(:=Fn)设定在中间结果保持部4中。此时,控制部7将解码的反复次数i初始化为i=1。
其次,在步骤ST4中,从反复次数i=1到i=最终解码次(最大反复次数Imax)反复执行利用行处理部5及列处理部6的反复解码处理即步骤1、和利用解码结果判定部8的按照上述式(7)的步骤2的判定处理。
以反复第i次的解码运算为例来进行说明。
首先,对于欲解码的LDPC代码的检查行列式H(=[Hm,n]),在上述式(1)中g=1时,行处理部5按照上述式(21)进行在从第1列到第Ng列的列上持有1的行的行处理,并将处理结果传递给列处理部6。在列处理部6中同样地进行从第1列到第Ng列的列处理,并使处理结果保持在中间结果保持部4中。
其次,在上述式(1)中g=2时,行处理部5按照上述式(21)进行在从第(Ng+1)列到第2Ng列的列上持有1的行的行处理,并将处理结果传递给列处理部6。在列处理部6中同样地进行从第(Ng+1)列到第2Ng列的列处理,并使处理结果保持在中间结果保持部4中。
接下来,逐次执行g=3以后的处理,每次,利用行处理部5的处理结果被传递给列处理部6,列处理部6的处理结果被保持在中间结果保持部4中。
最后,在上述式(1)中g=G时,行处理部5按照上述式(21)进行在从第(N-Ng)列到第N列的列上持有1的行的行处理,并将处理结果传递给列处理部6。在列处理部6中同样地进行从第(N-Ng)列到第N列的列处理,并使处理结果保持在中间结果保持部4中。
在上述的处理中,行处理部5按照上述式(21),由此,在g=1以后的处理中,关于持有在反复第i次已经被更新的LLR的列,使用已被更新的LLR而不是接收LLR来执行行处理。
在步骤2中,解码结果判定部8对由列处理部6在反复第i次计算出的事后值zn (i)进行硬判定而决定解码结果,并进行奇偶校验。此时,如果奇偶校验的结果是NG,控制部7就将反复次数i增加1,接下来使行处理部5及列处理部6执行步骤1的处理。另一方面,如果满足上述式(7)的条件,则使之转移到后述的步骤3的处理。
这样一来,控制部7直到如上述式(7)所示那样奇偶校验的结果为OK或者反复次数成为已设定的最大值Imax为止,以反复进行基于上述式(8)的步骤1及步骤2的处理的方式来控制行处理部5及列处理部6。
若利用解码结果判定部8的奇偶校验的结果为OK或者由控制部7所设定的反复次数i成为最大值Imax,则作为步骤3(步骤ST5),控制部7使利用行处理部5及列处理部6的解码处理结束,解码结果判定部8输出诸如上述式(6)的解码系列作为解码结果。
如以上那样,根据此实施方式8,按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新,同时在其行处理中按照上述实施方式5所示的带除法运算的校正型Min-Sum算法来进行处理,所以概率传输就有效率地得以进行,解码运算的收敛变快并能够削减反复次数。
另外,通过以基于Sum-Product算法的近似从接收信息进行校正的带除法运算的校正型Min-Sum算法作为基本算法,就能够比以往的Shuffled BP算法还要削减计算成本,并且获得较高的解码性能。
实施方式9.
在根据此实施方式9的LDPC编码解码装置中,按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新,同时在其行处理中执行上述实施方式6所示的带减法运算的校正型Min-Sum算法。
根据本实施方式9的LDPC编码解码装置,具有与图9已示的根据上述实施方式4的LDPC编码解码装置基本上相同的构成,但是由于带减法运算的校正型Min-Sum算法的执行所以行处理部5之构成及其处理内容不同。
若具体地进行说明,就是在本实施方式9中的行处理部5中,针对上述式(1)执行下述式(22)的运算。即,在按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新的、Shuffled BP算法的步骤1的行处理中,根据上述实施方式6所示的带减法运算的校正型Min-Sum算法中使用的更新式即下述式(22)来进行更新运算。此外,设下述式(22)中的各参数按照上述式(20)、上述式(14)、(15)。另外,关于其他的处理,与上述实施方式4相同,记号如上述那样。
[数学公式14]
p = Π n ′ ∈ N ( m ) \ n n ′ ≤ g · N g sign ( z m , n ′ ( i ) ) Π n ′ ∈ N ( m ) \ n n ′ ≥ g ′ N g + 1 sign ( z m , n ′ ( i - 1 ) ) · q · · · ( 22 )
ϵ m , n ( i ) = sign ( p ) · MAX ( | p | - β , 0 )
上述式(15)中的作为针对Min-Sum算法的校正项的δ是能够从Sum-Product算法的更新式进行级数展开而得到的近似项,能够仅通过利用输入的两值的绝对值之差与2的除法运算、从常数C进行的减法运算而算出。
此外,关于常数C,在从Sum-Product算法的更新式的近似计算中所得到的ln(2)是一个例子,还可以通过设定适当的值,使解码性能提高。进而,关于借助于2的除法运算可以在用硬件等二进制数所表现的系列中,通过1位的移位运算实现。
减法运算常数β具有与Offset BP算法中的Offset Factorβ同样的效果,并具有通过将按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新的、在带减法运算的校正型Min-Sum算法的行处理所算出的LLR的大小调整成与Sum-Product算法中所算出的LLR的大小同程度,而使解码性能提高的效果。
根据本实施方式9的LDPC编码解码装置,如上述那样基本的构成与图9所示的上述实施方式4相同。即,由从接收信息计算出接收LLR的接收LLR计算部2和解码核心部3构成,由解码核心部3执行按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新的、基于带减法运算的校正型Min-Sum算法的解码。
解码核心部3由中间结果保持部4、行处理部5、列处理部6、控制部7及解码结果判定部8构成。中间结果保持部4,如上述实施方式1中已说明那样,保持利用行处理部5及列处理部6的解码的中间结果。在行处理部5中按照上述式(1)的关系进行利用了上述式(22)的行处理,列处理部6与上述的Shuffled BP算法的步骤1同样地进行利用了上述式(4)及式(5)的列处理。
控制部7进行最大反复次数的设定等解码反复的控制。在解码结果判定部8中,与上述的Shuffled BP算法的步骤1同样地根据列处理部6求出的事后值的硬判定通过上述式(6)计算出解码结果的解码系列,进行奇偶校验并根据上述式(7)的条件来判定解码结果的正误。
另外,根据本实施方式9的行处理部5,基本的构成与图15所示的上述实施方式6相同。即,由多个校正运算部12与减法运算部14构成。在这里,校正运算部12进行所输入的两值的绝对值的大小比较、校正项的算出以及基于其的校正,并计算出经过校正的值与两值的符号(±)之积。另外,行处理部5以多级方式连接多个校正运算部12而构成,上级的校正运算部12的算出结果作为下级的校正运算部12中的输入两值之一方被输入。各校正运算部12进行的处理如下述那样。
在校正运算部12输入两值a,b的绝对值的情况下,首先,对δ=0.69-(||a|-|b||)>>2进行计算(ln(2)~0.69)。然后,如果是|a|<|b|的话就输出slgn(a)×sign(b)×(|a|-δ)。另外,如果是|a|<|b|以外的话,就输出sign(a)×sign(b)×(|b|-δ)。此外,sign(a)表示a的符号(±)。在行处理部5中,从中间结果保持部4输入进行行处理的适当位的LLR,并进行将校正运算部12计算出各自的大小比较和校正、符号(±)之积的值传递给列处理部6的处理。
在减法运算部14中,用常数β(Offset Factor)对上述的利用校正运算部12的运算结果进行除法运算。即,减法运算部14对于输入值c,计算(c-β)并进行输出。这样,在行处理部5中,校正运算部12从中间结果保持部4输入进行行处理的适当位的LLR,并进行各自的大小比较与符号(±)之积及利用校正项的校正,减法运算部14将校正运算部12计算出的值用常数β进行了减法运算后,传递给列处理部6。
这样,根据本实施方式9的LDPC编码解码装置,以按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新的Shuffled BP算法为基础,在其各行处理中利用上述式(22)。
其次,就动作进行说明。
根据本实施方式9的LDPC编码解码装置的基本的动作之流程与上述实施方式1中的图3之流程图相同。因而,按照图3对动作进行说明。
首先,接收LLR计算部2输入接收信息(步骤ST1),并从该接收信息计算出接收LLR(步骤ST2)。其次,在初始化步骤(步骤ST3)中,接收LLR计算部2将计算出的接收LLR作为初始值zm,n (0)(:=Fn)设定在中间结果保持部4中。此时,控制部7将解码的反复次数i初始化为i=1。
其次,在步骤ST4中,从反复次数i=1到i=最终解码次(最大反复次数Imax)反复执行利用行处理部5及列处理部6的反复解码处理即步骤1、和利用解码结果判定部8的按照上述式(7)的步骤2的判定处理。
以反复第i次的解码运算为例来进行说明。
首先,对于欲解码的LDPC代码的检查行列式H(=[Hm,n]),在上述式(1)中g=1时,行处理部5按照上述式(22)进行从第1列到第N列的列上持有1的行的行处理,并将处理结果传递给列处理部6。在列处理部6中同样地从第1列到第N列的列处理,并使处理结果保持在中间结果保持部4中。
其次,在上述式(1)中g=2时,行处理部5按照上述式(22)进行在从第(Ng+1)列到第2Ng列的列上持有1的行的行处理,并将处理结果传递给列处理部6。在列处理部6中同样地进行从第(Ng+1)列到第2Ng列的列处理,并使处理结果保持在中间结果保持部4中。
接下来,逐次执行g=3以后的处理,每次,利用行处理部5的处理结果被传递给列处理部6,列处理部6的处理结果被保持在中间结果保持部4中。
最后,在上述式(1)中g=G时,行处理部5按照上述式(22)进行在从第(N-Ng)列到第N列的列上持有1的行的行处理,并将处理结果传递给列处理部6。在列处理部6中同样地进行从第(N-Ng)列到第N列的列处理,并使处理结果保持在中间结果保持部4中。
在上述的处理中,行处理部5按照上述式(22),由此,在g=1以后的处理中,关于持有在反复第i次已经被更新的LLR的列,使用已被更新的LLR而不是接收LLR来执行行处理。
在步骤2中,解码结果判定部8对由列处理部6在反复第i次计算出的事后值zn (i)进行硬判定而决定解码结果,并进行奇偶校验。此时,如果奇偶校验的结果是NG,控制部7就将反复次数i增加1,接下来使行处理部5及列处理部6执行步骤1的处理。另一方面,如果满足上述式(7)的条件,则使之转移到后述的步骤3的处理。
这样一来,控制部7直到如上述式(7)所示那样奇偶校验的结果为OK或者反复次数成为已设定的最大值Imax为止,以反复进行基于上述式(8)的步骤1及步骤2的处理的方式来控制行处理部5及列处理部6。
若利用解码结果判定部8的奇偶校验的结果为OK或者由控制部7所设定的反复次数i成为最大值Imax,则作为步骤3(步骤ST5),控制部7使利用行处理部5及列处理部6的解码处理结束,解码结果判定部8输出诸如上述式(6)的解码系列作为解码结果。
如以上那样,根据此实施方式9,按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新,同时在其行处理中按照上述实施方式6所示的带减法运算的校正型Min-Sum算法来进行处理,所以概率传输就有效率地得以进行,解码运算的收敛变快并能够削减反复次数。
另外,通过以基于Sum-Product算法的近似从接收信息进行校正的带减法运算的校正型Min-Sum算法作为基本算法,就能够比以往的Shuffled BP算法还要削减计算成本,并且获得较高的解码性能。
实施方式10.
此实施方式10按照对于检查行列式的全部行不持有一定的因子α(Normalization Factor)而是持有按每行决定的因子αm(Normalization Factor)的解码算法来进行解码。
此外,本实施方式10可以在具有因子α(Normalization Factor)的所有解码算法中应用通常的Normalized BP算法、上述实施方式5所示的带除法运算的校正型Min-Sum算法、还有在这些算法中按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新的解码算法等。
在这里,以与以往的Min-Sum算法同样地在反复解码的任意一次对编码信号结束全部行处理后进行针对该编码信号的全部位的列处理的、Normalized BP算法中,应用了每一行的因子αm(NormalizationFactor)的LDPC编码解码装置为例进行列举来说明。
根据本实施方式10的LDPC编码解码装置具有与图9已示的根据上述实施方式4的LDPC编码解码装置基本上相同的构成,但因为执行使用了每一行的因子αm(Normalization Factor)的Normalized BP算法所以行处理部5之构成及其处理内容不同。若具体地进行说明,就是在本实施方式10中的行处理部5中,对于上述式(11),取代上述实施方式4中的行处理所用的上述式(12),而执行下述式(23)的运算。此外,下述式(23)中的各参数,与上述实施方式4相同,记号如上述那样。因子αm表示第m行的Normalization Factor。
[数学公式15]
ϵ m , n ( i ) = 1 α m · Π n ′ ∈ N ( m ) \ n sign ( z m , n ′ ( i - 1 ) · min n ′ ⋐ N ( m ) \ n ( | z m , n ′ ( i - 1 ) | ) ) · · · ( 23 )
图17是表示将调制方式设为4PAM Gray Mapping时的接收值之分布的图表。在图中,在与涂黑的绘图所示的各调制信号点对应的两位的数字代码00,01,11,10之中、表示位值0,0,1,1的MSB(MostSignificant Bit)的0与1的边界仅有0(图中、实线部分),但表示位值0,1,1,0的LSB(Least Significant Bit)的0与1的边界有-2和2(图中、虚线部分)两处,可知LSB一方位的反转容易发生。
这样,MSB和LSB中在位误码率上就有差异。另外,用Sum-Product算法与Min-Sum算法的行处理结果的平均值之比来表示的αm就依赖于在各行持有1的位的错误率。由此,在调制方式4PAM的情况下,因子αm就依赖于在各行持有1的位的MSB的个数、LSB的个数。
因此,在本实施方式中,关于αm就预先准备与各行对应的值。此外,虽然在这里以4PAM为例来列举,但是除此以外在接收信号的各位中的位误码率上产生不同的多值调制方式下也同样如此。
另外,在不正规LDPC代码的情况下,行权重不一定。为此,Sum-Product算法与Min-Sum算法的行处理结果的平均值之比即αm就依赖于行权重。由此,在本实施方式中关于αm就准备与各行的行权重对应的值。此外,αm使用模拟或者密度发展法事前算出。
根据本实施方式10的LDPC编码解码装置,如上述那样基本的构成与图9所示的上述实施方式4相同。即,由从接收信息计算出接收LLR的接收LLR计算部2和解码核心部3构成,由解码核心部3执行按照采用了每一行的因子αm(Normalization Factor)的Normalized BP算法的行处理与列处理对于接收信号进行的解码。
解码核心部3由中间结果保持部4、行处理部5、列处理部6、控制部7及解码结果判定部8构成。中间结果保持部4,如上述实施方式1中已说明那样,保持利用行处理部5及列处理部6的解码的中间结果。在行处理部5中进行利用了上述式(23)的行处理,列处理部6对于上述式(16)的关系,进行利用了上述式(4)及式(5)的列处理。
控制部7进行最大反复次数的设定等解码反复的控制。在解码结果判定部8中,根据列处理部6求出的事后值的硬判定通过上述式(6)计算出解码结果的解码系列,进行奇偶校验并根据上述式(7)的条件来判定解码结果的正误。
图18是表示根据实施方式10的LDPC编码解码装置的行处理部之构成的框图。根据本实施方式的行处理部5由多个比较部9、除法运算部10a及除法运算常数选择部15构成。比较部9与图2所示的同样地进行所输入的两值之绝对值的大小比较,并计算出较小一方与两值的符号(±)之积。在行处理部5中,多个比较部9以多级方式连接起来。另外,如图所示那样,下级的比较部9输入上级的比较部9的算出结果作为输入两值之一方。各比较部9进行的处理如下述那样。
在比较部9输入了两值a,b的绝对值的情况下,如果|a|<|b|的话,就输出sign(a)×sign(b)×|a|。另外,如果是|a|<|b|以外的话,就输出sign(a)×sign(b)×|b|。此外,sign(a)表示a的符号(±)。
在除法运算部10a中,对上述的利用比较部9的运算结果用来自除法运算常数选择部15的常数αm(Normalization Factor)进行除法运算。即,除法运算部10a对于输入值c计算c/αm并进行输出。这样,在行处理部5中,比较部9从中间结果保持部4输入进行行处理的适当位的LLR,并求出各自的大小比较与符号(±)之积,除法运算部10a在对由比较部9计算出的值用常数αm进行了除法运算以后,传递给列处理部6。
在除法运算常数选择部15中,预先存储各行的αm值,由控制部7接受信道及代码构成的信息,并输入此信息中的处理对象的行编号m以决定各行的αm,传递给除法运算部10a。
这样,在根据本实施方式10的行处理部5中,从中间结果保持部4输入进行行处理的适当位的LLR,并用比较部9求出各自的大小比较与符号(±)之积,除法运算部10a对由比较部9得到的值用除法运算常数选择部15所选择的αm进行了除法运算以后,进行向列处理部6传递的处理。
其次,就动作进行说明。
根据本实施方式10的LDPC编码解码装置的基本的动作之流程与上述实施方式4中的图11之流程图相同。因而,按照图11对动作进行说明。
首先,接收LLR计算部2输入接收信息(步骤ST1),并从该接收信息计算出接收LLR(步骤ST2)。其次,在初始化步骤(步骤ST3)中,接收LLR计算部2将计算出的接收LLR作为初始值zm,n (0)(:=Fn)设定在中间结果保持部4中。此时,控制部7将解码的反复次数i初始化为i=1,同时对除法运算常数选择部15传递与调制方式和行权重有关的信息。基于该信息,除法运算常数选择部15决定各行的αm并传给除法运算部10a。
其次,在步骤ST4a中,从反复次数i=1到i=最终解码次(最大反复次数Imax)反复执行利用行处理部5及列处理部6的反复解码处理即步骤1、和利用解码结果判定部8的按照上述式(7)的步骤2的判定处理。
以反复第i次的解码运算为例来进行说明。
首先,在步骤1中,行处理部5,对于欲解码的LDPC代码的检查行列式H(=[Hm,n])进行反复第i次的解码运算中的行处理。具体而言,就是按照上述式(11)的关系使用上述式(23)进行在从第1列到第N列的列上持有1的行的行处理,并使处理结果保持在中间结果保持部4中。
在步骤1中,若利用行处理部5进行的行处理结束,则列处理部6对欲解码的LDPC代码的检查行列式H进行反复第i次的解码运算中的列处理。具体而言,就是按照上述式(16)的关系进行从第1列到第N列的列处理,并使处理结果保持在中间结果保持部4中。
在步骤2中,解码结果判定部8对由列处理部6在反复第i次计算出的事后值zn (i)进行硬判定而决定解码结果,并进行奇偶校验。此时,如果奇偶校验的结果是NG,则控制部7将反复次数i增加1,接下来使行处理部5及列处理部6执行步骤1的处理。另一方面,如果满足上述式(7)的条件,则使之转移到后述的步骤3的处理。
这样一来,控制部7直到如上述式(7)所示那样奇偶校验的结果为OK或者反复次数成为已设定的最大值Imax为止,以反复进行步骤1的处理的方式来控制行处理部5及列处理部6。
若利用解码结果判定部8的奇偶校验的结果为OK或者由控制部7所设定的反复次数i成为最大值Imax,则作为步骤3(步骤ST5),控制部7使利用行处理部5及列处理部6的解码处理结束,解码结果判定部8输出诸如上述式(6)的解码系列作为解码结果。
如以上那样,根据此实施方式10,依照调制方式及代码构成逐行设定Normalized BP算法中的Normalization Factor,所以在经过多值调制的情况和代码为不正规LDPC代码等情况下比起用以往的Normalized BP算法进行解码,就能够使所传输的概率信息接近Sum-Product算法,并使解码性能提高。
此外,在上述实施方式10中,以在反复解码的任意一次对于编码信号结束全部的行处理后进行针对该编码信号的全部位的列处理的、Normalized BP算法中,应用了每一行的因子αm(NormalizationFactor)的LDPC编码解码装置为例来列举,但还可以构成除此算法以外,在上述实施方式5所示的带除法运算的校正型Min-Sum算法、在这些算法中按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新的解码算法等中,应用了每一行的因子αm的LDPC编码解码装置。
实施方式11.
此实施方式11按照对于检查行列式的全部行不持有一定的因子β(Offset Factor)而是持有按每行决定的因子βm(Offset Factor)的解码算法来进行解码。
此外,本实施方式11可以在具有因子β(Offset Factor)的所有解码算法中应用通常的Offset BP算法、上述实施方式6所说明的带减法运算的校正型Min-Sum算法、还有在这些算法中按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新的解码算法等。
在这里,以与以往的Min-Sum算法同样地在反复解码的任意一次对编码信号结束全部行处理后进行针对该编码信号的全部位的列处理的、Offset BP算法中,应用了每一行的因子βm(Offset Factor)的LDPC编码解码装置为例进行列举来说明。
根据本实施方式11的LDPC编码解码装置具有与图9已示的根据上述实施方式4的LDPC编码解码装置基本上相同的构成,但因为执行使用了每一行的因子βm(Offset Factor)的Offset BP算法所以行处理部5之构成及其处理内容不同。若具体地进行说明,就是在本实施方式11中的行处理部5中,对于上述式(11),取代上述实施方式4中的行处理所用的上述式(12),而执行下述式(24)的运算。此外,下述式(24)中的各参数,与上述实施方式4相同,记号如上述那样。因子βm表示第m行的Offset Factor。
[数学公式16]
ϵ m , n ( i ) = sign ( p ) · MAX ( | p | - β m , 0 ) · · · ( 24 )
p = Π n ′ ∈ N ( m ) \ n sign ( z m , n ′ ( i - 1 ) ) · min n ′ ∈ N ( m ) \ n ( | z m , n ′ ( i - 1 ) | )
例如,在将调制方式设为4PAM Gray Mapping时的接收值如上述那样,以图17的方式分布,在MSB和LSB中在位误码率上有差异。
另外,用Sum-Product算法与Min-Sum算法的行处理结果的平均值之差来表示的βm就依赖于在各行持有1的位的错误率。由此,在调制方式4PAM的情况下,因子βm就依赖于在各行持有1的位的MSB的个数、LSB的个数。
因此,在本实施方式中,关于βm就预先准备与各行对应的值。此外,虽然在这里以4PAM为例来列举,但是除此以外在位误码率上产生不同的多值调制方式下也同样如此。
另外,在不正规LDPC代码的情况下,行权重不一定。为此,Sum-Product算法与Min-Sum算法的行处理结果的平均值之差即βm就依赖于行权重。由此,在本实施方式中关于βm就准备与各行的行权重对应的值。此外,βm使用模拟或者密度发展法事前算出。
根据本实施方式11的LDPC编码解码装置,如上述那样基本的构成与图9所示的上述实施方式4相同。即,由从接收信息计算出接收LLR的接收LLR计算部2和解码核心部3构成,由解码核心部3执行按照采用了每一行的因子βm(Offset Factor)的Offset BP算法的行处理与列处理对于接收信号进行的解码。
解码核心部3由中间结果保持部4、行处理部5、列处理部6、控制部7及解码结果判定部8构成。中间结果保持部4,如上述实施方式1中已说明那样,保持利用行处理部5及列处理部6的解码的中间结果。在行处理部5中进行利用了上述式(24)的行处理,列处理部6对于上述式(16)的关系,进行利用了上述式(4)及式(5)的列处理。
控制部7进行最大反复次数的设定等解码反复的控制。在解码结果判定部8中,根据列处理部6求出的事后值的硬判定通过上述式(6)计算出解码结果的解码系列,进行奇偶校验并根据上述式(7)的条件来判定解码结果的正误。
图19是表示根据实施方式11的LDPC编码解码装置的行处理部之构成的框图。根据本实施方式的行处理部5由多个比较部9、减法运算部11a及减法运算常数选择部16构成。比较部9与图2所示的同样地进行所输入的两值之绝对值的大小比较,并计算出较小一方与两值的符号(±)之积。在行处理部5中,多个比较部9以多级方式连接起来。另外,如图所示那样,下级的比较部9输入上级的比较部9的算出结果作为输入两值之一方。各比较部9进行的处理如下述那样。
在比较部9输入了两值a,b的绝对值的情况下,如果|a|<|b|的话,就输出sign(a)×sign(b)×|a|。另外,如果是|a|<|b|以外的话,就输出sign(a)×sign(b)×|b|。此外,sign(a)表示a的符号(±)。
在减法运算部11a中,对上述的利用比较部9的运算结果用来自减法运算常数选择部16的常数βm(Offset Factor)进行减法运算。即,减法运算部11a对于输入值c计算c-βm并进行输出。这样,在行处理部5中,比较部9从中间结果保持部4输入进行行处理的适当位的LLR,并求出各自的大小比较与符号(±)之积,减法运算部11a在对由比较部9计算出的值用常数βm进行了减法运算以后,传递给列处理部6。
在减法运算常数选择部16中,预先存储各行的βm值,由控制部7接受信道及代码构成的信息,并输入此信息中的处理对象的行编号m以决定各行的βm,传递给减法运算部11a。
这样,在根据本实施方式11的行处理部5中,从中间结果保持部4输入进行行处理的适当位的LLR,并用比较部9求出各自的大小比较与符号(±)之积,减法运算部11a对由比较部9得到的值用减法运算常数选择部16所选择的βm进行了减法运算以后,进行向列处理部6传递的处理。
其次,就动作进行说明。
根据本实施方式11的LDPC编码解码装置的基本的动作之流程与上述实施方式4中的图11之流程图相同。因而,按照图11对动作进行说明。
首先,接收LLR计算部2输入接收信息(步骤ST1),并从该接收信息计算出接收LLR(步骤ST2)。其次,在初始化步骤(步骤ST3)中,接收LLR计算部2将计算出的接收LLR作为初始值zm,n (0)(:=Fn)设定在中间结果保持部4中。此时,控制部7将解码的反复次数i初始化为i=1,同时对减法运算常数选择部16传递与调制方式和行权重有关的信息。基于该信息,减法运算常数选择部16决定各行的βm并传给减法运算部11a。
其次,在步骤ST4a中,从反复次数i=1到i=最终解码次(最大反复次数Imax)反复执行利用行处理部5及列处理部6的反复解码处理即步骤1、和利用解码结果判定部8的按照上述式(7)的步骤2的判定处理。
以反复第i次的解码运算为例来进行说明。
首先,在步骤1中,行处理部5,对于欲解码的LDPC代码的检查行列式H(=[Hm,n])进行反复第i次的解码运算中的行处理。具体而言,就是按照上述式(11)的关系使用上述式(24)进行在从第1列到第N列的列上持有1的行的行处理,并使处理结果保持在中间结果保持部4中。
在步骤1中,若利用行处理部5进行的行处理结束,则列处理部6对欲解码的LDPC代码的检查行列式H进行反复第i次的解码运算中的列处理。具体而言,就是按照上述式(16)的关系进行从第1列到第N列的列处理,并使处理结果保持在中间结果保持部4中。
在步骤2中,解码结果判定部8对由列处理部6在反复第i次计算出的事后值zn (i)进行硬判定而决定解码结果,并进行奇偶校验。此时,如果奇偶校验的结果是NG,则控制部7将反复次数i增加1,接下来使行处理部5及列处理部6执行步骤1的处理。另一方面,如果满足上述式(7)的条件,则使之转移到后述的步骤3的处理。
这样一来,控制部7直到如上述式(7)所示那样奇偶校验的结果为OK或者反复次数成为已设定的最大值Imax为止,以反复进行步骤1的处理的方式来控制行处理部5及列处理部6。
若利用解码结果判定部8的奇偶校验的结果为OK或者由控制部7所设定的反复次数i成为最大值Imax,则作为步骤3(步骤ST5),控制部7使利用行处理部5及列处理部6的解码处理结束,解码结果判定部8输出诸如上述式(6)的解码系列作为解码结果。
如以上那样,根据此实施方式11,依照调制方式及代码构成逐行设定Offset BP算法中的Offset Factor,所以在经过多值调制的情况和代码为不正规LDPC代码等情况下比起用以往的Offset BP算法进行解码,就能够使所传输的概率信息接近Sum-Product算法,并使解码性能提高。
此外,在上述实施方式11中,以在反复解码的任意一次对于编码信号结束全部的行处理后进行针对该编码信号的全部位的列处理的、Offset BP算法中,应用了每一行的因子βm(Offset Factor)的LDPC编码解码装置为例来列举,但还可以构成除此算法以外,在上述实施方式6所示的带减法运算的校正型Min-Sum算法、在这些算法中按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新的解码算法等中,应用了每一行的因子βm的LDPC编码解码装置。
实施方式12.
图20是表示根据本发明实施方式12的LDPC编码解码装置之构成的框图。根据本实施方式12的LDPC编码解码装置1与图1所示的上述实施方式1之构成相同,由接收LLR计算部2及解码核心部3构成。在这里,与上述实施方式1在具备运算列控制部17这一点上不同。运算列控制部17基于组分割来决定利用行处理部5及列处理部6的运算对象的列,并对基于组分割的解码处理进行控制。
在根据实施方式12的LDPC编码解码装置中,如以往的GroupShuffled BP算法那样,按预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新,但是基于代码构成分割成多个位每一个的组合即组。
在这里,就本实施方式中的基于代码构成的组分割进行说明。
首先,在逐位进行利用行处理与列处理的概率信息的算出及更新的解码算法中,与不是这样的算法相比可以以较少的反复次数结束解码,这是因为通过将已算出的概率信息立即进行更新并在同一反复次数中的下一解码运算中进行利用,就可有效率地进行概率信息的传播的缘故。
按多个位逐个进行利用行处理与列处理的概率信息的算出及更新的Group Shuffled BP算法的情况也同样如此,但在以往的GroupShuffled BP算法中,若同一组的诸列间相互在同一行上持有1,就相互使用未被更新的概率信息来进行处理。
因而,在本实施方式中,在如Group Shuffled BP算法那样按多个位逐个进行利用行处理与列处理的概率信息的算出及更新解码算法中,在创建多个位的组合的组分割之际以同一组所包含的诸列间相互在同一行上不持有1的方式进行组分割。由此,与同一组的诸列间相互在同一行上持有1的情况相比较就能够有效率地进行概率信息的传播,并能够消减反复次数。
图21是表示LDPC编码行列之构成例的图,在图中用三角形包围行列式的右上的部分表示为0的LDPC编码行列式。另外,图22是表示利用实施方式12的LDPC编码解码装置的LDPC代码行列式的组分割例的图。在如图21所示那样的LDPC行列中,编码行列能够与解码行列共通地使用,在实用上的优点很多。
在对用这种LDPC代码经过编码的编码行列进行组分割,并按预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新的情况下,如图22所示那样,对不连续的奇偶位部分进行组分割。在图22的例中,作为不使奇偶位部分连续的组分割每隔1列对LDPC行列式进行组分割。此外,设图中各组上所附的符号A,B,C,D,E,F分别代表表示从第1个到第6个组的组1,2,3,4,5,6。
在根据本实施方式12的LDPC编码解码装置中,基于代码构成执行如图22所示那样对LDPC编码行列式进行组分割的GroupShuffled BP算法。以下简单地进行说明。
首先,作为初始化步骤,将反复次数i设定为i=1,将最大反复次数设定为Imax,将对数似然比LLR(Log Likelihood Ratio)的初始值zm,n (0)设定为Fn(zm,n (0):=Fn)。此外,欲解码的LDPC代码的检查行列式H为2维m×n行列式H=[Hm,n](其中,n是大于等于0且小于N的整数,m是大于等于0小于M的整数),设Hm,n为H的第m行第n列要素。
其次,作为步骤1,对于下述式(25)的条件,执行运算上述式(2)及上述式(3)的行处理。在这里,N(m)、M(n)是集合[1,N]的部分集合,并定义为N(m):={n:Hm,n=1}、M(n):={m:Hm,n=1}。即,N(m)意味着检查行列式H的m行中持有1的列索引的集合,M(n)意味着LDPC检查行列式H的m行中持有1的列索引的集合。
[数学公式17]
1≤g≤G(g:整数、G-N/Ng)
n∈GR(g),m∈M(n)          ...(25)
另外,将从集合A中除去元a所得到的集合记为A\a。即,N(m)\n是从集合N(m)中除掉第n列的列索引的集合,M(n)\m表示从集合M(n)中除掉第m行的行索引的集合。zm,n (i)是在反复第i次经过更新的LLR,εm,n (i)是从检查节点送往位节点的反复第i次的LLR。
进而,在步骤1中,对于上述式(25)的条件,执行运算上述式(4)及上述式(5)的列处理。在这里,zm,n (i)是从位节点送往检查节点的反复第i次的LLR。进而,zn (i)是反复第i次的事后值。
其次,作为步骤2,对事后值zn (i)进行硬判定,并生成用上述式(6)所表示的解码系列。之后,如果满足上述式(7)的条件,则转移到后述的步骤3的处理,如果这两个条件中的任意一个都不满足,则对反复次数i进行加法运算并返回步骤2的处理。在步骤3中,输出步骤2中得到的按照上述式(6)的解码系列作为解码结果。
其中,设各记号按照上述公式。另外,设GR(g)表示构成第g个组的列的组。若用图22所示的例子具体地表示GR(g)就成为以下那样。
组1(GR(1))是2k+1=1,3,5,7,...,Ng-1,其中k大于等于0小于Ng
组2(GR(2))是2k+2=2,4,6,8,...,Ng,其中k大于等于0小于Ng
组3(GR(3))是2k+1=Ng+1,Ng+3,Ng+5,...,2Ng-1,其中k大于等于Ng小于2Ng
组G(GR(G))是2k+2=G·Ng-2Ng+2,...,G·Ng,其中k大于等于(G/2-1)·Ng小于G·Ng
根据本实施方式12的LDPC编码解码装置,如上述那样,除具有运算列控制部17以外,基本的构成与图1所示的上述实施方式1相同。即,由从接收信息计算出接收LLR的接收LLR计算部2和解码核心部3构成,由解码核心部3执行基于每隔1位进行组分割的Group Shuffled BP算法的LDPC代码的解码。
解码核心部3由中间结果保持部4、行处理部5、列处理部6、控制部7、解码结果判定部8及运算列控制部17构成。中间结果保持部4,如上述实施方式1中已说明那样,保持利用行处理部5及列处理部6的解码的中间结果。在行处理部5中,对于上述式(25)的条件进行利用了上述式(2)及式(3)的行处理,列处理部6对于上述式(25)的条件进行利用了上述式(4)及式(5)的列处理。
控制部7进行最大反复次数的设定等解码反复的控制。在解码结果判定部8中,与上述的Group Shuffled BP算法的步骤1同样地根据列处理部6求出的事后值的硬判定通过上述式(6)计算出解码结果的解码系列,进行奇偶校验并根据上述式(7)的条件来判定解码结果的正误。在运算列控制部17中,如上述那样对LDPC编码行列式进行组分割并对利用行处理部5及列处理部6的运算对象的列进行控制。
其次,就动作进行说明。
图23是表示根据实施方式12的LDPC编码解码装置之动作的流程图,并按照该图以利用了图22所示的编码行列式的解码动作为例进行列举来说明。
首先,接收LLR计算部2输入接收信息(步骤ST1),并从该接收信息计算出接收LLR(步骤ST2)。其次,在初始化步骤(步骤ST3)中,接收LLR计算部2将计算出的接收LLR作为初始值zm,n (0)(:=Fn)设定在中间结果保持部4中。此时,控制部7将解码的反复次数i初始化为i=1。
其次,在步骤ST4b中,从反复次数i=1到i=最终解码次(最大反复次数Imax)对由运算列控制部17所指定的每1列的组反复执行利用行处理部5及列处理部6的反复解码处理即步骤1、和利用解码结果判定部8的按照上述式(7)的步骤2的判定处理。
以反复第i次的解码运算为例来进行说明。
首先,关于欲解码的LDPC代码的检查行列式H(=[Hm,n]),如图22所示那样,运算列控制部17将图中附有符号A的组1所包含的全部列的编号传递给行处理部5及列处理部6。由此,行处理部5进行在组1所包含的列上持有1的行的行处理,并将处理结果传递给列处理部6。另一方面,列处理部6进行组1所包含的列的列处理,并使处理结果保持在中间结果保持部4中。
其次,运算列控制部17将图中附有符号B的组2所包含的全部列的编号传递给行处理部5及列处理部6。由此,行处理部5进行在组2所包含的列上持有1的行的行处理,并将处理结果传递给列处理部6。另一方面,列处理部6进行组2所包含的列的列处理,并使处理结果保持在中间结果保持部4中。
接下来,运算列控制部17将上述式(25)中的g=3以后的组所包含的全部列的编号逐次传递给行处理部5及列处理部6,每次,利用行处理部5的处理结果被传递给列处理部6,列处理部6的处理结果被保持在中间结果保持部4中。
最后,运算列控制部17将组g所包含的全部列的编号传递给行处理部5及列处理部6。由此,行处理部5进行在组g所包含的列上持有1的行的行处理,并将处理结果传递给列处理部6。另一方面,列处理部6进行组g所包含的列的列处理,并使处理结果保持在中间结果保持部4中。
在图22的例中,运算列控制部17将图中附有符号F的组6所包含的全部列的编号传递给行处理部5及列处理部6。由此,行处理部5进行在组2所包含的列上持有1的行的行处理,并将处理结果传递给列处理部6。另一方面,列处理部6进行组6所包含的列的列处理,并使处理结果保持在中间结果保持部4中。
在上述的处理中,通过行处理部5对于上述式(25)的关系运算上述式(2)及上述式(3),在g=1以后的处理中,关于持有在反复第i次已经被更新的LLR的列,使用已被更新的LLR而不是接收LLR来执行行处理。
在步骤2中,解码结果判定部8对由列处理部6在反复第i次计算出的事后值zn (i)进行硬判定而决定解码结果,并进行奇偶校验。此时,如果奇偶校验的结果是NG,则控制部7将反复次数i增加1,接下来使行处理部5及列处理部6执行步骤1的处理。另一方面,如果满足上述式(7)的条件,则使之转移到后述的步骤3的处理。
这样一来,控制部7直到如上述式(7)所示那样奇偶校验的结果为OK或者反复次数成为已设定的最大值Imax为止,以反复进行步骤1及步骤2的处理的方式来控制行处理部5及列处理部6。
若利用解码结果判定部8的奇偶校验的结果为OK或者由控制部7所设定的反复次数i成为最大值Imax,则作为步骤3(步骤ST5),控制部7使利用行处理部5及列处理部6的解码处理结束,解码结果判定部8输出诸如上述式(6)的解码系列作为解码结果。
图24是描绘了由根据实施方式12的LDPC编码解码装置如上述那样基于代码构成对编码行列式进行了组分割并解码的情况和用以往的Group Shuffled BP算法进行了组分割并解码的情况下的、位误码率与直到此位误码率下的奇偶校验成为OK为止所要的解码反复次数的平均值之关系的图表。在图中,在绘图间用虚线联结的一方是基于以往的Group Shuffled BP算法的结果,用实线在绘图间联结的则是根据本实施方式12的结果。
另外,在图24中,LDPC代码是右上三角0构造的不正规LDPC代码、代码长64800、编码率1/2、最大列权重7、最大行权重8,最大反复次数Imax是20次。另外,信道设想是AWGN(Additive WhiteGaussian Noise;加法性白色高斯噪声)信道,并用QPSK(QuadraturePhase Shift Keying)来进行解调。
在这里,在实施方式12中,如上述那样基于代码构成用按每1列对LDPC行列式进行了组分割的Group Shuffled BP算法来执行解码处理。另外,在以往的Group Shuffled BP算法中,与以往同样地从LDPC行列式中的开头第1位起分割成按每个规定位的组。
如图24所示那样,可知通过本实施方式12的解码处理,直到奇偶校验成为OK为止所要的解码反复次数与以往的Group ShuffledBP算法相比较就显著地被削减。此外,虽然表示了与以往的GroupShuffled BP算法的比较例,但本实施方式12即便对于如以往的Shuffled BP算法那样,按预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新的解码算法也能够同样地削减反复次数。
如以上那样,根据此实施方式12,对于在相邻的列上持有1的LDPC代码,在如Group Shuffled BP算法那样进行组分割并以按预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新的解码算法来进行LDPC代码的解码的情况下,基于LDPC代码的构成按每1列对LDPC编码行列式进行组分割,就每个组的列对持有1的行进行行处理,同时进行该组所包含的列的列处理来进行解码处理,所以不会将相邻的列分割成同一组,因此概率信息的传播就有效率地得以进行。由此,如图24所示那样,与从LDPC编码行列式的开头位起按顺序进行分组的以往的Group Shuffled BP算法相比能够削减反复次数。
实施方式13.
在上述实施方式12中,表示了基于LDPC代码的构成按每1列对LDPC编码行列式进行组分割的LDPC编码解码装置,但根据本实施方式13的LDPC编码解码装置是基于接收信号的调制方式对解码处理的对象进行组分割。
根据本实施方式13的LDPC编码解码装置具有与图20已示的根据上述实施方式12的LDPC编码解码装置基本上同样的构成,由运算列控制部17基于调制方式对接收信号进行组分割,并由行处理部5及列处理部6按接收信号的组逐个执行解码处理。
另外,根据调制方式的假定本实施方式13中的组分割也与上述实施方式12相同。即,在本实施方式13中,当如Group Shuffled BP算法那样进行组分割执行进行利用针对接收信号的行处理与列处理的概率信息的算出及更新的解码时,就基于接收信号的调制方式,如上述实施方式12所示的图22那样将编码行列式分割成每1列的组1~6。
在这里,如从上述的图17所示的4PAM Gray Mapping的接收值的分布可知那样,在调制方式为多值调制的情况下,接收信号每个位的错误率不同。在图17的情况下,接收信号的MSB的位误码率较低,LSB的位误码率较高。在此情况下,MSB的解码与LSB的解码相比就能够以较少的反复次数结束解码。
因而,本实施方式13以图17所示的调制方式4PAM的情况作为例子,将接收信号分割成仅MSB的组和仅LSB的组,并在先运算仅MSB的组而在后运算仅LSB的组这样进行构成。
此外,虽然以如Group Shuffled BP算法那样进行组分割的情况为例来列举,但如本实施方式那样的基于接收信号的调制方式对处理对象进行组分割的处理,在按预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新的其他解码算法中也能够同样地进行应用。
另外,虽然以如图17所示那样的4PAM作为调制方式的例子来列举,但除此以外如果是在接收信号的位误码率上产生不同的多值调制方式,则还可以同样地依照位误码率的不同来进行组分割。
本实施方式13所涉及的运算算法与上述实施方式12相同。以下具体地进行说明。
首先,作为初始化步骤,将反复次数i设定为i=1,将最大反复次数设定为Imax,将对数似然比LLR的初始值zm,n (0)设定为Fn(zm,n (0):=Fn)。此外,欲解码的LDPC代码的检查行列式H为2维m×n行列式H=[Hm,n](其中,n是大于等于0且小于N的整数,m是大于等于0小于M的整数),设Hm,n为H的第m行第n列要素。
其次,作为步骤1,对于上述式(25)的条件,执行运算上述式(2)及上述式(3)的行处理。在这里,N(m)、M(n)是集合[1,N]的部分集合,并定义为N(m):={n:Hm,n=1}、M(n):={m:Hm,n=1}。即,N(m)意味着检查行列式H的m行中持有1的列索引的集合,M(n)意味着LDPC检查行列式H的m行中持有1的列索引的集合。
另外,将从集合A中除去元a所得到的集合记为A\a。即,N(m)\n是从集合N(m)中除掉第n列的列索引的集合,M(n)\m表示从集合M(n)中除掉第m行的行索引的集合。zm,n (i)是在反复第i次经过更新的LLR,εm,n (i)是从检查节点送往位节点的反复第i次的LLR。
进而,在步骤1中,对于上述式(25)的条件,执行运算上述式(4)及上述式(5)的列处理。在这里,zm,n (i)是从位节点送往检查节点的反复第i次的LLR。进而,zn (i)是反复第i次的事后值。
其次,作为步骤2,对事后值zn (i)进行硬判定,并生成用上述式(6)所表示的解码系列。之后,如果满足上述式(7)的条件,则转移到后述的步骤3的处理,如果这两个条件中的任意一个都不满足,则对反复次数i进行加法运算并返回步骤2的处理。在步骤3中,输出步骤2中得到的按照上述式(6)的解码系列作为解码结果。
其中,设各记号按照上述公式。另外,设GR(g)表示构成第g个组的列的组。若具体地表示GR(g)就成为以下那样。
组1(GR(1))是2k+1=1,3,5,7,...,Ng-1,其中k大于等于0小于Ng
组2(GR(2))是2k+1=Ng+1,Ng+3,Ng+5,...,2Ng-1,其中k大于等于Ng小于2Ng
组(G/2)(GR(G/2))是2k-1=G·Ng-2Ng-1,...,G·Ng-1,其中k大于等于(G/2-1)·Ng小于G·Ng
组(G/2+1)(GR(G/2+1))是2k+2=2,4,6,8,...,Ng,其中k大于等于0小于Ng
组G(GR(G))是2k+2=G·Ng-2Ng+2,...,G·Ng,其中k大于等于(G/2-1)·Ng小于G·Ng
在图22的例子中,附有符号A的组1、附有符号C的组3、附有符号E的组5对应于仅MSB的组,附有符号B的组2、附有符号D的组4、附有符号F的组6对应于仅LSB的组。
其次,就动作进行说明。
根据本实施方式13的LDPC编码解码装置的基本的动作之流程与上述实施方式12中的图23之流程图相同。因而,按照图23对动作进行说明。
首先,接收LLR计算部2输入接收信息(步骤ST1),并从该接收信息计算出接收LLR(步骤ST2)。其次,在初始化步骤(步骤ST3)中,接收LLR计算部2将计算出的接收LLR作为初始值zm,n (0)(:=Fn)设定在中间结果保持部4中。此时,控制部7将解码的反复次数i初始化为i=1。
其次,在步骤ST4b中,从反复次数i=1到i=最终解码次(最大反复次数Imax)对运算列控制部17所指定的上述每1列的组由行处理部5及列处理部6反复执行进行紧接着仅MSB的组处理仅LSB的组的反复解码的步骤1、和利用解码结果判定部8的按照上述式(7)的步骤2的判定处理。
以反复第i次的解码运算为例来进行说明。
首先,关于欲解码的LDPC代码的检查行列式H(=[Hm,n]),运算列控制部17将图22中附有符号A的仅MSB的组1所包含的全部列的编号传递给行处理部5及列处理部6。由此,行处理部5进行在组1所包含的列上持有1的行的行处理,并将处理结果传递给列处理部6。在列处理部6进行组1所包含的列的列处理,并使处理结果保持在中间结果保持部4中。
其次,运算列控制部17将图22中附有符号B的仅MSB的组3所包含的全部列的编号传递给行处理部5及列处理部6。由此,行处理部5进行在组3所包含的列上持有1的行的行处理,并将处理结果传递给列处理部6。在列处理部6进行组3所包含的列的列处理,并使处理结果保持在中间结果保持部4中。
接下来,运算列控制部17将上述式(25)中的g=3后的仅MSB的组所包含的全部列的编号逐次传递给行处理部5及列处理部6,每次,利用行处理部5的处理结果被传递给列处理部6,列处理部6的处理结果被保持在中间结果保持部4中。
在图22的例子中,将附有符号E的仅MSB的组5所包含的全部列的编号传递给行处理部5及列处理部6。由此,行处理部5进行在组5所包含的列上持有1的行的行处理,并将处理结果传递给列处理部6。列处理部6进行组5所包含的列的列处理,并使处理结果保持在中间结果保持部4中。
之后,运算列控制部17将图22中附有符号B的仅LSB的组2所包含的全部列的编号传递给行处理部5及列处理部6。由此,行处理部5进行在组2所包含的列上持有1的行的行处理,并将处理结果传递给列处理部6。在列处理部6进行组2所包含的列的列处理,并使处理结果保持在中间结果保持部4中。
其次,运算列控制部17将图22中附有符号D的仅LSB的组4所包含的全部列的编号传递给行处理部5及列处理部6。由此,行处理部5进行在组4所包含的列上持有1的行的行处理,并将处理结果传递给列处理部6。列处理部6进行组4所包含的列的列处理,并使处理结果保持在中间结果保持部4中。
接下来,运算列控制部17将上述式(25)中的g=3以后的仅LSB的组所包含的全部列的编号逐次传递给行处理部5及列处理部6,每次,利用行处理部5的处理结果被传递给列处理部6,列处理部6的处理结果被保持在中间结果保持部4中。
在图22的例中,将与组G相当的附有符号F的仅LSB的组6所包含的全部列的编号传递给行处理部5及列处理部6。由此,行处理部5进行在组6所包含的列上持有1的行的行处理,并将处理结果传递给列处理部6。列处理部6进行组6所包含的列的列处理,并使处理结果保持在中间结果保持部4中。
在上述的处理中,通过行处理部5对于上述式(25)的关系运算上述式(2)及上述式(3),在g=1以后的处理中,关于持有在反复第i次已经被更新的LLR的列,使用已被更新的LLR而不是接收LLR来执行行处理。
在步骤2中,解码结果判定部8对由列处理部6在反复第i次计算出的事后值zn (i)进行硬判定而决定解码结果,并进行奇偶校验。此时,如果奇偶校验的结果是NG,则控制部7将反复次数i增加1,接下来使行处理部5及列处理部6执行步骤1的处理。另一方面,如果满足上述式(7)的条件,则使之转移到后述的步骤3的处理。
这样一来,控制部7直到如上述式(7)所示那样奇偶校验的结果为OK或者反复次数成为已设定的最大值Imax为止,以反复进行步骤1及步骤2的处理的方式来控制行处理部5及列处理部6。
若利用解码结果判定部8的奇偶校验的结果为OK或者由控制部7所设定的反复次数i成为最大值Imax,则作为步骤3(步骤ST5),控制部7使利用行处理部5及列处理部6的解码处理结束,解码结果判定部8输出诸如上述式(6)的解码系列作为解码结果。
如以上那样,根据此实施方式13,当对按4PAM经过调制后收发的接收信号以Group Shuffled BP算法进行解码时,就分割成仅MSB和仅LSB的组,并在先运算位误码率较低的仅MSB的组,所以在位误码率较高的LSB中就从MSB接受可靠度较高的概率信息来进行解码运算,LSB的解码运算就比以往更有效率地得以进行而使较少反复次数的解码成为可能。
实施方式14.
此实施方式14是当按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新时,就基于代码构成对解码顺序进行控制。
根据本实施方式14的LDPC编码解码装置具有与图20已示的根据上述实施方式12的LDPC编码解码装置基本上相同的构成,在运算列控制部17基于代码构成来控制解码的顺序并使行处理部5及列处理部6执行解码处理这一点上不同。
以Shuffled BP算法为例来说明基于代码构成的顺序控制之概要。Shuffled BP算法与Sum-Product算法相比以较少的反复次数来结束解码是因为在解码过程算出并传递的概率信息的传输与Sum-Product算法相比更有效率地得以进行的缘故。因而,只要代码是不正规LDPC代码,就以列权重的大小顺序附加顺序通过ShuffledBP算法来进行解码。
例如,若设O(g)为第g个附加顺序的列编号,则以O(1)为持有最大列权重的列、0(2)为列权重其次大的列、O(3)为其其次列权重大的列、附加顺序来选择列,并进行基于Shuffled BP算法的解码。
附加顺序后的Shuffled BP算法,如以下那样。
首先,作为初始化步骤,将反复次数i设定为i=1,将最大反复次数设定为Imax,将对数似然比LLR(Log Likelihood Ratio)的初始值zm,n (0)设定为Fn(zm,n (0):=Fn)。此外,欲解码的LDPC代码的检查行列式H为2维m×n行列式H=[Hm,n](其中,n是大于等于0且小于N的整数,m是大于等于0小于M的整数),设Hm,n为H的第m行第n列要素。
其次,作为步骤1,对于下述式(26)的条件,执行运算上述式(2)及上述式(3)的行处理。在这里,N(m)、M(n)是集合[1,N]的部分集合,并定义为N(m):={n:Hm,n=1}、M(n):={m:Hm,n=1}。即,N(m)意味着检查行列式H的m行中持有1的列索引的集合,M(n)意味着LDPC检查行列式H的m行中持有1的列索引的集合。
[数学公式18]
1≤g≤N(g:整数)
n-O(g),m∈M(n)        ...(26)
另外,将从集合A中除去元a所得到的集合记为A\a。即,N(m)\n是从集合N(m)中除掉第n列的列索引的集合,M(n)\m表示从集合M(n)中除掉第m行的行索引的集合。zm,n (i)是在反复第i次经过更新的LLR,εm,n (i)是从检查节点送往位节点的反复第i次的LLR。
进而,在步骤1中,对于上述式(25)的条件,执行运算上述式(4)及上述式(5)的列处理。在这里,zm,n (i)是从位节点送往检查节点的反复第i次的LLR。进而,zn (i)是反复第i次的事后值。
其次,作为步骤2,对事后值zn (i)进行硬判定,并生成用上述式(6)所表示的解码系列。之后,如果满足上述式(7)的条件,则转移到后述的步骤3的处理,如果这两个条件中的任意一个都不满足,则对反复次数i进行加法运算并返回步骤2的处理。在步骤3中,输出步骤2中得到的按照上述式(6)的解码系列作为解码结果。其中,设各记号按照上述公式。另外,设O(g)代表第g个附加顺序的列。
根据本实施方式14的LDPC编码解码装置,如上述那样,除具有运算列控制部17以外,基本的构成与图1所示的上述实施方式1相同。即,由从接收信息计算出接收LLR的接收LLR计算部2和解码核心部3构成,由解码核心部3执行基于代码构成而进行顺序控制的利用Shuffled BP算法的LDPC代码的解码。
解码核心部3由中间结果保持部4、行处理部5、列处理部6、控制部7、解码结果判定部8及运算列控制部17构成。中间结果保持部4,如上述实施方式1中已说明那样,保持利用行处理部5及列处理部6的解码的中间结果。在行处理部5中,对于上述式(26)的条件进行利用了上述式(2)及式(3)的行处理,列处理部6对于上述式(25)的条件进行利用了上述式(4)及式(5)的列处理。
控制部7进行最大反复次数的设定等解码反复的控制。在解码结果判定部8中,与上述的Shuffled BP算法的步骤1同样地根据列处理部6求出的事后值的硬判定通过上述式(6)计算出解码结果的解码系列,进行奇偶校验并根据上述式(7)的条件来判定解码结果的正误。在运算列控制部17中,如上述那样对LDPC编码行列式按列权重的大小顺序进行顺序控制并使行处理部5及列处理部6进行解码运算。
其次,就动作进行说明。
根据本实施方式14的LDPC编码解码装置的基本的动作之流程与上述实施方式12中的图23之流程图相同。因而,按照图23对动作进行说明。
首先,接收LLR计算部2输入接收信息(步骤ST1),并从该接收信息计算出接收LLR(步骤ST2)。其次,在初始化步骤(步骤ST3)中,接收LLR计算部2将计算出的接收LLR作为初始值zm,n (0)(:=Fn)设定在中间结果保持部4中。此时,控制部7将解码的反复次数i初始化为i=1。
其次,在步骤ST4b中,从反复次数i=1到i=最终解码次(最大反复次数Imax)由行处理部5及列处理部6对运算列控制部17所指定的列权重较大的顺序下的列反复执行进行反复解码的步骤1、和利用解码结果判定部8的按照上述式(7)的步骤2的判定处理。
以反复第i次的解码运算为例来进行说明。
首先,在步骤1中,关于欲解码的LDPC代码的检查行列式H(=[Hm,n]),运算列控制部17将列权重最大的第1个进行运算的列的编号传递给行处理部5及列处理部6。由此,行处理部5进行在由运算列控制部17所指定的第1个进行运算的列上持有1的行的行处理,并将处理结果传递给列处理部6。在列处理部6中,进行第1个进行运算的列的列处理,并使处理结果保持在中间结果保持部4中。
其次,运算列控制部17,将列权重其次大的第2个进行运算的列的编号传递给行处理部5及列处理部6。由此,行处理部5进行在由运算列控制部17所指定的第2个进行运算的列上持有1的行的行处理,并将处理结果传递给列处理部6。在列处理部6中,进行第2个进行运算的列的列处理,并使处理结果保持在中间结果保持部4中。
接下来,运算列控制部17将上述式(25)中的g=3以后且列权重较大的顺序下的列的编号逐次传递给行处理部5及列处理部6,每次,利用行处理部5的处理结果被传递给列处理部6,列处理部6的处理结果被保持在中间结果保持部4中。
最后,运算列控制部17将第g个进行运算的列的编号传递给行处理部5及列处理部6。由此,行处理部5进行在第g个进行运算的列上持有1的行的行处理,并将处理结果传递给列处理部6。另一方面,列处理部6进行第g个进行运算的列的列处理,并使处理结果保持在中间结果保持部4中。
在上述的处理中,通过行处理部5对于上述式(26)的关系运算上述式(2)及上述式(3),在g=1以后的处理中,关于持有在反复第i次已经被更新的LLR的列,使用已被更新的LLR而不是接收LLR来执行行处理。
在步骤2中,解码结果判定部8对由列处理部6在反复第i次计算出的事后值zn (i)进行硬判定而决定解码结果,并进行奇偶校验。此时,如果奇偶校验的结果是NG,则控制部7将反复次数i增加1,接下来使行处理部5及列处理部6执行步骤1的处理。另一方面,如果满足上述式(7)的条件,则使之转移到后述的步骤3的处理。
这样一来,控制部7直到如上述式(7)所示那样奇偶校验的结果为OK或者反复次数成为已设定的最大值Imax为止,以反复进行步骤1及步骤2的处理的方式来控制行处理部5及列处理部6。
若利用解码结果判定部8的奇偶校验的结果为OK或者由控制部7所设定的反复次数i成为最大值Imax,则作为步骤3(步骤ST5),控制部7使利用行处理部5及列处理部6的解码处理结束,解码结果判定部8输出诸如上述式(6)的解码系列作为解码结果。
如以上那样,根据此实施方式14,当按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新时,就基于代码构成来控制解码顺序,所以在先经过运算的概率信息就较快地得以传输,并能够削减反复次数。另外,由于基于代码构成来进行顺序控制,所以不需要每接收代码信息就进行顺序附加。
此外,在上述实施方式14中,表示了Shuffled BP算法的进行顺序控制的例子,但只要是其他的按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新的解码算法,则其他的算法也同样如此。
实施方式15.
此实施方式15是当按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新时,就基于接收信号的调制方式来控制解码顺序。
根据本实施方式15的LDPC编码解码装置具有与图20已示的根据上述实施方式12的LDPC编码解码装置基本上相同的构成,但在运算列控制部17基于接收信号的调制方式来控制解码顺序并使行处理部5及列处理部6执行解码处理这一点上不同。
以Shuffled BP算法为例来说明基于调制方式的顺序控制之概要。首先,在调制方式为多值调制的情况下,每个位的错误率不同。例如,在上述的图17所示的调制方式4PAM Gray Mapping下,若从代码的开头位起按顺序分配调制信号点,则在每个位的错误率上MSB的错误率较低而LSB的错误率较高。
在对这种接收信号进行解码的情况下,就有在MSB的解码过程中所算出的概率信息可靠度较高的特征。因而,在用Shuffled BP算法进行解码的情况下,通过从MSB的位起按顺序进行解码,对于LSB可靠度较高的概率信息就始终得以传输。
例如,若设O(g)为第g个附加顺序的列编号,则以先选择对应用MSB的全部列,接下来选择对应于LSB的列的、O(1)=1、Q(2)=3、O(3)=5、O(4)=7,...,2n+1,...,N-1,2,4,6,...,2n,...,N这样的顺序来选择列,并进行利用Shuffled BP算法的解码。
根据本实施方式15的LDPC编码解码装置,如上述那样,除具有运算列控制部17以外,基本的构成与图1所示的上述实施方式1相同。即,由从接收信息计算出接收LLR的接收LLR计算部2和解码核心部3构成,由解码核心部3执行基于接收信号的调制方式经过顺序控制的利用Shuffled BP算法的LDPC代码的解码。
解码核心部3由中间结果保持部4、行处理部5、列处理部6、控制部7、解码结果判定部8及运算列控制部17构成。中间结果保持部4,如上述实施方式1中已说明那样,保持利用行处理部5及列处理部6的解码的中间结果。在行处理部5中对于上述式(26)的条件进行利用了上述式(2)及式(3)的行处理,列处理部6对于上述式(25)的条件进行利用了上述式(4)及式(5)的列处理。
控制部7进行最大反复次数的设定等解码反复的控制。在解码结果判定部8中,与上述的Shuffled BP算法的步骤1同样地根据列处理部6求出的事后值的硬判定通过上述式(6)计算出解码结果的解码系列,进行奇偶校验并根据上述式(7)的条件来判定解码结果的正误。在运算列控制部17中,如上述那样基于接收信号的调制方式对LDPC编码行列式进行顺序控制,以选择对应于位错位较低的位的全部列接下来选择对应于位错误较高的位的列,并使行处理部5及列处理部6进行解码运算。
其次,就动作进行说明。
根据本实施方式15的LDPC编码解码装置的基本的动作之流程与上述实施方式12中的图23之流程图相同。因而,按照图23对动作进行说明。
首先,接收LLR计算部2输入接收信息(步骤ST1),并从该接收信息计算出接收LLR(步骤ST2)。其次,在初始化步骤(步骤ST3)中,接收LLR计算部2将计算出的接收LLR作为初始值zm,n (0)(:=Fn)设定在中间结果保持部4中。此时,控制部7将解码的反复次数i初始化为i=1。
其次,在步骤ST4b中,从反复次数i=1到i=最终解码次(最大反复次数Imax)对由运算列控制部17基于接收信号的调制方式所选择的列,利用行处理部5及列处理部6反复执行进行反复解码的步骤1、和利用解码结果判定部8的按照上述式(7)的步骤2的判定处理。
以反复第i次的解码运算为例来进行说明。
首先,在步骤1中,关于欲解码的LDPC代码的检查行列式H(=[Hm,n]),运算列控制部17将基于调制方式所确定的对应于接收信号的MSB的开头列作为第1个进行运算的列并将该列的编号传递给行处理部5及列处理部6。由此,行处理部5进行在由运算列控制部17所指定的第1个进行运算的列上持有1的行的行处理,并将处理结果传递给列处理部6。在列处理部6中,进行第1个进行运算的列的列处理,并使处理结果保持在中间结果保持部4中。
其次,运算列控制部17,将基于调制方式所确定的对应于接收信号的下一MSB的列作为第2个进行运算的列并将该列的编号传递给行处理部5及列处理部6。由此,行处理部5进行在由运算列控制部17所指定的第2个进行运算的列上持有1的行的行处理,并将处理结果传递给列处理部6。在列处理部6中,进行第2个进行运算的列的列处理,并使处理结果保持在中间结果保持部4中。
接下来,运算列控制部17将上述式(25)中的g=3以后且对应于MSB的列的编号逐次传递给行处理部5及列处理部6,每次,利用行处理部5的处理结果被传递给列处理部6,列处理部6的处理结果被保持在中间结果保持部4中。
当对应于MSB的列的运算结束,运算列控制部17就将基于调制方式所确定的对应于接收信号的LSB的开头列作为对应于MSB的列其次第1个进行运算的列并将该列的编号传递给行处理部5及列处理部6。由此,行处理部5进行在第1个进行运算的对应于LSB的列上持有1的行的行处理,并将处理结果传递给列处理部6。在列处理部6中,进行该列的列处理,并使处理结果保持在中间结果保持部4中。
其次,运算列控制部17将基于调制方式所确定的对应于接收信号的LSB的下一列作为第2个进行运算的列并将该列的编号传递给行处理部5及列处理部6。由此,行处理部5进行在第2个进行运算的对应于LSB的列上持有1的行的行处理,并将处理结果传递给列处理部6。列处理部6,进行该列的列处理,并使处理结果保持在中间结果保持部4中。
接下来,运算列控制部17上述式(26)中的g=3以后且对应于LSB的列的编号逐次传递给行处理部5及列处理部6,每次,利用行处理部5的处理结果被传递给列处理部6,列处理部6的处理结果被保持在中间结果保持部4中。
在上述的处理中,通过行处理部5对于上述式(26)的关系运算上述式(2)及上述式(3),在g=1以后的处理中,关于持有在反复第i次已经被更新的LLR的列,使用已被更新的LLR而不是接收LLR来执行行处理。
在步骤2中,解码结果判定部8对由列处理部6在反复第i次计算出的事后值zn (i)进行硬判定而决定解码结果,并进行奇偶校验。此时,如果奇偶校验的结果是NG,则控制部7将反复次数i增加1,接下来使行处理部5及列处理部6执行步骤1的处理。另一方面,如果满足上述式(7)的条件,则使之转移到后述的步骤3的处理。
这样一来,控制部7直到如上述式(7)所示那样奇偶校验的结果为OK或者反复次数成为已设定的最大值Imax为止,以反复进行步骤1及步骤2的处理的方式来控制行处理部5及列处理部6。
若利用解码结果判定部8的奇偶校验的结果为OK或者由控制部7所设定的反复次数i成为最大值Imax,则作为步骤3(步骤ST5),控制部7使利用行处理部5及列处理部6的解码处理结束,解码结果判定部8输出诸如上述式(6)的解码系列作为解码结果。
如以上那样,根据此实施方式15,当按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新时,就基于接收信号的调制方式来控制解码顺序,所以在将例如按4PAM经过调制后收发的接收信号以Shuffled BP算法进行解码的情况下,就从MSB起附加顺序并先进行MSB的运算,由此对于LSB可靠度较高的概率信息就得以传输,LSB的解码较快地进展,并能够削减反复次数。
此外,在上述实施方式15中,表示了Shuffled BP算法的进行顺序控制的例子,但只要是其他的按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新的解码算法,则其他的算法也同样如此。
另外,在上述实施方式15中,作为调制方式以4PAM为例进行了列举,但在位误码率上产生不同的其他多值调制方式下也能够同样地从错误率低可靠度高的位起进行顺序附加。
实施方式16.
图25是表示本发明根据实施方式16的通信装置之构成的框图。如图所示那样,根据本实施方式16的通信装置18由接收解码装置(接收解码部)19与编码发送装置(编码发送部)20构成。接收解码装置19除图1已示的基本构成外,还具备接收由编码发送装置20所发送的LDPC编码信号并进行解调的解调部21。
编码发送装置20由编码部22及调制部23构成。在编码部22中,输入待发送的信息并进行LDPC代码的编码。调制部23输入来自编码部22的编码数据进行调制,并作为调制信号发送给接收解码装置19。
在根据实施方式16的通信装置18中,在接收解码装置19与编码发送装置20之间,与LDPC代码的代码构成相适应对检查位分配调制信号点并进行编码信号的收发,按照基于代码构成的顺序控制执行如Shuffled BP算法那样的按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新的解码。
图26是表示在根据实施方式16的通信装置中使用的LDPC代码之构成的图。如图26所示那样,8行16列的检查行列式具有右上三角的要素为0的构造,另外,包含检查位在对角为同值的对称构造。图27是表示在根据实施方式16的通信装置中将LDPC代码按4PAM进行调制来收发情况下的位分配的例子的图。在图27中,作为对于M行N列的行列要素即检查位的分配,在从第1列到第(n1-1)列目上分配LSB以外,在从第n1列到第N列上分配MSB以外。利用这些图对实施方式16之概要进行说明。
如上述那样,Shuffled BP算法与Sum-Product算法相比以较少的反复次数来结束解码是因为在解码过程算出并传递的概率信息的传输与Sum-Product算法相比更有效率地得以进行的缘故。
因而,在如图26所示那样的右上三角0的编码行列式中检查位部分为对角状的LDPC代码按4PAM进行调制来收发的情况下,如图27所示那样在检查位上分配错误率较高的LSB来收发。在解码侧以Shuffled BP算法进行解码,此时在先进行作为检查位的LSB的解码。
另外,如图27所示那样在分配调制信号点的情况下,从作为检查位的LSB的开头起按顺序进行解码。LDPC代码的解码中的行处理,如上述实施方式15所示的行处理那样,使用对象列以外的列的信息来进行。为此,就能够在运算作为LSB的开头的第N列之际仅使用MSB持有的可靠性较高的信息来进行运算。
进而,由于在第(n1+1)列的运算上能够仅使用MSB持有的信息和已经经过第1次运算的第n1列的信息来进行运算,所以就始终仅使用可靠性较高的信息来进行运算。
例如,若设O(g)为第g个进行了顺序附加的列编号,则在图27的例子中,以0(1)为第n1列(LSB)、O(2)为第(n1+1)列(LSB)、O(N-n1)为第N列(LSB)、这样的方式进行顺位附加来选择列,并进行基于Shuffled BP算法的解码。在这里,O(N-n1+1)以后就进行从LSB以外的第1列到第(n1-1)列的运算。
其次,使用图25就分配与代码构成相适应的调制信号点来进行收发,收发具备上述处理式进行了上述顺序控制的LDPC代码的、根据实施方式16的通信装置18的具体例子进行叙述。如图25所示那样,根据实施方式16的通信装置18由编码发送装置20和接收解码装置21构成。在这里,编码发送装置20,由进行LDPC代码的编码的编码部22和进行与代码构成相适应的调制信号点之分配的调制部23构成。
根据实施方式16的通信装置18的接收解码装置19由进行调制的信号的解调的解调部21、从接收信息计算出接收LLR的接收LLR计算部2及解码核心部3构成,在解码核心部3中进行基于代码构成经过顺序控制的根据Shuffled BP算法的LDPC代码的解码。
解码核心部3由中间结果保持部4、行处理部5、列处理部6、控制部7及解码结果判定部8构成。中间结果保持部4,如上述实施方式1中已说明那样,保持利用行处理部5及列处理部6的解码的中间结果。在行处理部5中,对于上述式(26)的条件进行利用了上述式(2)及式(3)的行处理,列处理部6对于上述式(25)的条件进行利用了上述式(4)及式(5)的列处理。
控制部7进行最大反复次数的设定等解码反复的控制。在解码结果判定部8中,与上述的Shuffled BP算法的步骤1同样地根据列处理部6求出的事后值的硬判定通过上述式(6)计算出解码结果的解码系列,进行奇偶校验并根据上述式(7)的条件来判定解码结果的正误。
其次,就动作进行说明。
图28是表示根据实施方式16的通信装置之动作的流程图,并按照该图进行说明。
首先,当输入待发送的信息(步骤ST1A),编码发送装置20的编码部22就使用以LDPC代码的检查行列式H为基础所求出的生成行列和所输入的信息来执行LDPC编码,并生成编码数据(步骤ST2A)。当从编码部22输入编码数据,调制部23就按照图27所示的LDPC代码的位分配,对所输入的编码数据进行4PAM调制并发送给接收解码装置19(步骤ST3A)。
接收解码装置19的解调部21对来自编码发送装置20的接收信号进行解调(步骤ST1-1),并将解调结果的接收信息输出给接收LLR计算部2。在接收LLR计算部2中,当输入接收信息(步骤ST1),就从该接收信息计算出接收LLR(步骤ST2)。其次,在初始化步骤(步骤ST3)中,将接收LLR计算部2计算出的接收LLR作为初始值zm,n (0)(:=Fn)设定在中间结果保持部4中。此时,控制部7将解码的反复次数i初始化为i=1。
其次,在步骤ST4c中,从反复次数i=1到i=最终解码次(最大反复次数Imax)反复执行利用行处理部5及列处理部6的反复解码处理即步骤1、和利用解码结果判定部8的按照上述式(7)的步骤2的判定处理。
以反复第i次的解码运算为例来进行说明。
首先,对于欲解码的LDPC代码的检查行列式H(=[Hm,n]),在上述式(26)中g=1时,行处理部5进行第1行与第2行的行处理,并将处理结果传递给列处理部6。在列处理部6中,进行第n1列的列处理,并使处理结果保持在中间结果保持部4中。
其次,在上述式(26)中g=2时,行处理部5进行第2行与第3行的行处理,并将处理结果传递给列处理部6。在列处理部6中,进行第(n1+1)列的列处理,并使处理结果保持在中间结果保持部4中。
接下来,作为上述式(26)中的g=3以后的处理,行处理部5与上述同样地逐次执行第4行以后的处理,每次,将处理结果传递给列处理部6。另外,列处理部6逐次执行第(n1+2)列以后的列处理,每次,使处理结果保持在中间结果保持部4中。
之后,在上述式(26)中当g=N-n1-1时,行处理部5进行第(M-1)行与第M行的行处理,并将处理结果传递给列处理部6。在列处理部6中,进行第(N-1)列的列处理并使处理结果保持在中间结果保持部4中。
其次,在上述式(26)中g=(N-n1)时,行处理部5进行第M行的行处理,并将处理结果传递给列处理部6。在列处理部6中,进行第N列的列处理,并使处理结果保持在中间结果保持部4中。
在紧接其的上述式(26)的g=(N-n1+1)~N的处理中,列处理部6进行LSB以外的列的运算。例如,如果被分配了LSB以外的第1列为运算对象,就用行处理部5进行在第1列上持有1的行的行处理,并将其处理结果传递给列处理部6。在列处理部中,同样地进行第1列的列处理并使处理结果保持在中间结果保持部4中。
在上述的处理中,行处理部5按照上述式(2),由此,在g=1以后的处理中,关于持有在反复第i次已经被更新的LLR的列,使用已被更新的LLR而不是接收LLR来执行行处理。
在步骤2中,解码结果判定部8对由列处理部6在反复第i次计算出的事后值zn (i)进行硬判定而决定解码结果,并进行奇偶校验。此时,如果奇偶校验的结果是NG,控制部7就将反复次数i增加1,接下来使行处理部5及列处理部6执行步骤1的处理。另一方面,如果满足上述式(7)的条件,则使之转移到后述的步骤3的处理。
这样一来,控制部7直到如上述式(7)所示那样奇偶校验的结果为OK或者反复次数成为已设定的最大值Imax为止,以反复进行步骤1及步骤2的处理的方式来控制行处理部5及列处理部6。
若利用解码结果判定部8的奇偶校验的结果为OK或者由控制部7所设定的反复次数i成为最大值Imax,则作为步骤3(步骤ST5),控制部7使利用行处理部5及列处理部6的解码处理结束,解码结果判定部8输出诸如上述式(6)的解码系列作为解码结果。
如以上那样,根据此实施方式16,当用检查行列式持有右上三角为0的构造、检查位为对角状的LDPC代码进行多值调制并收发编码数据时,就与该代码构成相适应分配调制信号点来进行收发,并在用Shuffled BP算法对其接收信号进行解码之际,从LSB起进行顺序附加并在先进行LSB的运算,由此对于LSB可靠度较高的概率信息就得以传输,LSB的解码较快地进展,并能够削减反复次数。
此外,在上述实施方式16中,表示了Shuffled BP算法的进行顺序控制的例子,但是其他的按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新的解码算法也同样如此。另外,作为多值调制方式以4PAM为例,但是对每一位在错误率上出现偏差的其他多值调制方式也同样如此。
另外,在上述实施方式16中,作为调制方式以4PAM为例进行了列举,但除此以外在位误码率上产生不同的多值调制方式也同样如此,在对检查位分配错误率较高的位的情况下,还可以从错误率较高的LSB起按顺序进行解码。
实施方式17.
此实施方式17是当以如Shuffled BP算法那样按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新的算法来进行解码时,就使它们的运算并列化来执行。
图29是表示根据本发明实施方式17的LDPC编码解码装置之构成的框图。根据实施方式17的LDPC编码解码装置1与上述实施方式所示的构成同样地由接收LLR计算部2和解码核心部3构成。其中,根据实施方式17的解码核心部3除解码中间结果保持部4、控制部7及解码结果判定部8外,还具有依照行权重的大小并列地执行行处理的行处理部5-1~5-w以及依照它们的处理结果执行列处理的列处理部6。
即,通常在Shuffled BP算法中,进行在所选择的1列上持有1的行的行处理,并进行该列的列处理。相对于此,在根据实施方式17的LDPC编码解码装置1中,当按Shuffled BP算法进行解码时,就并列地执行行处理及列处理的运算。
其次,就动作进行说明。
首先,接收LLR计算部2输入接收信息,并从该接收信息计算出接收LLR。其次,在初始化步骤中,接收LLR计算部2将计算出的接收LLR作为初始值zm,n (0)(:=Fn)设定在中间结果保持部4中。此时,控制部7将解码的反复次数i初始化为i=1。
接下来,从反复次数i=1到i=最终解码次(最大反复次数Imax),反复执行由对于上述式(1)的条件按照上述式(2)、(3)的利用行处理部5-1~5-w的行处理及按照上述式(4)、(5)的利用列处理部6的列处理组成的反复解码处理即步骤1,和利用解码结果判定部8的按照上述式(7)的步骤2的判定处理。
以反复第i次的解码运算为例来进行说明。
图30是用于说明利用图29中的行处理部及列处理部的解码运算的框图。利用该图对解码运算的流程进行说明。
首先,对于欲解码的LDPC代码的检查行列式H(=[Hm,n]),在上述式(1)中g=1时,行处理部5-1~5-w并列地执行针对在第1列的列上持有1的w行的行的行处理,并将处理结果传递给列处理部6。
其次,在g=2时,列处理部6进行第1列的列处理,并使处理结果保持在中间结果保持部4中。另一方面,行处理部5-1~5-w并列地执行针对在第2列的列上持有1的w行的行的行处理,并将处理结果传递给列处理部6。
接下来,在g=3时,列处理部6进行第2列的列处理,并使处理结果保持在中间结果保持部4中。在行处理部5-1~5-w中,并列地执行针对在第3列的列上持有1的w行的行的行处理,并将处理结果传递给列处理部6。
同样,在g=4以后,由行处理部5-1~5-w并列地逐次执行针对在4列以后的列上持有1的w行的行的行处理,各处理结果被传递给列处理部6。另一方面,在列处理部6中逐次执行第3列以后的列处理,并将各处理结果保持在中间结果保持部4中。通过这样使解码运算并列化,就能够削减处理时间。
在步骤2中,解码结果判定部8对由列处理部6在反复第i次计算出的事后值zn (i)进行硬判定而决定解码结果,并进行奇偶校验。此时,如果奇偶校验的结果是NG,控制部7就将反复次数i增加1,接下来使行处理部5及列处理部6执行步骤1的处理。另一方面,如果满足上述式(7)的条件,则使之转移到后述的步骤3的处理。
这样一来,控制部7直到如上述式(7)所示那样奇偶校验的结果为OK或者反复次数成为已设定的最大值Imax为止,以反复进行基于上述式(8)的步骤1及步骤2的处理的方式来控制行处理部5及列处理部6。
若利用解码结果判定部8的奇偶校验的结果为OK或者由控制部7所设定的反复次数i成为最大值Imax,则作为步骤3,控制部7使利用行处理部5及列处理部6的解码处理结束,解码结果判定部8输出诸如上述式(6)的解码系列作为解码结果。
此外,在如上述那样使行处理与列处理并列化的情况下,可以看出在下一行处理中无法反映1列前的行处理的结果,而使作为ShuffledBP算法之特征的有效率的概率传输迟缓。但是,一般而言在LDPC代码的行列式中持有1的要素非常稀疏,在邻近列上持有1的情况几乎没有。为此,如果是通常的LDPC代码的检查行列式,则不会对概率传输影响太大。
图31是用于说明根据图29中的行处理部及列处理部的其他解码运算的框图。如上述那样,如果是一般的Shuffled BP算法,则在邻近的列上持有1的情况几乎没有,所以不会对概率传输影响太大,但在如上述实施方式12所示的图21的LDPC代码的行列式那样检查位部分的1相邻的情况下,仅如图31所示那样进行经过并列化的行处理即可。
以反复第i次的解码运算为例来列举具体地进行说明。
首先,对于欲解码的LDPC代码的检查行列式H(=[Hm,n]),在上述式(1)中g=1时,行处理部5-1~5-w并列地执行针对在第1列的列上持有1的w行的行的行处理,并将处理结果传递给列处理部6。在列处理部6中,进行第1列的列处理,并使处理结果保持在中间结果保持部4中。
其次,在g=2时,行处理部5-1~5-w并列地执行针对在第2列的列上持有1的w行的行的行处理,并将处理结果传递给列处理部6。在列处理部6中,进行2列目的列处理,并使处理结果保持在中间结果保持部4中。
接下来,在g=3时,在行处理部5-1~5-w中,并列地执行针对在第3列的列上持有1的w行的行的行处理,并将处理结果传递给列处理部6。列处理部6进行第3列的列处理,并使处理结果保持在中间结果保持部4中。
同样,在g=4后,由行处理部5-1~5-w并列地逐次执行针对在第4列以后的列上持有1的w行的行的行处理,各处理结果被传递给列处理部6。另一方面,在列处理部6中逐次执行第4列以后的列处理,并将各处理结果保持在中间结果保持部4中。
如以上那样,根据此实施方式17,设置了并列地执行Shuffled BP算法中的解码运算的行处理部5-1~5-w及列处理部6,所以就能够缩短与解码运算有关的处理时间,并可以削减由解码处理引起的迟延时间。
此外,在上述实施方式17中,表示了使Shuffled BP算法的行处理及列处理的运算并列化的例子,但在按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新的其他解码算法下也能够同样地应用。
实施方式18.
此实施方式18是当按如Shuffled BP算法那样,按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新的解码算法时,对持有巡回构造的LDPC代码进行解码,基于代码构造并列地执行解码运算。
根据本实施方式18的LDPC编码解码装置具有与图29已示的根据上述实施方式17的LDPC编码解码装置基本上相同的构成,但是基于持有巡回构造的LDPC代码的代码构造并列地执行解码运算所以各行处理部的处理内容不同。在以后,以在Shuffled BP算法中,利用伪巡回代码的代码构成之特征并列地处理解码运算的构成为例来列举具体地进行说明。
伪巡回代码如图32中模式图所示那样,由作为单位行列式的基本行列式I(0)和对基本行列式进行了巡回置换的行列式I(1),I(2),I(3),...,I(k)的组合而构成。设所构成的伪巡回代码为H=[Hm,n]。在这里,n是大于等于0小于N的整数,m是大于等于0小于M的整数,设Hm,n是H的第m行第N列要素。将集合[1,N]的部分集合N(m)定义为N(m)={n:Hm,n=1},M(n)定义为M(n)={m:Hm,n=1}。
即,N(m)意味着在检查行列式H的m行上站立1的列索引的集合,M(n)指的是在检查行列式H的n行上站立1的的行索引的集合。另外,设单位行列式的大小为(p×p)。在图32的例子中,N=4p,M=3p,在伪巡回代码上有以下特征。
(特征1)
在M(n)={m:Hm,n=1}(n是1以上p以下)中,相互在同一行上不持有1。
在M(n)={m:Hm,n=1}(n是p以上2p以下)中,相互在同一行上不持有1。
在M(n)={m:Hm,n=1}(n是2p以上3p以下)中,相互在同一行上不持有1。
(特征2)
在N(m)={n:Hm,n=1}(m是1以上p以下)中,相互在同一列上不持有1。
在N(m)={n:Hm,n=1}(m是p以上2p以下)中,相互在同一列上不持有1。
在N(m)={n:Hm,n=1}(m是2p以上3p以下)中,相互在同一列上不持有1。
在这种伪巡回代码中,以Shuffled BP算法进行解码之际,就有根据特征1能够在n为1以上p以下时并列进行列处理,根据特征2在m为1以上p以下时并列进行行处理之际不会调用同一列,在用硬件构成的情况下不会访问同一存储器之类的优点。
根据本实施方式18的LDPC编码解码装置,如上述那样由从接收信息计算出接收LLR的接收LLR计算部2和解码核心部3构成,由解码核心部3利用伪巡回代码的代码构成之特征并列地处理解码运算。解码核心部3由中间结果保持部4、行处理部5-1~5-p、列处理部6、控制部7及解码结果判定部8构成。
中间结果保持部4,如上述实施方式17中已说明那样,保持利用行处理部5-1~5-p及列处理部6的解码的中间结果。行处理部5-1~5-p按与图32所示的伪巡回代码的单位行列的全部行相对应的p行相应地设置,按巡回构造的基本行列的大小被并列化。列处理部6进行列处理。
控制部7进行最大反复次数的设定等解码反复的控制。在解码结果判定部8中,根据列处理部6求出的事后值的硬判定通过上述式(6)计算出解码结果的解码系列,进行奇偶校验并根据上述式(7)的条件来判定解码结果的正误。
其次,就动作进行说明。
首先,接收LLR计算部2输入接收信息,并从该接收信息计算出接收LLR。其次,在初始化步骤中,接收LLR计算部2将计算出的接收LLR作为初始值zm,n (0)(:=Fn)设定在中间结果保持部4中。此时,控制部7将解码的反复次数i初始化为i=1。
接下来,从反复次数i=1到i=最终解码次(最大反复次数Imax),反复执行由利用行处理部5-1~5-p的行处理及利用列处理部6的列处理组成的反复解码处理即步骤1,和利用解码结果判定部8的按照上述式(7)的步骤2的判定处理。
以反复第i次的解码运算为例来进行说明。
图33是用于说明根据实施方式18的行处理部及列处理部的解码运算的框图。利用该图对解码运算的流程进行说明。
首先,对于欲解码的LDPC代码的检查行列式H(=[Hm,n]),行处理部5-1~5-p并列地执行与从第1行到第p行从1列到p列相关连的行处理,并列地执行与从第p行到第2p行的从1列到p列相关连的行处理,执行与从第2p行到第3p行的从1列到p列相关连的行处理,并将处理结果传递给列处理部6。
在这里,在与从1列到p列相关连的行处理中,对于下述式(27)的条件,执行利用了上述式(2)及式(3)的运算。
[数学公式19]
1≤n≤p,m∈M(n)               ...(27)
其次,列处理部6例如使用上述式(4)及上述式(5),并列地执行从第1列到第p列的列处理,并使处理结果保持在中间结果保持部4中。
接下来,行处理部5-1~5-p并列地执行与从第1行到第p行从p列到2p列相关连的行处理,并列地执行与从第p行到第2p行的从p列到2p列相关连的行处理,执行与从第2p行到第3p行的从p列到2p列相关连的行处理,并将处理结果传递给列处理部6。此外,在与从p列到2p列相关连的行处理中,将上述式(27)中的n设为从p到2p,对于此条件执行使用了上述式(2)及式(3)的运算。
其次,列处理部6例如使用上述式(4)及上述式(5),并列地执行从第p列到第2p列的列处理,并使处理结果保持在中间结果保持部4中。
接下来,行处理部5-1~5-p并列地执行与从第1行到第p行从2p列到3p列相关连的行处理,并列地执行与从第p行到第2p行的从2p列到3p列相关连的行处理,执行与从第2p行到第3p行的从2p列到3p列相关连的行处理,并将处理结果传递给列处理部6。此外,在与从2p列到3p列相关连的行处理中,将上述式(27)中的n设为从2p到3p,对于此条件执行使用了上述式(2)及式(3)的运算。
其次,列处理部6例如使用上述式(4)及上述式(5),并列地执行从第2p列到第3p列的列处理,并使处理结果保持在中间结果保持部4中。
接下来,行处理部5-1~5-p并列地执行与从第1行到第p行从3p列到4p列相关连的行处理,并列地执行与从第p行到第2p行的从3p列到4p列相关连的行处理,执行与从第2p行到第3p行的从3p列到4p列相关连的行处理,并将处理结果传递给列处理部6。此外,在与从3p列到4p列相关连的行处理中,将上述式(27)中的n设为从3p到4p,对于此条件执行使用了上述式(2)及式(3)的运算。
其次,列处理部6例如使用上述式(4)及上述式(5),并列地执行从第3p列到第4p列的列处理,并使处理结果保持在中间结果保持部4中。
此外,虽然在上述的处理例中,表示了利用伪巡回代码之特征2将行处理分成1~P,P~2p,2p~3p来进行行处理的例子,但也可以使1~3p全部并列地执行。
在步骤2中,解码结果判定部8对由列处理部6在反复第i次计算出的事后值zn (i)进行硬判定而决定解码结果,并进行奇偶校验。此时,如果奇偶校验的结果是NG,控制部7就将反复次数i增加1,接下来使行处理部5及列处理部6执行步骤1的处理。另一方面,如果满足上述式(7)的条件,则使之转移到后述的步骤3的处理。
这样一来,控制部7直到如上述式(7)所示那样奇偶校验的结果为OK或者反复次数成为已设定的最大值Imax为止,以反复进行基于上述式(8)的步骤1及步骤2的处理的方式来控制行处理部5及列处理部6。
若利用解码结果判定部8的奇偶校验的结果为OK或者由控制部7所设定的反复次数i成为最大值Imax,则作为步骤3,控制部7使利用行处理部5及列处理部6的解码处理结束,解码结果判定部8输出诸如上述式(6)的解码系列作为解码结果。
如以上那样,根据此实施方式18,在将如伪巡回代码那样持有巡回构造的LDPC代码以Shuffled BP算法进行解码的情况下,由于利用巡回构造的特征,所以行处理及列处理的并列化成为可能,并能够缩短与解码运算有关的处理时间,因此能够削减解码处理所要的迟延时间。
此外,虽然在上述实施方式18中,以Shuffled BP算法为例来列举进行了说明,但是按每一位或者预定的多个位逐个进行利用针对接收信号的行处理与列处理的概率信息的算出及更新的其他解码算法也能够同样地应用。另外,虽然作为持有巡回构造的LDPC代码以伪巡回代码为例进行了列举,但其他持有巡回构造的LDPC代码也同样如此。
实施方式19.
此实施方式19具备在Max-Log-MAP算法上利用仅通过减法运算和移位运算能够从接收信息算出的校正项进行校正的校正型Max-Log-MAP算法作为解码算法。
图34是表示根据本发明实施方式19的Turbo编码解码装置之构成的框图。根据本实施方式19的Turbo编码解码装置24由接收值保持部25及Turbo解码处理部26构成。在Turbo代码中将信息位系列di及其奇偶位系列P1 i、经过交错的信息位系列的奇偶位系列P2 i作为编码信息来进行发送。接收值保持部25区分它们的接收值Ri、P1 i、P2 i并保持各自的接收值,并输出给Turbo解码处理部26。Turbo解码处理部26由中间结果保持部27、量度计算部28、交错处理部29及反复控制部30构成。
中间结果保持部27对基于从接收值保持部25输入的接收值的利用量度计算部28的解码处理的中间结果进行保持。量度计算部28进行根据上述的利用校正项进行校正的校正型Max-Log-MAP算法的量度计算,并输出解码结果。交错处理部29进行按照Turbo编码的交错处理。反复控制部30对利用量度计算部28与交错处理部29的解码处理的反复进行控制。
在量度计算部28中,Max-Log-MAP算法下的处理是
[数学公式20]
F(A1,A2)=MAX(A1,A2)
                      MAX是选择输入两值的最大位的处理
                                    ..(28)
相对于此,
[数学公式20]
F(A1,A2)=max(A1,A2)+δ ( δ = c - 1 2 | A 1 - A 1 ) · · · ( 29 )
一边对最大值进行校正一边进行量度值的算出和更新。
此外,在上述式(29)中,关于作为针对Max-Log-MAP算法的校正项δ是能够从Log-MAP算法的更新式进行级数展开而得到的近似项,能够仅通过利用输入的两值的绝对值之差与2的除法运算、从常数C进行的减法运算而算出。
另外,关于常数C,在从Log-MAP算法的更新式的近似计算中所得到的ln(2)是一个例子,还可以通过适当地设定值而使解码性能提高。进而,关于借助于2的除法运算可以在用硬件等二进制数所表现的系列中,通过1位的移位运算实现。
在交错处理部29中,将用于进行欲解码的Turbo代码的交错处理的信息提供给量度计算部28,并在反复控制部30中进行反复次数和进行交错情况与不进行情况下的控制。
其次,就动作进行说明。
图35是表示根据实施方式19的Turbo编码解码装置之动作的流程图,并按照该图对动作进行说明。
首先,接收值保持部25区分接收值Ri、P1 i、P2 i来保持作为接收信息(步骤ST1)。其次,在初始化步骤(步骤ST2)中,反复控制部30将解码的反复次数i初始化i=1。
其次,在步骤ST3中,从反复次数i=1到i=最终解码回(最大反复次数Imax)反复执行利用量度计算部和交错处理部的反复解码处理即步骤1。
以反复第i次的解码运算为例来进行说明。
首先,在步骤1中,量度计算部5对于欲解码的Turbo代码进行反复第i次的解码运算中的针对没有交错的接收值的量度计算。若具体地进行说明,就是对于接收值Ri、P1 i,按照用上述式(29)进行校正的Max-Log-MAP算法来进行量度计算,并使处理结果保持在中间结果保持部27中。为进行没有交错的量度计算,在从接收值保持部调用接收值Ri、P1 i之际从开头按顺序增加i来进行。
在步骤2中,量度计算部28对于欲解码的Turbo代码进行反复第i次的解码运算中的存在交错的量度计算。若具体地进行说明,就是对于接收值P2 i与已交错的接收值Ri,按照用上述式(29)进行校正的Max-Log-MAP算法来进行量度计算,并使处理结果保持在中间结果保持部27中。为对接收值Ri进行交错,在从接收值保持部25调用接收值之际,通过接受将要从交错处理部调用的编号i的信息并进行调用来进行。
这样一来,反复控制部30,直到反复次数成为已设定的最大值Imax为止,以反复进行步骤1、2的方式来控制量度计算部与交错处理部。
如果由反复控制部30所设定的反复次数i成为最大值Imax,则作为步骤ST4,反复控制部30使利用量度计算部28及交错处理部29的解码处理结束,并从量度计算部输出解码结果。
如以上那样,根据此实施方式19,由于是按照利用仅通过接收信息的减法运算及移位运算就能够算出的校正项进行校正的校正型Max-Log-MAP算法来执行解码处理,所以就能够抑制源于以往的Log-MAP算法的解码性能的劣化,而且还能够与以往的Max-Log-MAP算法相比较显著地使解码性能提高。
进而,用于算出基于接收信息的校正项的计算,可以仅通过减法运算和1移位运算来执行,就能够用简易的硬件构成实现根据实施方式19的Turbo解码装置1。
实施方式20.
在本实施方式20中,就应用从前述实施方式1到实施方式19的解码处理的系统进行说明。例如,本发明所涉及的LDPC解码处理能够应用于移动通信(终端、基站)、无线LAN、光通信、卫星通信、量子加密装置等通信设备全般。具体而言,就是如图36所示那样,构成包含LDPC编码器31、调制器32、信道33、解调器34及LDPC解码器35而成的系统,并作为该系统中的LDPC解码器35,搭载上述实施方式1~19所示的解码器进行纠错。
图37是表示将本发明所涉及的解码处理应用于具备移动终端36及与该移动终端36进行通信的基站37的移动通信系统时的构成例子的图。在图中,移动终端36具备LDPC编码器31、调制器32、解调器34、LDPC解码器35及天线42。另外,基站37具备LDPC解码器43、解调器44、调制器45、LDPC编码器46及天线47。
作为移动终端36及基站37的LDPC解码器35,43应用在前述的实施方式1~19中所说明的构成的LPDC解码器。
在如上述那样构成的移动通信系统中,在从移动终端36发送数据的情况下,LDPC编码器37对数据进行编码,经由调制器38与天线41送出至无线信道。
另一方面,在基站37中经由天线47与解调器44接受包含无线信道中所发生的错误的接收信号,并用LDPC解码器43对解调后的接收数据进行纠正。此外,对于移动终端36从网络接收各种数据的情况,也通过与上述同样的处理,基站37将编码数据发送至移动终端36,移动终端36接收各种数据并进行解码。
在基站37将编码数据发送至移动终端36的情况下,通过LDPC编码器46对数据进行编码,并经由调制器45与天线47将编码数据送出至无线信道。另一方面,在移动终端36中,经由天线42与解调器34接受包含无线信道中所发生的错误的接收信号,并用LDPC解码器35对解调后的接收数据进行纠正。
如以上那样,根据此实施方式20,由于将从上述实施方式1到上述实施方式19所示的解码处理应用于移动通信系统,所以在利用移动终端36及基站37的解码处理中,就能够分别获得从上述实施方式1到上述实施方式19所示的效果。
产业上的可利用性
如以上那样,本发明所涉及的解码方法作为数字通信中的解码技术很有用,特别是适合于作为编码方式采用LDPC编码的通信装置。

Claims (19)

1.一种解码装置,其特征在于,具备:
解码部件,针对经过低密度奇偶校验(Low-density Parity-check:LDPC)编码的接收信号,按每一位或者预定的多个位逐个执行利用按照Min-Sum算法的行处理及列处理的概率信息的算出及其更新。
2.一种解码装置,其特征在于,具备:
解码部件,针对经过低密度奇偶校验(Low-density Parity-check:LDPC)编码的接收信号,按每一位或者预定的多个位逐个执行利用按照Normalized BP(Belief Propagation)的行处理及列处理的概率信息的算出及其更新。
3.一种解码装置,其特征在于,具备:
解码部件,针对经过低密度奇偶校验(Low-density Parity-check:LDPC)编码的接收信号,按每一位或者预定的多个位逐个执行利用按照Offset BP(Belief Propagation)的行处理及列处理的概率信息的算出及其更新。
4.一种解码装置,其特征在于,具备:
解码部件,当针对经过低密度奇偶校验(Low-densityParity-check:LDPC)编码的接收信号,执行利用按照Min-Sum算法的行处理及列处理的概率信息的算出及其更新时,就使用更新式来进行行处理中的更新运算,其中,该更新式用从上述接收信号计算出的校正项来校正作为上述概率信息的对数似然比。
5.按照权利要求4记载的解码装置,其特征在于:
解码部件按每一位或者预定的多个位逐个执行利用行处理及列处理的概率信息的算出及其更新。
6.按照权利要求4记载的解码装置,其特征在于:
解码部件用规定的常数对通过行处理而算出的对数似然比进行除法运算,将上述对数似然比的大小调整成与利用Sum-Product算法的对数似然比的大小相同程度。
7.按照权利要求6记载的解码装置,其特征在于:
解码部件按每一位或者预定的多个位逐个执行利用行处理及列处理的概率信息的算出及其更新。
8.按照权利要求4记载的解码装置,其特征在于:
解码部件从通过行处理而算出的对数似然比减去规定的常数,将上述对数似然比的大小调整成与利用Sum-Product算法的对数似然比的大小相同程度。
9.按照权利要求8记载的解码装置,其特征在于:
解码部件按每一位或者预定的多个位逐个执行利用行处理及列处理的概率信息的算出及其更新。
10.一种解码装置,其特征在于,具备:
解码部件,针对经过低密度奇偶校验(Low-density Parity-check:LDPC)编码的接收信号,执行利用按照Normalized BP(BeliefPropagation)的行处理及列处理的概率信息的算出及其更新,
其中,上述解码部件具有:
执行行处理的行处理部;和
执行列处理的列处理部,
上述行处理部具有:
比较部,执行对数似然比的更新运算;
除法运算部,用常数(Normalization Factor)对利用上述比较部的更新运算结果进行除法运算,并将上述对数似然比的大小调整成与利用Sum-Product算法的对数似然比的大小相同程度;和
除法运算常数选择部,预先存储每行的常数(NormalizationFactor),并将与上述行处理部执行行处理的行相对应的上述常数输出到上述行处理部,所述常数依照依赖于接收信号的调制方式的位误码率和/或LDPC代码的检查行列式的行权重而被决定。
11.一种解码装置,其特征在于,具备:
解码部件,针对经过低密度奇偶校验(Low-density Parity-check:LDPC)编码的接收信号,执行利用按照Offset BP(Belief Propagation)的行处理及列处理的概率信息的算出及其更新,
其中,上述解码部件具有:
执行行处理的行处理部;和
执行列处理的列处理部,
上述行处理部具有:
比较部,执行对数似然比的更新运算;
减法运算部,用常数(Offset Factor)对利用上述比较部的更新运算结果进行减法运算,并将上述对数似然比的大小调整成与利用Sum-Product算法的对数似然比的大小相同程度;和
减法运算常数选择部,预先存储每行的常数(Offset Factor),并将与上述行处理部执行行处理的行相对应的上述常数输出到上述行处理部,所述常数依照依赖于接收信号的调制方式的位误码率和/或LDPC代码的检查行列式的行权重而被决定。
12.一种解码装置,其特征在于,具备:
解码部件,针对经过低密度奇偶校验(Low-density Parity-check:LDPC)编码的接收信号,按每一位或者预定的多个位逐个执行利用行处理及列处理的概率信息的算出及其更新,
其中,上述解码部件具有:
执行行处理的行处理部;
运算列控制部,依照依赖于接收信号的调制方式的位误码率或者LDPC代码的检查行列式的构成进行由多个列组成的组分割;和
列处理部,按上述每组执行列处理运算。
13.按照权利要求12记载的解码装置,其特征在于:
运算列控制部进行组分割以便在属于同组的诸列的行索引的集合中不包含同行。
14.一种解码装置,其特征在于,具备:
解码部件,针对经过低密度奇偶校验(Low-density Parity-check:LDPC)编码的接收信号,按照与依赖于接收信号的调制方式的位误码率或者LDPC代码的检查行列式的构成相应的解码顺序,按每一位或者预定的多个位逐个执行利用行处理及列处理的概率信息的算出及其更新。
15.按照权利要求14记载的解码装置,其特征在于:
解码部件对在LDPC代码的检查行列式中同列上持有1的每行并列地执行行处理。
16.按照权利要求14记载的解码装置,其特征在于:
解码部件针对具有巡回构造的LDPC代码,依照该巡回构造的单位构造并列地执行解码处理。
17.一种通信装置,其特征在于,具备:
编码发送部,具有进行LDPC代码的编码的编码部和进行与该LDPC代码的构成相适应的调制信号点的分配的调制部;和
接收解码处理部,具有进行从上述编码发送部接收到的调制信号的解调的解调部和按照基于上述LDPC代码的构成的顺序控制来执行解码处理的解码部件。
18.按照权利要求17记载的通信装置,其特征在于:
解码部件按照基于接收信号的调制信号点的顺序控制,按每一位或者预定的多个位逐个执行利用针对接收信号的行处理与列处理的概率信息的算出及更新。
19.一种解码装置,其特征在于,具备:
解码部件,当针对经过Turbo编码的接收信号,执行利用按照Max-Log-MAP算法的量度计算的概率信息即量度值的算出及其更新时,就使用更新式来进行量度计算中的更新运算,其中,该更新式用从上述接收信号计算出的校正项来校正上述量度值。
CNA2005800412570A 2004-12-02 2005-12-01 解码装置以及通信装置 Pending CN101069356A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004350168 2004-12-02
JP350168/2004 2004-12-02

Publications (1)

Publication Number Publication Date
CN101069356A true CN101069356A (zh) 2007-11-07

Family

ID=36565121

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2005800412570A Pending CN101069356A (zh) 2004-12-02 2005-12-01 解码装置以及通信装置

Country Status (6)

Country Link
US (1) US8201047B2 (zh)
EP (1) EP1819056B1 (zh)
JP (1) JP4777261B2 (zh)
KR (1) KR100924189B1 (zh)
CN (1) CN101069356A (zh)
WO (1) WO2006059688A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101917248A (zh) * 2010-07-20 2010-12-15 北京全路通信信号研究设计院 一种列控报文处理方法、装置和系统
CN103190080A (zh) * 2010-10-29 2013-07-03 Jvc建伍株式会社 解码装置及解码方法
CN105814799A (zh) * 2013-12-09 2016-07-27 三菱电机株式会社 纠错解码装置

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4492352B2 (ja) * 2005-01-05 2010-06-30 日本電気株式会社 復号装置及びその方法並びにプログラム
US7562279B2 (en) * 2005-05-20 2009-07-14 Mitsubishi Electric Research Laboratories, Inc. 2D-normalized min-sum decoding for ECC codes
JP4526451B2 (ja) * 2005-06-30 2010-08-18 ルネサスエレクトロニクス株式会社 復号装置と方法並びにプログラム
CN101248583B (zh) 2005-07-13 2012-04-18 三菱电机株式会社 通信装置以及解码方法
KR100804793B1 (ko) * 2005-10-07 2008-02-20 삼성전자주식회사 저밀도 패러티 검사 복호기에서의 검사 노드 갱신 방법
US7647548B2 (en) * 2006-07-31 2010-01-12 Agere Systems Inc. Methods and apparatus for low-density parity check decoding using hardware-sharing and serial sum-product architecture
US7644339B2 (en) 2006-10-02 2010-01-05 Broadcom Corporation Overlapping sub-matrix based LDPC (low density parity check) decoder
US8359522B2 (en) 2007-05-01 2013-01-22 Texas A&M University System Low density parity check decoder for regular LDPC codes
WO2009004572A1 (en) * 2007-07-04 2009-01-08 Nxp B.V. Shuffled ldpc decoding
JP4823176B2 (ja) * 2007-08-31 2011-11-24 パナソニック株式会社 復号方法及び復号装置
JP4487212B2 (ja) 2007-10-19 2010-06-23 ソニー株式会社 復号装置および方法、送受信システム、受信装置および方法、並びにプログラム
JP4487213B2 (ja) 2007-10-19 2010-06-23 ソニー株式会社 復号装置および方法、並びにプログラム
KR101077552B1 (ko) 2007-12-14 2011-10-28 한국전자통신연구원 복수의 기본 패리티 검사행렬을 이용한 저밀도 패리티 검사부호의 복호화 장치 및 그 방법
KR20090065411A (ko) * 2007-12-17 2009-06-22 한국전자통신연구원 그룹 단위 복호화를 위한 전처리 장치 및 그 방법
WO2009078653A2 (en) * 2007-12-17 2009-06-25 Electronics And Telecommunications Research Institute Preprocessing apparatus and method for group-based decoding
US8627165B2 (en) * 2008-03-24 2014-01-07 Micron Technology, Inc. Bitwise operations and apparatus in a multi-level system
US8572332B2 (en) * 2008-03-28 2013-10-29 Qualcomm Incorporated De-interleaving mechanism involving a multi-banked LLR buffer
KR101526317B1 (ko) 2008-05-09 2015-06-11 삼성전자주식회사 계층적 디코딩 장치
US20100169735A1 (en) * 2008-12-31 2010-07-01 Texas Instruments Incorporated Low density parity check code row update instruction
US8572460B2 (en) * 2009-03-17 2013-10-29 Broadcom Corporation Communication device employing binary product coding with selective additional cyclic redundancy check (CRC) therein
JP4545217B1 (ja) 2009-04-03 2010-09-15 三菱電機株式会社 復号装置および復号方法
JP5489552B2 (ja) * 2009-06-19 2014-05-14 三菱電機株式会社 復号方法及び復号装置
US8683302B2 (en) * 2009-09-25 2014-03-25 Panasonic Corporation Coding device, decoding device, coding method, decoding method, and communication system
JP5434454B2 (ja) * 2009-10-08 2014-03-05 富士通株式会社 復号化装置
TWI380598B (en) * 2010-05-18 2012-12-21 Univ Nat Taiwan Programmable ldpc code decoder and decoding method thereof
US11336303B2 (en) 2010-06-04 2022-05-17 Micron Technology, Inc. Advanced bitwise operations and apparatus in a multi-level system with nonvolatile memory
US8615703B2 (en) 2010-06-04 2013-12-24 Micron Technology, Inc. Advanced bitwise operations and apparatus in a multi-level system with nonvolatile memory
US9131238B2 (en) * 2010-06-18 2015-09-08 The Trustees Of Princeton University System and method for lossy source-channel coding at the application layer
JP5365601B2 (ja) * 2010-09-30 2013-12-11 株式会社Jvcケンウッド 復号装置および復号方法
JP5790029B2 (ja) * 2011-03-01 2015-10-07 ソニー株式会社 復号装置、復号方法、およびプログラム
JP5631846B2 (ja) * 2011-11-01 2014-11-26 株式会社東芝 半導体メモリ装置および復号方法
JP5772622B2 (ja) * 2012-01-20 2015-09-02 株式会社Jvcケンウッド 復号装置および復号方法
CN104185952B (zh) * 2012-03-28 2018-11-13 英特尔公司 初级检验节点处理的方法和系统
US8885766B2 (en) * 2012-09-11 2014-11-11 Inphi Corporation Optical communication interface utilizing N-dimensional double square quadrature amplitude modulation
TWI583141B (zh) * 2016-05-12 2017-05-11 國立清華大學 低密度奇偶檢查碼的解碼方法與解碼器
CN106059596B (zh) * 2016-06-24 2019-05-14 中山大学 以二元bch码为成份码的分组马尔可夫叠加编码方法及其译码方法
CN106330203B (zh) * 2016-08-26 2019-12-31 晶晨半导体(上海)股份有限公司 一种ldpc的解码方法
US10419027B2 (en) 2016-10-13 2019-09-17 Qualcomm Incorporated Adjusted min-sum decoder

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6633856B2 (en) 2001-06-15 2003-10-14 Flarion Technologies, Inc. Methods and apparatus for decoding LDPC codes
JP3820583B2 (ja) * 2002-01-08 2006-09-13 ソニー株式会社 軟出力復号装置及び軟出力復号方法、並びに復号装置及び復号方法
US6829308B2 (en) 2002-07-03 2004-12-07 Hughes Electronics Corporation Satellite communication system utilizing low density parity check codes
KR100487183B1 (ko) * 2002-07-19 2005-05-03 삼성전자주식회사 터보 부호의 복호 장치 및 방법
US20040109507A1 (en) * 2002-12-06 2004-06-10 Ido Kanter Sequential decoding of parity check codes
JP2004274186A (ja) * 2003-03-05 2004-09-30 Sony Corp 誤り訂正符号の復号評価方法及び装置
US20080109698A1 (en) * 2006-07-25 2008-05-08 Legend Silicon Hybrid min-sum decoding apparatus with low bit resolution for ldpc code

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101917248A (zh) * 2010-07-20 2010-12-15 北京全路通信信号研究设计院 一种列控报文处理方法、装置和系统
CN103190080A (zh) * 2010-10-29 2013-07-03 Jvc建伍株式会社 解码装置及解码方法
CN103190080B (zh) * 2010-10-29 2016-01-20 Jvc建伍株式会社 解码装置及解码方法
CN105814799A (zh) * 2013-12-09 2016-07-27 三菱电机株式会社 纠错解码装置
CN105814799B (zh) * 2013-12-09 2019-03-01 三菱电机株式会社 纠错解码装置

Also Published As

Publication number Publication date
US20080246639A1 (en) 2008-10-09
EP1819056A4 (en) 2009-03-04
JPWO2006059688A1 (ja) 2008-06-05
KR100924189B1 (ko) 2009-10-29
US8201047B2 (en) 2012-06-12
EP1819056B1 (en) 2013-07-17
EP1819056A1 (en) 2007-08-15
KR20070073949A (ko) 2007-07-10
JP4777261B2 (ja) 2011-09-21
WO2006059688A1 (ja) 2006-06-08

Similar Documents

Publication Publication Date Title
CN101069356A (zh) 解码装置以及通信装置
CN1960190A (zh) Ldpc码校验矩阵构造方法及利用该方法的编码解码装置
CN1208920C (zh) 数据传输方法,数据传输系统,发射装置和接收装置
CN101047390A (zh) 解码设备、控制方法及程序
CN1278527C (zh) 无线局域网设备
CN1294540C (zh) 编解码坐标内插符关键字数据和关键值数据的装置
CN1186714C (zh) 高基除法器及方法
CN1159704C (zh) 信号分析装置
CN1866751A (zh) 一种低密度奇偶校验码的构造方法及装置
CN1751516A (zh) 用于发送和接收映象数据的强势系统
CN1922643A (zh) 加密系统、加密装置、解密装置、程序和集成电路
CN1582578A (zh) 用于多种数据类型的传输和接收的映射系统
CN1110486A (zh) 传输误差的隐蔽
CN1922887A (zh) 图象编码方法和图象解码方法
CN1640142A (zh) 对小波变换系数进行编码的方法和设备
CN1199177C (zh) 可抑制电路规模能进行高速纠错的纠错装置和解码装置
CN1200571C (zh) 正交变换、逆正交变换方法及装置、编码、解码方法及装置
CN1650561A (zh) 音频数据编码转换发送方法以及编码转换接收方法、设备、系统和程序
CN1633749A (zh) 获得循环冗余码
CN1178461C (zh) 图像编码装置、图像译码装置、传真装置
CN1271862C (zh) 动画图象编码方法和动画图象译码方法
CN1956368A (zh) 基于单位阵及其循环移位阵的ldpc码向量译码装置和方法
CN1922890A (zh) 分段可逆视频编码方法、分段可逆视频译码方法、分段可逆视频编码装置、分段可逆视频译码装置和它们的程序及程序记录媒体
CN1232323A (zh) 交错码,编码,译码设备和方法,置换方法及其系统
CN1933336A (zh) 使用grs码构建ldpc码的方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20071107