(57)【要約】    【課題】      マルチポートメモリを使用することなく、トレーニング処理、後方確率計算処理及び前方確率計算処理を並列処理してターボ復号の高速化を図ること。    【解決手段】  通信路値メインメモリ１０１ａの内容を一時的にサブメモリ（＃１）１０１ｂに格納し、サブメモリ（＃１）１０１ｂの内容を一時的にサブメモリ（＃２）１０１ｃに格納する。後方確率計算トレーニング部１０２ａは通信路値メインメモリのデータを用いて計算し、後方確率計算部１０２ｂはサブメモリ（＃１）１０１ｂのデータを用いて計算し、前方確率計算部１０２ｄはサブメモリ（＃２）１０１ｃのデータを用いて計算するので、それぞれ並列に処理が可能となり、復号処理が高速に行える。通信路値メインメモリはシングルポートで構成できるので、通信路値メモリの回路増加は最小限に抑えられる。  【選択図】      図１
2006217042.tif 000002
【特許請求の範囲】
【請求項１】
ターボ符号により誤り訂正符号化されたデータに対してスライディングウィンドウを用いて誤り訂正復号を行うターボ復号装置であって、
通信路値が入力される通信路値メモリと、前記通信路値メモリから読み出したスライディングウィンドウ幅の通信路値と事前値とに基づき復号処理を行う要素復号器と、外部値についてインタリーブ処理を行うインタリーブメモリと、外部値についてデインタリーブ処理を行うデインタリーブメモリと、前記要素復号器が出力する事後値と前記事前値とから外部値を生成し、それを前記要素復号器での復号処理の繰り返し回数に応じて前記インタリーブメモリと前記デインタリーブメモリとに切り替えて書き込む制御を行う対数尤度制御手段と、前記要素復号器での復号処理の繰り返し回数に応じて前記インタリーブメモリに記憶された外部値と前記デインタリーブメモリに記憶された外部値とを切り替えて選択し、それを前記事前値として出力するセレクタと、前記デインタリーブメモリに記憶された外部値について硬判定処理を行う判定手段とを備え、
前記通信路値メモリは、通信路値を記憶する通信路値メインメモリと、前記通信路値メインメモリからスライディングウィンドウ幅の単位で読み出される通信路値を一時記憶する第１の通信路値サブメモリと、前記第１の通信路値サブメモリからスライディングウィンドウ幅の単位で読み出される通信路値を一時記憶する第２の通信路値サブメモリとを具備し、
前記要素復号器は、前記通信路値メインメモリからスライディングウィンドウ幅の単位で読み出した通信路値と前記事前値とに基づき後方確率計算を行うための前処理を行うトレーニング手段と、前記トレーニング手段での処理結果と前記第１の通信路値サブメモリからスライディングウィンドウ幅の単位で読み出した通信路値と前記事前値とに基づき後方確率計算を行う後方確率計算手段と、前記後方確率計算手段での計算結果を記憶する後方確率メモリと、前記第２の通信路値サブメモリからスライディングウィンドウ幅の単位で読み出した通信路値と前記事前値とに基づき前方確率計算を行う前方確率計算手段と、前記後方確率メモリからスライディングウィンドウ幅の単位で読み出した後方確率と前記前方確率計算手段がスライディングウィンドウ幅の単位で計算した前方確率とに基づき対数尤度を計算し、それを事後値として前記対数尤度制御手段に与える対数尤度計算手段とを具備し、
前記インタリーブメモリは、前記対数尤度制御手段からの前記外部値をインタリーブするためのインタリーブメインメモリと、前記インタリーブメインメモリからスライディングウィンドウ幅の単位で読み出される外部値を一時記憶する第１のインタリーブサブメモリと、前記第１のインタリーブサブメモリからスライディングウィンドウ幅の単位で読み出される外部値を一時記憶する第２のインタリーブサブメモリとを具備し、
前記デインタリーブメモリは、前記対数尤度制御手段からの前記外部値をデインタリーブするためのデインタリーブメインメモリと、前記デインタリーブメインメモリからスライディングウィンドウ幅の単位で読み出される外部値を一時記憶する第１のデインタリーブサブメモリと、前記第１のデインタリーブサブメモリからスライディングウィンドウ幅の単位で読み出される外部値を一時記憶する第２のデインタリーブサブメモリとを具備する、ことを特徴とするターボ復号装置。
【請求項２】
前記第１及び第２の通信路値サブメモリと、前記第１及び第２のインタリーブサブメモリと、前記第１及び第２のデインタリーブサブメモリとは、それぞれ、スライディングウィンドウ幅と同一容量のメモリを２バンク分具備していることを特徴とする請求項１記載のターボ復号装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ターボ符号により誤り訂正符号化されたデータに対してスライディングウィンドウを用いて誤り訂正復号するターボ復号装置に関する。
【背景技術】
【０００２】
ターボ符号は、通信路符号化法の限界であるシャノン限界に近い誤り率特性を得られる符号として注目されており、Ｗ−ＣＤＭＡ（Wideband Code Division Multiple Access）においても採用され、すでに実用化されている。以下、図４〜図１０を参照して、ターボ符号について概略説明する。
【０００３】
図４は、ターボ符号器の一般的な構成を示すブロック図である。図４に示すように、ターボ符号器４００は、基本的に、要素符号器４０１、４０２と、インタリーバ４０３とを備えている。
【０００４】
図４において、情報データ系列ｄは、そのまま符号化データ系列ｕとして出力されるとともに、要素符号器４０１とインタリーバ４０３とに入力される。要素符号器４０１は、情報データ系列ｄを畳み込み符号化してパリティデータ系列ｙ１として出力する。インタリーバ４０３は、情報データ系列ｄの順序をランダムに並び替えて要素符号器４０２に与える。要素符号器４０２は、インタリーブされた情報データ系列を畳み込み符号化してパリティデータ系列ｙ２として出力する。このターボ符号器４００は、情報データ１ビットに対して、パリティデータ２ビットが付加されるため、符号化率Ｒは１／３となる。なお、要素符号器４０１、４０２には、再帰的組織畳み込み符号器が用いられる。
【０００５】
次に、図５は、ターボ復号器の一般的な構成を示すブロック図である。図５に示すように、ターボ復号器５００は、基本的に、要素復号器５０１と、インタリーバ５０２、５０３と、要素復号器５０４と、デインタリーバ５０５、５０６と、判定器５０７とを備えている。
【０００６】
図５において、要素復号器５０１、５０４は、通信路値と事前値とが入力され、事後値と外部値とを出力する。通信路値は、ディジタル復調された受信信号に定数が乗算されたものである。事後値は、判定器５０７において硬判定の対象となる事後確率である。この事後値は、以下の式（１）として表される。
事後値  ＝  通信路値  ＋  事前値  ＋  外部値                      （１）
【０００７】
外部値は、要素復号器５０１と要素復号器５０４との間で受け渡される信頼度情報である。要素復号器５０１にて復号した結果得られる外部値が要素復号器５０４に事前値として入力される。同様に、要素復号器５０４にて復号した結果得られる外部値が要素復号器５０１に事前値として入力される。このように、要素復号器５０１と要素復号器５０４との間で信頼度情報である外部値を受け渡しながら、繰り返し復号を行い、事後値を更新して復号特性を向上していくことが、ターボ復号の特徴である。
【０００８】
図５では、図４に示すターボ符号器４００にて生成された符号化データ系列ｕ、パリティデータ系列ｙ１、パリティデータ系列ｙ２が通信路を経由して受信した信号系列を、それぞれ、符号化データ系列Ｕ、パリティデータ系列Ｙ１、パリティデータ系列Ｙ２と表している。
【０００９】
さて、要素復号器５０１では、要素符号器４０１に対応する復号を行う。即ち、要素復号器５０１は、通信路値として、符号化データ系列Ｕとパリティデータ系列Ｙ１とが入力される。また、事前値として、デインタリーバ５０５の出力Ｌ１が入力される。但し、事前値（デインタリーバ５０５の出力）Ｌ１の初期値はゼロとする。要素復号器５０１は、この通信路値と事前値とを用いて、外部値Ｌｅ１と事後値Ｌ１’（図示せず）とを出力する。
【００１０】
また、要素復号器５０４では、要素符号器４０２に対応する復号を行う。即ち、要素復号器５０４は、通信路値として、インタリーバ５０３にてインタリーブされた符号化データ系列Ｕとパリティデータ系列Ｙ２とが入力される。また、事前値として、要素復号器５０１が出力する外部値Ｌｅ１をインタリーバ５０２にてインタリーブしたデータ系列Ｌ２が入力される。
【００１１】
要素復号器５０４は、この通信路値と事前値とを用いて、外部値Ｌｅ２と事後値Ｌ２’とを出力する。外部値Ｌｅ２は、デインタリーバ５０５でデインタリーブされ、要素復号器５０１の事前値Ｌ１となることで、繰り返し復号される。一方、事後値Ｌ２’は、デインタリーバ５０６にてデインタリーブされて判定器５０７に入力される。判定器５０７では、デインタリーブされた事後値Ｌ２’について硬判定を行い復号結果ｄ’を出力する。
【００１２】
ところで、要素復号器５０１、５０４では、ｌｏｇ−ＭＡＰ（Maximum A Posteriori probability）復号法、ＭＡＸ−ｌｏｇ−ＭＡＰ復号法、ＳＯＶＡ（Soft Output ViterbiAlgorithm）復号法などが用いられる。ここでは、主にＭＡＸ−ｌｏｇ−ＭＡＰ復号アルゴリズムを用いたターボ復号方法に関して説明する。
【００１３】
ターボ復号における処理手順は、後方確率βの計算と、前方確率αの計算、尤度Ｌ（ｕｅｋ）の計算とに分けられる。後方確率βは、全ての状態ｓにおいて式（２）を用いて求められる。前方確率αは、全ての状態ｓにおいて式（３）を用いて求められる。また、尤度Ｌ（ｕｅｋ）は、式（４）を用いて求められる。
【数１】
2006217042.tif 000003
【００１４】
なお、式（２）〜式（４）において、ｋは時点、ｓは状態、γｋ（ｓｋ−１，ｓｋ）は状態ｓｋ−１から状態ｓｋへの遷移確率、ｕｋは時点ｋにおける情報、ｕｅｋは情報ｕｋの推定値である。
【００１５】
式（２）に示すように、時点ｋでの後方確率βを計算するために時点ｋ＋１の値を用いるので、後方確率βは、終端から始端に向かって時間軸とは逆方向に計算される。一方、式（３）に示すように、時点ｋでの前方確率αを計算するために時点ｋ−１の値を用いるので、前方確率αは、始端から終端に向かって時間軸と順方向に計算される。図６は、始端及び終端を含むトレリス線図の一例である。
【００１６】
しかしながら、上記式（２）〜式（４）の計算は非常に煩雑である。このため、ＭＡＸ−ｌｏｇ−ＭＡＰ復号では、次の近似式（５）を用いる。
【数２】
2006217042.tif 000004
【００１７】
式（５）を用いて式（２）、式（３）を変形すると、それぞれ式（６）、式（７）となり、さらに式（４）を変形すると式（８）のように表せる。
【数３】
2006217042.tif 000005
【００１８】
判定器５０７は、この式（８）を用いて計算した時点ｋにおける尤度Ｌ（ｕｅｋ）が、Ｌ（ｕｅｋ）≧０のとき推定値ｕｅｋ＝ビット０と硬判定し、Ｌ（ｕｅｋ）＜０のとき推定値ｕｅｋ＝ビット１と硬判定する。
【００１９】
ここで、式（８）から理解できるように、時点ｋにおける尤度Ｌ（ｕｅｋ）を計算するためには、時点ｋ−１での前方確率αｋ−１と、時点ｋでの後方確率βｋ及び遷移確率γｋとが必要となる。図７は、後述するスライディングウィンドウを用いないターボ復号処理の一例を示すフロー図である。図７では、縦軸が経過時間、横軸が計算対象となるデータ系列を表している。図７に示すように、後述するスライディングウィンドウを用いない場合は、まず、後方確率βを終端から始端までの全時点について計算してメモリに記憶する。次に、前方確率αを始端から時点毎に終端まで計算する。そして、この前方確率αと遷移確率γ及び先に求めた後方確率βとを用いて尤度Ｌ（ｕｅｋ）を逐次的に計算することになる。
【００２０】
スライディングウィンドウを用いない場合、後方確率βを格納するためにデータ系列長×状態数×ビット精度という非常に大きなメモリ容量が要求されるという問題がある。一例として、データ系列長＝５１２０、状態数＝８、ビット精度＝８とした場合、３２７６８０ビットのメモリ容量が必要となる。
【００２１】
スライディングウィンドウは、この後方確率βを格納するためのメモリ容量を削減する方法として広く知られている。スライディングウィンドウでは、データの全系列を所定のウィンドウ単位に分割し、各ウィンドウにトレーニング区間を設けることにより、通常では系列の終端から行わなければならない後方確率βの計算を系列の途中から可能とする方法である。
【００２２】
具体的には、後方確率計算トレーニング処理を行う最初のステート初期値を全ステート等確率として後方確率計算を開始し、トレーニング終了時点の各ステート確率を用いて後方確率計算を行うものである。このスライディングウィンドウによれば、ウィンドウ単位で後方確率を記憶すればよいので、全系列の後方確率を記憶する場合と比べて、所要メモリ容量を大幅に削減することができる。一例として、スライディングウィンドウ幅＝３２の場合、２０４８ビットのメモリ容量に削減できる。
【００２３】
また、スライディングウィンドウでは、後方確率計算処理と前方確率計算処理とを並列に実行することにより、復号処理を高速化できる。スライディングウィンドウを用いた処理フローを図８乃至図１０に示す。なお、各図では、理解を容易にするため、スライディングウィンドウ幅はデータ系列長の１／８とし、後方確率計算トレーニング幅とスライディングウィンドウ幅は等しいとしている。
【００２４】
まず、図８は、後方確率計算トレーニング処理、後方確率計算処理、前方確率計算処理がそれぞれ逐次的に処理されるスライディングウィンドウを用いたターボ復号処理の一例を示すフロー図である。この場合は、並列処理をしないので、全ての計算処理が時間軸上で重なることがない。したがって、スライディングウィンドウを用いない図７と比較すると後方確率計算トレーニング処理時間分だけ、復号処理に多くの時間を要してしまうという問題がある。
【００２５】
次に、図９は、後方確率計算トレーニング処理と後方確率計算処理とが逐次処理され、前方確率計算処理が並列的に処理されるスライディングウィンドウを用いたターボ復号処理の一例を示すフロー図である。この場合の復号処理時間は、スライディングウィンドウを用いない図７と同等である。
【００２６】
一方、図１０は、後方確率計算トレーニング処理、後方確率計算処理、前方確率計算処理が並列的に処理されるスライディングウィンドウを用いたターボ復号処理の一例を示すフロー図である。この場合の復号処理時間は、スライディングウィンドウを用いない図７のほぼ半分である。図１０に示す方式のスライディングウィンドウでは、後方確率βを格納するためのメモリ容量を削減できるだけでなく、後方確率計算トレーニング処理、後方確率計算処理および前方確率計算処理をそれぞれ並列処理することで、復号処理を高速化できる。
【００２７】
しかし、図１０に示す並列処理では、各計算処理に必要となる通信路値や事前値の時点データがそれぞれ異なるので、通信路値や事前値を記憶しているメモリに対して、同時に異なるアドレスに対するメモリリードを行うために複数のリードポートが必要となる。マルチポートメモリは、シングルポートメモリに比べて回路面積が大きくなる（一般的にはシングルポートの２倍になる）ので、コストが高くなり、また、消費電力も増加してしまうという問題がある。
【００２８】
そこで、例えば、特許文献１では、スライディングウィンドウを用いて、後方確率計算トレーニング処理もしくは後方確率計算処理と前方確率計算処理とを並列処理しつつ、通信路値や事前値が記憶されているメモリにシングルポートメモリを使う方法が開示されている。特許文献１では、後方確率計算処理を行う際に、シングルポートメモリに格納された通信路値及び事前値を読み込み、後方確率を計算する。後方確率計算に使用した通信路値及び事前値は、別に用意したスクラッチメモリに格納する。前方確率計算を行う場合には、通信路値や事前値が格納されたシングルポートメモリから読み込むのではなく、スクラッチメモリから読み込む構成とする。これによって、後方確率計算処理と前方確率計算処理とを並列処理しつつ、通信路値及び事前値を格納しているメモリにシングルポートメモリの使用を可能としている。
【特許文献１】特開２００３−３２１２６号公報
【発明の開示】
【発明が解決しようとする課題】
【００２９】
しかしながら、上記従来のターボ復号装置では、後方確率計算処理と前方確率計算処理とを並列処理できるが、後方確率計算トレーニング処理は並列処理できない。これは、図９に示す処理フローに相当するので、スライディングウィンドウを用いない場合と比較して、復号処理時間の高速化は図れていないという問題がある。
【００３０】
また、上記従来のターボ復号装置では、４つのスクラッチメモリを配置している。１つのスクラッチメモリには、スライディングウィンドウ幅である１２８ワードとトレーニング幅である４８ワードの計１７６ワードが転送されるので、４つのスクラッチメモリ全体では、１７６×４＝７０４ワードが転送されることになる。
【００３１】
ところで、メインメモリから４つのスクラッチメモリへのデータ転送では、連続した４スライディングウィンドウ分のデータを転送する場合に、隣り合ったスライディングウィンドウのトレーニング区間に相当するデータは、前スライディングウィンドウのデータの一部であるので、転送は不要となる。この転送不要となるデータ量は、３つのトレーニング用データ分に相当するので、４８×３＝１４４ワード分のデータ転送時間が削減されることになる。
【００３２】
しかし、この場合は、スライディングウィンドウ幅を１２８×４＝５１２、トレーニング幅を４８として、５６０ワードのスクラッチメモリを１つとした方がメモリ効率は良くなるので、１７６ワードのスクラッチメモリを４つ配置して、１４４ワード分のデータ転送時間を短縮する効果は薄いという問題もある。
【００３３】
本発明は、かかる点に鑑みてなされたものであり、スライディングウィンドウを用いて誤り訂正復号するターボ復号装置において、通信路値及び事前値を格納するための大容量メモリにシングルポートメモリの使用を可能としつつ、後方確率計算トレーニング処理、後方確率計算処理及び前方確率計算処理をそれぞれ並列に処理することのできるターボ復号装置を提供することを目的とする。
【課題を解決するための手段】
【００３４】
かかる課題を解決するため、本発明に係るターボ復号装置は、ターボ符号により誤り訂正符号化されたデータに対してスライディングウィンドウを用いて誤り訂正復号を行うターボ復号装置であって、通信路値が入力される通信路値メモリと、前記通信路値メモリから読み出したスライディングウィンドウ幅の通信路値と事前値とに基づき復号処理を行う要素復号器と、外部値についてインタリーブ処理を行うインタリーブメモリと、外部値についてデインタリーブ処理を行うデインタリーブメモリと、前記要素復号器が出力する事後値と前記事前値とから外部値を生成し、それを前記要素復号器での復号処理の繰り返し回数に応じて前記インタリーブメモリと前記デインタリーブメモリとに切り替えて書き込む制御を行う対数尤度制御手段と、前記要素復号器での復号処理の繰り返し回数に応じて前記インタリーブメモリに記憶された外部値と前記デインタリーブメモリに記憶された外部値とを切り替えて選択し、それを前記事前値として出力するセレクタと、前記デインタリーブメモリに記憶された外部値について硬判定処理を行う判定手段とを備え、前記通信路値メモリは、通信路値を記憶する通信路値メインメモリと、前記通信路値メインメモリからスライディングウィンドウ幅の単位で読み出される通信路値を一時記憶する第１の通信路値サブメモリと、前記第１の通信路値サブメモリからスライディングウィンドウ幅の単位で読み出される通信路値を一時記憶する第２の通信路値サブメモリとを具備し、前記要素復号器は、前記通信路値メインメモリからスライディングウィンドウ幅の単位で読み出した通信路値と前記事前値とに基づき後方確率計算を行うための前処理を行うトレーニング手段と、前記トレーニング手段での処理結果と前記第１の通信路値サブメモリからスライディングウィンドウ幅の単位で読み出した通信路値と前記事前値とに基づき後方確率計算を行う後方確率計算手段と、前記後方確率計算手段での計算結果を記憶する後方確率メモリと、前記第２の通信路値サブメモリからスライディングウィンドウ幅の単位で読み出した通信路値と前記事前値とに基づき前方確率計算を行う前方確率計算手段と、前記後方確率メモリからスライディングウィンドウ幅の単位で読み出した後方確率と前記前方確率計算手段がスライディングウィンドウ幅の単位で計算した前方確率とに基づき対数尤度を計算し、それを事後値として前記対数尤度制御手段に与える対数尤度計算手段とを具備し、前記インタリーブメモリは、前記対数尤度制御手段からの前記外部値をインタリーブするためのインタリーブメインメモリと、前記インタリーブメインメモリからスライディングウィンドウ幅の単位で読み出される外部値を一時記憶する第１のインタリーブサブメモリと、前記第１のインタリーブサブメモリからスライディングウィンドウ幅の単位で読み出される外部値を一時記憶する第２のインタリーブサブメモリとを具備し、前記デインタリーブメモリは、前記対数尤度制御手段からの前記外部値をデインタリーブするためのデインタリーブメインメモリと、前記デインタリーブメインメモリからスライディングウィンドウ幅の単位で読み出される外部値を一時記憶する第１のデインタリーブサブメモリと、前記第１のデインタリーブサブメモリからスライディングウィンドウ幅の単位で読み出される外部値を一時記憶する第２のデインタリーブサブメモリとを具備する構成を採る。
【００３５】
この構成によれば、要素復号器では、後方確率計算トレーニング処理、後方確率計算処理及び前方確率計算処理をそれぞれ並列に処理することができる。この場合に、通信路値及び事前値を格納するための大容量メモリに、回路規模の大きな、つまりシリコンリソースを多く消費するマルチポートメモリを使用することなく、シングルポートメモリを使うことが可能となるので、回路規模の増加を抑えつつ、ターボ復号処理を高速化することができる。
【００３６】
本発明に係るターボ復号装置は、上記の発明において、前記第１及び第２の通信路値サブメモリと、前記第１及び第２のインタリーブサブメモリと、前記第１及び第２のデインタリーブサブメモリとは、それぞれ、スライディングウィンドウ幅と同一容量のメモリを２バンク分具備する構成を採る。
【００３７】
この構成によれば、通信路値及び事前値を格納するための大容量メモリであるメインメモリに対する補助的なメモリである２つのサブメモリの追加容量を最小限に止めることができるので、回路規模の増加を抑えつつ、ターボ復号処理を高速化することができる。
【発明の効果】
【００３８】
本発明によれば、スライディングウィンドウを用いて誤り訂正復号するターボ復号装置において、通信路値及び事前値を格納するための大容量メモリにシングルポートメモリの使用を可能としつつ、後方確率計算トレーニング処理、後方確率計算処理及び前方確率計算処理をそれぞれ並列に処理することができるので、復号処理を高速化するとともに、回路規模の増加を抑えることができる。
【発明を実施するための最良の形態】
【００３９】
本発明の骨子は、スライディングウィンドウを用いて誤り訂正復号するターボ復号装置において、通信路値及び事前値を格納するための大容量メモリにシングルポートメモリを使いつつも、後方確率計算トレーニング処理、後方確率計算処理及び前方確率計算処理の各計算処理をそれぞれ並列に処理することができるようにし、回路規模の増加を抑えながら復号処理を高速化することである。
【００４０】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【００４１】
（実施の形態）
図１は、本発明の一実施の形態に係るターボ復号装置の構成を示すブロック図である。図１に示すターボ復号装置１００は、通信路値メモリ１０１と、要素復号器１０２と、対数尤度制御部１０３と、インタリーバメモリ１０４と、デインタリーバメモリ１０５と、セレクタ１０６と、判定器１０７とを備えている。
【００４２】
通信路値メモリ１０１は、通信路値メインメモリ１０１ａと、通信路値サブメモリ（＃１）１０１ｂと、通信路値サブメモリ（＃２）１０１ｃとを備えている。要素復号器１０２は、後方確率計算トレーニング部１０２ａと、後方確率計算部１０２ｂと、後方確率メモリ１０２ｃと、前方確率計算部１０２ｄと、対数尤度計算部１０２ｅとを備えている。対数尤度制御部１０３は、図示省略したが、減算器とセレクタとを備えている。
【００４３】
インタリーバメモリ１０４は、インタリーバメインメモリ１０４ａと、インタリーバサブメモリ（＃１）１０４ｂと、インタリーバサブメモリ（＃２）１０４ｃとを備えている。デインタリーバメモリ１０５は、デインタリーバメインメモリ１０５ａと、デインタリーバサブメモリ（＃１）１０５ｂと、デインタリーバサブメモリ（＃２）１０５ｃとを備えている。
【００４４】
次に、図１〜図３を参照して、以上のように構成されるターボ復号装置１００の復号処理動作について説明する。なお、図２は、図１に示す要素復号器にて実施されるスライディングウィンドウ処理を説明するフロー図である。図３は、図１に示す通信路値メモリでのデータ遷移を説明する図である。図２と図３では、理解を容易にするため、スライディングウィンドウ幅＝８、トレーニング幅＝８、被復号データサイズ＝３２とした場合の動作について示している。また、各通信路値サブメモリは、スライディングウィンドウ幅と等しい容量８ワードの２バンク構成としている。またこの図３に示すデータ遷移方法は、図１に示すインタリーバメモリ１０４及びデインタリーバメモリ１０５における事前値に対しても同様に適用できるものである。なお、本実施の形態では、スライディングウィンドウ幅＝８、トレーニング幅＝８、被復号データサイズ＝３２とするが、本発明はこれに限定されるものではない。さらに、本実施の形態では、要素復号器において、後方確率計算処理を先行して計算したあと、前方確率計算処理を行う処理フローで説明しているが、本発明は、前方確率計算処理を先に計算した後、後方確率計算処理を行う処理フローに対しても適用することができる。
【００４５】
被復号信号である通信路値は、一旦通信路値メモリ１０１内の通信路値メインメモリ１０１ａに記憶される。復号の開始と同時に、通信路値メインメモリ１０１ａからスライディングウィンドウ幅（＝８）を単位として降順アドレスでデータが読み出される。
【００４６】
即ち、図３に示すように、まず、通信路値メインメモリ１０１ａのアドレス（時点）７からアドレス（時点）０までのデータが読み出される。このデータは、通信路値サブメモリ（＃１）１０１ｂのバンク１（ｂａｎｋ１）に記憶される。次いで、通信路値メインメモリ１０１ａのアドレス（時点）１５からアドレス（時点）８までのデータが読み出される。このデータは、通信路値サブメモリ（＃１）１０１ｂのバンク２（ｂａｎｋ２）に記憶されるとともに、後方確率計算トレーニング部１０２ａにおいて、トレーニング計算に用いられる（図２）。なお、トレーニング計算時のパスメトリック初期値は、全ての状態を等確率としている。
【００４７】
続けて、通信路値メインメモリ１０１ａのアドレス（時点）２３からアドレス（時点）１６までのデータが読み出される。このデータは、通信路値サブメモリ（＃１）１０１ｂのバンク１（ｂａｎｋ１）に記憶されるとともに、後方確率計算トレーニング部１０２ａにおいて、トレーニング計算に用いられる（図２）。このとき、先に通信路値サブメモリ（＃１）１０１ｂのバンク１（ｂａｎｋ１）に記憶されていた時点７から時点０までのデータは、時点２３から時点１６までのデータが上書きされる前に読み出され、通信路値サブメモリ（＃２）１０１ｃのバンク１（ｂａｎｋ１）に記憶されるとともに、後方確率計算部１０２ｂにおいて、後方確率が計算され、計算結果は後方確率メモリ１０２ｃのバンク１に記憶される（図２）。後方確率計算の初期値は、後方確率計算トレーニング部１０２ａにて計算された結果を用いる。
【００４８】
続けて、通信路値メインメモリ１０１ａのアドレス（時点）３１からアドレス（時点）２４までのデータが読み出される。このデータは、通信路値サブメモリ（＃１）１０１ｂのバンク２（ｂａｎｋ２）に記憶されるとともに、後方確率計算トレーニング部１０２ａにおいて、トレーニング計算に用いられる。図２に示すように、時点３１は終端であるので、トレーニング計算時のパスメトリック初期値は、状態０の確率尤度を高くしている。このとき、先に通信路値サブメモリ（＃１）１０１ｂのバンク２（ｂａｎｋ２）に記憶されていた時点１５から時点８までのデータは、時点３１から時点２４までのデータが上書きされる前に読み出され、通信路値サブメモリ（＃２）１０１ｃのバンク２に記憶されるとともに、後方確率計算部１０２ｂにおいて、後方確率が計算され、計算結果は後方確率メモリ１０２ｃのバンク２に記憶される（図２）。
【００４９】
更に、通信路値サブメモリ（＃２）１０１ｃのバンク１に記憶されている時点７から時点０までのデータは、アドレス昇順で読み出され、前方確率計算部１０２ｄにおいて前方確率が計算される。なお、前方確率計算時のパスメトリック初期値は、状態０の確率尤度を高くしている。対数尤度計算部１０２ｅでは、後方確率メモリ１０２ｃのバンク１に記憶されている時点７から時点０までの後方確率を昇順で読み出すとともに、前方確率計算１０２ｄにおいて求められた時点０から時点７までの前方確率とを用いて、対数尤度を計算する。この動作を、時点０から時点３１までの全ての対数尤度が求められるまで繰り返す。この対数尤度は事後値である。
【００５０】
セレクタ１０６から要素復号器１０２への事前値入力に関しても、以上説明した通信路値の入力方法と同様に、後方確率計算トレーニング部１０２ａ、後方確率計算部１０２ｂ及び前方確率計算部１０２ｄに対して、異なる時点の事前値情報を並列に入力することが可能である。
【００５１】
以上のように要素復号器１０２にて計算された事後値とセレクタ１０６から要素復号器１０２への事前値とは対数尤度制御部１０３に入力される。対数尤度制御部１０３では、復号繰り返し回数に応じて、外部値を出力するのか、事後値そのものを出力するのかを切り替えるとともに、出力先をインタリーバメモリ１０４にするのか、デインタリーバメモリ１０５にするのかを選択する。
【００５２】
対数尤度制御部１０３は、要素復号器１０２の事後値出力とセレクタ１０６の事前値出力とを入力とし、外部値を出力するために減算処理を行うが、要素復号器１０２が１回目の復号処理（図５の要素復号器５０１に相当）を行う場合には減算処理によって得られた外部値をインタリーバメモリ１０４に出力し、要素復号器１０２が２回目の復号処理（図５の要素復号器５０４に相当）を行う場合には減算処理によって得られた外部値をデインタリーバメモリ１０５に出力する。
【００５３】
インタリーバメモリ１０４は、対数尤度制御部１０３からの外部値をメモリへの書込み順序と読出し順序とを異ならせることによりインタリーブ処理を行いセレクタ１０６に出力する。一方、デインタリーバメモリ１０５は、対数尤度制御部１０３からの外部値をメモリへの書込み順序と読出し順序とを異ならせ、データの並びを元に戻すようにデインタリーブ処理を行いセレクタ１０６に出力する。
【００５４】
要素復号器１０２によるこの２回の演算処理を１イタレーション（繰り返し回数１）とする。所定の繰り返し回数を経過した場合、対数尤度制御部１０３は、減算処理をしないで事後値をそのままデインタリーバメモリ１０５に出力する。この場合にデインタリーバメモリ１０５にてデインタリーブ処理された復号情報は、判定器１０７に与えられ、硬判定されてターボ復号結果として出力される。
【００５５】
セレクタ１０６は、要素復号器１０２での復号繰り返し回数に応じて、インタリーバメモリ１０４及びデインタリーバメモリ１０５の出力データを選択し、３ポート分をまとめて要素復号器１０２に事前値として出力する。
【００５６】
具体的には、要素復号器１０２が１回目の復号処理を行う場合は、デインタリーバメモリ１０５に格納されている外部値を要素復号器１０２の事前値とするので、セレクタ１０６はデインタリーバメモリ１０５の出力データを選択する。しかしながら、最初の繰り返し回数１のときの１回目に限っては、要素復号器１０２の事前値はゼロとして演算するため、セレクタ１０６の出力はゼロに固定されて要素復号器１０２に入力される。
【００５７】
そして、要素復号器１０２が２回目の復号処理を行う場合は、インタリーバメモリ１０４に格納されている外部値を要素復号器１０２の事前値とするので、セレクタ１０６はインタリーバメモリ１０４の出力データを選択するように動作する。セレクタ１０６では、以降、所定の繰り返し回数だけ繰り返される。
【００５８】
このように、本発明の実施の形態によれば、大容量が求められる通信路値メモリ、インタリーバメモリ及びデインタリーバメモリにおいて、小容量のサブメモリを２つ追加することにより、後方確率計算トレーニング処理、後方確率計算処理及び前方確率計算処理をそれぞれ並列に処理することができるので、復号処理を高速に行うことが可能となる。
【００５９】
また、通信路値メモリ、インタリーバメモリ及びデインタリーバメモリをシングルポートメモリで構成できるので、マルチポートメモリを使う場合に比較して、回路規模を大きく削減できる。
【産業上の利用可能性】
【００６０】
本発明は、スライディングウィンドウを用いて誤り訂正復号するターボ復号装置において、回路規模の増加を抑えながら復号処理の高速化を図るのに有用である。
【図面の簡単な説明】
【００６１】
【図１】本発明の一実施の形態に係るターボ復号装置の構成を示すブロック図
【図２】図１に示す要素復号器にて実施されるスライディングウィンドウ処理を説明するフロー図
【図３】図１に示す通信路値メモリでのデータ遷移を説明する図
【図４】ターボ符号器の一般的な構成を示すブロック図
【図５】ターボ復号器の一般的な構成を示すブロック図
【図６】始端及び終端を含むトレリス線図の一例を示す図
【図７】スライディングウィンドウを用いないターボ復号処理の一例を示すフロー図
【図８】後方確率計算トレーニング処理、後方確率計算処理、前方確率計算処理がそれぞれ逐次的に処理されるスライディングウィンドウを用いたターボ復号処理の一例を示すフロー図
【図９】後方確率計算トレーニング処理と後方確率計算処理とが逐次処理され、前方確率計算処理が並列的に処理されるスライディングウィンドウを用いたターボ復号処理の一例を示すフロー図
【図１０】後方確率計算トレーニング処理、後方確率計算処理、前方確率計算処理が並列的に処理されるスライディングウィンドウを用いたターボ復号処理の一例を示すフロー図
【符号の説明】
【００６２】
１００  ターボ復号装置
１０１  通信路値メモリ
１０１ａ  通信路値メインメモリ
１０１ｂ  通信路値サブメモリ（＃１）
１０１ｃ  通信路値サブメモリ（＃２）
１０２  要素復号器
１０２ａ  後方確率計算トレーニング部
１０２ｂ  後方確率計算部
１０２ｃ  後方確率メモリ
１０２ｄ  前方確率計算部
１０２ｅ  対数尤度計算部
１０３  対数尤度制御部
１０４  インタリーバメモリ
１０４ａ  インタリーバメインメモリ
１０４ｂ  インタリーバサブメモリ（＃１）
１０４ｃ  インタリーバサブメモリ（＃２）
１０５  デインタリーバメモリ
１０５ａ  デインタリーバメインメモリ
１０５ｂ  デインタリーバサブメモリ（＃１）
１０５ｃ  デインタリーバサブメモリ（＃２）
１０６  セレクタ
１０７  判定器
【図１】
2006217042.tif 000006
【図２】
2006217042.tif 000007
【図３】
2006217042.tif 000008
【図４】
2006217042.tif 000009
【図５】
2006217042.tif 000010
【図６】
2006217042.tif 000011
【図７】
2006217042.tif 000012
【図８】
2006217042.tif 000013
【図９】
2006217042.tif 000014
【図１０】
2006217042.tif 000015