(57)【要約】【課題】ＬＤＰＣ−ＣＣ符号化・復号化に必要なターミネーション系列の量を削減し、伝送効率の劣化を抑圧しつつ、誤り訂正符号化・復号化を行うこと。【解決手段】ＬＤＰＣ−ＣＣ符号化器２００は、符号化率Ｒ＝１／２、情報ビットのメモリ長Ｍ１の畳み込み符号化を行う符号化器であって、情報系列後部のＭ１個の列では、検査行列の対角成分に対し未来に相当する領域に‘１’が存在し、当該Ｍ１個の列の列重みが、それぞれ２以上となる検査行列を用いて符号化を行う。このようにすることで、情報系列後部Ｍ１ビットの列重みを、検査行列の中央付近の列重みと同程度にすることができるため、送信符号語系列の後部をターミネーション系列としなくとも良好な復号性能を得ることができる。このため、ターミネーション系列を削減できる。【選択図】図１
2009201084.tif 000002
【特許請求の範囲】
【請求項１】
低密度パリティ検査畳み込み符号（ＬＤＰＣ−ＣＣ：Low-Density Parity-Check Convolutional Codes）の検査行列に従って、符号化率Ｒ＝ｂ／ｃ、情報ビットのモリ長Ｍ１の畳み込み符号化を行う符号化器であって、
前記検査行列の後部の（Ｍ１×ｂ）個の列のうち、情報ビットに相当する列については、前記検査行列の対角成分に対し未来に相当する領域に‘１’が存在する、
符号化器。
【請求項２】
前記後部の情報ビットに相当する（Ｍ１×ｂ）個の列の列重みが、それぞれ２以上である、
請求項１に記載の符号化器。
【請求項３】
前記検査行列のうち、情報ビットに相当する列については、前記検査行列の対角成分の領域及び前記対角成分に対し未来に相当する領域にのみ‘１’が存在する、
請求項２に記載の符号化器。
【請求項４】
前記検査行列の後部の（Ｍ１×ｂ）個の列を除く列については、前記検査行列の対角成分の領域及び対角成分に対し過去に相当する領域にのみ‘１’が存在する、
請求項２に記載の符号化器。
【請求項５】
前記検査行列の行重みが多くとも１０である、
請求項２に記載の符号化器。
【請求項６】
ＬＤＰＣ−ＣＣの検査行列に従って、符号化率Ｒ＝ｂ／ｃの畳み込み符号化を行う符号化器であって、
入力ビットを保持するＭ１個のシフトレジスタから構成される第１のシフトレジスタ群と、
当該符号化器の出力ビットを保持するＭ２個のシフトレジスタから構成される第２のシフトレジスタ群と、
前記第１及び第２のシフトレジスタ群を構成する各シフトレジスタの出力にウェイトを乗算する複数のウェイト乗算部と、
前記複数のウェイト乗算部の出力をｍｏｄ２加算するｍｏｄ２加算器と、
入力ビットのビット数をカウントするビット数カウンタと、
前記ビット数に応じて前記複数のウェイト乗算部のウェイトを制御するウェイト制御部と、
を具備し、
前記第１のシフトレジスタ群の最終段のシフトレジスタの出力が符号語の一部となっている、
符号化器。
【請求項７】
Ｎビットの情報ビットを入力として、パリティビットを算出する符号器であって、
時点ｔの情報ビットと、時点（ｔ−１）以前に入力された情報ビットと、時点（ｔ−１）以前に算出されたパリティビットと、の一部のビットをｍｏｄ２加算することによって、時点ｔのパリティビットを算出する第１のパリティビット算出手段と、
時点ｔの情報ビットと、時点ｔ＋１以降に入力された情報ビットと、時点ｔ−１以前に入力された情報ビットと、時点ｔ−１以前に算出されたパリティビットと、の一部のビットをｍｏｄ２加算することによって、時点ｔのパリティビットを算出する第２のパリティビット算出手段と、
を備え、
前記第１のパリティビット算出手段を用いて  時点ｔ≦Ｎ−Ｋ１−１  のパリティビットを算出し（ただし、Ｋ１はメモリ長Ｍ１よりも大きい自然数）、
前記第２のパリティビット算出手段を用いて  Ｎ−Ｋ１≦  時点ｔ  のパリティビットを算出する、
符号化器。
【請求項８】
請求項１から請求項７のいずれかに記載の符号化器と、
前記符号化器の出力系列の後部（Ｍ１×２×ｃ）ビットを除いて、前記符号化器の出力系列をパンクチャするパンクチャ手段と、
を具備する送信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、低密度パリティ検査畳み込み符号（ＬＤＰＣ−ＣＣ：Low-Density Parity-Check Convolutional Codes）を用いて誤り訂正符号化を行う符号化器及び送信装置に関する。
【背景技術】
【０００２】
近年、実現可能な回路規模で高い誤り訂正能力を発揮する誤り訂正符号として、低密度パリティ検査（ＬＤＰＣ：Low-Density Parity-Check）符号に注目が集まっている。ＬＤＰＣ符号は、その誤り訂正能力の高さと、実装の容易さからＩＥＥＥ８０２．１１ｎの高速無線ＬＡＮ（Local Area Networks）システムやデジタル放送システムなどの誤り訂正符号化方式に採用されている。
【０００３】
ＬＤＰＣ符号は低密度な（行列中に含まれる１の要素数が０の要素数に比べて大幅に少ない）パリティ検査行列で定義される誤り訂正符号である。ＬＤＰＣ符号は、検査行列の列数Ｎと等しいブロック長を持つブロック符号である（非特許文献１参照）。
【０００４】
しかし、現在の通信システムの多くは、イーサネット（登録商標）のように可変長のパケットやフレームに基づいて通信を行うという特徴がある。このようなシステムにブロック符号であるＬＤＰＣ符号を適用する場合、例えば、可変長なイーサネット（登録商標）のフレームに対して固定長のＬＤＰＣ符号のブロックをどのように対応させるかといった課題が発生する。ＬＤＰＣ符号が採用されている無線ＬＡＮの規格であるＩＥＥＥ８０２．１１ｎでは、送信情報系列にパディングやパンクチャなどを適用して、送信情報系列の長さと、ＬＤＰＣ符号のブロック長の調節を行っている。しかし、パディング、パンクチャにより符号化率の変化や冗長な系列の送信が必要になるという問題がある。
【０００５】
このようなブロック符号のＬＤＰＣ符号（以下「ＬＤＰＣ−ＢＣ：Low-Density Parity-Check Block Code」と標記する）に対して、任意の長さの情報系列に対しての符号化・復号化が可能なＬＤＰＣ−ＣＣの検討が行われている（非特許文献２参照）。
【０００６】
ＬＤＰＣ−ＣＣは、低密度なパリティ検査行列により定義される畳み込み符号である。
【０００７】
図３７に、一例として、符号化率Ｒ＝１／２（＝ｂ／ｃ）のＬＤＰＣ−ＣＣのパリティ検査行列Ｈ［０、ｎ］Ｔを示す。
【０００８】
ＬＤＰＣ−ＣＣにおいて、検査行列Ｈ［０,ｎ］Ｔの要素ｈ1(m)（ｔ），ｈ2(m)（ｔ）は、０（ゼロ）または１をとる。また、検査行列Ｈ［０、ｎ］Ｔに含まれるｈ1(m)（ｔ），ｈ2(m)（ｔ）以外の要素は全て０である。同図中、Ｍは、ＬＤＰＣ−ＣＣにおけるメモリ長を表し、Ｎは、送信情報系列の長さを表す。図３７の検査行列は、行列の対角項とその近辺の要素のみ値が１となっており、行列の左下及び右上の要素は値が０である。このように、ＬＤＰＣ−ＣＣ検査行列は、値が１の要素の存在する領域が平行四辺形状となっているという特徴がある。なお以降、要素が１であることを指して、‘０’を‘１’に置き換える、要素が１になるように設計することを指して、‘０’を‘１’に置き換える等と表現する。
【０００９】
ここで、符号化率Ｒ＝１／２（＝ｂ／ｃ）の例を示すと、ｈ1(0)（ｔ）＝１，ｈ2(0)（ｔ）＝１であるとき、ＬＤＰＣ−ＣＣの符号化は、図３７の検査行列Ｈ［０,ｎ］Ｔに従って、式（１）及び式（２）により行われる。
【００１０】
【数１】
2009201084.tif 000003
【数２】
2009201084.tif 000004
なお、ｕｔは、送信情報系列（「情報系列」ともいう）を表し、ｖ1,ｔ，ｖ2,ｔは符号語系列を表す。
【００１１】
図３８に、式（１）及び式（２）を実行するＬＤＰＣ−ＣＣ符号化器の要部構成の一例を示す。図３８に示すように、ＬＤＰＣ−ＣＣ符号化器１０は、シフトレジスタ１１−１〜１１−Ｍ，１４−１〜１４−Ｍ、ウェイト乗算器１２−０〜１２−Ｍ，１３−０〜１３−Ｍ、ｍｏｄ２加算器１５、ビット数カウンタ１６、及び、ウェイト制御部１７を含む構成である。
【００１２】
シフトレジスタ１１−０〜１１−Ｍ，１４−１〜１４−Ｍは、それぞれｖ1,ｔ-i，ｖ2,ｔ-i（ｉ＝０，…，Ｍ）を保持するレジスタであり、次の入力が入ってくるタイミングで、保持している値を右隣のシフトレジスタに送出し、左隣のシフトレジスタから送出されてきた値を新たに保持する。
【００１３】
ウェイト乗算器１２−０〜１２−Ｍ，１３−０〜１３−Ｍは、ウェイト制御部１４から出力される制御信号に従って、ウェイト値を０又は１に切り替える。ウェイト制御部１４は、ビット数カウンタ１６から出力されるカウント数と、ウェイト制御部１４内に保持している検査行列に準じたウェイトパターンとに基づいて、そのタイミングにおけるｈ1(m)（ｔ），ｈ2(m)（ｔ）の値をウェイト乗算器１２−０〜１２−Ｍ，１３−０〜１３−Ｍに送出する。ｍｏｄ２加算器１５は、ウェイト乗算器１２−０〜１２−Ｍ，１３−０〜１３−Ｍの出力に対しｍｏｄ２加算を行い、ｖ2,ｔを算出する。ビット数カウンタ１６は、入力された送信情報系列のビット数をカウントする。
【００１４】
このような構成を採ることで、ＬＤＰＣ−ＣＣ符号化器１０は、検査行列に従ったＬＤＰＣ−ＣＣの符号化を行うことができる。
【００１５】
ＬＤＰＣ−ＣＣ符号化器は、生成行列の乗算を行う符号化器の回路や，後退代入法または前方代入法に基づく演算を行うＬＤＰＣ−ＢＣ符号化器に比べ、非常に簡易な回路で実現できるという特徴がある。また、ＬＤＰＣ−ＣＣは畳み込み符号であるため、送信情報系列を固定長のブロックに区切って符号化する必要がなく、任意の長さの情報系列を符号化できる。
【００１６】
ＬＤＰＣ−ＣＣの復号には、ＬＤＰＣ−ＢＣと同様に検査行列に基づいてSum-productアルゴリズム（ＢＰ（Belief Propagation）アルゴリズム）を適用することができる。そのため、ＢＣＪＲ（Bahl, Cocke, Jeinek, Raviv）アルゴリズムや、ビタビアルゴリズムのような最尤系列推定に基づく復号アルゴリズムを用いる必要がなく、低処理遅延で復号処理を完了することができる。さらに、非特許文献１には、平行四辺形の形に１が配置されているという検査行列の形を活かしたパイプライン型の復号アルゴリズムが提案されている（特許文献１参照）。
【００１７】
ＬＤＰＣ−ＣＣとＬＤＰＣ−ＢＣの復号特性を復号器の回路規模が同等になるパラメータで比較した場合、ＬＤＰＣ−ＣＣの復号特性の方が優れるということが示されている（非特許文献２参照）。
【００１８】
ＬＤＰＣ−ＣＣにおいて、任意の長さＮで符号化を終了した場合、受信側の復号器において受信符号語系列を復号する際に、Sum-product復号における符号語系列後部のｃ×Ｍビットの確率伝搬をその他のビットと同等にするためには、Ｎ以降の送信情報系列を符号化した符号語及び符号化終了時のシフトレジスタの状態が必要になる。
【００１９】
しかし、送信情報系列を単純に符号化しただけでは、符号化終了時点の符号化器のシフトレジスタの状態が送信情報系列に依存するため、受信側で復号する際にその状態を一意に決定することが困難である。
【００２０】
このような状況で、受信側で受信符号語に基づいて復号処理を行うと、復号後に得られる受信情報系列の終わりの方、特に後部ｃ×Ｍビットに誤りが増えるという現象が起こる。
【００２１】
このような誤りを避けるために、符号化の終了状態を一意に決める終端処理（ターミネーション）を送信情報系列に施すことが必要となる。
【００２２】
ＩＥＥＥ８０２．１１ａ準拠の畳み込み符号では、送信情報系列の後部にテイルビットと呼ばれる符号化器のシフトレジスタと同数（６個）の０ビットを付加して符号化することで終端処理を行う。このようにすれば、テイルビットが入力し終わった時点で、符号化器のシフトレジスタの状態をオールゼロにすることができる。なお、テイルビットを入力した際に出力される符号語は、受信側で復号処理を行う際に必要になるので、送信符号語とともに受信側に送信される。
【００２３】
ＬＤＰＣ−ＣＣの場合、式（２）で示したように、符号語ｖ2,ｔを求めるには、過去のＭ時刻における符号語ｖ1,ｔ-iおよびｖ2,ｔ-iが必要になるため、ＬＤＰＣ−ＣＣ符号化器には過去Ｍ時刻の符号語ｖ1,ｔ-iおよびｖ2,ｔ-iを保持するシフトレジスタを含む構成である。送信情報系列ｖ1,ｔ-iを保持するレジスタは、送信情報系列の終端を長さＭのオールゼロの系列にする（ターミネーション）ことでオールゼロ状態にすることができる。
【００２４】
このようなテイルビットを付加した符号語系列をＬＤＰＣ−ＣＣ符号化器で符号化することで、過去の符号語ｖ1,ｔ-iを保持するシフトレジスタの状態をオールゼロ状態にすることができる。送信側の通信装置はこのようにして終端処理された送信符号語を受信装置に対して送信することで、受信側の復号器は、符号化終了時のシフトレジスタの状態を一意に決定することができ、所望の性能で誤り訂正復号できる。
【００２５】
図３９に示す従来のＬＤＰＣ−ＣＣの検査行列の一例を用いて、ターミネーションの必要性について、検査行列構成の観点から説明する。図３９の検査行列２０は、符号化率Ｒ＝１／２、メモリ長Ｍ＝９の周期的時変（time varying）ＬＤＰＣ−ＣＣを定義する検査行列である。ここで、周期的時変とは、検査行列において１／０の配置パターンが列ごとに異なっており、かつ、そのパターンに周期性があることを示す。図３９の検査行列２０は、時変周期が２の場合の例である。
【００２６】
図３９において、検査行列２０の各行は、パリティ検査方程式（パリティ検査式）に対応する。図３９には、各行のパリティ検査式に、ｃ１，ｃ２，・・・，ｃｔ，・・・とラベル付けしている。また、検査行列２０の各列は、符号語系列の各ビットに対応する。図３９の検査行列２０は、組織符号を定義する検査行列であり、各列は、符号語系列の１番目の情報ビットｖ1,1、１番目のパリティビットｖ2,1、２番目の情報ビットｖ1,2、２番目のパリティビットｖ2,2、…という順序で並んでいる。
【００２７】
各行のパリティ検査式の多項式表現は、式（３）により表される。
【数３】
2009201084.tif 000005
ここで、Ｘ(Ｄ)は情報ビットｖ1,tの多項式表現であり、Ｐ(Ｄ)はパリティビットｖ2,tの多項式表現である。またＧD(t),ＧP(t)は、ｔが奇数のとき式（４）により表され、ｔが偶数のとき式（５）により表される。
【数４】
2009201084.tif 000006
【数５】
2009201084.tif 000007
なお、Ｄは遅延演算子である。図３９の検査行列２０は、時点ｔに応じて式（４）と式（５）の２つの多項式を切り替えて用いる、周期２の時変ＬＤＰＣ−ＣＣの検査行列となっている。また、式（４）と式（５）の検査多項式の次数に着目すると、ＧD(t)及びＧP(t)の次数の最大値はいずれもメモリ長Ｍと等しい９となっている。
【００２８】
図３９の検査行列２０の列重みに着目する。列重みとは、検査行列の各列において‘１’が配置されている数のことを示す。つまり、検査行列の各列の要素が１となる数を示す。図３９のｔ∈［１，Ｎ］の範囲については、情報ビットｖ1,tの列重みはｔが奇数のとき３となり，ｔが偶数のとき５となっている。また、パリティビットｖ2,tの列重みはｔが奇数のとき２となり，ｔが偶数のとき４となっている。周期が２となっているのは、検査行列の周期が２であるためである。
【００２９】
一方、ｔ∈［Ｎ＋１，Ｎ＋Ｍ］の範囲、すなわち後部の２Ｍビットの範囲については、列重みが変則的となり、列重みが１となるビットが多数存在するようになる。図３９に示す例では、情報ビットのｖ1,N+7〜ｖ1,N+Mや、パリティビットのｖ2+6〜ｖ2+Mでは、列重みが連続して１となっている。列重みが１のビットは、関係するパリティ検査式が１つしか存在しないため、Sum-Product復号における繰り返し符号の復号処理時に他のビットからの信頼度伝搬が十分に得られず、符号化ゲインが得られにくい。そのため、これらの符号ビットが影響を与える他の符号ビットの復号特性に対して悪影響が及び、結果として、復号後の受信情報系列の後部にビット誤りが多く発生してしまう。
【００３０】
そこで、一般に、ＬＤＰＣ−ＣＣでは、情報系列の最後のＭビットには本来送信したいデータ系列を割り当てず、テイルビット、例えば、ゼロ系列を割り当てる。
【００３１】
なお、以下では、本来送信しようとするデータ系列を符号化して得られる、検査行列のｔ∈［１，Ｎ］の範囲に対応する系列を、組織符号系列という。また、テイルビットを符号化して得られる範囲に対応する系列を、ターミネーション系列という。
【００３２】
このとき、本来送信しようとするデータ系列については、検査行列のｔ∈［１，Ｎ］の範囲に対応して符号化されるため、検査行列の前部と同様に十分な列重みが確保され、所望の性能で誤り訂正復号を行うことができる。
【００３３】
また、検査行列のｔ∈［Ｎ＋１，Ｎ＋Ｍ］の範囲、つまり、テイルビットを符号化して得られる範囲では、情報ビットｖ1,tは全ゼロの既知系列であるので送信する必要が無い。そして、受信側では情報ビットｖ1,tの判定値をゼロに固定して復号処理を行うことにより、符号語系列の後部についても復号誤りが生じる可能性を低減することができる。
【００３４】
以上のように、従来のＬＤＰＣ−ＣＣでは、符号語系列の後部をターミネーション系列とすることによって、情報系列の後部に復号誤りが発生する確率を低減することができる。
【特許文献１】米国特許第６０，６８２，１７８号明細書
【非特許文献１】和田山  正,“低密度パリティ検査符号とその復号方法,”トリケップス.
【非特許文献２】Alberto Jimenez Felstorom, and Kamil Sh.Zigangirov, "Time-Varying Periodic Convolutional Codes With Low-Density Parity-Check Matrix.", IEEE Transactions on Information Theory, Vol.45, No.6, pp.2181-2191, September, 1999.
【非特許文献３】A. Pusane, K. S. Zigangirov, and D. J. Costello Jr., “Construction of irregular LDPC convolutional codes with fast encoding,” Proc. of IEEE ICC 2006, pp.1160-1165, June 2006.
【非特許文献４】S. Lin, D. J. Jr., Costello, “Error control coding : Fundamentals and applications,”Prentice-Hall.
【発明の開示】
【発明が解決しようとする課題】
【００３５】
しかしながら、前記従来の構成では、送信するターミネーション系列長としてＬビット（Ｌ≧Ｍ）の系列が必要であり、冗長な系列を送出することによるオーバーヘッド量の増加や伝送効率の劣化が問題となる。例えば、メモリ長Ｍ＝２００のＬＤＰＣ−ＣＣを使って、４０００ビットの送信情報系列を送信するとき、ターミネーションのために２００ビット以上すなわち情報系列の５％以上もの冗長ビットを送信しなければならない。また、ターミネーション系列送信による伝送効率の劣化は、情報系列長が短いときや、符号化率が高いとき、メモリ長Ｍが大きいときにより顕著になってくる。
【００３６】
本発明はかかる点に鑑みてなされたものであり、ＬＤＰＣ−ＣＣ符号化・復号化に必要なターミネーション系列の量を削減し、伝送効率の劣化を抑圧しつつ、誤り訂正符号化・復号化を行うことができるＬＤＰＣ−ＣＣ符号化器及び送信装置を提供することを目的とする。
【課題を解決するための手段】
【００３７】
本発明の符号化器の一つの態様は、低密度パリティ検査畳み込み符号（ＬＤＰＣ−ＣＣ：Low-Density Parity-Check Convolutional Codes）の検査行列に従って、符号化率Ｒ＝ｂ／ｃ、情報ビットのメモリ長Ｍ１のみ込み符号化を行う符号化器であって、前記検査行列の後部の（Ｍ１×ｂ）個の列のうち、情報ビットに相当する列については、前記検査行列の対角成分に対し未来に相当する領域に‘１’が存在する、構成を採る。
【００３８】
本発明の符号化器の一つの態様は、前記検査行列のうち、情報ビットに相当する列については、前記検査行列の対角成分の領域及び前記対角成分に対し未来に相当する領域にのみ‘１’が存在する、構成を採る。
【００３９】
本発明の符号化器の一つの態様は、前記検査行列の後部の（Ｍ１×ｂ）個の列を除く列については、前記検査行列の対角成分の領域及び対角成分に対し過去に相当する領域にのみ‘１’が存在する、構成を採る。
【発明の効果】
【００４０】
本発明によれば、ＬＤＰＣ−ＣＣ符号化・復号化に必要なターミネーション系列の量を削減し、伝送効率の劣化を抑圧しつつ、誤り訂正符号化・復号化を行うことができる。
【発明を実施するための最良の形態】
【００４１】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【００４２】
（実施の形態１）
本実施の形態では、未来の時点ｔ−ｍ１（−Ｍ１≦ｍ１≦−１，Ｍ１：情報ビットのメモリ長）及び現在の時点ｔの入力情報ビットと、過去の時点ｔ−ｍ２（１≦ｍ２≦Ｍ２，Ｍ２：パリティビットのメモリ長）のパリティビットと、の一部の値をｍｏｄ２加算することで、現在の時点ｔのパリティビットを算出することを特徴とするＬＤＰＣ−ＣＣ符号化器について説明する。
【００４３】
図１に、本実施の形態に係るＬＤＰＣ−ＣＣの検査行列の一例を示す。図１の検査行列１００は、符号化率Ｒ＝１／２、メモリ長Ｍ＝９の周期的時変ＬＤＰＣ−ＣＣを定義する検査行列である。
【００４４】
図１において、検査行列１００の各行は、パリティ検査方程式（パリティ検査式）に対応する。図１には、各行のパリティ検査式に、ｃ１，ｃ２，…，とラベル付けしている。また、検査行列１００の各列は、符号語系列の各ビットに対応する。
【００４５】
図１の検査行列１００は、符号語系列ｖ1,tに送信情報系列ｕtがそのままの形で含まれる組織符号を定義する検査行列である。送信符号ビットｖ1,t，ｖ2,tは、それぞれ情報ビット、パリティビットとなっており、それぞれ式（６）、式（７）で表される。
【数６】
2009201084.tif 000008
【数７】
2009201084.tif 000009
【００４６】
検査行列１００の各列は、符号語系列の１番目の情報ビットｖ1,1、１番目のパリティビットｖ2,1、２番目の情報ビットｖ1,2、２番目のパリティビットｖ2,2、…という順序で並んでいる。
【００４７】
検査行列１００の各行のパリティ検査式の多項式表現は、ｔが奇数のとき式（８）で表され、ｔが偶数のとき式（９）で表される。
【数８】
2009201084.tif 000010
【数９】
2009201084.tif 000011
ここで、Ｘ(Ｄ)は情報ビットｖ1,tの多項式表現であり、Ｐ(Ｄ)はパリティビットｖ2,tの多項式表現である。図１の検査行列１００は、時点ｔに応じて式（８）と式（９）の２つの多項式を切り替えて用いる、周期２の時変ＬＤＰＣ−ＣＣの検査行列となっている。
【００４８】
本実施の形態の特徴は、式（６）〜式（９）に表されるように、時点ｔのパリティビットを導出する際に、未来の時点ｔ−ｍ１（−Ｍ１≦ｍ１≦−１）及び現在の時点ｔの情報ビットの値と、過去の時点ｔ−ｍ２（１≦ｍ２≦Ｍ２）のパリティビットの値と、の一部の値を用いており、過去の時点ｔ−ｍ１（ｍ１：１以上の整数）の情報ビットの値を用いない点にある。
【００４９】
検査行列で見ると、本実施の形態のＬＤＰＣ−ＣＣ検査行列１００に従って、時点ｔのパリティビットを導出する際には、ｔよりも左側（過去）に存在するパリティビットと、ｔよりも右側（未来）に存在する情報ビットとのｍｏｄ２加算を行っており、ｔよりも左側（過去）に存在する情報ビットを用いていない。したがって、検査行列の対角成分に対し過去に相当する領域（対角成分の左下の、下三角の領域）では、情報ビットに相当する列に‘１’が配置されていない。つまり、検査行列の情報ビットに相当する列は、‘０’となる。
【００５０】
なお、ここで検査行列の対角成分とは、時点ｔのパリティビットの導出に供する行ｃｔにおける、時点ｔの情報ビットｖ1,t及びパリティビットｖ2,tに対応する列の要素のことをいう。すなわち、検査行列のｉ行ｊ列の要素を、（ｉ，ｊ）要素と標記すると、符号化率Ｒ＝１／２の検査行列であるＬＤＰＣ−ＣＣ検査行列１００では、対角成分は、（ｔ，２ｔ−１）要素及び（ｔ，２ｔ）要素を指す。符号化率Ｒ＝１／ｃの検査行列の場合には、（ｔ，ｃｔ−（ｃ−１）），（ｔ，ｃｔ−（ｃ−２）），…，（ｔ，ｃｔ）要素が、対角成分となる。
【００５１】
なお、パリティビットは時点１のパリティビットｖ2,1からｖ2,2，ｖ2,3，・・・の順に逐次的に算出されるため、時点ｔのパリティビットｖ2,tを算出するタイミングでは、未来の時点ｔ−ｍ２（ｍ２：−１以下の整数）のパリティビットは未定である。したがって、パリティビットｖ2,tの導出式にｖ2,t-m2を含めると、パリティビットｖ2,tの算出が複雑となる。すなわち、未来の時点の符号ビットの中で、現在の時点ｔの導出式に含められるのは予め値の得られている情報ビットｖ2,tのみである。この点が、本発明のＬＤＰＣ−ＣＣにおいて、組織符号であることが重要な構成要件であるとした理由である。
【００５２】
図２Ａに、検査行列１００から情報ビットに対応する列を抽出した部分検査行列（以下「情報部分検査行列」ともいう）１１０を示す。また、図２Ｂに、検査行列１００からパリティビットに対応する列を抽出した部分検査行列（以下「パリティ部分検査行列」ともいう）１２０を示す。
【００５３】
図２Ａの情報部分検査行列１１０は、対角線上の情報ビット（対角成分）と、未来の情報ビットに相当する右側の情報ビット（対角成分に対し未来に相当する領域）にのみ‘１’が配置されていることが特徴である。図２Ａの情報部分検査行列１１０において、１つの行に‘１’が配置されている範囲は、（（情報ビットのメモリ長Ｍ１）＋１）に等しくなっている。
【００５４】
また、図２Ｂのパリティ部分検査行列１２０は、対角線上（対角成分）のパリティビットと、過去のパリティビットに相当する左側のパリティビット（対角成分に対し過去に相当する領域）にのみ‘１’が配置されていることが特徴である。図２Ｂのパリティ検査行列１２０において、１つの行に‘１’が配置されている範囲は、（（パリティビットのメモリ長Ｍ２）＋１）に等しくなっている。
【００５５】
なお、図１の検査行列１００は、符号化率Ｒ＝１／２（＝ｂ／ｃ）の場合の構成例であるため、図２Ａの情報部分検査行列において、１つの行に‘１’が配置されている範囲が、（（情報ビットのメモリ長Ｍ１）＋１）に等しくなっている。したがって、符号化率Ｒ＝ｂ／ｃの検査行列では、情報部分検査行列において、１つの行に‘１’が配置されている範囲が、情報ビットのメモリ長Ｍ１をｂ倍した数に等しくなる。同様に、符号化率Ｒ＝ｂ／ｃの検査行列では、パリティ検査行列において、１つの行に‘１’が配置されている範囲は、パリティビットのメモリ長であるＭ２を（ｃ−ｂ）倍した数に等しくなる。
【００５６】
図３に、本実施の形態に係るＬＤＰＣ−ＣＣ符号化器の要部構成の一例を示す。図３に示すように、ＬＤＰＣ−ＣＣ符号化器２００は、シフトレジスタ２１０−（−Ｍ１＋１）〜２１０−（−１），２４０−１〜２４０−Ｍ２、ウェイト乗算器２２０−（−Ｍ１）〜２２０−０，２３０−０〜２３０−Ｍ２、ｍｏｄ２加算器２５０、ビット数カウンタ２６０、ウェイト制御部２７０、及び、保存パリティ制御部２８０を含む構成である。
【００５７】
ビット数カウンタ２６０は、データ入力として符号化器２００に入力された入力ビット数をカウントし、カウントビット数をウェイト制御部２７０及び保存パリティ制御部２８０に出力する。
【００５８】
シフトレジスタ２１０−（−Ｍ１＋１）〜２１０−（−１）及び２４０−１〜２４０−Ｍ２は、それぞれｖ１,ｔ−ｉ（ｉ＝−Ｍ１＋１，…，０），ｖ２,ｔ−ｉ（ｉ＝１，…，Ｍ）を保持する第１及び第２のレジスタ群であり、次の入力が入ってくるタイミングで、保持している値を右隣のシフトレジスタに出力し、左隣のシフトレジスタから出力される値を新たに保持する。なお、シフトレジスタの初期状態はすべて０である。
【００５９】
ウェイト乗算器２２０−（−Ｍ１）〜２２０−０，２３０−０〜２３０−Ｍ２は、ウェイト制御部２７０から出力される制御信号に従って、ｈ１（ｍ1），ｈ２（ｍ2）の値を０／１に切り替える。ウェイト制御部２７０は、内部に保持している検査行列に基づいて、そのタイミングにおけるｈ１（ｍ1），ｈ２（ｍ2）の値をウェイト乗算器２２０−（−Ｍ１）〜２２０−０，２３０−０〜２３０−Ｍ２に出力（供給）する。
【００６０】
ｍｏｄ２加算器２５０は、ウェイト乗算器２２０−（−Ｍ１）〜２２０−０，２３０−０〜２３０−Ｍ２の出力に対しｍｏｄ２加算を行い、ｖ２,ｔを算出する。
【００６１】
保存パリティ制御部２８０は、入力ビット数が１ビット〜Ｍ１ビットのとき（すなわちカウントビット数≦Ｍ１のとき）、ゼロをシフトレジスタ２４０−１及びウェイト乗算部２３０−０に出力する。また、入力ビット数がＭ１＋１ビット以降のとき（すなわちカウントビット数＞Ｍ１のとき）、保存パリティ制御部２８０は、ｖ２,ｔをシフトレジスタ２４０−１及びウェイト乗算部２３０−０に出力する。
【００６２】
符号化器２００におけるデータ入力ｕｔと、符号語出力ｖ1,ｔ，ｖ2,ｔとの入出力タイミングの対応を、図４に示す。図３８の従来のＬＤＰＣ−ＣＣ符号化器１０と異なり、符号化器２００では符号ビットの１ビット目ｖ1,ｔが出力されるのは、情報ビットｕｔの先頭のＭ１ビットがシフトレジスタ２１０−（−Ｍ１＋１）〜２１０−０に保存された後、すなわちＭ１＋１ビット目が入力されたタイミングとなる。
【００６３】
Ｎビットのデータ入力ｕｔを符号化する場合、符号化器２００の入力には情報系列ｕｔの後部にＭ１ビットのオールゼロの系列を付加して入力する。これにより、情報系列ｖ1,-M1+1〜ｖ1,Nおよびパリティ系列ｖ2,-M1+1〜ｖ2,Nが出力される。
【００６４】
このような構成を採ることで、ＬＤＰＣ−ＣＣ符号化器２００は、入力系列と検査行列１００との線形演算を行い、図１の検査行列１００に従ったＬＤＰＣ−ＣＣ符号化を行うことができる。
【００６５】
なお、ウェイト制御部２７０が保持する検査行列の各行の並びが行ごとに異なる場合、ＬＤＰＣ−ＣＣ符号化部２００は、時変畳み込み符号化器となる。
【００６６】
また、情報系列の先頭に出力されるｖ1,-M+1〜ｖ1,0は、シフトレジスタ２１０−（−Ｍ１＋１）〜２１０−０の初期状態、すなわち０であるので、受信装置においても既知とすることができるため、受信装置にｖ1,-M+1〜ｖ1,0を送信する必要がない。また、パリティ系列の先頭に出力されるｖ2,-M+1〜ｖ2,0は、情報系列の先頭ｕ1〜ｕM1によって決定される１／０の系列であるが、保存パリティ制御部２８０から出力される先頭Ｍ１ビットをゼロ系列とすることで、パリティ系列の１ビット目ｖ2,1を出力するタイミングでのシフトレジスタ２４０−１〜２４０−Ｍ２の状態をオールゼロにすることができる。これにより、ＬＤＰＣ−ＣＣ符号化器２００の出力のｖ1,1，ｖ2,1，・・・，ｖ1,N，ｖ2,Nは、ｖ2,-M+1〜ｖ2,0をオールゼロとしたときに、パリティ検査式を満たす符号語となるため、ｖ1,-M+1〜ｖ1,0と同様、受信装置にｖ2,-M+1〜ｖ2,0を送信する必要がない。
【００６７】
また、入力ビットの後部にＭ１ビットのゼロ系列が付加されているため、未来の情報ビットを保持するシフトレジスタ２１０−（−Ｍ１＋１）〜２１０−０の、符号語の最終ビットｖ1,N,ｖ2,Nが出力されたタイミングにおける状態（最終状態）はオールゼロとなる。さらに、過去のパリティビットを保持するシフトレジスタ２４０−１〜２４０−Ｍ２の最終状態は、それまでに出力されたパリティビットｖ2,N〜ｖ2,N-M2+1の値と等しい。よって、パリティビットｖ2,N〜ｖ2,N-M2+1を送信装置から受信装置に送信することにより、ＬＤＰＣ−ＣＣ符号化器２００の最終状態を受信装置に通知することができる。
【００６８】
以上より、送信装置からは、ＬＤＰＣ−ＣＣ符号化器２００の出力のうち、情報系列ｖ1,1〜ｖ1,N及びパリティ系列ｖ2,1〜ｖ2,Nを受信装置に送信すればよい。
【００６９】
なお、シフトレジスタの初期状態および入力ビットの後部に付加するＭ１ビットの系列はオールゼロに限られず、受信装置において既知の系列であれば任意のどのような系列でも構わない。
【００７０】
次に、図１に示した本実施の形態のＬＤＰＣ−ＣＣ検査行列１００の列重みに着目する。図３９に示した従来のＬＤＰＣ−ＣＣ検査行列２０では、系列後部の２×Ｍ列のうち多数の列重みが１となり、テイルビットを付加しない場合に誤り率特性が劣化する原因となっていた。一方、本実施の形態の検査行列１００では、系列後部の２×Ｍ１列において情報ビットｖ1,tの列重みが３（ｔ：奇数）又は５（ｔ：偶数）となっており、列重みが１の情報ビットが存在しない。
【００７１】
このように、本実施の形態のＬＤＰＣ−ＣＣ検査行列では、未来の情報ビットに対応する領域、つまり、未来の情報系列において、‘０’を‘１’に置き換えることにより、情報系列後部Ｍ１ビットの列重みを、検査行列の中央付近の列重みと同程度になるようにすることができる。この結果、当該ＬＤＰＣ−ＣＣ検査行列を用いて、受信装置でSum-Product復号を行うことにより、符号語系列の後部のビットについて良好な復号性能を得ることができる。すなわち、情報系列の後部に本来送信したいデータビットを割り当てる場合においても、良好な復号特性を得ることができるので、ターミネーション系列を削減することができる。
【００７２】
一方で、図１の検査行列１００では、情報系列前部の列重みが小さくなっている。例えば、ｖ1,1及びｖ1,2の列重みが１となっている。これは、現在及び未来の情報系列にのみ、‘０’を‘１’に置き換えるようにした影響である。
【００７３】
このように、従来のＬＤＰＣ−ＣＣ検査行列２０では、検査行列２０の後部で情報ビット／パリティビットの双方について列重みが小さくなったのに対し、本実施の形態に係る検査行列１００では、検査行列１００の前部で情報ビットの列重みのみが小さくなっている。よって、本実施の形態の検査行列では、受信装置においてSum-Product復号を行うことにより、パリティビットからの確率伝搬が得られるので、列重みが小さくなる系列の前部においても従来の検査行列における系列の後部と比較すると誤り率が低減されることになる。
【００７４】
なお、本実施の形態では、説明を簡易にするため、時変周期２の時変ＬＤＰＣ−ＣＣを例に説明したが、時変周期は２に限られず、本発明は、任意の周期ω（ωは１以上の整数）の時変ＬＤＰＣ−ＣＣにおいても、同様に適用可能である。
【００７５】
（検査行列の別の構成例）
本実施の形態における情報系列前部の誤り率をさらに低減するには、情報系列前部の列重みを大きくするために、系列の先頭にヘッダ系列を付加してやると良い。系列の先頭にヘッダ系列を付加する、本実施の形態の別のＬＤＰＣ−ＣＣ検査行列を図５に示す。
【００７６】
図５の検査行列５００は、構成するパリティ検査式が検査行列１００と同様、時刻ｔが奇数のとき式（８）により表され、ｔが偶数のとき式（９）により表される、周期２の時変ＬＤＰＣ−ＣＣ検査行列となっている。ただし、検査行列５００で定義される符号には、先頭に２×Ｌ１ビット（Ｌ１≦Ｍ１）のヘッダ系列が付加されている。Ｌ１は、ヘッダ系列の系列長である。
【００７７】
検査行列５００で定義されるＬＤＰＣ−ＣＣは、ＬＤＰＣ−ＣＣ符号化器２００における保存パリティ制御部２８０の動作を変更することで得られる。ＬＤＰＣ−ＣＣ符号化器２００の保存パリティ制御部２８０は、入力ビット数が１ビット〜（Ｍ１−Ｌ１）ビットのとき（すなわちカウントビット数≦（Ｍ１−Ｌ１）のとき）、ゼロをシフトレジスタ２４０−１及びウェイト乗算部２３０−０に出力する。また、入力ビット数が（Ｍ１−Ｌ１＋１）ビット以降のとき（すなわちカウントビット数＞（Ｍ１−Ｌ１）のとき）、保存パリティ制御部２８０は、ｖ２,ｔをシフトレジスタ２４０−１及びウェイト乗算部２３０−０に出力する。
【００７８】
検査行列５００で定義されるＬＤＰＣ−ＣＣ符号化を行う際の、符号化器２００におけるデータ入力ｕｔと、符号語出力ｖ1,ｔ，ｖ2,ｔとの入出力タイミングの対応を、図６に示す。保存パリティ制御部２８０の出力の先頭（Ｍ１−Ｌ１）ビットをゼロ系列とすることで、符号語出力ｖ２,-L1+1を算出する時点での全シフトレジスタの状態（初期状態）をオールゼロにすることができる。これにより、符号語出力ｖ1,-L1+1，ｖ2,-L1+1，・・・，ｖ1,N，ｖ2,Nが検査行列５００によるパリティ検査式を満たすようになる。
【００７９】
符号語出力のうち、ｖ1,-L1+1〜ｖ1,0は、シフトレジスタ２１０−（−Ｌ１＋１）〜２１０−０の初期値（ゼロ系列）であるので、受信装置において既知とすることができ、送信する必要がない。したがって、符号語出力のうち、情報系列ｖ1,1〜ｖ1,N、及び、パリティ系列ｖ2,-L1+1〜ｖ2,0,ｖ2,1〜ｖ2,Nを受信装置に送信すればよい。このうち、パリティ系列ｖ2,-L1+1〜ｖ2,0は、検査行列前部の情報ビットの列重みを大きくするために付加するヘッダ系列である。
【００８０】
次に、ヘッダ系列の系列長Ｌ１（Ｌ１≦Ｍ１）の設計方法について述べる。Ｌ１＝Ｍ１とすると誤り率を最も低くすることができる。しかし、ヘッダ系列は、ターミネーション系列と同様に、情報の伝送には直接寄与しない冗長な系列であるので、できるだけ短くすることが望ましい。その一方で、ヘッダ系列を短くすると、伝送したい情報ビットの先頭付近に対応する検査行列の列重みが小さくなってしまい、系列前部での誤り率が増加してしまう。
【００８１】
しかし、前述のように、本実施の形態に係る検査行列１００の前部で列重みが小さくなるのは情報ビットだけであり、パリティビットについては十分な列重みが確保されている。したがって、情報ビットの列重みとして２〜３以上の重みが確保できさえすれば、符号化ゲインによって十分に誤り率の低い復号が可能となる。この点が、情報ビット／パリティビットともに列重みが小さくなる従来のＬＤＰＣ−ＣＣの系列後部と、本実施の形態のＬＤＰＣ−ＣＣの系列前部との異なる点である。
【００８２】
そこで、ヘッダ系列長Ｌ１を、伝送しようとする情報ビット（時刻ｔ∈［１，Ｎ］の範囲）に対応する列重みが少なくとも２又は３となる最小の長さに設定すると良い。
【００８３】
例えば、図５の検査行列５００では、ヘッダ系列長Ｌ１＝４とすることで、時刻ｔ∈［１，Ｎ］の範囲の情報ビットの列重みが３以上となるようにしている。これにより、情報ビットの前部を含めた、全ての情報ビットについて所望の誤り率特性が達成できるようになる。すなわち、メモリ長（検査行列５００ではメモリ長Ｍ１＝９）と同じ長さのターミネーション系列を付加する場合と比べて、ヘッダ系列によるオーバーヘッドを約半分に抑えることができる。
【００８４】
本実施の形態では、説明を簡易にするために、メモリ長が短いＬＤＰＣ−ＣＣを用いて説明したが、一般には、メモリ長が長いほどより優れた誤り率特性が得られるため、メモリ長にはある程度の長さが用いられる。メモリ長が５００や１２００の場合のように、メモリ長が長いＬＤＰＣ−ＣＣを用いる際には、本発明による伝送効率の向上の効果は極めて大きい。
【００８５】
以上のように、本実施の形態によれば、検査行列の対角成分に対し未来に相当する領域に‘１’が存在する検査行列を用いて、符号化を行うようにした。このようにすることで、情報系列後部Ｍ１ビットの列重みを、検査行列の中央付近の列重みと同程度にすることができるため、符号語系列の後部をターミネーション系列としなくとも良好な復号性能を得ることができる。このため、ターミネーション系列を削減できる。
【００８６】
本実施の形態において系列前部の誤り率を系列の他の部分とほぼ同等にするには、ヘッダ系列を先頭に付加する必要があるものの、ヘッダ系列によるオーバーヘッドは、ターミネーション系列を付加する場合よりも小さくて済むため、伝送効率の低下を抑圧することができる。
【００８７】
（実施の形態２）
実施の形態１では、ＬＤＰＣ−ＣＣにおけるターミネーション系列の量を削減するために、ＬＤＰＣ−ＣＣ検査行列のうち、情報ビットに対応する列要素について、当該検査行列の対角成分に対し未来に相当する領域、つまり、未来の情報系列にのみ、‘０’を‘１’に置き換える構成について説明した。
【００８８】
実施の形態１では、検査行列の対角成分に対し、未来に相当する領域の情報ビットに対応する列要素において、‘０’を‘１’に置き換えることによって、検査行列の情報系列後部に相当する列要素の列重みを大きくし、ターミネーション系列を削減することができた。しかしその一方で、実施の形態１では、検査行列の情報系列前部に相当する列要素の列重みが小さくなり、ヘッダ系列を用いる構成となる。
【００８９】
そこで、情報ビットに対して、‘０’を‘１’に置き換える位置を、検査行列の前部では検査行列の対角成分に対して過去に相当する領域のみとし、また検査行列の後部では、検査行列の対角成分に対して未来に相当する領域のみとするようにし、検査行列の前部と後部とで、用いるパリティ検査式の種類を切り替える。このようにすることで、ターミネーション系列とヘッダ系列との双方を削減することができる。
【００９０】
すなわち、検査行列の１〜Ｔ１行目（Ｔ１：１≦Ｔ１≦Ｎ）の行（ｃ１〜ｃＴ１）では、検査行列の対角成分に対して、過去に相当する領域にのみに、‘０’を‘１’に置き換える。また、検査行列のＴ１＋１〜Ｎ行目の行（ｃ１〜ｃＴ１）では、検査行列の対角成分に対して未来に相当する領域の情報ビットにも、‘０’を‘１’に置き換えるようにする。さらに、検査行列のうち、情報系列の後部Ｍ１ビットに相当する列の列重みが、２以上になるようにする。これにより、ターミネーション系列とヘッダ系列との双方を削減することができる。なお、ターミネーション系列及びヘッダ系列を０とするためには、Ｍ１≦Ｔ１≦Ｎ−Ｍ１として、情報系列の前部Ｍ１ビット及び後部Ｍ１ビットの双方において、２以上の列重みを確保する必要がある。
【００９１】
Ｔ１は、Ｍ１≦Ｔ１≦Ｎ−Ｍ１の任意の値でよく、時刻Ｔ１を境として検査行列の構成が切り替えられることとなる。よって、受信装置において、時刻Ｔ１を境として検査行列の構成を切り替えて復号処理を行うために、時刻Ｔ１を送信装置から受信装置に通知する必要がある。
【００９２】
このとき、時刻Ｔ１を符号語系列の先頭から一定の差Ｋ０をとった時刻（Ｔ１＝Ｋ０）に設定するか、符号語系列の後端から一定の差（Ｋ１−１）をとった時刻（Ｔ１＝Ｎ−Ｋ１−１）として、Ｋ０又はＫ１を予め符号化器と復号器とで一意の値として取り決めておけば、ＮによらずＴ１を送信装置から受信装置へと通知する必要が無くなる。なお、Ｔ１＝Ｎ−Ｋ１とする場合は受信装置がＮを取得する必要があるが、通常のＬＤＰＣ−ＣＣの復号を行う際にも、復号を終了する時刻を取得するために送信装置から受信装置へと符号長２Ｎまたは情報系列長Ｎを通知する必要があるため、新たなオーバーヘッドの増加とはならない。
【００９３】
そこで、本実施の形態では、ＬＤＰＣ−ＣＣにおけるターミネーション系列の量を削減するために、ＬＤＰＣ−ＣＣ検査行列のうち、後部Ｋ１ビット（Ｋ１≧Ｍ１）の情報ビットに対応する列要素のみに限って、当該検査行列の対角成分に対し未来に相当する領域において、‘０’を‘１’に置き換える構成について説明する。
【００９４】
具体的には、未来の時点ｔ−ｍ１（−Ｍ１≦ｍ１≦Ｍ１，Ｍ１：情報ビットのメモリ長）及び現在の時点ｔの入力情報ビットと、過去の時点ｔ−ｍ２（１≦ｍ２≦Ｍ２，Ｍ２：パリティビットのメモリ長）のパリティビットと、の一部の値をｍｏｄ２加算することで、現在の時点ｔのパリティビットを算出することを特徴とするＬＤＰＣ−ＣＣ符号化器について説明する。
【００９５】
図７に、本実施の形態に係るＬＤＰＣ−ＣＣ検査行列の一例を示す。図７の検査行列７００は、符号化率Ｒ＝１／２、過去及び未来の情報ビットのメモリ長Ｍ１＝９、過去のパリティビットのメモリ長Ｍ２＝９の時変ＬＤＰＣ−ＣＣを定義する検査行列である。各行のパリティ検査式に着目すると、ｃ１〜ｃＮ−K１-１は２種類の検査式が交互に現れる周期２の時変ＬＤＰＣ−ＣＣとなっている。また、下部の（Ｋ１＋１）行に相当するｃＮ−Ｋ１〜ｃＮは、ＬＤＰＣ−ＣＣ検査行列の対角成分に対し未来の領域（インデックス）の情報ビットに‘１’を立てた時変ＬＤＰＣ−ＣＣとなっている。つまり、時刻Ｔ１＝Ｎ−Ｋ１−１のタイミングで、検査行列の構成が切り替えられる。
【００９６】
実施の形態１の検査行列では、情報ビットに対応する系列（情報系列）の先頭から最後部までの全ての列に関して、当該検査行列の対角成分に対し未来の領域にのみ、‘０’を‘１’に置き換えるようにした。これに対し、本実施の形態の検査行列では、情報系列の後部Ｋ１ビット（Ｋ１≧Ｍ１）に限って、当該検査行列の対角成分に対し未来の情報ビットの領域において、‘０’を‘１’に置き換えることを特徴とする。
【００９７】
さらに、また、本実施の形態の検査行列では、検査行列の行のうち、下部の（Ｋ１＋１）行に限って、当該検査行列の対角成分に対し未来の情報ビットの領域に‘１’を立てており、上部の（Ｎ−Ｋ１−１）行については当該検査行列の対角成分に対し未来の領域に‘１’を立てていないことを特徴とする。
【００９８】
すなわち本実施の形態のＬＤＰＣ−ＣＣ符号化器は、現在および過去の時点ｔ−ｍ１（０≦ｍ１≦Ｍ１，Ｍ１：情報ビットのメモリ長）の入力情報ビットと、過去の時点ｔ−ｍ２（１≦ｍ２≦Ｍ２，Ｍ２：パリティビットのメモリ長）のパリティビットの値と、の一部の値をｍｏｄ２加算することで、現在の時点ｔのパリティビットを算出する第１の機能と、入力ビットの現在及び過去・未来の時点ｔ−ｍ１（−Ｍ１≦ｍ１≦Ｍ１，Ｍ１：情報ビットのメモリ長）の入力情報ビットと、過去の時点ｔ−ｍ２（１≦ｍ２≦Ｍ２，Ｍ２：パリティビットのメモリ長）の値と、の一部の値をｍｏｄ２加算することで、現在の時点ｔのパリティビットを算出する第２の機能とを含む構成である。そして、時刻Ｎ−Ｋ１において、前記第１の機能と第２の機能とを切り替えることを特徴とする。
【００９９】
本実施の形態の送信符号ビットｖ1,t，ｖ2,tは、それぞれ式（１０）、式（１１）で表される。ただし、ｖ1,tは情報ビット、ｖ2,tはパリティビットである。
【数１０】
2009201084.tif 000012
【数１１】
2009201084.tif 000013
【０１００】
式（１１）に示されるように、本実施の形態のＬＤＰＣ−ＣＣは、時刻ｔ＜Ｎ−Ｋ１のとき未来の時点の情報ビットを用いずにパリティビットを算出し、時刻ｔ≧Ｎ−Ｋ１のとき、未来の時点の情報ビットを用いてパリティビットを算出する。
【０１０１】
各行のパリティ検査式の多項式表現は、時刻ｔ＜Ｎ−Ｋ１のとき、式（１２）で表される。
【数１２】
2009201084.tif 000014
ただし、ＧD1(t),ＧP(t)は、ｔが奇数のとき式（１３）により表され、ｔが偶数のとき式（１４）により表される。
【数１３】
2009201084.tif 000015
【数１４】
2009201084.tif 000016
【０１０２】
また、各行のパリティ検査式の多項式表現は、時刻ｔ≧Ｎ−Ｋ１のとき、式（１５）で表される。
【数１５】
2009201084.tif 000017
ただし、ＧD2(t)は、式（１６）により表される。
【数１６】
2009201084.tif 000018
【０１０３】
式（１２）〜式（１６）に示したように、時刻ｔ＜Ｎ−Ｋ１では、未来を示す項、すなわちＤ-α（α：自然数）の項は検査多項式に含まれておらず、時刻ｔ≧Ｎ−Ｋ１では、未来を示すＤ-αの項が検査多項式に含まれてことが、本実施の形態の特徴となっている。
【０１０４】
検査行列７００の、情報系列後部Ｍ１ビットの情報ビット（時刻ｔ∈［Ｎ−Ｍ１＋１，Ｎ］の範囲）の列重みに注目する。本実施の形態の検査行列では、時刻ｔ∈［Ｎ−Ｍ１＋１，Ｎ］の範囲の情報ビットに相当する列のうち、未来の領域（インデックス）において、‘０’を‘１’に置き換えることによって、情報系列後部Ｍ１ビットの列重みを全ての列において３以上にすることができている。
【０１０５】
Sum-Product復号の反復において、ビット間で信頼度を伝搬させ、符号化ゲインを得るためには、列重みが２以上となっていることが必須条件である。列重みが２以上ということは、すなわち、そのビットを拘束するパリティ検査多項式が２つ以上存在するということを示す。なお、高い符号化ゲインを得るためには列重みが平均３以上であることが望ましい。本実施の形態の検査行列７００では、列重みを３以上にすることができているため、系列後部Ｍ１ビットの情報ビットにおいても、信頼度を十分に伝搬させることができる。
【０１０６】
また、検査行列７００の行重みに注目する。行重みとは、検査行列の各行において、１が配置されている数のことを示す。行重みは１０以下のときに良好な復号特性が得られ、行重みが１０を超えて大きくなると復号特性が劣化することが確認されている。そこで、検査行列７００では、行重みの最大数が１０となるように構成されている。
【０１０７】
以上のように、本実施の形態の検査行列７００では、行重みの最大数を１０とし、かつ、情報ビットの列重みを全て２以上にすることによって、情報系列後部Ｍ１ビットについても良好な復号特性を得られるようにしている。これにより、情報系列後部をターミネーション系列等の既知系列とせず、データの伝送に用いることができるので、ターミネーション系列を削減できる。
【０１０８】
なお、本実施の形態の検査行列７００では、未来の領域において、‘０’を‘１’に置き換える範囲を、検査行列の下部Ｋ１＋１行、後部（右部）２×Ｋ１列の、検査行列右下の領域に限定したことによって、検査行列の先頭付近（左上）の領域については、従来の検査行列２０と同様の構成となっている。
【０１０９】
すなわち、符号語系列の先頭付近については従来構成どおりに十分な列重みが確保されている。例えばｖ1,1，ｖ2,1，ｖ1,2，ｖ2,2 は、列重みがそれぞれ３，２，５，４と２以上になっており、これら列重みは、系列の中央付近と変わらない。したがって、実施の形態１のようにヘッダ系列を付加せずとも、所望の誤り率特性を達成することができる。因みに検査行列７００は周期２の時変ＬＤＰＣ−ＣＣであるため、情報ビット、パリティビットそれぞれの列重みも周期２で変化する。よって、情報ビット、パリティビットをあわせると、周期４の３，２，５，４の列重みのパターンを繰り返している。
【０１１０】
また、系列の先頭に関連する行重みに着目すると、例えば、ｖ1,1，ｖ2,1に‘１’が配置されている行Ｃ１の列重みが２になっているなど、先頭付近のビットは行重みが小さい行（すなわち、項の数が少ない多項式）による確率伝搬が得られるようになっている。これは、検査行列の上部の行では未来に相当する領域に‘１’を立てないようにしたことによる効果である。このように行重みが小さく、かつ列重みが大きいという条件が成り立つ系列の先頭付近については、Sum-Product復号における収束特性が改善し、特に優れた誤り率特性を達成することができる。そして、符号語系列の先頭付近で得られた高い信頼度の信頼度情報が、系列の後方へと伝搬していくことによって、符号語系列全体について優れた誤り率特性が得られるようになる。
【０１１１】
図８に、本実施の形態に係るＬＤＰＣ−ＣＣ符号化器の要部構成の一例を示す。図８に示すように、ＬＤＰＣ−ＣＣ符号化器８００は、シフトレジスタ８１０−（−Ｍ１＋１）〜８１０−Ｍ１，８４０−１〜８４０−Ｍ２、ウェイト乗算器８２０−（−Ｍ１）〜８２０−Ｍ１，８３０−０〜８３０−Ｍ２、ｍｏｄ２加算器８５０、ビット数カウンタ８６０、ウェイト制御部８７０、保存パリティ制御部８８０を含む構成である。
【０１１２】
ビット数カウンタ８６０は、データ入力として符号化器８００に入力された入力ビット数をカウントし、カウントビット数をウェイト制御部８７０及び保存パリティ制御部８８０に出力する。
【０１１３】
シフトレジスタ８１０−（−Ｍ１＋１）〜８１０−Ｍ１及び８４０−１〜８４０−Ｍ２は、それぞれｖ１,ｔ−ｉ（ｉ＝−Ｍ１＋１，…，０，…，Ｍ１），ｖ２,ｔ−ｉ（ｉ＝１，…，Ｍ）を保持するレジスタであり、次の入力が入ってくるタイミングで、保持している値を右隣のシフトレジスタに出力し、左隣のシフトレジスタから出力される値を新たに保持する。なお、シフトレジスタの初期状態はすべて０である。
【０１１４】
ウェイト乗算器８２０−（−Ｍ１）〜８２０−Ｍ１，８３０−０〜８３０−Ｍ２は、ウェイト制御部８７０から出力される制御信号に従って、ｈ１（ｍ1），ｈ２（ｍ2）の値を０／１に切り替える。ウェイト制御部８７０は、内部に保持している検査行列に基づいて、そのタイミングにおけるｈ１（ｍ1），ｈ２（ｍ2）の値をウェイト乗算器８２０−（−Ｍ１）〜８２０−Ｍ１，８３０−０〜８３０−Ｍ２に出力する。
【０１１５】
ここで、ウェイト制御部８７０は、時刻ｔ∈［１，Ｎ−Ｋ１−１］のパリティビットの符号化に用いる検査行列（第１のウェイトパターン）と、時刻ｔ∈［Ｎ−Ｋ１，Ｎ］のパリティビットの符号化に用いる検査行列（第２のウェイトパターン）とを保持しており、ビット数カウンタ８６０からのカウントビット数及び情報系列長Ｎに従って、検査行列を切り替えて用いることが、本実施の形態の特徴である。
【０１１６】
具体的には、ウェイト制御部８７０は、入力ビットが情報系列の１ビット目からＮ＋Ｍ１−Ｋ１−１ビット目までの場合（すなわちカウントビット数≦Ｎ＋Ｍ１−Ｋ１−１の場合）、第１のウェイトパターンを用いる。また、ウェイト制御部８７０は、入力ビットが情報系列のＮ＋Ｍ１−Ｋ１ビット目から最終ビットまでの場合（すなわちカウントビット数≧Ｎ＋Ｍ１−Ｋ１の場合）、第２のウェイトパターンを用いる。これは、パリティ出力ｖ2,ｔの算出に関して、ｔ≦Ｎ−Ｍ１−１のとき第１のウェイトパターンを用い、Ｎ−Ｍ１≦ｔのとき第２のウェイトパターンを用いることに相当する。
【０１１７】
第１のウェイトパターンは、ＬＤＰＣ−ＣＣ検査行列に準じたパターンであり、第２のウェイトパターンは、当該ＬＤＰＣ−ＣＣ検査行列の対角成分に対し未来の情報系列に‘１’が加えられた検査行列に準じたパターンである。
【０１１８】
図７において、第１のウェイトパターンは、パリティ検査式ｃ1〜ｃN-K1-1に対応するパターンであり、第２のウェイトパターンは、パリティ検査式ｃN-K1〜ｃNに対応するパターンである。
【０１１９】
ｍｏｄ２加算器８５０は、ウェイト乗算器８２０−（−Ｍ１）〜８２０−Ｍ１，８３０−０〜８３０−Ｍ２の出力に対しｍｏｄ２加算を行い、ｖ２,ｔを算出する。
【０１２０】
保存パリティ制御部８８０は、入力ビット数が１ビット〜Ｍ１ビットのとき（すなわちカウントビット数≦Ｍ１のとき）、ゼロをシフトレジスタ８４０−１及びウェイト乗算部８３０−０に出力する。また、入力ビット数がＭ１＋１ビット以降のとき（すなわちカウントビット数＞Ｍ１のとき）、ｖ２,ｔをシフトレジスタ８４０−１及びウェイト乗算部８３０−０に出力する。
【０１２１】
符号化器８００におけるデータ入力ｕｔと、符号語出力ｖ1,ｔ，ｖ2,ｔとの入出力タイミングの対応を、図９に示す。符号化器８００では符号ビットの１ビット目ｖ1,ｔが出力されるのは、情報ビットｕｔの先頭のＭ１ビットがシフトレジスタ８１０−（−Ｍ１＋１）〜８１０−０に保存された後、すなわち（Ｍ１＋１）ビット目が入力されたタイミングとなる。
【０１２２】
Ｎビットのデータ入力ｕｔを符号化する場合、符号化器８００の入力には情報系列ｕｔの後部にＭ１ビットのオールゼロの系列を付加して入力する。これにより、情報系列ｖ1,-M1+1〜ｖ1,Nおよびパリティ系列ｖ2,-M1+1〜ｖ2,Nが出力される。
【０１２３】
このような構成を採ることで、ＬＤＰＣ−ＣＣ符号化器８００は、入力系列と検査行列７００との線形演算を行い、検査行列７００に従ったＬＤＰＣ−ＣＣ符号化を行うことができる。
【０１２４】
実施の形態１と同様に、情報系列の先頭に出力されるｖ1,-M1+1〜ｖ1,0は全ゼロの系列であり、また、符号語出力ｖ1,1，ｖ2,1，・・・，ｖ1,N,ｖ2,Nは、ｖ2,-M1+1〜ｖ2,0が全ゼロとしたときにパリティ検査式を満たす符号語となっている。よって、送信装置から受信装置へは、合計２Ｎビットの符号語ｖ1,1，ｖ2,1，・・・，ｖ1,N,ｖ2,Nのみを送信すれば良く、ターミネーション系列やヘッダ系列を付加する必要がない。
【０１２５】
（別の符号化率の例）
以上、符号化率Ｒ＝１／２の組織符号を例に説明した。なお、符号化率はＲ＝１／２に限られず、本発明は、異なる符号化率に対しても適用可能である。また、組織符号に限られず、非組織符号においても、本発明を適用することができる。
【０１２６】
例えば、符号化率Ｒ＝１／３の組織符号の場合には、送信符号ビットｖ1,t，ｖ2A,t，ｖ2B,tは、それぞれ式（１７）、式（１８）、式（１９）により表される。ただし、ｖ1,tは情報ビット、ｖ2A,t及びｖ2B,tは第１及び第２のパリティビットである。
【数１７】
2009201084.tif 000019
【数１８】
2009201084.tif 000020
【数１９】
2009201084.tif 000021
【０１２７】
ここで、ｈ1A(m)（ｔ），ｈ2AA(m)（ｔ），ｈ2AB(m)（ｔ）は、検査行列のうち第１のパリティビットに対応する行の要素の値（１／０）であり、ｈ1B(m)（ｔ），ｈ2BA(m)（ｔ），ｈ2BB(m)（ｔ）は検査行列のうち第２のパリティビットに対応する行の要素の値（１／０）である。
【０１２８】
式（１８）、式（１９）に示されるように、本実施の形態に係るＬＤＰＣ−ＣＣは、時刻ｔ＜Ｎ−Ｋ１のとき未来の時点の情報ビットを用いずに第１及び第２のパリティビットを算出し、時刻ｔ≧Ｎ−Ｋ１のとき、未来の時点の情報ビットを用いて第１及び第２のパリティビットを算出する。
【０１２９】
時刻ｔ≧Ｎ−Ｋ１のとき、未来の時点の情報ビットを用いて第１及び第２のパリティビットを算出するといことは、換言すると、検査行列の対角成分に対して未来の領域の情報ビットに対応する列の‘０’を‘１’に置き換えることに相当する。そして、検査行列のうち情報系列後部Ｍ１ビットに相当する列の列重みが全て２以上になるように、‘０’を‘１’に置き換えることで、情報系列後部Ｍ１ビットについても良好な復号特性が得られるようになり、ターミネーション系列を削減することができる。以上、符号化率Ｒ＝１／３の場合について説明したが、任意の符号化率に対しても同様に適用することができる。
【０１３０】
なお、以上では、１ビットの入力情報ビットに対して３ビットの符号ビットｖ1,t，ｖ2A,t，ｖ2B,tが得られるＲ＝１／３の組織符号の場合について説明した。このとき、出力符号ビットのうち情報ビットに相当するｖ1,tを、符号化器から出力しないようにすると、１ビットの入力情報ビットに対して２ビットの符号ビットｖ2A,t，ｖ2B,tを得るＲ＝１／２の非組織符号とみなすことができる。
【０１３１】
この場合には、復号側では、符号化側で用いられたＲ＝１／３の組織符号の検査行列を用い、符号語のうち情報ビットｖ1,tが消去（パンクチャ）されたものとして、復号処理を行えばよい。すなわち、０（ゼロ）系列を情報ビットに相当するＬＬＲ（Log Likelihood Ratio:対数尤度比）とし、０系列と、パリティビット系列を受信して得られたＬＬＲ系列とを、Sum-Product復号の入力とすれば情報ビットを含めた符号語の復号が可能である。このように、本実施の形態は、任意の符号化率の組織符号及び非組織符号において適用することができる。
【０１３２】
以上のように、本実施の形態によれば、情報系列後部の情報ビットに相当するＫ１個の列については、検査行列の対角成分に対し未来に相当する領域に‘１’を追加した検査行列を用いて、符号化するようにした。
【０１３３】
このようにすることで、情報系列後部Ｍ１ビットの列重みを系列中央部の列重みと同等にすることができるため、情報系列後部Ｍ１ビットについてSum-Product復号により良好な復号特性が得られる。さらに、情報系列先頭部Ｍ１ビットの列重みについてもまた、系列中央部の列重みと同等にすることができるため、実施の形態１のようにヘッダ系列を付加せずとも、良好な復号特性が得られる。すなわち、本実施の形態のＬＤＰＣ−ＣＣ検査行列によれば、ヘッダ系列とターミネーション系列とがいずれも不要となり、実施の形態１に比べ、伝送効率をさらに向上させることができる。
【０１３４】
しかも本実施の形態では、検査行列上部の（Ｎ−Ｋ１−１）行については当該検査行列の対角成分に対し未来の領域に‘１’を立てていないことによって、符号語系列の先頭付近について特に良好な復号特性を確保する。また、Sum-Product復号の反復において、系列の先頭付近で得られた高い信頼度の高い信頼性情報が、系列後方へと伝搬してゆくことによって、少ない反復回数で系列全体について良好な復号特性を達成することができる。
【０１３５】
（実施の形態３）
実施の形態２では、ＬＤＰＣ−ＣＣ検査行列のうち、後部Ｋ１（Ｋ１≧Ｍ１）ビットの情報ビットに対応する列要素のみに限って、当該検査行列の対角成分に対し未来に相当する領域において、‘０’を‘１’に置き換えることを特徴とするＬＤＰＣ−ＣＣについて説明を行った。
【０１３６】
本実施の形態では、ＬＤＰＣ−ＣＣ検査行列のうち、特に後部Ｍ１ビットの情報ビットに対応する列要素のみに限って、当該検査行列の対角成分に対し未来に相当する領域において、‘０’を‘１’に置き換えることを特徴とするＬＤＰＣ−ＣＣについて説明を行う。
【０１３７】
図１０に、本実施の形態に係るＬＤＰＣ−ＣＣ検査行列の一例を示す。図１０の検査行列１０００は、符号化率Ｒ＝１／２、過去及び未来の情報ビットのメモリ長Ｍ１＝９、過去のパリティビットのメモリ長Ｍ２＝９の時変ＬＤＰＣ−ＣＣを定義する検査行列である。各行のパリティ検査式に着目すると、ｃ１〜ｃＮ−Ｍ１-１は２種類の検査式が交互に現れる周期２の時変ＬＤＰＣ−ＣＣとなっている。また、最後部の（Ｍ１＋１）行に相当するｃＮ−Ｍ１〜ｃＮは周期２の時変ＬＤＰＣ−ＣＣを変形し、ＬＤＰＣ−ＣＣ検査行列の対角成分に対し未来の領域（インデックス）の情報ビットに‘１’を追加した形となっている。
【０１３８】
本実施の形態に係る検査行列の設計方法、つまり、‘０’を‘１’に置き換える位置について、図１１及び図１２を用いて詳細に説明する。図１１の検査行列１１００は、従来の周期２の時変ＬＤＰＣ−ＣＣ検査行列である。また、図１２の検査行列１２００は、検査行列１１００を元に作成した本実施の形態の検査行列の例である。なお、図１１のＬＤＰＣ−ＣＣ検査行列１１００は、図３９に示したＬＤＰＣ−ＣＣ検査行列２０と同一である。
【０１３９】
検査行列１１００のうち、組織符号系列のうち、情報系列の後部Ｍ１ビット（時刻ｔ∈［Ｎ−Ｍ１＋１，Ｎ］の範囲）に着目する。検査行列１１００で定義されるＬＤＰＣ−ＣＣにおいて、仮にターミネーション系列を付加しないとすると、ｃ１〜ｃＮのパリティ検査式のみが成立し、ｃN+1〜ｃＮ+Mのパリティ検査式は存在しないことになる。すなわち、組織符号系列のうち、情報系列の後部Ｍ１ビットの列重みが、系列の他の部分と比較して、検査行列１１００の上三角形の領域１１１０内の列重みの数だけ小さくなる。そこで、領域１１１０から情報ビットに対応する‘１’だけを抜き出し、情報系列後部Ｍ１ビットの対角成分に対し未来に相当する領域に追加する。このようにして設計された行列が、図１２の検査行列１２００である。検査行列１２００の上三角形の領域１２１０には、検査行列１１００の領域１１１０から情報ビットの‘１’だけが抜き出されて追加されている。
【０１４０】
このようにすることで、検査行列１２００では、情報系列後部Ｍ１ビットについて、情報系列の前部と同等の列重みを確保することができる。
【０１４１】
一方、検査行列１１００に対して上三角の領域１２１０に‘１’を追加した検査行列１２００では、領域１２１０に含まれる‘１’の数だけ行重みが増加してしまう。しかし、領域１２１０の各行に含まれる‘１’の数は、最大でも元の検査行列１１００における情報ビットの行重みよりも１つ小さい数である。すなわち、本実施の形態に係る検査行列１２００では、行重みの最大値を７＋（４−１）＝１０に抑えることができるので、行重みの増加による復号特性の劣化を抑えることができる。
【０１４２】
以上のように、本実施の形態によれば、情報系列後部の情報ビットに相当するＭ１個の列については、検査行列の対角成分に対し未来に相当する領域に‘１’を追加した検査行列を用いて、符号化するようにした。
【０１４３】
このようにすることで、情報系列後部Ｍ１ビットの情報ビット（時刻ｔ∈［Ｎ−Ｍ１＋１，Ｎ］の範囲）の列重みが、１とならないようにすることができる。つまり、情報系列後部Ｍ１列の列重みを２以上にすることができる。さらに、実施の形態１の検査行列と異なり、情報系列の先頭Ｍ１ビットについても常に１以上の列重みが確保できる。例えば、検査行列１０００では、情報系列の先頭から最後まで（時刻ｔ∈［１，Ｎ］の範囲）すべての情報ビットについて、列重みが３（ｔ：奇数）または５（ｔ：偶数）となっている。
【０１４４】
また、本実施の形態によれば、情報系列後部Ｍ１ビットの列重みを系列中央部の列重みと同等にすることができるため、情報系列後部Ｍ１ビットについてSum-Product復号により良好な復号特性が得られる。さらに、情報系列先頭部Ｍ１ビットの列重みについてもまた、系列中央部の列重みと同等にすることができるため、実施の形態１のようにヘッダ系列を付加せずとも、良好な復号特性が得られる。すなわち、本実施の形態のＬＤＰＣ−ＣＣ検査行列によれば、実施の形態２と同様、ヘッダ系列とターミネーション系列がいずれも不要となり、伝送効率を向上することができる。
【０１４５】
加えて、本実施の形態に係るＬＤＰＣ−ＣＣ検査行列では、‘１’を追加したことによる行重みの増加数を最大でも元の検査行列の情報ビットの列重みから１を引いた数に抑えることができるので、行重みの増加による復号特性の劣化を抑えることができる。
【０１４６】
なお、以上の説明では、符号化率Ｒ＝１／２の場合を例に説明したが、符号化率Ｒ＝ｂ／ｃの場合には、情報系列後部の（Ｍ１×ｂ）個の列では、検査行列の対角成分に対し未来に相当する領域に‘１’が存在し、情報系列後部（Ｍ１×ｂ）個の列を除く列については、前記検査行列の対角成分の領域及び対角成分に対し過去に相当する領域にのみ‘１’が存在する検査行列を用いて、符号化率Ｒ＝ｂ／ｃ、メモリ長Ｍ１の組織符号の畳み込み符号化を行うようにすればよい。
【０１４７】
（変形例１）
以上説明した本実施の形態に係る検査行列１２００の例では、元となる検査行列１１００の行重みが７であるため、上三角形の領域に‘１’を追加した検査行列１２００の行重みの最大値が１０に抑えられている。しかし、元となる検査行列の行重みが９や１０などの場合に、本実施の形態で説明した方法を用いて、上三角形の領域に‘１’を追加すると、行重みの最大値が１０を超えてしまい復号特性が劣化してしまう。そこで、以下では、本実施の形態の別の例として、上三角形の領域に‘１’を追加した後に、行重みが１０や８といった一定数を下回るように‘１’を削除する方法について説明する。
【０１４８】
図１３に、本実施の形態に係る別の検査行列の構成例を示す。図１３の検査行列１３００は、図１２の検査行列１２００において情報ビットに立てられている‘１’を、複数個消去した行列となっている。図１３は、四角枠で囲まれた位置に配置されていた‘１’を消去して得られた検査行列である。
【０１４９】
‘１’を消去する位置の設計方法について詳しく述べる。まず、上三角形の領域１２１０によって行重みが増加するのは、行ｃN-M1〜ｃNに限られる。そこで、‘１’を消去する行を、行ｃN-M1〜ｃNの範囲の情報ビットに限定する。ここで、以下の規範（１）〜（６）に従うと、受信装置においてSum-Product復号を用いて復号することにより、良好な復号特性を得ることができる。なお、番号の小さい規範から優先して行うことにより、より良好な復号特性が得られる。
【０１５０】
（１）検査行列の対角線上にある‘１’は消去しない。これにより、同時刻ｔのパリティビットと情報ビットとに拘束関係が必ず生じるようになり、情報ビットとパリティビットとの間で確率伝搬を生じさせることができる。また、検査行列の重みの分布に一定の均一性を確保することができる。このようにすることで、極端に誤り率の高いビットが生じる可能性を低減することができる。
【０１５１】
（２）各列の列重みが、２以上となるように‘１’を残す。これにより、全てのビットについて、最低でも２つのパリティ検査式による確率伝搬が生じるようになる。また、元のＬＤＰＣ−ＣＣの時変周期に対応する１周期（例えば、検査行列１３００では、周期２）の列重みの平均が３以上となるようにする。逆に言うと、列重みが大きい列から優先的に‘１’を消去すればよい。この操作には、後述する長さが４のループ（ＦＣ：Four Cycle）を削減する効果がある。
【０１５２】
（３）各行の行重みが、１０以下となるように‘１’を消去する。例えば、行重みが７〜１０になるように、行重みが大きい行から順に‘１’を消去してゆく。これにより、行重みが大きすぎることによる復号特性劣化を防ぐことができる。
【０１５３】
（４）検査行列において長さが４のループ（ＦＣ）の数ができるだけ小さくなるようにする。ＬＤＰＣの検査行列においてＦＣが存在すると、復号特性が劣化することが知られている。なお、ＦＣについては、非特許文献１に述べられている。
【０１５４】
（５）各行において、最も離れている未来及び過去（右端及び左端）の‘１’はできるだけ消去せずに残す。これにより、広い範囲でのビット間の確率伝搬が生じるようにする。
【０１５５】
（６）行ｃN-M1〜ｃNの範囲では、下にある行ほど行重みが小さくなるようにする。これにより、符号語の最終ビットを拘束する条件が強くなり、Sum-Productアルゴリズムによる反復復号において、最終ビット付近の判定結果が少ない反復回数で収束するようになる。
【０１５６】
図１３の検査行列１３００は、行重みの最大値が８であり、情報ビットの列重みが３以上となるように、検査行列１２００から‘１’を消去した検査行列となっている。この構成によれば、Sum-Product復号によって良好な復号特性を得ることができる。
【０１５７】
（変形例２）
以下では、本実施の形態の別の例として、上三角形の領域に‘１’を追加した後に、行重みを小さくするために‘１’を削除する別の方法について、図１４を用いて説明する。
【０１５８】
図１４の検査行列は、図９に示した検査行列１２００と同一のものである。図１４において、未来の領域に追加された上三角形の領域１２１０に含まれる‘１’の配置は、上三角形の領域１２２０に含まれる情報ビットの‘１’の配置と同じである。すなわち、上三角形の領域１２１０に含まれる‘１’は、上三角形の領域１２２０に含まれる‘１’を時刻（Ｍ１＋１）だけ未来にシフトしたものとなっている。すなわち、時刻ｔの列と、時刻ｔ＋（Ｍ１＋１）の列の１／０の配置が等しくなっている。
【０１５９】
簡単のため、図１５に、領域１２１０及び領域１２２０を抜き出したものを示す。例えば、時刻ｉ−１の列と、それに対応する時刻ｉ＋Ｍ１＝ｉ−１＋（Ｍ１＋１）の列とでは、１／０の配置が等しくなっている。
【０１６０】
ここで、‘１’を削除する列の一例として、時刻ｉ−５および時刻ｉ＋５＝ｉ−５＋（Ｍ１＋１）の列に着目して説明する。これら列では、同じ行に‘１’が配置されているので、例えば図１４中のＦＣ１が示すように、長さ４のループ（ＦＣ：Four Cycle）が形成されている。ＦＣの存在により、Sum-Product復号における復号特性が劣化してしまうことが知られている。したがって、ＦＣを除去するのが望ましい。
【０１６１】
ＦＣを除去するためには、対応する列同士で同じ行に配置されている‘１’が多くても一つとなるようにすればよい。例えば、時刻ｉ−５および時刻ｉ＋５＝ｉ−５＋（Ｍ１＋１）の列ではそれぞれ３つずつ、合計で６つの‘１’が配置されているが、そのうち重複しない行の‘１’を２つ消去してやることで、ＦＣを除去することができる。この際、列重みが小さくなりすぎることを防ぐには、対応する列からそれぞれ消去する‘１’の数の差が最大でも１となるようにすればよい。
【０１６２】
すなわち、上三角形の領域１２１０内で、時刻ｔの列に、配置されている‘１’の数をＳとすると、時刻ｔの列及び時刻ｔ＋（Ｍ１＋１）の列から合わせて最大Ｓ−１個の１を消去し、かつ、時刻ｔの列と時刻ｔ＋（Ｍ１＋１）の列とで異なる行の‘１’を消去すればよい。この条件に従って‘１’を消去すると、情報ビットの列重みが２以上となることが保障される。
【０１６３】
上述の規範によれば、上三角形の領域の各列で、最低でも‘１’が１つは消去されずに残ることになる。本発明のＬＤＰＣ−ＣＣ検査行列では、上三角形の領域の他に対角成分に必ず‘１’が配置されているので、列重みが必ず２以上になることが保障される。なお、‘１’を消去する前の上三角形の領域１２１０及び領域１２２０内で、はじめから‘１’が存在しない列については、領域１２１０が存在しなくとも検査行列の列重みが２以上となっているので、列重みについて新たに考慮する必要はない。
【０１６４】
なお別の規範として、時刻ｔの列及び時刻ｔ＋（Ｍ１＋１）の列から合わせて最大Ｓ個の１を消去し、かつ、時刻ｔの列と時刻ｔ＋（Ｍ１＋１）の列とで異なる行の‘１’を消去した場合でも、情報ビットの列重みを２以上とできるのであれば問題はなく、行重みを減らすことによる特性改善効果が得られる。
【０１６５】
さらに、’１’を消去する際、各行で最も右端（未来）にある‘１’と、左端（過去）にある‘１’との、少なくとも一方は、削除せずに残すようにする。このようにすることで、各行に対応する検査式の拘束長を大きく取ることができる。拘束長とは、各行の情報ビットとパリティビットそれぞれについて、‘１’の存在する時刻の範囲の幅（右端（未来）にある‘１’と左端（過去）にある‘１’との幅）のことをいう。ＬＤＰＣ−ＣＣでは、拘束長が大きいほど、高い符号化ゲインが得られ、良好な復号特性を得られる。さらに、行重みが大きい行・列重みが大きい列から優先して、‘１’を消去することにより、良好な復号特性が得られるＬＤＰＣ−ＣＣ検査行列を生成することができる。
【０１６６】
上述の規範に従って、上三角形の領域１２１０及び領域１２２０から‘１’を消去した例を、図１６に示す。図１６において、領域１３１０は、領域１２１０から‘１’が消去された領域を示し、領域１３２０は、領域１２２０から‘１’が消去された領域を示す。図１６に示されているように、例えば、時刻ｉ−５および時刻ｉ＋５＝ｉ−５＋（Ｍ１＋１）の列に着目すると、時刻i＋５の列の上から４つめの‘１’が消去され、これにより、ＦＣが除去されていることがわかる。
【０１６７】
以上の方法を用いて‘１’を消去したＬＤＰＣ−ＣＣ検査行列を、図１７に示す。図１７の検査行列１７００は、図１４の検査行列１２００から上述の規範に従って‘１’を消去したものである。図１７の検査行列１７００は、情報ビットの列重みが全て２以上となっており、かつ、行重みが全て８以下となっているため、系列の後部をターミネーション系列としなくとも、良好な復号特性を得ることができる。
【０１６８】
以下に、本実施の形態に係る検査行列を構成する検査多項式を示す。
【０１６９】
時刻ｔ≦Ｎ−Ｍ１−１における検査多項式は、次式で与えられる。
【数２０】
2009201084.tif 000022
ただし、Ｘ(Ｄ)は情報系列の多項式表現、Ｐ(Ｄ)はパリティ系列の多項式表現であり、ＧD1(t),ＧP(t)はそれぞれ次式で与えられる。
【数２１】
2009201084.tif 000023
ここで、α（ｔ，ｉ）（ｉ＝１，・・・，μｄ）、及び、β（ｔ，ｉ）（ｉ＝１，・・・，μｐ）は自然数であり、ｉ＞ｊのとき、α（ｔ，ｉ）＞α（ｔ，ｊ），α（ｔ，ｉ）＞α（ｔ，ｊ）とする。
【０１７０】
また、ＬＤＰＣ−ＣＣの時変周期がωのとき、α（ｔ，ｉ）＝α（ｔ＋ｎω，ｉ）、β（ｔ，ｉ）＝β（ｔ＋ｎω，ｉ）である（ただし、ｎは自然数）。この場合に、情報ビットを保持するメモリ長Ｍ１及びパリティビットを保持するメモリ長Ｍ２は、ＧD1(t),ＧP(t)の最大次数である次式で表される。
【数２２】
2009201084.tif 000024
【０１７１】
これに対し、時刻ｔ≧Ｎ−Ｍ１における検査多項式は、次式で与えられる。
【数２３】
2009201084.tif 000025
【数２４】
2009201084.tif 000026
【数２５】
2009201084.tif 000027
なお、Ｊ１＝（Ｍ１＋１）である。
【０１７２】
ここで、時刻ｔと対応する時刻ｔ＋Ｊ１とについては、検査行列の同じ行では、どちらか一方の‘１’を消去するか、どちらも消去しないようにする。すなわち、γi,＋(ｔ)と、γi,−(ｔ)との組は、次式のいずれかとなる。
【数２６】
2009201084.tif 000028
【０１７３】
このようにすることで、ＦＣの増加を抑えつつ、検査行列の情報系列後部の列重みを２以上にすることができるので、系列後部に本来伝送したい情報ビットに割り当てる場合においても、良好な復号特性が得られるＬＤＰＣ−ＣＣ検査行列を構成することができる。この結果、ＬＤＰＣ−ＣＣにおけるターミネーション系列を削減し、伝送効率を向上させることができる。
【０１７４】
なお、検査行列の情報系列後部の列重みを２以上にすることができるのであれば、γi,＋(ｔ)と、γi,−(ｔ)との組を次式に限定することで、さらに良好な特性を得ることができる。
【数２７】
2009201084.tif 000029
【０１７５】
なお、実施の形態２及び実施の形態３のＬＤＰＣ−ＣＣを、ビットをパンクチャ（消去）することによって可変符号化率を達成するシステムに用いる送信装置に適用する際には、符号語系列のうち、ヘッダ系列ｖ2,-L1+1〜ｖ2,0、ターミネーション系列ｖ2,N+1〜ｖ2,N+L2、符号語の先頭（ｃ×Ｍ１）ビットｖ1,1，ｖ2,1，…，ｖ2,M1，ｖ2,M2、及び、符号語の後部（２×ｃ×Ｍ１）ビットｖ1,N-2M1，ｖ2,N-2M1，…，ｖ1,N，ｖ2,Nからはビットを消去せずに全て送信することが好適である。これにより、反復復号における系列先頭及び後部の収束特性が安定し、復号特性を改善することができる。また、系列後部の検査行列を変形した影響で、消去されるビットの訂正が困難になる事態を防ぐことができる。
【０１７６】
また、以上の説明では、説明を簡易にするため、時変周期ω＝２の時変ＬＤＰＣ−ＣＣを用いて説明したが、時変周期は２に限られず、ω≧１の任意の周期のＬＤＰＣ−ＣＣに対して同様に適用可能である。
【０１７７】
また、実施の形態２から実施の形態３に係る符号化器を用いる際は、入力ビット長ＮがＬＤＰＣ−ＣＣの時変周期ωの整数倍となるように、入力ビットの後部に既知系列によるパディングビットを付加してやるとよい。このようにすることで、ウェイト制御部に予め記憶させておくウェイトパターンｃN-K1〜ｃNが一意に定められる。例えば、本来伝送したい情報ビット数がＮ０の場合、Ｌｐａｄ＝ｍｏｄ（−Ｎ，ω）ビットのパディングビットをＮ０ビットの情報系列の後ろに付加し、Ｎ＝Ｎ０＋Ｌｐａｄビットの情報系列とＭ１ビットのゼロ系列とを符号化器に入力すればよい。なお、ｍｏｄ（ｘ，ｙ）はｘをｙで割った余りを示す。このようにしない場合、例えば時変周期２のＬＤＰＣ−ＣＣでは、Ｎが奇数の場合と偶数の場合とで異なるウェイトパターンｃN-K1〜ｃNを用意しなければならない。パディングビット数Ｌｐａｄは、時変周期が２の場合多くても１ビットであり、パディングビットを付加することによる伝送効率の低下は極めて小さい。
【０１７８】
また、本発明の実施の形態１から実施の形態３では、ターミネーション系列を一切付加しない場合について説明したが、本発明のＬＤＰＣ−ＣＣ検査行列及びＬＤＰＣ−ＣＣ符号化器を用いた場合に、Ｌ２ビットのターミネーション系列を付加して符号化を行うことも可能である（Ｌ２≦Ｍ２）。ターミネーション系列を付加することにより、系列後部のパリティビットに対応する列重みを大きくすることができるため、Sum-Product復号の反復において系列後部の収束を早めることができる。
【０１７９】
なお、本発明に係る検査行列を用いる場合には、Ｌ２がＭ１より小さくても、十分な復号特性を得ることができるので、オーバーヘッドとして問題とならない範囲のＬ２を設定してやればよい。例えば、Ｌ２を、組織符号系列に係る時刻ｔ∈［１，Ｎ］の範囲のパリティビットの列重みが全て２以上となる最小の値などに設定するとよい。この際、パリティビットのメモリ長Ｍ２が短いほどＬ２が短くて済むため、長いメモリ長により符号化ゲインを確保しつつ、ターミネーション系列の削減の効果を得るためには、情報ビットのメモリ長Ｍ１をパリティビットのメモリ長Ｍ２よりも長くしてやるとよい。
【０１８０】
Ｌ２ビットのターミネーション系列を付加する場合、本発明のＬＤＰＣ−ＣＣ符号化器２００及び８００のデータ入力には、Ｎビットの情報系列，Ｌ２ビットのゼロ系列，Ｍ１ビットのゼロ系列の順に入力する。このとき、符号化器からは、実施の形態１及び実施の形態２で説明した符号語系列に加えて、情報系列ｖ1,N+1〜ｖ1,N+L2及びパリティ系列ｖ2,N+1〜ｖ2,N+L2が出力されるが、このうちｖ1,N+1〜ｖ1,N+L2は、ゼロ系列であって、受信装置で既知とできる。よって、実施の形態１及び実施の形態２で送信するとした符号語系列に加えて、Ｌ２ビットのターミネーション系列ｖ2,N+1〜ｖ2,N+L2を送信すればよい。
【０１８１】
（実施の形態４）
本実施の形態では、ＬＤＰＣ−ＣＣにおいて送信するターミネーション系列の量を削減するために、ターミネーション系列に対してパンクチャを適用する送信装置及びパンクチャ方法について説明する。
【０１８２】
本実施の形態の説明に先立ち、先ず、ＬＤＰＣ−ＣＣ符号化により得られた送信符号語系列にパンクチャを施す際の課題について説明する。
【０１８３】
図１８は、一般的なパンクチャ方法を説明するための図である。同図において、ｖ1,t，ｖ2,t（ｔ＝１，２，…）は、符号化率Ｒ＝１／２の送信符号語系列ｖを示す。一般的なパンクチャ方法では、送信符号語系列ｖは、複数のブロックに分けられ、各ブロックに対し同一のパンクチャパターンが用いられて、符号語ビットが間引かれる（消去される）。
【０１８４】
図１８は、送信符号語系列ｖが、パンクチャパターン長Ｌｐ=４ビットごとにブロックに分けられ、すべてのブロックに対し、同一のパンクチャパターンが用いられて、一定の割合で符号語ビットが間引かれる様子を示している。同図において、斜線で消去されたビットがパンクチャされるビット（送信されないビット）を示し、ブロック１，２，・・・，ｊ,・・・に対し、ｖ2、2，ｖ2,4，ｖ2,6，・・・，ｖ2,2j，・・・が選択され、パンクチャされる（送信されないビットとする）。図１８では、符号化率Ｒ＝１／２の符号語系列を長さ４ビットのブロックに分割し、各ブロックから１ビットを消去することで、符号化率Ｒ＝（１／２）×｛４／（４−１）｝＝２／３の送信符号語系列を生成している。
【０１８５】
次に、ＬＤＰＣ−ＣＣを用いた符号化により得られた送信符号語系列に、図１８に示すようなパンクチャを施した場合の受信側（復号側）の影響を考える。なお、以下では、受信側（復号側）においてＢＰ復号を用いる場合について検討する。ＢＰ復号では、ＬＤＰＣ−ＣＣの検査行列に基づいて復号処理を行う。図１９に、送信符号語系列ｖと時変周期ω＝２のＬＤＰＣ−ＣＣ検査行列Ｈとの対応関係を示す。図１９において、送信符号語系列のうち、斜線で消去されたビットは、パンクチャにより間引かれる送信符号語ビットである。この結果、検査行列Ｈにおいて、四角の破線枠で囲まれた領域において、要素が‘１’に対応するビットが、送信符号語系列に含まれなくなる。この結果、ＢＰ復号を行う場合に、破線枠で囲まれた領域において要素が‘１’のビットに対しては、初期の信頼度が存在しないので、信頼度（対数尤度比）の初期値が‘０’に設定されることになる。
【０１８６】
ＢＰ復号では、行演算と列演算とを反復して行う。このうち行演算では、１つの行で初期の対数尤度比が‘０’のビットが２つ以上含まれると、該当行の行演算単独では対数尤度比が更新されない。したがって、初期の対数尤度比が存在しない（対数尤度比が‘０’の）ビット（図１９において破線枠で囲まれた領域で、要素が‘１’のビット）が、同一行に２つ以上含まれると、当該行では、列演算により初期の対数尤度比が存在しない（対数尤度比が‘０’の）ビットの対数尤度比が更新されるまで、対数尤度比が当該行の行演算単独では更新されないことになる。すなわち、行演算単独では信頼度が伝搬されず、信頼度を伝搬させるためには、行演算と列演算とを反復する必要がある。すなわち、ある符号ビットについて信頼度伝搬による符号化ゲインを得るためには、復号器の所定の反復回数内において該当ビットの信頼度が更新されるようになっている必要がある。
【０１８７】
一例として、図１９の符号ビットｖ2,2jに着目する。符号ビットｖ2,2jの列における要素が‘１’の行は、ｃ2j,ｃ2j+4,ｃ2j+6,ｃ2j+8 の４行である。このうち、ｃ2j,ｃ2j+4,ｃ2j+6 の３行については、初期の対数尤度比が‘０’のビット（パンクチャによって消去されているビット）が２つ以上含まれているのに対し、行ｃ2j+8については初期の対数尤度比が‘０’のビットが１つのみなので、行ｃ2j+8では初回の行演算で信頼度を更新することができる。続いて列演算を行うことにより、行ｃ2j+8の行演算で得られたｖ2,2jについての信頼度が、ｖ2,2jに対応する列のｃ2j,ｃ2j+4,ｃ2j+6 の行要素へと伝搬する。
【０１８８】
図１９の例では、検査行列Ｈは、時変周期２であり、多項式が同じ形が繰り返されており、又、パンクチャパターンＰ１も、４ビットごとに同一のパターンが繰り返されているので、符号ビットｖ2,2j以外のパンクチャビット（消去されたビット）についても同様に、初回の行演算・列演算によって信頼度を更新することができる。よって、初回の行演算・列演算を行った時点において、全ての符号ビットの対数尤度比が０以外の値となるため、以降、行演算と列演算とを反復することによって、全ての符号ビット間で信頼度を伝搬させ、符号化ゲインを得ることができる。
【０１８９】
送信符号語系列ｖとＬＤＰＣ−ＣＣ検査行列Ｈとの対応関係の別の例を、図２０に示す。図２０の検査行列は図１９と同一であり、パンクチャパターンのみが異なっている。
【０１９０】
図１９のパンクチャパターンＰ１は、Ｐ１＝［１，１，１，０］であったのに対し、図２０のパンクチャパターンＰ１’は、Ｐ１’＝［１，０，１，１］である。パンクチャパターンＰ１、Ｐ１’は、ともに、４ビットのブロックから１ビットを消去し、符号化率Ｒ＝２／３のパンクチャを施すパターンである。
【０１９１】
図２０の符号ビットｖ2,2j-1に着目する。符号ビットｖ2,2j-1列において、要素が‘１’の行は、ｃ2j-1,ｃ2j+7の２行である。行ｃ2j-1,ｃ2j+7はいずれも、初期の対数尤度比が０のビットが２つ存在するため、初回の行演算によって信頼度は更新されない。すなわち、初回の行演算・列演算を行った時点では、符号ビットｖ2,2j-1の対数尤度比は０のままとなる。同様に、符号ビットｖ2,2j-1+2、ｖ2,2j-1+4、・・・のビットの信頼度も、初回の行演算・列演算を行った時点では０のままとなる。
【０１９２】
このように、図２０の例では、初回の行演算によって、符号ビットｖ2,3の対数尤度比は、行ｃ3の演算結果から０以外の値で更新することができる。また、続けて２回目の行演算、列演算によって、符号ビットｖ2,2j-1の対数尤度比は、行ｃ2j-1の演算結果から更新することができる。しかし、送信符号語系列の後半の符号ビットの信頼度が更新されるようになるまでに、多数の反復が必要となってしまう。すなわち、図２０のパンクチャパターンＰ１’を用いる場合、符号化ゲインが得られにくく、図１９の場合と比較して復号特性が劣化する。
【０１９３】
以上の例から分かるように、ＬＤＰＣ−ＣＣに対してパンクチャを施す際には、同一の符号化率であっても、パンクチャパターンに依存して復号特性が変動する。
【０１９４】
特に、図１９のパンクチャパターンＰ１［１，１，１，０］と図２０のパンクチャパターンＰ１’［１，０，１，１］とでは、同一のパターンを２ビット巡回シフトしただけの違いであるにも関わらず、復号特性に差が生じる。換言すると、パンクチャパターンＰ１［１，１，１，０］を用いる場合においても、ブロックの開始位置（ブロックの区切りの位置）を図１９の位置から２ビットずらしてしまうと、図２０の場合と同様に、復号特性が劣化することになる。
【０１９５】
なお、図１９及び図２０のＬＤＰＣ−ＣＣは、符号化率Ｒ＝ｂ／ｃ＝１／２，時変周期ω＝２を用いて、同じ検査式が繰り返されるＬＤＰＣ−ＣＣの例である。したがって、パンクチャパターンのブロックの区切り位置を、ω×ｃ＝４ビットだけずらして得られたパンクチャパターンと検査行列を構成する検査多項式との対応関係は、ビットをずらす前の元のパンクチャパターンと検査多項式との対応関係と同じになる。
【０１９６】
以上のように、ＬＤＰＣ−ＣＣに対してパンクチャを適用する際には、検査行列の構成と対応させて、ＢＰ復号において符号化ゲインが得られるようなパンクチャパターンを設計する必要がある。また、設計したパンクチャパターンを用いてビットを間引く際には、パンクチャブロックの区切り位置と、検査多項式のインデックスの対応付けとを一意に保つ必要がある。なお、パンクチャブロックの区切り位置と、検査多項式のインデックスの対応付けとの関係については、実施の形態５で詳述する。
【０１９７】
次に、ＬＤＰＣ−ＣＣ符号化により得られた送信符号語系列にパンクチャを施す送信装置の構成例について説明する。図２１は、当該送信装置の要部構成の一例を示す図である。
【０１９８】
図２１の送信装置２１００は、ＬＤＰＣ−ＣＣ符号化器２１１０、パンクチャ部２１２０、インタリーブ部２１３０、変調部２１４０、無線部２１５０、送信アンテナ２１６０、及び、制御情報生成部２１７０を含む構成である。
【０１９９】
ＬＤＰＣ−ＣＣ符号化器２１１０は、情報系列にテイルビットが付加された入力系列に対し、ＬＤＰＣ−ＣＣ符号化処理を行い、符号化後の符号語系列をパンクチャ部２１２０に出力する。
【０２００】
パンクチャ部２１２０は、ＬＤＰＣ−ＣＣ符号化後の送信符号語系列に対してパンクチャを行い、パンクチャ後の送信符号語系列をインタリーブ部２１３０に出力する。パンクチャ処理については、後述する。
【０２０１】
インタリーブ部２１３０は、送信符号語系列に対して、系列の順序の並び替え処理（インタリーブ）を行い、インタリーブ後の送信符号語系列を変調部２１４０に出力する。
【０２０２】
変調部２１４０は、インタリーブ後の送信符号語系列を、ＰＳＫ（Phase Shift Keying），ＱＡＭ（Quadrature Amplitude Modulation）などの変調方式を用いて変調して、変調後の送信変調シンボル系列を無線部２１５０に出力する。
【０２０３】
制御情報生成部２１７０は、送信側と受信側との間で信号を送受信するために必要な制御情報を生成して、変調部２１４０に送出する。制御情報としては、変調方式、送信情報系列長、時間・周波数同期のためのプリアンブル信号などがある。制御情報生成部２１７０は、符号化率に応じて、系列全体のパンクチャパターンを決定し、決定したパンクチャパターンをパンクチャ部２１２０に通知する。
【０２０４】
無線部２１５０は、送信変調シンボル系列に対して、Ｄ／Ａ（Digital to Analog）変換、周波数変換、ＲＦ（Radio Frequency）フィルタ処理などの無線変調処理を行い、送信ＲＦ信号を生成して、送信アンテナ２１６０を介して送信する。
【０２０５】
以上、ＬＤＰＣ−ＣＣ符号化後の送信符号語系列に対して、パンクチャを施す際の課題、並びに、送信装置の要部構成について説明した。
【０２０６】
以下では、本実施の形態に係る送信装置、及び、ターミネーション系列にパンクチャを施すパンクチャ方法について述べる。
【０２０７】
本実施の形態では、情報系列をＬＤＰＣ−ＣＣ符号化して得られた２Ｎビットの組織符号系列には、第１パンクチャパターンに基づくパンクチャを施し、テイルビットをＬＤＰＣ−ＣＣ符号化して得られたターミネーション系列には、第２パンクチャパターンに基づくパンクチャを施すことを特徴とする。第２パンクチャパターンによる符号化率を、第１パンクチャパターンの符号化率よりも高く設定することによって、送信するターミネーション系列の量を削減し、伝送効率を高めることができる。
【０２０８】
先ず、図２２を用いて、本実施の形態における、検査行列とパンクチャパターンとの対応について説明する。
【０２０９】
図２２に、検査行列とパンクチャパターンとの対応関係を示す。図２２には、周期ω＝２，符号化率Ｒ＝１／２のＬＤＰＣ−ＣＣに対し、組織符号系列とターミネーション系列とで異なる符号化率のパンクチャが適用された例が示されている。具体的には、組織符号系列に対しては、第１パンクチャパターンＰ１＝［１，１，１，１］（つまり、パンクチャ無し）を適用することで、符号化率Ｒ＝１／２とし、ターミネーション系列に対しては、第２パンクチャパターンＰ２＝［１，１，１，０］を適用することで、符号化率Ｒ＝２／３としている。
【０２１０】
このようにすることで、系列全体を符号化率Ｒ＝１／２で送信する場合に比し、ターミネーション系列の量を削減することができる。ターミネーション系列は、本来データの伝送に寄与しない冗長な系列であることから、ターミネーション系列の符号化率を高くすることによる符号化ゲインの低下は、系列全体の符号化率を、ターミネーションン系列の符号化率と同等にまで高めた場合と比較すると小さくて済む。
【０２１１】
なお、使用するＬＤＰＣ−ＣＣ符号が組織符号である場合には、ターミネーション系列のうち情報ビットに対応する系列には、ゼロ系列等の受信側（復号側）において既知の系列を用いることができる。したがって、上述の実施の形態と同様に、ターミネーション系列のうち情報ビットを送信する必要がない。よって、図２３のパンクチャパターンのように、符号化率Ｒ＝２／３のパンクチャパターンから、さらに情報ビットに対応するビットを消去することができる。図２３の例では、ターミネーション系列の長さを、ＬＤＰＣ−ＣＣ符号化器２１１０の出力系列の２０ビットから、その１／４の５ビットにまで削減することができる。
【０２１２】
なお、逆に言えば、ターミネーション系列のうち情報ビットは、そもそも送信する必要がないため、パンクチャによりパリティビットを消去しなければ、ターミネーション系列を削減する効果は得られない。よって、第１のパンクチャパターンのパリティビットの間引き率Ｐｐ１を、
Ｐｐ１＝パリティビットを消去する数／第１のパンクチャパターン長
とし、第２のパンクチャパターンのパリティビットの間引き率Ｐｐ２を、
Ｐｐ２＝パリティビットを消去する数／第２のパンクチャパターン長
とした場合、ターミネーション系列を削減するには、間引き率Ｐｐ１が、間引き率Ｐｐ２よりも小さくなるようなパンクチャパターンの組合せを用いる必要がある。
【０２１３】
ターミネーション系列から消去された情報ビットについては、受信側（復号側）において既知であることから、ＢＰ復号装置において信頼度（対数尤度比）としてゼロではなく、無限大の値を設定することができる。すなわち、ターミネーション系列の情報ビットは、初期の対数尤度比が存在しない‘１’の要素には含まれないことになる。
【０２１４】
図２４に、本実施の形態に係る送信装置の要部構成の一例を示す。図２４の送信装置において、図２１の送信装置２１００と共通する構成部分には、図２１と同一の符号を付して説明を省略する。
【０２１５】
図２４の送信装置２４００は、ＬＤＰＣ−ＣＣ符号化器２１１０、パンクチャ部２４１０、インタリーブ部２１３０、変調部２１４０、無線部２１５０、送信アンテナ２１６０、及び、制御情報生成部２４２０を含む構成である。また、パンクチャ部２４１０は、第１パンクチャ部２４１１、第２パンクチャ部２４１２、切り替え部２４１３、及び、ビット数カウンタ２４１４を含む。
【０２１６】
ＬＤＰＣ−ＣＣ符号化器２１１０は、情報系列にターミネーション系列が付加された入力系列に対し、ＬＤＰＣ−ＣＣ符号化処理を行い、符号化後の符号語系列をパンクチャ部２４１０に出力する。
【０２１７】
パンクチャ部２４１０のビット数カウンタ２４１４は、ＬＤＰＣ−ＣＣ符号化器２１１０から出力される符号語系列のビット数をカウントし、得られた入力ビット数の情報（入力ビット数情報）を切り替え部２４１３に出力する。
【０２１８】
第１パンクチャ部２４１１及び第２パンクチャ部２４１２は、ＬＤＰＣ−ＣＣ符号化器２１１０から出力された符号語系列に対して、それぞれ第１及び第２のパンクチャパターンに基づいてパンクチャを施す。具体的には、第１パンクチャ部２４１１は、組織符号系列に対する第１パンクチャパターンに基づいてパンクチャし、第２パンクチャ部２４１２は、ターミネーション系列に対する第２パンクチャパターンに基づいてパンクチャする。なお、第２パンクチャパターンに対する符号化率は、第１パンクチャパターンに対する符号化率よりも高く設定されている。
【０２１９】
切り替え部２４１３は、ビット数カウンタ２４１４から出力される入力ビット数情報、符号語系列長、および、制御情報生成部２４２０からの制御情報に基づき、第１パンクチャ部２４１１又は第２パンクチャ部２４１２によりパンクチャされた系列のうち、どちらか一方を選択し、選択した系列をインタリーブ部２１３０に出力する。なお、符号語系列長は、ＬＤＰＣ−ＣＣ符号化器出力の符号語系列のうち、ターミネーション系列を除いた系列の系列長（ｃ×Ｎ）を表す。
【０２２０】
具体的には、切り替え部２４１３は、入力ビット数に応じて、符号語系列が組織符号系列又はターミネーション系列のどちらであるか判定する。更に、切り替え部２４１３は、符号語系列が組織符号系列の場合、第１パンクチャ部２４１１によってパンクチャされた系列をインタリーブ部２１３０に出力する。また、切り替え部２４１３は、入力系列がターミネーション系列の場合、第２パンクチャ部２４１２によってパンクチャされた系列をインタリーブ部２１３０に出力する。
【０２２１】
ビット数カウンタ２４１４は、ＬＤＰＣ−ＣＣ符号化器２１１０に入力される情報系列の入力ビット数をカウントし、切り替え部２４１３に出力する。
【０２２２】
パンクチャ部２４１０から出力される符号語系列は、インタリーブ部２１３０、変調部２１４０、無線部２１５０によって、インタリーブ、変調、Ｄ／Ａ変換、周波数変換等の所定の無線送信処理が施され、送信アンテナ２１６０から送信される。
【０２２３】
以上のように、本実施の形態によれば、組織符号系列は、第１パンクチャパターンに基づいてパンクチャされ、ターミネーション系列は、第１パンクチャパターンに対する符号化率よりも符号化率が高い第２パンクチャパターンに基づいてパンクチャされる。このように、ターミネーション系列に、組織符号系列に適用する第１パンクチャパターンとは異なる第２パンクチャパターンを適用し、第２パンクチャパターンの符号化率を、第１パンクチャパターンの符号化率よりも高く設定することにより、送信するターミネーション系列の量を削減し、伝送効率を改善することができる。
【０２２４】
なお、以上の説明では、第１パンクチャ部２４１１及び第２パンクチャ部２４１２が、組織符号系列及びターミネーション系列をパンクチャし、切り替え部２４１３が、符号語系列が組織符号系列の場合、第１パンクチャ部２４１１によってパンクチャされた系列をインタリーブ部２１３０に出力し、符号語系列がターミネーション系列の場合、第２パンクチャ部２４１２によってパンクチャされた系列をインタリーブ部２１３０に出力する場合について説明したが、これに限られない。例えば、切り替え部２４１３を、ＬＤＰＣ−ＣＣ符号化器２１１０と第１パンクチャ部２４１１及び第２パンクチャ部２４１２との間に設け、切り替え部２４１３が、符号語系列が組織符号系列の場合、符号語系列を第１パンクチャ部２４１１に出力し、符号語系列をターミネーション系列の場合、符号語系列を第２パンクチャ部２４１２に出力するようにしてもよい。
【０２２５】
（実施の形態５）
本実施の形態では、組織符号系列にターミネーション系列が付加された送信符号語系列に対し、組織符号系列とターミネーション系列とで異なるパンクチャパターンを用いてビットを消去し、かつ、情報系列にパディングビット及びテイルビットを付加して符号化することを特徴とする、送信装置及び送信方法について説明する。
【０２２６】
図２５に、本実施の形態における送信装置の要部構成の一例を示す。なお、図２５の送信装置において、図２４の送信装置２４００と共通する構成部分には、図２５と同一の符号を付して説明を省略する。
【０２２７】
図２５の送信装置２５００は、パディングビット付加部２５１０、ＬＤＰＣ−ＣＣ符号化器２１１０、パンクチャ部２４１０、インタリーブ部２１３０、変調部２１４０、無線部２１５０、送信アンテナ２１６０、及び、制御情報生成部２４２０を含む構成である。
【０２２８】
パディングビット付加部２５１０は、情報系列長に基づいて、情報系列の後方に付加するパディングビット数Ｌｐａｄを算出する。パディングビット数Ｌｐａｄの算出方法については後述する。パディングビット付加部２５１０は、情報系列の後方に、Ｌｐａｄビットのパディング系列、及び、テイルビット（既知系列）を付加し、付加後の系列を、ＬＤＰＣ−ＣＣ符号化器２１１０に出力する。また、パディングビット付加部２５１０は、ＬＤＰＣ−ＣＣ符号化器２１１０から出力される符号語系列長を算出し、パンクチャ部２４１０へと出力する。なお、パディング系列及びテイルビットは、受信側（復号側）において既知の系列であれば、どのような系列でもよい（例えば、ゼロ系列）。
【０２２９】
ＬＤＰＣ−ＣＣ符号化器２１１０は、情報系列にパディング系列及びテイルビットが付加された入力系列に対して、ＬＤＰＣ−ＣＣ符号化処理を行い、符号化後の送信符号語系列をパンクチャ部２４１０に出力する。
【０２３０】
パンクチャ部２４１０は、入力されたＬＤＰＣ−ＣＣ符号系列（符号化後の送信符号語系列）のうち、情報系列とパディング系列とを符号化して得られた組織符号系列に第１パンクチャを施し、また、テイルビットを符号化して得られたターミネーション系列に第２パンクチャを施し、パンクチャ後の送信符号語系列（ＬＤＰＣ−ＣＣ符号系列）をインタリーブ部２１３０に出力する。
【０２３１】
パンクチャ部２４１０から出力される送信符号語系列は、インタリーブ部２１３０、変調部２１４０、無線部２１５０によって、インタリーブ、変調、Ｄ／Ａ変換、周波数変換等の所定の無線送信処理が施され、送信アンテナ２１６０から送信される。
【０２３２】
次に、パディングビット付加部２５１０における、パディングビット数Ｌｐａｄの算出方法及びパディングビットを付加することによる効果について述べる。実施の形態４で述べたように、ＬＤＰＣ−ＣＣによって符号化された符号語系列に対してパンクチャを施す際には、予め設計したパンクチャパターンのブロックの区切り位置と検査行列のインデックスとの対応を一意に保ち、インデックスの対応がずれないようにする必要がある。一方で、ＬＤＰＣ−ＣＣ符号化器２１１０の情報系列長を任意とする場合、符号語系列のうちターミネーション系列の先頭のインデックスが不定となるため、第２パンクチャパターンのブロックの区切り位置が不定となってしまう。このため、情報系列長に関わらず、同一の第２パンクチャパターンを適用すると、情報系列長によって復号特性に差が生じてしまう。
【０２３３】
これを回避するための一つの方法として、第２パンクチャパターンとして、情報系列長に応じた複数のパンクチャパターンを用意する方法が考えられる。しかし、ターミネーション系列の符号化率が、複数の符号化率に対応できるようにするためには、それぞれの符号化率に応じて複数のパンクチャパターンを用意しなければならず、送信装置及び受信装置の構成が複雑になってしまう。
【０２３４】
そこで、パディングビット付加部２５１０は、情報系列長に関わらず、ターミネーション系列の先頭のインデックスと検査行列との対応関係が一意に保たれるように、情報系列とテイルビット（既知系列）との間にパディング系列を付加し、ＬＤＰＣ−ＣＣ符号化器２１１０に出力する。これにより、情報系列長によらず、第２パンクチャパターンとして常に同一のパンクチャパターンを用いることができるようになる。
【０２３５】
次に、パディングビット数Ｌｐａｄの算出方法について説明する。検査行列を構成する検査多項式は、時変周期ω毎に同じ多項式が繰り返されている。よって、ターミネーション系列の先頭のインデックスが、例えば、時変周期の１周期の先頭のインデックスに一致するように、パディングビットを付加してやればよい。すなわち、情報系列長をＮ０とすると、パディングビット数Ｌｐａｄは、次式（２８）で算出される。
【数２８】
2009201084.tif 000030
式（２８）において、ｃｅｉｌ（ｘ）は、ｘよりも大きい最小の整数を表す。また、ｍｏｄ（ｘ，ｙ）は、ｘをｙで割った余りを表す。
【０２３６】
このようにすることで、ＬＤＰＣ−ＣＣ符号化器２１１０に入力される入力系列長Ｎ＝Ｎ０＋Ｌｐａｄを、ＬＤＰＣ−ＣＣ検査行列の時変周期の整数倍にすることができるようになる。これにより、情報系列長Ｎ０によらず、ターミネーション系列の先頭のインデックスと、検査行列を構成する検査多項式との対応関係を一意に定めることができる。すなわち、情報系列長によらず、常に同一のパンクチャパターンを用いることができるようになる。
【０２３７】
なお、時変周期ω＝２、符号化率Ｒ＝１／２の場合、パディングビット数Ｌｐａｄは、多くても１ビットなので、パディングビットを付加することによる伝送効率の低下は極めて小さくて済む。
【０２３８】
また、パディングビット数Ｌｐａｄの別の算出方法として、Ｎ＝Ｎ０＋Ｌｐａｄビットの情報系列及びパディング系列に対して、ＬＤＰＣ−ＣＣ符号化を施して得られる組織符号系列の出力系列長（ｃ×Ｎ）ビットが、システムで用いられるパンクチャパターン長Ｌｐの公倍数となるようにしてもよい。このようにすると、システムで用いられるパンクチャパターンのうち、どのパンクチャパターンを用いた場合においても、情報系列及びパディング系列を符号化した組織符号系列の系列長が、パンクチャブロック長の整数倍となるため、パンクチャ部２４１０における処理が簡易で済むためである。
【０２３９】
この場合、パディングビット数Ｌｐａｄは、次式（２９）で算出される。
【数２９】
2009201084.tif 000031
式（２９）において、ＬＣＭ｛Ｌｐ｝は、システムで用いられるパンクチャパターン長の組Ｌｐの最小公倍数である。
【０２４０】
なお、システムで用いられるパンクチャパターンのパンクチャパターン長Ｌｐが、すべて（ω×ｃ）の整数倍となるように設計することにより、ターミネーション系列の先頭のインデックスと検査多項式との関係を一意に保つ効果も得る。
【０２４１】
図２６に、本実施の形態における情報系列、パディング系列、及び、符号語系列の対応を示す。ＬＤＰＣ−ＣＣ符号化器２１１０の入力系列は、Ｎビットの情報系列と、Ｍビットのゼロ系列とを含む構成である。Ｎビットの情報系列には、Ｎ０ビットの本来伝送したい情報系列と、Ｌｐａｄビットのパディング系列とが含まれる。ここで、Ｎ（＝Ｎ０＋Ｌｐａｄ）ビットの情報系列を符号化して得られる情報系列ｖ1,1〜ｖ1,N及びパリティ系列ｖ2,1〜ｖ2,Nには、第１パンクチャパターンによるパンクチャを施す。また、同様に符号化により得られるターミネーション系列ｖ1,N+1〜ｖ1,N+M及びｖ2,N+1〜ｖ2,N+Mには、第２パンクチャパターンによるパンクチャを施す。なお、パンクチャ後の符号語系列のうち、パディング系列ｖ1,N0+1〜ｖ1,N及びｖ1,N+1〜ｖ1,N+Mは、受信装置が既知の系列を用いるので送信する必要が無い。したがって、図２６の破線で囲まれたビットのみが送信されればよい。
【０２４２】
図２７に、本実施の形態における検査行列とパンクチャパターンとの対応を示す。図２７の検査行列は、符号化率Ｒ＝１／２，時変周期ω＝２の検査行列となっている。情報系列に対応する符号語系列と、ターミネーション系列との間に、パディング系列が挿入されることにより、ターミネーション系列の先頭の時刻Ｎ＋１が、奇数となる。すなわち、２種類の検査多項式のうち、ターミネーション系列の先頭のインデックスに対応する検査多項式を、いずれか一方に一意に定めることができる。このように、式（２８）又は式（２９）により算出されるビット数のパディング系列を、情報系列とテイルビットとの間に挿入することにより、ターミネーション系列に適用する第２パンクチャパターンを、情報系列長毎に用意する必要が無くなる。
【０２４３】
以上のように、本実施の形態によれば、情報系列に、パディング系列を付加し、情報系列及びパディング系列に対しＬＤＰＣ−ＣＣ符号化を施し得られる組織符号系列に対しては、第１パンクチャパターンに基づいてパンクチャし、テイルビットに対しＬＤＰＣ−ＣＣ符号化を施し得られるターミネーション系列に対しては、第１パンクチャパターンに対する符号化率よりも符号化率が高い第２パンクチャパターンに基づいてパンクチャするようにした。このようにすることで、実施の形態４と同様に、送信するターミネーション系列の量を削減し、伝送効率を改善することができる。加えて、情報系列長Ｎ０によらず、ターミネーション系列の先頭のインデックスと、検査行列を構成する検査多項式との対応関係を一意に定めることができるので、ターミネーション系列に適用するためにシステムで用意すべきパンクチャパターンの種類数を削減することができる。
【０２４４】
なお、以上の説明では、パディング系列が、情報系列とテイルビットとの間に挿入される場合について説明したが、これに限られず、例えば、情報系列の途中に挿入されるようにしてもよい。
【０２４５】
（実施の形態６）
実施の形態５では、情報系列長に関わらず、ターミネーション系列の先頭のインデックスと、検査行列を構成する検査多項式との対応関係を一意に定めることができる送信装置及び送信方法について説明した。
【０２４６】
本実施の形態では、実施の形態５とは異なる別の送信装置及び送信方法について説明する。本実施の形態によれば、実施の形態５と同様に、ターミネーション系列の量を削減し、データ系列長によらず受信特性の劣化を抑圧することができる。
【０２４７】
図２８に、本実施の形態におけるＬＤＰＣ−ＣＣ符号語系列と、パンクチャパターンとの対応関係を示す。図２８のＬＤＰＣ−ＣＣ符号語系列は、Ｎ０ビットの情報系列と、Ｍビットのターミネーション系列（既知系列）とに、時変周期ω、符号化率Ｒ＝ｂ／ｃ＝１／２のＬＤＰＣ−ＣＣ符号化し得られた系列である。
【０２４８】
図２８の例では、情報系列を符号化して得られる（ｃ×Ｎ０）ビットの組織符号系列に、第１パンクチャパターンＰ１＝［p1,1，p1,2，…，pLp1/c,c-1，pLp1/c,c］によるパンクチャが施され、（ｃ×Ｍ）ビットのターミネーション系列に、第２パンクチャパターンＰ２＝［p1,1，p1,2，…，pLp2/c,c-1，pLp2/c,c］によるパンクチャが施されている。ここで、Ｌｐ１，Ｌｐ２は、それぞれ第１パンクチャパターンＰ１、第２パンクチャパターンＰ２のブロック長である。
【０２４９】
上述の実施の形態５では、ターミネーション系列にパンクチャを施す際に、第２パンクチャパターンＰ２のブロックの先頭p1,1をターミネーション系列の先頭に揃えるために、パディング系列を挿入した。これに対し、本実施の形態では、パディング系列を挿入せず、図２８に示すように、ブロックの先頭をｃ×ｍｏｄ（−Ｎ０，ω）ビットだけずらして配置する。つまり、第２パンクチャパターンＰ２の途中からターミネーション系列のパンクチャが開始される。このようにすることで、情報系列長Ｎ０によらず、第２パンクチャパターンＰ２のブロック区切りの位置のインデックスと、検査行列を構成する検査多項式との対応関係を一意に定めることができる。これにより、実施の形態５と同様に、第２パンクチャパターンを情報系列長と時変周期との対応毎に複数用意しておく必要がなくなる。
【０２５０】
また、実施の形態５では、パディング系列が挿入されることにより、伝送効率を僅かながら低下させてしまうのに対し、本実施の形態では、パディング系列は挿入されないので、伝送効率を維持したまま、良好な復号特性を得ることができる。
【０２５１】
以上のように、本実施の形態によれば、情報系列に対しＬＤＰＣ−ＣＣ符号化を施し得られる組織符号系列に対しては、第１パンクチャパターンに基づいてパンクチャし、ターミネーション系列に対しては、第１パンクチャパターンに対する符号化率よりも符号化率が高い第２パンクチャパターンに基づいてパンクチャするようにした。このようにすることで、実施の形態４と同様に、送信するターミネーション系列の量を削減し、伝送効率を改善することができる。加えて、本実施の形態では、パディング系列を挿入せずに、ターミネーション系列に対しては、第２パンクチャパターンのブロックの先頭をｃ×ｍｏｄ（−Ｎ０，ω）ビットだけずらして配置するようにした。これにより、情報系列長Ｎ０によらず、ターミネーション系列の先頭のインデックスと、検査行列を構成する検査多項式との対応関係が一意に定まるようになるという実施の形態５と同様の効果を得つつ、パディング系列を挿入する実施の形態５に比べ、伝送効率の低下を回避することができるようになる。
【０２５２】
（実施の形態７）
実施の形態１〜実施の形態３では、対角成分に対して未来の領域に‘１’の要素を配置する検査行列を用いてＬＤＰＣ−ＣＣ符号化を施す場合について説明した。各実施の形態において説明したように、当該検査行列を用いることにより、ターミネーション系列を削減することができる。
【０２５３】
本実施の形態では、実施の形態１〜実施の形態３における検査行列を用いてＬＤＰＣ−ＣＣ符号化を施し得られた送信符号語系列に対し、実施の形態４において説明したパンクチャ方法を適用する場合について説明する。具体的には、本実施の形態では、パンクチャパターンに応じて、検査行列を変形する。
【０２５４】
図２９に、本実施の形態におけるもとの検査行列とパンクチャパターンとの対応を示す。図２９の検査行列Ｈは、メモリ長Ｍ＝２０の周期ω＝２の時変ＬＤＰＣ−ＣＣ検査行列の一例である。なお、図２０の検査行列Ｈは、情報ビットのメモリ長Ｍ１＝２０であり、パリティビットのメモリ長Ｍ２＝９である。
【０２５５】
図２９のＬＤＰＣ−ＣＣのメモリ長はＭ＝２０であるため、組織符号系列の後部（ｃ×Ｍ）ビットの信頼度伝搬を系列前半と同等にするためには、本来２０ビットのターミネーション系列が必要となる。しかし、図２９の例では、Ｌ２＝１２ビットのターミネーション系列のみが付加されている。つまり、ターミネーション系列が４割削減される。また、実施の形態４で説明したように、図２９の破線枠で囲まれたターミネーション系列にパンクチャが施され、これにより、送信するターミネーション系列の量が削減される。
【０２５６】
ここで、図２９のＬＤＰＣ−ＣＣ検査行列の列重みに着目する。本来必要となる２０ビットのターミネーション系列を付加していないにも関わらず、組織符号系列のパリティ系列の列重みは全て２以上となるようにすることができている。これは、ターミネーション系列長Ｌ２を、パリティビットのメモリ長Ｍ２よりも長く設定しているからである（Ｌ２≧Ｍ２）。
【０２５７】
一方、ターミネーション系列長Ｌ２が、情報ビットのメモリ長Ｍ１よりも短いため、組織符号系列後部の情報ビットに対応する列重みの一部が‘１’となり、復号特性劣化の原因となる。
【０２５８】
そこで、本実施の形態では、図２９のＬＤＰＣ−ＣＣ検査行列を、以下に説明するステップ（１）及びステップ（２）により、図３０に示すように変形する。
【０２５９】
ステップ（１）
図２９の検査行列で情報ビットの列重みが１の列に対して、検査行列の対角成分よりも未来のインデックスに相当する領域に要素‘１'を加える。このようにすることで、組織符号系列のうち、情報ビットに対応する列の列重みを全て２以上とする。
【０２６０】
ステップ（２）
さらに、要素‘１’が加えられた行において、第１パンクチャパターン長Ｌｐ１の整数倍だけ、‘１’の要素を加えた列から過去の列の要素‘１’を‘０’に置き換える。
【０２６１】
上記ステップ（１）により、図３０に示すように、本実施の形態における検査行列では、組織符号系列全体の列重みを２以上とすることができるようになる。なお、各行において、要素‘１’を追加した数だけ、別の要素‘１’を‘０’に置き換えることによって（ステップ（２））、行重みが一定に保たれるようになるので、行重みが大きくなりすぎることによる特性劣化を回避することができる。
【０２６２】
本実施の形態では、検査行列の対角成分よりも未来のインデックスに要素‘１’を配置することによって、組織符号系列全体にわたり、検査行列の列重みを２以上とする。さらに、情報ビットのメモリ長Ｍ１と、パリティビットのメモリ長Ｍ２との間に、Ｍ１＞Ｍ２の関係を持たせることにより、以下の効果を得る。つまり、組織符号系列におけるパリティビットの列重みを２以上にするために必要となるターミネーション系列長Ｌ２を小さくしつつ、大きなメモリ長Ｍ１による高い符号化ゲインを得ることができる。これにより、組織符号系列全体において信頼度伝搬が行われるようになるので、図３０のＬＤＰＣ−ＣＣ検査行列を用いて符号化・復号化を行うことにより、良好な復号特性を得ることができるようになる。
【０２６３】
次に、ステップ（２）において、要素‘１’が加えられた列のインデックスと、要素‘１’が‘０’に置き換えられる列のインデックスとの差が、パンクチャパターン長Ｌｐ１の整数倍となるようにする理由について説明する。実施の形態４において説明したように、ＬＤＰＣ−ＣＣにパンクチャを施す際には、検査行列の構成とパンクチャパターンとの対応関係が重要であり、符号化率が同一であっても、パンクチャパターンや当該対応関係によって復号特性が大きく変動する。
【０２６４】
ここで、パンクチャにより消去される要素‘１’の数に着目する。図３０の各行において、要素‘１’が追加された列のパンクチャブロック内でのインデックスと、要素‘１’が‘０’に置き換えられた列のパンクチャブロック内でのインデックスとが、等しくなっている。すなわち、図２９のもとの検査行列の各行と、図３０の変形した検査行列の各行とでは、パンクチャにより消去される‘１’の要素数が等しく保たれている。これにより、変形された検査行列を用いて、ＬＤＰＣ−ＣＣ符号化を施して得られた符号語系列に、パンクチャを施すことによる復号特性の劣化を回避することができる。
【０２６５】
すなわち、変形後の本実施の形態における検査行列においても、もとの検査行列に適用したパンクチャパターンをそのまま用いて、符号語系列全体に適用することができる。パンクチャパターンをそのまま流用することが困難な場合には、例えば、検査行列が変形された部分だけに対応させた他のパンクチャパターンを用意し、符号語系列の一部に対して、他のパンクチャパターンを適用する必要がある。これに対して、本実施の形態では、パンクチャパターンをそのまま用いることができるので、変形後の検査行列に合わせてパンクチャパターンを用意する必要がない。
【０２６６】
以上のように、本実施の形態によれば、検査行列の対角成分よりも未来のインデックスに要素‘１’を配置する（ステップ（１））。このようにすることで、組織符号系列のうち、情報ビットに対応する列の列重みを、全て２以上とすることができるようになる。さらに、要素‘１’が加えられた行において、第１パンクチャパターン長Ｌｐ１の整数倍だけ、‘１’の要素を加えた列から過去の列の要素‘１’を‘０’に置き換える（ステップ（２））ことにより、行重みが一定に保たれるようになるので、行重みが大きくなりすぎることによる特性劣化を回避することができる。この結果、ターミネーション系列にパンクチャを施すことによって必要なターミネーション系列の量を削減し、かつパンクチャによる可変符号化率を達成することができる。
【０２６７】
なお、実施の形態４〜実施の形態７では、組織符号系列とターミネーション系列とに、それぞれ一定のパンクチャパターンを用いてパンクチャする場合について説明したが、さらに、それぞれの系列内のインデックスによってパンクチャパターンを変化させても良い。例えば、組織符号系列のうち誤りの生じやすい系列後半については、前半よりも符号化率が低くなるようなパンクチャパターンを適用しても良い。
【０２６８】
（他の実施の形態１）
ここでは、パンクチャを容易に行うことが可能であり、かつ、符号化器の構成が簡単な時変ＬＤＰＣ−ＣＣの構成について説明する。特に、本実施の形態では、周期的にデータをパンクチャすることができるＬＤＰＣ−ＣＣについて説明する。ＬＤＰＣ符号では、これまで、周期的にデータをパンクチャするパンクチャ方法については、十分な検討がなされておらず、特に、簡単にパンクチャを行う方法について、十分に議論がされているわけではない。本実施の形態におけるＬＤＰＣ−ＣＣでは、データをランダムにパンクチャするのではなく、周期的に、かつ、規則的にパンクチャすることができると、受信品質の劣化を抑えることができる。以下では、符号化率Ｒ＝１／２の上記を実現できる時変ＬＤＰＣ−ＣＣの構成方法について説明する。
【０２６９】
符号化率１／２のとき、情報系列（データ）の多項式表現をＸ（Ｄ）、パリティの系列の多項式表現をＰ（Ｄ）とすると、パリティ検査多項式は以下のようにあらわされる。
【数３０】
2009201084.tif 000032
【０２７０】
式（３０）において、ａ１、ａ２、・・・、ａｎは１以上の整数（ただし、ａ１≠ａ２≠・・・≠ａｎであり、ａ１からａｎは、互いに全て異なる）とする。また、ｂ１、ｂ２、・・・ｂｍは１以上の整数（ただし、ｂ１≠ｂ２≠・・・≠ｂｍであり、ｂ１からｂｍは、互いに全て異なる）とする。ここで、符号化を容易に行うことを可能とするため、Ｄ０Ｘ（Ｄ）、および、Ｄ０Ｐ（Ｄ）の項（Ｄ０＝１）が存在するものとする。したがって、Ｐ（Ｄ）は以下のようにあらわされる。
【数３１】
2009201084.tif 000033
【０２７１】
式（３１）から分かるように、Ｄ０＝１が存在し、かつ、過去のパリティの項、つまり、ｂ１、ｂ２、・・・ｂｍが１以上の整数であるため、パリティＰを逐次的に求めることができる。
【０２７２】
次に、式（３０）とは異なる符号化率１／２のパリティ検査多項式を以下のようにあらわす。
【数３２】
2009201084.tif 000034
【０２７３】
式（３２）において、Ａ１、Ａ２、・・・、ＡＮは１以上の整数（ただし、Ａ１≠Ａ２≠・・・≠ＡＮであり、Ａ１からＡＮは、互いに全て異なる）とする。また、Ｂ１、Ｂ２、・・・、ＢＭは１以上の整数（ただし、Ｂ１≠Ｂ２≠・・・≠ＢＭであり、Ｂ１からＢＭは、互いに全て異なる）とする。ここで、符号化を容易に行うことを可能とするため、Ｄ０Ｘ（Ｄ）およびＤ０Ｐ（Ｄ）の項（Ｄ０＝１）が存在するものとする。このときＰ（Ｄ）は、式（３３）のようにあらわされる。
【数３３】
2009201084.tif 000035
【０２７４】
以下、時点２ｉのデータＸとパリティＰをそれぞれＸ２ｉ、Ｐ２ｉであらわし、時点２ｉ＋１のデータＸとパリティＰをそれぞれＸ２ｉ＋１、Ｐ２ｉ＋１であらわす（ｉ：整数）。
【０２７５】
本実施の形態では、時点２ｉのパリティＰ２ｉは式（３１）を用いて算出し（符号化し）、時点２ｉ＋１のパリティＰ２ｉ＋１は式（３３）を用いて算出する（符号化する）時変周期が２のＬＤＰＣ−ＣＣを提案する。上述の実施の形態と同様に、パリティは、逐次的に簡単に求めることができるという利点がある。
【０２７６】
以下では、式（３０）及び式（３２）の一例として、式（３４）及び式（３５）を用いて説明する。
【数３４】
2009201084.tif 000036
【数３５】
2009201084.tif 000037
【０２７７】
このとき検査行列Ｈは、図３１のようにあらわすことができる。図３１において、（Ｈａ，１１）は式（３４）に相当する部分であり、（Ｈｃ，１１）は式（３５）に相当する部分である。以下では、（Ｈａ，１１）及び（Ｈｃ，１１）をサブ行列と定義する。
【０２７８】
このように、本提案の時変周期２のＬＤＰＣ−ＣＣの検査行列Ｈを、式（３０）のパリティ検査多項式をあらわす第１サブ行列と、式（３２）のパリティ検査多項式をあらわす第２サブ行列と、により定義することができる。具体的には、検査行列Ｈにおいて、第１サブ行列と第２サブ行列とが行方向に交互に配置されるようにした。なお、符号化率１／２の場合、第ｉ行と第ｉ＋１行とでは、サブ行列が２列右にシフトした構成となる（図３１参照）。
【０２７９】
また、時変周期２の時変ＬＤＰＣ−ＣＣの場合、第ｉ行のサブ行列と第ｉ＋１行のサブ行列とは、異なるサブ行列となる。つまり、サブ行列（Ｈａ，１１）又は（Ｈｃ，１１）のいずれか一方が第１サブ行列であり、他方が第２サブ行列となる。送信ベクトルｕを、ｕ＝（Ｘ０、Ｐ０、Ｘ１、Ｐ１、・・・、Ｘｋ、Ｐｋ、・・・・）Ｔとすると、Ｈｕ＝０が成立する。この点については、実施の形態１で説明したとおりである（式（３）参照）。
【０２８０】
図３１の検査行列、つまり、時変周期２の検査行列を用いてＢＰ復号を行った場合、実施の形態１から実施の形態６で説明したＬＤＰＣ−ＣＣに比べ、データの受信品質が大きく改善することが確認された。
【０２８１】
以上、時変周期が２の場合について説明したが、時変周期は２に限られない。しかし、時変周期が大きすぎると、周期的にパンクチャすることが難しく、例えば、ランダムにパンクチャする必要があり、受信品質が劣化してしまう可能性がある。以下に、時変周期を小さくすることにより、受信品質が改善するという利点について説明する。
【０２８２】
図３２に、時変周期１の場合のパンクチャ方法の一例を示す。同図において、Ｈは、ＬＤＰＣ−ＣＣの検査行列であり、送信系列ベクトルをｖであらわすと、式（３６）の関係式が成立する。
【数３６】
2009201084.tif 000038
ここで、送信系列ベクトルｖ＝（ｖ１、ｖ２、ｖ３、ｖ４、ｖ５、ｖ６、・・・、ｖ2i、ｖ2i+1、・・・）Ｔである。
【０２８３】
図３２は、符号化率Ｒ＝１／２の送信系列をパンクチャし、符号化率Ｒ＝３／４（＝１／２）×｛６／（６−２）｝とする場合の例を示している。パンクチャを周期的に行う場合、まず、パンクチャビットを選択するためのブロック周期を設定する。図３２には、ブロック周期を６とし、ブロックが点線（３２０２）のように設定される例が示されている。そして、１ブロックを構成する６ビットのうち２ビットがパンクチャビットとして選択され、選択された２ビットは、送信されないビットとして設定される。図３２では、丸印で囲まれたビット３２０１が、送信されないビットとなる。このようにして、符号化率３／４を実現することができる。したがって、送信データ系列は、ｖ１、ｖ３、ｖ４、ｖ５、ｖ７、ｖ９、ｖ１１、ｖ１３、ｖ１５、ｖ１６、ｖ１７、ｖ１９、ｖ２１、ｖ２２、ｖ２３、ｖ２５、・・・となる。
【０２８４】
図３２において四角枠で囲まれた“１”は、パンクチャにより、受信時に、初期の対数尤度比が存在しないので、対数尤度比が０に設定されることになる。
【０２８５】
ＢＰ復号では行演算と列演算とを反復して行う。したがって、初期の対数尤度比が存在しない（対数尤度比が０の）ビット（消失ビット）が、同一行に２つ以上含まれると、当該行では、列演算により初期の対数尤度比が存在しない（対数尤度比が０の）ビットの対数尤度比が更新されるまで、行演算単独では、対数尤度比が更新されないことになる。すなわち、行演算単独では信頼度が伝搬されず、信頼度を伝搬させるためには、行演算と列演算とを反復する必要がある。したがって、このような行が多数存在すると、ＢＰ復号において反復処理数に制限があるような場合、または、反復処理を何度行っても信頼度が伝搬されずに、受信品質の劣化を招く原因となる。図３２に示す例では、四角枠で囲まれた１に対応するビットが消失ビットを示し、行３２０３が、行演算単独では信頼度が伝搬されない行、つまり、受信品質の劣化を招く原因となる行となる。
【０２８６】
したがって、パンクチャビット（送信しないビット）の決定方法、すなわち、パンクチャパターンの決定方法として、パンクチャにより、単独では、信頼度が伝播されない行ができるだけ少なくなるような方法を探索する必要がある。以下、パンクチャビットの選択方法の探索について説明する。
【０２８７】
１ブロックを構成する６ビットのうち２ビットをパンクチャビットとする場合、２ビットの選択方法は３×２Ｃ２存在する。このうち、ブロック周期の６ビットの中で巡回シフトした選択方法は、同一とみなすことができる。以下、図３４Ａを用いて補足説明をする。一例として、図３４Ａに、６ビットのうち２ビットを連続してパンクチャする場合の６通りのパンクチャパターンを示す。○がパンクチャされるビットであり、×がパンクチャされないビットである。図３４Ａにおいて示すように、パンクチャパターン＃１〜＃３は、ブロック区切りを変更することで、同一のパンクチャパターンとなる。同様に、パンクチャパターン＃４〜＃６も、ブロック区切りを変更することで、同一のパンクチャパターンとなる。このように、ブロック周期の６ビットの中で巡回シフトした選択方法は、同一とみなすことができる。したがって、パンクチャビットの選択方法は、３×２Ｃ２×２／(３×２)＝５通り存在する。
【０２８８】
なお、１ブロックがＬ×ｋビットから構成され、Ｌ×ｋビットのうち、ｋビットをパンクチャする場合、式（３７）により求められる数のパンクチャパターンが存在する。
【数３７】
2009201084.tif 000039
【０２８９】
一つのパンクチャパターンに着目した場合の、符号化系列とパンクチャパターンとの関係を図３４Ｂに示す。○がパンクチャされるビットであり、×がパンクチャされないビットである。なお、図示していないが、Ｘｉ＋３、Ｐｉ＋３においても、パンクチャビットとなる。このため、図３４Ｂから分かるように、１ブロックを構成する６ビットのうち２ビットをパンクチャした場合、パンクチャパターン１つに対し、存在する検査式のパターンは、（３×２）×１／２となる。同様に、１ブロックがＬ×ｋビットから構成され、Ｌ×ｋビットのうち、ｋビットをパンクチャする場合、パンクチャパターン１つに対し、式（３８）により求められる数の検査式が存在する。
【数３８】
2009201084.tif 000040
【０２９０】
したがって、パンクチャパターンの選択方法において、式（３９）から求められる数の検査式（行）について、単独で、信頼度が伝播されるか否かチェックする必要がある。
【数３９】
2009201084.tif 000041
【０２９１】
以上の関係から、符号化率１／２の符号から符号化率３／４とする場合、Ｌ×ｋビットのブロックからｋビットをパンクチャする場合、式（４０）から求められる数の検査式（行）について、単独で、信頼度が伝播されるか否かチェックする必要がある。
【数４０】
2009201084.tif 000042
【０２９２】
そして、よいパンクチャパターンが見つからない場合、Ｌ及びｋを増加させる必要がある。
【０２９３】
次に、時変周期がｍの場合について検討する。この場合も、時変周期が１の場合と同様に、式（３０）であらわされる異なるｍ個の検査式を用意する。以下、ｍ個の検査式を、「検査式＃１、検査式＃２、・・・、検査式＃ｍ」と名付ける。
【０２９４】
そして、時点ｍｉ＋１のパリティＰｍｉ＋１を「検査式＃１」を用いて求め、時点ｍｉ＋２のパリティＰｍｉ＋２を「検査式＃２」を用いて求め、・・・、時点ｍｉ＋ｍのパリティＰｍｉ＋ｍを「検査式＃ｍ」を用いて求めるＬＤＰＣ−ＣＣを考える。このとき、図３１と同様に考えると、検査行列は図３３のようにあらわされる。すると、符号化率１／２の符号から符号化率３／４とする場合、例えば、６ビットのブロックから２ビットをパンクチャする場合について、式（３９）と同様に考えると、式（４１）から求められる数の検査式（行）について、単独では、信頼度が伝播されない行であるかどうかをチェックする必要がある。
【数４１】
2009201084.tif 000043
なお、式（４１）において、ＬＣＭ｛α，β｝は、自然数αと自然数βとの最小公倍数をあらわす。
【０２９５】
式（４１）から分かるように、ｍの増加に伴い、チェックしなければならない検査式が増加する。そのため、周期的にパンクチャを行うパンクチャ方法は適さず、例えば、ランダムにパンクチャする方法を用いることになるため、受信品質が劣化する可能性がある。
【０２９６】
なお、図３４Ｃに、パンクチャにより、Ｌ×ｋビットからｋビットをパンクチャして、符号化率Ｒ＝２／３，３／４，５／６の符号系列を生成する場合に、チェックしなければならないパリティ検査多項式の数を示す。
【０２９７】
現実的に、最良なパンクチャパターンを探索できる時変周期は２から１０程度である。特に、最良なパンクチャパターンを探索できる時変周期、および、受信品質の向上を考慮すると、時変周期２は適している。さらに、時変周期が２で、式（３０）、式（３２）のような検査式を周期的に繰り返した場合、符号・復号器が非常に簡単に構成することができるという利点がある。
【０２９８】
なお、時変周期３、４、５、・・・１０の場合には、時変周期が２の場合に比べると、符号・復号器の構成が若干大きくなるももの、時変周期２の場合と同様に、式（３０）、式（３２）に基づく複数のパリティ検査式を周期的に繰り返す場合には、簡易な構成を採ることができる。
【０２９９】
なお、時変周期がsemi-infinite（極端に長い周期）であったり、ＬＤＰＣ−ＢＣをもとにＬＤＰＣ−ＣＣを作成する場合、一般に、時変周期が非常に長くなってしまうため、周期的にパンクチャビットを選択する方式を採用し、最良のパンクチャパターンを探索することは困難である。例えば、ランダムにパンクチャビットを選択する方式の採用が考えられるが、パンクチャ時の受信品質が大きく劣化する可能性がある。
【０３００】
なお、式（３０）、（３２）、（３４）、（３５）において、両辺にＤｎを乗算して検査多項式を表現することもできる。本実施の形態では、式（３０）、（３２）、（３４）、（３５）においてＤ０Ｘ（Ｄ）、及び、Ｄ０Ｐ（Ｄ）の項（Ｄ０＝１）が存在するものとした。
【０３０１】
このようにすることで、パリティが逐次的に演算することができるため、符号化器の構成が簡易になり、又、組織符号の場合、時点ｉのデータへの信頼度伝播を考えると、データ及びパリティの双方にＤ０の項が存在すると、データへの信頼度伝搬を簡単に理解することができるため、符号設計を容易に行うことができる。なお、符号設計の容易性を考慮しないのであれば、式（３０）、（３２）、（３４）、（３５）において、Ｄ０Ｘ（Ｄ）が存在する必要はない。
【０３０２】
図３５Ａに、時変周期２のＬＤＰＣ−ＣＣの検査行列の一例を示す。図３５Ａに示されるように、時変周期２の場合、パリティ検査式３５０１と、パリティ検査式３５０２との２つのパリティ検査式が、交互に用いられる。
【０３０３】
また、図３５Ｂに、時変周期４のＬＤＰＣ−ＣＣの検査行列の一例を示す。図３５Ｂに示されるように、時変周期４の場合、パリティ検査式３５０１と、パリティ検査式３５０２と、パリティ検査式３５０３と、パリティ検査式３５０４との４つのパリティ検査式が、繰り返し用いられる。
【０３０４】
以上のように、本実施の形態によれば、パリティ検査多項式（３０）と、式（３０）と異なるパリティ検査多項式（３２）と、からなる時変周期２の検査行列により、パリティ系列を求めるようにした。なお、時変周期は２に限られず、例えば、図３５Ｂに示すような、時変周期４の検査行列を用いて、パリティ系列を求めるようにしてもよい。ただし、時変周期ｍが大きすぎると、周期的にパンクチャすることが難しく、例えばランダムにパンクチャすることになるため、受信品質が劣化してしまう。現実的に、最適なパンクチャパターンを探索できる時変周期は、２から１０程度である。この場合、受信品質を向上することができるとともに、周期的にパンクチャを行うことができるので、ＬＤＰＣ−ＣＣの符号化器を簡単に構成することができる。
【０３０５】
なお、検査行列Ｈにおける行重み、つまり、検査行列を構成する行要素のうち、１である要素数が、７〜１２であると良好な受信品質が得られることが確認されている。非特許文献４に記載されているように、畳み込み符号において最小距離が優れている符号を考えると、拘束長が大きくなるにつれ、行重みが増える、例えば、拘束長１１のフィードバック畳み込み符号では、行重みが１４となることを考慮すると、行重みが７〜１２とする点は、本提案のＬＤＰＣ−ＣＣ特有の値であると考えることができる。また、符号設計のメリットを考慮した場合、ＬＤＰＣ−ＣＣの検査行列の各行の行重みを等しくすると設計が容易となる。
【０３０６】
また、以上の説明では、符号化率１／２の場合について説明したが、これに限られず、符号化率１／２以外においても、時変周期ｍの検査行列を用いてパリティ系列を求めることができ、時変周期２から時変周期１０程度の場合、同様の効果を得ることができる。
【０３０７】
特に、符号化率Ｒ＝５／６、７／８以上の場合、本実施の形態で説明した時変周期２または時変周期ｍのＬＤＰＣ−ＣＣにおいて、消失ビットを２つ以上含む行のみにより構成されないようなパンクチャパターンを選択する。つまり、消失ビットが０または１つの行が存在するようなパンクチャパターンを選択することは、符号化率Ｒ＝５／６、７／８以上のように、符号化率が高い場合に良好な受信品質を得る上で重要となる。
【０３０８】
なお、上述の実施の形態４では、ターミネーション系列にパンクチャを施すことによって送信するターミネーション系列を削減することができる送信装置について説明した。実施の形態４において、良好な復号特性を得ることができるのは、本実施の形態で述べたように、時変周期が短いと好適なパンクチャパターンを探索することができるからである。
【０３０９】
（他の実施の形態２）
本実施の形態では、実施の形態４〜実施の形態７及び他の実施の形態１と、非特許文献３との違いについて説明する。
【０３１０】
非特許文献３では、符号化率１／２の場合に、ＬＤＰＣ−ＢＣ（Low-Density Parity-Check Block Code）から時変周期４のＬＤＰＣ−ＣＣを設計する手法について述べられている。
【０３１１】
以下、図面を用いながら、非特許文献３のＬＤＰＣ−ＣＣ設計手法ついて簡単に説明する。
【０３１２】
図３６は、非特許文献３に記載の設計手法を説明するために供する図である。図３６を用いて、符号化率１／２のＬＤＰＣ−ＢＣから時変周期４のＬＤＰＣ−ＣＣを設計する手法について説明する。非特許文献３では、以下に説明するステップ（１）〜ステップ（３）によりＬＤＰＣ−ＣＣの検査行列が生成される。
【０３１３】
ステップ（１）
ＬＤＰＣ−ＣＣのベースとなるＬＤＰＣ−ＢＣを設定する。非特許文献３によると、符号化率１／２、時変周期ｍのＬＤＰＣ−ＣＣを作成する場合、ｍ行×２ｍ列のＬＤＰＣ―ＢＣが必要となる。
【０３１４】
図３６Ａの検査行列３６０１は、時変周期４のＬＤＰＣ−ＣＣのベースとなるＬＤＰＣ−ＢＣのパリティ検査行列の構成の一例を示している。上述したように、時変周期４の場合、４行×８列のＬＤＰＣ−ＢＣの検査行列が、ベースの検査行列となる。
【０３１５】
ステップ（２）
そして、検査行列３６０１に対し、所定の処理を施し、検査行列３６０２を作成する（図３６Ｂ参照）。なお、具体的な処理については、非特許文献３に記載されているので説明を省略する。
【０３１６】
ステップ（３）
そして、図３６Ｃに示すように、検査行列３６０２に「１１」を追加し、検査行列３６０３を作成する。
【０３１７】
このように、非特許文献３では、ステップ（１）〜ステップ（３）により、４行×８列のＬＤＰＣ−ＢＣから時変周期４のＬＤＰＣ−ＣＣの検査行列が作成される。
【０３１８】
このようにして得られた検査行列３６０３に対応するパリティ検査多項式は、式（４２）であらわされる。
【数４２】
2009201084.tif 000044
【０３１９】
式（４２）において、ａ１、ａ２、・・・、ａｐは、１以上の整数（ただし、ａ１≠ａ２≠・・・≠ａｐであり、ａ１からａｐは、互いに全て異なる）である。また、ｂ１、ｂ２、・・・ｂｑは、１以上の整数（ただし、ｂ１≠ｂ２≠・・・≠ｂｑであり、ｂ１からｂｑは、互いに全て異なる）である。
【０３２０】
図３６Ｃから分かるように、時変周期４のＬＤＰＣ−ＣＣでは、式（４２）に基づく異なるパリティ検査多項式が４つ存在することになる。したがって、時変周期４のＬＤＰＣ−ＣＣを設計する際、４行×８列のＬＤＰＣ−ＢＣの検査行列がベースとされ、ステップ（３）において、図３６Ｃのように「１１」が追加されるので、ベースとなるＬＤＰＣ−ＢＣの検査行列を構成する４つの異なる全てのパリティ検査多項式において、ａｉ≦４（ｉ＝１、２、・・・、ｐ）、および、ｂｊ≦４（ｊ＝１、２、・・・、ｑ）となることを意味する。
【０３２１】
すなわち、非特許文献３にしたがって時変周期４のＬＤＰＣ−ＣＣを設計する場合には、最大拘束長は、４＋１＝５となる。
【０３２２】
同様に、非特許文献３の設計方法により、時変周期ｍのＬＤＰＣ−ＣＣを設計した場合には、ベースとなるＬＤＰＣ−ＢＣの検査行列を構成する、ｍ個の異なる全てのパリティ検査多項式において、式（４２）において、ａｉ≦ｍ（ｉ＝１、２、・・・、ｐ）、および、ｂｊ≦ｍ（ｊ＝１、２、・・・、ｑ）が成立する。
【０３２３】
すなわち、非特許文献３にしたがって時変周期ｍのＬＤＰＣ―ＣＣを設計する場合、ｍ行×２ｍ列のＬＤＰＣ−ＢＣの検査行列がベースとされ、ステップ（３）において、「１１」が追加されるので、最大拘束長は、ｍ＋１となる。
【０３２４】
同様に、非特許文献３の設計方法により、時変周期２のＬＤＰＣ−ＣＣを設計した場合には、ベースとなるＬＤＰＣ−ＢＣの検査行列を構成する、２つの異なる全てのパリティ検査多項式において、ａｉ≦２（ｉ＝１、２、・・・、ｐ）、および、ｂｊ≦２（ｊ＝１、２、・・・、ｑ）が成立する。
【０３２５】
すなわち、非特許文献３にしたがって時変周期２のＬＤＰＣ−ＣＣを設計する場合には、最大拘束長は、２＋１＝３となる。このように、非特許文献３の設計方法により、時変周期ｍのＬＤＰＣ―ＣＣを設計する場合、最大拘束長は、ｍ＋１となる。したがって、受信品質（誤り訂正能力）を向上させるために拘束長が長い、例えば、拘束長１００以上（１００、・・・、５００、・・・、１０００、・・・、２０００、・・・、１００００、・・・、２００００、・・・）のＬＤＰＣ−ＣＣを設計する場合、非特許文献３にしたがってＬＤＰＣ−ＣＣを設計すると、拘束長と同程度の値の時変周期が必要となる。
【０３２６】
上述の他の実施の形態１において説明したように、時変周期が大きすぎると、周期的にパンクチャすることが難しく、例えば、ランダムにパンクチャする必要があり、受信品質が劣化してしまう可能性がある。よって、非特許文献３の設計方法を用いて、時変ＬＤＰＣ−ＣＣを設計すると、パンクチャを適用して複数符号化率に対応することと、受信品質（誤り訂正能力）を向上させることとの両立が困難となる場合がある。
【０３２７】
仮に、非特許文献３の設計方法を用いて、他の実施の形態１で説明したパンクチャ適用可能な時変周期２から時変周期１０程度のＬＤＰＣ―ＣＣを設計した場合、時変周期２では、最大拘束長は３（＝２＋１）となり、式（４２）において、ａｉ≦２（ｉ＝１、２、・・・、ｐ）、および、ｂｊ≦２（ｊ＝１、２、・・・、ｑ）となる。同様に、時変周期１０では、最大拘束長１１（＝１０＋１）となり、つまり、式（４２）において、ａｉ≦１０（ｉ＝１、２、・・・、ｐ）、および、ｂｊ≦１０（ｊ＝１、２、・・・、ｑ）となる。
【０３２８】
このように、非特許文献３に開示される設計方法を用いる場合には、時変周期が短いほど、最大拘束長も同程度に短くなる。一般に、ＬＤＰＣ−ＣＣでは、拘束長が長くなるほど、信頼度が伝搬される範囲が広くなるため、受信特性が改善される。しかし、非特許文献３では、時変周期が短い場合には、拘束長も同時に短くなってしまうため、良好な受信品質（訂正能力）を得ることが困難となる。
【０３２９】
すなわち、非特許文献３では、良好な受信品質を得るために、パリティ検査多項式の拘束長を長くすると、時変周期も同時に長くなってしまうため、周期的にパンクチャするのが難しい。また、非特許文献３では、時変周期を短くすると、拘束長も共に短くなってしまうため、良好な受信品質を得ることが困難となる。
【０３３０】
これに対し、他の実施の形態１で説明したように、ＬＤＰＣ−ＣＣにおいて、以下の要件を付加することにより、パンクチャによる複数符号化率の対応と受信品質の向上とを両立することができる。
【０３３１】
［要件］
・時変周期を２から１０程度に設定する。
・時変周期ｍでは、拘束長をｍ＋２以上とする。換言すると、式（１５２）に基づく異なるｍ個のパリティ検査多項式を用いる場合、当該ｍ個のすべてのパリティ検査多項式で、ａｉ（ｉ＝１、２、・・・、ｐ）の最大値Ａｍａｘとｍとの間に、Ａｍａｘ≧ｍ＋１が成立し、ｂｉ（ｉ＝１、２、・・・、ｑ）の最大値Ｂｍａｘとｍとの間に、Ｂｍａｘ≧ｍ＋１が成立する。良好な受信品質を得るためには、ＡｍａｘまたはＢｍａｘのいずれかを１００以上とすることが望まれる。
・行重みを７〜１２に設定する。
【０３３２】
一方、パンクチャパターンを最も簡単に探索することが可能な時変周期２のＬＤＰＣ−ＣＣを、非特許文献３の設計方法により設計した場合、最大拘束長は３となり、２つの異なる式（４２）において、ａｉ≦２（ｉ＝１、２、・・・、ｐ）、および、ｂｊ≦２（ｊ＝１、２、・・・、ｑ）となる。したがって、非特許文献３の設計方法を用いて、時変周期２のＬＤＰＣ―ＣＣを設計する場合、行重みは最大６となる。
【０３３３】
したがって、他の実施の形態１等で説明した受信品質の向上とパンクチャにより複数符号化率の対応とを両立するための時変周期２のＬＤＰＣ−ＣＣの要件の中で、「行重みを７〜１２と設定する。」は、本願発明の特有の要件となる。
【０３３４】
本発明は、上記実施の形態に限定されず、種々変更して実施することが可能である。例えば、上記実施の形態では、符号化器又は送信装置として行う場合について説明しているが、これに限られるものではなく、この符号化方法又は復号方法をソフトウェアとして行うことも可能である。
【０３３５】
また、本発明は、無線通信に限らず、電灯線通信（ＰＬＣ：Power Line Communication）、可視光通信、光通信においても有用であることは言うまでもない。
【産業上の利用可能性】
【０３３６】
本発明に係る符号化器及び送信装置は、畳み込み符号を適用した通信システムにおける符号化器及び送信装置として有用である。
【図面の簡単な説明】
【０３３７】
【図１】本発明の実施の形態１に係るＬＤＰＣ−ＣＣ検査行列の一例を示す図
【図２】図２Ａは、実施の形態１に係る情報部分検査行列の一例を示す図であり、図２Ｂは、実施の形態１に係るパリティ部分検査行列の一例を示す図
【図３】実施の形態１に係るＬＤＰＣ−ＣＣ符号化器の構成を示すブロック図
【図４】実施の形態１に係るＬＤＰＣ−ＣＣ符号化器のデータ入力と符号語出力とのタイミングの対応を示す図
【図５】実施の形態１に係るＬＤＰＣ−ＣＣ検査行列の別の一例を示す図
【図６】図５の検査行列に対応するＬＤＰＣ−ＣＣを符号化する際の、ＬＤＰＣ−ＣＣ符号化器のデータ入力と符号既出力とのタイミングの対応を示す図
【図７】本発明の実施の形態２に係るＬＤＰＣ−ＣＣ検査行列の一例を示す図
【図８】実施の形態２におけるＬＤＰＣ−ＣＣ符号化器の構成を示すブロック図
【図９】実施の形態２に係るＬＤＰＣ−ＣＣ符号化器のデータ入力と符号語出力とのタイミングの対応を示す図
【図１０】本発明の実施の形態３に係るＬＤＰＣ−ＣＣ検査行列の一例を示す図
【図１１】従来のＬＤＰＣ−ＣＣ検査行列の一例を示す図
【図１２】実施の形態３に係るＬＤＰＣ−ＣＣ検査行列の一例を示す図
【図１３】実施の形態３に係るＬＤＰＣ−ＣＣ検査行列の別の一例を示す図
【図１４】実施の形態２において説明したＬＤＰＣ−ＣＣ検査行列を示す図
【図１５】実施の形態３に係るＬＤＰＣ−ＣＣ検査行列の作成方法について供する図
【図１６】実施の形態３に係るＬＤＰＣ−ＣＣ検査行列の一部を抜粋した図
【図１７】実施の形態３に係るＬＤＰＣ−ＣＣ検査行列の一例を示す図
【図１８】一般的なパンクチャ方法を説明するための図
【図１９】送信符号語系列ｖと時変周期ω＝２のＬＤＰＣ−ＣＣ検査行列Ｈとの対応関係を示す図
【図２０】送信符号語系列ｖと時変周期ω＝２のＬＤＰＣ−ＣＣ検査行列Ｈとの別の対応関係を示す図
【図２１】ＬＤＰＣ−ＣＣ符号化により得られた送信符号語系列にパンクチャを施す送信装置の構成の一例を示すブロック図
【図２２】本発明の本実施の形態４における、検査行列とパンクチャパターンとの対応関係を示す図
【図２３】図２２のパンクチャパターンからさらに情報ビットに対応するビットを消去するパンクチャパターンを示す図
【図２４】実施の形態４に係る送信装置の要部構成の一例を示すブロック図
【図２５】本発明の実施の形態５に係る送信装置の要部構成の一例を示すブロック図
【図２６】本実施の形態５における情報系列、パディング系列、及び、符号語系列の対応を示す図
【図２７】本実施の形態５における検査行列とパンクチャパターンとの対応を示す図
【図２８】本発明の本実施の形態６におけるＬＤＰＣ−ＣＣ符号語系列と、パンクチャパターンとの対応関係を示す図
【図２９】本発明の本実施の形態７における元の検査行列とパンクチャパターンとの対応を示す図
【図３０】本実施の形態７における検査行列とパンクチャパターンとの対応を示す図
【図３１】本発明の他の実施の形態１におけるＬＤＰＣ−ＣＣの検査行列の構成の一例を示す図
【図３２】他の実施の形態１における時変周期１のＬＤＰＣ−ＣＣの検査行列の構成の一例を示す図
【図３３】他の実施の形態１における時変周期ｍのＬＤＰＣ−ＣＣの検査行列の構成の一例を示す図
【図３４Ａ】パンクチャパターン数を説明するための図
【図３４Ｂ】符号化系列とパンクチャパターンとの関係を示す図
【図３４Ｃ】パンクチャパターンを選択するためにチェックしなければならいパリティ検査多項式の数を示す図
【図３５Ａ】時変周期２のＬＤＰＣ−ＣＣの検査行列の構成の一例を示す図
【図３５Ｂ】時変周期４のＬＤＰＣ−ＣＣの検査行列の構成の一例を示す図
【図３６】非特許文献３に記載の設計手法を説明するために供する図
【図３７】従来のＬＤＰＣ−ＣＣ検査行列の一例
【図３８】従来のＬＤＰＣ−ＣＣ符号化器の構成を示すブロック図
【図３９】テイルビットを必要とする従来のＬＤＰＣ−ＣＣ検査行列の一例を示す図
【符号の説明】
【０３３８】
１００，５００，７００，１０００，１１００，１２００，１３００，１７００  ＬＤＰＣ−ＣＣ検査行列
１１０  情報部分検査行列
１２０  パリティ部分検査行列
２００，８００  ＬＤＰＣ−ＣＣ符号化器
２１０−（−Ｍ１＋１）〜２１０−Ｍ１，２４０−１〜２４０−Ｍ２，８１０−（−Ｍ１＋１）〜８１０−Ｍ１，８４０−１〜８４０−Ｍ２  シフトレジスタ
２２０−（−Ｍ１）〜２２０−Ｍ１，２３０−０〜２３０−Ｍ２，８２０−（−Ｍ１）〜８２０−Ｍ１，８３０−０〜８３０−Ｍ２  ウェイト乗算器
２５０，８５０  ｍｏｄ２加算器
２６０，８６０  ビット数カウンタ
２７０，８７０  ウェイト制御部
２８０，８８０  保存パリティ制御部
【図１】
2009201084.tif 000045
【図２】
2009201084.tif 000046
【図３】
2009201084.tif 000047
【図４】
2009201084.tif 000048
【図５】
2009201084.tif 000049
【図６】
2009201084.tif 000050
【図７】
2009201084.tif 000051
【図８】
2009201084.tif 000052
【図９】
2009201084.tif 000053
【図１０】
2009201084.tif 000054
【図１１】
2009201084.tif 000055
【図１２】
2009201084.tif 000056
【図１３】
2009201084.tif 000057
【図１４】
2009201084.tif 000058
【図１５】
2009201084.tif 000059
【図１６】
2009201084.tif 000060
【図１７】
2009201084.tif 000061
【図１８】
2009201084.tif 000062
【図１９】
2009201084.tif 000063
【図２０】
2009201084.tif 000064
【図２１】
2009201084.tif 000065
【図２２】
2009201084.tif 000066
【図２３】
2009201084.tif 000067
【図２４】
2009201084.tif 000068
【図２５】
2009201084.tif 000069
【図２６】
2009201084.tif 000070
【図２７】
2009201084.tif 000071
【図２８】
2009201084.tif 000072
【図２９】
2009201084.tif 000073
【図３０】
2009201084.tif 000074
【図３１】
2009201084.tif 000075
【図３２】
2009201084.tif 000076
【図３３】
2009201084.tif 000077
【図３４Ａ】
2009201084.tif 000078
【図３４Ｂ】
2009201084.tif 000079
【図３４Ｃ】
2009201084.tif 000080
【図３５Ａ】
2009201084.tif 000081
【図３５Ｂ】
2009201084.tif 000082
【図３６】
2009201084.tif 000083
【図３７】
2009201084.tif 000084
【図３８】
2009201084.tif 000085
【図３９】
2009201084.tif 000086