以下、本発明の実施の形態について図面を参照して詳細に説明する。
(実施の形態1)
実施の形態1では、(7,5)の畳み込み符号から、新しいLDPC−CCを設計する方法について詳しく説明する。
図1は、(7,5)の畳み込み符号の符号化器の構成を示す図である。図1に示す符号化器は、シフトレジスタ101、102と、排他的論理和回路103、104、105と、を有する。図1に示す符号化器は、入力xに対し、出力xとパリティpを出力する。この符号は組織符号である。
なお、本発明では、組織符号である畳み込み符号を用いることが重要となる。この点については、実施の形態2において詳しく説明する。
符号化率1/2、生成多項式G=[1 G
1(D)/G
0(D)]の畳み込み符号を例に考える。このとき、G
1はフィードフォワード多項式、G
0はフィードバック多項式をあらわす。情報系列(データ)の多項式表現をX(D)、パリティ系列の多項式表現をP(D)とするとパリティ検査多項式は、以下の式(1)のようにあらわされる。
ここで、Dは、遅延演算子である。
図2に、(7,5)の畳み込み符号に関する情報を記載する。(7,5)畳み込み符号の生成行列はG=[1 (D
2+1)/(D
2+D+1)]とあらわされる。したがって、パリティ検査多項式は、以下の式(2)となる。
ここで、時点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とあらわす。すると、式(2)から、検査行列Hは図2に示すようにあらわすことができる。このとき、以下の式(3)の関係式が成立する。
したがって、受信装置では、検査行列Hを用い、非特許文献8〜非特許文献10に示されているようなBP(Belief Propagation)(信頼度伝播)復号、BP復号を近似したmin-sum復号、offset BP復号、Normalized BP復号、shuffled BP復号などの信頼度伝播を利用した復号を行うことができる。
ここで、図2の検査行列において、行番号=列番号の「1」より左下の部分(図2の201の左下の部分)を近似下三角行列と定義する。行番号=列番号の「1」より右上の部分を上台形行列と定義する。
次に、本発明におけるLDPC−CCの設計方法について詳しく説明する。
符号化器を簡単な構成で実現するために、本実施の形態では、図2に示した(7,5)の畳み込み符号のための検査行列Hの近似下三角行列に「1」を追加する手法をとる。
<符号化方法>
ここでは、一例として図2の検査行列に対し、追加する「1」は、データ、パリティそれぞれに1つとするものとする。図2の検査行列Hの近似下三角行列に「1」をデータ、パリティそれぞれに1つ追加した場合、検査多項式は以下の式(4)のようにあらわされる。ただし、式(4)において、α≧3、β≧3である。
したがって、パリティP(D)は、以下の式(5)のようにあらわされる。
検査行列の近似下三角行列に「1」を追加した場合、DβP(D)、D2P(D)、DP(D)は過去のデータであり、既知の値であるから、簡単にパリティP(D)を求めることができる。
<「1」を追加する位置>
次に、図3を用いて、追加する「1」の位置について詳しく説明する。図3において、符号301は時点iのデータXiの復号に関連する「1」、符号302は時点iのパリティPiに関連する「1」である。点線303は、1回のBP復号を行った場合、時点iのデータXi、パリティPiに対し、外部情報の伝播に関与するプロトグラフである。つまり、時点i−2から時点i+2の信頼度が伝播に関与することになる。
プロトグラフ303の最右にある「1」(304)に対し、縦軸に境界線305を引く。そして、境界線305に隣接する最左の「1」(306)に対し、境界線307を引く。そして、時点iのデータXi、パリティPiに境界線305以降の信頼度が伝播するように、領域308にいずれかに「1」を追加する。これにより、「1」を追加する以前には得られなかった確率、つまり、時点i−2から時点i+2以外の信頼度を伝播させることができる。なお、新規の確率を伝播させるには、図3の領域308に追加する必要がある。
ここで、図3の検査行列Hの各行において、最右の「1」と最左の「1」の幅をLとする。これまでは、「1」を追加する位置を列方向で説明した。これを、行方向で考えると、図2の検査行列において、最左の「1」からL−2以上左の位置に「1」を追加することになる。また、検査多項式で説明した場合、式(4)において、αを5以上、βを5以上に設定すればよい。
これを一般式であらわして考える。畳み込み符号のパリティ検査多項式の一般式は以下の式(6)のようにあらわされる。
検査行列Hの近似下三角行列に「1」をデータ、パリティそれぞれに1つ追加した場合、検査多項式は以下の式(7)のようにあらわされる。
この場合、αを2K+1以上、βを2K+1以上に設定すればよい。K≧2である。
図4は、図3の検査行列の近似下三角行列に「1」を追加した場合の一例を示す図である。そして、すべての時点のデータ、パリティに対し「1」を追加すると、検査行列は図5のようにあらわされる。図5は、本実施の形態におけるLDPC−CCの検査行列の構成の一例を示す図である。図5において、領域501、502内の「1」が、追加した「1」であり、検査行列Hを持つ符号が本実施の形態におけるLDPC−CCとなる。このとき、検査多項式は以下の式(8)のようにあらわされる。
以上のように、送信装置では、検査行列Hの近似下三角行列に「1」を追加して畳み込み符号からLDPC−CCを作成することにより、受信装置では、作成したLDPC−CCの検査行列を用いて、BP復号または近似したBP復号を行えば、良好な受信品質を得ることができる。
なお、本実施の形態では、データ、パリティに対し、それぞれ「1」を1個追加する場合について説明したが、本発明はこれに限られず、例えばデータ、パリティのいずれかに対し「1」を追加する方法でもよい。例えば、データに対し「1」を追加し、パリティに対しては「1」を追加しないとしてもよい。一例として、上記式(7)において、Dβがない場合を考える。このとき、αを2K+1以上にすると受信装置は良好な受信品質を得ることができる。逆に、式(7)において、Dαがない場合を考える。このとき、βを2K+1以上にすると受信装置は良好な受信品質を得ることができる。
また、データ、パリティの両者に対し、複数個の「1」を追加した符号でも受信品質は大きく改善される。例えば、複数個挿入する場合の例として、ある畳み込み符号のパリティ検査多項式を式(9)であらわすものとする。なお、式(9)において、K≧2である。
検査行列Hの近似下三角行列に「1」をデータ、パリティに対し複数個追加した場合、検査多項式は以下の式(10)のようにあらわされる。
この場合、α1,・・・,αnを2K+1以上、β1,・・・,βmを2K+1以上に設定すると受信装置において良好な受信品質を得ることができる。この点は本実施の形態では重要である。
ただし、α1,・・・,αnのうちの1つ以上が2K+1以上を満たす場合でも受信装置において良好な受信品質を得ることができる。また、β1,・・・,βmのうちの1つ以上が2K+1以上を満たす場合でも受信装置において良好な受信品質を得ることができる。
また、LDPC−CCの検査多項式が以下の式(11)のようにあらわされた場合、α
1,・・・,α
nを2K+1以上に設定すると受信装置のおいて良好な受信品質を得ることができる。この点は本実施の形態では重要である。
ただし、α1,・・・,αnのうち1つ以上が2K+1以上を満たす場合でも受信装置において良好な受信品質を得ることができる。
同様に、LDPC−CCの検査多項式が以下の式(12)のようにあらわされた場合、β
1,・・・,β
mを2K+1以上に設定すると受信装置のおいて良好な受信品質を得ることができる。この点は本実施の形態では重要である。
ただし、β1,・・・,βmのうち1つ以上が2K+1以上を満たす場合でも受信装置において良好な受信品質を得ることができる。
次に、(7,5)畳み込み符号の式(2)とは異なるパリティ検査多項式からLDPC−CCを設計する方法について詳しく説明する。ここでは一例として、データに対し「1」を2個、パリティに対し「1」を2個追加する場合を例に説明する。
(7,5)畳み込み符号の式(2)とは異なるパリティ検査多項式が、非特許文献11に示されている。その一例は次の式(13)のようにあらわされる。
この場合、検査行列Hは、図6のようにあらわすことができる。
<符号化方法>
ここでは、図6の検査行列に対し、データ、パリティそれぞれに「1」を2つずつ追加する場合について説明する。図6の検査行列Hの近似下三角行列にデータ、パリティそれぞれに「1」を2つ追加した場合、検査多項式は以下の式(14)のようにあらわされる。
したがって、パリティP(D)は以下の式(15)のようにあらわすことができる。
このように、検査行列の近似下三角行列に「1」を追加した場合、Dβ1P(D)、Dβ2P(D)、D9P(D)、D8P(D)、D3P(D)、DP(D)は過去のデータであり、既知の値であるから、簡単にパリティP(D)を求めることができる。
<「1」を追加する位置>
上述と同様の効果を得るためには、α1,α2を19以上、β1,β2を19以上に設定すると受信装置において良好な受信品質を得ることができる。一例として、図7の検査行列では、α1=26、α2=19、β1=30、β2=24としている。これにより、上述と同様な理由から、受信装置では、良好な受信品質を得ることができる。
以上の例から、畳み込み符号からLDPC−CCを作成する方法は以下のような手順となる。なお、以下の手順は、畳み込み符号が符号化率1/2の場合の例である。
<1>良好な特性を与える畳み込み符号を選択する。
<2>選択した畳み込み符号の検査多項式を生成する(例えば、式(6))。ただし、選択した畳み込み符号を組織符号として利用することが重要となる。また、検査多項式は、上述のとおり一つに限らない。良好な受信品質を与える検査多項式を選択する必要がある。このとき、生成多項式から生成した検査多項式より次数が大きく等価な検査多項式を用いるほうがよい(非特許文献11参照)。
<3>選択した畳み込み符号の検査行列Hを作成する。
<4>データ、または(および)、パリティに対し、確率伝播を考慮し、検査行列に対し「1」を追加する。「1」を追加する位置については、上述で説明したとおりである。
本実施の形態では、(7,5)畳み込み符号からLDPC−CCを作成する方法を説明したが、本発明は(7,5)畳み込み符号に限ったものではなく、他の畳み込み符号を用いても同様に実施することができる。このとき、良好な受信品質を与える畳み込み符号の生成多項式Gについては非特許文献12に詳しく記載されている。
以上のように、本実施の形態によれば送信装置では、式(10)において、α1,・・・,αnを2K+1以上、β1,・・・,βmを2K+1以上に設定し、畳み込み符号からLDPC−CCを作成することにより、受信装置では、作成したLDPC−CCの検査行列を用いてBP復号または近似したBP復号を行えば、良好な受信品質を得ることができる。また、畳み込み符号からLDPC−CCを作成した場合、プロトグラフ、つまり、検査多項式のサイズが、非特許文献6、非特許文献7で示されているプロトグラフよりサイズが非常に小さいため、送信データのビット数が小さいパケットを送信するときに発生する余分なビットの数を少なくすることができ、データの伝送効率が低下するという課題を抑制することができる。
(実施の形態2)
実施の形態2では、(7,5)畳み込み符号から、新しいLDPC−CCを設計する方法、特に、検査行列の上台形行列に「1」を追加する方法について詳しく説明する。
(7,5)畳み込み符号の検査多項式、検査行列Hの構成については実施の形態1で説明したとおりである。
本発明におけるLDPC−CCの設計方法について詳しく説明する。
符号化器を簡単な構成で実現するために、本実施の形態での発明では、図8に示した(7,5)畳み込み符号のための検査行列Hの上台形行列に「1」を追加する手法をとる。
<符号化方法>
ここでは、一例として図8の検査行列に対し、追加する「1」は、データ、パリティそれぞれに追加するものと仮定する。この場合、検査多項式は以下の式(16)のようにあらわされる。なお、式(16)において、α
1、・・・、α
n≦−1、β
1、・・・、β
m≦−1である。
したがって、パリティP(D)は以下の式(17)のようにあらわすことができる。
ここで、式(17)において、D
α1X(D)、・・・、D
αnX(D)は、入力データであるため既知であるが、D
β1P(D)、・・・、D
βmP(D)は未知の値である。したがって、検査行列Hの上台形行列のうち、データに関連するものに対し、「1」を挿入することは可能であるが、パリティに関連するものに対し、「1」を挿入してもパリティビットを求めることが困難である。よって、検査行列Hの上台形行列のうち、データに関連するものに対し、「1」を挿入する。つまり、検査多項式が式(18)とあらわされる場合、パリティP(D)は、以下の式(19)のようにあらわすことができ、パリティP(D)を求めることができる。
ここで、非組織符号の場合、検査多項式には、パリティビットのみしか存在しないため、上記で説明したとおり、検査行列Hの上台形行列に「1」を追加すると、パリティビットを求めることが困難である。このように、本発明では、組織符号の畳み込み符号を用いることが重要であることがわかる。
<「1」を追加する位置>
次に、図8を用いて、追加する「1」の位置について詳しく説明する。図8において、符号801は時点iのデータXiの復号に関連する「1」、符号802は時点iのパリティpiに関連する「1」である。点線803は、1回のBP復号を行った場合、時点iのデータXi、パリティPiに対し、外部情報の伝播に関与するプロトグラフである。つまり、時点i−2から時点i+2の信頼度が伝播に関与することになる。
そして、実施の形態1と同様に、境界線804、805を引く。そして、時点iのデータXiに境界線804以前の信頼度が伝播するように、領域806のいずれかに「1」を追加する。これにより、「1」を追加する以前には得られなかった確率、つまり、時点i−2から時点i+2以外の確率を伝播させることができる。なお、新規の確率を伝播させるには、図8の領域806に追加する必要がある。
ここで、図8の検査行列Hの各行において、最右の「1」と最左の「1」の幅をLとする。これまでは、「1」を追加する位置を列方向で説明した。これを、行方向で考えると、図2の検査行列において、最右の「1」からL−2以上右の位置に「1」を追加することになる。また、検査多項式で説明した場合、式(18)において、α1,・・・,αnを−2以下に設定すればよい。
これを一般式であらわして考える。畳み込み符号のパリティ検査多項式の一般式は式(6)のようにあらわされる。
検査行列Hの上台形行列に「1」をデータに対し追加した場合、検査多項式は以下の式(20)のようにあらわされる。
この場合、α1,・・・,αnを−K−1以下に設定するとよりよい受信品質をえることができる。ただし、α1,・・・,αnのうち一つ以上が、−K−1以下の条件を満たしていても、良好な受信品質を得ることができる。
図9は、図3の検査行列の上台形行列に「1」を追加した場合の一例を示す図である。図9では、領域806に「1」が追加された例である。そして、検査行列Hの上台形行列のすべての時点のデータに対し「1」を追加すると、検査行列は図10のようにあらわされる。図10は、本実施の形態におけるLDPC−CCの検査行列の構成の一例を示す図である。図10において、領域1001内の「1」は、追加された「1」であり、図10に示す行列Hを検査行列とする符号が本実施の形態におけるLDPC−CCとなる。このとき、検査多項式は以下の式(21)のようにあらわされる。
以上のように、本実施の形態によれば送信装置では、式(20)において、α1,・・・,αnを−K−1以下に設定し、畳み込み符号からLDPC−CCを作成することにより、受信装置では、作成したLDPC−CCの検査行列を用いてBP復号または近似したBP復号を行えば、良好な受信品質を得ることができる。なお、本実施の形態では、データ、に対し、検査行列の上台形行列に「1」を追加する例を説明したが、本発明はこれに限られず、実施の形態1と組み合わせ、検査行列の上台形行列に「1」を追加するだけでなく、検査行列の近似下三角行列に「1」を追加してもよい。このとき、実施の形態1に記載した条件を満たすと、よりよい受信品質を確保することができる。
そして、検査行列の上台形行列に「1」を追加した場合、後述する実施の形態3の終端における収束速度の向上につながるという利点もある。この点については、実施の形態3で詳しく説明する。
また、本実施の形態によれば、実施の形態1と同様に、(7,5)畳み込み符号の式(2)とは異なるパリティ検査多項式からLDPC−CCを設計することもできる。
本実施の形態では、(7,5)畳み込み符号からLDPC−CCを作成する方法を説明したが、(7,5)畳み込み符号に限ったものではなく、他の畳み込み符号を用いても同様に実施することができる。このとき、良好な受信品質を与える畳み込み符号の生成多項式Gについては非特許文献12に詳しく記載されている。
また、畳み込み符号からLDPC−CCを作成した場合、プロトグラフ、つまり、検査多項式のサイズが、非特許文献6,非特許文献7で示されているプロトグラフよりサイズが非常に小さいため、送信データのビット数が小さいパケットを送信するときに発生する、送信する余分なビットの数を少なくでき、データの伝送効率が低下するという課題を抑制することができる。
(実施の形態3)
実施の形態3では、実施の形態1で述べたように、畳み込み符号からLDPC−CCを生成する際、検査行列の近似下三角行列に「1」を追加した場合の終端(termination)の課題と、その問題を解決する方法について説明する。
図11は、終端の際の検査行列の一例を示す図である。図11において、符号1100は情報ビットと終端ビットとの境界を示す。なお、「情報ビット」は、送信装置が受信装置に対して送信したい情報に関するビットである。一方、「終端ビット」は、情報ビットを正確に伝えるための余分なビットであり、終端ビット自身は、受信装置が必要としている情報には属さず、情報ビットを的確に受信するために必要なビットである。
ここで、情報ビットにおける、データビットの最終ビットをXf、パリティビットの最終ビットをPfとし、その時点をfとする。図11の領域1103における符号1101が時点fのデータに関する「1」、符号1102が時点fのパリティに関する「1」に相当する。
図11のプロトグラフに対応する検査多項式は、以下の式(22)のようにあらわされる。
図11において、符号1104は終端ビット用の検査行列である。終端ビットで送信するデータビットを「0」とする。ただし、終端ビットで送信するデータビットを「0」とするのは一例であり、送受信機において、既知の情報であれば、終端ビットで送信するデータビットは、どのような系列であっても終端ビットとなりうる。
図11では、時点f+1、つまり、終端ビットの最初の検査多項式は、以下の式(23)のようにあらわされる。
また、時点f+2の終端ビットにおける検査多項式は、以下の式(24)のようにあらわされる。
このように、本実施の形態では、図11に示しているように、終端ビットでは、時間とともに、追加された「1」の位置をずらす、また、時間とともに、検査多項式の次数を小さくすることを特徴としている。図11において、符号1105が、終端ビットの追加に関連する「1」の構成の一例を示している。なお、図11では、追加された「1」は、パリティに存在する。
そして、送信装置から送信される終端ビットの系列は既知であるので、受信装置では、BP復号を行う際、終端ビットの尤度を既知に設定することができる。
以上のように、本実施の形態によれば、終端ビットにおいて、時間とともに、検査多項式の次数を小さくすることにより、トレリス線図が安定する(収束する)速度が向上することになる。したがって、終端のために送信するビット数を削減することができ、データの伝送効率を向上させることができる。
図12は、図11とは異なる「情報ビット」および「終端ビット」に関連する検査行列の構成の一例を示す図である。図12において、符号1200は情報ビットと終端ビットとの境界を示す。
ここで、情報ビットにおける、データビットの最終ビットをXf、パリティビットの最終ビットをPfとし、その時点をfとする。図12の領域1203における符号1201が時点fのデータに関する「1」、符号1202が時点fのパリティに関する「1」に相当する。
図12のプロトグラフに対応する検査多項式は、以下の式(25)のようにあらわされる。
図12において、符号1204は終端ビット用の検査行列である。終端ビットで送信するデータビットを「0」とする。なお、終端ビットで送信するデータビットを「0」とするのは一例であり、送受信装置において、既知の情報であれば、終端ビットで送信するデータビットは、どのような系列であってもよい。
図12では、時点f+1、つまり、終端ビットの最初の検査多項式は、以下の式(26)のようにあらわされる。
また、時点f+2の終端ビットにおける検査多項式は、以下の式(27)のようにあらわされる。
このように、図12に示しているように、終端ビットでは、時間とともに、追加された「1」の位置をずらす、また、時間とともに、検査多項式の次数を小さくすることを特徴としている。図12において、符号1205が、終端ビットの追加に関連する「1」の構成の一例である。なお、図12では、追加された「1」は、データに存在する。
また、情報ビットの受信品質の劣化を防ぐために、実施の形態1で述べたように、「2K+1以上」の条件を満たすように、検査多項式の次数を小さくする。したがって、最終的な終端ビットの検査多項式は、例えば、以下の式(28)のようにあらわされる。
そして、送信装置から送信される終端ビットの系列は既知であるので、受信装置では、BP復号を行う際、終端ビットの尤度を既知に設定することができる。
以上のように、本実施の形態によれば、終端ビットにおいて、時間とともに、検査多項式の次数を小さくすることにより、トレリス線図が安定する(収束する)速度を向上させることができる。したがって、終端のために送信するビット数を削減することができ、データの伝送効率を向上させることができる。
次に、実施の形態2で述べた検査行列の上台形行列に「1」を追加する方法を用いたときの終端方法の一例について述べる。図13は、図11、図12とは異なる「情報ビット」および「終端ビット」に関連する検査行列の構成の一例を示す図である。図13において、符号1300は情報ビットと終端ビットとの境界を示す。
ここで、情報ビットにおける、データビットの最終ビットをXf、パリティビットの最終ビットをPfとし、その時点をfとする。図13の領域1303における符号1301が時点fのデータに関する「1」、符号1302が時点fのパリティに関する「1」に相当する。
図13のプロトグラフに対応する検査多項式は、以下の式(29)のようにあらわされるものとする。
図13において、符号1304は終端ビット用の検査行列である。終端ビットで送信するデータビットを「0」とする。なお、終端ビットで送信するデータビットを「0」とするのは一例であり、送受信装置において、既知の情報であれば、終端ビットで送信するデータビットは、どのような系列であってもよい。
図13では、時点f+1、つまり、終端ビットの最初の検査多項式は、以下の式(30)のようにあらわされる。
また、時点f+2の終端ビットにおける検査多項式は、以下の式(31)のようにあらわされる。
このように、図13に示しているように、終端ビットでは、時間とともに、追加された「1」の位置をずらす、また、時間とともに、検査多項式の次数を小さくすること(図13の符号1305に相当)を特徴としている。図13において、符号1304が、終端ビットのプロトグラフの構成の一例である。なお、図13では、追加された「1」は、データ及びパリティに存在する。
また、情報ビットの受信品質の劣化を防ぐために、実施の形態1で述べたように、「2K+1以上」の条件を満たすように、検査多項式の次数を小さくする。
図13の終端ビットにおけるもう一つの特徴として、図13の符号1305から符号1306への変化のとおり、検査行列に追加挿入した「1」の数を2個から1個へ変化させている点である。これにより、トレリス線図が安定する(収束する)速度が向上する。
なお、本実施の形態では、検査行列に追加する「1」の数を情報ビット送信時は2個、その後、終端ビット送信時に1個と減少させる例で説明しているが、本発明これに限られず、例えば、検査行列に追加する「1」の数を情報ビット送信時はM個、その後、終端ビット送信時にN個(M>N)と減少させても同様な効果を得ることができる。
図13において、検査行列の上台形行列に「1」を追加した場合(図13の符号1307の「1」)の利点について説明する。例えば、図13の時点f−2のデータXf−2(1308)およびパリティPf−2(1309)では、終端ビット1310の影響を受けることになる。これにより、受信装置では、時点f−2のデータXf−2(1308)の受信品質は向上することになる。同様に、時点f−2以降のデータについても同様の効果を得ることができる。このように、検査行列の上台形行列に「1」を追加した場合、上記記載の効果により、トレリス線図が安定する(収束する)速度を向上させることができる。
本実施の形態では、規則的に検査多項式の次数を減少させている(行数が1つ増加するごとに次数を減少させている)が、本発明は、規則的でなくても同様な効果を得ることができ、例えば、数行ごとに次数を減らしても同様の効果を得ることができる。
(実施の形態4)
実施の形態1および実施の形態2では、(7,5)の畳み込み符号つまりフィードバック型の畳み込み符号からLDPC−CCを設計する方法について述べた。本実施の形態では、実施の形態1および実施の形態2で説明したLDPC−CCの設計方法をフィードフォワード型の畳み込み符号に適用した場合について説明する。フィードフォワード型の畳み込み符号を用いる利点は、拘束長が同一の場合、フィードフォワード型の畳み込み符号の検査行列の検査行列では、フィードバック型の畳み込み符号の検査行列に比べ、行重みおよび列重みが小さく、また、タナーグラフを描いた際の長さ4のループの存在する数が少ないという特徴がある。ループとは、あるノードから始まり、そのノードで終わる周回路(周回するパス)であり、長さ4のループの数が多いと、受信品質が劣化する(非特許文献13参照)。そのため、フィードフォワード型の畳み込み符号を用いる場合、BP復号を行った際、受信品質がよくなる可能性が高い。そこで、フィードフォワード型の畳み込み符号から設計したLDPC−CCは、フィードバック型の畳み込み符号から設計したLDPC−CCより、性能がよいという特徴をもつ。
非特許文献12には、フィードフォワード型でかつ組織符号である畳み込み符号が記載されている。以下では、一例として、(1,1547)の畳み込み符号を用いる場合について説明する。(1,1547)の畳み込み符号の検査多項式は、次式のようにあらわされる。
そして、(1,1547)の畳み込み符号の式(32)とは異なるパリティ検査多項式の例として、次式を用いる。
そして、LDPC−CC用の検査多項式として、以下式より与えられるP(D)を考える。
このとき、α1,・・・, αeは15以上の整数、β1,・・・, βfは15以上の整数、γ1,・・・, γgは−1以下の整数とする。このとき、実施の形態1および実施の形態2で説明したように、α1,・・・, αeのうち少なくとも一つは29以上の整数に設定し、β1,・・・, βfのうち少なくとも一つは29以上の整数に設定し、γ1,・・・, γgのうち少なくとも一つは−15以下の整数に設定する。なお、α1,・・・, αeすべてを29以上の整数に設定し、β1,・・・, βfすべてを29以上の整数に設定し、γ1,・・・, γgすべてを−15以下に設定するとより効果的である。このように設定すると、受信品質(復号性能)を大きく改善することができる。
例えば、式(40)において、γ1=−25、γ2=−55、γ3=−95と設定したり、式(40)において、γ1=−25、γ2=−65と設定したり、式(39)において、β1=35、γ1=−40、γ2=−90すると受信品質(復号性能)が大きく改善する。
ただし、式(36)、式(37)、式(39)においては、α1,・・・, αeのうち少なくとも一つは29以上の整数に設定する、または、β1,・・・, βfのうち少なくとも一つは29以上の整数に設定する、または、γ1,・・・, γgのうち少なくとも一つは−15以下に設定する場合においても受信品質(復号性能)を大きく改善できる。
(実施の形態5)
本実施の形態では、符号化率1/2のLDPC−CCから、符号化率1/3のLDPC−CCを作成する方法について詳しく説明する。以下では、非特許文献12に示されるフィードフォワード型で、かつ、組織符号である畳み込み符号、(1,1547)の畳み込み符号を用いて説明する。(1,1547)の畳み込み符号の検査多項式は、次式のようにあらわされる。
そして、(1,1547)の畳み込み符号の式(41)とは異なるパリティ検査多項式の例として、次式を用いる。
ここで、新たなパリティ系列の多項式として、以下式により与えられるPn(D)を考える。
時点iにおけるデータをXi、時点iにおける式(42)のP(D)に関するパリティをPi、時点iにおける式(43)、または、式(44)、または、式(45)のPn(D)に関するパリティPniとすると送信系列Wi=(Xi,Pi,Pni)であらわすことができる。
そして、LDPC−CC用のX(D)、P(D)に関する検査多項式として、実施の形態4と同様に以下の式を考える。
このとき、α1,・・・, αeは15以上の整数、β1,・・・, βfは15以上の整数、γ1,・・・, γgは−1以下の整数とする。このとき、実施の形態1および実施の形態2で説明したように、α1,・・・, αeのうち少なくとも一つは29以上の整数に設定し、β1,・・・, βfのうち少なくとも一つは29以上の整数に設定し、γ1,・・・, γgのうち少なくとも一つは−15以下に設定する。ただし、α1,・・・, αeすべてを29以上の整数に設定し、β1,・・・, βfすべてを29以上の整数に設定し、γ1,・・・, γgすべてを−15以下に設定するとより効果的である。このように設定すると、受信品質(復号性能)が大きく改善する。
そして、LDPC−CC用の新たなパリティ系列Pn(D)に関する検査多項式を式(43)〜式(45)のいずれかとする。このとき、a1,・・・, avのうち少なくとも一つは29以上の整数とする、または、a1,・・・, avのうち少なくとも一つは−15以下の整数に設定する。そして、bw,・・・, bwのうち少なくとも一つは29以上の整数に設定する。ただし、a1,・・・, avすべてを29以上の整数または−15以下の整数に設定すると、受信品質(復号性能)が大きく改善する。また、b1,・・・, bwの全てを29以上の整数に設定しても、受信品質(復号性能)が大きく改善する。ここで、c1,・・・,cyについては制約を与えていないが、c1,・・・,cyのうち少なくとも一つは29以上の整数とすると効果的であり、また、一般的には、c1,・・・,cyの中には、“0”となるものが一つ存在する。
以下、符号化率1/2の畳み込み符号から、符号化率1/3の畳み込み符号のLDPC−CCを生成する方法についてまとめる。
符号化率1/2の畳み込み符号の検査多項式を、以下式であらわし、+K
x(データX(D)の項の最大次数)、K
1(パリティP(D)の項の最大次数)のうちの最大値をK
maxとする。
そして、実施の形態1〜4および他の実施の形態1のように、X(D)とP(D)のLDPC−CC用の検査多項式を作成する。その後、新たなパリティ系列の多項式として、式(54)〜式(56)から得られるPn(D)を考える。
このとき、a1,・・・,avのうち少なくとも一つは2Kmax+1以上の整数とする、または、a1,・・・,avのうち少なくとも一つは−Kmax−1以下の整数に設定する。そして、b1,・・・,bwのうち少なくとも一つは2Kmax+1以上の整数に設定する。なお、a1,・・・,avすべてを2Kmax+1以上の整数、または、−Kmax−1以下の整数に設定すると、受信品質(復号性能)が大きく改善する。また、b1,・・・,bwすべてを2Kmax+1以上の整数に設定しても受信品質(復号性能)が大きく改善する。ここで、c1,・・・,cyについては制約を与えていないが、c1,・・・,cyのうち少なくとも一つは2Kmax+1以上の整数とすると効果的であり、また、一般的には、c1,・・・,cyの中には、“0”となるものが一つ存在する。
以上のように、本実施の形態では、符号化率1/3用の新たなパリティ系列として、式(54)〜式(56)から得られる多項式Pn(D)を用いて、符号化率1/2の畳み込み符号から符号化率1/3のLDPC−CCを生成するようにした。この場合に、a1,・・・, av、b1,・・・, bwに対し、上述したような制限を設けることにより、符号化率1/2用の検査多項式P(D)に変更を加えることなく、信頼度が伝播する範囲を拡大することができるようになり、受信品質(復号性能)を改善することができる。
以上、符号化率1/2の畳み込み符号から符号化率1/3のLDPC−CCを生成する方法について説明した。なお、符号化率1/4以下のLDPC−CCを生成する場合についても、符号化率1/3のLDPC−CCを生成するときと同様の条件で新たなパリティの検査多項式を生成すれば、符号化率1/4以下のLDPC−CCを生成することができる。
(実施の形態6)
実施の形態4で説明した畳み込み符号からLDPC−CCを生成する方法の変形例について詳しく説明する。
実施の形態4で説明した、LDPC−CC用の検査多項式として、以下のいずれかの多項式を考える。
このとき、α1,・・・, αeは15以上の整数、β1,・・・, βfは15以上の整数、γ1,・・・, γgは−1以下の整数とする。このとき、実施の形態1および実施の形態2で説明したように、α1,・・・, αeのうち少なくとも一つは29以上の整数に設定し、β1,・・・, βfのうち少なくとも一つは29以上の整数に設定し、γ1,・・・, γgのうち少なくとも一つは−15以下の整数に設定する。なお、α1,・・・, αeすべてを29以上の整数に設定し、β1,・・・, βfすべてを29以上の整数に設定し、γ1,・・・, γgすべてを−15以下に設定するとより効果的である。
そして、元の畳み込み符号の「1」および最大次数「D14」を除く項、つまり、図14の項1401(D10)、項1402(D5、D4、D3、D1)のうちから、いくつかの項を選択する。例えば、図14のように項1401(D10)を選択する。そして、選択した項を除去し、図14の多項式1403、多項式1404のような検査多項式を考える。図14の多項式1403では、D10が削除され、Dzの項がX(D)に関し追加されている。図14の多項式1404では、D10が削除され、Dzの項がP(D)に関し追加されている。このとき、実施の形態4の説明と同様に、最大次数Kmax(=14)に対し、zを2Kmax+1以上の整数とすることで、受信品質は改善する。また、図14の多項式1403の場合、zを−Kmax−1以下の整数としても、受信品質は改善する。
図14では、項1401(D10)を選択し、Dzの項を追加する場合について説明したが、これに限ったものでなく、項1401、項1402から複数個選択し、その項を除去し、また、複数のDzの項を追加して、LDPC−CCの検査多項式を作成してもよい。
このように、本実施の形態では、元の畳み込み符号の最大次数DKを除いて、項を少なくとも一つ削除し、更に、z≧2Kmax+1を満たすDzの項を少なくとも一つ、X(D)又はP(D)に関し追加した。上記構成のパリティ検査多項式を用いてLDPC−CCを構成するようにした。なお、Dzの項を、X(D)及びP(D)に追加するようにしてもよい。
また、式(57)を例に説明したが、これに限ったものではなく、式(58)〜式(63)のいずれの場合でも同様に実施することができる。このような操作をすることで、非特許文献13で述べられているタナーグラフにおける長さ4のループ、または、長さが小さいループ、例えば、長さ6のループを削除できるため、受信品質の大幅な向上につながる。
(実施の形態7)
本実施の形態では、パンクチャを容易に行うことが可能であり、かつ、符号化器の構成が簡単な時変LDPC−CCの構成について説明する。特に、本実施の形態では、周期的にデータをパンクチャすることができるLDPC−CCについて説明する。LDPC符号では、これまで、周期的にデータをパンクチャするパンクチャ方法については、十分な検討がなされておらず、特に、簡単にパンクチャを行う方法について、十分に議論がされているわけではない。本実施の形態におけるLDPC−CCでは、データをランダムにパンクチャするのではなく、周期的に、かつ、規則的にパンクチャすることができると、受信品質の劣化を抑えることができる。以下では、符号化率R=1/2の上記を実現できる時変LDPC−CCの構成方法について説明する。
符号化率1/2のとき、情報系列(データ)の多項式表現をX(D)、パリティの系列の多項式表現をP(D)とすると、パリティ検査多項式は以下のようにあらわされる。
式(64)において、a1、a2、・・・、anは1以上の整数(ただし、a1≠a2≠・・・≠anであり、a1からanは互いに、全て異なる)とする。なお、「X≠Y≠・・・≠Z」と標記する場合、X、Y、・・・、Zは互いに、全て異なることを表すものとする。また、b1、b2、・・・bmは1以上の整数(ただし、b1≠b2≠・・・≠bm)とする。ここで、符号化を容易に行うことを可能とするため、D
0X(D)、および、D
0P(D)の項(D
0=1)が存在するものとする。したがって、P(D)は以下のようにあらわされる。
式(65)から分かるように、D0=1が存在し、かつ、過去のパリティの項、つまり、b1、b2、・・・bmが1以上の整数であるため、パリティPを逐次的に求めることができる。
次に、式(64)とは異なる符号化率1/2のパリティ検査多項式を以下のようにあらわす。
式(66)において、A1、A2、・・・、ANは1以上の整数(ただし、A1≠A2≠・・・≠AN)とする。また、B1、B2、・・・、BMは1以上の整数(ただし、B1≠B2≠・・・≠BM)とする。ここで、符号化を容易に行うことを可能とするため、D
0X(D)およびD
0P(D)の項(D
0=1)が存在するものとする。このときP(D)は、式(67)のようにあらわされる。
以下、時点2iのデータXとパリティPをそれぞれX2i、P2iであらわし、時点2i+1のデータXとパリティPをそれぞれX2i+1、P2i+1であらわす(i:整数)。
本実施の形態では、時点2iのパリティP2iは式(65)を用いて算出し(符号化し)、時点2i+1のパリティP2i+1は式(67)を用いて算出する(符号化する)時変周期が2のLDPC−CCを提案する。上述の実施の形態と同様に、パリティは、逐次的に簡単に求めることができるという利点がある。
以下では、式(64)及び式(66)の一例として、式(68)及び式(69)を用いて説明する。
このとき検査行列Hは、図15のようにあらわすことができる。図15において、(Ha,11)は式(68)に相当する部分であり、(Hc,11)は式(69)に相当する部分である。以下では、(Ha,11)及び(Hc,11)をサブ行列と定義する。
このように、本提案の時変周期2のLDPC−CCの検査行列Hを、式(64)のパリティ検査多項式をあらわす第1サブ行列と、式(66)のパリティ検査多項式をあらわす第2サブ行列と、により定義することができる。具体的には、検査行列Hにおいて、第1サブ行列と第2サブ行列とが、行方向に交互に配置されるようにした。なお、符号化率1/2の場合、第i行と第i+1行とでは、サブ行列が2列右にシフトした構成となる(図15参照)。
また、時変周期2の時変LDPC−CCの場合、第i行のサブ行列と第i+1行のサブ行列とは、異なるサブ行列となる。つまり、サブ行列(Ha,11)又は(Hc,11)のいずれか一方が第1サブ行列であり、他方が第2サブ行列となる。送信ベクトルuを、u=(X0、P0、X1、P1、・・・、Xk、Pk、・・・・)Tとすると、Hu=0が成立する。この点については、実施の形態1で説明したとおりである(式(3)参照)。
図15の検査行列、つまり、時変周期2の検査行列を用いてBP復号を行った場合、実施の形態1から実施の形態6で説明したLDPC−CCに比べ、データの受信品質が大きく改善することが確認された。
以上、時変周期が2の場合について説明したが、時変周期は2に限られない。しかし、時変周期が大きすぎると、周期的にパンクチャすることが難しく、例えば、ランダムにパンクチャする必要があり、受信品質が劣化してしまう可能性がある。以下に、時変周期を小さくすることにより、受信品質が改善するという利点について説明する。
図16に、時変周期1の場合のパンクチャ方法の一例を示す。同図において、Hは、LDPC−CCの検査行列であり、送信系列ベクトルをvであらわすと、式(70)の関係式が成立する。
ここで、送信系列ベクトルv=(v1、v2、v3、v4、v5、v6、・・・、v2i、v2i+1、・・・)
Tである。
図16は、符号化率R=1/2の送信系列をパンクチャし、符号化率R=3/4とする場合の例を示している。パンクチャを周期的に行う場合、まず、パンクチャビットを選択するためのブロック周期を設定する。図16には、ブロック周期を6とし、ブロックが点線(1602)のように設定される例が示されている。そして、1ブロックを構成する6ビットのうち2ビットがパンクチャビットとして選択され、選択された2ビットは、送信されないビットとして設定される。図16では、丸印で囲まれたビット1601が、送信されないビットとなる。このようにして、符号化率3/4を実現することができる。したがって、送信データ系列は、v1、v3、v4、v5、v7、v9、v11、v13、v15、v16、v17、v19、v21、v22、v23、v25、・・・となる。
図16において四角枠で囲まれた“1”は、パンクチャにより、受信時に、初期の対数尤度比が存在しないので、対数尤度比が0に設定されることになる。
BP復号では行演算と列演算とを反復して行う。したがって、初期の対数尤度比が存在しない(対数尤度比が0の)ビット(消失ビット)が、同一行に2つ以上含まれると、当該行では、列演算により初期の対数尤度比が存在しない(対数尤度比が0の)ビットの対数尤度比が更新されるまで、行演算単独では、対数尤度比が更新されないことになる。すなわち、行演算単独では信頼度が伝播されず、信頼度を伝播させるためには、行演算と列演算とを反復する必要がある。したがって、このような行が多数存在すると、BP復号において反復処理数に制限があるような場合、または、反復処理を何度行っても信頼度が伝播されずに、受信品質の劣化を招く原因となる。図16に示す例では、四角枠で囲まれた1に対応するビットが消失ビットを示し、行1603が、行演算単独では信頼度が伝播されない行、つまり、受信品質の劣化を招く原因となる行となる。
したがって、パンクチャビット(送信しないビット)の決定方法、すなわち、パンクチャパターンの決定方法として、パンクチャにより、単独では、信頼度が伝播されない行ができるだけ少なくなるような方法を探索する必要がある。以下、パンクチャビットの選択方法の探索について説明する。
1ブロックを構成する6ビットのうち2ビットをパンクチャビットとする場合、2ビットの選択方法は3×2C2存在する。このうち、ブロック周期の6ビットの中で巡回シフトした選択方法は、同一とみなすことができる。以下、図18Aを用いて補足説明をする。一例として、図18Aに、6ビットのうち2ビットを連続してパンクチャする場合の6通りのパンクチャパターンを示す。図18Aにおいて示すように、パンクチャパターン#1〜#3は、ブロック区切りを変更することで、同一のパンクチャパターンとなる。同様に、パンクチャパターン#4〜#6も、ブロック区切りを変更することで、同一のパンクチャパターンとなる。このように、ブロック周期の6ビットの中で巡回シフトした選択方法は、同一とみなすことができる。したがって、パンクチャビットの選択方法は、3×2C2×2/(3×2)=5通り存在する。
なお、1ブロックがL×kビットから構成され、L×kビットのうちkビットをパンクチャする場合、式(71)により求められる数のパンクチャパターンが存在する。
一つのパンクチャパターンに着目した場合の、符号化系列とパンクチャパターンとの関係を図18Bに示す。なお、図示していないが、Xi+3、Pi+3においても、パンクチャビットとなる。このため、図18Bから分かるように、1ブロックを構成する6ビットのうち2ビットをパンクチャした場合、パンクチャパターン1つに対し、存在する検査式のパターンは、(3×2)×1/2となる。同様に、1ブロックがL×kビットから構成され、L×kビットのうちkビットをパンクチャする場合、パンクチャパターン1つに対し、式(72)により求められる数の検査式が存在する。
したがって、パンクチャパターンの選択方法において、式(73)から求められる数の検査式(行)について、単独で、信頼度が伝播されるか否かチェックする必要がある。
以上の関係から、符号化率1/2の符号から符号化率3/4とする場合、L×kビットのブロックからkビットをパンクチャする場合、式(74)から求められる数の検査式(行)について、単独で、信頼度が伝播されるか否かチェックする必要がある。
そして、よいパンクチャパターンが見つからない場合、L及びkを増加させる必要がある。
次に、時変周期がmの場合について検討する。この場合も、時変周期が1の場合と同様に、式(64)であらわされる異なるm個の検査式を用意する。以下、m個の検査式を、「検査式#1、検査式#2、・・・、検査式#m」と名付ける。
そして、時点mi+1のパリティP
mi+1を「検査式#1」を用いて求め、時点mi+2のパリティP
mi+2を「検査式#2」を用いて求め、・・・、時点mi+mのパリティP
mi+mを「検査式#m」を用いて求めるLDPC−CCを考える。このとき、図15と同様に考えると、検査行列は図17のようにあらわされる。すると、符号化率1/2の符号から符号化率3/4とする場合、例えば、6ビットのブロックから2ビットをパンクチャする場合について、式(73)と同様に考えると、式(75)から求められる数の検査式(行)について、単独では、信頼度が伝播されない行であるかどうかをチェックする必要がある。
なお、式(75)において、LCM{α,β}は、自然数αと自然数βとの最小公倍数をあらわす。
式(75)から分かるように、mの増加に伴い、チェックしなければならない検査式が増加する。そのため、周期的にパンクチャを行うパンクチャ方法は適さず、例えば、ランダムにパンクチャする方法を用いることになるため、受信品質が劣化する可能性がある。
なお、図18Cに、パンクチャにより、L×kビットからkビットをパンクチャして、符号化率R=2/3,3/4,5/6の符号系列を生成する場合に、チェックしなければならないパリティ検査多項式の数を示す。
現実的に、最良なパンクチャパターンを探索できる時変周期は2から10程度である。特に、最良なパンクチャパターンを探索できる時変周期、および、受信品質の向上を考慮すると、時変周期2は適している。さらに、時変周期が2で、式(64)、式(66)のような検査式を周期的に繰り返した場合、符号・復号器が非常に簡単に構成することができるという利点がある。
なお、時変周期3、4、5、・・・10の場合には、時変周期が2の場合に比べると、符号・復号器の構成が若干大きくなるももの、時変周期2の場合と同様に、式(64)、式(66)に基づく複数のパリティ検査式を周期的に繰り返す場合には、簡易な構成を採ることができる。
なお、時変周期がsemi-infinite(極端に長い周期)であったり、LDPC−BCをもとにLDPC−CCを作成する場合、一般に、時変周期が非常に長くなってしまうため、周期的にパンクチャビットを選択する方式を採用し、最良のパンクチャパターンを探索することは困難である。例えば、ランダムにパンクチャビットを選択する方式の採用が考えられるが、パンクチャ時の受信品質が大きく劣化する可能性がある。
なお、式(64)、(66)、(68)、(69)において、両辺にDnを乗算して検査多項式を表現することもできる。本実施の形態では、式(64)、(66)、(68)、(69)においてD0X(D)、及び、D0P(D)の項(D0=1)が存在するものとした。
このようにすることで、パリティが逐次的に演算することができるため、符号化器の構成が簡易になり、又、組織符号の場合、時点iのデータへの信頼度伝播を考えると、データ及びパリティの双方にD0の項が存在すると、データへの信頼度伝播を簡単に理解することができるため、符号設計を容易に行うことができる。なお、符号設計の容易性を考慮しないのであれば、式(64)、(66)、(68)、(69)において、D0X(D)が存在する必要はない。
図19Aに、時変周期2のLDPC−CCの検査行列の一例を示す。図19Aに示されるように、時変周期2の場合、パリティ検査式1901と、パリティ検査式1902との2つのパリティ検査式が、交互に用いられる。
また、図19Bに、時変周期4のLDPC−CCの検査行列の一例を示す。図19Bに示されるように、時変周期4の場合、パリティ検査式1901と、パリティ検査式1902と、パリティ検査式1903と、パリティ検査式1904との4つのパリティ検査式が、繰り返し用いられる。
以上のように、本実施の形態によれば、パリティ検査多項式(64)と、式(64)と異なるパリティ検査多項式(66)と、からなる時変周期2の検査行列により、パリティ系列を求めるようにした。なお、時変周期は2に限られず、例えば、図19Bに示すような、時変周期4の検査行列を用いて、パリティ系列を求めるようにしてもよい。ただし、時変周期mが大きすぎると、周期的にパンクチャすることが難しく、例えばランダムにパンクチャすることになるため、受信品質が劣化してしまう。現実的に、最適なパンクチャパターンを探索できる時変周期は、2から10程度である。この場合、受信品質を向上することができるとともに、周期的にパンクチャを行うことができるので、LDPC−CCの符号化器を簡単に構成することができる。
なお、検査行列Hにおける行重み、つまり、検査行列を構成する行要素のうち、1である要素数が、7〜12であると良好な受信品質が得られることが確認されている。非特許文献12に記載されているように、畳み込み符号において最小距離が優れている符号を考えると、拘束長が大きくなるにつれ、行重みが増える、例えば、拘束長11のフィードバック畳み込み符号では、行重みが14となることを考慮すると、行重みが7〜12とする点は、本提案のLDPC−CC特有の値であると考えることができる。また、符号設計のメリットを考慮した場合、LDPC−CCの検査行列の各行の行重みを等しくすると設計が容易となる。
また、以上の説明では、符号化率1/2の場合について説明したが、これに限られず、符号化率1/2以外においても、時変周期mの検査行列を用いてパリティ系列を求めることができ、時変周期2から時変周期10程度の場合、同様の効果を得ることができる。
特に、符号化率R=5/6、7/8以上の場合、本実施の形態で説明した時変周期2または時変周期mのLDPC−CCにおいて、消失ビットを2つ以上含む行のみにより構成されないようなパンクチャパターンを選択する。つまり、消失ビットが0または1つの行が存在するようなパンクチャパターンを選択することは、符号化率R=5/6、7/8以上のように、符号化率が高い場合に良好な受信品質を得る上で重要となる。
(実施の形態8)
本実施の形態では、実施の形態2で説明した検査行列の上台形行列に「1」が存在するような検査式を用い、かつ、符号化器を簡単に構成することができる時変LDPC−CCについて説明する。以下では、符号化率R=1/2の上記を実現できる時変LDPC−CCの構成方法について説明する。
符号化率1/2のとき、情報系列(データ)の多項式表現をX(D)、パリティの系列の多項式表現をP(D)とすると、パリティ検査多項式は以下のようにあらわされる。
式(76)において、a1、a2、・・・、anは1以上の整数(ただし、a1≠a2≠・・・≠an)とする。また、b1、b2、・・・、bmは、1以上の整数(ただし、、b1≠b2≠・・・≠bmとする。また、c1、c2、・・・、cqは、−1以下の整数でc1≠c2≠・・・≠cqとする。このとき、P(D)は以下のようにあらわされる。
実施の形態2と同様に、パリティPは逐次的に求めることができる。
次に、式(76)とは異なる符号化率1/2のパリティ検査多項式として、式(78)および式(79)を考える。
式(78)、式(79)において、A1、A2、・・・、ANは、1以上の整数(ただし、A1≠A2≠・・・≠AN)とする。また、B1、B2、・・・、BMは1以上の整数(ただし、B1≠B2≠・・・≠BM)とする。また、C1、C2、・・・、CQは、−1以下の整数(ただし、C1≠C2≠・・・≠CQ)とする。このとき、P(D)は以下のようにあらわされる。
以下、時点2iのデータXとパリティPをそれぞれX2i、P2iであらわし、時点2i+1のデータXとパリティPをそれぞれX2i+1、P2i+1であらわす(i:整数)。
このとき、時点2iのパリティP2iは式(77)を用いて求め、時点2i+1のパリティP2i+1は式(80)を用いて求める時変周期が2のLDPC−CC、または、時点2iのパリティP2iは式(77)を用いて求め、時点2i+1のパリティP2i+1は式(81)を用いて求める時変周期が2のLDPC−CCを考える。
このようなLDPC−CC符号は、
・符号化器を簡単に構成することができ、かつ、パリティを逐次的に求めることができる
・周期的にパンクチャビットを設定することができる
・終端ビットの削減、終端時のパンクチャ時の受信品質の向上が見込める
という利点を備える。
次に、時変周期をmとするLDPC−CCを考える。時変周期2の場合と同様に、式(78)であらわされる「検査式#1」を用意し、式(78)または式(79)のいずれかであらわされる「検査式#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符号は、
・符号化器を簡単に構成することができ、かつ、パリティを逐次的に求めることができる
・終端ビットの削減、終端時のパンクチャ時の受信品質の向上が見込める
という利点を備える。
以上のように、本実施の形態によれば、パリティ検査多項式(76)と、式(76)と異なるパリティ検査多項式(78)と、からなる時変周期2の検査行列により、パリティ系列を求めるようにした。
このように、検査行列の上台形行列に「1」が存在するような検査式を用いる場合において、時変LDPC−CCの符号化器を簡単に構成することができる。なお、時変周期は2に限られない。ただし、実施の形態7と同様に、周期的にパンクチャを行う方法を採る場合、現実的に、最良なパンクチャパターンを探索できる時変周期は2から10程度である。
なお、時変周期3、4、5、・・・10の場合には、時変周期が2の場合に比べると、符号・復号器の構成が若干大きくなるももの、時変周期2の場合と同様に、式(78)、式(79)の検査式を周期的に繰り返す場合には、簡易な構成を採ることができる。
なお、式(76)、(78)、(79)において、両辺にDnを乗算して検査多項式を表現することもできる。また、本実施の形態では、式(76)、(78)、(79)においてD0X(D)および、D0P(D)の項(D0=1)が存在するものとするとした。
このようにすることで、パリティが逐次的に演算することができるため、符号化器の構成が簡易になり、又、組織符号の場合、時点iのデータへの信頼度伝播を考えると、データ及びパリティの双方にD0の項が存在すると、符号設計を容易に行うことができる。なお、符号設計の容易性を考慮しないのであれば、式(76)、(78)、(79)において、D0X(D)が存在する必要はない。
また、検査行列Hにおける行重み、つまり、検査行列を構成する行要素のうち、1である要素数が、7〜12とすると良好な受信品質が得られることが確認されている。非特許文献12に記載されているように、畳み込み符号において最小距離が優れている符号を考えると、拘束長が大きくなるにつれ、行重みが増える、例えば、拘束長11のフィードバック畳み込み符号では、行重みが14となることを考慮すると、行重みが7〜12とする点は、本提案のLDPC−CC特有の値であると考えることができる。また、符号設計のメリットを考慮した場合、LDPC−CCの検査行列の各行の行重みを等しくすると設計が容易となる。
(実施の形態9)
本実施の形態では、実施の形態7および実施の形態8で説明した符号化率1/2のLDPC−CC(時変周期m)から符号化率1/3のLDPC−CCを作成する方法について詳しく説明する。一例として、時変周期2のLDPC−CCを例に説明する。
時点2iのデータXとパリティPをそれぞれX2i、P2iであらわし、時点2i+1のデータXとパリティPをそれぞれX2i+1、P2i+1であらわす(i:整数)。このとき、時点2iのパリティP2iは式(64)を用いて求め、時点2i+1のパリティP2i+1は式(66)を用いて求める時変周期が2のLDPC−CCを考える。
ここで、新たなパリティ系列の多項式をPn(D)として、式(82)〜式(84)のいずれかを考える。
なお、a1、a2、・・・、ayは1以上の整数(ただし、a1≠a2≠・・・≠ay)とする。また、b1、b2、・・・、bwは1以上の整数(ただし、b1≠b2≠・・・≠bw)とする。また、c1、c2、・・・、cy(ただし、c1≠c2≠・・・≠cy)は0以上の整数とする。
そして、式(82)〜式(84)のいずれかで構成される異なる検査多項式「検査式#1」および「検査式#2」を用意する。
時点2iにおけるデータをX2i、及び、時点2iにおけるパリティP2iを、式(64)を用いて求め、時点2iにおけるパリティPn,2i(符号化率1/3のためのパリティ)を「検査式#1」を用いて求める。このとき、送信系列は、W2i=(X2i,P2i,Pn2i)とあらわすことができる。
同様にして、時点2i+1におけるデータをX2i+1、及び、時点2i+1におけるパリティP2i+1を、式(66)を用いて求め、時点2i+1におけるパリティPn2i+1(符号化率1/3のためのパリティ)を「検査式#2」を用いて求める。このとき、送信系列は、W2i+1=(X2i+1,P2i+1,Pn2i+1)とあらわすことができる。なお、一般的には、c1,・・・,cyの中には、“0”となるものが一つ存在する。
式(82)、(83)、(84)におけるX(D)、P(D)、Pn(D)のそれぞれに対応する項について考える。符号化率1/2の検査式は、式(64)、(66)から構成される。このとき、X(D)、P(D)には、それぞれには複数の項(検査行列において“1”が複数ある)が存在することになる。そして、符号化率1/3にする場合に、式(82)、(83)、(84)のいずれかで構成される検査式が追加されることになる。
このときの列重みについて考える。符号化率1/2のときの検査式により、データXおよびパリティPにはある程度の列重み、例えば、5程度の重みが存在することになる。この状態において、符号化率1/3にするために、式(82)、(83)、(84)のいずれかで構成される検査式を追加すると、データXおよびパリティPの列重みが増加することになるものの、列重みをある程度抑えないとBP復号を行った際、受信品質の向上が見込めない。したがって、符号化率1/3にする際、式(82)、(83)、(84)のいずれかで構成される検査式を追加した場合に、データXおよびパリティPの列重みの増加数は1または2に抑えなくてはならない。したがって、式(82)は、式(85)〜式(88)のいずれかとなる。
また、式(83)は、式(89)、(90)のいずれかとなる。
また、式(84)は、式(91)、(92)のいずれかとなる。
以下、符号化率1/2のパリティ検査多項式の項数と、符号化率1/3とするために追加されるパリティ検査多項式の項数との関係について説明する。なお、以下では、符号化率1/2のLDPC−CCを、式(64)、および、式(66)であらわされるパリティ検査多項式を用いて作成し、符号化率1/3のLDPC−CCを、式(82)〜式(92)であらわされるパリティ検査多項式を追加して作成する場合を例に説明する。
式(64)におけるデータX(D)の項数は、Da1〜Dan、および、D0が存在することから、n+1となる。また、式(64)におけるパリティP(D)の項数は、Db1〜Dbm、および、D0が存在することから、m+1となる。
同様に、式(66)におけるデータX(D)の項数は、DA1〜DAN、および、D0が存在することから、N+1となる。また、式(66)におけるパリティP(D)の項数は、DB1〜DBM、および、D0が存在することから、M+1となる。
同様に、式(82)〜式(92)におけるパリティPn(D)の項数は、Dc1〜Dcγ、および、D0が存在することから、γ+1となる。
ここで、式(64)および式(66)における項数、n+1、m+1、N+1、M+1の最小値をZとする。このとき、式(82)〜式(92)におけるパリティPn(D)の項数γ+1に対し、γ+1<Zの関係が成立すると良好な受信品質を得ることができることが確認されている。
なお、時変周期2の場合には、符号化率1/3のLDPC−CCを作成するために2つの異なるパリティ検査多項式が追加されるので、これら二つのパリティ検査多項式において、γ+1<Zの関係が成立する必要がある。
このようにすることで、良好な受信品質が得られるようになるのは、符号化率1/2の検査行列は、符号化率1/2の場合に受信特性が良好となるように“1”が挿入されているので、“1”が挿入される数があまり多くならないようにすることで、受信品質への影響が小さくなるからである。
以上のように、本実施の形態では、パリティ検査多項式(64)と、式(64)と異なるパリティ検査多項式(66)と、からなる時変周期2の検査行列に、パリティ検査多項式(82)〜(84)から構成される時変周期2の検査行列を追加し、追加された検査行列を用いて、パリティ系列を求めるようにした。
このようにすることで、時変周期2の符号化率1/2の畳み込み符号から時変周期2の符号化率1/3のLDPC−CCを生成することができる。また、符号化率1/4以下のLDPC−CCを生成する場合についても、符号化率1/3のLDPC−CCを生成するときと同様に生成することができる。
なお、時変周期は2に限られず、実施の形態7および実施の形態8において説明した時変周期mの場合に対しても、同様に実施することができる。また、当然であるが、実施の形態8の時変周期2の場合も同様に実施することができる。また、以上の説明では、符号化率1/3とするために、新たにパリティ検査式として、式(82)〜式(84)のいずれかにより構成される時変周期2のパリティ検査式を用いる場合について説明したが、時変周期nのパリティ検査多項式を用いても、同様に実施することができる。式(82)〜式(84)において、実施の形態8と同様に、a1、a2、・・・、ayが、−1以下であってもよい。
また、時変周期n,時変周期mについて、n=Km、または、m=Kn(K:自然数)の関係が成立すると良好な受信品質を得ることができることが確認されている。
また、符号化率1/2(時変周期m)のm個のパリティ検査多項式うち、X(D)、P(D)の項の最小の項数Zと、符号化率1/3(時変周期n)とするために追加されるn個のパリティ検査多項式のPn(D)の項数γ+1との間に、γ+1<Zの関係が、n個のすべてのパリティ検査多項式において成立すると良好な受信品質を得ることができる。
(他の実施の形態1)
上記の説明では、符号化率1/2のときの畳み込み符号を例に説明したが、本実施の形態では、符号化率が1/nのときのLDPC−CCの構成方法について説明する。
符号化率1/nのとき、情報系列(データ)の多項式表現をX(D)、パリティ1の系列の多項式表現をP
1(D)、パリティ2の系列の多項式表現をP
2(D)、・・・、パリティn―1の系列の多項式表現をP
n―1(D)とするとパリティ検査多項式は以下の式(93)のようにあらわすことができる。
このとき、Kx、K1、K2、・・・、Kn−1は0以上の整数とし、Kx、K1、K2、・・・、Kn−1のうちの最大値をKmaxとする。
ここで、時点iにおけるデータをXi、パリティ1をP1,i、パリティ2をP2,i、・・・、パリティn−1をPn−1,iとあらわす。そして、送信ベクトルw=(X1,P1,1,P2,1,・・・,Pn−1,1,X2,P1,2,P2,2,・・・,Pn−1,2,・・・,Xi,P1,i,P2,i,・・・,Pn−1,i,・・・)とあらわす。この場合、検査行列をHとすると上記式(3)が成立する。
ここで、実施の形態1と同様に、データ、または(および)、パリティに対し、確率伝播を考慮し、検査行列に対し「1」を追加する。このとき、図20の項2001_0、2001_1、2001_2、・・・、2001_n−1の一つ以上を選択し、項2002_0、2002_1、2002_2、・・・、2002_n−1と変更することになる。例えば、図20の2001_0を選択した場合、2001_0を2002_0へと変更し、それ以外は変更しない。また、図20の2001_0、2001_n−1を選択した場合、2001_0を2002_0へと変更し、加えて、2001_n−1を2002_n−1と変更し、それ以外は変更しない。当然であるが、図20の項2001_0、2001_1、2001_2、・・・、2001_n−1すべてを変更してもよい。すなわち、検査多項式は、以下の式(94)となる。
このとき、図20、式(94)におけるsx、s1、s2、・・・、sn−1は1以上であって、h1、h2、・・・hsk≧2Kmax+1に設定する(k=x,1,2,・・・,n−1)。これにより、良好な受信品質を得ることができる。また、h1、h2、・・・、hskのうち1つ以上が2Kmax+1以上を満たす場合でも良好な受信品質を得ることができる。
次に、符号化率を1/nとし、検査行列の上台形行列に「1」を追加する方法について詳しく説明する。
符号化率1/nのとき、情報系列(データ)の多項式表現をX(D)、パリティ1の系列の多項式表現をP1(D)、パリティ2の系列の多項式表現をP2(D)、・・・、パリティn−1の系列の多項式表現をPn−1(D)とするとパリティ検査多項式は式(32)となる。
ここで、時点iにおけるデータをXi、パリティ1をP1,i、パリティ2をP2,i、・・・、パリティn−1をPn−1,iとあらわす。そして、送信ベクトルw=(X1,P1,1,P2,1,・・・,Pn−1,1,X2,P1,2,P2,2,・・・,Pn−1,2,・・・,Xi,P1,i,P2,i,・・・,Pn−1,i,・・・)とあらわす。この場合、検査行列をHとすると上記式(3)が成立する。
ここで、実施の形態2と同様に、データ、または(および)、パリティに対し、確率伝播を考慮し、検査行列に対し「1」を追加する。このとき、図21の項15_0を、項15_1,0へと変更することになる。すなわち、検査多項式は、以下の式(95)となる。
このとき、図21におけるsxは1以上であって、h1、h2、・・・hsx≦−Kmax−1に設定する。これにより、良好な受信品質を得ることができる。また、h1、h2、・・・、hsxのうち1つ以上が−Kmax−1以下を満たす場合でも良好な受信品質を得ることができる。
以上のように、実施の形態1、実施の形態2で説明した方法を、本実施の形態のように符号化率1/nの畳み込み符号からLDPC−CCを生成する方法へと拡張することもできる。また、上記以外の符号化率の畳み込み符号からLDPC―CCを作成する場合についても、これまでに述べた方法を拡張すれば、同様にしてLDPC―CCを作成することができる。
なお、本発明において、データを送信する際に非特許文献12に記載されているようにパンクチャを行って送信しても、受信装置において、BP復号を行うことにより、データを得ることができる。このとき、実施の形態で説明したLDPC−CCは、単純な検査行列であらわされるため、LDPC−BCのときと比較し、簡単にデータをパンクチャすることができる。
なお、本実施の形態では、図21のように、データに対して検査行列の上台形行列に「1」を追加する例を説明したが、本発明はこれに限られず、図20の場合と組み合わせ、検査行列の上台形行列に「1」を追加することに加え、さらに検査行列の近似下三角行列に「1」を追加してもよい。これにより、さらなる受信品質の向上が期待できる。この場合の検査多項式は、以下の式(96)となる。
また、実施の形態3で述べた符号化率1/2のときの終端方法を本実施の形態のように符号化率1/nのときにも同様に実施することができる。
(他の実施の形態2)
ここでは、本発明の符号化器(エンコーダ)の構成について説明する。図22は、式(15)の符号化器の構成の一例を示す図である。
図22において、パリティ計算部2202は、データx(2201)(つまり、(数15)のX(D))、記憶されたデータ2205(つまり、(数15)のDα1X(D)、Dα2X(D)、D9X(D)、D6X(D)、D5X(D))、記憶されたパリティ2207(つまり、(数15)のDβ1P(D)、Dβ2P(D)、D9P(D)、D8P(D)、D3P(D)、DP(D))を入力とし、式(15)の演算を行い、パリティ2203(つまり、式(15)のP(D))を出力する。
データ記憶部2204は、データx(2201)を入力とし、その値を記憶する。同様に、パリティ記憶部2206は、パリティ2203を入力とし、その値を記憶する。
図23は、式(19)の符号化器の構成の一例を示す図である。図23において、図22と同様に動作するものについては同一符号を付している。記憶部2302は、データ2301を記憶し、記憶されているデータ2303(式(19)のDα1X(D)・・・DαnX(D))を出力する。
データ記憶部2204は、記憶されたデータ2205(つまり、式(19)のD2X(D))を出力する。
パリティ記憶部2206は、記憶されたパリティ2207(つまり、式(19)のD2P(D)、DP(D))を出力する。
パリティ計算部2202は、各信号を入力とし、式(19)のパリティを計算し、出力する。
以上のように、基本的には、シフトレジスタおよび排他的論理和により、符号化器を構成することができる。
次に、復号器のアルゴリズムの一例として、sum-product復号について説明する。sum-product復号のアルゴリズムは以下のとおりである。
sum-product復号
2元M×N行列H={H
mn}を復号対象とするLDPC符号の検査行列とする。集合[1,N]={1,2,・・・,N}の部分集合A(m)、B(n)を次式(97)、(98)のように定義する。
なお、A(m)は検査行列Hのm行目において、「1」である列インデックスの集合を意味し、B(n)は検査行列Hのn行目において「1」である行インデックスの集合である。
Step A・1(初期化)
Hmn=1を満たす全ての組(m,n)に対して対数尤度比β(0) mn=λnと設定する。ループ変数(反復回数)lsum=1とし、ループ最大回数をlsum、muxと設定する。
Step A・2(行処理)
m=1,2,・・・,Mの順にH
mn=1を満たす全ての組(m,n)に対して、以下の更新式(99)、(100)、(101)を用いて対数尤度比α
(i) mnを更新する。ただし、iは反復回数をあらわし、fはGallagerの関数である。
Step A・3(列処理)
n=1,2,・・・,Nの順にH
mn=1を満たす全ての組(m,n)に対して、以下の更新式(102)を用いて対数尤度比β
(i) mnを更新する。
Step A・4(対数尤度比の計算)
n∈[1,N]について対数尤度比L
(i) nを以下の式(103)により求める。
Step A・5(反復回数のカウント)
l
sum<l
sum、muxならばl
sumをインクリメントして、step A・2に戻る。一方、l
sum=l
sum、muxの場合、式(104)に示すように符号語wを推定し、sum-product復号を終了する。
ところで、送信系列(符号化後のデータ)を図3のように、n
1、n
2、n
3、n
4、・・・とし、u=(n
1,n
2,n
3,n
4,・・・)とし、生成行列をGとすると、以下の式(105)の関係式が成立する。
そして、情報系列のベクトルi=(i
1,i
2,・・・)とすると、以下の式(106)の関係式が成立する。
式(105)、(106)の関係式を利用することで、送信系列が求まることになる。
図24は、復号器として、sum-product復号を用いたときの構成の一例を示す図である。図24の復号器2400は、対数尤度比記憶部2403、行処理演算部2405、行処理後データ記憶部2407、列処理演算部2409、列処理後データ記憶部2411、制御部2413、対数尤度比演算部2415、及び、判定部2417を備えて構成される。
対数尤度比記憶部2403は、対数尤度比信号2401、タイミング信号2402を入力とし、タイミング信号2402に基づいてデータ区間の対数尤度比を記憶する。そして、対数尤度比記憶部2403は、記憶した対数尤度比を信号2404として行処理演算部2405に出力する。
行処理演算部2405は、対数尤度比信号2404、列処理後の信号2412を入力とし、検査行列Hに“1”が存在する位置において、上述のStep A・2(行処理)の演算を行う。復号器は反復復号を行っているので、行処理演算部2405は、1回目の復号時には、対数尤度比信号2404を用いて行処理を行い(上述のStep A・1の処理に相当する)、2回目の復号時には、列処理後の信号2412を用いて行処理を行う。そして、行処理演算部2405は、行処理後の信号2406を行処理後データ記憶部2407に出力する。
行処理後データ記憶部2407は、行処理後の信号2406を入力とし、すべての行処理後の値(信号)を記憶する。そして、行処理後データ記憶部2407は、行処理後の信号2408を列処理演算部2409及び対数尤度比演算部2415に出力する。
列処理演算部2409は、行処理後の信号2408及び制御信号2414を入力とし、制御信号2414から最後の反復演算でないことを確認し、検査行列Hに“1”が存在する位置において、上述のStep A・3(列処理)の演算を行う。そして、列処理演算部2409は、列処理後の信号2410を列処理後データ記憶部2411に出力する。
列処理後データ記憶部2411は、列処理後の信号2410を入力とし、すべての列処理後の値(信号)を記憶する。そして、列処理後データ記憶部2411は、列処理後の信号2412を行処理演算部2405に出力する。
制御部2413は、タイミング信号2402を入力とし、反復回数をカウントし、反復回数を制御信号2414として列処理演算部2409及び対数尤度比演算部2415に出力する。
対数尤度比演算部2415は、行処理後の信号2408、制御信号2414を入力とし、制御信号2414に基づいて最後の反復演算であると判断した場合、検査行列Hに“1”が存在する位置に対して、Step A・4(対数尤度比の計算)の演算を施し、対数尤度比信号2416を得る。そして、対数尤度比演算部2415は、対数尤度比信号2416を判定部2417に出力する。
判定部2417は、対数尤度比信号2416を入力とし、符号語を推定し、推定ビット2418を出力する。
ここでは、BP復号として、sum-product復号について述べたが、BP復号を近似したmin-sum復号、offset BP復号、Normalized BP復号、shuffled BP復号などを用いることでも、復号を行うことができる。
(他の実施の形態3)
これまでの実施の形態で説明したLDPC−CCにおいて、パンクチャを行う際、データ、パリティいずれを優先的にパンクチャ(送信しないビットと選択する)すべきか、という問題が発生する。
検査行列の行を考えた場合、つまり、パリティ検査多項式を考えた場合、検査行列の行においてデータに対応する位置に1が存在する数をNx、パリティに対応する位置に1が存在する数をNpとし、NpとNxとの比較結果により、以下1)又は2)のように、優先的にパンクチャする(送信しないビットと選択する)ビットを選択するようにしてもよい。
1)Np<Nxの場合:データを優先的にパンクチャする
2)Nx<Npの場合:パリティを優先的にパンクチャする
このようにすると、パンクチャを行った場合の受信品質の劣化を抑えることができる。
(他の実施の形態4)
本実施の形態では、これまでの実施の形態で説明したパンクチャ方法を実現する送信装置及び受信装置について説明する。本実施の形態に係る送信装置及び受信装置は、複数の符号化率に対応することができる。
図25は、本実施の形態に係る送信装置の構成を示す図である。図25の送信装置2500は、LDPC−CC符号化部(LDPC−CC符号化器)2510、パンクチャ部2520、インタリーブ部2530、及び、変調部2540を備えて構成される。
LDPC−CC符号化部2510は、制御信号が指定する符号化率のLDPC−CCの検査行列を用いて、データXに対し符号化を施す。例えば、制御信号が、符号化率1/2以上を指定する場合、LDPC−CC符号化部2510は、符号化率1/2のLDPC−CCの検査行列を用いて、データXに対し符号化を行い、データX及びパリティPを、パンクチャ部2520に出力する。また、制御信号が、符号化率1/3を指定する場合、LDPC−CC符号化部2510は、符号化率1/3のLDPC−CCの検査行列を用いて、データXに対し符号化を行い、データX、パリティP、及びパリティPnを、パンクチャ部2520に出力する。
パンクチャ部2520は、制御信号が指定する符号化率に応じて、LDPC−CC符号化部2510から出力されるデータX、パリティP、又はパリティPnに対し、パンクチャを施す。なお、本実施の形態では、パンクチャ部2520は、ランダムにパンクチャをするのではなく、周期的に規則的にビットをパンクチャする。パンクチャ部2520は、パンクチャ後の送信系列を、インタリーブ部2530に出力する。
具体的には、制御信号が指定する符号化率が1/2を超える場合、パンクチャ部2520は、パリティPを周期的にパンクチャし、所定の符号化率にする。
一方、制御信号が指定する符号化率が1/2又は1/3の場合、パンクチャ部2520は、パンクチャを行わず、送信系列をインタリーブ部2530に出力する。
インタリーブ部2530は、送信系列の順序を並び替え、並び替え後の送信系列を変調部2340に出力する。
変調部2540は、制御信号により指定された変調方式を用いて、インタリーブ後の送信系列を変調する。
なお、図26に、送信系列の送信フォーマットの一例を示す。送信系列は、制御情報シンボルとデータシンボルとから構成される。なお、制御情報シンボルは、符号化率や変調方式を通信相手に通知するためのシンボルである。
図27は、本実施の形態に係る受信装置の構成を示す図である。図27の受信装置2700は、受信部2710、対数尤度比生成部2720、制御情報生成部2730、デインタリーブ部7540、デパンクチャ部2750、及び、BP復号部2760を備えて構成される。
受信部2710は、送信装置2500から送信される受信信号を受信し、RF(Radio Frequency)フィルタ処理、周波数変換、A/D(Analog to Digital)変換、直交復調などの無線復調処理を行い、無線復調処理後のベースバンド信号を対数尤度比生成部2720に出力する。また、受信部2710は、ベースバンド信号に含まれる既知信号を用いて、送信装置2500と受信装置2700との間の無線伝送路におけるチャネル変動を推定し、推定したチャネル推定信号を対数尤度比生成部2720に出力する。
対数尤度比生成部2720は、ベースバンド信号を用いて、各送信系列の対数尤度比を求め、得られた対数尤度比をデインタリーブ部2740に出力する。
制御情報生成部2730は、ベースバンド信号に含まれる制御情報シンボルから制御情報を抽出する。制御情報シンボルには、符号化率や変調方式の情報が含まれる。制御情報生成部2730は、抽出した制御情報を制御信号として対数尤度比生成部2720、デインタリーブ部2740、デパンクチャ部2750、及び、BP復号部2760に出力する。
デインタリーブ部2740は、送信装置2500のインタリーブ部2530で行なわれた並び替え処理の逆の処理を用いて、対数尤度比の系列の順序を元の順に並び替え、並び替え後の対数尤度比をデパンクチャ部2750に出力する。
デパンクチャ部2750は、送信装置2500のパンクチャ部2520で行われるパンクチャの逆の処理を用いて、デインタリーブ部2740から出力される対数尤度比に対しデパンクチャを行う。つまり、送信装置2500のパンクチャ部2520では、符号化率が1/2を超える場合、パリティPが周期的にパンクチャされるので、この場合、デインタリーブ部2740は、パンクチャ部2520でパンクチャされたビットの対数尤度比として0を挿入する。なお、パンクチャ部2520では、符号化率が1/2又は1/3の場合、パンクチャが行われないので、上記デパンクチャ処理を行わず、対数尤度比をBP復号部2560に出力する。
BP復号部2760は、制御信号が示す符号化率に応じて、LDPC−CCの検査行列を切り替えて、BP復号する。具体的には、BP復号部2760は、符号化率1/2と符号化率1/3とに対応したLDPC−CCの検査行列を備え、制御信号が符号化率1/3を示す場合、符号化率1/3の検査行列を用いてBP復号する。一方、制御信号が符号化率1/3以外の符号化率を示す場合には、符号化率1/2の検査行列を用いてBP復号する。
なお、図28に、一例として、符号化率R=1/2の場合のLDPC−CC符号化部2510の構成例を示す。図28に示すように、LDPC−CC符号化部2510は、シフトレジスタ2511−1〜2511−M,2514−1〜2514−M、ウェイト乗算器2512−0〜2512−M,2513−0〜2513−M、ウェイト制御部2316、及びmod2加算器2515を備えて構成される。
シフトレジスタ2511−1〜2511−M及び2514−1〜2514−Mは、それぞれv1,t−i,v2,t−i(i=0,…,M)を保持するレジスタであり、次の入力が入ってくるタイミングで、保持している値を右隣のシフトレジスタに出力し、左隣のシフトレジスタから出力される値を新たに保持する。なお、シフトレジスタの初期状態はすべて0である。
ウェイト乗算器2512−0〜2512−M,2513−0〜2513−Mは、ウェイト制御部2316から出力される制御信号に従って、h1 (m),h2 (m)の値を0/1に切り替える。ウェイト制御部2516は、内部に保持している検査行列に基づいて、そのタイミングにおけるh1 (m),h2 (m)の値を出力し、ウェイト乗算器2512−0〜2512−M,2513−0〜2513−Mに供給する。
mod2加算器2515は、ウェイト乗算器2512−0〜2512−M,2513−0〜2513−Mの出力に対しmod2加算を行い、v2,tを算出する。
このような構成を採ることで、LDPC−CC符号化部(LDPC−CC符号化器)2510は、検査行列に従ったLDPC−CCの符号化を行うことができる。
なお、ウェイト制御部2516が保持する検査行列の各行の並びが行ごとに異なる場合、LDPC−CC符号化部2510は、時変(time varying)畳み込み符号化器となる。
図29に、パリティ検査多項式に、D−K(X)(K:正の整数)が含まれる場合、つまり、検査行列の上台形行列に「1」が追加された検査行列を用い、符号化率R=1/2の場合のLDPC−CC符号化部(LDPC−CC符号化器)の構成例を示す。図29のLDPC−CC符号化部2910は、図28のLDPC−CC符号化部(LDPC−CC符号化器)2510に対し、シフトレジスタ2911−1〜2911−K、及び、ウェイト乗算器2912−1〜2912−Kを追加した構成を採る。
シフトレジスタ2911−1〜2911−Kは、v1,t−i(i=−1,…,−K)を保持するレジスタであり、次の入力が入ってくるタイミングで、保持している値を右隣のシフトレジスタに出力し、左隣のシフトレジスタから出力される値を新たに保持する。なお、シフトレジスタの初期状態はすべて0である。
ウェイト乗算器2912−0〜2912−Kは、ウェイト制御部2316から出力される制御信号に従って、h1 (−k),h2 (−k)の値を0/1に切り替える。
ウェイト制御部2516は、内部に保持している検査行列に基づいて、そのタイミングにおけるh1 (m),h2 (m)の値を出力し、ウェイト乗算器2512−0〜2512−M,2513−0〜2513−Mに供給する。また、ウェイト制御部2516は、内部に保持している検査行列に基づいて、そのタイミングにおけるh1 (−k),h2 (−k)の値を出力し、ウェイト乗算器2912−1〜2912−Kに供給する。
mod2加算器2515は、ウェイト乗算器2512−0〜2512−M,2513−0〜2513−M,2912−0〜2912−Kの出力に対しmod2加算を行い、v2,tを算出する。
図29のような構成とすることで、LDPC−CC符号化部(LDPC−CC符号化器)2510は、パリティ検査多項式に、D−K(X)(K:正の整数)が含まれる場合にも対応することができる。
なお、図28、図29と同様の構成により、符号化率R=1/2未満に対応するLDPC−CC符号化部(LDPC−CC符号化器)を構成することができる。例えば、符号化率R=1/3の場合、図28、図29に、さらに、パリティ系列Pnを生成するためのシフトレジスタ、ウェイト乗算器、及び、mod2加算器を追加すればよい。
また、以上の説明では、LDPC−CC符号化部2510が、符号化率R=1/2以上の場合と、符号化率R=1/3の場合とに応じて、符号化系列の作成方法を切り替える場合について説明したが、符号化率に関わらず、LDPC−CC符号化部2510が、すべての送信系列(パリティPnも含む)を生成し、符号化率R=1/2の場合には、当該パリティPnを出力しないようにしてもよい。このようにすることで、LDPC−CC符号化部(LDPC−CC符号化器)を符号化率R=1/2と符号化率R=1/3とに対応させることができる。
また、以上の説明では、BP復号部2760が、符号化率R=1/2以上の場合と、符号化率R=1/3の場合とに応じて、符号化系列の復号方法を切り替える場合について説明したが、符号化率に関わらず、BP復号部2760が、符号化率1/3のの検査行列を用いてBP復号し、制御信号が示す符号化率が1/3以外を示す場合には、得られたパリティPnに対する対数尤度比を0に置き替えるようにしてもよい。このようにすることで、BP復号部を共用化することができる。
(他の実施の形態5)
本実施の形態では、実施の形態8の変形例について詳しく説明する。以下では、符号化率R=1/2の時変LDPC−CCの構成方法について説明する。
符号化率1/2のとき、情報系列(データ)の多項式表現をX(D)、パリティの系列の多項式表現をP(D)とすると、パリティ検査多項式は以下のようにあらわされる。
式(107)において、a1、a2、・・・、anは0以上の整数(ただし、a1≠a2≠・・・≠an)とする。また、b1、b2、・・・、bmは1以上の整数(ただし、b1≠b2≠・・・≠bm)とする。また、c1、c2、・・・、cqは−1以下の整数(ただし、c1≠c2≠・・・≠cq)とする。このとき、P(D)は以下のようにあらわされる。
よって、パリティPは逐次的に求めることができる(実施の形態2、実施の形態8参照)。
次に、式(107)とは異なる符号化率1/2のパリティ検査多項式として、式(109)および式(110)を考える。
式(109)、式(110)において、A1、A2、・・・、ANは0以上の整数(ただし、A1≠A2≠・・・≠AN)とする。また、B1、B2、・・・、BMは1以上の整数(ただし、B1≠B2≠・・・≠BM)とする。また、C1、C2、・・・、CQは−1以下の整数(ただし、C1≠C2≠・・・≠CQ)とする。このとき、P(D)は以下のようにあらわされる。
時点2iのデータXとパリティPとをそれぞれX2i、P2iであらわし、時点2i+1のデータXとパリティPをそれぞれX2i+1、P2i+1であらわす(i:整数)。
このとき、時点2iのパリティP
2iは式(108)を用いて求め、時点2i+1のパリティP
2i+1は式(111)を用いて求める時変周期が2のLDPC−CC、または、時点2iのパリティP
2iは式(108)を用いて求め、時点2i+1のパリティP
2i+1を式(112)を用いて求める時変周期が2のLDPC−CCを考える。
このようなLDPC−CCでは、
・符号化器を簡単に構成することができ、かつ、パリティを逐次的に求めることができる
・周期的にパンクチャビットを設定することができる
・終端ビットの削減、終端時のパンクチャ時の受信品質の向上が見込める
という利点を備える。
次に、時変周期をmとするLDPC−CCを考える。時変周期2の場合と同様に、式(109)又は式(110)のいずれかであらわされる「検査式#1」と、式(109)または式(110)のいずれかであらわされる、「検査式#2」、「検査式#3」・・・「検査式#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符号は、
・符号化器を簡単に構成することができ、かつ、パリティを逐次的に求めることができる
・終端ビットの削減、終端時のパンクチャ時の受信品質の向上が見込める
という利点を備える。
以下、本実施の形態における検査行列の構成例を示す。
図30は、時変周期2のLDPC−CCの検査行列の構成例を示している。図30において、符号3001は、時点iのデータXi及びパリティPiに対応する部分を示している。同様に、符号3002は、時点i+1のデータXi+1及びパリティPi+1に対応する部分を示している。
図30における符号3003に対応するパリティ検査多項式(例えば、時点iにおけるパリティ検査多項式)は、以下のようにあらわすことができる。
式(113)において、a1、a2、・・・、anは−1及び0以外の整数(ただし、a1≠a2≠・・・≠an)とする。また、b1、b2、・・・、bmは1以上の整数(ただし、b1≠b2≠・・・≠bm)とする。なお、図30では、a1、a2、・・・、anは正の整数とする。このとき、P(D)は逐次的に求めることができる。
同様に、図30における符号3004のパリティ検査多項式(例えば、時点i+1におけるパリティ検査多項式)は以下のようにあらわすことができる。
式(114)において、A1、A2、・・・、ANは1及び0以外の整数(ただし、A1≠A2≠・・・≠AN)とする。また、B1、B2、・・・、BMは1以上の整数(ただし、B1≠B2≠・・・≠BM)とする。このとき、P(D)は逐次的に求めることができる。
つまり、時点2jの場合、パリティPは式(113)に基づいて求められ、時点2j+1の場合、パリティPは式(114)に基づいて求められる(jは整数)。図30に示す構成を採る時変周期2の時変LDPC−CCの場合、時点iにおけるパリティPiの信頼度が、時点i+1におけるデータXi+1に伝播し、その結果、時点i+1におけるデータXi+1が復号される。そして、時点i+1におけるパリティPi+1の信頼度が、時点iにおけるデータXiに伝播し、その結果、時点iにおけるデータXiが復号される。
実施の形態7では、同一時点のデータとパリティとが関連性を有し、データが復号されるのに対し、本実施の形態では、異なる時点のデータとパリティが関連性を有するパリティ検査式が存在することになる。そして、関連性を有するデータとパリティとの位置関係を、同一時点の場合を除いて考えると、図30に示す例では、時点iと時点i+1とにおけるデータXi+1とパリティPiとが関連性を有することから、時変周期2の時変LDPC−CCにおいて、時間的に最も近い位置関係にある。よって、復号の際、関連するデータとパリティとの時間的な位置関係を、考慮する必要性が低いという利点がある。このように、時変周期が2のLDPC−CCを、時点iと時点i+1とにおけるデータXi+1とパリティPiとが関連性を有するように構成し、時変周期2内で関係付けられるようにする。
時変周期2以外の時変LDPC−CCに対しても、同様の特徴をもたせることができる。すなわち、時変周期m内にデータとパリティとが関連性を有するようにLDPC−CCを構成することができる。以下、図31を用いて、時変周期7の場合について説明する。
図31は、時変周期7のLDPC−CCの検査行列の構成例を示している。図31において、符号3101は、時点iのデータXi及びパリティPiに対応する部分を示す。また、符号3102は、時点i+1のデータXi+1及びパリティPi+1に対応する部分を示す。また、符号3103は、時点i+2のデータXi+2及びパリティPi+2に対応する部分を示す。また、符号3104は、時点i+3のデータXi+3及びパリティPi+3に対応する部分を示す。また、符号3105は、時点i+4のデータXi+4及びパリティPi+4に対応する部分を示す。また、符号3106は、時点i+5のデータXi+5及びパリティPi+5に対応する部分を示す。また、符号3107は、時点i+6のデータXi+6及びパリティPi+6に対応する部分を示す。
図31に示す構成を採る時変周期7の時変LDPC−CCの場合、時点iにおけるパリティPiの信頼度(「1」が配置されている)が、時点i+6におけるデータXi+6に伝播し(パリティPiと同じ行に「1」が配置されている)、その結果、時点i+6におけるデータXi+6が復号される。
時点i+1におけるパリティPi+1の信頼度が、時点i+1におけるデータXi+1に伝播し、その結果、時点i+1におけるデータXi+1が復号される。
時点i+2におけるパリティPi+2の信頼度が、時点i+5におけるデータXi+5に伝播し、その結果、時点i+5におけるデータXi+5が復号される。
時点i+3におけるパリティPi+3の信頼度が、時点i+4におけるデータXi+4に伝播し、その結果、時点i+4におけるデータXi+4が復号される。
時点i+4におけるパリティPi+4の信頼度が、時点i+3におけるデータXi+3に伝播し、その結果、時点i+3におけるデータXi+3が復号される。
時点i+5におけるパリティPi+5の信頼度が、時点i+2におけるデータXi+2に伝播し、その結果、時点i+2におけるデータXi+2が復号される。
時点i+6におけるパリティPi+6の信頼度が、時点iにおけるデータXiに伝播し、その結果、時点iにおけるデータXiが復号される。
図31に示すように、時変周期が7のLDPC−CCを、時点iから時点i+6におけるデータとパリティとが関連性を有するように構成し、時変周期7内で関係付けられるようにする。
このように、パリティとデータとが、時変周期内で関係付けされるように、LDPC−CCを構成することにより、復号の際、データとパリティとの時間的な位置関係を考慮する必要性が低いという利点がある。
(他の実施の形態6)
本実施の形態では、実施の形態7で説明した符号化率1/2の時変LDPC−CCを作成する方法を拡張し、符号化率1/3の時変LDPC−CCを作成する方法について説明する。
時点2iのデータX、パリティP、パリティPnをそれぞれX
2i、P
2i、Pn
2iであらわし、時点2i+1のデータX、パリティP、パリティPnをそれぞれX
2i+1、P
2i+1、Pn
2i+1であらわす(i:整数)。ここで、データXの多項式をX(D)、パリティPの多項式をP(D)、パリティPnの多項式をPn(D)とし、以下のパリティ検査多項式を考える。
式(115)において、a1、a2、・・・、anは0以外の整数(ただし、a1≠a2≠・・・≠an)とする。また、b1、b2、・・・、bmは1以上の整数(ただし、b1≠b2≠・・・≠bm)とする。また、c1、c2、・・・、cqは1以上の整数(ただし、c1≠c2≠・・・≠cq)とする。そして、式(115)の関係式を用いて、時点2iのP(D)を求める。このとき、P(D)は逐次的に求めることができる。
次に、パリティ検査多項式として、式(116)を考える。
式(116)において、A1、A2、・・・、ANは0以外の整数(ただし、A1≠A2≠・・・≠AN)とする。また、B1、B2、・・・、BMは1以上の整数(ただし、B1≠B2≠・・・≠BM)とする。また、C1、C2、・・・、CQは1以上の整数(ただし、C1≠C2≠・・・≠Cq)とする。そして、式(116)の関係式を用いて、時点2iのPn(D)を求める。このとき、Pn(D)は逐次的に求めることができる。
次に、パリティ検査多項式として、式(117)を考える。
式(117)において、α1、α2、・・・、αωは0以外の整数(ただし、α1≠α2≠・・・≠αω)とする。また、β1、β2、・・・、βξは1以上の整数(ただし、β1≠β2≠・・・≠βξ)とする。また、γ1、γ2、・・・、γλは1以上の整数(ただし、γ1≠γ2≠・・・≠γλ)とする。そして、式(117)の関係式を用いて、時点2i+1のP(D)を求める。このとき、P(D)は逐次的に求めることができる。
次に、パリティ検査多項式として、式(118)を考える。
式(118)において、E1、E2、・・・、EΩは0以外の整数(ただし、E1≠E2≠・・・≠EΩ)とする。また、F1、F2、・・・、FZは1以上の整数(ただし、F1≠F2≠・・・≠FZ)とする。また、G1、G2、・・・、GΛは1以上の整数(ただし、G1≠G2≠・・・≠GΛ)とする。そして、式(118)の関係式を用いて、時点2i+1のPn(D)を求める。このとき、Pn(D)は逐次的に求めることができる。
以上のようにして、時変周期2のLDPC−CC符号を作成することにより、実施の形態7と同様に、周期的にパンクチャビットを選択する方式を採用した場合に、最良のパンクチャパターンを容易に選択することができるという利点がある。
なお、時変周期10以内であれば、周期的にパンクチャする方式を採用し、最良なパンクチャパターンを探索するのは容易である。
次に、時変周期をmとするLDPC−CCを考える。
時変周期mの場合、式(115)であらわされる異なるm個の検査式を用意し、当該m個の検査式を「検査式A#1、検査式A#2、・・・、検査式A#m」と名づける。また、式(116)であらわされる異なるm個の検査式を用意し、当該m個の検査多項式を「検査式B#1、検査式B#2、・・・、検査式B#m」と名づける。
そして、時点mi+1のデータX、パリティP、パリティPnをそれぞれXmi+1、Pmi+1、Pnmi+1、時点mi+2のデータX、パリティP、パリティPnをそれぞれXmi+2、Pmi+2、Pnmi+2、・・・時点mi+mのデータX、パリティP、パリティPnをそれぞれXmi+m、Pmi+m、Pnmi+mであらわす(i:整数)。
このとき、時点mi+1のパリティPmi+1は「検査式A#1」を用いて求め、パリティPnmi+1は「検査式B#1」を用いて求め、時点mi+2のパリティPmi+2は「検査式A#2」を用いて求めめ、パリティPnmi+2は「検査式B#2」を用いて求め、・・・、時点mi+mのパリティPmi+mは「検査式A#m」を用いて求め、パリティPnmi+mは「検査式B#m」を用いて求める時変周期mのLDPC−CCを考える。このようなLDPC−CC符号は、受信品質がよい符号であるとともに、パリティを逐次的に求めることができるという利点を備える。
なお、符号化率は1/3に限られず、符号化率1/3以下のLDPC−CC符号についても、同様に作成することができる。
(他の実施の形態7)
本実施の形態では、LDPC−CC符号化により得られた送信符号語系列に適するパンクチャを施す送信装置及びパンクチャ方法の一例を説明する。
図32は、本実施の形態において用いられる時不変LDPC−CC検査行列の構成を示す図である。図32は、図68と異なり、HTでなく、検査行列Hの構成を示している。送信符号語ベクトルをvで表すと、Hv=0の関係式が成立する。
本実施の形態におけるパンクチャ方法の説明にあたり、先ず、一般的なパンクチャ方法を、上記送信符号語系列vに適用した場合の課題について説明する。一般的なパンクチャ方法については、例えば、非特許文献12に記載されている。なお、以下では、LDPC−CCが、符号化率R=1/2、(177,131)の畳み込み符号を用いて構成される場合を例に説明する。
図33は、一般的なパンクチャ方法を説明するための図である。同図において、v1,t,v2,t(t=1,2,…)は、送信符号語系列vを示す。一般的なパンクチャ方法では、送信符号語系列vは、複数のブロックに分けられ、各ブロックに対し同一のパンクチャパターンが用いられて、送信符号語ビットが間引かれる。
図33は、送信符号語系列vが、6ビットごとにブロックに分けられ、すべてのブロックに対し、同一のパンクチャパターンが用いられて、一定の割合で送信符号語ビットが間引かれる様子を示している。同図において、丸印で囲まれたビットがパンクチャされるビット(送信しないビット)を示し、すべてのブロック1〜ブロック5に対し、パンクチャ後の符号化率が3/4となるように、v2、1,v2,3,v2,4,v2,6,v2,7,v2,9,v2,10,v2,12,v2,13,v2,15を選択し、パンクチャする(送信しないビットとする)。
次に、LDPC−CCを用いた符号化により得られた送信符号語系列に、図33に示すような一般的なパンクチャを施した場合の受信側(復号側)の影響を考える。なお、以下では、受信側(復号側)においてBP復号を用いる場合について検討する。BP復号では、LDPC−CCの検査行列に基づいて復号処理を行う。図34に、送信符号語系列vとLDPC−CC検査行列Hとの対応を示す。図34において、丸印で囲まれたビットは、パンクチャにより間引かれる送信符号語ビットである。この結果、検査行列Hにおいて、四角枠で囲まれた1に対応するビットが、送信符号語系列に含まれなくなる。この結果、BP復号を行う際、四角枠で囲まれた1に対応するビットに対しては、初期の対数尤度比が存在しないので、対数尤度比が0に設定されることになる。
BP復号では行演算と列演算とを反復して行う。したがって、初期の対数尤度比が存在しない(対数尤度比が0の)ビット(図34において四角枠で囲まれた1に対応するビット)が、同一行に2つ以上含まれると、当該行では、列演算により初期の対数尤度比が存在しない(対数尤度比が0の)ビットの対数尤度比が更新されるまで、当該行の行演算単独では、対数尤度比が更新されないことになる。すなわち、行演算単独では信頼度が伝播されず、信頼度を伝播させるためには、行演算と列演算とを反復する必要がある。したがって、このような行が多数存在すると、BP復号において反復処理数に制限があるような場合には、信頼度が伝播されず、受信品質の劣化を招く原因となる。図34に示す例では、行3410は、行演算単独では信頼度が伝播されない行、つまり、受信品質の劣化を招く原因となる行となる。
これに対し、本実施の形態におけるパンクチャ方法を用いる場合、行演算単独で信頼度が伝播されない行数を削減することができる。本実施の形態では、受信側(復号側)における、送信符号語ビットの処理単位ごとに、第1のパンクチャパターンと、第1のパンクチャパターンに比べより多くのビットを間引く第2のパンクチャパターンとを用いて、送信符号語ビットをパンクチャする。以下、図35及び図36を用いて説明する。
図35は、本実施の形態におけるパンクチャ方法を説明するための図である。図33と同様に、v1,t,v2,t(t=1,2,…)は、送信符号語系列vを示す。なお、以下では、図33と同様に、1ブロックが6ビットから構成される場合について説明する。また、受信側(復号側)における送信符号語ビットの処理単位が、ブロック1〜ブロック5であるとする。図35に示す例では、先頭のブロック1に対しては、パンクチャを行わない第1のパンクチャパターンが用いられ、ブロック2〜ブロック5に対しては、パンクチャを行う第2のパンクチャパターンが用いられ、この結果、v2,1,v2,3,v2,4,v2,6,v2,7,v2,9,v2,10,v2,12,v2,13,v2,15がパンクチャされる様子が示されている。このように、本実施の形態では、符号化率が異なるパンクチャパターンを用いて、送信符号語ビットの処理単位内で、間引かれるビット数が少ない範囲を設けるようにする。
図36に、この場合の送信符号語系列vとLDPC−CC検査行列Hとの対応を示す。図36では、同一行に四角枠で囲まれた1を2つ以上含む行が3行発生しているものの、図34の場合に比べ、その行数が削減されたことがわかる。これは、ブロック1に対してパンクチャを施さないようにしたことによる。
このように、パンクチャを行わないブロックを設けることにより、BP復号時の受信品質の劣化を招く原因となる行数を削減することができる。この結果、行3610までの行では、初期に対数尤度が存在し、BP復号において、信頼度が確実に更新され、更新後の信頼度が、行3610に伝播していくので、受信品質の劣化を抑えることができるようになる。このように、畳み込み符号(LDPC−CC)の検査行列の構造の特徴から、反復復号を複数回行うことにより、行演算単独で得られる行の信頼度が、順次、伝播し、パンクチャによる受信品質の劣化を抑えることができる。また、行演算単独では信頼度が伝播されない行数が削減されるので、信頼度を伝播させるために必要な反復回数を低減することができるようになる。
ところで、図35に示す例では、パンクチャされないブロックが設けられることにより、送信される送信符号語ビットは増加し、伝送速度が低下する。しかし、第1のパンクチャパターンが用いられるビット数Nと、第2のパンクチャパターンが用いられるビット数Mとの間に、N<<Mの関係が成り立つようにすれば、伝送速度の低下を抑えつつ、受信品質を向上することができる。図35は、N=6,M=24の例であり、追加送信符号語ビット数は2ビットと少ないのにもかかわらず、行演算単独では対数尤度を伝播されない行数を6行から3行に減らすことができる。
以下、本実施の形態における送信装置の構成について説明する。図37は、本実施の形態における送信装置の要部構成を示すブロック図である。本実施の形態の説明にあたり、図25と同一構成部分には同一符号を付して説明を省略する。図37の送信装置3700は、図25の送信装置2500に対し、パンクチャ部2520に代え、パンクチャ部3710を備えて構成される。なお、パンクチャ部3710は、第1パンクチャ部3711、第2パンクチャ部3712、及び、切り替え部3713を備えて構成される。
パンクチャ部3710は、送信情報系列及びターミネーション系列からなる送信符号語系列に対しパンクチャを行い、パンクチャ後の送信符号語系列をインタリーブ部2530に出力する。
具体的には、パンクチャ部3710は、第1のパンクチャパターンと、第1のパンクチャパターンより多くのビットを間引く第2のパンクチャパターンとを用いて、送信符号語系列をパンクチャする。第1のパンクチャパターンと第2のパンクチャパターンとは、パンクチャするビットの割合が異なる。パンクチャ部3710は、例えば、図38に示すようなパンクチャパターンを用いて、送信符号語系列をパンクチャする。図38において、(N+M)ビットは、受信側(復号側)における処理単位である。
第1パンクチャ部3711は、第1のパンクチャパターンを用いて、送信符号語系列に対しパンクチャを行う。第2パンクチャ部3712は、第2のパンクチャパターンを用いて、送信符号語系列に対しパンクチャを行う。
図38のパンクチャパターンを用いる場合、第1パンクチャ部3711は、受信側(復号側)の処理単位の先頭からNビットの送信符号語系列に対してはパンクチャを行わず、第1パンクチャ部3711に入力される送信符号語系列を切り替え部3713に出力する。第2パンクチャ部3712は、(N+1)〜(N+M)ビットの送信符号語系列に対してパンクチャを行い、パンクチャ後の送信符号語系列を切り替え部3713に出力する。
なお、第1パンクチャ部3711及び第2パンクチャ部3712は、制御情報生成部1050からの制御情報に基づいて、送信符号語系列にパンクチャを施すか否か決定するようにしてもよい。切り替え部3713は、制御情報生成部(図示せぬ)からの制御情報に応じて、第1パンクチャ部3711から出力される送信符号語系列、又は、第2パンクチャ部3712から出力される送信符号語系列の一方をインタリーブ部2530に出力する。
以下、上述のように構成された送信装置3700の動作について主にパンクチャ部3710のパンクチャ処理を中心に説明する。なお、以下では、LDPC−CC符号化部2510が、符号化率R=1/2、(177,131)の畳み込み符号を用いて、LDPC−CC符号化を施す場合を例に説明する。
LDPC−CC符号化部2510において、送信情報系列ut(t=1,…,n)に対し、LDPC−CC符号化処理が施され、v=(v1,t,v2,t)が取得される。組織化符号の場合、v1,tは送信情報系列utであり、v2,tはパリティを示す。パリティv2,tは、送信情報系列v1,t及び図36の各行の検査式に基づいて求められる。
パンクチャ部3710によって、符号化率R=1/2の送信符号語系列vに対し、パンクチャ処理が施される。例えば、パンクチャ部3710によって、図35に示すパンクチャが用いられる場合、ブロック1に対しては、パンクチャが施されず、ブロック2〜ブロック5に対しては、所定の間隔で規則的にビットが間引かれる。つまり、ブロック2に対しては、v2,4,v2,6のビットが間引かれ、ブロック3に対しては、v2,7,v2,9のビットが間引かれ、ブロック4に対しては、v2,10,v2,12が間引かれ、ブロック5に対しては、v2,13,v2,15が間引かれる。このようにして、ブロック2〜ブロック5に対して、符号化率R=3/4の送信符号語系列が取得される。
パンクチャ後の送信符号語系列は、インタリーブ部2530、変調部2540を介して、受信側(復号側)に送信される。このとき、図35に示すパンクチャパターンが用いられる場合には、v2,4,v2,6,v2,7,v2,9,v2,10,v2,12,v2,13,v2,15は、送信されないことになる。
このように、図35に示すパンクチャパターンが用いられる場合には、所定の周期ごとに、パンクチャを行わないブロックが発生する。図35に示すように、ブロック1に対してはパンクチャを行わないようにすることにより、図33の一般的なパンクチャ方法を用いた場合には送信されなかったv2、1,v2,3が、送信されることになる。このようにすることで、BP復号を用いたとき行演算単独では信頼度が伝播されない行は、図36の行3610に示される3行となる。図33と図35との比較から分かるように、送信ビットを2ビット追加することにより、行演算単独では信頼度が伝播されない行数が6行から3行に削減される。この結果、対数尤度が初期に存在する行数が増加し、BP復号により、初期の信頼度が確実に更新されるようになり、さらに、この信頼度が、図36の行3610に伝播するようになる。
以後、畳み込み符号(LDPC−CC)の検査行列の構造の特徴から、複数回反復復号を行うことで、検査行列の先頭に多く存在する信頼度が、順次、伝播するようになり、パンクチャによる受信品質の劣化を抑えることができる。
図35の例では、送信されることになった増加ビット数は2ビットと少ないので、伝送速度の低下は小さく、かつ、受信品質の劣化を抑えることができる。なお、このような効果が得られるのは、LDPC−CCが図43のように、検査行列において、1の存在する場所が平行四辺形の範囲に集中する型を採るという特徴によるものである。したがって、LDPC−BCの場合に適用しても、同様の効果を得ることができる可能性は低い。
このように、パンクチャしないブロックを設けることにより、BP復号時に悪影響を与える行数を削減することができる。このとき、伝送効率を考慮すると、パンクチャしないブロックを構成するビットMと、パンクチャの対象となるブロックを構成するビットNとの間に、N<<Mの関係が成りたつことが重要である。N<<Mとすることにより、伝送効率の劣化を抑えつつ、受信品質の劣化を抑圧することができる。
なお、第2のパンクチャパターンが適用されるブロック2〜ブロック5に対し、パンクチャ部3710は、ランダムにパンクチャするのでなく、所定の規則に従って、パンクチャするようにするとよい。ランダムにパンクチャする場合に比べ、所定の規則に従ってパンクチャする場合には、パンクチャ演算処理が簡易になる。
(他のパンクチャパターン)
パンクチャ部3710が用いるパンクチャパターンは図38に限られない。例えば、パンクチャ部3710が、図39に示すように、パンクチャ部3710は、第1のパンクチャパターンとして符号化率R1=2/3のパンクチャパターンを用い、第2のパンクチャパターンとして符号化率R2=5/6のパンクチャパターンを用いるようにしてもよい。
また、図40A,図40Bに示すように、n個のフレームを受信側(復号側)における処理単位として、パンクチャを施すようにしてもよい。図40Aに示すように、nフレーム(nは、1以上の整数)の先頭からNビットに対しては、パンクチャを行わない第1のパンクチャパターンを用い、(N+1)〜(N+M)ビットに対しては、パンクチャを行う第2のパンクチャパターンを用いるようにしてもよい。
また、図40Bに示すように、nフレームの先頭からNビットに対しては、符号化率R1=2/3の第1のパンクチャパターンを用い、(N+1)〜(N+M)ビットに対しては、符号化率R2=5/6の第2のパンクチャパターンを用いるようにしてもよい。これにより、nフレームの先頭からNビットにおいては、パンクチャするビット数を少なくすることができる。
また、図41A,図41Bに示すように、受信側(復号側)における処理単位の後部ほどパンクチャにより間引かれるビットが少なくなるようなパターンを用いるようにしてもよい。受信側(復号側)における処理単位の後部ほど、パンクチャにより間引かれるビット数が少なくなるようにすることにより、BP復号において、受信品質の向上が図れる。
これは、復号処理タイミングを考慮した場合、例えば、nフレームから成る受信データ系列の後部に、パンクチャにより間引かれるビット数が少なくなるようなパンクチャを施すようにすると、BP復号処理期間において、前方と後方の双方に、信頼度が伝播される行が含まれるようになるので、効率的に、信頼度を伝播させることができるようになるためである。
なお、図38の場合と同様に、第1のパンクチャパターンが用いられるビット数Nと、第2のパンクチャパターンが用いられるビット数Mとの間に、N<<Mの関係が成り立つようにすれば、伝送速度の低下を抑えつつ、受信品質を向上することができる。
また、図42Aに示すように、受信側(復号側)における処理単位であるn個のフレーム(nは、1以上の整数)の先頭からN1ビットに対しては、パンクチャを行わない第1のパンクチャパターンを用い、(N1+1)〜(N1+M)ビットに対しては、パンクチャを行う第2のパンクチャパターンを用い、(N1+M+1)〜(N1+M+N2)ビットに対しては、パンクチャを行わない第1のパンクチャパターンを用いるようにしてもよい。
また、図42Bに示すように、受信側(復号側)における処理単位であるn個のフレーム(nは、1以上の整数)の先頭からN1ビットに対しては符号化率R1=2/3の第1のパンクチャパターンを用い、(N1+1)〜(N1+M)ビットに対しては、符号化率R2=5/6の第2のパンクチャパターンを用い、(N1+M+1)〜(N1+M+N2)ビットに対しては、符号化率R1=2/3の第1のパンクチャパターンを用いるようにしてもよい。
パンクチャにより間引かれるビット数が少ない第1のパンクチャパターンが、受信側(復号側)における処理単位に1箇所用いられる場合に比べ(図40及び図41参照)、2箇所用いられる場合には(図42参照)、信頼度が高い検査行が増えるため、BP復号の際の収束速度が速く、少ない反復回数で復号結果を得ることができる。
なお、上記処理単位にパンクチャにより間引かれるビット数が少ない第1のパンクチャパターンが用いられる箇所は、2箇所に限られず、3箇所以上でもよい。
また、上記処理単位にパンクチャにより間引かれるビット数が少ない第1のパンクチャパターンが用いられる箇所が2箇所以上のときも、第1のパンクチャパターンが用いられるビット数の総数Nと、第2のパンクチャパターンが用いられるビット数の総数Mとの間に、N<<Mの関係が成り立つようにすれば、伝送速度の低下を抑えつつ、受信品質を向上することができる。
なお、図40、図41、及び図42には、nフレームに対し、第1のパンクチャパターン及び第2のパンクチャパターンを用いる場合について説明したが、nは、1以上の整数であればよく、1フレームの場合にも適用できる。
以下では、復号処理タイミングとの関係を考慮して、LDPC−CC符号化により得られた送信符号語系列に対し適したパンクチャパターンについて検討する。
図43は、復号処理タイミングを説明するための図である。図43において、受信データ系列は、それぞれ、nフレーム(例えば、n個のOFDM(Orthogonal Frequency Division Multiplexing)シンボル:OFDMシンボルとは、OFDM方式が、32サブキャリアで構成されており、各サブキャリアごとに変調信号を構成する場合、全キャリア(32サブキャリア)で構成されるシンボルをいう。)から構成される。この受信データ系列長は、受信側(復号側)における処理単位であり、当該nフレーム(又は、n個のOFDMシンボル)が、1つのまとまりとして、上位層のレイヤに受け渡される。一般的に、上位層のレイヤが次のnフレームのデータを取り込むまでにタイムラグが生じるため、図43のt3,t6,t9のタイミング、つまり、nフレームの最後部を受信したタイミングを、BP復号を行う期間の最後とするのが現実的である。
LDPC−CCは、畳み込み符号の性質を有するため、t2のタイミングから、BP復号により推定されたデータが有効なデータ(正しい可能性が高いデータ)とするためには、t2のタイミングより前にBP復号を開始する必要がある。例えば、図43に示す例では、t2〜t5の間にBP復号により得られた推定データを有効なデータとするために、t1〜t6の間、BP復号を行う必要がある。同様に、t5〜t8の間に得られた推定データを有効なデータとするために、t4〜t9の間、BP復号を行う必要がある。
このような復号処理タイミングを考慮した場合、例えば、nフレームから成る受信データ系列の後部に、パンクチャにより間引かれるビット数が少なくなるようなパンクチャを施すようにする、と、BP復号処理期間において、前方と後方の双方に、信頼度が伝播される行が含まれるようになるので、効率的に、信頼度を伝播させることができるようになる。
以上のように、本実施の形態によれば、パンクチャ部3710は、送信符号語ビットの処理単位ごとに、第1のパンクチャパターンと、第1のパンクチャパターンに比べより多くのビットを間引く第2のパンクチャパターンとを用いて、送信符号語ビットをパンクチャするようにした。
送信符号語系列に対し、一定の割合でパンクチャを施すのでなく、パンクチャ後の符号化率が異なる第1及び第2のパンクチャパターンを用いることにより、BP復号による復号特性の劣化を抑えることができるようになる。
パンクチャを行う限り、受信品質の劣化の要因となる行が発生してしまうものの、本実施の形態におけるパンクチャ方法のように、伝送速度の低下を抑圧しつつ、受信品質の劣化を抑える方法は、パフォーマンスのよいシステムを構築する上で非常に重要となる。
なお、第1及び第2のパンクチャパターンは、各々、同一の複数のサブパターンから構成されるようにしてもよい。すなわち、図35に示すように、ブロック2〜ブロック5それぞれに対し、同一のサブパンクチャパターンを用いるようにして、規則的に送信符号語ビットを間引くようにしてもよい。これにより、パンクチャ演算処理をより簡易することができる。
また、符号化率が小さい第1のパンクチャパターンは、nフレームの最後部に必ずしも配置する必要はなく、図43から分かるように、t1〜t3,t4〜t6,t7〜t9の間に設けるようにすればよい。また、t1〜t3,t4〜t6,t7〜t9の期間は、BP復号処理期間と、有効データが得られる期間との関係によって特定されるため、BP復号処理期間が変わる場合には、第1のパンクチャパターンを配置するのに適する位置も変動する。
また、以上の説明では、一例として、畳み込み符号に対しBP復号を行う場合のパンクチャ方法について説明したが、これに限ったものではなく、本発明のパンクチャ方法は、非特許文献5〜非特許文献7、及び非特許文献14で記述されているような、時不変LDPC−CC、時変LDPC−CCに対しても、同様に実施することができる。
また、本実施の形態におけるパンクチャ方法を、本発明の各実施の形態及び他の実施の形態において説明した時不変LDPC−CC、時変LDPC−CCに対して用いることができ、受信品質の劣化を抑圧する効果を得る。
(畳み込み符号に基づく時不変・時変LDPC−CC(符号化率1/2))
以下、畳み込み符号に基づく時不変・時変LDPC−CCの概要を述べる。
符号化率R=1/2,生成行列G=[1 G1(D)/G0(D)]の組織的畳み込み符号を考える。このとき、G1はフィードフォワード多項式,G0はフィードバック多項式をあらわしている。情報系列の多項式表現をX(D)、パリティ系列の多項式表現をP(D)とするとパリティ検査多項式は以下のようにあらわされる。
ここでは、式(119)を満たす式(120)のパリティ検査多項式を考える。
式(120)において、ai(i=1,2,…,r)は0以外の整数であり,bj(j=1,2,…,s)は1以上の整数である。式(120)のパリティ検査多項式に基づく検査行列で定義される符号をここでは時不変LDPC−CCと呼ぶ。
式(120)に基づく異なるパリティ検査多項式をm個用意する(mは2以上の整数)。そのパリティ検査多項式を以下のようにあらわす。
このとき、i=0,1,・・・,m−1である。そして、時点jにおける情報およびパリティをX
j,P
jであらわし、u
j=(X
j,P
j)とする。このとき、時点jの情報およびパリティX
j,P
jは、式(122)のパリティ検査多項式を満たす。
ここで、「j mod m」は、jをmで除算した余りである。
式(122)のパリティ検査多項式に基づく検査行列で定義される符号をここでは時変LDPC−CCと呼ぶ。このとき、式(121)のパリティ検査多項式で定義される時不変LDPC−CCおよび式(122)のパリティ検査多項式で定義される時変LDPC−CCは逐次的にパリティをレジスタおよび排他的論理和で簡単に求めることができるという特徴をもつことになる。
復号部では、時不変LDPC−CCでは式(121)、時変LDPC−CCでは式(122)から検査行列Hを作成し、ベクトルu=(u
0,u
1,・・・,u
i,・・・)とすると、以下の関係式が成立する。
そして、式(123)の関係式から、BP復号を行い、データ系列が得られる。
(仕様書または提案書案)
以下に、仕様書または提案書を作成した場合の記載例を示す。
1.
FEC(Forward Error Correction) Schemeとして、複数の符号化率に対応できる誤り訂正符号であるLDPC-CC(Low-Density Parity-Check Convolutional Codes)を使用することを提案する。LDPC-CCは、低密度なパリティ検査行列によって定義される畳み込み符号であり、CTC(Convolutional Turbo Code)、LDPC-BC(Block Code)と同様、Shannon Limitに迫る訂正能力を持つ符号クラスである(非特許文献12及び非特許文献15)。
LDPC-CCは、CTCに対して以下の利点がある。
(1)符号器にインタリーバが不要
・シフトレジスタと加算器のみで符号器を構成可能
・情報系列の長さがインタリーバ長に制限されないため、任意の長さの情報系列の符号化が可能
(2)復号アルゴリズムにパラレル処理が可能であるSum-Product復号が使えるため、シリアル処理が必要なCTCの復号に比べて処理遅延を低減可能
また、IEEE802.11nなどで標準化されているLDPC-BCに比べて以下の利点がある。
(3)情報系列の長さが検査行列のブロック長に制限されないため、任意の長さの情報系列の符号化が可能
(4)メモリ長(拘束長)に比例した演算規模で符号化が実現できるため、情報系列長に比例した演算規模が必要なLDPC-BCに比べ、符号器の構成が簡易(メモリ長<情報系列長)
(5)LDPC-CC特有の検査行列の構造を利用した復号アルゴリズムを適用することにより、復号処理遅延を低減可能
2.
2−1.FEC Encoding
図44に誤り訂正符号方式(FEC Scheme)のブロック図を示す。
誤り訂正符号方式は、LDPC-CC Encoder、パンクチャ器(Puncture)から構成される。符号化するペイロードデータ長は、kビット、符号化後得られる符号語データ長はnビットである。
2−2.LDPC-CC Encoding
ペイロードデータは、LDPC-CCEncoderにより符号化される。
図45にLDPC-CC Encoderの構成を示す。LDPC-CC Encoderは、kビットのペイロードデータに対し、kビットのSystematic BitsおよびkビットのParity Bitsを出力する。LDPC-CC Encoderの符号化率Rは、1/2である。
LDPC Convolutional Encoding過程を以下に示す。
(1)kビットのInformation Bitsの入力は二つに分岐され、一つは、kビットのSystematic Bitsとして出力され、一つは、Constituent Encoderに入力される。
(2)Constituent Encoderは、kビットのInformation Bitsに対して符号化処理を行い、kビットのParity Bitsを出力する。
LDPC-CC Encoderは、{d1,p1}, {d2,p2}, {d3,p3}, …,{dk,pk} という順に、2ビットずつCode Bitsを出力する。
LDPC-CCは、式(124)で与えられるパリティ検査行列によって定義される。
検査行列Hは、k×2kの行列である。検査行列Hの各列は、d1,p1,d2,p2,…dt, pt, …,dk,pkという並びでSystematic Bits(d1、…、dk)とParity Bits(p1、…、pk)に対応する。また、Mは、LDPC-CCのメモリ長を表す。
検査行列Hの各行はパリティ検査多項式を表す。
hd (i)(t)(i=0,…,M)は、t番目のパリティ検査多項式におけるSystematic Bitの重み(1または0)を表し、hp (i)(t)(i=0,…,M)は、t番目のパリティ検査多項式におけるParity Bitの重み(1または0)を表す。
検査行列Hにおいて、hd (i)(t),hp (i)(t)以外の要素はすべて0である。式(1)に示されるように、LDPC-CCの検査行列Hは行列の対角項とその近辺にのみ要素が1の行列である。
FEC Schemeで用いる検査式を式(125)および式(126)に示す。
ただしn=0,1,2,…である。
また、式(125)および式(126)の多項式表現は次のようになる。
ここで、X(D)は、Systematic Bits(d1,…,dk),P(D)はParity Bits(p1,…,pk)を表す。
本提案のLDPC-CC Encoderは、式(125)の多項式と式(126)の多項式の二つの多項式を時点ごとに切り替えて用いる、周期2、メモリ長421の時変LDPC-CC Encoderである。
LDPC-CC Encoderは、式(129)の演算を行う任意の構成を取る。
また、LDPC-CC Encoderの初期状態は全ゼロ状態である。すなわち、
である。
LDPC-CCは、同一の符号器構成で、任意の長さk のInformation Bitsの符号化をサポートする。また、LDPC-CCは、複数のメモリ長をサポートする。
3.Encoding Termination
符号化終了時のLDPC-CC Encoderの状態を一意にするため、ターミネーションが必要である。ターミネーションは、Zero-tailingにより行う。
Zero-tailingは、メモリ長Mビットの0で構成されるTail-bitをLDPC-CC Encodingすることで実現する。また、ターミネーションを行っているとき、Tail-bitは受信側で既知のビット列であるため、Systematic Bitsに含めて送信せず、Tail-bitを符号化した時に得られるMビットのParity Bitsだけを送信する。
4.Puncturing
パンクチャは、単一の符号器構成で1/2より高い符号化率の符号を得るため、LDPC-CC Encoderの出力から、いくつかのsystematic bits and/or parity bitsを間引く(discarding)処理である。Puncturingによりサポートする符号化率を表1に示す。サポートすべき符号化率は、1/2、2/3、3/4であり、4/5、5/6はオプションである。
表2に各符号化率で使用するパンクチャパターンを示す。パンクチャパターンのd,pはそれぞれSystematic Bit,Parity Bitを表し、パターン中の値が0の時、そのビットをパンクチャする。LPuncは、パンクチャパターンの長さを表す。
パンクチャには、regular rotated puncturingを用いる。Systematic Bit,Parity BitそれぞれをLPuncビットごとに区切って、表1に示したパンクチャパターンに従って規則的にパンクチャを行う。符号化率3/4,4/5,5/6の場合は、Systematic Bitsもパンクチャするため、結果の符号は非組織符号となる。
5.
以上、FEC Schemeとして、LDPC-CCを使用することを提案した。
LDPC-CC Encoder構成及び、多項式、パンクチャパターンを示し、FEC Schemeとして使用できることを示した。
6.
6−1.An Example of LDPC-CC Encoder
LDPC-CCの符号化は、式(129)を実現する任意の符号器で実現できる。
LDPC-CC Encoderの一例として図46に示す構成が非特許文献12で示されている。
図46に示すように、LDPC-CC Encoderは、utを保持するM1個のシフトレジスタ、ptを保持するM2個のシフトレジスタ、検査行列Hの各列のhd (i)(t),hp (i)(t)の並びに従ったウェイトを出力するWeight Controller、mod2加算器から構成される。
このような構成を採ることで、LDPC-CC Encoderは、式(125)に従ったLDPC-CCの符号化処理を行う。図46に示すように、LDPC-CCの符号化器は、シフトレジスタと加算器、ウェイト乗算器のみで構成できる。
(他の実施の形態8)
本実施の形態では、実施の形態7で説明した符号化率1/2の時変LDPC−CCを作成する方法を拡張し、符号化率1/2より大きい符号化率の時変LDPC−CCを作成する方法について説明する。なお、以下では、一例として、符号化率3/4等の時変LDPC−CCを作成する方法について説明する。
時点2iのデータX1、データX2、データX3、パリティPをそれぞれX
1,2i、X
2,2i、X
3,2i、P
2iであらわし、時点2i+1のデータX1、データX2、データX3、パリティPをそれぞれX
1,2i+1、X
2,2i+1、X
3,2i+1、P
2i+1であらわす(i:整数)。ここで、データX1の多項式をX1(D)、データX2の多項式をX2(D)、データX3の多項式をX3(D)、パリティPの多項式をP(D)とし、以下のパリティ検査多項式を考える。
式(131)において、a1、a2、・・・、arは0以外の整数(ただし、a1≠a2≠・・・≠ar)とする。また、b1、b2、・・・、bsは0以外の整数(ただし、b1≠b2≠・・・≠bs)とする。また、c1、c2、・・・、bvは0以外の整数(ただし、c1≠c2≠・・・≠cv)とする。また、e1、e2、・・・、ewは1以上の整数(ただし、e1≠e2≠・・・≠ew)とする。そして、式(131)の関係式を用いて、時点2iのP(D)を求める。このとき、P(D)は逐次的に求めることができる。
次に、パリティ検査多項式として、式(132)を考える。
式(132)において、A1、A2、・・・、ARは0以外の整数(ただし、A1≠A2≠・・・≠AR)とする。また、B1、B2、・・・、BSは0以外の整数(ただし、B1≠B2≠・・・≠BS)とする。また、C1、C2、・・・、CVは0以外の整数(ただし、C1≠C2≠・・・≠CV)とする。また、E1、E2、・・・、EWは1以上の整数(ただし、E1≠E2≠・・・≠EW)とする。そして、式(132)の関係式を用いて、時点2i+1のP(D)を求める。このとき、P(D)は逐次的に求めることができる。
以上のようにして、時変周期2のLDPC−CC符号を作成することにより、実施の形態7と同様に、周期的にパンクチャビットを選択する方式を採用した場合に、最良のパンクチャパターンを容易に選択することができるという利点がある。
なお、時変周期10以内であれば、周期的にパンクチャする方式を採用し、最良なパンクチャパターンを探索するのは容易である。
次に、時変周期をm(m≧2の整数)とするLDPC−CCを考える。
時変周期mの場合、式(131)であらわされる異なるm個の検査式を用意し、当該m個の検査式を「検査式#1、検査式#2、・・・、検査式#m」と名づける。
そして、時点mi+1のデータX1、データX2、データX3、パリティPをそれぞれX1,mi+1、X2,mi+1、X3,mi+1、Pmi+1であらわし、時点mi+2のデータX1、データX2、データX3、パリティPをそれぞれX1,mi+2、X2,mi+2、X3,mi+2、Pmi+2であらわし、時点mi+mのデータX1、データX2、データX3、パリティPをそれぞれX1,mi+m、X2,mi+m、X3,mi+m、Pmi+mであらわす(i:整数)。
このとき、時点mi+1のパリティPmi+1は「検査式#1」を用いて求め、時点mi+2のパリティPmi+2は「検査式#2」を用いて求め、・・・、時点mi+mのパリティPmi+mは「検査式#m」を用いて求める時変周期mのLDPC−CCを考える。このようなLDPC−CC符号は、受信品質がよい符号であるとともに、パリティを逐次的に求めることができるという利点を備える。
なお、以上の説明では、式(131)及び式(132)に基づいた時変LDPC−CCについて説明したが、式(131)に代えて、式(133)を用い、式(132)に代えて、式(134)を用いて、時変周期2、あるいは、時変周期mのLDPC―CCを形成することもできる。
なお、符号化率は3/4に限られず、符号化率n/n+1のLDPC−CC符号についても、同様に作成することができる。例えば、時変周期2の場合、時点2iのデータX1、データX2、データX3、・・・、データXn、パリティPをそれぞれX
1,2i、X
2,2i、X
3,2i、・・・、X
n,2i、P
2iであらわし、時点2i+1のデータX1、データX2、データX3、・・・、データXn、パリティPをそれぞれX
1,2i+1、X
2,2i+1、X
3,2i+1、・・・、X
n,2i+1、P
2i+1であらわす(i:整数)。ここで、データX1の多項式をX1(D)、データX2の多項式をX2(D)、データX3の多項式をX3(D)、・・・、データXnの多項式をXn(D)、パリティPの多項式をP(D)とし、以下のパリティ検査多項式を考える。
式(135)において、a1,1、a1,2、・・・、a1,r1は0以外の整数(ただし、a1,1≠a1,2≠・・・≠a1,r1)とする。また、a2,1、a2,2、・・・、a2,r2は0以外の整数(ただし、a2,1≠a2,2≠・・・≠a2,r2)とする。X3(D)〜Xn−1についても同様とする。また、an,1、an,2、・・・、an,rnは0以外の整数(ただし、an,1≠an,2≠・・・≠an,rn)とする。また、e1、e2、・・・、ewは1以上の整数(ただし、e1≠e2≠・・・≠ew)とする。そして、式(135)の関係式を用いて、時点2iのP(D)を求める。このとき、P(D)は逐次的に求めることができる。
次に、パリティ検査多項式として、式(136)を考える。
式(136)において、A1,1、A1,2、・・・、A1,R1は0以外の整数(ただし、A1,1≠A1,2≠・・・≠A1,R1)とする。また、A2,1、A2,2、・・・、A2,R2は0以外の整数(ただし、A2,1≠A2,2≠・・・≠A2,R2)とする。X3(D)〜Xn−1についても同様とする。また、An,1、An,2、・・・、An,Rnは0以外の整数(ただし、An,1≠An,2≠・・・≠An,Rn)とする。また、E1、E2、・・・、EWは1以上の整数(ただし、E1≠E2≠・・・≠EW)とする。そして、式(136)の関係式を用いて、時点2i+1のP(D)を求める。このとき、P(D)は逐次的に求めることができる。
以上のようにして、時変周期2のLDPC−CC符号を作成することにより、実施の形態7と同様に、周期的にパンクチャビットを選択する方式を採用した場合に、最良のパンクチャパターンを容易に選択することができるという利点がある。
なお、時変周期10以内であれば、周期的にパンクチャする方式を採用し、最良なパンクチャパターンを探索するのは容易である。
次に、時変周期をm(m≧2の整数)とするLDPC−CCを考える。
時変周期mの場合、式(135)であらわされる異なるm個の検査式を用意し、当該m個の検査式を「検査式#1、検査式#2、・・・、検査式#m」と名づける。
そして、時点mi+1のデータX1、データX2、データX3、・・・、データXn、パリティPをそれぞれX1,mi+1、X2,mi+1、X3,mi+1、・・・、Xn,mi+1、Pmi+1であらわし、時点mi+2のデータX1、データX2、データX3、・・・、データXn、パリティPをそれぞれX1,mi+2、X2,mi+2、X3,mi+2、・・・、Xn,mi+2、Pmi+2であらわし、時点mi+mのデータX1、データX2、データX3、・・・、データXn、パリティPをそれぞれX1,mi+m、X2,mi+m、X3,mi+m、・・・、Xn,mi+m、Pmi+mであらわす(i:整数)。
このとき、時点mi+1のパリティPmi+1は「検査式#1」を用いて求め、時点mi+2のパリティPmi+2は「検査式#2」を用いて求め、・・・、時点mi+mのパリティPmi+mは「検査式#m」を用いて求める時変周期mのLDPC−CCを考える。このようなLDPC−CC符号は、受信品質がよい符号であるとともに、パリティを逐次的に求めることができるという利点を備える。
以上の説明では、式(135)及び式(136)に基づいた時変LDPC−CCについて説明したが、式(135)に代えて、式(137)を用い、式(136)に代えて、式(138)を用いて、時変周期2、あるいは、時変周期mのLDPC―CCを形成することもできる。
(他の実施の形態9)
実施の形態7において説明した式(68)、式(69)に基づく時変LDPC−CCをパンクチャする際の受信品質の劣化が小さい理由について、複数のパリティ検査多項式それぞれの最大次数に対応するビットが同時にパンクチャされない、パリティ検査多項式(以下「多項式」と略記する)となる条件の観点から説明する。
図47は、本実施の形態における送信装置の要部構成を示すブロック図である。本実施の形態の説明にあたり、図37と同一構成部分には同一符号を付して説明を省略する。図47の送信装置4700は、図37の送信装置3700に対し、LDPC−CC符号化部2510及びパンクチャ部3710に代え、LDPC−CC符号化部4710及びパンクチャ部4720を備えて構成される。
LDPC−CC符号化部4710は、入力された情報ビットに対し、後述する検査行列Hに従いパリティビットを生成する。LDPC−CC符号化部4710は、情報ビット及びパリティビットからなる符号語ビットをパンクチャ部4720に出力する。
パンクチャ部4720は、符号語ビットをパンクチャする。パンクチャパターンについては、後述する。
次に、LDPC−CC符号化部4710で用いられる検査行列が、式(139)及び式(140)の多項式により構成される場合を例に説明する。
上記多項式(139),(140)が交互に繰り返される検査行列の各パラメータを、表3に示す。
図48に、二つの多項式の最大次数α1,α2,β1,β2、及び、第2次数Α1,Α2,Β1,Β2の関係を示す。
図48に示すように、二つの多項式の情報ビットの最大次数α1,α2は、偶数と奇数のペアになっている。以下、[α1:偶,α2:奇]と表す。また、情報ビットの第2次数Α1,Α2、パリティビットの最大次数β1,β2、及び、パリティビットの第2次数Β1,Β2は、偶数同士又は奇数同士のペアになっている。以下、[Α1:偶,Α2:偶]、[β1:奇,β2:奇]、[Β1:偶,Β2:偶]と表す。
これらの関係を図49の検査行列を用いて説明する。図49は、多項式(139),(140)を用いて構成される時変周期2の検査行列である。図49において、位置4910−1,4910−2は、二つの多項式の情報ビットの最大次数α1,α2に対応するビットの位置を示している。また、位置4920−1,4920−2は、二つの多項式のパリティビットの最大次数β1,β2に対応するビットの位置を示している。また、位置4930−1,4930−2は、二つの多項式の情報ビットの第2次数Α1,Α2に対応するビットの位置を示している。また、位置4940−1,4940−2は、二つの多項式のパリティビットの第2次数Β1,Β2に対応するビットの位置を示している。なお、図49において、網掛け部分の要素は、全て1となる。
図49の位置4910−1,4910−2から分かるように、二つの多項式のある次数が、偶数と奇数のペアである場合(例えば、[α1:偶,α2:奇])、その次数は検査行列上の同じ列に現れる。また、図49の位置4920−1,4920−2、4930−1,4930−2、4940−1,4940−2から分かるように、二つの多項式のある次数が、偶数同士または奇数同士のペアである場合(例えば、[Α1:偶,Α2:偶]、[β1:奇,β2:奇]、[Β1:偶,Β2:偶])、その次数は検査行列上の異なる列に現れる。
式(139),(140)のように、情報ビットの最大次数α1,α2が偶数と奇数のペアの場合([α1:偶,α2:奇])、最大次数に対応するビットは同一の列に現れる。例えば、図49の例では、情報ビットv1,1,v1,3,v1,5,v1,7,…の列に情報ビットの最大次数α1,α2に対応するビットが表れる。そのため、これらビットがパンクチャされた場合、二つ多項式の最大次数に対応するビットがともにパンクチャされてしまい、多項式において拘束長が短くなってしまうので、誤り訂正能力が低下してしまう。
このような、二つの多項式の最大次数に対応するビットが全てパンクチャされることにより、誤り訂正能力が低下するのを回避する方法としては、二つの多項式の最大次数がともに偶数、又は、ともに奇数となる多項式を有するLDPC−CCを用いることが挙げられる。すなわち、情報ビットの最大次数α1,α2は、[α1:偶,α2:偶]、又は、[α1:奇,α2:奇]のいずれかとし、パリティビットの最大次数β1,β2は、[β1:偶,β2:偶]、又は、[β1:奇,β2:奇]のいずれかとする多項式を用いるようにする。
換言すると、本実施の形態では、情報ビットの最大次数α1,α2に関しては、式(141−1)を満たしつつ、パリティビットの最大次数β1,β2に関しては、式(141−2)を満たす多項式を有するLDPC−CCを用いることが特徴である。
ただし、情報ビットの最大次数α1,α2が同じ値をとる場合や、パリティビットの最大次数β1,β2が同じ値をとる場合には、どのようなパターンを用いても、最大次数に対応するビットがパンクチャされてしまう。したがって、これら最大次数は、異なる値をとりつつ、偶数のペア、又は、奇数のペアにする必要がある。
すなわち、情報ビットの最大次数α1,α2については、[α1:偶,α2:偶,α1≠α2]、又は、[α1:奇,α2:奇,α1≠α2]とする。同様に、パリティビットの最大次数β1,β2については、[β1:偶,β2:偶,β1≠β2]、又は、[β1:奇,β2:奇,β1≠β2]とする。
なお、式(141−1),(141−2)は、時変周期T=2、すなわち2種類の多項式から構成されるLDPC−CCの最大次数の条件について示しているが、時変周期は2に限られず、時変周期Tは3以上でも良い。時変周期Tが3以上の場合には、情報ビットの最大次数α1,α2,…,αt,…,αTに関しては、式(142−1)を満たしつつ、パリティビットの最大次数β1,β2,…,βt,…,βTに関しては、式(142−2)を満たす多項式を有するLDPC−CCを用いればよい。
次に、再度時変周期が2の場合に戻って、二つの多項式の最大次数[α1,α2]、[β1,β2]が、式(141−1),(141−2)の双方または一方を満たさない場合について説明する。
以下では、多項式(139),(140)を用いて、式(141−1)を満たさず、式(141−2)のみを満たす場合を例に挙げて説明する。この場合、図49の位置4910−1,4910−2に示されるように、二つの多項式の情報ビットに関する最大次数α1,α2に対応するビットが、同じ列に現れる。そのため、パンクチャパターンによっては、二つの多項式とも最大次数α1,α2に対応するビットがパンクチャされ、信頼度が伝播する範囲が小さくなり、誤り訂正能力が低下してしまう可能性がある。
最大次数α1,α2に対応するビットがパンクチャされた場合、信頼度が伝播する範囲は第2次数Α1,Α2に依存する。そこで、第2次数Α1,Α2に対応するビットがパンクチャされないようにする必要がある。つまり、本実施の形態では、情報ビットの最大次数α1,α2が偶数と奇数の組み合わせの場合([α1:偶,α2:奇]、又は、[α1:奇,α2:偶])、情報ビットの第2次数Α1,Α2を偶数同士のペア([Α1:偶,Α2:偶,Α1≠Α2])、又は、奇数同士のペア([Α1:奇,Α2:奇,Α1≠Α2])とする多項式を有するLDPC−CCを用いる。
同様に、パリティビットの最大次数β1,β2が偶数と奇数の組み合わせの場合([β1:偶,β2:奇]、又は、[β1:奇,β2:偶])、パリティビットの第2次数Β1,Β2を偶数同士のペア([Β1:偶,Β2:偶,Β1≠Β2])、又は、奇数同士のペア([Β1:奇,Β2:奇,Β1≠Β2])とする多項式を有するLDPC−CCを用いる。
例えば、LDPC−CC符号化部4710が、式(143)、式(144)で示した多項式を用いるLDPC−CC符号化を行うことにより、パンクチャ適用時においても、誤り訂正能力が高いLDPC−CCを提供することができる。
式(143)、式(144)では、情報ビットの最大次数α1,α2は、偶数と奇数になっているのに対し、情報ビットの第2次数Α1,Α2はともに偶数となっている。この結果、二つの多項式の情報ビットの最大次数α1,α2は、同じ列に現れることになるものの、情報ビットの第2次数Α1,Α2は、同じ列に現れないので、情報ビットの第2次数Α1,Α2に依存する範囲では、信頼度伝播を確保することができるようになる。これにより、誤り訂正能力の低下を回避することができる。
なお、式(143)、式(144)では、パリティビットの最大次数β1,β2はともに奇数であるので、パリティビットの最大次数β1,β2に依存する範囲で、信頼度伝播を確保することができる。
実施の形態7で説明した式(68)、式(69)では、情報ビットの最大次数α1,α2が偶数と偶数の組み合わせであり、かつ、α1とα2とは異なるので([α1:偶,α2:偶],α1≠α2)、パンクチャにより、情報ビットの最大次数α1,α2に対応するビットが、同じ列に現れることはない。
また、式(68)、式(69)では、パリティビットの最大次数β1,β2が偶数と奇数の組み合わせであり([β1:偶,β2:奇])、かつ、パリティビットの第2次数Β1,Β2が、奇数同士のペア([Β1:奇,Β2:奇,Β1≠Β2])であるため、二つの多項式のパリティビットの最大次数β1,β2は、同じ列に現れることになるものの、パリティビットの第2次数B1,B2は、同じ列に現れないので、パリティビットの第2次数B1,B2に依存する範囲では、信頼度伝播を確保することができるようになる。
これにより、式(68)、式(69)で定義される時変周期2のLDPC−CCは、パンクチャ適用時においても誤り訂正能力の低下を回避することができる。
なお、以下では、式(68)、式(69)に代えて、式(145)、式(146)を用いる時変周期2のLDPC−CCを考える。
式(145)において、a1、a2、・・・、arは整数(ただし、a1≠a2≠・・・≠ar)とする。また、e1、e2、・・・、ewは整数(ただし、e1≠e2≠・・・≠ew)とする。
また、式(146)において、A1、A2、・・・、ARは整数(ただし、A1≠A2≠・・・≠AR)とする。また、E1、E2、・・・、EWは整数(ただし、E1≠E2≠・・・≠EW)とする。
この場合、式(145)の情報ビットの各次数a1、a2、・・・、arの中に、3つ以上の偶数が存在すると、検査行列上の同じ列に各次数が現れるようになり、ループ6が発生してしまう。ループ6(長さが6のループ、「Girth 6」ともいう)のように、短いループがあると、受信品質が劣化する。したがって、a1、a2、・・・、arの中に、偶数が3つ以上含まれないようにするのが好ましい。
同様に、式(145)の情報ビットの各次数a1、a2、・・・、arの中に、3つ以上の奇数が存在すると、検査行列上の同じ列に各次数が現れるようになり、ループ6が発生してしまうので、a1、a2、・・・、arの中に、奇数が3つ以上含まれないようにするのが好ましい。
さらに、上記実施の形態7でも述べた行重みのことを考慮すると、r≦4とするのがよい。
または、式(145)のパリティビットの各次数e1、e2、・・・、ewについても、同様に、3つ以上の偶数、若しくは、3つ以上の奇数が含まれないようにするのが好ましく、かつ、w≦4とするのがよい。
または、式(146)の情報ビットの各次数A1、A2、・・・、ARについても、同様に、3つ以上の偶数、若しくは、3つ以上の奇数が含まれないようにするのが好ましく、かつ、R≦4とするのがよい。
または、式(146)のパリティビットの各次数E1、E2、・・・、EWについても、同様に、3つ以上の偶数、若しくは、3つ以上の奇数が含まれないようにするのが好ましく、かつ、W≦4とするのがよい。
なお、以下のように設定すると、さらに良好な時変周期2のLDPC−CCを設計することができる。
すなわち、「式(145)の情報ビットの各次数a1、a2、・・・、arの中に、3つ以上の偶数、若しくは、3つ以上の奇数が含まれないようにし、かつ、r≦4とする。
かつ、式(145)のパリティビットの各次数e1、e2、・・・、ewの中に、3つ以上の偶数、若しくは、3つ以上の奇数が含まれないようにし、かつ、w≦4とする。
かつ、式(146)の情報ビットの各次数A1、A2、・・・、ARの中に、3つ以上の偶数、若しくは、3つ以上の奇数が含まれないようにし、かつ、R≦4とする。
かつ、式(146)のパリティビットの各次数E1、E2、・・・、EWの中に、3つ以上の偶数、若しくは、3つ以上の奇数が含まれないようにし、かつ、W≦4とする。」とすると、さらに特性が良好な時変周期2、符号化率1/2のLDPC−CCを得る。
以上、式(145)、式(146)を用いる時変周期2、符号化率1/2のLDPC−CCについて説明した。以下、式(147−1)〜(147−4)を用いる時変周期2、符号化率1/3のLDPC−CCを考える。
式(147−1)において、a1、a2、・・・、anは整数(ただし、a1≠a2≠・・・≠an)とする。また、b1、b2、・・・、bmは整数(ただし、b1≠b2≠・・・≠bm)とする。また、c1、c2、・・・、cqは整数(ただし、c1≠c2≠・・・≠cq)とする。
また、式(147−2)において、A1、A2、・・・、ANは整数(ただし、A1≠A2≠・・・≠AN)とする。また、B1、B2、・・・、BMは整数(ただし、B1≠B2≠・・・≠BM)とする。また、C1、C2、・・・、CQは整数(ただし、C1≠C2≠・・・≠Cq)とする。そして、式(147−1)及び式(147−2)の関係式を用いて、時点2iのP(D)及びPn(D)を求める。
また、式(147−3)において、α1、α2、・・・、αωは整数(ただし、α1≠α2≠・・・≠αω)とする。また、β1、β2、・・・、βξは整数(ただし、β1≠β2≠・・・≠βξ)とする。また、γ1、γ2、・・・、γλは整数(ただし、γ1≠γ2≠・・・≠γλ)とする。
また、式(147−4)において、E1、E2、・・・、EΩは整数(ただし、E1≠E2≠・・・≠EΩ)とする。また、F1、F2、・・・、FZは整数(ただし、F1≠F2≠・・・≠FZ)とする。また、G1、G2、・・・、GΛは整数(ただし、G1≠G2≠・・・≠GΛ)とする。そして、式(147−3)及び式(147−4)の関係式を用いて、時点2i+1のP(D)及びPn(D)を求める。
符号化率1/3の場合も、符号化率1/2の場合と同様に、式(147−1)の各次数a1、a2、・・・、anについても、3つ以上の偶数、若しくは、3つ以上の奇数が含まれないようにするのが好ましく、かつ、n≦4とする、または、b1、b2、・・・、bmについても、3つ以上の偶数、若しくは、3つ以上の奇数が含まれないようにするのが好ましく、かつ、m≦4とする、または、c1、c2、・・・、cqについても、3つ以上の偶数、若しくは、3つ以上の奇数が含まれないようにするのが好ましく、かつ、q≦4とするのがよい。
式(147−2)の各次数A1、A2、・・・、ANについても、同様に、3つ以上の偶数、若しくは、3つ以上の奇数が含まれないようにするのが好ましく、かつ、N≦4とする、または、B1、B2、・・・、BMについても、3つ以上の偶数、若しくは、3つ以上の奇数が含まれないようにするのが好ましく、かつ、M≦4とする、または、C1、C2、・・・、CQについても、3つ以上の偶数、若しくは、3つ以上の奇数が含まれないようにするのが好ましく、かつ、Q≦4とするのがよい。
式(147−3)の各次数α1、α2、・・・、αωについても、同様に、3つ以上の偶数、若しくは、3つ以上の奇数が含まれないようにするのが好ましく、かつ、ω≦4とする、または、β1、β2、・・・、βξについても、3つ以上の偶数、若しくは、3つ以上の奇数が含まれないようにするのが好ましく、かつ、ξ≦4とする、または、γ1、γ2、・・・、γλについても、3つ以上の偶数、若しくは、3つ以上の奇数が含まれないようにするのが好ましく、かつ、λ≦4とするのがよい。
式(147−4)の各次数E1、E2、・・・、EΩについても、同様に、3つ以上の偶数、若しくは、3つ以上の奇数が含まれないようにするのが好ましく、かつ、Ω≦4とする、または、F1、F2、・・・、FZについても、3つ以上の偶数、若しくは、3つ以上の奇数が含まれないようにするのが好ましく、かつ、Z≦4とする、または、G1、G2、・・・、GΛについても、3つ以上の偶数、若しくは、3つ以上の奇数が含まれないようにするのが好ましく、かつ、Λ≦4とするのがよい。
なお、以下のように設定すると、さらに良い時変周期2、符号化率1/3のLDPC−CCを設計することができる。
すなわち、「式(147−1)の各次数a1、a2、・・・、anについても、3つ以上の偶数、若しくは、3つ以上の奇数が含まれないようにし、かつ、n≦4とする。かつ、b1、b2、・・・、bmについても、3つ以上の偶数、若しくは、3つ以上の奇数が含まれないようにし、かつ、m≦4とする。かつ、c1、c2、・・・、cqについても、3つ以上の偶数、若しくは、3つ以上の奇数が含まれないようにし、かつ、q≦4とする。
および、式(147−2)の各次数A1、A2、・・・、ANについても、同様に、3つ以上の偶数、若しくは、3つ以上の奇数が含まれないようにし、かつ、N≦4とする。かつ、B1、B2、・・・、BMについても、3つ以上の偶数、若しくは、3つ以上の奇数が含まれないようにし、かつ、M≦4とする。かつ、C1、C2、・・・、CQについても、3つ以上の偶数、若しくは、3つ以上の奇数が含まれないようにし、かつ、Q≦4とする。
および、式(147−3)の各次数α1、α2、・・・、αωについても、同様に、3つ以上の偶数、若しくは、3つ以上の奇数が含まれないようにし、かつ、ω≦4とする。かつ、β1、β2、・・・、βξについても、3つ以上の偶数、若しくは、3つ以上の奇数が含まれないようにし、かつ、ξ≦4とする。かつ、γ1、γ2、・・・、γλについても、3つ以上の偶数、若しくは、3つ以上の奇数が含まれないようにし、かつ、λ≦4とする。
および、式(147−4)の各次数E1、E2、・・・、EΩについても、同様に、3つ以上の偶数、若しくは、3つ以上の奇数が含まれないようにし、かつ、Ω≦4とする。かつ、F1、F2、・・・、FZについても、3つ以上の偶数、若しくは、3つ以上の奇数が含まれないようにし、かつ、Z≦4とする。かつ、G1、G2、・・・、GΛについても、3つ以上の偶数、若しくは、3つ以上の奇数が含まれないようにし、かつ、Λ≦4とする。」とすると、さらに特性が良好な時変周期2、符号化率1/3のLDPC−CCを得る。
また、式(148−1)、式(148−2)を用いる時変周期2、符号化率n/n+1のLDPC−CCを考える。
式(148−1)において、a1,1、a1,2、・・・、a1,r1は整数(ただし、a1,1≠a1,2≠・・・≠a1,r1)とする。また、a2,1、a2,2、・・・、a2,r2は整数(ただし、a2,1≠a2,2≠・・・≠a2,r2)とする。また、ai,1、ai,2、・・・、ai,ri(i=3,…,n−1)は整数(ただし、ai,1≠ai,2≠・・・≠ai,ri)とする。また、an,1、an,2、・・・、an,rnは整数(ただし、an,1≠an,2≠・・・≠an,rn)とする。また、e1、e2、・・・、ewは整数(ただし、e1≠e2≠・・・≠ew)とする。そして、例えば、式(148−1)の関係式を用いて、時点2iのP(D)を求めるものとする。
式(148−2)において、A1,1、A1,2、・・・、A1,R1は整数(ただし、A1,1≠A1,2≠・・・≠A1,R1)とする。また、A2,1、A2,2、・・・、A2,R2は整数(ただし、A2,1≠A2,2≠・・・≠A2,R2)とする。また、Ai,1、Ai,2、・・・、Ai,ri(i=3,…,n−1)は整数(ただし、Ai,1≠Ai,2≠・・・≠Ai,ri)とする。また、An,1、An,2、・・・、An,Rnは整数(ただし、An,1≠An,2≠・・・≠An,Rn)とする。また、E1、E2、・・・、EWは整数(ただし、E1≠E2≠・・・≠EW)とする。そして、例えば、式(148−2)の関係式を用いて、時点2i+1のP(D)を求めるものとする。
符号化率n/n+1の場合も、符号化率1/2,1/3の場合と同様に、式(148−1)であらわされる時変周期2のLDPC−CCのパリティ検査多項式のうち、[a1,1、a1,2、・・・、a1,r1]の中に、偶数若しくは奇数が3つ以上含まれず、かつ、r1≦4を満たす、または、[ai,1、ai,2、・・・、ai,ri]の中に(i=2,3,…,n−1)、偶数若しくは奇数が3つ以上含まれず、かつ、ri≦4を満たす、または、[an,1、an,2、・・・、an,rn]の中に、偶数若しくは奇数が3つ以上含まれず、かつ、rn≦4を満たす、または、[e1、e2、・・・、ew]の中に、偶数若しくは奇数が3つ以上含まれず、かつ、w≦4を満たす、第1のパリティ検査多項式(148−1)と、式(148−2)であらわされる畳み込み符号のパリティ検査多項式のうち、[A1,1、A1,2、・・・、A1,R1]の中に、偶数若しくは奇数が3つ以上含まれず、かつ、R1≦4を満たす、または、[Ai,1、Ai,2、・・・、Ai,Ri]の中に(i=2,3,…,n−1)、偶数若しくは奇数が3つ以上含まれず、かつ、Ri≦4を満たす、または、[An,1、An,2、・・・、An,Rn]の中に、偶数若しくは奇数が3つ以上含まれず、かつ、Rn≦4を満たす、または、[E1、E2、・・・、EW]の中に、偶数若しくは奇数が3つ以上含まれず、かつ、W≦4を満たす、第2のパリティ検査多項式(148−2)と、に基づいて定義した検査行列を用いるようにするとよい。
なお、「式(148−1)および(148−2)の形式であらわされる時変周期2のLDPC−CCのパリティ検査多項式において、以下の[条件#1]を満たす第1のパリティ検査多項式(148−1)と、以下の[条件#2]を満たす第2のパリティ検査多項式(148−2)と、に基づいて定義した検査行列を用いて時変周期2のLDPC―CCを設計する。」と、さらに特性が良好な時変周期2、符号化率n/n+1のLDPC−CCを得ることができる。
[条件#1]
式(148−1)において[a1,1、a1,2、・・・、a1,r1]の中に、偶数若しくは奇数が3つ以上含まれず、かつ、r1≦4を満たす。
かつ、[ai,1、ai,2、・・・、ai,ri]の中に(i=2,3,…,n−1)、偶数若しくは奇数が3つ以上含まれず、かつ、ri≦4を満たす。
かつ、[an,1、an,2、・・・、an,rn]の中に、偶数若しくは奇数が3つ以上含まれず、かつ、rn≦4を満たす。
かつ、[e1、e2、・・・、ew]の中に、偶数若しくは奇数が3つ以上含まれず、かつ、w≦4を満たす。
[条件#2]
[A1,1、A1,2、・・・、A1,R1]の中に、偶数若しくは奇数が3つ以上含まれず、かつ、R1≦4を満たす。
かつ、[Ai,1、Ai,2、・・・、Ai,Ri]の中に(i=2,3,…,n−1)、偶数若しくは奇数が3つ以上含まれず、かつ、Ri≦4を満たす。
かつ、[An,1、An,2、・・・、An,Rn]の中に、偶数若しくは奇数が3つ以上含まれず、かつ、Rn≦4を満たす。
かつ、[E1、E2、・・・、EW]の中に、偶数若しくは奇数が3つ以上含まれず、かつ、W≦4を満たす。
上記ループ6の議論において各項数を4以下とすることを条件としているが、これは、5以上とすると必ず偶数3つ以上、若しくは、奇数3つ以上が存在することになるからである。なお、ループ6に関する重要な定理については、他の実施の形態14で詳述する。
なお、表4に、式(122)に基づく時変周期2、符号化率1/2のパリティ検査多項式におけるAk及びBkの符号リストを示す。表4は、最大拘束長を600以下とした場合に、良好な受信特性を与える、時変周期2、符号化率1/2のLDPC−CCの例である。
なお、時変周期2、符号化率1/2のLDPC−CCにおいて、良好な受信品質を与えるLDPC−CCの条件として、検査行列のすべての列において、列重みが10以下となることは、一つの重要な条件となる。
(他の実施の形態10)
実施の形態7、実施の形態8、他の実施の形態5、他の実施の形態6、他の実施の形態8では、時変LDPC−CCの時変周期が短い場合、例えば時変周期が2から10の場合について説明した。ここでは、時変周期2のLDPC−CCを応用し、時変周期を長くしたLDPC−CCについて説明する。以下では、一例として、符号化率1/2の場合を例に説明する。なお、実施の形態7において、符号化率1/2の場合を例に説明したので、実施の形態7と対比しながら説明する。
実施の形態7では、時変周期を2から10程度とするLDPC−CCについて説明した。パリティ検査多項式をランダムに生成する場合、時変周期2のLDPC−CCでは、特性が良好な符号を容易に探索することができるのに対し、時変周期が長いLDPC−CCでは、特性が良好な符号を探索するのが困難となる。これは、パリティ検査多項式をランダムに生成する場合には、時変周期が長くなるほど、必要なパリティ検査多項式の数が増えるため、特性が良いLDPC−CCを提供できるパリティ検査多項式の組み合わせを特定するのが難しくなるからである。
そこで、時変周期2のLDPC−CCを応用し、時変周期が長いLDPC−CCを生成する方法について検討する。
実施の形態7で説明したように、符号化率1/2のとき、情報系列(データ)の多項式表現をX(D)、パリティの系列の多項式表現をP(D)とすると、パリティ検査多項式は式(64)のようにあらわされる。
式(64)において、a1、a2、・・・、anは、0以外の整数(ただし、a1≠a2≠・・・≠an)とする。また、b1、b2、・・・bmは、1以上の整数(ただし、b1≠b2≠・・・≠bm)とする。ここで、符号化を容易に行うことを可能とするため、D0X(D)、および、D0P(D)の項(D0=1)が存在するものとする。したがって、P(D)は式(65)のようにあらわされる。
式(65)から分かるように、D0=1が存在し、かつ、過去のパリティの項、つまり、b1、b2、・・・bmが1以上の整数であるため、パリティPを逐次的に求めることができる。
次に、式(64)とは異なる符号化率1/2のパリティ検査多項式を式(66)のようにあらわす。
式(66)において、A1、A2、・・・、ANは、0以外の整数(ただし、A1≠A2≠・・・≠AN)とする。また、B1、B2、・・・、BMは1以上の整数(ただし、B1≠B2≠・・・≠BM)とする。ここで、符号化を容易に行うことを可能とするため、D0X(D)およびD0P(D)の項(D0=1)が存在するものとする。このときP(D)は、式(67)のようにあらわされる。
以下、時点2iのデータXとパリティPとをそれぞれX2i、P2iであらわし、時点2i+1のデータXとパリティPとを、それぞれX2i+1、P2i+1であらわす(i:整数)。
時変周期が2のLDPC−CCでは、時点2iのパリティP2iは式(65)を用いて算出し、時点2i+1のパリティP2i+1は式(67)を用いて算出する。
ここで、時変周期2Z(Z:2以上の整数)のLDPC−CCを考える。このとき、式(65)のパリティ検査多項式および式(67)に基づくZ個の異なるパリティ検査多項式、すなわち、(Z+1)個の異なるパリティ検査多項式を用意する。なお、式(67)に基づくZ個の異なるパリティ検査多項式を「検査式#0」、「検査式#1」、・・・、「検査式#Z―1」と名付ける。
そして、以下のケース1)またはケース2)に応じて、時点jのパリティを求める。
ケース1)j mod 2(jを2で除算した余り)=0の場合
式(65)を用いて時点jのパリティを求める。
ケース2)j mod 2(jを2で除算した余り)=1の場合
jを2で割ったときの商をkとし、k=gZ+i(g:整数、i=0、1、・・・、Z−1)とすると、「検査式#i」を用いて時点jのパリティを求める。
このようにすることで、(Z+1)個の異なるパリティ検査多項式により、時変周期2ZのLDPC−CCを生成することができる。つまり、時変周期2Zより少ない数の(Z+1)個のパリティ検査多項式により、時変LDPC−CCを形成することになる。なお、上記では、式(64)および式(66)を用いて説明したが、パリティ検査多項式の形式はこれに限ったものではない。
また、符号化率1/2の場合を例に説明したが、これに限ったものではなく、他の実施の形態5、他の実施の形態6、他の実施の形態8等で説明した、符号化率1/2以外の場合においても、符号化率1/2の場合と同様に、時変周期2のLDPC−CCを応用し、時変周期が長いLDPC−CCを生成することができる。すなわち、符号化率に限らず、Z個の異なるパリティ検査多項式を「検査式#0」、「検査式#1」、・・・、「検査式#Z―1」、および、これら「検査式#0」、「検査式#1」、・・・、「検査式#Z―1」とは異なる検査多項式「多項式#A」を用意する。
そして、以下のケース1)またはケース2)に応じて、時点jのパリティを求める。
ケース1)j mod 2(jを2で除算した余り)=0の場合
「多項式#A」を用いて時点jのパリティを求める。
ケース2)j mod 2(jを2で除算した余り)=1の場合
jを2で割ったときの商をkとし、k=gZ+i(g:整数、i=0、1、・・・、Z−1)とすると、「検査式#i」を用いて時点jのパリティを求める。
以上のように、符号化率1/2以外の符号化率においても、時変周期2Zより少ない数のパリティ検査多項式により時変LDPC−CCを形成することができる。
また、上述の方法以外でも、時変周期2Zより少ない数のパリティ検査多項式を用いて、時変LDPC−CCを形成することができる。例えば、α個の異なるパリティ検査多項式を用意し、α個のパリティ検査多項式のうちのいくつかのパリティ検査多項式を複数回用い、時変周期β(β>α)のLDPC−CCを形成してもよい。しかし、ケース1)のように、j mod 2=0の場合には、常に同一の「多項式#A」を用いて時点jのパリティを求めるようにする場合には、特に、特性が良好なパリティ検査多項式を探索し易いという利点がある。
(他の実施の形態11)
ここでは、他の実施の形態10で説明したLDPC−CCを応用し、秘匿性を有するLDPC−CCを探索の作成方法について説明する。以下では、一例として、符号化率1/2の場合を例に説明する。
例えば、式(64)に基づく異なるパリティ検査多項式をα個用意する。そして、α個のパリティ検査多項式から、β個(α≧β)のパリティ検査多項式を抽出し、時変周期γ(γ≧β)のLDPC−CCを作成する。
このとき、j mod γ=iを満たす時点jのパリティを、同一のパリティ検査多項式を用いて求める。例えば、β個のパリティ検査多項式を「多項式#1」、「多項式#2」・・・「多項式#β」であらわし、i=0、1、・・・、γ−1のいずれかで、「多項式#k」(k=1,2,・・・,β)が少なくとも1回ずつ用いられるようにすると、γ≧βであるので、i=0、1、・・・、γ−1では、β個の全てのパリティ検査多項式が用いられることになる。
このとき、異なるβ個のパリティ検査多項式の選択方法、および、時変周期γの設定方法は、複数個存在することになる。そこで、送信側で決定した異なるβ個のパリティ検査多項式の選択方法および時変周期γの設定方法を、受信側が知らない限り、誤りを訂正することが困難となる。
そこで、以下では、送信装置が、上記パリティ検査多項式の選択方法と時変周期とを変更できる構成を含み、受信装置が、上記送信装置の符号化器の構成を暗号の鍵とする秘匿性通信を提案する。
図50は、上述の方式を用いた秘匿通信システムの一例を示している。なお、以下では、一例として、無線通信システムについて説明するが、秘匿通信システムは、無線通信システムに限ったものではない。
図50の無線通信システム5000は、送信装置5010および受信装置5020を備えて構成される。
送信装置5010は、LDPC−CC符号化器5012、変調部5014、アンテナ5016、制御部5017、および、鍵情報生成部5019を備えて構成される。
制御部5017は、パリティ検査多項式をβ個選択する。なお、パリティ検査多項式は、LDPC−CC符号化器5012において用いられる検査行列を構成する。制御部5017は、選択したβ個のパリティ検査多項式の情報を含む符号化方法に関する情報を、LDPC−CC符号化器5012に出力する。
例えば、制御部5017は、式(64)に基づく異なるパリティ検査多項式をα個保持し、そして、α個のパリティ検査多項式から、β個(α≧β)のパリティ検査多項式を抽出(選択)する。制御部5017は、抽出(選択)したβ個のパリティ検査多項式の情報を、符号化方法に関する情報5018として、LDPC−CC符号化器5012に出力する。符号化方法に関する情報5018について、以下に示す。例えば、まず、α個のパリティ検査多項式に予め番号付けを行う。次に、α個のパリティ検査多項式に付された番号については、予め、送信装置5010と受信装置5020との間で既知とする。抽出(選択)したβ個のパリティ検査多項式に付された番号を、符号化方法に関する情報5018として用いるようにする。
また、制御部5017は、時変周期γを設定し、選択したβ個のパリティ検査多項式のうち、時刻jにおいて用いるパリティ検査多項式に関する情報をLDPC−CC符号化器5012に出力する。
LDPC−CC符号化器5012は、情報5011、および、制御部5017から出力される符号化方法に関する情報5018を入力とし、情報5018により指定された符号化方法にしたがって、LDPC−CC符号化を行う。
具体的には、LDPC−CC符号化器5012は、j mod γ=iを満たす時点jのパリティを、同一のパリティ検査多項式を用いて求める。例えば、β個のパリティ検査多項式を「多項式#1」、「多項式#2」・・・「多項式#β」であらわし、i=0、1、・・・、γ−1のいずれかで、「多項式#k」(k=1,2,・・・,β)が少なくとも1回ずつ用いられるようにする。このようにすると、γ≧βであるので、i=0、1、・・・、γ−1では、β個の全てのパリティ検査多項式が用いられることになる。LDPC−CC符号化器5012は、符号化後のデータ5013を変調部5014に出力する。
変調部5014は、符号化後のデータ5013を入力とし、変調、帯域制限、周波数変換、増幅等の処理を施し、得られた変調信号5015をアンテナ5016に出力する。
アンテナ5016は、変調信号5015を電波として放出する。
鍵情報生成部5019は、LDPC−CC符号化器5012における符号化方法に関する情報5018を入力とし、この情報5018を鍵とする鍵情報を生成し、生成した鍵情報を何らかの通信手段を用いて、受信装置5020に通知する。上述したように、例えば、α個のパリティ検査多項式に予め番号付けが施されている場合、抽出(選択)されたβ個のパリティ検査多項式に付された番号を鍵として用いてもよい。すなわち、鍵情報生成部5019は、LDPC−CC符号化器5012において用いられたパリティ検査多項式に関する情報を、受信装置5020に通知する。
受信装置5020は、アンテナ5021、復調部5023、復号部5025、および、鍵情報取得部5026を備えて構成される。
鍵情報取得部5026は、送信装置5010から送信される鍵情報を入力とし、符号化方法に関する情報を再生する。例えば、送信装置5010のLDPC−CC符号化器5012において用いられるパリティ検査多項式の番号が鍵とされた場合、鍵情報取得部5026は、パリティ検査多項式の番号を再生し、得られた番号を含む符号化情報5027を復号部5025に出力する。
復調部5023は、アンテナ5021で受信した受信信号5022を入力とし、増幅、周波数変換、直交復調、検波等の処理を施し、対数尤度比5024を出力する。
復号部5025は、符号化情報5027を入力とし、符号化方法に基づく検査行列を作成し、また、対数尤度比5024を入力とし、検査行列に基づき復号処理を施し、推定情報5028を出力する。
以上のように、本実施の形態によれば、送信装置5010は、LDPC−CC符号化器5012において用いられる検査行列を構成するパリティ検査多項式を選択し、選択したパリティ検査多項式の情報を含む符号化方法に関する情報を、LDPC−CC符号化器5012に出力する制御部5017と、制御部5017によって選択されたパリティ検査多項式を用いて符号化を行うLDPC−CC符号化器5012と、制御部5017によって選択されたパリティ検査多項式を含む符号化方法に関する情報を受信装置5020に通知する鍵情報生成部5019とを備え、受信装置5020は、送信装置5010から通知された符号化方法に関する情報に基づいた検査行列Hを用いて復号するようにした。
このようにすることで、送信側で決定した異なるβ個のパリティ検査多項式の選択方法と時変周期γの設定方法とを、鍵にする秘匿性通信を実現することができる。
図50では、送信装置5010が暗号の鍵、つまり、検査行列Hを特定するための情報を生成する場合について説明したが、これに限られず、受信装置5020が、暗号の鍵を設定し、送信装置5010に通知するようにしてもよい。この場合の無線通信システムの構成例を図51に示す。
図51の無線通信システム5100は、送信装置5110および受信装置5120を含む構成である。なお、図51において、図50と共通の構成には同一の符号を付し、その説明を省略する。
受信装置5120は、復調部5023、復号部5025、制御部5121、および、鍵情報生成部5123を含む構成である。
制御部5121は、制御部5017と同様に、符号化方法に関する情報5122を生成し、生成した符号化方法に関する情報5122を復号部5025出力する。
鍵情報生成部5123は、鍵情報生成部5019と同様に、符号化方法に関する情報5122を入力とし、この情報5122を鍵とする鍵情報を生成し、生成した鍵情報を何らかの通信手段を用いて、送信装置5110に通知する。
送信装置5110は、LDPC−CC符号化器5012、パンクチャ/誤り付加部5113、変調部5014、および、鍵情報取得部5111を含む構成である。
鍵情報取得部5111は、受信装置5120から通知される鍵情報を入力とし、符号化方法に関する情報5112を再生し、情報5112をLDPC−CC符号化器5012に出力する。
LDPC−CC符号化器5012は、符号化方法に関する情報5112に基づいた符号化を行う。
なお、LDPC−CCが組織符号の場合には、例えば、無線受信電解強度が強い等のように、通信状態が良い状態では、受信側において誤り訂正(復号)を行わずとも、データ(情報)Xに相当する部分のみ抽出することで、どのような受信装置でもデータ(情報)Xを得ることができてしまう。つまり、他人の情報を無断で、受信することができる場合がある。これを回避するために、例えば、送信装置5110に、図51に示すように、パンクチャ/誤り付加部5113を設け、パンクチャ/誤り付加部5113が、データ(情報)Xをパンクチャする、または、データの一部を意図的に誤ったデータに置き換える、等の処理を行うようにしてもよい。これにより、パンクチャ/誤り付加部5113を設けることにより、受信装置が、正しい復号機能を有しない限り、データ(情報)Xを得ることが困難となる。
なお、以上の説明では、式(64)に基づく異なるパリティ検査多項式をα個用意する場合について説明したが、式(64)に限られず、他のパリティ検査多項式を用いてもよい。
(畳み込み符号に基づく時不変・時変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)とし、式(149)のようにあらわされるパリティ検査多項式を考える。
式(149)において、このとき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を満足する。このとき、式(149)のパリティ検査多項式に基づく検査行列で定義される符号を、ここでは、時不変LDPC−CCと呼ぶ。
式(149)に基づく異なるパリティ検査多項式を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をPjとあらわし、u
j=(X
1,j,X
2,j,・・・,X
n−1,j,Pj)
Tとする。このとき、時点jの情報X
1,j、X
2,j、・・・、X
n−1,jおよびパリティP
jは、式(151)のパリティ検査多項式を満たす。
ここで、「j mod m」は、jをmで除算した余りである。
式(151)のパリティ検査多項式に基づく検査行列で定義される符号を、ここでは時変LDPC−CCと呼ぶ。このとき、式(149)のパリティ検査多項式で定義される時不変LDPC−CC、および、式(151)のパリティ検査多項式で定義される時変LDPC−CCは、逐次的にパリティをレジスタおよび排他的論理和で簡単に求めることができるという特徴をもつ。
例えば、符号化率2/3で、式(149)〜式(151)に基づく時変周期2のLDPC―CCの検査行列Hの構成を、図52に示す。式(151)に基づく時変周期2の異なる2つの検査多項式に対し、「検査式#1」、「検査式#2」と名付ける。図52において、(Ha,111)は「検査式#1」に相当する部分であり、(Hc,111)は「検査式#2」に相当する部分である。以下、(Ha,111)および(Hc,111)をサブ行列と定義する。
このように、本提案の時変周期2のLDPC−CCの検査行列Hを、「検査式#1」のパリティ検査多項式をあらわす第1サブ行列と、「検査式#2」のパリティ検査多項式をあらわす第2サブ行列とにより定義することができる。具体的には、検査行列Hにおいて、第1サブ行列と第2サブ行列とが行方向に交互に配置されるようにする。なお、符号化率2/3の場合、図52に示すように、第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が成立する。この点については、実施の形態1で説明した通りである(式(3)参照))。
次に、符号化率2/3の場合に、時変周期をmとするLDPC−CCを考える。時変周期2の場合と同様に、式(149)であらわされるパリティ検査多項式をm個用意する。そして、式(149)であらわされる「検査式#1」を用意する。同様に、式(149)であらわされる「検査式#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符号は、
・符号化器を簡単に構成することができ、かつ、パリティを逐次的に求めることができる
・終端ビットの削減、終端時のパンクチャ時の受信品質の向上が見込める
という利点を備える。
図53Aに、上述した符号化率2/3、時変周期mのLDPC−CCの検査行列の構成を示す。図53Aにおいて、(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サブ行列までが、行方向に周期的に配置されるようにした(図53A参照)。なお、符号化率2/3の場合、第i行と第i+1行とでは、サブ行列が3列右にシフトした構成となる(図53A参照)。
送信ベクトルuを、u=(X1,0、X2,0、P0、X1,1、X2,1、P1、・・・、X1,k、X2,k、Pk、・・・・)Tとすると、Hu=0が成立する。この点については、実施の形態1で説明した通りである(式(3)参照))。
上述の説明では、符号化率(n−1)/nの畳み込み符号に基づく時不変・時変LDPC−CCの一例として、符号化率2/3の場合を例に説明したが、同様に考えることで、符号化率(n−1)/nの畳み込み符号に基づく時不変・時変LDPC−CCのパリティ検査行列を作成することができる。
すなわち、符号化率2/3の場合、図53Aにおいて、(H1,111)は「検査式#1」に相当する部分(第1サブ行列)であり、(H2,111)は「検査式#2」に相当する部分(第2サブ行列)であり、・・・、(Hm,111)は「検査式#m」に相当する部分(第mサブ行列)であるのに対し、符号化率(n−1)/nの場合、図53Bに示すようになる。つまり、「検査式#1」に相当する部分(第1サブ行列)は、(H1,11・・・1)であらわされ、「検査式#k」(k=2、3、・・・、m)に相当する部分(第kサブ行列)は、(Hk,11・・・1)であらわされる。このとき、第kサブ行列において、Hkを除く部分の「1」の個数は、n−1個となる。そして、検査行列Hにおいて、第i行と第i+1行とでは、サブ行列がn−1列右にシフトした構成となる(図53B参照)。
送信ベクトルuを、u=(X1,0、X2,0、・・・、Xn−1,0、P0、X1,1、X2,1、・・・、Xn−1,1、P1、・・・、X1,k、X2,k、・・・、Xn−1,k、Pk、・・・・)Tとすると、Hu=0が成立する。この点については、実施の形態1で説明した通りである(式(3)参照))。
なお、表5に、式(151)に基づく時変周期2、符号化率1/2のパリティ検査多項式におけるAk及びBkの符号リストを示す。表5は、最大拘束長を600以下とした場合に、良好な受信特性を与える、時変周期2、符号化率2/3,3/4,5/6のLDPC−CCの例である。
(他の実施の形態12)
ここでは、パリティ検査多項式と検査行列Hとの関係について詳述する。なお、以下では、時変周期2の場合を例に説明する。
図54Aは、時点2iのパリティを求める際に用いられる「検査式#1」のパリティ検査多項式と、対応する第1サブ行列H1(5405)とを示している。図54Aの第1サブ行列H1(5405)において、点線5400−1は、検査行列Hにおいて、時点2iと時点2i+1の境界を示す。また、点線5400−1から2番目の要素5401は、パリティ検査多項式のデータ(情報)に関する「1」に対応し、点線5400−1の最左の要素5402は、パリティ検査多項式のパリティに関する「1」に対応する。
同様に、図54Bは、時点2i+1のパリティを求める際に用いられる「検査式#2」のパリティ検査多項式と、対応する第2サブ行列H2(5406)とを示している。図54Bの第2サブ行列H2(5406)において、点線5400−2は、検査行列Hにおいて、時点2i+1と時点2i+2の境界を示す。また、点線500−2から2番目の要素5403は、パリティ検査多項式のデータ(情報)に関する「1」に対応し、点線500−2の真左の要素5404は、パリティ検査多項式のパリティに関する「1」に対応する。
図55に、図54Aの第1サブ行列H1および図54Bの第2サブ行列H2によって構成される、符号化率1/2、時変周期2のLDPC−CCの検査行列Hを示す。図55から分かるように、符号化率1/2の場合、第2i行と第2i+1行とでは、第1サブ行列H1の時点2iと時点2i+1の境界5400−1と、第2サブ行列H2の時点2i+1と時点2i+2の境界5400−2とが、2列右にシフトした構成となる。また、第2i+1行と第2i+2行とでは、第2サブ行列H2の時点2i+1と時点2i+2の境界5400−2と、第1サブ行列H1の時点2iと時点2i+1の境界に相当する点線(時点2i+2と時点2i+3の境界)5400−1とが、2列右にシフトした構成となる。
なお、上述の実施の形態、および、他の実施の形態において説明した時変周期2、または、時変周期mのLDPC−CCの検査行列についても、以上説明したパリティ検査多項式と検査行列Hとの関係と同様の関係を有する。
なお、送信系列uをu=(X0,P0,X1,P1,・・・,Xi,Pi・・・)Tとあらわす。ここで、Xiは情報、Piはパリティであり、送信系列uは組織符号である。この場合、図54Aの第1サブ行列H1は、X2i−3+X2i+P2i−5+P2i−3+P2i=0を満たす。同様に、図54Bの第2サブ行列H2は、X(2i+1)−4+X(2i+1)+X(2i+1)+5+P(2i+1)−3+P(2i+1)ー1+P(2i+1)=0を満たす。
以上の説明では、符号化率1/2、時変周期2の場合を例に、パリティ検査多項式と検査行列Hとの関係について説明したが、パリティ検査多項式と検査行列Hとの関係は、符号化率および時変周期に、限定されない。以下、符号化率2/3、時変周期2の場合について説明する。
図56Aは、時点2iのパリティを求める際に用いられる「検査式#1」のパリティ検査多項式と、対応する第1サブ行列H1(5604)とを示している。図56Aの第1サブ行列H1(5604)において、点線5600−1は、検査行列Hにおいて、時点2iと時点2i+1の境界を示す。また、点線5600−1から3番目の要素5601は、X1(D)に関する「1」に対応し、点線5600−1から2番目の要素5602は、X2(D)に関する「1」に対応し、点線5600−1の最左の要素5603は、P(D)のパリティに関する「1」に対応する。
同様に、図56Bは、時点2i+1のパリティを求める際に用いられる「検査式#2」のパリティ検査多項式と、対応する第2サブ行列H2(5608)とを示している。図56Bの第2サブ行列H2(5608)において、点線5600−2は、検査行列Hにおいて、時点2i+1と時点2i+2の境界を示す。また、点線5600−2から3番目の要素5605は、X1(D)に関する「1」に対応し、点線5600−1から2番目の要素5606は、X2(D)に関する「1」に対応し、点線5600−1の最左の要素5607は、P(D)のパリティに関する「1」に対応する。
図57に、図56Aの第1サブ行列H1および図56Bの第2サブ行列H2によって構成される、符号化率2/3、時変周期2のLDPC−CCの検査行列Hを示す。図57から分かるように、符号化率2/3の場合、第2i行と第2i+1行とでは、第1サブ行列H1の時点2iと時点2i+1の境界5600−1と、第2サブ行列H2の時点2i+1と時点2i+2の境界5600−2とが、3列右にシフトした構成となる。また、第2i+1行と第2i+2行とでは、第2サブ行列H2の時点2i+1と時点2i+2の境界5600−2と、第1サブ行列H1の時点2iと時点2i+1の境界に相当する点線(時点2i+2と時点2i+3の境界)5600−1とが、3列右にシフトした構成となる。
なお、上述の実施の形態、および、他の実施の形態において説明した時変周期2、または、時変周期mのLDPC−CCの検査行列についても、以上説明したパリティ検査多項式と検査行列Hとの関係と同様の関係を有する。
なお、送信系列uを、u=(X1,0,X2,0,P0,X1,1,X2,1,P1,・・・,X1,i,X2,i,Pi,・・・)Tとあらわす。ここで、X1,i、X2,iは情報、Piはパリティであり、送信系列uは組織符号である。この場合、図56Aの第1サブ行列H1は、X1,2i−3+X1,2i+X2,2i−2+X2,2i+P2i−5+P2i−3+P2i=0を満たす。同様に、図56Bの第2サブ行列H2は、X1,(2i+1)−4+X1,(2i+1)+X1,(2i+1)+5+X2,(2i+1)−3+X2,(2i+1)+P(2i+1)−3+P(2i+1)ー1+P(2i+1)=0を満たす。
以上のように、符号化率1/2、2/3の場合を例に、パリティ検査多項式と検査行列Hとの関係に説明したが、符号化率に関わらず、同様にパリティ検査多項式と検査行列Hの関係が成立する。特に、LDPC−CC(畳み込み符号)の検査行列Hについては、非特許文献17および非特許文献18に詳細に記載されている。
(他の実施の形態13)
ここでは、実施の形態7、実施の形態8、他の実施の形態5、他の実施の形態6、および、他の実施の形態8と、非特許文献16との違いについて説明する。
非特許文献16では、符号化率1/2の場合に、LDPC−BC(Low-Density Parity-Check Block Code)から時変周期4のLDPC−CCを設計する手法について述べられている。
以下、図面を用いながら、非特許文献16のLDPC−CC設計手法ついて簡単に説明する。
図58は、非特許文献16に記載の設計手法を説明するために供する図である。図58を用いて、符号化率1/2のLDPC−BCから時変周期4のLDPC−CCを設計する手法について説明する。非特許文献16では、以下に説明するステップ1)〜ステップ3)によりLDPC−CCの検査行列が生成される。
ステップ1)
LDPC−CCのベースとなるLDPC−BCを設定する。非特許文献16によると、符号化率1/2、時変周期mのLDPC−CCを作成する場合、m行×2m列のLDPC―BCが必要となる。
図58Aの検査行列5801は、時変周期4のLDPC−CCのベースとなるLDPC−BCのパリティ検査行列の構成の一例を示している。上述したように、時変周期4の場合、4行×8列のLDPC−BCの検査行列が、ベースの検査行列となる。
ステップ2)
そして、検査行列5801に対し、所定の処理を施し、検査行列5802を作成する(図58B参照)。なお、具体的な処理については、非特許文献16に記載されているので説明を省略する。
ステップ3)
そして、図58Cに示すように、検査行列5802に「11」を追加し、検査行列5803を作成する。
このように、非特許文献16では、ステップ1)〜ステップ3)により、4行×8列のLDPC−BCから時変周期4のLDPC−CCの検査行列が作成される。
このようにして得られた検査行列5803に対応するパリティ検査多項式は、式(152)であらわされる。
式(152)において、a1、a2、・・・、apは、1以上の整数(ただし、a1≠a2≠・・・≠ap)である。また、b1、b2、・・・bqは、1以上の整数(ただし、b1≠b2≠・・・≠bq)である。
図58Cから分かるように、時変周期4のLDPC−CCでは、式(152)に基づく異なるパリティ検査多項式が4つ存在することになる。したがって、時変周期4のLDPC−CCを設計する際、4行×8列のLDPC−BCの検査行列がベースとされ、ステップ3)において、図58Cのように「11」が追加されるので、ベースとなるLDPC−BCの検査行列を構成する4つの異なるすべてのパリティ検査多項式で、ai≦4(i=1、2、・・・、p)、および、bj≦4(j=1、2、・・・、q)となることを意味する。
すなわち、非特許文献16にしたがって時変周期4のLDPC−CCを設計する場合には、最大拘束長は、4+1=5となる。
同様に、非特許文献16の設計方法により、時変周期mのLDPC−CCを設計した場合には、ベースとなるLDPC−BCの検査行列を構成する、m個の異なる全てのパリティ検査多項式において、式(152)において、ai≦m(i=1、2、・・・、p)、および、bj≦m(j=1、2、・・・、q)が成立する。
すなわち、非特許文献16にしたがって時変周期mのLDPC―CCを設計する場合、m行×2m列のLDPC−BCの検査行列がベースとされ、ステップ3)において、「11」が追加されるので、最大拘束長は、m+1となる。
同様に、非特許文献16の設計方法により、時変周期2のLDPC−CCを設計した場合には、ベースとなるLDPC−BCの検査行列を構成する、2つの異なる全てのパリティ検査多項式において、ai≦2(i=1、2、・・・、p)、および、bj≦2(j=1、2、・・・、q)が成立する。
すなわち、非特許文献16にしたがって時変周期2のLDPC−CCを設計する場合には、最大拘束長は、2+1=3となる。このように、非特許文献16の設計方法により、時変周期mのLDPC―CCを設計する場合、最大拘束長は、m+1となる。したがって、受信品質(誤り訂正能力)を向上させるために拘束長が長い、例えば、拘束長100以上(100、・・・、500、・・・、1000、・・・、2000、・・・、10000、・・・、20000、・・・)のLDPC−CCを設計する場合、非特許文献16にしたがってLDPC−CCを設計すると、拘束長と同程度の値の時変周期が必要となる。
上述の実施の形態7等で説明したように、時変周期が大きすぎると、周期的にパンクチャすることが難しく、例えば、ランダムにパンクチャする必要があり、受信品質が劣化してしまう可能性がある。よって、非特許文献16の設計方法を用いて、時変LDPC−CCを設計すると、パンクチャを適用し複数符号化率に対応することと、受信品質(誤り訂正能力)を向上させることとの両立が困難となる場合がある。
仮に、非特許文献16の設計方法を用いて、実施の形態7等で説明したパンクチャ適用可能な時変周期2から時変周期10程度のLDPC―CCを設計した場合、時変周期2では、最大拘束長は3(=2+1)となり、式(152)において、ai≦2(i=1、2、・・・、p)、および、bj≦2(j=1、2、・・・、q)となる。同様に、時変周期10では、最大拘束長11(=10+1)となり、つまり、式(152)において、ai≦10(i=1、2、・・・、p)、および、bj≦10(j=1、2、・・・、q)となる。
このように、非特許文献16に開示される設計方法を用いる場合には、時変周期が短いほど、最大拘束長も同程度に短くなる。一般に、LDPC−CCでは、拘束長が長くなるほど、信頼度が伝播される範囲が広くなるため、受信特性が改善される。しかし、非特許文献16では、時変周期が短い場合には、拘束長も同時に短くなってしまうため、良好な受信品質(訂正能力)を得ることが困難となる。
すなわち、非特許文献16では、良好な受信品質を得るために、パリティ検査多項式の拘束長を長くすると、時変周期も同時に長くなってしまうため、周期的にパンクチャするのが難しい。また、非特許文献16では、時変周期を短くすると、拘束長も共に短くなってしまうため、良好な受信品質を得ることが困難となる。
これに対し、実施の形態7等で説明したように、LDPC−CCにおいて、以下の要件を付加することにより、パンクチャによる複数符号化率の対応と受信品質の向上とを両立することができる。
[要件]
・時変周期を2から10程度に設定する。
・時変周期mでは、拘束長をm+2以上とする。換言すると、式(152)に基づく異なるm個のパリティ検査多項式を用いる場合、当該m個のすべてのパリティ検査多項式で、ai(i=1、2、・・・、p)の最大値Amaxとmとの間に、Amax≧m+1が成立し、bi(i=1、2、・・・、q)の最大値Bmaxとmとの間に、Bmax≧m+1が成立する。良好な受信品質を得るためには、AmaxまたはBmaxのいずれかを100以上とすることが望まれる。
・行重みを7〜12に設定する。
一方、パンクチャパターンを最も簡単に探索することが可能な時変周期2のLDPC−CCを、非特許文献16の設計方法により設計した場合、最大拘束長は3となり、2つの異なる式(152)において、ai≦2(i=1、2、・・・、p)、および、bj≦2(j=1、2、・・・、q)となる。したがって、非特許文献16の設計方法を用いて、時変周期2のLDPC―CCを設計する場合、行重みは最大6となる。
したがって、実施の形態7等で説明した受信品質の向上とパンクチャにより複数符号化率の対応とを両立するための時変周期2のLDPC−CCの要件の中で、「行重みを7〜12と設定する。」は、本願発明の特有の要件となる。
(他の実施の形態14)
ここでは、時不変LDPC−CCおよび時変周期2のLDPC−CCのループ6について詳述する。
(1)先ず、符号化率n/(n+1)の時不変LDPC−CCについて説明する。
データ(情報)X1の多項式をX1(D)、データ(情報)X2の多項式をX2(D)、データ(情報)X3の多項式をX3(D)、・・・、データ(情報)Xnの多項式をXn(D)、パリティPの多項式をP(D)とし、以下のパリティ検査多項式を考える。
式(153)において、a1,1、a1,2、・・・、a1,r1は整数(ただし、a1,1≠a1,2≠・・・≠a1,r1)とする。また、a2,1、a2,2、・・・、a2,r2は整数(ただし、a2,1≠a2,2≠・・・≠a2,r2)とする。また、ai,1、ai,2、・・・、ai,ri(i=3,…,n−1)は整数(ただし、ai,1≠ai,2≠・・・≠ai,ri)とする。また、an,1、an,2、・・・、an,rnは整数(ただし、an,1≠an,2≠・・・≠an,rn)とする。また、e1、e2、・・・、ewは整数(ただし、e1≠e2≠・・・≠ew)とする。
[定理1]
式(153)のパリティ検査多項式に基づく時不変LDPC−CCにおいて、X1(D)、X2(D)、X3(D)、・・・、Xn(D)、P(D)のいずれかにおいて、項が3つ以上存在した場合、少なくとも1つのループ6が存在する。
[例]
X1(D)に関して、パリティ検査多項式に(D5+D3+1)X1(D)の項が存在する場合について考える。すると、パリティ検査行列Hにおいて、X1(D)に関する部分のみを抽出して生成されるサブ行列は、図59のようにあらわされ、点線5901に示されるように、ループ6が存在する。
[証明]
X1(D)について、項が3つ以上存在した場合、少なくとも1つのループ6が存在することが証明できれば、X2(D)、X3(D)、・・・、Xn(D)、P(D)についても、X1(D)に置き換えて考えることにより、同様のことが成立することを証明できる。したがって、X1(D)に着目して考える。
式(153)に対し、X1(D)に2つの項が存在するパリティ検査行列Hにおいて、X1(D)に関する部分のみを抽出して生成されるサブ行列は、図60のようにあらわされ、ループは存在しない。
次に、式(153)に対し、X1(D)に3つの項が存在する式(154)を考える。
このとき、a
1,1>a
1,2>a
1,3としても一般性は失われない。そこで、式(154)を以下のようにあらわす。
ここで、α、βは自然数とする。
このとき、式(155)においてX1(D)に関する項、つまり、(Da1,3+α+β+Da1,3+β+Da1,3)X1(D)を考える。パリティ検査行列Hにおいて、X1(D)に関する部分のみを抽出して生成されるサブ行列は、図61のようにあらわされる。したがって、α、βの値に関わらず、図61に示すように、要素6101によって形成されるループ6が必ず発生する。
X1(D)に関する項が4つ以上存在する場合、4つ以上の項の中から3つの項を選択すると、選択した3つの要素によって、ループ6が形成される(図61参照)。よって、X1(D)に関する項が4つ以上存在するとループ6が存在する。
したがって、パリティ検査多項式において、X1(D)に関する項が3つ以上存在するとループ6が存在する。X2(D)、X3(D)、・・・、Xn(D)、P(D)についても同様に証明を行うことができる。よって、定理1は証明された。(証明終了)
(2)次に、時変周期2のLDPC−CCに関する重要事項について説明する。
時変周期2のLDPC−CCにおいて、データ(情報)X1の多項式をX1(D)、データ(情報)X2の多項式をX2(D)、データ(情報)X3の多項式をX3(D)、・・・、データ(情報)Xnの多項式をXn(D)、パリティPの多項式をP(D)とする。そして、「検査式#1」として、式(156)のパリティ検査多項式を考える。
式(156)において、a1,1、a1,2、・・・、a1,r1は整数(ただし、a1,1≠a1,2≠・・・≠a1,r1)とする。また、a2,1、a2,2、・・・、a2,r2は整数(ただし、a2,1≠a2,2≠・・・≠a2,r2)とする。また、ai,1、ai,2、・・・、ai,ri(i=3,…,n−1)は整数(ただし、ai,1≠ai,2≠・・・≠ai,ri)とする。また、an,1、an,2、・・・、an,rnは整数(ただし、an,1≠an,2≠・・・≠an,rn)とする。また、e1、e2、・・・、ewは整数(ただし、e1≠e2≠・・・≠ew)とする。
同様に、「検査式#2」として、式(157)のパリティ検査多項式を考える。
式(157)において、b1,1、b1,2、・・・、b1,s1は整数(ただし、b1,1≠b1,2≠・・・≠b1,s1)とする。また、b2,1、b2,2、・・・、b2,s2は整数(ただし、b2,1≠b2,2≠・・・≠b2,s2)とする。また、bi,1、bi,2、・・・、bi,si(i=3,…,n−1)は整数(ただし、bi,1≠bi,2≠・・・≠bi,si)とする。また、bn,1、bn,2、・・・、bn,snは整数(ただし、bn,1≠bn,2≠・・・≠bn,sn)とする。また、f1、f2、・・・、fvは整数(ただし、f1≠f2≠・・・≠fv)とする。
そして、「検査式#1」および「検査式#2」で与えられる時変周期2のLDPC−CCを考える。
[定理2]
式(156)のパリティ検査多項式および式(157)のパリティ検査多項式に基づく時変周期2のLDPC−CCであって、式(156)のパリティ検査多項式において、
「(ay,i,ay,j,ay,k)がすべて奇数、または、すべて偶数となるyが存在する(ただし、i≠j≠k)、または、(ei,ej,ek)がすべて奇数、または、すべて偶数となる、または、(bz,i,bz,j,bz,k)がすべて奇数、または、すべて偶数となるzが存在する(ただし、i≠j≠k)、または、(fi,fj,dk)がすべて奇数、または、すべて偶数となる」
の条件を満たしたとき、少なくとも1つのループ6が存在する。
[例]
「検査式#1」X1(D)に関して、パリティ検査多項式に(D6+D2+1)X1(D)の項が存在する場合について考える。すると、パリティ検査行列Hにおいて、X1(D)に関する部分のみを抽出して生成されるサブ行列は、図62のようにあらわされ、点線6203に示されるように、ループ6が存在する。
[証明]
X1(D)について、(a1,i,a1,j,a1,k)がすべて奇数、または、すべて偶数となる場合(ただし、i≠j≠k)、ループ6が存在することが証明できれば、X2(D)、X3(D)、・・・、Xn(D)、P(D)についても、X1(D)に置き換えて考えることにより、同様のことが成立することが証明できる。したがって、X1(D)に着目して考える。
また、式(156)のパリティ検査多項式、つまり、「検査式#1」において成立することは、同様に証明することで、式(157)のパリティ検査多項式、つまり、「検査式#2」においても成立することを証明できる。したがって、式(156)のパリティ検査多項式、つまり、「検査式#1」に着目して考える。
式(156)のX1(D)に関する項において、a1,i(i=1、2、・・・、r1)に偶数が2つまたは奇数が2つ存在する場合、X1(D)に関する部分のみを抽出して生成されるサブ行列を、図63に示す。図63において、サブ行列6301は「検査式#1」のX1(D)に相当するサブ行列であり、サブ行列6302は「検査式#2」のX1(D)に相当するサブ行列である。図63のサブ行列6301から分かるように、式(156)のパリティ検査多項式(「検査式#1」)のa1,i(i=1、2、・・・、r1)に、偶数が2つまたは奇数が2つ存在するのみではループは発生しない。
次に、式(156)に対し、X1(D)について、3つの項が存在し、かつ、(a
1,i,a
1,j,a
1,k)がすべて奇数、または、すべて偶数となる場合、式(158)を考えると、式(159)とあらわすことができる。なお、a
1,1>a
1,2>a
1,3としても一般性は失われない。
ここで、p、qは自然数である。
このとき、式(159)においてX1(D)に関する項、つまり、(Da1,3+2p+2q+Da1,3+2q+Da1,3)X1(D)を考える。パリティ検査行列Hにおいて、X1(D)に関する部分のみを抽出して生成されるサブ行列は、図64のようにあらわされる。時変周期2の場合、図64のサブ行列6401はすべて式(159)の「検査式#1」となるので、定理1の証明で説明した図61と同様の状態となる。
したがって、p、qの値に関わらず、「検査式#1」のみで、図64に示すように、要素6101によってループ6が形成される。
X1(D)に関する項が4つ以上存在する場合、4つ以上の項の中から3つの項を選択し、選択された3つの項において、(a1,i,a1,j,a1,k)がすべて奇数、または、すべて偶数となる場合、図64に示すように、要素6101によってループ6が形成される。
以上より、X1(D)について、(a1,i,a1,j,a1,k)がすべて奇数、または、すべて偶数となる場合(ただし、i≠j≠k)、ループ6が存在することになる。また、X2(D)、X3(D)、・・・、Xn(D)、P(D)についても同様のことがいえる。
そして、「検査式#2」に対しても、「検査式#1」と同様のことがいえるので、定理2は証明されたことになる。(証明終了)
[定理3]
式(156)のパリティ検査多項式および式(157)のパリティ検査多項式に基づく時変周期2のLDPC−CCであって、式(156)のパリティ検査多項式のX1(D)、X2(D)、X3(D)、・・・、Xn(D)、P(D)のいずれかにおいて、項が5つ以上存在した場合、または、式(157)のパリティ検査多項式のX1(D)、X2(D)、X3(D)、・・・、Xn(D)、P(D)のいずれかにおいて、項が5つ以上存在した場合、少なくとも1つのループ6が存在する。
[証明]
X1(D)、X2(D)、X3(D)、・・・、Xn(D)、P(D)のいずれかにおいて、項が5つ以上存在した場合、定理2を必ず満たすことになる。したがって、定理3は証明された。(証明終了)
以上のことから、他の実施の形態9の重要性が明らかとなる。
(他の実施の形態15)
先ず、特性が良好な時変周期4のLDPC−CCについて説明する。なお、以下では、符号化率1/2の場合を例に説明する。
時変周期を4とするLDPC−CCのパリティ検査多項式として、式(160−1)〜(160−4)を考える。このとき、X(D)はデータ(情報)の多項式表現であり、P(D)はパリティの多項式表現である。ここで、式(160−1)〜(160−4)では、X(D)、P(D)それぞれに4つの項が存在するようなパリティ検査多項式としたが、これは、良好な受信品質を得る上で、4つの項とすると好適であるからである。
式(160−1)において、a1、a2、a3、a4は整数(ただし、a1≠a2≠a3≠a4)とする。また、b1、b2、b3、b4は整数(ただし、b1≠b2≠b3≠b4)とする。式(160−1)のパリティ検査多項式を「検査式#1」と呼び、式(160−1)のパリティ検査多項式に基づくサブ行列を、第1サブ行列H1とする。
また、式(160−2)において、A1、A2、A3、A4は整数(ただし、A1≠A2≠A3≠A4)とする。また、B1、B2、B3、B4は整数(ただし、B1≠B2≠B3≠B4)とする。式(160−2)のパリティ検査多項式を「検査式#2」と呼び、式(160−2)のパリティ検査多項式に基づくサブ行列を、第2サブ行列H2とする。
また、式(160−3)において、α1、α2、α3、α4は整数(ただし、α1≠α2≠α3≠α4)とする。また、β1、β2、β3、β4は整数(ただし、β1≠β2≠β3≠β4)とする。式(160−3)のパリティ検査多項式を「検査式#3」と呼び、式(160−3)のパリティ検査多項式に基づくサブ行列を、第3サブ行列H3とする。
また、式(160−4)において、E1、E2、E3、E4は整数(ただし、E1≠E2≠E3≠E4)とする。また、F1、F2、F3、F4は整数(ただし、F1≠F2≠F3≠F4)とする。式(160−4)のパリティ検査多項式を「検査式#4」と呼び、式(160−4)のパリティ検査多項式に基づくサブ行列を、第4サブ行列H4とする。
そして、第1サブ行列H1、第2サブ行列H2、第3サブ行列H3、第4サブ行列H4から、図17のように検査行列を生成した時変周期4のLDPC―CCについて考える。
このとき、式(160−1)〜(160−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が一つずつ含まれるようにし、かつ、上記の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」の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が一つずつ含まれるようになる。他の検査式(「検査式#2」、「検査式#3」、「検査式#4」)のX(D)およびP(D)それぞれの4つの係数セットについても上記の「余り」に関する条件が成立するものとする。
このようにすることで、式(160−1)〜(160−4)から構成される検査行列Hの列重みが全ての列において4となる、レギュラーLDPC符号を形成することができるようになる。ここで、レギュラーLDPC符号とは、各列重みが一定とされた検査行列により定義されるLDPC符号であり、特性が安定し、エラーフロアが出にくいという特徴がある。特に、列重みが4の場合、特性が良好であることから、上記のようにしてLDPC−CCを生成することにより、受信性能が良いLDPC−CCを得ることができるようになる。
なお、表6は、上記「余り」に関する条件が成り立つ、時変周期4、符号化率1/2のLDPC−CCの例(LDPC−CC#1〜#3)である。表6において、時変周期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のパリティ検査多項式として、式(161−1)、(161−2)を考える。このとき、X(D)はデータ(情報)の多項式表現であり、P(D)はパリティの多項式表現である。ここで、式(161−1)、(161−2)では、X(D)、P(D)それぞれに4つの項が存在するようなパリティ検査多項式としたが、これは、良好な受信品質を得る上で、4つの項とすると好適であるからである。
式(161−1)において、a1、a2、a3、a4は整数(ただし、a1≠a2≠a3≠a4)とする。また、b1、b2、b3、b4は整数(ただし、b1≠b2≠b3≠b4)とする。式(161−1)のパリティ検査多項式を「検査式#1」と呼び、式(161−1)のパリティ検査多項式に基づくサブ行列を、第1サブ行列H1とする。
また、式(161−2)において、A1、A2、A3、A4は整数(ただし、A1≠A2≠A3≠A4)とする。また、B1、B2、B3、B4は整数(ただし、B1≠B2≠B3≠B4)とする。式(161−2)のパリティ検査多項式を「検査式#2」と呼び、式(161−2)のパリティ検査多項式に基づくサブ行列を、第2サブ行列H2とする。
そして、第1サブ行列H1および第2サブ行列H2から生成する時変周期2のLDPC―CCについて考える。
このとき、式(161−1)、(161−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が一つずつ含まれるようにし、かつ、上記の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」の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が一つずつ含まれるようになる。「検査式#2」のX(D)およびP(D)それぞれの4つの係数セットについても上記の「余り」に関する条件が成立するものとする。
このようにすることで、式(161−1)、(161−2)から構成される検査行列Hの列重みが全ての列において4となる、レギュラーLDPC符号を形成することができるようになる。ここで、レギュラーLDPC符号とは、各列重みが一定とされた検査行列により定義されるLDPC符号であり、特性が安定し、エラーフロアが出にくいという特徴がある。特に、行重みが8の場合、特性が良好であることから、上記のようにしてLDPC−CCを生成することにより、受信性能をさらに向上することができるLDPC−CCを得ることができるようになる。
なお、表7に、上記「余り」に関する条件が成り立つ、時変周期2、符号化率1/2のLDPC−CCの例(LDPC−CC#1、#2)を示す。表7において、時変周期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のパリティ検査多項式として、式(162−1)〜(162−3)を考える。このとき、X(D)はデータ(情報)の多項式表現であり、P(D)はパリティの多項式表現である。ここで、式(162−1)〜(162−3)では、X(D)、P(D)それぞれに3つの項が存在するようなパリティ検査多項式とする。
式(162−1)において、a1、a2、a3は整数(ただし、a1≠a2≠a3)とする。また、b1、b2、b3は整数(ただし、b1≠b2≠b3)とする。式(162−1)のパリティ検査多項式を「検査式#1」と呼び、式(162−1)のパリティ検査多項式に基づくサブ行列を、第1サブ行列H1とする。
また、式(162−2)において、A1、A2、A3は整数(ただし、A1≠A2≠A3)とする。また、B1、B2、B3は整数(ただし、B1≠B2≠B3)とする。式(162−2)のパリティ検査多項式を「検査式#2」と呼び、式(162−2)のパリティ検査多項式に基づくサブ行列を、第2サブ行列H2とする。
また、式(162−3)において、α1、α2、α3は整数(ただし、α1≠α2≠α3)とする。また、β1、β2、β3は整数(ただし、β1≠β2≠β3)とする。式(162−3)のパリティ検査多項式を「検査式#3」と呼び、式(162−3)のパリティ検査多項式に基づくサブ行列を、第3サブ行列H3とする。
そして、第1サブ行列H1、第2サブ行列H2、第3サブ行列H3から生成する時変周期3のLDPC―CCについて考える。
このとき、式(162−1)〜(162−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が一つずつ含まれるようにし、かつ、上記の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」のP(D)の各次数(b1、b2、b3)を(b1、b2、b3)=(3,2,1)とすると、各次数(b1、b2、b3)を4で除算した余りkは、(0,2,1)となり、3つの係数セットに、余り(k)として、0、1、2が一つずつ含まれるようになる。「検査式#2」、「検査式#3」のX(D)およびP(D)それぞれの3つの係数セットについても上記の「余り」に関する条件が成立するものとする。
このようにしてLDPC−CCを生成することにより、レギュラーLDPC−CC符号を生成することができる。更に、BP復号を行った場合、「検査式#2」における信頼度および「検査式#3」における信頼度が、的確に「検査式#1」に対して伝播し、「検査式#1」における信頼度および「検査式#3」における信頼度が、的確に「検査式#2」に対して伝播し、「検査式#1」における信頼度および「検査式#2」における信頼度が、「検査式#3」に対して的確に伝播する。このため、より受信品質が良好なLDPC−CCを得ることができる。これは、列単位で考えた場合、「1」が存在する位置が、上述のように、信頼度を的確に伝播するように配置されることになるためである。
以下、図を用いて、上述の信頼度伝播について説明する。図65Aは、時変周期3のLDPC−CCのパリティ検査多項式および検査行列Hの構成を示している。
「検査式#1」は、式(162−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」は、式(162−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」は、式(162−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)である。
したがって、図65Aに示した時変周期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)のいずれかとなるという条件を満たしている。
再度、図65Aに戻って、信頼度伝播について説明する。BP復号における列6506の列演算によって、「検査式#1」の領域6501の「1」は、「検査行列#2」の領域6504の「1」および「検査行列#3」の領域6505の「1」から、信頼度が伝播される。上述したように、「検査式#1」の領域6501の「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となる領域6501の「1」は、BP復号における列6506の列演算において、「検査式#2」の係数において余りが1となる領域6504の「1」、および、「検査式#3」の係数において余りが2となる領域6505の「1」から、信頼度が伝播される。
同様に、「検査式#1」の係数において余りが1となる領域6502の「1」は、BP復号における列6509の列演算において、「検査式#2」の係数において余りが2となる領域6507の「1」、および、「検査式#3」の係数において余りが0となる領域6508の「1」から、信頼度が伝播される。
同様に、「検査式#1」の係数において余りが2となる領域6503の「1」は、BP復号における列6512の列演算において、「検査式#2」の係数において余りが0となる領域6510の「1」、および、「検査式#3」の係数において余りが1となる領域6511の「1」から、信頼度が伝播される。
図65Bを用いて、信頼度伝播について補足説明をする。図65Bは、図65Aの「検査式#1」〜「検査式#3」のX(D)に関する各項同士の信頼度伝播の関係を示している。図65Aの「検査式#1」〜「検査式#3」は、式(162−1)〜(162−3)のX(D)に関する項において、(a1、a2、a3)=(2、1、0)、(A1、A2、A3)=(5、1、0)、(α1、α2、α3)=(4、2、0)の場合である。
図65Bにおいて、四角で囲まれた項(a3、A3、α3)は、3で除算した余りが0の係数を示す。また、丸で囲まれた項(a2、A2、α1)は、3で除算した余りが1の係数を示す。また、菱形で囲まれた項(a1、A1、α2)は、3で除算した余りが2の係数を示す。
図65Bから分かるように、「検査式#1」のa1は、3で除算した余りが異なる「検査式#2」のA3および「検査式#3」のα1から信頼度が伝播される。「検査式#1」のa2は、3で除算した余りが異なる「検査式#2」のA1および「検査式#3」のα3から信頼度が伝播される。「検査式#1」のa3は、3で除算した余りが異なる「検査式#2」のA2および「検査式#3」のα2から信頼度が伝播される。図65Bには、「検査式#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で除算した余りがすべて異なる係数から、信頼度が伝播されることになる。
このように、式(162−1)〜(162−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のパリティ検査多項式として、式(163−1)〜(163−3)を考える。このとき、X1(D)、X2(D)、・・・Xn−1(D)はデータ(情報)X1、X2、・・・Xn−1の多項式表現であり、P(D)はパリティの多項式表現である。ここで、式(163−1)〜(163−3)では、X1(D)、X2(D)、・・・Xn−1(D)、P(D)それぞれに3つの項が存在するようなパリティ検査多項式とする。
式(163−1)において、ai,1、ai,2、ai,3(i=1,2,・・・,n−1)は整数(ただし、ai,1≠ai,2≠ai,3)とする。また、b1、b2、b3は整数(ただし、b1≠b2≠b3)とする。式(163−1)のパリティ検査多項式を「検査式#1」と呼び、式(163−1)のパリティ検査多項式に基づくサブ行列を、第1サブ行列H1とする。
また、式(163−2)において、Ai,1、Ai,2、Ai,3(i=1,2,・・・,n−1は整数(ただし、Ai,1≠Ai,2≠Ai,3)とする。また、B1、B2、B3は整数(ただし、B1≠B2≠B3)とする。式(163−2)のパリティ検査多項式を「検査式#2」と呼び、式(163−2)のパリティ検査多項式に基づくサブ行列を、第2サブ行列H2とする。
また、式(163−3)において、αi,1、αi,2、αi,3(i=1,2,・・・,n−1は整数(ただし、αi,1≠αi,2≠αi,3)とする。また、β1、β2、β3は整数(ただし、β1≠β2≠β3)とする。式(163−3)のパリティ検査多項式を「検査式#3」と呼び、式(163−3)のパリティ検査多項式に基づくサブ行列を、第3サブ行列H3とする。
そして、第1サブ行列H1、第2サブ行列H2、第3サブ行列H3から生成する時変周期3のLDPC―CCについて考える。
このとき、式(163−1)〜(163−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が一つずつ含まれるようにし、かつ、上記の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を得ることができる。
なお、表8に、上記「余り」に関する条件が成り立つ、時変周期3、符号化率1/2のLDPC−CCの例(LDPC−CC#1、#2、#3、#4、#5)を示す。表8において、時変周期3のLDPC−CCは、「検査(多項)式#1」、「検査(多項)式#2」、「検査(多項)式#3」の3つのパリティ検査多項式により定義される。
また、時変周期3と同様に、時変周期が3の倍数(例えば、時変周期が6、9、12、・・・)のLDPC−CCに対し、「余り」に関する以下の条件を適用すると、特性が良好な符号を探索できることが確認された。以下、特性が良好な時変周期3の倍数のLDPC−CCについて説明する。なお、以下では、符号化率1/2、時変周期6のLDPC−CCの場合を例に説明する。
時変周期を6とするLDPC−CCのパリティ検査多項式として、式(164―1)〜式(164―6)を考える。
このとき、X(D)はデータ(情報)の多項式表現であり、P(D)はパリティの多項式表現である。時変周期6のLDPC−CCでは、時刻iのパリティPiおよび情報Xiは、i%6=kとすると(k=0、1、2、3、4、5)、式(164−(k+1))のパリティ検査多項式が成立することになる。例えば、i=1とすると、i%6=1(k=1)となるので、式(165)が成立する。
ここで、式(164−1)〜(164−6)では、X(D)、P(D)それぞれに3つの項が存在するようなパリティ検査多項式とする。
式(164−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)とする。式(164−1)のパリティ検査多項式を「検査式#1」と呼び、式(164−1)のパリティ検査多項式に基づくサブ行列を、第1サブ行列H1とする。
また、式(164−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)とする。式(164−2)のパリティ検査多項式を「検査式#2」と呼び、式(164−2)のパリティ検査多項式に基づくサブ行列を、第2サブ行列H2とする。
また、式(164−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)とする。式(164−3)のパリティ検査多項式を「検査式#3」と呼び、式(164−3)のパリティ検査多項式に基づくサブ行列を、第3サブ行列H3とする。
また、式(164−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)とする。式(164−4)のパリティ検査多項式を「検査式#4」と呼び、式(164−4)のパリティ検査多項式に基づくサブ行列を、第4サブ行列H4とする。
また、式(164−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)とする。式(164−5)のパリティ検査多項式を「検査式#5」と呼び、式(164−5)のパリティ検査多項式に基づくサブ行列を、第5サブ行列H5とする。
また、式(164−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)とする。式(164−6)のパリティ検査多項式を「検査式#6」と呼び、式(164−6)のパリティ検査多項式に基づくサブ行列を、第6サブ行列H6とする。
そして、第1サブ行列H1、第2サブ行列H2、第3サブ行列H3、第4サブ行列H4、第5サブ行列H5、第6サブ行列H6から生成する時変周期6のLDPC―CCについて考える。
このとき、式(164−1)〜(164−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が一つずつ含まれるようにし、かつ、上記の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が保持することになる。
これについて、図65Cを用いて、信頼度伝播について説明する。図65Cは、「検査式#1」〜「検査式#6」のX(D)に関する各項同士の信頼度伝播の関係を示している。図65Cにおいて、四角は、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の係数を示す。図65Cから分かるように、タナーグラフを描いた際、エッジが存在した場合、「検査式#1」のa1,1は、3で除算した余りが異なる「検査式#2または#5」および「検査式#3または#6」から信頼度が伝播される。同様に、タナーグラフを描いた際、エッジが存在した場合、「検査式#1」のa1,2は、3で除算した余りが異なる「検査式#2または#5」および「検査式#3または#6」から信頼度が伝播される。同様に、タナーグラフを描いた際、エッジが存在した場合、「検査式#1」のa1,3は、3で除算した余りが異なる「検査式#2または#5」および「検査式#3または#6」から信頼度が伝播される。図65Cには、「検査式#1」〜「検査式#6」のX(D)に関する各項同士の信頼度伝播の関係を示したが、P(D)に関する各項同士についても同様のことがいえる。
このように、「検査式#1」のタナーグラフにおける各ノードには、「検査式#1」以外の係数ノードから信頼度が伝播することになる。したがって、相関が低い信頼度同士がすべて「検査式#1」に伝播することになるので、誤り訂正能力が向上すると考えられる。
図65Cでは、「検査式#1」に着目したが、「検査式#2」から「検査式#6」についても同様にタナーグラフを描くことができ、「検査式#K」のタナーグラフにおける各ノードには、「検査式#K」以外の係数ノードから信頼度が伝播することになる。したがって、相関が低い信頼度同士がすべて「検査式#K」に伝播することになるので、誤り訂正能力が向上すると考えられる。(K=2,3,4,5,6)
このように、式(164−1)〜(164−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のパリティ検査多項式として、式(166−1)〜(166−6)を考える。
このとき、X1(D)、X2(D)、・・・Xn−1(D)はデータ(情報)X1、X2、・・・Xn−1の多項式表現であり、P(D)はパリティの多項式表現である。ここで、式(166−1)〜(166−6)では、X1(D)、X2(D)、・・・Xn−1(D)、P(D)それぞれに3つの項が存在するようなパリティ検査多項式とする。上記の符号化率1/2のとき、また、時変周期3のときと同様に考えると、式(166−1)〜(166−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)、式(166−(k+1))のパリティ検査多項式が成立する。例えば、i=8とすると、i%6=2(k=2)となるので、式(167)が成立する。
<条件#1>
式(166−1)〜(166−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のパリティ検査多項式として、式(168−1)〜(168−3g)を考える。
このとき、X1(D)、X2(D)、・・・Xn−1(D)はデータ(情報)X1、X2、・・・Xn−1の多項式表現であり、P(D)はパリティの多項式表現である。ここで、式(168−1)〜(168−3g)では、X1(D)、X2(D)、・・・Xn−1(D)、P(D)それぞれに3つの項が存在するようなパリティ検査多項式とする。
時変周期3のLDPC−CCおよび時変周期6のLDPC−CCと同様に考えると、式(168−1)〜(168−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)、式(168−(k+1))のパリティ検査多項式が成立する。例えば、i=2とすると、i%3g=2(k=2)となるので、式(169)が成立する。
また、式(168−1)〜式(168−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)とする。式(168−k)のパリティ検査多項式(k=1、2、3、・・・、3g)を「検査式#k」と呼び、式(168−k)のパリティ検査多項式に基づくサブ行列を、第kサブ行列Hkとする。そして、第1サブ行列H1、第2サブ行列H2、第3サブ行列H3、・・・、第3gサブ行列H3gから生成する時変周期3gのLDPC―CCについて考える。
<条件#2>
式(168−1)〜(168−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)
ただし、本実施の形態以外でも述べたように、符号化を容易に行うという点を考慮すると、式(168−1)〜(168−3g)において、
(b#k,1、b#k,2、b#k,3)の3つのうち“0”が一つ存在するとよい(ただし、k=1、2、・・・3g)。
また、同一時点のパリティビットとデータビットに関連性を持たせ、高い訂正能力を持つ符号の探索を容易に行うためには、
(a#k,1,1、a#k,1,2、a#k,1,3)の3つのうち“0”が一つ存在し、
(a#k,2,1、a#k,2,2、a#k,2,3)の3つのうち“0”が一つ存在し、
・
・
・
(a#k,p,1、a#k,p,2、a#k,p,3)の3つのうち“0”が一つ存在し、
・
・
・
(a#k,n−1,1、a#k,n−1,2、a#k,n−1,3)の3つのうち“0”が一つ存在するとよい(ただし、k=1、2、・・・3g)。
次に、符号化を容易に行うという点を考慮した時変周期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)はパリティの多項式表現である。ここで、式(170−1)〜(170−3g)では、X1(D)、X2(D)、・・・Xn−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)、式(170−(k+1))のパリティ検査多項式が成立する。例えば、i=2とすると、i%3g=2(k=2)となるので、式(171)が成立する。
このとき、<条件#3>および<条件#4>をみたすと、より高い誤り訂正能力を持つ符号を作成することができる可能性が高まる。
<条件#3>
式(170−1)〜(170−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)
加えて、式(170−1)〜(170−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)。
式(170−1)〜(170−3g)に対する<条件#3>は、式(168−1)〜(168−3g)に対する<条件#2>と同様の関係となる。式(170−1)〜(170−3g)に対して、<条件#3>に加え、以下の条件(<条件#4>)を付加すると、より高い誤り訂正能力をもつLDPC−CCを作成することができる可能性が高まる。
<条件#4>
式(170−1)〜(170−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”の存在する位置に規則性を持ちながらもランダム性があると良好な誤り訂正能力が得られる可能性が高い。式(170−1)〜(170−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)はパリティの多項式表現である。そして、式(172−1)〜(172−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)、式(172−(k+1))のパリティ検査多項式が成立する。例えば、i=2とすると、i%3g=2(k=2)となるので、式(173)が成立する。
このとき、以下の条件(<条件#5>および<条件#6>)をみたすと、さらに高い誤り訂正能力を持つ符号を作成できる可能性が高くなる。
<条件#5>
式(172−1)〜(172−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)
加えて、式(172−1)〜(172−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)。
式(172−1)〜(172−3g)に対する<条件#5>は、式(168−1)〜(168−3g)に対する<条件#2>と同様の関係となる。式(172−1)〜(172−3g)に対して、<条件#5>に加え、以下の条件(<条件#6>)を付加すると、高い誤り訂正能力をもつLDPC−CCを作成できる可能性が高くなる。
<条件#6>
式(172−1)〜(172−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)
かつ、
式(172−1)〜(172−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)
かつ、
式(172−1)〜(172−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)
かつ、
・
・
・
かつ、
式(172−1)〜(172−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)
かつ、
・
・
・
かつ、
式(172−1)〜(172−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)
かつ、
式(172−1)〜(172−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”の存在する位置に規則性を持ちながらもランダム性があると良好な誤り訂正能力が得られる可能性が高い。式(172−1)〜(172−3g)のパリティ検査多項式をもつ時変周期3g(g=2、3、4、5、・・・)、符号化率を(n−1)/n(nは2以上の整数)のLDPC−CCでは、<条件#5>に加え<条件#6>の条件を付加して符号を作成すると、検査行列において、“1”の存在する位置に規則性を持ちながらもランダム性を与えることが可能となるため、より良好な誤り訂正能力が得られる可能性が高まる。
また、<条件#6>のかわりに、<条件#6’>を用いる、つまり、<条件#5>に加え、<条件#6’>を付加し符号を作成しても、より高い誤り訂正能力をもつLDPC−CCを作成できる可能性が高くなる。
<条件#6’>
式(172−1)〜(172−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)
または、
式(172−1)〜(172−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)
または、
式(172−1)〜(172−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)
または、
・
・
・
または、
式(172−1)〜(172−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)
または、
・
・
・
または、
式(172−1)〜(172−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)
または、
式(172−1)〜(172−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のパリティ検査多項式として、式(174−1)〜(174−3g)を考える。
このとき、Xはデータ(情報)Xの多項式表現であり、P(D)はパリティの多項式表現である。ここで、式(174−1)〜(174−3g)では、X(D)、P(D)それぞれに3つの項が存在するようなパリティ検査多項式とする。
時変周期3のLDPC−CCおよび時変周期6のLDPC−CCと同様に考えると、式(174−1)〜(174−3g)のパリティ検査多項式であらわされる時変周期3g、符号化率1/2(n=2)のLDPC−CCにおいて、以下の条件(<条件#2−1>)を満たすと、より高い誤り訂正能力を得ることができる可能性が高まる。
ただし、時変周期3g、符号化率1/2(n=2)のLDPC−CCにおいて、時刻iのパリティをPiおよび情報をX
i,1であらわす。このとき、i%3g=kとすると(k=0、1、2、・・・、3g−1)、式(174−(k+1))のパリティ検査多項式が成立する。例えば、i=2とすると、i%3g=2(k=2)となるので、式(175)が成立する。
また、式(174−1)〜式(174−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)とする。式(174−k)のパリティ検査多項式(k=1、2、3、・・・、3g)を「検査式#k」と呼び、式(174−k)のパリティ検査多項式に基づくサブ行列を、第kサブ行列Hkとする。そして、第1サブ行列H1、第2サブ行列H2、第3サブ行列H3、・・・、第3gサブ行列H3gから生成する時変周期3gのLDPC―CCについて考える。
<条件#2−1>
式(174−1)〜(174−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)のいずれかとなる。
ただし、本実施の形態以外でも述べたように、符号化を容易に行うという点を考慮すると、式(174−1)〜(174−3g)において、
(b#k,1、b#k,2、b#k,3)の3つのうち“0”が一つ存在するとよい(ただし、k=1、2、・・・3g)。
また、同一時点のパリティビットとデータビットに関連性を持たせ、高い訂正能力を持つ符号の探索を容易に行うためには、
(a#k,1,1、a#k,1,2、a#k,1,3)の3つのうち“0”が一つ存在するとよい(ただし、k=1、2、・・・3g)。
次に、符号化を容易に行うという点を考慮した時変周期3g(g=2、3、4、5、・・・)のLDPC−CCについて考える。このとき、符号化率を1/2(n=2)とするとLDPC−CCのパリティ検査多項式は以下のようにあらわすことができる。
このとき、X(D)はデータ(情報)Xの多項式表現であり、P(D)はパリティの多項式表現である。ここで、式(176−1)〜(176−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)、式(176−(k+1))のパリティ検査多項式が成立する。例えば、i=2とすると、i%3g=2(k=2)となるので、式(177)が成立する。
このとき、<条件#3−1>および<条件#4−1>をみたすと、より高い誤り訂正能力を持つ符号を作成することができる可能性が高まる。
<条件#3−1>
式(176−1)〜(176−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)のいずれかとなる。
加えて、式(176−1)〜(176−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)。
式(176−1)〜(176−3g)に対する<条件#3−1>は、式(174−1)〜(174−3g)に対する<条件#2−1>と同様の関係となる。式(176−1)〜(176−3g)に対して、<条件#3−1>に加え、以下の条件(<条件#4−1>)を付加すると、より高い誤り訂正能力をもつLDPC−CCを作成することができる可能性が高まる。
<条件#4−1>
式(176−1)〜(176−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”の存在する位置に規則性を持ちながらもランダム性があると良好な誤り訂正能力が得られる可能性が高い。式(176−1)〜(176−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)はパリティの多項式表現である。そして、式(178−1)〜(178−3g)では、X(D)、P(D)それぞれに3つの項が存在するようなパリティ検査多項式とし、X(D)、P(D)にはD0の項が存在することになる。(k=1、2、3、・・・、3g)
ただし、時変周期3g、符号化率1/2(n=2)のLDPC−CCにおいて、時刻iのパリティをPiおよび情報をX
i,1であらわす。このとき、i%3g=kとすると(k=0、1、2、・・・、3g−1)、式(178−(k+1))のパリティ検査多項式が成立する。例えば、i=2とすると、i%3g=2(k=2)となるので、式(179)が成立する。
このとき、以下の条件(<条件#5−1>および<条件#6−1>)をみたすと、より高い誤り訂正能力を持つ符号を作成することができる可能性が高まる。
<条件#5−1>
式(178−1)〜(178−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)のいずれかとなる。
加えて、式(178−1)〜(178−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)。
式(178−1)〜(178−3g)に対する<条件#5−1>は、式(174−1)〜(174−3g)に対する<条件#2−1>と同様の関係となる。式(178−1)〜(178−3g)に対して、<条件#5−1>に加え、以下の条件(<条件#6−1>)を付加すると、より高い誤り訂正能力をもつLDPC−CCを作成することができる可能性が高まる。
<条件#6−1>
式(178−1)〜(178−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)
かつ、
式(178−1)〜(178−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”の存在する位置に規則性を持ちながらもランダム性があると、良好な誤り訂正能力が得られる可能性が高い。式(178−1)〜(178−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>
式(178−1)〜(178−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)
または、
式(178−1)〜(178−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を表9に列挙する。
(他の実施の形態16)
他の実施の形態9では、良好な受信品質を与える時変周期2のLDPC−CCについて説明した。ここでは、さらに、他の実施の形態14を応用した、特性が良好な時変周期2のLDPC−CCについて説明する。なお、以下では、符号化率(n−1)/n(nは2以上の整数)の場合を例に説明する。
時変周期を2とするLDPC−CCのパリティ検査多項式として、式(180−1)および式(180−2)を考える。このとき、X1(D)、X2(D)、・・・Xn−1(D)はデータ(情報)X1、X2、・・・Xn−1の多項式表現であり、P(D)はパリティの多項式表現である。ここで、式(180−1)および式(180−2)では、X1(D)、X2(D)、・・・Xn−1(D)、P(D)それぞれに3つの項が存在するようなパリティ検査多項式とする。
式(180−1)において、ai,1、ai,2、ai,3(i=1,2,・・・,n−1)は整数(ただし、ai,1≠ai,2≠ai,3)とする。また、b1、b2、b3は整数(ただし、b1≠b2≠b3)とする。式(180−1)のパリティ検査多項式を「検査式#1」と呼び、式(180−1)のパリティ検査多項式に基づくサブ行列を、第1サブ行列H1とする。
また、式(180−2)において、Ai,1、Ai,2、Ai,3(i=1,2,・・・,n−1)は整数(ただし、Ai,1≠Ai,2≠Ai,3)とする。また、B1、B2、B3は整数(ただし、B1≠B2≠B3)とする。式(180−2)のパリティ検査多項式を「検査式#2」と呼び、式(180−2)のパリティ検査多項式に基づくサブ行列を、第2サブ行列H2とする。
そして、第1サブ行列H1、第2サブ行列H2から生成する時変周期2のLDPC―CCについて考える。
このとき、式(180−1)および式(180−2)において、
「X1(D)に関する係数(a1,1、a1,2、a1,3)および係数(A1,1、A1,2、A1,3)について、
・(a1,1、a1,2、a1,3)のうち、2つが奇数、1つが偶数、かつ、(A1,1、A1,2、A1,3)のうち2つが奇数、1つが偶数
・(a1,1、a1,2、a1,3)のうち、1つが奇数、2つが偶数、かつ、(A1,1、A1,2、A1,3)のうち1つが奇数、2つが偶数
のいずれかを満たし」、かつ、
「Xi(D)(i=2、3、・・・、n−1)に関する係数(ai,1、ai,2、ai,3)および係数(Ai,1、Ai,2、Ai,3)について、
・(ai,1、ai,2、ai,3)のうち、2つが奇数、1つが偶数、かつ、(Ai,1、Ai,2、Ai,3)のうち2つが奇数、1つが偶数
・(ai,1、ai,2、ai,3)のうち、1つが奇数、2つが偶数、かつ、(Ai,1、Ai,2、Ai,3)のうち1つが奇数、2つが偶数」
のいずれかを満たし」、かつ、
「・(b1、b2、b3)のうち、2つが奇数、1つが偶数、かつ、(B1、B2、B3)のうち2つが奇数、1つが偶数
・(b1、b2、b3)のうち、1つが奇数、2つが偶数、かつ、(B1、B2、B3)のうち1つが奇数、2つが偶数
のうちいずれかを満たす」
場合、他の実施の形態14で説明した条件を満たすため、ループ6が常に発生せず、かつ、レギュラーのLDPC―CCとなるため、良好な誤り訂正能力を得ることができる。
(他の実施の形態17)
他の実施の形態15では、時変周期3のLDPC−CCについて説明した。ここでは、他の実施の形態15で説明した時変周期3のLDPC−CCに対し好適なパンクチャ方法について説明する。以下では、一例として、符号化率1/2の符号(符号化率1/2)を、パンクチャにより符号化率1/2より大きくする場合を例に説明する。
式(162―1)〜式(162−3)で定義される時変周期3のLDPC−CCを考える。このとき、a1>a2>a3、b1>b2>b3、A1>A2>A3、B1>B2>B3、α1>α2>α3、β1>β2>β3としても、一般性は失われない。そこで、これらの関係のもとで、以下説明する。
式(162−1)の「検査式#1」の情報X(D)の最大次数はa1、パリティP(D)の最大次数はb1となる。また、式(162−2)の「検査式#2」の情報X(D)の最大次数はA1、パリティP(D)の最大次数はB1となる。また、式(162−3)の「検査式#3」の情報X(D)の最大次数はα1、パリティP(D)の最大次数はβ1となる。ここで、次のような2つの条件を与える。
[条件#1]
「検査式#1」、「検査式#2」、「検査式#3」におけるデータX(D)の最大次数a1、A1、α1のうち最大値となる次数を考える。例えば、a1が、これら3つの最大次数のうち最大とすると、a1に関連するビットをパンクチャせず、つまり、a1に関連するビットを送信し、a1以外の他のビットからパンクチャ(送信しない)ビットを選択する。また、A1が、これら3つの最大次数のうち最大とすると、A1に関連するビットをパンクチャせず、A1以外の他のビットからパンクチャビットを選択する。また、α1が、これら3つの最大次数のうち最大とすると、α1に関連するビットをパンクチャせず、α1以外の他のビットからパンクチャビットを選択する。
[条件#2]
「検査式#1」、「検査式#2」、「検査式#3」におけるパリティP(D)の最大次数b1、B1、β1のうち最大値をとなる次数を考える。例えば、b1が、これら3つの最大次数のうち最大とすると、b1に関連するビットをパンクチャせず、つまり、b1に関連するビットを送信し、b1以外の他のビットからパンクチャ(送信しない)ビットを選択する。また、B1が、これら3つの最大次数のうち最大とすると、B1に関連するビットをパンクチャせず、B1に関連するビットを送信し、B1以外の他のビットからパンクチャビット(送信しないビット)を選択する。また、β1が、これら3つの最大次数のうち最大とすると、β1に関連するビットをパンクチャせず、β1に関連するビットを送信し、β1以外の他のビットからパンクチャビット(送信しないビット)を選択する。
他の実施の形態15で説明した時変周期3のLDPC−CCに対しては、上記[条件#1]または[条件#2]のいずれかが満たされるようにして、パンクチャを行う。これにより、パンクチャを行う場合においても、良好な誤り訂正能力を得ることができる。当然であるが、[条件#1]および[条件#2]の双方を満たすと、さらに良好な誤り訂正能力を得ることができる。以下では、図面を用いて詳しく説明する。
図66に、時変周期3のLDPC−CCのパリティ検査行列H、送信系列u、および、上述の[条件#1]および[条件#2]にしたがうパリティパターンとの対応関係を示す。なお、図66は、時変周期3のパリティ検査多項式として、図65Aと同様のパリティ検査多項式により構成される場合を示している。したがって、図66のサブ行列H1、H2、H3は、図65Aのサブ行列H1、H2、H3と同様である。
送信系列をu=(X1,P1、X2、P2、・・・、Xi、Pi、Xi+1、Pi+1、・・・)Tとすると、Hu=0の関係が成立する。したがって、送信系列と、パリティ検査行列との関係は、実施の形態7で説明したように、図66のようにあらわされる(図16参照)。
図66の時変周期3のLDPC−CCにおいて、「検査式#1」、「検査式#2」、「検査式#3」におけるデータX(D)の最大次数(a1、A1、α1)=(2、5、4)のうち、最大値となる最大次数A1=5に着目する。
図66において、位置6601の「1」は、最大次数A1に対応するビットの位置を示している。位置6601の「1」は、最大次数A1に対応するビットの位置であるため、BP復号における列演算において高い信頼度を得る上で重要となる。これは、LDPC−CCを畳み込み符号と考えた場合、最大次数A1に対応するビットが、最大拘束長に関与するからである。一般に、畳み込み符号では、拘束長が長いほど、高い信頼度を得ることができる。このように、最大次数A1は、最大拘束長に関与するので重要となる。したがって、パンクチャにより、最大次数A1に対応するビットがパンクチャされ、最大次数A1に対応するビットが送信されなくなってしまうと、最大拘束長が短縮されてしまう。
そこで、パンクチャにより、最大拘束長が短縮されないように、図66の位置6601の「1」が残るようにする。つまり、図66の情報Xi、Xi+3、Xi+6、Xi+9、・・・をパンクチャビットとして選択せずに、送信ビットとし、情報Xi、Xi+3、Xi+6、Xi+9、・・・以外をパンクチャし、情報Xi、Xi+3、Xi+6、Xi+9、・・・以外から送信しないビットを選択するようにする。これにより、パンクチャを行う場合おいても、良好な誤り訂正能力を得ることができる。
同様に、図66の時変周期3のLDPC−CCにおいて、「検査式#1」、「検査式#2」、「検査式#3」におけるパリティP(D)の最大次数(b1、B1、β1)=(2、5、4)のうち、最大値となるB1=5に着目する。
図66において、位置6602の「1」は、最大次数B1に対応するビットの位置を示している。上述したように、位置6602の「1」は、最大次数B1に対応するビットの位置であり、最大拘束長に関与するので重要となる。
そこで、パンクチャにより、最大拘束長が短縮されないように、図66の位置6602の「1」が残るようにする。つまり、図66のパリティPi、Pi+3、Pi+6、Pi+9、・・・をパンクチャビットとして選択せずに、送信ビットとし、パリティPi、Pi+3、Pi+6、Pi+9、・・・以外をパンクチャし、、パリティPi、Pi+3、Pi+6、Pi+9、・・・以外から送信しないビットを選択するようにする。これにより、パンクチャを行う場合おいても、良好な誤り訂正能力を得ることができる。
このように、[条件#1]にしたがって情報Xにおいてパンクチャしないビット(送信するビット)を定め、[条件#2]にしたがってパリティPにおいてパンクチャしないビット(送信するビット)を[条件#1]とは独立して別に定めることができる。なお、[条件#1]および[条件#2]の双方にしたがって、情報XおよびパリティPに対し、パンクチャしないビット(送信するビット)を定めると、さらに良好な誤り訂正能力を得ることができる。
図67に、図66とは異なる別の対応関係を示す。図67と図66とでは、パリティ検査行列Hが異なっている。図67の時変周期3のパリティ検査多項式、および、サブ行列H1、H2、H3を同図に示す。
送信系列をu=(X1,P1、X2、P2、・・・、Xi、Pi、Xi+1、Pi+1、・・・)Tとすると、Hu=0の関係が成立する。したがって、送信系列と、パリティ検査行列との関係は、実施の形態7で説明したように、図67のようにあらわされる(図16参照)。
図67の時変周期3のLDPC−CCにおいて、「検査式#1」、「検査式#2」、「検査式#3」におけるデータX(D)の最大次数(a1、A1、α1)=(2、5、4)のうち、最大値となる最大次数A1=5に着目する。
図67において、位置6701の「1」は、最大次数A1に対応するビットの位置を示している。位置6701の「1」は、最大次数A1に対応するビットの位置であるため、BP復号における列演算において高い信頼度を得る上で重要となる。これは、LDPC−CCを畳み込み符号と考えた場合、最大次数A1に対応するビットが、最大拘束長に関与するからである。
そこで、パンクチャにより、最大拘束長が短縮されないように、図67の位置6701の「1」が残るようにする。つまり、図67の情報Xi、Xi+3、Xi+6、Xi+9、・・・をパンクチャビットとしては選択せずに、送信ビットとし、情報Xi、Xi+3、Xi+6、Xi+9、・・・以外をパンクチャし、情報Xi、Xi+3、Xi+6、Xi+9、・・・以外から送信しないビットを選択するようにする。これにより、パンクチャを行う場合においても、良好な誤り訂正能力を得ることができる。
同様に、図67の時変周期3のLDPC−CCにおいて、「検査式#1」、「検査式#2」、「検査式#3」におけるパリティP(D)の最大次数(b1、B1、β1)=(5、2、7)のうち、最大値となるβ1=7に着目する。
図67において、位置6702の「1」は、最大次数β1に対応するビットの位置を示している。上述したように、位置6702の「1」は、最大次数β1に対応するビットの位置であり、最大拘束長に関与するので重要となる。
そこで、パンクチャにより、最大拘束長が短縮されないように、図67の位置6702の「1」が残るようにする。つまり、図67のパリティPi―1、Pi+2、Pi+5、Pi+8、・・・をパンクチャビットとして選択せずに、送信ビットとし、パリティPi―1、Pi+2、Pi+5、Pi+8、・・・以外をパンクチャし、パリティPi―1、Pi+2、Pi+5、Pi+8、・・・以外から送信しないビットを選択するようにする。これにより、パンクチャを行う場合おいても、良好な誤り訂正能力を得ることができる。
このように、[条件#1]にしたがって情報Xにおいてパンクチャしないビット(送信するビット)を定め、[条件#2]にしたがってパリティPにおいてパンクチャしないビット(送信するビット)を[条件#1]とは独立に別に定めることができる。なお、[条件#1]および[条件#2]の双方にしたがって、情報XおよびパリティPに対し、パンクチャしないビット(送信するビット)を定めると、さらに好な誤り訂正能力を得ることができる。
以上、符号化率1/2の場合を例に説明したが、符号化率は1/2に限られず、符号化率(n−1)/n(nは2以上の整数)の符号(符号化率(n−1)/n)から、パンクチャにより符号化率を(n−1)/nより大きくする場合においても、同様のパンクチャを実施することができる。その概要は、以下の通りである。
式(163―1)〜式(163−3)で定義される時変周期3のLDPC−CCを考える。このとき、ai,1>ai,2>ai,3、b1>b2>b3、Ai,1>Ai,2>Ai,3、B1>B2>B3、αi,1>αi,2>αi,3、β1>β2>β3(i=1,2,・・・,n−1)としても一般性は失われない。そこで、これらの関係のもとで、以下、説明する。
式(163−1)の「検査式#1」の情報Xi(D)の最大次数はai,1、パリティP(D)の最大次数はb1となる。また、式(163−2)の「検査式#2」の情報Xi(D)の最大次数はAi,1、パリティP(D)の最大次数はB1となる。また、式(162−3)の「検査式#3」の情報Xi(D)の最大次数はαi,1、パリティP(D)の最大次数はβ1となる。ここで、次のような2つの条件を与える。
[条件#1]
「検査式#1」、「検査式#2」、「検査式#3」におけるデータXi(D)の最大次数ai,1、Ai,1、αi,1のうち最大値となる次数を考える。例えば、ai,1が、これら3つの最大次数のうち最大とすると、ai,1に関連するビットをパンクチャせず、つまり、ai,1に関連するビットを送信し、ai,1以外の他のビットからパンクチャビット(送信しないビット)を選択する。また、Ai,1が、これら3つの最大次数のうち最大とすると、Ai,1に関連するビットをパンクチャせず、Ai,1に関連するビットを送信し、Ai,1以外の他のビットからパンクチャビット(送信しないビット)を選択する。また、αi,1が、これら3つの最大次数のうち最大とすると、αi,1に関連するビットをパンクチャせず、αi,1に関連するビットを送信し、αi,1以外の他のビットからパンクチャビット(送信しないビット)を選択する。
[条件#2]
「検査式#1」、「検査式#2」、「検査式#3」におけるパリティP(D)の最大次数b1、B1、β1のうち最大値となる次数を考える。例えば、b1が、これら3つの最大次数のうち最大とすると、b1に関連するビットをパンクチャせず、つまり、b1に関連するビットを送信し、b1以外の他のビットからパンクチャビット(送信しないビット)を選択する。また、B1が、これら3つの最大次数のうち最大とすると、B1に関連するビットをパンクチャせず、B1に関連するビットを送信し、B1以外の他のビットからパンクチャビット(送信しないビット)を選択する。また、β1が、これら3つの最大次数のうち最大とすると、β1に関連するビットをパンクチャせず、β1に関連するビットを送信し、β1以外の他のビットからパンクチャビット(送信しないビット)を選択する。
時変周期3、符号化率(n−1)/nのLDPC−CCに対し、上記[条件#1]または[条件#2]のいずれかが満たされるようにして、パンクチャを行う。これにより、パンクチャを行う場合においても、良好な誤り訂正能力を得ることができる。当然であるが、[条件#1]および[条件#2]の双方を満たすと、さらに良好な誤り訂正能力を得ることができる。なお、パンクチャビット(送信しないビット)の候補としない設定方法は、図66、図67で説明した通りである。
なお、本発明は上記すべての実施の形態に限定されず、種々変更して実施することが可能である。例えば、上記実施の形態では、無線通信装置として行う場合について説明しているが、これに限られるものではなく、電灯線通信装置で実現する場合においても適用可能である。
また、この通信方法をソフトウェアとして行うことも可能である。例えば、上記通信方法を実行するプログラムを予めROM(Read Only Memory)に格納しておき、そのプログラムをCPU(Central Processor Unit)によって動作させるようにしても良い。
また、上記通信方法を実行するプログラムをコンピュータで読み取り可能な記憶媒体に格納し、記憶媒体に格納されたプログラムをコンピュータのRAM(Random Access Memory)に記録して、コンピュータをそのプログラムにしたがって動作させるようにしても良い。
また、本発明は、無線通信に限らず、電灯線通信(PLC:Power Line Communication)、可視光通信、光通信においても有用であることは言うまでもない。