JP2006260411A - 信号処理装置およびそれを利用した通信機器 - Google Patents
信号処理装置およびそれを利用した通信機器 Download PDFInfo
- Publication number
- JP2006260411A JP2006260411A JP2005079713A JP2005079713A JP2006260411A JP 2006260411 A JP2006260411 A JP 2006260411A JP 2005079713 A JP2005079713 A JP 2005079713A JP 2005079713 A JP2005079713 A JP 2005079713A JP 2006260411 A JP2006260411 A JP 2006260411A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- signal processing
- data
- memory
- output
- 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
Abstract
【課題】 複数の演算を実行する際のプロセッサの負荷を軽減する。
【解決手段】 信号処理装置10は、入力メモリ12、選択部14、演算部16、出力メモリ18、マイクロスケジューラ20を含む。プロセッサ22は、プロセッサバス26を介して、入力メモリ12と出力メモリ18との間で、データの受け渡しを行う。また、プロセッサ22は、マイクロスケジューラ20と接続されている。また、プロセッサ22とマイクロスケジューラ20は、プロセッサバス26を介して、データの受け渡しを行ってもよい。さらに、出力メモリ18と選択部14は、専用バス24で接続されている。
【選択図】 図1
【解決手段】 信号処理装置10は、入力メモリ12、選択部14、演算部16、出力メモリ18、マイクロスケジューラ20を含む。プロセッサ22は、プロセッサバス26を介して、入力メモリ12と出力メモリ18との間で、データの受け渡しを行う。また、プロセッサ22は、マイクロスケジューラ20と接続されている。また、プロセッサ22とマイクロスケジューラ20は、プロセッサバス26を介して、データの受け渡しを行ってもよい。さらに、出力メモリ18と選択部14は、専用バス24で接続されている。
【選択図】 図1
Description
本発明は、信号処理技術に関し、特に複数の演算を実行する信号処理装置およびそれを利用した通信機器に関する。
近年、通信回線のブロードバンド化に伴い、データ通信の高速化が非常に望まれている。この高速化は、有線でのデータ通信のみならず、無線でのデータ通信に対しても同様に要求され、ワイヤレスLAN、CDMA、GPRS等の種々の通信方式で実現されている。しかしながら、無線でのデータ通信は、無線通信機器を携帯して使用することを前提とすることから、無線通信機器の小型化が必須の課題となる。
無線通信機器の内部で行う処理のうち、非常に多くの個所で行われ、かつ、そのハードウェア規模が大きい処理の例として、フィルタ演算がある。無線通信機器におけるフィルタの用途は、例えば、隣接チャネルへの電力の漏洩を防止する帯域制限処理、レート変換処理などである。これらのフィルタ処理は、フィルタがアナログであるかデジタルであるかを問わず、急峻な特性が求められる。これを実現するためにはハードウェア規模が増大してしまうため、いくつかのフィルタを連結させて構成する必要がある。しかし、この場合であっても、連結させるフィルタの個数が多くなると、個々のフィルタに要する乗算器、メモリによってハードウェア規模が大きくなってしまう。従って、従来は、1つの乗算器を使い回す制御を行うことによって、ハードウェア規模を低減させていた(例えば、特許文献1参照。)。
特開平6−232694号公報 (第3図)
本発明者はこうした状況下、以下の課題を認識するに至った。すなわち、複数のフィルタから構成される処理を実現するためには、各フィルタごとに、制御回路がその動作、及びメモリ管理を行わなければならず、フィルタの段数、もしくは、フィルタの個数が増加するにつれ、演算を制御するDSP等の制御回路の負荷が重くなるといった課題である。
本発明はこうした状況に鑑みてなされたものであり、その目的は、連結フィルタ等の多段からなる演算の処理を行う場合においても、DSP等の制御回路の負荷を低減することのできる信号処理装置を提供することにある。
上記課題を解決するために、本発明のある態様の信号処理装置は、入力された演算対象のデータを格納する入力メモリと、演算結果のデータを格納する出力メモリと、入力メモリに格納されたデータと出力メモリに格納されたデータのいずれかを選択して出力する選択部と、選択部から出力されたデータに対する演算を行って出力メモリに格納する演算部と、選択部を制御する選択制御部を有するマイクロスケジューラと、を備える。
出力メモリから選択部へのデータの転送は専用バスにて行われ、マイクロスケジューラは、当該マイクロスケジューラを制御するプロセッサによって予め設定されたタイミングに従って、選択部の出力を切替える。
この態様によると、プロセッサとは別個に、マイクロスケジューラを信号処理装置の内部に設けることによって、演算処理中にプロセッサの介在を防止し、プロセッサの負荷を軽減することができる。また、メモリ間のデータの転送を、信号処理装置の外部の汎用バスを用いずに、信号処理装置の内部の専用バスを用いて行うことによって、プロセッサによる汎用バスの制御を軽減することができる。このようにプロセッサの負荷を軽減することによって、プロセッサは、当該演算処理中に他の処理を実行することができるので、システム全体の高速化を図ることができる。
本発明の別の態様もまた、信号処理装置である。この装置は、入力された演算対象のデータを格納する入力メモリと、演算結果のデータを格納する出力メモリと、入力メモリに格納されたデータと出力メモリに格納されたデータのいずれかを選択して出力する選択部と、選択部から出力されたデータに対する演算を行って出力メモリに格納する演算部と、所定の処理を構成する複数の演算を処理単位として、処理単位ごとに演算の内容を演算部に設定するとともに、演算部の処理単位の進行タイミングを制御するマイクロスケジューラと、を備える。
マイクロスケジューラは、当該マイクロスケジューラを制御するプロセッサによって予め設定された処理単位ごとの演算内容とタイミングに従って、演算内容の設定および進行タイミングの制御を行う。
この態様によると、処理単位ごとの演算の内容がマイクロスケジューラに予め設定されているので、プロセッサは演算途中に信号処理装置に介在する必要がなくなる。従って、プロセッサの負荷を軽減することができる。
ここで、「所定の処理」とは、1つ以上の演算を指す。同一のもしくは異なった2つ以上の演算であってもよい。また、「処理単位」は、「所定の処理」のうちの1つの演算を指す。例えば、「所定の処理」が、直列接続された2つのFIRフィルタを指す場合、「処理単位」は、1つのFIRフィルタとなる。
本発明のさらに別の態様もまた、信号処理装置である。この装置は、信号処理装置において、マイクロスケジューラは、処理単位ごとに処理開始タイミングを検知する検知部を備え、新たな処理単位の処理開始に先立ち、プロセッサによって予め与えられた新たな処理単位の演算内容を演算部に再設定する。
この態様によると、マイクロスケジューラ自身が処理単位ごとの演算の内容を把握しているので、連結フィルタのように多段からなる処理であっても、演算の途中でのプロセッサの介入を必要としないで、多段の演算を制御することができる。
本発明の別の態様は、通信機器である。この通信機器は、所定のデータを受信する受信部と、受信部から出力されたデータの信号処理を行い、または、所定の送信データの信号処理を行って所望の信号を出力する信号処理装置と、信号処理装置から出力された所望の信号を送信する送信部と、送信部と受信部と信号処理装置を制御するプロセッサとを備える。
この態様によると、マイクロスケジューラの自律動作機能により、プロセッサの負荷を軽減できるので、通信機器を小型化することができる。
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
本発明によれば、信号処理装置において、プロセッサの処理負荷を低減させることができる。
(実施例)
本発明を具体的に説明する前に、概要を述べる。本発明の実施例は、マイクロスケジューラを備えた信号処理装置に関する。本実施例に係る信号処理装置は、プロセッサからの演算等に関する情報の設定及び開始指示を受けた後、設定された演算を実行する。ここで、マイクロスケジューラは、演算等の関する情報を予め設定されているので、演算中における演算の制御およびメモリの管理の一切を自律的に制御できる。これにより、演算途中において、プロセッサが信号処理装置に介入する必要がなくなり、プロセッサの負荷が低減される。詳細は後述するが、信号処理装置は、単なる四則演算、フィルタ処理といった1つの演算だけでなく、複数のフィルタからなる多段処理においても、演算を自律的に行うことができるものである。ここで、プロセッサとは、当該信号処理装置を統括する上位の制御装置であって、CPUやDSP等を指すものとする。また、信号処理装置とは、主としてハードウェアで構成された装置を指すものとする。
本発明を具体的に説明する前に、概要を述べる。本発明の実施例は、マイクロスケジューラを備えた信号処理装置に関する。本実施例に係る信号処理装置は、プロセッサからの演算等に関する情報の設定及び開始指示を受けた後、設定された演算を実行する。ここで、マイクロスケジューラは、演算等の関する情報を予め設定されているので、演算中における演算の制御およびメモリの管理の一切を自律的に制御できる。これにより、演算途中において、プロセッサが信号処理装置に介入する必要がなくなり、プロセッサの負荷が低減される。詳細は後述するが、信号処理装置は、単なる四則演算、フィルタ処理といった1つの演算だけでなく、複数のフィルタからなる多段処理においても、演算を自律的に行うことができるものである。ここで、プロセッサとは、当該信号処理装置を統括する上位の制御装置であって、CPUやDSP等を指すものとする。また、信号処理装置とは、主としてハードウェアで構成された装置を指すものとする。
ここで、図1乃至図4を用いて、本発明の実施例に係るマイクロスケジューラを備えた信号処理装置について説明する。
図1は、本発明の実施の形態に係る信号処理装置10とプロセッサ22の構成を示す図である。信号処理装置10は、入力メモリ12、選択部14、演算部16、出力メモリ18、マイクロスケジューラ20を含む。プロセッサ22は、プロセッサバス26を介して、入力メモリ12と出力メモリ18との間で、データの受け渡しを行う。また、プロセッサ22は、マイクロスケジューラ20と接続されている。また、プロセッサ22とマイクロスケジューラ20は、プロセッサバス26を介して、データの受け渡しを行ってもよい。さらに、出力メモリ18と選択部14は、専用バス24で接続されている。
図2は、図1のマイクロスケジューラ20の構成を示す図である。マイクロスケジューラ20は、選択制御部28、アドレッシング部30、演算設定部32、検知部34、進行制御部36を含む。アドレッシング部30は、アドレス生成部38を含む。
図3は、図1のマイクロスケジューラ20に設定される設定内容300を示す図である。設定内容300は、全処理数40と、全処理数40の値(例えば、N個)の数だけ設定情報を含む。全処理数40の値がNであった場合の設定情報は、図3に示すように、第1の設定情報42、第2の設定情報44,第Nの設定情報46を含む。各設定情報(42,44,46)は、演算の内容、入力メモリ12の開始アドレス、出力メモリ18の開始アドレス、及び、終了タイミングを含む。
図4は、図1の信号処理装置10とプロセッサ22のフローチャート400を示す図である。フローチャート400は、マイクロスケジューラ20への設定S02、動作開始の指示S04、設定処理S06、切替処理S08、演算処理S10、第1の終了判定S12、第2の終了判定S14、選択部14への出力S16、プロセッサ22への出力S20を含む。フローチャート400に含まれる処理のうち、マイクロスケジューラ20への設定S02と動作開始の指示S04は、プロセッサ22の処理である。また、設定処理S06、切替処理S08、演算処理S10、第1の終了判定S12、第2の終了判定S14、選択部14への出力S16、およびプロセッサ22への出力S20は、信号処理装置10の処理である。
ここで、例として、第1と第2のFIRフィルタが直列に2つ連結された場合の演算処理について、図4を用いて説明する。ここで、第1のFIRフィルタと第2のFIRフィルタは、それぞれタップ数が異なってもよいし、各タップにおける係数が異なってもよい。
まず、マイクロスケジューラ20への設定S02において、プロセッサ22が、マイクロスケジューラ20に対し、第1と第2のFIRフィルタの演算に関する設定内容300を設定する。ここで、1つのFIRフィルタ演算を処理単位とするので、設定される設定内容300のうち、全処理数40には2が設定される。さらに、第1の設定情報42に第1のFIRフィルタに関する設定情報が設定され、第2の設定情報44に第2のFIRフィルタに関する設定情報が設定される。
第1の設定情報42の演算の内容は、第1のFIRフィルタ演算に関する内容であって、タップ数、各タップにおける係数を指す。第2の設定情報44の演算の内容も、第1の設定情報42の内容と同様に、第2のFIRフィルタに関する内容が設定される。
第1の設定情報42の入力メモリ12の開始アドレスは、入力メモリ12に格納されているデータの読み出し開始アドレスを指す。また、第2の設定情報44の入力メモリ12の開始アドレスは、出力メモリ18に格納されているデータの読み出し開始アドレスを意味する。出力メモリ18に格納されているデータは第1のFIRフィルタの演算結果であり、第2のFIRフィルタは、その第1のFIRフィルタの演算結果を入力として行われるからである。
第1の設定情報42の出力メモリ18の開始アドレスは、後に行われる演算部16による第1のFIRフィルタに係る演算結果を出力メモリ18に格納する際の書き込み開始アドレスを指す。また、第2の設定情報44の出力メモリ18の開始アドレスは、後に行われる演算部16による第2のFIRフィルタに係る演算結果を出力メモリ18に格納する際の書き込み開始アドレスを指す。
第1の設定情報42の終了タイミングは、第1のFIRフィルタ演算の処理時間、すなわち、演算の数を指す。また、第2の設定情報44の終了タイミングは、第2のFIRフィルタ演算の処理時間を指す。ここで、各々の終了タイミングは、プロセッサ22が、対応するFIRフィルタ演算に要する処理時間を、予め求めたものとなる。演算部16における演算内容、および処理データ数に基づいて算出してもよい。
次に、動作開始の指示S04において、プロセッサ22が信号処理装置10に内在するマイクロスケジューラ20に対して、動作開始の指示を行う。
以上のマイクロスケジューラ20への設定S02、動作開始の指示S04が、プロセッサ22における処理となる。以後、マイクロスケジューラ20への設定S02に係る演算が信号処理装置10にて完了するまで、プロセッサ22は信号処理装置10に介入することはない。
次に、信号処理装置10の内部における処理を順に説明する。本例においては、マイクロスケジューラ20への設定S02において、所定の演算を直列接続された第1と第2の2つのFIRフィルタからなる演算とし、また、その処理単位を各々のFIRフィルタ演算としている。以下、処理単位ごとに説明をする。
まず、第1の処理単位である第1のFIRフィルタに関する動作について説明する。
まず、設定処理S06において、マイクロスケジューラ20の演算設定部32は、演算部16に対し、演算内容の設定を行う。演算内容の設定とは、プロセッサ22から予め設定された設定内容300のうち、第1の設定情報42の演算の内容、すなわち、第1のFIRフィルタに関する内容を指す。
また、設定処理S06において、マイクロスケジューラ20のアドレッシング部30は、入力メモリ12に対し、アドレッシングを行う。アドレッシングは、プロセッサ22から予め設定された設定内容300のうち、第1の設定情報42の入力メモリ12の開始アドレスを入力メモリ12に伝えることを指す。同様に、マイクロスケジューラ20のアドレッシング部30は、出力メモリ18に対し、第1の設定情報42の出力メモリ18の開始アドレスのアドレッシングを行う。
次に、切替処理S08において、マイクロスケジューラ20の選択制御部28は、選択部14に対し、演算部16に出力するデータ元を切り替える。ここでは、処理単位のうち、初めの処理であるので、選択部14は入力メモリ12側に切り替えられる。
次に、演算処理S10において、マイクロスケジューラ20の演算部16は、設定処理S06において設定された演算内容を、選択部14から出力されたデータに対して行い、出力メモリ18に演算結果を格納する。ここでは、設定処理S06において設定された入力メモリ12の開始アドレスの格納されているデータに対しての第1のFIRフィルタ演算となる。
ここで、進行制御部36は、動作開始の指示S04において、プロセッサ22からマイクロスケジューラ20に動作開始の指示があったときのタイミングでカウンタを0とし、時間の進行とともにカウンタの値を増加する。アドレス生成部38は、カウンタの増加に伴って、入力メモリ12の開始アドレスをもとに、アドレスを生成する。生成されたアドレスを用いて、アドレッシング部30は入力メモリ12に対しアドレッシングを行う。同様に、アドレッシング部30は、出力メモリ18に対しても、出力メモリ18の開始アドレスをもとにしたアドレッシングを行う。
次に、第1の終了判定S12において、終了判定を行う。ここでは、設定処理S06において設定された第1の設定情報42のうちの第1の終了タイミングと、進行制御部36におけるカウンタの値とが一致しているか否かで判定される。双方の値が一致していない場合は、まだ演算部16において第1のFIRフィルタ演算が終了していないと判断され、第1の終了判定S12の分岐のうち、”No”で示した矢印に従って、演算処理S10に処理が戻る。一方、双方の値が一致している場合は、演算部16において第1のFIRフィルタ演算が終了したと判断され、第1の終了判定S12の分岐のうち、”Yes”で示した矢印に従って、第2の終了判定S14に処理が移る。
第2の終了判定S14においては、処理単位の演算についての終了判定が行われる。具体的には、処理単位の演算が設定処理S06において設定された全処理数40の値だけ繰り返されたかどうかによって判定される。ここでは、まだ、第2のFIRフィルタ演算が行われていないので、未終了と判断され、第2の終了判定S14の分岐のうち、”No”矢印に従って、選択部14への出力S16に処理が移る。
次に、選択部14への出力S16において、出力メモリ18に格納されている第1のフィルタ演算の結果が、選択部14へ転送される。選択部14へ転送は、プロセッサバス26ではなく、信号処理装置10内の専用バス24を介して行われる。
次に、第2の処理単位である第2のFIRフィルタ演算の動作について説明する。第1のFIRフィルタ演算と同様に、第2の処理単位である第2のFIRフィルタ演算が、設定処理S06、切替処理S08、演算処理S10、第1の終了判定S12において行われる。以下、第1のFIRフィルタ演算と異なる点を主に説明する。
設定処理S06においては、演算部16に対する設定内容が、第2の設定情報44の演算の内容となる点以外は、第1のFIRフィルタ演算の場合と同様である。
一方、マイクロスケジューラ20のアドレッシング部30におけるアドレッシングは、第1のFIRフィルタ演算のときとは異なり、出力メモリ18に対し、第2の設定情報44の「入力メモリの開始アドレス」を出力メモリ18に伝えることを指す。さらに、出力メモリ18に対し、第2の設定情報44の出力メモリの開始アドレスのアドレッシングを行う。
ここで、第2の処理単位である第2のFIRフィルタ演算における切替処理S08においては、第1のFIRフィルタ演算の場合とは異なり、演算部16の入力元を出力メモリ18に切り替える処理を行う。すなわち、第2のFIRフィルタ演算の入力データを、第1のFIRフィルタ演算の出力データとなるように切り替え処理を行うこととなる。
次の演算処理S10においては、マイクロスケジューラ20の演算部16における演算が、設定処理S06において設定された第2の演算内容、すなわち第2のFIRフィルタ演算とする点、および、演算対象となるデータは、設定処理S06において設定された入力メモリの開始アドレスの格納されているデータであって、かつ選択部14から出力されたデータとなる点、さらに、アドレッシング部30が、すでに動作している進行制御部36のカウンタの値と第2の設定情報44の入力メモリ12の開始アドレスをもとに、アドレスを切り替える点以外は、第1のFIRフィルタ演算の場合と同様である。
次の第1の終了判定S12においては、終了判定に、設定処理S06において設定された第2の設定情報44のうちの第2の終了タイミングを用いる点以外は、第1のFIRフィルタ演算の場合と同様である。
第2の終了判定S14においては、処理単位の演算についての終了判定が行われる。この段階では、すでに、第1,第2のFIRフィルタ演算の双方が完了しているので、終了と判断され、第2の終了判定S14の分岐のうち、”Yes”で示した矢印に従って、プロセッサ22への出力S20に処理が移る。なお、第1、第2のFIRフィルタ演算の次の処理単位に係る演算が設定内容300に設定されている場合は、終了と判断されず、第2の終了判定S14の分岐のうち、”No”で示した矢印に従って、選択部への出力S16に処理が移り、以後同様に処理が繰り返されることとなる。
プロセッサ22への出力S20において、マイクロスケジューラ20のアドレッシング部30は、出力メモリ18に対し、格納されている演算結果をプロセッサ22に転送するためのアドレッシングを行う。このとき、プロセッサ22への転送は、信号処理装置10の外部に設けられている汎用のプロセッサバス26を介して行われる。
以上のような構成をとることにより、プロセッサ22の介入なしに、マイクロスケジューラ20は自律的に所定の演算を行うことができるため、プロセッサ22の負荷を低減することができる。
次に、本発明の実施例の変形例を示す。変形例は、図1中の信号処理装置10における入力メモリ12がブロック化され、サイクリックバッファとして使用する場合である。サイクリックバッファとは、メモリ内を複数のブロックに分け、各ブロック内で巡回してデータを格納するバッファを指す。ここで、ブロック数、各ブロックのサイズは、プロセッサ22が、予めマイクロスケジューラ20に設定するものとする。
サイクリックバッファの構成、動作について、図5から図8を用いて説明する。
図5は、図1の入力メモリ12がサイクリックバッファ500であるときの構成図を示す図である。ここで、サイクリックバッファ500は、3つのブロック(第1のブロック50、第2のブロック52、第3のブロック54)から構成されるものと仮定した。第1のブロック50は3つのアドレス領域を有する。また、第2のブロック52は2つのアドレス領域を有する。また、第3のブロック54は、4つのアドレス領域を有する。
図6は、図2のマイクロスケジューラ20内のアドレス生成部38の構成を示す図である。アドレス生成部38は、第1の剰余器60と、第2の剰余器62と、第3の剰余器64を含む。さらに、アドレス生成部38は、第1の加算器66と、第2の加算器68と、第3の加算器70と、第4の加算器72と、第5の加算器74と、第6の加算器76を含む。
剰余器(60、62、64)は、入力されるカウンタの値を被剰余数とし、それぞれに与えられた剰余数を使って剰余演算を行う。この剰余演算を行うための剰余器は、ブロックの数だけ必要となる。詳細は後述するが、各ブロック内を巡回して使用するため、剰余演算を行っている。各剰余器(60,62,64)の剰余数は、サイクリックバッファ500の各ブロック(50,52,54)のサイズとなる。具体的には、第1の剰余器60の剰余数は第1のブロック50のサイズである”3”を指す。また、第2の剰余器62の剰余数は第2のブロック52のサイズである”2”を指す。また、第3の剰余器64の剰余数は第3のブロック54のサイズである”4”を指す。
第1から第6までの加算器(66、68、70、72、74、76)は、それぞれ2つの入力に対する加算を行って演算結果を出力する回路である。
第1のブロック50に係るアドレス1を生成するために、第4の加算器72は、第1の剰余器の演算結果と第1のブロック50の開始アドレス”100”との加算を行う。
また、第2のブロック52のアドレス2を求めるために、まず、第1の加算器66において、第2の剰余器62の剰余結果と第1のブロック50のサイズである”3”との加算を行う。言い換えると、第2の剰余器62の剰余結果と、第1のブロック50の開始アドレス”100”と第2のブロック52の開始アドレス”103”のオフセットである”3(=103−100)”の加算を行っている。さらに、第5の加算器74において、第1のブロック50の開始アドレス”100”との加算を行うことによって、第2のブロック52のアドレス2が生成されることとなる。
また、第3のブロック54のアドレス3を求めるために、まず、第3の加算器70において、第1のブロック50のサイズである”3”と、第2のブロック52のサイズである”2”とを加算する。さらに、第2の加算器68において、第3の加算器70の演算結果である”5”と、第3の剰余器64の剰余結果との加算を行う。さらに、第6の加算器76において、第1のブロック50の開始アドレス”100”との加算を行うことによって、第3のブロック54のアドレス3が生成されることとなる。
上記において、6つの加算器を用いて各ブロックのアドレスを生成したが、それぞれのアドレスの生成に対し1つの加算器を設けてもよい。その場合は、各々の剰余結果と、各ブロックの開始アドレスを加算すれば、上記と同様に各々のアドレスを生成することができる。また、ブロックの数が多くなった場合も、剰余器、加算器を増加することによって、同様にアドレスを生成することができる。
図7は、図6のアドレス生成部38の入出力結果700を示す図である。入出力結果700は、図6におけるカウンタを”0”から”4”まで進めたときに、生成されるアドレス1、アドレス2、アドレス3をそれぞれ示した図となっている。
ここで、例として、下記に示す入力データを、プロセッサ22から入力メモリ12に格納する場合について説明する。
入力データ:{d1、d2、d3、d4、d5}
この場合、まず、進行制御部36は、カウンタの初期値を”0”とし、順に”4”まで増加させていく。このとき、カウンタが”0”の状態でd1が入力メモリ12に格納され、また、カウンタが”1”の状態でd2が入力メモリ12に格納され、以後、同様にカウンタが”4”の状態まで進み、順に入力データが入力メモリ12に格納されていく。
入力メモリ12にデータが格納される際には、アドレッシング部30が各データの格納先のアドレスを生成する。具体的には、図7で示したようなアドレスが生成される。このとき、カウンタの値が増加するにつれ、各データは順に、入力メモリ12内に図8に示すように格納されていく。
図8は、カウンタの値ごとの、入力メモリ12内の格納されたデータを示す図である。カウンタの値が増加するにつれ、順にデータが格納されていく様子が見てとれる。ここで、カウンタの値が”3”のときのアドレス”100”に格納されているデータは、d4となっている。この領域は、カウンタの値が”2”であったときには、d1が格納されていたものの、カウンタの値が”3”の状態になったときに、d4が上書きされたことを示している。ここでは、カウンタが”3”になる前に、d1は、選択部14に出力されているので、損失することはない。なお、上書きされる前に、他の領域にd1を待避することによってデータの損失を防いでもよい。
次に、本発明の実施例の変形例を示す。変形例は、所定のデータを受信する受信部と、受信部から出力されたデータの信号処理を行い、かつ、所定の送信データの信号処理を行って所望の信号を出力する信号処理装置10と、信号処理装置10から出力された所望の信号を送信する送信部と、受信部と送信部と信号処理装置を制御するプロセッサ22と、を有することを特徴とする通信機器である。
マイクロスケジューラ20を備えた信号処理装置10を通信機器に備えることによって、マイクロスケジューラ20の自律動作機能によりプロセッサの負荷を軽減できるので、通信機器を小型化することができる。
次に、本発明の実施例の別の変形例を示す。図9は、連続するデータ列のデシメーション処理を行う3つのFIRフィルタの演算を実行する場合のタイミングチャート900を示す図である。図9において、SCH1、SCH3,SCH5,SCH6および処理101は、3つのFIRフィルタのうち、最初のFIRフィルタの処理を指す。また、SCH0,SCH4および処理1は、3つのFIRフィルタのうち、2番目のFIRフィルタの処理を指す。また、SCH2および処理102は、3つのFIRフィルタのうち、最後のFIRフィルタの処理を指す。
図9に示すように、各処理は、各演算の段階において均一の回数だけ行われるわけではない。FIRフィルタ演算の処理タイミングやデータの取り込みタイミングは、信号処理装置10を含む通信機器等の装置全体におけるタイミングに左右されることとなるからである。
次に、本発明の実施例の別の変形例を示す。図10は、図5のメモリ領域を4ブロックとした場合の構成を示す図である。図10において各ブロックは、FIFOの構成をとっているため、各ブロックの最初のアドレスには最新のデータが格納され、また、最後のアドレスには最古のデータが格納されることとなる。さらに、カウントアップ信号の増加にともなって、各FIFOカウンタが増加する。このとき、各ブロックの領域の外側にデータが書き込まれないようにするために、FIFOカウンタを各ブロックのサイズで剰余演算を行っている。
次に、本発明の実施例の別の変形例を示す。図11は、図5のメモリ領域を12ブロックとした場合の、図2のアドレス生成部38の構成を示す図である。アドレス生成部38は、しきい値判定部80、セレクタ82、第1の加算器84、第2の加算器86、剰余器88、合成器90を含む。図11においては、まず、プロセッサ22、または内部の回路である信号処理装置10が指定するアクセスアドレスを用いて、しきい値判定部80にてしきい値判定を行ってどのブロックの処理であるかを判定し、また、判定されたブロックの先頭アドレスと最終アドレスを生成する。次に、セレクタ82はカウンタ値とブロック番号を用いて対応するFIFOカウンタ値を出力する。さらに、第1の加算器84において、指定されたアクセスアドレスおよびFIFOカウンタ値を加算する。さらに、加算された値と当該ブロックの最終アドレスと、第2の加算器によって先頭アドレスと最終アドレスを加算した結果とに基づき、剰余器88にて剰余演算を行う。最後に、第1の加算器84の出力と剰余器88の出力を合成して、メモリにアクセスする実体アドレスを生成する。
本実施例によれば、演算途中にプロセッサ22が介入することがないので、高速に演算を実行することができる。また、演算途中にプロセッサバスを使わないので、他の回路がプロセッサバスを占有することができる。また、プロセッサ22の負荷が少ないので、プロセッサ22は、演算中に他の処理を行うことができ、システム全体の効率を改善できる。また、予めマイクロスケジューラ20に演算の種類を設定することによって、さまざまな演算を行わせることができる。また、メモリをサイクリックバッファとして使用することによって、効率的にメモリを使用することができる。また、剰余演算を用いることによって、サイクリックバッファへのアドレッシングを簡易な構成で行うことができる。また、サイクリックバッファが多数のブロックからなる場合であっても、カウンタを1つ備えるだけでアドレス生成を行うことができる。また、演算器にさまざまな演算を行わせることで、汎用性をもった信号処理回路を実現することができる。また、信号処理回路が汎用性をもつことで、システム全体の回路規模を低減することができる。また、システム全体の回路規模を低減したことで、信号処理装置10を含む通信機器全体の軽量化を図ることができる。また、通信機器全体を軽量化したことで、安価に機器を製造することができる。
本発明の実施例において、各設定情報(42,44,46)における終了タイミングは、各処理の演算時間として説明した。しかしながらこれに限らず、各処理における演算する数としてもよい。また、各設定情報(42,44,46)の1つとして、「全処理数」が設定されるとして説明した。しかしながらこれに限らず、各設定情報(42,44,46)の各々に、各設定情報が有効か否かを示すイネーブルを設定し、さらに、全処理数の代わりに、有効なイネーブルの総数を設定してもよい。また、アドレス生成部38は、各処理において使用されるメモリにアクセスするアドレスを生成する際に、カウンタの増加にともなってアドレスを1づつ増加するのではなく、2以上の値で増加させてもよい。この場合、各設定情報(42,44,46)の各々に、カウンタの増加に伴うアドレスを増加させる値として、その増加する値を追加して設定すればよい。また、各設定情報(42,44,46)に、さらに、各処理のスケジュール起動時間を設定してもよい。この場合は、進行制御部36が、カウンタと各処理のスケジュール起動時間が一致した場合に、各処理を開始する制御を行う。
本発明の実施例において、進行制御部36は、1つのカウンタを制御するとして説明した。しかしながらこれに限らず、各処理において別個にカウンタを制御するために、処理数分だけカウンタを備えていてもよい。この場合、演算対象となるデータのレートが異なっている場合にも対応することのできる信号処理装置となる。
本発明の実施例において、信号処理装置10の行う演算は、直列接続された2つのフィルタ演算として説明した。しかしながらこれに限らず、相関演算としてもよい。その場合は、相関係数がマイクロスケジューラ20に設定されることとなる。また、同一の入力データに対して、複数の相関演算を行う場合は、相関演算の個数分の相関係数をマイクロスケジューラ20に設定すればよい。この場合、演算部16は1つで構成されていてもよく、複数で構成されていてもよい。いずれの場合も、マイクロスケジューラ20に設定されるタイミングによって制御することができる。
本発明の実施例において、信号処理装置10は、演算部16を1つ有するとして説明したが、複数有していてもよい。また、演算部16は、単なる四則演算、入力をそのまま出力する、ビット反転などの演算を行うことができてもよい。また、複数のタップ数を有するフィルタ全体として説明したが、1タップごとの処理でもよい。また、各FIRフィルタの各タップにおける係数をマイクロスケジューラ20を介して演算部16に与えるとして説明したが、別途、係数メモリを備えさせ、プロセッサ22によって、プロセッサバス26経由にて与えてもよい。その場合は、アドレッシング部30が、係数メモリに対しアドレッシングすることによって入出力制御をすることができる。また、係数メモリを複数備えてもよい。その場合は、例えば、1つの入力データ系列に対し、複数の相関演算を並列に実行することができる。
本発明の実施例において、入力メモリ12をサイクリックバッファとして使用すると説明したが、出力メモリ18もサイクリックバッファとして使用してもよい。
本発明の実施例において、終了タイミングは、動作開始からの絶対タイミングとしたが、相対タイミングとしてもよい。その場合は、1つ前の処理単位が終了するタイミングを0として進行制御部36が制御すればよい。
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
10 信号処理装置、12 入力メモリ、14 選択部、16 演算部、18 出力メモリ、20 マイクロスケジューラ、22 プロセッサ、24 専用バス、26 プロセッサバス、28 選択制御部、30 アドレッシング部、32 演算設定部、34 検知部、36 進行制御部、38 アドレス生成部、40 全処理数、42 第1の設定情報、44 第2の設定情報、46 第Nの設定情報、50 第1のブロック、52 第2のブロック、54 第3のブロック、60 第1の剰余器、62 第2の剰余器、64 第3の剰余器、66 第1の加算器、68 第2の加算器、70 第3の加算器、72 第4の加算器、74 第5の加算器、76 第6の加算器、80 しきい値判定部、82 セレクタ、84 第1の加算器、86 第2の加算器、88 剰余器、90 合成器、300 設定内容、400 フローチャート、500 サイクリックバッファ、700 入出力結果、900 タイミングチャート。
Claims (8)
- 入力された演算対象のデータを格納する入力メモリと、
演算結果のデータを格納する出力メモリと、
前記入力メモリに格納されたデータと前記出力メモリに格納されたデータのいずれかを選択して出力する選択部と、
前記選択部から出力されたデータに対する演算を行って前記出力メモリに格納する演算部と、
前記選択部を制御する選択制御部を有するマイクロスケジューラと、
を備え、
前記出力メモリから前記選択部へのデータの転送は専用バスにて行われ、
前記マイクロスケジューラは、当該マイクロスケジューラを制御するプロセッサによって予め設定されたタイミングに従って、前記選択部の出力を切替えることを特徴とする信号処理装置。 - 前記プロセッサは、前記マイクロスケジューラに対して前記タイミングの設定をした後、動作開始の指示を行い、
前記マイクロスケジューラは、前記動作開始の指示に従って動作を開始し、所定の演算が終了してその演算結果が前記出力メモリに格納された後、汎用バスを介して、前記演算結果を前記プロセッサに出力することを特徴とする請求項1記載の信号処理装置。 - 前記マイクロスケジューラは、前記入力メモリおよび出力メモリに対するアドレッシング動作を制御するアドレッシング部をさらに備えること特徴とする請求項1または2のいずれかに記載の信号処理装置。
- 入力された演算対象のデータを格納する入力メモリと、
演算結果のデータを格納する出力メモリと、
前記入力メモリに格納されたデータと前記出力メモリに格納されたデータのいずれかを選択して出力する選択部と、
前記選択部から出力されたデータに対する演算を行って前記出力メモリに格納する演算部と、
所定の処理を構成する複数の演算を処理単位として、処理単位ごとに演算の内容を前記演算部に設定するとともに、前記演算部の処理単位の進行タイミングを制御するマイクロスケジューラと、
を備え、
前記マイクロスケジューラは、進行制御部を備え、当該進行制御部は、マイクロスケジューラを制御するプロセッサによって予め設定された処理単位ごとの演算内容とタイミングに従って、カウンタを制御するとともに、前記演算内容の設定および進行タイミングの制御を行うことを特徴とする信号処理装置。 - 請求項4に記載の信号処理装置において、マイクロスケジューラは、処理単位ごとに処理開始タイミングを検知する検知部を備え、新たな処理単位の処理開始に先立ち、前記プロセッサによって予め与えられた新たな処理単位の演算内容を演算部に再設定することを特徴とする信号処理装置。
- 前記アドレッシング部は、前記入力メモリおよび出力メモリの少なくとも一方のメモリについて、アクセスの対象となるアドレスを算出するアドレス生成部を有することを特徴とする請求項4に記載の信号処理装置。
- 請求項6記載の信号処理装置において、
前記アドレス生成部は、剰余演算を行う剰余器を備え、
前記入力メモリおよび出力メモリの少なくとも一方のメモリは、ブロック化され、
前記剰余器は、各々のブロックのサイズを剰余数とし、前記進行制御部より出力されたカウンタの値を被剰余数として剰余演算を行うことによって、各々のブロックのアクセスの対象となるアドレスを算出することを特徴とする信号処理装置。 - 所定のデータを受信する受信部と、
前記受信部から出力されたデータの信号処理を行い、または、所定の送信データの信号処理を行って所望の信号を出力する請求項1乃至7のいずれかに記載の信号処理装置と、
前記信号処理装置から出力された所望の信号を送信する送信部と、
前記送信部と前記受信部と前記信号処理装置を制御するプロセッサと、
を有することを特徴とする通信機器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005079713A JP2006260411A (ja) | 2005-03-18 | 2005-03-18 | 信号処理装置およびそれを利用した通信機器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005079713A JP2006260411A (ja) | 2005-03-18 | 2005-03-18 | 信号処理装置およびそれを利用した通信機器 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006260411A true JP2006260411A (ja) | 2006-09-28 |
Family
ID=37099541
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005079713A Pending JP2006260411A (ja) | 2005-03-18 | 2005-03-18 | 信号処理装置およびそれを利用した通信機器 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006260411A (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010001562A1 (ja) * | 2008-07-02 | 2010-01-07 | 株式会社ルネサステクノロジ | フィルタ処理装置及び半導体装置 |
WO2013183096A1 (ja) * | 2012-06-08 | 2013-12-12 | 日本電気株式会社 | 多段フィルタ処理装置及び方法 |
JP2016076218A (ja) * | 2014-10-06 | 2016-05-12 | フィッシャー−ローズマウント システムズ,インコーポレイテッド | プロセスプラントでの自動的信号処理ベースの学習、プロセスプラントでビッグデータベースの学習を提供するためのシステム及び方法、プロセスプラントでビッグデータベースの学習を自動的に実施するためのシステム |
US10691281B2 (en) | 2013-03-15 | 2020-06-23 | Fisher-Rosemount Systems, Inc. | Method and apparatus for controlling a process plant with location aware mobile control devices |
US10866952B2 (en) | 2013-03-04 | 2020-12-15 | Fisher-Rosemount Systems, Inc. | Source-independent queries in distributed industrial system |
US10909137B2 (en) | 2014-10-06 | 2021-02-02 | Fisher-Rosemount Systems, Inc. | Streaming data for analytics in process control systems |
US11385608B2 (en) | 2013-03-04 | 2022-07-12 | Fisher-Rosemount Systems, Inc. | Big data in process control systems |
US11886155B2 (en) | 2015-10-09 | 2024-01-30 | Fisher-Rosemount Systems, Inc. | Distributed industrial performance monitoring and analytics |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0756805A (ja) * | 1993-08-10 | 1995-03-03 | Nissan Motor Co Ltd | メモリアクセス方法 |
JPH09297753A (ja) * | 1996-04-30 | 1997-11-18 | Sony Corp | Fft演算装置および方法 |
JPH09305573A (ja) * | 1996-05-16 | 1997-11-28 | Sony Corp | Fft演算装置およびfft演算方法 |
JPH1049518A (ja) * | 1996-08-06 | 1998-02-20 | Sony Corp | 演算装置および方法 |
JPH1097519A (ja) * | 1996-09-20 | 1998-04-14 | Nec Corp | 2次元逆離散コサイン変換回路 |
JP2001068993A (ja) * | 1999-08-25 | 2001-03-16 | Fuji Xerox Co Ltd | 情報処理システム |
JP2001156644A (ja) * | 1999-11-29 | 2001-06-08 | Fujitsu Ltd | 直交変換装置 |
JP2002026721A (ja) * | 2000-07-10 | 2002-01-25 | Fuji Xerox Co Ltd | 情報処理装置 |
-
2005
- 2005-03-18 JP JP2005079713A patent/JP2006260411A/ja active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0756805A (ja) * | 1993-08-10 | 1995-03-03 | Nissan Motor Co Ltd | メモリアクセス方法 |
JPH09297753A (ja) * | 1996-04-30 | 1997-11-18 | Sony Corp | Fft演算装置および方法 |
JPH09305573A (ja) * | 1996-05-16 | 1997-11-28 | Sony Corp | Fft演算装置およびfft演算方法 |
JPH1049518A (ja) * | 1996-08-06 | 1998-02-20 | Sony Corp | 演算装置および方法 |
JPH1097519A (ja) * | 1996-09-20 | 1998-04-14 | Nec Corp | 2次元逆離散コサイン変換回路 |
JP2001068993A (ja) * | 1999-08-25 | 2001-03-16 | Fuji Xerox Co Ltd | 情報処理システム |
JP2001156644A (ja) * | 1999-11-29 | 2001-06-08 | Fujitsu Ltd | 直交変換装置 |
JP2002026721A (ja) * | 2000-07-10 | 2002-01-25 | Fuji Xerox Co Ltd | 情報処理装置 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8812572B2 (en) | 2008-07-02 | 2014-08-19 | Renesas Electronics Corporation | Filter processing device and semiconductor device |
JPWO2010001562A1 (ja) * | 2008-07-02 | 2011-12-15 | ルネサスエレクトロニクス株式会社 | フィルタ処理装置及び半導体装置 |
WO2010001562A1 (ja) * | 2008-07-02 | 2010-01-07 | 株式会社ルネサステクノロジ | フィルタ処理装置及び半導体装置 |
US9673780B2 (en) | 2012-06-08 | 2017-06-06 | Nec Corporation | Multi-stage filter processing device and method |
JPWO2013183096A1 (ja) * | 2012-06-08 | 2016-01-21 | 日本電気株式会社 | 多段フィルタ処理装置及び方法 |
WO2013183096A1 (ja) * | 2012-06-08 | 2013-12-12 | 日本電気株式会社 | 多段フィルタ処理装置及び方法 |
US10866952B2 (en) | 2013-03-04 | 2020-12-15 | Fisher-Rosemount Systems, Inc. | Source-independent queries in distributed industrial system |
US11385608B2 (en) | 2013-03-04 | 2022-07-12 | Fisher-Rosemount Systems, Inc. | Big data in process control systems |
US10691281B2 (en) | 2013-03-15 | 2020-06-23 | Fisher-Rosemount Systems, Inc. | Method and apparatus for controlling a process plant with location aware mobile control devices |
US11112925B2 (en) | 2013-03-15 | 2021-09-07 | Fisher-Rosemount Systems, Inc. | Supervisor engine for process control |
US11169651B2 (en) | 2013-03-15 | 2021-11-09 | Fisher-Rosemount Systems, Inc. | Method and apparatus for controlling a process plant with location aware mobile devices |
US11573672B2 (en) | 2013-03-15 | 2023-02-07 | Fisher-Rosemount Systems, Inc. | Method for initiating or resuming a mobile control session in a process plant |
JP2016076218A (ja) * | 2014-10-06 | 2016-05-12 | フィッシャー−ローズマウント システムズ,インコーポレイテッド | プロセスプラントでの自動的信号処理ベースの学習、プロセスプラントでビッグデータベースの学習を提供するためのシステム及び方法、プロセスプラントでビッグデータベースの学習を自動的に実施するためのシステム |
US10909137B2 (en) | 2014-10-06 | 2021-02-02 | Fisher-Rosemount Systems, Inc. | Streaming data for analytics in process control systems |
US11886155B2 (en) | 2015-10-09 | 2024-01-30 | Fisher-Rosemount Systems, Inc. | Distributed industrial performance monitoring and analytics |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2006260411A (ja) | 信号処理装置およびそれを利用した通信機器 | |
JPH11272631A (ja) | データ処理システムおよびその方法 | |
CN111183418B (zh) | 可配置硬件加速器 | |
JP2007299279A (ja) | 演算装置、プロセッサシステム、及び映像処理装置 | |
JP2004030277A (ja) | ループ制御回路及びループ制御方法 | |
JPWO2011036918A1 (ja) | データ並べ替え回路、可変遅延回路、高速フーリエ変換回路、およびデータ並べ替え方法 | |
JPH082014B2 (ja) | 多段デジタル・フィルタ | |
JPH04503720A (ja) | デジタル信号処理装置のフレキシブル制御装置及び方法 | |
JP2012033032A (ja) | 情報処理装置および情報処理方法 | |
JPH03217112A (ja) | デジタル信号処理回路 | |
JP2856064B2 (ja) | ディジタルフィルタ | |
JP4630056B2 (ja) | 畳み込み演算回路 | |
WO2013183096A1 (ja) | 多段フィルタ処理装置及び方法 | |
CN104767544A (zh) | 一种实现解扰解扩的方法和矢量运算器 | |
JP2592979B2 (ja) | 信号処理用集積回路装置 | |
JP2008102599A (ja) | プロセッサ | |
KR100396189B1 (ko) | 디지털신호 처리장치 및 그 제어방법 | |
JP2001160736A (ja) | デジタルフィルタ回路 | |
JP3042266B2 (ja) | メモリアクセス方法 | |
JP5197389B2 (ja) | 動的再構成可能な積和演算装置および動的再構成可能プロセッサ | |
JP3019767B2 (ja) | デジタル信号処理装置 | |
JP5003070B2 (ja) | デジタル信号処理装置 | |
JP2004126714A (ja) | 情報処理装置および方法、並びにプログラム | |
KR100551458B1 (ko) | 디지탈신호처리동작실행방법및디지탈신호처리기 | |
JPH01179515A (ja) | デジタル信号処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070328 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091117 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091124 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100518 |