JP2006217042A - ターボ復号装置 - Google Patents
ターボ復号装置 Download PDFInfo
- Publication number
- JP2006217042A JP2006217042A JP2005025134A JP2005025134A JP2006217042A JP 2006217042 A JP2006217042 A JP 2006217042A JP 2005025134 A JP2005025134 A JP 2005025134A JP 2005025134 A JP2005025134 A JP 2005025134A JP 2006217042 A JP2006217042 A JP 2006217042A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- value
- sliding window
- channel value
- sub
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
【課題】 マルチポートメモリを使用することなく、トレーニング処理、後方確率計算処理及び前方確率計算処理を並列処理してターボ復号の高速化を図ること。
【解決手段】 通信路値メインメモリ101aの内容を一時的にサブメモリ(#1)101bに格納し、サブメモリ(#1)101bの内容を一時的にサブメモリ(#2)101cに格納する。後方確率計算トレーニング部102aは通信路値メインメモリのデータを用いて計算し、後方確率計算部102bはサブメモリ(#1)101bのデータを用いて計算し、前方確率計算部102dはサブメモリ(#2)101cのデータを用いて計算するので、それぞれ並列に処理が可能となり、復号処理が高速に行える。通信路値メインメモリはシングルポートで構成できるので、通信路値メモリの回路増加は最小限に抑えられる。
【選択図】 図1
【解決手段】 通信路値メインメモリ101aの内容を一時的にサブメモリ(#1)101bに格納し、サブメモリ(#1)101bの内容を一時的にサブメモリ(#2)101cに格納する。後方確率計算トレーニング部102aは通信路値メインメモリのデータを用いて計算し、後方確率計算部102bはサブメモリ(#1)101bのデータを用いて計算し、前方確率計算部102dはサブメモリ(#2)101cのデータを用いて計算するので、それぞれ並列に処理が可能となり、復号処理が高速に行える。通信路値メインメモリはシングルポートで構成できるので、通信路値メモリの回路増加は最小限に抑えられる。
【選択図】 図1
Description
本発明は、ターボ符号により誤り訂正符号化されたデータに対してスライディングウィンドウを用いて誤り訂正復号するターボ復号装置に関する。
ターボ符号は、通信路符号化法の限界であるシャノン限界に近い誤り率特性を得られる符号として注目されており、W−CDMA(Wideband Code Division Multiple Access)においても採用され、すでに実用化されている。以下、図4〜図10を参照して、ターボ符号について概略説明する。
図4は、ターボ符号器の一般的な構成を示すブロック図である。図4に示すように、ターボ符号器400は、基本的に、要素符号器401、402と、インタリーバ403とを備えている。
図4において、情報データ系列dは、そのまま符号化データ系列uとして出力されるとともに、要素符号器401とインタリーバ403とに入力される。要素符号器401は、情報データ系列dを畳み込み符号化してパリティデータ系列y1として出力する。インタリーバ403は、情報データ系列dの順序をランダムに並び替えて要素符号器402に与える。要素符号器402は、インタリーブされた情報データ系列を畳み込み符号化してパリティデータ系列y2として出力する。このターボ符号器400は、情報データ1ビットに対して、パリティデータ2ビットが付加されるため、符号化率Rは1/3となる。なお、要素符号器401、402には、再帰的組織畳み込み符号器が用いられる。
次に、図5は、ターボ復号器の一般的な構成を示すブロック図である。図5に示すように、ターボ復号器500は、基本的に、要素復号器501と、インタリーバ502、503と、要素復号器504と、デインタリーバ505、506と、判定器507とを備えている。
図5において、要素復号器501、504は、通信路値と事前値とが入力され、事後値と外部値とを出力する。通信路値は、ディジタル復調された受信信号に定数が乗算されたものである。事後値は、判定器507において硬判定の対象となる事後確率である。この事後値は、以下の式(1)として表される。
事後値 = 通信路値 + 事前値 + 外部値 (1)
事後値 = 通信路値 + 事前値 + 外部値 (1)
外部値は、要素復号器501と要素復号器504との間で受け渡される信頼度情報である。要素復号器501にて復号した結果得られる外部値が要素復号器504に事前値として入力される。同様に、要素復号器504にて復号した結果得られる外部値が要素復号器501に事前値として入力される。このように、要素復号器501と要素復号器504との間で信頼度情報である外部値を受け渡しながら、繰り返し復号を行い、事後値を更新して復号特性を向上していくことが、ターボ復号の特徴である。
図5では、図4に示すターボ符号器400にて生成された符号化データ系列u、パリティデータ系列y1、パリティデータ系列y2が通信路を経由して受信した信号系列を、それぞれ、符号化データ系列U、パリティデータ系列Y1、パリティデータ系列Y2と表している。
さて、要素復号器501では、要素符号器401に対応する復号を行う。即ち、要素復号器501は、通信路値として、符号化データ系列Uとパリティデータ系列Y1とが入力される。また、事前値として、デインタリーバ505の出力L1が入力される。但し、事前値(デインタリーバ505の出力)L1の初期値はゼロとする。要素復号器501は、この通信路値と事前値とを用いて、外部値Le1と事後値L1’(図示せず)とを出力する。
また、要素復号器504では、要素符号器402に対応する復号を行う。即ち、要素復号器504は、通信路値として、インタリーバ503にてインタリーブされた符号化データ系列Uとパリティデータ系列Y2とが入力される。また、事前値として、要素復号器501が出力する外部値Le1をインタリーバ502にてインタリーブしたデータ系列L2が入力される。
要素復号器504は、この通信路値と事前値とを用いて、外部値Le2と事後値L2’とを出力する。外部値Le2は、デインタリーバ505でデインタリーブされ、要素復号器501の事前値L1となることで、繰り返し復号される。一方、事後値L2’は、デインタリーバ506にてデインタリーブされて判定器507に入力される。判定器507では、デインタリーブされた事後値L2’について硬判定を行い復号結果d’を出力する。
ところで、要素復号器501、504では、log−MAP(Maximum A Posteriori probability)復号法、MAX−log−MAP復号法、SOVA(Soft Output ViterbiAlgorithm)復号法などが用いられる。ここでは、主にMAX−log−MAP復号アルゴリズムを用いたターボ復号方法に関して説明する。
ターボ復号における処理手順は、後方確率βの計算と、前方確率αの計算、尤度L(uek)の計算とに分けられる。後方確率βは、全ての状態sにおいて式(2)を用いて求められる。前方確率αは、全ての状態sにおいて式(3)を用いて求められる。また、尤度L(uek)は、式(4)を用いて求められる。
なお、式(2)〜式(4)において、kは時点、sは状態、γk(sk−1,sk)は状態sk−1から状態skへの遷移確率、ukは時点kにおける情報、uekは情報ukの推定値である。
式(2)に示すように、時点kでの後方確率βを計算するために時点k+1の値を用いるので、後方確率βは、終端から始端に向かって時間軸とは逆方向に計算される。一方、式(3)に示すように、時点kでの前方確率αを計算するために時点k−1の値を用いるので、前方確率αは、始端から終端に向かって時間軸と順方向に計算される。図6は、始端及び終端を含むトレリス線図の一例である。
判定器507は、この式(8)を用いて計算した時点kにおける尤度L(uek)が、L(uek)≧0のとき推定値uek=ビット0と硬判定し、L(uek)<0のとき推定値uek=ビット1と硬判定する。
ここで、式(8)から理解できるように、時点kにおける尤度L(uek)を計算するためには、時点k−1での前方確率αk−1と、時点kでの後方確率βk及び遷移確率γkとが必要となる。図7は、後述するスライディングウィンドウを用いないターボ復号処理の一例を示すフロー図である。図7では、縦軸が経過時間、横軸が計算対象となるデータ系列を表している。図7に示すように、後述するスライディングウィンドウを用いない場合は、まず、後方確率βを終端から始端までの全時点について計算してメモリに記憶する。次に、前方確率αを始端から時点毎に終端まで計算する。そして、この前方確率αと遷移確率γ及び先に求めた後方確率βとを用いて尤度L(uek)を逐次的に計算することになる。
スライディングウィンドウを用いない場合、後方確率βを格納するためにデータ系列長×状態数×ビット精度という非常に大きなメモリ容量が要求されるという問題がある。一例として、データ系列長=5120、状態数=8、ビット精度=8とした場合、327680ビットのメモリ容量が必要となる。
スライディングウィンドウは、この後方確率βを格納するためのメモリ容量を削減する方法として広く知られている。スライディングウィンドウでは、データの全系列を所定のウィンドウ単位に分割し、各ウィンドウにトレーニング区間を設けることにより、通常では系列の終端から行わなければならない後方確率βの計算を系列の途中から可能とする方法である。
具体的には、後方確率計算トレーニング処理を行う最初のステート初期値を全ステート等確率として後方確率計算を開始し、トレーニング終了時点の各ステート確率を用いて後方確率計算を行うものである。このスライディングウィンドウによれば、ウィンドウ単位で後方確率を記憶すればよいので、全系列の後方確率を記憶する場合と比べて、所要メモリ容量を大幅に削減することができる。一例として、スライディングウィンドウ幅=32の場合、2048ビットのメモリ容量に削減できる。
また、スライディングウィンドウでは、後方確率計算処理と前方確率計算処理とを並列に実行することにより、復号処理を高速化できる。スライディングウィンドウを用いた処理フローを図8乃至図10に示す。なお、各図では、理解を容易にするため、スライディングウィンドウ幅はデータ系列長の1/8とし、後方確率計算トレーニング幅とスライディングウィンドウ幅は等しいとしている。
まず、図8は、後方確率計算トレーニング処理、後方確率計算処理、前方確率計算処理がそれぞれ逐次的に処理されるスライディングウィンドウを用いたターボ復号処理の一例を示すフロー図である。この場合は、並列処理をしないので、全ての計算処理が時間軸上で重なることがない。したがって、スライディングウィンドウを用いない図7と比較すると後方確率計算トレーニング処理時間分だけ、復号処理に多くの時間を要してしまうという問題がある。
次に、図9は、後方確率計算トレーニング処理と後方確率計算処理とが逐次処理され、前方確率計算処理が並列的に処理されるスライディングウィンドウを用いたターボ復号処理の一例を示すフロー図である。この場合の復号処理時間は、スライディングウィンドウを用いない図7と同等である。
一方、図10は、後方確率計算トレーニング処理、後方確率計算処理、前方確率計算処理が並列的に処理されるスライディングウィンドウを用いたターボ復号処理の一例を示すフロー図である。この場合の復号処理時間は、スライディングウィンドウを用いない図7のほぼ半分である。図10に示す方式のスライディングウィンドウでは、後方確率βを格納するためのメモリ容量を削減できるだけでなく、後方確率計算トレーニング処理、後方確率計算処理および前方確率計算処理をそれぞれ並列処理することで、復号処理を高速化できる。
しかし、図10に示す並列処理では、各計算処理に必要となる通信路値や事前値の時点データがそれぞれ異なるので、通信路値や事前値を記憶しているメモリに対して、同時に異なるアドレスに対するメモリリードを行うために複数のリードポートが必要となる。マルチポートメモリは、シングルポートメモリに比べて回路面積が大きくなる(一般的にはシングルポートの2倍になる)ので、コストが高くなり、また、消費電力も増加してしまうという問題がある。
そこで、例えば、特許文献1では、スライディングウィンドウを用いて、後方確率計算トレーニング処理もしくは後方確率計算処理と前方確率計算処理とを並列処理しつつ、通信路値や事前値が記憶されているメモリにシングルポートメモリを使う方法が開示されている。特許文献1では、後方確率計算処理を行う際に、シングルポートメモリに格納された通信路値及び事前値を読み込み、後方確率を計算する。後方確率計算に使用した通信路値及び事前値は、別に用意したスクラッチメモリに格納する。前方確率計算を行う場合には、通信路値や事前値が格納されたシングルポートメモリから読み込むのではなく、スクラッチメモリから読み込む構成とする。これによって、後方確率計算処理と前方確率計算処理とを並列処理しつつ、通信路値及び事前値を格納しているメモリにシングルポートメモリの使用を可能としている。
特開2003−32126号公報
しかしながら、上記従来のターボ復号装置では、後方確率計算処理と前方確率計算処理とを並列処理できるが、後方確率計算トレーニング処理は並列処理できない。これは、図9に示す処理フローに相当するので、スライディングウィンドウを用いない場合と比較して、復号処理時間の高速化は図れていないという問題がある。
また、上記従来のターボ復号装置では、4つのスクラッチメモリを配置している。1つのスクラッチメモリには、スライディングウィンドウ幅である128ワードとトレーニング幅である48ワードの計176ワードが転送されるので、4つのスクラッチメモリ全体では、176×4=704ワードが転送されることになる。
ところで、メインメモリから4つのスクラッチメモリへのデータ転送では、連続した4スライディングウィンドウ分のデータを転送する場合に、隣り合ったスライディングウィンドウのトレーニング区間に相当するデータは、前スライディングウィンドウのデータの一部であるので、転送は不要となる。この転送不要となるデータ量は、3つのトレーニング用データ分に相当するので、48×3=144ワード分のデータ転送時間が削減されることになる。
しかし、この場合は、スライディングウィンドウ幅を128×4=512、トレーニング幅を48として、560ワードのスクラッチメモリを1つとした方がメモリ効率は良くなるので、176ワードのスクラッチメモリを4つ配置して、144ワード分のデータ転送時間を短縮する効果は薄いという問題もある。
本発明は、かかる点に鑑みてなされたものであり、スライディングウィンドウを用いて誤り訂正復号するターボ復号装置において、通信路値及び事前値を格納するための大容量メモリにシングルポートメモリの使用を可能としつつ、後方確率計算トレーニング処理、後方確率計算処理及び前方確率計算処理をそれぞれ並列に処理することのできるターボ復号装置を提供することを目的とする。
かかる課題を解決するため、本発明に係るターボ復号装置は、ターボ符号により誤り訂正符号化されたデータに対してスライディングウィンドウを用いて誤り訂正復号を行うターボ復号装置であって、通信路値が入力される通信路値メモリと、前記通信路値メモリから読み出したスライディングウィンドウ幅の通信路値と事前値とに基づき復号処理を行う要素復号器と、外部値についてインタリーブ処理を行うインタリーブメモリと、外部値についてデインタリーブ処理を行うデインタリーブメモリと、前記要素復号器が出力する事後値と前記事前値とから外部値を生成し、それを前記要素復号器での復号処理の繰り返し回数に応じて前記インタリーブメモリと前記デインタリーブメモリとに切り替えて書き込む制御を行う対数尤度制御手段と、前記要素復号器での復号処理の繰り返し回数に応じて前記インタリーブメモリに記憶された外部値と前記デインタリーブメモリに記憶された外部値とを切り替えて選択し、それを前記事前値として出力するセレクタと、前記デインタリーブメモリに記憶された外部値について硬判定処理を行う判定手段とを備え、前記通信路値メモリは、通信路値を記憶する通信路値メインメモリと、前記通信路値メインメモリからスライディングウィンドウ幅の単位で読み出される通信路値を一時記憶する第1の通信路値サブメモリと、前記第1の通信路値サブメモリからスライディングウィンドウ幅の単位で読み出される通信路値を一時記憶する第2の通信路値サブメモリとを具備し、前記要素復号器は、前記通信路値メインメモリからスライディングウィンドウ幅の単位で読み出した通信路値と前記事前値とに基づき後方確率計算を行うための前処理を行うトレーニング手段と、前記トレーニング手段での処理結果と前記第1の通信路値サブメモリからスライディングウィンドウ幅の単位で読み出した通信路値と前記事前値とに基づき後方確率計算を行う後方確率計算手段と、前記後方確率計算手段での計算結果を記憶する後方確率メモリと、前記第2の通信路値サブメモリからスライディングウィンドウ幅の単位で読み出した通信路値と前記事前値とに基づき前方確率計算を行う前方確率計算手段と、前記後方確率メモリからスライディングウィンドウ幅の単位で読み出した後方確率と前記前方確率計算手段がスライディングウィンドウ幅の単位で計算した前方確率とに基づき対数尤度を計算し、それを事後値として前記対数尤度制御手段に与える対数尤度計算手段とを具備し、前記インタリーブメモリは、前記対数尤度制御手段からの前記外部値をインタリーブするためのインタリーブメインメモリと、前記インタリーブメインメモリからスライディングウィンドウ幅の単位で読み出される外部値を一時記憶する第1のインタリーブサブメモリと、前記第1のインタリーブサブメモリからスライディングウィンドウ幅の単位で読み出される外部値を一時記憶する第2のインタリーブサブメモリとを具備し、前記デインタリーブメモリは、前記対数尤度制御手段からの前記外部値をデインタリーブするためのデインタリーブメインメモリと、前記デインタリーブメインメモリからスライディングウィンドウ幅の単位で読み出される外部値を一時記憶する第1のデインタリーブサブメモリと、前記第1のデインタリーブサブメモリからスライディングウィンドウ幅の単位で読み出される外部値を一時記憶する第2のデインタリーブサブメモリとを具備する構成を採る。
この構成によれば、要素復号器では、後方確率計算トレーニング処理、後方確率計算処理及び前方確率計算処理をそれぞれ並列に処理することができる。この場合に、通信路値及び事前値を格納するための大容量メモリに、回路規模の大きな、つまりシリコンリソースを多く消費するマルチポートメモリを使用することなく、シングルポートメモリを使うことが可能となるので、回路規模の増加を抑えつつ、ターボ復号処理を高速化することができる。
本発明に係るターボ復号装置は、上記の発明において、前記第1及び第2の通信路値サブメモリと、前記第1及び第2のインタリーブサブメモリと、前記第1及び第2のデインタリーブサブメモリとは、それぞれ、スライディングウィンドウ幅と同一容量のメモリを2バンク分具備する構成を採る。
この構成によれば、通信路値及び事前値を格納するための大容量メモリであるメインメモリに対する補助的なメモリである2つのサブメモリの追加容量を最小限に止めることができるので、回路規模の増加を抑えつつ、ターボ復号処理を高速化することができる。
本発明によれば、スライディングウィンドウを用いて誤り訂正復号するターボ復号装置において、通信路値及び事前値を格納するための大容量メモリにシングルポートメモリの使用を可能としつつ、後方確率計算トレーニング処理、後方確率計算処理及び前方確率計算処理をそれぞれ並列に処理することができるので、復号処理を高速化するとともに、回路規模の増加を抑えることができる。
本発明の骨子は、スライディングウィンドウを用いて誤り訂正復号するターボ復号装置において、通信路値及び事前値を格納するための大容量メモリにシングルポートメモリを使いつつも、後方確率計算トレーニング処理、後方確率計算処理及び前方確率計算処理の各計算処理をそれぞれ並列に処理することができるようにし、回路規模の増加を抑えながら復号処理を高速化することである。
以下、本発明の実施の形態について図面を参照して詳細に説明する。
(実施の形態)
図1は、本発明の一実施の形態に係るターボ復号装置の構成を示すブロック図である。図1に示すターボ復号装置100は、通信路値メモリ101と、要素復号器102と、対数尤度制御部103と、インタリーバメモリ104と、デインタリーバメモリ105と、セレクタ106と、判定器107とを備えている。
図1は、本発明の一実施の形態に係るターボ復号装置の構成を示すブロック図である。図1に示すターボ復号装置100は、通信路値メモリ101と、要素復号器102と、対数尤度制御部103と、インタリーバメモリ104と、デインタリーバメモリ105と、セレクタ106と、判定器107とを備えている。
通信路値メモリ101は、通信路値メインメモリ101aと、通信路値サブメモリ(#1)101bと、通信路値サブメモリ(#2)101cとを備えている。要素復号器102は、後方確率計算トレーニング部102aと、後方確率計算部102bと、後方確率メモリ102cと、前方確率計算部102dと、対数尤度計算部102eとを備えている。対数尤度制御部103は、図示省略したが、減算器とセレクタとを備えている。
インタリーバメモリ104は、インタリーバメインメモリ104aと、インタリーバサブメモリ(#1)104bと、インタリーバサブメモリ(#2)104cとを備えている。デインタリーバメモリ105は、デインタリーバメインメモリ105aと、デインタリーバサブメモリ(#1)105bと、デインタリーバサブメモリ(#2)105cとを備えている。
次に、図1〜図3を参照して、以上のように構成されるターボ復号装置100の復号処理動作について説明する。なお、図2は、図1に示す要素復号器にて実施されるスライディングウィンドウ処理を説明するフロー図である。図3は、図1に示す通信路値メモリでのデータ遷移を説明する図である。図2と図3では、理解を容易にするため、スライディングウィンドウ幅=8、トレーニング幅=8、被復号データサイズ=32とした場合の動作について示している。また、各通信路値サブメモリは、スライディングウィンドウ幅と等しい容量8ワードの2バンク構成としている。またこの図3に示すデータ遷移方法は、図1に示すインタリーバメモリ104及びデインタリーバメモリ105における事前値に対しても同様に適用できるものである。なお、本実施の形態では、スライディングウィンドウ幅=8、トレーニング幅=8、被復号データサイズ=32とするが、本発明はこれに限定されるものではない。さらに、本実施の形態では、要素復号器において、後方確率計算処理を先行して計算したあと、前方確率計算処理を行う処理フローで説明しているが、本発明は、前方確率計算処理を先に計算した後、後方確率計算処理を行う処理フローに対しても適用することができる。
被復号信号である通信路値は、一旦通信路値メモリ101内の通信路値メインメモリ101aに記憶される。復号の開始と同時に、通信路値メインメモリ101aからスライディングウィンドウ幅(=8)を単位として降順アドレスでデータが読み出される。
即ち、図3に示すように、まず、通信路値メインメモリ101aのアドレス(時点)7からアドレス(時点)0までのデータが読み出される。このデータは、通信路値サブメモリ(#1)101bのバンク1(bank1)に記憶される。次いで、通信路値メインメモリ101aのアドレス(時点)15からアドレス(時点)8までのデータが読み出される。このデータは、通信路値サブメモリ(#1)101bのバンク2(bank2)に記憶されるとともに、後方確率計算トレーニング部102aにおいて、トレーニング計算に用いられる(図2)。なお、トレーニング計算時のパスメトリック初期値は、全ての状態を等確率としている。
続けて、通信路値メインメモリ101aのアドレス(時点)23からアドレス(時点)16までのデータが読み出される。このデータは、通信路値サブメモリ(#1)101bのバンク1(bank1)に記憶されるとともに、後方確率計算トレーニング部102aにおいて、トレーニング計算に用いられる(図2)。このとき、先に通信路値サブメモリ(#1)101bのバンク1(bank1)に記憶されていた時点7から時点0までのデータは、時点23から時点16までのデータが上書きされる前に読み出され、通信路値サブメモリ(#2)101cのバンク1(bank1)に記憶されるとともに、後方確率計算部102bにおいて、後方確率が計算され、計算結果は後方確率メモリ102cのバンク1に記憶される(図2)。後方確率計算の初期値は、後方確率計算トレーニング部102aにて計算された結果を用いる。
続けて、通信路値メインメモリ101aのアドレス(時点)31からアドレス(時点)24までのデータが読み出される。このデータは、通信路値サブメモリ(#1)101bのバンク2(bank2)に記憶されるとともに、後方確率計算トレーニング部102aにおいて、トレーニング計算に用いられる。図2に示すように、時点31は終端であるので、トレーニング計算時のパスメトリック初期値は、状態0の確率尤度を高くしている。このとき、先に通信路値サブメモリ(#1)101bのバンク2(bank2)に記憶されていた時点15から時点8までのデータは、時点31から時点24までのデータが上書きされる前に読み出され、通信路値サブメモリ(#2)101cのバンク2に記憶されるとともに、後方確率計算部102bにおいて、後方確率が計算され、計算結果は後方確率メモリ102cのバンク2に記憶される(図2)。
更に、通信路値サブメモリ(#2)101cのバンク1に記憶されている時点7から時点0までのデータは、アドレス昇順で読み出され、前方確率計算部102dにおいて前方確率が計算される。なお、前方確率計算時のパスメトリック初期値は、状態0の確率尤度を高くしている。対数尤度計算部102eでは、後方確率メモリ102cのバンク1に記憶されている時点7から時点0までの後方確率を昇順で読み出すとともに、前方確率計算102dにおいて求められた時点0から時点7までの前方確率とを用いて、対数尤度を計算する。この動作を、時点0から時点31までの全ての対数尤度が求められるまで繰り返す。この対数尤度は事後値である。
セレクタ106から要素復号器102への事前値入力に関しても、以上説明した通信路値の入力方法と同様に、後方確率計算トレーニング部102a、後方確率計算部102b及び前方確率計算部102dに対して、異なる時点の事前値情報を並列に入力することが可能である。
以上のように要素復号器102にて計算された事後値とセレクタ106から要素復号器102への事前値とは対数尤度制御部103に入力される。対数尤度制御部103では、復号繰り返し回数に応じて、外部値を出力するのか、事後値そのものを出力するのかを切り替えるとともに、出力先をインタリーバメモリ104にするのか、デインタリーバメモリ105にするのかを選択する。
対数尤度制御部103は、要素復号器102の事後値出力とセレクタ106の事前値出力とを入力とし、外部値を出力するために減算処理を行うが、要素復号器102が1回目の復号処理(図5の要素復号器501に相当)を行う場合には減算処理によって得られた外部値をインタリーバメモリ104に出力し、要素復号器102が2回目の復号処理(図5の要素復号器504に相当)を行う場合には減算処理によって得られた外部値をデインタリーバメモリ105に出力する。
インタリーバメモリ104は、対数尤度制御部103からの外部値をメモリへの書込み順序と読出し順序とを異ならせることによりインタリーブ処理を行いセレクタ106に出力する。一方、デインタリーバメモリ105は、対数尤度制御部103からの外部値をメモリへの書込み順序と読出し順序とを異ならせ、データの並びを元に戻すようにデインタリーブ処理を行いセレクタ106に出力する。
要素復号器102によるこの2回の演算処理を1イタレーション(繰り返し回数1)とする。所定の繰り返し回数を経過した場合、対数尤度制御部103は、減算処理をしないで事後値をそのままデインタリーバメモリ105に出力する。この場合にデインタリーバメモリ105にてデインタリーブ処理された復号情報は、判定器107に与えられ、硬判定されてターボ復号結果として出力される。
セレクタ106は、要素復号器102での復号繰り返し回数に応じて、インタリーバメモリ104及びデインタリーバメモリ105の出力データを選択し、3ポート分をまとめて要素復号器102に事前値として出力する。
具体的には、要素復号器102が1回目の復号処理を行う場合は、デインタリーバメモリ105に格納されている外部値を要素復号器102の事前値とするので、セレクタ106はデインタリーバメモリ105の出力データを選択する。しかしながら、最初の繰り返し回数1のときの1回目に限っては、要素復号器102の事前値はゼロとして演算するため、セレクタ106の出力はゼロに固定されて要素復号器102に入力される。
そして、要素復号器102が2回目の復号処理を行う場合は、インタリーバメモリ104に格納されている外部値を要素復号器102の事前値とするので、セレクタ106はインタリーバメモリ104の出力データを選択するように動作する。セレクタ106では、以降、所定の繰り返し回数だけ繰り返される。
このように、本発明の実施の形態によれば、大容量が求められる通信路値メモリ、インタリーバメモリ及びデインタリーバメモリにおいて、小容量のサブメモリを2つ追加することにより、後方確率計算トレーニング処理、後方確率計算処理及び前方確率計算処理をそれぞれ並列に処理することができるので、復号処理を高速に行うことが可能となる。
また、通信路値メモリ、インタリーバメモリ及びデインタリーバメモリをシングルポートメモリで構成できるので、マルチポートメモリを使う場合に比較して、回路規模を大きく削減できる。
本発明は、スライディングウィンドウを用いて誤り訂正復号するターボ復号装置において、回路規模の増加を抑えながら復号処理の高速化を図るのに有用である。
100 ターボ復号装置
101 通信路値メモリ
101a 通信路値メインメモリ
101b 通信路値サブメモリ(#1)
101c 通信路値サブメモリ(#2)
102 要素復号器
102a 後方確率計算トレーニング部
102b 後方確率計算部
102c 後方確率メモリ
102d 前方確率計算部
102e 対数尤度計算部
103 対数尤度制御部
104 インタリーバメモリ
104a インタリーバメインメモリ
104b インタリーバサブメモリ(#1)
104c インタリーバサブメモリ(#2)
105 デインタリーバメモリ
105a デインタリーバメインメモリ
105b デインタリーバサブメモリ(#1)
105c デインタリーバサブメモリ(#2)
106 セレクタ
107 判定器
101 通信路値メモリ
101a 通信路値メインメモリ
101b 通信路値サブメモリ(#1)
101c 通信路値サブメモリ(#2)
102 要素復号器
102a 後方確率計算トレーニング部
102b 後方確率計算部
102c 後方確率メモリ
102d 前方確率計算部
102e 対数尤度計算部
103 対数尤度制御部
104 インタリーバメモリ
104a インタリーバメインメモリ
104b インタリーバサブメモリ(#1)
104c インタリーバサブメモリ(#2)
105 デインタリーバメモリ
105a デインタリーバメインメモリ
105b デインタリーバサブメモリ(#1)
105c デインタリーバサブメモリ(#2)
106 セレクタ
107 判定器
Claims (2)
- ターボ符号により誤り訂正符号化されたデータに対してスライディングウィンドウを用いて誤り訂正復号を行うターボ復号装置であって、
通信路値が入力される通信路値メモリと、前記通信路値メモリから読み出したスライディングウィンドウ幅の通信路値と事前値とに基づき復号処理を行う要素復号器と、外部値についてインタリーブ処理を行うインタリーブメモリと、外部値についてデインタリーブ処理を行うデインタリーブメモリと、前記要素復号器が出力する事後値と前記事前値とから外部値を生成し、それを前記要素復号器での復号処理の繰り返し回数に応じて前記インタリーブメモリと前記デインタリーブメモリとに切り替えて書き込む制御を行う対数尤度制御手段と、前記要素復号器での復号処理の繰り返し回数に応じて前記インタリーブメモリに記憶された外部値と前記デインタリーブメモリに記憶された外部値とを切り替えて選択し、それを前記事前値として出力するセレクタと、前記デインタリーブメモリに記憶された外部値について硬判定処理を行う判定手段とを備え、
前記通信路値メモリは、通信路値を記憶する通信路値メインメモリと、前記通信路値メインメモリからスライディングウィンドウ幅の単位で読み出される通信路値を一時記憶する第1の通信路値サブメモリと、前記第1の通信路値サブメモリからスライディングウィンドウ幅の単位で読み出される通信路値を一時記憶する第2の通信路値サブメモリとを具備し、
前記要素復号器は、前記通信路値メインメモリからスライディングウィンドウ幅の単位で読み出した通信路値と前記事前値とに基づき後方確率計算を行うための前処理を行うトレーニング手段と、前記トレーニング手段での処理結果と前記第1の通信路値サブメモリからスライディングウィンドウ幅の単位で読み出した通信路値と前記事前値とに基づき後方確率計算を行う後方確率計算手段と、前記後方確率計算手段での計算結果を記憶する後方確率メモリと、前記第2の通信路値サブメモリからスライディングウィンドウ幅の単位で読み出した通信路値と前記事前値とに基づき前方確率計算を行う前方確率計算手段と、前記後方確率メモリからスライディングウィンドウ幅の単位で読み出した後方確率と前記前方確率計算手段がスライディングウィンドウ幅の単位で計算した前方確率とに基づき対数尤度を計算し、それを事後値として前記対数尤度制御手段に与える対数尤度計算手段とを具備し、
前記インタリーブメモリは、前記対数尤度制御手段からの前記外部値をインタリーブするためのインタリーブメインメモリと、前記インタリーブメインメモリからスライディングウィンドウ幅の単位で読み出される外部値を一時記憶する第1のインタリーブサブメモリと、前記第1のインタリーブサブメモリからスライディングウィンドウ幅の単位で読み出される外部値を一時記憶する第2のインタリーブサブメモリとを具備し、
前記デインタリーブメモリは、前記対数尤度制御手段からの前記外部値をデインタリーブするためのデインタリーブメインメモリと、前記デインタリーブメインメモリからスライディングウィンドウ幅の単位で読み出される外部値を一時記憶する第1のデインタリーブサブメモリと、前記第1のデインタリーブサブメモリからスライディングウィンドウ幅の単位で読み出される外部値を一時記憶する第2のデインタリーブサブメモリとを具備する、ことを特徴とするターボ復号装置。 - 前記第1及び第2の通信路値サブメモリと、前記第1及び第2のインタリーブサブメモリと、前記第1及び第2のデインタリーブサブメモリとは、それぞれ、スライディングウィンドウ幅と同一容量のメモリを2バンク分具備していることを特徴とする請求項1記載のターボ復号装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005025134A JP2006217042A (ja) | 2005-02-01 | 2005-02-01 | ターボ復号装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005025134A JP2006217042A (ja) | 2005-02-01 | 2005-02-01 | ターボ復号装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006217042A true JP2006217042A (ja) | 2006-08-17 |
Family
ID=36979921
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005025134A Pending JP2006217042A (ja) | 2005-02-01 | 2005-02-01 | ターボ復号装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006217042A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008054043A (ja) * | 2006-08-24 | 2008-03-06 | Fujitsu Ltd | データ列出力装置 |
JP2009060455A (ja) * | 2007-08-31 | 2009-03-19 | Nec Corp | スライディングウィンドウターボ復号処理装置とその方法 |
WO2009119057A1 (ja) * | 2008-03-24 | 2009-10-01 | パナソニック株式会社 | 無線通信装置および誤り訂正符号化方法 |
-
2005
- 2005-02-01 JP JP2005025134A patent/JP2006217042A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008054043A (ja) * | 2006-08-24 | 2008-03-06 | Fujitsu Ltd | データ列出力装置 |
JP4685729B2 (ja) * | 2006-08-24 | 2011-05-18 | 富士通株式会社 | データ列出力装置 |
JP2009060455A (ja) * | 2007-08-31 | 2009-03-19 | Nec Corp | スライディングウィンドウターボ復号処理装置とその方法 |
WO2009119057A1 (ja) * | 2008-03-24 | 2009-10-01 | パナソニック株式会社 | 無線通信装置および誤り訂正符号化方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5479580B2 (ja) | Lteにおける並列turboデコーディングの方法及び装置 | |
US7849377B2 (en) | SISO decoder with sub-block processing and sub-block based stopping criterion | |
US7500169B2 (en) | Turbo decoder, turbo decoding method, and turbo decoding program | |
EP1648092A1 (en) | Decoding method and device | |
JP4478668B2 (ja) | 並列のターボ復号機中でのインターリーブの方法およびシステム。 | |
US8010867B2 (en) | Error correction code decoding device | |
US7343530B2 (en) | Turbo decoder and turbo interleaver | |
EP1122890A2 (en) | MAP decoding with parallelized sliding window processing | |
JP4227481B2 (ja) | 復号装置および復号方法 | |
EP1130789A2 (en) | Soft-decision decoding of convolutionally encoded codeword | |
US8196006B2 (en) | Modified branch metric calculator to reduce interleaver memory and improve performance in a fixed-point turbo decoder | |
JP4229948B2 (ja) | 復号装置、復号方法、及び受信装置 | |
JP2004343716A (ja) | 畳み込み符号化信号の伝送形式をブラインド検出する方法および復号器 | |
US20130007568A1 (en) | Error correcting code decoding device, error correcting code decoding method and error correcting code decoding program | |
EP2599253B1 (en) | Initializing decoding metrics | |
JP2005210238A (ja) | ターボ復号装置及びその方法並びにその動作プログラム | |
WO2006092564A1 (en) | Metric calculations for map decoding using the butterfly structure of the trellis | |
JP2006217042A (ja) | ターボ復号装置 | |
JP2005109771A (ja) | 最大事後確率復号方法及び装置 | |
JP2007081640A (ja) | ターボ復号装置およびターボ復号方法 | |
JP2002076921A (ja) | 誤り訂正符号復号方法及び装置 | |
JP4765863B2 (ja) | 復号器及びその復号方法 | |
US20160204803A1 (en) | Decoding method for convolutionally coded signal | |
JP2006115534A (ja) | 誤り訂正符号の復号方法、そのプログラム及びその装置 | |
JP2006115534A5 (ja) |