(57)【特許請求の範囲】
【請求項１】
低密度パリティ検査（Low-density Parity-check：ＬＤＰＣ）符号化された受信信号に対して、Ｍｉｎ−Ｓｕｍアルゴリズムに従う行処理及び列処理による確率情報の算出及びその更新を実行するにあたり、Ｓｈｕｆｆｌｅｄ  ＢＰ（Belief Propagation）アルゴリズムを基にして実行するとともに、その行処理の更新演算では、Ｍｉｎ−Ｓｕｍアルゴリズムの近似更新式である下記式（８）を利用することで、行処理及び列処理による確率情報の算出及びその更新を１ビットずつ若しくは予め定めた複数ビットずつ実行する復号手段を備えた復号装置。
0004777261.tif 000023
【請求項２】
復号手段は、行処理により算出される対数尤度比を所定の定数で除算して前記対数尤度比の大きさを、Ｓｕｍ−Ｐｒｏｄｕｃｔアルゴリズムによる対数尤度比の大きさと同程度に調整することを特徴とする請求項１記載の復号装置。
【請求項３】
復号手段は、行処理及び列処理による確率情報の算出及びその更新を１ビットずつ若しくは予め定めた複数ビットずつ実行することを特徴とする請求項２記載の復号装置。
【請求項４】
復号手段は、行処理により算出される対数尤度比から所定の定数を減算して前記対数尤度比の大きさを、Ｓｕｍ−Ｐｒｏｄｕｃｔアルゴリズムによる対数尤度比の大きさと同程度に調整することを特徴とする請求項１記載の復号装置。
【請求項５】
復号手段は、行処理及び列処理による確率情報の算出及びその更新を１ビットずつ若しくは予め定めた複数ビットずつ実行することを特徴とする請求項４記載の復号装置。
【請求項６】
低密度パリティ検査（Low-density Parity-check：ＬＤＰＣ）符号化された受信信号に対して、Ｎｏｒｍａｌｉｚｅｄ  ＢＰ（Belief Propagation）アルゴリズムに従う行処理及び列処理による確率情報の算出及びその更新を実行するにあたり、Ｓｈｕｆｆｌｅｄ  ＢＰ（Belief Propagation）アルゴリズムを基にして実行するとともに、その行処理の更新演算では、Ｎｏｒｍａｌｉｚｅｄ  ＢＰアルゴリズムの簡易更新式である下記式（９）を利用することで、行処理及び列処理による確率情報の算出及びその更新を１ビットずつ若しくは予め定めた複数ビットずつ実行する復号手段を備え、
前記復号手段は、行処理を実行する行処理部と、列処理を実行する列処理部とを有し、
前記行処理部は、対数尤度比の更新演算を実行する比較部と、前記比較部による更新演算結果を定数（Normalization Factor）で除算して、前記対数尤度比の大きさを、Ｓｕｍ−Ｐｒｏｄｕｃｔアルゴリズムによる対数尤度比の大きさと同程度に調整する除算部と、受信信号の変調方式に依存したビット誤り率及び／又はＬＤＰＣ符号の検査行列の行重みに応じて決定した行ごとの定数（Normalization Factor）を予め記憶し、前記行処理部が行処理を実行する行に対応する前記定数を前記行処理部に出力する除算定数選択部とを有してなる復号装置。
0004777261.tif 000024
【請求項７】
低密度パリティ検査（Low-density Parity-check：ＬＤＰＣ）符号化された受信信号に対して、Ｏｆｆｓｅｔ  ＢＰ（Belief Propagation）アルゴリズムに従う行処理及び列処理による確率情報の算出及びその更新を実行するにあたり、Ｓｈｕｆｆｌｅｄ  ＢＰ（Belief Propagation）アルゴリズムを基にして実行するとともに、その行処理の更新演算では、Ｏｆｆｓｅｔ  ＢＰアルゴリズムの近似更新式である下記式（１０）を利用することで、行処理及び列処理による確率情報の算出及びその更新を１ビットずつ若しくは予め定めた複数ビットずつ実行する復号手段を備え、
前記復号手段は、行処理を実行する行処理部と、列処理を実行する列処理部とを有し、
前記行処理部は、対数尤度比の更新演算を実行する比較部と、前記比較部による更新演算結果を定数（Offset Factor）で減算して、前記対数尤度比の大きさを、Ｓｕｍ−Ｐｒｏｄｕｃｔアルゴリズムによる対数尤度比の大きさと同程度に調整する減算部と、受信信号の変調方式に依存したビット誤り率及び／又はＬＤＰＣ符号の検査行列の行重みに応じて決定した行ごとの定数（Offset Factor）を予め記憶し、前記行処理部が行処理を実行する行に対応する前記定数を前記行処理部に出力する減算定数選択部とを有してなる復号装置。
0004777261.tif 000025
【請求項８】
ＬＤＰＣ符号の符号化を行う符号化部と、当該ＬＤＰＣ符号の構成に適応した変調信号点の割り当てを行う変調部とを有してなる符号化送信部と、
請求項１から請求項７のうちのいずれか１項に記載されている復号装置とを備え、
前記復号装置は、前記符号化送信部から受信した変調信号の復調を行う復調部を有し、
前記復号装置の復号手段は、前記ＬＤＰＣ符号の構成に基づく順序制御に従って復号処理を実行することを特徴とする通信装置。
【請求項９】
復号手段は、受信信号の変調信号点に基づく順序制御に従って、受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ若しくは予め定めた複数ビットずつ実行することを特徴とする請求項８記載の通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、デジタル通信における誤り訂正技術に係り、特に低密度パリティ検査ＬＤＰＣ（Low-Density Parity Check）符号及びＴｕｒｂｏ符号による符号化信号を復号する復号装置及びこれを備えた通信装置に関するものである。
【背景技術】
【０００２】
ＬＤＰＣ符号化信号を復号する基本的なアルゴリズムには、Ｓｕｍ−ＰｒｏｄｕｃｔアルゴリズムとＭｉｎ−Ｓｕｍアルゴリズムがある。これら復号アルゴリズムでは、受信信号の確率的な信頼度情報として対数尤度比ＬＬＲ（Log Likelihood Ratio）を算出しながら繰り返し演算を行うことで復号を行う（例えば、非特許文献１参照）。【０００３】
Ｓｕｍ−Ｐｒｏｄｕｃｔアルゴリズムでは、例えばｔａｎｈ関数などの数学関数を用いた演算（実数の加算や関数の評価）が要求され、計算コストが高い。このため、実装の際には、当該関数の値を保持するテーブルを用意するなどして計算コストを下げる必要がある。その反面、正確な演算がなされるために復号性能は高いという利点もある。【０００４】
これに対して、Ｍｉｎ−Ｓｕｍアルゴリズムでは、Ｓｕｍ−Ｐｒｏｄｕｃｔアルゴリズムの数学関数を近似した簡易な数式を用い、加算、最小、正負の判定、正負の符号の乗算という４種類の演算のみで実装できる。このため、計算コストは小さくなる。しかしながら、近似の影響により復号性能は劣化する。【０００５】
また、従来のＬＤＰＣ符号化信号の復号アルゴリズムは、確率情報の伝搬に基づいて繰り返し復号を行う。Ｓｕｍ−ＰｒｏｄｕｃｔアルゴリズムやＭｉｎ−Ｓｕｍアルゴリズムでは、繰り返し復号の任意の１回で符号化信号に対して全ての行処理を終えてから当該符号化信号の全てのビットに対する列処理を行う。【０００６】
例えば、復号したいＬＤＰＣ符号の検査行列が２元ｍ×ｎ行列Ｈ＝[Ｈm,n]（ｎは０以上Ｎ未満の整数，ｍは０以上Ｍ未満の整数）であるとすると、ｍ＝１，２，３，・・・，Ｍの順にＨm,n＝１を満たす全ての組（ｍ，ｎ）に対して行処理を行い、この後ｎ＝１，２，３，・・・，Ｎの順にＨm,n＝１を満たす全ての組（ｍ，ｎ）に対して列処理が実行される。【０００７】
このため、復号処理の繰り返し回数が大きくなると、それに伴って復号遅延時間が大きくなるという問題が生じる。そこで、繰り返し復号の回数を削減する復号アルゴリズムとして、Ｓｈｕｆｆｌｅｄ  ＢＰ（Belief Propagation）アルゴリズムがある（例えば、非特許文献２参照）。【０００８】
Ｓｈｕｆｆｌｅｄ  ＢＰアルゴリズムでは、符号化信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ実行する。これにより、確率情報の伝搬が効率的に行われて収束が速くなるという利点がある。このＳｈｕｆｆｌｅｄ  ＢＰアルゴリズムを以下に簡単に説明する。【０００９】
先ず、初期化ステップとして、繰り返し回数ｉをｉ＝１と設定し、最大繰り返し回数をＩmaxと設定し、対数尤度比ＬＬＲ（Log Likelihood Ratio）の初期値ｚm,n(0)をＦn（ｚm,n(0)：＝Ｆn）と設定する。なお、復号したいＬＤＰＣ符号の検査行列Ｈは、２元ｍ×ｎ行列Ｈ＝[Ｈm,n]（ｎは０以上Ｎ未満の整数、ｍは０以上Ｍ未満の整数）であり、Ｈm,nをＨのｍ行ｎ列目要素とする。【００１０】
次に、ステップ１として、下記式（１）の条件に対し、下記式（２）及び下記式（３）を演算する行処理を実行する。ここで、Ｎ（ｍ）、Ｍ（ｎ）は集合[１，Ｎ]の部分集合であり、Ｎ（ｍ）：＝｛ｎ：Ｈm,n＝１｝、Ｍ（ｎ）：＝｛ｍ：Ｈm,n＝１｝と定義する。つまり、Ｎ（ｍ）は検査行列Ｈのｍ行において１を持つ列インデックスの集合を意味し、Ｍ（ｎ）はＬＤＰＣ検査行列Ｈのｍ行において１を持つ列インデックスの集合を意味する。
【数１】
0004777261.tif 000002
【００１１】
また、集合Ａから元ａを取り去って得られる集合をＡ＼ａと表記する。即ち、Ｎ（ｍ）＼ｎは集合Ｎ（ｍ）からｎ列目を除く列インデックスの集合であり、Ｍ（ｎ）＼ｍが集合Ｍ（ｎ）からｍ行目を除く行インデックスの集合を示している。ｚm,n'(i)は、繰り返しｉ回目で更新したＬＬＲであり、εm,n(i)はチェックノードからビットノードへ送る繰り返しｉ回目のＬＬＲである。【００１２】
さらに、ステップ１において、上記式（１）の条件に対し、下記式（４）及び下記式（５）を演算する列処理を実行する。ここで、ｚm,n(i)はビットノードからチェックノードへ送る繰り返しｉ回目のＬＬＲである。さらに、ｚn(i)は繰り返しｉ回目の事後値である。
【数２】
0004777261.tif 000003
【００１３】
次に、ステップ２として、事後値ｚn(i)を硬判定し、下記式（６）で表される復号系列を生成する。このあと、下記式（７）の条件を満たせば、後述するステップ３の処理に移行し、これら２条件のいずれをも満たさなければ、繰り返し回数ｉを加算してステップ２の処理に戻る。ステップ３では、復号結果として、ステップ２で得た下記式（６）に従う復号系列を出力する。また、下記式（６）におけるｗnは、復号系列ｗのｎ＝１〜Ｎにおける要素である。
【数３】
0004777261.tif 000004
【数４】
0004777261.tif 000005
【００１４】
上述したＳｈｕｆｆｌｅｄ  ＢＰアルゴリズムでは、繰り返し回数ｉに着目すると、同じ繰り返しｉ回目で更新したＬＬＲであるｚm,n'(i)を用いて行処理を行うことで確率伝搬が効率的に行われている。【００１５】
なお、非特許文献２では、Ｎg＝１として受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ行う場合をＳｈｕｆｆｌｅｄ  ＢＰアルゴリズムとし、１＜Ｎg＜Ｎとして受信信号に対する行処理と列処理による確率情報の算出及び更新を予め定めた複数ビットずつ行う場合をＧｒｏｕｐ  Ｓｈｕｆｆｌｅｄ  ＢＰアルゴリズムとしており、ここでもそれに従う。なお、Ｎg＝Ｎである場合、Ｓｕｍ−Ｐｒｏｄｕｃｔアルゴリズムになる。また、簡単のためＮgをＮの約数としている。【００１６】
一方、Ｍｉｎ−Ｓｕｍアルゴリズムと同程度の計算コストでＬＤＰＣ符号の復号を行いつつ、Ｓｕｍ−Ｐｒｏｄｕｃｔアルゴリズムと比較して復号性能が劣化するのを抑えることができる復号アルゴリズムとして、例えばＮｏｒｍａｌｉｚｅｄ  ＢＰアルゴリズムやＯｆｆｓｅｔ  ＢＰアルゴリズムがある（例えば、非特許文献３参照）。【００１７】
簡単に説明すると、Ｎｏｒｍａｌｉｚｅｄ  ＢＰアルゴリズムでは、Ｍｉｎ−Ｓｕｍアルゴリズムで算出されるＬＬＲがＳｕｍ−Ｐｒｏｄｕｃｔアルゴリズムで算出されるＬＬＲよりも常に大きな値になることから、Ｍｉｎ−Ｓｕｍアルゴリズムの行処理で算出されたＬＬＲを、Ｎｏｒｍａｌｉｚａｔｉｏｎ  Ｆａｃｔｏｒと呼ばれる因子α（＞１）で除算して受け渡すＬＬＲとする。また、Ｏｆｆｓｅｔ  ＢＰアルゴリズムでは、Ｍｉｎ−Ｓｕｍアルゴリズムの行処理で算出されたＬＬＲを、Ｏｆｆｓｅｔ  Ｆａｃｔｏｒと呼ばれる因子β（＞０）によって減算して受け渡すＬＬＲとする。【００１８】
このように、復号に際して除算や減算を実行するが、除算や減算による計算コストはそれほど大きなものではなく、Ｓｕｍ−Ｐｒｏｄｕｃｔアルゴリズムと比較した復号性能の劣化を軽減することが可能となる。また、各因子α，βについてはシミュレーション若しくは密度発展法（例えば、非特許文献４参照）を用いて予め算出しておき、ＬＤＰＣ復号部で保持しておけば良い。【００１９】
また、Ｍｉｎ−Ｓｕｍアルゴリズムの行処理で算出されたＬＬＲに対し、受信信号の大きさに応じて補正を行うアルゴリズムがある（例えば、非特許文献５参照）。この復号アルゴリズムでは、Ｍｉｎ−Ｓｕｍアルゴリズムの補正項として、補正関数のテーブルを用意しておき、受信信号の大きさに応じて補正項を変えることで的確な補正を行い、復号性能を向上させるものである。【００２０】
さらに、通信路情報として受信ＬＬＲの大きさでＳｈｕｆｆｌｅｄ  ＢＰアルゴリズムの演算順序を制御する方法がある。この方法は、受信情報から算出した受信ＬＬＲの絶対値の大きい方、若しくは小さい方から順序制御してＳｈｕｆｆｌｅｄ  ＢＰアルゴリズムで復号するものである。【００２１】
Ｔｕｒｂｏ符号化信号を復号する基本的なアルゴリズムには、Ｌｏｇ−ＭＡＰ（Ｍａｘｉｍｕｍ  Ａ  Ｐｏｓｔｅｒｉｏｒｉ  Ｐｒｏｂａｂｉｌｉｔｙ）アルゴリズムとＭａｘ−Ｌｏｇ−Ｍａｐアルゴリズムがある。これら復号アルゴリズムでは、受信信号の確率的な信頼度情報としてメトリック値を算出しながら繰り返し演算を行うことで復号を行う（例えば、非特許文献６参照）。【００２２】
Ｌｏｇ−ＭＡＰアルゴリズムでは、例えば指数関数などの数学関数を用いた演算（実数の加算や関数の評価）が要求され、計算コストが高い。このため、実装の際には、当該関数の値を保持するテーブルを用意するなどして計算コストを下げる必要がある。その反面、正確な演算がなされるために復号性能は高いという利点もある。【００２３】
これに対して、Ｍａｘ−Ｌｏｇ−ＭＡＰアルゴリズムでは、Ｌｏｇ−Ｍａｐアルゴリズムの数学関数を近似した簡易な数式を用い、加算、最大、正負の判定、正負の符号の乗算という４種類の演算のみで実装できる。Ｌｏｇ−ＭＡＰアルゴリズムにおいて行う指数関数の和に対する対数計算を指数の最大値で近似する。このため、数学関数を含む処理がなくなり計算コストは小さくなる。しかしながら、近似の影響により復号性能は劣化する。【００２４】
一方、Ｍａｘ−Ｌｏｇ−Ｍａｐアルゴリズムと同程度の計算コストでＴｕｒｂｏ符号の復号を行いつつ、Ｍａｐアルゴリズムと比較して復号性能が劣化するのを抑えることができる復号アルゴリズムがある（例えば、非特許文献７参照）。【００２５】
簡単に説明すると、Ｍａｘ−Ｌｏｇ−Ｍａｐアルゴリズムのメトリック計算で算出されたメトリック値を、因子ｓで乗算してＭＡＰアルゴリズムで算出される値と同程度に調整して受け渡すＬＬＲとする。【００２６】
このように、復号に際して乗算を実行するが、乗算による計算コストはそれほど大きなものではなく、Ｌｏｇ−ＭＡＰアルゴリズムと比較した復号性能の劣化を軽減することが可能となる。また、因子ｓについてはシミュレーションを用いて予め算出しておき、Ｔｕｒｂｏ復号部で保持しておけば良い。【００２７】
【非特許文献１】和田山正、「低密度パリティ検査符号とその復号法  ＬＤＰＣ（Ｌｏｗ  Ｄｅｎｓｉｔｙ  Ｐａｒｉｔｙ  Ｃｈｅｃｋ）符号／ｓｕｍ−ｐｒｏｄｕｃｔ復号法」、トリケップス、２００２年６月５日、ｐ．７６−９９
【非特許文献２】Ｊｕｎｔａｎ  Ｚｈａｎｇ等、”Shuffled Belief Propagation Decoding”、[online]、[平成１６年９月２８日検索]、http://lester.univ-ubs.fr:8080/~boutillon/Journee_GDR_LDPC/Fossorier1_GDR_LDPC.pdf
【非特許文献３】Ｊｉｎｇｈｕ  Ｃｈｅｎ等、”Reduced-Complexity Decoding of LDPC Codes”、[online]、[平成１６年９月２８日検索]、http://www-ee.eng.hawaii.edu/~jinghu/FILES/tcom02v3p2.pdf
【非特許文献４】Ｊｉｎｇｈｕ  Ｃｈｅｎ等、”Density evolution of two improved BP-based algorithms for LDPC decoding”、IEEE Communications Letters, March 2002
【非特許文献５】Ｘｉａｏ−Ｙｕ等、”Efficient Implementation of the Sum-Product algorithm for Decoding LDPC Codes”、Proc. 2001 IEEE GlobeCom Conf., pp.1036-1036E, Nov. 2001
【非特許文献６】萩原春生、「ターボ符号の基礎」、トリケップス、１９９９年１０月７日、ｐ．３７−４６
【非特許文献７】Ｊ  Ｖｏｇｔ等、“Improving the max-log-MAP turbo decoder”、ELECTRONICS LETTERS，Vol.36，No.23、ｐ．１９３７−１９３８
【００２８】
従来のＭｉｎ−Ｓｕｍアルゴリズムに従うＬＤＰＣ符号化信号の復号装置では、復号性能を維持するには繰り返し回数が大きくしなければならず、これに伴い復号遅延も大きくなるという課題があった。また、この傾向は、Ｍｉｎ−Ｓｕｍアルゴリズムにおける近似更新式を基本更新式として使用するＮｏｒｍａｌｉｚｅｄ  ＢＰアルゴリズムや、Ｏｆｆｓｅｔ  ＢＰアルゴリズムにおいても同様である。【００２９】
また、Ｎｏｒｍａｌｉｚｅｄ  ＢＰアルゴリズム及びＯｆｆｓｅｔ  ＢＰアルゴリズムの復号性能は、因子α（Normalization Factor）及び因子β（Offset Factor）の値にそれぞれ大きく依存している。このため、各因子α，βを事前に算出しておく必要があるが、実際の受信装置等に実装した場合、符号構成や通信路に依存して各因子α，βの値を変えなければ十分な復号性能が発揮できない。【００３０】
さらに、Ｍｉｎ−Ｓｕｍアルゴリズムの行処理で算出されたＬＬＲに対し、受信信号の大きさに応じて補正を行う復号アルゴリズムでは、受信情報（受信信号の大きさ）に応じた補正定数を保持した補正項テーブルを設ける必要があり、実装が容易ではない。Ｓｕｍ−ＰｒｏｄｕｃｔアルゴリズムやＳｈｕｆｆｌｅｄ  ＢＰアルゴリズムのように、復号に際してｔａｎｈ関数などの数学関数を必要とする場合も、計算コストが大きくなりハードウェア構成が複雑になるために実装が困難である。【００３１】
また、Ｓｈｕｆｆｌｅｄ  ＢＰアルゴリズム及びＧｒｏｕｐ  Ｓｈｕｆｆｌｅｄ  ＢＰアルゴリズムでは、符号の先頭ビットから順に復号演算を行うか、若しくは、符号の先頭からグループ分けされた複数ビット順に復号演算を行う。このため、符号構成や変調方式に最適な演算順序とすることができないという課題もある。さらに、通信路情報として、受信情報から算出される受信ＬＬＲの大きさで順序制御する技術では、受信の度に順序を変える必要があるという不具合がある。【００３２】
さらに、前記因子ｓで乗算するＭａｘ−Ｌｏｇ−ＭＡＰアルゴリズムの復号性能は、因子ｓの値に依存している。このため、因子ｓを事前に算出しておく必要があるが、実際の受信装置等に実装した場合、符号構成や通信路に依存して因子ｓの値を変えなければ十分な復号性能が発揮できない。【００３３】
この発明は、上記のような課題を解決するためになされたもので、Ｍｉｎ−Ｓｕｍアルゴリズム及びそれを基本更新式とするＮｏｒｍａｌｉｚｅｄ  ＢＰアルゴリズムやＧｒｏｕｐ  Ｓｈｕｆｆｌｅｄ  ＢＰアルゴリズムに対して高効率な確率伝搬アルゴリズムを提供して演算結果の収束を速め、繰り返し復号の回数を削減することができる符号化信号の復号方法、復号装置及びこれを備えた通信装置を得ることを目的とする。【００３４】
また、この発明は、Ｓｕｍ−Ｐｒｏｄｕｃｔアルゴリズムのような複雑な数学関数を用いずにＭｉｎ−Ｓｕｍアルゴリズムと同程度の計算コストで、Ｎｏｒｍａｌｉｚｅｄ  ＢＰアルゴリズムやＯｆｆｓｅｔ  ＢＰアルゴリズムのように因子に大きく依存することもなく、補正項をテーブルとして保持する必要をなくしても、なお且つ高い復号能力を実現することができる復号装置及びこれを備えた通信装置を得ることを目的とする。【００３５】
さらに、この発明は、多値変調されて送受信された場合や符号がイレギュラーＬＤＰＣ符号である場合においても、受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ、若しくは予め定めた複数ビットずつ行う復号アルゴリズムの演算順序制御を効率的に行うことができ、さらに繰り返し回数も削減できる復号装置及びこれを備えた通信装置を得ることを目的とする。【００３６】
さらに、この発明では、多値変調されて送受信する場合において、因子α（Normalization Factor）や因子β（Offset Factor）を変調方式や符号構成に依存して決定することで復号性能を向上させた復号装置及びこれを備えた通信装置を得ることを目的とする。【００３７】
さらに、この発明は、Ｓｈｕｆｆｌｅｄ  ＢＰアルゴリズムのように受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ、若しくは予め定めた複数ビットずつ行うにあたり処理を並列化することにより演算遅延時間を削減することができる復号装置及びこれを備えた通信装置を得ることを目的とする。【００３８】
また、この発明は、Ｌｏｇ−ＭＡＰアルゴリズムのような複雑な数学関数を用いずにＭａｘ−Ｌｏｇ−ＭＡＰアルゴリズムと同程度の計算コストで、高い復号能力を実現することができる復号装置及びこれを備えた通信装置を得ることを目的とする。
【発明の開示】
【００３９】
この発明に係る復号装置は、低密度パリティ検査（Low-density Parity-check：ＬＤＰＣ）符号化された受信信号に対して「Ｍｉｎ−Ｓｕｍアルゴリズム」に従う行処理及び列処理による確率情報の算出及びその更新を実行するにあたり、Ｓｈｕｆｆｌｅｄ  ＢＰアルゴリズムを基にして実行するとともに、その行処理の更新演算では、Ｍｉｎ−Ｓｕｍアルゴリズムの近似更新式を利用することで、行処理及び列処理による確率情報の算出及びその更新を１ビットずつ若しくは予め定めた複数ビットずつ実行する復号手段を備えるものである。
【００４０】
このことによって、従来のＳｕｍ−Ｐｒｏｄｕｃｔアルゴリズムからの復号性能の劣化を抑えることができる上、従来のＭｉｎ−Ｓｕｍアルゴリズムと比較すると格段に復号性能を向上させることができる効果がある。
【００４１】
また、Ｍｉｎ−Ｓｕｍアルゴリズムに対する補正項を受信信号から算出することから、従来の補正型のＭｉｎ−Ｓｕｍアルゴリズムのように補正項を保持するテーブルを用意しておく必要がなく、従来のＮｏｒｍａｌｉｚｅｄ  ＢＰアルゴリズムやＯｆｆｓｅｔ  ＢＰアルゴリズムのように、符号構成に依存して最適化した因子を予め用意しておく必要もない効果がある。
【図面の簡単な説明】
【００４２】
【図１】この発明の実施の形態１によるＬＤＰＣ符号復号装置の構成を示すブロック図である。
【図２】図１中の行処理部の構成を示すブロック図である。
【図３】実施の形態１によるＬＤＰＣ符号復号装置の動作を示すフローチャートである。
【図４】ビット誤り率と復号繰り返し回数の平均値との関係をプロットしたグラフである。
【図５】この発明の実施の形態２によるＬＤＰＣ符号復号装置の行処理部の構成を示すブロック図である。
【図６】ビット誤り率と復号繰り返し回数の平均値との関係をプロットしたグラフである。
【図７】この発明の実施の形態３によるＬＤＰＣ符号復号装置の行処理部の構成を示すブロック図である。
【図８】ビット誤り率と復号繰り返し回数の平均値との関係をプロットしたグラフである。
【図９】この発明の実施の形態４によるＬＤＰＣ符号復号装置の構成を示すブロック図である。
【図１０】図９中の行処理部の構成を示すブロック図である。
【図１０Ａ】図９中の行処理部の他の構成を示すブロック図である。
【図１１】実施の形態４によるＬＤＰＣ符号復号装置の動作を示すフローチャートである。
【図１２】ビット誤り率と信号対雑音比（Ｅｂ／Ｎｏ）との関係をプロットしたグラフである。
【図１３】この発明の実施の形態５によるＬＤＰＣ符号復号装置の行処理部の構成を示すブロック図である。
【図１４】ビット誤り率と信号対雑音比（Ｅｂ／Ｎｏ）との関係をプロットしたグラフである。
【図１５】この発明の実施の形態６によるＬＤＰＣ符号復号装置の行処理部の構成を示すブロック図である。
【図１６】ビット誤り率と信号対雑音比（Ｅｂ／Ｎｏ）との関係をプロットしたグラフである。
【図１７】４ＰＡＭ  Ｇｒａｙ  Ｍａｐｐｉｎｇでの受信値の分布を示すグラフである。
【図１８】この発明の実施の形態１０によるＬＤＰＣ符号復号装置の行処理部の構成を示すブロック図である。
【図１９】この発明の実施の形態１１によるＬＤＰＣ符号復号装置の行処理部の構成を示すブロック図である。
【図２０】この発明の実施の形態１２によるＬＤＰＣ符号復号装置の構成を示すブロック図である。
【図２１】ＬＤＰＣ符号化行列の構成例を示す図である。
【図２２】実施の形態１２のＬＤＰＣ符号復号装置によるＬＤＰＣ符号行列のグループ分割例を示す図である。
【図２３】実施の形態１２によるＬＤＰＣ符号復号装置の動作を示すフローチャートである。
【図２４】ビット誤り率と復号繰り返し回数の平均値との関係をプロットしたグラフである。
【図２５】この発明の実施の形態１６による通信装置の構成を示すブロック図である。
【図２６】実施の形態１６による通信装置で使用するＬＤＰＣ符号の構成を示す図である。
【図２７】実施の形態１６による通信装置でＬＤＰＣ符号を４ＰＡＭに変調して送受信する場合におけるビットの割り当ての例を示す図である。
【図２８】実施の形態１６による通信装置の動作を示すフローチャートであり、この図に沿って説明する。
【図２９】この発明の実施の形態１７によるＬＤＰＣ符号復号装置の構成を示すブロック図である。
【図３０】図２９中の行処理部及び列処理部による復号演算を説明するためのブロック図である。
【図３１】図２９中の行処理部及び列処理部による他の復号演算を説明するためのブロック図である。
【図３２】擬似巡回符号の模式図である。
【図３３】この発明の実施の形態１８による行処理部及び列処理部の復号演算を説明するためのブロック図である。
【図３４】この発明の実施の形態１９によるＴｕｒｂｏ符号復号装置の構成を示すブロック図である。
【図３５】実施の形態１９によるＴｕｒｂｏ符号復号装置の動作を示すフローチャートである。
【図３６】ＬＤＰＣ復号器を含む本実施の形態の通信システムの構成例を示す図である。
【図３７】移動体通信システムの構成例を示す図である。
【発明を実施するための最良の形態】
【００４３】
以下、この発明をより詳細に説明するために、この発明を実施するための最良の形態について、添付の図面に従って説明する。
実施の形態１．
図１は、この発明の実施の形態１によるＬＤＰＣ符号復号装置の構成を示すブロック図である。本実施の形態１によるＬＤＰＣ符号復号装置１は、受信ＬＬＲ計算部２及び復号コア部（復号手段）３から構成される。受信ＬＬＲ計算部２は、ＬＤＰＣ（Low-Density Parity Check）符号化信号を受信し、その対数尤度比ＬＬＲ（Log Likelihood Ratio）（以下、受信ＬＬＲと称する）を算出して復号コア部３に出力する。復号コア部３は、途中結果保持部４、行処理部５、列処理部６、制御部７及び復号結果判定部８から構成される。【００４４】
途中結果保持部４では、受信ＬＬＲ計算部２から入力した受信ＬＬＲに基づく行処理部５及び列処理部６による復号処理の途中結果を保持する。行処理部５は、行処理を行う。列処理部６は、列処理を行う。制御部７は、行処理部５及び列処理部６による復号処理の繰り返しを制御する。復号結果判定部８は、事後値の硬判定から復号結果を決定し、パリティ検査を行って復号結果の正誤を判定する。【００４５】
ここで、本実施の形態１による行処理部５では、上記式（１）に対して、上記式（１）及び上記式（２）の代わりに下記式（８）の演算を実行する。つまり、上述したＳｈｕｆｆｌｅｄ  ＢＰアルゴリズムのステップ１の行処理において、Ｍｉｎ−Ｓｕｍアルゴリズムで使用する更新式で更新演算を行う。なお、下記式中の各記号は、上述したものと同様である。
【数５】
0004777261.tif 000006
【００４６】
図２は、図１中の行処理部の構成を示すブロック図である。比較部９は、入力された２値の絶対値の大小比較を行い、小さい方と２値の符号（±）との積を算出する。行処理部５は、複数の比較部９を複数段に接続して構成される。また、図に示すように、下段の比較部９は、入力２値の一方として上段の比較部９の算出結果を入力する。各比較部９による処理は下記の通りである。【００４７】
比較部９が２値ａ，ｂの絶対値を入力した場合、｜ａ｜＜｜ｂ｜であれば、ｓｉｇｎ（ａ）×ｓｉｇｎ（ｂ）×｜ａ｜を出力する。また、｜ａ｜＜｜ｂ｜以外であれば、ｓｉｇｎ（ａ）×ｓｉｇｎ（ｂ）×｜ｂ｜を出力する。なお、ｓｉｇｎ（ａ）はａの符号（±）を示している。行処理部５では、途中結果保持部４から行処理を行う該当ビットのＬＬＲを入力し、比較部９がそれぞれの大小比較と符号（±）の積を算出した値を列処理部６へ受け渡す。【００４８】
このように、本実施の形態１によるＬＤＰＣ符号復号装置１は、受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ若しくは予め定めた複数ビットずつ行うＳｈｕｆｆｌｅｄ  ＢＰアルゴリズムを基にして、その各行処理において上記式（２）及び上記式（３）を用いずにＭｉｎ−Ｓｕｍアルゴリズムの近似更新式である上記式（８）を利用する。これにより、受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ若しくは予め定めた複数ビットずつ行うＭｉｎ−Ｓｕｍアルゴリズムが実現される。【００４９】
次に動作について説明する。
図３は、実施の形態１によるＬＤＰＣ符号復号装置の動作を示すフローチャートであり、この図に沿って動作を説明する。
先ず、受信ＬＬＲ計算部２は、受信情報を入力（ステップＳＴ１）し、当該受信情報から受信ＬＬＲを算出する（ステップＳＴ２）。次に初期化ステップ（ステップＳＴ３）において、受信ＬＬＲ計算部２は、算出した受信ＬＬＲを初期値ｚm,n(0)（：＝Ｆn）として途中結果保持部４に設定する。このとき、制御部７は、復号の繰り返し回数ｉをｉ＝１と初期化する。【００５０】
次に、ステップＳＴ４において、繰り返し回数ｉ＝１からｉ＝最終復号回（最大繰り返し回数Ｉmax）まで行処理部５及び列処理部６による繰り返し復号処理であるステップ１と、復号結果判定部８による上記式（７）に従うステップ２の判定処理を繰り返し実行する。【００５１】
繰り返しｉ回目の復号演算を例に説明する。
先ず、復号したいＬＤＰＣ符号の検査行列Ｈ（＝[Ｈm,n]）に対して、上記式（１）においてｇ＝１のとき、行処理部５は、１列目からＮg列目までの列に１を持つ行の行処理を行い、処理結果を列処理部６へ受け渡す。列処理部６では、同様に１列目からＮg列目までの列処理を行い、処理結果を途中結果保持部４に保持させる。【００５２】
次に、上記式（１）においてｇ＝２のとき、行処理部５は、（Ｎg＋１）列目から２Ｎg列目までの列に１を持つ行の行処理を行い、処理結果を列処理部６へ受け渡す。列処理部６では、同様に（Ｎg＋１）列目から２Ｎg列目までの列処理を行い、処理結果を途中結果保持部４に保持させる。【００５３】
続いて、ｇ＝３以降の処理を逐次実行し、その都度、行処理部５による処理結果が列処理部６に受け渡され、列処理部６の処理結果が途中結果保持部４に保持される。【００５４】
最後に、上記式（１）においてｇ＝Ｇのとき、行処理部５は、（Ｎ−Ｎg）列目からＮ列目までの列に１を持つ行の行処理を行い、処理結果を列処理部６へ受け渡す。列処理部６では、同様に（Ｎ−Ｎg）列目からＮ列目までの列処理を行い、処理結果を途中結果保持部４に保持させる。【００５５】
上述した処理において、行処理部５が上記式（８）に従うことで、ｇ＝１以降の処理では、繰り返しｉ回目にて既に更新されたＬＬＲを持つ列に関しては、受信ＬＬＲではなく更新されたＬＬＲを用いて行処理が実行される。【００５６】
ステップ２では、復号結果判定部８が、列処理部６により繰り返しｉ回目で算出された事後値ｚn(i)を硬判定して復号結果を決めて、パリティ検査を行う。このとき、制御部７が、パリティ検査の結果がＮＧであるならば、繰り返し回数ｉを１増やし、続いてステップ１の処理を行処理部５及び列処理部６に実行させる。一方、上記式（７）の条件を満たせば、後述するステップ３の処理に移行させる。【００５７】
このようにして、制御部７は、上記式（７）に示すように、パリティ検査の結果がＯＫとなるか、若しくは繰り返し回数が設定した最大値Ｉmaxとなるまで、上記式（８）に基づく、ステップ１及びステップ２の処理を繰り返すように行処理部５及び列処理部６を制御する。【００５８】
復号結果判定部８によるパリティ検査の結果がＯＫとなるか、制御部７により設定された繰り返し回数ｉが最大値Ｉmaxとなれば、ステップ３（ステップＳＴ５）として、制御部７が行処理部５及び列処理部６による復号処理を終了させ、復号結果判定部８が復号結果として上記式（６）のような復号系列を出力する。【００５９】
図４は、従来のＭｉｎ−Ｓｕｍアルゴリズムに従うＬＤＰＣ符号復号装置と、実施の形態１によるＬＤＰＣ符号復号装置とにおける、ビット誤り率とこのビット誤り率でのパリティ検査がＯＫになるまでに要した復号繰り返し回数の平均値との関係をプロットしたグラフである。図において、プロット間を破線で繋いだ方が従来のＭｉｎ−Ｓｕｍアルゴリズムによるものであり、実線でプロット間を繋いだものが本実施の形態１によるものである。【００６０】
また、図４において、ＬＤＰＣ符号は、レギュラーＬＤＰＣ符号、符号長８０００、符号化率１／２、列重み３、行重み６であり、最大繰り返し回数Ｉmaxが１００回である。通信路は、ＡＷＧＮ（Additive White Gaussian Noise；加法性白色ガウス雑音）通信路を想定しており、変調方式はＢＰＳＫ（Binary Phase Shift Keying）としている。【００６１】
従来のＭｉｎ−Ｓｕｍアルゴリズムでは、上記式（８）に従って繰り返し復号の任意の１回で符号化信号に対して全ての行処理を終えてから、当該符号化信号の全てのビットに対する列処理が行われる。これに対して、本実施の形態１によるＬＤＰＣ符号復号装置１では、受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ若しくは予め定めた複数ビットずつ行う。これにより、図４に示すように、パリティ検査がＯＫとなるまでに要した復号繰り返し回数の平均値の収束が、従来のＭｉｎ−Ｓｕｍアルゴリズムと比較して格段に速くなっていることがわかる。【００６２】
以上のように、この実施の形態１によれば、受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ若しくは予め定めた複数ビットずつ行うと共に、その行処理においてＭｉｎ−Ｓｕｍアルゴリズムの簡易な更新式を用いるので、従来のＭｉｎ−Ｓｕｍアルゴリズムよりも確率伝搬が効率的に行われることになり、復号演算の収束が速くなり繰り返し回数を削減することができる。また、Ｍｉｎ−Ｓｕｍアルゴリズムを行処理の基本アルゴリズムとして、従来のＳｈｕｆｆｌｅｄ  ＢＰアルゴリズムのように数学関数を必要とすることがなく、計算コストを削減することができる。【００６３】
実施の形態２．
上記実施の形態１では、受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ若しくは予め定めた複数ビットずつ行うＭｉｎ−Ｓｕｍアルゴリズムを実現したＬＤＰＣ符号復号装置を示した。これに対し、本実施の形態２によるＬＤＰＣ符号復号装置は、受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ若しくは予め定めた複数ビットずつ行うと共に、その行処理においてＮｏｒｍａｌｉｚｅｄ  ＢＰアルゴリズムを実行するものである。【００６４】
本実施の形態２によるＬＤＰＣ符号復号装置は、図１に示した上記実施の形態１によるＬＤＰＣ符号復号装置と基本的に同様な構成を有しているが、Ｎｏｒｍａｌｉｚｅｄ  ＢＰアルゴリズムの実行のために行処理部５の構成及びその処理内容が異なる。【００６５】
具体的に説明すると、本実施の形態２における行処理部５では、上記式（１）に対して上記式（２）及び上記式（３）の代わりに下記式（９）の演算を実行する。つまり、受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ、若しくは予め定めた複数ビットずつ行う、Ｓｈｕｆｆｌｅｄ  ＢＰアルゴリズムのステップ１の行処理において、Ｎｏｒｍａｌｉｚｅｄ  ＢＰアルゴリズムで使用する更新式である下記式（９）により更新演算を行う。なお、下記式（９）中の各記号は、上述したものと同様である。また、定数αは、Ｎｏｒｍａｌｉｚａｔｉｏｎ  Ｆａｃｔｏｒである。
【数６】
0004777261.tif 000007
【００６６】
本実施の形態２によるＬＤＰＣ符号復号装置は、上述したように、基本的な構成は図１に示す上記実施の形態１と同様である。つまり、受信情報から受信ＬＬＲを算出する受信ＬＬＲ算出部２と復号コア部３とから構成され、復号コア部３により受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ若しくは予め定めた複数ビットずつ行う、Ｎｏｒｍａｌｉｚｅｄ  ＢＰアルゴリズムによる復号を実行する。【００６７】
復号コア部３は、途中結果保持部４、行処理部５、列処理部６、制御部７及び復号結果判定部８から構成される。途中結果保持部４は、上記実施の形態１で説明したように、行処理部５及び列処理部６による復号の途中結果を保持する。行処理部５では、上記式（９）を用いた行処理を行い、列処理部６は、上述したＳｈｕｆｆｌｅｄ  ＢＰアルゴリズムのステップ１と同様に、上記式（４）及び式（５）を用いた列処理を行う。【００６８】
制御部７は、最大繰り返し回数の設定などの復号繰り返しの制御を行う。復号結果判定部８では、上述したＳｈｕｆｆｌｅｄ  ＢＰアルゴリズムのステップ１と同様に列処理部６が求めた事後値の硬判定から上記式（６）により復号結果の復号系列を算出し、パリティ検査を行って上記式（７）の条件から復号結果の正誤を判定する。【００６９】
図５は、実施の形態２によるＬＤＰＣ符号復号装置の行処理部の構成を示すブロック図である。本実施の形態による行処理部５は、複数の比較部９と除算部１０から構成される。比較部９は、図２で示したものと同様に、入力された２値の絶対値の大小比較を行い、小さい方と２値の符号（±）との積を算出する。行処理部５において、複数の比較部９が複数段に接続している。また、図に示すように、下段の比較部９は、入力２値の一方として上段の比較部９の算出結果を入力する。各比較部９による処理は下記の通りである。【００７０】
比較部９が２値ａ，ｂの絶対値を入力した場合、｜ａ｜＜｜ｂ｜であれば、ｓｉｇｎ（ａ）×ｓｉｇｎ（ｂ）×｜ａ｜を出力する。また、｜ａ｜＜｜ｂ｜以外であれば、ｓｉｇｎ（ａ）×ｓｉｇｎ（ｂ）×｜ｂ｜を出力する。なお、ｓｉｇｎ（ａ）はａの符号（±）を示している。【００７１】
除算部１０では、入力値ｃに対し、因子α（Normalization Factor）で除算したｃ／αを計算して列処理部６に出力する。つまり、本実施の形態２による行処理部５では、途中結果保持部４から行処理を行う該当ビットのＬＬＲを入力すると、それぞれの大小比較と符号（±）の積を比較部９で行い、比較部９により得られた値を除算部１０が因子αによる除算を行った後、列処理部６へ受け渡す処理を行う。【００７２】
このように、本実施の形態１によるＬＤＰＣ符号復号装置１は、受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ若しくは予め定めた複数ビットずつ行うＳｈｕｆｆｌｅｄ  ＢＰアルゴリズムを基にして、その各行処理において上記式（２）及び上記式（３）を用いずにＮｏｒｍａｌｉｚｅｄ  ＢＰアルゴリズムの更新式である上記式（９）を利用する。これにより、Ｍｉｎ−Ｓｕｍアルゴリズムと同程度の計算コストでＬＤＰＣ符号の復号を行いつつ、復号性能が劣化するのを抑えたＮｏｒｍａｌｉｚｅｄ  ＢＰアルゴリズムを、受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ若しくは予め定めた複数ビットずつ行うことを実現している。【００７３】
次に動作について説明する。
本実施の形態２によるＬＤＰＣ符号復号装置の基本的な動作の流れは、上記実施の形態１における図３のフローチャートと同様である。よって、図３に沿って動作を説明し、併せて上記実施の形態１と異なる動作について説明する。【００７４】
先ず、受信ＬＬＲ計算部２は、受信情報を入力（ステップＳＴ１）し、当該受信情報から受信ＬＬＲを算出する（ステップＳＴ２）。次に初期化ステップ（ステップＳＴ３）において、受信ＬＬＲ計算部２は、算出した受信ＬＬＲを初期値ｚm,n(0)（：＝Ｆn）として途中結果保持部４に設定する。このとき、制御部７は、復号の繰り返し回数ｉをｉ＝１と初期化する。【００７５】
次に、ステップＳＴ４において、繰り返し回数ｉ＝１からｉ＝最終復号回（最大繰り返し回数Ｉmax）まで行処理部５及び列処理部６による繰り返し復号処理であるステップ１と、復号結果判定部８による上記式（７）に従うステップ２の判定処理を繰り返し実行する。【００７６】
繰り返しｉ回目の復号演算を例に説明する。
先ず、復号したいＬＤＰＣ符号の検査行列Ｈ（＝[Ｈm,n]）に対して、上記式（１）においてｇ＝１のとき、行処理部５は、１列目からＮg列目までの列に１を持つ行について上記式（９）に従う行処理を行い、処理結果を列処理部６へ受け渡す。列処理部６では、上記式（３）及び上記式（４）に従って１列目からＮg列目までの列処理を行い、処理結果を途中結果保持部４に保持させる。【００７７】
次に、上記式（１）においてｇ＝２のとき、行処理部５は、（Ｎg＋１）列目から２Ｎg列目までの列に１を持つ行の行処理を行い、処理結果を列処理部６へ受け渡す。列処理部６では、同様に（Ｎg＋１）列目から２Ｎg列目までの列処理を行い、処理結果を途中結果保持部４に保持させる。【００７８】
続いて、ｇ＝３以降の処理を逐次実行し、その都度、行処理部５による処理結果が列処理部６に受け渡され、列処理部６の処理結果が途中結果保持部４に保持される。【００７９】
最後に、上記式（１）においてｇ＝Ｇのとき、行処理部５は、（Ｎ−Ｎg）列目からＮ列目までの列に１を持つ行の行処理を行い、処理結果を列処理部６へ受け渡す。列処理部６では、同様に（Ｎ−Ｎg）列目からＮ列目までの列処理を行い、処理結果を途中結果保持部４に保持させる。【００８０】
上述した処理において、行処理部５が上記式（９）に従うことで、ｇ＝１以降の処理では、繰り返しｉ回目にて既に更新されたＬＬＲを持つ列に関しては、受信ＬＬＲではなく更新されたＬＬＲを用いて行処理が実行される。【００８１】
ステップ２では、復号結果判定部８が、列処理部６により繰り返しｉ回目で算出された事後値ｚn(i)を硬判定して復号結果を決めて、パリティ検査を行う。このとき、制御部７が、パリティ検査の結果がＮＧであるならば、繰り返し回数ｉを１増やして、続いてステップ１の処理を行処理部５及び列処理部６に実行させる。一方、上記式（７）の条件を満たせば、後述するステップ３の処理に移行させる。【００８２】
このようにして、制御部７は、上記式（７）に示すように、パリティ検査の結果がＯＫとなるか、若しくは繰り返し回数が設定した最大値Ｉmaxとなるまで、上記式（９）に基づく、ステップ１及びステップ２の処理を繰り返すように行処理部５及び列処理部６を制御する。【００８３】
復号結果判定部８によるパリティ検査の結果がＯＫとなるか、制御部７により設定された繰り返し回数ｉが最大値Ｉmaxとなれば、ステップ３（ステップＳＴ５）として、制御部７が行処理部５及び列処理部６による復号処理を終了させ、復号結果判定部８が復号結果として上記式（６）のような復号系列を出力する。【００８４】
図６は、従来のＮｏｒｍａｌｉｚｅｄ  ＢＰアルゴリズムに従うＬＤＰＣ符号復号装置と、実施の形態２によるＬＤＰＣ符号復号装置とにおける、ビット誤り率とこのビット誤り率でのパリティ検査がＯＫになるまでに要した復号繰り返し回数の平均値との関係をプロットしたグラフである。図において、プロット間を破線で繋いだ方が従来のＮｏｒｍａｌｉｚｅｄ  ＢＰアルゴリズムによるものであり、実線でプロット間を繋いだものが本実施の形態２によるものである。【００８５】
また、図６において、ＬＤＰＣ符号は、レギュラーＬＤＰＣ符号、符号長８０００、符号化率１／２、列重み３、行重み６、最大繰り返し回数Ｉmaxが１００回である。また、通信路は、ＡＷＧＮ（Additive White Gaussian Noise；加法性白色ガウス雑音）通信路を想定し、変調方式をＢＰＳＫ（Binary Phase Shift Keying）としている。さらに、従来のＮｏｒｍａｌｉｚｅｄ  ＢＰアルゴリズム及び本実施の形態２によるＮｏｒｍａｌｉｚｅｄ  ＢＰアルゴリズムにおいて、因子α（Normalization Factor）をそれぞれα＝１．２５としている。【００８６】
従来のＮｏｒｍａｌｉｚｅｄ  ＢＰアルゴリズムでは、上記式（９）に従って繰り返し復号の任意の１回で符号化信号に対して全ての行処理を終えてから、当該符号化信号の全てのビットに対する列処理が行われる。これに対して、本実施の形態２によるＬＤＰＣ符号復号装置では、受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ若しくは予め定めた複数ビットずつ行う。これにより、図６に示すように、パリティ検査がＯＫとなるまでに要した復号繰り返し回数の平均値の収束が、従来のＮｏｒｍａｌｉｚｅｄ  ＢＰアルゴリズムと比較して格段に速くなっていることがわかる。【００８７】
以上のように、この実施の形態２によれば、受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ若しくは予め定めた複数ビットずつ行うと共に、その行処理においてＮｏｒｍａｌｉｚｅｄ  ＢＰアルゴリズムの簡易な更新式を用いるので、従来のＮｏｒｍａｌｉｚｅｄ  ＢＰアルゴリズムよりも確率伝搬が効率的に行われることになり、復号演算の収束が速くなり繰り返し回数を削減することが可能となる。また、Ｎｏｒｍａｌｉｚｅｄ  ＢＰアルゴリズムを基本アルゴリズムとしたことで、従来のＳｈｕｆｆｌｅｄ  ＢＰアルゴリズムのように数学関数を必要とすることがなく、計算コストを削減することができる。【００８８】
実施の形態３．
本実施の形態３では、受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ若しくは予め定めた複数ビットずつ行うと共に、その行処理においてＯｆｆｓｅｔ  ＢＰアルゴリズムを実行するものである。【００８９】
本実施の形態３によるＬＤＰＣ符号復号装置は、図１に示した上記実施の形態１によるＬＤＰＣ符号復号装置と基本的に同様な構成を有しているが、Ｏｆｆｓｅｔ  ＢＰアルゴリズムの実行のために行処理部５の構成及びその処理内容が異なる。具体的に説明すると、本実施の形態３における行処理部５では、上記式（１）に対して下記式（１０）の演算を実行する。【００９０】
つまり、受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ、若しくは予め定めた複数ビットずつ行う、Ｓｈｕｆｆｌｅｄ  ＢＰアルゴリズムのステップ１の行処理において、Ｏｆｆｓｅｔ  ＢＰアルゴリズムで使用する近似更新式である下記式（１０）により更新演算を行う。なお、下記式（１０）中の各記号は、上述したものと同様である。また、定数βは、Ｏｆｆｓｅｔ  Ｆａｃｔｏｒであり、ＭＡＸは両者の大きい方を選択する操作とする。
【数７】
0004777261.tif 000008
【００９１】
本実施の形態３によるＬＤＰＣ符号復号装置は、上述したように、基本的な構成は図１に示す上記実施の形態１と同様である。つまり、受信情報から受信ＬＬＲを算出する受信ＬＬＲ算出部２と復号コア部３とから構成され、復号コア部３により受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ若しくは予め定めた複数ビットずつ行う、Ｏｆｆｓｅｔ  ＢＰアルゴリズムによる復号を実行する。【００９２】
復号コア部３は、途中結果保持部４、行処理部５、列処理部６、制御部７及び復号結果判定部８から構成される。途中結果保持部４は、上記実施の形態１で説明したように、行処理部５及び列処理部６による復号の途中結果を保持する。行処理部５では、上記式（１０）を用いた行処理を行い、列処理部６は、上述したＳｈｕｆｆｌｅｄ  ＢＰアルゴリズムのステップ１と同様に上記式（４）及び式（５）を用いた列処理を行う。【００９３】
制御部７は、最大繰り返し回数の設定などの復号繰り返しの制御を行う。復号結果判定部８では、上述したＳｈｕｆｆｌｅｄ  ＢＰアルゴリズムのステップ１と同様に列処理部６が求めた事後値の硬判定から上記式（６）により復号結果の復号系列を算出し、パリティ検査を行って上記式（７）の条件から復号結果の正誤を判定する。【００９４】
図７は、実施の形態３によるＬＤＰＣ符号復号装置の行処理部の構成を示すブロック図である。本実施の形態による行処理部５は、複数の比較部９と減算部１１から構成される。比較部９は、図２で示したものと同様に、入力された２値の絶対値の大小比較を行い、小さい方と２値の符号（±）との積を算出する。行処理部５において、複数の比較部９が複数段に接続している。また、図に示すように、下段の比較部９は、入力２値の一方として上段の比較部９の算出結果を入力する。各比較部９による処理は下記の通りである。【００９５】
比較部９が２値ａ，ｂの絶対値を入力した場合、｜ａ｜＜｜ｂ｜であれば、ｓｉｇｎ（ａ）×ｓｉｇｎ（ｂ）×｜ａ｜を出力する。また、｜ａ｜＜｜ｂ｜以外であれば、ｓｉｇｎ（ａ）×ｓｉｇｎ（ｂ）×｜ｂ｜を出力する。なお、ｓｉｇｎ（ａ）はａの符号（±）を示している。【００９６】
減算部１１では、入力値ｃに対し、因子β（Offset Factor）で減算したｃ−βを計算して列処理部６に出力する。つまり、本実施の形態３による行処理部５では、途中結果保持部４から行処理を行う該当ビットのＬＬＲを入力すると、それぞれの大小比較と符号（±）の積を比較部９で行い、比較部９により得られた値を減算部１１が因子βによる減算を行った後、列処理部６へ受け渡す処理を行う。【００９７】
このように、本実施の形態３によるＬＤＰＣ符号復号装置は、受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ若しくは予め定めた複数ビットずつ行うＳｈｕｆｆｌｅｄ  ＢＰアルゴリズムを基にして、その各行処理において上記式（２）及び上記式（３）を用いずにＯｆｆｓｅｔ  ＢＰアルゴリズムの更新式である上記式（１０）を利用する。これにより、Ｍｉｎ−Ｓｕｍアルゴリズムと同程度の計算コストでＬＤＰＣ符号の復号を行いつつ、復号性能が劣化するのを抑えたＯｆｆｓｅｔ  ＢＰアルゴリズムを、受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ若しくは予め定めた複数ビットずつ行うことを実現している。【００９８】
次に動作について説明する。
本実施の形態３によるＬＤＰＣ符号復号装置の基本的な動作の流れは、上記実施の形態１における図３のフローチャートと同様である。よって、図３に沿って動作を説明し、併せて上記実施の形態１と異なる動作について説明する。【００９９】
先ず、受信ＬＬＲ計算部２は、受信情報を入力（ステップＳＴ１）し、当該受信情報から受信ＬＬＲを算出する（ステップＳＴ２）。次に初期化ステップ（ステップＳＴ３）において、受信ＬＬＲ計算部２は、算出した受信ＬＬＲを初期値ｚm,n(0)（：＝Ｆn）として途中結果保持部４に設定する。このとき、制御部７は、復号の繰り返し回数ｉをｉ＝１と初期化する。【０１００】
次に、ステップＳＴ４において、繰り返し回数ｉ＝１からｉ＝最終復号回（最大繰り返し回数Ｉmax）まで行処理部５及び列処理部６による繰り返し復号処理であるステップ１と、復号結果判定部８による上記式（７）に従うステップ２の判定処理を繰り返し実行する。【０１０１】
繰り返しｉ回目の復号演算を例に説明する。
先ず、復号したいＬＤＰＣ符号の検査行列Ｈ（＝[Ｈm,n]）に対して、上記式（１）においてｇ＝１のとき、行処理部５は、１列目からＮg列目までの列に１を持つ行について上記式（１０）に従う行処理を行い、処理結果を列処理部６へ受け渡す。列処理部６では、上記式（３）及び上記式（４）に従って１列目からＮg列目までの列処理を行い、処理結果を途中結果保持部４に保持させる。【０１０２】
次に、上記式（１）においてｇ＝２のとき、行処理部５は、（Ｎg＋１）列目から２Ｎg列目までの列に１を持つ行の行処理を行い、処理結果を列処理部６へ受け渡す。列処理部６では、同様に（Ｎg＋１）列目から２Ｎg列目までの列処理を行い、処理結果を途中結果保持部４に保持させる。【０１０３】
続いて、ｇ＝３以降の処理を逐次実行し、その都度、行処理部５による処理結果が列処理部６に受け渡され、列処理部６の処理結果が途中結果保持部４に保持される。【０１０４】
最後に、上記式（１）においてｇ＝Ｇのとき、行処理部５は、（Ｎ−Ｎg）列目からＮ列目までの列に１を持つ行の行処理を行い、処理結果を列処理部６へ受け渡す。列処理部６では、同様に（Ｎ−Ｎg）列目からＮ列目までの列処理を行い、処理結果を途中結果保持部４に保持させる。【０１０５】
上述した処理において、行処理部５が上記式（１０）に従うことで、ｇ＝１以降の処理では、繰り返しｉ回目にて既に更新されたＬＬＲを持つ列に関しては、受信ＬＬＲではなく更新されたＬＬＲを用いて行処理が実行される。【０１０６】
ステップ２では、復号結果判定部８が、列処理部６により繰り返しｉ回目で算出された事後値ｚn(i)を硬判定して復号結果を決めて、パリティ検査を行う。このとき、制御部７が、パリティ検査の結果がＮＧであるならば、繰り返し回数ｉを１増やして、続いてステップ１の処理を行処理部５及び列処理部６に実行させる。一方、上記式（７）の条件を満たせば、後述するステップ３の処理に移行させる。【０１０７】
このようにして、制御部７は、上記式（７）に示すように、パリティ検査の結果がＯＫとなるか、若しくは繰り返し回数が設定した最大値Ｉmaxとなるまで、上記式（１０）に基づく、ステップ１及びステップ２の処理を繰り返すように行処理部５及び列処理部６を制御する。【０１０８】
復号結果判定部８によるパリティ検査の結果がＯＫとなるか、制御部７により設定された繰り返し回数ｉが最大値Ｉmaxとなれば、ステップ３（ステップＳＴ５）として、制御部７が行処理部５及び列処理部６による復号処理を終了させ、復号結果判定部８が復号結果として上記式（６）のような復号系列を出力する。【０１０９】
図８は、従来のＯｆｆｓｅｔ  ＢＰアルゴリズムに従うＬＤＰＣ符号復号装置と、実施の形態３によるＬＤＰＣ符号復号装置とにおける、ビット誤り率とこのビット誤り率でのパリティ検査がＯＫになるまでに要した復号繰り返し回数の平均値との関係をプロットしたグラフである。図において、プロット間を破線で繋いだ方が従来のＯｆｆｓｅｔ  ＢＰアルゴリズムによるものであり、実線でプロット間を繋いだものが本実施の形態３によるものである。【０１１０】
また、図８において、ＬＤＰＣ符号は、レギュラーＬＤＰＣ、符号長８０００、符号化率１／２、列重み３、行重み６、最大繰り返し回数Ｉmaxが１００回である。通信路は、ＡＷＧＮ（Additive White Gaussian Noise；加法性白色ガウス雑音）通信路を想定しており、変調方式はＢＰＳＫ（Binary Phase Shift Keying）としている。また、従来のＯｆｆｓｅｔ  ＢＰアルゴリズム及び本実施の形態３によるＯｆｆｓｅｔ  ＢＰアルゴリズムにおいて、因子β（Offset Factor）をそれぞれβ＝０．１５としている。【０１１１】
従来のＯｆｆｓｅｔ  ＢＰアルゴリズムでは、上記式（１０）に従って繰り返し復号の任意の１回で符号化信号に対して全ての行処理を終えてから、当該符号化信号の全てのビットに対する列処理が行われる。これに対して、本実施の形態３によるＬＤＰＣ符号復号装置では、受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ若しくは予め定めた複数ビットずつ行う。これにより、図８に示すように、パリティ検査がＯＫとなるまでに要した復号繰り返し回数の平均値の収束が、従来のＯｆｆｓｅｔ  ＢＰアルゴリズムと比較して格段に速くなっていることがわかる。【０１１２】
以上のように、この実施の形態３によれば、受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ若しくは予め定めた複数ビットずつ行うと共に、その行処理においてＯｆｆｓｅｔ  ＢＰアルゴリズムの簡易な更新式を用いるので、従来のＯｆｆｓｅｔ  ＢＰアルゴリズムよりも確率伝搬が効率的に行われることになり、復号演算の収束が速くなり繰り返し回数を削減することができる。また、Ｏｆｆｓｅｔ  ＢＰアルゴリズムを基本アルゴリズムとしたことで、従来のＳｈｕｆｆｌｅｄ  ＢＰアルゴリズムのように数学関数を必要とすることがなく、計算コストを削減することができる。【０１１３】
実施の形態４．
この実施の形態４は、Ｍｉｎ−Ｓｕｍアルゴリズムに受信情報から減算とビットシフト演算のみで算出できる補正項による補正を行う補正型のＭｉｎ−Ｓｕｍアルゴリズムを復号アルゴリズムとして備えるものである。【０１１４】
図９は、この発明の実施の形態４によるＬＤＰＣ符号復号装置の構成を示すブロック図である。本実施の形態４によるＬＤＰＣ符号復号装置１は、受信ＬＬＲ計算部２及び復号コア部３から構成される。受信ＬＬＲ計算部２は、ＬＤＰＣ（Low-Density Parity Check）符号化信号を受信し、その対数尤度比ＬＬＲを算出して復号コア部３に出力する。復号コア部３は、途中結果保持部４、行処理部５、列処理部６、制御部７及び復号結果判定部８から構成される。【０１１５】
途中結果保持部４は、受信ＬＬＲ計算部２から入力した受信ＬＬＲに基づく行処理部５及び列処理部６による復号処理の途中結果を保持する。行処理部５は、上述した補正項による補正を行う補正型のＭｉｎ−Ｓｕｍアルゴリズムによる行処理を行う。列処理部６は、当該行処理部５による処理結果について列処理を行う。制御部７は、行処理部５及び列処理部６による復号処理の繰り返しを制御する。復号結果判定部８は、事後値の硬判定から復号結果を決定し、パリティ検査を行って復号結果の正誤を判定する。【０１１６】
ここで、本実施の形態４では、従来のＭｉｎ−Ｓｕｍアルゴリズムと同様に、繰り返し復号の任意の１回で符号化信号に対して全ての行処理を終えてから当該符号化信号の全てのビットに対する列処理を行う。つまり、復号したいＬＤＰＣ符号の検査行列が２元ｍ×ｎ行列Ｈ＝[Ｈm,n]（ｎは０以上Ｎ未満の整数，ｍは０以上Ｍ未満の整数）であるとすると、ｍ＝１，２，３，・・・，Ｍの順にＨm,n＝１を満たす全ての組（ｍ，ｎ）に対して行処理を行い、この後ｎ＝１，２，３，・・・，Ｎの順にＨm,n＝１を満たす全ての組（ｍ，ｎ）に対して列処理が実行される。【０１１７】
繰り返し１回の中で実行される行処理であるステップ１において、本実施の形態４による行処理部５は、下記式（１１）に対して下記式（１２）の演算を実行する。下記式（１２）中の各パラメータは、下記式（１３）〜（１５）で表され、これら式中の各記号は、上述したものと同様である。
【数８】
0004777261.tif 000009
【０１１８】
なお、上記式（１５）において、Ｍｉｎ−Ｓｕｍアルゴリズムに対する補正項となるδについては、Ｓｕｍ−Ｐｒｏｄｕｃｔアルゴリズムの更新式から級数展開して得ることのできる近似項であり、入力する２値の絶対値の差と２による除算、定数Ｃからの減算のみで算出することができる。【０１１９】
また、定数Ｃについては、Ｓｕｍ−Ｐｒｏｄｕｃｔアルゴリズムの更新式からの近似計算で得られるｌｎ（２）が１例であるが、例えば０．９など適切な値を設定することで、復号性能を向上させることも可能である。さらに２による除算については、ハードウェアなど２進数で表現された系においては、１ビットのビットシフト演算で可能である。【０１２０】
さらに、ステップ１において、行処理部５による全ての行処理が終了すると、本実施の形態４による列処理部６は、下記式（１６）に対して上記式（４）及び上記式（５）の演算を実行する。
【数９】
0004777261.tif 000010
【０１２１】
続いて、ステップ２として、復号結果判定部８が、事後値ｚn(i)を硬判定し、上記式（６）で表される復号系列を生成する。このあと、上記式（７）の条件を満たせば、後述するステップ３の処理に移行し、これら２条件のいずれをも満たさなければ、繰り返し回数ｉを加算してステップ２の処理に戻る。ステップ３では、復号結果判定部８が、復号結果として、ステップ２で得た上記式（６）に従う復号系列を出力する。【０１２２】
図１０は、図９中の行処理部の構成を示すブロック図である。補正演算部１２は、入力された２値の絶対値の大小比較、補正項の算出及びこれに基づく補正を行い、補正された値と２値の符号（±）との積を算出する。行処理部５は、複数の補正演算部１２を複数段に接続して構成される。また、図に示すように、下段の補正演算部１２は、入力２値の一方として上段の補正演算部１２の算出結果を入力する。各補正演算部１２による処理は下記の通りである。【０１２３】
補正演算部１２が２値ａ，ｂの絶対値を入力した場合、先ず、δ＝０．６９−（｜｜ａ｜−｜ｂ｜｜）＞＞２を計算する（ｌｎ（２）〜０．６９）。そして、｜ａ｜＜｜ｂ｜であれば、ｓｉｇｎ（ａ）×ｓｉｇｎ（ｂ）×（｜ａ｜−δ）を出力する。また、｜ａ｜＜｜ｂ｜以外であれば、ｓｉｇｎ（ａ）×ｓｉｇｎ（ｂ）×（｜ｂ｜−δ）を出力する。なお、ｓｉｇｎ（ａ）はａの符号（±）を示している。行処理部５では、途中結果保持部４から行処理を行う該当ビットのＬＬＲを入力し、補正演算部１２がそれぞれの大小比較と補正、符号（±）の積を算出した値を列処理部６へ受け渡す処理を行う。【０１２４】
このように、本実施の形態４によるＬＤＰＣ符号復号装置１では、繰り返し復号の任意の１回で符号化信号に対して、Ｍｉｎ−Ｓｕｍアルゴリズムに受信情報から減算とビットシフト演算のみで算出できる補正項による補正を行う補正型のＭｉｎ−Ｓｕｍアルゴリズムによって、全ての行処理を終えてから当該符号化信号の全てのビットに対する列処理を行う。【０１２５】
なお、上述した上記式（１２）及び図１０の構成では、全ての比較において補正を行うが、図１０Ａに示すように比較部９による最小２値の比較のときのみ補正を行うなど、比較回数よりも補正回数を減らすことで、演算量を削減することができる。【０１２６】
次に動作について説明する。
図１１は、実施の形態４によるＬＤＰＣ符号復号装置の動作を示すフローチャートであり、この図に沿って動作を説明する。
先ず、受信ＬＬＲ計算部２は、受信情報を入力（ステップＳＴ１）し、当該受信情報から受信ＬＬＲを算出する（ステップＳＴ２）。次に初期化ステップ（ステップＳＴ３）において、受信ＬＬＲ計算部２は、算出した受信ＬＬＲを初期値ｚm,n(0)（：＝Ｆn）として途中結果保持部４に設定する。このとき、制御部７は、復号の繰り返し回数ｉをｉ＝１と初期化する。【０１２７】
次に、ステップＳＴ４ａにおいて、繰り返し回数ｉ＝１からｉ＝最終復号回（最大繰り返し回数Ｉmax）まで行処理部５及び列処理部６による繰り返し復号処理であるステップ１と、復号結果判定部８による上記式（７）に従うステップ２の判定処理を繰り返し実行する。【０１２８】
繰り返しｉ回目の復号演算を例に説明する。
先ず、ステップ１において、行処理部５は、復号したいＬＤＰＣ符号の検査行列Ｈ（＝[Ｈm,n]）に対して繰り返しｉ回目の復号演算における行処理を行う。具体的に説明すると、上記式（１１）の関係に従って１列目からＮ列目までの列に１を持つ行の行処理を上記式（１２）を用いて行い、処理結果を途中結果保持部４に保持させる。【０１２９】
ステップ１において、行処理部５による行処理が終了すると、列処理部６は、復号したいＬＤＰＣ符号の検査行列Ｈに対して繰り返しｉ回目の復号演算における列処理を行う。具体的には、上記式（１６）の関係に従って１列目からＮ列目までの列処理を行い、処理結果を途中結果保持部４に保持させる。【０１３０】
ステップ２では、復号結果判定部８が、列処理部６により繰り返しｉ回目で算出された事後値ｚn(i)を硬判定して復号結果を決めて、パリティ検査を行う。このとき、制御部７が、パリティ検査の結果がＮＧであるならば、繰り返し回数ｉを１増やして、続いてステップ１の処理を行処理部５及び列処理部６に実行させる。一方、上記式（７）の条件を満たせば、後述するステップ３の処理に移行させる。【０１３１】
このようにして、制御部７は、上記式（７）に示すように、パリティ検査の結果がＯＫとなるか、若しくは繰り返し回数が設定した最大値Ｉmaxとなるまで、ステップ１の処理を繰り返すように行処理部５及び列処理部６を制御する。【０１３２】
復号結果判定部８によるパリティ検査の結果がＯＫとなるか、制御部７により設定された繰り返し回数ｉが最大値Ｉmaxとなれば、ステップ３（ステップＳＴ５）として、制御部７が行処理部５及び列処理部６による復号処理を終了させ、復号結果判定部８が復号結果として上記式（６）のような復号系列を出力する。【０１３３】
図１２は、従来のＳｕｍ−Ｐｒｏｄｕｃｔアルゴリズムに従うＬＤＰＣ符号復号装置と、従来のＭｉｎ−Ｓｕｍアルゴリズムに従うＬＤＰＣ符号復号装置と、実施の形態４によるＬＤＰＣ符号復号装置とにおける、ビット誤り率とこのビット誤り率での信号対雑音比（Ｅｂ／Ｎｏ）との関係をプロットしたグラフである。図において、プロット間を一点破線で繋いだ方が従来のＳｕｍ−Ｐｒｏｄｕｃｔアルゴリズムによるものであり、プロット間を破線で繋いだ方が従来のＭｉｎ−Ｓｕｍアルゴリズムによるものであり、実線でプロット間を繋いだものが本実施の形態４によるものである。【０１３４】
また、図１２において、ＬＤＰＣ符号は、レギュラーＬＤＰＣ符号、符号長８０００、符号化率１／２、列重み３、行重み６であり、最大繰り返し回数Ｉmaxが１００回である。通信路は、ＡＷＧＮ（Additive White Gaussian Noise；加法性白色ガウス雑音）通信路を想定しており、変調方式はＢＰＳＫ（Binary Phase Shift Keying）としている。【０１３５】
従来のＳｕｍ−Ｐｒｏｄｕｃｔアルゴリズム及び従来のＭｉｎ−Ｓｕｍアルゴリズムでは、それぞれ上記式（２）及び上記式（８）に従って、繰り返し復号の任意の１回で符号化信号に対して全ての行処理を終えてから、当該符号化信号の全てのビットに対する列処理が行われる。【０１３６】
これに対して、本実施の形態４によるＬＤＰＣ符号復号装置１では、受信情報の減算及びビットシフト演算のみで算出できる補正項による補正を行う補正型のＭｉｎ−Ｓｕｍアルゴリズムに従って、受信信号に対する行処理に対して全ての行処理を終えてから、当該符号化信号の全てのビットに対する列処理が行う。この補正により、図１２に示すように、本実施の形態４によるＬＤＰＣ符号復号装置１は、従来のＭｉｎ−Ｓｕｍアルゴリズムと比較して格段に復号性能が向上しており、また従来のＳｕｍ−Ｐｒｏｄｕｃｔアルゴリズムと同様な復号性能を実現できているのがわかる。【０１３７】
以上のように、この実施の形態４によれば、受信情報の減算及びビットシフト演算のみで算出できる補正項による補正を行う補正型のＭｉｎ−Ｓｕｍアルゴリズムに従って復号処理を実行するので、従来のＳｕｍ−Ｐｒｏｄｕｃｔアルゴリズムからの復号性能の劣化を抑えることができる上、従来のＭｉｎ−Ｓｕｍアルゴリズムと比較すると格段に復号性能を向上させることができる。【０１３８】
また、Ｍｉｎ−Ｓｕｍアルゴリズムに対する補正項を受信情報から算出することから、従来の補正型のＭｉｎ−Ｓｕｍアルゴリズムのように補正項を保持するテーブルを用意しておく必要がなく、従来のＮｏｒｍａｌｉｚｅｄ  ＢＰアルゴリズムやＯｆｆｓｅｔ  ＢＰアルゴリズムのように、符号構成に依存して最適化した因子を予め用意しておく必要もない。【０１３９】
さらに、受信情報に基づく補正項を算出するための計算は、減算と１ビットシフト演算のみで実行することが可能であり、実施の形態４によるＬＤＰＣ符号復号装置１を簡易なハードウェア構成で実現することができる。【０１４０】
実施の形態５．
上記実施の形態４では、受信情報の減算及びビットシフト演算のみで算出できる補正項による補正を行う補正型のＭｉｎ−Ｓｕｍアルゴリズムを実現した復号装置を示した。これに対し、本実施の形態５による復号装置は、上記実施の形態４で説明した補正型のＭｉｎ−Ｓｕｍアルゴリズムにおける行処理結果を定数で除算した値を用いて列処理を行う除算付き補正型のＭｉｎ−Ｓｕｍアルゴリズムを復号アルゴリズムとして実行するものである。【０１４１】
本実施の形態５による復号装置は、図９に示した上記実施の形態４による復号装置と基本的に同様な構成を有しているが、除算付き補正型のＭｉｎ−Ｓｕｍアルゴリズムの実行のために行処理部５の構成及びその処理内容が異なる。具体的に説明すると、本実施の形態５における行処理部５では、上記式（１１）に対し、上記実施の形態４における行処理で用いた上記式（１２）の代わりに、下記式（１７）の演算を実行する。なお、下記式（１７）中の各パラメータは、上記式（１３）〜上記式（１５）に従うものとする。また、他の処理については、上記実施の形態４と同様であり、記号は前記の通りである。
【数１０】
0004777261.tif 000011
【０１４２】
ここで、Ｍｉｎ−Ｓｕｍアルゴリズムに対する補正項となるδは、Ｓｕｍ−Ｐｒｏｄｕｃｔアルゴリズムの更新式から級数展開して得ることのできる近似項であり、入力する２値の絶対値の差と２による除算、定数Ｃからの減算のみで算出することができる。【０１４３】
なお、定数Ｃについては、Ｓｕｍ−Ｐｒｏｄｕｃｔアルゴリズムの更新式からの近似計算で得られるｌｎ（２）が１例であるが、適切な値を設定することで、復号性能を向上させることもできる。さらに、２による除算については、ハードウェアなど２進数で表現された系においては、１ビットのビットシフト演算で可能である。【０１４４】
除算定数αは、Ｎｏｒｍａｌｉｚｅｄ  ＢＰアルゴリズムにおけるＮｏｒｍａｌｉｚａｔｉｏｎ  Ｆａｃｔｏｒと同様な効果を持ち、上記実施の形態４における補正型のＭｉｎ−Ｓｕｍアルゴリズムの行処理で算出されるＬＬＲの大きさを、Ｓｕｍ−Ｐｒｏｄｕｃｔアルゴリズムで算出されるＬＬＲの大きさと同程度に調整することで、復号性能を向上させる効果を持つ。なお、本実施の形態における除算付き補正型のＭｉｎ−Ｓｕｍアルゴリズムにおける除算定数αは、Ｎｏｒｍａｌｉｚｅｄ  ＢＰアルゴリズムと同様にＮｏｒｍａｌｉｚａｔｉｏｎ  Ｆａｃｔｏｒと呼ぶことにする。【０１４５】
本実施の形態５によるＬＤＰＣ符号復号装置は、上述したように、基本的な構成は図９に示す上記実施の形態４と同様である。つまり、受信情報から受信ＬＬＲを算出する受信ＬＬＲ算出部２と復号コア部３とから構成され、復号コア部３により受信信号に対して除算付き補正型のＭｉｎ−Ｓｕｍアルゴリズムに従った行処理と列処理による復号が実行される。【０１４６】
復号コア部３は、途中結果保持部４、行処理部５、列処理部６、制御部７及び復号結果判定部８から構成される。途中結果保持部４は、上記実施の形態１で説明したように、行処理部５及び列処理部６による復号の途中結果を保持する。行処理部５では、上記式（１７）を用いた行処理を行い、列処理部６は、上記式（１６）の関係に対し、上記式（４）及び式（５）を用いた列処理を行う。【０１４７】
制御部７は、最大繰り返し回数の設定などの復号繰り返しの制御を行う。復号結果判定部８では、列処理部６が求めた事後値の硬判定から上記式（６）により復号結果の復号系列を算出し、パリティ検査を行って上記式（７）の条件から復号結果の正誤を判定する。【０１４８】
図１３は、実施の形態５によるＬＤＰＣ符号復号装置の行処理部の構成を示すブロック図である。本実施の形態による行処理部５は、複数の補正演算部１２と除算部１３から構成される。補正演算部１２は、図１０で示したものと同様に、入力された２値の絶対値の大小比較、補正項の算出及び補正を行い、補正された値と２値の符号（±）との積を算出する。行処理部５において、複数の補正演算部１２が複数段に接続している。また、図に示すように、下段の補正演算部１２は、入力２値の一方として上段の補正演算部１２の算出結果を入力する。各補正演算部１２による処理は下記の通りである。【０１４９】
補正演算部１２は、２値ａ，ｂの絶対値を入力すると、δ＝０．６９−（｜｜ａ｜−｜ｂ｜｜）＞＞２を計算する（ｌｎ（２）〜０．６９）。そして、｜ａ｜＜｜ｂ｜であれば、ｓｉｇｎ（ａ）×ｓｉｇｎ（ｂ）×（｜ａ｜−δ）を出力する。また、｜ａ｜＜｜ｂ｜以外であれば、ｓｉｇｎ（ａ）×ｓｉｇｎ（ｂ）×（｜ｂ｜−δ）を出力する。なお、ｓｉｇｎ（ａ）はａの符号（±）を示している。【０１５０】
除算部１３では、上述した補正演算部１２による演算結果を定数α（Normalization Factor）で除算する。つまり、除算部１３は、入力値ｃに対し、ｃ／αを計算して出力する。このように、行処理部５において、補正演算部１２は、途中結果保持部４から行処理を行う該当ビットのＬＬＲを入力し、それぞれの大小比較と符号（±）の積及び補正項による補正を行い、除算部１３は、補正演算部１２が算出した値を定数αで除算した後、列処理部６へ受け渡す。【０１５１】
次に動作について説明する。
本実施の形態５によるＬＤＰＣ符号復号装置の基本的な動作の流れは、上記実施の形態４における図１１のフローチャートと同様である。よって、図１１に沿って動作を説明し、併せて上記実施の形態４と異なる動作について説明する。【０１５２】
先ず、受信ＬＬＲ計算部２は、受信情報を入力（ステップＳＴ１）し、当該受信情報から受信ＬＬＲを算出する（ステップＳＴ２）。次に初期化ステップ（ステップＳＴ３）において、受信ＬＬＲ計算部２は、算出した受信ＬＬＲを初期値ｚm,n(0)（：＝Ｆn）として途中結果保持部４に設定する。このとき、制御部７は、復号の繰り返し回数ｉをｉ＝１と初期化する。【０１５３】
次に、ステップＳＴ４ａにおいて、繰り返し回数ｉ＝１からｉ＝最終復号回（最大繰り返し回数Ｉmax）まで行処理部５及び列処理部６による繰り返し復号処理であるステップ１と、復号結果判定部８による上記式（７）に従うステップ２の判定処理を繰り返し実行する。【０１５４】
繰り返しｉ回目の復号演算を例に説明する。
先ず、ステップ１において、行処理部５は、復号したいＬＤＰＣ符号の検査行列Ｈ（＝[Ｈm,n]）に対して繰り返しｉ回目の復号演算における行処理を行う。具体的には、上記式（１１）の関係に従って１列目からＮ列目までの列に１を持つ行の行処理を上記式（１７）を用いて行い、処理結果を途中結果保持部４に保持させる。【０１５５】
ステップ１において、行処理部５による行処理が終了すると、列処理部６は、復号したいＬＤＰＣ符号の検査行列Ｈに対して繰り返しｉ回目の復号演算における列処理を行う。具体的には、上記式（１６）の関係に従って１列目からＮ列目までの列処理を行い、処理結果を途中結果保持部４に保持させる。【０１５６】
ステップ２では、復号結果判定部８が、列処理部６により繰り返しｉ回目で算出された事後値ｚn(i)を硬判定して復号結果を決めて、パリティ検査を行う。このとき、制御部７が、パリティ検査の結果がＮＧであるならば、繰り返し回数ｉを１増やして、続いてステップ１の処理を行処理部５及び列処理部６に実行させる。一方、上記式（７）の条件を満たせば、後述するステップ３の処理に移行させる。【０１５７】
このようにして、制御部７は、上記式（７）に示すように、パリティ検査の結果がＯＫとなるか、若しくは繰り返し回数が設定した最大値Ｉmaxとなるまで、ステップ１の処理を繰り返すように行処理部５及び列処理部６を制御する。【０１５８】
復号結果判定部８によるパリティ検査の結果がＯＫとなるか、制御部７により設定された繰り返し回数ｉが最大値Ｉmaxとなれば、ステップ３（ステップＳＴ５）として、制御部７が行処理部５及び列処理部６による復号処理を終了させ、復号結果判定部８が復号結果として上記式（６）のような復号系列を出力する。【０１５９】
図１４は、従来のＳｕｍ−Ｐｒｏｄｕｃｔアルゴリズムに従うＬＤＰＣ符号復号装置と、従来のＮｏｒｍａｌｉｚｅｄ  ＢＰアルゴリズムに従うＬＤＰＣ符号復号装置と、実施の形態５によるＬＤＰＣ符号復号装置とにおける、ビット誤り率とこのビット誤り率での信号対雑音比（Ｅｂ／Ｎｏ）との関係をプロットしたグラフである。図において、プロット間を破線で繋いだ方が従来のＳｕｍ−Ｐｒｏｄｕｃｔアルゴリズムによるものであり、プロット間を一点破線で繋いだ方が従来のＮｏｒｍａｌｉｚｅｄ  ＢＰアルゴリズムによるものであり、実線でプロット間を繋いだものが本実施の形態５によるものである。【０１６０】
また、図１４において、ＬＤＰＣ符号は、レギュラーＬＤＰＣ符号、符号長８０００、符号化率１／２、列重み３、行重み６であり、最大繰り返し回数Ｉmaxが１００回である。通信路は、ＡＷＧＮ（Additive White Gaussian Noise；加法性白色ガウス雑音）通信路を想定しており、変調方式はＢＰＳＫ（Binary Phase Shift Keying）としている。また、Ｎｏｒｍａｌｉｚｅｄ  ＢＰアルゴリズムにおいて、因子α（Normalization Factor）をα＝１．２５とした場合の復号性能を示している。【０１６１】
従来のＳｕｍ−Ｐｒｏｄｕｃｔアルゴリズム及び従来のＮｏｒｍａｌｉｚｅｄ  ＢＰアルゴリズムでは、それぞれ上記式（２）及び上記式（９）に従って、繰り返し復号の任意の１回で符号化信号に対して全ての行処理を終えてから、当該符号化信号の全てのビットに対する列処理が行われる。【０１６２】
これに対して、本実施の形態５によるＬＤＰＣ符号復号装置１では、上記実施の形態４で示した補正型のＭｉｎ−Ｓｕｍアルゴリズムにおける行処理結果を定数αで除算した値を用いて列処理を行う除算付き補正型のＭｉｎ−Ｓｕｍアルゴリズムに従って、受信信号に対する行処理に対して全ての行処理を終えてから、当該符号化信号の全てのビットに対する列処理が行う。この補正により、図１４に示すように、本実施の形態５では、従来のＮｏｒｍａｌｉｚｅｄ  ＢＰと比較して格段に復号性能が向上しており、また従来のＳｕｍ−Ｐｒｏｄｕｃｔアルゴリズムとほぼ同様な復号性能を実現できているのがわかる。【０１６３】
以上のように、この実施の形態５によれば、受信情報の減算及びビットシフト演算のみで算出できる補正項による補正を行う補正型のＭｉｎ−Ｓｕｍアルゴリズムにおける行処理結果を定数で除算した値を用いて列処理を行う除算付き補正型のＭｉｎ−Ｓｕｍアルゴリズムに従って復号処理を実行するので、従来のＳｕｍ−Ｐｒｏｄｕｃｔアルゴリズムで算出されるＬＬＲの大きさの差を従来のＮｏｒｍａｌｉｚｅｄ  ＢＰアルゴリズムのように因子α（Normalization Factor）で調整するだけでなく、上記実施の形態４で示した補正型のＭｉｎ−Ｓｕｍアルゴリズムに対してさらに補正を行うことにより、従来のＮｏｒｍａｌｉｚｅｄ  ＢＰアルゴリズムよりも格段に復号性能を向上させることができる。【０１６４】
また、本実施の形態５によるＭｉｎ−Ｓｕｍアルゴリズムに対する補正項は、受信情報から算出するので、従来の補正型アルゴリズムのように補正項テーブルを保持する必要がない。さらに、受信情報に基づく補正項を算出するための計算は、減算と１ビットシフト演算のみで実行することが可能であり、実施の形態５によるＬＤＰＣ符号復号装置１を簡易なハードウェア構成で実現することができる。【０１６５】
実施の形態６．
本実施の形態６では、上記実施の形態４で説明した補正型のＭｉｎ−Ｓｕｍアルゴリズムにおける行処理結果から定数で減算した値を用いて列処理を行う減算付き補正型のＭｉｎ−Ｓｕｍアルゴリズムを復号アルゴリズムとして実行するものである。【０１６６】
本実施の形態６によるＬＤＰＣ符号復号装置は、図９に示した上記実施の形態４によるＬＤＰＣ符号復号装置と基本的に同様な構成を有しているが、減算付き補正型のＭｉｎ−Ｓｕｍアルゴリズムの実行のために行処理部５の構成及びその処理内容が異なる。【０１６７】
具体的に説明すると、本実施の形態６における行処理部５では、上記式（１１）に対し、上記実施の形態４における行処理で用いた上記式（１２）の代わりに、下記式（１８）の演算を実行する。なお、下記式（１８）中の各パラメータは、上記式（１３）〜上記式（１５）に従うものとする。また、他の処理については、上記実施の形態４と同様であり、記号は前記の通りである。
【数１１】
0004777261.tif 000012
【０１６８】
ここで、Ｍｉｎ−Ｓｕｍアルゴリズムに対する補正項となるδは、Ｓｕｍ−Ｐｒｏｄｕｃｔアルゴリズムの更新式から級数展開して得ることのできる近似項であり、入力する２値の絶対値の差と２による除算、定数Ｃからの減算のみで算出することができる。【０１６９】
なお、定数Ｃについては、Ｓｕｍ−Ｐｒｏｄｕｃｔアルゴリズムの更新式からの近似計算で得られるｌｎ（２）が１例であるが、適切な値を設定することで、復号性能を向上させることもできる。さらに、２による除算については、ハードウェアなど２進数で表現された系においては、１ビットのビットシフト演算で可能である。【０１７０】
減算定数βは、Ｏｆｆｓｅｔ  ＢＰアルゴリズムにおけるＯｆｆｓｅｔ  Ｆａｃｔｏｒと同様な効果を持ち、上記実施の形態４による補正型のＭｉｎ−Ｓｕｍアルゴリズムの行処理で算出されるＬＬＲの大きさを、Ｓｕｍ−Ｐｒｏｄｕｃｔアルゴリズムで算出されるＬＬＲの大きさと同程度に調整することで、復号性能を向上させる効果を持つ。なお、本実施の形態６による減算付き補正型のＭｉｎ−Ｓｕｍアルゴリズムにおける減算定数βは、Ｏｆｆｓｅｔ  ＢＰアルゴリズムと同様にＯｆｆｓｅｔ  Ｆａｃｔｏｒと呼ぶことにする。【０１７１】
本実施の形態６によるＬＤＰＣ符号復号装置は、上述したように、基本的な構成は図９に示す上記実施の形態４と同様である。つまり、受信情報から受信ＬＬＲを算出する受信ＬＬＲ算出部２と復号コア部３とから構成され、復号コア部３により受信信号に対して減算付き補正型のＭｉｎ−Ｓｕｍアルゴリズムに従った行処理と列処理による復号が実行される。【０１７２】
復号コア部３は、途中結果保持部４、行処理部５、列処理部６、制御部７及び復号結果判定部８から構成される。途中結果保持部４は、上記実施の形態１で説明したように、行処理部５及び列処理部６による復号の途中結果を保持する。行処理部５では、上記式（１８）を用いた行処理を行い、列処理部６は、上記式（１６）の関係に対し、上記式（４）及び式（５）を用いた列処理を行う。【０１７３】
制御部７は、最大繰り返し回数の設定などの復号繰り返しの制御を行う。復号結果判定部８では、列処理部６が求めた事後値の硬判定から上記式（６）により復号結果の復号系列を算出し、パリティ検査を行って上記式（７）の条件から復号結果の正誤を判定する。【０１７４】
図１５は、実施の形態６によるＬＤＰＣ符号復号装置の行処理部の構成を示すブロック図である。本実施の形態による行処理部５は、複数の補正演算部１２と減算部１４から構成される。補正演算部１２は、図１０で示したものと同様に、入力された２値の絶対値の大小比較、補正項の算出及び補正を行い、補正された値と２値の符号（±）との積を算出する。行処理部５において、複数の補正演算部１２が複数段に接続している。また、図に示すように、下段の補正演算部１２は、入力２値の一方として上段の補正演算部１２の算出結果を入力する。各補正演算部１２による処理は下記の通りである。【０１７５】
補正演算部１２は、２値ａ，ｂの絶対値を入力すると、δ＝０．６９−（｜｜ａ｜−｜ｂ｜｜）＞＞２を計算する（ｌｎ（２）〜０．６９）。そして、｜ａ｜＜｜ｂ｜であれば、ｓｉｇｎ（ａ）×ｓｉｇｎ（ｂ）×（｜ａ｜−δ）を出力する。また、｜ａ｜＜｜ｂ｜以外であれば、ｓｉｇｎ（ａ）×ｓｉｇｎ（ｂ）×（｜ｂ｜−δ）を出力する。なお、ｓｉｇｎ（ａ）はａの符号（±）を示している。【０１７６】
減算部１４では、上述した補正演算部１２による演算結果を定数β（Offset Factor）で減算する。つまり、減算部１４は、入力値ｃに対し（ｃ−β）を計算して、計算結果が負でなければ（ｃ−β）を出力し、負であれば０を出力する。このように、行処理部５において、補正演算部１２は、途中結果保持部４から行処理を行う該当ビットのＬＬＲを入力し、それぞれの大小比較と符号（±）の積及び補正項による補正を行い、減算部１４は、補正演算部１２が算出した値を定数βで減算し、その結果に応じて（ｃ−β）又は０を列処理部６へ受け渡す。【０１７７】
次に動作について説明する。
本実施の形態６によるＬＤＰＣ符号復号装置の基本的な動作の流れは、上記実施の形態４における図１１のフローチャートと同様である。よって、図１１に沿って動作を説明し、併せて上記実施の形態４と異なる動作について説明する。【０１７８】
先ず、受信ＬＬＲ計算部２は、受信情報を入力（ステップＳＴ１）し、当該受信情報から受信ＬＬＲを算出する（ステップＳＴ２）。次に初期化ステップ（ステップＳＴ３）において、受信ＬＬＲ計算部２は、算出した受信ＬＬＲを初期値ｚm,n(0)（：＝Ｆn）として途中結果保持部４に設定する。このとき、制御部７は、復号の繰り返し回数ｉをｉ＝１と初期化する。【０１７９】
次に、ステップＳＴ４ａにおいて、繰り返し回数ｉ＝１からｉ＝最終復号回（最大繰り返し回数Ｉmax）まで行処理部５及び列処理部６による繰り返し復号処理であるステップ１と、復号結果判定部８による上記式（７）に従うステップ２の判定処理を繰り返し実行する。【０１８０】
繰り返しｉ回目の復号演算を例に説明する。
先ず、ステップ１において、行処理部５は、復号したいＬＤＰＣ符号の検査行列Ｈ（＝[Ｈm,n]）に対して繰り返しｉ回目の復号演算における行処理を行う。具体的には、上記式（１１）の関係に従って１列目からＮ列目までの列に１を持つ行の行処理を上記式（１８）を用いて行い、処理結果を途中結果保持部４に保持させる。【０１８１】
ステップ１において、行処理部５による行処理が終了すると、列処理部６は、復号したいＬＤＰＣ符号の検査行列Ｈに対して繰り返しｉ回目の復号演算における列処理を行う。具体的には、上記式（１６）の関係に従って１列目からＮ列目までの列処理を行い、処理結果を途中結果保持部４に保持させる。【０１８２】
ステップ２では、復号結果判定部８が、列処理部６により繰り返しｉ回目で算出された事後値ｚn(i)を硬判定して復号結果を決めて、パリティ検査を行う。このとき、制御部７が、パリティ検査の結果がＮＧであるならば、繰り返し回数ｉを１増やして、続いてステップ１の処理を行処理部５及び列処理部６に実行させる。一方、上記式（７）の条件を満たせば、後述するステップ３の処理に移行させる。【０１８３】
このようにして、制御部７は、上記式（７）に示すように、パリティ検査の結果がＯＫとなるか、若しくは繰り返し回数が設定した最大値Ｉmaxとなるまで、ステップ１の処理を繰り返すように行処理部５及び列処理部６を制御する。【０１８４】
復号結果判定部８によるパリティ検査の結果がＯＫとなるか、制御部７により設定された繰り返し回数ｉが最大値Ｉmaxとなれば、ステップ３（ステップＳＴ５）として、制御部７が行処理部５及び列処理部６による復号処理を終了させ、復号結果判定部８が復号結果として上記式（６）のような復号系列を出力する。【０１８５】
図１６は、従来のＳｕｍ−Ｐｒｏｄｕｃｔアルゴリズムに従うＬＤＰＣ符号復号装置と、従来のＯｆｆｓｅｔ  ＢＰアルゴリズムに従うＬＤＰＣ符号復号装置と、実施の形態６によるＬＤＰＣ符号復号装置とにおける、ビット誤り率とこのビット誤り率での信号対雑音比（Ｅｂ／Ｎｏ）との関係をプロットしたグラフである。図において、プロット間を破線で繋いだ方が従来のＳｕｍ−Ｐｒｏｄｕｃｔアルゴリズムによるものであり、プロット間を一点破線で繋いだ方が従来のＯｆｆｓｅｔ  ＢＰアルゴリズムによるものであり、実線でプロット間を繋いだものが本実施の形態５によるものである。【０１８６】
また、図１６において、ＬＤＰＣ符号は、レギュラーＬＤＰＣ符号、符号長８０００、符号化率１／２、列重み３、行重み６であり、最大繰り返し回数Ｉmaxが１００回である。通信路は、ＡＷＧＮ（Additive White Gaussian Noise；加法性白色ガウス雑音）通信路を想定しており、変調方式はＢＰＳＫ（Binary Phase Shift Keying）としている。また、Ｏｆｆｓｅｔ  ＢＰアルゴリズムにおいて、因子β（Offset Factor）をβ＝０．１５とした場合の復号性能を示している。【０１８７】
従来のＳｕｍ−Ｐｒｏｄｕｃｔアルゴリズム及び従来のＯｆｆｓｅｔ  ＢＰアルゴリズムでは、それぞれ上記式（２）及び上記式（１０）に従って、繰り返し復号の任意の１回で符号化信号に対して全ての行処理を終えてから、当該符号化信号の全てのビットに対する列処理が行われる。【０１８８】
これに対して、本実施の形態６によるＬＤＰＣ符号復号装置１では、上記実施の形態４で示した補正型のＭｉｎ−Ｓｕｍアルゴリズムにおける行処理結果を定数βで減算した値を用いて列処理を行う減算付き補正型のＭｉｎ−Ｓｕｍアルゴリズムに従って、受信信号に対する行処理に対して全ての行処理を終えてから、当該符号化信号の全てのビットに対する列処理が行う。この補正により、図１６に示すように、本実施の形態６では、従来のＯｆｆｓｅｔ  ＢＰと比較して格段に復号性能が向上しており、また従来のＳｕｍ−Ｐｒｏｄｕｃｔアルゴリズムとほぼ同様な復号性能を実現できているのがわかる。【０１８９】
以上のように、この実施の形態６によれば、受信情報の減算及びビットシフト演算のみで算出できる補正項による補正を行う補正型のＭｉｎ−Ｓｕｍアルゴリズムにおける行処理結果を定数で減算した値を用いて列処理を行う減算付き補正型のＭｉｎ−Ｓｕｍアルゴリズムに従って復号処理を実行するので、従来のＳｕｍ−Ｐｒｏｄｕｃｔアルゴリズムで算出されるＬＬＲの大きさの差を従来のＯｆｆｓｅｔ  ＢＰアルゴリズムのように因子β（Offset Factor）で調整するだけでなく、上記実施の形態４で示した補正型のＭｉｎ−Ｓｕｍアルゴリズムに対してさらに補正を行うことにより、従来のＯｆｆｓｅｔ  ＢＰアルゴリズムよりも格段に復号性能を向上させることができる。【０１９０】
また、本実施の形態６によるＭｉｎ−Ｓｕｍアルゴリズムに対する補正項は、受信情報から算出するので、従来の補正型アルゴリズムのように補正項テーブルを保持する必要がない。さらに、受信情報に基づく補正項を算出するための計算は、減算と１ビットシフト演算のみで実行することが可能であり、実施の形態６によるＬＤＰＣ符号復号装置１を簡易なハードウェア構成で実現することができる。【０１９１】
実施の形態７．
この実施の形態７では、受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ若しくは予め定めた複数ビットずつ行うと共に、その行処理において上記実施の形態４で説明した補正型のＭｉｎ−Ｓｕｍアルゴリズムを行うものである。【０１９２】
本実施の形態７によるＬＤＰＣ符号復号装置は、図９に示した上記実施の形態４によるＬＤＰＣ符号復号装置と基本的に同様な構成を有しているが、補正型のＭｉｎ−Ｓｕｍアルゴリズムにおける受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ若しくは予め定めた複数ビットずつ行う点が異なる。【０１９３】
具体的に説明すると、本実施の形態７における行処理部５では、上記式（１）に対し、上記実施の形態４における行処理で用いた上記式（１２）の代わりに、下記式（１９）の演算を実行する。なお、下記式（１９）中の各パラメータは、下記式（２０）、上記式（１４）、（１５）に従うものとする。また、他の処理については、上記実施の形態４と同様であり、記号は前記の通りである。
【数１２】
0004777261.tif 000013
【０１９４】
なお、上記式（１５）において、Ｍｉｎ−Ｓｕｍアルゴリズムに対する補正項となるδについては、Ｓｕｍ−Ｐｒｏｄｕｃｔアルゴリズムの更新式から級数展開して得ることのできる近似項であり、入力する２値の絶対値の差と２による除算、定数Ｃからの減算のみで算出することができる。【０１９５】
また、定数Ｃについては、Ｓｕｍ−Ｐｒｏｄｕｃｔアルゴリズムの更新式からの近似計算で得られるｌｎ（２）が１例であるが、適切な値を設定することで、復号性能を向上させることも可能である。さらに２による除算については、ハードウェアなど２進数で表現された系においては、１ビットのビットシフト演算で可能である。【０１９６】
本実施の形態７によるＬＤＰＣ符号復号装置は、上述したように、基本的な構成は図９に示す上記実施の形態４と同様である。つまり、受信情報から受信ＬＬＲを算出する受信ＬＬＲ算出部２と復号コア部３とから構成され、復号コア部３により受信信号に対して補正型のＭｉｎ−Ｓｕｍアルゴリズムに従った行処理と列処理による復号が実行される。【０１９７】
復号コア部３は、途中結果保持部４、行処理部５、列処理部６、制御部７及び復号結果判定部８から構成される。途中結果保持部４は、上記実施の形態１で説明したように、行処理部５及び列処理部６による復号の途中結果を保持する。行処理部５では、上記式（１）の関係に対し、上記式（１９）を用いた行処理を行い、列処理部６は、上記式（１）の関係に対し、上記式（４）及び式（５）を用いた列処理を行う。【０１９８】
制御部７は、最大繰り返し回数の設定などの復号繰り返しの制御を行う。復号結果判定部８では、列処理部６が求めた事後値の硬判定から上記式（６）により復号結果の復号系列を算出し、パリティ検査を行って上記式（７）の条件から復号結果の正誤を判定する。【０１９９】
また、本実施の形態７による行処理部５は、上述したように、基本的な構成は図１０に示す上記実施の形態４と同様である。つまり、補正演算部１２が、入力された２値の絶対値の大小比較、補正項の算出及びこれに基づく補正を行い、補正された値と２値の符号（±）との積を算出する。ここで、行処理部５は、複数の補正演算部１２を複数段に接続して構成されており、下段の補正演算部１２における入力２値の一方として上段の補正演算部１２の算出結果が入力される。各補正演算部１２による処理は下記の通りである。【０２００】
補正演算部１２が２値ａ，ｂの絶対値を入力した場合、先ず、δ＝０．６９−（｜｜ａ｜−｜ｂ｜｜）＞＞２を計算する（ｌｎ（２）〜０．６９）。そして、｜ａ｜＜｜ｂ｜であれば、ｓｉｇｎ（ａ）×ｓｉｇｎ（ｂ）×（｜ａ｜−δ）を出力する。また、｜ａ｜＜｜ｂ｜以外であれば、ｓｉｇｎ（ａ）×ｓｉｇｎ（ｂ）×（｜ｂ｜−δ）を出力する。なお、ｓｉｇｎ（ａ）はａの符号（±）を示している。行処理部５では、途中結果保持部４から行処理を行う該当ビットのＬＬＲを入力し、補正演算部１２がそれぞれの大小比較と補正、符号（±）の積を算出した値を列処理部６へ受け渡す処理を行う。【０２０１】
このように、本実施の形態７によるＬＤＰＣ符号復号装置は、受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ若しくは予め定めた複数ビットずつ行うＳｈｕｆｆｌｅｄ  ＢＰアルゴリズムを基にして、その各行処理において上記式（２）及び上記式（３）を用いずに、上記式（１９）を利用する。【０２０２】
次に動作について説明する。
本実施の形態７によるＬＤＰＣ符号復号装置の基本的な動作の流れは、上記実施の形態１における図３のフローチャートと同様である。よって、図３に沿って動作を説明する。【０２０３】
先ず、受信ＬＬＲ計算部２は、受信情報を入力（ステップＳＴ１）し、当該受信情報から受信ＬＬＲを算出する（ステップＳＴ２）。次に初期化ステップ（ステップＳＴ３）において、受信ＬＬＲ計算部２は、算出した受信ＬＬＲを初期値ｚm,n(0)（：＝Ｆn）として途中結果保持部４に設定する。このとき、制御部７は、復号の繰り返し回数ｉをｉ＝１と初期化する。【０２０４】
次に、ステップＳＴ４において、繰り返し回数ｉ＝１からｉ＝最終復号回（最大繰り返し回数Ｉmax）まで行処理部５及び列処理部６による繰り返し復号処理であるステップ１と、復号結果判定部８による上記式（７）に従うステップ２の判定処理を繰り返し実行する。【０２０５】
繰り返しｉ回目の復号演算を例に説明する。
先ず、復号したいＬＤＰＣ符号の検査行列Ｈ（＝[Ｈm,n]）に対して、上記式（１）においてｇ＝１のとき、行処理部５は、１列目からＮg列目までの列に１を持つ行の行処理を上記式（１９）に従って行い、処理結果を列処理部６へ受け渡す。列処理部６では、同様に１列目からＮg列目までの列処理を行い、処理結果を途中結果保持部４に保持させる。【０２０６】
次に、上記式（１）においてｇ＝２のとき、行処理部５は、（Ｎg＋１）列目から２Ｎg列目までの列に１を持つ行の行処理を上記式（１９）に従って行い、処理結果を列処理部６へ受け渡す。列処理部６では、同様に（Ｎg＋１）列目から２Ｎg列目までの列処理を行い、処理結果を途中結果保持部４に保持させる。【０２０７】
続いて、ｇ＝３以降の処理を逐次実行し、その都度、行処理部５による処理結果が列処理部６に受け渡され、列処理部６の処理結果が途中結果保持部４に保持される。【０２０８】
最後に、上記式（１）においてｇ＝Ｇのとき、行処理部５は、（Ｎ−Ｎg）列目からＮ列目までの列に１を持つ行の行処理を上記式（１９）に従って行い、処理結果を列処理部６へ受け渡す。列処理部６では、同様に（Ｎ−Ｎg）列目からＮ列目までの列処理を行い、処理結果を途中結果保持部４に保持させる。【０２０９】
上述した処理において、行処理部５が上記式（１９）に従うことで、ｇ＝１以降の処理では、繰り返しｉ回目にて既に更新されたＬＬＲを持つ列に関しては、受信ＬＬＲではなく更新されたＬＬＲを用いて行処理が実行される。【０２１０】
ステップ２では、復号結果判定部８が、列処理部６により繰り返しｉ回目で算出された事後値ｚn(i)を硬判定して復号結果を決めて、パリティ検査を行う。このとき、制御部７が、パリティ検査の結果がＮＧであるならば、繰り返し回数ｉを１増やし、続いてステップ１の処理を行処理部５及び列処理部６に実行させる。一方、上記式（７）の条件を満たせば、後述するステップ３の処理に移行させる。【０２１１】
このようにして、制御部７は、上記式（７）に示すように、パリティ検査の結果がＯＫとなるか、若しくは繰り返し回数が設定した最大値Ｉmaxとなるまで、上記式（８）に基づく、ステップ１及びステップ２の処理を繰り返すように行処理部５及び列処理部６を制御する。【０２１２】
復号結果判定部８によるパリティ検査の結果がＯＫとなるか、制御部７により設定された繰り返し回数ｉが最大値Ｉmaxとなれば、ステップ３（ステップＳＴ５）として、制御部７が行処理部５及び列処理部６による復号処理を終了させ、復号結果判定部８が復号結果として上記式（６）のような復号系列を出力する。【０２１３】
以上のように、この実施の形態７によれば、受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ若しくは予め定めた複数ビットずつ行うと共に、その行処理において上記実施の形態４で示した補正型のＭｉｎ−Ｓｕｍアルゴリズムに従って処理を行うので、確率伝搬が効率的に行われることになり、復号演算の収束が速くなり繰り返し回数を削減することができる。【０２１４】
また、Ｓｕｍ−Ｐｒｏｄｕｃｔアルゴリズムの近似に基づいて受信情報から補正を行う補正型のＭｉｎ−Ｓｕｍアルゴリズムを基本アルゴリズムとしたことで、従来のＳｈｕｆｆｌｅｄ  ＢＰアルゴリズムよりも計算コストを削減しつつ、高い復号性能を得ることができる。【０２１５】
実施の形態８．
この実施の形態８によるＬＤＰＣ符号復号装置では、受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ若しくは予め定めた複数ビットずつ行うと共に、その行処理において上記実施の形態５で示した除算付き補正型のＭｉｎ−Ｓｕｍアルゴリズムを実行するものである。【０２１６】
本実施の形態８によるＬＤＰＣ符号復号装置は、図９に示した上記実施の形態４によるＬＤＰＣ符号復号装置と基本的に同様な構成を有しているが、除算付き補正型のＭｉｎ−Ｓｕｍアルゴリズムの実行のために行処理部５の構成及びその処理内容が異なる。【０２１７】
具体的に説明すると、本実施の形態８における行処理部５では、上記式（１）に対して下記式（２１）の演算を実行する。つまり、受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ若しくは予め定めた複数ビットずつ行う、Ｓｈｕｆｆｌｅｄ  ＢＰアルゴリズムのステップ１の行処理において、上記実施の形態５で示した除算付き補正型のＭｉｎ−Ｓｕｍアルゴリズムで使用する更新式である下記式（２１）により更新演算を行う。なお、下記式（２１）中の各パラメータは、下記式（２０）、上記式（１４）、（１５）に従うものとする。また、他の処理については、上記実施の形態４と同様であり、記号は前記の通りである。
【数１３】
0004777261.tif 000014
【０２１８】
上記式（１５）中のＭｉｎ−Ｓｕｍアルゴリズムに対する補正項となるδは、Ｓｕｍ−Ｐｒｏｄｕｃｔアルゴリズムの更新式から級数展開して得ることのできる近似項であり、入力する２値の絶対値の差と２による除算、定数Ｃからの減算のみで算出することができる。【０２１９】
なお、定数Ｃについては、Ｓｕｍ−Ｐｒｏｄｕｃｔアルゴリズムの更新式からの近似計算で得られるｌｎ（２）が１例であるが、適切な値を設定することで、復号性能を向上させることもできる。さらに、２による除算については、ハードウェアなど２進数で表現された系においては、１ビットのビットシフト演算で可能である。【０２２０】
除算定数αは、Ｎｏｒｍａｌｉｚｅｄ  ＢＰアルゴリズムにおけるＮｏｒｍａｌｉｚａｔｉｏｎ  Ｆａｃｔｏｒと同様な効果を持ち、受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ若しくは予め定めた複数ビットずつ行う、除算付き補正型Ｍｉｎ−Ｓｕｍアルゴリズムの行処理で算出されるＬＬＲの大きさを、Ｓｕｍ−Ｐｒｏｄｕｃｔアルゴリズムで算出されるＬＬＲの大きさと同程度に調整することで、復号性能を向上させる効果を持つ。【０２２１】
本実施の形態８によるＬＤＰＣ符号復号装置は、上述したように、基本的な構成は図９に示す上記実施の形態４と同様である。つまり、受信情報から受信ＬＬＲを算出する受信ＬＬＲ算出部２と復号コア部３とから構成され、復号コア部３により受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ若しくは予め定めた複数ビットずつ行う、除算付き補正型のＭｉｎ−Ｓｕｍアルゴリズムによる復号を実行する。【０２２２】
復号コア部３は、途中結果保持部４、行処理部５、列処理部６、制御部７及び復号結果判定部８から構成される。途中結果保持部４は、上記実施の形態１で説明したように、行処理部５及び列処理部６による復号の途中結果を保持する。行処理部５では、上記式（１）の関係に従って上記式（２１）を用いた行処理を行い、列処理部６は、上述したＳｈｕｆｆｌｅｄ  ＢＰアルゴリズムのステップ１と同様に上記式（４）及び式（５）を用いた列処理を行う。【０２２３】
制御部７は、最大繰り返し回数の設定などの復号繰り返しの制御を行う。復号結果判定部８では、上述したＳｈｕｆｆｌｅｄ  ＢＰアルゴリズムのステップ１と同様に列処理部６が求めた事後値の硬判定から上記式（６）により復号結果の復号系列を算出し、パリティ検査を行って上記式（７）の条件から復号結果の正誤を判定する。【０２２４】
また、本実施の形態８による行処理部５は、基本的な構成は図１３に示す上記実施の形態５と同様である。つまり、複数の補正演算部１２と除算部１３から構成される。ここで、補正演算部１２は、入力された２値の絶対値の大小比較、補正項の算出及びこれに基づく補正を行い、補正された値と２値の符号（±）との積を算出する。また、行処理部５は、複数の補正演算部１２を複数段に接続して構成されており、下段の補正演算部１２における入力２値の一方として上段の補正演算部１２の算出結果が入力される。各補正演算部１２による処理は下記の通りである。【０２２５】
補正演算部１２が２値ａ，ｂの絶対値を入力した場合、先ず、δ＝０．６９−（｜｜ａ｜−｜ｂ｜｜）＞＞２を計算する（ｌｎ（２）〜０．６９）。そして、｜ａ｜＜｜ｂ｜であれば、ｓｉｇｎ（ａ）×ｓｉｇｎ（ｂ）×（｜ａ｜−δ）を出力する。また、｜ａ｜＜｜ｂ｜以外であれば、ｓｉｇｎ（ａ）×ｓｉｇｎ（ｂ）×（｜ｂ｜−δ）を出力する。なお、ｓｉｇｎ（ａ）はａの符号（±）を示している。【０２２６】
除算部１３では、上述した補正演算部１２による演算結果を定数α（Normalization Factor）で除算する。つまり、除算部１３は、入力値ｃに対し、ｃ／αを計算して出力する。このように、行処理部５において、補正演算部１２は、途中結果保持部４から行処理を行う該当ビットのＬＬＲを入力し、それぞれの大小比較と符号（±）の積及び補正項による補正を行い、除算部１３は、補正演算部１２が算出した値を定数αで除算した後、列処理部６へ受け渡す。【０２２７】
このように、本実施の形態８によるＬＤＰＣ符号復号装置は、受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ若しくは予め定めた複数ビットずつ行うＳｈｕｆｆｌｅｄ  ＢＰアルゴリズムを基にして、その各行処理において上記式（２１）を利用する。【０２２８】
次に動作について説明する。
本実施の形態８によるＬＤＰＣ符号復号装置の基本的な動作の流れは、上記実施の形態１における図３のフローチャートと同様である。よって、図３に沿って動作を説明する。【０２２９】
先ず、受信ＬＬＲ計算部２は、受信情報を入力（ステップＳＴ１）し、当該受信情報から受信ＬＬＲを算出する（ステップＳＴ２）。次に初期化ステップ（ステップＳＴ３）において、受信ＬＬＲ計算部２は、算出した受信ＬＬＲを初期値ｚm,n(0)（：＝Ｆn）として途中結果保持部４に設定する。このとき、制御部７は、復号の繰り返し回数ｉをｉ＝１と初期化する。【０２３０】
次に、ステップＳＴ４において、繰り返し回数ｉ＝１からｉ＝最終復号回（最大繰り返し回数Ｉmax）まで行処理部５及び列処理部６による繰り返し復号処理であるステップ１と、復号結果判定部８による上記式（７）に従うステップ２の判定処理を繰り返し実行する。【０２３１】
繰り返しｉ回目の復号演算を例に説明する。
先ず、復号したいＬＤＰＣ符号の検査行列Ｈ（＝[Ｈm,n]）に対して、上記式（１）においてｇ＝１のとき、行処理部５は、１列目からＮg列目までの列に１を持つ行の行処理を上記式（２１）に従って行い、処理結果を列処理部６へ受け渡す。列処理部６では、同様に１列目からＮg列目までの列処理を行い、処理結果を途中結果保持部４に保持させる。【０２３２】
次に、上記式（１）においてｇ＝２のとき、行処理部５は、（Ｎg＋１）列目から２Ｎg列目までの列に１を持つ行の行処理を上記式（２１）に従って行い、処理結果を列処理部６へ受け渡す。列処理部６では、同様に（Ｎg＋１）列目から２Ｎg列目までの列処理を行い、処理結果を途中結果保持部４に保持させる。【０２３３】
続いて、ｇ＝３以降の処理を逐次実行し、その都度、行処理部５による処理結果が列処理部６に受け渡され、列処理部６の処理結果が途中結果保持部４に保持される。【０２３４】
最後に、上記式（１）においてｇ＝Ｇのとき、行処理部５は、（Ｎ−Ｎg）列目からＮ列目までの列に１を持つ行の行処理を上記式（２１）に従って行い、処理結果を列処理部６へ受け渡す。列処理部６では、同様に（Ｎ−Ｎg）列目からＮ列目までの列処理を行い、処理結果を途中結果保持部４に保持させる。【０２３５】
上述した処理において、行処理部５が上記式（２１）に従うことで、ｇ＝１以降の処理では、繰り返しｉ回目にて既に更新されたＬＬＲを持つ列に関しては、受信ＬＬＲではなく更新されたＬＬＲを用いて行処理が実行される。【０２３６】
ステップ２では、復号結果判定部８が、列処理部６により繰り返しｉ回目で算出された事後値ｚn(i)を硬判定して復号結果を決めて、パリティ検査を行う。このとき、制御部７が、パリティ検査の結果がＮＧであるならば、繰り返し回数ｉを１増やし、続いてステップ１の処理を行処理部５及び列処理部６に実行させる。一方、上記式（７）の条件を満たせば、後述するステップ３の処理に移行させる。【０２３７】
このようにして、制御部７は、上記式（７）に示すように、パリティ検査の結果がＯＫとなるか、若しくは繰り返し回数が設定した最大値Ｉmaxとなるまで、上記式（８）に基づく、ステップ１及びステップ２の処理を繰り返すように行処理部５及び列処理部６を制御する。【０２３８】
復号結果判定部８によるパリティ検査の結果がＯＫとなるか、制御部７により設定された繰り返し回数ｉが最大値Ｉmaxとなれば、ステップ３（ステップＳＴ５）として、制御部７が行処理部５及び列処理部６による復号処理を終了させ、復号結果判定部８が復号結果として上記式（６）のような復号系列を出力する。【０２３９】
以上のように、この実施の形態８によれば、受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ若しくは予め定めた複数ビットずつ行うと共に、その行処理において上記実施の形態５で示した除算付き補正型のＭｉｎ−Ｓｕｍアルゴリズムに従って処理を行うので、確率伝搬が効率的に行われることになり、復号演算の収束が速くなり繰り返し回数を削減することができる。【０２４０】
また、Ｓｕｍ−Ｐｒｏｄｕｃｔアルゴリズムの近似に基づいて受信情報から補正を行う除算付き補正型のＭｉｎ−Ｓｕｍアルゴリズムを基本アルゴリズムとしたことで、従来のＳｈｕｆｆｌｅｄ  ＢＰアルゴリズムよりも計算コストを削減しつつ、高い復号性能を得ることができる。【０２４１】
実施の形態９．
この実施の形態９によるＬＤＰＣ符号復号装置では、受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ若しくは予め定めた複数ビットずつ行うと共に、その行処理において上記実施の形態６で示した減算付き補正型のＭｉｎ−Ｓｕｍアルゴリズムを実行するものである。【０２４２】
本実施の形態９によるＬＤＰＣ符号復号装置は、図９に示した上記実施の形態４によるＬＤＰＣ符号復号装置と基本的に同様な構成を有しているが、減算付き補正型のＭｉｎ−Ｓｕｍアルゴリズムの実行のために行処理部５の構成及びその処理内容が異なる。【０２４３】
具体的に説明すると、本実施の形態９における行処理部５では、上記式（１）に対して下記式（２２）の演算を実行する。つまり、受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ、若しくは予め定めた複数ビットずつ行う、Ｓｈｕｆｆｌｅｄ  ＢＰアルゴリズムのステップ１の行処理において、上記実施の形態６で示した減算付き補正型のＭｉｎ−Ｓｕｍアルゴリズムで使用する更新式である下記式（２２）により更新演算を行う。なお、下記式（２２）中の各パラメータは、下記式（２０）、上記式（１４）、（１５）に従うものとする。また、他の処理については、上記実施の形態４と同様であり、記号は前記の通りである。
【数１４】
0004777261.tif 000015
【０２４４】
上記式（１５）中のＭｉｎ−Ｓｕｍアルゴリズムに対する補正項となるδは、Ｓｕｍ−Ｐｒｏｄｕｃｔアルゴリズムの更新式から級数展開して得ることのできる近似項であり、入力する２値の絶対値の差と２による除算、定数Ｃからの減算のみで算出することができる。【０２４５】
なお、定数Ｃについては、Ｓｕｍ−Ｐｒｏｄｕｃｔアルゴリズムの更新式からの近似計算で得られるｌｎ（２）が１例であるが、適切な値を設定することで、復号性能を向上させることもできる。さらに、２による除算については、ハードウェアなど２進数で表現された系においては、１ビットのビットシフト演算で可能である。【０２４６】
減算定数βは、Ｏｆｆｓｅｔ  ＢＰアルゴリズムにおけるＯｆｆｓｅｔ  Ｆａｃｔｏｒβと同様な効果を持ち、受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ若しくは予め定めた複数ビットずつ行う、減算付き補正型Ｍｉｎ−Ｓｕｍアルゴリズムの行処理で算出されるＬＬＲの大きさを、Ｓｕｍ−Ｐｒｏｄｕｃｔアルゴリズムで算出されるＬＬＲの大きさと同程度に調整することで、復号性能を向上させる効果を持つ。【０２４７】
本実施の形態９によるＬＤＰＣ符号復号装置は、上述したように、基本的な構成は図９に示す上記実施の形態４と同様である。つまり、受信情報から受信ＬＬＲを算出する受信ＬＬＲ算出部２と復号コア部３とから構成され、復号コア部３により受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ若しくは予め定めた複数ビットずつ行う、減算付き補正型のＭｉｎ−Ｓｕｍアルゴリズムによる復号を実行する。【０２４８】
復号コア部３は、途中結果保持部４、行処理部５、列処理部６、制御部７及び復号結果判定部８から構成される。途中結果保持部４は、上記実施の形態１で説明したように、行処理部５及び列処理部６による復号の途中結果を保持する。行処理部５では、上記式（１）の関係に従って上記式（２２）を用いた行処理を行い、列処理部６は、上述したＳｈｕｆｆｌｅｄ  ＢＰアルゴリズムのステップ１と同様に上記式（４）及び式（５）を用いた列処理を行う。【０２４９】
制御部７は、最大繰り返し回数の設定などの復号繰り返しの制御を行う。復号結果判定部８では、上述したＳｈｕｆｆｌｅｄ  ＢＰアルゴリズムのステップ１と同様に列処理部６が求めた事後値の硬判定から上記式（６）により復号結果の復号系列を算出し、パリティ検査を行って上記式（７）の条件から復号結果の正誤を判定する。【０２５０】
また、本実施の形態９による行処理部５は、基本的な構成は図１５に示す上記実施の形態６と同様である。つまり、複数の補正演算部１２と減算部１４から構成される。ここで、補正演算部１２は、入力された２値の絶対値の大小比較、補正項の算出及びこれに基づく補正を行い、補正された値と２値の符号（±）との積を算出する。また、行処理部５は、複数の補正演算部１２を複数段に接続して構成されており、下段の補正演算部１２における入力２値の一方として上段の補正演算部１２の算出結果が入力される。各補正演算部１２による処理は下記の通りである。【０２５１】
補正演算部１２が２値ａ，ｂの絶対値を入力した場合、先ず、δ＝０．６９−（｜｜ａ｜−｜ｂ｜｜）＞＞２を計算する（ｌｎ（２）〜０．６９）。そして、｜ａ｜＜｜ｂ｜であれば、ｓｉｇｎ（ａ）×ｓｉｇｎ（ｂ）×（｜ａ｜−δ）を出力する。また、｜ａ｜＜｜ｂ｜以外であれば、ｓｉｇｎ（ａ）×ｓｉｇｎ（ｂ）×（｜ｂ｜−δ）を出力する。なお、ｓｉｇｎ（ａ）はａの符号（±）を示している。行処理部５では、途中結果保持部４から行処理を行う該当ビットのＬＬＲを入力し、補正演算部１２がそれぞれの大小比較と補正、符号（±）の積を算出した値を列処理部６へ受け渡す処理を行う。【０２５２】
減算部１４では、上述した補正演算部１２による演算結果を定数β（Offset Factor）で除算する。つまり、減算部１４は、入力値ｃに対し、（ｃ−β）を計算して出力する。このように、行処理部５において、補正演算部１２は、途中結果保持部４から行処理を行う該当ビットのＬＬＲを入力し、それぞれの大小比較と符号（±）の積及び補正項による補正を行い、減算部１４は、補正演算部１２が算出した値を定数βで減算した後、列処理部６へ受け渡す。【０２５３】
このように、本実施の形態９によるＬＤＰＣ符号復号装置は、受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ若しくは予め定めた複数ビットずつ行うＳｈｕｆｆｌｅｄ  ＢＰアルゴリズムを基にして、その各行処理において上記式（２２）を利用する。【０２５４】
次に動作について説明する。
本実施の形態９によるＬＤＰＣ符号復号装置の基本的な動作の流れは、上記実施の形態１における図３のフローチャートと同様である。よって、図３に沿って動作を説明する。【０２５５】
先ず、受信ＬＬＲ計算部２は、受信情報を入力（ステップＳＴ１）し、当該受信情報から受信ＬＬＲを算出する（ステップＳＴ２）。次に初期化ステップ（ステップＳＴ３）において、受信ＬＬＲ計算部２は、算出した受信ＬＬＲを初期値ｚm,n(0)（：＝Ｆn）として途中結果保持部４に設定する。このとき、制御部７は、復号の繰り返し回数ｉをｉ＝１と初期化する。【０２５６】
次に、ステップＳＴ４において、繰り返し回数ｉ＝１からｉ＝最終復号回（最大繰り返し回数Ｉmax）まで行処理部５及び列処理部６による繰り返し復号処理であるステップ１と、復号結果判定部８による上記式（７）に従うステップ２の判定処理を繰り返し実行する。【０２５７】
繰り返しｉ回目の復号演算を例に説明する。
先ず、復号したいＬＤＰＣ符号の検査行列Ｈ（＝[Ｈm,n]）に対して、上記式（１）においてｇ＝１のとき、行処理部５は、１列目からＮg列目までの列に１を持つ行の行処理を上記式（２２）に従って行い、処理結果を列処理部６へ受け渡す。列処理部６では、同様に１列目からＮg列目までの列処理を行い、処理結果を途中結果保持部４に保持させる。【０２５８】
次に、上記式（１）においてｇ＝２のとき、行処理部５は、（Ｎg＋１）列目から２Ｎg列目までの列に１を持つ行の行処理を上記式（２２）に従って行い、処理結果を列処理部６へ受け渡す。列処理部６では、同様に（Ｎg＋１）列目から２Ｎg列目までの列処理を行い、処理結果を途中結果保持部４に保持させる。【０２５９】
続いて、ｇ＝３以降の処理を逐次実行し、その都度、行処理部５による処理結果が列処理部６に受け渡され、列処理部６の処理結果が途中結果保持部４に保持される。【０２６０】
最後に、上記式（１）においてｇ＝Ｇのとき、行処理部５は、（Ｎ−Ｎg）列目からＮ列目までの列に１を持つ行の行処理を上記式（２２）に従って行い、処理結果を列処理部６へ受け渡す。列処理部６では、同様に（Ｎ−Ｎg）列目からＮ列目までの列処理を行い、処理結果を途中結果保持部４に保持させる。【０２６１】
上述した処理において、行処理部５が上記式（２２）に従うことで、ｇ＝１以降の処理では、繰り返しｉ回目にて既に更新されたＬＬＲを持つ列に関しては、受信ＬＬＲではなく更新されたＬＬＲを用いて行処理が実行される。【０２６２】
ステップ２では、復号結果判定部８が、列処理部６により繰り返しｉ回目で算出された事後値ｚn(i)を硬判定して復号結果を決めて、パリティ検査を行う。このとき、制御部７が、パリティ検査の結果がＮＧであるならば、繰り返し回数ｉを１増やし、続いてステップ１の処理を行処理部５及び列処理部６に実行させる。一方、上記式（７）の条件を満たせば、後述するステップ３の処理に移行させる。【０２６３】
このようにして、制御部７は、上記式（７）に示すように、パリティ検査の結果がＯＫとなるか、若しくは繰り返し回数が設定した最大値Ｉmaxとなるまで、上記式（８）に基づく、ステップ１及びステップ２の処理を繰り返すように行処理部５及び列処理部６を制御する。【０２６４】
復号結果判定部８によるパリティ検査の結果がＯＫとなるか、制御部７により設定された繰り返し回数ｉが最大値Ｉmaxとなれば、ステップ３（ステップＳＴ５）として、制御部７が行処理部５及び列処理部６による復号処理を終了させ、復号結果判定部８が復号結果として上記式（６）のような復号系列を出力する。【０２６５】
以上のように、この実施の形態９によれば、受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ若しくは予め定めた複数ビットずつ行うと共に、その行処理において上記実施の形態６で示した減算付き補正型のＭｉｎ−Ｓｕｍアルゴリズムに従って処理を行うので、確率伝搬が効率的に行われることになり、復号演算の収束が速くなり繰り返し回数を削減することができる。【０２６６】
また、Ｓｕｍ−Ｐｒｏｄｕｃｔアルゴリズムの近似に基づいて受信情報から補正を行う除算付き補正型のＭｉｎ−Ｓｕｍアルゴリズムを基本アルゴリズムとしたことで、従来のＳｈｕｆｆｌｅｄ  ＢＰアルゴリズムよりも計算コストを削減しつつ、高い復号性能を得ることができる。【０２６７】
実施の形態１０．
この実施の形態１０は、検査行列の全ての行に対して一定の因子α（Normalization Factor）は持たず、行ごとに決定した因子αm（Normalization Factor）を持つ復号アルゴリズムに従い復号を行うものである。【０２６８】
なお、本実施の形態１０は、通常のＮｏｒｍａｌｉｚｅｄ  ＢＰアルゴリズム、上記実施の形態５で示した除算付き補正型Ｍｉｎ−Ｓｕｍアルゴリズム、また、これらアルゴリズムにおいて受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ若しくは予め定めた複数ビットずつ行う復号アルゴリズムなど、因子α（Normalization Factor）を有する全ての復号アルゴリズムにおいて適用可能である。【０２６９】
ここでは、従来のＭｉｎ−Ｓｕｍアルゴリズムと同様に、繰り返し復号の任意の１回で符号化信号に対して全ての行処理を終えてから当該符号化信号の全てのビットに対する列処理を行う、Ｎｏｒｍａｌｉｚｅｄ  ＢＰアルゴリズムにおいて、行ごとの因子αm（Normalization Factor）を適用したＬＤＰＣ符号復号装置を例に挙げて説明する。【０２７０】
本実施の形態１０によるＬＤＰＣ符号復号装置は、図９に示した上記実施の形態４によるＬＤＰＣ符号復号装置と基本的に同様な構成を有しているが、行ごとの因子αm（Normalization Factor）を用いたＮｏｒｍａｌｉｚｅｄ  ＢＰアルゴリズムを実行するために行処理部５の構成及びその処理内容が異なる。具体的に説明すると、本実施の形態１０における行処理部５では、上記式（１１）に対し、上記実施の形態４における行処理で用いた上記式（１２）の代わりに、下記式（２３）の演算を実行する。なお、下記式（２３）中の各パラメータは、上記実施の形態４と同様であり、記号は前記の通りである。因子αmは、ｍ行目のＮｏｒｍａｌｉｚａｔｉｏｎ  Ｆａｃｔｏｒを示している。
【数１５】
0004777261.tif 000016
【０２７１】
図１７は、変調方式を４ＰＡＭ  Ｇｒａｙ  Ｍａｐｐｉｎｇとした場合の受信値の分布を示すグラフである。図において、黒塗りのプロットで示す各変調信号点に対応する２ビットのデジタル符号００，０１，１１，１０のうち、ビット値０，０，１，１を示すＭＳＢ（Most Significant Bit）の０と１の境界は、０（図中、実線の部分）のみであるが、ビット値０，１，１，０を示すＬＳＢ（Least Significant Bit）の０と１の境界は−２と２（図中、破線の部分）の２箇所であり、ＬＳＢの方がビットの反転が起こりやすいことがわかる。【０２７２】
このように、ＭＳＢとＬＳＢでは、ビット誤り率に違いがある。また、Ｓｕｍ−ＰｒｏｄｕｃｔアルゴリズムとＭｉｎ−Ｓｕｍアルゴリズムの行処理結果の平均値の比で表されるαmは、各行で１を持つビットの誤り率に依存する。これにより、変調方式４ＰＡＭの場合、因子αmは、各行で１を持つビットのＭＳＢである個数、ＬＳＢである個数に依存することになる。【０２７３】
そこで、本実施の形態では、αmについて各行に対応した値を予め用意する。なお、ここでは４ＰＡＭを例に挙げたが、他に受信信号の各ビットにおけるビット誤り率に違いの生じる多値変調方式でも同様である。【０２７４】
また、イレギュラーＬＤＰＣ符号の場合、行重みが一定ではない。このため、Ｓｕｍ−ＰｒｏｄｕｃｔアルゴリズムとＭｉｎ−Ｓｕｍアルゴリズムの行処理結果の平均値の比であるαmは行重みに依存する。これにより、本実施の形態では、αmについて各行の行重みに対応した値を用意する。なお、αmは、シミュレーション若しくは密度発展法を用いて事前に算出しておく。【０２７５】
本実施の形態１０によるＬＤＰＣ符号復号装置は、上述したように、基本的な構成は図９に示す上記実施の形態４と同様である。つまり、受信情報から受信ＬＬＲを算出する受信ＬＬＲ算出部２と復号コア部３とから構成され、復号コア部３により受信信号に対して行ごとの因子αm（Normalization Factor）を用いたＮｏｒｍａｌｉｚｅｄ  ＢＰアルゴリズムに従った行処理と列処理による復号が実行される。【０２７６】
復号コア部３は、途中結果保持部４、行処理部５、列処理部６、制御部７及び復号結果判定部８から構成される。途中結果保持部４は、上記実施の形態１で説明したように、行処理部５及び列処理部６による復号の途中結果を保持する。行処理部５では、上記式（２３）を用いた行処理を行い、列処理部６は、上記式（１６）の関係に対し、上記式（４）及び式（５）を用いた列処理を行う。【０２７７】
制御部７は、最大繰り返し回数の設定などの復号繰り返しの制御を行う。復号結果判定部８では、列処理部６が求めた事後値の硬判定から上記式（６）により復号結果の復号系列を算出し、パリティ検査を行って上記式（７）の条件から復号結果の正誤を判定する。【０２７８】
図１８は、実施の形態１０によるＬＤＰＣ符号復号装置の行処理部の構成を示すブロック図である。本実施の形態による行処理部５は、複数の比較部９、除算部１０ａ及び除算定数選択部１５から構成される。比較部９は、図２で示したものと同様に、入力された２値の絶対値の大小比較を行い、小さい方と２値の符号（±）との積を算出する。行処理部５において、複数の比較部９が複数段に接続している。また、図に示すように、下段の比較部９は、入力２値の一方として上段の比較部９の算出結果を入力する。各比較部９による処理は下記の通りである。【０２７９】
比較部９が２値ａ，ｂの絶対値を入力した場合、｜ａ｜＜｜ｂ｜であれば、ｓｉｇｎ（ａ）×ｓｉｇｎ（ｂ）×｜ａ｜を出力する。また、｜ａ｜＜｜ｂ｜以外であれば、ｓｉｇｎ（ａ）×ｓｉｇｎ（ｂ）×｜ｂ｜を出力する。なお、ｓｉｇｎ（ａ）はａの符号（±）を示している。【０２８０】
除算部１０ａでは、上述した比較部９による演算結果を、除算定数選択部１５からの定数αm（Normalization Factor）で除算する。つまり、除算部１０ａは、入力値ｃに対し、ｃ／αmを計算して出力する。このように、行処理部５において、比較部９は、途中結果保持部４から行処理を行う該当ビットのＬＬＲを入力し、それぞれの大小比較と符号（±）の積を求め、除算部１０ａは、比較部９が算出した値を定数αmで除算した後、列処理部６へ受け渡す。【０２８１】
除算定数選択部１５では、各行のαm値を予め記憶しており、制御部７より通信路及び符号構成の情報を受け、この情報中の処理対象の行番号ｍを入力して各行のαmを決定し、除算部１０ａへ受け渡す。【０２８２】
このように、本実施の形態１０による行処理部５では、途中結果保持部４から行処理を行う該当ビットのＬＬＲを入力し、それぞれの大小比較と符号（±）の積を比較部９で求め、除算部１０ａが、比較部９により得られた値を除算定数選択部１５が選択したαmで除算した後、列処理部６へ受け渡す処理を行う。【０２８３】
次に動作について説明する。
本実施の形態１０によるＬＤＰＣ符号復号装置の基本的な動作の流れは、上記実施の形態４における図１１のフローチャートと同様である。よって、図１１に沿って動作を説明する。【０２８４】
先ず、受信ＬＬＲ計算部２は、受信情報を入力（ステップＳＴ１）し、当該受信情報から受信ＬＬＲを算出する（ステップＳＴ２）。次に初期化ステップ（ステップＳＴ３）において、受信ＬＬＲ計算部２は、算出した受信ＬＬＲを初期値ｚm,n(0)（：＝Ｆn）として途中結果保持部４に設定する。このとき、制御部７は、復号の繰り返し回数ｉをｉ＝１と初期化すると共に、除算定数選択部１５に対して変調方式や行重みに関する情報を受け渡す。この情報に基づき、除算定数選択部１５は、各行のαmを決定して除算部１０ａへ渡す。【０２８５】
次に、ステップＳＴ４ａにおいて、繰り返し回数ｉ＝１からｉ＝最終復号回（最大繰り返し回数Ｉmax）まで行処理部５及び列処理部６による繰り返し復号処理であるステップ１と、復号結果判定部８による上記式（７）に従うステップ２の判定処理を繰り返し実行する。【０２８６】
繰り返しｉ回目の復号演算を例に説明する。
先ず、ステップ１において、行処理部５は、復号したいＬＤＰＣ符号の検査行列Ｈ（＝[Ｈm,n]）に対して繰り返しｉ回目の復号演算における行処理を行う。具体的には、上記式（１１）の関係に従って１列目からＮ列目までの列に１を持つ行の行処理を上記式（２３）を用いて行い、処理結果を途中結果保持部４に保持させる。【０２８７】
ステップ１において、行処理部５による行処理が終了すると、列処理部６は、復号したいＬＤＰＣ符号の検査行列Ｈに対して繰り返しｉ回目の復号演算における列処理を行う。具体的には、上記式（１６）の関係に従って１列目からＮ列目までの列処理を行い、処理結果を途中結果保持部４に保持させる。【０２８８】
ステップ２では、復号結果判定部８が、列処理部６により繰り返しｉ回目で算出された事後値ｚn(i)を硬判定して復号結果を決めて、パリティ検査を行う。このとき、制御部７が、パリティ検査の結果がＮＧであるならば、繰り返し回数ｉを１増やして、続いてステップ１の処理を行処理部５及び列処理部６に実行させる。一方、上記式（７）の条件を満たせば、後述するステップ３の処理に移行させる。【０２８９】
このようにして、制御部７は、上記式（７）に示すように、パリティ検査の結果がＯＫとなるか、若しくは繰り返し回数が設定した最大値Ｉmaxとなるまで、ステップ１の処理を繰り返すように行処理部５及び列処理部６を制御する。【０２９０】
復号結果判定部８によるパリティ検査の結果がＯＫとなるか、制御部７により設定された繰り返し回数ｉが最大値Ｉmaxとなれば、ステップ３（ステップＳＴ５）として、制御部７が行処理部５及び列処理部６による復号処理を終了させ、復号結果判定部８が復号結果として上記式（６）のような復号系列を出力する。【０２９１】
以上のように、この実施の形態１０によれば、Ｎｏｒｍａｌｉｚｅｄ  ＢＰアルゴリズムにおけるＮｏｒｍａｌｉｚａｔｉｏｎ  Ｆａｃｔｏｒを変調方式及び符号構成に応じて行ごとに設定するので、多値変調された場合や符号がイレギュラーＬＤＰＣ符号の場合などに従来のＮｏｒｍａｌｉｚｅｄ  ＢＰアルゴリズムで復号を行うよりも、伝搬される確率情報がＳｕｍ−Ｐｒｏｄｕｃｔアルゴリズムに近づき、復号性能を向上させることができる。【０２９２】
なお、上記実施の形態１０では、繰り返し復号の任意の１回で符号化信号に対して全ての行処理を終えてから当該符号化信号の全てのビットに対する列処理を行う、Ｎｏｒｍａｌｉｚｅｄ  ＢＰアルゴリズムにおいて、行ごとの因子αm（Normalization Factor）を適用したＬＤＰＣ符号復号装置を例に挙げたが、このアルゴリズムの他、上記実施の形態５で示した除算付き補正型のＭｉｎ−Ｓｕｍアルゴリズム、これらアルゴリズムにおいて受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ若しくは予め定めた複数ビットずつ行う復号アルゴリズムなどにおいて、行ごとの因子αmを適用したＬＤＰＣ符号復号装置を構成しても良い。【０２９３】
実施の形態１１．
この実施の形態１１は、検査行列の全ての行に対して一定の因子β（Offset Factor）は持たず、行ごとに決定した因子βm（Offset Factor）を持つ復号アルゴリズムに従い復号を行うものである。【０２９４】
なお、本実施の形態１１は、通常のＯｆｆｓｅｔ  ＢＰアルゴリズム、上記実施の形態６で説明した減算付き補正型のＭｉｎ−Ｓｕｍアルゴリズム、また、これらアルゴリズムにおいて受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ若しくは予め定めた複数ビットずつ行う復号アルゴリズムなど、因子β（Offset Factor）を有する全ての復号アルゴリズムにおいて適用可能である。【０２９５】
ここでは、従来のＭｉｎ−Ｓｕｍアルゴリズムと同様に、繰り返し復号の任意の１回で符号化信号に対して全ての行処理を終えてから当該符号化信号の全てのビットに対する列処理を行う、Ｏｆｆｓｅｔ  ＢＰアルゴリズムにおいて、行ごとの因子βm（Offset Factor）を適用したＬＤＰＣ符号復号装置を例に挙げて説明する。【０２９６】
本実施の形態１１によるＬＤＰＣ符号復号装置は、図９に示した上記実施の形態４によるＬＤＰＣ符号復号装置と基本的に同様な構成を有しているが、行ごとの因子βm（Offset Factor）を用いたＯｆｆｓｅｔ  ＢＰアルゴリズムを実行するために行処理部５の構成及びその処理内容が異なる。具体的に説明すると、本実施の形態１１における行処理部５では、上記式（１１）に対し、上記実施の形態４における行処理で用いた上記式（１２）の代わりに、下記式（２４）の演算を実行する。なお、下記式（２４）中の各パラメータは、上記実施の形態４と同様であり、記号は前記の通りである。因子βmは、ｍ行目のＯｆｆｓｅｔ  Ｆａｃｔｏｒを示している。
【数１６】
0004777261.tif 000017
【０２９７】
例えば、変調方式を４ＰＡＭ  Ｇｒａｙ  Ｍａｐｐｉｎｇとした場合の受信値は、上述したように図１７のように分布し、ＭＳＢとＬＳＢとでビット誤り率に違いがある。また、Ｓｕｍ−ＰｒｏｄｕｃｔアルゴリズムとＭｉｎ−Ｓｕｍアルゴリズムの行処理結果の平均値の差で表されるβmは、各行で１を持つビットの誤り率に依存する。これにより、変調方式４ＰＡＭの場合、βmは、各行で１を持つビットのＭＳＢである個数、ＬＳＢである個数に依存することになる。【０２９８】
そこで、本実施の形態では、βmについて各行に対応して値を予め用意する。なお、ここでは４ＰＡＭを例として挙げたが、他にビット誤り率に違いの生じる多値変調方式でも同様である。【０２９９】
また、イレギュラーＬＤＰＣ符号の場合、行重みが一定ではない。このため、Ｓｕｍ−ＰｒｏｄｕｃｔアルゴリズムとＭｉｎ−Ｓｕｍアルゴリズムの行処理結果の平均値の差で表されるβmは、行重みに依存する。これにより、本実施の形態では、βmについて各行の行重みに対応した値を用意する。なお、βmは、シミュレーション若しくは密度発展法を用いて事前に算出しておく。【０３００】
本実施の形態１１によるＬＤＰＣ符号復号装置は、上述したように、基本的な構成は図９に示す上記実施の形態４と同様である。つまり、受信情報から受信ＬＬＲを算出する受信ＬＬＲ算出部２と復号コア部３とから構成され、復号コア部３により受信信号に対して行ごとの因子βm（Offset Factor）を用いたＯｆｆｓｅｔ  ＢＰアルゴリズムに従った行処理と列処理による復号が実行される。【０３０１】
復号コア部３は、途中結果保持部４、行処理部５、列処理部６、制御部７及び復号結果判定部８から構成される。途中結果保持部４は、上記実施の形態１で説明したように、行処理部５及び列処理部６による復号の途中結果を保持する。行処理部５では、上記式（２４）を用いた行処理を行い、列処理部６は、上記式（１６）の関係に対し、上記式（４）及び式（５）を用いた列処理を行う。【０３０２】
制御部７は、最大繰り返し回数の設定などの復号繰り返しの制御を行う。復号結果判定部８では、列処理部６が求めた事後値の硬判定から上記式（６）により復号結果の復号系列を算出し、パリティ検査を行って上記式（７）の条件から復号結果の正誤を判定する。【０３０３】
図１９は、実施の形態１１によるＬＤＰＣ符号復号装置の行処理部の構成を示すブロック図である。本実施の形態による行処理部５は、複数の比較部９、減算部１１ａ及び減算定数選択部１６から構成される。比較部９は、図２で示したものと同様に、入力された２値の絶対値の大小比較を行い、小さい方と２値の符号（±）との積を算出する。行処理部５において、複数の比較部９が複数段に接続している。また、図に示すように、下段の比較部９は、入力２値の一方として上段の比較部９の算出結果を入力する。各比較部９による処理は下記の通りである。【０３０４】
比較部９が２値ａ，ｂの絶対値を入力した場合、｜ａ｜＜｜ｂ｜であれば、ｓｉｇｎ（ａ）×ｓｉｇｎ（ｂ）×｜ａ｜を出力する。また、｜ａ｜＜｜ｂ｜以外であれば、ｓｉｇｎ（ａ）×ｓｉｇｎ（ｂ）×｜ｂ｜を出力する。なお、ｓｉｇｎ（ａ）はａの符号（±）を示している。【０３０５】
減算部１１ａでは、上述した比較部９による演算結果を、減算定数選択部１６からの定数βm（Offset Factor）で減算する。つまり、減算部１１ａは、入力値ｃに対し、ｃ−βmを計算して出力する。このように、行処理部５において、比較部９は、途中結果保持部４から行処理を行う該当ビットのＬＬＲを入力し、それぞれの大小比較と符号（±）の積を求め、減算部１１ａは、比較部９が算出した値を定数βmで減算した後、列処理部６へ受け渡す。【０３０６】
減算定数選択部１６では、各行のβm値を予め記憶しており、制御部７より通信路及び符号構成の情報を受け、この情報中の処理対象の行番号ｍを入力して各行のβmを決定し、減算部１１ａへ受け渡す。【０３０７】
このように、本実施の形態１１による行処理部５では、途中結果保持部４から行処理を行う該当ビットのＬＬＲを入力し、それぞれの大小比較と符号（±）の積を比較部９で求め、減算部１１ａが、比較部９により得られた値を減算定数選択部１６が選択したβmで減算した後、列処理部６へ受け渡す処理を行う。【０３０８】
次に動作について説明する。
本実施の形態１１によるＬＤＰＣ符号復号装置の基本的な動作の流れは、上記実施の形態４における図１１のフローチャートと同様である。よって、図１１に沿って動作を説明する。【０３０９】
先ず、受信ＬＬＲ計算部２は、受信情報を入力（ステップＳＴ１）し、当該受信情報から受信ＬＬＲを算出する（ステップＳＴ２）。次に初期化ステップ（ステップＳＴ３）において、受信ＬＬＲ計算部２は、算出した受信ＬＬＲを初期値ｚm,n(0)（：＝Ｆn）として途中結果保持部４に設定する。このとき、制御部７は、復号の繰り返し回数ｉをｉ＝１と初期化すると共に、減算定数選択部１６に対して変調方式や行重みに関する情報を受け渡す。この情報に基づき、減算定数選択部１６は、各行のβmを決定して減算部１１ａへ渡す。【０３１０】
次に、ステップＳＴ４ａにおいて、繰り返し回数ｉ＝１から最終復号回（最大繰り返し回数Ｉmax）まで行処理部５及び列処理部６による繰り返し復号処理であるステップ１と、復号結果判定部８による上記式（７）に従うステップ２の判定処理を繰り返し実行する。【０３１１】
繰り返しｉ回目の復号演算を例に説明する。
先ず、ステップ１において、行処理部５は、復号したいＬＤＰＣ符号の検査行列Ｈ（＝[Ｈm,n]）に対して繰り返しｉ回目の復号演算における行処理を行う。具体的には、上記式（１１）の関係に従って１列目からＮ列目までの列に１を持つ行の行処理を上記式（２４）を用いて行い、処理結果を途中結果保持部４に保持させる。【０３１２】
ステップ１において、行処理部５による行処理が終了すると、列処理部６は、復号したいＬＤＰＣ符号の検査行列Ｈに対して繰り返しｉ回目の復号演算における列処理を行う。具体的には、上記式（１６）の関係に従って１列目からＮ列目までの列処理を行い、処理結果を途中結果保持部４に保持させる。【０３１３】
ステップ２では、復号結果判定部８が、列処理部６により繰り返しｉ回目で算出された事後値ｚn(i)を硬判定して復号結果を決めて、パリティ検査を行う。このとき、制御部７が、パリティ検査の結果がＮＧであるならば、繰り返し回数ｉを１増やして、続いてステップ１の処理を行処理部５及び列処理部６に実行させる。一方、上記式（７）の条件を満たせば、後述するステップ３の処理に移行させる。【０３１４】
このようにして、制御部７は、上記式（７）に示すように、パリティ検査の結果がＯＫとなるか、若しくは繰り返し回数が設定した最大値Ｉmaxとなるまで、ステップ１の処理を繰り返すように行処理部５及び列処理部６を制御する。【０３１５】
復号結果判定部８によるパリティ検査の結果がＯＫとなるか、制御部７により設定された繰り返し回数ｉが最大値Ｉmaxとなれば、ステップ３（ステップＳＴ５）として、制御部７が行処理部５及び列処理部６による復号処理を終了させ、復号結果判定部８が復号結果として上記式（６）のような復号系列を出力する。【０３１６】
以上のように、この実施の形態１１によれば、Ｏｆｆｓｅｔ  ＢＰアルゴリズムにおけるＯｆｆｓｅｔ  Ｆａｃｔｏｒを変調方式及び符号構成に応じて行ごとに設定するので、多値変調された場合や符号がイレギュラーＬＤＰＣ符号の場合などに従来のＯｆｆｓｅｔ  ＢＰアルゴリズムで復号を行うよりも、伝搬される確率情報がＳｕｍ−Ｐｒｏｄｕｃｔアルゴリズムに近づき、復号性能を向上させることができる。【０３１７】
なお、上記実施の形態１１では、繰り返し復号の任意の１回で符号化信号に対して全ての行処理を終えてから当該符号化信号の全てのビットに対する列処理を行う、Ｏｆｆｓｅｔ  ＢＰアルゴリズムにおいて、行ごとの因子βm（Offset Factor）を適用したＬＤＰＣ符号復号装置を例に挙げたが、このアルゴリズムの他、上記実施の形態６で示した減算付き補正型のＭｉｎ−Ｓｕｍアルゴリズム、これらアルゴリズムにおいて受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ若しくは予め定めた複数ビットずつ行う復号アルゴリズムなどにおいて、行ごとの因子βmを適用したＬＤＰＣ符号復号装置を構成しても良い。【０３１８】
実施の形態１２．
図２０は、この発明の実施の形態１２によるＬＤＰＣ符号復号装置の構成を示すブロック図である。本実施の形態１２によるＬＤＰＣ符号復号装置１は、図１に示す上記実施の形態１の構成と同様に、受信ＬＬＲ計算部２及び復号コア部３から構成される。ここで、上記実施の形態１とは、演算列制御部１７を備える点で異なる。演算列制御部１７は、グループ分割に基づいて行処理部５及び列処理部６による演算対象の列を決定して、グループ分割に基づく復号処理を制御する。【０３１９】
実施の形態１２によるＬＤＰＣ符号復号装置では、従来のＧｒｏｕｐ  Ｓｈｕｆｆｌｅｄ  ＢＰアルゴリズムのように、受信信号に対する行処理と列処理による確率情報の算出及び更新を予め定めた複数ビットずつ行うものであるが、符号構成に基づいて複数ビットごとの組み合わせであるグループに分割する。【０３２０】
ここで、本実施の形態における符号構成に基づくグループ分割について説明する。
先ず、行処理と列処理による確率情報の算出及び更新を１ビットずつ行う復号アルゴリズムでは、そうでないアルゴリズムよりも少ない繰り返し回数で復号を終えるのは、算出した確率情報を即座に更新して同じ繰り返し回数における次の復号演算で利用することで、確率情報の伝播が効率的に行われるからである。【０３２１】
行処理と列処理による確率情報の算出及び更新を複数ビットずつ行うＧｒｏｕｐ  Ｓｈｕｆｆｌｅｄ  ＢＰアルゴリズムの場合も同様であるが、従来のＧｒｏｕｐ  Ｓｈｕｆｆｌｅｄ  ＢＰアルゴリズムでは、同じグループの列同士が互いに同じ行に１を持っていると、互いに更新されていない確率情報を用いて処理を行うことになる。【０３２２】
そこで、本実施の形態では、Ｇｒｏｕｐ  Ｓｈｕｆｆｌｅｄ  ＢＰアルゴリズムのように行処理と列処理による確率情報の算出及び更新を複数ビットずつ行う復号アルゴリズムにおいて、複数ビットの組み合わせを作るグループ分割の際に同じグループに含まれる列同士が互いに同じ行に１を持たないようにグループ分割する。これにより、同じグループの列同士が互いに同じ行に１を持っている場合と比較して確率情報の伝播を効率的に行うことできるようになり、繰り返し回数を削減することができる。【０３２３】
図２１は、ＬＤＰＣ符号化行列の構成例を示す図であり、図中で行列の右上を三角形で囲んだ部分が０となるＬＤＰＣ符号化行列を示している。また、図２２は、実施の形態１２のＬＤＰＣ符号復号装置によるＬＤＰＣ符号行列のグループ分割例を示す図である。図２１に示すようなＬＤＰＣ行列では、符号化行列が復号行列と共通で用いることができ、実用上の利点は多い。【０３２４】
このようなＬＤＰＣ符号で符号化された符号化行列をグループ分割して、受信信号に対する行処理と列処理による確率情報の算出及び更新を予め定めた複数ビットずつ行う場合、図２２に示すように、パリティビット部分を連続させないグループ分割を行う。図２２の例では、パリティビット部分を連続させないグループ分割としてＬＤＰＣ行列を１列おきにグループ分割している。なお、図中、各グループに付した符号Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆは、それぞれ第１番目から第６番目のグループを示すグループ１，２，３，４，５，６を表すものとする。【０３２５】
本実施の形態１２によるＬＤＰＣ符号復号装置では、符号構成に基づいて、図２２に示すようにＬＤＰＣ符号化行列をグループ分割するＧｒｏｕｐ  Ｓｈｕｆｆｌｅｄ  ＢＰアルゴリズムを実行する。以下に簡単に説明する。【０３２６】
先ず、初期化ステップとして、繰り返し回数ｉをｉ＝１と設定し、最大繰り返し回数をＩmaxと設定し、対数尤度比ＬＬＲ（Log Likelihood Ratio）の初期値ｚm,n(0)をＦn（ｚm,n(0)：＝Ｆn）と設定する。なお、復号したいＬＤＰＣ符号の検査行列Ｈは、２元ｍ×ｎ行列Ｈ＝[Ｈm,n]（ｎは０以上Ｎ未満の整数，ｍは０以上Ｍ未満の整数）であり、Ｈm,nをＨのｍ行ｎ列目要素とする。【０３２７】
次に、ステップ１として、下記式（２５）の条件に対し、上記式（２）及び上記式（３）を演算する行処理を実行する。ここで、Ｎ（ｍ），Ｍ（ｎ）は、集合[１，Ｎ]の部分集合であり、Ｎ（ｍ）：＝｛ｎ：Ｈm,n＝１｝、Ｍ（ｎ）：＝｛ｍ：Ｈm,n＝１｝と定義する。つまり、Ｎ（ｍ）は、検査行列Ｈのｍ行において１を持つ列インデックスの集合を意味し、Ｍ（ｎ）は、ＬＤＰＣ検査行列Ｈのｍ行において１を持つ列インデックスの集合を意味する。
【数１７】
0004777261.tif 000018
【０３２８】
また、集合Ａから元ａを取り去って得られる集合をＡ＼ａと表記する。即ち、Ｎ（ｍ）＼ｎは集合Ｎ（ｍ）からｎ列目を除く列インデックスの集合であり、Ｍ（ｎ）＼ｍが集合Ｍ（ｎ）からｍ行目を除く行インデックスの集合を示している。ｚm,n'(i)は、繰り返しｉ回目で更新したＬＬＲであり、εm,n(i)はチェックノードからビットノードへ送る繰り返しｉ回目のＬＬＲである。【０３２９】
さらに、ステップ１において、上記式（２５）の条件に対し、上記式（４）及び上記式（５）を演算する列処理を実行する。ここで、ｚm,n(i)はビットノードからチェックノードへ送る繰り返しｉ回目のＬＬＲである。さらに、ｚn(i)は繰り返しｉ回目の事後値である。【０３３０】
次に、ステップ２として、事後値ｚn(i)を硬判定し、上記式（６）で表される復号系列を生成する。このあと、上記式（７）の条件を満たせば、後述するステップ３の処理に移行し、これら２条件のいずれをも満たさなければ、繰り返し回数ｉを加算してステップ２の処理に戻る。ステップ３では、復号結果として、ステップ２で得た上記式（６）に従う復号系列を出力する。【０３３１】
但し、各記号は、上記式に従うものとする。また、ＧＲ（ｇ）は、ｇ番目のグループを構成する列の組を表すものとする。図２２に示す例でＧＲ（ｇ）を具体的に示すと、以下のようになる。
グループ１（ＧＲ（１））は２ｋ＋１＝１，３，５，７，・・・，Ｎg−１であり、ｋは０以上Ｎg未満である。
グループ２（ＧＲ（２））は２ｋ＋２＝２，４，６，８，・・・，Ｎgであり、ｋは０以上Ｎg未満である。
グループ３（ＧＲ（３））は２ｋ＋１＝Ｎg＋１，Ｎg＋３，Ｎg＋５，・・・，２Ｎg−１であり、ｋはＮg以上２Ｎg未満である。
グループＧ（ＧＲ（Ｇ））は、２ｋ＋２＝Ｇ・Ｎg−２Ｎg＋２，・・・，Ｇ・Ｎgであり、ｋは（Ｇ／２−１）・Ｎg以上Ｇ・Ｎg未満である。【０３３２】
本実施の形態１２によるＬＤＰＣ符号復号装置は、上述したように、演算列制御部１７を有する以外、基本的な構成は図１に示す上記実施の形態１と同様である。つまり、受信情報から受信ＬＬＲを算出する受信ＬＬＲ算出部２と復号コア部３とから構成され、復号コア部３により１ビットおきにグループ分割したＧｒｏｕｐ  Ｓｈｕｆｆｌｅｄ  ＢＰアルゴリズムによるＬＤＰＣ符号の復号を実行する。【０３３３】
復号コア部３は、途中結果保持部４、行処理部５、列処理部６、制御部７、復号結果判定部８及び演算列制御部１７から構成される。途中結果保持部４は、上記実施の形態１で説明したように、行処理部５及び列処理部６による復号の途中結果を保持する。行処理部５では、上記式（２５）の条件に対して上記式（２）及び式（３）を用いた行処理を行い、列処理部６は、上記式（２５）の条件に対して上記式（４）及び式（５）を用いた列処理を行う。【０３３４】
制御部７は、最大繰り返し回数の設定などの復号繰り返しの制御を行う。復号結果判定部８では、上述したＧｒｏｕｐ  Ｓｈｕｆｆｌｅｄ  ＢＰアルゴリズムのステップ１と同様に列処理部６が求めた事後値の硬判定から上記式（６）により復号結果の復号系列を算出し、パリティ検査を行って上記式（７）の条件から復号結果の正誤を判定する。演算列制御部１７では、上述したようにＬＤＰＣ符号化行列をグループ分割して行処理部５及び列処理部６による演算対象の列を制御する。【０３３５】
次に動作について説明する。
図２３は、実施の形態１２によるＬＤＰＣ符号復号装置の動作を示すフローチャートであり、この図に沿って図２２に示す符号化行列を用いた復号動作を例に挙げて説明する。【０３３６】
先ず、受信ＬＬＲ計算部２は、受信情報を入力（ステップＳＴ１）し、当該受信情報から受信ＬＬＲを算出する（ステップＳＴ２）。次に初期化ステップ（ステップＳＴ３）において、受信ＬＬＲ計算部２は、算出した受信ＬＬＲを初期値ｚm,n(0)（：＝Ｆn）として途中結果保持部４に設定する。このとき、制御部７は、復号の繰り返し回数ｉをｉ＝１と初期化する。【０３３７】
次に、ステップＳＴ４ｂにおいて、繰り返し回数ｉ＝１から最終復号回（最大繰り返し回数Ｉmax）まで、演算列制御部１７により指定された１列ごとのグループに対して行処理部５及び列処理部６による繰り返し復号処理を行うステップ１と、復号結果判定部８による上記式（７）に従うステップ２の判定処理を繰り返し実行する。【０３３８】
繰り返しｉ回目の復号演算を例に説明する。
先ず、復号したいＬＤＰＣ符号の検査行列Ｈ（＝[Ｈm,n]）について、図２２に示すように、演算列制御部１７は、図中で符号Ａを付したグループ１に含まれる全ての列の番号を行処理部５及び列処理部６に受け渡す。これにより、行処理部５は、グループ１に含まれる列に１を持つ行の行処理を行い、処理結果を列処理部６へ受け渡す。一方、列処理部６は、グループ１に含まれる列の列処理を行い、処理結果を途中結果保持部４に保持させる。【０３３９】
次に、演算列制御部１７は、図中で符号Ｂを付したグループ２に含まれる全ての列の番号を行処理部５及び列処理部６に受け渡す。これにより、行処理部５は、グループ２に含まれる列に１を持つ行の行処理を行い、処理結果を列処理部６へ受け渡す。一方、列処理部６は、グループ２に含まれる列の列処理を行い、処理結果を途中結果保持部４に保持させる。【０３４０】
続いて、演算列制御部１７は、上記式（２５）におけるｇ＝３以降のグループに含まれる全ての列の番号を行処理部５及び列処理部６に逐次受け渡し、その都度、行処理部５による処理結果が列処理部６に受け渡され、列処理部６の処理結果が途中結果保持部４に保持される。【０３４１】
最後に、演算列制御部１７は、グループｇに含まれる全ての列の番号を行処理部５及び列処理部６に受け渡す。これにより、行処理部５は、グループｇに含まれる列に１を持つ行の行処理を行い、処理結果を列処理部６へ受け渡す。一方、列処理部６は、グループｇに含まれる列の列処理を行い、処理結果を途中結果保持部４に保持させる。【０３４２】
図２２の例では、演算列制御部１７が、図中で符号Ｆを付したグループ６に含まれる全ての列の番号を行処理部５及び列処理部６に受け渡す。これにより、行処理部５は、グループ２に含まれる列に１を持つ行の行処理を行い、処理結果を列処理部６へ受け渡す。一方、列処理部６は、グループ６に含まれる列の列処理を行い、処理結果を途中結果保持部４に保持させる。【０３４３】
上述した処理において、行処理部５が上記式（２５）の関係に対して上記式（２）及び上記式（３）を演算することで、ｇ＝１以降の処理では、繰り返しｉ回目にて既に更新されたＬＬＲを持つ列に関しては、受信ＬＬＲではなく更新されたＬＬＲを用いて行処理が実行される。【０３４４】
ステップ２では、復号結果判定部８が、列処理部６により繰り返しｉ回目で算出された事後値ｚn(i)を硬判定して復号結果を決めて、パリティ検査を行う。このとき、制御部７が、パリティ検査の結果がＮＧであるならば、繰り返し回数ｉを１増やして、続いてステップ１の処理を行処理部５及び列処理部６に実行させる。一方、上記式（７）の条件を満たせば、後述するステップ３の処理に移行させる。【０３４５】
このようにして、制御部７は、上記式（７）に示すように、パリティ検査の結果がＯＫとなるか、若しくは繰り返し回数が設定した最大値Ｉmaxとなるまで、ステップ１及びステップ２の処理を繰り返すように行処理部５及び列処理部６を制御する。【０３４６】
復号結果判定部８によるパリティ検査の結果がＯＫとなるか、制御部７により設定された繰り返し回数ｉが最大値Ｉmaxとなれば、ステップ３（ステップＳＴ５）として、制御部７が行処理部５及び列処理部６による復号処理を終了させ、復号結果判定部８が復号結果として上記式（６）のような復号系列を出力する。【０３４７】
図２４は、実施の形態１２によるＬＤＰＣ符号復号装置により上述のように符号構成に基づいて符号化行列をグループ分割して復号した場合と、従来のＧｒｏｕｐ  Ｓｈｕｆｆｌｅｄ  ＢＰアルゴリズムでグループ分割して復号した場合とにおける、ビット誤り率とこのビット誤り率でのパリティ検査がＯＫになるまでに要した復号繰り返し回数の平均値との関係をプロットしたグラフである。図において、プロット間を破線で繋いだ方が従来のＧｒｏｕｐ  Ｓｈｕｆｆｌｅｄ  ＢＰアルゴリズムによるものであり、実線でプロット間を繋いだものが本実施の形態１２によるものである。【０３４８】
また、図２４において、ＬＤＰＣ符号は、右上三角０構造のイレギュラーＬＤＰＣ符号、符号長６４８００、符号化率１／２、最大列重み７、最大行重み８、最大繰り返し回数Ｉmaxが２０回である。また、通信路は、ＡＷＧＮ（Additive White Gaussian Noise；加法性白色ガウス雑音）通信路を想定しており、ＱＰＳＫ（Quadrature Phase Shift Keying）で復調している。【０３４９】
ここで、実施の形態１２では、上述したように、符号構成に基づき、１列ごとにＬＤＰＣ行列をグループ分割したＧｒｏｕｐ  Ｓｈｕｆｆｌｅｄ  ＢＰアルゴリズムで復号処理を実行している。また、従来のＧｒｏｕｐ  Ｓｈｕｆｆｌｅｄ  ＢＰアルゴリズムでは、従来と同様に、ＬＤＰＣ行列における先頭の第１ビットから所定のビットごとのグループに分割している。【０３５０】
図２４に示すように、本実施の形態１２による復号処理によって、パリティ検査がＯＫとなるまでに要した復号繰り返し回数が、従来のＧｒｏｕｐ  Ｓｈｕｆｆｌｅｄ  ＢＰアルゴリズムと比較して格段に削減されていることがわかる。なお、従来のＧｒｏｕｐ  Ｓｈｕｆｆｌｅｄ  ＢＰアルゴリズムとの比較例を示したが、本実施の形態１２は、従来のＳｈｕｆｆｌｅｄ  ＢＰアルゴリズムのように、受信信号に対する行処理と列処理による確率情報の算出及び更新を予め定めた複数ビットずつ行う復号アルゴリズムに対しても同様に繰り返し回数を削減することができる。【０３５１】
以上のように、この実施の形態１２によれば、隣り合った列に１を持つＬＤＰＣ符号に対し、Ｇｒｏｕｐ  Ｓｈｕｆｆｌｅｄ  ＢＰアルゴリズムのようにグループ分割して受信信号に対する行処理と列処理による確率情報の算出及び更新を予め定めた複数ビットずつ行う復号アルゴリズムでＬＤＰＣ符号の復号を行う場合において、ＬＤＰＣ符号の構成に基づいて１列ごとにＬＤＰＣ符号化行列をグループ分割し、グループごとの列について１を持つ行を行処理すると共に、当該グループに含まれる列の列処理を行って復号処理するので、隣り合った列を同じグループに分割しないことから、確率情報の伝播が効率的に行われる。これにより、図２４に示すように、ＬＤＰＣ符号化行列の先頭ビットから順にグループ分けする従来のＧｒｏｕｐ  Ｓｈｕｆｆｌｅｄ  ＢＰアルゴリズムに比べ繰り返し回数を削減することができる。【０３５２】
実施の形態１３．
上記実施の形態１２では、ＬＤＰＣ符号の構成に基づいて１列ごとにＬＤＰＣ符号化行列をグループ分割するＬＤＰＣ符号復号装置を示したが、本実施の形態１３によるＬＤＰＣ符号復号装置は、受信信号の変調方式に基づいて復号処理の対象をグループ分割するものである。【０３５３】
本実施の形態１３によるＬＤＰＣ符号復号装置は、図２０に示した上記実施の形態１２によるＬＤＰＣ符号復号装置と基本的に同様な構成を有しているが、演算列制御部１７により変調方式に基づいて受信信号をグループ分割し、行処理部５及び列処理部６により受信信号のグループごとに復号処理を実行する。【０３５４】
また、変調方式の仮定によって本実施の形態１３におけるグループ分割も上記実施の形態１２と同様となっている。つまり、本実施の形態１３では、Ｇｒｏｕｐ  Ｓｈｕｆｆｌｅｄ  ＢＰアルゴリズムのようにグループ分割して受信信号に対する行処理と列処理による確率情報の算出及び更新を行う復号を実行するにあたり、受信信号の変調方式に基づいて、上記実施の形態１２で示した図２２のように符号化行列を１列ごとのグループ１〜６に分割する。【０３５５】
ここで、上述した図１７に示す４ＰＡＭ  Ｇｒａｙ  Ｍａｐｐｉｎｇの受信値の分布からわかるように、変調方式が多値変調である場合、受信信号のビットごとの誤り率が異なる。図１７の場合では、受信信号のＭＳＢはビット誤り率が低く、ＬＳＢはビット誤り率が高い。この場合、ＭＳＢの復号はＬＳＢの復号に比べて少ない繰り返し回数で復号を終えることができる。【０３５６】
そこで、本実施の形態１３は、図１７に示す変調方式４ＰＡＭの場合を例として、受信信号をＭＳＢのみのグループとＬＳＢのみのグループに分割して、ＭＳＢのみのグループを先に演算し、ＬＳＢのみのグループを後で演算するように構成する。【０３５７】
なお、Ｇｒｏｕｐ  Ｓｈｕｆｆｌｅｄ  ＢＰアルゴリズムのようにグループ分割をする場合を例に挙げたが、本実施の形態のような受信信号の変調方式に基づいて処理対象をグループ分割する処理は、受信信号に対する行処理と列処理による確率情報の算出及び更新を予め定めた複数ビットずつ行う他の復号アルゴリズムにおいても同様に適用することができる。【０３５８】
また、図１７に示すような４ＰＡＭを変調方式の例として挙げたが、他に受信信号のビット誤り率に違いの生じる多値変調方式であれば、同様にビット誤り率の違いに応じてグループ分割するようにしてもよい。【０３５９】
本実施の形態１３に係る演算アルゴリズムは、上記実施の形態１２と同様である。以下に具体的に説明する。
先ず、初期化ステップとして、繰り返し回数ｉをｉ＝１と設定し、最大繰り返し回数をＩmaxと設定し、対数尤度比ＬＬＲの初期値ｚm,n(0)をＦn（ｚm,n(0)：＝Ｆn）と設定する。なお、復号したいＬＤＰＣ符号の検査行列Ｈは、２元ｍ×ｎ行列Ｈ＝[Ｈm,n]（ｎは０以上Ｎ未満の整数，ｍは０以上Ｍ未満の整数）であり、Ｈm,nをＨのｍ行ｎ列目要素とする。【０３６０】
次に、ステップ１として、上記式（２５）の条件に対し、上記式（２）及び上記式（３）を演算する行処理を実行する。ここで、Ｎ（ｍ），Ｍ（ｎ）は、集合[１，Ｎ]の部分集合であり、Ｎ（ｍ）：＝｛ｎ：Ｈm,n＝１｝、Ｍ（ｎ）：＝｛ｍ：Ｈm,n＝１｝と定義する。つまり、Ｎ（ｍ）は、検査行列Ｈのｍ行において１を持つ列インデックスの集合を意味し、Ｍ（ｎ）は、ＬＤＰＣ検査行列Ｈのｍ行において１を持つ列インデックスの集合を意味する。【０３６１】
また、集合Ａから元ａを取り去って得られる集合をＡ＼ａと表記する。即ち、Ｎ（ｍ）＼ｎは集合Ｎ（ｍ）からｎ列目を除く列インデックスの集合であり、Ｍ（ｎ）＼ｍが集合Ｍ（ｎ）からｍ行目を除く行インデックスの集合を示している。ｚm,n'(i)は、繰り返しｉ回目で更新したＬＬＲであり、εm,n(i)はチェックノードからビットノードへ送る繰り返しｉ回目のＬＬＲである。【０３６２】
さらに、ステップ１において、上記式（２５）の条件に対し、上記式（４）及び上記式（５）を演算する列処理を実行する。ここで、ｚm,n(i)はビットノードからチェックノードへ送る繰り返しｉ回目のＬＬＲである。さらに、ｚn(i)は繰り返しｉ回目の事後値である。【０３６３】
次に、ステップ２として、事後値ｚn(i)を硬判定し、上記式（６）で表される復号系列を生成する。このあと、上記式（７）の条件を満たせば、後述するステップ３の処理に移行し、これら２条件のいずれをも満たさなければ、繰り返し回数ｉを加算してステップ２の処理に戻る。ステップ３では、復号結果として、ステップ２で得た上記式（６）に従う復号系列を出力する。【０３６４】
但し、各記号は、上記式に従うものとする。また、ＧＲ（ｇ）は、ｇ番目のグループを構成する列の組を表すとする。ＧＲ（ｇ）を具体的に示すと、以下のようになる。
グループ１（ＧＲ（１））は２ｋ＋１＝１，３，５，７，・・・，Ｎg−１であり、ｋは０以上Ｎg未満である。
グループ２（ＧＲ（２））は２ｋ＋１＝Ｎg＋１，Ｎg＋３，Ｎg＋５，・・・，２Ｎg−１であり、ｋはＮg以上２Ｎg未満である。
グループ（Ｇ／２）（ＧＲ（Ｇ／２））は２ｋ−１＝Ｇ・Ｎg−２Ｎg−１，・・・，Ｇ・Ｎg−１であり、ｋは（Ｇ／２−１）・Ｎg以上Ｇ・Ｎg未満である。
グループ（Ｇ／２＋１）（ＧＲ（Ｇ／２＋１））は２ｋ＋２＝２，４，６，８，・・・，Ｎgであり、ｋは０以上Ｎg未満である。
グループＧ（ＧＲ（Ｇ））は２ｋ＋２＝Ｇ・Ｎg−２Ｎg＋２，・・・，Ｇ・Ｎgであり、ｋは（Ｇ／２−１）・Ｎg以上Ｇ・Ｎg未満である。【０３６５】
図２２の例では、符号Ａを付したグループ１、符号Ｃを付したグループ３、符号Ｅを付したグループ５がＭＳＢのみのグループに対応し、符号Ｂを付したグループ２、符号Ｄを付したグループ４、符号Ｆを付したグループ６がＬＳＢのみのグループに対応する。【０３６６】
次に動作について説明する。
本実施の形態１３によるＬＤＰＣ符号復号装置の基本的な動作の流れは、上記実施の形態１２における図２３のフローチャートと同様である。よって、図２３に沿って動作を説明する。【０３６７】
先ず、受信ＬＬＲ計算部２は、受信情報を入力（ステップＳＴ１）し、当該受信情報から受信ＬＬＲを算出する（ステップＳＴ２）。次に初期化ステップ（ステップＳＴ３）において、受信ＬＬＲ計算部２は、算出した受信ＬＬＲを初期値ｚm,n(0)（：＝Ｆn）として途中結果保持部４に設定する。このとき、制御部７は、復号の繰り返し回数ｉをｉ＝１と初期化する。【０３６８】
次に、ステップＳＴ４ｂにおいて、繰り返し回数ｉ＝１から最終復号回（最大繰り返し回数Ｉmax）まで、演算列制御部１７により指定された上述した１列ごとのグループに対して、行処理部５及び列処理部６によりＭＳＢのみのグループに続いてＬＳＢのみのグループを処理する繰り返し復号を行うステップ１と、復号結果判定部８による上記式（７）に従うステップ２の判定処理を繰り返し実行する。【０３６９】
繰り返しｉ回目の復号演算を例に説明する。
先ず、ステップ１において、復号したいＬＤＰＣ符号の検査行列Ｈ（＝[Ｈm,n]）について、演算列制御部１７は、図２２で符号Ａを付したＭＳＢのみのグループ１に含まれる全ての列の番号を行処理部５及び列処理部６に受け渡す。これにより、行処理部５は、グループ１に含まれる列に１を持つ行の行処理を行い、処理結果を列処理部６へ受け渡す。列処理部６では、グループ１に含まれる列の列処理を行い、処理結果を途中結果保持部４に保持させる。【０３７０】
次に、演算列制御部１７は、図２２中で符号Ｃを付したＭＳＢのみのグループ３に含まれる全ての列の番号を行処理部５及び列処理部６に受け渡す。これにより、行処理部５は、グループ３に含まれる列に１を持つ行の行処理を行い、処理結果を列処理部６へ受け渡す。列処理部６では、グループ３に含まれる列の列処理を行い、処理結果を途中結果保持部４に保持させる。【０３７１】
続いて、演算列制御部１７は、上記式（２５）におけるｇ＝３以降のＭＳＢのみのグループに含まれる全ての列の番号を行処理部５及び列処理部６に逐次受け渡し、その都度、行処理部５による処理結果が列処理部６に受け渡され、列処理部６の処理結果が途中結果保持部４に保持される。【０３７２】
図２２の例では、符号Ｅを付したＭＳＢのみのグループ５に含まれる全ての列の番号を行処理部５及び列処理部６に受け渡す。これにより、行処理部５は、グループ５に含まれる列に１を持つ行の行処理を行い、処理結果を列処理部６へ受け渡す。列処理部６は、グループ５に含まれる列の列処理を行い、処理結果を途中結果保持部４に保持させる。【０３７３】
このあと、演算列制御部１７は、図２２で符号Ｂを付したＬＳＢのみのグループ２に含まれる全ての列の番号を行処理部５及び列処理部６に受け渡す。これにより、行処理部５は、グループ２に含まれる列に１を持つ行の行処理を行い、処理結果を列処理部６へ受け渡す。列処理部６では、グループ２に含まれる列の列処理を行い、処理結果を途中結果保持部４に保持させる。【０３７４】
次に、演算列制御部１７は、図２２中で符号Ｄを付したＬＳＢのみのグループ４に含まれる全ての列の番号を行処理部５及び列処理部６に受け渡す。これにより、行処理部５は、グループ４に含まれる列に１を持つ行の行処理を行い、処理結果を列処理部６へ受け渡す。列処理部６は、グループ４に含まれる列の列処理を行い、処理結果を途中結果保持部４に保持させる。【０３７５】
続いて、演算列制御部１７は、上記式（２５）におけるｇ＝３以降のＬＳＢのみのグループに含まれる全ての列の番号を行処理部５及び列処理部６に逐次受け渡し、その都度、行処理部５による処理結果が列処理部６に受け渡され、列処理部６の処理結果が途中結果保持部４に保持される。【０３７６】
図２２の例では、グループＧに相当する符号Ｆを付したＬＳＢのみのグループ６に含まれる全ての列の番号を行処理部５及び列処理部６に受け渡す。これにより、行処理部５は、グループ６に含まれる列に１を持つ行の行処理を行い、処理結果を列処理部６へ受け渡す。列処理部６は、グループ６に含まれる列の列処理を行い、処理結果を途中結果保持部４に保持させる。【０３７７】
上述した処理において、行処理部５が上記式（２５）の関係に対して上記式（２）及び上記式（３）を演算することで、ｇ＝１以降の処理では、繰り返しｉ回目にて既に更新されたＬＬＲを持つ列に関しては、受信ＬＬＲではなく更新されたＬＬＲを用いて行処理が実行される。【０３７８】
ステップ２において、復号結果判定部８が、列処理部６により繰り返しｉ回目で算出された事後値ｚn(i)を硬判定して復号結果を決めて、パリティ検査を行う。このとき、制御部７が、パリティ検査の結果がＮＧであるならば、繰り返し回数ｉを１増やして、続いてステップ１の処理を行処理部５及び列処理部６に実行させる。一方、上記式（７）の条件を満たせば、後述するステップ３の処理に移行させる。【０３７９】
このようにして、制御部７は、上記式（７）に示すように、パリティ検査の結果がＯＫとなるか、若しくは繰り返し回数が設定した最大値Ｉmaxとなるまで、ステップ１及びステップ２の処理を繰り返すように行処理部５及び列処理部６を制御する。【０３８０】
復号結果判定部８によるパリティ検査の結果がＯＫとなるか、制御部７により設定された繰り返し回数ｉが最大値Ｉmaxとなれば、ステップ３（ステップＳＴ５）として、制御部７が行処理部５及び列処理部６による復号処理を終了させ、復号結果判定部８が復号結果として上記式（６）のような復号系列を出力する。【０３８１】
以上のように、この実施の形態１３によれば、４ＰＡＭに変調されて送受信された受信信号にＧｒｏｕｐ  Ｓｈｕｆｆｌｅｄ  ＢＰアルゴリズムで復号を行うにあたり、ＭＳＢのみとＬＳＢのみのグループに分割し、ビット誤り率が低いＭＳＢのみのグループを先に演算するので、ビット誤り率の高いＬＳＢでは信頼度の高い確率情報をＭＳＢから受けて復号演算を行うことになり、ＬＳＢの復号演算は従来よりも効率的に行われ少ない繰り返し回数での復号が可能となる。【０３８２】
実施の形態１４．
この実施の形態１４は、受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ若しくは予め定めた複数ビットずつ行うにあたり、符号構成に基づいて復号順序を制御するものである。【０３８３】
本実施の形態１４によるＬＤＰＣ符号復号装置は、図２０に示した上記実施の形態１２によるＬＤＰＣ符号復号装置と基本的に同様な構成を有しているが、演算列制御部１７が符号構成に基づいて復号の順序を制御して行処理部５及び列処理部６に復号処理を実行させる点で異なる。【０３８４】
Ｓｈｕｆｆｌｅｄ  ＢＰアルゴリズムを例として符号構成に基づく順序制御の概要を説明する。Ｓｈｕｆｆｌｅｄ  ＢＰアルゴリズムがＳｕｍ−Ｐｒｏｄｕｃｔアルゴリズムよりも少ない繰り返し回数で復号を終了するのは、復号過程で算出して受け渡している確率情報の伝搬がＳｕｍ−Ｐｒｏｄｕｃｔアルゴリズムよりも効率的に行われているからである。そこで、符号がイレギュラーＬＤＰＣ符号であれば、列重みの大きい順に順序付けしてＳｈｕｆｆｌｅｄ  ＢＰアルゴリズムで復号を行う。【０３８５】
例えば、Ｏ（ｇ）をｇ番目に順序付けされた列番号とすると、Ｏ（１）は最大列重みを持つ列、Ｏ（２）は次に列重みの大きい列、Ｏ（３）はその次に列重みの大きい列、と順序付けて列を選択してゆき、Ｓｈｕｆｆｌｅｄ  ＢＰアルゴリズムによる復号を行う。【０３８６】
順序付けしたＳｈｕｆｆｌｅｄ  ＢＰアルゴリズムは、以下の通りである。
先ず、初期化ステップとして、繰り返し回数ｉをｉ＝１と設定し、最大繰り返し回数をＩmaxと設定し、対数尤度比ＬＬＲ（Log Likelihood Ratio）の初期値ｚm,n(0)をＦn（ｚm,n(0)：＝Ｆn）と設定する。なお、復号したいＬＤＰＣ符号の検査行列Ｈは、２元ｍ×ｎ行列Ｈ＝[Ｈm,n]（ｎは０以上Ｎ未満の整数，ｍは０以上Ｍ未満の整数）であり、Ｈm,nをＨのｍ行ｎ列目要素とする。【０３８７】
次に、ステップ１として、下記式（２６）の条件に対し、上記式（２）及び上記式（３）を演算する行処理を実行する。ここで、Ｎ（ｍ），Ｍ（ｎ）は、集合[１，Ｎ]の部分集合であり、Ｎ（ｍ）：＝｛ｎ：Ｈm,n＝１｝、Ｍ（ｎ）：＝｛ｍ：Ｈm,n＝１｝と定義する。つまり、Ｎ（ｍ）は、検査行列Ｈのｍ行において１を持つ列インデックスの集合を意味し、Ｍ（ｎ）は、ＬＤＰＣ検査行列Ｈのｍ行において１を持つ列インデックスの集合を意味する。
【数１８】
0004777261.tif 000019
【０３８８】
また、集合Ａから元ａを取り去って得られる集合をＡ＼ａと表記する。即ち、Ｎ（ｍ）＼ｎは集合Ｎ（ｍ）からｎ列目を除く列インデックスの集合であり、Ｍ（ｎ）＼ｍが集合Ｍ（ｎ）からｍ行目を除く行インデックスの集合を示している。ｚm,n'(i)は、繰り返しｉ回目で更新したＬＬＲであり、εm,n(i)はチェックノードからビットノードへ送る繰り返しｉ回目のＬＬＲである。【０３８９】
さらに、ステップ１において、上記式（２５）の条件に対し、上記式（４）及び上記式（５）を演算する列処理を実行する。ここで、ｚm,n(i)はビットノードからチェックノードへ送る繰り返しｉ回目のＬＬＲである。さらに、ｚn(i)は繰り返しｉ回目の事後値である。【０３９０】
次に、ステップ２として、事後値ｚn(i)を硬判定し、上記式（６）で表される復号系列を生成する。このあと、上記式（７）の条件を満たせば、後述するステップ３の処理に移行し、これら２条件のいずれをも満たさなければ、繰り返し回数ｉを加算してステップ２の処理に戻る。ステップ３では、復号結果として、ステップ２で得た上記式（６）に従う復号系列を出力する。但し、各記号は、上記式に従うものとする。また、Ｏ（ｇ）はｇ番目に順序付けされた列を表すものとする。【０３９１】
本実施の形態１４によるＬＤＰＣ符号復号装置は、上述したように、演算列制御部１７を有する以外、基本的な構成は図１に示す上記実施の形態１と同様である。つまり、受信情報から受信ＬＬＲを算出する受信ＬＬＲ算出部２と復号コア部３とから構成され、復号コア部３により符号構成に基づいて順序制御したＳｈｕｆｆｌｅｄ  ＢＰアルゴリズムによるＬＤＰＣ符号の復号を実行する。【０３９２】
復号コア部３は、途中結果保持部４、行処理部５、列処理部６、制御部７、復号結果判定部８及び演算列制御部１７から構成される。途中結果保持部４は、上記実施の形態１で説明したように、行処理部５及び列処理部６による復号の途中結果を保持する。行処理部５では、上記式（２６）の条件に対して上記式（２）及び式（３）を用いた行処理を行い、列処理部６は、上記式（２５）の条件に対して上記式（４）及び式（５）を用いた列処理を行う。【０３９３】
制御部７は、最大繰り返し回数の設定などの復号繰り返しの制御を行う。復号結果判定部８では、上述したＳｈｕｆｆｌｅｄ  ＢＰアルゴリズムのステップ１と同様に列処理部６が求めた事後値の硬判定から上記式（６）により復号結果の復号系列を算出し、パリティ検査を行って上記式（７）の条件から復号結果の正誤を判定する。演算列制御部１７では、上述したようにＬＤＰＣ符号化行列を列重みの大きい順に順序制御して行処理部５及び列処理部６に復号演算させる。【０３９４】
次に動作について説明する。
本実施の形態１４によるＬＤＰＣ符号復号装置の基本的な動作の流れは、上記実施の形態１２における図２３のフローチャートと同様である。よって、図２３に沿って動作を説明する。【０３９５】
先ず、受信ＬＬＲ計算部２は、受信情報を入力（ステップＳＴ１）し、当該受信情報から受信ＬＬＲを算出する（ステップＳＴ２）。次に初期化ステップ（ステップＳＴ３）において、受信ＬＬＲ計算部２は、算出した受信ＬＬＲを初期値ｚm,n(0)（：＝Ｆn）として途中結果保持部４に設定する。このとき、制御部７は、復号の繰り返し回数ｉをｉ＝１と初期化する。【０３９６】
次に、ステップＳＴ４ｂにおいて、繰り返し回数ｉ＝１から最終復号回（最大繰り返し回数Ｉmax）まで、演算列制御部１７により指定された列重みが大きい順で列に対して、行処理部５及び列処理部６により繰り返し復号を行うステップ１と、復号結果判定部８による上記式（７）に従うステップ２の判定処理を繰り返し実行する。【０３９７】
繰り返しｉ回目の復号演算を例に説明する。
先ず、ステップ１において、復号したいＬＤＰＣ符号の検査行列Ｈ（＝[Ｈm,n]）について、演算列制御部１７は、列重みの最も大きい第１番目に演算を行う列の番号を行処理部５及び列処理部６に受け渡す。これにより、行処理部５は、演算列制御部１７により指定された第１番目に演算を行う列に１を持つ行の行処理を行い、処理結果を列処理部６へ受け渡す。列処理部６では、第１番目に演算を行う列の列処理を行い、処理結果を途中結果保持部４に保持させる。【０３９８】
次に、演算列制御部１７は、列重みが次に大きい第２番目に演算を行う列の番号を行処理部５及び列処理部６に受け渡す。これにより、行処理部５は、演算列制御部１７により指定された第２番目に演算を行う列で１を持つ行の行処理を行い、処理結果を列処理部６へ受け渡す。列処理部６では、第２番目に演算を行う列の列処理を行い、処理結果を途中結果保持部４に保持させる。【０３９９】
続いて、演算列制御部１７は、上記式（２５）におけるｇ＝３以降も列重みが大きい順に列の番号を行処理部５及び列処理部６に逐次受け渡し、その都度、行処理部５による処理結果が列処理部６に受け渡され、列処理部６の処理結果が途中結果保持部４に保持される。【０４００】
最後に、演算列制御部１７は、第ｇ番目に演算を行う列の番号を行処理部５及び列処理部６に受け渡す。これにより、行処理部５は、第ｇ番目に演算を行う列に１を持つ行の行処理を行い、処理結果を列処理部６へ受け渡す。一方、列処理部６は、第ｇ番目に演算を行う列の列処理を行い、処理結果を途中結果保持部４に保持させる。【０４０１】
上述した処理において、行処理部５が上記式（２６）の関係に対して上記式（２）及び上記式（３）を演算することで、ｇ＝１以降の処理では、繰り返しｉ回目にて既に更新されたＬＬＲを持つ列に関しては、受信ＬＬＲではなく更新されたＬＬＲを用いて行処理が実行される。【０４０２】
ステップ２では、復号結果判定部８が、列処理部６により繰り返しｉ回目で算出された事後値ｚn(i)を硬判定して復号結果を決めて、パリティ検査を行う。このとき、制御部７が、パリティ検査の結果がＮＧであるならば、繰り返し回数ｉを１増やして、続いてステップ１の処理を行処理部５及び列処理部６に実行させる。一方、上記式（７）の条件を満たせば、後述するステップ３の処理に移行させる。【０４０３】
このようにして、制御部７は、上記式（７）に示すように、パリティ検査の結果がＯＫとなるか、若しくは繰り返し回数が設定した最大値Ｉmaxとなるまで、ステップ１及びステップ２の処理を繰り返すように行処理部５及び列処理部６を制御する。【０４０４】
復号結果判定部８によるパリティ検査の結果がＯＫとなるか、制御部７により設定された繰り返し回数ｉが最大値Ｉmaxとなれば、ステップ３（ステップＳＴ５）として、制御部７が行処理部５及び列処理部６による復号処理を終了させ、復号結果判定部８が復号結果として上記式（６）のような復号系列を出力する。【０４０５】
以上のように、この実施の形態１４によれば、受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ若しくは予め定めた複数ビットずつ行うにあたり、符号構成に基づいて復号順序を制御するので、先に演算した確率情報が早く伝搬されることになり繰り返し回数を削減することができる。また、符号構成に基づいて順序制御しているため、符号情報を受信するたびに順序付けする必要はない。【０４０６】
なお、上記実施の形態１４では、Ｓｈｕｆｆｌｅｄ  ＢＰアルゴリズムの順序制御を行う例を示したが、他の受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ若しくは予め定めた複数ビットずつ行う復号アルゴリズムであれば、他のアルゴリズムであっても同様である。【０４０７】
実施の形態１５．
この実施の形態１５は、受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ若しくは予め定めた複数ビットずつ行うにあたり、受信信号の変調方式に基づいて復号順序を制御するものである。【０４０８】
本実施の形態１５によるＬＤＰＣ符号復号装置は、図２０に示した上記実施の形態１２によるＬＤＰＣ符号復号装置と基本的に同様な構成を有しているが、演算列制御部１７が受信信号の変調方式に基づいて復号順序を制御して行処理部５及び列処理部６に復号処理を実行させる点で異なる。【０４０９】
Ｓｈｕｆｆｌｅｄ  ＢＰアルゴリズムを例として変調方式に基づく順序制御の概要を説明する。先ず、変調方式が多値変調である場合、ビットごとの誤り率が異なる。例えば、上述した図１７に示す変調方式４ＰＡＭ  Ｇｒａｙ  Ｍａｐｐｉｎｇでは、符号の先頭ビットから順に変調信号点を割り当てると、ビットごとの誤り率でＭＳＢは誤り率が低く、ＬＳＢは誤り率が高くなる。【０４１０】
このような受信信号を復号する場合、ＭＳＢの復号過程で算出される確率情報は、信頼度が高い特徴がある。そこで、Ｓｈｕｆｆｌｅｄ  ＢＰアルゴリズムで復号を行う場合、ＭＳＢのビットから順に復号を行うことで、ＬＳＢには常に信頼度の高い確率情報が伝搬されることになる。【０４１１】
例えば、Ｏ（ｇ）をｇ番目に順序付けされた列番号とすると、先にＭＳＢに対応する全ての列を選択し、続いてＬＳＢに対応する列を選択する、Ｏ（１）＝１、Ｏ（２）＝３、Ｏ（３）＝５、Ｏ（４）＝７，・・・，２ｎ＋１，・・・，Ｎ−１，２，４，６，・・・，２ｎ，・・・，Ｎという順で列を選択してゆき、Ｓｈｕｆｆｌｅｄ  ＢＰアルゴリズムによる復号を行う。【０４１２】
本実施の形態１５によるＬＤＰＣ符号復号装置は、上述したように、演算列制御部１７を有する以外、基本的な構成は図１に示す上記実施の形態１と同様である。つまり、受信情報から受信ＬＬＲを算出する受信ＬＬＲ算出部２と復号コア部３とから構成され、復号コア部３により受信信号の変調方式に基づいて順序制御したＳｈｕｆｆｌｅｄ  ＢＰアルゴリズムによるＬＤＰＣ符号の復号を実行する。【０４１３】
復号コア部３は、途中結果保持部４、行処理部５、列処理部６、制御部７、復号結果判定部８及び演算列制御部１７から構成される。途中結果保持部４は、上記実施の形態１で説明したように、行処理部５及び列処理部６による復号の途中結果を保持する。行処理部５では、上記式（２６）の条件に対して上記式（２）及び式（３）を用いた行処理を行い、列処理部６は、上記式（２５）の条件に対して上記式（４）及び式（５）を用いた列処理を行う。【０４１４】
制御部７は、最大繰り返し回数の設定などの復号繰り返しの制御を行う。復号結果判定部８では、上述したＳｈｕｆｆｌｅｄ  ＢＰアルゴリズムのステップ１と同様に列処理部６が求めた事後値の硬判定から上記式（６）により復号結果の復号系列を算出し、パリティ検査を行って上記式（７）の条件から復号結果の正誤を判定する。演算列制御部１７では、上述したようにＬＤＰＣ符号化行列を受信信号の変調方式に基づいてビット誤りの低いビットに対応する全ての列を選択し続いてビット誤りの高いビットに対応する列を選択するように順序制御して行処理部５及び列処理部６に復号演算させる。【０４１５】
次に動作について説明する。
本実施の形態１５によるＬＤＰＣ符号復号装置の基本的な動作の流れは、上記実施の形態１２における図２３のフローチャートと同様である。よって、図２３に沿って動作を説明する。【０４１６】
先ず、受信ＬＬＲ計算部２は、受信情報を入力（ステップＳＴ１）し、当該受信情報から受信ＬＬＲを算出する（ステップＳＴ２）。次に初期化ステップ（ステップＳＴ３）において、受信ＬＬＲ計算部２は、算出した受信ＬＬＲを初期値ｚm,n(0)（：＝Ｆn）として途中結果保持部４に設定する。このとき、制御部７は、復号の繰り返し回数ｉをｉ＝１と初期化する。【０４１７】
次に、ステップＳＴ４ｂにおいて、繰り返し回数ｉ＝１から最終復号回（最大繰り返し回数Ｉmax）まで、演算列制御部１７により受信信号の変調方式に基づいて選択された列に対して、行処理部５及び列処理部６により繰り返し復号を行うステップ１と、復号結果判定部８による上記式（７）に従うステップ２の判定処理を繰り返し実行する。【０４１８】
繰り返しｉ回目の復号演算を例に説明する。
先ず、ステップ１において、復号したいＬＤＰＣ符号の検査行列Ｈ（＝[Ｈm,n]）について、演算列制御部１７は、変調方式に基づいて特定した受信信号のＭＳＢに対応する先頭の列を、第１番目に演算を行う列としてその列の番号を行処理部５及び列処理部６に受け渡す。これにより、行処理部５は、演算列制御部１７により指定された第１番目に演算を行う列に１を持つ行の行処理を行い、処理結果を列処理部６へ受け渡す。列処理部６では、第１番目に演算を行う列の列処理を行い、処理結果を途中結果保持部４に保持させる。【０４１９】
次に、演算列制御部１７は、変調方式に基づいて特定した受信信号の次のＭＳＢに対応する列を第２番目に演算を行う列としてその列の番号を行処理部５及び列処理部６に受け渡す。これにより、行処理部５は、演算列制御部１７により指定された第２番目に演算を行う列で１を持つ行の行処理を行い、処理結果を列処理部６へ受け渡す。列処理部６では、第２番目に演算を行う列の列処理を行い、処理結果を途中結果保持部４に保持させる。【０４２０】
続いて、演算列制御部１７は、上記式（２５）におけるｇ＝３以降も、ＭＳＢに対応する列の番号を行処理部５及び列処理部６に逐次受け渡し、その都度、行処理部５による処理結果が列処理部６に受け渡され、列処理部６の処理結果が途中結果保持部４に保持される。【０４２１】
ＭＳＢに対応する列の演算が完了すると、演算列制御部１７は、変調方式に基づいて特定した受信信号のＬＳＢに対応する先頭の列を、ＭＳＢに対応する列の次に第１番目に演算を行う列としてその列の番号を行処理部５及び列処理部６に受け渡す。これにより、行処理部５は、第１番目に演算を行うＬＳＢに対応する列に１を持つ行の行処理を行い、処理結果を列処理部６へ受け渡す。列処理部６では、当該列の列処理を行い、処理結果を途中結果保持部４に保持させる。【０４２２】
次に、演算列制御部１７は、変調方式に基づいて特定した受信信号のＬＳＢに対応する次の列を第２番目に演算を行う列としてその列の番号を行処理部５及び列処理部６に受け渡す。これにより、行処理部５は、第２番目に演算を行うＬＳＢに対応する列に１を持つ行の行処理を行い、処理結果を列処理部６へ受け渡す。列処理部６は、当該列の列処理を行い、処理結果を途中結果保持部４に保持させる。【０４２３】
続いて、演算列制御部１７は、上記式（２６）におけるｇ＝３以降においても、ＬＳＢに対応する列の番号を行処理部５及び列処理部６に逐次受け渡し、その都度、行処理部５による処理結果が列処理部６に受け渡され、列処理部６の処理結果が途中結果保持部４に保持される。【０４２４】
上述した処理において、行処理部５が上記式（２６）の関係に対して上記式（２）及び上記式（３）を演算することで、ｇ＝１以降の処理では、繰り返しｉ回目にて既に更新されたＬＬＲを持つ列に関しては、受信ＬＬＲではなく更新されたＬＬＲを用いて行処理が実行される。【０４２５】
ステップ２では、復号結果判定部８が、列処理部６により繰り返しｉ回目で算出された事後値ｚn(i)を硬判定して復号結果を決めて、パリティ検査を行う。このとき、制御部７が、パリティ検査の結果がＮＧであるならば、繰り返し回数ｉを１増やして、続いてステップ１の処理を行処理部５及び列処理部６に実行させる。一方、上記式（７）の条件を満たせば、後述するステップ３の処理に移行させる。【０４２６】
このようにして、制御部７は、上記式（７）に示すように、パリティ検査の結果がＯＫとなるか、若しくは繰り返し回数が設定した最大値Ｉmaxとなるまで、ステップ１及びステップ２の処理を繰り返すように行処理部５及び列処理部６を制御する。【０４２７】
復号結果判定部８によるパリティ検査の結果がＯＫとなるか、制御部７により設定された繰り返し回数ｉが最大値Ｉmaxとなれば、ステップ３（ステップＳＴ５）として、制御部７が行処理部５及び列処理部６による復号処理を終了させ、復号結果判定部８が復号結果として上記式（６）のような復号系列を出力する。【０４２８】
以上のように、この実施の形態１５によれば、受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ若しくは予め定めた複数ビットずつ行うにあたり、受信信号の変調方式に基づいて復号順序を制御するので、例えば４ＰＡＭに変調されて送受信された受信信号をＳｈｕｆｆｌｅｄ  ＢＰアルゴリズムで復号する場合、ＭＳＢから順序付けして先にＭＳＢの演算を行うことで、ＬＳＢへは信頼度の高い確率情報が伝搬され、ＬＳＢの復号が早く進み、繰り返し回数を削減することができる。【０４２９】
なお、上記実施の形態１５では、Ｓｈｕｆｆｌｅｄ  ＢＰアルゴリズムの順序制御を行う例を示したが、他の受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ若しくは予め定めた複数ビットずつ行う復号アルゴリズムであれば、他のアルゴリズムであっても同様である。【０４３０】
また、上記実施の形態１５では、変調方式として４ＰＡＭを例として挙げたが、ビット誤り率に違いの生じる他の多値変調方式でも同様に誤り率の低く信頼度の高いビットから順序付けを行うことができる。【０４３１】
実施の形態１６．
図２５は、この発明の実施の形態１６による通信装置の構成を示すブロック図である。図に示すように、本実施の形態１６による通信装置１８は、受信復号装置（受信復号部）１９と符号化送信装置（符号化送信部）２０とから構成される。受信復号装置１９は、図１に示した基本構成の他、符号化送信装置２０により送信されたＬＤＰＣ符号化信号を受信して復調する復調部２１を備えている。【０４３２】
符号化送信装置２０は、符号化部２２及び変調部２３から構成される。符号化部２２では、送信すべき情報を入力してＬＤＰＣ符号の符号化を行う。変調部２３は、符号化部２２からの符号化データを入力して変調し、変調信号として受信復号装置１９へ送信する。【０４３３】
実施の形態１６による通信装置１８では、受信復号装置１９と符号化送信装置２０との間で、ＬＤＰＣ符号の符号構成に適応して検査ビットに変調信号点を割り当てて符号化信号の送受信を行い、符号構成に基づく順序制御に従ってＳｈｕｆｆｌｅｄ  ＢＰアルゴリズムのような受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ若しくは予め定めた複数ビットずつ行う復号を実行する。【０４３４】
図２６は、実施の形態１６による通信装置で使用するＬＤＰＣ符号の構成を示す図である。図２６に示すように、８行１６列の検査行列であって右上三角の要素が０の構造を有し、また検査ビットが対角に同値となる対称構造を含んでいる。図２７は、実施の形態１６による通信装置でＬＤＰＣ符号を４ＰＡＭに変調して送受信する場合におけるビットの割り当ての例を示す図である。図２７では、Ｍ行Ｎ列の行列要素である検査ビットに対する割り当てとして、１列目から（ｎ1−１）列目までにＬＳＢ以外を割り当て、ｎ1列目からＮ列目までにＭＳＢ以外を割り当てる。これらの図を用いて実施の形態１６の概要を説明する。【０４３５】
上述したように、Ｓｈｕｆｆｌｅｄ  ＢＰアルゴリズムがＳｕｍ−Ｐｒｏｄｕｃｔアルゴリズムよりも少ない繰り返し回数で復号を終了するのは、復号過程で算出して受け渡している確率情報の伝搬がＳｕｍ−Ｐｒｏｄｕｃｔアルゴリズムよりも効率的に行われているからである。【０４３６】
そこで、図２６に示すような右上三角０の符号化行列で検査ビット部分が対角状のＬＤＰＣ符号が４ＰＡＭに変調されて送受信される場合には、図２７に示すように検査ビットに誤り率の高いＬＳＢを割り当てて送受信する。復号側ではＳｈｕｆｆｌｅｄ  ＢＰアルゴリズムで復号を行い、このとき検査ビットであるＬＳＢの復号を先に行う。【０４３７】
また、図２７に示すように変調信号点が割り当てられている場合、検査ビットであるＬＳＢの先頭から順に復号を行う。ＬＤＰＣ符号の復号における行処理は、上記実施の形態１５に示す行処理のように、対象列以外の列の情報を用いて行う。このため、ＬＳＢの先頭であるｎ1列目を演算する際にはＭＳＢの持つ信頼性の高い情報のみを用いて演算することができる。【０４３８】
さらに、（ｎ1＋１）列目の演算には、ＭＳＢの持つ情報と既に１回演算したｎ1列目の情報のみを用いて演算することができるため、常に信頼性の高い情報のみを用いて演算することになる。【０４３９】
例えば、Ｏ（ｇ）をｇ番目に順序付けされた列番号とすると、図２７の例では、Ｏ（１）はｎ1列目（ＬＳＢ）、Ｏ（２）は（ｎ1＋１）列目（ＬＳＢ）、Ｏ（Ｎ−ｎ1）はＮ列目（ＬＳＢ）、というように順位付けして列を選択し、Ｓｈｕｆｆｌｅｄ  ＢＰアルゴリズムによる復号を行う。ここで、Ｏ（Ｎ−ｎ1＋１）以降は、ＬＳＢ以外の１列目から（ｎ1−１）列目の演算を行うことになる。【０４４０】
次に、図２５を用いて、符号構成に適応した変調信号点を割り当てて送受信を行い、上述した処理式を備えて上記順序制御を行ったＬＤＰＣ符号を送受信する、実施の形態１６による通信装置１８の具体例について述べる。図２５に示すように、実施の形態１６による通信装置１８は、符号化送信装置２０と受信復号装置２１とから構成されている。ここで、符号化送信装置２０は、ＬＤＰＣ符号の符号化を行う符号化部２２と符号構成に適応した変調信号点の割り当てを行う変調部２３とから構成される。【０４４１】
実施の形態１６による通信装置１８の受信復号装置１９は、変調された信号の復調を行う復調部２１、受信情報から受信ＬＬＲを算出する受信ＬＬＲ算出部２及び復号コア部３で構成され、復号コア部３では符号構成に基づいて順序制御したＳｈｕｆｆｌｅｄ  ＢＰアルゴリズムによるＬＤＰＣ符号の復号を行う。【０４４２】
復号コア部３は、途中結果保持部４、行処理部５、列処理部６、制御部７及び復号結果判定部８から構成される。途中結果保持部４は、上記実施の形態１で説明したように、行処理部５及び列処理部６による復号の途中結果を保持する。行処理部５では、上記式（２６）の条件に対して上記式（２）及び式（３）を用いた行処理を行い、列処理部６は、上記式（２５）の条件に対して上記式（４）及び式（５）を用いた列処理を行う。【０４４３】
制御部７は、最大繰り返し回数の設定などの復号繰り返しの制御を行う。復号結果判定部８では、上述したＳｈｕｆｆｌｅｄ  ＢＰアルゴリズムのステップ１と同様に列処理部６が求めた事後値の硬判定から上記式（６）により復号結果の復号系列を算出し、パリティ検査を行って上記式（７）の条件から復号結果の正誤を判定する。【０４４４】
次に動作について説明する。
図２８は、実施の形態１６による通信装置の動作を示すフローチャートであり、この図に沿って説明する。
先ず、符号化送信装置２０の符号化部２２は、送信すべき情報を入力すると（ステップＳＴ１Ａ）、ＬＤＰＣ符号の検査行列Ｈを基に求めた生成行列と入力した情報とを用いてＬＤＰＣ符号化を実行し、符号化データを生成する（ステップＳＴ２Ａ）。変調部２３は、符号化部２２から符号化データを入力すると、図２７に示すＬＤＰＣ符号のビット割り当てに従って、入力した符号化データを４ＰＡＭ変調して受信復号装置１９に送信する（ステップＳＴ３Ａ）。【０４４５】
受信復号装置１９の復調部２１は、符号化送信装置２０からの受信信号を復調して（ステップＳＴ１−１）、復調結果の受信情報を受信ＬＬＲ計算部２に出力する。受信ＬＬＲ計算部２では、受信情報を入力すると（ステップＳＴ１）、当該受信情報から受信ＬＬＲを算出する（ステップＳＴ２）。次に初期化ステップ（ステップＳＴ３）において、受信ＬＬＲ計算部２は、算出した受信ＬＬＲを初期値ｚm,n(0)（：＝Ｆn）として途中結果保持部４に設定する。このとき、制御部７は、復号の繰り返し回数ｉをｉ＝１と初期化する。【０４４６】
次に、ステップＳＴ４ｃにおいて、繰り返し回数ｉ＝１からｉ＝最終復号回（最大繰り返し回数Ｉmax）まで行処理部５及び列処理部６による繰り返し復号処理であるステップ１と、復号結果判定部８による上記式（７）に従うステップ２の判定処理を繰り返し実行する。【０４４７】
繰り返しｉ回目の復号演算を例に説明する。
先ず、復号したいＬＤＰＣ符号の検査行列Ｈ（＝[Ｈm,n]）に対して、上記式（２６）においてｇ＝１のとき、行処理部５は、１行目と２行目の行処理を行い、処理結果を列処理部６へ受け渡す。列処理部６では、ｎ1列目の列処理を行い、処理結果を途中結果保持部４に保持させる。【０４４８】
次に、上記式（２６）においてｇ＝２のとき、行処理部５は、２行目と３行目の行処理を行い、処理結果を列処理部６へ受け渡す。列処理部６では、（ｎ1＋１）列目の列処理を行い、処理結果を途中結果保持部４に保持させる。【０４４９】
続いて、上記式（２６）においてｇ＝３以降の処理として、行処理部５は、４行目以降の処理を上記と同様に逐次実行し、その都度、処理結果を列処理部６に受け渡す。また、列処理部６は、（ｎ1＋２）列目以降の列処理を逐次実行し、その都度、処理結果を途中結果保持部４に保持させる。【０４５０】
このあと、上記式（２６）においてｇ＝Ｎ−ｎ1−１になると、行処理部５は、（Ｍ−１）行目とＭ行目の行処理を行い、処理結果を列処理部６へ受け渡す。列処理部６では、（Ｎ−１）列目の列処理を行って処理結果を途中結果保持部４に保持させる。【０４５１】
次に、上記式（２６）においてｇ＝（Ｎ−ｎ1）のとき、行処理部５は、Ｍ行目の行処理を行い、処理結果を列処理部６へ受け渡す。列処理部６では、Ｎ列目の列処理を行い、処理結果を途中結果保持部４に保持させる。【０４５２】
これに続く上記式（２６）のｇ＝（Ｎ−ｎ1＋１）〜Ｎの処理では、列処理部６がＬＳＢ以外の列の演算を行う。例えば、ＬＳＢ以外が割り当てられた１列目が演算対象であれば、行処理部５にて１列目に１を持つ行の行処理を行い、その処理結果を列処理部６へ受け渡す。列処理部では、同様に１列目の列処理を行って処理結果を途中結果保持部４に保持させる。【０４５３】
上述した処理において、行処理部５が上記式（２）に従うことで、ｇ＝１以降の処理では、繰り返しｉ回目にて既に更新されたＬＬＲを持つ列に関しては、受信ＬＬＲではなく更新されたＬＬＲを用いて行処理が実行される。【０４５４】
ステップ２では、復号結果判定部８が、列処理部６により繰り返しｉ回目で算出された事後値ｚn(i)を硬判定して復号結果を決めて、パリティ検査を行う。このとき、制御部７が、パリティ検査の結果がＮＧであるならば、繰り返し回数ｉを１増やし、続いてステップ１の処理を行処理部５及び列処理部６に実行させる。一方、上記式（７）の条件を満たせば、後述するステップ３の処理に移行させる。【０４５５】
このようにして、制御部７は、上記式（７）に示すように、パリティ検査の結果がＯＫとなるか、若しくは繰り返し回数が設定した最大値Ｉmaxとなるまでステップ１及びステップ２の処理を繰り返すように行処理部５及び列処理部６を制御する。【０４５６】
復号結果判定部８によるパリティ検査の結果がＯＫとなるか、制御部７により設定された繰り返し回数ｉが最大値Ｉmaxとなれば、ステップ３（ステップＳＴ５）として、制御部７が行処理部５及び列処理部６による復号処理を終了させ、復号結果判定部８が復号結果として上記式（６）のような復号系列を出力する。【０４５７】
以上のように、この実施の形態１６によれば、検査行列の右上三角が０の構造を持ち、検査ビットが対角状のＬＤＰＣ符号で多値変調して符号化データを送受信するにあたり、当該符号構成に適応して変調信号点を割り当てて送受信し、その受信信号をＳｈｕｆｆｌｅｄ  ＢＰアルゴリズムで復号を行う際、ＬＳＢから順序付けして先にＬＳＢの演算を行うので、ＬＳＢへは信頼度の高い確率情報が伝搬され、ＬＳＢの復号が早く進み、繰り返し回数を削減することができる。【０４５８】
なお、上記実施の形態１６では、Ｓｈｕｆｆｌｅｄ  ＢＰアルゴリズムの順序制御を行う例を示すが、他の受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ、若しくは予め定めた複数ビットずつ行う復号アルゴリズムでも同様である。また、多値変調方式として４ＰＡＭを例とするが、ビットごとに誤り率に偏りが現れる他の多値変調方式でも同様である。【０４５９】
また、上記実施の形態１６では、変調方式として４ＰＡＭを例として挙げたが、他にビット誤り率に違いの生じる多値変調方式でも同様にして、誤り率の高いビットを検査ビットに割り当てた場合には、誤り率の高いＬＳＢから順に復号を行うようにしてもよい。【０４６０】
実施の形態１７．
この実施の形態１７は、Ｓｈｕｆｆｌｅｄ  ＢＰアルゴリズムのように受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ若しくは予め定めた複数ビットずつ行うアルゴリズムで復号を行うにあたり、これらの演算を並列化して実行するものである。【０４６１】
図２９は、この発明の実施の形態１７によるＬＤＰＣ符号復号装置の構成を示すブロック図である。実施の形態１７によるＬＤＰＣ符号復号装置１は、上記実施の形態で示した構成と同様に受信ＬＬＲ算出部２と復号コア部３で構成される。但し、実施の形態１７による復号コア部３は、復号途中結果保持部４、制御部７及び復号結果判定部８の他、行重みの大きさに応じて並列に行処理を実行する行処理部５−１〜５−ｗ及びこれらの処理結果に応じて列処理を実行する列処理部６を有する。【０４６２】
つまり、通常、Ｓｈｕｆｆｌｅｄ  ＢＰアルゴリズムでは、選択した１列において１を持つ行の行処理を行い、その列の列処理を行う。これに対して、実施の形態１７によるＬＤＰＣ符号復号装置１では、Ｓｈｕｆｆｌｅｄ  ＢＰアルゴリズムで復号を行うにあたり、行処理及び列処理の演算を並列に実行する。【０４６３】
次に動作について説明する。
先ず、受信ＬＬＲ計算部２は、受信情報を入力すると、当該受信情報から受信ＬＬＲを算出する。次に初期化ステップにおいて、受信ＬＬＲ計算部２は、算出した受信ＬＬＲを初期値ｚm,n(0)（：＝Ｆn）として途中結果保持部４に設定する。このとき、制御部７は、復号の繰り返し回数ｉをｉ＝１と初期化する。【０４６４】
続いて、繰り返し回数ｉ＝１からｉ＝最終復号回（最大繰り返し回数Ｉmax）まで、上記式（１）の条件に対し、上記式（２）、（３）に従う行処理部５−１〜５−ｗによる行処理及び上記式（４）、（５）に従う列処理部６による列処理からなる繰り返し復号処理であるステップ１と、復号結果判定部８による上記式（７）に従うステップ２の判定処理を繰り返し実行する。【０４６５】
繰り返しｉ回目の復号演算を例に説明する。
図３０は、図２９中の行処理部及び列処理部による復号演算を説明するためのブロック図である。この図を用いて復号演算の流れを説明する。
先ず、復号したいＬＤＰＣ符号の検査行列Ｈ（＝[Ｈm,n]）に対して、上記式（１）においてｇ＝１のとき、行処理部５−１〜５−ｗは、１列目の列に１を持つｗ行分の行に対する行処理を並列に実行し、処理結果を列処理部６へ受け渡す。【０４６６】
次に、ｇ＝２のとき、列処理部６は、１列目の列処理を行い、処理結果を途中結果保持部４に保持させる。一方、行処理部５−１〜５−ｗは、２列目の列に１を持つｗ行分の行に対する行処理を並列に実行し、処理結果を列処理部６に受け渡す。【０４６７】
続いて、ｇ＝３のとき、列処理部６は、２列目の列処理を行い、処理結果を途中結果保持部４に保持させる。行処理部５−１〜５−ｗでは、３列目の列に１を持つｗ行分の行に対する行処理を並列に実行し、処理結果を列処理部６に受け渡す。【０４６８】
同様に、ｇ＝４以降において、行処理部５−１〜５−ｗによって４列目以降の列に１を持つｗ行分の行に対する行処理を並列に逐次実行し、各処理結果が列処理部６に受け渡される。一方、列処理部６では３列目以降の列処理を逐次実行して、各処理結果を途中結果保持部４に保持する。このように復号演算を並列化することで、処理時間を削減することができる。【０４６９】
ステップ２では、復号結果判定部８が、列処理部６により繰り返しｉ回目で算出された事後値ｚn(i)を硬判定して復号結果を決めて、パリティ検査を行う。このとき、制御部７が、パリティ検査の結果がＮＧであるならば、繰り返し回数ｉを１増やし、続いてステップ１の処理を行処理部５及び列処理部６に実行させる。一方、上記式（７）の条件を満たせば、後述するステップ３の処理に移行させる。【０４７０】
このようにして、制御部７は、上記式（７）に示すように、パリティ検査の結果がＯＫとなるか、若しくは繰り返し回数が設定した最大値Ｉmaxとなるまで、上記式（８）に基づく、ステップ１及びステップ２の処理を繰り返すように行処理部５及び列処理部６を制御する。【０４７１】
復号結果判定部８によるパリティ検査の結果がＯＫとなるか、制御部７により設定された繰り返し回数ｉが最大値Ｉmaxとなれば、ステップ３として、制御部７が行処理部５及び列処理部６による復号処理を終了させ、復号結果判定部８が復号結果として上記式（６）のような復号系列を出力する。【０４７２】
なお、上述したように行処理と列処理を並列化した場合、次の行処理には１列前の行処理の結果が反映できず、Ｓｈｕｆｆｌｅｄ  ＢＰアルゴリズムの特徴である効率的な確率伝搬を遅らせるように見える。しかしながら、一般的にＬＤＰＣ符号の行列で１を持つ要素は非常に疎であり、隣の列に１を持つことはほとんどない。このため、通常のＬＤＰＣ符号の検査行列であれば、確率伝搬に大きく影響することはない。【０４７３】
図３１は、図２９中の行処理部及び列処理部による他の復号演算を説明するためのブロック図である。上述したように、一般的なＳｈｕｆｆｌｅｄ  ＢＰアルゴリズムであれば、隣の列に１を持つことはほとんどないため、確率伝搬に大きく影響することはないが、上記実施の形態１２で示した図２１のＬＤＰＣ符号の行列のように検査ビット部分の１が隣り合っている場合、図３１に示すように並列化した行処理のみを行えば良い。【０４７４】
繰り返しｉ回目の復号演算を例に挙げて具体的に説明する。
先ず、復号したいＬＤＰＣ符号の検査行列Ｈ（＝[Ｈm,n]）に対して、上記式（１）においてｇ＝１のとき、行処理部５−１〜５−ｗは、１列目の列に１を持つｗ行分の行に対する行処理を並列に実行し、処理結果を列処理部６へ受け渡す。列処理部６では、１列目の列処理を行い、処理結果を途中結果保持部４に保持させる。【０４７５】
次に、ｇ＝２のとき、行処理部５−１〜５−ｗは、２列目の列に１を持つｗ行分の行に対する行処理を並列に実行し、処理結果を列処理部６に受け渡す。列処理部６では、２列目の列処理を行い、処理結果を途中結果保持部４に保持させる。【０４７６】
続いて、ｇ＝３のとき、行処理部５−１〜５−ｗでは、３列目の列に１を持つｗ行分の行に対する行処理を並列に実行し、処理結果を列処理部６に受け渡す。列処理部６は、３列目の列処理を行い、処理結果を途中結果保持部４に保持させる。【０４７７】
同様に、ｇ＝４以降において、行処理部５−１〜５−ｗによって４列目以降の列に１を持つｗ行分の行に対する行処理を並列に逐次実行し、各処理結果が列処理部６に受け渡される。一方、列処理部６では４列目以降の列処理を逐次実行して、各処理結果を途中結果保持部４に保持する。【０４７８】
以上のように、この実施の形態１７によれば、Ｓｈｕｆｆｌｅｄ  ＢＰアルゴリズムにおける復号演算を並列に実行する行処理部５−１〜５−ｗ及び列処理部６を設けたので、復号演算に係る処理時間を短縮することができ、復号処理による遅延時間を削減することが可能となる。【０４７９】
なお、上記実施の形態１７では、Ｓｈｕｆｆｌｅｄ  ＢＰアルゴリズムの行処理及び列処理の演算を並列化した例を示したが、受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ若しくは予め定めた複数ビットずつ行う、他の復号アルゴリズムでも同様に適用することができる。【０４８０】
実施の形態１８．
この実施の形態１８は、Ｓｈｕｆｆｌｅｄ  ＢＰアルゴリズムのように、受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ若しくは予め定めた複数ビットずつ行う復号アルゴリズムで、巡回構造を持つＬＤＰＣ符号を復号するにあたり符号構造に基づいて復号演算を並列に実行する。【０４８１】
本実施の形態１８によるＬＤＰＣ符号復号装置は、図２９に示した上記実施の形態１７によるＬＤＰＣ符号復号装置と基本的に同様な構成を有しているが、巡回構造を持つＬＤＰＣ符号の符号構造に基づいて復号演算を並列に実行するために各行処理部の処理内容が異なる。以降では、Ｓｈｕｆｆｌｅｄ  ＢＰアルゴリズムにおいて、擬似巡回符号の符号構成の特徴を利用して復号演算を並列に処理する構成を例に挙げて具体的に説明する。【０４８２】
擬似巡回符号は、図３２に模式図で示すように、単位行列である基本行列Ｉ（０）と基本行列を巡回置換した行列Ｉ（１），Ｉ（２），Ｉ（３），・・・，Ｉ（ｋ）の組み合わせで構成される。構成された擬似巡回符号をＨ＝[Ｈm,n]とする。ここで、ｎは０以上Ｎ未満の整数、ｍは０以上Ｍ未満の整数であり、Ｈm,nはＨのｍ行ｎ列目要素とする。集合[１，Ｎ]の部分集合Ｎ（ｍ）をＮ（ｍ）＝｛ｎ：Ｈm,n＝１｝、Ｍ（ｎ）をＭ（ｎ）＝｛ｍ：Ｈm,n＝１｝と定義する。【０４８３】
つまり、Ｎ（ｍ）は検査行列Ｈのｍ行において１が立っている列インデックスの集合を意味し、Ｍ（ｎ）は検査行列Ｈのｎ行において１が立っている行インデックスの集合を指す。また、単位行列の大きさを（ｐ×ｐ）とする。図３２の例では、Ｎ＝４ｐ，Ｍ＝３ｐとなっており、擬似巡回符号には以下の特徴がある。
（特徴１）
Ｍ（ｎ）＝｛ｍ：Ｈm,n＝１｝（ｎは１以上ｐ以下）において、互いに同じ行に１を持たない。
Ｍ（ｎ）＝｛ｍ：Ｈm,n＝１｝（ｎはｐ以上２ｐ以下）において、互いに同じ行に１を持たない。
Ｍ（ｎ）＝｛ｍ：Ｈm,n＝１｝（ｎは２ｐ以上３ｐ以下）において、互いに同じ行に１を持たない。
（特徴２）
Ｎ（ｍ）＝｛ｎ：Ｈm,n＝１｝（ｍは１以上ｐ以下）において、互いに同じ列に１を持たない。
Ｎ（ｍ）＝｛ｎ：Ｈm,n＝１｝（ｍはｐ以上２ｐ以下）において、互いに同じ列に１を持たない。
Ｎ（ｍ）＝｛ｎ：Ｈm,n＝１｝（ｍは２ｐ以上３ｐ以下）において、互いに同じ列に１を持たない。【０４８４】
このような擬似巡回符号では、Ｓｈｕｆｆｌｅｄ  ＢＰアルゴリズムで復号を行う際、特徴１からｎが１以上ｐ以下のときでは列処理を並列して行うことができ、特徴２からｍが１以上ｐ以下のとき行処理を並列して行う際に同じ列を呼び出すことがなく、ハードウェアで構成する場合には同じメモリにアクセスすることがないという利点がある。【０４８５】
本実施の形態１８によるＬＤＰＣ符号復号装置は、上述したように、受信情報から受信ＬＬＲを算出する受信ＬＬＲ算出部２と復号コア部３とから構成され、復号コア部３により擬似巡回符号の符号構成の特徴を利用して復号演算が並列に処理される。復号コア部３は、途中結果保持部４、行処理部５−１〜５−ｐ、列処理部６、制御部７及び復号結果判定部８から構成される。【０４８６】
途中結果保持部４は、上記実施の形態１７で説明したように、行処理部５−１〜５−ｐ及び列処理部６による復号の途中結果を保持する。行処理部５−１〜５−ｐは、図３２に示す疑似巡回符号の単位行列の全ての行に対応するｐ行分設けられ、巡回構造の基本行列の大きさに並列化されている。列処理部６は列処理を行う。【０４８７】
制御部７は、最大繰り返し回数の設定などの復号繰り返しの制御を行う。復号結果判定部８では、列処理部６が求めた事後値の硬判定から上記式（６）により復号結果の復号系列を算出し、パリティ検査を行って上記式（７）の条件から復号結果の正誤を判定する。【０４８８】
次に動作について説明する。
先ず、受信ＬＬＲ計算部２は、受信情報を入力すると、当該受信情報から受信ＬＬＲを算出する。次に初期化ステップにおいて、受信ＬＬＲ計算部２は、算出した受信ＬＬＲを初期値ｚm,n(0)（：＝Ｆn）として途中結果保持部４に設定する。このとき、制御部７は、復号の繰り返し回数ｉをｉ＝１と初期化する。【０４８９】
続いて、繰り返し回数ｉ＝１からｉ＝最終復号回（最大繰り返し回数Ｉmax）まで、行処理部５−１〜５−ｐによる行処理及び列処理部６による列処理からなる繰り返し復号処理であるステップ１と、復号結果判定部８による上記式（７）に従うステップ２の判定処理を繰り返し実行する。【０４９０】
繰り返しｉ回目の復号演算を例に説明する。
図３３は、実施の形態１８による行処理部及び列処理部の復号演算を説明するためのブロック図である。この図を用いて復号演算の流れを説明する。
先ず、復号したいＬＤＰＣ符号の検査行列Ｈ（＝[Ｈm,n]）に対して、行処理部５−１〜５−ｐは、１行目からｐ行目まで１列からｐ列までに関連した行処理を並列に実行し、ｐ行目から２ｐ行目までの１列からｐ列までに関連した行処理を並列に実行し、２ｐ行目から３ｐ行目までの１列からｐ列までに関連した行処理を実行して、処理結果を列処理部６へ受け渡す。【０４９１】
ここで、１列からｐ列までに関連した行処理では、下記式（２７）の条件に対し、上記式（２）及び式（３）を用いた演算を実行する。
【数１９】
0004777261.tif 000020
【０４９２】
次に、列処理部６は、例えば上記式（４）及び上記式（５）を用いて、１列目からｐ列目までの列処理を並列に実行し、処理結果を途中結果保持部４に保持させる。【０４９３】
続いて、行処理部５−１〜５−ｐは、１行目からｐ行目までｐ列から２ｐ列までに関連した行処理を並列に実行し、ｐ行目から２ｐ行目までのｐ列から２ｐ列までに関連した行処理を並列に実行し、２ｐ行目から３ｐ行目までのｐ列から２ｐ列までに関連した行処理を実行して、処理結果を列処理部６へ受け渡す。なお、ｐ列から２ｐ列までに関連した行処理では、上記式（２７）におけるｎをｐから２ｐまでとし、この条件に対し上記式（２）及び式（３）を用いた演算を実行する。【０４９４】
次に、列処理部６は、例えば上記式（４）及び上記式（５）を用いて、ｐ列目から２ｐ列目までの列処理を並列に実行し、処理結果を途中結果保持部４に保持させる。【０４９５】
続いて、行処理部５−１〜５−ｐは、１行目からｐ行目まで２ｐ列から３ｐ列までに関連した行処理を並列に実行し、ｐ行目から２ｐ行目までの２ｐ列から３ｐ列までに関連した行処理を並列に実行し、２ｐ行目から３ｐ行目までの２ｐ列から３ｐ列までに関連した行処理を実行して、処理結果を列処理部６へ受け渡す。なお、２ｐ列から３ｐ列までに関連した行処理では、上記式（２７）におけるｎを２ｐから３ｐまでとし、この条件に対し上記式（２）及び式（３）を用いた演算を実行する。【０４９６】
次に、列処理部６は、例えば上記式（４）及び上記式（５）を用いて、２ｐ列目から３ｐ列目までの列処理を並列に実行し、処理結果を途中結果保持部４に保持させる。【０４９７】
続いて、行処理部５−１〜５−ｐは、１行目からｐ行目まで３ｐ列から４ｐ列までに関連した行処理を並列に実行し、ｐ行目から２ｐ行目までの３ｐ列から４ｐ列までに関連した行処理を並列に実行し、２ｐ行目から３ｐ行目までの３ｐ列から４ｐ列までに関連した行処理を実行して、処理結果を列処理部６へ受け渡す。なお、３ｐ列から４ｐ列までに関連した行処理では、上記式（２７）におけるｎを３ｐから４ｐまでとし、この条件に対し上記式（２）及び式（３）を用いた演算を実行する。【０４９８】
次に、列処理部６は、例えば上記式（４）及び上記式（５）を用いて、３ｐ列目から４ｐ列目までの列処理を並列に実行し、処理結果を途中結果保持部４に保持させる。【０４９９】
なお、上述した処理例では、疑似巡回符号の特徴２を利用して行処理を１〜ｐ，ｐ〜２ｐ，２ｐ〜３ｐに分けて行処理する例を示したが、１〜３ｐの全てを並列に実行させることも可能である。【０５００】
ステップ２では、復号結果判定部８が、列処理部６により繰り返しｉ回目で算出された事後値ｚn(i)を硬判定して復号結果を決めて、パリティ検査を行う。このとき、制御部７が、パリティ検査の結果がＮＧであるならば、繰り返し回数ｉを１増やし、続いてステップ１の処理を行処理部５及び列処理部６に実行させる。一方、上記式（７）の条件を満たせば、後述するステップ３の処理に移行させる。【０５０１】
このようにして、制御部７は、上記式（７）に示すように、パリティ検査の結果がＯＫとなるか、若しくは繰り返し回数が設定した最大値Ｉmaxとなるまで、上記式（８）に基づく、ステップ１及びステップ２の処理を繰り返すように行処理部５及び列処理部６を制御する。【０５０２】
復号結果判定部８によるパリティ検査の結果がＯＫとなるか、制御部７により設定された繰り返し回数ｉが最大値Ｉmaxとなれば、ステップ３として、制御部７が行処理部５及び列処理部６による復号処理を終了させ、復号結果判定部８が復号結果として上記式（６）のような復号系列を出力する。【０５０３】
以上のように、この実施の形態１８によれば、擬似巡回符号のように巡回構造を持ったＬＤＰＣ符号をＳｈｕｆｆｌｅｄ  ＢＰアルゴリズムで復号する場合に、巡回構造の特徴を利用するので、行処理及び列処理の並列化が可能となり、復号演算に係る処理時間を短縮することができることから復号処理に要する遅延時間を削減することができる。【０５０４】
なお、上記実施の形態１８では、Ｓｈｕｆｆｌｅｄ  ＢＰアルゴリズムを例に挙げて説明したが、受信信号に対する行処理と列処理による確率情報の算出及び更新を１ビットずつ若しくは予め定めた複数ビットずつ行う他の復号アルゴリズムでも同様に適用することができる。また、巡回構造を持つＬＤＰＣ符号として擬似巡回符号を例に挙げたが、他の巡回構造を持つＬＤＰＣ符号でも同様である。【０５０５】
実施の形態１９．
この実施の形態１９は、Ｍａｘ−Ｌｏｇ−ＭＡＰアルゴリズムに受信情報から減算とビットシフト演算のみで算出できる補正項による補正を行う補正型のＭａｘ−Ｌｏｇ−ＭＡＰアルゴリズムを復号アルゴリズムとして備えるものである。【０５０６】
図３４は、この発明の実施の形態１９によるＴｕｒｂｏ符号復号装置の構成を示すブロック図である。本実施の形態１９によるＴｕｒｂｏ符号復号装置２４は、受信値保持部２５及びＴｕｒｂｏ復号処理部２６から構成される。Ｔｕｒｂｏ符号では、情報ビット系列diとそのパリティビット系列p1i、インタリーブした情報ビット系列のパリティビット系列p2iを符号化情報として送信する。受信値保持部２５は、それらの受信値Ri、P1i、P2iを分けてそれぞれの受信値を保持し、Ｔｕｒｂｏ復号処理部２６に出力する。Ｔｕｒｂｏ復号処理部２６は、途中結果保持部２７、メトリック計算部２８、インタリーブ処理部２９及び繰り返し制御部３０から構成される。【０５０７】
途中結果保持部２７は、受信値保持部２５から入力した受信値に基づくメトリック計算部２８による復号処理の途中結果を保持する。メトリック計算部２８は、上述した補正項による補正を行う補正型のＭａｘ−Ｌｏｇ−ＭＡＰアルゴリズムによるメトリック計算を行い、復号結果を出力する。インタリーブ処理部２９はＴｕｒｂｏ符号化に従ったインタリーブ処理を行う。繰り返し制御部３０は、メトリック計算部２８とインタリーブ処理部２９による復号処理の繰り返しを制御する。【０５０８】
メトリック計算部２８では、Ｍａｘ−Ｌｏｇ−ＭＡＰアルゴリズムでの処理が
【数２０】
0004777261.tif 000021
であるのに対し，
【数２１】
0004777261.tif 000022
と最大値を補正しながらメトリック値の算出と更新を行う。【０５０９】
なお、上記式（２９）において、Ｍａｘ−Ｌｏｇ−ＭＡＰアルゴリズムに対する補正項となるδについては、Ｌｏｇ−ＭＡＰアルゴリズムの更新式から級数展開して得ることのできる近似項であり、入力する２値の差と２による除算、定数Ｃからの減算のみで算出することができる。【０５１０】
また、定数Ｃについては、Ｌｏｇ−ＭＡＰアルゴリズムの更新式からの近似計算で得られるｌｎ（２）が１例であるが、適切に値を設定することで復号性能を向上させることも可能である。さらに２による除算については、ハードウェアなど２進数で表現された系においては、１ビットのビットシフト演算で可能である。【０５１１】
インタリーブ処理部２９では、復号したいＴｕｒｂｏ符号のインタリーブ処理を行うための情報をメトリック計算部２８に与え、繰り返し制御部３０では繰り返し回数とインタリーブを行う場合と行わない場合の制御を行う。【０５１２】
次に動作について説明する。
図３５は、実施の形態１９によるＴｕｒｂｏ符号復号装置の動作を示すフローチャートであり、この図に沿って動作を説明する。
先ず、受信値保持部２５は、受信情報として受信値Ri、P1i、P2iを分けて保持しておく（ステップＳＴ１）。次に初期化ステップ（ステップＳＴ２）において、繰り返し制御部３０は、復号の繰り返し回数ｉをｉ＝１と初期化する。【０５１３】
次に、ステップＳＴ３において、繰り返し回数ｉ＝１からｉ＝最終復号回（最大繰り返し回数Ｉmax）までメトリック計算部とインタリーブ処理部による繰り返し復号処理であるステップ１を繰り返し実行する。【０５１４】
繰り返しｉ回目の復号演算を例に説明する。
先ず、ステップ１において、メトリック計算部５は、復号したいＴｕｒｂｏ符号に対して繰り返しｉ回目の復号演算におけるインタリーブのない受信値に対するメトリック計算を行う。具体的に説明すると、受信値Ri、P1iに対し、上記式（２９）で補正を行うＭａｘ−Ｌｏｇ−ＭＡＰアルゴリズムに従ってメトリック計算を行い、処理結果を途中結果保持部２７に保持させる。インタリーブのないメトリック計算を行うには、受信値Ri、P1iを受信値保持部から呼び出す際にｉを先頭から順にインクリメントして行う。【０５１５】
ステップ２では、メトリック計算部２８が、復号したいＴｕｒｂｏ符号に対して繰り返しｉ回目の復号演算におけるインタリーブのあるメトリック計算を行う。具体的に説明すると、受信値P2iとインタリーブした受信値Riに対し、上記式（２９）で補正を行うＭａｘ−Ｌｏｇ−ＭＡＰアルゴリズムに従ってメトリック計算を行い、メトリック値を途中結果保持部２７に保持させる。受信値Riをインタリーブするには、受信値保持部２５から受信値を呼び出す際に、インタリーブ処理部から呼び出す番号ｉの情報を受けて呼び出すことで行う。【０５１６】
このようにして、繰り返し制御部３０は、繰り返し回数が設定した最大値Ｉmaxとなるまで、ステップ１、２を繰り返すようにメトリック計算部とインタリーブ処理部を制御する。【０５１７】
繰り返し制御部３０により設定された繰り返し回数ｉが最大値Ｉmaxとなれば、ステップＳＴ４として、繰り返し制御部３０がメトリック計算部２８及びインタリーブ処理部２９による復号処理を終了させ、メトリック計算部から復号結果を出力する。【０５１８】
以上のように、この実施の形態１９によれば、受信情報の減算及びビットシフト演算のみで算出できる補正項による補正を行う補正型のＭａｘ−Ｌｏｇ−ＭＡＰアルゴリズムに従って復号処理を実行するので、従来のＬｏｇ−ＭＡＰアルゴリズムからの復号性能の劣化を抑えることができる上、従来のＭａｘ−Ｌｏｇ−ＭＡＰアルゴリズムと比較すると格段に復号性能を向上させることができる。【０５１９】
さらに、受信情報に基づく補正項を算出するための計算は、減算と１ビットシフト演算のみで実行することが可能であり、実施の形態１９によるＴｕｒｂｏ復号装置１を簡易なハードウェア構成で実現することができる。【０５２０】
実施の形態２０．
本実施の形態２０では、前述した実施の形態１から実施の形態１９までの復号処理を適用するシステムについて説明する。例えば、本発明に係るＬＤＰＣ復号処理は、移動体通信（端末、基地局）、無線ＬＡＮ、光通信、衛星通信、量子暗号装置等、通信機器全般に適用できる。具体的には、図３６に示すように、ＬＤＰＣ符号化器３１、変調器３２、通信路３３、復調器３４、及びＬＤＰＣ復号器３５を含んでなるシステムを構成し、このシステムにおけるＬＤＰＣ復号器３５として、上記実施の形態１〜１９に示す復号器を搭載し、誤り訂正を行う。【０５２１】
図３７は、この発明に係る復号処理を、移動体端末３６及びこの移動体端末３６と通信を行う基地局３７を備えた移動体通信システムに適用した場合の構成例を示す図である。図において、移動体端末３６は、ＬＤＰＣ符号化器３１、変調器３２、復調器３４、ＬＤＰＣ復号器３５及びアンテナ４２を備える。また、基地局３７は、ＬＤＰＣ復号器４３、復調器４４、変調器４５、ＬＤＰＣ符号化器４６及びアンテナ４７を備えている。【０５２２】
移動体端末３６及び基地局３７のＬＤＰＣ復号器３５，４３としては、前述した実施の形態１〜１９で説明した構成のＬＰＤＣ復号器を適用する。【０５２３】
上記のように構成される移動体通信システムにおいて、移動体端末３６からデータを送信する場合は、データをＬＤＰＣ符号化器３７が符号化し、変調器３８とアンテナ４１を介して無線通信路へ送出する。【０５２４】
一方、基地局３７では、無線通信路中で発生した誤りを含む受信信号を、アンテナ４７と復調器４４を介して受け取り、復調後の受信データをＬＤＰＣ復号器４３にて訂正する。なお、ネットワークから移動体端末３６が各種データを受信する場合についても、上記と同様の処理で、基地局３７が移動体端末３６へ符号化データを送信し、移動体端末３６が各種データを受信して復号する。【０５２５】
基地局３７が移動体端末３６へ符号化データを送信する場合は、データをＬＤＰＣ符号化器４６により符号化し、符号化データを変調器４５とアンテナ４７を介して無線通信路へ送出する。一方、移動体端末３６では、無線通信路中で発生した誤りを含む受信信号を、アンテナ４２と復調器３４を介して受け取り、復調後の受信データをＬＤＰＣ復号器３５にて訂正する。【０５２６】
以上のように、この実施の形態２０によれば、上記実施の形態１から上記実施の形態１９までに示した復号処理を移動体通信システムに適用したので、移動体端末３６及び基地局３７による復号処理において、上記実施の形態１から上記実施の形態１９までに示した効果をそれぞれ得ることができる。
【産業上の利用可能性】
【０５２７】
以上のように、この発明に係る復号方法は、デジタル通信における復号技術として有用であり、特に符号化方式としてＬＤＰＣ符号を採用する通信装置に適している。
【図１】
0004777261.tif 000026
【図２】
0004777261.tif 000027
【図３】
0004777261.tif 000028
【図４】
0004777261.tif 000029
【図５】
0004777261.tif 000030
【図６】
0004777261.tif 000031
【図７】
0004777261.tif 000032
【図８】
0004777261.tif 000033
【図９】
0004777261.tif 000034
【図１０】
0004777261.tif 000035
【図１０Ａ】
0004777261.tif 000036
【図１１】
0004777261.tif 000037
【図１２】
0004777261.tif 000038
【図１３】
0004777261.tif 000039
【図１４】
0004777261.tif 000040
【図１５】
0004777261.tif 000041
【図１６】
0004777261.tif 000042
【図１７】
0004777261.tif 000043
【図１８】
0004777261.tif 000044
【図１９】
0004777261.tif 000045
【図２０】
0004777261.tif 000046
【図２１】
0004777261.tif 000047
【図２２】
0004777261.tif 000048
【図２３】
0004777261.tif 000049
【図２４】
0004777261.tif 000050
【図２５】
0004777261.tif 000051
【図２６】
0004777261.tif 000052
【図２７】
0004777261.tif 000053
【図２８】
0004777261.tif 000054
【図２９】
0004777261.tif 000055
【図３０】
0004777261.tif 000056
【図３１】
0004777261.tif 000057
【図３２】
0004777261.tif 000058
【図３３】
0004777261.tif 000059
【図３４】
0004777261.tif 000060
【図３５】
0004777261.tif 000061
【図３６】
0004777261.tif 000062
【図３７】
0004777261.tif 000063