(57)【特許請求の範囲】
【請求項１】
互いに並列に接続され、入力信号から、それぞれに予め定められた通過帯域以外の信号成分を除去する複数のバンドパスフィルタと、
上記各バンドパスフィルタの出力信号の時間変化が、予め定められたパターンに一致しているか否かによって、異常が発生したか否かを検出するマッチング処理手段とを備えており、
上記マッチング処理手段は、上記パターンとして、初期状態から、パターンマッチを検出した最終状態までに経由すべき状態として、１または複数の状態を設定でき、
上記マッチング処理手段は、各状態に対して、次の状態へ遷移するために必要なイベントとして、上記複数のバンドパスフィルタのうちの予め定められたバンドパスフィルタの出力が閾値を超えていることを設定できることを特徴とする異常検出装置。
【請求項２】
上記マッチング処理手段は、上記パターンとして、上記各状態に対応付けられ、その状態に遷移してから次の状態へ遷移するためのイベントが発生するまでの時間を設定できることを特徴とする請求項１記載の異常検出装置。
【請求項３】
上記マッチング処理手段は、上記パターンから外れたタイミングで、上記次の状態へ遷移するためのイベントを検出した場合、初期状態へ戻すか否かを、上記バンドパスフィルタ毎に予め設定できることを特徴とする請求項１または２記載の異常検出装置。
【請求項４】
上記バンドパスフィルタは、動作周波数を、第１周波数、および、それよりも低い第２周波数に切り換え可能であり、
さらに、異常検出装置には、その動作周波数が上記第１周波数に設定されており、上記バンドパスフィルタの動作周波数が第２周波数の場合に、上記バンドパスフィルタへ入力される信号の高周波成分を除去する入力側ローパスフィルタが設けられ、
上記両フィルタは、それぞれ、動作周波数で周期的に入力されるデジタル値を、当該フィルタの次数分だけ記憶する記憶回路と、当該記憶回路に格納されたデジタル値と当該フィルタのフィルタ係数列を構成するフィルタ係数との積和演算結果を算出する演算回路とを備えたデジタルＦＩＲフィルタであり、
上記バンドパスフィルタの演算回路は、当該バンドパスフィルタが第１周波数で動作する場合、当該バンドパスフィルタの記憶回路に代えて、上記入力側ローパスフィルタの記憶回路に格納されたデジタル値と上記バンドパスフィルタのフィルタ係数との積和演算結果を算出することを特徴とする請求項１〜３のいずれかに記載の異常検出装置。
【請求項５】
上記入力信号は、音声信号であり、
上記異常検出装置は、プログラマブル表示器内の機器から発生する異音を検出することを特徴とする請求項１〜４のいずれか１項に記載の異常検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、音、振動、あるいは、モータの回転周波数などを示す入力信号に基づいて、異常が発生したか否かを検出する異常検出装置に関するものである。
【背景技術】
【０００２】
例えば、後述する特許文献１などに示す異常状態検出装置は、異常状態に関連する音を検出して電気信号に変換する音電変換部と、該電気信号の所定周波数成分を抽出するフィルタと、該所定周波数成分の継続時間を計時するタイマとを備え、タイマが所定時間を計時したときに異常状態と判定する信号を発することによって、電気機器の異常状態を検出している。
【特許文献１】特開平５−０３４３９６号公報（1993年２月９日公開）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上述したように、タイマが所定時間を計時したときに異常状態と判定するだけでは、音、振動、あるいは、モータの回転周波数などを示す入力信号から、異常状態か否かを充分に的確に判断することは難しく、さらに高精度に異常発生を検出することが求められている。
【０００４】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、さらに高精度に異常発生を検出可能な異常検出装置を実現することにある。
【課題を解決するための手段】
【０００５】
本発明に係る異常検出装置は、上記課題を解決するために、互いに並列に接続され、入力信号から、それぞれに予め定められた通過帯域以外の信号成分を除去する複数のバンドパスフィルタと、上記各バンドパスフィルタの出力信号の時間変化が、予め定められたパターンに一致しているか否かによって、異常が発生したか否かを検出するマッチング処理手段とを備えていることを特徴としている。
【０００６】
さらに、上記構成に加えて、上記マッチング処理手段は、上記パターンとして、初期状態から、パターンマッチを検出した最終状態までに経由すべき状態として、１または複数の状態を設定でき、上記マッチング処理手段は、各状態に対して、次の状態へ遷移するために必要なイベントとして、上記複数のバンドパスフィルタのうちの予め定められたバンドパスフィルタの出力が閾値を超えていることを設定できる。なお、この場合、上記パターンは、バンドパスフィルタの出力の組み合わせの変化として設定される。また、上記構成に加えて、上記入力信号は、音声信号であり、上記異常検出装置は、プログラマブル表示器内の機器から発生する異音を検出してもよい。なお、異常検出装置は、プログラマブル表示器内にあってもよいし、外部にあってもよい。
【０００７】
ここで、機器に故障が発生しようとする場合、例えば、通常とは異なる振動または異音が発生したり、あるいは、モータの回転周波数が通常とは異なるように変化したりすることがある。また、故障が発生しようとする場合、これらの音、振動、あるいは、モータの回転周波数などは、時間と共に予め定められたパターンに従って変化することがある。なお、機器を熟知している人物であれば、これらの音、振動、あるいは、モータの回転周波数の変化などから、故障が発生するか否かを予見できることがあるが、一般的な人物が、これらに基づいて、故障の発生を予見することは難しい。
【０００８】
これに対して、上記各構成には、バンドパスフィルタおよびマッチング処理手段が設けられており、これらの音、振動、あるいは、モータの回転周波数などを示す入力信号がバンドパスフィルタに入力されると共に、マッチング処理手段は、上記各バンドパスフィルタの出力信号の時間変化が、予め定められたパターンに一致しているか否かによって、異常が発生したか否かを検出している。したがって、機器を熟知していない人物、あるいは、機械であっても、機器に故障が発生しそうか否か（異常が発生したか否か）を高精度に判断でき、機器の予知保全が可能になる。
【０００９】
また、上記構成に加えて、上記マッチング処理手段は、上記パターンとして、上記各状態に対応付けられ、その状態に遷移してから次の状態へ遷移するためのイベントが発生するまでの時間を設定できてもよい。
【００１０】
上記構成では、上記パターンとして、その状態に遷移してから次の状態へ遷移するためのイベントが発生するまでの時間を設定できるので、バンドパスフィルタの出力の組み合わせの変化だけではなく、それらの変化が起こる時点の時間間隔も設定でき、より的確に異常発生時のパターンを記述できる。この結果、より高精度に異常検出が可能な異常検出装置を実現できる。
【００１１】
さらに、上記構成に加えて、上記マッチング処理手段は、上記パターンから外れたタイミングで、上記次の状態へ遷移するためのイベントを検出した場合、初期状態へ戻すか否かを、上記バンドパスフィルタ毎に予め設定できてもよい。
【００１２】
当該構成では、上記バンドパスフィルタ毎に、上記パターンから外れたタイミングで上記次の状態へ遷移するためのイベントを検出した場合に初期状態へ戻すか否かを設定できるので、より高精度に異常検出が可能な異常検出装置を実現できる。
【００１３】
なお、マッチング処理手段が、その状態に遷移してから次の状態へ遷移するためのイベントが発生するまでの時間を設定でき、しかも、上記パターンから外れたタイミングで上記次の状態へ遷移するためのイベントを検出した場合に初期状態へ戻すか否かも設定できる場合は、上記時間として、タイムアウト時間を設定し、タイムアウト時間を経過しても、次の状態へ遷移するためのイベントが発生しなかった場合は、初期状態へ戻すように設定することによって、マッチング処理手段が、途中の状態で次の状態を待ち続けることがなくなり、より安定した動作が可能な異常検出装置を実現できる。
【００１４】
また、上記構成に加えて、上記バンドパスフィルタは、動作周波数を、第１周波数、および、それよりも低い第２周波数に切り換え可能であり、さらに、異常検出装置には、その動作周波数が上記第１周波数に設定されており、上記バンドパスフィルタの動作周波数が第２周波数の場合に、上記バンドパスフィルタへ入力される信号の高周波成分を除去する入力側ローパスフィルタが設けられ、上記両フィルタは、それぞれ、動作周波数で周期的に入力されるデジタル値を、当該フィルタの次数分だけ記憶する記憶回路と、当該記憶回路に格納されたデジタル値と当該フィルタのフィルタ係数列を構成するフィルタ係数との積和演算結果を算出する演算回路とを備えたデジタルＦＩＲ（Finite Impulse Response ）フィルタであり、上記バンドパスフィルタの演算回路は、当該バンドパスフィルタが第１周波数で動作する場合、当該バンドパスフィルタの記憶回路に代えて、上記入力側ローパスフィルタの記憶回路に格納されたデジタル値と上記バンドパスフィルタのフィルタ係数との積和演算結果を算出してもよい。
【００１５】
上記構成では、上記バンドパスフィルタが、動作周波数を、第１周波数、および、それよりも低い第２周波数に切り換えることができるので、バンドパスフィルタは、そのフィルタ係数列の系列長をあまり長くすることなく、すなわち、あまり回路規模を増大させることなく、より低い周波数の帯域の信号成分を抽出できる。また、上記構成では、上記バンドパスフィルタの動作周波数が第２周波数の場合、入力側ローパスフィルタが、上記バンドパスフィルタへ入力される信号の高周波成分を除去する。したがって、動作周波数を変更できるにも拘らず、エイリアシング誤差の発生を抑制でき、高精度な異常検出装置を実現できる。
【００１６】
さらに、上記バンドパスフィルタの演算回路は、当該バンドパスフィルタが第１周波数で動作する場合、当該バンドパスフィルタの記憶回路に代えて、上記入力側ローパスフィルタの記憶回路に格納されたデジタル値と上記バンドパスフィルタのフィルタ係数との積和演算結果を算出する。言い換えると、バンドパスフィルタが第１周波数で動作する場合、入力側ローパスフィルタの記憶回路がバンドパスフィルタの記憶回路として動作する。
【００１７】
したがって、バンドパスフィルタが第２周波数で動作する場合にデジタル値を記憶する記憶回路が、バンドパスフィルタが第１周波数で動作する場合にもデジタル値を記憶する構成とは異なって、バンドパスフィルタが第２周波数で動作する場合にデジタル値を記憶する記憶回路は、第２周波数で動作できればよい。この結果、異常検出装置中で高速動作する必要がある箇所を制限でき、異常検出装置全体の消費電力を削減できる。
【００１８】
また、バンドパスフィルタが第２周波数で動作する場合にデジタル値を記憶する記憶回路とローパスフィルタの記憶回路とのいずれとも別の回路として、バンドパスフィルタが第１周波数で動作する場合にもデジタル値を記憶する記憶回路を設ける構成よりも回路規模を削減できる。
【００１９】
なお、入力側ローパスフィルタの記憶回路は、バンドパスフィルタの入力信号の高周波成分を除去するために、第１周波数で動作する場合のバンドパスフィルタと同様に、第１周波数で動作しているので、第１周波数で動作する場合のバンドパスフィルタの演算回路は、何ら支障なく、上記入力側ローパスフィルタの記憶回路に格納されたデジタル値と上記フィルタ係数との積和演算結果を算出できる。
【００２０】
これらの結果、回路規模および消費電力をあまり増加させることなく、高精度な異常検出装置を実現できる。
【発明の効果】
【００２１】
本発明によれば、上記各バンドパスフィルタの出力信号の時間変化が、予め定められたパターンに一致しているか否かによって、異常が発生したか否かを検出しているので、機器を熟知していない人物、あるいは、機械であっても、機器に故障が発生しそうか否かを予め判断でき、機器の予知保全が可能になる。
【発明を実施するための最良の形態】
【００２２】
本発明の一実施形態について図１ないし図１３に基づいて説明すると以下の通りである。すなわち、本実施形態に係る検出システム（デジタルフィルタ回路）１は、例えば、ハードディスクの動作音からハードディスクに異常が発生しているか否かなどを検出するためなどに好適に用いられるシステムであって、入力された音声信号の時間変化が予め定められたパターンに一致しているか否かを検出することができる。
【００２３】
以下では、上記検出システム１の構成について説明する前に、検出システム１が設けられたプログラマブル表示器を含む制御システムの概略構成および概略動作について簡単に説明する。すなわち、図２に示すように、本実施形態に係る制御システム５０１は、例えば、製造プラントなどに設けられたターゲットシステム５０２を制御するために好適に用いられており、例えば、ベルトコンベアー式の自動組付機など、当該ターゲットシステム５０２のデバイス（制御対象）５０２ａを制御するために用いられている。
【００２４】
当該制御システム５０１には、上記デバイス５０２ａを制御する制御装置としてのＰＬＣ５１１と、多くの場合、制御対象近傍に配されると共に、制御システム５０１のＨＭＩとして、デバイス５０２ａの状態を表示し、オペレータによるデバイス５０２ａへの操作を受け付けるプログラマブル表示器５１２とを備えている。なお、当該プログラマブル表示器５１２は、ＰＬＣとしての機能も備えていてもよい。この場合、プログラマブル表示器５１２は、それぞれに対応するＰＬＣ５１１だけではなく、自らが制御するデバイス５０２ａにも直接接続される。
【００２５】
さらに、本実施形態に係る制御システム５０１では、各プログラマブル表示器５１２は、イーサネット（登録商標）などのＬＡＮ（ローカルエリアネットワーク）５１３によって互いに接続されている。また、上記ＬＡＮ５１３には、多くの場合、プログラマブル表示器５１２よりも離れた場所から、制御システム５０１全体を管理する制御用ホストコンピュータ５１４が接続されている。
【００２６】
なお、上記各プログラマブル表示器５１２は、シリアルケーブルなどを介して、それぞれに対応するＰＬＣ５１１と接続されている。また、図２では、説明の便宜上、ＬＡＮ５１３にプログラマブル表示器５１２が２台接続され、各プログラマブル表示器５１２には、ＰＬＣ５１１およびデバイス５０２ａがそれぞれ１台ずつ接続されると共に、各ＰＬＣ５１１にデバイス５０２ａが１台接続されている場合を例示しているが、当然ながら、それぞれの接続台数は任意に設定できる。
【００２７】
また、デバイスは、デバイスアドレスや変数により特定可能で、しかも、状態を取得したり、制御（変更）できるものであれば、例えば、デバイス５０２ａ自体であってもよいし、例えば、ＰＬＣ５１１やプログラマブル表示器５１２の記憶装置など、制御システム５０１に設けられた記憶装置の一領域を示していてもよい。
【００２８】
ここで、上記制御システム５０１では、制御システム５０１に必須の構成であり、しかも、ＨＭＩとして動作するため、演算能力に余力のあるプログラマブル表示器５１２が通信の大半を処理するように構成されている。さらに、各プログラマブル表示器５１２は、自らに接続されているＰＬＣ５１１の機種に固有の専用プロトコルと、ＬＡＮ５１３での共通プロトコルとを変換して、他のプログラマブル表示器５１２や制御用ホストコンピュータ５１４とＰＬＣ５１１との通信を中継する。なお、共通プロトコルと専用プロトコルとの間のプロトコル変換には、同じ指示に同じコードが割り当てられるように予め定められた共通のコマンドと上記共通のコマンドに対応するＰＬＣ５１１固有のコマンドとの間の変換や、データやアドレスの表現方法の変換、デバイスアドレスと、当該デバイスアドレスに対応し、しかも、デバイスアドレスとは異なる値に設定可能な変数や変数の名称（変数名）との変換なども含まれる。
【００２９】
これにより、プログラマブル表示器５１２および制御用ホストコンピュータ５１４は、他のプログラマブル表示器５１２に接続されているＰＬＣ５１１の機種に拘らず、ＬＡＮ５１３を介して共通のプロトコルで通信できる。この結果、互いに異なる機種のＰＬＣ５１１の混在する制御システム１が比較的容易に実現されている。
【００３０】
上記プログラマブル表示器５１２は、後述する画面データに基づいて、デバイスの状態を画面表示する際の動作や、画面への操作に応じてデバイスの状態を制御する際の動作を特定するものであって、ＰＬＣ５１１と通信するＰＬＣ・ＩＦ部５２１と、上記ＬＡＮ５１３に接続するためのＬＡＮ・ＩＦ部５２２と、例えば、液晶表示装置などからなるディスプレイ５２３と、ディスプレイ５２３の画面上に配されたタッチパネル５２４と、上記各部材５２１〜５２４を制御するＨＭＩ処理部５２５と、当該ＨＭＩ処理部５２５によって参照され、上記画面データおよび後述する変数が格納される記憶部５２６とを備えている。
【００３１】
なお、上記各部材５２１〜５２５は、ＣＰＵなどの演算手段が、ＲＯＭやＲＡＭなどの記憶手段に格納されたプログラムを実行し、タッチパネルや液晶表示装置などの入出力手段、あるいは、インターフェース回路などの通信回路を制御することによって実現される機能ブロックである。また、これらの部材のうち、各記憶部５２６は、ＲＡＭなどの記憶装置自体であってもよい。したがって、これらの手段を有するコンピュータが、上記プログラムを記録した記録媒体（例えば、ＣＤ−ＲＯＭなど）を読み取り、当該プログラムを実行するだけで、本実施形態に係るプログラマブル表示器５１２を実現できる。なお、例えば、ＬＡＮ５１３、あるいは、他の通信路を介してプログラムをダウンロードするためのプログラムが、上記コンピュータに予めインストールされていれば、これらの通信路を介して、上記コンピュータへ上記プログラムを配付することもできる。
【００３２】
上記画面データは、画面上の領域と、当該領域への表示や入力に対応するデバイスとの対応関係を示すタグを組み合わせて構成されている。本実施形態では、ＨＭＩ処理部５２５が複数の単位画面を切り換え表示可能であり、上記タグは、当該タグが有効となる単位画面を示すファイル番号と、単位画面上で実行すべき動作内容を特定する事象名と、各事象毎に参照される参照情報とを含んでいる。
【００３３】
例えば、上記タグが所定の画面領域（表示座標範囲）へ所定のデバイスの状態に応じた部品図形を表示する表示タグの場合、上記参照情報には、表示座標範囲と、デバイスを特定可能な変数（後述）と、例えば、部品図形がスイッチの場合、ＯＮを示す図形のファイルおよびＯＦＦを示す図形のファイルなど、表示時に参照するファイル番号とが含まれる。さらに、タグが入力タグの場合、参照情報として、有効入力座標範囲と、入力結果が書き込まれるデバイスの変数とが含まれる。
【００３４】
また、記憶部５２６には、変数のための領域（変数領域）が設けられており、当該変数領域には、各変数について、変数の名称（変数名）と、変数に対応するデバイス５０２ａまたは内部メモリを特定するための情報（例えば、アドレスなど）と、変数の内容との組み合わせが記憶されている。なお、本実施形態では、変数に対応するデバイス５０２ａの機種に拘わらず、変数の内容を格納する際の表現方法（例えば、ワード長や符号の有無、あるいは、ＢＣＤ／２進表記など）が予め定められた表現方法に統一されており、変数が実在のデバイス５０２ａに対応する場合、記憶部５２６には、実際の機種での表現方法も格納されている。この場合、ＨＭＩ処理部５２５は、ＰＬＣ・ＩＦ部５２１を介してデバイス５０２ａの状態を取得あるいは制御する際、表現方法を形式変換して、格納時の表現方法を統一する。
【００３５】
一方、上記ＨＭＩ処理部５２５は、所定の時間間隔で、記憶部５２６に格納された画面データから、ベース画面のファイル番号が、現在表示中のベース画面である表示タグを抽出する。さらに、ＨＭＩ処理部５２５は、記憶部５２６の変数領域を参照して、タグに対応する変数の内容を読み出し、内容に応じた部品図形をディスプレイ２３に表示する。ここで、ＰＬＣ・ＩＦ部５２１に接続されたＰＬＣ５１１により制御されるデバイス２ａに、上記変数が対応している場合、ＨＭＩ処理部５２５は、ＰＬＣ・ＩＦ部５２１によるＰＬＣ５１１との通信によって、デバイス５０２ａの状態を取得し、上記変数の内容を当該状態に応じて更新している。これにより、ディスプレイ５２３には、デバイス５０２ａの状態が表示される。
【００３６】
なお、変数が他のプログラマブル表示器５１２に接続されたＰＬＣ５１１によって制御されるデバイス５０２ａの場合、ＨＭＩ処理部５２５は、ＬＡＮ・ＩＦ部５２２、ＬＡＮ５１３および他のプログラマブル表示器５１２を介して当該ＰＬＣ５１１と通信するなどして、デバイスの状態を取得し、それに応じて変数の内容を更新する。
【００３７】
また、タッチパネル５２４への押し操作など、オペレータの入力操作を受け付けると、ＨＭＩ処理部５２５は、上記画面データから、現在表示中のベース画面に対応し、当該入力操作にマッチする入力タグを検索すると共に、入力結果に応じて、タグに対応する変数の内容を更新する。さらに、ＨＭＩ処理部５２５は、デバイス５０２ａの状態を取得する場合と略同様に、ＰＬＣ５１１やプログラマブル表示器５１２と通信するなどして、上記変数の内容に応じて、デバイス５０２ａの状態を制御させる。ここで、入力操作の後も、ＨＭＩ処理部５２５は、デバイス５０２ａの状態を画面表示するので、操作結果が画面表示に反映される。
【００３８】
加えて、ＨＭＩ処理部５２５は、例えば、他のプログラマブル表示器５１２や制御用ホストコンピュータ５１４など、ＬＡＮ５１３に接続された機器から自らに接続されたＰＬＣ５１１のデバイス５０２ａへの制御指示を受け取った場合や、これとは逆に、上記機器へ報告すべきデバイス５０２ａの状態を自らのＰＬＣ５１１から受け取った場合には、上述したプロトコル変換によって、ＬＡＮ５１３での通信、および、ＰＬＣ５１１との通信の間を中継できる。
【００３９】
これにより、プログラマブル表示器５１２は、画面データに基づいて、デバイスの状態を画面表示したり、画面への操作に応じてデバイスの状態を制御したりできる。
【００４０】
ここで、本実施形態に係るプログラマブル表示器５１２では、例えば、記憶部５２６として、ハードディスクドライブを採用しており、当該ハードディスクドライブは、故障が発生しそうなときに、通常とは異なる振動または異音が発生したり、あるいは、モータの回転周波数が通常とは異なるように変化したりすることがある。
【００４１】
一方、本実施形態に係るプログラマブル表示器５１２には、ハードディスクドライブなどの機器から発生する音、振動またはハードディスクドライブのモータの回転周波数に基づいて、機器に異常が発生しているか否かを判定する検出システム１が設けられている。なお、以下では、音に基づいて異常の有無を検出する構成について説明する。
【００４２】
具体的には、本実施形態に係る検出システム１は、入力端子Ｔｉｎに入力される音声信号を処理するシステムであって、図１に示すように、複数のフィルタ部２…を備えている。当該入力端子Ｔｉｎには、例えば、ＡＤＣが、上記検出対象の機器（この場合はハードディスクドライブ）からのアナログの音声信号を予め定められたサンプリング周波数（例えば、４８ｋＨｚなど）でＡＤ変換したデジタル値を入力するなどして、予めデジタル値に変換されたデジタル音声信号が入力されている。
【００４３】
各フィルタ部２は、それぞれ、入力された音声信号のうち、予め定められた周波数帯域の信号成分の大きさが、予め定められた閾値を超えているか否かを判定するものであって、予め定められた周波数帯域の信号成分を通過させるバンドパスフィルタ１１と、当該バンドパスフィルタ１１の出力値の絶対値（あるいは２乗平均）を取り、さらに、当該バンドパスフィルタ１１の出力値の絶対値の移動平均値を算出する移動平均値算出部１２と、当該移動平均値算出部１２の出力値が予め定められた閾値を超えているか否かを判定する判定部１３とを備えている。
【００４４】
本実施形態では、上述したように、音声信号は、デジタル信号として入力されており、上記バンドパスフィルタ１１は、詳細は後述するように、ＦＩＲデジタルフィルタによって実現されている。
【００４５】
上記各フィルタ部２は、上記周波数帯域および閾値を互いに独立して設定可能であり、それぞれの周波数帯域、および／または、閾値を互いに異なって設定できる。さらに、上記各フィルタ部２は、例えば、バンドパスフィルタ１１のフィルタ係数列の指定、あるいは、閾値の指定などによって、上記周波数帯域および閾値の設定指示も受け付けることができる。
【００４６】
また、本実施形態に係る上記各バンドパスフィルタ１１は、予め定められた周波数（通常周波数）で動作するだけではなく、それよりも低い周波数（ダウンサンプリング時の周波数）で動作することもできる。これにより、バンドパスフィルタ１１の通過帯域を低い周波数に設定する場合であっても、フィルタ係数列の系列長が長くなることを抑えることができる。さらに、本実施形態に係る検出システム１は、通常周波数とダウンサンプリング時の周波数との比率を、外部からの指示に応じて変更できる。
【００４７】
また、本実施形態に係る検出システム１には、入力側ローパスフィルタとしてのローパスフィルタ３が設けられており、上記各バンドパスフィルタ１１は、通常周波数でサンプリングする場合には、元の音声信号（入力端子Ｔｉｎに入力される音声信号）を入力信号として動作し、ダウンサンプリング時の周波数でサンプリングする場合には、当該ローパスフィルタ３を介した音声信号を入力信号として動作することができる。
【００４８】
ここで、サンプリング時には、サンプリング周波数の１／２以上の周波数の情報が失われる。したがって、エイリアシング誤差の発生を防止するために、サンプリング周波数の１／２以上の周波数の成分を予め除去しておくことが望ましい。ただし、サンプリング周波数が通常周波数の場合と、ダウンサンプリング時の周波数の場合とでは、除去すべき周波数帯域が異なるため、検出システム１に入力される音声信号から、ローパスフィルタによって、予め定められた低周波成分を除去すると、通常周波数の場合は、適切にエイリアシング誤差の発生を防止できたとしても、ダウンサンプリング時の周波数の場合には、エイリアシング誤差が発生してしまったり、ダウンサンプリング時の周波数の場合は、適切にエイリアシング誤差の発生を防止できたとしても、通常周波数の場合には、信号成分の一部が除去されてしまったりする。
【００４９】
ところが、本実施形態に係る検出システム１では、各バンドパスフィルタ１１が、入力信号として、ローパスフィルタ３の出力信号か、元の音声信号かの一方を選択するので、いずれの場合であっても、エイリアシング誤差の発生を適切に防止できる。
【００５０】
ここで、上記ローパスフィルタ３は、各バンドパスフィルタ１１毎に設けられていてもよいが、本実施形態に係る検出システム１では、回路規模を縮小するために、図１に示すように、ローパスフィルタ３が各バンドパスフィルタ１１に共通に設けられている。
【００５１】
加えて、上記検出システム１は、各フィルタ部２からの出力信号（より詳細には、各判定部１３の判定結果）の時間変化が、予め定められたパターンにマッチしているか否かを判定するマッチング処理部４を備えており、マッチした場合、真を示す最終検出結果信号Ｑを出力できる。
【００５２】
ここで、上述したように、機器に故障が発生しようとする場合、例えば、通常とは異なる振動または異音が発生したり、あるいは、モータの回転周波数が通常とは異なるように変化したりすることがある。また、故障が発生しようとする場合、これらの音、振動、あるいは、モータの回転周波数などは、時間と共に予め定められたパターンに従って変化することがある。なお、機器を熟知している人物であれば、これらの音、振動、あるいは、モータの回転周波数の変化などから、故障が発生するか否かを予見できることがあるが、一般的な人物が、これらに基づいて、故障の発生を予見することは難しい。
【００５３】
ところが、上記検出システム１は、各フィルタ部２からの出力信号（より詳細には、各判定部１３の判定結果）の時間変化が、予め定められたパターンにマッチしているか否かを判定している。したがって、機器を熟知していない人物、あるいは、機械であっても、機器に故障が発生しそうな状態か否か（異常状態であるか否か）を予め判断でき、機器の予知保全が可能になる。
【００５４】
より詳細には、本実施形態に係るマッチング処理部４は、パターンの開始を検出していない初期状態から、パターンマッチを検出した最終状態までに経由すべき状態として、１または複数の状態を設定できる。また、上記マッチング処理部４は、各状態には、次の状態へ移るために必要なイベントとして、「各フィルタ部２の出力信号のうちの予め定められたフィルタ部２の検出結果が真である」ことを設定できる。
【００５５】
これにより、ある状態になった時点から他の状態へ遷移するためのイベントの発生を検出するまでに、他のイベントの発生を検出したか否か、あるいは、ある状態になった時点から他の状態へ遷移するためのイベントの発生を検出するまでの経過時間に拘らず、検出システム１は、各フィルタ部２からの出力信号の時間変化が、予め定められたパターンにマッチしていれば、真を示す最終検出結果信号Ｑを出力できる。
【００５６】
さらに、本実施形態に係るマッチング処理部４は、例えば、パターンの開始を検出してからの経過時間などによって、次の状態へ移るために必要なイベントの発生を待ち受ける期間を各状態に対して予め設定でき、それ以外の期間に発生したイベントを無視したり、例えば、初期状態に戻る処理（初期化処理）など、予め定められた処理を行うことができる。これにより、各フィルタ部２からの出力信号の時間変化を、順序だけではなく、各状態間の時間間隔によっても特定することができ、より的確にパターンを記述できる。
【００５７】
また、本実施形態に係るマッチング処理部４は、各状態に対して、初期状態へ戻るためのイベントを設定できる。これにより、例えば、検出結果が真になるのを待ち受けているフィルタ部２以外のフィルタ部２の検出結果が真になった場合、初期化したり、待ち受ける期間よりも前の時点、あるいは、後の時点で検出した場合、初期化したりすることができる。
【００５８】
これにより、パターンにマッチしないと判定した場合、初期状態に戻らせることができ、より的確にパターンを記述できる。また、マッチング処理部４は、各状態において、予め定められたタイムアウト期間が経過しても、待ち受けたイベントが起こらなかった場合、パターンマッチングの処理を初期化できる。この結果、途中の状態で待ち受け続けることを防止でき、安定して、入力された音声信号の時間変化が予め定められたパターンに一致しているか否かを検出できる。
【００５９】
さらに、本実施形態に係るマッチング処理部４は、Ｍａｔｃｈ＿ＥＮ信号に応じて、パターンマッチング処理を行うか否かを決定でき、Ｍａｔｃｈ＿ＥＮ信号を無効に設定すれば、マッチング処理部４によるパターンマッチング処理を停止させることができる。
【００６０】
以下では、図３および図４を参照しながら、マッチング処理部４の構成例について説明する。すなわち、本構成例に係るマッチング処理部４は、図３に示すように、検出すべきパターンの情報を記憶するレジスタ２１と、現在の状態を記憶する状態カウンタ２２と、パターンの開始が検出されているか否か（パターンマッチング中か否か）を記憶するフリップフロップ２３と、各フィルタ部２に対応して設けられ、それぞれに対応するフィルタ部２の出力信号および上記各部材２１〜２３の出力信号に基づいて、ＦｉｌｔｅｒＯＫ信号、すなわち、現状態において、それに対応するフィルタ部２の出力信号が次の状態（初期状態から最終状態へのシーケンスの中で次の状態）に遷移することを阻止しない値であることを示す信号を生成する判定回路２４と、ＦｉｌｔｅｒＯＫ信号を含む各判定回路２４の出力信号に基づいて、最終検出結果信号Ｑを生成すると共に、上記各部材２２〜２３を制御する制御回路２５とを備えている。
【００６１】
上記レジスタ２１には、図４に示すように、各フィルタ部２に関連付けて、シーケンス記憶領域が設けられており、当該シーケンス記憶領域には、各状態Ｓ０〜Ｓ７に関連付けて、その状態のときに、そのフィルタ部２に対応する判定回路２４が当該フィルタ部２の出力信号を判定するか否かを示すＳｑｃｅ＿Ｃｏｎデータが記憶されている。なお、図４では、（）内に対応するフィルタ部２の参照符号を図示している。
【００６２】
一方、判定回路２４は、フリップフロップ２３の出力信号がパターンマッチング中を示しており、しかも、自らに対応するフィルタ部２と状態カウンタ２２の示す状態とに関連付けてレジスタ２１に記憶されているＳｑｃｅ＿Ｃｏｎデータが真（判定要）を示している場合は、フィルタ部２の出力信号（真／偽）に応じて、ＦｉｌｔｅｒＯＫ信号の真／偽を変更できる。これとは逆に、フリップフロップ２３の出力信号がパターンマッチング中を示していない場合、および、Ｓｑｃｅ＿Ｃｏｎデータが偽（判定不要）を示している場合は、フィルタ部２の出力信号に拘らず、真のＦｉｌｔｅｒＯＫ信号を出力できる。
【００６３】
さらに、上記制御回路２５には、上記各判定回路２４のＦｉｌｔｅｒＯＫ信号の論理積を演算するＡＮＤ回路２５ａが設けられており、ＡＮＤ回路２５ａの出力信号は、状態カウンタ２２のカウントアップ端子に印加されている。これにより、全てのＦｉｌｔｅｒＯＫ信号が、「現状態において、それに対応するフィルタ部２の出力信号が、次の状態に遷移することを阻止しない」ことを示している場合（真の場合）、状態カウンタ２２に記憶されている、現状態を示すカウント値を、次の状態を示す値に変更できる。
【００６４】
なお、本構成例では、上記状態カウンタ２２は、７ビットのシフトレジスタによって実現されており、上記ＡＮＤ回路２５ａの出力信号は、カウントアップ端子としてのシフト端子に接続されている。また、本構成例では、シフトレジスタの入力端子は、１に設定されており、シフト端子が真になる度に、初期状態を示す００ｈから、０１ｈ、０３ｈ、０７ｈ、…、７Ｆｈのように、順次、出力値を変更できる。
また、本構成例では、上記ＡＮＤ回路２５ａの出力信号は、最終検出結果信号Ｑの波形整形（タイミング調整）のためにも使用されており、制御回路２５に設けられたＡＮＤ回路２５ｂは、状態カウンタ２２の出力信号が最終状態（Ｓ７）を示していることを示す最終状態信号と上記ＡＮＤ回路２５ａの出力信号との論理積を、最終検出結果信号Ｑとして出力している。なお、図３では、一例として、本構成例では、状態カウンタ２２としてのシフトレジスタの出力信号の全ビットと、上記ＡＮＤ回路２５ａの出力信号との論理積との論理積を、最終検出結果信号Ｑとして出力しているが、例えば、最終状態を記憶するレジスタと、状態カウンタ２２の出力信号との比較結果を、上記最終状態信号とすれば、制御回路が、レジスタの値を変更することで、状態の数を変更できる。
【００６５】
さらに、上記各判定回路２４は、上記ＦｉｌｔｅｒＯＫ信号に加えて、パターンの開始を示すＭａｔｃｈ＿Ｓｔ信号も出力することができ、自らに対応するフィルタ部２と初期状態とに関連付けて記憶されているＳｑｃｅ＿Ｃｏｎデータが真を示している場合は、フィルタ部２の出力信号（真／偽）に応じて、当該Ｍａｔｃｈ＿Ｓｔ信号の真／偽を変更できる。また、上記制御回路２５には、上記各判定回路２４のＭａｔｃｈ＿Ｓｔ信号の論理和を演算するＯＲ回路２５ｃが設けられており、ＯＲ回路２５ｃの出力信号は、上記フリップフロップ２３のセット端子に印加されている。これにより、上記各判定回路２４のいずれかがパターンの開始を検出した場合、上記フリップフロップ２３をパターンマッチング中を示す値にセットできる。
【００６６】
また、本構成例に係る各判定回路２４は、上記ＦｉｌｔｅｒＯＫ信号およびＭａｔｃｈ＿Ｓｔ信号に加えて、初期状態へ戻すことを示すＭａｔｃｈ＿Ｉｎｉｔ信号も出力することができる。
【００６７】
具体的には、本構成例に係るレジスタ２１には、各フィルタ部２毎に、タイムアウト時間を示すＥＶ＿Ｔｉｍｅデータが記憶されている。また、自らに対応するフィルタ部２の出力信号が真になることを待ち受けている判定回路２４、すなわち、自らに対応するフィルタ部２と状態カウンタ２２の示す状態とに関連付けてレジスタ２１に記憶されているＳｑｃｅ＿Ｃｏｎデータが真（判定要）を示している判定回路２４は、現在の状態になってから、ＥＶ＿Ｔｉｍｅデータが経過しても、自らに対応するフィルタ部２の出力信号が真にならない場合、真のＭａｔｃｈ＿Ｉｎｉｔ信号を出力できる。
【００６８】
本構成例に係るマッチング処理部４では、予め定められた周期でカウントアップされると共に、上記各判定回路２４のいずれかがパターンの開始を検出した場合にリセットされるタイムカウンタ２６が、各判定回路２４に共通に設けられており、各判定回路２４は、タイムカウンタ２６の出力値を参照して、パターンの開始を検出した時点からの経過時間を把握している。なお、本構成例では、例えば、上記ＯＲ回路２５ｃの出力信号がタイムカウンタ２６のリセット端子に印加されている。一方、上記自らに対応するフィルタ部２の出力信号が真になることを待ち受けている判定回路２４は、例えば、現在の状態になった時点における上記タイムカウンタ２６のカウント値と現時点の上記タイムカウンタ２６のカウント値との差が、ＥＶ＿Ｔｉｍｅデータの示す値を超えているか否かを判定するなどして、現在の状態になってから、ＥＶ＿Ｔｉｍｅデータが経過したか否かを判定している。
【００６９】
さらに、上記制御回路２５には、上記各判定回路２４のＭａｔｃｈ＿Ｉｎｉｔ信号の論理和を演算するＯＲ回路２５ｄが設けられており、ＯＲ回路２５ｄの出力信号は、状態カウンタ２２およびフリップフロップ２３のリセット端子に印加されている。これにより、上記各判定回路２４のいずれかが真のＭａｔｃｈ＿Ｉｎｉｔ信号を出力した場合、マッチング処理部４を初期状態へ戻す（初期化する）ことができる。この結果、マッチング処理部４は、予め定められたタイムアウト時間が経過しても、上記次の状態へ遷移するために必要なフィルタ部２の出力信号が真にならない場合、初期状態に戻ることができる。
【００７０】
また、本構成例に係るマッチング処理部４は、上述した動作、すなわち、「ある状態になった時点から他の状態へ遷移するためのイベントの発生を検出するまでの経過時間に拘らず、各フィルタ部２からの出力信号の時間変化が、予め定められたパターンにマッチしていれば、真を示す最終検出結果信号Ｑを出力する」動作を行う時間独立モードに加えて、時間従属モードでも動作することができ、時間従属モードに設定されている場合、予め定められた検出期間中に、他の状態へ遷移するためのイベントの発生が検出された場合にのみ、次の状態に遷移できる。
【００７１】
具体的には、本構成例に係るレジスタ２１には、各フィルタ部２毎に、そのフィルタ部２に対応する判定部１３が時間独立モードで動作するか、時間従属モードで動作するかを示すＴｉｍｅＩｎｄｅｐフラグが格納されている。なお、ＴｉｍｅＩｎｄｅｐフラグが時間独立モードで動作することを示している場合、そのフィルタ部２に対応する判定部１３は、上述したように動作して、時間独立モードで動作できる。
【００７２】
また、上記レジスタ２１には、各フィルタ部２毎に、ＳＱ＿ＴｉｍｅデータとＴｉｍｅＲｄｎＢｆフラグとＴｉｍｅＲｄｎＡｆフラグとが記憶されている。上記ＳＱ＿Ｔｉｍｅデータは、そのフィルタ部２に対応する判定部１３がフィルタ部２の出力を監視する期間（監視期間）の開始時点を示すものであって、本構成例では、例えば、タイムカウンタ２６のカウント値によって開始時点が記述されている。なお、監視期間の終了時点は、上述したＥＶ＿Ｔｉｍｅデータとして記憶されている。
【００７３】
また、ＴｉｍｅＲｄｎＢｆフラグおよびＴｉｍｅＲｄｎＡｆフラグは、上記監視期間外にフィルタ部２の出力が真になったことを検出した場合に、パターンマッチングの処理を初期化するか無視するかを示すものであって、ＴｉｍｅＲｄｎＢｆフラグが上記監視期間よりも前に検出した場合の動作、ＴｉｍｅＲｄｎＡｆフラグが上記監視期間よりも後に検出した場合の動作を示している。
【００７４】
一方、判定回路２４は、自らに対応するフィルタ部２の動作モードが時間従属モードに設定されている場合、例えば、ＳＱ＿Ｔｉｍｅデータとタイムカウンタ２６からのカウント値とを比較するなどして、ＳＱ＿Ｔｉｍｅデータの示す時点になるまで待っている。なお、残余の回路２１〜２３・２５・２６の動作は、時間独立モードの場合と同じである。
【００７５】
ここで、判定回路２４は、自らに対応するフィルタ部２のＴｉｍｅＲｄｎＢｆフラグがパターンマッチングの処理の初期化を示している場合は、ＳＱ＿Ｔｉｍｅデータの示す時点になるまでの間も、上記フィルタ部２の出力信号を監視しており、当該出力信号が真になった場合、真のＭａｔｃｈ＿Ｉｎｉｔ信号を出力できる。これとは逆に、ＴｉｍｅＲｄｎＢｆフラグが無視を示している場合、判定回路２４は、フィルタ部２の出力信号に拘らず、ＳＱ＿Ｔｉｍｅデータの示す時点になるまでの間、Ｍａｔｃｈ＿Ｉｎｉｔ信号を偽にし続ける。
【００７６】
一方、ＳＱ＿Ｔｉｍｅデータの示す時点になる（監視期間が開始されると）と、判定回路２４は、フィルタ部２の出力信号の真偽に応じて、ＦｉｌｔｅｒＯＫ信号の真偽を変更する。また、判定回路２４は、自らに対応するフィルタ部２と初期状態とに関連付けて記憶されているＳｑｃｅ＿Ｃｏｎデータが真を示している場合、フィルタ部２の出力信号（真／偽）に応じて、当該Ｍａｔｃｈ＿Ｓｔ信号の真／偽を変更できる。なお、監視期間中に、フィルタ部２の出力信号が真になった場合、判定回路２４は、例えば、レジスタ２１などに、監視期間中に検出したことを記憶できる。
【００７７】
また、判定回路２４は、ＳＱ＿Ｔｉｍｅデータの示す時点になった後、例えば、ＳＱ＿Ｔｉｍｅデータと現在のタイムカウンタ２６のカウント値とを比較するなどして、当該時点からの経過時間を計時しており、ＥＶ＿Ｔｉｍｅデータの示す時間が経過した時点において、例えば、上記レジスタ２１を参照するなどして、監視期間中にフィルタ部２の出力信号が真になっていないと判定した場合は、ＴｉｍｅＲｄｎＡｆフラグに応じたＭａｔｃｈ＿Ｉｎｉｔ信号を出力できる。具体的には、ＴｉｍｅＲｄｎＡｆフラグが初期化を示している場合、判定回路２４は、真のＭａｔｃｈ＿Ｉｎｉｔ信号を出力し、ＴｉｍｅＲｄｎＡｆフラグが無視を示している場合、判定回路２４は、偽のＭａｔｃｈ＿Ｉｎｉｔ信号を出力できる。なお、ＴｉｍｅＲｄｎＡｆフラグが無視を示している場合であっても、判定回路２４は、充分長い時間として予め定められた時間が経過しても、状態が変化しなければ、真のＭａｔｃｈ＿Ｉｎｉｔ信号を出力して、マッチング処理部４を初期化できる。
【００７８】
以下では、一例として、図４において、８つのフィルタ部２ａ〜２ｈが設けられており、パターンとして、以下のパターン、すなわち、各フィルタ部２のうち、出力信号が真となるものが、「フィルタ部２ｂおよび２ｅ」→「フィルタ部２ｄおよび２ｇ」→「フィルタ部２ｈ」→「フィルタ部２ａおよび２ｆ」→「フィルタ部２ｂ」→「フィルタ部２ｈ」→「フィルタ部２ａおよび２ｃ」の順で、時間変化するパターンが登録されている場合について説明する。なお、このように設定される場合、各フィルタ部２ａ〜２ｈの各状態Ｓ０〜Ｓ７に対応するＳｑｃｅ＿Ｃｏｎデータは、図４に示すように設定される。また、この設定例では、フィルタ部２ａ、２ｅ、２ｆおよび２ｈが時間独立モードに設定されており、残余のフィルタ部２ｂ、２ｃ、２ｄおよび２ｇが時間従属モードに設定されている。さらに、各フィルタ部２のＴｉｍｅＲｄｎＡｆフラグおよびＴｉｍｅＲｄｎＢｆフラグは、初期化を示す値に設定されている。なお、この設定例では、各フィルタ部２ａ〜２ｈのＥＶ＿ＴｉｍｅおよびＳＱ＿Ｔｉｍｅ、並びに、判定回路２４を、例えば、フィルタ部２ａのＥＶ＿Ｔｉｍｅ＿ａのように、それぞれに対応するフィルタ部２の末尾の英字を付して参照する。
【００７９】
ここで、図５に示す時点ｔ０を含み、時点ｔ１よりも前の初期状態Ｓ０では、状態カウンタ２２およびフリップフロップ２３がリセットされている。この状態では、初期状態Ｓ０に対応するＳｑｃｅ＿Ｃｏｎデータが真（図３の例では１）に設定されている判定回路２４ｂおよび２４ｅは、偽のＦｉｌｔｅｒＯＫ信号を出力し、残余の判定回路２４ａ・２４ｃ・２４ｄ・２４ｆ〜２４ｈは、真のＦｉｌｔｅｒＯＫ信号を出力している。また、この状態では、各判定回路２４ａ〜２４ｈは、偽のＭａｔｃｈ＿Ｉｎｉｔ信号、および、偽のＭａｔｃｈ＿Ｓｔ信号を出力している。
【００８０】
この状態において、ｔ０の時点において、フィルタ部２ｅの出力信号が真になると、フィルタ部２ｅの出力信号を監視する判定回路２４ｅは、ＦｉｌｔｅｒＯＫ信号およびＭａｔｃｈ＿Ｓｔ信号を真に設定する。
【００８１】
このＭａｔｃｈ＿Ｓｔ信号により、フリップフロップ２３が真に設定される。また、ＦｉｌｔｅｒＯＫ信号により、タイムカウンタ２６がリセットされ、タイムカウンタ２６は、当該時点ｔ０からの経過時間を計時し始める。なお、ｔ０の時点では、判定回路２４ｅのＦｉｌｔｅｒＯＫ信号が真になっても、判定回路２４ｂのＦｉｌｔｅｒＯＫ信号が偽のままなので、状態カウンタ２２の値は、初期状態Ｓ０を示す値のままである。
【００８２】
ここで、フィルタ部２ｂおよび２ｅは、初期状態Ｓ０において判定要に設定されているので、上述したように、タイムカウンタ２６のカウント値と各ＥＶ＿Ｔｉｍｅの示すカウント値とを比較して、タイムカウンタ２６が計時を開始してから（ｔ０の時点から）、各ＥＶ＿Ｔｉｍｅの示す時間が経過しているか否かを判定している。
【００８３】
上述したように、フィルタ部２ｅの出力信号は、ｔ０の時点で既に真になっているので、ＥＶ＿Ｔｉｍｅ＿ｅの示す時間が経過しても、判定回路２４ｅは、Ｍａｔｃｈ＿Ｉｎｉｔ信号を偽に保っている。ここで、フィルタ部２ｂの出力信号は、ｔ０の時点では真になっていないので、ＥＶ＿Ｔｉｍｅ＿ｂの示す時間が経過してもフィルタ部２ｂの出力信号が真にならなければ、判定回路２４ｂは、Ｍａｔｃｈ＿Ｉｎｉｔ信号を真に設定する。
【００８４】
それに対して、図５の例では、それよりも前の時点ｔ１において、フィルタ部２ｂの出力信号が真になる。これにより、判定回路２４ｂは、ＦｉｌｔｅｒＯＫ信号およびＭａｔｃｈ＿Ｓｔ信号を真に設定する。なお、本構成例では、判定回路２４ｂのＭａｔｃｈ＿Ｓｔ信号によって、タイムカウンタ２６が再度リセットされ、タイムカウンタ２６は、ｔ１の時点からの経過時間を計時し始める。
【００８５】
また、ｔ１の時点では、判定回路２４ｂのＦｉｌｔｅｒＯＫ信号も真になるので、状態カウンタ２２はカウントアップされ、状態カウンタ２２のカウント値は、初期状態Ｓ０の次の状態Ｓ１を示す値に変化する。なお、本構成例では、状態カウンタ２２がシフトレジスタにより構成されているので、カウント値は、００ｈから０１ｈへと変化する。
【００８６】
ここで、各フィルタ部２のうち、フィルタ部２ａ、２ｅ、２ｆおよび２ｈは、時間独立モードに設定されており、しかも、状態Ｓ１では、判定不要に設定されている。したがって、フィルタ部２ａ、２ｅ、２ｆおよび２ｈは、状態Ｓ１の間、ＦｉｌｔｅｒＯＫ信号を真、Ｍａｔｃｈ＿Ｉｎｉｔ信号およびＭａｔｃｈ＿Ｓｔ信号を偽のまま維持している。
【００８７】
一方、各フィルタ部２のうち、フィルタ部２ｂ、２ｃ、２ｄおよび２ｇが時間従属モードに設定されており、それぞれのＴｉｍｅＲｄｎＡｆフラグおよびＴｉｍｅＲｄｎＢｆフラグは、初期化を示す値に設定されている。したがって、これらに対応する判定回路２４ｂ、２４ｃ、２４ｄおよび２４ｇは、タイムカウンタ２６のカウント値と、それぞれに設定されたＳＱ＿Ｔｉｍｅデータとを比較して、ＳＱ＿Ｔｉｍｅデータの示す時点になるまでの間に、それぞれに対応するフィルタ部２の出力信号を監視している。したがって、この期間中に出力信号が真になった場合は、Ｍａｔｃｈ＿Ｉｎｉｔ信号を真に設定する筈である。ところが、図５の例では、フィルタ部２ｂ、２ｃ、２ｄおよび２ｇの出力信号は、いずれも、ＳＱ＿Ｔｉｍｅデータの示す時点になるまでの間、偽のまま保たれている。したがって、各判定回路２４ｂ、２４ｃ、２４ｄおよび２４ｇは、Ｍａｔｃｈ＿Ｉｎｉｔ信号を偽に維持している。
【００８８】
また、状態Ｓ１では、これらのフィルタ部２ｂ、２ｃ、２ｄおよび２ｇのうちのフィルタ部２ｄおよび２ｇが判定要と設定されているので、判定回路２４ｄおよび２４ｇは、偽のＦｉｌｔｅｒＯＫ信号を出力し、残余の判定回路２４ｂおよび２４ｃは、真のＦｉｌｔｅｒＯＫ信号を出力している。
【００８９】
上記ｔ１の時点において状態Ｓ１になった後、ＳＱ＿Ｔｉｍｅ＿ｄの示す時点になると、判定回路２４ｄは、ＥＶ＿Ｔｉｍｅ＿ｄの計時を開始する。同様に、ＳＱ＿Ｔｉｍｅ＿ｇの示す時点になると、判定回路２４ｇは、ＥＶ＿Ｔｉｍｅ＿ｇの計時を開始する。ここで、これらのＥＶ＿Ｔｉｍｅが経過しても、それぞれに対応するフィルタ部２ｄおよび２ｇの出力信号が真にならない場合、判定回路２４ｄおよび２４ｇは、Ｍａｔｃｈ＿Ｉｎｉｔ信号を真に設定する筈である。ところが、図５の例では、それぞれのＥＶ＿Ｔｉｍｅが経過する前に、フィルタ部２ｄおよび２ｇの出力信号が真になるので、判定回路２４ｄおよび２ｇは、Ｍａｔｃｈ＿Ｉｎｉｔ信号を偽に保ったまま、ＦｉｌｔｅｒＯＫ信号を真に設定する。この結果、両ＦｉｌｔｅｒＯＫ信号が真になった時点ｔ２で、状態カウンタ２２はカウントアップされ、初期状態Ｓ１の次の状態Ｓ２を示す値に変化する。なお、本構成例では、状態カウンタ２２のカウント値は、０１ｈから０３ｈへと変化する。
【００９０】
この状態Ｓ２では、判定要と設定されているのは、判定回路２４ｈだけなので、判定回路２４ｈのみがＦｉｌｔｅｒＯＫ信号を偽に設定し、残余の判定回路２４は、ＦｉｌｔｅｒＯＫ信号を真に設定する。また、時間独立モードに設定されている判定回路２４ｈは、当該状態Ｓ２に遷移してからの経過時間を測定し、ＥＶ＿Ｔｉｍｅ＿ｈの示す時間が経過するまでにフィルタ部２ｈの出力信号が真にならないと、Ｍａｔｃｈ＿Ｉｎｉｔ信号を真に設定する。ただし、図５の例では、ＥＶ＿Ｔｉｍｅ＿ｈの示す時間が経過するまでにフィルタ部２ｈの出力信号が真になっているので、その時点ｔ３で、ＦｉｌｔｅｒＯＫ信号が真になり、状態カウンタ２２がカウントアップされる。
【００９１】
上記各動作は、最後の状態Ｓ７になるまで繰り返される。具体的には、その状態において判定要に設定されている判定回路２４は、時間独立モードの場合は、その状態に変化してからのＥＶ＿Ｔｉｍｅの示す時間が経過するまでの間、時間従属モードの場合は、ＳＱ＿Ｔｉｍｅの示す時点になってからＥＶ＿Ｔｉｍｅの示す時間が経過するまでの間に、フィルタ部２の出力信号が真になると、ＦｉｌｔｅｒＯＫ信号を真に設定し、その状態において判定要に設定されている判定回路２４からのＦｉｌｔｅｒＯＫ信号の全てが真になった時点で、状態カウンタ２２が次の状態を示す値にカウントアップされる。
【００９２】
最後の状態Ｓ７になると、マッチング処理部４の制御回路２５は、最終検出結果信号Ｑを真に変更する。なお、本構成例の場合、最後の状態Ｓ７では、状態カウンタ２２のカウント値が７Ｆｈになるので、マッチング処理部４の制御回路２５は、状態カウンタ２２のカウント値が、この値になり、しかも、ＡＮＤ回路２５ａの出力信号が真になった時点で、最終検出結果信号Ｑを真に変更している。
【００９３】
これにより、マッチング処理部４は、各フィルタ部２からの出力信号の時間変化が、上記レジスタ２１に記憶された予め定められたパターンにマッチしているか否かを判定できる。
【００９４】
続いて、以下では、図６〜図１０を参照しながら、図１に示すローパスフィルタ３および各フィルタ部２のバンドパスフィルタ１１を詳細に説明する。すなわち、本実施形態では、これらのフィルタがＦＩＲデジタルフィルタによって実現されている。
【００９５】
当該ＦＩＲデジタルフィルタの出力Ｙ（ｔ）は、予め定められた周期（サンプリング周期など）毎に入力される入力信号を、古いものから順に、ｘ（ｔ−ｎ＋１）、ｘ（ｔ−ｎ＋２）、…、ｘ（ｔ−１）、ｘ（ｔ）とし、当該フィルタの次数をｎ、０からｎ−１までの任意の整数をｉ、フィルタのフィルタ係数列を構成する各フィルタ係数をｈ（ｉ）とするとき、以下の式（１）に示すように、
Ｙ（ｔ）＝Σ〔ｈ（ｉ）・ｘ（ｔ−ｎ＋１＋ｉ）〕 …（１）
となる。なお、上記式（１）において、Σは、ｉを０からｎ−１まで変化させた場合の〔〕内の合計である。また、ｎは、偶数である。
【００９６】
本実施形態では、フィルタ係数列におけるフィルタ係数の対称性を利用し、上記式（１）を、以下の式（２）に示すように、
Ｙ（ｔ）＝Σ〔 ｈ（ｊ）・（ ｘ（ｔ−ｎ／２＋１＋ｊ）
＋ｘ（ｔ−ｎ／２−ｊ） ）〕 …（２）
と変形して計算している。なお、上記式（２）では、ｊは、０からｎ／２−１までの任意の整数であり、Σは、ｊを０からｎ／２−１まで変化させた場合の〔〕内の合計である。
【００９７】
さらに、本実施形態に係るＦＩＲフィルタ３１は、図６に示すように、２つのメモリ３２・３３を用意し、その一方（例えば、メモリ３２）に、上記周期毎に入力される入力信号からなる入力信号列の後半（より新しい方の半分）を記憶し、他方（この場合、メモリ３３）に前半（より古い方の半分）を記憶している。なお、この場合、メモリ３２が特許請求の範囲に記載の後半記憶回路になり、メモリ３３が前半記憶回路になる。
【００９８】
さらに、ＦＩＲフィルタ３１には、上記両メモリ３２・３３から読み出した値を加算する加算器３４と、フィルタ係数列を記憶する係数レジスタ３５と、当該係数レジスタ３５から読み出した係数と加算器３４の出力値との乗算結果を累算した値（積和演算結果）を出力する積和回路（積和演算回路）３６と、これらを制御する制御回路３７とが設けられている。
【００９９】
なお、上述したように、本実施形態に係るＦＩＲフィルタ３１は、上記式（２）に従って動作しており、係数レジスタ３５には、ｎ／２の長さの係数列（上記式（２）のｈ（ｊ））が記憶されている。また、上記積和回路３６は、例えば、図７に示すように、乗算の対象となる２つの値を乗算する乗算器３６ａと、例えば、自らの出力値と乗算器３６ａの出力値とを加算する加算器などによって実現され、乗算器３６ａの乗算結果を累算する累算器３６ｂとによって実現できる。
【０１００】
上記制御回路３７は、入力信号が新たに入力される度に、メモリ３２に格納された信号列のうち、最も古くに入力されたものをメモリ３３に入力している。なお、入力信号が新たに入力されると、メモリ３３のうち、最も古くに入力されたものは演算に使用しなくなるので、この入力信号を記憶した領域を上書きしてもよい。これにより、いずれの入力信号が入力された状態であっても、メモリ３２には、入力信号列の後半（上記式（２）のｘ（ｔ−ｎ／２＋１）〜ｘ（ｔ））が記憶され、メモリ３３には、入力信号列の前半（上記式（２）のｘ（ｔ−ｎ＋１）〜ｘ（ｔ−ｎ／２））が記憶される。一例として、本実施形態では、上記両メモリ３２・３３は、詳細は後述するように、ＲＡＭ上に設けられたリングバッファとして実装されている。
【０１０１】
また、上記制御回路３７は、入力信号の入力周期毎に、上記加算器３４および積和回路３６が、上記係数レジスタ３５に格納された係数系列の系列長の回数（ｎ／２回）だけ、それぞれの演算を行うように制御している。
【０１０２】
より詳細には、制御回路３７は、メモリ３２から、上記入力信号ｘ（ｔ−ｎ／２＋１）〜ｘ（ｔ）を順次読み出して、加算器３４の一方の入力端子へ与えている。なお、読み出す周期（演算周期）Ｔｃは、入力信号の入力周期をＴｉとするとき、Ｔｃ
≦ Ｔｉ／（ｎ／２）になるように設定されている。
【０１０３】
さらに、制御回路３７は、メモリ３２からの読み出しに同期して、メモリ３３から、上記入力信号ｘ（ｔ−ｎ／２）〜ｘ（ｔ−ｎ＋１）を順次読み出して、加算器３４の他方の入力端子へ与えている。これにより、加算器３４には、各演算周期において、ｘ（ｔ−ｎ／２＋１＋ｊ）およびｘ（ｔ−ｎ／２−ｊ）が入力され、加算器３４は、各演算周期毎に、ｘ（ｔ−ｎ／２＋１＋ｊ）＋ｘ（ｔ−ｎ／２−ｊ）を出力できる。なお、ｊは、０からｎ／２−１までの整数のいずれかであって、互いに異なる演算周期では、互い異なる値に設定される。本実施形態に係る制御回路３７は、一例として、ｊが演算周期毎に０からｎ／２−１へ１ずつ増加するように、上記両メモリ３２・３３から各入力信号を読み出している。
【０１０４】
また、上記制御回路３７は、加算器３４の出力に同期して、加算器３４の出力を算出する際に使用したｊに対応するフィルタ係数ｈ（ｊ）を係数レジスタ３５から読み出して積和回路３６に入力している。
【０１０５】
さらに、上記制御回路３７は、入力信号が入力される度に（上記入力周期Ｔｉ毎）に、例えば、図７に示す累算器３６ｂの累算結果を０クリアするなどして、積和回路３６による積和演算結果を０クリアしている。また、制御回路３７は、例えば、図７に示す乗算器３６ａから乗算結果が出力される度に、これまでの累算値に乗算器３６ａからの乗算結果を加えるように、累算器３６ｂへ指示するなどして、積和回路３６に積和演算を指示している。これにより、積和回路３６が、全てのｊに関する積和演算を行うと、積和回路３６の出力値は、Ｙ（ｔ）となる。
【０１０６】
ここで、図１に示すローパスフィルタ３およびバンドパスフィルタ１１は、それぞれ図７に示すＦＩＲフィルタ３１として互いに別個に構成されていてもよいが、本実施形態では、ローパスフィルタ３に使用するメモリ３２・３３および加算器３４を、バンドパスフィルタ１１がローパスフィルタ３を介さずに入力信号を処理する場合のメモリ３２・３３および加算器３４としても使用している。これにより、詳細は後述するように、回路中で高速動作する必要がある箇所を制限でき、かつ、回路全体の消費電力を削減できる。
【０１０７】
具体的には、図８に示すように、本実施形態に係るローパスフィルタ３には、図６に示す各部材３２〜３７と同様の部材４２〜４７が設けられている。また、フィルタ部２のバンドパスフィルタ１１にも、図６に示す各部材３２〜３７と同様の部材５２〜５７が設けられている。なお、図では、説明の便宜上、各フィルタ部２およびローパスフィルタ３の上記制御回路４７および制御回路５７を含む制御回路を、制御回路６１として図示している。
【０１０８】
ただし、本実施形態に係る検出システム１では、加算器５４と積和回路５６との間にスイッチ６２が設けられており、当該スイッチ６２は、加算器４４の出力値と加算器５４の出力値との一方を選択して、積和回路５６へ印加できる。また、上記制御回路６１は、バンドパスフィルタ１１がダウンサンプリングするか否かに応じて、スイッチ６２を切り換えることができる。
【０１０９】
さらに、本実施形態では、部材４２〜４４、５２〜５４が、各フィルタ部２間で共通に設けられている。また、係数レジスタ４５および積和回路４６も、各フィルタ部２間で共通に設けられている。これにより、これらを各フィルタ部２毎に独立して設ける場合よりも、回路規模を大幅に削減できる。
【０１１０】
一方、上記各部材５２〜５７のうち、係数レジスタ５５および積和回路５６は、各フィルタ部２毎に独立して設けられている。したがって、各フィルタ部２は、何ら支障なく、互いに独立して、それぞれのフィルタ係数列を設定できると共に、互いに独立して、ダウンサンプリングするか否かをできる。
【０１１１】
上記構成において、制御回路６１は、上記各バンドパスフィルタ１１のうち、ダウンサンプリングするように設定されているバンドパスフィルタ１１のスイッチ６２を、加算器５４側に切り換える。なお、図８では、一例として、フィルタ部２ａおよび２ｃのバンドパスフィルタ１１ａ・１１ｃがダウンサンプリングするように設定されており、当該バンドパスフィルタ１１ａ・１１ｃのスイッチ６２ａ・６２ｃが加算器５４側に切り換えられている。
【０１１２】
この場合は、図９に示すように、部材４２〜４６によって、ローパスフィルタ３が形成され、サンプリングされた入力信号の高周波成分を除去できる。なお、図９および図１０（後述）では、選択されなかった方の信号経路または回路を破線で示している。
【０１１３】
また、ローパスフィルタ３の出力信号（積和回路４６の出力信号）は、部材５２〜５６によって形成されたバンドパスフィルタ１１へ供給されており、メモリ５２・５３は、当該出力信号を順次格納する。ただし、バンドパスフィルタ１１は、ダウンサンプリングしているので、制御回路６１は、バンドパスフィルタ１１をダウンサンプリング時の周波数で動作させている。したがって、メモリ５２・５３には、通常の周期よりも長い周期毎に、ローパスフィルタ３の出力信号が格納される。一例として、ダウンサンプリング時には、通常の１／４の周波数でサンプリングする場合、メモリ５２・５３は、４回おきに、ローパスフィルタ３の出力信号の出力値を格納する。また、バンドパスフィルタ１１の入力周期Ｔｉが通常よりも延長されているので、それに合わせて、バンドパスフィルタ１１の演算周期Ｔｃも延長されている。
【０１１４】
これにより、バンドパスフィルタ１１は、低い周波数帯域の信号成分を通過させる場合であっても、フィルタ係数系列の系列長をあまり増大させることなく、当該信号成分を通過させることができる。
【０１１５】
一方、制御回路６１は、上記各バンドパスフィルタ１１のうち、特にダウンサンプリングが設定されていないバンドパスフィルタ１１については、スイッチ６２を、加算器４４側に切り換える。なお、図８の例では、フィルタ部２ｂのバンドパスフィルタ１１ｂがダウンサンプリングしないように設定されているので、当該バンドパスフィルタ１１ｂのスイッチ６２ｂが加算器４４側に切り換えられている。
【０１１６】
この場合は、図１０に示すように、部材４２〜４４および部材５５〜５６によって、バンドパスフィルタ１１が形成され、当該バンドパスフィルタ１１は、フィルタ係数系列によって設定された所望の周波数帯域の信号成分のみを通過させることができる。
【０１１７】
ここで、この場合、制御回路６１は、バンドパスフィルタ１１を、通常周波数で動作させている。したがって、バンドパスフィルタ１１の演算周期Ｔｃは、ダウンサンプリングする場合よりも短く設定されている。
【０１１８】
なお、図８に示すように、ダウンサンプリングするバンドパスフィルタ１１ａ・１１ｃと、ダウンサンプリングしないバンドパスフィルタ１１ｂとが混在しているが、メモリ４２・４３および加算器４４の動作する際の演算周期Ｔｃは、通常周波数に応じた値に設定されている。したがって、後段の積和回路４６・５６が上記演算周期Ｔｃで互いに同期して動作すれば、メモリ４２・４３および加算器４４が互いに共用されていたとしても、ローパスフィルタ３、および、ダウンサンプリングしないバンドパスフィルタ１１ｂは、何ら支障なく動作できる。
【０１１９】
ここで、比較例として、スイッチ６２に代えて、ローパスフィルタ３を介さない入力信号と、ローパスフィルタ３の出力信号との一方を選択して、バンドパスフィルタ１１に入力するスイッチを設けた構成では、ダウンサンプリングしない場合、バンドパスフィルタ１１のメモリ５２・５３が、ローパスフィルタ３を介さない入力信号を格納する。
【０１２０】
この構成では、ローパスフィルタ３を使用しない場合に備えて、バンドパスフィルタ１１のメモリ５２・５３および加算器５４の動作速度は、通常周波数でも動作できるように設定されている必要がある。
【０１２１】
これに対して、本実施形態では、スイッチ６２を設けることによって、メモリ４２・４３および加算器４４が、ローパスフィルタ３用およびローパスフィルタ３を介さずに入力信号を処理する場合のバンドパスフィルタ１１用とに兼用され、メモリ５２・５３および加算器５４は、ダウンサンプリング時のバンドパスフィルタ１１として使用されている。この結果、上記比較例とは異なって、メモリ５２・５３および加算器５４の動作速度を、ダウンサンプリング時の周波数で動作できる程度に遅く設定しても、バンドパスフィルタ１１は、正しく動作することができる。したがって、回路中で高速動作する必要がある箇所を制限でき、かつ、回路全体の消費電力を削減できる。
【０１２２】
以下では、メモリ３２および３３にリングバッファを形成するための構成の一例について説明する。すなわち、本構成例に係るＦＩＲフィルタ１は、図１１に示すように、メモリ３２・３３を含むデータ遅延回路１０２と、係数レジスタ３５と、加算器３４と、乗算器３６ａおよび累算回路３６ｂを含む積和回路３６とを備えている。
【０１２３】
データ遅延回路１０２は、メモリ３２としてのＲＡＭ−ＤＦ１２１と、メモリ３３としてのＲＡＭ−ＤＳ１２２と、制御回路３７を構成する、アドレス制御回路１２３、１２４および制御回路１２５とを有している。
【０１２４】
ＲＡＭ−ＤＦ１２１およびＲＡＭ−ＤＳ１２２は、遅延器を構成しており、順次入力された入力データを後述するように指定された順に読み出すことによって、所定時間遅延した入力データを後述する積和演算に供する。また、ＲＡＭ−ＤＦ１２１およびＲＡＭ−ＤＳ１２２は、それぞれ最大でｍ／２個（ｍは偶数）の入力データを格納する記憶容量を有しており、合計でｍ個の入力データの格納が可能である。ＲＡＭ−ＤＦ１２１およびＲＡＭ−ＤＳ１２２において入力データを格納する各記憶領域が遅延器における遅延素子に相当する。
【０１２５】
アドレス制御回路１２３は、ＲＡＭ−ＤＦ１２１の書き込みおよび読み出しのためのアドレスの出力を制御する回路である。このアドレス制御回路１２３は、入力ポインタ（図中、in-pointerＦ）２３１と、出力ポインタ（図中、out-pointerＦ）２３２と、読出ポインタ（図中、rd-pointerＦ）２３３と、入力数カウンタ２３４と、セレクタ２３５とを有している。
【０１２６】
入力ポインタ２３１は、ＲＡＭ−ＤＦ１２１に外部からの入力データを書き込む領域を指定するためのアドレスを変化させる回路（アドレスポインタ）であり、例えばカウンタによって構成されている。この入力ポインタ２３１には、予め最初に入力される入力データを書き込む領域のアドレスの値（例えば０番地）がロードされており、最初にＲＡＭ−ＤＦ１２１に入力データが入力されるときにアドレスのカウントを開始し、入力データが入力される毎にアドレスを１つずつインクリメントする。したがって、入力ポインタ２３１が出力するアドレスで指定されるＲＡＭ−ＤＦ１２１の領域には、最も後に入力された入力データが格納されていることになる。
【０１２７】
出力ポインタ２３２は、ＲＡＭ−ＤＦ１２１に書き込まれた入力データを読み出す領域を指定するためのアドレスを発生する回路（アドレスポインタ）であり、例えばカウンタによって構成されている。この出力ポインタ２３２には、予め最初に入力される入力データを書き込む領域のアドレスの値（例えば０番地）がロードされており、入力データが読み出される毎にアドレスを１つずつインクリメントする。したがって、出力ポインタ２３２が出力するアドレスで指定されるＲＡＭ−ＤＦ１２１の領域には、最も先に入力された入力データが格納されていることになる。
【０１２８】
読出ポインタ２３３は、ＲＡＭ−ＤＦ１２１に書き込まれた入力データを加算器３４による加算に供するときに当該入力データを読み出す領域を指定するためのアドレスを発生する回路（アドレスポインタ）であり、例えばカウンタによって構成されている。この読出ポインタ２３３には、出力ポインタ２３２からのアドレスがロードされており、入力データが読み出される毎にアドレスを１つずつインクリメントする。これにより、読出ポインタ２３３が出力するアドレスは、ＲＡＭ−ＤＦ１２１において最も先に書き込まれた入力データから後に書き込まれた入力データを１つずつ順次読み出すように変化する。
【０１２９】
入力数カウンタ２３４は、ＲＡＭ−ＤＦ１２１に入力された入力データ数（入力パルス数）をカウントする。この入力数カウンタ２３４は、ＲＡＭ−ＤＦ１２１の規定データ入力数であるｋ個（２ｋはＦＩＲフィルタ３１の次数ｎ）をカウントするとカウントアップする。
【０１３０】
セレクタ２３５は、入力ポインタ２３１、出力ポインタ２３２および読出ポインタ２３３から出力されるアドレスの１つを選択して出力し、ＲＡＭ−ＤＦ１２１に与える回路である。セレクタ２３５は、入力数カウンタ２３４がＲＡＭ−ＤＦ１２１へのｋ個の入力データの入力をカウントアップするまで、入力ポインタ２３１からのアドレスを出力する。また、セレクタ２３５は、入力数カウンタ２３４が上記のようにカウントアップすると、出力ポインタ２３２からのアドレスと入力ポインタ２３１からのアドレスとを１つずつ交互に出力するように出力を切り替える。これにより、ＲＡＭ−ＤＦ１２１から１つ入力データがＲＡＭ−ＤＳ２２に読み出されると、ＲＡＭ−ＤＦ１２１に新たな入力データが１つ書き込まれる動作が繰り返される。さらに、セレクタ２３５は、後述する入力数カウンタ２４３がＲＡＭ−ＤＳ１２２へのｋ個の入力データの入力をカウントアップすると、ｋ個の入力データに個々に対応したｋ個のアドレスを読出ポインタ２３３から出力した後、入力ポインタ２３１からのアドレスを１つ出力するように出力を切り替えることを繰り返す。これにより、ｋ個の入力データがＲＡＭ−ＤＦ１２１から読み出される動作と、新たな１つの入力データがＲＡＭ−ＤＦ１２１に書き込まれる動作とが繰り返される。
【０１３１】
アドレス制御回路１２４は、ＲＡＭ−ＤＳ１２２の書き込みおよび読み出しのためのアドレスの出力を制御する回路である。このアドレス制御回路１２４は、入力ポインタ（図中、in-pointerＳ）２４１と、読出ポインタ（図中、rd-pointerＳ）２４２と、入力数カウンタ２４３と、セレクタ２４４とを有している。
【０１３２】
入力ポインタ２４１は、ＲＡＭ−ＤＳ２２にＲＡＭ−ＤＦ１２１から読み出された入力データを書き込む領域を指定するためのアドレスを発生する回路（アドレスポインタ）であり、例えばｎ進カウンタによって構成されている。この入力ポインタ２４１には、予め最初に入力される入力データを書き込む領域のアドレスの値（例えば０番地）がロードされており、最初にＲＡＭ−ＤＳ１２２に入力データが入力されるとき、すなわち入力数カウンタ２３４がカウントアップしたときに入力データが入力される毎にアドレスを１つずつインクリメントする。したがって、入力ポインタ２４１が出力するアドレスで指定されるＲＡＭ−ＤＳ１２２の領域には、最も後に入力された入力データが格納されていることになる。
【０１３３】
読出ポインタ２４２は、ＲＡＭ−ＤＳ１２２に書き込まれた入力データを加算器３４による加算に供するときに当該入力データを読み出す領域を指定するためのアドレスを発生する回路（アドレスポインタ）であり、例えばカウンタによって構成されている。この読出ポインタ２４２には、入力ポインタ２４１からのアドレスがロードされており、入力データが読み出される毎にアドレスを１つずつデクリメントする。これにより、読出ポインタ２４２が出力するアドレスは、ＲＡＭ−ＤＳ１２２において最も後に書き込まれた入力データから先に書き込まれた入力データを１つずつ順次読み出すように変化する。
【０１３４】
入力数カウンタ２４３は、ＲＡＭ−ＤＳ１２２に入力された入力データ数（入力パルス数）をカウントする。この入力数カウンタ２４３は、ＲＡＭ−ＤＳ１２２の規定データ入力数であるｋ個をカウントするとカウントアップする。
【０１３５】
セレクタ２４４は、入力ポインタ２４１および読出ポインタ２４２から出力されるアドレスの１つを選択して出力し、ＲＡＭ−ＤＳ１２２に与える回路である。セレクタ２４４は、入力数カウンタ２４３がＲＡＭ−ＤＳ１２２へのｋ個の入力データの入力をカウントアップするまで、入力ポインタ２４１からのアドレスを出力する。また、セレクタ２４４は、入力数カウンタ２４３が上記のようにカウントアップすると、ｋ個の入力データに個々に対応したｋ個のアドレスを読出ポインタ２４２から出力した後、入力ポインタ２４１からのアドレスを１つ出力するように出力を切り替えることを繰り返す。これにより、ＲＡＭ−ＤＳ１２２からｋ個の入力データが読み出される動作と、ＲＡＭ−ＤＦ１２１から出力された１つの入力データがＲＡＭ−ＤＳ１２２に書き込まれる動作とが繰り返される。
【０１３６】
制御回路１２５は、ＲＡＭ−ＤＦ１２１、ＲＡＭ−ＤＳ１２２およびアドレス制御回路１２３，１２４の動作を制御する回路である。制御回路１２５は、下記のアドレスの出力制御に合わせて、ＲＡＭ−ＤＦ１２１およびＲＡＭ−ＤＳ１２２に書き込みおよび読み出しを許可する。
【０１３７】
制御回路１２５は、アドレス制御回路１２３に対しては次の（１）〜（６）の制御を行う。
（１）ＲＡＭ−ＤＦ１２１への最初の入力データの入力に合わせて、入力数カウンタ２３４にカウント開始の指示を与えるとともに、入力ポインタ２３１にアドレスの出力開始の指示を与える。
（２）入力数カウンタ２３４が入力データ数のカウントを開始してからカウントアップするまでの間に入力ポインタ２３１からのアドレスを出力させるようにセレクタ２３５に指示を与える。
（３）入力数カウンタ２３４がカウントアップすると、入力ポインタ２３１にアドレスの出力停止の指示を与えた後、出力ポインタ２３２に１つのアドレスを出力させるための指示を与えることと、入力ポインタ２３１に１つのアドレスを出力させるための指示を与えることを繰り返す。
（４）入力数カウンタ２３４がカウントアップすると、出力ポインタ２３２からのアドレスと入力ポインタ２３１からのアドレスとを１つずつ交互に出力するようにセレクタ２３５に指示を与える。
（５）入力数カウンタ２３４がカウントアップすると、読出ポインタ２３３にｋ個のアドレスを出力させるための指示を与えることと、入力ポインタ２３１に１つのアドレスを出力させるための指示を与えることを繰り返す。
（６）入力数カウンタ２４３がカウントアップすると、読出ポインタ２３３からのｋ個のアドレスと入力ポインタ２３１からの１つのアドレスとを交互に出力させるようにセレクタ２３５に指示を与える。
【０１３８】
また、制御回路１２５は、アドレス制御回路１２４に対しては次の（７）〜（１０）の制御を行う。
（７）入力数カウンタ２３４がカウントアップすると、ＲＡＭ−ＤＳ１２２への最初の入力データの入力に合わせて、入力数カウンタ２４３にカウント開始の指示を与えるとともに、入力ポインタ２３１にアドレスの出力開始の指示を与える。
（８）入力数カウンタ２４３が入力データ数のカウントを開始してからカウントアップするまでの間に入力ポインタ２４１からのアドレスを出力させるようにセレクタ２４４に指示を与える。
（９）入力数カウンタ２４３がカウントアップすると、読出ポインタ２４２にｋ個のアドレスを出力させるための指示を与えることと、入力ポインタ２４１に１つのアドレスを出力させるための指示を与えることを繰り返す。
（１０）入力数カウンタ２４３がカウントアップすると、読出ポインタ２４２からのｋ個のアドレスと入力ポインタ２４１からの１つのアドレスとを交互に出力させるようにセレクタ２４４に指示を与える。
【０１３９】
係数レジスタ３４は、ＲＡＭ−ＣＥ１３１と、読出ポインタ１３２とを有している。
【０１４０】
ＲＡＭ−ＣＥ１３１は、乗算器３６ａに与えるフィルタ係数を記憶するために設けられており、予め外部、例えば外部レジスタ１０７などから入力されたｋ個のフィルタ係数を格納している。
【０１４１】
読出ポインタ１３２は、ＲＡＭ−ＣＥ１３１に格納されているフィルタ係数を乗算器３６ａに与えるときに当該フィルタ係数を読み出す領域を指定するためのアドレスを発生する回路（アドレスポインタ）であり、例えばカウンタによって構成されている。この読出ポインタ１３２には、予め最初に出力されるフィルタ係数が格納された領域のアドレス（先頭アドレス）の値（例えば０番地）がロードされており、フィルタ係数が読み出される毎にアドレスを１つずつインクリメントする。これにより、読出ポインタ１３２が出力するアドレスは、ＲＡＭ−ＣＥ１３１において先頭のフィルタ係数から順に１つずつ順次読み出すように変化する。
【０１４２】
加算器３４は、ＲＡＭ−ＤＦ１２１から読み出された入力データと、ＲＡＭ−ＤＳ１２２から読み出された入力データとを加算する回路である。乗算器３６ａは、加算器３４から出力された加算データにＲＡＭ−ＣＥ１３１から出力されたフィルタ係数を乗算する回路である。
【０１４３】
累算回路３６ｂは、上述したように、乗算器３６ａから連続して出力される乗算値をｋ個累算してフィルタ出力を得る回路である。この累算回路３６ｂは、加算器１６１と、レジスタ１６２と、出力レジスタ１６３と、処理数カウンタ１６４と、コンパレータ１６５とを有している。
【０１４４】
加算器１６１は、乗算器３６ａから出力される乗算値にレジスタ１６２から出力される値を加算する回路である。
【０１４５】
レジスタ１６２は、加算器１６１から出力される加算値を保持する回路である。このレジスタ１６２は、加算器３４による加算処理が開始してから、入力データが新たにＲＡＭ−ＤＦ１２１に入力される毎にリセットされる。
【０１４６】
出力レジスタ１６３は、レジスタ１６２の出力値を保持する回路である。この出力レジスタ１６３は、累算回路３６ｂによる累算処理の回数がｋ回に達したときに保持している出力値を出力データとして出力する。
【０１４７】
処理数カウンタ１６４は、レジスタ１６２がリセットされるまでに加算器１６１からの加算データを保持した回数をカウントするカウンタである。コンパレータ１６５は、処理数カウンタ１６４のカウント値と規定回数であるｋとを比較して、両者が一致したときに出力レジスタ１６３に保持している出力値を出力する信号を与える。
【０１４８】
上記のように構成されるＦＩＲフィルタ３１の動作について説明する。
【０１４９】
まず、初期状態では、ＲＡＭ−ＤＦ１２１およびＲＡＭ−ＤＳ１２２には、入力データが書き込まれていない。この状態から、入力データがＲＡＭ−ＤＦ１２１に入力されると、入力データは、入力ポインタ２３１からセレクタ２３５を介して与えられたアドレス（例えば０番地）で指定される領域に書き込まれる。入力ポインタ２３１は、入力データが入力される毎にアドレスをインクリメントする。これにより、入力データは、入力順にＲＡＭ−ＤＦ１２１の異なる領域に書き込まれていく。このとき、入力数カウンタ２３４によって、ＲＡＭ−ＤＦ１２１に入力される入力データの数がカウントされる。
【０１５０】
このようにして、ｋ個の入力データ（Ｄ１〜Ｄｋ）がＲＡＭ−ＤＦ１２１に書き込まれると、入力数カウンタ２３４がカウントアップする。これにより、出力ポインタ２３２からのアドレスがセレクタ２３５を介してＲＡＭ−ＤＦ１２１に与えられる。すると、最も先にＲＡＭ−ＤＦ１２１に書き込まれていた入力データ（Ｄ１）が読み出される。出力ポインタ２３２は、入力データが読み出されるとアドレスをインクリメントする。したがって、ＲＡＭ−ＤＦ１２１からは、次にそのアドレスで指定される入力データ（Ｄ２）が読み出される。
【０１５１】
一方、アドレス制御回路１２４では、入力ポインタ２４１からのアドレスがセレクタ２４４を介してＲＡＭ−ＤＳ１２２に与えられるので、ＲＡＭ−ＤＳ１２２において、そのアドレスで指定される領域にＲＡＭ−ＤＦ１２１から最初に読み出された入力データ（Ｄ１）が書き込まれる。すると、入力ポインタ２４１がアドレスをインクリメントするので、そのアドレスで指定されるＲＡＭ−ＤＳ１２２の領域には、次にＲＡＭ−ＤＦ１２１から読み出された入力データ（Ｄ２）が書き込まれる。このようにして、ＲＡＭ−ＤＦ１２１からの入力データの読み出しとＲＡＭ−ＤＳ１２２への入力データの書き込みとを繰り返すことによって、ＲＡＭ−ＤＦ１２１に書き込まれた入力データをＲＡＭ−ＤＳ１２２に移す。このとき、入力数カウンタ２４３によって、ＲＡＭ−ＤＳ１２２に入力される入力データの数がカウントされる。また、この動作と並行して、ＲＡＭ−ＤＦ１２１にも前述のようにして入力データが書き込まれていく。
【０１５２】
このようにして、ＲＡＭ−ＤＦ１２１からのｋ個の入力データ（Ｄ１〜Ｄｋ）がＲＡＭ−ＤＳ１２２に書き込まれると、入力数カウンタ２４３がカウントアップする。また、ＲＡＭ−ＤＦ１２１にも新たなｋ個の入力データ（Ｄｋ＋１〜Ｄ２ｋ）が書き込まれるので、入力数カウンタ２３４がカウントアップする。これにより、積和演算に供するためのＲＡＭ−ＤＦ１２１およびＲＡＭ−ＤＳ１２２からの入力データの読み出しが開始される。
【０１５３】
このとき、読出ポインタ２３３は出力ポインタ２３２からアドレスがロードされており、そのアドレスがセレクタ２３５を介してＲＡＭ−ＤＦ１２１に与えられる。一方、読出ポインタ２４２は入力ポインタ２４１からアドレスがロードされており、そのアドレスがセレクタ２４４を介してＲＡＭ−ＤＳ１２２に与えられる。すると、ＲＡＭ−ＤＦ１２１に最も先に書き込まれていた入力データ（Ｄｋ＋１）とＲＡＭ−ＤＳ１２２に最も後に書き込まれていた入力データ（Ｄｋ）とが読み出される。
【０１５４】
また、読出ポインタ２３３は、入力データが読み出されるとアドレスをインクリメントする一方、読出ポインタ２４２は、入力データが読み出されるとアドレスをデクリメントする。これにより、ＲＡＭ−ＤＦ１２１からは、入力データ（Ｄｋ＋１）の次に書き込まれた入力データ（Ｄｋ＋２）が読み出される一方、ＲＡＭ−ＤＳ１２２からは、入力データ（Ｄｋ）の前に書き込まれた入力データ（Ｄｋ−１）が読み出される。このように、読出ポインタ２３３によるアドレスのインクリメントおよび読出ポインタ２４２によるアドレスのデクリメントと、その結果得られたアドレスの指定によるＲＡＭ−ＤＦ１２１およびＲＡＭ−ＤＳ１２２からの入力データの読み出しが繰り返される。
【０１５５】
ＲＡＭ−ＤＦ１２１およびＲＡＭ−ＤＳ１２２から読み出された２つの入力データは、加算器３４で加算されて乗算器３６ａに入力される。また、係数レジスタ３５では、読出ポインタ１３２から与えられるアドレスによって、フィルタ係数が読み出される。入力された２つの入力データには、乗算器３６によって、対応したＲＡＭ−ＣＥ１３１からのフィルタ係数が乗算される。読出ポインタ１３１は、フィルタ係数が読み出される毎にアドレスをインクリメントする。このような加算および乗算の処理が、加算器３４に順次入力されてくる２つの入力データに対して繰り返して行われる。
【０１５６】
そして、乗算器３６ａから出力される上限結果（乗算データ）は、順次、累算回路３６ｂに入力される。累算回路３６ｂでは、加算器１６１で、入力される乗算データにレジスタ１６２からの出力（加算データ）が加算されてレジスタ１６２に出力される。レジスタ１６２では、加算器１６１から加算データが出力される毎に、保持する加算データを最新の加算データに書き替える。また、レジスタ１６２に保持された加算データは、加算器１６１だけでなく出力レジスタ１６３にも出力されているので、出力レジスタ１６３も同じ加算データを保持している。
【０１５７】
一方、レジスタ１６２が加算器１６１からの加算データを保持した回数が、コンパレータ１６５によってｋと比較される。コンパレータ１６５による比較の結果、保持回数がｋに一致すると（上記の乗算データがｋ個累算されると）、出力レジスタ１６３に保持された加算データが出力データとして出力される。上記のように、ＲＡＭ−ＤＦ１２１およびＲＡＭ−ＤＳ１２２からの入力データの読み出し、加算器３４による加算、乗算器３６ａによる乗算および累算回路３６ｂによる累算がｋ回繰り返されて出力データが得られた後に、ＲＡＭ−ＤＦ１２１に新たな入力データが入力される。この入力データの入力によって、レジスタ１６２および出力レジスタ１６３がリセットされる。
【０１５８】
また、上記の入力データの読み出し、加算、乗算および累算のｋ回の一連の処理は、次の入力データがＲＡＭ−ＤＦ２１に入力されるまでに完了する。このため、制御回路２５は、入力データの読み出し、加算、乗算および累算の各処理をクロックの１クロック間に行うようにタイミングの制御を行い、各処理をパイプライン的に進めていく。例えば、第１期間で１回目のデータ読み出しを行い、第２期間で、２回目のデータ読み出しと、１回目の読み出しデータの加算とを行う。続く第３期間では、３回目のデータ読み出しと、２回目の読み出しデータの加算と、１回目の加算データへの乗算とを行う。さらに続く第４期間では、４回目のデータ読み出しと、３回目の読み出しデータの加算と、２回目の加算データへの乗算と、１回目の累算とを行う。このようなパイプライン処理を行うことにより、比較的動作の遅い回路でも、ＲＡＭ−ＤＦ１２１へ入力データが入力される間にｋ回の積和演算を実行することができる。
【０１５９】
上記のようにして、上記の一連の演算処理がｋ回行われることにより、ＲＡＭ−ＤＦ１２１およびＲＡＭ−ＤＳ１２２から読み出された２ｋ個の入力データに対する積和演算が行われる。また、ＦＩＲフィルタ１に新たに入力データが入力されると、前述のように、入力ポインタ２３４のアドレス指定によって、当該入力データがＲＡＭ−ＤＦ１２１に書き込まれる。これと同時に、ＲＡＭ−ＤＦ１２１における最も先に書き込まれた入力データが、ポインタ２３２によるアドレス指定で読み出されて、ＲＡＭ−ＤＳ１２２に書き込まれて移される。したがって、この入力データの書き込みおよび転送と、新たな２ｋ個の入力データへの上記演算処理と同じ一連の演算処理が次のＲＡＭ−ＤＦ１２１への力データの入力が行われるまでに完了する。
【０１６０】
入力データが書き込まれると、この最も新しい入力データを含むＲＡＭ−ＤＦ１２１およびＲＡＭ−ＤＳ１２２に格納されている２ｋ個の入力データに対して、上記のようなｋ回の積和演算が行われる。また、このとき、前の積和演算で用いたＲＡＭ−ＤＳ１２２における最も先に書き込まれた（最も古い）入力データは、積和演算に用いられない（破棄される）。このように、最も新しい入力データを加えるとともに、前回の積和演算で使用された最も古い入力データを除いた２ｋ個の入力データに対する積和演算が繰り返されることによりフィルタ処理が実現される。
【０１６１】
このように、本構成例に係るＦＩＲフィルタ３１は、２つのＲＡＭ−ＤＦ１２１およびＲＡＭ−ＤＳ１２２に格納された連続するｋ個の入力データ（ＲＡＭ−ＤＦ１２１とＲＡＭ−ＤＳ１２２との間でも連続する）から、対称関係にあるフィルタ係数を乗算する入力データをそれぞれ１つずつ読み出して加算器３４にて加算し、その加算結果に対してフィルタ係数を乗算器３６ａにて乗算するという処理をｋ個の入力データについて行い、その総和を累算回路３６ｂにて演算する。これにより、フィルタ係数の対称性を利用して、乗算処理の回数を半減することができるＦＩＲフィルタ３１を、ＲＡＭ−ＤＦ１２１およびＲＡＭ−ＤＳ１２２のようにＲＡＭを用いたデジタル回路で構成することができる。したがって、ＦＩＲフィルタ３１をＡＩＳＣ（Application Specific Intefrated Circuit）やＦＰＧＡ（Field Prgrammable Gate Array）などで容易に構成することが可能となる。
【０１６２】
また、本構成例に係るＦＩＲフィルタ３１では、ＲＡＭ−ＤＦ１２１において、入力ポインタ２３１、出力ポインタ２３２および読出ポインタ２３３によって書込位置および読出位置が変化し、ＲＡＭ−ＤＳ１２２において、入力ポインタ２４１および読出ポインタ２４２によって書込位置および読出位置が変化するように構成されている。これにより、ＲＡＭ−ＤＦ１２１およびＲＡＭ−ＤＳ１２２が任意の位置で入力データの書き込みと読み出しとを行うリングバッファとして機能する。それゆえ、ＲＡＭ−ＤＦ１２１およびＲＡＭ−ＤＳ１２２のそれぞれの記憶可能な入力データ数の総数の上限をｍ／２≧ｎ／２（ｍ，ｎは偶数）と設定することにより、上限までであれば、入力ポインタ２３１，２４１、出力ポインタ２３２および読出ポインタ２３３，２４２によってそれぞれ規定されるアドレスの範囲を変更することにより、フィルタの次数ｎ（フィルタ長）を任意に設定することができる。
【０１６３】
ところで、本実施形態に係る検出システム１は、最終検出結果信号Ｑを出力するだけではなく、正常に動作しているか否かを外部から確認するための構成も備えている。
【０１６４】
具体的には、図１２に示すように、本実施形態に係る検出システム１には、予め定められた波形の音声信号を生成する信号発生器７１と、入力セレクタ７２とが設けられており、当該入力セレクタ７２は、上述した制御回路６１の指示に従って、外部から入力される音声信号または信号発生器７１の出力信号を、ローパスフィルタ３およびバンドパスフィルタ１１（図８の例では、メモリ４２・４３）へ与えることができる。
【０１６５】
これにより、予め定められた波形の音声信号をローパスフィルタ３およびバンドパスフィルタ１１へ入力させ、そのときの最終検出結果信号Ｑを確認することによって、検出システム１が正しく動作しているか否かを検証できる。
【０１６６】
また、本実施形態に係る検出システム１は、最終検出結果信号Ｑだけではなく、各部の信号を出力することができる。具体的には、検出システム１には、出力セレクタ７３が設けられており、当該出力セレクタ７３は、制御回路６１の指示に従って、外部から入力される音声信号またはローパスフィルタ３の出力信号を、出力端子Ｔｏｕｔへ出力できる。さらに、本実施形態に係る検出システム１には、制御回路６１の指示に従って、上記各フィルタ部２のバンドパスフィルタ１１の出力信号の１つを選択して、出力セレクタ７３へ出力するフィルタセレクタ７４も設けられており、出力セレクタ７３は、フィルタセレクタ７４の出力をも選択できる。
【０１６７】
ここで、ダウンサンプリングしたバンドパスフィルタ１１の出力信号と、ダウンサンプリングしないバンドパスフィルタ１１の出力信号またはローパスフィルタ３の出力信号とでは、周波数が互いに異なっている。一方、出力端子Ｔｏｕｔの外部に接続されたＤＡ変換器で、アナログ信号に変換し、例えば、オシロスコープなどによって波形を観測しようとするときに、ＤＡ変換器が動作周波数を変更できればよいが、構成を簡略化するために、ＤＡ変換器が後者の周波数で、双方の出力信号をＤＡ変換しようとすると、ダウンサンプリングしたバンドパスフィルタ１１の出力信号をアップサンプリングすることになる。
【０１６８】
本実施形態に係る検出システム１には、この場合でも、エイリアシング誤差の発生を抑制できるように、出力セレクタ７３の出力信号の高域成分を除去するローパスフィルタ（出力側ローパスフィルタ）７５と、上記制御回路６１の指示に従って、当該ローパスフィルタ７５の出力信号または出力セレクタ７３の出力信号の一方を選択して、出力端子Ｔｏｕｔへ出力する出力スイッチ７６とが設けられている。
【０１６９】
上記ローパスフィルタ７５もＦＩＲデジタルフィルタによって構成されており、図６に示す部材３２〜３７を備えている。さらに、本実施形態では、図１３に示すように、ローパスフィルタ７５の係数レジスタ３５が、ローパスフィルタ３の係数レジスタ３５（４５）と共用されている。これにより、それぞれを別個に設ける場合よりも回路規模および消費電力を削減できる。
【０１７０】
なお、ローパスフィルタ７５の各部材も、ローパスフィルタ３の各部材と同様に、通常周波数で動作している。また、ローパスフィルタ７５およびローパスフィルタ３の遮断周波数は、互いに同じに設定されている。したがって、ローパスフィルタ７５は、その係数レジスタ３５が、ローパスフィルタ３の係数レジスタ３５（４５）と共用されていても、何ら支障なく、高域成分を遮断できる。
【０１７１】
上記構成では、制御回路６１の指示に従って、上記出力セレクタ７５が、ダウンサンプリングしたバンドパスフィルタ１１の出力信号を選択し、出力スイッチ７６がローパスフィルタ７５の出力信号を選択すると、出力端子Ｔｏｕｔからは、ダウンサンプリングしたバンドパスフィルタ１１の出力信号が、ローパスフィルタ７５を介した後で出力される。
【０１７２】
したがって、出力端子Ｔｏｕｔの外部に接続された回路が、ダウンサンプリングしたバンドパスフィルタ１１の出力信号をアップサンプリングする場合であっても、回路規模をあまり増大させることなく、エイリアシング誤差の発生を抑制できる。
【０１７３】
なお、上記では、検出システム１の各部材が、特にソフトウェアを使用せず、加算器、乗算器などのハードウェア回路によって実現されている場合について説明したが、これに限るものではない。各部材の全部または一部を、上述した機能を実現するためのプログラムと、そのプログラムを実行するハードウェア（コンピュータ）との組み合わせで実現してもよい。
【０１７４】
いずれの場合であっても、各フィルタ部２からの出力信号（より詳細には、各判定部１３の判定結果）の時間変化が、予め定められたパターンにマッチしているか否かを判定できれば、上述した検出システム１と同様に、異常の発生を的確に検出できる。
【０１７５】
ただし、上記各ＦＩＲデジタルフィルタをソフトウェアとコンピュータとの組み合わせによって実現した場合、上記演算周期Ｔｃで各演算を実施させるために、コンピュータの動作周波数を大幅に高く設定する必要があり、消費電力を大幅に増大させてしまう。したって、消費電力の削減が要求される場合には、上述したように、ハードウェア回路によって実現する方が望ましい。
【０１７６】
また、上記では、ＦＩＲデジタルフィルタ３１に２つのメモリ３２・３３を設け、加算を乗算よりも先に実行することによって、繰り返し回数をｎ／２回に削減する構成について説明したが、これに限るものではない。例えば、１つのメモリのみを設け、乗算および累算をｎ回繰り返してもよい。
【０１７７】
なお、上記では、各フィルタ部２からの出力信号（より詳細には、各判定部１３の判定結果）の時間変化が、予め定められたパターンにマッチしているか否かを判定するために、複数のフィルタ部２を並列に設ける構成について説明したが、これに限るものではない。
【０１７８】
これらの場合であっても、以下の構成、すなわち、バンドパスフィルタの演算回路が、当該バンドパスフィルタが通常周波数で動作する場合、当該バンドパスフィルタのメモリに代えて、上記ローパスフィルタの記憶回路に格納されたデジタル値と、当該バンドパスフィルタのフィルタ係数との積和演算結果を算出する構成であれば、高速動作する必要がある箇所を制限でき、かつ、デジタルフィルタ回路全体の回路規模をあまり増大させることなく、消費電力を削減できる。
【０１７９】
また、当該構成に代えて／加えて、バンドパスフィルタがダウンサンプリング時の周波数で動作する場合に、バンドパスフィルタの入力信号および出力信号から、それぞれ高周波成分を除去する入力側および出力側ローパスフィルタを備え、当該入力側ローパスフィルタの係数レジスタを、上記出力側ローパスフィルタの係数レジスタとする構成であれば、デジタルフィルタ回路全体の回路規模をあまり増大させることなく、消費電力を削減できる。
【０１８０】
なお、上記では、音声信号処理を例にして説明したが、これに限るものではない。電気波形に変換できるものであれば、例えば、振動や、モータの回転周波数などを示す信号であっても、同様の効果が得られる。
【産業上の利用可能性】
【０１８１】
異音を検出する検出システムをはじめとして、バンドパスフィルタを含む異常検出装置全般に広く好適に使用できる。
【図面の簡単な説明】
【０１８２】
【図１】本発明の実施形態を示すものであり、検出システムの要部構成を示すブロック図である。
【図２】上記検出システムが設けられたプログラマブル表示器を含む制御システム全体の要部構成を示すブロック図である。
【図３】上記検出システムに設けられたマッチング処理部の要部構成を示す回路図である。
【図４】上記マッチング処理部のレジスタに格納されるＳｑｃｅ＿Ｃｏｎデータの一例を示す図である。
【図５】上記検出システムの動作を示すタイミングチャートである。
【図６】上記検出システムに設けられたデジタルＦＩＲフィルタの要部構成を示すブロック図である。
【図７】上記デジタルＦＩＲフィルタに設けられた積和回路の構成例を示すブロック図である。
【図８】上記検出システムの構成例を示すものであり、バンドパスフィルタおよびローパスフィルタ近傍を示すブロック図である。
【図９】上記構成例の動作を示すものであり、バンドパスフィルタがダウンサンプリングしている状態を示すブロック図である。
【図１０】上記構成例の動作を示すものであり、バンドパスフィルタが通常周波数で動作している状態を示すブロック図である。
【図１１】上記デジタルＦＩＲフィルタの構成例を示すブロック図である。
【図１２】上記検出システムに設けられた、信号発生器、セレクタ、および、出力側のローパスフィルタを示すブロック図である。
【図１３】上記出力側のローパスフィルタの構成例を示すブロック図である。
【符号の説明】
【０１８３】
１ プログラマブル表示器（異常検出装置）
３ ローパスフィルタ（入力側ローパスフィルタ）
４ マッチング処理部（マッチング処理手段）
１１ バンドパスフィルタ
３２・４２・５２ メモリ（後半記憶回路；記憶回路）
３３・４３・５３ メモリ（前半記憶回路；記憶回路）
３４・４４・５４ 加算器（演算回路）
３５・４５・５５ 係数レジスタ（演算回路）
３６・４６・５６ 積和回路（積和演算回路；演算回路）
６２ スイッチ
【図１】
0004842669.tif 000002
【図２】
0004842669.tif 000003
【図３】
0004842669.tif 000004
【図４】
0004842669.tif 000005
【図５】
0004842669.tif 000006
【図６】
0004842669.tif 000007
【図７】
0004842669.tif 000008
【図８】
0004842669.tif 000009
【図９】
0004842669.tif 000010
【図１０】
0004842669.tif 000011
【図１１】
0004842669.tif 000012
【図１２】
0004842669.tif 000013
【図１３】
0004842669.tif 000014