(57)【要約】  本発明は、情報語を受信する段階と、情報語をブロックＬＤＰＣ符号として生成するときに、適用される長さに対応して第１のパリティ検査行列と第２のパリティ検査行列のうちのいずれか一つに基づいてブロックＬＤＰＣ符号に符号化する段階と、を有することで、可変長を有するブロック低密度パリティ検査(ＬＤＰＣ)符号を符号化する装置及び方法を提供する。
2007531455.tif 000002
【特許請求の範囲】
【請求項１】
可変長を有するブロック低密度パリティ検査(Ｌｏｗ  Ｄｅｎｓｉｔｙ  Ｐａｒｉｔｙ  Ｃｈｅｃｋ：ＬＤＰＣ)符号を符号化する方法であって、
情報語を受信する段階と、
前記情報語をブロックＬＤＰＣ符号として生成するときに、適用される長さに対応して第１のパリティ検査行列と第２のパリティ検査行列のうちのいずれか一つに基づいて前記ブロックＬＤＰＣ符号に符号化する段階と、
を有することを特徴とする方法。
【請求項２】
前記ブロックＬＤＰＣ符号を変調方式を用いて変調シンボルに変調する段階と、
前記変調シンボルを送信する段階と、
をさらに有することを特徴とする請求項１記載の方法。
【請求項３】
前記第２のパリティ検査行列は、前記第１のパリティ検査行列のサイズを可変させるパリティ検査行列であることを特徴とする請求項１記載の方法。
【請求項４】
前記第１のパリティ検査行列は予め設定されている符号化率と、前記ブロックＬＤＰＣ符号の長さが予め定められた長さを有するように生成されたパリティ検査行列であることを特徴とする請求項３記載の方法。
【請求項５】
前記第１のパリティ検査行列は予め定められた個数の部分ブロックを含み、前記部分ブロックはそれぞれ予め定められたサイズを有することを特徴とする請求項４記載の方法。
【請求項６】
前記第２のパリティ検査行列は前記第１のパリティ検査行列の部分ブロックのサイズを可変させるパリティ検査行列であることを特徴とする請求項５記載の方法。
【請求項７】
前記部分ブロックの各々に予め定められた順列行列が一対一で対応することを特徴とする請求項６記載の方法。
【請求項８】
前記第２のパリティ検査行列は、前記第１のパリティ検査行列の順列行列の中で０でない順列行列の指数と前記第２のパリティ検査行列の部分ブロックのサイズに対応して、前記第２のパリティ検査行列の順列行列の中で０でない順列行列の指数が決定されることによって生成されたパリティ検査行列であることを特徴とする請求項７記載の方法。
【請求項９】
前記第２のパリティ検査行列は下記のような関係を有することを特徴とする請求項７記載の方法。
【数１】
2007531455.tif 000011
ここで、ａ１，ａ２，…，ａＬは前記第１のパリティ検査行列の順列行列の中で０でないＬ個の順列行列の指数を示し、Ｎｓ×Ｎｓ(Ｎｓ)は前記第１のパリティ検査行列の部分ブロックのサイズを示し、a1’， a2’,…， aL’は前記第２のパリティ検査行列の順列行列の中で０でないＬ個の順列行列の指数を示し、Ｎｓ’×Ｎｓ’(Ｎｓ’)は前記第２のパリティ検査行列の部分ブロックのサイズを示し、‘ｍｏｄ’はモジュロ演算を示す。
【請求項１０】
前記情報語を前記ブロックＬＤＰＣ符号に符号化する段階は、
前記長さにより前記第１のパリティ検査行列と第２のパリティ検査行列のうちの一つを決定する段階と、
前記情報語を前記決定されたパリティ検査行列の第１の部分行列と乗算して第１の信号を生成する段階と、
前記情報語を前記決定されたパリティ検査行列の第２の部分行列と乗算して第２の信号を生成する段階と、
前記第１の信号と、前記パリティ検査行列の第３の部分行列と第４の部分行列の逆行列の行列積とを乗算して第３の信号を生成する段階と、
前記第２の信号と第３の信号を加算して第４の信号を生成する段階と、
前記第４の信号と前記パリティ検査行列の第５の部分行列とを乗算して第５の信号を生成する段階と、
前記第２の信号を前記第５の信号と加算して第６の信号を生成する段階と、
前記第６の信号と前記パリティ検査行列の第４の部分行列の逆行列とを乗算して第７の信号を生成する段階と、
前記情報語と、前記第４の信号を第１のパリティとし、前記第７の信号を第２のパリティとして前記ブロックＬＤＰＣ符号に対応するように多重化する段階と、
を有することを特徴とする請求項９記載の方法。
【請求項１１】
前記第１の部分行列及び第２の部分行列は、前記決定されたパリティ検査行列で情報語と関連される情報部分に対応する部分行列であることを特徴とする請求項１０記載の方法。
【請求項１２】
前記第３の部分行列と第４の部分行列はパリティと関連する第１のパリティ部分に対応する部分行列であり、前記第５の部分行列と第６の部分行列は前記パリティと関連する第２のパリティ部分に対応する部分行列であることを特徴とする請求項１１記載の方法。
【請求項１３】
前記符号化率が１/２である場合に、前記第１のパリティ検査行列は下記の表のように示すことを特徴とする請求項５記載の方法。
【表１】
2007531455.tif 000012
ここで、各ブロックは前記部分ブロックを、数字は該当する順列行列の指数を、数字の存在しないブロックは０行列が対応する部分ブロックを、Iは該当順列行列の指数が０である単位行列を、それぞれ示す。
【請求項１４】
前記符号化率が２/３である場合に、前記第１のパリティ検査行列は下記の表のように示すことを特徴とする請求項５記載の方法。
【表２】
2007531455.tif 000013
ここで、各ブロックは前記部分ブロックを、数字は該当する順列行列の指数を、数字の存在しないブロックは０行列が対応する部分ブロックを、Iは該当順列行列の指数が０である単位行列を、それぞれ示す。
【請求項１５】
前記符号化率が３/４である場合に、前記第１のパリティ検査行列は下記の表のように示すことを特徴とする請求項５記載の方法。
【表３】
2007531455.tif 000014
ここで、各ブロックは前記部分ブロックを、数字は該当する順列行列の指数を、数字の存在しないブロックは０行列が対応する部分ブロックを、Iは該当順列行列の指数が０である単位行列を、それぞれ示す。
【請求項１６】
前記符号化率が５/６である場合に、前記第１のパリティ検査行列は下記の表のように示すことを特徴とする請求項５記載の方法。
【表４】
2007531455.tif 000015
ここで、各ブロックは前記部分ブロックを、数字は該当する順列行列の指数を、数字の存在しないブロックは０行列が対応する部分ブロックを、Iは該当順列行列の指数が０である単位行列を、それぞれ示す。
【請求項１７】
可変長を有するブロック低密度パリティ検査(ＬＤＰＣ)符号を符号化する装置でって、
情報語をブロックＬＤＰＣ符号として生成するときに、適用される長さに対応して第１のパリティ検査行列と第２のパリティ検査行列のうちの一つに基づいて前記情報語を前記ブロックＬＤＰＣ符号に符号化するエンコーダと、
前記ブロックＬＤＰＣ符号を変調方式を用いて変調シンボルに変調する変調器と、
を含むことを特徴とする装置。
【請求項１８】
前記第２のパリティ検査行列は前記第１のパリティ検査行列のサイズを可変させたパリティ検査行列であることを特徴とする請求項１７記載の装置。
【請求項１９】
前記第１のパリティ検査行列は、予め定められた符号化率と、前記ブロックＬＤＰＣ符号が予め定められた長さを有するように生成されたパリティ検査行列であることを特徴とする請求項１８記載の装置。
【請求項２０】
前記第１のパリティ検査行列は予め定められた個数の部分ブロックを含み、前記部分ブロックのそれぞれは予め定められたサイズを有することを特徴とする請求項１９記載の装置。
【請求項２１】
前記第２のパリティ検査行列は、前記第１のパリティ検査行列の部分ブロックのサイズを可変させたパリティ検査行列であることを特徴とする請求項２０記載の装置。
【請求項２２】
前記部分ブロックの各々に予め定められた順列行列が一対一で対応することを特徴とする請求項２１記載の装置。
【請求項２３】
前記第２のパリティ検査行列は、前記第１のパリティ検査行列の順列行列の中で０でない順列行列の指数と、前記第２のパリティ検査行列の部分ブロックのサイズに対応して前記第２のパリティ検査行列の順列行列の中で０でない順列行列の指数とを決定することによって生成されたパリティ検査行列であることを特徴とする請求項２２記載の装置。
【請求項２４】
前記第２のパリティ検査行列は下記のような関係を有することを特徴とする請求項２３記載の装置。
【数２】
2007531455.tif 000016
ここで、ａ１，ａ２，…，ａＬは前記第１のパリティ検査行列の順列行列の中で０でないＬ個の順列行列の指数を示し、Ｎｓ×Ｎｓ(Ｎｓ)は前記第１のパリティ検査行列の部分ブロックのサイズを示し、a1’， a2’,…， aL’は前記第２のパリティ検査行列の順列行列の中で０でないＬ個の順列行列の指数を示し、Ｎｓ’×Ｎｓ’(Ｎｓ’)は前記第２のパリティ検査行列の部分ブロックのサイズを示し、‘ｍｏｄ’はモジュロ演算を示す。
【請求項２５】
前記エンコーダは、
前記長さにより前記第１のパリティ検査行列と第２のパリティ検査行列のうちの一つを決定する制御器と、
前記情報語を前記決定されたパリティ検査行列の第１の部分行列と乗算する第１の行列乗算器と、
前記情報語を前記決定されたパリティ検査行列の第２の部分行列と乗算する第２の行列乗算器と、
前記第１の行列乗算器から出力された信号を、前記パリティ検査行列の第３の部分行列と第４の部分行列の逆行列との行列積と乗算する第３の行列乗算器と、
前記第２の行列乗算器から出力された信号を第３の行列乗算器から出力された信号と加算する第１の加算器と、
前記第１の加算器から出力された信号を前記パリティ検査行列の第５の部分行列と乗算する第４の行列乗算器と、
前記第２の行列乗算器から出力された信号と前記第４の行列乗算器から出力された信号を加算する第２の加算器と、
前記第２の行列乗算器から出力された信号を前記パリティ検査行列の第４の部分行列の逆行列と乗算する第５の行列乗算器と、
前記情報語と、前記第４の信号を第１のパリティとし、前記第７の信号を第２のパリティとして前記ブロックＬＤＰＣ符号に対応するように多重化する複数のスイッチと、
を含むことを特徴とする請求項２４記載の装置。
【請求項２６】
前記第１の部分行列及び第２の部分行列は、前記決定されたパリティ検査行列で情報語と関連される情報部分に対応する部分行列であることを特徴とする請求項２５記載の装置。
【請求項２７】
前記第３の部分行列と第４の部分行列はパリティと関連する第１のパリティ部分に対応する部分行列であり、前記第５の部分行列と第６の部分行列は前記パリティと関連する第２のパリティ部分に対応する部分行列であることを特徴とする請求項２６記載の装置。
【請求項２８】
前記符号化率が１/２である場合に、前記第１のパリティ検査行列は下記の表のように示すことを特徴とする請求項２０記載の装置。
【表５】
2007531455.tif 000017
ここで、各ブロックは前記部分ブロックを、数字は該当する順列行列の指数を、数字の存在しないブロックは０行列が対応する部分ブロックを、Iは該当順列行列の指数が０である単位行列を、それぞれ示す。
【請求項２９】
前記符号化率が２/３である場合に、前記第１のパリティ検査行列は下記の表のように示すことを特徴とする請求項２０記載の装置。
【表６】
2007531455.tif 000018
ここで、各ブロックは前記部分ブロックを、数字は該当する順列行列の指数を、数字の存在しないブロックは０行列が対応する部分ブロックを、Iは該当順列行列の指数が０である単位行列を、それぞれ示す。
【請求項３０】
前記符号化率が３/４である場合に、前記第１のパリティ検査行列は下記の表のように示すことを特徴とする請求項２０記載の装置。
【表７】
2007531455.tif 000019
ここで、各ブロックは前記部分ブロックを、数字は該当する順列行列の指数を、数字の存在しないブロックは０行列が対応する部分ブロックを、Iは該当順列行列の指数が０である単位行列を、それぞれ示す。
【請求項３１】
前記符号化率が５/６である場合に、前記第１のパリティ検査行列は下記の表のように示すことを特徴とする請求項２０記載の装置。
【表８】
2007531455.tif 000020
ここで、各ブロックは前記部分ブロックを、数字は該当する順列行列の指数を、数字の存在しないブロックは０行列が対応する部分ブロックを、Iは該当順列行列の指数が０である単位行列を、それぞれ示す。
【請求項３２】
可変長を有するブロック低密度パリティ検査(ＬＤＰＣ)符号を復号する方法であって、
信号を受信する段階と、
復号するブロックＬＤＰＣ符号の長さにより第１のパリティ検査行列と第２のパリティ検査行列のうちの一つを選択し、前記選択されたパリティ検査行列により前記受信信号を復号して前記ブロックＬＤＰＣ符号を検出する段階と、
を有することを特徴とする方法。
【請求項３３】
前記第２のパリティ検査行列は、前記第１のパリティ検査行列のサイズを可変させるパリティ検査行列であることを特徴とする請求項３２記載の方法。
【請求項３４】
前記第１のパリティ検査行列は、予め定められた符号化率と、前記ブロックＬＤＰＣ符号が予め定められた長さを有するように生成されたパリティ検査行列であることを特徴とする請求項３３記載の方法。
【請求項３５】
前記第１のパリティ検査行列は予め定められた個数の部分ブロックを含み、前記部分ブロックは予め定められたサイズを有することを特徴とする請求項３４記載の方法。
【請求項３６】
前記第２のパリティ検査行列は、前記第１のパリティ検査行列の部分ブロックのサイズを可変させたパリティ検査行列であることを特徴とする請求項３５記載の方法。
【請求項３７】
前記部分ブロックの各々には予め定められた順列行列が一対一で対応することを特徴とする請求項３６記載の方法。
【請求項３８】
前記第２のパリティ検査行列は、前記第１のパリティ検査行列の順列行列の中で０でない順列行列の指数と、前記第２のパリティ検査行列の部分ブロックのサイズに対応して前記第２のパリティ検査行列の順列行列の中で０でない順列行列の指数とを決定することによって生成されたパリティ検査行列であることを特徴とする請求項３７記載の方法。
【請求項３９】
前記第２のパリティ検査行列は下記のような関係を有することを特徴とする請求項３７記載の方法。
【数３】
2007531455.tif 000021
ここで、ａ１，ａ２，…，ａＬは前記第１のパリティ検査行列の順列行列の中で０でないＬ個の順列行列の指数を示し、Ｎｓ×Ｎｓ(Ｎｓ)は前記第１のパリティ検査行列の部分ブロックのサイズを示し、a1’， a2’,…， aL’は前記第２のパリティ検査行列の順列行列の中で０でないＬ個の順列行列の指数を示し、Ｎｓ’×Ｎｓ’(Ｎｓ’)は前記第２のパリティ検査行列の部分ブロックのサイズを示し、‘ｍｏｄ’はモジュロ演算を示す。
【請求項４０】
前記決定されたパリティ検査行列により前記受信信号を復号して前記ブロックＬＤＰＣ符号を検出する段階は、
前記決定されたパリティ検査行列によりデインタリービング方式及びインタリービング方式を決定する段階と、
前記受信信号の確率値を検出する段階と、
前記受信信号の確率値から以前復号化過程で生成された信号を減算して第１の信号を生成する段階と、
前記第１の信号を前記デインタリービング方式でデインタリービングする段階と、
前記デインタリービングされた信号から確率値を検出する段階と、
前記デインタリービングされた信号の確率値から前記デインタリービングされた信号を減算して第２の信号を生成する段階と、
前記第２の信号を前記インタリービング方式でインタリービングし、前記インタリービングされた信号を反復復号して前記ブロックＬＤＰＣ符号を検出する段階と、
を有することを特徴とする請求項３９記載の方法。
【請求項４１】
前記符号化率が１/２である場合に、前記第１のパリティ検査行列は下記の表のように示すことを特徴とする請求項３５記載の方法。
【表９】
2007531455.tif 000022
ここで、各ブロックは前記部分ブロックを、数字は該当する順列行列の指数を、数字の存在しないブロックは０行列が対応する部分ブロックを、Iは該当順列行列の指数が０である単位行列を、それぞれ示す。
【請求項４２】
前記符号化率が２/３である場合に、前記第１のパリティ検査行列は下記の表のように示すことを特徴とする請求項３５記載の方法。
【表１０】
2007531455.tif 000023
ここで、各ブロックは前記部分ブロックを、数字は該当する順列行列の指数を、数字の存在しないブロックは０行列が対応する部分ブロックを、Iは該当順列行列の指数が０である単位行列を、それぞれ示す。
【請求項４３】
前記符号化率が３/４である場合に、前記第１のパリティ検査行列は下記の表のように示すことを特徴とする請求項３５記載の方法。
【表１１】
2007531455.tif 000024
ここで、各ブロックは前記部分ブロックを、数字は該当する順列行列の指数を、数字の存在しないブロックは０行列が対応する部分ブロックを、Iは該当順列行列の指数が０である単位行列を、それぞれ示す。
【請求項４４】
前記符号化率が５/６である場合に、前記第１のパリティ検査行列は下記の表のように示すことを特徴とする請求項２０記載の装置。
【表１２】
2007531455.tif 000025
ここで、各ブロックは前記部分ブロックを、数字は該当順列行列の指数を、数字の存在しないブロックは０行列が対応する部分ブロックを、Iは該当順列行列の指数が０である単位行列を、それぞれ示す。
【請求項４５】
可変長を有するブロック低密度パリティ検査(ＬＤＰＣ)符号を復号する装置であって、
信号を受信する受信器と、
復号するブロックＬＤＰＣ符号の長さにより第１のパリティ検査行列と第２のパリティ検査行列のうちの一つを選択し、前記選択されたパリティ検査行列により前記受信信号を復号して前記ブロックＬＤＰＣ符号を検出するデコーダと、
を含むことを特徴とする装置。
【請求項４６】
前記第２のパリティ検査行列は、前記第１のパリティ検査行列のサイズを可変させるパリティ検査行列であることを特徴とする請求項４５記載の装置。
【請求項４７】
前記第１のパリティ検査行列は、予め定められた符号化率と、前記ブロックＬＤＰＣ符号が予め定められた長さを有するように生成されたパリティ検査行列であることを特徴とする請求項４６記載の装置。
【請求項４８】
前記第１のパリティ検査行列は予め定められた個数の部分ブロックを含み、前記部分ブロックは予め定められたサイズを有することを特徴とする請求項４７記載の装置。
【請求項４９】
前記第２のパリティ検査行列は、前記第１のパリティ検査行列の部分ブロックのサイズを可変させたパリティ検査行列であることを特徴とする請求項４８記載の装置。
【請求項５０】
前記部分ブロックの各々には予め定められた順列行列が一対一で対応することを特徴とする請求項４９記載の装置。
【請求項５１】
前記第２のパリティ検査行列は、前記第１のパリティ検査行列の順列行列の中で０でない順列行列の指数と、前記第２のパリティ検査行列の部分ブロックのサイズに対応して前記第２のパリティ検査行列の順列行列の中で０でない順列行列の指数とを決定することによって生成されたパリティ検査行列であることを特徴とする請求項５０記載の装置。
【請求項５２】
前記第２のパリティ検査行列は下記のような関係を有することを特徴とする請求項５１記載の装置。
【数４】
2007531455.tif 000026
ここで、ａ１，ａ２，…，ａＬは前記第１のパリティ検査行列の順列行列の中で０でないＬ個の順列行列の指数を示し、Ｎｓ×Ｎｓ(Ｎｓ)は前記第１のパリティ検査行列の部分ブロックのサイズを示し、a1’， a2’,…， aL’は前記第２のパリティ検査行列の順列行列の中で０でないＬ個の順列行列の指数を示し、Ｎｓ’×Ｎｓ’(Ｎｓ’)は前記第２のパリティ検査行列の部分ブロックのサイズを示し、‘ｍｏｄ’はモジュロ演算を示す。
【請求項５３】
前記デコーダは、
前記復号するブロックＬＤＰＣ符号の長さにより第１のパリティ検査行列又は第２のパリティ検査行列を決定する第１の制御器と、
前記決定されたパリティ検査行列を構成する各列のウェイトにより変数ノードに接続することによって、受信信号の確率値を検出する変数ノードデコーダと、
前記変数ノードデコーダから出力された信号から以前復号化過程で生成された信号を減算する第１の加算器と、
前記第１の加算器から出力された信号を入力して前記決定されたパリティ検査行列により設定されたデインタリービング方式でデインタリービングするデインタリーバと、
前記決定されたパリティ検査行列を構成する各行のウェイトにより検査ノードに接続して前記デインタリーバから出力された信号の確率値を検出する検査ノードデコーダと、
前記検査ノードデコーダから出力された信号から前記デインタリーバから出力された信号を減算する第２の加算器と、
前記第２の加算器から出力された信号を前記決定されたパリティ検査行列により設定されたインタリービング方式でインタリービングして前記変数ノードデコーダ及び前記第１の加算器に出力するインタリーバと、
前記デインタリービング方式及びインタリービング方式を前記決定されたパリティ検査行列により制御する第２の制御器と、
を含むことを特徴とする請求項５２記載の装置。
【請求項５４】
前記符号化率が１/２である場合に、前記第１のパリティ検査行列は下記の表のように示すことを特徴とする請求項４８記載の装置。
【表１３】
2007531455.tif 000027
ここで、各ブロックは前記部分ブロックを、数字は該当する順列行列の指数を、数字の存在しないブロックは０行列が対応する部分ブロックを、Iは該当順列行列の指数が０である単位行列を、それぞれ示す。
【請求項５５】
前記符号化率が２/３である場合に、前記第１のパリティ検査行列は下記の表のように示すことを特徴とする請求項４８記載の装置。
【表１４】
2007531455.tif 000028
ここで、各ブロックは前記部分ブロックを、数字は該当する順列行列の指数を、数字の存在しないブロックは０行列が対応する部分ブロックを、Iは該当順列行列の指数が０である単位行列を、それぞれ示す。
【請求項５６】
前記符号化率が３/４である場合に、前記第１のパリティ検査行列は下記の表のように示すことを特徴とする請求項４８記載の装置。
【表１５】
2007531455.tif 000029
ここで、各ブロックは前記部分ブロックを、数字は該当する順列行列の指数を、数字の存在しないブロックは０行列が対応する部分ブロックを、Iは該当順列行列の指数が０である単位行列を、それぞれ示す。
【請求項５７】
前記符号化率が５/６である場合に、前記第１のパリティ検査行列は下記の表のように示すことを特徴とする請求項４８記載の装置。
【表１６】
2007531455.tif 000030
ここで、各ブロックは前記部分ブロックを、数字は該当する順列行列の指数を、数字の存在しないブロックは０行列が対応する部分ブロックを、Iは該当順列行列の指数が０である単位行列を、それぞれ示す。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は移動通信システムに関するもので、特に、可変ブロック長を有するブロック低密度パリティ検査(Ｌｏｗ  Ｄｅｎｓｉｔｙ  Ｐａｒｉｔｙ  Ｃｈｅｃｋ：以下、“ＬＤＰＣ”といする)符号を符号化/復号化するための装置及び方法に関するものである。
【背景技術】
【０００２】
移動通信システムが急速に発展するにしたがって無線環境で有線ネットワークの容量(ｃａｐａｃｉｔｙ)に近接する大容量データを伝送することができる技術開発が要求されている。音声中心のサービスを超えて、映像、無線データのような多様な情報を処理して伝送可能な高速大容量通信システムが要求されることによって、適正なチャンネル符号化方式を使用してシステムの伝送効率を高めることがシステムの性能向上に必須的な要素になっている。しかしながら、この移動通信システムは、移動通信システムの特性上、データを伝送するときにチャンネルの状況により雑音(ｎｏｉｓｅ)と、干渉(ｉｎｔｅｒｆｅｒｅｎｃｅ)及びフェージング(ｆａｄｉｎｇ)によって不回避に誤りが発生する。この誤りの発生は、情報データの大量損失をもたらす。
【０００３】
このような誤り発生による情報データの損失を防止するために、チャンネルの特性により多様な誤り制御方式が使用され、それによって移動通信システムの信頼度を向上させることができる。誤り制御方式の中で、最も普遍的に使用されている誤り制御方式は誤り訂正符号(ｅｒｒｏｒ  ｃｏｒｒｅｃｔｉｏｎ  ｃｏｄｅ)を使用する方式である。
【０００４】
図１を参照して、一般的な移動通信システムにおける送受信器の構造について説明する。
図１は、一般的な移動通信システムの送受信器の構造を概略的に示す。図１を参照すると、送信器１００は、エンコーダ１１１と、変調器１１３と、無線周波数(Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ：以下、“ＲＦ”とする)処理器１１５とを含み、受信器１５０は、ＲＦ処理器１５１と、復調器(ｄｅｍｏｄｕｌａｔｏｒ)１５３と、デコーダ１５５とを含む。
【０００５】
送信器１００で、送信しようとする情報データ‘ｕ’が発生すと、この情報データ‘ｕ’はエンコーダ１１１に伝送される。エンコーダ１１１は、情報データ‘ｕ’を予め定められた符号化方式で符号化して符号化シンボル‘ｃ’を生成して変調器１１３に出力する。変調器１１３は、符号化シンボル‘ｃ’を予め定められた変調方式で変調して変調シンボル‘ｓ’を生成し、このシンボル‘ｓ’をＲＦ処理器１１５に出力する。ＲＦ処理器１１５は、変調器１１３から出力された変調シンボル‘ｓ’をＲＦ処理した後に、アンテナＡＮＴを通じてエアー(ａｉｒ)上に送信する。
【０００６】
このように、送信器１００によってエアー上に送信された信号は受信器１５０にアンテナＡＮＴを通じて受信され、このアンテナを通じて受信された信号はＲＦ処理器１５１に送られる。ＲＦ処理器１５１は、受信信号をＲＦ処理した後に、そのＲＦ処理された信号‘ｒ’を復調器１５３に出力する。復調器１５３は、ＲＦ処理器１５１から出力された信号‘ｒ’を入力して送信器１００の変調器１１３で適用した変調方式に対応する復調方式で復調した後に、その復調した信号‘ｘ’をデコーダ１５５に出力する。デコーダ１５５は、復調器１５３から出力された復調信号‘ｘ’を入力して、エンコーダ１１１で適用した符号化方式に対応する復号方式で復号し、その復号された信号
【０００７】
【数１】
2007531455.tif 000003
を最終的に復号された情報データとして出力する。
【０００８】
送信器１００によって送信された情報データ‘ｕ’を受信器１５０で誤りなしに復元するために性能が優れたエンコーダ及びデコーダを必要とする。特に、移動通信システムの特性上、無線チャンネル環境を考慮すべきであるため、無線チャンネル環境によって発生できる誤りはより深刻に考えられなければならない。
【０００９】
一番代表的な誤り訂正符号は、ターボ符号と低密度パリティ検査(ＬＤＰＣ)符号を含む。
【００１０】
ターボ符号は、従来の誤り訂正のために使用される畳み込み符号(ｃｏｎｖｏｌｕｔｉｏｎａｌ  ｃｏｄｅ)に比べて高速データ伝送時に性能利得に優れると知られている。このターボ符号は、伝送チャンネルで発生する雑音による誤りを効果的に訂正してデータ伝送の信頼度を高めることができるという長所を有する。また、ＬＤＰＣ符号は、ファクターグラフ(ｆａｃｔｏｒ  ｇｒａｐｈ)で積和(ｓｕｍ-ｐｒｏｄｕｃｔ)アルゴリズムに基づいた反復復号(ｉｔｅｒａｔｉｖｅ  ｄｅｃｏｄｉｎｇ)アルゴリズムを使用して復号可能である。ＬＤＰＣ符号のデコーダは、積和アルゴリズムに基づいた反復復号アルゴリズムを使用する。そのため、ＬＤＰＣ符号のデコーダは、ターボ符号のデコーダに比べて、低い複雑度を有し、加えて並列処理デコーダで実現することが容易である。
【００１１】
一方、Ｓｈａｎｎｏｎのチャンネル符号化理論は、チャンネルの容量を超えないデータレートに限って信頼性ある通信が可能であると明らかにしている。しかしながら、Ｓｈａｎｎｏｎのチャンネル符号化理論では、最大チャンネルの容量限界までのデータレートを支援するチャンネル符号化/復号化方法に関する具体的な提示は全くない。一般に、非常に大きなブロックサイズを有するランダム(ｒａｎｄｏｍ)符号は、Ｓｈａｎｎｏｎのチャンネル符号化理論のチャンネル容量限界に近接する性能を示すが、ＭＡＰ(Ｍａｘｉｍｕｍ  Ａ  Ｐｏｓｔｅｒｉｏｒｉ)又はＭＬ(Ｍａｘｉｍｕｍ  Ｌｉｋｅｌｉｈｏｏｄ)復号方法を使用する場合に、その計算量において過度な負荷(ｌｏａｄ)が存在して実際の実現が不可能であった。
【００１２】
ターボ符号は、１９９３年Ｂｅｒｒｏｕ、Ｇｌａｖｉｅｕｘ、及びＴｈｉｔｉｍａｊｓｈｉｍａによって提案され、Ｓｈａｎｎｏｎのチャンネル符号化理論のチャンネル容量限界に近接する優れた性能を有する。ターボ符号の提案により、符号の反復復号とグラフ表現に関する研究が活発に進行され、この時点でＧａｌｌａｇｅｒによって１９６２年に提案されたＬＤＰＣ符号が新しく注目を集めている。このターボ符号とＬＤＰＣ符号のファクターグラフ上にはサイクルが存在するが、このサイクルが存在するＬＤＰＣ符号のファクターグラフでの反復復号は準最適(ｓｕｂｏｐｔｉｍａｌ)であることはよく知られている事実である。また、ＬＤＰＣ符号が反復復号を通じて優れた性能を有するということは実験的に立証されたことである。現在、最高の性能を有すると知られているＬＤＰＣ符号は、ブロックサイズ１０７を使用してビット誤り率(Ｂｉｔ  Ｅｒｒｏｒ  Ｒａｔｅ：以下、ＢＥＲ)１０-５で、Ｓｈａｎｎｏｎのチャンネル符号化理論のチャンネル容量の限界で但し０.０４[ｄＢ]程度の差を有する性能を示す。また、ｑ＞２であるＧＦ(Ｇａｌｏｉｓ  Ｆｉｅｌｄ)、すなわちＧＦ(ｑ)で定義されたＬＤＰＣ符号は、その復号化過程で複雑度が増加するが、２進(ｂｉｎａｒｙ)符号に比べてはるかに性能が優れる。しかしながら、ＧＦ(ｑ)で定義されたＬＤＰＣ符号の反復復号アルゴリズムの成功的な復号に対する満足な理論的説明はまだなされていない。
【００１３】
Ｇａｌｌａｇｅｒによって提案されたＬＤＰＣ符号は、大部分のエレメントが０の値を有し、０の値を有するエレメント以外の極少数のエレメントが０でない(ｎｏｎ-ｚｅｒｏ)値、例えば１の値を有するパリティ検査行列によって定義される。以下に、説明の便宜上、０でない値を１であると仮定して説明する。
【００１４】
一例として、(Ｎ，ｊ，ｋ)ＬＤＰＣ符号は、ブロック長さＮを有する線形ブロック符号で、各列が１の値を有するｊ個のエレメントと、各行が１の値を有するｋ個のエレメントと、１の値を有するエレメントを除いたすべて０の値を有するエレメントとから構成された疎(ｓｐａｒｓｅ)構造のパリティ検査行列によって定義される。
【００１５】
上記に説明したように、パリティ検査行列内の各列のウェイトは‘ｊ’に一定し、パリティ検査行列内の各行のウェイトは‘ｋ’に一定のＬＤＰＣ符号は、“均一(ｒｅｇｕｌａｒ)ＬＤＰＣ符号”と呼ばれる。ここで、‘ウェイト(ｗｅｉｇｈｔ)’とは、パリティ検査行列を構成するエレメントの中で０でない値を有するエレメントの個数を示す。これとは異なって、パリティ検査行列内の各列のウェイトと各行のウェイトが一定でないＬＤＰＣ符号は、“不均一(ｉｒｒｅｇｕｌａｒ)ＬＤＰＣ符号”と呼ばれる。一般に、均一ＬＤＰＣ符号の性能に比べて不均一ＬＤＰＣ符号の性能がさらに優れるということが知られている。しかしながら、不均一ＬＤＰＣ符号の場合にパリティ検査行列内の各列のウェイトと各行のウェイトが一定しないため、すなわち不均一であるため、パリティ検査行列内の各列のウェイトと各行のウェイトは、優れた性能を保証するために適切に調節すべきである。
【００１６】
図２を参照して、(Ｎ，ｊ，ｋ)ＬＤＰＣ符号の一例として(８，２，４)ＬＤＰＣ符号のパリティ検査行列について説明する。
【００１７】
図２は、一般的な(８，２，４)ＬＤＰＣ符号のパリティ検査行列を示す。図２を参照すると、(８，２，４)ＬＤＰＣ符号のパリティ検査行列Ｈは８個の列と４個の行で構成され、各列のウェイトは２に固定され、各行のウェイトは４に固定される。このように、パリティ検査行列内の各列のウェイトと各行のウェイトが均一であるため、図２に示す(８，２，４)ＬＤＰＣ符号は均一ＬＤＰＣ符号となる。
【００１８】
図２を参照して、一般的な(８，２，４)ＬＤＰＣ符号のパリティ検査行列について説明する。次に、図３を参照して、図２で説明した(８，２，４)ＬＤＰＣ符号のファクターグラフについて説明する。
【００１９】
図３は、図２の(８，２，４)ＬＤＰＣ符号のファクターグラフを示す。図３を参照すると、(８，２，４)ＬＤＰＣ符号のファクターグラフは、８個の変数ノード、すなわちx１３００、x２３０２、x３３０４、x４３０６、x５３０８、x６３１０，ｘ７３１２，ｘ８３１４と、４個の検査ノード３１６，３１８，３２０，３２２とから構成される。(８，２，４)ＬＤＰＣ符号のパリティ検査行列のｉ番目の行とｊ番目の列の交差地点に１の値、すなわち０でない値を有するエレメントが存在する場合に、変数ノードｘｉとｊ番目の検査ノードとの間にブランチ(ｂｒａｎｃｈ)が生成される。
【００２０】
上記したように、ＬＤＰＣ符号のパリティ検査行列は非常に小さなウェイトを有するため、比較的長い長さを有するブロック符号でも反復復号を通じて復号の遂行が可能で、ブロック符号のブロック長を継続して増加させると、ターボ符号と共にＳｈａｎｎｏｎのチャンネルの容量限界に近接する形態の性能を示す。また、ＭａｃＫａｙとＮｅａｌは、フロー伝送方式を使用するＬＤＰＣ符号の反復復号過程がターボ符号の反復復号過程にほとんど近接する性能を有することを既に証明した。
高性能のＬＤＰＣ符号を生成するためには、次のような条件を満足させなければならない。
【００２１】
(１)ＬＤＰＣ符号のファクターグラフ上のサイクルを考慮すべきである。
“サイクル”とは、ＬＤＰＣ符号のファクターグラフで変数ノードと検査ノードに接続するエッジで形成されたループを意味する。サイクルの長さは、ループを構成するエッジの個数として定義される。長いサイクルは、ＬＤＰＣ符号のファクターグラフでループを構成する変数ノードと検査ノードに接続するエッジの個数が多いことを意味する。その反面、短いサイクルは、ＬＤＰＣ符号のファクターグラフでループを構成する変数ノードと検査ノードに接続するエッジの個数が少ないことを意味する。
【００２２】
ＬＤＰＣ符号のファクターグラフ上のサイクルがより長くなるほど、ＬＤＰＣ符号の性能効率が増加するが、その理由は次のようである。すなわち、長いサイクルがＬＤＰＣ符号のファクターグラフで生成された場合に、ＬＤＰＣ符号のファクターグラフ上に短いサイクルが多く存在するときに発生する誤りフロア(ｅｒｒｏｒ  ｆｌｏｏｒ）のような性能劣化を防止することが可能になる。
【００２３】
(２)ＬＤＰＣ符号の効率的な符号化を考慮すべきである。
ＬＤＰＣ符号はＬＤＰＣ符号の特性上、畳み込み符号やターボ符号に比べて符号化複雑度が高いため、リアルタイム符号化が難しくなる。ＬＤＰＣ符号の符号化複雑度を低下するために、反復累積(Ｒｅｐｅａｔ  Ａｃｃｕｍｕｌａｔｅ：ＲＡ)符号が提案された。しかしながら、ＲＡ符号もＬＤＰＣ符号の符号化複雑度を低下するのに限界を有する。したがって、ＬＤＰＣ符号の効率的な符号化を考慮しなければならない。
【００２４】
(３)ＬＤＰＣ符号のファクターグラフ上の次数分布を考慮すべきである。
一般に、均一ＬＤＰＣ符号より不均一ＬＤＰＣ符号が性能が優れ、その理由は、不均一ＬＤＰＣ符号のファクターグラフ上の次数が多様な次数を有するためである。ここで、“次数(ｄｅｇｒｅｅ)”とは、ＬＤＰＣ符号のファクターグラフで各ノード、すなわち変数ノードと検査ノードに接続されたエッジの個数を意味する。また、ＬＤＰＣ符号のファクターグラフ上の“次数分布”は、全体ノードの個数に対して特定次数を有するノードの個数の比を示す。特定の次数分布を有するＬＤＰＣ符号の性能が優れるということは、Ｒｉｃｈａｒｄｓｏｎによって既に証明された。
【００２５】
次に、図４を参照して、ブロックＬＤＰＣ符号のパリティ検査行列について説明する。
図４は、一般的なブロックＬＤＰＣ符号のパリティ検査行列を概略的に示す。図４を説明するに先立ち、ブロックＬＤＰＣ符号は効率的な符号化だけでなく効率的なパリティ検査行列の貯蔵及び性能改善をすべて考慮した新たなＬＤＰＣ符号として、このブロックＬＤＰＣ符号は均一ＬＤＰＣ符号の構造を一般化して拡張した概念のＬＤＰＣ符号である。図４を参照すると、ブロックＬＤＰＣ符号のパリティ検査行列は、全体パリティ検査行列を複数の部分ブロックに分割し、部分ブロック各々に順列行列(ｐｅｒｍｕｔａｔｉｏｎ  ｍａｔｒｉｘ）を対応させる。図４において、‘Ｐ’はＮｓ×Ｎｓサイズを有する順列行列を示し、この順列行列Ｐの上付き添字(ｓｕｐｅｒｓｃｒｉｐｔ)ａpqは０≦ａpq≦Ｎｓ-１或いはａpq＝∞である。
【００２６】
また、‘ｐ’は該当順列行列がパリティ検査行列の複数の部分ブロックのｐ番目の行に位置することを示し、‘ｑ’は該当順列行列がパリティ検査行列の複数の部分ブロックのｑ番目の列に位置することを示す。すなわち、Ｐa pqは、複数の部分ブロックで構成されたパリティ検査行列のｐ番目の行とｑ番目の列が交差する地点の部分ブロックに位置する順列行列を示す。すなわち、‘ｐ’と‘ｑ’は、パリティ検査行列で情報部分に該当する部分ブロックの行と列の個数を示す。
【００２７】
この順列行列について、図５を参照して説明する。
図５は、図４の順列行列Ｐを示す。図５に示すように、順列行列ＰはＮｓ×Ｎｓサイズを有する正方行列として、この順列行列Ｐは順列行列Ｐを構成するＮｓ個の列それぞれのウェイト１を有し、順列行列Ｐを構成するＮｓ個の行それぞれのウェイトも１を有する。ここで、順列行列ＰのサイズはＮｓ×Ｎｓで表現したが、この順列行列Ｐが正方行列であるので、そのサイズを説明の便宜上、Ｎｓでも示す。
【００２８】
図４で、順列行列Ｐの上付き添字ａpq＝０であるときに、すなわち順列行列Ｐ０は単位行列(Ｉｄｅｎｔｉｔｙ  ｍａｔｒｉｘ)ＩNs×Nsを示し、順列行列Ｐの上付き添字ａpq＝∞であるとき、すなわち順列行列Ｐ∞は０(ｚｅｒｏ)行列を示す。ここで、ＩNs×NsはサイズＮｓ×Ｎｓである単位行列を示す。
【００２９】
図４に示したブロックＬＤＰＣ符号の全体パリティ検査行列で、全体行の個数がＮｓ×ｐで、全体列の個数がＮｓ×ｑである(但し、ｐ≦ｑ)ため、このブロックＬＤＰＣ符号の全体パリティ検査行列が最大ランク(ｒａｎｋ)を有する場合に部分ブロックのサイズに関係なく符号化率は下記の式のように示す。
【００３０】
【数２】
2007531455.tif 000004
【００３１】
すべてのp、qに対してａｐｑ≠∞である場合に、部分ブロックの各々に対応する順列行列は０行列でないことを示し、部分ブロックの各々に対応する順列行列の各列のウェイトはｐ、各行のウェイトはｑである均一ＬＤＰＣ符号となる。ここで、部分ブロックに対応する順列行列を“部分行列”と呼ばれる。
【００３２】
また、全体パリティ検査行列は、ｐ-１個の従属(ｄｅｐｅｎｄｅｎｔ)行が存在するため、符号化率は式（１）で計算した符号化率より大きい。ブロックＬＤＰＣ符号は、全体パリティ検査行列を構成する部分行列それぞれの第１の行のウェイト位置が決定されると、残りのＮs-１個の行のウェイト位置が決定される。したがって、全体パリティ検査行列の情報を格納するために不規則にウェイトを選択する場合に比べては必要とするメモリのサイズが１/Ｎsに減少する。
【００３３】
上記したように、“サイクル”は、パリティ検査行列のＬＤＰＣ符号のファクターグラフで変数ノードと検査ノードに接続するエッジによって形成されたループを意味し、サイクルの長さはループを構成するエッジの個数として定義される。長いサイクルは、ＬＤＰＣ符号のファクターグラフでループを構成する変数ノードと検査ノードに接続するエッジの個数が多いことを意味する。ＬＤＰＣ符号のファクターグラフ上のサイクルが長くなるほど、ＬＤＰＣ符号の性能効率が増加する。
【００３４】
一方、ＬＤＰＣ符号のファクターグラフ上に長さが短いほど、ＬＤＰＣ符号は誤りフロアのような性能劣化が発生するので、その誤り訂正能力が低下する。すなわち、ＬＤＰＣ符号のファクターグラフ上に短いサイクルが多く存在する場合に、長さが短いサイクルに属している任意のノードの情報が少ない反復回数を遂行した後に更に戻る。反復回数が増加するほど、その情報が継続して戻ってくるため、情報のアップデートが円滑に遂行できず、それによって誤り訂正能力が低下する。
【００３５】
図６を参照して、ブロックＬＤＰＣ符号のサイクル構造について説明する。
図６は、パリティ検査行列が４個の部分行列で構成されたブロックＬＤＰＣ符号のサイクル構造を概略的に示す。図６を説明するに先立ち、ブロックＬＤＰＣ符号は効率的な符号化だけでなく効率的なパリティ検査行列の貯蔵及び性能改善をすべて考慮した新たなＬＤＰＣ符号として、均一ＬＤＰＣ符号の構造を一般化して拡張した概念のＬＤＰＣ符号である。図６に示すブロックＬＤＰＣ符号のパリティ検査行列は４個のブロックで構成され、斜線は１の値を有するエレメントが存在する位置を示し、斜線部分以外の部分はすべて０の値を有するエレメントが存在する位置を示す。また、‘Ｐ’は図５で説明したような順列行列と同一の順列行列を示す。
【００３６】
図６に示すブロックＬＤＰＣ符号のサイクル構造を分析するために、部分行列Ｐａのｉ番目の行に位置する１の値を有するエレメントは基準エレメントとして定義し、ｉ番目の行に位置する１の値を有するエレメントは“０-点”と称する。ここで、“部分行列”は部分ブロックに対応する行列を示す。この０-点は、部分行列Ｐａのｉ＋ａ番目の列に位置する。
【００３７】
０-点と同一の行に位置した部分行列Ｐｂで１の値を有するエレメントは、“１-点”と称する。この０-点と同一の理由で、１-点は部分行列Ｐｂのｉ＋ｂ番目の列に位置する。
次に、１-点と同一の列に位置した部分行列Ｐｃで１の値を有するエレメントは“２-点”と称する。部分行列Ｐｃが単位行列Ｉの列各々を右にモジュロＮｓに対してｃだけ移動して獲得した行列であるため、２-点は部分行列Ｐｃの(ｉ＋ｂ−ｃ)番目の行に位置する。
【００３８】
なお、２-点と同一の行に位置した部分行列Ｐｄで１の値を有するエレメントは“３-点”と称する。この３-点は部分行列Ｐｄで(ｉ＋ｂ−ｃ＋ｄ)番目の列に位置する。
最終的に、３-点と同一の列に位置した部分行列Ｐａで１の値を有するエレメントを“４-点”と称する。４-点は、部分行列Ｐａで(ｉ＋ｂ−ｃ＋ｄ−ａ)番目の行に位置する。
図６に示すＬＤＰＣ符号のサイクル構造で、４の長さであるサイクルが存在すると、０-点と４-点は相互に同一の位置に位置する。すなわち、０-点と４-点との間には、下記の式のような関係が成立する。
【００３９】
【数３】
2007531455.tif 000005
【００４０】
この式（２）は、下記の式のように示すことができる。
【００４１】
【数４】
2007531455.tif 000006
【００４２】
その結果、式（３）のような関係が成立するときに、長さが４であるサイクルが生成される。一般に、０-点と４ｐ-点が最初に相互に同一になる場合に、ｉ≒ｉ＋ｐ(ｂ-ｃ＋ｄ-ｅ)（ｍｏｄＮｓ）の関係が成立し、下記の式に示す関係を満たす。
【００４３】
【数５】
2007531455.tif 000007
【００４４】
更に説明すると、与えられたa、b、c、dに対して式（４）を満たす正の整数の中で最小値を有する正の整数を‘ｐ’とすると、図６に示すように、ブロックＬＤＰＣ符号のサイクル構造では長さが４ｐであるサイクルが最小長さを有するサイクルとなる。
【００４５】
結果的に、上述したように、(ａ-ｂ＋ｃ-ｄ)≠０に対して、ｇｃｄ(Ｎｓ，ａ-ｂ＋ｃ-ｄ)＝１が成立すると、ｐ＝Ｎｓとなる。ここで、ｇｃｄ(Ｎｓ，ａ-ｂ＋ｃ-ｄ)は整数Ｎｓとａ-ｂ＋ｃ-ｄの“最大公約数”を計算するための関数である。したがって、長さが４Ｎｓであるサイクルは最小長さを有するサイクルとなる。
【００４６】
このブロックＬＤＰＣ符号の符号化方式としてＲｉｃｈａｒｄｓｏｎ-Ｕｒｂａｎｋｅ方式が使用される。Ｒｉｃｈａｒｄｓｏｎ-Ｕｒｂａｎｋｅ方式は符号化方式として使用されるため、パリティ検査行列の形態は、完全下三角行列形態に類似した形態を有するほど符号化の複雑度を最小化させることができる。
【００４７】
図７を参照して、完全下三角行列の形態と類似した形態を有するパリティ検査行列について説明する。
図７は、完全下三角行列形態に類似した形態を有するパリティ検査行列を示す。図７に示すパリティ検査行列は、完全下三角行列形態のパリティ検査行列に比べてパリティ部分の形態が完全下三角行列の形態と異なる。図７で、情報部分の順列行列Ｐの上付き添字ａpqは上記したように０≦ａpq≦Ｎｓ-１或いはａpq＝∞である。情報部分の順列行列Ｐの上付き添字ａpq＝０であるときに、すなわち順列行列Ｐ０は単位行列ＩNs×Nsを示し、順列行列Ｐの上付き添字ａpq＝∞であるとき、すなわち順列行列Ｐ∞は０(ｚｅｒｏ)行列を示す。図７で、‘ｐ’と‘ｑ’はパリティ検査行列で情報部分に対応する部分ブロックの行と列の個数をそれぞれ示す。また、パリティ部分の順列行列Ｐの上付き添字ａp，ｘ，ｙは順列行列Ｐの指数を示し、但し、説明の便宜上、情報部分とパリティ部分との区分のために異なるように設定しただけである。すなわち、図７で、Ｐa 1とＰa pも順列行列で、上付き添字ａ１乃至ａｐはパリティ部分の大角部分に位置する部分行列に順次的にインデックスを与える。また、ＰｘとＰｙも順列行列で、説明の便宜上、情報部分とパリティ部分との区分のために任意のインデックスを与える。図７に示すように、パリティ検査行列を有するブロックＬＤＰＣ符号のブロックサイズをＮであると仮定すれば、ブロックＬＤＰＣ符号の符号化複雑度はブロックサイズＮに対して線形的に増加する(０(Ｎ))。
【００４８】
図７のパリティ検査行列を有するＬＤＰＣ符号の一番大きな問題点は、部分ブロックの長さがＮｓであるときに、ブロックＬＤＰＣ符号のファクターグラフ上に常に次数が１であるＮｓ個の検査ノードが生成されるということである。ここで、次数が１である検査ノードは、反復復号に基づいた性能改善に影響を与えることができない。したがって、Ｒｉｃｈａｒｄｓｏｎ-Ｕｒｂａｎｋｅ方式に基づいた標準不均一ＬＤＰＣ符号は、次数が１である検査ノードを含んでいない。したがって、次数が１である検査ノードを含まずに効率的な符号化が可能なようにパリティ検査行列を設計するために、図７のようなパリティ検査行列を基本的なパリティ検査行列として仮定する。図７のように部分行列で構成されたパリティ検査行列で、部分行列の選択はブロックＬＤＰＣ符号の性能改善において非常に重要な要素で、それによって部分行列の適切な選択基準を探すことも非常に重要な要素となる。
【００４９】
すると、上記したブロックＬＤＰＣ符号の構成に基づいてブロックＬＤＰＣ符号のパリティ検査行列の設計方法について説明する。
【００５０】
ブロックＬＤＰＣ符号のパリティ検査行列の設計方法とブロックＬＤＰＣ符号の符号化方法を容易にするために、図７に示すパリティ検査行列は図８に示すように６個の部分行列で構成されると仮定する。
【００５１】
図８は、６個の部分ブロックに分けられた図７のパリティ検査行列を示す。図８を参照すると、図７に示したブロックＬＤＰＣ符号のパリティ検査行列を情報部分‘ｓ’と、第１のパリティ部分ｐ１と、第２のパリティ部分ｐ２に分割する。ここで、情報部分‘ｓ’は、図７で説明した情報部分のようにブロックＬＤＰＣ符号を符号化する過程で実際の情報語にマッピングされるパリティ検査行列の部分を示し、但し、説明の便宜上、表記を異なるようにするだけである。また、第１のパリティ部分ｐ１と第２のパリティ部分ｐ２は、図７で説明したパリティ部分のように、ブロックＬＤＰＣ符号を符号化する過程で実際パリティにマッピングされるパリティ検査行列の部分を示し、パリティ部分を２個の部分に分割される。
【００５２】
情報部分‘ｓ’の部分ブロックＡ８０２と部分ブロックＣ８０４に対応する部分行列がＡとＣであり、第１のパリティ部分ｐ１の部分ブロックＢ８０６と部分ブロックＤ８０８に対応する部分行列がＢとＤであり、第２のパリティ部分ｐ２の部分ブロックＴ８１０と部分ブロックＥ８１２に対応する部分行列がＴとＥである。図８には、パリティ検査行列が７個の部分ブロックに分割されたように示しているが、‘０’は別途の部分ブロックでなく、部分ブロックＴ８１０に対応する部分行列Ｔが完全下三角形態を有するため、対角線を中心に０行列が配置された領域を０で示すものである。情報部分‘ｓ’と、第１のパリティ部分ｐ１と、第２のパリティ部分ｐ２の部分行列を使用して符号化方法を簡略にする過程は、下記の図１０を参照して後述する。
【００５３】
下記に、図８の部分行列を図９を参照して説明する。
図９は、図７のパリティ検査行列の部分行列を図８の部分行列Ｂの転置行列と、部分行列Ｅと、部分行列Ｔと、部分行列Ｔの逆行列で示す。
図９を参照すると、部分行列ＢＴは部分行列Ｂの転置行列(ｔｒａｎｓｐｏｓｅ  ｍａｔｒｉｘ）を示し、部分行列Ｔ-１は部分行列Ｔの逆行列を示す。また、Ｐ(k1〜k2)
は式（５）で示す。
【００５４】
【数６】
2007531455.tif 000008
【００５５】
また、図９に示す順列行列は、例えば、Ｐa 1は単位行列である。上述したように、順列行列の上付き添字、すなわちａ１が０であると、Ｐa 1は単位行列である。また、順列行列の上付き添字、すなわちａ１が予め定められた値だけ増加する場合に、順列行列が予め定められた値だけ循環シフトされ、結果的に順列行列Ｐa 1は単位行列となる。
【００５６】
図１０を参照して、ブロックＬＤＰＣ符号のパリティ検査行列を設計する過程について説明する。
図１０は、一般的なブロックＬＤＰＣ符号のパリティ検査行列の生成手順を示すフローチャートである。図１０を説明するに先立ち、ブロックＬＤＰＣ符号を生成するためには、生成しようとするブロックＬＤＰＣ符号の符号語サイズと符号化率を決定し、決定された符号語サイズと符号化率に対応してパリティ検査行列のサイズを決定しなければならない。ブロックＬＤＰＣ符号の符号語サイズはＮで示し、符号化率はＲで示すときに、パリティ検査行列のサイズはＮ(１-Ｒ)×Ｎになる。また、図１０に示すブロックＬＤＰＣ符号のパリティ検査行列の生成過程は１回の遂行のみで可能である。その理由は、初期に通信システムのシステム状況に合うように生成され、以後には生成されたパリティ検査行列を使用すれば良いためである。
【００５７】
図１０を参照すると、制御器は、ステップ１０１１で、サイズＮ(１-Ｒ)×Ｎのパリティ検査行列を横軸でｐ個のブロックに分割し、縦軸でｑ個のブロックに分割して総(ｐ×ｑ)個のブロックに分割した後に、ステップ１０１３に進行する。ブロックのそれぞれのサイズはＮｓ×Ｎｓであるため、パリティ検査行列はＮｓ×ｐ個の行とＮｓ×ｑ個の列で構成される。ステップ１０１３で、制御器は、ｐ×ｑ個のブロックに分割したパリティ検査行列を情報部分ｓとパリティ部分、すなわち第１のパリティ部分ｐ１と第２のパリティ部分ｐ２に分類し、ステップ１０１５及び１０２１に進行する。
【００５８】
ステップ１０１５で、制御器は、情報部分‘ｓ’をブロックＬＤＰＣ符号の優秀な性能を保証する次数分布により０でないブロック、すなわち０行列でないブロックと０ブロック、すなわち０行列であるブロックに区別し、ステップ１０１７に進行する。ここで、ブロックＬＤＰＣ符号の優秀な性能を保証する次数分布は上記に説明したようであるため、ここではその詳細な説明を省略する。ステップ１０１７で、制御器は、ブロックＬＤＰＣ符号の優秀な性能を保証する次数分布に合うように決定されたブロックの中で、低い次数を有するブロックの中で０行列でない部分に上記したように、ブロックサイクルの最小サイクル長さが最大になるように順列行列Ｐa pqを決定し、ステップ１０１９に進行する。この順列行列Ｐa pqは、情報部分‘ｓ’だけでなく第１のパリティ部分ｐ１と第２のパリティ部分ｐ２のブロックサイクルも考慮して決定しなければならない。
【００５９】
ステップ１０１９で、制御器は、ブロックＬＤＰＣ符号の優れた性能を保証する次数分布に合うように決定されたブロックの中で高い次数を有するブロックのうち、０行列でない部分にランダムに順列行列を決定して終了する。ここで、高い次数を有するブロックのうち、０行列でない部分に適用する順列行列Ｐa pqを決定するときにも、ブロックサイクルの最小サイクルのサイズが最大になるように順列行列Ｐa pqを決定すべく、情報部分‘ｓ’だけでなく第１のパリティ部分ｐ１と第２のパリティ部分ｐ２のブロックサイクルも考慮して決定すべきである。上記のように、パリティ検査行列の情報部分‘ｓ’に順列行列Ｐa pqを配列した例を図７に示している。
【００６０】
ステップ１０２１で、制御器は、パリティ部分、すなわち第１のパリティ部分ｐ１と第２のパリティ部分ｐ２を４個の部分行列Ｂ，Ｔ，Ｄ，Ｅに分割した後に、ステップ１０２３に進行する。ステップ１０２３で、制御器は、部分行列Ｂを構成する部分ブロックの中で２個の部分ブロックに０でない順列行列ＰｙとＰa 1を入力し、ステップ１０２５に進行する。ここで、部分行列Ｂを構成する部分ブロックの中で２個の部分ブロックに０でない順列行列ＰｙとＰa 1を入力する構造は、図９を参照して説明する。
【００６１】
ステップ１０２５で、制御器は、部分行列Ｔの大角部分ブロックには単位行列Ｉを入力し、部分行列Ｔの大角成分の下の(ｉ，ｉ＋１)番目の部分ブロックには任意の順列行列Ｐa 2,Ｐa 3,…,Ｐa m-1を入力し、ステップ１０２７に進行する。ここで、部分行列Ｔの大角部分ブロックには単位行列Ｉを入力し、部分行列Ｔの大角成分の下の(ｉ，ｉ＋１)番目の部分ブロックには任意の順列行列Ｐa 2,Ｐa 3,…,Ｐa m-1を入力する構造は、既に図９に示したようである。
ステップ１０２７で、制御器は、部分行列Ｄに順列行列Ｐｘを入力し、ステップ１０２９に進行する。ステップ１０２９で、制御器は、部分行列Ｅで最後の部分ブロックのみにＰa pqを入力して終了する。ここで、部分行列Ｅを構成する部分ブロックのうち、最後の部分ブロックに２個のＰa pqを入力する構造は、既に図９を参照して説明した。
【発明の開示】
【発明が解決しようとする課題】
【００６２】
上記したように、ＬＤＰＣ符号は、ターボ符号と一緒に高速データ伝送時に性能利得が優れると知られており、伝送チャンネルで発生する雑音による誤りを効果的に訂正してデータ伝送の信頼度を高めるという長所を有する。しかしながら、ＬＤＰＣ符号は、符号化率の面で短所を有する。すなわち、ＬＤＰＣ符号は、比較的高い符号化率を有するため、符号化率の面から限界を有するという短所があった。現在、提案されているＬＤＰＣ符号の場合に、大部分のＬＤＰＣ符号が１/２の符号化率を有し、一部のみのＬＤＰＣ符号は１/３の符号化率を有する。このように、符号化率における制限は、結果的に高速の大容量データ伝送に致命的な影響を及ぼす。もちろん、比較的低い符号化率を実現するために密度進化(ｄｅｎｓｉｔｙ  ｅｖｏｌｕｔｉｏｎ)方式を用いて最適の性能を示す次数分布を求めるが、最適の性能を示す次数分布を有するＬＤＰＣ符号を実現することはファクターグラフ上のサイクル構造とハードウェアの実現などの多様な制約条件によって困難さがあった。
【００６３】
したがって、本発明の目的は、移動通信システムで可変ブロック長を有するＬＤＰＣ符号を符号化/復号化する装置及び方法を提供することにある。
【００６４】
また、本発明の目的は、移動通信システムで符号化の複雑度が最小化され、可変ブロック長を有するＬＤＰＣ符号を符号化/復号化する装置及び方法を提供することにある。
【課題を解決するための手段】
【００６５】
上記のような目的を達成するために、本発明は、可変長を有するブロック低密度パリティ検査(ＬＤＰＣ)符号を符号化する方法であって、情報語を受信する段階と、前記情報語をブロックＬＤＰＣ符号として生成するときに、適用される長さに対応して第１のパリティ検査行列と第２のパリティ検査行列のうちのいずれか一つに基づいて前記ブロックＬＤＰＣ符号に符号化する段階と、を有することを特徴とする。
【００６６】
また、本発明は、可変長を有するブロック低密度パリティ検査(ＬＤＰＣ)符号を符号化する装置で、情報語をブロックＬＤＰＣ符号として生成するときに、適用される長さに対応して第１のパリティ検査行列と第２のパリティ検査行列のうちの一つに基づいて前記情報語を前記ブロックＬＤＰＣ符号に符号化するエンコーダと、前記ブロックＬＤＰＣ符号を変調方式を用いて変調シンボルに変調する変調器と、を含むことを特徴とする。
【００６７】
本発明は、可変長を有するブロック低密度パリティ検査(ＬＤＰＣ)符号を復号する方法であって、信号を受信する段階と、復号するブロックＬＤＰＣ符号の長さにより第１のパリティ検査行列と第２のパリティ検査行列のうちの一つを選択し、前記選択されたパリティ検査行列により前記受信信号を復号して前記ブロックＬＤＰＣ符号を検出する段階と、を有することを特徴とする。
【００６８】
さらに、本発明は、可変長を有するブロック低密度パリティ検査(ＬＤＰＣ)符号を復号する装置であって、信号を受信する受信器と、復号するブロックＬＤＰＣ符号の長さにより第１のパリティ検査行列と第２のパリティ検査行列のうちの一つを選択し、前記選択されたパリティ検査行列により前記受信信号を復号して前記ブロックＬＤＰＣ符号を検出するデコーダと、を含むことを特徴とする。
【発明の効果】
【００６９】
本発明は、移動通信システムで最小のサイクル長さが最大化された可変長ブロックＬＤＰＣ符号を提案することによって、誤り訂正能力を最大化してシステム性能を向上させる効果を有する。また、本発明は、効率的なパリティ検査行列を生成することによって、可変長ブロックＬＤＰＣ符号の符号化複雑度を最小化する効果を有する。なお、可変長ブロックＬＤＰＣ符号の符号化の複雑度をブロック長に比例することで、効率的な符号化を可能にする利点を有する。特に、本発明は、多様な符号化率に適用可能で、多様なブロック長を有するブロックＬＤＰＣ符号を生成することで、ハードウェアの複雑度を最小化する利点も有する。
【発明を実施するための最良の形態】
【００７０】
以下、本発明の望ましい実施形態を添付の図面を参照して詳細に説明する。
下記に、本発明に関連した公知の構成又は機能に関する具体的な説明が本発明の要旨を不明にすると判断された場合に、その詳細な説明を省略する。
本発明は、可変ブロック長を有するブロック低密度パリティ検査(Ｌｏｗ  Ｄｅｎｓｉｔｙ  Ｐａｒｉｔｙ  Ｃｈｅｃｋ：以下、“ＬＤＰＣ”とする)符号(以下、“可変長ブロックＬＤＰＣ符号”と称する)を符号化及び復号化する装置及び方法を提案する。すなわち、本発明は、ブロックＬＤＰＣ符号のファクターグラフ(ｆａｃｔｏｒ  ｇｒａｐｈ)上の最小サイクルの長さを最大にし、ブロックＬＤＰＣ符号の符号化のための複雑度を最小にし、ブロックＬＤＰＣ符号のファクターグラフ上の次数分布が最適の１の値を持ちつつ、多様なブロック長を支援する可変長ブロックＬＤＰＣ符号の符号化及び復号化装置及び方法を提案する。本発明で別途に図示してはいないが、本発明による可変長ブロックＬＤＰＣ符号の符号化及び復号化装置は、図１を参照して説明した送受信機の構成に適用可能である。
【００７１】
次世代移動通信システムは、パケットサービス通信システムの形態で発展されており、パケットサービス通信システムはバーストなパケットデータを複数の移動局に伝送するシステムとして、大容量のデータ伝送に適合するように設計されてきた。特に、データ伝送量を増加させるために、ＨＡＲＱ(Ｈｙｂｒｉｄ  Ａｕｔｏｍａｔｉｃ  Ｒｅｔｒａｎｓｍｉｓｓｉｏｎ  Ｒｅｑｕｅｓｔ)方式とＡＭＣ(Ａｄａｐｔｉｖｅ  Ｍｏｄｕｌａｔｉｏｎ  ａｎｄ  Ｃｏｄｉｎｇ)方式が提案された。これらＨＡＲＱ方式及びＡＭＣ方式は可変符号化率を支援するため、多様なブロック長を有するブロックＬＤＰＣ符号を必要とする。
【００７２】
可変長ブロックＬＤＰＣ符号の設計は、一般的なＬＤＰＣ符号を設計する場合のように、パリティ検査行列の設計を通じて実現される。しかしながら、移動通信システムで、一つのコーデック(ＣＯＤＥＣ)で可変長ブロックＬＤＰＣ符号を提供するために、すなわち多様なブロック長を有するブロックＬＤＰＣ符号を提供するために、パリティ検査行列は、異なるブロック長のブロックＬＤＰＣ符号を示すことができるパリティ検査行列を含むべきである。次に、可変ブロック長を提供するブロックＬＤＰＣ符号のパリティ検査行列について説明する。
【００７３】
まず、設計しようとする符号化率に対してシステムで要求する最小長さを有するブロックＬＤＰＣ符号を設計する。パリティ検査行列で、部分行列のサイズであるＮｓが増加すると、ブロック長の長いブロックＬＤＰＣ符号が生成される。ここで、“部分行列”は、上述したように、パリティ検査行列を複数の部分ブロックに分割した場合に、その部分ブロックの各々に対応する順列行列を示す。部分行列のサイズであるＮｓを増加させると、サイクル構造が変更されるため、短い長さのブロックＬＤＰＣ符号を設計し、その次に長い長さのブロックＬＤＰＣ符号を設計する形態に拡張する場合を仮定し、パリティ検査行列の順列行列の指数をサイクルの長さが最大になるように選択する。ここで、部分行列のサイズがＮｓであることは、部分行列がＮｓ×Ｎｓのサイズを有する正方行列であることを意味し、説明の便宜上、部分行列のサイズをＮｓで示す。
【００７４】
一例として、基本ブロックＬＤＰＣ符号の部分ブロックサイズがＮｓ＝２であると仮定すれば、基本ブロックＬＤＰＣ符号の２倍の長さであるＮｓ＝４のブロックＬＤＰＣ符号に拡張しようとするときに、順列行列の指数が０である部分行列はＮｓ＝２からＮｓ＝４にその長さが増加すると、０又は２の値が選択可能である。２個の値の中で、サイクルが最大化可能な値を選択しなければならない。同様に、Ｎｓ＝２であるブロックＬＤＰＣ符号で指数が１である部分行列はＮｓ＝２からＮｓ＝４にその長さが増加すると、１又は３の値を選択することができる。
【００７５】
上記したように、基本ブロックＬＤＰＣ符号を用いてＮｓの値を増加させつつ、ブロックＬＤＰＣ符号を設計することによって、各ブロック長別に最大性能を有するブロックＬＤＰＣ符号の設計が可能である。また、多様な長さを有するブロックＬＤＰＣ符号の中で、任意の１個のブロックＬＤＰＣ符号は基本ブロックＬＤＰＣ符号として定義できるので、メモリの効率性の面でも利得が有するようになる。ここで、可変長ブロックＬＤＰＣ符号のパリティ検査行列を生成する方法について説明する。本発明では、可変長ブロックＬＤＰＣ符号のパリティ検査行列を符号化率により４つの形態で提案され、本発明で考慮する符号化率は１/２、２/３、３/４、５/６を含む。
【００７６】
この符号化率１/２、２/３、３/４、５/６による可変長ブロックＬＤＰＣ符号のパリティ検査行列に対して説明する前に、図１５を参照して本発明で設計されたパリティ検査行列を使用して可変長ブロックＬＤＰＣ符号を符号化する過程を説明する。
【００７７】
図１５は、本発明の第１乃至第４の実施形態による可変長ブロックＬＤＰＣ符号の符号化手順を示すフローチャートである。図１５を説明するに先立ち、可変長ブロックＬＤＰＣ符号のパリティ検査行列は、図８を参照して説明したように、６個の部分行列で構成されると仮定する。
【００７８】
図１５を参照すると、制御器(図示せず）は、ステップ１５１１で、可変長ブロックＬＤＰＣ符号に符号化するための情報語ベクトル‘s’を受信し、ステップ１５１３及び１５１５に進行する。ここで、ブロックＬＤＰＣ符号に符号化するために受信された情報語ベクトル‘s’の長さはｋであると仮定する。ステップ１５１３で、制御器は、受信された情報語ベクトル‘s’とパリティ検査行列の部分行列Ａを行列乗算(Ａs)した後に、ステップ１５１７に進行する。ここで、部分行列Ａに存在する１の値を有するエレメントの個数は０の値を有するエレメントの個数より非常に少ないため、情報語ベクトルsとパリティ検査行列の部分行列Ａの行列乗算Ａsは、比較的少ない回数の積和(ｓｕｍ-ｐｒｏｄｕｃｔ)演算だけでも可能になる。また、部分行列Ａで、１の値を有するエレメントの位置は０でないブロックの位置とそのブロックの順列行列の指数乗として示すことができるため、任意のパリティ検査行列に比べて非常に簡単な演算だけでも行列乗算が遂行可能である。また、ステップ１５１５で、制御器は、パリティ検査行列の部分行列Ｃと情報語ベクトル‘s’の行列乗算Ｃsを遂行し、ステップ１５１９に進行する。
【００７９】
ステップ１５１７で、制御器は、情報語ベクトルsとパリティ検査行列の部分行列Ａの行列乗算の結果Ａsと、行列ＥＴ-１との行列乗算ＥＴ-１Ａsを遂行し、ステップ１５１９に進行する。ここで、上記したように、行列ＥＴ-１で１の値を有するエレメントの個数は非常に少ないため、ブロックの順列行列の指数が与えられると、行列乗算が容易に遂行可能である。ステップ１５１９で、制御器は、ＥＴ-１ＡsとＣsを加算して第１のパリティベクトルＰ1を計算し(Ｐ1＝ＥＴ-１Ａs＋Ｃs)、ステップ１５２１に進行する。ここで、加算演算は排他的論理和(ＸＯＲ)演算で、同一の値を有するビット間の演算は０となり、異なる値を有するビット間の演算は１となる。すなわち、スタップ１５１９までの過程は、第１のパリティベクトルＰ1を計算するための過程である。
【００８０】
ステップ１５２１で、制御器は、パリティ検査行列の部分行列Ｂと第１のパリティベクトルＰ1を乗算し(ＢＰ1)、この乗算の結果とＡsとを加算した(Ａs＋ＢＰ1)後に、ステップ１５２３に進行する。ここで、情報語ベクトルsと第１のパリティベクトルＰ1が与えられると、第２のパリティベクトルＰ2を求めるためにパリティ検査行列の部分行列Ｔの逆行列Ｔ-１を乗算しなければならない。したがって、ステップ１５２３で、制御器は、第２のパリティベクトルＰ2を求めるために、ステップ１５２１の計算結果(Ａs＋ＢＰ1)と部分行列Ｔの逆行列Ｔ-１を乗算し(Ｐ2＝Ｔ-１(Ａs＋ＢＰ1))、ステップ１５２５に進行する。上記したように、符号化しようとするブロックＬＤＰＣ符号の情報語ベクトルsが与えられると、第１のパリティベクトルＰ1と、第２のパリティベクトルＰ2を求めることができ、その結果、すべての符号語ベクトルが得られる。ステップ１５２５で、制御器は、情報語ベクトルs、第１のパリティベクトルＰ1、及び第２のパリティベクトルＰ2を用いて符号語ベクトル‘c’を生成して伝送する。
【００８１】
次に、図１６を参照して、本発明の第１乃至第４の実施形態による可変長ブロックＬＤＰＣ符号の符号化のための装置の内部構造について説明する。
図１６は、本発明の実施形態による可変長ブロックＬＤＰＣ符号の符号化のための装置の内部構造を示すブロック構成図である。図１６を参照すると、可変長ブロックＬＤＰＣ符号の符号化装置は、行列Ａ乗算器１６１１と、行列Ｃ乗算器１６１３と、行列ＥＴ-１乗算器１６１５と、加算器１６１７と、行列Ｂ乗算器１６１９と、加算器１６２１と、行列Ｔ-１乗算器１６２３と、スイッチ１６２５，１６２７，１６２９とを含む。
【００８２】
入力信号、すなわち可変長ブロックＬＤＰＣ符号に符号化するための長さｋの情報語ベクトル‘s’が受信されると、この受信された長さｋの情報語ベクトルsはスイッチ１６２５と、行列Ａ乗算器１６１１と、行列Ｃ乗算器１６１３に入力される。行列Ａ乗算器１６１１は、情報語ベクトルsと全体パリティ検査行列の部分行列Ａを乗算し、その乗算結果を行列ＥＴ-１乗算器１６１５と加算器１６２１に出力する。行列Ｃ乗算器１６１３は、情報語ベクトルsと全体パリティ検査行列の部分行列Ｃを乗算し、その乗算結果を加算器１６１７に出力する。行列ＥＴ-１乗算器１６１５は、行列Ａ乗算器１６１１から出力された信号と全体パリティ検査行列の部分行列ＥＴ-１を乗算し、その乗算結果を加算器１６１７に出力する。
【００８３】
加算器１６１７は、行列ＥＴ-１乗算器１６１５から出力された信号と行列Ｃ乗算器１６１３から出力された信号とを加算し、その加算結果を行列Ｂ乗算器１６１９及びスイッチ１６２７に出力する。ここで、加算器１６１７は、ビット別に排他的論理和演算を遂行する。例えば、長さが３であるベクトルｘ＝(ｘ１，ｘ２，ｘ３)と長さが３であるベクトルｙ＝(ｙ１，ｙ２，ｙ３)が加算器１６１７に入力される場合に、加算器１６１７は長さ３のベクトルｘ＝(ｘ１，ｘ２，ｘ３)と長さ３のベクトルｙ＝(ｙ１，ｙ２，ｙ３)を排他的論理和演算して長さ３のベクトルＺを式（６）に従い出力する。
【００８４】
【数７】
2007531455.tif 000009
【００８５】
ここで、丸付き＋演算は、同一の値を有するビット間の演算は０となり、異なる値を有するビット間の演算は１となる排他的論理和演算を示す。加算器１６１７から出力される信号は、第１のパリティベクトルＰ1となる。
【００８６】
行列Ｂ乗算器１６１９は、加算器１６１７から出力された信号、すなわち第１のパリティベクトルＰ1と全体パリティ検査行列の部分行列Ｂを乗算し、その結果を加算器１６２１に出力する。加算器１６２１は、行列Ｂ乗算器１６１９から出力された信号と行列Ａ乗算器１６１１から出力された信号とを加算した後に、行列Ｔ-１乗算器１６２３に出力する。加算器１６２１は、加算器１６１７のように、行列Ｂ乗算器１６１９から出力された信号と行列Ａ乗算器１６１１から出力された信号を排他的論理和演算し、その結果を行列Ｔ-１乗算器１６２３に出力する。
【００８７】
行列Ｔ-１乗算器１６２３は、加算器１６２１から出力された信号と全体パリティ検査行列の行列Ｔ-１を乗算し、その乗算結果をスイッチ１６２９に出力する。行列Ｔ-１乗算器１６２３の出力は、第２のパリティベクトルＰ2となる。スイッチ１６２５，１６２７，１６２９の各々は、その伝送時点のみでスイッチングオン(ｓｗｉｔｃｈｉｎｇ  ｏｎ)されて該当信号を伝送する。すなわち、スイッチ１６２５は情報語ベクトルsの伝送時点でスイッチングオンされ、スイッチ１６２７は第１のパリティベクトルＰ1の伝送時点でスイッチングオンされ、スイッチ１６２９は第２のパリティベクトルＰ2の伝送時点でスイッチングオンされる。
【００８８】
また、下記に図１７を参照して説明するはずであるが、本発明の実施形態では可変長ブロックＬＤＰＣ符号を生成することが可能であるため、図１６の可変長ブロックＬＤＰＣ符号の符号化装置で使用される行列の各々は、この可変長ブロックＬＤＰＣ符号のパリティ検査行列が変更される度に変更されることはもちろんである。したがって、図１６に別途に図示しないが、制御器が、可変長ブロックＬＤＰＣ符号のパリティ検査行列が変更されるにしたがって、可変長ブロックＬＤＰＣ符号の符号化装置で使用される行列を変更する。
【００８９】
上記では、効率的な符号化を考慮した可変長ブロックＬＤＰＣ符号の生成方法について説明した。上述したように、可変長ブロックＬＤＰＣ符号は、その構造的な特性によって、パリティ検査行列に関連した情報を格納するためのメモリの効率が優れるだけでなく、パリティ検査行列から部分行列を適切に選択することによって効率的な符号化が可能になる。しかしながら、ブロック単位でパリティ検査行列を生成することによって不規則性(ｒａｎｄｏｍｎｅｓｓ）が減少し、この不規則性の減少はブロックＬＤＰＣ符号の性能の劣化をもたらす。すなわち、上記したように、不均一ブロックＬＤＰＣ符号が均一ブロックＬＤＰＣ符号に比べて性能が優れるため、ブロックＬＤＰＣ符号を設計する過程で、全体パリティ検査行列から部分行列を選択することは非常に重要である。
【００９０】
図１１を参照して、符号化率が１/２である場合の可変長ブロックＬＤＰＣ符号の具体的な生成方法について説明する。
図１１は、本発明の第１の実施形態による可変長ブロックＬＤＰＣ符号のパリティ検査行列を示す。図１１を説明するに先立ち、本発明の第１の実施形態は、符号化率が１/２である場合の可変長ブロックＬＤＰＣ符号のパリティ検査行列を提案する。図１１を参照すると、部分行列のサイズＮｓが４,８,１２,１６,２０，２４，２８，３２，３６，４０であると仮定すれば、図１１に示すパリティ検査行列を用いて長さが９６，１９２，２８８，３８４，４８０,５７６，６７２，７６８，８６４，９６０であるブロックＬＤＰＣ符号を生成することができる。図１１に示す部分ブロック、すなわち部分行列の各々に表記された値は、対応する順列行列の指数値を示す。ここで、可変長ブロックＬＤＰＣ符号のパリティ検査行列は複数の部分ブロックで構成され、部分ブロックにそれぞれ対応する部分行列が順列行列を構成する。一例として、可変長ブロックＬＤＰＣ符号のパリティ検査行列がｐ×ｑの部分ブロックで構成される場合、すなわち可変長ブロックＬＤＰＣ符号のパリティ検査行列の部分ブロックの行の個数が‘ｐ’で、可変長ブロックＬＤＰＣ符号のパリティ検査行列の部分ブロックの列の個数が‘ｑ’である場合に、この可変長ブロックＬＤＰＣ符号のパリティ検査行列を構成する順列行列はＰa pqで示し、順列行列Ｐの上付き添字ａpqは０≦ａpq≦Ｎｓ-１又はａpq＝∞である。すなわち、順列行列Ｐa pqは複数の部分ブロックで構成された可変長ブロックＬＤＰＣ符号のパリティ検査行列のｐ番目の行とｑ番目の列が交差する部分ブロックに位置する順列行列を示す。したがって、図１１に示す順列行列の指数値はａpqであり、順列行列の指数値に部分行列のサイズに該当するＮｓ値をモジュロ演算すると、Ｎｓ値を有する可変長ブロックＬＤＰＣ符号のパリティ検査行列の順列行列の指数値を求めることが可能である。この順列行列の指数がＮｓ値でモジュロ演算された結果値が０であると、該当順列行列は単位行列となる。
【００９１】
本発明のより具体的な説明のために、次のようなパラメータを定義する。
図１１に示す可変長ブロックＬＤＰＣ符号のパリティ検査行列は“母行列(ｍｏｔｈｅｒ  ｍａｔｒｉｘ)”と呼ばれ、母行列を構成する部分行列、すなわち順列行列の中で０でない順列行列の個数はＬとして定義し、母行列を構成する順列行列の中で０でないＬ個の順列行列の指数がａ１，ａ２，…，ａＬで、この母行列を構成する順列行列のサイズがＮｓであると仮定する。母行列を構成する順列行列の中で０でない順列行列の個数がＬであるため、第１の順列行列の指数はａ１となり、第２の順列行列の指数はａ２となり、このような方法で最後の順列行列の指数はａＬとなる。
【００９２】
母行列と異なって、新しく生成されるパリティ検査行列は“子行列(ｃｈｉｌｄ  ｍａｔｒｉｘ)”と呼ばれ、子行列を構成する部分行列、すなわち順列行列の中で０でない順列行列の個数はＬとして定義し、子行列を構成する順列行列のサイズがＮｓ’として定義し、子行列を構成する順列行列の指数はａ１’，ａ２’，…，ａＬ’で示す。ここで、子行列を構成する順列行列の中で０でない順列行列の個数がＬであるため、第１の順列行列の指数はａ１’となり、第２の順列行列の指数はａ２’となり、このような方法で最後の順列行列の指数はａＬ’となる。
下記の式を用いて、一つの母行列から生成しようとする子行列を構成する順列行列のサイズＮｓ’を選択して可変ブロック長を有する子行列を生成することが可能である。
【００９３】
【数８】
2007531455.tif 000010
【００９４】
次に、図１２を参照して、符号化率が２/３である場合の可変長ブロックＬＤＰＣ符号の具体的な生成方法について説明する。
図１２は、本発明の第２の実施形態による可変長ブロックＬＤＰＣ符号のパリティ検査行列を示す。図１２を説明するに先立ち、本発明の第２の実施形態は、符号化率が２/３である場合の可変長ブロックＬＤＰＣ符号のパリティ検査行列を提案する。図１２を参照すると、部分行列のサイズであるＮｓの値が８，１６であると仮定する場合に、図１２に示すパリティ検査行列を用いる長さ２８８，５７６を有するブロックＬＤＰＣ符号を生成することが可能である。図１２に示す部分ブロック、すなわち部分行列の各々に表記された値は、対応する順列行列の指数値を示す。したがって、順列行列の指数値に部分行列のサイズに該当するＮｓ値をモジュロ演算すると、Ｎｓ値を有するブロックＬＤＰＣ符号のパリティ検査行列の順列行列の指数値を求めることができる。ここで、順列行列の指数がＮｓ値でモジュロ演算を遂行した結果値が０である場合に、対応する順列行列は単位行列となる。
【００９５】
次に、図１３を参照して、符号化率が３/４である場合の可変長ブロックＬＤＰＣ符号の具体的な生成方法について説明する。
図１３は、本発明の第３の実施形態による可変長ブロックＬＤＰＣ符号のパリティ検査行列を示す。図１３を説明するに先立ち、本発明の第３の実施形態は、符号化率が３/４である場合の可変長ブロックＬＤＰＣ符号のパリティ検査行列を提案する。図１３を参照すると、部分行列のサイズであるＮｓの値が３，６，９，１２，１５，１８であると仮定する場合に、図１３に示すパリティ検査行列を用いて９６，１９２，２８８，３８４，４８０，５７６の可変長を有するブロックＬＤＰＣ符号が生成可能である。図１３に示す部分ブロック、すなわち部分行列の各々に表記された値は順列行列の指数値を示す。したがって、順列行列の指数値に部分行列のサイズに該当するＮｓの値をモジュロ演算すると、Ｎｓの値を有するブロックＬＤＰＣ符号のパリティ検査行列の順列行列指数値を求めることができる。この順列行列の指数がＮｓの値でモジュロ演算を遂行した結果値が０である場合に、対応する順列行列は単位行列となる。
【００９６】
次に、図１４を参照して符号化率が５/６である場合の可変長ブロックＬＤＰＣ符号の具体的な生成方法について説明する。
図１４は、本発明の第４の実施形態による可変長ブロックＬＤＰＣ符号のパリティ検査行列を示す。図１４を説明するに先立ち、本発明の第４の実施形態は符号化率が５/６である場合の可変長ブロックＬＤＰＣ符号のパリティ検査行列を提案する。図１４を参照すると、部分行列のサイズであるＮｓの値が８，１６であると仮定する場合に、図１４に示すパリティ検査行列を用いて長さ２８８，５７６であるブロックＬＤＰＣ符号が生成可能である。図１４に示す部分ブロック、すなわち部分行列の各々に表記された値は順列行列の指数値を示す。したがって、順列行列の指数値に部分行列のサイズに該当するＮｓの値をモジュロ演算すると、Ｎｓの値を有するブロックＬＤＰＣ符号のパリティ検査行列の順列行列の指数値を求めることができる。この順列行列の指数がＮｓ値でモジュロ演算を遂行した結果値が０である場合に、対応する順列行列は単位行列となる。
【００９７】
ＬＤＰＣ符号系列のすべての符号は、ファクターグラフで積和アルゴリズム(ｓｕｍ-ｐｒｏｄｕｃｔ  ａｌｇｏｒｉｔｈｍ)を用いて復号化することが可能である。ＬＤＰＣ符号の復号方式は、両方向伝送方式とフロー伝送方式に大別される。両方向伝送方式で復号動作を遂行する場合に、検査ノードはそれぞれノードプロセッサを有し、復号化の複雑度が検査ノードの個数に比例して増加する。しかしながら、すべての検査ノードが同時にアップデートされるため、復号速度がものすごく速くなる。
【００９８】
これとは異なって、フロー伝送方式は、一つのノードプロセッサを有し、このノードプロセッサは、ファクターグラフ上のすべてのノードを通じて情報をアップデートする。したがって、このフロー伝送方式は、復号化の複雑度が低下して簡単になるが、パリティ検査行列のサイズ、すなわちノードの個数が増加するほど復号速度が遅くなる。しかしながら、本発明で提案する符号化率に対応して多様なブロック長を有する可変長ブロックＬＤＰＣ符号のようにブロック単位でパリティ検査行列が生成されると、パリティ検査行列を構成するブロックの個数と同一のノードプロセッサの個数が使用される。この場合に、両方向伝送方式より復号化の複雑度が低く、フロー伝送方式より復号速度が速いデコーダが実現可能である。
【００９９】
次に、図１７を参照して本発明の実施形態によるパリティ検査行列を用いて可変長ブロックＬＤＰＣ符号を復号する復号化装置の内部構造について説明する。
図１７は、本発明の実施形態によるブロックＬＤＰＣ符号の復号のための装置の内部構造を示す。図１７を参照すると、可変長ブロックＬＤＰＣ符号の復号化装置は、ブロック制御器１７１０と、変数ノード部１７００と、加算器１７１５と、デインタリーバ１７１７と、インタリーバ１７１９と、制御器１７２１と、メモリ１７２３と、加算器１７２５と、検査ノード部１７５０と、硬判定器１７２９とを含む。変数ノード部１７００は変数ノードデコーダ１７１１と、スイッチ１７１３，１７１４を含み、検査ノード部１７５０は検査ノードデコーダ１７２７を含む。
【０１００】
無線チャンネルを通じて受信された信号は、ブロック制御器１７１０に入力される。ブロック制御器１７１０は、受信信号のブロックサイズを判定する。復号化装置に対応する符号化装置で穿孔された情報語部分が存在する場合に、ブロック制御器１７１０はこの穿孔された情報語部分に０を挿入して全体ブロックサイズを調整した後に、その結果の信号を変数ノードデコーダ１７１１に出力する。
【０１０１】
変数ノードデコーダ１７１１は、ブロック制御器１７１０から出力された信号の確率値を計算してアップデートした後に、アップデートされた確率値をスイッチ１７１３，１７１４に出力する。変数ノードデコーダ１７１１は、不均一ブロックＬＤＰＣ符号の復号化装置に予め設定されているパリティ検査行列により変数ノードに接続し、この変数ノードに接続された１の個数だけの入力値と出力値を有するアップデート演算が遂行される。変数ノードの各々に接続された１の個数は、パリティ検査行列を構成する列のそれぞれのウェイトと同一である。したがって、変数ノードデコーダ１７１１の内部演算は、パリティ検査行列を構成する列のそれぞれのウェイトにより相互に異なる。スイッチ１７１４は、スイッチ１７１３がスイッチングオンされる場合を除いて、スイッチングオンされて変数ノードデコーダ１７１１の出力信号を加算器１７１５に出力する。
【０１０２】
加算器１７１５は、変数ノードデコーダ１７１１から出力される信号と以前の反復復号化過程でのインタリーバ１７１９の出力信号を受信し、変数ノードデコーダ１７１１の出力信号から以前の反復復号化過程でのインタリーバ１７１９の出力信号を減算してデインタリーバ１７１７に出力する。復号化過程が初期復号化過程であると、インタリーバ１７１９の出力信号が０であると見なすことはもちろんである。
【０１０３】
デインタリーバ１７１７は、加算器１７１５から出力された信号を予め定められたインタリービング方式によりデインタリービングして加算器１７２５と検査ノードデコーダ１７２７に出力する。デインタリーバ１７１７は、パリティ検査行列に対応する内部構造を有し、その理由は、デインタリーバ１７１７に対応するインタリーバ１７１９の入力値に対する出力値がパリティ検査行列で１の値を有するエレメントの位置により異なるためである。
【０１０４】
加算器１７２５は、以前反復復号化過程で検査ノードデコーダ１７２７の出力信号とデインタリーバ１７１７の出力信号を受信し、以前反復復号化過程で検査ノードデコーダ１７２７の出力信号からデインタリーバ１７１７の出力信号を減算してインタリーバ１７１９に出力する。検査ノードデコーダ１７２７は、ブロックＬＤＰＣ符号の復号化装置に予め設定されているパリティ検査行列により検査ノードに接続し、この検査ノードに接続された１の個数と同一の入力値と出力値の個数でアップデート演算を遂行する。検査ノードの各々に接続された１の個数は、パリティ検査行列を構成する行のそれぞれのウェイトと同一である。したがって、検査ノードデコーダ１７２７の内部演算は、パリティ検査行列を構成する行のそれぞれのウェイトにより異なる。
【０１０５】
インタリーバ１７１９は、制御器１７２１の制御下に、予め定められたインタリービング方式により加算器１７２５から出力された信号をインタリービングし、この信号を加算器１７１５及び変数ノードデコーダ１７１１に出力する。制御器１７２１は、メモリ１７２３に格納されたインタリービング方式に関連した情報を読み取り、その情報によりインタリーバ１７１９のインタリービング方式とデインタリーバ１７１７のデインタリービング方式を制御する。メモリ１７２３は、可変長ブロックＬＤＰＣ符号が生成可能な母行列のみを格納するため、制御器１７２１はメモリ１７２３に格納されている母行列を読み取り、予め設定されているブロックサイズに対応する順列行列のサイズＮｓ’を用いて該当子行列を構成する順列行列の指数を生成する。また、制御器１７２１は、生成された子行列を用いてインタリーバ１７１９のインタリービング方式とデインタリーバ１７１７のデインタリービング方式を制御する。同様に、復号化過程が初期の復号化過程であると、デインタリーバ１７１７の出力信号は０であると見なすことはもちろんである。
【０１０６】
上記のような過程を反復的に遂行することによって、復号化装置は誤りなしに信頼度の高い復号を遂行する。予め定められた回数に該当する反復復号を遂行した後に、スイッチ１７１４は変数ノードデコーダ１７１１と加算器１７１５との間をスイッチングオフし、スイッチ１７１３は変数ノードデコーダ１７１１と硬判定器１７２９との間をスイッチングオンすることによって、変数ノードデコーダ１７１１から出力される信号を硬判定器１７２９に提供する。硬判定器１７２９は、変数ノードデコーダ１７１１から出力される信号の硬判定を遂行してその結果を出力し、硬判定器１７２９の出力値は最終的に復号された値となる。
【０１０７】
以上、本発明の詳細な説明においては具体的な実施形態に関して説明したが、形式や細部についての様々な変更が可能であることは、当該技術分野における通常の知識を持つ者には明らかである。したがって、本発明の範囲は、前述の実施形態に限定されるものではなく、特許請求の範囲の記載及びこれと均等なものに基づいて定められるべきである。
【図面の簡単な説明】
【０１０８】
【図１】一般的な移動通信システムの送受信器の構造を概略的に示す図である。
【図２】一般的な(８，２，４)ＬＤＰＣ符号のパリティ検査行列を示す図である。
【図３】図２の(８，２，４)ＬＤＰＣ符号のファクターグラフを示す図である。
【図４】一般的なブロックＬＤＰＣ符号のパリティ検査行列を概略的に示す図である。
【図５】図４の順列行列Ｐを示す図である。
【図６】パリティ検査行列が４個の部分行列で構成されたブロックＬＤＰＣ符号のサイクル構造を概略的に示す図である。
【図７】完全下三角行列に類似した形態を有するパリティ検査行列を示す図である。
【図８】図７のパリティ検査行列を６個の部分ブロックに分割して示す図である。
【図９】図８の部分行列Ｂの転置行列、部分行列Ｅ、部分行列Ｔ、及び部分行列Ｔの逆行列を示す図である。
【図１０】一般的なブロックＬＤＰＣ符号のパリティ検査行列の生成手順を示すフローチャートである。
【図１１】本発明の第１の実施形態による可変長ブロックＬＤＰＣ符号のパリティ検査行列を示す図である。
【図１２】本発明の第２の実施形態による可変長ブロックＬＤＰＣ符号のパリティ検査行列を示す図である。
【図１３】本発明の第３の実施形態による可変長ブロックＬＤＰＣ符号のパリティ検査行列を示す図である。
【図１４】本発明の第４の実施形態による可変長ブロックＬＤＰＣ符号のパリティ検査行列を示す図である。
【図１５】本発明の第１〜第４の実施形態による可変長ブロックＬＤＰＣ符号の符号化手順を示すフローチャートである。
【図１６】本発明の実施形態による可変長ブロックＬＤＰＣ符号の符号化装置の内部構造を示すブロック構成図である。
【図１７】本発明の実施形態によるブロックＬＤＰＣ符号の復号化装置の内部構造を示すブロック構成図である。
【符号の説明】
【０１０９】
１００  送信機
１１１  エンコーダ
１１３  変調器
１１５  ＲＦ処理器
１５０  受信機
１５１  ＲＦ処理器
１５３  復調器
１５５  デコーダ
【図１】
2007531455.tif 000031
【図２】
2007531455.tif 000032
【図３】
2007531455.tif 000033
【図４】
2007531455.tif 000034
【図５】
2007531455.tif 000035
【図６】
2007531455.tif 000036
【図７】
2007531455.tif 000037
【図８】
2007531455.tif 000038
【図９】
2007531455.tif 000039
【図１０】
2007531455.tif 000040
【図１１】
2007531455.tif 000041
【図１２】
2007531455.tif 000042
【図１３】
2007531455.tif 000043
【図１４】
2007531455.tif 000044
【図１５】
2007531455.tif 000045
【図１６】
2007531455.tif 000046
【図１７】
2007531455.tif 000047
【国際調査報告】
2007531455.tif 000048