(57)【要約】【課題】復号特性を悪化させることなく、効率的に復号を行うことが可能な復号装置および復号回路を提供する。【解決手段】検波部２２０は、入力信号を検波して、データを構成する各バイナリデータの尤度値を求める。スケジュール処理部２６０は、検波部２２０で求められる各バイナリデータの尤度値の信頼度に基づいて、信頼度の高い尤度値を優先的に用いたＬＤＰＣ演算を行う演算スケジュールを作成する。ＬＤＰＣ復号部２４１は、上記演算スケジュールにしたがい、検波部２２０が求めた尤度値を用いてＬＤＰＣ演算を行うことで復号を行うようにしたものである。【選択図】      図１
2005347883.tif 000002
【特許請求の範囲】
【請求項１】
ＬＤＰＣ符号を用いて符号化されたデータを復号する復号装置において、
入力信号を検波して、前記データを構成する各バイナリデータの尤度値を求める検波手段と、
この検波手段が求めた各バイナリデータの尤度値の信頼度に基づいて、信頼度の高い尤度値を優先的に用いる演算を行う演算スケジュールを作成するスケジュール作成手段と、
このスケジュール作成手段が作成した演算スケジュールにしたがい、前記検波手段が求めた尤度値を用いた演算を行うことで復号を行う復号手段とを具備することを特徴とする復号装置。
【請求項２】
ＬＤＰＣ符号を用いて符号化されたデータを復号する復号装置において、
入力信号を検波して、前記データを構成する各バイナリデータの尤度値を求める検波手段と、
この検波手段が求めた尤度値を記憶する記憶手段と、
前記検波手段が求めた各バイナリデータの尤度値の信頼度に基づいて、信頼度の高い尤度値を優先的に用いる演算を行う演算スケジュールを作成するスケジュール作成手段と、
このスケジュール作成手段が作成した演算スケジュールにしたがい、前記検波手段が求めた尤度値を用いた演算を行って、前記データを構成する各バイナリデータの確率値を求める確率値演算手段と、
この確率値演算手段が求めた確率値に基づいて重み係数を求める重み付け手段と、
この重み付け手段が求めた重み係数を、前記記憶手段が記憶する尤度値に乗算する乗算手段と、
前記スケジュール作成手段が作成した演算スケジュールにしたがい、前記乗算手段の出力を用いた演算を行うことで復号を行う復号手段とを具備することを特徴とする復号装置。
【請求項３】
さらに、前記データを構成する複数のバイナリデータを１つの信号点に割り当てる多値変調により生成された信号を復調する復調手段を備え、
前記検波手段は、前記復調手段の出力を検波して、前記データを構成する各バイナリデータの尤度値を求め、
前記スケジュール作成手段は、１つの信号点に割り当てられる複数のバイナリデータの各信頼度に基づいて、信頼度の高いバイナリデータの尤度値を優先的に用いる演算を行う演算スケジュールを作成することを特徴とする請求項１または請求項２に記載の復号装置。
【請求項４】
前記スケジュール作成手段は、前記検波手段が求めた各バイナリデータの尤度値の信頼度に応じて、前記検波手段が求めた尤度値をグループ分けし、信頼度の高いグループに属する尤度値を優先的に用いる演算を行う演算スケジュールを作成することを特徴とする請求項３に記載の復号装置。
【請求項５】
さらに、前記入力信号の品質を検出する品質検出手段を備え、
前記スケジュール作成手段は、前記品質検出手段が検出した品質に基づいて、前記検波手段が求めた各バイナリデータの尤度値の信頼度を求め、この求めた信頼度に基づいて、信頼度の高い尤度値を優先的に用いる演算を行う演算スケジュールを作成することを特徴とする請求項１または請求項２に記載の復号装置。
【請求項６】
前記スケジュール作成手段は、前記品質検出手段が検出した品質に基づいて、前記検波手段が求めた各バイナリデータの尤度値の信頼度を求め、この信頼度に応じて前記検波手段が求めた尤度値をグループ分けし、信頼度の高いグループに属する尤度値を優先的に用いる演算を行う演算スケジュールを作成することを特徴とする請求項５に記載の復号装置。
【請求項７】
前記復号手段は、前記検波手段が求めた尤度値が割り当てられる複数の変数ノードと、複数の検査ノードとが復号アルゴリズムに基づいて対応づけられ、検査ノードが対応する変数ノードに割り当てられた尤度値を用いて確率値を求める第１の演算と、変数ノードが対応する検査ノードで求めた確率値を用いて確率値を求める第２の演算と、検査ノードが対応する変数ノードで求めた確率値を用いて確率値を求める第３の演算とを選択的に繰り返す演算を行うことで、変数ノードより前記データを構成する各バイナリデータの確率値を得るものであって、
前記スケジュール作成手段は、前記第１の演算乃至第３の演算のうち、検査ノードが対応づけられた数が多い変数ノードを用いた演算を優先的に行う演算スケジュールを作成することを特徴とする請求項１または請求項２に記載の復号装置。
【請求項８】
前記スケジュール作成手段は、検査ノードが対応づけられた数に応じて前記変数ノードをグループ分けし、検査ノードが対応づけられた数の多いグループに属する変数ノードを用いた演算を優先的に行う演算スケジュールを作成することを特徴とする請求項７に記載の復号装置。
【請求項９】
ＬＤＰＣ符号を用いて符号化されたデータを復号する復号回路において、
入力信号を検波して、前記データを構成する各バイナリデータの尤度値を求める検波手段と、
この検波手段が求めた各バイナリデータの尤度値の信頼度に基づいて、信頼度の高い尤度値を優先的に用いる演算を行う演算スケジュールを作成するスケジュール作成手段と、
このスケジュール作成手段が作成した演算スケジュールにしたがい、前記検波手段が求めた尤度値を用いた演算を行うことで復号を行う復号手段とを具備することを特徴とする復号回路。
【請求項１０】
ＬＤＰＣ符号を用いて符号化されたデータを復号する復号回路において、
入力信号を検波して、前記データを構成する各バイナリデータの尤度値を求める検波手段と、
この検波手段が求めた尤度値を記憶する記憶手段と、
前記検波手段が求めた各バイナリデータの尤度値の信頼度に基づいて、信頼度の高い尤度値を優先的に用いる演算を行う演算スケジュールを作成するスケジュール作成手段と、
このスケジュール作成手段が作成した演算スケジュールにしたがい、前記検波手段が求めた尤度値を用いた演算を行って、前記データを構成する各バイナリデータの確率値を求める確率値演算手段と、
この確率値演算手段が求めた確率値に基づいて重み係数を求める重み付け手段と、
この重み付け手段が求めた重み係数を、前記記憶手段が記憶する尤度値に乗算する乗算手段と、
前記スケジュール作成手段が作成した演算スケジュールにしたがい、前記乗算手段の出力を用いた演算を行うことで復号を行う復号手段とを具備することを特徴とする復号回路。
【請求項１１】
さらに、前記データを構成する複数のバイナリデータを１つの信号点に割り当てる多値変調により生成された信号を復調する復調手段を備え、
前記検波手段は、前記復調手段の出力を検波して、前記データを構成する各バイナリデータの尤度値を求め、
前記スケジュール作成手段は、１つの信号点に割り当てられる複数のバイナリデータの各信頼度に基づいて、信頼度の高いバイナリデータの尤度値を優先的に用いる演算を行う演算スケジュールを作成することを特徴とする請求項９または請求項１０に記載の復号回路。
【請求項１２】
前記スケジュール作成手段は、前記検波手段が求めた各バイナリデータの尤度値の信頼度に応じて、前記検波手段が求めた尤度値をグループ分けし、信頼度の高いグループに属する尤度値を優先的に用いる演算を行う演算スケジュールを作成することを特徴とする請求項１１に記載の復号回路。
【請求項１３】
さらに、前記入力信号の品質を検出する品質検出手段を備え、
前記スケジュール作成手段は、前記品質検出手段が検出した品質に基づいて、前記検波手段が求めた各バイナリデータの尤度値の信頼度を求め、この求めた信頼度に基づいて、信頼度の高い尤度値を優先的に用いる演算を行う演算スケジュールを作成することを特徴とする請求項９または請求項１０に記載の復号回路。
【請求項１４】
前記スケジュール作成手段は、前記品質検出手段が検出した品質に基づいて、前記検波手段が求めた各バイナリデータの尤度値の信頼度を求め、この信頼度に応じて前記検波手段が求めた尤度値をグループ分けし、信頼度の高いグループに属する尤度値を優先的に用いる演算を行う演算スケジュールを作成することを特徴とする請求項１３に記載の復号回路。
【請求項１５】
前記復号手段は、前記検波手段が求めた尤度値が割り当てられる複数の変数ノードと、複数の検査ノードとが復号アルゴリズムに基づいて対応づけられ、検査ノードが対応する変数ノードに割り当てられた尤度値を用いて確率値を求める第１の演算と、変数ノードが対応する検査ノードで求めた確率値を用いて確率値を求める第２の演算と、検査ノードが対応する変数ノードで求めた確率値を用いて確率値を求める第３の演算とを選択的に繰り返す演算を行うことで、変数ノードより前記データを構成する各バイナリデータの確率値を得るものであって、
前記スケジュール作成手段は、前記第１の演算乃至第３の演算のうち、検査ノードが対応づけられた数が多い変数ノードを用いた演算を優先的に行う演算スケジュールを作成することを特徴とする請求項９または請求項１０に記載の復号回路。
【請求項１６】
前記スケジュール作成手段は、検査ノードが対応づけられた数に応じて前記変数ノードをグループ分けし、検査ノードが対応づけられた数の多いグループに属する変数ノードを用いた演算を優先的に行う演算スケジュールを作成することを特徴とする請求項１５に記載の復号回路。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えば通信システムや情報入出力システムなどで用いられるＬＤＰＣ（Low Density Parity Check）符号を用いた復号装置および復号回路に関する。
【背景技術】
【０００２】
周知のように、ＬＤＰＣ符号、すなわち低密度パリティ検査符号によって符号化されたビット系列は、符号器で用いられる検査行列の変数ノードの次数によって誤り訂正能力が異なる特徴を持つ。
【０００３】
従来のＬＤＰＣ符号を用いた復号装置、特に多値変調方式に対応する復号装置では、ＬＤＰＣ符号によって符号化されたビット系列を、変数ノードの次数すなわち各ビットに対する誤り訂正能力を考慮せず、ランダムに多値変調の信号点へ割り当てるか、もしくは直接多値変調の信号点へ順次割り当てて復号を行っている。
【０００４】
多値変調の場合、検査行列の変数ノードの次数を考慮して最適に信号点へ割り当てることにより、復号装置の信頼性を向上させることができることが知られている（例えば、非特許文献１参照）。
【０００５】
また、ＬＤＰＣ符号を用いた復号装置は、復号処理に反復的な処理を実行する必要があり、復号処理量が多く、その処理に多くの時間を費やすという問題があった。このため、高速通信を行う通信システムには不向きであり、通信システムに適応させるべく、システムの信頼度を損なうことなく上記復号処理量を軽減させたいという要望があった。
【０００６】
ところで、従来のＬＤＰＣ符号の復号処理は、検査行列のすべての変数ノードと検査ノードの尤度値の演算をすべて並列に行なうことで、復号される情報ビット列の事後確率値を収束させている。また事後確率値の収束を早める方法としては、部分的に変数ノードと検査ノードの演算を直列に行なう方法が提案されている（例えば、非特許文献２参照）。しかし、この方法は、変調方式が２値の場合に有効であるが、多値変調を用いた通信システムに適用した場合、効率的に事後確率値の収束を早められない。
【０００７】
なお、ここで多値変調として用いられる変調方式は、Ｍ値ＰＳＫ（Phase Shift Keying）、Ｍ値ＱＡＭ（Quadrature Amplitude Modulation）、Ｍ値ＡＳＫ（Amplitude Shift Keying）、Ｍ値ＡＭＰＭ（Amplitude Modulation-Phase Modulation）、Ｍ値ＰＰＭ（Pulse Position Modulation）、ＯＦＤＭ（Orthogonal Frequency Division Multiplexing）、ＣＤＭＡ（Code Division Multiple Access）などが考えられる。
【非特許文献１】Capacity-approaching bandwidth-efficient coded modulation scheme based on low-density parity-check code(IEEE Transaction on Information Theory, vol.49, no.9, sept.2003)。
【非特許文献２】A new schedule for decoding low-density parity-check codes(IEEE GLOBECOM2001)。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
従来の復号装置では、ＬＤＰＣ符号を用いる場合、復号処理量が多いため、復号処理に多くの時間を要するという問題があった。  
この発明は上記の問題を解決すべくなされたもので、復号特性を悪化させることなく、効率的に復号を行うことが可能な復号装置および復号回路を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記の目的を達成するために、この発明は、ＬＤＰＣ符号を用いて符号化されたデータを復号する復号装置において、入力信号を検波して、データを構成する各バイナリデータの尤度値を求める検波手段と、この検波手段が求めた各バイナリデータの尤度値の信頼度に基づいて、信頼度の高い尤度値を優先的に用いる演算を行う演算スケジュールを作成するスケジュール作成手段と、このスケジュール作成手段が作成した演算スケジュールにしたがい、検波手段が求めた尤度値を用いた演算を行うことで復号を行う復号手段とを具備して構成するようにした。
【発明の効果】
【００１０】
以上述べたように、この発明では、ＬＤＰＣ符号を用いて符号化されたデータの尤度値を求め、この尤度値の信頼度に基づいて信頼度の高い尤度値を優先的に用いる演算を行う演算スケジュールを作成し、この作成した演算スケジュールにしたがった演算を行うことで復号を行うようにしている。
【００１１】
したがって、この発明によれば、信頼度の高い尤度値を優先的に用いた演算を行うので、復号特性を悪化させることなく、効率的に復号を行うことが可能な復号装置および復号回路を提供できる。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照して、この発明の一実施形態について説明する。なお、以下の説明では、この発明に係わる復号回路を、通信システムの受信装置内の復号装置に適用した場合を例に挙げて説明する。  
図１は、この発明の第１の実施形態に係わる通信システムの構成を示すものである。この通信システムは、送信装置１００と受信装置２０１とを備える。送信装置１００が送信データをＬＤＰＣ（Low Density Parity Check）符号によって符号化して無線送信する。そして、受信装置２０１は、送信装置１００から無線送信されたデータを受信して、復号し受信データを得る。
【００１３】
送信装置１００は、ＬＤＰＣ符号化部１１０、インターリーバ１２０、マッピング処理部１３０、変調部１４０を備える。ＬＤＰＣ符号化部１１０は、送信データをＬＤＰＣ符号を用いて符号化し、符号化されたビット系列を出力する。このビット系列は、インターリーバ１２０によって、ビット単位でインターリーブされ、マッピング処理部１３０に出力される。
【００１４】
マッピング処理部１３０は、インターリーバ１２０にてインターリーブされたビット系列を、後段の変調部１４０で用いる変調方式に対応する単位のビット列に分けるラベル付けを行った後、このラベル付けしたビット列を上記変調方式の信号点に対応づけるマッピングを行う。ここで用いられるラベルとしては、グレイラベルやセットパーティショニング、ランダムラベルなどが考えられる。
【００１５】
変調部１４０が、図２に示すような信号点分布を有する８ＰＳＫ（Phase Shift Keying）方式によって多値変調する場合を例に挙げて説明すると、マッピング処理部１３０は、変調部１４０で用いる変調方式が８ＰＳＫ方式であることより、インターリーバ１２０にてインターリーブされたビット系列を、３ビット単位にビット列に分けるラベル付けを行う。
【００１６】
そして次にマッピング処理部１３０は、上記ラベル付けによって切り分けられた３ビット単位のビット列を、その内容に応じて８ＰＳＫ方式のいずれかの信号点に対応づけるマッピングを行い、このマッピングの結果を変調部１４０に出力する。変調部１４０は、マッピング処理部１３０の処理結果を用いて、搬送波を多値変調し、アンテナを通じて空間に放射する。
【００１７】
受信装置２０１は、復調部２１０、検波部２２０、デインターリーバ２３０、ＬＤＰＣ復号部２４０、グルーピング処理部２５１、スケジューリング処理部２６１を備える。復調部２１０は、送信装置１００から送信された無線信号をアンテナを通じて受信し、受信した無線信号を８ＰＳＫ方式によって復調する。
【００１８】
検波部２２０は、復調部２１０の復調結果を検波し、インターリーブされた状態のビット系列の各ビットの尤度値を求める。この各ビットの尤度値は、デインターリーバ２３０によってデインターリーブされ、ＬＤＰＣ復号部２４０に出力される。デインターリーバ２３０は、送信装置１００のインターリーバ１２０のインターリーブに対応するものである。
【００１９】
グルーピング処理部２５１は、マッピング処理部１３０のラベル付けとマッピングに応じて、ＬＤＰＣ復号部２４０の変数ノードをグループ分けするものである。マッピング処理部１３０は、ラベル付けとマッピングを、変調部１４０が採用する８ＰＳＫ方式に基づいて行っている。８ＰＳＫ方式の変調では、１シンボルあたり３ビットの情報を伝送することができる。
【００２０】
この３ビットを構成する各ビットデータは、図２に示すように、互いに信頼度が異なる。すなわち、１ビット目のデータは、隣接する信号点と比べると、必ず異なるデータとなっているため、誤りが生じる可能性が高く、信頼度が低いといえる。一方、３ビット目のデータは、破線で２つに分けられた範囲内の信号点で共通するため、１ビット目のデータに比べて誤りが生じる可能性が低く、信頼度が高いといえる。また、２ビット目のデータは、実線で４つに分けられた範囲内の信号点で共通し、１ビット目のデータに比べて誤りが生じる可能性が低いものの、３ビット目のデータに比べると誤りが生じる可能性が高い。
【００２１】
ここで、ＬＤＰＣ復号部２４０は、ＬＤＰＣ符号化部１１０の符号化処理に対応する構成となっており、変数ノードａ，ｂ，ｃ，ｄ，ｅ、ｆと検査ノードＡ，Ｂ，Ｃ，Ｄを用いてＬＤＰＣ復号を行うものとする。これらのノードの対応関係は、復号（符号化）アルゴリズムに基づいて決定されており、例えば図３に示すように対応づけられていたとする。  このような構成の場合、２つのシンボル、計６ビットの各尤度値が対応する変数ノードａ，ｂ，ｃ，ｄ，ｅ、ｆに割り当てられ、変数ノードａ，ｂ，ｃ，ｄ，ｅ、ｆは割り当てられた尤度値を保持する。
【００２２】
上記２つのシンボルのうち、一方のシンボルの１ビット目の尤度値が変数ノードａに保持され、２ビット目の尤度値は変数ノードｂに保持され、３ビット目の尤度値は変数ノードｃに保持される。また他方のシンボルの１ビット目の尤度値が変数ノードｄに保持され、２ビット目の尤度値が変数ノードｅに保持され、３ビット目の尤度値が変数ノードｆに保持される。
【００２３】
この場合、変数ノードａと変数ノードｄは、同じ信頼度の尤度値を保持するので、グルーピング処理部２５１は、変数ノードａと変数ノードｄを同じグループＧ１に分ける。同様に、グルーピング処理部２５１は、変数ノードｂと変数ノードｅは同じ信頼度の尤度値を保持するので、変数ノードｂと変数ノードｅを同じグループＧ２に分ける。そして、グルーピング処理部２５１は、変数ノードｃと変数ノードｆが同じ信頼度の尤度値を保持するので、変数ノードｂと変数ノードｅを同じグループＧ３に分ける。
【００２４】
スケジューリング処理部２６１は、グルーピング処理部２５１によるグループ分けの結果と、図３に示した変数ノードと検査ノードの対応関係に基づいて、信頼度の高い尤度値を保持する変数ノードを多く用いた検査ノードの演算から優先的に行うような演算スケジュールを組み立てる。
【００２５】
ここでは、ＬＤＰＣ復号部２４０の変数ノードと検査ノードの対応関係が図３に示すようなものであることより、スケジューリング処理部２６１は、図４に示すような演算スケジュールを組み立てる。この図において、「１」は変数ノードと検査ノードが対応づけられていることを示し、「０」は対応づけられていないことを示す。
【００２６】
すなわち、図４に示す演算スケジュールは、最も信頼度の高い尤度値を保持するグループＧ３の変数ノードが多く対応づけられた検査ノードから優先的に計算し、逆に、最も信頼度の低い尤度値を保持するグループＧ１の変数ノードが多く対応づけられた検査ノードを非優先的に計算するように組み立てられる。
【００２７】
ＬＤＰＣ復号部２４０は、スケジューリング処理部２６１によって組み立てられた演算スケジュールにしたがい、変数ノードと検査ノードを用いたＬＤＰＣ復号演算を行うことで、受信データを構成する各ビットの確率値を求め、これを硬判定して受信データを得る。以下、図４に示した演算スケジュールを例に挙げて、ＬＤＰＣ復号演算を説明する。
【００２８】
ＬＤＰＣ復号部２４０は、演算スケジュールで順位１位の検査ノードＤを用いて、これに対応する変数ノードａ，ｂ，ｃ，ｄ，ｆが保持する尤度値に基づく演算を行い、演算結果を検査ノードＤに保持する。次に、ＬＤＰＣ復号部２４０は、検査ノードＤに関わる変数ノードａ，ｂ，ｃ，ｄ，ｆを用いて、それぞれに対応づけられた検査ノードＡ，Ｂ，Ｃ，Ｄが保持する尤度値に基づく演算を行って、この演算結果で変数ノードａ，ｂ，ｃ，ｄ，ｆに保持された尤度値を更新する。
【００２９】
次に、ＬＤＰＣ復号部２４０は、演算スケジュールで順位２位の検査ノードＢを用いて、これに対応する変数ノードｂ，ｄ，ｅ，ｆが保持する尤度値に基づく演算を行い、演算結果を検査ノードＢに保持する。次に、ＬＤＰＣ復号部２４０は、検査ノードＢに関わる変数ノードｂ，ｄ，ｅ，ｆを用いて、それぞれに対応づけられた検査ノードＡ，Ｂ，Ｃ，Ｄが保持する尤度値に基づく演算を行って、この演算結果で変数ノードｂ，ｄ，ｅ，ｆに保持された尤度値を更新する。
【００３０】
次に、ＬＤＰＣ復号部２４０は、演算スケジュールで順位３位の検査ノードＡを用いて、これに対応する変数ノードａ，ｃ，ｅが保持する尤度値に基づく演算を行い、演算結果を検査ノードＡに保持する。次に、ＬＤＰＣ復号部２４０は、検査ノードＡに関わる変数ノードａ，ｃ，ｅを用いて、それぞれに対応づけられた検査ノードＡ，Ｂ，Ｃ，Ｄが保持する尤度値に基づく演算を行って、この演算結果で変数ノードａ，ｃ，ｅに保持された尤度値を更新する。
【００３１】
最後に、ＬＤＰＣ復号部２４０は、演算スケジュールで順位４位の検査ノードＣを用いて、これに対応する変数ノードａ，ｃ，ｄが保持する尤度値に基づく演算を行い、演算結果を検査ノードＣに保持する。次に、ＬＤＰＣ復号部２４０は、検査ノードＣに関わる変数ノードａ，ｃ，ｄを用いて、それぞれに対応づけられた検査ノードＡ，Ｂ，Ｃ，Ｄが保持する尤度値に基づく演算を行って、この演算結果で変数ノードａ，ｃ，ｄに保持された尤度値を更新する。
【００３２】
ＬＤＰＣ復号部２４０は、上述したような演算スケジュールに従ったＬＤＰＣ復号演算を、例えば予め設定した回数だけ繰り返し実行して、最終的に変数ノードａ，ｂ，ｃ，ｄ，ｅ，ｆに保持された尤度値を事後確率値とし、これを硬判定して受信データを得る。なお、このように繰り返し回数を設定する方法以外にも、演算結果のパリティ検査を行ってシンドロームが「０」になった時点で繰り返し演算を停止するようにしてもよい。
【００３３】
また、復号の開始時に各変数ノードの尤度の信頼度を検出するために、ＬＤＰＣ復号部２４０は、すべての検査ノードＡ，Ｂ，Ｃ，Ｄを用いて、変数ノードａ，ｂ，ｃ，ｄ，ｅ，ｆに保持された尤度値に基づく演算を行い、演算結果をそれぞれ検査ノードＡ，Ｂ，Ｃ，Ｄに保持し、次に、ＬＤＰＣ復号部２４０は、すべての変数ノードａ，ｂ，ｃ，ｄ，ｅ，ｆを用いて、それぞれに対応づけられた検査ノードＡ，Ｂ，Ｃ，Ｄの尤度値に基づく演算を行って、この演算結果で変数ノードａ，ｂ，ｃ，ｄ，ｅ，ｆに保持された尤度値を更新するステップを付加しても良い。
【００３４】
以上のように、上記構成の受信装置２０１では、図２に示したように、多値変調を行う場合に、１シンボル中に含まれるビット列の尤度値がビット毎に信頼度が異なることに着目し、この信頼度に応じてグルーピング処理部２５１がＬＤＰＣ復号部２４０の変数ノードをグループ分けする。
【００３５】
そして、スケジューリング処理部２６１が、グルーピング処理部２５１によるグループ分けの結果と、ＬＤＰＣ復号部２４０のＬＤＰＣ復号演算で用いる変数ノードと検査ノードの対応関係に基づいて、上記信頼度の高い尤度値を多く保持する変数ノードを多く用いた検査ノードの演算から優先的に行うような演算スケジュールを組み立てておき、この演算スケジュールにしたがってＬＤＰＣ復号部２４０がＬＤＰＣ復号演算を行うようにしている。
【００３６】
したがって、上記構成の受信装置２０１によれば、ＬＤＰＣ復号演算を、信頼度の高い尤度値を保持する変数ノードを用いた検査ノードの演算から優先的に行うようにしているので、変数ノードと検査ノードを用いた反復演算過程において、事後確率値を早く収束させることができる。このため、変調方式として多値変調が用いられる場合であっても、復号特性を悪化させることなく、効率的に事後確率値を収束させることができる。
【００３７】
なお、上記実施の形態では、スケジューリング処理部２６１が、グルーピング処理部２５１によるグループ分けの結果と、ＬＤＰＣ復号部２４０のＬＤＰＣ復号演算で用いる変数ノードと検査ノードの対応関係に基づいて、信頼度の高い尤度値を保持する変数ノードを用いた検査ノードの演算から優先的に行うような演算スケジュールを組み立てるようにした。
【００３８】
これに対して、上記グループ分けとノードの対応関係は通信を行う前に既知であることより、グルーピング処理部２５１と、スケジューリング処理部２６１を備えなくても、予め組み立てた演算スケジュールをＬＤＰＣ復号部２４０に設定することができる。また、上記グループ分けとノードの対応関係に基づいて、グルーピング処理部２５１と、スケジューリング処理部２６１によって、動的に演算スケジュールを可変することも可能である。
【００３９】
また、上記実施の形態では、図４に示したように、スケジューリング処理部２６１が、検査ノードの演算スケジュールを組み立てて、これに従ってＬＤＰＣ復号部２４０がＬＤＰＣ復号演算を行うようにした。これに代わって例えば、スケジューリング処理部２６１が、信頼度の高い尤度値を保持するグループの変数ノードを優先的に用いて演算を行うように、演算スケジュールを組み立てるようにしてもよい。
【００４０】
すなわち、図３に示す例では、いったん変数ノードと検査ノードによるＬＤＰＣ復号演算を行った後に、まず信頼度の高い尤度値を保持するグループＧ３の変数ノードｃ，ｆを用いた演算を行い、そしてこの演算結果に基づいて検査ノードＡ，Ｂ，Ｃ，Ｄを用いた演算を行う。そして、次に信頼度の高い尤度値を保持するグループＧ２の変数ノードｂ，ｅを用いた演算を行い、そしてこの演算結果に基づいて検査ノードＡ，Ｂ，Ｃ，Ｄを用いた演算を行う。さらに、信頼度の低い尤度値を保持するグループＧ１の変数ノードａ，ｄを用いた演算を行い、そしてこの演算結果に基づいて検査ノードＡ，Ｂ，Ｃ，Ｄを用いた演算を行う。
【００４１】
このような演算スケジュールであっても、変数ノードと検査ノードを用いた反復演算過程において、事後確率値を早く収束させることができ、変調方式として多値変調が用いられる場合であっても、復号特性を悪化させることなく、効率的に事後確率値を収束させることができる。
【００４２】
次に、この発明の第２の実施形態に係わる受信装置２０２について説明する。図５は、その構成を示すものである。この受信装置２０２は、図１に示した送信装置１００から無線送信されたデータを受信して、復号し受信データを得る。
【００４３】
この図に示す受信装置２０２は、復調部２１０、検波部２２０、デインターリーバ２３０、ＬＤＰＣ復号部２４０、グルーピング処理部２５２、スケジューリング処理部２６２、受信品質検出部２７０を備える。復調部２１０は、送信装置１００から送信された無線信号をアンテナを通じて受信し、受信した無線信号を８ＰＳＫ方式によって復調する。
【００４４】
検波部２２０は、復調部２１０の復調結果を検波し、インターリーブされた状態のビット系列の各ビットの尤度値を求める。この各ビットの尤度値は、デインターリーバ２３０によってデインターリーブされ、ＬＤＰＣ復号部２４０に出力される。デインターリーバ２３０は、送信装置１００のインターリーバ１２０のインターリーブに対応するものである。
【００４５】
受信品質検出部２７０は、図６に示すように、復調部２１０の復調結果から、検波部２２０にて求められる尤度値が得られた信号の受信品質を検出し、この検出結果から、上記尤度値の信頼度を求める。
【００４６】
グルーピング処理部２５２は、受信品質検出部２７０が求めた信頼度に応じて、動的にＬＤＰＣ復号部２４０の変数ノードをグループ分けする。ここでグルーピング処理部２５２は、受信品質が低く、信頼度が低い尤度値が割り当てられる変数ノードをグループＧ１に分類し、一方、受信品質が高く、信頼度が高い尤度値が割り当てられる変数ノードをグループＧ２に分類する。
【００４７】
ここで、ＬＤＰＣ復号部２４０は、ＬＤＰＣ符号化部１１０の符号化処理に対応する構成となっており、変数ノードａ，ｂ，ｃ，ｄ，ｅ、ｆと検査ノードＡ，Ｂ，Ｃ，Ｄを用いてＬＤＰＣ復号を行うものとする。これらのノードの対応関係は、復号（符号化）アルゴリズムに基づいて決定されており、例えば図７に示すように対応づけられていたとする。そして、変数ノードａ，ｂ，ｃ，ｄ，ｅ、ｆにそれぞれ割り当てられる尤度値の信頼度が図６で示したようなａ１，ａ２，ａ３，ａ４，ａ５，ａ６であったとする。
【００４８】
この場合、変数ノードａ，ｂ，ｅは、低い信頼度の尤度値を保持することになるので、グルーピング処理部２５２は、変数ノードａ，ｂ，ｅを同じグループＧ１に分ける。同様に、変数ノードｃ，ｄ，ｆは、高い信頼度の尤度値を保持することになるので、グルーピング処理部２５２は、変数ノードｃ，ｄ，ｆを同じグループＧ２に分ける。
【００４９】
スケジューリング処理部２６２は、グルーピング処理部２５２によるグループ分けの結果と、図７に示した変数ノードと検査ノードの対応関係に基づいて、信頼度の高い尤度値を保持する変数ノードを多く用いた検査ノードの演算から優先的に行うような演算スケジュールを組み立てる。
【００５０】
ここでは、ＬＤＰＣ復号部２４０の変数ノードと検査ノードの対応関係が図７に示すようなものであることより、スケジューリング処理部２６２は、図８に示すような演算スケジュールを組み立てる。この図において、「１」は変数ノードと検査ノードが対応づけられていることを示し、「０」は対応づけられていないことを示す。
【００５１】
すなわち、図８に示す演算スケジュールは、信頼度の高い尤度値を保持するグループＧ２の変数ノードが多く対応づけられた検査ノードから優先的に計算し、逆に、信頼度の低い尤度値を保持するグループＧ１の変数ノードが多く対応づけられた検査ノードを非優先的に計算するように組み立てられる。
【００５２】
ＬＤＰＣ復号部２４０は、スケジューリング処理部２６２によって組み立てられた演算スケジュールにしたがい、変数ノードと検査ノードを用いたＬＤＰＣ復号演算を行うことで、受信データを構成する各ビットの確率値を求め、これを硬判定して受信データを得る。以下、図８に示した演算スケジュールを例に挙げて、ＬＤＰＣ復号演算を説明する。
【００５３】
ＬＤＰＣ復号部２４０は、演算スケジュールで順位１位の検査ノードＤを用いて、これに対応する変数ノードａ，ｂ，ｃ，ｄ，ｆが保持する尤度値に基づく演算を行い、演算結果を検査ノードＤに保持する。次に、ＬＤＰＣ復号部２４０は、検査ノードＤに関わる変数ノードａ，ｂ，ｃ，ｄ，ｆを用いて、それぞれに対応づけられた検査ノードＡ，Ｂ，Ｃ，Ｄが保持する尤度値に基づく演算を行って、この演算結果で変数ノードａ，ｂ，ｃ，ｄ，ｆに保持された尤度値を更新する。
【００５４】
次に、ＬＤＰＣ復号部２４０は、演算スケジュールで順位２位の検査ノードＢを用いて、これに対応する変数ノードｂ，ｄ，ｅ，ｆが保持する尤度値に基づく演算を行い、演算結果を検査ノードＢに保持する。次に、ＬＤＰＣ復号部２４０は、検査ノードＢに関わる変数ノードｂ，ｄ，ｅ，ｆを用いて、それぞれに対応づけられた検査ノードＡ，Ｂ，Ｃ，Ｄが保持する尤度値に基づく演算を行って、この演算結果で変数ノードｂ，ｄ，ｅ，ｆに保持された尤度値を更新する。
【００５５】
次に、ＬＤＰＣ復号部２４０は、演算スケジュールで順位３位の検査ノードＣを用いて、これに対応する変数ノードａ，ｃ，ｄが保持する尤度値に基づく演算を行い、演算結果を検査ノードＣに保持する。次に、ＬＤＰＣ復号部２４０は、検査ノードＣに関わる変数ノードａ，ｃ，ｄを用いて、それぞれに対応づけられた検査ノードＡ，Ｂ，Ｃ，Ｄが保持する尤度値に基づく演算を行って、この演算結果で変数ノードａ，ｃ，ｄに保持された尤度値を更新する。
【００５６】
最後に、ＬＤＰＣ復号部２４０は、演算スケジュールで順位４位の検査ノードＡを用いて、これに対応する変数ノードａ，ｃ，ｅが保持する尤度値に基づく演算を行い、演算結果を検査ノードＡに保持する。次に、ＬＤＰＣ復号部２４０は、検査ノードＡに関わる変数ノードａ，ｃ，ｅを用いて、それぞれに対応づけられた検査ノードＡ，Ｂ，Ｃ，Ｄが保持する尤度値に基づく演算を行って、この演算結果で変数ノードａ，ｃ，ｅに保持された尤度値を更新する。
【００５７】
ＬＤＰＣ復号部２４０は、上述したような演算スケジュールに従ったＬＤＰＣ復号演算を、例えば予め設定した回数だけ繰り返し実行して、最終的に変数ノードａ，ｂ，ｃ，ｄ，ｅ，ｆに保持された尤度値を事後確率値とし、これを硬判定して受信データを得る。なお、このように繰り返し回数を設定する方法以外にも、演算結果のパリティ検査を行ってシンドロームが「０」になった時点で繰り返し演算を停止するようにしてもよい。
【００５８】
また、復号の開始時に各変数ノードの尤度の信頼度を検出するために、ＬＤＰＣ復号部２４０は、すべての検査ノードＡ，Ｂ，Ｃ，Ｄを用いて、変数ノードａ，ｂ，ｃ，ｄ，ｅ，ｆに保持された尤度値に基づく演算を行い、演算結果をそれぞれ検査ノードＡ，Ｂ，Ｃ，Ｄに保持し、次に、ＬＤＰＣ復号部２４０は、すべての変数ノードａ，ｂ，ｃ，ｄ，ｅ，ｆを用いて、それぞれに対応づけられた検査ノードＡ，Ｂ，Ｃ，Ｄの尤度値に基づく演算を行って、この演算結果で変数ノードａ，ｂ，ｃ，ｄ，ｅ，ｆに保持された尤度値を更新するステップを付加しても良い。
【００５９】
以上のように、上記構成の受信装置２０２では、受信品質に応じて、検波部２２０が検出する尤度値の信頼度が変動することに着目したもので、受信品質検出部２７０によって、検波部２２０が検出する尤度値の信頼度を求め、この信頼度に応じてグルーピング処理部２５２がＬＤＰＣ復号部２４０の変数ノードをグループ分けする。
【００６０】
そして、スケジューリング処理部２６２が、グルーピング処理部２５２によるグループ分けの結果と、ＬＤＰＣ復号部２４０のＬＤＰＣ復号演算で用いる変数ノードと検査ノードの対応関係に基づいて、信頼度の高い尤度値を多く保持する変数ノードを用いた検査ノードの演算から優先的に行うような演算スケジュールを動的に組み立て、この演算スケジュールにしたがってＬＤＰＣ復号部２４０がＬＤＰＣ復号演算を行うようにしている。
【００６１】
したがって、上記構成の受信装置２０２によれば、ＬＤＰＣ復号演算を、信頼度の高い尤度値を保持する変数ノードを多く用いた検査ノードの演算から優先的に行うようにしているので、変数ノードと検査ノードを用いた反復演算過程において、事後確率値を早く収束させることができる。このため、変調方式として多値変調が用いられる場合であっても、復号特性を悪化させることなく、効率的に事後確率値を収束させることができる。
【００６２】
なお、上記実施の形態では、図８に示したように、スケジューリング処理部２６２が、検査ノードの演算スケジュールを組み立てて、これに従ってＬＤＰＣ復号部２４０がＬＤＰＣ復号演算を行うようにした。これに代わって例えば、スケジューリング処理部２６２が、信頼度の高い尤度値を保持するグループの変数ノードを優先的に用いて演算を行うように、演算スケジュールを組み立てるようにしてもよい。
【００６３】
すなわち、図７に示す例では、いったん変数ノードと検査ノードによるＬＤＰＣ復号演算を行った後に、まず信頼度の高い尤度値を保持するグループＧ２の変数ノードｃ，ｄ，ｆを用いた演算を行い、そしてこの演算結果に基づいて検査ノードＡ，Ｂ，Ｃ，Ｄを用いた演算を行う。そして、次にグループＧ１の変数ノードａ，ｂ，ｅを用いた演算を行い、そしてこの演算結果に基づいて検査ノードＡ，Ｂ，Ｃ，Ｄを用いた演算を行う。
【００６４】
このような演算スケジュールであっても、変数ノードと検査ノードを用いた反復演算過程において、事後確率値を早く収束させることができ、変調方式として多値変調が用いられる場合であっても、復号特性を悪化させることなく、効率的に事後確率値を収束させることができる。
【００６５】
次に、図９は、この発明の第３の実施形態に係わる通信システムの構成を示すものである。この通信システムは、送信装置１００と受信装置２０３とを備える。送信装置１００が送信データをＬＤＰＣ符号によって符号化して無線送信する。そして、受信装置２０３は、送信装置１００から無線送信されたデータを受信して、復号し受信データを得る。
【００６６】
送信装置１００は、ＬＤＰＣ符号化部１１０、インターリーバ１２０、マッピング処理部１３０、変調部１４０を備える。ＬＤＰＣ符号化部１１０は、送信データをＬＤＰＣ符号を用いて符号化し、符号化されたビット系列を出力する。このビット系列は、インターリーバ１２０によって、ビット単位でインターリーブされ、マッピング処理部１３０に出力される。
【００６７】
マッピング処理部１３０は、インターリーバ１２０にてインターリーブされたビット系列を、後段の変調部１４０で用いる変調方式に対応する単位のビット列に分けるラベル付けを行った後、このラベル付けしたビット列を上記変調方式の信号点に対応づけるマッピングを行う。ここで用いられるラベルとしては、グレイラベルやセットパーティショニング、ランダムラベルなどが考えられる。
【００６８】
変調部１４０が、図２に示すような８ＰＳＫ方式によって多値変調する場合を例に挙げて説明すると、マッピング処理部１３０は、変調部１４０で用いる変調方式が８ＰＳＫ方式であることより、インターリーバ１２０にてインターリーブされたビット系列を、３ビット単位にビット列に分けるラベル付けを行う。
【００６９】
そして次にマッピング処理部１３０は、上記ラベル付けによって切り分けられた３ビット単位のビット列を、その内容に応じて８ＰＳＫ方式のいずれかの信号点に対応づけるマッピングを行い、このマッピングの結果を変調部１４０に出力する。変調部１４０は、マッピング処理部１３０の処理結果を用いて、搬送波を多値変調し、アンテナを通じて空間に放射する。
【００７０】
受信装置２０３は、復調部２１０、検波部２２０、デインターリーバ２３０、ＬＤＰＣ復号部２４０、グルーピング処理部２５３、スケジューリング処理部２６３を備える。復調部２１０は、送信装置１００から送信された無線信号をアンテナを通じて受信し、受信した無線信号を８ＰＳＫ方式によって復調する。
【００７１】
検波部２２０は、復調部２１０の復調結果を検波し、インターリーブされた状態のビット系列の各ビットの尤度値を求める。この各ビットの尤度値は、デインターリーバ２３０によってデインターリーブされ、ＬＤＰＣ復号部２４０に出力される。デインターリーバ２３０は、送信装置１００のインターリーバ１２０のインターリーブに対応するものである。
【００７２】
グルーピング処理部２５３は、ＬＤＰＣ符号化部１１０の符号化処理に応じて、ＬＤＰＣ復号部２４０の変数ノードをグループ分けするものである。ここで、ＬＤＰＣ復号部２４０は、ＬＤＰＣ符号化部１１０の符号化処理に対応する構成となっており、変数ノードａ，ｂ，ｃ，ｄ，ｅ、ｆと検査ノードＡ，Ｂ，Ｃ，Ｄを用いてＬＤＰＣ復号を行うものとする。これらのノードの対応関係は、復号（符号化）アルゴリズムに基づいて決定されており、例えば図１０に示すように対応づけられていたとする。
【００７３】
ＬＤＰＣの検査行列の設計では、すべての変数ノードに接続される枝の数が等しい正則ＬＤＰＣと、変数ノードに接続される枝の数が異なっている非正則ＬＤＰＣがある。非正則ＬＤＰＣを用いた場合、変調信号点による誤り確率がすべての変数ノードで同じであったとしても、各変数ノードへ接続する枝の数に応じて変数ノードそれぞれの誤り確率が異なる。
【００７４】
グルーピング処理部２５３は、ＬＤＰＣ復号部２４０の変数ノードを、検査ノードＡ，Ｂ，Ｃ，Ｄと接続される枝数に応じてグループ分けするものである。図１０に示す構成の場合、変数ノードａ，ｃ，ｄは、枝数が同じ「３」であるので、グルーピング処理部２５３は、変数ノードａ，ｃ，ｄを同じグループＧ１に分ける。同様に、変数ノードｂ，ｅ，ｆは、枝数が同じ「２」であるので、グルーピング処理部２５３は、変数ノードｂ，ｅ，ｆを同じグループＧ２に分ける。
【００７５】
スケジューリング処理部２６３は、グルーピング処理部２５３によるグループ分けの結果と、図１０に示した変数ノードと検査ノードの対応関係に基づいて、枝数の多い変数ノードを多く用いた検査ノードの演算から優先的に行うような演算スケジュールを組み立てる。
【００７６】
ここでは、ＬＤＰＣ復号部２４０の変数ノードと検査ノードの対応関係が図１０に示すようなものであることより、スケジューリング処理部２６３は、図１１に示すような演算スケジュールを組み立てる。この図において、「１」は変数ノードと検査ノードが対応づけられていることを示し、「０」は対応づけられていないことを示す。
【００７７】
すなわち、図１１に示す演算スケジュールは、信頼度の高い尤度値を保持するグループＧ２の変数ノードが多く対応づけられた検査ノードから優先的に計算し、逆に、信頼度の低い尤度値を保持するグループＧ１の変数ノードが多く対応づけられた検査ノードを非優先的に計算するように組み立てられる。
【００７８】
ＬＤＰＣ復号部２４０は、スケジューリング処理部２６３によって組み立てられた演算スケジュールにしたがい、変数ノードと検査ノードを用いたＬＤＰＣ復号演算を行うことで、受信データを構成する各ビットの確率値を求め、これを硬判定して受信データを得る。以下、図１１に示した演算スケジュールを例に挙げて、ＬＤＰＣ復号演算を説明する。
【００７９】
ＬＤＰＣ復号部２４０は、演算スケジュールで順位１位の検査ノードＤを用いて、これに対応する変数ノードａ，ｂ，ｃ，ｄ，ｆが保持する尤度値に基づく演算を行い、演算結果を検査ノードＤに保持する。次に、ＬＤＰＣ復号部２４０は、検査ノードＤに関わる変数ノードａ，ｂ，ｃ，ｄ，ｆを用いて、それぞれに対応づけられた検査ノードＡ，Ｂ，Ｃ，Ｄが保持する尤度値に基づく演算を行って、この演算結果で変数ノードａ，ｂ，ｃ，ｄ，ｆに保持された尤度値を更新する。
【００８０】
次に、ＬＤＰＣ復号部２４０は、演算スケジュールで順位２位の検査ノードＣを用いて、これに対応する変数ノードａ，ｃ，ｄが保持する尤度値に基づく演算を行い、演算結果を検査ノードＣに保持する。次に、ＬＤＰＣ復号部２４０は、検査ノードＣに関わる変数ノードａ，ｃ，ｄを用いて、それぞれに対応づけられた検査ノードＡ，Ｂ，Ｃ，Ｄが保持する尤度値に基づく演算を行って、この演算結果で変数ノードａ，ｃ，ｄに保持された尤度値を更新する。
【００８１】
次に、ＬＤＰＣ復号部２４０は、演算スケジュールで順位３位の検査ノードＢを用いて、これに対応する変数ノードｂ，ｄ，ｅ，ｆが保持する尤度値に基づく演算を行い、演算結果を検査ノードＢに保持する。次に、ＬＤＰＣ復号部２４０は、検査ノードＢに関わる変数ノードｂ，ｄ，ｅ，ｆを用いて、それぞれに対応づけられた検査ノードＡ，Ｂ，Ｃ，Ｄが保持する尤度値に基づく演算を行って、この演算結果で変数ノードｂ，ｄ，ｅ，ｆに保持された尤度値を更新する。
【００８２】
最後に、ＬＤＰＣ復号部２４０は、演算スケジュールで順位４位の検査ノードＡを用いて、これに対応する変数ノードａ，ｃ，ｅが保持する尤度値に基づく演算を行い、演算結果を検査ノードＡに保持する。次に、ＬＤＰＣ復号部２４０は、検査ノードＡに関わる変数ノードａ，ｃ，ｅを用いて、それぞれに対応づけられた検査ノードＡ，Ｂ，Ｃ，Ｄが保持する尤度値に基づく演算を行って、この演算結果で変数ノードａ，ｃ，ｅに保持された尤度値を更新する。
【００８３】
ＬＤＰＣ復号部２４０は、上述したような演算スケジュールに従ったＬＤＰＣ復号演算を、例えば予め設定した回数だけ繰り返し実行して、最終的に変数ノードａ，ｂ，ｃ，ｄ，ｅ，ｆに保持された尤度値を事後確率値とし、これを硬判定して受信データを得る。なお、このように繰り返し回数を設定する方法以外にも、演算結果のパリティ検査を行ってシンドロームが「０」になった時点で繰り返し演算を停止するようにしてもよい。
【００８４】
また、復号の開始時に各変数ノードの尤度の信頼度を検出するために、ＬＤＰＣ復号部２４０は、すべての検査ノードＡ，Ｂ，Ｃ，Ｄを用いて、変数ノードａ，ｂ，ｃ，ｄ，ｅ，ｆに保持された尤度値に基づく演算を行い、演算結果をそれぞれ検査ノードＡ，Ｂ，Ｃ，Ｄに保持し、次に、ＬＤＰＣ復号部２４０は、すべての変数ノードａ，ｂ，ｃ，ｄ，ｅ，ｆを用いて、それぞれに対応づけられた検査ノードＡ，Ｂ，Ｃ，Ｄの尤度値に基づく演算を行って、この演算結果で変数ノードａ，ｂ，ｃ，ｄ，ｅ，ｆに保持された尤度値を更新するステップを付加しても良い。
【００８５】
以上のように、上記構成の受信装置２０３では、ＬＤＰＣ復号部２４０の変数ノードの枝数に応じて、変数ノードで求まる尤度の信頼度が異なることに着目し、この信頼度に応じてグルーピング処理部２５３がＬＤＰＣ復号部２４０の変数ノードをグループ分けする。
【００８６】
そして、スケジューリング処理部２６３が、グルーピング処理部２５３によるグループ分けの結果と、ＬＤＰＣ復号部２４０のＬＤＰＣ復号演算で用いる変数ノードと検査ノードの対応関係に基づいて、上記信頼度の高い変数ノードを多く用いた検査ノードの演算から優先的に行うような演算スケジュールを組み立てておき、この演算スケジュールにしたがってＬＤＰＣ復号部２４０がＬＤＰＣ復号演算を行うようにしている。
【００８７】
したがって、上記構成の受信装置２０３によれば、ＬＤＰＣ復号演算を、枝数が多く信頼度の高い変数ノードを多く用いた検査ノードの演算から優先的に行うようにしているので、変数ノードと検査ノードを用いた反復演算過程において、事後確率値を早く収束させることができる。このため、変調方式として多値変調が用いられる場合であっても、復号特性を悪化させることなく、効率的に事後確率値を収束させることができる。
【００８８】
なお、上記実施の形態では、スケジューリング処理部２６３が、グルーピング処理部２５３によるグループ分けの結果と、ＬＤＰＣ復号部２４０のＬＤＰＣ復号演算で用いる変数ノードと検査ノードの対応関係に基づいて、信頼度の高い尤度値を保持する変数ノードを用いた検査ノードの演算から優先的に行うような演算スケジュールを組み立てるようにした。
【００８９】
これに対して、上記グループ分けとノードの対応関係は通信を行う前に既知であることより、グルーピング処理部２５３と、スケジューリング処理部２６３を備えなくても、予め組み立てた演算スケジュールをＬＤＰＣ復号部２４０に設定することができる。また、上記グループ分けとノードの対応関係に基づいて、グルーピング処理部２５３と、スケジューリング処理部２６３によって、動的に演算スケジュールを可変することも可能である。
【００９０】
また、上記実施の形態では、図１１に示したように、スケジューリング処理部２６３が、検査ノードの演算スケジュールを組み立てて、これに従ってＬＤＰＣ復号部２４０がＬＤＰＣ復号演算を行うようにした。これに代わって例えば、スケジューリング処理部２６１が、枝数が多く信頼度の高い変数ノードを優先的に用いて演算を行うように、演算スケジュールを組み立てるようにしてもよい。
【００９１】
すなわち、図１０に示す例では、いったん変数ノードと検査ノードによるＬＤＰＣ復号演算を行った後に、まず枝数が多く信頼度の高いグループＧ１の変数ノードａ，ｃ，ｄを用いた演算を行い、そしてこの演算結果に基づいて検査ノードＡ，Ｂ，Ｃ，Ｄを用いた演算を行う。そして、次にグループＧ２の変数ノードｂ，ｅ，ｆを用いた演算を行い、そしてこの演算結果に基づいて検査ノードＡ，Ｂ，Ｃ，Ｄを用いた演算を行う。
【００９２】
このような演算スケジュールであっても、変数ノードと検査ノードを用いた反復演算過程において、事後確率値を早く収束させることができ、変調方式として多値変調が用いられる場合であっても、復号特性を悪化させることなく、効率的に事後確率値を収束させることができる。
【００９３】
次に、この発明の第４の実施形態に係わる受信装置２０４について説明する。図１２は、その構成を示すものである。この受信装置２０４は、図１に示した送信装置１００から無線送信されたデータを受信して、復号し受信データを得る。
【００９４】
この図に示す受信装置２０４は、復調部２１０、検波部２２４、デインターリーバ２３０、ＬＤＰＣ復号部２４４、インターリーバ２８０、重み付け部２９０を備える。復調部２１０は、送信装置１００から送信された無線信号をアンテナを通じて受信し、受信した無線信号を８ＰＳＫ方式によって復調する。
【００９５】
検波部２２４は、復調部２１０の復調結果を検波し、インターリーブされた状態のビット系列の各ビットの尤度値を求める。この段階で求められた尤度値は、初期尤度値として検波部２２４に備えられたバッファメモリ２２４ａに一時的に蓄積されるとともに、デインターリーバ２３０に出力される。
【００９６】
そしてその後、検波部２２４は、後述する重み付け部２９０から重み係数Ｗが与えられると、この重み係数Ｗを上記バッファメモリ２２４ａに蓄積しておいた各ビットの尤度値に乗算する。このようにして重み係数Ｗが乗算されたビット毎の尤度値は、補正尤度値としてデインターリーバ２３０に出力される。なお、検波部２２４は、求めた尤度値に、初期尤度値か補正尤度値かを識別する識別情報を付加して、デインターリーバ２３０に出力する。
【００９７】
デインターリーバ２３０は、検波部２２４から入力される初期尤度値および補正尤度値をそれぞれデインターリーブし、ＬＤＰＣ復号部２４４に出力する。デインターリーバ２３０は、送信装置１００のインターリーバ１２０のインターリーブに対応するものである。
【００９８】
ＬＤＰＣ復号部２４４は、前述の第１乃至第３の実施形態で説明したＬＤＰＣ復号部２４４と同様に、送信装置１００のＬＤＰＣ符号化部１１０の符号化処理に対応する構成となっており、変数ノードａ，ｂ，ｃ，ｄ，ｅ、ｆと検査ノードＡ，Ｂ，Ｃ，Ｄを用いてＬＤＰＣ復号を行うものである。
【００９９】
そして、ＬＤＰＣ復号部２４４は、図示しないスケジューリング処理部２６１などによって組み立てられた演算スケジュールにしたがい、上記変数ノードと上記検査ノードを用いたＬＤＰＣ復号演算を行い、受信データを構成する各ビットの確率値を求める。なお、ＬＤＰＣ復号部２４４で用いられる演算スケジュールは、前述の第１乃至第３の実施形態で説明したいずれの手法で求めたスケジュールを適用することができる。
【０１００】
デインターリーバ２３０は、送信装置１００のインターリーバ１２０と同等の構成となっており、同じ手順にしたがって、ＬＤＰＣ復号部２４４から入力される確率値をインターリーブし、重み付け部２９０に出力する。
【０１０１】
重み付け部２９０は、デインターリーバ２３０にてインターリーブされた確率値に基づいて、検波部２２４のバッファメモリ２２４ａに蓄積される初期尤度値にそれぞれ対応する重み係数Ｗを求め、検波部２２４に出力する。なお、ここでは、重み係数Ｗを確率値に基づいて求めるものとしたが、対数尤度値に基づいて重み係数Ｗを求めることも可能である。
【０１０２】
以上のように、上記構成の受信装置２０４では、まず初期の処理として、検波部２２４が検波結果を初期尤度値としてバッファメモリ２２４ａに一時的に蓄積しておき、この初期尤度値に基づいてＬＤＰＣ復号部２４４が求めた確率値に基づいて、重み付け部２９０が上記初期尤度値を補正するための重み係数Ｗを求める。
【０１０３】
そして、検波部２２４が上記重み係数Ｗで、バッファメモリ２２４ａに一時的に蓄積しておいた初期尤度値を補正して、この補正によって得られた信頼度の高い補正尤度値に基づいてＬＤＰＣ復号部２４４が受信データの確率値を求め、これを硬判定して受信データを得るようにしている。
【０１０４】
したがって、上記構成の受信装置２０４によれば、演算スケジュールに従ってＬＤＰＣ復号演算を行うとともに、このＬＤＰＣ復号演算を反映させた信頼度の高い尤度値から事後確率値を求めるようにしているので、効率的に事後確率値を収束させることができる。このため、変調方式として多値変調が用いられる場合であっても、復号特性を悪化させることなく、効率的に事後確率値を収束させることができる。
【０１０５】
また、上記構成の受信装置２０４では、ＬＤＰＣ復号部２４４が初期尤度値が入力される場合に初期確率値を求め、一方、補正尤度値が入力される場合には補正尤度値を用いて求めた確率値に基づく硬判定を行って、受信データを得るようにした。
【０１０６】
つまり、ＬＤＰＣ復号部２４４が初期確率値と受信データを求めるようにしている。しかしながら、このように初期確率値を求める構成と受信データを求める構成とが１つである必要はなく、初期確率値を求める構成と、受信データを求める構成を別々に備えるようにしてもよい。
【０１０７】
なお、この発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また上記実施形態に開示されている複数の構成要素を適宜組み合わせることによって種々の発明を形成できる。また例えば、実施形態に示される全構成要素からいくつかの構成要素を削除した構成も考えられる。さらに、異なる実施形態に記載した構成要素を適宜組み合わせてもよい。
【０１０８】
また上記実施の形態では、無線を用いる通信システムに適用した場合を例に挙げて説明したが、これに限定されるものではない。ＬＤＰＣ符号を用いて情報を入出力、伝送するものであれば、有線を用いる通信機器、ハードディスクドライブ、オーディオ機器など、種々の機器に適用可能である。
【図面の簡単な説明】
【０１０９】
【図１】この発明の第１の実施の形態に係わる通信システムの構成を示す図。
【図２】８ＰＳＫ変調の信号点の信頼度を説明するための図。
【図３】図１に示した受信装置のＬＤＰＣ復号部で行われる復号演算の概念を説明するための図。
【図４】図１に示した受信装置のＬＤＰＣ復号部で行われる復号演算の概念を説明するための図。
【図５】この発明の第２の実施の形態に係わる受信装置の構成を示す図。
【図６】受信品質に応じてビット列の信頼度が変動する様子を説明するための図。
【図７】図５に示した受信装置のＬＤＰＣ復号部で行われる復号演算の概念を説明するための図。
【図８】図５に示した受信装置のＬＤＰＣ復号部で行われる復号演算の概念を説明するための図。
【図９】この発明の第３の実施の形態に係わる通信システムの構成を示す図。
【図１０】図９に示した受信装置のＬＤＰＣ復号部で行われる復号演算の概念を説明するための図。
【図１１】図９に示した受信装置のＬＤＰＣ復号部で行われる復号演算の概念を説明するための図。
【図１２】この発明の第４の実施の形態に係わる受信装置の構成を示す図。
【符号の説明】
【０１１０】
１００…送信装置、１１０…ＬＤＰＣ符号化部、１２０…インターリーバ、１３０…マッピング処理部、１４０…変調部、２０１〜２０４…受信装置、２１０…復調部、２２０…検波部、２２４…検波部、２２４ａ…バッファメモリ、２３０…デインターリーバ、２４０，２４４…ＬＤＰＣ復号部、２５１〜２５３…グルーピング処理部、２６１〜２６３…スケジューリング処理部、２７０…受信品質検出部、２８０…インターリーバ、２９０…重み付け部。
【図１】
2005347883.tif 000003
【図２】
2005347883.tif 000004
【図３】
2005347883.tif 000005
【図４】
2005347883.tif 000006
【図５】
2005347883.tif 000007
【図６】
2005347883.tif 000008
【図７】
2005347883.tif 000009
【図８】
2005347883.tif 000010
【図９】
2005347883.tif 000011
【図１０】
2005347883.tif 000012
【図１１】
2005347883.tif 000013
【図１２】
2005347883.tif 000014