(57)【要約】【課題】ターボ復号における最尤復号処理に必要なデータ列を生成する回路の規模を削減する。【解決手段】デュアルポートＲＡＭ２０に１ブロック分のデータを格納し、所定の順序で読み出す。２つのデータ列に重複するデータについてはデータ列のデータとして出力するとともに補助メモリ２２，２４に格納し、後の必要時には補助メモリ２２，２４から読み出し、データ列のデータとして出力する。【選択図】図４
2008054043.tif 000002
【特許請求の範囲】
【請求項１】
１ブロック分のデータから、第１の処理に必要な順序の２つのデータ列と第２の処理に必要な順序の２つのデータ列を出力するデータ列出力装置であって、
１ブロック分のデータを格納し、第１の処理に必要なデータと第２の処理に必要なデータとが所定の順序で並列に読み出されるデュアルポートメモリと、
前記第１の処理に必要な順序の２つのデータ列の間で重複しているデータを、それが一方のデータ列のデータとしてデュアルポートメモリから読み出されてから他方のデータ列のデータとして使用されるまで格納する第１のシングルポートメモリと、
前記第２の処理に必要な順序の２つのデータ列の間で重複しているデータを、それが一方のデータ列のデータとしてデュアルポートメモリから読み出されてから他方のデータ列のデータとして使用されるまで格納する第２のシングルポートメモリと、
前記デュアルポートメモリの第１の処理のための読み出し出力および第１のシングルポートメモリの読み出し出力の中から適宜選択することによって前記第１の処理に必要な２つのデータ列を出力する第１のセレクタと、
前記デュアルポートメモリの第２の処理のための読み出し出力および第２のシングルポートメモリの読み出し出力の中から適宜選択することによって前記第２の処理に必要な２つのデータ列を出力する第２のセレクタとを具備するデータ列出力装置。
【請求項２】
順方向パスメトリックと逆方向パスメトリックを並列的に計算して加算する最尤復号処理に必要なデータ列を出力するものであり、
前記第１の処理は１ブロックの前半部分の最尤復号を行う処理であり、前記第２の処理は１ブロックの後半部分の最尤復号を行う処理である請求項１記載のデータ列出力装置。
【請求項３】
前記デュアルポートメモリへのデータの格納時に第１の処理に必要なデータの一部が格納される第３のシングルポートメモリと、
前記デュアルポートメモリへのデータの格納時に第２の処理に必要なデータの一部が格納される第４のシングルポートメモリとをさらに具備し、
前記第１のセレクタは、さらに該第３のシングルポートメモリの読み出し出力から適宜選択して第１の処理に必要なデータ列を出力し、
前記第２のセレクタは、さらに該第４のシングルポートメモリの読み出し出力から適宜選択して第２の処理に必要なデータ列を出力する請求項１または２記載のデータ列出力装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は所定の処理に必要なデータ列を出力するデータ列出力装置、特に、順方向パスメトリックと逆方向パスメトリックを並列的に計算して加算する最尤復号処理に必要なデータ列を出力するデータ列出力装置に関する。
【背景技術】
【０００２】
例えば、ターボ符号の復号処理において、最尤復号アルゴリズムとしてＭＡＰ（最大事後確率）アルゴリズムを用いる場合、復号前のデータブロックの先頭から順次パスメトリックを計算する順方向パスメトリックと復号前のデータブロックの最後から順次逆方向にパスメトリックを計算する逆方向パスメトリックとの加算が行なわれる。この場合、逆方向パスメトリックの計算が１ブロックについて完了するまではブロックの先頭部分の逆方向パスメトリックが得られないので加算処理に入ることができず、処理時間が長くなる。
【０００３】
そこで、１ブロックの復号前データをＮ個の小ブロックＢ1，Ｂ2，Ｂ3…ＢNに分割し、Ｂ3→Ｂ2→Ｂ1の順に逆方向パスメトリックを計算して小ブロックＢ2，Ｂ1についての逆方向パスメトリックを近似的に計算し、Ｂ5→Ｂ4→Ｂ3の順に逆方向パスメトリックを計算して小ブロックＢ4，Ｂ3についての逆方向パスメトリックを近似的に計算する。このような処理を繰り返すことによって順方向パスメトリックとほぼ同じ時期に逆方向パスメトリックが得られるので、後の加算処理を並列的に実行することが可能となる。なお、この近似のレベルは小ブロックの大きさを適切に設定すればターボ復号における繰り返し処理のおかげで実用に耐え得るレベルとなる。
【０００４】
このような処理は、１ブロック分のデータＢ1，Ｂ2…ＢNから図１の（ａ）（ｂ）に示すような２つのデータ列を生成することにより実現することができる。図中、各小ブロックを表わす矩形の中には各小ブロックに付された記号の添字のみが示されている（以下同じ）。（ｃ）欄は得られる逆方向パスメトリックの順番を表わしている。（ｃ）欄に示すような順番およびタイミングで逆方向パスメトリックが得られるので、順方向パスメトリックとの加算を並列的に実行することが可能になる。
【０００５】
図１の（ａ）（ｂ）に示す２つのデータ列を生成するには、例えば図２に示すように、デュアルポートメモリ１０に１ブロック分のデータを書き込んで２つのポートから並列的にデータを読み出すことにより実現することができる。
【０００６】
そしてさらに処理時間を短縮するため、１ブロックの前半部分と後半部分の復号を並列的に実行することが考えられる。この場合に、ターボ復号では最尤復号の前にインターリーブまたはデインターリーブされることがあるので、前半部分の復号に必要なデータが必ずしも入力データの前半に存在するとは限らず、後半部分の復号に必要なデータが必ずしも入力データの後半に存在するとは限らない。従って図３に示すように、２つのデュアルポートメモリ１２，１４のそれぞれに１ブロック分の入力データを格納して、インターリーブまたはデインターリーブが行なわれるときはそれを考慮して順次読み出すことになる。従って、１ブロックのワード数をＸワードとすると、Ｘワードの容量のデュアルポートメモリが２個必要になる。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明の目的は、上記のような処理に必要なデータ列を出力するデータ列出力装置の回路規模を削減することにある。
【課題を解決するための手段】
【０００８】
本発明によれば、１ブロック分のデータから、第１の処理に必要な順序の２つのデータ列と第２の処理に必要な順序の２つのデータ列を出力するデータ列出力装置であって、１ブロック分のデータを格納し、第１の処理に必要なデータと第２の処理に必要なデータとが所定の順序で並列に読み出されるデュアルポートメモリと、前記第１の処理に必要な順序の２つのデータ列の間で重複しているデータを、それが一方のデータ列のデータとしてデュアルポートメモリから読み出されてから他方のデータ列のデータとして使用されるまで格納する第１のシングルポートメモリと、前記第２の処理に必要な順序の２つのデータ列の間で重複しているデータを、それが一方のデータ列のデータとしてデュアルポートメモリから読み出されてから他方のデータ列のデータとして使用されるまで格納する第２のシングルポートメモリと、前記デュアルポートメモリの第１の処理のための読み出し出力および第１のシングルポートメモリの読み出し出力の中から適宜選択することによって前記第１の処理に必要な２つのデータ列を出力する第１のセレクタと、前記デュアルポートメモリの第２の処理のための読み出し出力および第２のシングルポートメモリの読み出し出力の中から適宜選択することによって前記第２の処理に必要な２つのデータ列を出力する第２のセレクタとを具備するデータ列出力装置が提供される。
【０００９】
２つのデータ列の間で重複するデータを一時的に格納するシングルポートメモリを使用することにより、１ブロック分の容量のデュアルポートメモリと、重複データを一時的に格納するに必要な容量のシングルポートメモリとで必要なデータ列の出力が可能となり、回路規模を削減することができる。
【００１０】
このデータ列出力装置は例えば、順方向パスメトリックと逆方向パスメトリックを並列的に計算して加算する最尤復号処理に必要なデータ列を出力するものであり、前記第１の処理は１ブロックの前半部分の最尤復号を行う処理であり、前記第２の処理は１ブロックの後半部分の最尤復号を行う処理である。
【発明を実施するための最良の形態】
【００１１】
図１の（ａ）（ｂ）欄をみると、例えば小ブロックＢ3は（ａ）欄のデータ列の先頭に現われ、その後、（ｂ）欄のデータ列にも現われる。小ブロックＢ5は（ｂ）欄のデータ列に現われた後、（ａ）欄のデータ列にも現われる。このように、データの一部は双方のデータ列に規則的に重複して現われる。そこで、本発明では、この重複データが一方のデータ列に出現してから他方のデータ列で使用されるまで一時的に格納する、シングルポートメモリ（通常のメモリ）からなる補助メモリを設けることにより、回路規模を削減する。
【００１２】
図４は本発明のデータ列出力装置の一実施形態を示す回路図である。図４において、２０は１ブロックがＸワードとするとき、Ｘワードの容量を有するデュアルポートＲＡＭであり、２２，２４は各小ブロックがＹワードのデータで構成されるとき、それぞれ４Ｙワード（４つの小ブロック）の容量を有する前述の補助メモリであり、ブロックの前半データの復号処理（以下前半処理）と後半データの復号処理（以下後半処理）を並列に実行するため、２つ設けられている。２６，２８はそれぞれＹワードの容量を有するシングルポートＲＡＭであり、後述するように、入力データを直接、補助メモリ２２，２４に書き込みできる構成とすれば不要である。
【００１３】
セレクタ３０はデュアルポートＲＡＭ２０の一方のポートからの読み出し出力、補助メモリ２２の読み出し出力、およびシングルポートＲＡＭ２６の読み出し出力の１つを選択することによって、前半処理用のデータ列の一方を出力する。セレクタ３２はデュアルポートＲＡＭ２０の一方のポートからの読み出し出力または補助メモリ２２の読み出し出力の１つを選択することによって、前半処理用のデータ列の他方を出力する。同様に、セレクタ３４はデュアルポートＲＡＭ２０の他方のポートからの読み出し出力、補助メモリ２４の読み出し出力、およびシングルポートＲＡＭ２８の読み出し出力の１つを選択することによって、後半処理用のデータ列の一方を出力する。セレクタ３６はデュアルポートＲＡＭ２０の他方の読み出し出力または補助メモリ２４の読み出し出力の１つを選択することによって、後半処理用のデータ列の他方を出力する。
【００１４】
図５は図４の回路の動作を説明するタイミングチャートである。（ａ）欄はシングルポートＲＡＭ２６に格納される小ブロックの番号を示し、（ｂ）欄はデュアルポートＲＡＭ２０の一方のポートから読み出される小ブロックの番号を示し、（ｃ）〜（ｆ）欄は補助メモリ２２の４つの小ブロックの格納領域への書き込み信号を表わし、（ｇ）欄は補助メモリ２２の４つの格納領域に格納される小ブロックの番号を示し、（ｈ）〜（ｋ）欄は４つの格納領域からの読み出し信号を表わし、（ｌ）欄は補助メモリ２２から読み出される小ブロックの番号を示し、（ｍ）欄はセレクタ３０から出力されるデータ列を示し、（ｎ）欄はセレクタ３２から出力されるデータ列を示す。図５には前半処理についての動作のみが示されているが、後半処理についても全く同じなので、図示および説明を省略する。
【００１５】
まず、シングルポートＲＡＭ２６にはデュアルポートＲＡＭ２０への小ブロックＢ1の書き込み時にシングルポートＲＡＭ２６への書き込みが行なわれ、小ブロックＢ1のデータが予め書き込まれている（（ａ）欄）。なお、前述したように、インターリーブまたはデインターリーブされる場合があるので、小ブロックＢ1のデータが必ずしも入力データの先頭にあるとは限らない。
【００１６】
デュアルポートＲＡＭ２０からの読み出し時にはまず小ブロックＢ3が読み出され（（ｂ）欄）、このとき、補助メモリ２２の最初の格納領域への書き込みが有効になっているので（（ｃ）欄）、書き込みが行なわれるとともに（（ｇ）欄）、セレクタ３０で選択されて一方のデータ列のデータとして出力される（（ｍ）欄）。次にデュアルポートＲＡＭ２０から小ブロックＢ2が読み出され（（ｂ）欄）、セレクタ３０で選択されて一方のデータ列のデータとして出力される（（ｍ）欄）。次に、小ブロックＢ5が読み出され（（ｂ）欄）、補助メモリ２２の２番目の格納領域への書き込みが行なわれるとともに（（ｄ）（ｇ）欄）、セレクタ３２で選択されて他方のデータ列のデータとして出力される（（ｎ）欄）。これと並列してセレクタ３０はシングルポートＲＡＭ２６の出力を選択し、一方のデータ列のデータとして小ブロックＢ1が出力される（（ｍ）欄）。次に、デュアルポートＲＡＭ２０から小ブロックＢ4が選択されてセレクタ３２で選択されて他方のデータ列のデータとして出力される（（ｎ）欄）。次に、デュアルポートＲＡＭ２０から小ブロックＢ7が読み出され（（ｂ）欄）、補助メモリ２２の３番目の格納領域へ書き込まれるとともに（（ｅ）（ｇ）欄）、セレクタ３０で選択されて、一方のデータ列のデータとして出力される（（ｍ）欄）。これと並列して、補助メモリ２２の１番目の格納領域からの読み出しが有効になるので（（ｈ）欄）、補助メモリ２２の１番目の格納領域から小ブロックＢ3が読み出され（（ｇ）欄）、セレクタ３２で選択されて他方のデータ列のデータとして出力される（（ｎ）欄）。この繰り返しにより、セレクタ２０，２２から、所望の２つのデータ列が出力される。
【００１７】
以上説明した実施形態では、ブロック全体の長さをＸワード、小ブロックの長さをＹワードとすると、前述の従来技術では２Ｘワードのメモリが必要であったのに対してＸ＋１０Ｙワードに削減される。例えば、Ｘ＝１１２８，Ｙ＝３２であれば、約４０％の削減となる。
【００１８】
小ブロックＢ1をシングルポートＲＡＭ２６，２８に書き込む代わりに、補助メモリ２２，２４に書き込んで必要時に読み出す構成とすれば、シングルポートＲＡＭ２６，２８は不要となり、必要メモリ量はＸ＋８Ｙワードとさらに削減される。
本発明のデータ列出力装置は例えば、無線受信機の復号部に用いられる。
【図面の簡単な説明】
【００１９】
【図１】ターボ復号の最尤復号の並列処理に必要なデータ列を説明する図である。
【図２】図１のデータ列を実現する第１の従来技術の図である。
【図３】第２の従来技術の図である。
【図４】本発明の一実施形態に係るデータ列出力装置の回路図である。
【図５】図４の回路の動作を説明するタイミングチャートである。
【図１】
2008054043.tif 000003
【図２】
2008054043.tif 000004
【図３】
2008054043.tif 000005
【図４】
2008054043.tif 000006
【図５】
2008054043.tif 000007