(57)【特許請求の範囲】
【請求項１】
Ｇａｐ区間長を表す少なくとも１つの情報に基づき少なくとも１つのテ−ブルを作成するテ−ブル作成手段と、前記テ−ブル作成手段で作成されたテ−ブルに基づいて少なくとも１つの入出力アドレスポインタテーブルを生成するアドレス生成手段と、インタリ−ブ前のデ−タを格納する第１の記憶手段と、インタリ−ブ後のデ−タを記憶する第２の記憶手段と、前記アドレス生成手段より通知されたアドレスポインタテーブルに基づいて前記第１の記憶手段に記憶されているデ−タを前記第２の記憶手段に転送する第１の転送手段と、を具備することを特徴とするインタリーブ装置。
【請求項２】
作成された入力アドレスポインタテーブルと出力アドレスポインタテーブルを入れ替えた１つ以上の入出力アドレスポインタテーブルを用いて、第１の記憶装置に記憶されているデータを第２の記憶装置に転送する第２の転送手段を具備することを特徴とする請求項１記載のインタリーブ装置。
【請求項３】
切り替え信号を発生する信号発生手段と、前記切り替え信号に応じてテ−ブル作成手段で作成された少なくとも１つのテ−ブルを第１の転送手段あるいは第２の転送手段に通知する通知手段と、を具備することを特徴とする請求項２記載のインタリーブ装置。
【請求項４】
請求項１から請求項３のいずれかに記載のインタリーブ装置を具備することを特徴とする基地局装置。
【請求項５】
請求項１から請求項３のいずれかに記載のインタリーブ装置を具備することを特徴とする携帯端末装置。
【請求項６】
Ｇａｐ区間長を表す少なくとも１つの情報に基づき少なくとも１つのテ−ブルを作成する工程と、作成されたテ−ブルに基づいて少なくとも１つの入出力アドレスポインタテーブルを生成する工程と、生成されたアドレスポインタテーブルに基づいてインタリ−ブ前のデ−タを格納するメモリからインタリ−ブ後のデ−タを記憶するメモリにデ−タを転送する工程と、を具備することを特徴とするインタリーブ方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、無線通信の誤り訂正処理におけるインタリ−ブ装置及びインタリーブ方法に関する。
【０００２】
【従来の技術】
マルチパス環境下において発生するバ−スト誤りをランダム誤りに変換する誤り訂正技術として、インタリ−ブが知られている。
【０００３】
インタリ−ブとは、デ−タの順序を入れ替える処理であり、通常、送信側と受信側で対になって用いられる。具体的には、送信側において順序を入れ替えられたデ−タを、受信側において、送信側で並び替えた順序が元に戻るように、並び替える。これら一対のインタリ−ブ処理において、伝播路において発生したバ−スト誤りをランダム誤りに変換することができ、誤り訂正復号の効果を高めることができる。
【０００４】
第３世代移動体通信方式においては、規格書「ＴＳ２５．２１２  Ｖｅｒ.３．５．０．  ４．２．５．」に、インタリ−ブの方法が開示されている。ここで開示されているインタリ−ブは、１つのトランスポ−トチャネルを対象としたインタリ−ブであり、１ｓｔインタリ−ブと呼ばれる。
【０００５】
１ｓｔインタリ−ブ（以下、インタリ−ブと表記する）は、トランスポ−トチャネルごとに予め設定されたＴＴＩ（Ｔｒａｎｓｍｉｔｔｅｒ  Ｔｉｍｅ  Ｉｎｔｅｒｖａｌ）によって、並べ替えパタ−ンが決まるインタリ−ブ処理である。
【０００６】
また、前記規格書には、Ｃｏｍｐｒｅｓｓｅｄ  Ｍｏｄｅ時におけるインタリ−ブ方法も開示されている。Ｃｏｍｐｒｅｓｓｅｄ  Ｍｏｄｅとは、他のシステム（異周波）にハンドオーバする際に、ハンドオーバ先の周波数帯の受信環境を測定するために発生するイベントである。前記イベントは、通常設定されている周波数帯を、一時的に、または、周期的に他のシステムの周波数帯に変更し、指定時間経過した後に、元の周波数帯に再変更することで達成される。このとき、他の周波数帯に移行している時間帯をＧａｐという。
【０００７】
Ｇａｐ中においては、Ｇａｐの区間だけ、元の周波数帯に係るデ−タの送受信が行われない状態が続く。従って、Ｃｏｍｐｒｅｓｓｅｄ  Ｍｏｄｅ中においては、通常よりもデ−タの長さが短くなるので、処理が若干異なる。
【０００８】
前記インタリ−ブは、Ｃｏｍｐｒｅｓｓｅｄ  Ｍｏｄｅであって、Ｂｙ  Ｐｕｎｃｔｕｒｅモ−ドが指定された場合、通常のインタリ−ブ処理と異なる。ＢｙＰｕｎｃｔｕｒｅモードとは、インタリ−ブする前に行われるＲａｔｅＭａｔｃｈ処理において、デ−タを削除する、すなわちＰｕｎｃｔuｒｅすることによって、デ−タの長さを調節することを指す。
【０００９】
Ｃｏｍｐｒｅｓｓｅｄ  Ｍｏｄｅ  Ｂｙ  Ｐｕｎｃｔｕｒｅ時におけるインタリ−ブ処理は、前記規格書に開示されている。Ｃｏｍｐｒｅｓｓｅｄ  ＭｏｄｅＢｙ  Ｐｕｎｃｔｕｒｅ時においては、まず、後述するＰビットをインタリ−ブ前のデ−タに挿入し、次いで、通常のインタリ−ブ処理を行い、さらに、前記Ｐビットを削除することによって、短いデ−タ長のインタリ−ブ処理を実現することができる。ここで、送信側のインタリ−ブ処理において、Ｐビットを削除する前のインタリ−ブ後の各フレ−ムに係るデ−タ群は、先頭からＰビットが連続して存在している。言い換えると、インタリ−ブ処理後のデ−タにおいて、Ｐビットが先頭から連続して存在するように、インタリ−ブ前のデ−タに対しＰビットを挿入しなければならない、といった複雑な処理が必要となる。また、受信側のインタリ−ブ処理においては、Ｐビットを挿入してインタリ−ブ処理を行い、その後、Ｐビットを検索して、インタリ−ブ後のデ−タから削除しなければならず、送信側と同様に、非常に複雑な処理を要する。以下、図面を用いて、送信側のインタリ−ブ処理の動作について説明する。
【００１０】
図５は、Ｃｏｍｐｒｅｓｓｅｄ  Ｍｏｄｅ  Ｂｙ  Ｐｕｎｃｔｕｒｅ時のインタリ−ブ装置を示すブロック図である。図５においては、まず、ＣＰＵ１１が、Ｐビット位置決定部１２に対し、各フレ−ムのＧａｐの長さから計算されるＰビットの個数を通知する。ここで、Ｐビットの個数とは、そのフレ−ムのＧａｐに係るビット数を指す。次いで、Ｐビット位置決定部１２は、インタリ−ブされた後の各フレ−ムの先頭にＰビットが連続して存在するには、インタリ−ブ前のデ−タのどの位置に挿入すべきかを、前記規格書に開示されている計算方法により決定し、Ｐビット挿入部１４に通知する。さらに、Ｐビット位置決定部１２は、インタリ−ブされた後の各フレ−ムのデ−タに含まれるＰビットの個数を、Ｐビット削除部１８に通知する。次いで、Ｐビット挿入部１４は、インタリ−ブ前のデ−タが記憶されているメモリ１３よりデ−タを読みこんで、メモリ１５に順にデ−タを書きこむ。このとき、前記通知されたＰビットの位置においては、Ｐビットを挿入する。次いで、インタリ−ブ部１６は、Ｐビットが付加されたインタリ−ブ前のデ−タに対し、通常のインタリ−ブ処理を施して、メモリ１７に書きこむ。次いで、Ｐビット削除部１８は、前記インタリ−ブされたデ−タが格納されているメモリ１７からデ−タを読み込んで、前記通知された削除すべきＰビットに係るデ−タを除き、メモリ１９に書きこむ。
【００１１】
これらの方法により、Ｃｏｍｐｒｅｓｓｅｄ  Ｍｏｄｅ  Ｂｙ  Ｐｕｎｃｔｕｒｅの際にもインタリ−ブ処理を実現することができる。
【００１２】
【発明が解決しようとする課題】
従来の技術においては、（１）計算によって求められた位置にＰビットを挿入する、（２）挿入されたＰビットを含むデ−タ列に対してインタリ−ブ処理する、（３）Ｐビットを削除する、という３段階の処理を行っていたため、メモリアクセス回数が頻繁に発生し、処理量が膨大になるといった問題があった。例えば、デ−タ数が１００００ビットであった場合、インタリ−ブ処理に必要な総メモリアクセス回数は、６００００（１００００＊６）回となってしまい、携帯端末装置の使用時間が大幅に削減されてしまう。
【００１３】
本発明はかかる点に鑑みてなされたものであり、Ｐビットの挿入/削除処理を行わず、Ｐビット数から導出されるテ−ブルを用いてメモリのアドレス制御を行うことによって、メモリアクセス回数を低減したインタリーブ装置およびインタリーブ方法を提供することを目的とする。
【００１４】
【課題を解決するための手段】
本発明のインタリーブ装置は、Ｇａｐ区間長を表す少なくとも１つの情報に基づき少なくとも１つのテ−ブルを作成するテ−ブル作成手段と、前記テ−ブル作成手段で作成されたテ−ブルに基づいて少なくとも１つの入出力アドレスポインタテーブルを生成するアドレス生成手段と、インタリ−ブ前のデ−タを格納する第１の記憶手段と、インタリ−ブ後のデ−タを記憶する第２の記憶手段と、前記アドレス生成手段より通知されたアドレスポインタテーブルに基づいて前記第１の記憶手段に記憶されているデ−タを前記第２の記憶手段に転送する第１の転送手段と、を具備する構成を採る。
【００１５】
この構成によれば、読み込む時と、書きこむときの２回のメモリアクセスのみで、Ｃｏｍｐｒｅｓｓｅｄ  Ｍｏｄｅ  Ｂｙ  Ｐｕｎｃｔｕｒｅ時のインタリ−ブ処理を実現することが可能なため、低処理量なインタリ−ブ処理を実現することができる。
【００１６】
本発明のインタリーブ装置は、作成された入力アドレスポインタテーブルと出力アドレスポインタテーブルを入れ替えた１つ以上の入出力アドレスポインタテーブルを用いて、第１の記憶装置に記憶されているデータを第２の記憶装置に転送する第２の転送手段を具備する構成を採る。
【００１７】
この構成によれば、インタリーブ処理用に作成されたアドレスポインタテーブルを利用してデインタリーブ処理を行うことができるので、小型なインタリーブ装置を実現することができる。
【００１８】
本発明のインタリーブ装置は、切り替え信号を発生する信号発生手段と、前記切り替え信号に応じてテ−ブル作成手段で作成された少なくとも１つのテ−ブルを第１の転送手段あるいは第２の転送手段に通知する通知手段と、を具備する構成を採る。
【００１９】
この構成によれば、インタリーブ処理、デインタリーブ処理を、１つのアドレス生成部で実現することができるので、小型なインタリーブ装置を実現することができる。
【００２０】
本発明の基地局装置は、上記いずれかのインタリーブ装置を具備する構成を採る。また、本発明の携帯端末装置は、上記いずれかのインタリーブ装置を具備する構成を採る。
【００２１】
この構成によれば、低処理量なインタリ−ブ処理を実現することができるので、消費電力の低減を図ることができる。
【００２２】
本発明のインタリーブ方法は、Ｇａｐ区間長を表す少なくとも１つの情報に基づき少なくとも１つのテ−ブルを作成する工程と、作成されたテ−ブルに基づいて少なくとも１つの入出力アドレスポインタテーブルを生成する工程と、生成されたアドレスポインタテーブルに基づいてインタリ−ブ前のデ−タを格納するメモリからインタリ−ブ後のデ−タを記憶するメモリにデ−タを転送する工程と、を具備する方法を採る。
【００２３】
この方法によれば、読み込む時と、書きこむときの２回のメモリアクセスのみで、Ｃｏｍｐｒｅｓｓｅｄ  Ｍｏｄｅ  Ｂｙ  Ｐｕｎｃｔｕｒｅ時のインタリ−ブ処理を実現することが可能なため、低処理量なインタリ−ブ処理を実現することができる。
【００２４】
【発明の実施の形態】
本発明の骨子は、Ｐビットの個数に基づいて作成されたテ−ブルを用いてメモリアクセス順序を制御することで、Ｃｏｍｐｒｅｓｓｅｄ  Ｍｏｄｅ  Ｂｙ  Ｐｕｎｃｔｕｒｅ時であっても、低処理量なインタリ−ブ装置を提供することにある。
【００２５】
以下、本発明の実施の形態について、添付図面を参照して詳細に説明する。なお、以下の説明において、アルファベットと括弧で表現する配列のアドレスは、特に示した場合を除き、０からカウントするものとする。
【００２６】
（実施の形態１）
図１は、本発明の実施の形態１に係るインタリ−ブ装置の構成を示すブロック図である。
【００２７】
図１に示すインタリ−ブ装置は、例えば、ＣＤＭＡ（Ｃｏｄｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ）方式の携帯端末、基地局等の装置に搭載されるものである。
【００２８】
図１において、ＣＰＵ１０１は、ＴＴＩ長と、１フレ−ムあたりのビット数と、各フレ−ムのＰビット数をテ−ブル作成部１０２に通知する。次いで、テ−ブル作成部１０２は、通知された情報に基づき、後述するテ−ブル作成アルゴリズムを用いて４つのテ−ブルを作成し、アドレス生成部１０３に通知する。
【００２９】
次いで、アドレス生成部１０３は、通知された４つのテ−ブルに基づき、後述のアドレス生成アルゴリズムを用いて、１Ｃｏｌｕｍｎ分のインタリ−ブ処理に係る入出力アドレスポインタ、及び転送ビット数を生成し、転送部１０５に通知する。次いで、転送部１０５は、通知された入出力アドレスポインタに基づき、インタリ−ブ前のデ−タが記憶されているメモリ１０４から該当デ−タを読み、さらに、インタリ−ブ後のデ−タを記憶するメモリ１０６の該当アドレスに書きこむ。次いで、転送部１０５は、１Ｃｏｌｕｍｎ分のインタリ−ブ処理が終了したことをアドレス生成部１０３に通知する。次いで、アドレス生成部１０３は、次の列に係る入出力アドレスポインタ、転送ビット数を更新し、次のＣｏｌｕｍｎに係るアドレスを生成して、転送部１０５に通知する。
【００３０】
前述の処理をＣＰＵ１０１より通知されたＴＴＩ長分だけ繰り返すことでインタリ−ブ処理が達成される。ここで、Ｃｏｌｕｍｎとは、各フレ−ムにおけるデ−タ群を指す。
【００３１】
ここで、テ−ブル作成アルゴリズム、アドレス生成アルゴリズムについて、図を用いて詳細に説明する。
【００３２】
図２は、テ−ブル作成アルゴリズムのフロ−を示す図である。まず、ステップ（以下「ＳＴ」と省略する）２０１において、テ−ブル作成部１０２は、ＣＰＵ１０１から通知された、ＴＴＩ長、１フレ−ム当たりのビット数、各フレ−ムのＰビットの個数を認識する。ここで、ＴＴＩ長とは、フレ−ム数を指している。
【００３３】
次いで、ＳＴ２０２において、前記フレ−ム数分、各フレ−ムのＰビットの個数を除いたビット数を求めＴａｂｌｅＡに書き込む。さらに、ＴａｂｌｅＡの各要素を大きい順に並べかえ、ＴａｂｌｅＢに書き込む。
【００３４】
次いで、ＳＴ２０３において、以下の式に従って、ＴａｂｌｅＡからＴａｂｌｅ３を作成する。
【数１】
0003854882.tif 000002
上記において、ＴａｂｌｅＡ［ｎ］とはＴａｂｌｅＡにおけるｎ番目の数値であり、また、Ｔａｂｌｅ３［ｎ］とは、Ｔａｂｌｅ３のｎ番目の数値である。以下、Ｔａｂｌｅを表現する場合、同様の表記を行う。また、ｎは、０〜ＴＴＩ長−１の値を採る変数である。また、Ｔａｂｌｅ３［０］は０、ＴａｂｌｅＡ［−１］は０とする。
【００３５】
次いで、ＳＴ２０４において、ＴＴＩ長によって決まるＦｒａｍｅＮｏ．とＣｏｌｕｍｎＮｏ．の関係から、ＴａｂｌｅＢにおける各要素に対応するＣｏｌｕｍｎＮｏ．を、Ｔａｂｌｅ１として作成する。同様に、ＴａｂｌｅＡにおける各要素に対応するＦｒａｍｅＮｏ．をＴａｂｌｅ２として作成する。ＦｒａｍｅＮｏ．、及びＣｏｌｕｍｎＮｏ．は、０から前記ＴＴＩ長−１までの値をとる。また、ＦｒａｍｅＮｏ．とＣｏｌｕｍｎＮｏ．の関係は、前記規格書に記載されている通り、前記ＴＴＩ長で決まるパタ−ンである。
【００３６】
次いで、ＳＴ２０５において、以下の式に従って、ＴａｂｌｅＢからＴａｂｌｅ４を作成する。
【００３７】
Ｔａｂｌｅ４［ｎ］＝ＴａｂｌｅＢ［ｎ］−ＴａｂｌｅＢ［ｎ＋１］
ここで、ＴａｂｌｅＢ［ＴＴＩ］は０とする。
【００３８】
最後に、ＳＴ２０６において、作成したＴａｂｌｅ１からＴａｂｌｅ４を、アドレス生成部１０３に通知する。
【００３９】
次に、アドレス作成アルゴリズム、及びインタリ−ブ処理の一連の処理について、図面を用いて説明する。
【００４０】
図３は、アドレス作成アルゴリズムのフロ−を示す図である。図３において、ＳＴ３０１は、テ−ブル作成部１０２から通知された４つのテ−ブルを読み込む。次いで、ＳＴ３０２は、インタリ−ブ処理におけるＲｅａｄポインタ（以下、ｒｐと表記する）を０に初期化する。次いで、ＣｏｌｕｍｎＣｔ（１〜ＴＴＩ長）に従って、ＳＴ３０３からＳＴ３１０までのル−プ処理を行う。
【００４１】
まず、ＳＴ３０４において、Ｔａｂｌｅ１からＣｏｌｕｍｎＣｔ分読み出す。さらに、前記読み出した各値をポインタとしてＴａｂｌｅ２を読む。さらに、前記Ｔａｂｌｅ２から読み出した値が小さい順となるように、前記Ｔａｂｌｅ１から読み出した値を並べ替えて、ＴａｂｌｅＣに書き込む。
【００４２】
次いで、ＳＴ３０５において、ＴａｂｌｅＣからＣｏｌｕｍｎＣｔ分読み出す。さらに、前記読み出した各値をポインタとしてＴａｂｌｅ３を読み、Ｗｒｉｔｅポインタテーブル（以下、ｗｐＴと表記する）に書き込み、転送部１０５に通知する。
【００４３】
次いで、ＳＴ３０６において、ＴａｂｌｅＣの値をポインタとしてＴａｂｌｅ４を読み、各Ｃｏｌｕｍｎ当たりの転送ビット数として、転送部１０５に通知する。
【００４４】
次いで、ＳＴ３０７において、ｗｐＴ、ｒｐ及びＣｏｌｕｍｎＣｔを通知する。
【００４５】
次いで、ＳＴ３０８においては、アドレス生成部１０３より通知されたｗｐＴ、ｒｐ、及び、各Ｃｏｌｕｍｎ当たりの転送ビット数（以下、Ｘと表記する）を用いて、転送部１０５がインタリ−ブ処理を行う。具体的には、以下の式に従って、メモリ１０４からメモリ１０６へデ−タを転送する。
【００４６】
Ｍｅｍ１［ｗｐＴ［ｋ％ＣｏｌｕｍｎＣｔ］
＋Ｆｌｏｏｒ［ｋ／ＣｏｌｕｍｎＣｔ］]＝Ｍｅｍ０［ｒｐ＋ｋ］ここで、Ｍｅｍ０とはメモリ１０４を指し、Ｍｅｍ１とはメモリ１０６を指す。また、Ｍｅｍ０［Ｐ］とは、メモリ１０４におけるアドレスＰに格納されているデ−タを指す。また、ｋは、０〜ＣｏｌｕｍｎＣｔ＊Ｘ−１、の範囲の変数である。また、Ｆｌｏｏｒ［Ｎ］とは、Ｎを超えない最大の整数を指す。また、Ｍ％Ｎとは、ＭをＮで割った余りを指す。ＣｏｌｕｍｎＣｔは、１〜ＴＴＩの値を採るので、前記Ｎが０となることはない。
【００４７】
次いで、ＳＴ３０９は、Ｔａｂｌｅ４の値を用いて、以下の式に従って、ｗｐＴとｒｐを更新する。
【００４８】
ｗｐＴ［ＴａｂｌｅＣ［ｈ］］＝ｗｐＴ［ＴａｂｌｅＣ［ｈ］］＋Ｘ
ｒｐ＝ｒｐ＋Ｘ＊ＣｏｌｕｍｎＣｔ
ここで、ｈは、０からＣｏｌｕｍｎＣｔ−１までの値を採る変数である。
【００４９】
次いで、転送部１０５から転送終了フラグを受け取った後、アドレス生成部は、ＣｏｌｕｍｎＣｔに１を加え、ＳＴ３０３〜ＳＴ３１０の処理を再び行う。
【００５０】
以上のＳＴ３０３〜ＳＴ３１０の処理をＴＴＩ回繰り返し、処理を終了する。
【００５１】
ここで、以下の例を用いて、本発明のインタリ−ブ装置の処理の流れについて説明する。
【００５２】
例：ＴＴＩ長＝８（ＴＴＩ＝８０ｍｓ）、１フレ−ムあたりのビット数＝５０
各フレ−ムのＰビットの個数：
｛１０、２７、４、２５、３３、４１、１６、０｝
この例においては、ＴＴＩ長＝８なので、ＦｒａｍｅＮｏ．とＣｏｌｕｍｎＮｏ．の関係は、前記規格書に記載されている通り、以下のようになる。
【００５３】
ＦｒａｍｅＮｏ．  ＝｛０、１、２、３、４、５、６、７｝
ＣｏｌｕｍｎＮｏ．＝｛０、４、２、６、１、３、５、７｝
上記において、上段のＦｒａｍｅＮｏ．の数値が、下段のＣｏｌｕｍｎＮｏ．の数値に対応する。例えば、ＦｒａｍｅＮｏ．４に対応するＣｏｌｕｍｎＮｏ．は１となる。
【００５４】
まず、上記ＴＴＩ長等の情報を、ＣＰＵ１０１がテーブル作成部１０２に通知する。次いで、テーブル作成部１０２は、図２に示したテーブル作成フローに従って４つのテーブルを作成して、アドレス生成部１０３に通知する。
【００５５】
ここで、前記例の場合に作成される４つのテーブル作成について以下に示す。まず、１フレームの当たりのビット数から、各フレームのＰビット数を引いた値を求め、ＴａｂｌｅＡを求め、さらに、ＴａｂｌｅＡの各要素を大きい順に並び替えたＴａｂｌｅＢを求めると、以下のようになる。
【００５６】
ＴａｂｌｅＡ＝｛４０、２３、４６、２５、１７、９、３５、５０｝
ＴａｂｌｅＢ＝｛５０、４６、４０、３５、２５、２３、１７、９｝
次いで、ＴａｂｌｅＢの各要素に係るＣｏｌｕｍｎＮｏ．をＴａｂｌｅ１に、ＦｒａｍｅＮｏ．をＴａｂｌｅ２に書き込むと、以下のようになる。
【００５７】
Ｔａｂｌｅ１＝｛７、２、０、３、６、４、１、５｝
Ｔａｂｌｅ２＝｛７、２、０、６、３、１、４、５｝
次いで、前述の式を用いて、ＴａｂｌｅＡからＴａｂｌｅ３を作成すると、以下のようになる。
【００５８】
Ｔａｂｌｅ３＝｛０、４０、６３、１０９、１３４、１５１、１６０、１９５｝
次いで、前述の式を用いて、ＴａｂｌｅＢからＴａｂｌｅ４を作成すると、以下のようになる。
【００５９】
Ｔａｂｌｅ４＝｛４、６、５、１０、２、６、８、９｝
次に、アドレス生成部１０３は、テーブル作成部１０２から通知された前記４つのテーブルを用いて、アドレスを生成する。
【００６０】
アドレスの生成は、図３のアドレス生成フローに基づいて行われる。まず、書込みポインタｒｐを０に初期化した後、以下に記載する処理（ＳＴ３０３〜ＳＴ３０８）がＴＴＩ回繰り返される。
【００６１】
まず、ＣｏｌｕｍｎＣｔが「１」の場合について説明する。Ｔａｂｌｅ１の配列からＣｏｌｕｍｎＣｔ分読み出す。ここでは、ＣｏｌｕｍｎＣｔは１なので、Ｔａｂｌｅ１の配列のＣｏｌｕｍｎ−１を、即ち０番目のみを読み出し、「７」という数値を得、ＴａｂｌｅＣに格納する。この時、取得した値全てについて、ＣｏｌｕｍｎＮｏ．の小さい順に並べ替えを行うが、取得する値が１つのみなので、今回は行わない。前記数値「７」はＣｏｌｕｍｎＮｏ．を意味する。ＣｏｌｕｍｎＮｏ．７はＦｒａｍｅＮｏ．７に対応するので、Ｔａｂｌｅ３の配列の７番目を読み出し、「１９５」という数値を取得し、ｗｐＴの０番目に設定する。
【００６２】
次いで、転送個数を取得するためにＴａｂｌｅ４の配列の０番を読み出し、「４」を取得する。
【００６３】
次いで、ｒｐ＝０、ｗｐＴ＝１９５，および前記転送個数＝４を転送部１０５に通知する。次いで、転送部１０５は、通知されたテーブル等を用いて、１Ｃｏｌｕｍｎ分のデ−タの転送処理を行う。
【００６４】
転送が終了したら、次の転送に向けてＴａｂｌｅ３とｒｐの値を更新する。今転送を行ったのはＦｒａｍｅＮｏ．７の４個なので、次の転送のときにはＦｒａｍｅＮｏ．７の４個分は出力済みなので、４個先から転送開始する。よって、Ｔａｂｌｅ３の配列の７番目の値に「４」足した値「１９９」（＝１９５＋４）を再設定する。ｒｐには、「４」を足した値「４」（＝０＋４*１）を再設定する。
【００６５】
次いで、転送部１０５から、インタリーブ処理終了フラグが通知された後、ＣｏｌｕｍｎＣｔに「１」を加えて同様の処理を行う。
【００６６】
次いで、ＣｏｌｕｍｎＣｔ＝２の場合について説明する。まず、Ｔａｂｌｅ１の配列の０番と１番を読み出し、「７」と「２」を得る。前記２つの数値に係るＣｏｌｕｍｎＮｏ．の小さい数値のほうを配列の０番目に、大きい数値のほうを配列の１番目として、そのＣｏｌｕｍｎＮｏ．の指すＦｒａｍｅＮｏ．の数値を入れてＴａｂｌｅＣを作る。すなわち、ＣｏｌｕｍｎＮｏ．７、２に対応するのはそれぞれ、ＦｒａｍｅＮｏ．７、ＦｒａｍｅＮｏ．２であるので、ＴａｂｌｅＣの０番目に「２」、１番目に「７」が入る。
【００６７】
次いで、ＴａｂｌｅＣの０番目を読み出すと「２」が得られる。よってＴａｂｌｅ３の２番目を読み出し、「６３」という数値を取得し、ｗｐＴの０番目に設定する。次いで、転送ビット数を取得するために、Ｔａｂｌｅ４の配列の１番目を読み出し、「６」を取得する。
【００６８】
次いで、ＴａｂｌｅＣの配列の１番目を読み出すと「７」が得られる。よってＴａｂｌｅ３の配列の７番を読み出し、「１９９」という数値を取得し、ｗｐＴの１番目に設定する。従って、ＣｏｌｕｍｎＣｔ＝２の時のｗｐＴは、｛６３、１９９｝となる。
【００６９】
次いで、ｒｐ＝４、ｗｐＴ＝｛６３、１９９｝、転送ビット数＝６、ＣｏｌｕｍｎＣｔを、転送部１０５に通知する。
【００７０】
次いで、次の転送に向けてＴａｂｌｅ３とｒｐの値を更新する。今転送を行ったのはＦｒａｍｅＮｏ．２とＦｒａｍｅＮｏ．７の６個なので、次の転送のときにはＦｒａｍｅＮｏ．２は６個分出力済みなので、６個先から転送を開始する。同様にＦｒａｍｅＮｏ．７も６個先から転送開始する。よってＴａｂｌｅ３の配列の２番の値に「６」足した値「６９」（＝６３＋６）を再設定し、配列の７番「２０５」（＝１９９＋６）を再設定する。ｒｐの更新は、今回転送したＣｏｌｕｍｎ数は２なので、「１２」を足した値「１６」（＝４＋６*２）とする。
【００７１】
次いで、ＣｏｌｕｍｎＣｔ＝３の場合について説明する。
【００７２】
まず、Ｔａｂｌｅ１の配列の０番目と１番目と２番目を読み出すと、「７」と「２」と「０」が得られる。前記３つの数値に係るＣｏｌｕｍｎＮｏ．の小さい数値の順にソートして、前記数値に係るＣｏｌｕｍｎＮｏ．の指すＦｒａｍｅＮｏ．の数値を入れて配列ＴａｂｌｅＣを作る。すなわち、ＣｏｌｕｍｎＮｏ．７はＦｒａｍｅＮｏ．７、ＣｏｌｕｍｎＮｏ．２はＦｒａｍｅＮｏ．２、ＣｏｌｕｍｎＮｏ．０はＦｒａｍｅＮｏ．０であるので、配列０番に０、配列１番に２、配列２番に７が入る。
【００７３】
次いで、ＴａｂｌｅＣの配列の０番目を読み出して、「０」が得られ、Ｔａｂｌｅ３の配列の０番目を読み出し、「０」という数値を取得し、ｗｐＴの０番地に設定する。
【００７４】
次いで、転送ビット数を取得するために、Ｔａｂｌｅ４の配列の２番目を読み出し、「５」を取得する。
【００７５】
次いで、ＴａｂｌｅＣの配列の１番目を読み出すと２が得られ、Ｔａｂｌｅ３の配列の２番目を読み出し、「６９」という数値を取得し、ｗｐＴの1番目に設定する。
【００７６】
同様に、ｗｐＴの2番目に設定すべき値を求め、最終的なｗｐＴは、｛０、６９、２０５｝となる。
【００７７】
次いで、次の転送に向けてＴａｂｌｅ３とｒｐの値を更新する。今転送を行ったのはＦｒａｍｅＮｏ．０とＦｒａｍｅＮｏ．２とＦｒａｍｅＮｏ．７の５個なので、次の転送のときにはＦｒａｍｅＮｏ．０は５個分出力済みなので、５個先から転送を開始する。同様にＦｒａｍｅＮｏ．２もＦｒａｍｅＮｏ．７も５個先から転送開始する。よってＴａｂｌｅ３の配列の０番の値に「５」足した値「５」（＝０＋５）を再設定し、配列の２番に「７４」（＝６９＋５）を再設定し、配列の７番に「２１０」（＝２０５＋５）を再設定する。ｒｐの更新は、転送数５の３Ｃｏｌｕｍｎ分なので、「１５」を足した値「３１」（＝１６＋５*３）を再設定する。
【００７８】
以下、ＣｏｌｕｍｎＣｔ＝４から８までを、上記と同様に行うことで、インタリーブ処理が完了する。
【００７９】
上記の方法で入出力アドレスポインタと転送数の管理を行いつつデ−タ転送を行うことで、少ない処理量のまま、Ｃｏｍｐｒｅｓｓｅｄ  Ｍｏｄｅ  Ｂｙ  Ｐｕｎｃｔｕｒｅのインタ−リ−ブ処理を行うことができる。
【００８０】
（実施の形態２）
図４は、本発明の実施の形態２に係るインタリ−ブ装置の構成を示すブロック図である。なお、図４において図１と同じ部分については図１と同じ符号を付してその詳細な説明は省略する。
【００８１】
図４に示すインタリ−ブ装置は、例えば、ＣＤＭＡ（Ｃｏｄｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ）方式の携帯端末、基地局等の装置に搭載されるものである。
【００８２】
図４において、ＣＰＵ１０１は、ＴＴＩ長と、１フレ−ムあたりのビット数と、各フレ−ムのＰビット数をテ−ブル作成部１０２に通知する。次いで、テ−ブル作成部１０２は、通知された情報に基づき、後述するテ−ブル作成アルゴリズムを用いて４つのテ−ブルを作成し、アドレス生成部１０３に通知する。
【００８３】
次いで、アドレス生成部１０３は、通知された４つのテ−ブルに基づき、前述したアドレス生成アルゴリズム（図２参照）を用いて、１Ｃｏｌｕｍｎ分のインタリ−ブ処理に係る入出力アドレスポインタ、及び転送ビット数を生成する。
【００８４】
次いで、ＣＰＵ１０１から通知される、インタリーブ処理、もしくはデインタリーブ処理かを選択する信号により、セレクタ４０１は、前記入出力アドレスポインタ、及び転送ビット数を、転送部１０５もしくは転送部４０２のいずれかに通知する。
【００８５】
ここで、デインタリーブ処理とは、インタリーブ処理の逆処理を指す。具体的には、インタリーブ処理で並び替えられたデータを、元の順序に並び直す処理である。
【００８６】
次いで、転送部１０５もしくは転送部４０２は、通知された入出力アドレスポインタに基づき、インタリ−ブ前／デインタリーブ前のデ−タが記憶されているメモリ１０４から該当デ−タを読み、さらに、インタリ−ブ後／デインタリーブ後のデ−タを記憶するメモリ１０６の該当アドレスに書きこむ。次いで、転送部１０５／転送部４０２は、１Ｃｏｌｕｍｎ分のインタリ−ブ処理が終了したことをアドレス生成部１０３に通知する。次いで、アドレス生成部１０３は、次の列に係る入出力アドレスポインタ、転送ビット数を更新し、次のＣｏｌｕｍｎに係るアドレスを生成して、転送部１０５／転送部４０２に通知する。
【００８７】
また、上記説明において、インタリーブ処理とデインタリーブ処理における使用メモリをメモリ１０４とメモリ１０６としたが、インタリーブ処理とデインタリーブ処理で別個のメモリを用いてもよい。
【００８８】
実施の形態２に係るデインタリーブ処理は、アドレス生成部１０３において、インタリーブ処理用に作成されたポインタの入出力関係を逆に採ることで、デインタリーブ処理を実現することができる。以下、詳細に説明する。
【００８９】
転送部４０２は、セレクタ４０１を介して、アドレス生成部１０３から入出力アドレスポインタ、及び処理ビット数を通知される。
【００９０】
この時、前記入出力アドレスポインタとは、インタリーブ処理においての入出力であるので、入出力関係を逆に採る必要がある。
【００９１】
すなわち、通知された情報である入力ポインタをｒｐ、出力ポインタをｗｐＴ、処理ビット数をＸとすると、デインタリーブ処理は、以下の式で実現される。
【００９２】
0003854882.tif 000003
ここで、Ｍｅｍ０とはメモリ１０４を指し、Ｍｅｍ１とはメモリ１０６を指す。また、Ｍｅｍ０［Ｐ］とは、メモリ１０４におけるアドレスＰに格納されているデ−タを指す。また、ｋは、０〜ＣｏｌｕｍｎＣｔ＊Ｘ−１、の範囲の変数である。また、Ｆｌｏｏｒ［Ｎ］とは、Ｎを超えない最大の整数を指す。また、Ｍ％Ｎとは、ＭをＮで割った余りを指す。ＣｏｌｕｍｎＣｔは、１〜ＴＴＩの値を採るので、前記Ｎが０となることはない。
【００９３】
上記式は、メモリ０（Ｍｅｍ０）からメモリ（Ｍｅｍ１）へ転送する際の、アドレス制御を表したものである。
【００９４】
また、インタリーブ処理の際のアドレス制御式と比べると、入出力メモリのアドレスを表す式が、Ｍｅｍ０とＭｅｍ１が交換された形となっていることが分かる。
【００９５】
以上に述べたように、ＣＰＵ１０１によって、転送部１０５と転送部４０２を適宜選択することにより、同一のアドレス生成部１０３を用いてインタリーブ処理とデインタリーブ処理を実現することができる。
【００９６】
【発明の効果】
以上説明したように、本発明のインタリ−ブ装置は、Ｃｏｍｐｒｅｓｓｅｄ  Ｍｏｄｅ  Ｂｙ  Ｐｕｎｃｔｕｒｅ時においても、Ｐビットの挿入、削除に係る処理を行うことを必要としないため、メモリのアクセス回数を通常のインタリ−ブ処理と同等とすることができる。
【００９７】
例えば、デ−タ数が１００００ビットであった場合、インタリ−ブ処理に必要な総メモリアクセス回数は、前述したアクセス回数（６００００回）の１／３の２００００（１００００＊２）回であり、消費電力を著しく低減することができる。
【００９８】
また、本発明のインタリ−ブ装置は、Ｐビットをデ−タとして取り扱うことがないため、送信側のインタリ−ブ処理と、受信側のデインタリーブ処理を同一化することが可能となるので、適宜使い分けることによって、装置の小型化が可能となる。
【図面の簡単な説明】
【図１】本発明の実施の形態１に係るインタリ−ブ装置の構成を示すブロック図
【図２】本発明の実施の形態１のテ−ブル作成アルゴリズムのフロ−を示す図
【図３】本発明の実施の形態１のアドレス生成アルゴリズムのフロ−を示す図
【図４】本発明の実施の形態２係るインタリーブ装置の構成を示すブロック図
【図５】従来のインタリ−ブ装置を示すブロック図
【符号の説明】
１０１  ＣＰＵ
１０２  テ−ブル作成部
１０３  アドレス生成部
１０４、１０６  メモリ
１０５、４０２  転送部
４０１  セレクタ
【図１】
0003854882.tif 000004
【図２】
0003854882.tif 000005
【図３】
0003854882.tif 000006
【図４】
0003854882.tif 000007
【図５】
0003854882.tif 000008