(57)【要約】  尤度計算に要する演算量を小さくして、演算回路の小型化及び処理遅延時間の短縮化を図ることができる軟出力復号器。この軟出力復号器（１００）は、γα計算部（１０１）、タイミング調整器（１０２，１０３）、γβ計算部（１０４）、及びΛ計算部（１１０）を備え、Λ計算部（１１０）は、硬判定復号部（１１１）、負け尤度計算部（１１２）、勝ち尤度記憶部（１１３）、及び減算器（１１４）を備え、Ｍａｘ−ｌｏｇ−ＭＡＰ復号器において求められる複数の尤度を勝ち尤度と負け尤度に判別し、負け尤度のみを計算する。また、勝ち尤度と負け尤度を判別する方法として、最尤パスが通過するステートを順次特定する硬判定復号部（１１１）を用いる。
2008023682.tif 000002
【特許請求の範囲】
【請求項１】
複数の情報語に対応する符号語を受信し、前記情報語のとりうる複数の候補値それぞれに対応する複数の尤度値から、前記情報語の軟判定復号結果を算出する軟出力復号器であって、
前記複数の候補値から１つを推定値として判定する硬判定復号手段と、
前記複数の尤度値のうち、前記推定値に対応する尤度値については計算を禁止し、他の候補値に対応する尤度値について計算を行う尤度計算手段と
を備える軟出力復号器。
【請求項２】
前記硬判定復号手段は、値０又は１を推定値として出力し、
前記尤度計算手段は、前記推定値に対応する尤度値の計算を禁止する請求項１記載の軟出力復号器。
【請求項３】
前記尤度計算手段は、前記複数の候補値が２つのとき、尤度が小さい１つの尤度値を算出する請求項１記載の軟出力復号器。
【請求項４】
前記尤度計算手段は、前記複数の候補値が４つのとき、尤度が最大の１つを除いた残り３つの尤度値を算出する請求項１記載の軟出力復号器。
【請求項５】
前記推定値に対応する尤度値を勝ち尤度とするとき、前記勝ち尤度と、前記尤度計算手段の出力のうち１つとの差を計算する軟判定値計算手段を備える請求項１記載の軟出力復号器。
【請求項６】
前記勝ち尤度は、規定の一定値である請求項５記載の軟出力復号器。
【請求項７】
前記情報語の１つを境界部と定め、前記境界部に対する勝ち尤度を算出する境界勝ち尤度計算手段と、
前記境界勝ち尤度を保持する記憶手段とを備え、
前記軟判定計算手段は、前記境界勝ち尤度を用いて、前記境界部以外の情報語に対する軟判定復号結果を算出する請求項１記載の軟出力復号器。
【請求項８】
前記情報語は、値０又は１をとり、
値０に対応する尤度値と値１に対応する尤度値の差から前記情報語の軟判定復号結果を出力する請求項１記載の軟出力復号器。
【請求項９】
前記複数の候補値は、２つの候補値０，１である請求項１記載の軟出力復号器。
【請求項１０】
前記複数の候補値は、４つの候補値００，０１，１０，１１である請求項１記載の軟出力復号器。
【請求項１１】
受信した前記符号語を複数のブロックに分割し、ブロックごとに軟判定復号を行うものであって、ブロックごとに異なる勝ち尤度を用いる請求項５記載の軟出力復号器。
【請求項１２】
ターボ符号により誤り訂正符号化されたデータに対してスライディングウィンドウを用いて尤度計算を行う請求項１記載の軟出力復号器。
【請求項１３】
スライディングウィンドウの両端の一方を境界部と定め、前記境界部に対する勝ち尤度を算出する境界勝ち尤度計算手段と、前記境界勝ち尤度を保持する記憶手段とを備え、
前記軟判定計算手段は、前記境界勝ち尤度を用いて、前記境界部以外の情報語に対する軟判定復号結果を算出する請求項１２記載の軟出力復号器。
【請求項１４】
前記情報語の１つを境界部と定め、前記境界部に対する前記情報語のとりうる複数の候補値それぞれに対応する複数の境界尤度値を求める境界尤度計算手段と、
前記境界尤度値を用いて、最尤ブランチが接続されるステート番号を特定する初期ステート番号特定手段を備え、
前記硬判定復号手段は、前記ステート番号を用いて、前記境界部以外の情報語に対する推定値を判定する請求項１に記載の軟出力復号器。
【請求項１５】
前記尤度計算手段は、軟判定値の出力停止指示を受け、かつ、硬判定値の出力指示を受けた場合には、前記境界部以外の情報語に対する尤度計算を禁止する請求項１４に記載の軟出力復号器。
【請求項１６】
軟出力復号を繰り返し行う反復復号装置であって、
請求項１４記載の軟出力復号器と、
最終の繰り返しには、前記軟出力復号器に硬判定値の出力指示を行うとともに軟判定値の出力停止指示を行う指示部と
を備える反復復号装置。
【請求項１７】
複数の情報語に対応する符号語を受信し、前記情報語のとりうる複数の候補値それぞれに対応する複数の尤度値から、前記情報語の軟判定復号結果を算出する軟出力復号器の軟判定値算出方法であって、
前記複数の候補値から１つを推定値として判定するステップと、
前記複数の尤度値のうち、前記推定値に対応する尤度値については計算を禁止し、他の候補値に対応する尤度値について計算を行うステップと
を有する軟判定値算出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、畳み込み符号を用いて符号化されたデジタル信号を復号する軟出力復号器、反復復号装置、及び軟判定値算出方法に関し、特に、軟判定復号結果を繰り返し用いて復号を行う反復復号装置に適用して好適な軟出力復号器及び軟判定値算出方法に関する。
【背景技術】
【０００２】
ターボ符号の復号で用いられる軟出力復号アルゴリズムとしては、最大事後確率復号法であるＭＡＰ（Maximum A posterior Probability）復号方式が現在のところ最良であると言われている。そして、回路実現の際には、ＭＡＰ方式を対数計算で近似したＭａｘ−ｌｏｇ−ＭＡＰ方式が使用されることがある。ターボ復号の内部で用いられる、畳み込み符号の軟判定復号法としては、Ｍａｘ−ｌｏｇ−ＭＡＰ、ＳＯＶＡ（Soft Output Viterbi Algorithm）が、比較的演算量が少ないものとして知られている。【０００３】
しかし、ターボ復号の演算量は他の符号などと比べると依然大きく、更なる演算量の削減が望まれている。【０００４】
図１は、従来のＭａｘ−ｌｏｇ−ＭＡＰ復号法を説明するための復号器のブロック図である。【０００５】
図１において、復号器１は、γα計算部１１、タイミング調整器１２，１３、γβ計算部１４、及びΛ計算部１５を備えて構成される。Λ計算部１５は、尤度計算部１６、１７、及び減算器１８から構成される。【０００６】
Ｍａｘ−ｌｏｇ−ＭＡＰ復号器１に入力されるデータ列は３種類あり、システマティックｇ（ｎ）、パリティｐ（ｎ）、事前値ｅ（ｎ）である。ここで、ｎ＝０〜Ｋ−１，Ｋはブロックサイズ（送信情報ビット数）である。【０００７】
Ｍａｘ−ｌｏｇ−ＭＡＰ復号器１は、受信系列ｙ（ベクトルｓとｐを含む）、及び外部値のベクトルｅから、軟出力値Λ（ｎ）を求めるものである。Λ（ｎ）は事後値とも呼ばれ、復号器１により推定された送信ビットの対数尤度比（ＬＬＲ：Log Likelihood Ratio）である。すなわち、下記式（１）のように定義され、Λ（ｎ）＞０であれば、ｎビット目の送信データｄ（ｎ）は０と推定され、Λ（ｎ）＜０であれば、ｄ（ｎ）は１と推定される。なお、ＬＬＲの符号を判定することで推定値ｄを得る操作を、硬判定処理と呼ぶ。【０００８】
【数１】
2008023682.tif 000003
図２は、Ｍａｘ−ｌｏｇ−ＭＡＰ復号器１を要素復号器として用いたターボ復号器２０のブロック図である。【０００９】
この例では、図１のＭａｘ−ｌｏｇ−ＭＡＰ復号器（以下、要素復号器という）１が２つ用いられる。ターボ復号器２０は、２つの要素復号器２１，２２（Ｍａｘ−ｌｏｇ−ＭＡＰ復号器１，２）、加算器２３，２４、インターリーバ２５，２６（インターリーバπ）、デインターリーバ２７，２８（デインターリーバπ−１）、及び符号判定器２９（ｓｉｇｎ）から構成される。インターリーバπ及びデインターリーバπ−１は、あらかじめ定められた方法でデータの順序を並び替える回路である。【００１０】
Ｍａｘ−ｌｏｇ−ＭＡＰ復号器２１には、システマティックｓと、第１のパリティｐ１と、Ｍａｘ−ｌｏｇ−ＭＡＰ復号器２２から送られた外部値ｅ１が入力され、第１のＬＬＲであるΛ１が出力される。【００１１】
Λ１から、システマティックｓと外部値ｅ１を減じると、下記式（２）で示すように新しい外部値ｅ１’が求まる。【００１２】
ｅ１’（ｎ）＝Λ１（ｎ）−（ｓ（ｎ）＋ｅ１（ｎ））        …（２）
ｅ１’をインターリーブしたもの（ｅ２）を、Ｍａｘ−ｌｏｇ−ＭＡＰ復号器２２へ入力する外部値として用いる。また、Ｍａｘ−ｌｏｇ−ＭＡＰ復号器２２には、システマティックｓをインターリーブしたデータ、及び第２のパリティｐ２も入力される。【００１３】
Ｍａｘ−ｌｏｇ−ＭＡＰ復号器２２は、これらの入力をもとに、第２のＬＬＲであるΛ２を出力する。Λ２に対しても同様に、入力されたインターリーブ後のシステマティックs（π（ｎ））と外部値ｅ２を減ずることで、下記式（３）に示すように新しい外部値ｅ２’が算出される。【００１４】
ｅ２’（ｎ）＝Λ２（ｎ）−（ｓ（π（ｎ））＋ｅ２（ｎ））  …（３）
この新しい外部値ｅ２’をデインターリーブしたものを、Ｍａｘ−ｌｏｇ−ＭＡＰ復号器２１の新しい入力として用いる。デインターリーブは、上記インターリーブと対応する、逆並び替え処理である。【００１５】
以上の処理を繰り返し行うことで、Λ１及びΛ２の正確さが向上していく。十分な回数の反復を行った後、Λ２の符号を判定し（ｓｉｇｎ）、デインターリーブを行うことで、送信ビットの推定値ｄ＾が得られる。【００１６】
次に、Ｍａｘ−ｌｏｇ−ＭＡＰ復号の詳細な機能について説明する。なお、すべての計算式は非特許文献１に記載されたターボ符号を復号する場合に用いられるものであり、例として示したにすぎない。一般には個々の式は異なる。【００１７】
Ｍａｘ−ｌｏｇ−ＭＡＰ復号におけるα、β、γは以下の意味を持つ。すなわち、
α：あるステートに至るパスの尤度の合計
β：あるステートから先のパスの尤度の合計
γ：ブランチの尤度である。（１）γ計算
γ計算は、α計算、β計算にそれぞれ先立って行われる。【００１８】
ｎビット目の入力値ｓ（ｎ）,ｐ（ｎ）,ｅ（ｎ）から、下記式（４）で示す次の４つのγを算出する。【００１９】
γ００（ｎ）＝（ｓ（ｎ）＋ｅ（ｎ）＋ｐ（ｎ））／２
γ０１（ｎ）＝（ｓ（ｎ）＋ｅ（ｎ）−ｐ（ｎ））／２
γ１０（ｎ）＝（−ｓ（ｎ）−ｅ（ｎ）＋ｐ（ｎ））／２
γ１１（ｎ）＝（−ｓ（ｎ）−ｅ（ｎ）−ｐ（ｎ））／２  …（４）
（２）α計算
上記の通り求めたγを使い、下記式（５）で示す漸化式によりαを算出する。【００２０】
α０（ｎ＋１）＝ｍｉｎ｛α０（ｎ）＋γ００（ｎ），α４（ｎ）＋γ１１（ｎ）｝
α１（ｎ＋１）＝ｍｉｎ｛α４（ｎ）＋γ００（ｎ），α０（ｎ）＋γ１１（ｎ）｝
α２（ｎ＋１）＝ｍｉｎ｛α１（ｎ）＋γ０１（ｎ），α５（ｎ）＋γ１０（ｎ）｝
α３（ｎ＋１）＝ｍｉｎ｛α５（ｎ）＋γ０１（ｎ），α１（ｎ）＋γ１０（ｎ）｝
α４（ｎ＋１）＝ｍｉｎ｛α２（ｎ）＋γ０１（ｎ），α６（ｎ）＋γ１０（ｎ）｝
α５（ｎ＋１）＝ｍｉｎ｛α６（ｎ）＋γ０１（ｎ），α２（ｎ）＋γ１０（ｎ）｝
α６（ｎ＋１）＝ｍｉｎ｛α３（ｎ）＋γ００（ｎ），α７（ｎ）＋γ１１（ｎ）｝
α７（ｎ＋１）＝ｍｉｎ｛α７（ｎ）＋γ００（ｎ），α３（ｎ）＋γ１１（ｎ）｝
…（５）
上記式（５）中、ｍｉｎ｛ａ，ｂ｝は、２つの候補ａ，ｂのうち小さいものを選ぶ演算を表す。αの初期値はα０＝０，αｉ（０）＝＋∞（ｉ＞０）とする。また、αは、ｎの小さい方から大きいほうへ（昇順に）算出され、前方確率とも呼ばれる。【００２１】
（３）β計算
同様に、γを用いて次式（６）の漸化式によりβを算出する。β０（ｎ）＝ｍｉｎ｛β０（ｎ＋１）＋γ００（ｎ），β１（ｎ＋１）＋γ１１（ｎ）｝β１（ｎ）＝ｍｉｎ｛β２（ｎ＋１）＋γ０１（ｎ），β３（ｎ＋１）＋γ１０（ｎ）｝β２（ｎ）＝ｍｉｎ｛β５（ｎ＋１）＋γ０１（ｎ），β４（ｎ＋１）＋γ１０（ｎ）｝β３（ｎ）＝ｍｉｎ｛β７（ｎ＋１）＋γ００（ｎ），β６（ｎ＋１）＋γ１１（ｎ）｝β４（ｎ）＝ｍｉｎ｛β１（ｎ＋１）＋γ００（ｎ），β０（ｎ＋１）＋γ１１（ｎ）｝β５（ｎ）＝ｍｉｎ｛β３（ｎ＋１）＋γ０１（ｎ），β２（ｎ＋１）＋γ１０（ｎ）｝β６（ｎ）＝ｍｉｎ｛β４（ｎ＋１）＋γ０１（ｎ），β５（ｎ＋１）＋γ１０（ｎ）｝β７（ｎ）＝ｍｉｎ｛β６（ｎ＋１）＋γ００（ｎ），β７（ｎ＋１）＋γ１１（ｎ）｝
…（６）
ここで、βはｎの大きいほうから小さい方（降順に）に向かって順に計算される。β計算に先立って行われるγ計算も、β計算の順序に合わせて行われる。そこで、ｓ，ｐ，ｅをＦＩＬＯ（First-In Last-Out; 先入れ後出し）バッファにより並び替えてからγ計算部１４ａへ入力する。なお、βは後方確率とも呼ばれる。【００２２】
（４）Λ計算
Λ計算ではまず、次式（７），（８）を用いて、ビットごとの対数尤度（Log Likelihood）λ０（ｎ），λ１（ｎ）を求める。これらの差が次式（９）に示す対数尤度比（ＬＬＲ：Log Likelihood Ratio）Λ（ｎ）となる。【００２３】
【数２】
2008023682.tif 000004
λ計算では、αとβを両方用いて値を算出する。αはｎについて昇順に計算され、βは降順に計算されるので、α又はβを並び替えて用いる必要がある。【００２４】
図１では、αをＦＩＬＯバッファにより並び替え、ｎの大きいほうから小さい方に向かう順にλを算出するようにした。【００２５】
図３は、Ｍａｘ−ｌｏｇ−ＭＡＰ復号のフローチャートであり、図中、ＳＴはフローの各ステップを示す。本フローは、α、βを計算する際に適宜実行される。また、γ計算の記載を省略した。【００２６】
まず、ステップＳＴ１，ＳＴ２でｎ＝０〜Ｋ−１に対してα（ｎ）を計算する。ここで、α（ｎ）の計算とは、α０（ｎ）〜α７（ｎ）の８つの値を算出することを意味する。算出されたα（ｎ）は、タイミング調整器（ＦＩＬＯメモリ）１２に保存される。【００２７】
次いで、ステップＳＴ３，ＳＴ４でｎ＝Ｋ−１〜０に対し、β（ｎ）を計算する。β（ｎ）が算出されると、ステップＳＴ５でλ０（ｎ）、λ１（ｎ）の計算、続いてステップＳＴ６でΛ（ｎ）の計算を行う。λ０（ｎ），λ１（ｎ）の計算では、タイミング調整器１２に保存されたα（ｎ）が使われる。αは０〜Ｋ−１という順に算出されるのに対し、λ計算ではＫ−１〜０という順で使われるので、タイミング調整器を用いる。【００２８】
また、β計算、λ計算、Λ計算はしばしばパイプライン化される。すなわち、λ０（ｎ），λ１（ｎ）の計算を行っている間に、β（ｎ−１）の計算を行う。すると、λ０（ｎ），λ１（ｎ）の計算が終わるとすぐにλ０（ｎ−１），λ１（ｎ−１）の計算が開始できる。
【特許文献１】特開２０００−２７８１４４号公報
【非特許文献１】Robertson, P.; Villebrun, E.; Hoeher, P.; “A comparison of optimal and sub-optimal MAP decoding algorithms operating in the log domain” IEEE International Conference on Communications, 1995. Page（s）:1009 - 1013 vol.2
【非特許文献２】3GPP TS 25.212 v6.3.0
【発明の開示】
【発明が解決しようとする課題】
【００２９】
しかしながら、このような従来のＭａｘ−ｌｏｇ−ＭＡＰ復号法にあっては、上述したように多数の加算と比較・選択処理が必要となる。図４は、Ｍａｘ−ｌｏｇ−ＭＡＰ１ビットあたりの演算回数を表にして示す図である。【００３０】
図４の表に示すように、従来のＭａｘ−ｌｏｇ−ＭＡＰ復号法を用いるＭａｘ−ｌｏｇ−ＭＡＰ演算器では、Λ計算に要する演算量が大きく、演算回路の小型化、及び処理遅延時間の短縮化を図ることができないという問題があった。【００３１】
また、従来のＭａｘ−ｌｏｇ−ＭＡＰ復号法を用いたターボ復号器では、繰り返し復号の最終段階では硬判定の推定値のみが得られれば良いのに対し、一旦軟判定値を求めてから硬判定する必要があったため、演算量が大きく、演算回路の消費電力の低減を図ることができないという問題があった。【００３２】
また、ＳＯＶＡ方式はＭａｘ−ｌｏｇ−ＭＡＰ方式に比べ誤り率特性が劣り、メモリ操作が複雑である問題がある。【００３３】
本発明の目的は、尤度計算に要する演算量を小さくして、演算回路の小型化及び処理遅延時間の短縮化を図ることができる軟出力復号器、反復復号装置、及び軟判定値算出方法を提供することである。
【課題を解決するための手段】
【００３４】
本発明の軟出力復号器は、複数の情報語に対応する符号語を受信し、前記情報語のとりうる複数の候補値それぞれに対応する複数の尤度値から、前記情報語の軟判定復号結果を算出する軟出力復号器であって、前記複数の候補値から１つを推定値として判定する硬判定復号手段と、前記複数の尤度値のうち、前記推定値に対応する尤度値については計算を禁止し、他の候補値に対応する尤度値について計算を行う尤度計算手段とを備える構成を採る。【００３５】
本発明の反復復号装置は、軟出力復号を繰り返し行う反復復号装置であって、上記本発明の軟出力復号器を有し、この軟出力復号器は、前記情報語の１つを境界部と定め、前記境界部に対する前記情報語のとりうる複数の候補値それぞれに対応する複数の境界尤度値を求める境界尤度計算手段と、前記境界尤度値を用いて、最尤ブランチが接続されるステート番号を特定する初期ステート番号特定手段を備え、前記硬判定復号手段は、前記ステート番号を用いて、前記境界部以外の情報語に対する推定値を判定するものであって、更にこの反復復号装置は、最終の繰り返しには、前記軟出力復号器に硬判定値の出力指示を行うとともに軟判定値の出力停止指示を行う指示部を備える構成を採る。【００３６】
本発明の軟判定値算出方法は、複数の情報語に対応する符号語を受信し、前記情報語のとりうる複数の候補値それぞれに対応する複数の尤度値から、前記情報語の軟判定復号結果を算出する軟出力復号器の軟判定値算出方法であって、前記複数の候補値から１つを推定値として判定するステップと、前記複数の尤度値のうち、前記推定値に対応する尤度値については計算を禁止し、他の候補値に対応する尤度値について計算を行うステップとを有する。
【発明の効果】
【００３７】
本発明によれば、尤度計算に要する演算量を小さくすることができ、演算回路の小型化、低消費電力化、及び処理遅延時間の短縮化を図ることができる。Ｍａｘ−ｌｏｇ−ＭＡＰ復号法などに適用すれば、ターボ復号の演算量を大幅に削減することができる。
【図面の簡単な説明】
【００３８】
【図１】従来のＭａｘ−ｌｏｇ−ＭＡＰ復号法を説明するための復号器のブロック図
【図２】従来のＭａｘ−ｌｏｇ−ＭＡＰ復号器を要素復号器として用いたターボ復号器のブロック図
【図３】従来のＭａｘ−ｌｏｇ−ＭＡＰ復号器の処理を説明するフロー図
【図４】従来のＭａｘ−ｌｏｇ−ＭＡＰ１ビットあたりの演算回数を表にして示す図
【図５】ビットごとの対数尤度λ０，λ１の計算式を説明する図
【図６】Ｍａｘ−ｌｏｇ−ＭＡＰ復号おける最尤ブランチに対応する尤度（α＋β＋γ）の算出方法を説明する図
【図７】Ｍａｘ−ｌｏｇ−ＭＡＰ復号を説明するトレリス線図
【図８】図７において各時点におけるλ計算を行った際の結果を説明する図
【図９】本発明の原理の一例を示すアルゴリズムを説明する図
【図１０】<アルゴリズム１−Ａ>における最尤パスステート初期値の求め方を説明する図
【図１１】α計算を表すグラフの一例を示す図
【図１２】本発明の実施の形態１に係る軟出力復号器の概略構成を示すブロック図
【図１３】上記実施の形態１に係る軟出力復号器における軟出力復号の処理を説明するフロー図
【図１４】上記実施の形態１に係る軟出力復号器の負け尤度計算部の構成を示す図
【図１５】図１４の負け尤度計算部のスイッチ及びセレクタの動作を説明するための図
【図１６】本発明の実施の形態１に係る軟出力復号器の負け尤度算出部の実装例の構成を示す図
【図１７】本発明の実施の形態１に係る軟出力復号器の負け尤度計算部によりλｗｉｎと最尤パスステートを算出する処理を示すフロー図
【図１８】本発明の実施の形態１に係る軟出力復号器の硬判定復号部の構成を示すブロック図
【図１９】本発明の実施の形態１に係る軟出力復号器の硬判定復号部の機能を説明するトレリス線図
【図２０】本発明の実施の形態２に係る軟出力復号器の概略構成を示すブロック図
【図２１】上記実施の形態２に係る軟出力復号器のγα計算部のα計算部の構成を示すブロック図
【図２２】上記実施の形態２に係る軟出力復号器における軟出力復号の処理を説明するフロー図
【図２３】上記実施の形態２に係る軟出力復号器の硬判定復号部の構成を示すブロック図
【図２４】上記実施の形態２に係る軟出力復号器の硬判定復号部の動作を説明するトリレス線図
【図２５】スライディングウィンドウ方式の計算手順を説明する図
【図２６】スライディング方式を実現する復号器の基本的な構成を示すブロック図
【図２７】本発明の実施の形態３に係る軟出力復号器の概略構成を示すブロック図
【図２８】上記実施の形態３に係る軟出力復号器の動作タイミングを示す図
【図２９】本発明の実施の形態４に係る軟出力復号器の概略構成を示すブロック図
【図３０】本発明の実施の形態４に係る軟出力復号器を硬判定復号器として用いる場合の概略構成を示すブロック図
【図３１】本発明の実施の形態４に係る軟出力復号器を利用したターボ復号器の概略構成を示すブロック図
【発明を実施するための最良の形態】
【００３９】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。【００４０】
（基本原理）
まず、本発明の基本原理について説明する。【００４１】
発明の原理を説明するにあたり、Ｍａｘ−ｌｏｇ−ＭＡＰ復号法のグラフによる説明を導入する。以下、実施の形態で参照する図面において、トレリス線図における実線は、送信ビット＝０に対応するブランチ、破線は送信ビット＝１に対応するブランチを示している。【００４２】
図５は、λ０，λ１の計算式を説明するグラフ（トレリス線図）である。【００４３】
λ０は、図５に示す８つの実線に対応するα＋β＋γを計算し、その中の最小値を求めることで計算され、λ１は、図５に示す８つの破線に対応するα＋β＋γの最小値を求めることで計算される。なお、グラフ中で縦に並ぶノードの数をステート数と呼ぶ。ここでは、非特許文献１のターボ符号化方式を用いたのでステート数は８である。また、ノード間の接続（ブランチ）も符号化方式に依存して決まる。【００４４】
図６は、Ｍａｘ−ｌｏｇ−ＭＡＰ復号おける最尤ブランチに対応する尤度（α＋β＋γ）の算出方法を説明する図である。【００４５】
図６に示すように、Ｍａｘ−ｌｏｇ−ＭＡＰ復号は、実線の中の最尤ブランチ（送信ビット：０）と破線の中の最尤ブランチ（送信ビット：１）の、２つに対応する尤度（α＋β＋γ）を求めることを目的としている。図６の例では、最尤ブランチ（送信ビット：０）のブランチα３（ｎ）〜β７（ｎ）の尤度（α＋β＋γ）は、λ０（ｎ）＝α３（ｎ）＋γ００（ｎ）＋β７（ｎ）であり、最尤ブランチ（送信ビット：１）のブランチα２（ｎ）〜β４（ｎ）の尤度（α＋β＋γ）は、λ１（ｎ）＝α２（ｎ）＋γ１０（ｎ）＋β４（ｎ）である。【００４６】
このように、ＬＬＲの計算方法では、計１６個のブランチについて、α+β+γを算出するとともに、送信ビット＝０に対応するブランチ（８通り）から最尤値を選択し、送信ビット＝１に対応するブランチ（８通り）から最尤値を選択する。２つの最尤値λ０，λ１の差が軟判定値となる。【００４７】
以上は、Ｍａｘ−ｌｏｇ−ＭＡＰ復号の一般的な概念であり、以下に本発明者による考察と、それにより発見された性質に基づく発明について説明する。【００４８】
次に、連続する２時点について考える。ここで、時点とは、グラフ上で１ビットの復号に相当する区間を指すものとする。【００４９】
図７は、Ｍａｘ−ｌｏｇ−ＭＡＰ復号を説明するトレリス線図である。【００５０】
図７において、各時点におけるλ計算を行う。すなわち、「実線の中の最尤ブランチ」と「破線の中の最尤ブランチ」に対応するλ＝α＋β＋γを求める。その結果は、例えば図８に示すようになる。【００５１】
図８は、図７において各時点におけるλ計算を行った際の結果を説明する図である。【００５２】
ここで、「実線の中の最尤ブランチ」と「破線の中の最尤ブランチ」のうち、より尤度が高い方を最尤ブランチと呼ぶことにする。例えば、もし図７でλ０（ｎ）＞λ１（ｎ）であったなら、図８の破線（Ｘ）が時点ｎの最尤ブランチである。【００５３】
いま、次のような仮定をおく。【００５４】
[仮定１]  最尤ブランチにおける尤度値は、一定値である。【００５５】
なお、ここでは仮定としたが、後述する<アルゴリズム１>に基づき実際に評価してみたところ、計算誤差は発生しなかった。すなわち、[仮定１]をおいても実用上問題ない。【００５６】
これらの仮定を利用して、本発明では、次のようにＭａｘ−ｌｏｇ−ＭＡＰ復号を行う。【００５７】
<アルゴリズム１>（１）最尤ブランチの種類（０：実線ｏｒ１：破線）を特定する。（２）時点ｎにおいて、最尤ブランチの対応するビットが０（実線）であれば、λ０（ｎ）＝λｗｉｎとし、λ１（ｎ）のみ、上記式（８）を用いて計算する。１であれば、λ１（ｎ）＝λｗｉｎとし、λ０（ｎ）のみ、上記式（７）を用いて計算する。【００５８】
このようにすることで、λ０（ｎ）又はλ１（ｎ）のいずれかの計算を省略することができる。【００５９】
次に、最尤ブランチの種類の特定方法について説明する。従来のＭａｘ−ｌｏｇ−ＭＡＰ復号では、λ０（ｎ）とλ１（ｎ）を両方算出してはじめて最尤ブランチが特定できた。しかし、λ０（ｎ）とλ１（ｎ）を計算せずに最尤ブランチを特定できなければ、<アルゴリズム１>による演算量削減効果は得られない。【００６０】
最尤ブランチの種類の特定方法を考えるにあたり、次の仮定をおく。【００６１】
[仮定２]  最尤ブランチは、グラフ上で途切れることなくつながっている。【００６２】
なお、ここでは仮定としたが、後述する<アルゴリズム１−Ａ>に基づき実際に評価してみたところ、計算誤差は発生しなかった。すなわち、[仮定２]をおいても実用上問題ない。【００６３】
ここで、最尤ブランチのつながりを最尤パスと呼ぶことにする。【００６４】
[仮定２]によれば、１つの最尤ブランチを基点として、最尤パスをトレースしていくことにより、すべての最尤ブランチを特定することができる。また、最尤パスが通るノードを「最尤パスステート」と呼ぶことにする。１つの最尤パスステートを基点として、最尤パスステートを次々に特定していくことにより最尤パスを特定することもできる。このアルゴリズムを以下に示す。【００６５】
<アルゴリズム１−Ａ>（最尤ブランチの種類の特定方法）（１−１）最尤パスステート初期値を特定する。（１−２）最尤パスステートに接続されるブランチについて、尤度比較し、最も尤度が高いものが最尤ブランチである。そのブランチが０に対応するブランチ（実線）か、１に対応するブランチ（破線）か、を出力する。（１−３）最尤ブランチの接続先を、次の最尤パスステートと特定する。【００６６】
この後、上記（１−２）、（１−３）を繰り返す。【００６７】
<アルゴリズム１−Ａ>を、図９を用いて詳細に説明する。【００６８】
図９は、本発明の原理の一例を示すアルゴリズムを説明する図である。【００６９】
図９において、ステップ（１−１）では、基点となる最尤パスステート（最尤パスステート初期値と呼ぶ）を特定する。その方法については後述する。ここでは、ノードＳ０が最尤パスステート初期値であったとする。【００７０】
Ｓ０に接続されるブランチは、Ｙ１及びＹ２のみであるから、次の最尤パスステートはＳ１又はＳ４のいずれかである。【００７１】
ステップ（１−２）では、Ｙ１、Ｙ２のいずれが最尤ブランチであるかを特定する。そのために、α＋β＋γの計算を行う。Ｙ１の尤度（λ［Ｙ１］）は、λ［Ｙ１］＝α２（ｎ）＋β４（ｎ）＋γ１０（ｎ）で算出され、Ｙ２の尤度（λ［Ｙ２］）は、λ［Ｙ２］＝α６（ｎ）＋β４（ｎ）＋γ０１（ｎ）である。そして、λ［Ｙ１］とλ［Ｙ２］を比較し、λ［Ｙ１］の尤度が大きければ（値が小さければ）、Ｙ１が最尤ブランチとなる。したがって、最尤ブランチに対応する値１を出力する。【００７２】
上記（１−２）で最尤ブランチを特定できたので、ステップ（１−３）では、その接続先であるＳ１が最尤パスステートであると特定できる。【００７３】
この場合、λ［Ｙ１］とλ［Ｙ２］の大小関係が分かればよいので、共通項であるβ４（ｎ）を省略し、
λ’［Ｙ１］＝α２（ｎ）＋γ１０（ｎ）、λ’［Ｙ２］＝α６（ｎ）＋γ０１（ｎ）の２つを比較しても良い。【００７４】
Ｓ１が最尤パスステートであると特定できたので、同様の手順で、次の最尤パスステートＳ２を特定できる。【００７５】
以上のように、<アルゴリズム１−Ａ>によれば、すべての尤度を計算することなく、Ｍａｘ−ｌｏｇ−ＭＡＰ復号を行ってから硬判定を行うのと同じ結果を得ることができ、その結果を<アルゴリズム１>の前記（１）手順に利用すると、尤度計算の演算量を削減したＭａｘ−ｌｏｇ−ＭＡＰ復号を実現することができる。【００７６】
これにより、従来の従来のＭａｘ−ｌｏｇ−ＭＡＰ復号法におけるΛ演算(ＬＬＲ演算)と呼ばれるステップと異なり、最終的に２つの値しか使わないにもかかわらず全ブランチ(例えば１６)についての計算を行う必要が無くなり、計算量が小さくなる。【００７７】
ところで、<アルゴリズム１−Ａ>では、最尤ブランチを完全に特定することが目的ではなく、最尤ブランチの種類のみが必要となる。そこで、<アルゴリズム１−Ａ>の代わりに、一般に知られる硬判定復号法（例えば、ビタビ復号法）を<アルゴリズム１−Ａ>の前記（１）手順に用いることも可能である。【００７８】
理想的なビタビ復号の結果と、理想的なＭａｘ−ｌｏｇ−ＭＡＰ復号の硬判定結果は一致することが予想されるが、実際にはビタビ復号ではレジスタエクスチェンジ法、Ｍａｘ−ｌｏｇ−ＭＡＰではスライディングウィンドウ法などの簡易な実装法が用いられるため、結果は一致しないことがある。この場合、<アルゴリズム１>の適用により演算量の削減効果は得られるが、ある程度の計算誤差が発生する。【００７９】
次に、<アルゴリズム１−Ａ>における最尤パスステート初期値の求め方について説明する。<アルゴリズム１−Ａ>における最尤パスステート初期値を算出する処理を<アルゴリズム１−Ａ−１>で示す。【００８０】
<アルゴリズム１−Ａ−１>（１−１−１）  時点Ｋ−１（すなわち、復号対象の最後のビット）について、通常のＭａｘ−ｌｏｇ−ＭＡＰ復号と同様に尤度λ０（Ｋ−１），λ１（Ｋ−１）を算出する。このとき、どのブランチが最尤ブランチであったか記憶しておく。（１−１−２）  最尤ブランチが接続されるノードを、最尤パスステート初期値とする。このノードを基点に、ｎ＝Ｋ−２〜０に対する処理を<アルゴリズム１−Ａ>に従い行う。（１−１−３）  さらに、１−１−１で求めた尤度λ０（Ｋ−１），λ１（Ｋ−１）のうち、尤度の高い（値の小さい）方をアルゴリズム１におけるλｗｉｎとする。【００８１】
図１０は、<アルゴリズム１−Ａ−１>における最尤パスステート初期値の求め方を説明する図である。【００８２】
図１０に示すように、グラフ上の最も右端の時点Ｋ−１についてのみ、通常のＭａｘ−ｌｏｇ−ＭＡＰ復号と同じ尤度計算を行い、さらに最尤ブランチを特定する。例えば、ブランチWが最尤であったとする（１−１−１）。【００８３】
すると、ノードＳ０が最尤パスステートであることが分かるので、これを基点としてｎ＝Ｋ−２〜０に対し、<アルゴリズム１−Ａ>を適用する。【００８４】
このようにすると、通常のＭａｘ−ｌｏｇ−ＭＡＰ復号を行ってから硬判定を行ったのとまったく同じ結果を得ることができ、その結果、アルゴリズム１により、ｎ＝Ｋ−２〜０に対する尤度計算の演算量を削減することができる。【００８５】
なお、<アルゴリズム１−Ａ>とは別の方法でも、最尤ブランチの種類の特定（硬判定値の取得）が可能である。その方法について説明する。【００８６】
<アルゴリズム１−Ａ>に代わる方法
説明の準備として、α計算をグラフで表す。【００８７】
図１１は、α計算を表すグラフの一例を示す図である。図１１のグラフは、上記式（５）の第１式であるα０（ｎ＋１）＝ｍｉｎ｛α０（ｎ）＋γ００（ｎ），α４（ｎ）＋γ１１（ｎ）｝を示している。【００８８】
図１１に示すように、αの計算では、あるノードに着目して、そのノードの左側に接続されているブランチそれぞれに対しα＋γを計算し、最も尤度の高い値を選択する。【００８９】
ところで、<アルゴリズム１−Ａ>の（１−２）では、最尤パスステートの左側に接続されているブランチについて、α＋γの大きい方を選択することにより最尤ブランチを特定し、硬判定値を取得していた。【００９０】
そこで、α計算においてα＋γの値を比較したときに、どちらの尤度が高かったかを示す情報ｑを保存しておき、Λ計算時にアルゴリズム１−Ａにより最尤ブランチを特定するとき、その情報ｑを参照すれば、改めてα＋γの計算と比較を行わなくて済む。【００９１】
例えば、図１１において、α０（ｎ）＋γ００（ｎ）＜α４（ｎ）＋γ１１（ｎ）であった場合（前者の尤度が高い）、ｑ０（ｎ＋１）＝０とする。すべてのステート０〜７に対し、α０（ｎ＋１）〜α７（ｎ＋１）を算出し保存するとともに、ｑ０（ｎ）〜ｑ７（ｎ）を保存する。以上の考察から、以下の<アルゴリズム１−Ｂ>が得られる。【００９２】
<アルゴリズム１−Ｂ>（１−０Ｂ）α計算において、パス選択情報ｑを保存しておく。（１−１）最尤パスステート初期値を特定する。（１−２Ｂ）最尤パスステートに対応するパス選択情報ｑを参照し、接続されるブランチの中から最尤ブランチを特定する。そのブランチが０に対応するブランチ（実線）か、1に対応するブランチ（破線）か、を出力する。（１−３）最尤ブランチの接続先を、次の最尤パスステートと特定する。【００９３】
（１−３）の後、上記（１−２Ｂ）、（１−３）の処理を繰り返す。【００９４】
以上のように、<アルゴリズム１−Ｂ>では、<アルゴリズム１−Ａ>と比べ、パス選択情報を保存するメモリが増加する一方、手順（１−２）の処理が簡略化される。【００９５】
上記、手順（１−１）における最尤パスステート初期値の特定は、<アルゴリズム１−Ａ>と同様の方法をとることができる。すなわち、<アルゴリズム１−Ａ−１>と<アルゴリズム１−Ｂ>を組み合わせて用いることができる。この組み合わせについての詳細は実施の形態２で説明する。【００９６】
このように、本発明では、あらかじめ尤度の高いブランチを判定し、そのブランチと同種のブランチについては計算を省略することで、計算量を削減するものである。【００９７】
（実施の形態１）
本実施の形態は、上述した<アルゴリズム１>、<アルゴリズム１−Ａ>、及び<アルゴリズム１−Ａ−１>の実装例を示す。【００９８】
図１２は、本発明の実施の形態１に係る軟出力復号器の概略構成を示すブロック図である。本実施の形態は、ターボ復号器の要素復号器に用いるＭａｘ−ｌｏｇ−ＭＡＰ復号に適用した例である。【００９９】
図１２において、軟出力復号器１００は、γα計算部１０１、ＦＩＬＯメモリからなるタイミング調整器１０２，１０３、γβ計算部１０４、及びΛ計算部１１０を備えて構成される。Λ計算部１１０は、硬判定復号部１１１、負け尤度計算部１１２、勝ち尤度記憶部１１３、及び減算器１１４から構成される。【０１００】
以下、上述のように構成された軟出力復号器１００の動作について説明する。【０１０１】
図１３は、軟出力復号器１００における軟出力復号の処理を説明するフローチャートである。図中、ＳＴはフローの各ステップであり、ステップＳＴ１１〜ステップＳＴ２０の順に処理を行う。【０１０２】
まず、ステップＳＴ１１，ＳＴ１２でｎ＝Ｋ−１〜０に対してα（ｎ）を計算する。ここで、α（ｎ）の計算とは、α０（ｎ）〜α７（ｎ）の８つの値を算出することを意味する。算出されたα（ｎ）は、タイミング調整器（ＦＩＬＯメモリ）１０２に保存される。γα計算部１０１におけるα計算は、従来技術と同様に行う。【０１０３】
ステップＳＴ１３，ＳＴ１４は、<アルゴリズム１−Ａ−１>における境界処理である。これは、負け尤度計算部１１２の内部で行われ、求めた最尤パスステートは硬判定復号部１１１に格納され、λｗｉｎは勝ち尤度記憶部１１３に格納される。【０１０４】
次いで、ステップＳＴ１５，ＳＴ１６でｎ＝Ｋ−１〜０に対し、β（ｎ）を計算する。γβ計算部１０４におけるβ計算は、従来技術と同様に行う。【０１０５】
ステップＳＴ１７では、硬判定復号部１１１が硬判定ビットｄ（ｎ）を算出する。硬判定復号部１１１は、<アルゴリズム１−Ａ>の前記（１−２）に従い硬判定値ｄ（ｎ）（これは、最尤ブランチの種類に相当する）を算出する。【０１０６】
ステップＳＴ１８では、硬判定復号部１１１が最尤パスステートを更新する。硬判定復号部１１１は、<アルゴリズム１−Ａ>の前記（１−３）に従い、次の最尤パスステートを特定する。【０１０７】
ステップＳＴ１９では、負け尤度計算部１１２が<アルゴリズム１>の前記（２）に従い、λｌｏｓｅ（ｎ）を算出する。【０１０８】
次いで、ステップＳＴ２０でΛ（ｎ）を算出し、上記ステップＳＴ１５に戻る。硬判定値ｄ（ｎ）に基づき、λｗｉｎ（ｎ）、λｌｏｓｅ（ｎ）と、λ０（ｎ）、λ１（ｎ）の対応を特定することにより、Λ（ｎ）＝λ０（ｎ）−λ１（ｎ）を算出する。これは、符号操作機能つきの減算器１１４により行われる。【０１０９】
次に、軟出力復号器１００の各ブロックについて説明する。【０１１０】
〔負け尤度計算部１１２〕
Λ計算部１１０が備える負け尤度計算部１１２の機能は、次の２つである。（１）  上記ステップＳＴ１９において、λｌｏｓｅ（ｎ）を算出する。（２）  上記ステップＳＴ１３，ＳＴ１４において、λｗｉｎ及び最尤パスステートを求める。【０１１１】
このうち、負け尤度計算部１１２の主たる機能は、上記ステップＳＴ１９のλｌｏｓｅ（ｎ）算出処理である。その上で、<アルゴリズム１−Ａ−１>の前記（２）（３）の機能は、負け尤度計算部１１２を流用することで実現可能であるので、本実施の形態ではそのようにした。【０１１２】
まず、上記ステップＳＴ１９のみを実現する負け尤度計算部１１２について説明する。【０１１３】
負け尤度計算部１１２は、λ０（ｎ）とλ１（ｎ）のうち、尤度が小さい（値が大きい）側の値であるλｌｏｓｅ（ｎ）を算出するものである。２つの尤度λ０（ｎ）とλ１（ｎ）のうち、どちらが小さくなるかは硬判定復号部１１１からの出力ｄ（ｎ）に基づき判定する。硬判定出力ｄ（ｎ）が１であるとき、λ０（ｎ）＞λ１（ｎ）となるので尤度値λ０（ｎ）を算出し、硬判定出力ｄ（ｎ）が１であるとき、尤度値λ１（ｎ）を算出する。算出した値を、減算器１１４へ入力する。【０１１４】
上記の処理は次式（１０）で示される。
【数３】
2008023682.tif 000005
【０１１５】
図１４は、軟出力復号器１００の負け尤度計算部１１２の構成を示す図である。なお、図１４に示す実装例は、負け尤度計算部１１２の機能を説明するための図であり、ベストモードの構成は図１６により後述する。【０１１６】
図１４において、負け尤度計算部１１２Ａは、スイッチ１２１〜１２４、セレクタ１３１，１３２、加算器１４１〜１５０、及び最小値選択器（ｍｉｎ）１５１〜１５３を備えて構成される。【０１１７】
図１５は、上記スイッチ１２１〜１２４及びセレクタ１３１，１３２の動作を説明する図であり、図１５（ａ），（ｂ）はスイッチ１２１〜１２４の動作、図１５（ｃ），（ｄ）はセレクタ１３１，１３２の動作を示す。【０１１８】
図１５（ａ），（ｂ）において、スイッチ１２１を代表して説明すると、スイッチ１２１は、ｄ（ｎ）＝１のとき２つのデータを順方向に出力し、ｄ（ｎ）＝０のとき２つのデータ位置を入れ替えて出力する。【０１１９】
また、図１５（ｃ），（ｄ）において、セレクタ１３１を代表して説明すると、セレクタ１３１は、ｄ（ｎ）＝１のとき上のデータを出力し、ｄ（ｎ）＝０のとき下のデータを出力する。【０１２０】
上記の機能は、図１３のフローチャートのステップＳＴ１９の「λｌｏｓｅを算出」に対応する。【０１２１】
次に、図１３のフローチャートのステップＳＴ１３，ＳＴ１４のλｗｉｎ及び最尤パスステートを求める処理の実現方法について説明する。【０１２２】
図１６は、軟出力復号器１００の負け尤度計算部１１２の実装例の構成を示す図である。図１４の負け尤度計算部１１２Ａのベストモードの構成である。図１４と同一構成部分には同一符号を付している。【０１２３】
図１６において、負け尤度計算部１１２Ｂは、スイッチ１２１〜１２４、セレクタ１３１，１３２、加算器１４１〜１５０、最小値選択器（ｍｉｎ）１５１〜１５３、及び最尤パスステート候補決定部１６０を備えて構成される。【０１２４】
図１６に示すように、負け尤度計算部１１２Ｂの内部には、３つの最小値選択器（ｍｉｎ）１５１〜１５３がある。これらの最小値選択器１５１〜１５３に、どの値を選択したかを示す信号を出力する端子を設ける。【０１２５】
例えば、最小値選択器（ｍｉｎ）１５１は、ｄ（ｎ）＝１のとき、α０（ｎ）＋β０（ｎ）、α４（ｎ）＋β１（ｎ）、α７（ｎ）＋β６（ｎ）、α３（ｎ）＋β７（ｎ）の中の最小値を選択するが、もしα４（ｎ）+β１（ｎ）が選ばれた場合には、α４（ｎ）に関わる値が選ばれたことを示すように「４」という値を最尤パスステート候補決定部１６０に送る。【０１２６】
最尤パスステート候補決定部１６０は、最終的にどの値が選択されたかを示す信号ｓ（ｎ）を出力する。例えば、ＬＬ_ｌｏｓｅ＝α２（ｎ）+β４（ｎ）＋γ１０（ｎ）が選ばれた場合には、s（ｎ）＝２を出力する。【０１２７】
この負け尤度計算部１１２Ｂを使い、λｗｉｎと最尤パスステートを求める手順を説明する。【０１２８】
図１７は、図１６の負け尤度計算部１１２Ｂによりλｗｉｎと最尤パスステートを算出する処理を示すフローチャートであり、ステップＳＴ２１〜ステップＳＴ２５の順に処理を行う。【０１２９】
ステップＳＴ２１〜ステップＳＴ２３は、図１３のステップＳＴ１３に対応し、ステップＳＴ２４からステップＳＴ２５は、図１３のステップＳＴ１４の処理に対応している。【０１３０】
まず、ステップＳＴ２１で、λ０（Ｋ−１）を求める。これは、負け尤度計算部１１２Ｂにおいてｄ（ｎ）＝１に固定することにより行われる。この値を仮の勝ち尤度λｗｉｎとして、勝ち尤度記憶部１１３に保存しておく。また、このときの最尤パスステート候補ｓ（ｎ）を仮の最尤パスステート初期値として硬判定復号部１１１（図１２参照）に送る。【０１３１】
ステップＳＴ２２でλ１（Ｋ−１）を求める。これは、負け尤度計算部１１２Ｂにおいてｄ（ｎ）＝０に固定することにより行われる。これを、仮のλｌｏｓｅとする。【０１３２】
ステップＳＴ２３では、減算器１１４では、仮のλｗｉｎと仮のλｌｏｓｅの差分を求める。この出力は、n＝Ｋ−１の復号結果Λ（Ｋ−１）である。【０１３３】
ステップＳＴ２４では、Λ（Ｋ−１）の符号を判定し、仮のλｗｉｎ（λ０（Ｋ−１））の方が尤度が高い（Λ（Ｋ−１）＞０）場合には、仮のλｗｉｎは真のλｗｉｎであるから、ステップＳＴ２１で格納したλｗｉｎをそのままにしておく。一方、λｌｏｓｅ（λ１（Ｋ−１））の方が尤度が高い（Λ（Ｋ−１）＞０）場合には、仮のλｌｏｓｅが真のλｗｉｎである。そこで、負け尤度計算部１１２Ｂから出力される仮のλｌｏｓｅを、勝ち尤度記憶部１１３（図１２参照）に格納する。【０１３４】
ステップＳＴ２５では、ステップＳＴ２４の処理と同様に、λｌｏｓｅの方が尤度が高いと判断された場合には、s（ｎ）の値を更新するよう硬判定復号部１１１に送る。【０１３５】
次に、硬判定復号部１１１について説明する。これは、<アルゴリズム１−Ａ>を実現するものである。【０１３６】
〔硬判定復号部１１１〕
図１８は、軟出力復号器１００の硬判定復号部１１１の構成を示すブロック図、図１９は、硬判定復号部１１１の機能を説明するトレリス線図である。【０１３７】
図１８において、硬判定復号部１１１は、最尤パスステート記憶部２００、前ステート選択部２０１，２０２（前ステート選択部０，１）、αγ選択器２１１，２１２、加算器２２１，２２２、比較器２３０、及びステート更新部２４０を備えて構成される。【０１３８】
図１９に示すように、最尤パスステート記憶部２００は、現時点の最尤パスステート番号（Ｓ０）を保持する。【０１３９】
前ステート選択部２０１（前ステート選択部０）は、現時点の最尤パスステート番号（Ｓ０）と実線で接続されるステートの番号（Ｓ４）を求める。また、前ステート選択部２０２（前ステート選択部１）は、現時点の最尤パスステート番号Ｓ０と破線で接続されるステート番号（Ｓ１）を求める。【０１４０】
αγ選択器２１１，２１２は、前ステート選択部２０１（前ステート選択部０）が選択したステート番号のαと、対応するγを、入力された８つのαと４つのγから選択する（α６（ｎ）とγ０１（ｎ））。【０１４１】
加算器２２１，２２２は、αγ選択器２１１（αγ選択器０）の出力を加算する（λ’０（ｎ）＝α６（ｎ）+γ０１（ｎ））。【０１４２】
比較器２３０は、２つの加算器２２１，２２２の出力を比較する。λ’０（ｎ）＞λ’1（ｎ）であれば、ｄ（ｎ）＝０を、そうでなければｄ（１）＝１を出力する。【０１４３】
以上が、<アルゴリズム１−Ａ>の前記（１−２）に対応する（最尤ブランチの特定処理）である。【０１４４】
さらに、ステート更新部２４０は、２つの前ステート選択部２０１，２０２の出力のうち、最終的に比較器２３０で尤度が高いとされた側のステート番号を選択し、最尤パスステート記憶部２００に送る。【０１４５】
例えば、ｄ（ｎ）＝０と判定された場合には、前ステート選択部２０１（前ステート選択部０）の出力を新しい最尤パスステートとして最尤パスステート記憶部２００に送る。【０１４６】
以上のように、本実施の形態によれば、Ｍａｘ−ｌｏｇ−ＭＡＰ復号器において求められる複数の尤度を勝ち尤度と負け尤度に判別し、負け尤度のみを計算するようにしたので、従来２つ必要であった尤度計算部を１つにすることができ、回路規模・消費電力を減らすことができる。【０１４７】
また、勝ち尤度と負け尤度を判別する方法として、最尤パスが通過するステートを順次特定する硬判定復号部１１１を用いたので、Ｍａｘ−ｌｏｇ−ＭＡＰ復号器に大きな回路を追加する必要が無く、簡易な構成で実現することができる。【０１４８】
また、硬判定復号部１１１では、データの終端など、データ処理単位の境界では通常のＭａｘ−ｌｏｇ−ＭＡＰと同様の方法を用い、その結果を初期値としてそれ以降の処理を上述の簡略な方法で行ったので、Ｍａｘ−ｌｏｇ−ＭＡＰ復号とまったく同じ結果を得ながら回路規模と消費電力を減らすことができる。【０１４９】
下記の表に示すように、本実施の形態によれば、前記図４の表に示す従来のＭａｘ−ｌｏｇ−ＭＡＰ復号法と比較して、演算量を大幅に削減することができた。表中の括弧内が従来の演算回数との差を示す。
【表１】
2008023682.tif 000006
【０１５０】
（実施の形態２）
本実施の形態では、（原理説明）で説明した<アルゴリズム１−Ｂ>の実装例を示す。【０１５１】
図２０は、本発明の実施の形態２に係る軟出力復号器の概略構成を示すブロック図である。本実施の形態の説明にあたり図１２と同一構成部分には同一符号を付して重複箇所の説明を省略する。【０１５２】
図２０において、軟出力復号器３００は、γα計算部３０１、ＦＩＬＯメモリからなるタイミング調整器１０２，１０３，３０２、γβ計算部１０４、及びΛ計算部３１０を備えて構成される。Λ計算部３１０は、硬判定復号部３１１、負け尤度計算部１１２、勝ち尤度記憶部１１３、及び減算器１１４から構成される。【０１５３】
実施の形態１の軟出力復号器１００との違いは次の通りである。【０１５４】
本実施の形態の軟出力復号器３００は、γα計算部３０１のα計算部３０１ａからパス選択情報ｑを出力するようにした。パス選択情報ｑは、ＦＩＬＯメモリからなるタイミング調整器３０２によりタイミングを調整し、硬判定復号部３１１に入力される。【０１５５】
また、Λ計算部３１０における硬判定復号部３１１の内部構成が異なる。硬判定復号部３１１にα、γを入力する必要がない。【０１５６】
図２１は、γα計算部３０１のα計算部３０１ａの構成を示すブロック図である。【０１５７】
図２１において、計算部３０１ａは、加算器３２１、大小比較器３２２、及びセレクタ３２３を備えて構成される。【０１５８】
α計算部３０１ａは、α算出ブロックであり、上記式（５）に基づく計算を行う。大小比較器３２２及びセレクタ３２３は、２つの入力ａとｂについて、ａ＞ｂならｂを、そうでなければａを出力する。【０１５９】
ここで、ｑの値は、γ００又はγ０１にかかわるブランチが選択されたときに０を、γ１０又はγ１１にかかわるブランチが選択されたときに１を出力するものである。【０１６０】
図２２は、軟出力復号器３００における軟出力復号の処理を説明するフローチャートである。図２２に示す実施の形態２におけるステップは、図１３に示す実施の形態１に対応する処理と基本的に同様のステップにより処理を行うものであり同様の処理については同ステップ番号を付して異なるステップのみ説明する。【０１６１】
全体の処理フローは、ほぼ同等である。α計算においてｑ（ｎ）を出力するステップＳＴ１２’、硬判定ビットｄ（ｎ）の算出方法のステップＳＴ１７’、最尤パスステート更新方法のステップＳＴ１８’である。【０１６２】
図２３は、硬判定復号部３１１の構成を示すブロック図、図２４は、硬判定復号部３１１の動作を説明するトリレス線図である。【０１６３】
図２３において、硬判定復号部３１１は、最尤パスステート記憶部３３０、選択部３３１、及び前ステート選択部３３２を備えて構成される。【０１６４】
図２４に示すように、選択部３３１は、８つのパス選択情報ｑ０（ｎ）〜ｑ０（７）の中から、最尤パスステートに対応する値を１つ選択し、負け尤度計算部１１２及び前ステート選択部３３２に出力する。この値がｄ（ｎ）となる。【０１６５】
前ステート選択部３３２は、硬判定値ｄ（ｎ）に従い、最尤ブランチの先にあるステート番号を特定する。なお、本発明の特徴である負け尤度計算部１１２の構成は、実施の形態１，２で全く同一である。【０１６６】
また、Ｍａｘ−ｌｏｇ−ＭＡＰ復号を効率よく実装する方式として知られる「スライディングウィンドウ方式」、「サブブロック分割方式」においても、本発明の原理が適用でき、したがって、計算誤差を発生させること無く、尤度計算の演算量を削減することができる。【０１６７】
また、一般のターボ符号においても本発明の原理が適用でき、例えば、Ｄｕｏ−Ｂｉｎａｒｙ  Ｔｕｒｂｏと呼ばれる、非特許文献１とは異なるターボ符号においても本発明の原理を応用することができる。すなわち、２種以上のブランチがあるとき、最尤ブランチを１つ特定し、最尤ブランチと同種のブランチに対しては尤度計算を省略する。【０１６８】
以下では、本発明を、「スライディングウィンドウ方式」に適用した場合の例を実施の形態３で説明する。【０１６９】
（実施の形態３）
本実施の形態は、上述した基本原理を「スライディングウィンドウ」方式に適用した場合を示すものである。【０１７０】
まず、スライディングウィンドウ方式について説明する。【０１７１】
スライディングウィンドウ方式は、長さＫのデータ系列を長さＬ（Ｌ＜Ｋ）の小ブロック（ウィンドウ）に分割し、ウィンドウごとにα計算・β計算・Λ計算を行うものである（非特許文献１参照）。スライディングウィンドウ方式は、α計算とβ計算を並列化できるため復号処理を高速化でき、またタイミング調整器のメモリ量がウィンドウ長のみでよくメモリ量を減らすことができる。【０１７２】
次に、スライディングウィンドウ方式の計算手順について説明する。【０１７３】
図２５は、スライディングウィンドウ方式の計算手順を説明する図であり、図２５（ａ）は、複数のウィンドウ分割されたデータ系列の一例を示し、図２５（ｂ）は、図２５（ａ）のデータ系列に対応したスライディングウィンドウ方式の動作タイミングを示す図である。【０１７４】
図２５（ａ）に示すように、対象となるデータ系列をウィンドウ長をＬ、ウィンドウ数をＪとする。ここでは、便宜上、Ｋ＝ＪＬのように端数が出ないものとした。なお、端数が出る場合にも手順に大きな差はない。【０１７５】
図２５（ｂ）に示すように、まず、ウィンドウ０のα計算を行う（図２５（ｂ）の手順（１）参照）。【０１７６】
完了すると、次にウィンドウ１のα計算を行うが、それと同時にウィンドウ０のβ計算を行い、β計算部からβが出力され始めると、それに合わせてΛ計算を行う（図２５（ｂ）の手順（２）参照）。【０１７７】
ところで、β（n）の計算は、β（Ｋ−１）を初期値にn＝Ｋ−１〜０に対し逐次的に行われるものである。ウィンドウ０のβ計算を行うためにはβ（Ｌ）の値が初期値として必要である。【０１７８】
そこで、図２５（ｂ）で示す手順（１）においてウィンドウ０のα計算を行っていると同時に、β（Ｌ）を何らかの方法で求める。なお、このβ（Ｌ）など、ウィンドウ境界のβの値の導出法は、非特許文献１などいくつかの方法が知られている。【０１７９】
そして、すべてのウィンドウ（ウィンドウ０〜ウィンドウ（Ｊ−１））に対しα計算が完了すると、１ウィンドウ分の時間遅れの後、β計算・Λ計算が完了する。【０１８０】
以上のように、スライディングウィンドウ方式では、α計算とβ・Λ計算、β境界値の導出を並列に行うことで、高速にＭａｘ−ｌｏｇ−ＭＡＰ復号を行う。【０１８１】
図２６は、スライディング方式を実現する復号器の基本的な構成を示すブロック図である。図２６に示す復号器３０は、図２９に示す従来のＭａｘ−ｌｏｇ−ＭＡＰ復号器１の構成に、β境界値生成部１９が追加されただけで、ほぼ同等の構成であり、上述のとおり動作タイミングのみが異なるものとなっている。【０１８２】
このような基本構成を有するスライディング方式の復号器に、本発明の原理を適用した例を図２７に示す。【０１８３】
図２７は、本発明の実施の形態３に係る軟出力復号器の概略構成を示すブロック図である。図１２の軟出力復号器１００と同一の構成要素には同一の符号を付して重複箇所の説明を省略する。【０１８４】
図２７において、軟出力復号器４００は、γα計算部１０１、ＦＩＬＯメモリからなるタイミング調整器１０２，１０３、γβ計算部１０４、β境界値生成部１０９、及びΛ計算部１１０を備えて構成される。Λ計算部１１０は、硬判定復号部１１１、負け尤度計算部１１２、勝ち尤度記憶部１１３、及び減算器１１４から構成される。【０１８５】
β境界値生成部１０９は、図２６のβ境界値生成部１９と同様な機能を持つ。【０１８６】
図２８は、軟出力復号器４００の動作タイミングを示す図である。【０１８７】
図２８に示すように、スライディングウィンドウ方式に本軟出力復号器３００を適用しても動作タイミングに変更はない。【０１８８】
スライディングウィンドウ方式にも本発明の原理はそのまま適用できる。ポイントは次の２つである。【０１８９】
すなわち、ウィンドウごとにλｗｉｎの値が異なる場合があるので、新しいウィンドウの計算を始めるごとにλｗｉｎの算出を行う。算出方法は、データの末尾（ｎ＝Ｋ−１）で行ったのと同じ操作をｎ＝Ｌ−１などのウィンドウ境界に行えばよい。【０１９０】
また、新しいウィンドウの計算を始めるごとに、最尤パスステート初期値を導出する。【０１９１】
特に、軟出力復号器４００は、ウィンドウ境界のみＭａｘ−ｌｏｇ−ＭＡＰ処理（すなわち、２つの尤度λ０（ｎ）とλ１（ｎ）を算出する）を行い、そのとき求めた値を初期値として（最尤パスステート初期値）硬判定復号処理を行う。これにより、本実施の形態によれば、ウィンドウ分割処理を行う場合にも、通常のＭａｘ−ｌｏｇ−ＭＡＰを行った場合と等しい硬判定結果を得ることができる。【０１９２】
また、スライディングウィンドウ方式以外にも、データ分割に基づくＭａｘ−ｌｏｇ−ＭＡＰの処理効率化技術であれば同様に本発明の原理を適用することができる。すなわち、分割されたデータの両端のいずれかに対し、本発明の基本原理で示した<アルゴリズム１−Ａ−１>を適用することで、効率化されたＭａｘ−ｌｏｇ−ＭＡＰと同じ処理順序で軟判定復号を行うことができるので、従来のＭａｘ−ｌｏｇ−ＭＡＰの処理効率化技術に比べて演算量を削減し、消費電力を低減することができる。【０１９３】
上述のデータ分割に基づくＭａｘ−ｌｏｇ−ＭＡＰの処理効率化技術の例として、サブブロック分割による並列化がある。これは、入力データを複数のブロックに分割し、各ブロックで並列に復号を行うものである。さらに、各ブロック内部ではしばしばスライディングウィンドウ化が行われる。【０１９４】
（実施の形態４）
本実施の形態では、上記実施の形態１〜３の軟出力復号器を用いて硬判定復号を行う場合に、さらに演算量を減らし消費電力を低減する方法を説明する。【０１９５】
図２９は、本発明の実施の形態４に係る軟出力復号器の概略構成を示すブロック図である。【０１９６】
図２９の軟出力復号器５００は、図２０の軟出力復号器３００に、β境界値生成部１０９を追加することでスライディングウィンドウ方式を導入したものである。なお、軟出力復号器５００と軟出力復号器３００の構成や動作上の差異は、実施の形態３で述べたとおり、軟出力復号器１００と軟出力復号器４００との差異と全く同じように説明できる。【０１９７】
軟出力復号器５００は、硬判定復号部３１１の出力を直接外部に出力するようにした。軟出力復号器５００を用いてターボ復号を行う場合には、繰り返し復号の最終段階において軟出力を硬判定する代わりに、硬判定復号部３１１の出力を直接用いることで、軟出力を出力し、硬判定処理を行う必要がなくなる。【０１９８】
このように、軟出力復号器５００を硬判定復号器として用いた場合の特長として、次の２点が挙げられる。【０１９９】
第一に、軟出力復号器５００は、ウィンドウ境界においてＭａｘ−ｌｏｇ−ＭＡＰ処理（すなわち、２つの尤度λ０（ｎ）とλ１（ｎ）を算出する）を行い、そのとき求めた値を初期値として（最尤パスステート初期値）硬判定復号処理を行う構成としたため、従来の硬判定復号器であるビタビ復号器と比べ、処理の高速化が可能となり、またレジスタエクスチェンジ法のような複雑なメモリ操作が不要となり、消費電力を低減することができる。【０２００】
第二に、軟出力復号器５００を硬判定復号器として用いる場合には、負け尤度計算部１１２はウィンドウ境界にて最尤パスステート初期値のみを求め、ウィンドウ境界以外では動作を停止するようにする。【０２０１】
このようにすると、硬判定復号を行っているほとんどの時間において負け尤度計算部１１２が動作を停止するので、従来のＭａｘ−ｌｏｇ−ＭＡＰ復号器を用いて軟出力を硬判定する場合に比べ消費電力を削減することができる。【０２０２】
また、軟出力復号器５００を硬判定復号器として用いる場合には、さらに、タイミング調整器１０２、タイミング調整器１０３、γβ計算部１０４の動作を停止することで、消費電力を低減することができる。【０２０３】
図３０は、これらの動作を停止した状態を説明する図である。軟判定復号器５００を硬判定復号器として用いる場合には、配線を電気的に変更したり、上記３つのブロックを停止することで実質的に硬判定復号器５００ａとして動作させる。【０２０４】
負け尤度計算部１１２はウィンドウ境界部でのみ動作するが、そのとき使用される値βはβ境界値生成部１０９から入力される。また、値γはγβ計算部１０４から入力することも可能であるが、γα計算部３０１から入力するようにすることで、γβ計算部１０４を完全に停止し、消費電力を低減することができる。【０２０５】
また、値αはウィンドウ境界部でのみ使用されるので、タイミング調整器１０２を介さず負け尤度計算部１１２に入力することができる。その結果、タイミング調整器１０２の動作を停止し、消費電力を低減することができる。【０２０６】
以上のように、本発明の軟出力復号器５００は、ウィンドウ境界においてＭａｘ−ｌｏｇ−ＭＡＰ処理（すなわち、２つの尤度λ０（ｎ）とλ１（ｎ）を算出する）を行い、そのとき求めた値を初期値として（最尤パスステート初期値）硬判定復号処理を行う構成としたため、処理を高速化することができ、さらに、消費電力を低減することができる。【０２０７】
さらに、図３１は、上述の軟出力復号器５００を利用したターボ復号器６００を示している。【０２０８】
ターボ復号器６００は、軟出力復号器５００のほかに、インターリーバ６０１と、反復回数制御部６０２と、指示部６０３を備える。【０２０９】
軟出力復号器５００は、軟入力値ｓ、ｐと軟入力値ｅを入力する。繰り返しのはじめにおいては、軟入力ｅは０などの初期値が入力される。次の繰り返し以降は、軟出力復号器の軟出力値Λをインターリーバ６０１により並び替えたものをｅとして入力する。【０２１０】
反復回数制御部６０２は、規定の反復回数に達する直前に、最終の反復であることを示す信号を生成し、指示部６０３に送信する。【０２１１】
反復回数制御部６０２は、規定の反復回数に応じて最終の反復であることを判断するほか、硬判定出力や軟出力値の状態をもとに最終の反復であることを判断しても良い。【０２１２】
指示部６０３は、反復回数制御部６０２から最終の反復であることを示す信号を受けると、軟出力復号器５００に、軟判定値の出力停止指示信号をそれぞれ送る。【０２１３】
軟出力復号器５００は、軟判定値の出力停止指示信号を受け取ると、軟出力復号器５００の内部に備える負け尤度計算部１１２、タイミング調整器１０２、タイミング調整器１０３、γβ計算部１０４の動作を停止するよう制御を行う。【０２１４】
このように、ターボ復号器６００は、最終の繰り返しであることを判断すると軟判定値の出力停止指示を軟出力復号器５００に対して行う指示部６０３を設けたので、ターボ復号にかかる消費電力を効果的に低減することができる。【０２１５】
実施の形態４では、軟出力復号器５００を例に説明したが、軟出力復号器４００においても同様の効果を得ることができる。ただし、硬判定復号にαおよびγを用いるため、ウィンドウ境界部以外における負け尤度計算部１１２と、γβ計算部のうちβ計算部（番号無し）のみ動作を停止することができる。【０２１６】
また、スライディングウィンドウ方式以外にも、データ分割に基づくＭａｘ−ｌｏｇ−ＭＡＰの処理効率化技術であれば同様に本発明の原理を適用することができる。すなわち、分割されたデータの両端のいずれかに対し、本発明の基本原理で示した<アルゴリズム１−Ａ−１>を適用することで、効率化されたＭａｘ−ｌｏｇ−ＭＡＰと同じ処理順序で硬判定復号を行うことができるので、ビタビ復号に比べ高速化を図り、従来のＭａｘ−ｌｏｇ−ＭＡＰの処理効率化技術に比べて低消費電力化を図ることができる。【０２１７】
上述のデータ分割に基づくＭａｘ−ｌｏｇ−ＭＡＰの処理効率化技術の例として、サブブロック分割による並列化がある。これは、入力データを複数のブロックに分割し、各ブロックで並列に復号を行うものである。さらに、各ブロック内部ではしばしばスライディングウィンドウ化が行われる。【０２１８】
以上の説明は本発明の好適な実施の形態の例証であり、本発明の範囲はこれに限定されることはない。【０２１９】
また、上記各実施の形態では、α、β、γ、λは値が小さいほど尤度が高い（尤もらしい）とした。値が大きいほど尤度が高いとする実装も可能であり、その場合も本願の発明を適用できる。【０２２０】
また、勝ち尤度を所望の値（例えば０）とするために、αやβの初期値を特定の値としたり、γ・α・β計算において入力値に応じた特定の値を減ずるなどの方法をとってもよい。このようにすると、勝ち尤度記憶部１１３と減算器１１４を実質的に不要とした構成をとることもできる。【０２２１】
また、本実施の形態では、軟出力復号器、反復復号装置、及び軟判定値算出方法という名称を用いたが、これは説明の便宜上であり、復号装置、軟出力ビタビ復号装置、ターボ復号装置及び繰り返し復号方法等であってもよい。【０２２２】
また、本発明を本アルゴリズムによる軟出力復号器、反復復号装置、及び軟判定値算出方法が実現できればよく、ハードウェアで構成する場合は勿論のこと、軟判定値算出方法を機能させるためのソフトウェアで実現することも可能である。このソフトウェアはコンピュータで読み取り可能な記録媒体に格納されている。【０２２３】
また、上記各実施の形態の説明に用いた各機能ブロックは、典型的には集積回路であるＬＳＩとして実現される。これらは個別に１チップ化されても良いし、一部又は全てを含むように１チップ化されても良い。ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現しても良い。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行っても良い。例えば、バイオ技術の適用等が可能性としてありえる。【０２２４】
２００６年８月２２日出願の特願２００６−２２５９３８および２００６年９月１５日出願の特願２００６−２５１８７３の日本出願に含まれる明細書、図面および要約書の内容は、すべて本願に援用される。
【産業上の利用可能性】
【０２２５】
本発明に係る軟出力復号器、反復復号装置、及び軟判定値算出方法は、軟判定復号結果を繰り返し用いて復号を行うターボ復号装置等に適用して好適である。例えば、受信側で、畳み込み符号復号器やターボ復号器等の軟出力復号器や伝送誤りの有無を検出するための巡回符号を使用する受信装置や携帯電話等の通信端末装置に用いるに好適である。
【図１】
2008023682.tif 000007
【図２】
2008023682.tif 000008
【図３】
2008023682.tif 000009
【図４】
2008023682.tif 000010
【図５】
2008023682.tif 000011
【図６】
2008023682.tif 000012
【図７】
2008023682.tif 000013
【図８】
2008023682.tif 000014
【図９】
2008023682.tif 000015
【図１０】
2008023682.tif 000016
【図１１】
2008023682.tif 000017
【図１２】
2008023682.tif 000018
【図１３】
2008023682.tif 000019
【図１４】
2008023682.tif 000020
【図１５】
2008023682.tif 000021
【図１６】
2008023682.tif 000022
【図１７】
2008023682.tif 000023
【図１８】
2008023682.tif 000024
【図１９】
2008023682.tif 000025
【図２０】
2008023682.tif 000026
【図２１】
2008023682.tif 000027
【図２２】
2008023682.tif 000028
【図２３】
2008023682.tif 000029
【図２４】
2008023682.tif 000030
【図２５】
2008023682.tif 000031
【図２６】
2008023682.tif 000032
【図２７】
2008023682.tif 000033
【図２８】
2008023682.tif 000034
【図２９】
2008023682.tif 000035
【図３０】
2008023682.tif 000036
【図３１】
2008023682.tif 000037
【手続補正書】
【提出日】平成21年1月15日(2009.1.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の情報語に対応する符号語を受信し、前記情報語のとりうる複数の候補値それぞれに対応する複数の尤度値から、前記情報語の軟判定復号結果を算出する軟出力復号器であって、
前記複数の候補値から１つを推定値として判定する硬判定復号手段と、
前記複数の尤度値のうち、前記推定値に対応する尤度値については計算を禁止し、他の候補値に対応する尤度値について計算を行う尤度計算手段と
を備える軟出力復号器。
【請求項２】
前記硬判定復号手段は、値０又は１を推定値として出力し、
前記尤度計算手段は、前記推定値に対応する尤度値の計算を禁止する請求項１記載の軟出力復号器。
【請求項３】
前記尤度計算手段は、前記複数の候補値が２つのとき、尤度が小さい１つの尤度値を算出する請求項１記載の軟出力復号器。
【請求項４】
前記尤度計算手段は、前記複数の候補値が４つのとき、尤度が最大の１つを除いた残り３つの尤度値を算出する請求項１記載の軟出力復号器。
【請求項５】
前記推定値に対応する尤度値を勝ち尤度とするとき、前記勝ち尤度と、前記尤度計算手段の出力のうち１つとの差を計算する軟判定値計算手段を備える請求項１記載の軟出力復号器。
【請求項６】
前記勝ち尤度は、規定の一定値である請求項５記載の軟出力復号器。
【請求項７】
前記情報語の１つを境界部と定め、前記境界部に対する勝ち尤度を算出する境界勝ち尤度計算手段と、
前記境界勝ち尤度を保持する記憶手段とを備え、
前記軟判定計算手段は、前記境界勝ち尤度を用いて、前記境界部以外の情報語に対する軟判定復号結果を算出する請求項１記載の軟出力復号器。
【請求項８】
前記情報語は、値０又は１をとり、
値０に対応する尤度値と値１に対応する尤度値の差から前記情報語の軟判定復号結果を出力する請求項１記載の軟出力復号器。
【請求項９】
前記複数の候補値は、２つの候補値０，１である請求項１記載の軟出力復号器。
【請求項１０】
前記複数の候補値は、４つの候補値００，０１，１０，１１である請求項１記載の軟出力復号器。
【請求項１１】
受信した前記符号語を複数のブロックに分割し、ブロックごとに軟判定復号を行うものであって、ブロックごとに異なる勝ち尤度を用いる請求項５記載の軟出力復号器。
【請求項１２】
ターボ符号により誤り訂正符号化されたデータに対してスライディングウィンドウを用いて尤度計算を行う請求項１記載の軟出力復号器。
【請求項１３】
スライディングウィンドウの両端の一方を境界部と定め、前記境界部に対する勝ち尤度を算出する境界勝ち尤度計算手段と、前記境界勝ち尤度を保持する記憶手段とを備え、
前記軟判定計算手段は、前記境界勝ち尤度を用いて、前記境界部以外の情報語に対する
軟判定復号結果を算出する請求項１２記載の軟出力復号器。
【請求項１４】
前記情報語の１つを境界部と定め、前記境界部に対する前記情報語のとりうる複数の候補値それぞれに対応する複数の境界尤度値を求める境界尤度計算手段と、
前記境界尤度値を用いて、最尤ブランチが接続されるステート番号を特定する初期ステート番号特定手段を備え、
前記硬判定復号手段は、前記ステート番号を用いて、前記境界部以外の情報語に対する推定値を判定する請求項１に記載の軟出力復号器。
【請求項１５】
前記尤度計算手段は、軟判定値の出力停止指示を受け、かつ、硬判定値の出力指示を受けた場合には、前記境界部以外の情報語に対する尤度計算を禁止する請求項１４に記載の軟出力復号器。
【請求項１６】
軟出力復号を繰り返し行う反復復号装置であって、
請求項１４記載の軟出力復号器と、
最終の繰り返しには、前記軟出力復号器に硬判定値の出力指示を行うとともに軟判定値の出力停止指示を行う指示部と
を備える反復復号装置。
【請求項１７】
複数の情報語に対応する符号語を受信し、前記情報語のとりうる複数の候補値それぞれに対応する複数の尤度値から、前記情報語の軟判定復号結果を算出する軟出力復号器の軟判定値算出方法であって、
前記複数の候補値から１つを推定値として判定するステップと、
前記複数の尤度値のうち、前記推定値に対応する尤度値については計算を禁止し、他の候補値に対応する尤度値について計算を行うステップと
を有する軟判定値算出方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、畳み込み符号を用いて符号化されたデジタル信号を復号する軟出力復号器、反復復号装置、及び軟判定値算出方法に関し、特に、軟判定復号結果を繰り返し用いて復号を行う反復復号装置に適用して好適な軟出力復号器及び軟判定値算出方法に関する。
【背景技術】
【０００２】
ターボ符号の復号で用いられる軟出力復号アルゴリズムとしては、最大事後確率復号法であるＭＡＰ（Maximum A posterior Probability）復号方式が現在のところ最良であると言われている。そして、回路実現の際には、ＭＡＰ方式を対数計算で近似したＭａｘ−ｌｏｇ−ＭＡＰ方式が使用されることがある。ターボ復号の内部で用いられる、畳み込み符号の軟判定復号法としては、Ｍａｘ−ｌｏｇ−ＭＡＰ、ＳＯＶＡ（Soft Output Viterbi Algorithm）が、比較的演算量が少ないものとして知られている。
【０００３】
しかし、ターボ復号の演算量は他の符号などと比べると依然大きく、更なる演算量の削減が望まれている。
【０００４】
図１は、従来のＭａｘ−ｌｏｇ−ＭＡＰ復号法を説明するための復号器のブロック図である。
【０００５】
図１において、復号器１は、γα計算部１１、タイミング調整器１２，１３、γβ計算部１４、及びΛ計算部１５を備えて構成される。Λ計算部１５は、尤度計算部１６、１７、及び減算器１８から構成される。
【０００６】
Ｍａｘ−ｌｏｇ−ＭＡＰ復号器１に入力されるデータ列は３種類あり、システマティックｇ（ｎ）、パリティｐ（ｎ）、事前値ｅ（ｎ）である。ここで、ｎ＝０〜Ｋ−１，Ｋはブロックサイズ（送信情報ビット数）である。
【０００７】
Ｍａｘ−ｌｏｇ−ＭＡＰ復号器１は、受信系列ｙ（ベクトルｓとｐを含む）、及び外部値のベクトルｅから、軟出力値Λ（ｎ）を求めるものである。Λ（ｎ）は事後値とも呼ばれ、復号器１により推定された送信ビットの対数尤度比（ＬＬＲ：Log Likelihood Ratio）である。すなわち、下記式（１）のように定義され、Λ（ｎ）＞０であれば、ｎビット目の送信データｄ（ｎ）は０と推定され、Λ（ｎ）＜０であれば、ｄ（ｎ）は１と推定される。なお、ＬＬＲの符号を判定することで推定値ｄを得る操作を、硬判定処理と呼ぶ。
【０００８】
【数１】
2008023682.tif 000038
図２は、Ｍａｘ−ｌｏｇ−ＭＡＰ復号器１を要素復号器として用いたターボ復号器２０のブロック図である。
【０００９】
この例では、図１のＭａｘ−ｌｏｇ−ＭＡＰ復号器（以下、要素復号器という）１が２つ用いられる。ターボ復号器２０は、２つの要素復号器２１，２２（Ｍａｘ−ｌｏｇ−ＭＡＰ復号器１，２）、加算器２３，２４、インターリーバ２５，２６（インターリーバπ）、デインターリーバ２７，２８（デインターリーバπ−１）、及び符号判定器２９（ｓｉｇｎ）から構成される。インターリーバπ及びデインターリーバπ−１は、あらかじめ
定められた方法でデータの順序を並び替える回路である。
【００１０】
Ｍａｘ−ｌｏｇ−ＭＡＰ復号器２１には、システマティックｓと、第１のパリティｐ１と、Ｍａｘ−ｌｏｇ−ＭＡＰ復号器２２から送られた外部値ｅ１が入力され、第１のＬＬＲであるΛ１が出力される。
【００１１】
Λ１から、システマティックｓと外部値ｅ１を減じると、下記式（２）で示すように新しい外部値ｅ１’が求まる。
【００１２】
ｅ１’（ｎ）＝Λ１（ｎ）−（ｓ（ｎ）＋ｅ１（ｎ））        …（２）
ｅ１’をインターリーブしたもの（ｅ２）を、Ｍａｘ−ｌｏｇ−ＭＡＰ復号器２２へ入力する外部値として用いる。また、Ｍａｘ−ｌｏｇ−ＭＡＰ復号器２２には、システマティックｓをインターリーブしたデータ、及び第２のパリティｐ２も入力される。
【００１３】
Ｍａｘ−ｌｏｇ−ＭＡＰ復号器２２は、これらの入力をもとに、第２のＬＬＲであるΛ２を出力する。Λ２に対しても同様に、入力されたインターリーブ後のシステマティックs（π（ｎ））と外部値ｅ２を減ずることで、下記式（３）に示すように新しい外部値ｅ２’が算出される。
【００１４】
ｅ２’（ｎ）＝Λ２（ｎ）−（ｓ（π（ｎ））＋ｅ２（ｎ））  …（３）
この新しい外部値ｅ２’をデインターリーブしたものを、Ｍａｘ−ｌｏｇ−ＭＡＰ復号器２１の新しい入力として用いる。デインターリーブは、上記インターリーブと対応する、逆並び替え処理である。
【００１５】
以上の処理を繰り返し行うことで、Λ１及びΛ２の正確さが向上していく。十分な回数の反復を行った後、Λ２の符号を判定し（ｓｉｇｎ）、デインターリーブを行うことで、送信ビットの推定値ｄ＾が得られる。
【００１６】
次に、Ｍａｘ−ｌｏｇ−ＭＡＰ復号の詳細な機能について説明する。なお、すべての計算式は非特許文献１に記載されたターボ符号を復号する場合に用いられるものであり、例として示したにすぎない。一般には個々の式は異なる。
【００１７】
Ｍａｘ−ｌｏｇ−ＭＡＰ復号におけるα、β、γは以下の意味を持つ。すなわち、
α：あるステートに至るパスの尤度の合計
β：あるステートから先のパスの尤度の合計
γ：ブランチの尤度
である。
（１）γ計算
γ計算は、α計算、β計算にそれぞれ先立って行われる。
【００１８】
ｎビット目の入力値ｓ（ｎ）,ｐ（ｎ）,ｅ（ｎ）から、下記式（４）で示す次の４つのγを算出する。
【００１９】
γ００（ｎ）＝（ｓ（ｎ）＋ｅ（ｎ）＋ｐ（ｎ））／２
γ０１（ｎ）＝（ｓ（ｎ）＋ｅ（ｎ）−ｐ（ｎ））／２
γ１０（ｎ）＝（−ｓ（ｎ）−ｅ（ｎ）＋ｐ（ｎ））／２
γ１１（ｎ）＝（−ｓ（ｎ）−ｅ（ｎ）−ｐ（ｎ））／２  …（４）
（２）α計算
上記の通り求めたγを使い、下記式（５）で示す漸化式によりαを算出する。
【００２０】
α０（ｎ＋１）＝ｍｉｎ｛α０（ｎ）＋γ００（ｎ），α４（ｎ）＋γ１１（ｎ）｝
α１（ｎ＋１）＝ｍｉｎ｛α４（ｎ）＋γ００（ｎ），α０（ｎ）＋γ１１（ｎ）｝
α２（ｎ＋１）＝ｍｉｎ｛α１（ｎ）＋γ０１（ｎ），α５（ｎ）＋γ１０（ｎ）｝
α３（ｎ＋１）＝ｍｉｎ｛α５（ｎ）＋γ０１（ｎ），α１（ｎ）＋γ１０（ｎ）｝
α４（ｎ＋１）＝ｍｉｎ｛α２（ｎ）＋γ０１（ｎ），α６（ｎ）＋γ１０（ｎ）｝
α５（ｎ＋１）＝ｍｉｎ｛α６（ｎ）＋γ０１（ｎ），α２（ｎ）＋γ１０（ｎ）｝
α６（ｎ＋１）＝ｍｉｎ｛α３（ｎ）＋γ００（ｎ），α７（ｎ）＋γ１１（ｎ）｝
α７（ｎ＋１）＝ｍｉｎ｛α７（ｎ）＋γ００（ｎ），α３（ｎ）＋γ１１（ｎ）｝
…（５）
上記式（５）中、ｍｉｎ｛ａ，ｂ｝は、２つの候補ａ，ｂのうち小さいものを選ぶ演算を表す。αの初期値はα０＝０，αｉ（０）＝＋∞（ｉ＞０）とする。また、αは、ｎの小さい方から大きいほうへ（昇順に）算出され、前方確率とも呼ばれる。
【００２１】
（３）β計算
同様に、γを用いて次式（６）の漸化式によりβを算出する。
β０（ｎ）＝ｍｉｎ｛β０（ｎ＋１）＋γ００（ｎ），β１（ｎ＋１）＋γ１１（ｎ）｝β１（ｎ）＝ｍｉｎ｛β２（ｎ＋１）＋γ０１（ｎ），β３（ｎ＋１）＋γ１０（ｎ）｝β２（ｎ）＝ｍｉｎ｛β５（ｎ＋１）＋γ０１（ｎ），β４（ｎ＋１）＋γ１０（ｎ）｝β３（ｎ）＝ｍｉｎ｛β７（ｎ＋１）＋γ００（ｎ），β６（ｎ＋１）＋γ１１（ｎ）｝β４（ｎ）＝ｍｉｎ｛β１（ｎ＋１）＋γ００（ｎ），β０（ｎ＋１）＋γ１１（ｎ）｝β５（ｎ）＝ｍｉｎ｛β３（ｎ＋１）＋γ０１（ｎ），β２（ｎ＋１）＋γ１０（ｎ）｝β６（ｎ）＝ｍｉｎ｛β４（ｎ＋１）＋γ０１（ｎ），β５（ｎ＋１）＋γ１０（ｎ）｝β７（ｎ）＝ｍｉｎ｛β６（ｎ＋１）＋γ００（ｎ），β７（ｎ＋１）＋γ１１（ｎ）｝
…（６）
ここで、βはｎの大きいほうから小さい方（降順に）に向かって順に計算される。β計算に先立って行われるγ計算も、β計算の順序に合わせて行われる。そこで、ｓ，ｐ，ｅをＦＩＬＯ（First-In Last-Out; 先入れ後出し）バッファにより並び替えてからγ計算部１４ａへ入力する。なお、βは後方確率とも呼ばれる。
【００２２】
（４）Λ計算
Λ計算ではまず、次式（７），（８）を用いて、ビットごとの対数尤度（Log Likelihood）λ０（ｎ），λ１（ｎ）を求める。これらの差が次式（９）に示す対数尤度比（ＬＬＲ：Log Likelihood Ratio）Λ（ｎ）となる。
【００２３】
【数２】
2008023682.tif 000039
λ計算では、αとβを両方用いて値を算出する。αはｎについて昇順に計算され、βは降順に計算されるので、α又はβを並び替えて用いる必要がある。
【００２４】
図１では、αをＦＩＬＯバッファにより並び替え、ｎの大きいほうから小さい方に向かう順にλを算出するようにした。
【００２５】
図３は、Ｍａｘ−ｌｏｇ−ＭＡＰ復号のフローチャートであり、図中、ＳＴはフローの各ステップを示す。本フローは、α、βを計算する際に適宜実行される。また、γ計算の記載を省略した。
【００２６】
まず、ステップＳＴ１，ＳＴ２でｎ＝０〜Ｋ−１に対してα（ｎ）を計算する。ここで、α（ｎ）の計算とは、α０（ｎ）〜α７（ｎ）の８つの値を算出することを意味する。算出されたα（ｎ）は、タイミング調整器（ＦＩＬＯメモリ）１２に保存される。
【００２７】
次いで、ステップＳＴ３，ＳＴ４でｎ＝Ｋ−１〜０に対し、β（ｎ）を計算する。β（
ｎ）が算出されると、ステップＳＴ５でλ０（ｎ）、λ１（ｎ）の計算、続いてステップＳＴ６でΛ（ｎ）の計算を行う。λ０（ｎ），λ１（ｎ）の計算では、タイミング調整器１２に保存されたα（ｎ）が使われる。αは０〜Ｋ−１という順に算出されるのに対し、λ計算ではＫ−１〜０という順で使われるので、タイミング調整器を用いる。
【００２８】
また、β計算、λ計算、Λ計算はしばしばパイプライン化される。すなわち、λ０（ｎ），λ１（ｎ）の計算を行っている間に、β（ｎ−１）の計算を行う。すると、λ０（ｎ），λ１（ｎ）の計算が終わるとすぐにλ０（ｎ−１），λ１（ｎ−１）の計算が開始できる。
【特許文献１】特開２０００−２７８１４４号公報
【非特許文献１】Robertson, P.; Villebrun, E.; Hoeher, P.; “A comparison of optimal and sub-optimal MAP decoding algorithms operating in the log domain” IEEE International Conference on Communications, 1995. Page（s）:1009 - 1013 vol.2
【非特許文献２】3GPP TS 25.212 v6.3.0
【発明の開示】
【発明が解決しようとする課題】
【００２９】
しかしながら、このような従来のＭａｘ−ｌｏｇ−ＭＡＰ復号法にあっては、上述したように多数の加算と比較・選択処理が必要となる。図４は、Ｍａｘ−ｌｏｇ−ＭＡＰ１ビットあたりの演算回数を表にして示す図である。
【００３０】
図４の表に示すように、従来のＭａｘ−ｌｏｇ−ＭＡＰ復号法を用いるＭａｘ−ｌｏｇ−ＭＡＰ演算器では、Λ計算に要する演算量が大きく、演算回路の小型化、及び処理遅延時間の短縮化を図ることができないという問題があった。
【００３１】
また、従来のＭａｘ−ｌｏｇ−ＭＡＰ復号法を用いたターボ復号器では、繰り返し復号の最終段階では硬判定の推定値のみが得られれば良いのに対し、一旦軟判定値を求めてから硬判定する必要があったため、演算量が大きく、演算回路の消費電力の低減を図ることができないという問題があった。
【００３２】
また、ＳＯＶＡ方式はＭａｘ−ｌｏｇ−ＭＡＰ方式に比べ誤り率特性が劣り、メモリ操作が複雑である問題がある。
【００３３】
本発明の目的は、尤度計算に要する演算量を小さくして、演算回路の小型化及び処理遅延時間の短縮化を図ることができる軟出力復号器、反復復号装置、及び軟判定値算出方法を提供することである。
【課題を解決するための手段】
【００３４】
本発明の軟出力復号器は、複数の情報語に対応する符号語を受信し、前記情報語のとりうる複数の候補値それぞれに対応する複数の尤度値から、前記情報語の軟判定復号結果を算出する軟出力復号器であって、前記複数の候補値から１つを推定値として判定する硬判定復号手段と、前記複数の尤度値のうち、前記推定値に対応する尤度値については計算を禁止し、他の候補値に対応する尤度値について計算を行う尤度計算手段とを備える構成を採る。
【００３５】
本発明の反復復号装置は、軟出力復号を繰り返し行う反復復号装置であって、上記本発明の軟出力復号器を有し、この軟出力復号器は、前記情報語の１つを境界部と定め、前記境界部に対する前記情報語のとりうる複数の候補値それぞれに対応する複数の境界尤度値を求める境界尤度計算手段と、前記境界尤度値を用いて、最尤ブランチが接続されるステート番号を特定する初期ステート番号特定手段を備え、前記硬判定復号手段は、前記ステ
ート番号を用いて、前記境界部以外の情報語に対する推定値を判定するものであって、更にこの反復復号装置は、最終の繰り返しには、前記軟出力復号器に硬判定値の出力指示を行うとともに軟判定値の出力停止指示を行う指示部を備える構成を採る。
【００３６】
本発明の軟判定値算出方法は、複数の情報語に対応する符号語を受信し、前記情報語のとりうる複数の候補値それぞれに対応する複数の尤度値から、前記情報語の軟判定復号結果を算出する軟出力復号器の軟判定値算出方法であって、前記複数の候補値から１つを推定値として判定するステップと、前記複数の尤度値のうち、前記推定値に対応する尤度値については計算を禁止し、他の候補値に対応する尤度値について計算を行うステップとを有する。
【発明の効果】
【００３７】
本発明によれば、尤度計算に要する演算量を小さくすることができ、演算回路の小型化、低消費電力化、及び処理遅延時間の短縮化を図ることができる。Ｍａｘ−ｌｏｇ−ＭＡＰ復号法などに適用すれば、ターボ復号の演算量を大幅に削減することができる。
【発明を実施するための最良の形態】
【００３８】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【００３９】
（基本原理）
まず、本発明の基本原理について説明する。
【００４０】
発明の原理を説明するにあたり、Ｍａｘ−ｌｏｇ−ＭＡＰ復号法のグラフによる説明を導入する。以下、実施の形態で参照する図面において、トレリス線図における実線は、送信ビット＝０に対応するブランチ、破線は送信ビット＝１に対応するブランチを示している。
【００４１】
図５は、λ０，λ１の計算式を説明するグラフ（トレリス線図）である。
【００４２】
λ０は、図５に示す８つの実線に対応するα＋β＋γを計算し、その中の最小値を求めることで計算され、λ１は、図５に示す８つの破線に対応するα＋β＋γの最小値を求めることで計算される。なお、グラフ中で縦に並ぶノードの数をステート数と呼ぶ。ここでは、非特許文献１のターボ符号化方式を用いたのでステート数は８である。また、ノード間の接続（ブランチ）も符号化方式に依存して決まる。
【００４３】
図６は、Ｍａｘ−ｌｏｇ−ＭＡＰ復号おける最尤ブランチに対応する尤度（α＋β＋γ）の算出方法を説明する図である。
【００４４】
図６に示すように、Ｍａｘ−ｌｏｇ−ＭＡＰ復号は、実線の中の最尤ブランチ（送信ビット：０）と破線の中の最尤ブランチ（送信ビット：１）の、２つに対応する尤度（α＋β＋γ）を求めることを目的としている。図６の例では、最尤ブランチ（送信ビット：０）のブランチα３（ｎ）〜β７（ｎ）の尤度（α＋β＋γ）は、λ０（ｎ）＝α３（ｎ）＋γ００（ｎ）＋β７（ｎ）であり、最尤ブランチ（送信ビット：１）のブランチα２（ｎ）〜β４（ｎ）の尤度（α＋β＋γ）は、λ１（ｎ）＝α２（ｎ）＋γ１０（ｎ）＋β４（ｎ）である。
【００４５】
このように、ＬＬＲの計算方法では、計１６個のブランチについて、α+β+γを算出するとともに、送信ビット＝０に対応するブランチ（８通り）から最尤値を選択し、送信ビット＝１に対応するブランチ（８通り）から最尤値を選択する。２つの最尤値λ０，λ１の差が軟判定値となる。
【００４６】
以上は、Ｍａｘ−ｌｏｇ−ＭＡＰ復号の一般的な概念であり、以下に本発明者による考察と、それにより発見された性質に基づく発明について説明する。
【００４７】
次に、連続する２時点について考える。ここで、時点とは、グラフ上で１ビットの復号に相当する区間を指すものとする。
【００４８】
図７は、Ｍａｘ−ｌｏｇ−ＭＡＰ復号を説明するトレリス線図である。
【００４９】
図７において、各時点におけるλ計算を行う。すなわち、「実線の中の最尤ブランチ」と「破線の中の最尤ブランチ」に対応するλ＝α＋β＋γを求める。その結果は、例えば図８に示すようになる。
【００５０】
図８は、図７において各時点におけるλ計算を行った際の結果を説明する図である。
【００５１】
ここで、「実線の中の最尤ブランチ」と「破線の中の最尤ブランチ」のうち、より尤度が高い方を最尤ブランチと呼ぶことにする。例えば、もし図７でλ０（ｎ）＞λ１（ｎ）であったなら、図８の破線（Ｘ）が時点ｎの最尤ブランチである。
【００５２】
いま、次のような仮定をおく。
【００５３】
[仮定１]  最尤ブランチにおける尤度値は、一定値である。
【００５４】
なお、ここでは仮定としたが、後述する<アルゴリズム１>に基づき実際に評価してみたところ、計算誤差は発生しなかった。すなわち、[仮定１]をおいても実用上問題ない。
【００５５】
これらの仮定を利用して、本発明では、次のようにＭａｘ−ｌｏｇ−ＭＡＰ復号を行う。
【００５６】
<アルゴリズム１>
（１）最尤ブランチの種類（０：実線ｏｒ１：破線）を特定する。
（２）時点ｎにおいて、最尤ブランチの対応するビットが０（実線）であれば、λ０（ｎ）＝λｗｉｎとし、λ１（ｎ）のみ、上記式（８）を用いて計算する。１であれば、λ１（ｎ）＝λｗｉｎとし、λ０（ｎ）のみ、上記式（７）を用いて計算する。
【００５７】
このようにすることで、λ０（ｎ）又はλ１（ｎ）のいずれかの計算を省略することができる。
【００５８】
次に、最尤ブランチの種類の特定方法について説明する。従来のＭａｘ−ｌｏｇ−ＭＡＰ復号では、λ０（ｎ）とλ１（ｎ）を両方算出してはじめて最尤ブランチが特定できた。しかし、λ０（ｎ）とλ１（ｎ）を計算せずに最尤ブランチを特定できなければ、<アルゴリズム１>による演算量削減効果は得られない。
【００５９】
最尤ブランチの種類の特定方法を考えるにあたり、次の仮定をおく。
【００６０】
[仮定２]  最尤ブランチは、グラフ上で途切れることなくつながっている。
【００６１】
なお、ここでは仮定としたが、後述する<アルゴリズム１−Ａ>に基づき実際に評価してみたところ、計算誤差は発生しなかった。すなわち、[仮定２]をおいても実用上問題ない。
【００６２】
ここで、最尤ブランチのつながりを最尤パスと呼ぶことにする。
【００６３】
[仮定２]によれば、１つの最尤ブランチを基点として、最尤パスをトレースしていくことにより、すべての最尤ブランチを特定することができる。また、最尤パスが通るノードを「最尤パスステート」と呼ぶことにする。１つの最尤パスステートを基点として、最尤パスステートを次々に特定していくことにより最尤パスを特定することもできる。このアルゴリズムを以下に示す。
【００６４】
<アルゴリズム１−Ａ>（最尤ブランチの種類の特定方法）
（１−１）最尤パスステート初期値を特定する。
（１−２）最尤パスステートに接続されるブランチについて、尤度比較し、最も尤度が高いものが最尤ブランチである。そのブランチが０に対応するブランチ（実線）か、１に対応するブランチ（破線）か、を出力する。
（１−３）最尤ブランチの接続先を、次の最尤パスステートと特定する。
【００６５】
この後、上記（１−２）、（１−３）を繰り返す。
【００６６】
<アルゴリズム１−Ａ>を、図９を用いて詳細に説明する。
【００６７】
図９は、本発明の原理の一例を示すアルゴリズムを説明する図である。
【００６８】
図９において、ステップ（１−１）では、基点となる最尤パスステート（最尤パスステート初期値と呼ぶ）を特定する。その方法については後述する。ここでは、ノードＳ０が最尤パスステート初期値であったとする。
【００６９】
Ｓ０に接続されるブランチは、Ｙ１及びＹ２のみであるから、次の最尤パスステートはＳ１又はＳ４のいずれかである。
【００７０】
ステップ（１−２）では、Ｙ１、Ｙ２のいずれが最尤ブランチであるかを特定する。そのために、α＋β＋γの計算を行う。Ｙ１の尤度（λ［Ｙ１］）は、λ［Ｙ１］＝α２（ｎ）＋β４（ｎ）＋γ１０（ｎ）で算出され、Ｙ２の尤度（λ［Ｙ２］）は、λ［Ｙ２］＝α６（ｎ）＋β４（ｎ）＋γ０１（ｎ）である。そして、λ［Ｙ１］とλ［Ｙ２］を比較し、λ［Ｙ１］の尤度が大きければ（値が小さければ）、Ｙ１が最尤ブランチとなる。したがって、最尤ブランチに対応する値１を出力する。
【００７１】
上記（１−２）で最尤ブランチを特定できたので、ステップ（１−３）では、その接続先であるＳ１が最尤パスステートであると特定できる。
【００７２】
この場合、λ［Ｙ１］とλ［Ｙ２］の大小関係が分かればよいので、共通項であるβ４（ｎ）を省略し、
λ’［Ｙ１］＝α２（ｎ）＋γ１０（ｎ）、λ’［Ｙ２］＝α６（ｎ）＋γ０１（ｎ）の２つを比較しても良い。
【００７３】
Ｓ１が最尤パスステートであると特定できたので、同様の手順で、次の最尤パスステートＳ２を特定できる。
【００７４】
以上のように、<アルゴリズム１−Ａ>によれば、すべての尤度を計算することなく、Ｍａｘ−ｌｏｇ−ＭＡＰ復号を行ってから硬判定を行うのと同じ結果を得ることができ、その結果を<アルゴリズム１>の前記（１）手順に利用すると、尤度計算の演算量を削減したＭａｘ−ｌｏｇ−ＭＡＰ復号を実現することができる。
【００７５】
これにより、従来の従来のＭａｘ−ｌｏｇ−ＭＡＰ復号法におけるΛ演算(ＬＬＲ演算)
と呼ばれるステップと異なり、最終的に２つの値しか使わないにもかかわらず全ブランチ(例えば１６)についての計算を行う必要が無くなり、計算量が小さくなる。
【００７６】
ところで、<アルゴリズム１−Ａ>では、最尤ブランチを完全に特定することが目的ではなく、最尤ブランチの種類のみが必要となる。そこで、<アルゴリズム１−Ａ>の代わりに、一般に知られる硬判定復号法（例えば、ビタビ復号法）を<アルゴリズム１−Ａ>の前記（１）手順に用いることも可能である。
【００７７】
理想的なビタビ復号の結果と、理想的なＭａｘ−ｌｏｇ−ＭＡＰ復号の硬判定結果は一致することが予想されるが、実際にはビタビ復号ではレジスタエクスチェンジ法、Ｍａｘ−ｌｏｇ−ＭＡＰではスライディングウィンドウ法などの簡易な実装法が用いられるため、結果は一致しないことがある。この場合、<アルゴリズム１>の適用により演算量の削減効果は得られるが、ある程度の計算誤差が発生する。
【００７８】
次に、<アルゴリズム１−Ａ>における最尤パスステート初期値の求め方について説明する。<アルゴリズム１−Ａ>における最尤パスステート初期値を算出する処理を<アルゴリズム１−Ａ−１>で示す。
【００７９】
<アルゴリズム１−Ａ−１>
（１−１−１）  時点Ｋ−１（すなわち、復号対象の最後のビット）について、通常のＭａｘ−ｌｏｇ−ＭＡＰ復号と同様に尤度λ０（Ｋ−１），λ１（Ｋ−１）を算出する。このとき、どのブランチが最尤ブランチであったか記憶しておく。
（１−１−２）  最尤ブランチが接続されるノードを、最尤パスステート初期値とする。このノードを基点に、ｎ＝Ｋ−２〜０に対する処理を<アルゴリズム１−Ａ>に従い行う。（１−１−３）  さらに、１−１−１で求めた尤度λ０（Ｋ−１），λ１（Ｋ−１）のうち、尤度の高い（値の小さい）方をアルゴリズム１におけるλｗｉｎとする。
【００８０】
図１０は、<アルゴリズム１−Ａ−１>における最尤パスステート初期値の求め方を説明する図である。
【００８１】
図１０に示すように、グラフ上の最も右端の時点Ｋ−１についてのみ、通常のＭａｘ−ｌｏｇ−ＭＡＰ復号と同じ尤度計算を行い、さらに最尤ブランチを特定する。例えば、ブランチWが最尤であったとする（１−１−１）。
【００８２】
すると、ノードＳ０が最尤パスステートであることが分かるので、これを基点としてｎ＝Ｋ−２〜０に対し、<アルゴリズム１−Ａ>を適用する。
【００８３】
このようにすると、通常のＭａｘ−ｌｏｇ−ＭＡＰ復号を行ってから硬判定を行ったのとまったく同じ結果を得ることができ、その結果、アルゴリズム１により、ｎ＝Ｋ−２〜０に対する尤度計算の演算量を削減することができる。
【００８４】
なお、<アルゴリズム１−Ａ>とは別の方法でも、最尤ブランチの種類の特定（硬判定値の取得）が可能である。その方法について説明する。
【００８５】
<アルゴリズム１−Ａ>に代わる方法
説明の準備として、α計算をグラフで表す。
【００８６】
図１１は、α計算を表すグラフの一例を示す図である。図１１のグラフは、上記式（５）の第１式であるα０（ｎ＋１）＝ｍｉｎ｛α０（ｎ）＋γ００（ｎ），α４（ｎ）＋γ１１（ｎ）｝を示している。
【００８７】
図１１に示すように、αの計算では、あるノードに着目して、そのノードの左側に接続されているブランチそれぞれに対しα＋γを計算し、最も尤度の高い値を選択する。
【００８８】
ところで、<アルゴリズム１−Ａ>の（１−２）では、最尤パスステートの左側に接続されているブランチについて、α＋γの大きい方を選択することにより最尤ブランチを特定し、硬判定値を取得していた。
【００８９】
そこで、α計算においてα＋γの値を比較したときに、どちらの尤度が高かったかを示す情報ｑを保存しておき、Λ計算時にアルゴリズム１−Ａにより最尤ブランチを特定するとき、その情報ｑを参照すれば、改めてα＋γの計算と比較を行わなくて済む。
【００９０】
例えば、図１１において、α０（ｎ）＋γ００（ｎ）＜α４（ｎ）＋γ１１（ｎ）であった場合（前者の尤度が高い）、ｑ０（ｎ＋１）＝０とする。すべてのステート０〜７に対し、α０（ｎ＋１）〜α７（ｎ＋１）を算出し保存するとともに、ｑ０（ｎ）〜ｑ７（ｎ）を保存する。以上の考察から、以下の<アルゴリズム１−Ｂ>が得られる。
【００９１】
<アルゴリズム１−Ｂ>
（１−０Ｂ）α計算において、パス選択情報ｑを保存しておく。
（１−１）最尤パスステート初期値を特定する。
（１−２Ｂ）最尤パスステートに対応するパス選択情報ｑを参照し、接続されるブランチの中から最尤ブランチを特定する。そのブランチが０に対応するブランチ（実線）か、1に対応するブランチ（破線）か、を出力する。
（１−３）最尤ブランチの接続先を、次の最尤パスステートと特定する。
【００９２】
（１−３）の後、上記（１−２Ｂ）、（１−３）の処理を繰り返す。
【００９３】
以上のように、<アルゴリズム１−Ｂ>では、<アルゴリズム１−Ａ>と比べ、パス選択情報を保存するメモリが増加する一方、手順（１−２）の処理が簡略化される。
【００９４】
上記、手順（１−１）における最尤パスステート初期値の特定は、<アルゴリズム１−Ａ>と同様の方法をとることができる。すなわち、<アルゴリズム１−Ａ−１>と<アルゴリズム１−Ｂ>を組み合わせて用いることができる。この組み合わせについての詳細は実施の形態２で説明する。
【００９５】
このように、本発明では、あらかじめ尤度の高いブランチを判定し、そのブランチと同種のブランチについては計算を省略することで、計算量を削減するものである。
【００９６】
（実施の形態１）
本実施の形態は、上述した<アルゴリズム１>、<アルゴリズム１−Ａ>、及び<アルゴリズム１−Ａ−１>の実装例を示す。
【００９７】
図１２は、本発明の実施の形態１に係る軟出力復号器の概略構成を示すブロック図である。本実施の形態は、ターボ復号器の要素復号器に用いるＭａｘ−ｌｏｇ−ＭＡＰ復号に適用した例である。
【００９８】
図１２において、軟出力復号器１００は、γα計算部１０１、ＦＩＬＯメモリからなるタイミング調整器１０２，１０３、γβ計算部１０４、及びΛ計算部１１０を備えて構成される。Λ計算部１１０は、硬判定復号部１１１、負け尤度計算部１１２、勝ち尤度記憶部１１３、及び減算器１１４から構成される。
【００９９】
以下、上述のように構成された軟出力復号器１００の動作について説明する。
【０１００】
図１３は、軟出力復号器１００における軟出力復号の処理を説明するフローチャートである。図中、ＳＴはフローの各ステップであり、ステップＳＴ１１〜ステップＳＴ２０の順に処理を行う。
【０１０１】
まず、ステップＳＴ１１，ＳＴ１２でｎ＝Ｋ−１〜０に対してα（ｎ）を計算する。ここで、α（ｎ）の計算とは、α０（ｎ）〜α７（ｎ）の８つの値を算出することを意味する。算出されたα（ｎ）は、タイミング調整器（ＦＩＬＯメモリ）１０２に保存される。γα計算部１０１におけるα計算は、従来技術と同様に行う。
【０１０２】
ステップＳＴ１３，ＳＴ１４は、<アルゴリズム１−Ａ−１>における境界処理である。これは、負け尤度計算部１１２の内部で行われ、求めた最尤パスステートは硬判定復号部１１１に格納され、λｗｉｎは勝ち尤度記憶部１１３に格納される。
【０１０３】
次いで、ステップＳＴ１５，ＳＴ１６でｎ＝Ｋ−１〜０に対し、β（ｎ）を計算する。γβ計算部１０４におけるβ計算は、従来技術と同様に行う。
【０１０４】
ステップＳＴ１７では、硬判定復号部１１１が硬判定ビットｄ（ｎ）を算出する。硬判定復号部１１１は、<アルゴリズム１−Ａ>の前記（１−２）に従い硬判定値ｄ（ｎ）（これは、最尤ブランチの種類に相当する）を算出する。
【０１０５】
ステップＳＴ１８では、硬判定復号部１１１が最尤パスステートを更新する。硬判定復号部１１１は、<アルゴリズム１−Ａ>の前記（１−３）に従い、次の最尤パスステートを特定する。
【０１０６】
ステップＳＴ１９では、負け尤度計算部１１２が<アルゴリズム１>の前記（２）に従い、λｌｏｓｅ（ｎ）を算出する。
【０１０７】
次いで、ステップＳＴ２０でΛ（ｎ）を算出し、上記ステップＳＴ１５に戻る。硬判定値ｄ（ｎ）に基づき、λｗｉｎ（ｎ）、λｌｏｓｅ（ｎ）と、λ０（ｎ）、λ１（ｎ）の対応を特定することにより、Λ（ｎ）＝λ０（ｎ）−λ１（ｎ）を算出する。これは、符号操作機能つきの減算器１１４により行われる。
【０１０８】
次に、軟出力復号器１００の各ブロックについて説明する。
【０１０９】
〔負け尤度計算部１１２〕
Λ計算部１１０が備える負け尤度計算部１１２の機能は、次の２つである。
（１）  上記ステップＳＴ１９において、λｌｏｓｅ（ｎ）を算出する。
（２）  上記ステップＳＴ１３，ＳＴ１４において、λｗｉｎ及び最尤パスステートを求める。
【０１１０】
このうち、負け尤度計算部１１２の主たる機能は、上記ステップＳＴ１９のλｌｏｓｅ（ｎ）算出処理である。その上で、<アルゴリズム１−Ａ−１>の前記（２）（３）の機能は、負け尤度計算部１１２を流用することで実現可能であるので、本実施の形態ではそのようにした。
【０１１１】
まず、上記ステップＳＴ１９のみを実現する負け尤度計算部１１２について説明する。
【０１１２】
負け尤度計算部１１２は、λ０（ｎ）とλ１（ｎ）のうち、尤度が小さい（値が大きい）側の値であるλｌｏｓｅ（ｎ）を算出するものである。２つの尤度λ０（ｎ）とλ１（ｎ）のうち、どちらが小さくなるかは硬判定復号部１１１からの出力ｄ（ｎ）に基づき判定する。硬判定出力ｄ（ｎ）が１であるとき、λ０（ｎ）＞λ１（ｎ）となるので尤度値λ０（ｎ）を算出し、硬判定出力ｄ（ｎ）が１であるとき、尤度値λ１（ｎ）を算出する。算出した値を、減算器１１４へ入力する。
【０１１３】
上記の処理は次式（１０）で示される。
【数３】
2008023682.tif 000040
【０１１４】
図１４は、軟出力復号器１００の負け尤度計算部１１２の構成を示す図である。なお、図１４に示す実装例は、負け尤度計算部１１２の機能を説明するための図であり、ベストモードの構成は図１６により後述する。
【０１１５】
図１４において、負け尤度計算部１１２Ａは、スイッチ１２１〜１２４、セレクタ１３１，１３２、加算器１４１〜１５０、及び最小値選択器（ｍｉｎ）１５１〜１５３を備えて構成される。
【０１１６】
図１５は、上記スイッチ１２１〜１２４及びセレクタ１３１，１３２の動作を説明する図であり、図１５（ａ），（ｂ）はスイッチ１２１〜１２４の動作、図１５（ｃ），（ｄ）はセレクタ１３１，１３２の動作を示す。
【０１１７】
図１５（ａ），（ｂ）において、スイッチ１２１を代表して説明すると、スイッチ１２１は、ｄ（ｎ）＝１のとき２つのデータを順方向に出力し、ｄ（ｎ）＝０のとき２つのデータ位置を入れ替えて出力する。
【０１１８】
また、図１５（ｃ），（ｄ）において、セレクタ１３１を代表して説明すると、セレクタ１３１は、ｄ（ｎ）＝１のとき上のデータを出力し、ｄ（ｎ）＝０のとき下のデータを出力する。
【０１１９】
上記の機能は、図１３のフローチャートのステップＳＴ１９の「λｌｏｓｅを算出」に対応する。
【０１２０】
次に、図１３のフローチャートのステップＳＴ１３，ＳＴ１４のλｗｉｎ及び最尤パスステートを求める処理の実現方法について説明する。
【０１２１】
図１６は、軟出力復号器１００の負け尤度計算部１１２の実装例の構成を示す図である。図１４の負け尤度計算部１１２Ａのベストモードの構成である。図１４と同一構成部分には同一符号を付している。
【０１２２】
図１６において、負け尤度計算部１１２Ｂは、スイッチ１２１〜１２４、セレクタ１３１，１３２、加算器１４１〜１５０、最小値選択器（ｍｉｎ）１５１〜１５３、及び最尤パスステート候補決定部１６０を備えて構成される。
【０１２３】
図１６に示すように、負け尤度計算部１１２Ｂの内部には、３つの最小値選択器（ｍｉｎ）１５１〜１５３がある。これらの最小値選択器１５１〜１５３に、どの値を選択したかを示す信号を出力する端子を設ける。
【０１２４】
例えば、最小値選択器（ｍｉｎ）１５１は、ｄ（ｎ）＝１のとき、α０（ｎ）＋β０（ｎ）、α４（ｎ）＋β１（ｎ）、α７（ｎ）＋β６（ｎ）、α３（ｎ）＋β７（ｎ）の中の最小値を選択するが、もしα４（ｎ）+β１（ｎ）が選ばれた場合には、α４（ｎ）に関わる値が選ばれたことを示すように「４」という値を最尤パスステート候補決定部１６０に送る。
【０１２５】
最尤パスステート候補決定部１６０は、最終的にどの値が選択されたかを示す信号ｓ（ｎ）を出力する。例えば、ＬＬ_ｌｏｓｅ＝α２（ｎ）+β４（ｎ）＋γ１０（ｎ）が選ばれた場合には、s（ｎ）＝２を出力する。
【０１２６】
この負け尤度計算部１１２Ｂを使い、λｗｉｎと最尤パスステートを求める手順を説明する。
【０１２７】
図１７は、図１６の負け尤度計算部１１２Ｂによりλｗｉｎと最尤パスステートを算出する処理を示すフローチャートであり、ステップＳＴ２１〜ステップＳＴ２５の順に処理を行う。
【０１２８】
ステップＳＴ２１〜ステップＳＴ２３は、図１３のステップＳＴ１３に対応し、ステップＳＴ２４からステップＳＴ２５は、図１３のステップＳＴ１４の処理に対応している。
【０１２９】
まず、ステップＳＴ２１で、λ０（Ｋ−１）を求める。これは、負け尤度計算部１１２Ｂにおいてｄ（ｎ）＝１に固定することにより行われる。この値を仮の勝ち尤度λｗｉｎとして、勝ち尤度記憶部１１３に保存しておく。また、このときの最尤パスステート候補ｓ（ｎ）を仮の最尤パスステート初期値として硬判定復号部１１１（図１２参照）に送る。
【０１３０】
ステップＳＴ２２でλ１（Ｋ−１）を求める。これは、負け尤度計算部１１２Ｂにおいてｄ（ｎ）＝０に固定することにより行われる。これを、仮のλｌｏｓｅとする。
【０１３１】
ステップＳＴ２３では、減算器１１４では、仮のλｗｉｎと仮のλｌｏｓｅの差分を求める。この出力は、n＝Ｋ−１の復号結果Λ（Ｋ−１）である。
【０１３２】
ステップＳＴ２４では、Λ（Ｋ−１）の符号を判定し、仮のλｗｉｎ（λ０（Ｋ−１））の方が尤度が高い（Λ（Ｋ−１）＞０）場合には、仮のλｗｉｎは真のλｗｉｎであるから、ステップＳＴ２１で格納したλｗｉｎをそのままにしておく。一方、λｌｏｓｅ（λ１（Ｋ−１））の方が尤度が高い（Λ（Ｋ−１）＞０）場合には、仮のλｌｏｓｅが真のλｗｉｎである。そこで、負け尤度計算部１１２Ｂから出力される仮のλｌｏｓｅを、勝ち尤度記憶部１１３（図１２参照）に格納する。
【０１３３】
ステップＳＴ２５では、ステップＳＴ２４の処理と同様に、λｌｏｓｅの方が尤度が高いと判断された場合には、s（ｎ）の値を更新するよう硬判定復号部１１１に送る。
【０１３４】
次に、硬判定復号部１１１について説明する。これは、<アルゴリズム１−Ａ>を実現するものである。
【０１３５】
〔硬判定復号部１１１〕
図１８は、軟出力復号器１００の硬判定復号部１１１の構成を示すブロック図、図１９は、硬判定復号部１１１の機能を説明するトレリス線図である。
【０１３６】
図１８において、硬判定復号部１１１は、最尤パスステート記憶部２００、前ステート選択部２０１，２０２（前ステート選択部０，１）、αγ選択器２１１，２１２、加算器２２１，２２２、比較器２３０、及びステート更新部２４０を備えて構成される。
【０１３７】
図１９に示すように、最尤パスステート記憶部２００は、現時点の最尤パスステート番号（Ｓ０）を保持する。
【０１３８】
前ステート選択部２０１（前ステート選択部０）は、現時点の最尤パスステート番号（Ｓ０）と実線で接続されるステートの番号（Ｓ４）を求める。また、前ステート選択部２０２（前ステート選択部１）は、現時点の最尤パスステート番号Ｓ０と破線で接続されるステート番号（Ｓ１）を求める。
【０１３９】
αγ選択器２１１，２１２は、前ステート選択部２０１（前ステート選択部０）が選択したステート番号のαと、対応するγを、入力された８つのαと４つのγから選択する（α６（ｎ）とγ０１（ｎ））。
【０１４０】
加算器２２１，２２２は、αγ選択器２１１（αγ選択器０）の出力を加算する（λ’０（ｎ）＝α６（ｎ）+γ０１（ｎ））。
【０１４１】
比較器２３０は、２つの加算器２２１，２２２の出力を比較する。λ’０（ｎ）＞λ’1（ｎ）であれば、ｄ（ｎ）＝０を、そうでなければｄ（１）＝１を出力する。
【０１４２】
以上が、<アルゴリズム１−Ａ>の前記（１−２）に対応する（最尤ブランチの特定処理）である。
【０１４３】
さらに、ステート更新部２４０は、２つの前ステート選択部２０１，２０２の出力のうち、最終的に比較器２３０で尤度が高いとされた側のステート番号を選択し、最尤パスステート記憶部２００に送る。
【０１４４】
例えば、ｄ（ｎ）＝０と判定された場合には、前ステート選択部２０１（前ステート選択部０）の出力を新しい最尤パスステートとして最尤パスステート記憶部２００に送る。
【０１４５】
以上のように、本実施の形態によれば、Ｍａｘ−ｌｏｇ−ＭＡＰ復号器において求められる複数の尤度を勝ち尤度と負け尤度に判別し、負け尤度のみを計算するようにしたので、従来２つ必要であった尤度計算部を１つにすることができ、回路規模・消費電力を減らすことができる。
【０１４６】
また、勝ち尤度と負け尤度を判別する方法として、最尤パスが通過するステートを順次特定する硬判定復号部１１１を用いたので、Ｍａｘ−ｌｏｇ−ＭＡＰ復号器に大きな回路を追加する必要が無く、簡易な構成で実現することができる。
【０１４７】
また、硬判定復号部１１１では、データの終端など、データ処理単位の境界では通常のＭａｘ−ｌｏｇ−ＭＡＰと同様の方法を用い、その結果を初期値としてそれ以降の処理を上述の簡略な方法で行ったので、Ｍａｘ−ｌｏｇ−ＭＡＰ復号とまったく同じ結果を得ながら回路規模と消費電力を減らすことができる。
【０１４８】
下記の表に示すように、本実施の形態によれば、前記図４の表に示す従来のＭａｘ−ｌｏｇ−ＭＡＰ復号法と比較して、演算量を大幅に削減することができた。表中の括弧内が従来の演算回数との差を示す。
【表１】
2008023682.tif 000041
【０１４９】
（実施の形態２）
本実施の形態では、（原理説明）で説明した<アルゴリズム１−Ｂ>の実装例を示す。
【０１５０】
図２０は、本発明の実施の形態２に係る軟出力復号器の概略構成を示すブロック図である。本実施の形態の説明にあたり図１２と同一構成部分には同一符号を付して重複箇所の説明を省略する。
【０１５１】
図２０において、軟出力復号器３００は、γα計算部３０１、ＦＩＬＯメモリからなるタイミング調整器１０２，１０３，３０２、γβ計算部１０４、及びΛ計算部３１０を備えて構成される。Λ計算部３１０は、硬判定復号部３１１、負け尤度計算部１１２、勝ち尤度記憶部１１３、及び減算器１１４から構成される。
【０１５２】
実施の形態１の軟出力復号器１００との違いは次の通りである。
【０１５３】
本実施の形態の軟出力復号器３００は、γα計算部３０１のα計算部３０１ａからパス選択情報ｑを出力するようにした。パス選択情報ｑは、ＦＩＬＯメモリからなるタイミング調整器３０２によりタイミングを調整し、硬判定復号部３１１に入力される。
【０１５４】
また、Λ計算部３１０における硬判定復号部３１１の内部構成が異なる。硬判定復号部３１１にα、γを入力する必要がない。
【０１５５】
図２１は、γα計算部３０１のα計算部３０１ａの構成を示すブロック図である。
【０１５６】
図２１において、計算部３０１ａは、加算器３２１、大小比較器３２２、及びセレクタ３２３を備えて構成される。
【０１５７】
α計算部３０１ａは、α算出ブロックであり、上記式（５）に基づく計算を行う。大小比較器３２２及びセレクタ３２３は、２つの入力ａとｂについて、ａ＞ｂならｂを、そうでなければａを出力する。
【０１５８】
ここで、ｑの値は、γ００又はγ０１にかかわるブランチが選択されたときに０を、γ１０又はγ１１にかかわるブランチが選択されたときに１を出力するものである。
【０１５９】
図２２は、軟出力復号器３００における軟出力復号の処理を説明するフローチャートである。図２２に示す実施の形態２におけるステップは、図１３に示す実施の形態１に対応する処理と基本的に同様のステップにより処理を行うものであり同様の処理については同ステップ番号を付して異なるステップのみ説明する。
【０１６０】
全体の処理フローは、ほぼ同等である。α計算においてｑ（ｎ）を出力するステップＳＴ１２’、硬判定ビットｄ（ｎ）の算出方法のステップＳＴ１７’、最尤パスステート更新方法のステップＳＴ１８’である。
【０１６１】
図２３は、硬判定復号部３１１の構成を示すブロック図、図２４は、硬判定復号部３１１の動作を説明するトリレス線図である。
【０１６２】
図２３において、硬判定復号部３１１は、最尤パスステート記憶部３３０、選択部３３１、及び前ステート選択部３３２を備えて構成される。
【０１６３】
図２４に示すように、選択部３３１は、８つのパス選択情報ｑ０（ｎ）〜ｑ０（７）の中から、最尤パスステートに対応する値を１つ選択し、負け尤度計算部１１２及び前ステート選択部３３２に出力する。この値がｄ（ｎ）となる。
【０１６４】
前ステート選択部３３２は、硬判定値ｄ（ｎ）に従い、最尤ブランチの先にあるステート番号を特定する。なお、本発明の特徴である負け尤度計算部１１２の構成は、実施の形態１，２で全く同一である。
【０１６５】
また、Ｍａｘ−ｌｏｇ−ＭＡＰ復号を効率よく実装する方式として知られる「スライディングウィンドウ方式」、「サブブロック分割方式」においても、本発明の原理が適用でき、したがって、計算誤差を発生させること無く、尤度計算の演算量を削減することができる。
【０１６６】
また、一般のターボ符号においても本発明の原理が適用でき、例えば、Ｄｕｏ−Ｂｉｎａｒｙ  Ｔｕｒｂｏと呼ばれる、非特許文献１とは異なるターボ符号においても本発明の
原理を応用することができる。すなわち、２種以上のブランチがあるとき、最尤ブランチを１つ特定し、最尤ブランチと同種のブランチに対しては尤度計算を省略する。
【０１６７】
以下では、本発明を、「スライディングウィンドウ方式」に適用した場合の例を実施の形態３で説明する。
【０１６８】
（実施の形態３）
本実施の形態は、上述した基本原理を「スライディングウィンドウ」方式に適用した場合を示すものである。
【０１６９】
まず、スライディングウィンドウ方式について説明する。
【０１７０】
スライディングウィンドウ方式は、長さＫのデータ系列を長さＬ（Ｌ＜Ｋ）の小ブロック（ウィンドウ）に分割し、ウィンドウごとにα計算・β計算・Λ計算を行うものである（非特許文献１参照）。スライディングウィンドウ方式は、α計算とβ計算を並列化できるため復号処理を高速化でき、またタイミング調整器のメモリ量がウィンドウ長のみでよくメモリ量を減らすことができる。
【０１７１】
次に、スライディングウィンドウ方式の計算手順について説明する。
【０１７２】
図２５は、スライディングウィンドウ方式の計算手順を説明する図であり、図２５（ａ）は、複数のウィンドウ分割されたデータ系列の一例を示し、図２５（ｂ）は、図２５（ａ）のデータ系列に対応したスライディングウィンドウ方式の動作タイミングを示す図である。
【０１７３】
図２５（ａ）に示すように、対象となるデータ系列をウィンドウ長をＬ、ウィンドウ数をＪとする。ここでは、便宜上、Ｋ＝ＪＬのように端数が出ないものとした。なお、端数が出る場合にも手順に大きな差はない。
【０１７４】
図２５（ｂ）に示すように、まず、ウィンドウ０のα計算を行う（図２５（ｂ）の手順（１）参照）。
【０１７５】
完了すると、次にウィンドウ１のα計算を行うが、それと同時にウィンドウ０のβ計算を行い、β計算部からβが出力され始めると、それに合わせてΛ計算を行う（図２５（ｂ）の手順（２）参照）。
【０１７６】
ところで、β（n）の計算は、β（Ｋ−１）を初期値にn＝Ｋ−１〜０に対し逐次的に行われるものである。ウィンドウ０のβ計算を行うためにはβ（Ｌ）の値が初期値として必要である。
【０１７７】
そこで、図２５（ｂ）で示す手順（１）においてウィンドウ０のα計算を行っていると同時に、β（Ｌ）を何らかの方法で求める。なお、このβ（Ｌ）など、ウィンドウ境界のβの値の導出法は、非特許文献１などいくつかの方法が知られている。
【０１７８】
そして、すべてのウィンドウ（ウィンドウ０〜ウィンドウ（Ｊ−１））に対しα計算が完了すると、１ウィンドウ分の時間遅れの後、β計算・Λ計算が完了する。
【０１７９】
以上のように、スライディングウィンドウ方式では、α計算とβ・Λ計算、β境界値の導出を並列に行うことで、高速にＭａｘ−ｌｏｇ−ＭＡＰ復号を行う。
【０１８０】
図２６は、スライディング方式を実現する復号器の基本的な構成を示すブロック図である。図２６に示す復号器３０は、図２９に示す従来のＭａｘ−ｌｏｇ−ＭＡＰ復号器１の構成に、β境界値生成部１９が追加されただけで、ほぼ同等の構成であり、上述のとおり動作タイミングのみが異なるものとなっている。
【０１８１】
このような基本構成を有するスライディング方式の復号器に、本発明の原理を適用した例を図２７に示す。
【０１８２】
図２７は、本発明の実施の形態３に係る軟出力復号器の概略構成を示すブロック図である。図１２の軟出力復号器１００と同一の構成要素には同一の符号を付して重複箇所の説明を省略する。
【０１８３】
図２７において、軟出力復号器４００は、γα計算部１０１、ＦＩＬＯメモリからなるタイミング調整器１０２，１０３、γβ計算部１０４、β境界値生成部１０９、及びΛ計算部１１０を備えて構成される。Λ計算部１１０は、硬判定復号部１１１、負け尤度計算部１１２、勝ち尤度記憶部１１３、及び減算器１１４から構成される。
【０１８４】
β境界値生成部１０９は、図２６のβ境界値生成部１９と同様な機能を持つ。
【０１８５】
図２８は、軟出力復号器４００の動作タイミングを示す図である。
【０１８６】
図２８に示すように、スライディングウィンドウ方式に本軟出力復号器３００を適用しても動作タイミングに変更はない。
【０１８７】
スライディングウィンドウ方式にも本発明の原理はそのまま適用できる。ポイントは次の２つである。
【０１８８】
すなわち、ウィンドウごとにλｗｉｎの値が異なる場合があるので、新しいウィンドウの計算を始めるごとにλｗｉｎの算出を行う。算出方法は、データの末尾（ｎ＝Ｋ−１）で行ったのと同じ操作をｎ＝Ｌ−１などのウィンドウ境界に行えばよい。
【０１８９】
また、新しいウィンドウの計算を始めるごとに、最尤パスステート初期値を導出する。
【０１９０】
特に、軟出力復号器４００は、ウィンドウ境界のみＭａｘ−ｌｏｇ−ＭＡＰ処理（すなわち、２つの尤度λ０（ｎ）とλ１（ｎ）を算出する）を行い、そのとき求めた値を初期値として（最尤パスステート初期値）硬判定復号処理を行う。これにより、本実施の形態によれば、ウィンドウ分割処理を行う場合にも、通常のＭａｘ−ｌｏｇ−ＭＡＰを行った場合と等しい硬判定結果を得ることができる。
【０１９１】
また、スライディングウィンドウ方式以外にも、データ分割に基づくＭａｘ−ｌｏｇ−ＭＡＰの処理効率化技術であれば同様に本発明の原理を適用することができる。すなわち、分割されたデータの両端のいずれかに対し、本発明の基本原理で示した<アルゴリズム１−Ａ−１>を適用することで、効率化されたＭａｘ−ｌｏｇ−ＭＡＰと同じ処理順序で軟判定復号を行うことができるので、従来のＭａｘ−ｌｏｇ−ＭＡＰの処理効率化技術に比べて演算量を削減し、消費電力を低減することができる。
【０１９２】
上述のデータ分割に基づくＭａｘ−ｌｏｇ−ＭＡＰの処理効率化技術の例として、サブブロック分割による並列化がある。これは、入力データを複数のブロックに分割し、各ブロックで並列に復号を行うものである。さらに、各ブロック内部ではしばしばスライディングウィンドウ化が行われる。
【０１９３】
（実施の形態４）
本実施の形態では、上記実施の形態１〜３の軟出力復号器を用いて硬判定復号を行う場合に、さらに演算量を減らし消費電力を低減する方法を説明する。
【０１９４】
図２９は、本発明の実施の形態４に係る軟出力復号器の概略構成を示すブロック図である。
【０１９５】
図２９の軟出力復号器５００は、図２０の軟出力復号器３００に、β境界値生成部１０９を追加することでスライディングウィンドウ方式を導入したものである。なお、軟出力復号器５００と軟出力復号器３００の構成や動作上の差異は、実施の形態３で述べたとおり、軟出力復号器１００と軟出力復号器４００との差異と全く同じように説明できる。
【０１９６】
軟出力復号器５００は、硬判定復号部３１１の出力を直接外部に出力するようにした。軟出力復号器５００を用いてターボ復号を行う場合には、繰り返し復号の最終段階において軟出力を硬判定する代わりに、硬判定復号部３１１の出力を直接用いることで、軟出力を出力し、硬判定処理を行う必要がなくなる。
【０１９７】
このように、軟出力復号器５００を硬判定復号器として用いた場合の特長として、次の２点が挙げられる。
【０１９８】
第一に、軟出力復号器５００は、ウィンドウ境界においてＭａｘ−ｌｏｇ−ＭＡＰ処理（すなわち、２つの尤度λ０（ｎ）とλ１（ｎ）を算出する）を行い、そのとき求めた値を初期値として（最尤パスステート初期値）硬判定復号処理を行う構成としたため、従来の硬判定復号器であるビタビ復号器と比べ、処理の高速化が可能となり、またレジスタエクスチェンジ法のような複雑なメモリ操作が不要となり、消費電力を低減することができる。
【０１９９】
第二に、軟出力復号器５００を硬判定復号器として用いる場合には、負け尤度計算部１１２はウィンドウ境界にて最尤パスステート初期値のみを求め、ウィンドウ境界以外では動作を停止するようにする。
【０２００】
このようにすると、硬判定復号を行っているほとんどの時間において負け尤度計算部１１２が動作を停止するので、従来のＭａｘ−ｌｏｇ−ＭＡＰ復号器を用いて軟出力を硬判定する場合に比べ消費電力を削減することができる。
【０２０１】
また、軟出力復号器５００を硬判定復号器として用いる場合には、さらに、タイミング調整器１０２、タイミング調整器１０３、γβ計算部１０４の動作を停止することで、消費電力を低減することができる。
【０２０２】
図３０は、これらの動作を停止した状態を説明する図である。軟判定復号器５００を硬判定復号器として用いる場合には、配線を電気的に変更したり、上記３つのブロックを停止することで実質的に硬判定復号器５００ａとして動作させる。
【０２０３】
負け尤度計算部１１２はウィンドウ境界部でのみ動作するが、そのとき使用される値βはβ境界値生成部１０９から入力される。また、値γはγβ計算部１０４から入力することも可能であるが、γα計算部３０１から入力するようにすることで、γβ計算部１０４を完全に停止し、消費電力を低減することができる。
【０２０４】
また、値αはウィンドウ境界部でのみ使用されるので、タイミング調整器１０２を介さ
ず負け尤度計算部１１２に入力することができる。その結果、タイミング調整器１０２の動作を停止し、消費電力を低減することができる。
【０２０５】
以上のように、本発明の軟出力復号器５００は、ウィンドウ境界においてＭａｘ−ｌｏｇ−ＭＡＰ処理（すなわち、２つの尤度λ０（ｎ）とλ１（ｎ）を算出する）を行い、そのとき求めた値を初期値として（最尤パスステート初期値）硬判定復号処理を行う構成としたため、処理を高速化することができ、さらに、消費電力を低減することができる。
【０２０６】
さらに、図３１は、上述の軟出力復号器５００を利用したターボ復号器６００を示している。
【０２０７】
ターボ復号器６００は、軟出力復号器５００のほかに、インターリーバ６０１と、反復回数制御部６０２と、指示部６０３を備える。
【０２０８】
軟出力復号器５００は、軟入力値ｓ、ｐと軟入力値ｅを入力する。繰り返しのはじめにおいては、軟入力ｅは０などの初期値が入力される。次の繰り返し以降は、軟出力復号器の軟出力値Λをインターリーバ６０１により並び替えたものをｅとして入力する。
【０２０９】
反復回数制御部６０２は、規定の反復回数に達する直前に、最終の反復であることを示す信号を生成し、指示部６０３に送信する。
【０２１０】
反復回数制御部６０２は、規定の反復回数に応じて最終の反復であることを判断するほか、硬判定出力や軟出力値の状態をもとに最終の反復であることを判断しても良い。
【０２１１】
指示部６０３は、反復回数制御部６０２から最終の反復であることを示す信号を受けると、軟出力復号器５００に、軟判定値の出力停止指示信号をそれぞれ送る。
【０２１２】
軟出力復号器５００は、軟判定値の出力停止指示信号を受け取ると、軟出力復号器５００の内部に備える負け尤度計算部１１２、タイミング調整器１０２、タイミング調整器１０３、γβ計算部１０４の動作を停止するよう制御を行う。
【０２１３】
このように、ターボ復号器６００は、最終の繰り返しであることを判断すると軟判定値の出力停止指示を軟出力復号器５００に対して行う指示部６０３を設けたので、ターボ復号にかかる消費電力を効果的に低減することができる。
【０２１４】
実施の形態４では、軟出力復号器５００を例に説明したが、軟出力復号器４００においても同様の効果を得ることができる。ただし、硬判定復号にαおよびγを用いるため、ウィンドウ境界部以外における負け尤度計算部１１２と、γβ計算部のうちβ計算部（番号無し）のみ動作を停止することができる。
【０２１５】
また、スライディングウィンドウ方式以外にも、データ分割に基づくＭａｘ−ｌｏｇ−ＭＡＰの処理効率化技術であれば同様に本発明の原理を適用することができる。すなわち、分割されたデータの両端のいずれかに対し、本発明の基本原理で示した<アルゴリズム１−Ａ−１>を適用することで、効率化されたＭａｘ−ｌｏｇ−ＭＡＰと同じ処理順序で硬判定復号を行うことができるので、ビタビ復号に比べ高速化を図り、従来のＭａｘ−ｌｏｇ−ＭＡＰの処理効率化技術に比べて低消費電力化を図ることができる。
【０２１６】
上述のデータ分割に基づくＭａｘ−ｌｏｇ−ＭＡＰの処理効率化技術の例として、サブブロック分割による並列化がある。これは、入力データを複数のブロックに分割し、各ブロックで並列に復号を行うものである。さらに、各ブロック内部ではしばしばスライディ
ングウィンドウ化が行われる。
【０２１７】
以上の説明は本発明の好適な実施の形態の例証であり、本発明の範囲はこれに限定されることはない。
【０２１８】
また、上記各実施の形態では、α、β、γ、λは値が小さいほど尤度が高い（尤もらしい）とした。値が大きいほど尤度が高いとする実装も可能であり、その場合も本願の発明を適用できる。
【０２１９】
また、勝ち尤度を所望の値（例えば０）とするために、αやβの初期値を特定の値としたり、γ・α・β計算において入力値に応じた特定の値を減ずるなどの方法をとってもよい。このようにすると、勝ち尤度記憶部１１３と減算器１１４を実質的に不要とした構成をとることもできる。
【０２２０】
また、本実施の形態では、軟出力復号器、反復復号装置、及び軟判定値算出方法という名称を用いたが、これは説明の便宜上であり、復号装置、軟出力ビタビ復号装置、ターボ復号装置及び繰り返し復号方法等であってもよい。
【０２２１】
また、本発明を本アルゴリズムによる軟出力復号器、反復復号装置、及び軟判定値算出方法が実現できればよく、ハードウェアで構成する場合は勿論のこと、軟判定値算出方法を機能させるためのソフトウェアで実現することも可能である。このソフトウェアはコンピュータで読み取り可能な記録媒体に格納されている。
【０２２２】
また、上記各実施の形態の説明に用いた各機能ブロックは、典型的には集積回路であるＬＳＩとして実現される。これらは個別に１チップ化されても良いし、一部又は全てを含むように１チップ化されても良い。ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現しても良い。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行っても良い。例えば、バイオ技術の適用等が可能性としてありえる。
【０２２３】
２００６年８月２２日出願の特願２００６−２２５９３８および２００６年９月１５日出願の特願２００６−２５１８７３の日本出願に含まれる明細書、図面および要約書の内容は、すべて本願に援用される。
【産業上の利用可能性】
【０２２４】
本発明に係る軟出力復号器、反復復号装置、及び軟判定値算出方法は、軟判定復号結果を繰り返し用いて復号を行うターボ復号装置等に適用して好適である。例えば、受信側で、畳み込み符号復号器やターボ復号器等の軟出力復号器や伝送誤りの有無を検出するための巡回符号を使用する受信装置や携帯電話等の通信端末装置に用いるに好適である。
【図面の簡単な説明】
【０２２５】
【図１】従来のＭａｘ−ｌｏｇ−ＭＡＰ復号法を説明するための復号器のブロック図
【図２】従来のＭａｘ−ｌｏｇ−ＭＡＰ復号器を要素復号器として用いたターボ復号器のブロック図
【図３】従来のＭａｘ−ｌｏｇ−ＭＡＰ復号器の処理を説明するフロー図
【図４】従来のＭａｘ−ｌｏｇ−ＭＡＰ１ビットあたりの演算回数を表にして示す図
【図５】ビットごとの対数尤度λ０，λ１の計算式を説明する図
【図６】Ｍａｘ−ｌｏｇ−ＭＡＰ復号おける最尤ブランチに対応する尤度（α＋β＋γ）の算出方法を説明する図
【図７】Ｍａｘ−ｌｏｇ−ＭＡＰ復号を説明するトレリス線図
【図８】図７において各時点におけるλ計算を行った際の結果を説明する図
【図９】本発明の原理の一例を示すアルゴリズムを説明する図
【図１０】<アルゴリズム１−Ａ>における最尤パスステート初期値の求め方を説明する図
【図１１】α計算を表すグラフの一例を示す図
【図１２】本発明の実施の形態１に係る軟出力復号器の概略構成を示すブロック図
【図１３】上記実施の形態１に係る軟出力復号器における軟出力復号の処理を説明するフロー図
【図１４】上記実施の形態１に係る軟出力復号器の負け尤度計算部の構成を示す図
【図１５】図１４の負け尤度計算部のスイッチ及びセレクタの動作を説明するための図
【図１６】本発明の実施の形態１に係る軟出力復号器の負け尤度算出部の実装例の構成を示す図
【図１７】本発明の実施の形態１に係る軟出力復号器の負け尤度計算部によりλｗｉｎと最尤パスステートを算出する処理を示すフロー図
【図１８】本発明の実施の形態１に係る軟出力復号器の硬判定復号部の構成を示すブロック図
【図１９】本発明の実施の形態１に係る軟出力復号器の硬判定復号部の機能を説明するトレリス線図
【図２０】本発明の実施の形態２に係る軟出力復号器の概略構成を示すブロック図
【図２１】上記実施の形態２に係る軟出力復号器のγα計算部のα計算部の構成を示すブロック図
【図２２】上記実施の形態２に係る軟出力復号器における軟出力復号の処理を説明するフロー図
【図２３】上記実施の形態２に係る軟出力復号器の硬判定復号部の構成を示すブロック図
【図２４】上記実施の形態２に係る軟出力復号器の硬判定復号部の動作を説明するトリレス線図
【図２５】スライディングウィンドウ方式の計算手順を説明する図
【図２６】スライディング方式を実現する復号器の基本的な構成を示すブロック図
【図２７】本発明の実施の形態３に係る軟出力復号器の概略構成を示すブロック図
【図２８】上記実施の形態３に係る軟出力復号器の動作タイミングを示す図
【図２９】本発明の実施の形態４に係る軟出力復号器の概略構成を示すブロック図
【図３０】本発明の実施の形態４に係る軟出力復号器を硬判定復号器として用いる場合の概略構成を示すブロック図
【図３１】本発明の実施の形態４に係る軟出力復号器を利用したターボ復号器の概略構成を示すブロック図
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2008023682.tif 000042
【図２】
2008023682.tif 000043
【図３】
2008023682.tif 000044
【図４】
2008023682.tif 000045
【図５】
2008023682.tif 000046
【図６】
2008023682.tif 000047
【図７】
2008023682.tif 000048
【図８】
2008023682.tif 000049
【図９】
2008023682.tif 000050
【図１０】
2008023682.tif 000051
【図１１】
2008023682.tif 000052
【図１２】
2008023682.tif 000053
【図１３】
2008023682.tif 000054
【図１４】
2008023682.tif 000055
【図１５】
2008023682.tif 000056
【図１６】
2008023682.tif 000057
【図１７】
2008023682.tif 000058
【図１８】
2008023682.tif 000059
【図１９】
2008023682.tif 000060
【図２０】
2008023682.tif 000061
【図２１】
2008023682.tif 000062
【図２２】
2008023682.tif 000063
【図２３】
2008023682.tif 000064
【図２４】
2008023682.tif 000065
【図２５】
2008023682.tif 000066
【図２６】
2008023682.tif 000067
【図２７】
2008023682.tif 000068
【図２８】
2008023682.tif 000069
【図２９】
2008023682.tif 000070
【図３０】
2008023682.tif 000071
【図３１】
2008023682.tif 000072
【国際調査報告】
2008023682.tif 000073
2008023682.tif 000074