(57)【特許請求の範囲】
【請求項１】
処理方法が異なる複数種類の信号処理に対応した複数種類のサンプルデータを、対応する前記信号処理の種類ごとに区分して記憶する共通の記憶手段と、
１サンプリング周期毎にカウント値を更新し、該カウント値をベースアドレスとして出力するカウンタと、
１サンプリング周期毎に、前記複数種類のサンプルデータのうちのいずれかのサンプルデータの書込処理が命令されると、入力される複数種類のサンプルデータから、命令された前記書込処理の対象となるサンプルデータを選択し、命令された前記書込処理用のオフセットアドレスを発生し、発生したオフセットアドレスによって前記ベースアドレスを修飾することにより、当該サンプルデータの書込アドレスを生成して前記記憶手段に供給し、１サンプリング周期毎に、前記複数種類のサンプルデータのうちのいずれかのサンプルデータの読出処理が命令されると、命令された前記読出処理用のオフセットアドレスを発生し、発生したオフセットアドレスによって前記ベースアドレスを修飾することにより、当該サンプルデータの読出アドレスを生成して前記記憶手段に供給するサンプルデータ入出力手段と
を具備することを特徴とするデジタル信号処理装置。
【請求項２】
前記複数種類の信号処理における少なくとも１種類の信号処理は、１サンプリング周期において複数のサンプルデータを前記記憶手段に格納し、あるいは複数のサンプルデータを前記記憶手段から読み出す処理を含み、前記サンプルデータ入出力手段は、当該信号処理のために、複数の前記サンプルデータを前記記憶手段に格納するときには、１サンプリング周期毎に、複数種類の前記書込処理用のオフセットアドレスを発生し、これらのオフセットアドレスにより前記ベースアドレスを修飾することにより、複数種類の書込アドレスを生成して前記記憶手段に供給し、複数の前記サンプルデータを前記記憶手段から読み出すときには、１サンプリング周期毎に、複数種類の前記読出処理用のオフセットアドレスを発生し、これらのオフセットアドレスにより前記ベースアドレスを修飾することにより、複数種類の読出アドレスを生成して前記記憶手段に供給することを特徴とする請求項１に記載のデジタル信号処理装置。
【請求項３】
複数種類の信号処理に対応した複数種類のサンプルデータを記憶する共通の記憶手段と、
１サンプリング周期毎にカウント値を更新し、該カウント値をベースアドレスとして出力するカウンタと、
１サンプリング周期毎に、前記複数種類の信号処理に対応した相互に重複しない複数種類のオフセットアドレスを発生し、これらのオフセットアドレスによって前記ベースアドレスを修飾することにより、サンプルデータの書込アドレスまたは読出アドレスを信号処理の種類毎に生成して前記記憶手段に供給するサンプルデータ入出力手段とを備え、
前記複数種類の信号処理における少なくとも１種類の信号処理は、１サンプリング周期においてＭ個（Ｍは整数）のサンプルデータを前記記憶手段に格納し、１個のサンプルデータを前記記憶手段から読み出す処理を含む１／Ｍ倍デシメーション処理であり、前記サンプルデータ入出力手段は、当該デシメーション処理のために、１サンプリング周期毎に、Ｍ個の書込用オフセットアドレスを発生し、これらの書込用オフセットアドレスによって前記ベースアドレスを修飾することにより、相互に隔たったＭ個の書込アドレスを生成して前記記憶手段に供給するとともに、１個の読出用オフセットアドレスを発生し、この読出用オフセットアドレスによって前記ベースアドレスを修飾することにより、読出アドレスを生成して前記記憶手段に供給することを特徴とするデジタル信号処理装置。
【請求項４】
複数種類の信号処理に対応した複数種類のサンプルデータを記憶する共通の記憶手段と、
１サンプリング周期毎にカウント値を更新し、該カウント値をベースアドレスとして出力するカウンタと、
１サンプリング周期毎に、前記複数種類の信号処理に対応した相互に重複しない複数種類のオフセットアドレスを発生し、これらのオフセットアドレスによって前記ベースアドレスを修飾することにより、サンプルデータの書込アドレスまたは読出アドレスを信号処理の種類毎に生成して前記記憶手段に供給するサンプルデータ入出力手段とを備え、
前記複数種類の信号処理における少なくとも１種類の信号処理は、１サンプリング周期において１個のサンプルデータを前記記憶手段に格納し、Ｊ個（Ｊは整数）のサンプルデータを前記記憶手段からＫ回（Ｋは整数）読み出す処理を含むＫ倍オーバサンプリング処理であり、前記サンプルデータ入出力手段は、当該オーバサンプリング処理のために、１サンプリング周期毎に、１個の書込用オフセットアドレスを発生し、これらの書込用オフセットアドレスによって前記ベースアドレスを修飾することにより、書込アドレスを生成して前記記憶手段に供給するとともに、Ｊ個の読出用オフセットアドレスを発生し、この読出用オフセットアドレスによって前記ベースアドレスを修飾することにより、Ｊ個の読出アドレスを生成して前記記憶手段にＫ回供給することを特徴とするデジタル信号処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、モデム等に好適なデジタル信号処理装置に関する。
【０００２】
【従来の技術】
モデム（Modulator Demodulator；変復調装置）は、通信回線の状態に合わせて伝送信号のサンプリング周波数を切り換える機能を備えたものが多い。この種のモデムに搭載されるＤＳＰ（Digital Signal Processor；デジタル信号処理装置）は、入力サンプルデータのサンプリング周波数の変換を行う機能が求められるため、帯域制限のためのフィルタの他に、オーバサンプリングフィルタやデシメーションフィルタが搭載されるのが一般的である。
【０００３】
【発明が解決しようとする課題】
ところで、オーバサンプリングフィルタやデシメーションフィルタなどのデジタルフィルタでは、処理対象である入力サンプルデータをメモリに一旦格納し、このメモリ内のサンプルデータを読み出す点において共通するが、メモリに対するサンプルデータの入出力の態様は信号処理の種類によって区々である。すなわち、例えばオーバサンプリングフィルタなどでは、１サンプリング周期毎に１個のサンプルデータをメモリに格納し、複数のサンプルデータをメモリから読み出すのに対し、デシメーションフィルタでは、１サンプリング周期毎に複数のサンプルデータをメモリに格納し、１個のサンプルデータをメモリから読み出すのである。
【０００４】
このようにメモリに対するサンプルデータの入出力の態様が信号処理の種類によって区々であるため、複数種類の信号処理に対応したサンプルデータを共通のメモリに格納することは一般に困難である。このため、従来は、例えば信号処理の種類毎にメモリおよびそのアクセス制御手段を用意して、各信号処理毎にサンプルデータの記憶を行うなどの方法が採られており、ＤＳＰのハードウェア量の増大を招いていた。
【０００５】
本発明は、以上のような事情に鑑みてなされたものであり、複数種類の信号処理を行うことができ、かつ、処理対象であるサンプルデータの記憶手段に対する入出力の態様が各信号処理間で区々である場合においても、少ないハードウェア量で各信号処理に対応したサンプルデータの記憶のための処理を行うことができるデジタル信号処理装置を提供することを目的としている。
【０００６】
【課題を解決するための手段】
請求項１に係る発明は、処理方法が異なる複数種類の信号処理に対応した複数種類のサンプルデータを、対応する前記信号処理の種類ごとに区分して記憶する共通の記憶手段と、１サンプリング周期毎にカウント値を更新し、該カウント値をベースアドレスとして出力するカウンタと、１サンプリング周期毎に、前記複数種類のサンプルデータのうちのいずれかのサンプルデータの書込処理が命令されると、入力される複数種類のサンプルデータから、命令された前記書込処理の対象となるサンプルデータを選択し、命令された前記書込処理用のオフセットアドレスを発生し、発生したオフセットアドレスによって前記ベースアドレスを修飾することにより、当該サンプルデータの書込アドレスを生成して前記記憶手段に供給し、１サンプリング周期毎に、前記複数種類のサンプルデータのうちのいずれかのサンプルデータの読出処理が命令されると、命令された前記読出処理用のオフセットアドレスを発生し、発生したオフセットアドレスによって前記ベースアドレスを修飾することにより、当該サンプルデータの読出アドレスを生成して前記記憶手段に供給するサンプルデータ入出力手段とを具備することを特徴とするデジタル信号処理装置を要旨とする。
【０００７】
請求項２に係る発明は、前記複数種類の信号処理における少なくとも１種類の信号処理は、１サンプリング周期において複数のサンプルデータを前記記憶手段に格納し、あるいは複数のサンプルデータを前記記憶手段から読み出す処理を含み、前記サンプルデータ入出力手段は、当該信号処理のために、複数の前記サンプルデータを前記記憶手段に格納するときには、１サンプリング周期毎に、複数種類の前記書込処理用のオフセットアドレスを発生し、これらのオフセットアドレスにより前記ベースアドレスを修飾することにより、複数種類の書込アドレスを生成して前記記憶手段に供給し、複数の前記サンプルデータを前記記憶手段から読み出すときには、１サンプリング周期毎に、複数種類の前記読出処理用のオフセットアドレスを発生し、これらのオフセットアドレスにより前記ベースアドレスを修飾することにより、複数種類の読出アドレスを生成して前記記憶手段に供給することを特徴とする請求項１に記載のデジタル信号処理装置を要旨とする。
【０００８】
請求項３に係る発明は、複数種類の信号処理に対応した複数種類のサンプルデータを記憶する共通の記憶手段と、１サンプリング周期毎にカウント値を更新し、該カウント値をベースアドレスとして出力するカウンタと、１サンプリング周期毎に、前記複数種類の信号処理に対応した相互に重複しない複数種類のオフセットアドレスを発生し、これらのオフセットアドレスによって前記ベースアドレスを修飾することにより、サンプルデータの書込アドレスまたは読出アドレスを信号処理の種類毎に生成して前記記憶手段に供給するサンプルデータ入出力手段とを備え、前記複数種類の信号処理における少なくとも１種類の信号処理は、１サンプリング周期においてＭ個（Ｍは整数）のサンプルデータを前記記憶手段に格納し、１個のサンプルデータを前記記憶手段から読み出す処理を含む１／Ｍ倍デシメーション処理であり、前記サンプルデータ入出力手段は、当該デシメーション処理のために、１サンプリング周期毎に、Ｍ個の書込用オフセットアドレスを発生し、これらの書込用オフセットアドレスによって前記ベースアドレスを修飾することにより、相互に隔たったＭ個の書込アドレスを生成して前記記憶手段に供給するとともに、１個の読出用オフセットアドレスを発生し、この読出用オフセットアドレスによって前記ベースアドレスを修飾することにより、読出アドレスを生成して前記記憶手段に供給することを特徴とするデジタル信号処理装置を要旨とする。
【０００９】
請求項４に係る発明は、複数種類の信号処理に対応した複数種類のサンプルデータを記憶する共通の記憶手段と、１サンプリング周期毎にカウント値を更新し、該カウント値をベースアドレスとして出力するカウンタと、１サンプリング周期毎に、前記複数種類の信号処理に対応した相互に重複しない複数種類のオフセットアドレスを発生し、これらのオフセットアドレスによって前記ベースアドレスを修飾することにより、サンプルデータの書込アドレスまたは読出アドレスを信号処理の種類毎に生成して前記記憶手段に供給するサンプルデータ入出力手段とを備え、前記複数種類の信号処理における少なくとも１種類の信号処理は、１サンプリング周期において１個のサンプルデータを前記記憶手段に格納し、Ｊ個（Ｊは整数）のサンプルデータを前記記憶手段からＫ回（Ｋは整数）読み出す処理を含むＫ倍オーバサンプリング処理であり、前記サンプルデータ入出力手段は、当該オーバサンプリング処理のために、１サンプリング周期毎に、１個の書込用オフセットアドレスを発生し、これらの書込用オフセットアドレスによって前記ベースアドレスを修飾することにより、書込アドレスを生成して前記記憶手段に供給するとともに、Ｊ個の読出用オフセットアドレスを発生し、この読出用オフセットアドレスによって前記ベースアドレスを修飾することにより、Ｊ個の読出アドレスを生成して前記記憶手段にＫ回供給することを特徴とするデジタル信号処理装置を要旨とする。
【００１０】
【発明の実施の形態】
以下、本発明を更に理解しやすくするため、実施の形態について説明する。
かかる実施の形態は、本発明の一態様を示すものであり、この発明を限定するものではなく、本発明の範囲で任意に変更可能である。
【００１１】
図１はこの発明の一実施形態であるＤＳＰの構成の一部を示すブロック図である。図１において、命令ＲＯＭ１は、デジタル信号処理を行うための一連の命令コードを記憶したＲＯＭ（Read Only Memory；読出専用メモリ）である。
【００１２】
ここで、命令ＲＯＭ１は、記憶した一連の命令コードの読出アドレスを発生する読出アドレスカウンタ（図示略）を有している。この読出アドレスカウンタは、１サンプリング周期１／ｆｓ毎に発生されるサンプリングクロックＣＫｓによってリセットされ、このサンプリングクロックＣＫｓよりも周波数の高い命令読出クロックのカウントを行う。そして、命令ＲＯＭ１はこの読出アドレスカウンタのカウント値を読出アドレスとし、この読出アドレスによって特定される命令コードを出力する。
【００１３】
このＤＳＰにおいて行われるデジタル信号処理には、８倍オーバサンプリング処理、ＨＰＦ（高域通過）処理および１／４倍デシメーション処理がある。命令ＲＯＭ１内には、これらの各信号処理に対応した命令コードが記憶されており、各サンプリング周期では、これらの命令コードが読み出される。
【００１４】
命令ＲＯＭ１から読み出される各命令コードは、多くの制御情報により構成されており、これらはＤＳＰ内の各部に供給される。図１では、セレクタ２に対してセレクト信号Ｓａが、セレクタ３に対してセレクト信号Ｓｂが、ＲＡＭ４に対して書込／読出制御信号が、演算部５に対して演算制御信号が、加算器７および８には各々オフセットアドレスが供給されている。これらの各情報は、命令ＲＯＭ１から読み出される命令コードの一部をなす制御情報もしくはそのような制御情報から生成された制御情報である。ここで、加算器７に供給されるオフセットアドレスは、サンプルデータをＲＡＭ４に書き込むことを指令する命令コードに含まれている情報である。また、加算器８に供給されるオフセットアドレスは、サンプルデータをＲＡＭ４から読み出すことを指令する命令コードに含まれている情報である。これらのオフセットアドレスは、各信号処理に対応したサンプルデータの書込アドレスまたは読出アドレスを生成する際のアドレス修飾に使用される。本実施形態では、８倍オーバサンプリング処理、ＨＰＦ処理および１／４倍デシメーション処理に対応し、相互に隔たった複数のオフセットアドレスが定められ、該当する各命令コードに設定されている。
【００１５】
セレクタ２には、８倍オーバサンプリング処理の対象であるサンプルデータＯ／Ｓと、ＨＰＦ処理の対象であるサンプルデータＨと、１／４倍デシメーション処理の対象であるサンプルデータＤとが入力される。また、セレクタ２には、各サンプルデータを選択するためのセレクト信号Ｓａが命令ＲＯＭ１から供給される。セレクタ２は、このセレクト信号Ｓａに従って各サンプルデータを選択し、サンプルデータＯ／ＳおよびＨを１サンプリング周期の間に各１個ずつＲＡＭ４に供給し、サンプルデータＤを１サンプリング周期の間に４個ずつＲＡＭ４に供給する。
【００１６】
セレクタ３は、命令ＲＯＭ１から与えられるセレクト信号Ｓｂに従って、加算器７から出力される書込アドレスまたは加算器８から出力される読出アドレスを選択し、ＲＡＭ４のアドレス端子に供給する。なお、書込アドレスおよび読出アドレスの生成方法については後述する。
【００１７】
ＲＡＭ４は、セレクタ２を介して供給されるサンプルデータＯ／Ｓ、ＨおよびＤを記憶するための記憶手段である。ＲＡＭ４における各サンプルデータの記憶先は、セレクタ３を介して供給される書込アドレスにより特定され、読出対象であるサンプルデータは、セレクタ３を介して供給される読出アドレスにより特定される。また、書込動作を行うか読出動作を行うかの切り換えは、命令ＲＯＭ１からの書込／読出制御信号に従って行われる。ＲＡＭ４は、セレクタ３を介したアドレスの供給および命令ＲＯＭ１からの書込／読出制御信号の供給を受けることにより、セレクタ２からの各サンプルデータを記憶して適切なタイミングで演算部５に供給するリングバッファとして機能する。
【００１８】
演算部５は、命令ＲＯＭ１から与えられる演算制御信号に従い、ＲＡＭ４から読み出されるサンプルデータに対する係数畳み込み処理などを行う手段である。ここで、命令ＲＯＭ１から与えられる演算制御信号には、各フィルタ処理に使用するフィルタ係数も含まれている。
【００１９】
カウンタ６は、サンプリングクロックＣＫｓをカウントし、そのカウント値をベースアドレスＣＮＴとして出力する。ここで、カウンタ６のカウント範囲は、サンプルデータ記憶用のリングバッファとして使用されるＲＡＭ４のアドレス範囲と一致している。すなわち、例えばＲＡＭ４における０番地からＭ−１番地までのＭ個のエリアによりサンプルデータ記憶用のリングバッファを構成する場合、カウンタ６については「０」から「Ｍ−１」までカウントするように構成するのである。
【００２０】
加算器７は、ＲＡＭ４にサンプルデータを書き込むべきときに命令ＲＯＭ１から与えられるオフセットアドレスと、上記カウンタ６からのベースアドレスＣＮＴとを加算し、その加算結果を書込アドレスとして出力する。また、加算器８は、ＲＡＭ４からサンプルデータを読み出すべきときに命令ＲＯＭ１から与えられるオフセットアドレスと、上記カウンタ６からのベースアドレスＣＮＴとを加算し、その加算結果を読出アドレスとして出力する。
【００２１】
次に本実施形態の動作について説明する。
既に説明したように、本実施形態では、各サンプリング周期毎に、８倍オーバサンプリング処理、ＨＰＦ処理および１／４倍デシメーション処理に対応した一連の命令コードが命令ＲＯＭ１から読み出される。これらの各フィルタ処理は、各々の処理対象であるサンプルデータをＲＡＭ４に書き込む処理と、このＲＡＭ４内のサンプルデータを読み出す処理とを含んでいる。
【００２２】
ここで、各サンプルデータのＲＡＭ４への書込処理について説明する。
まず、あるサンプリング周期において、８倍オーバサンプリング処理の対象であるサンプルデータＯ／Ｓの書込処理を命じる命令コードが命令ＲＯＭ１から読み出されると、これに伴い、サンプルデータＯ／Ｓを選択するための選択信号Ｓａ、加算器７の出力信号を選択するための選択信号ＳｂおよびＲＡＭ４への書込指令がセレクタ２、３およびＲＡＭ４に各々供給される。セレクタ２では、上記選択信号Ｓａが与えられることにより、その時点におけるサンプルデータＯ／Ｓ（例えばサンプルデータＯ／Ｓ（０）とする。）が選択され、ＲＡＭ４に供給される。また、上記命令コードには、サンプルデータＯ／Ｓに対応した所定のオフセットアドレスＯＦ１が含まれており、これが命令ＲＯＭ１から加算器７へ供給される。そして、加算器７により、このオフセットアドレスＯＦ１とカウンタ６からのベースアドレスＣＮＴとが加算され、その加算結果がセレクタ３によって選択され、ＲＡＭ４に書込アドレスとして供給される。この結果、サンプルデータＯ／Ｓ（０）がこの書込アドレスに対応したＲＡＭ４内のエリアに書き込まれる。
【００２３】
また、ＨＰＦ処理の対象であるサンプルデータＨの書込処理を命じる命令コードが命令ＲＯＭ１から読み出された場合も、上記サンプルデータＯ／Ｓの場合と同様な制御信号（選択信号等）が発生され、その時点におけるサンプルデータＨ（例えばサンプルデータＨ（０）とする。）がセレクタ２を介してＲＡＭ４に供給される。また、上記命令コードには、サンプルデータＨに対応したオフセットアドレスＯＦ２が含まれている。そして、このオフセットアドレスＯＦ２とベースアドレスＣＮＴとを加算した書込アドレスがＲＡＭ４に供給され、サンプルデータＨ（０）がこの書込アドレスに対応したＲＡＭ４内のエリアに書き込まれる。
【００２４】
１／４倍デシメーション処理の場合、以上説明した他の２種類のフィルタ処理の場合と異なり、１サンプリング周期の間に、４個のサンプルデータＤの各書込処理を命じる例えば４個の命令コードが命令ＲＯＭ１から順次読み出される。これらの各命令コードは、いずれもサンプルデータＤの書き込みを指令するものであるが、各々は相互に「４」ずつ隔たった所定のオフセットアドレスＯＦ３０〜ＯＦ３３を含んでいる。
【００２５】
従って、これらの各命令コードが命令ＲＯＭ１から順次読み出されると、当該サンプリング周期において処理すべき４個のサンプルデータ（例えばサンプルデータＤ（０）〜Ｄ（３）とする。）がセレクタ２を介してＲＡＭ４に順次供給されるとともに、これと同期し、オフセットアドレスＯＦ３０〜ＯＦ３３にベースアドレスＣＮＴを加算した各書込アドレスがＲＡＭ４に順次供給される。この結果、サンプルデータＤ（０）〜Ｄ（３）は、ＲＡＭ４内の相互に４アドレスずつ離れた４箇所に分散して格納されることとなる。
【００２６】
図２（ａ）は、以上のようにしてＲＡＭ４に書き込まれたサンプルデータＯ／Ｓ（０）、Ｈ（０）およびＤ（０）〜Ｄ（３）を例示したものである。なお、図示は省略したが、サンプルデータＯ／Ｓ（０）、サンプルデータＨ（０）およびサンプルデータＤ（０）〜Ｄ（３）の各々の後には、過去入力された同種のサンプルデータが続いている。
【００２７】
本実施形態では、この図に示すように、ＲＡＭ４内をオーバサンプリング用エリア、ＨＰＦ用エリアおよびデシメーション用エリアに区分し、各サンプルデータを各々の種類に対応したエリアに格納することにより、各サンプルデータの棲み分けを図っている。また、デシメーション用エリアについては、さらに４つのエリアに区分し、サンプリング周期内において発生する４個のデシメーション処理用サンプルデータをこれらの４つのエリアに分散させて格納するようにしている。オーバサンプリング用エリア、ＨＰＦ用エリアおよびデシメーション用エリアの相対的位置関係は、オフセットアドレスＯＦ１、ＯＦ２およびＯＦ３０により決定される。また、デシメーション用エリアにおけるサンプルデータＤ（０）〜Ｄ（３）の各格納位置の相対的位置関係は、オフセットアドレスＯＦ３０〜ＯＦ３３により決定される。図２（ａ）に示す例では、当該サンプリング周期においてベースアドレスＣＮＴの内容が「０」となっている。従って、同図に示すように、各サンプルデータＯ／Ｓ（０）、Ｈ（０）およびＤ（０）〜Ｄ（３）は、ＲＡＭ４内のアドレスＯＦ１、ＯＦ２、ＯＦ３０〜ＯＦ３３に対応した各エリアに格納されている。
【００２８】
次に、サンプリング周期が切り換わると、再び、８倍オーバサンプリング処理、ＨＰＦ処理および１／４倍デシメーション処理の各処理に対応したサンプルデータの書込処理を命じる各命令コードが命令ＲＯＭ１から読み出される。そして、この新たなサンプリング周期においても、上述したように各命令コードに含まれるオフセットアドレスＯＦ１、ＯＦ２、ＯＦ３０〜ＯＦ３３を用いて各サンプルデータの書込アドレスが生成される。ただし、この新たなサンプリング周期では、ベースアドレスＣＮＴが「１」だけ増加しているので、各サンプルデータに対応した各書込アドレスは、直前のサンプリング周期において生成されたものよりも各々「１」だけ進むこととなる。このため、図２（ｂ）に例示するように、当該サンプリング周期においてＲＡＭ４に与えられた各サンプルデータＯ／Ｓ（１）、Ｈ（１）およびＤ（４）〜Ｄ（７）は、サンプルデータＯ／Ｓ（０）、Ｈ（０）およびＤ（０）〜Ｄ（３）の各格納位置よりも各々１アドレスだけ進んだ各位置に格納されることとなる。
【００２９】
その後のサンプリング周期についても同様であり、図２（ｃ）に例示するように、新たなサンプルデータＯ／Ｓ（２）、Ｈ（２）およびＤ（８）〜Ｄ（１１）は、サンプルデータＯ／Ｓ（１）、Ｈ（１）およびＤ（４）〜Ｄ（７）の各格納位置よりも各々１アドレスだけ進んだ各位置に格納されることとなる。以後の各サンプリング周期においても同様である。
【００３０】
次に、各サンプルデータのＲＡＭ４からの読出処理について説明する。
まず、８倍オーバサンプリング処理では、ＲＡＭ４内に格納された過去ｎ個（ｎはオーバサンプリングの際の補間演算の次数に対応した整数である。）のサンプルデータＤに畳み込み演算を施すことにより、元のサンプルデータの８倍のサンプリング周波数のサンプルデータを１サンプリング周期当たり８個生成する。このような処理に対応し、本実施形態では、８倍オーバサンプリング処理の対象となるサンプルデータの読み出しを命じるｎ×８個の命令コードが命令ＲＯＭ１に記憶されている。
【００３１】
これらのｎ×８個の命令コードのうち最初のｎ個の命令コードは、ＲＡＭ４からの読み出しを指令する情報の他、ｎ個のサンプルデータＯ／Ｓに対応したオフセットアドレスＯＦ１、ＯＦ１−１、ＯＦ１−２、…、ＯＦ１−ｎ＋１を各々含むとともに、演算部５によって各サンプルデータに乗じられるべきｎ個のフィルタ係数を各々含んでいる。
【００３２】
これらのｎ個の命令コードが命令ＲＯＭ１から読み出されると、その都度、加算器８の出力信号を選択する選択信号ＳｂおよびＲＡＭ４に対する読出指令がセレクタ３およびＲＡＭ４に各々供給される。また、命令ＲＯＭ１から読み出されたｎ個の命令コードに含まれるオフセットアドレスＯＦ１、ＯＦ１−１、ＯＦ１−２、…、ＯＦ１−ｎ＋１は、加算器８に順次供給され、ｎ個のフィルタ係数は演算部５に送られる。
【００３３】
加算器８では、ｎ個の連続した読出アドレスＣＮＴ＋ＯＦ１、ＣＮＴ＋ＯＦ１−１、…、ＣＮＴ＋ＯＦ１−ｎ＋１が生成され、これらはセレクタ３を介してＲＡＭ４に供給される。この結果、各読出アドレスに対応した８個のサンプルデータがＲＡＭ４から読み出され、演算部５に供給される。すなわち、例えば、あるサンプリング周期において図２（ａ）に例示するようにサンプルデータＯ／Ｓ（０）がＲＡＭ４に格納された場合、このサンプルデータＯ／Ｓ（０）およびこれより以前にＲＡＭ４に書き込まれたサンプルデータＯ／Ｓ（−１）〜Ｏ／Ｓ（−ｎ＋１）がＲＡＭ４から読み出され、演算部５に供給されるのである。
【００３４】
そして、演算部５では、これらのｎ個のサンプルデータに対し、命令ＲＯＭ１から供給されたｎ個のフィルタ係数を用いた畳み込み処理が施され、当該サンプリング周期内において生成すべき８個のサンプルデータのうちの第１番目のサンプルデータが生成される。
【００３５】
最初のｎ個の命令コードと同様、２番目のｎ個の命令コードも、ｎ個のサンプルデータＯ／Ｓに対応したオフセットアドレスＯＦ１、ＯＦ１−１、ＯＦ１−２、…、ＯＦ１−ｎ＋１と、各サンプルデータに乗じられるべきｎ個のフィルタ係数とを含んでいる。しかし、今回のｎ個の命令コードに含まれる各フィルタ係数は、第１番目のサンプルデータとは位相の異なった第２番目のサンプルデータを得るのに使用されるものであり、最初のｎ個の命令コードに含まれていた各フィルタ係数とは内容が異なっている。３番目のｎ個の命令コード〜８番目のｎ個の命令コードもこの２番目のｎ個の命令コードと同様である。これらの２番目のｎ個の命令コード〜８番目のｎ個の命令コードも、上述した最初のｎ個の命令コードと同様の手順で実行され、ｎ個のサンプルデータを用いた畳み込み処理により、第２番目〜第８番目のサンプルデータが生成される。
【００３６】
そして、サンプリング周期が切り換わると、ベースアドレスＣＮＴが「１」だけ増加し、前サンプリング周期において読み出したｎ個のサンプルデータよりも各々１サンプリング周期だけ後のｎ個のサンプルデータがＲＡＭ４から読み出され、上記と同様、８個のサンプルデータが演算部５により生成される。
以上が８倍オーバサンプリング処理に対応したサンプルデータの読み出し処理の詳細である。
【００３７】
ＨＰＦ処理の対象となるサンプルデータＨの読み出しも、上記と同様であり、１サンプリング周期の間に、ＨＰＦ処理に必要なサンプルデータがＲＡＭ４から読み出され、演算部５に送られる。この場合も、ＲＡＭ４から演算部５へ送られるサンプルデータは、上記と同様、命令ＲＯＭ１から読み出される命令コード中のオフセットアドレスにより特定される。
【００３８】
１／４倍デシメーション処理では、ＲＡＭ４に順次書き込まれたサンプルデータＤの列から４個に１個の割合でサンプルデータを順次取り出して出力する。このデシメーション処理を行うため、本実施形態では、デシメーション処理用サンプルデータＤの読み出しを命じる命令コードとして、例えばオフセットアドレスＯＦ３０を含む命令コードが命令ＲＯＭ１に記憶されている。
【００３９】
各サンプリング周期においては、このデシメーション処理用サンプルデータＤの読み出しを命じる命令コードが命令ＲＯＭ１から読み出される。そして、同命令コード中のオフセットアドレスＯＦ３０と当該サンプリング周期におけるベースアドレスＣＮＴとを加算した読出アドレスがＲＡＭ４に供給され、この読出アドレスに対応したサンプルデータＤが読み出される。この結果、あるサンプリング周期ではサンプルデータＤ（０）、次のサンプリング周期ではサンプルデータＤ（４）、さらに次のサンプリング周期ではサンプルデータＤ（８）、…という具合に、元のサンプルデータを４個に１個の割合で順次選択したサンプルデータがＲＡＭ４から順次読み出されることとなる。このことは、図２（ｃ）に例示されているデシメーション用エリアのサンプルデータの記憶状態から容易に理解されよう。
【００４０】
なお、以上説明した本発明の実施形態では、１／４倍デシメーション処理を行う場合を例に挙げたが、本発明の適用範囲はこれに限定されるものではなく、本発明は任意の１／Ｍ倍デシメーション処理を行うＤＳＰに適用可能である。この場合、１サンプリング周期の間にＲＡＭ４に書き込むＭ個のサンプルデータに対応して、Ｍ個の異なったオフセットアドレスを用意し、これらのオフセットアドレスとベースアドレスとを用いて、ＲＡＭ４における各サンプルデータの格納アドレスを決定すればよい。
【００４１】
また、ＤＳＰが実行する信号処理の種類も限定されるものではなく、例えばオーバサンプリング処理と、１／Ｍ倍デシメーション処理と、１／Ｌ倍デシメーション処理（Ｌ＞Ｍ）とを行うＤＳＰに本発明を適用してもよい。この場合、オーバサンプリング処理用に１個、１／Ｍ倍デシメーション処理用にＭ個、１／Ｌ倍デシメーション処理用にＬ個の相互に異なったオフセットアドレスを用意し、これらのオフセットアドレスとベースアドレスとを用いて、ＲＡＭ４における各サンプルデータの格納アドレスを決定すればよい。
【００４２】
【発明の効果】
以上説明したように、この発明に係るデジタル信号処理装置によれば、複数種類の信号処理に対応した複数種類のサンプルデータを記憶する共通の記憶手段と、１サンプリング周期毎にカウント値を更新し、該カウント値をベースアドレスとして出力するカウンタと、１サンプリング周期毎に、前記複数種類の信号処理に対応した相互に重複しない複数種類のオフセットアドレスを発生し、これらのオフセットアドレスによって前記ベースアドレスを修飾することにより、サンプルデータの書込アドレスまたは読出アドレスを信号処理の種類毎に生成して前記記憶手段に供給するサンプルデータ入出力手段とを設けたので、各種の信号処理の対象であるサンプルデータを記憶するための資源（記憶手段、カウンタおよびサンプルデータ入出力手段）を各信号処理間で共用することができ、必要なハードウェア量を削減することができるという効果がある。
【図面の簡単な説明】
【図１】  この発明の一実施形態であるＤＳＰの構成の一部を示すブロック図である。
【図２】  同実施形態におけるＲＡＭに記憶されたサンプルデータを例示する図である。
【符号の説明】
１……命令ＲＯＭ、２,３……セレクタ、４……ＲＡＭ、
５……演算部、６……カウンタ、
７，８……加算器。
【図１】
0004126779.tif 000002
【図２】
0004126779.tif 000003