(57)【特許請求の範囲】
【請求項１】
２個のデータ処理を同時に実行するデータ処理装置であって、
各々のデータ処理に対応させて設けられた第一および第二のデータ処理手段と、
偶数アドレス用シングルポートメモリおよび奇数アドレス用シングルポートメモリと、
前記２個のシングルポートメモリを制御する制御手段とを含み、
前記制御手段は、前記第一および第二のデータ処理手段のうち一方のデータ処理手段が偶数アドレス用シングルポートメモリをアクセスし、次いで奇数アドレス用シングルポートメモリをアクセスし、以降この繰り返しでアクセスするよう制御し、かつ一方のデータ処理手段が偶数アドレス用シングルポートメモリをアクセスするときは他方のデータ処理手段が奇数アドレス用シングルポートメモリを同時にアクセスし、一方のデータ処理手段が奇数アドレス用シングルポートメモリをアクセスするときは他方のデータ処理手段が偶数アドレス用シングルポートメモリを同時にアクセスするよう制御するとともに、
前記第一および第二のデータ処理手段のうち一方のデータ処理手段に前記偶数または奇数アドレス用シングルポートメモリを連続してアクセスする必要が生じた場合、前記一方のデータ処理手段のアクセスを他方のデータ処理手段のアクセスに優先させることを特徴とするデータ処理装置。
【請求項２】
ＨＡＲＱ処理装置の受信側データ処理装置であり、
前記第一および第二のデータ処理手段のうち一方のデータ処理手段はレートデマッチング部で構成され、前記第一および第二のデータ処理手段のうち他方のデータ処理手段はＨＡＲＱ合成部で構成されることを特徴とする請求項１記載のデータ処理装置。
【請求項３】
前記制御手段は、前記２個のシングルポートメモリをアクセスするアドレスを生成するアドレス生成部と、前記アドレス生成部からの指示により前記２個のシングルポートメモリのうちの１個を選択するスイッチとを含むことを特徴とする請求項１または２記載のデータ処理装置。
【請求項４】
前記レートデマッチング部において送信側で間引かれたデータの位置にダミーデータを挿入する場合もしくは送信側で繰り返されたデータを削除する場合に、
前記偶数または奇数アドレス用シングルポートメモリの連続アクセスが発生することを特徴とする請求項２または３記載のデータ処理装置。
【請求項５】
２個のデータ処理を同時に実行し、各々のデータ処理に対応させて設けられた第一および第二のデータ処理手段と、偶数アドレス用シングルポートメモリおよび奇数アドレス用シングルポートメモリと、前記２個のシングルポートメモリを制御する制御手段とを含むデータ処理装置のデータ処理方法であって、
第一および第二のデータ処理手段のうち一方のデータ処理手段が偶数アドレス用シングルポートメモリをアクセスし、次いで奇数アドレス用シングルポートメモリをアクセスし、以降この繰り返しでアクセスするよう行われ、かつ一方のデータ処理手段が偶数アドレス用シングルポートメモリをアクセスするときは他方のデータ処理手段が奇数アドレス用シングルポートメモリを同時にアクセスするよう行われ、一方のデータ処理手段が奇数アドレス用シングルポートメモリをアクセスするときは他方のデータ処理手段が偶数アドレス用シングルポートメモリを同時にアクセスするよう行われるとともに、
前記第一および第二のデータ処理手段のうち一方のデータ処理手段に前記偶数または奇数アドレス用シングルポートメモリを連続してアクセスする必要が生じた場合、前記一方のデータ処理手段のアクセスを他方のデータ処理手段のアクセスに優先させることを特徴とするデータ処理方法。
【請求項６】
ＨＡＲＱ処理装置の受信側データ処理方法であり、
前記第一および第二のデータ処理手段のうち一方のデータ処理手段はレートデマッチング部で構成され、前記第一および第二のデータ処理手段のうち他方のデータ処理手段はＨＡＲＱ合成部で構成されることを特徴とする請求項５記載のデータ処理方法。
【請求項７】
前記レートデマッチング部において送信側で間引かれたデータの位置にダミーデータを挿入する場合もしくは送信側で繰り返されたデータを削除する場合に、
前記偶数または奇数アドレス用シングルポートメモリの連続アクセスが発生することを特徴とする請求項６記載のデータ処理方法。
【請求項８】
２個のデータ処理を同時に実行し、各々のデータ処理に対応させて設けられた第一および第二のデータ処理手段と、偶数アドレス用シングルポートメモリおよび奇数アドレス用シングルポートメモリと、前記２個のシングルポートメモリを制御する制御手段とを含むデータ処理装置のデータ処理方法のプログラムであって、
前記制御手段に、
第一および第二のデータ処理手段のうち一方のデータ処理手段が偶数アドレス用シングルポートメモリをアクセスし、次いで奇数アドレス用シングルポートメモリをアクセスし、以降この繰り返しでアクセスするよう行われ、かつ一方のデータ処理手段が偶数アドレス用シングルポートメモリをアクセスするときは他方のデータ処理手段が奇数アドレス用シングルポートメモリを同時にアクセスするよう行われ、一方のデータ処理手段が奇数アドレス用シングルポートメモリをアクセスするときは他方のデータ処理手段が偶数アドレス用シングルポートメモリを同時にアクセスするよう行われるとともに、
前記第一および第二のデータ処理手段のうち一方のデータ処理手段に前記偶数または奇数アドレス用シングルポートメモリを連続してアクセスする必要が生じた場合、前記一方のデータ処理手段のアクセスを他方のデータ処理手段のアクセスに優先させる処理を実行させるためのプログラム。
【請求項９】
ＨＡＲＱ処理装置の受信側データ処理方法のプログラムであり、
前記第一および第二のデータ処理手段のうち一方のデータ処理手段はレートデマッチング部で構成され、前記第一および第二のデータ処理手段のうち他方のデータ処理手段はＨＡＲＱ合成部で構成されることを特徴とする請求項８記載のプログラム。
【請求項１０】
前記レートデマッチング部において送信側で間引かれたデータの位置にダミーデータを挿入する場合もしくは送信側で繰り返されたデータを削除する場合に、
前記偶数または奇数アドレス用シングルポートメモリの連続アクセスが発生することを特徴とする請求項９記載のプログラム。
【請求項１１】
請求項１から４いずれかに記載のデータ処理装置を含む携帯電話装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ処理装置およびその処理方法ならびにプログラムおよび携帯電話装置に関し、特にＷ−ＣＤＭＡ(Wideband-Code Division Multiple Access)に用いられるＨＡＲＱ(Hybrid Automatic Repeat Request) 処理装置の受信側データ処理装置およびその処理方法ならびにプログラムおよび携帯電話装置に関する。
【背景技術】
【０００２】
第３世代移動体無線通信方式の国際標準規格団体３ＧＰＰ(3rd Generation Partnership Project)では、より高速な無線通信を実現するためＨＳＤＰＡ(High Speed Downlink Packet Access) と呼ばれる新機能をＷ−ＣＤＭＡ規格に追加しようとしている。このＨＳＤＰＡによる高速通信を可能とする特徴的な処理の一つにＨＡＲＱがある（非特許文献１参照）。
【０００３】
ＨＡＲＱは、受信側でデータを正しく受信できなかった場合にデータ再送を効率的に行う処理である。送信側のＨＡＲＱ処理では送信データを複数のグループに分ける。このグループのことを３ＧＰＰではプロセスと呼ぶ。そして、ＨＡＲＱにおける再送をこれらプロセス毎に管理する。これにより、あるプロセスのデータの再送が発生している間にも他のプロセスのデータの送受信が可能となる。      
【０００４】
図１５は従来の送信側ＨＡＲＱ処理装置の一例の構成図、図１６は従来の受信側ＨＡＲＱ処理装置の一例の構成図である。
【０００５】
図１５を参照すると、従来の送信側ＨＡＲＱ処理装置１００はＪ個（Ｊは正の整数）のレートマッチング部１０１を含んで構成されており、Ｎ個（Ｎは正の整数かつＮ＞Ｊ）のプロセスからなるデータ１０２を入力データとし、その出力データはインタリーブ部１０３でインタリーブ（interleave）された後、Ｎ個のプロセスからなる出力データ１０４となる。なお、レートマッチング部１０１ではＪ個ずつプロセスを同時に処理し、結果としてＮ個のプロセスデータを出力する。
【０００６】
図１６を参照すると、従来の受信側ＨＡＲＱ処理装置１１０はＪ個のＨＡＲＱ合成部１１１と、バッファ１１２と、Ｋ個（Ｋは正の整数かつＫ＜Ｎ）のレートデマッチング部１１３とを含んでいる。また、送信側ＨＡＲＱ処理装置１００の出力データ１０４を入力データとし、その入力データ１０４は逆インターリーブ部１１４で逆インターリーブされた後、受信側ＨＡＲＱ処理装置１１０へ入力される。
【０００７】
受信側ＨＡＲＱ処理装置１１０のＨＡＲＱ処理は、ＨＡＲＱ合成部１１１におけるＨＡＲＱ合成及びレートデマッチング部１１３におけるレートデマッチングと呼ばれる要素処理からなる。
【０００８】
ＨＡＲＱ合成は、正しく受信できなかったプロセスのデータに対して、再送されてきた同データを足し合わせる処理である。これにより、再送時にデータを正しく受信できる可能性が高まる。また、レートデマッチングは、送信データと物理チャネルのレートの違いを調整するレートマッチングと呼ばれる処理の逆処理である。
【０００９】
送信側ＨＡＲＱ処理装置１００におけるレートマッチングでは、送信データのレートが物理チャネルのレートよりも高い場合には、送信データ列においていくつかのデータを間引く( 以下、パンクチャ（puncture）と称する) ことにより、送信データと物理チャネルのレートを一致させる。
【００１０】
また逆に、送信データのレートが物理チャネルのレートよりも低い場合には、送信データ列においていくつかのデータを繰り返す( 以下、リピート(repeat)
と称する）ことにより、送信データと物理チャネルのレートを一致させる。
【００１１】
これに対して、レートデマッチングでは、送信側で間引かれたデータの位置にダミーデータを挿入したり、送信側で繰り返されたデータを削除する。
【００１２】
このような受信側のＨＡＲＱ処理を装置として実現する場合、図１６に示すように、ＨＡＲＱ合成部１１１とレートデマッチング部１１３の他に、データが再送されてくるまで前回送られてきた同データを保存するバッファ１１２が必要となる。このバッファ１１２をシングルポートのメモリで実現する場合、以下に述べる方式が一般的に考えられるが、それぞれに問題がある。
【００１３】
また、この種の技術の一例が特許文献１に開示されている。これは、第１の１サイクルの間、それぞれの偶数値のアドレスが書き込みポートに供給され、それぞれの奇数値のアドレスが読み出しポートに供給され、次の第２の１サイクルの間、それぞれの奇数値のアドレスが書き込みポートに供給され、それぞれの偶数値のアドレスが読み出しポートに供給されるというふうに、各サイクルにおいて書き込みと読み出しのポートを交互に切り替えてデータの書き込みおよび読み出しを行う技術が開示されている。
【００１４】
【特許文献１】特開２０００−１７３２６１号公報（請求項１、段落０００５、図１）
【非特許文献１】３ＧＰＰ  ＴＳ２５．２１２  Ｖ５．６．０（２００３．９）４．２．７、  ４．５．４
【発明の開示】
【発明が解決しようとする課題】
【００１５】
方式１：  バッファ１１２を１個の物理メモリ（バッファ１１２）で実現する方式である。例えば４つのプロセス（プロセス１、プロセス２、プロセス３、プロセス４) がある場合、これらプロセスのデータを1 つの物理メモリ（バッファ１１２）上に配置する。図１７は方式１の説明図である。同図に示すように、例えばプロセス２のデータに対するレートデマッチングとプロセス３のデータに対するＨＡＲＱ合成を同時に実行しようとすると、バッファ１１２へのアクセスも同時になるためアクセス競合が発生する。よって、レートデマッチングとＨＡＲＱ合成を同時に実行することはできず、レートデマッチングの実行完了後にＨＡＲＱ合成を実行する、あるいはＨＡＲＱ合成の実行完了後にレートデマッチングを実行することになる。このように本方式ではＨＡＲＱの実行時間が長くなるという問題がある。
【００１６】
方式２：図１８は方式２の説明図である。同図に示すようにバッファ１１２を複数の物理メモリ( ＲＡＭ１２１〜１２４) で構成し、各物理メモリと各プロセスを一対一に割り当てる方式である。同図の例では、プロセス１のデータをＲＡＭ１２１に格納し、プロセス２のデータをＲＡＭ１２２に格納し、プロセス３のデータをＲＡＭ１２３に格納し、プロセス４のデータをＲＡＭ１２４に格納している。
【００１７】
この場合、プロセス２のデータに対するレートデマッチングとプロセス３のデータに対するＨＡＲＱ合成において、バッファ１１２に対するアクセスが別々の物理メモリへのアクセスとなる。すなわち、レートデマッチングの処理はＲＡＭ１２２にアクセスし、ＨＡＲＱ合成の処理はＲＡＭ１２３にアクセスする。このため、レートデマッチングとＨＡＲＱ合成の同時実行が可能となる。
【００１８】
ところで、ＨＳＤＰＡの規格によれば各プロセスのデータサイズやプロセス数は通信中に動的に変化する。このため、各プロセスのメモリ割り当てを動的に変更する必要がある。図１９は方式２におけるアクセス競合の説明図である。同図のように２つのプロセス（同図の例ではプロセス２とプロセス３）のデータを同一物理メモリ（ＲＡＭ１２２）上に配置する可能性がある。この場合、アクセス競合が発生するため、方式１と同様の問題が発生することになる。
【００１９】
上記２種類の方式ではＨＡＲＱ合成とレートデマッチングを同時に実行することができず、その結果ＨＡＲＱ全体の実行時間が長いという問題を解消することができない。
【００２０】
一方、特許文献１記載の技術は１個のデュアルポートメモリ（入力ポートと出力ポートを１個ずつ有するメモリ）に対するアクセス制御であるのに対し、本発明は２個以上のシングルポートメモリ（入出力兼用のポートを１個有するメモリ）を対象としており、その制御方法も上記特許文献１記載の技術と全く相違する。
【００２１】
そこで本発明の目的は、２個以上のシングルポートメモリを用いるＨＡＲＱ処理において、ＨＡＲＱ合成とレートデマッチングによるメモリアクセスの競合の防止が可能なデータ処理装置およびその処理方法ならびにプログラムおよび携帯電話装置を提供することにある。
【課題を解決するための手段】
【００２２】
前記課題を解決するために本発明に係るデータ処理装置は、２個のデータ処理を同時に実行するデータ処理装置であって、各々のデータ処理に対応させて設けられた第一および第二のデータ処理手段と、偶数アドレス用シングルポートメモリおよび奇数アドレス用シングルポートメモリと、前記２個のシングルポートメモリを制御する制御手段とを含み、前記制御手段は、前記第一および第二のデータ処理手段のうち一方のデータ処理手段が偶数アドレス用シングルポートメモリをアクセスし、次いで奇数アドレス用シングルポートメモリをアクセスし、以降この繰り返しでアクセスするよう制御し、かつ一方のデータ処理手段が偶数アドレス用シングルポートメモリをアクセスするときは他方のデータ処理手段が奇数アドレス用シングルポートメモリを同時にアクセスし、一方のデータ処理手段が奇数アドレス用シングルポートメモリをアクセスするときは他方のデータ処理手段が偶数アドレス用シングルポートメモリを同時にアクセスするよう制御するとともに、前記第一および第二のデータ処理手段のうち一方のデータ処理手段に前記偶数または奇数アドレス用シングルポートメモリを連続してアクセスする必要が生じた場合、前記一方のデータ処理手段のアクセスを他方のデータ処理手段のアクセスに優先させることを特徴とする。
【００２３】
また、本発明に係るデータ処理方法は、２個のデータ処理を同時に実行し、各々のデータ処理に対応させて設けられた第一および第二のデータ処理手段と、偶数アドレス用シングルポートメモリおよび奇数アドレス用シングルポートメモリと、前記２個のシングルポートメモリを制御する制御手段とを含むデータ処理装置のデータ処理方法であって、第一および第二のデータ処理手段のうち一方のデータ処理手段が偶数アドレス用シングルポートメモリをアクセスし、次いで奇数アドレス用シングルポートメモリをアクセスし、以降この繰り返しでアクセスするよう行われ、かつ一方のデータ処理手段が偶数アドレス用シングルポートメモリをアクセスするときは他方のデータ処理手段が奇数アドレス用シングルポートメモリを同時にアクセスするよう行われ、一方のデータ処理手段が奇数アドレス用シングルポートメモリをアクセスするときは他方のデータ処理手段が偶数アドレス用シングルポートメモリを同時にアクセスするよう行われるとともに、前記第一および第二のデータ処理手段のうち一方のデータ処理手段に前記偶数または奇数アドレス用シングルポートメモリを連続してアクセスする必要が生じた場合、前記一方のデータ処理手段のアクセスを他方のデータ処理手段のアクセスに優先させることを特徴とする。
【００２４】
また、本発明に係るプログラムは、２個のデータ処理を同時に実行し、各々のデータ処理に対応させて設けられた第一および第二のデータ処理手段と、偶数アドレス用シングルポートメモリおよび奇数アドレス用シングルポートメモリと、前記２個のシングルポートメモリを制御する制御手段とを含むデータ処理装置のデータ処理方法のプログラムであって、前記制御手段に、第一および第二のデータ処理手段のうち一方のデータ処理手段が偶数アドレス用シングルポートメモリをアクセスし、次いで奇数アドレス用シングルポートメモリをアクセスし、以降この繰り返しでアクセスするよう行われ、かつ一方のデータ処理手段が偶数アドレス用シングルポートメモリをアクセスするときは他方のデータ処理手段が奇数アドレス用シングルポートメモリを同時にアクセスするよう行われ、一方のデータ処理手段が奇数アドレス用シングルポートメモリをアクセスするときは他方のデータ処理手段が偶数アドレス用シングルポートメモリを同時にアクセスするよう行われるとともに、前記第一および第二のデータ処理手段のうち一方のデータ処理手段に前記偶数または奇数アドレス用シングルポートメモリを連続してアクセスする必要が生じた場合、前記一方のデータ処理手段のアクセスを他方のデータ処理手段のアクセスに優先させる処理を実行させるためのものであることを特徴とする。
【００２５】
本発明はバッファを複数の物理メモリ、一例として２つの物理メモリで構成し、一方のメモリを偶数アドレス用、もう一方のメモリを奇数アドレス用とする。そして、ＨＡＲＱ合成およびレートデマッチングによるバッファへのアクセスに対して、以下のような制御を行う。
【００２６】
（１）ＨＡＲＱ合成が偶数アドレス用メモリにアクセスする際にはレートデマッチングが奇数アドレス用メモリにアクセスするようにアクセス制御を行う。
【００２７】
（２）ＨＡＲＱ合成が奇数アドレス用メモリにアクセスする場合にはレートデマッチングが偶数アドレス用メモリにアクセスするように制御する。
【００２８】
（３）ＨＡＲＱ合成とレートデマッチングが同時に偶数アドレス用メモリあるいは奇数アドレス用メモリにアクセスする事態が発生した場合、ＨＡＲＱ合成あるいはレートデマッチングの一方のアクセスを１サイクル遅延させる。これにより、次サイクルのＨＡＲＱ合成およびレートデマッチングによるメモリアクセスを（１）あるいは（２）の状態に復帰させる。
【発明の効果】
【００２９】
本発明によれば、制御手段は各々のデータ処理手段によるシングルポートメモリのアクセスが、一定の順序にしたがってそれぞれ異なるシングルポートメモリに対して行われるよう制御するとともに、いずれかのデータ処理手段の処理において前記アクセスの順序に変動をきたし、その変動をきたしたデータ処理手段と他のデータ処理手段との間で前記アクセスの競合が発生した場合に、一方のデータ処理手段のアクセスを他方のデータ処理手段のアクセスに優先させるため、メモリアクセスの競合の防止が可能となる。
【００３０】
具体的に説明すると、本発明によれば、ＨＡＲＱ合成とレートデマッチングによるメモリアクセスが競合しないため、これらの処理を同時に実行することができる。これにより、ＨＡＲＱの処理時間の短縮が可能となる。また、各プロセスのデータサイズやプロセス数の動的な変更に伴って各プロセスのメモリ割り当てを変更する場合でも、この効果は得られる。
【発明を実施するための最良の形態】
【００３１】
以下、本発明の実施例について添付図面を参照しながら説明する。
【実施例１】
【００３２】
図１はデータ処理装置の第１実施例の構成図である。同図を参照すると、データ処理装置はＨＡＲＱ合成部１と、バッファ２と、レートデマッチング部３と、先頭アドレス生成部４と、メモリ５とを含んで構成される。
【００３３】
ＨＡＲＱ合成部１はＨＡＲＱ合成を行う処理ブロックである。ＨＡＲＱ処理の前工程である逆インタリーブ処理の出力データ１１を入力とし、ＨＡＲＱ合成後のデータ１２を出力する。
【００３４】
バッファ２はＨＡＲＱ合成部１の出力データ１２を保持し、レートデマッチング部３への入力データ１３を供給するメモリである。ＨＡＲＱ合成部１の出力データ１２を入力とし、レートデマッチング部３への入力データ１３を出力する。      
【００３５】
レートデマッチング部３はレートデマッチングを行う処理ブロックである。バッファ２からの出力データ１３を入力とし、レートデマッチング後のデータ１４  を出力する。また、送信側でパンクチャあるいはリピートが行われた位置のデータを処理する場合には、パンクチャ・リピート指示信号１５をオンし、それ以外のデータを処理する場合にはパンクチャ・リピート指示信号１５をオフする。      
【００３６】
先頭アドレス生成部４は各プロセスの先頭データの格納先アドレスを先頭アドレス信号１６によりバッファ２に設定する。
【００３７】
なお、ＨＡＲＱ合成部１からバッファ２へＨＡＲＱ合成部１が動作中であることを示す動作ステータス信号１７が出力され、レートデマッチング部３からバッファ２へレートデマッチング部３が動作中であることを示す動作ステータス信号１８が出力され、メモリ５からバッファ２へデ−タ読み出し信号１９が出力される。
【００３８】
メモリ５にはデータ処理方法のプログラムが格納されている。
【００３９】
図２はバッファ２の一例の構成図である。同図を参照すると、バッファ２は偶数アドレス用メモリ２１と、奇数アドレス用メモリ２２と、アドレス生成部２３と、スイッチ２４〜２７とを含んで構成される。
【００４０】
なお、パンクチャ・リピート指示信号１５、先頭アドレス信号１６、動作ステータス信号１７、１８およびデ−タ読み出し信号１９はアドレス生成部２３へ入力される。
【００４１】
本実施例のバッファ２のメモリ２１，２２には一例として各々４つのプロセス（プロセス１〜４）のデータが書き込まれることを示している。
【００４２】
偶数アドレス用メモリ２１は各プロセスにおける偶数番目のデータを保持するメモリである。ＨＡＲＱ合成部１による合成後のデータ１２を入力とし、レートデマッチング部３への入力データ１３を出力する。
【００４３】
奇数アドレス用メモリ２２は各プロセスにおける奇数番目のデータを保持するメモリである。ＨＡＲＱ合成部１による合成後のデータ１２を入力とし、レートデマッチング部３への入力データ１３を出力する。
【００４４】
アドレス生成部２３は偶数アドレス用メモリ２１のアドレス３１、奇数アドレス用メモリ２２のアドレス３２、ならびにスイッチ２４〜２７に対する選択信号３３〜３６を生成する処理ブロックである。このアドレス生成部２３における処理はアドレス生成部２３がメモリ５からプログラムを読み出し、そのプログラムに従って実行される。
【００４５】
アドレス生成部２３は偶数アドレス用メモリ２１あるいは奇数アドレス用メモリ２２のいずれかのメモリにおいて２つのアクセスが競合した場合に、一方のアクセスを１サイクル遅延させるように制御する。なお、ＨＡＲＱ合成部１およびレートデマッチング部３が動作中であることを示す動作ステータス信号１７および１８がオンになると、アドレス３１および３２の生成を開始する。また、送信側でどのデータがパンクチャあるいはリピートされたかを示すパンクチャ・リピート指示信号１５がレートデマッチング部３より入力される。
【００４６】
スイッチ２４は選択信号３３に基づいてＨＡＲＱ合成部１の出力データ１２  を偶数アドレス用メモリ２１あるいは奇数アドレス用メモリ２２のいずれか一方に振り分けるスイッチである。図２の例において、R は偶数アドレス用メモリ２１への接続、L は奇数アドレス用メモリ２２への接続である。
【００４７】
スイッチ２５は選択信号３４に基づいて偶数アドレス用メモリ２１をスイッチ２４あるいはスイッチ２６のいずれか一方に接続するスイッチである。図2 の例において、R はスイッチ２６への接続、L はスイッチ２４への接続である。
【００４８】
スイッチ２６は選択信号３５に基づいて偶数アドレス用メモリ２１あるいは奇数アドレス用メモリ２２のいずれか一方の出力データをバッファ出力１３として出力するスイッチである。図2 の例において、R は奇数アドレス用メモリ２２への接続、L は偶数アドレス用メモリ２１への接続である。
【００４９】
スイッチ２７は選択信号３６に基づいて奇数アドレス用メモリ２２をスイッチ２４あるいはスイッチ２６のいずれか一方に接続するスイッチである。図２の例において、R はスイッチ２６への接続、L はスイッチ２４への接続である。
【００５０】
次に、本発明の第１実施例の動作について説明する。図３〜図８は第１実施例の動作  （第１〜第６サイクル）を示す模式図である。ここでは、プロセス２のデータに対してレートデマッチングを実行すると同時にプロセス３のデータに対してＨＡＲＱ合成を実行する場合を例として説明する。なお、下記説明におけるアドレス値はあくまで例に過ぎない。
【００５１】
まず初期設定について説明する。先頭アドレス生成部４が生成した各プロセスの先頭データの格納先アドレス（下記例においてプロセス２の先頭デ−タ格納先アドレスは＃０１０８、プロセス３の先頭デ−タ格納先アドレスは＃０１６４）が先頭アドレス信号１６に基づきバッファ２のアドレス生成部２３へ設定される。設定された値はアドレスの初期値として用いる。その後、ＨＡＲＱ合成部１およびレートデマッチング部３は、処理の開始とともに動作ステータス信号１７および１８をオンにする。そして、これらの動作ステータス信号１７および１８を処理期間中絶えずオンのままにする。
【００５２】
次に、図３を参照しながら第1 サイクルについて説明する。偶数アドレス用メモリ２１のアドレス３１（アドレス値＃０１０８  ）からプロセス２のデータを読み出し、バッファ２の出力データ１３として出力する。そして、レートデマッチング部３にて本データ１３に対するレートデマッチングを行う。この際、アドレス生成部２３は、スイッチ２５、２６をそれぞれR ，L に接続するように選択信号３４、３５を生成する。
【００５３】
次に、図４を参照しながら第２サイクルについて説明する。奇数アドレス用メモリ２２のアドレス３２（アドレス値＃０１０９）からプロセス２のデータを読み出し、バッファ２の出力データ１３として出力する。そして、レートデマッチング部３にて本データ１３に対するレートデマッチングを行う。
【００５４】
これと同時に、ＨＡＲＱ合成部１  においてＨＡＲＱ合成を実行し、偶数アドレス用メモリ２１のアドレス３１（アドレス値＃０１６４）にＨＡＲＱ合成出力データ１２をプロセス３のデータとして書き込む。この際、アドレス生成部２３は、スイッチ２４〜２７をそれぞれR ，L ，R ，R に接続するように選択信号３３〜３６を生成する。
【００５５】
次に、図５を参照しながら第３サイクルについて説明する。偶数アドレス用メモリ２１のアドレス３１（アドレス値＃０１０Ａ）からプロセス２のデータを読み出し、バッファ２の出力データ１３として出力する。そして、レートデマッチング部３にて本データ１３に対するレートデマッチングを行う。
【００５６】
これと同時に、ＨＡＲＱ合成部１  においてＨＡＲＱ合成を実行し、奇数アドレス用メモリ２２のアドレス３２（アドレス値＃０１６５）にＨＡＲＱ合成出力データ１２をプロセス３のデータとして書き込む。この際、アドレス生成部２３は、スイッチ２４〜２７をそれぞれL ，R ，L ，L に接続するように選択信号３３〜３６を生成する。
【００５７】
なお、本実施例では、送信側でプロセス２のデータがパンクチャされており、レートデマッチング部３  にてダミーデータを挿入するものとする。そのため、アドレス＃０１０Ａ  におけるプロセス２のデータを次の第４サイクルで再度読み出す。なお、パンクチャされているかどうかは指示信号１５によって指定される。
【００５８】
次に、図６を参照しながら第４サイクルについて説明する。偶数アドレス用メモリ２１のアドレス値＃０１０Ａ  からプロセス２のデータを読み出すと同時に、偶数アドレス用メモリ２１のアドレス値＃０１６６にＨＡＲＱ合成出力データ１２をプロセス３のデータとして書き込もうとするため、偶数アドレス用メモリ２１へのアクセス競合が発生する。
【００５９】
本例では、プロセス２のデータの読み出し（すなわち、アドレス値＃０１０Ａへのメモリアクセス）を許可し、プロセス３のデータの書き込み（すなわち、アドレス値＃０１６６へのメモリアクセス）を１サイクル遅延させる。
【００６０】
この際、アドレス生成部２３は、アドレス３１にアドレス値＃０１０Ａを設定し、スイッチ２５、２６をそれぞれR ，L に接続するように選択信号３４、３５を生成する。
【００６１】
次に、図７を参照しながら第５サイクルについて説明する。奇数アドレス用メモリ２２のアドレス３２（アドレス値＃０１０Ｂ）からプロセス２のデータを読み出し、バッファ２の出力データ１３として出力する。そして、レートデマッチング部３にて本データ１３に対するレートデマッチングを行う。
【００６２】
これと同時に、ＨＡＲＱ合成部１においてＨＡＲＱ合成を実行し、偶数アドレス用メモリ２１のアドレス３１（アドレス値＃０１６６）にＨＡＲＱ合成出力データ１２をプロセス３のデータとして書き込む。
【００６３】
この際、アドレス生成部２３は、スイッチ２４〜２７をそれぞれR ，L ，R ，R に接続するように選択信号３３〜３６を生成する。
【００６４】
次に、図８を参照しながら第６サイクルについて説明する。偶数アドレス用メモリ２１のアドレス３１（アドレス値＃０１０Ｃ）からプロセス２のデータを読み出し、バッファ２の出力データ１３として出力する。そして、レートデマッチング部３にて本データ１３に対するレートデマッチングを行う。
【００６５】
これと同時に、ＨＡＲＱ合成部１においてＨＡＲＱ合成を実行し、奇数アドレス用メモリ２２のアドレス３２（アドレス値＃０１６７）にＨＡＲＱ合成出力データ１２をプロセス３のデータとして書き込む。
【００６６】
この際、アドレス生成部２３は、スイッチ２４〜２７をそれぞれL ，R ，L ，L に接続するように選択信号３３〜３６を生成する。
【００６７】
以下、第７サイクル以降も同様に動作するものとする。その後、ＨＡＲＱ合成部１およびレートデマッチング部３は、処理の終了とともに動作ステータス信号１７および１８をオフにする。これにより、第１実施例の装置は動作を停止する。
【００６８】
なお、上記実施例では、第１サイクルではレートデマッチングだけを実行し、第２サイクル以降にＨＡＲＱ合成も実行するようにしているが、この逆も可能である。すなわち、第１サイクルではＨＡＲＱ合成だけを実行し、第２サイクル以降にレートデマッチングも実行するのである。また、第４サイクルのように同一メモリへのアクセス競合が発生した場合、上記実施例ではレートデマッチングによるメモリアクセスを優先的に許可しているが、この逆も可能である。すなわち、同一メモリへのアクセス競合が発生した場合、ＨＡＲＱ合成によるメモリアクセスを優先的に許可することも可能である。
【００６９】
以上説明したように、第１実施例によればレートデマッチング部３にてダミーデータを挿入する際に生じるレートデマッチング部３とＨＡＲＱ合成部１との競合を防止することができるため、これらの処理を同時に実行することが可能となる。
【実施例２】
【００７０】
第２実施例は、構成は第１実施例（図１および図２参照）と同様であるが、その動作が異なる。本実施例では、送信側でプロセス２のデータがリピートされており、レートデマッチング部３  にてリピートされたデータを削除するものとする。そのため、アドレス＃０１０Ａ  に続きアドレス＃０１０Ｃにおけるプロセス２のデータを次の第４サイクルで再度読み出す（すなわち、アドレス＃０１０Ｂのデータの読み出しは行わない）。なお、リピートされているかどうかは指示信号１５によって指定される。
【００７１】
なお、初期設定、第１および第２サイクルの動作は第１実施例と同様なのでその説明を省略し、第３サイクル以降について説明する。
【００７２】
図９〜図１２は第２実施例の動作（第３〜第６サイクル）を示す模式図である。
【００７３】
まず、図９を参照しながら第３サイクルについて説明する。偶数アドレス用メモリ２１のアドレス３１（アドレス値＃０１０Ａ）からプロセス２のデータを読み出し、バッファ２の出力データ１３として出力する。そして、レートデマッチング部３にて本データ１３に対するレートデマッチングを行う。
【００７４】
これと同時に、ＨＡＲＱ合成部１においてＨＡＲＱ合成を実行し、奇数アドレス用メモリ２２のアドレス３２（アドレス値＃０１６５）にＨＡＲＱ合成出力データ１２をプロセス３のデータとして書き込む。この際、アドレス生成部２３は、スイッチ２４〜２７をそれぞれL ，R ，L ，L に接続するように選択信号３３〜３６を生成する。
【００７５】
本実施例では、送信側でプロセス２のデータがリピートされており、レートデマッチング部３にてリピートされたデータを削除する。そのため、アドレス＃０１０Ａにおけるプロセス２のデータの読み出しに続き、次の第４サイクルではアドレス＃０１０Ｃにおけるプロセス２のデータの読み出しを行う。
【００７６】
次に、図１０を参照しながら第４サイクルについて説明する。偶数アドレス用メモリ２１のアドレス値＃０１０Ｃからプロセス２のデータを読み出すと同時に、偶数アドレス用メモリ２１のアドレス値＃０１６６にＨＡＲＱ合成出力データ１２をプロセス３のデータとして書き込もうとするため、偶数アドレス用メモリ２１へのアクセス競合が発生する。
【００７７】
本例では、プロセス２のデータの読み出し（すなわち、アドレス値＃０１０Ｃへのメモリアクセス）を許可し、プロセス３のデータの書き込み（すなわち、アドレス値＃０１６６へのメモリアクセス）を１サイクル遅延させる。
【００７８】
この際、アドレス生成部２３は、アドレス３１にアドレス値＃０１０Ｃを設定し、スイッチ２５、２６をそれぞれR ，L に接続するように選択信号３４、３５を生成する。
【００７９】
次に、図１１を参照しながら第５サイクルについて説明する。奇数アドレス用メモリ２２のアドレス３２（アドレス値＃０１０Ｄ）からプロセス２のデータを読み出し、バッファ２の出力データ１３として出力する。そして、レートデマッチング部３にて本データ１３に対するレートデマッチングを行う。
【００８０】
これと同時に、ＨＡＲＱ合成部１においてＨＡＲＱ合成を実行し、偶数アドレス用メモリ２１のアドレス３１（アドレス値＃０１６６）にＨＡＲＱ合成出力データ１２をプロセス３のデータとして書き込む。
【００８１】
この際、アドレス生成部２３は、スイッチ２４〜２７をそれぞれR ，L ，R ，R に接続するように選択信号３３〜３６を生成する。
【００８２】
次に、図１２を参照しながら第６サイクルについて説明する。偶数アドレス用メモリ２１のアドレス３１（アドレス値＃０１０Ｅ）からプロセス２のデータを読み出し、バッファ２の出力データ１３として出力する。そして、レートデマッチング部３にて本データ１３に対するレートデマッチングを行う。
【００８３】
これと同時に、ＨＡＲＱ合成部１においてＨＡＲＱ合成を実行し、奇数アドレス用メモリ２２のアドレス３２（アドレス値＃０１６７）にＨＡＲＱ合成出力データ１２  をプロセス３のデータとして書き込む。
【００８４】
この際、アドレス生成部２３は、スイッチ２４〜２７をそれぞれL ，R ，L ，L に接続するように選択信号３３〜３６を生成する。
【００８５】
以下、第７サイクル以降も同様に動作するものとする。その後、ＨＡＲＱ合成部１およびレートデマッチング部３は、処理の終了とともに動作ステータス信号１７および１８をオフにする。これにより、第２実施例の装置は動作を停止する。
【００８６】
以上説明したように、第２実施例によればレートデマッチング部３にてリピートされたデータを削除する際に生じるレートデマッチング部３とＨＡＲＱ合成部１との競合を防止することができるため、これらの処理を同時に実行することが可能となる。
【実施例３】
【００８７】
第３実施例は、２つのプロセスに対する同時実行を可能とする第１および第２実施例を拡張して、N 個のプロセスに対する同時実行を可能とするものである。なお、Ｊ個（Ｊは正の整数）のプロセスに対してＨＡＲＱ合成を行い、Ｋ個（Ｋは正の整数）のプロセスに対してレートデマッチングを行うものとする。このとき、本実施例の装置は、Ｊ個のＨＡＲＱ合成部とＫ個のレートデマッチング部、並びにN 個の物理メモリからなるバッファとを含んで構成される。ここに、Ｎ＝Ｊ＋Ｋという関係がある。
【００８８】
図１３はデータ処理装置の第３実施例の構成図である。同図を参照すると、データ処理装置はＨＡＲＱ合成部４１（４１−１〜４１−Ｊ）と、バッファ４２と、レートデマッチング部４３（４３−１〜４３−Ｋ）と、先頭アドレス生成部４４と、メモリ４５とを含んで構成される。また、バッファ４２はＮ個のメモリ４２（４２−１〜４２−Ｎ）を含んで構成される。
【００８９】
本実施例ではＮ個のプロセスが同時に処理される。すなわち、ＨＡＲＱ合成部４１ではプロセス１〜Ｊが同時に処理され、これと並行にレートデマッチング部４３にてプロセス（Ｊ＋１）〜（Ｊ＋Ｋ）が同時に処理される。
【００９０】
また、バッファ４２（具体的には、バッファ４２内の図示しないアドレス生成部）は第１および第２実施例と同様にメモリ４５からプログラムを読み出し、デ−タ処理を行う。
【００９１】
メモリ４２の各々にはプロセス１〜（Ｊ＋Ｋ）各々のデータ格納領域が設けられており、各プロセスは任意のメモリ４２をアクセスすることが可能である。
【００９２】
ここで一例として、プロセス１〜３のＨＡＲＱ合成と、プロセス４，５のレートデマッチングが同時処理されている場合について本実施例の動作を説明する。      
【００９３】
図１４は各メモリへの各プロセスのアドレス割り当て例を示す模式図である。同図を参照すると、プロセス１のデータはメモリ４２−１のアドレス＃０２０１をスタートアドレスとして、メモリ４２−２〜４２−５までアドレスが割り当てられており、メモリ４２−５の次は再びメモリ４２−１に戻りアドレスが割り当てられる。以後、この割り当てが繰り返される。
【００９４】
プロセス２のデータはメモリ４２−２のアドレス＃０３０１をスタートアドレスとして、メモリ４２−３〜４２−５までアドレスが割り当てられており、メモリ４２−５の次は再びメモリ４２−１に戻りアドレスが割り当てられる。以後、この割り当てが繰り返される。
【００９５】
プロセス３のデータはメモリ４２−３のアドレス＃０４０１をスタートアドレスとして、メモリ４２−４〜４２−５までアドレスが割り当てられており、メモリ４２−５の次は再びメモリ４２−１に戻りアドレスが割り当てられる。以後、この割り当てが繰り返される。
【００９６】
プロセス４のデータはメモリ４２−４のアドレス＃０５０１をスタートアドレスとして、メモリ４２−５までアドレスが割り当てられており、メモリ４２−５の次は再びメモリ４２−１に戻りアドレスが割り当てられる。以後、この割り当てが繰り返される。
【００９７】
プロセス５のデータはメモリ４２−５のアドレス＃０６０１をスタートアドレスとしてアドレスが割り当てられており、メモリ４２−５の次は再びメモリ４２−１に戻りアドレスが割り当てられる。以後、この割り当てが繰り返される。
【００９８】
第１サイクルではプロセス１によるメモリ４２−１のメモリアクセス（＃０２０１）と、プロセス２によるメモリ４２−２のメモリアクセス（＃０３０１）と、プロセス３によるメモリ４２−３のメモリアクセス（＃０４０１）と、プロセス４によるメモリ４２−４のメモリアクセス（＃０５０１）と、プロセス５によるメモリ４２−５のメモリアクセス  （＃０６０１）とが同時に処理される。
【００９９】
次いで、第２サイクルではプロセス１によるメモリ４２−２のメモリアクセス（＃０２０２）と、プロセス２によるメモリ４２−３のメモリアクセス（＃０３０２）と、プロセス３によるメモリ４２−４のメモリアクセス（＃０４０２）と、プロセス４によるメモリ４２−５のメモリアクセス（＃０５０２）と、プロセス５によるメモリ４２−１のメモリアクセス（＃０６０２）とが同時に処理される。
【０１００】
第３サイクル以降も同様に各プロセスのメモリアクセスは順次隣接するメモリに切り替えられるため、アクセス競合は発生しない。
【０１０１】
しかし、一例として、第２サイクルにおいてプロセス４（レートデマッチング処理）でパンクチャが発生し、第２サイクルにおけるプロセス４のメモリ４２−５のアドレス＃０５０２の読み出しを第３サイクルで繰り返す処理（ダミーデータ挿入）が行われた場合、第３サイクルにおいてプロセス３（ＨＡＲＱ処理）のメモリ４２−５のアドレス＃０４０３への書き込みと競合する。
【０１０２】
したがって、この場合、プロセス４のメモリ４２−５のアドレス＃０５０２の読み出しが許可され、プロセス３のデータ書き込みは１サイクル遅延される。一方、プロセス３のデータ書き込みを許可し、プロセス４のデータ読み出しを１サイクル遅延させることも可能である。
【０１０３】
また、他の例として、第２サイクルにおいてプロセス４（レートデマッチング処理）でリピートが発生し、第３サイクルにおいてメモリ４２−１のアドレス＃０５０３および＃０５０４の読み出しをスキップさせて、メモリ４２−３のアドレス＃５０５の読み出しが行われた場合、第３サイクルにおいてプロセス１（ＨＡＲＱ処理）のメモリ４２−３のアドレス＃０２０３への書き込みと競合する。
【０１０４】
したがって、この場合、プロセス４のメモリ４２−３のアドレス＃０５０５の読み出しが許可され、プロセス１のデータ書き込みは１サイクル遅延される。一方、プロセス１のデータ書き込みを許可し、プロセス４のデータ読み出しを１サイクル遅延させることも可能である。
【０１０５】
以上説明したように、第３実施例によれば３個以上のプロセスが同時に実行された場合でもレートデマッチング部３とＨＡＲＱ合成部１との競合を防止することが可能となる。
【実施例４】
【０１０６】
第４実施例はデータ処理方法のプログラムに関するものである。図１および図１３を参照すると、本発明に係るデータ処理装置はメモリ５および４５を備えている。これらメモリ５，４５にデータ処理方法のプログラムが格納されていることは前述したとおりである。
【０１０７】
そのデータ処理方法のプログラムは図３〜図１２に各サイクルごとに示したメモリアクセス方法のプログラム（第１および第２実施例）であり、このプログラムにはさらに第３実施例で示したＮ個のプロセスが同時に実行される場合のメモリアクセス方法も含まれる。
【０１０８】
バッファ２のアドレス生成部２３およびバッファ４２の図示しないアドレス生成部はメモリ５，４５からデータ処理方法のプログラムを読み出し、そのプログラムにしたがってデ−タ処理を実行する。そのデ−タ処理の内容については既に述べたのでここでの説明は省略する。
【０１０９】
以上説明したように、第４実施例によればレートデマッチング部３とＨＡＲＱ合成部１との競合を防止することができるため、複数のプロセスを同時に実行することが可能となる。
【産業上の利用可能性】
【０１１０】
Ｗ−ＣＤＭＡ方式の一規定であるＨＳＤＰＡを採用する携帯電話装置での利用が見込まれる。また、他のレ−トデマッチング処理を有する無線通信方式、たとえば無線ＬＡＮ(Local Area Network)など、での応用も可能である。
【図面の簡単な説明】
【０１１１】
【図１】本発明に係るデータ処理装置の第１実施例の構成図である。
【図２】本発明のバッファ２の一例の構成図である。
【図３】第１実施例の動作（第１サイクル）を示す模式図である。
【図４】第１実施例の動作（第２サイクル）を示す模式図である。
【図５】第１実施例の動作（第３サイクル）を示す模式図である。
【図６】第１実施例の動作（第４サイクル）を示す模式図である。
【図７】第１実施例の動作（第５サイクル）を示す模式図である。
【図８】第１実施例の動作（第６サイクル）を示す模式図である。
【図９】第２実施例の動作（第３サイクル）を示す模式図である。
【図１０】第２実施例の動作（第４サイクル）を示す模式図である。
【図１１】第２実施例の動作（第５サイクル）を示す模式図である。
【図１２】第２実施例の動作（第６サイクル）を示す模式図である。
【図１３】データ処理装置の第３実施例の構成図である。
【図１４】各メモリへの各プロセスのアドレス割り当て例を示す模式図である。
【図１５】従来の送信側ＨＡＲＱ処理装置の一例の構成図である。
【図１６】従来の受信側ＨＡＲＱ処理装置の一例の構成図である。
【図１７】方式１の説明図である。
【図１８】方式２の説明図である。
【図１９】方式２におけるアクセス競合の説明図である。
【符号の説明】
【０１１２】
１、４１  ＨＡＲＱ合成部
２、４２  バッファ
３、４３  レートデマッチング部
４、４４  先頭アドレス生成部
５、４５  メモリ
２１  偶数アドレス用メモリ
２２  奇数アドレス用メモリ
２３  アドレス生成部
２４〜２７  スイッチ
【図１】
0004765260.tif 000002
【図２】
0004765260.tif 000003
【図３】
0004765260.tif 000004
【図４】
0004765260.tif 000005
【図５】
0004765260.tif 000006
【図６】
0004765260.tif 000007
【図７】
0004765260.tif 000008
【図８】
0004765260.tif 000009
【図９】
0004765260.tif 000010
【図１０】
0004765260.tif 000011
【図１１】
0004765260.tif 000012
【図１２】
0004765260.tif 000013
【図１３】
0004765260.tif 000014
【図１４】
0004765260.tif 000015
【図１５】
0004765260.tif 000016
【図１６】
0004765260.tif 000017
【図１７】
0004765260.tif 000018
【図１８】
0004765260.tif 000019
【図１９】
0004765260.tif 000020