(57)【特許請求の範囲】
【請求項１】
レートコンパチブルの関係にある２つの符号化率の異なるLDPC組織符号をC0，C1とし、該符号C0，C1の情報ビットサイズをそれぞれK、パリティビットサイズをそれぞれM0，M1 （M0＜M1，M1−M0=L）とする場合において、符号C0の検査行列H0より符号C1の検査行列H1を生成するLDPC検査行列生成方法において、
検査行列H0よりL個の行を選択し、該選択した行の情報ビット部とパリティビット部をそれぞれ２つに分離し、その際、分離により得られた新たな第１、第２の2つの行のそれぞれの情報ビット部及びパリティビット部が１以上の「０と異なる要素」を含むようにし、
検査行列H0における前記選択されたL個の各行に代えて、前記分離操作により得られた新たな第１、第２の２つの行を配置して前記符号C1の検査行列H1を生成する場合、
前記分離操作により得られた新たな第１行、第２行の情報ビット部及びパリティビット部において、要素の存在しない位置に０を配置し、かつ、
０を挿入された前記新たな第１、第２行のそれぞれにおいて、パリティビット部で０となる列位置を求め、該列位置の次に新たな１列を追加し、該追加した列の前記第１、第２の行位置に１を配置し、
同様にパリティビット部においてL列を配置して符号C0の検査行列H1を生成する、
ことを特徴とするLDPC検査行列生成方法。
【請求項２】
レートコンパチブルの関係にある２つの符号化率の異なるLDPC組織符号をC0，C1とし、該符号C0，C1の情報ビットサイズをそれぞれK、パリティビットサイズをそれぞれM0，M1 (M0＜M1)とする場合において、符号C0の検査行列H0より符号C1の検査行列H1を生成するLDPC検査行列生成方法において、
前記符号C0がIRA符号であり、符号C0の前記検査行列H0の情報ビット部における各行がa個の「０と異なる要素」を有し、M1をM0で除算した時の商及び余りをそれぞれm，ｒとするとき、
(1)前記検査行列H0の情報ビット部よりr行を選び、各行に含まれるa個の「０と異なる要素」を(m+1)個のグループに分け、それぞれのグループに含まれる要素を検査行列H1の連続する(m＋1)個の行要素とし、かつ、
(2)前記情報ビット部の前記r行以外の(M0−r)行については、各行に含まれるa個の「０と異なる要素」をm個のグループに分け、それぞれのグループに含まれる要素を検査行列H1の連続するｍ個の行要素とし、
(1)、(2)の処理により検査行列H1の情報ビット部を生成し、検査行列H1のパリティビット部については、M1行M1列の正方行列の最後の列を除いて、列のウェイト数が2となるように階段型行列を生成し、該行列を前記検査行列H1におけるパリティビット部とする、
ことを特徴とするLDPC検査行列生成方法。
【請求項３】
レートコンパチブルの関係にある２つの符号化率の異なるLDPC組織符号をC0，C1とし、該符号C0，C1の情報ビットサイズをそれぞれK、パリティビットサイズをそれぞれM0，M1 (M0＜M1)とする場合において、符号C1の検査行列H1より符号C0の検査行列H0を生成するLDPC検査行列生成方法において、
前記符号C0、C1がIRA符号であり、符号C1の前記検査行列H1の情報ビット部における各行がa個の「０と異なる要素」を有し、M1をM0で除算した時の商及び余りをそれぞれm，ｒとするとき、
(1)前記検査行列H1の情報ビット部よりr行を選び、選択した１つの行を含めて連続する(m＋1)行をベクトル加算して検査行列H0の情報ビット部における1つの行とし、同様にして該検査行列H0の情報ビット部のr行を生成し、
(2)前記検査行列H1の情報ビット部における残りの行をｍ行づつの(M0−r)個のグループに分け、グループ毎に該グループを構成する行をベクトル加算して前記検査行列H0の情報ビット部の（M0−r）行を生成し、
(1)、(2)の処理により検査行列H0の情報ビット部を生成し、検査行列H0のパリティビット部については、M0行M0列の正方行列の最後の列を除いて、列のウェイト数が２となるように階段型行列を生成し、該行列を前記検査行列H0におけるパリティビット部とする、
ことを特徴とするLDPC検査行列生成方法。
【請求項４】
送信側より送信された符号を受信側で受信し、該受信符号から情報を正しく復号できなければ送信側に再送を要求すると共に、前記受信符号を保存し、送信側より再送された再送符号を前記保存してある符号と合成して復号するLDPC符号再送方法において、
C0，C1，C2，….をレートコンパチブルな符号とし、H0，H1，H2，….を前記方法で作成した検査行列とするとき、送信側は符号C0を送信し、
受信側が符号C0の正常受信を失敗すれば、送信側は符号C1のうち符号C0に含まれないビットの全てと、該ビット数と送信可能ビット数の差に応じたサイズの符号C0の一部を組み合わせて再送し、
以後、受信側が符号Ciの正常受信を失敗すれば、送信側は符号Ci+1のうち符号Ciに含まれないビットの全てと、該ビット数と送信可能ビット数の差に応じたサイズの符号Ciの一部を組み合わせて再送し、
受信側において、前記生成した検査行列H0，H1，H2，….を順次用いて復号する、
ことを特徴とする請求項１，２，３記載の符号再送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、LDPC検査行列生成方法及び検査行列生成器並びに符号再送方法に係わり、特に、レートコンパチブルの関係にある２つの符号化率の異なるLDPC組織符号をC0，C1とし、該符号C0，C1の情報ビットサイズをそれぞれK、パリティビットサイズをそれぞれM0，M1 （M0＜M1）とする場合において、一方の符号C0またはC1の検査行列H0またはH1より他方の符号C1またはC0の検査行列H1またはH0を生成するLDPC検査行列生成方法及び検査行列生成器並びに符号再送方法に関する。
【背景技術】
【０００２】
・組識符号およびブロック符号
一般に、ｑ個の異なる値を有する情報アルファベット（典型例はq=2のビット）を用いる符号化は、図１３に示すようＫ個の情報アルファベットよりなるブロックI1にＫより大きいＮ個の符号アルファベット(符号ビット)のブロックI2を１対１に対応させることにより行なう。以降では、アルファベットに代えてビットという言葉を用いる。
このとき、ブロックI2のN個の符号のうちＫ個をブロックI1の情報ビットにより構成されるような符号を組識符号という。残りのM=N−K個のビットはパリティビットと呼ばれ、通常は情報ビットに対して加算等の規定の処理を行って得られる。
すなわち、Nビットで構成される符号の構成ビットのうち、Ｋビットが情報ビットで残りのＭ（＝Ｎ−Ｋ）ビットが誤り検出や訂正のためのパリティビットである符号をブロック符号といい、符号の始めのＫビットが情報ビットで、その後に(Ｎ−Ｋ)ビットのパリティビットが配列されているブロック符号を組識符号という。【０００３】
送信側において、K個の情報ビットｕ=（ｕ0，ｕ1，．．．，ｕK-1）にK×Nの生成行列
Ｇ＝（ｇij）；ｉ＝０，．．．，K−1； ｊ＝０，．．．，Ｎ−１
を用いて、次式
ｘ＝ｕＧ      (a)
によりＮ個の符号ビットｘ=（ｘ0，ｘ1，．．．，ｘN-1）を生成すれば、この符号ビットがブロック符号になり、情報ビットｕはブロック符号化される。一例としてｘを組識符号とすれば、生成行列Ｇは数式的に図１４に示すように表現できる
受信側では受信データである符号ベクトルｘから情報ビットｕを推定する。このためには、ｘに対しての以下のパリティチェック関係式
ｘＨT＝０      (b)
を満たすように情報ビットｕを推定する。ここで、
Ｈ＝（ｈij）；ｉ＝０，．．．，M−1； ｊ＝０，．．．，N−1
はパリティ検査行列で、ＨTはＨの転置（行と列の入れ替え）を意味する。(a)，(b)式からＨとＧは以下の関係を満たす。
ＧＨT＝０      (c)
これから、ＨとＧのいずれか一方が与えられると符号化規則が一意に決まる。一例としてｘを組識符号とし、生成行列Ｇを図１４に示す行列とすれば、パリティ検査行列Ｈは図１５に示すように表現できる。【０００４】
図１６は送信機においてブロック符号化し、受信機において復号する通信システムの構成図であり、送信機１はKビットよりなる情報ｕを符号化してNビットのブロック符号ｘを生成する符号部１ａと該ブロック符号を変調して送信する変調部１ｂを備えている。受信機２は伝送路３を介して受信した信号を復調する復調部２ａとＮビットの受信情報より元の送信されたＫビットの情報uを復号する復号部２ｂを備えている。
符号部１aはＭ（＝Ｎ−Ｋ）個のパリティビットｐを生成するパリティ生成器１ｃとＫ
ビットの情報ｕとＭビットのパリティビットｐを合成してＮ（＝Ｋ＋Ｍ）個のブロック符号ｘを出力するＰ／Ｓ変換部１ｄを備えている。符号部１ａは数学的には(a)式に従ってブロック符号ｘを出力する。復号部２ａは受信尤度データｙに誤り検出訂正処理を施して元の送信されたＫビットの情報を復号して推定情報を出力する復号器２ｃを備えている。送信機１より送信されたブロック符号ｘは伝送路３の影響を受けて送信されたままの状態で復号器２ｃに入力せず、尤度データとして復号器２ｃに入力する。尤度データは符号ビットが０か１かの信頼度と符号（＋１であれば０、−１であれば１）から成る。復号器２ｃは各符号ビットに対する尤度データを基に(b)式のパリティチェック関係式を用いて規定の復号処理を行い、情報ビットｕの推定を行う。【０００５】
・LDPC符号
LDPC符号（Low-Density Parity-Check符号）は、ブロック符号において０と異なる要素の数（ｑ＝２の場合には１の数）が全要素数に対して少ない割合の検査行列Ｈによって定義される符号の総称である。
特に、検査行列Ｈの行と列のそれぞれにおける０と異なる要素の数（１の数）が一定の場合には「レギュラーLDPC符号」と呼ばれ、符号長Ｎと、列と行のそれぞれの要素数であるウェイト数（ｗc，ｗr）とで特徴付けられる。一方、検査行列Ｈの各列、各行で異なるウェイト数を許すタイプは、「イレギュラーLDPC符号」と呼び、符号長Ｎと、列と行のウェイト数分布（（λj，ρk）；ｊ＝１，．．，ｊmax；ｋ＝１，．．．，ｋmax）とにより特徴付けられる。ここで、λjはウェイト数ｊの列に属する０と異なる要素数（１の数）の全体に対する割合を示している。図１７はウェイト数分布の説明図であり、M×Nの検査行列Ｈにおいて、１の数がｊ個の列数をNjとし、検査行列Ｈにおける１の総数をＥとすれば、ウェイト数分布λjは
λj＝ｊ×Nj／Ｅ
であり、１の数がｊ個の列数の全列に対する割合ｆjは
ｆj＝Nj／Ｎ
である。たとえば、ｊ＝３，Nj＝４とすれば、λ3＝12／Ｅであり、ｆj＝４／Ｎ
である。ρkはウェイト数ｋの行に属する０と異なる要素数（１の数）の全体に対する割合を示しており、λjと同様に定義できる。なお、レギュラーLDPC符号はイレギュラーLDPC符号の特別な場合とみなすこともできる。
LDPC符号はレギュラー、イレギュラーいずれにしても符号長Ｎとウェイト数分布が決まっただけでは具体的な検査行列は一意に決まらない。換言すれば、規定のウェイト分布を満たすような具体的な「１」の配置方法（「０」と異なる要素の配置方法）は多数存在し、それぞれが別の符号を定義することになる。そして、符号の誤り率特性は、ウェイト数分布と、該ウェイト数分布を満たす検査行列における具体的な「１」の配置の仕方に依存する。符号器および復号器の回路規模、処理時間、処理量等は基本的にウェイト数の分布のみにより影響される。
一般的なLDPC符号は、復号処理で用いる検査行列により定義され、その符号化処理には検査行列Hから生成行列Gを求めるか、三角化した検査行列を用いて逐次的にパリティビットを求める方法をとり、何れにしてもの処理時間が必要になる。【０００６】
・IRA符号
図１８はイレギュラーLDPC符号の一種であるIRA(Irregular Repeat Accumulate)符号を生成する符号器の構成例である。ビット繰り返し部５aは情報ビットuのそれぞれのビットu0〜uK-1について、指定の回数だけ繰り返し、個のビット列を生成して出力する。それぞれのビットの繰り返し回数は一般に異なっていてよく、回数の分布関数はで与えられる。
インタリーバー５ｂは個のビット列の順序をインタリーブ処理により入れ替え、第１演算部５ｃはインタリーブ処理により得られたビット列を先頭から個毎に加算し、個毎の加算結果を第２演算部５ｄに入力する。すなわち、インタリーブ出力を
e01，e02，e03，……e0a
e11，e12，e13，……e1a
e21，e22，e23，……e2a
………………
eM-1,1，eM-1,2，……eM-1,a
とし、個ごとの加算結果のビットベクトルをとすれば、第１演算部５ｃは次式
x0＝e01＋e02＋e03＋……＋e0a
x1＝e11＋e12＋e13＋……＋e1a
x2= e21＋e22＋e23＋……＋e2a
………………
xM-1= eM-1,1＋eM-1,2＋……＋eM-1,a
の演算を行なって加算結果を出力する。第１演算部５ｃにおいて、ADDは加算器、DLは遅延部で加算結果を加算器に入力すると共に、a回加算毎に第２演算部５ｄに出力する。【０００７】
第２演算部５dは、第１演算部から出力する前回の加算結果と今回の加算結果を加算して、それぞれのタイミングでの加算結果を個の符号ビット列として出力する。第２演算部５dにおいて、ADDは加算器、DL2は１クロック時間遅延部である。第２演算部５dから出力する符号ビットベクトルをp=(p0，p1，p2，….pM-1)とすれば以下の関係式
【数１】
0004601675.tif 000002
が成立する。IRA符号c0〜cN-1は、上記個の符号ビットp0〜pM-1をM個のパリティビットとみなし、情報ビットu0〜uK-1に該パリティビットp0〜pM-1をシリアルに並べた符号ビットであり, イレギュラーLDPC符号の一種で、次式
【数２】
0004601675.tif 000003
で表現される。IRA符号c0〜cN-1の検査行列H(図１９参照)は、符号化処理時間が符号長に比例する線形時間で完了するように、工夫された符号であると解釈することができる(非特許文献１参照)。
すなわち、上記 (１)式は、各変数の値がビットであることを考慮すると、すなわち、同一ビットの足し算は０となることを考慮すると、次式、
【数３】
0004601675.tif 000004
に変形できる。各xiは入力情報ビットuiのa個の加算結果であることから、これを代入すると、(3)式はIRA符号c=c0〜cN-1に対するパリティチェック関係式であると解釈できる。
図１９は(3)式のパリティチェック関係式より得られるIRA符号の検査行列Hであり、N=K+Mとすれば該検査行列HはK×Nの行列で、K×Kの情報ビット部H1とM×Mのパリティビット部H2とで構成される。情報ビット部H1の各行に含まれる１の数(ウェイト数）は第１演算部5cにおける加算回数aであり、１の分布はビット繰り返し部５aにおける各ビットの繰り返し回数に依存する。すなわち、第１列の１の数はビット繰り返し部５aにおける情報ビ
ットu0の繰り返し数、第２列の１の数はビット繰り返し部５aにおける情報ビットu1の繰り返し数、….、第K列の１の数はビット繰り返し部５aにおける情報ビットuK-1の繰り返し数であり、分布はインタリーブにより決められる。【０００８】
IRA符号の検査行列Hが与えられると、符号ビットをcとすれば、パリティチェック関係式は次式
cH=0
となる。上式に(2)式を代入すれば、パリティビットp0をまず求めることができ、次に、該パリティビットp0を用いてp1(＝p0＋x1)を求めることができ、以下同様にパリティビットpiを用いてpi+1(＝pi＋x1+1)を求めることができ、最終的にpM-1を求めることができる。以上により求めたパリティビットp0〜pM-1を情報ビットu0〜uK-1にシリアルに結合すれば(2)式に示すIRA符号を生成することができる。換言すれば、IRA符号の検査行列Hが与えられれば、パリティビットp0〜pM-1を求めることが出来、LDPC符号であるIRA符号を生成することができる。したがって、IRA符号の検査行列Hが与えられれば生成行列Gを求める必要はない。【０００９】
・加算回数aおよび、繰り返し回数の分布関数fi：
加算回数aおよび、繰り返し回数の分布関数fiは、特性と回路規模を指標として決定される。ここで、分布関数fiはLDPC符号の項で説明した1の数がi個の列数の全列に対する割合Ni/Nである。
符号長が大きいときの符号特性を最適化する方法として密度発展（Density Evolution：DE）法が知られている（非特許文献1）。このDE法によれば  符号化率が大きいほどの値は大きいほうがよいことが示されている。特に、パリティビット数が半分になれば、すなわち、符号化率が大きくなれば、の値はちょうど2倍とすると特性の良い符号となり、逆に、パリティビット数が倍になれば、すなわち、符号化率が小さくなれば、の値を半分にすると特性の良い符号となる。【００１０】
・IRA符号の一般化（巡回行列型のIRA符号）
図２０に示すようにパリティ検査行列をz×zの巡回行列P(j)により構成する。情報ビット部H1のＰはすべて、同じサイズ(z×z)の異なる巡回行列で右シフト数をjとして、jを省略して記述している。たとえばz=5のとき右シフト数0の巡回行列P(0)は単位行列となり、右シフト数１の巡回行列P(1)は
【数４】
0004601675.tif 000005
となる。空白は、z×zの０行列を意味し、パリティビット部H2のIはz×zの単位行列を意味している。検査行列Hの行と列に含まれる巡回行列の数は、一般には一定である必要はなくIRA符号と同様に密度発展法やシミュレーションにより最適な数を選ぶ。
パリティビット部H2については、最初の列の上と下に同じシフト数の巡回行列P'を配置すると共に適所に単位行列Iを配置し、ついで、残りの全列に階段型にサイズzの第１の単位行列Iを配置し、しかる後、各列において２つの単位行列Iが並ぶように第２の単位行列Iを配置する。
パリティ検査行列Hをz×zの巡回行列P(j)により構成する第１の利点は、パリティ検査
行列Hが大きくなっても簡単に表現できることである。M×Nのパリティ検査行列HのMは実際の適用例において1,000程度の大きさになるが、z=100の巡回行列を使用すれば10行で表現可能になる。第２の利点は、検査行列Hの各行のウェイト数をWとすれば各行にW個の巡回行列を同じ並びにならないように配置すれば、パリティ検査行列Hを構成できることである。
以上ではウェイト数１の巡回行列としたが、さらに、一般化してウェイト数が２以上の巡回行列でもよい。【００１１】
・レートコンパチブル（Rate-Compatible）符号
図２１に示すように一般にある符号C1に対して、より大きな符号化率の符号C0の符号語がC1の符号語の一部になっているときレートコンパチブルな関係にある符号(レートコンパチブル符号)と言われる。例としては、ある符号C1とそのパンクチャド符号C0や、ある符号C0とそのレペティションによる符号C1がレートコンパチブルな関係にある。なお、符号C0,C1のビットサイズはそれぞれK、パリティビットサイズはそれぞれM0,M1（M0<M1）である。【００１２】
・Rate-Compatible LDCP符号
従来技術としてRate-Compatible LDPC符号が提案されている(非特許文献２参照)。図２２はRate-Compatible LDPC符号の検査行列説明図である。
図２２(A)に示すようにまず基準となる符号C0の検査行列H0を前述のDE法により最適化したパラメータで作成する。ついで、図２２(B)に示すように、符号C1の検査行列H1を、符号C0の検査行列H0が該検査行列H1の一部に含まれるような形で拡張する。この場合、IRA符号であれば、検査行列H1の情報ビット部分のウェイト分布は、符号C1に対してDE法で求められる最適分布に極力近い分布になるように１のウェイト数を決定しなければならない。
IRA符号の項で説明したように、パリティを増やして符号化率を小さくするとIRA符号の検査行列におけるウェイト数aを小さい値にしなければならない。このため、拡張部分のウェイト数を小さな値にし、パリティビット部分はIRA符号にしたがってウェイト数2の階段行列にすることが行なわれている。【００１３】
・パンクチャリング
情報長Ｋ、符号長Ｎ1の符号C1が与えられているとすると、符号C1の符号化率はR1=K/N1である。この符号C1を用いてR1よりも符号化率が大きな符号を構成したい場合があり、パンクチャリングが行われる。すなわち、図２３に示すように送信機はＮ1個の符号ビットのうちにN0個のビットを取り除いて符号長をN（=N1−N0）として送信する。受信機は、取り除かれたビット位置が既知であるから、各ビットが等確率となるようにデータを補完して復号処理を行って符号C1を推定する。このパンクチャリングにおいて符号化率はR=K/N（＞R1）となる。パンクチャリングはLDPC符号に適用することができる。【００１４】
・レペティション
情報長Ｋ、符号長N1の符号C1が与えられているとき、この符号C1を用いて符号化率がR1（＝K/N1）よりも小さい符号を構成したい場合があり、レペティションが行われる。かかるレペティションにおいて、図２４に示すように送信機はN1個の符号のうち幾つかのビット(パリティに限らない)を1回以上繰り返して全部でN0個追加し、N（=N1+N0）個の符号にして送信する。受信機は繰り返しアルファベットのデータについて、それぞれダイバーシチ合成し(最も簡単には加算するだけ)、符号C1についての復号を行う。レペティションはLDPC符号に適用することができる。【００１５】
・ダミービット挿入
K個の情報ビットにM個のパリティビットを追加してN=K+Mビットの符号化率R（＝K/N）
の組織符号に対して、符号化率R'<Rの符号を生成する方法の一つにダミービット挿入法がある。
このダミービット挿入法は図２５に示すように、送信機において、K個の情報ビットIBにK0個の既知パターンのダミービットDBを追加してK1=K+K0個の情報ビットとし、該K1個の情報ビットを用いてM個のパリティビットPBを生成してN1=K1+Mビットの組織符号C1とする。送信に際して送信機は、K１個の情報ビットからK0個のダミービットを取り除いたK個の情報ビットに、前記生成したM個のパリティビットPBを追加したものを符号として送信する。受信機は受信信号に既知ダミービットDBを追加して復号する。【００１６】
・H-ARQ
H-ARQはHybrid-ARQ（Auto Repeat reQuest）の略である。情報ビットの伝送効率を向上する２つの基本技術である誤り訂正符号(FEC)と自動再送要求制御（ARQ）を組み合わせた方式である。図２６（A）は、H-ARQ方式を採用する伝送システムの送信機の構成図、図２６（B）は受信機の構成図である。
図２６（A）の送信機において、符号部６aは送信データを所定の符号化率で符号化する。パンクチャード符号化部６ｂは、パンクチャード符号パターンを用いて要求されている符号化率を達成し、データ変調部６cはデータ変調を行って送信する。一般的にデータ変調方式として、QPSK、 16QAM、 64QAMなどがある。図２６（B）の受信機の信号復調部は、再送合成をパンクチャード復号後に行う構成になっており、データ復調部７aは変調方式に応じたデータ復調を行い、パンクチャード復号部７ｃは、パンクチャード符号パターンを用いて符号化率に応じたパンクチャード復号を行い、再送合成部７bは受信データが再送データであれば、以前受信して保存してあるデータと該受信データを合成する。これにより、より高い受信品質を得ることができる。復号部７dは合成されたデータに誤り訂正復号処理を施す。H-ARQ再送制御は、以下の手順に従う。
(1)送信機で情報ビットを符号化
(2)符号ビットを送信する。
(3)受信機は、誤り訂正を行う。正しく復号できれば終了。
(4)復号に失敗した場合、受信データを保存して、送信機に再送を要求する。
(5)送信機は、(2)で送信した符号ビットを再度送信する。
(6)受信機では、保存データと再送データを合成して、その結果のデータについて復号処理を実行する。
(7)以下規定の最大再送回数まで以上の手続きを繰り返す。
以上のH-ARQ再送制御において、初回および再送信時に常に符号ビットのすべてを送信する方式をType-I H-ARQまた Chase Combining(CC)、初回および再送時に一部のビットのみを送る方法を、Type-II またはIncremental Redundancy(IR)と呼ぶ。【００１７】
・課題
レートコンパチブルの関係にある２つの符号化率R0，R1（R0＞R1）のLDPC組織符号をC0，C1とし、基準の符号C0の検査行列H0より符号C1の検査行列H1を生成する場合、従来は、検査行列H1の情報ビット部における拡張部分のウェイト数を小さな値になるように検査行列H1を生成している(図２２参照)。しかし、かかる従来の検査行列生成方法では、基準の符号C0と拡張後の符号C1のそれぞれを同時に最適なウェイト分布にすることは困難であった。なお、拡散率R0が符号C1の拡散率R1より小さい場合も同様である。
又、従来の検査行列生成方法では検査行列を拡張するために複雑な処理を必要とすると共に、検査行列を保持する大サイズのメモリが必要となる問題があった。
また、IR方式による再送制御ではパンクチュアリングが行われるが、従来の検査行列生成方法ではパンクチャリングを適用して得られる符号が特性的に最適な符号とはならない問題があった。
以上から本発明の目的は、レートコンパチブルの関係にある２つの符号化率R0，R1のLDPC組織符号をC0，C1とし、基準符号C0の検査行列H0より符号C1の検査行列H1を生成する場
合、該基準符号C0と拡張後の符号C1のそれぞれを同時に最適なウェイト分布にすることが出来るLDPC検査行列生成方法及び装置を提供することである。
本発明の別の目的は、基準符号C0の検査行列H0より符号C1の検査行列H1を簡単な処理で、かつ、大サイズのメモリを必要せず生成することができるLDPC検査行列生成方法及び装置を提供することである。
本発明の別の目的は、IR方式による再送制御において、パンクチャリングを適用して得られる符号を特性的に最適にできる再送制御方法を提供することである。
【非特許文献１】H.Jin, A. Khandekar, and R. McEliece, "Irregular Repeat-Accumulate Codes," Proceedings of 2nd Int. Sym. on Turbo Codes and Related Topics, Brest, France, pp.1-8, Sep. 2000.
【非特許文献２】J. Li and K. R. Narayanan, "Rate-Compatible Low Density Parity Check Codes for Capacity-Approaching ARQ Schemes in Packet Data Communications," Proceeding of International Conference on on Communications, Internet and Information Technology (CIIT), US Virgin Islands, pp. 201-206, Nov. 2002.
【発明の開示】
【００１８】
・LDPC検査行列生成方法
本発明は、レートコンパチブルの関係にある２つの符号化率の異なるLDPC組織符号をC0，C1とし、該符号C0，C1の情報ビットサイズをそれぞれK、パリティビットサイズをそれぞれM0，M1とする場合において、符号C0の検査行列H0より符号C1の検査行列H1を生成するLDPC検査行列生成方法である。
本発明の第１のLDPC検査行列生成方法は、検査行列H0よりL （M1−M0=L）個の行を選択し、該選択した行の情報ビット部とパリティビット部をそれぞれ2つに分離し、その際、分離により得られた新たな第１、第２の２つの行のそれぞれの情報ビット部及びパリティビット部が１以上の「０と異なる要素」を含むようにするステップ、検査行列H0における前記選択されたL個の各行に代えて、前記分離操作により得られた新たな第１、第２の２つの行を配置して前記符号C1の検査行列H1を生成するステップ、を有している。
前記第１のLDPC検査行列生成方法発明は、更に、 前記分離操作により得られた新たな第１行、第２行の情報ビット部及びパリティビット部において、要素の存在しない位置に０を配置するステップ、前記新たな第１、第２行のそれぞれがパリティビット部で０となる列位置を求め、該列位置の次に新たな１列を追加し、該追加した列の前記第１、第２の行位置に１を配置するステップ、同様にパリティビット部においてL列を配置して符号C0の検査行列H1を生成するステップ、を有している。
本発明の第２のLDPC検査行列生成方法は、符号C0がIRA符号であり、符号C0の検査行列H0の情報ビット部における各行がa個の「０と異なる要素」を有し、M1をM0で除算した時の商及び余りをそれぞれm，ｒとするとき、(1)前記検査行列H0の情報ビット部よりr行を選び、各行に含まれるa個の「０と異なる要素」を(m+1)個のグループに分け、それぞれのグループに含まれる要素を検査行列H1の連続する(m＋1)個の行要素とするステップ、かつ(2)前記情報ビット部の前記r行以外の(M0−r)行については、各行に含まれるa個の「０と異なる要素」をm個のグループに分け、それぞれのグループに含まれる要素を検査行列H1の連続するｍ個の行要素とし、(1)、(2)の処理により検査行列H1の情報ビット部を生成するステップ、(３)検査行列H1のパリティビット部については、M1行M1列の正方行列の最後の列を除いて、列のウェイト数が2となるように階段型行列を生成し、該行列を前記検査行列H1におけるパリティビット部とするステップ、を有している。
本発明の第３のLDPC検査行列生成方法は、前記符号C1がIRA符号であり、符号C1の検査行列H1の情報ビット部における各行がa個の「０と異なる要素」を有し、M1をM0で除算した時の商及び余りをそれぞれm，ｒとするとき、(1)前記検査行列H1の情報ビット部よりr行を選び、選択した１つの行を含めて連続する(m＋1)行をベクトル加算して検査行列H0の情報ビット部における1つの行とし、同様にして該検査行列H0の情報ビット部のr行を生成するステップ、(2)前記検査行列H1の情報ビット部における残りの行をｍ行づつの(M0−r)
個のグループに分け、グループ毎に該グループを構成する行をベクトル加算して前記検査行列H0の情報ビット部の（M0−r）行を生成し、(1)、(2)の処理により検査行列H0の情報ビット部を生成するステップ、(3)検査行列H0のパリティビット部については、M0行M0列の正方行列の最後の列を除いて、列のウェイト数が２となるように階段型行列を生成し、該行列を前記検査行列H0におけるパリティビット部とする、ステップ、を有している。
【００１９】
・LDPC検査行列生成器
本発明の第１、第２のLDPC検査行列生成器はそれぞれ、検査行列H0を保存する保存部、検査行列H0より検査行列H1を生成して出力する検査行列作成部、検査行列H0が必要な場合には、前記保存部より検査行列H0を読み出して出力し、検査行列H1が必要な場合には、前記検査行列作成部で生成した検査行列H1を出力する切替部を備え、第１のLDPC検査行列生成器の検査行列作成部は前記第１のLDPC検査行列生成方法に基づいて検査行列H1を生成し、第２のLDPC検査行列生成器の検査行列作成部は前記第２のLDPC検査行列生成方法に基づいて検査行列H1を生成する。
本発明の第３のLDPC検査行列生成器は、検査行列H1を保存する保存部、検査行列H1より検査行列H0を生成して出力する検査行列作成部、検査行列H1が必要な場合には、前記保存部より検査行列H1を読み出して出力し、検査行列H0が必要な場合には、前記検査行列作成部で生成した検査行列H0を出力する切替部を備え、前記検査行列作成部は、前記第３のLDPC検査行列生成方法に基づいて検査行列H0を生成する。
【００２０】
・LDPC符号再送方法
本発明は、送信側より送信された符号を受信側で受信し、該受信符号から情報を正しく復号できなければ送信側に再送を要求すると共に、前記受信符号を保存し、送信側より再送された再送符号を前記保存してある符号と合成して復号するLDPC符号再送方法である。このLDPC符号再送方法は、C0，C1，C2，….をレートコンパチブルな符号とし、H0，H1，H2，….を前記検査行列生成方法で作成した検査行列とするとき、送信側は符号C0を送信するステップ、受信側が符号C0の正常受信を失敗すれば、送信側は符号C1のうち符号C0に含まれないビットの全てと、該ビット数と送信可能ビット数の差に応じたサイズの符号C0の一部を組み合わせて再送するステップ、以後、受信側が符号Ciの正常受信を失敗すれば、送信側は符号Ci+1のうち符号Ciに含まれないビットの全てと、該ビット数と送信可能ビット数の差に応じたサイズの符号Ciの一部を組み合わせて再送するステップ、受信側において、前記生成した検査行列H0，H1，H2，….を順次用いて復号するステップ、を有している。
【図面の簡単な説明】
【００２１】
【図１】第１実施例の検査行列生成方法の説明図である。
【図２】送信機で符号化し、受信機で復号する第１実施例の通信システムの構成図である。
【図３】符号化率の大きなLDCP符号C0の検査行列から符号化率の小さなLDCP符号C1の検査行列を生成する方法(第２実施例)の説明図である。
【図４】送信機で符号化し、受信機で復号する第２実施例の通信システムの構成図である。
【図５】巡回行列型IRA符号C0の検査行列H0から巡回行列型IRA符号C1の検査行列H1生成する方法(第３実施例)の説明図である。
【図６】符号化率の小さなLDCP符号C1の検査行列から符号化率の大きなLDCP符号C0の検査行列を生成する方法(第４実施例)の説明図である。
【図７】送信機で符号化し、受信機で復号する第４実施例の通信システムの構成図である。
【図８】巡回行列型IRA符号C1の検査行列H1から巡回行列型IRA符号C0の検査行列H0を生成する方法(第５実施例)の説明図である。
【図９】第６実施例における再送制御説明図である。
【図１０】本発明の再送制御機能を備えた通信システムの構成図である。
【図１１】検査行列生成器の構成図である。
【図１２】再送制御の別の説明図である。
【図１３】組織符号の構成説明図である。
【図１４】生成行列Ｇの説明図である。
【図１５】検査行列Hの説明図である。
【図１６】送信機においてブロック符号化し、受信機において復号する従来の通信システムの構成図である。
【図１７】LDPC検査行列のウェイト数分布の説明図である。
【図１８】イレギュラーLDPC符号の一種であるIRA(Irregular Repeat Accumulate)符号を生成する符号器の構成例である。
【図１９】IRA符号の検査行列説明図である。
【図２０】z×zの巡回行列P(j)により構成した検査行列の説明図である。
【図２１】レートコンパチブル（Rate-Compatible）符号の説明図である。
【図２２】Rate-Compatible LDPC符号の検査行列説明図である。
【図２３】パンクチャリング説明図である。
【図２４】レペティション説明図である。
【図２５】ダミービット挿入法説明図である。
【図２６】Hybrid-ARQ（Auto Repeat reQuest）説明図である。
【発明を実施するための最良の形態】
【００２２】
（Ａ）第１実施例
図１は第１実施例の検査行列生成方法の説明図である。
情報ビットを送受信するシステムにおいて、レートコンパチブルの関係にある２つの符号化率の異なるLDCP符号C0、C1(図２１参照)を生成して送信する機能を送信機に実装し、符号化率の異なる二つのLDCP符号C0、C1を受信して復号する機能を受信機に実装するもの
とする。
LDPC符号C0、C1は共に組織符号で、その情報ビットサイズをKとし、パリティサイズをそれぞれ、M0、M1=M0+1とする。また、符号C1のパリティビットは符号C0のパリティビットに１つだけ別のパリティビットを追加した符号とする。また、符号C0の検査行列H0のウェイト分布はイレギュラーLDPC符号を生成できるように最適化されているものとする。
かかる場合、符号C1の検査行列H1を検査行列H0から以下のように生成する。
図１（A）に示すように検査行列H0の１つの行(i番目の行とする)を選択して、情報ビット部H01の行をS0,S1の二つのグループに分け、パリティビット部H02もP0,P1の2つのグループに分け、S0，P0を新たな第１行、S1,P1を新たな第２行とする。尚、グループS0,S1のそれぞれが１以上の「０と異なる要素」を含むようにする。
ｑ個の異なる値を有する情報アルファベットの場合には「０と異なる要素」という用語が適切であるが、q=2の場合、「０と異なる要素」は「１」である。したがって、以下では「０と異なる要素」という用語に代えて「１」を用いる。
それぞれのグループに含まれる要素「１」に対応する符号ビット（ｕ0，ｕ1，．．．，ｕK-1,ｐ0，p1，．．．，pM-1）を加算した結果を、s0,s1,p0,p1とすれば、検査行列H0のi番目のパリティチェック関係式は、
【数５】
0004601675.tif 000006
となる。【００２３】
ついで、検査行列H0において前記選択されたi番目の行に代えて、図１（B）に示すようにグループ分けされた新たな第１、第２の２つの行(S0，P0；S1,P1)を配置する。しかる後、前記新たな第１行、第2行の情報ビット部及びパリティビット部において、要素の存在しない位置に要素０を配置する。最後に、前記第１、第２行のそれぞれにおいて、パリティビット部で要素０となる１つの列位置CLを求め、該列位置CLの次に新たな１列NCを追加し、該追加した列NCの前記第１、第２の行位置に要素「１」を配置する。以上により、符号C1の検査行列H1の生成が終了する。
追加した行に対応したパリティビットを pa とすると、検査行列H１のパリティチェック関係式は、
【数６】
0004601675.tif 000007
となる。s0、s1、p0、p1は既知であるから、(6)式よりパリティビットpaが求まり、符号
ｃ=（ｕ0，ｕ1，．．．，ｕK-1,ｐ0，p1，．．．，pM-1）
を生成することができる。【００２４】
以上はM1=M0+1とした場合であるが、一般にM1=M0+Lの場合には以下のようにして符号C1の検査行列H1を生成する。
(1)まず、検査行列H0より任意のL個の行を選択し、該選択した行の情報ビット部とパリティビット部をそれぞれ２つに分離し、その際、分離により得られた新たな第１、第２の2つの行のそれぞれの情報ビット部及びパリティビット部が１以上の「１」を含むようにする。
(2) 前記選択した行の情報ビット部を２つに分離して得られる行をIB1，IB2とし、該選択した行のパリティビット部を２つに分離して得られる行をPB1，PB2とするとき、前記新たな第１、第２の２つの行をそれぞれIB1，PB1の組み、IB2,PB2の組により生成し、ある
いは、前記新たな第１、第２の２つの行をそれぞれIB1，PB2の組み、IB2,PB1の組により生成する。
(3)検査行列H0において、前記選択されたL個の各行に代えて、前記分離操作により得られた新たな第１、第２の２つの行をそれぞれ配置する。
(4)前記新たなL組の第１行、第２行の情報ビット部及びパリティビット部において、要素の存在しない位置に０(要素０)を配置する。
(5)ついで、要素０を挿入された第１組の新たな第１、第２行のそれぞれにおいて、パリティビット部で０となる列位置を求め、該列位置の次に新たな１列を追加し、該列の第１、第２の行位置に１(要素１)を配置する。
(6)同様に残りの第２〜第L組について(5)の処理を繰り返し、パリティビット部に新たなL列を配置して符号C0の検査行列H1を生成する。【００２５】
図２は、送信機で符号化し、受信機で復号する第１実施例の通信システムの構成図であり、送信機１０は情報ビットuを２つの符号化率の異なるレートコンパチブルなLDCP符号C0、C1に符号化して送信する。これらLDPC符号C0、C1は組織符号で、情報ビットサイズをそれぞれKとし、パリティサイズをそれぞれM0、M1（M0＜M1）とする。また、符号C0の検査行列H0のウェイト分布はイレギュラーLDPC符号を生成できるように最適化されて既知であるものとする。
送信機１０において、検査行列生成器１１はメモリMEMに検査行列H0の行毎のウェイト位置(要素１の位置)情報を保存している。セレクタSELは、符号C0を生成する場合には、メモリMEMから読み出した検査行列H0のウェイト情報をH0ウェイト情報出力部WOT0に入力し、H0ウェイト情報出力部WOT0は該H0のウェイト情報をLDPC符号器１２に入力する。また、セレクタSELは、符号C１を生成する場合には、MEMから読み出した検査行列H0のウェイト情報をH1ウェイト情報生成・出力部WOT1に入力し、H1ウェイト情報生成・出力部WOT1は図１で説明した方法により符号C1の検査行列H1を生成し、そのウェイト情報をLDPC符号器１２に入力する。
LDPC符号器１２は入力された検査行列H0，H1のウェイト情報を用いて情報ビットuをLDPC符号化し、変調部１３は該LDPC符号を変調して送信する。LDPC符号器１２は、パリティチェック式よりパリティビットp0〜pM-1を求め、このパリティビットp0〜pM-1を情報ビットu0〜uK-1にシリアルに結合することにより、LDPC符号C0またはC1を生成する。
受信機２０は伝送路３０を介して受信した信号を復調する復調部２１と、受信情報より元の送信されたＫビットの情報uを復号するLDPC復号器２２と、送信機における検査行列生成器１１と同一構成の検査行列生成器２３を備えている。検査行列生成器２３はLDPC符号C0を受信する場合には検査行列H0のウェイト情報をLDPC復号器２２に入力し、LDPC符号C1を受信する場合には検査行列H1のウェイト情報をLDPC復号器２２に入力する。LDPC復号器２２は入力された検査行列のウェイト情報を用いて周知のLDPC復号処理を行って受信信号より情報uを推定して出力する。【００２６】
（B）第２実施例
図２は第２実施例の検査行列生成方法の説明図である。
情報ビットを送受信するシステムにおいて、送信機に情報ビットを符号化率の異なる二つのレートコンパチブルなIRA符号C0、C1(図２１参照)に符号化して送信する機能を実装し、受信機に符号化率の異なる二つのLDCP符号C0、C1を受信して復号できる機能を実装するものとする。IRA符号C0、C1はLDPC符号であり共に組織符号で、その情報ビットサイズをKとし、パリティサイズをそれぞれM0、M1、符号ビットサイズをそれぞれ、N0、N1とする。ただし、N0=K+M0、N1=K+M1で、M1=2・M0とする。IRA符号の検査行列H0のパリティビット部H02は図３（A）に示すように列のウェイト数が2となるような階段型行列となっている。かかる場合、符号C1の検査行列H1を検査行列H0から以下のように生成する。
図３（B）に示すように、検査行列H0の情報ビット部H01の各行のウェイトを半分ずつに分けて二つの行に分離し、各行で検査行列H1の情報ビット部H11を構成する。これにM1×M
1サイズのウェイト数２の階段型行列であるパリティビット部H12を追加して、符号C1の検査行列H1とする。【００２７】
新たに構成された検査行列H1は、H0に対して列ウェイト分布は同じで、情報ビット部の行のウェイト数がちょうど半分のa/2のIRA符号の検査行列となっている。かかる検査行列H1を用いて作成した符号C1のパリティビットの半分は符号C0 のパリティビットと一致しており、レートコンパチブルの関係にある。以下でこのことを示す。
をa/2個の情報ビットの和、(n=0,1,...) をパリティビットとすれば、符号C0のパリティチェック関係式は、
【数７】
0004601675.tif 000008
となる。一方、pn'(n=0,1,...) を符号C1のパリティビットとすれば、該符号C1のパリティチェック関係式は、
【数８】
0004601675.tif 000009
となる。上から2つずつの式を加算していくと、
【数９】
0004601675.tif 000010
となる。符号C0のパリティビットpnと符号C1のパリティビットpn'を比較すると、
p(2×n'+1)＝pn
の関係が成立する。これは、与えられた情報ビットuに対して、符号C1の奇数番目のパリティビットと符号C0のパリティビットが一致していることを意味し、符号C0と符号C1がRate-Compatible符号となっていることがわかる。【００２８】
図４は、送信機で符号化し、受信機で復号する第２実施例の通信システムの構成図であり、送信機１０は情報ビットuをレートコンパチブルの関係にある２つの符号化率の異なるIRA符号C0、C1に符号化して送信する。これらIRA符号C0、C1はLDPC符号で、かつ組織符号で、情報ビットサイズはKとし、パリティサイズはそれぞれM0、M1、符号ビットサイズはそれぞれ、N0、N1である。ただし、N0=K+M0、N1=K+M1で、M1=2・M0とする。また、符号C0の検査行列H0のウェイト分布はイレギュラーLDPC符号を生成できるように最適化されて既知であるものとする。
図4において図２の通信システムと同一部分には同一符号を付している。検査行列生成器１１は、符号C0を生成する場合には、内蔵のメモリから読み出した検査行列H0のウェイト情報をLDPC符号器１２に入力する。また、検査行列生成器１１は、符号C1を生成する場
合には、メモリから読み出した検査行列H0のウェイト情報より図３で説明した方法により符号C1の検査行列H1を生成し、そのウェイト情報をLDPC符号器１２に入力する。
LDPC符号器１２は入力された検査行列H0，H1のウェイト情報を用いてM0またはM1個のパリティビットｐを生成するパリティ生成器１２aと、Kビットの情報ｕとMビットのパリティビットｐを合成してIRA符号であるLDPC符号ｘを出力するＰ／Ｓ変換部１２ｂを備えている。パリティ生成器１２aは、検査行列のウェイト情報を用いてパリティチェック式((3)式参照)よりパリティビットp0〜pM-1を求め、Ｐ／Ｓ変換部１２ｂはこのパリティビットp0〜pM-1を情報ビットu0〜uK-1にシリアルに結合することにより、LDPC符号C0またはC1を生成し、変調部１３は該LDPC符号を変調して送信する。
受信機２０において検査行列生成器２３はLDPC符号C0を受信する場合には検査行列H0のウェイト情報をLDPC復号器２２に入力し、LDPC符号C1を受信する場合には検査行列H1のウェイト情報をLDPC復号器２２に入力する。LDPC復号器２２は入力された検査行列のウェイト情報を用いて周知のLDPC復号処理を行って受信信号より情報uを推定して出力する。【００２９】
以上の第２実施例ではM1=2・M0の特殊の場合であるが、この関係が成立しない場合には、以下のように検査行列H1を生成する。なお、レートコンパチブルの関係にある２つの符号化率の異なるLDPC組織符号をC0，C1とし、該符号C0，C1の情報ビットサイズをそれぞれK、パリティビットサイズをそれぞれM0，M1 (M0＜M1)とする。また、符号C0がIRA符号であり、符号C0の検査行列H0の情報ビット部における各行がa個の１を有し、M1をM0で除算した時の商及び余りをそれぞれm，ｒとする。
(1)検査行列H0の情報ビット部よりr行を選び、各行に含まれるa個の１を(m+1)個のグループに分け、それぞれのグループに含まれる要素を検査行列H1の連続する(m＋1)個の行要素とする。
(2)前記情報ビット部の前記r行以外の(M0−r)行については、各行に含まれるa個の１をm個のグループに分け、それぞれのグループに含まれる要素を検査行列H1の連続するｍ個の行要素とし、(1)、(2)の処理により検査行列H1の情報ビット部H11を生成する。
(3)検査行列H1のパリティビット部については、M1行M1列の正方行列の最後の列を除いて、列のウェイト数が2となるように階段型行列を生成し、該行列を前記検査行列H1におけるパリティビット部H12とする。
以上のステップ(1)〜(3)により、検査行列H1を生成することができる。aが(m＋1)またはmで割り切れない場合には余りの要素を１個づつ各グループに配分する。
第２実施例によれば、符号C1を最適な符号C0とレートコンパチブルとなるように検査行列H1を生成できる。
又、第２実施例によれば、符号化率が小さくなるほどウェイト数が小さい検査行列H1を生成することができ、良好な符号C1を作成することができる。特に、パリティビット数が倍になれば、すなわち、符号化率が１/2に小さくなれば、の値を半分にでき特性の良い符号を作成できる。すなわち、第２実施例によれば、検査行列H1のウェイト分布を最適に近い分布にすることが出来る。
また、本発明によれば、符号C0の検査行列H0より符号C1の検査行列H1を簡単な処理で、かつ、大サイズのメモリを必要せず生成することができる。【００３０】
（C）第３実施例
第２実施例は巡回行列型IRA符号に拡張することができる。情報ビットを送受信するシステムにおいて、送信機に情報ビットを符号化率の異なる二つのIRA符号C0、C1に符号化して送信する機能を実装し、受信機に符号化率の異なる二つのLDCP符号C0、C1(図２１参照)を受信して復号できる機能を実装するものとする。符号C0、C1の情報ビットサイズはK、パリティサイズはそれぞれ、M0、M1、符号ビットサイズはそれぞれ、N0、N1とする。ただし、N0=K+M0、N1=K+M1で、M1=2・M0とする。さらに、巡回行列のサイズをz×zとして、M0,M1,Kはそれぞれzで割り切れるものとし、m0=M0/z、m1=M1/z、 k=K/z とする。
図５は巡回行列型IRA符号C0の検査行列H0から巡回行列型IRA符号C1の検査行列H1生成す
る方法の説明図である。検査行列H0は図５（A）に示す構成を備えている。図５（B）に示すように、検査行列H0の情報ビット部H01の各行のウェイトを巡回行列単位(サイズzの単位)で半分ずつに分けて二つの行に分離し、各行で検査行列H1の情報ビット部H11を構成する。これにM1×M1サイズのウェイト数２の階段型行列であるパリティビット部H12を追加して、符号C1の検査行列H1とする。
この場合、パリティチェック関係式は、（7）（8）（9）式において、各パラメータをそれぞれをzサイズのベクトル
【数１０】
0004601675.tif 000011
と表わすことができる。したがって、同様に巡回行列型IRA符号C0、C1がRate-Compatible符号となっていることがわかる。
第３実施例によれば、第２実施例と同様の効果を奏することができる。また、第３実施例によれば、情報ビット数やパリティビット数が大きな符号の検査行列の作成に適用することができる。【００３１】
（Ｄ）第４実施例
第２実施例は符号化率の大きなLDCP符号C0の検査行列から符号化率の小さなLDCP符号C1の検査行列を生成する場合であるが、第4実施例では符号化率の小さなLDCP符号C1の検査行列から符号化率の大きなLDCP符号C0の検査行列を生成する。
すなわち、情報ビットを送受信するシステムにおいて、送信機に情報ビットを符号化率の異なる二つのレートコンパチブルなIRA符号C0、C1に符号化して送信する機能を実装し、受信機に符号化率の異なる二つのLDCP符号C0、C1を受信して復号できる機能を実装する。IRA符号C0、C1(図２１参照)はLDPC符号であり共に組織符号で、その情報ビットサイズをKとし、パリティサイズをそれぞれM0、M1、符号ビットサイズをそれぞれ、N0、N1とする。ただし、N0=K+M0、N１=K+M１で、M1=2・M0とする。IRA符号C1の検査行列H1のパリティビット部H１2は図6(Ｂ)に示すように列のウェイト数が2となるような階段型行列となっている。
かかる場合、符号C0の検査行列H0(図6(Ａ))を検査行列H１から以下のように生成する。なお、符号C0、C1がIRA符号であり、符号C1の前記検査行列H1の情報ビット部H11における各行がa個(図ではa=3)の１を有しているとする。
検査行列H1の情報ビット部H11における行を２行づつのM0個のグループに分け、グループ毎に該グループを構成する行をベクトル加算して検査行列H0の情報ビット部H01のM0行を生成する。ついで、M0行M0列の正方行列の最後の列を除いて、列のウェイト数が２となるように階段型行列を生成し、該行列を検査行列H0のパリティビット部H02とする。以上により、符号C1の検査行列H１から符号C0の検査行列H0を生成することができる。尚、ベクトル加算において、１＋１＝０である。【００３２】
以上は、M1=2・M0の場合であるが、第４実施例はM1=m・M0+rの場合に拡張できる。かかる場合、符号C0の検査行列H0を検査行列H１から以下のように生成する。なお、符号C0、C1がIRA符号であり、符号C1の前記検査行列H1の情報ビット部H11における各行がa個の１を有し、M1をM0で除算した時の商及び余りをそれぞれm，ｒとする。図６はm=2,r=0の場合である。
(1)検査行列H1の情報ビット部H11よりr行を選び、選択した１つの行を含めて連続する(m＋1)行をベクトル加算して検査行列H0の情報ビット部H01の1つの行とする。
(2)選択した残りの行についても同様にして検査行列H0の情報ビット部H01のr行を生成する。
(3)検査行列H1の情報ビット部H11における前記選択された行を除く残りの行をｍ行づつの(M0−r)個のグループに分け、グループ毎に該グループを構成する行をベクトル加算して検査行列H0の情報ビット部H01の（M0−r）行を生成する。以上の(1)〜(3)の処理により検査行列H0の情報ビット部H01を生成できる。
(4)ついで、 M0行M0列の正方行列の最後の列を除いて、列のウェイト数が２となるように階段型行列を生成し、該行列を検査行列H0のパリティビット部H02とする。
以上の(1)〜(4)により符号C1の検査行列H１から符号C0の検査行列H0を生成することができる。【００３３】
図７は、送信機で符号化し、受信機で復号する第４実施例の通信システムの構成図であり、送信機１０は情報ビットuをレートコンパチブルの関係にある２つの符号化率の異なるIRA符号C0、C1に符号化して送信する。これらIRA符号C0、C1はLDPC符号の一種で、かつ組織符号であり、情報ビットサイズはK、パリティサイズはそれぞれM0、M1、符号ビットサイズはそれぞれ、N0、N1である。ただし、N0=K+M0、N1=K+M1で、M1=2・M0とする。また、符号C1の検査行列H1のウェイト分布はイレギュラーLDPC符号を生成できるように最適化されて既知であるものとする。
図７において図２の通信システムと同一部分には同一符号を付している。送信機１０において、検査行列生成器１５はメモリMEMに検査行列H１の行毎のウェイト位置(要素１の位置)情報を保存している。セレクタSELは、符号C１を生成する場合には、メモリMEMから読み出した検査行列H1のウェイト情報をH1ウェイト情報出力部WOP1に入力し、H0ウェイト情報出力部WOP1は該H1のウェイト情報をLDPC符号器１２に入力する。また、セレクタSELは、符号C0を生成する場合には、MEMから読み出した検査行列H1のウェイト情報をH0ウェイト情報生成・出力部WOP0に入力し、H0ウェイト情報生成・出力部WOP0は図6で説明した方法により符号C0の検査行列H0を生成し、そのウェイト情報をLDPC符号器１２に入力する。
LDPC符号器１２は入力された検査行列H0，H1のウェイト情報を用いて情報ビットuをLDPC符号化し、変調部１３は該LDPC符号を変調して送信する。すなわち、LDPC符号器１２は、パリティチェック式((3)式参照)よりパリティビットp0〜pM-1を求め、このパリティビットp0〜pM-1を情報ビットu0〜uK-1にシリアルに結合することにより、LDPC符号C0またはC1を生成し、変調部１３は該LDPC符号を変調して送信する。
受信機２０は伝送路３０を介して受信した信号を復調する復調部２１と、受信情報より元の送信されたＫビットの情報uを復号するLDPC復号器２２と、送信機における検査行列生成器１５と同一構成の検査行列生成器２５を備えている。検査行列生成器２５はLDPC符号C1を受信する場合には検査行列H1のウェイト情報をLDPC復号器２２に入力し、LDPC符号C0を受信する場合には検査行列H0のウェイト情報をLDPC復号器２２に入力する。LDPC復号器２２は入力された検査行列のウェイト情報を用いて周知のLDPC復号処理を行って受信信号より情報uを推定して出力する。
第４実施例によれば、符号C0を最適な符号C1とレートコンパチブルとなるように検査行列H0を生成できる。
又、第４実施例によれば、符号化率が大きくなるほどウェイト数が大きい検査行列H0を生成することができ、良好な符号C0を作成することができる。特に、パリティビット数が１/2になれば、すなわち、符号化率が2倍になれば、の値を2倍にでき特性の良い符号を作成できる。すなわち、第２実施例によれば、検査行列H0のウェイト分布を最適に近い分布にすることが出来る。
また、本発明によれば、符号C１の検査行列H1より符号C0の検査行列H0を簡単な処理で、かつ、大サイズのメモリを必要せず生成することができる。【００３４】
（Ｅ）第５実施例
第４実施例は巡回行列型IRA符号に拡張することができる。情報ビットを送受信するシステムにおいて、送信機に情報ビットを符号化率の異なる二つのIRA符号C0、C1に符号化して送信する機能を実装し、受信機に符号化率の異なる二つのLDCP符号C0、C1を受信して復号できる機能を実装する。符号C0、C1の情報ビットサイズはK、パリティサイズはそれぞれM0、M1、符号ビットサイズはそれぞれ、N0、N1とする。ただし、N0=K+M0、N1=K+M1で、M1=2・M0とする。さらに、巡回行列のサイズをz×zとして、M0,M1,Kはそれぞれzで割り切れるものとし、m0=M0/z、m1=M1/z、k=K/z とする。
図８は巡回行列型IRA符号C1の検査行列H1から巡回行列型IRA符号C0の検査行列H0を生成する方法の説明図である。検査行列H1は図８（Ｂ）に示す構成を備えている。図８（B）に示すように、検査行列H1の情報ビット部H11におけるm1行を２行づつのm0個のグループに分け、グループ毎に該グループを構成する行をベクトル加算して検査行列H0の情報ビット部H01のm0行を生成する。ついで、m0行m0列の正方行列の最後の列を除いて、列のウェイト数が２となるように階段型行列を生成し、該行列を検査行列H0のパリティビット部H02とする。以上により、符号C1の検査行列H１から符号C0の検査行列H0を生成することができる。尚、ベクトル加算において、Ｐ＋Ｐ＝Ｐ′であリ、左辺の２つの巡回行列Ｐのシフト数が同一であればＰ′=０となり、２つの巡回行列Ｐのシフト数が異なればＰ′は０とならない。【００３５】
（Ｆ）第６実施例
H-ARQ再送方式では、送信側は情報ビットを符号化して送信し、受信側は該符号を受信し、該受信符号から情報を正しく復号できなければ送信側に再送を要求すると共に、前記受信符号を保存し、送信側より再送された再送符号を前記保存してある符号と合成し、合成結果に対して復号処理を施して復号する。かかるH-ARQ再送方式を採用する通信システムにおいて、送信機は検査行列H0，H1，H2，….を用いてレートコンパチブルなIRA符号C0，C1，C2，….を生成して再送制御を行う。なお、検査行列H0は最適化されており、検査行列H1，H2，….は、第２〜第３実施例で説明した方法により検査行列H0を生成する。
図９は第６実施例における再送制御説明図である。初回のデータ送信に際して、送信機は検査行列H0を用いてIRA符号であるLDPC符号C0を生成して送信する。受信機は検査行列H0を用いて復号処理を行い、正しく復号できなければ、送信機に再送を要求する。再送要求により、送信機は検査行列H0を用いて検査行列H1を生成し、該検査行列H1を用いてIRA符号であるLDPC符号C1を生成し、符号C1のうち符号C0に含まれないビットの全て(追加パリティビット)APB1と、該追加パリティビットAPB1のビット数と送信可能ビット数の差に応じたサイズの符号C0の一部IB′を組み合わせて再送する。受信機は受信済みのLDPC符号C0と再送されたLDPC符号C1を合成し、検査行列H1を用いて情報ビットを復号する。情報ビットを正しく復号できれば再送は終了するが、正しく復号できなければ、送信機に再送を要求する。再送要求により、送信機は検査行列H0を用いて検査行列H2を生成し、該検査行列H2を用いてIRA符号であるLDPC符号C2を生成し、符号C2のうち符号C1に含まれないビットの全て(追加パリティビット)APB2と、該追加パリティビットAPB2のビット数と送信可能ビット数の差に応じたサイズの符号C1の一部(図では無し)を組み合わせて再送し、以後、規定回数まで再送制御を行う。【００３６】
図１０は本発明の再送制御機能を備えた通信システムの構成図である。
送信機１０において、誤り検出符号化部５１は送信すべき情報ビットにＣＲＣ誤り検出符号を付加し、新規パケットスイッチ部５２は初回送信に際して誤り検出符号を付加された情報ビットをRC-LDPC符号器５３に入力する。RC-LDPC符号器５３は検査行列H0を用いてレートコンパチブルのLDPC符号(IRA符号)を生成して出力する。レートマッチング部５４は指定された符号化率になるようにレートマッチング処理、たとえば、パンクチュアリング処理を行って変調部５５に入力する。
再送情報出力部５６は再送情報(初回送信/再送１回目/再送２回目の別、再送時の再送パターン情報など)を変調部５５に入力する。変調部５５はレートマッチング処理を施されたデータおよび再送情報に所定のデータ変調を施し、図示しない送信部は、変調された信号を無線周波数に周波数変換し、高周波増幅して送信する。【００３７】
受信機２０は後述するように受信したパケットの情報が正確に復号されたかの判定を行ない、受信成功／失敗（ACK／NACK）を送信機１０に通知する。送信機１０の受信部(図示せず)は受信機２０から受信した無線信号をべースバンド信号に周波数変換し、復調部５７は受信信号を復調し、フィードバック情報検出部５８はACK／NACKを判定し、H−ARQ制御部５９はNACKであれば送信パターン指定部６０に再送を指示すると共に再送回数を指示し、ACKであれば新たな情報ブロックの送信を新規パケットスイッチ５２に指示する。送信パターン指定部６０は再送が指示されれば、再送回数に基づいて再送パターン情報(図９の斜線で示す送信データ部分を特定する情報)を再送情報出力部５６に通知すると共に、再送回数を符号決定部６１に入力する。符号決定部６１は再送回数に基づいて発生する符号の種別(C0,C1,C2,...の別)を判別し、検査行列生成器６２に発生する符号に応じた検査行列の生成を指示し、検査行列生成器６２は指示された検査行列を発生してRC-LDPC符号器５３に入力する。図１１は検査行列生成器６２の構成図であり、メモリMEMに検査行列H0の行毎のウェイト位置(要素１の位置)情報を保存している。セレクタSELは、符号C0を発生する場合には、メモリMEMから読み出した検査行列H0のウェイト情報をH0ウェイト情報出力部WOT0に入力し、H0ウェイト情報出力部WOT0は該H0のウェイト情報をRC-LDPC符号器５３に入力する。また、セレクタSELは、符号C１を発生する場合には、MEMから読み出した検査行列H0のウェイト情報をH1ウェイト情報生成・出力部WOT1に入力し、H1ウェイト情報生成・出力部WOT1は第２〜第３実施例で説明した方法により符号C1の検査行列H1を生成し、そのウェイト情報をRC-LDPC符号器５３に入力する。また、セレクタSELは、符号C2を発生する場合には、MEMから読み出した検査行列H0のウェイト情報をH2ウェイト情報生成・出力部WOT2に入力し、H2ウェイト情報生成・出力部WOT2は第２〜第３実施例で説明した方法により符号C2の検査行列H2を生成し、そのウェイト情報をRC-LDPC符号器５３に入力する。RC-LDPC符号器５３は入力した検査行列を用いてレートコンパチブルのLDPC符号(IRA符号)C0,C1,C2,…を生成し、図９で示す送信すべきデータ部分を出力する。【００３８】
受信機２０において、受信部(図示せず)は送信機１０からの無線信号をべースバンド信号に周波数変換し、復調部７１は復調処理を行い、復調データのうち符号部分をデレートマッチング部７２に入力し、再送情報部分を再送情報発生部７３に入力する。再送情報発生部７３は再送情報より再送回数を抽出して検査行列生成器７４に入力し、検査行列生成器７４は再送回数に応じた検査行列を発生してRC-LDPC復号器７５に入力する。
デレートマッチング部７２は送信側のレートマッチング処理と逆の処理(たとえばパンクチャード復号化処理)を行なう。H−ARQバッファ部７６は前回の受信時に復号に失敗したデータを保存しており、H−ARQ合成部７７は該H−ARQバッファ部７６に保存されているデータと、今回受信した再送データを合成する。合成は保存データと新規受信データの対応するビットの値を適当にダイバーシチ合成(たとえば最大比合成)することにより行なう。対応するビットとして一方の値しか存在しない場合は該一方のビットの値をそのまま出力する。RC-LDPC復号器７５はH−ARQ合成部７７から出力する合成データに対して、検査行列生成器７４から入力する検査行列を用いてLDPC復号処理を行い、復号結果を誤り検出部７８に入力する。
誤り検出部７８は復号データに対して誤り検出処理を行って正しく復号できたかチェックし、誤り検出結果をNACK／ACK判定部７９に入力する。また、誤り検出部７８は正しく復号できていれば復号結果を出力し、H−ARQバッファ７６に保存されているデータをクリアし、正しく復号できていなければH−ARQバッファ７６の内容をH−ARQ合成信号で更新する。
NACK／ACK判定部７９は誤り検出結果に基づいてNACK／ACKのいずれかを送信機１０に送
出するかを通知情報符号化部８０に指示し、通知情報符号化部８０は該指示に従って通知情報を符号化し、変調部８１はNACK／ACKの通知情報を変調して送信部(図示せず)を介して送信機１０に送信する。【００３９】
図１２は再送制御の別の説明図であり、パンクチュアリングして伝送する場合の例である。初回のデータ送信に際して、送信機は検査行列H0を用いてIRA符号であるLDPC符号C0を生成し、LDPC符号C0のビット数と実際の送信可能ビット数の差分をパンクチュアリングして送信する。
受信機は検査行列H0を用いて復号処理を行い、正しく復号できなければ、すなわち、パケットを正しく受信できなければ、送信機に再送を要求する。再送要求により、送信機は検査行列H0を用いて検査行列H1を生成し、該検査行列H1を用いてIRA符号であるLDPC符号C1を生成し、前回送信しなかった符号C0部分と符号C1のうち符号C0に含まれない部分(追加パリティビット１)を組み合わせて再送する。
受信機は受信済みのLDPC符号部分と再送されたLDPC符号部分を合成し、検査行列H1を用いて情報ビットを復号する。情報ビットを正しく復号できれば再送は終了するが、正しく復号できなければ、送信機に再送を要求する。再送要求により、送信機は検査行列H0を用いて検査行列H2を生成し、該検査行列H2を用いてIRA符号であるLDPC符号C2を生成し、符号C2のうち符号C1に含まれない再送可能な追加パリティビット２再送し、以後、規定回数まで同様の再送制御を行う。
第６実施例によれば、IR方式による再送制御において、基準符号C0の検査行列H0より検査行列H1、H2,…を生成し、該検査行列H1、H2,…を用いて符号C1,C2,…を生成し、該符号C1,C2,…をパンクチュアリングして再送する。このため、パンクチャリングを適用して得られる符号を特性的に最適にすることができる。
・発明の効果
本発明によれば、レートコンパチブルの関係にある２つの符号化率R0，R1のLDPC組織符号をC0，C1とし、基準符号C0の検査行列H0より符号C1の検査行列H1を生成する場合、該基準符号C0と拡張後の符号C1のそれぞれを同時に最適なウェイト分布にすることが出来る。
本発明によれば、基準符号C0の検査行列H0より符号C1の検査行列H1を簡単な処理で、かつ、大サイズのメモリを必要せず生成することができる。
本発明によれば、IR方式による再送制御において、パンクチャリングを適用して得られる符号を特性的に最適にできる。
【図１】
0004601675.tif 000012
【図２】
0004601675.tif 000013
【図３】
0004601675.tif 000014
【図４】
0004601675.tif 000015
【図５】
0004601675.tif 000016
【図６】
0004601675.tif 000017
【図７】
0004601675.tif 000018
【図８】
0004601675.tif 000019
【図９】
0004601675.tif 000020
【図１０】
0004601675.tif 000021
【図１１】
0004601675.tif 000022
【図１２】
0004601675.tif 000023
【図１３】
0004601675.tif 000024
【図１４】
0004601675.tif 000025
【図１５】
0004601675.tif 000026
【図１６】
0004601675.tif 000027
【図１７】
0004601675.tif 000028
【図１８】
0004601675.tif 000029
【図１９】
0004601675.tif 000030
【図２０】
0004601675.tif 000031
【図２１】
0004601675.tif 000032
【図２２】
0004601675.tif 000033
【図２３】
0004601675.tif 000034
【図２４】
0004601675.tif 000035
【図２５】
0004601675.tif 000036
【図２６】
0004601675.tif 000037