以下、本発明の実施の形態について、図面を参照して詳細に説明する。
先ず、実施の形態の具体的な構成及び動作を説明する前に、特許文献1に記載されているパリティ検査多項式に基づくLDPC−CCについて説明する。
[パリティ検査多項式に基づくLDPC−CC]
先ず、時変周期4のLDPC−CCについて説明する。なお、以下では、符号化率1/2の場合を例に説明する。
時変周期を4とするLDPC−CCのパリティ検査多項式として、式(1−1)〜(1−4)を考える。このとき、X(D)はデータ(情報)の多項式表現であり、P(D)はパリティの多項式表現である。ここで、式(1−1)〜(1−4)では、X(D)、P(D)それぞれに4つの項が存在するようなパリティ検査多項式としたが、これは、良好な受信品質を得る上で、4つの項とすると好適であるからである。
式(1−1)において、a1、a2、a3、a4は整数(ただし、a1≠a2≠a3≠a4であり、a1からa4の全てが異なる)とする。なお、以降、「X≠Y≠・・・≠Z」と標記する場合、X、Y、・・・、Zは互いに、全て異なることをあらわすものとする。また、b1、b2、b3、b4は整数(ただし、b1≠b2≠b3≠b4)とする。式(1−1)のパリティ検査多項式を「検査式#1」と呼び、式(1−1)のパリティ検査多項式に基づくサブ行列を、第1サブ行列H1とする。
また、式(1−2)において、A1、A2、A3、A4は整数(ただし、A1≠A2≠A3≠A4)とする。また、B1、B2、B3、B4は整数(ただし、B1≠B2≠B3≠B4)とする。式(1−2)のパリティ検査多項式を「検査式#2」と呼び、式(1−2)のパリティ検査多項式に基づくサブ行列を、第2サブ行列H2とする。
また、式(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−4)において、E1、E2、E3、E4は整数(ただし、E1≠E2≠E3≠E4)とする。また、F1、F2、F3、F4は整数(ただし、F1≠F2≠F3≠F4)とする。式(1−4)のパリティ検査多項式を「検査式#4」と呼び、式(1−4)のパリティ検査多項式に基づくサブ行列を、第4サブ行列H4とする。
そして、第1サブ行列H1、第2サブ行列H2、第3サブ行列H3、第4サブ行列H4から、図3のように検査行列を生成した時変周期4のLDPC−CCについて考える。
このとき、式(1−1)〜(1−4)において、X(D)及びP(D)の次数の組み合わせ(a1、a2、a3、a4)、(b1、b2、b3、b4)、(A1、A2、A3、A4)、(B1、B2、B3、B4)、(α1、α2、α3、α4)、(β1、β2、β3、β4)、(E1、E2、E3、E4)、(F1、F2、F3、F4)の各値を4で除算した余りをkとした場合、上記のようにあらわした4つの係数セット(例えば、(a1、a2、a3、a4))に、余り0、1、2、3が1つずつ含まれるようにし、かつ、上記の4つの係数セット全てで成立するようにする。
例えば、「検査式#1」のX(D)の各次数(a1、a2、a3、a4)を(a1、a2、a3、a4)=(8,7,6,5)とすると、各次数(a1、a2、a3、a4)を4で除算した余りkは、(0,3,2,1)となり、4つの係数セットに、余り(k)0、1、2、3が1つずつ含まれるようになる。同様に、「検査式#1」のP(D)の各次数(b1、b2、b3、b4)を(b1、b2、b3、b4)=(4,3,2,1)とすると、各次数(b1、b2、b3、b4)を4で除算した余りkは、(0,3,2,1)となり、4つの係数セットに、余り(k)として、0、1、2、3が1つずつ含まれるようになる。他の検査式(「検査式#2」、「検査式#3」、「検査式#4」)のX(D)及びP(D)それぞれの4つの係数セットについても上記の「余り」に関する条件が成立するものとする。
このようにすることで、式(1−1)〜(1−4)から構成される検査行列Hの列重みが全ての列において4となる、レギュラーLDPC符号を形成することができるようになる。ここで、レギュラーLDPC符号とは、各列重みが一定とされた検査行列により定義されるLDPC符号であり、特性が安定し、エラーフロアが出にくいという特徴がある。特に、列重みが4の場合、特性が良好であることから、上記のようにしてLDPC−CCを生成することにより、受信性能が良いLDPC−CCを得ることができるようになる。
なお、表1は、上記「余り」に関する条件が成り立つ、時変周期4、符号化率1/2のLDPC−CCの例(LDPC−CC#1〜#3)である。表1において、時変周期4のLDPC−CCは、「検査多項式#1」、「検査多項式#2」、「検査多項式#3」、「検査多項式#4」の4つのパリティ検査多項式により定義される。
上記では、符号化率1/2の時を例に説明したが、符号化率が(n−1)/nのときについても、情報X1(D)、X2(D)、・・・、Xn−1(D)におけるそれぞれの4つの係数セットにおいて、上記の「余り」に関する条件が成立すれば、やはり、レギュラーLDPC符号となり、良好な受信品質を得ることができる。
なお、時変周期2の場合においても、上記「余り」に関する条件を適用すると、特性が良好な符号を探索できることが確認された。以下、特性が良好な時変周期2のLDPC−CCについて説明する。なお、以下では、符号化率1/2の場合を例に説明する。
時変周期を2とするLDPC−CCのパリティ検査多項式として、式(2−1)、(2−2)を考える。このとき、X(D)はデータ(情報)の多項式表現であり、P(D)はパリティの多項式表現である。ここで、式(2−1)、(2−2)では、X(D)、P(D)それぞれに4つの項が存在するようなパリティ検査多項式としたが、これは、良好な受信品質を得る上で、4つの項とすると好適であるからである。
式(2−1)において、a1、a2、a3、a4は整数(ただし、a1≠a2≠a3≠a4)とする。また、b1、b2、b3、b4は整数(ただし、b1≠b2≠b3≠b4)とする。式(2−1)のパリティ検査多項式を「検査式#1」と呼び、式(2−1)のパリティ検査多項式に基づくサブ行列を、第1サブ行列H1とする。
また、式(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とする。
そして、第1サブ行列H1及び第2サブ行列H2から生成する時変周期2のLDPC−CCについて考える。
このとき、式(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つの係数セット全てで成立するようにする。
例えば、「検査式#1」のX(D)の各次数(a1、a2、a3、a4)を(a1、a2、a3、a4)=(8,7,6,5)とすると、各次数(a1、a2、a3、a4)を4で除算した余りkは、(0,3,2,1)となり、4つの係数セットに、余り(k)0、1、2、3が1つずつ含まれるようになる。同様に、「検査式#1」のP(D)の各次数(b1、b2、b3、b4)を(b1、b2、b3、b4)=(4,3,2,1)とすると、各次数(b1、b2、b3、b4)を4で除算した余りkは、(0,3,2,1)となり、4つの係数セットに、余り(k)として、0、1、2、3が1つずつ含まれるようになる。「検査式#2」のX(D)及びP(D)それぞれの4つの係数セットについても上記の「余り」に関する条件が成立するものとする。
このようにすることで、式(2−1)、(2−2)から構成される検査行列Hの列重みが全ての列において4となる、レギュラーLDPC符号を形成することができるようになる。ここで、レギュラーLDPC符号とは、各列重みが一定とされた検査行列により定義されるLDPC符号であり、特性が安定し、エラーフロアが出にくいという特徴がある。特に、行重みが8の場合、特性が良好であることから、上記のようにしてLDPC−CCを生成することにより、受信性能を更に向上することができるLDPC−CCを得ることができるようになる。
なお、表2に、上記「余り」に関する条件が成り立つ、時変周期2、符号化率1/2のLDPC−CCの例(LDPC−CC#1、#2)を示す。表2において、時変周期2のLDPC−CCは、「検査多項式#1」、「検査多項式#2」の2つのパリティ検査多項式により定義される。
上記では(時変周期2のLDPC−CC)、符号化率1/2の時を例に説明したが、符号化率が(n−1)/nのときについても、情報X1(D)、X2(D)、・・・、Xn−1(D)におけるそれぞれの4つの係数セットにおいて、上記の「余り」に関する条件が成立すれば、やはり、レギュラーLDPC符号となり、良好な受信品質を得ることができる。
また、時変周期3の場合においても、「余り」に関する以下の条件を適用すると、特性が良好な符号を探索できることが確認された。以下、特性が良好な時変周期3のLDPC−CCについて説明する。なお、以下では、符号化率1/2の場合を例に説明する。
時変周期を3とするLDPC−CCのパリティ検査多項式として、式(3−1)〜(3−3)を考える。このとき、X(D)はデータ(情報)の多項式表現であり、P(D)はパリティの多項式表現である。ここで、式(3−1)〜(3−3)では、X(D)、P(D)それぞれに3つの項が存在するようなパリティ検査多項式とする。
式(3−1)において、a1、a2、a3は整数(ただし、a1≠a2≠a3)とする。また、b1、b2、b3は整数(ただし、b1≠b2≠b3)とする。式(3−1)のパリティ検査多項式を「検査式#1」と呼び、式(3−1)のパリティ検査多項式に基づくサブ行列を、第1サブ行列H1とする。
また、式(3−2)において、A1、A2、A3は整数(ただし、A1≠A2≠A3)とする。また、B1、B2、B3は整数(ただし、B1≠B2≠B3)とする。式(3−2)のパリティ検査多項式を「検査式#2」と呼び、式(3−2)のパリティ検査多項式に基づくサブ行列を、第2サブ行列H2とする。
また、式(3−3)において、α1、α2、α3は整数(ただし、α1≠α2≠α3)とする。また、β1、β2、β3は整数(ただし、β1≠β2≠β3)とする。式(3−3)のパリティ検査多項式を「検査式#3」と呼び、式(3−3)のパリティ検査多項式に基づくサブ行列を、第3サブ行列H3とする。
そして、第1サブ行列H1、第2サブ行列H2、第3サブ行列H3から生成する時変周期3のLDPC−CCについて考える。
このとき、式(3−1)〜(3−3)において、X(D)及びP(D)の次数の組み合わせ(a1、a2、a3)、(b1、b2、b3)、(A1、A2、A3)、(B1、B2、B3)、(α1、α2、α3)、(β1、β2、β3)の各値を3で除算した余りをkとした場合、上記のようにあらわした3つの係数セット(例えば、(a1、a2、a3))に、余り0、1、2が1つずつ含まれるようにし、かつ、上記の3つの係数セット全てで成立するようにする。
例えば、「検査式#1」のX(D)の各次数(a1、a2、a3)を(a1、a2、a3)=(6,5,4)とすると、各次数(a1、a2、a3)を3で除算した余りkは、(0,2,1)となり、3つの係数セットに、余り(k)0、1、2が1つずつ含まれるようになる。同様に、「検査式#1」のP(D)の各次数(b1、b2、b3)を(b1、b2、b3)=(3,2,1)とすると、各次数(b1、b2、b3)を4で除算した余りkは、(0,2,1)となり、3つの係数セットに、余り(k)として、0、1、2が1つずつ含まれるようになる。「検査式#2」、「検査式#3」のX(D)及びP(D)それぞれの3つの係数セットについても上記の「余り」に関する条件が成立するものとする。
このようにしてLDPC−CCを生成することにより、一部の例外を除き、行重みが全ての行で等く、かつ、列重みが全ての行で等しいレギュラーLDPC−CC符号を生成することができる。なお、例外とは、検査行列の最初の一部及び最後の一部では、行重み、列重みが、他の行重み、列重みと等しくならないことをいう。更に、BP復号を行った場合、「検査式#2」における信頼度及び「検査式#3」における信頼度が、的確に「検査式#1」に対して伝播し、「検査式#1」における信頼度及び「検査式#3」における信頼度が、的確に「検査式#2」に対して伝播し、「検査式#1」における信頼度及び「検査式#2」における信頼度が、「検査式#3」に対して的確に伝播する。このため、より受信品質が良好なLDPC−CCを得ることができる。これは、列単位で考えた場合、「1」が存在する位置が、上述のように、信頼度を的確に伝播するように配置されることになるためである。
以下、図を用いて、上述の信頼度伝播について説明する。図4Aは、時変周期3のLDPC−CCのパリティ検査多項式及び検査行列Hの構成を示している。
「検査式#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で除算した余りをあらわす。
「検査式#2」は、式(3−2)のパリティ検査多項式において、(A1、A2、A3)=(5,1,0)、(B1、B2、B3)=(5,1,0)の場合であり、各係数を3で除算した余りは、(A1%3、A2%3、A3%3)=(2,1,0)、(B1%3、B2%3、B3%3)=(2,1,0)である。
「検査式#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)である。
したがって、図4Aに示した時変周期3のLDPC−CCの例は、上述した「余り」に関する条件、つまり、
(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)のいずれかとなるという条件を満たしている。
再度、図4Aに戻って、信頼度伝播について説明する。BP復号における列6506の列演算によって、「検査式#1」の領域6201の「1」は、「検査行列#2」の領域6504の「1」及び「検査行列#3」の領域6505の「1」から、信頼度が伝播される。上述したように、「検査式#1」の領域6201の「1」は、3で除算した余りが0となる係数である(a3%3=0(a3=0)、又は、b3%3=0(b3=0))。また、「検査行列#2」の領域6504の「1」は、3で除算した余りが1となる係数である(A2%3=1(A2=1)、又は、B2%3=1(B2=1))。また、「検査式#3」の領域6505の「1」は、3で除算した余りが2となる係数である(α2%3=2(α2=2)、又は、β2%3=2(β2=2))。
このように、「検査式#1」の係数において余りが0となる領域6201の「1」は、BP復号における列6506の列演算において、「検査式#2」の係数において余りが1となる領域6504の「1」、及び、「検査式#3」の係数において余りが2となる領域6505の「1」から、信頼度が伝播される。
同様に、「検査式#1」の係数において余りが1となる領域6202の「1」は、BP復号における列6509の列演算において、「検査式#2」の係数において余りが2となる領域6507の「1」、及び、「検査式#3」の係数において余りが0となる領域6508の「1」から、信頼度が伝播される。
同様に、「検査式#1」の係数において余りが2となる領域6203の「1」は、BP復号における列6512の列演算において、「検査式#2」の係数において余りが0となる領域6510の「1」、及び、「検査式#3」の係数において余りが1となる領域6511の「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において、四角で囲まれた項(a3、A3、α3)は、3で除算した余りが0の係数を示す。また、丸で囲まれた項(a2、A2、α1)は、3で除算した余りが1の係数を示す。また、菱形で囲まれた項(a1、A1、α2)は、3で除算した余りが2の係数を示す。
図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)に関する各項同士についても同様のことがいえる。
このように、「検査式#1」には、「検査式#2」の係数のうち、3で除算した余りが0、1、2となる係数から、信頼度が伝播される。つまり、「検査式#1」には、「検査式#2」の係数のうち、3で除算した余りが全て異なる係数から、信頼度が伝播されることになる。したがって、相関が低い信頼度同士が全て「検査式#1」に伝播することになる。
同様に、「検査式#2」には、「検査式#1」の係数のうち、3で除算した余りが0、1、2となる係数から、信頼度が伝播される。つまり、「検査式#2」には、「検査式#1」の係数のうち、3で除算した余りが全て異なる係数から、信頼度が伝播されることになる。また、「検査式#2」には、「検査式#3」の係数のうち、3で除算した余りが0、1、2となる係数から、信頼度が伝播される。つまり、「検査式#2」には、「検査式#3」の係数のうち、3で除算した余りが全て異なる係数から、信頼度が伝播されることになる。
同様に、「検査式#3」には、「検査式#1」の係数のうち、3で除算した余りが0、1、2となる係数から、信頼度が伝播される。つまり、「検査式#3」には、「検査式#1」の係数のうち、3で除算した余りが全て異なる係数から、信頼度が伝播されることになる。また、「検査式#3」には、「検査式#2」の係数のうち、3で除算した余りが0、1、2となる係数から、信頼度が伝播される。つまり、「検査式#3」には、「検査式#2」の係数のうち、3で除算した余りが全て異なる係数から、信頼度が伝播されることになる。
このように、式(3−1)〜(3−3)のパリティ検査多項式の各次数が、上述した「余り」に関する条件を満たすようにすることにより、全ての列演算において、信頼度が必ず伝播されるようになる。これにより、全ての検査式において、効率よく信頼度を伝播させることができるようになり、更に誤り訂正能力を高くすることができる。
以上、時変周期3のLDPC−CCについて、符号化率1/2の場合を例に説明したが、符号化率は1/2に限られない。符号化率(n−1)/n(nは2以上の整数)の場合には、情報X1(D)、X2(D)、・・・、Xn−1(D)における、それぞれの3つの係数セットにおいて、上記の「余り」に関する条件が成立すれば、やはり、レギュラーLDPC符号となり、良好な受信品質を得ることができる。
以下、符号化率(n−1)/n(nは2以上の整数)の場合について説明する。
時変周期を3とするLDPC−CCのパリティ検査多項式として、式(4−1)〜(4−3)を考える。このとき、X
1(D)、X
2(D)、・・・、X
n−1(D)はデータ(情報)X
1、X
2、・・・、X
n−1の多項式表現であり、P(D)はパリティの多項式表現である。ここで、式(4−1)〜(4−3)では、X
1(D)、X
2(D)、・・・、X
n−1(D)、P(D)それぞれに3つの項が存在するようなパリティ検査多項式とする。
式(4−1)において、ai,1、ai,2、ai,3(i=1,2,・・・,n−1)は整数(ただし、ai,1≠ai,2≠ai,3)とする。また、b1、b2、b3は整数(ただし、b1≠b2≠b3)とする。式(4−1)のパリティ検査多項式を「検査式#1」と呼び、式(4−1)のパリティ検査多項式に基づくサブ行列を、第1サブ行列H1とする。
また、式(4−2)において、Ai,1、Ai,2、Ai,3(i=1,2,・・・,n−1は整数(ただし、Ai,1≠Ai,2≠Ai,3)とする。また、B1、B2、B3は整数(ただし、B1≠B2≠B3)とする。式(4−2)のパリティ検査多項式を「検査式#2」と呼び、式(4−2)のパリティ検査多項式に基づくサブ行列を、第2サブ行列H2とする。
また、式(4−3)において、αi,1、αi,2、αi,3(i=1,2,・・・,n−1は整数(ただし、αi,1≠αi,2≠αi,3)とする。また、β1、β2、β3は整数(ただし、β1≠β2≠β3)とする。式(4−3)のパリティ検査多項式を「検査式#3」と呼び、式(4−3)のパリティ検査多項式に基づくサブ行列を、第3サブ行列H3とする。
そして、第1サブ行列H1、第2サブ行列H2、第3サブ行列H3から生成する時変周期3のLDPC−CCについて考える。
このとき、式(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)のいずれかとなるようにする。
このようにしてLDPC−CCを生成することにより、レギュラーLDPC−CC符号を生成することができる。更に、BP復号を行った場合、「検査式#2」における信頼度及び「検査式#3」における信頼度が、的確に「検査式#1」に対して伝播し、「検査式#1」における信頼度及び「検査式#3」における信頼度が、的確に「検査式#2」に対して伝播し、「検査式#1」における信頼度及び「検査式#2」における信頼度が、「検査式#3」に対して的確に伝播する。このため、符号化率1/2の場合と同様に、より受信品質が良好なLDPC−CCを得ることができる。
なお、表3に、上記「余り」に関する条件が成り立つ、時変周期3、符号化率1/2のLDPC−CCの例(LDPC−CC#1、#2、#3、#4、#5、#6)を示す。表3において、時変周期3のLDPC−CCは、「検査(多項)式#1」、「検査(多項)式#2」、「検査(多項)式#3」の3つのパリティ検査多項式により定義される。
また、表4に、時変周期3、符号化率1/2、2/3、3/4、5/6のLDPC−CCの例を示し、表5に、時変周期3、符号化率1/2、2/3、3/4、4/5のLDPC−CCの例を示す。
また、時変周期3と同様に、時変周期が3の倍数(例えば、時変周期が6、9、12、・・・)のLDPC−CCに対し、「余り」に関する以下の条件を適用すると、特性が良好な符号を探索できることが確認された。以下、特性が良好な時変周期3の倍数のLDPC−CCについて説明する。なお、以下では、符号化率1/2、時変周期6のLDPC−CCの場合を例に説明する。
時変周期を6とするLDPC−CCのパリティ検査多項式として、式(5−1)〜式(5−6)を考える。
このとき、X(D)はデータ(情報)の多項式表現であり、P(D)はパリティの多項式表現である。時変周期6のLDPC−CCでは、時点iのパリティPi及び情報Xiは、i%6=kとすると(k=0、1、2、3、4、5)、式(5−(k+1))のパリティ検査多項式が成立することになる。例えば、i=1とすると、i%6=1(k=1)となるので、式(6)が成立する。
ここで、式(5−1)〜(5−6)では、X(D)、P(D)それぞれに3つの項が存在するようなパリティ検査多項式とする。
式(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とする。
また、式(5−2)において、a2,1、a2,2、a2,3は整数(ただし、a2,1≠a2,2≠a2,3)とする。また、b2,1、b2,2、b2,3は整数(ただし、b2,1≠b2,2≠b2,3)とする。式(5−2)のパリティ検査多項式を「検査式#2」と呼び、式(5−2)のパリティ検査多項式に基づくサブ行列を、第2サブ行列H2とする。
また、式(5−3)において、a3,1、a3,2、a3,3は整数(ただし、a3,1≠a3,2≠a3,3)とする。また、b3,1、b3,2、b3,3は整数(ただし、b3,1≠b3,2≠b3,3)とする。式(5−3)のパリティ検査多項式を「検査式#3」と呼び、式(5−3)のパリティ検査多項式に基づくサブ行列を、第3サブ行列H3とする。
また、式(5−4)において、a4,1、a4,2、a4,3は整数(ただし、a4,1≠a4,2≠a4,3)とする。また、b4,1、b4,2、b4,3は整数(ただし、b4,1≠b4,2≠b4,3)とする。式(5−4)のパリティ検査多項式を「検査式#4」と呼び、式(5−4)のパリティ検査多項式に基づくサブ行列を、第4サブ行列H4とする。
また、式(5−5)において、a5,1、a5,2、a5,3は整数(ただし、a5,1≠a5,2≠a5,3)とする。また、b5,1、b5,2、b5,3は整数(ただし、b5,1≠b5,2≠b5,3)とする。式(5−5)のパリティ検査多項式を「検査式#5」と呼び、式(5−5)のパリティ検査多項式に基づくサブ行列を、第5サブ行列H5とする。
また、式(5−6)において、a6,1、a6,2、a6,3は整数(ただし、a6,1≠a6,2≠a6,3)とする。また、b6,1、b6,2、b6,3は整数(ただし、b6,1≠b6,2≠b6,3)とする。式(5−6)のパリティ検査多項式を「検査式#6」と呼び、式(5−6)のパリティ検査多項式に基づくサブ行列を、第6サブ行列H6とする。
そして、第1サブ行列H1、第2サブ行列H2、第3サブ行列H3、第4サブ行列H4、第5サブ行列H5、第6サブ行列H6から生成する時変周期6のLDPC−CCについて考える。
このとき、式(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)のいずれかとなる。
このようにしてLDPC−CCを生成することにより、「検査式#1」に対して、タナーグラフを描いた際、エッジが存在する場合、的確に「検査式#2、又は、検査式#5」における信頼度、「検査式#3、又は、検査式#6」における信頼度が的確に伝播する。
また、「検査式#2」に対して、タナーグラフを描いた際、エッジが存在する場合、的確に「検査式#1、又は、検査式#4」における信頼度、「検査式#3、又は、検査式#6」における信頼度が的確に伝播する。
また、「検査式#3」に対して、タナーグラフを描いた際、エッジが存在する場合、的確に「検査式#1、又は、検査式#4」における信頼度、「検査式#2、又は、検査式#5」における信頼度が的確に伝播する。「検査式#4」に対して、タナーグラフを描いた際、エッジが存在する場合、的確に「検査式#2、又は、検査式#5」における信頼度、「検査式#3、又は、検査式#6」における信頼度が的確に伝播する。
また、タナーグラフを描いた際、エッジが存在する場合、「検査式#5」に対して、的確に「検査式#1、又は、検査式#4」における信頼度、「検査式#3、又は、検査式#6」における信頼度が的確に伝播する。また、「検査式#6」に対して、タナーグラフを描いた際、エッジが存在する場合、的確に「検査式#1、又は、検査式#4」における信頼度、「検査式#2、又は、検査式#5」における信頼度が的確に伝播する。
このため、時変周期が3のときと同様に、より良好な誤り訂正能力を時変周期6のLDPC−CCが保持することになる。
これについて、図4Cを用いて、信頼度伝播について説明する。図4Cは、「検査式#1」〜「検査式#6」のX(D)に関する各項同士の信頼度伝播の関係を示している。図4Cにおいて、四角は、ax,yにおいて(x=1,2,3,4,5,6;y=1,2,3)、3で除算した余りが0の係数を示す。
また、丸は、ax,yにおいて(x=1,2,3,4,5,6;y=1,2,3)、3で除算した余りが1の係数を示す。また、菱形は、ax,yにおいて(x=1,2,3,4,5,6;y=1,2,3)、3で除算した余りが2の係数を示す。
図4Cから分かるように、タナーグラフを描いた際、エッジが存在した場合、「検査式#1」のa1,1は、3で除算した余りが異なる「検査式#2又は#5」及び「検査式#3又は#6」から信頼度が伝播される。同様に、タナーグラフを描いた際、エッジが存在した場合、「検査式#1」のa1,2は、3で除算した余りが異なる「検査式#2又は#5」及び「検査式#3又は#6」から信頼度が伝播される。
同様に、タナーグラフを描いた際、エッジが存在した場合、「検査式#1」のa1,3は、3で除算した余りが異なる「検査式#2又は#5」及び「検査式#3又は#6」から信頼度が伝播される。図4Cには、「検査式#1」〜「検査式#6」のX(D)に関する各項同士の信頼度伝播の関係を示したが、P(D)に関する各項同士についても同様のことがいえる。
このように、「検査式#1」のタナーグラフにおける各ノードには、「検査式#1」以外の係数ノードから信頼度が伝播することになる。したがって、相関が低い信頼度同士が全て「検査式#1」に伝播することになるので、誤り訂正能力が向上すると考えられる。
図4Cでは、「検査式#1」に着目したが、「検査式#2」から「検査式#6」についても同様にタナーグラフを描くことができ、「検査式#K」のタナーグラフにおける各ノードには、「検査式#K」以外の係数ノードから信頼度が伝播することになる。したがって、相関が低い信頼度同士が全て「検査式#K」に伝播することになるので、誤り訂正能力が向上すると考えられる。(K=2,3,4,5,6)
このように、式(5−1)〜(5−6)のパリティ検査多項式の各次数が、上述した「余り」に関する条件を満たすようにすることにより、全ての検査式において、効率よく信頼度を伝播させることができるようになり、誤り訂正能力を更に高くすることができる可能性が高まる。
以上、時変周期6のLDPC−CCについて、符号化率1/2の場合を例に説明したが、符号化率は1/2に限られない。符号化率(n−1)/n(nは2以上の整数)の場合には、情報X1(D)、X2(D)、・・・、Xn−1(D)における、それぞれの3つの係数セットにおいて、上記の「余り」に関する条件が成立すれば、やはり、良好な受信品質を得ることができる可能性が高まる。
以下、符号化率(n−1)/n(nは2以上の整数)の場合について説明する。
時変周期を6とするLDPC−CCのパリティ検査多項式として、式(7−1)〜(7−6)を考える。
このとき、X1(D)、X2(D)、・・・、Xn−1(D)はデータ(情報)X1、X2、・・・、Xn−1の多項式表現であり、P(D)はパリティの多項式表現である。ここで、式(7−1)〜(7−6)では、X1(D)、X2(D)、・・・、Xn−1(D)、P(D)それぞれに3つの項が存在するようなパリティ検査多項式とする。上記の符号化率1/2のとき、また、時変周期3のときと同様に考えると、式(7−1)〜(7−6)のパリティ検査多項式であらわされる時変周期6、符号化率(n−1)/n(nは2以上の整数)のLDPC−CCにおいて、以下の条件(<条件#1>)を満たすと、より高い誤り訂正能力を得ることができる可能性が高まる。
ただし、時変周期6、符号化率(n−1)/n(nは2以上の整数)のLDPC−CCにおいて、時点iのパリティビットをPi及び情報ビットをX
i,1、X
i,2、・・・、X
i,n−1であらわす。このとき、i%6=kとすると(k=0、1、2、3、4、5)、式(7−(k+1))のパリティ検査多項式が成立する。例えば、i=8とすると、i%6=2(k=2)となるので、式(8)が成立する。
<条件#1>
式(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)を作成した場合、高い誤り訂正能力を持つ符号を生成することができる。以下では、その符号の構成方法について詳しく説明する。
時変周期を3g(g=1、2、3、4、・・・)、符号化率(n−1)/n(nは2以上の整数)のLDPC−CCのパリティ検査多項式として、式(9−1)〜(9−3g)を考える。
このとき、X1(D)、X2(D)、・・・、Xn−1(D)はデータ(情報)X1、X2、・・・、Xn−1の多項式表現であり、P(D)はパリティの多項式表現である。ここで、式(9−1)〜(9−3g)では、X1(D)、X2(D)、・・・、Xn−1(D)、P(D)それぞれに3つの項が存在するようなパリティ検査多項式とする。
時変周期3のLDPC−CC及び時変周期6のLDPC−CCと同様に考えると、式(9−1)〜(9−3g)のパリティ検査多項式であらわされる時変周期3g、符号化率(n−1)/n(nは2以上の整数)のLDPC−CCにおいて、以下の条件(<条件#2>)を満たすと、より高い誤り訂正能力を得ることができる可能性が高まる。
ただし、時変周期3g、符号化率(n−1)/n(nは2以上の整数)のLDPC−CCにおいて、時点iのパリティビットをPi及び情報ビットをX
i,1、X
i,2、・・・、X
i,n−1であらわす。このとき、i%3g=kとすると(k=0、1、2、・・・、3g−1)、式(9−(k+1))のパリティ検査多項式が成立する。例えば、i=2とすると、i%3g=2(k=2)となるので、式(10)が成立する。
また、式(9−1)〜式(9−3g)において、a#k,p,1、a#k,p,2、a#k,p,3は整数(ただし、a#k,p,1≠a#k,p,2≠a#k,p,3)とする(k=1、2、3、・・・、3g:p=1、2、3、・・・、n−1)。また、b#k,1、b#k,2、b#k,3は整数(ただし、b#k,1≠b#k,2≠b#k,3)とする。式(9−k)のパリティ検査多項式(k=1、2、3、・・・、3g)を「検査式#k」と呼び、式(9−k)のパリティ検査多項式に基づくサブ行列を、第kサブ行列Hkとする。そして、第1サブ行列H1、第2サブ行列H2、第3サブ行列H3、・・・、第3gサブ行列H3gから生成する時変周期3gの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)。
次に、符号化を容易に行うという点を考慮した時変周期3g(g=2、3、4、5、・・・)のLDPC−CCについて考える。このとき、符号化率を(n−1)/n(nは2以上の整数)とするとLDPC−CCのパリティ検査多項式は以下のようにあらわすことができる。
このとき、X
1(D)、X
2(D)、・・・、X
n−1(D)はデータ(情報)X
1、X
2、・・・、X
n−1の多項式表現であり、P(D)はパリティの多項式表現である。ここで、式(11−1)〜(11−3g)では、X
1(D)、X
2(D)、・・・、X
n−1(D)、P(D)それぞれに3つの項が存在するようなパリティ検査多項式とする。ただし、時変周期3g、符号化率(n−1)/n(nは2以上の整数)のLDPC−CCにおいて、時点iのパリティビットをPi及び情報ビットをX
i,1、X
i,2、・・・、X
i,n−1であらわす。このとき、i%3g=kとすると(k=0、1、2、・・・、3g−1)、式(11−(k+1))のパリティ検査多項式が成立する。例えば、i=2とすると、i%3g=2(k=2)となるので、式(12)が成立する。
このとき、<条件#3>及び<条件#4>を満たすと、より高い誤り訂正能力を持つ符号を作成することができる可能性が高まる。
<条件#3>
式(11−1)〜(11−3g)において、X1(D)、X2(D)、・・・、Xn−1(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)は、
(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#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)。
式(11−1)〜(11−3g)に対する<条件#3>は、式(9−1)〜(9−3g)に対する<条件#2>と同様の関係となる。式(11−1)〜(11−3g)に対して、<条件#3>に加え、以下の条件(<条件#4>)を付加すると、より高い誤り訂正能力を持つLDPC−CCを作成することができる可能性が高まる。
<条件#4>
式(11−1)〜(11−3g)のP(D)の次数において、以下の条件を満たす。
(b#1,1%3g、b#1,2%3g)、
(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)以外の値の全ての値が存在する。
ところで、検査行列において、“1”の存在する位置に規則性を持ちながらもランダム性があると良好な誤り訂正能力が得られる可能性が高い。式(11−1)〜(11−3g)のパリティ検査多項式を持つ時変周期3g(g=2、3、4、5、・・・)、符号化率を(n−1)/n(nは2以上の整数)のLDPC−CCでは、<条件#3>に加え<条件#4>の条件をつけ符号を作成すると、検査行列において、“1”の存在する位置に規則性を持ちながらもランダム性を与えることが可能となるため、良好な誤り訂正能力が得られる可能性が高まる。
次に、符号化を容易に行うことができ、かつ、同一時点のパリティビットとデータビットに関連性を持たせる、時変周期3g(g=2、3、4、5、・・・)のLDPC−CCについて考える。このとき、符号化率を(n−1)/n(nは2以上の整数)とするとLDPC−CCのパリティ検査多項式は以下のようにあらわすことができる。
このとき、X1(D)、X2(D)、・・・、Xn−1(D)はデータ(情報)X1、X2、・・・、Xn−1の多項式表現であり、P(D)はパリティの多項式表現である。そして、式(13−1)〜(13−3g)では、X1(D)、X2(D)、・・・、Xn−1(D)、P(D)それぞれに3つの項が存在するようなパリティ検査多項式とし、X1(D)、X2(D)、・・・、Xn−1(D)、P(D)にはD0の項が存在することになる。(k=1、2、3、・・・、3g)
ただし、時変周期3g、符号化率(n−1)/n(nは2以上の整数)のLDPC−CCにおいて、時点iのパリティビットをPi及び情報ビットをX
i,1、X
i,2、・・・、X
i,n−1であらわす。このとき、i%3g=kとすると(k=0、1、2、・・・、3g−1)、式(13−(k+1))のパリティ検査多項式が成立する。例えば、i=2とすると、i%3g=2(k=2)となるので、式(14)が成立する。
このとき、以下の条件(<条件#5>及び<条件#6>)を満たすと、更に高い誤り訂正能力を持つ符号を作成できる可能性が高くなる。
<条件#5>
式(13−1)〜(13−3g)において、X1(D)、X2(D)、・・・、Xn−1(D)の次数の組み合わせが以下の条件を満たす。
(a#1,1,1%3、a#1,1,2%3)、
(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#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)。
式(13−1)〜(13−3g)に対する<条件#5>は、式(9−1)〜(9−3g)に対する<条件#2>と同様の関係となる。式(13−1)〜(13−3g)に対して、<条件#5>に加え、以下の条件(<条件#6>)を付加すると、高い誤り訂正能力を持つLDPC−CCを作成できる可能性が高くなる。
<条件#6>
式(13−1)〜(13−3g)のX1(D)の次数において、次の条件を満たす。
(a#1,1,1%3g、a#1,1,2%3g)、
(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#1,2,1%3g、a#1,2,2%3g)、
(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#1,3,1%3g、a#1,3,2%3g)、
(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#1,k,1%3g、a#1,k,2%3g)、
(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#1,n−1,1%3g、a#1,n−1,2%3g)、
(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#1,1%3g、b#1,2%3g)、
(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>のかわりに、<条件#6’>を用いる、つまり、<条件#5>に加え、<条件#6’>を付加し符号を作成しても、より高い誤り訂正能力を持つLDPC−CCを作成できる可能性が高くなる。
<条件#6’>
式(13−1)〜(13−3g)のX1(D)の次数において、次の条件を満たす。
(a#1,1,1%3g、a#1,1,2%3g)、
(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#1,2,1%3g、a#1,2,2%3g)、
(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#1,3,1%3g、a#1,3,2%3g)、
(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#1,k,1%3g、a#1,k,2%3g)、
(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#1,n−1,1%3g、a#1,n−1,2%3g)、
(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#1,1%3g、b#1,2%3g)、
(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のパリティ検査多項式の次数の条件について説明する。
時変周期を3g(g=1、2、3、4、・・・)、符号化率1/2(n=2)のLDPC−CCのパリティ検査多項式として、式(15−1)〜(15−3g)を考える。
このとき、X(D)はデータ(情報)Xの多項式表現であり、P(D)はパリティの多項式表現である。ここで、式(15−1)〜(15−3g)では、X(D)、P(D)それぞれに3つの項が存在するようなパリティ検査多項式とする。
時変周期3のLDPC−CC及び時変周期6のLDPC−CCと同様に考えると、式(15−1)〜(15−3g)のパリティ検査多項式であらわされる時変周期3g、符号化率1/2(n=2)のLDPC−CCにおいて、以下の条件(<条件#2−1>)を満たすと、より高い誤り訂正能力を得ることができる可能性が高まる。
ただし、時変周期3g、符号化率1/2(n=2)のLDPC−CCにおいて、時点iのパリティビットをP
i及び情報ビットをX
i,1であらわす。このとき、i%3g=kとすると(k=0、1、2、・・・、3g−1)、式(15−(k+1))のパリティ検査多項式が成立する。例えば、i=2とすると、i%3g=2(k=2)となるので、式(16)が成立する。
また、式(15−1)〜式(15−3g)において、a#k,1,1、a#k,1,2、a#k,1,3は整数(ただし、a#k,1,1≠a#k,1,2≠a#k,1,3)とする(k=1、2、3、・・・、3g)。また、b#k,1、b#k,2、b#k,3は整数(ただし、b#k,1≠b#k,2≠b#k,3)とする。式(15−k)のパリティ検査多項式(k=1、2、3、・・・、3g)を「検査式#k」と呼び、式(15−k)のパリティ検査多項式に基づくサブ行列を、第kサブ行列Hkとする。そして、第1サブ行列H1、第2サブ行列H2、第3サブ行列H3、・・・、第3gサブ行列H3gから生成する時変周期3gの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)のいずれかとなる。
ただし、符号化を容易に行うという点を考慮すると、式(15−1)〜(15−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つ存在すると良い(ただし、k=1、2、・・・3g)。
次に、符号化を容易に行うという点を考慮した時変周期3g(g=2、3、4、5、・・・)のLDPC−CCについて考える。このとき、符号化率を1/2(n=2)とするとLDPC−CCのパリティ検査多項式は以下のようにあらわすことができる。
このとき、X(D)はデータ(情報)Xの多項式表現であり、P(D)はパリティの多項式表現である。ここで、式(17−1)〜(17−3g)では、X、P(D)それぞれに3つの項が存在するようなパリティ検査多項式とする。ただし、時変周期3g、符号化率1/2(n=2)のLDPC−CCにおいて、時点iのパリティビットをPi及び情報ビットをX
i,1であらわす。このとき、i%3g=kとすると(k=0、1、2、・・・、3g−1)、式(17−(k+1))のパリティ検査多項式が成立する。例えば、i=2とすると、i%3g=2(k=2)となるので、式(18)が成立する。
このとき、<条件#3−1>及び<条件#4−1>を満たすと、より高い誤り訂正能力を持つ符号を作成することができる可能性が高まる。
<条件#3−1>
式(17−1)〜(17−3g)において、X(D)の次数の組み合わせが以下の条件を満たす。
(a#1,1,1%3、a#1,1,2%3、a#1,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)は、(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)のいずれかとなる。
加えて、式(17−1)〜(17−3g)において、P(D)の次数の組み合わが以下の条件を満たす。
(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)。
式(17−1)〜(17−3g)に対する<条件#3−1>は、式(15−1)〜(15−3g)に対する<条件#2−1>と同様の関係となる。式(17−1)〜(17−3g)に対して、<条件#3−1>に加え、以下の条件(<条件#4−1>)を付加すると、より高い誤り訂正能力を持つLDPC−CCを作成することができる可能性が高まる。
<条件#4−1>
式(17−1)〜(17−3g)のP(D)の次数において、以下の条件を満たす。
(b#1,1%3g、b#1,2%3g)、
(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)以外の値の全ての値が存在する。
ところで、検査行列において、“1”の存在する位置に規則性を持ちながらもランダム性があると良好な誤り訂正能力が得られる可能性が高い。式(17−1)〜(17−3g)のパリティ検査多項式を持つ時変周期3g(g=2、3、4、5、・・・)、符号化率1/2(n=2)のLDPC−CCでは、<条件#3−1>に加え<条件#4−1>の条件をつけ符号を作成すると、検査行列において、“1”の存在する位置に規則性を持ちながらもランダム性を与えることが可能となるため、より良好な誤り訂正能力が得られる可能性が高まる。
次に、符号化を容易に行うことができ、かつ、同一時点のパリティビットとデータビットに関連性を持たせる、時変周期3g(g=2、3、4、5、・・・)のLDPC−CCについて考える。このとき、符号化率を1/2(n=2)とするとLDPC−CCのパリティ検査多項式は以下のようにあらわすことができる。
このとき、X(D)はデータ(情報)Xの多項式表現であり、P(D)はパリティの多項式表現である。そして、式(19−1)〜(19−3g)では、X(D)、P(D)それぞれに3つの項が存在するようなパリティ検査多項式とし、X(D)、P(D)にはD0の項が存在することになる。(k=1、2、3、・・・、3g)
ただし、時変周期3g、符号化率1/2(n=2)のLDPC−CCにおいて、時点iのパリティビットをP
i及び情報ビットをX
i,1であらわす。このとき、i%3g=kとすると(k=0、1、2、・・・、3g−1)、式(19−(k+1))のパリティ検査多項式が成立する。例えば、i=2とすると、i%3g=2(k=2)となるので、式(20)が成立する。
このとき、以下の条件(<条件#5−1>及び<条件#6−1>)を満たすと、より高い誤り訂正能力を持つ符号を作成することができる可能性が高まる。
<条件#5−1>
式(19−1)〜(19−3g)において、X(D)の次数の組み合わせが以下の条件を満たす。
(a#1,1,1%3、a#1,1,2%3)は、(1、2)、(2、1)のいずれかとなる。
かつ、
(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)のいずれかとなる。
加えて、式(19−1)〜(19−3g)において、P(D)の次数の組み合わが以下の条件を満たす。
(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)。
式(19−1)〜(19−3g)に対する<条件#5−1>は、式(15−1)〜(15−3g)に対する<条件#2−1>と同様の関係となる。式(19−1)〜(19−3g)に対して、<条件#5−1>に加え、以下の条件(<条件#6−1>)を付加すると、より高い誤り訂正能力を持つLDPC−CCを作成することができる可能性が高まる。
<条件#6−1>
式(19−1)〜(19−3g)のX(D)の次数において、次の条件を満たす。
(a#1,1,1%3g、a#1,1,2%3g)、
(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#1,1%3g、b#1,2%3g)、
(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>のかわりに、<条件#6’−1>を用いる、つまり、<条件#5−1>に加え、<条件#6’−1>を付加し符号を作成しても、より高い誤り訂正能力を持つLDPC−CCを作成することができる可能性が高まる。
<条件#6’−1>
式(19−1)〜(19−3g)のX(D)の次数において、次の条件を満たす。
(a#1,1,1%3g、a#1,1,2%3g)、
(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#1,1%3g、b#1,2%3g)、
(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に列挙する。
以上、特性が良好な時変周期gのLDPC−CCについて説明した。なお、LDPC−CCは、情報ベクトルnに生成行列Gを乗ずることにより、符号化データ(符号語)を得ることができる。つまり、符号化データ(符号語)cは、c=n×Gとあらわすことができる。ここで、生成行列Gは、予め設計された検査行列Hに対応して求められたものである。具体的には、生成行列Gは、G×HT=0を満たす行列である。
例えば、符号化率1/2、生成多項式G=[1 G
1(D)/G
0(D)]の畳み込み符号を例に考える。このとき、G
1はフィードフォワード多項式、G
0はフィードバック多項式をあらわす。情報系列(データ)の多項式表現をX(D)、パリティ系列の多項式表現をP(D)とするとパリティ検査多項式は、以下の式(21)のようにあらわされる。
ここで、Dは、遅延演算子である。
図5に、(7,5)の畳み込み符号に関する情報を記載する。(7,5)畳み込み符号の生成行列はG=[1 (D
2+1)/(D
2+D+1)]とあらわされる。したがって、パリティ検査多項式は、以下の式(22)となる。
ここで、時点iにおけるデータをX
i、パリティビットをP
iとあらわし、送信系列W
i=(X
i,P
i)とあらわす。そして、送信ベクトルw=(X
1,P
1,X
2,P
2,・・・,X
i,P
i・・・)
Tとあらわす。すると、式(22)から、検査行列Hは図5に示すようにあらわすことができる。このとき、以下の式(23)の関係式が成立する。
したがって、復号側では、検査行列Hを用い、非特許文献4、非特許文献5、非特許文献6に示されているようなBP(Belief Propagation)(信頼度伝播)復号、BP復号を近似したmin-sum復号、offset BP復号、Normalized BP復号、shuffled BP復号などの信頼度伝播を利用した復号を行うことができる。
[畳み込み符号に基づく時不変・時変LDPC−CC(符号化率(n−1)/n)(n:自然数)]
以下、畳み込み符号に基づく時不変・時変LDPC−CCの概要を述べる。
符号化率R=(n−1)/nの情報X
1、X
2、・・・、X
n−1の多項式表現をX
1(D)、X
2(D)、・・・、X
n−1(D)、また、パリティPの多項式表現をP(D)とし、式(24)のようにあらわされるパリティ検査多項式を考える。
式(24)において、このときap,p(p=1,2,・・・,n−1;q=1,2,・・・,rp)は、例えば、自然数であり、ap,1≠ap,2≠・・・≠ap,rpを満足する。また、bq(q=1,2,・・・,s)は、自然数であり、b1≠b2≠・・・≠bsを満足する。このとき、式(24)のパリティ検査多項式に基づく検査行列で定義される符号を、ここでは、時不変LDPC−CCと呼ぶ。
式(24)に基づく異なるパリティ検査多項式をm個用意する(mは、2以上の整数)。そのパリティ検査多項式を以下のようにあらわす。
ここで、i=0,1,・・・,m−1である。
そして、時点jにおける情報X
1、X
2、・・・、X
n−1をX
1,j、X
2,j、・・・、X
n−1,jとあらわし、時点jにおけるパリティPをP
jとあらわし、u
j=(X
1,j,X
2,j,・・・,X
n−1,j,P
j)
Tとする。このとき、時点jの情報X
1,j、X
2,j、・・・、X
n−1,j及びパリティP
jは、式(26)のパリティ検査多項式を満たす。
ここで、「j mod m」は、jをmで除算した余りである。
式(26)のパリティ検査多項式に基づく検査行列で定義される符号を、ここでは時変LDPC−CCと呼ぶ。このとき、式(24)のパリティ検査多項式で定義される時不変LDPC−CC、及び、式(26)のパリティ検査多項式で定義される時変LDPC−CCは、逐次的にパリティビットをレジスタ及び排他的論理和で簡単に求めることができるという特徴を持つ。
例えば、符号化率2/3で、式(24)〜式(26)に基づく時変周期2のLDPC−CCの検査行列Hの構成を、図6に示す。式(26)に基づく時変周期2の異なる2つの検査多項式に対し、「検査式#1」、「検査式#2」と名付ける。図6において、(Ha,111)は「検査式#1」に相当する部分であり、(Hc,111)は「検査式#2」に相当する部分である。以下、(Ha,111)及び(Hc,111)をサブ行列と定義する。
このように、本提案の時変周期2のLDPC−CCの検査行列Hを、「検査式#1」のパリティ検査多項式をあらわす第1サブ行列と、「検査式#2」のパリティ検査多項式をあらわす第2サブ行列とにより定義することができる。具体的には、検査行列Hにおいて、第1サブ行列と第2サブ行列とが行方向に交互に配置されるようにする。なお、符号化率2/3の場合、図6に示すように、第i行と第i+1行とでは、サブ行列が3列右にシフトした構成となる。
また、時変周期2の時変LDPC−CCの場合、第i行のサブ行列と第i+1行のサブ行列とは、異なるサブ行列となる。つまり、サブ行列(Ha,11)又は(Hc,11)のいずれか一方が第1サブ行列となり、他方が第2サブ行列となる。送信ベクトルuを、u=(X1,0、X2,0、P0、X1,1、X2,1、P1、・・・、X1,k、X2,k、Pk、・・・・)Tとすると、Hu=0が成立する(式(23)参照))。
次に、符号化率2/3の場合に、時変周期をmとするLDPC−CCを考える。時変周期2の場合と同様に、式(24)であらわされるパリティ検査多項式をm個用意する。そして、式(24)であらわされる「検査式#1」を用意する。同様に、式(24)であらわされる「検査式#2」から「検査式#m」を用意する。時点mi+1のデータXとパリティPをそれぞれXmi+1、Pmi+1とあらわし、時点mi+2のデータXとパリティPとを、それぞれXmi+2、Pmi+2とあわし、・・・、時点mi+mのデータXとパリティPとを、それぞれXmi+m、Pmi+mとあらわす(i:整数)。
このとき、時点mi+1のパリティPmi+1を「検査式#1」を用いて求め、時点mi+2のパリティPmi+2を「検査式#2」を用いて求め、・・・、時点mi+mのパリティPmi+mを「検査式#m」を用いて求めるLDPC−CCを考える。このようなLDPC−CC符号は、
・符号化器を簡単に構成することができ、かつ、パリティビットを逐次的に求めることができる
・終端ビットの削減、終端時のパンクチャ時の受信品質の向上が見込める
という利点を備える。
図7に、上述した符号化率2/3、時変周期mのLDPC−CCの検査行列の構成を示す。図7において、(H1,111)は「検査式#1」に相当する部分であり、(H2,111)は「検査式#2」に相当する部分であり、・・・、(Hm,111)は「検査式#m」に相当する部分である。以下、(H1,111)を第1サブ行列と定義し、(H2,111)を第2サブ行列と定義し、・・・、(Hm,111)を、第mサブ行列と定義する。
このように、本提案の時変周期mのLDPC−CCの検査行列Hは、「検査式#1」のパリティ検査多項式をあらわす第1サブ行列、「検査式#2」のパリティ検査多項式をあらわす第2サブ行列、・・・、及び、「検査式#m」のパリティ検査多項式をあらわす第mサブ行列により定義することができる。具体的には、検査行列Hにおいて、第1サブ行列から第mサブ行列までが、行方向に周期的に配置されるようにした(図7参照)。なお、符号化率2/3の場合、第i行と第i+1行とでは、サブ行列が3列右にシフトした構成となる(図7参照)。
送信ベクトルuを、u=(X1,0、X2,0、P0、X1,1、X2,1、P1、・・・、X1,k、X2,k、Pk、・・・・)Tとすると、Hu=0が成立する(式(23)参照))。
上述の説明では、符号化率(n−1)/nの畳み込み符号に基づく時不変・時変LDPC−CCの一例として、符号化率2/3の場合を例に説明したが、同様に考えることで、符号化率(n−1)/nの畳み込み符号に基づく時不変・時変LDPC−CCのパリティ検査行列を作成することができる。
すなわち、符号化率2/3の場合、図7において、(H1,111)は「検査式#1」に相当する部分(第1サブ行列)であり、(H2,111)は「検査式#2」に相当する部分(第2サブ行列)であり、・・・、(Hm,111)は「検査式#m」に相当する部分(第mサブ行列)であるのに対し、符号化率(n−1)/nの場合、図8に示すようになる。つまり、「検査式#1」に相当する部分(第1サブ行列)は、(H1,11・・・1)であらわされ、「検査式#k」(k=2、3、・・・、m)に相当する部分(第kサブ行列)は、(Hk,11・・・1)であらわされる。このとき、第kサブ行列において、Hkを除く部分の「1」の個数は、n個となる。そして、検査行列Hにおいて、第i行と第i+1行とでは、サブ行列がn列右にシフトした構成となる(図8参照)。
送信ベクトル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が成立する(式(23)参照)。
なお、図9に、一例として、符号化率R=1/2の場合のLDPC−CC符号化器の構成例を示す。図9に示すように、LDPC−CC符号化器100は、データ演算部110、パリティ演算部120、ウェイト制御部130及びmod2加算(排他的論理和演算)器140を主に備える。
データ演算部110は、シフトレジスタ111−1〜111−M、ウェイト乗算器112−0〜112−Mを備える。
パリティ演算部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である。
ウェイト乗算器112−0〜112−M,122−0〜122−Mは、ウェイト制御部130から出力される制御信号にしたがって、h1 (m),h2 (m)の値を0/1に切り替える。
ウェイト制御部130は、内部に保持する検査行列に基づいて、そのタイミングにおけるh1 (m),h2 (m)の値を出力し、ウェイト乗算器112−0〜112−M,122−0〜122−Mに供給する。
mod2加算器140は、ウェイト乗算器112−0〜112−M,122−0〜122−Mの出力に対しmod2の算出結果を全て加算し、v2,tを算出する。
このような構成を採ることで、LDPC−CC符号化器100は、検査行列にしたがったLDPC−CCの符号化を行うことができる。
なお、ウェイト制御部130が保持する検査行列の各行の並びが行毎に異なる場合、LDPC−CC符号化器100は、時変(time varying)畳み込み符号化器となる。また、符号化率(q−1)/qのLDPC−CCの場合には、データ演算部110を(q−1)個設け、mod2加算器140が、各ウェイト乗算器の出力をmod2加算(排他的論理和演算)を行う構成とすれば良い。
(実施の形態1)
本実施の形態では、優れた誤り訂正能力をもつ、時変周期が3より大きいパリティ検査多項式に基づくLDPC−CCの符号構成方法について説明する。
[時変周期6]
始めに、例として、時変周期6のLDPC−CCについて説明する。
符号化率(n−1)/n(nは2以上の整数)、時変周期6のLDPC−CCの(0を満たす)パリティ検査多項式として、式(27−0)〜(27−5)を考える。
このとき、X1(D)、X2(D)、・・・、Xn−1(D)はデータ(情報)X1、X2、・・・Xn−1の多項式表現であり、P(D)はパリティの多項式表現である。式(27−0)〜(27−5)において、例えば、符号化率1/2の場合、X1(D)及びP(D)の項のみが存在し、X2(D)、・・・、Xn−1(D)の項は存在しない。同様に、符号化率2/3の場合、X1(D)、X2(D)、及びP(D)の項のみが存在し、X3(D)、・・・、Xn−1(D)の項は存在しない。その他の符号化率についても同様に考えればよい。
ここで、式(27−0)〜(27−5)では、X1(D)、X2(D)、・・・、Xn−1(D)、P(D)それぞれに3つの項が存在するようなパリティ検査多項式とする。
また、、式(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)。
そして、式(27−q)のパリティ検査多項式を「検査式#q」と呼び、式(27−q)のパリティ検査多項式に基づくサブ行列を、第qサブ行列Hqと呼ぶ。そして、第0サブ行列H0、第1サブ行列H1、第2サブ行列H2、第3サブ行列H3、第4サブ行列H4、第5サブ行列H5から生成する時変周期6のLDPC−CCについて考える。
時変周期6、符号化率(n−1)/n(nは2以上の整数)のLDPC−CCにおいて、時点iのパリティビットをPi及び情報ビットをX
i,1、X
i,2、・・・、X
i,n−1であらわす。このとき、i%6=kとすると(k=0、1、2、3、4、5)、式(27−(k))のパリティ検査多項式が成立する。例えば、i=8とすると、i%6=2(k=2)となるので、式(28)が成立する。
また、式(27−g)のサブ行列(ベクトル)をHgとするとパリティ検査行列は、 [パリティ検査多項式に基づくLDPC−CC]で述べた方法で作成することができる。
式(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)のようにあらわされる。
また、第0サブ行列H
0、第1サブ行列H
1、第2サブ行列H
2、第3サブ行列H
3、第4サブ行列H
4、第5サブ行列H
5を、式(30−0)〜(30−5)のようにとあらわすとする。
式(30−0)〜(30−5)において、連続したn個の「1」は、式(29−0)〜式(29−5)の各式におけるX1(D)、X2(D)、・・・、Xn−1(D)およびP(D)の項に相当する。
このとき、パリティ検査行列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が成立する。
ここで、高い誤り訂正能力を得ることができる、式(29−0)〜(29−5)のパリティ検査多項式における条件を提案する。
X1(D)、X2(D)、・・・、Xn−1(D)に関連する項に対して、以下の<条件#1−1>及び<条件#1−2>が重要となる。なお、以下の各条件において「%」はmoduloを意味し、例えば、「α%6」は、αを6で除算したときの余りを示す。
<条件#1−1>
「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の約数以外の自然数」に設定する。
<条件#2−2>
<条件#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の約数以外の自然数」に設定する。
<条件#2−1>及び<条件#2−2>の制約条件、又は、<条件#2−1>若しくは<条件#2−2>の制約条件を付加することにより、時変周期2、3のような時変周期が小さい場合と比較し、時変周期を大きくした効果を明確に得ることができるようになる。この点について、図面を用いて、詳しく説明する。
説明を簡単にするために、パリティ検査多項式に基づく時変周期6、符号化率(n−1)/nのLDPC−CCのパリティ検査多項式(29−0)〜(29−5)において、X
1(D)が2つの項をもつ場合を考える。すると、この場合、パリティ検査多項式は、式(31−0)〜(31−5)のようにあらわされる。
ここで、vp=k(k=1、2、・・・、n−1)及びwを、「3」に設定した場合を考える。「3」は、時変周期6の約数である。
図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のみに着目した場合の、チェックノード及び変数ノードのツリーを示している。
式(31−q)のパリティ検査多項式を「検査式#q」と呼ぶ。なお、図11には、ツリーが「検査式#0」から描かれている。図11において、○(一重丸)及び◎(二重丸)は変数ノードを示し、□(四角)はチェックノードを示している。なお、○(一重丸)はX1(D)に関連する変数ノードを示し、◎(二重丸)はDa#q、1,1X1(D)に関連する変数ノードを示している。また、#Y(Y=0,1,2,3,4,5)と記載された□(四角)は、式(31−Y)のパリティ検査多項式に相当するチェックノードであることを意味している。
図11では、<条件#2−1>を満たさない、つまり、vp=1、vp=2、vp=3、vp=4、・・・、vp=k、・・・、vp=n−2、vp=n−1(k=1、2、・・・、n−1)及び、wが、時変周期6の約数のうち、1を除く約数に設定されている(w=3)。
この場合、図11に示すように、チェックノードにおいて、#Yは0、3と限られた値にしかならない。つまり、時変周期を大きくしても、特定のパリティ検査多項式からしか信頼度が伝播されないため、時変周期を大きくした効果が得られないことを意味している。
換言すると、#Yが限られた値しかとらないようになるための条件は、
「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>の条件が満たされる。
図12に示すように、<条件#2−1>の条件が満たされる場合には、チェックノードにおいて、#Yは、0から5まで、すべての値をとる。すなわち、<条件#2−1>の条件が満たされる場合には、信頼度が全てのパリティ検査多項式から伝播されるようになる。この結果、時変周期を大きくした場合にも、信頼度が広範囲から伝播されるようになり、時変周期を大きくした効果を得ることができるようになる。つまり、<条件#2−1>は、時変周期を大きくした効果を得るために、重要な条件であることがわかる。同様に、<条件#2−2>は、時変周期を大きくした効果を得るための重要な条件となる。
[時変周期7]
以上の説明を考慮すると、時変周期が素数であることが、時変周期を大きくした効果を得るための重要な条件となる。以下では、この点について詳しく説明する。
先ず、符号化率(n−1)/n(nは2以上の整数)、時変周期7のLDPC−CCの(0を満たす)パリティ検査多項式として、式(32−0)〜(32−6)を考える。
式(32−q)において、a#q,p,1、a#q,p,2は1以上の自然数とし、a#q,p,1≠a#q,p,2が成立するものとする。また、b#q,1、b#q,2は1以上の自然数とし、b#q,1≠b#q,2が成立するものとする(q=0、1、2、3、4、5、6;p=1、2、・・・、n−1)。
時変周期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))のパリティ検査多項式が成立する。
例えば、i=8とすると、i%7=1(k=1)となるので、式(33)が成立する。
また、式(32−g)のサブ行列(ベクトル)をH
gとするとパリティ検査行列は、 [パリティ検査多項式に基づくLDPC−CC]で述べた方法で作成することができる。ここで、第0サブ行列、第1サブ行列、第2サブ行列、第3サブ行列、第4サブ行列、第5サブ行列、第6サブ行列を、式(34−0)〜(34−6)のようにあらわす。
式(34−0)〜(34−6)において、連続したn個の「1」は、式(32−0)〜(32−6)の各式におけるX1(D)、X2(D)、・・・、Xn−1(D)及びP(D)の項に相当する。
このとき、パリティ検査行列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が成立する。
ここで、高い誤り訂正能力を得るための、式(32−0)〜式(32−6)におけるパリティ検査多項式の条件は、時変周期6と同様に以下のようになる。なお、以下の各条件において「%」はmoduloを意味し、例えば、「α%7」は、αを7で除算したときの余りを示す。
<条件#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符号となるので、高い誤り訂正能力を得ることができる。
ところで、時変周期6の場合には、高い誤り訂正能力を得るためには、さらに<条件#2−1>及び<条件#2−2>、又は、<条件#2−1>若しくは<条件#2−2>が必要であった。これに対し、時変周期7のように時変周期が素数の場合には、時変周期6の場合に必要であった<条件#2−1>及び<条件#2−2>、又は、<条件#2−1>若しくは<条件#2−2>に相当する条件が不要となる。
つまり、
<条件#1−1’>において、vp=1、vp=2、vp=3、vp=4、・・・、vp=k 、・・・、vp=n−2、vp=n−1(k=1、2、・・・、n−1)及びwの値は、「0、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の値は、「0,1、2、3、4、5、6」のいずれの値であってもよい。
その理由について、以下で説明する。
説明を簡単にするために、パリティ検査多項式に基づく時変周期7、符号化率(n−1)/nのLDPC−CCのパリティ検査多項式(32−0)〜(32−6)において、X
1(D)が2つの項をもつ場合を考える。すると、この場合、パリティ検査多項式は、式(35−0)〜(35−6)のようにあらわされる。
ここで、vp=k(k=1、2、・・・、n−1)及びwを、「2」に設定した場合を考える。
図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のみに着目した場合の、チェックノード及び変数ノードのツリーを示している。
式(35−q)のパリティ検査多項式を「検査式#q」と呼ぶ。なお、図14には、ツリーが「検査式#0」から描かれている。図14において、○(一重丸)及び◎(二重丸)は変数ノードを示し、□(四角)はチェックノードを示している。なお、○(一重丸)はX1(D)に関連する変数ノードを示し、◎(二重丸)はDa#q、1,1X1(D)に関連する変数ノードを示している。また、#Y(Y=0,1,2,3,4,5,6)と記載された□(四角)は、式(35−Y)のパリティ検査多項式に相当するチェックノードであることを意味している。
時変周期6の場合、例えば、図11に示したように、#Yが限られた値のみをとり、チェックノードが限られたパリティ検査多項式としか接続されないケースが存在する。これに対し、時変周期7のように、時変周期が7(素数)の場合、図14のように、#Yは0から6までのすべての値をとり、チェックノードは、全てのパリティ検査多項式と接続されるようになる。そのため、信頼度が全てのパリティ検査多項式から伝播されるようになる。この結果、時変周期を大きくした場合にも、信頼度が広範囲から伝播されるようになり、時変周期を大きくした効果を得ることができるようになる。なお、図14は、a#q,1,1%7(q=0、1、2、3、4、5、6)を「2」に設定した場合のツリーを示したが、「0」以外の値であれば、どの値に設定しても、チェックノードは、全てのパリティ検査多項式と接続されるようになる。
このように、時変周期を素数とすると、時変周期が素数でない場合に比べ、高い誤り訂正能力を得るためのパラメータ設定に関する制約条件が、大きく緩和されることがわかる。そして、制約条件が緩和されることにより、さらに別の制約条件を付加して、より高い誤り訂正能力を得ることができるようになる。以下では、その符号構成方法について詳しく説明する。
[時変周期q(qは3より大きい素数):式(36)]
先ず、符号化率(n−1)/n、時変周期q(qは3より大きい素数)のg番目(g=0、1、・・・、q−1)のパリティ検査多項式が式(36)のようにあらわされる場合について考える。
式(36)において、a#g,p,1、a#g,p,2は1以上の自然数とし、a#g,p,1≠a#g,p,2が成立するものとする。また、b#g,1、b#g,2は1以上の自然数とし、b#g,1≠b#g,2が成立するものとする(g=0、1、2、・・・、q−2、q−1;p=1、2、・・・、n−1)。
上述での説明と同様に、以下に記載する<条件#3−1>及び<条件#3−2>は、LDPC−CCが高い誤り訂正能力を得る上で重要な要件の一つとなる。なお、以下の各条件において「%」はmoduloを意味し、例えば、「α%q」は、αをqで除算したときの余りを示す。
<条件#3−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:固定値)」
<条件#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である。
<条件#4−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)が存在する。
<条件#4−2>
(vp=i,yp=i)及び(w,z)を考える。ただし、i=1,2,・・・,n−1とする。このとき、(vp=i,yp=i)≠(w,z)及び(vp=i,yp=i)≠(z,w)が成立するiが存在する。
例として、時変周期が7であって、符号化率1/2、2/3のLDPC−CCのパリティ検査多項式を表7に示す。
表7において、符号化率1/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=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」
が成立する。
このとき、(vp=1,yp=1)=(3,6)、(w,z)=(1,5)となるので、<条件#4−2>が成立する。
同様に、表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」
が成立する。
このとき、(vp=1,yp=1)=(1,4)、(vp=2,yp=2)=(2,3)、(w,z)=(5,6)となるので、<条件#4−1>及び<条件#4−2>が成立する。
また、例として、時変周期11のときの符号化率4/5のLDPC−CCのパリティ検査多項式を表8に示す。
なお、<条件#4−1,条件#4−2>の制約条件をさらに厳しくすることにより、誤り訂正能力がより高い時変周期q(qは3より大きい素数)のLDPC−CCを生成できる可能性がある。その条件は、<条件#5−1>及び<条件#5−2>、又は、<条件#5−1>若しくは<条件#5−2>が成立することである。
<条件#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)で成立する。
<条件#5−2>
(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が成立する場合、タナーグラフにおいて、短いループの発生を抑えることができる。
加えて、2n<qのとき、(vp=i,yp=i)及び(z,w)をすべて異なる値とした場合、より誤り訂正能力が高い時変周期q(qは3より大きい素数)のLDPC−CCを生成できる可能性がある。
また、2n≧qのとき、(vp=i,yp=i)及び(z,w)を、0、1、2、・・・、q−1のうちすべての値が存在するように設定すると、より誤り訂正能力が高い時変周期q(qは3より大きい素数)のLDPC−CCを生成できる可能性がある。
以上の説明において、時変周期q(qは3より大きい素数)のLDPC−CCのg番目のパリティ検査多項式として、X1(D)、X2(D)、・・・、Xn−1(D)及びP(D)において項数が3の式(36)を扱った。なお、式(36)において、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)についても同様である。この場合においても、上述で述べた条件を満たすことが、高い誤り訂正能力を得る上で重要な条件となる。ただし、削減された項に関する条件は不要となる。
また、X1(D)、X2(D)、・・・、Xn−1(D)、P(D)のいずれかの項数が4以上となる場合においても、高い誤り訂正能力を得ることができる可能性がある。例えば、X1(D)の項数を4以上とする方法としては、次のような方法がある。時変周期qの場合、q個の0を満たすパリティ検査多項式が存在することになるが、q個の0を満たすパリティ検査多項式すべてにおいて、X1(D)の項数を4以上とする。又は、q個の0を満たすパリティ検査多項式すべてにおいて、X1(D)の項数を4以上とせずに、q個の0を満たすパリティ検査多項式のうち、いずれか(q−1個以下)の0を満たすパリティ検査多項式において、X1(D)の項数を4以上としてもよい。X2(D)、・・・、Xn−1(D)、P(D)についても同様である。このとき、増えた項に対しては上記で説明した条件が除外される。
ところで、式(36)は、符号化率(n−1)/n、時変周期q(qは3より大きい素数)のLDPC−CCのg番目のパリティ検査多項式であった。この式において、例えば、符号化率1/2の場合、g番目のパリティ検査多項式は式(37−1)のようにあらわされる。また、符号化率2/3の場合、g番目のパリティ検査多項式は式(37−2)のようにあらわされる。また、符号化率3/4の場合、g番目のパリティ検査多項式は式(37−3)のようにあらわされる。また、符号化率4/5の場合、g番目のパリティ検査多項式は式(37−4)のようにあらわされる。また、符号化率5/6の場合、g番目のパリティ検査多項式は式(37−5)のようにあらわされる。
[時変周期q(qは3より大きい素数):式(38)]
次に、符号化率(n−1)/n、時変周期q(qは3より大きい素数)のg番目(g=0、1、・・・、q−1)のパリティ検査多項式が式(38)のようにあらわされる場合について考える。
式(38)において、a#g,p,1、a#g,p,2、a#g,p,3は1以上の自然数とし、a#g,p,1≠a#g,p,2、a#g,p,1≠a#g,p,3、a#g,p,2≠a#g,p,3が成立するものとする。また、b#g,1、b#g,2は1以上の自然数とし、b#g,1≠b#g,2が成立するものとする(g=0、1、2、・・・、q−2、q−1;p=1、2、・・・、n−1)。
上述での説明と同様に、以下に記載する<条件#6−1>、<条件#6−2>、及び<条件#6−3>は、LDPC−CCが高い誤り訂正能力を得る上で重要な要件の一つとなる。なお、以下の各条件において「%」はmoduloを意味し、例えば、「α%q」は、αをqで除算したときの余りを示す。
<条件#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>が成立すると、高い誤り訂正能力を得ることができる。
<条件#7−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)が存在する。
<条件#7−2>
(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が存在する。
また、<条件#7−1,条件#7−2>の制約条件をさらに厳しくすることにより、誤り訂正能力がより高い時変周期q(qは3より大きい素数)のLDPC−CCを生成できる可能性がある。その条件は、<条件#8−1>及び<条件#8−2>、又は、<条件#8−1>若しくは<条件#8−2>が成立することである。
<条件#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)で成立する。
<条件#8−2>
(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で成立する。
また、vp=i≠yp=i、vp=i≠sp=i、yp=i≠sp=i(i=1,2,・・・,n−1)、w≠zが成立する場合、タナーグラフにおいて、短いループの発生を抑えることができる。
以上の説明において、時変周期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)についても同様である。この場合においても、上述で述べた条件を満たすことが、高い誤り訂正能力を得る上で重要な条件となる。ただし、削減された項に関する条件は不要となる。
また、X1(D)、X2(D)、・・・、Xn−1(D)、P(D)のいずれかの項数が4以上となる場合においても、高い誤り訂正能力を得ることができる可能性がある。例えば、X1(D)の項数を4以上とする方法としては、次のような方法がある。時変周期qの場合、q個の0を満たすパリティ検査多項式が存在することになるが、q個の0を満たすパリティ検査多項式すべてにおいて、X1(D)の項数を4以上とする。又は、q個の0を満たすパリティ検査多項式すべてにおいて、X1(D)の項数を4以上とせずに、q個の0を満たすパリティ検査多項式のうち、いずれか(q−1個以下)の0を満たすパリティ検査多項式において、X1(D)の項数を4以上としてもよい。X2(D)、・・・、Xn−1(D)、P(D)についても同様である。)このとき、増えた項に対しては上記で説明した条件が除外される。
[時変周期h(hは3より大きい素数以外の整数):式(39)]
次に、時変周期hが、3より大きい素数以外の整数の場合における符号構成方法について考える。
先ず、符号化率(n−1)/n、時変周期h(hは3より大きい素数以外の整数)のg番目(g=0、1、・・・、h−1)のパリティ検査多項式が式(39)のようにあらわされる場合について考える。
式(39)において、a#g,p,1、a#g,p,2は1以上の自然数とし、a#g,p,1≠a#g,p,2、が成立するものとする。また、b#g,1、b#g,2は1以上の自然数とし、b#g,1≠b#g,2が成立するものとする(g=0、1、2、・・・、h−2、h−1;p=1、2、・・・、n−1)。
上述での説明と同様に、以下に記載する<条件#9−1>及び<条件#9−2>は、LDPC−CCが高い誤り訂正能力を得る上で重要な要件の一つとなる。なお、以下の各条件において「%」はmoduloを意味し、例えば、「α%h」は、αをhで除算したときの余りを示す。
<条件#9−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:固定値)」
<条件#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>を付加することにより、より高い誤り訂正能力を得ることができる。
<条件#10−1>
<条件#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=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)のセットを考える。ここで、k=1、2、・・・、n−1である。すると、<条件#11−1>又は<条件#11−2>が成立すると、より高い誤り訂正能力を得ることができる。
<条件#11−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)が存在する。
<条件#11−2>
(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>が成立することである。
<条件#12−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)で成立する。
<条件#12−2>
(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より大きい素数以外の整数)のLDPC−CCのg番目のパリティ検査多項式として、X1(D)、X2(D)、・・・、Xn−1(D)及びP(D)の項数が3の式(39)を扱った。なお、式(39)において、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)についても同様である。この場合においても、上述で述べた条件を満たすことが、高い誤り訂正能力を得る上で重要な条件となる。ただし、削減された項に関する条件は不要となる。
また、X1(D)、X2(D)、・・・、Xn−1(D)、P(D)のいずれかの項数が4以上となる場合においても、高い誤り訂正能力を得ることができる可能性がある。例えば、X1(D)の項数を4以上とする方法としては、次のような方法ある。時変周期hの場合、h個の0を満たすパリティ検査多項式が存在することになるが、h個の0を満たすパリティ検査多項式すべてにおいて、X1(D)の項数を4以上とする。又は、h個の0を満たすパリティ検査多項式すべてにおいて、X1(D)の項数を4以上とせずに、h個の0を満たすパリティ検査多項式のうち、いずれか(h−1個以下)の0を満たすパリティ検査多項式において、X1(D)の項数を4以上としてもよい。X2(D)、・・・、Xn−1(D)、P(D)についても同様である。このとき、増えた項に対しては上記で説明した条件が除外される。
ところで、式(39)は、符号化率(n−1)/n、時変周期h(hは3より大きい素数でない整数)のLDPC−CCの(0を満たす)g番目のパリティ検査多項式であった。この式において、例えば、符号化率1/2の場合、g番目のパリティ検査多項式は式(40−1)のようにあらわされる。また、符号化率2/3の場合、g番目のパリティ検査多項式は式(40−2)のようにあらわされる。また、符号化率3/4の場合、g番目のパリティ検査多項式は式(40−3)のようにあらわされる。また、符号化率4/5の場合、g番目のパリティ検査多項式は式(40−4)のようにあらわされる。また、符号化率5/6の場合、g番目のパリティ検査多項式は式(40−5)のようにあらわされる。
[時変周期h(hは3より大きい素数以外の整数):式(41)]
次に、時変周期h(hは3より大きい素数以外の整数)の(0を満たす)g番目(g=0、1、・・・、h−1)のパリティ検査多項式が式(41)のようにあらわされる場合について考える。
式(41)において、a#g,p,1、a#g,p,2、a#g,p,3は1以上の自然数とし、a#g,p,1≠a#g,p,2、a#g,p,1≠a#g,p,3、a#g,p,2≠a#g,p,3が成立するものとする。また、b#g,1、b#g,2は1以上の自然数とし、b#g,1≠b#g,2が成立するものとする(g=0、1、2、・・・、h−2、h−1;p=1、2、・・・、n−1)。
上述での説明と同様に、以下に記載する<条件#13−1>、<条件#13−2>、及び<条件#13−3>は、LDPC−CCが高い誤り訂正能力を得る上で重要な要件の一つとなる。なお、以下の各条件において「%」はmoduloを意味し、例えば、「α%h」は、αをqで除算したときの余りを示す。
<条件#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>が成立すると、高い誤り訂正能力を得ることができる。
<条件#14−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)が存在する。
<条件#14−2>
(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が存在する。
また、<条件#14−1,条件#14−2>の制約条件をさらに厳しくすることにより、誤り訂正能力がより高い時変周期h(hは3より大きい素数でない整数)のLDPC−CCを生成できる可能性がある。その条件は、<条件#15−1>及び<条件#15−2>、又は、<条件#15−1>若しくは<条件#15−2>が成立することである。
<条件#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)で成立する。
<条件#15−2>
(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で成立する。
また、vp=i≠yp=i、vp=i≠sp=i、yp=i≠sp=i(i=1,2,・・・,n−1)、w≠zが成立する場合、タナーグラフにおいて、短いループの発生を抑えることができる。
以上の説明において、時変周期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)についても同様である。この場合においても、上述で述べた条件を満たすことが、高い誤り訂正能力を得る上で重要な条件となる。ただし、削減された項に関する条件は不要となる。
また、X1(D)、X2(D)、・・・、Xn−1(D)、P(D)のいずれかの項数が4以上となる場合においても、高い誤り訂正能力を得ることができる可能性がある。例えば、X1(D)の項数を4以上とする方法としては、次のような方法ある。時変周期hの場合、h個の0を満たすパリティ検査多項式が存在することになるが、h個の0を満たすパリティ検査多項式すべてにおいて、X1(D)の項数を4以上とする。又は、h個の0を満たすパリティ検査多項式すべてにおいて、X1(D)の項数を4以上とせずに、h個の0を満たすパリティ検査多項式のうち、いずれか(h−1個以下)の0を満たすパリティ検査多項式において、X1(D)の項数を4以上としてもよい。X2(D)、・・・、Xn−1(D)、P(D)についても同様である。このとき、増えた項に対しては上記で説明した条件が除外される。
以上のように、本実施の形態では、時変周期を3より大きいパリティ検査多項式に基づくLDPC−CC、特に、時変周期を3より大きい素数とするパリティ検査多項式に基づくLDPC−CCの符号構成方法について説明した。本実施の形態で説明したようにして、パリティ検査多項式を形成し、当該パリティ検査多項式に基づきLDPC−CCの符号化を行うことにより、より高い誤り訂正能力を得ることができる。
(実施の形態2)
本実施の形態では、実施の形態1で述べたパリティ検査多項式に基づくLDPC−CCの符号化方法及び符号化器の構成について詳しく説明する。
一例として、先ず、符号化率1/2、時変周期3のLDPC−CCを考える。時変周期3のパリティ検査多項式を以下に与える。
そして、式(43−0)〜(43−2)をそれぞれ以下のようにあらわす。
このとき、式(44−0)に相当する回路を図15Aに示し、式(44−1)に相当する回路を図15Bに示し、式(44−2)に相当する回路を図15Cに示す。
そして、時点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と同様の構成を採ることができる。
時変周期が3以外であり、符号化率が(n−1)/nの場合も、上述と同様にして、符号化を行うことができる。例えば、時変周期q、符号化率(n−1)/nのLDPC−CCのg番目(g=0、1、・・・、q−1)のパリティ検査多項式は式(36)であらわされることから、P(D)は以下のようにあらわされる。ただし、qは素数に限られない。
そして、式(45)を式(44−0)〜(44−2)と同様に表現すると以下のようにあらわされる。
ここで、Xr[i](r=1,2,…,n−1)は、時点iの情報ビットを示し、P[i]は、時点iのパリティビットを示している。
したがって、時点iにおいて、i%q=kのとき、式(45)、式(46)において、式(45)、式(46)のgにkを代入した式を用いて、時点iのパリティビットを求めることができる。
ところで、本願発明におけるLDPC−CCは畳み込み符号の一種となるため、情報ビットの復号における信頼度を確保するために、ターミネーションもしくはテイルバイティング(tail-biting)が必要となる。本実施の形態では、ターミネーションを行う場合(「Information-zero-termination」又は簡単に「ゼロターミネーション(Zero-termination)」と呼ぶ)について考える。
図16は、符号化率(n−1)/nのLDPC−CCにおける「Information-zero-termination」を説明するための図である。時点i(i=0、1、2、3、・・・、s)における情報ビットX1、X2、・・・、Xn−1及びパリティビットPを、X1,i、X2,i、・・・、Xn−1,i及びパリティビットPiとする。そして、図16に示すように、Xn−1,sが送信したい情報の最終ビットであるとする。
もし、符号化器が時点sまでしか符号化を行わず、符号化側の送信装置が、Psまでしか復号側の受信装置に伝送しなかった場合、復号器において情報ビットの受信品質が大きく劣化する。この問題を解決するために、最終の情報ビットXn−1,s以降の情報ビット(「仮想の情報ビット」と呼ぶ)を「0」と仮定して符号化を行い、パリティビット(1603)を生成する。
具体的には、図16に示すように、符号化器は、X1,k、X2,k、・・・、Xn−1,k(k=t1、t2、・・・、tm)を「0」として符号化し、Pt1、Pt2、・・・、Ptmを得る。そして、符号化側の送信装置は、時点sにおけるX1,s、X2,s、・・・、Xn−1,s、Psを送信後、Pt1、Pt2、・・・、Ptmを送信する。復号器は、時点s以降では、仮想の情報ビットが「0」であるとわかっていることを利用し、復号を行う。
「Information-zero-termination」を例とするターミネーションでは、例えば、図9のLDPC−CC符号化器100において、レジスタの初期状態は「0」として符号化を行う。別の解釈として、時点i=0から符号化する場合、例えば式(46)においてzが0より小さい場合、X1[z]、X2[z]、・・・、Xn−1[z]、P[z]を「0」として符号化を行うことになる。
式(36)のサブ行列(ベクトル)をH
gとすると、第gサブ行列は次式のようにあらわすことができる。
ここで、n個連続した「1」は、式(36)の各式におけるX1(D)、X2(D)、・・・Xn−1(D)及びP(D)の項に相当する。
よって、ターミネーションを用いたとき、式(36)であらわされる符号化率(n−1)/nの時変周期qのLDPC−CCの検査行列は、図17のようにあらわされる。図17は、図5と同様の構成を持つ。なお、後述の実施の形態3において、テイルバイティングの検査行列の詳細構成について説明する。
図17に示すように、パリティ検査行列Hにおいて、第i行と第i+1行とでは、サブ行列がn列右にシフトした構成となる(図17参照)。ただし、1列目より左の要素(図17の例では、H’1)は、検査行列には反映されないことになる(図5及び図17参照)。そして、送信ベクトル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が成立する。
以上のように、符号化器は、時点iの情報ビットXr[i](r=1,2,…,n−1)を入力とし、式(46)を用いて、上述で述べたように、時点iのパリティビットP[i]を生成し、パリティビット[i]を出力することにより、実施の形態1で述べたLDPC−CCの符号化を行うことができる。
(実施の形態3)
本実施の形態では、実施の形態1で述べたパリティ検査多項式に基づくLDPC−CCにおいて、非特許文献10、11に記載されている簡単なテイルバイティングを行う場合に、より高い誤り訂正能力を得るための符号構成方法について詳しく説明する。
実施の形態1では、時変周期q(qは3より大きい素数)、符号化率(n−1)/nのLDPC−CCのg番目(g=0、1、・・・、q−1)のパリティ検査多項式が、式(36)であらわされる場合について説明した。式(36)は、X1(D)、X2(D)、・・・、Xn−1(D)及びP(D)において、項数が3であり、実施の形態1では、この場合に、高い誤り訂正能力を得るための符号構成方法(制約条件)について詳述した。また、実施の形態1では、X1(D)、X2(D)、・・・、Xn−1(D)、P(D)のいずれかの項数が1、2となる場合においても、高い誤り訂正能力を得ることができる可能性があることを指摘した。
ここで、P(D)の項を1とするとフィードフォワードの畳み込み符号(LDPC−CC)となるので、非特許文献10、11に基づいて、簡単にテイルバイティングを行うことが可能となる。本実施の形態では、この点について詳しく説明する。
時変周期q、符号化率(n−1)/nのLDPC−CCのg番目(g=0、1、・・・、q−1)のパリティ検査多項式(36)において、P(D)の項が1の場合、g番目のパリティ検査多項式は式(48)のようにあらわされる。
なお、本実施の形態では、時変周期qは、3以上の素数に限られない。ただし、実施の形態1で述べた制約条件については遵守するものとする。ただし、P(D)において、削減された項に関する条件については除くものとする。
式(48)から、P(D)は以下のようにあらわされる。
そして、式(49)を式(44−0)〜(44−2)と同様に表現すると以下のようにあらわされる。
したがって、時点iにおいて、i%q=kのとき、式(49)、式(50)において、式(49)、式(50)のgにkを代入した式を用いて、時点iのパリティビットを求めることができる。ただし、テイルバイティングを行う場合の動作の詳細については、後述する。
次に、式(49)で定義される時変周期q、符号化率(n−1)/nのLDPC−CCに対し、テイルバイティングを行ったときの検査行列の構成、及び、ブロックサイズについて詳しく説明する。
非特許文献12には、時変LDPC−CCにおいて、テイルバイティングを行う際のパリティ検査行列の一般式が記載されている。式(51)は、非特許文献12に記載されるテイルバイティングを行う際のパリティ検査行列である。
式(51)において、Hはパリティ検査行列であり、HTはシンドロームフォーマーである。また、HT i(t)(i=0,1,・・・,Ms)は、c×(c−b)のサブ行列であり、Msはメモリサイズである。
しかし、非特許文献12には、パリティ検査行列の具体的な符号について示されておらず、また、高い誤り訂正能力を得るための符号構成方法(制約条件)については記載されていない。
以下では、式(49)で定義される時変周期q、符号化率(n−1)/nのLDPC−CCに対して、テイルバイティングを行った場合においても、より高い誤り訂正能力を得るための符号構成方法(制約条件)について詳しく説明する。
式(49)で定義される時変周期q、符号化率(n−1)/nのLDPC−CCにおいて、より高い誤り訂正能力を得るためには、復号の際に必要とされるパリティ検査行列Hにおいて、以下の条件が重要となる。
<条件#16>
・パリティ検査行列の行数は、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以上であればいずれの値であってもよい。
ここで、<条件#16>について議論する。
時点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としてテイルバイティングを行うことになる。
なお、このとき、送信系列uは、u=(X1,1、X2,1、・・・、Xn−1,1、P0、X1,2、X2,2、・・・、Xn−1,2、P2、・・・、X1,k、X2,k、・・・、Xn−1,k、Pk、・・・、X1,q×N、X2,q×N、・・・、Xn−1,q×N、Pq×N)Tとなり、Hu=0が成立する。このときのパリティ検査行列の構成について、図18A及び図18Bを用いて説明する。
式(48)のサブ行列(ベクトル)をH
gとすると、第gサブ行列は次式のようにあらわすことができる。
ここで、n個連続した「1」は、式(48)の各式におけるX1(D)、X2(D)、・・・Xn−1(D)及びP(D)の項に相当する。
図18Aは、上記で定義した送信系列uに対応するパリティ検査行列のうち、時点q×N−1(1803)、時点q×N(1804)近辺のパリティ検査行列を示している。図18Aに示すように、パリティ検査行列Hにおいて、第i行と第i+1行とでは、サブ行列がn列右にシフトした構成となる(図18A参照)。
図18Aにおいて、行1801はパリティ検査行列のq×N行(最後の行)を示している。<条件#16>を満たす場合、行1801は、q−1番目のパリティ検査多項式に相当する。また、行1802はパリティ検査行列のq×N−1行を示している。<条件#16>を満たす場合、行1802は、q−2番目のパリティ検査多項式に相当する。
また、列群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の順に並んでいる。
次に、送信系列の順番を入れ替え、u=(・・・、X1,q×N−1、X2,q×N−1、・・・、Xn−1,q×N−1、Pq×N−1、X1,q×N、X2,q×N、・・・、Xn−1,q×N、Pq×N、X1,0、X2,1、・・・、Xn−1,1、P1、X1,2、X2,2、・・・、Xn−1,2、P2、・・・)Tとする。図18Bは、送信系列uに対応するパリティ検査行列のうち、時点q×N−1(1803)、時点q×N(1804)、時点1(1807)、時点2(1808)近辺のパリティ検査行列を示している。
図18Bに示すように、パリティ検査行列Hにおいて、第i行と第i+1行とでは、サブ行列がn列右にシフトした構成となる。また、図18Aのように、時点q×N−1(1803)、時点q×N(1804)近辺のパリティ検査行列をあらわした場合、列1805は、q×N×n列目に相当する列となり、列1806は、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の順に並んでいる。
図18Aのように、時点q×N−1(1803)、時点q×N(1804)近辺のパリティ検査行列をあらわした場合、行1811は、q×N行目に相当する行となり、行1812は、1行目に相当する行となる。
このとき、図18Bで示したパリティ検査行列の一部分、すなわち、列境界1813より左かつ行境界1814より下の部分は、テイルバイティングを行ったときの特徴的な部分となる。そして、この特徴的な部分の構成は、式(51)と同様の構成となることがわかる。
パリティ検査行列が<条件#16>を満たす場合に、パリティ検査行列を図18Aに示したようにあらわすと、パリティ検査行列は、0番目の0を満たすパリティ検査多項式に相当する行から始まり、q−1番目の0を満たすパリティ検査多項式に相当する行で終わる。この点が、より高い誤り訂正能力を得る上で重要となる。
実施の形態1で説明した時変LDPC−CCは、タナーグラフにおいて長さが短いサイクル(cycle of length)の数が少なくなるような符号である。そして、実施の形態1では、タナーグラフにおいて長さが短いサイクルの数が少なくなるような符号を生成するための条件を示した。ここで、テイルバイティングを行う際に、タナーグラフにおいて長さが短いサイクルの数が少なくなるためには、パリティ検査行列の行数が、qの倍数である(<条件#16>)ことが重要となる。この場合、パリティ検査行列の行数が、qの倍数の場合には、時変周期qのパリティ検査多項式が全て用いられることになる。そのため、パリティ検査多項式を実施の形態1で説明したようにタナーグラフにおいて長さが短いサイクルの数が少なくなるような符号とすることにより、テイルバイティングを行う際にも、タナーグラフにおいて長さが短いサイクルの数が少なくすることができる。このように、テイルバイティングを行う際にも、タナーグラフにおいて長さが短いサイクルの数が少なくするためには、<条件#16>が重要な要件となる。
ただし、通信システムにおいてテイルバイティングを行う際、通信システムにおいて要求されるブロック長(又は情報長)に対し<条件#16>を満たすようにするために、工夫が必要となる場合がある。この点について、例を挙げて説明する。
図19は、通信システムの略図である。図19の通信システムは、符号化側の送信装置1910、及び、復号側の受信装置1920を有している。
符号化器1911は、情報を入力とし、符号化を行い、送信系列を生成し、出力する。そして、変調部1912は、送信系列を入力とし、マッピング、直交変調、周波数変換、及び増幅等の所定の処理を行い、送信信号を出力する。送信信号は、通信媒体(無線、電力線、光など)を介して、受信装置1920の受信部1921に届く。
受信部1921は、受信信号を入力とし、増幅、周波数変換、直交復調、チャネル推定、及びデマッピング等の処理を行い、ベースバンド信号、及びチャネル推定信号を出力する。
対数尤度比生成部1922は、ベースバンド信号、及びチャネル推定信号を入力とし、ビット単位の対数尤度比を生成し、対数尤度比信号を出力する。
復号化器1923は、対数尤度比信号を入力とし、ここでは、特に、BP復号を用いた反復復号を行い、推定送信系列、又は(及び)、推定情報系列を出力する。
例えば、符号化率1/2、時変周期11のLDPC−CCを考える。このとき、テイルバイティングを行うことを前提し、設定した情報長を16384とする。その情報ビットをX1,1、X1,2、X1,3、・・・、X1,16384とする。そして、何も工夫せずに、パリティビットを求めるとすると、P1、P2、P,3、・・・、P16384が求まることになる。
しかし、送信系列u=(X1,1、P1、X1,2、P2、・・・X1,16384、P16384)に対してパリティ検査行列を作成しても、<条件#16>を満たさない。したがって、送信系列として、X1,16385、X1,16386、X1,16387、X1,16388、X1,16389を追加し、符号化器1911が、P16385、P16386、P16387、P16388、P16389を求めるようにすればよい。
このとき、符号化器1911では、例えば、X1,16385=0、X1,16386=0、X1,16387=0、X1,16388=0、X1,16389=0と設定し、符号化を行い、P16385、P16386、P16387、P16388、P16389を求める。ただし、符号化器1911と復号化器1923とにおいて、X1,16385=0、X1,16386=0、X1,16387=0、X1,16388=0、X1,16389=0と設定したという約束事を共有している場合、X1,16385、X1,16386、X1,16387、X1,16388、X1,16389を送信する必要はない。
したがって、符号化器1911は、情報系列X=(X1,1、X1,2、X1,3、・・・、X1,16384、X1,16385、X1,16386、X1,16387、X1,16388、X1,16389)=(X1,1、X1,2、X1,3、・・・、X1,16384、0、0、0、0、0)を入力とし、系列(X1,1、P1、X1,2、P2、・・・X1,16384、P16384、X1,16385、P16385、X1,16386、P16386、X1,16387、P16387、X1,16388、P16388、X1,16389、P16389)=(X1,1、P1、X1,2、P2、・・・X1,16384、P16384、0、P16385、0、P16386、0、P16387、0、P16388、0、P16389)を得る。
そして、送信装置1910は、符号化器1911と復号化器1923との間で既知である「0」を削減し、送信系列として(X1,1、P1、X1,2、P2、・・・X1,16384、P16384、P16385、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は、送信装置1910から送信されなかった「0」の値のX1,16385、X1,16386、X1,16387、X1,16388、X1,16389の対数尤度比LLR(X1,16385)=LLR(0)、LLR(X1,16386)=LLR(0)、LLR(X1,16387)=LLR(0)、LLR(X1,16388)=LLR(0)、LLR(X1,16389)=LLR(0)を生成する。受信装置1920は、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)、LLR(X1,16389)=LLR(0)、LLR(P16389)を得ることになるので、これら対数尤度比及び符号化率1/2、時変周期11のLDPC−CCの16389×32778のパリティ検査行列を用いて復号を行うことで、推定送信系列、又は(及び)、推定情報系列を得る。復号方法としては、非特許文献4、非特許文献5、非特許文献6に示されているようなBP(Belief Propagation)(信頼度伝播)復号、BP復号を近似したmin-sum復号、offset BP復号、Normalized BP復号、shuffled BP復号などの信頼度伝播を利用することができる。
この例でわかるように、符号化率(n−1)/n、時変周期qのLDPC−CCにおいて、テイルバイティングを行う場合、受信装置1920では、<条件#16>を満たすようなパリティ検査行列を用いて復号が行なわれる。したがって、復号化器1923は、パリティ検査行列として(行)×(列)=(q×M)×(q×n×M)のパリティ検査行列を保有していることになる(Mは自然数)。
これに対応する符号化器1911において、符号化に必要となる情報ビット数はq×(n−1)×Mとなる。これら情報ビットにより、q×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ビットのパリティビットを送信してもよいが、この場合には、既知ビット送信分の伝送速度の低下を招くことになる。
次に、式(48)のパリティ検査多項式により定義される符号化率(n−1)/n、時変周期qのLDPC−CCにおいて、テイルバティングを行った際の符号化方法について説明する。式(48)のパリティ検査多項式により定義される符号化率(n−1)/n、時変周期qのLDPC−CCは、フィードフォワードの畳み込み符号の一種である。したがって、非特許文献10、非特許文献11に記載のテイルバイティングを行うことができる。そこで、以下では、非特許文献10、非特許文献11に記載のテイルバイティングを行う場合の符号化方法の手順の概要について説明する。
手順は以下の通りである。
<手順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の各レジスタの状態を保持しておく。
<手順2>
手順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で述べた条件を満たすことが、高い誤り訂正能力を得る上で重要な条件となる。ただし、削減された項に関する条件は不要となる。
また、X1(D)、X2(D)、・・・、Xn−1(D)のいずれかの項数が4以上となる場合においても、高い誤り訂正能力を得ることができる可能性がある。例えば、X1(D)の項数を4以上とする方法としては、次のような方法ある。時変周期qの場合、q個の0を満たすパリティ検査多項式が存在することになるが、q個の0を満たすパリティ検査多項式すべてにおいて、X1(D)の項数を4以上とする。又は、q個の0を満たすパリティ検査多項式すべてにおいて、X1(D)の項数を4以上とせずに、q個の0を満たすパリティ検査多項式のうち、いずれか(q−1個以下)の0を満たすパリティ検査多項式において、X1(D)の項数を4以上としてもよい。X2(D)、・・・、Xn−1(D)についても同様である。このとき、増えた項に対しては上記で説明した条件が除外される。
また、時変周期q、符号化率(n−1)/nのLDPC−CCのg番目(g=0、1、・・・、q−1)のパリティ検査多項式を式(53)のようにあらわした符号に対しても、本実施の形態におけるテイルバイティングを実施することができる。
ただし、実施の形態1で述べた制約条件が遵守されているものとする。ただし、P(D)において、削減された項に関する条件については除くものとする。
式(53)から、P(D)は以下のようにあらわされる。
そして、式(54)を式(44−0)〜(44−2)と同様に表現すると以下のようにあらわされる。
なお、式(53)の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で述べた条件を満たすことが、高い誤り訂正能力を得る上で重要な条件となる。ただし、削減された項に関する条件は不要となる。
また、X1(D)、X2(D)、・・・、Xn−1(D)のいずれかの項数が4以上となる場合においても、高い誤り訂正能力を得ることができる可能性がある。例えば、X1(D)の項数を4以上とする方法としては、次のような方法がある。時変周期qの場合、q個の0を満たすパリティ検査多項式が存在することになるが、q個の0を満たすパリティ検査多項式すべてにおいて、X1(D)の項数を4以上とする。又は、q個の0を満たすパリティ検査多項式すべてにおいて、X1(D)の項数を4以上とせずに、q個の0を満たすパリティ検査多項式のうち、いずれか(q−1個以下)の0を満たすパリティ検査多項式において、X1(D)の項数を4以上としてもよい。X2(D)、・・・、Xn−1(D)についても同様である。このとき、増えた項に対しては上記で説明した条件が除外される。また、式(53)で定義されたLDPC−CCにおいても、上述の手順を用いることで、テイルバイティングを行ったときの符号化系列を得ることができる。
以上のように、符号化器1911及び復号化器1923が、実施の形態1で述べたLDPC−CCにおいて行数が時変周期qの倍数のパリティ検査行列を用いることにより、簡単なテイルバイティングを行う際においても、高い誤り訂正能力を得ることができる。
(実施の形態4)
本実施の形態では、再度、パリティ検査多項式に基づく、符号化率R=(n−1)/nの時変LDPC−CCについて説明する。X
1,X
2,・・・,X
n−1の情報ビット及びパリティビットPの時点jにおけるビットを、それぞれX
1,j,X
2,j,・・・,X
n−1,j及びP
jとあらわす。そして、時点jにおけるベクトルu
jをu
j=(X
1,j,X
2,j,・・・,X
n−1,j,P
j)とあらわす。また、符号化系列をu=(u
0,u
1,・・・,u
j,・・・)
Tとあらわす。Dを遅延演算子とすると、情報ビットX
1,X
2,・・・,X
n−1の多項式はX
1(D),X
2(D),・・・,X
n−1(D)とあらわされ、パリティビットPの多項式はP(D)とあらわされる。このとき、式(56)であらわされる0を満たすパリティ検査多項式を考える。
式(56)において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を満たす。ここで、∀は、全称記号(universal quantifier)である。
符号化率R=(n−1)/n、時変周期mのLDPC−CCを作成するために、式(56)に基づくパリティ検査多項式を用意する。このときi番目(i=0,1,・・・,m−1)のパリティ検査多項式を式(57)のようにあらわす。
式(57)において、A
Xδ,i(D)(δ=1,2,・・・,n−1)及びB
i(D)のDの最大次数をそれぞれΓ
Xδ,i及びΓ
P,iとあらわす。そして、Γ
Xδ,i及びΓ
P,iの最大値をΓ
iとする。そして、Γ
i(i=0,1,・・・,m−1)の最大値をΓとする。符号化系列uを考慮すると、Γを用いることにより、i番目のパリティ検査多項式に相当するベクトルh
iは式(58)のようにあらわされる。
式(58)において、h
i,v(v=0,1,・・・,Γ)は1×nのベクトルであり、式(59)のようにあらわされる。
なぜなら、式(57)のパリティ検査多項式は、α
i,v,XwD
vX
w(D)及びβ
i,vD
vP(D)(w=1,2,・・・,n−1、かつ、α
i,v,Xw,β
i,v∈[0,1])をもつからである。この場合、式(57)の0を満たすパリティ検査多項式は、D
0X
1(D),D
0X
2(D),・・・,D
0X
n−1(D)及びD
0P(D)をもつので、式(60)を満たす。
式(60)において、∀kに対して、∧(k)=∧(k+m)を満たす。ただし、∧(k)はパリティ検査行列kの行目におけるhiに相当する。
式(58)、式(59)及び式(60)を用いることにより、符号化率R=(n−1)/n、時変周期mのパリティ検査多項式に基づくLDPC−CCの検査行列は、式(61)のようにあらわされる。
(実施の形態5)
本実施の形態では、実施の形態1で述べた時変LDPC−CCを消失訂正方式に適用する場合について説明する。ただし、LDPC−CCの時変周期は、時変周期2、3、4であってもよい。
例えば、LDPC符号による消失訂正符号化を利用した通信システムの概念図を図20に示す。図20において、符号化側の通信装置では、送信する情報パケット1〜4に対してLDPC符号化を行い、パリティパケットa,bを生成する。上位層処理部は、情報パケットにパリティパケットを付加した符号化パケットを下位層(図20の例では物理層(PHY:Physical Layer))に出力し、下位層の物理層処理部は、符号化パケットを通信路で送信可能な形に変換して通信路に出力する。図20は、通信路が無線通信路の場合の例である。
復号化側の通信装置では、下位層の物理層処理部で受信処理を行う。このとき、下位層でビットエラーが発生したと仮定する。このビットエラーにより、上位層で、該当するビットを含んだパケットが正しく復号されず、パケット消失が発生する場合がある。図20の例では、情報パケット3が消失した場合を示している。上位層処理部は、受信したパケット列に対してLDPC復号処理を施すことにより、消失した情報パケット3を復号する。LDPC復号としては、信頼度伝播(BP:Belief Propagation)を利用して復号するSum−product復号、又は、ガウスの消去法等が用いられる。
図21は、上記通信システムの全体構成図である。図21において、通信システムは、符号化側の通信装置2110、通信路2120及び復号側の通信装置2130を有する。
符号化側の通信装置2110は、消失訂正符号化関連処理部2112、誤り訂正符号化部2113及び送信装置2114を有する。
復号側の通信装置2130は、受信装置2131、誤り訂正復号部2132、消失訂正復号関連処理部2133を有する。
通信路2120は、符号化側の通信装置2110の送信装置2114から送信された信号が、復号側の通信装置2130の受信装置2131で受信されるまでに通る経路を示す。通信路2120として、イーサネット(登録商標)、電力線、メタルケーブル、光ファイバ、無線、光(可視光、赤外線など)、又は、これらを組み合わせたものを使用することができる。
誤り訂正符号化部2113では、通信路2120により発生する誤りを訂正するために、消失訂正符号とは別に、物理層(物理レイヤー)における誤り訂正符号が導入される。したがって、誤り訂正復号部2132では、物理層での誤り訂正符号の復号が行われる。よって、消失訂正符号/復号が施されるレイヤーと誤り訂正符号が行われるレイヤー(つまり、物理レイヤー)とは異なるレイヤー(層)となり、物理層の誤り訂正復号では、軟判定復号が行われ、消失訂正の復号では、消失ビットを復元する作業が行われることになる。
図22は、消失訂正符号化関連処理部2112の内部構成を示す図である。図22を用いて、消失訂正符号化関連処理部2112における消失訂正符号化方法について説明する。
パケット生成部2211は、情報2241を入力とし、情報パケット2243を生成し、情報パケット2243を並び替え部2215に出力する。以下では、一例として、情報パケット2243が、情報パケット#1〜#nから構成される場合について説明する。
並び替え部2215は、情報パケット2243(ここでは、情報パケット#1〜#n)を入力とし、情報の順番を並び替えて、並び替え後の情報2245を出力する。
消失訂正符号化器(パリティパケット生成部)2216は、並び替え後の情報2245を入力とし、情報2245に対し、例えば、LDPC−CC(low-density parity-check convolutional code)の符号化を行い、パリティビットを生成する。消失訂正符号化器(パリティパケット生成部)2216は、生成したパリティ部分のみを抽出し、抽出したパリティ部分から(パリティを蓄積し、並び替えを行い)パリティパケット2247を生成し出力する。このとき、情報パケット#1〜#nに対し、パリティパケット#1〜#mが生成される場合、パリティパケット2247は、パリティパケット#1〜#mから構成される。
誤り検出符号付加部2217は、情報パケット2243(情報パケット#1〜#n)、及び、パリティパケット2247(パリティパケット#1〜#m)を入力とする。誤り検出符号付加部2217は、情報パケット2243(情報パケット#1〜#n)、及び、パリティパケット2247(パリティパケット#1〜#m)に対し誤り検出符号、例えば、CRCを付加する。誤り検出符号付加部2217は、CRC付加後の情報パケット及びパリティパケット2249を出力する。したがって、CRC付加後の情報パケット及びパリティパケット2249は、CRC付加後の情報パケット#1〜#n、及び、CRC付加後のパリティパケット#1〜#mから構成される。
また、図23は、消失訂正符号化関連処理部2112の別の内部構成を示す図である。図23に示す消失訂正符号化関連処理部2312は、図22に示した消失訂正符号化関連処理部2112とは異なる消失訂正符号化方法を行う。消失訂正符号化部2314は、情報パケットとパリティパケットとを区別せずに、情報ビット及びパリティビットをデータとみなして、パケット#1〜#n+mを構成する。ただし、パケットを構成する際、消失訂正符号化部2314は、情報及びパリティを内部のメモリ(図示省略)に一時蓄積し、その後、並び替えを行い、パケットを構成する。そして、誤り検出符号付加部2317は、これらのパケットに誤り検出符号、例えば、CRCを付加し、CRC付加後のパケット#1〜#n+mを出力する。
図24は、消失訂正復号関連処理部2433の内部構成を示す図である。図24を用いて、消失訂正復号関連処理部2433における消失訂正復号方法について説明する。
誤り検出部2435は、物理層における誤り訂正符号の復号後のパケット2451を入力とし、例えば、CRCにより、誤り検出を行う。このとき、物理層における誤り訂正符号の復号後のパケット2451は、復号後の情報パケット#1〜#n及び復号後のパリティパケット#1〜#mから構成される。誤り検出の結果、例えば、図24に示すように、復号後の情報パケット及び復号後のパリティパケットに損失パケットが存在する場合、誤り検出部2435は、パケット損失が発生しなかった情報パケット及びパリティパケットにパケット番号を付して、パケット2453として出力する。
消失訂正復号器2436は、パケット2453(パケット損失が発生しなかった情報パケット(パケット番号付き)及びパリティパケット(パケット番号付き))を入力とする。消失訂正復号器2436は、パケット2453に対して(並び替えを行い、その後)消失訂正符号復号を行い、情報パケット2455(情報パケット#1〜#n)を復号する。なお、図23に示す消失訂正符号化関連処理部2312によって符号化された場合には、消失訂正復号器2436には、情報パケットとパリティパケットとが区別されていないパケットが入力され、消失訂正復号が行われることになる。
ところで、伝送効率の向上と消失訂正能力の向上との両立を考えた場合、通信品質により、消失訂正符号における符号化率を変更できることが望まれる。図25は、通信品質に応じて、消失訂正符号の符号化率を変更することができる消失訂正符号化器2560の構成例を示している。
第1の消失訂正符号化器2561は、符号化率1/2の消失訂正符号の符号化器である。また、第2の消失訂正符号化器2562は、符号化率2/3の消失訂正符号の符号化器である。また、第3の消失訂正符号化器2563は、符号化率3/4の消失訂正符号の符号化器である。
第1の消失訂正符号化器2561は、情報2571及び制御信号2572を入力とし、制御信号2572が符号化率1/2を指定した場合に符号化を行い、消失訂正符号化後のデータ2573を選択部2564に出力する。同様に、第2の消失訂正符号化器2562は、情報2571及び制御信号2572を入力とし、制御信号2572が符号化率2/3を指定した場合に符号化を行い、消失訂正符号化後のデータ2574を選択部2564に出力する。同様に、第3の消失訂正符号化器2563は、情報2571及び制御信号2572を入力とし、制御信号2572が符号化率3/4を指定した場合に符号化を行い、消失訂正符号化後のデータ2575を選択部2564に出力する。
選択部2564は、消失訂正符号化後のデータ2573、2574、2575及び制御信号2572を入力とし、制御信号2572が指定した符号化率に対応する消失訂正符号化後のデータ2576を出力する。
このように、通信状況に応じて消失訂正符号の符号化率を変更して、適切な符号化率に設定することにより、通信相手の受信品質の向上とデータ(情報)の伝送速度の向上の両立を図ることができるようになる。
この場合、符号化器に対しては、複数符号化率を低回路規模で実現することと、高い消失訂正能力を得ることとの両立が求められる。以下では、この両立を実現する符号化方法(符号化器)、及び、復号方法について詳しく説明する。
以下で説明する符号・復号化方法では、実施の形態1〜3で説明したLDPC−CCを、消失訂正のための符号として用いる。このとき、消失訂正能力の点に着目すると、例えば、符号化率3/4より大きいLDPC−CCを用いる場合には、高い消失訂正能力を得ることができる。一方、符号化率2/3より小さいLDPC−CCを用いる場合には、高い消失訂正能力を得るのが難しいという課題がある。以下では、この課題を克服し、なおかつ、低回路規模で複数符号化率を実現することができる符号化方法について説明する。
図26は、通信システムの全体構成図である。図26において、通信システムは、符号化側の通信装置2600、通信路2607及び復号側の通信装置2608を含む。
通信路2607は、符号化側の通信装置2600の送信装置2605から送信された信号が、復号側の通信装置2608の受信装置2609で受信されるまでに通る経路を示す。
受信装置2613は、受信信号2612を入力とし、通信装置2608からフィードバックされた情報(フィードバック情報)2615、及び、受信データ2614を得る。
消失訂正符号化関連処理部2603は、情報2601、制御信号2602、及び、通信装置2608からフィードバックされた情報2615を入力とする。消失訂正符号化関連処理部2603は、制御信号2602、又は、通信装置2608からのフィードバック情報2615に基づき消失訂正符号の符号化率を決定し、符号化を行い、消失訂正符号化後のパケットを出力する。
誤り訂正符号化部2604は、消失訂正符号化後のパケット、制御信号2602、及び、通信装置2608からのフィードバック情報2615を入力とする。誤り訂正符号化部2604は、制御信号2602、又は、通信装置2608からのフィードバック情報2615に基づき物理層の誤り訂正符号の符号化率を決定し、物理層における誤り訂正符号化を行い、符号化後のデータを出力する。
送信装置2605は、符号化後のデータを入力とし、例えば、直交変調、周波数変換、増幅等の処理を行い、送信信号を出力する。ただし、送信信号には、データ以外にも、制御情報を伝送するためのシンボル、既知シンボル等シンボルが含まれているものとする。また、送信信号には、設定した物理層の誤り訂正符号の符号化率、及び、消失訂正符号の符号化率の情報を制御情報が含まれているものとする。
受信装置2609は、受信信号を入力とし、増幅、周波数変換、直交復調等の処理を施し、受信対数尤度比を出力するとともに、送信信号に含まれる既知シンボルから、伝播環境、受信電界強度などの通信路の環境を推定し、推定信号を出力する。また、受信装置2609は、受信信号に含まれる制御情報のためのシンボルを復調することで、送信装置2605が設定した物理層の誤り訂正符号の符号化率、消失訂正符号の符号化率の情報を得、制御信号として出力する。
誤り訂正復号部2610は、受信対数尤度比、制御信号を入力とし、制御信号に含まれる物理層の誤り訂正符号の符号化率を用いて、物理層における適切な誤り訂正復号を行う。そして、誤り訂正復号部2610は、復号後のデータを出力するとともに、物理層において誤り訂正を行うことができたか否かの情報(誤り訂正可否情報(例えばACK/NACK))を出力する。
消失訂正復号関連処理部2611は、復号後のデータ、制御信号を入力とし、制御信号に含まれる消失訂正符号の符号化率を用いて、消失訂正復号を行う。そして、消失訂正復号関連処理部2611は、消失訂正復号後のデータを出力するとともに、消失訂正において誤り訂正を行うことができたか否かの情報(消失訂正可否情報(例えばACK/NACK))を出力する。
送信装置2617は、伝播環境、受信電界強度などの通信路の環境を推定した推定情報(RSSI:Received Signal Strength Indicator又はCSI:Channel State Information)、物理層における誤り訂正可否情報、及び消失訂正における消失訂正可否情報に基づいたフィードバック情報と、送信データとを入力とする。送信装置2617は、符号化、マッピング、直交変調、周波数変換、増幅等の処理を施し、送信信号2618を出力する。送信信号2618は、通信装置2600に伝送される。
図27を用いて、消失訂正符号化関連処理部2603における消失訂正符号の符号化率の変更方法について説明する。なお、図27において、図22と同様に動作するものについては同一符号を付した。図27において、図22と異なる点は、制御信号2602及びフィードバック情報2615が、パケット生成部2211及び消失訂正符号化器(パリティパケット生成部)2216に入力される点である。そして、消失訂正符号化関連処理部2603は、制御信号2602及びフィードバック情報2615に基づいて、パケットサイズや消失訂正符号の符号化率を変更する。
また、図28は、消失訂正符号化関連処理部2603の別の内部構成を示す図である。図28に示すに示す消失訂正符号化関連処理部2603は、図27に示した消失訂正符号化関連処理部2603とは異なる方法を用いて、消失訂正符号の符号化率を変更する。なお、図28において、図23と同様に動作するものについては同一符号を付した。図28において、図23と異なる点は、制御信号2602及びフィードバック情報2615が、消失訂正符号化器2316及び誤り検出符号付加部2317に入力される点である。そして、消失訂正符号化関連処理部2603は、制御信号2602及びフィードバック情報2615に基づいて、パケットサイズや消失訂正符号の符号化率を変更する。
図29は、本実施の形態に係る符号化部の構成の一例を示している。図29の符号化器2900は、複数の符号化率に対応可能なLDPC−CC符号化部である。なお、以下では、図29に示す符号化器2900が、符号化率4/5、及び符号化率16/25をサポートする場合について説明する。
並び替え部2902は、情報Xを入力とし、情報ビットXを蓄積する。そして、並び替え部2902は、情報ビットXが4ビット分蓄積されると、情報ビットXを並び替え、情報ビットX1、X2、X3、X4を4系統にパラレルに出力する。ただし、この構成は、あくまでも一例である。なお、並び替え部2902の動作について、後述する。
LDPC−CC符号化器2907は、符号化率4/5をサポートする。LDPC−CC符号化器2907は、情報ビットX1、X2、X3、X4、及び制御信号2916を入力とする。LDPC−CC符号化器2907は、例えば、実施の形態1から実施の形態3に示したLDPC−CC符号化を行い、パリティビット(P1)2908を出力する。なお、制御信号2916が、符号化率4/5を示す場合、情報X1、X2、X3、X4、及び、パリティ(P1)が、符号化器2900の出力となる。
並び替え部2909は、情報ビットX1、X2、X3、X4、パリティビットP1、及び、制御信号2916を入力とする。そして、制御信号2916が、符号化率4/5をす場合、並び替え部2909は、動作しない。一方、制御信号2916が、符号化率16/25を示している場合、並び替え部2909は、情報ビットX1、X2、X3、X4、及び、パリティビットP1を蓄積する。そして、並び替え部2909は、蓄積した情報ビットX1、X2、X3、X4、及び、パリティビットP1を並び替え、並び替え後のデータ#1(2910)、並び替え後のデータ#2(2911)、並び替え後のデータ#3(2912)、並び替え後のデータ#4(2913)を出力する。なお、並び替え部2909における並び替え方法については、後述する。
LDPC−CC符号化器2914は、LDPC−CC符号化器2907と同様に、符号化率4/5をサポートする。LDPC−CC符号化器2914は、並び替え後のデータ#1(2910)、並び替え後のデータ#2(2911)、並び替え後のデータ#3(2912)、並び替え後のデータ#4(2913)、及び、制御信号2916を入力とする。そして、制御信2916が、符号化率16/25を示す場合、LDPC−CC符号化器2914は、符号化を行い、パリティビット(P2)2915を出力する。なお、制御信号2916が、符号化率4/5を示す場合、並び替え後のデータ#1(2910)、並び替え後のデータ#2(2911)、並び替え後のデータ#3(2912)、並び替え後のデータ#4(2913)、及び、パリティビット(P2)(2915)が符号化器2900の出力となる。
図30は、符号化器2900の符号化方法の概略を説明するための図である。並び替え部2902には、情報ビットX(1)から情報ビットX(4N)が入力され、並び替え部2902は情報ビットXを並び替える。そして、並び替え部2902は、並び替え後の4つの情報ビットをパラレルに出力する。したがって、[X1(1),X2(1),X3(1),X4(1)]を最初に出力し、その後、[X1(2),X2(2),X3(2),X4(2)]を出力する。そして、並び替え部2902は、最後に、[X1(N),X2(N),X3(N),X4(N)]を出力する。
符号化率4/5のLDPC−CC符号化器2907は、[X1(1),X2(1),X3(1),X4(1)]に対して符号化を行い、パリティビットP1(1)を出力する。以下同様に、LDPC−CC符号化器2907は、符号化を行い、パリティビットP1(2)、P1(3)、・・・、P1(N)を生成し、出力する。
並び替え部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は、情報ビットに加えパリティビットも含め並び替えを行う。
例えば、図30に示す例では、並び替え部2909は、並び替え後の[X1(50),X2(31),X3(7),P1(40)]、[X2(39),X4(67),P1(4),X1(20)]、・・・、[P2(65),X4(21),P1(16),X2(87)]を出力する。
そして、符号化率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が符号化率4/5を示す場合、符号化器2900は、[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)]を用いてパケットを生成する。
また、制御信号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)]を用いてパケットを生成する。
以上のように、本実施の形態では、符号化器2900は、例えば、符号化率4/5のように符号化率の高いLDPC−CC符号化器2907、2914を連接し、かつ、各LDPC−CC符号化器2907、2914の前に並び替え部2902、2909を配置する構成を採る。そして、符号化器2900は、指定された符号化率に応じて、出力するデータを変更する。これにより、低回路規模で複数符号化率に対応でき、かつ、各符号化率で高い消失訂正能力を得ることができるという効果を得ることができる。
図29では、符号化器2900において、符号化率4/5のLDPC−CC符号化器2907、2914を2つ連接した構成について説明したが、これに限ったものではない。例えば、図31のように、符号化器2900において、異なる符号化率のLDPC−CC符号化器3102、2914を連接した構成でもよい。なお、図31において、図29と同様に動作するものについては同一符号を付した。
並び替え部3101は、情報ビットXを入力とし、情報ビットXを蓄積する。そして、並び替え部3101は、情報ビットXが5ビット分蓄積されると、情報ビットXを並び替え、情報ビットX1,X2,X3,X4,X5を5系統にパラレルに出力する。
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の出力となる。
並び替え部3104は、情報ビットX1,X2,X3,X4,X5、パリティビット(P1)2908、及び制御信号2916を入力とする。制御信号2916が符号化率2/3を示す場合、並び替え部3104は、情報ビットX1,X2,X3,X4,X5、及び、パリティビット(P1)2908を蓄積する。そして、並び替え部3104は、蓄積した情報ビットX1,X2,X3,X4,X5、及び、パリティビット(P1)2908を並び替え、並び替え後のデータを4系統にパラレルに出力する。このとき、4系統には、情報ビットX1,X2,X3,X4,X5、及び、パリティビット(P1)が含まれることになる。
LDPC−CC符号化器2914は、符号化率4/5をサポートする。LDPC−CC符号化器2914は、4系統のデータ及び制御信号2916を入力とする。LDPC−CC符号化器2914は、制御信号2916が、符号化率2/3を示す場合、4系統のデータに対して符号化を行い、パリティビット(P2)を出力する。したがって、LDPC−CC符号化器2914は、情報ビットX1,X2,X3,X4,X5、及び、パリティビットP1を用いて符号化を行うことになる。
なお、符号化器2900において、符号化率はいずれの符号化率に設定してもよい。また、符号化率が同一の符号化器を連接した場合、同一の符号の符号化器であってもよいし、異なる符号の符号化器であってもよい。
また、図29及び図31には、2つの符号化率に対応する場合の符号化器2900の構成例を示したが、3つ以上の符号化率に対応させるようにしてもよい。図32は、3つ以上の符号化率に対応することができる符号化器3200の構成の一例を示している。
並び替え部3202は、情報ビットXを入力とし、情報ビットXを蓄積する。そして、並び替え部3202は、蓄積後の情報ビットXを並び替え、並び替え後の情報ビットXを、後段のLDPC−CC符号化器3204の符号化対象の第1データ3203として出力する。
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の出力となる。
並び替え部3206は、第1データ3203、パリティビット(P1)3205、及び制御信号2916を入力とする。並び替え部3206は、制御信号2916が、符号化率{(n-1)(m-1)}/(nm)以下を示す場合、第1データ3203、及びビットパリティ(P1)3205を蓄積する。そして、並び替え部3206は、蓄積後の第1データ3203、及びパリティビット(P1)3205を並び替え、並び替え後の第1データ3203、及びパリティビット(P1)3205を、後段のLDPC−CC符号化器3208の符号化対象の第2データ3207として出力する。
LDPC−CC符号化器3208は、符号化率(m−1)/mをサポートする。LDPC−CC符号化器3208は、第2データ3207、及び制御信号2916を入力とする。そして、LDPC−CC符号化器3208は、制御信号2916が、符号化率{(n-1)(m-1)}/(nm)以下を示す場合、第2データ3207に対して符号化を行い、パリティ(P2)3209を出力する。なお、制御信号2916が、符号化率{(n-1)(m-1)}/(nm)を示す場合、第2データ3207及びパリティビット(P2)3209が符号化器3200の出力となる。
並び替え部3210は、第2データ3207、パリティビット(P2)3209、及び制御信号2916を入力とする。並び替え部3210は、制御信号2916が、符号化率{(n-1)(m-1)(s-1)}/(nms)以下を示す場合、第2データ3209、及びパリティビット(P2)3207を蓄積する。そして、並び替え部3210は、蓄積後の第2データ3209、及びパリティビット(P2)3207を並び替え、並び替え後の第2データ3209、及びパリティ(P2)3207を、後段のLDPC−CC符号化器3212の符号化対象の第3データ3211として出力する。
LDPC−CC符号化器3212は、符号化率(s−1)/sをサポートする。LDPC−CC符号化器3212は、第3データ3211、及び制御信号2916を入力とする。そして、LDPC−CC符号化器3212は、制御信号2916が、符号化率{(n-1)(m-1)(s-1)}/(nms)以下を示す場合、第3データ3211に対して符号化を行い、パリティビット(P3)3213を出力する。なお、制御信号2916が、符号化率{(n-1)(m-1)(s-1)}/(nms)を示す場合、第3データ3211及びパリティビット(P3)3213が符号化器3200の出力となる。
なお、LDPC−CC符号化器を更に多段に連接することにより、より多くの符号化率を実現することができるようになる。これにより、複数符号化率を低回路規模で実現することができるとともに、各符号化率で高い消失訂正能力を得ることができるという効果を得ることができる。
なお、図29、図31及び図32において、情報ビットXに対して、必ずしも並び替え(初段の並び換え)が必要とは限らない。また、並び替え部は、並び替え後の情報ビットXをパラレルに出力する構成で示しているが、これに限ったものではなく、シリアル出力としてもよい。
図33に、図32の符号化器3200に対応する復号化器3310の構成の一例を示す。
時点iにおける送信系列uiをui=(X1,i、X2,i、・・・、Xn−1,i、P1,i、P2,i、P3,i・・・)とすると、送信系列uは、u=(u0,u1,・・・,ui,・・・)Tとあらわされる。
図34において、行列3300は、復号化器3310が用いるパリティ検査行列Hを示している。また、行列3301はLDPC−CC符号化器3204に対応するサブ行列を示し、行列3302はLDPC−CC符号化器3208に対応するサブ行列を示し、行列3303はLDPC−CC符号化器3212に対応するサブ行列を示している。以下同様に、パリティ検査行列Hにおいて、サブ行列が続くことになる。復号化器3310では、最も低い符号化率のパリティ検査行列を保有するようにする。
図33に示す復号化器3310において、BP復号器3313は、サポートする符号化率のうち、最も低い符号化率のパリティ検査行列に基づくBP復号器である。BP復号器3313は、消失データ3311、及び、制御信号3312を入力とする。ここで、消失データ3311とは、「0」「1」がすでに決定しているビットと「0」「1」が未決定(消失)のビットで構成されている。BP復号器3313は、制御信号3312が指定する符号化率に基づいてBP復号を行うことにより消失訂正し、消失訂正後のデータ3314を出力する。
以下、復号化器3310の動作について説明する。
例えば、符号化率(n−1)/nの場合、消失データ3311には、P2、P3、・・・に相当するデータが存在しない。しかし、この場合には、P2、P3、・・・に相当するデータを「0」として、BP復号器3313が復号動作することにより、消失訂正を行うことが可能となる。
同様に、符号化率{(n-1)(m-1))}/(nm)の場合、消失データ3311には、P3、・・・に相当するデータが存在しない。しかし、この場合には、P3、・・・に相当するデータを「0」として、BP復号器3313が復号動作することにより、消失訂正を行うことが可能となる。その他の符号化率の場合についても、BP復号器3313が同様に動作すればよい。
以上のように、復号化器3310は、サポートする符号化率のうち、最も低い符号化率のパリティ検査行列を保有し、このパリティ検査行列を用いて、複数の符号化率におけるBP復号に対応する。これにより、低回路規模で複数符号化率に対応することができ、なおかつ、各符号化率で高い消失訂正能力を得ることができるという効果を得ることができる。
以下では、LDPC−CCを用いて、実際に消失訂正符号化を行う場合の例を説明する。LDPC−CCは畳み込み符号の一種となるため、高い消失訂正能力を得るためには、ターミネーションもしくはテイルバイティングが必要となる。
以下では、一例として、実施の形態2で述べたゼロターミネーション(Zero-termination)を用いる場合について検討する。特に、ターミネーション系列の挿入方法について述べる。
情報ビット数を16384ビットとし、1パケットを構成するビット数を512ビットとする。ここで、符号化率4/5のLDPC−CCを用いて符号化を行う場合を考える。このとき、もし、ターミネーションを行わず、情報ビットに対し符号化率4/5の符号化を行うと、情報ビット数が16384ビットであるので、パリティビット数は、4096(16384/4)ビットとなる。したがって、1パケットが512ビットで構成される場合(ただし、512ビットには、誤り検出符号等の情報以外のビットが含まれないものとする。)、40パケットが生成される。
しかし、このように、ターミネーションを行わずに符号化を行うと、著しく消失訂正能力が低下していまう。この課題を解決するためには、ターミネーション系列を挿入する必要がある。
そこで、以下では、パケットを構成するビット数を考慮したターミネーション系列挿入方法を提案する。
具体的には、提案する方法では、情報ビット(ターミネーション系列を含まない)数、パリティビット数、及びターミネーション系列のビット数の和が、パケットを構成するビット数の整数倍となるように、ターミネーション系列を挿入する。ただし、パケットを構成するビットには、誤り検出符号等の制御情報が含まれず、パケットを構成するビット数は、消失訂正符号化に関連するデータのビット数を意味している。
したがって、上述の例では、512×hビット(hビットは自然数)のターミネーション系列を付加することになる。このようにすると、ターミネーション系列を挿入する効果を得ることができるので、高い消失訂正能力を得ることができるとともに、パケットが効率良く構成されるようになる。
以上より、符号化率(n−1)/nのLDPC−CCを用い、情報ビット数が(n−1)×cビットの場合、cビットのパリティビットが得られる。そして、ゼロターミネーションのビット数dと、1パケットを構成するビット数zとの関係について考える。ただし、パケットを構成するビット数zには、誤り検出符号等の制御情報が含まれず、パケットを構成するビット数zは、消失訂正符号化に関連するデータのビット数を意味している。
このとき、ゼロターミネーションのビット数dを、式(62)が成立するように定めると、ターミネーション系列を挿入する効果を得ることができ、高い消失訂正能力を得ることができるとともに、パケットが効率良く構成されるようになる。
ただし、Aは整数とする。
ただし、(n−1)×cビットの情報ビット中には、パディングを行ったダミーのデータ(本来の情報ビットではなく、符号化を行いやすくするために情報ビットに加えた既知のビット(例えば“0”))が含まれていても良い。なお、パディングについては後述する。
消失訂正符号化を行う場合、図22から分かるように、並び替え部(2215)が存在する。並び替え部は、一般的にRAMを用いて構成される。そのため、並び替え部2215において、あらゆる情報ビットのサイズ(情報サイズ)に対しても、並び替えが対応可能なハードウェアを実現するのは難しい。したがって、並び替え部を、数種類の情報サイズに対して並び替え対応可能にすることが、ハードウェア規模の増大を抑えるためには重要となる。
上述した消失訂正符号を行う場合と、消失訂正符号化を行う場合と行わない場合との両者を簡単に対応することができる。図35は、これらの場合のパケット構成を示している。
消失訂正符号化を行わない場合、情報パケットのみが送信されることになる。
消失訂正符号化を行う場合、例えば、以下のいずれかの方法でパケットを送信する場合を考える。
<1>情報パケットとパリティパケットとを区別してパケットを生成し、送信する。
<2>情報パケットとパリティパケットとに区別せずにパケットを生成し、送信する。
この場合、ハードウェアの回路規模の増大を抑えるためには、消失訂正符号化を行う場合と、行わない場合とに関係なくパケットを構成するビット数zを同一にすることが望まれる。
したがって、消失訂正符号化の際に用いられる情報ビットの数をIとすると、式(63)が成立する必要がある。ただし、情報ビット数次第では、パディングを行う必要がある。
ただし、αは整数とする。また、zは、パケットを構成するビット数であり、パケットを構成するビットには、誤り検出符号等の制御情報が含まれず、パケットを構成するビット数zは、消失訂正符号化に関連するデータのビット数を意味する。
上記の場合、消失訂正符号化を行うために必要となる情報のビット数はα×zビットとなる。しかし、実際には、必ずしもα×zビットの情報が、消失訂正符号化用に揃うわけではなく、α×zビットより少ないビット数しか情報が揃わない場合がある。この場合、ビット数がα×zビットとなるように、ダミーのデータを挿入する方法をとる。したがって、消失訂正符号化用の情報のビット数がα×zビットより少ない場合、ビット数がα×zビットとなるように既知のデータ(例えば「0」)を挿入する。そして、このように生成したα×zビットの情報に対し、消失訂正符号化を行う。
そして、消失訂正符号化を行うことで、パリティビットが得られる。そして、高い消失訂正能力を得るためにゼロターミネーションを行うものとする。このとき、消失訂正符号化により得られるパリティのビット数をC、ゼロターミネーションのビット数をDとすると、式(64)が成立するとパケットが効率良く構成されるようになる。
ただし、βは整数とする。また、zは、パケットを構成するビット数であり、パケットを構成するビットには、誤り検出符号等の制御情報が含まれず、パケットを構成するビット数zは、消失訂正符号化に関連するデータのビット数を意味する。
ここで、パケットを構成するビット数zは、バイト単位で構成することが多々ある。したがって、LDPC−CCの符号化率が(n−1)/nの場合に、式(65)が成立とすると、消失訂正符号化の際、常にパディングビットが必要となるような状況を避けることができる。
したがって、複数符号化率を実現する消失訂正符号化器を構成する際、サポートする符号化率をR=(n
0−1)/n
0、(n
1−1)/n
1、(n
2−1)/n
2、・・・、(n
i−1)/n
i、・・・、(n
v−1)/n
vとすると(i=0、1、2、・・・、v−1、v; vは1以上の整数)、式(66)が成立すると、消失訂正符号化の際、常にパディングビットが必要となるような状況を避けることができる。
この条件に相当する条件を、例えば、図32の消失訂正符号化器の符号化率について考えた場合、式(67−1)〜(67−3)が成立とすると、消失訂正符号化の際、常にパディングビットが必要となるような状況を避けることができる。
上述では、LDPC−CCの場合について説明したが、非特許文献1、非特許文献2、非特許文献3、非特許文献7に示されているQC−LDPC符号、ランダム的なLDPC符号等のLDPC符号(LDPCブロック符号)につても同様に考えることができる。例えば、LDPCブロック符号を消失訂正符号として用い、複数符号化率R=b
0/a
0、b
1/a
1、b
2/a
2、・・・、b
i/a
i、・・・、b
v−1/a
v−1、b
v/a
v(i=0、1、2、・・・、v−1、v; vは1以上の整数;a
iは1以上の整数、b
iは1以上の整数 a
i≧b
i)をサポートする消失訂正符号化器を考える。このとき、式(68)が成立とすると、消失訂正符号化の際、常にパディングビットが必要となるような状況を避けることができる。
また、情報ビット数、パリティビット数、パケットを構成するビット数の関係について、消失訂正符号にLDPCブロック符号を用いる場合を考える。このとき、消失訂正符号化の際に用いられる情報ビットの数をIとすると、式(69)が成立するとよいことになる。ただし、情報ビットの数次第では、パディングを行う必要がある。
ただし、αは整数とする。また、パケットを構成するビット数であり、パケットを構成するビットには、誤り検出符号等の制御情報が含まれず、パケットを構成するビット数zは、消失訂正符号化に関連するデータのビット数を意味する。
上記の場合、消失訂正符号化を行うために必要となる情報のビット数はα×zビットとなる。しかし、実際には、必ずしもα×zビットの情報が、消失訂正符号化用に揃うわけではなく、α×zビットより少ないビット数しか情報が揃わない場合がある。この場合、ビット数がα×zビットとなるように、ダミーのデータを挿入する方法をとる。したがって、消失訂正符号化用の情報のビット数がα×zビットより少ない場合、ビット数がα×zビットとなるように既知のデータ(例えば「0」)を挿入する。そして、このように生成したα×zビットの情報に対し、消失訂正符号化を行う。
そして、消失訂正符号化を行うことで、パリティビットが得られる。このとき、消失訂正符号化により得られるパリティのビット数をCとすると、)式(70)が成立するとパケットが効率良く構成されるようになる。
ただし、βは整数とする。
なお、テイルバイティングを行う場合には、ブロック長が定まることになるので、LDPCブロック符号を消失訂正符号に適用したときと同様に扱うことができる。
(実施の形態6)
本実施の形態では、実施の形態1で述べた「時変周期が3より大きい、パリティ検査多項式に基づくLDPC−CC」に関する重要な事項の説明を行う。
1:LDPC−CC
LDPC−CCは、LDPC−BCと同様に低密度なパリティ検査行列によって定義される符号であり、無限長の時変パリティ検査行列で定義することができるが、実際は、周期的時変のパリティ検査行列で考えることができる。
パリティ検査行列をHとし、シンドロームフォーマーをH
Tとすると、符号化率R=d/c(d<c)のLDPC−CCのH
Tは、式(71)のようにあらわすことができる。
式(71)において、H
T i(t)(i=0,1,・・・,m
s)は、c×(c−d)周期サブ行列であり、周期をT
sとすると
∀i,
∀tに対し、H
T i(t)=H
T i(t+T
s)が成立する。また、M
sはメモリサイズとなる。
式(71)によって定義されるLDPC−CCは時変畳み込み符号であり、この符号を時変LDPC−CCと呼ぶ。復号は、パリティ検査行列Hを用いBP復号が行われる。符号化系列ベクトルuとすると、以下の関係式が成立する。
そして、式(72)の関係式を用いてBP復号を行うことにより、情報系列が得られる。
2:パリティ検査多項式に基づくLDPC−CC
符号化率R=1/2,生成行列G=[1 G1(D)/G0(D)]の組織的畳み込み符号を考える。このとき、G1はフィードフォワード多項式、G0はフィードバック多項式をあらわしている。
情報系列の多項式表現をX(D)、パリティ系列の多項式表現をP(D)とすると0を満たすパリティ検査多項式は以下のようにあらわされる。
ここでは、式(73)を満たす式(74)のように与える。
式(74)において、a
p,b
qは1以上の整数であり(p=1,2,・・・,r;q=1,2,・・・,s)、X(D)およびP(D)にはD
0の項が存在する。式(74)の0を満たすパリティ検査多項式に基づくパリティ検査行列で定義される符号が時不変LDPC−CCとなる。
式(74)に基づく異なるパリティ検査多項式をm個用意する(mは2以上の整数)。その0を満たすパリティ検査多項式を以下のようにあらわす。
このとき、i=0,1,・・・,m−1である。
そして、時点jにおけるデータおよびパリティをX
j,P
jであらわし、u
j=(X
j,P
j)とする。すると、式(76)の0を満たすパリティ検査多項式が成立するものとする。
すると、式(76)から時点jのパリティPjを求めることができる。式(76)の0を満たすパリティ検査多項式に基づき生成されたパリティ検査行列で定義される符号が時変周期mのLDPC−CC(TV-m-LDPC-CC:Time-varying LDPC-CC with a time period of m)となる。
このとき、式(74)で定義される時不変LDPC−CCおよび式(76)で定義されるTV-m-LDPC-CCは、P(D)にはD0の項が存在し、かつ、bjは1以上の整数である。そのため、逐次的にパリティをレジスタおよび排他的論理和で簡単に求めることができるという特徴をもつことになる。
復号部は、時不変LDPC−CCでは式(74)からパリティ検査行列Hを作成し、TV-m-LDPC-CCでは式(76)からパリティ検査行列Hを作成する。そして、復号部は、符号化系列u=(u0,u1,・・・,uj,・・・)Tに対して、式(72)を用いてBP復号を行い、情報系列を得る。
次に、符号化率(n-1)/nの時不変LDPC−CCおよびTV-m-LDPC-CCを考える。時点jにおける情報系列X
1,X
2,・・・,X
n−1およびパリティPをX
2,j,・・・,X
n−1,jおよびP
jとあらわし、u
j=(X
1,j,X
2,j,・・・,X
n−1,j,P
j)とする。そして、情報系列X
1,X
2,・・・,X
n−1の多項式表現をX
1(D),X
2(D),・・・,X
n−1(D)とすると、0を満たすパリティ検査多項式は以下のようにあらわされる。
式(77)に基づく異なるパリティ検査多項式をm個用意する(mは2以上の整数)。その0を満たすパリティ検査多項式を以下のようにあらわす。
このとき、i=0,1,・・・,m−1である。
すると、時点jにおける情報X
1,X
2,・・・,X
n−1およびパリティPのX
1,j,X
2,j,・・・,X
n−1,jおよびP
jに対し、式(79)が成立するものとする。
このとき、式(77)および式(79)に基づく符号が符号化率(n-1)/nの時不変LDPC−CCおよびTV-m-LDPC-CCとなる。
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の作成を試みる。
符号化率(n-1)/nのTV-m-LDPC-CCの#q番目の0を満たすパリティ検査多項式を以下のように与える(q=0,1,・・・,m−1)。
すると、以下のような性質をもつ。
性質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)において以下の関係をもつ。
<1>β=αのとき:
{a#α,p,i mod m=a#β,p,j mod m}∩{i≠j}が成立するとき、図36のようにパリティ検査多項式#αに相当するチェックノード及びパリティ検査多項式#βに相当するチェックノードの両者、とエッジを形成する変数ノード$1が存在する。
{b#α,i mod m=b#β,j mod m}∩{i≠j}が成立するとき、図36のようにパリティ検査多項式#αに相当するチェックノード及びパリティ検査多項式#βに相当するチェックノードの両者、とエッジを形成する変数ノード$1が存在する。
<2>β≠αのとき:
β−α=Lとする。
1)a#α,p,i mod m<a#β,p,j mod mのとき
(a#β,p,j mod m)−(a#α,p,imod m)=Lのとき、図36のようにパリティ検査多項式#αに相当するチェックノード及びパリティ検査多項式#βに相当するチェックノードの両者、とエッジを形成する変数ノード$1が存在する。
2)a#α,p,i mod m>a#β,p,j mod mのとき
(a#β,p,j mod m)−(a#α,p,imod m)=L+mのとき、図36のようにパリティ検査多項式#αに相当するチェックノード及びパリティ検査多項式#βに相当するチェックノードの両者、とエッジを形成する変数ノード$1が存在する。
3)b#α,i mod m<b#β,j mod mのとき
(b#β,j mod m)−(b#α,i mod m)=Lのとき、図36のようにパリティ検査多項式#αに相当するチェックノードとパリティ検査多項式#βに相当するチェックノードの両者とエッジを形成する変数ノード$1が存在する。
4)b#α,i mod m>b#β,j mod mのとき
(b#β,j mod m)−(b#α,i mod m)=L+mのとき、図36のようにパリティ検査多項式#αに相当するチェックノードとパリティ検査多項式#βに相当するチェックノードの両者とエッジを形成する変数ノード$1が存在する。
そして、TV-m-LDPC-CCのサイクル長6(CL6:cycle length of 6)に対し、定理1が成立する。
定理1:TV-m-LDPC-CCの0を満たすパリティ検査多項式において、以下の2つの条件を与える。
C#1.1:a#q,p,imod m=a#q,p,j mod m=a#q,p,k mod mを満足するpおよびqが存在する。ただし、i≠j, i≠k, j≠kとする。
C#1.2:b#q,imod m=b#q,j mod m=b#q,k mod mを満足するqが存在する。ただし、i≠j, i≠k, j≠kとする。
C#1.1またはC#1.2を満足した時、少なくとも1つのCL6が存在する。
証明:
p=1, q=0おいて、a#0,1,imod m=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が存在することが証明できる。
また、q=0のとき上述が証明できれば、同様に考えることで、「q=1,・・・,m-1のときもC#1.1, C#1.2が成立すれば、少なくとも1つのCL6が存在する」ことが証明できる。
したがって、p=1, q=0のとき、a#0,1,imod m=a#0,1,j mod m=a#0,1,k mod mが成立すれば少なくとも1つのCL6が存在することを証明する。
式(80)のTV-m-LDPC-CCの0を満たすパリティ検査多項式に対し、q=0としたときのX1(D)において、2つ以下の項が存在する場合、C#1.1を満たすことはない。
式(80)のTV−m−LDPC−CCの0を満たすパリティ検査多項式に対し、q=0としたときのX
1(D)において、3つの項が存在し、かつ、a
#q,p,i mod m=a
#q,p,j mod m=a
#q,p,kmod mを満足する、とすると、q=0の0を満たすパリティ検査多項式は、式(81)のようにあらわすことができる。
ここで、a#0,1,1>a#0,1,2>a#0,1,3としても一般性は失われず、γ,δは自然数となる。このとき、式(81)において、q=0のとき、X1(D)に関する項、つまり、(Da#0,1,3+mγ+mδ+Da#0,1,3+mδ+Da#0,1,3)X1(D)に着目する。このとき、パリティ検査行列Hにおいて、X1(D)に関する部分のみを抽出して生成されるサブ行列は、図37のようにあらわされる。図37において、h1,X1, h2,X1,・・・, hm−1,X1は、それぞれ式(81)の0を満たすパリティ検査多項式において、q=1,2,・・・,m−1のときのX1(D)に関する部分のみを抽出して生成されるベクトルである。
このとき、図37のような関係が成立するのは、性質1の<1>が成立するからである。したがって、γ,δ値に関わらず、式(81)のパリティ検査行列のX1(D)に関する部分のみを抽出して生成されるサブ行列のみで、図37に示すように、△で示す“1”によって形成されるCL6が必ず発生する。
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が形成される。
以上より、q=0のとき、X1(D)について、a#0,1,i mod m=a#0,1,j mod m=a#0,1,kmod mとなる場合、CL6が存在することになる。
また、X2(D),・・・,Xn−1(D),P(D)についても、X1(D)に置き換えて考えることにより、C#1.1またはC#1.2が成立した場合、CL6が少なくとも1つ発生することになる。
また、同様に考えることで、q=1,・・・,m−1のときについても、C#1.1またはC#1.2を満足した時、少なくとも1つのCL6が存在する。
したがって、式(80)の0を満足するパリティ検査多項式において、C#1.1またはC#1.2が成立した場合、CL6が少なくとも1つ発生する。
□(証明終わり)
以降で扱う符号化率(n−1)/nのTV-m-LDPC-CCの#q番目の0を満たすパリティ検査多項式を式(74)に基づき以下のように与える(q=0,・・・,m−1)。
ここで、式(82)において、X1(D),X2(D),・・・,Xn−1(D),P(D)にはそれぞれ3つの項が存在するものとする。
定理1より、CL6の発生を抑えるために、式(82)のXq(D)において、{a#q,p,1mod m≠a#q,p,2 mod m}∩{a#q,p,1 mod m≠a#q,p,3mod 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,2 mod m≠b#q,3mod m}を満たす必要がある。なお、∩は、積集合(Intersection)である。
そして、性質1から、正則LDPC符号となるための条件の一例として、以下の条件を考える。
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,2 mod m≠a#q,p,3mod m} および{b#q,1 mod m≠b#q,2mod m}∩{b#q,1 mod m≠b#q,3 mod m}∩{b#q,2mod m≠b#q,3 mod m} を満たす。なお、∀qの∀は、全称記号(universal quantifier)であり、∀qは、すべてのqを意味する。
以降の議論では、C#2の条件を満足する正則TV-m-LDPC-CCを扱う。
[正則TV-m-LDPC-CCの符号設計]
非特許文献13には、二元入力対象出力通信路において、一様ランダムな正則LDPC符号を最尤復号したときの復号誤り率が示されており、一様ランダムな正則LDPC符号によってGallagerの信頼度関数(非特許文献14参照)が達成できることが示されている。ただし、BP復号を行ったときに、一様ランダムな正則LDPC符号によりGallagerの信頼度関数が達成できるかどうかは不明である。
ところで、LDPC-CCは、畳み込み符号のクラスに属している。畳み込み符号の信頼度関数については、非特許文献15及び非特許文献16に示されており、その信頼度は拘束長に依存していることが示されている。LDPC-CCは畳み込み符号であるので、パリティ検査行列において、畳み込み符号特有の構造をもつものの、時変周期を大きくすると、パリティ検査行列の「1」の存在する位置が一様ランダムに近づく。ただし、LDPC-CCは畳み込み符号であるため、パリティ検査行列は畳み込み符号特有の構造をもつこと、および、「1」の存在する位置は拘束長に依存することになる。
これらの結果から、C#2の条件を満足する正則TV-m-LDPC-CCにおいて、符号設計に関して推論#1の推論を与える。
推論#1:
BP復号を用いたとき、C#2の条件を満足する正則TV-m-LDPC-CCにおいて、TV-m-LDPC-CCの時変周期mが大きくなると、パリティ検査行列において、「1」の存在する位置に対し、一様ランダムに近づき、誤り訂正能力の高い符号が得られる。
そして、推論#1を実現するための方法について以下では議論を行う。
[正則TV-m-LDPC-CCの性質]
本議論で扱う符号化率(n-1)/nのC#2の条件を満足する正則TV-m-LDPC-CCの#q番目の0を満たすパリティ検査多項式である式(82)に関する、ツリーを描いた際に成り立つ性質を述べる。
性質2:
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,imod m≠a#q,p,j mod mが成立する(q=0,・・・,m−1)。ただし、i≠jである。
C#2の条件を満足する正則TV-m-LDPC-CCの0を満たすパリティ検査多項式(82)において、C#3.1を満たすDa#q,p,iXp(D), Da#q,p,jXp(D)に対応する変数ノードのみに限ってツリーを描く場合を考える。
このとき、性質1から、式(82)の0を満たす#q番目のパリティ検査多項式に相当するチェックノードを起点とするツリーには、∀qに対して、#0から#m−1のすべてのパリティ検査多項式に相当するチェックノードが存在する。
同様に、C#2の条件を満足する正則TV-m-LDPC-CCにおいて、時変周期mが素数の場合、P(D)の項に着目し、C#3.2が成立する場合を考える。
C#3.2:C#2の条件を満足する正則TV-m-LDPC-CCの0を満たすパリティ検査多項式(82)において、∀qに対して、P(D)においてb#q,i mod m≠b#q,j mod mが成立する。ただし、i≠jである。
C#2の条件を満足する正則TV-m-LDPC-CCの0を満たすパリティ検査多項式(82)において、C#3.2を満たすDb#q,iP(D), Db#q,jP(D)に対応する変数ノードのみに限ってツリーを描く場合を考える。
このとき、性質1から、式(82)の0を満たす#q番目のパリティ検査多項式に相当するチェックノードを起点とするツリーには、∀qに対して、#0から#m−1のすべてのパリティ検査多項式に相当するチェックノードが存在する。
例:C#2の条件を満足する正則TV-m-LDPC-CCの0を満たすパリティ検査多項式(82)において、時変周期m=7(素数)とし、∀qに対し、(b#q,1,b#q,2)=(2,0)が成立するものとする。したがって、C#3.2を満たす。
そして、Db#q,1P(D), Db#q,2P(D)に対応する変数ノードのみに限ってツリーを描いたとき、式(82)の0を満たす#0番目のパリティ検査多項式に相当するチェックノードを起点とするツリーは図38のようにあらわされる。図38からわかるように、時変周期m=7は、性質2を満たす。
性質3:
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,jmod mのとき、|a#q,p,i mod m−a#q,p,j mod m|がmの1を除く約数である。ただし、i≠jである。
C#2の条件を満足する正則TV-m-LDPC-CCの0を満たすパリティ検査多項式(82)において、C#4.1を満たすDa#q,p,iXp(D), Da#q,p,jXp(D)に対応する変数ノードのみに限ってツリーを描く場合を考える。このとき、性質1から、式(82)の0を満たす#q番目のパリティ検査多項式に相当するチェックノードを起点とするツリーには、∀qに対して、#0から#m−1のすべてのパリティ検査多項式に相当するチェックノードは存在しない。
同様に、C#2の条件を満足する正則TV-m-LDPC-CCにおいて、時変周期mが素数でない場合、P(D)の項に着目し、C#4.2が成立する場合を考える。
C#4.2:C#2の条件を満足する正則TV-m-LDPC-CCの0を満たすパリティ検査多項式(82)において、∀qに対して、P(D)においてb#q,i mod m≧b#q,j mod mのとき、|b#q,i mod m−b#q j mod m|がmの1を除く約数である。ただし、i≠jである。
C#2の条件を満足する正則TV-m-LDPC-CCの0を満たすパリティ検査多項式(82)において、C#4.2を満たすDb#q,iP(D), Db#q,jP(D)に対応する変数ノードのみに限ってツリーを描く場合を考える。このとき、性質1から、式(82)の0を満たす#q番目のパリティ検査多項式に相当するチェックノードを起点とするツリーには、∀qに対して、#0から#m−1のパリティ検査多項式に相当するチェックノードすべてが存在することはない。
例:C#2の条件を満足する正則TV-m-LDPC-CCの0を満たすパリティ検査多項式(82)において、時変周期m=6(素数でない)とし、∀qに対し、(b#q,1,b#q,2)=(3,0)が成立するものとする。したがって、C#4.2を満たす。
そして、Db#q,1P(D), Db#q,2P(D)に対応する変数ノードのみに限ってツリーを描いたとき、式(82)の0を満たす#0番目のパリティ検査多項式に相当するチェックノードを起点とするツリーは図39のようにあらわされる。図39からわかるように、時変周期m=6は、性質3を満たす。
次に、C#2の条件を満足する正則TV-m-LDPC-CCにおいて、時変周期mが特に偶数のときに関する性質を述べる。
性質4:
C#2の条件を満足する正則TV-m-LDPC-CCにおいて、時変周期mが偶数の場合、X1(D),・・・,Xn-1(D)のいずれかの項に着目し、C#5.1が成立する場合を考える。
C#5.1:C#2の条件を満足する正則TV-m-LDPC-CCの0を満たすパリティ検査多項式(82)において、∀qに対して、Xp(D)においてa#q,p,i mod m≧a#q,p,jmod mのとき、|a#q,p,i mod m−a#q,p,j mod m|が偶数である。ただし、i≠jである。
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#2の条件を満足する正則TV-m-LDPC-CCにおいて、時変周期mが偶数の場合、P(D)の項に着目し、C#5.2が成立する場合を考える。
C#5.2:C#2の条件を満足する正則TV-m-LDPC-CCの0を満たすパリティ検査多項式(82)において、∀qに対して、P(D)においてb#q,i mod m≧b#q,j mod mのとき、|b#q,i mod m−b#q,jmod m|が偶数である。ただし、i≠jである。
C#2の条件を満足する正則TV-m-LDPC-CCの0を満たすパリティ検査多項式(82)において、C#5.2を満たすDb#q,iP(D), Db#q,jP(D)に対応する変数ノードのみに限ってツリーを描く場合を考える。このとき、性質1から、式(82)の0を満たす#q番目のパリティ検査多項式に相当するチェックノードを起点とするツリーには、qが奇数のとき、奇数番目のパリティ検査多項式に相当するチェックノードしか存在しない。また、qが偶数のとき、式(82)の0を満たす#q番目のパリティ検査多項式に相当するチェックノードを起点とするツリーには、偶数番目のパリティ検査多項式に相当するチェックノードしか存在しない。
[正則TV-m-LDPC-CCの設計方法]
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#6.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のパリティ検査多項式に相当するチェックノードすべてが存在することはない。
C#6.1,C#6.2のような場合、「∀qに対して、#0から#m−1のパリティ検査多項式に相当するチェックノードすべてが存在することはない。」ことから、推論#1における、時変周期を大きくしたときの効果は得られない。したがって、上記を考慮し、高い誤り訂正能力を与えるために以下の設計指針を与える。
[設計指針]:C#2の条件を満足する正則TV-m-LDPC-CCにおいて、X1(D),・・・, Xn-1(D)のいずれかの項に着目し、C#7.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#2の条件を満足する正則TV-m-LDPC-CCにおいて、P(D)の項に着目し、C#7.2の条件を与える。
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のすべてのパリティ検査多項式に相当するチェックノードが存在する。
そして、本設計指針では、C#7.1が∀(i,j)で成立するとともに、∀pで成立し、C#7.2が∀(i,j)で成立するものとする。
すると、推論#1を満たすことになる。
次に、設計指針に関する定理について述べる。
定理2:設計指針を満たすためには、a#q,p,i mod m≠a#q,p,jmod mおよびb#q,i mod m≠b#q,jmod mを満たさなければならない。ただし、i≠jである。
証明:C#2の条件を満足する正則TV-m-LDPC-CCの0を満たすパリティ検査多項式の式(82)において、Da#q,p,iXp(D), Da#q,p,jXp(D)に対応する変数ノードのみに限ってツリーを描くと、定理2を満たした場合、式(82)の0を満たす#q番目のパリティ検査多項式に相当するチェックノードを起点するツリーには、#0から#m-1のすべてのパリティ検査多項式に相当するチェックノードが存在する。これが、すべてのpに対し、成立する。
同様に、C#2の条件を満足する正則TV-m-LDPC-CCの0を満たすパリティ検査多項式の式(82)において、Db#q,iP(D), Db#q,jP(D)に対応する変数ノードのみに限ってツリーを描くと、定理2を満たした場合、式(82)の0を満たす#q番目のパリティ検査多項式に相当するチェックノードを起点するツリーには、#0から#m-1のすべてのパリティ検査多項式に相当するチェックノードが存在する。
したがって、定理2は証明された。
□(証明終わり)
定理3:C#2の条件を満足する正則TV-m-LDPC-CCにおいて、時変周期mが偶数の場合、設計指針を満たす符号は存在しない。
証明:C#2の条件を満足する正則TV-m-LDPC-CCの0を満たすパリティ検査多項式(82)において、p=1とし、設計指針を満たすことがないことが証明できれば、定理3は証明されたことになる。したがって、p=1として証明を進める。
C#2の条件を満足する正則TV-m-LDPC-CCでは、(Np,1,Np,2,Np,3)=(“o”,“o”,“o”)∪(“o”,“o”,“e”)∪(“o”,“e”,“e”)∪(“e”,“e”,“e”)がすべての場合をあらわすことができる。ただし、“o”は奇数、“e”は偶数をあらわしている。したがって、(Np,1,Np,2,Np,3)=(“o”,“o”,“o”)∪(“o”,“o”,“e”)∪(“o”,“e”,“e”)∪(“e”,“e”,“e”)において、C#7.1は満たさないことを示す。なお、∪は和集合(union)である。
(Np,1,Np,2,Np,3)=(“o”,“o”,“o”)のとき、C#5.1において、i,j=1,2,3(i≠j)を満たすように(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を満たす。
(Np,1,Np,2,Np,3)=(“e”,“e”,“e”)のとき、C#5.1において、i,j=1,2,3(i≠j)を満たすように(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の約数の数が少ないこと。
特に、「時変周期mが奇数であり、かつ、mの約数の数が少ないこと」という点を考慮すると、誤り訂正能力が高い符号が得られる可能性が高い条件の例として以下が考えられる。
(1)時変周期をα×βとする。
ただし、α、βは、1を除く奇数であり、かつ、素数。
(2)時変周期をαnとする。
ただし、αは、1を除く奇数であり、かつ、素数であり、nは2以上の整数。
(3)時変周期をα×β×γとする。
ただし、α、β、γは、1を除く奇数であり、かつ、素数。
ただし、z mod mの演算(zは0以上の整数)を行ったときにとる値はm個あり、したがって、mが大きくなるとz mod mの演算を行ったときにとる値の数は増加する。よって、mを増大させると、上述の設計指針を満たすことが容易となる。ただし、時変周期mが偶数とすると高い誤り訂正能力をもつ符号が得られない、というわけではない。
4:符号探索例と特性評価
符号探索例:
表9に、これまでに検討してきた時変周期2,3のパリティ検査多項式に基づくLDPC-CCの例(表9の#1,#2)を示す。また、前述の設計指針を満たす時変周期11の正則TV11-LDPC-CCの例(表9の#3)を表9に示す。ただし、符号を探索する際に設定した符号化率R=2/3とし、最大拘束長K
maxは600とする。
BER特性の評価:
図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(energy per bit-to-noise spectral density ratio)に対するBERの関係(BER特性)を示す図である。ただし、シミュレーションにおいて、変調方式はBPSK(Binary Phase Shift Keying)とし、復号方法として、Normalized BP (1/v=0.75)に基づくBP復号を用いており、反復回数I=50とする。ここで、vは正規化係数である。
図40に示すように、Eb/No=2.0以上において、正則TV11-LDPC-CCのBER特性は、TV2-LDPC-CC、TV3-LDPC-CCのBER特性より優れた特性を示すことがわかる。
以上より、前述で議論した設計指針に基づく時変周期の大きいTV-m-LDPC-CCは、TV2-LDPC-CC、TV3-LDPC-CCより優れた誤り訂正能力を得ることが確認でき、前述で議論した設計指針の有効性を確認することができる。
(実施の形態7)
本実施の形態では、実施の形態1で述べた符号化率(n−1)/nの時変周期h(hは4以上の整数)のLDPC−CCを消失訂正方式に適用する場合において、パケットレイヤーでの消失訂正符号化処理部における並び替え方法について説明する。なお、本実施の形態に係る消失訂正符号化処理部の構成は、図22又は図23等に示す消失訂正符号化処理部と共通するため、図22又は図23を援用して説明する。
先に示した図8は、実施の形態1で述べた符号化率(n−1)/nの時変周期m(のLDPC−CCを用いたときのパリティ検査行列の一例を示している。符号化率(n−1)/n、時変周期hのg番目(g=0、1、・・・、h−1)のパリティ検査多項式が式((83)のようにあらわされる。
図8に示されているパリティ検査行列を参照すると、符号化率(n−1)/n、時変周期hのg番目(g=0、1、・・・、h−1)のパリティ検査多項式(83)に対応するパリティ検査行列は、図41のようにあらわされる。このとき、時点kにおける情報X1、X2、・・・、Xn−1およびパリティPをX
1,k、X
2,k、・・・、X
n−1,k、P
kとあらわす。
図41において、符番5501が付された部分は、パリティ検査行列の行の一部であり、式(83)の0番目の0を満たすパリティ検査多項式に相当するベクトルである。同様に、符番5502が付された部分は、パリティ検査行列の行の一部であり、式(83)の1番目の0を満たすパリティ検査多項式に相当するベクトルである。
そして、符番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)参照)。
同様に、符番5504が付された「11111」は、式(83)の1番目の0を満たすパリティ検査多項式のX1(D)、X2(D)、X3(D)、X4(D)、P(D)の項に相当するものである。そして、時点k+1におけるX1,k+1、X2,k+1、・・・、Xn−1,k+1、Pk+1と照らし合わせた場合、符番5515の「1」はX1,k+1、符番5516の「1」はX2,k+1、符番5517の「1」はX3,k+1、符番5518の「1」はX4,k+1、符番5519の「1」はPk+1に対応するものとなる(式(60)参照)。
次に、情報パケットとパリティパケットとが別々に構成される場合(図22参照)における情報パケットの情報ビットの並び替え方法について、図42を用いて説明する。
図42は、情報パケットとパリティパケットとが別々に構成される場合の並び替えパターンの一例を示す図である。
パターン$1は消失訂正能力が低いパターン例を示し、パターン$2は消失訂正能力が高いパターン例を示している。図42において、#Zは、Z番目のパケットのデータであることを示している。
パターン$1では、時点kのX1,k、X2,k、X3,k、X4,kにおいて、X1,kおよびX4,kが同一のパケット(パケット#1)のデータとなっている。同様に、時点k+1においても、X3,k+1およびX4,k+1同一のパケット(パケット#2)のデータとなっている。このとき、例えば、パケット#1を消失(ロス:loss)した場合、BP復号における行演算により消失ビット(X1,kおよびX4,k)を復元することが困難である。同様に、パケット#2を消失(ロス:loss)した場合、BP復号における行演算により消失ビット(X3,k+1およびX4,k+1)を復元することは困難である。以上の点から、パターン$1は消失訂正能力が低いパターン例といえる。
一方、パターン$2では、全ての時点kにおいて、X1,k、X2,k、X3,k、X4,kにおいて、X1,k、X2,k、X3,k、X4,kは、異なるパケット番号のデータで構成されているものとする。このとき、BP復号における行演算により、消失ビットを復元できる可能性が高くなるので、パターン$2は消失訂正能力が高いパターンの例といえる。
このようにように、情報パケットとパリティパケットとが別々に構成される場合(図22参照)、並び替え部2215は、並び替えパターンを上述のようなパターン$2とすればよいことになる。すなわち、並び替え部2215は、情報パケット2243(情報パケット#1〜#n)を入力とし、全ての時点kにおいて、X1,k、X2,k、X3,k、X4,kが、異なるパケット番号のデータが割り当てられるように、情報の順番を並び替えるようにするとよい。
次に、情報パケットとパリティパケットとが区別なく構成される場合(図23参照)における情報パケットの情報ビットの並び替え方法について、図43を用いて説明する。
図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同一のパケットのデータとなっている。
このとき、例えば、パケット#1をロスした場合、BP復号における行演算により消失ビット(X1,kおよびPk)を復元することが困難である。同様に、パケット#2をロスした場合、BP復号における行演算により消失ビット(X3,k+1およびX4,k+1)を復元することはできず、また、パケット#5をロスした場合、BP復号における行演算により消失ビット(X2,k+2およびPk+2)を復元することは困難である。以上の点から、パターン$1は消失訂正能力が低いパターン例といえる。
一方、パターン$2では、全ての時点kにおいて、X1,k、X2,k、X3,k、X4,k、Pkにおいて、X1,k、X2,k、X3,k、X4,k、Pkは、異なるパケット番号のデータで構成されているものとする。このとき、BP復号における行演算により、消失ビットを復元できる可能性が高くなるので、パターン$2は消失訂正能力が高いパターンの例といえる。
このように、情報パケットとパリティパケットとが区別なく構成される場合(図23参照)、消失訂正符号化部2314は、並び替えパターンを上述のようなパターン$2とすればよいことになる。すなわち、消失訂正符号化部2314は、全ての時点kにおいて、情報X1,k、X2,k、X3,k、X4,kおよびパリティPkが、パケット番号が異なるパケットに割り当てられるように、情報およびパリティを並び替えるようにするとよい。
以上のように、本実施の形態では、実施の形態1で述べた符号化率(n−1)/nの時変周期h(hは4以上の整数)のLDPC−CCを消失訂正方式に適用する場合において、パケットレイヤーでの消失訂正符号化部における並び替え方法として、消失訂正能力を向上させるための具体的に構成について提案した。ただし、時変周期hは、4以上に限ったものではなく、時変周期が2、3の場合においても、同様の並べ替えを行うことにより、消失訂正能力を向上させることができる。
(実施の形態8)
本実施の形態では、物理層より上位の層における符号化方法(パケットレベルでの符号化方法)の詳細について説明する。
図44は、物理層より上位の層における符号化方法の一例を示している。図44において、誤り訂正符号の符号化率は2/3とし、1パケットにおける制御情報、誤り検出符号等の冗長な情報を除いたデータサイズを512ビットとする。
図44において、物理層より上位の層における符号化(パケットレベルでの符号化)を行う符号化器では、情報パケット#1から#8に対し、並び替えの後に、符号化が行われ、パリティビットが求まる。そして、符号化器は、求まったパリティビットを512ビット束ねて、一つのパリティパケットを構成する。ここでは、符号化器がサポートする符号化率が2/3であるので、パリティパケットが4つ、つまり、パリティパケット#1から#4が生成される。よって、他の実施の形態で説明した情報パケットは、図44の情報パケット#1から#8に相当し、パリティパケットは、図44のパリティパケット#1から#4に相当する。
なお、パリティパケットのサイズの簡単な設定方法としては、パリティパケットのサイズと情報パケットのサイズを同一サイズとする方法がある。ただし、これらサイズが同一でなくてもよい。
図45は、図44とは異なる物理層より上位の層における符号化方法の一例を示している。図45において、情報パケット#1から#512は元となる情報パケットであり、1パケットにおける制御情報、誤り検出符号等の冗長な情報を除いたデータサイズを512ビットとする。そして、符号化器は、情報パケット#k(k=1、2、・・・、511、512)を8分割し、サブ情報パケット#k−1、#k−2、・・・、#k−8を生成する。
そして、符号化器は、サブ情報パケット#1−n、#2−n、#3−n、・・・、#511−n、#512−n(n=1、2、3、4、5、6、7、8)に対し符号化を施し、パリティ群#nを形成する。そして、図46のように、パリティ群#nをm個に分割し、(サブ)パリティパケット#n−1、#n−2、・・・、#n−mが構成される。
よって、実施の形態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パケットとが必ずしも同一サイズである必要はない。
なお、符号化器は、情報パケットを分割することにより得られたサブ情報パケット自身を、情報パケットの1パケットとみなしてもよい。
別の方法として、実施の形態5で説明した情報パケットを、本実施の形態で説明したサブ情報パケット#k−1、#k−2、・・・、#k−8(k=1、2、・・・、511、512)として考えても、実施の形態5は実施することができる。特に、実施の形態5では、ターミネーション系列の挿入方法、パケットの構成方法について述べた。ここで、本実施の形態の「サブ情報パケット」、「サブパリティパケット」を、それぞれ、実施の形態5で説明している「サブ情報パケット」、「パリティパケット」と考えても、実施の形態5は実施することができる。ただし、サブ情報パケットを構成するビット数とサブパリティパケットを構成するビット数とが等しいと実施しやすい。
実施の形態5において、情報パケットには情報以外のデータ(例えば、誤り検出符号)が付加されることになる。また、実施の形態5において、パリティパケットにはパリティビット以外のデータが付加されることになる。しかし、これら情報ビット及びパリティビット以外のデータを含まず、情報パケットのうち情報ビットのビット数に関する場合に適用した場合、また、パリティパケットのうちパリティビットののビット数に関する場合に適用した場合、式(62)〜式(70)に示すターミネーションに関する条件は、重要な条件となる。
(実施の形態9)
実施の形態1では、特性が良好なLDPC−CCについて説明した。本実施の形態では、実施の形態1で説明したLDPC−CCを物理層に適用する場合に、符号化率を可変とするショートニング方法について説明する。ショートニングとは、第1の符号化率の符号から第2の符号化率(第1の符号化率>第2の符号化率)の符号を生成することをいう。
以下では、一例として、実施の形態1で述べた符号化率1/2の時変周期h(hは4以上の整数)のパリティ検査多項式に基づくLDPC−CCから符号化率1/3のLDPC−CCを生成するショートニング方法について説明する。
符号化率1/2、時変周期hのg番目(g=0、1、・・・、h−1)のパリティ検査多項式が式(84)のようにあらわされる場合について考える。
式(84)において、a
#g,1,1、a
#g,1,2は1以上の自然数とし、a
#g,1,1≠a
#g,1,2が成立するものとする。また、b
#g,1、b
#g,2は1以上の自然数とし、b
#g,1≠b
#g,2が成立するものとする(g=0、1、2、・・・、h−2、h−1)。
そして、式(84)は、以下の<条件#17>を満たしているものとする。
<条件#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−1の挿入ルールとの差異を主に記載する。
[方法#1−2]
方法#1−2では、方法#1−1と異なり、図47に示すように、情報及びパリティから構成される2×h×2kビットを1周期とし、各周期において、既知情報を同じ位置に挿入する(方法#1−2の挿入ルール)。
図48を例に用いて、既知情報の挿入規則(方法#1−2の挿入ルール)について、方法#1−1との差異について説明する。
図48には、時変周期が4のとき、情報及びパリティから構成される16ビットを1周期とした場合の例を示している。このとき、方法#1−2では、最初の1周期において、X0、X2、X4、X5に既知情報(例えば、ゼロ(1でもよいし、予め定めた値でもよい))を挿入する。
また、方法#1−2では、次の1周期では、X8、X10、X12、X13に既知情報(例えば、ゼロ(1でもよいし、予め定めた値でもよい))を挿入し、・・・、i番目の1周期では、X8i、X8i+2、X8i+4、X8i+5に既知情報を挿入する。i番目以降についても、同様に、方法#1−2では、各周期において、既知情報が挿入される位置を同じとする。
次に、方法#1−2では、[方法#1−1]と同様に、例えば、情報2hkビットのうちhkビットに既知情報を挿入し、既知情報を含む2hkビットの情報に対し符号化率1/2のLDPC−CCを用いて符号化を行う。
これにより、2hkビットのパリティが生成される。このとき、hkビットの既知情報を送信しないビットとすると、符号化率1/3を実現することができる。
以下、既知情報を挿入する位置と誤り訂正能力との関係は、例として、図49を用いて説明する。
図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復号の行演算において、信頼性が高い対数尤度比の更新を行うことができるようになる。
すなわち、既知情報を挿入することで、元の符号化率より小さい符号化率を実現する場合、検査行列における各行、つまり、パリティ検査多項式において、パリティと情報のうち、情報において、全て既知情報である行、または、既知情報の数が多い行(例えば、1ビット以外は既知情報)を多くすることが、高い誤り訂正能力を得るうえで重要となる。
時変LDPC−CCの場合には、パリティ検査行列Hにおいて、要素“1”が配置されるパターンに規則性がある。そのため、パリティ検査行列Hに基づいて、各周期において、既知情報を規則的に挿入することにより、未知の値がパリティのみである行、又は、パリティ及び情報が未知の場合に、未知の情報のビット数が少ない行を多くすることができる。この結果、良好な特性を与える符号化率1/3のLDPC−CCを得ることができる。
以下の[方法#1−3]によると、実施の形態1で説明した特性が良好な符号化率1/2、時変周期h(hは4以上の整数)のLDPC−CCから、誤り訂正能力の高い、符号化率1/3、時変周期hの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に、既知情報(例えば、ゼロ)を挿入する。
ただし、jは、2hi〜2h(i+k−1)+2h−1のいずれかの値をとり、h×k個の異なる値が存在する。また、既知情報は、1でもよいし、予め定めた値でもよい。
このとき、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の各行において、つまり、パリティ検査多項式において、情報が全て既知情報となる行、または、既知情報の数が多い行(例えば、1ビット以外は既知情報)をできるだけ多くすることができるようになる。
上記で説明した時変周期hのLDPC−CCは、<条件#17>を満たしている。このとき、g番目(g=0、1、・・・、h−1)のパリティ検査多項式は式(84)のようにあらわされるので、パリティ検査行列内の式(84)のパリティ検査多項式に対応するサブ行列(ベクトル)は、図50のようにあらわされる。
図50において、符番4101の「1」はDa#g,1,1X1(D)に対応する。また、符番4102の「1」はDa#g,1,2X1(D)に対応する。また、符番4103の「1」はX1(D)に対応する。また、符番4104はP(D)に対応する。
このとき、符番4103の「1」の時点をjとしXjとあらわすと、符番4101の「1」はXj−a#g,1,1とあらわされ、符番4102の「1」はXj−a#g,1,2とあらわされる。
したがって、jを基準位置として考えると、符番4101の「1」はvp=1の倍数の位置にあり、符番4102の「1」はyp=1の倍数の位置にある。また、これは、gに依存しない。
このことを考慮すると、以下のことが言える。すなわち、「既知情報を挿入する位置に条件を設けることにより、パリティ検査行列Hの各行において、つまり、パリティ検査多項式において、情報が全て既知情報となる行、または、既知情報の数が多い行(例えば、1ビット以外は既知情報)をできるだけ多くする」ためには、[方法#1−3]は重要な要件の一つとなる。
例として、時変周期h=4とし、vp=1=1、yp=1=2であるものとする。図48において、4×2×2×1ビット(つまりk=1)を1周期とし、情報及びパリティX8i、P8i、X8i+1、P8i+1、X8i+2、P8i+2、X8i+3、P8i+3、X8i+4、P8i+4、X8i+5、P8i+5、X8i+6、P8i+6、X8i+7、P8i+7のうち、X8i、X8i+2、X8i+4、X8i+5に既知情報(例えば、ゼロ(1でもよいし、予め定めた値でもよい))を挿入する場合について考える。
この場合、既知情報を挿入したXjのjとしては、8i、8i+2、8i+4、8i+5の4つの異なる値が存在する。このとき、8iを4で除算した余りは0となり、8i+2を4で除算した余りは2となり、8i+4を4で除算した余りは0となり、8i+5を4で除算した余りは1となる。したがって、余りが0となる個数が2個となり、余りがvp=1=1となる個数が1個となり、余りがyp=1=2となる個数が1個となり、上記[方法#1−3]の挿入ルールが満たされる(ただし、γ=0となる。)。よって、図48に示す例は、上記[方法#1−3]の挿入ルールを満たす一例といえる。
[方法#1−3]のより厳しい条件として、以下の[方法#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でもよいし、予め定めた値でもよい。
このとき、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>参照。)このようなγが少なくとも一つ存在する。
上記を満たさないγでは、「余りが(0+γ) mod hとなる個数」、「余りが(vp=1+γ) mod hとなる個数」、「余りが(yp=1+γ) mod hとなる個数」はゼロとなる。
また、[方法#1−3]をより効果的に実施するためには、上述の時変周期hの<条件#17>のパリティ検査多項式に基づくLDPC−CCにおいて、以下の3つのいずれかの条件を満たすとよい(方法#1−3’の挿入ルール)。ただし、<条件#17>において、vp=1<yp=1とする。
・yp=1−vp=1=vp=1−0 つまり yp=1=2×vp=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は特有のパリティ検査行列の構成をもつからである。
次に、実施の形態1で述べた符号化率(n−1)/n(nは2以上の整数)の時変周期h(hは4以上の整数)のLDPC−CCから符号化率(n−1)/nより小さい符号化率を実現するショートニング方法について説明する。
符号化率(n−1)/n、時変周期hのg番目(g=0、1、・・・、h−1)のパリティ検査多項式が式(85)のようにあらわされる場合について考える。
式(85)において、a
#g,p,1、a
#g,p,2は1以上の自然数とし、a
#g,p,1≠a
#g,p,2、が成立するものとする。また、b
#g,1、b
#g,2は1以上の自然数とし、b
#g,1≠b
#g,2が成立するものとする(g=0、1、2、・・・、h−2、h−1;p=1、2、・・・、n−1)。
そして、式(85)において、以下の<条件#18−1><条件#18−2>を満たしているものとする。
<条件#18−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:固定値)」
<条件#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]
方法#2−1では、情報Xに規則的に既知情報(例えば、ゼロ(1でもよいし、予め定めた値でもよい))を挿入する(方法#2−1の挿入ルール)。
[方法#2−2]
方法#2−2では、方法#2−1と異なり、図51に示すように、情報及びパリティから構成されるh×n×kビットを1周期とし、各周期において、既知情報を同じ位置に挿入する(方法#2−2の挿入ルール)。各周期において、既知情報を同じ位置に挿入するとは、図48を用いて上述の[方法#1−2]で説明した通りである。
[方法#2−3]
方法#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の挿入ルール)。
このとき、方法#2−3は、既知情報を挿入した情報X1,j(ただし、jは、hi〜h(i+k−1)+h−1のいずれかの値をとる。)において、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以下とする。このようなγが少なくとも一つ存在する。
同様に、方法#2−3では、既知情報を挿入した情報X2,j(ただし、jは、hi〜h(i+k−1)+h−1のいずれかの値をとる。)において、jすべてに対し、hで除算したときの余りを求める。
すると、
「余りが(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以下とする。このようなγが少なくとも一つ存在する。
なお、方法#2−3では、情報Xf,j(f=1、2、3、・・・、n−1)とした場合においても、同様に説明ができる。方法#2−3では、既知情報を挿入したXf,j(ただし、jは、hi〜h(i+k−1)+h−1のいずれかの値をとる。)において、jすべてに対し、hで除算したときの余りを求める。すると、
「余りが(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以下とする。このようなγが少なくとも一つ存在する。
このようにして、既知情報を挿入する位置に条件を設けることにより、[方法#1−3]と同様に、パリティ検査行列Hにおいて、「未知の値がパリティ及び少ない情報ビットという行」をより多く生成することができるようになる。これにより、上記で述べた特性が良好な符号化率(n−1)/nの時変周期hのLDPC−CCを用いて誤り訂正能力の高い符号化率(n−1)/nより小さい符号化率を実現することができる。
[方法#2−3]では、挿入される既知情報の数が各周期で同じ場合について説明したが、挿入される既知情報の数が各周期で異なっていても良い。例えば、図52に示すように、最初の周期ではN0個の情報を既知情報とし、次の周期ではN1個の情報を既知情報とし、i番目の周期では、Ni個の情報を既知情報とするようにしても良い。
このように、挿入される既知情報の数が各周期で異なる場合には、周期という概念は意味をなさない。方法#2−3の挿入ルールを、周期という概念を用いずにあらわすと、[方法#2−4]のようになる。
[方法#2−4]
情報及びパリティから構成されるデータ系列において、情報X1,0、X2,0、・・・、Xn−1,0、・・・・・・、X1,v、X2,v、・・・、Xn−1,vのビット系列からZビット選択し、選択したZビットに既知情報(例えば、ゼロ(1でもよいし、予め定めた値でもよい))を挿入する(方法#2−4の挿入ルール)。
このとき、方法#2−4では、既知情報を挿入したX1,j(ただし、jは、0〜vのいずれかの値をとる。)において、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以下とする。このようなγが少なくとも一つ存在する。
同様に、方法#2−4では、既知情報を挿入したX2,j(ただし、jは、0〜vのいずれかの値をとる。)において、jすべてに対し、hで除算したときの余りを求める。すると、「余りが(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以下とする。このようなγが少なくとも一つ存在する。
つまり、方法#2−4では、既知情報を挿入したXf,j(ただし、jは、0〜vのいずれかの値をとる。)において、jすべてに対し、hで除算したときの余りを求める。すると、「余りが(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以下とする(f=1、2、3、・・・、n−1)。このようなγが少なくとも一つ存在する。
このようにして、既知情報を挿入する位置に条件を設けることにより、周期毎に挿入される既知情報のビット数が異なるような場合(または、周期という概念がない場合)においても、[方法#2−3]と同様に、検査行列Hにおいて、「未知の値がパリティ及び少ない情報ビットという行」をより多く生成することができるようになる。これにより、上記で述べた特性が良好な符号化率(n−1)/nの時変周期hのLDPC−CCを用いて誤り訂正能力の高い符号化率(n−1)/nより小さい符号化率を実現することができる。
また、[方法#2−3]、[方法#2−4]をより効果的に実施するためには、上述の時変周期hの<条件#18−1><条件#18−2>のパリティ検査多項式に基づくLDPC−CCにおいて、以下の3つのいずれかの条件を満たすとよい。ただし、<条件#18−1><条件#18−2>において、vp=s<yp=s(s=1、2、・・・、n−1)とする。
・yp=s−vp=s=vp=s−0 つまり yp=s=2×vp=s
・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は特有のパリティ検査行列の構成をもつからである。
以上、通信装置は、通信相手にとって既知の情報を挿入し、既知の情報を含んだ情報に対し、符号化率1/2の符号化を行い、パリティビットを生成する。そして、通信装置は、既知の情報を送信せず、既知の情報以外の情報と求めたパリティビットを送信することにより、符号化率1/3を実現する。
図53は、物理層において符号化率を可変とする場合の符号化に関連する部分(誤り訂正符号化部44100及び送信装置44200)の構成の一例を示すブロック図である。
既知情報挿入部4403は、情報4401及び制御信号4402を入力とし、制御信号4402に含まれる符号化率の情報に応じて、既知情報を挿入する。具体的には、制御信号4402に含まれる符号化率が、符号化器4405がサポートする符号化率より小さく、ショートニングを行う必要がある場合、上述で述べたショートニング方法にしたがって既知情報を挿入し、既知情報挿入後の情報4404を出力する。なお、制御信号4402に含まれる符号化率が、符号化器4405がサポートする符号化率に等しく、ショートニングを行う必要がない場合には、既知情報を挿入せず、情報4401をそのまま情報4404として出力する。
符号化器4405は、情報4404及び制御信号4402を入力とし、情報4404に対し符号化を行い、パリティ4406を生成し、パリティ4406を出力する。
既知情報削減部4407は、情報4404及び制御信号4402を入力とし、制御信号4402に含まれる符号化率の情報に基づき、既知情報挿入部4403において、既知情報が挿入された場合には、情報4404から既知情報を削除し、削除後の情報4408を出力する。一方、既知情報挿入部4403において、既知情報が挿入されていない場合には、情報4404をそのまま情報4408として出力する。
変調部4409は、パリティ4406、情報4408、及び、制御信号4402を入力とし、制御信号4402に含まれる変調方式の情報に基づいて、パリティ4406及び情報4408を変調しベースバンド信号4410を生成し出力する。
図54は、図53と異なる、物理層において符号化率を可変とする場合の符号化に関連する部分(誤り訂正符号化部44100及び送信装置44200)の構成の別の一例を示すブロック図である。図54に示すように、既知情報挿入部4403に入力される情報4401が、変調部4409に入力される構成とすることにより、図53の既知情報削減部4407を省いても、図53と同様に符号化率を可変とすることができる。
図55は、物理層における誤り訂正復号部46100の構成の一例を示すブロック図である。既知情報の対数尤度比挿入部4603は、受信したデータの対数尤度比信号4601、制御信号4602を入力とする。対数尤度比挿入部4603は、制御信号4602に含まれる符号化率の情報に基づき、既知情報の対数尤度比を挿入する必要がある場合には、高い信頼度をもつ既知情報の対数尤度比を対数尤度比信号4601に挿入する。そして、対数尤度比挿入部4603は、既知情報の対数尤度比挿入後の対数尤度比信号4604を出力する。制御信号4602に含まれる符号化率の情報は、例えば、通信相手から伝送される。
復号化部4605は、制御信号4602及び既知情報の対数尤度比挿入後の対数尤度比信号4604を入力とし、制御信号4602に含まれる符号化率等の符号化方法の情報に基づき、復号を行い、受信したデータを復号し、復号後のデータ4606を出力する。
既知情報削減部4607は、制御信号4602及び復号後のデータ4606を入力とし、制御信号4602に含まれる符号化率等の符号化方法の情報に基づき、既知情報が挿入されている場合は、既知情報を削除し、既知情報削除後の情報4608を出力する。
以上のように、実施の形態1で説明した時変周期hのLDPC−CCから、符号の符号化率より小さい符号化率を実現するショートニング方法について説明した。本実施の形態によるショートニング方法を用いることで、実施の形態1で説明した時変周期hのLDPC−CCをパケットレイヤーで用いたとき、伝送効率の向上と消失訂正能力の向上との両立を図ることができる。また、物理層において符号化率を変更した場合においても、良好な誤り訂正能力を得ることができる。
なお、LDPC−CCのような畳み込み符号では、送信情報系列の終端にターミネーション系列を付加し、終端処理(ターミネーション)を行う場合がある。このとき、符号化部4405は、既知の情報(例えばオールゼロ)を入力とし、ターミネーション系列は、当該既知の情報を符号化することにより得られたパリティ系列のみから構成される。よって、ターミネーション系列においては、本願発明で説明した既知情報の挿入ルールに従わない部分が発生する。また、ターミネーション以外の部分でも、伝送速度の向上のために、挿入ルールに従う部分と既知情報を挿入しない部分の両者が存在していてもよい。なお、終端処理(ターミネーション)については、実施の形態11で説明する。
(実施の形態10)
本実施の形態では、実施の形態1で述べた符号化率(n−1)/nの時変周期h(hは4以上の整数)のLDPC−CCを用いて誤り訂正能力の高い符号化率(n−1)/nより小さい符号化率を実現する消失訂正方法について説明する。ただし、符号化率(n−1)/nの時変周期h(hは4以上の整数)のLDPC−CCの説明は、実施の形態9と同様であるものとする。
[方法#3−1]
方法#3−1では、図56に示すように、情報とパリティで構成するh×n×kビット(kは自然数)を周期とし、各周期において、既知情報パケットに含まれる既知情報を同じ位置に挿入する(方法#3−1の挿入ルール)。各周期において、既知情報パケットに含まれる既知情報を同じ位置に挿入するとは、実施の形態9の方法#2−2などで説明したとおりである。
[方法#3−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の挿入ルール)。
このとき、方法#3−2では、既知情報パケットのデータを挿入したX1,j(ただし、jは、hi〜h(i+k−1)+h−1のいずれかの値をとる。)において、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以下とする。このようなγが少なくとも一つ存在する。
つまり、方法#3−2では、既知情報パケットのデータを挿入したXf,j(ただし、jは、hi〜h(i+k−1)+h−1のいずれかの値をとる。)において、jすべてに対し、hで除算したときの余りを求める。すると、「余りが(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以下とする(f=1、2、3、・・・、n−1)。このようなγが少なくとも一つ存在する。
このようにして、既知情報を挿入する位置に条件を設けることにより、パリティ検査行列Hにおいて、「未知の値がパリティ及び少ない情報ビットという行」をより多く生成することができるようになる。これにより、上記で述べた特性が良好な符号化率(n−1)/nの時変周期hのLDPC−CCを用いて、消失訂正能力が高く、かつ、低回路規模で消失訂正符号の符号化率を変えることができるシステムを実現することができる。
以上、上位層における消失訂正方法は、消失訂正符号の符号化率を可変とする消失訂正方法について説明した。
上位層において消失訂正符号の符号化率を可変とする消失訂正符号化関連処理部及び消失訂正復号関連処理部の構成については、図21の消失訂正符号化関連処理部2112の前段において、既知情報パケットを挿入することにより、消失訂正符号の符号化率を変更することができる。
これにより、例えば、通信状況に応じて符号化率を可変とすることができるようになるので、通信状況が良好な場合には符号化率を大きくして伝送効率を向上させることができる。また、符号化率を小さくする場合に、[方法#3−2]のように、検査行列に応じて、既知情報パケットに含まれる既知情報を挿入することにより、消失訂正能力の向上を図ることができる。
[方法#3−2]では、挿入される既知情報パケットのデータの数が各周期で同じ場合について説明したが、挿入されるデータの数が各周期で異なっていても良い。例えば、図57に示すように、最初の周期ではN0個の情報を既知情報パケットのデータとし、次の周期ではN1個の情報を既知情報パケットのデータとし、i番目の周期では、Ni個の情報を既知情報パケットのデータとするようにしても良い。
このように、挿入される既知情報パケットのデータ数が各周期で異なる場合には、周期という概念は意味をなさない。方法#3−2の挿入ルールを、周期という概念を用いずにあらわすと、[方法#3−3]のようになる。
[方法#3−3]
方法#3−3では、情報及びパリティから構成されるデータ系列において、情報X1,0、X2,0、・・・、Xn−1,0、・・・・・・、X1,v、X2,v、・・・、Xn−1,vのビット系列からZビット選択し、選択したZビットに既知情報(例えば、ゼロ(1でもよいし、予め定めた値でもよい))を挿入する(方法#3−3の挿入ルール)。
このとき、方法#3−3では、既知情報を挿入したX1,j(ただし、jは、0〜vのいずれかの値をとる。)において、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以下とする。このようなγが少なくとも一つ存在する。
つまり、方法#3−3では、既知情報を挿入したXf,j(ただし、jは、0〜vのいずれかの値をとる。)において、jすべてに対し、hで除算したときの余りを求める。すると、「余りが(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以下とする(f=1、2、3、・・・、n−1)。このようなγが少なくとも一つ存在する。
以上、消失訂正符号は、実施の形態1で説明した時変周期hのLDPC−CCから、符号の符号化率より小さい符号化率を実現する方法を用いた消失訂正符号の符号化率を可変とするシステムについて説明した。本実施の形態による符号化率可変方法を用いることで、伝送効率の向上と消失訂正能力の向上との両立を図ることができ、消失訂正時に符号化率を変更した場合においても、良好な消失訂正能力を得ることができる。
(実施の形態11)
本発明に関連するLDPC−CCを使用する際、情報ビットの復号における信頼度を確保するために、ターミネーションもしくはテイルバイティング(tail-biting)が必要となる。そこで、本実施の形態では、ターミネーションを行う場合(「Information-zero-termination」又は簡単に「ゼロターミネーション(Zero-termination)」と呼ぶ)の方法について以下では詳しく説明する。
図58は、符号化率(n−1)/nのLDPC−CCにおける「Information-zero-termination」を説明するための図である。時点i(i=0、1、2、3、・・・、s)における情報ビットX1、X2、・・・、Xn−1及びパリティビットPを、X1,i、X2,i、・・・、Xn−1,i及びパリティビットPiとする。そして、図58に示すように、Xn−1,sが送信したい情報の最終ビット(4901)であるとする。ただし、復号器において、受信品質を保つためには、符号化時に、時点s以降の情報についても符号化することが必要である。
このため、もし、符号化器が時点sまでしか符号化を行わず、符号化側の送信装置が、Psまでしか復号側の受信装置に伝送しなかった場合、復号器において情報ビットの受信品質が大きく劣化する。この問題を解決するために、最終の情報ビットXn−1,s以降の情報ビット(「仮想の情報ビット」と呼ぶ)を「0」と仮定して符号化を行い、パリティビット(4903)を生成する。
具体的には、図58に示すように、符号化器は、X1,k、X2,k、・・・、Xn−1,k(k=t1、t2、・・・、tm)を「0」として符号化し、Pt1、Pt2、・・・、Ptmを得る。そして、符号化側の送信装置は、時点sにおけるX1,s、X2,s、・・・、Xn−1,s、Psを送信後、Pt1、Pt2、・・・、Ptmを送信する。復号器は、時点s以降では、仮想の情報ビットが「0」であるとわかっていることを利用し、復号を行う。なお、前述では仮想の情報ビットが「0」の場合を例に説明したが、これに限られず、仮想の情報ビットは、送受信装置において、既知のデータであれば、同様に実施することができる。
当然であるが、本発明のすべての実施の形態は、ターミネーションを行っても実施することが可能である。
(実施の形態12)
本実施の形態では、実施の形態1および実施の形態6で述べたパリティ検査多項式に基づくLDPC−CCの具体的な生成方法の一例について説明する。
実施の形態6では、実施の形態1で説明したLDPC−CCの時変周期としては、下記条件が有効であることを述べた。
・時変周期が素数であること。
・時変周期が奇数であり、かつ、時変周期の値に対する約数の数が少ないこと。
ここで、時変周期を大きくし、符号を生成することを考える。このとき、制約条件を与えた乱数を用いて、符号生成を行うことになるが、時変周期を大きくすると、乱数を用いて設定するパラメータの数が多くなってしまい、高い誤り訂正能力を持つ符号の探索が困難となる、という課題がある。この課題に対し、本実施の形態では、実施の形態1、実施の形態6で述べたパリティ検査多項式に基づくLDPC−CCを利用した異なる符号生成方法について述べる。
一例として、符号化率1/2、時変周期15のパリティ検査多項式に基づくLDPC−CCの設計方法について説明する。
符号化率(n−1)/n(nは2以上の整数)、時変周期15のLDPC−CCの(0を満たす)パリティ検査多項式として、式(86−0)〜(86−14)を考える。
このとき、X1(D)、X2(D)、・・・、Xn−1(D)はデータ(情報)X1、X2、・・・Xn−1の多項式表現であり、P(D)はパリティの多項式表現である。式(86−0)〜(86−14)において、例えば、符号化率1/2の場合、X1(D)及びP(D)の項のみが存在し、X2(D)、・・・、Xn−1(D)の項は存在しない。同様に、符号化率2/3の場合、X1(D)、X2(D)、及びP(D)の項のみが存在し、X3(D)、・・・、Xn−1(D)の項は存在しない。その他の符号化率についても同様に考えればよい。ここで、式(86−0)〜(86−14)では、X1(D)、X2(D)、・・・、Xn−1(D)、P(D)それぞれに3つの項が存在するようなパリティ検査多項式とする。
また、式(86−0)〜(86−14)では、X1(D)、X2(D)、・・・、Xn−1(D)、及び、P(D)について、以下が成立するものとする。
式(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)。
そして、式(86−q)のパリティ検査多項式を「検査式#q」と呼び、式(86−q)のパリティ検査多項式に基づくサブ行列を、第qサブ行列Hqと呼ぶ。そして、第0サブ行列H0、第1サブ行列H1、第2サブ行列H2、・・・、第13サブ行列H13、第14サブ行列H14から生成する時変周期15のLDPC−CCについて考える。よって、符号の構成方法、パリティ検査行列の生成方法、符号化方法、復号化方法については、実施の形態1、実施の形態6で述べた方法と同様となる。
以下では、上述で述べたように符号化率1/2の場合について述べるので、X1(D)及びP(D)の項のみが存在することになる。
実施の形態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)とする。
高い誤り訂正能力を得るために、実施の形態1、実施の形態6と同様に考え、X1(D)の係数に対し、以下のような条件を与える。なお、以下の各条件において「%」はmoduloを意味し、例えば、「α%15」は、αを15で除算したときの余りを示す。
<条件#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となるので、以下の条件が成立する。
<条件#19−2>
i%3=j%3(i,j=0、1、・・・、13、14;i≠j)が成立するとき、以下の3つの式が成立する。
同様に、P(D)の係数に対し、以下のような条件を与える。
<条件#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となるので、以下の条件が成立する。
<条件#20−2>
i%5=j%5(i,j=0、1、・・・、13、14;i≠j)が成立するとき、以下の3つの式が成立する。
以上のような条件を与えることで、時変周期を大きくしながら、かつ、乱数を用いて設定するパラメータの数を削減することができ、符号探索が容易となる、という効果を得ることができる。なお、<条件#19−1>および<条件#20−1>は必ずしも必要な条件ではない。つまり、<条件#19−2>および<条件#20−2>のみを条件として与えるようにしてもよい。また、<条件#19−1>および<条件#20−1>の代わりに<条件#19−1’>および<条件#20−1’>の条件を与えてもよい。
<条件#19−1’>
「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とする。
時変周期sの符号化率1/2のパリティ検査多項式に基づくLDPC−CCのi番目(i=0、1、2、・・・、s−2、s−1)のゼロを満たすパリティ検査多項式を次式のようにあらわす。
すると、上述を参考にすると、本実施の形態における符号構成方法では、以下のような条件が重要となる。
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)の係数の時変周期はαとなるので、以下の条件が成立する。
<条件#21−2>
i%α=j%α(i,j=0、1、・・・、s−2、s−1;i≠j)が成立するとき、以下の3つの式が成立する。
同様に、P(D)の係数に対し、以下のような条件を与える。
<条件#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)の係数の時変周期はβとなるので、以下の条件が成立する。
<条件#22−2>
i%β=j%β(i,j=0、1、・・・、s−2、s−1;i≠j)が成立するとき、以下の3つの式が成立する。
以上のような条件を与えることで、時変周期を大きくしながら、かつ、乱数を用いて設定するパラメータの数を削減することができ、符号探索が容易となる、という効果を得ることができる。なお、<条件#21−1>および<条件#22−1>は必ずしも必要な条件ではない。つまり、<条件#21−2>および<条件#22−2>のみを条件として与えるようにしてもよい。また、<条件#21−1>および<条件#22−1>の代わりに、<条件#21−1’>および<条件#22−1’>の条件を与えてもよい。
<条件#21−1’>
「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)であらわしたが、実際に利用する場合は、次式であらわされるゼロを満たすパリティ検査多項式となる。
さらに、パリティ検査多項式を一般化することを考える。i番目(i=0、1、2、・・・、s−2、s−1)のゼロを満たすパリティ検査多項式を次式のようにあらわす。
つまり、パリティ検査多項式として、式(93−i)のように、X1(D)、P(D)の項の数が3つに限ったものではない場合を考える。すると、上述を参考にすると、本実施の形態における符号構成方法では、以下のような条件が重要となる。
<条件#23>
i%α=j%α(i,j=0、1、・・・、s−2、s−1;i≠j)が成立するとき、以下の式が成立する。
<条件#24>
i%β=j%β(i,j=0、1、・・・、s−2、s−1;i≠j)が成立するとき、以下の式が成立する。
以上のような条件を与えることで、時変周期を大きくしながら、かつ、乱数を用いて設定するパラメータの数を削減することができ、符号探索が容易となる、という効果を得ることができる。このとき、時変周期を効率的に大きくするためには、αとβは「互いに素」(coprime)であるとよい。ここで、「αとβとが互いに素」は、αとβとが1(及び−1)以外に共通の約数を持たない関係になることをいう。
このとき、時変周期はα×βであらわすことができる。ただし、αとβとが互いに素の関係でなくても、高い誤り訂正能力を得ることができる可能性はある。また、実施の形態6の記載に基づくと、α及びβは奇数であるとよい。ただし、α及びβが奇数でなくても、高い誤り訂正能力を得ることができる可能性はある。
次に、時変周期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,βの最小公倍数となる。
時変周期sの符号化率(n−1)/nのパリティ検査多項式に基づくLDPC−CCのi番目(i=0、1、2、・・・、s−2、s−1)のゼロを満たすパリティ検査多項式は、次式であらわされるゼロを満たすパリティ検査多項式となる。
つまり、X1(D)、X2(D)、・・・、Xn−2(D)、Xn−1(D)、P(D)の項の数が3つに限ったものではない場合を考える。すると、上述を参考にすると、本実施の形態における符号構成方法では、以下のような条件が重要となる。
<条件#25>
i%α
k=j%α
k(i,j=0、1、・・・、s−2、s−1;i≠j)が成立するとき、以下の式が成立する。
ただし、k=1、2、・・・、n−2、n−1とする。
<条件#26>
i%β=j%β(i,j=0、1、・・・、s−2、s−1;i≠j)が成立するとき、以下の式が成立する。
すなわち、本実施の形態に係る符号化方法は、時変周期sの低密度パリティ検査畳み込み符号(LDPC−CC:Low-Density Parity-Check Convolutional Codes)の符号化方法であって、式(96−i)であらわされる第i(i=0、1、・・・、s−2、s−1)パリティ検査多項式を供給するステップと、前記第0から第s−1パリティ検査多項式と入力データとの線形演算によりLDPC−CC符号語を取得するステップと、を有し、Xk(D)の係数AXk,iの時変周期がαk(αkは1より大きい整数)であり(k=1、2、・・・、n−2、n−1)、P(D)の係数BXk,iの時変周期がβ(βは1より大きい整数)であり、前記時変周期sは、α1,α2,・・・αn−2,αn−1,βの最小公倍数であり、i%αk=j%αk(i,j=0、1、・・・、s−2、s−1;i≠j)が成立するとき、式(97)が成立し、i%β=j%β(i,j=0、1、・・・、s−2、s−1;i≠j)が成立するとき、式(98)が成立するようにした(図59参照)。
以上のような条件を与えることで、時変周期を大きくしながら、かつ、乱数を用いて設定するパラメータの数を削減することができ、符号探索が容易となる、という効果を得ることができる。
このとき、時変周期を効率的に大きくするためには、α1,α2,・・・,αn−2,αn−1およびβは「互いに素」であると時変周期を大きくすることができる。このとき、時変周期はα1×α2×・・・×αn−2×αn−1×βであらわすことができる。
ただし、互いに素の関係でなくても、高い誤り訂正能力を得ることができる可能性はある。また、実施の形態6の記載に基づくと、α1,α2,・・・,αn−2,αn−1およびβは奇数であるとよい。ただし、奇数でなくても、高い誤り訂正能力を得ることができる可能性はある。
(実施の形態13)
本実施の形態では、実施の形態12で述べたLDPC−CCにおいて、低回路規模の符号化器/復号化器を構成することができるLDPC−CCを提案する。
はじめに、上記特徴をもつ、符号化率1/2、2/3の符号構成方法について説明する。
実施の形態12で述べたように、X
1(D)の時変周期がα
1、P(D)の時変周期がβ、時変周期sがLCM(α
1,β)、符号化率1/2のパリティ検査多項式に基づくLDPC−CCのi番目(i=0、1、2、・・・、s−2、s−1)のゼロを満たすパリティ検査多項式を次式のようにあらわす。
すると、実施の形態12を参考にすると、以下のような条件が成立する。
<条件#26>
i%α
1=j%α
1(i,j=0、1、・・・、s−2、s−1;i≠j)が成立するとき、以下の式が成立する。
<条件#27>
i%β=j%β(i,j=0、1、・・・、s−2、s−1;i≠j)が成立するとき、以下の式が成立する。
ここで、上記の符号化率1/2のLDPC−CCと符号化器/復号化器の回路を共通化することが可能な符号化率2/3のLDPC−CCを考える。符号化率2/3の時変周期zのパリティ検査多項式に基づくi番目(i=0、1、2、・・・、z−2、z−1)のゼロを満たすパリティ検査多項式を次式のようにあらわす。
このとき、式(99−i)に基づく符号化率1/2のパリティ検査多項式に基づくLDPC−CCと符号化器/復号化器の回路を共通化が可能な符号化率2/3のLDPC−CCの条件を以下で記載する。
<条件#28>
式(102−i)のゼロを満たすパリティ検査多項式において、X
1(D)の時変周期がα
1であるとともに、i%α
1=j%α
1(i=0、1、・・・、s−2、s−1、j=0、1、・・・、z−2、z−1;)が成立するとき、以下の式が成立する。
<条件#29>
式(102−i)のゼロを満たすパリティ検査多項式において、P(D)の時変周期がβであるとともに、i%β=j%β(i=0、1、・・・、s−2、s−1、j=0、1、・・・、z−2、z−1)が成立するとき、以下の式が成立する。
そして、式(102−i)のゼロを満たすパリティ検査多項式において、X2(D)の時変周期をα2とすればよいので、以下の条件が成立する。
<条件#30>
i%α
2=j%α
2(i,j=0、1、・・・、z−2、z−1;i≠j)が成立するとき、以下の式が成立する。
このとき、α2はα1又はβであってもよいし、α2はα1及びβと互いに素の関係の自然数であってもよい。ただし、α2はα1及びβと互いに素の関係の自然数であれば時変周期を効率的に大きくするができるという特徴をもつ。また、実施の形態6の記載に基づくと、α1、α2及びβは奇数であるとよい。ただし、α1、α2及びβが奇数でなくても、高い誤り訂正能力を得ることができる可能性はある。
そして、時変周期zは、LCM(α1,α2,β)、つまり、α1,α2,βの最小公倍数となる。
図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)の符号構成方法について述べる。
X
1(D)の時変周期がα
1、X
2(D)の時変周期がα
2、・・・、X
n−1(D)の時変周期がα
n−1、P(D)の時変周期がβ、時変周期sがLCM(α
1,α
2,・・・,α
n−1,β)、つまり、α
1,α
2,・・・,α
n−1,βの最小公倍数であり、(n−1)/nのパリティ検査多項式に基づくLDPC−CCのi番目(i=0、1、2、・・・、s−2、s−1)のゼロを満たすパリティ検査多項式を次式のようにあらわす。
すると、実施の形態12を参考にすると、以下のような条件が成立する。
<条件#31>
i%α
k=j%α
k(i,j=0、1、・・・、s−2、s−1;i≠j)が成立するとき、以下の式が成立する。
ただし、k=1、2、・・・、n−1となる。
<条件#32>
i%β=j%β(i,j=0、1、・・・、s−2、s−1;i≠j)が成立するとき、以下の式が成立する。
ここで、上記の符号化率(n−1)/nのLDPC−CCと符号化器/復号化器の回路を共通化することが可能な符号化率(m−1)/mのLDPC−CCを考える。符号化率(m−1)/mの時変周期zのパリティ検査多項式に基づくi番目(i=0、1、2、・・・、z−2、z−1)のゼロを満たすパリティ検査多項式を次式のようにあらわす。
このとき、式(106−i)であらわされる符号化率(n−1)/nのパリティ検査多項式に基づくLDPC−CCと符号化器/復号化器の回路の共通化が可能な符号化率(m−1)/mのLDPC−CCの条件を以下に記載する。
<条件#33>
式(109−i)のゼロを満たすパリティ検査多項式において、X
k(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)が成立するとき、以下の式が成立する。
<条件#34>
式(109−i)のゼロを満たすパリティ検査多項式において、P(D)の時変周期がβであるとともに、i%β=j%β(i=0、1、・・・、s−2、s−1;j=0、1、・・・、z−2、z−1)が成立するとき、以下の式が成立する。
そして、式(109−i)のゼロを満たすパリティ検査多項式において、Xh(D)の時変周期がαh(h=n、n+1、・・・、m−1)とすればよいので、以下の条件が成立する。
<条件#35>
i%α
h=j%α
h(i,j=0、1、・・・、z−2、z−1;i≠j)が成立するとき、以下の式が成立する。
このとき、αhは自然数であればよい。α1、α2、・・・、αn−1、αn、・・・、αm−1、βがすべて互いに素の関係の自然数であれば時変周期を効率的に大きくするができるという特徴をもつ。また、実施の形態6の記載に基づくと、α1、α2、・・・、αn−1、αn、・・・、αm−1、βは奇数であるとよい。ただし、奇数でなくても、高い誤り訂正能力を得ることができる可能性はある。
そして、時変周期zは、LCM(α1,α2,・・・,αn−1,αn,・・・,αm−1,β)、つまり、α1、α2、・・・、αn−1、αn、・・・、αm−1、βの最小公倍数となる。
次に、上述で述べた、低回路規模で符号化器/復号化器を構成することができる複数符号化率対応LDPC−CCの具体的な符号化器/復号化器の構成方法について述べる。
はじめに、本発明に係る符号化器/復号化器において、回路の共用化を図る符号化率のうち最も高い符号化率を(q−1)/qとする。例えば、送受信装置が対応する符号化率を1/2、2/3、3/4、5/6としたとき、符号化率1/2、2/3、3/4の符号は、符号化器/復号化器において回路を共通化し、符号化率5/6は符号化器/復号化器において回路を共通化対象としないものとする。このとき、上記で述べた最も高い符号化率(q−1)/qは3/4となる。以下では、複数の符号化率(r−1)/r(rは2以上q以下の整数)に対応可能な時変周期z(zは自然数)のLDPC−CCを作成する符号化器について説明する。
図61は、本実施の形態に係る符号化器の要部構成の一例を示すブロック図である。なお、図61に示す符号化器5800は、符号化率1/2、2/3、3/4に対応可能な符号化器である。図61の符号化器5800は、情報生成部5801、第1情報演算部5802−1、第2情報演算部5802−2、第3情報演算部5802−3、パリティ演算部5803、加算部5804、符号化率設定部5805及びウェイト制御部5806を主に備える。
情報生成部5801は、符号化率設定部5805から指定される符号化率に応じて、時点kの情報X1,k、情報X2,k、情報X3,kを設定する。例えば、符号化率設定部5805が符号化率を1/2に設定した場合、情報生成部5801は、時点kの情報X1,kに入力情報データSjを設定し、時点kの情報X2,k及び時点kの情報X3,kに0を設定する。
また、符号化率2/3の場合、情報生成部5801は、時点kの情報X1,kに入力情報データSjを設定し、時点kの情報X2,kに入力情報データSj+1を設定し、時点kの情報X3,kに0を設定する。
また、符号化率3/4の場合、情報生成部5801は、時点kの情報X1,kに入力情報データSjを設定し、時点kの情報X2,kに入力情報データSj+1を設定し、時点kの情報X3,kに入力情報データSj+2を設定する。
このようにして、情報生成部5801は、符号化率設定部5805によって設定された符号化率に応じて、入力情報データを時点kの情報X1,k、情報X2,k、情報X3,kを設定し、設定後の情報X1,kを第1情報演算部5802−1に出力し、設定後の情報X2,kを第2情報演算部5802−2に出力し、設定後の情報X3,kを第3情報演算部5802−3に出力する。
第1情報演算部5802−1は、式(106−i)のAX1,i(D)(式(110)が成立するので式(109−i)にも相当する)にしたがって、X1(D)を算出する。同様に、第2情報演算部5802−2は、式(106−2)のAX2,i(D)(式(110)が成立するので式(109−i)にも相当する)にしたがって、X2(D)を算出する。同様に、第3情報演算部580−3は、式(109−i)のCX3,i(D)にしたがって、X3(D)を算出する。
このとき、上述で説明したように、式(109−i)が<条件#33>、<条件#34>を満足することから、符号化率が切り替わったとしても、第1情報演算部5802−1の構成を変更する必要がなく、また、同様に、第2情報演算部5802−2の構成を変更する必要がない。
したがって、複数の符号化率に対応する場合は、符号化器の回路が共用可能な符号化率の中で最も高い符号化率の符号化器の構成を基礎にして、上記のような操作で、他の符号化率に対応することができる。つまり、符号化器の主要な部分である第1情報演算部5802−1、第2情報演算部5802−2は、符号化率に関わらず共通化することができるという利点を、上述で説明したLDPC−CCは有することになる。
図62に、第1情報演算部5802−1の内部構成を示す。図62の第1情報演算部5802−1は、シフトレジスタ5901−1〜5901−M、ウェイト乗算器5902−0〜5902−M、及び、加算部5903を備える。
シフトレジスタ5901−1〜5901−Mは、それぞれ、X1,i−t(t=0,・・・,M−1)を保持するレジスタであり、次の入力が入ってくるタイミングで、保持している値を右隣のシフトレジスタに送出し、左隣のシフトレジスタから出力されてきた値を保持する。
ウェイト乗算器5902−0〜5902−Mは、ウェイト制御部5904から出力される制御信号にしたがって、h1 (t)の値を0又は1に切り替える。
加算部5903は、ウェイト乗算器5902−0〜5902−Mの出力に対して、排他的論理和演算を行い、演算結果Y1,kを算出し、算出したY1,kを、図61の加算部5804に出力する。
なお、第2情報演算部5802−2及び第3情報演算部5802−3の内部構成は、第1情報演算部5802−1と同様であるので、説明を省略する。第2情報演算部5802−2は、第1情報演算部5802−1と同様にして、演算結果Y2,kを算出し、算出したY2,kを図61の加算部5804に出力する。第3情報演算部5802−3は、第1情報演算部5802−1と同様にして、演算結果Y3,kを算出し、算出したY3,kを、図61の加算部5804に出力する。
図61のパリティ演算部5803は、式(106−i)のBi(D)(式(111)が成立するので式(109−i)にも相当する)にしたがって、P(D)を算出する。
図63に、図61のパリティ演算部5803の内部構成を示す。図63のパリティ演算部5803は、シフトレジスタ6001−1〜6001−M、ウェイト乗算器6002−0〜6002−M、及び、加算部6003を備える。
シフトレジスタ6001−1〜6001−Mは、それぞれ、Pi−t(t=0,・・・,M−1)を保持するレジスタであり、次の入力が入ってくるタイミングで、保持している値を右隣のシフトレジスタに送出し、左隣のシフトレジスタから出力されてきた値を保持する。
ウェイト乗算器6002−0〜6002−Mは、ウェイト制御部6004から出力される制御信号にしたがって、h2 (t)の値を0又は1に切り替える。
加算部6003は、ウェイト乗算器6002−0〜6002−Mの出力に対し排他的論理和演算を行い、演算結果Zkを算出し、算出したZkを、図61の加算部5804に出力する。
再度図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にも出力する。
符号化率設定部5805は、符号化器5800の符号化率を設定し、符号化率の情報を情報生成部5801に出力する。
ウェイト制御部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に出力する。
なお、図64に本実施の形態に係る符号化器の別の構成例を示す。図64の符号化器において、図61の符号化器と共通する構成部分には、図61と同一の符号を付している。図64の符号化器5800は、符号化率設定部5805が、符号化率の情報を第1情報演算部5802−1、第2情報演算部5802−2、第3情報演算部5802−3、および、パリティ演算部5803に出力する点で、図61の符号化器5800と異なっている。
第2情報演算部5802−2は、符号化率が1/2の場合には、演算処理を行わずに、演算結果Y2,kとして0を加算部5804に出力する。また、第3情報演算部5802−3は、符号化率が1/2または2/3の場合には、演算処理を行わずに、演算結果Y3,kとして0を加算部5804に出力する。
なお、図61の符号化器5800では、情報生成部5801が、符号化率に応じて、時点iの情報X2,i、情報X3,iを0に設定したのに対し、図64の符号化器5800では、第2情報演算部5802−2及び第3情報演算部5802−3が、符号化率に応じて、演算処理を停止し、演算結果Y2,k、Y3,kとして0を出力するので、得られる演算結果は図61の符号化器5800と同じとなる。
このように、図64の符号化器5800では、第2情報演算部5802−2及び第3情報演算部5802−3が、符号化率に応じて、演算処理を停止するので、図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のときのパリティを求めることで、符号化器の回路の共通化が可能となる。
次に、本実施の形態で述べたLDPC−CCの復号化器の回路の共用化方法について詳しく説明する。
図65は、本実施の形態に係る復号化器の要部構成を示すブロック図である。なお、図65に示す復号化器6100は、符号化率1/2、2/3、3/4に対応可能な復号化器である。図65の復号化器6100は、対数尤度比設定部6101及び行列処理演算部6102を主に備える。
対数尤度比設定部6101は、図示せぬ対数尤度比演算部により算出される受信対数尤度比及び符号化率を入力し、符号化率に応じて、受信対数尤度比に既知の対数尤度比を挿入する。
例えば、符号化率が1/2の場合、符号化器5800では、X2,k、X3,kとして“0”を送信していることに相当するので、対数尤度比設定部6101は、既知ビット“0”に対応する固定の対数尤度比をX2,k、X3,kの対数尤度比として挿入し、挿入後の対数尤度比を行列処理演算部6102に出力する。以下、図66を用いて説明をする。
図66に示すように、符号化率1/2の場合、対数尤度比設定部6101は、時点kのX1,kおよびPkに対応する受信対数尤度比LLRX1,k,LLRPkを入力とする。そこで、対数尤度比設定部6101は、X2,k,X3,kに対応する受信対数尤度比LLRX2,k,LLR3,kを挿入する。図66において、点線の丸で囲まれた受信対数尤度比は、対数尤度比設定部6101によって挿入された受信対数尤度比LLRX2,k,LLR3,kを示す。対数尤度比設定部6101は、受信対数尤度比LLRX2,k,LLR3,kとして、固定値の対数尤度比を挿入する。
また、符号化率が2/3の場合、符号化器5800は、X3,kとして“0”を送信していることに相当するので、対数尤度比設定部6101は、既知ビット“0”に対応する固定の対数尤度比をX3,kの対数尤度比として挿入し、挿入後の対数尤度比を行列処理演算部6102に出力する。以下、図67を用いて説明をする。
図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として、固定値の対数尤度比を挿入する。
図65の行列処理演算部6102は、記憶部6103、行処理演算部6104及び列処理演算部6105を備える。
記憶部6103は、受信対数尤度比、行処理によって得られる外部値αmn、及び、列処理によって得られる事前値βmnを保持する。
行処理演算部6104は、符号化器5800がサポートする符号化率のうち、最大の符号化率3/4のLDPC−CCのパルてぅ検査行列Hの行方向のウェイトパターンを保持する。行処理演算部6104は、当該行方向のウェイトパターンにしたがって、記憶部6103から必要な事前値βmnを読み込み、行処理演算を行う。
行処理演算において、行処理演算部6104は、事前値βmnを用いて、単一パリティ検査符号の復号を行い、外部値αmnを求める。
第m番目の行処理について説明する。ただし、2元M×N行列H={H
mn}を復号対象とするLDPC符号の検査行列とする。H
mn=1を満たす全ての組(m,n)に対して,次の更新式を利用して外部値α
mnを更新する。
ここで、Φ(x)は、Gallagerのf関数と呼ばれ、次式で定義される。
列処理演算部6105は、符号化器5800がサポートする符号化率のうち、最大の符号化率3/4のLDPC−CCの検査行列Hの列方向のウェイトパターンを保持する。列処理演算部6105は、当該列方向のウェイトパターンにしたがって、記憶部321から必要な外部値αmnを読み込み、事前値βmnを求める。
列処理演算において、列処理演算部6105は、入力対数尤度比λnと外部値αmnとを用いて繰り返し復号により、事前値βmnを求める。
第m番目の列処理について説明する。
H
mn=1を満たす全ての組(m,n)に対して、次の更新式を利用してβ
mnを更新する。ただし、初期の演算では、α
mn=0として計算する。
復号化器6100は、上述の行処理と列処理とを所定の回数だけ繰り返すことにより、事後対数尤度比を得る。
以上のように、本実施の形態では、対応可能な符号化率のうち、最も高い符号化率を(m−1)/mとし、符号化率設定部5805が、符号化率を(n−1)/nに設定した際、情報生成部5801は、情報Xn,kから情報Xm−1,kまでの情報をゼロに設定する。
例えば、対応する符号化率が1/2、2/3、3/4の場合(m=4)、第1情報演算部5802−1は、時点kの情報X1,kを入力し、X1(D)項を算出する。また、第2情報演算部5802−2は、時点kの情報X2,kを入力し、X2(D)項を算出する。また、第3情報演算部5802−3は、時点kの情報X3,kを入力し、X3(D)項を算出する。
また、パリティ演算部5803は、時点k−1のパリティPk−1を入力し、P(D)項を算出する。また、加算部5804は、第1情報演算部5802−1、第2情報演算部5802−2、第3情報演算部5802−3の演算結果及びパリティ演算部5803の演算結果の排他的論理和を、時刻kのパリティPkとして得るようにした。
この構成によれば、異なる符号化率に対応したLDPC−CCを作成する場合においても、本説明における情報演算部の構成を共通化することができるため、低演算規模で、複数の符号化率に対応可能なLDPC−CCの符号化器、復号化器を提供することができる。
そして、符号化器/復号化器の回路の共用を可能とする符号化率の中で、最大の符号化率に応じた復号化器の構成に、対数尤度比設定部6101を追加することで、複数の符号化率に対応して復号を行うことができる。なお、対数尤度比設定部6101は、符号化率に応じて、時点kの情報Xn,kから情報Xm−1,kまでの情報に対応する対数尤度比を既定値に設定する。
なお、以上の説明では、符号化器5800がサポートする最大の符号化率が3/4の場合について説明したが、サポートする最大の符号化率はこれに限らず、符号化率(m−1)/m(mは5以上の整数)をサポートする場合においても適用可能である(当然であるが、最大符号化率が2/3でもよい。)。この場合には、符号化器5800が、第1〜第(m−1)情報演算部を備える構成とし、加算部5804が、第1〜第(m−1)情報演算部の演算結果及びパリティ演算部5803の演算結果の排他的論理和を、時刻kのパリティPkとして得るようにすれば良い。
また、送受信装置(符号化器/復号化器)がサポートする符号化率が、すべて、上述で述べた方法に基づいた符号である場合、サポートする符号化率のうち、最も高い符号化率の符号化器/復号化器をもつことで、複数の符号化率の符号化、復号化に対応することができ、このとき、演算規模削減の効果が非常に大きい。
また、上述では、復号方式の例としてsum-product復号を例に説明したが、復号方法はこれに限ったものではなく、非特許文献4〜非特許文献6に示されている、例えば、min-sum復号、Normalized BP(Belief Propagation)復号、Shuffled BP復号、Offset BP復号などの、message-passingアルゴリズムを用いた復号方法(BP復号)を用いれば同様に実施することができる。
次に、通信状況により適応的に符号化率を切り替える通信装置に、本発明を適用した場合の形態について説明する。なお、以下では、本発明を無線通信装置に適用した場合を例に説明するが、これに限られず、電灯線通信(PLC:Power Line Communication)装置、可視光通信装置、または、光通信装置にも適用可能である。
図68に、適応的に符号化率を切り替える通信装置6200の構成を示す。図68の通信装置6200の符号化率決定部6203は、通信相手の通信装置から送信される受信信号(例えば、通信相手が送信したフィードバック情報)を入力とし、受信信号に受信処理等を行う。そして、符号化率決定部6203は、通信相手の通信装置との間の通信状況の情報、例えば、ビットエラー率、パケットエラー率、フレームエラー率、受信電界強度等の情報を(例えば、フィードバック情報から)得、通信相手の通信装置との間の通信状況の情報から符号化率及び変調方式を決定する。
そして、符号化率決定部6203は、決定した符号化率及び変調方式を、制御信号として符号化器6201及び変調部6202に出力する。ただし、符号化率の決定は、必ずしも通信相手からのフィードバック情報に基づく必要はない。
符号化率決定部6203は、例えば、図69に示すような送信フォーマットを用いて、制御情報シンボルに符号化率の情報を含めることにより、符号化器6201が用いる符号化率を通信相手の通信装置に通知する。ただし、図69では図示していないが、通信相手が、復調やチャネル推定のために必要な、例えば、既知の信号(プリアンブル、パイロットシンボル、リファレンスシンボルなど)を含んでいるものとする。
このようにして、符号化率決定部6203は、通信相手の通信装置6300(図70参照)が送信した変調信号を受信し、その通信状況に基づいて、送信する変調信号の符号化率を決定することにより、符号化率を適応的に切り替える。符号化器6201は、制御信号により指定された符号化率に基づいて、上述の手順でLDPC−CC符号化を行う。変調部6202は、制御信号により指定された変調方式を用いて、符号化後の系列を変調する。
図70に、通信装置6200と通信を行う通信相手の通信装置の構成例を示す。図70の通信装置6300の制御情報生成部6304は、ベースバンド信号に含まれる制御情報シンボルから制御情報を抽出する。制御情報シンボルには、符号化率の情報が含まれる。制御情報生成部6304は、抽出した符号化率の情報を制御信号として対数尤度比生成部6302及び復号化器6303に出力する。
受信部6301は、通信装置6200から送信される変調信号に対応する受信信号に周波数変換、直交復調等の処理を施すことでベースバンド信号を得、ベースバンド信号を対数尤度比生成部6302に出力する。また、受信部6301は、ベースバンド信号に含まれる既知信号を用いて、通信装置6200と通信装置6300との間の(例えば、無線)伝送路におけるチャネル変動を推定し、推定したチャネル推定信号を対数尤度比生成部6302に出力する。
また、受信部6301は、ベースバンド信号に含まれる既知信号を用いて、通信装置6200と通信装置6300との間の(例えば、無線)伝送路におけるチャネル変動を推定し、伝搬路の状況の判断を可能とするフィードバック情報(チャネル変動そのもの、例えば、Channel State Informationがその一例)を生成し、出力する。このフィードバック情報は、図示しない送信装置を通して、制御情報の一部として、通信相手(通信装置6200)に送信される。対数尤度比生成部6302は、ベースバンド信号を用いて、各送信系列の対数尤度比を求め、得られた対数尤度比を復号化器6303に出力する。
復号化器6303は、上述したように、制御信号が示す符号化率(s−1)/sに応じて、時点kの情報Xs,kから情報Xm−1,kまでの情報に対応する対数尤度比を既定値に設定し、復号化器6303において回路の共用化を施した符号化率のうち、最大の符号化率に応じたLDPC−CCのパリティ検査行列を用いて、BP復号する。
このようにして、本発明を適用した通信装置6200及び通信相手の通信装置6300の符号化率が通信状況により適応的に変更され得る。
なお、符号化率の変更方法はこれに限ったものではなく、通信相手である通信装置6300が符号化率決定部6203を備え、希望する符号化率を指定するようにてもよい。また、通信装置6300が送信した変調信号から通信装置6200が伝送路の変動を推定し、符号化率を決定してもよい。この場合、上述のフィードバックの情報は不要となる。
本発明の符号化方法の一つの態様は、符号化率(n−1)/n(nは2以上の整数)のパリティ検査多項式を用いて、時変周期qの低密度パリティ検査畳み込み符号(LDPC−CC:Low-Density Parity-Check Convolutional Codes)化を行う符号化方法であって、前記時変周期qが、3より大きい素数であり、情報系列を入力とし、式(116)をg番目(g=0、1、・・・、q−1)の0を満たす前記パリティ検査多項式として用いて、前記情報系列を符号化する。
本発明の符号化方法の一つの態様は、符号化率(n−1)/n(nは2以上の整数)のパリティ検査多項式を用いて、時変周期qの低密度パリティ検査畳み込み符号(LDPC−CC:Low-Density Parity-Check Convolutional Codes)化を行う符号化方法であって、前記時変周期qが、3より大きい素数であり、情報系列を入力とし、式(117)であらわされる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=v
p=k (v
p=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=y
p=k (y
p=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=s
p=k (s
p=k:固定値)」
を、k=1、2、・・・、n−1に対して満たすパリティ検査多項式を用いて、前記情報系列を符号化する。
本発明の符号化器の一つの態様は、符号化率(n−1)/n(nは2以上の整数)のパリティ検査多項式を用いて、時変周期qの低密度パリティ検査畳み込み符号(LDPC−CC:Low-Density Parity-Check Convolutional Codes)化を行う符号化器であって、前記時変周期qが、3より大きい素数であり、時点iの情報ビットX
r[i](r=1,2,…,n−1)を入力し、式(116)であらわされるg番目(g=0、1、・・・、q−1)の0を満たす前記パリティ検査多項式と等価な式を式(118)とし、i%q=kの場合に、式(118)のgにkを代入した式を用いて、時点iのパリティビットP[i]を生成する生成手段と、前記パリティビットP[i]を出力する出力手段と、を具備する。
本発明の復号方法の一つの態様は、符号化率(n−1)/n(nは2以上の整数)のパリティ検査多項式を用いて、時変周期q(3より大きい素数)の低密度パリティ検査畳み込み符号(LDPC−CC:Low-Density Parity-Check Convolutional Codes)化を行う上記符号化方法において、式(116)をg番目(g=0、1、・・・、q−1)の0を満たす前記パリティ検査多項式として用いて符号化された符号化情報系列を復号する復号方法であって、前記符号化情報系列を入力とし、g番目の0を満たす前記パリティ検査多項式である式(116)を用いて生成されるパリティ検査行列に基づいて、信頼度伝播(BP:Belief Propagation)を利用して、前記符号化情報系列を復号する。
本発明の復号器の一つの態様は、符号化率(n−1)/n(nは2以上の整数)のパリティ検査多項式を用いて、時変周期q(3より大きい素数)の低密度パリティ検査畳み込み符号(LDPC−CC:Low-Density Parity-Check Convolutional Codes)化を行う上記符号化方法において、式(116)をg番目(g=0、1、・・・、q−1)の0を満たす前記パリティ検査多項式として用いて符号化された符号化情報系列を復号する復号器であって、前記符号化情報系列を入力とし、g番目の0を満たす前記パリティ検査多項式である式(116)を用いて生成されるパリティ検査行列に基づいて、信頼度伝播(BP:Belief Propagation)を利用して、前記符号化情報系列を復号する復号手段、を具備する。
本発明の符号化方法の一つの態様は、時変周期sの低密度パリティ検査畳み込み符号(LDPC−CC:Low-Density Parity-Check Convolutional Codes)の符号化方法であって、式(98−i)であらわされる第i(i=0、1、・・・、s−2、s−1)パリティ検査多項式を供給するステップと、前記第0から第s−1パリティ検査多項式と入力データとの線形演算によりLDPC−CC符号語を取得するステップと、を有し、Xk(D)の係数AXk,iの時変周期がαk(αkは1より大きい整数)であり(k=1、2、・・・、n−2、n−1)、P(D)の係数BXk,iの時変周期がβ(βは1より大きい整数)であり、前記時変周期sは、α1,α2,・・・αn−2,αn−1,βの最小公倍数であり、i%αk=j%αk(i,j=0、1、・・・、s−2、s−1;i≠j)が成立するとき、式(97)が成立し、i%β=j%β(i,j=0、1、・・・、s−2、s−1;i≠j)が成立するとき、式(98)が成立する。
本発明の符号化方法の一つの態様は、上記符号化方法において、前記時変周期α1、α2、・・・、αn−1、及びβが互いに素の関係である。
本発明の符号化器の一つの態様は、低密度パリティ検査畳み込み符号(LDPC−CC:Low-Density Parity-Check Convolutional Codes)の符号化器であって、上記符号化方法によりパリティ系列を求めるパリティ計算部を具備する。
本発明の復号方法の一つの態様は、時変周期sの低密度パリティ検査畳み込み符号(LDPC−CC:Low-Density Parity-Check Convolutional Codes)化を行う上記符号化方法において、式(98−i)をi番目(i=0、1、・・・、s−1)の0を満たす前記パリティ検査多項式として用いて符号化された符号化情報系列を復号する復号方法であって、前記符号化情報系列を入力とし、i番目の0を満たす前記パリティ検査多項式である式(98−i)を用いて生成されるパリティ検査行列に基づいて、信頼度伝播(BP:Belief Propagation)を利用して、前記符号化情報系列を復号する。
本発明の復号器の一つの態様は、低密度パリティ検査畳み込み符号(LDPC−CC:Low-Density Parity-Check Convolutional Codes)を信頼度伝播(BP:Belief Propagation)を利用して復号する復号器であって、上記符号化器で用いたパリティ検査多項式に対応する検査行列を用いて行処理演算を行う行処理演算部と、前記検査行列を用いて列処理演算を行う列処理演算部と、前記行処理演算部及び前記列処理演算部での演算結果を用いて符号語を推定する判定部と、を具備する。
本発明の符号化方法の一つの態様は、式(119)であらわされる符号化率1/2、時変周期hのg番目(g=0、1、・・・、h−1)のパリティ検査多項式に基づいて定義された低密度パリティ検査畳み込み符号(LDPC−CC:Low-Density Parity-Check Convolutional Codes)から、符号化率1/3の時変周期hの低密度パリティ検査畳み込み符号を生成する符号化方法であって、前記符号化率1/2、前記時変周期hの低密度パリティ検査畳み込み符号を用いた符号化出力である情報及びパリティビットから構成されデータ系列において、前記情報のビット系列からZビットの情報X
j(時点jは時点j
1から時点j
2までに含まれる時点であり、j
1及びj
2は、共に偶数、又は、共に奇数であり、Z=(j
2−j
1)/2である)を選択するステップと、選択した前記Zビットの情報X
jに既知情報を挿入するステップと、前記既知情報を含む前記情報から前記パリティビットを求めるステップと、を有し、前記選択するステップは、前記j
1から前記j
2までに含まれるすべての前記jをhで除算したときに得られるh種類の余りにおいて、各余りとなる個数に基づいて、前記Zビットの情報X
jを選択する。
本発明の符号化方法の一つの態様は、前記時点j1は時点2hiであり、前記時点j2は時点2h(i+k−1)+2h−1であり、前記Zビットは、hkビットであり、
前記選択するステップは、情報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を選択する。
本発明の符号化方法の一つの態様は、前記条件を満たさないγでは、「余りが(0+γ) mod hとなる個数」、「余りが(vp=1+γ) mod hとなる個数」、「余りが(yp=1+γ) mod hとなる個数」はゼロとなる。
本発明の復号方法の一つの態様は、時変周期hの低密度パリティ検査畳み込み符号(LDPC−CC:Low-Density Parity-Check Convolutional Codes)化を行う請求項1に記載の符号化方法において、式(119)をg番目(i=0、1、・・・、h−1)の0を満たす前記パリティ検査多項式として用いて符号化された符号化情報系列を復号する復号方法であって、前記符号化情報系列を入力とし、g番目の0を満たす前記パリティ検査多項式である式(119)を用いて生成されるパリティ検査行列に基づいて、信頼度伝播(BP:Belief Propagation)を利用して、前記符号化情報系列を復号する。
本発明の符号化器の一つの態様は、畳み込み符号から低密度パリティ検査畳み込み符号(LDPC−CC:Low-Density Parity-Check Convolutional Codes)を作成する符号化器であって、上記符号化方法によりパリティを求める計算部を具備する。
本発明の復号器の一つの態様は、低密度パリティ検査畳み込み符号(LDPC−CC:Low-Density Parity-Check Convolutional Codes)を信頼度伝播(BP:Belief Propagation)を利用して復号する復号器であって、上記符号化器で用いたパリティ検査多項式に対応する検査行列を用いて行処理演算を行う行処理演算部と、前記検査行列を用いて列処理演算を行う列処理演算部と、前記行処理演算部及び前記列処理演算部での演算結果を用いて符号語を推定する判定部と、を具備する。
本発明の符号化方法の一つの態様は、式(120−g)であらわされる符号化率(n−1)/n、時変周期hのg番目(g=0、1、・・・、h−1)のパリティ検査多項式に基づいて定義された低密度パリティ検査畳み込み符号(LDPC−CC:Low-Density Parity-Check Convolutional Codes)から、符号化率(n−1)/nより小さい符号化率の時変周期hの低密度パリティ検査畳み込み符号を生成する符号化方法であって、前記符号化率(n−1)/n、前記時変周期hの低密度パリティ検査畳み込み符号を用いた符号化出力である情報及びパリティビットから構成されデータ系列において、前記情報のビット系列からZビットの情報X
f,j(f=1、2、3、・・・、n−1、jは時刻)を選択するステップと、選択した前記情報X
f,jに既知情報を挿入するステップと、前記既知情報を含む前記情報から前記パリティビットを求めるステップと、を有し、前記選択するステップは、時刻jすべてに対し、hで除算したときの余り、及び、当該余りをとる前記時刻jの個数に基づいて、前記情報X
f,jを選択する。
本発明の符号化方法の一つの態様は、上記符号化方法において、前記時刻jは、hi〜h(i+k−1)+h−1のいずれかの値をとる時刻であり、前記選択するステップは、情報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ビットの前記情報Xf,jを選択し、前記時刻jすべてに対し、hで除算したときの余りのうち、「余りが(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以下となる(f=1、2、3、・・・、n−1)ようなγが少なくとも一つ存在するように、前記情報Xf,jを選択する。
本発明の符号化方法の一つの態様は、上記符号化方法において、前記時刻jは、0〜vのいずれかの値をとり、前記選択するステップは、情報X1,0、X2,0、・・・、Xn−1,0、・・・・・・、X1,v、X2,v、・・・、Xn−1,vのビット系列から前記Zビットの前記情報Xf,jを選択し、前記時刻jすべてに対し、hで除算したときの余りのうち、「余りが(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以下となる(f=1、2、3、・・・、n−1)ようなγが少なくとも一つ存在するように、前記情報Xf,jを選択する。
本発明の復号方法の一つの態様は、時変周期hの低密度パリティ検査畳み込み符号(LDPC−CC:Low-Density Parity-Check Convolutional Codes)化を行う上記符号化方法において、式(120−g)をg番目(i=0、1、・・・、h−1)の0を満たす前記パリティ検査多項式として用いて符号化された符号化情報系列を復号する復号方法であって、前記符号化情報系列を入力とし、g番目の0を満たす前記パリティ検査多項式である式(120−g)を用いて生成されるパリティ検査行列に基づいて、信頼度伝播(BP:Belief Propagation)を利用して、前記符号化情報系列を復号する。
本発明の符号化器の一つの態様は、畳み込み符号から低密度パリティ検査畳み込み符号(LDPC−CC:Low-Density Parity-Check Convolutional Codes)を作成する符号化器であって、上記符号化方法によりパリティを求める計算部を具備する。
本発明の復号器の一つの態様は、低密度パリティ検査畳み込み符号(LDPC−CC:Low-Density Parity-Check Convolutional Codes)を信頼度伝播(BP:Belief Propagation)を利用して復号する復号器であって、上記符号化器で用いたパリティ検査多項式に対応する検査行列を用いて行処理演算を行う行処理演算部と、前記検査行列を用いて列処理演算を行う列処理演算部と、前記行処理演算部及び前記列処理演算部での演算結果を用いて符号語を推定する判定部と、を具備する。
本発明は上記全ての実施の形態に限定されず、種々変更して実施することが可能である。例えば、上記実施の形態では、主に、符号化器を実現する場合について説明しているが、これに限られるものではなく、通信装置で実現する場合においても適用可能である。(LSI(:Large Scale Integration)により構成することも可能である。)
また、この符号化方法及び復号化方法をソフトウェアとして行うことも可能である。例えば、上記符号化方法及び通信方法を実行するプログラムを予めROM(Read Only Memory)に格納しておき、そのプログラムをCPU(Central Processor Unit)によって動作させるようにしても良い。
また、上記符号化方法を実行するプログラムをコンピュータで読み取り可能な記憶媒体に格納し、記憶媒体に格納されたプログラムをコンピュータのRAM(Random Access Memory)に記録して、コンピュータをそのプログラムにしたがって動作させるようにしても良い。
また、本発明は、無線通信に限らず、電灯線通信(PLC:Power Line Communication)、可視光通信、光通信においても有用であることは言うまでもない。
また、本明細書において、「時変周期」と記載しているが、これは、時変LDPC-CCが形成する周期となる。
2009年11月13日出願の特願2009−260503、2010年7月12日出願の特願2010−157991、2010年7月30日出願の特願2010−172577、及び、2010年10月14日出願の特願2010−231807に含まれる明細書、図面及び要約書の開示内容は、すべて本願に援用される。
本発明は、複数の符号化率に対応可能な低密度パリティ検査畳み込み符号(LDPC−CC:Low Density Parity Check-Convolutional Codes)を用いた送信装置、送信方法、受信装置及び受信方法に関する。