JP2009118418A - 復号化装置、符号化装置、復号化方法、及び、符号化方法 - Google Patents
復号化装置、符号化装置、復号化方法、及び、符号化方法 Download PDFInfo
- Publication number
- JP2009118418A JP2009118418A JP2007292245A JP2007292245A JP2009118418A JP 2009118418 A JP2009118418 A JP 2009118418A JP 2007292245 A JP2007292245 A JP 2007292245A JP 2007292245 A JP2007292245 A JP 2007292245A JP 2009118418 A JP2009118418 A JP 2009118418A
- Authority
- JP
- Japan
- Prior art keywords
- parity check
- decoding
- row
- check matrix
- check polynomial
- 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
【課題】良好な復号特性を取得する畳み込み符号用の復号化装置、符号化装置、復号化方法、及び、符号化方法を提供すること。
【解決手段】復号部300は、畳み込み符号の第1のパリティ検査多項式によって定義される第1のパリティ検査行要素と、第1の検査多項式と等価である畳み込み符号の第2のパリティ検査多項式によって定義される第2のパリティ行要素と、を用いて形成される拡張されたパリティ検査行列を用いて、符号化側で畳み込み符号により生成された符号語系列に対し、Sum-Product復号を行う。
【選択図】図5
【解決手段】復号部300は、畳み込み符号の第1のパリティ検査多項式によって定義される第1のパリティ検査行要素と、第1の検査多項式と等価である畳み込み符号の第2のパリティ検査多項式によって定義される第2のパリティ行要素と、を用いて形成される拡張されたパリティ検査行列を用いて、符号化側で畳み込み符号により生成された符号語系列に対し、Sum-Product復号を行う。
【選択図】図5
Description
本発明は、畳み込み符号用の復号化装置、符号化装置、復号化方法、及び、符号化方法に関する。
誤り訂正符号のひとつに、畳み込み符号(Convolutional Code)がある。畳み込み符号は、符号化器を容易に実装できる(符号化器がmod2加算器とシフトレジスタだけで構成できる)という特徴と、任意の情報系列長に対して符号化が可能であるという特徴を有している。現在の通信システムの多くは、送信情報を可変長のパケットやフレーム毎にまとめて通信を行うため、用いる誤り訂正符号の符号長が可変であることが望ましく、畳み込み符号の特徴と合致する。このことから畳み込み符号は、IEEE802.11無線LANシステムや、GSM携帯電話、衛星通信など多数の通信システムの誤り訂正符号化方式に採用されている。また近年では、畳み込み符号を並列又は縦列に連接して用いることで性能を高めるターボ符号(Turbo Code)と呼ばれる手法が盛んに研究されている。ターボ符号は第三世代移動通信システムなどに採用されている。
畳み込み符号は、符号化器の拘束長Kが大きいほど、符号語間の最小自由距離が拡大するため、高い誤り訂正能力を得ることができる(非特許文献1参照)。
畳み込み符号を復号するアルゴリズムとしては、最尤(ML(Maximum Likelihood))系列推定を行うビタビアルゴリズム(Viterbi Algorithm)や、最大事後確率(MAP(Maximum A Posteriori probability))推定を行うBCJR(Bahl-Cocke-Jeinek-Raviv)アルゴリズムが広く用いられている。畳み込み符号では、ML系列推定やMAP推定による軟判定復号を適用することにより、高い誤り訂正能力を得られることが知られている。
ところで、ビタビアルゴリズムやBCJRアルゴリズムは、符号化器の構成によって定義されるトレリス線図を利用して復号を行う。これらのアルゴリズムを用いた復号には、トレリス線図の状態数に比例した計算量とメモリが必要となる。トレリス線図の状態数は、状態数2K−1個(K:符号化器の拘束長)となるため、これらのアルゴリズムでは、拘束長Kが増加すると、計算量が指数的に増大してしまう。したがって、拘束長が長い畳み込み符号の軟判定復号部は、実装が困難となる。
加えて、トレリス線図を利用するビタビアルゴリズムやBCJRアルゴリズムは、トレリス線図上で時間方向の逐次計算が必要となるため、ハードウェア上での並列処理を用いた復号の高速化に適さない。
BCJRアルゴリズムを簡易化して計算量を削減する方式として、SOVA(Soft-Output Viterbi Algorithm)やMax−Log MAPアルゴリズムなどがある。しかし、これらもトレリス線図を利用した復号であるため、ビタビアルゴリズムやBCJRアルゴリズムと同様に、状態数に比例した計算量が必要となるという特徴と、逐次計算が必要となる特徴を有している(非特許文献2参照)。
そこで、畳み込み符号の復号アルゴリズムに、Sum-Productアルゴリズム(SPA)による復号(Sum-Product復号)を適用することが検討されている(非特許文献3,4参照)。Sum-Productアルゴリズムは、BP(Belief-Propagation)アルゴリズムとも呼ばれる。
Sum-Productアルゴリズムは、低密度パリティ検査(LDPC:Low-Density Parity Check)符号に代表される、低密度な(行列中に含まれる1の要素数が0の要素数に比べて大幅に少ない)パリティ検査行列Hで定義される誤り訂正符号に対して、復号を行うアルゴリズムである。符号化に用いた符号化器の構成に対応するパリティ検査行列を定義することで、畳み込み符号の復号にSum-Productアルゴリズムを用いることができる。
Sum-Productアルゴリズムの計算量は、主としてパリティ検査行列の大きさと、検査行列のうち1の立っている要素の数(重み)に支配される。畳み込み符号のパリティ検査行列において、行数は、パリティ系列長に対応し、列数は、符号系列長に対応し、畳み込み符号のパリティ検査行列の大きさは、拘束長Kとは関係しない。符号化器の拘束長Kを長くすると、パリティ検査多項式の項が増えることに対応してパリティ検査行列を構成する行要素のうち1の立っている要素の数(行重み)が増える。しかし、行重みの増加に対する計算量の増加は線形であるので、拘束長Kの増加に対するSum-Productアルゴリズムの計算量への影響は、ビタビやBCJRアルゴリズムよりもはるかに小さいといえる。
加えてSum-Productアルゴリズムでは、検査行列の行処理/列処理は、行/列ごとに独立に行ってよい。このためハードウェア上での並列処理を用いた復号処理の高速化に適し、第4世代移動通信システムなど次世代の通信システムで要求される高スループット伝送への対応が容易である。
Sum-Product復号をもとに、近似や計算手順の工夫によって計算量削減や復号特性の向上を図った方式として、min-sum復号、offset BP復号、Normalized BP復号、shuffled BP復号などが検討されている(非特許文献5〜7)。
J. G. Proakis, "Digital Communications, 4th Edition," McGraw-Hill New York, 2001 P. Robertson, E. Villebrun, P. Hoeher, "A comparison of optimal and sub-optimal MAP decoding algorithmsoperating in the log domain," Communications, 1995. ICC 95 Seattle R.J. McEliece, D.J.C. MacKay, J.F. Cheng, "Turbo Decoding as an Instance of Pearl’s "Belief Propagation" Algorithm, " Selected Areas in Communications, IEEE Journal on, 1998 G. Colavolpe, "Design and performance of turbo Gallager codes," Communications, IEEE Transactions on, 2004 R. D. Gallager, "Low-Density Parity-Check Codes," Cambridge, MA: MIT Press, 1963. M. P. C. Fossorier, M. Mihaljevic, and H. Imai, "Reduced complexity iterative decoding of low density parity check codes based on belief propagation," IEEE Trans. Commun., vol.47., no.5, pp.673-680, May 1999. J. Chen, A. Dholakia, E. Eleftheriou, M. P. C. Fossorier, and X.-Yu Hu, "Reduced-complexity decoding of LDPC codes," IEEE Trans. Commun., vol.53., no.8, pp.1288-1299, Aug. 2005. 小川裕一、"ターボ符号のSum-Product復号"、長岡技術科学大学修士論文, 2007.
J. G. Proakis, "Digital Communications, 4th Edition," McGraw-Hill New York, 2001 P. Robertson, E. Villebrun, P. Hoeher, "A comparison of optimal and sub-optimal MAP decoding algorithmsoperating in the log domain," Communications, 1995. ICC 95 Seattle R.J. McEliece, D.J.C. MacKay, J.F. Cheng, "Turbo Decoding as an Instance of Pearl’s "Belief Propagation" Algorithm, " Selected Areas in Communications, IEEE Journal on, 1998 G. Colavolpe, "Design and performance of turbo Gallager codes," Communications, IEEE Transactions on, 2004 R. D. Gallager, "Low-Density Parity-Check Codes," Cambridge, MA: MIT Press, 1963. M. P. C. Fossorier, M. Mihaljevic, and H. Imai, "Reduced complexity iterative decoding of low density parity check codes based on belief propagation," IEEE Trans. Commun., vol.47., no.5, pp.673-680, May 1999. J. Chen, A. Dholakia, E. Eleftheriou, M. P. C. Fossorier, and X.-Yu Hu, "Reduced-complexity decoding of LDPC codes," IEEE Trans. Commun., vol.53., no.8, pp.1288-1299, Aug. 2005. 小川裕一、"ターボ符号のSum-Product復号"、長岡技術科学大学修士論文, 2007.
しかしながら、Sum-Productアルゴリズムによる復号では、拘束長Kが大きいほどBCJRアルゴリズムに対して復号特性が劣化してしまうことが経験的に知られている。
本発明はかかる点に鑑みてなされたものであり、良好な復号特性を取得する畳み込み符号用の復号化装置、符号化装置、復号化方法、及び、符号化方法を提供する。
本発明の復号化装置は、BP(Belief Propagation)復号を行う復号化装置であって、畳み込み符号の第1の検査多項式によって定義される第1の行要素と、前記第1の検査多項式と等価である前記畳み込み符号の第2の検査多項式によって定義される第2の行要素と、を用いて形成されるパリティ検査行列を記憶する記憶手段と、符号化側で前記畳み込み符号により生成された符号語系列に対し、前記パリティ検査行列を用いてBP復号を施す復号手段と、を具備する構成を採る。
本発明の符号化装置は、復号側でBP(Belief Propagation)復号を用いて復号される符号語系列を生成する符号化装置であって、畳み込み符号により符号語系列を生成する畳み込み符号化手段と、復号側のBP復号で用いられるパリティ検査行列のパターンに基づいたパンクチャパターンを用いて、前記符号語系列に対しパンクチャを施すパンクチャ手段と、を具備する構成を採る。
本発明の復号化方法は、BP(Belief Propagation)復号を行う復号化方法であって、畳み込み符号の第1の検査多項式によって定義される第1の行要素と、前記第1の検査多項式と等価である前記畳み込み符号の第2の検査多項式によって定義される第2の行要素と、を用いて形成されるパリティ検査行列を用いて、符号化側で前記畳み込み符号により生成された符号語系列に対し、BP復号を施すようにした。
本発明の符号化方法は、復号側でBP(Belief Propagation)復号を用いて復号される符号語系列を生成する符号方法であって、畳み込み符号により符号語系列を生成し、復号側のBP復号で用いられるパリティ検査行列のパターンに基づいたパンクチャパターンを用いてパンクチャを施すようにした。
本発明によれば、良好な復号特性を取得する畳み込み符号用の復号化装置、符号化装置、復号化方法、及び、符号化方法を実現できる。
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
(実施の形態1)
本実施の形態では、畳み込み符号のSum-Product復号における復号特性を改善するために、復号に用いるパリティ検査行列を拡張する方法と、当該方法によって拡張されたパリティ検査行列を用いて復号処理を行う復号部について、図面を用いて説明する。
本実施の形態では、畳み込み符号のSum-Product復号における復号特性を改善するために、復号に用いるパリティ検査行列を拡張する方法と、当該方法によって拡張されたパリティ検査行列を用いて復号処理を行う復号部について、図面を用いて説明する。
本発明のパリティ検査行列の説明に先立って、まず、一般的な畳み込み符号のパリティ検査行列と、パリティ検査行列を用いたSum-Product復号について説明する。なお、以下では、拘束長K=3,符号化率R=1/2(=b/c)の(7,5)8畳み込み符号を例に説明する。なお、(7,5)8は8進数により表されている。
(符号化方法)
図1に、符号化率R=1/2の(7,5)8畳み込み符号の符号化器の構成を示す。図1において、符号化器100は、シフトレジスタ110−1,110−2、排他的論理和(mod2加算)120−1〜120−3を備えて構成される。図1に示すように、(7,5)8畳み込み符号の符号化器100は、データ入力xiに対し、データ出力とパリティ出力として、xi及びpiを出力する。
図1に、符号化率R=1/2の(7,5)8畳み込み符号の符号化器の構成を示す。図1において、符号化器100は、シフトレジスタ110−1,110−2、排他的論理和(mod2加算)120−1〜120−3を備えて構成される。図1に示すように、(7,5)8畳み込み符号の符号化器100は、データ入力xiに対し、データ出力とパリティ出力として、xi及びpiを出力する。
式(1)において、G1(D)は、フィードフォワード多項式、G0(D)は、フィードバック多項式を表している。情報系列(データ系列)の多項式表現をX(D)、パリティ系列の多項式表現をP(D)とすると、パリティ検査多項式は、式(2)で表される。
図1の符号化器100では、G1(D)=D2+1,G0(D)=D2+D+1であるので、式(1),式(2)は、それぞれ、式(3),式(4)となる。なお、Dm(m=1,2,…,L、L:任意)は、遅延演算子である。
ここで、送信符号語ベクトルwを、w=(x1,p1,x2,p2,…,xi,pi,…,xI,pI)と定義する。ただし1≦i≦IN(IN:情報系列長)である。このとき、式(4)のパリティ検査多項式に基づく標準的な(従来の)パリティ検査行列Hは、式(5)の関係を用いて、図2に示すように表すことができる。このパリティ検査行列Hについて、関係式(6)が成立する。
式(4)のパリティ検査多項式に基づくパリティ検査行列Hについて、再度図2を用いてより詳細な説明を行う。式(6)から分かるように、パリティ検査行列Hの列数は、送信符号語系列長に等しい。また、パリティ検査行列Hの行数は、パリティ系列長に等しい。
検査行列Hのi行目の行ベクトル(パリティ検査行ベクトル)をc1,iとすると、c1,iwT=0は、時点iを基準として式(4)のパリティ検査多項式と等価である。このように、図2のパリティ検査行列の要素は、時点iに対応する1つのパリティ検査行ベクトルc1,iをi行目の行要素として、この行要素が1行目からIN行目まで配置された構成となっている。
図2に示すパリティ検査行列では、c1,iの要素のうち、(xi−2,pi−2,xi−1,pi−1,xi,pi)に対応する領域210の範囲に、0又は1の要素が立っており、領域210以外の要素は、全て0となっている。領域210の6つの要素は、左から順にxi−2,pi−2,xi−1,pi−1,xi,piに対応し、そのうち、xi−2,xi及びpi−2,pi−1,piに対応する要素に1が立っており、式(4)の各項に対応している。
検査行列Hの全体は、行列の左下および右上の要素がゼロであり、図2に示した領域210と同じ1と0の要素からなる領域が、検査行列Hの対角線上に平行四辺形に配置されている。
(復号化方法)
復号部では、図2に示すパリティ検査行列Hに基づいて、Sum-Product復号(BP復号)、Sum-Product復号を近似したmin-sum復号、offset BP復号、Normalized BP復号、shuffled BP復号などを用いることで、復号を行うことができる。
復号部では、図2に示すパリティ検査行列Hに基づいて、Sum-Product復号(BP復号)、Sum-Product復号を近似したmin-sum復号、offset BP復号、Normalized BP復号、shuffled BP復号などを用いることで、復号を行うことができる。
以下では、復号側での復号アルゴリズムの一例として、Sum-Product復号アルゴリズムについて説明する。
以下の説明では、2元(M×N)行列H={Hmn}を、復号対象であるパリティ検査行列とする。集合[1,N]={1,2,・・・,N}の部分集合A(m),B(n)を次式のように定義する。
なお、A(m)は検査行列Hのm行目において“1”である列インデックスの集合を意味し、B(n)は検査行列Hのn行目において“1”である行インデックスの集合を意味する。
・Step A・1(初期化):
Hmn=1を満たす全ての組(m,n)に対して、事前値対数比β(0) mn=λnと設定する。λnは、ビット毎の対数尤度である。また、ループ変数(反復回数)lsum=1と設定し、ループ最大回数をlsum,maxと設定する。
Hmn=1を満たす全ての組(m,n)に対して、事前値対数比β(0) mn=λnと設定する。λnは、ビット毎の対数尤度である。また、ループ変数(反復回数)lsum=1と設定し、ループ最大回数をlsum,maxと設定する。
・Step A・2(行処理):
m=1,2,・・・,Mの順にHmn=1を満たす全ての組(m,n)に対して、次の更新式を用いて外部値対数比α(i) mnを更新する。なお、iは、反復回数である。
なお、f(x)はGallagerのf関数である。
m=1,2,・・・,Mの順にHmn=1を満たす全ての組(m,n)に対して、次の更新式を用いて外部値対数比α(i) mnを更新する。なお、iは、反復回数である。
・Step A・5(反復回数のカウント):
もしlsum<lsum,maxならばlsumをインクリメントして、step A・2に戻る。一方、lsum=lsum,maxの場合、式(15)に示すように、符号語wを推定し、Sum-Product復号を終了する。
もしlsum<lsum,maxならばlsumをインクリメントして、step A・2に戻る。一方、lsum=lsum,maxの場合、式(15)に示すように、符号語wを推定し、Sum-Product復号を終了する。
図4は、復号部にSum-Product復号を用いた場合の構成の一例を示す図である。図4の復号部300において、対数尤度比記憶部303は、対数尤度比信号301、タイミング信号302を入力とし、タイミング信号302に基づいてデータ区間の対数尤度比を記憶する。そして、対数尤度比記憶部303は、記憶した対数尤度比を信号304として行処理演算部305に出力する。
行処理演算部305は、対数尤度比信号304、列処理後の信号312を入力とし、検査行列Hに「1」が存在する位置において、上述のStep A・2(行処理)の演算を行う。復号部は反復復号を行っているので、行処理演算部305は、1回目の復号時には、対数尤度比信号304を用いて行処理を行い(上述のStep A・1の処理に相当する)、2回目の復号時には、列処理後の信号312を用いて行処理を行う。そして、行処理演算部305は、行処理後の信号306を行処理後データ記憶部307に出力する。
行処理後データ記憶部307は、行処理後の信号306を入力とし、すべての行処理後の値(信号)を記憶する。そして、行処理後データ記憶部307は、行処理後の信号308を列処理演算部309及び対数尤度比演算部315に出力する。
列処理演算部309は、行処理後の信号308及び制御信号314を入力とし、制御信号314から最後の反復演算でないことを確認し、検査行列Hに「1」が存在する位置において、上述のStep A・3(列処理)の演算を行う。そして、列処理演算部309は、列処理後の信号310を列処理後データ記憶部311に出力する。
列処理後データ記憶部311は、列処理後の信号310を入力とし、すべての列処理後の値(信号)を記憶する。そして、列処理後データ記憶部311は、列処理後の信号312を行処理演算部305に出力する。
制御部313は、タイミング信号302を入力とし、反復回数をカウントし、反復回数を制御信号314として列処理演算部309及び対数尤度比演算部315に出力する。
対数尤度比演算部315は、行処理後の信号308、制御信号314を入力とし、制御信号314に基づいて最後の反復演算であると判断した場合、検査行列Hに「1」が存在する位置に対して、Step A・4(対数尤度比の計算)の演算を施し、対数尤度比信号316を得る。そして、対数尤度比演算部315は、対数尤度比信号316を判定部317に出力する。
判定部317は、対数尤度比信号316を入力とし、符号語を推定し、推定ビット318を出力する。
検査行列記憶部319は、Sum-Product復号に用いるパリティ検査行列を格納しており、検査行列Hに「1」が存在する位置を行処理演算部305及び列処理演算部309に出力する。
以上、標準的な(従来の)畳み込み符号のパリティ検査行列と、パリティ検査行列を用いたSum-Product復号のアルゴリズム及び復号部について説明した。以下、本発明のパリティ検査行列と、当該パリティ検査行列を用いた復号部について説明する。
(パリティ検査行列)
先ず、本発明の骨子であるパリティ検査行列の生成方法について説明する。図2に示すパリティ検査行列は、1つのパリティ検査多項式だけを基にして構成されていた。これに対し、本実施の形態のパリティ検査行列は、複数のパリティ検査多項式を基にして行を拡張した構成となっている点が特徴である。
先ず、本発明の骨子であるパリティ検査行列の生成方法について説明する。図2に示すパリティ検査行列は、1つのパリティ検査多項式だけを基にして構成されていた。これに対し、本実施の形態のパリティ検査行列は、複数のパリティ検査多項式を基にして行を拡張した構成となっている点が特徴である。
・Step B・1:
先ず、基の畳み込み符号のパリティ検査多項式(4)を変形し、式(4)と等価な別のパリティ検査多項式を作成する。等価な別のパリティ検査多項式の作成方法については、非特許文献8などに記載されている。
先ず、基の畳み込み符号のパリティ検査多項式(4)を変形し、式(4)と等価な別のパリティ検査多項式を作成する。等価な別のパリティ検査多項式の作成方法については、非特許文献8などに記載されている。
・Step B・2:
基のパリティ検査多項式(4)と、Step B・1において生成された式(4)と等価な別のパリティ検査多項式の中から、パリティ検査行列の生成に用いるパリティ検査多項式として、k(k≧2)個のパリティ検査多項式を選択する。
基のパリティ検査多項式(4)と、Step B・1において生成された式(4)と等価な別のパリティ検査多項式の中から、パリティ検査行列の生成に用いるパリティ検査多項式として、k(k≧2)個のパリティ検査多項式を選択する。
選択の基準として、次の<1>,<2>,<3>に従うと良い復号特性が得られる。
基準<1>:
Step B・1において生成された式(4)と等価なパリティ検査多項式のうち、各等価なパリティ検査多項式だけを用いて、図2,図3に示すように、行列の左下および右上の要素はゼロであり、検査行列Hの対角線上に、パリティ検査多項式の各項が平行四辺形に配置されたパリティ検査行列を生成し、当該パリティ検査行列を用いてBP復号を行った場合に、優れた誤り率特性が得られる検査多項式を選択する。経験的には、パリティ検査行列にできる限り長さが4のループ(「ループ4」,「4−loop」,「FC(Four Cycle)」ともいう)が含まれないようにすると特性が良くなることが知られている。
Step B・1において生成された式(4)と等価なパリティ検査多項式のうち、各等価なパリティ検査多項式だけを用いて、図2,図3に示すように、行列の左下および右上の要素はゼロであり、検査行列Hの対角線上に、パリティ検査多項式の各項が平行四辺形に配置されたパリティ検査行列を生成し、当該パリティ検査行列を用いてBP復号を行った場合に、優れた誤り率特性が得られる検査多項式を選択する。経験的には、パリティ検査行列にできる限り長さが4のループ(「ループ4」,「4−loop」,「FC(Four Cycle)」ともいう)が含まれないようにすると特性が良くなることが知られている。
基準<2>:
パリティ検査多項式の拘束長νが大きい検査多項式と小さい検査多項式とを組み合わせて選択する。なお、パリティ検査多項式が式(16)で与えられたとき、パリティ検査多項式の拘束長νは、式(17)で表される。
パリティ検査多項式の拘束長νが大きい検査多項式と小さい検査多項式とを組み合わせて選択する。なお、パリティ検査多項式が式(16)で与えられたとき、パリティ検査多項式の拘束長νは、式(17)で表される。
基準<3>:
互いに疎な関係にあるパリティ検査多項式の組を選択する。すなわち、各パリティ検査多項式に含まれる項の次数が、できるだけ重複しないようなパリティ検査多項式の組を選択する。これにより、BP復号において経験的に特性劣化の原因になるとされている長さが4のループができるだけ生成されないようにすることができる。
互いに疎な関係にあるパリティ検査多項式の組を選択する。すなわち、各パリティ検査多項式に含まれる項の次数が、できるだけ重複しないようなパリティ検査多項式の組を選択する。これにより、BP復号において経験的に特性劣化の原因になるとされている長さが4のループができるだけ生成されないようにすることができる。
・Step B・3:
Step B・2で選択したパリティ検査多項式のうち1つ(以下「第1のパリティ検査多項式」と呼ぶ)を用いて、図2,図3に示すように、従来と同様にパリティ検査行列を作成する(「第1のパリティ検査行列」と呼ぶ)。具体的には、第1のパリティ検査多項式に対応する0又は1の要素からなる領域を、検査行列の対角線上に平行四辺形に配置したパリティ検査行列を作成する。
Step B・2で選択したパリティ検査多項式のうち1つ(以下「第1のパリティ検査多項式」と呼ぶ)を用いて、図2,図3に示すように、従来と同様にパリティ検査行列を作成する(「第1のパリティ検査行列」と呼ぶ)。具体的には、第1のパリティ検査多項式に対応する0又は1の要素からなる領域を、検査行列の対角線上に平行四辺形に配置したパリティ検査行列を作成する。
・Step B・4:
Step B・3で作成した第1のパリティ検査多項式とは別のパリティ検査多項式(「第2のパリティ検査多項式」と呼ぶ)を基に、パリティ検査行ベクトルを作成する(「第2のパリティ検査行ベクトル」と呼ぶ)。なお、第2のパリティ検査行ベクトルの具体的な作成方法については、後に具体例を示しながら説明する。作成した第2のパリティ検査行ベクトルを、第1のパリティ検査行列に追加することによって、拡張されたパリティ検査行列を作成する。
Step B・3で作成した第1のパリティ検査多項式とは別のパリティ検査多項式(「第2のパリティ検査多項式」と呼ぶ)を基に、パリティ検査行ベクトルを作成する(「第2のパリティ検査行ベクトル」と呼ぶ)。なお、第2のパリティ検査行ベクトルの具体的な作成方法については、後に具体例を示しながら説明する。作成した第2のパリティ検査行ベクトルを、第1のパリティ検査行列に追加することによって、拡張されたパリティ検査行列を作成する。
なお、別のパリティ検査多項式(第3、第4のパリティ検査多項式)を基に作成したパリティ検査行ベクトルを、第2のパリティ検査行が追加されたパリティ検査行列にさらに追加することで、拡張したパリティ検査行列を作成しても良い。
以上のStep B・1〜Step B・4によって、本実施の形態で用いる拡張されたパリティ検査行列を作成することができる。以下、(7,5)8畳み込み符号を用いてStep B・1〜Step B・4について、具体例を用いて補足説明する。
・Step B・1の例
基のパリティ検査多項式(4)を変形することで、生成多項式(1)と等価な別のパリティ検査多項式を作成する。式(4)と等価な別のパリティ検査多項式として、式(18),(19)などの検査多項式がある。
これらはいずれも式(1)の生成多項式によって定義される符号のパリティ検査多項式(4)と等価となっている。
基のパリティ検査多項式(4)を変形することで、生成多項式(1)と等価な別のパリティ検査多項式を作成する。式(4)と等価な別のパリティ検査多項式として、式(18),(19)などの検査多項式がある。
・Step B・2の例
2つのパリティ検査多項式(4),(18)の組を、パリティ検査行列の生成に用いる多項式として選択する。
2つのパリティ検査多項式(4),(18)の組を、パリティ検査行列の生成に用いる多項式として選択する。
・Step B・3の例
パリティ検査多項式(4)を第1のパリティ検査多項式に用いて第1のパリティ検査行列を作成する。第1のパリティ検査行列は、図2に示した検査行列Hと同様である。
パリティ検査多項式(4)を第1のパリティ検査多項式に用いて第1のパリティ検査行列を作成する。第1のパリティ検査行列は、図2に示した検査行列Hと同様である。
・Step B・4の例
パリティ検査多項式(18)を第2のパリティ検査多項式として選択する。パリティ検査多項式(18)に基づいて第2のパリティ検査行ベクトルを作成し、図2のパリティ検査行列に追加する。
パリティ検査多項式(18)を第2のパリティ検査多項式として選択する。パリティ検査多項式(18)に基づいて第2のパリティ検査行ベクトルを作成し、図2のパリティ検査行列に追加する。
以上の手順によって作成された、本実施の形態におけるパリティ検査行列の例を図5に示す。図5は、図2のパリティ検査行列に、式(18)に基づく第2のパリティ検査行ベクトルc2,iを追加して得られた、拡張されたパリティ検査行列を示している。第2のパリティ検査ベクトルc2,iは、pi−4,xi−4からpi,xiに対応する領域410に式(18)の各項に対応した1又は0の要素を持ち、それ以外の領域の要素は全て0となっている。
第1のパリティ検査多項式を用いて、取り得る時点iの範囲(1≦i≦IN)に対応して計IN行のパリティ検査行列を作成することができる。なお、第2のパリティ検査行ベクトルは、任意の時点iについて追加可能であり、第2のパリティ検査行ベクトルを追加する時点iについては後述する。
図5に示す検査行列は、時点2に、第2のパリティ検査行ベクトルを追加した例である。また、本実施の形態のパリティ検査行列の別の例として、式(19)に基づく第3のパリティ検査行c3,jを図5のパリティ検査行列に追加して拡張されたパリティ検査行列を、図6に示す。このように、複数のパリティ検査多項式に基づくパリティ検査行を用いて、パリティ検査行列を拡張することができる。
以下、Step B・1〜Step B・4に従って拡張されたパリティ検査行列Hに基づいてSum-Product復号(BP復号)などを行うことにより、従来のパリティ検査行列Hに基づいてSum-Product復号を行った場合よりも優れた復号特性を得ることができる点について、タナーグラフを用いて本発明の効果を説明する。
図7は、図2及び図5に示したパリティ検査行列Hのタナーグラフの一部を示す図である。図7Aは、図2に示した従来のパリティ検査行列のタナーグラフの一部を示しており、図7Bは、図5に示した本発明のパリティ検査行列のタナーグラフの一部を示している。
Sum-Product復号の1回の処理(Step A・2〜Step A・5)では、まずStep A・2(行処理)で変数ノードの対数尤度比を用いてチェックノードの対数尤度比が更新され、次にStep A・3(列処理)でチェックノードの対数尤度比を用いて変数ノードの対数尤度比が更新される。これをタナーグラフ上で表現すると、まず行処理によって各変数ノードから接続されているチェックノードに信頼性情報が伝播し、次に各チェックノードから接続されている変数ノードに信頼性情報が伝播するということになる。
図7Aのタナーグラフのうち、変数ノードxiに注目する。変数ノードxiにはチェックノードc1,i,c1,i+2が接続されている。よって、Sum-Product復号の1回の処理では、チェックノードc1,i,c1,i+2を介して接続されている変数ノードの組{pi−2,xi−2,pi−1,pi,xi},{pi,xi,pi+1,pi+2,xi+2}の持つ信頼性情報が、変数ノードxiへと伝播する。
これに対して図7Bのタナーグラフでは、変数ノードxiに新たなチェックノードc2,iが接続されている。チェックノードc2,iは、図5のパリティ検査行列に追加されたパリティ検査行ベクトルc2,iに対応するものである。チェックノードc2,iは、変数ノードの組{pi−4,xi−4,pi−3,pi−1,pi,xi}と接続されており、c1,i,c1,i+2とは異なるビットの組み合わせから信頼性情報を変数ノードxiへと伝播できることがわかる。
このように新たなチェックノードを追加することによって、1回のSum-Product復号で変数ノードxiへと伝搬される信頼性情報の要素数を増やすことができる。新たに追加されたチェックノードの信頼性情報は、従来からのチェックノードとは異なる変数ノードの組から伝搬された信頼性情報であるので、このように、第2のパリティ検査行列が追加され拡張されたパリティ検査行列を用いてSum-Product復号を行うことにより、符号化ゲインによって復号特性を向上することができる。
さらに、第1のパリティ検査行c1,iに対応するパリティ検査多項式(4)の次数は2であり、第2のパリティ検査行c2,iに対応するパリティ検査多項式(18)の次数は4というように、次数が異なるパリティ検査多項式を組み合わせることによって、信頼性を伝播させるビットの時刻の範囲をc1,iとc2,iとで異ならせることができ、より高い符号化ゲインを得ることができる。
(第2のパリティ検査行ベクトルを追加する時点iの選択方法)
上述したように、第1のパリティ検査多項式を用いて、取り得る時点iの範囲(1≦i≦IN)に対応して、計IN行の第1のパリティ検査行列を作成することができる。また、第2のパリティ検査行ベクトルは、任意の時点iについて追加可能である。
上述したように、第1のパリティ検査多項式を用いて、取り得る時点iの範囲(1≦i≦IN)に対応して、計IN行の第1のパリティ検査行列を作成することができる。また、第2のパリティ検査行ベクトルは、任意の時点iについて追加可能である。
第2のパリティ検査行ベクトルを時点iの範囲(1≦i≦IN)で追加することにより、1回のSum-Product復号で変数ノードxiへと伝搬される信頼性情報の要素数が増え、符号化ゲインを得ることができる。したがって、第2のパリティ検査行ベクトルを追加する時点によっても、どの変数ノードに信頼性情報が伝搬されるか変わってくるため、第2のパリティ検査行ベクトルを追加する時点iの選択方法も重要な要素となる。そこで、以下では、第2のパリティ検査行ベクトルを追加する時点iの選択方法について説明する。なお、この選択方法は第3、第4以降のパリティ検査行を追加する場合においても同様である。
上述したように、第2のパリティ検査行ベクトルは、任意の時点iに追加することができる。すなわち、各時点ごとに第2のパリティ検査行を追加していくことにより、最大でI行の第2のパリティ検査行ベクトルを、第1のパリティ検査行列に対して追加することができる。
パリティ検査行列の行数が増えることによって、復号部300の行処理演算部305及び列処理演算部309の計算量が増加し、又、行処理後データ記憶部307に必要なメモリのサイズが増大することとなるものの、計算量及びメモリサイズの増加はたかだか追加する行数に比例する程度であり、Sum-Product復号の計算量の増加分は並列処理が可能なので、復号の高速化への妨げとはならない。
しかし、パリティ検査行列の行数を増やすことにより、Sum-Product復号の復号特性を劣化させる要因となる長さ4のループが形成されやすくなってしまう。そのため、第2のパリティ検査行の数を多くすることにより、復号特性が必ずしも改善される訳でなく、追加する第2のパリティ検査行の数が所定数を超えると、第2のパリティ検査行をさらに追加しても、復号特性の改善は相対的に小さくなってしまう。したがって、各時点ごとに第2のパリティ検査行を追加して、IN行の第2のパリティ検査行ベクトルを追加しても、必ずしも復号特性が改善されない場合がある。
そこで、以下では、第2のパリティ検査行を追加する時点iについて、図8を用いながら補足説明する。
図8は、本実施の形態におけるパリティ検査行列を示す図である。なお、図8において、図5と同一の部分については同一の符号を付している。図8のパリティ検査行列は、第2のパリティ検査行が、一定の間隔TA、時点TAおきに追加された例である。なお、TA=1とすれば、全ての時刻iについて第2のパリティ検査行が追加されることとなる。図8のパリティ検査行列では、時刻iに対してpi,xiの2列が対応するので、第2のパリティ検査行はパリティ検査多項式(18)に対応する領域410を2TA列ずつずらして平行四辺形に配置した形になっている。このように一定の間隔TAごとにパリティ検査行を追加する場合、任意の符号長に対するパリティ検査行列の設計が容易となる。また、1が立っている要素の平行四辺形様の配置が符号語の途中で変化しないため、非特許文献5〜7などに示されている計算手法の工夫の適用が容易となる。
次に、第2のパリティ検査行を追加する時点の間隔TAの決定方法について説明する。間隔TAは、以下の基準に従って決定すると良い。
基準《1》:第2のパリティ検査多項式の拘束長をv2とすると、TA≦v2となるようにする。このようにすることで、Sum-Product復号を少なくとも2回行うことによって、第1のパリティ検査行において1が立っている任意のあるビットから、第2のパリティ検査行において1が立っている別のビットへと確率を伝播することができるようになり、高い符号化ゲインが得られるようになる。
基準《2》:追加された複数の第2のパリティ検査行によって、長さが4のループができるだけできないようにする。長さ4のループは、Sum-Product復号において復号特性劣化の要因となるので、第2のパリティ検査行が追加されたパリティ検査行列に含まれる長さ4のループ数が少ないほど、復号特性の劣化を抑えることができる。
基準《3》:符号語にパンクチャド符号化を適用する場合は、間隔TAがパンクチャパターンの長さの整数分の1になるようにする。なお、パンクチャド符号化の適用については、実施の形態2において詳細に説明する。
このようにして、復号特性の劣化要因を回避しつつ、第2のパリティ検査多項式を追加する時点iを決定することにより、拡張されたパリティ検査行列を用いてBP復号を行うことにより、復号特性が確実に改善されるようになる。
本実施の形態に係る復号部の構成は、図4に示した復号部300と同様であるため、説明を省略する。検査行列記憶部319に記憶しておくパリティ検査行列を、本実施の形態で説明したパリティ検査行列に置き換えることによって、復号特性の良い復号部を構成することができる。
以上のように、本実施の形態によれば、畳み込み符号の第1のパリティ検査多項式によって定義される第1のパリティ検査行要素と、第1の検査多項式と等価である畳み込み符号の第2のパリティ検査多項式によって定義される第2のパリティ行要素と、を用いて形成される拡張されたパリティ検査行列を用いて、符号化側で畳み込み符号により生成された符号語系列に対し、Sum-Product復号を行う。このように、拡張されたパリティ検査行列を用いてSum-Product復号をすることにより、Sum-Productアルゴリズムの1回の計算処理において、より多くの異なるビットの組み合わせの間で信頼度伝搬が行われるようになり、この結果、復号特性を向上することができる。
なお、本発明は、種々のBP復号に広く適用できる。すなわち、本発明のBP復号とは、例えば非特許文献5〜7に記載されているような、BP復号を近似したmin-sum復号、offset BP復号、Normalized BP復号等も含むものである。これは、以下に説明する実施の形態においても同様である。
(実施の形態2)
畳み込み符号を無線通信システムに適用する際、符号化器の構成を変えずに符号化率を可変にするために、畳み込み符号にパンクチャド符号化を組み合わせたパンクチャド畳み込み符号を用いることが一般的である。本実施の形態では、パンクチャド畳み込み符号を適用した無線通信システムにおいて、実施の形態1で説明した復号部を無線受信装置に用いるための、好適なパンクチャド符号化器の構成について説明する。
畳み込み符号を無線通信システムに適用する際、符号化器の構成を変えずに符号化率を可変にするために、畳み込み符号にパンクチャド符号化を組み合わせたパンクチャド畳み込み符号を用いることが一般的である。本実施の形態では、パンクチャド畳み込み符号を適用した無線通信システムにおいて、実施の形態1で説明した復号部を無線受信装置に用いるための、好適なパンクチャド符号化器の構成について説明する。
図9に、本実施の形態に係るパンクチャド符号化器を備えた送信装置の構成を示す。図9の送信装置600は、畳み込み符号化部610、パンクチャ部620、インタリーブ部630、変調部640、制御情報生成部660、無線送信部650、及び送信アンテナ670を備えて構成される。なお、本実施の形態に係るパンクチャド符号化器は、畳み込み符号化部610及びパンクチャ部620により構成される。
畳み込み符号化部610は、送信情報系列に対し畳み込み符号化処理を行い、得られた送信符号語系列をパンクチャ部620に出力する。
パンクチャ部620は、送信符号語系列から所定のパンクチャパターンに従ってビットのパンクチャ(ビットの消去)を行い、パンクチャ後の送信符号語系列をインタリーブ部630に出力する。なお、パンクチャパターンについては後述する。
インタリーブ部630は、パンクチャ後の送信符号語系列に対して、系列の順序の並び替え処理(インタリーブ)を行い、インタリーブ後の送信符号語系列を変調部640に出力する。
変調部640は、インタリーブ後の送信符号語系列を、PSK(Phase Shift Keying),QAM(Quadrature Amplitude Modulation)などの変調方式で変調し、送信変調シンボル系列を無線送信部650に出力する。
制御情報生成部660は、送信装置と受信装置との間で信号を受信するために必要な制御情報を生成し、変調部640に出力する。制御情報には、パンクチャ部620で用いたパンクチャパターンを示す情報が含まれる。その他の制御情報の例として、変調方式や送信情報系列長、時間・周波数同期のためのプリアンブル信号などがある。
無線送信部650は、送信変調シンボル系列に対して、D/A(Digital to Analog)変換、周波数変換、RF(Radio Frequency)フィルタ処理などの無線変調処理を行い、送信RF信号を生成する。
送信アンテナ670は、送信RF信号を送信する。
図10に、本実施の形態に係る受信装置の構成を示す。受信装置700は、受信アンテナ710、無線受信部720、復調部730、デインタリーブ部740、デパンクチャ部750、制御情報検出部760、及び復号部770を備えて構成される。
受信アンテナ710は、送信装置600から送信された送信RF信号を受信し、無線受信部720に出力する。
無線受信部720は、RFフィルタ処理、周波数変換、A/D(Analog to Digital)変換などの無線復調処理を行う。その後、Iチャネル、Qチャネルそれぞれの受信ベースバンド信号を検出する。無線受信部720は、受信ベースバンド信号を復調部730に出力する。
また、無線受信部720は、ベースバンド信号に含まれる既知信号を利用して、送信装置600と受信装置700との間の無線伝搬路におけるチャネル変動を推定する。無線受信部720は、推定したチャネル変動を制御情報検出部760に出力する。
復調部730は、ベースバンド信号から、送信されたインタリーブ後の各符号語ビットの対数尤度比を求め、求めた対数尤度比をデインタリーブ部740に出力する。
デインタリーブ部740は、対数尤度比の系列の順序を、送信装置600でのインタリーブ部630で行った並び替え処理の逆の処理を用いて並び替える。デインタリーブ部740は、デインタリーブ後の受信対数尤度比系列をデパンクチャ部750に出力する。
デパンクチャ部750は、送信装置600のパンクチャ部620でパンクチャされたビットの対数尤度比を0として、パンクチャ部620の動作と逆に受信対数尤度比系列に追加する。デパンクチャ部750は、デパンクチャされた受信対数尤度比系列を復号部770に出力する。
復号部770は、デパンクチャされた受信対数尤度比系列に対して、実施の形態1と同様に、図3に示すような拡張されたパリティ検査行列を用いてSum-Product復号を行い、復号結果の硬判定値を復号部770の符号結果として出力する。
(パンクチャパターンの設計方法)
次に、パンクチャ方法について、図11、図12、及び図13を用いて詳しく説明する。なお、本実施の形態では、実施の形態1において説明した拡張されたパリティ検査行列を復号に用いることを前提とした、パンクチャビット(消去ビット)の設計方法について説明する。
次に、パンクチャ方法について、図11、図12、及び図13を用いて詳しく説明する。なお、本実施の形態では、実施の形態1において説明した拡張されたパリティ検査行列を復号に用いることを前提とした、パンクチャビット(消去ビット)の設計方法について説明する。
図11に、パンクチャ部620におけるパンクチャ処理の例を示す。本実施の形態では、一定の長さのブロック(以下「パンクチャブロック」という)単位でパンクチャによって消去するビットの配置パターン(パンクチャパターン)を定義する。なお、パンクチャパターンは、送信装置600と受信装置700との間の通信で使用する符号化率の数だけ用意する必要がある。図11には、パンクチャパターンZをZ=(1,0,1,0,1,1)と定義した際のパンクチャの様子を示している。図11のパンクチャパターンZのブロックの長さLpは、Lp=3であり、パンクチャ部620は、パンクチャパターンZのブロック内の0に相当する位置のビットを消去する。
本実施の形態では、復号部770において用いられるパリティ検査行列に基づいて、パンクチャパターンを設計する。以下、パンクチャパターンの設計手順について説明する。
・Step C・1:
パンクチャパターンの長さ(「パンクチャブロックの長さ」ともいう)Lpを決定する。パンクチャパターンの長さLpは、パリティ検査行列の生成に用いた第1のパリティ検査多項式の拘束長v1の整数倍とする。パンクチャパターンの長さLpが短いほど、パンクチャ部・デパンクチャ部の構成が簡易で済む。そのため、サポートする必要のある符号化率のうち、最大の符号化率を満たすパンクチャパターンの長さの中で、最も小さい長さを、パンクチャブロックの長さLpとする。
パンクチャパターンの長さ(「パンクチャブロックの長さ」ともいう)Lpを決定する。パンクチャパターンの長さLpは、パリティ検査行列の生成に用いた第1のパリティ検査多項式の拘束長v1の整数倍とする。パンクチャパターンの長さLpが短いほど、パンクチャ部・デパンクチャ部の構成が簡易で済む。そのため、サポートする必要のある符号化率のうち、最大の符号化率を満たすパンクチャパターンの長さの中で、最も小さい長さを、パンクチャブロックの長さLpとする。
一例として、図12に示すパリティ検査行列に基づいて、パンクチャパターンを設計する場合について説明する。図12のパリティ検査行列は、図5のパリティ検査行列の行を入れ替えた行列であり、図5のパリティ検査行列と等価な行列である。具体的には、図12のパリティ検査行列は、第1のパリティ検査行ベクトルの3行おきに、第2のパリティ検査行ベクトルが挿入された場合の例である。また、第2のパリティ検査行ベクトルは、間隔TA=3おきに追加されている場合の例である。
図12に示す例では、第1のパリティ検査多項式の拘束長v1は、v1=3である。そこで、パンクチャパターンの長さLpを、Lp=3とする。図12のパリティ検査行列の列をパンクチャブロック単位で区切り、区切られた領域に注目すると、パンクチャブロックごとに同じ形の領域810,820,830が行シフトした形で並んでいることがわかる。このとき、行シフト数は、パンクチャパターンの長さLpとした場合に、パンクチャパターンの長さLpに対応した検査行数に等しい。図12に示す例では、行シフト数は、時点(i−2)から時点iまでの第1のパリティ検査行ベクトルc1,i−2,c1,i−1,c1,iの3行と、第2のパリティ検査行ベクトルc2,jの1行の合計4行となる。時点(i−2)から時点iまでの間隔が、パンクチャパターンLpに一致する。
図12に示すように、パリティ検査行列において、同じ形の領域810,820,830が行シフトした形で並んでいるのは、第2のパリティ検査行ベクトルを追加する時点の間隔TAが、パンクチャパターンの長さLpの整数分の1(1/1)となっているからである。ところで、パンクチャパターンの長さLpは、第1のパリティ検査多項式の拘束長v1の整数倍とするので、同じ形の領域810,820,830が行シフトした形で並ぶのは、第2のパリティ検査行ベクトルを追加する時点の間隔TAが、第1のパリティ検査多項式の拘束長v1の整数分の1となっていることによる。
このように、パリティ検査行列の設計においては、第2のパリティ検査行ベクトルを追加する時点の間隔TAを、パンクチャパターンの長さLpの整数分の1とすることによって、パリティ検査行列からパンクチャブロックに対応する列要素を切り出した場合に、切り出されたいずれの領域も、同じ形の1又は0の要素を行方向にシフトした部分行列が得られるようになる。したがって、パリティ検査行列の1つのパンクチャブロックに対応する部分行列だけに着目して特性が良好となるパンクチャパターンを設計すれば、任意の符号長のパリティ検査行列に対して特性の良好なパンクチャパターンとすることができるようになる。
・Step C・2:
パリティ検査行列から、パンクチャパターンを決定するための部分行列を切り出す。具体的には、まず、パリティ検査行列を、列方向にパンクチャブロック単位で区切る。また、パリティ検査行列を、行方向に、パンクチャパターンの長さLpに対応する単位で区切る。このようにして、パリティ検査行列を格子状に区切る。区切られた格子うち、各列に1の要素を1つ以上含む格子に着目し、当該格子で区切られた格子ブロックを選択する。そして、選択した格子ブロックと同じ行に1の要素を1つ以上含む格子ブロックが全て含まれるように、部分行列を切り出す。
パリティ検査行列から、パンクチャパターンを決定するための部分行列を切り出す。具体的には、まず、パリティ検査行列を、列方向にパンクチャブロック単位で区切る。また、パリティ検査行列を、行方向に、パンクチャパターンの長さLpに対応する単位で区切る。このようにして、パリティ検査行列を格子状に区切る。区切られた格子うち、各列に1の要素を1つ以上含む格子に着目し、当該格子で区切られた格子ブロックを選択する。そして、選択した格子ブロックと同じ行に1の要素を1つ以上含む格子ブロックが全て含まれるように、部分行列を切り出す。
図12に示す例では、区切られた格子のうち、各列に1の要素を1つ以上含む格子ブロック821,822に着目し選択し、当該格子ブロック821,822と同じ行に1の要素を1つ以上含む格子ブロック840,850が含まれるように枠860で示した部分行列を、パンクチャパターンを決定するための部分行列として用いる。この部分行列を用いてパンクチャパターンを決定する。
・Step C・3:
Step C・2で切り出した部分行列を用いて、取り得るパンクチャパターン毎に、各行で全てのビットの信頼性を使って計算できるようになるまでに何回のSum-Product復号処理が必要になるかを評価する。そして、必要なSum-Product復号処理回数が最も少ないパンクチャパターンを、最適なパンクチャパターンとして選択する。必要なSum-Product復号処理回数が等しいパンクチャパターンが複数ある場合は、行ごとの必要な処理回数の平均値が最も小さいパターンを選択する。Sum-Product復号処理を何回繰り返しても信頼性を計算できない情報ビットが存在する場合、そのパンクチャパターンは不適である。なお、情報ビットだけを復号すれば良く、パリティビットを復号する必要がない場合には、信頼性を計算できないパリティビットが存在しても構わない。
Step C・2で切り出した部分行列を用いて、取り得るパンクチャパターン毎に、各行で全てのビットの信頼性を使って計算できるようになるまでに何回のSum-Product復号処理が必要になるかを評価する。そして、必要なSum-Product復号処理回数が最も少ないパンクチャパターンを、最適なパンクチャパターンとして選択する。必要なSum-Product復号処理回数が等しいパンクチャパターンが複数ある場合は、行ごとの必要な処理回数の平均値が最も小さいパターンを選択する。Sum-Product復号処理を何回繰り返しても信頼性を計算できない情報ビットが存在する場合、そのパンクチャパターンは不適である。なお、情報ビットだけを復号すれば良く、パリティビットを復号する必要がない場合には、信頼性を計算できないパリティビットが存在しても構わない。
図13を用いてパンクチャパターンの決定方法について具体的に説明する。図13は、Step C・2で、図12の検査行列から切り出した部分行列860に対して、符号化率6/5に対するパンクチャパターンとして、[1]Z=(1,0,1,1,1,1),[2]Z=(1,1,1,0,1,1),[3]Z=(1,1,1,1,1,0)の3通りのパンクチャパターンを適用した場合に、どの列要素の信頼性情報が受信装置で受信されなくなるかを示したものである。図13において、斜線で示された列は、パンクチャされるビット列を示している。なお、図13は、パンクチャパターンZが、パンクチャブロックの中からパリティビットを1ビット除去(パンクチャ)する場合の例であり、図13A,図13B,図13Cは、それぞれ、パンクチャパターンZが[1],[2],[3]の場合を示す。
[1]の4行目に注目すると、この行ではパンクチャによって信頼性情報が受信されないビット(パンクチャパターンZにおいて1が立っている箇所)は、全て要素が0となっている。4行目で1が立っているビットは、すべて送信側でパンクチャされずに送信されたビット(パンクチャパターンZにおいて0が立っている箇所)であるので、信頼性情報が受信されており、Sum-Product復号における対数尤度比の初期値β(0) mnとして0以外の値が得られている。すなわち[1]の4行目では、Sum-Product復号の1回目の行処理を開始する時点で、パリティ検査行において1が立っている全てのビットについての信頼性情報α(1) mnを0以外の値で更新することができる。
また、[1]の1行目に注目すると、1が立っているビットのうち1つだけがパンクチャされている。すなわち、Sum-Product復号の1回目の行処理を開始する時点ではパンクチャビットの信頼性情報は得られておらず、初期値β(0) mnに0が設定されている。よって1行目の1回目の行処理では、パンクチャビット以外で1が立っているビットの信頼性情報α(1) mnは全て0となってしまう。ただし、信頼性情報が得られていないパンクチャビットはこの行で1つだけであるので、このパンクチャビットの信頼性情報α(1) mnは、0ではない他のビットの信頼性情報α(1) mnを用いて0以外の値で更新することができる。
よって、[1]の行列全体では、全ての列について少なくとも1つ、0以外の値をとる信頼性情報α(1) mnを要素に含むことになるため、1回目の列処理を行うことで、全てのβ(1) mnを0以外の値で更新することができる。これにより、2回目の行処理では、1行目においても全てのビットについて信頼性情報α(1) mnを0以外の値で更新することができる。
なお、図13Aにおいて、Jは、各行においてパンクチャパターンにより除去される要素数を示しており、4行目ではJ=0であり、パリティ検査行において1が立っている全てのビットについての信頼性情報α(1) mnを0以外の値で更新することができることを意味している。また、1行目ではJ=1であり、1行目の1回目の行処理で、信頼性情報が得られないパンクチャビットが、1行目で1つあることを意味する。
これに対し、図13Bに示すように、パンクチャパターンZとして[2]を用いた場合には、各行において、パンクチャパターンにより除去される要素数Jが、J=1又はJ=2であり、図13Aに比し値が大きい。同様に、図13Cに示すように、パンクチャパターンZとして[3]を用いた場合にも、各行において、パンクチャパターンにより除去される要素数Jは、J=1又はJ=2であり、図13Aに比し値が大きい。
したがって、パンクチャパターンZとして[2]や[3]のパターンを用いた場合には、行列全体では、2回目の列処理を行うことで、全てのβ(2) mnを0以外の値で更新することができることになる。
このように、取り得る全てのパンクチャパターンの候補に対し、パリティ検査行列上の1がパンクチャされる数(要素数J)をカウントし、このカウント数が小さいパンクチャパターンを選択するようにすることで、各行のビットの信頼性情報を得るために必要なSum-Product復号の処理回数が最も小さいパンクチャパターンを選択することができる。上述した例では、[1]のパンクチャパターンが最適なパターンとなる。
因みに、[1]のパンクチャパターンにおいて、J=0となっている行(4行目及び8行目)は、実施の形態1で説明した第2のパリティ検査行ベクトル(c2,j及びc2,j+3)に相当する。すなわち、第2のパリティ検査行ベクトルを追加したことにより、少ないSum-Product復号処理回数で全てのビットの信頼性情報を更新することを可能とする特性改善効果が得られる。
つまり、第1のパリティ検査式と等価な検査式に基づく第2のパリティ検査式を追加することにより、他のビットの信頼性情報を用いることができるようになるので、符号化側で送信符号語をパンクチャした場合においても、パンクチャによる影響を分散することができ、特性改善効果を得ることができる。
以上のようにして求めたパンクチャパターンを、パンクチャ部620のパンクチャパターンに用いることで、本実施の形態の受信装置700では、少ないSum-Product復号処理回数で高い復号特性を得られるようになる。
以上のように、本実施の形態によれば、畳み込み符号化部610は、畳み込み符号を用いて誤り訂正符号化を施し送信符号語系列を取得し、パンクチャ部620は、復号側のBP復号で用いられるパリティ検査行列のパターンに基づいたパンクチャパターンを用いて、畳み込み符号化部610によって取得された送信符号語系列に対しパンクチャを施すようにした。
畳み込み符号の第1の検査多項式によって定義される第1の行要素と、第1の検査多項式と等価である畳み込み符号の第2の検査多項式によって定義される第2の行要素と、を用いて形成されるパリティ検査行列のパターンに基づいたパンクチャパターンを用いることで、復号側では、パンクチャによって消去されたビットの信頼性情報を他のビットの信頼性情報を用いて求めることができるようになり、少ないSum-Product復号処理回数で復号できる。また、第1のパリティ検査行において1が立っている任意のあるビットから、第2のパリティ検査行において1が立っている別のビットへと確率を伝播することができるようになるので、高い復号特性が得られるようになる。
また、パンクチャパターンを、パリティ検査行列上の「1」をできるだけ削除しないパターンから選択ようにすることで、BP復号時に必要な符号語の尤度を得るための繰り返し処理回数を最小限に抑えることができる。
なお、本実施の形態に係る送信装置600及び受信装置700が適用される通信システムにおいて、通信システムが複数のパンクチャパターンを備え、パンクチャパターンが切り替えられるような場合に、複数種類のパリティ検査行をパリティ検査行列に追加しておき、どのパンクチャパターンが用いられた場合でも、少なくとも1種類の行では、当該行において1が立っているビットのうちパンクチャビットとなるビットが1つ以下になるようなパターンをパンクチャパターンとすることで、どのパンクチャパターンを用いた場合においても、良好な復号特性が得られるようになる。
すなわち、全ての情報ビットについて、該情報ビットに1が立っている行の集合の中に、1が立っているビットであってパンクチャされているビットが高々1ビットである行が、少なくとも1行存在するようなパンクチャパターンであれば、良好な復号特性が得られる。
ここで、パリティ検査行列の作成に用いるパリティ検査多項式が、拘束長が長いものばかりであった場合、パンクチャド符号化を適用した際、検査行1行において、1が立っているビットが2つ以上パンクチャされてしまう可能性が高くなってしまう。よって、拘束長が長いパリティ検査多項式と、拘束長が短いパリティ検査多項式とを組み合わせて用いることが好適である。このようにすることで、拘束長が短いパリティ検査行を用いてパンクチャビットを含めた全ビットの信頼性情報を0以外の値で更新し、全ビットの信頼性情報が0以外の値となった以降は、拘束長が長いパリティ検査行によって高い符号化ゲインを得て良好な復号特性を得ることができる。
また、パンクチャブロック内でパンクチャによって消去されるビットは、1ビットに限らず、複数ビットパンクチャするようにしてもよい。
本発明は、上記実施の形態に限定されず、種々変更して実施することが可能である。例えば、上記実施の形態では、送信装置又は受信装置として行う場合について説明しているが、これに限られるものではなく、この符号化方法又は復号化方法をソフトウェアとして行うことも可能である。
本発明に係る復号化装置、符号化装置、復号化方法、及び、符号化方法は、畳み込み符号を適用した通信システムにおける復号化装置、符号化装置、復号化方法、及び、符号化方法として有用である。
300,770 復号部
303 対数尤度比記憶部
305 行処理演算部
307 行処理後データ記憶部
309 列処理演算部
311 列処理後データ記憶部
313 制御部
315 対数尤度比演算部
317 判定部
319 検査行列記憶部
600 送信装置
610 畳み込み符号化部
620 パンクチャ部
630 インタリーブ部
640 変調部
650 無線送信部
660 制御情報生成部
670 送信アンテナ
700 受信装置
710 受信アンテナ
720 無線受信部
730 復調部
740 デインタリーブ部
750 デパンクチャ部
760 制御情報検出部
303 対数尤度比記憶部
305 行処理演算部
307 行処理後データ記憶部
309 列処理演算部
311 列処理後データ記憶部
313 制御部
315 対数尤度比演算部
317 判定部
319 検査行列記憶部
600 送信装置
610 畳み込み符号化部
620 パンクチャ部
630 インタリーブ部
640 変調部
650 無線送信部
660 制御情報生成部
670 送信アンテナ
700 受信装置
710 受信アンテナ
720 無線受信部
730 復調部
740 デインタリーブ部
750 デパンクチャ部
760 制御情報検出部
Claims (11)
- BP(Belief Propagation)復号を行う復号化装置であって、
畳み込み符号の第1の検査多項式によって定義される第1の行要素と、前記第1の検査多項式と等価である前記畳み込み符号の第2の検査多項式によって定義される第2の行要素と、を用いて形成されるパリティ検査行列を記憶する記憶手段と、
符号化側で前記畳み込み符号により生成された符号語系列に対し、前記パリティ検査行列を用いてBP復号を施す復号手段と、
を具備する復号化装置。 - 前記畳み込み符号により生成されるパリティ系列長がINの場合、前記パリティ検査行列は、IN行の前記第1の行要素と、IN行より少ない行数の前記第2の行要素から構成される
請求項1に記載の復号化装置。 - 前記第1の検査多項式の拘束長が、前記第2の検査多項式の拘束長と異なる
請求項1に記載の復号化装置。 - 前記第2の行要素は、前記パリティ検査行列上で、互いに間隔TAずつ離れて配置されており、
前記間隔TAは、前記第1の検査多項式の拘束長より短い
請求項1に記載の復号化装置。 - 前記第2の行要素は、前記パリティ検査行列上で、互いに間隔TAずつ離れて配置されており、
前記間隔TAは、符号化側で用いられるパンクチャパターン長の整数分の1である
請求項1に記載の復号化装置。 - 復号側でBP(Belief Propagation)復号を用いて復号される符号語系列を生成する符号化装置であって、
畳み込み符号により符号語系列を生成する畳み込み符号化手段と、
復号側のBP復号で用いられるパリティ検査行列のパターンに基づいたパンクチャパターンを用いて、前記符号語系列に対しパンクチャを施すパンクチャ手段と、
を具備する符号化装置。 - 前記パリティ検査行列は、前記畳み込み符号の第1の検査多項式によって定義される第1の行要素と、前記第1の検査多項式と等価である前記畳み込み符号の第2の検査多項式によって定義される第2の行要素と、を用いて形成される行列である
請求項6に記載の符号化装置。 - 前記第2の検査多項式は、前記第1の検査多項式に含まれる次数と、前記第2の検査多項式に含まれる次数とができるだけ重複しない
請求項7に記載の符号化装置。 - 前記パンクチャパターンは、前記パリティ検査行列上で「1」が立っているビットをできるだけ削除しないパターンである
請求項6に記載の符号化装置。 - BP(Belief Propagation)復号を行う復号化方法であって、
畳み込み符号の第1の検査多項式によって定義される第1の行要素と、前記第1の検査多項式と等価である前記畳み込み符号の第2の検査多項式によって定義される第2の行要素と、を用いて形成されるパリティ検査行列を用いて、符号化側で前記畳み込み符号により生成された符号語系列に対し、BP復号を施す復号化方法。 - 復号側でBP(Belief Propagation復号を用いて復号される符号語系列を生成する符号方法であって、
畳み込み符号により符号語系列を生成し、
復号側のBP復号で用いられるパリティ検査行列のパターンに基づいたパンクチャパターンを用いてパンクチャを施す符号化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007292245A JP2009118418A (ja) | 2007-11-09 | 2007-11-09 | 復号化装置、符号化装置、復号化方法、及び、符号化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007292245A JP2009118418A (ja) | 2007-11-09 | 2007-11-09 | 復号化装置、符号化装置、復号化方法、及び、符号化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009118418A true JP2009118418A (ja) | 2009-05-28 |
Family
ID=40785002
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007292245A Pending JP2009118418A (ja) | 2007-11-09 | 2007-11-09 | 復号化装置、符号化装置、復号化方法、及び、符号化方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009118418A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111565051A (zh) * | 2020-04-10 | 2020-08-21 | 北京邮电大学 | 一种用于ldpc码的自学习归一化偏置最小和译码方法 |
-
2007
- 2007-11-09 JP JP2007292245A patent/JP2009118418A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111565051A (zh) * | 2020-04-10 | 2020-08-21 | 北京邮电大学 | 一种用于ldpc码的自学习归一化偏置最小和译码方法 |
CN111565051B (zh) * | 2020-04-10 | 2022-11-25 | 北京邮电大学 | 一种用于ldpc码的自学习归一化偏置最小和译码方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4823176B2 (ja) | 復号方法及び復号装置 | |
Mitchell et al. | Spatially coupled LDPC codes constructed from protographs | |
EP2381582B1 (en) | Method and apparatus for channel encoding in a communication system using low-density parity-check codes | |
US9787325B2 (en) | Encoder and coding method | |
JP6437682B2 (ja) | 変調信号復号方法及び変調信号復号装置 | |
JP5789014B2 (ja) | 符号化方法、符号化器、復号器 | |
JP2009246927A (ja) | 符号化方法、符号化器、復号器 | |
JP2009118418A (ja) | 復号化装置、符号化装置、復号化方法、及び、符号化方法 | |
JP5171997B2 (ja) | 復号方法及び復号装置 | |
JP2009177649A (ja) | 符号化方法、符号化器、復号器 |