JP2009201084A - 符号化器及び送信装置 - Google Patents
符号化器及び送信装置 Download PDFInfo
- Publication number
- JP2009201084A JP2009201084A JP2008045289A JP2008045289A JP2009201084A JP 2009201084 A JP2009201084 A JP 2009201084A JP 2008045289 A JP2008045289 A JP 2008045289A JP 2008045289 A JP2008045289 A JP 2008045289A JP 2009201084 A JP2009201084 A JP 2009201084A
- Authority
- JP
- Japan
- Prior art keywords
- sequence
- check matrix
- bits
- ldpc
- parity check
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Error Detection And Correction (AREA)
Abstract
【課題】LDPC−CC符号化・復号化に必要なターミネーション系列の量を削減し、伝送効率の劣化を抑圧しつつ、誤り訂正符号化・復号化を行うこと。
【解決手段】LDPC−CC符号化器200は、符号化率R=1/2、情報ビットのメモリ長M1の畳み込み符号化を行う符号化器であって、情報系列後部のM1個の列では、検査行列の対角成分に対し未来に相当する領域に‘1’が存在し、当該M1個の列の列重みが、それぞれ2以上となる検査行列を用いて符号化を行う。このようにすることで、情報系列後部M1ビットの列重みを、検査行列の中央付近の列重みと同程度にすることができるため、送信符号語系列の後部をターミネーション系列としなくとも良好な復号性能を得ることができる。このため、ターミネーション系列を削減できる。
【選択図】図1
【解決手段】LDPC−CC符号化器200は、符号化率R=1/2、情報ビットのメモリ長M1の畳み込み符号化を行う符号化器であって、情報系列後部のM1個の列では、検査行列の対角成分に対し未来に相当する領域に‘1’が存在し、当該M1個の列の列重みが、それぞれ2以上となる検査行列を用いて符号化を行う。このようにすることで、情報系列後部M1ビットの列重みを、検査行列の中央付近の列重みと同程度にすることができるため、送信符号語系列の後部をターミネーション系列としなくとも良好な復号性能を得ることができる。このため、ターミネーション系列を削減できる。
【選択図】図1
Description
本発明は、低密度パリティ検査畳み込み符号(LDPC−CC:Low-Density Parity-Check Convolutional Codes)を用いて誤り訂正符号化を行う符号化器及び送信装置に関する。
近年、実現可能な回路規模で高い誤り訂正能力を発揮する誤り訂正符号として、低密度パリティ検査(LDPC:Low-Density Parity-Check)符号に注目が集まっている。LDPC符号は、その誤り訂正能力の高さと、実装の容易さからIEEE802.11nの高速無線LAN(Local Area Networks)システムやデジタル放送システムなどの誤り訂正符号化方式に採用されている。
LDPC符号は低密度な(行列中に含まれる1の要素数が0の要素数に比べて大幅に少ない)パリティ検査行列で定義される誤り訂正符号である。LDPC符号は、検査行列の列数Nと等しいブロック長を持つブロック符号である(非特許文献1参照)。
しかし、現在の通信システムの多くは、イーサネット(登録商標)のように可変長のパケットやフレームに基づいて通信を行うという特徴がある。このようなシステムにブロック符号であるLDPC符号を適用する場合、例えば、可変長なイーサネット(登録商標)のフレームに対して固定長のLDPC符号のブロックをどのように対応させるかといった課題が発生する。LDPC符号が採用されている無線LANの規格であるIEEE802.11nでは、送信情報系列にパディングやパンクチャなどを適用して、送信情報系列の長さと、LDPC符号のブロック長の調節を行っている。しかし、パディング、パンクチャにより符号化率の変化や冗長な系列の送信が必要になるという問題がある。
このようなブロック符号のLDPC符号(以下「LDPC−BC:Low-Density Parity-Check Block Code」と標記する)に対して、任意の長さの情報系列に対しての符号化・復号化が可能なLDPC−CCの検討が行われている(非特許文献2参照)。
LDPC−CCは、低密度なパリティ検査行列により定義される畳み込み符号である。
図37に、一例として、符号化率R=1/2(=b/c)のLDPC−CCのパリティ検査行列H[0、n] Tを示す。
LDPC−CCにおいて、検査行列H[0,n] Tの要素h1 (m)(t),h2 (m)(t)は、0(ゼロ)または1をとる。また、検査行列H[0、n] Tに含まれるh1 (m)(t),h2 (m)(t)以外の要素は全て0である。同図中、Mは、LDPC−CCにおけるメモリ長を表し、Nは、送信情報系列の長さを表す。図37の検査行列は、行列の対角項とその近辺の要素のみ値が1となっており、行列の左下及び右上の要素は値が0である。このように、LDPC−CC検査行列は、値が1の要素の存在する領域が平行四辺形状となっているという特徴がある。なお以降、要素が1であることを指して、‘0’を‘1’に置き換える、要素が1になるように設計することを指して、‘0’を‘1’に置き換える等と表現する。
ここで、符号化率R=1/2(=b/c)の例を示すと、h1 (0)(t)=1,h2 (0)(t)=1であるとき、LDPC−CCの符号化は、図37の検査行列H[0,n] Tに従って、式(1)及び式(2)により行われる。
図38に、式(1)及び式(2)を実行するLDPC−CC符号化器の要部構成の一例を示す。図38に示すように、LDPC−CC符号化器10は、シフトレジスタ11−1〜11−M,14−1〜14−M、ウェイト乗算器12−0〜12−M,13−0〜13−M、mod2加算器15、ビット数カウンタ16、及び、ウェイト制御部17を含む構成である。
シフトレジスタ11−0〜11−M,14−1〜14−Mは、それぞれv1,t-i,v2,t-i(i=0,…,M)を保持するレジスタであり、次の入力が入ってくるタイミングで、保持している値を右隣のシフトレジスタに送出し、左隣のシフトレジスタから送出されてきた値を新たに保持する。
ウェイト乗算器12−0〜12−M,13−0〜13−Mは、ウェイト制御部14から出力される制御信号に従って、ウェイト値を0又は1に切り替える。ウェイト制御部14は、ビット数カウンタ16から出力されるカウント数と、ウェイト制御部14内に保持している検査行列に準じたウェイトパターンとに基づいて、そのタイミングにおけるh1 (m)(t),h2 (m)(t)の値をウェイト乗算器12−0〜12−M,13−0〜13−Mに送出する。mod2加算器15は、ウェイト乗算器12−0〜12−M,13−0〜13−Mの出力に対しmod2加算を行い、v2,tを算出する。ビット数カウンタ16は、入力された送信情報系列のビット数をカウントする。
このような構成を採ることで、LDPC−CC符号化器10は、検査行列に従ったLDPC−CCの符号化を行うことができる。
LDPC−CC符号化器は、生成行列の乗算を行う符号化器の回路や,後退代入法または前方代入法に基づく演算を行うLDPC−BC符号化器に比べ、非常に簡易な回路で実現できるという特徴がある。また、LDPC−CCは畳み込み符号であるため、送信情報系列を固定長のブロックに区切って符号化する必要がなく、任意の長さの情報系列を符号化できる。
LDPC−CCの復号には、LDPC−BCと同様に検査行列に基づいてSum-productアルゴリズム(BP(Belief Propagation)アルゴリズム)を適用することができる。そのため、BCJR(Bahl, Cocke, Jeinek, Raviv)アルゴリズムや、ビタビアルゴリズムのような最尤系列推定に基づく復号アルゴリズムを用いる必要がなく、低処理遅延で復号処理を完了することができる。さらに、非特許文献1には、平行四辺形の形に1が配置されているという検査行列の形を活かしたパイプライン型の復号アルゴリズムが提案されている(特許文献1参照)。
LDPC−CCとLDPC−BCの復号特性を復号器の回路規模が同等になるパラメータで比較した場合、LDPC−CCの復号特性の方が優れるということが示されている(非特許文献2参照)。
LDPC−CCにおいて、任意の長さNで符号化を終了した場合、受信側の復号器において受信符号語系列を復号する際に、Sum-product復号における符号語系列後部のc×Mビットの確率伝搬をその他のビットと同等にするためには、N以降の送信情報系列を符号化した符号語及び符号化終了時のシフトレジスタの状態が必要になる。
しかし、送信情報系列を単純に符号化しただけでは、符号化終了時点の符号化器のシフトレジスタの状態が送信情報系列に依存するため、受信側で復号する際にその状態を一意に決定することが困難である。
このような状況で、受信側で受信符号語に基づいて復号処理を行うと、復号後に得られる受信情報系列の終わりの方、特に後部c×Mビットに誤りが増えるという現象が起こる。
このような誤りを避けるために、符号化の終了状態を一意に決める終端処理(ターミネーション)を送信情報系列に施すことが必要となる。
IEEE802.11a準拠の畳み込み符号では、送信情報系列の後部にテイルビットと呼ばれる符号化器のシフトレジスタと同数(6個)の0ビットを付加して符号化することで終端処理を行う。このようにすれば、テイルビットが入力し終わった時点で、符号化器のシフトレジスタの状態をオールゼロにすることができる。なお、テイルビットを入力した際に出力される符号語は、受信側で復号処理を行う際に必要になるので、送信符号語とともに受信側に送信される。
LDPC−CCの場合、式(2)で示したように、符号語v2,tを求めるには、過去のM時刻における符号語v1,t-iおよびv2,t-iが必要になるため、LDPC−CC符号化器には過去M時刻の符号語v1,t-iおよびv2,t-iを保持するシフトレジスタを含む構成である。送信情報系列v1,t-iを保持するレジスタは、送信情報系列の終端を長さMのオールゼロの系列にする(ターミネーション)ことでオールゼロ状態にすることができる。
このようなテイルビットを付加した符号語系列をLDPC−CC符号化器で符号化することで、過去の符号語v1,t-iを保持するシフトレジスタの状態をオールゼロ状態にすることができる。送信側の通信装置はこのようにして終端処理された送信符号語を受信装置に対して送信することで、受信側の復号器は、符号化終了時のシフトレジスタの状態を一意に決定することができ、所望の性能で誤り訂正復号できる。
図39に示す従来のLDPC−CCの検査行列の一例を用いて、ターミネーションの必要性について、検査行列構成の観点から説明する。図39の検査行列20は、符号化率R=1/2、メモリ長M=9の周期的時変(time varying)LDPC−CCを定義する検査行列である。ここで、周期的時変とは、検査行列において1/0の配置パターンが列ごとに異なっており、かつ、そのパターンに周期性があることを示す。図39の検査行列20は、時変周期が2の場合の例である。
図39において、検査行列20の各行は、パリティ検査方程式(パリティ検査式)に対応する。図39には、各行のパリティ検査式に、c1,c2,・・・,ct,・・・とラベル付けしている。また、検査行列20の各列は、符号語系列の各ビットに対応する。図39の検査行列20は、組織符号を定義する検査行列であり、各列は、符号語系列の1番目の情報ビットv1,1、1番目のパリティビットv2,1、2番目の情報ビットv1,2、2番目のパリティビットv2,2、…という順序で並んでいる。
各行のパリティ検査式の多項式表現は、式(3)により表される。
ここで、X(D)は情報ビットv1,tの多項式表現であり、P(D)はパリティビットv2,tの多項式表現である。またGD(t),GP(t)は、tが奇数のとき式(4)により表され、tが偶数のとき式(5)により表される。
なお、Dは遅延演算子である。図39の検査行列20は、時点tに応じて式(4)と式(5)の2つの多項式を切り替えて用いる、周期2の時変LDPC−CCの検査行列となっている。また、式(4)と式(5)の検査多項式の次数に着目すると、GD(t)及びGP(t)の次数の最大値はいずれもメモリ長Mと等しい9となっている。
図39の検査行列20の列重みに着目する。列重みとは、検査行列の各列において‘1’が配置されている数のことを示す。つまり、検査行列の各列の要素が1となる数を示す。図39のt∈[1,N]の範囲については、情報ビットv1,tの列重みはtが奇数のとき3となり,tが偶数のとき5となっている。また、パリティビットv2,tの列重みはtが奇数のとき2となり,tが偶数のとき4となっている。周期が2となっているのは、検査行列の周期が2であるためである。
一方、t∈[N+1,N+M]の範囲、すなわち後部の2Mビットの範囲については、列重みが変則的となり、列重みが1となるビットが多数存在するようになる。図39に示す例では、情報ビットのv1,N+7〜v1,N+Mや、パリティビットのv2+6〜v2+Mでは、列重みが連続して1となっている。列重みが1のビットは、関係するパリティ検査式が1つしか存在しないため、Sum-Product復号における繰り返し符号の復号処理時に他のビットからの信頼度伝搬が十分に得られず、符号化ゲインが得られにくい。そのため、これらの符号ビットが影響を与える他の符号ビットの復号特性に対して悪影響が及び、結果として、復号後の受信情報系列の後部にビット誤りが多く発生してしまう。
そこで、一般に、LDPC−CCでは、情報系列の最後のMビットには本来送信したいデータ系列を割り当てず、テイルビット、例えば、ゼロ系列を割り当てる。
なお、以下では、本来送信しようとするデータ系列を符号化して得られる、検査行列のt∈[1,N]の範囲に対応する系列を、組織符号系列という。また、テイルビットを符号化して得られる範囲に対応する系列を、ターミネーション系列という。
このとき、本来送信しようとするデータ系列については、検査行列のt∈[1,N]の範囲に対応して符号化されるため、検査行列の前部と同様に十分な列重みが確保され、所望の性能で誤り訂正復号を行うことができる。
また、検査行列のt∈[N+1,N+M]の範囲、つまり、テイルビットを符号化して得られる範囲では、情報ビットv1,tは全ゼロの既知系列であるので送信する必要が無い。そして、受信側では情報ビットv1,tの判定値をゼロに固定して復号処理を行うことにより、符号語系列の後部についても復号誤りが生じる可能性を低減することができる。
以上のように、従来のLDPC−CCでは、符号語系列の後部をターミネーション系列とすることによって、情報系列の後部に復号誤りが発生する確率を低減することができる。
米国特許第60,682,178号明細書
和田山 正,"低密度パリティ検査符号とその復号方法,"トリケップス.
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.
しかしながら、前記従来の構成では、送信するターミネーション系列長としてLビット(L≧M)の系列が必要であり、冗長な系列を送出することによるオーバーヘッド量の増加や伝送効率の劣化が問題となる。例えば、メモリ長M=200のLDPC−CCを使って、4000ビットの送信情報系列を送信するとき、ターミネーションのために200ビット以上すなわち情報系列の5%以上もの冗長ビットを送信しなければならない。また、ターミネーション系列送信による伝送効率の劣化は、情報系列長が短いときや、符号化率が高いとき、メモリ長Mが大きいときにより顕著になってくる。
本発明はかかる点に鑑みてなされたものであり、LDPC−CC符号化・復号化に必要なターミネーション系列の量を削減し、伝送効率の劣化を抑圧しつつ、誤り訂正符号化・復号化を行うことができるLDPC−CC符号化器及び送信装置を提供することを目的とする。
本発明の符号化器の一つの態様は、低密度パリティ検査畳み込み符号(LDPC−CC:Low-Density Parity-Check Convolutional Codes)の検査行列に従って、符号化率R=b/c、情報ビットのメモリ長M1のみ込み符号化を行う符号化器であって、前記検査行列の後部の(M1×b)個の列のうち、情報ビットに相当する列については、前記検査行列の対角成分に対し未来に相当する領域に‘1’が存在する、構成を採る。
本発明の符号化器の一つの態様は、前記検査行列のうち、情報ビットに相当する列については、前記検査行列の対角成分の領域及び前記対角成分に対し未来に相当する領域にのみ‘1’が存在する、構成を採る。
本発明の符号化器の一つの態様は、前記検査行列の後部の(M1×b)個の列を除く列については、前記検査行列の対角成分の領域及び対角成分に対し過去に相当する領域にのみ‘1’が存在する、構成を採る。
本発明によれば、LDPC−CC符号化・復号化に必要なターミネーション系列の量を削減し、伝送効率の劣化を抑圧しつつ、誤り訂正符号化・復号化を行うことができる。
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
(実施の形態1)
本実施の形態では、未来の時点t−m1(−M1≦m1≦−1,M1:情報ビットのメモリ長)及び現在の時点tの入力情報ビットと、過去の時点t−m2(1≦m2≦M2,M2:パリティビットのメモリ長)のパリティビットと、の一部の値をmod2加算することで、現在の時点tのパリティビットを算出することを特徴とするLDPC−CC符号化器について説明する。
本実施の形態では、未来の時点t−m1(−M1≦m1≦−1,M1:情報ビットのメモリ長)及び現在の時点tの入力情報ビットと、過去の時点t−m2(1≦m2≦M2,M2:パリティビットのメモリ長)のパリティビットと、の一部の値をmod2加算することで、現在の時点tのパリティビットを算出することを特徴とするLDPC−CC符号化器について説明する。
図1に、本実施の形態に係るLDPC−CCの検査行列の一例を示す。図1の検査行列100は、符号化率R=1/2、メモリ長M=9の周期的時変LDPC−CCを定義する検査行列である。
図1において、検査行列100の各行は、パリティ検査方程式(パリティ検査式)に対応する。図1には、各行のパリティ検査式に、c1,c2,…,とラベル付けしている。また、検査行列100の各列は、符号語系列の各ビットに対応する。
図1の検査行列100は、符号語系列v1,tに送信情報系列utがそのままの形で含まれる組織符号を定義する検査行列である。送信符号ビットv1,t,v2,tは、それぞれ情報ビット、パリティビットとなっており、それぞれ式(6)、式(7)で表される。
検査行列100の各列は、符号語系列の1番目の情報ビットv1,1、1番目のパリティビットv2,1、2番目の情報ビットv1,2、2番目のパリティビットv2,2、…という順序で並んでいる。
検査行列100の各行のパリティ検査式の多項式表現は、tが奇数のとき式(8)で表され、tが偶数のとき式(9)で表される。
ここで、X(D)は情報ビットv1,tの多項式表現であり、P(D)はパリティビットv2,tの多項式表現である。図1の検査行列100は、時点tに応じて式(8)と式(9)の2つの多項式を切り替えて用いる、周期2の時変LDPC−CCの検査行列となっている。
本実施の形態の特徴は、式(6)〜式(9)に表されるように、時点tのパリティビットを導出する際に、未来の時点t−m1(−M1≦m1≦−1)及び現在の時点tの情報ビットの値と、過去の時点t−m2(1≦m2≦M2)のパリティビットの値と、の一部の値を用いており、過去の時点t−m1(m1:1以上の整数)の情報ビットの値を用いない点にある。
検査行列で見ると、本実施の形態のLDPC−CC検査行列100に従って、時点tのパリティビットを導出する際には、tよりも左側(過去)に存在するパリティビットと、tよりも右側(未来)に存在する情報ビットとのmod2加算を行っており、tよりも左側(過去)に存在する情報ビットを用いていない。したがって、検査行列の対角成分に対し過去に相当する領域(対角成分の左下の、下三角の領域)では、情報ビットに相当する列に‘1’が配置されていない。つまり、検査行列の情報ビットに相当する列は、‘0’となる。
なお、ここで検査行列の対角成分とは、時点tのパリティビットの導出に供する行ctにおける、時点tの情報ビットv1,t及びパリティビットv2,tに対応する列の要素のことをいう。すなわち、検査行列のi行j列の要素を、(i,j)要素と標記すると、符号化率R=1/2の検査行列であるLDPC−CC検査行列100では、対角成分は、(t,2t−1)要素及び(t,2t)要素を指す。符号化率R=1/cの検査行列の場合には、(t,ct−(c−1)),(t,ct−(c−2)),…,(t,ct)要素が、対角成分となる。
なお、パリティビットは時点1のパリティビットv2,1からv2,2,v2,3,・・・の順に逐次的に算出されるため、時点tのパリティビットv2,tを算出するタイミングでは、未来の時点t−m2(m2:−1以下の整数)のパリティビットは未定である。したがって、パリティビットv2,tの導出式にv2,t-m2を含めると、パリティビットv2,tの算出が複雑となる。すなわち、未来の時点の符号ビットの中で、現在の時点tの導出式に含められるのは予め値の得られている情報ビットv2,tのみである。この点が、本発明のLDPC−CCにおいて、組織符号であることが重要な構成要件であるとした理由である。
図2Aに、検査行列100から情報ビットに対応する列を抽出した部分検査行列(以下「情報部分検査行列」ともいう)110を示す。また、図2Bに、検査行列100からパリティビットに対応する列を抽出した部分検査行列(以下「パリティ部分検査行列」ともいう)120を示す。
図2Aの情報部分検査行列110は、対角線上の情報ビット(対角成分)と、未来の情報ビットに相当する右側の情報ビット(対角成分に対し未来に相当する領域)にのみ‘1’が配置されていることが特徴である。図2Aの情報部分検査行列110において、1つの行に‘1’が配置されている範囲は、((情報ビットのメモリ長M1)+1)に等しくなっている。
また、図2Bのパリティ部分検査行列120は、対角線上(対角成分)のパリティビットと、過去のパリティビットに相当する左側のパリティビット(対角成分に対し過去に相当する領域)にのみ‘1’が配置されていることが特徴である。図2Bのパリティ検査行列120において、1つの行に‘1’が配置されている範囲は、((パリティビットのメモリ長M2)+1)に等しくなっている。
なお、図1の検査行列100は、符号化率R=1/2(=b/c)の場合の構成例であるため、図2Aの情報部分検査行列において、1つの行に‘1’が配置されている範囲が、((情報ビットのメモリ長M1)+1)に等しくなっている。したがって、符号化率R=b/cの検査行列では、情報部分検査行列において、1つの行に‘1’が配置されている範囲が、情報ビットのメモリ長M1をb倍した数に等しくなる。同様に、符号化率R=b/cの検査行列では、パリティ検査行列において、1つの行に‘1’が配置されている範囲は、パリティビットのメモリ長であるM2を(c−b)倍した数に等しくなる。
図3に、本実施の形態に係るLDPC−CC符号化器の要部構成の一例を示す。図3に示すように、LDPC−CC符号化器200は、シフトレジスタ210−(−M1+1)〜210−(−1),240−1〜240−M2、ウェイト乗算器220−(−M1)〜220−0,230−0〜230−M2、mod2加算器250、ビット数カウンタ260、ウェイト制御部270、及び、保存パリティ制御部280を含む構成である。
ビット数カウンタ260は、データ入力として符号化器200に入力された入力ビット数をカウントし、カウントビット数をウェイト制御部270及び保存パリティ制御部280に出力する。
シフトレジスタ210−(−M1+1)〜210−(−1)及び240−1〜240−M2は、それぞれv1,t−i(i=−M1+1,…,0),v2,t−i(i=1,…,M)を保持する第1及び第2のレジスタ群であり、次の入力が入ってくるタイミングで、保持している値を右隣のシフトレジスタに出力し、左隣のシフトレジスタから出力される値を新たに保持する。なお、シフトレジスタの初期状態はすべて0である。
ウェイト乗算器220−(−M1)〜220−0,230−0〜230−M2は、ウェイト制御部270から出力される制御信号に従って、h1 (m1),h2 (m2)の値を0/1に切り替える。ウェイト制御部270は、内部に保持している検査行列に基づいて、そのタイミングにおけるh1 (m1),h2 (m2)の値をウェイト乗算器220−(−M1)〜220−0,230−0〜230−M2に出力(供給)する。
mod2加算器250は、ウェイト乗算器220−(−M1)〜220−0,230−0〜230−M2の出力に対しmod2加算を行い、v2,tを算出する。
保存パリティ制御部280は、入力ビット数が1ビット〜M1ビットのとき(すなわちカウントビット数≦M1のとき)、ゼロをシフトレジスタ240−1及びウェイト乗算部230−0に出力する。また、入力ビット数がM1+1ビット以降のとき(すなわちカウントビット数>M1のとき)、保存パリティ制御部280は、v2,tをシフトレジスタ240−1及びウェイト乗算部230−0に出力する。
符号化器200におけるデータ入力utと、符号語出力v1,t,v2,tとの入出力タイミングの対応を、図4に示す。図38の従来のLDPC−CC符号化器10と異なり、符号化器200では符号ビットの1ビット目v1,tが出力されるのは、情報ビットutの先頭のM1ビットがシフトレジスタ210−(−M1+1)〜210−0に保存された後、すなわちM1+1ビット目が入力されたタイミングとなる。
Nビットのデータ入力utを符号化する場合、符号化器200の入力には情報系列utの後部にM1ビットのオールゼロの系列を付加して入力する。これにより、情報系列v1,-M1+1〜v1,Nおよびパリティ系列v2,-M1+1〜v2,Nが出力される。
このような構成を採ることで、LDPC−CC符号化器200は、入力系列と検査行列100との線形演算を行い、図1の検査行列100に従ったLDPC−CC符号化を行うことができる。
なお、ウェイト制御部270が保持する検査行列の各行の並びが行ごとに異なる場合、LDPC−CC符号化部200は、時変畳み込み符号化器となる。
また、情報系列の先頭に出力されるv1,-M+1〜v1,0は、シフトレジスタ210−(−M1+1)〜210−0の初期状態、すなわち0であるので、受信装置においても既知とすることができるため、受信装置にv1,-M+1〜v1,0を送信する必要がない。また、パリティ系列の先頭に出力されるv2,-M+1〜v2,0は、情報系列の先頭u1〜uM1によって決定される1/0の系列であるが、保存パリティ制御部280から出力される先頭M1ビットをゼロ系列とすることで、パリティ系列の1ビット目v2,1を出力するタイミングでのシフトレジスタ240−1〜240−M2の状態をオールゼロにすることができる。これにより、LDPC−CC符号化器200の出力のv1,1,v2,1,・・・,v1,N,v2,Nは、v2,-M+1〜v2,0をオールゼロとしたときに、パリティ検査式を満たす符号語となるため、v1,-M+1〜v1,0と同様、受信装置にv2,-M+1〜v2,0を送信する必要がない。
また、入力ビットの後部にM1ビットのゼロ系列が付加されているため、未来の情報ビットを保持するシフトレジスタ210−(−M1+1)〜210−0の、符号語の最終ビットv1,N,v2,Nが出力されたタイミングにおける状態(最終状態)はオールゼロとなる。さらに、過去のパリティビットを保持するシフトレジスタ240−1〜240−M2の最終状態は、それまでに出力されたパリティビットv2,N〜v2,N-M2+1の値と等しい。よって、パリティビットv2,N〜v2,N-M2+1を送信装置から受信装置に送信することにより、LDPC−CC符号化器200の最終状態を受信装置に通知することができる。
以上より、送信装置からは、LDPC−CC符号化器200の出力のうち、情報系列v1,1〜v1,N及びパリティ系列v2,1〜v2,Nを受信装置に送信すればよい。
なお、シフトレジスタの初期状態および入力ビットの後部に付加するM1ビットの系列はオールゼロに限られず、受信装置において既知の系列であれば任意のどのような系列でも構わない。
次に、図1に示した本実施の形態のLDPC−CC検査行列100の列重みに着目する。図39に示した従来のLDPC−CC検査行列20では、系列後部の2×M列のうち多数の列重みが1となり、テイルビットを付加しない場合に誤り率特性が劣化する原因となっていた。一方、本実施の形態の検査行列100では、系列後部の2×M1列において情報ビットv1,tの列重みが3(t:奇数)又は5(t:偶数)となっており、列重みが1の情報ビットが存在しない。
このように、本実施の形態のLDPC−CC検査行列では、未来の情報ビットに対応する領域、つまり、未来の情報系列において、‘0’を‘1’に置き換えることにより、情報系列後部M1ビットの列重みを、検査行列の中央付近の列重みと同程度になるようにすることができる。この結果、当該LDPC−CC検査行列を用いて、受信装置でSum-Product復号を行うことにより、符号語系列の後部のビットについて良好な復号性能を得ることができる。すなわち、情報系列の後部に本来送信したいデータビットを割り当てる場合においても、良好な復号特性を得ることができるので、ターミネーション系列を削減することができる。
一方で、図1の検査行列100では、情報系列前部の列重みが小さくなっている。例えば、v1,1及びv1,2の列重みが1となっている。これは、現在及び未来の情報系列にのみ、‘0’を‘1’に置き換えるようにした影響である。
このように、従来のLDPC−CC検査行列20では、検査行列20の後部で情報ビット/パリティビットの双方について列重みが小さくなったのに対し、本実施の形態に係る検査行列100では、検査行列100の前部で情報ビットの列重みのみが小さくなっている。よって、本実施の形態の検査行列では、受信装置においてSum-Product復号を行うことにより、パリティビットからの確率伝搬が得られるので、列重みが小さくなる系列の前部においても従来の検査行列における系列の後部と比較すると誤り率が低減されることになる。
なお、本実施の形態では、説明を簡易にするため、時変周期2の時変LDPC−CCを例に説明したが、時変周期は2に限られず、本発明は、任意の周期ω(ωは1以上の整数)の時変LDPC−CCにおいても、同様に適用可能である。
(検査行列の別の構成例)
本実施の形態における情報系列前部の誤り率をさらに低減するには、情報系列前部の列重みを大きくするために、系列の先頭にヘッダ系列を付加してやると良い。系列の先頭にヘッダ系列を付加する、本実施の形態の別のLDPC−CC検査行列を図5に示す。
本実施の形態における情報系列前部の誤り率をさらに低減するには、情報系列前部の列重みを大きくするために、系列の先頭にヘッダ系列を付加してやると良い。系列の先頭にヘッダ系列を付加する、本実施の形態の別のLDPC−CC検査行列を図5に示す。
図5の検査行列500は、構成するパリティ検査式が検査行列100と同様、時刻tが奇数のとき式(8)により表され、tが偶数のとき式(9)により表される、周期2の時変LDPC−CC検査行列となっている。ただし、検査行列500で定義される符号には、先頭に2×L1ビット(L1≦M1)のヘッダ系列が付加されている。L1は、ヘッダ系列の系列長である。
検査行列500で定義されるLDPC−CCは、LDPC−CC符号化器200における保存パリティ制御部280の動作を変更することで得られる。LDPC−CC符号化器200の保存パリティ制御部280は、入力ビット数が1ビット〜(M1−L1)ビットのとき(すなわちカウントビット数≦(M1−L1)のとき)、ゼロをシフトレジスタ240−1及びウェイト乗算部230−0に出力する。また、入力ビット数が(M1−L1+1)ビット以降のとき(すなわちカウントビット数>(M1−L1)のとき)、保存パリティ制御部280は、v2,tをシフトレジスタ240−1及びウェイト乗算部230−0に出力する。
検査行列500で定義されるLDPC−CC符号化を行う際の、符号化器200におけるデータ入力utと、符号語出力v1,t,v2,tとの入出力タイミングの対応を、図6に示す。保存パリティ制御部280の出力の先頭(M1−L1)ビットをゼロ系列とすることで、符号語出力v2,-L1+1を算出する時点での全シフトレジスタの状態(初期状態)をオールゼロにすることができる。これにより、符号語出力v1,-L1+1,v2,-L1+1,・・・,v1,N,v2,Nが検査行列500によるパリティ検査式を満たすようになる。
符号語出力のうち、v1,-L1+1〜v1,0は、シフトレジスタ210−(−L1+1)〜210−0の初期値(ゼロ系列)であるので、受信装置において既知とすることができ、送信する必要がない。したがって、符号語出力のうち、情報系列v1,1〜v1,N、及び、パリティ系列v2,-L1+1〜v2,0,v2,1〜v2,Nを受信装置に送信すればよい。このうち、パリティ系列v2,-L1+1〜v2,0は、検査行列前部の情報ビットの列重みを大きくするために付加するヘッダ系列である。
次に、ヘッダ系列の系列長L1(L1≦M1)の設計方法について述べる。L1=M1とすると誤り率を最も低くすることができる。しかし、ヘッダ系列は、ターミネーション系列と同様に、情報の伝送には直接寄与しない冗長な系列であるので、できるだけ短くすることが望ましい。その一方で、ヘッダ系列を短くすると、伝送したい情報ビットの先頭付近に対応する検査行列の列重みが小さくなってしまい、系列前部での誤り率が増加してしまう。
しかし、前述のように、本実施の形態に係る検査行列100の前部で列重みが小さくなるのは情報ビットだけであり、パリティビットについては十分な列重みが確保されている。したがって、情報ビットの列重みとして2〜3以上の重みが確保できさえすれば、符号化ゲインによって十分に誤り率の低い復号が可能となる。この点が、情報ビット/パリティビットともに列重みが小さくなる従来のLDPC−CCの系列後部と、本実施の形態のLDPC−CCの系列前部との異なる点である。
そこで、ヘッダ系列長L1を、伝送しようとする情報ビット(時刻t∈[1,N]の範囲)に対応する列重みが少なくとも2又は3となる最小の長さに設定すると良い。
例えば、図5の検査行列500では、ヘッダ系列長L1=4とすることで、時刻t∈[1,N]の範囲の情報ビットの列重みが3以上となるようにしている。これにより、情報ビットの前部を含めた、全ての情報ビットについて所望の誤り率特性が達成できるようになる。すなわち、メモリ長(検査行列500ではメモリ長M1=9)と同じ長さのターミネーション系列を付加する場合と比べて、ヘッダ系列によるオーバーヘッドを約半分に抑えることができる。
本実施の形態では、説明を簡易にするために、メモリ長が短いLDPC−CCを用いて説明したが、一般には、メモリ長が長いほどより優れた誤り率特性が得られるため、メモリ長にはある程度の長さが用いられる。メモリ長が500や1200の場合のように、メモリ長が長いLDPC−CCを用いる際には、本発明による伝送効率の向上の効果は極めて大きい。
以上のように、本実施の形態によれば、検査行列の対角成分に対し未来に相当する領域に‘1’が存在する検査行列を用いて、符号化を行うようにした。このようにすることで、情報系列後部M1ビットの列重みを、検査行列の中央付近の列重みと同程度にすることができるため、符号語系列の後部をターミネーション系列としなくとも良好な復号性能を得ることができる。このため、ターミネーション系列を削減できる。
本実施の形態において系列前部の誤り率を系列の他の部分とほぼ同等にするには、ヘッダ系列を先頭に付加する必要があるものの、ヘッダ系列によるオーバーヘッドは、ターミネーション系列を付加する場合よりも小さくて済むため、伝送効率の低下を抑圧することができる。
(実施の形態2)
実施の形態1では、LDPC−CCにおけるターミネーション系列の量を削減するために、LDPC−CC検査行列のうち、情報ビットに対応する列要素について、当該検査行列の対角成分に対し未来に相当する領域、つまり、未来の情報系列にのみ、‘0’を‘1’に置き換える構成について説明した。
実施の形態1では、LDPC−CCにおけるターミネーション系列の量を削減するために、LDPC−CC検査行列のうち、情報ビットに対応する列要素について、当該検査行列の対角成分に対し未来に相当する領域、つまり、未来の情報系列にのみ、‘0’を‘1’に置き換える構成について説明した。
実施の形態1では、検査行列の対角成分に対し、未来に相当する領域の情報ビットに対応する列要素において、‘0’を‘1’に置き換えることによって、検査行列の情報系列後部に相当する列要素の列重みを大きくし、ターミネーション系列を削減することができた。しかしその一方で、実施の形態1では、検査行列の情報系列前部に相当する列要素の列重みが小さくなり、ヘッダ系列を用いる構成となる。
そこで、情報ビットに対して、‘0’を‘1’に置き換える位置を、検査行列の前部では検査行列の対角成分に対して過去に相当する領域のみとし、また検査行列の後部では、検査行列の対角成分に対して未来に相当する領域のみとするようにし、検査行列の前部と後部とで、用いるパリティ検査式の種類を切り替える。このようにすることで、ターミネーション系列とヘッダ系列との双方を削減することができる。
すなわち、検査行列の1〜T1行目(T1:1≦T1≦N)の行(c1〜cT1)では、検査行列の対角成分に対して、過去に相当する領域にのみに、‘0’を‘1’に置き換える。また、検査行列のT1+1〜N行目の行(c1〜cT1)では、検査行列の対角成分に対して未来に相当する領域の情報ビットにも、‘0’を‘1’に置き換えるようにする。さらに、検査行列のうち、情報系列の後部M1ビットに相当する列の列重みが、2以上になるようにする。これにより、ターミネーション系列とヘッダ系列との双方を削減することができる。なお、ターミネーション系列及びヘッダ系列を0とするためには、M1≦T1≦N−M1として、情報系列の前部M1ビット及び後部M1ビットの双方において、2以上の列重みを確保する必要がある。
T1は、M1≦T1≦N−M1の任意の値でよく、時刻T1を境として検査行列の構成が切り替えられることとなる。よって、受信装置において、時刻T1を境として検査行列の構成を切り替えて復号処理を行うために、時刻T1を送信装置から受信装置に通知する必要がある。
このとき、時刻T1を符号語系列の先頭から一定の差K0をとった時刻(T1=K0)に設定するか、符号語系列の後端から一定の差(K1−1)をとった時刻(T1=N−K1−1)として、K0又はK1を予め符号化器と復号器とで一意の値として取り決めておけば、NによらずT1を送信装置から受信装置へと通知する必要が無くなる。なお、T1=N−K1とする場合は受信装置がNを取得する必要があるが、通常のLDPC−CCの復号を行う際にも、復号を終了する時刻を取得するために送信装置から受信装置へと符号長2Nまたは情報系列長Nを通知する必要があるため、新たなオーバーヘッドの増加とはならない。
そこで、本実施の形態では、LDPC−CCにおけるターミネーション系列の量を削減するために、LDPC−CC検査行列のうち、後部K1ビット(K1≧M1)の情報ビットに対応する列要素のみに限って、当該検査行列の対角成分に対し未来に相当する領域において、‘0’を‘1’に置き換える構成について説明する。
具体的には、未来の時点t−m1(−M1≦m1≦M1,M1:情報ビットのメモリ長)及び現在の時点tの入力情報ビットと、過去の時点t−m2(1≦m2≦M2,M2:パリティビットのメモリ長)のパリティビットと、の一部の値をmod2加算することで、現在の時点tのパリティビットを算出することを特徴とするLDPC−CC符号化器について説明する。
図7に、本実施の形態に係るLDPC−CC検査行列の一例を示す。図7の検査行列700は、符号化率R=1/2、過去及び未来の情報ビットのメモリ長M1=9、過去のパリティビットのメモリ長M2=9の時変LDPC−CCを定義する検査行列である。各行のパリティ検査式に着目すると、c1〜cN−K1-1は2種類の検査式が交互に現れる周期2の時変LDPC−CCとなっている。また、下部の(K1+1)行に相当するcN−K1〜cNは、LDPC−CC検査行列の対角成分に対し未来の領域(インデックス)の情報ビットに‘1’を立てた時変LDPC−CCとなっている。つまり、時刻T1=N−K1−1のタイミングで、検査行列の構成が切り替えられる。
実施の形態1の検査行列では、情報ビットに対応する系列(情報系列)の先頭から最後部までの全ての列に関して、当該検査行列の対角成分に対し未来の領域にのみ、‘0’を‘1’に置き換えるようにした。これに対し、本実施の形態の検査行列では、情報系列の後部K1ビット(K1≧M1)に限って、当該検査行列の対角成分に対し未来の情報ビットの領域において、‘0’を‘1’に置き換えることを特徴とする。
さらに、また、本実施の形態の検査行列では、検査行列の行のうち、下部の(K1+1)行に限って、当該検査行列の対角成分に対し未来の情報ビットの領域に‘1’を立てており、上部の(N−K1−1)行については当該検査行列の対角成分に対し未来の領域に‘1’を立てていないことを特徴とする。
すなわち本実施の形態のLDPC−CC符号化器は、現在および過去の時点t−m1(0≦m1≦M1,M1:情報ビットのメモリ長)の入力情報ビットと、過去の時点t−m2(1≦m2≦M2,M2:パリティビットのメモリ長)のパリティビットの値と、の一部の値をmod2加算することで、現在の時点tのパリティビットを算出する第1の機能と、入力ビットの現在及び過去・未来の時点t−m1(−M1≦m1≦M1,M1:情報ビットのメモリ長)の入力情報ビットと、過去の時点t−m2(1≦m2≦M2,M2:パリティビットのメモリ長)の値と、の一部の値をmod2加算することで、現在の時点tのパリティビットを算出する第2の機能とを含む構成である。そして、時刻N−K1において、前記第1の機能と第2の機能とを切り替えることを特徴とする。
式(11)に示されるように、本実施の形態のLDPC−CCは、時刻t<N−K1のとき未来の時点の情報ビットを用いずにパリティビットを算出し、時刻t≧N−K1のとき、未来の時点の情報ビットを用いてパリティビットを算出する。
式(12)〜式(16)に示したように、時刻t<N−K1では、未来を示す項、すなわちD-α(α:自然数)の項は検査多項式に含まれておらず、時刻t≧N−K1では、未来を示すD-αの項が検査多項式に含まれてことが、本実施の形態の特徴となっている。
検査行列700の、情報系列後部M1ビットの情報ビット(時刻t∈[N−M1+1,N]の範囲)の列重みに注目する。本実施の形態の検査行列では、時刻t∈[N−M1+1,N]の範囲の情報ビットに相当する列のうち、未来の領域(インデックス)において、‘0’を‘1’に置き換えることによって、情報系列後部M1ビットの列重みを全ての列において3以上にすることができている。
Sum-Product復号の反復において、ビット間で信頼度を伝搬させ、符号化ゲインを得るためには、列重みが2以上となっていることが必須条件である。列重みが2以上ということは、すなわち、そのビットを拘束するパリティ検査多項式が2つ以上存在するということを示す。なお、高い符号化ゲインを得るためには列重みが平均3以上であることが望ましい。本実施の形態の検査行列700では、列重みを3以上にすることができているため、系列後部M1ビットの情報ビットにおいても、信頼度を十分に伝搬させることができる。
また、検査行列700の行重みに注目する。行重みとは、検査行列の各行において、1が配置されている数のことを示す。行重みは10以下のときに良好な復号特性が得られ、行重みが10を超えて大きくなると復号特性が劣化することが確認されている。そこで、検査行列700では、行重みの最大数が10となるように構成されている。
以上のように、本実施の形態の検査行列700では、行重みの最大数を10とし、かつ、情報ビットの列重みを全て2以上にすることによって、情報系列後部M1ビットについても良好な復号特性を得られるようにしている。これにより、情報系列後部をターミネーション系列等の既知系列とせず、データの伝送に用いることができるので、ターミネーション系列を削減できる。
なお、本実施の形態の検査行列700では、未来の領域において、‘0’を‘1’に置き換える範囲を、検査行列の下部K1+1行、後部(右部)2×K1列の、検査行列右下の領域に限定したことによって、検査行列の先頭付近(左上)の領域については、従来の検査行列20と同様の構成となっている。
すなわち、符号語系列の先頭付近については従来構成どおりに十分な列重みが確保されている。例えばv1,1,v2,1,v1,2,v2,2 は、列重みがそれぞれ3,2,5,4と2以上になっており、これら列重みは、系列の中央付近と変わらない。したがって、実施の形態1のようにヘッダ系列を付加せずとも、所望の誤り率特性を達成することができる。因みに検査行列700は周期2の時変LDPC−CCであるため、情報ビット、パリティビットそれぞれの列重みも周期2で変化する。よって、情報ビット、パリティビットをあわせると、周期4の3,2,5,4の列重みのパターンを繰り返している。
また、系列の先頭に関連する行重みに着目すると、例えば、v1,1,v2,1に‘1’が配置されている行C1の列重みが2になっているなど、先頭付近のビットは行重みが小さい行(すなわち、項の数が少ない多項式)による確率伝搬が得られるようになっている。これは、検査行列の上部の行では未来に相当する領域に‘1’を立てないようにしたことによる効果である。このように行重みが小さく、かつ列重みが大きいという条件が成り立つ系列の先頭付近については、Sum-Product復号における収束特性が改善し、特に優れた誤り率特性を達成することができる。そして、符号語系列の先頭付近で得られた高い信頼度の信頼度情報が、系列の後方へと伝搬していくことによって、符号語系列全体について優れた誤り率特性が得られるようになる。
図8に、本実施の形態に係るLDPC−CC符号化器の要部構成の一例を示す。図8に示すように、LDPC−CC符号化器800は、シフトレジスタ810−(−M1+1)〜810−M1,840−1〜840−M2、ウェイト乗算器820−(−M1)〜820−M1,830−0〜830−M2、mod2加算器850、ビット数カウンタ860、ウェイト制御部870、保存パリティ制御部880を含む構成である。
ビット数カウンタ860は、データ入力として符号化器800に入力された入力ビット数をカウントし、カウントビット数をウェイト制御部870及び保存パリティ制御部880に出力する。
シフトレジスタ810−(−M1+1)〜810−M1及び840−1〜840−M2は、それぞれv1,t−i(i=−M1+1,…,0,…,M1),v2,t−i(i=1,…,M)を保持するレジスタであり、次の入力が入ってくるタイミングで、保持している値を右隣のシフトレジスタに出力し、左隣のシフトレジスタから出力される値を新たに保持する。なお、シフトレジスタの初期状態はすべて0である。
ウェイト乗算器820−(−M1)〜820−M1,830−0〜830−M2は、ウェイト制御部870から出力される制御信号に従って、h1 (m1),h2 (m2)の値を0/1に切り替える。ウェイト制御部870は、内部に保持している検査行列に基づいて、そのタイミングにおけるh1 (m1),h2 (m2)の値をウェイト乗算器820−(−M1)〜820−M1,830−0〜830−M2に出力する。
ここで、ウェイト制御部870は、時刻t∈[1,N−K1−1]のパリティビットの符号化に用いる検査行列(第1のウェイトパターン)と、時刻t∈[N−K1,N]のパリティビットの符号化に用いる検査行列(第2のウェイトパターン)とを保持しており、ビット数カウンタ860からのカウントビット数及び情報系列長Nに従って、検査行列を切り替えて用いることが、本実施の形態の特徴である。
具体的には、ウェイト制御部870は、入力ビットが情報系列の1ビット目からN+M1−K1−1ビット目までの場合(すなわちカウントビット数≦N+M1−K1−1の場合)、第1のウェイトパターンを用いる。また、ウェイト制御部870は、入力ビットが情報系列のN+M1−K1ビット目から最終ビットまでの場合(すなわちカウントビット数≧N+M1−K1の場合)、第2のウェイトパターンを用いる。これは、パリティ出力v2,tの算出に関して、t≦N−M1−1のとき第1のウェイトパターンを用い、N−M1≦tのとき第2のウェイトパターンを用いることに相当する。
第1のウェイトパターンは、LDPC−CC検査行列に準じたパターンであり、第2のウェイトパターンは、当該LDPC−CC検査行列の対角成分に対し未来の情報系列に‘1’が加えられた検査行列に準じたパターンである。
図7において、第1のウェイトパターンは、パリティ検査式c1〜cN-K1-1に対応するパターンであり、第2のウェイトパターンは、パリティ検査式cN-K1〜cNに対応するパターンである。
mod2加算器850は、ウェイト乗算器820−(−M1)〜820−M1,830−0〜830−M2の出力に対しmod2加算を行い、v2,tを算出する。
保存パリティ制御部880は、入力ビット数が1ビット〜M1ビットのとき(すなわちカウントビット数≦M1のとき)、ゼロをシフトレジスタ840−1及びウェイト乗算部830−0に出力する。また、入力ビット数がM1+1ビット以降のとき(すなわちカウントビット数>M1のとき)、v2,tをシフトレジスタ840−1及びウェイト乗算部830−0に出力する。
符号化器800におけるデータ入力utと、符号語出力v1,t,v2,tとの入出力タイミングの対応を、図9に示す。符号化器800では符号ビットの1ビット目v1,tが出力されるのは、情報ビットutの先頭のM1ビットがシフトレジスタ810−(−M1+1)〜810−0に保存された後、すなわち(M1+1)ビット目が入力されたタイミングとなる。
Nビットのデータ入力utを符号化する場合、符号化器800の入力には情報系列utの後部にM1ビットのオールゼロの系列を付加して入力する。これにより、情報系列v1,-M1+1〜v1,Nおよびパリティ系列v2,-M1+1〜v2,Nが出力される。
このような構成を採ることで、LDPC−CC符号化器800は、入力系列と検査行列700との線形演算を行い、検査行列700に従ったLDPC−CC符号化を行うことができる。
実施の形態1と同様に、情報系列の先頭に出力されるv1,-M1+1〜v1,0は全ゼロの系列であり、また、符号語出力v1,1,v2,1,・・・,v1,N,v2,Nは、v2,-M1+1〜v2,0が全ゼロとしたときにパリティ検査式を満たす符号語となっている。よって、送信装置から受信装置へは、合計2Nビットの符号語v1,1,v2,1,・・・,v1,N,v2,Nのみを送信すれば良く、ターミネーション系列やヘッダ系列を付加する必要がない。
(別の符号化率の例)
以上、符号化率R=1/2の組織符号を例に説明した。なお、符号化率はR=1/2に限られず、本発明は、異なる符号化率に対しても適用可能である。また、組織符号に限られず、非組織符号においても、本発明を適用することができる。
以上、符号化率R=1/2の組織符号を例に説明した。なお、符号化率はR=1/2に限られず、本発明は、異なる符号化率に対しても適用可能である。また、組織符号に限られず、非組織符号においても、本発明を適用することができる。
例えば、符号化率R=1/3の組織符号の場合には、送信符号ビットv1,t,v2A,t,v2B,tは、それぞれ式(17)、式(18)、式(19)により表される。ただし、v1,tは情報ビット、v2A,t及びv2B,tは第1及び第2のパリティビットである。
ここで、h1A (m)(t),h2AA (m)(t),h2AB (m)(t)は、検査行列のうち第1のパリティビットに対応する行の要素の値(1/0)であり、h1B (m)(t),h2BA (m)(t),h2BB (m)(t)は検査行列のうち第2のパリティビットに対応する行の要素の値(1/0)である。
式(18)、式(19)に示されるように、本実施の形態に係るLDPC−CCは、時刻t<N−K1のとき未来の時点の情報ビットを用いずに第1及び第2のパリティビットを算出し、時刻t≧N−K1のとき、未来の時点の情報ビットを用いて第1及び第2のパリティビットを算出する。
時刻t≧N−K1のとき、未来の時点の情報ビットを用いて第1及び第2のパリティビットを算出するといことは、換言すると、検査行列の対角成分に対して未来の領域の情報ビットに対応する列の‘0’を‘1’に置き換えることに相当する。そして、検査行列のうち情報系列後部M1ビットに相当する列の列重みが全て2以上になるように、‘0’を‘1’に置き換えることで、情報系列後部M1ビットについても良好な復号特性が得られるようになり、ターミネーション系列を削減することができる。以上、符号化率R=1/3の場合について説明したが、任意の符号化率に対しても同様に適用することができる。
なお、以上では、1ビットの入力情報ビットに対して3ビットの符号ビットv1,t,v2A,t,v2B,tが得られるR=1/3の組織符号の場合について説明した。このとき、出力符号ビットのうち情報ビットに相当するv1,tを、符号化器から出力しないようにすると、1ビットの入力情報ビットに対して2ビットの符号ビットv2A,t,v2B,tを得るR=1/2の非組織符号とみなすことができる。
この場合には、復号側では、符号化側で用いられたR=1/3の組織符号の検査行列を用い、符号語のうち情報ビットv1,tが消去(パンクチャ)されたものとして、復号処理を行えばよい。すなわち、0(ゼロ)系列を情報ビットに相当するLLR(Log Likelihood Ratio:対数尤度比)とし、0系列と、パリティビット系列を受信して得られたLLR系列とを、Sum-Product復号の入力とすれば情報ビットを含めた符号語の復号が可能である。このように、本実施の形態は、任意の符号化率の組織符号及び非組織符号において適用することができる。
以上のように、本実施の形態によれば、情報系列後部の情報ビットに相当するK1個の列については、検査行列の対角成分に対し未来に相当する領域に‘1’を追加した検査行列を用いて、符号化するようにした。
このようにすることで、情報系列後部M1ビットの列重みを系列中央部の列重みと同等にすることができるため、情報系列後部M1ビットについてSum-Product復号により良好な復号特性が得られる。さらに、情報系列先頭部M1ビットの列重みについてもまた、系列中央部の列重みと同等にすることができるため、実施の形態1のようにヘッダ系列を付加せずとも、良好な復号特性が得られる。すなわち、本実施の形態のLDPC−CC検査行列によれば、ヘッダ系列とターミネーション系列とがいずれも不要となり、実施の形態1に比べ、伝送効率をさらに向上させることができる。
しかも本実施の形態では、検査行列上部の(N−K1−1)行については当該検査行列の対角成分に対し未来の領域に‘1’を立てていないことによって、符号語系列の先頭付近について特に良好な復号特性を確保する。また、Sum-Product復号の反復において、系列の先頭付近で得られた高い信頼度の高い信頼性情報が、系列後方へと伝搬してゆくことによって、少ない反復回数で系列全体について良好な復号特性を達成することができる。
(実施の形態3)
実施の形態2では、LDPC−CC検査行列のうち、後部K1(K1≧M1)ビットの情報ビットに対応する列要素のみに限って、当該検査行列の対角成分に対し未来に相当する領域において、‘0’を‘1’に置き換えることを特徴とするLDPC−CCについて説明を行った。
実施の形態2では、LDPC−CC検査行列のうち、後部K1(K1≧M1)ビットの情報ビットに対応する列要素のみに限って、当該検査行列の対角成分に対し未来に相当する領域において、‘0’を‘1’に置き換えることを特徴とするLDPC−CCについて説明を行った。
本実施の形態では、LDPC−CC検査行列のうち、特に後部M1ビットの情報ビットに対応する列要素のみに限って、当該検査行列の対角成分に対し未来に相当する領域において、‘0’を‘1’に置き換えることを特徴とするLDPC−CCについて説明を行う。
図10に、本実施の形態に係るLDPC−CC検査行列の一例を示す。図10の検査行列1000は、符号化率R=1/2、過去及び未来の情報ビットのメモリ長M1=9、過去のパリティビットのメモリ長M2=9の時変LDPC−CCを定義する検査行列である。各行のパリティ検査式に着目すると、c1〜cN−M1-1は2種類の検査式が交互に現れる周期2の時変LDPC−CCとなっている。また、最後部の(M1+1)行に相当するcN−M1〜cNは周期2の時変LDPC−CCを変形し、LDPC−CC検査行列の対角成分に対し未来の領域(インデックス)の情報ビットに‘1’を追加した形となっている。
本実施の形態に係る検査行列の設計方法、つまり、‘0’を‘1’に置き換える位置について、図11及び図12を用いて詳細に説明する。図11の検査行列1100は、従来の周期2の時変LDPC−CC検査行列である。また、図12の検査行列1200は、検査行列1100を元に作成した本実施の形態の検査行列の例である。なお、図11のLDPC−CC検査行列1100は、図39に示したLDPC−CC検査行列20と同一である。
検査行列1100のうち、組織符号系列のうち、情報系列の後部M1ビット(時刻t∈[N−M1+1,N]の範囲)に着目する。検査行列1100で定義されるLDPC−CCにおいて、仮にターミネーション系列を付加しないとすると、c1〜cNのパリティ検査式のみが成立し、cN+1〜cN+Mのパリティ検査式は存在しないことになる。すなわち、組織符号系列のうち、情報系列の後部M1ビットの列重みが、系列の他の部分と比較して、検査行列1100の上三角形の領域1110内の列重みの数だけ小さくなる。そこで、領域1110から情報ビットに対応する‘1’だけを抜き出し、情報系列後部M1ビットの対角成分に対し未来に相当する領域に追加する。このようにして設計された行列が、図12の検査行列1200である。検査行列1200の上三角形の領域1210には、検査行列1100の領域1110から情報ビットの‘1’だけが抜き出されて追加されている。
このようにすることで、検査行列1200では、情報系列後部M1ビットについて、情報系列の前部と同等の列重みを確保することができる。
一方、検査行列1100に対して上三角の領域1210に‘1’を追加した検査行列1200では、領域1210に含まれる‘1’の数だけ行重みが増加してしまう。しかし、領域1210の各行に含まれる‘1’の数は、最大でも元の検査行列1100における情報ビットの行重みよりも1つ小さい数である。すなわち、本実施の形態に係る検査行列1200では、行重みの最大値を7+(4−1)=10に抑えることができるので、行重みの増加による復号特性の劣化を抑えることができる。
以上のように、本実施の形態によれば、情報系列後部の情報ビットに相当するM1個の列については、検査行列の対角成分に対し未来に相当する領域に‘1’を追加した検査行列を用いて、符号化するようにした。
このようにすることで、情報系列後部M1ビットの情報ビット(時刻t∈[N−M1+1,N]の範囲)の列重みが、1とならないようにすることができる。つまり、情報系列後部M1列の列重みを2以上にすることができる。さらに、実施の形態1の検査行列と異なり、情報系列の先頭M1ビットについても常に1以上の列重みが確保できる。例えば、検査行列1000では、情報系列の先頭から最後まで(時刻t∈[1,N]の範囲)すべての情報ビットについて、列重みが3(t:奇数)または5(t:偶数)となっている。
また、本実施の形態によれば、情報系列後部M1ビットの列重みを系列中央部の列重みと同等にすることができるため、情報系列後部M1ビットについてSum-Product復号により良好な復号特性が得られる。さらに、情報系列先頭部M1ビットの列重みについてもまた、系列中央部の列重みと同等にすることができるため、実施の形態1のようにヘッダ系列を付加せずとも、良好な復号特性が得られる。すなわち、本実施の形態のLDPC−CC検査行列によれば、実施の形態2と同様、ヘッダ系列とターミネーション系列がいずれも不要となり、伝送効率を向上することができる。
加えて、本実施の形態に係るLDPC−CC検査行列では、‘1’を追加したことによる行重みの増加数を最大でも元の検査行列の情報ビットの列重みから1を引いた数に抑えることができるので、行重みの増加による復号特性の劣化を抑えることができる。
なお、以上の説明では、符号化率R=1/2の場合を例に説明したが、符号化率R=b/cの場合には、情報系列後部の(M1×b)個の列では、検査行列の対角成分に対し未来に相当する領域に‘1’が存在し、情報系列後部(M1×b)個の列を除く列については、前記検査行列の対角成分の領域及び対角成分に対し過去に相当する領域にのみ‘1’が存在する検査行列を用いて、符号化率R=b/c、メモリ長M1の組織符号の畳み込み符号化を行うようにすればよい。
(変形例1)
以上説明した本実施の形態に係る検査行列1200の例では、元となる検査行列1100の行重みが7であるため、上三角形の領域に‘1’を追加した検査行列1200の行重みの最大値が10に抑えられている。しかし、元となる検査行列の行重みが9や10などの場合に、本実施の形態で説明した方法を用いて、上三角形の領域に‘1’を追加すると、行重みの最大値が10を超えてしまい復号特性が劣化してしまう。そこで、以下では、本実施の形態の別の例として、上三角形の領域に‘1’を追加した後に、行重みが10や8といった一定数を下回るように‘1’を削除する方法について説明する。
以上説明した本実施の形態に係る検査行列1200の例では、元となる検査行列1100の行重みが7であるため、上三角形の領域に‘1’を追加した検査行列1200の行重みの最大値が10に抑えられている。しかし、元となる検査行列の行重みが9や10などの場合に、本実施の形態で説明した方法を用いて、上三角形の領域に‘1’を追加すると、行重みの最大値が10を超えてしまい復号特性が劣化してしまう。そこで、以下では、本実施の形態の別の例として、上三角形の領域に‘1’を追加した後に、行重みが10や8といった一定数を下回るように‘1’を削除する方法について説明する。
図13に、本実施の形態に係る別の検査行列の構成例を示す。図13の検査行列1300は、図12の検査行列1200において情報ビットに立てられている‘1’を、複数個消去した行列となっている。図13は、四角枠で囲まれた位置に配置されていた‘1’を消去して得られた検査行列である。
‘1’を消去する位置の設計方法について詳しく述べる。まず、上三角形の領域1210によって行重みが増加するのは、行cN-M1〜cNに限られる。そこで、‘1’を消去する行を、行cN-M1〜cNの範囲の情報ビットに限定する。ここで、以下の規範(1)〜(6)に従うと、受信装置においてSum-Product復号を用いて復号することにより、良好な復号特性を得ることができる。なお、番号の小さい規範から優先して行うことにより、より良好な復号特性が得られる。
(1)検査行列の対角線上にある‘1’は消去しない。これにより、同時刻tのパリティビットと情報ビットとに拘束関係が必ず生じるようになり、情報ビットとパリティビットとの間で確率伝搬を生じさせることができる。また、検査行列の重みの分布に一定の均一性を確保することができる。このようにすることで、極端に誤り率の高いビットが生じる可能性を低減することができる。
(2)各列の列重みが、2以上となるように‘1’を残す。これにより、全てのビットについて、最低でも2つのパリティ検査式による確率伝搬が生じるようになる。また、元のLDPC−CCの時変周期に対応する1周期(例えば、検査行列1300では、周期2)の列重みの平均が3以上となるようにする。逆に言うと、列重みが大きい列から優先的に‘1’を消去すればよい。この操作には、後述する長さが4のループ(FC:Four Cycle)を削減する効果がある。
(3)各行の行重みが、10以下となるように‘1’を消去する。例えば、行重みが7〜10になるように、行重みが大きい行から順に‘1’を消去してゆく。これにより、行重みが大きすぎることによる復号特性劣化を防ぐことができる。
(4)検査行列において長さが4のループ(FC)の数ができるだけ小さくなるようにする。LDPCの検査行列においてFCが存在すると、復号特性が劣化することが知られている。なお、FCについては、非特許文献1に述べられている。
(5)各行において、最も離れている未来及び過去(右端及び左端)の‘1’はできるだけ消去せずに残す。これにより、広い範囲でのビット間の確率伝搬が生じるようにする。
(6)行cN-M1〜cNの範囲では、下にある行ほど行重みが小さくなるようにする。これにより、符号語の最終ビットを拘束する条件が強くなり、Sum-Productアルゴリズムによる反復復号において、最終ビット付近の判定結果が少ない反復回数で収束するようになる。
図13の検査行列1300は、行重みの最大値が8であり、情報ビットの列重みが3以上となるように、検査行列1200から‘1’を消去した検査行列となっている。この構成によれば、Sum-Product復号によって良好な復号特性を得ることができる。
(変形例2)
以下では、本実施の形態の別の例として、上三角形の領域に‘1’を追加した後に、行重みを小さくするために‘1’を削除する別の方法について、図14を用いて説明する。
以下では、本実施の形態の別の例として、上三角形の領域に‘1’を追加した後に、行重みを小さくするために‘1’を削除する別の方法について、図14を用いて説明する。
図14の検査行列は、図9に示した検査行列1200と同一のものである。図14において、未来の領域に追加された上三角形の領域1210に含まれる‘1’の配置は、上三角形の領域1220に含まれる情報ビットの‘1’の配置と同じである。すなわち、上三角形の領域1210に含まれる‘1’は、上三角形の領域1220に含まれる‘1’を時刻(M1+1)だけ未来にシフトしたものとなっている。すなわち、時刻tの列と、時刻t+(M1+1)の列の1/0の配置が等しくなっている。
簡単のため、図15に、領域1210及び領域1220を抜き出したものを示す。例えば、時刻i−1の列と、それに対応する時刻i+M1=i−1+(M1+1)の列とでは、1/0の配置が等しくなっている。
ここで、‘1’を削除する列の一例として、時刻i−5および時刻i+5=i−5+(M1+1)の列に着目して説明する。これら列では、同じ行に‘1’が配置されているので、例えば図14中のFC1が示すように、長さ4のループ(FC:Four Cycle)が形成されている。FCの存在により、Sum-Product復号における復号特性が劣化してしまうことが知られている。したがって、FCを除去するのが望ましい。
FCを除去するためには、対応する列同士で同じ行に配置されている‘1’が多くても一つとなるようにすればよい。例えば、時刻i−5および時刻i+5=i−5+(M1+1)の列ではそれぞれ3つずつ、合計で6つの‘1’が配置されているが、そのうち重複しない行の‘1’を2つ消去してやることで、FCを除去することができる。この際、列重みが小さくなりすぎることを防ぐには、対応する列からそれぞれ消去する‘1’の数の差が最大でも1となるようにすればよい。
すなわち、上三角形の領域1210内で、時刻tの列に、配置されている‘1’の数をSとすると、時刻tの列及び時刻t+(M1+1)の列から合わせて最大S−1個の1を消去し、かつ、時刻tの列と時刻t+(M1+1)の列とで異なる行の‘1’を消去すればよい。この条件に従って‘1’を消去すると、情報ビットの列重みが2以上となることが保障される。
上述の規範によれば、上三角形の領域の各列で、最低でも‘1’が1つは消去されずに残ることになる。本発明のLDPC−CC検査行列では、上三角形の領域の他に対角成分に必ず‘1’が配置されているので、列重みが必ず2以上になることが保障される。なお、‘1’を消去する前の上三角形の領域1210及び領域1220内で、はじめから‘1’が存在しない列については、領域1210が存在しなくとも検査行列の列重みが2以上となっているので、列重みについて新たに考慮する必要はない。
なお別の規範として、時刻tの列及び時刻t+(M1+1)の列から合わせて最大S個の1を消去し、かつ、時刻tの列と時刻t+(M1+1)の列とで異なる行の‘1’を消去した場合でも、情報ビットの列重みを2以上とできるのであれば問題はなく、行重みを減らすことによる特性改善効果が得られる。
さらに、’1’を消去する際、各行で最も右端(未来)にある‘1’と、左端(過去)にある‘1’との、少なくとも一方は、削除せずに残すようにする。このようにすることで、各行に対応する検査式の拘束長を大きく取ることができる。拘束長とは、各行の情報ビットとパリティビットそれぞれについて、‘1’の存在する時刻の範囲の幅(右端(未来)にある‘1’と左端(過去)にある‘1’との幅)のことをいう。LDPC−CCでは、拘束長が大きいほど、高い符号化ゲインが得られ、良好な復号特性を得られる。さらに、行重みが大きい行・列重みが大きい列から優先して、‘1’を消去することにより、良好な復号特性が得られるLDPC−CC検査行列を生成することができる。
上述の規範に従って、上三角形の領域1210及び領域1220から‘1’を消去した例を、図16に示す。図16において、領域1310は、領域1210から‘1’が消去された領域を示し、領域1320は、領域1220から‘1’が消去された領域を示す。図16に示されているように、例えば、時刻i−5および時刻i+5=i−5+(M1+1)の列に着目すると、時刻i+5の列の上から4つめの‘1’が消去され、これにより、FCが除去されていることがわかる。
以上の方法を用いて‘1’を消去したLDPC−CC検査行列を、図17に示す。図17の検査行列1700は、図14の検査行列1200から上述の規範に従って‘1’を消去したものである。図17の検査行列1700は、情報ビットの列重みが全て2以上となっており、かつ、行重みが全て8以下となっているため、系列の後部をターミネーション系列としなくとも、良好な復号特性を得ることができる。
以下に、本実施の形態に係る検査行列を構成する検査多項式を示す。
時刻t≦N−M1−1における検査多項式は、次式で与えられる。
ただし、X(D)は情報系列の多項式表現、P(D)はパリティ系列の多項式表現であり、GD1(t),GP(t)はそれぞれ次式で与えられる。
ここで、α(t,i)(i=1,・・・,μd)、及び、β(t,i)(i=1,・・・,μp)は自然数であり、i>jのとき、α(t,i)>α(t,j),α(t,i)>α(t,j)とする。
また、LDPC−CCの時変周期がωのとき、α(t,i)=α(t+nω,i)、β(t,i)=β(t+nω,i)である(ただし、nは自然数)。この場合に、情報ビットを保持するメモリ長M1及びパリティビットを保持するメモリ長M2は、GD1(t),GP(t)の最大次数である次式で表される。
ここで、時刻tと対応する時刻t+J1とについては、検査行列の同じ行では、どちらか一方の‘1’を消去するか、どちらも消去しないようにする。すなわち、γi,+(t)と、γi,−(t)との組は、次式のいずれかとなる。
このようにすることで、FCの増加を抑えつつ、検査行列の情報系列後部の列重みを2以上にすることができるので、系列後部に本来伝送したい情報ビットに割り当てる場合においても、良好な復号特性が得られるLDPC−CC検査行列を構成することができる。この結果、LDPC−CCにおけるターミネーション系列を削減し、伝送効率を向上させることができる。
なお、実施の形態2及び実施の形態3のLDPC−CCを、ビットをパンクチャ(消去)することによって可変符号化率を達成するシステムに用いる送信装置に適用する際には、符号語系列のうち、ヘッダ系列v2,-L1+1〜v2,0、ターミネーション系列v2,N+1〜v2,N+L2、符号語の先頭(c×M1)ビットv1,1,v2,1,…,v2,M1,v2,M2、及び、符号語の後部(2×c×M1)ビットv1,N-2M1,v2,N-2M1,…,v1,N,v2,Nからはビットを消去せずに全て送信することが好適である。これにより、反復復号における系列先頭及び後部の収束特性が安定し、復号特性を改善することができる。また、系列後部の検査行列を変形した影響で、消去されるビットの訂正が困難になる事態を防ぐことができる。
また、以上の説明では、説明を簡易にするため、時変周期ω=2の時変LDPC−CCを用いて説明したが、時変周期は2に限られず、ω≧1の任意の周期のLDPC−CCに対して同様に適用可能である。
また、実施の形態2から実施の形態3に係る符号化器を用いる際は、入力ビット長NがLDPC−CCの時変周期ωの整数倍となるように、入力ビットの後部に既知系列によるパディングビットを付加してやるとよい。このようにすることで、ウェイト制御部に予め記憶させておくウェイトパターンcN-K1〜cNが一意に定められる。例えば、本来伝送したい情報ビット数がN0の場合、Lpad=mod(−N,ω)ビットのパディングビットをN0ビットの情報系列の後ろに付加し、N=N0+Lpadビットの情報系列とM1ビットのゼロ系列とを符号化器に入力すればよい。なお、mod(x,y)はxをyで割った余りを示す。このようにしない場合、例えば時変周期2のLDPC−CCでは、Nが奇数の場合と偶数の場合とで異なるウェイトパターンcN-K1〜cNを用意しなければならない。パディングビット数Lpadは、時変周期が2の場合多くても1ビットであり、パディングビットを付加することによる伝送効率の低下は極めて小さい。
また、本発明の実施の形態1から実施の形態3では、ターミネーション系列を一切付加しない場合について説明したが、本発明のLDPC−CC検査行列及びLDPC−CC符号化器を用いた場合に、L2ビットのターミネーション系列を付加して符号化を行うことも可能である(L2≦M2)。ターミネーション系列を付加することにより、系列後部のパリティビットに対応する列重みを大きくすることができるため、Sum-Product復号の反復において系列後部の収束を早めることができる。
なお、本発明に係る検査行列を用いる場合には、L2がM1より小さくても、十分な復号特性を得ることができるので、オーバーヘッドとして問題とならない範囲のL2を設定してやればよい。例えば、L2を、組織符号系列に係る時刻t∈[1,N]の範囲のパリティビットの列重みが全て2以上となる最小の値などに設定するとよい。この際、パリティビットのメモリ長M2が短いほどL2が短くて済むため、長いメモリ長により符号化ゲインを確保しつつ、ターミネーション系列の削減の効果を得るためには、情報ビットのメモリ長M1をパリティビットのメモリ長M2よりも長くしてやるとよい。
L2ビットのターミネーション系列を付加する場合、本発明のLDPC−CC符号化器200及び800のデータ入力には、Nビットの情報系列,L2ビットのゼロ系列,M1ビットのゼロ系列の順に入力する。このとき、符号化器からは、実施の形態1及び実施の形態2で説明した符号語系列に加えて、情報系列v1,N+1〜v1,N+L2及びパリティ系列v2,N+1〜v2,N+L2が出力されるが、このうちv1,N+1〜v1,N+L2は、ゼロ系列であって、受信装置で既知とできる。よって、実施の形態1及び実施の形態2で送信するとした符号語系列に加えて、L2ビットのターミネーション系列v2,N+1〜v2,N+L2を送信すればよい。
(実施の形態4)
本実施の形態では、LDPC−CCにおいて送信するターミネーション系列の量を削減するために、ターミネーション系列に対してパンクチャを適用する送信装置及びパンクチャ方法について説明する。
本実施の形態では、LDPC−CCにおいて送信するターミネーション系列の量を削減するために、ターミネーション系列に対してパンクチャを適用する送信装置及びパンクチャ方法について説明する。
本実施の形態の説明に先立ち、先ず、LDPC−CC符号化により得られた送信符号語系列にパンクチャを施す際の課題について説明する。
図18は、一般的なパンクチャ方法を説明するための図である。同図において、v1,t,v2,t(t=1,2,…)は、符号化率R=1/2の送信符号語系列vを示す。一般的なパンクチャ方法では、送信符号語系列vは、複数のブロックに分けられ、各ブロックに対し同一のパンクチャパターンが用いられて、符号語ビットが間引かれる(消去される)。
図18は、送信符号語系列vが、パンクチャパターン長Lp=4ビットごとにブロックに分けられ、すべてのブロックに対し、同一のパンクチャパターンが用いられて、一定の割合で符号語ビットが間引かれる様子を示している。同図において、斜線で消去されたビットがパンクチャされるビット(送信されないビット)を示し、ブロック1,2,・・・,j,・・・に対し、v2、2,v2,4,v2,6,・・・,v2,2j,・・・が選択され、パンクチャされる(送信されないビットとする)。図18では、符号化率R=1/2の符号語系列を長さ4ビットのブロックに分割し、各ブロックから1ビットを消去することで、符号化率R=(1/2)×{4/(4−1)}=2/3の送信符号語系列を生成している。
次に、LDPC−CCを用いた符号化により得られた送信符号語系列に、図18に示すようなパンクチャを施した場合の受信側(復号側)の影響を考える。なお、以下では、受信側(復号側)においてBP復号を用いる場合について検討する。BP復号では、LDPC−CCの検査行列に基づいて復号処理を行う。図19に、送信符号語系列vと時変周期ω=2のLDPC−CC検査行列Hとの対応関係を示す。図19において、送信符号語系列のうち、斜線で消去されたビットは、パンクチャにより間引かれる送信符号語ビットである。この結果、検査行列Hにおいて、四角の破線枠で囲まれた領域において、要素が‘1’に対応するビットが、送信符号語系列に含まれなくなる。この結果、BP復号を行う場合に、破線枠で囲まれた領域において要素が‘1’のビットに対しては、初期の信頼度が存在しないので、信頼度(対数尤度比)の初期値が‘0’に設定されることになる。
BP復号では、行演算と列演算とを反復して行う。このうち行演算では、1つの行で初期の対数尤度比が‘0’のビットが2つ以上含まれると、該当行の行演算単独では対数尤度比が更新されない。したがって、初期の対数尤度比が存在しない(対数尤度比が‘0’の)ビット(図19において破線枠で囲まれた領域で、要素が‘1’のビット)が、同一行に2つ以上含まれると、当該行では、列演算により初期の対数尤度比が存在しない(対数尤度比が‘0’の)ビットの対数尤度比が更新されるまで、対数尤度比が当該行の行演算単独では更新されないことになる。すなわち、行演算単独では信頼度が伝搬されず、信頼度を伝搬させるためには、行演算と列演算とを反復する必要がある。すなわち、ある符号ビットについて信頼度伝搬による符号化ゲインを得るためには、復号器の所定の反復回数内において該当ビットの信頼度が更新されるようになっている必要がある。
一例として、図19の符号ビットv2,2jに着目する。符号ビットv2,2jの列における要素が‘1’の行は、c2j,c2j+4,c2j+6,c2j+8 の4行である。このうち、c2j,c2j+4,c2j+6 の3行については、初期の対数尤度比が‘0’のビット(パンクチャによって消去されているビット)が2つ以上含まれているのに対し、行c2j+8については初期の対数尤度比が‘0’のビットが1つのみなので、行c2j+8では初回の行演算で信頼度を更新することができる。続いて列演算を行うことにより、行c2j+8の行演算で得られたv2,2jについての信頼度が、v2,2jに対応する列のc2j,c2j+4,c2j+6 の行要素へと伝搬する。
図19の例では、検査行列Hは、時変周期2であり、多項式が同じ形が繰り返されており、又、パンクチャパターンP1も、4ビットごとに同一のパターンが繰り返されているので、符号ビットv2,2j以外のパンクチャビット(消去されたビット)についても同様に、初回の行演算・列演算によって信頼度を更新することができる。よって、初回の行演算・列演算を行った時点において、全ての符号ビットの対数尤度比が0以外の値となるため、以降、行演算と列演算とを反復することによって、全ての符号ビット間で信頼度を伝搬させ、符号化ゲインを得ることができる。
送信符号語系列vとLDPC−CC検査行列Hとの対応関係の別の例を、図20に示す。図20の検査行列は図19と同一であり、パンクチャパターンのみが異なっている。
図19のパンクチャパターンP1は、P1=[1,1,1,0]であったのに対し、図20のパンクチャパターンP1’は、P1’=[1,0,1,1]である。パンクチャパターンP1、P1’は、ともに、4ビットのブロックから1ビットを消去し、符号化率R=2/3のパンクチャを施すパターンである。
図20の符号ビットv2,2j-1に着目する。符号ビットv2,2j-1列において、要素が‘1’の行は、c2j-1,c2j+7の2行である。行c2j-1,c2j+7はいずれも、初期の対数尤度比が0のビットが2つ存在するため、初回の行演算によって信頼度は更新されない。すなわち、初回の行演算・列演算を行った時点では、符号ビットv2,2j-1の対数尤度比は0のままとなる。同様に、符号ビットv2,2j-1+2、v2,2j-1+4、・・・のビットの信頼度も、初回の行演算・列演算を行った時点では0のままとなる。
このように、図20の例では、初回の行演算によって、符号ビットv2,3の対数尤度比は、行c3の演算結果から0以外の値で更新することができる。また、続けて2回目の行演算、列演算によって、符号ビットv2,2j-1の対数尤度比は、行c2j-1の演算結果から更新することができる。しかし、送信符号語系列の後半の符号ビットの信頼度が更新されるようになるまでに、多数の反復が必要となってしまう。すなわち、図20のパンクチャパターンP1’を用いる場合、符号化ゲインが得られにくく、図19の場合と比較して復号特性が劣化する。
以上の例から分かるように、LDPC−CCに対してパンクチャを施す際には、同一の符号化率であっても、パンクチャパターンに依存して復号特性が変動する。
特に、図19のパンクチャパターンP1[1,1,1,0]と図20のパンクチャパターンP1’[1,0,1,1]とでは、同一のパターンを2ビット巡回シフトしただけの違いであるにも関わらず、復号特性に差が生じる。換言すると、パンクチャパターンP1[1,1,1,0]を用いる場合においても、ブロックの開始位置(ブロックの区切りの位置)を図19の位置から2ビットずらしてしまうと、図20の場合と同様に、復号特性が劣化することになる。
なお、図19及び図20のLDPC−CCは、符号化率R=b/c=1/2,時変周期ω=2を用いて、同じ検査式が繰り返されるLDPC−CCの例である。したがって、パンクチャパターンのブロックの区切り位置を、ω×c=4ビットだけずらして得られたパンクチャパターンと検査行列を構成する検査多項式との対応関係は、ビットをずらす前の元のパンクチャパターンと検査多項式との対応関係と同じになる。
以上のように、LDPC−CCに対してパンクチャを適用する際には、検査行列の構成と対応させて、BP復号において符号化ゲインが得られるようなパンクチャパターンを設計する必要がある。また、設計したパンクチャパターンを用いてビットを間引く際には、パンクチャブロックの区切り位置と、検査多項式のインデックスの対応付けとを一意に保つ必要がある。なお、パンクチャブロックの区切り位置と、検査多項式のインデックスの対応付けとの関係については、実施の形態5で詳述する。
次に、LDPC−CC符号化により得られた送信符号語系列にパンクチャを施す送信装置の構成例について説明する。図21は、当該送信装置の要部構成の一例を示す図である。
図21の送信装置2100は、LDPC−CC符号化器2110、パンクチャ部2120、インタリーブ部2130、変調部2140、無線部2150、送信アンテナ2160、及び、制御情報生成部2170を含む構成である。
LDPC−CC符号化器2110は、情報系列にテイルビットが付加された入力系列に対し、LDPC−CC符号化処理を行い、符号化後の符号語系列をパンクチャ部2120に出力する。
パンクチャ部2120は、LDPC−CC符号化後の送信符号語系列に対してパンクチャを行い、パンクチャ後の送信符号語系列をインタリーブ部2130に出力する。パンクチャ処理については、後述する。
インタリーブ部2130は、送信符号語系列に対して、系列の順序の並び替え処理(インタリーブ)を行い、インタリーブ後の送信符号語系列を変調部2140に出力する。
変調部2140は、インタリーブ後の送信符号語系列を、PSK(Phase Shift Keying),QAM(Quadrature Amplitude Modulation)などの変調方式を用いて変調して、変調後の送信変調シンボル系列を無線部2150に出力する。
制御情報生成部2170は、送信側と受信側との間で信号を送受信するために必要な制御情報を生成して、変調部2140に送出する。制御情報としては、変調方式、送信情報系列長、時間・周波数同期のためのプリアンブル信号などがある。制御情報生成部2170は、符号化率に応じて、系列全体のパンクチャパターンを決定し、決定したパンクチャパターンをパンクチャ部2120に通知する。
無線部2150は、送信変調シンボル系列に対して、D/A(Digital to Analog)変換、周波数変換、RF(Radio Frequency)フィルタ処理などの無線変調処理を行い、送信RF信号を生成して、送信アンテナ2160を介して送信する。
以上、LDPC−CC符号化後の送信符号語系列に対して、パンクチャを施す際の課題、並びに、送信装置の要部構成について説明した。
以下では、本実施の形態に係る送信装置、及び、ターミネーション系列にパンクチャを施すパンクチャ方法について述べる。
本実施の形態では、情報系列をLDPC−CC符号化して得られた2Nビットの組織符号系列には、第1パンクチャパターンに基づくパンクチャを施し、テイルビットをLDPC−CC符号化して得られたターミネーション系列には、第2パンクチャパターンに基づくパンクチャを施すことを特徴とする。第2パンクチャパターンによる符号化率を、第1パンクチャパターンの符号化率よりも高く設定することによって、送信するターミネーション系列の量を削減し、伝送効率を高めることができる。
先ず、図22を用いて、本実施の形態における、検査行列とパンクチャパターンとの対応について説明する。
図22に、検査行列とパンクチャパターンとの対応関係を示す。図22には、周期ω=2,符号化率R=1/2のLDPC−CCに対し、組織符号系列とターミネーション系列とで異なる符号化率のパンクチャが適用された例が示されている。具体的には、組織符号系列に対しては、第1パンクチャパターンP1=[1,1,1,1](つまり、パンクチャ無し)を適用することで、符号化率R=1/2とし、ターミネーション系列に対しては、第2パンクチャパターンP2=[1,1,1,0]を適用することで、符号化率R=2/3としている。
このようにすることで、系列全体を符号化率R=1/2で送信する場合に比し、ターミネーション系列の量を削減することができる。ターミネーション系列は、本来データの伝送に寄与しない冗長な系列であることから、ターミネーション系列の符号化率を高くすることによる符号化ゲインの低下は、系列全体の符号化率を、ターミネーションン系列の符号化率と同等にまで高めた場合と比較すると小さくて済む。
なお、使用するLDPC−CC符号が組織符号である場合には、ターミネーション系列のうち情報ビットに対応する系列には、ゼロ系列等の受信側(復号側)において既知の系列を用いることができる。したがって、上述の実施の形態と同様に、ターミネーション系列のうち情報ビットを送信する必要がない。よって、図23のパンクチャパターンのように、符号化率R=2/3のパンクチャパターンから、さらに情報ビットに対応するビットを消去することができる。図23の例では、ターミネーション系列の長さを、LDPC−CC符号化器2110の出力系列の20ビットから、その1/4の5ビットにまで削減することができる。
なお、逆に言えば、ターミネーション系列のうち情報ビットは、そもそも送信する必要がないため、パンクチャによりパリティビットを消去しなければ、ターミネーション系列を削減する効果は得られない。よって、第1のパンクチャパターンのパリティビットの間引き率Pp1を、
Pp1=パリティビットを消去する数/第1のパンクチャパターン長
とし、第2のパンクチャパターンのパリティビットの間引き率Pp2を、
Pp2=パリティビットを消去する数/第2のパンクチャパターン長
とした場合、ターミネーション系列を削減するには、間引き率Pp1が、間引き率Pp2よりも小さくなるようなパンクチャパターンの組合せを用いる必要がある。
Pp1=パリティビットを消去する数/第1のパンクチャパターン長
とし、第2のパンクチャパターンのパリティビットの間引き率Pp2を、
Pp2=パリティビットを消去する数/第2のパンクチャパターン長
とした場合、ターミネーション系列を削減するには、間引き率Pp1が、間引き率Pp2よりも小さくなるようなパンクチャパターンの組合せを用いる必要がある。
ターミネーション系列から消去された情報ビットについては、受信側(復号側)において既知であることから、BP復号装置において信頼度(対数尤度比)としてゼロではなく、無限大の値を設定することができる。すなわち、ターミネーション系列の情報ビットは、初期の対数尤度比が存在しない‘1’の要素には含まれないことになる。
図24に、本実施の形態に係る送信装置の要部構成の一例を示す。図24の送信装置において、図21の送信装置2100と共通する構成部分には、図21と同一の符号を付して説明を省略する。
図24の送信装置2400は、LDPC−CC符号化器2110、パンクチャ部2410、インタリーブ部2130、変調部2140、無線部2150、送信アンテナ2160、及び、制御情報生成部2420を含む構成である。また、パンクチャ部2410は、第1パンクチャ部2411、第2パンクチャ部2412、切り替え部2413、及び、ビット数カウンタ2414を含む。
LDPC−CC符号化器2110は、情報系列にターミネーション系列が付加された入力系列に対し、LDPC−CC符号化処理を行い、符号化後の符号語系列をパンクチャ部2410に出力する。
パンクチャ部2410のビット数カウンタ2414は、LDPC−CC符号化器2110から出力される符号語系列のビット数をカウントし、得られた入力ビット数の情報(入力ビット数情報)を切り替え部2413に出力する。
第1パンクチャ部2411及び第2パンクチャ部2412は、LDPC−CC符号化器2110から出力された符号語系列に対して、それぞれ第1及び第2のパンクチャパターンに基づいてパンクチャを施す。具体的には、第1パンクチャ部2411は、組織符号系列に対する第1パンクチャパターンに基づいてパンクチャし、第2パンクチャ部2412は、ターミネーション系列に対する第2パンクチャパターンに基づいてパンクチャする。なお、第2パンクチャパターンに対する符号化率は、第1パンクチャパターンに対する符号化率よりも高く設定されている。
切り替え部2413は、ビット数カウンタ2414から出力される入力ビット数情報、符号語系列長、および、制御情報生成部2420からの制御情報に基づき、第1パンクチャ部2411又は第2パンクチャ部2412によりパンクチャされた系列のうち、どちらか一方を選択し、選択した系列をインタリーブ部2130に出力する。なお、符号語系列長は、LDPC−CC符号化器出力の符号語系列のうち、ターミネーション系列を除いた系列の系列長(c×N)を表す。
具体的には、切り替え部2413は、入力ビット数に応じて、符号語系列が組織符号系列又はターミネーション系列のどちらであるか判定する。更に、切り替え部2413は、符号語系列が組織符号系列の場合、第1パンクチャ部2411によってパンクチャされた系列をインタリーブ部2130に出力する。また、切り替え部2413は、入力系列がターミネーション系列の場合、第2パンクチャ部2412によってパンクチャされた系列をインタリーブ部2130に出力する。
ビット数カウンタ2414は、LDPC−CC符号化器2110に入力される情報系列の入力ビット数をカウントし、切り替え部2413に出力する。
パンクチャ部2410から出力される符号語系列は、インタリーブ部2130、変調部2140、無線部2150によって、インタリーブ、変調、D/A変換、周波数変換等の所定の無線送信処理が施され、送信アンテナ2160から送信される。
以上のように、本実施の形態によれば、組織符号系列は、第1パンクチャパターンに基づいてパンクチャされ、ターミネーション系列は、第1パンクチャパターンに対する符号化率よりも符号化率が高い第2パンクチャパターンに基づいてパンクチャされる。このように、ターミネーション系列に、組織符号系列に適用する第1パンクチャパターンとは異なる第2パンクチャパターンを適用し、第2パンクチャパターンの符号化率を、第1パンクチャパターンの符号化率よりも高く設定することにより、送信するターミネーション系列の量を削減し、伝送効率を改善することができる。
なお、以上の説明では、第1パンクチャ部2411及び第2パンクチャ部2412が、組織符号系列及びターミネーション系列をパンクチャし、切り替え部2413が、符号語系列が組織符号系列の場合、第1パンクチャ部2411によってパンクチャされた系列をインタリーブ部2130に出力し、符号語系列がターミネーション系列の場合、第2パンクチャ部2412によってパンクチャされた系列をインタリーブ部2130に出力する場合について説明したが、これに限られない。例えば、切り替え部2413を、LDPC−CC符号化器2110と第1パンクチャ部2411及び第2パンクチャ部2412との間に設け、切り替え部2413が、符号語系列が組織符号系列の場合、符号語系列を第1パンクチャ部2411に出力し、符号語系列をターミネーション系列の場合、符号語系列を第2パンクチャ部2412に出力するようにしてもよい。
(実施の形態5)
本実施の形態では、組織符号系列にターミネーション系列が付加された送信符号語系列に対し、組織符号系列とターミネーション系列とで異なるパンクチャパターンを用いてビットを消去し、かつ、情報系列にパディングビット及びテイルビットを付加して符号化することを特徴とする、送信装置及び送信方法について説明する。
本実施の形態では、組織符号系列にターミネーション系列が付加された送信符号語系列に対し、組織符号系列とターミネーション系列とで異なるパンクチャパターンを用いてビットを消去し、かつ、情報系列にパディングビット及びテイルビットを付加して符号化することを特徴とする、送信装置及び送信方法について説明する。
図25に、本実施の形態における送信装置の要部構成の一例を示す。なお、図25の送信装置において、図24の送信装置2400と共通する構成部分には、図25と同一の符号を付して説明を省略する。
図25の送信装置2500は、パディングビット付加部2510、LDPC−CC符号化器2110、パンクチャ部2410、インタリーブ部2130、変調部2140、無線部2150、送信アンテナ2160、及び、制御情報生成部2420を含む構成である。
パディングビット付加部2510は、情報系列長に基づいて、情報系列の後方に付加するパディングビット数Lpadを算出する。パディングビット数Lpadの算出方法については後述する。パディングビット付加部2510は、情報系列の後方に、Lpadビットのパディング系列、及び、テイルビット(既知系列)を付加し、付加後の系列を、LDPC−CC符号化器2110に出力する。また、パディングビット付加部2510は、LDPC−CC符号化器2110から出力される符号語系列長を算出し、パンクチャ部2410へと出力する。なお、パディング系列及びテイルビットは、受信側(復号側)において既知の系列であれば、どのような系列でもよい(例えば、ゼロ系列)。
LDPC−CC符号化器2110は、情報系列にパディング系列及びテイルビットが付加された入力系列に対して、LDPC−CC符号化処理を行い、符号化後の送信符号語系列をパンクチャ部2410に出力する。
パンクチャ部2410は、入力されたLDPC−CC符号系列(符号化後の送信符号語系列)のうち、情報系列とパディング系列とを符号化して得られた組織符号系列に第1パンクチャを施し、また、テイルビットを符号化して得られたターミネーション系列に第2パンクチャを施し、パンクチャ後の送信符号語系列(LDPC−CC符号系列)をインタリーブ部2130に出力する。
パンクチャ部2410から出力される送信符号語系列は、インタリーブ部2130、変調部2140、無線部2150によって、インタリーブ、変調、D/A変換、周波数変換等の所定の無線送信処理が施され、送信アンテナ2160から送信される。
次に、パディングビット付加部2510における、パディングビット数Lpadの算出方法及びパディングビットを付加することによる効果について述べる。実施の形態4で述べたように、LDPC−CCによって符号化された符号語系列に対してパンクチャを施す際には、予め設計したパンクチャパターンのブロックの区切り位置と検査行列のインデックスとの対応を一意に保ち、インデックスの対応がずれないようにする必要がある。一方で、LDPC−CC符号化器2110の情報系列長を任意とする場合、符号語系列のうちターミネーション系列の先頭のインデックスが不定となるため、第2パンクチャパターンのブロックの区切り位置が不定となってしまう。このため、情報系列長に関わらず、同一の第2パンクチャパターンを適用すると、情報系列長によって復号特性に差が生じてしまう。
これを回避するための一つの方法として、第2パンクチャパターンとして、情報系列長に応じた複数のパンクチャパターンを用意する方法が考えられる。しかし、ターミネーション系列の符号化率が、複数の符号化率に対応できるようにするためには、それぞれの符号化率に応じて複数のパンクチャパターンを用意しなければならず、送信装置及び受信装置の構成が複雑になってしまう。
そこで、パディングビット付加部2510は、情報系列長に関わらず、ターミネーション系列の先頭のインデックスと検査行列との対応関係が一意に保たれるように、情報系列とテイルビット(既知系列)との間にパディング系列を付加し、LDPC−CC符号化器2110に出力する。これにより、情報系列長によらず、第2パンクチャパターンとして常に同一のパンクチャパターンを用いることができるようになる。
次に、パディングビット数Lpadの算出方法について説明する。検査行列を構成する検査多項式は、時変周期ω毎に同じ多項式が繰り返されている。よって、ターミネーション系列の先頭のインデックスが、例えば、時変周期の1周期の先頭のインデックスに一致するように、パディングビットを付加してやればよい。すなわち、情報系列長をN0とすると、パディングビット数Lpadは、次式(28)で算出される。
式(28)において、ceil(x)は、xよりも大きい最小の整数を表す。また、mod(x,y)は、xをyで割った余りを表す。
このようにすることで、LDPC−CC符号化器2110に入力される入力系列長N=N0+Lpadを、LDPC−CC検査行列の時変周期の整数倍にすることができるようになる。これにより、情報系列長N0によらず、ターミネーション系列の先頭のインデックスと、検査行列を構成する検査多項式との対応関係を一意に定めることができる。すなわち、情報系列長によらず、常に同一のパンクチャパターンを用いることができるようになる。
なお、時変周期ω=2、符号化率R=1/2の場合、パディングビット数Lpadは、多くても1ビットなので、パディングビットを付加することによる伝送効率の低下は極めて小さくて済む。
また、パディングビット数Lpadの別の算出方法として、N=N0+Lpadビットの情報系列及びパディング系列に対して、LDPC−CC符号化を施して得られる組織符号系列の出力系列長(c×N)ビットが、システムで用いられるパンクチャパターン長Lpの公倍数となるようにしてもよい。このようにすると、システムで用いられるパンクチャパターンのうち、どのパンクチャパターンを用いた場合においても、情報系列及びパディング系列を符号化した組織符号系列の系列長が、パンクチャブロック長の整数倍となるため、パンクチャ部2410における処理が簡易で済むためである。
なお、システムで用いられるパンクチャパターンのパンクチャパターン長Lpが、すべて(ω×c)の整数倍となるように設計することにより、ターミネーション系列の先頭のインデックスと検査多項式との関係を一意に保つ効果も得る。
図26に、本実施の形態における情報系列、パディング系列、及び、符号語系列の対応を示す。LDPC−CC符号化器2110の入力系列は、Nビットの情報系列と、Mビットのゼロ系列とを含む構成である。Nビットの情報系列には、N0ビットの本来伝送したい情報系列と、Lpadビットのパディング系列とが含まれる。ここで、N(=N0+Lpad)ビットの情報系列を符号化して得られる情報系列v1,1〜v1,N及びパリティ系列v2,1〜v2,Nには、第1パンクチャパターンによるパンクチャを施す。また、同様に符号化により得られるターミネーション系列v1,N+1〜v1,N+M及びv2,N+1〜v2,N+Mには、第2パンクチャパターンによるパンクチャを施す。なお、パンクチャ後の符号語系列のうち、パディング系列v1,N0+1〜v1,N及びv1,N+1〜v1,N+Mは、受信装置が既知の系列を用いるので送信する必要が無い。したがって、図26の破線で囲まれたビットのみが送信されればよい。
図27に、本実施の形態における検査行列とパンクチャパターンとの対応を示す。図27の検査行列は、符号化率R=1/2,時変周期ω=2の検査行列となっている。情報系列に対応する符号語系列と、ターミネーション系列との間に、パディング系列が挿入されることにより、ターミネーション系列の先頭の時刻N+1が、奇数となる。すなわち、2種類の検査多項式のうち、ターミネーション系列の先頭のインデックスに対応する検査多項式を、いずれか一方に一意に定めることができる。このように、式(28)又は式(29)により算出されるビット数のパディング系列を、情報系列とテイルビットとの間に挿入することにより、ターミネーション系列に適用する第2パンクチャパターンを、情報系列長毎に用意する必要が無くなる。
以上のように、本実施の形態によれば、情報系列に、パディング系列を付加し、情報系列及びパディング系列に対しLDPC−CC符号化を施し得られる組織符号系列に対しては、第1パンクチャパターンに基づいてパンクチャし、テイルビットに対しLDPC−CC符号化を施し得られるターミネーション系列に対しては、第1パンクチャパターンに対する符号化率よりも符号化率が高い第2パンクチャパターンに基づいてパンクチャするようにした。このようにすることで、実施の形態4と同様に、送信するターミネーション系列の量を削減し、伝送効率を改善することができる。加えて、情報系列長N0によらず、ターミネーション系列の先頭のインデックスと、検査行列を構成する検査多項式との対応関係を一意に定めることができるので、ターミネーション系列に適用するためにシステムで用意すべきパンクチャパターンの種類数を削減することができる。
なお、以上の説明では、パディング系列が、情報系列とテイルビットとの間に挿入される場合について説明したが、これに限られず、例えば、情報系列の途中に挿入されるようにしてもよい。
(実施の形態6)
実施の形態5では、情報系列長に関わらず、ターミネーション系列の先頭のインデックスと、検査行列を構成する検査多項式との対応関係を一意に定めることができる送信装置及び送信方法について説明した。
実施の形態5では、情報系列長に関わらず、ターミネーション系列の先頭のインデックスと、検査行列を構成する検査多項式との対応関係を一意に定めることができる送信装置及び送信方法について説明した。
本実施の形態では、実施の形態5とは異なる別の送信装置及び送信方法について説明する。本実施の形態によれば、実施の形態5と同様に、ターミネーション系列の量を削減し、データ系列長によらず受信特性の劣化を抑圧することができる。
図28に、本実施の形態におけるLDPC−CC符号語系列と、パンクチャパターンとの対応関係を示す。図28のLDPC−CC符号語系列は、N0ビットの情報系列と、Mビットのターミネーション系列(既知系列)とに、時変周期ω、符号化率R=b/c=1/2のLDPC−CC符号化し得られた系列である。
図28の例では、情報系列を符号化して得られる(c×N0)ビットの組織符号系列に、第1パンクチャパターンP1=[p1,1,p1,2,…,pLp1/c,c-1,pLp1/c,c]によるパンクチャが施され、(c×M)ビットのターミネーション系列に、第2パンクチャパターンP2=[p1,1,p1,2,…,pLp2/c,c-1,pLp2/c,c]によるパンクチャが施されている。ここで、Lp1,Lp2は、それぞれ第1パンクチャパターンP1、第2パンクチャパターンP2のブロック長である。
上述の実施の形態5では、ターミネーション系列にパンクチャを施す際に、第2パンクチャパターンP2のブロックの先頭p1,1をターミネーション系列の先頭に揃えるために、パディング系列を挿入した。これに対し、本実施の形態では、パディング系列を挿入せず、図28に示すように、ブロックの先頭をc×mod(−N0,ω)ビットだけずらして配置する。つまり、第2パンクチャパターンP2の途中からターミネーション系列のパンクチャが開始される。このようにすることで、情報系列長N0によらず、第2パンクチャパターンP2のブロック区切りの位置のインデックスと、検査行列を構成する検査多項式との対応関係を一意に定めることができる。これにより、実施の形態5と同様に、第2パンクチャパターンを情報系列長と時変周期との対応毎に複数用意しておく必要がなくなる。
また、実施の形態5では、パディング系列が挿入されることにより、伝送効率を僅かながら低下させてしまうのに対し、本実施の形態では、パディング系列は挿入されないので、伝送効率を維持したまま、良好な復号特性を得ることができる。
以上のように、本実施の形態によれば、情報系列に対しLDPC−CC符号化を施し得られる組織符号系列に対しては、第1パンクチャパターンに基づいてパンクチャし、ターミネーション系列に対しては、第1パンクチャパターンに対する符号化率よりも符号化率が高い第2パンクチャパターンに基づいてパンクチャするようにした。このようにすることで、実施の形態4と同様に、送信するターミネーション系列の量を削減し、伝送効率を改善することができる。加えて、本実施の形態では、パディング系列を挿入せずに、ターミネーション系列に対しては、第2パンクチャパターンのブロックの先頭をc×mod(−N0,ω)ビットだけずらして配置するようにした。これにより、情報系列長N0によらず、ターミネーション系列の先頭のインデックスと、検査行列を構成する検査多項式との対応関係が一意に定まるようになるという実施の形態5と同様の効果を得つつ、パディング系列を挿入する実施の形態5に比べ、伝送効率の低下を回避することができるようになる。
(実施の形態7)
実施の形態1〜実施の形態3では、対角成分に対して未来の領域に‘1’の要素を配置する検査行列を用いてLDPC−CC符号化を施す場合について説明した。各実施の形態において説明したように、当該検査行列を用いることにより、ターミネーション系列を削減することができる。
実施の形態1〜実施の形態3では、対角成分に対して未来の領域に‘1’の要素を配置する検査行列を用いてLDPC−CC符号化を施す場合について説明した。各実施の形態において説明したように、当該検査行列を用いることにより、ターミネーション系列を削減することができる。
本実施の形態では、実施の形態1〜実施の形態3における検査行列を用いてLDPC−CC符号化を施し得られた送信符号語系列に対し、実施の形態4において説明したパンクチャ方法を適用する場合について説明する。具体的には、本実施の形態では、パンクチャパターンに応じて、検査行列を変形する。
図29に、本実施の形態におけるもとの検査行列とパンクチャパターンとの対応を示す。図29の検査行列Hは、メモリ長M=20の周期ω=2の時変LDPC−CC検査行列の一例である。なお、図20の検査行列Hは、情報ビットのメモリ長M1=20であり、パリティビットのメモリ長M2=9である。
図29のLDPC−CCのメモリ長はM=20であるため、組織符号系列の後部(c×M)ビットの信頼度伝搬を系列前半と同等にするためには、本来20ビットのターミネーション系列が必要となる。しかし、図29の例では、L2=12ビットのターミネーション系列のみが付加されている。つまり、ターミネーション系列が4割削減される。また、実施の形態4で説明したように、図29の破線枠で囲まれたターミネーション系列にパンクチャが施され、これにより、送信するターミネーション系列の量が削減される。
ここで、図29のLDPC−CC検査行列の列重みに着目する。本来必要となる20ビットのターミネーション系列を付加していないにも関わらず、組織符号系列のパリティ系列の列重みは全て2以上となるようにすることができている。これは、ターミネーション系列長L2を、パリティビットのメモリ長M2よりも長く設定しているからである(L2≧M2)。
一方、ターミネーション系列長L2が、情報ビットのメモリ長M1よりも短いため、組織符号系列後部の情報ビットに対応する列重みの一部が‘1’となり、復号特性劣化の原因となる。
そこで、本実施の形態では、図29のLDPC−CC検査行列を、以下に説明するステップ(1)及びステップ(2)により、図30に示すように変形する。
ステップ(1)
図29の検査行列で情報ビットの列重みが1の列に対して、検査行列の対角成分よりも未来のインデックスに相当する領域に要素‘1'を加える。このようにすることで、組織符号系列のうち、情報ビットに対応する列の列重みを全て2以上とする。
図29の検査行列で情報ビットの列重みが1の列に対して、検査行列の対角成分よりも未来のインデックスに相当する領域に要素‘1'を加える。このようにすることで、組織符号系列のうち、情報ビットに対応する列の列重みを全て2以上とする。
ステップ(2)
さらに、要素‘1’が加えられた行において、第1パンクチャパターン長Lp1の整数倍だけ、‘1’の要素を加えた列から過去の列の要素‘1’を‘0’に置き換える。
さらに、要素‘1’が加えられた行において、第1パンクチャパターン長Lp1の整数倍だけ、‘1’の要素を加えた列から過去の列の要素‘1’を‘0’に置き換える。
上記ステップ(1)により、図30に示すように、本実施の形態における検査行列では、組織符号系列全体の列重みを2以上とすることができるようになる。なお、各行において、要素‘1’を追加した数だけ、別の要素‘1’を‘0’に置き換えることによって(ステップ(2))、行重みが一定に保たれるようになるので、行重みが大きくなりすぎることによる特性劣化を回避することができる。
本実施の形態では、検査行列の対角成分よりも未来のインデックスに要素‘1’を配置することによって、組織符号系列全体にわたり、検査行列の列重みを2以上とする。さらに、情報ビットのメモリ長M1と、パリティビットのメモリ長M2との間に、M1>M2の関係を持たせることにより、以下の効果を得る。つまり、組織符号系列におけるパリティビットの列重みを2以上にするために必要となるターミネーション系列長L2を小さくしつつ、大きなメモリ長M1による高い符号化ゲインを得ることができる。これにより、組織符号系列全体において信頼度伝搬が行われるようになるので、図30のLDPC−CC検査行列を用いて符号化・復号化を行うことにより、良好な復号特性を得ることができるようになる。
次に、ステップ(2)において、要素‘1’が加えられた列のインデックスと、要素‘1’が‘0’に置き換えられる列のインデックスとの差が、パンクチャパターン長Lp1の整数倍となるようにする理由について説明する。実施の形態4において説明したように、LDPC−CCにパンクチャを施す際には、検査行列の構成とパンクチャパターンとの対応関係が重要であり、符号化率が同一であっても、パンクチャパターンや当該対応関係によって復号特性が大きく変動する。
ここで、パンクチャにより消去される要素‘1’の数に着目する。図30の各行において、要素‘1’が追加された列のパンクチャブロック内でのインデックスと、要素‘1’が‘0’に置き換えられた列のパンクチャブロック内でのインデックスとが、等しくなっている。すなわち、図29のもとの検査行列の各行と、図30の変形した検査行列の各行とでは、パンクチャにより消去される‘1’の要素数が等しく保たれている。これにより、変形された検査行列を用いて、LDPC−CC符号化を施して得られた符号語系列に、パンクチャを施すことによる復号特性の劣化を回避することができる。
すなわち、変形後の本実施の形態における検査行列においても、もとの検査行列に適用したパンクチャパターンをそのまま用いて、符号語系列全体に適用することができる。パンクチャパターンをそのまま流用することが困難な場合には、例えば、検査行列が変形された部分だけに対応させた他のパンクチャパターンを用意し、符号語系列の一部に対して、他のパンクチャパターンを適用する必要がある。これに対して、本実施の形態では、パンクチャパターンをそのまま用いることができるので、変形後の検査行列に合わせてパンクチャパターンを用意する必要がない。
以上のように、本実施の形態によれば、検査行列の対角成分よりも未来のインデックスに要素‘1’を配置する(ステップ(1))。このようにすることで、組織符号系列のうち、情報ビットに対応する列の列重みを、全て2以上とすることができるようになる。さらに、要素‘1’が加えられた行において、第1パンクチャパターン長Lp1の整数倍だけ、‘1’の要素を加えた列から過去の列の要素‘1’を‘0’に置き換える(ステップ(2))ことにより、行重みが一定に保たれるようになるので、行重みが大きくなりすぎることによる特性劣化を回避することができる。この結果、ターミネーション系列にパンクチャを施すことによって必要なターミネーション系列の量を削減し、かつパンクチャによる可変符号化率を達成することができる。
なお、実施の形態4〜実施の形態7では、組織符号系列とターミネーション系列とに、それぞれ一定のパンクチャパターンを用いてパンクチャする場合について説明したが、さらに、それぞれの系列内のインデックスによってパンクチャパターンを変化させても良い。例えば、組織符号系列のうち誤りの生じやすい系列後半については、前半よりも符号化率が低くなるようなパンクチャパターンを適用しても良い。
(他の実施の形態1)
ここでは、パンクチャを容易に行うことが可能であり、かつ、符号化器の構成が簡単な時変LDPC−CCの構成について説明する。特に、本実施の形態では、周期的にデータをパンクチャすることができるLDPC−CCについて説明する。LDPC符号では、これまで、周期的にデータをパンクチャするパンクチャ方法については、十分な検討がなされておらず、特に、簡単にパンクチャを行う方法について、十分に議論がされているわけではない。本実施の形態におけるLDPC−CCでは、データをランダムにパンクチャするのではなく、周期的に、かつ、規則的にパンクチャすることができると、受信品質の劣化を抑えることができる。以下では、符号化率R=1/2の上記を実現できる時変LDPC−CCの構成方法について説明する。
ここでは、パンクチャを容易に行うことが可能であり、かつ、符号化器の構成が簡単な時変LDPC−CCの構成について説明する。特に、本実施の形態では、周期的にデータをパンクチャすることができるLDPC−CCについて説明する。LDPC符号では、これまで、周期的にデータをパンクチャするパンクチャ方法については、十分な検討がなされておらず、特に、簡単にパンクチャを行う方法について、十分に議論がされているわけではない。本実施の形態におけるLDPC−CCでは、データをランダムにパンクチャするのではなく、周期的に、かつ、規則的にパンクチャすることができると、受信品質の劣化を抑えることができる。以下では、符号化率R=1/2の上記を実現できる時変LDPC−CCの構成方法について説明する。
式(30)において、a1、a2、・・・、anは1以上の整数(ただし、a1≠a2≠・・・≠anであり、a1からanは、互いに全て異なる)とする。また、b1、b2、・・・bmは1以上の整数(ただし、b1≠b2≠・・・≠bmであり、b1からbmは、互いに全て異なる)とする。ここで、符号化を容易に行うことを可能とするため、D0X(D)、および、D0P(D)の項(D0=1)が存在するものとする。したがって、P(D)は以下のようにあらわされる。
式(31)から分かるように、D0=1が存在し、かつ、過去のパリティの項、つまり、b1、b2、・・・bmが1以上の整数であるため、パリティPを逐次的に求めることができる。
式(32)において、A1、A2、・・・、ANは1以上の整数(ただし、A1≠A2≠・・・≠ANであり、A1からANは、互いに全て異なる)とする。また、B1、B2、・・・、BMは1以上の整数(ただし、B1≠B2≠・・・≠BMであり、B1からBMは、互いに全て異なる)とする。ここで、符号化を容易に行うことを可能とするため、D0X(D)およびD0P(D)の項(D0=1)が存在するものとする。このときP(D)は、式(33)のようにあらわされる。
以下、時点2iのデータXとパリティPをそれぞれX2i、P2iであらわし、時点2i+1のデータXとパリティPをそれぞれX2i+1、P2i+1であらわす(i:整数)。
本実施の形態では、時点2iのパリティP2iは式(31)を用いて算出し(符号化し)、時点2i+1のパリティP2i+1は式(33)を用いて算出する(符号化する)時変周期が2のLDPC−CCを提案する。上述の実施の形態と同様に、パリティは、逐次的に簡単に求めることができるという利点がある。
このとき検査行列Hは、図31のようにあらわすことができる。図31において、(Ha,11)は式(34)に相当する部分であり、(Hc,11)は式(35)に相当する部分である。以下では、(Ha,11)及び(Hc,11)をサブ行列と定義する。
このように、本提案の時変周期2のLDPC−CCの検査行列Hを、式(30)のパリティ検査多項式をあらわす第1サブ行列と、式(32)のパリティ検査多項式をあらわす第2サブ行列と、により定義することができる。具体的には、検査行列Hにおいて、第1サブ行列と第2サブ行列とが行方向に交互に配置されるようにした。なお、符号化率1/2の場合、第i行と第i+1行とでは、サブ行列が2列右にシフトした構成となる(図31参照)。
また、時変周期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)参照)。
図31の検査行列、つまり、時変周期2の検査行列を用いてBP復号を行った場合、実施の形態1から実施の形態6で説明したLDPC−CCに比べ、データの受信品質が大きく改善することが確認された。
以上、時変周期が2の場合について説明したが、時変周期は2に限られない。しかし、時変周期が大きすぎると、周期的にパンクチャすることが難しく、例えば、ランダムにパンクチャする必要があり、受信品質が劣化してしまう可能性がある。以下に、時変周期を小さくすることにより、受信品質が改善するという利点について説明する。
図32に、時変周期1の場合のパンクチャ方法の一例を示す。同図において、Hは、LDPC−CCの検査行列であり、送信系列ベクトルをvであらわすと、式(36)の関係式が成立する。
ここで、送信系列ベクトルv=(v1、v2、v3、v4、v5、v6、・・・、v2i、v2i+1、・・・)Tである。
図32は、符号化率R=1/2の送信系列をパンクチャし、符号化率R=3/4(=1/2)×{6/(6−2)}とする場合の例を示している。パンクチャを周期的に行う場合、まず、パンクチャビットを選択するためのブロック周期を設定する。図32には、ブロック周期を6とし、ブロックが点線(3202)のように設定される例が示されている。そして、1ブロックを構成する6ビットのうち2ビットがパンクチャビットとして選択され、選択された2ビットは、送信されないビットとして設定される。図32では、丸印で囲まれたビット3201が、送信されないビットとなる。このようにして、符号化率3/4を実現することができる。したがって、送信データ系列は、v1、v3、v4、v5、v7、v9、v11、v13、v15、v16、v17、v19、v21、v22、v23、v25、・・・となる。
図32において四角枠で囲まれた“1”は、パンクチャにより、受信時に、初期の対数尤度比が存在しないので、対数尤度比が0に設定されることになる。
BP復号では行演算と列演算とを反復して行う。したがって、初期の対数尤度比が存在しない(対数尤度比が0の)ビット(消失ビット)が、同一行に2つ以上含まれると、当該行では、列演算により初期の対数尤度比が存在しない(対数尤度比が0の)ビットの対数尤度比が更新されるまで、行演算単独では、対数尤度比が更新されないことになる。すなわち、行演算単独では信頼度が伝搬されず、信頼度を伝搬させるためには、行演算と列演算とを反復する必要がある。したがって、このような行が多数存在すると、BP復号において反復処理数に制限があるような場合、または、反復処理を何度行っても信頼度が伝搬されずに、受信品質の劣化を招く原因となる。図32に示す例では、四角枠で囲まれた1に対応するビットが消失ビットを示し、行3203が、行演算単独では信頼度が伝搬されない行、つまり、受信品質の劣化を招く原因となる行となる。
したがって、パンクチャビット(送信しないビット)の決定方法、すなわち、パンクチャパターンの決定方法として、パンクチャにより、単独では、信頼度が伝播されない行ができるだけ少なくなるような方法を探索する必要がある。以下、パンクチャビットの選択方法の探索について説明する。
1ブロックを構成する6ビットのうち2ビットをパンクチャビットとする場合、2ビットの選択方法は3×2C2存在する。このうち、ブロック周期の6ビットの中で巡回シフトした選択方法は、同一とみなすことができる。以下、図34Aを用いて補足説明をする。一例として、図34Aに、6ビットのうち2ビットを連続してパンクチャする場合の6通りのパンクチャパターンを示す。○がパンクチャされるビットであり、×がパンクチャされないビットである。図34Aにおいて示すように、パンクチャパターン#1〜#3は、ブロック区切りを変更することで、同一のパンクチャパターンとなる。同様に、パンクチャパターン#4〜#6も、ブロック区切りを変更することで、同一のパンクチャパターンとなる。このように、ブロック周期の6ビットの中で巡回シフトした選択方法は、同一とみなすことができる。したがって、パンクチャビットの選択方法は、3×2C2×2/(3×2)=5通り存在する。
一つのパンクチャパターンに着目した場合の、符号化系列とパンクチャパターンとの関係を図34Bに示す。○がパンクチャされるビットであり、×がパンクチャされないビットである。なお、図示していないが、Xi+3、Pi+3においても、パンクチャビットとなる。このため、図34Bから分かるように、1ブロックを構成する6ビットのうち2ビットをパンクチャした場合、パンクチャパターン1つに対し、存在する検査式のパターンは、(3×2)×1/2となる。同様に、1ブロックがL×kビットから構成され、L×kビットのうち、kビットをパンクチャする場合、パンクチャパターン1つに対し、式(38)により求められる数の検査式が存在する。
以上の関係から、符号化率1/2の符号から符号化率3/4とする場合、L×kビットのブロックからkビットをパンクチャする場合、式(40)から求められる数の検査式(行)について、単独で、信頼度が伝播されるか否かチェックする必要がある。
そして、よいパンクチャパターンが見つからない場合、L及びkを増加させる必要がある。
次に、時変周期がmの場合について検討する。この場合も、時変周期が1の場合と同様に、式(30)であらわされる異なるm個の検査式を用意する。以下、m個の検査式を、「検査式#1、検査式#2、・・・、検査式#m」と名付ける。
そして、時点mi+1のパリティPmi+1を「検査式#1」を用いて求め、時点mi+2のパリティPmi+2を「検査式#2」を用いて求め、・・・、時点mi+mのパリティPmi+mを「検査式#m」を用いて求めるLDPC−CCを考える。このとき、図31と同様に考えると、検査行列は図33のようにあらわされる。すると、符号化率1/2の符号から符号化率3/4とする場合、例えば、6ビットのブロックから2ビットをパンクチャする場合について、式(39)と同様に考えると、式(41)から求められる数の検査式(行)について、単独では、信頼度が伝播されない行であるかどうかをチェックする必要がある。
なお、式(41)において、LCM{α,β}は、自然数αと自然数βとの最小公倍数をあらわす。
式(41)から分かるように、mの増加に伴い、チェックしなければならない検査式が増加する。そのため、周期的にパンクチャを行うパンクチャ方法は適さず、例えば、ランダムにパンクチャする方法を用いることになるため、受信品質が劣化する可能性がある。
なお、図34Cに、パンクチャにより、L×kビットからkビットをパンクチャして、符号化率R=2/3,3/4,5/6の符号系列を生成する場合に、チェックしなければならないパリティ検査多項式の数を示す。
現実的に、最良なパンクチャパターンを探索できる時変周期は2から10程度である。特に、最良なパンクチャパターンを探索できる時変周期、および、受信品質の向上を考慮すると、時変周期2は適している。さらに、時変周期が2で、式(30)、式(32)のような検査式を周期的に繰り返した場合、符号・復号器が非常に簡単に構成することができるという利点がある。
なお、時変周期3、4、5、・・・10の場合には、時変周期が2の場合に比べると、符号・復号器の構成が若干大きくなるももの、時変周期2の場合と同様に、式(30)、式(32)に基づく複数のパリティ検査式を周期的に繰り返す場合には、簡易な構成を採ることができる。
なお、時変周期がsemi-infinite(極端に長い周期)であったり、LDPC−BCをもとにLDPC−CCを作成する場合、一般に、時変周期が非常に長くなってしまうため、周期的にパンクチャビットを選択する方式を採用し、最良のパンクチャパターンを探索することは困難である。例えば、ランダムにパンクチャビットを選択する方式の採用が考えられるが、パンクチャ時の受信品質が大きく劣化する可能性がある。
なお、式(30)、(32)、(34)、(35)において、両辺にDnを乗算して検査多項式を表現することもできる。本実施の形態では、式(30)、(32)、(34)、(35)においてD0X(D)、及び、D0P(D)の項(D0=1)が存在するものとした。
このようにすることで、パリティが逐次的に演算することができるため、符号化器の構成が簡易になり、又、組織符号の場合、時点iのデータへの信頼度伝播を考えると、データ及びパリティの双方にD0の項が存在すると、データへの信頼度伝搬を簡単に理解することができるため、符号設計を容易に行うことができる。なお、符号設計の容易性を考慮しないのであれば、式(30)、(32)、(34)、(35)において、D0X(D)が存在する必要はない。
図35Aに、時変周期2のLDPC−CCの検査行列の一例を示す。図35Aに示されるように、時変周期2の場合、パリティ検査式3501と、パリティ検査式3502との2つのパリティ検査式が、交互に用いられる。
また、図35Bに、時変周期4のLDPC−CCの検査行列の一例を示す。図35Bに示されるように、時変周期4の場合、パリティ検査式3501と、パリティ検査式3502と、パリティ検査式3503と、パリティ検査式3504との4つのパリティ検査式が、繰り返し用いられる。
以上のように、本実施の形態によれば、パリティ検査多項式(30)と、式(30)と異なるパリティ検査多項式(32)と、からなる時変周期2の検査行列により、パリティ系列を求めるようにした。なお、時変周期は2に限られず、例えば、図35Bに示すような、時変周期4の検査行列を用いて、パリティ系列を求めるようにしてもよい。ただし、時変周期mが大きすぎると、周期的にパンクチャすることが難しく、例えばランダムにパンクチャすることになるため、受信品質が劣化してしまう。現実的に、最適なパンクチャパターンを探索できる時変周期は、2から10程度である。この場合、受信品質を向上することができるとともに、周期的にパンクチャを行うことができるので、LDPC−CCの符号化器を簡単に構成することができる。
なお、検査行列Hにおける行重み、つまり、検査行列を構成する行要素のうち、1である要素数が、7〜12であると良好な受信品質が得られることが確認されている。非特許文献4に記載されているように、畳み込み符号において最小距離が優れている符号を考えると、拘束長が大きくなるにつれ、行重みが増える、例えば、拘束長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以上のように、符号化率が高い場合に良好な受信品質を得る上で重要となる。
なお、上述の実施の形態4では、ターミネーション系列にパンクチャを施すことによって送信するターミネーション系列を削減することができる送信装置について説明した。実施の形態4において、良好な復号特性を得ることができるのは、本実施の形態で述べたように、時変周期が短いと好適なパンクチャパターンを探索することができるからである。
(他の実施の形態2)
本実施の形態では、実施の形態4〜実施の形態7及び他の実施の形態1と、非特許文献3との違いについて説明する。
本実施の形態では、実施の形態4〜実施の形態7及び他の実施の形態1と、非特許文献3との違いについて説明する。
非特許文献3では、符号化率1/2の場合に、LDPC−BC(Low-Density Parity-Check Block Code)から時変周期4のLDPC−CCを設計する手法について述べられている。
以下、図面を用いながら、非特許文献3のLDPC−CC設計手法ついて簡単に説明する。
図36は、非特許文献3に記載の設計手法を説明するために供する図である。図36を用いて、符号化率1/2のLDPC−BCから時変周期4のLDPC−CCを設計する手法について説明する。非特許文献3では、以下に説明するステップ(1)〜ステップ(3)によりLDPC−CCの検査行列が生成される。
ステップ(1)
LDPC−CCのベースとなるLDPC−BCを設定する。非特許文献3によると、符号化率1/2、時変周期mのLDPC−CCを作成する場合、m行×2m列のLDPC―BCが必要となる。
LDPC−CCのベースとなるLDPC−BCを設定する。非特許文献3によると、符号化率1/2、時変周期mのLDPC−CCを作成する場合、m行×2m列のLDPC―BCが必要となる。
図36Aの検査行列3601は、時変周期4のLDPC−CCのベースとなるLDPC−BCのパリティ検査行列の構成の一例を示している。上述したように、時変周期4の場合、4行×8列のLDPC−BCの検査行列が、ベースの検査行列となる。
ステップ(2)
そして、検査行列3601に対し、所定の処理を施し、検査行列3602を作成する(図36B参照)。なお、具体的な処理については、非特許文献3に記載されているので説明を省略する。
そして、検査行列3601に対し、所定の処理を施し、検査行列3602を作成する(図36B参照)。なお、具体的な処理については、非特許文献3に記載されているので説明を省略する。
ステップ(3)
そして、図36Cに示すように、検査行列3602に「11」を追加し、検査行列3603を作成する。
そして、図36Cに示すように、検査行列3602に「11」を追加し、検査行列3603を作成する。
このように、非特許文献3では、ステップ(1)〜ステップ(3)により、4行×8列のLDPC−BCから時変周期4のLDPC−CCの検査行列が作成される。
式(42)において、a1、a2、・・・、apは、1以上の整数(ただし、a1≠a2≠・・・≠apであり、a1からapは、互いに全て異なる)である。また、b1、b2、・・・bqは、1以上の整数(ただし、b1≠b2≠・・・≠bqであり、b1からbqは、互いに全て異なる)である。
図36Cから分かるように、時変周期4のLDPC−CCでは、式(42)に基づく異なるパリティ検査多項式が4つ存在することになる。したがって、時変周期4のLDPC−CCを設計する際、4行×8列のLDPC−BCの検査行列がベースとされ、ステップ(3)において、図36Cのように「11」が追加されるので、ベースとなるLDPC−BCの検査行列を構成する4つの異なる全てのパリティ検査多項式において、ai≦4(i=1、2、・・・、p)、および、bj≦4(j=1、2、・・・、q)となることを意味する。
すなわち、非特許文献3にしたがって時変周期4のLDPC−CCを設計する場合には、最大拘束長は、4+1=5となる。
同様に、非特許文献3の設計方法により、時変周期mのLDPC−CCを設計した場合には、ベースとなるLDPC−BCの検査行列を構成する、m個の異なる全てのパリティ検査多項式において、式(42)において、ai≦m(i=1、2、・・・、p)、および、bj≦m(j=1、2、・・・、q)が成立する。
すなわち、非特許文献3にしたがって時変周期mのLDPC―CCを設計する場合、m行×2m列のLDPC−BCの検査行列がベースとされ、ステップ(3)において、「11」が追加されるので、最大拘束長は、m+1となる。
同様に、非特許文献3の設計方法により、時変周期2のLDPC−CCを設計した場合には、ベースとなるLDPC−BCの検査行列を構成する、2つの異なる全てのパリティ検査多項式において、ai≦2(i=1、2、・・・、p)、および、bj≦2(j=1、2、・・・、q)が成立する。
すなわち、非特許文献3にしたがって時変周期2のLDPC−CCを設計する場合には、最大拘束長は、2+1=3となる。このように、非特許文献3の設計方法により、時変周期mのLDPC―CCを設計する場合、最大拘束長は、m+1となる。したがって、受信品質(誤り訂正能力)を向上させるために拘束長が長い、例えば、拘束長100以上(100、・・・、500、・・・、1000、・・・、2000、・・・、10000、・・・、20000、・・・)のLDPC−CCを設計する場合、非特許文献3にしたがってLDPC−CCを設計すると、拘束長と同程度の値の時変周期が必要となる。
上述の他の実施の形態1において説明したように、時変周期が大きすぎると、周期的にパンクチャすることが難しく、例えば、ランダムにパンクチャする必要があり、受信品質が劣化してしまう可能性がある。よって、非特許文献3の設計方法を用いて、時変LDPC−CCを設計すると、パンクチャを適用して複数符号化率に対応することと、受信品質(誤り訂正能力)を向上させることとの両立が困難となる場合がある。
仮に、非特許文献3の設計方法を用いて、他の実施の形態1で説明したパンクチャ適用可能な時変周期2から時変周期10程度のLDPC―CCを設計した場合、時変周期2では、最大拘束長は3(=2+1)となり、式(42)において、ai≦2(i=1、2、・・・、p)、および、bj≦2(j=1、2、・・・、q)となる。同様に、時変周期10では、最大拘束長11(=10+1)となり、つまり、式(42)において、ai≦10(i=1、2、・・・、p)、および、bj≦10(j=1、2、・・・、q)となる。
このように、非特許文献3に開示される設計方法を用いる場合には、時変周期が短いほど、最大拘束長も同程度に短くなる。一般に、LDPC−CCでは、拘束長が長くなるほど、信頼度が伝搬される範囲が広くなるため、受信特性が改善される。しかし、非特許文献3では、時変周期が短い場合には、拘束長も同時に短くなってしまうため、良好な受信品質(訂正能力)を得ることが困難となる。
すなわち、非特許文献3では、良好な受信品質を得るために、パリティ検査多項式の拘束長を長くすると、時変周期も同時に長くなってしまうため、周期的にパンクチャするのが難しい。また、非特許文献3では、時変周期を短くすると、拘束長も共に短くなってしまうため、良好な受信品質を得ることが困難となる。
これに対し、他の実施の形態1で説明したように、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から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を、非特許文献3の設計方法により設計した場合、最大拘束長は3となり、2つの異なる式(42)において、ai≦2(i=1、2、・・・、p)、および、bj≦2(j=1、2、・・・、q)となる。したがって、非特許文献3の設計方法を用いて、時変周期2のLDPC―CCを設計する場合、行重みは最大6となる。
したがって、他の実施の形態1等で説明した受信品質の向上とパンクチャにより複数符号化率の対応とを両立するための時変周期2のLDPC−CCの要件の中で、「行重みを7〜12と設定する。」は、本願発明の特有の要件となる。
本発明は、上記実施の形態に限定されず、種々変更して実施することが可能である。例えば、上記実施の形態では、符号化器又は送信装置として行う場合について説明しているが、これに限られるものではなく、この符号化方法又は復号方法をソフトウェアとして行うことも可能である。
また、本発明は、無線通信に限らず、電灯線通信(PLC:Power Line Communication)、可視光通信、光通信においても有用であることは言うまでもない。
本発明に係る符号化器及び送信装置は、畳み込み符号を適用した通信システムにおける符号化器及び送信装置として有用である。
100,500,700,1000,1100,1200,1300,1700 LDPC−CC検査行列
110 情報部分検査行列
120 パリティ部分検査行列
200,800 LDPC−CC符号化器
210−(−M1+1)〜210−M1,240−1〜240−M2,810−(−M1+1)〜810−M1,840−1〜840−M2 シフトレジスタ
220−(−M1)〜220−M1,230−0〜230−M2,820−(−M1)〜820−M1,830−0〜830−M2 ウェイト乗算器
250,850 mod2加算器
260,860 ビット数カウンタ
270,870 ウェイト制御部
280,880 保存パリティ制御部
110 情報部分検査行列
120 パリティ部分検査行列
200,800 LDPC−CC符号化器
210−(−M1+1)〜210−M1,240−1〜240−M2,810−(−M1+1)〜810−M1,840−1〜840−M2 シフトレジスタ
220−(−M1)〜220−M1,230−0〜230−M2,820−(−M1)〜820−M1,830−0〜830−M2 ウェイト乗算器
250,850 mod2加算器
260,860 ビット数カウンタ
270,870 ウェイト制御部
280,880 保存パリティ制御部
Claims (8)
- 低密度パリティ検査畳み込み符号(LDPC−CC:Low-Density Parity-Check Convolutional Codes)の検査行列に従って、符号化率R=b/c、情報ビットのモリ長M1の畳み込み符号化を行う符号化器であって、
前記検査行列の後部の(M1×b)個の列のうち、情報ビットに相当する列については、前記検査行列の対角成分に対し未来に相当する領域に‘1’が存在する、
符号化器。 - 前記後部の情報ビットに相当する(M1×b)個の列の列重みが、それぞれ2以上である、
請求項1に記載の符号化器。 - 前記検査行列のうち、情報ビットに相当する列については、前記検査行列の対角成分の領域及び前記対角成分に対し未来に相当する領域にのみ‘1’が存在する、
請求項2に記載の符号化器。 - 前記検査行列の後部の(M1×b)個の列を除く列については、前記検査行列の対角成分の領域及び対角成分に対し過去に相当する領域にのみ‘1’が存在する、
請求項2に記載の符号化器。 - 前記検査行列の行重みが多くとも10である、
請求項2に記載の符号化器。 - LDPC−CCの検査行列に従って、符号化率R=b/cの畳み込み符号化を行う符号化器であって、
入力ビットを保持するM1個のシフトレジスタから構成される第1のシフトレジスタ群と、
当該符号化器の出力ビットを保持するM2個のシフトレジスタから構成される第2のシフトレジスタ群と、
前記第1及び第2のシフトレジスタ群を構成する各シフトレジスタの出力にウェイトを乗算する複数のウェイト乗算部と、
前記複数のウェイト乗算部の出力をmod2加算するmod2加算器と、
入力ビットのビット数をカウントするビット数カウンタと、
前記ビット数に応じて前記複数のウェイト乗算部のウェイトを制御するウェイト制御部と、
を具備し、
前記第1のシフトレジスタ群の最終段のシフトレジスタの出力が符号語の一部となっている、
符号化器。 - Nビットの情報ビットを入力として、パリティビットを算出する符号器であって、
時点tの情報ビットと、時点(t−1)以前に入力された情報ビットと、時点(t−1)以前に算出されたパリティビットと、の一部のビットをmod2加算することによって、時点tのパリティビットを算出する第1のパリティビット算出手段と、
時点tの情報ビットと、時点t+1以降に入力された情報ビットと、時点t−1以前に入力された情報ビットと、時点t−1以前に算出されたパリティビットと、の一部のビットをmod2加算することによって、時点tのパリティビットを算出する第2のパリティビット算出手段と、
を備え、
前記第1のパリティビット算出手段を用いて 時点t≦N−K1−1 のパリティビットを算出し(ただし、K1はメモリ長M1よりも大きい自然数)、
前記第2のパリティビット算出手段を用いて N−K1≦ 時点t のパリティビットを算出する、
符号化器。 - 請求項1から請求項7のいずれかに記載の符号化器と、
前記符号化器の出力系列の後部(M1×2×c)ビットを除いて、前記符号化器の出力系列をパンクチャするパンクチャ手段と、
を具備する送信装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008045289A JP2009201084A (ja) | 2008-01-18 | 2008-02-26 | 符号化器及び送信装置 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008009902 | 2008-01-18 | ||
JP2008015668 | 2008-01-25 | ||
JP2008045289A JP2009201084A (ja) | 2008-01-18 | 2008-02-26 | 符号化器及び送信装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009201084A true JP2009201084A (ja) | 2009-09-03 |
Family
ID=41144058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008045289A Pending JP2009201084A (ja) | 2008-01-18 | 2008-02-26 | 符号化器及び送信装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009201084A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014017062A1 (ja) * | 2012-07-24 | 2014-01-30 | パナソニック株式会社 | 符号化方法、復号方法 |
CN103888151A (zh) * | 2014-03-28 | 2014-06-25 | 中山大学 | 一种基于分组马尔可夫叠加编码的多码率码编码方法 |
JP2015089103A (ja) * | 2013-06-19 | 2015-05-07 | 日本放送協会 | 送信装置、受信装置及び伝送システム |
CN103944590B (zh) * | 2014-03-28 | 2017-02-15 | 中山大学 | 一种关于分组马尔可夫叠加编码的两阶段译码方法 |
CN110518915A (zh) * | 2019-08-06 | 2019-11-29 | 福建升腾资讯有限公司 | 一种比特位计数编码以及解码方法 |
-
2008
- 2008-02-26 JP JP2008045289A patent/JP2009201084A/ja active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014017062A1 (ja) * | 2012-07-24 | 2014-01-30 | パナソニック株式会社 | 符号化方法、復号方法 |
JP5864749B2 (ja) * | 2012-07-24 | 2016-02-17 | パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America | 符号化方法、復号方法 |
US10224961B2 (en) | 2012-07-24 | 2019-03-05 | Sun Patent Trust | Coding method and decoding method |
JP2015089103A (ja) * | 2013-06-19 | 2015-05-07 | 日本放送協会 | 送信装置、受信装置及び伝送システム |
CN103888151A (zh) * | 2014-03-28 | 2014-06-25 | 中山大学 | 一种基于分组马尔可夫叠加编码的多码率码编码方法 |
CN103888151B (zh) * | 2014-03-28 | 2017-02-15 | 中山大学 | 一种基于分组马尔可夫叠加编码的多码率码编码方法 |
CN103944590B (zh) * | 2014-03-28 | 2017-02-15 | 中山大学 | 一种关于分组马尔可夫叠加编码的两阶段译码方法 |
CN110518915A (zh) * | 2019-08-06 | 2019-11-29 | 福建升腾资讯有限公司 | 一种比特位计数编码以及解码方法 |
CN110518915B (zh) * | 2019-08-06 | 2022-10-14 | 福建升腾资讯有限公司 | 一种比特位计数编码以及解码方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5354979B2 (ja) | 低密度パリティ検査畳み込み符号(ldpc−cc)符号化器及びldpc−cc復号器 | |
JP5203717B2 (ja) | 符号器、復号器、符号化方法、及び、復号方法 | |
JP6437682B2 (ja) | 変調信号復号方法及び変調信号復号装置 | |
JP2009201084A (ja) | 符号化器及び送信装置 | |
JP5789014B2 (ja) | 符号化方法、符号化器、復号器 | |
JP2009246927A (ja) | 符号化方法、符号化器、復号器 | |
JP5490931B2 (ja) | 符号器、復号器、符号化方法、及び、復号方法 | |
KR101267756B1 (ko) | 가변 부호화율 불규칙 반복 다상 누산 부호화 및 복호화 방법과 이를 위한 장치 | |
JP2009177648A (ja) | 低密度パリティ検査畳み込み符号(ldpc−cc)符号化器及び送信装置 | |
JP2009177649A (ja) | 符号化方法、符号化器、復号器 | |
KR20130037523A (ko) | 상태-체크 코드를 이용한 부호화 방법 및 부호화 장치 |