以下、本発明の実施の形態について、図面を参照して詳細に説明する。
(実施の形態1)
本実施の形態では、LDPC−CCにおけるターミネーション系列の数を少なくするため、LDPC−CC検査行列のうち、送信情報系列の後部Mビットに対応する行列要素を変形させた検査行列、及び当該検査行列を用いてLDPC−CC符号化する符号化器の構成について説明する。
図1に、LDPC−CCの検査行列の一例を示す。図1の検査行列100は、メモリ長M=5、符号化率1/2、送信情報系列長nの場合の例である。なお、図1では、簡単のため、検査行列100のうち、送信符号語系列の終端部分及びその後に続くターミネーション系列に対応する部分のみを抽出して示している。
検査行列100において、各行は、送信符号語系列、ターミネーション系列、及びゼロ系列の各ビットに対応する。また、各列p1、p2、…、p18は、パリティ検査式に相当する。なお、説明を簡単にするため右側の列から順にインデックスを付している。LDPC−CCでは、各列において、1が配置されている行に対応する送信符号語ビットのmod2加算結果(排他的論理和演算結果)がゼロになるような符号化が行われる。図1の検査行列100は、送信符号語系列v1,t,v2,tに送信情報系列utがそのままの形で含まれる組織化符号の例であり、送信符号語ビットv1,t,v2,tは、式(1)で表される。
ここで、ターミネーションが必要な理由について説明する。ターミネーションを行わない場合、すなわち、LDPC−CC検査行列をv2,nの行で終了した場合、検査行列は、図2に示すようになる。図2の検査行列200を用いて、復号側でSum-product復号を行う場合を考える。Sum-product復号では、検査行列200の行方向には対数尤度比の加算処理による繰り返し符号の復号を行い、列方向には対数尤度比のtanh(・)を取った値の乗算処理による単一パリティ検査符号の復号を行う。このとき、検査行列200のv2,nの行に着目すると、v2,nの行には1が配置されている列が1列(p1)しかない。v1,n,v1,n-1,v2,n-1,v2,n-2,v2,n-3,v2,n-4の行についても同様である。このような行では、Sum-product復号における繰り返し符号の復号処理時に十分な符号化ゲインが得られないため、これらの符号語ビットが影響を与える他の符号語ビットの復号特性に対しても悪影響を及ぼしてしまう。この結果、復号後の受信情報系列の後部にビット誤りが多く発生してしまう。
これに対し、送信符号語系列v1,n,v2,nの後に、ターミネーション系列及びゼロ系列を追加する場合には、図1に示すように、検査行列100において、v2,nの行には、他のv2,xの行と同数だけ1が配置されている列が存在するので、送信符号語系列v1,n,v2,nをSum-product復号を用いて繰り返し復号する際に、十分な符号化ゲインを得ることができる。
また、符号語ビットv2,nを含むパリティ検査方程式(p6、p11)に含まれるv2,n以外の符号語ビットに対しても、ターミネーション系列及びゼロ系列の付加により、十分な符号化ゲインが得られるようになるため、復号後の受信情報系列の後部にビット誤りが発生することがなくなる。しかし、この場合、2nビットの送信符号語系列に加え、2Lビット(この例では2M=10ビット)のターミネーション系列を送信する必要があり、伝送効率の劣化が問題となる。
そこで、本実施の形態では、検査行列100のうち、送信情報系列の後部Mビットに対応する行列要素を変形させた検査行列を用いて、LDPC−CC符号化を行う。以下、詳細に説明する。
図3に、本実施の形態における検査行列300を示す。図3の検査行列300は、図1の検査行列100に対し、x2,1,x2,2,x2,3,x2,4,x2,5の符号化に用いるパリティ検査式(p6,p7,p8,p9,p10)の列において、v2,tに対応する行に配置されている1を0に変更したものである。具体的には、検査行列300は、検査行列100のv2,n,v2,n-1,v2,n-2,v2,n-3,v2,n-4に対応する行における一番右側にある1を0に変更して得られた行列である。なお、検査行列300のv2,n-5より前の送信符号語ビットに関する行は、検査行列100と同じである。
検査行列300では、v2,n,v2,n-1,v2,n-2,v2,n-3,v2,n-4に対応する行における一番右側が0となるため、この検査行列300を用いた場合、x2,1,x2,2,x2,3,x2,4,x2,5の符号化に、v2,tの値が不要となり、送信情報系列v1,t(=ut)及びx1,xのみが必要となる。そのため、従来のように、v1,t,v2,t双方のシフトレジスタをオールゼロ状態にする必要はなく、v1,tのシフトレジスタのみをオールゼロ状態にするだけでよい。v1,tのシフトレジスタをオールゼロ状態にするためには、従来通り、x1,1,x1,2,x1,3,x1,4,x1,5は全て0として符号化器に入力すればよい。
さらに、x1,1〜x1,5を全て0にすることを送信側及び受信側で予め取り決めておけば、x1,1〜x1,5を実際に受信機に送信する必要はなく、符号化によって得られたx2,mのみを送信すればよい。このとき、受信機では、x1,mに対応するビットの対数尤度比(LLR:Log-Likelihood Ratio)を∞(無限大)として復号する。
このようにすることで、送信するターミネーション系列を従来の2Lビットから少なくともMビットにまで削減することができる。
例えば、検査行列300を用いる場合には、x2,1,x2,2,x2,3の3ビットだけを送信すれば、v1,t,v2,tに関する全てのパリティ検査式に必要な符号語ビットを受信側で得ることができる。これに対し、検査行列100を用いる場合には、10ビットのターミネーション系列x1,1〜x1,5,x2,1〜x2,5を送信する必要しなければならない。つまり、検査行列300を用いる場合には、ターミネーション系列の送信量を、検査行列100を用いる場合の3割にまで削減できるようになる。
次に、図3の検査行列300を用いてLDPC−CC符号化を行うLDPC−CC符号化器の構成を図面を参照しながら説明する。
図4は、本実施の形態におけるLDPC−CC符号化器の要部構成を示すブロック図である。
図4において、LDPC−CC符号化器400は、シフトレジスタ410−1〜410−M,440−1〜440−M、ウェイト乗算器420−0〜420−M、430−0〜430−M、mod2加算(排他的論理和演算)器450、ビット数カウンタ460、ウェイト制御部470、パンクチャ部480を備えて構成される。
シフトレジスタ410−1〜410−M,440−1〜440−Mは、それぞれv1,t-i,v2,t-i(i=0,…,M)を保持するレジスタであり、次の入力が入ってくるタイミングで、保持している値を右隣のシフトレジスタに送出し、左隣のシフトレジスタから送出されてきた値を新たに保持する。なお、nは、送信情報系列utの送信情報系列長を表す。
ウェイト乗算器420−0〜420−M、430−0〜430−Mは、ウェイト制御部470から出力される制御信号に従って、ウェイト値を0又は1に切り替える。
mod2加算器450は、ウェイト乗算器420−0〜420−M、430−0〜430−Mの出力に対しmod2加算を行い、v2,tを算出する。
ビット数カウンタ460は、入力された送信情報系列及びターミネーション系列のビット数をカウントし、カウントビット数をウェイト制御部470に出力する。
ウェイト制御部470は、ビット数カウンタ460から出力されるカウントビット数と、送信情報系列長nと、ウェイト制御部470内に保持している検査行列300に準じたウェイトパターンに基づいて、そのタイミングにおける検査行列要素h1 (m)(t),h2 (m)(t)の値をウェイト乗算器420−0〜420−M、430−0〜430−Mに送出する。
図5にウェイト制御部470の構成図を示す。ウェイト制御部470は、セレクタ471,474、ウェイトパターン記憶部472、及びウェイトパターン記憶部473から構成される。
セレクタ471は、カウントビット数及び送信情報系列長nを入力し、カウントビット数≦送信情報系列長nの場合、カウントビット数をウェイトパターン記憶部472に送出する。一方、カウントビット数>送信情報系列長nの場合、セレクタ471は、カウントビット数をウェイトパターン記憶部473に送出する。
ウェイトパターン記憶部472は、ウェイトパターン475で示されるウェイトパターンを保持しており、カウントビット数の増加に伴い周期的にha1,ha2,ha3,ha4をセレクタ474に出力する。なお、ウェイトパターン475は、検査行列100の行列要素h1 (m)(t),h2 (m)(t)(m=0,…,M)である。
ウェイトパターン記憶部473は、ウェイトパターン476で示されるウェイトパターンを保持しており、カウントビット数の増加に伴い周期的にhb1、hb2、hb3、hb4をセレクタ474に出力する。なお、ウェイトパターン476は、検査行列100の要素を変形した検査行列300の行列要素h1 (m)(t),h2 (m)(t)(m=0,…,M)である。
セレクタ474は、ウェイトパターン記憶部472から入力される行列要素ha1,ha2,ha3,ha4、又は、ウェイトパターン記憶部473から入力される行列要素hb1、hb2、hb3、hb4をウェイト乗算器420−0〜420−M,430−0〜430−Mに出力する。
すなわち、セレクタ474は、セレクタ471と連動して、ビット数カウントと送信情報系列長との比較結果に応じて、入力ビットが送信情報系列の場合、ウェイトパターン記憶部472に記憶される検査行列100に準じたウェイトパターン475の行列要素を、ウェイト乗算器420−0〜420−M,430−0〜430−Mに出力する。一方、入力ビットがターミネーション系列の場合、セレクタ474は、ウェイトパターン記憶部473に記憶される検査行列100を変形した検査行列300に準じたウェイトパターン476の行列要素を、ウェイト乗算器420−0〜420−M,430−0〜430−Mに出力する。
パンクチャ部480は、送信符号語系列v1,1〜v1,n,x1,1〜x1,Lから、ターミネーション系列x1,1〜x1,Lをパンクチャする。
以下、上述のように構成されたLDPC−CC符号化器400の動作について説明する。
送信情報系列u1〜un及びターミネーション系列x1,1〜x1,Lは、シフトレジスタ410−1、ウェイト乗算器420−0、及びビット数カウンタ460に順次出力されるとともに、送信情報系列utは、送信符号語系列v1,tとして、パンクチャ部480に出力される。
ビット数カウンタ460では、入力される送信情報系列u1〜un及びターミネーション系列x1,1〜x1,Lのビット数がカウントされ、得られたカウントビット数は、ウェイト制御部470に出力される。
ウェイト制御部470では、カウントビット数と送信情報系列長nとの比較結果に応じて、ウェイトパターン475又はウェイトパターン476のいずれか一方が選択されて、選択されたウェイトパターンの行列要素が、ウェイト乗算器420−0〜420−M,430−0〜430−Mに出力される。
具体的には、カウントビット数≦送信情報系列長、つまり、入力ビットが送信情報系列の場合、ウェイト乗算器420−0〜420−M,430−0〜430−Mには、検査行列100に準じたウェイトパターン475の行列要素が出力される。ウェイトパターン475は、v2,n,v2,n-1,v2,n-2,v2,n-3,v2,n-4に対応する行の一番右側に1が配置されている従来のLDPC−CC符号化に用いられるパターンと同一のパターンである。
一方、カウントビット数>送信情報系列長、つまり、入力ビットがターミネーション系列の場合、ウェイト乗算器420−0〜420−M,430−0〜430−Mには、検査行列100を変形した検査行列300に準じたウェイトパターン476の検査行列が出力される。ウェイトパターン476は、ウェイトパターン475に対し、v2,n,v2,n-1,v2,n-2,v2,n-3,v2,n-4に対応する行における一番右側の1を0に代えたパターンである。すなわち、図5において、検査行列の行の一番右のh2 (5)が0のパターンである。検査行列100の例では、h2 (1)〜h2 (4)が0であるので、ウェイトパターン476を用いることにより、ターミネーション系列が入力される場合に、v2,n,v2,n-1,v2,n-2,v2,n-3,v2,n-4と乗算されるウェイト値が0になり、x2,1,x2,2,x2,3,x2,4,x2,5の符号化に、v2,n,v2,n-1,v2,n-2,v2,n-3,v2,n-4が用いられなくなる。この結果、ターミネーション時にv2,tに関するシフトレジスタ440−0〜440−Mを0にする必要がなくなり、v2,tを0にするための冗長ビットが不要となる。
さらに、パンクチャ部480では、送信符号語系列v1,1〜v1,n,x1,1〜x1,Lから、ターミネーション系列x1,1〜x1,Lがパンクチャされる。このようにすることで、ターミネーション系列を送信することによる伝送効率の劣化を従来方式に比べて削減することができる。
以上のように、本実施の形態では、LDPC−CC符号化器400は、複数のシフトレジスタ410−1〜410−M,430−1〜430−Mと、シフトレジスタ410−1〜410−M,430−1〜430−Mの出力にウェイトを乗算する複数のウェイト乗算器420−0〜420−Mと、ウェイト乗算器420−0〜420−Mの出力をmod2加算するmod2加算器450と、符号化する入力ビットのビット数をカウントするビット数カウンタ460と、入力ビットのビット数に応じてウェイト乗算器420−0〜420−Mのウェイトを制御するウェイト制御部470と、を備えるようにした。これにより、LDPC−CC検査行列を用いたLDPC−CC符号化を行うことができる。
また、ウェイト制御部470は、LDPC−CC検査行列100に準じたウェイトパターン475と、LDPC−CC検査行列100を変形した検査行列300に準じたウェイトパターン476と、を記憶し、入力ビットが情報系列の場合に、ウェイトパターン475を用い、入力ビットがターミネーション系列の場合に、ウェイトパターン476を用いるようにした。このようにすることで、送信情報系列utが入力される場合は、ウェイトパターン475を使って送信符号語系列v1,t,v2,tを取得し、ターミネーション系列x1,mが入力される場合は、v2,tと乗算されるウェイト値を0にするウェイトパターン476を使って送信符号語系列v1,t,v2,tを取得することができるので、送信するターミネーション系列を削減することができる。
また、終端処理のために送信される送信側と受信側とで既知であるゼロ系列(x1,1〜x1,L)をパンクチャするパンクチャ部480を設けることで、ターミネーション系列を送信することによる伝送効率の低下を抑圧することができる。
なお、非特許文献2に開示されるターミネーション方法では、ターミネーション系列x1×2Lを求めるために別の回路が必要となるのに対し(非特許文献3参照)、本実施の形態では、このような特別な回路を必要とせずに終端処理を含んだ符号化処理を完了することができる。
(変形例)
図6に、本実施の形態における検査行列の別の例を示す。図6の検査行列500は、x2,1,x2,2,x2,3,x2,4,x2,5の符号化に用いるパリティ検査式(p6,p7,p8,p9,p10)に対応する列において、v2,tに対応する行の一番右に配置されている1を0に変更したものであり、さらに、v2,n,v2,n-1,v2,n-2,v2,n-3,v2,n-4に対応する行において、x2,1,x2,2,x2,3,x2,4,x2,5の符号化に用いるパリティ検査式(p6,p7,p8,p9,p10)以外の列に新たに1を配置したものである。図6の矢印で示すように、1が配置されている位置を、x2,1,x2,2,x2,3,x2,4,x2,5の符号化に用いるパリティ検査式(p6,p7,p8,p9,p10)以外の列に移動した形になる。
このようにすることで、送信するターミネーション系列を従来の2Lビットから少なくともLビットにまで半減することができるという検査行列300と同様の効果に加え、検査行列500では、1が配置されている位置を移動した行では、行方向の1の数(行重み)が変わらないので、Sum-product復号における繰り返し符号の復号処理による符号化ゲインを維持することができる。
また、図6の検査行列500では、1を左に移動する数が行毎に同数でない場合の例を示しているが、この限りではなく、1を行毎に同じ数だけ左に移動するようにしても良い。行毎に左に移動する数が等しい場合には、行毎に左に移動する数が同数でない場合に比べ、ウェイト制御部470が保持するウェイトパターンの種類が少なくて済む。
また、x2,1,x2,2,x2,3,x2,4,x2,5の符号化に関わる全ての1を移動させたり、一部の行の1のみ移動させて、その他の行の1は0に変更するのみとするなどしたりしても、ターミネーション系列量の削減による伝送効率の劣化の抑圧という本発明の効果を得ることができる。
(実施の形態2)
本実施の形態では、LDPC−CCにおけるターミネーション系列の数を少なくするため、送信情報系列の後部ほど、LDPC−CC符号化のメモリ長Mが小さくなるように設計した検査行列、及び当該検査行列に基づいたLDPC−CC符号化器の構成について説明する。
図7に、本実施の形態における検査行列の一例を示す。図7の検査行列600は、符号化率R=b/c=1/2、送信情報系列長nの場合の例であり、検査行列600は、送信情報系列utのインデックスがnに近づくにつれて、符号化のメモリ長MがM=5,4,3の順に小さくなっていく点が、図1の検査行列100と異なっている。
つまり、図7に示すように、検査行列600を用いる場合には、送信情報系列u1〜un-4に対しては、メモリ長M=5で符号化し、送信符号語系列v1,1〜v1,n-4,v2,1〜v2,n-4が取得される。送信情報系列un-3〜un-1に対しては、メモリ長M=4で符号化し、送信符号語系列v1,n-3〜v1,n-1,v2,n-3〜v2,n-1が取得される。送信情報系列un及びターミネーション系列x1,1〜x1,3に対しては、メモリ長M=3で符号化し、v1,n,v2,n及びx1,1〜x1,3,x2,1〜x2,3が取得される。
上述したように、ターミネーション系列の長さLは、L≧Mを満たす必要がある。したがって、ターミネーションを行う時点で符号化器のメモリ長Mが小さければ、その分ターミネーション系列長Lを短くすることができる。
このように、図7に示す検査行列600を用いてLDPC−CC符号化を行うことで、ターミネーション系列の長さを従来に比べより短くすることができ、その結果、ターミネーション系列を送信することによる伝送効率の劣化を抑えることができる。
ところで、LDPC−CCでは、メモリ長Mが大きければ大きいほど符号化ゲインが得られ、良好な誤り率特性が得られるという特徴がある。そのため、検査行列600のように、送信符号語系列の後部に行くに従ってメモリ長Mを小さくしていくと、後部のビット誤り率が劣化することが予想される。しかし、LDPC−CCでは、適切な終端処理を行うことにより、符号化終了時点のシフトレジスタの値をオールゼロ状態に決定し、ターミネーション系列の後に、復号時にLLR=∞とすることができるゼロ系列を仮定できるので、復号後の受信情報系列後部のビット誤り率特性が、その他の部分より良くなるという特徴がある。
そのため、検査行列600を用いて、送信符号語系列の後部に行くに従ってメモリ長Mを小さくするLDPC−CC符号化を行う場合に、復号後の受信情報系列の後部のビット誤り率が低下するという問題が生じない。
次に、図7の検査行列600を用いてLDPC−CC符号化を行うLDPC−CC符号化器の構成を図面を参照しながら説明する。
図8は、本実施の形態におけるLDPC−CC符号化器の要部構成を示すブロック図である。本実施の形態の説明にあたり、図4と同一構成部分には同一符号を付して説明を省略する。図8のLDPC−CC符号化器700は、図4のLDPC−CC符号化器400に対し、パンクチャ部480を削除し、ウェイト制御部470に代え、ウェイト制御部710を備えて構成される。
ウェイト制御部710は、ビット数カウンタ460から出力されるカウントビット数と、メモリ長切り替えタイミング情報と、ウェイト制御部710内に保持している検査行列600に準じたウェイトパターンとに基づいて、そのタイミングにおける行列要素h1 (m)(t),h2 (m)(t)の値をウェイト乗算器420−0〜420−M、430−0〜430−Mに送出する。
ここで、メモリ長切り替えタイミング情報とは、検査行列600のメモリ長Mを切り替える送信情報系列のインデックスを表す。例えば、3種類のメモリ長Mを使用する場合、メモリ長切り替えタイミング情報は2つの値を取る。つまり、メモリ長として、メモリ長M=5,4,3の3種類を用いる場合、メモリ長切り替えタイミング情報は、M=5からM=4に切り替えるタイミング情報のインデックスと、M=4からM=3に切り替えるタイミング情報のインデックスとを持っている。
図9に、メモリ長MがM=5,4,3の3種類を用いる場合のウェイト制御部710の構成例を示す。図9のウェイト制御部710は、セレクタ711、715、ウェイトパターン記憶部712〜714から構成される。以下では、メモリ長M=5からM=4に切り替えるタイミングを示すインデックスをメモリ長切り替えタイミング情報1とし、メモリ長M=4からM=3に切り替えるタイミングを示すインデックスをメモリ長切り替えタイミング情報2とする。
セレクタ711は、カウントビット数及びメモリ長切り替えタイミング情報1,2を入力し、カウントビット数≦メモリ長切り替えタイミング情報1の場合、ビット数カウントをウェイトパターン記憶部712に送出する。
一方、カウントビット数>メモリ長切り替えタイミング情報1、かつ、カウントビット数≦メモリ長切り替えタイミング情報2の場合、セレクタ711は、カウントビット数をウェイトパターン記憶部713に送出する。
また、セレクタ711は、カウントビット数>メモリ長切り替えタイミング情報2の場合、カウントビット数をウェイトパターン記憶部714に送出する。
ウェイトパターン記憶部712は、ウェイトパターン716で示されるウェイトパターンを保持しており、カウントビット数の増加に伴い周期的にha1,ha2,ha3,ha4をセレクタ715に出力する。なお、ウェイトパターン716は、メモリ長M=5の場合のLDPC−CC検査行列の行列要素h1 (m)(t),h2 (m)(t)(m=0,…,5)である。
ウェイトパターン記憶部713は、ウェイトパターン717で示されるウェイトパターンを保持しており、ビット数カウントの増加に伴い周期的にhb1,hb2,hb3をセレクタ715に出力する。なお、ウェイトパターン716は、メモリ長M=4の場合のLDPC−CC検査行列の行列要素h1 (m)(t),h2 (m)(t)(m=0,…,4)と、h1 (5)=0,h2 (5)=0とである。メモリ長M=4の場合、hb1,hb2,hb3のウェイトパターンの要素数は10であるが、符号化器700には、メモリ長M=5に対応できるよう12個のウェイト乗算器420−0〜420−M、430−0〜430−Mが備えられている。そのため、ウェイトパターン717では、h1 (5),h2 (5)のウェイト要素が、どのパターンにおいても0となっている。
ウェイトパターン記憶部714は、ウェイトパターン718で示されるウェイトパターンを保持しており、カウントビット数の増加に伴い周期的にhc1,hc2,hc3,hc4,hc5,hc6、hc7をセレクタ715に出力する。なお、ウェイトパターン716は、メモリ長M=3の場合のLDPC−CC検査行列の行列要素h1 (m)(t),h2 (m)(t)(m=0,…,3)と、h1 (4)=0,h2 (4)=0、h1 (5)=0,h2 (5)=0とである。M=4の場合と同様に、ウェイトパターン718では、h1 (4),h2 (4),h1 (5),h2 (5)のウェイト要素が、どのパターンにおいても0となっている。
セレクタ715は、ウェイトパターン記憶部712から入力される行列要素ha1,ha2,ha3,ha4、ウェイトパターン記憶部713から入力される行列要素hb1、hb2、hb3、又は、ウェイトパターン記憶部714から行列要素hc1,hc2,hc3,hc4,hc5,hc6、hc7をウェイト乗算器420−0〜420−M,430−0〜430−Mに出力する。
すなわち、セレクタ715は、セレクタ711と連動して、ビット数カウントとメモリ切り替えタイミング情報1,2との比較結果応じて、ビット数カウント≦メモリ長切り替えタイミング情報1の場合、ウェイトパターン記憶部712に記憶されるメモリ長M=5の検査行列に準じたウェイトパターン716の行列要素を、ウェイト乗算器420−0〜420−M,430−0〜430−Mに出力する。
一方、ビット数カウント>メモリ長切り替えタイミング情報1、かつ、ビット数カウント≦メモリ長切り替えタイミング情報2の場合、セレクタ715は、ウェイトパターン記憶部713に記憶されるメモリ長M=4の検査行列に準じたウェイトパターン717の行列要素を、ウェイト乗算器420−0〜420−M,430−0〜430−Mに出力する。
また、ビット数カウント>メモリ長切り替えタイミング情報2の場合、セレクタ715は、ウェイトパターン記憶部714に記憶されるメモリ長M=3の検査行列に準じたウェイトパターン718の行列要素を、ウェイト乗算器420−0〜420−M,430−0〜430−Mに出力する。
以下、上述のように構成されたLDPC−CC符号化器700の動作について説明する。
送信情報系列u1〜un及びターミネーション系列x1,1〜x1,Lは、シフトレジスタ410−1、ウェイト乗算器420−0、及びビット数カウンタ460に順次出力される。
ビット数カウンタ460では、入力される送信情報系列u1〜un及びターミネーション系列x1,1〜x1,Lのビット数がカウントされ、得られたカウントビット数は、ウェイト制御部710に出力される。
ウェイト制御部710では、カウントビット数とメモリ長切り替えタイミング情報との比較結果に応じて、ウェイトパターン716、ウェイトパターン717、又はウェイトパターン718のいずれか一つが選択されて、選択されたウェイトパターンの行列要素が、ウェイト乗算器420−0〜420−M,430−0〜430−Mに出力される。
具体的には、カウントビット数≦メモリ長切り替えタイミング情報1の場合、ウェイト乗算器420−0〜420−M,430−0〜430−Mには、メモリ長M=5の検査行列に準じたウェイトパターン716の行列要素が出力される。
カウントビット数>メモリ長切り替えタイミング情報1、かつ、カウントビット数≦メモリ長切り替えタイミング情報2の場合、ウェイト乗算器420−0〜420−M,430−0〜430−Mには、メモリ長M=4の検査行列に準じたウェイトパターン717の行列要素が出力される。
また、カウントビット数>メモリ長切り替えタイミング情報2の場合、ウェイト乗算器420−0〜420−M,430−0〜430−Mには、メモリ長M=3の検査行列に準じたウェイトパターン718の行列要素が出力される。
このようにすることで、送信符号語系列が終端に近づくに従い、送信符号語系列を生成するために必要な過去の送信符号語系列のビット数を少なくすることができる。
以上のように、本実施の形態によれば、ウェイト制御部710は、メモリ長が異なるLDPC−CC検査行列に準じたウェイトパターン716,717,718を記憶し、入力ビットが情報系列の場合に、情報系列の終部ほど、メモリ長が小さいウェイトパターンを用いるようにした。ターミネーション系列長Lは、メモリ長Mが小さければ小さいほど、短くすることができるので、情報系列の後部ほど、メモリ長が小さいウェイトパターンを用いるようすることで、ターミネーション系列長Lをより短くすることができ、伝送効率の劣化を抑えることができる。
なお、本実施の形態では、送信情報系列の後部に近づくに従って、メモリ長をM=5,4,3の順にメモリ長を1つずつ小さくしていく場合を例に説明したが、これに限るものではなく、任意のメモリ長に減少したり、メモリ長の減少量を任意にした検査行列を用いても、本発明による、ターミネーション系列送信量削減による伝送効率劣化の抑圧という効果を得ることができる。
(実施の形態3)
本実施の形態では、ターミネーション系列の数を少なくしたことによって受信情報系列の後部に発生する伝送誤りを軽減するため、送信情報系列の後部ほど、LDPC−CC符号化の符号化率が低くなるように設計した検査行列、及び当該検査行列に基づいたLDPC−CC符号化器の構成について説明する。
図10に、本実施の形態における検査行列の一例を示す。図10の検査行列800は、メモリ長M=5、送信情報系列長nの場合の例であり、検査行列800は、送信符号語系列utのインデックスが大きくなるにつれて、符号化率RがR=1/2,1/3,1/4の順に低くなっていく点が、従来のLDPC−CC検査行列と異なっている。
つまり、図10に示すように、検査行列800を用いる場合には、送信情報ui〜ui+7に対しては、符号化率1/2で符号化し、送信符号語系列v1,i〜v1,i+7,v2,i〜v2,i+7が取得される。送信情報ui+8〜ui+11に対しては、符号化率1/3で符号化し、送信符号語系列v1,i+8〜v1,i+11,v2,i+8〜v2,i+11,v3,i+8〜v3,i+11が取得される。送信情報ui+12〜ui+15に対しては、符号化率1/4で符号化し、送信符号語系列v1,i+12〜v1,i+15,v2,i+12〜v2,i+15,v3,i+12〜v3,i+15,v4,i+12〜v4,i+15が取得される。
このように、図10に示す検査行列800を用いてLDPC−CC符号化を行うことで、送信符号語系列の後部に行くにしたがい、符号化率が低いLDPC−CC符号語を生成することができる。符号化率が低いほど、誤り訂正能力が高いので、このようにすることで、全ターミネーション系列を送信しない場合においても、受信情報系列後部に発生するビット誤りを訂正することができるようになる。
次に、図10の検査行列800を用いてLDPC−CC符号化を行うLDPC−CC符号化器の構成を図面を参照しながら説明する。
図11は、本実施の形態におけるLDPC−CC符号化器の要部構成を示すブロック図である。
図11のLDPC−CC符号化器900は、シフトレジスタ910−1−1〜910−c−M、ウェイト乗算器920−1−1−0〜920−c−c−M、mod2加算器930−1〜930−c−1、ビット数カウンタ940、ウェイト制御部950を備えて構成される。
LDPC−CC符号化器900において、シフトレジスタ、ウェイト乗算器、及びビット数カウンタ、及びウェイト制御部は、従来及び上述の実施の形態1〜2のシフトレジスタ、ウェイト乗算器、及びビット数カウンタ、及びウェイト制御部と同様であるため説明を省略する。
ウェイト制御部950は、ビット数カウンタ940から出力されるカウントビット数と、符号化率切り替えタイミング情報と、ウェイト制御部950内に保持している検査行列に準じたウェイトパターンとに基づいて、そのタイミングにおける検査行列要素h1,2 (m)(t),h2,2 (m)(t),…,hc,c (m)(t)の値をウェイト乗算器920−1−1−0〜920−c−c−Mに送出する。
ここで、符号化率切り替えタイミング情報とは、検査行列800の符号化率Rを切り替える送信情報系列のインデックスを表す。例えば、3種類の符号長Rを使用する場合、符号長切り替えタイミング情報は2つの値を持つ。つまり、符号長R=1/2,1/3,1/4を用いる場合、R=1/2からR=1/3に切り替えるタイミング情報のインデックスと、及び、R=1/3からR=1/4に切り替えるタイミング情報のインデックスを持っている。
ウェイト制御部950の構成及びウェイトパターン切り替え処理は、ウェイト制御部710と同様であるので、説明を省略する。
以上のように、本実施の形態では、ウェイト制御部950は、符号化率が異なるLDPC−CC検査行列に準じたウェイトパターンを複数記憶し、入力ビットが情報系列の場合に、情報系列の終端ほど、符号化率が低いウェイトパターンを用いるようにした。符号化率が低いほど、誤り訂正能力が高いので、このようにすることで、ターミネーション系列を削減した場合においても、受信情報系列の後部に発生するビット誤りを訂正しつつ、伝送効率の劣化を抑えることができる。
(実施の形態4)
本実施の形態では、LDPC−CCにおけるターミネーション系列の数を少なくするため、LDPC−CC符号化後にターミネーション系列の一部のビットをパンクチャしてターミネーション系列の量を削減するターミネーション系列パンクチャ部を備える送信装置について説明する。
図12は、本実施の形態における送信装置の要部構成を示すブロック図である。図12の送信装置1000は、LDPC−CC符号化部1010、ターミネーション系列パンクチャ部1020、インタリーブ部1030、変調部1040、制御情報生成部1050、無線部1060、及び送信アンテナ1070を備えて構成される。
LDPC−CC符号化部1010は、送信情報系列にターミネーション系列が付加された入力系列に対し、LDPC−CC符号化処理を行い、符号化後の送信符号語系列をターミネーション系列パンクチャ部1020に出力する。
ターミネーション系列パンクチャ部1020は、送信符号語系列のうち、ターミネーション系列に対しパンクチャを行い、パンクチャ後のターミネーション系列をインタリーブ部1030に出力する。パンクチャ処理については、後述する。
インタリーブ部1030は、送信符号語系列に対して、系列の順序の並び替え処理(インタリーブ)を行い、インタリーブ後の送信符号語系列を変調部1040に出力する。
変調部1040は、インタリーブ後の送信符号語系列を、PSK(Phase Shift Keying),QAM(Quadrature Amplitude Modulation)などの変調方式で変調し、変調後の送信変調シンボル系列を無線部1060に出力する。
制御情報生成部1050は、送信側と受信側との間で信号を送受信するために必要な制御情報を生成し、変調部1040に送出する。制御情報としては、変調方式や送信情報系列長、時間・周波数同期のためのプリアンブル信号などがある。
無線部1060は、送信変調シンボル系列に対して、D/A(Digital to Analog)変換、周波数変換、RF(Radio Frequency)フィルタ処理などの無線変調処理を行い、送信RF信号を生成し、送信アンテナ1070を介して送信する。
以下、上述のように構成された送信装置1000の動作について主にターミネーション系列パンクチャ部1020のパンクチャ処理を中心に説明する。なお、以下では、LDPC−CC符号化部1010におけるLDPC−CC符号化率をR=b/cとして説明する。
LDPC−CC符号化部1010において、送信情報系列ui(i=1,…,n)にターミネーション系列が付加された入力系列に対し、LDPC−CC符号化処理が施され、送信符号語系列[vk,i xk,j]が取得される。ここで、k=1,…,c、j=1,…,Lであり、Lは、ターミネーション系列の系列長を表す。LDPC−CCの符号化方法については、非特許文献1及び非特許文献2に記述されているので、説明を省略する。
ターミネーション系列パンクチャ部1020では、LDPC−CC符号化部1010から出力される送信符号語系列[vk,i xk,j]のうち、ターミネーション系列に相当するxk,jに対し、パンクチャ処理が施される。
図13に、ターミネーション系列パンクチャ部1020が実施するパンクチャの一例を示す。図13は、符号化率R=1/2(b=1,c=2)の場合の例を示し、上段はx1,1〜x1,Lを示し、下段はx2,1〜x2,Lを示し、左から右の順に各系列がターミネーション系列パンクチャ部1020に入力される。図13において、斜線が記されているビットxk,jが、ターミネーション系列パンクチャ部1020においてパンクチャされるビットを表している。図13に示すように、本実施の形態では、ターミネーション系列パンクチャ部1020は、ターミネーション系列の前方部のビットに対してはパンクチャの頻度を少なくし、ターミネーション系列の後方部のビットに対してはパンクチャの頻度を多くする。
LDPC−CC符号化では、ターミネーション系列の前方部ほど送信情報系列に近いので、ターミネーション系列の前方部に比べ後方部は、送信符号語系列vk,iへ与える影響が小さい。したがって、ターミネーション系列パンクチャ部1020が、ターミネーション系列の後部ほどパンクチャするビットの割合を多くすることによって、パンクチャによる受信情報系列の誤り率特性の劣化を抑えつつ、ターミネーション系列送信量を削減することができる。
パンクチャ後の送信符号語系列は、インタリーブ部1030によってインタリーブされ、変調部1040によって、インタリーブ後の送信符号語系列、制御情報に対し変調が施される。変調後の変調シンボル系列は、無線部1060によって、無線変調処理が施され、送信RF信号は、送信アンテナ1070を介して送信される。
以上のように、本実施の形態では、送信装置1000は、LDPC−CC符号化後の系列に含まれるターミネーション系列をパンクチャするターミネーション系列パンクチャ部1020を備え、ターミネーション系列パンクチャ部1020は、ターミネーション系列の後部ほどパンクチャするビットの割合を多くするようにした。
ターミネーション系列の前方部のビットに対してはパンクチャの頻度が少ないパンクチャパターンを用い、ターミネーション系列の後方部のビットに対しては、パンクチャの頻度が多いパンクチャパターンを用いるようにすることで、復号時に送信符号語系列vk,iへの影響が比較的小さいビット、つまり、ターミネーション系列の後方部のビットが優先的にパンクチャされるようになるので、パンクチャによる受信情報系列の誤り率特性の劣化を抑えつつ、ターミネーション系列送信量の削減を行うことができる。
なお、ターミネーション系列パンクチャ部1020におけるパンクチャパターンは、図13に示すパターンに限られるものではなく、ターミネーション系列の前方部のビットに比べ、後方部のビットに対するパンクチャの頻度が多い他のパンクチャパターンを用いても、本発明の効果を享受できる。
(実施の形態5)
本実施の形態では、送信するターミネーション系列の数を少なくしたことによって発生する伝送誤りを、一部または全部のターミネーション系列を再送することによって補償する機能を備えた送信装置及び受信装置について説明する。
図14は、本実施の形態における送信装置の要部構成を示すブロック図である。本実施の形態の説明にあたり、図12と同一構成部分には同一符号を付して説明を省略する。図14の送信装置1100は、図12の送信装置1000に対し、バッファ1110,1120、受信アンテナ1130、応答信号検出部1140、再送制御部1150、及び送信系列選択部1160を追加した構成を採る。
バッファ1110は、ターミネーション系列パンクチャ部1020によってパンクチャされたパンクチャ後の送信符号語系列を蓄積する。一方、バッファ1120は、ターミネーション系列パンクチャ部1020でパンクチャしたパンクチャビット系列を蓄積する。
応答信号検出部1140は、受信アンテナ1130を介して受信した受信信号から、後述する通信相手の受信装置1200から通知される応答信号を検出し、検出した応答信号を再送制御部1150に送出する。
再送制御部1150は、応答信号に基づいて、再送制御情報を作成する。具体的には、再送制御部1150は、応答信号に基づいて、以下の4つのカテゴリの再送制御情報を作成する。
(0)再送制御情報「0」:再送無し
(1)再送制御情報「1」:全送信符号語系列再送
(2)再送制御情報「2」:パンクチャ後送信符号語系列再送
(3)再送制御情報「3」:パンクチャビット系列再送
なお、応答信号と再送制御情報との対応については、後述する。再送制御部1150は、再送制御情報を、送信系列選択部1160及び制御情報生成部1050に出力する。
送信系列選択部1160は、再送制御部1150から出力される再送制御情報に応じて、インタリーブ部1030に出力する送信符号語系列を選択する。具体的には、送信系列選択部1160は、再送制御情報「0」の場合、ターミネーション系列パンクチャ部1020から出力される新たな送信符号語系列をインタリーブ部1030に送出する。
また、送信系列選択部1160は、再送制御情報「1」の場合、バッファ1110及びバッファ1120に蓄積されている系列から、ターミネーション系列パンクチャ部1020においてパンクチャされる前の送信符号語系列を再生し、再生した送信符号語系列をインタリーブ部1030に送出する。
また、送信系列選択部1160は、再送制御情報「2」の場合、バッファ1110に蓄積されているパンクチャ後の送信符号語系列をインタリーブ部1030に送出する。
また、送信系列選択部1160は、再送制御情報「3」の場合、バッファ1120に蓄積されているパンクチャビット系列を送信符号語系列としてインタリーブ部1030に送出する。
図15は、本実施の形態における受信装置の要部構成を示すブロック図である。図15の受信装置1200は、受信アンテナ1201、無線部1202、直交復調部1203、チャネル変動推定部1204、制御情報検波部1205、対数尤度演算部1206、デインタリーブ部1207、ターミネーション系列デパンクチャ部1208、Sum-product復号部1209、バッファ1210、誤り検出部1211、応答信号生成部1212、及び送信アンテナ1213を備えて構成される。
受信アンテナ1201は、送信装置1100から送信される送信RF信号を受信し、無線部1202に送出する。
無線部1202は、RFフィルタ処理、周波数変換、A/D(Analog to Digital)変換などの無線復調処理を行い、無線復調処理後のベースバンド信号を直交復調部1203に送出する。
直交復調部1203は、Iチャネル,Qチャネルそれぞれのベースバンド信号を検出し、チャネル変動推定部1204、制御情報検波部1205、及び対数尤度演算部1206に送出する。
チャネル変動推定部1204は、ベースバンド信号に含まれる既知信号を用いて、送信装置1100と受信装置1200との間の無線伝搬路におけるチャネル変動を推定する。
制御情報検波部1205は、ベースバンド信号に含まれる制御情報を検出し、検出した制御情報を対数尤度演算部1206に送出する。また、制御情報検波部1205は、制御情報に含まれる再送制御情報を検出し、検出した再送制御情報をターミネーション系列デパンクチャ部1208及びバッファ1210に送出する。
対数尤度演算部1206は、ベースバンド信号を用いて、各符号語ビットの対数尤度比を求め、得られた対数尤度比をデインタリーブ部1207に送出する。
デインタリーブ部1207は、送信装置1000のインタリーブ部1030で行った並び替え処理の逆の処理を用いて、対数尤度比の系列の順序を元の並び順に並び替え、並び替え後の対数尤度比をターミネーション系列デパンクチャ部1208に送出する。
ターミネーション系列デパンクチャ部1208は、制御情報検波部1205から出力される再送制御情報に応じて、デインタリーブ部1207から出力される対数尤度比に対しデパンクチャを行う。デパンクチャ処理については、後述する。
Sum-product復号部1209は、ターミネーション系列デパンクチャ部1208から出力される対数尤度比系列を用いてSum-product復号を行い、Sum-product復号終了時の対数尤度比系列をバッファ1210に送出する。また、Sum-product復号部1209は、Sum-product復号終了時の対数尤度比系列を用いて硬判定により受信符号語系列を取得し、得られた受信符号語系列を誤り検出部1211に送出する。
誤り検出部1211は、Sum-product復号部1209から出力される受信符号語系列に対して、LDPC−CC検査行列を用いてパリティ検査を行い、誤りを検出する。なお、誤り検出部1211は、送信情報系列長nをメモリ長M毎に分割したグループ毎に誤り検出する。グループ毎の誤り検出処理については、後述する。
誤り検出部1211は、誤り検出の結果、誤りが検出されなかった場合、受信符号語系列の中の受信情報系列のみを受信系列として出力する。
応答信号生成部1212は、誤り検出部1211から出力される誤り検出情報に応じて応答信号を生成する。例えば、誤り検出情報が「誤りなし」を示す場合、応答信号生成部1212は、正しく受信できたことを送信装置1100に知らせるため、ACK信号を生成する。
一方、誤り検出情報が「誤り有り」を示す場合、応答信号生成部1212は、正しく受信していないことを送信装置1100に知らせるため、NACK信号を生成する。
なお、応答信号生成部1212は、グループ毎の誤り検出の結果から、受信符号語系列全体にわたって誤りが発生している場合や、受信符号語系列の前方や中央付近のグループにのみ誤りが発生している場合には、送信符号語系列全体の再送を要求するNACK:type−I、若しくは、ターミネーション系列パンクチャ後の送信符号語系列の再送を要求するNACK:type−IIを生成する。また、応答信号生成部1212は、受信符号語系列の後方のグループにのみ誤りが発生している場合には、ターミネーション系列パンクチャ部1020によりパンクチャされたビット系列のみの再送を要求するNACK:type−IIIを生成する。
送信アンテナ1213は、応答信号生成部1212から出力されるACK、又はNACK信号を送信装置1100に送信する。
以下、上述のように構成された送信装置1100及び受信装置1200の動作について、主に再送及び復号処理を中心に説明する。
送信装置1100から送信された送信RF信号は、受信装置1200の受信アンテナ1201を介して受信され、無線部1202によって、無線復調処理が施される。無線復調処理後の信号は、直交復調部1203でベースバンド信号に復調される。
制御情報検波部1205では、ベースバンド信号に含まれる制御情報が検出される。また、制御情報検波部1205では、制御情報に含まれる再送制御情報が検出される。
対数尤度演算部1206では、ベースバンド信号から、送信された各符号語ビットの対数尤度比が求められ、デインタリーブ部1207において、送信装置1100でのインタリーブ部1030で行った並び替え処理の逆の処理を用いて、対数尤度比の系列の順序が並び替えられる。
ターミネーション系列デパンクチャ部1208では、制御情報検波部1205から出力される再送制御情報の種類に応じて対数尤度比がデパンクチャされる。
(0)再送制御情報「0」の場合
ターミネーション系列デパンクチャ部1208は、ターミネーション系列パンクチャ部1020でパンクチャされたビットの位置に相当する位置にLLR=0を挿入して対数尤度比系列を生成(デパンクチャ)する。ターミネーション系列デパンクチャ部1208は、デパンクチャ後の対数尤度比系列をSum-product復号部1209に送出する。再送制御情報「0」の場合、後述の再送制御情報「1」〜「3」の場合と異なり、ターミネーション系列デパンクチャ部1208は、バッファ1210に蓄積されている対数尤度比系列を用いずに、対数尤度比系列をデパンクチャする。
(1)再送制御情報「1」の場合
バッファ1210は、蓄積している過去の対数尤度比系列をターミネーション系列デパンクチャ部1208に送出する。ターミネーション系列デパンクチャ部1208は、デインタリーブ部1207から出力される対数尤度比系列とバッファ1210から出力される対数尤度比系列とを合成した後、合成後の対数尤度比系列をSum-product復号部1209に送出する。
(2)再送制御情報「2」の場合
バッファ1210は、蓄積している過去の対数尤度比系列をターミネーション系列デパンクチャ部1208に送出する。ターミネーション系列デパンクチャ部1208は、デインタリーブ部1207から出力される対数尤度比系列を、再送制御情報「0」の場合と同様にデパンクチャし、デパンクチャ後の対数尤度比系列とバッファ1210から出力される対数尤度比系列とを合成した後、合成後の対数尤度比系列をSum-product復号部1209に送出する。
(3)再送制御情報が「3」の場合
バッファ1210は、蓄積している過去の対数尤度比系列をターミネーション系列デパンクチャ部1208に送出する。ターミネーション系列デパンクチャ部1208は、バッファ1210から出力される対数尤度比系列のうち、ターミネーション系列パンクチャ部1020でパンクチャされたビット位置に相当する位置のLLRを、デインタリーブ部1207から出力される対数尤度比系列に挿入して対数尤度比系列を生成(デパンクチャ)する。ターミネーション系列デパンクチャ部1208は、デパンクチャ後の対数尤度比系列をSum-product復号部1209に送出する。
Sum-product復号部1209は、ターミネーション系列デパンクチャ部1208から出力される対数尤度比系列を用いてSum-product復号を行う。Sum-product復号部1209は、Sum-product復号終了時の対数尤度比系列をバッファ1210に送出する。また、Sum-product復号部1209は、Sum-product復号終了時の対数尤度比系列を硬判定した受信符号語系列を誤り検出部1211に送出する。
誤り検出部1211は、Sum-product復号部1209から出力される、受信符号語系列に対して、LDPC−CC検査行列を用いてパリティ検査を行い、誤り検出する。なお、LDPC−CCパリティ検査は、受信符号語系列が式(6)を満たすかどうかで行う。
式(6)を用いてLDPC−CCパリティ検査を行うことで、誤り検出部1211は、送信情報系列長nをメモリ長M毎に分割したグループ毎に誤り検出することができる。したがって、グループ毎の誤り検出結果を比較することにより、受信符号語系列のうち、どの箇所に誤りが多いか検出することができる。
このように、LDPC−CCパリティ検査では、誤りが検出された位置がわかるので、誤りが検出された位置から、その誤りが、ターミネーション系列をパンクチャしたことによるものかどうかを識別することができる。したがって、誤りが、ターミネーション系列をパンクチャしたことによるものである場合には、後述する応答信号生成部1212において、パンクチャされたビットのみの再送要求を示す応答信号(NACK:Type−III)を生成することにより、再送による伝送効率の低下を抑えることができる。
誤り検出部1211は、グループ毎のパリティ検査結果を誤り検出情報として応答信号生成部1212に出力する。なお、誤り検出情報の例として、ベクトルE=[e1,e2,…,eJ-1,eJ]を使うことができる。ここで、Jは誤り検出を行ったグループ数であり、i番目のグループ(i=1,…,J)でパリティ検査を満たし誤りが検出されない場合、ei=0とし、誤りが検出された場合、eJ=1とする。
応答信号生成部1212は、誤り検出部1211から出力される誤り検出情報に応じて応答信号を生成する。具体的には、ベクトルEがオールゼロベクトルの場合、誤りが検出されなかったとして、応答信号生成部1212は、ACK信号を生成する。また、ベクトルEに1つ以上の1の値をとる要素が含まれる場合、誤りが検出されたとして、応答信号生成部1212は、NACK信号を生成する。
なお、応答信号生成部1212は、ベクトルEの要素が1となる位置より、受信符号語系列のどのあたりに誤りが発生しているかをグループ単位で推定することができる。受信符号語系列全体にわたって誤りが発生している場合や、受信符号語系列の前方や中央付近のグループにのみ誤りが発生している場合、応答信号生成部1212は、全送信符号語系列の再送を要求するNACK:type−I、若しくは、ターミネーション系列パンクチャ後の送信符号語系列の再送を要求するNACK:type−IIを生成する。また、応答信号生成部1212は、受信符号語系列の後方のグループにのみ誤りが発生している場合、ターミネーション系列パンクチャ部1020によりパンクチャされたビットのみの再送を要求するNACK:type−IIIを生成する。
応答信号生成部1212から出力されるACK、又はNACK信号は、送信アンテナ1213を介して送信装置1100に送信される。
送信装置1100のLDPC−CC符号化部1010では、送信情報系列ui(i=1,…,n)に対して、ターミネーションを含むLDPC−CC符号化処理が施され、送信符号語系列[vk,i xk,j]が取得される。ターミネーション系列パンクチャ部1020では、LDPC−CC符号化部1010から出力された送信符号語系列[vk,i xk,j]のうち、ターミネーション系列に相当するxk,jに対し、パンクチャ処理が施される。
パンクチャ後の送信符号語系列は、バッファ1110及び送信系列選択部1160に出力される。また、パンクチャされたパンクチャビット系列は、バッファ1120に出力される。
応答信号検出部1140では、受信アンテナ1130を介して受信された受信信号から、受信装置1200から送信される応答信号が検出され、再送制御部1150では、応答信号に応じて、再送制御情報が次のように生成される。
(1)応答信号がACKの場合、再送制御情報「0」が作成される。
(2)応答信号がNACK:type−Iの場合、再送制御情報「1」が作成される。
(3)応答信号がNACK:type−IIの場合、再送制御情報「2」が作成される。
(4)応答信号がNACK:type−IIIの場合、再送制御情報「3」が作成される。
送信系列選択部1160では、再送制御部1150から出力される再送制御情報に基づいて、送信符号語系列が選択される。
具体的には、再送制御情報「0」の場合、ターミネーション系列パンクチャ部1020から出力される新たな送信符号語系列が選択される。また、再送制御情報「1」の場合、ターミネーション系列をパンクチャする前の送信符号語系列が選択される。また、再送制御情報「2」の場合、バッファ1110に蓄積されているパンクチャ後の送信符号語系列が選択される。また、再送制御情報「3」の場合、バッファ1120に蓄積されているパンクチャビット系列が送信符号語系列として選択される。
このようにすることで、受信装置1200の誤り検出部1211で誤りが検出された場合において、誤りに影響を与える系列のみが再送されるようになるので、再送による伝送効率の低下を抑圧することができる。
選択された送信符号語系列は、インタリーブ部1030によってインタリーブされ、変調部1040によって、インタリーブ後の送信符号語系列、制御情報に対し変調が施される。なお、制御情報は、受信装置1200が、どのような信号が送信されたかを判別できるようにするため、再送制御情報を含んでいる。
以上のように、本実施の形態によれば、送信装置1100は、ターミネーション系列パンクチャ部1020がパンクチャしたターミネーション系列を蓄積するバッファ1120を備え、通信相手の受信装置1200から再送要求が通知された場合に、バッファ1120に蓄積されたターミネーション系列を送信するようにした。LDPC−CCパリティ検査では、誤りが検出された位置がわかるので、誤りが検出された位置から、その誤りが、ターミネーション系列をパンクチャしたことによるものかどうかを識別することができる。したがって、誤りがターミネーション系列をパンクチャしたことによるものである場合には、ターミネーション系列パンクチャ部1020がパンクチャしたビットのみを再送することにより、再送による伝送効率の低下を抑えることができる。
なお、本実施の形態では、図13で示されるパンクチャパターンを用いた送信装置を例に挙げて説明したが、これに限るものではなく、その他の任意のパンクチャパターンを用いた場合においても、本実施の形態で説明した効果を得ることができる。
また、ターミネーション系列パンクチャ部1020が、ターミネーション系列を全てパンクチャするパンクチャパターンを用い、送信装置1100は、初回送信時には、ターミネーション系列を全く送信しないようにしても良い。このようにすることで、ターミネーション系列を送信することによる伝送効率の低下を回避することができる。その場合に、受信装置1200からNACK:type−IIIが送信されてきたら、初回送信時に送信しなかったターミネーション系列を送信するようにすることで、本実施の形態で説明した効果を得ることができる。
また、本実施の形態では、再送制御情報「0」〜「3」、また、応答信号をACK、NACK:type−I〜type−IIIとした例を用いて説明したが、この限りではなく、ビット誤りが、ターミネーション系列をパンクチャしたことによって発生したものかどうかが判別でき、そのことを送信装置1100に通知できる応答信号を送出する他の方法を用いても、本発明の効果を得ることができる。
また、本実施の形態では、送信装置1100が、再送制御情報「1」又は「2」の場合、バッファ1110及びバッファ1120に蓄積されている送信符号語系列を再送する場合について説明したが、再送系列を再度LDPC−CC符号化部1010により符号化して送信するようにしても良い。図16にこの場合の送信装置の構成図を示す。なお、図16の送信装置の説明にあたり、図14と同一構成部分には同一符号を付して説明を省略する。
図16の送信装置1300は、図14の送信装置1100に対し、バッファ1310及びLDPC−CC符号化部1010に代え、バッファ1310及びLDPC−CC符号化部1320を追加した構成を採る。
バッファ1310は、送信情報系列を蓄積する。また、バッファ1310は、再送制御部1150から再送制御情報「0」が出力される場合、蓄積されている送信情報系列をクリアし、新規の送信情報系列を蓄積するとともに、新規の送信情報系列をLDPC−CC符号化部1320に送出する。また、バッファ1310は、再送制御情報「1」又は「2」の場合、蓄積されている送信情報系列をLDPC−CC符号化部1320に送出する。なお、再送制御情報が「3」の場合、バッファ1310は、蓄積している送信情報系列をそのまま蓄積する。
LDPC−CC符号化部1320は、送信情報系列に対し任意の符号化率でLDPC−CC符号化を行う。ここで、LDPC−CC符号化部1320は、初回の送信時と再送時とで異なる符号化率を用いてLDPC−CC符号化を行うようにしてもよい。これにより、受信装置1200から再送制御情報「1」又は「2」の再送要求があった場合、再送時に、同一の送信情報系列に対し、誤り訂正能力が高い異なる符号化率でLDPC−CC符号化を施すことができる。
なお、バッファ1310は、再送制御情報「0」の場合、蓄積する送信情報系列を新規な送信情報系列に更新する際、新規の送信情報系列の順序を並び替えて蓄積するようにしても良い。LDPC−CCでは、ターミネーション系列をパンクチャした場合に発生する誤りが、送信情報系列の後方のビットに集中する。したがって、バッファ1310が、送信情報系列の順序を並び替えて蓄積することにより、再送時に、初回送信時と異なる送信情報ビットが送信情報系列の後方に位置するようになるので、再送時においてビット誤りが発生する確率を減少させることができる。送信情報系列の順序を並び替える方法としては、例えば、送信情報系列の後から順に並び替えるなどの方法がある。このようにすることで、初回送信時に送信情報系列の後方でLDPC−CC符号化され送信されたビットが、再送時には前方でLDPC−CC符号化され送信されるようなるので、初回送信時に誤りの影響を受けやすい後方のビットが正しく受信される割合が高くなる。
(実施の形態6)
本実施の形態では、送信するターミネーション系列の数を少なくしたことによって受信情報系列の後部に発生する伝送誤りを、送信情報系列の後部のビットをあらかじめ別に符号化しておき、その符号化利得によって軽減する機能を備えた送信装置及び受信装置の構成について説明する。
図17は、本実施の形態における送信装置の要部構成を示すブロック図である。本実施の形態の説明にあたり、図12と同一構成部分には同一符号を付して説明を省略する。図17の送信装置1400は、図12の送信装置1000に対し、情報系列分割部1410、外符号化部1420、及び並び替え部1430をさらに追加した構成を採る。
情報系列分割部1410は、送信情報系列を前方と後方とに分割することにより2つの系列を取得する。例えば、情報系列分割部1410は、nビットの送信情報系列を、送信情報系列の前方からKビットと残りのn−Kビットとに分割する。情報系列分割部1410は、分割後のKビットの送信情報系列を並び替え部1430に出力するとともに、分割後のn−Kビットの送信情報系列を外符号化部1420に出力する。
外符号化部1420は、情報系列分割部1410で分割されたn−Kビットの送信情報系列に対し外符号化を施す。このようにすることで、送信情報系列の後方のn−Kビットに対して外符号化が施されるので、ターミネーション系列の数を少なくすることにより、受信情報系列の後部に発生する伝送誤りを、外符号化の符号化利得により軽減することができるようになる。
外符号化の符号化方式としては、ターミネーションの必要がないブロック符号が好ましく、例えば、情報系列長n−KビットのLDPC−BCを適用する。外符号化部1420は、外符号化後の送信情報系列を並び替え部1430に出力する。
並び替え部1430は、情報系列分割部1410からの送信情報系列と、外符号化部1420からの外符号化語の送信情報系列とを入力し、これら送信情報系列の順序を並び替える。並び替えの順序としては、外符号化部1420により生成されたパリティ系列を、外符号化部1420に入力した送信情報系列より前方に優先的に配置する。
上述したように、LDPC−CCでは、ターミネーション系列をパンクチャした場合に発生する誤りが、受信符号語系列の後方のビットに集中する。したがって、並び替え部1430が、外符号化部1420により生成したパリティ系列を、前方に優先的に配置するようにすることで、当該パリティ系列が誤る割合が軽減されるようになり、外符号化利得を向上させることができるようになる。
並び替え部1430は、インタリーブした送信情報系列をLDPC−CC符号化部1010に送出する。
図18は、本実施の形態における受信装置の要部構成を示すブロック図である。本実施の形態の説明にあたり、図15と同一構成部分には同一符号を付して説明を省略する。図18の受信装置1500は、図15の受信装置1200に対し、応答信号生成部1212及び送信アンテナ1213を削除し、並び替え部1501、受信情報系列分割部1502、及び外符号復号部1503をさらに追加した構成を採る。
並び替え部1501は、Sum-product復号部1209によって復号された受信情報系列を、送信装置1400における並び替え部1430と逆の規則で並び替え、並び替え後の受信情報系列を受信情報系列分割部1502に送出する。
受信情報系列分割部1502は、送信装置1400における情報系列分割部1410と同じ規則で、並び替え部1501から出力される受信情報系列を2つの受信情報系列に分割する。受信情報系列分割部1502は、分割後のKビットの情報系列を誤り検出部1211に送出し、分割後の残りの受信情報系列を外符号復号部1503に送出する。
外符号復号部1503は、分割後の受信情報系列に対し外符号の復号処理を行う。例えば、外符号化部1420において外符号として情報系列長n−KビットのLDPC−BCが適用された場合、Sum-product復号やビリーフ伝搬(Belief Propagation:BP)復号を用いてLDPC−BC復号を行う。外符号復号部1503は、復号後の受信情報系列を誤り検出部1211に送出する。
以上のように、本実施の形態では、情報系列分割部1410は、送信情報系列を前方と後方とに分割することにより2つの系列を取得し、外符号化部1420は、送信情報系列の後方のビットに対し、外符号化を施すようにした。これにより、LDPC−CC符号化部1010がターミネーション系列を削減したことにより受信情報系列の後部に誤りが発生した場合に、外符号によって当該誤りを訂正することができるので、受信品質の劣化を抑圧することができる。さらに、外符号化は、送信情報系列全体に行うのではなく、ターミネーション系列削減により誤りが発生しやすい送信情報系列の後部にのみ施すので、連接符号化による符号化率の低下を抑えることができる。さらに、外符号化を施した後に、並び替え部1430を設け、外符号化によって得られた外符号語系列の一部を送信情報系列の前方に優先的に配置することで、外符号化の符号化利得を向上することができる。
なお、以上の説明では、情報系列分割部1410が、送信情報系列を、送信情報系列の先頭から連続してKビット抽出する場合について説明したが、送信情報系列の任意の位置から連続してKビット抽出する、又は、ランダムにKビットを抽出し、残りのn−Kビットを外符号化部1420に出力するようにしても良い。このようにしても、送信情報系列のうち連続したn−Kビット、又は、ランダムなn−Kビットに対し外符号化が施されるので、バースト的に発生する誤りを訂正することができる。
また、以上の説明では、並び替え部1430は、外符号化部1420により生成されパリティ系列を、外符号化部1420に入力した送信情報系列より前に優先的に配置する場合について説明したが、これに限るものではない。例えば、並び替え部1430は、情報系列分割部1410から出力される外符号化されていない送信情報系列と、外符号化部1220により外符号化された送信情報系列とが混在するように並び替えるようにしても良い。このようにすることで、外符号化が施されたビットが、送信符号語系列の後部以外にも配置されるようになるので、外符号化利得をさらに向上させることができる。
なお、本実施の形態における受信装置の別の要部構成のブロック図を図19に示す。図19の受信装置1600は、図18の受信装置1500に対し、受信情報系列結合部1601をさらに備える構成を採る。
受信情報系列結合部1601は、受信情報系列分割部1502から出力される受信情報系列と、外符号復号部1503から出力される外符号化復号後の受信情報系列とを結合して、受信情報系列を取得し、得られた受信情報系列を誤り検出部1211及びSum-product復号部1209に出力する。
このようにすることで、Sum-product復号部1209は、外符号の復号結果を反映させた受信情報系列を用いながら、再度内符号であるLDPC−CCの復号を行うことができるので、内符号の復号と外符号の復号とを反復して実行することにより、復号利得が向上し、受信情報系列に含まれる誤りの数を減らすことができる。
さらに、誤り検出部1211の誤り検出結果を用いて、受信情報系列のうち、誤りが検出された部分にのみ誤り訂正復号を行う場合には、反復復号による演算回数を削減することができる。また、誤り検出部1211の誤り検出結果から、誤りなく受信できた情報系列が確定されるので、そのビットの受信尤度を+∞または−∞にすることで内符号及び外符号の復号利得を向上することができる。
(実施の形態7)
実施の形態4から実施の形態6では、ターミネーション系列に対しパンクチャを施す場合について説明した。本実施の形態では、LDPC−CC符号化により得られた送信符号語系列に適するパンクチャを施す送信装置及びパンクチャ方法について説明する。
図20は、本実施の形態において用いられるLDPC−CC検査行列の構成を示す図である。図20は、図43と異なり、HTでなく、検査行列Hの構成を示している。送信符号語ベクトルをvで表すと、Hv=0の関係式が成立する。
本実施の形態におけるパンクチャ方法の説明にあたり、先ず、一般的なパンクチャ方法を、上記送信符号語系列vに適用した場合の課題について説明する。一般的なパンクチャ方法については、例えば、非特許文献4に記載されている。なお、以下では、LDPC−CCが、符号化率R=1/2、(177,131)の畳み込み符号を用いて構成される場合を例に説明する。
図21は、一般的なパンクチャ方法を説明するための図である。同図において、v1,t,v2,t(t=1,2,…)は、送信符号語系列vを示す。一般的なパンクチャ方法では、送信符号語系列vは、複数のブロックに分けられ、各ブロックに対し同一のパンクチャパターンが用いられて、送信符号語ビットが間引かれる。
図21は、送信符号語系列vが、6ビットごとにブロックに分けられ、すべてのブロックに対し、同一のパンクチャパターンが用いられて、一定の割合で送信符号語ビットが間引かれる様子を示している。同図において、丸印で囲まれたビットがパンクチャされるビット(送信しないビット)を示し、すべてのブロック1〜ブロック5に対し、パンクチャ後の符号化率が3/4となるように、v2、1,v2,3,v2,4,v2,6,v2,7,v2,9,v2,10,v2,12,v2,13,v2,15を選択し、パンクチャする(送信しないビットとする)。
次に、LDPC−CCを用いた符号化により得られた送信符号語系列に、図21に示すような一般的なパンクチャを施した場合の受信側(復号側)の影響を考える。なお、以下では、受信側(復号側)においてBP復号を用いる場合について検討する。BP復号では、LDPC−CCの検査行列に基づいて復号処理を行う。図22に、送信符号語系列vとLDPC−CC検査行列Hとの対応を示す。図22において、丸印で囲まれたビットは、パンクチャにより間引かれる送信符号語ビットである。この結果、検査行列Hにおいて、四角枠で囲まれた1に対応するビットが、送信符号語系列に含まれなくなる。この結果、BP復号を行う際、四角枠で囲まれた1に対応するビットに対しては、初期の対数尤度比が存在しないので、対数尤度比が0に設定されることになる。
BP復号では行演算と列演算とを反復して行う。したがって、初期の対数尤度比が存在しない(対数尤度比が0の)ビット(図22において四角枠で囲まれた1に対応するビット)が、同一行に2つ以上含まれると、当該行では、列演算により初期の対数尤度比が存在しない(対数尤度比が0の)ビットの対数尤度比が更新されるまで、当該行の行演算単独では、対数尤度比が更新されないことになる。すなわち、行演算単独では信頼度が伝搬されず、信頼度を伝搬させるためには、行演算と列演算とを反復する必要がある。したがって、このような行が多数存在すると、BP復号において反復処理数に制限があるような場合には、信頼度が伝搬されず、受信品質の劣化を招く原因となる。図22に示す例では、行1710は、行演算単独では信頼度が伝搬されない行、つまり、受信品質の劣化を招く原因となる行となる。
これに対し、本実施の形態におけるパンクチャ方法を用いる場合、行演算単独で信頼度が伝搬されない行数を削減することができる。本実施の形態では、受信側(復号側)における、送信符号語ビットの処理単位ごとに、第1のパンクチャパターンと、第1のパンクチャパターンに比べより多くのビットを間引く第2のパンクチャパターンとを用いて、送信符号語ビットをパンクチャする。以下、図23及び図24を用いて説明する。
図23は、本実施の形態におけるパンクチャ方法を説明するための図である。図21と同様に、v1,t,v2,t(t=1,2,…)は、送信符号語系列vを示す。なお、以下では、図21と同様に、1ブロックが6ビットから構成される場合について説明する。また、受信側(復号側)における送信符号語ビットの処理単位が、ブロック1〜ブロック5であるとする。図23に示す例では、先頭のブロック1に対しては、パンクチャを行わない第1のパンクチャパターンが用いられ、ブロック2〜ブロック5に対しては、パンクチャを行う第2のパンクチャパターンが用いられ、この結果、v2,1,v2,3,v2,4,v2,6,v2,7,v2,9,v2,10,v2,12,v2,13,v2,15がパンクチャされる様子が示されている。このように、本実施の形態では、符号化率が異なるパンクチャパターンを用いて、送信符号語ビットの処理単位内で、間引かれるビット数が少ない範囲を設けるようにする。
図24に、この場合の送信符号語系列vとLDPC−CC検査行列Hとの対応を示す。図24では、同一行に四角枠で囲まれた1を2つ以上含む行が3行発生しているものの、図22の場合に比べ、その行数が削減されたことがわかる。これは、ブロック1に対してパンクチャを施さないようにしたことによる。
このように、パンクチャを行わないブロックを設けることにより、BP復号時の受信品質の劣化を招く原因となる行数を削減することができる。この結果、行1720までの行では、初期に対数尤度が存在し、BP復号において、信頼度が確実に更新され、更新後の信頼度が、行1720に伝搬していくので、受信品質の劣化を抑えることができるようになる。このように、畳み込み符号(LDPC−CC)の検査行列の構造の特徴から、反復復号を複数回行うことにより、行演算単独で得られる行の信頼度が、順次、伝播し、パンクチャによる受信品質の劣化を抑えることができる。また、行演算単独では信頼度が伝搬されない行数が削減されるので、信頼度を伝搬させるために必要な反復回数を低減することができるようになる。
ところで、図23に示す例では、パンクチャされないブロックが設けられることにより、送信される送信符号語ビットは増加し、伝送速度が低下する。しかし、第1のパンクチャパターンが用いられるビット数Nと、第2のパンクチャパターンが用いられるビット数Mとの間に、N<<Mの関係が成り立つようにすれば、伝送速度の低下を抑えつつ、受信品質を向上することができる。図23は、N=6,M=24の例であり、追加送信符号語ビット数は2ビットと少ないのにもかかわらず、行演算単独では対数尤度を伝搬されない行数を6行から3行に減らすことができる。
以下、本実施の形態における送信装置の構成について説明する。図25は、本実施の形態における送信装置の要部構成を示すブロック図である。本実施の形態の説明にあたり、図12と同一構成部分には同一符号を付して説明を省略する。図20の送信装置1800は、図12の送信装置1000に対し、ターミネーション系列パンクチャ部1020に代え、パンクチャ部1810を備えて構成される。なお、パンクチャ部1810は、第1パンクチャ部1811、第2パンクチャ部1812、及び、切り替え部1813を備えて構成される。
パンクチャ部1810は、送信情報系列及びターミネーション系列からなる送信符号語系列に対しパンクチャを行い、パンクチャ後の送信符号語系列をインタリーブ部1030に出力する。
具体的には、パンクチャ部1810は、第1のパンクチャパターンと、第1のパンクチャパターンより多くのビットを間引く第2のパンクチャパターンとを用いて、送信符号語系列をパンクチャする。第1のパンクチャパターンと第2のパンクチャパターンとは、パンクチャするビットの割合が異なる。パンクチャ部1810は、例えば、図26に示すようなパンクチャパターンを用いて、送信符号語系列をパンクチャする。図26において、(N+M)ビットは、受信側(復号側)における処理単位である。
第1パンクチャ部1811は、第1のパンクチャパターンを用いて、送信符号語系列に対しパンクチャを行う。第2パンクチャ部1812は、第2のパンクチャパターンを用いて、送信符号語系列に対しパンクチャを行う。
図26のパンクチャパターンを用いる場合、第1パンクチャ部1811は、受信側(復号側)の処理単位の先頭からNビットの送信符号語系列に対してはパンクチャを行わず、第1パンクチャ部1811に入力される送信符号語系列を切り替え部1813に出力する。第2パンクチャ部1812は、(N+1)〜(N+M)ビットの送信符号語系列に対してパンクチャを行い、パンクチャ後の送信符号語系列を切り替え部1813に出力する。
なお、第1パンクチャ部1811及び第2パンクチャ部1812は、制御情報生成部1050からの制御情報に基づいて、送信符号語系列にパンクチャを施すか否か決定するようにしてもよい。切り替え部1813は、制御情報生成部1050からの制御情報に応じて、第1パンクチャ部1811から出力される送信符号語系列、又は、第2パンクチャ部1812から出力される送信符号語系列の一方をインタリーブ部1030に出力する。
以下、上述のように構成された送信装置1800の動作について主にパンクチャ部1810のパンクチャ処理を中心に説明する。なお、以下では、LDPC−CC符号化部1010が、符号化率R=1/2、(177,131)の畳み込み符号を用いて、LDPC−CC符号化を施す場合を例に説明する。
LDPC−CC符号化部1010において、送信情報系列ut(t=1,…,n)に対し、LDPC−CC符号化処理が施され、v=(v1,t,v2,t)が取得される。組織化符号の場合、v1,tは送信情報系列utであり、v2,tはパリティを示す。パリティv2,tは、送信情報系列v1,t及び図24の各行の検査式に基づいて求められる。
パンクチャ部1810によって、符号化率R=1/2の送信符号語系列vに対し、パンクチャ処理が施される。例えば、パンクチャ部1810によって、図23に示すパンクチャが用いられる場合、ブロック1に対しては、パンクチャが施されず、ブロック2〜ブロック5に対しては、所定の間隔で規則的にビットが間引かれる。つまり、ブロック2に対しては、v2,4,v2,6のビットが間引かれ、ブロック3に対しては、v2,7,v2,9のビットが間引かれ、ブロック4に対しては、v2,10,v2,12が間引かれ、ブロック5に対しては、v2,13,v2,15が間引かれる。このようにして、ブロック2〜ブロック5に対して、符号化率R=3/4の送信符号語系列が取得される。
パンクチャ後の送信符号語系列は、インタリーブ部1030、変調部1040、無線部1060、及び、送信アンテナ1070を介して、受信側(復号側)に送信される。このとき、図23に示すパンクチャパターンが用いられる場合には、v2,4,v2,6,v2,7,v2,9,v2,10,v2,12,v2,13,v2,15は、送信されないことになる。
このように、図23に示すパンクチャパターンが用いられる場合には、所定の周期ごとに、パンクチャを行わないブロックが発生する。図23に示すように、ブロック1に対してはパンクチャを行わないようにすることにより、図21の一般的なパンクチャ方法を用いた場合には送信されなかったv2、1,v2,3が、送信されることになる。このようにすることで、BP復号を用いたとき行演算単独では信頼度が伝搬されない行は、図24の行1720に示される3行となる。図21と図23との比較から分かるように、送信ビットを2ビット追加することにより、行演算単独では信頼度が伝搬されない行数が6行から3行に削減される。この結果、対数尤度が初期に存在する行数が増加し、BP復号により、初期の信頼度が確実に更新されるようになり、さらに、この信頼度が、図24の行1720に伝搬するようになる。
以後、畳み込み符号(LDPC−CC)の検査行列の構造の特徴から、複数回反復復号を行うことで、検査行列の先頭に多く存在する信頼度が、順次、伝播するようになり、パンクチャによる受信品質の劣化を抑えることができる。
図23の例では、送信されることになった増加ビット数は2ビットと少ないので、伝送速度の低下は小さく、かつ、受信品質の劣化を抑えることができる。なお、このような効果が得られるのは、LDPC−CCが図31のように、検査行列において、1の存在する場所が平行四辺形の範囲に集中する型を採るという特徴によるものである。したがって、LDPC−BCの場合に適用しても、同様の効果を得ることができる可能性は低い。
このように、パンクチャしないブロックを設けることにより、BP復号時に悪影響を与える行数を削減することができる。このとき、伝送効率を考慮すると、パンクチャしないブロックを構成するビットMと、パンクチャの対象となるブロックを構成するビットNとの間に、N<<Mの関係が成りたつことが重要である。N<<Mとすることにより、伝送効率の劣化を抑えつつ、受信品質の劣化を抑圧することができる。
なお、第2のパンクチャパターンが適用されるブロック2〜ブロック5に対し、パンクチャ部1810は、ランダムにパンクチャするのでなく、所定の規則に従って、パンクチャするようにするとよい。ランダムにパンクチャする場合に比べ、所定の規則に従ってパンクチャする場合には、パンクチャ演算処理が簡易になる。
(他のパンクチャパターン)
パンクチャ部1810が用いるパンクチャパターンは図26に限られない。例えば、パンクチャ部1810が、図27に示すように、パンクチャ部1810は、第1のパンクチャパターンとして符号化率R1=2/3のパンクチャパターンを用い、第2のパンクチャパターンとして符号化率R2=5/6のパンクチャパターンを用いるようにしてもよい。
また、図28A,図28Bに示すように、n個のフレームを受信側(復号側)における処理単位として、パンクチャを施すようにしてもよい。図28Aに示すように、nフレーム(nは、1以上の整数)の先頭からNビットに対しては、パンクチャを行わない第1のパンクチャパターンを用い、(N+1)〜(N+M)ビットに対しては、パンクチャを行う第2のパンクチャパターンを用いるようにしてもよい。
また、図28Bに示すように、nフレームの先頭からNビットに対しては、符号化率R1=2/3の第1のパンクチャパターンを用い、(N+1)〜(N+M)ビットに対しては、符号化率R2=5/6の第2のパンクチャパターンを用いるようにしてもよい。
また、図29A,図29Bに示すように、受信側(復号側)における処理単位の後部ほどパンクチャにより間引かれるビットが少なくなるようなパターンを用いるようにしてもよい。受信側(復号側)における処理単位の後部ほどパンクチャにより間引かれるビット数が少なくなるようにすることにより、BP復号において、受信品質の向上が図れる。
なお、図26の場合と同様に、第1のパンクチャパターンが用いられるビット数Nと、第2のパンクチャパターンが用いられるビット数Mとの間に、N<<Mの関係が成り立つようにすれば、伝送速度の低下を抑えつつ、受信品質を向上することができる。
また、図30Aに示すように、受信側(復号側)における処理単位であるn個のフレーム(nは、1以上の整数)の先頭からN1ビットに対しては、パンクチャを行わない第1のパンクチャパターンを用い、(N1+1)〜(N1+M)ビットに対しては、パンクチャを行う第2のパンクチャパターンを用い、(N1+M+1)〜(N1+M+N2)ビットに対しては、パンクチャを行わない第1のパンクチャパターンを用いるようにしてもよい。
また、図30Bに示すように、受信側(復号側)における処理単位であるn個のフレーム(nは、1以上の整数)の先頭からN1ビットに対しては符号化率R1=2/3の第1のパンクチャパターンを用い、(N1+1)〜(N1+M)ビットに対しては、符号化率R2=5/6の第2のパンクチャパターンを用い、(N1+M+1)〜(N1+M+N2)ビットに対しては、符号化率R1=2/3の第1のパンクチャパターンを用いるようにしてもよい。
パンクチャにより間引かれるビット数が少ない第1のパンクチャパターンが、受信側(復号側)における処理単位に1箇所用いられる場合に比べ(図28及び図29参照)、2箇所用いられる場合には(図30参照)、信頼度が高い検査行が増えるため、BP復号の際の収束速度が速く、少ない反復回数で復号結果を得ることができる。
なお、上記処理単位にパンクチャにより間引かれるビット数が少ない第1のパンクチャパターンが用いられる箇所は、2箇所に限られず、3箇所以上でもよい。
また、上記処理単位にパンクチャにより間引かれるビット数が少ない第1のパンクチャパターンが用いられる箇所が2箇所以上のときも、第1のパンクチャパターンが用いられるビット数の総数Nと、第2のパンクチャパターンが用いられるビット数の総数Mとの間に、N<<Mの関係が成り立つようにすれば、伝送速度の低下を抑えつつ、受信品質を向上することができる。
なお、図28、図29、及び図30には、nフレームに対し、第1のパンクチャパターン及び第2のパンクチャパターンを用いる場合について説明したが、nは、1以上の整数であればよく、1フレームの場合にも適用できる。
以下では、復号処理タイミングとの関係を考慮して、LDPC−CC符号化により得られた送信符号語系列に対し適したパンクチャパターンについて検討する。
図31は、復号処理タイミングを説明するための図である。図31において、受信データ系列は、それぞれ、nフレーム(例えば、n個のOFDM(Orthogonal Frequency Division Multiplexing)シンボル:OFDMシンボルとは、OFDM方式が、32サブキャリアで構成されており、各サブキャリアごとに変調信号を構成する場合、全キャリア(32サブキャリア)で構成されるシンボルをいう。)から構成される。この受信データ系列長は、受信側(復号側)における処理単位であり、当該nフレーム(又は、n個のOFDMシンボル)が、1つのまとまりとして、上位層のレイヤに受け渡される。一般的に、上位層のレイヤが次のnフレームのデータを取り込むまでにタイムラグが生じるため、図31のt3,t6,t9のタイミング、つまり、nフレームの最後部を受信したタイミングを、BP復号を行う期間の最後とするのが現実的である。
LDPC−CCは、畳み込み符号の性質を有するため、t2のタイミングから、BP復号により推定されたデータが有効なデータ(正しい可能性が高いデータ)とするためには、t2のタイミングより前にBP復号を開始する必要がある。例えば、図31に示す例では、t2〜t5の間にBP復号により得られた推定データを有効なデータとするために、t1〜t6の間、BP復号を行う必要がある。同様に、t5〜t8の間に得られた推定データを有効なデータとするために、t4〜t9の間、BP復号を行う必要がある。
このような復号処理タイミングを考慮した場合、例えば、nフレームから成る受信データ系列の後部に、パンクチャにより間引かれるビット数が少なくなるようなパンクチャを施すようにする、と、BP復号処理期間において、前方と後方の双方に、信頼度が伝搬される行が含まれるようになるので、効率的に、信頼度を伝搬させることができるようになる。
以上のように、本実施の形態によれば、パンクチャ部1810は、送信符号語ビットの処理単位ごとに、第1のパンクチャパターンと、第1のパンクチャパターンに比べより多くのビットを間引く第2のパンクチャパターンとを用いて、送信符号語ビットをパンクチャするようにした。
送信符号語系列に対し、一定の割合でパンクチャを施すのでなく、パンクチャ後の符号化率が異なる第1及び第2のパンクチャパターンを用いることにより、BP復号による復号特性の劣化を抑えることができるようになる。
パンクチャを行う限り、受信品質の劣化の要因となる行が発生してしまうものの、本実施の形態におけるパンクチャ方法のように、伝送速度の低下を抑圧しつつ、受信品質の劣化を抑える方法は、パフォーマンスのよいシステムを構築する上で非常に重要となる。
なお、第1及び第2のパンクチャパターンは、各々、同一の複数のサブパターンから構成されるようにしてもよい。すなわち、図23に示すように、ブロック2〜ブロック5それぞれに対し、同一のサブパンクチャパターンを用いるようにして、規則的に送信符号語ビットを間引くようにしてもよい。これにより、パンクチャ演算処理をより簡易することができる。
また、符号化率が小さい第1のパンクチャパターンは、nフレームの最後部に必ずしも配置する必要はなく、図31から分かるように、t1〜t3,t4〜t6,t7〜t9の間に設けるようにすればよい。また、t1〜t3,t4〜t6,t7〜t9の期間は、BP復号処理期間と、有効データが得られる期間との関係によって特定されるため、BP復号処理期間が変わる場合には、第1のパンクチャパターンを配置するのに適する位置も変動する。
なお、以上の説明では、一例として、畳み込み符号に対しBP復号を行う場合のパンクチャ方法について説明したが、これに限ったものではなく、本発明のパンクチャ方法は、非特許文献1、非特許文献5〜非特許文献7で記述されているような、時不変LDPC−CC、時変LDPC−CCの場合に対しても、同様に実施することができる。
(実施の形態8)
本実施の形態では、送信情報系列の先頭部及び後部ほど、LDPC−CC符号化のメモリ長Mが小さくなるように設計した検査行列、及び当該検査行列に基づいたLDPC−CC符号化器の構成について説明する。このような構成にすることで、符号化の開始時及び終了時の符号化器の状態数を少なくすることができる。そのため、例えば、非特許文献8に記載のtail−bitingによるターミネーションを用いる場合に、符号化・復号時において考慮すべき状態数を減少させることができるため、符号化器・復号器の構成が簡易になる。
図32に、本実施の形態における検査行列の一例を示す。図32の検査行列1900は、符号化率R=b/c=1/2、送信情報系列長nの場合の例である。検査行列1900は、送信情報系列utのインデックスが1に近い部分及びnに近い部分において、符号化のメモリ長M1が、その他の部分のメモリ長M2に比べ小さい点が、図1の検査行列100と異なっている。
なお、検査行列1900は、M1=3,M2=5の例を示しているが、M1及びM2の値はこれに限るものではなく、M1<M2の関係を満たしていればよい。特に、M1<<M2である場合は、tail−bitingの状態数を少なくし、かつ、ターミネーションに関わる部分以外のビットにおけるLDPC−CCの拘束長を長くすることができるので、好ましい。また、メモリ長の数を3つ以上とし、送信情報系列utのインデックスが1に近い部分及びnに近い部分ほど、メモリ長が段階的に小さくなるようにしても良い。
図32に示すように、検査行列1900を用いる場合には、送信情報系列u1〜u5に対しては、メモリ長M1=3で符号化し、送信符号語系列v1、1〜v1、5、v2、1〜v2、5が取得される。送信情報系列u6〜un-5に対しては、メモリ長M2=5で符号化し、送信符号語系列v1、6〜v1、n-5、v2、6〜v2、n-5が取得される。また、送信情報系列un−4〜unに対しては、メモリ長M1=3で符号化し、送信符号語系列、v1、n−4〜v1、n、v2、n−4〜v2、nが取得される。
非特許文献8に記載されているように、符号化の初期状態及び終了状態の数は、符号化器のメモリ長の2乗となる。したがって、初期状態及び終了状態の符号化に関わる符号化器のメモリ長M1を小さくすれば、tail−bitingに関わる状態数を少なくすることができる。
このように、図32に示す検査行列1900を用いてLDPC−CC符号化を行うことにより、符号化器の初期状態及び終了状態の数を少なくすることができ、その結果、符号化・復号に関わる演算量及び処理遅延を少なくすることができる。
ところで、LDPC−CCでは、メモリ長Mが大きければ大きいほど、符号化ゲインが得られ、良好な誤り率特性が得られるという特徴がある。そのため、検査行列1900では、ターミネーションに関わる部分以外のメモリ長を大きくすることで、符号化ゲインを獲得することができる。
次に、図32の検査行列1900を用いてLDPC−CC符号化を行うLDPC−CC符号化器の構成を、図面を参照しながら説明する。
図33は、本実施の形態におけるLDPC−CC符号化器の要部構成を示すブロック図である。本実施の形態の説明にあたり、図4と同一構成部分には同一符号を付して説明を省略する。図33のLDPC−CC符号化器2000は、図4のLDPC−CC符号化器400に対し、パンクチャ部480を削除し、ウェイト制御部470に代え、ウェイト制御部2010を備えて構成される。
ウェイト制御部2010は、ビット数カウンタ460から出力されるカウントビット数と、メモリ長切り替えタイミング情報と、ウェイト制御部2010内に保持している検査行列1900に準じたウェイトパターンとに基づいて、メモリ長切り替えタイミングにおける行列要素h1 (m)(t)、h2 (m)(t)の値をウェイト乗算器420−0〜420−M、430−0〜430−Mに送出する。ここで、M>M1である。
ここで、メモリ長切り替えタイミング情報とは、検査行列1900のメモリ長Mを切り替える送信情報系列のインデックスを表す。例えば、図32に示される検査行列1900の場合、送信情報系列の先頭部及び後部に対してはM1=3を用いて符号化し、それ以外の部分に対してはM2=5を用いて符号化するので、メモリ長切り替えタイミング情報は2つの値を取る。つまり、メモリ長として、メモリ長M1=3、M2=5の2種類を用いる場合、メモリ長切り替えタイミング情報は、M1=3からM2=5に切り替えるタイミング情報のインデックスと、M2=5からM1=3に切り替えるタイミング情報のインデックスとを持っている。
図34に、メモリ長MがM1=3、M2=5の2種類を用いる場合のウェイト制御部2010の構成例を示す。図34のウェイト制御部2010は、セレクタ2011,2015、ウェイトパターン記憶部2012,2013を備える。以下では、メモリ長M1=3からM2=5に切り替えるタイミングを示すインデックスをメモリ長切り替えタイミング情報1とし、メモリ長M2=5からM1=3に切り替えるタイミングを示すインデックスをメモリ長切り替えタイミング情報2とする。
セレクタ2011は、カウントビット数及びメモリ長切り替えタイミング情報1,2を入力し、カウントビット数≦メモリ長切り替えタイミング情報1の場合、ビット数カウントをウェイトパターン記憶部2012に送出する。
一方、カウントビット数>メモリ長切り替えタイミング情報1、かつ、カウントビット数≦メモリ長切り替えタイミング情報2の場合、セレクタ2011は、カウントビット数をウェイトパターン記憶部2013に送出する。
また、セレクタ2011は、カウントビット数>メモリ長切り替えタイミング情報2の場合、カウントビット数をウェイトパターン記憶部2012に送出する。
ウェイトパターン記憶部2012は、ウェイトパターン2016で示されるウェイトパターンを保持しており、カウントビット数の増加に伴い周期的にha1,ha2,ha3,ha4をセレクタ2015に出力する。なお、ウェイトパターン2016は、メモリ長M1=3の場合のLDPC−CC検査行列の行列要素h1 (m)(t),h2 (m)(t)(m=0、…、3)である。メモリ長M1=3の場合、hb1,hb2,hb3のウェイトパターンの要素数は8であるが、LDPC−CC符号化器2000は、メモリ長M2=5に対応できるよう12個のウェイト乗算器420−0〜420−M(M=5),430−0〜430−M(M=5)を備える。そのため、ウェイトパターン2016では、h1 (4),h2 (4),h1 (5),h2 (5)のウェイト要素が、どのパターンにおいても0となっている。
ウェイトパターン記憶部2013は、ウェイトパターン2017で示されるウェイトパターンを保持しており、ビット数カウントの増加に伴い周期的にhb1,hb2,hb3をセレクタ2015に出力する。なお、ウェイトパターン2017は、メモリ長M2=5の場合のLDPC−CC検査行列の行列要素h1 (m)(t),h2 (m)(t)(m=0,…,5)である。
セレクタ2015は、ウェイトパターン記憶部2012から入力される行列要素ha1,ha2,ha3,ha4、及び、ウェイトパターン記憶部2013から入力される行列要素hb1,hb2,hb3をウェイト乗算器420−0〜420−M,430−0〜430−Mに出力する。
すなわち、セレクタ2015は、セレクタ2011と連動して、ビット数カウントとメモリ切り替えタイミング情報1,2との比較結果応じて、ビット数カウント≦メモリ長切り替えタイミング情報1の場合、ウェイトパターン記憶部2012に記憶されるメモリ長M1=3の検査行列に準じたウェイトパターン2016の行列要素を、ウェイト乗算器420−0〜420−M,430−0〜430−Mに出力する。
一方、ビット数カウント>メモリ長切り替えタイミング情報1、かつ、ビット数カウント≦メモリ長切り替えタイミング情報2の場合、セレクタ2015は、ウェイトパターン記憶部2013に記憶されるメモリ長M2=5の検査行列に準じたウェイトパターン2017の行列要素を、ウェイト乗算器420−0〜420−M,430−0〜430−Mに出力する。
また、ビット数カウント>メモリ長切り替えタイミング情報2の場合、セレクタ2015は、ウェイトパターン記憶部2012に記憶されるメモリ長M1=3の検査行列に準じたウェイトパターン2016の行列要素を、ウェイト乗算器420−0〜420−M,430−0〜430−Mに出力する。
以下、上述のように構成されたLDPC−CC符号化器2000の動作について説明する。
シフトレジスタ410−1〜410−Mの状態がS1にセットされ、シフトレジスタ440−1〜440−Mの状態がS2にセットされている。状態S1,S2は、送信系列によって決まる。送信情報系列u1〜unは、シフトレジスタ410−1、ウェイト乗算器420−0、及びビット数カウンタ460に順次出力される。
ビット数カウンタ460では、入力される送信情報系列u1〜un及びターミネーション系列x1、1〜x1、Lのビット数がカウントされ、得られたカウントビット数は、ウェイト制御部2010に出力される。
ウェイト制御部2010では、カウントビット数とメモリ長切り替えタイミング情報との比較結果に応じて、ウェイトパターン2016、ウェイトパターン2017のいずれか一つが選択されて、選択されたウェイトパラメーターの行列要素がウェイト乗算器420−0〜420−M,430−0〜430−Mに出力される。
具体的には、カウントビット数≦メモリ長切り替えタイミング情報1の場合、ウェイト乗算器420−0〜420−M,430−0〜430−Mには、メモリ長M1=3の検査行列に準じたウェイトパターン2016の行列要素が出力される。
カウントビット数>メモリ長切り替えタイミング情報1、かつ、カウントビット数≦メモリ長切り替えタイミング情報2の場合、ウェイト乗算器420−0〜420−M,430−0〜430−Mには、メモリ長M2=5の検査行列に準じたウェイトパターン2017の行列要素が出力される。
また、カウントビット数>メモリ長切り替えタイミング情報2の場合、ウェイト乗算器420−0〜420−M,430−0〜430−Mには、メモリ長M1=3の検査行列に準じたウェイトパターン2016の行列要素が出力される。
このようにすることで、送信情報系列の先頭部及び後部の符号化に関わるメモリ長を小さくすることができ、結果的に符号化器の初期状態及び終了状態の状態数を削減することができる。
以上のように、本実施の形態によれば、ウェイト制御部2010は、メモリ長が異なるLDPC−CC検査行列に準じたウェイトパターン2016,2017を記憶し、入力ビットが情報系列の場合に、情報系列の先頭部及び後部では、メモリ長が小さいウェイトパターンを用いるようにした。符号化器の初期状態及び終了状態の状態数は、メモリ長Mが小さければ小さいほど、少なくすることができるので、符号化・復号にかかる演算量及び処理遅延時間を小さくすることができる。
なお、本実施の形態では、送信情報系列の先頭部及び後部では、メモリ長M1=3を用いて符号化し、その他の部分では、メモリ長M2=5を用いて符号化する場合を例に説明したが、これに限るものではなく、送信情報系列の先頭部及び後部において用いるメモリ長M1を3未満の任意のメモリ長に設定したり、メモリ長M2からメモリ長M1への減少量を任意とする検査行列を用いても、本発明による、符号化器の初期状態・終了状態の数を少なくするという効果を得ることができる。
(実施の形態9)
本実施の形態では、複数の多項式から構成されるLDPC−CCの符号化において、複数の多項式のうち、メモリ長が最小となる多項式を用いて符号化処理を開始し、メモリ長が最小となる多項式を用いて符号化処理を終了するように設計したLDPC−CC符号化器の構成について説明する。このような構成にすることで、符号化の開始時及び終了時の符号化器の状態数を少なくすることができるので、符号化・復号にかかる演算量及び処理遅延時間を小さくすることができる。
図35に、本実施の形態における検査行列2100を示す。検査行列2100は、多項式の数が2、すなわち、時変周期2のLDPC−CCを定義する検査行列である。検査行列2100の各行は、検査多項式に対応し、各列は、符号語ビットに対応する。2つの多項式はそれぞれ、式(7−1)、式(7−2)で与えられる。
以下、式(7−1)で与えられる多項式を第1の多項式p1、式(7−2)で与えられる多項式を第2の多項式p2と呼ぶ。
第1の多項式p1のメモリ長は、Md1=16、Mp1=17である。ここで、添字のd、pは、情報ビット、パリティビットを示す。また、第2の多項式p2のメモリ長は、Md2=17、Mp2=19である。すなわち、第1の多項式p1と第2の多項式p2とでは、第1の多項式p1の方が、いずれのメモリ長も小さい。
実施の形態8で述べたように、メモリ長が小さいほど、符号化器の状態数が少なくなるので、状態数を少なくするためには、メモリ長が小さい多項式を使って符号化を開始し、メモリ長が小さい多項式を使って符号化を終了することが望ましい。
このとき、第1の多項式p1で符号化を開始することにより、符号化の開始時にメモリ長の小さい多項式を使って符号化することができる。一方、時変周期2であって、2つの多項式が交互に用いられる場合には、符号化する情報ビットの数によって、符号化の終了時の多項式が変わる。そのため、必ずしもメモリ長の小さい多項式を使って符号化処理を終了することができるとは限らない。
そこで、本実施の形態では、多項式調節部2210を設け、メモリ長の小さい多項式で符号化が必ず終了するようにした。
図36に、本実施の形態における送信装置の要部構成を示す。図36の送信装置2200は、図12の送信装置1000に、多項式調節部2210を更に追加した構成を採る。
多項式調節部2210は、送信情報ビット数Ndataと、LDPC−CCの多項式の数Npolyとを用いて、調節ビット数Nadjを求める。
図37に、多項式調節部2210の構成を示す。多項式調節部2210は、調節ビット数計算部2211、既知ビット生成部2212及び既知ビット追加部2213を備える。
ここで、LDPC−CC符号化部1010は、メモリ長が最小の多項式p1を用いてLDPC−CCの符号化を開始する。
したがって、符号化する情報ビットのインデックスをNi(=1,2,・・・,Ndata)とすると、Ni%Npoly=1を満たすインデックスを持つ情報ビットは、多項式p1が用いられて符号化される。ここで、「%」は、除算の余りを求める演算子を表す。
調節ビット数計算部2211は、送信情報ビット数Ndataと多項式の数Npolyとから、(Ndata+Nadj)%Npoly=1となる最小の調節ビット数Nadjを求め、求めた調節ビット数Nadjを既知ビット生成部2212に送出する。
既知ビット生成部2212は、調節ビット数Nadj個の既知ビットを生成する。既知ビットとしては、送信側と受信側とで既知のビット系列であれば任意のビット系列を使うことができる。例えば、既知ビット生成部2212は、Nadj個の既知ビットとして、オールゼロ系列などを使うことができる。既知ビット生成部2212は、生成した既知ビットを既知ビット追加部2213に送出する。
既知ビット追加部2213は、Nadj個の既知ビットを送信情報ビット系列の後部に追加し、LDPC−CC符号化部1010に送出する。
このように、本実施の形態では、多項式調節部2210が、既知の調節ビットを挿入することにより、メモリ長が最小の多項式p1を用いて確実に符号化の開始・終了することができる。
なお、調節ビット数計算部2211は、調節ビット数Nadjを制御情報生成部1050に送出する。このようにすることで、Nadjが、制御情報に含まれて送信されるので、Nadjを受信側に伝えることができる。なお、受信側に伝える情報は、Nadjでなくても、受信側でNadjを計算するために必要な情報だけでも良く、例えば、Ndata%Npoly、又は、送信情報ビット数及び多項式の数でもよい。
なお、本実施の形態では、多項式の数が2、すなわち、時変周期が2の場合について説明したが、これに限るものではなく、多項式の数が3以上の場合にも、同様に適用することが可能である。
また、本実施の形態では、メモリ長が最小となる多項式が1つだけの場合を例に挙げて説明したが、メモリ長が最小となる多項式が複数であっても良い。例えば、全多項式数が5で、各メモリ長Mp1〜Mp5が、Mp1=16、Mp2=18、Mp3=16、Mp4=20及びMp5=19の場合、Ni%Npoly=1の場合には、多項式p1が使われ、Ni%Npoly=3の場合には、多項式P3が使われることになるので、多項式調節部2210が、(Ndata+Nadj)%Npoly=1又は3となる最小のNadjを求めるようにしても良い。
また、本実施の形態における多項式調節部2210は、送信情報系列の後部に既知ビットを追加することで、符号化の開始時・終了時に用いられる多項式をメモリ長の小さい多項式とする場合について説明したが、多項式調節部2210の構成及び動作は、これに限るものではない。
図38に、多項式調節部2210の別の構成例を示す。図38の多項式調節部2210は、剰余計算部2214及び多項式指示信号生成部2215を備える。
剰余計算部2214は、送信情報ビット数Ndata及び多項式の数Npolyから、Nrem=(Ndata)%Npolyで与えられる剰余Nremを計算する。剰余計算部2214は、計算した剰余Nremを多項式指示信号生成部2215に送出する。
多項式指示信号生成部2215は、剰余Nremから多項式指示信号を生成する。多項式指示信号は、以下のように生成する。例えば、時変周期が2であり、Npoly=2の場合を考える。2つの多項式p1及び多項式p2が、式(7−1)、式(7−2)の場合、多項式p1の方がメモリ長が小さいので、LDPC−CC符号化器1010は、多項式p1を用いて符号化を開始する。
したがって、剰余Nrem=1の場合、Ndata番目の送信情報ビットは、多項式p1が用いられ符号化される。一方、剰余Nrem=0の場合、Ndata番目の送信情報ビットは、多項式p2が用いられ符号化される。
符号化開始時に加え、終了時においても、メモリ長の小さい多項式を用いて符号化すると、状態数を少なくすることができる。そのため、Nrem=1の場合、多項式指示信号生成部2215は、最終ビットを多項式p1を用いて符号化するという指示信号をLDPC−CC符号化器1010に出力する。
なお、LDPC−CC符号化器1010は、多項式p1を用いて符号化を開始し、以降、多項式を切り替えながら符号化を行うので、最終ビットにおいてNrem=1の場合、特に指示信号がなくても、最終ビットは、多項式p1が用いられて符号化される。そのため、多項式指示信号生成部2215が、指示信号を出力しないようにしてもよい。
一方、最終ビットにおいてNrem=0の場合、メモリ長の大きい多項式p2が用いられて符号化されることになる。そのため、これを避けるために、多項式指示信号生成部2215は、最終ビットを多項式p1を用いて符号化するという指示信号をLDPC−CC符号化器1010に出力する。この結果、LDPC−CC符号化に使用される多項式は、「p1,p2,p1,p2,・・・,p1,p2,p1,p1」の順序になる。
このようにすることで、多項式調節部2210は、LDPC−CC符号化器1010が、最終ビットの符号化に必ずメモリ長の短い多項式を用いるように指示することができるので、符号化の開始時及び終了時の状態数を少なくすることができ、符号化・復号に要する演算量及び処理遅延時間を小さくすることができる。
なお、以上の説明では、時変周期2、すなわち多項式の数が2の場合を例に挙げたが、これに限るものではなく、多項式の数が3以上の場合であっても本実施の形態を適用することができる。
また、以上の説明では、最小のメモリ長を与える多項式が1つの場合を例に挙げたが、これに限るものではなく、最小のメモリ長を与える多項式の数が2つ以上の場合であっても良い。この場合、多項式指示信号生成部2215は、最小のメモリ長の多項式のいずれかで符号化が終了するように多項式指示信号を生成し、LDPC−CC符号化器1010に送出する。
(実施の形態10)
本実施の形態では、実施の形態1等で説明した、複数のウェイトパターンを切り替えて符号化されたLDPC−CC符号語を復号する復号器について説明する。なお、以下では、図3に示す検査行列に準じた複数のウェイトパターンを切り替えて符号化されたLDPC−CC符号語を復号する場合を例に説明する。
図39に、本実施の形態における受信装置の要部構成を示す。なお、図39の受信装置2300において、図15の受信装置1200と同一の構成については、同一の符号を付してその説明を省略する。図39の受信装置2300は、受信アンテナ1201、無線部1202、直交復調部1203、チャネル変動推定部1204、制御情報検波部1205、対数尤度演算部1206、デインタリーブ部1207及びsum-product復号部2310を主に備える。
sum-product復号部2310は、デインタリーブ部1207から送出される受信対数尤度比と制御情報検波部1205から送出される送信情報系列長とを入力とし、sum-product復号を行い、復号結果を得る。
図40に、sum-product復号部2310の構成を示す。sum-product復号部2310は、記憶部2311、行処理演算部2312、列処理演算部2313及び切替部2314を備える。なお、記憶部2311、行処理演算部2312及び列処理演算部2313は、行列処理演算部2315を構成する。
記憶部2311は、受信対数尤度比、行処理によって得られる外部値αmn、及び、列処理によって得られる事前値βmnを保持する。
行処理演算部2312は、必要な事前値βmnを記憶部2311から読み込み、LDPC−CCの検査行列Hの行方向のウェイトパターンにしたがって行処理演算を行う。ウェイトパターンは、切り替えタイミング情報に基づいて切り替えられる。行処理演算部2312は、行処理演算において、事前値βmnを用いて単一パリティ検査符号の復号を行い、外部値αmnを求める。
第m番目の行の処理を説明する。
H
mn=1を満たす全ての組(m、n)に対して、次の更新式(8)を利用して外部値α
mnを更新する。
ここで、Φ(x)は、Gallagerのf関数と呼ばれ、次式で定義される。
列処理演算部2313は、必要な外部値αmnを記憶部2311から読み込み、LDPC−CCの検査行列Hの列方向のウェイトパターンにしたがって列演算処理を行う。ウェイトパターンは、切り替えタイミング情報に基づいて切り替えられる。
列処理演算部2313は、列処理演算において、入力対数尤度比λnと外部値αmnとを用いて繰り返し符号の復号を行い、事前値βmnを求める。
第m番目の列の処理を説明する。
H
mn=1を満たす全ての組(m、n)に対して、次の更新式(10)を利用してβ
mnを更新する。ただし、q=1の場合のみ、α
mn=0として計算する。
切替部2314は、ウェイトパターン切り替えタイミングに基づいて、行処理演算部2312及び列処理演算部2313のウェイトパターンを切り替える。なお、ウェイトパターン切り替えタイミングは、外部より入力される構成としても良いし、切替部2314の内部で生成する構成としても良い。図40は、切替部2314が、受信対数尤度比及び送信情報系列長nを入力し、受信対数尤度比をカウントし、当該カウント値と送信情報系列長nを用いて、ウェイトパターン切り替えタイミングを計算する構成を示している。
図41に、行処理演算部2312の構成を示す。行処理演算部2312は、セレクタ2312−1,2312−2、第1演算部2312−3、及び第2演算部2312−4を備える。
セレクタ2312−1,2312−2は、切り替えタイミング情報に基づいて、事前値の送信先及び外部値の受信先を切り替える。
第1演算部2312−3は、ウェイトパターン475に基づいた行処理演算を行う。ウェイトパターン475は、符号化側のウェイト制御部470のウェイトパターン記憶部472が備えるパターンである。また、第2演算部2312−4は、ウェイトパターン476に基づいた行処理演算を行う。ウェイトパターン476は、符号化側のウェイト制御部470のウェイトパターン記憶部473が備えるパターンである。
図42に、列処理演算部2313の構成を示す。列処理演算部2313は、セレクタ2313−1,2313−2、第1演算部2313−3及び第2演算部2313−4を備える。セレクタ2313−1,2313−2は、切り替えタイミング情報に基づいて、事前値の送信先及び外部値の受信先を切り替える。
第1演算部2313−3は、ウェイトパターン2313−5に基づいた列処理演算を行う。また、第2演算部2313−4は、ウェイトパターン2313−6に基づいた列処理演算を行う。ウェイトパターン2313−5及びウェイトパターン2313−6は、符号化側のウェイト制御部470が保持する図3の検査行列に準じたウェイトパターンである。
切替部2314は、受信対数尤度比のカウント値Cが、C<2nでは、ウェイトパターン475を用いることを指示する切り替えタイミング情報を生成し、2n+1≦C<2(n+5)では、ウェイトパターン476を用いることを指示するウェイト切り替えタイミング情報を生成し、2n+11≦C以上では、ウェイトパターン475を用いることを指示するウェイト切り替えタイミング情報を生成する。
また、切替部2314は、受信対数尤度比のカウント値CがC<2(n−5)では、ウェイトパターン2313−5を用いることを指示する切り替えタイミング情報を生成し、2(n−5)≦C<2nでは、ウェイトパターン2313−6を用いることを指示する切り替えタイミング情報を生成し、2n≦Cでは、ウェイトパターン2313−5を用いることを指示する切り替えタイミング情報を生成する。
このようにして生成した切り替えタイミング情報を、切替部2314は、行処理演算部2312及び列処理演算部2313に出力する。これにより、行処理演算部2312及び列処理演算部2313は、符号化側において用いられたLDPC−CC検査行列に準じて復号処理を施すことができるようになる。
sum-product復号部2310は、行処理及び列処理を所定の回数だけ繰り返した後、事後対数尤度比を得る。
以上のように、本実施の形態における受信装置は、sum-product復号部2310を備え、sum-product復号部2310は、切り替えタイミング情報により、行処理演算、列処理演算に使用するウェイトパターンを切り替える構成とした。このようにすることで、実施の形態1で説明した、ウェイトパターンを切り替えて符号化した符号語のsum-product復号を実現することができる。
なお、本実施の形態では、図3で示した検査行列で定義されるLDPC−CCについて説明を行ったが、これに限るものではなく、例えば他のメモリ長、ウェイトパターンのLDPC−CCであってもよい。
また、本実施の形態では、実施の形態1における符号化器に対応した受信装置及び復号器について説明したが、これに限るものではなく、例えば実施の形態2における符号化器に対しても、切り替えタイミング情報及びウェイトパターンをそれに応じたものに変更することにより、実施の形態2で説明した符号化器に対応する受信装置及び復号器を構成することができる。
本発明は上記すべての実施の形態に限定されず、種々変更して実施することが可能である。例えば、上記実施の形態では、主に、符号化器及び送信装置で実現する場合について説明しているが、これに限られるものではなく、電灯線通信装置で実現する場合においても適用可能である。
また、この符号化方法及び送信方法をソフトウェアとして行うことも可能である。例えば、上記符号化方法及び通信方法を実行するプログラムを予めROM(Read Only Memory)に格納しておき、そのプログラムをCPU(Central Processor Unit)によって動作させるようにしても良い。
また、上記符号化方法及び送信方法を実行するプログラムをコンピュータで読み取り可能な記憶媒体に格納し、記憶媒体に格納されたプログラムをコンピュータのRAM(Random Access Memory)に記録して、コンピュータをそのプログラムにしたがって動作させるようにしても良い。
また、本発明は、無線通信に限らず、電灯線通信(PLC:Power Line Communication)、可視光通信、光通信においても有用であることは言うまでもない。
本発明のLDPC−CC符号化器の一つの態様は、複数のシフトレジスタと、前記シフトレジスタの出力にウェイトを乗算する複数のウェイト乗算部と、前記複数のウェイト乗算部の出力をmod2加算するmod2加算器と、符号化する入力ビットのビット数をカウントするビット数カウンタと、前記ビット数に応じて前記複数のウェイト乗算部のウェイトを制御するウェイト制御部と、を具備する構成を採る。
この構成によれば、LDPC−CC検査行列を用いたLDPC−CC符号化を行うことができる。
本発明のLDPC−CC符号化器の一つの態様は、前記ウェイト制御部は、LDPC−CC検査行列に準じた第1のウェイトパターンと、前記LDPC−CC検査行列を変形した検査行列に準じた第2のウェイトパターンと、を記憶し、前記入力ビットが情報系列の場合に、前記第1のウェイトパターンを用い、前記入力ビットがターミネーション系列の場合に、前記第2のウェイトパターンを用いる構成を採る。
この構成によれば、入力ビットが情報系列とターミネーション系列との場合で、シフトレジスタのウェイト値を切り替えることができるので、入力ビットがターミネーション系列の場合に、送信符号語系列の値に関わらず、送信符号語系列と乗算されるウェイト値を0にして、終端処理を完了することができ、送信するターミネーション系列を削減することができる。
本発明のLDPC−CC符号化器の一つの態様は、前記第2のウェイトパターンは、前記LDPC−CC検査行列の各行の一番右の1を0に変えた検査行列に準じたウェイトパターンである構成を採る。
この構成によれば、入力ビットがターミネーション系列の場合に、送信符号語系列の値に関わらず、送信符号語系列と乗算されるウェイト値を0にすることができ、送信するターミネーション系列を削減することができる。
本発明のLDPC−CC符号化器の一つの態様は、前記第2のウェイトパターンは、前記LDPC−CC検査行列の各行の一番右の1を、ターミネーション系列のパリティ検査に用いられない列に左シフトして得られる検査行列に準じたウェイトパターンである構成を採る。
この構成によれば、ターミネーション系列復号時に、行方向の1の数(行重み)が変わらないので、Sum-product復号における繰り返し符号の復号処理による符号化ゲインを維持することができる。
本発明のLDPC−CC符号化器の一つの態様は、前記第2のウェイトパターンは、前記LDPC−CC検査行列の各行の一番右の1を、行ごとに同じ数だけ左にシフトして得られる検査行列に準じたウェイトパターンである構成を採る。
この構成によれば、記憶するウェイトパターンの種類が少なくなる。
本発明のLDPC−CC符号化器の一つの態様は、前記第2のウェイトパターンは、前記LDPC−CC検査行列のうち、検査ビットに対応する行の1を0に変えて得られる検査行列に準じたウェイトパターンである構成を採る。
この構成によれば、送信符号語系列の値に関わらず、送信符号語系列と乗算されるウェイト値を0にすることができ、送信するターミネーション系列を大幅に削減することができる。
本発明のLDPC−CC符号化器の一つの態様は、前記入力ビットがターミネーション系列の場合に、前記ターミネーション系列のシステマティックビットをパンクチャするパンクチャ部、をさらに具備する構成を採る。
この構成によれば、ターミネーション系列を、例えば、受信側とで既知であるゼロ系列とした場合に、当該ゼロ系列をパンクチャすることで、伝送効率の低下を抑圧することができる。
本発明のLDPC−CC符号化器の一つの態様は、前記ウェイト制御部は、メモリ長が異なるLDPC−CC検査行列に準じたウェイトパターンを複数記憶し、前記入力ビットが情報系列の場合に、前記情報系列の後部ほど、メモリ長が小さい前記ウェイトパターンを用いる構成を採る。
この構成によれば、情報系列の終部ほど、メモリ長を小さくして、ターミネーション系列長をより短くすることができ、伝送効率の劣化を抑えることができる。
本発明のLDPC−CC符号化器の一つの態様は、前記ウェイト制御部は、符号化率が異なるLDPC−CC検査行列に準じたウェイトパターンを複数記憶し、前記入力ビットが情報系列の場合に、前記情報系列の終端ほど、符号化率が低い前記ウェイトパターンを用いる構成を採る。
この構成によれば、情報系列の終部ほど、符号化率を低くすることができるので、ターミネーション系列を削除した場合においても、終端処理における誤り耐性を強化することができる。
本発明の送信装置の一つの態様は、入力ビットに対しLDPC−CC符号化を施すLDPC−CC符号化手段と、LDPC−CC符号化後の系列に含まれるターミネーション系列をパンクチャするターミネーション系列パンクチャ手段と、を具備する構成を採る。
この構成によれば、ターミネーション系列送信量を削減することができ、伝送効率の低下を抑圧することができる。
本発明の送信装置の一つの態様は、前記ターミネーション系列パンクチャ手段は、前記ターミネーション系列の後部ほど、パンクチャするビットの割合を多くする構成を採る。
この構成によれば、LDPC−CC符号化の終端処理において、送信符号語系列への影響度が少ないターミネーション系列の後部を優先的にパンクチャすることができるので、受信情報系列の誤り率特性の劣化を抑えつつ、ターミネーション系列送信量を削減することができる。
本発明の送信装置の一つの態様は、前記ターミネーション系列パンクチャ手段は、前記ターミネーション系列を全てパンクチャする構成を採る。
この構成によれば、送信側と受信側との間でターミネーション系列を既知とした場合に、ターミネーション系列送信量を大幅に削減することができる。
本発明の送信装置の一つの態様は、前記ターミネーション系列パンクチャ手段がパンクチャしたターミネーション系列を蓄積する第1のバッファ、をさらに具備し、通信相手から再送要求が通知された場合に、前記第1のバッファに蓄積されたターミネーション系列を送信する構成を採る。
この構成によれば、LDPC−CCパリティ検査により、誤りが検出された位置がターミネーション系列の位置であると識別された場合に、パンクチャしたターミネーション系列のみを再送することができるので、再送による伝送効率の低下を抑えることができる。
本発明の送信装置の一つの態様は、前記LDPC−CC符号化手段の前段に前記入力ビットを蓄積する第2のバッファ、をさらに具備する構成を採る。
この構成によれば、再送要求時に、同一の送信情報系列に対し、例えば誤り訂正能力が高い異なる符号化率でLDPC−CC符号化を施し送信することができ、通信相手の受信装置で正しく受信される割合を高くすることができる。
本発明の送信装置の一つの態様は、前記第2のバッファは、前記入力ビットの順序を後ろから順に並び替える構成を採る。
この構成によれば、入力ビットの順序を並び替える蓄積するようにすることで、再送時に、初回送信時とは異なる系列順序で送信されるようになるので、初回送信時に誤りの影響を受けたビットが再度誤る割合を減らすことができる。
本発明の送信装置の一つの態様は、前記第2のバッファは、前記入力ビットの順序を後ろから順に並び替える構成を採る。
この構成によれば、初回送信時に誤りの影響を受けやすい後方部のビットが、再送時には前方部でLDPC−CC符号化されるようになるので、再送時に、同一のビットが誤る確率を減少させることができる。
本発明の送信装置の一つの態様は、情報系列を2つに分割することにより第1及び第2の情報系列を取得する情報系列分割手段と、前記第2の情報系列を符号化する外符号化手段と、前記第1の情報系列と、外符号化後の前記第2の情報系列の順序を並び替える並び替え手段と、をさらに具備し、前記LDPC−CC符号化手段は、前記並び替え手段からの出力ビットに対しLDPC−CC符号化を施す構成を採る。
この構成によれば、情報系列を前方と後方とに分割することにより2つの系列を取得した場合に、終端処理において誤りの影響を受けやすい後方の情報系列に外符号化を施すことができるので、受信情報系列の後部に誤りが発生した場合において、当該誤りを訂正することができ、受信品質の劣化を抑圧することができる。
本発明の送信装置の一つの態様は、前記外符号化手段は、低密度パリティ検査ブロック符号(LDPC−BC)化を行う構成を採る。
この構成によれば、外符号化に用いる回路規模を小さくしつつ、高い誤り訂正能力を得ることができる。
本発明の送信装置の一つの態様は、前記並び替え手段は、前記第1の情報系列および符号化後の前記第2の情報系列を、前記外符号化手段によって得られるパリティ系列を優先的に前方に配置するように並び替える構成を採る。
この構成によれば、外符号化によって得られた外符号語系列の一部を送信情報系列の前方に優先的に配置することができるので、外符号化の符号化利得を向上することができる。
本発明の送信装置の一つの態様は、入力ビットに対しLDPC−CC符号化を施し送信符号語ビットを生成するLDPC−CC符号化手段と、受信側における、前記送信符号語ビットの処理単位ごとに、第1のパンクチャパターンと、前記第1のパンクチャパターンに比べより多くのビットを間引く第2のパンクチャパターンとを用いて、前記送信符号語ビットをパンクチャするパンクチャ手段と、を具備する構成を採る。
本発明の送信装置の一つの態様は、前記パンクチャ手段は、前記送信符号語ビットの処理単位の先頭に、前記第1のパンクチャパターンを用いる構成を採る。
これらの構成によれば、受信側(復号側)においてBP復号時に用いる検査行列において、悪影響を与える行数を削減することができるので、受信品質の劣化を抑圧することができる。
本発明の送信装置の一つの態様は、前記パンクチャ手段は、前記送信符号語ビットの処理単位の後部に、前記第1のパンクチャパターンを用いる構成を採る。
この構成によれば、BP復号処理期間の前方と後方の双方に、信頼度が伝搬される検査行列の行が含まれるようになるので、効率的に、信頼度を伝搬させることができるようになる。
本発明の送信装置の一つの態様は、前記パンクチャ手段は、受信側におけるBP(Belief Propagation)復号処理単位時間と、前記送信符号語ビットの処理単位とのタイミングに基づいて、前記第1のパンクチャパターンが用いられる前記送信符号語ビットが、前記BP復号処理単位時間内に、複数含まれるように、前記送信符号語ビットの処理単位に、前記第1のパンクチャパターンと前記第2のパンクチャパターンとを割り当てる構成を採る。
この構成によれば、BP復号処理期間に、信頼度が伝搬される検査行列の行により復号することができる範囲が多くなるので、効率的に、信頼度を伝搬させることができるようになる。
本発明のLDPC−CC符号化器の一つの態様は、前記ウェイト制御部は、メモリ長が異なるLDPC−CC検査行列に準じたウェイトパターンを複数記憶し、前記入力ビットの先頭部および前記入力ビットの後部の符号化ほど、メモリ長が小さい前記ウェイトパターンを用いる構成を採る。
本発明のLDPC−CC符号化器の一つの態様は、前記ウェイト制御部は、複数の多項式に準じたウェイトパターンを複数記憶し、前記入力ビットの第1ビット目の符号化に、前記複数の多項式のうちメモリ長が最小の多項式に準じた前記ウェイトパターンを用い、前記入力ビットの最終ビットの符号化に、前記複数の多項式のうちメモリ長が最小の多項式に準じた前記ウェイトパターンを用いる構成を採る。
本発明のLDPC−CC符号化器の一つの態様は、前記入力ビットの数及び前記多項式の数に応じた数の既知ビットを、前記入力ビットの後部に付加する調節ビット付加部、をさらに具備する構成を採る。
本発明のLDPC−CC符号化器の一つの態様は、前記ウェイト制御部は、前記入力ビットの最終ビットの符号化に、前記複数の多項式のうちメモリ長が最小のLDPC−CC検査行列に準じたウェイトパターンを用いる構成を採る。
これらの構成によれば、LDPC−CCの符号化の開始時及び終了時の状態数を少なくすることができ、符号化・復号に要する演算量及び処理遅延時間を小さくすることができる。
本発明のLDPC−CC復号器の一つの態様は、低密度パリティ検査畳み込み符号(LDPC−CC:Low-Density Parity-Check Convolutional Codes)を復号するLDPC−CC復号器であって、LDPC−CC検査行列に準じた複数のウェイトパターンを備える行列演算器と、ウェイトパターン切り替えタイミングに基づいて前記複数のウェイトパターンを切り替える切替部と、を具備する構成を採る。
この構成によれば、LDPC−CC検査行列を用いた符号化されたLDPC−CC符号語を当該LDPC−CC検査行列に準じて復号することができる。
本発明のLDPC−CC復号器の一つの態様は、前記切替部は、受信対数尤度比の数をカウントし、当該カウント値と送信情報系列長とを用いて、前記ウェイトパターン切り替えタイミングを算出するウェイト切り替えタイミング計算部、を具備する構成を採る。
この構成によれば、LDPC−CC検査行列のウェイトパターンが切り替わるような場合においても、当該LDPC−CC検査行列に準じてLDPC−CC符号語を復号することができる。