JP5971576B2 - 符号化方法、復号方法 - Google Patents
符号化方法、復号方法 Download PDFInfo
- Publication number
- JP5971576B2 JP5971576B2 JP2015213362A JP2015213362A JP5971576B2 JP 5971576 B2 JP5971576 B2 JP 5971576B2 JP 2015213362 A JP2015213362 A JP 2015213362A JP 2015213362 A JP2015213362 A JP 2015213362A JP 5971576 B2 JP5971576 B2 JP 5971576B2
- Authority
- JP
- Japan
- Prior art keywords
- integer
- parity check
- parity
- ldpc
- time
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/25—Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
- H03M13/255—Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with Low Density Parity Check [LDPC] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/033—Theoretical methods to calculate these checking codes
- H03M13/036—Heuristic code construction methods, i.e. code construction or code search based on using trial-and-error
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1111—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/1154—Low-density parity-check convolutional codes [LDPC-CC]
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/23—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/25—Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
- H03M13/256—Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with trellis coding, e.g. with convolutional codes and TCM
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/615—Use of computational or mathematical techniques
- H03M13/616—Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/615—Use of computational or mathematical techniques
- H03M13/617—Polynomial operations, e.g. operations related to generator polynomials or parity-check polynomials
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/63—Joint error correction and other techniques
- H03M13/635—Error control coding in combination with rate matching
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Mathematical Analysis (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Computing Systems (AREA)
- Error Detection And Correction (AREA)
Description
LDPC符号は、低密度なパリティ検査行列Hで定義される誤り訂正符号である。また、LDPC符号は、検査行列Hの列数Nと等しいブロック長を持つブロック符号である(非特許文献1、非特許文献2、非特許文献3参照)。例えば、ランダム的なLDPC符号、QC−LDPC符号(QC:Quasi-Cyclic)が提案されている。
LDPC−CCは、低密度なパリティ検査行列により定義される畳み込み符号である。例えば、符号化率R=1/2(=b/c)のLDPC−CCのパリティ検査行列HT[0,n]は、図1で示される。ここで、HT[0,n]の要素h1 (m)(t)は、0又は1をとる。また、h1 (m)(t)以外の要素は全て0である。MはLDPC−CCにおけるメモリ長、nはLDPC−CCの符号語の長さをあらわす。図1に示されるように、LDPC−CCの検査行列は行列の対角項とその近辺の要素にのみに1が配置されており、行列の左下及び右上の要素はゼロであり、平行四辺形型の行列であるという特徴がある。
本発明の目的は、誤り訂正能力の高い時変LDPC−CCの符号化方法、復号方法、符号化器、及び、復号器を提供することである。
「a#0,k,1%q=a#1,k,1%q=a#2,k,1%q=a#3,k,1%q=・・・=a#g,k,1%q=・・・=a#q−2,k,1%q=a#q−1,k,1%q=vp=k (vp=k:固定値)」、
「b#0,1%q=b#1,1%q=b#2,1%q=b#3,1%q=・・・=b#g,1%q=・・・=b#q−2,1%q=b#q−1,1%q=w (w:固定値)」、
「a#0,k,2%q=a#1,k,2%q=a#2,k,2%q=a#3,k,2%q=・・・=a#g,k,2%q=・・・=a#q−2,k,2%q=a#q−1,k,2%q=yp=k (yp=k:固定値)」、
「b#0,2%q=b#1,2%q=b#2,2%q=b#3,2%q=・・・=b#g,2%q=・・・=b#q−2,2%q=b#q−1,2%q=z (z:固定値)」、
及び、
「a#0,k,3%q=a#1,k,3%q=a#2,k,3%q=a#3,k,3%q=・・・=a#g,k,3%q=・・・=a#q−2,k,3%q=a#q−1,k,3%q=sp=k (sp=k:固定値)」
を、k=1、2、・・・、n−1に対して満たすパリティ検査多項式を用いて、前記情報系列を符号化する。
先ず、実施の形態の具体的な構成及び動作を説明する前に、特許文献1に記載されているパリティ検査多項式に基づくLDPC−CCについて説明する。
[パリティ検査多項式に基づくLDPC−CC]
先ず、時変周期4のLDPC−CCについて説明する。なお、以下では、符号化率1/2の場合を例に説明する。
また、式(1−3)において、α1、α2、α3、α4は整数(ただし、α1≠α2≠α3≠α4)とする。また、β1、β2、β3、β4は整数(ただし、β1≠β2≠β3≠β4)とする。式(1−3)のパリティ検査多項式を「検査式#3」と呼び、式(1−3)のパリティ検査多項式に基づくサブ行列を、第3サブ行列H3とする。
そして、第1サブ行列H1、第2サブ行列H2、第3サブ行列H3、第4サブ行列H4から、図3のように検査行列を生成した時変周期4のLDPC−CCについて考える。
なお、時変周期2の場合においても、上記「余り」に関する条件を適用すると、特性が良好な符号を探索できることが確認された。以下、特性が良好な時変周期2のLDPC−CCについて説明する。なお、以下では、符号化率1/2の場合を例に説明する。
また、式(2−2)において、A1、A2、A3、A4は整数(ただし、A1≠A2≠A3≠A4)とする。また、B1、B2、B3、B4は整数(ただし、B1≠B2≠B3≠B4)とする。式(2−2)のパリティ検査多項式を「検査式#2」と呼び、式(2−2)のパリティ検査多項式に基づくサブ行列を、第2サブ行列H2とする。
このとき、式(2−1)、(2−2)において、X(D)及びP(D)の次数の組み合わせ(a1、a2、a3、a4)、(b1、b2、b3、b4)、(A1、A2、A3、A4)、(B1、B2、B3、B4)の各値を4で除算した余りをkとした場合、上記のようにあらわした4つの係数セット(例えば、(a1、a2、a3、a4))に、余り0、1、2、3が1つずつ含まれるようにし、かつ、上記の4つの係数セット全てで成立するようにする。
時変周期を3とするLDPC−CCのパリティ検査多項式として、式(3−1)〜(3−3)を考える。このとき、X(D)はデータ(情報)の多項式表現であり、P(D)はパリティの多項式表現である。ここで、式(3−1)〜(3−3)では、X(D)、P(D)それぞれに3つの項が存在するようなパリティ検査多項式とする。
また、式(3−2)において、A1、A2、A3は整数(ただし、A1≠A2≠A3)とする。また、B1、B2、B3は整数(ただし、B1≠B2≠B3)とする。式(3−2)のパリティ検査多項式を「検査式#2」と呼び、式(3−2)のパリティ検査多項式に基づくサブ行列を、第2サブ行列H2とする。
そして、第1サブ行列H1、第2サブ行列H2、第3サブ行列H3から生成する時変周期3のLDPC−CCについて考える。
ての行で等く、かつ、列重みが全ての行で等しいレギュラーLDPC−CC符号を生成することができる。なお、例外とは、検査行列の最初の一部及び最後の一部では、行重み、列重みが、他の行重み、列重みと等しくならないことをいう。更に、BP復号を行った場合、「検査式#2」における信頼度及び「検査式#3」における信頼度が、的確に「検査式#1」に対して伝播し、「検査式#1」における信頼度及び「検査式#3」における信頼度が、的確に「検査式#2」に対して伝播し、「検査式#1」における信頼度及び「検査式#2」における信頼度が、「検査式#3」に対して的確に伝播する。このため、より受信品質が良好なLDPC−CCを得ることができる。これは、列単位で考えた場合、「1」が存在する位置が、上述のように、信頼度を的確に伝播するように配置されることになるためである。
「検査式#1」は、式(3−1)のパリティ検査多項式において、(a1、a2、a3)=(2,1,0)、(b1、b2、b3)=(2,1,0)の場合であり、各係数を3で除算した余りは、(a1%3、a2%3、a3%3)=(2,1,0)、(b1%3、b2%3、b3%3)=(2,1,0)である。なお、「Z%3」は、Zを3で除算した余りをあらわす。
「検査式#3」は、式(3−3)のパリティ検査多項式において、(α1、α2、α3)=(4,2,0)、(β1、β2、β3)=(4,2,0)の場合であり、各係数を3で除算した余りは、(α1%3、α2%3、α3%3)=(1,2,0)、(β1%3、β2%3、β3%3)=(1,2,0)である。
(a1%3、a2%3、a3%3)、
(b1%3、b2%3、b3%3)、
(A1%3、A2%3、A3%3)、
(B1%3、B2%3、B3%3)、
(α1%3、α2%3、α3%3)、
(β1%3、β2%3、β3%3)が、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなるという条件を満たしている。
BP復号における列6506の列演算において、「検査式#2」の係数において余りが1となる領域6504の「1」、及び、「検査式#3」の係数において余りが2となる領域6505の「1」から、信頼度が伝播される。
同様に、「検査式#1」の係数において余りが1となる領域6202の「1」は、BP復号における列6509の列演算において、「検査式#2」の係数において余りが2となる領域6507の「1」、及び、「検査式#3」の係数において余りが0となる領域6508の「1」から、信頼度が伝播される。
図4Bを用いて、信頼度伝播について補足説明をする。図4Bは、図4Aの「検査式#1」〜「検査式#3」のX(D)に関する各項同士の信頼度伝播の関係を示している。図4Aの「検査式#1」〜「検査式#3」は、式(3−1)〜(3−3)のX(D)に関する項において、(a1、a2、a3)=(2、1、0)、(A1、A2、A3)=(5、1、0)、(α1、α2、α3)=(4、2、0)の場合である。
図4Bから分かるように、「検査式#1」のa1は、3で除算した余りが異なる「検査式#2」のA3及び「検査式#3」のα1から信頼度が伝播される。「検査式#1」のa2は、3で除算した余りが異なる「検査式#2」のA1及び「検査式#3」のα3から信頼度が伝播される。「検査式#1」のa3は、3で除算した余りが異なる「検査式#2」のA2及び「検査式#3」のα2から信頼度が伝播される。図4Bには、「検査式#1」〜「検査式#3」のX(D)に関する各項同士の信頼度伝播の関係を示したが、P(D)に関する各項同士についても同様のことがいえる。
になる。
以上、時変周期3のLDPC−CCについて、符号化率1/2の場合を例に説明したが、符号化率は1/2に限られない。符号化率(n−1)/n(nは2以上の整数)の場合には、情報X1(D)、X2(D)、・・・、Xn−1(D)における、それぞれの3つの係数セットにおいて、上記の「余り」に関する条件が成立すれば、やはり、レギュラーLDPC符号となり、良好な受信品質を得ることができる。
時変周期を3とするLDPC−CCのパリティ検査多項式として、式(4−1)〜(4−3)を考える。このとき、X1(D)、X2(D)、・・・、Xn−1(D)はデータ(情報)X1、X2、・・・、Xn−1の多項式表現であり、P(D)はパリティの多項式表現である。ここで、式(4−1)〜(4−3)では、X1(D)、X2(D)、・・・、Xn−1(D)、P(D)それぞれに3つの項が存在するようなパリティ検査多項式とする。
このとき、式(4−1)〜(4−3)において、X1(D)、X2(D)、・・・、Xn−1(D)及びP(D)の次数の組み合わせ
(a1,1、a1,2、a1,3)、
(a2,1、a2,2、a2,3)、・・・、
(an−1,1、an−1,2、an−1,3)、
(b1、b2、b3)、
(A1,1、A1,2、A1,3)、
(A2,1、A2,2、A2,3)、・・・、
(An−1,1、An−1,2、An−1,3)、
(B1、B2、B3)、
(α1,1、α1,2、α1,3)、
(α2,1、α2,2、α2,3)、・・・、
(αn−1,1、αn−1,2、αn−1,3)、
(β1、β2、β3)
の各値を3で除算した余りをkとした場合、上記のようにあらわした3つの係数セット(例えば、(a1,1、a1,2、a1,3))に、余り0、1、2が1つずつ含まれるようにし、かつ、上記の3つの係数セット全てで成立するようにする。
(a1,1%3、a1,2%3、a1,3%3)、
(a2,1%3、a2,2%3、a2,3%3)、・・・、
(an−1,1%3、an−1,2%3、an−1,3%3)、
(b1%3、b2%3、b3%3)、
(A1,1%3、A1,2%3、A1,3%3)、
(A2,1%3、A2,2%3、A2,3%3)、・・・、
(An−1,1%3、An−1,2%3、An−1,3%3)、
(B1%3、B2%3、B3%3)、
(α1,1%3、α1,2%3、α1,3%3)、
(α2,1%3、α2,2%3、α2,3%3)、・・・、
(αn−1,1%3、αn−1,2%3、αn−1,3%3)、
(β1%3、β2%3、β3%3)が、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなるようにする。
式(5−1)において、a1,1、a1,2、a1,3は整数(ただし、a1,1≠a1,2≠a1,3)とする。また、b1,1、b1,2、b1,3は整数(ただし、b1,1≠b1,2≠b1,3)とする。式(5−1)のパリティ検査多項式を「検査式#1」と呼び、式(5−1)のパリティ検査多項式に基づくサブ行列を、第1サブ行列H1とする。
、b5,1≠b5,2≠b5,3)とする。式(5−5)のパリティ検査多項式を「検査式#5」と呼び、式(5−5)のパリティ検査多項式に基づくサブ行列を、第5サブ行列H5とする。
このとき、式(5−1)〜(5−6)において、X(D)及びP(D)の次数の組み合わせ
(a1,1、a1,2、a1,3)、
(b1,1、b1,2、b1,3)、
(a2,1、a2,2、a2,3)、
(b2,1、b2,2、b2,3)、
(a3,1、a3,2、a3,3)、
(b3,1、b3,2、b3,3)、
(a4,1、a4,2、a4,3)、
(b4,1、b4,2、b4,3)、
(a5,1、a5,2、a5,3)、
(b5,1、b5,2、b5,3)、
(a6,1、a6,2、a6,3)、
(b6,1、b6,2、b6,3)
の各値を3で除算したときの余りkとした場合、上記のようにあらわした3つの係数セット(例えば、(a1,1、a1,2、a1,3))に、余り0、1、2が1つずつ含まれるようにし、かつ、上記の3つの係数セット全てで成立するようにする。つまり、
(a1,1%3、a1,2%3、a1,3%3)、
(b1,1%3、b1,2%3、b1,3%3)、
(a2,1%3、a2,2%3、a2,3%3)、
(b2,1%3、b2,2%3、b2,3%3)、
(a3,1%3、a3,2%3、a3,3%3)、
(b3,1%3、b3,2%3、b3,3%3)、
(a4,1%3、a4,2%3、a4,3%3)、
(b4,1%3、b4,2%3、b4,3%3)、
(a5,1%3、a5,2%3、a5,3%3)、
(b5,1%3、b5,2%3、b5,3%3)、
(a6,1%3、a6,2%3、a6,3%3)、
(b6,1%3、b6,2%3、b6,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。
また、「検査式#2」に対して、タナーグラフを描いた際、エッジが存在する場合、的確に「検査式#1、又は、検査式#4」における信頼度、「検査式#3、又は、検査式#6」における信頼度が的確に伝播する。
これについて、図4Cを用いて、信頼度伝播について説明する。図4Cは、「検査式#1」〜「検査式#6」のX(D)に関する各項同士の信頼度伝播の関係を示している。図4Cにおいて、四角は、ax,yにおいて(x=1,2,3,4,5,6;y=1,2,3)、3で除算した余りが0の係数を示す。
図4Cから分かるように、タナーグラフを描いた際、エッジが存在した場合、「検査式#1」のa1,1は、3で除算した余りが異なる「検査式#2又は#5」及び「検査式#3又は#6」から信頼度が伝播される。同様に、タナーグラフを描いた際、エッジが存在した場合、「検査式#1」のa1,2は、3で除算した余りが異なる「検査式#2又は#5」及び「検査式#3又は#6」から信頼度が伝播される。
図4Cでは、「検査式#1」に着目したが、「検査式#2」から「検査式#6」についても同様にタナーグラフを描くことができ、「検査式#K」のタナーグラフにおける各ノードには、「検査式#K」以外の係数ノードから信頼度が伝播することになる。したがって、相関が低い信頼度同士が全て「検査式#K」に伝播することになるので、誤り訂正能力が向上すると考えられる。(K=2,3,4,5,6)
このように、式(5−1)〜(5−6)のパリティ検査多項式の各次数が、上述した「余り」に関する条件を満たすようにすることにより、全ての検査式において、効率よく信頼度を伝播させることができるようになり、誤り訂正能力を更に高くすることができる可能性が高まる。
、符号化率は1/2に限られない。符号化率(n−1)/n(nは2以上の整数)の場合には、情報X1(D)、X2(D)、・・・、Xn−1(D)における、それぞれの3つの係数セットにおいて、上記の「余り」に関する条件が成立すれば、やはり、良好な受信品質を得ることができる可能性が高まる。
時変周期を6とするLDPC−CCのパリティ検査多項式として、式(7−1)〜(7−6)を考える。
式(7−1)〜(7−6)において、X1(D)、X2(D)、・・・、Xn−1(D)及びP(D)の次数の組み合わせが以下の条件を満たす。
(a#1,1,1%3、a#1,1,2%3、a#1,1,3%3)、
(a#1,2,1%3、a#1,2,2%3、a#1,2,3%3)、・・・、
(a#1,k,1%3、a#1,k,2%3、a#1,k,3%3)、・・・、
(a#1,n−1,1%3、a#1,n−1,2%3、a#1,n−1,3%3)、
(b#1,1%3、b#1,2%3、b#1,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。(k=1、2、3、・・・、n−1)
かつ、
(a#2,1,1%3、a#2,1,2%3、a#2,1,3%3)、
(a#2,2,1%3、a#2,2,2%3、a#2,2,3%3)、・・・、
(a#2,k,1%3、a#2,k,2%3、a#2,k,3%3)、・・・、
(a#2,n−1,1%3、a#2,n−1,2%3、a#2,n−1,3%3)、
(b#2,1%3、b#2,2%3、b#2,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。(k=1、2、3、・・・、n−1)
かつ、
(a#3,1,1%3、a#3,1,2%3、a#3,1,3%3)、
(a#3,2,1%3、a#3,2,2%3、a#3,2,3%3)、・・・、
(a#3,k,1%3、a#3,k,2%3、a#3,k,3%3)、・・・、
(a#3,n−1,1%3、a#3,n−1,2%3、a#3,n−1,3%3)、
(b#3,1%3、b#3,2%3、b#3,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。(k=1、2、3、・・・、n−1)
かつ、
(a#4,1,1%3、a#4,1,2%3、a#4,1,3%3)、
(a#4,2,1%3、a#4,2,2%3、a#4,2,3%3)、・・・、
(a#4,k,1%3、a#4,k,2%3、a#4,k,3%3)、・・・、
(a#4,n−1,1%3、a#4,n−1,2%3、a#4,n−1,3%3)、
(b#4,1%3、b#4,2%3、b#4,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。(k=1、2、3、・・・、n−1)
かつ、
(a#5,1,1%3、a#5,1,2%3、a#5,1,3%3)、
(a#5,2,1%3、a#5,2,2%3、a#5,2,3%3)、・・・、
(a#5,k,1%3、a#5,k,2%3、a#5,k,3%3)、・・・、
(a#5,n−1,1%3、a#5,n−1,2%3、a#5,n−1,3%3)、
(b#5,1%3、b#5,2%3、b#5,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。(k=1、2、3、・・・、n−1)
かつ、
(a#6,1,1%3、a#6,1,2%3、a#6,1,3%3)、
(a#6,2,1%3、a#6,2,2%3、a#6,2,3%3)、・・・、
(a#6,k,1%3、a#6,k,2%3、a#6,k,3%3)、・・・、
(a#6,n−1,1%3、a#6,n−1,2%3、a#6,n−1,3%3)、
(b#6,1%3、b#6,2%3、b#6,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。(k=1、2、3、・・・、n−1)
上述では、時変周期6のLDPC−CCにおいて、高い誤り訂正能力を持つ符号について説明したが、時変周期3、6のLDPC−CCの設計方法と同様に、時変周期3g(g=1、2、3、4、・・・)のLDPC−CC(つまり、時変周期が3の倍数のLDPC−CC)を作成した場合、高い誤り訂正能力を持つ符号を生成することができる。以下では、その符号の構成方法について詳しく説明する。
時変周期3のLDPC−CC及び時変周期6のLDPC−CCと同様に考えると、式(9−1)〜(9−3g)のパリティ検査多項式であらわされる時変周期3g、符号化率(n−1)/n(nは2以上の整数)のLDPC−CCにおいて、以下の条件(<条件#2>)を満たすと、より高い誤り訂正能力を得ることができる可能性が高まる。
式(9−1)〜(9−3g)において、X1(D)、X2(D)、・・・、Xn−1(D)及びP(D)の次数の組み合わせが以下の条件を満たす。
(a#1,1,1%3、a#1,1,2%3、a#1,1,3%3)、
(a#1,2,1%3、a#1,2,2%3、a#1,2,3%3)、・・・、
(a#1,p,1%3、a#1,p,2%3、a#1,p,3%3)、・・・、
(a#1,n−1,1%3、a#1,n−1,2%3、a#1,n−1,3%3)、
(b#1,1%3、b#1,2%3、b#1,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。(p=1、2、3、・・・、n−1)
かつ、
(a#2,1,1%3、a#2,1,2%3、a#2,1,3%3)、
(a#2,2,1%3、a#2,2,2%3、a#2,2,3%3)、・・・、
(a#2,p,1%3、a#2,p,2%3、a#2,p,3%3)、・・・、
(a#2,n−1,1%3、a#2,n−1,2%3、a#2,n−1,3%3)、
(b#2,1%3、b#2,2%3、b#2,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。(p=1、2、3、・・・、n−1)
かつ、
(a#3,1,1%3、a#3,1,2%3、a#3,1,3%3)、
(a#3,2,1%3、a#3,2,2%3、a#3,2,3%3)、・・・、
(a#3,p,1%3、a#3,p,2%3、a#3,p,3%3)、・・・、
(a#3,n−1,1%3、a#3,n−1,2%3、a#3,n−1,3%3)、
(b#3,1%3、b#3,2%3、b#3,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。(p=1、2、3、・・・、n−1)
かつ、
・
・
・
かつ、
(a#k,1,1%3、a#k,1,2%3、a#k,1,3%3)、
(a#k,2,1%3、a#k,2,2%3、a#k,2,3%3)、・・・、
(a#k,p,1%3、a#k,p,2%3、a#k,p,3%3)、・・・、
(a#k,n−1,1%3、a#k,n−1,2%3、a#k,n−1,3%3)、
(b#k,1%3、b#k,2%3、b#k,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。(p=1、2、3、・・・、n−1)(よって、k=1、2、3、・・・、3g)
かつ、
・
・
・
かつ、
(a#3g−2,1,1%3、a#3g−2,1,2%3、a#3g−2,1,3%3)、
(a#3g−2,2,1%3、a#3g−2,2,2%3、a#3g−2,2,3%3)、・・・、
(a#3g−2,p,1%3、a#3g−2,p,2%3、a#3g−2,p,3%3)、・・・、
(a#3g−2,n−1,1%3、a#3g−2,n−1,2%3、a#3g−2,n−1,3%3)、
(b#3g−2,1%3、b#3g−2,2%3、b#3g−2,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。(p=1、2、3、・・・、n−1)
かつ、
(a#3g−1,1,1%3、a#3g−1,1,2%3、a#3g−1,1,3%3)、
(a#3g−1,2,1%3、a#3g−1,2,2%3、a#3g−1,2,3%3)、・・・、
(a#3g−1,p,1%3、a#3g−1,p,2%3、a#3g−1,p,3%3)、・・・、
(a#3g−1,n−1,1%3、a#3g−1,n−1,2%3、a#3g−1,n−1,3%3)、
(b#3g−1,1%3、b#3g−1,2%3、b#3g−1,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。(p=1、2、3、・・・、n−1)
かつ、
(a#3g,1,1%3、a#3g,1,2%3、a#3g,1,3%3)、
(a#3g,2,1%3、a#3g,2,2%3、a#3g,2,3%3)、・・・、
(a#3g,p,1%3、a#3g,p,2%3、a#3g,p,3%3)、・・・、
(a#3g,n−1,1%3、a#3g,n−1,2%3、a#3g,n−1,3%3)、
(b#3g,1%3、b#3g,2%3、b#3g,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。(p=1、2、3、・・・、n−1)
ただし、符号化を容易に行うという点を考慮すると、式(9−1)〜(9−3g)において、(b#k,1%3、b#k,2%3、b#k,3%3)の3つのうち“0”が1つ存在すると良い(ただし、k=1、2、・・・3g)。このとき、D0=1が存在し、かつb#k,1、b#k,2、b#k,3が0以上の整数であれば、パリティPを逐次的に求めることができるという特徴を持つからである。
(a#k,1,1%3、a#k,1,2%3、a#k,1,3%3)の3つのうち“0”が1つ存在し、
(a#k,2,1%3、a#k,2,2%3、a#k,2,3%3)の3つのうち“0”が1つ存在し、
・
・
・
(a#k,p,1%3、a#k,p,2%3、a#k,p,3%3)の3つのうち“0”が1つ存在し、
・
・
・
(a#k,n−1,1%3、a#k,n−1,2%3、a#k,n−1,3%3)の3つのうち“0”が1つ存在すると良い(ただし、k=1、2、・・・3g)。
<条件#3>
式(11−1)〜(11−3g)において、X1(D)、X2(D)、・・・、Xn−1(D)の次数の組み合わせが以下の条件を満たす。
(a#1,2,1%3、a#1,2,2%3、a#1,2,3%3)、・・・、
(a#1,p,1%3、a#1,p,2%3、a#1,p,3%3)、・・・、
(a#1,n−1,1%3、a#1,n−1,2%3、a#1,n−1,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。(p=1、2、3、・・・、n−1)
かつ、
(a#2,1,1%3、a#2,1,2%3、a#2,1,3%3)、
(a#2,2,1%3、a#2,2,2%3、a#2,2,3%3)、・・・、
(a#2,p,1%3、a#2,p,2%3、a#2,p,3%3)、・・・、
(a#2,n−1,1%3、a#2,n−1,2%3、a#2,n−1,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。(p=1、2、3、・・・、n−1)
かつ、
(a#3,1,1%3、a#3,1,2%3、a#3,1,3%3)、
(a#3,2,1%3、a#3,2,2%3、a#3,2,3%3)、・・・、
(a#3,p,1%3、a#3,p,2%3、a#3,p,3%3)、・・・、
(a#3,n−1,1%3、a#3,n−1,2%3、a#3,n−1,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。(p=1、2、3、・・・、n−1)
かつ、
・
・
・
かつ、
(a#k,1,1%3、a#k,1,2%3、a#k,1,3%3)、
(a#k,2,1%3、a#k,2,2%3、a#k,2,3%3)、・・・、
(a#k,p,1%3、a#k,p,2%3、a#k,p,3%3)、・・・、
(a#k,n−1,1%3、a#k,n−1,2%3、a#k,n−1,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。(p=1、2、3、・・・、n−1)(よって、k=1、2、3、・・・、3g)
かつ、
・
・
・
かつ、
(a#3g−2,1,1%3、a#3g−2,1,2%3、a#3g−2,1,3%3
)、
(a#3g−2,2,1%3、a#3g−2,2,2%3、a#3g−2,2,3%3)、・・・、
(a#3g−2,p,1%3、a#3g−2,p,2%3、a#3g−2,p,3%3)、・・・、
(a#3g−2,n−1,1%3、a#3g−2,n−1,2%3、a#3g−2,n−1,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。(p=1、2、3、・・・、n−1)
かつ、
(a#3g−1,1,1%3、a#3g−1,1,2%3、a#3g−1,1,3%3)、
(a#3g−1,2,1%3、a#3g−1,2,2%3、a#3g−1,2,3%3)、・・・、
(a#3g−1,p,1%3、a#3g−1,p,2%3、a#3g−1,p,3%3)、・・・、
(a#3g−1,n−1,1%3、a#3g−1,n−1,2%3、a#3g−1,n−1,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。(p=1、2、3、・・・、n−1)
かつ、
(a#3g,1,1%3、a#3g,1,2%3、a#3g,1,3%3)、
(a#3g,2,1%3、a#3g,2,2%3、a#3g,2,3%3)、・・・、
(a#3g,p,1%3、a#3g,p,2%3、a#3g,p,3%3)、・・・、
(a#3g,n−1,1%3、a#3g,n−1,2%3、a#3g,n−1,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。(p=1、2、3、・・・、n−1)
加えて、式(11−1)〜(11−3g)において、P(D)の次数の組み合わが以下の条件を満たす。
(b#2,1%3、b#2,2%3)、
(b#3,1%3、b#3,2%3)、・・・、
(b#k,1%3、b#k,2%3)、・・・、
(b#3g−2,1%3、b#3g−2,2%3)、
(b#3g−1,1%3、b#3g−1,2%3)、
(b#3g,1%3、b#3g,2%3)は、
(1、2)、(2、1)のいずれかとなる(k=1、2、3、・・・、3g)。
<条件#4>
式(11−1)〜(11−3g)のP(D)の次数において、以下の条件を満たす。
(b#2,1%3g、b#2,2%3g)、
(b#3,1%3g、b#3,2%3g)、・・・、
(b#k,1%3g、b#k,2%3g)、・・・、
(b#3g−2,1%3g、b#3g−2,2%3g)、
(b#3g−1,1%3g、b#3g−1,2%3g)、
(b#3g,1%3g、b#3g,2%3g)
の6g個の次数(2つの次数が1組を構成するので、3g組を構成する次数は6g個ある)の値には、0から3g−1の整数(0、1、2、3、4、・・・、3g−2、3g−1)のうち、3の倍数(つまり、0、3、6、・・・、3g−3)以外の値の全ての値が存在する。
ただし、時変周期3g、符号化率(n−1)/n(nは2以上の整数)のLDPC−CCにおいて、時点iのパリティビットをPi及び情報ビットをXi,1、Xi,2、・・・、Xi,n−1であらわす。このとき、i%3g=kとすると(k=0、1、2、・・・、3g−1)、式(13−(k+1))のパリティ検査多項式が成立する。例えば、i=2とすると、i%3g=2(k=2)となるので、式(14)が成立する。
<条件#5>
式(13−1)〜(13−3g)において、X1(D)、X2(D)、・・・、Xn−1(D)の次数の組み合わせが以下の条件を満たす。
(a#1,2,1%3、a#1,2,2%3)、・・・、
(a#1,p,1%3、a#1,p,2%3)、・・・、
(a#1,n−1,1%3、a#1,n−1,2%3)は、
(1、2)、(2、1)のいずれかとなる。(p=1、2、3、・・・、n−1)
かつ、
(a#2,1,1%3、a#2,1,2%3)、
(a#2,2,1%3、a#2,2,2%3)、・・・、
(a#2,p,1%3、a#2,p,2%3)、・・・、
(a#2,n−1,1%3、a#2,n−1,2%3)は、
(1、2)、(2、1)のいずれかとなる。(p=1、2、3、・・・、n−1)
かつ、
(a#3,1,1%3、a#3,1,2%3)、
(a#3,2,1%3、a#3,2,2%3)、・・・、
(a#3,p,1%3、a#3,p,2%3)、・・・、
(a#3,n−1,1%3、a#3,n−1,2%3)は、
(1、2)、(2、1)のいずれかとなる。(p=1、2、3、・・・、n−1)
かつ、
・
・
・
かつ、
(a#k,1,1%3、a#k,1,2%3)、
(a#k,2,1%3、a#k,2,2%3)、・・・、
(a#k,p,1%3、a#k,p,2%3)、・・・、
(a#k,n−1,1%3、a#k,n−1,2%3)は、
(1、2)、(2、1)のいずれかとなる。(p=1、2、3、・・・、n−1)(よって、k=1、2、3、・・・、3g)
かつ、
・
・
・
かつ、
(a#3g−2,1,1%3、a#3g−2,1,2%3)、
(a#3g−2,2,1%3、a#3g−2,2,2%3)、・・・、
(a#3g−2,p,1%3、a#3g−2,p,2%3)、・・・、
(a#3g−2,n−1,1%3、a#3g−2,n−1,2%3)は、
(1、2)、(2、1)のいずれかとなる。(p=1、2、3、・・・、n−1)
かつ、
(a#3g−1,1,1%3、a#3g−1,1,2%3)、
(a#3g−1,2,1%3、a#3g−1,2,2%3)、・・・、
(a#3g−1,p,1%3、a#3g−1,p,2%3)、・・・、
(a#3g−1,n−1,1%3、a#3g−1,n−1,2%3)は、
(1、2)、(2、1)のいずれかとなる。(p=1、2、3、・・・、n−1)
かつ、
(a#3g,1,1%3、a#3g,1,2%3)、
(a#3g,2,1%3、a#3g,2,2%3)、・・・、
(a#3g,p,1%3、a#3g,p,2%3)、・・・、
(a#3g,n−1,1%3、a#3g,n−1,2%3)は、
(1、2)、(2、1)のいずれかとなる。(p=1、2、3、・・・、n−1)
加えて、式(13−1)〜(13−3g)において、P(D)の次数の組み合わが以下の条件を満たす。
(b#2,1%3、b#2,2%3)、
(b#3,1%3、b#3,2%3)、・・・、
(b#k,1%3、b#k,2%3)、・・・、
(b#3g−2,1%3、b#3g−2,2%3)、
(b#3g−1,1%3、b#3g−1,2%3)、
(b#3g,1%3、b#3g,2%3)は、
(1、2)、(2、1)のいずれかとなる(k=1、2、3、・・・、3g)。
<条件#6>
式(13−1)〜(13−3g)のX1(D)の次数において、次の条件を満たす。
(a#2,1,1%3g、a#2,1,2%3g)、・・・、
(a#p,1,1%3g、a#p,1,2%3g)、・・・、
(a#3g,1,1%3g、a#3g,1,2%3g)の6g個の値には、
0から3g−1の整数(0、1、2、3、4、・・・、3g−2、3g−1)のうち、3の倍数(つまり、0、3、6、・・・、3g−3)以外の値の全ての値が存在する。(p=1、2、3、・・・、3g)
かつ、
式(13−1)〜(13−3g)のX2(D)の次数において、次の条件を満たす。
(a#2,2,1%3g、a#2,2,2%3g)、・・・、
(a#p,2,1%3g、a#p,2,2%3g)、・・・、
(a#3g,2,1%3g、a#3g,2,2%3g)の6g個の値には、
0から3g−1の整数(0、1、2、3、4、・・・、3g−2、3g−1)のうち、3の倍数(つまり、0、3、6、・・・、3g−3)以外の値の全ての値が存在する。(p=1、2、3、・・・、3g)
かつ、
式(13−1)〜(13−3g)のX3(D)の次数において、次の条件を満たす。
(a#2,3,1%3g、a#2,3,2%3g)、・・・、
(a#p,3,1%3g、a#p,3,2%3g)、・・・、
(a#3g,3,1%3g、a#3g,3,2%3g)の6g個の値には、
0から3g−1の整数(0、1、2、3、4、・・・、3g−2、3g−1)のうち、3の倍数(つまり、0、3、6、・・・、3g−3)以外の値の全ての値が存在する。(p=1、2、3、・・・、3g)
かつ、
・
・
・
かつ、
式(13−1)〜(13−3g)のXk(D)の次数において、次の条件を満たす。
(a#2,k,1%3g、a#2,k,2%3g)、・・・、
(a#p,k,1%3g、a#p,k,2%3g)、・・・、
(a#3g,k,1%3g、a#3g,k,2%3g)の6g個の値には、
0から3g−1の整数(0、1、2、3、4、・・・、3g−2、3g−1)のうち、3の倍数(つまり、0、3、6、・・・、3g−3)以外の値の全ての値が存在する。(p=1、2、3、・・・、3g)
(k=1、2、3、・・・、n−1)
かつ、
・
・
・
かつ、
式(13−1)〜(13−3g)のXn−1(D)の次数において、次の条件を満たす。
(a#2,n−1,1%3g、a#2,n−1,2%3g)、・・・、
(a#p,n−1,1%3g、a#p,n−1,2%3g)、・・・、
(a#3g,n−1,1%3g、a#3g,n−1,2%3g)の6g個の値には、
0から3g−1の整数(0、1、2、3、4、・・・、3g−2、3g−1)のうち、3の倍数(つまり、0、3、6、・・・、3g−3)以外の値の全ての値が存在する。(p=1、2、3、・・・、3g)
かつ、
式(13−1)〜(13−3g)のP(D)の次数において、次の条件を満たす。
(b#2,1%3g、b#2,2%3g)、
(b#3,1%3g、b#3,2%3g)、・・・、
(b#k,1%3g、b#k,2%3g)、・・・、
(b#3g−2,1%3g、b#3g−2,2%3g)、
(b#3g−1,1%3g、b#3g−1,2%3g)、
(b#3g,1%3g、b#3g,2%3g)の6g個の値には、
0から3g−1の整数(0、1、2、3、4、・・・、3g−2、3g−1)のうち、3の倍数(つまり、0、3、6、・・・、3g−3)以外の値の全ての値が存在する。(k=1、2、3、・・・、3g)
ところで、検査行列において、“1”の存在する位置に規則性を持ちながらもランダム性があると良好な誤り訂正能力が得られる可能性が高い。式(13−1)〜(13−3g)のパリティ検査多項式を持つ時変周期3g(g=2、3、4、5、・・・)、符号化率を(n−1)/n(nは2以上の整数)のLDPC−CCでは、<条件#5>に加え<条件#6>の条件を付加して符号を作成すると、検査行列において、“1”の存在する位置に規則性を持ちながらもランダム性を与えることが可能となるため、より良好な誤り訂正能力が得られる可能性が高まる。
<条件#6’>
式(13−1)〜(13−3g)のX1(D)の次数において、次の条件を満たす。
(a#2,1,1%3g、a#2,1,2%3g)、・・・、
(a#p,1,1%3g、a#p,1,2%3g)、・・・、
(a#3g,1,1%3g、a#3g,1,2%3g)の6g個の値には、
0から3g−1の整数(0、1、2、3、4、・・・、3g−2、3g−1)のうち、3の倍数(つまり、0、3、6、・・・、3g−3)以外の値の全ての値が存在する。(p=1、2、3、・・・、3g)
又は、
式(13−1)〜(13−3g)のX2(D)の次数において、次の条件を満たす。
(a#2,2,1%3g、a#2,2,2%3g)、・・・、
(a#p,2,1%3g、a#p,2,2%3g)、・・・、
(a#3g,2,1%3g、a#3g,2,2%3g)の6g個の値には、
0から3g−1の整数(0、1、2、3、4、・・・、3g−2、3g−1)のうち、3の倍数(つまり、0、3、6、・・・、3g−3)以外の値の全ての値が存在する。(p=1、2、3、・・・、3g)
又は、
式(13−1)〜(13−3g)のX3(D)の次数において、次の条件を満たす。
(a#2,3,1%3g、a#2,3,2%3g)、・・・、
(a#p,3,1%3g、a#p,3,2%3g)、・・・、
(a#3g,3,1%3g、a#3g,3,2%3g)の6g個の値には、
0から3g−1の整数(0、1、2、3、4、・・・、3g−2、3g−1)のうち、3の倍数(つまり、0、3、6、・・・、3g−3)以外の値の全ての値が存在する。(p=1、2、3、・・・、3g)
又は、
・
・
・
又は、
式(13−1)〜(13−3g)のXk(D)の次数において、次の条件を満たす。
(a#2,k,1%3g、a#2,k,2%3g)、・・・、
(a#p,k,1%3g、a#p,k,2%3g)、・・・、
(a#3g,k,1%3g、a#3g,k,2%3g)の6g個の値には、
0から3g−1の整数(0、1、2、3、4、・・・、3g−2、3g−1)のうち、3の倍数(つまり、0、3、6、・・・、3g−3)以外の値の全ての値が存在する。(p=1、2、3、・・・、3g)
(k=1、2、3、・・・、n−1)
又は、
・
・
・
又は、
式(13−1)〜(13−3g)のXn−1(D)の次数において、次の条件を満たす。
(a#2,n−1,1%3g、a#2,n−1,2%3g)、・・・、
(a#p,n−1,1%3g、a#p,n−1,2%3g)、・・・、
(a#3g,n−1,1%3g、a#3g,n−1,2%3g)の6g個の値には、
0から3g−1の整数(0、1、2、3、4、・・・、3g−2、3g−1)のうち、3の倍数(つまり、0、3、6、・・・、3g−3)以外の値の全ての値が存在する。(p=1、2、3、・・・、3g)
又は、
式(13−1)〜(13−3g)のP(D)の次数において、次の条件を満たす。
(b#2,1%3g、b#2,2%3g)、
(b#3,1%3g、b#3,2%3g)、・・・、
(b#k,1%3g、b#k,2%3g)、・・・、
(b#3g−2,1%3g、b#3g−2,2%3g)、
(b#3g−1,1%3g、b#3g−1,2%3g)、
(b#3g,1%3g、b#3g,2%3g)の6g個の値には、
0から3g−1の整数(0、1、2、3、4、・・・、3g−2、3g−1)のうち、3の倍数(つまり、0、3、6、・・・、3g−3)以外の値の全ての値が存在する。(k=1、2、3、・・・、3g)
以上、時変周期3g、符号化率(n−1)/n(nは2以上の整数)のLDPC−CCについて説明した。以下、時変周期3g、符号化率1/2(n=2)のLDPC−CCのパリティ検査多項式の次数の条件について説明する。
時変周期3のLDPC−CC及び時変周期6のLDPC−CCと同様に考えると、式(15−1)〜(15−3g)のパリティ検査多項式であらわされる時変周期3g、符号化率1/2(n=2)のLDPC−CCにおいて、以下の条件(<条件#2−1>)を満たすと、より高い誤り訂正能力を得ることができる可能性が高まる。
式(15−1)〜(15−3g)において、X(D)及びP(D)の次数の組み合わせが以下の条件を満たす。
(a#1,1,1%3、a#1,1,2%3、a#1,1,3%3)、
(b#1,1%3、b#1,2%3、b#1,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)
、(2、1、0)のいずれかとなる。
(a#2,1,1%3、a#2,1,2%3、a#2,1,3%3)、
(b#2,1%3、b#2,2%3、b#2,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。
(a#3,1,1%3、a#3,1,2%3、a#3,1,3%3)、
(b#3,1%3、b#3,2%3、b#3,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。
・
・
・
かつ、
(a#k,1,1%3、a#k,1,2%3、a#k,1,3%3)、
(b#k,1%3、b#k,2%3、b#k,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。(よって、k=1、2、3、・・・、3g)
かつ、
・
・
・
かつ、
(a#3g−2,1,1%3、a#3g−2,1,2%3、a#3g−2,1,3%3)、
(b#3g−2,1%3、b#3g−2,2%3、b#3g−2,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。
(a#3g−1,1,1%3、a#3g−1,1,2%3、a#3g−1,1,3%3)、
(b#3g−1,1%3、b#3g−1,2%3、b#3g−1,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。
(a#3g,1,1%3、a#3g,1,2%3、a#3g,1,3%3)、
(b#3g,1%3、b#3g,2%3、b#3g,3%3)は、
(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。
次に、符号化を容易に行うという点を考慮した時変周期3g(g=2、3、4、5、・・・)のLDPC−CCについて考える。このとき、符号化率を1/2(n=2)とするとLDPC−CCのパリティ検査多項式は以下のようにあらわすことができる。
<条件#3−1>
式(17−1)〜(17−3g)において、X(D)の次数の組み合わせが以下の条件を満たす。
かつ、
(a#2,1,1%3、a#2,1,2%3、a#2,1,3%3)は、(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。
(a#3,1,1%3、a#3,1,2%3、a#3,1,3%3)は、(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。
かつ、
・
・
・
かつ、
(a#k,1,1%3、a#k,1,2%3、a#k,1,3%3)は、(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。(よって、k=1、2、3、・・・、3g)
かつ、
・
・
・
かつ、
(a#3g−2,1,1%3、a#3g−2,1,2%3、a#3g−2,1,3%3)は、(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。
(a#3g−1,1,1%3、a#3g−1,1,2%3、a#3g−1,1,3%3)は、(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。
かつ、
(a#3g,1,1%3、a#3g,1,2%3、a#3g,1,3%3)は、(0、1、2)、(0、2、1)、(1、0、2)、(1、2、0)、(2、0、1)、(2、1、0)のいずれかとなる。
の条件を満たす。
(b#1,1%3、b#1,2%3)、
(b#2,1%3、b#2,2%3)、
(b#3,1%3、b#3,2%3)、・・・、
(b#k,1%3、b#k,2%3)、・・・、
(b#3g−2,1%3、b#3g−2,2%3)、
(b#3g−1,1%3、b#3g−1,2%3)、
(b#3g,1%3、b#3g,2%3)は、
(1、2)、(2、1)のいずれかとなる(k=1、2、3、・・・、3g)。
<条件#4−1>
式(17−1)〜(17−3g)のP(D)の次数において、以下の条件を満たす。
(b#2,1%3g、b#2,2%3g)、
(b#3,1%3g、b#3,2%3g)、・・・、
(b#k,1%3g、b#k,2%3g)、・・・、
(b#3g−2,1%3g、b#3g−2,2%3g)、
(b#3g−1,1%3g、b#3g−1,2%3g)、
(b#3g,1%3g、b#3g,2%3g)の6g個の値には、
0から3g−1の整数(0、1、2、3、4、・・・、3g−2、3g−1)のうち、3の倍数(つまり、0、3、6、・・・、3g−3)以外の値の全ての値が存在する。
ただし、時変周期3g、符号化率1/2(n=2)のLDPC−CCにおいて、時点iのパリティビットをPi及び情報ビットをXi,1であらわす。このとき、i%3g=kとすると(k=0、1、2、・・・、3g−1)、式(19−(k+1))のパリティ検査多項式が成立する。例えば、i=2とすると、i%3g=2(k=2)となるので、式(20)が成立する。
<条件#5−1>
式(19−1)〜(19−3g)において、X(D)の次数の組み合わせが以下の条件を満たす。
かつ、
(a#2,1,1%3、a#2,1,2%3)は、(1、2)、(2、1)のいずれかとなる。
(a#3,1,1%3、a#3,1,2%3)は、(1、2)、(2、1)のいずれかとなる。
かつ、
・
・
・
かつ、
(a#k,1,1%3、a#k,1,2%3)は、(1、2)、(2、1)のいずれかとなる。(よって、k=1、2、3、・・・、3g)
かつ、
・
・
・
かつ、
(a#3g−2,1,1%3、a#3g−2,1,2%3)は、(1、2)、(2、1)のいずれかとなる。
(a#3g−1,1,1%3、a#3g−1,1,2%3)は、(1、2)、(2、1)のいずれかとなる。
かつ、
(a#3g,1,1%3、a#3g,1,2%3)は、(1、2)、(2、1)のいずれかとなる。
(b#1,1%3、b#1,2%3)、
(b#2,1%3、b#2,2%3)、
(b#3,1%3、b#3,2%3)、・・・、
(b#k,1%3、b#k,2%3)、・・・、
(b#3g−2,1%3、b#3g−2,2%3)、
(b#3g−1,1%3、b#3g−1,2%3)、
(b#3g,1%3、b#3g,2%3)は、
(1、2)、(2、1)のいずれかとなる(k=1、2、3、・・・、3g)。
<条件#6−1>
式(19−1)〜(19−3g)のX(D)の次数において、次の条件を満たす。
(a#2,1,1%3g、a#2,1,2%3g)、・・・、
(a#p,1,1%3g、a#p,1,2%3g)、・・・、
(a#3g,1,1%3g、a#3g,1,2%3g)の6g個の値には、
0から3g−1の整数(0、1、2、3、4、・・・、3g−2、3g−1)のうち、3の倍数(つまり、0、3、6、・・・、3g−3)以外の値の全ての値が存在する。(p=1、2、3、・・・、3g)
かつ、
式(19−1)〜(19−3g)のP(D)の次数において、次の条件を満たす。
(b#2,1%3g、b#2,2%3g)、
(b#3,1%3g、b#3,2%3g)、・・・、
(b#k,1%3g、b#k,2%3g)、・・・、
(b#3g−2,1%3g、b#3g−2,2%3g)、
(b#3g−1,1%3g、b#3g−1,2%3g)、
(b#3g,1%3g、b#3g,2%3g)の6g(3g×2)個の値には、
0から3g−1の整数(0、1、2、3、4、・・・、3g−2、3g−1)のうち、3の倍数(つまり、0、3、6、・・・、3g−3)以外の値の全ての値が存在する。(k=1、2、3、・・・、3g)
ところで、検査行列において、“1”の存在する位置に規則性を持ちながらもランダム性があると、良好な誤り訂正能力が得られる可能性が高い。式(19−1)〜(19−3g)のパリティ検査多項式を持つ時変周期3g(g=2、3、4、5、・・・)、符号化率1/2のLDPC−CCでは、<条件#5−1>に加え<条件#6−1>の条件を付加して符号を作成すると、検査行列において、“1”の存在する位置に規則性を持ちながらもランダム性を与えることが可能となるため、より良好な誤り訂正能力が得られる可能性が高まる。
<条件#6’−1>
式(19−1)〜(19−3g)のX(D)の次数において、次の条件を満たす。
(a#2,1,1%3g、a#2,1,2%3g)、・・・、
(a#p,1,1%3g、a#p,1,2%3g)、・・・、
(a#3g,1,1%3g、a#3g,1,2%3g)の6g個の値には、
0から3g−1の整数(0、1、2、3、4、・・・、3g−2、3g−1)のうち、3の倍数(つまり、0、3、6、・・・、3g−3)以外の値の全ての値が存在する。(p=1、2、3、・・・、3g)
又は、
式(19−1)〜(19−3g)のP(D)の次数において、次の条件を満たす。
(b#2,1%3g、b#2,2%3g)、
(b#3,1%3g、b#3,2%3g)、・・・、
(b#k,1%3g、b#k,2%3g)、・・・、
(b#3g−2,1%3g、b#3g−2,2%3g)、
(b#3g−1,1%3g、b#3g−1,2%3g)、
(b#3g,1%3g、b#3g,2%3g)の6g個の値には、
0から3g−1の整数(0、1、2、3、4、・・・、3g−2、3g−1)のうち、3の倍数(つまり、0、3、6、・・・、3g−3)以外の値の全ての値が存在する。(k=1、2、3、・・・、3g)
一例として、良好な誤り訂正能力を持つ、符号化率1/2、時変周期6のLDPC−CCを表6に列挙する。
図5に、(7,5)の畳み込み符号に関する情報を記載する。(7,5)畳み込み符号の生成行列はG=[1 (D2+1)/(D2+D+1)]とあらわされる。したがって、パリティ検査多項式は、以下の式(22)となる。
[畳み込み符号に基づく時不変・時変LDPC−CC(符号化率(n−1)/n)(n:自然数)]
以下、畳み込み符号に基づく時不変・時変LDPC−CCの概要を述べる。
そして、時点jにおける情報X1、X2、・・・、Xn−1をX1,j、X2,j、・・・、Xn−1,jとあらわし、時点jにおけるパリティPをPjとあらわし、uj=(X1,j,X2,j,・・・,Xn−1,j,Pj)Tとする。このとき、時点jの情報X1,j、X2,j、・・・、Xn−1,j及びパリティPjは、式(26)のパリティ検査多項式を満たす。
式(26)のパリティ検査多項式に基づく検査行列で定義される符号を、ここでは時変LDPC−CCと呼ぶ。このとき、式(24)のパリティ検査多項式で定義される時不変LDPC−CC、及び、式(26)のパリティ検査多項式で定義される時変LDPC−CCは、逐次的にパリティビットをレジスタ及び排他的論理和で簡単に求めることができるという特徴を持つ。
・符号化器を簡単に構成することができ、かつ、パリティビットを逐次的に求めることができる
・終端ビットの削減、終端時のパンクチャ時の受信品質の向上が見込める
という利点を備える。
上述の説明では、符号化率(n−1)/nの畳み込み符号に基づく時不変・時変LDPC−CCの一例として、符号化率2/3の場合を例に説明したが、同様に考えることで、符号化率(n−1)/nの畳み込み符号に基づく時不変・時変LDPC−CCのパリティ検査行列を作成することができる。
なお、図9に、一例として、符号化率R=1/2の場合のLDPC−CC符号化器の構成例を示す。図9に示すように、LDPC−CC符号化器100は、データ演算部110、パリティ演算部120、ウェイト制御部130及びmod2加算(排他的論理和演算)器140を主に備える。
パリティ演算部120は、シフトレジスタ121−1〜121−M、ウェイト乗算器122−0〜122−Mを備える。
シフトレジスタ111−1〜111−M及び121−1〜121−Mは、それぞれv1,t−i,v2,t−i(i=0,…,M)を保持するレジスタであり、次の入力が入ってくるタイミングで、保持している値を右隣のシフトレジスタに出力し、左隣のシフトレジスタから出力される値を新たに保持する。なお、シフトレジスタの初期状態は全て0である。
ウェイト制御部130は、内部に保持する検査行列に基づいて、そのタイミングにおけるh1 (m),h2 (m)の値を出力し、ウェイト乗算器112−0〜112−M,122−0〜122−Mに供給する。
このような構成を採ることで、LDPC−CC符号化器100は、検査行列にしたがったLDPC−CCの符号化を行うことができる。
なお、ウェイト制御部130が保持する検査行列の各行の並びが行毎に異なる場合、LDPC−CC符号化器100は、時変(time varying)畳み込み符号化器となる。また、符号化率(q−1)/qのLDPC−CCの場合には、データ演算部110を(q−1)個設け、mod2加算器140が、各ウェイト乗算器の出力をmod2加算(排他的論理和演算)を行う構成とすれば良い。
本実施の形態では、優れた誤り訂正能力をもつ、時変周期が3より大きいパリティ検査多項式に基づくLDPC−CCの符号構成方法について説明する。
[時変周期6]
始めに、例として、時変周期6のLDPC−CCについて説明する。
また、式(27−0)〜(27−5)では、X1(D)、X2(D)、・・・、Xn−1(D)、及び、P(D)について、以下が成立するものとする。
式(27−q)において、a#q,p,1、a#q,p,2、a#q,p,3は自然数とし、a#q,p,1≠a#q,p,2、a#q,p,1≠a#q,p,3、a#q,p,2≠a#q,p,3が成立するものとする。また、b#q,1、b#q,2、b#q,3は自然数とし、b#q,1≠b#q,2、b#q,1≠b#q,3、b#q,1≠b#q,3が成立するものとする(q=0、1、2、3、4、5;p=1、2、・・・、n−1)。
時変周期6、符号化率(n−1)/n(nは2以上の整数)のLDPC−CCにおいて、時点iのパリティビットをPi及び情報ビットをXi,1、Xi,2、・・・、Xi,n−1であらわす。このとき、i%6=kとすると(k=0、1、2、3、4、5)、式(27−(k))のパリティ検査多項式が成立する。例えば、i=8とすると、i%6=2(k=2)となるので、式(28)が成立する。
式(27−0)〜(27−5)において、パリティビットと情報ビットとの関係を簡単化し、かつ、パリティビットが逐次的に求まるようにするために、a#q,1,3=0、b#q,3=0(q=0、1、2、3、4、5)とする。したがって、式(27−1)〜(27−5)の(0を満たす)パリティ検査多項式は、式(29−0)〜(29−5)のようにあらわされる。
このとき、パリティ検査行列Hは、図10のようにあらわすことができる。図10に示すように、パリティ検査行列Hにおいて、第i行と第i+1行とでは、サブ行列がn列右にシフトした構成となる(図10参照)。そして、送信ベクトルuを、u=(X1,0、X2,0、・・・、Xn−1,0、P0、X1,1、X2,1、・・・、Xn−1,1、P1、・・・、X1,k、X2,k、・・・、Xn−1,k、Pk、・・・・)Tとすると、Hu=0が成立する。
X1(D)、X2(D)、・・・、Xn−1(D)に関連する項に対して、以下の<条件#1−1>及び<条件#1−2>が重要となる。なお、以下の各条件において「%」はmoduloを意味し、例えば、「α%6」は、αを6で除算したときの余りを示す。
「a#0,1,1%6=a#1,1,1%6=a#2,1,1%6=a#3,1,1%6=a#4,1,1%6=a#5,1,1%6=vp=1 (vp=1:固定値)」
「a#0,2,1%6=a#1,2,1%6=a#2,2,1%6=a#3,2,1%6=a#4,2,1%6=a#5,2,1%6=vp=2 (vp=2:固定値)」
「a#0,3,1%6=a#1,3,1%6=a#2,3,1%6=a#3,3,1%6=a#4,3,1%6=a#5,3,1%6=vp=3 (vp=3:固定値)」
「a#0,4,1%6=a#1,4,1%6=a#2,4,1%6=a#3,4,1%6=a#4,4,1%6=a#5,4,1%6=vp=4 (vp=4:固定値)」
・
・
・
「a#0,k,1%6=a#1,k,1%6=a#2,k,1%6=a#3,k,1%6=a#4,k,1%6=a#5,k,1%6=vp=k (vp=k:固定値) (したがって、k=1、2、・・・、n−1となる。)」
・
・
・
「a#0,n−2,1%6=a#1,n−2,1%6=a#2,n−2,1%6=a#3,n−2,1%6=a#4,n−2,1%6=a#5,n−2,1%6=vp=n−2
(vp=n−2:固定値)」
「a#0,n−1,1%6=a#1,n−1,1%6=a#2,n−1,1%6=a#3,n−1,1%6=a#4,n−1,1%6=a#5,n−1,1%6=vp=n−1
(vp=n−1:固定値)」
及び、
「b#0,1%6=b#1,1%6=b#2,1%6=b#3,1%6=b#4,1%6=b#5,1%6=w (w:固定値)」
<条件#1−2>
「a#0,1,2%6=a#1,1,2%6=a#2,1,2%6=a#3,1,2%6=a#4,1,2%6=a#5,1,2%6=yp=1 (yp=1:固定値)」
「a#0,2,2%6=a#1,2,2%6=a#2,2,2%6=a#3,2,2%6=a#4,2,2%6=a#5,2,2%6=yp=2 (yp=2:固定値)」
「a#0,3,2%6=a#1,3,2%6=a#2,3,2%6=a#3,3,2%6=a#4,3,2%6=a#5,3,2%6=yp=3 (yp=3:固定値)」
「a#0,4,2%6=a#1,4,2%6=a#2,4,2%6=a#3,4,2%6=a#4,4,2%6=a#5,4,2%6=yp=4 (yp=4:固定値)」
・
・
・
「a#0,k,2%6=a#1,k,2%6=a#2,k,2%6=a#3,k,2%6=a#4,k,2%6=a#5,k,2%6=yp=k (yp=k:固定値) (したがって、k=1、2、・・・、n−1となる。)」
・
・
・
「a#0,n−2,2%6=a#1,n−2,2%6=a#2,n−2,2%6=a#3,n−2,2%6=a#4,n−2,2%6=a#5,n−2,2%6=yp=n−2
(yp=n−2:固定値)」
「a#0,n−1,2%6=a#1,n−1,2%6=a#2,n−1,2%6=a#3,n−1,2%6=a#4,n−1,2%6=a#5,n−1,2%6=yp=n−1
(yp=n−1:固定値)」
及び、
「b#0,2%6=b#1,2%6=b#2,2%6=b#3,2%6=b#4,2%6=b#5,2%6=z (z:固定値)」
<条件#1−1>及び<条件#1−2>を制約条件とすることにより、制約条件を満たすLDPC−CCは、正則(Regular)LDPC符号となるので、高い誤り訂正能力を得ることができる。
<条件#2−1>
<条件#1−1>において、vp=1、vp=2、vp=3、vp=4、・・・、vp=k 、・・・、vp=n−2、vp=n−1、及び、wを、「1」、「4」、「5」に設定する。つまり、vp=k(k=1、2、・・・、n−1)及びwを、「1」、及び、「時変周期6の約数以外の自然数」に設定する。
<条件#1−2>において、yp=1、yp=2、yp=3、yp=4、・・・、yp=k 、・・・、yp=n−2、yp=n−1及び、zを「1」、「4」、「5」と設定する。つまり、yp=k(k=1、2、・・・、n−1)及びzを、「1」、及び、「時変周期6の約数以外の自然数」に設定する。
説明を簡単にするために、パリティ検査多項式に基づく時変周期6、符号化率(n−1)/nのLDPC−CCのパリティ検査多項式(29−0)〜(29−5)において、X1(D)が2つの項をもつ場合を考える。すると、この場合、パリティ検査多項式は、式(31−0)〜(31−5)のようにあらわされる。
図11は、vp=1及びwを「3」に設定し、a#0,1,1%6=a#1,1,1%6=a#2,1,1%6=a#3,1,1%6=a#4,1,1%6=a#5,1,1%6=3としたときの情報X1のみに着目した場合の、チェックノード及び変数ノードのツリーを示している。
この場合、図11に示すように、チェックノードにおいて、#Yは0、3と限られた値にしかならない。つまり、時変周期を大きくしても、特定のパリティ検査多項式からしか信頼度が伝播されないため、時変周期を大きくした効果が得られないことを意味している。
「vp=1、vp=2、vp=3、vp=4、・・・、vp=k 、・・・、vp=n−2、vp=n−1(k=1、2、・・・、n−1)及びwを、時変周期6の約数のうち、
1を除く約数に設定する」ことになる。
これに対し、図12は、パリティ検査多項式において、vp=k(k=1、2、・・・、n−1)及びwが「1」に設定された場合のツリーである。vp=k(k=1、2、・・・、n−1)及びwが「1」に設定される場合には、<条件#2−1>の条件が満たされる。
以上の説明を考慮すると、時変周期が素数であることが、時変周期を大きくした効果を得るための重要な条件となる。以下では、この点について詳しく説明する。
先ず、符号化率(n−1)/n(nは2以上の整数)、時変周期7のLDPC−CCの(0を満たす)パリティ検査多項式として、式(32−0)〜(32−6)を考える。
時変周期7、符号化率(n−1)/n(nは2以上の整数)のLDPC−CCにおいて、時点iのパリティビットをPi及び情報ビットをXi,1、Xi,2、・・・、Xi,n−1であらわす。このとき、i%7=kとすると(k=0、1、2、3、4、5、6)、式(32−(k))のパリティ検査多項式が成立する。
このとき、パリティ検査行列Hは、図13のようにあらわすことができる。図13に示すように、パリティ検査行列Hにおいて、第i行と第i+1行とでは、サブ行列がn列右にシフトした構成となる(図13参照)。そして、送信ベクトルuを、u=(X1,0、X2,0、・・・、Xn−1,0、P0、X1,1、X2,1、・・・、Xn−1,1、P1、・・・、X1,k、X2,k、・・・、Xn−1,k、Pk、・・・・)Tとすると、Hu=0が成立する。
<条件#1−1’>
「a#0,1,1%7=a#1,1,1%7=a#2,1,1%7=a#3,1,1%7=a#4,1,1%7=a#5,1,1%7=a#6,1,1%7=vp=1 (vp=1:固定値)」
「a#0,2,1%7=a#1,2,1%7=a#2,2,1%7=a#3,2,1%7=a#4,2,1%7=a#5,2,1%7=a#6,2,1%7=vp=2 (vp=2:固定値)」
「a#0,3,1%7=a#1,3,1%7=a#2,3,1%7=a#3,3,1%7=a#4,3,1%7=a#5,3,1%7==a#6,3,1%7vp=3 (vp=3:固定値)」
「a#0,4,1%7=a#1,4,1%7=a#2,4,1%7=a#3,4,1%7=a#4,4,1%7=a#5,4,1%7=a#6,4,1%7=vp=4 (vp=4:固定値)」
・
・
・
「a#0,k,1%7=a#1,k,1%7=a#2,k,1%7=a#3,k,1%7=a#4,k,1%7=a#5,k,1%7=a#6,k,1%7=vp=k (vp=k:固定値) (したがって、k=1、2、・・・、n−1となる。)」
・
・
・
「a#0,n−2,1%7=a#1,n−2,1%7=a#2,n−2,1%7=a#3,n−2,1%7=a#4,n−2,1%7=a#5,n−2,1%7=a#6,n−2,1%7=vp=n−2 (vp=n−2:固定値)」
「a#0,n−1,1%7=a#1,n−1,1%7=a#2,n−1,1%7=a#3,n−1,1%7=a#4,n−1,1%7=a#5,n−1,1%7=a#6,n−1,1%7=vp=n−1 (vp=n−1:固定値)」
及び、
「b#0,1%7=b#1,1%7=b#2,1%7=b#3,1%7=b#4,1%7=b#5,1%7=b#6,1%7=w (w:固定値)」
<条件#1−2’>
「a#0,1,2%7=a#1,1,2%7=a#2,1,2%7=a#3,1,2%7=a#4,1,2%7=a#5,1,2%7=a#6,1,2%7=yp=1 (yp=1:固定値)」
「a#0,2,2%7=a#1,2,2%7=a#2,2,2%7=a#3,2,2%7=a#4,2,2%7=a#5,2,2%7=a#6,2,2%7=yp=2 (yp=2:固定値)」
「a#0,3,2%7=a#1,3,2%7=a#2,3,2%7=a#3,3,2%7=a#4,3,2%7=a#5,3,2%7=a#6,3,2%7=yp=3 (yp=3:固定値)」
「a#0,4,2%7=a#1,4,2%7=a#2,4,2%7=a#3,4,2%7=a#4,4,2%7=a#5,4,2%7=a#6,4,2%7=yp=4 (yp=4:固定値)」
・
・
・
「a#0,k,2%7=a#1,k,2%7=a#2,k,2%7=a#3,k,2%7=a#4,k,2%7=a#5,k,2%7=a#6,k,2%7=yp=k (yp=k:固定値) (したがって、k=1、2、・・・、n−1となる。)」
・
・
・
「a#0,n−2,2%7=a#1,n−2,2%7=a#2,n−2,2%7=a#3,n−2,2%7=a#4,n−2,2%7=a#5,n−2,2%7=a#6,n−2,2%7=yp=n−2 (yp=n−2:固定値)」
「a#0,n−1,2%7=a#1,n−1,2%7=a#2,n−1,2%7=a#3,n−1,2%7=a#4,n−1,2%7=a#5,n−1,2%7=a#6,n−1,2%7=yp=n−1 (yp=n−1:固定値)」
及び、
「b#0,2%7=b#1,2%7=b#2,2%7=b#3,2%7=b#4,2%7=b#5,2%7=b#6,2%7=z (z:固定値)」
<条件#1−1’>及び<条件#1−2’>を制約条件とすることにより、制約条件を満たすLDPC−CCは、正則(Regular)LDPC符号となるので、高い誤り訂正能力
を得ることができる。
<条件#1−1’>において、vp=1、vp=2、vp=3、vp=4、・・・、vp=k 、・・・、vp=n−2、vp=n−1(k=1、2、・・・、n−1)及びwの値は、「1、2、3、4、5、6」のいずれの値であってもよい。
また、
<条件#1−2’>において、yp=1、yp=2、yp=3、yp=4、・・・、yp=k 、・・・、yp=n−2、yp=n−1(k=1、2、・・・、n−1)及びzの値は、「1、2、3、4、5、6」のいずれの値であってもよい。
説明を簡単にするために、パリティ検査多項式に基づく時変周期7、符号化率(n−1)/nのLDPC−CCのパリティ検査多項式(32−0)〜(32−6)において、X1(D)が2つの項をもつ場合を考える。すると、この場合、パリティ検査多項式は、式(35−0)〜(35−6)のようにあらわされる。
図14は、vp=1及びwを「2」に設定し、a#0,1,1%7=a#1,1,1%7=a#2,1,1%7=a#3,1,1%7=a#4,1,1%7=a#5,1,1%7=a#6,1,1%7=2としたときの情報X1のみに着目した場合の、チェックノード及び変数ノードのツリーを示している。
先ず、符号化率(n−1)/n、時変周期q(qは3より大きい素数)のg番目(g=0、1、・・・、q−1)のパリティ検査多項式が式(36)のようにあらわされる場合について考える。
上述での説明と同様に、以下に記載する<条件#3−1>及び<条件#3−2>は、LDPC−CCが高い誤り訂正能力を得る上で重要な要件の一つとなる。なお、以下の各条件において「%」はmoduloを意味し、例えば、「α%q」は、αをqで除算したときの余りを示す。
「a#0,1,1%q=a#1,1,1%q=a#2,1,1%q=a#3,1,1%q=・・・=a#g,1,1%q=・・・=a#q−2,1,1%q=a#q−1,1,1%q=vp=1 (vp=1:固定値)」
「a#0,2,1%q=a#1,2,1%q=a#2,2,1%q=a#3,2,1%q=・・・=a#g,2,1%q=・・・=a#q−2,2,1%q=a#q−1,2,1%q=vp=2 (vp=2:固定値)」
「a#0,3,1%q=a#1,3,1%q=a#2,3,1%q=a#3,3,1%q=・・・=a#g,3,1%q=・・・=a#q−2,3,1%q=a#q−1,3,1%q=vp=3 (vp=3:固定値)」
「a#0,4,1%q=a#1,4,1%q=a#2,4,1%q=a#3,4,1%q=・・・=a#g,4,1%q=・・・=a#q−2,4,1%q=a#q−1,4,1%q=vp=4 (vp=4:固定値)」
・
・
・
「a#0,k,1%q=a#1,k,1%q=a#2,k,1%q=a#3,k,1%q=・・・=a#g,k,1%q=・・・=a#q−2,k,1%q=a#q−1,k,1%q=vp=k (vp=k:固定値)
(したがって、k=1、2、・・・、n−1となる。)」
・
・
・
「a#0,n−2,1%q=a#1,n−2,1%q=a#2,n−2,1%q=a#3,n−2,1%q=・・・=a#g,n−2,1%q=・・・=a#q−2,n−2,1%q=a#q−1,n−2,1%q=vp=n−2 (vp=n−2:固定値)」
「a#0,n−1,1%q=a#1,n−1,1%q=a#2,n−1,1%q=a#3,n−1,1%q=・・・=a#g,n−1,1%q=・・・=a#q−2,n−1,1%q=a#q−1,n−1,1%q=vp=n−1 (vp=n−1:固定値)」
及び、
「b#0,1%q=b#1,1%q=b#2,1%q=b#3,1%q=・・・=b#g,1%q=・・・=b#q−2,1%q=b#q−1,1%q=w (w:固定値)」
<条件#3−2>
「a#0,1,2%q=a#1,1,2%q=a#2,1,2%q=a#3,1,2%q=・・・=a#g,1,2%q=・・・=a#q−2,1,2%q=a#q−1,1,2%q=yp=1 (yp=1:固定値)」
「a#0,2,2%q=a#1,2,2%q=a#2,2,2%q=a#3,2,2%q=・・・=a#g,2,2%q=・・・=a#q−2,2,2%q=a#q−1,2,2%q=yp=2 (yp=2:固定値)」
「a#0,3,2%q=a#1,3,2%q=a#2,3,2%q=a#3,3,2%q=・・・=a#g,3,2%q=・・・=a#q−2,3,2%q=a#q−1,3,2%q=yp=3 (yp=3:固定値)」
「a#0,4,2%q=a#1,4,2%q=a#2,4,2%q=a#3,4,2%q=・・・=a#g,4,2%q=・・・=a#q−2,4,2%q=a#q−1,4,2%q=yp=4 (yp=4:固定値)」
・
・
・
「a#0,k,2%q=a#1,k,2%q=a#2,k,2%q=a#3,k,2%q=・・・=a#g,k,2%q=・・・=a#q−2,k,2%q=a#q−1,k,2%q=yp=k (yp=k:固定値)
(したがって、k=1、2、・・・、n−1となる。)」
・
・
・
「a#0,n−2,2%q=a#1,n−2,2%q=a#2,n−2,2%q=a#3,n−2,2%q=・・・=a#g,n−2,2%q=・・・=a#q−2,n−2,2%q=a#q−1,n−2,2%q=yp=n−2 (yp=n−2:固定値)」
「a#0,n−1,2%q=a#1,n−1,2%q=a#2,n−1,2%q=a#3,n−1,2%q=・・・=a#g,n−1,2%q=・・・=a#q−2,n−1,2%q=a#q−1,n−1,2%q=yp=n−1 (yp=n−1:固定値)」
及び、
「b#0,2%q=b#1,2%q=b#2,2%q=b#3,2%q=・・・=b#g,2%q=・・・=b#q−2,2%q=b#q−1,2%q=z (z:固定値)」
加えて、(vp=1,yp=1)、(vp=2,yp=2)、(vp=3,yp=3)、・・・(vp=k,yp=k)、・・・、(vp=n−2,yp=n−2)、(vp=n−1,yp=n−1)、及び、(w,z)のセットに対し、<条件#4−1>又は<条件#4−2>が成立すると、高い誤り訂正能力を得ることができる。ここで、k=1、2、・・・、n−1である。
(vp=i,yp=i)及び(vp=j,yp=j)を考える。ただし、i=1,2,・・・,n−1(iは1以上n−1以下の整数)、j=1,2,・・・,n−1(jは1以上n−1以下の整数)、及び、i≠jとする。このとき、(vp=i,yp=i)≠(vp=j,yp=j)及び(vp=i,yp=i)≠(yp=j,vp=j)が成立するi,j(i≠j)が存在する。
(vp=i,yp=i)及び(w,z)を考える。ただし、i=1,2,・・・,n−1(iは1以上n−1以下の整数)とする。このとき、(vp=i,yp=i)≠(w,z)及び(vp=i,yp=i)≠(z,w)が成立するiが存在する。
例として、時変周期が7であって、符号化率1/2、2/3のLDPC−CCのパリティ検査多項式を表7に示す。
「a#0,1,1%7=a#1,1,1%7=a#2,1,1%7=a#3,1,1%7=a#4,1,1%7=a#5,1,1%7=a#6,1,1%7=vp=1=3」
「b#0,1%7=b#1,1%7=b#2,1%7=b#3,1%7=b#4,1%7=b#5,1%7=b#6,1%7=w=1」
「a#0,1,2%7=a#1,1,2%7=a#2,1,2%7=a#3,1,2%7=a#4,1,2%7=a#5,1,2%7=a#6,1,2%7=yp=1=6」
「b#0,2%7=b#1,2%7=b#2,2%7=b#3,2%7=b#4,2%7=b#5,2%7=b#6,2%7=z=5」
が成立する。
同様に、表7において、符号化率2/3の符号では、
「a#0,1,1%7=a#1,1,1%7=a#2,1,1%7=a#3,1,1%7=a#4,1,1%7=a#5,1,1%7=a#6,1,1%7=vp=1=1」
「a#0,2,1%7=a#1,2,1%7=a#2,2,1%7=a#3,2,1%7=a#4,2,1%7=a#5,2,1%7=a#6,2,1%7=vp=2=2」
「b#0,1%7=b#1,1%7=b#2,1%7=b#3,1%7=b#4,1%7=b#5,1%7=b#6,1%7=w=5」
「a#0,1,2%7=a#1,1,2%7=a#2,1,2%7=a#3,1,2%7=a#4,1,2%7=a#5,1,2%7=a#6,1,2%7=yp=1=4」
「a#0,2,2%7=a#1,2,2%7=a#2,2,2%7=a#3,2,2%7=a#4,2,2%7=a#5,2,2%7=a#6,2,2%7=yp=2=3」
「b#0,2%7=b#1,2%7=b#2,2%7=b#3,2%7=b#4,2%7=b#5,2%7=b#6,2%7=z=6」
が成立する。
また、例として、時変周期11のときの符号化率4/5のLDPC−CCのパリティ検査多項式を表8に示す。
<条件#5−1>
(vp=i,yp=i)及び(vp=j,yp=j)を考える。ただし、i=1,2,・・・,n−1、j=1,2,・・・,n−1、及び、i≠jとする。このとき、(vp=i,yp=i)≠(vp=j,yp=j)及び(vp=i,yp=i)≠(yp=j,vp=j)がすべてのi,j(i≠j)で成立する。
(vp=i,yp=i)及び(w,z)を考える。ただし、i=1,2,・・・,n−1とする。このとき、(vp=i,yp=i)≠(w,z)及び(vp=i,yp=i)≠(z,w)がすべてのiで成立する。
また、vp=i≠yp=i(i=1,2,・・・,n−1(iは1以上n−1以下の整数))、w≠zが成立する場合、タナーグラフにおいて、短いループの発生を抑えることができる。
また、2n≧qのとき、(vp=i,yp=i)及び(z,w)を、0、1、2、・・・、q−1のうちすべての値が存在するように設定すると、より誤り訂正能力が高い時変周期q(qは3より大きい素数)のLDPC−CCを生成できる可能性がある。
次に、符号化率(n−1)/n、時変周期q(qは3より大きい素数)のg番目(g=0、1、・・・、q−1(gは0以上q−1以下の整数))のパリティ検査多項式が式(38)のようにあらわされる場合について考える。
<条件#6−1>
「a#0,1,1%q=a#1,1,1%q=a#2,1,1%q=a#3,1,1%q=・・・=a#g,1,1%q=・・・=a#q−2,1,1%q=a#q−1,1,1%q=vp=1 (vp=1:固定値)」
「a#0,2,1%q=a#1,2,1%q=a#2,2,1%q=a#3,2,1%q=・・・=a#g,2,1%q=・・・=a#q−2,2,1%q=a#q−1,2,1%q=vp=2 (vp=2:固定値)」
「a#0,3,1%q=a#1,3,1%q=a#2,3,1%q=a#3,3,1%
q=・・・=a#g,3,1%q=・・・=a#q−2,3,1%q=a#q−1,3,1%q=vp=3 (vp=3:固定値)」
「a#0,4,1%q=a#1,4,1%q=a#2,4,1%q=a#3,4,1%q=・・・=a#g,4,1%q=・・・=a#q−2,4,1%q=a#q−1,4,1%q=vp=4 (vp=4:固定値)」
・
・
・
「a#0,k,1%q=a#1,k,1%q=a#2,k,1%q=a#3,k,1%q=・・・=a#g,k,1%q=・・・=a#q−2,k,1%q=a#q−1,k,1%q=vp=k (vp=k:固定値)
(したがって、k=1、2、・・・、n−1となる。)」
・
・
・
「a#0,n−2,1%q=a#1,n−2,1%q=a#2,n−2,1%q=a#3,n−2,1%q=・・・=a#g,n−2,1%q=・・・=a#q−2,n−2,1%q=a#q−1,n−2,1%q=vp=n−2 (vp=n−2:固定値)」
「a#0,n−1,1%q=a#1,n−1,1%q=a#2,n−1,1%q=a#3,n−1,1%q=・・・=a#g,n−1,1%q=・・・=a#q−2,n−1,1%q=a#q−1,n−1,1%q=vp=n−1 (vp=n−1:固定値)」
及び、
「b#0,1%q=b#1,1%q=b#2,1%q=b#3,1%q=・・・=b#g,1%q=・・・=b#q−2,1%q=b#q−1,1%q=w (w:固定値)」
<条件#6−2>
「a#0,1,2%q=a#1,1,2%q=a#2,1,2%q=a#3,1,2%q=・・・=a#g,1,2%q=・・・=a#q−2,1,2%q=a#q−1,1,2%q=yp=1 (yp=1:固定値)」
「a#0,2,2%q=a#1,2,2%q=a#2,2,2%q=a#3,2,2%q=・・・=a#g,2,2%q=・・・=a#q−2,2,2%q=a#q−1,2,2%q=yp=2 (yp=2:固定値)」
「a#0,3,2%q=a#1,3,2%q=a#2,3,2%q=a#3,3,2%q=・・・=a#g,3,2%q=・・・=a#q−2,3,2%q=a#q−1,3,2%q=yp=3 (yp=3:固定値)」
「a#0,4,2%q=a#1,4,2%q=a#2,4,2%q=a#3,4,2%q=・・・=a#g,4,2%q=・・・=a#q−2,4,2%q=a#q−1,4,2%q=yp=4 (yp=4:固定値)」
・
・
・
「a#0,k,2%q=a#1,k,2%q=a#2,k,2%q=a#3,k,2%q=・・・=a#g,k,2%q=・・・=a#q−2,k,2%q=a#q−1,k,2%q=yp=k (yp=k:固定値)
(したがって、k=1、2、・・・、n−1となる。)」
・
・
・
「a#0,n−2,2%q=a#1,n−2,2%q=a#2,n−2,2%q=a#3,n−2,2%q=・・・=a#g,n−2,2%q=・・・=a#q−2,n−2,2%q=a#q−1,n−2,2%q=yp=n−2 (yp=n−2:固定値)」
「a#0,n−1,2%q=a#1,n−1,2%q=a#2,n−1,2%q=a#3,n−1,2%q=・・・=a#g,n−1,2%q=・・・=a#q−2,n−1,2%q=a#q−1,n−1,2%q=yp=n−1 (yp=n−1:固定値)」
及び、
「b#0,2%q=b#1,2%q=b#2,2%q=b#3,2%q=・・・=b#g,2%q=・・・=b#q−2,2%q=b#q−1,2%q=z (z:固定値)」
<条件#6−3>
「a#0,1,3%q=a#1,1,3%q=a#2,1,3%q=a#3,1,3%q=・・・=a#g,1,3%q=・・・=a#q−2,1,3%q=a#q−1,1,3%q=sp=1 (sp=1:固定値)」
「a#0,2,3%q=a#1,2,3%q=a#2,2,3%q=a#3,2,3%q=・・・=a#g,2,3%q=・・・=a#q−2,2,3%q=a#q−1,2,3%q=sp=2 (sp=2:固定値)」
「a#0,3,3%q=a#1,3,3%q=a#2,3,3%q=a#3,3,3%q=・・・=a#g,3,3%q=・・・=a#q−2,3,3%q=a#q−1,3,3%q=sp=3 (sp=3:固定値)」
「a#0,4,3%q=a#1,4,3%q=a#2,4,3%q=a#3,4,3%q=・・・=a#g,4,3%q=・・・=a#q−2,4,3%q=a#q−1,4,3%q=sp=4 (sp=4:固定値)」
・
・
・
「a#0,k,3%q=a#1,k,3%q=a#2,k,3%q=a#3,k,3%q=・・・=a#g,k,3%q=・・・=a#q−2,k,3%q=a#q−1,k,3%q=sp=k (sp=k:固定値)
(したがって、k=1、2、・・・、n−1となる。)」
・
・
・
「a#0,n−2,3%q=a#1,n−2,3%q=a#2,n−2,3%q=a#3,n−2,3%q=・・・=a#g,n−2,3%q=・・・=a#q−2,n−2,3%q=a#q−1,n−2,3%q=sp=n−2 (sp=n−2:固定値)」
「a#0,n−1,3%q=a#1,n−1,3%q=a#2,n−1,3%q=a#3,n−1,3%q=・・・=a#g,n−1,3%q=・・・=a#q−2,n−1,3%q=a#q−1,n−1,3%q=sp=n−1 (sp=n−1:固定値)」
加えて、(vp=1,yp=1,sp=1)、(vp=2,yp=2,sp=2)、(vp=3,yp=3,sp=3)、・・・(vp=k,yp=k,sp=k)、・・・、(vp=n−2,yp=n−2,sp=n−2)、(vp=n−1,yp=n−1,sp=n−1)、及び、(w,z,0)のセットを考える。ここで、k=1、2、・・・、n−1である。すると、<条件#7−1>又は<条件#7−2>が成立すると、高い誤り訂正能力を得ることができる。
(vp=i,yp=i,sp=i)及び(vp=j,yp=j,sp=j)を考える。ただし、i=1,2,・・・,n−1(iは1以上n−1以下の整数)、j=1,2,・・・,n−1(jは1以上n−1以下の整数)、及び、i≠jとする。このとき、vp=i,yp=i,sp=iを大きい順に並べたセットを(αp=i,βp=i,γp=i)とする。ただし、αp=i≧βp=i、βp=i≧γp=iとする。また、vp=j,yp=j,sp=jを大きい順に並べたセットを(αp=j,βp=j,γp=j)とする。ただし、αp=j≧βp=j、βp=j≧γp=jとする。このとき、(αp=i,βp=i,γp=i)≠(αp=j,βp=j,γp=j)が成立するi,j(i≠j)が存在する。
(vp=i,yp=i,sp=i)及び(w,z,0)を考える。ただし、i=1,2,・・・,n−1とする。このとき、vp=i,yp=i,sp=iを大きい順に並べたセットを(αp=i,βp=i,γp=i)とする。ただし、αp=i≧βp=i、βp=i≧γp=iとする。また、w,z,0を大きい順に並べたセットを(αp=i,βp=i,0)とする。ただし、αp=i≧βp=iとする。このとき、(vp=i,yp=i,sp=i)≠(w,z,0)が成立するiが存在する。
<条件#8−1>
(vp=i,yp=i,sp=i)及び(vp=j,yp=j,sp=j)を考える。ただし、i=1,2,・・・,n−1、j=1,2,・・・,n−1、及び、i≠jとする。このとき、vp=i,yp=i,sp=iを大きい順に並べたセットを(αp=i,βp=i,γp=i)とする。ただし、αp=i≧βp=i、βp=i≧γp=iとする。また、vp=j,yp=j,sp=jを大きい順に並べたセットを(αp=j,βp=j,γp=j)とする。ただし、αp=j≧βp=j、βp=j≧γp=jとする。このとき、(αp=i,βp=i,γp=i)≠(αp=j,βp=j,γp=j)がすべてのi,j(i≠j)で成立する。
(vp=i,yp=i,sp=i)及び(w,z,0)を考える。ただし、i=1,2,・・・,n−1とする。このとき、vp=i,yp=i,sp=iを大きい順に並べたセットを(αp=i,βp=i,γp=i)とする。ただし、αp=i≧βp=i、βp=i≧γp=iとする。また、w,z,0を大きい順に並べたセットを(αp=i,βp=i,0)とする。ただし、αp=i≧βp=iとする。このとき、(vp=i,yp=i,sp=i)≠(w,z,0)がすべてのiで成立する。
以上の説明において、時変周期q(qは3より大きい素数)のLDPC−CCのg番目のパリティ検査多項式として、X1(D)、X2(D)、・・・、Xn−1(D)及びP(D)において項数が3の式(38)を扱った。なお、式(38)において、X1(D)、X2(D)、・・・、Xn−1(D)、P(D)のいずれかの項数が1、2の場合においても高い誤り訂正能力を得ることができる可能性がある。例えば、X1(D)の項数を1又は2とする方法としては、次のような方法がる。時変周期qの場合、q個の0を満たすパリティ検査多項式が存在することになるが、q個の0を満たすパリティ検査多項式すべてにおいて、X1(D)の項数を1又は2とする。又は、q個の0を満たすパリティ検査多項式すべてにおいて、X1(D)の項数を1又は2とせずに、q個の0を満たすパリティ検査多項式のうち、いずれか(q−1個以下)の0を満たすパリティ検査多項式において、X1(D)の項数を1又は2としてもよい。X2(D)、・・・、Xn−1(D)、P(D)についても同様である。この場合においても、上述で述べた条件を満たすことが、高い誤り訂正能力を得る上で重要な条件となる。ただし、削減された項に関する条件は不要となる。
次に、時変周期hが、3より大きい素数以外の整数の場合における符号構成方法について考える。
先ず、符号化率(n−1)/n、時変周期h(hは3より大きい素数以外の整数)のg番目(g=0、1、・・・、h−1(gは0以上h−1以下の整数))のパリティ検査多項式が式(39)のようにあらわされる場合について考える。
上述での説明と同様に、以下に記載する<条件#9−1>及び<条件#9−2>は、LDPC−CCが高い誤り訂正能力を得る上で重要な要件の一つとなる。なお、以下の各条件において「%」はmoduloを意味し、例えば、「α%h」は、αをhで除算したときの余りを示す。
「a#0,1,1%h=a#1,1,1%h=a#2,1,1%h=a#3,1,1%h=・・・=a#g,1,1%h=・・・=a#h−2,1,1%h=a#h−1,1,1%h=vp=1 (vp=1:固定値)」
「a#0,2,1%h=a#1,2,1%h=a#2,2,1%h=a#3,2,1%h=・・・=a#g,2,1%h=・・・=a#h−2,2,1%h=a#h−1,2,1%h=vp=2 (vp=2:固定値)」
「a#0,3,1%h=a#1,3,1%h=a#2,3,1%h=a#3,3,1%h=・・・=a#g,3,1%h=・・・=a#h−2,3,1%h=a#h−1,3,1%h=vp=3 (vp=3:固定値)」
「a#0,4,1%h=a#1,4,1%h=a#2,4,1%h=a#3,4,1%h=・・・=a#g,4,1%h=・・・=a#h−2,4,1%h=a#h−1,4,1%h=vp=4 (vp=4:固定値)」
・
・
・
「a#0,k,1%h=a#1,k,1%h=a#2,k,1%h=a#3,k,1%
h=・・・=a#g,k,1%h=・・・=a#h−2,k,1%h=a#h−1,k,1%h=vp=k (vp=k:固定値)
(したがって、k=1、2、・・・、n−1(kは1以上n−1以下の整数)となる。)」
・
・
・
「a#0,n−2,1%h=a#1,n−2,1%h=a#2,n−2,1%h=a#3,n−2,1%h=・・・=a#g,n−2,1%h=・・・=a#h−2,n−2,1%h=a#h−1,n−2,1%h=vp=n−2 (vp=n−2:固定値)」
「a#0,n−1,1%h=a#1,n−1,1%h=a#2,n−1,1%h=a#3,n−1,1%h=・・・=a#g,n−1,1%h=・・・=a#h−2,n−1,1%h=a#h−1,n−1,1%h=vp=n−1 (vp=n−1:固定値)」
及び、
「b#0,1%h=b#1,1%h=b#2,1%h=b#3,1%h=・・・=b#g,1%h=・・・=b#h−2,1%h=b#h−1,1%h=w (w:固定値)」
<条件#9−2>
「a#0,1,2%h=a#1,1,2%h=a#2,1,2%h=a#3,1,2%h=・・・=a#g,1,2%h=・・・=a#h−2,1,2%h=a#h−1,1,2%h=yp=1 (yp=1:固定値)」
「a#0,2,2%h=a#1,2,2%h=a#2,2,2%h=a#3,2,2%h=・・・=a#g,2,2%h=・・・=a#h−2,2,2%h=a#h−1,2,2%h=yp=2 (yp=2:固定値)」
「a#0,3,2%h=a#1,3,2%h=a#2,3,2%h=a#3,3,2%h=・・・=a#g,3,2%h=・・・=a#h−2,3,2%h=a#h−1,3,2%h=yp=3 (yp=3:固定値)」
「a#0,4,2%h=a#1,4,2%h=a#2,4,2%h=a#3,4,2%h=・・・=a#g,4,2%h=・・・=a#h−2,4,2%h=a#h−1,4,2%h=yp=4 (yp=4:固定値)」
・
・
・
「a#0,k,2%h=a#1,k,2%h=a#2,k,2%h=a#3,k,2%h=・・・=a#g,k,2%h=・・・=a#h−2,k,2%h=a#h−1,k,2%h=yp=k (yp=k:固定値)
(したがって、k=1、2、・・・、n−1となる。)」
・
・
・
「a#0,n−2,2%h=a#1,n−2,2%h=a#2,n−2,2%h=a#3,n−2,2%h=・・・=a#g,n−2,2%h=・・・=a#h−2,n−2,2%h=a#h−1,n−2,2%h=yp=n−2 (yp=n−2:固定値)」
「a#0,n−1,2%h=a#1,n−1,2%h=a#2,n−1,2%h=a#3,n−1,2%h=・・・=a#g,n−1,2%h=・・・=a#h−2,n−1,2%h=a#h−1,n−1,2%h=yp=n−1 (yp=n−1:固定値)」
及び、
「b#0,2%h=b#1,2%h=b#2,2%h=b#3,2%h=・・・=b#g,2%h=・・・=b#h−2,2%h=b#h−1,2%h=z (z:固定値)」
加えて、上述で説明したように、<条件#10−1>又は<条件#10−2>を付加することにより、より高い誤り訂正能力を得ることができる。
<条件#9−1>において、vp=1、vp=2、vp=3、vp=4、・・・、vp=k 、・・・、vp=n−2、vp=n−1(k=1、2、・・・、n−1)及びwを、「1」、及び、「時変周期hの約数以外の自然数」に設定する。
<条件#10−2>
<条件#9−2>において、yp=1、yp=2、yp=3、yp=4、・・・、yp=k 、・・・、yp=n−2、yp=n−1(k=1、2、・・・、n−1)及びzを、「1」、及び、「時変周期hの約数以外の自然数」に設定する。
(vp=i,yp=i)及び(vp=j,yp=j)を考える。ただし、i=1,2,・・・,n−1、j=1,2,・・・,n−1、及び、i≠jとする。このとき、(vp=i,yp=i)≠(vp=j,yp=j)及び(vp=i,yp=i)≠(yp=j,vp=j)が成立するi,j(i≠j)が存在する。
(vp=i,yp=i)及び(w,z)を考える。ただし、i=1,2,・・・,n−1とする。このとき、(vp=i,yp=i)≠(w,z)及び(vp=i,yp=i)≠(z,w)が成立するiが存在する。
また、<条件#11−1,条件#11−2>の制約条件をさらに厳しくすることにより、誤り訂正能力がより高い時変周期h(hは3より大きい素数でない整数)のLDPC−CCを生成できる可能性がある。その条件は、<条件#12−1>及び<条件#12−2>、又は、<条件#12−1>若しくは<条件#12−2>が成立することである。
(vp=i,yp=i)及び(vp=j,yp=j)を考える。ただし、i=1,2,・・・,n−1、j=1,2,・・・,n−1、及び、i≠jとする。このとき、(vp=i,yp=i)≠(vp=j,yp=j)及び(vp=i,yp=i)≠(yp=j,vp=j)がすべてのi,j(i≠j)で成立する。
(vp=i,yp=i)及び(w,z)を考える。ただし、i=1,2,・・・,n−1とする。このとき、(vp=i,yp=i)≠(w,z)及び(vp=i,yp=i)≠(z,w)がすべてのiで成立する。
また、vp=i≠yp=i(i=1,2,・・・,n−1)、w≠zが成立する場合、タナーグラフにおいて、短いループの発生を抑えることができる。
次に、時変周期h(hは3より大きい素数以外の整数)の(0を満たす)g番目(g=0、1、・・・、h−1)のパリティ検査多項式が式(41)のようにあらわされる場合について考える。
<条件#13−1>
「a#0,1,1%h=a#1,1,1%h=a#2,1,1%h=a#3,1,1%h=・・・=a#g,1,1%h=・・・=a#h−2,1,1%h=a#h−1,1,1%h=vp=1 (vp=1:固定値)」
「a#0,2,1%h=a#1,2,1%h=a#2,2,1%h=a#3,2,1%h=・・・=a#g,2,1%h=・・・=a#h−2,2,1%h=a#h−1,2,1%h=vp=2 (vp=2:固定値)」
「a#0,3,1%h=a#1,3,1%h=a#2,3,1%h=a#3,3,1%h=・・・=a#g,3,1%h=・・・=a#h−2,3,1%h=a#h−1,3,1%h=vp=3 (vp=3:固定値)」
「a#0,4,1%h=a#1,4,1%h=a#2,4,1%h=a#3,4,1%h=・・・=a#g,4,1%h=・・・=a#h−2,4,1%h=a#h−1,4,1%h=vp=4 (vp=4:固定値)」
・
・
・
「a#0,k,1%h=a#1,k,1%h=a#2,k,1%h=a#3,k,1%h=・・・=a#g,k,1%h=・・・=a#h−2,k,1%h=a#h−1,k,1%h=vp=k (vp=k:固定値)
(したがって、k=1、2、・・・、n−1となる。)」
・
・
・
「a#0,n−2,1%h=a#1,n−2,1%h=a#2,n−2,1%h=a#3,n−2,1%h=・・・=a#g,n−2,1%h=・・・=a#h−2,n−2,1%h=a#h−1,n−2,1%h=vp=n−2 (vp=n−2:固定値)」
「a#0,n−1,1%h=a#1,n−1,1%h=a#2,n−1,1%h=a#3,n−1,1%h=・・・=a#g,n−1,1%h=・・・=a#h−2,n−1,1%h=a#h−1,n−1,1%h=vp=n−1 (vp=n−1:固定値)」
及び、
「b#0,1%h=b#1,1%h=b#2,1%h=b#3,1%h=・・・=b#g,1%h=・・・=b#h−2,1%h=b#h−1,1%h=w (w:固定値)」
<条件#13−2>
「a#0,1,2%h=a#1,1,2%h=a#2,1,2%h=a#3,1,2%h=・・・=a#g,1,2%h=・・・=a#h−2,1,2%h=a#h−1,1,2%h=yp=1 (yp=1:固定値)」
「a#0,2,2%h=a#1,2,2%h=a#2,2,2%h=a#3,2,2%h=・・・=a#g,2,2%h=・・・=a#h−2,2,2%h=a#h−1,2,2%h=yp=2 (yp=2:固定値)」
「a#0,3,2%h=a#1,3,2%h=a#2,3,2%h=a#3,3,2%h=・・・=a#g,3,2%h=・・・=a#h−2,3,2%h=a#h−1,3,2%h=yp=3 (yp=3:固定値)」
「a#0,4,2%h=a#1,4,2%h=a#2,4,2%h=a#3,4,2%h=・・・=a#g,4,2%h=・・・=a#h−2,4,2%h=a#h−1,4,2%h=yp=4 (yp=4:固定値)」
・
・
・
「a#0,k,2%h=a#1,k,2%h=a#2,k,2%h=a#3,k,2%h=・・・=a#g,k,2%h=・・・=a#h−2,k,2%h=a#h−1,k,2%h=yp=k (yp=k:固定値)
(したがって、k=1、2、・・・、n−1となる。)」
・
・
・
「a#0,n−2,2%h=a#1,n−2,2%h=a#2,n−2,2%h=a#3,n−2,2%h=・・・=a#g,n−2,2%h=・・・=a#h−2,n−2,2%h=a#h−1,n−2,2%h=yp=n−2 (yp=n−2:固定値)」
「a#0,n−1,2%h=a#1,n−1,2%h=a#2,n−1,2%h=a#3,n−1,2%h=・・・=a#g,n−1,2%h=・・・=a#h−2,n−1,2%h=a#h−1,n−1,2%h=yp=n−1 (yp=n−1:固定値)」
及び、
「b#0,2%h=b#1,2%h=b#2,2%h=b#3,2%h=・・・=b#g,2%h=・・・=b#h−2,2%h=b#h−1,2%h=z (z:固定値)」
<条件#13−3>
「a#0,1,3%h=a#1,1,3%h=a#2,1,3%h=a#3,1,3%h=・・・=a#g,1,3%h=・・・=a#h−2,1,3%h=a#h−1,1,3%h=sp=1 (sp=1:固定値)」
「a#0,2,3%h=a#1,2,3%h=a#2,2,3%h=a#3,2,3%h=・・・=a#g,2,3%h=・・・=a#h−2,2,3%h=a#h−1,2,3%h=sp=2 (sp=2:固定値)」
「a#0,3,3%h=a#1,3,3%h=a#2,3,3%h=a#3,3,3%h=・・・=a#g,3,3%h=・・・=a#h−2,3,3%h=a#h−1,3,3%h=sp=3 (sp=3:固定値)」
「a#0,4,3%h=a#1,4,3%h=a#2,4,3%h=a#3,4,3%h=・・・=a#g,4,3%h=・・・=a#h−2,4,3%h=a#h−1,4,3%h=sp=4 (sp=4:固定値)」
・
・
・
「a#0,k,3%h=a#1,k,3%h=a#2,k,3%h=a#3,k,3%h=・・・=a#g,k,3%h=・・・=a#h−2,k,3%h=a#h−1,k,3%h=sp=k (sp=k:固定値)
(したがって、k=1、2、・・・、n−1となる。)」
・
・
・
「a#0,n−2,3%h=a#1,n−2,3%h=a#2,n−2,3%h=a#3,n−2,3%h=・・・=a#g,n−2,3%h=・・・=a#h−2,n−2,3%h=a#h−1,n−2,3%h=sp=n−2 (sp=n−2:固定値)」
「a#0,n−1,3%h=a#1,n−1,3%h=a#2,n−1,3%h=a#3,n−1,3%h=・・・=a#g,n−1,3%h=・・・=a#h−2,n−1,3%h=a#h−1,n−1,3%h=sp=n−1 (sp=n−1:固定値)」
加えて、(vp=1,yp=1,sp=1)、(vp=2,yp=2,sp=2)、(vp=3,yp=3,sp=3)、・・・(vp=k,yp=k,sp=k)、・・・、(vp=n−2,yp=n−2,sp=n−2)、(vp=n−1,yp=n−1,sp=n−1)、及び、(w,z,0)のセットを考える。ここで、k=1、2、・・・、n−1である。すると、<条件#14−1>又は<条件#14−2>が成立すると、高い誤り訂正能力を得ることができる。
(vp=i,yp=i,sp=i)及び(vp=j,yp=j,sp=j)を考える。ただし、i=1,2,・・・,n−1、j=1,2,・・・,n−1、及び、i≠jとする。このとき、vp=i,yp=i,sp=iを大きい順に並べたセットを(αp=i,βp=i,γp=i)とする。ただし、αp=i≧βp=i、βp=i≧γp=iとする。また、vp=j,yp=j,sp=jを大きい順に並べたセットを(αp=j,βp=j,γp=j)とする。ただし、αp=j≧βp=j、βp=j≧γp=jとする。このとき、(αp=i,βp=i,γp=i)≠(αp=j,βp=j,γp=j)が成立するi,j(i≠j)が存在する。
(vp=i,yp=i,sp=i)及び(w,z,0)を考える。ただし、i=1,2,・・・,n−1とする。このとき、vp=i,yp=i,sp=iを大きい順に並べたセットを(αp=i,βp=i,γp=i)とする。ただし、αp=i≧βp=i、βp=i≧γp=iとする。また、w,z,0を大きい順に並べたセットを(αp=i,βp=i,0)とする。ただし、αp=i≧βp=iとする。このとき、(vp=i,yp=i,sp=i)≠(w,z,0)が成立するiが存在する。
<条件#15−1>
(vp=i,yp=i,sp=i)及び(vp=j,yp=j,sp=j)を考える。ただし、i=1,2,・・・,n−1、j=1,2,・・・,n−1、及び、i≠jとする。このとき、vp=i,yp=i,sp=iを大きい順に並べたセットを(αp=i,βp=i,γp=i)とする。ただし、αp=i≧βp=i、βp=i≧γp=iとする。また、vp=j,yp=j,sp=jを大きい順に並べたセットを(αp=j,βp=j,γp=j)とする。ただし、αp=j≧βp=j、βp=j≧γp=jとする。このとき、(αp=i,βp=i,γp=i)≠(αp=j,βp=j,γp=j)がすべて
のi,j(i≠j)で成立する。
(vp=i,yp=i,sp=i)及び(w,z,0)を考える。ただし、i=1,2,・・・,n−1とする。このとき、vp=i,yp=i,sp=iを大きい順に並べたセットを(αp=i,βp=i,γp=i)とする。ただし、αp=i≧βp=i、βp=i≧γp=iとする。また、w,z,0を大きい順に並べたセットを(αp=i,βp=i,0)とする。ただし、αp=i≧βp=iとする。このとき、(vp=i,yp=i,sp=i)≠(w,z,0)がすべてのiで成立する。
以上の説明において、時変周期h(hは3より大きい素数以外の整数)のLDPC−CCのg番目のパリティ検査多項式として、X1(D)、X2(D)、・・・、Xn−1(D)及びP(D)において項数が3の式(41)を扱った。なお、式(41)において、X1(D)、X2(D)、・・・、Xn−1(D)、P(D)のいずれかの項数が1、2の場合においても、高い誤り訂正能力を得ることができる可能性がある。例えば、X1(D)の項数を1又は2とする方法としては、次のような方法ある。時変周期hの場合、h個の0を満たすパリティ検査多項式が存在することになるが、h個の0を満たすパリティ検査多項式すべてにおいて、X1(D)の項数を1又は2とする。又は、h個の0を満たすパリティ検査多項式すべてにおいて、X1(D)の項数を1又は2とせずに、h個の0を満たすパリティ検査多項式のうち、いずれか(h−1個以下)の0を満たすパリティ検査多項式において、X1(D)の項数を1又は2としてもよい。X2(D)、・・・、Xn−1(D)、P(D)についても同様である。この場合においても、上述で述べた条件を満たすことが、高い誤り訂正能力を得る上で重要な条件となる。ただし、削減された項に関する条件は不要となる。
本実施の形態では、実施の形態1で述べたパリティ検査多項式に基づくLDPC−CCの符号化方法及び符号化器の構成について詳しく説明する。
一例として、先ず、符号化率1/2、時変周期3のLDPC−CCを考える。時変周期3のパリティ検査多項式を以下に与える。
そして、時点i=3kのとき、式(43−0)、つまり、式(44−0)に相当する図15Aに示す回路により、時点iのパリティビットを求めることになる。時点i=3k+1のとき、式(43−1)、つまり、式(44−1)に相当する図15Bに示す回路により、時点iのパリティビットを求めることになる。時点i=3k+2のとき、式(43−2)、つまり、式(44−2)に相当する図15Cに示す回路により、時点iのパリティビットを求めることになる。したがって、符号化器は、図9と同様の構成を採ることができる。
したがって、時点iにおいて、i%q=kのとき、式(45)、式(46)において、式(45)、式(46)のgにkを代入した式を用いて、時点iのパリティビットを求めることができる。
よって、ターミネーションを用いたとき、式(36)であらわされる符号化率(n−1)/nの時変周期qのLDPC−CCの検査行列は、図17のようにあらわされる。図17は、図5と同様の構成を持つ。なお、後述の実施の形態3において、テイルバイティングの検査行列の詳細構成について説明する。
(実施の形態3)
本実施の形態では、実施の形態1で述べたパリティ検査多項式に基づくLDPC−CCにおいて、非特許文献10、11に記載されている簡単なテイルバイティングを行う場合に、より高い誤り訂正能力を得るための符号構成方法について詳しく説明する。
時変周期q、符号化率(n−1)/nのLDPC−CCのg番目(g=0、1、・・・、q−1)のパリティ検査多項式(36)において、P(D)の項が1の場合、g番目のパリティ検査多項式は式(48)のようにあらわされる。
式(48)から、P(D)は以下のようにあらわされる。
次に、式(49)で定義される時変周期q、符号化率(n−1)/nのLDPC−CCに対し、テイルバイティングを行ったときの検査行列の構成、及び、ブロックサイズについて詳しく説明する。
しかし、非特許文献12には、パリティ検査行列の具体的な符号について示されておらず、また、高い誤り訂正能力を得るための符号構成方法(制約条件)については記載されていない。
式(49)で定義される時変周期q、符号化率(n−1)/nのLDPC−CCにおいて、より高い誤り訂正能力を得るためには、復号の際に必要とされるパリティ検査行列Hにおいて、以下の条件が重要となる。
・パリティ検査行列の行数は、qの倍数である。
・したがって、パリティ検査行列の列数はn×qの倍数である。つまり、復号時に必要な(例えば)対数尤度比はn×qの倍数のビット分である。
ただし、上記<条件#16>において、必要となる時変周期q、符号化率(n−1)/nのLDPC−CCのパリティ検査多項式は、式(48)に限ったものではなく、式(36)、式(38)等のパリティ検査多項式でもよい。また、式(38)では、X1(D)、X2(D)、・・・Xn−1(D)及びP(D)において、各項数が3であるが、これに限ったものではない。また、時変周期qは2以上であればいずれの値であってもよい。
時点iにおける情報ビットX1、X2、・・・、Xn−1、及びパリティビットPを、X1,i、X2,i、・・・、Xn−1,i、Piとあらわす。すると、<条件#16>を満たすためには、i=1、2、3、・・・、q、・・・、q×(N−1)+1、q×(N−1)+2、q×(N−1)+3、・・・、q×Nとしてテイルバイティングを行うことになる。
図18Aは、上記で定義した送信系列uに対応するパリティ検査行列のうち、時点q×N−1(1803)、時点q×N(1804)近辺のパリティ検査行列を示している。図18Aに示すように、パリティ検査行列Hにおいて、第i行と第i+1行とでは、サブ行列がn列右にシフトした構成となる(図18A参照)。
また、列群1804は時点q×Nに相当する列群を示している。なお、列群1804では、送信系列がX1,q×N、X2,q×N、・・・、Xn−1,q×N、Pq×Nの順に並んでいる。列群1803は時点q×N−1に相当する列群を示している。なお、列群1803では、送信系列がX1,q×N−1、X2,q×N−1、・・・、Xn−1,q×N−1、Pq×N−1の順に並んでいる。
列群1803は時点q×N−1に相当する列群を示しており、列群1803は、X1,q×N−1、X2,q×N−1、・・・、Xn−1,q×N−1、Pq×N−1の順に並んでいる。列群1804は時点q×Nに相当する列群を示しており、列群1804は、X1,q×N、X2,q×N、・・・、Xn−1,q×N、Pq×Nの順に並んでいる。列群1807は時点1に相当する列群を示しており、列群1807は、X1,1、X2,1、・・・、Xn−1,1、P1の順に並んでいる。列群1808は時点2に相当する列群を示しており、列群1808は、X1,2、X2,2、・・・、Xn−1,2、P2の順に並んでいる。
このとき、図18Bで示したパリティ検査行列の一部分、すなわち、列境界1813より左かつ行境界1814より下の部分は、テイルバイティングを行ったときの特徴的な部分となる。そして、この特徴的な部分の構成は、式(51)と同様の構成となることがわかる。
実施の形態1で説明した時変LDPC−CCは、タナーグラフにおいて長さが短いサイクル(cycleoflength)の数が少なくなるような符号である。そして、実施の形態1では、タナーグラフにおいて長さが短いサイクルの数が少なくなるような符号を生成するための条件を示した。ここで、テイルバイティングを行う際に、タナーグラフにおいて長さが短いサイクルの数が少なくなるためには、パリティ検査行列の行数が、qの倍数である(<条件#16>)ことが重要となる。この場合、パリティ検査行列の行数が、qの倍数の場合には、時変周期qのパリティ検査多項式が全て用いられることになる。そのため、パリティ検査多項式を実施の形態1で説明したようにタナーグラフにおいて長さが短いサイクルの数が少なくなるような符号とすることにより、テイルバイティングを行う際にも、タナーグラフにおいて長さが短いサイクルの数が少なくすることができる。このように、テイルバイティングを行う際にも、タナーグラフにおいて長さが短いサイクルの数が少なくするためには、<条件#16>が重要な要件となる。
図19は、通信システムの略図である。図19の通信システムは、符号化側の送信装置1910、及び、復号側の受信装置1920を有している。
受信部1921は、受信信号を入力とし、増幅、周波数変換、直交復調、チャネル推定、及びデマッピング等の処理を行い、ベースバンド信号、及びチャネル推定信号を出力する。
復号化器1923は、対数尤度比信号を入力とし、ここでは、特に、BP復号を用いた反復復号を行い、推定送信系列、又は(及び)、推定情報系列を出力する。
例えば、符号化率1/2、時変周期11のLDPC−CCを考える。このとき、テイルバイティングを行うことを前提し、設定した情報長を16384とする。その情報ビットをX1,1、X1,2、X1,3、・・・、X1,16384とする。そして、何も工夫せずに、パリティビットを求めるとすると、P1、P2、P,3、・・・、P16384が求まることになる。
P16386、P16387、P16388、P16389を求めるようにすればよい。
受信装置1920では、送信系列ごとの、例えば、対数尤度比をLLR(X1,1)、LLR(P1)、LLR(X1,2)、LLR(P2)、・・・LLR(X1,16384)、LLR(P16384)、LLR(P16385)、LLR(P16386)、LLR(P16387)、LLR(P16388)、LLR(P16389)を得ることになる。
て、テイルバイティングを行う場合、受信装置1920では、<条件#16>を満たすようなパリティ検査行列を用いて復号が行なわれる。したがって、復号化器1923は、パリティ検査行列として(行)×(列)=(q×M)×(q×n×M)のパリティ検査行列を保有していることになる(Mは自然数)。
このとき、符号化器1911に入力される情報ビットの数が、q×(n−1)×Mビットより少ない場合は、符号化器1911において、情報ビット数がq×(n−1)×Mビットとなるように送受信装置(符号化器1911及び復号化器1923)間で既知のビット(例えば「0」(「1」でもよい))が挿入される。そして、符号化器1911は、q×Mビットのパリティビットを求めることになる。このとき、送信装置1910は、挿入した既知のビットを除いた情報ビット及び求めたパリティビットを送信する。なお、既知のビットを送信し、常に、q×(n−1)×Mビットの情報ビット及びq×Mビットのパリティビットを送信してもよいが、この場合には、既知ビット送信分の伝送速度の低下を招くことになる。
<手順1>
例えば、符号化器1911が、図9と同様の構成を採る場合、各レジスタ(符号省略)の初期値を「0」とする。つまり、式(50)において、時点iにおいて(i=1、2、・・・)、(i−1)%q=kのとき、g=kとして時点iのパリティビットを求める。そして、式(50)のX1[z]、X2[z]、・・・、Xn−1[z]、P[z]において、zが1より小さい場合は、これらを「0」として符号化を行う。そして、符号化器1911は、最後のパリティビットまで求める。そして、このときの符号化器1911の各レジスタの状態を保持しておく。
手順1において、符号化器1911に保持された各レジスタの状態から(したがって、式(50)のX1[z]、X2[z]、・・・、Xn−1[z]、P[z]において、zが1より小さい場合について、<手順1>で得られた値が用いられることになる。)、再度、時点i=1から符号化を行い、パリティビットを求める。
なお、本実施の形態では、式(48)で定義される時変周期q、符号化率(n−1)/nのLDPC−CCを例に説明した。式(48)は、X1(D)、X2(D)、・・・、Xn−1(D)において項数が3である。しかし、項数は3に限られず、式(48)において、X1(D)、X2(D)、・・・、Xn−1(D)のいずれかの項数が1、2となる場合においても、高い誤り訂正能力を得ることができる可能性がある。例えば、X1(D)の項数を1又は2とする方法としては、次のような方法がある。時変周期qの場合、
q個の0を満たすパリティ検査多項式が存在することになるが、q個の0を満たすパリティ検査多項式すべてにおいて、X1(D)の項数を1又は2とする。又は、q個の0を満たすパリティ検査多項式すべてにおいて、X1(D)の項数を1又は2とせずに、q個の0を満たすパリティ検査多項式のうち、いずれか(q−1個以下)の0を満たすパリティ検査多項式において、X1(D)の項数を1又は2としてもよい。X2(D)、・・・、Xn−1(D)についても同様である。この場合においても、実施の形態1で述べた条件を満たすことが、高い誤り訂正能力を得る上で重要な条件となる。ただし、削減された項に関する条件は不要となる。
式(53)から、P(D)は以下のようにあらわされる。
(実施の形態4)
本実施の形態では、再度、パリティ検査多項式に基づく、符号化率R=(n−1)/nの時変LDPC−CCについて説明する。X1,X2,・・・,Xn−1の情報ビット及びパリティビットPの時点jにおけるビットを、それぞれX1,j,X2,j,・・・,Xn−1,j及びPjとあらわす。そして、時点jにおけるベクトルujをuj=(X1,j,X2,j,・・・,Xn−1,j,Pj)とあらわす。また、符号化系列をu=(u0,u1,・・・,uj,・・・)Tとあらわす。Dを遅延演算子とすると、情報ビットX1,X2,・・・,Xn−1の多項式はX1(D),X2(D),・・・,Xn−1(D)とあらわされ、パリティビットPの多項式はP(D)とあらわされる。このとき、式(56)であらわされる0を満たすパリティ検査多項式を考える。
式(58)、式(59)及び式(60)を用いることにより、符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC−CCの検査行列は、式(61)のようにあらわされる。
本実施の形態では、実施の形態1で述べた時変LDPC−CCを消失訂正方式に適用する場合について説明する。ただし、LDPC−CCの時変周期は、時変周期2、3、4であってもよい。
例えば、LDPC符号による消失訂正符号化を利用した通信システムの概念図を図20に示す。図20において、符号化側の通信装置では、送信する情報パケット1〜4に対してLDPC符号化を行い、パリティパケットa,bを生成する。上位層処理部は、情報パケットにパリティパケットを付加した符号化パケットを下位層(図20の例では物理層(PHY:Physical Layer))に出力し、下位層の物理層処理部は、符号化パケットを通信路で送信可能な形に変換して通信路に出力する。図20は、通信路が無線通信路の場合の例である。
符号化側の通信装置2110は、消失訂正符号化関連処理部2112、誤り訂正符号化部2113及び送信装置2114を有する。
復号側の通信装置2130は、受信装置2131、誤り訂正復号部2132、消失訂正復号関連処理部2133を有する。
パケット生成部2211は、情報2241を入力とし、情報パケット2243を生成し、情報パケット2243を並び替え部2215に出力する。以下では、一例として、情報パケット2243が、情報パケット#1〜#nから構成される場合について説明する。
消失訂正符号化器(パリティパケット生成部)2216は、並び替え後の情報2245を入力とし、情報2245に対し、例えば、LDPC−CC(low-density parity-checkconvolutional code)の符号化を行い、パリティビットを生成する。消失訂正符号化器(パリティパケット生成部)2216は、生成したパリティ部分のみを抽出し、抽出したパリティ部分から(パリティを蓄積し、並び替えを行い)パリティパケット2247を生成し出力する。このとき、情報パケット#1〜#nに対し、パリティパケット#1〜#mが生成される場合、パリティパケット2247は、パリティパケット#1〜#mから構成される。
誤り検出部2435は、物理層における誤り訂正符号の復号後のパケット2451を入力とし、例えば、CRCにより、誤り検出を行う。このとき、物理層における誤り訂正符号の復号後のパケット2451は、復号後の情報パケット#1〜#n及び復号後のパリティパケット#1〜#mから構成される。誤り検出の結果、例えば、図24に示すように、復号後の情報パケット及び復号後のパリティパケットに損失パケットが存在する場合、誤り検出部2435は、パケット損失が発生しなかった情報パケット及びパリティパケットにパケット番号を付して、パケット2453として出力する。
第1の消失訂正符号化器2561は、符号化率1/2の消失訂正符号の符号化器である。また、第2の消失訂正符号化器2562は、符号化率2/3の消失訂正符号の符号化器である。また、第3の消失訂正符号化器2563は、符号化率3/4の消失訂正符号の符号化器である。
このように、通信状況に応じて消失訂正符号の符号化率を変更して、適切な符号化率に設定することにより、通信相手の受信品質の向上とデータ(情報)の伝送速度の向上の両立を図ることができるようになる。
以下で説明する符号・復号化方法では、実施の形態1〜3で説明したLDPC−CCを、消失訂正のための符号として用いる。このとき、消失訂正能力の点に着目すると、例えば、符号化率3/4より大きいLDPC−CCを用いる場合には、高い消失訂正能力を得ることができる。一方、符号化率2/3より小さいLDPC−CCを用いる場合には、高い消失訂正能力を得るのが難しいという課題がある。以下では、この課題を克服し、なおかつ、低回路規模で複数符号化率を実現することができる符号化方法について説明する。
通信路2607は、符号化側の通信装置2600の送信装置2605から送信された信号が、復号側の通信装置2608の受信装置2609で受信されるまでに通る経路を示す。
消失訂正符号化関連処理部2603は、情報2601、制御信号2602、及び、通信装置2608からフィードバックされた情報2615を入力とする。消失訂正符号化関連処理部2603は、制御信号2602、又は、通信装置2608からのフィードバック情報2615に基づき消失訂正符号の符号化率を決定し、符号化を行い、消失訂正符号化後のパケットを出力する。
並び替え部2902は、情報Xを入力とし、情報ビットXを蓄積する。そして、並び替え部2902は、情報ビットXが4ビット分蓄積されると、情報ビットXを並び替え、情報ビットX1、X2、X3、X4を4系統にパラレルに出力する。ただし、この構成は、あくまでも一例である。なお、並び替え部2902の動作について、後述する。
並び替え部2909は、[X1(1),X2(1),X3(1),X4(1),P1(1)]、[X1(2),X2(2),X3(2),X4(2),P1(2)]、・・・、[X1(N),X2(N),X3(N),X4(N),P1(N)]を入力とする。並び替え部2909は、情報ビットに加えパリティビットも含め並び替えを行う。
そして、符号化率4/5のLDPC−CC符号化器2914は、例えば、図30の枠3000に示されるように、[X1(50),X2(31),X3(7),P1(40)]に対し符号化を行い、パリティビットP2(1)を生成する。以下同様に、LDPC−CC符号化器2914は、パリティビットP2(1)、P2(2)、・・・、P2(M)を生成し、出力する。
また、制御信号2916が符号化率16/25を示す場合、符号化器2900は、[X1(50),X2(31),X3(7),P1(40),P2(1)]、[X2(39),X4(67),P1(4),X1(20),P2(2)]、・・・、[P2(65),X4(21),P1(16),X2(87),P2(M)]を用いてパケットを生成する。
LDPC−CC符号化器3103は、符号化率5/6をサポートする。LDPC−CC符号化器3103は、情報ビットX1,X2,X3,X4,X5、及び制御信号2916を入力とし、情報ビットX1,X2,X3,X4,X5に対して符号化を行い、パリティビット(P1)2908を出力する。なお、制御信号2916が、符号化率5/6を示す場合、情報ビットX1,X2,X3,X4,X5、及び、パリティビット(P1)2908が、符号化器2900の出力となる。
また、図29及び図31には、2つの符号化率に対応する場合の符号化器2900の構成例を示したが、3つ以上の符号化率に対応させるようにしてもよい。図32は、3つ以上の符号化率に対応することができる符号化器3200の構成の一例を示している。
LDPC−CC符号化器3204は、符号化率(n−1)/nをサポートする。LDPC−CC符号化器3204は、第1データ3203、及び制御信号2916を入力とし、第1データ3203及び制御信号2916に対して符号化を行い、パリティビット(P1)3205を出力する。なお、制御信号2916が、符号化率(n−1)/nを示す場合、第1データ3203及びパリティビット(P1)3205が符号化器3200の出力となる。
3205を蓄積する。そして、並び替え部3206は、蓄積後の第1データ3203、及びパリティビット(P1)3205を並び替え、並び替え後の第1データ3203、及びパリティビット(P1)3205を、後段のLDPC−CC符号化器3208の符号化対象の第2データ3207として出力する。
P2)3207を蓄積する。そして、並び替え部3210は、蓄積後の第2データ3209、及びパリティビット(P2)3207を並び替え、並び替え後の第2データ3209、及びパリティ(P2)3207を、後段のLDPC−CC符号化器3212の符号化対象の第3データ3211として出力する。
なお、図29、図31及び図32において、情報ビットXに対して、必ずしも並び替え(初段の並び換え)が必要とは限らない。また、並び替え部は、並び替え後の情報ビットXをパラレルに出力する構成で示しているが、これに限ったものではなく、シリアル出力としてもよい。
時点iにおける送信系列uiをui=(X1,i、X2,i、・・・、Xn−1,i、P1,i、P2,i、P3,i・・・)とすると、送信系列uは、u=(u0,u1,・・・,ui,・・・)Tとあらわされる。
例えば、符号化率(n−1)/nの場合、消失データ3311には、P2、P3、・・・に相当するデータが存在しない。しかし、この場合には、P2、P3、・・・に相当するデータを「0」として、BP復号器3313が復号動作することにより、消失訂正を行うことが可能となる。
以下では、一例として、実施の形態2で述べたゼロターミネーション(Zero-termination)を用いる場合について検討する。特に、ターミネーション系列の挿入方法について述べる。
そこで、以下では、パケットを構成するビット数を考慮したターミネーション系列挿入方法を提案する。
以上より、符号化率(n−1)/nのLDPC−CCを用い、情報ビット数が(n−1)×cビットの場合、cビットのパリティビットが得られる。そして、ゼロターミネーションのビット数dと、1パケットを構成するビット数zとの関係について考える。ただし、パケットを構成するビット数zには、誤り検出符号等の制御情報が含まれず、パケットを構成するビット数zは、消失訂正符号化に関連するデータのビット数を意味している。
ただし、(n−1)×cビットの情報ビット中には、パディングを行ったダミーのデータ(本来の情報ビットではなく、符号化を行いやすくするために情報ビットに加えた既知のビット(例えば“0”))が含まれていても良い。なお、パディングについては後述する。
消失訂正符号化を行わない場合、情報パケットのみが送信されることになる。
消失訂正符号化を行う場合、例えば、以下のいずれかの方法でパケットを送信する場合を考える。
<2>情報パケットとパリティパケットとに区別せずにパケットを生成し、送信する。
この場合、ハードウェアの回路規模の増大を抑えるためには、消失訂正符号化を行う場合と、行わない場合とに関係なくパケットを構成するビット数zを同一にすることが望まれる。
上記の場合、消失訂正符号化を行うために必要となる情報のビット数はα×zビットとなる。しかし、実際には、必ずしもα×zビットの情報が、消失訂正符号化用に揃うわけではなく、α×zビットより少ないビット数しか情報が揃わない場合がある。この場合、ビット数がα×zビットとなるように、ダミーのデータを挿入する方法をとる。したがって、消失訂正符号化用の情報のビット数がα×zビットより少ない場合、ビット数がα×zビットとなるように既知のデータ(例えば「0」)を挿入する。そして、このように生成したα×zビットの情報に対し、消失訂正符号化を行う。
ここで、パケットを構成するビット数zは、バイト単位で構成することが多々ある。したがって、LDPC−CCの符号化率が(n−1)/nの場合に、式(65)が成立とすると、消失訂正符号化の際、常にパディングビットが必要となるような状況を避けることができる。
上記の場合、消失訂正符号化を行うために必要となる情報のビット数はα×zビットとなる。しかし、実際には、必ずしもα×zビットの情報が、消失訂正符号化用に揃うわけではなく、α×zビットより少ないビット数しか情報が揃わない場合がある。この場合、ビット数がα×zビットとなるように、ダミーのデータを挿入する方法をとる。したがって、消失訂正符号化用の情報のビット数がα×zビットより少ない場合、ビット数がα×zビットとなるように既知のデータ(例えば「0」)を挿入する。そして、このように生成したα×zビットの情報に対し、消失訂正符号化を行う。
なお、テイルバイティングを行う場合には、ブロック長が定まることになるので、LDPCブロック符号を消失訂正符号に適用したときと同様に扱うことができる。
(実施の形態6)
本実施の形態では、実施の形態1で述べた「時変周期が3より大きい、パリティ検査多項式に基づくLDPC−CC」に関する重要な事項の説明を行う。
LDPC−CCは、LDPC−BCと同様に低密度なパリティ検査行列によって定義される符号であり、無限長の時変パリティ検査行列で定義することができるが、実際は、周期的時変のパリティ検査行列で考えることができる。
パリティ検査行列をHとし、シンドロームフォーマーをHTとすると、符号化率R=d/c(d<c)のLDPC−CCのHTは、式(71)のようにあらわすことができる。
式(71)によって定義されるLDPC−CCは時変畳み込み符号であり、この符号を時変LDPC−CCと呼ぶ。復号は、パリティ検査行列Hを用いBP復号が行われる。符号化系列ベクトルuとすると、以下の関係式が成立する。
2:パリティ検査多項式に基づくLDPC−CC
符号化率R=1/2,生成行列G=[1 G1(D)/G0(D)]の組織的畳み込み符号を考える。このとき、G1はフィードフォワード多項式、G0はフィードバック多項式をあらわしている。
式(74)に基づく異なるパリティ検査多項式をm個用意する(mは2以上の整数)。その0を満たすパリティ検査多項式を以下のようにあらわす。
そして、時点jにおけるデータおよびパリティをXj,Pjであらわし、uj=(Xj,Pj)とする。すると、式(76)の0を満たすパリティ検査多項式が成立するものとする。
このとき、式(74)で定義される時不変LDPC−CCおよび式(76)で定義されるTV-m-LDPC-CCは、P(D)にはD0の項が存在し、かつ、bjは1以上の整数である。そのため、逐次的にパリティをレジスタおよび排他的論理和で簡単に求めることができるという特徴をもつことになる。
次に、符号化率(n-1)/nの時不変LDPC−CCおよびTV-m-LDPC-CCを考える。
時点jにおける情報系列X1,X2,・・・,Xn−1およびパリティPをX2,j,・・・,Xn−1,jおよびPjとあらわし、uj=(X1,j,X2,j,・・・,Xn−1,j,Pj)とする。そして、情報系列X1,X2,・・・,Xn−1の多項式表現をX1(D),X2(D),・・・,Xn−1(D)とすると、0を満たすパリティ検査多項式は以下のようにあらわされる。
すると、時点jにおける情報X1,X2,・・・,Xn−1およびパリティPのX1,j,X2,j,・・・,Xn−1,jおよびPjに対し、式(79)が成立するものとする。
3:正則TV-m-LDPC-CC
先ず、本検討で扱う正則TV-m-LDPC-CCについて説明する。
拘束長がおおよそ等しい時、TV3-LDPC-CCが時変周期2のLDPC−CC(TV2-LDPC-CC)より良好な誤り訂正能力を得られることがわかっている。また、TV3-LDPC-CCを、正則(regular)LDPC符号とすることで、良好な誤り訂正能力を得ることができることがわかっている。そこで、本検討では、時変周期m(m>3)の正則LDPC-CCの作成を試みる。
性質1:
パリティ検査多項式#αのDa#α,p,iXp(D)の項とパリティ検査多項式#βのDa#β,p,jXp(D)の項(α,β=0,1,・・・,m−1;p=1,2,・・・,n-1; i,j=1,2,・・・,rp)において、また、パリティ検査多項式#αのDb#α,iP(D)の項とパリティ検査多項式#βのDb#β,jP(D)の項(α,β=0,1,・・・,m−1 (β≧α); i,j=1,2,・・・,rp)において以下の関係をもつ。
{a#α,p,i mod m=a#β,p,j mod m}∩{i≠j}が成立するとき、図36のようにパリティ検査多項式#αに相当するチェックノード及びパリティ検査多項式#βに相当するチェックノードの両者、とエッジを形成する変数ノード$1が存在する。
<2>β≠αのとき:
β−α=Lとする。
(a#β,p,j mod m)−(a#α,p,imod m)=Lのとき、図36のようにパリティ検査多項式#αに相当するチェックノード及びパリティ検査多項式#βに相当するチェックノードの両者、とエッジを形成する変数ノード$1が存在する。
(a#β,p,j mod m)−(a#α,p,imod m)=L+mのとき、図36のようにパリティ検査多項式#αに相当するチェックノード及びパリティ検査多項式#βに相当するチェックノードの両者、とエッジを形成する変数ノード$1が存在する。
(b#β,j mod m)−(b#α,i mod m)=Lのとき、図36のようにパリティ検査多項式#αに相当するチェックノードとパリティ検査多項式#βに相当するチェックノードの両者とエッジを形成する変数ノード$1が存在する。
(b#β,j mod m)−(b#α,i mod m)=L+mのとき、図36のようにパリティ検査多項式#αに相当するチェックノードとパリティ検査多項式#βに相当するチェックノードの両者とエッジを形成する変数ノード$1が存在する。
定理1:TV-m-LDPC-CCの0を満たすパリティ検査多項式において、以下の2つの条件を与える。
C#1.1:a#q,p,imodm=a#q,p,j mod m=a#q,p,k mod mを満足するpおよびqが存在する。ただし、i≠j, i≠k, j≠kとする。
C#1.1またはC#1.2を満足した時、少なくとも1つのCL6が存在する。
証明:
p=1, q=0おいて、a#0,1,imodm=a#0,1,j mod m=a#0,1,k mod mのときに少なくとも1つのCL6が存在することが証明できれば、X2(D),・・・, Xn-1(D),P(D)についても、X1(D)をX2(D),・・・, Xn-1(D), P(D)に置き換えて考えることにより、q=0のとき、C#1,1,C#1.2が成立すれば、少なくとも1つのCL6が存在することが証明できる。
したがって、p=1, q=0のとき、a#0,1,imodm=a#0,1,j mod m=a#0,1,k mod mが成立すれば少なくとも1つのCL6が存在することを証明する。
式(80)のTV−m−LDPC−CCの0を満たすパリティ検査多項式に対し、q=0としたときのX1(D)において、3つの項が存在し、かつ、a#q,p,i mod m=a#q,p,j mod m=a#q,p,kmodmを満足する、とすると、q=0の0を満たすパリティ検査多項式は、式(81)のようにあらわすことができる。
X1(D)に関する項が4つ以上存在する場合、4つ以上の項の中から3つの項を選択し、選択された3つの項において、a#0,1,i mod m=a#0,1,j mod m=a#0,1,kmod mとなる場合、図37に示すように、CL6が形成される。
また、X2(D),・・・,Xn−1(D),P(D)についても、X1(D)に置き換えて考えることにより、C#1.1またはC#1.2が成立した場合、CL6が少なくとも1つ発生することになる。
したがって、式(80)の0を満足するパリティ検査多項式において、C#1.1またはC#1.2が成立した場合、CL6が少なくとも1つ発生する。
以降で扱う符号化率(n−1)/nのTV-m-LDPC-CCの#q番目の0を満たすパリティ検査多項式を式(74)に基づき以下のように与える(q=0,・・・,m−1)。
定理1より、CL6の発生を抑えるために、式(82)のXq(D)において、{a#q,p,1 mod m≠a#q,p,2 mod m}∩{a#q,p,1 mod m≠a#q,p,3 mod m}∩{a#q,p,2 mod m≠a#q,p,3 mod m}を満たす必要がある。
同様に、式(82)のP(D)において、{b#q,1 mod m≠b#q,2 mod m}∩{b#q,1mod m≠b#q,3 mod m}∩{b#q,2mod m≠b#q,3mod m}を満たす必要がある。なお、∩は、積集合(Intersection)である。
C#2:∀qに対して、(a#q,p,1 mod m, a#q,p,2 mod m, a#q,p,3mod m)=(Np,1, Np,2,Np,3)∩(b#q,1mod m, b#q,2 mod m, b#q,3 mod m)= (M1, M2,M3)が成立する。ただし、{a#q,p,1 mod m≠a#q,p,2 mod m}∩{a#q,p,1mod m≠a#q,p,3 mod m}∩{a#q,p,2mod m≠a#q,p,3mod m} および{b#q,1 mod m≠b#q,2mod m}∩{b#q,1 mod m≠b#q,3mod m}∩{b#q,2mod m≠b#q,3 mod m} を満たす。なお、∀qの∀は、全称記号(universal quantifier)であり、∀qは、すべてのqを意味する。
[正則TV-m-LDPC-CCの符号設計]
非特許文献13には、二元入力対象出力通信路において、一様ランダムな正則LDPC符号を最尤復号したときの復号誤り率が示されており、一様ランダムな正則LDPC符号によってGallagerの信頼度関数(非特許文献14参照)が達成できることが示されている。ただし、BP復号を行ったときに、一様ランダムな正則LDPC符号によりGallagerの信頼度関数が達成できるかどうかは不明である。
推論#1:
BP復号を用いたとき、C#2の条件を満足する正則TV-m-LDPC-CCにおいて、TV-m-LDPC-CCの時変周期mが大きくなると、パリティ検査行列において、「1」の存在する位置に対し、一様ランダムに近づき、誤り訂正能力の高い符号が得られる。
[正則TV-m-LDPC-CCの性質]
本議論で扱う符号化率(n-1)/nのC#2の条件を満足する正則TV-m-LDPC-CCの#q番目の0を満たすパリティ検査多項式である式(82)に関する、ツリーを描いた際に成り立つ性質を述べる。
C#2の条件を満足する正則TV-m-LDPC-CCにおいて、時変周期mが素数の場合、X1(D),・・・, Xn-1(D)のいずれかの項に着目し、C#3.1が成立する場合を考える。
C#3.1:C#2の条件を満足する正則TV-m-LDPC-CCの0を満たすパリティ検査多項式(82)において、∀qに対して、Xp(D)においてa#q,p,imodm≠a#q,p,jmod mが成立する(q=0,・・・,m−1)。ただし、i≠jである。
このとき、性質1から、式(82)の0を満たす#q番目のパリティ検査多項式に相当するチェックノードを起点とするツリーには、∀qに対して、#0から#m−1のすべてのパリティ検査多項式に相当するチェックノードが存在する。
C#3.2:C#2の条件を満足する正則TV-m-LDPC-CCの0を満たすパリティ検査多項式(82)において、∀qに対して、P(D)においてb#q,i mod m≠b#q,j modmが成立する。ただし、i≠jである。
このとき、性質1から、式(82)の0を満たす#q番目のパリティ検査多項式に相当するチェックノードを起点とするツリーには、∀qに対して、#0から#m−1のすべてのパリティ検査多項式に相当するチェックノードが存在する。
そして、Db#q,1P(D), Db#q,2P(D)に対応する変数ノードのみに限ってツリーを描いたとき、式(82)の0を満たす#0番目のパリティ検査多項式に相当するチェックノードを起点とするツリーは図38のようにあらわされる。図38からわかるように、時変周期m=7は、性質2を満たす。
C#2の条件を満足する正則TV-m-LDPC-CCにおいて、時変周期mが素数でない場合、X1(D),・・・, Xn-1(D)のいずれかの項に着目し、C#4.1が成立する場合を考える。
C#4.1:C#2の条件を満足する正則TV-m-LDPC-CCの0を満たすパリティ検査多項式(82)において、∀qに対して、Xp(D)においてa#q,p,i mod m≧a#q,p,jmodmのとき、|a#q,p,i mod m−a#q,p,jmod m|がmの1を除く約数である。ただし、i≠jである。
C#4.2:C#2の条件を満足する正則TV-m-LDPC-CCの0を満たすパリティ検査多項式(82)において、∀qに対して、P(D)においてb#q,i mod m≧b#q,j modmのとき、|b#q,i mod m−b#qj mod m|がmの1を除く約数である。ただし、i≠jである。
そして、Db#q,1P(D), Db#q,2P(D)に対応する変数ノードのみに限ってツリーを描いたとき、式(82)の0を満たす#0番目のパリティ検査多項式に相当するチェックノードを起点とするツリーは図39のようにあらわされる。図39からわかるように、時変周期m=6は、性質3を満たす。
性質4:
C#2の条件を満足する正則TV-m-LDPC-CCにおいて、時変周期mが偶数の場合、X1(D),・・・,Xn-1(D)のいずれかの項に着目し、C#5.1が成立する場合を考える。
C#2の条件を満足する正則TV-m-LDPC-CCの0を満たすパリティ検査多項式(82)において、C#5.1を満たすDa#q,p,iXp(D), Da#q,p,jXp(D)に対応する変数ノードのみに限ってツリーを描く場合を考える。このとき、性質1から、式(82)の0を満たす#q番目のパリティ検査多項式に相当するチェックノードを起点とするツリーには、qが奇数のとき、奇数番目のパリティ検査多項式に相当するチェックノードしか存在しない。また、qが偶数のとき、式(82)の0を満たす#q番目のパリティ検査多項式に相当するチェックノードを起点とするツリーには、偶数番目のパリティ検査多項式に相当するチェックノードしか存在しない。
C#5.2:C#2の条件を満足する正則TV-m-LDPC-CCの0を満たすパリティ検査多項式(82)において、∀qに対して、P(D)においてb#q,i mod m≧b#q,j modmのとき、|b#q,i mod m−b#q,jmodm|が偶数である。ただし、i≠jである。
C#2の条件を満足する正則TV-m-LDPC-CCにおいて、高い誤り訂正能力を与えるための設計指針を考える。ここで、C#6.1,C#6.2のような場合を考える。
C#6.1:C#2の条件を満足する正則TV-m-LDPC-CCの0を満たすパリティ検査多項式(82)において、Da#q,p,iXp(D), Da#q,p,jXp(D)に対応する変数ノードのみに限ってツリーを描く場合を考える(ただし、i≠jである)。このとき、式(82)の0を満たす#q番目のパリティ検査多項式に相当するチェックノードを起点するツリーには、∀qに対して、#0から#m−1のパリティ検査多項式に相当するチェックノードすべてが存在することはない。
C#7.1:C#2の条件を満足する正則TV-m-LDPC-CCの0を満たすパリティ検査多項式(82)において、Da#q,p,iXp(D), Da#q,p,jXp(D)に対応する変数ノードのみに限ってツリーを描く場合を考える(ただし、i≠jである)。このとき、式(82)の0を満たす#q番目のパリティ検査多項式に相当するチェックノードを起点するツリーには、∀qに対して、ツリーには#0から#m−1のすべてのパリティ検査多項式に相当するチェックノードが存在する。
C#7.2:C#2の条件を満足する正則TV-m-LDPC-CCの0を満たすパリティ検査多項式(82)において、Db#q,iP(D), Db#q,jP(D)に対応する変数ノードのみに限ってツリーを描く場合を考える(ただし、i≠jである)。このとき、式(82)の0を満たす#q番目のパリティ検査多項式に相当するチェックノードを起点するツリーには、∀qに対して、ツリーには#0から#m−1のすべてのパリティ検査多項式に相当するチェックノードが存在する。
すると、推論#1を満たすことになる。
次に、設計指針に関する定理について述べる。
定理2:設計指針を満たすためには、a#q,p,i mod m≠a#q,p,jmod mおよびb#q,imod m≠b#q,jmod mを満たさなければならない。ただし、i≠jである。
。
□(証明終わり)
定理3:C#2の条件を満足する正則TV-m-LDPC-CCにおいて、時変周期mが偶数の場合、
設計指針を満たす符号は存在しない。
証明:C#2の条件を満足する正則TV-m-LDPC-CCの0を満たすパリティ検査多項式(82)において、p=1とし、設計指針を満たすことがないことが証明できれば、定理3は証明されたことになる。したがって、p=1として証明を進める。
を満たすように(i,j)のセットをいずれの値の場合でもC#5.1を満たす。
(Np,1,Np,2,Np,3)=(“o”,“o”,“e”)のとき、C#5.1において、(i,j)=(1,2)とする
とC#5.1を満たす。
(Np,1,Np,2,Np,3)=(“o”,“e”,“e”)のとき、C#5.1において、(i,j)=(2,3)とする
とC#5.1を満たす。
を満たすように(i,j)のセットをいずれの値の場合でもC#5.1を満たす。
したがって、(Np,1,Np,2,Np,3)=(“o”,“o”,“o”)∪(“o”,“o”,“e”)∪(“o”,“e”,“e”)∪(“e”,“e”,“e”)のとき、C#5.1を満たす(i,j)のセットが必ず存在する。よって、性質4より、定理3は証明された。
したがって、設計指針を満たすためには、時変周期mは奇数でなければならない。また、設計指針を満たすためには、性質2および性質3から、下記条件が有効である。
・時変周期mが素数であること。
・時変周期mが奇数であり、かつ、mの約数の数が少ないこと。
(1)時変周期mをα×βとする。
ただし、α、βは、1を除く奇数であり、かつ、素数。
ただし、αは、1を除く奇数であり、かつ、素数であり、nは2以上の整数。
(3)時変周期mをα×β×γとする。
ただし、α、β、γは、1を除く奇数であり、かつ、素数。
ただし、z mod mの演算(zは0以上の整数)を行ったときにとる値はm個あり、したがって、mが大きくなるとz mod mの演算を行ったときにとる値の数は増加する。よって、mを増大させると、上述の設計指針を満たすことが容易となる。ただし、時変周期mが偶数とすると高い誤り訂正能力をもつ符号が得られない、というわけではない。
例えば、時変周期mが偶数のとき、以下のような条件を満たしてもよい。
(4)時変周期mを2g×α×βとする。
ただし、α、βは1を除く奇数、かつ、α、βは素数であり、かつ、gは1以上の整数とする。
(5)時変周期mを2g×αnとする。
ただし、αは1を除く奇数であり、かつ、αは素数であり、かつ、nは2以上の整数であり、かつ、gは1以上の整数とする。
(6)時変周期mを2g×α×β×γとする。
ただし、α、β、γは1を除く奇数であり、かつ、α、β、γは素数であり、かつ、gは1以上の整数とする。
ただし、時変周期mが上記の(1)から(3)を満たさない奇数の場合でも、高い誤り訂正能力を得ることができる可能性があり、また、時変周期mが上記の(4)から(6)を満たさない偶数の場合でも、高い誤り訂正能力を得ることができる可能性がある。
符号探索例:
表9に、これまでに検討してきた時変周期2,3のパリティ検査多項式に基づくLDPC-CCの例(表9の#1,#2)を示す。また、前述の設計指針を満たす時変周期11の正則TV11-LDPC-CCの例(表9の#3)を表9に示す。ただし、符号を探索する際に設定した符号化率R=2/3とし、最大拘束長Kmaxは600とする。
図40は、AWGN(Additive White Gaussian Noise)環境における符号化率R=2/3のTV2-LDPC-CC(表9の#1)、正則TV3-LDPC-CC(表9の#2)、正則TV11-LDPC-CC(表9の#3)のEb/No(energyperbit-to-noise spectral density ratio)に対するBERの関係(BER特性)を示す図である。ただし、シミュレーションにおいて、変調方式はBPSK(BinaryPhase Shift Keying)とし、復号方法として、NormalizedBP (1/v=0.75)に基づくBP復号を用いており、反復回数I=50とする。ここで、vは正規化係数である。
以上より、前述で議論した設計指針に基づく時変周期の大きいTV-m-LDPC-CCは、TV2-LDPC-CC、TV3-LDPC-CCより優れた誤り訂正能力を得ることが確認でき、前述で議論した設計指針の有効性を確認することができる。
本実施の形態では、実施の形態1で述べた符号化率(n−1)/nの時変周期h(hは4以上の整数)のLDPC−CCを消失訂正方式に適用する場合において、パケットレイヤーでの消失訂正符号化処理部における並び替え方法について説明する。なお、本実施の形態に係る消失訂正符号化処理部の構成は、図22又は図23等に示す消失訂正符号化処理部と共通するため、図22又は図23を援用して説明する。
そして、符番5503が付された「11111」は、式(83)の0番目の0を満たすパリティ検査多項式のX1(D)、X2(D)、X3(D)、X4(D)、P(D)の項に相当するものである。そして、時点kにおけるX1,k、X2,k、・・・、Xn−1,k、Pkと照らし合わせた場合、符番5510の「1」はX1,k、符番5511の「1」はX2,k、符番5512の「1」はX3,k、符番5513の「1」はX4,k、符番5514の「1」はPkに対応するものとなる(式(60)参照)。
図42は、情報パケットとパリティパケットとが別々に構成される場合の並び替えパターンの一例を示す図である。
パターン$1は消失訂正能力が低いパターン例を示し、パターン$2は消失訂正能力が高いパターン例を示している。図42において、#Zは、Z番目のパケットのデータであることを示している。
図43は、情報パケットとパリティパケットとの区別なく構成される場合の並び替えパターンの一例を示す図である。
パターン$1では、時点kのX1,k、X2,k、X3,k、X4,k、Pkにおいて、X1,kおよびPkが同一のパケットのデータとなっている。同様に、時点k+1においても、X3,k+1およびX4,k+1同一のパケットのデータとなっており、時点k+2においても、X2,k+2およびPk+2同一のパケットのデータとなっている。
本実施の形態では、物理層より上位の層における符号化方法(パケットレベルでの符号化方法)の詳細について説明する。
図44は、物理層より上位の層における符号化方法の一例を示している。図44において、誤り訂正符号の符号化率は2/3とし、1パケットにおける制御情報、誤り検出符号等の冗長な情報を除いたデータサイズを512ビットとする。
図45は、図44とは異なる物理層より上位の層における符号化方法の一例を示している。図45において、情報パケット#1から#512は元となる情報パケットであり、1パケットにおける制御情報、誤り検出符号等の冗長な情報を除いたデータサイズを512ビットとする。そして、符号化器は、情報パケット#k(k=1、2、・・・、511、512)を8分割し、サブ情報パケット#k−1、#k−2、・・・、#k−8を生成する。
よって、実施の形態5で説明した情報パケットは、図45の情報パケット#1から#512に相当し、パリティパケットは、図37の(サブ)パリティパケット#n−1、#n−2、・・・、#n−m(n=1、2、3、4、5、6、7、8)となる。このとき情報パケットの1パケットは512ビットとなり、パリティパケットの1パケットは必ずしも512ビットである必要はない。すなわち、情報パケットの1パケットとパリティパケットの1パケットとが必ずしも同一サイズである必要はない。
別の方法として、実施の形態5で説明した情報パケットを、本実施の形態で説明したサブ情報パケット#k−1、#k−2、・・・、#k−8(k=1、2、・・・、511、512)として考えても、実施の形態5は実施することができる。特に、実施の形態5では、ターミネーション系列の挿入方法、パケットの構成方法について述べた。ここで、本実施の形態の「サブ情報パケット」、「サブパリティパケット」を、それぞれ、実施の形態5で説明している「サブ情報パケット」、「パリティパケット」と考えても、実施の形態5は実施することができる。ただし、サブ情報パケットを構成するビット数とサブパリティパケットを構成するビット数とが等しいと実施しやすい。
実施の形態1では、特性が良好なLDPC−CCについて説明した。本実施の形態では、実施の形態1で説明したLDPC−CCを物理層に適用する場合に、符号化率を可変とするショートニング方法について説明する。ショートニングとは、第1の符号化率の符号から第2の符号化率(第1の符号化率>第2の符号化率)の符号を生成することをいう。
符号化率1/2、時変周期hのg番目(g=0、1、・・・、h−1)のパリティ検査多項式が式(84)のようにあらわされる場合について考える。
そして、式(84)は、以下の<条件#17>を満たしているものとする。
「a#0,1,1%h=a#1,1,1%h=a#2,1,1%h=a#3,1,1%h=・・・=a#g,1,1%h=・・・=a#h−2,1,1%h=a#h−1,1,
1%h=vp=1 (vp=1:固定値)」
「b#0,1%h=b#1,1%h=b#2,1%h=b#3,1%h=・・・=b#g,1%h=・・・=b#h−2,1%h=b#h−1,1%h=w (w:固定値)」
「a#0,1,2%h=a#1,1,2%h=a#2,1,2%h=a#3,1,2%h=・・・=a#g,1,2%h=・・・=a#h−2,1,2%h=a#h−1,1,2%h=yp=1 (yp=1:固定値)」
「b#0,2%h=b#1,2%h=b#2,2%h=b#3,2%h=・・・=b#g,2%h=・・・=b#h−2,2%h=b#h−1,2%h=z (z:固定値)」
そして、実施の形態4のようにパリティ検査行列を作成した場合、時間iにおける情報をXiとし、パリティをPiとすると、符号語wは、w=(X0、P0、X1、P1、・・・、Xi、Pi、・・・)Tとあらわされる。
[方法#1−1]
方法#1−1では、情報Xに規則的に既知情報(例えば、ゼロ)を挿入する(方法#1−1の挿入ルール)。例えば、情報2hk(=2×h×k)ビットのうちhk(=h×k)ビットには既知情報を挿入し(挿入ステップ)、既知情報を含む2hkビットの情報に対しては、符号化率1/2のLDPC−CCを用いて符号化を行う。これにより、2hkビットのパリティが生成される(符号化ステップ)。このとき、情報2hkビットのうちhkビットの既知情報は、送信しないビットとする(送信ステップ)。これにより、符号化率1/3を実現することができる。
以下は、方法#1−1の挿入ルールとの差異を主に記載する。
[方法#1−2]
方法#1−2では、方法#1−1と異なり、図47に示すように、情報及びパリティから構成される2×h×2kビットを1周期とし、各周期において、既知情報を同じ位置に挿入する(方法#1−2の挿入ルール)。
図48には、時変周期が4のとき、情報及びパリティから構成される16ビットを1周期とした場合の例を示している。このとき、方法#1−2では、最初の1周期において、X0、X2、X4、X5に既知情報(例えば、ゼロ(1でもよいし、予め定めた値でもよい))を挿入する。
これにより、2hkビットのパリティが生成される。このとき、hkビットの既知情報を送信しないビットとすると、符号化率1/3を実現することができる。
説明する。
図49は、検査行列Hの一部と符号語w(X0、P0、X1、P1、X2、P2、・・・、X9、P9)との対応関係を示している。図49の行4001では、X2及びX4に対応する列に要素“1”が配置されている。また、図49の行4002では、X2及びX9に対応する列に要素“1”が配置されている。したがって、X2、X4、X9に既知情報を挿入すると、行4001及び行4002では、要素が“1”となる列に対応する全ての情報が既知となる。そのため、行4001及び行4002では、未知の値はパリティのみとなるので、BP復号の行演算において、信頼性が高い対数尤度比の更新を行うことができるようになる。
時変LDPC−CCの場合には、パリティ検査行列Hにおいて、要素“1”が配置されるパターンに規則性がある。そのため、パリティ検査行列Hに基づいて、各周期において、既知情報を規則的に挿入することにより、未知の値がパリティのみである行、又は、パリティ及び情報が未知の場合に、未知の情報のビット数が少ない行を多くすることができる。この結果、良好な特性を与える符号化率1/3のLDPC−CCを得ることができる。
[方法#1−3]
方法#1−3では、情報及びパリティから構成される2×h×2kビットの周期(パリティが含まれているので)において、情報X2hi、X2hi+1、X2hi+2、・・・、X2hi+2h−1、・・・、X2h(i+k−1)、X2h(i+k−1)+1、X2h(i+k−1)+2、・・・、X2h(i+k−1)+2h−1の2×h×kビットのうち、h×k個のXjに、既知情報(例えば、ゼロ)を挿入する。
このとき、h×k個のXjに既知情報を挿入する場合に、異なるh×k個のjをhで除算した余りのうち、
「余りが(0+γ) mod hとなる個数(ただし、個数は0でない。)」と「余りが(vp=1+γ) mod h(ただし、個数は0でない。)」となる個数との差は1以下、
「余りが(0+γ) mod hとなる個数(ただし、個数は0でない。)」と「余りが(yp=1+γ) mod h(ただし、個数は0でない。)」となる個数との差は1以下、
「余りが(vp=1+γ) mod h(ただし、個数は0でない。)」となる個数と「余りが(yp=1+γ) mod h(ただし、個数は0でない。)」となる個数との差は1以下とする。(vp=1、yp=1については<条件#7−1><条件#7−2>参照。)このようなγが少なくとも一つ存在する。
上記で説明した時変周期hのLDPC−CCは、<条件#17>を満たしている。このとき、g番目(g=0、1、・・・、h−1)のパリティ検査多項式は式(84)のようにあらわされるので、パリティ検査行列内の式(84)のパリティ検査多項式に対応するサブ行列(ベクトル)は、図50のようにあらわされる。
このとき、符番4103の「1」の時点をjとしXjとあらわすと、符番4101の「1」はXj−a#g,1,1とあらわされ、符番4102の「1」はXj−a#g,1,2とあらわされる。
このことを考慮すると、以下のことが言える。すなわち、「既知情報を挿入する位置に条件を設けることにより、パリティ検査行列Hの各行において、つまり、パリティ検査多項式において、情報が全て既知情報となる行、または、既知情報の数が多い行(例えば、1ビット以外は既知情報)をできるだけ多くする」ためには、[方法#1−3]は重要な要件の一つとなる。
[方法#1−3’]
方法#1−3’では、情報及びパリティから構成される2×h×2kビットの周期(パリティが含まれているので)において、情報X2hi、X2hi+1、X2hi+2、・・・、X2hi+2h−1、・・・、X2h(i+k−1)、X2h(i+k−1)+1、X2h(i+k−1)+2、・・・、X2h(i+k−1)+2h−1の2×h×kビットのうち、h×k個のXjに、既知情報(例えば、ゼロ)を挿入する。ただし、jは、2hi〜2h(i+k−1)+2h−1のいずれかの値をとり、h×k個の異なる値が存在する。また、既知情報は、1でもよいし、予め定めた値でもよい。
「余りが(0+γ) mod hとなる個数(ただし、個数は0でない。)」と「余りが(vp=1+γ) mod h(ただし、個数は0でない。)」となる個数との差は1以下、
「余りが(0+γ) mod hとなる個数(ただし、個数は0でない。)」と「余りが(yp=1+γ) mod h(ただし、個数は0でない。)」となる個数との差は1以下、
「余りが(vp=1+γ) mod h(ただし、個数は0でない。)」となる個数と「余りが(yp=1+γ) mod h(ただし、個数は0でない。)」となる個数との差は1以下とする。
(vp=1、yp=1については<条件#7−1>,<条件#7−2>参照。)このようなγが少なくとも一つ存在する。
また、[方法#1−3]をより効果的に実施するためには、上述の時変周期hの<条件#17>のパリティ検査多項式に基づくLDPC−CCにおいて、以下の3つのいずれかの条件を満たすとよい(方法#1−3’の挿入ルール)。ただし、<条件#17>において、vp=1<yp=1とする。
・vp=1−0=h−yp=1 つまり vp=1=h−yp=1
・h−yp=1=yp=1−vp=1 つまり h=2×yp=1−vp=1
この条件を付加すると、既知情報を挿入する位置に条件を設けることにより、パリティ検査行列Hの各行において、つまり、パリティ検査多項式において、情報が全て既知情報となる行、または、既知情報の数が多い行(例えば、1ビット以外は既知情報)をできるだけ多くすることができるようになる。これは、LDPC−CCは特有のパリティ検査行列の構成をもつからである。
符号化率(n−1)/n、時変周期hのg番目(g=0、1、・・・、h−1)のパリティ検査多項式が式(85)のようにあらわされる場合について考える。
そして、式(85)において、以下の<条件#18−1><条件#18−2>を満たしているものとする。
「a#0,1,1%h=a#1,1,1%h=a#2,1,1%h=a#3,1,1%
h=・・・=a#g,1,1%h=・・・=a#h−2,1,1%h=a#h−1,1,1%h=vp=1 (vp=1:固定値)」
「a#0,2,1%h=a#1,2,1%h=a#2,2,1%h=a#3,2,1%h=・・・=a#g,2,1%h=・・・=a#h−2,2,1%h=a#h−1,2,1%h=vp=2 (vp=2:固定値)」
「a#0,3,1%h=a#1,3,1%h=a#2,3,1%h=a#3,3,1%h=・・・=a#g,3,1%h=・・・=a#h−2,3,1%h=a#h−1,3,1%h=vp=3 (vp=3:固定値)」
「a#0,4,1%h=a#1,4,1%h=a#2,4,1%h=a#3,4,1%h=・・・=a#g,4,1%h=・・・=a#h−2,4,1%h=a#h−1,4,1%h=vp=4 (vp=4:固定値)」
・
・
・
「a#0,k,1%h=a#1,k,1%h=a#2,k,1%h=a#3,k,1%h=・・・=a#g,k,1%h=・・・=a#h−2,k,1%h=a#h−1,k,1%h=vp=k (vp=k:固定値)
(したがって、k=1、2、・・・、n−1となる。)」
・
・
・
「a#0,n−2,1%h=a#1,n−2,1%h=a#2,n−2,1%h=a#3,n−2,1%h=・・・=a#g,n−2,1%h=・・・=a#h−2,n−2,1%h=a#h−1,n−2,1%h=vp=n−2 (vp=n−2:固定値)」
「a#0,n−1,1%h=a#1,n−1,1%h=a#2,n−1,1%h=a#3,n−1,1%h=・・・=a#g,n−1,1%h=・・・=a#h−2,n−1,1%h=a#h−1,n−1,1%h=vp=n−1 (vp=n−1:固定値)」
及び、
「b#0,1%h=b#1,1%h=b#2,1%h=b#3,1%h=・・・=b#g,1%h=・・・=b#h−2,1%h=b#h−1,1%h=w (w:固定値)」
<条件#18−2>
「a#0,1,2%h=a#1,1,2%h=a#2,1,2%h=a#3,1,2%h=・・・=a#g,1,2%h=・・・=a#h−2,1,2%h=a#h−1,1,2%h=yp=1 (yp=1:固定値)」
「a#0,2,2%h=a#1,2,2%h=a#2,2,2%h=a#3,2,2%h=・・・=a#g,2,2%h=・・・=a#h−2,2,2%h=a#h−1,2,2%h=yp=2 (yp=2:固定値)」
「a#0,3,2%h=a#1,3,2%h=a#2,3,2%h=a#3,3,2%h=・・・=a#g,3,2%h=・・・=a#h−2,3,2%h=a#h−1,3,2%h=yp=3 (yp=3:固定値)」
「a#0,4,2%h=a#1,4,2%h=a#2,4,2%h=a#3,4,2%h=・・・=a#g,4,2%h=・・・=a#h−2,4,2%h=a#h−1,4,2%h=yp=4 (yp=4:固定値)」
・
・
・
「a#0,k,2%h=a#1,k,2%h=a#2,k,2%h=a#3,k,2%h=・・・=a#g,k,2%h=・・・=a#h−2,k,2%h=a#h−1,k,2%h=yp=k (yp=k:固定値)
(したがって、k=1、2、・・・、n−1となる。)」
・
・
・
「a#0,n−2,2%h=a#1,n−2,2%h=a#2,n−2,2%h=a#3,n−2,2%h=・・・=a#g,n−2,2%h=・・・=a#h−2,n−2,2%h=a#h−1,n−2,2%h=yp=n−2 (yp=n−2:固定値)」
「a#0,n−1,2%h=a#1,n−1,2%h=a#2,n−1,2%h=a#3,n−1,2%h=・・・=a#g,n−1,2%h=・・・=a#h−2,n−1,2%h=a#h−1,n−1,2%h=yp=n−1 (yp=n−1:固定値)」
及び、
「b#0,2%h=b#1,2%h=b#2,2%h=b#3,2%h=・・・=b#g,2%h=・・・=b#h−2,2%h=b#h−1,2%h=z (z:固定値)」
上記で述べた符号化率(n−1)/nの時変周期hのLDPC−CCを用いて誤り訂正能力の高い符号化率(n−1)/nより小さい符号化率を実現するショートニング方法は、以下の通りである。
方法#2−1では、情報Xに規則的に既知情報(例えば、ゼロ(1でもよいし、予め定めた値でもよい))を挿入する(方法#2−1の挿入ルール)。
[方法#2−2]
方法#2−2では、方法#2−1と異なり、図51に示すように、情報及びパリティから構成されるh×n×kビットを1周期とし、各周期において、既知情報を同じ位置に挿入する(方法#2−2の挿入ルール)。各周期において、既知情報を同じ位置に挿入するとは、図48を用いて上述の[方法#1−2]で説明した通りである。
方法#2−3では、情報及びパリティから構成されるh×n×kビットの周期において、情報X1,hi、X2,hi、・・・、Xn−1,hi、・・・・・・、X1,h(i+k−1)+h−1、X2,h(i+k−1)+h−1、・・・、Xn−1,h(i+k−1)+h−1のh×(n−1)×kビットから、Zビット選択し、選択したZビットに既知情報(例えば、ゼロ(1でもよいし、予め定めた値でもよい))を挿入する(方法#2−3の挿入ルール)。
すると、
「余りが(0+γ) mod hとなる個数(ただし、個数は0でない。)」と「余りが(vp=1+γ) mod h(ただし、個数は0でない。)」となる個数との差は1以下、
「余りが(0+γ) mod hとなる個数(ただし、個数は0でない。)」と「余りが(yp=1+γ) mod h(ただし、個数は0でない。)」となる個数との差は1以下、
「余りが(vp=1+γ) mod h(ただし、個数は0でない。)」となる個数と「余りが(yp=1+γ) mod h(ただし、個数は0でない。)」となる個数との差は1以下とする。このようなγが少なくとも一つ存在する。
すると、
「余りが(0+γ) mod hとなる個数(ただし、個数は0でない。)」と「余りが(vp=2+γ) mod h(ただし、個数は0でない。)」となる個数との差は1以下、
「余りが(0+γ) mod hとなる個数(ただし、個数は0でない。)」と「余りが(yp=2+γ) mod h(ただし、個数は0でない。)」となる個数との差は1以下、
「余りが(vp=2+γ) mod h(ただし、個数は0でない。)」となる個数と「余りが(yp=2+γ) mod h(ただし、個数は0でない。)」となる個数との差は1以下とする。このようなγが少なくとも一つ存在する。
「余りが(0+γ) mod hとなる個数(ただし、個数は0でない。)」と「余りが(vp=f+γ) mod h(ただし、個数は0でない。)」となる個数との差は1以下、
「余りが(0+γ) mod hとなる個数(ただし、個数は0でない。)」と「余りが(yp=f+γ) mod h(ただし、個数は0でない。)」となる個数との差は1以下、
「余りが(vp=f+γ) mod h(ただし、個数は0でない。)」となる個数と「余りが(yp=f+γ) mod h(ただし、個数は0でない。)」となる個数との差は1以下とする。このようなγが少なくとも一つ存在する。
このように、挿入される既知情報の数が各周期で異なる場合には、周期という概念は意味をなさない。方法#2−3の挿入ルールを、周期という概念を用いずにあらわすと、[方法#2−4]のようになる。
情報及びパリティから構成されるデータ系列において、情報X1,0、X2,0、・・・、Xn−1,0、・・・・・・、X1,v、X2,v、・・・、Xn−1,vのビット系列からZビット選択し、選択したZビットに既知情報(例えば、ゼロ(1でもよいし、予め定めた値でもよい))を挿入する(方法#2−4の挿入ルール)。
」と「余りが(yp=1+γ) mod h(ただし、個数は0でない。)」となる個数との差は1以下、「余りが(vp=1+γ) mod h(ただし、個数は0でない。)」となる個数と「余りが(yp=1+γ) mod h(ただし、個数は0でない。)」となる個数との差は1以下とする。このようなγが少なくとも一つ存在する。
・vp=s−0=h−yp=s つまり vp=s=h−yp=s
・h−yp=s=yp=s−vp=s つまり h=2×yp=s−vp=s
この条件を付加すると、既知情報を挿入する位置に条件を設けることにより、パリティ検査行列Hの各行において、つまり、パリティ検査多項式において、情報が全て既知情報となる行、または、既知情報の数が多い行(例えば、1ビット以外は既知情報)をできるだけ多くすることができるようになる。これは、LDPC−CCは特有のパリティ検査行列の構成をもつからである。
図53は、物理層において符号化率を可変とする場合の符号化に関連する部分(誤り訂正符号化部44100及び送信装置44200)の構成の一例を示すブロック図である。
既知情報削減部4407は、情報4404及び制御信号4402を入力とし、制御信号4402に含まれる符号化率の情報に基づき、既知情報挿入部4403において、既知情報が挿入された場合には、情報4404から既知情報を削除し、削除後の情報4408を出力する。一方、既知情報挿入部4403において、既知情報が挿入されていない場合には、情報4404をそのまま情報4408として出力する。
図54は、図53と異なる、物理層において符号化率を可変とする場合の符号化に関連する部分(誤り訂正符号化部44100及び送信装置44200)の構成の別の一例を示すブロック図である。図54に示すように、既知情報挿入部4403に入力される情報4401が、変調部4409に入力される構成とすることにより、図53の既知情報削減部4407を省いても、図53と同様に符号化率を可変とすることができる。
既知情報削減部4607は、制御信号4602及び復号後のデータ4606を入力とし、制御信号4602に含まれる符号化率等の符号化方法の情報に基づき、既知情報が挿入されている場合は、既知情報を削除し、既知情報削除後の情報4608を出力する。
本実施の形態では、実施の形態1で述べた符号化率(n−1)/nの時変周期h(hは4以上の整数)のLDPC−CCを用いて誤り訂正能力の高い符号化率(n−1)/nより小さい符号化率を実現する消失訂正方法について説明する。ただし、符号化率(n−1)/nの時変周期h(hは4以上の整数)のLDPC−CCの説明は、実施の形態9と同様であるものとする。
方法#3−1では、図56に示すように、情報とパリティで構成するh×n×kビット(kは自然数)を周期とし、各周期において、既知情報パケットに含まれる既知情報を同じ位置に挿入する(方法#3−1の挿入ルール)。各周期において、既知情報パケットに含まれる既知情報を同じ位置に挿入するとは、実施の形態9の方法#2−2などで説明したとおりである。
方法#3−2では、情報及びパリティから構成されるh×n×kビットの周期において、情報X1,hi、X2,hi、・・・、Xn−1,hi、・・・・・・、X1,h(i+k−1)+h−1、X2,h(i+k−1)+h−1、・・・、Xn−1,h(i+k−1)+h−1のh×(n−1)×kビットからZビット選択し、選択したZビットに既知情報パケットのデータ(例えば、ゼロ(1でもよいし、予め定めた値でもよい))を挿入する(方法#3−2の挿入ルール)。
上位層において消失訂正符号の符号化率を可変とする消失訂正符号化関連処理部及び消失訂正復号関連処理部の構成については、図21の消失訂正符号化関連処理部2112の前段において、既知情報パケットを挿入することにより、消失訂正符号の符号化率を変更することができる。
[方法#3−3]
方法#3−3では、情報及びパリティから構成されるデータ系列において、情報X1,0、X2,0、・・・、Xn−1,0、・・・・・・、X1,v、X2,v、・・・、Xn−1,vのビット系列からZビット選択し、選択したZビットに既知情報(例えば、ゼロ(1でもよいし、予め定めた値でもよい))を挿入する(方法#3−3の挿入ルール)。
」となる個数と「余りが(yp=1+γ) mod h(ただし、個数は0でない。)」となる個数との差は1以下とする。このようなγが少なくとも一つ存在する。
本発明に関連するLDPC−CCを使用する際、情報ビットの復号における信頼度を確保するために、ターミネーションもしくはテイルバイティング(tail-biting)が必要となる。そこで、本実施の形態では、ターミネーションを行う場合(「Information-zero-termination」又は簡単に「ゼロターミネーション(Zero-termination)」と呼ぶ)の方法について以下では詳しく説明する。
(実施の形態12)
本実施の形態では、実施の形態1および実施の形態6で述べたパリティ検査多項式に基づくLDPC−CCの具体的な生成方法の一例について説明する。
・時変周期が素数であること。
・時変周期が奇数であり、かつ、時変周期の値に対する約数の数が少ないこと。
ここで、時変周期を大きくし、符号を生成することを考える。このとき、制約条件を与えた乱数を用いて、符号生成を行うことになるが、時変周期を大きくすると、乱数を用いて設定するパラメータの数が多くなってしまい、高い誤り訂正能力を持つ符号の探索が困難となる、という課題がある。この課題に対し、本実施の形態では、実施の形態1、実施の形態6で述べたパリティ検査多項式に基づくLDPC−CCを利用した異なる符号生成方法について述べる。
符号化率(n−1)/n(nは2以上の整数)、時変周期15のLDPC−CCの(0を満たす)パリティ検査多項式として、式(86−0)〜(86−14)を考える。
式(86−q)において、a#q,p,1、a#q,p,2、a#q,p,3は自然数とし、a#q,p,1≠a#q,p,2、a#q,p,1≠a#q,p,3、a#q,p,2≠a#q,p,3が成立するものとする。また、b#q,1、b#q,2、b#q,3は自然数とし、b#q,1≠b#q,2、b#q,1≠b#q,3、b#q,1≠b#q,3が成立するものとする(q=0、1、2、・・・、13、14;p=1、2、・・・、n−1)。
実施の形態1、実施の形態6では、時変周期を15としたとき、X1(D)の係数の時変周期及びP(D)の係数の時変周期はともに15であった。これに対し、本実施の形態では、一例として、X1(D)の係数の時変周期3、P(D)の係数の時変周期5することで、LDPC−CCの時変周期を15とする符号構成方法を提案する。つまり、本実施の形態では、X1(D)の係数の時変周期をαとし、P(D)の係数の時変周期をβ(α≠β)とすることにより、LDPC−CCの時変周期をLCM(α,β)とする符号を構成する。ただし、LCM(X,Y)はXとYの最小公倍数(the least common multiple)とする。
<条件#19−1>
「a#0,1,1%15=a#1,1,1%15=a#2,1,1%15=・・・=a#k,1,1%15=・・・=a#14,1,1%15=vp=1 (vp=1:固定値)(したがって、k=0、1、2、・・・、14となる。)」
「a#0,1,2%15=a#1,1,2%15=a#2,1,2%15=・・・=a#k,1,2%15=・・・=a#14,1,2%15=yp=1 (yp=1:固定値)(したがって、k=0、1、2、・・・、14となる。)」
「a#0,1,3%15=a#1,1,3%15=a#2,1,3%15=・・・=a#k,1,3%15=・・・=a#14,1,3%15=zp=1 (zp=1:固定値)(したがって、k=0、1、2、・・・、14となる。)」
また、X1(D)の係数の時変周期が3となるので、以下の条件が成立する。
i%3=j%3(i,j=0、1、・・・、13、14;i≠j)が成立するとき、以下の3つの式が成立する。
<条件#20−1>
「b#0,1%15=b#1,1%15=b#2,1%15=・・・=b#k,1%15=・・・=b#14,1%15=d (d:固定値)(したがって、k=0、1、2、・・・、14となる。)」
「b#0,2%15=b#1,2%15=b#2,2%15=・・・=b#k,2%15=・・・=b#14,2%15=e (e:固定値)(したがって、k=0、1、2、・・・、14となる。)」
「b#0,3%15=b#1,3%15=b#2,3%15=・・・=b#k,3%15=・・・=b#14,3%15=f (f:固定値)(したがって、k=0、1、2、・・・、14となる。)」
また、P(D)の係数の時変周期が5となるので、以下の条件が成立する。
i%5=j%5(i,j=0、1、・・・、13、14;i≠j)が成立するとき、以下の3つの式が成立する。
「a#0,1,1%3=a#1,1,1%3=a#2,1,1%3=・・・=a#k,1,1%3=・・・=a#14,1,1%3=vp=1 (vp=1:固定値)(したがって、k=0、1、2、・・・、14となる。)」
「a#0,1,2%3=a#1,1,2%3=a#2,1,2%3=・・・=a#k,1,2%3=・・・=a#14,1,2%3=yp=1 (yp=1:固定値)(したがって、k=0、1、2、・・・、14となる。)」
「a#0,1,3%3=a#1,1,3%3=a#2,1,3%3=・・・=a#k,1,3%3=・・・=a#14,1,3%3=zp=1 (zp=1:固定値)(したがって、k=0、1、2、・・・、14となる。)」
<条件#20−1’>
「b#0,1%5=b#1,1%5=b#2,1%5=・・・=b#k,1%5=・・・=b#14,1%5=d (d:固定値)(したがって、k=0、1、2、・・・、14となる。)」
「b#0,2%5=b#1,2%5=b#2,2%5=・・・=b#k,2%5=・・・=b#14,2%5=e (e:固定値)(したがって、k=0、1、2、・・・、14となる。)」
「b#0,3%5=b#1,3%5=b#2,3%5=・・・=b#k,3%5=・・・=b#14,3%5=f (f:固定値)(したがって、k=0、1、2、・・・、14となる。)」
上記の例を参考にして、X1(D)の係数の時変周期をαとし、P(D)の係数の時変周期をβとすることで、LDPC−CCの時変周期をLCM(α,β)とする符号構成方法について述べる。ただし、時変周期LCM(α,β)=sとする。
X1(D)の係数に対し、以下のような条件を与える。
<条件#21−1>
「a#0,1,1%s=a#1,1,1%s=a#2,1,1%s=・・・=a#k,1,1%s=・・・=a#s−1,1,1%s=vp=1 (vp=1:固定値)(したがって、k=0、1、2、・・・、s−1となる。)」
「a#0,1,2%s=a#1,1,2%s=a#2,1,2%s=・・・=a#k,1,2%s=・・・=a#s−1,1,2%s=yp=1 (yp=1:固定値)(したがって、k=0、1、2、・・・、s−1となる。)」
「a#0,1,3%s=a#1,1,3%s=a#2,1,3%s=・・・=a#k,1,3%s=・・・=a#s−1,1,3%s=zp=1 (zp=1:固定値)(したがって、k=0、1、2、・・・、s−1となる。)」
また、X1(D)の係数の時変周期はαとなるので、以下の条件が成立する。
i%α=j%α(i,j=0、1、・・・、s−2、s−1;i≠j)が成立するとき、以下の3つの式が成立する。
<条件#22−1>
「b#0,1%s=b#1,1%s=b#2,1%s=・・・=b#k,1%s=・・・=b#s−1,1%s=d (d:固定値)(したがって、k=0、1、2、・・・、s−1となる。)」
「b#0,2%s=b#1,2%s=b#2,2%s=・・・=b#k,2%s=・・・=b#s−1,2%s=e (e:固定値)(したがって、k=0、1、2、・・・、s−1となる。)」
「b#0,3%s=b#1,3%s=b#2,3%s=・・・=b#k,3%s=・・・=b#s−1,3%s=f (f:固定値)(したがって、k=0、1、2、・・・、s−1となる。)」
また、P(D)の係数の時変周期はβとなるので、以下の条件が成立する。
i%β=j%β(i,j=0、1、・・・、s−2、s−1;i≠j)が成立するとき
、以下の3つの式が成立する。
「a#0,1,1%α=a#1,1,1%α=a#2,1,1%α=・・・=a#k,1,1%α=・・・=a#s−1,1,1%α=vp=1 (vp=1:固定値)(したがって、k=0、1、2、・・・、s−1となる。)」
「a#0,1,2%α=a#1,1,2%α=a#2,1,2%α=・・・=a#k,1,2%α=・・・=a#s−1,1,2%α=yp=1 (yp=1:固定値)(したがって、k=0、1、2、・・・、s−1となる。)」
「a#0,1,3%α=a#1,1,3%α=a#2,1,3%α=・・・=a#k,1,3%α=・・・=a#s−1,1,3%α=zp=1 (zp=1:固定値)(したがって、k=0、1、2、・・・、s−1となる。)」
<条件#22−1’>
「b#0,1%β=b#1,1%β=b#2,1%β=・・・=b#k,1%β=・・・=b#s−1,1%β=d (d:固定値)(したがって、k=0、1、2、・・・、s−1となる。)」
「b#0,2%β=b#1,2%β=b#2,2%β=・・・=b#k,2%β=・・・=b#s−1,2%β=e (e:固定値)(したがって、k=0、1、2、・・・、s−1となる。)」
「b#0,3%β=b#1,3%β=b#2,3%β=・・・=b#k,3%β=・・・=b#s−1,3%β=f (f:固定値)(したがって、k=0、1、2、・・・、s−1となる。)」
ただし、時変周期sの符号化率1/2のパリティ検査多項式に基づくLDPC−CCのi番目(i=0、1、2、・・・、s−2、s−1)のゼロを満たすパリティ検査多項式を式(89−i)であらわしたが、実際に利用する場合は、次式であらわされるゼロを満たすパリティ検査多項式となる。
<条件#23>
i%α=j%α(i,j=0、1、・・・、s−2、s−1;i≠j)が成立するとき、以下の式が成立する。
i%β=j%β(i,j=0、1、・・・、s−2、s−1;i≠j)が成立するとき、以下の式が成立する。
次に、時変周期s、符号化率(n−1)/nのパリティ検査多項式に基づくLDPC−CCにおいて、X1(D)の係数の時変周期α1、X2(D)の係数の時変周期α2、・・・、Xk(D)の係数の時変周期αk(k=1、2、・・・、n−2、n−1)、・・・、Xn−1(D)の係数の時変周期αn−1、P(D)の係数の時変周期βとするLDPC−CCの符号構成方法について述べる。このとき、時変周期s=LCM(α1,α2,・・・αn−2,αn−1,β)となる。つまり、時変周期sは、α1,α2,・・・αn−2,αn−1,βの最小公倍数となる。
<条件#25>
i%αk=j%αk(i,j=0、1、・・・、s−2、s−1;i≠j)が成立するとき、以下の式が成立する。
<条件#26>
i%β=j%β(i,j=0、1、・・・、s−2、s−1;i≠j)が成立するとき、以下の式が成立する。
このとき、時変周期を効率的に大きくするためには、α1,α2,・・・,αn−2,αn−1およびβは「互いに素」であると時変周期を大きくすることができる。このとき、時変周期はα1×α2×・・・×αn−2×αn−1×βであらわすことができる。
(実施の形態13)
本実施の形態では、実施の形態12で述べたLDPC−CCにおいて、低回路規模の符号化器/復号化器を構成することができるLDPC−CCを提案する。
実施の形態12で述べたように、X1(D)の時変周期がα1、P(D)の時変周期がβ、時変周期sがLCM(α1,β)、符号化率1/2のパリティ検査多項式に基づくLDPC−CCのi番目(i=0、1、2、・・・、s−2、s−1)のゼロを満たすパリティ検査多項式を次式のようにあらわす。
<条件#26>
i%α1=j%α1(i,j=0、1、・・・、s−2、s−1;i≠j)が成立するとき、以下の式が成立する。
i%β=j%β(i,j=0、1、・・・、s−2、s−1;i≠j)が成立するとき、以下の式が成立する。
<条件#28>
式(102−i)のゼロを満たすパリティ検査多項式において、X1(D)の時変周期がα1であるとともに、i%α1=j%α1(i=0、1、・・・、s−2、s−1、j=0、1、・・・、z−2、z−1;)が成立するとき、以下の式が成立する。
式(102−i)のゼロを満たすパリティ検査多項式において、P(D)の時変周期がβであるとともに、i%β=j%β(i=0、1、・・・、s−2、s−1、j=0、1、・・・、z−2、z−1)が成立するとき、以下の式が成立する。
<条件#30>
i%α2=j%α2(i,j=0、1、・・・、z−2、z−1;i≠j)が成立するとき、以下の式が成立する。
図60は、符号化器/復号化器の回路を共通化することが可能な符号化率1/2,2/3のLDPC−CCのパリティ検査多項式を模式的にあらわした図である。
上述では、符号化率1/2のLDPC−CCと符号化器/復号化器の回路を共通化することが可能な符号化率2/3のLDPC−CCについて述べた。以下では、一般化し、符号化率(n−1)/nのLDPC−CCと符号化器/復号化器の回路を共通化することが可能な符号化率(m−1)/mのLDPC−CC(n<m)の符号構成方法について述べる。
<条件#31>
i%αk=j%αk(i,j=0、1、・・・、s−2、s−1;i≠j)が成立するとき、以下の式が成立する。
<条件#32>
i%β=j%β(i,j=0、1、・・・、s−2、s−1;i≠j)が成立するとき、以下の式が成立する。
<条件#33>
式(109−i)のゼロを満たすパリティ検査多項式において、Xk(D)の時変周期がαk(k=1、2、・・・、n−1)であるとともに、i%αk=j%αk(i=0、1、・・・、s−2、s−1;j=0、1、・・・、z−2、z−1)が成立するとき、以下の式が成立する。
式(109−i)のゼロを満たすパリティ検査多項式において、P(D)の時変周期がβであるとともに、i%β=j%β(i=0、1、・・・、s−2、s−1;j=0、1、・・・、z−2、z−1)が成立するとき、以下の式が成立する。
<条件#35>
i%αh=j%αh(i,j=0、1、・・・、z−2、z−1;i≠j)が成立するとき、以下の式が成立する。
次に、上述で述べた、低回路規模で符号化器/復号化器を構成することができる複数符号化率対応LDPC−CCの具体的な符号化器/復号化器の構成方法について述べる。
また、符号化率3/4の場合、情報生成部5801は、時点kの情報X1,kに入力情報データSjを設定し、時点kの情報X2,kに入力情報データSj+1を設定し、時点kの情報X3,kに入力情報データSj+2を設定する。
したがって、複数の符号化率に対応する場合は、符号化器の回路が共用可能な符号化率の中で最も高い符号化率の符号化器の構成を基礎にして、上記のような操作で、他の符号化率に対応することができる。つまり、符号化器の主要な部分である第1情報演算部5802−1、第2情報演算部5802−2は、符号化率に関わらず共通化することができるという利点を、上述で説明したLDPC−CCは有することになる。
シフトレジスタ5901−1〜5901−Mは、それぞれ、X1,i−t(t=0,・・・,M−1)を保持するレジスタであり、次の入力が入ってくるタイミングで、保持している値を右隣のシフトレジスタに送出し、左隣のシフトレジスタから出力されてきた値を保持する。
加算部5903は、ウェイト乗算器5902−0〜5902−Mの出力に対して、排他的論理和演算を行い、演算結果Y1,kを算出し、算出したY1,kを、図61の加算部5804に出力する。
図63に、図61のパリティ演算部5803の内部構成を示す。図63のパリティ演算部5803は、シフトレジスタ6001−1〜6001−M、ウェイト乗算器6002−0〜6002−M、及び、加算部6003を備える。
ウェイト乗算器6002−0〜6002−Mは、ウェイト制御部6004から出力される制御信号にしたがって、h2 (t)の値を0又は1に切り替える。
再度図61に戻って、加算部5804は、第1情報演算部5802−1、第2情報演算部5802−2、第3情報演算部5802−3、及び、パリティ演算部5803から出力される演算結果Y1,k、Y2,k、Y3,k、Zkの排他的論理和演算を行い、時刻kのパリティPkを得、出力する。加算部5804は、時刻kのパリティPkをパリティ演算部5803にも出力する。
ウェイト制御部5806は、ウェイト制御部5806内に保持する式(106−i)および式(109−i)のゼロを満たすパリティ検査多項式に基づく時刻kにおけるh1 (m)の値を、第1情報演算部5802−1、第2情報演算部5802−2、第3情報演算部5802−3及びパリティ演算部5803に出力する。また、ウェイト制御部5806は、ウェイト制御部5806内に保持する式(106−i)および式(109−i)に対応したゼロを満たすパリティ検査多項式に基づいて、そのタイミングにおけるh2 (m)の値を6002−0〜6002−Mに出力する。
なお、図61の符号化器5800では、情報生成部5801が、符号化率に応じて、時点iの情報X2,i、情報X3,iを0に設定したのに対し、図64の符号化器5800では、第2情報演算部5802−2及び第3情報演算部5802−3が、符号化率に応じて、演算処理を停止し、演算結果Y2,k、Y3,kとして0を出力するので、得られる演算結果は図61の符号化器5800と同じとなる。
以上の具体的な例のように、式(106−i)および式(109−i)を用いて説明した符号化率(n−1)/nのLDPC−CCと符号化器/復号化器の回路を共通化することが可能な符号化率(m−1)/mのLDPC−CC(n<m)の符号では、符号化率の大きい符号化率(m−1)/mのLDPC−CCの符号化器を用意し、符号化率(n−1)/nの際、Xk(D)(ただし、k=n、n+1、・・・、m−1)に関連する演算の出力をゼロとし、符号化率(n−1)/nのときのパリティを求めることで、符号化器の回路の共通化が可能となる。
図65は、本実施の形態に係る復号化器の要部構成を示すブロック図である。なお、図65に示す復号化器6100は、符号化率1/2、2/3、3/4に対応可能な復号化器である。図65の復号化器6100は、対数尤度比設定部6101及び行列処理演算部6102を主に備える。
例えば、符号化率が1/2の場合、符号化器5800では、X2,k、X3,kとして“0”を送信していることに相当するので、対数尤度比設定部6101は、既知ビット“0”に対応する固定の対数尤度比をX2,k、X3,kの対数尤度比として挿入し、挿入後の対数尤度比を行列処理演算部6102に出力する。以下、図66を用いて説明をする。
図67に示すように、符号化率2/3の場合、対数尤度比設定部6101は、X1,k,X2,kおよびPkに対応する受信対数尤度比LLRX1,k,LLRX2,k,LLRPkを入力とする。そこで、対数尤度比設定部6101は、X3,kに対応する受信対数尤度比LLR3,kを挿入する。図67において、点線の丸で囲まれた受信対数尤度比は、対数尤度比設定部6101によって挿入された受信対数尤度比LLR3,kを示す。対数尤度比設定部6101は、受信対数尤度比LLR3,kとして、固定値の対数尤度比を挿入する。
記憶部6103は、受信対数尤度比、行処理によって得られる外部値αmn、及び、列処理によって得られる事前値βmnを保持する。
行処理演算部6104は、符号化器5800がサポートする符号化率のうち、最大の符号化率3/4のLDPC−CCのパルてぅ検査行列Hの行方向のウェイトパターンを保持する。行処理演算部6104は、当該行方向のウェイトパターンにしたがって、記憶部6103から必要な事前値βmnを読み込み、行処理演算を行う。
第m番目の行処理について説明する。ただし、2元M×N行列H={Hmn}を復号対象とするLDPC符号の検査行列とする。Hmn=1を満たす全ての組(m,n)に対して,次の更新式を利用して外部値αmnを更新する。
列処理演算において、列処理演算部6105は、入力対数尤度比λnと外部値αmnとを用いて繰り返し復号により、事前値βmnを求める。
Hmn=1を満たす全ての組(m,n)に対して、次の更新式を利用してβmnを更新する。ただし、初期の演算では、αmn=0として計算する。
以上のように、本実施の形態では、対応可能な符号化率のうち、最も高い符号化率を(m−1)/mとし、符号化率設定部5805が、符号化率を(n−1)/nに設定した際、情報生成部5801は、情報Xn,kから情報Xm−1,kまでの情報をゼロに設定する。
この構成によれば、異なる符号化率に対応したLDPC−CCを作成する場合においても、本説明における情報演算部の構成を共通化することができるため、低演算規模で、複数の符号化率に対応可能なLDPC−CCの符号化器、復号化器を提供することができる。
また、上述では、復号方式の例としてsum-product復号を例に説明したが、復号方法はこれに限ったものではなく、非特許文献4〜非特許文献6に示されている、例えば、min-sum復号、Normalized BP(Belief Propagation)復号、Shuffled BP復号、Offset BP復号などの、message-passingアルゴリズムを用いた復号方法(BP復号)を用いれば同様に
実施することができる。
図68に、適応的に符号化率を切り替える通信装置6200の構成を示す。図68の通信装置6200の符号化率決定部6203は、通信相手の通信装置から送信される受信信号(例えば、通信相手が送信したフィードバック情報)を入力とし、受信信号に受信処理等を行う。そして、符号化率決定部6203は、通信相手の通信装置との間の通信状況の情報、例えば、ビットエラー率、パケットエラー率、フレームエラー率、受信電界強度等の情報を(例えば、フィードバック情報から)得、通信相手の通信装置との間の通信状況の情報から符号化率及び変調方式を決定する。
符号化率決定部6203は、例えば、図69に示すような送信フォーマットを用いて、制御情報シンボルに符号化率の情報を含めることにより、符号化器6201が用いる符号化率を通信相手の通信装置に通知する。ただし、図69では図示していないが、通信相手が、復調やチャネル推定のために必要な、例えば、既知の信号(プリアンブル、パイロットシンボル、リファレンスシンボルなど)を含んでいるものとする。
このようにして、本発明を適用した通信装置6200及び通信相手の通信装置6300の符号化率が通信状況により適応的に変更され得る。
(実施の形態14)
本実施の形態では、符号化率R=1/3のパリティ検査多項式に基づくLDPC−CCの設計手法について説明する。
そして、パリティ検査行列において、“1”の数を疎にするために、式(116)ではP2(D)の項を削除し、式(117)ではP1(D)の項を削除する。そして、本明細書で説明したように、X,P1,P2のそれぞれのパリティ検査行列における行重みおよび列重みを可能な限り均一にするものとする。これにより、本検討で扱う符号化率R=1/3、TV−m−LDPC−CCのq番目(q=0,1,・・・,m−1)の0を満たす2つのパリティ検査多項式を次式であらわす。
符号化率R=1/3のTV−m−LDPC−CCの式(118),(119)に基づくq番目(q=0,1,・・・,m−1)の0を満たすパリティ検査多項式をそれぞれ以下のようにあらわす。
式(123)の0を満たすパリティ検査多項式を#v−1のパリティ検査多項式のDa#v,iX(D)の項と式(123)の0を満たすパリティ検査多項式を#ω−1のパリティ検査多項式のDa#ω,jX(D)の項(v,ω=0,1,・・・,m−1(v≦ω);i,j=1,2,・・・,r1)において、また、式(123)の0を満たすパリティ検査多項式#v−1のDb#v,1,iP1(D)の項と式(123)の0を満たすパリティ検査多項式#ω−1のDb#ω,1,jP1(D)の項(v,ω=0,1,・・・
,m−1(v≦ω);i,j=1,2,・・・,ε1,1)において以下の関係をもつ。
{a#v,i mod m=a#ω,j mod m}∩{i≠j}が成立するとき、図71のようにパリティ検査多項式#v−1に相当するチェックノードとパリティ検査多項式#ω−1に相当するチェックノードの両者とエッジを形成する変数ノード$1が存在する。
<2> v≠ωのとき:
ω−v=Lとする。
(a#ω,j mod m)−(a#v,i mod m)=Lのとき、図71のようにパリティ検査多項式#v−1に相当するチェックノードとパリティ検査多項式#ω−1に相当するチェックノードの両者とエッジを形成する変数ノード$1が存在する。
1−2) a#v,i mod m>a#ω,j mod mのとき
(a#ω,j mod m)−(a#v,i mod m)=L+mのとき、図71のようにパリティ検査多項式#v−1に相当するチェックノードとパリティ検査多項式#ω−1に相当するチェックノードの両者とエッジを形成する変数ノード$1が存在する。
(b#ω,1,j mod m)−(b#v,1,i mod m)=Lのとき、図71のようにパリティ検査多項式#v−1に相当するチェックノードとパリティ検査多項式#ω−1に相当するチェックノードの両者とエッジを形成する変数ノード$1が存在する。
(b#ω,1,j mod m)−(b#v,1,i mod m)=L+mのとき、図71のようにパリティ検査多項式#v−1に相当するチェックノードとパリティ検査多項式#ω−1に相当するチェックノードの両者とエッジを形成する変数ノード$1が存在する。
式(124)の0を満たすパリティ検査多項式を#v−2のパリティ検査多項式のDα#v,iX(D)の項と式(124)の0を満たすパリティ検査多項式を#ω−2のパリティ検査多項式のDα#ω,jX(D)の項(v,ω=0,1,・・・,m−1(v≦ω);i,j=1,2,・・・,r2)において、また、式(124)の0を満たすパリティ検査多項式#v−2のDβ#v,2,iP2(D)の項と式(124)の0を満たすパリティ検査多項式#ω−2のDβ#ω,2,jP2(D)の項(v,ω=0,1,・・・,m−1(v≦ω);i,j=1,2,・・・,ε2,2)において以下の関係をもつ。
{α#v,i mod m=α#ω,j mod m}∩{i≠j}が成立するとき、図71のようにパリティ検査多項式#v−2に相当するチェックノードとパリティ検査多項式#ω−2に相当するチェックノードの両者とエッジを形成する変数ノード$1が存在する。
<2> v≠ωのとき:
ω−v=Lとする。そして、
1−1) α#v,i mod m<α#ω,j mod mのとき
(α#ω,j mod m)−(α#v,i mod m)=Lのとき、図71のようにパリティ検査多項式#v−2に相当するチェックノードとパリティ検査多項式#ω−2に相当するチェックノードの両者とエッジを形成する変数ノード$1が存在する。
(α#ω,j mod m)−(α#v,i mod m)=L+mのとき、図71のようにパリティ検査多項式#v−2に相当するチェックノードとパリティ検査多項式#ω−2に相当するチェックノードの両者とエッジを形成する変数ノード$1が存在する。
2−1) β#v,2,i mod m<β#ω,2,j mod mのとき
(β#ω,2,j mod m)−(β#v,2,i mod m)=Lのとき、図71のようにパリティ検査多項式#v−2に相当するチェックノードとパリティ検査多項式#ω−2に相当するチェックノードの両者とエッジを形成する変数ノード$1が存在する。
(β#ω,2,j mod m)−(β#v,2,i mod m)=L+mのとき、図71のようにパリティ検査多項式#v−2に相当するチェックノードとパリティ検査多項式#ω−2に相当するチェックノードの両者とエッジを形成する変数ノード$1が存在する。
式(123)の0を満たすパリティ検査多項式を#v−1のパリティ検査多項式のDa#v,iX(D)の項と式(124)の0を満たすパリティ検査多項式を#ω−2のパリティ検査多項式のDα#ω,jX(D)の項(v,ω=0,1,・・・,m−1;i=1,2,・・・,r1;j=1,2,・・・,r2)において以下の関係をもつ。
{α#v,i mod m=α#ω,j mod m}が成立するとき、図71のようにパリティ検査多項式#v−1に相当するチェックノードとパリティ検査多項式#ω−2に相当するチェックノードの両者とエッジを形成する変数ノード$1が存在する。
<2> v≠ωのとき:
ω−v=Lとする。そして、
1) α#v,i mod m<α#ω,j mod mのとき
(α#ω,j mod m)−(a#v,i mod m)=Lのとき、図71のようにパリティ検査多項式#v−1に相当するチェックノードとパリティ検査多項式#ω−2に相当するチェックノードの両者とエッジを形成する変数ノード$1が存在する。
(α#ω,j mod m)−(a#v,i mod m)=L+mのとき、図71のようにパリティ検査多項式#v−1に相当するチェックノードとパリティ検査多項式#ω−2に相当するチェックノードの両者とエッジを形成する変数ノード$1が存在する。
そして、符号化率R=1/3のTV−m−LDPC−CCのサイクル長6(CL6 : cycl
e lengthof 6)に対し、定理1が成立する。
C#1.1: b#q,1,i mod m=b#q,1,j mod m=b#q,1,k mod mを満足するqが存在する。ただし、i≠j,i≠k,j≠kとする。
C#1.2: β#q,2,i mod m=β#q,2,j mod m=β#q,2,k mod mを満足するqが存在する。ただし、i≠j,i≠k,j≠kとする。
なお、本検討で扱う符号化率R=1/3のTV−m−LDPC−CCのq番目(q=0,1,・・・,m−1)の0を満たす2つのパリティ検査多項式は、式(118),(119)で示したとおりであり、式(118)におけるパリティ検査多項式において、X(D)に関する項は2つしか存在しないため、定理1のような条件によりCL6は存在しない。式(119)についても同様である。
C#2: 式(125),(126)において、∀qに対して、(a#q,1 mod m,a#q,2 mod m)=(N1,N2)∩(b#q,1,1 mod m,b#q,1,2 mod m,b#q,1,3 mod m)=(M1,M2,M3)∩(α#q,1 mod m,α#q,2 mod m)=(n1,n2)∩(β#q,2,1 mod m,β#q,2,2 mod m,β#q,2,3 mod m)=(m1,m2,m3)が成立する。ただし、{b#q,1,1 mod m≠b#q,1,2 mod m}∩{b#q,1,1 mod m≠b#q,1,3 mod m}∩{b#q,1,2 mod m≠b#q,1,3 mod m}および{β#q,2,1 mod m≠β#q,2,2 mod m}∩{β#q,2,1 mod m≠β#q,2,3 mod m}∩{β#q,2,2 mod m≠β#q,2,3 mod m}を満
たす。
[1.2]符号化率1/3のTV−m−LDPC−CCの符号設計
実施の形態6に基づき、C#2の条件を満足する、式(118),(119)で定義することができる符号化率R=1/3のTV−m−LDPC−CCにおいて、推論#1の推論を与える。
そして、推論#1を実現するための方法について以下では議論を行う。
本議論で扱うC#2の条件を満足する、式(118),(119)で定義することができる符号化率R=1/3のTV−m−LDPC−CCの#q−1,#q−2の0を満たすパリティ検査多項式である式(118),(119)に関する、ツリーを描いた際に成り立つ性質を述べる。
C#3.1: C#2の条件を満足する、式(118),(119)で定義することができる符号化率R=1/3のTV−m−LDPC−CCの0を満たすパリティ検査多項式の式(118)に対応する式(125)において、∀qに対して、X(D)においてa#q,i mod m≠a#q,j mod mが成立する(q=0,・・・,m−1)。ただし、i≠jである。
C#3.2: C#2の条件を満足する、式(118),(119)で定義することができる符号化率R=1/3のTV−m−LDPC−CCの0を満たすパリティ検査多項式の式(118)に対応する式(125)において、∀qに対して、P1(D)においてb#q1,i mod m≠b#q,1,j mod mが成立する。ただし、i≠jである。
C#3.3: C#2の条件を満足する、式(118),(119)で定義することができる符号化率R=1/3のTV−m−LDPC−CCの0を満たすパリティ検査多項式の式(119)に対応する式(126)において、∀qに対して、X(D)においてα#q,i mod m≠α#q,j mod mが成立する(q=0,・・・,m−1)。ただし、i≠jである。
C#3.4: C#2の条件を満足する、式(118),(119)で定義することができる符号化率R=1/3のTV−m−LDPC−CCの0を満たすパリティ検査多項式の式(119)に対応する式(126)において、∀qに対して、P2(D)においてβ#q,2,i mod m≠β#q,2,j mod mが成立する。ただし、i≠jである。
C#4.1: C#2の条件を満足する、式(118),(119)で定義することができる符号化率R=1/3のTV−m−LDPC−CCの0を満たすパリティ検査多項式の式(118)に対応する式(125)において、∀qに対して、X(D)において、a#q,i mod m≧a#q,j mod mのとき、|(a#q,i mod m)−(a#q,j mod m)|がmの1を除く約数である。ただし、i≠jである。
C#4.2: C#2の条件を満足する、式(118),(119)で定義することができる符号化率R=1/3のTV−m−LDPC−CCの0を満たすパリティ検査多項式の式(125)において、∀qに対して、P1(D)においてb#q,1,i mod m≧b#q,1,j mod mのとき、|(b#q,1,,i mod m)−(b#q,1,j mod m)|がmの1を除く約数である。ただし、i≠jである。
C#4.3: C#2の条件を満足する、式(118),(119)で定義することができる符号化率R=1/3のTV−m−LDPC−CCの0を満たすパリティ検査多項式の式(119)に対応する式(126)において、∀qに対して、X(D)において、α#q,i mod m≧α#q,j mod mのとき、|(α#q,i mod m)−(α#q,j mod m)|がmの1を除く約数である。ただし、i≠jである。
C#4.4: C#2の条件を満足する、式(118),(119)で定義することができる符号化率R=1/3のTV−m−LDPC−CCの0を満たすパリティ検査多項式の式(126)において、∀qに対して、P2(D)においてβ#q,2,i mod m≧β#q,2,j mod mのとき、|(β#q,2,i mod m)−(β#q,2,j mod m)|がmの1を除く約数である。ただし、i≠jである。
R=1/3のTV−m−LDPC−CCの0を満たすパリティ検査多項式の式(126)において、C#4.2を満たすDβ#q,2,iP2(D),Dβ#q,2,jP2(D)に対応する変数ノードのみに限ってツリーを描く場合を考える。このとき、性質1から、式(126)の0を満たす#q−2のパリティ検査多項式に相当するチェックノードを起点とするツリーには、∀qに対して、#0−2から#(m−1)−2のパリティ検査多項式に相当するチェックノードすべてが存在することはない。
性質5: C#2の条件を満足する、式(118),(119)で定義することができる符号化率R=1/3のTV−m−LDPC−CCにおいて、時変周期mが偶数の場合、X(D)の項に着目し、C#5.1が成立する場合を考える。
C#5.2: C#2の条件を満足する、式(118),(119)で定義することができる符号化率R=1/3のTV−m−LDPC−CCの0を満たすパリティ検査多項式の式(125)において、∀qに対して、P1(D)においてb#q,1,i mod m≧b#q,1,j mod mのとき、|(b#q,1,i mod m)−(b#q,1,j mod m)|が偶数である。ただし、i≠jである。
C#5.3: C#2の条件を満足する、式(118),(119)で定義することができる符号化率R=1/3のTV−m−LDPC−CCの0を満たすパリティ検査多項式の式(126)において、∀qに対して、X(D)においてα#q,i mod m≧α#q,j mod mのとき、|(α#q,i mod m)−(α#q,j mod m)|が偶数である。ただし、i≠jである。
このとき、性質1から、式(126)の0を満たす#q−2のパリティ検査多項式に相当するチェックノードを起点とするツリーには、#q−2のqが奇数のとき、#q−2において、qが奇数のパリティ検査多項式に相当するチェックノードしか存在しない。また、#q−2のqが偶数のとき、式(126)の0を満たす#q−2のパリティ検査多項式に相当するチェックノードを起点とするツリーには、#q−2において、qが偶数のパリティ検査多項式に相当するチェックノードしか存在しない。
C#5.4: C#2の条件を満足する、式(118),(119)で定義することができる符号化率R=1/3のTV−m−LDPC−CCの0を満たすパリティ検査多項式の式(126)において、∀qに対して、P2(D)においてβ#q,2,i mod m≧β#q,2,j mod mのとき、|(β#q,2,i mod m)−(β#q,2,j mod m)|が偶数である。ただし、i≠jである。
C#2の条件を満足する、式(118),(119)で定義することができる符号化率R=1/3のTV−m−LDPC−CCにおいて、高い誤り訂正能力を与えるための設計指針を考える。
ここで、C#6.1,C#6.2,C#6.3,C#6.4のような場合を考える。
設計指針: C#2の条件を満足する、式(118),(119)で定義することができる符号化率R=1/3のTV−m−LDPC−CCにおいて、X(D)の項に着目し、C#7.1の条件を与える。
C#7.2: C#2の条件を満足する、式(118),(119)で定義することができる符号化率R=1/3のTV−m−LDPC−CCの0を満たすパリティ検査多項式の式(125)において、Db#q,1,iP1(D),Db#q,1,jP1(D)に対応する変数ノードのみに限ってツリーを描くと(ただし、i≠jである。)、式(125)の0を満たす#q−1のパリティ検査多項式に相当するチェックノードを起点するツリーには、∀qに対して、ツリーには#0−1から#(m−1)−1のすべてのパリティ検査多項式に相当するチェックノードが存在する。
C#7.3: C#2の条件を満足する、式(118),(119)で定義することができる符号化率R=1/3のTV−m−LDPC−CCの0を満たすパリティ検査多項式の式(126)において、Dα#q,iX(D),Dα#q,jX(D)に対応する変数ノードのみに限ってツリーを描くと(ただし、i≠jである。)、式(126)の0を満たす#q−2のパリティ検査多項式に相当するチェックノードを起点するツリーには、∀qに対して、ツリーには#0−2から#(m−1)−2のすべてのパリティ検査多項式に相当するチェックノードが存在する。
C#7.4: C#2の条件を満足する、式(118),(119)で定義することができる符号化率R=1/3のTV−m−LDPC−CCの0を満たすパリティ検査多項式の式(126)において、Dβ#q,2,iP2(D),Dβ#q,2,jP2(D)に対応する変数ノードのみに限ってツリーを描くと(ただし、i≠jである。)、式(126)の0を満たす#q−2のパリティ検査多項式に相当するチェックノードを起点するツリーには、∀qに対して、ツリーには#0−2から#(m−1)−2のすべてのパリティ検査多項式に相当するチェックノードが存在する。
すると、推論#1を満たすことになる。
次に、設計指針に関する定理について述べる。
定理2: 設計指針を満たすためには、C#2の条件を満足する、式(118),(119)で定義することができる符号化率R=1/3のTV−m−LDPC−CCの0を満たすパリティ検査多項式の式(125)において、a#q,i mod m≠a#q,j mod mおよびb#q,1,i mod m≠b#q,1,j mod mを満たし、C#2の条件を満足する、式(118),(119)で定義することができる符号化率R=1/3のTV−m−LDPC−CCの0を満たすパリティ検査多項式の式(126)において、α#q,i mod m≠α#q,j mod mおよびβ#q,2,i mod m≠β#q,2,j mod mを満たさなければならない(ただし、i≠jである。)。
□(証明終わり)
定理3: C#2の条件を満足する、式(118),(119)で定義することができる符号化率R=1/3のTV−m−LDPC−CCにおいて、時変周期mが偶数の場合、設計指針を満たす符号は存在しない。
C#2の条件を満足する、式(118),(119)で定義することができる符号化率R=1/3のTV−m−LDPC−CCでは、(b#q,1,1 mod m,b#q,1,2 mod m,b#q,1,3 mod m)=(M1,M2,M3)=(“o”,“o”,“o”)∪(“o”,“o”,“e”)∪(“o”,“e”,“e”)∪(“e”,“e”,“e”)ですべての場合をあらわすことができる。ただし、“o”は奇数、“e”は偶数をあらわしている。したがって、(M1,M2,M3)=(“o”,“o”,“o”)∪(“o”,“o”,“e”)∪(“o”,“e”,“e”)∪(“e”,“e”,“e”)において、C#7.2は満たさないことを示す。
(M1,M2,M3)=(“o”,“o”,“e”)のとき、C#5.2において、(i,j)=(1,2)とするとC#5.2を満たす。
(M1,M2,M3)=(“e”,“e”,“e”)のとき、C#5.2において、i,j=1,2,3(i≠j)を満たすように(i,j)のセットをいずれの値の場合でもC#5.2を満たす。
したがって、設計指針を満たすためには、時変周期mは奇数でなければならない。また、設計指針を満たすためには、性質3および性質4から、
・時変周期mが素数であること。
が有効である。
特に、「時変周期mが奇数であり、かつ、mの約数の数が少ないこと」という点を考慮すると、誤り訂正能力が高い符号が得られる可能性が高い条件の例として以下が考えられる。
ただし、α、βは、1を除く奇数であり、かつ、素数。
(2)時変周期mをαnとする。
ただし、αは、1を除く奇数であり、かつ、素数であり、nは2以上の整数。
(3)時変周期mをα×β×γとする。
例えば、時変周期mが偶数のとき、以下のような条件を満たしてもよい。
(4)時変周期mを2g×α×βとする。
ただし、α、βは1を除く奇数、かつ、α、βは素数であり、かつ、gは1以上の整数とする。
(5)時変周期mを2g×αnとする。
ただし、αは1を除く奇数であり、かつ、αは素数であり、かつ、nは2以上の整数であり、かつ、gは1以上の整数とする。
(6)時変周期mを2g×α×β×γとする。
ただし、α、β、γは1を除く奇数であり、かつ、α、β、γは素数であり、かつ、gは1以上の整数とする。
ただし、時変周期mが上記の(1)から(3)を満たさない奇数の場合でも、高い誤り訂正能力を得ることができる可能性があり、また、時変周期mが上記の(4)から(6)を満たさない偶数の場合でも、高い誤り訂正能力を得ることができる可能性がある。
表10に、上述で述べた設計指針を満たす符号化率R=1/3の時変周期23のTV−m−LDPC−CCの例を示す。ただし、符号を探索する際に設定した最大拘束長Kmaxは600とする。
図72にAWGN環境における時変周期23の符号化率R=1/3のTV−m−LDPC−CC(表10の#1)のEb/No(energy per bit-to-noise spectral density ratio)とBERの関係(BER特性)を示す。参考に、時変周期23の符号化率R=1/2のTV−m−LDPC−CCのBER特性を示す。ただし、シミュレーションにおいて、変調方式はBPSKとし、復号方法として、Normalized BP (1/v=0.8)に基づく非特許文献19に示されているBP復号を用いており、反復回数I=50とする。(vは正規化係数である。)
図72において、時変周期23の符号化率R=1/3のTV−m−LDPC−CCのBER特性は、BER>10−8において、エラーフロアがない、優れたBER特性であることが確認できる。以上より、上述で議論した設計指針が有効であると考えられる。
本実施の形態では、テイルバイティング方法について説明する。先ず、一例として、実施の形態の具体的な構成及び動作を説明する前に、非特許文献20に記載されているパリティ検査多項式に基づくLDPC−CCについて説明する。
パリティ検査多項式に基づく、符号化率R=(n−1)/nの時変LDPC−CCについて説明する。X1,X2,・・・,Xn−1の情報ビット、及びパリティビットPの時点jにおけるビットをそれぞれX1,j,X2,j,・・・,Xn−1,j及びPjと表す。そして、時点jにおけるベクトルujをuj=(X1,j,X2,j,・・・,Xn−1,j,Pj)と表す。また、符号化系列をu=(u0,u1,・・・,uj,・・・)Tと表す。Dを遅延演算子とすると、情報ビットX1,X2,・・・,Xn−1の多項式はX1(D),X2(D),・・・,Xn−1(D)と表され、パリティビットPの多項式はP(D)と表される。このとき、式(127)で表される0を満たすパリティ検査多項式を考える。
符号化率R=(n−1)/n、時変周期mのLDPC−CCを作成するために、式(127)に基づく0を満たすパリティ検査多項式を用意する。このときi番目(i=0,1,・・・,m−1)の0を満たすパリティ検査多項式を式(128)のように表す。
上述では、ベースとなるパリティ検査多項式として、式(127)を取り扱っているが、必ずしも式(127)の形態に限らず、例えば、式(127)のかわりに、式(132)のような0を満たすパリティ検査多項式としてもよい。
以下では、上述のパリティ検査多項式に基づく時変LDPC−CCを例に、本実施の形態の形態におけるテイルバイティング方法について説明する。
上述で説明したパリティ検査多項式に基づくLDPC−CCにおいて、時変周期qの0を満たすg番目(g=0、1、・・・、q−1)のパリティ検査多項式(式(128)参照)を式(133)のように表す。
すると、パリティ検査行列Hは、図73のように表すことができる。図73に示すように、パリティ検査行列Hにおいて、第i行と第i+1行とでは、サブ行列がn列右にシフトした構成となる(図73参照)。そして、情報X1、X2、・・・Xn−1及びパリティPの時点kにおけるデータをそれぞれX1,k、X2,k、・・・、Xn−1,k、Pkとする。すると、送信ベクトルuは、u=(X1,0、X2,0、・・・、Xn−1,0、P0、X1,1、X2,1、・・・、Xn−1,1、P1、・・・、X1,k、X2,k、・・・、Xn−1,k、Pk、・・・・)Tと表され、Hu=0が成立する。
図73と式(135)から、パリティ検査多項式に基づく時変周期q、符号化率(n−1)/nのLDPC−CCにおいて、より高い誤り訂正能力を得るために、復号の際に必要とするパリティ検査行列Hでは、以下の条件が重要となる。
・パリティ検査行列の行数は、qの倍数である。
・したがって、パリティ検査行列の列数はn×qの倍数である。このとき、復号時に必要な(例えば)対数尤度比は、n×qの倍数のビット分の対数尤度比である。
ただし、条件#15−1が必要となる時変周期q、符号化率(n−1)/nのLDPC−CCの0を満たすパリティ検査多項式は、式(133)に限ったものではなく、式(127)、(132)に基づく時変LDPC−CCであってもよい。
<手順15−1>
例えば、式(136)で定義される時変LDPC−CCでは、P(D)は以下のように表される。
手順15−1の保持しているレジスタの状態から(したがって、式(138)のX1[z]、X2[z]、・・・、Xn−1[z]、P[z]において、zが1より小さい場合について、手順15−1で得られている値を用いることになる。)、再度、時点i=1から符号化を行い、パリティを求める。
しかし、フィードフォワード型のLDPC−CCとフィードバックありのLDPC−CCとを、同一符号化率、ほぼ同等の拘束長の条件の下で比較すると、フィードバックありのLDPC−CCの方が、高い誤り訂正能力を示す傾向が強いが、符号化系列を求める(パリティを求める)のが困難であるという課題がある。以下では、この課題に対し、容易に符号化系列(パリティ)を求めることを可能とする新しいテイルバイティング方法を提案する。
例えば、式(133)で定義する、符号化率(n−1)/n、時変周期qのパリティ検査多項式に基づくLDPC−CCにおいて、時点iにおける情報X1、X2、・・・、Xn−1、及びパリティPをX1,i、X2,i、・・・、Xn−1,i、Piと表す。すると、<条件#15−1>を満たすためには、i=1、2、3、・・・、q、・・・、q×N−q+1、q×N−q+2、q×N−q+3、・・・、q×Nとしてテイルバイティングを行うことになる。
このときのパリティ検査行列の構成について図74及び図75を用いて説明する。
上記で定義した送信系列uに対応するパリティ検査行列のうち、時点q×N近辺のパリティ検査行列を図74に示す。図74に示すように、パリティ検査行列Hにおいて、第i行と第i+1行とでは、サブ行列がn列右にシフトした構成となる(図74参照)。
符号7507は時点q×N−1に相当する列群を示しており、符号7507の列群は、X1,q×N−1、X2,q×N−1、・・・、Xn−1,q×N−1、Pq×N−1の順に並んでいる。符号7508は時点q×Nに相当する列群を示しており、符号7508の列群は、X1,q×N、X2,q×N、・・・、Xn−1,q×N、Pq×Nの順に並んでいる。符号7509は時点1に相当する列群を示しており、符号7509の列群は、X1,1、X2,1、・・・、Xn−1,1、P1の順に並んでいる。符号7510は時点2に相当する列群を示しており、符号7510の列群は、X1,2、X2,2、・・・、Xn−1,2、P2の順に並んでいる。
そして、テイルバイティングを行ったときのパリティ検査行列の特徴的な部分は、図75において、符号7513より左かつ符号7514より下の部分となる(式(135)参照)。
図76は、通信システムの略図である。通信システムは、送信装置7600と受信装置7610とを含んで構成される。
そして、送信装置7600で送信しなかった「0」の値のX1,16385、X1,16386、X1,16387、X1,16388の対数尤度比LLR(X1,16385)=LLR(0)、LLR(X1,16386)=LLR(0)、LLR(X1,16387)=LLR(0)、LLR(X1,16388)=LLR(0)を生成し、LLR(X1,1)、LLR(P1)、LLR(X1,2)、LLR(P2)、・・・LLR(X1,16384)、LLR(P16384)、LLR(X1,16385)=LLR(0)、LLR(P16385)、LLR(X1,16386)=LLR(0)、LLR(P16386)、LLR(X1,16387)=LLR(0)、LLR(P16387)、LLR(X1,16388)=LLR(0)、LLR(P16388)を得ることになるので、これと符号化率1/2、時変周期12のLDPC−CCの16388×32776のパリティ検査行列を用いて、非特許文献3〜非特許文献6に示されているようなBP(Belief Propagation)(信頼度伝播)復号、BP復号を近似したmin−sum復号、offset BP復号、Normalized BP復号、shuffled BP復号などの信頼度伝播を利用した復号を行うことで、推定送信系列、及び、推定情報系列を得る。
以下では、上記各実施の形態で示した符号化及び復号化方法を、送信方法及び受信方法に応用する例とそれを用いたシステムの構成例を説明する。
また、本実施の形態の受信機7800は、復調部7802で復調し、誤り訂正の復号を行う(本明細書で記載した誤り訂正符号に対応する復号方法による復号を行う)ことで得られた多重化データ(場合によっては、復調部7802で復調されて得られる信号に対して誤り訂正復号を行わないこともある。また、受信機7800は、誤り訂正復号後に他の信号処理が施されることもある。以降について、同様の表現を行っている部分についても、この点は同様である。)に含まれるデータ、または、そのデータに相当するデータ(例えば、データを圧縮することによって得られたデータ)や、動画、音声を加工して得られたデータを、磁気ディスク、光ディスク、不揮発性の半導体メモリ等の記録メディアに記録する記録部(ドライブ)7808を備える。ここで光ディスクとは、例えばDVD(Digital Versatile Disc)やBD(Blu-ray Disc)等の、レーザ光を用いて情報の記憶と読み出しがなされる記録メディアである。磁気ディスクとは、例えばFD(Floppy(登録商標) Disk)(登録商標)やハードディスク(Hard Disk)等の、磁束を用いて磁性体を磁化することにより情報を記憶する記録メディアである。不揮発性の半導体メモリとは、例えばフラッシュメモリや強誘電体メモリ(FerroelectricRandom Access Memory)等の、半導体素子により構成された記録メディアであり、フラッシュメモリを用いたSDカードやFlash SSD(Solid State Drive)などが挙げられる。なお、ここで挙げた記録メディアの種類はあくまでその一例であり、上記の記録メディア以外の記録メディアを用いて記録を行っても良いことは言うまでもない。
なお、上記の説明では、受信機7800は、復調部7802で復調し、誤り訂正の復号を行う(本明細書で記載した誤り訂正符号に対応する復号方法による復号を行う)ことで得られた多重化データを記録部7808で記録するとしたが、多重化データに含まれるデータのうち一部のデータを抽出して記録しても良い。例えば、復調部7802で復調し、誤り訂正の復号を行うことで得られた多重化データに映像データや音声データ以外のデータ放送サービスのコンテンツ等が含まれる場合、記録部7808は、復調部7802で復調された多重化データから映像データや音声データを抽出して多重した新しい多重化データを記録しても良い。また、記録部7808は、復調部7802で復調し、誤り訂正の復号を行うことで得られた多重化データに含まれる映像データ及び音声データのうち、どちらか一方のみを多重した新しい多重化データを記録しても良い。そして、上記で述べた多重化データに含まれるデータ放送サービスのコンテンツを記録部7808は、記録してもよい。
また、上記の説明では、記録部7808は、復調部7802で復調し、誤り訂正の復号を行う(本明細書で記載した誤り訂正符号に対応する復号方法による復号を行う)ことで得られた多重化データを記録するとしたが、復調部7802で復調し、誤り訂正の復号を行うことで得られた多重化データに含まれる映像データを、当該映像データよりもデータサイズまたはビットレートが低くなるよう、当該映像データに施された動画像符号化方法とは異なる動画像符号化方法で符号化された映像データに変換し、変換後の映像データを多重した新しい多重化データを記録してもよい。このとき、元の映像データに施された動画像符号化方法と変換後の映像データに施された動画像符号化方法とは、互いに異なる規格に準拠していてもよいし、同じ規格に準拠して符号化時に使用するパラメータのみが異なっていてもよい。同様に、記録部7808は、復調部7802で復調し、誤り訂正の復号を行うことで得られた多重化データに含まれる音声データを、当該音声データよりもデータサイズまたはビットレートが低くなるよう、当該音声データに施された音声符号化方法とは異なる音声符号化方法で符号化された音声データに変換し、変換後の音声データを多重した新しい多重化データを記録してもよい。
また、上記の説明では、ストリーム出力IF7809は、復調部7802で復調し、誤り訂正の復号を行う(本明細書で記載した誤り訂正符号に対応する復号方法による復号を行う)ことで得られた多重化データを記録するとしたが、復調部7802で復調し、誤り訂正の復号を行うことで得られた多重化データに含まれる映像データを、当該映像データよりもデータサイズまたはビットレートが低くなるよう、当該映像データに施された動画像符号化方法とは異なる動画像符号化方法で符号化された映像データに変換し、変換後の映像データを多重した新しい多重化データを出力してもよい。このとき、元の映像データに施された動画像符号化方法と変換後の映像データに施された動画像符号化方法とは、互いに異なる規格に準拠していてもよいし、同じ規格に準拠して符号化時に使用するパラメータのみが異なっていてもよい。同様に、ストリーム出力IF7809は、復調部7802で復調し、誤り訂正の復号を行うことで得られた多重化データに含まれる音声データを、当該音声データよりもデータサイズまたはビットレートが低くなるよう、当該音声データに施された音声符号化方法とは異なる音声符号化方法で符号化された音声データに変換し、変換後の音声データを多重した新しい多重化データを出力してもよい。
さらに、受信機7800は、ユーザ操作の入力を受け付ける操作入力部7810を備える。受信機7800は、ユーザの操作に応じて操作入力部7810に入力される制御信号に基づいて、電源のON/OFFの切り替えや、受信するチャネルの切り替え、字幕表示の有無や表示する言語の切り替え、音声出力部7806から出力される音量の変更等の様々な動作の切り替えや、受信可能なチャネルの設定等の設定の変更を行う。
なお、上記の説明では受信機7800が、音声出力部7806、映像表示部7807、記録部7808、ストリーム出力IF7809、及びAV出力IF7811を備えている場合を例に挙げて説明したが、これらの構成の全てを備えている必要はない。受信機7800が上記の構成のうち少なくともいずれか一つを備えていれば、ユーザは復調部7802で復調し、誤り訂正の復号を行う(本明細書で記載した誤り訂正符号に対応する復号方法による復号を行う)ことで得られた多重化データを利用することができるため、各受信機はその用途に合わせて上記の構成を任意に組み合わせて備えていれば良い。
次に、多重化データの構造の一例について詳細に説明する。放送に用いられるデータ構造としてはMPEG2−トランスポートストリーム(TS)が一般的であり、ここではMPEG2−TSを例に挙げて説明する。しかし、上記各実施の形態で示した送信方法及び受信方法で伝送される多重化データのデータ構造はMPEG2−TSに限られず、他のいかなるデータ構造であっても上記の各実施の形態で説明した効果を得られることは言うまでもない。
図84は、その多重化データファイル情報の構成を示す図である。多重化データ情報ファイルは、図84に示すように多重化データの管理情報であり、多重化データと1対1に対応し、クリップ情報、ストリーム属性情報とエントリマップから構成される。
本明細書において、送信装置を具備しているのは、例えば、放送局、基地局、アクセスポイント、端末、携帯電話(mobilephone)等の通信・放送機器であることが考えられ、このとき、受信装置を具備しているのは、テレビ、ラジオ、端末、パーソナルコンピュータ、携帯電話、アクセスポイント、基地局等の通信機器であることが考えられる。また、本発明における送信装置、受信装置は、通信機能を有している機器であって、その機器が、テレビ、ラジオ、パーソナルコンピュータ、携帯電話等のアプリケーションを実行するための装置に何らかのインターフェース(例えば、USB)を介して接続できるような形態であることも考えられる。
なお、本発明は上記すべての実施の形態に限定されず、種々変更して実施することが可能である。例えば、上記実施の形態では、通信装置として行う場合について説明しているが、これに限られるものではなく、この通信方法をソフトウェアとして行うことも可能である。
なる。
また、本明細書において、受信装置で、ML演算、APP、Max−logAPP、ZF、MMSE等を用いて説明しているが、この結果、送信装置が送信したデータの各ビットの軟判定結果(対数尤度、対数尤度比)や硬判定結果(「0」または「1」)を得ることになるが、これらを総称して、検波、復調、検出、推定、分離と呼んでもよい。
また、送信装置の送信アンテナ、受信装置の受信アンテナ、共に、図面で記載されている1つのアンテナは、複数のアンテナにより構成されていても良い。
また、本明細書において、「∀」は全称記号(universal quantifier)をあらわしており、「∃」は存在記号(existential quantifier)をあらわしている。
複素平面を利用すると、複素数の極座標による表示として極形式で表示できる。複素数z=a+jb(a、bはともに実数であり、jは虚数単位である)に、複素平面状の点(a,b)を対応させたとき、この点が極座標で[r,θ]とあらわされるなら、a=r×cosθ、b=r×sinθが成り立ち、rは、zの絶対値(r=|z|)であり、θは偏角(argument)となる。そして、z=a+jbは、rejθとあらわされる。
また、本明細書で説明した規則的にプリコーディング行列を切り替える方法を用いた放送システムの一例を図87に示す。図87において、映像符号化部8701は、映像を入力とし、映像符号化を行い、映像符号化後のデータ8702を出力する。音声符号化部8703は、音声を入力とし、音声符号化を行い、音声符号化後のデータ8704を出力する。データ符号化部8705は、データを入力とし、データの符号化(例えば、データ圧縮)を行い、データ符号化後のデータ8706を出力する。これらをまとめて、情報源符号化部8700とする。
また、「異なるプリコーディング行列を切り替える方法」とは異なる複数のプリコーディング行列を用いて、規則的にプリコーディング行列を切り替える方法を実現しても、同様に実施することができる。
また、上記通信方法を実行するプログラムをコンピュータで読み取り可能な記憶媒体に格納し、記憶媒体に格納されたプログラムをコンピュータのRAM(Random Access Memory)に記録して、コンピュータをそのプログラムにしたがって動作させるようにしても良い。
ここでは、LSIとしたが、集積度の違いにより、IC(Integrated Circuit)、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限られるものではなく、専用回路または汎用プロセッサで実現しても良い。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
また、この符号化方法及び復号化方法をソフトウェアとして行うことも可能である。例えば、上記符号化方法及び通信方法を実行するプログラムを予めROM(Read Only Memory)に格納しておき、そのプログラムをCPU(CentralProcessorUnit)によって動作させるようにしても良い。
また、本発明は、無線通信に限らず、電灯線通信(PLC:Power Line Communication)、可視光通信、光通信においても有用であることは言うまでもない。
本実施の形態において、ATのように「T」を用いているが、ATは、行列Aの転置行列(transported matrix)であることを意味している。したがって、ATは、行列Aがm行n列の行列であった場合、ATは行列Aの (i行, j列) 要素と (j行, i列) 要素を入れ替えたn行m列の行列である。
本発明の符号化方法の一つの態様は、符号化率(n−1)/n(nは2以上の整数)のパリティ検査多項式を用いて、時変周期qの低密度パリティ検査畳み込み符号(LDPC−CC:Low-Density Parity-Check Convolutional Codes)化を行う符号化方法であって、前記時変周期qが、3より大きい素数であり、情報系列を入力とし、式(140)をg番目(g=0、1、・・・、q−1)の0を満たす前記パリティ検査多項式として用いて、前記情報系列を符号化する。
「a#0,k,1%q=a#1,k,1%q=a#2,k,1%q=a#3,k,1%q=・・・=a#g,k,1%q=・・・=a#q−2,k,1%q=a#q−1,k,1%q=vp=k (vp=k:固定値)」、
「b#0,1%q=b#1,1%q=b#2,1%q=b#3,1%q=・・・=b#g,1%q=・・・=b#q−2,1%q=b#q−1,1%q=w (w:固定値)」、
「a#0,k,2%q=a#1,k,2%q=a#2,k,2%q=a#3,k,2%q=・・・=a#g,k,2%q=・・・=a#q−2,k,2%q=a#q−1,k,2%q=yp=k (yp=k:固定値)」、
「b#0,2%q=b#1,2%q=b#2,2%q=b#3,2%q=・・・=b#g,2%q=・・・=b#q−2,2%q=b#q−1,2%q=z (z:固定値)」、
及び、
「a#0,k,3%q=a#1,k,3%q=a#2,k,3%q=a#3,k,3%q=・・・=a#g,k,3%q=・・・=a#q−2,k,3%q=a#q−1,k,3%q=sp=k (sp=k:固定値)」
を、k=1、2、・・・、n−1に対して満たすパリティ検査多項式を用いて、前記情報系列を符号化する。
本発明の符号化器の一つの態様は、低密度パリティ検査畳み込み符号(LDPC−CC:Low-DensityParity-CheckConvolutional Codes)の符号化器であって、上記符号化方法によりパリティ系列を求めるパリティ計算部を具備する。
前記選択するステップは、情報X2hi、X2hi+1、X2hi+2、・・・、X2hi+2h−1、・・・、X2h(i+k−1)、X2h(i+k−1)+1、X2h(i+k−1)+2、・・・、X2h(i+k−1)+2h−1の2×h×kビットから、前記Zビットの情報Xjを選択し、前記時点j1から前記時点j2に含まれるすべての前記時点jをhで除算したときの余りのうち、「余りが(0+γ) mod hとなる個数(ただし、個数は0でない。)」と「余りが(vp=1+γ) mod h(ただし、個数は0でない。)」となる個数との差は1以下となり、「余りが(0+γ) mod hとなる個数(ただし、個数は0でない。)」と「余りが(yp=1+γ) mod h(ただし、個数は0でない。)」となる個数との差は1以下となり、「余りが(vp=1+γ) mod h(ただし、個数は0でない。)」となる個数と「余りが(yp=1+γ) mod h(ただし、個数は0でない。)」となる個数との差は1以下となる条件を満たすγが少なくとも一つ存在するように、前記Zビットの情報Xjを選択する。
本発明の復号方法の一つの態様は、時変周期hの低密度パリティ検査畳み込み符号(LDPC−CC:Low-DensityParity-CheckConvolutional Codes)化を行う請求項1に記載の符号化方法において、式(143)をg番目(i=0、1、・・・、h−1)の0を満たす前記パリティ検査多項式として用いて符号化された符号化情報系列を復号する復号方法であって、前記符号化情報系列を入力とし、g番目の0を満たす前記パリティ検査多項式である式(143)を用いて生成されるパリティ検査行列に基づいて、信頼度伝播(BP:Belief Propagation)を利用して、前記符号化情報系列を復号する。
本発明の復号器の一つの態様は、低密度パリティ検査畳み込み符号(LDPC−CC:Low-DensityParity-CheckConvolutional Codes)を信頼度伝播(BP:BeliefPropagation)を利用して復号する復号器であって、上記符号化器で用いたパリティ検査多項式に対応する検査行列を用いて行処理演算を行う行処理演算部と、前記検査行列を用いて列処理演算を行う列処理演算部と、前記行処理演算部及び前記列処理演算部での演算結果を用いて符号語を推定する判定部と、を具備する。
本発明の復号器の一つの態様は、低密度パリティ検査畳み込み符号(LDPC−CC:Low-DensityParity-CheckConvolutional Codes)を信頼度伝播(BP:BeliefPropagation)を利用して復号する復号器であって、上記符号化器で用いたパリティ検査多項式に対応する検査行列を用いて行処理演算を行う行処理演算部と、前記検査行列を用いて列処理演算を行う列処理演算部と、前記行処理演算部及び前記列処理演算部での演算結果を用いて符号語を推定する判定部と、を具備する。
(実施の形態17)
本実施の形態では、実施の形態3、実施の形態15で説明したテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号について説明する。特に、本実施の形態では、符号化率1/2の上述の連接符号について説明する。
上記の説明にあたり、まず、これまでの誤り訂正符号に関する課題について述べる。非特許文献21〜非特許文献24では、Duo Binary Turbo codeを含むターボ符号が提案されている。ターボ符号は、シャノン限界に近い高い誤り訂正能力を持つ符号であり、非特許文献25に記載されているBCJRアルゴリズムや非特許文献26に記載されているMax-log近似を用いたSOVAアルゴリズムを用いて復号が行われるが、非特許文献27に示されているように、復号アルゴリズムの問題から、高速な復号が困難であり、例えば1Gbps以上の高速な通信において、誤り訂正符号としてターボ符号を適用するのは困難である。
以下では、上記発明の詳細の符号の構成方法について説明する。図88は、本実施の形態における、テイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号の符号化器の構成の一例である。図88では、テイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号の符号化率を1/2、連接符号のブロックサイズをNビットとし、1ブロックの情報の数はMビット、1ブロックのパリティの数はMビットとし、したがって、N=2Mの関係が成立する。そして、i番目のブロックの1ブロックに含まれる情報をXi,1,0、Xi,1,1、Xi,1,2、・・・、Xi,1,j(j=0、1、2、・・・、M−3、M−2、M−1)、・・・、Xi,1,M−2、Xi,1,M−1とする。
インタリーバ8804は、LDPC畳み込み符号化後のパリティPi,b1,0、Pi,b1,1、Pi,b1,2、・・・、Pi,b1,j(j=0、1、2、・・・、M−3
、M−2、M−1)、・・・、Pi,b1,M−2、Pi,b1,M−1(8803)を入力とし、(蓄積した後)並び替えを行い、並び替え後のLDPC畳み込み符号化後のパリティ8805を出力する。
アキュミュレータ(Accumulator)8806は、並び替え後のLDPC畳み込み符号化後のパリティ8805を入力とし、アキュミュレート(Accmulate)し、アキュミュレート後のパリティ8807を出力する。このとき、アキュミュレート後のパリティ8807が、図88の符号化器において、出力となるパリティであり、i番目のブロックにおけるパリティをPi,0、Pi,1、Pi,2、・・・、Pi,j(j=0、1、2、・・・、M−3、M−2、M−1)、・・・、Pi,M−2、Pi,M−1とあらわすと、i番目のブロックの符号語は、Xi,1,0、Xi,1,1、Xi,1,2、・・・、Xi,1,j(j=0、1、2、・・・、M−3、M−2、M−1)、・・・、Xi,1,M−2、Xi,1,M−1、Pi,0、Pi,1、Pi,2、・・・、Pi,j(j=0、1、2、・・・、M−3、M−2、M−1)、・・・、Pi,M−2、Pi,M−1となる。
パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号の符号化器8801において、第2シフトレジスタ8810−2は、第1シフトレジスタ8810−1が出力した値を入力とする。また、第3シフトレジスタ8810−3は、第2シフトレジスタ8810−2が出力した値を入力とする。したがって、第Yシフトレジスタ8810−Yは、第Y−1シフトレジスタ8810―(Y−1)が出力した値を入力とする。ただし、Y=2、3、4、・・・、L1−2、L1−1、L1となる。
第1シフトレジスタ8810−1〜第L1シフトレジスタ8810−L1は、それぞれv1,t−i(i=1,…,L1)を保持するレジスタであり、次の入力が入ってくるタイミングで、保持している値を右隣のシフトレジスタに出力し、左隣のシフトレジスタから出力される値を新たに保持する。なお、シフトレジスタの初期状態は、テイルバイティングを用いた、フィードフォワードのLDPC畳み込み符号であるため、i番目のブロックにおいて、第K1番目のレジスタの初期値はXi,1,M-K1となる(K1=1,…,L1)。
ウェイト制御部8821は、内部に保持するLDPC畳み込み符号のパリティ検査多項式(または、LDPC畳み込み符号のパリティ検査行列)に基づいて、そのタイミングにおけるh1 (m)の値を出力し、ウェイト乗算器8810−0〜8810−L1に供給する。
mod2加算器(modulo 2の加算器、つまり、排他的論理和演算器)8813は、ウェイト乗算器8810−0〜8810−L1の出力に対しmod2(modulo 2、つまり、2で除算したときの余り)の算出結果を全て加算し(つまり、排他的論理和の演算をし)、LDPC畳み込み符号化後のパリティPi,b1,j(8803)を算出し、出力する。
このような構成を採ることで、テイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号の符号化器8801は、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号のパリティ検査多項式(または、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号のパリティ検査行列)にしたがったLDPC−CCの符号化を行うことができる。
他的論理和の演算をし)、アキュミュレート後のパリティ8807を出力する。後に詳しく説明するが、このようなアキュミュレータを用いると、パリティ検査行列におけるパリティ部分において、列重み(各列における“1”の数)1の列を一つ、その他残りの列の列重みを2とすることができ、これが、パリティ検査行列に基づいた信頼度伝播アルゴリズムを用いた復号を用いたとき、高い誤り訂正能力が得られることに貢献する。
図88のインタリーバ8804の動作の詳細を8816に示している。インタリーバ、つまり、蓄積及び並び替え部8818は、LDPC畳み込み符号化後のパリティPi,b1,0、Pi,b1,1、Pi,b1,2、・・・、Pi,b1,M−3、Pi,b1,M−2、Pi,b1,M−1を入力とし、入力したデータを蓄積し、その後並び替えを行う。したがって、蓄積及び並び替え部8818は、Pi,b1,0、Pi,b1,1、Pi,b1,2、・・・、Pi,b1,M−3、Pi,b1,M−2、Pi,b1,M−1に対して、出力の順番が変更される、例えば、Pi,b1,254、Pi,b1,47、・・・、Pi,b1,M−1、・・・、Pi,b1,0、・・・と出力する。
図89のアキュミュレータ8900は、図88における並び替え後のLDPC畳み込み符号化後のパリティ8805(8901)を入力とし、アキュミュレートし、アキュミュレート後のパリティ8807を出力する。図89において、第2シフトレジスタ8902
−2は、第1シフトレジスタ8902−1が出力した値を入力とする。また、第3シフトレジスタ8902−3は、第2シフトレジスタ8902−2が出力した値を入力とする。したがって、第Yシフトレジスタ8902−Yは、第Y−1シフトレジスタ8902―(Y−1)が出力した値を入力とする。ただし、Y=2、3、4、・・・、R−2、R−1、Rとなる。
ウェイト制御部8904は、内部に保持するパリティ検査行列におけるアキュミュレータに関連素部部分行列に基づいて、そのタイミングにおけるh1 (m)の値を出力し、ウェイト乗算器8903−1〜8903−Rに供給する。
mod2加算器(modulo 2の加算器、つまり、排他的論理和演算器)8905は、ウェイト乗算器8903−1〜8903−Rの出力、および、図88における並び替え後のLDPC畳み込み符号化後のパリティ8805(8901)に対しmod2(modulo 2、つまり、2で除算したときの余り)の算出結果を全て加算し(つまり、排他的論理和の演算をし)、アキュミュレート後のパリティ8807(8902)を出力する。
図90のアキュミュレータ9000は、図88における並び替え後のLDPC畳み込み符号化後のパリティ8805(8901)を入力とし、アキュミュレートし、アキュミュレート後のパリティ8807(8902)を出力する。なお、図90において、図89と同様に動作するものについては、同一符号を付した。図90のアキュミュレータ9000が、図89のアキュミュレータ8900と異なる点は、図89におけるウェイト乗算器8903−1のh1 (1)を“1”と固定にしている点である。このようなアキュミュレータを用いると、パリティ検査行列におけるパリティ部分において、列重み(各列における“1”の数)1の列を一つ、その他残りの列の列重みを2以上とすることができ、これが、パリティ検査行列に基づいた信頼度伝播アルゴリズムを用いた復号を用いたとき、高い誤り訂正能力が得られることに貢献する。
パリティ検査多項式に基づく時変LDPC符号については、本明細書で詳しく説明している。また、テイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号については、実施の形態15で説明したが、ここで、再度説明するとともに、本実施の形態における連接符号において、高い誤り訂正能力を得るためのテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号の要件の例について説明する。
X1の情報ビット、及びパリティビットPの時点jにおけるビットをそれぞれX1,j及びPjと表す。そして、時点jにおけるベクトルujをuj=(X1,j,Pj)と表す。また、符号化系列をu=(u0,u1,・・・,uj,)Tと表す。Dを遅延演算子とすると、情報ビットX1の多項式はX1(D)と表され、パリティビットPの多項式はP(D)と表される。このとき、符号化率1/2のパリティ検査多項式に基づくフィードフォワードLDPC−CCにおいて、式(145)で表される0を満たすパリティ検査多項式を考える。
符号化率R=1/2、時変周期mのLDPC−CCを作成するために、式(145)に基づく0を満たすパリティ検査多項式を用意する。このときi番目(i=0,1,・・・,m−1)の0を満たすパリティ検査多項式を式(146)のように表す。
なお、テイルバイティングを行っている、行っていないに関係なく、時変周期mのパリティ検査多項式に基づくLDPC−CCのパリティ検査行列のY行目が時変周期mのLDPC−CCの0番目の0を満たすパリティ検査多項式に対応する行であるとすると、パリティ検査行列のY+1行目は時変周期mのLDPC−CCの1番目の0を満たすパリティ検査多項式に対応する行、パリティ検査行列のY+2行目は時変周期mのLDPC−CCの2番目の0を満たすパリティ検査多項式に対応する行、・・・、パリティ検査行列のY+j行目は時変周期mのLDPC−CCのj番目の0を満たすパリティ検査多項式に対応する行(j=0、1、2、3、・・・、m−3、m−2、m−1)、・・・、パリティ検査行列のY+m−1行目は時変周期mのLDPC−CCのm−1番目の0を満たすパリティ検査多項式に対応する行となる。
なお、本実施の形態におけるテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号では、高い誤り訂正能力を得るためには、式(145)で表される0を満たすパリティ検査多項式において、r1が3以上である必要があり、また、式(150)で表される0を満たすパリティ検査多項式において、r1が4以上である必要がある。
したがって、式(145)を参考にすると、本実施の形態の連接符号で使用する、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすg番目(g=0、1、・・・、q−1)のパリティ検査多項式(式(128)参照)は式(151)のように表わされる。
以上のように、本実施の形態の連接符号で使用する、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすq個のパリティ検査多項式において、いずれの0を満たすパリティ検査多項式においても、X1(D)の項が4つ以上存在すると、高い誤り訂正能力を得ることができる可能性が高い。
また、実施の形態1で述べた条件を満たすためには情報X1(D)項の数が4つ以上となるので、時変周期は4以上を満たす必要があり、この条件を満たさないと、実施の形態1で述べた条件のうちのいずれかを満たさない場合が発生し、これにより、高い誤り訂正能力を得る可能性が低下する可能性がある。また、例えば、実施の形態6で説明したように、タナ−グラフを描いた際、時変周期を大きくした効果を得るためには、情報X1(D)項の数が4つ以上となるため、時変周期は奇数であるとよく、他の有効な条件としては、
(1)時変周期qが素数であること。
(3)時変周期qをα×βとする。
ただし、α、βは、1を除く奇数であり、かつ、素数。
(4)時変周期qをαnとする。
ただし、αは、1を除く奇数であり、かつ、素数であり、nは2以上の整数。
ただし、α、β、γは、1を除く奇数であり、かつ、素数。
(6)時変周期qをα×β×γ×δとする。
ただし、α、β、γ、δは、1を除く奇数であり、かつ、素数。
となる。ただし、時変周期qが大きければ、実施の形態6で説明した効果を得ることができるので、時変周期qが偶数とすると高い誤り訂正能力をもつ符号が得られない、というわけではない。
例えば、時変周期qが偶数のとき、以下のような条件を満たしてもよい。
(7)時変周期qを2g×Kとする。
ただし、Kが素数であり、かつ、gは1以上の整数とする。
(8)時変周期qを2g×Lとする
ただし、Lが奇数であり、かつ、Lの約数の数が少ないこと、かつ、gは1以上の整数とする。
(9)時変周期qを2g×α×βとする。
ただし、α、βは1を除く奇数、かつ、α、βは素数であり、かつ、gは1以上の整数とする。
(10)時変周期qを2g×αnとする。
ただし、αは1を除く奇数であり、かつ、αは素数であり、かつ、nは2以上の整数であり、かつ、gは1以上の整数とする。
(11)時変周期qを2g×α×β×γとする。
ただし、α、β、γは1を除く奇数であり、かつ、α、β、γは素数であり、かつ、gは1以上の整数とする。
(12)時変周期qを2g×α×β×γ×δとする。
ただし、α、β、γ、δは1を除く奇数であり、かつ、α、β、γ、δは素数であり、かつ、gは1以上の整数とする。
ただし、時変周期qが上記の(1)から(6)を満たさない奇数の場合でも、高い誤り訂正能力を得ることができる可能性があり、また、時変周期qが上記の(7)から(12)を満たさない偶数の場合でも、高い誤り訂正能力を得ることができる可能性がある。
以下では、パリティ検査多項式に基づくフィードフォワード時変LDPC−CCのテイルバイティング方法について説明する。(例として、式(151)のパリティ検査多項式を用いる。)
[テイルバイティング方法]
上述で説明した本実施の形態の連接符号で使用する、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすg番目(g=0、1、・・・、q−1)のパリティ検査多項式(式(128)参照)は式(155)のように表わされる。
図91と式(135)から、パリティ検査多項式に基づく時変周期q、符号化率1/2のLDPC−CCにおいて、より高い誤り訂正能力を得るために、復号の際に必要とするパリティ検査行列Hでは、以下の条件が重要となる。
・パリティ検査行列の行数は、qの倍数である。
したがって、パリティ検査行列の列数は2×qの倍数である。このとき、復号時に必要な(例えば)対数尤度比は、2×qの倍数のビット分の対数尤度比である。
ただし、条件#17−1が必要となる時変周期q、符号化率1/2のLDPC−CCの0を満たすパリティ検査多項式は、式(155)に限ったものではなく、式(153)に基づく周期qの周期的時変LDPC−CCであってもよい。
<手順17−1>
例えば、式(155)で定義される周期qの周期的時変LDPC−CCでは、P(D)は以下のように表される。
式(155)で定義される周期qの周期的時変LDPC−CCとは異なる式(153)の周期qの周期的時変LDPC−CCを考える。このとき、
式(153)についてもテイルバイティングを説明する。P(D)は以下のように表される。
上述の説明にあたり、はじめに、テイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号のパリティ検査行列について説明する。
式(155)に対応するサブ行列(ベクトル)をHgとすると、第gサブ行列は、前述で述べたように式(156)で表すことができる。
符号9307は時点q×N−1に相当する列群を示しており、符号9307の列群は、Xj,1,q×N−1、Pj,q×N−1の順に並んでいる。符号9308は時点q×Nに相当する列群を示しており、符号9308の列群は、Xj,1,q×N、Pj,q×Nの順に並んでいる。符号9309は時点1に相当する列群を示しており、符号9309の列群は、Xj,1,1、Pj,1の順に並んでいる。符号9310は時点2に相当する列群を示しており、符号9310の列群は、Xj,1,2、Pj,2の順に並んでいる。
テイルバイティングを行った際の1ブロックを構成する情報X1をMビット、パリティビットPをMビット(符号化率1/2であるので)としたとき、図94に示したように、符号化率1/2の時変周期qのパリティ検査多項式に基づくLDPC−CCにおいて、テイルバイティングを行った際のパリティ検査行列Hm=[Hx、Hp]とあらわす。(ただし、上述で説明したように、1ブロックを構成する情報XをM=q×Nビット、パリティビットをM=q×Nビットとすると、高い誤り訂正能力を得ることができる可能性があるが、必ずしもこれに限ったものではない。)なお、第j番目のブロックの送信系列(符号語)sjはsj=(Xj,1,1、Xj,1,2、・・・、Xj,1,k、・・・、Xj,1,M、Pj,1、Pj,2、・・・、Pj,k、・・・、Pj,M)Tとあらわすので、Hxは情報X1に関連する部分行列、HpはパリティPに関連する部分行列となり、図94に示すように、パリティ検査行列Hmは、M行、2×M列の行列となり、情報X1に関連する部分行列Hxは、M行、M列の行列となり、パリティPに関連する部分行列Hpは、M行、M列の行列となる。(このとき、Hmsj=0(「Hmsj=0の0(ゼロ)」は、全ての要素が0のベクトルであることを意味する。)が成立する。)
図95は、符号化率1/2の時変周期qのパリティ検査多項式に基づくLDPC−CCにおいて、テイルバイティングを行った際のパリティ検査行列HmにおけるパリティPに関連する部分行列Hpの構成を示している。図95に示すように、パリティPに関連する部分行列Hpのi行i列(iは1以上Mの整数(i=1、2、3、・・・、M−1、M))の要素が「1」であり、その以外の要素は「0」となる。
第1行は、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすパリティ検査多項式(式(153)または式(155))の0番目(つまり、g=0)のパリティ検査多項式のパリティPに関連する部分のベクトルであり、
第2行は、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすパリティ検査多項式(式(153)または式(155))の1番目(つまり、g=1)のパリティ検査多項式のパリティPに関連する部分のベクトルであり、
・
・
・
第q+1行は、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすパリティ検査多項式(式(153)または式(155))のq番目(つまり、g=q)のパリティ検査多項式のパリティPに関連する部分のベ
クトルであり、
第q+2行は、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすパリティ検査多項式(式(153)または式(155))の0番目(つまり、g=0)のパリティ検査多項式のパリティPに関連する部分のベクトルであり、
・
・
・
となる。
図96の情報X1に関連する部分行列Hxにおいて、図96に示すように、
第1行は、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすパリティ検査多項式(式(153)または式(155))の0番目(つまり、g=0)のパリティ検査多項式の情報X1に関連する部分のベクトルであり、
第2行は、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすパリティ検査多項式(式(153)または式(155))の1番目(つまり、g=1)のパリティ検査多項式の情報X1に関連する部分のベクトルであり、
・
・
・
第q+1行は、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすパリティ検査多項式(式(153)または式(155))のq番目(つまり、g=q)のパリティ検査多項式の情報X1に関連する部分のベクトルであり、
第q+2行は、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすパリティ検査多項式(式(153)または式(155))の0番目(つまり、g=0)のパリティ検査多項式の情報X1に関連する部分のベクトルであり、
・
・
・
となる。したがって、図96の情報X1に関連する部分行列Hxの第s行目は、(s−1)%q=k(%はモジュラ演算(modulo)を示す。)とすると、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすパリティ検査多項式(式(153)または式(155))のk番目のパリティ検査多項式の情報X1に関連する部分のベクトルとなる。
符号化率1/2の時変周期qのパリティ検査多項式に基づくLDPC−CCにおいて、テイルバイティングを行った際のパリティ検査行列Hmにおける情報X1に関連する部分行列Hxのi行j列の要素をHx,comp[i][j](iおよびjは1以上M以下の整数(i、j=1、2、3、・・・、M−1、M))とあらわすものとする。
時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすパリティ検査多項式が式(155)を満たすとき、情報X1に関連する部分行列Hxの第s行目において、(s−1)%q=k(%はモジュラ演算(modulo)を示す。)とすると、情報X1に関連する部分行列Hxの第s行目に相当するパリティ検査多項式は以下のようにあらわされる。
上述では、式(155)のパリティ検査多項式のときのパリティ検査行列の構成について説明したが、以下では、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすパリティ検査多項式が式(153)を満たすときのパリティ検査行列について説明する。
時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすパリティ検査多項式が式(153)を満たすとき、情報X1に関連する部分行列Hxの第s行目において、(s−1)%q=k(%はモジュラ演算(modulo)を示す。)とすると、情報X1に関連する部分行列Hxの第s行目に相当するパリティ検査多項式は以下のようにあらわされる。
次に、本実施の形態のテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号のパリティ検査行列について説明する。
符号化率1/2の時変周期qのパリティ検査多項式に基づくLDPC−CCにおいて、テイルバイティングを行った際のパリティ検査行列Hmにおける情報X1に関連する部分行列Hx(図98の9801)において、
第1行目のみを抽出してできるベクトルをhx1,1
第2行目のみを抽出してできるベクトルをhx1,2
第3行目のみを抽出してできるベクトルをhx1,3
・
・
・
第k行目のみを抽出してできるベクトルをhx1,k(k=1、2、3、・・・、M−1、M)
・
・
・
第M−1行目のみを抽出してできるベクトルをhx1,M−1
第M行目のみを抽出してできるベクトルをhx1,M
とすると、符号化率1/2の時変周期qのパリティ検査多項式に基づくLDPC−CCにおいて、テイルバイティングを行った際のパリティ検査行列Hmにおける情報X1に関連する部分行列Hx(図98の9801)は次式のようにあらわされる。
第1行目のみを抽出してできるベクトルをhcx1,1
第2行目のみを抽出してできるベクトルをhcx1,2
第3行目のみを抽出してできるベクトルをhcx1,3
・
・
・
第k行目のみを抽出してできるベクトルをhcx1,k(k=1、2、3、・・・、M−1、M)
・
・
・
第M−1行目のみを抽出してできるベクトルをhcx1,M−1
第M行目のみを抽出してできるベクトルをhcx1,M
とすると、符号化率1/2のテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号のパリティ検査行列Hcmの情報X1に関連する部分行列Hcx(図98の9802)は次式のようにあらわされる。
「hx1,1、hx1,2、hx1,3、・・・、hx1,M−2、hx1,M−1、hx1,Mは、「第k行目のみを抽出してできるベクトルをhcx1,k(k=1、2、3、・・・、M−1、M)」において、それぞれ1回ずつ出現する。」
つまり、
「hcx1,k=hx1,1を満たすkが1個存在する。
hcx1,k=hx1,2を満たすkが1個存在する。
hcx1,k=hx1,3を満たすkが1個存在する。
・
・
・
hcx1,k=hx1,jを満たすkが1個存在する。
・
・
・
hcx1,k=hx1,M−2を満たすkが1個存在する。
hcx1,k=hx1,M−1を満たすkが1個存在する。
hcx1,k=hx1,Mを満たすkが1個存在する。」
ことになる。
図99は、符号化率1/2のテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号のパリティ検査行列Hcm=[Hcx、Hcp]におけるパリティPc(ただし、パリティPcとは、上記連接符号におけるパリティを意味している。)に関連する部分行列Hcpの構成を示しており、パリティPcに関連する部分行列Hcpは、M行、M列の行列となる。
パリティPcに関連する部分行列Hcpのi行j列の要素をHcp,comp[i][j](iおよびjは1以上M以下の整数(i、j=1、2、3、・・・、M−1、M))とあらわすものとする。すると、以下が成立する。
図97から図99では、送信系列vj=(Xj,1,1、Xj,1,2、・・・、Xj,1,k、・・・、Xj,1,M、Pcj,1、Pcj,2、・・・、Pcj,k、・・・、Pcj,M)Tに対応する、パリティ検査行列、パリティ検査行列における情報に関連する部分行列、パリティ検査行列におけるパリティに関連する部分行列について説明した。以下では、図100に示したように、送信系列をv’j=(Xj,1,1、Xj,1,2、・・・、Xj,1,k、・・・、Xj,1,M、Pcj,M、Pcj,M−1、Pcj,M−2、・・・、Pcj,3、Pcj,2、Pcj,1)Tとしたとき(一例として、ここではパリティ系列のみ順番の入れ替えを行っている。)の符号化率1/2のテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号のパリティ検査行列、パリティ検査行列における情報に関連する部分行列、パリティ検査行列におけるパリティに関連する部分行列について説明する。
図100は、図97から図99の際の送信系列vj=(Xj,1,1、Xj,1,2、・・・、Xj,1,k、・・・、Xj,1,M、Pcj,1、Pcj,2、・・・、Pcj,k、・・・、Pcj,M)Tを、送信系列v’j=(Xj,1,1、Xj,1,2、・・・、Xj,1,k、・・・、Xj,1,M、Pcj,M、Pcj,M−1、Pcj,M−2、・・・、Pcj,3、Pcj,2、Pcj,1)Tと並び替えを行ったときの、
符号化率1/2のテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号のパリティ検査行列におけるパリティPc(ただし、パリティPcとは、上記連接符号におけるパリティを意味している。)に関連する部分行列H’cpの構成を示している。なお、パリティPcに関連する部分行列H’cpは、M行、M列の行列となる。
パリティPcに関連する部分行列H’cpのi行j列の要素をH’cp,comp[i][j](iおよびjは1以上M以下の整数(i、j=1、2、3、・・・、M−1、M))とあらわすものとする。すると、以下が成立する。
「第1行目はhcx1,M、
第2行目はhcx1,M−1、
・
・
・
第M−1行目はhcx1,2、
第M行目はhcx1,1」
とあらわされる。つまり、情報X1に関連する部分行列H’cx(10102)の第k行目(k=1、2、3、・・・、M−2、M−1、M)のみを抽出してできるベクトルはhcx1,M―k+1とあらわされる。なお、情報X1に関連する部分行列H’cx(10102)は、M行、M列の行列となる。
上述は、送信系列の順番を変更したときのパリティ検査行列の構成の一例を説明したが、以降では、送信系列の順番を変更したときのパリティ検査行列の構成について、一般化して説明する。
次に、送信系列の順番を入れ替えたときの符号化率1/2のテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号のパリティ検査行列の構成について説明する。
図104に、送信系列(符号語)v’j=(Yj,32、Yj,99、Yj,23、・・・、Yj,234、Yj,3、Yj,43)Tとした場合のパリティ検査行列H’cmの構成を示す。このとき、第j番目のブロックの送信系列v’jの第1行目の要素(図104において、送信系列v’jの転置行列v’j Tの場合、第1列目の要素)は、Yj,32である。したがって、パリティ検査行列H’cmの第1列目を抽出したベクトルは、上述で説明したベクトルck(k=1、2、3、・・・、2M−2、2M−1、2M)を用いると、c32となる。同様に、第j番目のブロックの送信系列v’jの第2行目の要素(図104において、送信系列v’jの転置行列v’j Tの場合、第2列目の要素)は、Yj,99である。したがって、パリティ検査行列H’cmの第2列目を抽出したベクトルは、c99となる。また、図104から、パリティ検査行列H’cmの第3列目を抽出したベクトルは、c23となり、パリティ検査行列H’cmの第2M−2列目を抽出したベクトルは、c234となり、パリティ検査行列H’cmの第2M−1列目を抽出したベクトルは、c3となり、パリティ検査行列H’cmの第2M列目を抽出したベクトルは、c43となる。
上述の解釈について説明する。まず、送信系列(符号語)の要素を並び替えることについて、一般的に説明する。図105は、符号化率(N−M)/N(N>M>0)のLDPC(ブロック)符号のパリティ検査行列Hの構成を示しており、例えば、図105のパリティ検査行列は、M行N列の行列となる。図105において、第j番目のブロックの送信系列(符号語)vj T=(Yj,1、Yj,2、Yj,3、・・・、Yj,N−2、Yj,N−1、Yj,N)とする(組織符号の場合、Yj,k(kは1以上N以下の整数)は、情報XまたはパリティPとなる。)。このとき、Hvj=0が成立する。(なお、ここでの「Hvj=0の0(ゼロ)」は、全ての要素が0のベクトルであることを意味する。つまり、すべてのk(kは1以上M以下の整数)において、第k行の値は0である。)このとき、第j番目のブロックの送信系列vjの第k行目(ただし、kは、1以上N以下の整数)の要素(図105において、送信系列vjの転置行列vj Tの場合、第k列目の要素)は、Yj,kであるとともに、符号化率(N−M)/N(N>M>0)のLDPC(ブロック)符号のパリティ検査行列Hの第k列目を抽出したベクトルを図105のようにckとあらわす。このとき、LDPC(ブロック)符号のパリティ検査行列Hは、以下のようにあらわされる。
成を示す。このとき、第j番目のブロックの送信系列v’jの第1行目の要素(図107において、送信系列v’jの転置行列v’j Tの場合、第1列目の要素)は、Yj,32である。したがって、パリティ検査行列H’の第1列目を抽出したベクトルは、上述で説明したベクトルck(k=1、2、3、・・・、N−2、N−1、N)を用いると、c32となる。同様に、第j番目のブロックの送信系列v’jの第2行目の要素(図107において、送信系列v’jの転置行列v’j Tの場合、第2列目の要素)は、Yj,99である。したがって、パリティ検査行列H’の第2列目を抽出したベクトルは、c99となる。また、図107から、パリティ検査行列H’の第3列目を抽出したベクトルは、c23となり、パリティ検査行列H’の第N−2列目を抽出したベクトルは、c234となり、パリティ検査行列H’の第N−1列目を抽出したベクトルは、c3となり、パリティ検査行列H’の第N列目を抽出したベクトルは、c43となる。
つまり、第j番目のブロックの送信系列v’jの第i行目の要素(図107において、送信系列v’jの転置行列v’j Tの場合、第i列目の要素)は、Yj,g(g=1、2、3、・・・、N−2、N−1、N)とあらわされたとき、パリティ検査行列H’の第i列目を抽出したベクトルは、上述で説明したベクトルckを用いると、cgとなる。
のようにあらわされる。
したがって、符号化率1/2のテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号の送信系列(符号語)に対し、インタリーブを施した場合、上述のように、符号化率1/2のテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号のパリティ検査行列に対し、列置換を行った行列が、インタリーブを施した送信系列(符号語)のパリティ検査行列となる。
よって、当然ながら、インタリーブを施した送信系列(符号語)を元の順番に戻した送信系列は、上記連接符号の送信系列(符号語)であり、そのパリティ検査行列は、符号化率1/2のテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号のパリティ検査行列である。
とする。すると、各ビットの対数尤度比計算部10800は、受信信号から、Yj,32の対数尤度比、Yj,99の対数尤度比、Yj,23の対数尤度比、・・・、Yj,234の対数尤度比、Yj,3の対数尤度比、Yj,43の対数尤度比を計算し、出力することになる。
例えば、蓄積および並び替え部(デインタリーブ部)10802は、Yj,32の対数尤度比、Yj,99の対数尤度比、Yj,23の対数尤度比、・・・、Yj,234の対数尤度比、Yj,3の対数尤度比、Yj,43の対数尤度比を入力とし、並び替えを行い、Yj,1の対数尤度比、Yj,2の対数尤度比、Yj,3の対数尤度比、・・・、Yj,N−2の対数尤度比、Yj,N−1の対数尤度比、Yj,Nの対数尤度比の順に出力するものとする。
例えば、送信装置が、第jブロックの送信系列(符号語)v’j=(Yj,32、Yj,99、Yj,23、・・・、Yj,234、Yj,3、Yj,43)Tを送信したものとする。すると、各ビットの対数尤度比計算部10800は、受信信号から、Yj,32の対数尤度比、Yj,99の対数尤度比、Yj,23の対数尤度比、・・・、Yj,234の対数尤度比、Yj,3の対数尤度比、Yj,43の対数尤度比を計算し、出力することになる(図108の10806に相当)。
したがって、符号化率1/2のテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号の送信系列(符号語)に対し、インタリーブを施した場合、上述のように、符号化率1/2のテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号のパリティ検査行列に対し、列置換を行った行列が、インタリーブを施した送信系列(符号語)のパリティ検査行列を受信装置は用いることで、得られた各ビットの対数尤度比に対し、デインタリーブを行わなくても、信頼度伝播復号を行い、推定系列を得ることができる。
図109は、符号化率(N−M)/NのLDPC(ブロック)符号の第j番目のブロックの送信系列(符号語)vj T=(Yj,1、Yj,2、Yj,3、・・・、Yj,N−2、Yj,N−1、Yj,N)に対応するパリティ検査行列Hの構成を示している。(組織符号の場合、Yj,k(kは1以上N以下の整数)は、情報XまたはパリティPとなる。そして、Yj,kは、(N−M)個の情報とM個のパリティで構成されていることになる。)。このとき、Hvj=0が成立する。(なお、ここでの「Hvj=0の0(ゼロ)」は、全ての要素が0のベクトルであることを意味する。つまり、すべてのk(kは1以上M以下の整数)において、第k行の値は0である。)そして、図109のパリティ検査行列Hの第k行目(kは1以上M以下の整数)を抽出したベクトルをzkとあらわす。このとき、LDPC(ブロック)符号のパリティ検査行列Hは、以下のようにあらわされる。
このとき、LDPC(ブロック)符号のパリティ検査行列H’は、以下のようにあらわされ、
つまり、第j番目のブロックの送信系列vj Tのとき、パリティ検査行列H’の第i行目を抽出したベクトルは、ベクトルck(kは1以上M以下の整数)のいずれかであらわされ、パリティ検査行列H’の第k行目(kは1以上M以下の整数)を抽出したM個の行ベクトルには、z1、z2、z3、・・・zM−2、zM−1、zM、がそれぞれ一つ存在することになる。
なお、「第j番目のブロックの送信系列vj Tのとき、パリティ検査行列H’の第i行目を抽出したベクトルは、ベクトルck(kは1以上M以下の整数)のいずれかであらわされ、パリティ検査行列H’の第k行目(kは1以上M以下の整数)を抽出したM個の行ベクトルには、z1、z2、z3、・・・zM−2、zM−1、zM、がそれぞれ一つ存在することになる。」の規則にしたがって、パリティ検査行列を作成すれば、上記の例に限らず、第j番目のブロックの送信系列vjのパリティ検査行列を得ることができる。
したがって、符号化率1/2のテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号を用いていても、必ずしも、図94〜図102を用いて説明したパリティ検査行列を用いるとは限らず、図97や図102のパリティ検査行列に対し、上述で説明した列置換を行った行列、または、行置換を行った行列をパリティ検査行列としてもよい。
テイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号の1ブロックを構成する情報X1をMビット、パリティビットPc(ただし、パリティPcは、上記連接符号におけるパリティを意味している。)をMビット(符号化率1/2であるので)としたとき、第j番目のブロックのMビットの情報X1を、Xj,1,1、Xj,1,2、・・・、Xj,1,k、・・・、Xj,1,Mとあらわし、第j番目のブロックのMビットのパリティビットPcをPcj,1、Pcj,2、・・・、Pcj,k、・・・、Pcj,Mとあらわす(したがって、k=1、2、3、・・・、M−1、M)。そして、送信系列vj=(Xj,1,1、Xj,1,2、・・・、Xj,1,k、・・・、Xj,1,M、Pcj,1、Pcj,2、・・・、Pcj,k、・・・、Pcj,M)Tとあらわす。すると、テイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号のパリティ検査行列Hcmは図97のようにあらわされ、また、Hcm=[Hcx、Hcp]とあらわす。(このとき、Hcmvj=0が成立する。なお、ここでの「Hcmvj=0の0(ゼロ)」は、全ての要素が0のベクトルであることを意味する。つまり、すべてのk(kは1以上M以下の整数)において、第k行の値は0である。)このとき、Hcxは上述の連接符号のパリティ検査行列Hcmの情報X1に関連する部分行列、Hcpは上述の連接符号のパリティ検査行列HcmのパリティPc(ただし、パリティPcとは、上記連接符号におけるパリティを意味している。)に関連する部分行列となり、図97に示すように、パリティ検査行列Hcmは、M行、2×M列の行列となり、情報X1に関連する部分行列Hcxは、M行、M列の行列となり、パリティPcに関連する部分行列Hcpは、M行、M列の行列となる。なお、情報X1に関連する部分行列Hcxの構成については、図98を用いて上述で説明したとおりである。したがって、以降では、パリティPcに関連する部分行列Hcpの構成について説明する。
図111の、図89のアキュミュレータを適用したときのパリティPcに関連する部分行列Hcpの構成では、パリティPcに関連する部分行列Hcpのi行j列の要素をHcp,comp[i][j](iおよびjは1以上M以下の整数(i、j=1、2、3、・・・、M−1、M))とあらわすものとすると、以下が成立する。
図112は、図90のアキュミュレータを適用したときのパリティPcに関連する部分行列Hcpの構成の一例を示している。
図112の、図90のアキュミュレータを適用したときのパリティPcに関連する部分行列Hcpの構成では、パリティPcに関連する部分行列Hcpのi行j列の要素をHcp,comp[i][j](iおよびjは1以上M以下の整数(i、j=1、2、3、・・・、M−1、M))とあらわすものとすると、以下が成立する。
なお、図88の符号化部、図88に対し図89のアキュミュレータを適用した符号化部、図88に対し図90のアキュミュレータを適用した符号化部、いずれも、図88の構成に基づいて、パリティを求める必要はなく、これまで説明したパリティ検査行列から、パリティを求めることができる。この場合、第j番目のブロックにおける情報Xを一括して蓄積し、その蓄積した情報Xとパリティ検査行列を用いて、パリティを求めればよいことになる。
次に、符号化率1/2のテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号のパリティ検査行列において、情報X1に関連する部分行列の列重みがすべて等しいときの符号生成方法について説明する。
方法1:
方法2:
次に、特に、r1を3と設定したとき、式(196)においてa#g,p,qの設定例について説明する。
r1を3と設定したとき、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号の0を満たすパリティ検査多項式は以下のように与えることができる。
<条件17−2>
「a#0,1,1%q=a#1,1,1%q=a#2,1,1%q=a#3,1,1%q=・・・=a#g,1,1%q=・・・=a#q−2,1,1%q=a#q−1,1,1%q=v1 (v1:固定値)」
「a#0,1,2%q=a#1,1,2%q=a#2,1,2%q=a#3,1,2%q=・・・=a#g,1,2%q=・・・=a#q−2,1,2%q=a#q−1,1,2%q=v2 (v2:固定値)」
「a#0,1,3%q=a#1,1,3%q=a#2,1,3%q=a#3,1,3%q=・・・=a#g,1,3%q=・・・=a#q−2,1,3%q=a#q−1,1,3%q=v3 (v3:固定値)」
なお、上記において、「%」はmoduloを意味する、つまり、「α%q」は、αをqで除算したときの余りを示す。<条件17−2>を別の表現をすると、以下のように表現することができる。
<条件17−2’>
「a#k,1,1%q=v1 for ∀k k=0,1,2,・・・,q−3,q−2,q−1
(v1:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,1,1%q=v1(v1:固定値)が成立する。)
「a#k,1,2%q=v2 for ∀k k=0,1,2,・・・,q−3,q−2,q−1
(v2:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,1,2%q=v2(v2:固定値)が成立する。)
「a#k,1,3%q=v3 for ∀k k=0,1,2,・・・,q−3,q−2,q−1
(v3:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,1,3%q=v3(v3:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件17−3>
「v1≠v2、かつ、v1≠v3、かつ、v2≠v3、かつ、v1≠0、かつ、v2≠0、かつ、v3≠0」
なお、<条件17−3>を満たすためには、時変周期qは4以上なくてはならない。(パリティ検査多項式におけるX1(D)の項数から導かれる。)
以上の条件を満した、符号化率1/2のテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号とすることで、高い誤り訂正能力を得ることができる。
また、r1を3より大きい場合でも、高い誤り訂正能力が得られることがある。この場合について説明する。
r1を4以上と設定したとき、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号の0を満たすパリティ検査多項式は以下のように与えることができる。
<条件17−4>
「a#0,1,1%q=a#1,1,1%q=a#2,1,1%q=a#3,1,1%q=・・・=a#g,1,1%q=・・・=a#q−2,1,1%q=a#q−1,1,1%q=v1 (v1:固定値)」
「a#0,1,2%q=a#1,1,2%q=a#2,1,2%q=a#3,1,2%q=・・・=a#g,1,2%q=・・・=a#q−2,1,2%q=a#q−1,1,2%q=v2 (v2:固定値)」
「a#0,1,3%q=a#1,1,3%q=a#2,1,3%q=a#3,1,3%q=・・・=a#g,1,3%q=・・・=a#q−2,1,3%q=a#q−1,1,3%q=v3 (v3:固定値)」
・
・
・
「a#0,1,r1−1%q=a#1,1,r1−1%q=a#2,1,r1−1%q=a#3,1,r1−1%q=・・・=a#g,1,r1−1%q=・・・=a#q−2,1,r1−1%q=a#q−1,1,r1−1%q=vr1−1 (vr1−1:固定値)」
「a#0,1,r1%q=a#1,1,r1%q=a#2,1,r1%q=a#3,1,r1%q=・・・=a#g,1,r1%q=・・・=a#q−2,1,r1%q=a#q−1,1,r1%q=vr1 (vr1:固定値)」
なお、上記において、「%」はmoduloを意味する、つまり、「α%q」は、αをqで除算したときの余りを示す。<条件17−4>を別の表現をすると、以下のように表現することができる。なお、jは1以上r1以下の整数。
<条件17−4’>
「a#k,1,j%q=vj for ∀k k=0,1,2,・・・,q−3,q−2,q−1
(vj:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,1,j%q=vj(vj:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件17−5>
「iは1以上r1以下の整数であり、すべてのiにおいて、vi≠0が成立する。」
かつ
「iが1以上r1以下の整数、かつ、jが1以上r1以下の整数、かつ、i≠jであるすべてのi、すべてのjでvi≠vjが成立する。」
なお、<条件17−5>を満たすためには、時変周期qはr1+1以上なくてはならない。(パリティ検査多項式におけるX1(D)の項数から導かれる。)
以上の条件を満した、符号化率1/2のテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号とすることで、高い誤り訂正能力を得ることができる。
次に、符号化率1/2のテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号で使用する、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすg番目(g=0、1、・・・、q−1)のパリティ検査多項式を次式であらわす場合を考える。
特に、r1を4と設定したとき、式(204)においてa#g,p,qの設定例について説明する。
r1を4と設定したとき、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号の0を満たすパリティ検査多項式は以下のように与えることができる。
<条件17−6>
「a#0,1,1%q=a#1,1,1%q=a#2,1,1%q=a#3,1,1%q=・・・=a#g,1,1%q=・・・=a#q−2,1,1%q=a#q−1,1,1%q=v1 (v1:固定値)」
「a#0,1,2%q=a#1,1,2%q=a#2,1,2%q=a#3,1,2%q=・・・=a#g,1,2%q=・・・=a#q−2,1,2%q=a#q−1,1,2%q=v2 (v2:固定値)」
「a#0,1,3%q=a#1,1,3%q=a#2,1,3%q=a#3,1,3%q=・・・=a#g,1,3%q=・・・=a#q−2,1,3%q=a#q−1,1,3%q=v3 (v3:固定値)」
「a#0,1,4%q=a#1,1,4%q=a#2,1,4%q=a#3,1,4%q=・・・=a#g,1,4%q=・・・=a#q−2,1,4%q=a#q−1,1,4%q=v4 (v4:固定値)」
なお、上記において、「%」はmoduloを意味する、つまり、「α%q」は、αをqで除算したときの余りを示す。<条件17−6>を別の表現をすると、以下のように表現することができる。
<条件17−6’>
「a#k,1,1%q=v1 for ∀k k=0,1,2,・・・,q−3,q−2,q−1
(v1:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,1,1%q=v1(v1:固定値)が成立する。)
「a#k,1,2%q=v2 for ∀k k=0,1,2,・・・,q−3,q−2,q−1
(v2:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,1,2%q=v2(v2:固定値)が成立する。)
「a#k,1,3%q=v3 for ∀k k=0,1,2,・・・,q−3,q−2,q−1
(v3:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,1,3%q=v3(v3:固定値)が成立する。)
「a#k,1,4%q=v4 for ∀k k=0,1,2,・・・,q−3,q−2,q−1
(v4:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,1,4%q=v4(v4:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件17−7>
「v1≠v2、かつ、v1≠v3、かつ、v1≠v4、かつ、v2≠v3、かつ、v2≠v4、かつ、v3≠v4」
なお、<条件17−7>を満たすためには、時変周期qは4以上なくてはならない。(パリティ検査多項式におけるX1(D)の項数から導かれる。)
以上の条件を満した、符号化率1/2のテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号とすることで、高い誤り訂正能力を得ることができる。
また、r1を4より大きい場合でも、高い誤り訂正能力が得られることがある。この場合について説明する。
r1を5以上と設定したとき、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号の0を満たすパリティ検査多項式は以下のように与えることができる。
したがって、r1を5以上の時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号の0を満たすパリティ検査多項式は以下のように与えることができる。
<条件17−8>
「a#0,1,1%q=a#1,1,1%q=a#2,1,1%q=a#3,1,1%q=・・・=a#g,1,1%q=・・・=a#q−2,1,1%q=a#q−1,1,1%q=v1 (v1:固定値)」
「a#0,1,2%q=a#1,1,2%q=a#2,1,2%q=a#3,1,2%q=・・・=a#g,1,2%q=・・・=a#q−2,1,2%q=a#q−1,1,2%q=v2 (v2:固定値)」
「a#0,1,3%q=a#1,1,3%q=a#2,1,3%q=a#3,1,3%q=・・・=a#g,1,3%q=・・・=a#q−2,1,3%q=a#q−1,1,3%q=v3 (v3:固定値)」
・
・
・
「a#0,1,r1−1%q=a#1,1,r1−1%q=a#2,1,r1−1%q=a#3,1,r1−1%q=・・・=a#g,1,r1−1%q=・・・=a#q−2,1,r1−1%q=a#q−1,1,r1−1%q=vr1−1 (vr1−1:固定値)」
「a#0,1,r1%q=a#1,1,r1%q=a#2,1,r1%q=a#3,1,r1%q=・・・=a#g,1,r1%q=・・・=a#q−2,1,r1%q=a#
q−1,1,r1%q=vr1 (vr1:固定値)」
なお、上記において、「%」はmoduloを意味する、つまり、「α%q」は、αをqで除算したときの余りを示す。<条件17−8>を別の表現をすると、以下のように表現することができる。なお、jは1以上r1以下の整数。
<条件17−8’>
「a#k,1,j%q=vj for ∀k k=0,1,2,・・・,q−3,q−2,q−1
(vj:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,1,j%q=vj(vj:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件17−9>
「iが1以上r1以下の整数、かつ、jが1以上r1以下の整数、かつ、i≠jであるすべてのi、すべてのjでvi≠vjが成立する。」
なお、<条件17−9>を満たすためには、時変周期qはr1以上なくてはならない。(パリティ検査多項式におけるX1(D)の項数から導かれる。)
以上の条件を満した、符号化率1/2のテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号とすることで、高い誤り訂正能力を得ることができる。
次に、符号化率1/2のテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号のパリティ検査行列において、情報X1に関連する部分行列がイレギュラーのときの符号生成方法、つまり、非特許文献36に示されているイレギュラーLDPC符号の生成方法について説明する。
次に、r1を3以上と設定したとき、式(208)において高い誤り訂正能力を得るための条件について説明する。
r1を3以上の時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号の0を満たすパリティ検査多項式は以下のように与えることができる。
<条件17−10>
「a#0,1,1%q=a#1,1,1%q=a#2,1,1%q=a#3,1,1%q=・・・=a#g,1,1%q=・・・=a#q−2,1,1%q=a#q−1,1,1%q=v1 (v1:固定値)」
「a#0,1,2%q=a#1,1,2%q=a#2,1,2%q=a#3,1,2%q=・・・=a#g,1,2%q=・・・=a#q−2,1,2%q=a#q−1,1,2%q=v2 (v2:固定値)」
なお、上記において、「%」はmoduloを意味する、つまり、「α%q」は、αをqで除算したときの余りを示す。<条件17−10>を別の表現をすると、以下のように表現することができる。なお、jは1、2である。
<条件17−10’>
「a#k,1,j%q=vj for ∀k k=0,1,2,・・・,q−3,q−2,q−1(vj:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,1,j%q=vj(vj:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件17−11>
「v1≠0、かつ、v2≠0が成立する。」
かつ
「v1≠v2が成立する。」
そして、「情報X1に関連する部分行列がイレギュラー」でなければならないので、以下の条件を与える。
<条件17−12>
「a#i,1,v%q=a#j,1,v%q for ∀i∀j i,j=0,1,2,・・・,q−3,q−2,q−1;i≠j」
(iは0以上q−1以下の整数であり、かつ、jは0以上q−1以下の整数であり、かつ、i≠jであり、これを満たす、すべてのi、すべてのjでa#i,1,v%q=a#j,1,v%qが成立する。)・・・条件#Xa
vは3以上r1以下の整数であり、すべてのvで「条件#Xa」を満たすことはない。
なお、<条件17−12>を別の表現をすると以下のような条件となる。
<条件17−12’>
「a#i,1,v%q≠a#j,1,v%q for ∃i∃j i,j=0,1,2,・・・,q−3,q−2,q−1;i≠j」
(iは0以上q−1以下の整数であり、かつ、jは0以上q−1以下の整数であり、かつ、i≠jであり、a#i,1,v%q≠a#j,1,v%qが成立するi、jが存在する。)・・・条件#Ya
vは3以上r1以下の整数であり、すべてのvで「条件#Ya」を満たす。
このようにすることで、「情報X1に関連する部分行列において、最低列重みを3となり」、以上の条件を満した、符号化率1/2のテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号とすることで、「イレギュラーLDPC符号」を生成することができ、高い誤り訂正能力を得ることができる。
とする。また、y,z=1,2,・・・,rp、y≠zの∀(y,z)に対して、a#g,p,y≠a#g,p,zを満たす。
次に、r1を4以上と設定したとき、式(208)において高い誤り訂正能力を得るための条件について説明する。
<条件17−13>
「a#0,1,1%q=a#1,1,1%q=a#2,1,1%q=a#3,1,1%q=・・・=a#g,1,1%q=・・・=a#q−2,1,1%q=a#q−1,1,1%q=v1 (v1:固定値)」
「a#0,1,2%q=a#1,1,2%q=a#2,1,2%q=a#3,1,2%q=・・・=a#g,1,2%q=・・・=a#q−2,1,2%q=a#q−1,1,2%q=v2 (v2:固定値)」
「a#0,1,3%q=a#1,1,3%q=a#2,1,3%q=a#3,1,3%q=・・・=a#g,1,3%q=・・・=a#q−2,1,3%q=a#q−1,1,
3%q=v3 (v3:固定値)」
なお、上記において、「%」はmoduloを意味する、つまり、「α%q」は、αをqで除算したときの余りを示す。<条件17−13>を別の表現をすると、以下のように表現することができる。なお、jは1、2、3である。
<条件17−13’>
「a#k,1,j%q=vj for ∀k k=0,1,2,・・・,q−3,q−2,q−1(vj:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,1,j%q=vj(vj:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件17−14>
「v1≠v2、v1≠v3、v2≠v3が成立する。」
そして、「情報X1に関連する部分行列がイレギュラー」でなければならないので、以下の条件を与える。
<条件17−15>
「a#i,1,v%q=a#j,1,v%q for ∀i∀j i,j=0,1,2,・・・,q−3,q−2,q−1;i≠j」
(iは0以上q−1以下の整数であり、かつ、jは0以上q−1以下の整数であり、かつ、i≠jであり、これを満たす、すべてのi、すべてのjでa#i,1,v%q=a#j,1,v%qが成立する。)・・・条件#Xb
vは4以上r1以下の整数であり、すべてのvで「条件#Xb」を満たすことはない。
なお、<条件17−15>を別の表現をすると以下のような条件となる。
<条件17−15’>
「a#i,1,v%q≠a#j,1,v%q for ∃i∃j i,j=0,1,2,・
・・,q−3,q−2,q−1;i≠j」
(iは0以上q−1以下の整数であり、かつ、jは0以上q−1以下の整数であり、かつ、i≠jであり、a#i,1,v%q≠a#j,1,v%qが成立するi、jが存在する。)・・・条件#Yb
vは4以上r1以下の整数であり、すべてのvで「条件#Yb」を満たす。
このようにすることで、「情報X1に関連する部分行列において、最低列重みを3となり」、以上の条件を満した、符号化率1/2のテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号とすることで、「イレギュラーLDPC符号」を生成することができ、高い誤り訂正能力を得ることができる。
なお、本実施の形態で述べた符号化率1/2のテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号は、本実施の形態で述べたいずれの符号生成方法を用いて生成した符号も、図108を用いて説明したように、本実施の形態で述べたパリティ検査行列の生成方法を用いて生成したパリティ検査行列に基づき、非特許文献4〜6に
示されているようなBP復号、sum-product復号、min-sum復号、offset BP復号、Normalized BP復号、Shuffled BP復号、スケジューリングを行ったLayered BP復号などの信頼度
伝播復号を行うことで、復号を行うことができ、これにより、高速な復号を実現することができ、かつ、高い誤り訂正能力を得ることができるという効果を得ることができる。
以上の説明ように、符号化率1/2のテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号の生成方法、符号化器、パリティ検査行列の構成、復号方法等を実施することで、高速な復号を実現可能な信頼度伝播アルゴリズムを用いた復号方法を適用し、高い誤り訂正能力を得ることができるという効果を得ることができる。なお、本実施の形態で説明した要件は、一例であって、これ以外の方法でも高い誤り訂正能力を得ることができる誤り訂正符号を生成できることは可能である。
(実施の形態18)
実施の形態17では、符号化率1/2のテイルバイティング方法を用いた、パリティ検査多項式に基づく、フィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号について説明した。本実施の形態は、実施の形態17に対し、符号化率を(n−1)/nのテイルバイティング方法を用いた、パリティ検査多項式に基づく、フィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号について説明する。
そして、
i番目のブロックの1ブロックに含まれる情報X1をXi,1,0、Xi,1,1、Xi,1,2、・・・、Xi,1,j(j=0、1、2、・・・、M−3、M−2、M−1)、・・・、Xi,1,M−2、Xi,1,M−1、
i番目のブロックの1ブロックに含まれる情報X2をXi,2,0、Xi,2,1、Xi,2,2、・・・、Xi,2,j(j=0、1、2、・・・、M−3、M−2、M−1)、・・・、Xi,2,M−2、Xi,2,M−1、
・
・
・
i番目のブロックの1ブロックに含まれる情報XkをXi,k,0、Xi,k,1、Xi,k,2、・・・、Xi,k,j(j=0、1、2、・・・、M−3、M−2、M−1)、・・・、Xi,k,M−2、Xi,k,M−1、(k=1、2、・・・、n−2、n−1)
・
・
・
i番目のブロックの1ブロックに含まれる情報Xn−1をXi,n−1,0、Xi,n−1,1、Xi,n−1,2、・・・、Xi,n−1,j(j=0、1、2、・・・、M−3、M−2、M−1)、・・・、Xi,n−1,M−2、Xi,n−1,M−1、
とする。
情報X2に関連する処理部11300_2は、X2用演算部11302_2を具備し、テイルバイティング方法を用いたときの、X2用演算部11302_2は、i番目のブロックの符号化を行う際、情報をXi,2,0、Xi,2,1、Xi,2,2、・・・、Xi,2,j(j=0、1、2、・・・、M−3、M−2、M−1)、・・・、Xi,2,M−2、Xi,2,M−1(11301_2)を入力とし、情報X2に関連する処理部を施し、演算後のデータAi,2,0、Ai,2,1、Ai,2,2、・・・、Ai,2,j(j=0、1、2、・・・、M−3、M−2、M−1)、・・・、Ai,2,M−2、Ai,2,M−1(11303_2)を出力する。
・
・
・
情報Xn−1に関連する処理部11300_n−1は、Xn−1用演算部11302_n−1を具備し、テイルバイティング方法を用いたときの、Xn−1用演算部11302_n−1は、i番目のブロックの符号化を行う際、情報をXi,n−1,0、Xi,n−1,1、Xi,n−1,2、・・・、Xi,n−1,j(j=0、1、2、・・・、M−3、M−2、M−1)、・・・、Xi,n−1,M−2、Xi,n−1,M−1(11301_n−1)を入力とし、情報Xn−1に関連する処理部を施し、演算後のデータAi,n−1,0、Ai,n−1,1、Ai,n−1,2、・・・、Ai,n−1,j(j=0、1、2、・・・、M−3、M−2、M−1)、・・・、Ai,n−1,M−2、Ai,n−1,M−1(11303_n−1)を出力する。
また、図113の符号化器は、組織符号であるため、
情報X1をXi,1,0、Xi,1,1、Xi,1,2、・・・、Xi,1,j(j=0、1、2、・・・、M−3、M−2、M−1)、・・・、Xi,1,M−2、Xi,1,M−1、
情報X2をXi,2,0、Xi,2,1、Xi,2,2、・・・、Xi,2,j(j=0、1、2、・・・、M−3、M−2、M−1)、・・・、Xi,2,M−2、Xi,2,M−1、
・
・
・
情報XkをXi,k,0、Xi,k,1、Xi,k,2、・・・、Xi,k,j(j=0、1、2、・・・、M−3、M−2、M−1)、・・・、Xi,k,M−2、Xi,k,M−1、
(k=1、2、・・・、n−2、n−1)
・
・
・
情報Xn−1をXi,n−1,0、Xi,n−1,1、Xi,n−1,2、・・・、Xi,n−1,j(j=0、1、2、・・・、M−3、M−2、M−1)、・・・、Xi,n−1,M−2、Xi,n−1,M−1、も出力する。
i番目のブロック、時点jにおいて、演算後のデータ11303_1はAi,1,j、演算後のデータ11303_2はAi,2,j、・・・、演算後のデータ11303_kはAi,k,j、・・・、演算後のデータ11303_n−1はAi,n−1,jとなるので、mod2加算器(modulo 2の加算器、つまり、排他的論理和演算器)11304は、i番目のブロック、時点jのLDPC畳み込み符号化後のパリティ8803(Pi,c,j)を以下のように求める。
アキュミュレータ(Accumulator)8806は、並び替え後のLDPC畳み込み符号化後のパリティ8805を入力とし、アキュミュレート(Accmulate)し、アキュミュレート後のパリティ8807を出力する。
このとき、アキュミュレート後のパリティ8807が、図113の符号化器において、出力となるパリティであり、i番目のブロックにおけるパリティをPi,0、Pi,1、Pi,2、・・・、Pi,j(j=0、1、2、・・・、M−3、M−2、M−1)、・・・、Pi,M−2、Pi,M−1とあらわすと、i番目のブロックの符号語は、Xi,1,0、Xi,1,1、Xi,1,2、・・・、Xi,1,j(j=0、1、2、・・・、M−3、M−2、M−1)、・・・、Xi,1,M−2、Xi,1,M−1、Xi,2,0、Xi,1,1、Xi,2,2、・・・、Xi,2,j(j=0、1、2、・・・、M−3、M−2、M−1)、・・・、Xi,2,M−2、Xi,2,M−1、・・・、Xi,n−2,0、Xi,n−2,1、Xi,n−2,2、・・・、Xi,n−2,j(j=0、1、2、・・・、M−3、M−2、M−1)、・・・、Xi,n−2,M−2、Xi,n−2,M−1、Xi,n−1,0、Xi,n−1,1、Xi,n−1,2、・・・、Xi,n−1,j(j=0、1、2、・・・、M−3、M−2、M−1)、・・・、Xi,n−1,M−2、Xi,n−1,M−1、Pi,0、Pi,1、Pi,2、・・・、Pi,j(j=0、1、2、・・・、M−3、M−2、M−1)、・・・、Pi,M−2、Pi,M−1となる。
情報Xkに関連する処理部において、第2シフトレジスタ11402−2は、第1シフトレジスタ11402−1が出力した値を入力とする。また、第3シフトレジスタ11402−3は、第2シフトレジスタ11402−2が出力した値を入力とする。したがって、第Yシフトレジスタ11402−Yは、第Y−1シフトレジスタ11402―(Y−1)が出力した値を入力とする。ただし、Y=2、3、4、・・・、Lk−2、Lk−1、Lkとなる。
ウェイト制御部11405は、内部に保持するLDPC畳み込み符号のパリティ検査多項式(または、LDPC畳み込み符号のパリティ検査行列)に基づいて、そのタイミングにおけるhk (m)の値を出力し、ウェイト乗算器11403−0〜11403−Lkに供給する。
図114における情報Xkに関連する処理部を保有することにより、図113のテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号の符号化器11305は、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号のパリティ検査多項式(または、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号のパリティ検査行列)にしたがったLDPC−CCの符号化を行うことができる。
図113のインタリーバ8804の動作の詳細を8816に示している。インタリーバ、つまり、蓄積及び並び替え部8818は、LDPC畳み込み符号化後のパリティPi,c,0、Pi,c,1、Pi,c,2、・・・、Pi,c,M−3、Pi,c,M−2、Pi,c,M−1を入力とし、入力したデータを蓄積し、その後並び替えを行う。したがって、蓄積及び並び替え部8818は、Pi,c,0、Pi,c,1、Pi,c,2、・・・、Pi,c,M−3、Pi,c,M−2、Pi,c,M−1に対して、出力の順番が変更される、例えば、Pi,c,254、Pi,c,47、・・・、Pi,c,M−1、・・・、Pi,c,0、・・・と出力する。
図89は、図113のアキュミュレータ8806と異なるアキュミュレータの構成を示しており、図113において、アキュミュレータ8806の代わりに図89のアキュミュレータを用いてもよい。
グで、保持している値を右隣のシフトレジスタに出力し、左隣のシフトレジスタから出力される値を新たに保持する。なお、アキュミュレータ8900は、i番目のブロックの処理を行う際、第1シフトレジスタ8902−1〜第Rシフトレジスタ8902−Rいずれのシフトレジスタも初期値としては“0”を設定する。なお、第1シフトレジスタ8902−1〜第Rシフトレジスタ8902−Rは、ブロック毎に初期値を設定することになる。したがって、例えば、i+1番目のブロックの符号化を行う際、第1シフトレジスタ8902−1〜第Rシフトレジスタ8902−Rいずれのシフトレジスタも初期値として“0”を設定する。
ウェイト制御部8904は、内部に保持するパリティ検査行列におけるアキュミュレータに関連素部部分行列に基づいて、そのタイミングにおけるh1 (m)の値を出力し、ウェイト乗算器8903−1〜8903−Rに供給する。
パリティ検査多項式に基づく時変LDPC符号については、本明細書で詳しく説明している。また、テイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号については、実施の形態15で説明したが、ここで、再度説明するとともに、本実施の形態における連接符号において、高い誤り訂正能力を得るためのテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号の要件の例について説明する。
X1,X2,・・・,Xn−1の情報ビット、及びパリティビットPの時点jにおけるビットをそれぞれX1,j,X2,j,・・・,Xn−1,j及びPjと表す。そして、時点jにおけるベクトルujをuj=(X1,j,X2,j,・・・,Xn−1,j,Pj)と表す。また、符号化系列をu=(u0,u1,・・・,uj,)Tと表す。Dを遅延演算子とすると、情報ビットX1,X2,・・・,Xn−1の多項式はX1(D),X2(D),・・・,Xn−1(D)と表され、パリティビットPの多項式はP(D)と表される。このとき、符号化率(n−1)/nのパリティ検査多項式に基づくフィードフォワードLDPC−CCにおいて、式(213)で表される0を満たすパリティ検査多項式を考える。
符号化率R=(n−1)/n、時変周期mのLDPC−CCを作成するために、式(213)に基づく0を満たすパリティ検査多項式を用意する。このときi番目(i=0,1,・・・,m−1)の0を満たすパリティ検査多項式を式(214)のように表す。
なお、テイルバイティングを行っている、行っていないに関係なく、時変周期mのパリティ検査多項式に基づくLDPC−CCのパリティ検査行列のY行目が時変周期mのLDPC−CCの0番目の0を満たすパリティ検査多項式に対応する行であるとすると、パリティ検査行列のY+1行目は時変周期mのLDPC−CCの1番目の0を満たすパリティ検査多項式に対応する行、パリティ検査行列のY+2行目は時変周期mのLDPC−CCの2番目の0を満たすパリティ検査多項式に対応する行、・・・、パリティ検査行列のY+j行目は時変周期mのLDPC−CCのj番目の0を満たすパリティ検査多項式に対応する行(j=0、1、2、3、・・・、m−3、m−2、m−1)、・・・、パリティ検査行列のY+m−1行目は時変周期mのLDPC−CCのm−1番目の0を満たすパリティ検査多項式に対応する行となる。
なお、本実施の形態におけるテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号では、高い誤り訂正能力を得るためには、式(213)で表される0を満たすパリティ検査多項式において、r1、r2、・・・、rn−2、rn−1いずれも3以上であるとよく、つまり、kは1以上n−1以下の整数であり、すべてのkにおいてrkが3以上を満たすとよく、また、式(218)で表される0を満たすパリティ検査多項式において、r1、r2、・・・、rn−2、rn−1いずれも4以上であるとよく、つまり、kは1以上n−1以下の整数であり、すべてのkにおいてrkが4以上を満たすとよい。
したがって、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号の0を満たすパリティ検査多項式は以下のように与えることができる。
また、式(219)を参考にすると、本実施の形態の連接符号で使用する、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすg番目(g=0、1、・・・、q−1)のパリティ検査多項式(式(128)参照)は式(221)のように表わされる。
以上のように、本実施の形態の連接符号で使用する、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすq個のパリティ検査多項式において、いずれの0を満たすパリティ検査多項式においても、X1(D)の項、X2(D)の項、・・・、Xn−1(D)の項、が4つ以上存在すると、高い誤り訂正能力を得ることができる可能性が高い。
また、例えば、実施の形態6で説明したように、タナ−グラフを描いた際、時変周期を大きくした効果を得るためには、情報X1(D)の項、X2(D)の項、・・・、Xn−1(D)の項、の数が4つ以上となるため、時変周期は奇数であるとよく、他の有効な条件としては、
(1)時変周期qが素数であること。
(3)時変周期qをα×βとする。
ただし、α、βは、1を除く奇数であり、かつ、素数。
(4)時変周期qをαnとする。
ただし、αは、1を除く奇数であり、かつ、素数であり、nは2以上の整数。
ただし、α、β、γは、1を除く奇数であり、かつ、素数。
(6)時変周期qをα×β×γ×δとする。
ただし、α、β、γ、δは、1を除く奇数であり、かつ、素数。
となる。ただし、時変周期qが大きければ、実施の形態6で説明した効果を得ることができるので、時変周期qが偶数とすると高い誤り訂正能力をもつ符号が得られない、というわけではない。
例えば、時変周期qが偶数のとき、以下のような条件を満たしてもよい。
(7)時変周期qを2g×Kとする。
ただし、Kが素数であり、かつ、gは1以上の整数とする。
(8)時変周期qを2g×Lとする
ただし、Lが奇数であり、かつ、Lの約数の数が少ないこと、かつ、gは1以上の整数とする。
(9)時変周期qを2g×α×βとする。
ただし、α、βは1を除く奇数、かつ、α、βは素数であり、かつ、gは1以上の整数とする。
(10)時変周期qを2g×αnとする。
ただし、αは1を除く奇数であり、かつ、αは素数であり、かつ、nは2以上の整数であり、かつ、gは1以上の整数とする。
(11)時変周期qを2g×α×β×γとする。
ただし、α、β、γは1を除く奇数であり、かつ、α、β、γは素数であり、かつ、gは1以上の整数とする。
(12)時変周期qを2g×α×β×γ×δとする。
ただし、α、β、γ、δは1を除く奇数であり、かつ、α、β、γ、δは素数であり、かつ、gは1以上の整数とする。
ただし、時変周期qが上記の(1)から(6)を満たさない奇数の場合でも、高い誤り訂正能力を得ることができる可能性があり、また、時変周期qが上記の(7)から(12)を満たさない偶数の場合でも、高い誤り訂正能力を得ることができる可能性がある。
[テイルバイティング方法]
上述で説明した本実施の形態の連接符号で使用する、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすg番目(g=0、1、・・・、q−1)のパリティ検査多項式(式(128)参照)は式(223)のように表わされる。
図115と式(135)から、パリティ検査多項式に基づく時変周期q、符号化率(n−1)/nのLDPC−CCにおいて、より高い誤り訂正能力を得るために、復号の際に必要とするパリティ検査行列Hでは、以下の条件が重要となる。
・パリティ検査行列の行数は、qの倍数である。
・したがって、パリティ検査行列の列数はn×qの倍数である。このとき、復号時に必要な(例えば)対数尤度比は、n×qの倍数のビット分の対数尤度比である。
ただし、条件#18−1が必要となる時変周期q、符号化率(n−1)/nのLDPC−CCの0を満たすパリティ検査多項式は、式(223)に限ったものではなく、式(221)に基づく周期qの周期的時変LDPC−CCであってもよい。
<手順18−1>
例えば、式(223)で定義される周期qの周期的時変LDPC−CCでは、P(D)は以下のように表される。
式(223)で定義される周期qの周期的時変LDPC−CCとは異なる式(221)の周期qの周期的時変LDPC−CCを考える。このとき、
式(221)についてもテイルバイティングを説明する。P(D)は以下のように表される。
上述の説明にあたり、はじめに、テイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号のパリティ検査行列について説明する。
式(223)に対応するサブ行列(ベクトル)をHgとすると、第gサブ行列は、前述で述べたように式(224)で表すことができる。
符号11707は時点q×N−1に相当する列群を示しており、符号11707の列群は、Xj,1,q×N−1、Xj,2,q×N−1、・・・、Xj,n−2,q×N−1、Xj,n−1,q×N−1、Pj,q×N−1の順に並んでいる。符号11708は時点q×Nに相当する列群を示しており、符号11708の列群は、Xj,1,q×N、Xj,2,q×N、・・・、Xj,n−2,q×N、Xj,n−1,q×N、Pj,q×Nの順に並んでいる。符号11709は時点1に相当する列群を示しており、符号11709の列群は、Xj,1,1、Xj,2,1、・・・、Xj,n−2,1、Xj,n−1,1、Pj,1の順に並んでいる。符号11710は時点2に相当する列群を示しており、符号11710の列群は、Xj,1,2、Xj,2,2、・・・、Xj,n−2,2、Xj,n−1,2、Pj,2の順に並んでいる。
図95は、符号化率(n−1)/nの時変周期qのパリティ検査多項式に基づくLDPC−CCにおいて、テイルバイティングを行った際のパリティ検査行列HmにおけるパリティPに関連する部分行列Hpの構成を示している。図95に示すように、パリティPに関連する部分行列Hpのi行i列(iは1以上Mの整数(i=1、2、3、・・・、M−1、M))の要素が「1」であり、その以外の要素は「0」となる。
第1行は、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすパリティ検査多項式(式(221)または式(223))の0番目(つまり、g=0)のパリティ検査多項式のパリティPに関連する部分のベクトルであり、
第2行は、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすパリティ検査多項式(式(221)または式(223))の1番目(つまり、g=1)のパリティ検査多項式のパリティPに関連する部分のベクトルであり、
・
・
・
第q+1行は、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすパリティ検査多項式(式(221)または式(223))のq番目(つまり、g=q)のパリティ検査多項式のパリティPに関連する部分のベクトルであり、
第q+2行は、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすパリティ検査多項式(式(221)または式(223))の0番目(つまり、g=0)のパリティ検査多項式のパリティPに関連する部分のベクトルであり、
・
・
・
となる。
第1行は、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすパリティ検査多項式(式(221)または式(223))の0番目(つまり、g=0)のパリティ検査多項式の情報Xzに関連する部分のベクトルであり、
第2行は、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすパリティ検査多項式(式(221)または式(223))の1番目(つまり、g=1)のパリティ検査多項式の情報Xzに関連する部分のベクトルであり、
・
・
・
第q+1行は、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすパリティ検査多項式(式(221)または式(223))のq番目(つまり、g=q)のパリティ検査多項式の情報Xzに関連する部分のベクトルであり、
第q+2行は、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすパリティ検査多項式(式(221)または式(223))の0番目(つまり、g=0)のパリティ検査多項式の情報Xzに関連する部分のベクトルであり、
・
・
・
となる。したがって、図119の情報Xzに関連する部分行列Hx,zの第s行目は、(s−1)%q=k(%はモジュラ演算(modulo)を示す。)とすると、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすパリティ検査多項式(式(221)または式(223))のk番目のパリティ検査多項式の情報Xzに関連する部分のベクトルとなる。
符号化率(n−1)/nの時変周期qのパリティ検査多項式に基づくLDPC−CCにおいて、テイルバイティングを行った際のパリティ検査行列Hmにおける情報X1に関連する部分行列Hx,1のi行j列の要素をHx,1,comp[i][j](iおよびjは1以上M以下の整数(i、j=1、2、3、・・・、M−1、M))とあらわすものとする。
・
・
同様に、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすパリティ検査多項式が式(223)を満たすとき、情報Xn−1に関連する部分行列Hx,n−1の第s行目において、(s−1)%q=k(%はモジュラ演算(modulo)を示す。)とすると、情報Xn−1に関連する部分行列情報Xn−1の第s行目に相当するパリティ検査多項式は式(239)のようにあらわされる。
したがって、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすパリティ検査多項式が式(223)を満たすとき、情報Xzに関連する部分行列Hx,zの第s行目において、(s−1)%q=k(%はモジュラ演算(modulo)を示す。)とすると、情報Xzに関連する部分行列情報Xzの第s行目に相当するパリティ検査多項式は式(239)のようにあらわされる。
0を満たすパリティ検査多項式が式(221)を満たすとき符号化率(n−1)/nの時変周期qのパリティ検査多項式に基づくLDPC−CCにおいて、テイルバイティングを行った際のパリティ検査行列Hmは、上述と同様、図118のようになり、また、このときのパリティ検査行列HmにおけるパリティPに関連する部分行列Hpの構成は、上述と同様、図95のようにあらわされる。
したがって、情報X2に関連する部分行列Hx,2の第s行目において、要素が「1」を満たす場合は、
・
・
・
同様に、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすパリティ検査多項式が式(221)を満たすとき、情報Xn−1に関連する部分行列Hx,n−1の第s行目において、(s−1)%q=k(%はモジュラ演算(modulo)を示す。)とすると、情報Xn−1に関連する部分行列情報Xn−1の第s行目に相当するパリティ検査多項式は式(248)のようにあらわされる。
したがって、情報Xn−1に関連する部分行列Hx,n−1の第s行目において、要素が「1」を満たす場合は、
したがって、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすパリティ検査多項式が式(221)を満たすとき、情報Xzに関連する部分行列Hx,zの第s行目において、(s−1)%q=k(%はモジュラ演算(modulo)を示す。)とすると、情報Xzに関連する部分行列情報Xzの第s行目に相当するパリティ検査多項式は式(248)のようにあらわされる。
したがって、情報Xzに関連する部分行列Hx,zの第s行目において、要素が「1」を満たす場合は、
次に、本実施の形態のテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号のパリティ検査行列について説明する。
第j番目のブロックのMビットの情報X1を、Xj,1,1、Xj,1,2、・・・、Xj,1,k、・・・、Xj,1,Mとあらわし、
第j番目のブロックのMビットの情報X2を、Xj,2,1、Xj,2,2、・・・、Xj,2,k、・・・、Xj,2,Mとあらわし、
・
・
・
第j番目のブロックのMビットの情報Xn−2を、Xj,n−2,1、Xj,n−2,2、・・・、Xj,n−2,k、・・・、Xj,n−2,Mとあらわし、
第j番目のブロックのMビットの情報Xn−1を、Xj,n−1,1、Xj,n−1,2、・・・、Xj,n−1,k、・・・、Xj,n−1,Mとあらわし、
第j番目のブロックのMビットのパリティビットPcをPcj,1、Pcj,2、・・・、Pcj,k、・・・、Pcj,Mとあらわす(したがって、k=1、2、3、・・・、M−1、M)。そして、送信系列vj=(Xj,1,1、Xj,1,2、・・・、Xj,1,k、・・・、Xj,1,M、Xj,2,1、Xj,2,2、・・・、Xj,2,k、・・・、Xj,2,M、・・・、Xj,n−2,1、Xj,n−2,2、・・・、Xj,n−2,k、・・・、Xj,n−2,M、Xj,n−1,1、Xj,n−1,2、・・・、Xj,n−1,k、・・・、Xj,n−1,M、Pcj,1、Pcj,2、・・・、Pcj,k、・・・、Pcj,M)Tとあらわす。すると、テイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号のパリティ検査行列Hcmは図120のようにあらわされ、また、Hcm=[Hcx,1、Hcx,2、・・・、Hcx,n−2、Hcx,n−1、Hcp]とあらわす。(このとき、Hcmvj=0が成立する。なお、ここでの「Hcmvj=0の0(ゼロ)」は、全ての要素が0のベクトルであることを意味する。つまり、すべてのk(kは1以上M以下の整数)において、第k行の値は0である。)(ただし、上述で説明したように、上述の連接符号のために用いるパリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号の時変周期がqのとき、1ブロックを構成する情報X1をM=q×Nビット、情報X2をM=q×Nビット、・・・、情報Xn−2をM=q×Nビット、情報Xn−1をM=q×Nビット、パリティビットをM=q×Nビットとすると(Nは自然数)、高い誤り訂正能力を得ることができる可能性があるが、必ずしもこれに限ったものではない。)このとき、Hcx,1は上述の連接符号のパリティ検査行列Hcmの情報X1に関連する部分行列、Hcx,2は上述の連接符号のパリティ検査行列Hcmの情報X2に関連する部分行列、・・・、Hcx,n−2は上述の連接符号のパリティ検査行列Hcmの情報Xn−2に関連する部分行列、Hcx,n−1は上述の連接符号のパリティ検査行列Hcmの情報Xn−1に関連する部分行列、(つまり、Hcx,kは上述の連接符号のパリティ検査行列Hcmの情報Xkに関連する部分行列(kは1以上n−1以下の整数))Hcpは上述の連接符号のパリティ検査行列HcmのパリティPc(ただし、パリティPcとは、上記連接符号におけるパリティを意味している。)に関連する部分行列となり、図120に示すように、パリティ検査行列Hcmは、M行、n×M列の行列となり、情報X1に関連する部分行列Hcx,1は、M行、M列の行列、情報X2に関連する部分行列Hcx,2は、M行、M列の行列、・・・、情報Xn−2に関連する部分行列Hcx,n−2は、M行、M列の行列、情報Xn−1に関連する部分行列Hcx,n−1は、M行、M列の行列、パリティPcに関連する部分行列Hcpは、M行、M列の行列となる。
(図121の12101)は、図118における11801−1から11801−(n−1)で形成される行列であり、したがって、M行、(n−1)×Mの行列となる。そして、部分行列Hcx=[Hcx,1 Hcx,2 ・・・Hcx,n−2 Hcx,n−1] (図121の12102)は、図120における12001−1から12001−(n−1)で形成される行列であり、したがって、M行、(n−1)×Mの行列となる。
符号化率(n−1)/nの時変周期qのパリティ検査多項式に基づくLDPC−CCにおいて、テイルバイティングを行った際のパリティ検査行列Hmにおける情報X1、X2、・・・、Xn−2、Xn−1に関連する部分行列Hx(図121の12101)において、
第1行目のみを抽出してできるベクトルをhx,1
第2行目のみを抽出してできるベクトルをhx,2
第3行目のみを抽出してできるベクトルをhx,3
・
・
・
第k行目のみを抽出してできるベクトルをhx,k(k=1、2、3、・・・、M−1、M)
・
・
・
第M−1行目のみを抽出してできるベクトルをhx,M−1
第M行目のみを抽出してできるベクトルをhx,M
とすると、符号化率(n−1)/nの時変周期qのパリティ検査多項式に基づくLDPC−CCにおいて、テイルバイティングを行った際のパリティ検査行列Hmにおける情報X1、X2、・・・、Xn−2、Xn−1に関連する部分行列Hx(図121の12101)は次式のようにあらわされる。
第1行目のみを抽出してできるベクトルをhcx,1
第2行目のみを抽出してできるベクトルをhcx,2
第3行目のみを抽出してできるベクトルをhcx,3
・
・
・
第k行目のみを抽出してできるベクトルをhcx,k(k=1、2、3、・・・、M−1、M)
・
・
・
第M−1行目のみを抽出してできるベクトルをhcx,M−1
第M行目のみを抽出してできるベクトルをhcx,M
とすると、符号化率(n−1)/nのテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号のパリティ検査行列Hcmの情報X1、X2、・・・、Xn−2、Xn−1に関連する部分行列Hcx(図121の12102)は次式のようにあらわされる。
「hx,1、hx,2、hx,3、・・・、hx,M−2、hx,M−1、hx,Mは、「第k行目のみを抽出してできるベクトルをhcx,k(k=1、2、3、・・・、M−1、M)」において、それぞれ1回ずつ出現する。」
つまり、
「hcx,k=hx,1を満たすkが1個存在する。
hcx,k=hx,2を満たすkが1個存在する。
hcx,k=hx,3を満たすkが1個存在する。
・
・
・
hcx,k=hx,jを満たすkが1個存在する。
・
・
・
hcx,k=hx,M−2を満たすkが1個存在する。
hcx,k=hx,M−1を満たすkが1個存在する。
hcx,k=hx,Mを満たすkが1個存在する。」
ことになる。
パリティPcに関連する部分行列Hcpのi行j列の要素をHcp,comp[i][j](iおよびjは1以上M以下の整数(i、j=1、2、3、・・・、M−1、M))とあらわすものとする。すると、以下が成立する。
図99、図120、図121では、送信系列vj=(Xj,1,1、Xj,1,2、・・・、Xj,1,k、・・・、Xj,1,M、Xj,2,1、Xj,2,2、・・・、Xj,2,k、・・・、Xj,2,M、・・・、Xj,n−2,1、Xj,n−2,2、・・・、Xj,n−2,k、・・・、Xj,n−2,M、Xj,n−1,1、Xj,n−1,2、・・・、Xj,n−1,k、・・・、Xj,n−1,M、Pcj,1、Pcj,2、・・・、Pcj,k、・・・、Pcj,M)Tに対応する、パリティ検査行列、パリティ検査行列における情報に関連する部分行列、パリティ検査行列におけるパリティに関連する部分行列について説明した。以下では、図122に示したように、送信系列をv’j=(Xj,1,1、Xj,1,2、・・・、Xj,1,k、・・・、Xj,1,M、Xj,2,1、Xj,2,2、・・・、Xj,2,k、・・・、Xj,2,M、・・・、Xj,n−2,1、Xj,n−2,2、・・・、Xj,n−2,k、・・・、Xj,n−2,M、Xj,n−1,1、Xj,n−1,2、・・・、Xj,n−1,k、・・・、Xj,n−1,M、Pcj,M、Pcj,M−1、Pcj,M−2、・・・、Pcj,3、Pcj,2、Pcj,1)Tとしたとき(一例として、ここではパリティ系列のみ順番の入れ替えを行っている。)の符号化率(n−1)/nのテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号のパリティ検査行列、パリティ検査行列における情報に関連する部分行列、パリティ検査行列におけるパリティに関連する部分行列について説明する。
図122は、図99、図120、図121の際の送信系列vj=(Xj,1,1、Xj,1,2、・・・、Xj,1,k、・・・、Xj,1,M、Xj,2,1、Xj,2,2、・・・、Xj,2,k、・・・、Xj,2,M、・・・、Xj,n−2,1、Xj,n−2,2、・・・、Xj,n−2,k、・・・、Xj,n−2,M、Xj,n−1,1、Xj,n−1,2、・・・、Xj,n−1,k、・・・、Xj,n−1,M、Pcj,1、Pcj,2、・・・、Pcj,k、・・・、Pcj,M)Tを、送信系列v’j=(Xj,1,1、Xj,1,2、・・・、Xj,1,k、・・・、Xj,1,M、Xj,2,1、Xj,2,2、・・・、Xj,2,k、・・・、Xj,2,M、・・・、Xj,n−2,1、Xj,n−2,2、・・・、Xj,n−2,k、・・・、Xj,n−2,M、Xj,n−1,1、Xj,n−1,2、・・・、Xj,n−1,k、・・・、Xj,n−1,M、Pcj,M、Pcj,M−1、Pcj,M−2、・・・、Pcj,3、Pcj,2、Pcj,1)Tと並び替えを行ったときの、符号化率(n−1)/nのテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号のパリティ検査行列におけるパリティPc(ただし、パリティPcとは、上記連接符号におけるパリティを意味している。)に関連する部分行列H’cpの構成を示している。なお、パリティPcに関連する部分行列H’cpは、M行、M列の行列となる。
パリティPcに関連する部分行列H’cpのi行j列の要素をH’cp,comp[i][j](iおよびjは1以上M以下の整数(i、j=1、2、3、・・・、M−1、M))とあらわすものとする。すると、以下が成立する。
「第1行目はhcx,M、
第2行目はhcx,M−1、
・
・
・
第M−1行目はhcx,2、
第M行目はhcx,1」
とあらわされる。つまり、情報X1、X2、・・・、Xn−2、Xn−1に関連する部分行列H’cx(12302)の第k行目(k=1、2、3、・・・、M−2、M−1、M)のみを抽出してできるベクトルはhcx,M―k+1とあらわされる。なお、情報X1、X2、・・・、Xn−2、Xn−1に関連する部分行列H’cx(12302)は、M行、(n−1)×M列の行列となる。
上述は、送信系列の順番を変更したときのパリティ検査行列の構成の一例を説明したが、以降では、送信系列の順番を変更したときのパリティ検査行列の構成について、一般化して説明する。
次に、送信系列の順番を入れ替えたときの符号化率(n−1)/nのテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号のパリティ検査行列の構成について説明する。
の構成を示す。このとき、第j番目のブロックの送信系列v’jの第1行目の要素(図126において、送信系列v’jの転置行列v’j Tの場合、第1列目の要素)は、Yj,32である。したがって、パリティ検査行列H’cmの第1列目を抽出したベクトルは、上述で説明したベクトルck(k=1、2、3、・・・、n×M−2、n×M−1、n×M)を用いると、c32となる。同様に、第j番目のブロックの送信系列v’jの第2行目の要素(図126において、送信系列v’jの転置行列v’j Tの場合、第2列目の要素)は、Yj,99である。したがって、パリティ検査行列H’cmの第2列目を抽出したベクトルは、c99となる。また、図126から、パリティ検査行列H’cmの第3列
目を抽出したベクトルは、c23となり、パリティ検査行列H’cmの第n×M−2列目を抽出したベクトルは、c234となり、パリティ検査行列H’cmの第n×M−1列目を抽出したベクトルは、c3となり、パリティ検査行列H’cmの第n×M列目を抽出したベクトルは、c43となる。
以下のようにあらわされる。
よって、送信系列(符号語)v’j=(Yj,32、Yj,99、Yj,23、・・・、Yj,234、Yj,3、Yj,43)Tとした場合のパリティ検査行列H’は、以下のようにあらわされる。
したがって、符号化率(n−1)/nのテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号の送信系列(符号語)に対し、インタリーブを施した場合、上述のように、符号化率(n−1)/nのテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号のパリティ検査行列に対し、列置換を行った行列が、インタリーブを施した送信系列(符号語)のパリティ検査行列となる。
とする。すると、各ビットの対数尤度比計算部10800は、受信信号から、Yj,32の対数尤度比、Yj,99の対数尤度比、Yj,23の対数尤度比、・・・、Yj,234の対数尤度比、Yj,3の対数尤度比、Yj,43の対数尤度比を計算し、出力することになる。
例えば、蓄積および並び替え部(デインタリーブ部)10802は、Yj,32の対数尤度比、Yj,99の対数尤度比、Yj,23の対数尤度比、・・・、Yj,234の対数尤度比、Yj,3の対数尤度比、Yj,43の対数尤度比を入力とし、並び替えを行い、Yj,1の対数尤度比、Yj,2の対数尤度比、Yj,3の対数尤度比、・・・、Yj,N−2の対数尤度比、Yj,N−1の対数尤度比、Yj,Nの対数尤度比の順に出力するものとする。
例えば、送信装置が、第jブロックの送信系列(符号語)v’j=(Yj,32、Yj,99、Yj,23、・・・、Yj,234、Yj,3、Yj,43)Tを送信したものと
する。すると、各ビットの対数尤度比計算部10800は、受信信号から、Yj,32の対数尤度比、Yj,99の対数尤度比、Yj,23の対数尤度比、・・・、Yj,234の対数尤度比、Yj,3の対数尤度比、Yj,43の対数尤度比を計算し、出力することになる(図108の10806に相当)。
したがって、符号化率(n−1)/nのテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号の送信系列(符号語)に対し、インタリーブを施した場合、上述のように、符号化率(n−1)/nのテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号のパリティ検査行列に対し、列置換を行った行列が、インタリーブを施した送信系列(符号語)のパリティ検査行列を受信装置は用いることで、得られた各ビットの対数尤度比に対し、デインタリーブを行わなくても、信頼度伝播復号を行い、推定系列を得ることができる。
上述では、送信系列のインタリーブとパリティ検査行列の関係について説明したが、以降では、パリティ検査行列における行置換について説明する。
このとき、LDPC(ブロック)符号のパリティ検査行列H’は、以下のようにあらわされ、
つまり、第j番目のブロックの送信系列vj Tのとき、パリティ検査行列H’の第i行目を抽出したベクトルは、ベクトルck(kは1以上M以下の整数)のいずれかであらわされ、パリティ検査行列H’の第k行目(kは1以上M以下の整数)を抽出したM個の行ベクトルには、z1、z2、z3、・・・zM−2、zM−1、zM、がそれぞれ一つ存在することになる。
なお、「第j番目のブロックの送信系列vj Tのとき、パリティ検査行列H’の第i行目位を抽出したベクトルは、ベクトルck(kは1以上M以下の整数)のいずれかであらわされ、パリティ検査行列H’の第k行目(kは1以上M以下の整数)を抽出したM個の行ベクトルには、z1、z2、z3、・・・zM−2、zM−1、zM、がそれぞれ一つ存在することになる。」の規則にしたがって、パリティ検査行列を作成すれば、上記の例に限らず、第j番目のブロックの送信系列vjのパリティ検査行列を得ることができる。したがって、符号化率(n−1)/nのテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号を用いていても、必ずしも、図118〜図124を用いて説明したパリティ検査行列を用いるとは限らず、図120や図124のパリティ検査行列に対し、上述で説明した列置換を行った行列、または、行置換を行った行列をパリティ検査行列としてもよい。
テイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号の1ブロックを構成する情報X1をMビット、情報X2をMビット、・・・、情報Xn−2をMビット、情報Xn−1をMビット(したがって、情報XkをMビット(kは1以上n−1以下の整数))、パリティビット(Pcただし、パリティPcは、上記連接符号におけるパリティを意味している。)をMビット(符号化率(n−1)/nであるので)としたとき、
第j番目のブロックのMビットの情報X1を、Xj,1,1、Xj,1,2、・・・、Xj,1,k、・・・、Xj,1,Mとあらわし、
第j番目のブロックのMビットの情報X2を、Xj,2,1、Xj,2,2、・・・、Xj,2,k、・・・、Xj,2,Mとあらわし、
・
・
・
第j番目のブロックのMビットの情報Xn−2を、Xj,n−2,1、Xj,n−2,2、・・・、Xj,n−2,k、・・・、Xj,n−2,Mとあらわし、
第j番目のブロックのMビットの情報Xn−1を、Xj,n−1,1、Xj,n−1,2、・・・、Xj,n−1,k、・・・、Xj,n−1,Mとあらわし、
第j番目のブロックのMビットのパリティビットPcをPcj,1、Pcj,2、・・・、Pcj,k、・・・、Pcj,Mとあらわす(したがって、k=1、2、3、・・・、M−1、M)。そして、送信系列vj=(Xj,1,1、Xj,1,2、・・・、Xj,1,k、・・・、Xj,1,M、Xj,2,1、Xj,2,2、・・・、Xj,2,k、・・・、Xj,2,M、・・・、Xj,n−2,1、Xj,n−2,2、・・・、Xj,n−2,k、・・・、Xj,n−2,M、Xj,n−1,1、Xj,n−1,2、・・・、Xj,n−1,k、・・・、Xj,n−1,M、Pcj,1、Pcj,2、・・・、Pcj,k、・・・、Pcj,M)Tとあらわす。すると、テイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号のパリティ検査行列Hcmは図120のようにあらわされ、また、Hcm=[Hcx,1、Hcx,2、・・・、Hcx,n−2、Hcx,n−1、Hcp]とあらわす。(このとき、Hcmvj=0が成立する。なお、ここでの「Hcmvj=0の0(ゼロ)」は、全ての要素が0のベクトルであることを意味する。つまり、すべてのk(kは1以上M以下の整数)において、第k行の値は0である。)このとき、Hcx,1は上述の連接符号のパリティ検査行列Hcmの情報X1に関連する部分行列、Hcx,2は上述の連接符号のパリティ検査行列Hcmの情報X2に関連する部分行列、・・・、Hcx,n−2は上述の連接符号のパリティ検査行列Hcmの情報Xn−2に関連する部分行列、Hcx,n−1は上述の連接符号のパリティ検査行列Hcmの情報Xn−1に関連する部分行列、(つまり、Hcx,kは上述の連接符号のパリティ検査行列Hcmの情報Xkに関連する部分行列(kは1以上n−1以下の整数))Hcpは上述の連接符号のパリティ検査行列HcmのパリティPc(ただし、パリティPcとは、上記連接符号におけるパリティを意味している。)に関連する部分行列となり、図120に示すように、パリティ検査行列Hcmは、M行、n×M列の行列となり、情報X1に関連する部分行列Hcx,1は、M行、M列の行列、情報X2に関連する部分行列Hcx,2は、M行、M列の行列、・・・、情報Xn−2に関連する部分行列Hcx,n−2は、M行、M列の行列、情報Xn−1に関連する部分行列Hcx,n−1は、M行、M列の行列、パリティPcに関連する部分行列Hcpは、M行、M列の行列となる。なお、情報X1、X2、・・・Xn−1に関連する部分行列Hcxの構成については、図121を用いて上述で説明したとおりである。したがって、以降では、パリティPcに関連する部分行列Hcpの構成について説明する。
図112は、図90のアキュミュレータを適用したときのパリティPcに関連する部分行列Hcpの構成の一例を示している。図112の、図90のアキュミュレータを適用したときのパリティPcに関連する部分行列Hcpの構成では、パリティPcに関連する部分行列Hcpのi行j列の要素をHcp,comp[i][j](iおよびjは1以上M以下の整数(i、j=1、2、3、・・・、M−1、M))とあらわすものとすると、以下が成立する。
なお、図113の符号化部、図113に対し図89のアキュミュレータを適用した符号化部、図113に対し図90のアキュミュレータを適用した符号化部、いずれも、図113の構成に基づいて、パリティを求める必要はなく、これまで説明したパリティ検査行列から、パリティを求めることができる。この場合、第j番目のブロックにおける情報X1から情報Xn−1を一括して蓄積し、その蓄積した情報X1から情報Xn−1とパリティ検査行列を用いて、パリティを求めればよいことになる。
次に、符号化率(n−1)/nのテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号のパリティ検査行列において、情報X1から情報Xn−1に関連する部分行列の列重みがすべて等しいときの符号生成方法について説明する。
上述でも説明したように、符号化率(n−1)/nのテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号で使用する、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすg番目(g=0、1、・・・、q−1)のパリティ検査多項式(式(128)参照)は式(273)のように表わされる。
いずれも3以上に設定すると、高い誤り訂正能力を得ることができる。
なお、式(273)の0を満たすパリティ検査多項式の多項式の部分に対し、以下の関数を定義する。
方法1:
方法2:
次に、特に、r1、r2、・・・、rn−2、rn−1いずれも3と設定したとき、式(273)においてa#g,p,qの設定例について説明する。
r1、r2、・・・、rn−2、rn−1いずれも3と設定したとき、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号の0を満たすパリティ検査多項式は以下のように与えることができる。
<条件18−2>
「a#0,1,1%q=a#1,1,1%q=a#2,1,1%q=a#3,1,1%q=・・・=a#g,1,1%q=・・・=a#(q−2),1,1%q=a#(q−1),1,1%q=v1,1 (v1,1:固定値)」
「a#0,1,2%q=a#1,1,2%q=a#2,1,2%q=a#3,1,2%q=・・・=a#g,1,2%q=・・・=a#(q−2),1,2%q=a#(q−1),1,2%q=v1,2 (v1,2:固定値)」
「a#0,1,3%q=a#1,1,3%q=a#2,1,3%q=a#3,1,3%
q=・・・=a#g,1,3%q=・・・=a#(q−2),1,3%q=a#(q−1),1,3%q=v1,3 (v1,3:固定値)」
「a#0,2,1%q=a#1,2,1%q=a#2,2,1%q=a#3,2,1%q=・・・=a#g,2,1%q=・・・=a#(q−2),2,1%q=a#(q−1),2,1%q=v2,1 (v2,1:固定値)」
「a#0,2,2%q=a#1,2,2%q=a#2,2,2%q=a#3,2,2%q=・・・=a#g,2,2%q=・・・=a#(q−2),2,2%q=a#(q−1),2,2%q=v2,2 (v2,2:固定値)」
「a#0,2,3%q=a#1,2,3%q=a#2,2,3%q=a#3,2,3%q=・・・=a#g,2,3%q=・・・=a#(q−2),2,3%q=a#(q−1),2,3%q=v2,3 (v2,3:固定値)」
・
・
・
「a#0,i,1%q=a#1,i,1%q=a#2,i,1%q=a#3,i,1%q=・・・=a#g,i,1%q=・・・=a#(q−2),i,1%q=a#(q−1),i,1%q=vi,1 (vi,1:固定値)」
「a#0,i,2%q=a#1,i,2%q=a#2,i,2%q=a#3,i,2%q=・・・=a#g,i,2%q=・・・=a#(q−2),i,2%q=a#(q−1),i,2%q=vi,2 (vi,2:固定値)」
「a#0,i,3%q=a#1,i,3%q=a#2,i,3%q=a#3,i,3%q=・・・=a#g,i,3%q=・・・=a#(q−2),i,3%q=a#(q−1),i,3%q=vi,3 (vi,3:固定値)」
(iは、1以上n−1以下の整数)
・
・
・
「a#0,n−1,1%q=a#1,n−1,1%q=a#2,n−1,1%q=a#3,n−1,1%q=・・・=a#g,n−1,1%q=・・・=a#(q−2),n−1,1%q=a#(q−1),n−1,1%q=vn−1,1 (vn−1,1:固定値)」
「a#0,n−1,2%q=a#1,n−1,2%q=a#2,n−1,2%q=a#3,n−1,2%q=・・・=a#g,n−1,2%q=・・・=a#(q−2),n−1,2%q=a#(q−1),n−1,2%q=vn−1,2 (vn−1,2:固定値)」
「a#0,n−1,3%q=a#1,n−1,3%q=a#2,n−1,3%q=a#3,n−1,3%q=・・・=a#g,n−1,3%q=・・・=a#(q−2),n−1,3%q=a#(q−1),n−1,3%q=vn−1,3 (vn−1,3:固定値)」
なお、上記において、「%」はmoduloを意味する、つまり、「α%q」は、αをqで除算したときの余りを示す。<条件18−2>を別の表現をすると、以下のように表現することができる。
<条件18−2’>
「a#k,1,1%q=v1,1 for ∀k k=0,1,2,・・・,q−3,q−2,q−1(v1,1:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,1,1%q=v1,1(v1,1:固定値)が成立する。)
「a#k,1,2%q=v1,2 for ∀k k=0,1,2,・・・,q−3,q−2,q−1(v1,2:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,1,2%q=v1,2(v1,2:固定値)が成立する。)
「a#k,1,3%q=v1,3 for ∀k k=0,1,2,・・・,q−3,q−2,q−1(v1,3:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,1,3%q=v1,3(v1,3:固定値)が成立する。)
「a#k,2,1%q=v2,1 for ∀k k=0,1,2,・・・,q−3,q−2,q−1(v2,1:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,2,1%q=v2,1(v2,1:固定値)が成立する。)
「a#k,2,2%q=v2,2 for ∀k k=0,1,2,・・・,q−3,q−2,q−1(v2,2:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,2,2%q=v2,2(v2,2:固定値)が成立する。)
「a#k,2,3%q=v2,3 for ∀k k=0,1,2,・・・,q−3,q−2,q−1(v2,3:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,2,3%q=v2,3(v2,3:固定値)が成立する。)
・
・
・
「a#k,i,1%q=vi,1 for ∀k k=0,1,2,・・・,q−3,q−2,q−1(vi,1:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,i,1%q=vi,1(vi,1:固定値)が成立する。)
「a#k,i,2%q=vi,2 for ∀k k=0,1,2,・・・,q−3,q−2,q−1(vi,2:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,i,2%q=vi,2(vi,2:固定値)が成立する。)
「a#k,i,3%q=vi,3 for ∀k k=0,1,2,・・・,q−3,q−2,q−1(vi,3:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,i,3%q=vi,3(vi,3:固定値)が成立する。)
(iは、1以上n−1以下の整数)
・
・
・
「a#k,n−1,1%q=vn−1,1 for ∀k k=0,1,2,・・・,q−3,q−2,q−1(vn−1,1:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,n−1,1%q=vn−1,1(vn−1,1:固定値)が成立する。)
「a#k,n−1,2%q=vn−1,2 for ∀k k=0,1,2,・・・,q−3,q−2,q−1(vn−1,2:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,n−1,2%q=vn−1,2(vn−1,2:固定値)が成立する。)
「a#k,n−1,3%q=vn−1,3 for ∀k k=0,1,2,・・・,q−3,q−2,q−1(vn−1,3:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,n−1,3%q=vn−1,3(vn−1,3:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件18−3>
「v1,1≠v1,2、かつ、v1,1≠v1,3、かつ、v1,2≠v1,3、かつ、v1,1≠0、かつ、v1,2≠0、かつ、v1,3≠0」
「v2,1≠v2,2、かつ、v2,1≠v2,3、かつ、v2,2≠v2,3、かつ、v2,1≠0、かつ、v2,2≠0、かつ、v2,3≠0」
・
・
・
「vi,1≠vi,2、かつ、vi,1≠vi,3、かつ、vi,2≠vi,3、かつ、vi,1≠0、かつ、vi,2≠0、かつ、vi,3≠0」
(iは、1以上n−1以下の整数)
・
・
・
「vn−1,1≠vn−1,2、かつ、vn−1,1≠vn−1,3、かつ、vn−1,2≠vn−1,3、かつ、vn−1,1≠0、かつ、vn−1,2≠0、かつ、vn−1,3≠0」
なお、<条件18−3>を満たすためには、時変周期qは4以上なくてはならない。(パリティ検査多項式におけるX1(D)の項数、X2(D)の項数、・・・、Xn−1(D)の項数から導かれる。)
以上の条件を満した、符号化率(n−1)/nのテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号とすることで、高い誤り訂正能力を得ることができる。
また、r1からrpを3より大きい場合でも、高い誤り訂正能力が得られることがある。この場合について説明する。
r1からrpを4以上と設定したとき、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号の0を満たすパリティ検査多項式は以下のように与えることができる。
<条件18−4>
「a#0,1,1%q=a#1,1,1%q=a#2,1,1%q=a#3,1,1%q=・・・=a#g,1,1%q=・・・=a#(q−2),1,1%q=a#(q−1),1,1%q=v1,1 (v1,1:固定値)」
「a#0,1,2%q=a#1,1,2%q=a#2,1,2%q=a#3,1,2%q=・・・=a#g,1,2%q=・・・=a#(q−2),1,2%q=a#(q−1),1,2%q=v1,2 (v1,2:固定値)」
「a#0,1,3%q=a#1,1,3%q=a#2,1,3%q=a#3,1,3%q=・・・=a#g,1,3%q=・・・=a#(q−2),1,3%q=a#(q−1),1,3%q=v1,3 (v1,3:固定値)」
・
・
・
「a#0,1,r−1%q=a#1,1,r−1%q=a#2,1,r−1%q=a#3,1,r−1%q=・・・=a#g,1,r−1%q=・・・=a#(q−2),1,r−1%q=a#(q−1),1,r−1%q=v1,r−1 (v1,r−1:固定値)」
「a#0,1,r%q=a#1,1,r%q=a#2,1,r%q=a#3,1,r%q=・・・=a#g,1,r%q=・・・=a#(q−2),1,r%q=a#(q−1),1,r%q=v1,r (v1,r:固定値)」
「a#0,2,1%q=a#1,2,1%q=a#2,2,1%q=a#3,2,1%q=・・・=a#g,2,1%q=・・・=a#(q−2),2,1%q=a#(q−1),2,1%q=v2,1 (v2,1:固定値)」
「a#0,2,2%q=a#1,2,2%q=a#2,2,2%q=a#3,2,2%q=・・・=a#g,2,2%q=・・・=a#(q−2),2,2%q=a#(q−1),2,2%q=v2,2 (v2,2:固定値)」
「a#0,2,3%q=a#1,2,3%q=a#2,2,3%q=a#3,2,3%q=・・・=a#g,2,3%q=・・・=a#(q−2),2,3%q=a#(q−1),2,3%q=v2,3 (v2,3:固定値)」
・
・
・
「a#0,2,r−1%q=a#1,2,r−1%q=a#2,2,r−1%q=a#3,2,r−1%q=・・・=a#g,2,r−1%q=・・・=a#(q−2),2,r−1%q=a#(q−1),2,r−1%q=v2,r−1 (v2,r−1:固定値)」
「a#0,2,r%q=a#1,2,r%q=a#2,2,r%q=a#3,2,r%q=・・・=a#g,2,r%q=・・・=a#(q−2),2,r%q=a#(q−1),2,r%q=v2,r (v2,r:固定値)」
・
・
・
「a#0,i,1%q=a#1,i,1%q=a#2,i,1%q=a#3,i,1%q=・・・=a#g,i,1%q=・・・=a#(q−2),i,1%q=a#(q−1),i,1%q=vi,1 (vi,1:固定値)」
「a#0,i,2%q=a#1,i,2%q=a#2,i,2%q=a#3,i,2%q=・・・=a#g,i,2%q=・・・=a#(q−2),i,2%q=a#(q−1),i,2%q=vi,2 (vi,2:固定値)」
「a#0,i,3%q=a#1,i,3%q=a#2,i,3%q=a#3,i,3%q=・・・=a#g,i,3%q=・・・=a#(q−2),i,3%q=a#(q−1),i,3%q=vi,3 (vi,3:固定値)」
・
・
・
「a#0,i,r−1%q=a#1,i,r−1%q=a#2,i,r−1%q=a#3,i,r−1%q=・・・=a#g,i,r−1%q=・・・=a#(q−2),i,r−1%q=a#(q−1),i,r−1%q=vi,r−1 (vi,r−1:固定値)」
「a#0,i,r%q=a#1,i,r%q=a#2,i,r%q=a#3,i,r%q=・・・=a#g,i,r%q=・・・=a#(q−2),i,r%q=a#(q−1),i,r%q=vi,r (vi,r:固定値)」
(iは、1以上n−1以下の整数)
・
・
・
「a#0,n−1,1%q=a#1,n−1,1%q=a#2,n−1,1%q=a#3,n−1,1%q=・・・=a#g,n−1,1%q=・・・=a#(q−2),n−1,1%q=a#(q−1),n−1,1%q=vn−1,1 (vn−1,1:固定値)」
「a#0,n−1,2%q=a#1,n−1,2%q=a#2,n−1,2%q=a#3,n−1,2%q=・・・=a#g,n−1,2%q=・・・=a#(q−2),n−1,2%q=a#(q−1),n−1,2%q=vn−1,2 (vn−1,2:固定値)」
「a#0,n−1,3%q=a#1,n−1,3%q=a#2,n−1,3%q=a#3,n−1,3%q=・・・=a#g,n−1,3%q=・・・=a#(q−2),n−1,3%q=a#(q−1),n−1,3%q=vn−1,3 (vn−1,3:固定値)」
・
・
・
「a#0,n−1,r−1%q=a#1,n−1,r−1%q=a#2,n−1,r−1%q=a#3,n−1,r−1%q=・・・=a#g,n−1,r−1%q=・・・=a#(q−2),n−1,r−1%q=a#(q−1),n−1,r−1%q=vn−1,r−1 (vn−1,r−1:固定値)」
「a#0,n−1,r%q=a#1,n−1,r%q=a#2,n−1,r%q=a#3,n−1,r%q=・・・=a#g,n−1,r%q=・・・=a#(q−2),n−1,r%q=a#(q−1),n−1,r%q=vn−1,r (vn−1,r:固定値)」
なお、上記において、「%」はmoduloを意味する、つまり、「α%q」は、αをqで除算したときの余りを示す。<条件18−4>を別の表現をすると、以下のように表現することができる。なお、jは1以上r以下の整数。
<条件18−4’>
「a#k,1,j%q=v1,j for ∀k k=0,1,2,・・・,q−3,q−2,q−1(v1,j:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,1,j%q=v1,j(v1,j:固定値)が成立する。)
「a#k,2,j%q=v2,j for ∀k k=0,1,2,・・・,q−3,q−2,q−1(v2,j:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,2,j%q=v2,j(v2,j:固定値)が成立する。)
・
・
・
「a#k,i,j%q=vi,j for ∀k k=0,1,2,・・・,q−3,q−2,q−1(vi,j:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,i,j%q=vi,j(vi,j:固定値)が成立する。)
(iは、1以上n−1以下の整数)
・
・
・
「a#k,n−1,j%q=vn−1,j for ∀k k=0,1,2,・・・,q−3,q−2,q−1(vn−1,j:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,n−1,j%q=vn−1,j(vn−1,j:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件18−5>
「iは1以上r以下の整数であり、すべてのiにおいて、vs,i≠0が成立する。」
かつ
「iが1以上r以下の整数、かつ、jが1以上r以下の整数、かつ、i≠jであるすべてのi、すべてのjでvs,i≠vs,jが成立する。」
なお、sは1以上n−1以下の整数である。<条件18−5>を満たすためには、時変周期qはr+1以上なくてはならない。(パリティ検査多項式におけるX1(D)の項数〜Xn−1(D)の項数から導かれる。)
以上の条件を満した、符号化率(n−1)/nのテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号とすることで、高い誤り訂正能力を得ることができる。
次に、符号化率(n−1)/nのテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号で使用する、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすg番目(g=0、1、・・・、q−1)のパリティ検査多項式を次式であらわす場合を考える。
特に、r1からrn−1を4と設定したとき、式(281)においてa#g,p,qの設定例について説明する。
r1からrn−1を4と設定したとき、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号の0を満たすパリティ検査多項式は以下のように与えることができる。
<条件18−6>
「a#0,1,1%q=a#1,1,1%q=a#2,1,1%q=a#3,1,1%q=・・・=a#g,1,1%q=・・・=a#(q−2),1,1%q=a#(q−1),1,1%q=v1,1 (v1,1:固定値)」
「a#0,1,2%q=a#1,1,2%q=a#2,1,2%q=a#3,1,2%q=・・・=a#g,1,2%q=・・・=a#(q−2),1,2%q=a#(q−1),1,2%q=v1,2 (v1,2:固定値)」
「a#0,1,3%q=a#1,1,3%q=a#2,1,3%q=a#3,1,3%q=・・・=a#g,1,3%q=・・・=a#(q−2),1,3%q=a#(q−1
),1,3%q=v1,3 (v1,3:固定値)」
「a#0,1,4%q=a#1,1,4%q=a#2,1,4%q=a#3,1,4%q=・・・=a#g,1,4%q=・・・=a#(q−2),1,4%q=a#(q−1),1,4%q=v1,4 (v1,4:固定値)」
「a#0,2,1%q=a#1,2,1%q=a#2,2,1%q=a#3,2,1%q=・・・=a#g,2,1%q=・・・=a#(q−2),2,1%q=a#(q−1),2,1%q=v2,1 (v2,1:固定値)」
「a#0,2,2%q=a#1,2,2%q=a#2,2,2%q=a#3,2,2%q=・・・=a#g,2,2%q=・・・=a#(q−2),2,2%q=a#(q−1),2,2%q=v2,2 (v2,2:固定値)」
「a#0,2,3%q=a#1,2,3%q=a#2,2,3%q=a#3,2,3%q=・・・=a#g,2,3%q=・・・=a#(q−2),2,3%q=a#(q−1),2,3%q=v2,3 (v2,3:固定値)」
「a#0,2,4%q=a#1,2,4%q=a#2,2,4%q=a#3,2,4%q=・・・=a#g,2,4%q=・・・=a#(q−2),2,4%q=a#(q−1),2,4%q=v2,4 (v2,4:固定値)」
・
・
・
「a#0,i,1%q=a#1,i,1%q=a#2,i,1%q=a#3,i,1%q=・・・=a#g,i,1%q=・・・=a#(q−2),i,1%q=a#(q−1),i,1%q=vi,1 (vi,1:固定値)」
「a#0,i,2%q=a#1,i,2%q=a#2,i,2%q=a#3,i,2%q=・・・=a#g,i,2%q=・・・=a#(q−2),i,2%q=a#(q−1),i,2%q=vi,2 (vi,2:固定値)」
「a#0,i,3%q=a#1,i,3%q=a#2,i,3%q=a#3,i,3%q=・・・=a#g,i,3%q=・・・=a#(q−2),i,3%q=a#(q−1),i,3%q=vi,3 (vi,3:固定値)」
「a#0,i,4%q=a#1,i,4%q=a#2,i,4%q=a#3,i,4%q=・・・=a#g,i,4%q=・・・=a#(q−2),i,4%q=a#(q−1),i,4%q=vi,4 (vi,4:固定値)」
(iは、1以上n−1以下の整数)
・
・
・
「a#0,n−1,1%q=a#1,n−1,1%q=a#2,n−1,1%q=a#3,n−1,1%q=・・・=a#g,n−1,1%q=・・・=a#(q−2),n−1,1%q=a#(q−1),n−1,1%q=vn−1,1 (vn−1,1:固定値)」
「a#0,n−1,2%q=a#1,n−1,2%q=a#2,n−1,2%q=a#3,n−1,2%q=・・・=a#g,n−1,2%q=・・・=a#(q−2),n−1,2%q=a#(q−1),n−1,2%q=vn−1,2 (vn−1,2:固定値)」
「a#0,n−1,3%q=a#1,n−1,3%q=a#2,n−1,3%q=a#3,n−1,3%q=・・・=a#g,n−1,3%q=・・・=a#(q−2),n−
1,3%q=a#(q−1),n−1,3%q=vn−1,3 (vn−1,3:固定値)」
「a#0,n−1,4%q=a#1,n−1,4%q=a#2,n−1,4%q=a#3,n−1,4%q=・・・=a#g,n−1,4%q=・・・=a#(q−2),n−1,4%q=a#(q−1),n−1,4%q=vn−1,4 (vn−1,4:固定値)」
なお、上記において、「%」はmoduloを意味する、つまり、「α%q」は、αをqで除算したときの余りを示す。<条件18−6>を別の表現をすると、以下のように表現することができる。
<条件18−6’>
「a#k,1,1%q=v1,1 for ∀k k=0,1,2,・・・,q−3,q−2,q−1(v1,1:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,1,1%q=v1,1(v1,1:固定値)が成立する。)
「a#k,1,2%q=v1,2 for ∀k k=0,1,2,・・・,q−3,q−2,q−1(v1,2:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,1,2%q=v1,2(v1,2:固定値)が成立する。)
「a#k,1,3%q=v1,3 for ∀k k=0,1,2,・・・,q−3,q−2,q−1(v1,3:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,1,3%q=v1,3(v1,3:固定値)が成立する。)
「a#k,1,4%q=v1,4 for ∀k k=0,1,2,・・・,q−3,q−2,q−1(v1,4:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,1,4%q=v1,4(v1,4:固定値)が成立する。)
「a#k,2,1%q=v2,1 for ∀k k=0,1,2,・・・,q−3,q−2,q−1(v2,1:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,2,1%q=v2,1(v2,1:固定値)が成立する。)
「a#k,2,2%q=v2,2 for ∀k k=0,1,2,・・・,q−3,q−2,q−1(v2,2:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,2,2%q=v2,2(v2,2:固定値)が成立する。)
「a#k,2,3%q=v2,3 for ∀k k=0,1,2,・・・,q−3,q−2,q−1(v2,3:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,2,3%q=v2,3(v2,3:固定値)が成立する。)
「a#k,2,4%q=v2,4 for ∀k k=0,1,2,・・・,q−3,q−2,q−1(v2,4:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,2,4%q=v2,4(v2,4:固定値)が成立する。)
・
・
・
「a#k,i,1%q=vi,1 for ∀k k=0,1,2,・・・,q−3,q−2,q−1(vi,1:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,i,1%q=vi,1(vi,1:固定値)が成立する。)
「a#k,i,2%q=vi,2 for ∀k k=0,1,2,・・・,q−3,q−2,q−1(vi,2:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,i,2%q=vi,2(vi,2:固定値)が成立する。)
「a#k,i,3%q=vi,3 for ∀k k=0,1,2,・・・,q−3,q−2,q−1(vi,3:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,i,3%q=vi,3(vi,3:固定値)が成立する。)
「a#k,i,4%q=vi,4 for ∀k k=0,1,2,・・・,q−3,q−2,q−1(vi,4:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,i,4%q=vi,4(vi,4:固定値)が成立する。)
(iは、1以上n−1以下の整数)
・
・
・
「a#k,n−1,1%q=vn−1,1 for ∀k k=0,1,2,・・・,q−3,q−2,q−1(vn−1,1:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,n−1,1%q=vn−1,1(vn−1,1:固定値)が成立する。)
「a#k,n−1,2%q=vn−1,2 for ∀k k=0,1,2,・・・,q−3,q−2,q−1(vn−1,2:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,n−1,2%q=vn−1,2(vn−1,2:固定値)が成立する。)
「a#k,n−1,3%q=vn−1,3 for ∀k k=0,1,2,・・・,q−3,q−2,q−1(vn−1,3:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,n−1,3%q=vn−1,3(vn−1,3:固定値)が成立する。)
「a#k,n−1,4%q=vn−1,4 for ∀k k=0,1,2,・・・,q−3,q−2,q−1(vn−1,4:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,n−1,4%q=vn−1,4(vn−1,4:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件18−7>
「v1,1≠v1,2、かつ、v1,1≠v1,3、かつ、v1,1≠v1,4、かつ、v1,2≠v1,3、かつ、v1,2≠v1,4、かつ、v1,3≠v1,4」
「v2,1≠v2,2、かつ、v2,1≠v2,3、かつ、v2,1≠v2,4、かつ、v2,2≠v2,3、かつ、v2,2≠v2,4、かつ、v2,3≠v2,4」
・
・
・
「vi,1≠vi,2、かつ、vi,1≠vi,3、かつ、vi,1≠vi,4、かつ、vi,2≠vi,3、かつ、vi,2≠vi,4、かつ、vi,3≠vi,4」
(iは、1以上n−1以下の整数)
・
・
・
「vn−1,1≠vn−1,2、かつ、vn−1,1≠vn−1,3、かつ、vn−1,1≠vn−1,4、かつ、vn−1,2≠vn−1,3、かつ、vn−1,2≠vn−1,4、かつ、vn−1,3≠vn−1,4」
なお、<条件18−7>を満たすためには、時変周期qは4以上なくてはならない。(パリティ検査多項式におけるX1(D)の項数〜Xn−1(D)の項数から導かれる。)
以上の条件を満した、符号化率(n−1)/nのテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号とすることで、高い誤り訂正能力を得ることができる。
また、r1からrn−1を4より大きい場合でも、高い誤り訂正能力が得られることがある。この場合について説明する。
r1からrn−1を5以上とし、かつ、情報X1から情報Xn−1に関連する部分行列の列重みがすべて等しい、ことから、r1=r2=・・・=rn−2=rn−1=rとすることができるので、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号の0を満たすパリティ検査多項式は以下のように与えることができる。
<条件18−8>
「a#0,1,1%q=a#1,1,1%q=a#2,1,1%q=a#3,1,1%q=・・・=a#g,1,1%q=・・・=a#(q−2),1,1%q=a#(q−1),1,1%q=v1,1 (v1,1:固定値)」
「a#0,1,2%q=a#1,1,2%q=a#2,1,2%q=a#3,1,2%
q=・・・=a#g,1,2%q=・・・=a#(q−2),1,2%q=a#(q−1),1,2%q=v1,2 (v1,2:固定値)」
「a#0,1,3%q=a#1,1,3%q=a#2,1,3%q=a#3,1,3%q=・・・=a#g,1,3%q=・・・=a#(q−2),1,3%q=a#(q−1),1,3%q=v1,3 (v1,3:固定値)」
・
・
・
「a#0,1,r−1%q=a#1,1,r−1%q=a#2,1,r−1%q=a#3,1,r−1%q=・・・=a#g,1,r−1%q=・・・=a#(q−2),1,r−1%q=a#(q−1),1,r−1%q=v1,r−1 (v1,r−1:固定値)」
「a#0,1,r%q=a#1,1,r%q=a#2,1,r%q=a#3,1,r%q=・・・=a#g,1,r%q=・・・=a#(q−2),1,r%q=a#(q−1),1,r%q=v1,r (v1,r:固定値)」
「a#0,2,1%q=a#1,2,1%q=a#2,2,1%q=a#3,2,1%q=・・・=a#g,2,1%q=・・・=a#(q−2),2,1%q=a#(q−1),2,1%q=v2,1 (v2,1:固定値)」
「a#0,2,2%q=a#1,2,2%q=a#2,2,2%q=a#3,2,2%q=・・・=a#g,2,2%q=・・・=a#(q−2),2,2%q=a#(q−1),2,2%q=v2,2 (v2,2:固定値)」
「a#0,2,3%q=a#1,2,3%q=a#2,2,3%q=a#3,2,3%q=・・・=a#g,2,3%q=・・・=a#(q−2),2,3%q=a#(q−1),2,3%q=v2,3 (v2,3:固定値)」
・
・
・
「a#0,2,r−1%q=a#1,2,r−1%q=a#2,2,r−1%q=a#3,2,r−1%q=・・・=a#g,2,r−1%q=・・・=a#(q−2),2,r−1%q=a#(q−1),2,r−1%q=v2,r−1 (v2,r−1:固定値)」
「a#0,2,r%q=a#1,2,r%q=a#2,2,r%q=a#3,2,r%q=・・・=a#g,2,r%q=・・・=a#(q−2),2,r%q=a#(q−1),2,r%q=v2,r (v2,r:固定値)」
・
・
・
「a#0,i,1%q=a#1,i,1%q=a#2,i,1%q=a#3,i,1%q=・・・=a#g,i,1%q=・・・=a#(q−2),i,1%q=a#(q−1),i,1%q=vi,1 (vi,1:固定値)」
「a#0,i,2%q=a#1,i,2%q=a#2,i,2%q=a#3,i,2%q=・・・=a#g,i,2%q=・・・=a#(q−2),i,2%q=a#(q−1),i,2%q=vi,2 (vi,2:固定値)」
「a#0,i,3%q=a#1,i,3%q=a#2,i,3%q=a#3,i,3%q=・・・=a#g,i,3%q=・・・=a#(q−2),i,3%q=a#(q−1),i,3%q=vi,3 (vi,3:固定値)」
・
・
・
「a#0,i,r−1%q=a#1,i,r−1%q=a#2,i,r−1%q=a#3,i,r−1%q=・・・=a#g,i,r−1%q=・・・=a#(q−2),i,r−1%q=a#(q−1),i,r−1%q=vi,r−1 (vi,r−1:固定値)」
「a#0,i,r%q=a#1,i,r%q=a#2,i,r%q=a#3,i,r%q=・・・=a#g,i,r%q=・・・=a#(q−2),i,r%q=a#(q−1),i,r%q=vi,r (vi,r:固定値)」
(iは、1以上n−1以下の整数)
・
・
・
「a#0,n−1,1%q=a#1,n−1,1%q=a#2,n−1,1%q=a#3,n−1,1%q=・・・=a#g,n−1,1%q=・・・=a#(q−2),n−1,1%q=a#(q−1),n−1,1%q=vn−1,1 (vn−1,1:固定値)」
「a#0,n−1,2%q=a#1,n−1,2%q=a#2,n−1,2%q=a#3,n−1,2%q=・・・=a#g,n−1,2%q=・・・=a#(q−2),n−1,2%q=a#(q−1),n−1,2%q=vn−1,2 (vn−1,2:固定値)」
「a#0,n−1,3%q=a#1,n−1,3%q=a#2,n−1,3%q=a#3,n−1,3%q=・・・=a#g,n−1,3%q=・・・=a#(q−2),n−1,3%q=a#(q−1),n−1,3%q=vn−1,3 (vn−1,3:固定値)」
・
・
・
「a#0,n−1,r−1%q=a#1,n−1,r−1%q=a#2,n−1,r−1%q=a#3,n−1,r−1%q=・・・=a#g,n−1,r−1%q=・・・=a#(q−2),n−1,r−1%q=a#(q−1),n−1,r−1%q=vn−1,r−1 (vn−1,r−1:固定値)」
「a#0,n−1,r%q=a#1,n−1,r%q=a#2,n−1,r%q=a#3,n−1,r%q=・・・=a#g,n−1,r%q=・・・=a#(q−2),n−1,r%q=a#(q−1),n−1,r%q=vn−1,r (vn−1,r:固定値)」
なお、上記において、「%」はmoduloを意味する、つまり、「α%q」は、αをqで除算したときの余りを示す。<条件18−8>を別の表現をすると、以下のように表現することができる。なお、jは1以上r以下の整数。
<条件18−8’>
「a#k,1,j%q=v1,j for ∀k k=0,1,2,・・・,q−3,q−2,q−1(v1,j:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,1,j%q=v1,j(v1,j:固定値)が成立する。)
「a#k,2,j%q=v2,j for ∀k k=0,1,2,・・・,q−3,q−2,q−1(v2,j:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,2,j%q=v2,j(v2,j:固定値)が成立する。)
・
・
・
「a#k,i,j%q=vi,j for ∀k k=0,1,2,・・・,q−3,q−2,q−1(vi,j:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,i,j%q=vi,j(vi,j:固定値)が成立する。)
(iは、1以上n−1以下の整数)
・
・
・
「a#k,n−1,j%q=vn−1,j for ∀k k=0,1,2,・・・,q−3,q−2,q−1(vn−1,j:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,n−1,j%q=vn−1,j(vn−1,j:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件18−9>
「iが1以上r以下の整数、かつ、jが1以上r以下の整数、かつ、i≠jであるすべてのi、すべてのjでvs,i≠vs,jが成立する。」
なお、sは1以上n−1以下の整数である。<条件18−9>を満たすためには、時変周期qはr以上なくてはならない。(パリティ検査多項式におけるX1(D)の項数〜Xn−1(D)の項数から導かれる。)
以上の条件を満した、符号化率(n−1)/nのテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号とすることで、高い誤り訂正能力を得ることができる。
次に、r1、r2、・・・、rn−2、rn−1いずれも3以上と設定したとき、式(284)において高い誤り訂正能力を得るための条件について説明する。
r1、r2、・・・、rn−2、rn−1いずれも3以上と設定したとき、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号の0を満たすパリティ検査多項式は以下のように与えることができる。
<条件18−10−1>
「a#0,1,1%q=a#1,1,1%q=a#2,1,1%q=a#3,1,1%q=・・・=a#g,1,1%q=・・・=a#(q−2),1,1%q=a#(q−1),1,1%q=v1,1 (v1,1:固定値)」
「a#0,1,2%q=a#1,1,2%q=a#2,1,2%q=a#3,1,2%q=・・・=a#g,1,2%q=・・・=a#(q−2),1,2%q=a#(q−1),1,2%q=v1,2 (v1,2:固定値)」
同様に、情報X2に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件18−10−2>
「a#0,2,1%q=a#1,2,1%q=a#2,2,1%q=a#3,2,1%q=・・・=a#g,2,1%q=・・・=a#(q−2),2,1%q=a#(q−1),2,1%q=v2,1 (v2,1:固定値)」
「a#0,2,2%q=a#1,2,2%q=a#2,2,2%q=a#3,2,2%q=・・・=a#g,2,2%q=・・・=a#(q−2),2,2%q=a#(q−1),2,2%q=v2,2 (v2,2:固定値)」
・
・
・
同様に、情報Xiに関連する部分行列において、最低列重みを3とするために以下の条
件を与えると、高い誤り訂正能力を得ることができる。(iは、1以上n−1以下の整数)
<条件18−10−i>
「a#0,i,1%q=a#1,i,1%q=a#2,i,1%q=a#3,i,1%q=・・・=a#g,i,1%q=・・・=a#(q−2),i,1%q=a#(q−1),i,1%q=vi,1 (vi,1:固定値)」
「a#0,i,2%q=a#1,i,2%q=a#2,i,2%q=a#3,i,2%q=・・・=a#g,i,2%q=・・・=a#(q−2),i,2%q=a#(q−1),i,2%q=vi,2 (vi,2:固定値)」
・
・
・
同様に、情報Xn−1に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件18−10−(n−1)>
「a#0,n−1,1%q=a#1,n−1,1%q=a#2,n−1,1%q=a#3,n−1,1%q=・・・=a#g,n−1,1%q=・・・=a#(q−2),n−1,1%q=a#(q−1),n−1,1%q=vn−1,1 (vn−1,1:固定値)」
「a#0,n−1,2%q=a#1,n−1,2%q=a#2,n−1,2%q=a#3,n−1,2%q=・・・=a#g,n−1,2%q=・・・=a#(q−2),n−1,2%q=a#(q−1),n−1,2%q=vn−1,2 (vn−1,2:固定値)」
なお、上記において、「%」はmoduloを意味する、つまり、「α%q」は、αをqで除算したときの余りを示す。<条件18−10−1>から<条件18−10−(n−1)>を別の表現をすると、以下のように表現することができる。なお、jは1、2である。
<条件18−10’−1>
「a#k,1,j%q=v1,j for ∀k k=0,1,2,・・・,q−3,q−2,q−1(v1,j:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,1,j%q=v1,j(v1,j:固定値)が成立する。)
<条件18−10’−2>
「a#k,2,j%q=v2,j for ∀k k=0,1,2,・・・,q−3,q−2,q−1(v2,j:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,2,j%q=v2,j(v2,j:固定値)が成立する。)
・
・
・
<条件18−10’−i>
「a#k,i,j%q=vi,j for ∀k k=0,1,2,・・・,q−3,q−2,q−1(vi,j:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,i,j%q=vi,j(vi,j:固定値)が成立する。)
(iは、1以上n−1以下の整数)
・
・
・
<条件18−10’−(n−1)>
「a#k,n−1,j%q=vn−1,j for ∀k k=0,1,2,・・・,q−3,q−2,q−1(vn−1,j:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,n−1,j%q=vn−1,j(vn−1,j:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件18−11−1>
「v1,1≠0、かつ、v1,2≠0が成立する。」
かつ
「v1,1≠v1,2が成立する。」
<条件18−11−2>
「v2,1≠0、かつ、v2,2≠0が成立する。」
かつ
「v2,1≠v2,2が成立する。」
・
・
・
<条件18−11−i>
「vi,1≠0、かつ、vi,2≠0が成立する。」
かつ
「vi,1≠vi,2が成立する。」
(iは、1以上n−1以下の整数)
・
・
・
<条件18−11−(n−1)>
「vn−1,1≠0、かつ、vn−1,2≠0が成立する。」
かつ
「vn−1,1≠vn−1,2が成立する。」
そして、「情報X1から情報Xn−1に関連する部分行列がイレギュラー」でなければならないので、以下の条件を与える。
<条件18−12−1>
「a#i,1,v%q=a#j,1,v%q for ∀i∀j i,j=0,1,2,・・・,q−3,q−2,q−1;i≠j」
(iは0以上q−1以下の整数であり、かつ、jは0以上q−1以下の整数であり、かつ、i≠jであり、これを満たす、すべてのi、すべてのjでa#i,1,v%q=a#j,1,v%qが成立する。)・・・条件#Xa−1
vは3以上r1以下の整数であり、すべてのvで「条件#Xa−1」を満たすことはない。
<条件18−12−2>
「a#i,2,v%q=a#j,2,v%q for ∀i∀j i,j=0,1,2,・・・,q−3,q−2,q−1;i≠j」
(iは0以上q−1以下の整数であり、かつ、jは0以上q−1以下の整数であり、かつ、i≠jであり、これを満たす、すべてのi、すべてのjでa#i,2,v%q=a#j,2,v%qが成立する。)・・・条件#Xa−2
vは3以上r2以下の整数であり、すべてのvで「条件#Xa−2」を満たすことはない。
・
・
・
<条件18−12−k>
「a#i,k,v%q=a#j,k,v%q for ∀i∀j i,j=0,1,2,・
・・,q−3,q−2,q−1;i≠j」
(iは0以上q−1以下の整数であり、かつ、jは0以上q−1以下の整数であり、かつ、i≠jであり、これを満たす、すべてのi、すべてのjでa#i,k,v%q=a#j,k,v%qが成立する。)・・・条件#Xa−k
vは3以上rk以下の整数であり、すべてのvで「条件#Xa−k」を満たすことはない。
(kは、1以上n−1以下の整数)
・
・
・
<条件18−12−(n−1)>
「a#i,n−1,v%q=a#j,n−1,v%q for ∀i∀j i,j=0,1,2,・・・,q−3,q−2,q−1;i≠j」
(iは0以上q−1以下の整数であり、かつ、jは0以上q−1以下の整数であり、かつ、i≠jであり、これを満たす、すべてのi、すべてのjでa#i,n−1,v%q=a#j,n−1,v%qが成立する。)・・・条件#Xa−(n−1)
vは3以上rn−1以下の整数であり、すべてのvで「条件#Xa−(n−1)」を満たすことはない。
なお、<条件18−12−1>から<条件18−12−(n−1)>を別の表現をすると以下のような条件となる。
<条件18−12’−1>
「a#i,1,v%q≠a#j,1,v%q for ∃i∃j i,j=0,1,2,・・・,q−3,q−2,q−1;i≠j」
(iは0以上q−1以下の整数であり、かつ、jは0以上q−1以下の整数であり、かつ、i≠jであり、a#i,1,v%q≠a#j,1,v%qが成立するi、jが存在する。)・・・条件#Ya−1
vは3以上r1以下の整数であり、すべてのvで「条件#Ya−1」を満たす。
<条件18−12’−2>
「a#i,2,v%q≠a#j,2,v%q for ∃i∃j i,j=0,1,2,・・・,q−3,q−2,q−1;i≠j」
(iは0以上q−1以下の整数であり、かつ、jは0以上q−1以下の整数であり、かつ、i≠jであり、a#i,2,v%q≠a#j,2,v%qが成立するi、jが存在する。)・・・条件#Ya−2
vは3以上r2以下の整数であり、すべてのvで「条件#Ya−2」を満たす。
・
・
・
<条件18−12’−k>
「a#i,k,v%q≠a#j,k,v%q for ∃i∃j i,j=0,1,2,・・・,q−3,q−2,q−1;i≠j」
(iは0以上q−1以下の整数であり、かつ、jは0以上q−1以下の整数であり、かつ、i≠jであり、a#i,k,v%q≠a#j,k,v%qが成立するi、jが存在する。)・・・条件#Ya−k
vは3以上rk以下の整数であり、すべてのvで「条件#Ya−k」を満たす。
(kは、1以上n−1以下の整数)
・
・
・
<条件18−12’−(n−1)>
「a#i,n−1,v%q≠a#j,n−1,v%q for ∃i∃j i,j=0,1,2,・・・,q−3,q−2,q−1;i≠j」
(iは0以上q−1以下の整数であり、かつ、jは0以上q−1以下の整数であり、かつ、i≠jであり、a#i,n−1,v%q≠a#j,n−1,v%qが成立するi、jが存在する。)・・・条件#Ya−(n−1)
vは3以上rn−1以下の整数であり、すべてのvで「条件#Ya−(n−1)」を満たす。
このようにすることで、「情報X1に関連する部分行列、情報X2に関連する部分行列、・・・、情報Xn−1に関連する部分行列において、最低列重みを3となり」、以上の条件を満した、符号化率(n−1)/nのテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号とすることで、「イレギュラーLDPC符号」を生成することができ、高い誤り訂正能力を得ることができる。
なお、以上の条件を踏まえて、高い誤り訂正能力をもつ符号化率(n−1)/nのテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号を生成することになるが、このとき、高い誤り訂正の力をもつ上記連接符号を容易に得るためには、r1=r2=・・・=rn−2=rn−1=r(rは3以上)と設定するとよい。
次に、符号化率(n−1)/nのテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号で使用する、時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号において、0を満たすg番目(g=0、1、・・・、q−1)のパリティ検査多項式(式(128)参照)次式のように表わされる。
次に、r1、r2、・・・、rn−2、rn−1いずれも4以上と設定したとき、式(286)において高い誤り訂正能力を得るための条件について説明する。
r1、r2、・・・、rn−2、rn−1いずれも4以上の時変周期qのパリティ検査多項式に基づくフィードフォワード周期的LDPC畳み込み符号の0を満たすパリティ検査多項式は以下のように与えることができる。
<条件18−13−1>
「a#0,1,1%q=a#1,1,1%q=a#2,1,1%q=a#3,1,1%q=・・・=a#g,1,1%q=・・・=a#(q−2),1,1%q=a#(q−1),1,1%q=v1,1 (v1,1:固定値)」
「a#0,1,2%q=a#1,1,2%q=a#2,1,2%q=a#3,1,2%q=・・・=a#g,1,2%q=・・・=a#(q−2),1,2%q=a#(q−1),1,2%q=v1,2 (v1,2:固定値)」
「a#0,1,3%q=a#1,1,3%q=a#2,1,3%q=a#3,1,3%q=・・・=a#g,1,3%q=・・・=a#(q−2),1,3%q=a#(q−1),1,3%q=v1,3 (v1,3:固定値)」
同様に、情報X2に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件18−13−2>
「a#0,2,1%q=a#1,2,1%q=a#2,2,1%q=a#3,2,1%q=・・・=a#g,2,1%q=・・・=a#(q−2),2,1%q=a#(q−1),2,1%q=v2,1 (v2,1:固定値)」
「a#0,2,2%q=a#1,2,2%q=a#2,2,2%q=a#3,2,2%q=・・・=a#g,2,2%q=・・・=a#(q−2),2,2%q=a#(q−1),2,2%q=v2,2 (v2,2:固定値)」
「a#0,2,3%q=a#1,2,3%q=a#2,2,3%q=a#3,2,3%q=・・・=a#g,2,3%q=・・・=a#(q−2),2,3%q=a#(q−1),2,3%q=v2,3 (v2,3:固定値)」
・
・
・
同様に、情報Xiに関連する部分行列において、最低列重みを3とするために以下の条
件を与えると、高い誤り訂正能力を得ることができる。(iは、1以上n−1以下の整数)
<条件18−13−i>
「a#0,i,1%q=a#1,i,1%q=a#2,i,1%q=a#3,i,1%q=・・・=a#g,i,1%q=・・・=a#(q−2),i,1%q=a#(q−1),i,1%q=vi,1 (vi,1:固定値)」
「a#0,i,2%q=a#1,i,2%q=a#2,i,2%q=a#3,i,2%q=・・・=a#g,i,2%q=・・・=a#(q−2),i,2%q=a#(q−1),i,2%q=vi,2 (vi,2:固定値)」
「a#0,i,3%q=a#1,i,3%q=a#2,i,3%q=a#3,i,3%q=・・・=a#g,i,3%q=・・・=a#(q−2),i,3%q=a#(q−1),i,3%q=vi,3 (vi,3:固定値)」
・
・
・
同様に、情報Xn−1に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件18−13−(n−1)>
「a#0,n−1,1%q=a#1,n−1,1%q=a#2,n−1,1%q=a#3,n−1,1%q=・・・=a#g,n−1,1%q=・・・=a#(q−2),n−1,1%q=a#(q−1),n−1,1%q=vn−1,1 (vn−1,1:固定値)」
「a#0,n−1,2%q=a#1,n−1,2%q=a#2,n−1,2%q=a#3,n−1,2%q=・・・=a#g,n−1,2%q=・・・=a#(q−2),n−1,2%q=a#(q−1),n−1,2%q=vn−1,2 (vn−1,2:固定値)」
「a#0,n−1,3%q=a#1,n−1,3%q=a#2,n−1,3%q=a#3,n−1,3%q=・・・=a#g,n−1,3%q=・・・=a#(q−2),n−1,3%q=a#(q−1),n−1,3%q=vn−1,3 (vn−1,3:固定値)」
なお、上記において、「%」はmoduloを意味する、つまり、「α%q」は、αをqで除算したときの余りを示す。<条件18−13−1>から<条件18−13−(n−1)>を別の表現をすると、以下のように表現することができる。なお、jは1、2、3である。
<条件18−13’−1>
「a#k,1,j%q=v1,j for ∀k k=0,1,2,・・・,q−3,q−2,q−1(v1,j:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,1,j%q=v1,j(v1,j:固定値)が成立する。)
<条件18−13’−2>
「a#k,2,j%q=v2,j for ∀k k=0,1,2,・・・,q−3,q−2,q−1(v2,j:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,2,j%q=v2,j(v2,j:固定値)が成立する。)
・
・
・
<条件18−13’−i>
「a#k,i,j%q=vi,j for ∀k k=0,1,2,・・・,q−3,q−2,q−1(vi,j:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,i,j%q=vi,j(vi,j:固定値)が成立する。)
(iは、1以上n−1以下の整数)
・
・
・
<条件18−13’−(n−1)>
「a#k,n−1,j%q=vn−1,j for ∀k k=0,1,2,・・・,q−3,q−2,q−1(vn−1,j:固定値)」
(kは0以上q−1以下の整数であり、すべてのkでa#k,n−1,j%q=vn−1,j(vn−1,j:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件18−14−1>
「v1,1≠v1,2、v1,1≠v1,3、v1,2≠v1,3が成立する。」
<条件18−14−2>
「v2,1≠v2,2、v2,1≠v2,3、v2,2≠v2,3が成立する。」
・
・
・
<条件18−14−i>
「vi,1≠vi,2、vi,1≠vi,3、vi,2≠vi,3が成立する。」
(iは、1以上n−1以下の整数)
・
・
・
<条件18−14−(n−1)>
「vn−1,1≠vn−1,2、vn−1,1≠vn−1,3、vn−1,2≠vn−1,3が成立する。」
そして、「情報X1から情報Xn−1に関連する部分行列がイレギュラー」でなければならないので、以下の条件を与える。
<条件18−15−1>
「a#i,1,v%q=a#j,1,v%q for ∀i∀j i,j=0,1,2,・・・,q−3,q−2,q−1;i≠j」
(iは0以上q−1以下の整数であり、かつ、jは0以上q−1以下の整数であり、かつ、i≠jであり、これを満たす、すべてのi、すべてのjでa#i,1,v%q=a#j,1,v%qが成立する。)・・・条件#Xb−1
vは4以上r1以下の整数であり、すべてのvで「条件#Xb−1」を満たすことはない。
<条件18−15−2>
「a#i,2,v%q=a#j,2,v%q for ∀i∀j i,j=0,1,2,・・・,q−3,q−2,q−1;i≠j」
(iは0以上q−1以下の整数であり、かつ、jは0以上q−1以下の整数であり、かつ、i≠jであり、これを満たす、すべてのi、すべてのjでa#i,2,v%q=a#j,2,v%qが成立する。)・・・条件#Xb−2
vは4以上r2以下の整数であり、すべてのvで「条件#Xb−2」を満たすことはない。
・
・
・
<条件18−15−k>
「a#i,k,v%q=a#j,k,v%q for ∀i∀j i,j=0,1,2,・・・,q−3,q−2,q−1;i≠j」
(iは0以上q−1以下の整数であり、かつ、jは0以上q−1以下の整数であり、かつ、i≠jであり、これを満たす、すべてのi、すべてのjでa#i,k,v%q=a#j,k,v%qが成立する。)・・・条件#Xb−k
vは4以上rk以下の整数であり、すべてのvで「条件#Xb−k」を満たすことはない。
(kは、1以上n−1以下の整数)
・
・
・
<条件18−15−(n−1)>
「a#i,n−1,v%q=a#j,n−1,v%q for ∀i∀j i,j=0,1,2,・・・,q−3,q−2,q−1;i≠j」
(iは0以上q−1以下の整数であり、かつ、jは0以上q−1以下の整数であり、かつ、i≠jであり、これを満たす、すべてのi、すべてのjでa#i,n−1,v%q=a#j,n−1,v%qが成立する。)・・・条件#Xb−(n−1)
vは4以上rn−1以下の整数であり、すべてのvで「条件#Xb−(n−1)」を満たすことはない。
なお、<条件18−15−1>から<条件18−15−(n−1)>を別の表現をすると以下のような条件となる。
<条件18−15’−1>
「a#i,1,v%q≠a#j,1,v%q for ∃i∃j i,j=0,1,2,・・・,q−3,q−2,q−1;i≠j」
(iは0以上q−1以下の整数であり、かつ、jは0以上q−1以下の整数であり、かつ、i≠jであり、a#i,1,v%q≠a#j,1,v%qが成立するi、jが存在する。)・・・条件#Yb−1
vは4以上r1以下の整数であり、すべてのvで「条件#Yb−1」を満たす。
<条件18−15’−2>
「a#i,2,v%q≠a#j,2,v%q for ∃i∃j i,j=0,1,2,・・・,q−3,q−2,q−1;i≠j」
(iは0以上q−1以下の整数であり、かつ、jは0以上q−1以下の整数であり、かつ、i≠jであり、a#i,2,v%q≠a#j,2,v%qが成立するi、jが存在する。)・・・条件#Yb−2
vは4以上r2以下の整数であり、すべてのvで「条件#Yb−2」を満たす。
・
・
・
<条件18−15’−k>
「a#i,k,v%q≠a#j,k,v%q for ∃i∃j i,j=0,1,2,・・・,q−3,q−2,q−1;i≠j」
(iは0以上q−1以下の整数であり、かつ、jは0以上q−1以下の整数であり、かつ、i≠jであり、a#i,k,v%q≠a#j,k,v%qが成立するi、jが存在する。)・・・条件#Yb−k
vは4以上rk以下の整数であり、すべてのvで「条件#Yb−k」を満たす。
(kは、1以上n−1以下の整数)
・
・
・
<条件18−15’−(n−1)>
「a#i,n−1,v%q≠a#j,n−1,v%q for ∃i∃j i,j=0,1,2,・・・,q−3,q−2,q−1;i≠j」
(iは0以上q−1以下の整数であり、かつ、jは0以上q−1以下の整数であり、かつ、i≠jであり、a#i,n−1,v%q≠a#j,n−1,v%qが成立するi、jが存在する。)・・・条件#Yb−(n−1)
vは4以上rn−1以下の整数であり、すべてのvで「条件#Yb−(n−1)」を満たす。
このようにすることで、「情報X1に関連する部分行列、情報X2に関連する部分行列、・・・、情報Xn−1に関連する部分行列において、最低列重みを3となり」、以上の条件を満した、符号化率(n−1)/nのテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号とすることで、「イレギュラーLDPC符号」を生成することができ、高い誤り訂正能力を得ることができる。
なお、以上の条件を踏まえて、高い誤り訂正能力をもつ符号化率(n−1)/nのテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号を生成することになるが、このとき、高い誤り訂正の力をもつ上記連接符号を容易に得るためには、r1=r2=・・・=rn−2=rn−1=r(rは4以上)と設定するとよい。
なお、実施の形態6に基づき、符号化率(n−1)/nのテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号におけるパリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号の時間の周期(時変周期)の値の例として、
(1)時変周期qが素数であること。
(3)時変周期qをα×βとする。
ただし、α、βは、1を除く奇数であり、かつ、素数。
(4)時変周期qをαnとする。
ただし、αは、1を除く奇数であり、かつ、素数であり、nは2以上の整数。
ただし、α、β、γは、1を除く奇数であり、かつ、素数。
(6)時変周期qをα×β×γ×δとする。
ただし、α、β、γ、δは、1を除く奇数であり、かつ、素数。
を示したが、(2)を考慮したとき、その他の例として、
(7)時変周期qをAu×Bvとする。
ただし、A、Bともに、1を除く奇数であり、かつ、素数であり、A≠Bとし、u、vともに1以上の整数。
ただし、A、B、Cいずれも1を除く奇数であり、かつ、素数であり、A≠B、A≠C、B≠Cとし、u、v、wいずれも1以上の整数。
(9)時変周期qをAu×Bv×Cw×Dxとする。
ただし、A、B、C、Dいずれも1を除く奇数であり、かつ、素数であり、A≠B、A≠C、A≠D、B≠C、B≠D、C≠Dとし、u、v、w、xいずれも1以上の整数。
が考えられる。ただし、以前にも説明したが、時変周期qが大きければ、実施の形態6で説明した効果を得ることができるので、時変周期qが偶数とすると高い誤り訂正能力をもつ符号が得られない、というわけではない。
(10)時変周期qを2g×Kとする。
ただし、Kが素数であり、かつ、gは1以上の整数とする。
(11)時変周期qを2g×Lとする
ただし、Lが奇数であり、かつ、Lの約数の数が少ないこと、かつ、gは1以上の整数とする。
(12)時変周期qを2g×α×βとする。
ただし、α、βは1を除く奇数、かつ、α、βは素数であり、かつ、gは1以上の整数とする。
(13)時変周期qを2g×αnとする。
ただし、αは1を除く奇数であり、かつ、αは素数であり、かつ、nは2以上の整数であり、かつ、gは1以上の整数とする。
(14)時変周期qを2g×α×β×γとする。
ただし、α、β、γは1を除く奇数であり、かつ、α、β、γは素数であり、かつ、gは1以上の整数とする。
(15)時変周期qを2g×α×β×γ×δとする。
ただし、α、β、γ、δは1を除く奇数であり、かつ、α、β、γ、δは素数であり、かつ、gは1以上の整数とする。
(16)時変周期qを2g×Au×Bvとする。
ただし、A、Bともに1を除く奇数であり、かつ、A、Bともには素数であり、A≠Bとし、かつ、u、vともに1以上の整数であり、かつ、gは1以上の整数とする。
(17)時変周期qを2g×Au×Bv×Cwとする。
ただし、A、B、Cいずれも1を除く奇数であり、かつ、A、B、Cいずれも素数であり、A≠B、A≠C、B≠Cとし、u、v、wいずれも1以上の整数であり、かつ、gは1以上の整数とする。
(18)時変周期qを2g×Au×Bv×Cw×Dxとする。
ただし、A、B、C、Dいずれも1を除く奇数であり、かつ、A、B、C、Dいずれも素数であり、A≠B、A≠C、A≠D、B≠C、B≠D、C≠Dとし、u、v、w、xいずれも1以上の整数とし、かつ、gは1以上の整数とする。
ただし、時変周期qが上記の(1)から(9)を満たさない奇数の場合でも、高い誤り訂正能力を得ることができる可能性があり、また、時変周期qが上記の(10)から(18)を満たさない偶数の場合でも、高い誤り訂正能力を得ることができる可能性がある。
例えば、非特許文献30で記載されているDVB規格で考えた場合、LDPC符号のブロック長として、16200ビット、64800ビットが規定されている。このブロックサイズを考慮すると、時変周期としては、15、25、27、45、75、81、135、225が適切な値の例として考えられる。時変周期に関する上記の設定は、実施の形態17で述べた、符号化率1/2のテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号に対しても有効である。
符号化率(n−1)/nのテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号のパリティ検査行列において、情報X1から情報Xn−1に関連する部分行列の列重みの値が複数存在するときの符号生成方法の説明において、上述において、いくつかの重要な条件を示した。上記連接符号におけるパリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号の0を満たすパリティ検査多項式を式(284)としたとき、<条件18−10−1>から<条件18−10−(n−1)>、および、<条件18−10’−1>から<条件18−10’−(n−1)>、および、<条件18−11−1>から<条件18−11−(n−1)>に対し、実施の形態6を参考にすると、以下の条件を加えると、よい符号を得ることができる可能性がある。
<条件18−16>
<条件18−17>
iは1以上n−1以下の整数、jは1、2であり、すべてのi、すべてのjにおいて、vi,jは、時変周期qの約数でない、または、1である。
また、符号化率(n−1)/nのテイルバイティング方法を用いた、パリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号を、インタリーバを介し、アキュミュレータと連接する連接符号のパリティ検査行列において、情報X1から情報Xn−1に関連する部分行列の列重みがすべて等しいときの符号生成方法の説明において、上述において、いくつかの重要な条件を示した。上記連接符号におけるパリティ検査多項式に基づくフィードフォワードLDPC畳み込み符号の0を満たすパリティ検査多項式を式(280−0)から式(280−(q−1))としたとき、<条件18−4>、および、<条件18−4’>、および、<条件18−5>に対し、実施の形態6を参考にすると、以下の条件を加えると、よい符号を得ることができる可能性がある。
<条件18−18>
<条件18−19>
iは1以上n−1以下の整数、jは1以上r以下の整数、すべてのi、すべてのjにおいて、vi,jは、時変周期qの約数でない、または、1である。
(実施の形態A1)
実施の形態3、実施の形態15では、テイルバイティング方法を用いたLDPC畳み込み符号について説明を行った。本実施の形態では、高い誤り訂正能力をもち、かつ、パリティを逐次的に求めることができる(つまり、容易に求めることができる)テイルバイティング方法を用いたLDPC畳み込み符号の構成方法について説明する。
パリティ検査多項式に基づく、符号化率R=(n−1)/nの時変LDPC−CCについて説明する。X1,X2,・・・,Xn−1の情報ビット、及びパリティビットPの時点jにおけるビットをそれぞれX1,j,X2,j,・・・,Xn−1,j及びPjと表す。そして、時点jにおけるベクトルujをuj=(X1,j,X2,j,・・・,Xn−1,j,Pj)と表す。また、符号化系列をu=(u0,u1,・・・,uj,・・・)Tと表す。Dを遅延演算子とすると、情報ビットX1,X2,・・・,Xn−1の多項式はX1(D),X2(D),・・・,Xn−1(D)と表され、パリティビットPの多項式はP(D)と表される。このとき、式(A1)で表される0を満たすパリティ検査多項式を考える。
上述では、ベースとなるパリティ検査多項式として、式(A1)を取り扱っているが、必ずしも式(A1)の形態に限らず、例えば、式(A1)のかわりに、式(A6)のような0を満たすパリティ検査多項式としてもよい。
ここで、符号化率R=(n−1)/n、時変周期mのLDPC−CCのためのi番目(i=0,1,・・・,m−1)の0を満たすパリティ検査多項式を次式のようにあらわす。
提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)について説明する。なお、nは2以上の自然数となる。
ベースとなる、符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC−CCのためのi番目(i=0,1,・・・,m−1)の0を満たすパリティ検査多項式を次式のようにあらわす。
したがって、ベースとなる、式(A8)の符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC−CCのための0を満たすi番目(i=0,1,・・・,m−1)パリティ検査多項式は、P(D)の項を2個もつことになる。これが、パリティPを逐次的に求めることができ、演算(回路)規模を削減することができる一つの重要な要件となる。
方法1:
方法2:
次に、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)の、ベース(基礎的な構造)となる、符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC−CCの式(A8)の0を満たすパリティ検査多項式の時変周期mと提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のブロックサイズの関係について説明する。
・パリティ検査行列の行数は、mの倍数である。
・したがって、パリティ検査行列の列数はn×mの倍数である。このとき、復号時に必要な(例えば)対数尤度比は、パリティ検査行列の列数の対数尤度比である。
ただし、条件#19が必要となる、ベースとなる、時変周期m、符号化率(n−1)/nのLDPC−CCの0を満たすパリティ検査多項式は、式(A8)に限ったものではない。
の改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)とベース(基礎的な構造)となる、符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC−CCの違いについては、あとで詳しく述べる。)したがって、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproとすると、Hproの列数はn×m×zとあらわすことができる(zは自然数)。よって、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)の第sブロックのn×m×zのビット数で構成される送信系列(符号化系列(符号語))vsはvs=(Xs,1,1、Xs,2,1、・・・、Xs,n−1,1、Ppro,s,1、Xs,1,2、Xs,2,2、・・・、Xs,n−1,2、Ppro,s,2、・・・、Xs,1,m×z−1、Xs,2,m×z−1、・・・、Xs,n−1,m×z−1、Ppro,s,m×z−1、Xs,1,m×z、Xs,2,m×z、・・・、Xs,n−1,m×z、Ppro,s,m×z)T=(λpro,s,1、λpro,s,2、・・・、λpro,s,m×z−1、λpro,s,m×z)Tとあらわすことができ、Hprovs=0が成立する(このとき、「Hprovs=0(ゼロ)」は、全ての要素が0(ゼロ)のベクトルであることを意味する)。なお、Xs,j,kは情報Xjのビットであり(jは1以上n−1以下の整数)、Ppro,s,kは提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティのビットであり、λpro,s,k=(Xs,1,k、Xs,2,k、・・・、Xs,n−1,k、Ppro,s,k)である(したがって、n=2のとき、λpro,s,k=(Xs,1,k、Ppro,s,k)となり、n=3のとき、λpro,s,k=(Xs,1,k、Xs,2,k、Ppro,s,k)となり、n=4のとき、λpro,s,k=(Xs,1,k、Xs,2,k、Xs,3,k、Ppro,s,k)となり、n=5のとき、λpro,s,k=(Xs,1,k、Xs,2,k、Xs,3,k、Xs,4,k、Ppro,s,k)となり、n=6のとき、λpro,s,k=(Xs,1,k、Xs,2,k、Xs,3,k、Xs,4,k、Xs,5,k、Ppro,s,k)となる。)。ただし、k=1、2、・・・、m×z−1、m×z、つまり、kは1以上m×z以下の整数である。また、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの行数は、m×zとなる。
提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)における、ベース(基礎的な構造)となる、符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC−CCの式(A8)の0を満たすパリティ検査多項式のパリティのみの項で形成する図11、図12、図14、図38、図39のようなツリーを描いた場合、提案する符号において、逐次的にパリティを求めることが可能とするための条件として、図12、図14、図38のように、式(A8)の0番目からm−1番目のすべてのパリティ検査多項式に相当するチェックノードがツリーに出現する必要がある。したがって、実施の形態1、実施の形態6から、以下の条件が有効な方法となる。
<条件#20−1>
・式(A8)の0を満たすパリティ検査多項式において、iは0以上m−1以下の整数であり、かつ、jは0以上m−1以下の整数であり、かつ、i≠jであり、この条件を満たす、すべてi、すべてのjで、b1,i%m=b1,j%m=β(βは自然数であり、βは固定値)を満たす。
<条件#20−2>
・「mの約数のうち、1を除いた、約数の集合をR」としたとき、βはRに属してはならない。
ただし、本実施の形態において(本明細書の中で共通である)、「%」はmoduloを意味し、例えば、「α%q」は、αをqで除算したときの余りである。(αは0以上の整数、qは自然数である。)
なお、「mの約数のうち、1を除いた、約数の集合をRとしたとき、少なくともβはRに属してはならない。」という条件に加え、新たに、以下の条件を満たすとよい。
<条件#20−3>
・βは1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。β/w=g(gは自然数)を満たす、すべてのwを抽出した集合をSとしたとき、R∩Sは空集合である。なお、集合Rは<条件#20−2>で定義している。
なお、<条件#20−3>を別の表現をすると、<条件#20−3’>となる。
<条件#20−3’>
・βは1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。βの約数の集合をSとしたとき、R∩Sは空集合である。
なお、<条件#20−3><条件#20−3’>を別の表現をすると、<条件#20−3”>となる。
<条件#20−3”>
・βは1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。βとmの最大公約数が1である。
以下では、例を用いて説明する。時変周期m=6とする。すると、<条件#20−1>において、βは自然数であることから、βは{1、2、3、4、5}となる。
<条件#20−3>について考える。(<条件#20−3’><条件#20−3”>を考えても同様である。)まず、βは1以上m−1以下の整数の集合に属することから、βとして{1、2、3、4、5}を考えることができる。
次に、「β/w=g(gは自然数)を満たす、すべてのwを抽出した集合をSとしたとき、R∩Sは空集合である。」を考える。上記で説明したように、集合Rは{2,3、6}となる。
βが1のとき、集合Sは{1}となる。したがって、R∩Sは空集合であり、<条件#20−3>を満たす。
βが2のとき、集合Sは{1,2}となる。したがって、R∩Sは{2}となり、<条件#20−3>を満たさない。
βが3のとき、集合Sは{1,3}となる。したがって、R∩Sは{3}となり、<条件#20−3>を満たさない。
βが4のとき、集合Sは{1,2,4}となる。したがって、R∩Sは{2}となり、<条件#20−3>を満たさない。
βが5のとき、集合Sは{1,5}となる。したがって、R∩Sは空集合であり、<条件#20−3>を満たす。
したがって、<条件#20−1>かつ<条件#20−3>を満たすβは{1、5}となる。
そして、<条件#20−2>「「mの約数のうち、1を除いた、約数の集合をR」としたとき、βはRに属してはならない。」と記載している。このとき、集合Rは{7}となる(約数のうち1を除くので)。したがって、<条件#20−1>かつ<条件#20−2>を満たしたとき、βは{1、2、3、4、5、6}となる。
次に、「β/w=g(gは自然数)を満たす、すべてのwを抽出した集合をSとしたとき、R∩Sは空集合である。」を考える。上記で説明したように、集合Rは{7}となる。
βが1のとき、集合Sは{1}となる。したがって、R∩Sは空集合であり、<条件#20−3>を満たす。
βが3のとき、集合Sは{1,3}となる。したがって、R∩Sは空集合であり、<条件#20−3>を満たす。
βが4のとき、集合Sは{1,2,4}となる。したがって、R∩Sは空集合であり、<条件#20−3>を満たす。
βが6のとき、集合Sは{1,2,3,6}となる。したがって、R∩Sは空集合であり、<条件#20−3>を満たす。
したがって、<条件#20−1>かつ<条件#20−3>を満たすβは{1、2、3、4、5、6}となる。
めに、以下の条件を満たすとよい。
<条件#20−4>
・「式(A8)の0を満たすパリティ検査多項式において、iは0以上m−1以下の整数であり、かつ、jは0以上m−1以下の整数であり、かつ、i≠jであり、この条件を満たす、すべてi、すべてのjで、b1,i%m=b1,j%m=β(βは自然数であり、βは固定値)を満たし」、
かつ、
「vは0以上m−1以下の整数であり、かつ、wは0以上m−1以下の整数であり、かつ、v≠wであり、b1,v≠b1,wを満たすv、wが存在する」
ただし、条件#20−4を満たさなくても、高い誤り訂正能力が得られる可能性はある。また、よりランダム性を得るために以下の条件を考えることができる。
<条件#20−5>
・「式(A8)の0を満たすパリティ検査多項式において、iは0以上m−1以下の整数であり、かつ、jは0以上m−1以下の整数であり、かつ、i≠jであり、この条件を満たす、すべてi、すべてのjで、b1,i%m=b1,j%m=β(βは自然数であり、βは固定値)を満たし」、
かつ、
「vは0以上m−1以下の整数であり、かつ、wは0以上m−1以下の整数であり、かつ、v≠wであり、この条件を満たす、すべてのv、すべてのwにおいて、b1,v≠b1,wを満たす。」
ただし、条件#20−5を満たさなくても、高い誤り訂正能力が得られる可能性はある。
<条件#20−6>
・「式(A8)の0を満たすパリティ検査多項式において、iは0以上m−1以下の整数であり、この条件を満たす、すべてiで、b1,i=1を満たす。」を満たさない。
ただし、条件#20−6を満たさなくても、高い誤り訂正能力が得られる可能性はある。
提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)では、「ベースとして(基礎的な構造として)、符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC−CCの、式(A8)の0を満たすパリティ検査多項式を利用する」と記載したが、この点について説明する。
図127は、符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC−CCの、式(A8)の0を満たすパリティ検査多項式のみでテイルバイティングを行って、テイルバイティングを行った周期的時変LDPC−CCを形成したときのパリティ検査行列Hの構成を示している。なお、パリティ検査多項式に基づく周期的時変LDPC−CCのテイルバイティングを行ったときのパリティ検査行列の生成方法については、実施の形態3、実施の形態15、実施の形態17、実施の形態18で説明したとおりである。図127は、<条件#19>を満たしているので、パリティ検査行列の行数はm×z、パリティ検査行列の列数はn×m×zとなる。
・
・
図127のパリティ検査行列の第m−1行は、式(A8)の0を満たす0番目のパリティ検査多項式からm−1番目パリティ検査多項式のうちの、「m−2番目のパリティ検査多項式」を変換することで得られる(「m−2番目のパリティ検査多項式」から1行、n×m×z列のベクトルを生成することで得られる。)。したがって、図127では「m−2番目のパリティ検査多項式に相当する行」と記述している。
図127のパリティ検査行列の第m行は、式(A8)の0を満たす0番目のパリティ検査多項式からm−1番目パリティ検査多項式のうちの、「m−1番目のパリティ検査多項式」を変換することで得られる(「m−1番目のパリティ検査多項式」から1行、n×m×z列のベクトルを生成することで得られる。)。したがって、図127では「m−1番目のパリティ検査多項式に相当する行」と記述している。
・
・
図127のパリティ検査行列の第m×z−1行は、式(A8)の0を満たす0番目のパリティ検査多項式からm−1番目パリティ検査多項式のうちの、「m−2番目のパリティ検査多項式」を変換することで得られる(「m−2番目のパリティ検査多項式」から1行、n×m×z列のベクトルを生成することで得られる。)。
図127のパリティ検査行列の第m×z行は、式(A8)の0を満たす0番目のパリティ検査多項式からm−1番目パリティ検査多項式のうちの、「m−1番目のパリティ検査多項式」を変換することで得られる(「m−1番目のパリティ検査多項式」から1行、n×m×z列のベクトルを生成することで得られる。)。
符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC−CCの、式(A8)の0を満たすパリティ検査多項式のみでテイルバイティングを行って、テイルバイティングを行った周期的時変LDPC−CCの
第sブロックのn×m×zのビット数で構成される送信系列(符号化系列(符号語))wsはws=(Xs,1,1、Xs,2,1、・・・、Xs,n−1,1、Pt−v,s,1、Xs,1,2、Xs,2,2、・・・、Xs,n−1,2、Pt−v,s,2、・・・、Xs,1,m×z−1、Xs,2,m×z−1、・・・、Xs,n−1,m×z−1、Pt−v,s,m×z−1、Xs,1,m×z、Xs,2,m×z、・・・、Xs,n−1,m×z、Pt−v,s,m×z)T=(λt−v,s,1、λt−v,s,2、・・・、λt−v,s,m×z−1、λt−v,s,m×z)Tとあらわすことができ、Hws=0が成立する(このとき、「Hws=0=0(ゼロ)」は、全ての要素が0(ゼロ)のベクトルであることを意味する)。
図128に提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproの構成例の一例を示す。なお、提案する符号化率R=(n−1)/nのテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hproは、<条件#19>を満たすことになる。したがって、パリティ検査行列Hproの行数はm×z、パリティ検査行列Hproの列数はn×m×zとする。
次に、パリティが逐次的に求めることができ、かつ、良好な誤り訂正能力を得るための、式(A17)のg1の構成方法について説明する。
パリティが逐次的に求めることができ、かつ、良好な誤り訂正能力を得るための、式(A17)のg1の構成方法の一つの例は、ベースとなる(基礎的な構造となる)、符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC−CCの、式(A8)の0を満たすパリティ検査多項式を利用して作成することができる。
実施の形態3、実施の形態15にしたがった、式(A19)の0を満たすパリティ検査多項式のみでテイルバイティングを行って生成した、符号化率R=(n−1)/nのテイルバイティングを行った(時不変)LDPC−CCを考える。
このとき、式(A19)の0を満たすパリティ検査多項式のみでテイルバイティングを行って生成した、符号化率R=(n−1)/nのテイルバイティングを行った(時不変)LDPC−CCのパリティ検査行列をHt−invとする。そして、パリティ検査行列Ht−invの行数はm×z、パリティ検査行列Ht−invの列数はn×m×zとしたとき、Ht−invを次式であらわす。
上述の説明からわかるように、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproの第1行は、式(A19)の0を満たすパリティ検査多項式Yを変換することで得られる(つまり、1行、n×m×z列のg1=c1が得られる。)
提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)の第sブロックのn×m×zのビット数で構成される送信系列(符号化系列(符号語))vsはvs=(Xs,1,1、Xs,2,1、・・・、Xs,n−1,1、Ppro,s,1、Xs,1,2、Xs,2,2、・・・、Xs,n−1,2、Ppro,s,2、・・・、Xs,1,m×z−1、Xs,2,m×z−1、・・・、Xs,n−1,m×z−1、Ppro,s,m×z−1、Xs,1,m×z、Xs,2,m×z、・・・、Xs,n−1,m×z、Ppro,s,m×z)T=(λpro,s,1、λpro,s,2、・・・、λpro,s,m×z−1、λpro,s,m×z)Tであり、この送信系列を得るために、m×z個の0を満たすパリティ検査多項式が必要となる。このとき、m×z個の0を満たすパリティ検査多項式を順番に並べたとき、e番目の0を満たすパリティ検査多項式を「第e番目の0を満たすパリティ検査多項式」と名付ける(eは0以上m×z−1以下の整数)。したがって、0を満たすパリティ検査多項式は、
0番目:「第0番目の0を満たすパリティ検査多項式」
1番目:「第1番目の0を満たすパリティ検査多項式」
2番目:「第2番目の0を満たすパリティ検査多項式」
・
・
・
e番目:「第e番目の0を満たすパリティ検査多項式」
・
・
・
m×z−2番目:「第m×z−2番目の0を満たすパリティ検査多項式」
m×z−1番目:「第m×z−1番目の0を満たすパリティ検査多項式」
の順に並べられていることになり、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)の第sブロックの送信系列(符号化系列(符号語))vsを得ることになる。(なお、上述からわかるように、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproを式(A14)のようにあらわした場合、パリティ検査行列Hproのe+1行で構成されるベクトルが、「第e番目の0を満たすパリティ検査多項式」に相当する。)
すると、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)において、
第0番目の0を満たすパリティ検査多項式は、「式(A19)の0を満たすパリティ検査多項式Y」であり、
第1番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たす1番目のパリティ検査多項式」であり、
第2番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第m−2番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たすm−2番目のパリティ検査多項式」であり、
第m−1番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たすm−1番目のパリティ検査多項式」であり、
第m番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たす0番目のパリティ検査多項式」であり、
第m+1番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たす1番目のパリティ検査多項式」であり、
第m+2番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第2m−2番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たすm−2番目のパリティ検査多項式」であり、
第2m−1番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たすm−1番目のパリティ検査多項式」であり、
第2m番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たす0番目のパリティ検査多項式」であり、
第2m+1番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たす1番目のパリティ検査多項式」であり、
第2m+2番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第m×z−2番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たすm−2番目のパリティ検査多項式」であり、
第m×z−1番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たすm−1番目のパリティ検査多項式」
となる。つまり、
「第0番目の0を満たすパリティ検査多項式は、「式(A19)の0を満たすパリティ検査多項式Y」であり、第e番目(eは1以上m×z−1の整数)の0を満たすパリティ検査多項式は、「式(A8)の0を満たすe%m番目のパリティ検査多項式」
となる。
以下では、「パリティを逐次的に求めることができる」ことについて説明する。
以上のように、本実施の形態における符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)は、高い誤り訂正能力が得られるとともに、複数のパリティを逐次的に求めることが可能となるため、符号化器の回路規模を小さくすることができるという利点をもつことになる。
(1)時変周期mが素数であること。
(3)時変周期mをα×βとする。
ただし、α、βは、1を除く奇数であり、かつ、素数。
(4)時変周期mをαnとする。
ただし、αは、1を除く奇数であり、かつ、素数であり、nは2以上の整数。
ただし、α、β、γは、1を除く奇数であり、かつ、素数。
(6)時変周期mをα×β×γ×δとする。
ただし、α、β、γ、δは、1を除く奇数であり、かつ、素数。
(7)時変周期mをAu×Bvとする。
ただし、A、Bともに、1を除く奇数であり、かつ、素数であり、A≠Bとし、u、vともに1以上の整数。
ただし、A、B、Cいずれも1を除く奇数であり、かつ、素数であり、A≠B、A≠C、B≠Cとし、u、v、wいずれも1以上の整数。
(9)時変周期mをAu×Bv×Cw×Dxとする。
ただし、A、B、C、Dいずれも1を除く奇数であり、かつ、素数であり、A≠B、A≠C、A≠D、B≠C、B≠D、C≠Dとし、u、v、w、xいずれも1以上の整数。
となる。ただし、時変周期mが大きければ、実施の形態6等で説明した効果を得ることができるので、時変周期mが偶数とすると高い誤り訂正能力をもつ符号が得られない、というわけではなく、例えば、時変周期mが偶数のとき、以下のような条件を満たしてもよい。
(10)時変周期mを2g×Kとする。
ただし、Kが素数であり、かつ、gは1以上の整数とする。
(11)時変周期mを2g×Lとする
ただし、Lが奇数であり、かつ、Lの約数の数が少ないこと、かつ、gは1以上の整数とする。
(12)時変周期mを2g×α×βとする。
ただし、α、βは1を除く奇数、かつ、α、βは素数であり、かつ、gは1以上の整数とする。
(13)時変周期mを2g×αnとする。
ただし、αは1を除く奇数であり、かつ、αは素数であり、かつ、nは2以上の整数であり、かつ、gは1以上の整数とする。
(14)時変周期mを2g×α×β×γとする。
ただし、α、β、γは1を除く奇数であり、かつ、α、β、γは素数であり、かつ、gは1以上の整数とする。
(15)時変周期mを2g×α×β×γ×δとする。
ただし、α、β、γ、δは1を除く奇数であり、かつ、α、β、γ、δは素数であり、かつ、gは1以上の整数とする。
(16)時変周期mを2g×Au×Bvとする。
ただし、A、Bともに1を除く奇数であり、かつ、A、Bともには素数であり、A≠Bとし、かつ、u、vともに1以上の整数であり、かつ、gは1以上の整数とする。
(17)時変周期mを2g×Au×Bv×Cwとする。
ただし、A、B、Cいずれも1を除く奇数であり、かつ、A、B、Cいずれも素数であり、A≠B、A≠C、B≠Cとし、u、v、wいずれも1以上の整数であり、かつ、gは1以上の整数とする。
(18)時変周期mを2g×Au×Bv×Cw×Dxとする。
ただし、A、B、C、Dいずれも1を除く奇数であり、かつ、A、B、C、Dいずれも素数であり、A≠B、A≠C、A≠D、B≠C、B≠D、C≠Dとし、u、v、w、xいずれも1以上の整数とし、かつ、gは1以上の整数とする。
ただし、時変周期mが上記の(1)から(9)を満たさない奇数の場合でも、高い誤り訂正能力を得ることができる可能性があり、また、時変周期mが上記の(10)から(18)を満たさない偶数の場合でも、高い誤り訂正能力を得ることができる可能性がある。
また、時変周期mが小さいと符号化率が小さいとき高いビット誤り率でエラーフロアーを発生する可能性がある。この点が、通信システム、放送システム、ストレージ、メモリ等で使用したとき問題となるとき、時変周期mは3より大きいことが望まれるが、システム上、許容範囲の場合、時変周期mを小さく設定してもよい。
本実施の形態で説明した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)を通信システムで用いた場合を一例として考える。なお、LDPC符号を用いたときの通信システムの説明については、実施の形態3、実施の形態13、実施の形態15、実施の形態16、実施の形態17、実施の形態18等で説明しており、本実施の形態で説明した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)を通信システムに適用したとき、本実施の形態で説明した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)の符号化器、復号化器の特徴は、本実施の形態で説明した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro、および、Hprovs=0の関係に基づき符号化器、復号化器が構成され、動作する点である。
(実施の形態A2)
本実施の形態では、実施の形態A1とは別の例(変形例)の提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)について説明する(nは2以上の自然数。)。なお、本実施の形態の提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)は、実施の形態A1と同様、ベースとして(基礎的な構造として)、テイルバイティングを用いた、符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC−CCの、式(A8)の0を満たすパリティ検査多項式を利用している。なお、本実施の形態の提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproは、<条件#19>を満たすことになる。
図128の本実施の形態の提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号のパリティ検査行列Hproの第k行目(kは1以上m×z以下の整数)の1行、n×m×z列のベクトルをgkとすると、図128のパリティ検査行列Hproは式(A14)であらわされる。
したがって、本実施の形態の提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproは式(A17)のようにあらわすことができる。なお、式(A17)において、式(A16)が成立することになる。
パリティが逐次的に求めることができ、かつ、良好な誤り訂正能力を得るための、式(A17)のg1の構成方法の一つの例は、ベースとなる(基礎的な構造となる)、符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC−CCの、式(A8)の0を満たすパリティ検査多項式を利用して作成することができる。
実施の形態3、実施の形態15にしたがった、式(A20)の0を満たすパリティ検査多項式のみでテイルバイティングを行って生成した、符号化率R=(n−1)/nのテイルバイティングを行った(時不変)LDPC−CCを考える。
このとき、式(A20)の0を満たすパリティ検査多項式のみでテイルバイティングを行って生成した、符号化率R=(n−1)/nのテイルバイティングを行った(時不変)LDPC−CCのパリティ検査行列をHt−inv―2とする。そして、パリティ検査行列Ht−inv―2の行数はm×z、パリティ検査行列Ht−inv―2の列数はn×m×zとしたとき、Ht−inv―2を次式であらわす。
式(A20)の0を満たすパリティ検査多項式のみでテイルバイティングを行って生成した、符号化率R=(n−1)/nのテイルバイティングを行った(時不変)LDPC−CCの第sブロックのn×m×zのビット数で構成される送信系列(符号化系列(符号語))ysはys=(Xs,1,1、Xs,2,1、・・・、Xs,n−1,1、Pt−inv―2,s,1、Xs,1,2、Xs,2,2、・・・、Xs,n−1,2、Pt−inv―2,s,2、・・・、Xs,1,m×z−1、Xs,2,m×z−1、・・・、Xs,n−1,m×z−1、Pt−inv―2,s,m×z−1、Xs,1,m×z、Xs,2,m×z、・・・、Xs,n−1,m×z、Pt−inv―2,s,m×z)T=(λt−inv―2,s,1、λt−inv―2,s,2、・・・、λt−inv―2,s,m×z−1、λt−inv―2,s,m×z)Tとあらわすことができ、Ht−inv―2ys=0が成立する(このとき、「Ht−inv―2ys=0(ゼロ)」は、全ての要素が0(ゼロ)のベクトルであることを意味する)。なお、Xs,j,kは情報Xjのビットであり(jは1以上n−1以下の整数)、Pt−inv―2,s,kは式(A20)の0を満たすパリティ検査多項式のみでテイルバイティングを行って生成した、符号化率R=(n−1)/nのテイルバイティングを行った(時不変)LDPC−CCのパリティのビットであり、λt−inv―2,s,k=(Xs,1,k、Xs,2,k、・・・、Xs,n−1,k、Pt−inv―2,s,k)である(したがって、n=2のとき、λt−inv―2,s,k=(Xs,1,k、Pt−inv―2,s,k)となり、n=3のとき、λt−inv―2,s,k=(Xs,1,k、Xs,2,k、Pt−inv―2,s,k)となり、n=4のとき、λt−inv―2,s,k=(Xs,1,k、Xs,2,k、Xs,3,k、Pt−inv―2,s,k)となり、n=5のとき、λt−inv―2,s,k=(Xs,1,k、Xs,2,k、Xs,3,k、Xs,4,k、Pt−inv―2,s,k)となり、n=6のとき、λt−inv―2,s,k=(Xs,1,k、Xs,2,k、Xs,3,k、Xs,4,k、Xs,5,k、Pt−inv―2,s,k)となる。)。ただし、k=1、2、・・・、m×z−1、m×z、つまり、kは1以上m×z以下の整数である。
なお、式(A20)の0を満たすパリティ検査多項式を「0を満たすパリティ検査多項式Z」と名付ける。
よって、本実施の形態の提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproの第1行は、式(A20)の0を満たすパリティ検査多項式Zを変換することで得られる(つまり、1行、n×m×z列のg1が得られる。)
本実施の形態の提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)の第sブロックのn×m×zのビット数で構成される送信系列(符号化系列(符号語))vsはvs=(Xs,1,1、Xs,2,1、・・・、Xs,n−1,1、Ppro,s,1、Xs,1,2、Xs,2,2、・・・、Xs,n−1,2、Ppro,s,2、・・・、Xs,1,m×z−1、Xs,2,m×z−1、・・・、Xs,n−1,m×z−1、Ppro,s,m×z−1、Xs,1,m×z、Xs,2,m×z、・・・、Xs,n−1,m×z、Ppro,s,m×z)T=(λpro,s,1、λpro,s,2、・・・、λpro,s,m×z−1、λpro,s,m×z)Tであらわされ、この送信系列を得るために、m×z個の0を満たすパリティ検査多項式が必要となる。このとき、m×z個の0を満たすパリティ検査多項式を順番に並べたとき、e番目の0を満たすパリティ検査多項式を「第e番目の0を満たすパリティ検査多項式」と名付ける(eは0以上m×z−1以下の整数)。したがって、0を満たすパリティ検査多項式は、
0番目:「第0番目の0を満たすパリティ検査多項式」
1番目:「第1番目の0を満たすパリティ検査多項式」
2番目:「第2番目の0を満たすパリティ検査多項式」
・
・
・
e番目:「第e番目の0を満たすパリティ検査多項式」
・
・
・
m×z−2番目:「第m×z−2番目の0を満たすパリティ検査多項式」
m×z−1番目:「第m×z−1番目の0を満たすパリティ検査多項式」
の順に並べられていることになり、本実施の形態の提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)の第sブロックの送信系列(符号化系列(符号語))vsを得ることになる。(なお、上述からわかるように、本実施の形態の提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproを式(A14)のようにあらわした場合、パリティ検査行列Hproのe+1行で構成されるベクトルが、「第e番目の0を満たすパリティ検査多項式」に相当する。)
すると、本実施の形態の提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)において、
第0番目の0を満たすパリティ検査多項式は、「式(A20)の0を満たすパリティ検査多項式Z」であり、
第1番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たす1番目のパリティ検査多項式」であり、
第2番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第m−2番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たすm−2番目のパリティ検査多項式」であり、
第m−1番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たすm−1番目のパリティ検査多項式」であり、
第m番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たす0番目のパリティ検査多項式」であり、
第m+1番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たす1番目のパリティ検査多項式」であり、
第m+2番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第2m−2番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たすm−2番目のパリティ検査多項式」であり、
第2m−1番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たすm−1番目のパリティ検査多項式」であり、
第2m番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たす0番目のパリティ検査多項式」であり、
第2m+1番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たす1番目のパリティ検査多項式」であり、
第2m+2番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第m×z−2番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たすm−2番目のパリティ検査多項式」であり、
第m×z−1番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たすm−1番目のパリティ検査多項式」
となる。つまり、
「第0番目の0を満たすパリティ検査多項式は、「式(A20)の0を満たすパリティ検査多項式Z」であり、第e番目(eは1以上m×z−1の整数)の0を満たすパリティ検査多項式は、「式(A8)の0を満たすe%m番目のパリティ検査多項式」
となる。
なお、上述の説明において、<条件#20−4><条件#20−5><条件#20−6>の3つの条件のうち、一つ以上の条件を満たすと高い誤り訂正能力を得られる可能性があるが、満たさなくても高い誤り訂正能力が得られることもある。
(1)時変周期mが素数であること。
(3)時変周期mをα×βとする。
ただし、α、βは、1を除く奇数であり、かつ、素数。
(4)時変周期mをαnとする。
ただし、αは、1を除く奇数であり、かつ、素数であり、nは2以上の整数。
ただし、α、β、γは、1を除く奇数であり、かつ、素数。
(6)時変周期mをα×β×γ×δとする。
ただし、α、β、γ、δは、1を除く奇数であり、かつ、素数。
(7)時変周期mをAu×Bvとする。
ただし、A、Bともに、1を除く奇数であり、かつ、素数であり、A≠Bとし、u、vともに1以上の整数。
ただし、A、B、Cいずれも1を除く奇数であり、かつ、素数であり、A≠B、A≠C、B≠Cとし、u、v、wいずれも1以上の整数。
(9)時変周期mをAu×Bv×Cw×Dxとする。
ただし、A、B、C、Dいずれも1を除く奇数であり、かつ、素数であり、A≠B、A≠C、A≠D、B≠C、B≠D、C≠Dとし、u、v、w、xいずれも1以上の整数。
となる。ただし、時変周期mが大きければ、実施の形態6等で説明した効果を得ることができるので、時変周期mが偶数とすると高い誤り訂正能力をもつ符号が得られない、というわけではなく、例えば、時変周期mが偶数のとき、以下のような条件を満たしてもよい。
(10)時変周期mを2g×Kとする。
ただし、Kが素数であり、かつ、gは1以上の整数とする。
(11)時変周期mを2g×Lとする
ただし、Lが奇数であり、かつ、Lの約数の数が少ないこと、かつ、gは1以上の整数とする。
(12)時変周期mを2g×α×βとする。
ただし、α、βは1を除く奇数、かつ、α、βは素数であり、かつ、gは1以上の整数とする。
(13)時変周期mを2g×αnとする。
ただし、αは1を除く奇数であり、かつ、αは素数であり、かつ、nは2以上の整数であり、かつ、gは1以上の整数とする。
(14)時変周期mを2g×α×β×γとする。
ただし、α、β、γは1を除く奇数であり、かつ、α、β、γは素数であり、かつ、gは1以上の整数とする。
(15)時変周期mを2g×α×β×γ×δとする。
ただし、α、β、γ、δは1を除く奇数であり、かつ、α、β、γ、δは素数であり、かつ、gは1以上の整数とする。
(16)時変周期mを2g×Au×Bvとする。
ただし、A、Bともに1を除く奇数であり、かつ、A、Bともには素数であり、A≠Bとし、かつ、u、vともに1以上の整数であり、かつ、gは1以上の整数とする。
(17)時変周期mを2g×Au×Bv×Cwとする。
ただし、A、B、Cいずれも1を除く奇数であり、かつ、A、B、Cいずれも素数であり、A≠B、A≠C、B≠Cとし、u、v、wいずれも1以上の整数であり、かつ、gは1以上の整数とする。
(18)時変周期mを2g×Au×Bv×Cw×Dxとする。
ただし、A、B、C、Dいずれも1を除く奇数であり、かつ、A、B、C、Dいずれも素数であり、A≠B、A≠C、A≠D、B≠C、B≠D、C≠Dとし、u、v、w、xいずれも1以上の整数とし、かつ、gは1以上の整数とする。
ただし、時変周期mが上記の(1)から(9)を満たさない奇数の場合でも、高い誤り訂正能力を得ることができる可能性があり、また、時変周期mが上記の(10)から(18)を満たさない偶数の場合でも、高い誤り訂正能力を得ることができる可能性がある。
また、時変周期mが小さいと符号化率が小さいとき高いビット誤り率でエラーフロアーを発生する可能性がある。この点が、通信システム、放送システム、ストレージ、メモリ等で使用したとき問題となるとき、時変周期mは3より大きいことが望まれるが、システム上、許容範囲の場合、時変周期mを小さく設定してもよい。
本実施の形態で説明した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)を通信システムで用いた場合を一例として考える。なお、LDPC符号を用いたときの通信システムの説明については、実施の形態3、実施の形態13、実施の形態15、実施の形態16、実施の形態17、実施の形態18等で説明しており、本実施の形態で説明した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)を通信システムに適用したとき、本実施の形態で説明した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)の符号化器、復号化器の特徴は、本実施の形態で説明した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro、および、Hprovs=0の関係に基づき符号化器、復号化器が構成され、動作する点である。
(実施の形態A3)
本実施の形態では、実施の形態A1を一般化した例の提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)について説明する(nは2以上の自然数。)。なお、本実施の形態の提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)は、実施の形態A1、実施の形態A2と同様、ベースとして(基礎的な構造として)、テイルバイティングを用いた、符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC−CCの、式(A8)の0を満たすパリティ検査多項式を利用している。なお、本実施の形態の提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproは、<条件#19>を満たすことになる。したがって、パリティ検査行列Hproの行数はm×z、パリティ検査行列Hproの列数はn×m×zとする。
図129の本実施の形態の提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproの第k行目(kは1以上m×z以下の整数)の1行、n×m×z列のベクトルをgkとすると、図129のパリティ検査行列Hproは次式であらわされる。
パリティが逐次的に求めることができ、かつ、良好な誤り訂正能力を得るための、式(A24)のgαの構成方法の一つの例は、ベースとなる(基礎的な構造となる)、符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC−CCの、式(A8)の0を満たすパリティ検査多項式を利用して作成することができる。
実施の形態3、実施の形態15にしたがった、式(A26)の0を満たすパリティ検査多項式のみでテイルバイティングを行って生成した、符号化率R=(n−1)/nのテイルバイティングを行った(時不変)LDPC−CCを考える。
このとき、式(A26)の0を満たすパリティ検査多項式のみでテイルバイティングを行って生成した、符号化率R=(n−1)/nのテイルバイティングを行った(時不変)LDPC−CCのパリティ検査行列をHt−inv―3とする。そして、パリティ検査行列Ht−inv―3の行数はm×z、パリティ検査行列Ht−inv―3の列数はn×m×zとしたとき、Ht−inv―3を次式であらわす。
,k、Xs,2,k、Xs,3,k、Xs,4,k、Xs,5,k、Pt−inv―3,s,k)となる。)。ただし、k=1、2、・・・、m×z−1、m×z、つまり、kは1以上m×z以下の整数である。
このとき、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproの第α行のベクトルgαと式(A26)の0を満たすパリティ検査多項式のみでテイルバイティングを行って生成した、符号化率R=(n−1)/nのテイルバイティングを行った(時不変)LDPC−CCのパリティ検査行列Ht−inv―3の第α行のベクトルc3,αにおいて、gα=c3,αの関係が成立する。
よって、本実施の形態の提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproの第α行は、式(A26)の0を満たすパリティ検査多項式Uを変換することで得られる(つまり、1行、n×m×z列のgαが得られる。)
本実施の形態の提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)の第sブロックのn×m×zのビット数で構成される送信系列(符号化系列(符号語))vsはvs=(Xs,1,1、Xs,2,1、・・・、Xs,n−1,1、Ppro,s,1、Xs,1,2、Xs,2,2、・・・、Xs,n−1,2、Ppro,s,2、・・・、Xs,1,m×z−1、Xs,2,m×z−1、・・・、Xs,n−1,m×z−1、Ppro,s,m×z−1、Xs,1,m×z、Xs,2,m×z、・・・、Xs,n−1,m×z、Ppro,s,m×z)T=(λpro,s,1、λpro,s,2、・・・、λpro,s,m×z−1、λpro,s,m×z)Tであらわされ、この送信系列を得るために、m×z個の0を満たすパリティ検査多項式が必要となる。このとき、m×z個の0を満たすパリティ検査多項式を順番に並べたとき、e番目の0を満たすパリティ検査多項式を「第e番目の0を満たすパリティ検査多項式」と名付ける(eは0以上m×z−1以下の整数)。したがって、0を満たすパリティ検査多項式は、
0番目:「第0番目の0を満たすパリティ検査多項式」
1番目:「第1番目の0を満たすパリティ検査多項式」
2番目:「第2番目の0を満たすパリティ検査多項式」
・
・
・
e番目:「第e番目の0を満たすパリティ検査多項式」
・
・
・
m×z−2番目:「第m×z−2番目の0を満たすパリティ検査多項式」
m×z−1番目:「第m×z−1番目の0を満たすパリティ検査多項式」
の順に並べられていることになり、本実施の形態の提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)の第sブロックの送信系列(符号化系列(符号語))vsを得ることになる。(なお、上述からわかるように、本実施の形態の提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproを式(A2
1)のようにあらわした場合、パリティ検査行列Hproのe+1行で構成されるベクトルが、「第e番目の0を満たすパリティ検査多項式」に相当する。)
すると、本実施の形態の提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)において、
第0番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たす0番目のパリティ検査多項式」であり、
第1番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たす1番目のパリティ検査多項式」であり、
第2番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第α―1番目の0を満たすパリティ検査多項式は、「式(A26)の0を満たすパリティ検査多項式U」であり、
・
・
・
第m×z−2番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たすm−2番目のパリティ検査多項式」であり、
第m×z−1番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たすm−1番目のパリティ検査多項式」
となる。つまり、
「第α―1番目の0を満たすパリティ検査多項式は、「式(A26)の0を満たすパリティ検査多項式U」であり、eが0以上m×z−1の整数であり、e≠α―1のとき、第e番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たすe%m番目のパリティ検査多項式」
となる。
なお、上述の説明において、<条件#20−4><条件#20−5><条件#20−6>の3つの条件のうち、一つ以上の条件を満たすと高い誤り訂正能力を得られる可能性があるが、満たさなくても高い誤り訂正能力が得られることもある。
(1)時変周期mが素数であること。
(3)時変周期mをα×βとする。
ただし、α、βは、1を除く奇数であり、かつ、素数。
(4)時変周期mをαnとする。
ただし、αは、1を除く奇数であり、かつ、素数であり、nは2以上の整数。
ただし、α、β、γは、1を除く奇数であり、かつ、素数。
(6)時変周期mをα×β×γ×δとする。
ただし、α、β、γ、δは、1を除く奇数であり、かつ、素数。
(7)時変周期mをAu×Bvとする。
ただし、A、Bともに、1を除く奇数であり、かつ、素数であり、A≠Bとし、u、vともに1以上の整数。
ただし、A、B、Cいずれも1を除く奇数であり、かつ、素数であり、A≠B、A≠C、B≠Cとし、u、v、wいずれも1以上の整数。
(9)時変周期mをAu×Bv×Cw×Dxとする。
ただし、A、B、C、Dいずれも1を除く奇数であり、かつ、素数であり、A≠B、A≠C、A≠D、B≠C、B≠D、C≠Dとし、u、v、w、xいずれも1以上の整数。
となる。ただし、時変周期mが大きければ、実施の形態6等で説明した効果を得ることができるので、時変周期mが偶数とすると高い誤り訂正能力をもつ符号が得られない、というわけではなく、例えば、時変周期mが偶数のとき、以下のような条件を満たしてもよい。
(10)時変周期mを2g×Kとする。
ただし、Kが素数であり、かつ、gは1以上の整数とする。
(11)時変周期mを2g×Lとする
ただし、Lが奇数であり、かつ、Lの約数の数が少ないこと、かつ、gは1以上の整数とする。
(12)時変周期mを2g×α×βとする。
ただし、α、βは1を除く奇数、かつ、α、βは素数であり、かつ、gは1以上の整数とする。
(13)時変周期mを2g×αnとする。
ただし、αは1を除く奇数であり、かつ、αは素数であり、かつ、nは2以上の整数であり、かつ、gは1以上の整数とする。
(14)時変周期mを2g×α×β×γとする。
ただし、α、β、γは1を除く奇数であり、かつ、α、β、γは素数であり、かつ、gは1以上の整数とする。
(15)時変周期mを2g×α×β×γ×δとする。
ただし、α、β、γ、δは1を除く奇数であり、かつ、α、β、γ、δは素数であり、かつ、gは1以上の整数とする。
(16)時変周期mを2g×Au×Bvとする。
ただし、A、Bともに1を除く奇数であり、かつ、A、Bともには素数であり、A≠Bとし、かつ、u、vともに1以上の整数であり、かつ、gは1以上の整数とする。
(17)時変周期mを2g×Au×Bv×Cwとする。
ただし、A、B、Cいずれも1を除く奇数であり、かつ、A、B、Cいずれも素数であり、A≠B、A≠C、B≠Cとし、u、v、wいずれも1以上の整数であり、かつ、gは1以上の整数とする。
(18)時変周期mを2g×Au×Bv×Cw×Dxとする。
ただし、A、B、C、Dいずれも1を除く奇数であり、かつ、A、B、C、Dいずれも素数であり、A≠B、A≠C、A≠D、B≠C、B≠D、C≠Dとし、u、v、w、xいずれも1以上の整数とし、かつ、gは1以上の整数とする。
ただし、時変周期mが上記の(1)から(9)を満たさない奇数の場合でも、高い誤り訂正能力を得ることができる可能性があり、また、時変周期mが上記の(10)から(18)を満たさない偶数の場合でも、高い誤り訂正能力を得ることができる可能性がある。
また、時変周期mが小さいと符号化率が小さいとき高いビット誤り率でエラーフロアーを発生する可能性がある。この点が、通信システム、放送システム、ストレージ、メモリ等で使用したとき問題となるとき、時変周期mは3より大きいことが望まれるが、システム上、許容範囲の場合、時変周期mを小さく設定してもよい。
ベースとなる(基礎的な構造となる)、符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC−CCの、式(A8)の0を満たすパリティ検査多項式を利用して、式(A24)のgαを構成する方法では、式(A26)の0を満たすパリ
ティ検査多項式のみでテイルバイティングを行って生成した、符号化率R=(n−1)/nのテイルバイティングを行った(時不変)LDPC−CCを考えたが、式(A26’)の0を満たすパリティ検査多項式のみでテイルバイティングを行って生成した、符号化率R=(n−1)/nのテイルバイティングを行った(時不変)LDPC−CCを考え、式(A26’)の0を満たすパリティ検査多項式のみでテイルバイティングを行って生成した、符号化率R=(n−1)/nのテイルバイティングを行った(時不変)LDPC−CCのパリティ検査行列をHt−inv―3とし、式(A26−H)で与え、式(A24)のgαを構成してもよい。
式(A26’)の0を満たすパリティ検査多項式のみでテイルバイティングを行って生成した、符号化率R=(n−1)/nのテイルバイティングを行った(時不変)LDPC−CCの第sブロックのn×m×zのビット数で構成される送信系列(符号化系列(符号語))ysはys=(Xs,1,1、Xs,2,1、・・・、Xs,n−1,1、Pt−inv―3,s,1、Xs,1,2、Xs,2,2、・・・、Xs,n−1,2、Pt−inv―3,s,2、・・・、Xs,1,m×z−1、Xs,2,m×z−1、・・・、Xs,n−1,m×z−1、Pt−inv―3,s,m×z−1、Xs,1,m×z、Xs,2,m×z、・・・、Xs,n−1,m×z、Pt−inv―3,s,m×z)T=(λt−inv―3,s,1、λt−inv―3,s,2、・・・、λt−inv―3,s,m×z−1、λt−inv―3,s,m×z)Tとあらわすことができ、Ht−inv―3ys=0が成立する(このとき、「Ht−inv―3ys=0(ゼロ)」は、全ての要素が0(ゼロ)のベクトルであることを意味する)。なお、Xs,j,kは情報Xjのビットであり(jは1以上n−1以下の整数)、Pt−inv―3,s,kは式(A26’)の0を満たすパリティ検査多項式のみでテイルバイティングを行って生成した、符号化率R=(n−1)/nのテイルバイティングを行った(時不変)LDPC−CCのパリティのビットであり、λt−inv―3,s,k=(Xs,1,k、Xs,2,k、・・・、Xs,n−1,k、Pt−inv―3,s,k)である(したがって、n=2のとき、λt−inv―3,s,k=(Xs,1,k、Pt−inv―3,s,k)となり、n=3のとき、λt−inv―3,s,k=(Xs,1,k、Xs,2,k、Pt−inv―3,s,k)となり、n=4のとき、λt−inv―3,s,k=(Xs,1,k、Xs,2,k、Xs,3,k、Pt−inv―3,s,k)となり、n=5のとき、λt−inv―3,s,k=(Xs,1,k、Xs,2,k、Xs,3,k、Xs,4,k、Pt−inv―3,s,k)となり、n=6のとき、λt−inv―3,s,k=(Xs,1,k、Xs,2,k、Xs,3,k、Xs,4,k、Xs,5,k、Pt−inv―3,s,k)となる。)。ただし、k=1、2、・・・、m×z−1、m×z、つまり、kは1以上m×z以下の整数である。
本実施の形態で説明した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)を通信システムで用いた場合を一例として考える。なお、LDPC符号を用いたときの通信システムの説明については、実施の形態3、実施の形態13、実施の形態15、実施の形態16、実施の形態17、実施の形態18等で説明しており、本実施の形態で説明した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)を通信システムに適用したとき、本実施の形態で説明した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)の符号化器、復号化器の特徴は、本実施の形態で説明した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro、および、Hprovs=0の関係に基づき符号化器、復号化器が構成され、動作する点である。
(実施の形態A4)
本実施の形態では、実施の形態A2を一般化した例であり、かつ、実施の形態A3の変形例である、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)について説明する(nは2以上の自然数。)。なお、本実施の形態の提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)は、実施の形態A1〜実施の形態A3と同様、ベースとして(基礎的な構造として)、テイルバイティングを用いた、符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC−CCの、式(A8)の0を満たすパリティ検査多項式を利用している。なお、本実施の形態の提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproは、<条件#19>を満たすことになる。したがって、パリティ検査行列Hproの行数はm×z、パリティ検査行列Hproの列数はn×m×zとする。
図129の本実施の形態の提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproの第k行目(kは1以上m×z以下の整数)の1行、n×m×z列のベクトルをgkとすると、図129のパリティ検査行列Hproは式(A21)であらわされる。
iは1以上m×z以下の整数であり、かつ、i≠αであり、これを満たす、すべてのiで式(A22)が成立する。
したがって、本実施の形態の提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproは式(A24)のようにあらわすことができる。なお、式(A24)において、式(A23)が成立することになる。
次に、パリティが逐次的に求めることができ、かつ、良好な誤り訂正能力を得るための、式(A24)のgαの構成方法について説明する。
gαは本実施の形態の提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproの第α行目なので、(行番号−1)%m=(α−1)%mであるので、ベースとなる(基礎的な構造となる)、符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC−CCの、式(A8)の0を満たすパリティ検査多項式の、(α−1)%m番目のパリティ検査多項式である式(A25)を変形した0を満たすパリティ検査多項式から、gαを生成するものとする。(ただし、本実施の形態において(本明細書の中で共通である)、「%」はmoduloを意味し、例えば、「γ%q」は、γをqで除算したときの余りである。(γは0以上の整数、qは自然数である。))例として、本実施の形態の提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproの第α行のベクトルgαを生成するための0を満たすパリティ検査多項式は、式(A25)を利用し、次式とする。
実施の形態3、実施の形態15にしたがった、式(A27)の0を満たすパリティ検査多項式のみでテイルバイティングを行って生成した、符号化率R=(n−1)/nのテイルバイティングを行った(時不変)LDPC−CCを考える。
このとき、式(A27)の0を満たすパリティ検査多項式のみでテイルバイティングを行って生成した、符号化率R=(n−1)/nのテイルバイティングを行った(時不変)LDPC−CCのパリティ検査行列をHt−inv―4とする。そして、パリティ検査行列Ht−inv―4の行数はm×z、パリティ検査行列Ht−inv―4の列数はn×m×zとしたとき、Ht−inv―4を次式であらわす。
よって、本実施の形態の提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproの第α行は、式(A27)の0を満たすパリティ検査多項式Tを変換することで得られる(つまり、1行、n×m×z列のgαが得られる。)。
本実施の形態の提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)の第sブロックのn×m×zのビット数で構成される送信系列(符号化系列(符号語))vsはvs=(Xs,1,1、Xs,2,1、・・・、Xs,n−1,1、Ppro,s,1、Xs,1,2、Xs,2,2、・・・、Xs,n−1,2、Ppro,s,2、・・・、Xs,1,m×z−1、Xs,2,m×z−1、・・・、Xs,n−1,m×z−1、Ppro,s,m×z−1、Xs,1,m×z、Xs,2,m×z、・・・、Xs,n−1,m×z、Ppro,s,m×z)T=(λpro,s,1、λpro,s,2、・・・、λpro,s,m×z−1、λpro,s,m×z)Tであらわされ、この送信系列を得るために、m×z個の0を満たすパリティ検査多項式が必要となる。このとき、m×z個の0を満たすパリティ検査多項式を順番に並べたとき、e番目の0を満たすパリティ検査多項式を「第e番目の0を満たすパリティ検査多項式」と名付ける(eは0以上m×z−1以下の整数)。したがって、0を満たすパリティ検査多項式は、
0番目:「第0番目の0を満たすパリティ検査多項式」
1番目:「第1番目の0を満たすパリティ検査多項式」
2番目:「第2番目の0を満たすパリティ検査多項式」
・
・
・
e番目:「第e番目の0を満たすパリティ検査多項式」
・
・
・
m×z−2番目:「第m×z−2番目の0を満たすパリティ検査多項式」
m×z−1番目:「第m×z−1番目の0を満たすパリティ検査多項式」
の順に並べられていることになり、本実施の形態の提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)の第sブロックの送信系列(符号化系列(符号語))vsを得ることになる。(なお、上述からわかるように、本実施の形態の提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproを式(A21)のようにあらわした場合、パリティ検査行列Hproのe+1行で構成されるベクトルが、「第e番目の0を満たすパリティ検査多項式」に相当する。)
すると、本実施の形態の提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)において、
第0番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たす0番目のパリティ検査多項式」であり、
第1番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たす1番目のパリティ検査多項式」であり、
第2番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第α―1番目の0を満たすパリティ検査多項式は、「式(A27)の0を満たすパリティ検査多項式T」であり、
・
・
・
第m×z−2番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たすm−2番目のパリティ検査多項式」であり、
第m×z−1番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たすm−1番目のパリティ検査多項式」
となる。つまり、
「第α―1番目の0を満たすパリティ検査多項式は、「式(A27)の0を満たすパリティ検査多項式T」であり、eが0以上m×z−1の整数であり、e≠α―1のとき、第e番目の0を満たすパリティ検査多項式は、「式(A8)の0を満たすe%m番目のパリティ検査多項式」
となる。
なお、上述の説明において、<条件#20−4><条件#20−5><条件#20−6>の3つの条件のうち、一つ以上の条件を満たすと高い誤り訂正能力を得られる可能性があるが、満たさなくても高い誤り訂正能力が得られることもある。
以上のように、本実施の形態における符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)は、高い誤り訂正能力が得られるとともに、複数のパリティを逐次的に求めることが可能となるため、符号化器の回路規模を小さくすることができるという利点をもつことになる。
(1)時変周期mが素数であること。
(3)時変周期mをα×βとする。
ただし、α、βは、1を除く奇数であり、かつ、素数。
(4)時変周期mをαnとする。
ただし、αは、1を除く奇数であり、かつ、素数であり、nは2以上の整数。
ただし、α、β、γは、1を除く奇数であり、かつ、素数。
(6)時変周期mをα×β×γ×δとする。
ただし、α、β、γ、δは、1を除く奇数であり、かつ、素数。
(7)時変周期mをAu×Bvとする。
ただし、A、Bともに、1を除く奇数であり、かつ、素数であり、A≠Bとし、u、vともに1以上の整数。
ただし、A、B、Cいずれも1を除く奇数であり、かつ、素数であり、A≠B、A≠C、B≠Cとし、u、v、wいずれも1以上の整数。
(9)時変周期mをAu×Bv×Cw×Dxとする。
ただし、A、B、C、Dいずれも1を除く奇数であり、かつ、素数であり、A≠B、A≠C、A≠D、B≠C、B≠D、C≠Dとし、u、v、w、xいずれも1以上の整数。
となる。ただし、時変周期mが大きければ、実施の形態6等で説明した効果を得ることができるので、時変周期mが偶数とすると高い誤り訂正能力をもつ符号が得られない、というわけではなく、例えば、時変周期mが偶数のとき、以下のような条件を満たしてもよい。
(10)時変周期mを2g×Kとする。
ただし、Kが素数であり、かつ、gは1以上の整数とする。
(11)時変周期mを2g×Lとする
ただし、Lが奇数であり、かつ、Lの約数の数が少ないこと、かつ、gは1以上の整数とする。
(12)時変周期mを2g×α×βとする。
ただし、α、βは1を除く奇数、かつ、α、βは素数であり、かつ、gは1以上の整数とする。
(13)時変周期mを2g×αnとする。
ただし、αは1を除く奇数であり、かつ、αは素数であり、かつ、nは2以上の整数であり、かつ、gは1以上の整数とする。
(14)時変周期mを2g×α×β×γとする。
ただし、α、β、γは1を除く奇数であり、かつ、α、β、γは素数であり、かつ、gは1以上の整数とする。
(15)時変周期mを2g×α×β×γ×δとする。
ただし、α、β、γ、δは1を除く奇数であり、かつ、α、β、γ、δは素数であり、かつ、gは1以上の整数とする。
(16)時変周期mを2g×Au×Bvとする。
ただし、A、Bともに1を除く奇数であり、かつ、A、Bともには素数であり、A≠Bとし、かつ、u、vともに1以上の整数であり、かつ、gは1以上の整数とする。
(17)時変周期mを2g×Au×Bv×Cwとする。
ただし、A、B、Cいずれも1を除く奇数であり、かつ、A、B、Cいずれも素数であり、A≠B、A≠C、B≠Cとし、u、v、wいずれも1以上の整数であり、かつ、gは1以上の整数とする。
(18)時変周期mを2g×Au×Bv×Cw×Dxとする。
ただし、A、B、C、Dいずれも1を除く奇数であり、かつ、A、B、C、Dいずれも素数であり、A≠B、A≠C、A≠D、B≠C、B≠D、C≠Dとし、u、v、w、xいずれも1以上の整数とし、かつ、gは1以上の整数とする。
ただし、時変周期mが上記の(1)から(9)を満たさない奇数の場合でも、高い誤り訂正能力を得ることができる可能性があり、また、時変周期mが上記の(10)から(18)を満たさない偶数の場合でも、高い誤り訂正能力を得ることができる可能性がある。
また、時変周期mが小さいと符号化率が小さいとき高いビット誤り率でエラーフロアーを発生する可能性がある。この点が、通信システム、放送システム、ストレージ、メモリ等で使用したとき問題となるとき、時変周期mは3より大きいことが望まれるが、システム上、許容範囲の場合、時変周期mを小さく設定してもよい。
ベースとなる(基礎的な構造となる)、符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC−CCの、式(A8)の0を満たすパリティ検査多項式を利用して、式(A24)のgαを構成する方法では、式(A27)の0を満たすパリティ検査多項式のみでテイルバイティングを行って生成した、符号化率R=(n−1)/nのテイルバイティングを行った(時不変)LDPC−CCを考えたが、式(A27’)の0を満たすパリティ検査多項式のみでテイルバイティングを行って生成した、符号化率R=(n−1)/nのテイルバイティングを行った(時不変)LDPC−CCを考え、式(A27’)の0を満たすパリティ検査多項式のみでテイルバイティングを行って生成した、符号化率R=(n−1)/nのテイルバイティングを行った(時不変)LDPC−CCのパリティ検査行列をHt−inv―4とし、式(A27−H)で与え、式(A24)のgαを構成してもよい。
このとき、パリティ検査行列Ht−inv―4の第k行目(kは1以上m×z以下の整数)の1行、n×m×z列のベクトルがc4,kである。なお、kは1以上m×z以下の整数で、これを満たす、すべてのkにおいて、ベクトルc4,kは式(A27’)の0を満たすパリティ検査多項式を変換することで得られるベクトルである。(したがって、時不変のLDPC−CCということになる。)
式(A27’)の0を満たすパリティ検査多項式のみでテイルバイティングを行って生成した、符号化率R=(n−1)/nのテイルバイティングを行った(時不変)LDPC−CCの第sブロックのn×m×zのビット数で構成される送信系列(符号化系列(符号語))ysはys=(Xs,1,1、Xs,2,1、・・・、Xs,n−1,1、Pt−inv―4,s,1、Xs,1,2、Xs,2,2、・・・、Xs,n−1,2、Pt−inv―4,s,2、・・・、Xs,1,m×z−1、Xs,2,m×z−1、・・・、Xs,n−1,m×z−1、Pt−inv―4,s,m×z−1、Xs,1,m×z、Xs,2,m×z、・・・、Xs,n−1,m×z、Pt−inv―4,s,m×z)T=(λt−inv―4,s,1、λt−inv―4,s,2、・・・、λt−inv―4,s,m×z−1、λt−inv―4,s,m×z)Tとあらわすことができ、Ht−inv―4ys=0が成立する(このとき、「Ht−inv―4ys=0(ゼロ)」は、全ての要素が0(ゼロ)のベクトルであることを意味する)。なお、Xs,j,kは情報Xjのビットであり(jは1以上n−1以下の整数)、Pt−inv―4,s,kは式(A27’)の0を満たすパリティ検査多項式のみでテイルバイティングを行って生成した、符号化率R=(n−1)/nのテイルバイティングを行った(時不変)LDPC−CCのパリティのビットであり、λt−inv―4,s,k=(Xs,1,k、Xs,2,k、・・・、Xs,n−1,k、Pt−inv―4,s,k)である(したがって、n=2のとき、λt−inv―4,s,k=(Xs,1,k、Pt−inv―4,s,k)となり、n=3のとき、λt−inv―4,s,k=(Xs,1,k、Xs,2,k、Pt−inv―4,s,k)となり、n=4のとき、λt−inv―4,s,k=(Xs,1,k、Xs,2,k、Xs,3,k、Pt−inv―4,s,k)となり、n=5のとき、λt−inv―4,s,k=(Xs,1,k、Xs,2,k、Xs,3,k、Xs,4,k、Pt−inv―4,s,k)となり、n=6のとき、λt−inv―4,s,k=(Xs,1,k、Xs,2,k、Xs,3,k、Xs,4,k、Xs,5,k、Pt−inv―4,s,k)となる。)。ただし、k=1、2、・・・、m×z−1、m×z、つまり、kは1以上m×z以下の整数である。
本実施の形態で説明した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)を通信システムで用いた場合を一例として考える。なお、LDPC符号を用いたときの通信システムの説明については、実施の形態3、実施の形態13、実施の形態15、実施の形態16、実施の形態17、実施の形態18等で説明しており、本実施の形態で説明した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)を通信システムに適用したとき、本実施の形態で説明した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)の符号化器、復号化器の特徴は、本実施の形態で説明した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro、および、Hprovs=0の関係に基づき符号化器、復号化器が構成され、動作する点である。
施の形態で説明した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)の第sブロックのn×m×zのビット数で構成される送信系列(符号化系列(符号語))vs=(Xs,1,1、Xs,2,1、・・・、Xs,n−1,1、Ppro,s,1、Xs,1,2、Xs,2,2、・・・、Xs,n−1,2、Ppro,s,2、・・・、Xs,1,m×z−1、Xs,2,m×z−1、・・・、Xs,n−1,m×z−1、Ppro,s,m×z−1、Xs,1,m×z、Xs,2,m×z、・・・、Xs,n−1,m×z、Ppro,s,m×z)T=(λpro,s,1、λpro,s,2、・・・、λpro,s,m×z−1、λpro,s,m×z)Tを生成し、出力する。なお、上述で説明したように、パリティは逐次的に求めることができることが、本実施の形態で説明した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)の特徴となる。
(実施の形態B1)
本実施の形態では、実施の形態A1で述べた符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列の具体的な構成例について説明する。
実施の形態A1で説明したように、提案する符号化率R=(n−1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproとすると、Hproの列数はn×m×zとあらわすことができる(zは自然数)。(なお、mは、ベースとなる符号化率R=(n−1)/n、パリティ検査多項式に基づくLDPC−CCの時変周期である。)
よって、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)の第sブロックのn×m×zのビット数で構成される送信系列(符号化系列(符号語))vsはvs=(Xs,1,1、Xs,2,1、・・・、Xs,n−1,1、Ppro,s,1、Xs,1,2、Xs,2,2、・・・、Xs,n−1,2、Ppro,s,2、・・・、Xs,1,m×z−1、Xs,2,m×z−1、・・・、Xs,n−1,m×z−1、Ppro,s,m×z−1、Xs,1,m×z、Xs,2,m×z、・・・、Xs,n−1,m×z、Ppro,s,m×z)T=(λpro,s,1、λpro,s,2、・・・、λpro,s,m×z−1、λpro,s,m×z)Tとあらわすことができ、Hprovs=0が成立する(このとき、「Hprovs=0(ゼロ)」は、全ての要素が0(ゼロ)のベクトルであることを意味する)。なお、Xs,j,kは情報Xjのビットであり(jは1以上n−1以下の整数)、Ppro,s,kは提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティのビットであり、λpro,s,k=(Xs,1,k、Xs,2,k、・・・、Xs,n−1,k、Ppro,s,k)である(したがって、n=2のとき、λpro,s,k=(Xs,1,k、Ppro,s,k)となり、n=3のとき、λpro,s,k=(Xs,1,k、Xs,2,k、Ppro,s,k)となり、n=4のとき、λpro,s,k=(Xs,1,k、Xs,2,k、Xs,3,k、Ppro,s,k)となり、n=5のとき、λpro,s,k=(Xs,1,k、Xs,2,k、Xs,3,k、Xs,4,k、Ppro,s,k)となり、n=6のとき、λpro,s,k=(Xs,1,k、Xs,2,k、Xs,3,k、Xs,4,k、Xs,5,k、Ppro,s,k)となる。)。ただし、k=1、2、・・・、m×z−1、m×z、つまり、kは1以上m×z以下の整数である。また、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの行数は、m×zとなる。
本実施の形態では、式(A8)で示した、i番目の0を満たすパリティ検査多項式を次式のようにあらわす。
列(符号語))vsはvs=(Xs,1,1、Xs,2,1、・・・、Xs,n−1,1、Ppro,s,1、Xs,1,2、Xs,2,2、・・・、Xs,n−1,2、Ppro,s,2、・・・、Xs,1,m×z−1、Xs,2,m×z−1、・・・、Xs,n−1,m×z−1、Ppro,s,m×z−1、Xs,1,m×z、Xs,2,m×z、・・・、Xs,n−1,m×z、Ppro,s,m×z)T=(λpro,s,1、λpro,s,2、・・・、λpro,s,m×z−1、λpro,s,m×z)Tであり、この送信系列を得るために、m×z個の0を満たすパリティ検査多項式が必要となる。このとき、m×z個の0を満たすパリティ検査多項式を順番に並べたとき、e番目の0を満たすパリティ検査多項式を「第e番目の0を満たすパリティ検査多項式」と名付ける(eは0以上m×z−1以下の整数)。したがって、0を満たすパリティ検査多項式は、
0番目:「第0番目の0を満たすパリティ検査多項式」
1番目:「第1番目の0を満たすパリティ検査多項式」
2番目:「第2番目の0を満たすパリティ検査多項式」
・
・
・
e番目:「第e番目の0を満たすパリティ検査多項式」
・
・
・
m×z−2番目:「第m×z−2番目の0を満たすパリティ検査多項式」
m×z−1番目:「第m×z−1番目の0を満たすパリティ検査多項式」
の順に並べられていることになり、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)の第sブロックの送信系列(符号化系列(符号語))vsを得ることになる。(なお、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproのe+1行で構成されるベクトルが、「第e番目の0を満たすパリティ検査多項式」に相当する。(実施の形態A1参照)
上述の説明、および、実施の形態A1から、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)において、
第0番目の0を満たすパリティ検査多項式は、「式(B2)の0を満たすパリティ検査多項式」であり、
第1番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす1番目のパリティ検査多項式」であり、
第2番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第m−2番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たすm−2番目のパリティ検査多項式」であり、
第m−1番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たすm−1番目のパリティ検査多項式」であり、
第m番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす0番目のパリティ検査多項式」であり、
第m+1番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす1番目のパリティ検査多項式」であり、
第m+2番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす2番目の
パリティ検査多項式」であり、
・
・
・
第2m−2番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たすm−2番目のパリティ検査多項式」であり、
第2m−1番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たすm−1番目のパリティ検査多項式」であり、
第2m番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす0番目のパリティ検査多項式」であり、
第2m+1番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす1番目のパリティ検査多項式」であり、
第2m+2番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第m×z−2番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たすm−2番目のパリティ検査多項式」であり、
第m×z−1番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たすm−1番目のパリティ検査多項式」
となる。つまり、
「第0番目の0を満たすパリティ検査多項式は、「式(B2)の0を満たすパリティ検査多項式」であり、第e番目(eは1以上m×z−1の整数)の0を満たすパリティ検査多項式は、「式(B1)の0を満たすe%m番目のパリティ検査多項式」
となる。
本実施の形態では、上述の場合のパリティ検査行列の構成について、詳しく説明する。
そして、第fブロック内には、時点1からm×zまで存在する。(なお、この点については、実施の形態A1でも同様である。)上述において、kが「時点」を表現していることになる。したがって、時点kの情報X1、X2,、・・・、Xn−1およびパリティPproは、λpro,f,k=(Xf,1,k、Xf,2,k、・・・、Xf,n−1,k、Ppro,f,k)となる。
提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのベースとなる符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC−CCのi番目(iは0以上m−1以下の整数)のパリティ検査多項式である式(B1)に対応するサブ行列(ベクトル)をHiとすると、第iサブ行列は次式のようにあらわすことができる。
上記で定義した送信系列vfに対応する改良したテイルバイティングを行った際の、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproのうち、時点m×z近辺のパリティ検査行列Hproを図130に示す。図130に示すように、パリティ検査行列Hproにおいて、第δ行と第δ+1行とでは、サブ行列がn列右にシフトした構成となる(図130参照)。
符号13107は時点m×z−1に相当する列群を示しており、符号13107の列群は、Xf,1,m×z−1に対応する列、Xf,2,m×z−1に対応する列、・・・、Xf,n−1,m×z−1に対応する列、Ppro,f,m×z−1に対応する列の順に並んでいる。符号13108は時点m×zに相当する列群を示しており、符号13108の列群は、Xf,1,m×zに対応する列、Xf,2,m×zに対応する列、・・・、Xf,n−1,m×zに対応する列、Ppro,f,m×zに対応する列の順に並んでいる。符号13109は時点1に相当する列群を示しており、符号13109の列群は、Xf,1,1に対応する列、Xf,2,1に対応する列、・・・、Xf,n−1,1に対応する列、Ppro,f,1に対応する列の順に並んでいる。符号13110は時点2に相当する列群を示しており、符号13110の列群は、Xf,1,2に対応する列、Xf,2,2に対応する列、・・・、Xf,n−1,2に対応する列、Ppro,f,2に対応する列の順に並んでいる。
すると、図131の符号13112の図130のようにパリティ検査行列をあらわしたときの1行目に相当する行は、式(B5)を用いてあらわすことができる(図131の符号13112参照)そして、図131の符号13112(図130のようにパリティ検査行列をあらわしたときの1行目に相当する行)を除く行は、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのベースとなる符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC−CCのi番目(iは0以上m−1以下の整数)のパリティ検査多項式である式(B1)のいずれかの0を満たすパリティ検査多項式に相当する行となる。(この点については、上述で説明したとおりである。)
以上について、図130を用いて補足説明をすると、図130には記載していないが、図130のようにあらわした、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproにおいて、第1行を抽出して得られるベクトルは、0を満たすパリティ検査多項式である式(B2)に相当するベクトルとなる。
上述では、第f番目のブロックの送信系列(符号化系列(符号語))vfはvf=(Xf,1,1、Xf,2,1、・・・、Xf,n−1,1、Ppro,f,1、Xf,1,2、Xf,2,2、・・・、Xf,n−1,2、Ppro,f,2、・・・、Xf,1,m×z−1、Xf,2,m×z−1、・・・、Xf,n−1,m×z−1、Ppro,f,m×z−1、Xf,1,m×z、Xf,2,m×z、・・・、Xf,n−1,m×z、Ppro,f,m×z)T=(λpro,f,1、λpro,f,2、・・・、λpro,f,m×z−1、λpro,f,m×z)Tであり、Hprovf=0(なお、「Hprovf=0(ゼロ)の「0(ゼロ)」」は、全ての要素が0(ゼロ)のベクトルであることを意味する。)が成立する提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hproの構成について説明したが、以降では、第f番目のブロックの送信系列(符号化系列(符号語))ufはuf=(Xf,1,1、Xf,1,2、・・・、Xf,1,m×z、Xf,2,1、Xf,2,2、・・・、Xf,2,m×z、・・・、Xf,n−2,1、Xf,n−2,2、・・・、Xf,n−2,m×z、Xf,n−1,1、Xf,n−1,2、・・・、Xf,n−1,m×z、Ppro,f,1、Ppro,f,2、・・・、Ppro,f,m×z)T=(ΛX1,f、ΛX2,f、ΛX3,f、・・・、ΛXn−2,f、ΛXn−1,f、Λpro,f)Tとあらわされたとき、Hpro_muf=0(なお、「Hpro_muf=0(ゼロ)の「0(ゼロ)」は、全ての要素が0(ゼロ)のベクトルであることを意味する。)が成立する提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mの構成について説明する。
実施の形態A1および上述の説明と同様、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)の第fブロックのn×m×zのビット数で構成される送信系列(符号化系列(符号語))ufはuf=(Xf,1,1、Xf,1,2、・・・、Xf,1,m×z、Xf,2,1、Xf,2,2、・・・、Xf,2,m×z、・・・、Xf,n−2,1、Xf,n−2,2、・・・、Xf,n−2,m×z、Xf,n−1,1、Xf,n−1,2、・・・、Xf,n−1,m×z、Ppro,f,1、Ppro,f,2、・・・、Ppro,f,m×z)T=(ΛX1,f、ΛX2,f、ΛX3,f、・・・、ΛXn−2,f、ΛXn−1,f、Λpro,f)Tであり、この送信系列を得るために、m×z個の0を満たすパリティ検査多項式が必要となる。このとき、m×z個の0を満たすパリティ検査多項式を順番に並べたとき、e番目の0を満たすパリティ検査多項式を「第e番目の0を満たすパリティ検査多項式」と名付ける(eは0以上m×z−1以下の整数)。したがって、0を満たすパリティ検査多項式は、
0番目:「第0番目の0を満たすパリティ検査多項式」
1番目:「第1番目の0を満たすパリティ検査多項式」
2番目:「第2番目の0を満たすパリティ検査多項式」
・
・
・
e番目:「第e番目の0を満たすパリティ検査多項式」
・
・
・
m×z−2番目:「第m×z−2番目の0を満たすパリティ検査多項式」
m×z−1番目:「第m×z−1番目の0を満たすパリティ検査多項式」
の順に並べられていることになり、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)の第fブロックの送信系列(符号化系列(符号語))ufを得ることになる。(なお、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mのe+1行で構成されるベクトルが、「第e番目の0を満たすパリティ検査多項式」に相当する。(実施の形態A1と同様である。)
よって、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)において、
第0番目の0を満たすパリティ検査多項式は、「式(B2)の0を満たすパリティ検査多項式」であり、
第1番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす1番目のパリティ検査多項式」であり、
第2番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第m−2番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たすm−2番目のパリティ検査多項式」であり、
第m−1番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たすm−1番目のパリティ検査多項式」であり、
第m番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす0番目のパリティ検査多項式」であり、
第m+1番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす1番目のパリティ検査多項式」であり、
第m+2番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第2m−2番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たすm−2番目のパリティ検査多項式」であり、
第2m−1番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たすm−1番目のパリティ検査多項式」であり、
第2m番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす0番目のパリティ検査多項式」であり、
第2m+1番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす1番目のパリティ検査多項式」であり、
第2m+2番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第m×z−2番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たすm−2番目のパリティ検査多項式」であり、
第m×z−1番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たすm−1番目のパリティ検査多項式」
となる。つまり、
第0番目の0を満たすパリティ検査多項式は、「式(B2)の0を満たすパリティ検査多項式」であり、第e番目(eは1以上m×z−1以下の整数)の0を満たすパリティ検査多項式は、「式(B1)の0を満たすe%m番目のパリティ検査多項式」
となる。
図133は、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの構成を示している。
・
・
提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの第m−1行目を構成するベクトルは、第m−2番目の0を満たすパリティ検査多項式、つまり、「式(B1)の0を満たすm−2番目のパリティ検査多項式」のパリティに関連する項から生成することができる。
・
・
提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの第2m−1行目を構成するベクトルは、第2m−2番目の0を満たすパリティ検査多項式、つまり、「式(B1)の0を満たすm−2番目のパリティ検査多項式」のパリティに関連する項から生成することができる。
・
・
提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの第m×z−1行目を構成するベクトルは、第m×z−2番目の0を満たすパリティ検査多項式、つまり、「式(B1)の0を満たすm−2番目のパリティ検査多項式」のパリティに関連する項から生成することができる。
提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの第m×z行目を構成するベクトルは、第m×z−1番目の0を満たすパリティ検査多項式、つまり、「式(B1)の0を満たすm−1番目のパリティ検査多項式」のパリテ
ィに関連する項から生成することができる。
「提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの第1行目を構成するベクトルは、第0番目の0を満たすパリティ検査多項式、つまり、「式(B2)の0を満たすパリティ検査多項式」のパリティに関連する項から生成することができ、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの第e+1行目(eは1以上m×z−1以下の整数)を構成するベクトルは、第e番目の0を満たすパリティ検査多項式、つまり、「式(B1)の0を満たすe%m番目のパリティ検査多項式」のパリティに関連する項から生成することができる。」
なお、mは、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのベースとなる符号化率R=(n−1)/nのパリティ検査多項式に基づくLDPC−CCの時変周期である。
したがって、パリティPproに関連する部分行列Hpの第1行目において、要素が「1」を満たす場合は、
となる。なお、式(B6)は、式(B2)におけるD0P(D)(=P(D))に相当する要素である(図133参照)。
また、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの行と、式(B1)、および、式(B2)のパリティ検査多項式の関係は、図133に示したようになり、この点は、実施の形態A1等で説明した図128と同様である。
次に、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおける情報Xqに関連する部分行列Hx,qの各要素の値について説明する(qは1以上n−1以下の整数)。
図134に提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおける情報Xqに関連する部分行列Hx,qの構成を示す。
図134に示すように、「提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおける情報Xqに関連する部分行列Hx,qの第1行目を構成するベクトルは、第0番目の0を満たすパリティ検査多項式、つまり、「式(B2)の0を満たすパリティ検査多項式」の情報Xqに関連する項から生成することができ、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおける情報Xqに関連する部分行列Hx,qの第e+1行目(eは1以上m×z−1以下の整数)を構成するベクトルは、第e番目の0を満たすパリティ検査多項式、つまり、「式(B1)の0を満たすe%m番目のパリティ検査多項式」の情報Xqに関連する項から生成することができる。」
提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおける情報X1に関連する部分行列Hx,1のi行j列の要素をHx,1,comp[i][j](iおよびjは1以上m×z以下の整数(i、j=1、2、3、・・・、m×z−1、m×z))とあらわすものとする。すると、以下が成立する。
したがって、情報X1に関連する部分行列Hx,1の第1行目において、要素が「1」を満たす場合は、
提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCにおいて、0を満たすパリティ検査多項式が、式(B1)および式(B2)を満たすとき、情報X1に関連する部分行列Hx,1の第s行目において、(sは2以上m×z以下の整数)(s−1)%m=k(%はモジュラ演算(modulo)を示す。)とすると、情報X1に関連する部分行列Hx,1の第s行目に関連するパリティ検査多項式は、式(B1)から、式(B7)とあらわされる。
なお、式(B12)は、式(B7)におけるD0X1(D)(=X1(D))に相当する要素であり(図134の行列の対角成分の「1」に相当する)、また、式(B13−1,B13−2)における分類は、情報X1に関連する部分行列Hx,1の行は1からm×zまで存在し、列も1からm×zまで存在するからである。
上述では、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおける情報X1に関連する部分行列Hx,1の構成について説明したが、以下では、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおける情報Xq(qは1以上n−1以下の整数)に関連する部分行列Hx,qの構成について説明する。(部分行列Hx,qの構成は、上述の部分行列Hx,1の説明と同様に、説明することができる。)
提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおける情報Xqに関連する部分行列Hx,qの構成は、図134のとおりである。
提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCにおいて、0を満たすパリティ検査多項式が、式(B1)および式(B2)を満たすとき、情報Xqに関連する部分行列Hx,qの第1行目のパリティ検査行列は、式(B2)となる。
したがって、情報Xqに関連する部分行列Hx,qの第1行目において、要素が「1」を満たす場合は、
となる。そして、情報Xqに関連する部分行列Hx,qの第1行のHx, q,comp[1][j]において、式(B14)、式(B15)以外の要素は「0」なる。つまり、{j≠1}、かつ、{j≠1−aq,0,y+m×zを、すべてのyで満たす。ただし、yは1以上rq以下の整数。}を満たす、すべてのj(ただし、jは1以上m×z以下の整数)において、Hx, q,comp[1][j]=0となる。
提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCにおいて、0を満たすパリティ検査多項式が、式(B1)および式(B2)を満たすとき、情報Xqに関連する部分行列Hx,qの第s行目において、(sは2以上m×z以下の整数)(s−1)%m=k(%はモジュラ演算(modulo)を示す。)とすると、情報Xqに関連する部分行列Hx,qの第s行目に関連するパリティ検査多項式は、式(B1)から、式(B7)とあらわされる。
したがって、情報Xqに関連する部分行列Hx,qの第s行目において、要素が「1」を満たす場合は、
また、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおける情報Xqに関連する部分行列Hx,qの行と、式(B1)、および、式(B2)のパリティ検査多項式の関係は、図134に示したようになり、この点は、実施の形態A1等で説明した図128と同様である。
上記では、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mの構成について説明した。以下では、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mと等価なパリティ検査行列の生成方法について説明する。(なお、実施の形態17等の説明にもとづいている。)
図105は、符号化率(N−M)/N(N>M>0)のLDPC(ブロック)符号のパリティ検査行列Hの構成を示しており、例えば、図105のパリティ検査行列は、M行N列の行列となる。そして、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mを、図105のパリティ検査行列Hであらわすものとする。(したがって、Hpro_m=(図105の)Hとなる。以下では、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列をHと記載することにする。)
図105において、第j番目のブロックの送信系列(符号語)vj T=(Yj,1、Yj,2、Yj,3、・・・、Yj,N−2、Yj,N−1、Yj,N)とする(組織符号の場合、Yj,k(kは1以上N以下の整数)は、情報(X1からXn−1)またはパリティとなる。
そして、第j番目のブロックの送信系列vjの第k行目(ただし、kは、1以上N以下の整数)の要素(図105において、送信系列vjの転置行列vj Tの場合、第k列目の要素)は、Yj,kであるとともに、符号化率(N−M)/N(N>M>0)のLDPC(ブロック)符号のパリティ検査行列(つまり、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列)Hの第k列目を抽出したベクトルを図105のようにckとあらわす。このとき、LDPC(ブロック)符号のパリティ検査行列(つまり、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列)Hは、以下のようにあらわされる。
よって、送信系列(符号語)v’j=(Yj,32、Yj,99、Yj,23、・・・、Yj,234、Yj,3、Yj,43)Tとした場合のパリティ検査行列H’は、以下
のようにあらわされる。
とする。すると、各ビットの対数尤度比計算部10800は、受信信号から、Yj,32の対数尤度比、Yj,99の対数尤度比、Yj,23の対数尤度比、・・・、Yj,234の対数尤度比、Yj,3の対数尤度比、Yj,43の対数尤度比を計算し、出力することになる。
例えば、蓄積および並び替え部(デインタリーブ部)10802は、Yj,32の対数尤度比、Yj,99の対数尤度比、Yj,23の対数尤度比、・・・、Yj,234の対数尤度比、Yj,3の対数尤度比、Yj,43の対数尤度比を入力とし、並び替えを行い、Yj,1の対数尤度比、Yj,2の対数尤度比、Yj,3の対数尤度比、・・・、Yj,N−2の対数尤度比、Yj,N−1の対数尤度比、Yj,Nの対数尤度比の順に出力するものとする。
例えば、送信装置が、第jブロックの送信系列(符号語)v’j=(Yj,32、Yj,99、Yj,23、・・・、Yj,234、Yj,3、Yj,43)Tを送信したもの
とする。すると、各ビットの対数尤度比計算部10800は、受信信号から、Yj,32の対数尤度比、Yj,99の対数尤度比、Yj,23の対数尤度比、・・・、Yj,234の対数尤度比、Yj,3の対数尤度比、Yj,43の対数尤度比を計算し、出力することになる(図108の10806に相当)。
したがって、符号化率(n−1)/nの提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCの送信系列(符号語)に対し、インタリーブを施した場合、上述のように、符号化率(n−1)/nの提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列に対し、列並び替え(列置換)を行った行列が、インタリーブを施した送信系列(符号語)のパリティ検査行列を受信装置は用いることで、得られた各ビットの対数尤度比に対し、デインタリーブを行わなくても、信頼度伝播復号を行い、推定系列を得ることができる。
上述では、送信系列のインタリーブとパリティ検査行列の関係について説明したが、以降では、パリティ検査行列における行並び替え(行置換)について説明する。
図109は、符号化率(N−M)/NのLDPC(ブロック)符号の第j番目のブロックの送信系列(符号語)vj T=(Yj,1、Yj,2、Yj,3、・・・、Yj,N−2、Yj,N−1、Yj,N)に対応するパリティ検査行列Hの構成を示している。例えば、図109のパリティ検査行列は、M行N列の行列となる。そして、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mを、図109のパリティ検査行列Hであらわすものとする。(したがって、Hpro_m=(図109の)Hとなる。以下では、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列をHと記載することにする。)(組織符号の場合、Yj,k(kは1以上N以下の整数)は、情報XまたはパリティP(パリティPpro)となる。そして、Yj,kは、(N−M)個の情報とM個のパリティで構成されていることになる。)。このとき、Hvj=0が成立する。(なお、ここでの「Hvj=0の0(ゼロ)」は、全ての要素が0のベクトルであることを意味する。つまり、すべてのk(kは1以上M以下の整数)において、第k行の値は0である。)
そして、図109のパリティ検査行列Hの第k行目(kは1以上M以下の整数)を抽出したベクトルをzkとあらわす。このとき、LDPC(ブロック)符号のパリティ検査行列(つまり、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列)Hは、以下のようにあらわされる。
図110は図109のパリティ検査行列Hに対し、行並び替え(行置換)を行ったパリティ検査行列H’の一例を示しており、パリティ検査行列H’は、図109と同様、符号化率(N−M)/NのLDPC(ブロック)符号(つまり、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC)の第j番目のブロックの送信系列(符号語)vj T=(Yj,1、Yj,2、Yj,3、・・・、Yj,N−2、Yj,N−1、Yj,N)に対応するパリティ検査行列(つまり、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列)となる。
つまり、第j番目のブロックの送信系列vj Tのとき、図110のパリティ検査行列H’の第i行目を抽出したベクトルは、ベクトルck(kは1以上M以下の整数)のいずれかであらわされ、図110のパリティ検査行列H’の第k行目(kは1以上M以下の整数)を抽出したM個の行ベクトルには、z1、z2、z3、・・・zM−2、zM−1、zM、がそれぞれ一つ存在することになる。
したがって、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCを用いていても、実施の形態A1で説明したパリティ検査行列、および、図130から図134を用いて説明したパリティ検査行列を、送信装置、および、受信装置で用いているとは限らない。よって、例えば、実施の形態A1で説明したパリティ検査行列に対し、上述で説明した列並び替え(列置換)を行った行列、または、行並び替え(行置換)を行った行列、および、図130から図134を用いて説明したパリティ検査行列に対し、上述で説明した列並び替え(列置換)を行った行列、または、行並び替え(行置換)を行った行列をパリティ検査行列として、送信装置、および、受信装置は、使用してもよい。
このとき、実施の形態A1で説明した提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列に対し、列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H1を得る。そして、パリティ検査行列H1に対し、行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H2を得、送信装置、および、受信装置は、パリティ検査行列H2を用いて、符号化、復号化を行ってもよい。
また、実施の形態A1で説明した提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列に対し、1回目の列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H1,1を得る。そして、パリティ検査行列H1,1に対し、1回目の行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H2,1を得る。
以上のような、列並び替え(列置換)、および、行並び替え(行置換)をs(sは2以上の整数)回繰り返して、パリティ検査行列H2,sを得る。このとき、パリティ検査行列H2,k−1に対し、k(kは2以上s以下の整数)回目の列並び替え(列置換)を行い、パリティ検査行列H1,kを得る。そして、パリティ検査行列H1,kに対し、k回目の行並び替え(行置換)を行い、パリティ検査行列H2,kを得ることになる。なお、1回目については、実施の形態A1で説明した提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列に対し、1回目の列並び替え(列置換)を行い、パリティ検査行列H1,1を得る。そして、パリティ検査行列H1,1に対し、1回目の行並び替え(行置換)を行い、パリティ検査行列H2,1を得ることになる。
別の方法として、実施の形態A1で説明した提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列に対し、行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H3を得る。そして、パリティ検査行列H3に対し、列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H4を得、送信装置、および、受信装置は、パリティ検査行列H4を用いて、符号化、復号化を行ってもよい。
また、実施の形態A1で説明した提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列に対し、1回目の行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H3,1を得る。そして、パリティ検査行列H3,1に対し、1回目の列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H4,1を得る。
以上のような、行並び替え(行置換)、および、列並び替え(列置換)をs(sは2以上の整数)回繰り返して、パリティ検査行列H4,sを得る。このとき、パリティ検査行列H4,k−1に対し、k(kは2以上s以下の整数)回目の行並び替え(行置換)を行い、パリティ検査行列H3,kを得る。そして、パリティ検査行列H3,kに対し、k回目の列並び替え(列置換)を行い、パリティ検査行列H4,kを得ることになる。なお、1回目については、実施の形態A1で説明した提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列に対し、1回目の行並び替え(行置換)を行い、パリティ検査行列H3,1を得る。そして、パリティ検査行列H3,1に対し、1回目の列並び替え(列置換)を行い、パリティ検査行列H4,1を得ることになる。
なお、パリティ検査行列H2、パリティ検査行列H2,s、パリティ検査行列H4、パリティ検査行列H4,sいずれも、行並び替え(行置換)および列並び替え(列置換)を行うと、実施の形態A1で説明した提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列、または、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCの図130から図134を用いて説明したパリティ検査行列を得ることができる。
同様に、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCの図130から図134を用いて説明したパリティ検査行列に対し、上述で説明した列並び替え(列置換)および行並び替え(行置換)の両者を施すことにより得た行列をパリティ検査行列としてもよい。
このとき、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCの図130から図134を用いて説明したパリティ検査行列に対し、列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H5を得る。そして、パリティ検査行列H5に対し、行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H6を得、送信装置、および、受信装置は、パリティ検査行列H6を用いて、符号化、復号化を行ってもよい。
また、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCの図130から図134を用いて説明したパリティ検査行列に対し、1回目の列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H5,1を得る。そして、パリティ検査行列H5,1に対し、1回目の行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H6,1を得る。
以上のような、列並び替え(列置換)、および、行並び替え(行置換)をs(sは2以上の整数)回繰り返して、パリティ検査行列H6,sを得る。このとき、パリティ検査行列H6,k−1に対し、k(kは2以上s以下の整数)回目の列並び替え(列置換)を行い、パリティ検査行列H5,kを得る。そして、パリティ検査行列H5,kに対し、k回目の行並び替え(行置換)を行い、パリティ検査行列H6,kを得ることになる。なお、1回目については、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCの図130から図134を用いて説明したパリティ検査行列に対し、1回目の列並び替え(列置換)を行い、パリティ検査行列H5,1を得る。そして、パリティ検査行列H5,1に対し、1回目の行並び替え(行置換)を行い、パリティ検査行列H6,1を得ることになる。
別の方法として、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCの図130から図134を用いて説明したパリティ検査行列に対し、行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H7を得る。そして、パリティ検査行列H7に対し、列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H8を得、送信装置、および、受信装置は、パリティ検査行列H8を用いて、符号化、復号化を行ってもよい。
また、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCの図130から図134を用いて説明したパリティ検査行列に対し、1回目の行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H7,1を得る。そして、パリティ検査行列H7,1に対し、1回目の列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H8,1を得る。
以上のような、行並び替え(行置換)、および、列並び替え(列置換)をs(sは2以上の整数)回繰り返して、パリティ検査行列H8,sを得る。このとき、パリティ検査行列H8,k−1に対し、k(kは2以上s以下の整数)回目の行並び替え(行置換)を行い、パリティ検査行列H7,kを得る。そして、パリティ検査行列H7,kに対し、k回目の列並び替え(列置換)を行い、パリティ検査行列H8,kを得ることになる。なお、1回目については、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCの図130から図134を用いて説明したパリティ検査行列に対し、1回目の行並び替え(行置換)を行い、パリティ検査行列H7,1を得る。そして、パリティ検査行列H7,1に対し、1回目の列並び替え(列置換)を行い、パリティ検査行列H8,1を得ることになる。
なお、パリティ検査行列H6、パリティ検査行列H6,s、パリティ検査行列H8、パリティ検査行列H8,sいずれも、行並び替え(行置換)および列並び替え(列置換)を行うと、実施の形態A1で説明した提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列、または、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCの図130から図134を用いて説明したパリティ検査行列を得ることができる。
上述の説明では、実施の形態A1で述べた符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列の構成方法の一例を説明した。このとき、符号化率は、R=(n−1)/nであり、nは2以上の整数であり、ベースとなる符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC−CCのi番目(iは0以上m−1以下の整数)のパリティ検査多項式は、式(A8)のようにあらわされる。
したがって、実施の形態A1における、提案する符号化率R=1/2の改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第1行目のベクトルを生成するための0を満たすパリティ検査多項式である式(A19)は次式であらわされることになる。(式(B22)の0番目を利用することになる。)
n=3、つまり、符号化率R=2/3のとき、改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
n=4、つまり、符号化率R=3/4のとき、改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
n=5、つまり、符号化率R=4/5のとき、改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
n=6、つまり、符号化率R=5/6のとき、改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
n=8、つまり、符号化率R=7/8のとき、改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
n=9、つまり、符号化率R=8/9のとき、改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
n=10、つまり、符号化率R=9/10のとき、改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
なお、本実施の形態において、符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)を形成するためのパリティ検査多項式として、式(B1)および式(B2)をあつかったが、パリティ検査多項式は、式(B1)、式(B2)に限ったものではない。例えば、符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のベースとなる符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC−CCのi番目(iは0以上m−1以下の整数)のパリティ検査多項式として、式(B1)の代わりに次式を扱ってもよい。
したがって、実施の形態A1における、提案する符号化率R=(n−1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第1行目のベクトルを生成するための0を満たすパリティ検査多項式である式(A19)は次式であらわされることになる。(式(B40)の0番目を利用することになる。)
したがって、実施の形態A1における、提案する符号化率R=(n−1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第1行目のベクトルを生成するための0を満たすパリティ検査多項式である式(A19)は次式であらわされることになる。(式(B42)の0番目を利用することになる。)
「高い誤り訂正能力を得るために、r1、r2、・・・、rn−2、rn−1いずれも3以上に設定する(1以上n−1以下の整数であり、これを満たす、すべてのkにおいてrkは3以上)。つまり、式(B1)において、1以上n−1以下の整数であり、これを満たす、すべてのkにおいて、Xk(D)の項数は4以上となる。」
とした。以下では、r1、r2、・・・、rn−2、rn−1いずれも3以上と設定したとき、高い誤り訂正能力を得るための条件の例について説明する。
「式(B2)において、1以上n−1以下の整数であり、これを満たす、すべてのkにおいて、Xk(D)の項数は4以上となる。」
となる。そして、上述で説明したように、式(B1)の0を満たすパリティ検査多項式は、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのベースとなる符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC−CCの0を満たすi番目(iは0以上m−1以下の整数)のパリティ検査多項式となり、式(B2)の0を満たすパリティ検査多項式は、提案する符号化率R=(n−1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第1行目のベクトルを生成するための0を満たすパリティ検査多項式となる。
<条件B1−1−1>
「a1,0,1%m=a1,1,1%m=a1,2,1%m=a1,3,1%m=・・・=a1,g,1%m=・・・=a1,m−2,1%m=a1,m−1,1%m=v1,1 (v1,1:固定値)」
「a1,0,2%m=a1,1,2%m=a1,2,2%m=a1,3,2%m=・・・=a1,g,2%m=・・・=a1,m−2,2%m=a1,m−1,2%m=v1,2 (v1,2:固定値)」
(gは0以上m−1以下の整数)
同様に、図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X2に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B1−1−2>
「a2,0,1%m=a2,1,1%m=a2,2,1%m=a2,3,1%m=・・・=a2,g,1%m=・・・=a2,m−2,1%m=a2,m−1,1%m=v2,1
(v2,1:固定値)」
「a2,0,2%m=a2,1,2%m=a2,2,2%m=a2,3,2%m=・・・=a2,g,2%m=・・・=a2,m−2,2%m=a2,m−1,2%m=v2,2
(v2,2:固定値)」
(gは0以上m−1以下の整数)
・
・
・
一般化すると、図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xkに関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。(kは、1以上n−1以下の整数)
<条件B1−1−k>
「ak,0,1%m=ak,1,1%m=ak,2,1%m=ak,3,1%m=・・・=ak,g,1%m=・・・=ak,m−2,1%m=ak,m−1,1%m=vk,1
(vk,1:固定値)」
「ak,0,2%m=ak,1,2%m=ak,2,2%m=ak,3,2%m=・・・=ak,g,2%m=・・・=ak,m−2,2%m=ak,m−1,2%m=vk,2
(vk,2:固定値)」
(gは0以上m−1以下の整数)
・
・
・
同様に、図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xn−1に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B1−1−(n−1)>
「an−1,0,1%m=an−1,1,1%m=an−1,2,1%m=an−1,3,1%m=・・・=an−1,g,1%m=・・・=an−1,m−2,1%m=an−1,m−1,1%m=vn−1,1 (vn−1,1:固定値)」
「an−1,0,2%m=an−1,1,2%m=an−1,2,2%m=an−1,3,2%m=・・・=an−1,g,2%m=・・・=an−1,m−2,2%m=an−1,m−1,2%m=vn−1,2 (vn−1,2:固定値)」
(gは0以上m−1以下の整数)
なお、上記において、「%」はmoduloを意味する、つまり、「α%m」は、αをmで除算したときの余りを示す。<条件B1−1−1>から<条件B1−1−(n−1)>を別の表現をすると、以下のように表現することができる。なお、jは1、2である。
<条件B1−1’−1>
「a1,g,j%m=v1,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(v1,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでa1,g,j%m=v1,j(v1,j:固定値)が成立する。)
<条件B1−1’−2>
「a2,g,j%m=v2,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(v2,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでa2,g,j%m=v2,j(v2,j:固定値)が成立する。)
・
・
・
一般化すると、以下のようになる。
<条件B1−1’−k>
「ak,g,j%m=vk,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(vk,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでak,g,j%m=vk,j(vk,j:固定値)が成立する。)
(kは、1以上n−1以下の整数)
・
・
・
<条件B1−1’−(n−1)>
「an−1,g,j%m=vn−1,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(vn−1,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでan−1,g,j%m=vn−1,j(vn−1,j:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件B1−2−1>
「v1,1≠0、かつ、v1,2≠0が成立する。」
かつ
「v1,1≠v1,2が成立する。」
<条件B1−2−2>
「v2,1≠0、かつ、v2,2≠0が成立する。」
かつ
「v2,1≠v2,2が成立する。」
・
・
・
一般化すると、以下のようになる。
<条件B1−2−k>
「vk,1≠0、かつ、vk,2≠0が成立する。」
かつ
「vk,1≠vk,2が成立する。」
(kは、1以上n−1以下の整数)
・
・
・
<条件B1−2−(n−1)>
「vn−1,1≠0、かつ、vn−1,2≠0が成立する。」
かつ
「vn−1,1≠vn−1,2が成立する。」
そして、「図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X1から情報Xn−1に関連する部分行列がイレギュラー」でなければならないので、以下の条件を与える。
<条件B1−3−1>
「a1,g,v%m=a1,h,v%m for ∀g∀h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでa1,g,v%m=a1,h,v%mが成立する。)・・・条件#Xa−1
vは3以上r1以下の整数であり、すべてのvで「条件#Xa−1」を満たすことはない。
<条件B1−3−2>
「a2,g,v%m=a2,h,v%m for ∀g∀h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでa2,g,v%m=a2,h,v%mが成立する。)・・・条件#Xa−2
vは3以上r2以下の整数であり、すべてのvで「条件#Xa−2」を満たすことはない。
・
・
・
一般化すると、以下のようになる。
<条件B1−3−k>
「ak,g,v%m=ak,h,v%m for ∀g∀h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでak,g,v%m=ak,h,v%mが成立する。)・・・条件#Xa−k
vは3以上rk以下の整数であり、すべてのvで「条件#Xa−k」を満たすことはない。
(kは、1以上n−1以下の整数)
・
・
・
<条件B1−3−(n−1)>
「an−1,g,v%m=an−1,h,v%m for ∀g∀h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでan−1,g,v%m=an−1,h,v%mが成立する。)・・・条件#Xa−(n−1)
vは3以上rn−1以下の整数であり、すべてのvで「条件#Xa−(n−1)」を満たすことはない。
なお、<条件B1−3−1>から<条件B1−3−(n−1)>を別の表現をすると以下のような条件となる。
<条件B1−3’−1>
「a1,g,v%m≠a1,h,v%m for ∃g∃h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、a1,g,v%m≠a1,h,v%mが成立するg、hが存在する。)・・・条件#Ya−1
vは3以上r1以下の整数であり、すべてのvで「条件#Ya−1」を満たす。
<条件B1−3’−2>
「a2,g,v%m≠a2,h,v%m for ∃g∃h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、a2,g,v%m≠a2,h,v%mが成立するg、hが存在する。)・・・条件#Ya−2
vは3以上r2以下の整数であり、すべてのvで「条件#Ya−2」を満たす。
・
・
・
一般化すると、以下のようになる。
<条件B1−3’−k>
「ak,g,v%m≠ak,h,v%m for ∃g∃h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、ak,g,v%m≠ak,h,v%mが成立するg、hが存在する。)・・・条件#Ya−k
vは3以上rk以下の整数であり、すべてのvで「条件#Ya−k」を満たす。
(kは、1以上n−1以下の整数)
・
・
・
<条件B1−3’−(n−1)>
「an−1,g,v%m≠an−1,h,v%m for ∃g∃h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、an−1,g,v%m≠an−1,h,v%mが成立するg、hが存在する。)・・・条件#Ya−(n−1)
vは3以上rn−1以下の整数であり、すべてのvで「条件#Ya−(n−1)」を満たす。
<条件B1−4−1>
・「mの約数のうち、1を除いた、約数の集合をR」としたとき、vk,1はRに属してはならない。
<条件B1−4−2>
・「mの約数のうち、1を除いた、約数の集合をR」としたとき、vk,2はRに属してはならない。
さらに、以下の条件を満たしてもよい。
<条件B1−5−1>
・vk,1は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1/w=g(gは自然数)を満たす、すべてのwを抽出した集合をSとしたとき、R∩Sは空集合である。なお、集合Rは<条件B1−4−1>で定義している。
<条件B1−5−2>
・vk,2は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2/w=g(gは自然数)を満たす、すべてのwを抽出した集合をSとしたとき、R∩Sは空集合である。なお、集合Rは<条件B1−4−2>で定義している。
なお、<条件B1−5−1>、<条件B1−5−2>を別の表現をすると、<条件B1−5−1’>、<条件B1−5−2’>となる。
<条件B1−5−1’>
・vk,1は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1の約数の集合をSとしたとき、R∩Sは空集合である。
<条件B1−5−2’>
・vk,2は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2の約数の集合をSとしたとき、R∩Sは空集合である。
なお、<条件B1−5−1><条件B1−5−1’>を別の表現をすると、<条件B1−5−1”>となり、<条件B1−5−2><条件B1−5−2’>を別の表現をすると、<条件B1−5−2”>。
<条件B1−5−1”>
・vk,1は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1とmの最大公約数が1である。
<条件B1−5−2”>
・vk,2は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2とmの最大公約数が1である。
符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)を形成するためのパリティ検査多項式として、式(B38)および式(B39)をあつかった。以下では、高い誤り訂正能力を得るための、パリティ検査多項式の式(B38)および式(B39)の条件の例について説明する。
「高い誤り訂正能力を得るために、r1、r2、・・・、rn−2、rn−1いずれも4以上に設定する(1以上n−1以下の整数であり、これを満たす、すべてのkにおいてrkは3以上)。つまり、式(B1)において、1以上n−1以下の整数であり、これを満たす、すべてのkにおいて、Xk(D)の項数は4以上となる。」
とした。以下では、r1、r2、・・・、rn−2、rn−1いずれも4以上と設定したとき、高い誤り訂正能力を得るための条件の例について説明する。
「式(B39)において、1以上n−1以下の整数であり、これを満たす、すべてのkにおいて、Xk(D)の項数は4以上となる。」
となる。そして、上述で説明したように、式(B38)の0を満たすパリティ検査多項式は、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのベースとなる符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC−CCの0を満たすi番目(iは0以上m−1以下の整数)のパリティ検査多項式となり、式(B39)の0を満たすパリティ検査多項式は、提案する符号化率R=(n−1)/n(nは2以上の整数)の改良したテイルバイティング方法を用い
たLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第1行目のベクトルを生成するための0を満たすパリティ検査多項式となる。
<条件B1−6−1>
「a1,0,1%m=a1,1,1%m=a1,2,1%m=a1,3,1%m=・・・=a1,g,1%m=・・・=a1,m−2,1%m=a1,m−1,1%m=v1,1 (v1,1:固定値)」
「a1,0,2%m=a1,1,2%m=a1,2,2%m=a1,3,2%m=・・・=a1,g,2%m=・・・=a1,m−2,2%m=a1,m−1,2%m=v1,2 (v1,2:固定値)」
「a1,0,3%m=a1,1,3%m=a1,2,3%m=a1,3,3%m=・・・=a1,g,3%m=・・・=a1,m−2,3%m=a1,m−1,3%m=v1,3 (v1,3:固定値)」
(gは0以上m−1以下の整数)
同様に、図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X2に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B1−6−2>
「a2,0,1%m=a2,1,1%m=a2,2,1%m=a2,3,1%m=・・・=a2,g,1%m=・・・=a2,m−2,1%m=a2,m−1,1%m=v2,1
(v2,1:固定値)」
「a2,0,2%m=a2,1,2%m=a2,2,2%m=a2,3,2%m=・・・=a2,g,2%m=・・・=a2,m−2,2%m=a2,m−1,2%m=v2,2
(v2,2:固定値)」
「a2,0,3%m=a2,1,3%m=a2,2,3%m=a2,3,3%m=・・・=a2,g,3%m=・・・=a2,m−2,3%m=a2,m−1,3%m=v2,3
(v2,3:固定値)」
(gは0以上m−1以下の整数)
・
・
・
一般化すると、図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xkに関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。(kは、1以上n−1以下の整数)
<条件B1−6−k>
「ak,0,1%m=ak,1,1%m=ak,2,1%m=ak,3,1%m=・・・=ak,g,1%m=・・・=ak,m−2,1%m=ak,m−1,1%m=vk,1
(vk,1:固定値)」
「ak,0,2%m=ak,1,2%m=ak,2,2%m=ak,3,2%m=・・・=ak,g,2%m=・・・=ak,m−2,2%m=ak,m−1,2%m=vk,2
(vk,2:固定値)」
「ak,0,3%m=ak,1,3%m=ak,2,3%m=ak,3,3%m=・・・=ak,g,3%m=・・・=ak,m−2,3%m=ak,m−1,3%m=vk,3
(vk,3:固定値)」
(gは0以上m−1以下の整数)
・
・
・
同様に、図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xn−1に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B1−6−(n−1)>
「an−1,0,1%m=an−1,1,1%m=an−1,2,1%m=an−1,3,1%m=・・・=an−1,g,1%m=・・・=an−1,m−2,1%m=an−1,m−1,1%m=vn−1,1 (vn−1,1:固定値)」
「an−1,0,2%m=an−1,1,2%m=an−1,2,2%m=an−1,3,2%m=・・・=an−1,g,2%m=・・・=an−1,m−2,2%m=an−1,m−1,2%m=vn−1,2 (vn−1,2:固定値)」
「an−1,0,3%m=an−1,1,3%m=an−1,2,3%m=an−1,3,3%m=・・・=an−1,g,3%m=・・・=an−1,m−2,3%m=an−1,m−1,3%m=vn−1,3 (vn−1,3:固定値)」
(gは0以上m−1以下の整数)
なお、上記において、「%」はmoduloを意味する、つまり、「α%m」は、αをmで除算したときの余りを示す。<条件B1−6−1>から<条件B1−6−(n−1)>を別の表現をすると、以下のように表現することができる。なお、jは1、2、3である。
<条件B1−6’−1>
「a1,g,j%m=v1,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(v1,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでa1,g,j%m=v1,j(v1,j:固定値)が成立する。)
<条件B1−6’−2>
「a2,g,j%m=v2,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(v2,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでa2,g,j%m=v2,j(v2,j:固定値)が成立する。)
・
・
・
一般化すると、以下のようになる。
<条件B1−6’−k>
「ak,g,j%m=vk,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(vk,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでak,g,j%m=vk,j(vk,j:固定値)が成立する。)
(kは、1以上n−1以下の整数)
・
・
・
<条件B1−6’−(n−1)>
「an−1,g,j%m=vn−1,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(vn−1,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでan−1,g,j%m=vn−1,j(vn−1,j:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件B1−7−1>
「v1,1≠v1,2、v1,1≠v1,3、v1,2≠v1,3が成立する。」
<条件B1−7−2>
「v2,1≠v2,2、v2,1≠v2,3、v2,2≠v2,3が成立する。」
・
・
・
一般化すると、以下のようになる。
<条件B1−7−k>
「vk,1≠vk,2、vk,1≠vk,3、vk,2≠vk,3が成立する。」
(kは、1以上n−1以下の整数)
・
・
・
<条件B1−7−(n−1)>
「vn−1,1≠vn−1,2、vn−1,1≠vn−1,3、vn−1,2≠vn−1,3が成立する。」
そして、「図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X1から情報Xn−1に関連する部分行列がイレギュラー」でなければならないので、以下の条件を与える。
<条件B1−8−1>
「a1,g,v%m=a1,h,v%m for ∀g∀h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでa1,g,v%m=a1,h,v%mが成立する。)・・・条件#Xa−1
vは4以上r1以下の整数であり、すべてのvで「条件#Xa−1」を満たすことはない。
<条件B1−8−2>
「a2,g,v%m=a2,h,v%m for ∀g∀h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでa2,g,v%m=a2,h,v%mが成立する。)・・・条件#Xa−2
vは4以上r2以下の整数であり、すべてのvで「条件#Xa−2」を満たすことはない。
・
・
・
一般化すると、以下のようになる。
<条件B1−8−k>
「ak,g,v%m=ak,h,v%m for ∀g∀h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでak,g,v%m=ak,h,v%mが成立する。)・・・条件#Xa−k
vは4以上rk以下の整数であり、すべてのvで「条件#Xa−k」を満たすことはない。
(kは、1以上n−1以下の整数)
・
・
・
<条件B1−8−(n−1)>
「an−1,g,v%m=an−1,h,v%m for ∀g∀h g,h=0,1,2,
・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでan−1,g,v%m=an−1,h,v%mが成立する。)・・・条件#Xa−(n−1)
vは4以上rn−1以下の整数であり、すべてのvで「条件#Xa−(n−1)」を満たすことはない。
なお、<条件B1−8−1>から<条件B1−8−(n−1)>を別の表現をすると以下のような条件となる。
<条件B1−8’−1>
「a1,g,v%m≠a1,h,v%m for ∃g∃h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、a1,g,v%m≠a1,h,v%mが成立するg、hが存在する。)・・・条件#Ya−1
vは4以上r1以下の整数であり、すべてのvで「条件#Ya−1」を満たす。
<条件B1−8’−2>
「a2,g,v%m≠a2,h,v%m for ∃g∃h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、a2,g,v%m≠a2,h,v%mが成立するg、hが存在する。)・・・条件#Ya−2
vは4以上r2以下の整数であり、すべてのvで「条件#Ya−2」を満たす。
・
・
・
一般化すると、以下のようになる。
<条件B1−8’−k>
「ak,g,v%m≠ak,h,v%m for ∃g∃h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、ak,g,v%m≠ak,h,v%mが成立するg、hが存在する。)・・・条件#Ya−k
vは4以上rk以下の整数であり、すべてのvで「条件#Ya−k」を満たす。
(kは、1以上n−1以下の整数)
・
・
・
<条件B1−8’−(n−1)>
「an−1,g,v%m≠an−1,h,v%m for ∃g∃h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、an−1,g,v%m≠an−1,h,v%mが成立するg、hが存在する。)・・・条件#Ya−(n−1)
vは4以上rn−1以下の整数であり、すべてのvで「条件#Ya−(n−1)」を満たす。
符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)を形成するためのパリティ検査多項式として、式(B40)および式(B41)をあつかった。以下では、高い誤り訂正能力を得るための、パリティ検査多項式の式(B40)および式(B41)の条件の例について説明する。
上述で説明したように、式(B40)の0を満たすパリティ検査多項式は、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのベースとなる符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC−CCの0を満たすi番目(iは0以上m−1以下の整数)のパリティ検査多項式となり、式(B41)の0を満たすパリティ検査多項式は、提案する符号化率R=(n−1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第1行目のベクトルを生成するための0を満たすパリティ検査多項式となる。
<条件B1−9−1>
「a1,0,1%m=a1,1,1%m=a1,2,1%m=a1,3,1%m=・・・=a1,g,1%m=・・・=a1,m−2,1%m=a1,m−1,1%m=v1,1 (v1,1:固定値)」
「a1,0,2%m=a1,1,2%m=a1,2,2%m=a1,3,2%m=・・・=a1,g,2%m=・・・=a1,m−2,2%m=a1,m−1,2%m=v1,2 (v1,2:固定値)」
(gは0以上m−1以下の整数)
同様に、図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X2に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B1−9−2>
「a2,0,1%m=a2,1,1%m=a2,2,1%m=a2,3,1%m=・・・=a2,g,1%m=・・・=a2,m−2,1%m=a2,m−1,1%m=v2,1 (v2,1:固定値)」
「a2,0,2%m=a2,1,2%m=a2,2,2%m=a2,3,2%m=・・・=a2,g,2%m=・・・=a2,m−2,2%m=a2,m−1,2%m=v2,2 (v2,2:固定値)」
(gは0以上m−1以下の整数)
・
・
・
一般化すると、図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xkに関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。(kは、1以上n−1以下の整数)
<条件B1−9−k>
「ak,0,1%m=ak,1,1%m=ak,2,1%m=ak,3,1%m=・・・=ak,g,1%m=・・・=ak,m−2,1%m=ak,m−1,1%m=vk,1 (vk,1:固定値)」
「ak,0,2%m=ak,1,2%m=ak,2,2%m=ak,3,2%m=・・・=ak,g,2%m=・・・=ak,m−2,2%m=ak,m−1,2%m=vk,2 (vk,2:固定値)」
(gは0以上m−1以下の整数)
・
・
・
同様に、図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xn−1に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B1−9−(n−1)>
「an−1,0,1%m=an−1,1,1%m=an−1,2,1%m=an−1,3,1%m=・・・=an−1,g,1%m=・・・=an−1,m−2,1%m=an−1,m−1,1%m=vn−1,1 (vn−1,1:固定値)」
「an−1,0,2%m=an−1,1,2%m=an−1,2,2%m=an−1,3,2%m=・・・=an−1,g,2%m=・・・=an−1,m−2,2%m=an−1,m−1,2%m=vn−1,2 (vn−1,2:固定値)」
(gは0以上m−1以下の整数)
なお、上記において、「%」はmoduloを意味する、つまり、「α%m」は、αをmで除算したときの余りを示す。<条件B1−9−1>から<条件B1−9−(n−1)>を別の表現をすると、以下のように表現することができる。なお、jは1、2である。
<条件B1−9’−1>
「a1,g,j%m=v1,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(v1,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでa1,g,j%m=v1,j(v1,j:固定値)が成立する。)
<条件B1−9’−2>
「a2,g,j%m=v2,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(v2,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでa2,g,j%m=v2,j(v2,j:固定値)が成立する。)
・
・
・
一般化すると、以下のようになる。
<条件B1−9’−k>
「ak,g,j%m=vk,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(vk,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでak,g,j%m=vk,j(vk,j:固定値)が成立する。)
(kは、1以上n−1以下の整数)
・
・
・
<条件B1−9’−(n−1)>
「an−1,g,j%m=vn−1,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(vn−1,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでan−1,g,j%m=vn−1,j(vn−1,j:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件B1−10−1>
「v1,1≠0、かつ、v1,2≠0が成立する。」
かつ
「v1,1≠v1,2が成立する。」
<条件B1−10−2>
「v2,1≠0、かつ、v2,2≠0が成立する。」
かつ
「v2,1≠v2,2が成立する。」
・
・
・
一般化すると、以下のようになる。
<条件B1−10−k>
「vk,1≠0、かつ、vk,2≠0が成立する。」
かつ
「vk,1≠vk,2が成立する。」
(kは、1以上n−1以下の整数)
・
・
・
<条件B1−10−(n−1)>
「vn−1,1≠0、かつ、vn−1,2≠0が成立する。」
かつ
「vn−1,1≠vn−1,2が成立する。」
このようにすることで、「図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X1に関連する部分行列、情報X2に関連する部分行列、・・・、情報Xn−1に関連する部分行列において、最低列重みを3となり」、以上の条件を満した、符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)とすることで、「イレギュラーLDPC符号」を生成することができ、高い誤り訂正能力を得ることができる。
<条件B1−11−1>
・「mの約数のうち、1を除いた、約数の集合をR」としたとき、vk,1はRに属してはならない。
<条件B1−11−2>
・「mの約数のうち、1を除いた、約数の集合をR」としたとき、vk,2はRに属してはならない。
さらに、以下の条件を満たしてもよい。
<条件B1−12−1>
・vk,1は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1/w=g(gは自然数)を満たす、すべてのwを抽出した集合をSとしたとき、R∩Sは空集合である。なお、集合Rは<条件B1−11−1>で定義している。
<条件B1−12−2>
・vk,2は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2/w=g(gは自然数)を満たす、すべてのwを抽出した集合をSとしたとき、R∩Sは空集合である。なお、集合Rは<条件B1−11−2>で定義している。
なお、<条件B1−12−1>、<条件B1−12−2>を別の表現をすると、<条件B1−12−1’>、<条件B1−12−2’>となる。
<条件B1−12−1’>
・vk,1は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1の約数の集合をSとしたとき、R∩Sは空集合である。
<条件B1−12−2’>
・vk,2は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2の約数の集合をSとしたとき、R∩Sは空集合である。
なお、<条件B1−12−1><条件B1−12−1’>を別の表現をすると、<条件B1−12−1”>となり、<条件B1−12−2><条件B1−12−2’>を別の表現をすると、<条件B1−12−2”>。
<条件B1−12−1”>
・vk,1は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1とmの最大公約数が1である。
<条件B1−12−2”>
・vk,2は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2とmの最大公約数が1である。
符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)を形成するためのパリティ検査多項式として、式(B42)および式(B43)をあつかった。以下では、高い誤り訂正能力を得るための、パリティ検査多項式の式(B42)および式(B43)の条件の例について説明する。
上述で説明したように、式(B42)の0を満たすパリティ検査多項式は、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのベースとなる符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC−CCの0を満たすi番目(iは0以上m−1以下の整数)のパリティ検査多項式となり、式(B43)の0を満たすパリティ検査多項式は、提案する符号化率R=(n−1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第1行目のベクトルを生成するための0を満たすパリティ検査多項式となる。
<条件B1−13−1>
「a1,0,1%m=a1,1,1%m=a1,2,1%m=a1,3,1%m=・・・=a1,g,1%m=・・・=a1,m−2,1%m=a1,m−1,1%m=v1,1 (v1,1:固定値)」
「a1,0,2%m=a1,1,2%m=a1,2,2%m=a1,3,2%m=・・・=a1,g,2%m=・・・=a1,m−2,2%m=a1,m−1,2%m=v1,2 (v1,2:固定値)」
「a1,0,3%m=a1,1,3%m=a1,2,3%m=a1,3,3%m=・・・=a1,g,3%m=・・・=a1,m−2,3%m=a1,m−1,3%m=v1,3 (v1,3:固定値)」
(gは0以上m−1以下の整数)
同様に、図132で示した符号化率R=(n−1)/nの改良したテイルバイティング
方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X2に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B1−13−2>
「a2,0,1%m=a2,1,1%m=a2,2,1%m=a2,3,1%m=・・・=a2,g,1%m=・・・=a2,m−2,1%m=a2,m−1,1%m=v2,1
(v2,1:固定値)」
「a2,0,2%m=a2,1,2%m=a2,2,2%m=a2,3,2%m=・・・=a2,g,2%m=・・・=a2,m−2,2%m=a2,m−1,2%m=v2,2
(v2,2:固定値)」
「a2,0,3%m=a2,1,3%m=a2,2,3%m=a2,3,3%m=・・・=a2,g,3%m=・・・=a2,m−2,3%m=a2,m−1,3%m=v2,3
(v2,3:固定値)」
(gは0以上m−1以下の整数)
・
・
・
一般化すると、図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xkに関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。(kは、1以上n−1以下の整数)
<条件B1−13−k>
「ak,0,1%m=ak,1,1%m=ak,2,1%m=ak,3,1%m=・・・=ak,g,1%m=・・・=ak,m−2,1%m=ak,m−1,1%m=vk,1
(vk,1:固定値)」
「ak,0,2%m=ak,1,2%m=ak,2,2%m=ak,3,2%m=・・・=ak,g,2%m=・・・=ak,m−2,2%m=ak,m−1,2%m=vk,2
(vk,2:固定値)」
「ak,0,3%m=ak,1,3%m=ak,2,3%m=ak,3,3%m=・・・=ak,g,3%m=・・・=ak,m−2,3%m=ak,m−1,3%m=vk,3
(vk,3:固定値)」
(gは0以上m−1以下の整数)
・
・
・
同様に、図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xn−1に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B1−13−(n−1)>
「an−1,0,1%m=an−1,1,1%m=an−1,2,1%m=an−1,3,1%m=・・・=an−1,g,1%m=・・・=an−1,m−2,1%m=an−1,m−1,1%m=vn−1,1 (vn−1,1:固定値)」
「an−1,0,2%m=an−1,1,2%m=an−1,2,2%m=an−1,3,2%m=・・・=an−1,g,2%m=・・・=an−1,m−2,2%m=an−1,m−1,2%m=vn−1,2 (vn−1,2:固定値)」
「an−1,0,3%m=an−1,1,3%m=an−1,2,3%m=an−1,3,3%m=・・・=an−1,g,3%m=・・・=an−1,m−2,3%m=an−1,m−1,3%m=vn−1,3 (vn−1,3:固定値)」
(gは0以上m−1以下の整数)
なお、上記において、「%」はmoduloを意味する、つまり、「α%m」は、αをmで除算したときの余りを示す。<条件B1−13−1>から<条件B1−13−(n−1)>を別の表現をすると、以下のように表現することができる。なお、jは1、2、3である。
<条件B1−13’−1>
「a1,g,j%m=v1,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(v1,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでa1,g,j%m=v1,j(v1,j:固定値)が成立する。)
<条件B1−13’−2>
「a2,g,j%m=v2,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(v2,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでa2,g,j%m=v2,j(v2,j:固定値)が成立する。)
・
・
・
一般化すると、以下のようになる。
<条件B1−13’−k>
「ak,g,j%m=vk,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(vk,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでak,g,j%m=vk,j(vk,j:固定値)が成立する。)
(kは、1以上n−1以下の整数)
・
・
・
<条件B1−13’−(n−1)>
「an−1,g,j%m=vn−1,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(vn−1,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでan−1,g,j%m=vn−1,j(vn−1,j:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件B1−14−1>
「v1,1≠v1,2、v1,1≠v1,3、v1,2≠v1,3が成立する。」
<条件B1−14−2>
「v2,1≠v2,2、v2,1≠v2,3、v2,2≠v2,3が成立する。」
・
・
・
一般化すると、以下のようになる。
<条件B1−14−k>
「vk,1≠vk,2、vk,1≠vk,3、vk,2≠vk,3が成立する。」
(kは、1以上n−1以下の整数)
・
・
・
<条件B1−14−(n−1)>
「vn−1,1≠vn−1,2、vn−1,1≠vn−1,3、vn−1,2≠vn−1,3が成立する。」
このようにすることで、「図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X1に関連する部分行列、情報X2に関連する部分行列、・・・、情報Xn−1に関連する部分行列において、最低列重みを3となり」、以上の条件を満した、符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)とすることで、「イレギュラーLDPC符号」を生成することができ、高い誤り訂正能力を得ることができる。
(実施の形態B2)
本実施の形態では、実施の形態A2で述べた符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列の具体的な構成例について説明する。
実施の形態A2で説明したように、提案する符号化率R=(n−1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproとすると、Hproの列数はn×m×zとあらわすことができる(zは自然数)。(なお、mは、ベースとなる符号化率R=(n−1)/n、パリティ検査多項式に基づくLDPC−CCの時変周期である。)
よって、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)の第sブロックのn×m×zのビット数で構成される送信系列(符号化系列(符号語))vsはvs=(Xs,1,1、Xs,2,1、・・・、Xs,n−1,1、Ppro,s,1、Xs,1,2、Xs,2,2、・・・、Xs,n−1,2、Ppro,s,2、・・・、Xs,1,m×z−1、Xs,2,m×z−1、・・・、Xs,n−1,m×z−1、Ppro,s,m×z−1、Xs,1,m×z、Xs,2,m×z、・・・、Xs,n−1,m×z、Ppro,s,m×z)T=(λpro,s,1、λpro,s,2、・・・、λpro,s,m×z−1、λpro,s,m×z)Tとあらわすことができ、Hprovs=0が成立する(このとき、「Hprovs=0(ゼロ)」は、全ての要素が0(ゼロ)のベクトルであることを意味する)。なお、Xs,j,kは情報Xjのビットであり(jは1以上n−1以下の整数)、Ppro,s,kは提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティのビットであり、λpro,s,k=(Xs,1,k、Xs,2,k、・・・、Xs,n−1,k、Ppro,s,k)である(したがって、n=2のとき、λpro,s,k=(Xs,1,k、Ppro,s,k)となり、n=3のとき、λpro,s,k=(Xs,1,k、Xs,2,k、Ppro,s,k)となり、n=4のとき、λpro,s,k=(Xs,1,k、Xs,2,k、Xs,3,k、Ppro,s,k)となり、n=5のとき、λpro,s,k=(Xs,1,k、Xs,2,k、Xs,3,k、Xs,4,k、Ppro,s,k)となり、n=6のとき、λpro,s,k=(Xs,1,k、Xs,2,k、Xs,3,k、Xs,4,k、Xs,5,k、Ppro,s,k)となる。)。ただし、k=1、2、・・・、m×z−1、m×z、つまり、kは1以上m×z以下の整数である。また、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの行数は、m×zとなる。
本実施の形態では、式(A8)で示した、i番目の0を満たすパリティ検査多項式を次
式のようにあらわす。
0番目:「第0番目の0を満たすパリティ検査多項式」
1番目:「第1番目の0を満たすパリティ検査多項式」
2番目:「第2番目の0を満たすパリティ検査多項式」
・
・
・
e番目:「第e番目の0を満たすパリティ検査多項式」
・
・
・
m×z−2番目:「第m×z−2番目の0を満たすパリティ検査多項式」
m×z−1番目:「第m×z−1番目の0を満たすパリティ検査多項式」
の順に並べられていることになり、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)の第sブロックの送信系列(符号化系列(符号語))vsを得ることになる。(なお、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を
用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproのe+1行で構成されるベクトルが、「第e番目の0を満たすパリティ検査多項式」に相当する。(実施の形態A2参照)
上述の説明、および、実施の形態A2から、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)において、
第0番目の0を満たすパリティ検査多項式は、「式(B46)の0を満たすパリティ検査多項式」であり、
第1番目の0を満たすパリティ検査多項式は、「式(B45)の0を満たす1番目のパリティ検査多項式」であり、
第2番目の0を満たすパリティ検査多項式は、「式(B45)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第m−2番目の0を満たすパリティ検査多項式は、「式(B45)の0を満たすm−2番目のパリティ検査多項式」であり、
第m−1番目の0を満たすパリティ検査多項式は、「式(B45)の0を満たすm−1番目のパリティ検査多項式」であり、
第m番目の0を満たすパリティ検査多項式は、「式(B45)の0を満たす0番目のパリティ検査多項式」であり、
第m+1番目の0を満たすパリティ検査多項式は、「式(B45)の0を満たす1番目のパリティ検査多項式」であり、
第m+2番目の0を満たすパリティ検査多項式は、「式(B45)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第2m−2番目の0を満たすパリティ検査多項式は、「式(B45)の0を満たすm−2番目のパリティ検査多項式」であり、
第2m−1番目の0を満たすパリティ検査多項式は、「式(B45)の0を満たすm−1番目のパリティ検査多項式」であり、
第2m番目の0を満たすパリティ検査多項式は、「式(B45)の0を満たす0番目のパリティ検査多項式」であり、
第2m+1番目の0を満たすパリティ検査多項式は、「式(B45)の0を満たす1番目のパリティ検査多項式」であり、
第2m+2番目の0を満たすパリティ検査多項式は、「式(B45)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第m×z−2番目の0を満たすパリティ検査多項式は、「式(B45)の0を満たすm−2番目のパリティ検査多項式」であり、
第m×z−1番目の0を満たすパリティ検査多項式は、「式(B45)の0を満たすm−1番目のパリティ検査多項式」
となる。つまり、
「第0番目の0を満たすパリティ検査多項式は、「式(B46)の0を満たすパリティ検査多項式」であり、第e番目(eは1以上m×z−1の整数)の0を満たすパリティ検査多項式は、「式(B45)の0を満たすe%m番目のパリティ検査多項式」
となる。
ただし、本実施の形態において(本明細書の中で共通である)、「%」はmoduloを意味し、例えば、「α%q」は、αをqで除算したときの余りである。(αは0以上の整数、qは自然数である。)
本実施の形態では、上述の場合のパリティ検査行列の構成について、詳しく説明する。
上述で述べたように、式(B45)と式(B46)により定義することができる提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)の第fブロックのn×m×zのビット数で構成される送信系列(符号化系列(符号語))vfはvf=(Xf,1,1、Xf,2,1、・・・、Xf,n−1,1、Ppro,f,1、Xf,1,2、Xf,2,2、・・・、Xf,n−1,2、Ppro,f,2、・・・、Xf,1,m×z−1、Xf,2,m×z−1、・・・、Xf,n−1,m×z−1、Ppro,f,m×z−1、Xf,1,m×z、Xf,2,m×z、・・・、Xf,n−1,m×z、Ppro,f,m×z)T=(λpro,f,1、λpro,f,2、・・・、λpro,f,m×z−1、λpro,f,m×z)Tとあらわすことができ、Hprovf=0が成立する(このとき、「Hprovf=0(ゼロ)」は、全ての要素が0(ゼロ)のベクトルであることを意味する)。なお、Xf,j,kは情報Xjのビットであり(jは1以上n−1以下の整数)、Ppro,f,kは提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティのビットであり、λpro,f,k=(Xf,1,k、Xf,2,k、・・・、Xf,n−1,k、Ppro,f,k)である(したがって、n=2のとき、λpro,f,k=(Xf,1,k、Ppro,f,k)となり、n=3のとき、λpro,f,k=(Xf,1,k、Xf,2,k、Ppro,f,k)となり、n=4のとき、λpro,f,k=(Xf,1,k、Xf,2,k、Xf,3,k、Ppro,f,k)となり、n=5のとき、λpro,f,k=(Xf,1,k、Xf,2,k、Xf,3,k、Xf,4,k、Ppro,f,k)となり、n=6のとき、λpro,f,k=(Xf,1,k、Xf,2,k、Xf,3,k、Xf,4,k、Xf,5,k、Ppro,f,k)となる。)。ただし、k=1、2、・・・、m×z−1、m×z、つまり、kは1以上m×z以下の整数である。また、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの行数は、m×zとなる(zは自然数)。なお、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの行数はm×zであることから、パリティ検査行列をHproには、第1行から第m×z行が存在することになる。そして、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの列数はn×m×zであることから、パリティ検査行列をHproには、第1列から第n×m×z列が存在することになる。
そして、第fブロック内には、時点1からm×zまで存在する。(なお、この点については、実施の形態A2でも同様である。)上述において、kが「時点」を表現していることになる。したがって、時点kの情報X1、X2,、・・・、Xn−1およびパリティPproは、λpro,f,k=(Xf,1,k、Xf,2,k、・・・、Xf,n−1,k、Ppro,f,k)となる。
提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのベースとなる符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC−CCのi番目(iは0以上m−1以下の整数)のパリティ検査多項式である式(B44)に対応するサブ行列(ベクトル)をHiとすると、第iサブ行列は次式のようにあらわすことができる。
上記で定義した送信系列vfに対応する改良したテイルバイティングを行った際の、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproのうち、時点m×z近辺のパリティ検査行列Hproを図130に示す。図130に示すように、パリティ検査行列Hproにおいて、第δ行と第δ+1行とでは、サブ行列がn列右にシフトした構成となる(図130参照)。
符号13107は時点m×z−1に相当する列群を示しており、符号13107の列群は、Xf,1,m×z−1に対応する列、Xf,2,m×z−1に対応する列、・・・、Xf,n−1,m×z−1に対応する列、Ppro,f,m×z−1に対応する列の順に並んでいる。符号13108は時点m×zに相当する列群を示しており、符号13108の列群は、Xf,1,m×zに対応する列、Xf,2,m×zに対応する列、・・・、Xf,n−1,m×zに対応する列、Ppro,f,m×zに対応する列の順に並んでいる。符号13109は時点1に相当する列群を示しており、符号13109の列群は、Xf,1,1に対応する列、Xf,2,1に対応する列、・・・、Xf,n−1,1に対応する列、Ppro,f,1に対応する列の順に並んでいる。符号13110は時点2に相当する列群を示しており、符号13110の列群は、Xf,1,2に対応する列、Xf,2,2に対応する列、・・・、Xf,n−1,2に対応する列、Ppro,f,2に対応する列の順に並んでいる。
以上について、図130を用いて補足説明をすると、図130には記載していないが、図130のようにあらわした、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproにおいて、第1行を抽出して得られるベクトルは、0を満たすパリティ検査多項式である式(B45)に相当するベクトルとなる。
上述では、第f番目のブロックの送信系列(符号化系列(符号語))vfはvf=(Xf,1,1、Xf,2,1、・・・、Xf,n−1,1、Ppro,f,1、Xf,1,2、Xf,2,2、・・・、Xf,n−1,2、Ppro,f,2、・・・、Xf,1,m×z−1、Xf,2,m×z−1、・・・、Xf,n−1,m×z−1、Ppro,f,m×z−1、Xf,1,m×z、Xf,2,m×z、・・・、Xf,n−1,m×z、Ppro,f,m×z)T=(λpro,f,1、λpro,f,2、・・・、λpro,f,m×z−1、λpro,f,m×z)Tであり、Hprovf=0(なお、「Hprovf=0(ゼロ)の「0(ゼロ)」」は、全ての要素が0(ゼロ)のベクトルであることを意味する。)が成立する提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hproの構成について説明したが、以降では、第f番目のブロックの送信系列(符号化系列(符号語))ufはuf=(Xf,1,1、Xf,1,2、・・・、Xf,1,m×z、Xf,2,1、Xf,2,2、・・・、Xf,2,m×z、・・・、Xf,n−2,1、Xf,n−2,2、・・・、Xf,n−2,m×z、Xf,n−1,1、Xf,n−1,2、・・・、Xf,n−1,m×z、Ppro,f,1、Ppro,f,2、・・・、Ppro,f,m×z)T=(ΛX1,f、ΛX2,f、ΛX3,f、・・・、ΛXn−2,f、ΛXn−1,f、Λpro,f)Tとあらわされたとき、Hpro_muf=0(なお、「Hpro_muf=0(ゼロ)の「0(ゼロ)」は、全ての要素が0(ゼロ)のベクトルであることを意味する。)が成立する提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mの構成について説明する
。
実施の形態A2および上述の説明と同様、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)の第fブロックのn×m×zのビット数で構成される送信系列(符号化系列(符号語))ufはuf=(Xf,1,1、Xf,1,2、・・・、Xf,1,m×z、Xf,2,1、Xf,2,2、・・・、Xf,2,m×z、・・・、Xf,n−2,1、Xf,n−2,2、・・・、Xf,n−2,m×z、Xf,n−1,1、Xf,n−1,2、・・・、Xf,n−1,m×z、Ppro,f,1、Ppro,f,2、・・・、Ppro,f,m×z)T=(ΛX1,f、ΛX2,f、ΛX3,f、・・・、ΛXn−2,f、ΛXn−1,f、Λpro,f)Tであり、この送信系列を得るために、m×z個の0を満たすパリティ検査多項式が必要となる。このとき、m×z個の0を満たすパリティ検査多項式を順番に並べたとき、e番目の0を満たすパリティ検査多項式を「第e番目の0を満たすパリティ検査多項式」と名付ける(eは0以上m×z−1以下の整数)。したがって、0を満たすパリティ検査多項式は、
0番目:「第0番目の0を満たすパリティ検査多項式」
1番目:「第1番目の0を満たすパリティ検査多項式」
2番目:「第2番目の0を満たすパリティ検査多項式」
・
・
・
e番目:「第e番目の0を満たすパリティ検査多項式」
・
・
・
m×z−2番目:「第m×z−2番目の0を満たすパリティ検査多項式」
m×z−1番目:「第m×z−1番目の0を満たすパリティ検査多項式」
の順に並べられていることになり、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)の第fブロックの送信系列(符号化系列(符号語))ufを得ることになる。(なお、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mのe+1行で構成されるベクトルが、「第e番目の0を満たすパリティ検査多項式」に相当する。(実施の形態A2と同様である。)
よって、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)において、
第0番目の0を満たすパリティ検査多項式は、「式(B45)の0を満たすパリティ検査多項式」であり、
第1番目の0を満たすパリティ検査多項式は、「式(B44)の0を満たす1番目のパリティ検査多項式」であり、
第2番目の0を満たすパリティ検査多項式は、「式(B44)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第m−2番目の0を満たすパリティ検査多項式は、「式(B44)の0を満たすm−2番目のパリティ検査多項式」であり、
第m−1番目の0を満たすパリティ検査多項式は、「式(B44)の0を満たすm−1番目のパリティ検査多項式」であり、
第m番目の0を満たすパリティ検査多項式は、「式(B44)の0を満たす0番目のパリティ検査多項式」であり、
第m+1番目の0を満たすパリティ検査多項式は、「式(B44)の0を満たす1番目のパリティ検査多項式」であり、
第m+2番目の0を満たすパリティ検査多項式は、「式(B44)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第2m−2番目の0を満たすパリティ検査多項式は、「式(B44)の0を満たすm−2番目のパリティ検査多項式」であり、
第2m−1番目の0を満たすパリティ検査多項式は、「式(B44)の0を満たすm−1番目のパリティ検査多項式」であり、
第2m番目の0を満たすパリティ検査多項式は、「式(B44)の0を満たす0番目のパリティ検査多項式」であり、
第2m+1番目の0を満たすパリティ検査多項式は、「式(B44)の0を満たす1番目のパリティ検査多項式」であり、
第2m+2番目の0を満たすパリティ検査多項式は、「式(B44)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第m×z−2番目の0を満たすパリティ検査多項式は、「式(B44)の0を満たすm−2番目のパリティ検査多項式」であり、
第m×z−1番目の0を満たすパリティ検査多項式は、「式(B44)の0を満たすm−1番目のパリティ検査多項式」
となる。つまり、
第0番目の0を満たすパリティ検査多項式は、「式(B45)の0を満たすパリティ検査多項式」であり、第e番目(eは1以上m×z−1以下の整数)の0を満たすパリティ検査多項式は、「式(B44)の0を満たすe%m番目のパリティ検査多項式」
となる。
図136は、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの構成を示している。
・
・
提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの第m−1行目を構成するベクトルは、第m−2番目の0を満たすパリティ検査多項式、つまり、「式(B44)の0を満たすm−2番目のパリティ検査多項式」のパリティに関連する項から生成することができる。
・
・
提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの第2m−1行目を構成するベクトルは、第2m−2番目の0を満たすパリティ検査多項式、つまり、「式(B44)の0を満たすm−2番目のパリティ検査多項式」のパリティに関連する項から生成することができる。
・
・
提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの第m×z−1行目を構成するベクトルは、第m×z−2番目の0を満たすパリティ検査多項式、つまり、「式(B44)の0を満たすm−2番目のパリティ検査多項式」のパリティに関連する項から生成することができる。
「提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの第1行目を構成するベクトルは、第0番目の0を満たすパリティ検査多項式、つまり、「式(B45)の0を満たすパリティ検査多項式」のパリティに関連する項から生成することができ、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの第e+1行目(eは1以上m×z−1以下の整数)を構成するベクトルは、第e番目の0を満たすパリティ検査多項式、つまり、「式(B44)の0を満たすe%m番目のパリティ検査多項式」のパリティに関連する項から生成することができる。」
なお、mは、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのベースとなる符号化率R=(n−1)/nのパリティ検査多項式に基づくLDPC−CCの時変周期である。
図136に提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの構成を示す。提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpのi行j列の要素をHp,comp[i][j](iおよびjは1以上m×z以下の整数(i、j=1、2、3、・・・、m×z−1、m×z))とあらわすものとする。すると、以下が成立する。
したがって、パリティPproに関連する部分行列Hpの第1行目において、要素が「1」を満たす場合は、
また、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの行と、式(B44)、および、式(B45)のパリティ検査多項式の関係は、図136に示したようになり、この点は、実施の形態A2等で説明した図128と同様である。
次に、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおける情報Xqに関連する部分行列Hx,qの各要素の値について説明する(qは1以上n−1以下の整数)。
図137に提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおける情報Xqに関連する部分行列Hx,qの構成を示す。
図137に示すように、「提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおける情報Xqに関連する部分行列Hx,qの第1行目を構成するベクトルは、第0番目の0を満たすパリティ検査多項式、つまり、「式(B45)の0を満たすパリティ検査多項式」の情報Xqに関連する項から生成することができ、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおける情報Xqに関連する部分行列Hx,qの第e+1行目(eは1以上m×z−1以下の整数)を構成するベクトルは、第e番目の0を満たすパリティ検査多項式、つまり、「式(B44)の0を満たすe%m番目のパリティ検査多項式」の情報Xqに関連する項から生成することができる。」
提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおける情報X1に関連する部分行列Hx,1のi行j列の要素をHx,1,comp[i][j](iおよびjは1以上m×z以下の整数(i、j=1、2、3、・・・、m×z−1、m×z))とあらわすものとする。すると、以下が成立する。
したがって、情報X1に関連する部分行列Hx,1の第1行目において、要素が「1」を満たす場合は、
提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCにおいて、0を満たすパリティ検査多項式が、式(B44)および式(B45)を満たすとき、情報X1に関連する部分行列Hx,1の第s行目において、(sは2以上m×z以下の整数)(s−1)%m=k(%はモジュラ演算(modulo)を示す。)とすると、情報X1に関連する部分行列Hx,1の第s行目に関連するパリティ検査多項式は、式(B44)から、式(B50)とあらわされる。
また、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおける情報X1に関連する部分行列Hx,1の行と、式(B44)、および、式(B45)のパリティ検査多項式の関係は、図137(なお、q=1)に示したようになり、この点は、実施の形態A2等で説明した図128と同様である。
上述では、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおける情報X1に関連する部分行列Hx,1の構成について説明したが、以下では、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおける情報Xq(qは1以上n−1以下の整数)に関連する部分行列Hx,qの構成について説明する。(部分行列Hx,qの構成は、上述の部分行列Hx,1の説明と同様に、説明することができる。)
提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおける情報Xqに関連する部分行列Hx,qの構成は、図137のとおりである。
したがって、情報Xqに関連する部分行列Hx,qの第1行目において、要素が「1」を満たす場合は、
となる。そして、情報Xqに関連する部分行列Hx,qの第1行のHx, q,comp[1][j]において、式(B57)、式(B58)以外の要素は「0」なる。つまり、{j≠1}、かつ、{j≠1−aq,0,y+m×zを、すべてのyで満たす。ただし、yは1以上rq以下の整数。}を満たす、すべてのj(ただし、jは1以上m×z以下の整数)において、Hx, q,comp[1][j]=0となる。
提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCにおいて、0を満たすパリティ検査多項式が、式(B44)および式(B45)を満たすとき、情報Xqに関連する部分行列Hx,qの第s行目において、(sは2以上m×z以下の整数)(s−1)%m=k(%はモジュラ演算(modulo)を示す。)とすると、情報Xqに関連する部分行列Hx,qの第s行目に関連するパリティ検査多項式は、式(B44)から、式(B50)とあらわされる。
また、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおける情報Xqに関連する部分行列Hx,qの行と、式(B44)、および、式(B45)のパリティ検査多項式の関係は、図137に示したようになり、この点は、実施の形態A2等で説明した図128と同様である。
上記では、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mの構成について説明した。以下では、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mと等価なパリティ検査行列の生成方法について説明する。(なお、実施の形態17等の説明にもとづいている。)
図105は、符号化率(N−M)/N(N>M>0)のLDPC(ブロック)符号のパリティ検査行列Hの構成を示しており、例えば、図105のパリティ検査行列は、M行N列の行列となる。そして、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mを、図105のパリティ検査行列Hであらわすものとする。(したがって、Hpro_m=(図105の)Hとなる。以下では、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列をHと記載することにする。)
図105において、第j番目のブロックの送信系列(符号語)vj T=(Yj,1、Yj,2、Yj,3、・・・、Yj,N−2、Yj,N−1、Yj,N)とする(組織符号の場合、Yj,k(kは1以上N以下の整数)は、情報(X1からXn−1)またはパリティとなる。
そして、第j番目のブロックの送信系列vjの第k行目(ただし、kは、1以上N以下の整数)の要素(図105において、送信系列vjの転置行列vj Tの場合、第k列目の要素)は、Yj,kであるとともに、符号化率(N−M)/N(N>M>0)のLDPC(ブロック)符号のパリティ検査行列(つまり、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列)Hの第k列目を抽出したベクトルを図105のようにckとあらわす。このとき、LDPC(ブロック)符号のパリティ検査行列(つまり、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列)Hは、以下のようにあらわされる。
よって、送信系列(符号語)v’j=(Yj,32、Yj,99、Yj,23、・・・、Yj,234、Yj,3、Yj,43)Tとした場合のパリティ検査行列H’は、以下のようにあらわされる。
例えば、蓄積および並び替え部(デインタリーブ部)10802は、Yj,32の対数尤度比、Yj,99の対数尤度比、Yj,23の対数尤度比、・・・、Yj,234の対数尤度比、Yj,3の対数尤度比、Yj,43の対数尤度比を入力とし、並び替えを行い、Yj,1の対数尤度比、Yj,2の対数尤度比、Yj,3の対数尤度比、・・・、Yj,N−2の対数尤度比、Yj,N−1の対数尤度比、Yj,Nの対数尤度比の順に出力するものとする。
例えば、送信装置が、第jブロックの送信系列(符号語)v’j=(Yj,32、Yj,99、Yj,23、・・・、Yj,234、Yj,3、Yj,43)Tを送信したものとする。すると、各ビットの対数尤度比計算部10800は、受信信号から、Yj,32の対数尤度比、Yj,99の対数尤度比、Yj,23の対数尤度比、・・・、Yj,234の対数尤度比、Yj,3の対数尤度比、Yj,43の対数尤度比を計算し、出力することになる(図108の10806に相当)。
したがって、符号化率(n−1)/nの提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCの送信系列(符号語)に対し、インタリーブを施した場合、上述のように、符号化率(n−1)/nの提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列に対し、列並び替え(列置換)を行った行列が、インタリーブを施した送信系列(符号語)のパリティ検査行列を受信装置は用いることで、得られた各ビットの対数尤度比に対し、デインタリーブを行わなくても、信頼度伝播復号を行い、推定系列を得ることができる。
上述では、送信系列のインタリーブとパリティ検査行列の関係について説明したが、以降では、パリティ検査行列における行並び替え(行置換)について説明する。
図109は、符号化率(N−M)/NのLDPC(ブロック)符号の第j番目のブロックの送信系列(符号語)vj T=(Yj,1、Yj,2、Yj,3、・・・、Yj,N−2、Yj,N−1、Yj,N)に対応するパリティ検査行列Hの構成を示している。例えば、図109のパリティ検査行列は、M行N列の行列となる。そして、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mを、図109のパリティ検査行列Hであらわすものとする。(したがって、Hpro_m=(図109の)Hとなる。以下では、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列をHと記載することにする。)(組織符号の場合、Yj,k(kは1以上N以下の整数)は、情報XまたはパリティP(パリティPpro)となる。そして、Yj,kは、(N−M)個の情報とM個のパリティで構成されていることになる。)。このとき、Hvj=0が成立する。(なお、ここでの「Hvj=0の0(ゼロ)」は、全ての要素が0のベクトルであることを意味する。つまり、すべてのk(kは1以上M以下の整数)において、第k行の値は0である。)
そして、図109のパリティ検査行列Hの第k行目(kは1以上M以下の整数)を抽出したベクトルをzkとあらわす。このとき、LDPC(ブロック)符号のパリティ検査行列(つまり、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列)Hは、以下のようにあらわされる。
図110は図109のパリティ検査行列Hに対し、行並び替え(行置換)を行ったパリティ検査行列H’の一例を示しており、パリティ検査行列H’は、図109と同様、符号化率(N−M)/NのLDPC(ブロック)符号(つまり、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC)の第j番目のブロックの送信系列(符号語)vj T=(Yj,1、Yj,2、Yj,3、・・・、Yj,N−2、Yj,N−1、Yj,N)に対応するパリティ検査行列(つまり、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列)となる。
つまり、第j番目のブロックの送信系列vj Tのとき、図110のパリティ検査行列H’の第i行目を抽出したベクトルは、ベクトルck(kは1以上M以下の整数)のいずれかであらわされ、図110のパリティ検査行列H’の第k行目(kは1以上M以下の整数)を抽出したM個の行ベクトルには、z1、z2、z3、・・・zM−2、zM−1、zM、がそれぞれ一つ存在することになる。
また、実施の形態A2で説明した提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列に対し、上述で説明した列並び替え(列置換)および行並び替え(行置換)の両者を施すことにより得た行列をパリティ検査行列としてもよい。
また、実施の形態A2で説明した提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列に対し、1回目の列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H1,1を得る。そして、パリティ検査行列H1,1に対し、1回目の行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H2,1を得る。
以上のような、列並び替え(列置換)、および、行並び替え(行置換)をs(sは2以上の整数)回繰り返して、パリティ検査行列H2,sを得る。このとき、パリティ検査行列H2,k−1に対し、k(kは2以上s以下の整数)回目の列並び替え(列置換)を行い、パリティ検査行列H1,kを得る。そして、パリティ検査行列H1,kに対し、k回目の行並び替え(行置換)を行い、パリティ検査行列H2,kを得ることになる。なお、1回目については、実施の形態A2で説明した提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列に対し、1回目の列並び替え(列置換)を行い、パリティ検査行列H1,1を得る。そして、パリティ検査行列H1,1に対し、1回目の行並び替え(行置換)を行い、パリティ検査行列H2,1を得ることになる。
別の方法として、実施の形態A2で説明した提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列に対し、行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H3を得る。そして、パリティ検査行列H3に対し、列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H4を得、送信装置、および、受信装置は、パリティ検査行列H4を用いて、符号化、復号化を行ってもよい。
また、実施の形態A2で説明した提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列に対し、1回目の行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H3,1を得る。そして、パリティ検査行列H3,1に対し、1回目の列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H4,1を得る。
以上のような、行並び替え(行置換)、および、列並び替え(列置換)をs(sは2以上の整数)回繰り返して、パリティ検査行列H4,sを得る。このとき、パリティ検査行列H4,k−1に対し、k(kは2以上s以下の整数)回目の行並び替え(行置換)を行い、パリティ検査行列H3,kを得る。そして、パリティ検査行列H3,kに対し、k回目の列並び替え(列置換)を行い、パリティ検査行列H4,kを得ることになる。なお、1回目については、実施の形態A2で説明した提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列に対し、1回目の行並び替え(行置換)を行い、パリティ検査行列H3,1を得る。そして、パリティ検査行列H3,1に対し、1回目の列並び替え(列置換)を行い、パリティ検査行列H4,1を得ることになる。
なお、パリティ検査行列H2、パリティ検査行列H2,s、パリティ検査行列H4、パリティ検査行列H4,sいずれも、行並び替え(行置換)および列並び替え(列置換)を行うと、実施の形態A2で説明した提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列、または、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCの図130、図131、図136、図137を用いて説明したパリティ検査行列を得ることができる。
同様に、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCの図130、図131、図136、図137を用いて説明したパリティ検査行列に対し、上述で説明した列並び替え(列置換)および行並び替え(行置換)の両者を施すことにより得た行列をパリティ検査行列としてもよい。
このとき、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCの図130、図131、図136、図137を用いて説明したパリティ検査行列に対し、列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H5を得る。そして、パリティ検査行列H5に対し、行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H6を得、送信装置、および、受信装置は、パリティ検査行列H6を用いて、符号化、復号化を行ってもよい。
また、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCの図130、図131、図136、図137を用いて説明したパリティ検査行列に対し、1回目の列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H5,1を得る。そして、パリティ検査行列H5,1に対し、1回目の行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H6,1を得る。
以上のような、列並び替え(列置換)、および、行並び替え(行置換)をs(sは2以上の整数)回繰り返して、パリティ検査行列H6,sを得る。このとき、パリティ検査行列H6,k−1に対し、k(kは2以上s以下の整数)回目の列並び替え(列置換)を行い、パリティ検査行列H5,kを得る。そして、パリティ検査行列H5,kに対し、k回目の行並び替え(行置換)を行い、パリティ検査行列H6,kを得ることになる。なお、1回目については、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCの図130、図131、図136、図137を用いて説明したパリティ検査行列に対し、1回目の列並び替え(列置換)を行い、パリティ検査行列H5,1を得る。そして、パリティ検査行列H5,1に対し、1回目の行並び替え(行置換)を行い、パリティ検査行列H6,1を得ることになる。
別の方法として、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCの図130、図131、図136、図137を用いて説明したパリティ検査行列に対し、行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H7を得る。そして、パリティ検査行列H7に対し、列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H8を得、送信装置、および、受信装置は、パリティ検査行列H8を用いて、符号化、復号化を行ってもよい。
また、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCの図130、図131、図136、図137を用いて説明したパリティ検査行列に対し、1回目の行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H7,1を得る。そして、パリティ検査行列H7,1に対し、1回目の列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H8,1を得る。
以上のような、行並び替え(行置換)、および、列並び替え(列置換)をs(sは2以上の整数)回繰り返して、パリティ検査行列H8,sを得る。このとき、パリティ検査行列H8,k−1に対し、k(kは2以上s以下の整数)回目の行並び替え(行置換)を行い、パリティ検査行列H7,kを得る。そして、パリティ検査行列H7,kに対し、k回目の列並び替え(列置換)を行い、パリティ検査行列H8,kを得ることになる。なお、1回目については、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCの図130、図131、図136、図137を用いて説明したパリティ検査行列に対し、1回目の行並び替え(行置換)を行い、パリティ検査行列H7,1を得る。そして、パリティ検査行列H7,1に対し、1回目の列並び替え(列置換)を行い、パリティ検査行列H8,1を得ることになる。
なお、パリティ検査行列H6、パリティ検査行列H6,s、パリティ検査行列H8、パリティ検査行列H8,sいずれも、行並び替え(行置換)および列並び替え(列置換)を行うと、実施の形態A2で説明した提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列、または、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCの図130、図131、図136、図137を用いて説明したパリティ検査行列を得ることができる。
上述の説明では、実施の形態A2で述べた符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列の構成方法の一例を説明した。このとき、符号化率は、R=(n−1)/nであり、nは2以上の整数であり、ベースとなる符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC−CCのi番目(iは0以上m−1以下の整数)のパリティ検査多項式は、式(A8)のようにあらわされる。
n=3、つまり、符号化率R=2/3のとき、改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
n=4、つまり、符号化率R=3/4のとき、改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
n=5、つまり、符号化率R=4/5のとき、改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
n=6、つまり、符号化率R=5/6のとき、改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
n=8、つまり、符号化率R=7/8のとき、改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
n=9、つまり、符号化率R=8/9のとき、改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
n=10、つまり、符号化率R=9/10のとき、改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
なお、本実施の形態において、符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)を形成するためのパリティ検査多項式として、式(B44)および式(B45)をあつかったが、パリティ検査多項式は、式(B44)、式(B45)に限ったものではない。例えば、符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のベースとなる符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC−CCのi番目(iは0以上m−1以下の整数)のパリティ検査多項式として、式(B44)の代わりに次式を扱ってもよい。
パリティ検査多項式ごとに、Xk(D)の項数(kは1以上n−1以下の整数)を設定してもよい。すると、例えば、符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のベースとなる符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC−CCのi番目(iは0以上m−1以下の整数)のパリティ検査多項式として、式(B44)の代わりに次式を扱ってもよい。
したがって、実施の形態A2における、提案する符号化率R=(n−1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第1行目のベクトルを生成するための0を満たすパリティ検査多項式である式(A20)は次式であらわされることになる。(式(B83)の0番目を利用することになる。)
したがって、実施の形態A2における、提案する符号化率R=(n−1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第1行目のベクトルを生成するための0を満たすパリティ検査多項式である式(A20)は次式であらわされることになる。(式(B85)の0番目を利用することになる。)
「高い誤り訂正能力を得るために、r1、r2、・・・、rn−2、rn−1いずれも3以上に設定する(1以上n−1以下の整数であり、これを満たす、すべてのkにおいてrkは3以上)。つまり、式(B44)において、1以上n−1以下の整数であり、これを満たす、すべてのkにおいて、Xk(D)の項数は4以上となる。」
とした。以下では、r1、r2、・・・、rn−2、rn−1いずれも3以上と設定したとき、高い誤り訂正能力を得るための条件の例について説明する。
「式(B45)において、1以上n−1以下の整数であり、これを満たす、すべてのkにおいて、Xk(D)の項数は4以上となる。」
となる。そして、上述で説明したように、式(B44)の0を満たすパリティ検査多項式は、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのベースとなる符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC−CCの0を満たすi番目(iは0以上m−1以下の整数)のパリティ検査多項式となり、式(B45)の0を満たすパリティ検査多項式は、提案する符号化率R=(n−1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第1行目のベクトルを生成するための0を満たすパリティ検査多項式となる。
<条件B2−1−1>
「a1,0,1%m=a1,1,1%m=a1,2,1%m=a1,3,1%m=・・・=a1,g,1%m=・・・=a1,m−2,1%m=a1,m−1,1%m=v1,1 (v1,1:固定値)」
「a1,0,2%m=a1,1,2%m=a1,2,2%m=a1,3,2%m=・・・=a1,g,2%m=・・・=a1,m−2,2%m=a1,m−1,2%m=v1,2 (v1,2:固定値)」
(gは0以上m−1以下の整数)
同様に、図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X2に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B2−1−2>
「a2,0,1%m=a2,1,1%m=a2,2,1%m=a2,3,1%m=・・・=a2,g,1%m=・・・=a2,m−2,1%m=a2,m−1,1%m=v2,1
(v2,1:固定値)」
「a2,0,2%m=a2,1,2%m=a2,2,2%m=a2,3,2%m=・・・=a2,g,2%m=・・・=a2,m−2,2%m=a2,m−1,2%m=v2,2
(v2,2:固定値)」
(gは0以上m−1以下の整数)
・
・
・
一般化すると、図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xkに関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。(kは、1以上n−1以下の整数)
<条件B2−1−k>
「ak,0,1%m=ak,1,1%m=ak,2,1%m=ak,3,1%m=・・・=ak,g,1%m=・・・=ak,m−2,1%m=ak,m−1,1%m=vk,1
(vk,1:固定値)」
「ak,0,2%m=ak,1,2%m=ak,2,2%m=ak,3,2%m=・・・=ak,g,2%m=・・・=ak,m−2,2%m=ak,m−1,2%m=vk,2
(vk,2:固定値)」
(gは0以上m−1以下の整数)
・
・
・
同様に、図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xn−1に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B2−1−(n−1)>
「an−1,0,1%m=an−1,1,1%m=an−1,2,1%m=an−1,3,1%m=・・・=an−1,g,1%m=・・・=an−1,m−2,1%m=an−1,m−1,1%m=vn−1,1 (vn−1,1:固定値)」
「an−1,0,2%m=an−1,1,2%m=an−1,2,2%m=an−1,3,2%m=・・・=an−1,g,2%m=・・・=an−1,m−2,2%m=an−1,m−1,2%m=vn−1,2 (vn−1,2:固定値)」
(gは0以上m−1以下の整数)
なお、上記において、「%」はmoduloを意味する、つまり、「α%m」は、αをmで除算したときの余りを示す。<条件B2−1−1>から<条件B2−1−(n−1)>を別の表現をすると、以下のように表現することができる。なお、jは1、2である。
<条件B2−1’−1>
「a1,g,j%m=v1,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(v1,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでa1,g,j%m=v1,j(v1,j:固定値)が成立する。)
<条件B2−1’−2>
「a2,g,j%m=v2,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(v2,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでa2,g,j%m=v2,j(v2,j:固定値)が成立する。)
・
・
・
一般化すると、以下のようになる。
<条件B2−1’−k>
「ak,g,j%m=vk,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(vk,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでak,g,j%m=vk,j(vk,j:固定値)が成立する。)
(kは、1以上n−1以下の整数)
・
・
・
<条件B2−1’−(n−1)>
「an−1,g,j%m=vn−1,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(vn−1,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでan−1,g,j%m=vn−1,j(vn−1,j:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件B2−2−1>
「v1,1≠0、かつ、v1,2≠0が成立する。」
かつ
「v1,1≠v1,2が成立する。」
<条件B2−2−2>
「v2,1≠0、かつ、v2,2≠0が成立する。」
かつ
「v2,1≠v2,2が成立する。」
・
・
・
一般化すると、以下のようになる。
<条件B2−2−k>
「vk,1≠0、かつ、vk,2≠0が成立する。」
かつ
「vk,1≠vk,2が成立する。」
(kは、1以上n−1以下の整数)
・
・
・
<条件B2−2−(n−1)>
「vn−1,1≠0、かつ、vn−1,2≠0が成立する。」
かつ
「vn−1,1≠vn−1,2が成立する。」
そして、「図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X1から情報Xn−1に関連する部分行列がイレギュラー」でなければならないので、以下の条件を与える。
<条件B2−3−1>
「a1,g,v%m=a1,h,v%m for ∀g∀h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでa1,g,v%m=a1,h,v%mが成立する。)・・・条件#Xa−1
vは3以上r1以下の整数であり、すべてのvで「条件#Xa−1」を満たすことはない。
<条件B2−3−2>
「a2,g,v%m=a2,h,v%m for ∀g∀h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでa2,g,v%m=a2,h,v%mが成立する。)・・・条件#Xa−2
vは3以上r2以下の整数であり、すべてのvで「条件#Xa−2」を満たすことはない。
・
・
・
一般化すると、以下のようになる。
<条件B2−3−k>
「ak,g,v%m=ak,h,v%m for ∀g∀h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでak,g,v%m=ak,h,v%mが成立する。)・・・条件#Xa−k
vは3以上rk以下の整数であり、すべてのvで「条件#Xa−k」を満たすことはない。
(kは、1以上n−1以下の整数)
・
・
・
<条件B2−3−(n−1)>
「an−1,g,v%m=an−1,h,v%m for ∀g∀h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでan−1,g,v%m=an−1,h,v%mが成立する。)・・・条件#Xa−(n−1)
vは3以上rn−1以下の整数であり、すべてのvで「条件#Xa−(n−1)」を満たすことはない。
なお、<条件B2−3−1>から<条件B2−3−(n−1)>を別の表現をすると以
下のような条件となる。
<条件B2−3’−1>
「a1,g,v%m≠a1,h,v%m for ∃g∃h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、a1,g,v%m≠a1,h,v%mが成立するg、hが存在する。)・・・条件#Ya−1
vは3以上r1以下の整数であり、すべてのvで「条件#Ya−1」を満たす。
<条件B2−3’−2>
「a2,g,v%m≠a2,h,v%m for ∃g∃h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、a2,g,v%m≠a2,h,v%mが成立するg、hが存在する。)・・・条件#Ya−2
vは3以上r2以下の整数であり、すべてのvで「条件#Ya−2」を満たす。
・
・
・
一般化すると、以下のようになる。
<条件B2−3’−k>
「ak,g,v%m≠ak,h,v%m for ∃g∃h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、ak,g,v%m≠ak,h,v%mが成立するg、hが存在する。)・・・条件#Ya−k
vは3以上rk以下の整数であり、すべてのvで「条件#Ya−k」を満たす。
(kは、1以上n−1以下の整数)
・
・
・
<条件B2−3’−(n−1)>
「an−1,g,v%m≠an−1,h,v%m for ∃g∃h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、an−1,g,v%m≠an−1,h,v%mが成立するg、hが存在する。)・・・条件#Ya−(n−1)
vは3以上rn−1以下の整数であり、すべてのvで「条件#Ya−(n−1)」を満たす。
<条件B2−4−1>
・「mの約数のうち、1を除いた、約数の集合をR」としたとき、vk,1はRに属してはならない。
<条件B2−4−2>
・「mの約数のうち、1を除いた、約数の集合をR」としたとき、vk,2はRに属してはならない。
さらに、以下の条件を満たしてもよい。
<条件B2−5−1>
・vk,1は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1/w=g(gは自然数)を満たす、すべてのwを抽出した集合をSとしたとき、R∩Sは空集合である。なお、集合Rは<条件B2−4−1>で定義している。
<条件B2−5−2>
・vk,2は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2/w=g(gは自然数)を満たす、すべてのwを抽出した集合をSとしたとき、R∩Sは空集合である。なお、集合Rは<条件B2−4−2>で定義している。
なお、<条件B2−5−1>、<条件B2−5−2>を別の表現をすると、<条件B2−5−1’>、<条件B2−5−2’>となる。
<条件B2−5−1’>
・vk,1は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1の約数の集合をSとしたとき、R∩Sは空集合である。
<条件B2−5−2’>
vk,2は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2の約数の集合をSとしたとき、R∩Sは空集合である。
なお、<条件B2−5−1><条件B2−5−1’>を別の表現をすると、<条件B2−5−1”>となり、<条件B2−5−2><条件B2−5−2’>を別の表現をすると、<条件B2−5−2”>。
<条件B2−5−1”>
・vk,1は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1とmの最大公約数が1である。
<条件B2−5−2”>
・vk,2は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2とmの最大公約数が1である。
符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)を形成するためのパリティ検査多項式として、式(B81)および式(B82)をあつかった。以下では、高い誤り訂正能力を得るための、パリティ検査多項式の式(B81)および式(B82)の条件の例について説明する。
「高い誤り訂正能力を得るために、r1、r2、・・・、rn−2、rn−1いずれも4以上に設定する(1以上n−1以下の整数であり、これを満たす、すべてのkにおいてrkは3以上)。つまり、式(B44)において、1以上n−1以下の整数であり、これを満たす、すべてのkにおいて、Xk(D)の項数は4以上となる。」
とした。以下では、r1、r2、・・・、rn−2、rn−1いずれも4以上と設定したとき、高い誤り訂正能力を得るための条件の例について説明する。
「式(B82)において、1以上n−1以下の整数であり、これを満たす、すべてのkにおいて、Xk(D)の項数は4以上となる。」
となる。そして、上述で説明したように、式(B81)の0を満たすパリティ検査多項式は、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのベースとなる符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC−CCの0を満たすi番目(iは0以上m−1以下の整数)のパリティ検査多項式となり、式(B82)の0を満たすパリティ検査多項式は、提案する符号化率R=(n−1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第1行目のベクトルを生成するための0を満たすパリティ検査多項式となる。
<条件B2−6−1>
「a1,0,1%m=a1,1,1%m=a1,2,1%m=a1,3,1%m=・・・=a1,g,1%m=・・・=a1,m−2,1%m=a1,m−1,1%m=v1,1 (v1,1:固定値)」
「a1,0,2%m=a1,1,2%m=a1,2,2%m=a1,3,2%m=・・・=a1,g,2%m=・・・=a1,m−2,2%m=a1,m−1,2%m=v1,2 (v1,2:固定値)」
「a1,0,3%m=a1,1,3%m=a1,2,3%m=a1,3,3%m=・・・=a1,g,3%m=・・・=a1,m−2,3%m=a1,m−1,3%m=v1,3 (v1,3:固定値)」
(gは0以上m−1以下の整数)
同様に、図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X2に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B2−6−2>
「a2,0,1%m=a2,1,1%m=a2,2,1%m=a2,3,1%m=・・・=a2,g,1%m=・・・=a2,m−2,1%m=a2,m−1,1%m=v2,1
(v2,1:固定値)」
「a2,0,2%m=a2,1,2%m=a2,2,2%m=a2,3,2%m=・・・=a2,g,2%m=・・・=a2,m−2,2%m=a2,m−1,2%m=v2,2
(v2,2:固定値)」
「a2,0,3%m=a2,1,3%m=a2,2,3%m=a2,3,3%m=・・・=a2,g,3%m=・・・=a2,m−2,3%m=a2,m−1,3%m=v2,3
(v2,3:固定値)」
(gは0以上m−1以下の整数)
・
・
・
一般化すると、図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xkに関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。(kは、1以上n−1以下の整数)
<条件B2−6−k>
「ak,0,1%m=ak,1,1%m=ak,2,1%m=ak,3,1%m=・・・=ak,g,1%m=・・・=ak,m−2,1%m=ak,m−1,1%m=vk,1
(vk,1:固定値)」
「ak,0,2%m=ak,1,2%m=ak,2,2%m=ak,3,2%m=・・・=ak,g,2%m=・・・=ak,m−2,2%m=ak,m−1,2%m=vk,2
(vk,2:固定値)」
「ak,0,3%m=ak,1,3%m=ak,2,3%m=ak,3,3%m=・・・=ak,g,3%m=・・・=ak,m−2,3%m=ak,m−1,3%m=vk,3
(vk,3:固定値)」
(gは0以上m−1以下の整数)
・
・
・
同様に、図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xn−1に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B2−6−(n−1)>
「an−1,0,1%m=an−1,1,1%m=an−1,2,1%m=an−1,3,1%m=・・・=an−1,g,1%m=・・・=an−1,m−2,1%m=an−1,m−1,1%m=vn−1,1 (vn−1,1:固定値)」
「an−1,0,2%m=an−1,1,2%m=an−1,2,2%m=an−1,3,2%m=・・・=an−1,g,2%m=・・・=an−1,m−2,2%m=an−1,m−1,2%m=vn−1,2 (vn−1,2:固定値)」
「an−1,0,3%m=an−1,1,3%m=an−1,2,3%m=an−1,3,3%m=・・・=an−1,g,3%m=・・・=an−1,m−2,3%m=an−1,m−1,3%m=vn−1,3 (vn−1,3:固定値)」
(gは0以上m−1以下の整数)
なお、上記において、「%」はmoduloを意味する、つまり、「α%m」は、αをmで除算したときの余りを示す。<条件B2−6−1>から<条件B2−6−(n−1)>を別の表現をすると、以下のように表現することができる。なお、jは1、2、3である。
<条件B2−6’−1>
「a1,g,j%m=v1,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(v1,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでa1,g,j%m=v1,j(v1,j:固定値)が成立する。)
<条件B2−6’−2>
「a2,g,j%m=v2,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(v2,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでa2,g,j%m=v2,j(v2,j:固定値)が成立する。)
・
・
・
一般化すると、以下のようになる。
<条件B2−6’−k>
「ak,g,j%m=vk,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(vk,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでak,g,j%m=vk,j(vk,j:固定値)が成立する。)
(kは、1以上n−1以下の整数)
・
・
・
<条件B2−6’−(n−1)>
「an−1,g,j%m=vn−1,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(vn−1,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでan−1,g,j%m=vn−1,j(vn−1,j:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件B2−7−1>
「v1,1≠v1,2、v1,1≠v1,3、v1,2≠v1,3が成立する。」
<条件B2−7−2>
「v2,1≠v2,2、v2,1≠v2,3、v2,2≠v2,3が成立する。」
・
・
・
一般化すると、以下のようになる。
<条件B2−7−k>
「vk,1≠vk,2、vk,1≠vk,3、vk,2≠vk,3が成立する。」
(kは、1以上n−1以下の整数)
・
・
・
<条件B2−7−(n−1)>
「vn−1,1≠vn−1,2、vn−1,1≠vn−1,3、vn−1,2≠vn−1
,3が成立する。」
そして、「図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X1から情報Xn−1に関連する部分行列がイレギュラー」でなければならないので、以下の条件を与える。
<条件B2−8−1>
「a1,g,v%m=a1,h,v%m for ∀g∀h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでa1,g,v%m=a1,h,v%mが成立する。)・・・条件#Xa−1
vは4以上r1以下の整数であり、すべてのvで「条件#Xa−1」を満たすことはない。
<条件B2−8−2>
「a2,g,v%m=a2,h,v%m for ∀g∀h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでa2,g,v%m=a2,h,v%mが成立する。)・・・条件#Xa−2
vは4以上r2以下の整数であり、すべてのvで「条件#Xa−2」を満たすことはない。
・
・
・
一般化すると、以下のようになる。
<条件B2−8−k>
「ak,g,v%m=ak,h,v%m for ∀g∀h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでak,g,v%m=ak,h,v%mが成立する。)・・・条件#Xa−k
vは4以上rk以下の整数であり、すべてのvで「条件#Xa−k」を満たすことはない。
(kは、1以上n−1以下の整数)
・
・
・
<条件B2−8−(n−1)>
「an−1,g,v%m=an−1,h,v%m for ∀g∀h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでan−1,g,v%m=an
−1,h,v%mが成立する。)・・・条件#Xa−(n−1)
vは4以上rn−1以下の整数であり、すべてのvで「条件#Xa−(n−1)」を満たすことはない。
なお、<条件B2−8−1>から<条件B2−8−(n−1)>を別の表現をすると以下のような条件となる。
<条件B2−8’−1>
「a1,g,v%m≠a1,h,v%m for ∃g∃h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、a1,g,v%m≠a1,h,v%mが成立するg、hが存在する。)・・・条件#Ya−1
vは4以上r1以下の整数であり、すべてのvで「条件#Ya−1」を満たす。
<条件B2−8’−2>
「a2,g,v%m≠a2,h,v%m for ∃g∃h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、a2,g,v%m≠a2,h,v%mが成立するg、hが存在する。)・・・条件#Ya−2
vは4以上r2以下の整数であり、すべてのvで「条件#Ya−2」を満たす。
・
・
・
一般化すると、以下のようになる。
<条件B2−8’−k>
「ak,g,v%m≠ak,h,v%m for ∃g∃h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、ak,g,v%m≠ak,h,v%mが成立するg、hが存在する。)・・・条件#Ya−k
vは4以上rk以下の整数であり、すべてのvで「条件#Ya−k」を満たす。
(kは、1以上n−1以下の整数)
・
・
・
<条件B2−8’−(n−1)>
「an−1,g,v%m≠an−1,h,v%m for ∃g∃h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ
、g≠hであり、an−1,g,v%m≠an−1,h,v%mが成立するg、hが存在する。)・・・条件#Ya−(n−1)
vは4以上rn−1以下の整数であり、すべてのvで「条件#Ya−(n−1)」を満たす。
符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)を形成するためのパリティ検査多項式として、式(B83)および式(B84)をあつかった。以下では、高い誤り訂正能力を得るための、パリティ検査多項式の式(B83)および式(B84)の条件の例について説明する。
上述で説明したように、式(B83)の0を満たすパリティ検査多項式は、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのベースとなる符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC−CCの0を満たすi番目(iは0以上m−1以下の整数)のパリティ検査多項式となり、式(B84)の0を満たすパリティ検査多項式は、提案する符号化率R=(n−1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第1行目のベクトルを生成するための0を満たすパリティ検査多項式となる。
<条件B2−9−1>
「a1,0,1%m=a1,1,1%m=a1,2,1%m=a1,3,1%m=・・・=a1,g,1%m=・・・=a1,m−2,1%m=a1,m−1,1%m=v1,1 (v1,1:固定値)」
「a1,0,2%m=a1,1,2%m=a1,2,2%m=a1,3,2%m=・・・=a1,g,2%m=・・・=a1,m−2,2%m=a1,m−1,2%m=v1,2 (v1,2:固定値)」
(gは0以上m−1以下の整数)
同様に、図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X2に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B2−9−2>
「a2,0,1%m=a2,1,1%m=a2,2,1%m=a2,3,1%m=・・・=a2,g,1%m=・・・=a2,m−2,1%m=a2,m−1,1%m=v2,1
(v2,1:固定値)」
「a2,0,2%m=a2,1,2%m=a2,2,2%m=a2,3,2%m=・・・=a2,g,2%m=・・・=a2,m−2,2%m=a2,m−1,2%m=v2,2
(v2,2:固定値)」
(gは0以上m−1以下の整数)
・
・
・
一般化すると、図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xkに関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。(kは、1以上n−1以下の整数)
<条件B2−9−k>
「ak,0,1%m=ak,1,1%m=ak,2,1%m=ak,3,1%m=・・・=ak,g,1%m=・・・=ak,m−2,1%m=ak,m−1,1%m=vk,1
(vk,1:固定値)」
「ak,0,2%m=ak,1,2%m=ak,2,2%m=ak,3,2%m=・・・=ak,g,2%m=・・・=ak,m−2,2%m=ak,m−1,2%m=vk,2
(vk,2:固定値)」
(gは0以上m−1以下の整数)
・
・
・
同様に、図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)
のパリティ検査行列Hpro_mの情報Xn−1に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B2−9−(n−1)>
「an−1,0,1%m=an−1,1,1%m=an−1,2,1%m=an−1,3,1%m=・・・=an−1,g,1%m=・・・=an−1,m−2,1%m=an−1,m−1,1%m=vn−1,1 (vn−1,1:固定値)」
「an−1,0,2%m=an−1,1,2%m=an−1,2,2%m=an−1,3,2%m=・・・=an−1,g,2%m=・・・=an−1,m−2,2%m=an−1,m−1,2%m=vn−1,2 (vn−1,2:固定値)」
(gは0以上m−1以下の整数)
なお、上記において、「%」はmoduloを意味する、つまり、「α%m」は、αをmで除算したときの余りを示す。<条件B2−9−1>から<条件B2−9−(n−1)>を別の表現をすると、以下のように表現することができる。なお、jは1、2である。
<条件B2−9’−1>
「a1,g,j%m=v1,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(v1,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでa1,g,j%m=v1,j(v1,j:固定値)が成立する。)
<条件B2−9’−2>
「a2,g,j%m=v2,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(v2,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでa2,g,j%m=v2,j(v2,j:固定値)が成立する。)
・
・
・
一般化すると、以下のようになる。
<条件B2−9’−k>
「ak,g,j%m=vk,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(vk,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでak,g,j%m=vk,j(vk,j:固定値)が成立する。)
(kは、1以上n−1以下の整数)
・
・
・
<条件B2−9’−(n−1)>
「an−1,g,j%m=vn−1,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(vn−1,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでan−1,g,j%m=vn−1,j(vn−1,j:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件B2−10−1>
「v1,1≠0、かつ、v1,2≠0が成立する。」
かつ
「v1,1≠v1,2が成立する。」
<条件B2−10−2>
「v2,1≠0、かつ、v2,2≠0が成立する。」
かつ
「v2,1≠v2,2が成立する。」
・
・
・
一般化すると、以下のようになる。
<条件B2−10−k>
「vk,1≠0、かつ、vk,2≠0が成立する。」
かつ
「vk,1≠vk,2が成立する。」
(kは、1以上n−1以下の整数)
・
・
・
<条件B2−10−(n−1)>
「vn−1,1≠0、かつ、vn−1,2≠0が成立する。」
かつ
「vn−1,1≠vn−1,2が成立する。」
このようにすることで、「図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X1に関連する部分行列、情報X2に関連する部分行列、・・・、情報Xn−1に関連する部分行列において、最低列重みを3となり」、以上の条件を満した、符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)とすることで、「イレギュラーLDPC符号」を生成することができ、高い誤り訂正能力を得ることができる。
実施の形態1、実施の形態6、実施の形態A2等の説明から、これを実現するために、上記で記載した、vk,1およびvk,2(kは、1以上n−1以下の整数)は、以下の条件を満たすとよい。
<条件B2−11−1>
・「mの約数のうち、1を除いた、約数の集合をR」としたとき、vk,1はRに属してはならない。
<条件B2−11−2>
・「mの約数のうち、1を除いた、約数の集合をR」としたとき、vk,2はRに属してはならない。
さらに、以下の条件を満たしてもよい。
<条件B2−12−1>
・vk,1は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1/w=g(gは自然数)を満たす、すべてのwを抽出した集合をSとしたとき、R∩Sは空集合である。なお、集合Rは<条件B2−11−1>で定義している。
<条件B2−12−2>
・vk,2は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2/w=g(gは自然数)を満たす、すべてのwを抽出した集合をSとしたとき、R∩Sは空集合である。なお、集合Rは<条件B2−11−2>で定義している。
なお、<条件B2−12−1>、<条件B2−12−2>を別の表現をすると、<条件B2−12−1’>、<条件B2−12−2’>となる。
<条件B2−12−1’>
・vk,1は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1の約数の集合をSとしたとき、R∩Sは空集合である。
<条件B2−12−2’>
・vk,2は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2の約数の集合をSとしたとき、R∩Sは空集合である。
なお、<条件B2−12−1><条件B2−12−1’>を別の表現をすると、<条件B2−12−1”>となり、<条件B2−12−2><条件B2−12−2’>を別の表現をすると、<条件B2−12−2”>。
<条件B2−12−1”>
・vk,1は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1とmの最大公約数が1である。
<条件B2−12−2”>
・vk,2は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2とmの最大公約数が1である。
符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)を形成するためのパリティ検査多項式として、式(B85)および式(B86)をあつかった。以下では、高い誤り訂正能力を得るための、パリティ検査多項式の式(B85)および式(B86)の条件の例について説明する。
上述で説明したように、式(B85)の0を満たすパリティ検査多項式は、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのベースとなる符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC−CCの0を満たすi番目(iは0以上m−1以下の整数)のパリティ検査多項式となり、式(B86)の0を満たすパリティ検査多項式は、提案する符号化率R=(n−1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第1行目のベクトルを生成するための0を満たすパリティ検査多項式となる。
<条件B2−13−1>
「a1,0,1%m=a1,1,1%m=a1,2,1%m=a1,3,1%m=・・・=a1,g,1%m=・・・=a1,m−2,1%m=a1,m−1,1%m=v1,1 (v1,1:固定値)」
「a1,0,2%m=a1,1,2%m=a1,2,2%m=a1,3,2%m=・・・=a1,g,2%m=・・・=a1,m−2,2%m=a1,m−1,2%m=v1,2 (v1,2:固定値)」
「a1,0,3%m=a1,1,3%m=a1,2,3%m=a1,3,3%m=・・・=a1,g,3%m=・・・=a1,m−2,3%m=a1,m−1,3%m=v1,3 (v1,3:固定値)」
(gは0以上m−1以下の整数)
同様に、図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X2に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B2−13−2>
「a2,0,1%m=a2,1,1%m=a2,2,1%m=a2,3,1%m=・・・=a2,g,1%m=・・・=a2,m−2,1%m=a2,m−1,1%m=v2,1
(v2,1:固定値)」
「a2,0,2%m=a2,1,2%m=a2,2,2%m=a2,3,2%m=・・・=a2,g,2%m=・・・=a2,m−2,2%m=a2,m−1,2%m=v2,2
(v2,2:固定値)」
「a2,0,3%m=a2,1,3%m=a2,2,3%m=a2,3,3%m=・・・=a2,g,3%m=・・・=a2,m−2,3%m=a2,m−1,3%m=v2,3
(v2,3:固定値)」
(gは0以上m−1以下の整数)
・
・
・
一般化すると、図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xkに関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。(kは、1以上n−1以下の整数)
<条件B2−13−k>
「ak,0,1%m=ak,1,1%m=ak,2,1%m=ak,3,1%m=・・・=ak,g,1%m=・・・=ak,m−2,1%m=ak,m−1,1%m=vk,1
(vk,1:固定値)」
「ak,0,2%m=ak,1,2%m=ak,2,2%m=ak,3,2%m=・・・=ak,g,2%m=・・・=ak,m−2,2%m=ak,m−1,2%m=vk,2
(vk,2:固定値)」
「ak,0,3%m=ak,1,3%m=ak,2,3%m=ak,3,3%m=・・・=ak,g,3%m=・・・=ak,m−2,3%m=ak,m−1,3%m=vk,3
(vk,3:固定値)」
(gは0以上m−1以下の整数)
・
・
・
同様に、図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xn−1に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B2−13−(n−1)>
「an−1,0,1%m=an−1,1,1%m=an−1,2,1%m=an−1,3,1%m=・・・=an−1,g,1%m=・・・=an−1,m−2,1%m=an−
1,m−1,1%m=vn−1,1 (vn−1,1:固定値)」
「an−1,0,2%m=an−1,1,2%m=an−1,2,2%m=an−1,3,2%m=・・・=an−1,g,2%m=・・・=an−1,m−2,2%m=an−1,m−1,2%m=vn−1,2 (vn−1,2:固定値)」
「an−1,0,3%m=an−1,1,3%m=an−1,2,3%m=an−1,3,3%m=・・・=an−1,g,3%m=・・・=an−1,m−2,3%m=an−1,m−1,3%m=vn−1,3 (vn−1,3:固定値)」
(gは0以上m−1以下の整数)
なお、上記において、「%」はmoduloを意味する、つまり、「α%m」は、αをmで除算したときの余りを示す。<条件B2−13−1>から<条件B2−13−(n−1)>を別の表現をすると、以下のように表現することができる。なお、jは1、2、3である。
<条件B2−13’−1>
「a1,g,j%m=v1,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(v1,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでa1,g,j%m=v1,j(v1,j:固定値)が成立する。)
<条件B2−13’−2>
「a2,g,j%m=v2,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(v2,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでa2,g,j%m=v2,j(v2,j:固定値)が成立する。)
・
・
・
一般化すると、以下のようになる。
<条件B2−13’−k>
「ak,g,j%m=vk,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(vk,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでak,g,j%m=vk,j(vk,j:固定値)が成立する。)
(kは、1以上n−1以下の整数)
・
・
・
<条件B2−13’−(n−1)>
「an−1,g,j%m=vn−1,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(vn−1,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでan−1,g,j%m=vn−1,j(vn−1,j:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件B2−14−1>
「v1,1≠v1,2、v1,1≠v1,3、v1,2≠v1,3が成立する。」
<条件B2−14−2>
「v2,1≠v2,2、v2,1≠v2,3、v2,2≠v2,3が成立する。」
・
・
・
一般化すると、以下のようになる。
<条件B2−14−k>
「vk,1≠vk,2、vk,1≠vk,3、vk,2≠vk,3が成立する。」
(kは、1以上n−1以下の整数)
・
・
・
<条件B2−14−(n−1)>
「vn−1,1≠vn−1,2、vn−1,1≠vn−1,3、vn−1,2≠vn−1,3が成立する。」
このようにすることで、「図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X1に関連する部分行列、情報X2に関連する部分行列、・・・、情報Xn−1に関連する部分行列において、最低列重みを3となり」、以上の条件を満した、符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)とすることで、「イレギュラーLDPC符号」を生成することができ、高い誤り訂正能力を得ることができる。
(実施の形態B3)
本実施の形態では、実施の形態A3で述べた符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列の具体的な構成例について説明する。
実施の形態A3で説明したように、提案する符号化率R=(n−1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproとすると、Hproの列数はn×m×zとあらわすことができる(zは自然数)。(なお、mは、ベースとなる符号化率R=(n−1)/n、パリティ検査多項式に基づくLDPC−CCの時変周期である。)
よって、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)の第sブロックのn×m×zのビット数で構成される送信系列(符号化系列(符号語))vsはvs=(Xs,1,1、Xs,2,1、・・・、Xs,n−1,1、Ppro,s,1、Xs,1,2、Xs,2,2、・・・、Xs,n−1,2、Ppro,s,2、・・・、Xs,1,m×z−1、Xs,2,m×z−1、・・・、Xs,n−1,m×z−1、Ppro,s,m×z−1、Xs,1,m×z、Xs,2,m×z、・・・、Xs,n−1,m×z、Ppro,s,m×z)T=(λpro,s,1、λpro,s,2、・・・、λpro,s,m×z−1、λpro,s,m×z)Tとあらわすことができ、Hprovs=0が成立する(このとき、「Hprovs=0(ゼロ)」は、全ての要素が0(ゼロ)のベクトルであることを意味する)。なお、Xs,j,kは情報Xjのビットであり(jは1以上n−1以下の整数)、Ppro,s,kは提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティのビットであり、λpro,s,k=(Xs,1,k、Xs,2,k、・・・、Xs,n−1,k、Ppro,s,k)である(したがって、n=2のとき、λpro,s,k=(Xs,1,k、Ppro,s,k)となり、n=3のとき、λpro,s,k=(Xs,1,k、Xs,2,k、Ppro,s,k)となり、n=4のとき、λpro,s,k=(Xs,1,k、Xs,2,k、Xs,3,k、Ppro,s,k)となり、n=5のとき、λpro,s,k=(Xs,1,k、Xs,2,k、Xs,3,k、Xs,4,k、Ppro,s,k)となり、n=6のとき、λpro,s,k=(Xs,1,k、Xs,2,k、Xs,3,k、Xs,4,k、Xs,5,k、Ppro,s,k)となる。)。ただし、k=1、2、・・・、m×z−1、m×z、つまり、kは1以上m×z以下の整数である。また、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの行数は、m×zとなる。
本実施の形態では、式(A8)で示した、i番目の0を満たすパリティ検査多項式を次式のようにあらわす。
0番目:「第0番目の0を満たすパリティ検査多項式」
1番目:「第1番目の0を満たすパリティ検査多項式」
2番目:「第2番目の0を満たすパリティ検査多項式」
・
・
・
e番目:「第e番目の0を満たすパリティ検査多項式」
・
・
・
m×z−2番目:「第m×z−2番目の0を満たすパリティ検査多項式」
m×z−1番目:「第m×z−1番目の0を満たすパリティ検査多項式」
の順に並べられていることになり、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)の第sブロックの送信系列(符号化系列(符号語))vsを得ることになる。(なお、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproのe+1行で構成されるベクトルが、「第e番目の0を満たすパリティ検査多項式」に相当する。(実施の形態A3参照)
上述の説明、および、実施の形態A3から、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)において、
第0番目の0を満たすパリティ検査多項式は、「式(B87)の0を満たす0番目のパリティ検査多項式」であり、
第1番目の0を満たすパリティ検査多項式は、「式(B87)の0を満たす1番目のパリティ検査多項式」であり、
第2番目の0を満たすパリティ検査多項式は、「式(B87)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第α―1番目の0を満たすパリティ検査多項式は、「式(B88)の0を満たすパリティ検査多項式」であり、
・
・
・
第m×z−2番目の0を満たすパリティ検査多項式は、「式(B87)の0を満たすm−2番目のパリティ検査多項式」であり、
第m×z−1番目の0を満たすパリティ検査多項式は、「式(B87)の0を満たすm−1番目のパリティ検査多項式」
となる。つまり、
「第α―1番目の0を満たすパリティ検査多項式は、「式(B88)の0を満たすパリティ検査多項式」であり、eが0以上m×z−1の整数であり、e≠α―1のとき、第e番目の0を満たすパリティ検査多項式は、「式(B87)の0を満たすe%m番目のパリティ検査多項式」
となる。
本実施の形態では、上述の場合のパリティ検査行列の構成について、詳しく説明する。
上述で述べたように、式(B87)と式(B88)により定義することができる提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)の第fブロックのn×m×zのビット数で構成される送信系列(符号化系列(符号語))vfはvf=(Xf,1,1、Xf,2,1、・・・、Xf,n−1,1、Ppro,f,1、Xf,1,2、Xf,2,2、・・・、Xf,n−1,2、Ppro,f,2、・・・、Xf,1,m×z−1、Xf,2,m×z−1、・・・、Xf,n−1,m×z−1、Ppro,f,m×z−1、Xf,1,m×z、Xf,2,m×z、・・・、Xf,n−1,m×z、Ppro,f,m×z)T=(λpro,f,1、λpro,f,2、・・・、λpro,f,m×z−1、λpro,f,m×z)Tとあらわすことができ、Hprovf=0が成立する(このとき、「Hprovf=0(ゼロ)」は、全ての要素が0(ゼロ)のベクトルであることを意味する)。なお、Xf,j,kは情報Xjのビットであり(jは1以上n−1以下の整数)、Ppro,f,kは提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティのビットであり、λpro,f,k=(Xf,1,k、Xf,2,k、・・・、Xf,n−1,k、Ppro,f,k)である(したがって、n=2のとき、λpro,f,k=(Xf,1,k、Ppro,f,k)となり、n=3のとき、λpro,f,k=(Xf,1,k、Xf,2,k、Ppro,f,k)となり、n=4のとき、λpro,f,k=(Xf,1,k、Xf,2,k、Xf,3,k、Ppro,f,k)となり、n=5のとき、λpro,f,k=(Xf,1,k、Xf,2,k、Xf,3,k、Xf,4,k、Ppro,f,k)となり、n=6のとき、λpro,f,k=(Xf,1,k、Xf,2,k、Xf,3,k、Xf,4,k、Xf,5,k、Ppro,f,k)となる。)。ただし、k=1、2、・・・、m×z−1、m×z、つまり、kは1以上m×z以下の整数である。また、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの行数は、m×zとなる(zは自然数)。なお、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの行数はm×zであることから、パリティ検査行列をHproには、第1行から第m×z行が存在することになる。そして、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの列数はn×m×zであることから、パリティ検査行列をHproには、第1列から第n×m×z列が存在することになる。
そして、第fブロック内には、時点1からm×zまで存在する。(なお、この点については、実施の形態A3でも同様である。)上述において、kが「時点」を表現していることになる。したがって、時点kの情報X1、X2,、・・・、Xn−1およびパリティPproは、λpro,f,k=(Xf,1,k、Xf,2,k、・・・、Xf,n−1,k、Ppro,f,k)となる。
提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのベースとなる符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC−CCのi番目(iは0以上m−1以下の整数)のパリティ検査多項式である式(B87)に対応するサブ行列(ベクトル)をHiとすると、第iサブ行列は次式のようにあらわすことができる。
上記で定義した送信系列vfに対応する改良したテイルバイティングを行った際の、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproのうち、時点m×z近辺のパリティ検査行列Hproを図130に示す。図130に示すように、パリティ検査行列Hproにおいて、第δ行と第δ+1行とでは、サブ行列がn列右にシフトした構成となる(図130参照)。
次に、送信系列の順番を入れ替え、vf=(・・・、Xf,1,m×z−1、Xf,2,m×z−1、・・・、Xf,n−1,m×z−1、Ppro,f,m×z−1、Xf,1,m×z、Xf,2,m×z、・・・、Xf,n−1,m×z、Ppro,f,m×z、Xf,1,1、Xf,2,1、・・・、Xf,n−1,1、Ppro,f,1、Xf,1,2、Xf,2,2、・・・、Xf,n−1,2、Ppro,f,2、・・・)Tに対応するパリティ検査行列のうち時点m×z−1、m×z、1、2近辺のパリティ検査行列の一例を図138に示す。なお、図138において、図131と同様の番号を付している。このとき、図138で示したパリティ検査行列の部分が、改良したテイルバイティングを行ったときの特徴的な部分となる。図138に示すように、送信系列の順番を入れ替えたときのパリティ検査行列Hproにおいて、第δ行と第δ+1行とでは、サブ行列がn列右にシフトした構成となる(図138参照)。
符号13107は時点m×z−1に相当する列群を示しており、符号13107の列群は、Xf,1,m×z−1に対応する列、Xf,2,m×z−1に対応する列、・・・、Xf,n−1,m×z−1に対応する列、Ppro,f,m×z−1に対応する列の順に並んでいる。符号13108は時点m×zに相当する列群を示しており、符号13108の列群は、Xf,1,m×zに対応する列、Xf,2,m×zに対応する列、・・・、Xf,n−1,m×zに対応する列、Ppro,f,m×zに対応する列の順に並んでいる。符号13109は時点1に相当する列群を示しており、符号13109の列群は、Xf,1,1に対応する列、Xf,2,1に対応する列、・・・、Xf,n−1,1に対応する列、Ppro,f,1に対応する列の順に並んでいる。符号13110は時点2に相当する列群を示しており、符号13110の列群は、Xf,1,2に対応する列、Xf,2,2に対応する列、・・・、Xf,n−1,2に対応する列、Ppro,f,2に対応する列の順に並んでいる。
そして、図130のようにあらわした、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproのe+1行で構成されるベクトル(ただし、eは、e≠α−1を満たす、0以上m×z−1以下の整数とする。)は、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのベースとなる符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC−CCのi番目(iは0以上m−1以下の整数)のパリティ検査多項式である式(B87)のうちの、e%m番目の0を満たすパリティ検査多項式に相当するベクトルとなる。
上述では、第f番目のブロックの送信系列(符号化系列(符号語))vfはvf=(Xf,1,1、Xf,2,1、・・・、Xf,n−1,1、Ppro,f,1、Xf,1,2、Xf,2,2、・・・、Xf,n−1,2、Ppro,f,2、・・・、Xf,1,m×z−1、Xf,2,m×z−1、・・・、Xf,n−1,m×z−1、Ppro,f,m×z−1、Xf,1,m×z、Xf,2,m×z、・・・、Xf,n−1,m×z、Ppro,f,m×z)T=(λpro,f,1、λpro,f,2、・・・、λpro,f,m×z−1、λpro,f,m×z)Tであり、Hprovf=0(なお、「Hprovf=0(ゼロ)の「0(ゼロ)」」は、全ての要素が0(ゼロ)のベクトルであることを意味する。)が成立する提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hproの構成について説明したが、以降では、第f番目のブロックの送信系列(符号化系列(符号語))ufはuf=(Xf,1,1、Xf,1,2、・・・、Xf,1,m×z、Xf,2,1、Xf,2,2、・・・、Xf,2,m×z、・・・、Xf,n−2,1、Xf,n−2,2、・・・、Xf,n−2,m×z、Xf,n−1,1、Xf,n−1,2、・・・、Xf,n−1,m×z、Ppro,f,1、Ppro,f,2、・・・、Ppro,f,m×z)T=(ΛX1,f、ΛX2,f、ΛX3,f、・・・、ΛXn−2,f、ΛXn−1,f、Λpro,f)Tとあらわされたとき、Hpro_muf=0(なお、「Hpro_muf=0(ゼロ)の「0(ゼロ)」は、全ての要素が0(ゼロ)のベクトルであることを意味する。)が成立する提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mの構成について説明する。
部分行列(kは1以上n−1以下の整数))、HpはパリティPproに関連する部分行列となり、図132に示すように、パリティ検査行列Hpro_mは、m×z行、n×m×z列の行列となり、情報X1に関連する部分行列Hx,1は、m×z行、m×z列の行列、情報X2に関連する部分行列Hx,2は、m×z行、m×z列の行列、・・・、情報Xn−2に関連する部分行列Hx,n−2は、m×z行、m×z列の行列、情報Xn−1に関連する部分行列Hx,n−1は、m×z行、m×z列の行列(したがって、情報Xkに関連する部分行列Hx,kは、m×z行、m×z列の行列(kは1以上n−1以下の整数))、パリティPproに関連する部分行列Hpは、m×z行、m×z列の行列となる。
0番目:「第0番目の0を満たすパリティ検査多項式」
1番目:「第1番目の0を満たすパリティ検査多項式」
2番目:「第2番目の0を満たすパリティ検査多項式」
・
・
・
e番目:「第e番目の0を満たすパリティ検査多項式」
・
・
・
m×z−2番目:「第m×z−2番目の0を満たすパリティ検査多項式」
m×z−1番目:「第m×z−1番目の0を満たすパリティ検査多項式」
の順に並べられていることになり、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)の第fブロックの送信系列(符号化系列(符号語))ufを得ることになる。(なお、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mのe+1行で構成されるベクトルが、「第e番目の0を満たすパリティ検査多項式」に相当する。(実施の形態A3と同様である。)
よって、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)において、
第0番目の0を満たすパリティ検査多項式は、「式(B87)の0を満たす0番目のパリティ検査多項式」であり、
第1番目の0を満たすパリティ検査多項式は、「式(B87)の0を満たす1番目のパリティ検査多項式」であり、
第2番目の0を満たすパリティ検査多項式は、「式(B87)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第α―1番目の0を満たすパリティ検査多項式は、「式(B88)の0を満たすパリティ検査多項式」であり、
・
・
・
第m×z−2番目の0を満たすパリティ検査多項式は、「式(B87)の0を満たすm−2番目のパリティ検査多項式」であり、
第m×z−1番目の0を満たすパリティ検査多項式は、「式(B87)の0を満たすm−1番目のパリティ検査多項式」
となる。つまり、
「第α―1番目の0を満たすパリティ検査多項式は、「式(B88)の0を満たすパリティ検査多項式」であり、eが0以上m×z−1の整数であり、e≠α―1のとき、第e番目の0を満たすパリティ検査多項式は、「式(B87)の0を満たすe%m番目のパリティ検査多項式」
となる。
図139は、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの構成を示している。
・
・
提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの第m−1行目を構成するベクトルは、第m−2番目の0を満たすパリティ検査多項式、つまり、「式(B87)の0を満たすm−2番目のパリティ検査多項式」のパリティに関連する項から生成することができる。
・
・
提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの第α行目を構成するベクトルは、第α−1番目の0を満たすパリティ検査多項式、つまり、「式(B88)の0を満たすパリティ検査多項式」のパリティに関連する項から生成することができる。
・
・
提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの第m×z−1行目を構成するベクトルは、第m×z−2番目の0を満たすパリティ検査多項式、つまり、「式(B87)の0を満たすm−2番目のパリティ検査多項式」のパリティに関連する項から生成することができる。
「提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの第α行目を構成するベクトルは、第α−1番目の0を満たすパリティ検査多項式、つまり、「式(B88)の0を満たすパリティ検査多項式」のパリティに関連する項から生成することができ、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの第e+1行目(eは、e≠α―1を満たす、0以上m×z−1の整数)を構成するベクトルは、第e番目の0を満たすパリティ検査多項式、つまり、「式(B87)の0を満たすe%m番目のパリティ検査多項式」のパリティに関連する項から生成することができる。」
なお、mは、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのベースとなる符号化率R=(n−1)/nのパリティ検査多項式に基づくLDPC−CCの時変周期である。
図139に提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの構成を示す。提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpのi行j列の要素をHp,comp[i][j](iおよびjは1以上m×z以下の整数(i、j=1、2、3、・・・、m×z−1、m×z))とあらわすものとする。すると、以下が成立する。
したがって、パリティPproに関連する部分行列Hpの第α行目において、要素が「1」を満たす場合は、
[j]において、式(B94)、式(B95−1,B95−2)以外の要素は「0」なる。つまり、s−b1,k≧1の場合、j≠s、かつ、j≠s−b1,kを満たす、すべてのj(ただし、jは1以上m×z以下の整数)において、Hp,comp[s][j]=0となる。s−b1,k<1の場合、j≠s、かつ、j≠s−b1,k+m×zを満たす、すべてのj(ただし、jは1以上m×z以下の整数)において、Hp,comp[s][j]=0となる。
また、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの行と、式(B87)、および、式(B88)のパリティ検査多項式の関係は、図139に示したようになり、この点は、実施の形態A3等で説明した図129と同様である。
次に、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおける情報Xqに関連する部分行列Hx,qの各要素の値について説明する(qは1以上n−1以下の整数)。
図140に示すように、「提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおける情報Xqに関連する部分行列Hx,qの第α行目を構成するベクトルは、第α−1番目の0を満たすパリティ検査多項式、つまり、「式(B88)の0を満たすパリティ検査多項式」の情報Xqに関連する項から生成することができ、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおける情報Xqに関連する部分行列Hx,qの第e+1行目(eは、e≠α―1を満たす、0以上m×z−1の整数)を構成するベクトルは、第e番目の0を満たすパリティ検査多項式、つまり、「式(B87)の0を満たすe%m番目のパリティ検査多項式」の情報Xqに関連する項から生成することができる。」
提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおける情報X1に関連する部分行列Hx,1のi行j列の要素をHx,1,comp[i][j](iおよびjは1以上m×z以下の整数(i、j=1、2、3、・・・、m×z−1、m×z))とあらわすものとする。すると、以下が成立する。
したがって、情報X1に関連する部分行列Hx,1の第α行目において、要素が「1」を満たす場合は、
提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCにおいて、0を満たすパリティ検査多項式が、式(B87)および式(B88)を満たすとき、情報X1に関連する部分行列Hx,1の第s行目において、(sは、s≠αを満たす、1以上m×z以下の整数)(s−1)%m=k(%はモジュラ演算(modulo)を示す。)とすると、情報X1に関連する部分行列Hx,1の第s行目に関連するパリティ検査多項式は、式(B87)から、式(B93)とあらわされる。
また、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおける情報X1に関連する部分行列Hx,1の行と、式(B87)、および、式(B88)のパリティ検査多項式の関係は、図140(なお、q=1)に示したようになり、この点は、実施の形態A3等で説明した図129と同様である。
上述では、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおける情報X1に関連する部分行列Hx,1の構成について説明したが、以下では、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおける情報Xq(qは1以上n−1以下の整数)に関連する部分行列Hx,qの構成について説明する。(部分行列Hx,qの構成は、上述の部分行列Hx,1の説明と同様に、説明することができる。)
提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおける情報Xqに関連する部分行列Hx,qの構成は、図140のとおりである。
したがって、情報Xqに関連する部分行列Hx,qの第α行目において、要素が「1」を満たす場合は、
提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCにおいて、0を満たすパリティ検査多項式が、式(B87)および式(B88)を満たすとき、情報Xqに関連する部分行列Hx,qの第s行目において、(sは、s≠αを満たす、1以上m×z以下の整数)(s−1)%m=k(%はモジュラ演算(modulo)を示す。)とすると、情報Xqに関連する部分行列Hx,qの第s行目に関連するパリティ検査多項式は、式(B87)から、式(B93)とあらわされる。
したがって、情報Xqに関連する部分行列Hx,qの第s行目において、要素が「1」を満たす場合は、
また、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおける情報Xqに関連する部分行列Hx,qの行と、式(B87)、および、式(B88)のパリティ検査多項式の関係は、図140に示したようになり、この点は、実施の形態A3等で説明した図129と同様である。
上記では、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mの構成について説明した。以下では、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mと等価なパリティ検査行列の生成方法について説明する。(なお、実施の形態17等の説明にもとづいている。)
図105は、符号化率(N−M)/N(N>M>0)のLDPC(ブロック)符号のパリティ検査行列Hの構成を示しており、例えば、図105のパリティ検査行列は、M行N列の行列となる。そして、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mを、図105のパリティ検査行列Hであらわすものとする。(したがって、Hpro_m=(図105の)Hとなる。以下では、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列をHと記載することにする。)
図105において、第j番目のブロックの送信系列(符号語)vj T=(Yj,1、Yj,2、Yj,3、・・・、Yj,N−2、Yj,N−1、Yj,N)とする(組織符号の場合、Yj,k(kは1以上N以下の整数)は、情報(X1からXn−1)またはパリティとなる。
そして、第j番目のブロックの送信系列vjの第k行目(ただし、kは、1以上N以下の整数)の要素(図105において、送信系列vjの転置行列vj Tの場合、第k列目の要素)は、Yj,kであるとともに、符号化率(N−M)/N(N>M>0)のLDPC(ブロック)符号のパリティ検査行列(つまり、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列)Hの第k列目を抽出したベクトルを図105のようにckとあらわす。このとき、LDPC(ブロック)符号のパリティ検査行列(つまり、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列)Hは、以下のようにあらわされる。
よって、送信系列(符号語)v’j=(Yj,32、Yj,99、Yj,23、・・・、Yj,234、Yj,3、Yj,43)Tとした場合のパリティ検査行列H’は、以下のようにあらわされる。
例えば、蓄積および並び替え部(デインタリーブ部)10802は、Yj,32の対数尤度比、Yj,99の対数尤度比、Yj,23の対数尤度比、・・・、Yj,234の対数尤度比、Yj,3の対数尤度比、Yj,43の対数尤度比を入力とし、並び替えを行い、Yj,1の対数尤度比、Yj,2の対数尤度比、Yj,3の対数尤度比、・・・、Yj,N−2の対数尤度比、Yj,N−1の対数尤度比、Yj,Nの対数尤度比の順に出力するものとする。
例えば、送信装置が、第jブロックの送信系列(符号語)v’j=(Yj,32、Yj,99、Yj,23、・・・、Yj,234、Yj,3、Yj,43)Tを送信したものとする。すると、各ビットの対数尤度比計算部10800は、受信信号から、Yj,32の対数尤度比、Yj,99の対数尤度比、Yj,23の対数尤度比、・・・、Yj,234の対数尤度比、Yj,3の対数尤度比、Yj,43の対数尤度比を計算し、出力することになる(図108の10806に相当)。
したがって、符号化率(n−1)/nの提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCの送信系列(符号語)に対し、インタリーブを施した場合、上述のように、符号化率(n−1)/nの提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列に対し、列並び替え(列置換)を行った行列が、インタリーブを施した送信系列(符号語)のパリティ検査行列を受信装置は用いることで、得られた各ビットの対数尤度比に対し、デインタリーブを行わなくても、信頼度伝播復号を行い、推定系列を得ることができる。
上述では、送信系列のインタリーブとパリティ検査行列の関係について説明したが、以降では、パリティ検査行列における行並び替え(行置換)について説明する。
図109は、符号化率(N−M)/NのLDPC(ブロック)符号の第j番目のブロックの送信系列(符号語)vj T=(Yj,1、Yj,2、Yj,3、・・・、Yj,N−2、Yj,N−1、Yj,N)に対応するパリティ検査行列Hの構成を示している。例えば、図109のパリティ検査行列は、M行N列の行列となる。そして、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mを、図109のパリティ検査行列Hであらわすものとする。(したがって、Hpro_m=(図109の)Hとなる。以下では、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列をHと記載することにする。)(組織符号の場合、Yj,k(kは1以上N以下の整数)は、情報XまたはパリティP(パリティPpro)となる。そして、Yj,kは、(N−M)個の情報とM個のパリティで構成されていることになる。)。このとき、Hvj=0が成立する。(なお、ここでの「Hvj=0の0(ゼロ)」は、全ての要素が0のベクトルであることを意味する。つまり、すべてのk(kは1以上M以下の整数)において、第k行の値は0である。)
そして、図109のパリティ検査行列Hの第k行目(kは1以上M以下の整数)を抽出したベクトルをzkとあらわす。このとき、LDPC(ブロック)符号のパリティ検査行列(つまり、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列)Hは、以下のようにあらわされる。
図110は図109のパリティ検査行列Hに対し、行並び替え(行置換)を行ったパリティ検査行列H’の一例を示しており、パリティ検査行列H’は、図109と同様、符号化率(N−M)/NのLDPC(ブロック)符号(つまり、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC)の第j番目のブロックの送信系列(符号語)vj T=(Yj,1、Yj,2、Yj,3、・・・、Yj,N−2、Yj,N−1、Yj,N)に対応するパリティ検査行列(つまり、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列)となる。
つまり、第j番目のブロックの送信系列vj Tのとき、図110のパリティ検査行列H’の第i行目を抽出したベクトルは、ベクトルck(kは1以上M以下の整数)のいずれかであらわされ、図110のパリティ検査行列H’の第k行目(kは1以上M以下の整数)を抽出したM個の行ベクトルには、z1、z2、z3、・・・zM−2、zM−1、zM、がそれぞれ一つ存在することになる。
また、実施の形態A3で説明した提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列に対し、上述で説明した列並び替え(列置換)および行並び替え(行置換)の両者を施すことにより得た行列をパリティ検査行列としてもよい。
また、実施の形態A3で説明した提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列に対し、1回目の列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H1,1を得る。そして、パリティ検査行列H1,1に対し、1回目の行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H2,1を得る。
以上のような、列並び替え(列置換)、および、行並び替え(行置換)をs(sは2以上の整数)回繰り返して、パリティ検査行列H2,sを得る。このとき、パリティ検査行列H2,k−1に対し、k(kは2以上s以下の整数)回目の列並び替え(列置換)を行い、パリティ検査行列H1,kを得る。そして、パリティ検査行列H1,kに対し、k回目の行並び替え(行置換)を行い、パリティ検査行列H2,kを得ることになる。なお、1回目については、実施の形態A3で説明した提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列に対し、1回目の列並び替え(列置換)を行い、パリティ検査行列H1,1を得る。そして、パリティ検査行列H1,1に対し、1回目の行並び替え(行置換)を行い、パリティ検査行列H2,1を得ることになる。
別の方法として、実施の形態A3で説明した提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列に対し、行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H3を得る。そして、パリティ検査行列H3に対し、列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H4を得、送信装置、および、受信装置は、パリティ検査行列H4を用いて、符号化、復号化を行ってもよい。
また、実施の形態A3で説明した提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列に対し、1回目の行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H3,1を得る。そして、パリティ検査行列H3,1に対し、1回目の列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H4,1を得る。
以上のような、行並び替え(行置換)、および、列並び替え(列置換)をs(sは2以上の整数)回繰り返して、パリティ検査行列H4,sを得る。このとき、パリティ検査行列H4,k−1に対し、k(kは2以上s以下の整数)回目の行並び替え(行置換)を行い、パリティ検査行列H3,kを得る。そして、パリティ検査行列H3,kに対し、k回目の列並び替え(列置換)を行い、パリティ検査行列H4,kを得ることになる。なお、1回目については、実施の形態A3で説明した提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列に対し、1回目の行並び替え(行置換)を行い、パリティ検査行列H3,1を得る。そして、パリティ検査行列H3,1に対し、1回目の列並び替え(列置換)を行い、パリティ検査行列H4,1を得ることになる。
なお、パリティ検査行列H2、パリティ検査行列H2,s、パリティ検査行列H4、パリティ検査行列H4,sいずれも、行並び替え(行置換)および列並び替え(列置換)を行うと、実施の形態A3で説明した提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列、または、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCの図130、図131、図139、図140を用いて説明したパリティ検査行列を得ることができる。
同様に、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCの図130、図131、図139、図140を用いて説明したパリティ検査行列に対し、上述で説明した列並び替え(列置換)および行並び替え(行置換)の両者を施すことにより得た行列をパリティ検査行列としてもよい。
また、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCの図130、図131、図139、図140を用いて説明したパリティ検査行列に対し、1回目の列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H5,1を得る。そして、パリティ検査行列H5,1に対し、1回目の行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H6,1を得る。
以上のような、列並び替え(列置換)、および、行並び替え(行置換)をs(sは2以上の整数)回繰り返して、パリティ検査行列H6,sを得る。このとき、パリティ検査行列H6,k−1に対し、k(kは2以上s以下の整数)回目の列並び替え(列置換)を行い、パリティ検査行列H5,kを得る。そして、パリティ検査行列H5,kに対し、k回目の行並び替え(行置換)を行い、パリティ検査行列H6,kを得ることになる。なお、1回目については、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCの図130、図131、図139、図140を用いて説明したパリティ検査行列に対し、1回目の列並び替え(列置換)を行い、パリティ検査行列H5,1を得る。そして、パリティ検査行列H5,1に対し、1回目の行並び替え(行置換)を行い、パリティ検査行列H6,1を得ることになる。
別の方法として、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCの図130、図131、図139、図140を用いて説明したパリティ検査行列に対し、行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H7を得る。そして、パリティ検査行列H7に対し、列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H8を得、送信装置、および、受信装置は、パリティ検査行列H8を用いて、符号化、復号化を行ってもよい。
また、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCの図130、図131、図139、図140を用いて説明したパリティ検査行列に対し、1回目の行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H7,1を得る。そして、パリティ検査行列H7,1に対し、1回目の列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H8,1を得る。
以上のような、行並び替え(行置換)、および、列並び替え(列置換)をs(sは2以上の整数)回繰り返して、パリティ検査行列H8,sを得る。このとき、パリティ検査行列H8,k−1に対し、k(kは2以上s以下の整数)回目の行並び替え(行置換)を行い、パリティ検査行列H7,kを得る。そして、パリティ検査行列H7,kに対し、k回目の列並び替え(列置換)を行い、パリティ検査行列H8,kを得ることになる。なお、1回目については、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCの図130、図131、図139、図140を用いて説明したパリティ検査行列に対し、1回目の行並び替え(行置換)を行い、パリティ検査行列H7,1を得る。そして、パリティ検査行列H7,1に対し、1回目の列並び替え(列置換)を行い、パリティ検査行列H8,1を得ることになる。
なお、パリティ検査行列H6、パリティ検査行列H6,s、パリティ検査行列H8、パリティ検査行列H8,sいずれも、行並び替え(行置換)および列並び替え(列置換)を行うと、実施の形態A3で説明した提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列、または、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCの図130、図131、図139、図140を用いて説明したパリティ検査行列を得ることができる。
上述の説明では、実施の形態A3で述べた符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列の構成方法の一例を説明した。このとき、符号化率は、R=(n−1)/nであり、nは2以上の整数であり、ベースとなる符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC−CCのi番目(iは0以上m−1以下の整数)のパリティ検査多項式は、式(A8)のようにあらわされる。
したがって、実施の形態A3における、提案する符号化率R=1/2の改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第α行目のベクトルを生成するための0を満たすパリティ検査多項式である式(A25)は次式であらわされることになる。(式(B108)の(α−1)%m番目を利用することになる。)
n=3、つまり、符号化率R=2/3のとき、改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
したがって、実施の形態A3における、提案する符号化率R=2/3の改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第1行目のベクトルを生成するための0を満たすパリティ検査多項式である式(A25)は次式であらわされることになる。(式(B110)の(α−1)%m番目を利用することになる。)
n=4、つまり、符号化率R=3/4のとき、改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
n=5、つまり、符号化率R=4/5のとき、改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
したがって、実施の形態A3における、提案する符号化率R=4/5の改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第α行目のベクトルを生成するための0を満たすパリティ検査多項式である式(A25)は次式であらわされることになる。(式(B114)の(α−1)%m番目を利用することになる。)
n=6、つまり、符号化率R=5/6のとき、改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
n=8、つまり、符号化率R=7/8のとき、改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
n=9、つまり、符号化率R=8/9のとき、改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
n=10、つまり、符号化率R=9/10のとき、改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
なお、本実施の形態において、符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)を形成するためのパリティ検査多項式として、式(B87)および式(B88)をあつかったが、パリティ検査多項式は、式(B87)、式(B88)に限ったものではない。例えば、符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のベースとなる符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC−CCのi番目(iは0以上m−1以下の整数)のパリティ検査多項式として、式(B87)の代わりに次式を扱ってもよい。
そして、高い誤り訂正能力を得るために、pは1以上n−1以下の整数、iは0以上m−1以下の整数であり、これを満たす、すべてのp、すべてのiにおいて、rp,iを1以上に設定するとよい。
したがって、実施の形態A3における、提案する符号化率R=(n−1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第α行目のベクトルを生成するための0を満たすパリティ検査多項式である式(A25)は次式であらわされることになる。(式(B128)の(α−1)%m番目を利用することになる。)
「高い誤り訂正能力を得るために、r1、r2、・・・、rn−2、rn−1いずれも3以上に設定する(1以上n−1以下の整数であり、これを満たす、すべてのkにおいてrkは3以上)。つまり、式(B87)において、1以上n−1以下の整数であり、これを満たす、すべてのkにおいて、Xk(D)の項数は4以上となる。」
とした。以下では、r1、r2、・・・、rn−2、rn−1いずれも3以上と設定したとき、高い誤り訂正能力を得るための条件の例について説明する。
「式(B88)において、1以上n−1以下の整数であり、これを満たす、すべてのkにおいて、Xk(D)の項数は4以上となる。」
となる。そして、上述で説明したように、式(B87)の0を満たすパリティ検査多項式は、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのベースとなる符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC−CCの0を満たすi番目(iは0以上m−1以下の整数)のパリティ検査多項式となり、式(B88)の0を満たすパリティ検査多項式は、提案する符号化率R=(n−1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第α行目のベクトルを生成するための0を満たすパリティ検査多項式となる。
<条件B3−1−1>
「a1,0,1%m=a1,1,1%m=a1,2,1%m=a1,3,1%m=・・・=a1,g,1%m=・・・=a1,m−2,1%m=a1,m−1,1%m=v1,1 (v1,1:固定値)」
「a1,0,2%m=a1,1,2%m=a1,2,2%m=a1,3,2%m=・・・=a1,g,2%m=・・・=a1,m−2,2%m=a1,m−1,2%m=v1,2 (v1,2:固定値)」
(gは0以上m−1以下の整数)
同様に、図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X2に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B3−1−2>
「a2,0,1%m=a2,1,1%m=a2,2,1%m=a2,3,1%m=・・・=a2,g,1%m=・・・=a2,m−2,1%m=a2,m−1,1%m=v2,1 (v2,1:固定値)」
「a2,0,2%m=a2,1,2%m=a2,2,2%m=a2,3,2%m=・・・=a2,g,2%m=・・・=a2,m−2,2%m=a2,m−1,2%m=v2,2 (v2,2:固定値)」
(gは0以上m−1以下の整数)
・
・
・
一般化すると、図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xkに関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。(kは、1以上n−1以下の整数)
<条件B3−1−k>
「ak,0,1%m=ak,1,1%m=ak,2,1%m=ak,3,1%m=・・・=ak,g,1%m=・・・=ak,m−2,1%m=ak,m−1,1%m=vk,1 (vk,1:固定値)」
「ak,0,2%m=ak,1,2%m=ak,2,2%m=ak,3,2%m=・・・=ak,g,2%m=・・・=ak,m−2,2%m=ak,m−1,2%m=vk,2 (vk,2:固定値)」
(gは0以上m−1以下の整数)
・
・
・
同様に、図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xn−1に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B3−1−(n−1)>
「an−1,0,1%m=an−1,1,1%m=an−1,2,1%m=an−1,3,1%m=・・・=an−1,g,1%m=・・・=an−1,m−2,1%m=an−1,m−1,1%m=vn−1,1 (vn−1,1:固定値)」
「an−1,0,2%m=an−1,1,2%m=an−1,2,2%m=an−1,3,2%m=・・・=an−1,g,2%m=・・・=an−1,m−2,2%m=an−1,m−1,2%m=vn−1,2 (vn−1,2:固定値)」
(gは0以上m−1以下の整数)
なお、上記において、「%」はmoduloを意味する、つまり、「β%m」は、βをmで除算したときの余りを示す。<条件B3−1−1>から<条件B3−1−(n−1)>を別の表現をすると、以下のように表現することができる。なお、jは1、2である。
<条件B3−1’−1>
「a1,g,j%m=v1,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(v1,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでa1,g,j%m=v1,j(v1,j:固定値)が成立する。)
<条件B3−1’−2>
「a2,g,j%m=v2,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(v2,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでa2,g,j%m=v2,j(v2,j:固定値)が成立する。)
・
・
・
一般化すると、以下のようになる。
<条件B3−1’−k>
「ak,g,j%m=vk,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(vk,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでak,g,j%m=vk,j(vk,j:固定値)が成立する。)
(kは、1以上n−1以下の整数)
・
・
・
<条件B3−1’−(n−1)>
「an−1,g,j%m=vn−1,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(vn−1,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでan−1,g,j%m=vn−1,j(vn−1,j:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件B3−2−1>
「v1,1≠0、かつ、v1,2≠0が成立する。」
かつ
「v1,1≠v1,2が成立する。」
<条件B3−2−2>
「v2,1≠0、かつ、v2,2≠0が成立する。」
かつ
「v2,1≠v2,2が成立する。」
・
・
・
一般化すると、以下のようになる。
<条件B3−2−k>
「vk,1≠0、かつ、vk,2≠0が成立する。」
かつ
「vk,1≠vk,2が成立する。」
(kは、1以上n−1以下の整数)
・
・
・
<条件B3−2−(n−1)>
「vn−1,1≠0、かつ、vn−1,2≠0が成立する。」
かつ
「vn−1,1≠vn−1,2が成立する。」
そして、「図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X1から情報Xn−1に関連する部分行列がイレギュラー」でなければならないので、以下の条件を与える。
<条件B3−3−1>
「a1,g,v%m=a1,h,v%m for ∀g∀h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでa1,g,v%m=a1,h,v%mが成立する。)・・・条件#Xa−1
vは3以上r1以下の整数であり、すべてのvで「条件#Xa−1」を満たすことはない。
<条件B3−3−2>
「a2,g,v%m=a2,h,v%m for ∀g∀h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでa2,g,v%m=a2,h,v%mが成立する。)・・・条件#Xa−2
vは3以上r2以下の整数であり、すべてのvで「条件#Xa−2」を満たすことはない。
・
・
・
一般化すると、以下のようになる。
<条件B3−3−k>
「ak,g,v%m=ak,h,v%m for ∀g∀h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでak,g,v%m=ak,h,v%mが成立する。)・・・条件#Xa−k
vは3以上rk以下の整数であり、すべてのvで「条件#Xa−k」を満たすことはない。
(kは、1以上n−1以下の整数)
・
・
・
<条件B3−3−(n−1)>
「an−1,g,v%m=an−1,h,v%m for ∀g∀h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでan−1,g,v%m=an−1,h,v%mが成立する。)・・・条件#Xa−(n−1)
vは3以上rn−1以下の整数であり、すべてのvで「条件#Xa−(n−1)」を満たすことはない。
なお、<条件B3−3−1>から<条件B3−3−(n−1)>を別の表現をすると以下のような条件となる。
<条件B3−3’−1>
「a1,g,v%m≠a1,h,v%m for ∃g∃h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、a1,g,v%m≠a1,h,v%mが成立するg、hが存在する。)・・・条件#Ya−1
vは3以上r1以下の整数であり、すべてのvで「条件#Ya−1」を満たす。
<条件B3−3’−2>
「a2,g,v%m≠a2,h,v%m for ∃g∃h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、a2,g,v%m≠a2,h,v%mが成立するg、hが存在する。)・・・条件#Ya−2
vは3以上r2以下の整数であり、すべてのvで「条件#Ya−2」を満たす。
・
・
・
一般化すると、以下のようになる。
<条件B3−3’−k>
「ak,g,v%m≠ak,h,v%m for ∃g∃h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、ak,g,v%m≠ak,h,v%mが成立するg、hが存在する。)・・・条件#Ya−k
vは3以上rk以下の整数であり、すべてのvで「条件#Ya−k」を満たす。
(kは、1以上n−1以下の整数)
・
・
・
<条件B3−3’−(n−1)>
「an−1,g,v%m≠an−1,h,v%m for ∃g∃h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、an−1,g,v%m≠an−1,h,v%mが成立するg、hが存在する。)・・・条件#Ya−(n−1)
vは3以上rn−1以下の整数であり、すべてのvで「条件#Ya−(n−1)」を満たす。
このようにすることで、「図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X1に関連する部分行列、情報X2に関連する部分行列、・・・、情報Xn−1に関連する部分行列において、最低列重みを3となり」、以上の条件を満した、符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)とすることで、「イレギュラーLDPC符号」を生成することができ、高い誤り訂正能力を得ることができる。
また、実施の形態1、実施の形態6、実施の形態A3等で説明したように、符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)を形成するためのパリティ検査多項式、式(B87)および式(B88)に相当するチェックノードが、ツリーを描いたときに、可能な限り多く出現するとよい可能性がある。
<条件B3−4−1>
・「mの約数のうち、1を除いた、約数の集合をR」としたとき、vk,1はRに属してはならない。
<条件B3−4−2>
・「mの約数のうち、1を除いた、約数の集合をR」としたとき、vk,2はRに属してはならない。
さらに、以下の条件を満たしてもよい。
<条件B3−5−1>
・vk,1は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1/w=g(gは自然数)を満たす、すべてのwを抽出した集合をSとしたとき、R∩Sは空集合である。なお、集合Rは<条件B3−4−1>で定義している。
<条件B3−5−2>
・vk,2は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2/w=g(gは自然数)を満たす、すべてのwを抽出した集合をSとしたとき、R∩Sは空集合である。なお、集合Rは<条件B3−4−2>で定義している。
なお、<条件B3−5−1>、<条件B3−5−2>を別の表現をすると、<条件B3−5−1’>、<条件B3−5−2’>となる。
<条件B3−5−1’>
・vk,1は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1の約数の集合をSとしたとき、R∩Sは空集合である。
<条件B3−5−2’>
・vk,2は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2の約数の集合をSとしたとき、R∩Sは空集合である。
なお、<条件B3−5−1><条件B3−5−1’>を別の表現をすると、<条件B3−5−1”>となり、<条件B3−5−2><条件B3−5−2’>を別の表現をすると、<条件B3−5−2”>。
<条件B3−5−1”>
・vk,1は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1とmの最大公約数が1である。
<条件B3−5−2”>
・vk,2は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2とmの最大公約数が1である。
符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)を形成するためのパリティ検査多項式として、式(B124)および式(B125)をあつかった。以下では、高い誤り訂正能力を得るための、パリティ検査多項式の式(B124)および式(B125)の条件の例について説明する。
「高い誤り訂正能力を得るために、r1、r2、・・・、rn−2、rn−1いずれも4以上に設定する(1以上n−1以下の整数であり、これを満たす、すべてのkにおいてrkは3以上)。つまり、式(B87)において、1以上n−1以下の整数であり、これを満たす、すべてのkにおいて、Xk(D)の項数は4以上となる。」
とした。以下では、r1、r2、・・・、rn−2、rn−1いずれも4以上と設定したとき、高い誤り訂正能力を得るための条件の例について説明する。
「式(B125)において、1以上n−1以下の整数であり、これを満たす、すべてのkにおいて、Xk(D)の項数は4以上となる。」
となる。そして、上述で説明したように、式(B124)の0を満たすパリティ検査多項式は、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのベースとなる符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC−CCの0を満たすi番目(iは0以上m−1以下の整数)のパリティ検査多項式となり、式(B125)の0を満たすパリティ検査多項式は、提案する符号化率R=(n−1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第α行目のベクトルを生成するための0を満たすパリティ検査多項式となる。
<条件B3−6−1>
「a1,0,1%m=a1,1,1%m=a1,2,1%m=a1,3,1%m=・・・=a1,g,1%m=・・・=a1,m−2,1%m=a1,m−1,1%m=v1,1 (v1,1:固定値)」
「a1,0,2%m=a1,1,2%m=a1,2,2%m=a1,3,2%m=・・・=a1,g,2%m=・・・=a1,m−2,2%m=a1,m−1,2%m=v1,2 (v1,2:固定値)」
「a1,0,3%m=a1,1,3%m=a1,2,3%m=a1,3,3%m=・・・=a1,g,3%m=・・・=a1,m−2,3%m=a1,m−1,3%m=v1,3 (v1,3:固定値)」
(gは0以上m−1以下の整数)
同様に、図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X2に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B3−6−2>
「a2,0,1%m=a2,1,1%m=a2,2,1%m=a2,3,1%m=・・・=a2,g,1%m=・・・=a2,m−2,1%m=a2,m−1,1%m=v2,1
(v2,1:固定値)」
「a2,0,2%m=a2,1,2%m=a2,2,2%m=a2,3,2%m=・・・=a2,g,2%m=・・・=a2,m−2,2%m=a2,m−1,2%m=v2,2
(v2,2:固定値)」
「a2,0,3%m=a2,1,3%m=a2,2,3%m=a2,3,3%m=・・・=a2,g,3%m=・・・=a2,m−2,3%m=a2,m−1,3%m=v2,3
(v2,3:固定値)」
(gは0以上m−1以下の整数)
・
・
・
一般化すると、図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xkに関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。(kは、1以上n−1以下の整数)
<条件B3−6−k>
「ak,0,1%m=ak,1,1%m=ak,2,1%m=ak,3,1%m=・・・=ak,g,1%m=・・・=ak,m−2,1%m=ak,m−1,1%m=vk,1
(vk,1:固定値)」
「ak,0,2%m=ak,1,2%m=ak,2,2%m=ak,3,2%m=・・・=ak,g,2%m=・・・=ak,m−2,2%m=ak,m−1,2%m=vk,2
(vk,2:固定値)」
「ak,0,3%m=ak,1,3%m=ak,2,3%m=ak,3,3%m=・・・=ak,g,3%m=・・・=ak,m−2,3%m=ak,m−1,3%m=vk,3
(vk,3:固定値)」
(gは0以上m−1以下の整数)
・
・
・
同様に、図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xn−1に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B3−6−(n−1)>
「an−1,0,1%m=an−1,1,1%m=an−1,2,1%m=an−1,3,1%m=・・・=an−1,g,1%m=・・・=an−1,m−2,1%m=an−1,m−1,1%m=vn−1,1 (vn−1,1:固定値)」
「an−1,0,2%m=an−1,1,2%m=an−1,2,2%m=an−1,3,2%m=・・・=an−1,g,2%m=・・・=an−1,m−2,2%m=an−1,m−1,2%m=vn−1,2 (vn−1,2:固定値)」
「an−1,0,3%m=an−1,1,3%m=an−1,2,3%m=an−1,3,3%m=・・・=an−1,g,3%m=・・・=an−1,m−2,3%m=an−1,m−1,3%m=vn−1,3 (vn−1,3:固定値)」
(gは0以上m−1以下の整数)
なお、上記において、「%」はmoduloを意味する、つまり、「β%m」は、βをmで除算したときの余りを示す。<条件B3−6−1>から<条件B3−6−(n−1)>を別の表現をすると、以下のように表現することができる。なお、jは1、2、3である。
<条件B3−6’−1>
「a1,g,j%m=v1,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(v1,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでa1,g,j%m=v1,j(v1,j:固定値)が成立する。)
<条件B3−6’−2>
「a2,g,j%m=v2,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(v2,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでa2,g,j%m=v2,j(v2,j:固定値)が成立する。)
・
・
・
一般化すると、以下のようになる。
<条件B3−6’−k>
「ak,g,j%m=vk,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(vk,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでak,g,j%m=vk,j(vk,j:固定値)が成立する。)
(kは、1以上n−1以下の整数)
・
・
・
<条件B3−6’−(n−1)>
「an−1,g,j%m=vn−1,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(vn−1,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでan−1,g,j%m=vn−1,j(vn−1,j:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件B3−7−1>
「v1,1≠v1,2、v1,1≠v1,3、v1,2≠v1,3が成立する。」
<条件B3−7−2>
「v2,1≠v2,2、v2,1≠v2,3、v2,2≠v2,3が成立する。」
・
・
・
一般化すると、以下のようになる。
<条件B3−7−k>
「vk,1≠vk,2、vk,1≠vk,3、vk,2≠vk,3が成立する。」
(kは、1以上n−1以下の整数)
・
・
・
<条件B3−7−(n−1)>
「vn−1,1≠vn−1,2、vn−1,1≠vn−1,3、vn−1,2≠vn−1,3が成立する。」
そして、「図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X1から情報Xn−1に関連する部分行列がイレギュラー」でなければならないので、以下の条件を与える。
<条件B3−8−1>
「a1,g,v%m=a1,h,v%m for ∀g∀h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでa1,g,v%m=a1,h,v%mが成立する。)・・・条件#Xa−1
vは4以上r1以下の整数であり、すべてのvで「条件#Xa−1」を満たすことはない。
<条件B3−8−2>
「a2,g,v%m=a2,h,v%m for ∀g∀h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでa2,g,v%m=a2,h,v%mが成立する。)・・・条件#Xa−2
vは4以上r2以下の整数であり、すべてのvで「条件#Xa−2」を満たすことはない。
・
・
・
一般化すると、以下のようになる。
<条件B3−8−k>
「ak,g,v%m=ak,h,v%m for ∀g∀h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでak,g,v%m=ak,h,v%mが成立する。)・・・条件#Xa−k
vは4以上rk以下の整数であり、すべてのvで「条件#Xa−k」を満たすことはない。
(kは、1以上n−1以下の整数)
・
・
・
<条件B3−8−(n−1)>
「an−1,g,v%m=an−1,h,v%m for ∀g∀h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでan−1,g,v%m=an−1,h,v%mが成立する。)・・・条件#Xa−(n−1)
vは4以上rn−1以下の整数であり、すべてのvで「条件#Xa−(n−1)」を満たすことはない。
なお、<条件B3−8−1>から<条件B3−8−(n−1)>を別の表現をすると以下のような条件となる。
<条件B3−8’−1>
「a1,g,v%m≠a1,h,v%m for ∃g∃h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、a1,g,v%m≠a1,h,v%mが成立するg、hが存在する。)・・・条件#Ya−1
vは4以上r1以下の整数であり、すべてのvで「条件#Ya−1」を満たす。
<条件B3−8’−2>
「a2,g,v%m≠a2,h,v%m for ∃g∃h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、a2,g,v%m≠a2,h,v%mが成立するg、hが存在する。)・・・条件#Ya−2
vは4以上r2以下の整数であり、すべてのvで「条件#Ya−2」を満たす。
・
・
・
一般化すると、以下のようになる。
<条件B3−8’−k>
「ak,g,v%m≠ak,h,v%m for ∃g∃h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、ak,g,v%m≠ak,h,v%mが成立するg、hが存在する。)・・・条件#Ya−k
vは4以上rk以下の整数であり、すべてのvで「条件#Ya−k」を満たす。
(kは、1以上n−1以下の整数)
・
・
・
<条件B3−8’−(n−1)>
「an−1,g,v%m≠an−1,h,v%m for ∃g∃h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、an−1,g,v%m≠an−1,h,v%mが成立するg、hが存在する。)・・・条件#Ya−(n−1)
vは4以上rn−1以下の整数であり、すべてのvで「条件#Ya−(n−1)」を満たす。
このようにすることで、「図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X1に関連する部分行列、情報X2に関連する部分行列、・・・、情報Xn−1に関連する部分行列において、最低列重みを3となり」、以上の条件を満した、符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)とすることで、「イレギュラーLDPC符号」を生成することができ、高い誤り訂正能力を得ることができる。
符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)を形成するためのパリティ検査多項式として、式(B126)および式(B127)をあつかった。以下では、高い誤り訂正能力を得るための、パリティ検査多項式の式(B126)および式(B127)の条件の例について説明する。
上述で説明したように、式(B126)の0を満たすパリティ検査多項式は、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのベースとなる符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC−CCの0を満たすi番目(iは0以上m−1以下の整数)のパリティ検査多項式となり、式(B127)の0を満たすパリティ検査多項式は、提案する符号化率R=(n−1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第α行目のベクトルを生成するための0を満たすパリティ検査多項式となる。
<条件B3−9−1>
「a1,0,1%m=a1,1,1%m=a1,2,1%m=a1,3,1%m=・・・=a1,g,1%m=・・・=a1,m−2,1%m=a1,m−1,1%m=v1,1 (v1,1:固定値)」
「a1,0,2%m=a1,1,2%m=a1,2,2%m=a1,3,2%m=・・・=a1,g,2%m=・・・=a1,m−2,2%m=a1,m−1,2%m=v1,2 (v1,2:固定値)」
(gは0以上m−1以下の整数)
同様に、図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X2に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B3−9−2>
「a2,0,1%m=a2,1,1%m=a2,2,1%m=a2,3,1%m=・・・=a2,g,1%m=・・・=a2,m−2,1%m=a2,m−1,1%m=v2,1
(v2,1:固定値)」
「a2,0,2%m=a2,1,2%m=a2,2,2%m=a2,3,2%m=・・・=a2,g,2%m=・・・=a2,m−2,2%m=a2,m−1,2%m=v2,2
(v2,2:固定値)」
(gは0以上m−1以下の整数)
・
・
・
一般化すると、図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xkに関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。(kは、1以上n−1以下の整数)
<条件B3−9−k>
「ak,0,1%m=ak,1,1%m=ak,2,1%m=ak,3,1%m=・・・=ak,g,1%m=・・・=ak,m−2,1%m=ak,m−1,1%m=vk,1
(vk,1:固定値)」
「ak,0,2%m=ak,1,2%m=ak,2,2%m=ak,3,2%m=・・・=ak,g,2%m=・・・=ak,m−2,2%m=ak,m−1,2%m=vk,2
(vk,2:固定値)」
(gは0以上m−1以下の整数)
・
・
・
同様に、図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xn−1に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B3−9−(n−1)>
「an−1,0,1%m=an−1,1,1%m=an−1,2,1%m=an−1,3,1%m=・・・=an−1,g,1%m=・・・=an−1,m−2,1%m=an−1,m−1,1%m=vn−1,1 (vn−1,1:固定値)」
「an−1,0,2%m=an−1,1,2%m=an−1,2,2%m=an−1,3,2%m=・・・=an−1,g,2%m=・・・=an−1,m−2,2%m=an−1,m−1,2%m=vn−1,2 (vn−1,2:固定値)」
(gは0以上m−1以下の整数)
なお、上記において、「%」はmoduloを意味する、つまり、「β%m」は、βをmで除算したときの余りを示す。<条件B3−9−1>から<条件B3−9−(n−1)>を別の表現をすると、以下のように表現することができる。なお、jは1、2である。
<条件B3−9’−1>
「a1,g,j%m=v1,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(v1,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでa1,g,j%m=v1,j(v1,j:固定値)が成立する。)
<条件B3−9’−2>
「a2,g,j%m=v2,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(v2,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでa2,g,j%m=v2,j(v2,j:固定値)が成立する。)
・
・
・
一般化すると、以下のようになる。
<条件B3−9’−k>
「ak,g,j%m=vk,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(vk,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでak,g,j%m=vk,j(vk,j:固定値)が成立する。)
(kは、1以上n−1以下の整数)
・
・
・
<条件B3−9’−(n−1)>
「an−1,g,j%m=vn−1,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(vn−1,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでan−1,g,j%m=vn−1,j(vn−1,j:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件B3−10−1>
「v1,1≠0、かつ、v1,2≠0が成立する。」
かつ
「v1,1≠v1,2が成立する。」
<条件B3−10−2>
「v2,1≠0、かつ、v2,2≠0が成立する。」
かつ
「v2,1≠v2,2が成立する。」
・
・
・
一般化すると、以下のようになる。
<条件B3−10−k>
「vk,1≠0、かつ、vk,2≠0が成立する。」
かつ
「vk,1≠vk,2が成立する。」
(kは、1以上n−1以下の整数)
・
・
・
<条件B3−10−(n−1)>
「vn−1,1≠0、かつ、vn−1,2≠0が成立する。」
かつ
「vn−1,1≠vn−1,2が成立する。」
このようにすることで、「図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X1に関連する部分行列、情報X2に関連する部分行列、・・・、情報Xn−1に関連する部分行列において、最低列重みを3となり」、以上の条件を満した、符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)とすることで、「イレギュラーLDPC符号」を生成することができ、高い誤り訂正能力を得ることができる。
<条件B3−11−1>
・「mの約数のうち、1を除いた、約数の集合をR」としたとき、vk,1はRに属してはならない。
<条件B3−11−2>
・「mの約数のうち、1を除いた、約数の集合をR」としたとき、vk,2はRに属してはならない。
さらに、以下の条件を満たしてもよい。
<条件B3−12−1>
・vk,1は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1/w=g(gは自然数)を満たす、すべてのwを抽出した集合をSとしたとき、R∩Sは空集合である。なお、集合Rは<条件B3−11−1>で定義している。
<条件B3−12−2>
・vk,2は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2/w=g(gは自然数)を満たす、すべてのwを抽出した集合をSとしたとき、R∩Sは空集合である。なお、集合Rは<条件B3−11−2>で定義している。
なお、<条件B3−12−1>、<条件B3−12−2>を別の表現をすると、<条件B3−12−1’>、<条件B3−12−2’>となる。
<条件B3−12−1’>
・vk,1は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1の約数の集合をSとしたとき、R∩Sは空集合である。
<条件B3−12−2’>
・vk,2は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2の約数の集合をSとしたとき、R∩Sは空集合である。
なお、<条件B3−12−1><条件B3−12−1’>を別の表現をすると、<条件B3−12−1”>となり、<条件B3−12−2><条件B3−12−2’>を別の表現をすると、<条件B3−12−2”>。
<条件B3−12−1”>
・vk,1は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1とmの最大公約数が1である。
<条件B3−12−2”>
・vk,2は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2とmの最大公約数が1である。
符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)を形成するためのパリティ検査多項式として、式(B128)および式(B129)をあつかった。以下では、高い誤り訂正能力を得るための、パリティ検査多項式の式(B128)および式(B129)の条件の例について説明する。
上述で説明したように、式(B128)の0を満たすパリティ検査多項式は、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのベースとなる符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC−CCの0を満たすi番目(iは0以上m−1以下の整数)のパリティ検査多項式となり、式(B129)の0を満たすパリティ検査多項式は、提案する符号化率R=(n−1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第α行目のベクトルを生成するための0を満たすパリティ検査多項式となる。
<条件B3−13−1>
「a1,0,1%m=a1,1,1%m=a1,2,1%m=a1,3,1%m=・・・=a1,g,1%m=・・・=a1,m−2,1%m=a1,m−1,1%m=v1,1 (v1,1:固定値)」
「a1,0,2%m=a1,1,2%m=a1,2,2%m=a1,3,2%m=・・・=a1,g,2%m=・・・=a1,m−2,2%m=a1,m−1,2%m=v1,2 (v1,2:固定値)」
「a1,0,3%m=a1,1,3%m=a1,2,3%m=a1,3,3%m=・・・=a1,g,3%m=・・・=a1,m−2,3%m=a1,m−1,3%m=v1,3 (v1,3:固定値)」
(gは0以上m−1以下の整数)
同様に、図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X2に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B3−13−2>
「a2,0,1%m=a2,1,1%m=a2,2,1%m=a2,3,1%m=・・・=a2,g,1%m=・・・=a2,m−2,1%m=a2,m−1,1%m=v2,1
(v2,1:固定値)」
「a2,0,2%m=a2,1,2%m=a2,2,2%m=a2,3,2%m=・・・=a2,g,2%m=・・・=a2,m−2,2%m=a2,m−1,2%m=v2,2
(v2,2:固定値)」
「a2,0,3%m=a2,1,3%m=a2,2,3%m=a2,3,3%m=・・・=a2,g,3%m=・・・=a2,m−2,3%m=a2,m−1,3%m=v2,3
(v2,3:固定値)」
(gは0以上m−1以下の整数)
・
・
・
一般化すると、図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xkに関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。(kは、1以上n−1以下の整数)
<条件B3−13−k>
「ak,0,1%m=ak,1,1%m=ak,2,1%m=ak,3,1%m=・・・=ak,g,1%m=・・・=ak,m−2,1%m=ak,m−1,1%m=vk,1
(vk,1:固定値)」
「ak,0,2%m=ak,1,2%m=ak,2,2%m=ak,3,2%m=・・・=ak,g,2%m=・・・=ak,m−2,2%m=ak,m−1,2%m=vk,2
(vk,2:固定値)」
「ak,0,3%m=ak,1,3%m=ak,2,3%m=ak,3,3%m=・・・=ak,g,3%m=・・・=ak,m−2,3%m=ak,m−1,3%m=vk,3
(vk,3:固定値)」
(gは0以上m−1以下の整数)
・
・
・
同様に、図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xn−1に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B3−13−(n−1)>
「an−1,0,1%m=an−1,1,1%m=an−1,2,1%m=an−1,3,1%m=・・・=an−1,g,1%m=・・・=an−1,m−2,1%m=an−1,m−1,1%m=vn−1,1 (vn−1,1:固定値)」
「an−1,0,2%m=an−1,1,2%m=an−1,2,2%m=an−1,3,2%m=・・・=an−1,g,2%m=・・・=an−1,m−2,2%m=an−1,m−1,2%m=vn−1,2 (vn−1,2:固定値)」
「an−1,0,3%m=an−1,1,3%m=an−1,2,3%m=an−1,3,3%m=・・・=an−1,g,3%m=・・・=an−1,m−2,3%m=an−1,m−1,3%m=vn−1,3 (vn−1,3:固定値)」
(gは0以上m−1以下の整数)
なお、上記において、「%」はmoduloを意味する、つまり、「β%m」は、βをmで除算したときの余りを示す。<条件B3−13−1>から<条件B3−13−(n−1)>を別の表現をすると、以下のように表現することができる。なお、jは1、2、3である。
<条件B3−13’−1>
「a1,g,j%m=v1,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(v1,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでa1,g,j%m=v1,j(v1,j:固定値)が成立する。)
<条件B3−13’−2>
「a2,g,j%m=v2,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(v2,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでa2,g,j%m=v2,j(v2,j:固定値)が成立する。)
・
・
・
一般化すると、以下のようになる。
<条件B3−13’−k>
「ak,g,j%m=vk,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(vk,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでak,g,j%m=vk,j(vk,j:固定値)が成立する。)
(kは、1以上n−1以下の整数)
・
・
・
<条件B3−13’−(n−1)>
「an−1,g,j%m=vn−1,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(vn−1,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでan−1,g,j%m=vn−1,j(vn−1,j:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件B3−14−1>
「v1,1≠v1,2、v1,1≠v1,3、v1,2≠v1,3が成立する。」
<条件B3−14−2>
「v2,1≠v2,2、v2,1≠v2,3、v2,2≠v2,3が成立する。」
・
・
・
一般化すると、以下のようになる。
<条件B3−14−k>
「vk,1≠vk,2、vk,1≠vk,3、vk,2≠vk,3が成立する。」
(kは、1以上n−1以下の整数)
・
・
・
<条件B3−14−(n−1)>
「vn−1,1≠vn−1,2、vn−1,1≠vn−1,3、vn−1,2≠vn−1,3が成立する。」
このようにすることで、「図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X1に関連する部分行列、情報X2に関連する部分行列、・・・、情報Xn−1に関連する部分行列において、最低列重みを3となり」、以上の条件を満した、符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)とすることで、「イレギュラーLDPC符号」を生成することができ、高い誤り訂正能力を得ることができる。
(実施の形態B4)
本実施の形態では、実施の形態A4で述べた符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列の具体的な構成例について説明する。
実施の形態A4で説明したように、提案する符号化率R=(n−1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproとすると、Hproの列数はn×m×zとあらわすことができる(zは自然数)。(なお、mは、ベースとなる符号化率R=(n−1)/n、パリティ検査多項式に基づくLDPC−CCの時変周期である。)
よって、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)の第sブロックのn×m×zのビット数で構成される送信系列(符号化系列(符号語))vsはvs=(Xs,1,1、Xs,2,1、・・・、Xs,n−1,1、Ppro,s,1、Xs,1,2、Xs,2,2、・・・、Xs,n−1,2、Ppro,s,2、・・・、Xs,1,m×z−1、Xs,2,m×z−1、・・・、Xs,n−1,m×z−1、Ppro,s,m×z−1、Xs,1,m×z、Xs,2,m×z、・・・、Xs,n−1,m×z、Ppro,s,m×z)T=(λpro,s,1、λpro,s,2、・・・、λpro,s,m×z−1、λpro,s,m×z)Tとあらわすことができ、Hprovs=0が成立する(このとき、「Hprovs=0(ゼロ)」は、全ての要素が0(ゼロ)のベクトルであることを意味する)。なお、Xs,j,kは情報Xjのビットであり(jは1以上n−1以下の整数)、Ppro,s,kは提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティのビットであり、λpro,s,k=(Xs,1,k、Xs,2,k、・・・、Xs,n−1,k、Ppro,s,k)である(したがって、n=2のとき、λpro,s,k=(Xs,1,k、Ppro,s,k)となり、n=3のとき、λpro,s,k=(Xs,1,k、Xs,2,k、Ppro,s,k)となり、n=4のとき、λpro,s,k=(Xs,1,k、Xs,2,k、Xs,
3,k、Ppro,s,k)となり、n=5のとき、λpro,s,k=(Xs,1,k、Xs,2,k、Xs,3,k、Xs,4,k、Ppro,s,k)となり、n=6のとき、λpro,s,k=(Xs,1,k、Xs,2,k、Xs,3,k、Xs,4,k、Xs,5,k、Ppro,s,k)となる。)。ただし、k=1、2、・・・、m×z−1、m×z、つまり、kは1以上m×z以下の整数である。また、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの行数は、m×zとなる。
本実施の形態では、式(A8)で示した、i番目の0を満たすパリティ検査多項式を次式のようにあらわす。
0番目:「第0番目の0を満たすパリティ検査多項式」
1番目:「第1番目の0を満たすパリティ検査多項式」
2番目:「第2番目の0を満たすパリティ検査多項式」
・
・
・
e番目:「第e番目の0を満たすパリティ検査多項式」
・
・
・
m×z−2番目:「第m×z−2番目の0を満たすパリティ検査多項式」
m×z−1番目:「第m×z−1番目の0を満たすパリティ検査多項式」
の順に並べられていることになり、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)の第sブロックの送信系列(符号化系列(符号語))vsを得ることになる。(なお、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproのe+1行で構成されるベクトルが、「第e番目の0を満たすパリティ検査多項式」に相当する。(実施の形態A4参照)
上述の説明、および、実施の形態A4から、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)において、
第0番目の0を満たすパリティ検査多項式は、「式(B130)の0を満たす0番目のパリティ検査多項式」であり、
第1番目の0を満たすパリティ検査多項式は、「式(B130)の0を満たす1番目のパリティ検査多項式」であり、
第2番目の0を満たすパリティ検査多項式は、「式(B130)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第α―1番目の0を満たすパリティ検査多項式は、「式(B131)の0を満たすパリティ検査多項式」であり、
・
・
・
第m×z−2番目の0を満たすパリティ検査多項式は、「式(B130)の0を満たすm−2番目のパリティ検査多項式」であり、
第m×z−1番目の0を満たすパリティ検査多項式は、「式(B130)の0を満たすm−1番目のパリティ検査多項式」
となる。つまり、
「第α―1番目の0を満たすパリティ検査多項式は、「式(B131)の0を満たすパリティ検査多項式」であり、eが0以上m×z−1の整数であり、e≠α―1のとき、第e番目の0を満たすパリティ検査多項式は、「式(B130)の0を満たすe%m番目のパリティ検査多項式」
となる。
本実施の形態では、上述の場合のパリティ検査行列の構成について、詳しく説明する。
上述で述べたように、式(B130)と式(B131)により定義することができる提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)の第fブロックのn×m×zのビット数で構成される送信系列(符号化系列(符号語))vfはvf=(Xf,1,1、Xf,2,1、・・・、Xf,n−1,1、Ppro,f,1、Xf,1,2、Xf,2,2、・・・、Xf,n−1,2、Ppro,f,2、・・・、Xf,1,m×z−1、Xf,2,m×z−1、・・・、Xf,n−1,m×z−1、Ppro,f,m×z−1、Xf,1,m×z、Xf,2,m×z、・・・、Xf,n−1,m×z、Ppro,f,m×z)T=(λpro,f,1、λpro,f,2、・・・、λpro,f,m×z−1、λpro,f,m×z)Tとあらわすことができ、Hprovf=0が成立する(このとき、「Hprovf=0(ゼロ)」は、全ての要素が0(ゼロ)のベクトルであることを意味する)。なお、Xf,j,kは情報Xjのビットであり(jは1以上n−1以下の整数)、Ppro,f,kは提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティのビットであり、λpro,f,k=(Xf,1,k、Xf,2,k、・・・、Xf,n−1,k、Ppro,f,k)である(したがって、n=2のとき、λpro,f,k=(Xf,1,k、Ppro,f,k)となり、n=3のとき、λpro,f,k=(Xf,1,k、Xf,2,k、Ppro,f,k)となり、n=4のとき、λpro,f,k=(Xf,1,k、Xf,2,k、Xf,3,k、Ppro,f,k)となり、n=5のとき、λpro,f,k=(Xf,1,k、Xf,2,k、Xf,3,k、Xf,4,k、Ppro,f,k)となり、n=6のとき、λpro,f,k=(Xf,1,k、Xf,2,k、Xf,3,k、Xf,4,k、Xf,5,k、Ppro,f,k)となる。)。ただし、k=1、2、・・・、m×z−1、m×z、つまり、kは1以上m×z以下の整数である。また、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの行数は、m×zとなる(zは自然数)。なお、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの行数はm×zであることから、パリティ検査行列をHproには、第1行から第m×z行が存在することになる。そして、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの列数はn×m×zであることから、パリティ検査行列をHproには、第1列から第n×m×z列が存在することになる。
そして、第fブロック内には、時点1からm×zまで存在する。(なお、この点については、実施の形態A4でも同様である。)上述において、kが「時点」を表現していることになる。したがって、時点kの情報X1、X2,、・・・、Xn−1およびパリティPproは、λpro,f,k=(Xf,1,k、Xf,2,k、・・・、Xf,n−1,k、Ppro,f,k)となる。
提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのベースとなる符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC−CCのi番目(iは0以上m−1以下の整数)のパリティ検査多項式である式(B130)に対応するサブ行列(ベクトル)をHiとすると、第iサブ行列は次式のようにあらわすことができる。
上記で定義した送信系列vfに対応する改良したテイルバイティングを行った際の、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hproのうち、時点m×z近辺のパリティ検査行列Hproを図130に示す。図130に示すように、パリティ検査行列Hproにおいて、第δ行と第δ+1行とでは、サブ行列がn列右にシフトした構成となる(図130参照)。
符号13107は時点m×z−1に相当する列群を示しており、符号13107の列群は、Xf,1,m×z−1に対応する列、Xf,2,m×z−1に対応する列、・・・、Xf,n−1,m×z−1に対応する列、Ppro,f,m×z−1に対応する列の順に並んでいる。符号13108は時点m×zに相当する列群を示しており、符号13108の列群は、Xf,1,m×zに対応する列、Xf,2,m×zに対応する列、・・・、Xf,n−1,m×zに対応する列、Ppro,f,m×zに対応する列の順に並んでいる。符号13109は時点1に相当する列群を示しており、符号13109の列群は、Xf,1,1に対応する列、Xf,2,1に対応する列、・・・、Xf,n−1,1に対応する列、Ppro,f,1に対応する列の順に並んでいる。符号13110は時点2に相当する列群を示しており、符号13110の列群は、Xf,1,2に対応する列、Xf,2,2に対応する列、・・・、Xf,n−1,2に対応する列、Ppro,f,2に対応する列の順に並んでいる。
上述では、第f番目のブロックの送信系列(符号化系列(符号語))vfはvf=(Xf,1,1、Xf,2,1、・・・、Xf,n−1,1、Ppro,f,1、Xf,1,2、Xf,2,2、・・・、Xf,n−1,2、Ppro,f,2、・・・、Xf,1,m×z−1、Xf,2,m×z−1、・・・、Xf,n−1,m×z−1、Ppro,f,m×z−1、Xf,1,m×z、Xf,2,m×z、・・・、Xf,n−1,m×z、Ppro,f,m×z)T=(λpro,f,1、λpro,f,2、・・・、λpro,f,m×z−1、λpro,f,m×z)Tであり、Hprovf=0(なお、「Hprovf=0(ゼロ)の「0(ゼロ)」」は、全ての要素が0(ゼロ)のベクトルであることを意味する。)が成立する提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hproの構成について説明したが、以降では、第f番目のブロックの送信系列(符号化系列(符号語))ufはuf=(Xf,1,1、Xf,1,2、・・・、Xf,1,m×z、Xf,2,1、Xf,2,2、・・・、Xf,2,m×z、・・・、Xf,n−2,1、Xf,n−2,2、・・・、Xf,n−2,m×z、Xf,n−1,1、Xf,n−1,2、・・・、Xf,n−1,m×z、Ppro,f,1、Ppro,f,2、・・・、Ppro,f,m×z)T=(ΛX1,f、ΛX2,f、ΛX3,f、・・・、ΛXn−2,f、ΛXn−1,f、Λpro,f)Tとあらわされたとき、Hpro_muf=0(なお、「Hpro_muf=0(ゼロ)の「0(ゼロ)」は、全ての要素が0(ゼロ)のベクトルであることを意味する。)が成立する提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mの構成について説明する。
なお、ΛXk,f=(Xf,k,1、Xf,k,2、Xf,k,3、・・・、Xf,k,m×z−2、Xf,k,m×z−1、Xf,k,m×z)(ただし、kは1以上n−1以下の整数)、および、Λpro,f=(Ppro,f,1、Ppro,f,2、Ppro,f,3、・・・、Ppro,f,m×z−2、Ppro,f,m×z−1、Ppro,f,m×z)とあらわされる。したがって、例えば、n=2のとき、uf=(ΛX1,f、Λpro,f)T、n=3のとき、uf=(ΛX1,f、ΛX2,f、Λpro,f)T、n=4のとき、uf=(ΛX1,f、ΛX2,f、ΛX3,f、Λpro,f)T、n=5のとき、uf=(ΛX1,f、ΛX2,f、ΛX3,f、ΛX4,f、Λpro,f)T、n=6のとき、uf=(ΛX1,f、ΛX2,f、ΛX3,f、ΛX4,f、ΛX5,f、Λpro,f)T、n=7のとき、uf=(ΛX1,f、ΛX2,f、ΛX3,f、ΛX4,f、ΛX5,f、ΛX6,f、Λpro,f)T、n=8のとき、uf=(ΛX1,f、ΛX2,f、ΛX3,f、ΛX4,f、ΛX5,f、ΛX6,f、ΛX7,f、Λpro,f)Tとあらわされる。
0番目:「第0番目の0を満たすパリティ検査多項式」
1番目:「第1番目の0を満たすパリティ検査多項式」
2番目:「第2番目の0を満たすパリティ検査多項式」
・
・
・
e番目:「第e番目の0を満たすパリティ検査多項式」
・
・
・
m×z−2番目:「第m×z−2番目の0を満たすパリティ検査多項式」
m×z−1番目:「第m×z−1番目の0を満たすパリティ検査多項式」
の順に並べられていることになり、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)の第fブロックの送信系列(符号化系列(符号語))ufを得ることになる。(なお、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mのe+1行で構成されるベクトルが、「第e番目の0を満たすパリティ検査多項式」に相当する。(実施の形態A4と同様である。)
よって、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)において、
第0番目の0を満たすパリティ検査多項式は、「式(B130)の0を満たす0番目のパリティ検査多項式」であり、
第1番目の0を満たすパリティ検査多項式は、「式(B130)の0を満たす1番目のパリティ検査多項式」であり、
第2番目の0を満たすパリティ検査多項式は、「式(B130)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第α―1番目の0を満たすパリティ検査多項式は、「式(B131)の0を満たすパリティ検査多項式」であり、
・
・
・
第m×z−2番目の0を満たすパリティ検査多項式は、「式(B130)の0を満たすm−2番目のパリティ検査多項式」であり、
第m×z−1番目の0を満たすパリティ検査多項式は、「式(B130)の0を満たすm−1番目のパリティ検査多項式」
となる。つまり、
「第α―1番目の0を満たすパリティ検査多項式は、「式(B131)の0を満たすパリティ検査多項式」であり、eが0以上m×z−1の整数であり、e≠α―1のとき、第e番目の0を満たすパリティ検査多項式は、「式(B130)の0を満たすe%m番目のパリティ検査多項式」
となる。
図141は、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの構成を示している。
・
・
提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの第m−1行目を構成するベクトルは、第m−2番目の0を満たすパリティ検査多項式、つまり、「式(B130)の0を満たすm−2番目のパリティ検査多項式」のパリティに関連する項から生成することができる。
・
・
提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの第α行目を構成するベクトルは、第α−1番目の0を満たすパリティ検査多項式、つまり、「式(B131)の0を満たすパリティ検査多項式」のパリティに関連する項から生成することができる。
・
・
提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの第m×z−1行目を構成するベクトルは、第m×z−2番目の0を満たすパリティ検査多項式、つまり、「式(B130)の0を満たすm−2番目のパリティ検査多項式」のパリティに関連する項から生成することができる。
「提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの第α行目を構成するベクトルは、第α−1番目の0を満たすパリティ検査多項式、つまり、「式(B131)の0を満たすパリティ検査多項式」のパリティに関連する項から生成することができ、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの第e+1行目(eは、e≠α―1を満たす、0以上m×z−1の整数)を構成するベクトルは、第e番目の0を満たすパリティ検査多項式、つまり、「式(B130)の0を満たすe%m番目のパリティ検査多項式」のパリティに関連する項から生成することができる。」
なお、mは、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのベースとなる符号化率R=(n−1)/nのパリティ検査多項式に基づくLDPC−CCの時変周期である。
図141に提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの構成を示す。提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpのi行j列の要素をHp,comp[i][j](iお
よびjは1以上m×z以下の整数(i、j=1、2、3、・・・、m×z−1、m×z))とあらわすものとする。すると、以下が成立する。
したがって、パリティPproに関連する部分行列Hpの第α行目において、要素が「1」を満たす場合は、
また、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおけるパリティPproに関連する部分行列Hpの行と、式(B130)、および、式(B131)のパリティ検査多項式の関係は、図141に示したようになり、この点は、実施の形態A4等で説明した図129と同様である。
次に、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおける情報Xqに関連する部分行列Hx,qの各要素の値について説明する(qは1以上n−1以下の整数)。
図142に示すように、「提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおける情報Xqに関連する部分行列Hx,qの第α行目を構成するベクトルは、第α−1番目の0を満たすパリティ検査多項式、つまり、「式(B131)の0を満たすパリティ検査多項式」の情報Xqに関連する項から生成することができ、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおける情報Xqに関連する部分行列Hx,qの第e+1行目(eは、e≠α―1を満たす、0以上m×z−1の整数)を構成するベクトルは、第e番目の0を満たすパリティ検査多項式、つまり、「式(B130)の0を満たすe%m番目のパリティ検査多項式」の情報Xqに関連する項から生成することができる。」
提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおける情報X1に関連する部分行列Hx,1のi行j列の要素をHx,1,comp[i][j](iおよびjは1以上m×z以下の整数(i、j=1、2、3、・・・、m×z−1、m×z))とあらわすものとする。すると、以下が成立する。
したがって、情報X1に関連する部分行列Hx,1の第α行目において、要素が「1」を満たす場合は、
提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCにおいて、0を満たすパリティ検査多項式が、式(B130)および式(B131)を満たすとき、情報X1に関連する部分行列Hx,1の第s行目において、(sは、s≠αを満たす、1以上m×z以下の整数)(s−1)%m=k(%はモジュラ演算(modulo)を示す。)とすると、情報X1に関連する部分行列Hx,1の第s行目に関連するパリティ検査多項式は、式(B130)から、式(B136)とあらわされる。
また、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおける情報X1に関連する部分行列Hx,1の行と、式(B130)、および、式(B131)のパリティ検査多項式の関係は、図142(なお、q=1)に示したようになり、この点は、実施の形態A4等で説明した図129と同様である。
上述では、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおける情報X1に関連する部分行列Hx,1の構成について説明したが、以下では、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおける情報Xq(qは1以上n−1以下の整数)に関連する部分行列Hx,qの構成について説明する。(部分行列Hx,qの構成は、上述の部分行列Hx,1の説明と同様に、説明することができる。)
提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおける情報Xqに関連する部分行列Hx,qの構成は、図142のとおりである。
したがって、情報Xqに関連する部分行列Hx,qの第α行目において、要素が「1」を満たす場合は、
提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCにおいて、0を満たすパリティ検査多項式が、式(B130)および式(B131)を満たすとき、情報Xqに関連する部分行列Hx,qの第s行目において、(sは、s≠αを満たす、1以上m×z以下の整数)(s−1)%m=k(%はモジュラ演算(modulo)を示す。)とすると、情報Xqに関連する部分行列Hx,qの第s行目に関連するパリティ検査多項式は、式(B130)から、式(B136)とあらわされる。
また、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mにおける情報Xqに関連する部分行列Hx,qの行と、式(B130)、および、式(B131)のパリティ検査多項式の関係は、図142に示したようになり、この点は、実施の形態A4等で説明した図129と同様である。
上記では、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mの構成について説明した。以下では、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mと等価なパリティ検査行列の生成方法について説明する。(なお、実施の形態17等の説明にもとづいている。)
図105は、符号化率(N−M)/N(N>M>0)のLDPC(ブロック)符号のパリティ検査行列Hの構成を示しており、例えば、図105のパリティ検査行列は、M行N列の行列となる。そして、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mを、図105のパリティ検査行列Hであらわすものとする。(したがって、Hpro_m=(図105の)Hとなる。以下では、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列をHと記載することにする。)
図105において、第j番目のブロックの送信系列(符号語)vj T=(Yj,1、Yj,2、Yj,3、・・・、Yj,N−2、Yj,N−1、Yj,N)とする(組織符号の場合、Yj,k(kは1以上N以下の整数)は、情報(X1からXn−1)またはパリティとなる。
そして、第j番目のブロックの送信系列vjの第k行目(ただし、kは、1以上N以下の整数)の要素(図105において、送信系列vjの転置行列vj Tの場合、第k列目の要素)は、Yj,kであるとともに、符号化率(N−M)/N(N>M>0)のLDPC(ブロック)符号のパリティ検査行列(つまり、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列)Hの第k列目を抽出したベクトルを図105のようにckとあらわす。このとき、LDPC(ブロック)符号のパリティ検査行列(つまり、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列)Hは、以下のようにあらわされる。
よって、送信系列(符号語)v’j=(Yj,32、Yj,99、Yj,23、・・・、Yj,234、Yj,3、Yj,43)Tとした場合のパリティ検査行列H’は、以下のようにあらわされる。
例えば、蓄積および並び替え部(デインタリーブ部)10802は、Yj,32の対数尤度比、Yj,99の対数尤度比、Yj,23の対数尤度比、・・・、Yj,234の対数尤度比、Yj,3の対数尤度比、Yj,43の対数尤度比を入力とし、並び替えを行い、Yj,1の対数尤度比、Yj,2の対数尤度比、Yj,3の対数尤度比、・・・、Yj,N−2の対数尤度比、Yj,N−1の対数尤度比、Yj,Nの対数尤度比の順に出力するものとする。
例えば、送信装置が、第jブロックの送信系列(符号語)v’j=(Yj,32、Yj,99、Yj,23、・・・、Yj,234、Yj,3、Yj,43)Tを送信したものとする。すると、各ビットの対数尤度比計算部10800は、受信信号から、Yj,32の対数尤度比、Yj,99の対数尤度比、Yj,23の対数尤度比、・・・、Yj,234の対数尤度比、Yj,3の対数尤度比、Yj,43の対数尤度比を計算し、出力することになる(図108の10806に相当)。
したがって、符号化率(n−1)/nの提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCの送信系列(符号語)に対し、インタリーブを施した場合、上述のように、符号化率(n−1)/nの提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列に対し、列並び替え(列置換)を行った行列が、インタリーブを施した送信系列(符号語)のパリティ検査行列を受信装置は用いることで、得られた各ビットの対数尤度比に対し、デインタリーブを行わなくても、信頼度伝播復号を行い、推定系列を得ることができる。
上述では、送信系列のインタリーブとパリティ検査行列の関係について説明したが、以降では、パリティ検査行列における行並び替え(行置換)について説明する。
図109は、符号化率(N−M)/NのLDPC(ブロック)符号の第j番目のブロックの送信系列(符号語)vj T=(Yj,1、Yj,2、Yj,3、・・・、Yj,N−2、Yj,N−1、Yj,N)に対応するパリティ検査行列Hの構成を示している。例えば、図109のパリティ検査行列は、M行N列の行列となる。そして、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列Hpro_mを、図109のパリティ検査行列Hであらわすものとする。(したがって、Hpro_m=(図109の)Hとなる。以下では、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列をHと記載することにする。)(組織符号の場合、Yj,k(kは1以上N以下の整数)は、情報XまたはパリティP(パリティPpro)となる。そして、Yj,kは、(N−M)個の情報とM個のパリティで構成されていることになる。)。このとき、Hvj=0が成立する。(なお、ここでの「Hvj=0の0(ゼロ)」は、全ての要素が0のベクトルであることを意味する。つまり、すべてのk(kは1以上M以下の整数)において、第k行の値は0である。)
そして、図109のパリティ検査行列Hの第k行目(kは1以上M以下の整数)を抽出したベクトルをzkとあらわす。このとき、LDPC(ブロック)符号のパリティ検査行列(つまり、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列)Hは、以下のようにあらわされる。
図110は図109のパリティ検査行列Hに対し、行並び替え(行置換)を行ったパリティ検査行列H’の一例を示しており、パリティ検査行列H’は、図109と同様、符号化率(N−M)/NのLDPC(ブロック)符号(つまり、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC)の第j番目のブロックの送信系列(符号語)vj T=(Yj,1、Yj,2、Yj,3、・・・、Yj,N−2、Yj,N−1、Yj,N)に対応するパリティ検査行列(つまり、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列)となる。
つまり、第j番目のブロックの送信系列vj Tのとき、図110のパリティ検査行列H’の第i行目を抽出したベクトルは、ベクトルck(kは1以上M以下の整数)のいずれかであらわされ、図110のパリティ検査行列H’の第k行目(kは1以上M以下の整数)を抽出したM個の行ベクトルには、z1、z2、z3、・・・zM−2、zM−1、zM、がそれぞれ一つ存在することになる。
また、実施の形態A4で説明した提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列に対し、上述で説明した列並び替え(列置換)および行並び替え(行置換)の両者を施すことにより得た行列をパリティ検査行列としてもよい。
また、実施の形態A4で説明した提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列に対し、1回目の列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H1,1を得る。そして、パリティ検査行列H1,1に対し、1回目の行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H2,1を得る。
以上のような、列並び替え(列置換)、および、行並び替え(行置換)をs(sは2以上の整数)回繰り返して、パリティ検査行列H2,sを得る。このとき、パリティ検査行列H2,k−1に対し、k(kは2以上s以下の整数)回目の列並び替え(列置換)を行い、パリティ検査行列H1,kを得る。そして、パリティ検査行列H1,kに対し、k回目の行並び替え(行置換)を行い、パリティ検査行列H2,kを得ることになる。なお、1回目については、実施の形態A4で説明した提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列に対し、1回目の列並び替え(列置換)を行い、パリティ検査行列H1,1を得る。そして、パリティ検査行列H1,1に対し、1回目の行並び替え(行置換)を行い、パリティ検査行列H2,1を得ることになる。
別の方法として、実施の形態A4で説明した提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列に対し、行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H3を得る。そして、パリティ検査行列H3に対し、列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H4を得、送信装置、および、受信装置は、パリティ検査行列H4を用いて、符号化、復号化を行ってもよい。
また、実施の形態A4で説明した提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列に対し、1回目の行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H3,1を得る。そして、パリティ検査行列H3,1に対し、1回目の列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H4,1を得る。
以上のような、行並び替え(行置換)、および、列並び替え(列置換)をs(sは2以上の整数)回繰り返して、パリティ検査行列H4,sを得る。このとき、パリティ検査行列H4,k−1に対し、k(kは2以上s以下の整数)回目の行並び替え(行置換)を行い、パリティ検査行列H3,kを得る。そして、パリティ検査行列H3,kに対し、k回目の列並び替え(列置換)を行い、パリティ検査行列H4,kを得ることになる。なお、
1回目については、実施の形態A4で説明した提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列に対し、1回目の行並び替え(行置換)を行い、パリティ検査行列H3,1を得る。そして、パリティ検査行列H3,1に対し、1回目の列並び替え(列置換)を行い、パリティ検査行列H4,1を得ることになる。
なお、パリティ検査行列H2、パリティ検査行列H2,s、パリティ検査行列H4、パリティ検査行列H4,sいずれも、行並び替え(行置換)および列並び替え(列置換)を行うと、実施の形態A4で説明した提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列、または、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCの図130、図131、図141、図142を用いて説明したパリティ検査行列を得ることができる。
同様に、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCの図130、図131、図141、図142を用いて説明したパリティ検査行列に対し、上述で説明した列並び替え(列置換)および行並び替え(行置換)の両者を施すことにより得た行列をパリティ検査行列としてもよい。
また、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCの図130、図131、図141、図142を用いて説明したパリティ検査行列に対し、1回目の列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H5,1を得る。そして、パリティ検査行列H5,1に対し、1回目の行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H6,1を得る。
以上のような、列並び替え(列置換)、および、行並び替え(行置換)をs(sは2以上の整数)回繰り返して、パリティ検査行列H6,sを得る。このとき、パリティ検査行列H6,k−1に対し、k(kは2以上s以下の整数)回目の列並び替え(列置換)を行い、パリティ検査行列H5,kを得る。そして、パリティ検査行列H5,kに対し、k回目の行並び替え(行置換)を行い、パリティ検査行列H6,kを得ることになる。なお、
1回目については、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCの図130、図131、図141、図142を用いて説明したパリティ検査行列に対し、1回目の列並び替え(列置換)を行い、パリティ検査行列H5,1を得る。そして、パリティ検査行列H5,1に対し、1回目の行並び替え(行置換)を行い、パリティ検査行列H6,1を得ることになる。
別の方法として、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCの図130、図131、図141、図142を用いて説明したパリティ検査行列に対し、行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H7を得る。そして、パリティ検査行列H7に対し、列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H8を得、送信装置、および、受信装置は、パリティ検査行列H8を用いて、符号化、復号化を行ってもよい。
また、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCの図130、図131、図141、図142を用いて説明したパリティ検査行列に対し、1回目の行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H7,1を得る。そして、パリティ検査行列H7,1に対し、1回目の列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H8,1を得る。
以上のような、行並び替え(行置換)、および、列並び替え(列置換)をs(sは2以上の整数)回繰り返して、パリティ検査行列H8,sを得る。このとき、パリティ検査行列H8,k−1に対し、k(kは2以上s以下の整数)回目の行並び替え(行置換)を行い、パリティ検査行列H7,kを得る。そして、パリティ検査行列H7,kに対し、k回目の列並び替え(列置換)を行い、パリティ検査行列H8,kを得ることになる。なお、1回目については、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCの図130、図131、図141、図142を用いて説明したパリティ検査行列に対し、1回目の行並び替え(行置換)を行い、パリティ検査行列H7,1を得る。そして、パリティ検査行列H7,1に対し、1回目の列並び替え(列置換)を行い、パリティ検査行列H8,1を得ることになる。
なお、パリティ検査行列H6、パリティ検査行列H6,s、パリティ検査行列H8、パリティ検査行列H8,sいずれも、行並び替え(行置換)および列並び替え(列置換)を行うと、実施の形態A4で説明した提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列、または、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCの図130、図131、図141、図142を用いて説明したパリティ検査行列を得ることができる。
n=3、つまり、符号化率R=2/3のとき、改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
n=4、つまり、符号化率R=3/4のとき、改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
n=5、つまり、符号化率R=4/5のとき、改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
n=6、つまり、符号化率R=5/6のとき、改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
n=8、つまり、符号化率R=7/8のとき、改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
n=9、つまり、符号化率R=8/9のとき、改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
n=10、つまり、符号化率R=9/10のとき、改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)において、式(A8)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
なお、本実施の形態において、符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)を形成するためのパリティ検査多項式として、式(B130)および式(B131)をあつかったが、パリティ検査多項式は、式(B130)、式(B131)に限ったものではない。例えば、符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のベースとなる符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC−CCのi番目(iは0以上m−1以下の整数)のパリティ検査多項式として、式(B130)の代わりに次式を扱ってもよい。
したがって、実施の形態A4における、提案する符号化率R=(n−1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第α行目のベクトルを生成するための0を満たすパリティ検査多項式である式(A27)は次式であらわされることになる。(式(B169)の(α−1)%m番目を利用することになる。)
したがって、実施の形態A4における、提案する符号化率R=(n−1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第α行目のベクトルを生成するための0を満たすパリティ検査多項式である式(A27)は次式であらわされることになる。(式(B171)の(α−1)%m番目を利用することになる。)
「高い誤り訂正能力を得るために、r1、r2、・・・、rn−2、rn−1いずれも3以上に設定する(1以上n−1以下の整数であり、これを満たす、すべてのkにおいてrkは3以上)。つまり、式(B130)において、1以上n−1以下の整数であり、これを満たす、すべてのkにおいて、Xk(D)の項数は4以上となる。」
とした。以下では、r1、r2、・・・、rn−2、rn−1いずれも3以上と設定したとき、高い誤り訂正能力を得るための条件の例について説明する。
「式(B131)において、1以上n−1以下の整数であり、これを満たす、すべてのkにおいて、Xk(D)の項数は4以上となる。」
となる。そして、上述で説明したように、式(B130)の0を満たすパリティ検査多項式は、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのベースとなる符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC−CCの0を満たすi番目(iは0以上m−1以下の整数)のパリティ検査多項式となり、式(B131)の0を満たすパリティ検査多項式は、提案する符号化率R=(n−1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第α行目のベクトルを生成するための0を満たすパリティ検査多項式となる。
<条件B4−1−1>
「a1,0,1%m=a1,1,1%m=a1,2,1%m=a1,3,1%m=・・・=a1,g,1%m=・・・=a1,m−2,1%m=a1,m−1,1%m=v1,1 (v1,1:固定値)」
「a1,0,2%m=a1,1,2%m=a1,2,2%m=a1,3,2%m=・・・=a1,g,2%m=・・・=a1,m−2,2%m=a1,m−1,2%m=v1,2 (v1,2:固定値)」
(gは0以上m−1以下の整数)
同様に、図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X2に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B4−1−2>
「a2,0,1%m=a2,1,1%m=a2,2,1%m=a2,3,1%m=・・・=a2,g,1%m=・・・=a2,m−2,1%m=a2,m−1,1%m=v2,1 (v2,1:固定値)」
「a2,0,2%m=a2,1,2%m=a2,2,2%m=a2,3,2%m=・・・=a2,g,2%m=・・・=a2,m−2,2%m=a2,m−1,2%m=v2,2 (v2,2:固定値)」
(gは0以上m−1以下の整数)
・
・
・
一般化すると、図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xkに関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。(kは、1以上n−1以下の整数)
<条件B4−1−k>
「ak,0,1%m=ak,1,1%m=ak,2,1%m=ak,3,1%m=・・・=ak,g,1%m=・・・=ak,m−2,1%m=ak,m−1,1%m=vk,1 (vk,1:固定値)」
「ak,0,2%m=ak,1,2%m=ak,2,2%m=ak,3,2%m=・・・=ak,g,2%m=・・・=ak,m−2,2%m=ak,m−1,2%m=vk,2 (vk,2:固定値)」
(gは0以上m−1以下の整数)
・
・
・
同様に、図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)
のパリティ検査行列Hpro_mの情報Xn−1に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B4−1−(n−1)>
「an−1,0,1%m=an−1,1,1%m=an−1,2,1%m=an−1,3,1%m=・・・=an−1,g,1%m=・・・=an−1,m−2,1%m=an−1,m−1,1%m=vn−1,1 (vn−1,1:固定値)」
「an−1,0,2%m=an−1,1,2%m=an−1,2,2%m=an−1,3,2%m=・・・=an−1,g,2%m=・・・=an−1,m−2,2%m=an−1,m−1,2%m=vn−1,2 (vn−1,2:固定値)」
(gは0以上m−1以下の整数)
なお、上記において、「%」はmoduloを意味する、つまり、「β%m」は、βをmで除算したときの余りを示す。<条件B4−1−1>から<条件B4−1−(n−1)>を別の表現をすると、以下のように表現することができる。なお、jは1、2である。
<条件B4−1’−1>
「a1,g,j%m=v1,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(v1,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでa1,g,j%m=v1,j(v1,j:固定値)が成立する。)
<条件B4−1’−2>
「a2,g,j%m=v2,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(v2,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでa2,g,j%m=v2,j(v2,j:固定値)が成立する。)
・
・
・
一般化すると、以下のようになる。
<条件B4−1’−k>
「ak,g,j%m=vk,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(vk,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでak,g,j%m=vk,j(vk,j:固定値)が成立する。)
(kは、1以上n−1以下の整数)
・
・
・
<条件B4−1’−(n−1)>
「an−1,g,j%m=vn−1,j for ∀g g=0,1,2,・・・,m−3,
m−2,m−1(vn−1,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでan−1,g,j%m=vn−1,j(vn−1,j:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件B4−2−1>
「v1,1≠0、かつ、v1,2≠0が成立する。」
かつ
「v1,1≠v1,2が成立する。」
<条件B4−2−2>
「v2,1≠0、かつ、v2,2≠0が成立する。」
かつ
「v2,1≠v2,2が成立する。」
・
・
・
一般化すると、以下のようになる。
<条件B4−2−k>
「vk,1≠0、かつ、vk,2≠0が成立する。」
かつ
「vk,1≠vk,2が成立する。」
(kは、1以上n−1以下の整数)
・
・
・
<条件B4−2−(n−1)>
「vn−1,1≠0、かつ、vn−1,2≠0が成立する。」
かつ
「vn−1,1≠vn−1,2が成立する。」
そして、「図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X1から情報Xn−1に関連する部分行列がイレギュラー」でなければならないので、以下の条件を与える。
<条件B4−3−1>
「a1,g,v%m=a1,h,v%m for ∀g∀h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでa1,g,v%m=a1,h
,v%mが成立する。)・・・条件#Xa−1
vは3以上r1以下の整数であり、すべてのvで「条件#Xa−1」を満たすことはない。
<条件B4−3−2>
「a2,g,v%m=a2,h,v%m for ∀g∀h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでa2,g,v%m=a2,h,v%mが成立する。)・・・条件#Xa−2
vは3以上r2以下の整数であり、すべてのvで「条件#Xa−2」を満たすことはない。
・
・
・
一般化すると、以下のようになる。
<条件B4−3−k>
「ak,g,v%m=ak,h,v%m for ∀g∀h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでak,g,v%m=ak,h,v%mが成立する。)・・・条件#Xa−k
vは3以上rk以下の整数であり、すべてのvで「条件#Xa−k」を満たすことはない。
(kは、1以上n−1以下の整数)
・
・
・
<条件B4−3−(n−1)>
「an−1,g,v%m=an−1,h,v%m for ∀g∀h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでan−1,g,v%m=an−1,h,v%mが成立する。)・・・条件#Xa−(n−1)
vは3以上rn−1以下の整数であり、すべてのvで「条件#Xa−(n−1)」を満たすことはない。
なお、<条件B4−3−1>から<条件B4−3−(n−1)>を別の表現をすると以下のような条件となる。
<条件B4−3’−1>
「a1,g,v%m≠a1,h,v%m for ∃g∃h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、a1,g,v%m≠a1,h,v%mが成立するg、hが存在する。)
・・・条件#Ya−1
vは3以上r1以下の整数であり、すべてのvで「条件#Ya−1」を満たす。
<条件B4−3’−2>
「a2,g,v%m≠a2,h,v%m for ∃g∃h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、a2,g,v%m≠a2,h,v%mが成立するg、hが存在する。)・・・条件#Ya−2
vは3以上r2以下の整数であり、すべてのvで「条件#Ya−2」を満たす。
・
・
・
一般化すると、以下のようになる。
<条件B4−3’−k>
「ak,g,v%m≠ak,h,v%m for ∃g∃h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、ak,g,v%m≠ak,h,v%mが成立するg、hが存在する。)・・・条件#Ya−k
vは3以上rk以下の整数であり、すべてのvで「条件#Ya−k」を満たす。
(kは、1以上n−1以下の整数)
・
・
・
<条件B4−3’−(n−1)>
「an−1,g,v%m≠an−1,h,v%m for ∃g∃h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、an−1,g,v%m≠an−1,h,v%mが成立するg、hが存在する。)・・・条件#Ya−(n−1)
vは3以上rn−1以下の整数であり、すべてのvで「条件#Ya−(n−1)」を満たす。
また、実施の形態1、実施の形態6、実施の形態A4等で説明したように、符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)を形成するためのパリティ検査多項式、式(B130)および式(B131)に相当するチェックノードが、ツリーを描いたときに、可能な限り多く出現するとよい可能性がある。
<条件B4−4−1>
・「mの約数のうち、1を除いた、約数の集合をR」としたとき、vk,1はRに属してはならない。
<条件B4−4−2>
・「mの約数のうち、1を除いた、約数の集合をR」としたとき、vk,2はRに属してはならない。
さらに、以下の条件を満たしてもよい。
<条件B4−5−1>
・vk,1は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1/w=g(gは自然数)を満たす、すべてのwを抽出した集合をSとしたとき、R∩Sは空集合である。なお、集合Rは<条件B4−4−1>で定義している。
<条件B4−5−2>
・vk,2は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2/w=g(gは自然数)を満たす、すべてのwを抽出した集合をSとしたとき、R∩Sは空集合である。なお、集合Rは<条件B4−4−2>で定義している。
なお、<条件B4−5−1>、<条件B4−5−2>を別の表現をすると、<条件B4−5−1’>、<条件B4−5−2’>となる。
<条件B4−5−1’>
・vk,1は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1の約数の集合をSとしたとき、R∩Sは空集合である。
<条件B4−5−2’>
・vk,2は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2の約数の集合をSとしたとき、R∩Sは空集合である。
なお、<条件B4−5−1><条件B4−5−1’>を別の表現をすると、<条件B4−5−1”>となり、<条件B4−5−2><条件B4−5−2’>を別の表現をすると、<条件B4−5−2”>。
<条件B4−5−1”>
・vk,1は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1とmの最大公約数が1である。
<条件B4−5−2”>
・vk,2は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2とmの最大公約数が1である。
符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)を形成するためのパリティ検査多項式として、式(B167)および式(B168)をあつかった。以下では、高い誤り訂正能力を得るための、パリティ検査多項式の式(B167)および式(B168)の条件の例について説明する。
「高い誤り訂正能力を得るために、r1、r2、・・・、rn−2、rn−1いずれも4以上に設定する(1以上n−1以下の整数であり、これを満たす、すべてのkにおいてrkは3以上)。つまり、式(B130)において、1以上n−1以下の整数であり、これを満たす、すべてのkにおいて、Xk(D)の項数は4以上となる。」
とした。以下では、r1、r2、・・・、rn−2、rn−1いずれも4以上と設定したとき、高い誤り訂正能力を得るための条件の例について説明する。
「式(B168)において、1以上n−1以下の整数であり、これを満たす、すべてのkにおいて、Xk(D)の項数は4以上となる。」
となる。そして、上述で説明したように、式(B167)の0を満たすパリティ検査多項式は、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのベースとなる符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC−CCの0を満たすi番目(iは0以上m−1以下の整数)のパリティ検査多項式となり、式(B168)の0を満たすパリティ検査多項式は、提案する符号化率R=(n−1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第α行目のベクトルを生成するための0を満たすパリティ検査多項式となる。
パリティ検査行列のβ列において、β列を抽出したベクトルにおいて、そのベクトルの要素において、「1」が存在する数がβ列の列重みとなる。
<条件B4−6−1>
「a1,0,1%m=a1,1,1%m=a1,2,1%m=a1,3,1%m=・・・=a1,g,1%m=・・・=a1,m−2,1%m=a1,m−1,1%m=v1,1 (v1,1:固定値)」
「a1,0,2%m=a1,1,2%m=a1,2,2%m=a1,3,2%m=・・・=a1,g,2%m=・・・=a1,m−2,2%m=a1,m−1,2%m=v1,2 (v1,2:固定値)」
「a1,0,3%m=a1,1,3%m=a1,2,3%m=a1,3,3%m=・・・=a1,g,3%m=・・・=a1,m−2,3%m=a1,m−1,3%m=v1,3 (v1,3:固定値)」
(gは0以上m−1以下の整数)
同様に、図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X2に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B4−6−2>
「a2,0,1%m=a2,1,1%m=a2,2,1%m=a2,3,1%m=・・・=a2,g,1%m=・・・=a2,m−2,1%m=a2,m−1,1%m=v2,1
(v2,1:固定値)」
「a2,0,2%m=a2,1,2%m=a2,2,2%m=a2,3,2%m=・・・=a2,g,2%m=・・・=a2,m−2,2%m=a2,m−1,2%m=v2,2
(v2,2:固定値)」
「a2,0,3%m=a2,1,3%m=a2,2,3%m=a2,3,3%m=・・・=a2,g,3%m=・・・=a2,m−2,3%m=a2,m−1,3%m=v2,3
(v2,3:固定値)」
(gは0以上m−1以下の整数)
・
・
・
一般化すると、図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xkに関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。(kは、1以上n−1以下の整数)
<条件B4−6−k>
「ak,0,1%m=ak,1,1%m=ak,2,1%m=ak,3,1%m=・・・=ak,g,1%m=・・・=ak,m−2,1%m=ak,m−1,1%m=vk,1
(vk,1:固定値)」
「ak,0,2%m=ak,1,2%m=ak,2,2%m=ak,3,2%m=・・・
=ak,g,2%m=・・・=ak,m−2,2%m=ak,m−1,2%m=vk,2
(vk,2:固定値)」
「ak,0,3%m=ak,1,3%m=ak,2,3%m=ak,3,3%m=・・・=ak,g,3%m=・・・=ak,m−2,3%m=ak,m−1,3%m=vk,3
(vk,3:固定値)」
(gは0以上m−1以下の整数)
・
・
・
同様に、図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xn−1に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B4−6−(n−1)>
「an−1,0,1%m=an−1,1,1%m=an−1,2,1%m=an−1,3,1%m=・・・=an−1,g,1%m=・・・=an−1,m−2,1%m=an−1,m−1,1%m=vn−1,1 (vn−1,1:固定値)」
「an−1,0,2%m=an−1,1,2%m=an−1,2,2%m=an−1,3,2%m=・・・=an−1,g,2%m=・・・=an−1,m−2,2%m=an−1,m−1,2%m=vn−1,2 (vn−1,2:固定値)」
「an−1,0,3%m=an−1,1,3%m=an−1,2,3%m=an−1,3,3%m=・・・=an−1,g,3%m=・・・=an−1,m−2,3%m=an−1,m−1,3%m=vn−1,3 (vn−1,3:固定値)」
(gは0以上m−1以下の整数)
なお、上記において、「%」はmoduloを意味する、つまり、「β%m」は、βをmで除算したときの余りを示す。<条件B4−6−1>から<条件B4−6−(n−1)>を別の表現をすると、以下のように表現することができる。なお、jは1、2、3である。
<条件B4−6’−1>
「a1,g,j%m=v1,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(v1,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでa1,g,j%m=v1,j(v1,j:固定値)が成立する。)
<条件B4−6’−2>
「a2,g,j%m=v2,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(v2,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでa2,g,j%m=v2,j(v2,j:固定値)が成立する。)
・
・
・
一般化すると、以下のようになる。
<条件B4−6’−k>
「ak,g,j%m=vk,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(vk,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでak,g,j%m=vk,j(vk,j:固定値)が成立する。)
(kは、1以上n−1以下の整数)
・
・
・
<条件B4−6’−(n−1)>
「an−1,g,j%m=vn−1,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(vn−1,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでan−1,g,j%m=vn−1,j(vn−1,j:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件B4−7−1>
「v1,1≠v1,2、v1,1≠v1,3、v1,2≠v1,3が成立する。」
<条件B4−7−2>
「v2,1≠v2,2、v2,1≠v2,3、v2,2≠v2,3が成立する。」
・
・
・
一般化すると、以下のようになる。
<条件B4−7−k>
「vk,1≠vk,2、vk,1≠vk,3、vk,2≠vk,3が成立する。」
(kは、1以上n−1以下の整数)
・
・
・
<条件B4−7−(n−1)>
「vn−1,1≠vn−1,2、vn−1,1≠vn−1,3、vn−1,2≠vn−1,3が成立する。」
そして、「図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X1から情報Xn−1に関連する部分行列がイレギュラー」でなければならないので、以下の条件を与える。
<条件B4−8−1>
「a1,g,v%m=a1,h,v%m for ∀g∀h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでa1,g,v%m=a1,h,v%mが成立する。)・・・条件#Xa−1
vは4以上r1以下の整数であり、すべてのvで「条件#Xa−1」を満たすことはない。
<条件B4−8−2>
「a2,g,v%m=a2,h,v%m for ∀g∀h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでa2,g,v%m=a2,h,v%mが成立する。)・・・条件#Xa−2
vは4以上r2以下の整数であり、すべてのvで「条件#Xa−2」を満たすことはない。
・
・
・
一般化すると、以下のようになる。
<条件B4−8−k>
「ak,g,v%m=ak,h,v%m for ∀g∀h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでak,g,v%m=ak,h,v%mが成立する。)・・・条件#Xa−k
vは4以上rk以下の整数であり、すべてのvで「条件#Xa−k」を満たすことはない。
(kは、1以上n−1以下の整数)
・
・
・
<条件B4−8−(n−1)>
「an−1,g,v%m=an−1,h,v%m for ∀g∀h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでan−1,g,v%m=an−1,h,v%mが成立する。)・・・条件#Xa−(n−1)
vは4以上rn−1以下の整数であり、すべてのvで「条件#Xa−(n−1)」を満たすことはない。
なお、<条件B4−8−1>から<条件B4−8−(n−1)>を別の表現をすると以下のような条件となる。
<条件B4−8’−1>
「a1,g,v%m≠a1,h,v%m for ∃g∃h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、a1,g,v%m≠a1,h,v%mが成立するg、hが存在する。)・・・条件#Ya−1
vは4以上r1以下の整数であり、すべてのvで「条件#Ya−1」を満たす。
<条件B4−8’−2>
「a2,g,v%m≠a2,h,v%m for ∃g∃h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、a2,g,v%m≠a2,h,v%mが成立するg、hが存在する。)・・・条件#Ya−2
vは4以上r2以下の整数であり、すべてのvで「条件#Ya−2」を満たす。
・
・
・
一般化すると、以下のようになる。
<条件B4−8’−k>
「ak,g,v%m≠ak,h,v%m for ∃g∃h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、ak,g,v%m≠ak,h,v%mが成立するg、hが存在する。)・・・条件#Ya−k
vは4以上rk以下の整数であり、すべてのvで「条件#Ya−k」を満たす。
(kは、1以上n−1以下の整数)
・
・
・
<条件B4−8’−(n−1)>
「an−1,g,v%m≠an−1,h,v%m for ∃g∃h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、an−1,g,v%m≠an−1,h,v%mが成立するg、hが存在する。)・・・条件#Ya−(n−1)
vは4以上rn−1以下の整数であり、すべてのvで「条件#Ya−(n−1)」を満たす。
このようにすることで、「図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X1に関連する部分行列、情報X2に関連する部分行列、・・・、情報Xn−1に関連する部分行列において、最低列重みを3となり」、以上の条件を満した、符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)とすることで、「イレギュラーLDPC符号」を生成することができ、高い誤り訂正能力を得ることができる。
符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)を形成するためのパリティ検査多項式として、式(B169)および式(B170)をあつかった。以下では、高い誤り訂正能力を得るための、パリティ検査多項式の式(B169)および式(B170)の条件の例について説明する。
上述で説明したように、式(B169)の0を満たすパリティ検査多項式は、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのベースとなる符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC−CCの0を満たすi番目(iは0以上m−1以下の整数)のパリティ検査多項式となり、式(B170)の0を満たすパリティ検査多項式は、提案する符号化率R=(n−1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第α行目のベクトルを生成するための0を満たすパリティ検査多項式となる。
<条件B4−9−1>
「a1,0,1%m=a1,1,1%m=a1,2,1%m=a1,3,1%m=・・・=a1,g,1%m=・・・=a1,m−2,1%m=a1,m−1,1%m=v1,
1 (v1,1:固定値)」
「a1,0,2%m=a1,1,2%m=a1,2,2%m=a1,3,2%m=・・・=a1,g,2%m=・・・=a1,m−2,2%m=a1,m−1,2%m=v1,2 (v1,2:固定値)」
(gは0以上m−1以下の整数)
同様に、図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X2に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B4−9−2>
「a2,0,1%m=a2,1,1%m=a2,2,1%m=a2,3,1%m=・・・=a2,g,1%m=・・・=a2,m−2,1%m=a2,m−1,1%m=v2,1
(v2,1:固定値)」
「a2,0,2%m=a2,1,2%m=a2,2,2%m=a2,3,2%m=・・・=a2,g,2%m=・・・=a2,m−2,2%m=a2,m−1,2%m=v2,2
(v2,2:固定値)」
(gは0以上m−1以下の整数)
・
・
・
一般化すると、図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xkに関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。(kは、1以上n−1以下の整数)
<条件B4−9−k>
「ak,0,1%m=ak,1,1%m=ak,2,1%m=ak,3,1%m=・・・=ak,g,1%m=・・・=ak,m−2,1%m=ak,m−1,1%m=vk,1
(vk,1:固定値)」
「ak,0,2%m=ak,1,2%m=ak,2,2%m=ak,3,2%m=・・・=ak,g,2%m=・・・=ak,m−2,2%m=ak,m−1,2%m=vk,2
(vk,2:固定値)」
(gは0以上m−1以下の整数)
・
・
・
同様に、図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xn−1に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B4−9−(n−1)>
「an−1,0,1%m=an−1,1,1%m=an−1,2,1%m=an−1,3,1%m=・・・=an−1,g,1%m=・・・=an−1,m−2,1%m=an−1,m−1,1%m=vn−1,1 (vn−1,1:固定値)」
「an−1,0,2%m=an−1,1,2%m=an−1,2,2%m=an−1,3,2%m=・・・=an−1,g,2%m=・・・=an−1,m−2,2%m=an−1,m−1,2%m=vn−1,2 (vn−1,2:固定値)」
(gは0以上m−1以下の整数)
なお、上記において、「%」はmoduloを意味する、つまり、「β%m」は、βをmで除算したときの余りを示す。<条件B4−9−1>から<条件B4−9−(n−1)>を別の表現をすると、以下のように表現することができる。なお、jは1、2である。
<条件B4−9’−1>
「a1,g,j%m=v1,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(v1,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでa1,g,j%m=v1,j(v1,j:固定値)が成立する。)
<条件B4−9’−2>
「a2,g,j%m=v2,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(v2,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでa2,g,j%m=v2,j(v2,j:固定値)が成立する。)
・
・
・
一般化すると、以下のようになる。
<条件B4−9’−k>
「ak,g,j%m=vk,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(vk,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでak,g,j%m=vk,j(vk,j:固定値)が成立する。)
(kは、1以上n−1以下の整数)
・
・
・
<条件B4−9’−(n−1)>
「an−1,g,j%m=vn−1,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(vn−1,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでan−1,g,j%m=vn−1,j(vn−1,j:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件B4−10−1>
「v1,1≠0、かつ、v1,2≠0が成立する。」
かつ
「v1,1≠v1,2が成立する。」
<条件B4−10−2>
「v2,1≠0、かつ、v2,2≠0が成立する。」
かつ
「v2,1≠v2,2が成立する。」
・
・
・
一般化すると、以下のようになる。
<条件B4−10−k>
「vk,1≠0、かつ、vk,2≠0が成立する。」
かつ
「vk,1≠vk,2が成立する。」
(kは、1以上n−1以下の整数)
・
・
・
<条件B4−10−(n−1)>
「vn−1,1≠0、かつ、vn−1,2≠0が成立する。」
かつ
「vn−1,1≠vn−1,2が成立する。」
このようにすることで、「図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X1に関連する部分行列、情報X2に関連する部分行列、・・・、情報Xn−1に関連する部分行列において、最低列重みを3となり」、以上の条件を満した、符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)とすることで、「イレギュラーLDPC符号」を生成することができ、高い誤り訂正能力を得ることができる。
上記で記載した、vk,1およびvk,2(kは、1以上n−1以下の整数)は、以下の条件を満たすとよい。
<条件B4−11−1>
・「mの約数のうち、1を除いた、約数の集合をR」としたとき、vk,1はRに属してはならない。
<条件B4−11−2>
・「mの約数のうち、1を除いた、約数の集合をR」としたとき、vk,2はRに属してはならない。
さらに、以下の条件を満たしてもよい。
<条件B4−12−1>
・vk,1は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1/w=g(gは自然数)を満たす、すべてのwを抽出した集合をSとしたとき、R∩Sは空集合である。なお、集合Rは<条件B4−11−1>で定義している。
<条件B4−12−2>
・vk,2は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2/w=g(gは自然数)を満たす、すべてのwを抽出した集合をSとしたとき、R∩Sは空集合である。なお、集合Rは<条件B4−11−2>で定義している。
なお、<条件B4−12−1>、<条件B4−12−2>を別の表現をすると、<条件B4−12−1’>、<条件B4−12−2’>となる。
<条件B4−12−1’>
・vk,1は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1の約数の集合をSとしたとき、R∩Sは空集合である。
<条件B4−12−2’>
・vk,2は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2の約数の集合をSとしたとき、R∩Sは空集合である。
なお、<条件B4−12−1><条件B4−12−1’>を別の表現をすると、<条件B4−12−1”>となり、<条件B4−12−2><条件B4−12−2’>を別の表現をすると、<条件B4−12−2”>。
<条件B4−12−1”>
・vk,1は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1とmの最大公約数が1である。
<条件B4−12−2”>
・vk,2は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2とmの最大公約数が1である。
符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)を形成するためのパリティ検査多項式として、式(B171)および式(B172)をあつかった。以下では、高い誤り訂正能力を得るための、パリティ検査多項式の式(B171)および式(B172)の条件の例について説明する。
上述で説明したように、式(B171)の0を満たすパリティ検査多項式は、提案する符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのベースとなる符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC−CCの0を満たすi番目(iは0以上m−1以下の整数)のパリティ検査多項式となり、式(B172)の0を満たすパリティ検査多項式は、提案する符号化率R=(n−1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第α行目のベクトルを生成するための0を満たすパリティ検査多項式となる。
<条件B4−13−1>
「a1,0,1%m=a1,1,1%m=a1,2,1%m=a1,3,1%m=・・・=a1,g,1%m=・・・=a1,m−2,1%m=a1,m−1,1%m=v1,1 (v1,1:固定値)」
「a1,0,2%m=a1,1,2%m=a1,2,2%m=a1,3,2%m=・・・=a1,g,2%m=・・・=a1,m−2,2%m=a1,m−1,2%m=v1,2 (v1,2:固定値)」
「a1,0,3%m=a1,1,3%m=a1,2,3%m=a1,3,3%m=・・・=a1,g,3%m=・・・=a1,m−2,3%m=a1,m−1,3%m=v1,3 (v1,3:固定値)」
(gは0以上m−1以下の整数)
同様に、図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X2に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B4−13−2>
「a2,0,1%m=a2,1,1%m=a2,2,1%m=a2,3,1%m=・・・
=a2,g,1%m=・・・=a2,m−2,1%m=a2,m−1,1%m=v2,1
(v2,1:固定値)」
「a2,0,2%m=a2,1,2%m=a2,2,2%m=a2,3,2%m=・・・=a2,g,2%m=・・・=a2,m−2,2%m=a2,m−1,2%m=v2,2
(v2,2:固定値)」
「a2,0,3%m=a2,1,3%m=a2,2,3%m=a2,3,3%m=・・・=a2,g,3%m=・・・=a2,m−2,3%m=a2,m−1,3%m=v2,3
(v2,3:固定値)」
(gは0以上m−1以下の整数)
・
・
・
一般化すると、図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xkに関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。(kは、1以上n−1以下の整数)
<条件B4−13−k>
「ak,0,1%m=ak,1,1%m=ak,2,1%m=ak,3,1%m=・・・=ak,g,1%m=・・・=ak,m−2,1%m=ak,m−1,1%m=vk,1
(vk,1:固定値)」
「ak,0,2%m=ak,1,2%m=ak,2,2%m=ak,3,2%m=・・・=ak,g,2%m=・・・=ak,m−2,2%m=ak,m−1,2%m=vk,2
(vk,2:固定値)」
「ak,0,3%m=ak,1,3%m=ak,2,3%m=ak,3,3%m=・・・=ak,g,3%m=・・・=ak,m−2,3%m=ak,m−1,3%m=vk,3
(vk,3:固定値)」
(gは0以上m−1以下の整数)
・
・
・
同様に、図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報Xn−1に関連する部分行列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件B4−13−(n−1)>
「an−1,0,1%m=an−1,1,1%m=an−1,2,1%m=an−1,3,1%m=・・・=an−1,g,1%m=・・・=an−1,m−2,1%m=an−1,m−1,1%m=vn−1,1 (vn−1,1:固定値)」
「an−1,0,2%m=an−1,1,2%m=an−1,2,2%m=an−1,3,2%m=・・・=an−1,g,2%m=・・・=an−1,m−2,2%m=an−1,m−1,2%m=vn−1,2 (vn−1,2:固定値)」
「an−1,0,3%m=an−1,1,3%m=an−1,2,3%m=an−1,3
,3%m=・・・=an−1,g,3%m=・・・=an−1,m−2,3%m=an−1,m−1,3%m=vn−1,3 (vn−1,3:固定値)」
(gは0以上m−1以下の整数)
なお、上記において、「%」はmoduloを意味する、つまり、「β%m」は、βをmで除算したときの余りを示す。<条件B4−13−1>から<条件B4−13−(n−1)>を別の表現をすると、以下のように表現することができる。なお、jは1、2、3である。
<条件B4−13’−1>
「a1,g,j%m=v1,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(v1,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでa1,g,j%m=v1,j(v1,j:固定値)が成立する。)
<条件B4−13’−2>
「a2,g,j%m=v2,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(v2,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでa2,g,j%m=v2,j(v2,j:固定値)が成立する。)
・
・
・
一般化すると、以下のようになる。
<条件B4−13’−k>
「ak,g,j%m=vk,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(vk,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでak,g,j%m=vk,j(vk,j:固定値)が成立する。)
(kは、1以上n−1以下の整数)
・
・
・
<条件B4−13’−(n−1)>
「an−1,g,j%m=vn−1,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(vn−1,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでan−1,g,j%m=vn−1,j(vn−1,j:固定値)が成立する。)
実施の形態1、実施の形態6と同様に、さらに、以下の条件を満たすと、高い誤り訂正能力を得ることができる。
<条件B4−14−1>
「v1,1≠v1,2、v1,1≠v1,3、v1,2≠v1,3が成立する。」
<条件B4−14−2>
「v2,1≠v2,2、v2,1≠v2,3、v2,2≠v2,3が成立する。」
・
・
・
一般化すると、以下のようになる。
<条件B4−14−k>
「vk,1≠vk,2、vk,1≠vk,3、vk,2≠vk,3が成立する。」
(kは、1以上n−1以下の整数)
・
・
・
<条件B4−14−(n−1)>
「vn−1,1≠vn−1,2、vn−1,1≠vn−1,3、vn−1,2≠vn−1,3が成立する。」
このようにすることで、「図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列Hpro_mの情報X1に関連する部分行列、情報X2に関連する部分行列、・・・、情報Xn−1に関連する部分行列において、最低列重みを3となり」、以上の条件を満した、符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)とすることで、「イレギュラーLDPC符号」を生成することができ、高い誤り訂正能力を得ることができる。
(実施の形態C1)
について説明する。
他の実施の形態(例えば、実施の形態1から実施の形態18)において、パリティ検査多項式に基づくLDPC畳み込み符号の基本的な内容、テイルバイティング、既知情報を用いたターミネーション方法について説明しているが、本実施の形態における非正則LDPC畳み込み符号の以下で説明では、基本的な説明は、これまでに説明した、他の実施の形態に基づいている。
X1,X2,・・・,Xn−1の情報ビット、及びパリティビットPの時点jにおけるビットをそれぞれX1,j,X2,j,・・・,Xn−1,j及びPjと表す。そして、時点jにおけるベクトルujをuj=(X1,j,X2,j,・・・,Xn−1,j,Pj)と表す。また、符号化系列をu=(u0,u1,・・・,uj,・・・)Tと表す。Dを遅延演算子とすると、情報ビットX1,X2,・・・,Xn−1の多項式はX1(D),X2(D),・・・,Xn−1(D)と表され、パリティビットPの多項式はP(D)と表される。このとき、式(C1)で表される0を満たすパリティ検査多項式を考える。
式(C1)においてap,q(p=1,2,・・・,n−1;q=1,2,・・・,rp)及びbs(s=1,2,・・・,ε)は自然数とする。また、y,z=1,2,・・・,rp、y≠zの∀(y,z)に対して、ap,y≠ap,zを満たす。また、y,z=1,2,・・・,ε、y≠zの∀(y,z)に対して、by≠bzを満たす。時変周期mのLDPC−CCのために、m個の0を満たすパリティ検査多項式を用意することになる。このとき、m個の0を満たすパリティ検査多項式を「パリティ検査多項式#0、パリティ検査多項式#1、パリティ検査多項式#2、・・・、パリティ検査多項式#(m−2)、パリティ検査多項式#(m−1)」と名付ける。式(C1)の0を満たすパリティ検査多項式に基づいた場合、パリティ検査多項式#0、パリティ検査多項式#1、パリティ検査多項式#2、・・・、パリティ検査多項式#(m−2)、パリティ検査多項式#(m−1)において、Xp(D)の項数(p=1,2,・・・,n−1)は等しくなり、また、パリティ検査多項式#0、パリティ検査多項式#1、パリティ検査多項式#2、・・・、パリティ検査多項式#(m−2)、パリティ検査多項式#(m−1)において、P(D)の項数は等しくなる。しかし、式(C1)は一例であり、パリティ検査多項式#0、パリティ検査多項式#1、パリティ検査多項式#2、・・・、パリティ検査多項式#(m−2)、パリティ検査多項式#(m−1)において、Xp(D)の項数は等しくなくてもよく、また、パリティ検査多項式#0、パリティ検査多項式#1、パリティ検査多項式#2、・・・、パリティ検査多項式#(m−2)、パリティ検査多項式#(m−1)において、P(D)の項数は等しくなくてもよい。
式(C2)において、AXδ,i(D)(δ=1,2,・・・,n−1)及びBi(D)のDの最大次数をそれぞれΓXδ,i及びΓP,iと表す。そして、ΓXδ,i及びΓP,iの最大値をΓiとする。そして、Γi(i=0,1,・・・,m−1)の最大値をΓとする。符号化系列uを考慮すると、Γを用いると、i番目のパリティ検査多項式に相当するベクトルhiは式(C3)のように表される。
式(C3)において、hi,v(v=0,1,・・・,Γ)は1×nのベクトルであり、[αi,v,X1,αi,v,X2,・・・,αi,v,Xn−1,βi,v]と表される。なぜなら、式(C2)のパリティ検査多項式は、αi,v,XwDvXw(D)及びβi,vDvP(D)(w=1,2,・・・,n−1、かつ、αi,v,Xw,βi,v∈[0,1])をもつからである。この場合、式(C2)の0を満たすパリティ検査多項式は、D0X1(D),D0X2(D),・・・,D0Xn−1(D)及びD0P(D)をもつので、式(C4)を満たす。
式(C5)において、∀kに対して、Λ(k)=Λ(k+m)を満たす。ただし、Λ(k)はパリティ検査行列kの行目におけるhiに相当する。
上述では、パリティ検査多項式に基づくLDPC畳み込み符号における0を満たすパリティ検査多項式のベースとなるパリティ検査多項式として、式(C1)を取り扱っているが、必ずしも式(C1)の形態に限らず、例えば、式(C1)のかわりに、式(C6)のような0を満たすパリティ検査多項式としてもよい。
式(C6)においてap,q(p=1,2,・・・,n−1;q=1,2,・・・,rp)及びbs(s=1,2,・・・,ε)は0以上の整数とする。また、y,z=1,2,・・・,rp、y≠zの∀(y,z)に対して、ap,y≠ap,zを満たす。また、y,z=1,2,・・・,ε、y≠zの∀(y,z)に対して、by≠bzを満たす。
以上が、パリティ検査多項式に基づく、符号化率R=(n−1)/nの時変周期mのLDPC−CCの概要である。なお、通信システムや放送システムの実運用上では、他の実施の形態で説明したように、テイルバイティング、または、既知情報を用いてターミネーション(例えば、ゼロターミネーション(information-zero-termination))を用いることになる。
以下では、一例として、パリティ検査多項式に基づく、符号化率(n−1)/n、時変周期mの非正則LDPC−CCの構成方法について説明する。(なお、mは2以上の自然数、nは2以上の自然数となる。)
X1,X2,・・・,Xn−1の情報ビット、及びパリティビットPの時点jにおけるビットをそれぞれX1,j,X2,j,・・・,Xn−1,j及びPjと表す。そして、時点jにおけるベクトルujをuj=(X1,j,X2,j,・・・,Xn−1,j,Pj)と表す。
したがって、例えば、n=2のときuj=(X1,j,Pj)、n=3のときuj=(X1,j,X2,j,Pj)、n=4のときuj=(X1,j,X2,j,X3,j,Pj)、n=5のときuj=(X1,j,X2,j,X3,j,X4,j,Pj)、n=6のときuj=(X1,j,X2,j,X3,j,X4,j,X5,j,Pj)、n=7のときuj=(X1,j,X2,j,X3,j,X4,j,X5,j,X6,j,Pj)、n=8のときuj=(X1,j,X2,j,X3,j,X4,j,X5,j,X6,j,X7,j,Pj)、n=9のときuj=(X1,j,X2,j,X3,j,X4,j,X5,j,X6,j,X7,j,X8,j,Pj)、n=10のときuj=(X1,j,X2,j,X3,j,X4,j,X5,j,X6,j,X7,j,X8,j,X9,j,Pj)となる。
すると、符号化系列uは、u=(u0,u1,・・・,uj,・・・)Tとあらわされる。Dを遅延演算子とすると、情報ビットX1,X2,・・・,Xn−1の多項式はX1(D),X2(D),・・・,Xn−1(D)と表され、パリティビットPの多項式はP(D)と表される。このとき、本実施の形態の一例となる、符号化率(n−1)/n、時変周期mの非正則LDPC−CCのi番目の0を満たすパリティ検査多項式を次式であらわす。
このとき、ap,i,q(p=1,2,・・・,n−1(pは1以上n−1以下の整数);q=1,2,・・・,rp(qは1以上rp以下の整数))は自然数とする。また、y,z=1,2,・・・,rp(y,zは1以上rp以下の整数)かつy≠zであり、これを満たす、∀(y,z)に対して(すべてのyおよびすべてのzに対して)、ap,i,y≠ap,i,zを満たす。
次に、上述の場合のパリティ検査行列の構成について説明する。
式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n−1)/n、時変周期mの非正則LDPC−CCの時点j(ただし、jは0以上の整数)のX1,X2,・・・,Xn−1の情報ビット、及びパリティビットPをそれぞれX1,j,X2,j,・・・,Xn−1,j及びPjと表す。そして、時点jにおけるベクトルujをuj=(X1,j,X2,j,・・・,Xn−1,j,Pj)と表す。したがって、例えば、n=2のときuj=(X1,j,Pj)、n=3のときuj=(X1,j,X2,j,Pj)、n=4のときuj=(X1,j,X2,j,X3,j,Pj)、n=5のときuj=(X1,j,X2,j,X3,j,X4,j,Pj)、n=6のときuj=(X1,j,X2,j,X3,j,X4,j,X5,j,Pj)、n=7のときuj=(X1,j,X2,j,X3,j,X4,j,X5,j,X6,j,Pj)、n=8のときuj=(X1,j,X2,j,X3,j,X4,j,X5,j,X6,j,X7,j,Pj)、n=9のときuj=(X1,j,X2,j,X3,j,X4,j,X5,j,X6,j,X7,j,X8,j,Pj)、n=10のときuj=(X1,j,X2,j,X3,j,X4,j,X5,j,X6,j,X7,j,X8,j,X9,j,Pj)となる。
すると、符号化系列uは、u=(u0,u1,・・・,uj,・・・)Tとあらわされる。そして、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n−1)/n、時変周期mの非正則LDPC−CCのパリティ検査行列をHproとすると、Hprou=0が成立する(このとき、「Hprou=0(ゼロ)」は、全ての要素が0(ゼロ)のベクトルであることを意味する)。
このときの式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n−1)/n、時変周期mの非正則LDPC−CCのパリティ検査行列Hproの構成について図143を用いて説明する。
なお、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n−1)/n、時変周期mの非正則LDPC−CCのパリティ検査行列Hproの最初の行は、第1行と呼び、Hproの最初の列を第1列と呼ぶことにする。
式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n−1)/n、時変周期mの非正則LDPC−CCのi番目(iは0以上m−1以下の整数)のパリティ検査多項式である式(C7)に対応するサブ行列(ベクトル)をHiとすると、第iサブ行列は次式のようにあらわすことができる。
式(C8)において、n個連続した「1」は、式(C7)の各式におけるD0X1(D)=1×X1(D)、D0X2(D)=1×X2(D)、・・・D0Xn−1(D)=1×Xn−1(D)(つまり、D0Xk(D)=1×Xk(D)なお、kは1以上n−1以下の整数)及びD0P(D)=1×P(D)の項に相当する。
なお、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n−1)/n、時変周期mの非正則LDPC−CCのパリティ検査行列Hproにおいて、第1行目は、式(C7)の0を満たすパリティ検査多項式のうちの、0を満たす0(i=0)番目のパリティ検査多項式により生成することができる。
同様に、パリティ検査行列Hproの第2行目は、式(C7)の0を満たすパリティ検査多項式のうちの、0を満たす1(i=1)番目のパリティ検査多項式により生成することができる。
ただし、本実施の形態において(本明細書の中で共通である)、「%」はmoduloを意味し、例えば、「α%q」は、αをqで除算したときの余りである。(αは0以上の整数、qは自然数である。)
以上より、図143において、符号14301はパリティ検査行列のm×z−1行(zは1以上の整数)を示しており、式(C7)のm−2番目の0を満たすパリティ検査多項式に相当し、符号14302はパリティ検査行列のm×z行(zは1以上の整数)を示しており、式(C7)のm−1番目の0を満たすパリティ検査多項式に相当し、符号14303はパリティ検査行列のm×z+1行(zは1以上の整数。ただし、zが1以上の整数、すべてにおいて、図143の構成が成立するわけではない。この点については、後で詳しく説明する。)を示しており、式(C7)の0番目の0を満たすパリティ検査多項式に相当する。なお、他の行についても、行とパリティ検査多項式の関係は同様となる。
符号14305は、時点m×z−1に相当する列群を示しており、符号14305の列群は、「X1,m×z−1に対応する列、X2,m×z−1に対応する列、・・・、Xn−1,m×z−1に対応する列、Pm×z−1に対応する列、」の順に並んでいる。
符号14306は、時点m×zに相当する列群を示しており、符号14306の列群は、「X1,m×zに対応する列、X2,m×zに対応する列、・・・、Xn−1,m×zに対応する列、Pm×zに対応する列、」の順に並んでいる。
以下では、テイルバイティングを行わないときの、Hproの具体的な構成方法の例について、詳しく説明する。
式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n−1)/n、時変周期mの非正則LDPC−CCのパリティ検査行列Hproの第s行目において、(sは1以上z以下の整数)(s−1)%m=k(%はモジュラ演算(modulo)を示す。)とすると、パリティ検査行列Hproの第s行目に関連するパリティ検査多項式は、式(C7)から、以下のようにあらわされる。
そして、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n−1)/n、時変周期mの非正則LDPC−CCのパリティ検査行列Hproの第s行のHcomp[s][j]において、jが、<ケースC−1>および<ケースC−2>および<ケースC−3>を満たさない場合、Hcomp[s][j]=0となる。
なお、<ケースC−1>は、式(C7)におけるパリティ検査多項式のD0Xq(D)(=Xq(D))(qは1以上n−1以下の整数)およびD0P(D)(=P(D))に相当する要素となる。
図105は、符号化率(N−M)/N(N>M>0)のLDPC符号のパリティ検査行列Hの構成を示しており、例えば、図105のパリティ検査行列は、M行N列の行列となる。
そして、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n−1)/n、時変周期mの非正則LDPC−CCのパリティ検査行列Hproを、図105のパリティ検査行列Hであらわすものとする。(したがって、Hpro=(図105の)Hとなる。以下では、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n−1)/n、時変周期mの非正則LDPC−CCのパリティ検査行列HproをHと記載することにする。したがって、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n−1)/n、時変周期mの非正則LDPC−CCの符号化系列uは有限長であるものとする。)
このとき、Hvj=0が成立する。(なお、ここでの「Hvj=0の0(ゼロ)」は、全ての要素が0のベクトルであることを意味する。つまり、すべてのk(kは1以上M以下の整数)において、第k行の値は0である。)
そして、第j番目の送信系列vjの第k行目(ただし、kは、1以上N以下の整数)の要素(図105において、送信系列vjの転置行列vj Tの場合、第k列目の要素)は、Yj,kであるとともに、符号化率(N−M)/N(N>M>0)のLDPC符号のパリティ検査行列(つまり、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n−1)/n、時変周期mの非正則LDPC−CCのパリティ検査行列)Hの第k列目を抽出したベクトルを図105のようにckとあらわす。このとき、LDPC符号のパリティ検査行列(つまり、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n−1)/n、時変周期mの非正則LDPC−CCのパリティ検査行列)Hは、以下のようにあらわされる。
図106は、第j番目の送信系列(符号語)vj T=(Yj,1、Yj,2、Yj,3、・・・、Yj,N−2、Yj,N−1、Yj,N)に対しインタリーブを行うときの構成を示している。図106において、符号化部10602は、情報10601を入力とし、符号化を行い、符号化後のデータ10603を出力する。例えば、図106の符号化率(N−M)/N(N>M>0)のLDPC(ブロック)符号(式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n−1)/n、時変周期mの非正則LDPC−CC)の符号化を行う場合、符号化部10602は、第j番目における情報を入力し、図105の符号化率(N−M)/N(N>M>0)のLDPC符号のパリティ検査行列(つまり、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n−1)/n、時変周期mの非正則LDPC−CC)Hに基づき、符号化を行い、第j番目の送信系列(符号語)vj T=(Yj,1、Yj,2、Yj,3、・・・、Yj,N−2、Yj,N−1、Yj,N)を出力する。
そして、蓄積および並び替え部(インタリーブ部)10604は、符号化後のデータ10603を入力とし、符号化後のデータ10603を蓄積し、順番の並び替えを行い、インタリーブ後のデータ10605を出力する。したがって、蓄積および並び替え部(インタリーブ部)10604は、第j番目の送信系列vjを、vj=(Yj,1、Yj,2、Yj,3、・・・、Yj,N−2、Yj,N−1、Yj,N)Tを入力とし、送信系列vjの要素の順番の入れ替えを行った結果、図106に示すように送信系列(符号語)v’j=(Yj,32、Yj,99、Yj,23、・・・、Yj,234、Yj,3、Yj,43)Tを出力することになる(v’jは一例である。)。なお、前述でも触れたように第j番目の送信系列vjに対し、送信系列vjの要素の順番の入れ替えを行った送信系列がv’jとなる。したがって、v’jは、1行N列のベクトルであり、v’jのN個の要素には、Yj,1、Yj,2、Yj,3、・・・、Yj,N−2、Yj,N−1、Yj,Nがそれぞれ一つ存在することになる。
よって、送信系列(符号語)v’j=(Yj,32、Yj,99、Yj,23、・・・、Yj,234、Yj,3、Yj,43)Tとした場合のパリティ検査行列H’は、以下のようにあらわされる。
なお、「第j番目の送信系列v’jの第i行目の要素(図107において、送信系列v’jの転置行列v’j Tの場合、第i列目の要素)は、Yj,g(g=1、2、3、・・・、N−2、N−1、N)とあらわされたとき、パリティ検査行列H’の第i列目を抽出したベクトルは、上述で説明したベクトルckを用いると、cgとなる。」の規則にしたがって、パリティ検査行列を作成すれば、上記の例に限らず、第j番目の送信系列v’jのパリティ検査行列を得ることができる。
したがって、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n−1)/n、時変周期mの非正則LDPC−CCの送信系列(符号語)に対し、インタリーブを施した場合、上述のように、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n−1)/n、時変周期mの非正則LDPC−CCのパリティ検査行列に対し、列並び替え(列置換)を行った行列が、インタリーブを施した送信系列(符号語)のパリティ検査行列となる。
例えば、送信装置が、第j番目の送信系列(符号語)v’j=(Yj,32、Yj,99、Yj,23、・・・、Yj,234、Yj,3、Yj,43)Tを送信したものとする。すると、各ビットの対数尤度比計算部10800は、受信信号から、Yj,32の対数尤度比、Yj,99の対数尤度比、Yj,23の対数尤度比、・・・、Yj,234の対数尤度比、Yj,3の対数尤度比、Yj,43の対数尤度比を計算し、出力することになる。
蓄積および並び替え部(デインタリーブ部)10802は、対数尤度比信号10801を入力とし、蓄積、並び替えを行い、デインタリーブ後の対数尤度比信号10803を出力する。
復号器10604は、デインタリーブ後の対数尤度比信号10803を入力とし、図105に示した符号化率(N−M)/N(N>M>0)のLDPC符号のパリティ検査行列(つまり、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n−1)/n、時変周期mの非正則LDPC−CCのパリティ検査行列)Hに基づき、非特許文献4〜6、非特許文献8に示されているようなBP復号、sum-product復号、min-sum復号、offset BP復号、Normalized BP復号、Shuffled BP復号、スケジューリングを行ったLayered BP復号、パイプライン復号などの信頼度伝播復号(他の復号方法を用いてもよい)を行い、推定系列10805を得る。
上述と異なる復号関連の構成について説明する。上述と異なる点は、蓄積および並び替え部(デインタリーブ部)10802がない点である。各ビットの対数尤度比計算部10800は、上述と同様の動作となるので説明を省略する。
例えば、送信装置が、第j番目の送信系列(符号語)v’j=(Yj,32、Yj,99、Yj,23、・・・、Yj,234、Yj,3、Yj,43)Tを送信したものとする
。すると、各ビットの対数尤度比計算部10800は、受信信号から、Yj,32の対数尤度比、Yj,99の対数尤度比、Yj,23の対数尤度比、・・・、Yj,234の対数尤度比、Yj,3の対数尤度比、Yj,43の対数尤度比を計算し、出力することになる(図108の10806に相当)。
例えば、復号器10607は、Yj,32の対数尤度比、Yj,99の対数尤度比、Yj,23の対数尤度比、・・・、Yj,234の対数尤度比、Yj,3の対数尤度比、Yj,43の順に入力とし、図107に示した符号化率(N−M)/N(N>M>0)のLDPC符号のパリティ検査行列H’(つまり、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n−1)/n、時変周期mの非正則LDPC−CCのパリティ検査行列と等価のパリティ検査行列H’)に基づき、信頼度伝播復号(他の復号方法を用いてもよい)を行い、推定系列を得る。
したがって、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n−1)/n、時変周期mの非正則LDPC−CCの送信系列(符号語)に対し、インタリーブを施した場合、上述のように、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n−1)/n、時変周期mの非正則LDPC−CCのパリティ検査行列に対し、列並び替え(列置換)を行った行列が、インタリーブを施した送信系列(符号語)のパリティ検査行列を受信装置は用いることで、得られた各ビットの対数尤度比に対し、デインタリーブを行わなくても、信頼度伝播復号を行い、推定系列を得ることができる。
なお、上述の説明において、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n−1)/n、時変周期mの非正則LDPC−CCを扱っているので、(n−1)/n=(N−M)/Nを満たすように、N,Mを設定すればよい、ということが、LDPC−CCの特徴的な点となる。
図109は、符号化率(N−M)/NのLDPC符号の第j番目の送信系列(符号語)vj T=(Yj,1、Yj,2、Yj,3、・・・、Yj,N−2、Yj,N−1、Yj,N)に対応するパリティ検査行列Hの構成を示している。例えば、図109のパリティ
検査行列は、M行N列の行列となる。そして、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n−1)/n、時変周期mの非正則LDPC−CCのパリティ検査行列Hproを、図109のパリティ検査行列Hであらわすものとする。(したがって、Hpro=(図109の)Hとなる。以下では、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n−1)/n、時変周期mの非正則LDPC−CCのパリティ検査行列をHと記載することにする。)(組織符号の場合、Yj,k(kは1以上N以下の整数)は、情報(X1からXn−1)またはパリティとなる。そして、Yj,kは、(N−M)個の情報とM個のパリティで構成されていることになる。)。このとき、Hvj=0が成立する。(なお、ここでの「Hvj=0の0(ゼロ)」は、全ての要素が0のベクトルであることを意味する。つまり、すべてのk(kは1以上M以下の整数)において、第k行の値は0である。)
そして、図109のパリティ検査行列Hの第k行目(kは1以上M以下の整数)を抽出したベクトルをzkとあらわす。このとき、LDPC符号のパリティ検査行列(つまり、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n−1)/n、時変周期mの非正則LDPC−CCのパリティ検査行列)Hは、以下のようにあらわされる。
次に、図109のパリティ検査行列Hに対し、行並び替え(行置換)を行ったパリティ検査行列を考える。
図110は図109のパリティ検査行列Hに対し、行並び替え(行置換)を行ったパリティ検査行列H’の一例を示しており、パリティ検査行列H’は、図109と同様、符号化率(N−M)/NのLDPC符号(つまり、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n−1)/n、時変周期mの非正則LDPC−CC)の第j番目の送信系列(符号語)vj T=(Yj,1、Yj,2、Yj,3、・・・、Yj,N−2、Yj,N−1、Yj,N)に対応するパリティ検査行列(つまり、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n−1)/n、時変周期mの非正則LDPC−CCのパリティ検査行列)となる。
図110のパリティ検査行列H’は、図109のパリティ検査行列Hの第k行目(kは1以上M以下の整数)を抽出したベクトルをzkで構成されており、一例として、パリティ検査行列H’の第1行目はz130、第2行目はz24、第3行目はz45、・・・、第M−2行目はz33、第M−1行目はz9、第M行目はz3で構成されているものとする。なお、パリティ検査行列H’の第k行目(kは1以上M以下の整数)を抽出したベクトルM個の行ベクトルには、z1、z2、z3、・・・zM−2、zM−1、zM、がそれぞれ一つ存在することになる。
このとき、LDPC符号(つまり、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n−1)/n、時変周期mの非正則LDPC−CC)のパリティ検査行列H’は、以下のようにあらわされ、
H’vj=0が成立する。(なお、ここでの「Hvj=0の0(ゼロ)」は、全ての要素が0のベクトルであることを意味する。つまり、すべてのk(kは1以上M以下の整数)において、第k行の値は0である。)
つまり、第j番目の送信系列vj Tのとき、図110のパリティ検査行列H’の第i行目を抽出したベクトルは、ベクトルck(kは1以上M以下の整数)のいずれかであらわされ、図110のパリティ検査行列H’の第k行目(kは1以上M以下の整数)を抽出したM個の行ベクトルには、z1、z2、z3、・・・zM−2、zM−1、zM、がそれぞれ一つ存在することになる。
なお、「第j番目の送信系列vj Tのとき、図110のパリティ検査行列H’の第i行目を抽出したベクトルは、ベクトルck(kは1以上M以下の整数)のいずれかであらわされ、図110のパリティ検査行列H’の第k行目(kは1以上M以下の整数)を抽出したM個の行ベクトルには、z1、z2、z3、・・・zM−2、zM−1、zM、がそれぞれ一つ存在することになる。」の規則にしたがって、パリティ検査行列を作成すれば、上記の例に限らず、第j番目の送信系列vjのパリティ検査行列を得ることができる。
したがって、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n−1)/n、時変周期mの非正則LDPC−CCを用いていても、上述で説明したパリティ検査行列を、送信装置、および、受信装置で用いているとは限らない。よって、例えば、上述で説明したパリティ検査行列に対し、上述で説明した列並び替え(列置換)を
行った行列、または、行並び替え(行置換)を行った行列をパリティ検査行列として、送信装置、および、受信装置は、使用してもよい。
また、上述で説明した式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n−1)/n、時変周期mの非正則LDPC−CCのパリティ検査行列に対し、上述で説明した列並び替え(列置換)および行並び替え(行置換)の両者を施すことにより得た行列をパリティ検査行列としてもよい。
このとき、上述で説明した式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n−1)/n、時変周期mの非正則LDPC−CCのパリティ検査行列に対し、列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H1を得る。そして、パリティ検査行列H1に対し、行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H2を得、送信装置、および、受信装置は、パリティ検査行列H2を用いて、符号化、復号化を行ってもよい。
次に、パリティ検査行列H2,1に対し、2回目の列並び替え(列置換)を行い、パリティ検査行列H1,2を得る。そして、パリティ検査行列H1,2に対し、2回目の行並び替え(行置換)を行い、パリティ検査行列H2,2を得る。
以上のような、列並び替え(列置換)、および、行並び替え(行置換)をs(sは2以上の整数)回繰り返して、パリティ検査行列H2,sを得る。このとき、パリティ検査行列H2,k−1に対し、k(kは2以上s以下の整数)回目の列並び替え(列置換)を行い、パリティ検査行列H1,kを得る。そして、パリティ検査行列H1,kに対し、k回目の行並び替え(行置換)を行い、パリティ検査行列H2,kを得ることになる。なお、1回目については、上述で説明した式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n−1)/n、時変周期mの非正則LDPC−CCのパリティ検査行列に対し、1回目の列並び替え(列置換)を行い、パリティ検査行列H1,1を得る。そして、パリティ検査行列H1,1に対し、1回目の行並び替え(行置換)を行い、パリティ検査行列H2,1を得ることになる。
そして、送信装置、および、受信装置は、パリティ検査行列H2,sを用いて、符号化、復号化を行ってもよい。
また、上述で説明した式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n−1)/n、時変周期mの非正則LDPC−CCのパリティ検査行列に対し、1回目の行並び替え(行置換)を行い(図109のパリティ検査行列から図110のパリティ検査行列に変換)、パリティ検査行列H3,1を得る。そして、パリティ検査行列H3,1に対し、1回目の列並び替え(列置換)を行い(図105のパリティ検査行列から図107のパリティ検査行列に変換)、パリティ検査行列H4,1を得る。
次に、パリティ検査行列H4,1に対し、2回目の行並び替え(行置換)を行い、パリティ検査行列H3,2を得る。そして、パリティ検査行列H3,2に対し、2回目の列並び替え(列置換)を行い、パリティ検査行列H4,2を得る。
そして、送信装置、および、受信装置は、パリティ検査行列H4,sを用いて、符号化、復号化を行ってもよい。
なお、パリティ検査行列H2、パリティ検査行列H2,s、パリティ検査行列H4、パリティ検査行列H4,sいずれも、行並び替え(行置換)および列並び替え(列置換)を行うと、上述で説明した式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n−1)/n、時変周期mの非正則LDPC−CCのパリティ検査行列を得ることができる。
上述の説明では、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n−1)/n、時変周期mの非正則LDPC−CCのパリティ検査行列の構成方法の一例を説明した。
n=2、つまり、符号化率R=1/2のとき、式(C7)で定義することができるパリティ検査多項式に基づく、時変周期mの非正則LDPC−CCにおいて、式(C7)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
このとき、ap,i,q(p=1;q=1,2,・・・,rp(qは1以上rp以下の整数))は自然数とする。また、y,z=1,2,・・・,rp(y,zは1以上rp以下の整数)かつy≠zであり、これを満たす、∀(y,z)に対して(すべてのyおよびすべてのzに対して)、ap,i,y≠ap,i,zを満たす。そして、高い誤り訂正能力を得るために、r1は3以上に設定する。つまり、式(C17)において、X1(D)の項数は4以上となる。また、b1,iは自然数となる。
n=3、つまり、符号化率R=2/3のとき、式(C7)で定義することができるパリティ検査多項式に基づく、時変周期mの非正則LDPC−CCにおいて、式(C7)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
このとき、ap,i,q(p=1、2;q=1,2,・・・,rp(qは1以上rp以下の整数))は自然数とする。また、y,z=1,2,・・・,rp(y,zは1以上rp以下の整数)かつy≠zであり、これを満たす、∀(y,z)に対して(すべてのyおよびすべてのzに対して)、ap,i,y≠ap,i,zを満たす。そして、高い誤り訂正能力を得るために、r1は3以上、r2は3以上に設定する。つまり、式(C18)に
おいて、X1(D)の項数は4以上、X2(D)の項数は4以上となる。また、b1,iは自然数となる。
n=4、つまり、符号化率R=3/4のとき、式(C7)で定義することができるパリティ検査多項式に基づく、時変周期mの非正則LDPC−CCにおいて、式(C7)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
このとき、ap,i,q(p=1、2、3;q=1,2,・・・,rp(qは1以上rp以下の整数))は自然数とする。また、y,z=1,2,・・・,rp(y,zは1以上rp以下の整数)かつy≠zであり、これを満たす、∀(y,z)に対して(すべてのyおよびすべてのzに対して)、ap,i,y≠ap,i,zを満たす。そして、高い誤り訂正能力を得るために、r1は3以上、r2は3以上、r3は3以上に設定する。つまり、式(C19)において、X1(D)の項数は4以上、X2(D)の項数は4以上、X3(D)の項数は4以上となる。また、b1,iは自然数となる。
n=5、つまり、符号化率R=4/5のとき、式(C7)で定義することができるパリティ検査多項式に基づく、時変周期mの非正則LDPC−CCにおいて、式(C7)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
このとき、ap,i,q(p=1、2、3、4;q=1,2,・・・,rp(qは1以上rp以下の整数))は自然数とする。また、y,z=1,2,・・・,rp(y,zは1以上rp以下の整数)かつy≠zであり、これを満たす、∀(y,z)に対して(すべてのyおよびすべてのzに対して)、ap,i,y≠ap,i,zを満たす。そして、高い誤り訂正能力を得るために、r1は3以上、r2は3以上、r3は3以上、r4は3以上に設定する。つまり、式(C20)において、X1(D)の項数は4以上、X2(D)の項数は4以上、X3(D)の項数は4以上、X4(D)の項数は4以上となる。また、b1,iは自然数となる。
n=6、つまり、符号化率R=5/6のとき、式(C7)で定義することができるパリティ検査多項式に基づく、時変周期mの非正則LDPC−CCにおいて、式(C7)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
このとき、ap,i,q(p=1、2、3、4、5;q=1,2,・・・,rp(qは1以上rp以下の整数))は自然数とする。また、y,z=1,2,・・・,rp(y,zは1以上rp以下の整数)かつy≠zであり、これを満たす、∀(y,z)に対して(すべてのyおよびすべてのzに対して)、ap,i,y≠ap,i,zを満たす。そして、高い誤り訂正能力を得るために、r1は3以上、r2は3以上、r3は3以上、r4は3以上、r5は3以上に設定する。つまり、式(C21)において、X1(D)の項数は4以上、X2(D)の項数は4以上、X3(D)の項数は4以上、X4(D)の項数は4以上、X5(D)の項数は4以上となる。また、b1,iは自然数となる。
n=8、つまり、符号化率R=7/8のとき、式(C7)で定義することができるパリティ検査多項式に基づく、時変周期mの非正則LDPC−CCにおいて、式(C7)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
このとき、ap,i,q(p=1、2、3、4、5、6、7;q=1,2,・・・,rp(qは1以上rp以下の整数))は自然数とする。また、y,z=1,2,・・・,rp(y,zは1以上rp以下の整数)かつy≠zであり、これを満たす、∀(y,z)に対して(すべてのyおよびすべてのzに対して)、ap,i,y≠ap,i,zを満たす。そして、高い誤り訂正能力を得るために、r1は3以上、r2は3以上、r3は3以上、r4は3以上、r5は3以上、r6は3以上、r7は3以上に設定する。つまり、式(C22)において、X1(D)の項数は4以上、X2(D)の項数は4以上、X3(D)の項数は4以上、X4(D)の項数は4以上、X5(D)の項数は4以上、X6(D)の項数は4以上、X7(D)の項数は4以上となる。また、b1,iは自然数となる。
n=9、つまり、符号化率R=8/9のとき、式(C7)で定義することができるパリティ検査多項式に基づく、時変周期mの非正則LDPC−CCにおいて、式(C7)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
このとき、ap,i,q(p=1、2、3、4、5、6、7、8;q=1,2,・・・,rp(qは1以上rp以下の整数))は自然数とする。また、y,z=1,2,・・・,rp(y,zは1以上rp以下の整数)かつy≠zであり、これを満たす、∀(y,z)に対して(すべてのyおよびすべてのzに対して)、ap,i,y≠ap,i,zを満たす。そして、高い誤り訂正能力を得るために、r1は3以上、r2は3以上、r3は3以上、r4は3以上、r5は3以上、r6は3以上、r7は3以上、r8は3以上に設定する。つまり、式(C23)において、X1(D)の項数は4以上、X2(D)の項数は4以上、X3(D)の項数は4以上、X4(D)の項数は4以上、X5(D)の項数は4以上、X6(D)の項数は4以上、X7(D)の項数は4以上、X8(D)の項数は4以上となる。また、b1,iは自然数となる。
n=10、つまり、符号化率R=9/10のとき、式(C7)で定義することができるパリティ検査多項式に基づく、時変周期mの非正則LDPC−CCにおいて、式(C7)で示した、i番目の0を満たすパリティ検査多項式は、次式のようにあらわしてもよい。
このとき、ap,i,q(p=1、2、3、4、5、6、7、8、9;q=1,2,・・・,rp(qは1以上rp以下の整数))は自然数とする。また、y,z=1,2,・・・,rp(y,zは1以上rp以下の整数)かつy≠zであり、これを満たす、∀(y,z)に対して(すべてのyおよびすべてのzに対して)、ap,i,y≠ap,i,zを満たす。そして、高い誤り訂正能力を得るために、r1は3以上、r2は3以上、r3は3以上、r4は3以上、r5は3以上、r6は3以上、r7は3以上、r8は3以上、r9は3以上に設定する。つまり、式(C24)において、X1(D)の項数は4以上、X2(D)の項数は4以上、X3(D)の項数は4以上、X4(D)の項数は4以上、X5(D)の項数は4以上、X6(D)の項数は4以上、X7(D)の項数は4以上、X8(D)の項数は4以上、X9(D)の項数は4以上となる。また、b1,iは自然数となる。
なお、本実施の形態において、パリティ検査多項式に基づく、時変周期mの非正則LDPC−CCを形成するためのパリティ検査多項式として、式(C7)をあつかったが、これに限ったものではない。例えば、式(C7)の代わりに次式のパリティ検査多項式に基づく(次式のパリティ検査多項式で定義することができる)、符号化率(n−1)/n、時変周期mの非正則LDPC−CCとしてもよい。
このとき、ap,i,q(p=1,2,・・・,n−1(pは1以上n−1以下の整数);q=1,2,・・・,rp(qは1以上rp以下の整数))は0以上の整数とする。また、y,z=1,2,・・・,rp(y,zは1以上rp以下の整数)かつy≠zであり、これを満たす、∀(y,z)に対して(すべてのyおよびすべてのzに対して)、ap,i,y≠ap,i,zを満たす。また、iは0以上m−1以下の整数であり、式(C25)はi番目の0を満たすパリティ検査多項式である。
また、別の方法として、式(C7)で定義することができるパリティ検査多項式に基づく、時変周期mの非正則LDPC−CCのi番目(iは0以上m−1以下の整数)のパリティ検査多項式とは異なり、パリティ検査多項式ごとに、Xk(D)の項数(kは1以上n−1以下の整数)を設定してもよい。すると、例えば、時変周期mの非正則LDPC−CCのi番目(iは0以上m−1以下の整数)のパリティ検査多項式として、式(C7)の代わりに次式のパリティ検査多項式に基づく(次式のパリティ検査多項式で定義することができる)、符号化率(n−1)/n、時変周期mの非正則LDPC−CCとしてもよい。
このとき、ap,i,q(p=1,2,・・・,n−1(pは1以上n−1以下の整数);q=1,2,・・・,rp,i(qは1以上rp,i以下の整数))は自然数とする。また、y,z=1,2,・・・,rp,i(y,zは1以上rp,i以下の整数)かつy≠zであり、これを満たす、∀(y,z)に対して(すべてのyおよびすべてのzに対して)、ap,i,y≠ap,i,zを満たす。また、b1,iは自然数となる。なお、式(C26)において、iごとに、rp,iを設定することができる点が、式(C26)の特徴である。そして、iは0以上m−1以下の整数であり、式(C26)はi番目の0を満たすパリティ検査多項式である。
なお、高い誤り訂正能力を得るために、pは1以上n−1以下の整数、iは0以上m−1以下の整数であり、これを満たす、すべてのp、すべてのiにおいて、rp,iを1以上に設定するとよい。
このとき、ap,i,q(p=1,2,・・・,n−1(pは1以上n−1以下の整数);q=1,2,・・・,rp,i(qは1以上rp,i以下の整数))は0以上の整数とする。また、y,z=1,2,・・・,rp,i(y,zは1以上rp,i以下の整数)かつy≠zであり、これを満たす、∀(y,z)に対して(すべてのyおよびすべてのzに対して)、ap,i,y≠ap,i,zを満たす。また、b1,iは自然数となる。なお、式(C27)において、iごとに、rp,iを設定することができる点が、式(C27)の特徴である。そして、iは0以上m−1以下の整数であり、式(C27)はi番目の0を満たすパリティ検査多項式である。
上述では、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n−1)/n、時変周期mの非正則LDPC−CCを形成するためのパリティ検査多項式として、式(C7)をあつかった。以下では、高い誤り訂正能力を得るための、パリティ検査多項式の式(C7)の条件の例について説明する。
上述で説明したように、
「高い誤り訂正能力を得るために、r1、r2、・・・、rn−2、rn−1いずれも3以上に設定する(1以上n−1以下の整数であり、これを満たす、すべてのkにおいてrkは3以上)。つまり、式(C7)において、1以上n−1以下の整数であり、これを満たす、すべてのkにおいて、Xk(D)の項数は4以上となる。」
とした。以下では、r1、r2、・・・、rn−2、rn−1いずれも3以上と設定したとき、高い誤り訂正能力を得るための条件の例について説明する。
<条件C1−1−1>
「a1,0,1%m=a1,1,1%m=a1,2,1%m=a1,3,1%m=・・
・=a1,g,1%m=・・・=a1,m−2,1%m=a1,m−1,1%m=v1,1 (v1,1:固定値)」
「a1,0,2%m=a1,1,2%m=a1,2,2%m=a1,3,2%m=・・・=a1,g,2%m=・・・=a1,m−2,2%m=a1,m−1,2%m=v1,2 (v1,2:固定値)」
(gは0以上m−1以下の整数)
<条件C1−1−2>
「a2,0,1%m=a2,1,1%m=a2,2,1%m=a2,3,1%m=・・・=a2,g,1%m=・・・=a2,m−2,1%m=a2,m−1,1%m=v2,1
(v2,1:固定値)」
「a2,0,2%m=a2,1,2%m=a2,2,2%m=a2,3,2%m=・・・=a2,g,2%m=・・・=a2,m−2,2%m=a2,m−1,2%m=v2,2
(v2,2:固定値)」
(gは0以上m−1以下の整数)
・
・
・
<条件C1−1−k>
「ak,0,1%m=ak,1,1%m=ak,2,1%m=ak,3,1%m=・・・=ak,g,1%m=・・・=ak,m−2,1%m=ak,m−1,1%m=vk,1
(vk,1:固定値)」
「ak,0,2%m=ak,1,2%m=ak,2,2%m=ak,3,2%m=・・・=ak,g,2%m=・・・=ak,m−2,2%m=ak,m−1,2%m=vk,2
(vk,2:固定値)」
(gは0以上m−1以下の整数)
・
・
・
同様に、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n−1)/n、時変周期mの非正則LDPC−CCのパリティ検査行列の情報Xn−1に関連する列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。
<条件C1−1−(n−1)>
「an−1,0,1%m=an−1,1,1%m=an−1,2,1%m=an−1,3,1%m=・・・=an−1,g,1%m=・・・=an−1,m−2,1%m=an−1,m−1,1%m=vn−1,1 (vn−1,1:固定値)」
「an−1,0,2%m=an−1,1,2%m=an−1,2,2%m=an−1,3,2%m=・・・=an−1,g,2%m=・・・=an−1,m−2,2%m=an−1,m−1,2%m=vn−1,2 (vn−1,2:固定値)」
(gは0以上m−1以下の整数)
<条件C1−1’−1>
「a1,g,j%m=v1,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(v1,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでa1,g,j%m=v1,j(v1,j:固定値)が成立する。)
<条件C1−1’−2>
「a2,g,j%m=v2,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(v2,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでa2,g,j%m=v2,j(v2,j:固定値)が成立する。)
・
・
・
<条件C1−1’−k>
「ak,g,j%m=vk,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(vk,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでak,g,j%m=vk,j(vk,j:固定値)が成立する。)
(kは、1以上n−1以下の整数)
・
・
・
<条件C1−1’−(n−1)>
「an−1,g,j%m=vn−1,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(vn−1,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでan−1,g,j%m=vn−1,j(vn−1,j:固定値)が成立する。)
<条件C1−2−1>
「v1,1≠0、かつ、v1,2≠0が成立する。」
かつ
「v1,1≠v1,2が成立する。」
<条件C1−2−2>
「v2,1≠0、かつ、v2,2≠0が成立する。」
かつ
「v2,1≠v2,2が成立する。」
・
・
・
<条件C1−2−k>
「vk,1≠0、かつ、vk,2≠0が成立する。」
かつ
「vk,1≠vk,2が成立する。」
(kは、1以上n−1以下の整数)
・
・
・
<条件C1−2−(n−1)>
「vn−1,1≠0、かつ、vn−1,2≠0が成立する。」
かつ
「vn−1,1≠vn−1,2が成立する。」
<条件C1−3−1>
「a1,g,v%m=a1,h,v%m for ∀g∀h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでa1,g,v%m=a1,h,v%mが成立する。)・・・条件#Xa−1
vは3以上r1以下の整数であり、すべてのvで「条件#Xa−1」を満たすことはない。
<条件C1−3−2>
「a2,g,v%m=a2,h,v%m for ∀g∀h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでa2,g,v%m=a2,h,v%mが成立する。)・・・条件#Xa−2
vは3以上r2以下の整数であり、すべてのvで「条件#Xa−2」を満たすことはない。
・
・
・
<条件C1−3−k>
「ak,g,v%m=ak,h,v%m for ∀g∀h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでak,g,v%m=ak,h,v%mが成立する。)・・・条件#Xa−k
vは3以上rk以下の整数であり、すべてのvで「条件#Xa−k」を満たすことはない。
(kは、1以上n−1以下の整数)
・
・
・
<条件C1−3−(n−1)>
「an−1,g,v%m=an−1,h,v%m for ∀g∀h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでan−1,g,v%m=an−1,h,v%mが成立する。)・・・条件#Xa−(n−1)
vは3以上rn−1以下の整数であり、すべてのvで「条件#Xa−(n−1)」を満たすことはない。
<条件C1−3’−1>
「a1,g,v%m≠a1,h,v%m for ∃g∃h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、a1,g,v%m≠a1,h,v%mが成立するg、hが存在する。)・・・条件#Ya−1
vは3以上r1以下の整数であり、すべてのvで「条件#Ya−1」を満たす。
<条件C1−3’−2>
「a2,g,v%m≠a2,h,v%m for ∃g∃h g,h=0,1,2,・・・,
m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、a2,g,v%m≠a2,h,v%mが成立するg、hが存在する。)・・・条件#Ya−2
vは3以上r2以下の整数であり、すべてのvで「条件#Ya−2」を満たす。
・
・
・
<条件C1−3’−k>
「ak,g,v%m≠ak,h,v%m for ∃g∃h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、ak,g,v%m≠ak,h,v%mが成立するg、hが存在する。)・・・条件#Ya−k
vは3以上rk以下の整数であり、すべてのvで「条件#Ya−k」を満たす。
(kは、1以上n−1以下の整数)
・
・
・
<条件C1−3’−(n−1)>
「an−1,g,v%m≠an−1,h,v%m for ∃g∃h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、an−1,g,v%m≠an−1,h,v%mが成立するg、hが存在する。)・・・条件#Ya−(n−1)
vは3以上rn−1以下の整数であり、すべてのvで「条件#Ya−(n−1)」を満たす。
なお、以上の条件を踏まえて、高い誤り訂正能力をもつ式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n−1)/n、時変周期mの非正則LDPC−CCを生成することになるが、このとき、高い誤り訂正能力をもつ式(C7)で定義することができるパリティ検査多項式に基づく、符号化率(n−1)/n、時変周期mの非正則LDPC−CCを容易に得るためには、r1=r2=・・・=rn−2=rn−1=r(rは3以上)と設定するとよい。
実施の形態1、実施の形態6、実施の形態A1等の説明から、これを実現するために、上記で記載した、vk,1およびvk,2(kは、1以上n−1以下の整数)は、以下の条件を満たすとよい。
<条件C1−4−1>
・「mの約数のうち、1を除いた、約数の集合をR」としたとき、vk,1はRに属してはならない。
<条件C1−4−2>
・「mの約数のうち、1を除いた、約数の集合をR」としたとき、vk,2はRに属してはならない。
<条件C1−5−1>
・vk,1は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1/w=g(gは自然数)を満たす、すべてのwを抽出した集合をSとしたとき、R∩Sは空集合である。なお、集合Rは<条件C1−4−1>で定義している。
<条件C1−5−2>
・vk,2は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2/w=g(gは自然数)を満たす、すべてのwを抽出した集合をSとしたとき、R∩Sは空集合である。なお、集合Rは<条件C1−4−2>で定義している。
<条件C1−5−1’>
・vk,1は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1の約数の集合をSとしたとき、R∩Sは空集合である。
<条件C1−5−2’>
・vk,2は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2の約数の集合をSとしたとき、R∩Sは空集合である。
<条件C1−5−1”>
・vk,1は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1とmの最大公約数が1である。
<条件C1−5−2”>
・vk,2は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2とmの最大公約数が1である。
パリティ検査多項式に基づく、符号化率(n−1)/n、時変周期mの非正則LDPC−CCを形成するためのパリティ検査多項式として、式(C25)をあつかった。以下では、高い誤り訂正能力を得るための、パリティ検査多項式の式(C25)の条件の例について説明する。
「高い誤り訂正能力を得るために、r1、r2、・・・、rn−2、rn−1いずれも4以上に設定する(1以上n−1以下の整数であり、これを満たす、すべてのkにおいてrkは3以上)。つまり、式(B1)において、1以上n−1以下の整数であり、これを満たす、すべてのkにおいて、Xk(D)の項数は4以上となる。」
とした。以下では、r1、r2、・・・、rn−2、rn−1いずれも4以上と設定したとき、高い誤り訂正能力を得るための条件の例について説明する。
このとき、式(C25)で定義することができるパリティ検査多項式に基づく、符号化率(n−1)/n、時変周期mの非正則LDPC−CCのパリティ検査行列の情報X1に関連する列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。なお、パリティ検査行列のα列において、α列を抽出したベクトルにおいて、そのベクトルの要素において、「1」が存在する数がα列の列重みとなる。
<条件C1−6−1>
「a1,0,1%m=a1,1,1%m=a1,2,1%m=a1,3,1%m=・・・=a1,g,1%m=・・・=a1,m−2,1%m=a1,m−1,1%m=v1,1 (v1,1:固定値)」
「a1,0,2%m=a1,1,2%m=a1,2,2%m=a1,3,2%m=・・・=a1,g,2%m=・・・=a1,m−2,2%m=a1,m−1,2%m=v1,2 (v1,2:固定値)」
「a1,0,3%m=a1,1,3%m=a1,2,3%m=a1,3,3%m=・・・=a1,g,3%m=・・・=a1,m−2,3%m=a1,m−1,3%m=v1,3 (v1,3:固定値)」
(gは0以上m−1以下の整数)
<条件C1−6−2>
「a2,0,1%m=a2,1,1%m=a2,2,1%m=a2,3,1%m=・・・=a2,g,1%m=・・・=a2,m−2,1%m=a2,m−1,1%m=v2,1
(v2,1:固定値)」
「a2,0,2%m=a2,1,2%m=a2,2,2%m=a2,3,2%m=・・・=a2,g,2%m=・・・=a2,m−2,2%m=a2,m−1,2%m=v2,2
(v2,2:固定値)」
「a2,0,3%m=a2,1,3%m=a2,2,3%m=a2,3,3%m=・・・=a2,g,3%m=・・・=a2,m−2,3%m=a2,m−1,3%m=v2,3
(v2,3:固定値)」
(gは0以上m−1以下の整数)
・
・
・
<条件C1−6−k>
「ak,0,1%m=ak,1,1%m=ak,2,1%m=ak,3,1%m=・・・=ak,g,1%m=・・・=ak,m−2,1%m=ak,m−1,1%m=vk,1
(vk,1:固定値)」
「ak,0,2%m=ak,1,2%m=ak,2,2%m=ak,3,2%m=・・・=ak,g,2%m=・・・=ak,m−2,2%m=ak,m−1,2%m=vk,2
(vk,2:固定値)」
「ak,0,3%m=ak,1,3%m=ak,2,3%m=ak,3,3%m=・・・=ak,g,3%m=・・・=ak,m−2,3%m=ak,m−1,3%m=vk,3
(vk,3:固定値)」
(gは0以上m−1以下の整数)
・
・
・
<条件C1−6−(n−1)>
「an−1,0,1%m=an−1,1,1%m=an−1,2,1%m=an−1,3,1%m=・・・=an−1,g,1%m=・・・=an−1,m−2,1%m=an−1,m−1,1%m=vn−1,1 (vn−1,1:固定値)」
「an−1,0,2%m=an−1,1,2%m=an−1,2,2%m=an−1,3,2%m=・・・=an−1,g,2%m=・・・=an−1,m−2,2%m=an−1,m−1,2%m=vn−1,2 (vn−1,2:固定値)」
「an−1,0,3%m=an−1,1,3%m=an−1,2,3%m=an−1,3,3%m=・・・=an−1,g,3%m=・・・=an−1,m−2,3%m=an−1,m−1,3%m=vn−1,3 (vn−1,3:固定値)」
(gは0以上m−1以下の整数)
<条件C1−6’−1>
「a1,g,j%m=v1,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(v1,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでa1,g,j%m=v1,j(v1,j:固定値)が成立する。)
<条件C1−6’−2>
「a2,g,j%m=v2,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(v2,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでa2,g,j%m=v2,j(v2,j:固定値)が成立する。)
・
・
・
<条件C1−6’−k>
「ak,g,j%m=vk,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(vk,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでak,g,j%m=vk,j(vk,j:固定値)が成立する。)
(kは、1以上n−1以下の整数)
・
・
・
<条件C1−6’−(n−1)>
「an−1,g,j%m=vn−1,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(vn−1,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでan−1,g,j%m=vn−1,j(vn−1,j:固定値)が成立する。)
<条件C1−7−1>
「v1,1≠v1,2、v1,1≠v1,3、v1,2≠v1,3が成立する。」
<条件C1−7−2>
「v2,1≠v2,2、v2,1≠v2,3、v2,2≠v2,3が成立する。」
・
・
・
<条件C1−7−k>
「vk,1≠vk,2、vk,1≠vk,3、vk,2≠vk,3が成立する。」
(kは、1以上n−1以下の整数)
・
・
・
<条件C1−7−(n−1)>
「vn−1,1≠vn−1,2、vn−1,1≠vn−1,3、vn−1,2≠vn−1,3が成立する。」
<条件C1−8−1>
「a1,g,v%m=a1,h,v%m for ∀g∀h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでa1,g,v%m=a1,h,v%mが成立する。)・・・条件#Xa−1
vは4以上r1以下の整数であり、すべてのvで「条件#Xa−1」を満たすことはない。
<条件C1−8−2>
「a2,g,v%m=a2,h,v%m for ∀g∀h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでa2,g,v%m=a2,h,v%mが成立する。)・・・条件#Xa−2
vは4以上r2以下の整数であり、すべてのvで「条件#Xa−2」を満たすことはない。
・
・
・
<条件C1−8−k>
「ak,g,v%m=ak,h,v%m for ∀g∀h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでak,g,v%m=ak,h,v%mが成立する。)・・・条件#Xa−k
vは4以上rk以下の整数であり、すべてのvで「条件#Xa−k」を満たすことはない。
(kは、1以上n−1以下の整数)
・
・
・
<条件C1−8−(n−1)>
「an−1,g,v%m=an−1,h,v%m for ∀g∀h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、これを満たす、すべてのg、すべてのhでan−1,g,v%m=an−1,h,v%mが成立する。)・・・条件#Xa−(n−1)
vは4以上rn−1以下の整数であり、すべてのvで「条件#Xa−(n−1)」を満たすことはない。
<条件C1−8’−1>
「a1,g,v%m≠a1,h,v%m for ∃g∃h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、a1,g,v%m≠a1,h,v%mが成立するg、hが存在する。)・・・条件#Ya−1
vは4以上r1以下の整数であり、すべてのvで「条件#Ya−1」を満たす。
<条件C1−8’−2>
「a2,g,v%m≠a2,h,v%m for ∃g∃h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、a2,g,v%m≠a2,h,v%mが成立するg、hが存在する。)・・・条件#Ya−2
vは4以上r2以下の整数であり、すべてのvで「条件#Ya−2」を満たす。
・
・
・
<条件C1−8’−k>
「ak,g,v%m≠ak,h,v%m for ∃g∃h g,h=0,1,2,・・・,
m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、ak,g,v%m≠ak,h,v%mが成立するg、hが存在する。)・・・条件#Ya−k
vは4以上rk以下の整数であり、すべてのvで「条件#Ya−k」を満たす。
(kは、1以上n−1以下の整数)
・
・
・
<条件C1−8’−(n−1)>
「an−1,g,v%m≠an−1,h,v%m for ∃g∃h g,h=0,1,2,・・・,m−3,m−2,m−1;g≠h」
(gは0以上m−1以下の整数であり、かつ、hは0以上m−1以下の整数であり、かつ、g≠hであり、an−1,g,v%m≠an−1,h,v%mが成立するg、hが存在する。)・・・条件#Ya−(n−1)
vは4以上rn−1以下の整数であり、すべてのvで「条件#Ya−(n−1)」を満たす。
なお、以上の条件を踏まえて、高い誤り訂正能力をもつ式(C25)で定義することができるパリティ検査多項式に基づく、符号化率(n−1)/n、時変周期mの非正則LDPC−CCを生成することになるが、このとき、高い誤り訂正能力をもつ式(C25)で定義することができるパリティ検査多項式に基づく、符号化率(n−1)/n、時変周期mの非正則LDPC−CCを容易に得るためには、r1=r2=・・・=rn−2=rn−1=r(rは4以上)と設定するとよい。
高い誤り訂正能力を得るために、iは0以上m−1以下の整数であり、これを満たす、すべてのiにおいて、r1,i、r2,i、・・・、rn−2,i、rn−1,iいずれも2以上に設定する。このとき、高い誤り訂正能力を得るための条件の例について説明する。
このとき、式(C26)で定義することができるパリティ検査多項式に基づく、符号化率(n−1)/n、時変周期mの非正則LDPC−CCのパリティ検査行列の情報X1に関連する列において、最低列重みを3とするために以下の条件を与えると、高い誤り訂正能力を得ることができる。なお、パリティ検査行列のα列において、α列を抽出したベクトルにおいて、そのベクトルの要素において、「1」が存在する数がα列の列重みとなる。
<条件C1−9−1>
「a1,0,1%m=a1,1,1%m=a1,2,1%m=a1,3,1%m=・・・=a1,g,1%m=・・・=a1,m−2,1%m=a1,m−1,1%m=v1,1 (v1,1:固定値)」
「a1,0,2%m=a1,1,2%m=a1,2,2%m=a1,3,2%m=・・・=a1,g,2%m=・・・=a1,m−2,2%m=a1,m−1,2%m=v1,2 (v1,2:固定値)」
(gは0以上m−1以下の整数)
<条件C1−9−2>
「a2,0,1%m=a2,1,1%m=a2,2,1%m=a2,3,1%m=・・・=a2,g,1%m=・・・=a2,m−2,1%m=a2,m−1,1%m=v2,1
(v2,1:固定値)」
「a2,0,2%m=a2,1,2%m=a2,2,2%m=a2,3,2%m=・・・=a2,g,2%m=・・・=a2,m−2,2%m=a2,m−1,2%m=v2,2
(v2,2:固定値)」
(gは0以上m−1以下の整数)
・
・
・
<条件C1−9−k>
「ak,0,1%m=ak,1,1%m=ak,2,1%m=ak,3,1%m=・・・=ak,g,1%m=・・・=ak,m−2,1%m=ak,m−1,1%m=vk,1
(vk,1:固定値)」
「ak,0,2%m=ak,1,2%m=ak,2,2%m=ak,3,2%m=・・・=ak,g,2%m=・・・=ak,m−2,2%m=ak,m−1,2%m=vk,2
(vk,2:固定値)」
(gは0以上m−1以下の整数)
・
・
・
<条件C1−9−(n−1)>
「an−1,0,1%m=an−1,1,1%m=an−1,2,1%m=an−1,3,1%m=・・・=an−1,g,1%m=・・・=an−1,m−2,1%m=an−1,m−1,1%m=vn−1,1 (vn−1,1:固定値)」
「an−1,0,2%m=an−1,1,2%m=an−1,2,2%m=an−1,3,2%m=・・・=an−1,g,2%m=・・・=an−1,m−2,2%m=an−1,m−1,2%m=vn−1,2 (vn−1,2:固定値)」
(gは0以上m−1以下の整数)
<条件C1−9’−1>
「a1,g,j%m=v1,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(v1,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでa1,g,j%m=v1,j(v1,j:固定値)が成立する。)
<条件C1−9’−2>
「a2,g,j%m=v2,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(v2,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでa2,g,j%m=v2,j(v2,j:固定値)が成立する。)
・
・
・
<条件C1−9’−k>
「ak,g,j%m=vk,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(vk,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでak,g,j%m=vk,j(vk,j:固定値)が成立する。)
(kは、1以上n−1以下の整数)
・
・
・
<条件C1−9’−(n−1)>
「an−1,g,j%m=vn−1,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(vn−1,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでan−1,g,j%m=vn−1,
j(vn−1,j:固定値)が成立する。)
<条件C1−10−1>
「v1,1≠0、かつ、v1,2≠0が成立する。」
かつ
「v1,1≠v1,2が成立する。」
<条件C1−10−2>
「v2,1≠0、かつ、v2,2≠0が成立する。」
かつ
「v2,1≠v2,2が成立する。」
・
・
・
<条件C1−10−k>
「vk,1≠0、かつ、vk,2≠0が成立する。」
かつ
「vk,1≠vk,2が成立する。」
(kは、1以上n−1以下の整数)
・
・
・
<条件C1−10−(n−1)>
「vn−1,1≠0、かつ、vn−1,2≠0が成立する。」
かつ
「vn−1,1≠vn−1,2が成立する。」
また、実施の形態1、実施の形態6、実施の形態A1等で説明したように、式(C26)で定義することができるパリティ検査多項式に基づく、符号化率(n−1)/n、時変周期mの非正則LDPC−CCを形成するためのパリティ検査多項式、式(C26)に相当するチェックノードが、ツリーを描いたときに、可能な限り多く出現するとよい可能性がある。
実施の形態1、実施の形態6、実施の形態A1等の説明から、これを実現するために、上記で記載した、vk,1およびvk,2(kは、1以上n−1以下の整数)は、以下の条件を満たすとよい。
<条件C1−11−1>
・「mの約数のうち、1を除いた、約数の集合をR」としたとき、vk,1はRに属してはならない。
<条件C1−11−2>
・「mの約数のうち、1を除いた、約数の集合をR」としたとき、vk,2はRに属してはならない。
<条件C1−12−1>
・vk,1は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1/w=g(gは自然数)を満たす、すべてのwを抽出した集合をSとしたとき、R∩Sは空集合である。なお、集合Rは<条件C1−11−1>で定義している。
<条件C1−12−2>
・vk,2は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2/w=g(gは自然数)を満たす、すべてのwを抽出した集合をSとしたとき、R∩Sは空集合である。なお、集合Rは<条件C1−11−2>で定義している。
<条件C1−12−1’>
・vk,1は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1の約数の集合をSとしたとき、R∩Sは空集合である。
<条件C1−12−2’>
・vk,2は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2の約数の集合をSとしたとき、R∩Sは空集合である。
<条件C1−12−1”>
・vk,1は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,1とmの最大公約数が1である。
<条件C1−12−2”>
・vk,2は1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。vk,2とmの最大公約数が1である。
−CCを形成するためのパリティ検査多項式として、式(C27)をあつかった。以下では、高い誤り訂正能力を得るための、パリティ検査多項式の式(C27)の条件の例について説明する。
高い誤り訂正能力を得るために、iは0以上m−1以下の整数であり、これを満たす、すべてのiにおいて、r1,i、r2,i、・・・、rn−2,i、rn−1,iいずれも3以上に設定する。このとき、高い誤り訂正能力を得るための条件の例について説明する。
<条件C1−13−1>
「a1,0,1%m=a1,1,1%m=a1,2,1%m=a1,3,1%m=・・・=a1,g,1%m=・・・=a1,m−2,1%m=a1,m−1,1%m=v1,1 (v1,1:固定値)」
「a1,0,2%m=a1,1,2%m=a1,2,2%m=a1,3,2%m=・・・=a1,g,2%m=・・・=a1,m−2,2%m=a1,m−1,2%m=v1,2 (v1,2:固定値)」
「a1,0,3%m=a1,1,3%m=a1,2,3%m=a1,3,3%m=・・・=a1,g,3%m=・・・=a1,m−2,3%m=a1,m−1,3%m=v1,3 (v1,3:固定値)」
(gは0以上m−1以下の整数)
<条件C1−13−2>
「a2,0,1%m=a2,1,1%m=a2,2,1%m=a2,3,1%m=・・・=a2,g,1%m=・・・=a2,m−2,1%m=a2,m−1,1%m=v2,1
(v2,1:固定値)」
「a2,0,2%m=a2,1,2%m=a2,2,2%m=a2,3,2%m=・・・=a2,g,2%m=・・・=a2,m−2,2%m=a2,m−1,2%m=v2,2
(v2,2:固定値)」
「a2,0,3%m=a2,1,3%m=a2,2,3%m=a2,3,3%m=・・・=a2,g,3%m=・・・=a2,m−2,3%m=a2,m−1,3%m=v2,3
(v2,3:固定値)」
(gは0以上m−1以下の整数)
・
・
・
<条件C1−13−k>
「ak,0,1%m=ak,1,1%m=ak,2,1%m=ak,3,1%m=・・・=ak,g,1%m=・・・=ak,m−2,1%m=ak,m−1,1%m=vk,1
(vk,1:固定値)」
「ak,0,2%m=ak,1,2%m=ak,2,2%m=ak,3,2%m=・・・=ak,g,2%m=・・・=ak,m−2,2%m=ak,m−1,2%m=vk,2
(vk,2:固定値)」
「ak,0,3%m=ak,1,3%m=ak,2,3%m=ak,3,3%m=・・・=ak,g,3%m=・・・=ak,m−2,3%m=ak,m−1,3%m=vk,3
(vk,3:固定値)」
(gは0以上m−1以下の整数)
・
・
・
<条件C1−13−(n−1)>
「an−1,0,1%m=an−1,1,1%m=an−1,2,1%m=an−1,3,1%m=・・・=an−1,g,1%m=・・・=an−1,m−2,1%m=an−1,m−1,1%m=vn−1,1 (vn−1,1:固定値)」
「an−1,0,2%m=an−1,1,2%m=an−1,2,2%m=an−1,3,2%m=・・・=an−1,g,2%m=・・・=an−1,m−2,2%m=an−1,m−1,2%m=vn−1,2 (vn−1,2:固定値)」
「an−1,0,3%m=an−1,1,3%m=an−1,2,3%m=an−1,3,3%m=・・・=an−1,g,3%m=・・・=an−1,m−2,3%m=an−1,m−1,3%m=vn−1,3 (vn−1,3:固定値)」
(gは0以上m−1以下の整数)
<条件C1−13’−1>
「a1,g,j%m=v1,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(v1,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでa1,g,j%m=v1,j(v1
,j:固定値)が成立する。)
<条件C1−13’−2>
「a2,g,j%m=v2,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(v2,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでa2,g,j%m=v2,j(v2,j:固定値)が成立する。)
・
・
・
<条件C1−13’−k>
「ak,g,j%m=vk,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(vk,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでak,g,j%m=vk,j(vk,j:固定値)が成立する。)
(kは、1以上n−1以下の整数)
・
・
・
<条件C1−13’−(n−1)>
「an−1,g,j%m=vn−1,j for ∀g g=0,1,2,・・・,m−3,m−2,m−1(vn−1,j:固定値)」
(gは0以上m−1以下の整数であり、すべてのgでan−1,g,j%m=vn−1,j(vn−1,j:固定値)が成立する。)
<条件C1−14−1>
「v1,1≠v1,2、v1,1≠v1,3、v1,2≠v1,3が成立する。」
<条件C1−14−2>
「v2,1≠v2,2、v2,1≠v2,3、v2,2≠v2,3が成立する。」
・
・
・
<条件C1−14−k>
「vk,1≠vk,2、vk,1≠vk,3、vk,2≠vk,3が成立する。」
(kは、1以上n−1以下の整数)
・
・
・
<条件C1−14−(n−1)>
「vn−1,1≠vn−1,2、vn−1,1≠vn−1,3、vn−1,2≠vn−1,3が成立する。」
本実施の形態では、パリティ検査多項式に基づく、符号化率(n−1)/n、時変周期mの非正則LDPC−CCのパリティ検査行列の具体的な構成例を述べ、上述のように生成したパリティ検査多項式に基づく、符号化率(n−1)/n、時変周期mの非正則LDPC−CCは、高い誤り訂正能力を得ることができる可能性があり、これにより、例えば、放送システムや通信システムにおける復号器を有する受信装置は、高いデータの受信品質を得ることができるという利点がある。なお、本実施の形態の符号の構成方法は、一例であり、他の方法で生成したパリティ検査多項式に基づく、符号化率(n−1)/n、時変周期mの非正則LDPC−CCも高い誤り訂正能力を得ることができる可能性はある。
例えば、式(C7)、式(C17)から式(C27)のような、0を満たすパリティ検査多項式に基づく、符号化率R=(n−1)/n、時変周期mの非正則LDPC−CCのためのi番目(i=0,1,・・・,m−1)の0を満たすパリティ検査多項式を次式のようにあらわす。(式(C7)、式(C17)から式(C27)のような、0を満たすパリティ検査多項式を一般化した、0を満たすパリティ検査多項式を次式に示す。)
このとき、k=1、2、・・・、n−2、n−1(kは1以上n−1の整数)を満たす、すべてのk、および、i=0,1,・・・,m−1(iは0以上m−1以下の整数)を満たす、すべてのiにおいて、AXk,i(D)≠0を満たす。そして、b1,iは自然数とする。
式(C28)の0を満たすパリティ検査多項式の多項式の部分に対し、以下の関数を定義する。
vは0以上m−1以下の整数であり、かつ、wは0以上m−1以下の整数であり、かつ、v≠wであり、式(C31)が成立するv、wが存在し、また、
vは0以上m−1以下の整数であり、かつ、wは0以上m−1以下の整数であり、かつ、v≠wであり、式(C32)が成立するv、wが存在するが、時変周期がmとなる。
したがって、実施の形態1、実施の形態6から、以下の条件が有効な方法となる。
<条件C1−15>
・式(C28)の0を満たすパリティ検査多項式において、iは0以上m−1以下の整数であり、かつ、jは0以上m−1以下の整数であり、かつ、i≠jであり、この条件を満たす、すべてi、すべてのjで、b1,i%m=b1,j%m=β(βは自然数であり、βは固定値)を満たす。
<条件C1−16>
・「mの約数のうち、1を除いた、約数の集合をR」としたとき、βはRに属してはならない。
なお、「mの約数のうち、1を除いた、約数の集合をRとしたとき、少なくともβはRに属してはならない。」という条件に加え、新たに、以下の条件を満たすとよい。
<条件C1−17>
・βは1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。β/w=g(gは自然数)を満たす、すべてのwを抽出した集合をSとしたとき、R∩Sは空集合である。なお、集合Rは<条件C1−16>で定義している。
<条件C1−17’>
・βは1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。βの約数の集合をSとしたとき、R∩Sは空集合である。
なお、<条件C1−17><条件C1−17’>を別の表現をすると、<条件C1−17”>となる。
<条件C1−17”>
・βは1以上m−1以下の整数の集合に属し、かつ、次の条件を満たす。βとmの最大公約数が1である。
以下では、例を用いて説明する。時変周期m=6とする。すると、<条件C1−15>において、βは自然数であることから、βは{1、2、3、4、5}となる。
そして、<条件C1−16>「「mの約数のうち、1を除いた、約数の集合をR」としたとき、βはRに属してはならない。」と記載している。このとき、集合Rは{2、3、6}となる(約数のうち1を除くので)。したがって、<条件C1−15>かつ<条件C1−16>を満たしたとき、βは{1、4、5}となる。
<条件C1−17>について考える。(<条件C1−17’><条件C1−17”>を考えても同様である。)まず、βは1以上m−1以下の整数の集合に属することから、βとして{1、2、3、4、5}を考えることができる。
βが1のとき、集合Sは{1}となる。したがって、R∩Sは空集合であり、<条件C1−17>を満たす。
βが2のとき、集合Sは{1,2}となる。したがって、R∩Sは{2}となり、<条件C1−17>を満たさない。
βが3のとき、集合Sは{1,3}となる。したがって、R∩Sは{3}となり、<条件C1−17>を満たさない。
βが4のとき、集合Sは{1,2,4}となる。したがって、R∩Sは{2}となり、<条件C1−17>を満たさない。
βが5のとき、集合Sは{1,5}となる。したがって、R∩Sは空集合であり、<条件C1−17>を満たす。
したがって、<条件C1−15>かつ<条件C1−17>を満たすβは{1、5}となる。
そして、<条件C1−16>「「mの約数のうち、1を除いた、約数の集合をR」としたとき、βはRに属してはならない。」と記載している。このとき、集合Rは{7}となる(約数のうち1を除くので)。したがって、<条件C1−15>かつ<条件C1−16>を満たしたとき、βは{1、2、3、4、5、6}となる。
<条件C1−17>について考える。まず、βは1以上m−1以下の整数であることから、βとして{1、2、3、4、5、6}を考えることができる。
次に、「β/w=g(gは自然数)を満たす、すべてのwを抽出した集合をSとしたとき、R∩Sは空集合である。」を考える。上記で説明したように、集合Rは{7}となる。βが1のとき、集合Sは{1}となる。したがって、R∩Sは空集合であり、<条件C1−17>を満たす。
βが2のとき、集合Sは{1,2}となる。したがって、R∩Sは空集合であり、<条件C1−17>を満たす。
βが3のとき、集合Sは{1,3}となる。したがって、R∩Sは空集合であり、<条件C1−17>を満たす。
βが4のとき、集合Sは{1,2,4}となる。したがって、R∩Sは空集合であり、<条件C1−17>を満たす。
βが5のとき、集合Sは{1,5}となる。したがって、R∩Sは空集合であり、<条件C1−17>を満たす。
βが6のとき、集合Sは{1,2,3,6}となる。したがって、R∩Sは空集合であり、<条件C1−17>を満たす。
また、非特許文献2に示されているように、パリティ検査行列において、「1」の存在する位置は、random-likeであると、高い誤り訂正能力が得られる可能性がある。そのた
めに、以下の条件を満たすとよい。
<条件C1−18>
・「式(C28)の0を満たすパリティ検査多項式において、iは0以上m−1以下の整数であり、かつ、jは0以上m−1以下の整数であり、かつ、i≠jであり、この条件を満たす、すべてi、すべてのjで、b1,i%m=b1,j%m=β(βは自然数であり、βは固定値)を満たし」、
かつ、
「vは0以上m−1以下の整数であり、かつ、wは0以上m−1以下の整数であり、かつ、v≠wであり、b1,v≠b1,wを満たすv、wが存在する」
<条件C1−19>
・「式(C28)の0を満たすパリティ検査多項式において、iは0以上m−1以下の整数であり、かつ、jは0以上m−1以下の整数であり、かつ、i≠jであり、この条件を満たす、すべてi、すべてのjで、b1,i%m=b1,j%m=β(βは自然数であり、βは固定値)を満たし」、
かつ、
「vは0以上m−1以下の整数であり、かつ、wは0以上m−1以下の整数であり、かつ、v≠wであり、この条件を満たす、すべてのv、すべてのwにおいて、b1,v≠b1,wを満たす。」
また、畳み込み符号ということを考慮する、拘束長は大きい方が高い誤り訂正能力を得ることができる可能性が高い。この点を考慮すると、以下の条件を満たすとよい。
<条件C1−20>
・「式(C28)の0を満たすパリティ検査多項式において、iは0以上m−1以下の整数であり、この条件を満たす、すべてiで、b1,i=1を満たす。」を満たさない。
ただし、<条件C1−20>を満たさなくても、高い誤り訂正能力が得られる可能性はある。
なお、式(C28)の0を満たすパリティ検査多項式で定義される、符号化率R=(n−1)/n、時変周期mの非正則LDPC−CCの0を満たすパリティ検査多項式、式(C28)において、情報X1(D)項の数、情報X2(D)項の数、・・・、情報Xn−2(D)項の数、情報Xn−1(D)項の数のいずれか、または、すべてにおいて、2以上、または、3以上に設定すると高い誤り訂正能力得ることができる可能性があり、この場合、実施の形態6等で説明したように、タナ−グラフを描いた際、時変周期を大きくした効果を得るためには、時変周期mは奇数であるとよく、他の有効な条件としては、
(1)時変周期mが素数であること。
(2)時変周期mが奇数であり、かつ、mの約数の数が少ないこと。
(3)時変周期mをα×βとする。
ただし、α、βは、1を除く奇数であり、かつ、素数。
(4)時変周期mをαnとする。
ただし、αは、1を除く奇数であり、かつ、素数であり、nは2以上の整数。
(5)時変周期mをα×β×γとする。
ただし、α、β、γは、1を除く奇数であり、かつ、素数。
(6)時変周期mをα×β×γ×δとする。
ただし、α、β、γ、δは、1を除く奇数であり、かつ、素数。
(7)時変周期mをAu×Bvとする。
ただし、A、Bともに、1を除く奇数であり、かつ、素数であり、A≠Bとし、u、vともに1以上の整数。
(8)時変周期mをAu×Bv×Cwとする。
ただし、A、B、Cいずれも1を除く奇数であり、かつ、素数であり、A≠B、A≠C、B≠Cとし、u、v、wいずれも1以上の整数。
(9)時変周期mをAu×Bv×Cw×Dxとする。
ただし、A、B、C、Dいずれも1を除く奇数であり、かつ、素数であり、A≠B、A≠C、A≠D、B≠C、B≠D、C≠Dとし、u、v、w、xいずれも1以上の整数。
となる。
(10)時変周期mを2g×Kとする。
ただし、Kが素数であり、かつ、gは1以上の整数とする。
(11)時変周期mを2g×Lとする
ただし、Lが奇数であり、かつ、Lの約数の数が少ないこと、かつ、gは1以上の整数とする。
(12)時変周期mを2g×α×βとする。
ただし、α、βは1を除く奇数、かつ、α、βは素数であり、かつ、gは1以上の整数とする。
(13)時変周期mを2g×αnとする。
ただし、αは1を除く奇数であり、かつ、αは素数であり、かつ、nは2以上の整数であり、かつ、gは1以上の整数とする。
(14)時変周期mを2g×α×β×γとする。
ただし、α、β、γは1を除く奇数であり、かつ、α、β、γは素数であり、かつ、gは1以上の整数とする。
(15)時変周期mを2g×α×β×γ×δとする。
ただし、α、β、γ、δは1を除く奇数であり、かつ、α、β、γ、δは素数であり、かつ、gは1以上の整数とする。
(16)時変周期mを2g×Au×Bvとする。
ただし、A、Bともに1を除く奇数であり、かつ、A、Bともには素数であり、A≠Bとし、かつ、u、vともに1以上の整数であり、かつ、gは1以上の整数とする。
(17)時変周期mを2g×Au×Bv×Cwとする。
ただし、A、B、Cいずれも1を除く奇数であり、かつ、A、B、Cいずれも素数であり、A≠B、A≠C、B≠Cとし、u、v、wいずれも1以上の整数であり、かつ、gは1以上の整数とする。
(18)時変周期mを2g×Au×Bv×Cw×Dxとする。
ただし、A、B、C、Dいずれも1を除く奇数であり、かつ、A、B、C、Dいずれも素数であり、A≠B、A≠C、A≠D、B≠C、B≠D、C≠Dとし、u、v、w、xいずれも1以上の整数とし、かつ、gは1以上の整数とする。
また、時変周期mが小さいと符号化率が小さいとき高いビット誤り率でエラーフロアーを発生する可能性がある。この点が、通信システム、放送システム、ストレージ、メモリ等で使用したとき問題となるとき、時変周期mは3より大きいことが望まれるが、システム上、許容範囲の場合、時変周期mを小さく設定してもよい。
次に、本実施の形態で説明した、パリティ検査多項式に基づく、符号化率R=(n−1)/n、時変周期mの非正則LDPC−CCの符号化器、復号化器の構成、および、動作について説明する。
送信装置1901の符号化器1911は、時点jにおける、情報X1,j,X2,j,・・・,Xn−1,jを入力とし、本実施の形態で説明した、パリティ検査多項式に基づく、符号化率R=(n−1)/n、時変周期mの非正則LDPC−CCのパリティ検査行列Hpro、および、Hprou=0の関係に基づき符号化を行い、パリティを計算し、符号化系列uは、u=(u0,u1,・・・,uj,・・・)Tを得る。(ただし、uj=(X1,j,X2,j,・・・,Xn−1,j,Pj)となる。)
上記では、通信システムを例に、符号化器、復号化器の動作を説明したが、これに限ったものではなく、ストレージ、メモリ等の分野でも符号化器、復号化器を活用することができる。
なお、上述では、テイルバイティングを行わない場合の、パリティ検査多項式に基づく、符号化率R=(n−1)/n、時変周期mの非正則LDPC−CCに説明したが、テイルバイティングを適用してもよい。
(実施の形態C2)
したがって、本実施の形態では、実施の形態A1および実施の形態B1で説明した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)と実施の形態C1で述べた、パリティ検査多項式に基づく、符号化率R=(n−1)/n、時変周期mの非正則LDPC−CCに対しテイルバイティングを適用した場合の違いについて説明する。
第0番目の0を満たすパリティ検査多項式は、「式(B2)の0を満たすパリティ検査多項式」であり、
第1番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす1番目のパリティ検査多項式」であり、
第2番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第m−2番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たすm−2番目のパリティ検査多項式」であり、
第m−1番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たすm−1番目のパリティ検査多項式」であり、
第m番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす0番目のパリティ検査多項式」であり、
第m+1番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす1番目のパリティ検査多項式」であり、
第m+2番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第2m−2番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たすm−2番目のパリティ検査多項式」であり、
第2m−1番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たすm−1番目のパリティ検査多項式」であり、
第2m番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす0番目のパリティ検査多項式」であり、
第2m+1番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす1番目のパリティ検査多項式」であり、
第2m+2番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第m×z−2番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たすm−
2番目のパリティ検査多項式」であり、
第m×z−1番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たすm−1番目のパリティ検査多項式」
となる。つまり、
「第0番目の0を満たすパリティ検査多項式は、「式(B2)の0を満たすパリティ検査多項式」であり、第e番目(eは1以上m×z−1の整数)の0を満たすパリティ検査多項式は、「式(B1)の0を満たすe%m番目のパリティ検査多項式」
となる。
第0番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす0番目パリティ検査多項式」であり、
第1番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす1番目のパリティ検査多項式」であり、
第2番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第m−2番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たすm−2番目のパリティ検査多項式」であり、
第m−1番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たすm−1番目のパリティ検査多項式」であり、
第m番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす0番目のパリティ検査多項式」であり、
第m+1番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす1番目のパリティ検査多項式」であり、
第m+2番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第2m−2番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たすm−2番目のパリティ検査多項式」であり、
第2m−1番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たすm−1番目のパリティ検査多項式」であり、
第2m番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす0番目のパリティ検査多項式」であり、
第2m+1番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす1番目のパリティ検査多項式」であり、
第2m+2番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たす2番目のパリティ検査多項式」であり、
・
・
・
第m×z−2番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たすm−2番目のパリティ検査多項式」であり、
第m×z−1番目の0を満たすパリティ検査多項式は、「式(B1)の0を満たすm−1番目のパリティ検査多項式」
となる。つまり、
「第e番目(eは0以上m×z−1の整数)の0を満たすパリティ検査多項式は、「式(B1)の0を満たすe%m番目のパリティ検査多項式」
となる。
また上述では、実施の形態C1で述べた、パリティ検査多項式に基づく、符号化率R=(n−1)/n、時変周期mの非正則LDPC−CCに対しテイルバイティングを適用した場合の0を満たすパリティ検査多項式を式(B1)としたが、これに限ったものではなく、上述において、0を満たす式(B1)のパリティ検査多項式の代わりに、実施の形態C1で記載した、例えば、式(C7)、式(C17)から式(C24)、式(C25)、式(C26)、式(C27)のいずれの0を満たすパリティ検査多項式を用いても、パリティ検査多項式に基づく、符号化率R=(n−1)/n、時変周期mの非正則LDPC−CCに対しテイルバイティングを適用した符号を生成することができる。
さらに、パリティ検査多項式に基づく、符号化率R=(n−1)/n、時変周期mの非正則LDPC−CCに対し、テイルバイティングを適用した場合の符号化器、復号化器は、実施の形態A1、実施の形態B1、実施の形態C1で述べたような、符号化器、復号化器と同様に構成することが可能である。
となる。そして、パリティPproに関連する部分行列Hpの第s行のHp,comp[s][j]において、式(C34)、式(C35−1,C35−2)以外の要素は「0」なる。つまり、s−b1,k≧1の場合、j≠s、かつ、j≠s−b1,kを満たす、すべてのj(ただし、jは1以上m×z以下の整数)において、Hp,comp[s][j]=0となる。s−b1,k<1の場合、j≠s、かつ、j≠s−b1,k+m×zを満たす、すべてのj(ただし、jは1以上m×z以下の整数)において、Hp,comp[s][j]=0となる。
なお、式(C34)は、式(C33)におけるD0P(D)(=P(D))に相当する要素であり、また、式(C35−1,C35−2)における分類は、パリティPproに関連する部分行列Hpの行は1からm×zまで存在し、列も1からm×zまで存在するからである。
式(B1)の0を満たすパリティ検査多項式で定義することができる、符号化率R=(n−1)/n、時変周期mの非正則LDPC−CCに対しテイルバイティングを適用したときのパリティ検査行列Hpro_mにおける情報Xqに関連する部分行列Hx,qのi行j列の要素をHx,q,comp[i][j](iおよびjは1以上m×z以下の整数(i、j=1、2、3、・・・、m×z−1、m×z))とあらわすものとする。
すると、式(B1)の0を満たすパリティ検査多項式で定義することができる、符号化率R=(n−1)/n、時変周期mの非正則LDPC−CCに対しテイルバイティングを適用したとき、情報Xqに関連する部分行列Hx,qの第s行目において、(sは1以上m×z以下の整数)(s−1)%m=k(%はモジュラ演算(modulo)を示す。)とすると、情報Xqに関連する部分行列Hx,qの第s行目に関連するパリティ検査多項式は、式(B1)から、式(C33)とあらわされる。
したがって、情報Xqに関連する部分行列Hx,qの第s行目において、要素が「1」を満たす場合は、
となる。そして、情報Xqに関連する部分行列Hx,qの第s行のHx, q,comp[s][j]において、式(C36)、式(C37−1,C37−2)以外の要素は「0」なる。つまり、{j≠s}、かつ、{yは1以上rq以下の整数で、これを満たす、すべてのyで、以下が成立する。s−aq,k,y≧1の場合、j≠s−aq,k,yを満たし、s−aq,k,y<1の場合、j≠s−aq,k,y+m×zを満たす。}を満たす、すべてのj(ただし、jは1以上m×z以下の整数)において、Hx, q,comp[s][j]=0となる。
以上のように、本実施の形態では、パリティ検査多項式に基づく、符号化率R=(n−1)/n、時変周期mの非正則LDPC−CCに対し、テイルバイティングを適用した場合について説明した。本実施の形態で述べたように、パリティ検査多項式に基づく、符号化率R=(n−1)/n、時変周期mの非正則LDPC−CCに対し、テイルバイティングを適用すると、高い誤り訂正能力を得ることができるようになり、これにより、通信装置・ストレージ・メモリ等の装置でこの符号を使用した場合、信頼性の高いデータを得ることができるという効果を得ることができる。
(実施の形態C3)
符号化率R=(n−1)/nのパリティ検査多項式に基づくLDPC−CCを用いたとき(nは2以上の自然数)を考える。このとき、例えば、送信装置が、Mビットの情報を受信装置に伝送したいものとする。(または、Mビットの情報をストレージが記憶しておきたいものとする。)
情報のビット数Mが(n−1)の倍数でない場合を考える。このとき、Mを(n−1)で除算したときの商をa、余りがbであるものとする。この状況において、情報とパリティ、および、仮想データ、ターミネーション系列の状況を示した図が図144となる。
Mビットの情報系列は、n−1ビットで構成した情報セットa個を生成することができる。このとき、第kの情報セットを(X1,k、X2,k、・・・、Xn−2,k、Xn−1,k)とする(kは1以上a以下の整数)。
(X1,1、X2,1、・・・、Xn−2,1、Xn−1,1)〜(X1,a、X2,a、・・・、Xn−2,a、Xn−1,a)に対し、bビットの情報を付加すると、Mビットの情報系列となる。したがって、このbビットの情報をXj,a+1(ただし、jは1以上b以下の整数)とあらわす。(図144参照)
Xj,a+1(ただし、jは1以上b以下の整数)だけでは、n−1ビットの情報とならないため、パリティを生成することができない。したがって、n−1−bビット(個)の「0」を追加し、Xj,a+1(ただし、jは1以上b以下の整数)とn−1−bビット(個)の「0」から、パリティ(Pa+1)を生成する(図144の14402参照)。このとき、n−1−bビット(個)の「0」は仮想データとなる。
その後は、n−1ビット(個)から構成される「0」からパリティを生成する作業が繰り替えされる。つまり、n−1ビット(個)から構成される「0」からパリティPa+2を生成し、次のn−1ビット(個)から構成される「0」からパリティPa+3を生成し、・・・と繰り返される。(図144の14403参照)
例えば、ターミネーション系列数を100と設定した場合、Pa+100まで生成することになる。
また、ストレージの場合、(X1,k、X2,k、・・・、Xn−2,k、Xn−1,k,Pk)(kは1以上a以下の整数)、および、Xj,a+1(ただし、jは1以上b以下の整数)、および、Pi(iはa+1以上a+100以下の整数)を記憶することになる。
(実施の形態C4)
はじめに、「列入れ替え」について説明する。
本明細書で説明した(本発明の)符号化率(N−M)/N(N>M>0)のLDPC符号のパリティ検査行列をHとあらわす。(図105参照)(パリティ検査行列は、M行N列の行列となる)そして、図105の本発明の符号化率(N−M)/N(N>M>0)のLDPC符号のパリティ検査行列に対し、第j番目の送信系列(符号語)vj T=(Yj,1、Yj,2、Yj,3、・・・、Yj,N−2、Yj,N−1、Yj,N)とする(組織符号の場合、Yj,k(kは1以上N以下の整数)は、情報またはパリティとなる。)。このとき、Hvj=0が成立する。(なお、ここでの「Hvj=0の0(ゼロ)」は、全ての要素が0のベクトルであることを意味する。つまり、すべてのk(kは1以上M以下の整数)において、第k行の値は0である。)
次に、式(C38)のパリティ検査行列Hのi列とj列(ただし、iは1以上N以下の整数、jは1以上N以下の整数、i≠jとする。)を入れ替えることを考える。すると、入れ替え後のパリティ検査行列をHrとし、Hrの第k列目を抽出したベクトルをfkとすると、Hrは次式のようにあらわされ、
ただし、sは1以上N以下の整数であり、s≠i、かつ、s≠j、これを満たす、すべてのsで式(C42)が成立する。
本実施の形態では、これを「列入れ替え」とよぶ。そして、列入れ替え後のパリティ検査行列をHrで定義するLDPC符号は、もとのパリティ検査行列Hで定義するLDPC符号と同様、高い誤り訂正能力をもつ。
このとき、Hrvr j=0が成立する。(なお、ここでの「Hrvr j=0の0(ゼロ)」は、全ての要素が0のベクトルであることを意味する。つまり、すべてのk(kは1以上M以下の整数)において、第k行の値は0である。)
次に、「行入れ替え」について説明する。
このとき、Hvj=0が成立する。(なお、ここでの「Hvj=0の0(ゼロ)」は、全ての要素が0のベクトルであることを意味する。つまり、すべてのk(kは1以上M以下の整数)において、第k行の値は0である。)
そして、図109のパリティ検査行列Hの第k行目(kは1以上M以下の整数)を抽出したベクトルをzkとあらわす。このとき、本明細書で説明した(本発明の)LDPC符号のパリティ検査行列Hは、以下のようにあらわされる。
次に、式(C43)のパリティ検査行列Hのi行とj行(ただし、iは1以上M以下の整数、jは1以上M以下の整数、i≠jとする。)を入れ替えることを考える。すると、入れ替え後のパリティ検査行列をHtとし、Htの第k行目を抽出したベクトルをekとすると、Htは次式のようにあらわされ、
ただし、sは1以上M以下の整数であり、s≠i、かつ、s≠j、これを満たす、すべてのsで式(C47)が成立する。
本実施の形態では、これを「行入れ替え」とよぶ。そして、行入れ替え後のパリティ検査行列をHtで定義するLDPC符号は、もとのパリティ検査行列Hで定義するLDPC符号と同様、高い誤り訂正能力をもつ。
なお、行入れ替え後のパリティ検査行列をHtで定義するLDPC符号の第j番目の送信系列(符号語)vr j T=(Yr j,1、Yr j,2、Yr j,3、・・・、Yr j,N−2、Yr j,N−1、Yr j,N)とする(組織符号の場合、Yr j,k(kは1以上N以下の整数)は、情報またはパリティとなる。)。
上述では、本明細書で説明した(本発明の)符号化率(N−M)/N(N>M>0)のLDPC符号のパリティ検査行列をHに対し、1回の列入れ替え、または、1回の行入れ替えを行うことにより得られたパリティ検査行列で定義できるLDPC符号について説明したが、複数回の列入れ替え、および/または、複数回の行入れ替えを行うことで得られるパリティ検査行列で定義することができるLDPC符号も、同様に高い誤り訂正能力を得ることができる。この点について説明する。
このとき、1回目の列入れ替えでは、本明細書で説明した(本発明の)符号化率(N−M)/N(N>M>0)のLDPC符号のパリティ検査行列Hに対し、列入れ替えを行い、パリティ検査行列Hr,1を得る。
2回目の列入れ替えでは、パリティ検査行列Hr,1に対し、列入れ替えを行い、パリティ検査行列Hr,2を得る。
3回目の列入れ替えでは、パリティ検査行列Hr,2に対し、列入れ替えを行い、パリティ検査行列Hr,3を得る。
以上と同様の操作を、4回目からa回目まで行い、a回の列入れ替えを行ったパリティ検査行列Hr,aを得ることになる。
つまり、以下のような処理が行われる。
「1回目の列入れ替えでは、本明細書で説明した(本発明の)符号化率(N−M)/N(N>M>0)のLDPC符号のパリティ検査行列をHに対し、列入れ替えを行い、パリティ検査行列Hr,1を得る。そして、k回目(kは2以上a以下の整数)列入れ替えでは、パリティ検査行列Hr,k−1に対し、列入れ替えを行い、パリティ検査行列Hr,kを得る。」
このようにして生成したパリティ検査行列Hr,aで定義することができるLDPC符号は、もとのパリティ検査行列Hで定義するLDPC符号と同様、高い誤り訂正能力をもつ。
なお、列入れ替え後のパリティ検査行列をHr,aで定義するLDPC符号の第j番目の送信系列(符号語)vr j T=(Yr j,1、Yr j,2、Yr j,3、・・・、Yr j,N−2、Yr j,N−1、Yr j,N)とする(組織符号の場合、Yr j,k(kは1以上N以下の整数)は、情報またはパリティとなる。)。
このとき、Hr,avr j=0が成立する。(なお、ここでの「Hr,avr j=0の0(ゼロ)」は、全ての要素が0のベクトルであることを意味する。つまり、すべてのk(kは1以上M以下の整数)において、第k行の値は0である。)
このとき、1回目の行入れ替えでは、本明細書で説明した(本発明の)符号化率(N−M)/N(N>M>0)のLDPC符号のパリティ検査行列Hに対し、行入れ替えを行い、パリティ検査行列Ht,1を得る。
2回目の行入れ替えでは、パリティ検査行列Ht,1に対し、行入れ替えを行い、パリティ検査行列Ht,2を得る。
3回目の行入れ替えでは、パリティ検査行列Ht,2に対し、行入れ替えを行い、パリティ検査行列Ht,3を得る。
つまり、以下のような処理が行われる。
「1回目の行入れ替えでは、本明細書で説明した(本発明の)符号化率(N−M)/N(N>M>0)のLDPC符号のパリティ検査行列をHに対し、行入れ替えを行い、パリティ検査行列Ht,1を得る。そして、k回目(kは2以上b以下の整数)行入れ替えでは、パリティ検査行列Ht,k−1に対し、行入れ替えを行い、パリティ検査行列Ht,kを得る。」
これにより、Ht,bを得ることになる。
このようにして生成したパリティ検査行列Ht,bで定義することができるLDPC符号は、もとのパリティ検査行列Hで定義するLDPC符号と同様、高い誤り訂正能力をもつ。
なお、行入れ替え後のパリティ検査行列をHt,bで定義するLDPC符号の第j番目の送信系列(符号語)vr j T=(Yr j,1、Yr j,2、Yr j,3、・・・、Yr j,N−2、Yr j,N−1、Yr j,N)とする(組織符号の場合、Yr j,k(kは1以上N以下の整数)は、情報またはパリティとなる。)。
本明細書で説明した(本発明の)符号化率(N−M)/N(N>M>0)のLDPC符号のパリティ検査行列をHに対し、a回の列入れ替え、および、b回の行入れ替えを行うことを考える。(aは1以上の整数とし、bも1以上の整数とする。)
このとき、1回目の列入れ替えでは、本明細書で説明した(本発明の)符号化率(N−M)/N(N>M>0)のLDPC符号のパリティ検査行列Hに対し、列入れ替えを行い、パリティ検査行列Hr,1を得る。
2回目の列入れ替えでは、パリティ検査行列Hr,1に対し、列入れ替えを行い、パリティ検査行列Hr,2を得る。
3回目の列入れ替えでは、パリティ検査行列Hr,2に対し、列入れ替えを行い、パリティ検査行列Hr,3を得る。
以上と同様の操作を、4回目からa回目まで行い、a回の列入れ替えを行ったパリティ検査行列Hr,aを得ることになる。
つまり、以下のような処理が行われる。
「1回目の列入れ替えでは、本明細書で説明した(本発明の)符号化率(N−M)/N(N>M>0)のLDPC符号のパリティ検査行列をHに対し、列入れ替えを行い、パリティ検査行列Hr,1を得る。そして、k回目(kは2以上a以下の整数)列入れ替えでは、パリティ検査行列Hr,k−1に対し、列入れ替えを行い、パリティ検査行列Hr,kを得る。」
2回目の行入れ替えでは、パリティ検査行列Ht,1に対し、行入れ替えを行い、パリティ検査行列Ht,2を得る。
3回目の行入れ替えでは、パリティ検査行列Ht,2に対し、行入れ替えを行い、パリティ検査行列Ht,3を得る。
以上と同様の操作を、4回目からb回目まで行い、b回の行入れ替えを行ったパリティ検査行列Ht,bを得ることになる。
つまり、以下のような処理が行われる。
「1回目の行入れ替えでは、a回の列入れ替えを行ったパリティ検査行列Hr,aに対し、行入れ替えを行い、パリティ検査行列Ht,1を得る。そして、k回目(kは2以上b以下の整数)行入れ替えでは、パリティ検査行列Ht,k−1に対し、行入れ替えを行い、パリティ検査行列Ht,kを得る。」
これにより、Ht,bを得ることになる。
このようにして生成したパリティ検査行列Ht,bで定義することができるLDPC符号は、もとのパリティ検査行列Hで定義するLDPC符号と同様、高い誤り訂正能力をもつ。
このとき、Ht,bvr j=0が成立する。(なお、ここでの「Ht,bvr j=0の0(ゼロ)」は、全ての要素が0のベクトルであることを意味する。つまり、すべてのk(kは1以上M以下の整数)において、第k行の値は0である。)
上述では、パリティ検査行列に対し、複数回の列入れ替え後、複数回の行入れ替えを行う場合について説明したが、パリティ検査行列に対し、複数の列入れ替え後、複数回の行入れ替えを行い、その後、複数の列入れ替え後、および/または、複数回の行入れ替えを行い、複数回、施してもよい。
以上のように、本明細書で説明した(本発明の)符号化率(N−M)/N(N>M>0)のLDPC符号のパリティ検査行列に対し、複数の(または1回の)列入れ替え、および/または、複数の(または1回の)行入れ替え、を行うことにより得られたパリティ検査行列に基づくLDPC符号は、もとのパリティ検査行列と同様、高い誤り訂正能力を得ることができる。
(実施の形態D1)
実施の形態B1で記載したように、符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC−CCを利用したブロック符号化したLDPC符号)を形成するためのパリティ検査多項式として、式(B1)および式(B2)をあつかった。このとき、式(B1)は、ベースとなる符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC―CCの0を満たすパリティ検査多項式であり、式(B2)は式(B1)から作成される0を満たすパリティ検査多項式となる。
<条件D1−1>
実施の形態B1の<条件B1−1−k>(または、<条件B1−1’―k>)において、vk,1が奇数、かつ、vk,2が奇数を満たすkが存在する。(ただし、kは1以上n−1以下の整数)
<条件D1−1>にかわって、以下の条件を与えることでも、高い誤り訂正能力を得ることができる可能性がある。
<条件D1−2>
実施の形態B1の<条件B1−1−k>(または、<条件B1−1’―k>)において、vk,1が奇数、かつ、vk,2が奇数を、1以上n−1以下の整数を満たす、すべてのkで成立する。
式(B1)および式(B2)の0(ゼロ)を満たすパリティ検査多項式において、1×Xk(D)の項とDak,i,1×Xk(D)の項で形成するツリーを図11、図12,図14、図38、図39のように描くことを考える。このとき、実施の形態6で説明したようにvk,1が偶数の場合、ツリー内で、式(B1)におけるすべてのパリティ検査多項式に相当するチェックノードが存在するわけではない、つまり、限られ変数ノードと限られたチェックノードからの信頼度しか伝搬しないため、高い誤り訂正能力を得ることが難しい可能性がある。したがって、vk,1が奇数であるとよい可能性がある。
同様に、式(B1)および式(B2)の0(ゼロ)を満たすパリティ検査多項式において、1×Xk(D)の項とDak,i,2×Xk(D)の項で形成するツリーを図11、図12,図14、図38、図39のように描くことを考える。このとき、実施の形態6で説明したようにvk,2が偶数の場合、ツリー内で、式(B1)におけるすべてのパリティ検査多項式に相当するチェックノードが存在するわけではない、つまり、限られ変数ノードと限られたチェックノードからの信頼度しか伝搬しないため、高い誤り訂正能力を得ることが難しい。したがって、vk,2が奇数であるとよい可能性がある。
なお、vk,1≠vk,2を満たす必要がある場合、時変周期mは4以上の偶数となる。
次に、実施の形態B2における、ベースとして(基礎的な構造として)、符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC―CCを利用した、符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC−CCを利用したブロック符号化したLDPC符号)において、ベースの、符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC―CCの時変周期mが2以上の偶数のとき、高い誤り訂正能力を得るための好適な条件について説明する。
そして、実施の形態B2において、図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック符号化したLDPC符号)のパリティ検査行列HPro_mの情報Xkに関する部分行列において、最低列重みを3とし、高い誤り訂正能力を得るために、<条件B2−1−k>(別の表現として、<条件B2−1’―k>)を与えている。なお、kは1以上n−1以下の整数となる。
<条件D1−3>
実施の形態B2の<条件B2−1−k>(または、<条件B2−1’―k>)において、vk,1が奇数、かつ、vk,2が奇数を満たすkが存在する。(ただし、kは1以上n−1以下の整数)
<条件D1−3>にかわって、以下の条件を与えることでも、高い誤り訂正能力を得ることができる可能性がある。
<条件D1−4>
実施の形態B2の<条件B2−1−k>(または、<条件B2−1’―k>)において、vk,1が奇数、かつ、vk,2が奇数を、1以上n−1以下の整数を満たす、すべてのkで成立する。
式(B44)および式(B45)の0(ゼロ)を満たすパリティ検査多項式において、1×Xk(D)の項とDak,i,1×Xk(D)の項で形成するツリーを図11、図12,図14、図38、図39のように描くことを考える。このとき、実施の形態6で説明したようにvk,1が偶数の場合、ツリー内で、式(B44)におけるすべてのパリティ検査多項式に相当するチェックノードが存在するわけではない、つまり、限られ変数ノードと限られたチェックノードからの信頼度しか伝搬しないため、高い誤り訂正能力を得ることが難しい可能性がある。したがって、vk,1が奇数であるとよい可能性がある。
同様に、式(B44)および式(B45)の0(ゼロ)を満たすパリティ検査多項式において、1×Xk(D)の項とDak,i,2×Xk(D)の項で形成するツリーを図11、図12,図14、図38、図39のように描くことを考える。このとき、実施の形態6で説明したようにvk,2が偶数の場合、ツリー内で、式(B44)におけるすべてのパリティ検査多項式に相当するチェックノードが存在するわけではない、つまり、限られ変数ノードと限られたチェックノードからの信頼度しか伝搬しないため、高い誤り訂正能力を得ることが難しい。したがって、vk,2が奇数であるとよい可能性がある。
なお、vk,1≠vk,2を満たす必要がある場合、時変周期mは4以上の偶数となる。
次に、実施の形態B3における、ベースとして(基礎的な構造として)、符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC―CCを利用した、符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC−CCを利用したブロック符号化したLDPC符号)において、ベースの、符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC―CCの時変周期mが2以上の偶数のとき、高い誤り訂正能力を得るための好適な条件について説明する。
そして、実施の形態B3において、図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック符号化したLDPC符号)のパリティ検査行列HPro_mの情報Xkに関する部分行列において、最低列重みを3とし、高い誤り訂正能力を得るために、<条件B3−1−k>(別の表現として、<条件B3−1’―k>)を与えている。なお、kは1以上n−1以下の整数となる。
<条件D1−5>
実施の形態B3の<条件B3−1−k>(または、<条件B3−1’―k>)において、vk,1が奇数、かつ、vk,2が奇数を満たすkが存在する。(ただし、kは1以上n−1以下の整数)
<条件D1−5>にかわって、以下の条件を与えることでも、高い誤り訂正能力を得ることができる可能性がある。
<条件D1−6>
実施の形態B3の<条件B3−1−k>(または、<条件B3−1’―k>)において、vk,1が奇数、かつ、vk,2が奇数を、1以上n−1以下の整数を満たす、すべてのkで成立する。
式(B87)および式(B88)の0(ゼロ)を満たすパリティ検査多項式において、1×Xk(D)の項とDak,i,1×Xk(D)の項で形成するツリーを図11、図12,図14、図38、図39のように描くことを考える。このとき、実施の形態6で説明したようにvk,1が偶数の場合、ツリー内で、式(B87)におけるすべてのパリティ検査多項式に相当するチェックノードが存在するわけではない、つまり、限られ変数ノードと限られたチェックノードからの信頼度しか伝搬しないため、高い誤り訂正能力を得ることが難しい可能性がある。したがって、vk,1が奇数であるとよい可能性がある。
同様に、式(B87)および式(B88)の0(ゼロ)を満たすパリティ検査多項式において、1×Xk(D)の項とDak,i,2×Xk(D)の項で形成するツリーを図11、図12,図14、図38、図39のように描くことを考える。このとき、実施の形態6で説明したようにvk,2が偶数の場合、ツリー内で、式(B87)におけるすべてのパリティ検査多項式に相当するチェックノードが存在するわけではない、つまり、限られ変数ノードと限られたチェックノードからの信頼度しか伝搬しないため、高い誤り訂正能力を得ることが難しい。したがって、vk,2が奇数であるとよい可能性がある。
なお、vk,1≠vk,2を満たす必要がある場合、時変周期mは4以上の偶数となる。
次に、実施の形態B4における、ベースとして(基礎的な構造として)、符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC―CCを利用した、符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC−CCを利用したブロック符号化したLDPC符号)において、ベースの、符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC―CCの時変周期mが2以上の偶数のとき、高い誤り訂正能力を得るための好適な条件について説明する。
そして、実施の形態B4において、図132で示した符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック符号化したLDPC符号)のパリティ検査行列HPro_mの情報Xkに関する部分行列において、最低列重みを3とし、高い誤り訂正能力を得るために、<条件B4−1−k>(別の表現として、<条件B4−1’―k>)を与えている。なお、kは1以上n−1以下の整数となる。
<条件D1−7>
実施の形態B4の<条件B4−1−k>(または、<条件B4−1’―k>)において、vk,1が奇数、かつ、vk,2が奇数を満たすkが存在する。(ただし、kは1以上n−1以下の整数)
<条件D1−7>にかわって、以下の条件を与えることでも、高い誤り訂正能力を得ることができる可能性がある。
<条件D1−8>
実施の形態B4の<条件B4−1−k>(または、<条件B4−1’―k>)において、vk,1が奇数、かつ、vk,2が奇数を、1以上n−1以下の整数を満たす、すべてのkで成立する。
式(B130)および式(B131)の0(ゼロ)を満たすパリティ検査多項式において、1×Xk(D)の項とDak,i,1×Xk(D)の項で形成するツリーを図11、図12,図14、図38、図39のように描くことを考える。このとき、実施の形態6で説明したようにvk,1が偶数の場合、ツリー内で、式(B130)におけるすべてのパリティ検査多項式に相当するチェックノードが存在するわけではない、つまり、限られ変数ノードと限られたチェックノードからの信頼度しか伝搬しないため、高い誤り訂正能力を得ることが難しい可能性がある。したがって、vk,1が奇数であるとよい可能性がある。
同様に、式(B130)および式(B131)の0(ゼロ)を満たすパリティ検査多項式において、1×Xk(D)の項とDak,i,2×Xk(D)の項で形成するツリーを図11、図12,図14、図38、図39のように描くことを考える。このとき、実施の形態6で説明したようにvk,2が偶数の場合、ツリー内で、式(B130)におけるすべてのパリティ検査多項式に相当するチェックノードが存在するわけではない、つまり、限られ変数ノードと限られたチェックノードからの信頼度しか伝搬しないため、高い誤り訂正能力を得ることが難しい。したがって、vk,2が奇数であるとよい可能性がある。
なお、vk,1≠vk,2を満たす必要がある場合、時変周期mは4以上の偶数となる。
以上のように、実施の形態A1から実施の形態A4、および、実施の形態B1から実施の形態B4の、ベースとして(基礎的な構造として)、符号化率R=(n−1)/n(nは2以上の整数)、時変周期mのパリティ検査多項式に基づくLDPC―CCを利用した、符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC−CCを利用したブロック符号化したLDPC符号)において、ベースとなる(基礎的な構造となる)、符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC―CCにおいて、時変周期mが2以上の偶数のとき、本実施の形態で説明した条件を与えると、高い誤り訂正能力が得られる可能性が高くなるという効果を得ることができる。
(実施の形態D2)
はじめに、実施の形態C1における、テイルバイティングを行わないときの、符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づく非正則LDPC―CCの時変周期mが2以上の偶数のとき、高い誤り訂正能力を得るための好適な条件について説明する。
そして、実施の形態C1において、式(C7)で定義することができるパリティ検査多項式に基づく、符号化率R=(n−1)/n、時変周期mの非正則LDPC−CCのパリティ検査行列の情報Xkに関連する列において、最低列重みを3とし、高い誤り訂正能力を得るために、<条件C1−1−k>(別の表現として、<条件C1−1’―k>)を与えている。なお、kは1以上n−1以下の整数となる。
<条件D2−1>
実施の形態C1の<条件C1−1−k>(または、<条件C1−1’―k>)において、vk,1が奇数、かつ、vk,2が奇数を満たすkが存在する。(ただし、kは1以上n−1以下の整数)
<条件D2−1>にかわって、以下の条件を与えることでも、高い誤り訂正能力を得ることができる可能性がある。
<条件D2−2>
実施の形態C1の<条件C1−1−k>(または、<条件C1−1’―k>)において、vk,1が奇数、かつ、vk,2が奇数を、1以上n−1以下の整数を満たす、すべてのkで成立する。
式(C7)の0(ゼロ)を満たすパリティ検査多項式において、1×Xk(D)の項とDak,i,1×Xk(D)の項で形成するツリーを図11、図12,図14、図38、図39のように描くことを考える。このとき、実施の形態6で説明したようにvk,1が偶数の場合、ツリー内で、式(C7)におけるすべてのパリティ検査多項式に相当するチェックノードが存在するわけではない、つまり、限られ変数ノードと限られたチェックノードからの信頼度しか伝搬しないため、高い誤り訂正能力を得ることが難しい可能性がある。したがって、vk,1が奇数であるとよい可能性がある。
同様に、式(C7)の0(ゼロ)を満たすパリティ検査多項式において、1×Xk(D)の項とDak,i,2×Xk(D)の項で形成するツリーを図11、図12,図14、図38、図39のように描くことを考える。このとき、実施の形態6で説明したようにvk,2が偶数の場合、ツリー内で、式(C7)におけるすべてのパリティ検査多項式に相当するチェックノードが存在するわけではない、つまり、限られ変数ノードと限られたチェックノードからの信頼度しか伝搬しないため、高い誤り訂正能力を得ることが難しい。したがって、vk,2が奇数であるとよい可能性がある。
なお、vk,1≠vk,2を満たす必要がある場合、時変周期mは4以上の偶数となる。
次に、実施の形態C2における、テイルバイティングを行った、符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づく非正則LDPC―CCの時変周期mが2以上の偶数のとき、高い誤り訂正能力を得るための好適な条件について説明する。
実施の形態C2で記載したように、テイルバイティングを行わないときの、符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づく非正則LDPC―CCを形成するためのパリティ検査多項式として、式(B1)をあつかった。
そして、実施の形態C2において、式(B1)で定義することができる、テイルバイティングを行った、パリティ検査多項式に基づく、符号化率R=(n−1)/n、時変周期mの非正則LDPC−CCのパリティ検査行列の情報Xkに関連する列において、最低列重みを3とし、高い誤り訂正能力を得るために、<条件B1−1−k>(別の表現として、<条件B1−1’―k>)を与えている。なお、kは1以上n−1以下の整数となる。
<条件D2−3>
実施の形態C2の<条件B1−1−k>(または、<条件B1−1’―k>)において、vk,1が奇数、かつ、vk,2が奇数を満たすkが存在する。(ただし、kは1以上n−1以下の整数)
<条件D2−1>にかわって、以下の条件を与えることでも、高い誤り訂正能力を得ることができる可能性がある。
<条件D2−4>
実施の形態C2の<条件B1−1−k>(または、<条件B1−1’―k>)において、vk,1が奇数、かつ、vk,2が奇数を、1以上n−1以下の整数を満たす、すべてのkで成立する。
式(B1)の0(ゼロ)を満たすパリティ検査多項式において、1×Xk(D)の項とDak,i,1×Xk(D)の項で形成するツリーを図11、図12,図14、図38、図39のように描くことを考える。このとき、実施の形態6で説明したようにvk,1が偶数の場合、ツリー内で、式(B1)におけるすべてのパリティ検査多項式に相当するチェックノードが存在するわけではない、つまり、限られ変数ノードと限られたチェックノードからの信頼度しか伝搬しないため、高い誤り訂正能力を得ることが難しい可能性がある。したがって、vk,1が奇数であるとよい可能性がある。
同様に、式(B1)の0(ゼロ)を満たすパリティ検査多項式において、1×Xk(D)の項とDak,i,2×Xk(D)の項で形成するツリーを図11、図12,図14、図38、図39のように描くことを考える。このとき、実施の形態6で説明したようにvk,2が偶数の場合、ツリー内で、式(B1)におけるすべてのパリティ検査多項式に相当するチェックノードが存在するわけではない、つまり、限られ変数ノードと限られたチェックノードからの信頼度しか伝搬しないため、高い誤り訂正能力を得ることが難しい。したがって、vk,2が奇数であるとよい可能性がある。
なお、vk,1≠vk,2を満たす必要がある場合、時変周期mは4以上の偶数となる。
以上のように、実施の形態C1および実施の形態C2の符号化率R=(n−1)/n(nは2以上の整数)、時変周期mのパリティ検査多項式に基づく非正則LDPC―CC(LDPC畳み込み符号)において、時変周期mが2以上の偶数のとき、本実施の形態で説明した条件を与えると、高い誤り訂正能力が得られる可能性が高くなるという効果を得ることができる。
(実施の形態E1)
そして、実施の形態A1から実施の形態A4では、ベースとして(基礎的な構造として)、符号化率R=(n−1)/n(nは2以上の整数)、時変周期mのパリティ検査多項式に基づくLDPC―CCを利用した、符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC−CCを利用したブロック符号化したLDPC符号)の一般的な構成方法について説明し、実施の形態B1から実施の形態B4では、ベースとして(基礎的な構造として)、符号化率R=(n−1)/n(nは2以上の整数)、時変周期mのパリティ検査多項式に基づくLDPC―CCを利用した、符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC−CCを利用したブロック符号化したLDPC符号)の例を説明した。
実施の形態A1の例である実施の形態B1と比較して説明をすすめる。
実施の形態B1で記載したように、符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC−CCを利用したブロック符号化したLDPC符号)を形成するためのパリティ検査多項式として、一例として、式(B1)および式(B2)をあつかった。このとき、式(B1)は、ベースとなる符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC―CCの0を満たすパリティ検査多項式であり、式(B2)は式(B1)から作成される0を満たすパリティ検査多項式となる。
符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC−CCを利用したブロック符号化したLDPC符号)を形成するための、ベースとなる符号化率R=(n−1)/n(nは2以上の整数)、時変周期mのパリティ検査多項式に基づくLDPC―CCの0(ゼロ)を満たすパリティ検査多項式は、時変周期がmであるため、0(ゼロ)を満たすパリティ検査多項式はm個存在する。したがって、i番目(iは0以上m−1以下の整数)の0(ゼロ)を満たすパリティ検査多項式が存在することになる(実施の形態A1、実施の形態B1と同様である。)。
このとき、例えば、X1(D)の項数に着目したとき、0番目の0(ゼロ)を満たすパリティ検査多項式からm−1番目の0(ゼロ)を満たすパリティ検査多項式において、実施の形態A1、実施の形態B1で一般的に説明したように、X1(D)の項数が同一である必要はない。
このとき、ap,i,q(p=1,2,・・・,n−1(pは1以上n−1以下の整数);q=1,2,・・・,rp,i(qは1以上rp,i以下の整数))は自然数とする。また、y,z=1,2,・・・,rp,i(y,zは1以上rp,i以下の整数)かつy≠zであり、これを満たす、∀(y,z)に対して(すべてのyおよびすべてのzに対して)、ap,i,y≠ap,i,zを満たす。
特筆すべき点は、rpがrp,iと変更となっている点である。つまり、m個の0のパリティ検査多項式ごとにrp,iが設定されることになる。
なお、式(E2)を作成するために利用した式(E1)における0番目の(0を満たす)パリティ検査多項式は次式であらわされる。
よって、実施の形態A1および実施の形態B1と同様に、式(E1)は、ベースとなる符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC―CCの0を満たすパリティ検査多項式であり、式(E2)は、符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC−CCを利用したブロック符号化したLDPC符号)のパリティ検査行列Hproの第1行目のベクトルを生成するための0を満たすパリティ検査多項式である。
また、式(E1)のベースとなる符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC―CCの0を満たすパリティ検査多項式と式(E2)のパリティ検査多項式を用いて生成した、符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列に対し、実施の形態B1等で説明したように、列並び替え(列置換)および行並び替え(行置換)の両者を施すことにより得た行列をパリティ検査行列とする符号であってもよい。(なお、列並び替え(列置換)、および、行並び替え(行置換)については、実施の形態B1等で説明したとおりである。)
このとき、ap,i,q(p=1,2,・・・,n−1(pは1以上n−1以下の整数);q=1,2,・・・,rp,i(qは1以上rp,i以下の整数))は0以上の整数とする。また、y,z=1,2,・・・,rp,i(y,zは1以上rp,i以下の整数)かつy≠zであり、これを満たす、∀(y,z)に対して(すべてのyおよびすべてのzに対して)、ap,i,y≠ap,i,zを満たす。
なお、式(E5)を作成するために利用した式(E4)における0番目の(0を満たす)パリティ検査多項式は次式であらわされる。
よって、実施の形態A1および実施の形態B1と同様に、式(E4)は、ベースとなる符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC―CCの0を満たすパリティ検査多項式であり、式(E5)は、符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC−CCを利用したブロック符号化したLDPC符号)のパリティ検査行列Hproの第1行目のベクトルを生成するための0を満たすパリティ検査多項式である。
また、式(E4)のベースとなる符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC―CCの0を満たすパリティ検査多項式と式(E5)のパリティ検査多項式を用いて生成した、符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列に対し、実施の形態B1等で説明したように、列並び替え(列置換)および行並び替え(行置換)の両者を施すことにより得た行列をパリティ検査行列とする符号であってもよい。(なお、列並び替え(列置換)、および、行並び替え(行置換)については、実施の形態B1等で説明したとおりである。)
なお、本実施の形態と、実施の形態D1および実施の形態D2を組み合わせて、符号を生成することもできる。
(実施の形態E2)
実施の形態A2の例である実施の形態B2と比較して説明をすすめる。
実施の形態B2で記載したように、符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC−CCを利用したブロック符号化したLDPC符号)を形成するためのパリティ検査多項式として、一例として、式(B44)および式(B45)をあつかった。このとき、式(B44)は、ベースとなる符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC―CCの0を満たすパリティ検査多項式であり、式(B45)は式(B44)から作成される0を満たすパリティ検査多項式となる。
符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC−CCを利用したブロック符号化したLDPC符号)を形成するための、ベースとなる符号化率R=(n−1)/n(nは2以上の整数)、時変周期mのパリティ検査多項式に基づくLDPC―CCの0(ゼロ)を満たすパリティ検査多項式は、時変周期がmであるため、0(ゼロ)を満たすパリティ検査多項式はm個存在する。したがって、i番目(iは0以上m−1以下の整数)の0(ゼロ)を満たすパリティ検査多項式が存在することになる(実施の形態A2、実施の形態B2と同様である。)。
このとき、例えば、X1(D)の項数に着目したとき、0番目の0(ゼロ)を満たすパリティ検査多項式からm−1番目の0(ゼロ)を満たすパリティ検査多項式において、実施の形態A2、実施の形態B2で一般的に説明したように、X1(D)の項数が同一である必要はない。
このとき、ap,i,q(p=1,2,・・・,n−1(pは1以上n−1以下の整数);q=1,2,・・・,rp,i(qは1以上rp,i以下の整数))は自然数とする。また、y,z=1,2,・・・,rp,i(y,zは1以上rp,i以下の整数)かつy≠zであり、これを満たす、∀(y,z)に対して(すべてのyおよびすべてのzに対して)、ap,i,y≠ap,i,zを満たす。
特筆すべき点は、rpがrp,iと変更となっている点である。つまり、m個の0のパリティ検査多項式ごとにrp,iが設定されることになる。
なお、式(E8)を作成するために利用した式(E7)における0番目の(0を満たす)パリティ検査多項式は次式であらわされる。
よって、実施の形態A2および実施の形態B2と同様に、式(E7)は、ベースとなる符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC―CCの0を満たすパリティ検査多項式であり、式(E8)は、符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC−CCを利用したブロック符号化したLDPC符号)のパリティ検査行列Hproの第1行目のベクトルを生成するための0を満たすパリティ検査多項式である。
また、式(E7)のベースとなる符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC―CCの0を満たすパリティ検査多項式と式(E8)のパリティ検査多項式を用いて生成した、符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列に対し、実施の形態B2等で説明したように、列並び替え(列置換)および行並び替え(行置換)の両者を施すことにより得た行列をパリティ検査行列とする符号であってもよい。(なお、列並び替え(列置換)、および、行並び替え(行置換)については、実施の形態B2等で説明したとおりである。)
このとき、ap,i,q(p=1,2,・・・,n−1(pは1以上n−1以下の整数);q=1,2,・・・,rp,i(qは1以上rp,i以下の整数))は0以上の整数とする。また、y,z=1,2,・・・,rp,i(y,zは1以上rp,i以下の整数)かつy≠zであり、これを満たす、∀(y,z)に対して(すべてのyおよびすべてのzに対して)、ap,i,y≠ap,i,zを満たす。
なお、式(E11)を作成するために利用した式(E10)における0番目の(0を満たす)パリティ検査多項式は次式であらわされる。
よって、実施の形態A2および実施の形態B2と同様に、式(E10)は、ベースとなる符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC―CCの0を満たすパリティ検査多項式であり、式(E11)は、符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC−CCを利用したブロック符号化したLDPC符号)のパリティ検査行列Hproの第1行目のベクトルを生成するための0を満たすパリティ検査多項式である。
また、式(E10)のベースとなる符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC―CCの0を満たすパリティ検査多項式と式(E11)のパリティ検査多項式を用いて生成した、符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列に対し、実施の形態B2等で説明したように、列並び替え(列置換)および行並び替え(行置換)の両者を施すことにより得た行列をパリティ検査行列とする符号であってもよい。(なお、列並び替え(列置換)、および、行並び替え(行置換)については、実施の形態B2等で説明したとおりである。)
なお、本実施の形態と、実施の形態D1および実施の形態D2を組み合わせて、符号を生成することもできる。
(実施の形態E3)
実施の形態A3の例である実施の形態B3と比較して説明をすすめる。
実施の形態B3で記載したように、符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC−CCを利用したブロック符号化したLDPC符号)を形成するためのパリティ検査多項式として、一例として、式(B87)および式(B88)をあつかった。このとき、式(B87)は、ベースとなる符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC―CCの0を満たすパリティ検査多項式であり、式(B88)は式(B87)から作成される0を満たすパリティ検査多項式となる。
符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC−CCを利用したブロック符号化したLDPC符号)を形成するための、ベースとなる符号化率R=(n−1)/n(nは2以上の整数)、時変周期mのパリティ検査多項式に基づくLDPC―CCの0(ゼロ)を満たすパリティ検査多項式は、時変周期がmであるため、0(ゼロ)を満たすパリティ検査多項式はm個存在する。したがって、i番目(iは0以上m−1以下の整数)の0(ゼロ)を満たすパリティ検査多項式が存在することになる(実施の形態A3、実施の形態B3と同様である。)。
このとき、例えば、X1(D)の項数に着目したとき、0番目の0(ゼロ)を満たすパリティ検査多項式からm−1番目の0(ゼロ)を満たすパリティ検査多項式において、実施の形態A3、実施の形態B3でで一般的に説明したように、X1(D)の項数が同一である必要はない。
このとき、ap,i,q(p=1,2,・・・,n−1(pは1以上n−1以下の整数);q=1,2,・・・,rp,i(qは1以上rp,i以下の整数))は自然数とする。また、y,z=1,2,・・・,rp,i(y,zは1以上rp,i以下の整数)かつy≠zであり、これを満たす、∀(y,z)に対して(すべてのyおよびすべてのzに対して)、ap,i,y≠ap,i,zを満たす。
そして、実施の形態A3における、符号化率R=(n−1)/n(nは2以上の整数)の改良したテイルバイティング方法を用いたLDPC−CC(LDPC−CCを利用したブロック化したLDPC符号)のパリティ検査行列をHproの第α行目のベクトルを生成するための0を満たすパリティ検査多項式である実施の形態A3の式(A25)、実施の形態B3の式(B88)に相当する、0を満たすパリティ検査多項式は次式であらわされることになる。(式(E13)の(α−1)%m番目を利用することになる。)(式(B127)参照)
なお、式(E14)を作成するために利用した式(E13)における(α−1)%m番目の(0を満たす)パリティ検査多項式は次式であらわされる。
よって、実施の形態A3および実施の形態B3と同様に、式(E13)は、ベースとなる符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC―CCの0を満たすパリティ検査多項式であり、式(E14)は、符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC−CCを利用したブロック符号化したLDPC符号)のパリティ検査行列Hproの第α行目のベクトルを生成するための0を満たすパリティ検査多項式である。
また、式(E13)のベースとなる符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC―CCの0を満たすパリティ検査多項式と式(E14)のパリティ検査多項式を用いて生成した、符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列に対し、実施の形態B3等で説明したように、列並び替え(列置換)および行並び替え(行置換)の両者を施すことにより得た行列をパリティ検査行列とする符号であってもよい。(なお、列並び替え(列置換)、および、行並び替え(行置換)については、実施の形態B3等で説明したとおりである。)
このとき、ap,i,q(p=1,2,・・・,n−1(pは1以上n−1以下の整数);q=1,2,・・・,rp,i(qは1以上rp,i以下の整数))は0以上の整数とする。また、y,z=1,2,・・・,rp,i(y,zは1以上rp,i以下の整数)かつy≠zであり、これを満たす、∀(y,z)に対して(すべてのyおよびすべてのzに対して)、ap,i,y≠ap,i,zを満たす。
なお、式(E17)を作成するために利用した式(E16)における(α−1)%m番目の(0を満たす)パリティ検査多項式は次式であらわされる。
よって、実施の形態A3および実施の形態B3と同様に、式(E16)は、ベースとなる符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC―CCの0を満たすパリティ検査多項式であり、式(E17)は、符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC−CCを利用したブロック符号化したLDPC符号)のパリティ検査行列Hproの第α行目のベクトルを生成するための0を満たすパリティ検査多項式である。
また、式(E16)のベースとなる符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC―CCの0を満たすパリティ検査多項式と式(E17)のパリティ検査多項式を用いて生成した、符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列に対し、実施の形態B3等で説明したように、列並び替え(列置換)および行並び替え(行置換)の両者を施すことにより得た行列をパリティ検査行列とする符号であってもよい。(なお、列並び替え(列置換)、および、行並び替え(行置換)については、実施の形態B3等で説明したとおりである。)
なお、本実施の形態と、実施の形態D1および実施の形態D2を組み合わせて、符号を生成することもできる。
(実施の形態E4)
実施の形態A4の例である実施の形態B4と比較して説明をすすめる。
本実施の形態では、符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC−CCを利用したブロック符号化したLDPC符号)を形成するための、ベースとなる符号化率R=(n−1)/n(nは2以上の整数)、時変周期mのパリティ検査多項式に基づくLDPC―CCの0(ゼロ)を満たすパリティ検査多項式の構成方法について、補足説明する。
このとき、例えば、X1(D)の項数に着目したとき、0番目の0(ゼロ)を満たすパリティ検査多項式からm−1番目の0(ゼロ)を満たすパリティ検査多項式において、実施の形態A4、実施の形態B4で一般的に説明したように、X1(D)の項数が同一である必要はない。
同様に、Xk(D)の項数に着目したとき、0番目の0(ゼロ)を満たすパリティ検査多項式からm−1番目の0(ゼロ)を満たすパリティ検査多項式において、実施の形態A4、実施の形態B4で一般的に説明したように、Xk(D)の項数が同一である必要はない。(kは1以上n−1のいずれかの整数)
このとき、ap,i,q(p=1,2,・・・,n−1(pは1以上n−1以下の整数);q=1,2,・・・,rp,i(qは1以上rp,i以下の整数))は自然数とする。また、y,z=1,2,・・・,rp,i(y,zは1以上rp,i以下の整数)かつy≠zであり、これを満たす、∀(y,z)に対して(すべてのyおよびすべてのzに対して)、ap,i,y≠ap,i,zを満たす。
特筆すべき点は、rpがrp,iと変更となっている点である。つまり、m個の0のパリティ検査多項式ごとにrp,iが設定されることになる。
なお、式(E20)を作成するために利用した式(E19)における(α−1)%m番目の(0を満たす)パリティ検査多項式は次式であらわされる。
よって、実施の形態A4および実施の形態B4と同様に、式(E19)は、ベースとなる符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC―CCの0を満たすパリティ検査多項式であり、式(E20)は、符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC−CCを利用したブロック符号化したLDPC符号)のパリティ検査行列Hproの第α行目のベクトルを生成するための0を満たすパリティ検査多項式である。
また、式(E19)のベースとなる符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC―CCの0を満たすパリティ検査多項式と式(E20)のパリティ検査多項式を用いて生成した、符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列に対し、実施の形態B4等で説明したように、列並び替え(列置換)および行並び替え(行置換)の両者を施すことにより得た行列をパリティ検査行列とする符号であってもよい。(なお、列並び替え(列置換)、および、行並び替え(行置換)については、実施の形態B4等で説明したとおりである。)
このとき、ap,i,q(p=1,2,・・・,n−1(pは1以上n−1以下の整数);q=1,2,・・・,rp,i(qは1以上rp,i以下の整数))は0以上の整数とする。また、y,z=1,2,・・・,rp,i(y,zは1以上rp,i以下の整数)かつy≠zであり、これを満たす、∀(y,z)に対して(すべてのyおよびすべてのzに対して)、ap,i,y≠ap,i,zを満たす。
なお、式(E23)を作成するために利用した式(E22)における(α−1)%m番目の(0を満たす)パリティ検査多項式は次式であらわされる。
よって、実施の形態A4および実施の形態B4と同様に、式(E22)は、ベースとなる符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC―CCの0を満たすパリティ検査多項式であり、式(E23)は、符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC―CC(LDPC−CCを利用したブロック符号化したLDPC符号)のパリティ検査行列Hproの第α行目のベクトルを生成するための0を満たすパリティ検査多項式である。
また、式(E22)のベースとなる符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC―CCの0を満たすパリティ検査多項式と式(E23)のパリティ検査多項式を用いて生成した、符号化率R=(n−1)/nの改良したテイルバイティング方法を用いたLDPC−CCのパリティ検査行列に対し、実施の形態B4等で説明したように、列並び替え(列置換)および行並び替え(行置換)の両者を施すことにより得た行列をパリティ検査行列とする符号であってもよい。(なお、列並び替え(列置換)、および、行並び替え(行置換)については、実施の形態B4等で説明したとおりである。)
なお、本実施の形態と、実施の形態D1および実施の形態D2を組み合わせて、符号を生成することもできる。
(訂正符号化及び復号方法の応用例)
図145に示すデータを記録する処理系は、誤り訂正符号化部14502と、変調符号化部14503と、レーザ駆動部14504と、光ピックアップ14505とを備える。誤り訂正符号化部14502は、光ディスク14501に記録する記録データを本明細書で記載した誤り訂正符号を用いて誤り訂正符号化し、誤り訂正符号化データを生成する。変調符号化部14503は、例えばRLL(Run Length Limited)17符号(例えば、非特許文献38)等の変調符号を用いて変調符号化を行い、記録パターンを生成する。レーザ駆動部14504は、光ピックアップ14505を駆動し、光ピックアップ14505から光ディスク14501上のトラックに照射されるレーザにより、記録パターンに対応した記録マークをトラック上に形成する。
また、上記の説明では光ディスク装置を例に挙げて説明したが、記録メディアは光ディスクに限られず、それ以外の例えば磁気ディスクや不揮発性の半導体メモリ等を記録メディアとして用いる記録装置または再生装置において、本明細書で示した誤り訂正符号化及び復号方法を応用することもできる。
当然であるが、本明細書において説明した実施の形態を複数組み合わせて、実施してもよい。
110 データ演算部
120 パリティ演算部
130 ウェイト制御部
140 mod2加算(排他的論理和演算)器
111−1〜111−M、121−1〜121−M、221−1〜221−M、231−1〜231−M シフトレジスタ
112−0〜112−M、122−0〜122−M、222−0〜222−M、232−0〜232−M ウェイト乗算器
1910、2114、2617、2605 送信装置
1911、2900、3200 符号化器
1912 変調部
1920、2131、2609、2613 受信装置
1921 受信部
1922 対数尤度比生成部
1923、3310 復号化器
2110、2130、2600、2608 通信装置
2112、2312、2603 消失訂正符号化関連処理部
2113、2604 誤り訂正符号化部
2120、2607 通信路
2132、2610 誤り訂正復号部
2133、2433、2611 消失訂正復号関連処理部
2211 パケット生成部
2215、2902、2909、3101、3104、3202、3206、3210
並び替え部
2216 消失訂正符号化器(パリティパケット生成部)
2217、2317 誤り検出符号付加部
2314 消失訂正符号化部
2316、2560 消失訂正符号化器
2435 誤り検出部
2436 消失訂正復号器
2561 第1の消失訂正符号化器
2562 第2の消失訂正符号化器
2563 第3の消失訂正符号化器
2564 選択部
3313 BP復号器
4403 既知情報挿入部
4405 符号化器
4407 既知情報削減部
4409 変調部
4603 対数尤度比挿入部
4605 復号化部
4607 既知情報削減部
44100 誤り訂正符号化部
44200 送信装置
46100 誤り訂正復号部
5800 符号化器
5801 情報生成部
5802−1 第1情報演算部
5802−2 第2情報演算部
5802−3 第3情報演算部
5803 パリティ演算部
5804,5903,6003 加算部
5805 符号化率設定部
5806,5904,6004 ウェイト制御部
5901−1〜5901−M,6001−1〜6001−M シフトレジスタ
5902−0〜5902−M,6002−0〜6002−M ウェイト乗算器
6100 復号化器
6101 対数尤度比設定部
6102 行列処理演算部
6103 記憶部
6104 行処理演算部
6105 列処理演算部
6200,6300 通信装置
6201 符号化器
6202 変調部
6203 符号化率決定部
6301 受信部
6302 対数尤度比生成部
6303 復号化器
6304 制御情報生成部
7600 送信装置
7601 符号化器
7602 変調部
7610 受信装置
7611 受信部
7612 対数尤度比生成部
7613 復号化器
7700 デジタル放送用システム
7701 放送局
7711 テレビ(テレビジョン)
7712 DVDレコーダ
7713 STB(Set Top Box)
7720 コンピュータ
7740、7760 アンテナ
7741 車載のテレビ
7730 携帯電話
8440 アンテナ
7800 受信機
7801 チューナ
7802 復調部
7803 ストリーム入出力部
7804 信号処理部
7805 AV出力部
7806 音声出力部
7807 映像表示部
7808 記録部(ドライブ)
7809 ストリーム出力IF(Interface:インターフェース)
7810 操作入力部
7811 AV出力IF
7830、7840 通信媒体
7850、8607 リモコン(リモートコントローラ)
8604 受信装置
8600 映像音声出力装置
8605 IF
8606 通信装置
8701 映像符号化部
8703 音声符号化部
8705 データ符号化部
8700 情報源符号化部
8707 送信部
8712 受信部
8710_1〜8710_M アンテナ
8714 映像復号化部
8716 音声復号化部
8718 データ復号化部
8719 情報源復号部
Claims (6)
- 符号化方法であって、
行数がm×z、列数がn×m×z行の所定のパリティ検査行列、ただしnは2以上の整数、mは2以上の整数、zは自然数である、に基づいて、n−1個の情報系列X1からXn-1に対して、符号化率が(n−1)/nの符号化を行うことにより、前記n−1個の情報系列X1からXn-1及びパリティ系列Pで構成される符号化系列を生成し、
前記所定のパリティ検査行列は、複数のパリティ検査多項式を利用したLDPC(Low−Density Parity−Check)畳み込み符号に対応する第1のパリティ検査行列、または、前記第1のパリティ検査行列に行置換及び/または列置換を施して生成される第2のパリティ検査行列であり、
前記LDPC畳み込み符号における第e番目、ただし、eは0以上m×z−1以下の整数、の0を満たすパリティ検査多項式は、
e≠α−1のとき、ただしαは1以上m×z以下の整数、i=e%mを満たす変数i、ただしiは0以上m−1以下の整数であり、%はモジュラ演算を示す、を用いて式(1)で表され、
ただし、pは1以上n−1以下の整数、qは1以上rp,i以下の整数、rp,iは2以上の整数としたとき、Xp(D)は前記情報系列Xpの多項式表現であり、P(D)はパリティ系列Pの多項式表現であり、Dは遅延演算子であり、ap,i,qは自然数であり、且つx≠yを満たす1以上rp,i以下の任意の整数x、yに対して、ap,i,x≠ap,i,yを満たしており、b1,iは自然数であり、
e=α−1のとき式(2)で表される、
前記ap,i,qは、pが1以上n−1以下のいずれか一つの整数sの場合に、vs,1及びvs,2はm未満の奇数としたとき、iは0以上m−1以下の整数であり、これを満たす、すべてのiで、as,i,1%m=vs,1及びas,i,2%m=vs,2の両方の条件を満たし、
前記式(1)及び前記式(2)において、sは1以上n−1以下の整数、vs,1は1以上m−1以下の整数、vs,2は1以上m−1以下の整数としたとき、vs,1とmとの最大公約数は1であり、vs,2とmとの最大公約数は1である
符号化方法。 - 所定の符号化方法で符号化された符号化系列を復号する復号方法であって、
前記所定の符号化方法は、
行数がm×z、列数がn×m×z行の所定のパリティ検査行列、ただしnは2以上の整数、mは2以上の整数、zは自然数である、に基づいて、n−1個の情報系列X1からXn-1に対して、符号化率が(n−1)/nの符号化を行うことにより、前記n−1個の情報系列X1からXn-1及びパリティ系列Pで構成される符号化系列を生成し、
前記所定のパリティ検査行列は、複数のパリティ検査多項式を利用したLDPC(Low−Density Parity−Check)畳み込み符号に対応する第1のパリティ検査行列、または、前記第1のパリティ検査行列に行置換及び/または列置換を施して生成される第2のパリティ検査行列であり、
前記LDPC畳み込み符号における第e番目、ただし、eは0以上m×z−1以下の整数、の0を満たすパリティ検査多項式は、
e≠α−1のとき、ただしαは1以上m×z以下の整数、i=e%mを満たす変数i、ただしiは0以上m−1以下の整数であり、%はモジュラ演算を示す、を用いて式(1)で表され、
ただし、pは1以上n−1以下の整数、qは1以上rp,i以下の整数、rp,iは2以上の整数としたとき、Xp(D)は前記情報系列Xpの多項式表現であり、P(D)はパリティ系列Pの多項式表現であり、Dは遅延演算子であり、ap,i,qは自然数であり、且つx≠yを満たす1以上rp,i以下の任意の整数x、yに対して、ap,i,x≠ap,i,yを満たしており、b1,iは自然数であり、
e=α−1のとき式(2)で表され、
前記ap,i,qは、pが1以上n−1以下のいずれか一つの整数sの場合に、vs,1及びvs,2はm未満の奇数としたとき、iは0以上m−1以下の整数であり、これを満たす、すべてのiで、as,i,1%m=vs,1及びas,i,2%m=vs,2の両方の条件を満たし、
前記式(1)及び前記式(2)において、sは1以上n−1以下の整数、vs,1は1以上m−1以下の整数、vs,2は1以上m−1以下の整数としたとき、vs,1とmとの最大公約数は1であり、vs,2とmとの最大公約数は1であり、
前記所定のパリティ検査行列に基づいて、信頼度伝播(BP:Belief Propagation)を利用して、前記符号化系列を復号する、
復号方法。 - 符号化装置であって、
行数がm×z、列数がn×m×z行の所定のパリティ検査行列、ただしnは2以上の整数、mは2以上の整数、zは自然数である、に基づいて、n−1個の情報系列X1からXn-1に対して、符号化率が(n−1)/nの符号化を行うことにより、前記n−1個の情報系列X1からXn-1及びパリティ系列Pで構成される符号化系列を生成する符号化部を備え、
前記所定のパリティ検査行列は、複数のパリティ検査多項式を利用したLDPC(Low−Density Parity−Check)畳み込み符号に対応する第1のパリティ検査行列、または、前記第1のパリティ検査行列に行置換及び/または列置換を施して生成される第2のパリティ検査行列であり、
前記LDPC畳み込み符号における第e番目、ただし、eは0以上m×z−1以下の整数、の0を満たすパリティ検査多項式は、
e≠α−1のとき、ただしαは1以上m×z以下の整数、i=e%mを満たす変数i、ただしiは0以上m−1以下の整数であり、%はモジュラ演算を示す、を用いて式(1)で表され、
ただし、pは1以上n−1以下の整数、qは1以上rp,i以下の整数、rp,iは2以上の整数としたとき、Xp(D)は前記情報系列Xpの多項式表現であり、P(D)はパリティ系列Pの多項式表現であり、Dは遅延演算子であり、ap,i,qは自然数であり、且つx≠yを満たす1以上rp,i以下の任意の整数x、yに対して、ap,i,x≠ap,i,yを満たしており、b1,iは自然数であり、
e=α−1のとき式(2)で表される、
前記ap,i,qは、pが1以上n−1以下のいずれか一つの整数sの場合に、vs,1及びvs,2はm未満の奇数としたとき、iは0以上m−1以下の整数であり、これを満たす、すべてのiで、as,i,1%m=vs,1及びas,i,2%m=vs,2の両方の条件を満たし、
前記式(1)及び前記式(2)において、sは1以上n−1以下の整数、vs,1は1以上m−1以下の整数、vs,2は1以上m−1以下の整数としたとき、vs,1とmとの最大公約数は1であり、vs,2とmとの最大公約数は1である
符号化装置。 - 所定の符号化方法で符号化された符号化系列を復号する復号装置であって、
前記所定の符号化方法は、
行数がm×z、列数がn×m×z行の所定のパリティ検査行列、ただしnは2以上の整数、mは2以上の整数、zは自然数である、に基づいて、n−1個の情報系列X1からXn-1に対して、符号化率が(n−1)/nの符号化を行うことにより、前記n−1個の情報系列X1からXn-1及びパリティ系列Pで構成される符号化系列を生成し、
前記所定のパリティ検査行列は、複数のパリティ検査多項式を利用したLDPC(Low−Density Parity−Check)畳み込み符号に対応する第1のパリティ検査行列、または、前記第1のパリティ検査行列に行置換及び/または列置換を施して生成される第2のパリティ検査行列であり、
前記LDPC畳み込み符号における第e番目、ただし、eは0以上m×z−1以下の整数、の0を満たすパリティ検査多項式は、
e≠α−1のとき、ただしαは1以上m×z以下の整数、i=e%mを満たす変数i、ただしiは0以上m−1以下の整数であり、%はモジュラ演算を示す、を用いて式(1)で表され、
ただし、pは1以上n−1以下の整数、qは1以上rp,i以下の整数、rp,iは2以上の整数としたとき、Xp(D)は前記情報系列Xpの多項式表現であり、P(D)はパリティ系列Pの多項式表現であり、Dは遅延演算子であり、ap,i,qは自然数であり、且つx≠yを満たす1以上rp,i以下の任意の整数x、yに対して、ap,i,x≠ap,i,yを満たしており、b1,iは自然数であり、
e=α−1のとき式(2)で表され、
前記ap,i,qは、pが1以上n−1以下のいずれか一つの整数sの場合に、vs,1及びvs,2はm未満の奇数としたとき、iは0以上m−1以下の整数であり、これを満たす、すべてのiで、as,i,1%m=vs,1及びas,i,2%m=vs,2の両方の条件を満たし、
前記式(1)及び前記式(2)において、sは1以上n−1以下の整数、vs,1は1以上m−1以下の整数、vs,2は1以上m−1以下の整数としたとき、vs,1とmとの最大公約数は1であり、vs,2とmとの最大公約数は1であり、
前記所定のパリティ検査行列に基づいて、信頼度伝播(BP:Belief Propagation)を利用して、前記符号化系列を復号する復号部を備える
復号装置。 - 非一時的なコンピュータ読み取り可能な記録媒体に記録され、所定の符号化処理をコンピュータに実行させるためのプログラムであって、
前記所定の符号化処理は、
行数がm×z、列数がn×m×z行の所定のパリティ検査行列、ただしnは2以上の整数、mは2以上の整数、zは自然数である、に基づいて、n−1個の情報系列X1からXn-1に対して、符号化率が(n−1)/nの符号化を行うことにより、前記n−1個の情報系列X1からXn-1及びパリティ系列Pで構成される符号化系列を生成するステップを含み、
前記所定のパリティ検査行列は、複数のパリティ検査多項式を利用したLDPC(Low−Density Parity−Check)畳み込み符号に対応する第1のパリティ検査行列、または、前記第1のパリティ検査行列に行置換及び/または列置換を施して生成される第2のパリティ検査行列であり、
前記LDPC畳み込み符号における第e番目、ただし、eは0以上m×z−1以下の整数、の0を満たすパリティ検査多項式は、
e≠α−1のとき、ただしαは1以上m×z以下の整数、i=e%mを満たす変数i、ただしiは0以上m−1以下の整数であり、%はモジュラ演算を示す、を用いて式(1)で表され、
ただし、pは1以上n−1以下の整数、qは1以上rp,i以下の整数、rp,iは2以上の整数としたとき、Xp(D)は前記情報系列Xpの多項式表現であり、P(D)はパリティ系列Pの多項式表現であり、Dは遅延演算子であり、ap,i,qは自然数であり、且つx≠yを満たす1以上rp,i以下の任意の整数x、yに対して、ap,i,x≠ap,i,yを満たしており、b1,iは自然数であり、
e=α−1のとき式(2)で表される、
前記ap,i,qは、pが1以上n−1以下のいずれか一つの整数sの場合に、vs,1及びvs,2はm未満の奇数としたとき、iは0以上m−1以下の整数であり、これを満たす、すべてのiで、as,i,1%m=vs,1及びas,i,2%m=vs,2の両方の条件を満たし、
前記式(1)及び前記式(2)において、sは1以上n−1以下の整数、vs,1は1以上m−1以下の整数、vs,2は1以上m−1以下の整数としたとき、vs,1とmとの最大公約数は1であり、vs,2とmとの最大公約数は1である
プログラム。 - 非一時的なコンピュータ読み取り可能な記録媒体に記録され、所定の符号化方法で符号化された符号化系列を復号する復号処理をコンピュータに実行させるためのプログラムであって、
前記所定の符号化方法は、
行数がm×z、列数がn×m×z行の所定のパリティ検査行列、ただしnは2以上の整数、mは2以上の整数、zは自然数である、に基づいて、n−1個の情報系列X1からXn-1に対して、符号化率が(n−1)/nの符号化を行うことにより、前記n−1個の情報系列X1からXn-1及びパリティ系列Pで構成される符号化系列を生成し、
前記所定のパリティ検査行列は、複数のパリティ検査多項式を利用したLDPC(Low−Density Parity−Check)畳み込み符号に対応する第1のパリティ検査行列、または、前記第1のパリティ検査行列に行置換及び/または列置換を施して生成される第2のパリティ検査行列であり、
前記LDPC畳み込み符号における第e番目、ただし、eは0以上m×z−1以下の整数、の0を満たすパリティ検査多項式は、
e≠α−1のとき、ただしαは1以上m×z以下の整数、i=e%mを満たす変数i、ただしiは0以上m−1以下の整数であり、%はモジュラ演算を示す、を用いて式(1)で表され、
ただし、pは1以上n−1以下の整数、qは1以上rp,i以下の整数、rp,iは2以上の整数としたとき、Xp(D)は前記情報系列Xpの多項式表現であり、P(D)はパリティ系列Pの多項式表現であり、Dは遅延演算子であり、ap,i,qは自然数であり、且つx≠yを満たす1以上rp,i以下の任意の整数x、yに対して、ap,i,x≠ap,i,yを満たしており、b1,iは自然数であり、
e=α−1のとき式(2)で表され、
前記ap,i,qは、pが1以上n−1以下のいずれか一つの整数sの場合に、vs,1及びvs,2はm未満の奇数としたとき、iは0以上m−1以下の整数であり、これを満たす、すべてのiで、as,i,1%m=vs,1及びas,i,2%m=vs,2の両方の条件を満たし、
前記式(1)及び前記式(2)において、sは1以上n−1以下の整数、vs,1は1以上m−1以下の整数、vs,2は1以上m−1以下の整数としたとき、vs,1とmとの最大公約数は1であり、vs,2とmとの最大公約数は1であり、
前記復号処理は、前記所定のパリティ検査行列に基づいて、信頼度伝播(BP:Belief Propagation)を利用して、前記符号化系列を復号するステップを含む
プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015213362A JP5971576B2 (ja) | 2011-07-27 | 2015-10-29 | 符号化方法、復号方法 |
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011164262 | 2011-07-27 | ||
JP2011164262 | 2011-07-27 | ||
JP2011250402 | 2011-11-16 | ||
JP2011250402 | 2011-11-16 | ||
JP2012009455 | 2012-01-19 | ||
JP2012009455 | 2012-01-19 | ||
JP2015213362A JP5971576B2 (ja) | 2011-07-27 | 2015-10-29 | 符号化方法、復号方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013505244A Division JP5833633B2 (ja) | 2011-07-27 | 2012-07-24 | 符号化方法、復号方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016128619A Division JP6152996B6 (ja) | 2011-07-27 | 2016-06-29 | 符号化方法、復号方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016028531A JP2016028531A (ja) | 2016-02-25 |
JP5971576B2 true JP5971576B2 (ja) | 2016-08-17 |
Family
ID=47600785
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013505244A Active JP5833633B2 (ja) | 2011-07-27 | 2012-07-24 | 符号化方法、復号方法 |
JP2015213362A Active JP5971576B2 (ja) | 2011-07-27 | 2015-10-29 | 符号化方法、復号方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013505244A Active JP5833633B2 (ja) | 2011-07-27 | 2012-07-24 | 符号化方法、復号方法 |
Country Status (5)
Country | Link |
---|---|
US (5) | US9214962B2 (ja) |
EP (2) | EP3301815B1 (ja) |
JP (2) | JP5833633B2 (ja) |
TW (1) | TW201316694A (ja) |
WO (1) | WO2013014923A1 (ja) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2879296A4 (en) * | 2012-07-24 | 2015-08-05 | Panasonic Ip Corp America | ENCODING METHOD AND DECODING METHOD |
JP6160802B2 (ja) * | 2012-08-14 | 2017-07-12 | シャープ株式会社 | ビット符号化装置、ビット復号装置、送信装置、受信装置、ビット符号化方法、ビット復号方法、送信方法、受信方法およびプログラム |
US9612903B2 (en) * | 2012-10-11 | 2017-04-04 | Micron Technology, Inc. | Updating reliability data with a variable node and check nodes |
CN107659384A (zh) | 2012-11-16 | 2018-02-02 | 华为技术有限公司 | 数据处理的方法和装置 |
WO2014097500A1 (ja) * | 2012-12-17 | 2014-06-26 | パナソニック株式会社 | 情報処理装置および制御方法 |
WO2015112167A1 (en) * | 2014-01-24 | 2015-07-30 | Hewlett-Packard Development Company, L.P. | Bit-flip coding |
TWI683557B (zh) | 2014-01-31 | 2020-01-21 | 日商新力股份有限公司 | 通訊裝置及方法 |
CN106063134A (zh) * | 2014-03-11 | 2016-10-26 | 富士通株式会社 | 设计辅助方法、设计辅助程序、设计辅助装置、以及记录介质 |
JP6660565B2 (ja) | 2015-02-10 | 2020-03-11 | パナソニックIpマネジメント株式会社 | 復号装置 |
JP2017022651A (ja) * | 2015-07-14 | 2017-01-26 | ルネサスエレクトロニクス株式会社 | 誤り訂正装置、半導体記憶装置、および誤り訂正方法 |
US9847849B2 (en) | 2015-10-14 | 2017-12-19 | Intel IP Corporation | Modulation and coding scheme codes |
US10146618B2 (en) * | 2016-01-04 | 2018-12-04 | Western Digital Technologies, Inc. | Distributed data storage with reduced storage overhead using reduced-dependency erasure codes |
US10505568B2 (en) * | 2016-12-02 | 2019-12-10 | Huawei Technologies Co., Ltd. | Systems and methods for outer coding |
KR20180086687A (ko) * | 2017-01-23 | 2018-08-01 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
EP3602795B1 (en) * | 2017-05-05 | 2024-04-10 | Mediatek Inc. | Generation of parity check matrices from a base graph in dependence on code block size and code rate |
US11146363B2 (en) | 2018-04-13 | 2021-10-12 | Huawei Technologies Co., Ltd. | Systems and methods for HARQ retransmission using an outer code |
KR102578869B1 (ko) * | 2019-03-06 | 2023-09-15 | 삼성에스디에스 주식회사 | 부채널 공격에 안전한 행렬 곱 연산을 수행하기 위한 장치 및 방법 |
US11032023B1 (en) | 2019-05-21 | 2021-06-08 | Tarana Wireless, Inc. | Methods for creating check codes, and systems for wireless communication using check codes |
US11190212B1 (en) * | 2020-07-24 | 2021-11-30 | SK Hynix Inc. | Dynamic control of quasi-cyclic low-density parity-check bit-flipping decoder |
US11349498B2 (en) * | 2020-10-08 | 2022-05-31 | Micron Technology, Inc. | Bit flipping low-density parity-check decoders with low error floor |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006124071A1 (en) * | 2005-05-18 | 2006-11-23 | The Governors Of The University Of Alberta | Decoder for low-density parity-check convolutional codes |
CN101809872B (zh) | 2007-09-28 | 2013-06-05 | 松下电器产业株式会社 | 编码方法、编码器以及解码器 |
JP4564080B2 (ja) | 2008-01-07 | 2010-10-20 | パナソニック株式会社 | 符号化方法、符号化器、復号器 |
JP4563476B2 (ja) * | 2008-07-09 | 2010-10-13 | パナソニック株式会社 | 符号化器、復号化器及び符号化方法 |
KR101730277B1 (ko) * | 2009-11-13 | 2017-04-25 | 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 | 송신 장치 및 송신 방법 |
JP5844747B2 (ja) * | 2011-01-21 | 2016-01-20 | パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America | 符号化方法、復号方法 |
-
2012
- 2012-07-24 US US13/980,654 patent/US9214962B2/en active Active
- 2012-07-24 WO PCT/JP2012/004717 patent/WO2013014923A1/ja active Application Filing
- 2012-07-24 EP EP17189019.7A patent/EP3301815B1/en active Active
- 2012-07-24 JP JP2013505244A patent/JP5833633B2/ja active Active
- 2012-07-24 EP EP12817050.3A patent/EP2738943B1/en active Active
- 2012-07-25 TW TW101126775A patent/TW201316694A/zh unknown
-
2015
- 2015-05-27 US US14/722,767 patent/US9306602B2/en active Active
- 2015-10-29 JP JP2015213362A patent/JP5971576B2/ja active Active
- 2015-10-29 US US14/926,539 patent/US9391640B2/en active Active
-
2016
- 2016-05-24 US US15/162,897 patent/US9859923B2/en active Active
-
2017
- 2017-10-18 US US15/787,247 patent/US10547331B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2016189618A (ja) | 2016-11-04 |
US9306602B2 (en) | 2016-04-05 |
US10547331B2 (en) | 2020-01-28 |
JPWO2013014923A1 (ja) | 2015-02-23 |
US9214962B2 (en) | 2015-12-15 |
US20150256198A1 (en) | 2015-09-10 |
EP3301815B1 (en) | 2021-09-08 |
EP2738943A4 (en) | 2014-07-30 |
US20180062667A1 (en) | 2018-03-01 |
TW201316694A (zh) | 2013-04-16 |
US9391640B2 (en) | 2016-07-12 |
EP2738943B1 (en) | 2017-10-18 |
US20160049961A1 (en) | 2016-02-18 |
EP3301815A1 (en) | 2018-04-04 |
JP6152996B2 (ja) | 2017-06-28 |
US20160269048A1 (en) | 2016-09-15 |
EP2738943A1 (en) | 2014-06-04 |
JP2016028531A (ja) | 2016-02-25 |
JP5833633B2 (ja) | 2015-12-16 |
US20130311857A1 (en) | 2013-11-21 |
WO2013014923A1 (ja) | 2013-01-31 |
US9859923B2 (en) | 2018-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6284066B2 (ja) | 符号化方法、復号方法 | |
JP5971576B2 (ja) | 符号化方法、復号方法 | |
JP5844747B2 (ja) | 符号化方法、復号方法 | |
JP5829627B2 (ja) | 符号化方法、復号方法、符号化器、及び、復号器 | |
JP5864749B2 (ja) | 符号化方法、復号方法 | |
JP6152996B6 (ja) | 符号化方法、復号方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160527 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20160531 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20160621 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160630 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5971576 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |