(57)【特許請求の範囲】
【請求項１】
ＬＤＰＣ符号よりなる符号化データに対して、サムプロダクト復号法を簡略化した復号方式に基づく誤り訂正復号を行って復号データを得る復号器であって、
前記符号化データに行処理演算を行う行処理部と、
行処理演算の結果得られたデータに列処理演算を行う列処理部と、
前記行処理部における行処理演算で生成される前記データの中で予め選定された一部のデータである被監視値に基づいて、次の列処理演算に用いる変数をスケーリングするか否かを判定するスケーリング処理部とを備えていることを特徴とする復号器。
【請求項２】
前記列処理演算に必要な外部値対数比は、対数尤度比と事前値対数比との和の絶対値の第１最小値と第２最小値を用いて演算されるものであり、
前記スケーリング処理部は、前記第２最小値を前記被監視値とする監視部と、この監視部で検出された前記第２最小値が所定値を超えた場合に前記変数をスケーリングするスケーリング部とを有する請求項１に記載の復号器。
【請求項３】
前記列処理演算に必要な外部値対数比は、対数尤度比と事前値対数比との和の絶対値の第１最小値と第２最小値を用いて演算されるものであり、
前記スケーリング処理部は、前記第１最小値の最下位ビット値を前記被監視値とする監視部と、この監視部で検出された最下位ビット値がゼロである場合に前記変数をスケーリングするスケーリング部とを有する請求項１に記載の復号器。
【請求項４】
前記監視部は、更に前記第２最小値の最下位ビット値を前記被監視値としており、
前記スケーリング部は、前記監視部で検出された双方の最下位ビット値がいずれもゼロである場合に前記変数をスケーリングする請求項３に記載の復号器。
【請求項５】
通信路に伝送された符号化データを受信して復号する受信装置であって、
受信した前記符号化データをデジタル復調する復調器と、
復調された前記符号化データのデジタル信号を復号する前記項１〜４のいずれか１項に記載の復号器とを備えていることを特徴とする受信装置。
【請求項６】
ＬＤＰＣ符号よりなる符号化データに対して、サムプロダクト復号法を簡略化した復号方式に基づく誤り訂正復号を行って復号データを得る符号化データの復号方法であって、
行処理演算で生成されるデータの中で予め選定された一部のデータである被監視値に基づいて、次の列処理演算に用いる変数をスケーリングするか否かを判定することを特徴とする符号化データの復号方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サムプロダクト法を簡略化した復号方式に基づく誤り訂正復号を行う復号器等に関するものである。
【背景技術】
【０００２】
デジタル通信の分野では、有線及び無線を問わず、高速通信、低消費電力及び高い通信品質（ビット誤り率）が望まれている。誤り訂正技術は、これらの要求を満足させるための技術の一つとして、無線、有線及び記録システム等において幅広く利用されている。
かかる誤り訂正技術の一つとして、低密度パリティ検査（ＬＤＰＣ：Low-Density Parity-Check）符号と、その復号法であるサムプロダクト（sum-product）復号法とが注目されている（非特許文献１）。
【０００３】
このＬＤＰＣ符号では、白色ガウス通信路のシャノン（Shannon）限界まで、０．００４ｄＢという復号特性が得られることが知られている。また、サムプロダクト復号法は、並列処理による復号処理を実行するため、符号長を長くすることができるとともに、処理能力を向上させることができる。
このＬＤＰＣ符号の復号処理を実現する回路技術については、和田山正やEnring Yaoらによってそのハード構成が示されている（非特許文献１及び２）。
【０００４】
一方、ＬＤＰＣ符号の復号アルゴリズムとしては、上記サムプロダクト復号法を簡略化したミニサム（min-sum）復号法が考案されており（特許文献１）、また、本出願の発明者は、これより更に簡略化された復号方式として、ＦＵＭＰ−ＡＰＰ（Fast Uniformly Most Powerful-A Posteriori Probability）復号法を発表している（非特許文献３）。
【０００５】
【特許文献１】特開２００５−２６９５３５号公報
【非特許文献１】和田山正  「低密度パリティ検査符号とその復号法について」  信学技報
【非特許文献２】Engling Yeo “VLSI Architectures for Iterative Decoders in Magnetic Recording Channels” IEEE Trans. On Magnetics, vol.37, NO2. March 2001
【非特許文献３】前畠貴  ”FUMP-APP復号法によるLDPC復号器の実装"  信学技報,CAS2006,pp8-20,June 2006
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ＬＤＰＣ符号の復号処理を固定小数点のデジタル信号処理で実施する場合、取り扱う数値にアンダーフローやオーバーフローによる誤差が生じないように回路設計を行う必要がある。
しかしながら、ＬＤＰＣ符号の復号処理では、受信データが正しかった場合には、反復計算を実施する毎にその計算に関連する変数（事前値対数比β等）の絶対値が大きくなるという固有の問題がある。ＬＤＰＣ符号の復号処理では信頼度情報の更新を行っており、受信データが正しい場合には常に信頼度が増加するからである。
【０００７】
このため、ＬＤＰＣ符号の復号処理においては、反復処理が進み受信データに含まれる誤りが訂正され始めると、反復計算に関連する数値が急激に大きくなる傾向にある。
そこで、反復計算の関連数値（復号処理に用いる各変数：αやβ）が大きくなり過ぎないようにするのに、その関連数値のスケーリングを行えばよいとされているが、このスケーリングを復号処理における反復計算と同時に行うには、非常に多くの関連数値の変化を監視する必要があり、演算負荷が増大するという問題がある。
【０００８】
本発明は、このような従来の問題点に鑑み、ＬＤＰＣ符号の復号法で使用される固定小数点タイプのデジタル信号処理に関して、反復計算の際にオーバーフローの発生する恐れのある関連数値について、演算負荷を増大させずに効率よくスケーリングを行うことができる復号器等を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の復号器（請求項１）は、ＬＤＰＣ符号よりなる符号化データに対して、サムプロダクト復号法を簡略化した復号方式に基づく誤り訂正復号を行って復号データを得る復号器であって、前記符号化データに行処理演算を行う行処理部と、行処理演算の結果得られたデータに列処理演算を行う列処理部と、前記行処理部における行処理演算で生成される前記データの中で予め選定された一部のデータである被監視値に基づいて、次の列処理演算に用いる変数をスケーリングするか否かを判定するスケーリング処理部とを備えていることを特徴とする。
【００１０】
上記復号器によれば、オーバーブローの防止のためのスケーリング処理部が、行処理部における行処理演算で生成されるデータの中で予め選定された一部のデータである被監視値に基づいて、次の列処理演算に用いる変数のスケーリングを行うので、スケーリングを行うに際して復号処理に用いるすべての変数を監視する必要がなく、演算負荷を増大させずに効率よくスケーリングを行うことができる。
【００１１】
本発明の復号器において、サムプロダクト復号法を簡略化した復号方式としては、例えば前記ミニサム復号法を採用することができ、この場合、前記列処理演算に必要な外部値対数比は、対数尤度比と事前値対数比との和の絶対値の第１最小値と第２最小値を用いて演算されるものとなる。
そして、この場合、第２最小値は常に第１最小値以上の値になるので、前記スケーリング処理部としては、その第２最小値を前記被監視値とする監視部と、この監視部で検出された前記第２最小値が所定値を超えた場合に前記変数をスケーリングするスケーリング部とを有するものを採用すればよい（請求項２）。
【００１２】
一方、ＬＤＰＣ符号の復号法において、誤り訂正能力と密接に関連しているのは、寧ろ絶対値の小さい（尤度の小さい）変数である。
このため、仮に第２最小値の大きさのみを基準としてスケーリングを行った場合、それより小さい第１最小値に丸め誤差が生じ、この丸め誤差によって却って誤り訂正能力が低下することが懸念される。
【００１３】
そこで、本発明において、前記スケーリング処理部として、前記第１最小値の最下位ビット値を前記被監視値とする監視部と、この監視部で検出された最下位ビット値がゼロである場合に前記変数をスケーリングするスケーリング部とを有するものを採用してもよい（請求項３）。
この場合、変数のスケーリングを例えば「２」で除算する演算に設定すれば、スケーリング処理によって第１最小値に丸め誤差が生じることがなく、スケーリング処理に伴う訂正能力の低下を未然に防止することができる。
【００１４】
また、この場合に、第１最小値と第２最小値の双方の最下位ビット値がいずれもゼロであれば、各最小値はいずれも偶数であり、双方を例えば「２」（２進法での「１０」）で除算してスケーリングできるとともに、各最小値の双方を同じ値である「２」で除算しても、復号処理後の一時推定語に影響しない。
そこで、前記監視部が、更に前記第２最小値の最下位ビット値を前記被監視値としており、前記スケーリング部が、前記監視部で検出された双方の最下位ビット値がいずれもゼロである場合に前記変数をスケーリングするようにすれば（請求項４）、第１及び第２最小値の双方に丸め誤差が生じることがなく、スケーリング処理に伴う訂正能力の低下をより完全に防止することができる。
【００１５】
本発明の受信装置（請求項５）は、通信路に伝送された符号化データを受信して復号する受信装置であって、受信した前記符号化データをデジタル復調する復調器と、復調された前記符号化データのデジタル信号を復号する前記復号器とを備えていることを特徴とする。
また、本発明の復号方法（請求項６）は、ＬＤＰＣ符号よりなる符号化データに対して、サムプロダクト復号法を簡略化した復号方式に基づく誤り訂正復号を行って復号データを得る符号化データの復号方法であって、行処理演算で生成されるデータの中で予め選定された一部のデータである被監視値に基づいて、次の列処理演算に用いる変数をスケーリングするか否かを判定することを特徴とする。
【００１６】
上記受信装置及び復号方法によれば、行処理演算で生成されるデータの中で予め選定された一部のデータである被監視値に基づいて次の列処理演算に用いる変数をスケーリングするか否かを判定するので、スケーリングを行うに際して復号処理に用いるすべての変数を監視する必要がない。
このため、演算負荷を増大させずに効率よくスケーリングを行うことができ、オーバーフローによる能力低下を安価に防止することができる。
【発明の効果】
【００１７】
以上の通り、本発明によれば、ＬＤＰＣ符号の復号法で使用される固定小数点タイプのデジタル信号処理に関して、反復計算の際にオーバーフローの発生する恐れのある関連数値について、演算負荷を増大させずに効率よくスケーリング処理を行うことができる。
【発明を実施するための最良の形態】
【００１８】
〔通信システム〕
図１は、本発明に従う復号器を用いた通信システムの構成の一例を示す図である。
図１に示すように、この通信システムは、符号化データを送信する送信装置Ｓと、符号化データを受信して復号する受信装置Ｒとを備えている。
【００１９】
上記送信装置Ｓは、送信情報に誤り訂正用の冗長ビットを付加して送信符号（符号化データ）を生成する符号化器１と、この符号化器１からの（Ｋ＋Ｍ）ビットの符号を所定の方式に従って変調して通信路３へ出力する変調器２とを含む。
符号化器１は、Ｋビットの情報に対し、パリティ計算用の冗長ビットＭビットを付加して、（Ｋ＋Ｍ）ビットのＬＤＰＣ（低密度パリティ検査）符号を生成する。低密度パリティ検査行列においては、行数が冗長ビット数に対応し、列数が符号ビット数に対応する。ただし、一般的には、各ビット数と行数又は列数とが一致しない場合もある。
【００２０】
また、（Ｋ＋Ｍ）ビットのＬＤＰＣ符号化データのどのビットに、Ｋ個の情報ビット及びＭ個の冗長ビットを配置するかは、送信側と受信側で取り決めていれば、どのように配置してもよい。
変調器２は、この通信路の構成に応じて、振幅変調、位相変調、コード変調、周波数変調又は直交周波数分割多重変調などの変調を行う。
【００２１】
例えば、通信路３が光ファイバの場合、変調器２においては、レーザダイオードの輝度を送信情報ビット値に応じて変更させることにより、光の強度変調（一種の振幅変調）を行っている。
すなわち、送信データビットが“０”の場合には、“＋１”に変換して、レーザダイオードの発光強度を強くして送信し、また送信データビットが“＋１”の場合、“−１”に変換して、レーザダイオードの発光強度を弱くして送信する。
【００２２】
前記受信装置Ｒは、通信路３を介して送信された変調信号に復調処理を施して、（Ｋ＋Ｍ）ビットのデジタル符号を復調する復調器４と、この復調器４からの（Ｋ＋Ｍ）ビットの符号にパリティ検査行列に基づく復号処理を施して元のＫビットの情報を再生する復号器５とを備えている。
復調器４は、この通信路３における送信形態に応じて復調処理を行なう。例えば、振幅変調、位相変調、コード変調、周波数変調および直行周波数分割多重変調等の場合、復調器４において、振幅復調、位相復調、コード復調及び周波数復調等の処理が行われる。
【００２３】
〔送信データと復調データの対応関係〕
図２は、通信路３が光ファイバの場合の変調器２及び復調器４の出力データの対応関係を一覧にして示す図である。
図２において、上述のように、通信路３が光ファイバの場合、変調器２においては、送信データが“０”のときには、“１”に変換され、送信用のレーザダイオード（発光ダイオード）の発光強度が強くなり、また送信データビットが“１”のときには、“−１”に変換され、レーザダイオードの発光強度を弱くして送信する。
【００２４】
この通信路３における伝送損失等により、復調器４に伝達される光強度は、最も強い強度から最も弱い強度までの間のアナログ的な強度分布を有する。復調器４においては、この入力された光信号の量子化処理（アナログ／デジタル変換）を行なって、この受光レベルを検出する。
図２においては、８段階に受光レベルが量子化された場合の受信信号強度を示す。すなわち、受光レベルがデータ“７”のときには、発光強度がかなり強く、受光レベルが“０”のときには、光強度がかなり弱い状態である。
【００２５】
各受光レベルは符号付きデータに対応づけられ、復調器４から出力される。この復調器４の出力は、受光レベルが“７”のときにはデータ“３”が出力され、受光レベルが“０”のときには、データ“−４”が出力される。従って、この復調器４からは、１ビットの受信信号に対し、多値量子化された信号が出力される。
復号器５は、この復調器４から与えられた（Ｋ＋Ｍ）ビットの受信符号化データ（各ビットは、多値情報を含む）の入力を受け、例えば後に詳述するミニサム復号法に従ってＬＤＰＣパリティ検査行列を適用し、元のＫビットの情報を復元する。
【００２６】
なお、この図２においては、復調器４において、８レベルに量子化されたビットが生成されている。しかしながら、一般に、この復調器４においては、Ｌ値（Ｌ≧２）に量子化されたビットを用いて復号処理を行なうことができる。
また、図２においては、比較器を用いて、あるしきい値を使って受信信号のレベルを判定し、２値信号を生成してもよい。
【００２７】
〔復号器の構成〕
図３は、上記復号器５の構成を概略的に示す図である。
この図３においては、復調器４及び通信路３も併せて示してある。
復調器４は、通信路３から与えられた信号を復調する復調回路４ａと、この復調回路４ａにより生成されたアナログ復調信号をデジタル信号に変換するアナログ／デジタル変換回路４ｂを含み、このアナログ／デジタル変換回路４ｂの出力データＸｎが復号化器５へ与えられる。
【００２８】
この復号器５へ与えられる符号化データＸｎはＬ値（Ｌ≧２）のデータである。この符号化データＸｎは多値量子化データであるため、以下においては、当該データＸｎをシンボルと称することがある。
復号器５は、この入力シンボルＸｎ系列に対してミニサム復号法に従って復号処理を行なって符号ビットＣｎを生成するものであり、復調器４からの復調シンボルＸｎの対数尤度比λｎを生成する対数尤度比算出部１０と、パリティ検査行列の行処理を行う行処理部１２と、パリティ検査行列の列処理を行う列処理部１４と、対数尤度比算出部１０からの対数尤度比λｎと行処理部１２の出力ビット（外部値対数比）αｍｎとに従って符号を生成するループ判定部１６とを備えている。
【００２９】
対数尤度比算出部１０は、上記受信信号のノイズ情報とは独立に、対数尤度比λｎを生成する。通常、ノイズ情報を考慮した場合には、この対数尤度比λｎは、Ｘｎ／（２・σ・σ）で与えられる。ここで、σは、ノイズの分散を示す。
しかし、本実施形態においては、この対数尤度比算出部１０は、バッファ回路または定数乗算回路で形成され、対数尤度比λｎは、Ｘｎ・ｆで与えられる。ここで、ｆは非ゼロの正の数である。このノイズ情報を利用せずに、対数尤度比を算出することにより、回路構成が簡略化され、また計算処理も簡略化される。
【００３０】
なお、ミニサム復号法では、検査行列の処理において最小値を利用して演算するので、信号処理において非ゼロの正の数によるスケーリングに関して線形性が維持される。このため、ノイズ情報に従って出力データを正規化するなどの処理は不要である。
【００３１】
〔復号器の演算アルゴリズム〕
行処理部１２及び列処理部１４は、それぞれ、次の式（１）及び（２）に従って演算処理を行い、パリティ検査行列の行の各要素についての処理（行処理）と、列の各要素についての処理（列処理）を実行する。
また、行処理部１２は、列処理部１４から与えられる事前値対数比βｍｎと対数尤度比λｎとに従って外部値対数比αｍｎを更新する。
【００３２】
【数１】
0004645640.tif 000002
【００３３】
上記式（１）及び（２）のそれぞれにおいて、ｎ′∈Ａ（ｍ）＼ｎとｍ′∈Ｂ（ｎ）＼ｍは、自身を除く要素を意味する。外部値対数比αｍｎについては、ｎ′≠ｎであり、事前値対数比βｍｎについては、ｍ′≠ｍである。
また、αおよびβの行列内の位置を示す添え字“ｍｎ”は、通常は下付文字で示されるが、本明細書においては、読みやすさのために、「横並びの文字」で示す。
【００３４】
上記式（１）中の関数ｓｉｇｎ（ｘ）は、次式（３）で定義される。
【数２】
0004645640.tif 000003
【００３５】
ここで、関数ｍｉｎは、最小値を求める演算子を意味する。
また、集合Ａ（ｍ）及びＢ（ｎ）は、２元Ｍ・Ｎ行列Ｈ＝［Ｈｍｎ］を復号対象に対するＬＤＰＣ符号の検査行列とした場合、集合［１，Ｎ］＝｛１，２，…，Ｎ｝の部分集合である。
Ａ（ｍ）＝｛ｎ：Ｈｍｎ＝１｝ ……（４）
Ｂ（ｎ）＝｛ｍ：Ｈｍｎ＝１｝ ……（５）
【００３６】
すなわち、部分集合Ａ（ｍ）は、検査行列Ｈの第ｍ行目において１が立っている列インデックスの集合を意味し、部分集合Ｂ（ｎ）は、検査行列Ｈの第ｎ列目において１が立っている行インデックスの集合を示す。
より具体的に説明するために、例えば図４に示す検査行列Ｈを考える。
この図４の検査行列Ｈにおいては、第１行の第１列から第３列に“１”が立ち、また第２行の第３列および第４列に“１”が立ち、また第３行の第４列から第６列に、“１”が立つ。従って、この場合、部分集合Ａ（ｍ）は以下のようになる。
【００３７】
Ａ（１）＝｛１，２，３｝
Ａ（２）＝｛３，４｝
Ａ（３）＝｛４，５，６｝
【００３８】
同様に、部分集合Ｂ（ｎ）については、以下のようになる。
Ｂ（１）＝Ｂ（２）＝｛１｝
Ｂ（３）＝｛１，２｝
Ｂ（４）＝｛２，３｝
Ｂ（５）＝Ｂ（６）＝｛３｝
【００３９】
この検査行列Ｈにおいて、タナー（Tanner）グラフを用いた場合、列に対応する変数ノードと行に対応するチェックノードの接続関係が、この“１”により示される。これを、本明細書においては「“１”が立つ」と称している。
すなわち、図５に示すように、変数ノード１，２，３は、チェックノードＸ（第１行）に接続され、変数ノード３，４が、チェックノードＹ（第２行）に接続される。変数ノード４，５，６が、チェックノードＺ（第３行）に接続される。
【００４０】
この変数ノードが検査行列Ｈの列に対応し、チェックノードＸ，ＹおよびＺが、この検査行列Ｈの各行に対応する。従って、図４に示す検査行列は、情報ビットが３ビット、冗長ビットが３ビットの合計６ビットの符号に対して適用される。
ＬＤＰＣの検査行列Ｈでは、“１”の数は少なく低密度の検査行列であり、これによって計算量を低減できる。この変数ノードとチェックノードの間で各条件確率Ｐ（Ｘｉ｜Ｙｉ）を伝播させ、ＭＡＰアルゴリズムに従って、尤もらしい符号を各変数ノードについて決定する。ここで、条件付確率Ｐ（Ｘｉ｜Ｙｉ）は、Ｙｉの条件下でＸｉとなる確率を示す。
【００４１】
〔ループ判定部〕
ループ判定部１６は、上記行処理部１２及び列処理部１４における演算処理の結果に基づいて一時推定語を生成し、これらの一時推定語が符号語を構成しているかを検査する。このパリティ検査時において、シンドロームが“０”とならない場合には、再び処理を繰返し実行する。この処理の繰返し回数が所定値に到達すると、そのときの一時推定語を符号語として出力する。
【００４２】
本実施形態においては、前述の式（１）における最小値関数ｍｉｎの演算処理操作（以下、Ｍｉｎ演算と称すことがある。）時に、すべての入力データ（シンボル）Ｘｎの対数尤度比λｎと事前値対数比βｍｎの絶対値の最小値及び次の最小値（以下、これらを第１最小値及び第２最小値と称する。）を記憶し、これらのいずれかを選択することにより、この最小値関数ｍｉｎの演算を実行する。
【００４３】
〔外部値対数比の演算動作の具体例〕
次に、この行処理部１２における外部値対数比αｍｎの演算をより具体的に説明する。
いま、入力シンボルＸｎの系列として、次式で示される入力シンボルＸｎを考え、パリティ検査行列（以下、単に検査行列と称す）Ｈとしては、図４に示す検査行列Ｈを利用するものとする。
Ｘｎ＝（３，１，２，−１，１，２）
【００４４】
検査行列Ｈの第１行の処理としては、図５に示すチェックノードＸにおける処理が実行される。
この場合、図６（ａ）に示すように、外部値対数比α１１は、チェックノード２及び３の値である（λ２＋β１２）と（λ３＋β１３）を用いて絶対値の最小値を検出し、かつこれらのチェックノード２及び３の値の符号を乗算することにより求められる。すなわち、外部値対数比α１１は、次式で表わされる。
α１１
＝ｓｉｇｎ（λ２＋β１２）・ｓｉｇｎ（λ３＋β１３）
・Ｍｉｎ（｜λ２＋β１２｜，｜λ３＋β１３｜）
【００４５】
なお、チェックノード４から６についてはは、検査行列Ｈの対応の要素が“０”であり、この演算処理には利用されない。符号“・”は、乗算を示す。
次に、図６（ｂ）に示すように、外部値対数比α１２は、上記と同様に、チェックノード１及び３の値である（λ１＋β１１）と（λ３＋β１３）を用いて、次式で求められる。
α１２
＝ｓｉｇｎ（λ１＋β１１）・ｓｉｇｎ（λ３＋β１３）
・Ｍｉｎ（｜λ１＋β１１｜，｜λ３＋β１３｜）
【００４６】
また、図６（ｃ）に示すように、外部値対数比α１３についても、上記と同様に、チェックノード１及び２の値である（λ１＋β１１）と（λ２＋β１２）を用いて、次式で求められる。
α１３
＝ｓｉｇｎ（λ１＋β１１）・ｓｉｇｎ（λ２＋β１２）
・Ｍｉｎ（｜λ１＋β１１｜，｜λ２＋β１２｜）
【００４７】
前記した通り、ミニサム復号法を用いる本実施形態では、第１行の演算操作は、図６（ａ）〜図６（ｃ）に示すように、対応の行内において自身を除く最も絶対値の小さな要素を算出し、かつそれらの符号を乗算する。
従って、処理単位内のシンボルにおいて、絶対値が最も小さいシンボル、すなわち最も尤度の低い情報（正確さについての信頼性に関連する情報、すなわち確率情報に対応）を求めて、外部値対数比を求める。
【００４８】
換言すると、パリティ検査行列を利用する場合、“１”が存在するビット位置のシンボルは、通信路３における信頼性に関する情報を有していることから、信頼性の最も低い（尤度の最も低い）、すなわち絶対値の最も小さい、誤っている可能性の最も高いシンボルを検出し、その及ぼす影響が最も大きいと考えて、それを利用して絶対値を求める。これがＭｉｎ演算の具体的な処理内容である。
【００４９】
この外部値対数比αｍｎの符号は、処理単位内の信号系列の影響を及ぼす誤りのある可能性の高い符号に対する符号を全て乗算することによって推定される。すなわち、最も信頼性の低い状態から処理を開始し、この処理を繰返し実行することにより、最も信頼性の高い符号値に到達する。この処理操作が、ミニサム復号法におけるＭｉｎ演算処理の内容である。
【００５０】
例えば、図２に示す復調器の出力において、送信符号ビットが“１”または“０”の時には、出力値は、“３”または“−４”となる。
しかしながら、通信路における伝送損失などの影響により、値が“０”または“−１”となると、それらの絶対値が小さくなっており、誤りの発生している可能性が高い。このような絶対値の小さな、不確実な受信信号を用いて元の符号を復元する。
以下の説明においては、この絶対値の最も小さな信号を、エラーの発生確率が高いため、尤度が最も低い信号と称す。
【００５１】
これらの求められた外部値対数比αｍｎは、図３に示す列処理部１４及びループ判定部１６へ供給される。この列処理部１４は、先の式（２）において示された演算処理を行い、検査行列Ｈの各行において生成された外部値対数比αｍｎを用いて、自身を除く行以外の対応の列の“１”が立っている位置の外部値対数比αｍｎを加算する。
【００５２】
〔ループ判定部の処理内容〕
ループ判定部１６は、この行処理部１２で生成される外部値対数比αｍｎと対数尤度比算出部１０からの対数尤度比λｎとを用いて、複数の符号で構成される符号語を生成する。
図７は、このループ判定部１６の処理内容を示すフローチャートである。以下、この図７を参照して、ループ判定部１６が行う処理内容を説明する。
【００５３】
まず、初期動作として、ループ回数及び事前値対数比βｍｎの初期設定が行われる。
このループ回数は、列処理部１４で生成された事前値対数比βｍｎを用いて再び行処理部１２で外部値対数比αｍｎを生成するループにおける演算回数を示す。このループ回数においては、最大値が予め定められており、事前値対数比βｍｎは、“０”に初期設定される（ステップＳＰ１）。
【００５４】
次いで、受信シンボル系列に従って、対数尤度比算出部１０及び行処理部１２で生成された対数尤度比λｎと外部値対数比αｍｎが、ループ判定部１６に供給される（ステップＳＰ２）。
ループ判定部１６は、これらの供給された対数尤度比λｎと外部値対数比αｍｎに従って、演算Ｑｎ＝λｎ＋Σαｍｎを行って推定受信語Ｑｎを算出する（ステップＳＰ３）。ここで、総和Σは、部分集合Ｂ（ｎ）の要素ｍについて実行される。
【００５５】
また、ループ判定部１６は、ステップＳＰ３において算出された値Ｑｎの正負の符号を判定し（ステップＳＰ４）、一時推定符号Ｃｎを生成する（ステップＳＰ５）。この符号の正／負判定においては、例えば、推定受信語Ｑｎが２の補数表示されているときには、最上位ビット（符号ビット）のビット値を見ることにより、正又は負の判定を行うことができる。
ループ判定部１６は、推定符号Ｃｎが全て生成され、符号語（Ｃ１，Ｃ２，……ＣＮ）が生成されると、次いでパリティ検査を実行する（ステップＳＰ６）。
【００５６】
このパリティ検査においては、先の検査行列Ｈの転置行列を用いて、（Ｃ１，Ｃ２，……ＣＮ）・Ｈt＝０を計算する。この計算により、生成されるシンドロームが０であれば、一時推定語（Ｃ１，Ｃ２，……，ＣＮ）を推定語として出力する（ステップＳＰ９）。
一方、この生成されたシンドロームが０と異なる場合には、ループ回数が最大値であるかの判定が行われる（ステップＳＰ７）。
【００５７】
すなわち、この一時推定語の生成回数をカウントし、その生成回数が所定の最大回数に到達すると、その符号についての算出をそれ以上はやめて、現在生成されている一時推定語を符号語として出力する（ステップＳＰ９）。これにより、収束性の悪いノイジーな符号に対して、不必要に演算処理時間をかけるのを防止するようにしている。
ステップＳＰ７において、ループ回数が最大値に到達していないと判定されると、このループ回数を１インクリメントし、再び、行処理部１２及び列処理部１４における処理を開始させ、ステップＳＰ２からの処理を再度実行する。
上記した一連の処理が、いわゆるＬＤＰＣ符号の復号法の処理動作である。
【００５８】
〔スケーリング処理の基本的考え方〕
ところで、ＬＤＰＣ符号の復号法を簡略化したミニサム復号法の場合、｜λｎ'＋βｍｎ'｜の第１最小値又は第２最小値のみが行処理部１２において使用されるため、それ以外の大きな値に対しては復号処理に全く反映されないという特徴がある。
また、ミニサム復号法の場合、行処理部１２が行う演算（式（１））に最小値関数（Ｍｉｎ｜λｎ'＋βｍｎ'｜）が含まれているので、図８に示すように、復号処理に関係するすべての関連数値（λ，α，β等）を任意の正の整数値で除算又は乗算しても、一時推定語の推定結果には全く影響を与えない。
【００５９】
そこで、オーバーフローの監視点を、行処理部１２における値が大きい方の第２最小値におけば、効率よくオーバーフローの監視を行うことができる。
例えば，入力シンボルＸｎの符号長が２３０４ビット（冗長ビット１１５２ビット）であるとし、検査行列Ｈの行重みが６でかつ列重みが３であるとした場合、通常、復号処理に必要な外部値対数比αと事前値対数比βの使用個数は、いずれも、２３０４×３＝６９１２個となり、この場合、これらの全個数の値を監視せねばならない。
【００６０】
これに対して、対数尤度比λと事前値対数比βとの和の絶対値の第２最小値のみを監視する場合には、１１５２個を監視すれば十分であり、監視する変数の数が１／６に削減することができる。
一方、前記した通り、復号法にとって大切なのは絶対値の大きな値ではなく、絶対値の小さい値が誤り訂正能力と密接に関係している。このため、オーバーフロー防止のためのスケーリングによって出来るだけ数値の丸め誤差が増大しないようにするために、少なくとも第１最小値を監視する方式が推奨され、より望ましくは第１及び第２最小値の双方を監視する方式が推奨される。
【００６１】
この場合、スケーリング処理が「２」での除算であると仮定すると、事前値対数比βの絶対値の第１及び第２最小値（合計で１１５２×２個）を監視するに当たって、これらの最下位ビット（ＬＳＢ）値のみを監視する方式を用いることができる。
例えば、この方式を採用した場合、１個の変数当たり８ビットの桁数があると仮定すると、通常では、１１５２×２個の変数を監視するのに、１１５２×２×８ビット分の信号線を監視に対応して設ける必要があるが、１１５２×２個の変数のＬＳＢだけを監視にすれることにすれば、１１５２×２ビット分の信号線を監視に対応して設ければよく、監視する信号線の数を１／８ に削減することが可能となる。
【００６２】
〔スケーリング機能を有する行処理部〕
図９は、ミニサム復号法において上記スケーリング機能を有する行処理部１２の一例を示すブロック図である。
図９に示すように、この行処理部１２は、符号処理部２０と、最小値探索部２１と、符号乗算部２２と、監視部２３と、判定部２４と、スケーリング部２５とを備えている。
かかる行処理部１２の構成要素のうち、符号処理部２０は、前記式（１）に示す行処理演算における符号決定部分の演算を行う演算回路よりなり、最小値探索部２１は、同行処理演算における最小値部分の演算を行う演算回路よりなる。
【００６３】
上記最小値探索部２１は、すべての行に関して、対数尤度比λｎと事前値対数比βｍｎとの和の絶対値の第１最小値と第２最小値とを探索する。この最小値探索部２１における探索アルゴリズムとしては、例えば、トーナメント方式や分布数えソート方式を採用することができる（前記非特許文献３参照）。
符号乗算部２２は、符号処理部２０で得られた正負いずれかの符号（sign）と、最小値探索部２１で得られた最小値とを乗算する演算回路よりなり、この乗算によって前記式（１）に示す行処理演算が完結する。
【００６４】
上記監視部２３、判定部２４及びスケーリング部２５は、行処理部１２における行処理演算で生成されるデータの中で予め選定された一部のデータである被監視値（λ＋βの絶対値の第２最小値等）に基づいて、次の列処理演算に用いる変数（αｍｎ）を任意数で除算するか否かを判定するスケーリング処理部２６を構成している。
かかるスケーリング処理部２６の構成要素のうち、監視部２３は、最小値探索部２１と符号乗算部２０の間に配置されており、最小値探索部２１で探索された対数尤度比λｎと事前値対数比βｍｎとの和の絶対値の第１最小値と第２最小値が当該監視部２３に入力される。
【００６５】
監視部２３は、最小値探索部２１からの入力信号を選択して符号乗算部２２や判定部２４に出力する、例えばマルチプレクサより構成されている。
このマルチプレクサは、符号乗算部２２に対しては、最小値探索部２１からの入力信号である第１最小値と第２最小値の双方をそのまま出力するとともに、判定部２４に対しては、当該判定部２４でのオーバーフロー判定に必要な被監視値Ｓ１を出力する。
本実施形態では、かかる被監視値Ｓ１として、後述する判定基準１のための「第２最小値」と、判定基準２のための「第１及び第２最小値の最下位ビット値」が採用される。
【００６６】
判定部２４は、監視部２３からの入力情報である、第２最小値と、第１及び第２最小値の最下位ビット値に基づいてスケーリングを行うか否かを判定する判定回路よりなり、この判定回路で生成された判定信号Ｓ２がスケーリング部２５に出力される。
そして、スケーリング部２５は、判定部２４からの判定信号Ｓ２に基づいてスケーリングを実施する。具体的には、判定部２４からの判定信号Ｓ２がスケーリング要の場合、後段の列処理演算に用いる変数である、外部値対数比αｍｎを「２」で除算し、同判定信号Ｓ２がスケーリング不要の場合にはその除算を行わない。
【００６７】
本実施形態では、上記判定部２４における具体的な判定基準として、例えば次の基準を採用している。
１）判定基準１…第２最小値を用いる判定
この判定基準１では、対数尤度比λｎと事前値対数比βｍｎとの和の絶対値の第２最小値を所定の閾値と比較する。第２最小値がその閾値よりも大きい場合に、判定信号Ｓ２をスケーリング要とする。
２）判定基準２…第１及び第２最小値の最下位ビットを用いる判定
この判定基準２では、第１及び第２最小値の最下位ビット値に関して、これらがすべて「０」である場合に、判定信号Ｓ２をスケーリング要とする。
【００６８】
このように、本実施形態の復号器５によれば、復号処理を行う場合の固定小数点タイプのデジタル信号処理に関して、オーバーブローを防止するためのスケーリング処理部２６が、行処理部１２における行処理演算で生成されるデータの中で予め選定された一部のデータである被監視値Ｓ１（第２最小値等）に基づいて、次の列処理演算に用いる変数αｍｎをスケーリングするか否かを判定するようにしたので、復号処理に用いるすべての変数αｍｎ，βｍｎ，λｎを監視する必要がなくなり、演算負荷を増大させずに効率よくスケーリングを行うことができる。
【００６９】
ところで、上記の２つの判定基準１及び２のうち、判定基準１は、ミニサム復号法においては、対数尤度比λｎと事前値対数比βｍｎとの和の絶対値の第１及び第２最小値だけで行処理演算を行われることに着目し、その各最小値で値が大きい方の第２最小値でスケーリングの要否を判定するようにしたものである。
【００７０】
一方、判定基準２は、更に第１最小値に対する丸め誤差が生じるのを防止することための基準である。
すなわち、ＬＤＰＣ符号の復号法において、誤り訂正能力と密接に関連しているのは、寧ろ絶対値の小さい（尤度の小さい）変数であるから、仮に第２最小値の大小のみを基準としてスケーリングを行った場合、それより小さい第１最小値に丸め誤差が生じ、この誤差によって却って誤り訂正能力が低下する。
【００７１】
しかし、第１最小値と第２最小値の最下位ビット値がいずれもゼロである場合には、各最小値はいずれも偶数であり、双方を「２」（２進法での「１０」）で除算でき、各最小値の双方を「２」で除算しても、復号処理後の一時推定語に影響しない。従って、この場合、第１及び第２最小値の双方に丸め誤差が生じることがなく、スケーリング処理に伴う訂正能力の低下を完全に防止することができる。
【００７２】
もっとも、誤り訂正能力に対して最も影響が大きいのは第１最小値であるから、第１最小値の最下位ビット値がゼロであれば、第２最小値の最下位ビット値とは無関係に、「２」で除算するスケーリングを行うようにしてもよい。
なお、本実施形態において、判定基準１及び２のうち、いずれか一方のみを採用することにしてもよい。また、スケーリング部２５における演算は、列処理部１４で使用するαに必要なビット数を減少させる演算であればよく、「２」で除算する演算に限るものではない。例えば、「２」で除算する演算の代わりに、これと等価の演算である例えば１／２の乗算であってもよいし、２のｎ乗数で除算するものであってもよい。
【００７３】
これまで開示した実施形態はすべて例示であって制限的なものではない。本発明の範囲は特許請求の範囲によって示され、特許請求の範囲の構成と均等の範囲内のすべての変更が本発明に含まれる。
例えば、上記実施形態では、本発明をミニサム復号法に採用した場合を例示したが、本発明は、サムプロダクト復号法を簡略化した他の復号方式、例えば、Normalized-BP、Offset-BP、δ-Min、FUMP-APP（非特許文献３）などの復号方式にも採用することができる。
【図面の簡単な説明】
【００７４】
【図１】本発明の復号器を用いた通信システムの一例を示す概略構成図である。
【図２】送信データと復調データの対応関係の一例を示す図である。
【図３】本発明の復号器の一例を示す概略構成図である。
【図４】検査行列の一例を示す図である。
【図５】図４に示す検査行列のタナーグラフである。
【図６】（ａ）〜（ｃ）は行処理部の処理内容の一例を示す図である。
【図７】ループ判定部の処理内容を示すフローチャートである。
【図８】復号処理で用いる各変数に定数を除算又は乗算した場合の、一時推定語に与える影響を示す図である。
【図９】スケーリング機能を有する行処理部の構成例を示すブロック図である。
【符号の説明】
【００７５】
１：符号化器    ２：変調器    ３：通信路    ４：復調器
４ａ：復調回路    ４ｂ：Ａ／Ｄ変換回路    ５：復号器
１０：対数尤度比算出部    １２：行処理部    １４：列処理部  １６：ループ判定部
２０：符号処理部    ２１：最小値探索部    ２２：符号乗算部  ２３：監視部
２４：判定部    ２５：スケーリング部    ２６：スケーリング処理部
Ｓ：送信装置    Ｒ：受信装置    Ｘｎ：符号化データ    Ｃｎ：復号データ
λｎ：対数尤度比    αｍｎ：外部値対数比    βｍｎ：事前値対数比
【図１】
0004645640.tif 000004
【図２】
0004645640.tif 000005
【図３】
0004645640.tif 000006
【図４】
0004645640.tif 000007
【図５】
0004645640.tif 000008
【図６】
0004645640.tif 000009
【図７】
0004645640.tif 000010
【図８】
0004645640.tif 000011
【図９】
0004645640.tif 000012