(57)【要約】【課題】高精度で処理量の小さい周波数解析装置を実現する。【解決手段】入力バッファ３１は、抽出対象の周波数の１周期分の時間Ｔに入力端子Ｉｎから逐次入力される入力信号を格納する。演算部３２は、時間Ｔが経過する毎に、入力バッファ３１が格納している入力信号の時間Ｔ内の同一時点の信号値同士を累積加算する。演算部３２は、所定回数の累積加算が行われたときに、累積回数で累積加算結果を割る。これにより、入力信号中の抽出対象以外の周波数が除去された波形と、抽出対象の周波数成分のレベルが得られる。【選択図】図１
2012230007.tif 000002
【特許請求の範囲】
【請求項１】
抽出対象周波数の１周期分に相当する所定時間毎に、その所定時間に入力される入力信号を信号素片として格納する入力バッファと、
前記所定時間毎に前記入力バッファから供給される前記信号素片の、前記所定時間内における各時点の信号値をそれぞれ累積加算した累積加算結果を保持するためのレジスタを有し、前記所定時間が経過する毎に、前記レジスタに保持された前記累積加算結果と、新たに前記入力バッファから供給された信号素片との、前記所定時間内における同一時点の信号値をそれぞれ加算して、新たな累積加算結果を求め、その新たな累積加算結果を前記レジスタに保持させる演算部と、
を備えることを特徴とする周波数解析装置。
【請求項２】
前記演算部は、前記累積加算した回数で前記累積加算結果を除算することを特徴とする請求項１に記載の周波数解析装置。
【請求項３】
前記入力バッファ及び前記演算部は、複数の抽出対象周波数にそれぞれ対応して複数設置される、
ことを特徴とす請求項１又は２に記載の周波数解析装置。
【請求項４】
抽出対象周波数の１周期分に相当する所定時間毎に、その所定時間に入力される入力信号を信号素片として保持する入力処理と、
前記所定時間毎に保持される前記信号素片の、前記所定時間内における各時点の信号値をそれぞれ累積加算した累積加算結果を保持し、前記所定時間が経過する毎に、前記保持された前記累積加算結果と、新たに前記入力された信号素片との、前記所定時間内における同一時点の信号値をそれぞれ加算して、新たな累積加算結果を求め、その新たな累積加算結果を前記保持された累積加算結果の代わりに保持する演算処理と、
を行うことを特徴する周波数解析方法。
【請求項５】
前記演算処理では、前記累積加算した回数で前記累積加算結果を除算することを特徴とする請求項４に記載の周波数解析方法。
【請求項６】
前記入力処理及び前記演算処理は、複数の抽出対象周波数にそれぞれ対応して行われる、
ことを特徴とする請求項４又は５に記載の周波数解析方法。
【請求項７】
コンピュータに
抽出対象周波数の１周期分に相当する所定時間毎に、その所定時間に入力される入力信号を信号素片として保持する入力手順と、
前記所定時間毎に保持される前記信号素片の、前記所定時間内における各時点の信号値をそれぞれ累積加算した累積加算結果を保持し、前記所定時間が経過する毎に、前記保持された前記累積加算結果と、新たに前記入力された信号素片との、前記所定時間内における同一時点の信号値をそれぞれ加算して、新たな累積加算結果を求め、その新たな累積加算結果を前記保持された累積加算結果の代わりに保持する演算手順と、
を実行させることを特徴とするプログラム。
【請求項８】
前記演算手順では、前記累積加算した回数で前記累積加算結果を除算させることを特徴とする請求項７に記載のプログラム。
【請求項９】
前記入力手順及び前記演算手順は、複数の抽出対象周波数にそれぞれ対応して実行させる、
ことを特徴とする請求項７又は８に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、周波数解析装置、周波数解析方法、及びプログラムに関する。
【背景技術】
【０００２】
オーディオ再生装置のなかには、入力音声がどのような周波数成分を含んでいるかを判断し、周波数帯域別にレベル（エネルギー）を解析する周波数解析（スペクトラムアナライザ）機能を持つものがある。
【０００３】
周波数を解析する方法としては、ＦＦＴ（Fast Fourier Transform：高速フーリエ変換)やＤＦＴ（Discrete Fourier Transform：離散フーリエ変換）を用いる方法がある。
【０００４】
また、別の方法として、バンドパスフィルタで入力音声から所望の周波数の成分を抜き取り、そのレベルを検出する方法もある（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平０８−３２８５９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＦＦＴやＤＦＴを使用した周波数解析方法では、入力信号を窓関数で処理し、さらに、ＦＦＴ演算或いはＤＦＴ演算を行う必要があり、処理量（演算量）が大きい。このため、処理能力の大きいＤＳＰ（Digital Signal Processor）では実現できるが、処理能力の小さいＤＳＰでは実行困難である。
【０００７】
また、バンドパスフィルタを用いた周波数解析方法では、フィルタの通過域を急峻にしても、余計な周波数までも取得してしまうので解析精度が低い。また、レベル計算やフィルタ計算に高度な演算精度と大きな演算量が必要である。このため、処理能力の大きいＤＳＰ（Digital Signal Processor）では実現できるが、処理能力の小さいＤＳＰでは実行困難である。
【０００８】
本発明は、以上のような現状に鑑みてなされたものであり、高精度であると共に処理量の小さい周波数解析の手法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明の第１の観点に係る周波数解析装置は、
抽出対象周波数の１周期分に相当する所定時間毎に、その所定時間に入力される入力信号を信号素片として格納する入力バッファと、
前記所定時間毎に前記入力バッファから供給される前記信号素片の、前記所定時間内における各時点の信号値をそれぞれ累積加算した累積加算結果を保持するためのレジスタを有し、前記所定時間が経過する毎に、前記レジスタに保持された前記累積加算結果と、新たに前記入力バッファから供給された信号素片との、前記所定時間内における同一時点の信号値をそれぞれ加算して、新たな累積加算結果を求め、その新たな累積加算結果を前記レジスタに保持させる演算部と、
を備えることを特徴とする。
【００１０】
前記演算部は、例えば、前記累積加算した回数で前記累積加算結果を除算する。
【００１１】
また、例えば、前記入力バッファ及び前記演算部は、複数の抽出対象周波数にそれぞれ対応して複数設置される。
【００１２】
上記目的を達成するために、本発明の第２の観点に係る周波数解析方法は、
抽出対象周波数の１周期分に相当する所定時間毎に、その所定時間に入力される入力信号を信号素片として保持する入力処理と、
前記所定時間毎に保持される前記信号素片の、前記所定時間内における各時点の信号値をそれぞれ累積加算した累積加算結果を保持し、前記所定時間が経過する毎に、前記保持された前記累積加算結果と、新たに前記入力された信号素片との、前記所定時間内における同一時点の信号値をそれぞれ加算して、新たな累積加算結果を求め、その新たな累積加算結果を前記保持された累積加算結果の代わりに保持する演算処理と、
を行うことを特徴する。
【００１３】
上記目的を達成するために、本発明の第３の観点に係るコンピュータプログラムは、コンピュータに、
抽出対象周波数の１周期分に相当する所定時間毎に、その所定時間に入力される入力信号を信号素片として保持する入力手順と、
前記所定時間毎に保持される前記信号素片の、前記所定時間内における各時点の信号値をそれぞれ累積加算した累積加算結果を保持し、前記所定時間が経過する毎に、前記保持された前記累積加算結果と、新たに前記入力された信号素片との、前記所定時間内における同一時点の信号値をそれぞれ加算して、新たな累積加算結果を求め、その新たな累積加算結果を前記保持された累積加算結果の代わりに保持する演算手順と、
を実行させることを特徴とする。
【発明の効果】
【００１４】
この発明により、高精度であると共に処理量の小さい周波数解析の手法を提供することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の第１の実施形態に係る周波数解析装置の構成図である。
【図２】図１に示す周波数解析装置の処理を説明するためのフローチャートである。
【図３】入力信号の例を示す図である。
【図４】入力信号のデータ列を示す図である。
【図５】入力信号のデータ列を示す図である。
【図６】平均化の結果を説明する図である。
【図７】平均化後の波形を示す図である。
【図８】本発明の第２の実施形態に係る周波数解析装置の構成図である。
【図９】本発明の第３の実施形態に係る周波数解析装置の構成図である。
【図１０】本発明の第４の実施形態に係る周波数解析装置の構成図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態に係る周波数解析方法と周波数解析装置を説明する。
本実施形態の周波数解析方法は、入力信号を、目的とする周波数の1周期分ずつに分割し、分割信号内の相対的に同一時点の信号強度（瞬時値）を平均化することで、目的周波数の信号成分を抽出するものである。抽出した信号成分は、波形なのでそこからレベルを求めることができる。
【００１７】
より具体的に説明すると、音楽などの自然界の音は一般的に、音が出てからその音の波形が1周期で消える事は無く、同一の波形がある程度繰り返される。本実施形態の周波数解析方法は、この波形が繰り返される特徴を用いて、所望の正弦波を抜き出す方法である。
【００１８】
入力信号を構成する複数の正弦波から、例えば、１ｋＨｚの波形を抜き出したい場合、波長である１ｍｓｅｃ毎に入力信号を区切る。
１ｍｓｅｃ毎に区切った1個目の波形をＦｒａｍｅ1と呼び、2個目の波形をＦｒａｍｅ２、以降Ｆｒａｍｅ３、Ｆｒａｍｅ４・・・と、呼ぶ事にする。
【００１９】
１ｍｓｅｃ毎に区切ったとき、波長が１ｍｓｅｃの信号成分は、各Ｆｒａｍｅで、波形が同一になる。これに対し、波長が１ｍｓｅｃ以外の場合は、１ｍｓｅｃの時間に波長が合わないのでＦｒａｍｅ１とＦｒａｍｅ２とを比べると波形がずれる。
【００２０】
波長が１ｍｓｅｃの正弦波は、Ｆｒａｍｅ１、Ｆｒａｍｅ２、Ｆｒａｍｅ３、...の各Ｆｒａｍｅにおいて波形が同一なので、複数のＦｒａｍｅを平均化（Ｆｒａｍｅ内の相対的に同一時点の信号成分の平均化）しても波形は変化しない。
一方、波長が１ｍｓｅｃ以外の正弦波については、正弦波は周期性があり且つ１波長の平均は0なので、平均化すると０に近い値となる。
これにより、音声信号から所望の周波数成分を、加算と割り算という簡単な処理で、抜き出すことが可能となる。
【００２１】
この原理を数式で説明する。
周波数がｆ１の正弦波と周波数がｆ2の正弦波の合成波をサンプリング周波数ｆｓでサンプリングしてデジタル化し、長さｆ１／ｆｓのＦｒａｍｅに区分し、８つのＦｒａｍｅの相対位置が同一のデータを平均化すると、その値は次のようになる。
【数１】
2012230007.tif 000003
ここで、ｆ1は、目的（抽出対象）信号成分の周波数を示している。
ｆ2は、入力信号に含まれている他の周波数信号成分の周波数を示している。
ｔは、各Ｆｒａｍｅにおける時刻を表し、ｔの添え字ｆｓ／ｆ1は、サンプリングされる間隔を表している。
ｎは、８Ｆｒａｍｅ中の何番目のＦｒａｍｅであるかを示している。
【００２２】
抽出対象の周波数がｆ1の場合、Ｆｒａｍｅはｆ1／ｆｓの長さとなる。隣接するするＦｒａｍｅ間では、次のＦｒａｍｅでは、３６０度回転するので、前のＦｒａｍｅと同じ波形が出力される。
【００２３】
加算平均をとった式の前半のｓｉｎの部分は次式のようになる。
【数２】
2012230007.tif 000004
【００２４】
Ｆｒａｍｅの長さに合わない周期を持つｆ2は、正弦波の性質上±1の範囲内なので、加算平均すると、1より小さくなる。
よって、後半のｓｉｎ部分は∞まで加算すると、次式のようになる。
【数３】
2012230007.tif 000005
【００２５】
このように、ある時間おきに区切って加算平均すると、その時間にあった周波数はいつも波形が同じ形で出る。異なった周波数は、周期がずれて出るので、加算平均することで打ち消しあいゼロに近づく。
結果として、角速度が２πｆ１／ｆｓとなる周期のみの波形が残る形となる。
【００２６】
次に、上記周波数解析方法を実現する周波数解析装置の実施形態について具体的に説明する。
【００２７】
［第１の実施形態］
本実施形態に係る周波数解析装置１００は、図１に示すように、入力端子Ｉｎに接続された入力バッファ３１と、入力バッファ３１に接続された演算部３２と、制御部３３とを備え、入力端子Ｉｎから入力されるデジタル入力信号の表す波形から抽出対象の周波数成分の波形を抽出する装置である。
【００２８】
入力バッファ３１は、入力端子Ｉｎを介して逐次入力されるデジタル入力信号の各データ（信号素片）を、抽出対象の周波数ｆｔの１周期のＴ（＝１／ｆｔ）時間分格納する容量を有する。
【００２９】
演算部３２は、加算結果レジスタ３２１と演算回路３２９とを備える。加算結果レジスタ３２１は、抽出対象の周波数ｆｔの１周期Ｔ（＝１／ｆｔ）分のデータを格納する容量を有する。
【００３０】
演算回路３２９は、入力バッファ３１と加算結果レジスタ３２１の相対的に同一時点のデータを加算して、加算結果レジスタ３２１に格納する。演算回路３２９は、加算動作をｎ回繰り返した後、加算結果レジスタ３２１に保持されている各データをｎで除算し、平均値を求める。
【００３１】
制御部３３は、マイクロプロセッサとメモリから構成され、全体の動作を制御する。
【００３２】
演算部３２は、マイクロプロセッサ及びメモリで構成してもよく、或いはＤＳＰで構成してもよい。さらに、入力バッファ３１及び演算部３２の全体を、マイクロプロセッサ及びメモリや、ＤＳＰで構成してもよい。
【００３３】
次に、図２〜図７を参照しつつ、周波数解析装置の動作を説明する。
図２は、周波数解析装置１００の制御部３３の動作を示すフローチャートである。
まず、制御部３３は、抽出対象の周波数ｆｔを設定する（ステップＳ１）。
次に、制御部３３は、デジタル入力信号のサンプリング周波数ｆｓを設定する（ステップＳ２）。
制御部３３は、周波数ｆｔの波形の１周期Ｔ＝１／ｆｔを求める（ステップＳ３）。
制御部３３は、１周期Ｔにおけるデータ数ｍ＝Ｔ／｛１／（ｆｓ）｝＝ｆｓ／ｆｔを求める（ステップＳ４）。
【００３４】
制御部３３は、演算部３２による入力データの加算回数ｎを定める（ステップＳ５）。
次に、制御部３３は、加算実行回数ｉを初期値の０に設定する（ステップＳ６）。
次に、制御部３３は、加算結果レジスタ３２１に格納されている全ての加算データを初期値の０に設定する（ステップＳ７）。
【００３５】
一方、入力バッファ３１には、入力端子Ｉｎを介してデジタル入力信号が供給される。制御部３３は、入力バッファ３１に、サンプリング周波数ｆｓと同一周波数の転送クロックを供給し、入力バッファ３１に、デジタル入力信号をシフトしつつ格納する（ステップＳ８）。
【００３６】
制御部３３は、抽出対象の周波数ｆｔの１周期Ｔが経過したか否か、即ち、入力バッファ３１にｍ個の入力データが格納されたか否かを判別する（ステップＳ９）。
【００３７】
時間Ｔが経過していない（入力データ数がｍに達していない）と判別した場合（ステップＳ９：ＮＯ）、ステップＳ８にリターンし、入力データの格納動作を継続する。
【００３８】
一方、Ｔ時間が経過した（入力データ数がｍに達してた）と判別した場合（ステップＳ９：ＹＥＳ）、制御部３３は演算回路３２９に加算を指示する。この指示に応答して、演算回路３２９は、入力バッファ３１に格納されたｍ個の入力データをパラレルに取得し、取得したｍ個のデータそれぞれを、その時点で加算結果レジスタ３２１に格納されている対応する加算データに加算し、加算結果レジスタ３２１に再度格納する（ステップＳ１０）。
【００３９】
次に、制御部３３は、加算実行回数ｉを１だけインクリメントする（ステップＳ１１）。
【００４０】
制御部３３は、加算実行回数ｉが加算回数ｎに達したか否かを判別し（ステップＳ１２）、加算実行回数ｉが所定回数ｎに達していないと判別した場合には（ステップＳ１２：ＮＯ）、処理をステップＳ８に戻し、入力データを入力バッファ３１に新たにｍ個格納して、加算結果レジスタ３２１に格納されている加算データと加算する処理を繰り返す。
【００４１】
一方、加算実行回数ｉが加算回数ｎに達した場合には（ステップＳ１２：ＹＥＳ）、加算結果レジスタ３２１には、デジタル入力信号を周期Ｔで分断し、ｎ周期分のデータについて、各周期Ｔ内の相対的に同一時点のデータ同士を加算した加算データが得られたことになる。
【００４２】
制御部３３は、演算回路３２９を制御し、加算結果レジスタ３２１に格納されている各加算データを加算回数ｎで割る（ステップＳ１３）。これにより、過去ｎＴ期間におけるデジタル入力信号の、各時間Ｔ内の相対的に同一時点のデータの平均値が加算結果レジスタ３２１に求められる。
【００４３】
演算部３２は、加算結果レジスタ３２１に格納されたデータを出力する（ステップＳ１４）。
その後、停止の指示の有無を判別し（ステップＳ１５）、停止の指示があれば（ステップＳ１５：ＹＥＳ）、処理を終了する。一方、停止の指示がなければ（ステップＳ１５：ＮＯ）、加算結果レジスタ３２１をリセットして全ての加算データを初期値の０に戻し（ステップＳ１６）、加算実行回数ｉを初期値の０に戻し（ステップＳ１７）、処理をステップＳ８に戻す。
【００４４】
図３は、入力信号の例を示す図である。
図４及び図５は、図３に示す入力信号のデータ値を説明する図である。
入力データが、図３のように、周波数が６００Ｈｚの正弦波と周波数が３０００Ｈｚの正弦波と周波数が２５００Ｈｚの正弦波との合成信号を表し、図４に示すように、６００Ｈｚの信号成分の振幅が０．２５、３０００Ｈｚの信号成分の振幅が０．４、２５００Ｈｚの信号成分の振幅が０．４の割合で加算したものであるとする。
【００４５】
また、サンプリング周波数ｆｓを２５０００Ｈｚとする。この場合、１サンプリング期間Ｔｓ＝０．００００４ｓｅｃ＝０．０４ｍｓｅｃ＝４０μｓｅｃである。
【００４６】
２５００Ｈｚの成分を抽出対象とすると、その周期Ｔｔは０．０００４ｓｅｃとなる。
【００４７】
この場合、制御部３３は、抽出対象周波数ｆｔを２５００Ｈｚに設定し（ステップＳ１）、サンプリング周波数ｆｓを２５０００Ｈｚに設定し（ステップＳ２）、抽出対象周波数ｆｔの一周期Ｔを０．０００４ｓｅｃと求める（ステップＳ３）。また、１周期Ｔの間に入力されるデータの数ｍを、Ｔｔ／Ｔｓ＝１０と特定する（ステップＳ４）。また、加算回数ｎを設定する（ステップＳ５）。ここでは、ｎ＝８とする。
【００４８】
次に、加算実行回数ｉを０とし（ステップＳ６）、加算結果レジスタ３２１に格納されている加算データを全て０とする（ステップＳ７）。
【００４９】
続いて、制御部３３は、入力バッファ３１に周波数ｆｓのシフトクロックを供給し、入力信号を取りこませる。
シフトクロックを、期間Ｔの間に１０パルス供給すると、入力バッファ３１には、図４の期間Ｔ１で示す１０個のデータが格納され、ステップＳ９でＹＥＳと判別される。
これにより、入力バッファ３１の各格納データと加算結果レジスタ３２１の格納データの対応するもの同士を加算し、加算結果レジスタ３２１に格納する（ステップＳ１０）。続いて、加算実行回数ｉが更新されて１となり（ステップＳ１１）、ステップＳ１２で１＝ｉ＜ｎ＝８と判別される（ステップＳ１２：ＮＯ）。
【００５０】
制御部３３は、入力バッファ３１に１０クロック分のシフトクロックを供給し、図４の期間Ｔ２で示す１０個のデータ（第１１〜２０のデータ）が格納され、入力バッファ３１の各格納データと加算結果レジスタ３２１の格納データの対応するもの同士を加算し、加算結果レジスタ３２１に格納する（ステップＳ１０）。以後、同様の動作が繰り返される、ｉ＝８と判別されまで繰り返される（ステップＳ１２：ＮＯ）。
【００５１】
図４及び図５の場合、１回目の周期Ｔ１で入力バッファ３１に格納される入力信号をδ１と表し、２回目の周期Ｔ２で入力バッファ３１に格納される入力信号をδ２と表し、各周期Ｔにおけるデータの位置（相対的な時点）を［］内の数字で示していくと、
δ1［０］＝０
δ1［１］＝０．５４６４８９
δ1［２］＝０．８５３８９４
δ1［３］＝０．７９７９０７
・
・
・
δ２［０］＝０．６２９９２９
δ２［１］＝０．８４６０７８
δ２［２］＝０．７７０５８
δ２［３］＝０．４６４４４２
・
・
・
となる。
【００５２】
演算部３２は、ステップＳ１０の加算を８回行った後に、ステップＳ１３で加算結果を所定数ｎ（＝８）で割っている。尚、この割り算は、加算結果レジスタ３２１に格納されている各加算データを３ビット桁が少なくなる方向にシフトすることでも、実現可能である。以上の加算及び割り算は、入力バッファ３１に格納されたデータ群について、周期Ｔ内の相対的に同一時点のデータ同士を加算して割るものであり、次式で表される。
Ｄ１＝（δ１［０］＋δ２［０］＋δ３［０］＋δ４［０］＋δ５［０］＋δ６［０］＋δ７［０］＋δ８［０］）／８
＝（０＋０．６２９９２９＋０．２６６４４７−０．４８０６９−０．４４２６＋０．２３７７６４＋０．４７２４５４＋０．００８９０７）／８
＝０．０８６５２６３７５
Ｄ２＝（δ１［１］＋δ２［１］＋δ３［１］＋δ４［１］＋δ５［１］＋δ６［１］＋δ７［１］＋δ８［１］）／８
＝（０．５４６４８９＋０．８４６０７８＋０．１７８６９８−０．４０７６２＋０．０１７３２２＋０．７５５６０４＋０．６５３１１３−０．０５４６５）／８）
＝０．３１６８７９２５
・
・
・
【００５３】
平均Ｄ１，Ｄ２，Ｄ３・・・の値を図に示すと、図６のようになり、波形で示すと図７のようになり、抽出対象の２５００Ｈｚの成分の正弦波の波形が抽出できる。また、抽出対象の２５００Ｈｚの成分の振幅も０．４と再現できている。
【００５４】
以上説明したように、本実施の形態によれば、簡単な構成及び制御で入力信号から目的周波数ｆｔの信号成分を抽出することができる。
【００５５】
なお、以上の実施の形態においては、２５００Ｈｚの周波数成分を抽出する例を示したが、抽出対象の周波数は任意である。
但し、抽出対象の周波数ｆｔとサンプリング周波数ｆｓとデータ数ｍとが、１＝ｍ・ｆｔ／ｆｓを満たし、ｍが２以上の自然数となる関係が成立することが望ましい。
【００５６】
本実施形態の周波数解析装置１００は、次のような利点を有する。
（１）入力信号の格納と、加算処理と、割り算処理或いはビットシフト処理のみで、実現できるので、処理全体が簡単であり、実現しやすい。
【００５７】
（２）演算量の多いＦＦＴ解析を行わなくても、周波数解析が可能である。
【００５８】
（３）バンドパスフィルタ等のフィルタを使用しないので、演算精度を気にせず、簡単に計算が可能である。
【００５９】
（４）バンドパスフィルタ等のフィルタを使用するよりも、精度よく所望の周波数成分を抽出できる。
【００６０】
（変形例）
上記実施の形態では、ピーク値（振幅）をレベルとして出力したが、ピーク値／１．４（実効値）をレベルとして出力してもよい。
【００６１】
［第２の実施形態］
図８は、本発明の第２の実施形態に係る周波数解析装置１００を示す構成図である。
この周波数解析装置１００は、入力端子Ｉｎに共通に接続された複数の例えば４個の入力バッファ３１ａ，３１ｂ，３１ｃ，３１ｄと、各入力バッファ３１ａ，３１ｂ，３１ｃ，３１ｄにそれぞれに接続された演算部３２ａ，３２ｂ，３２ｃ，３２ｄと、装置全体を制御する制御部３３とを備え、４つの抽出対象の周波数のレベルを抽出するものである。
【００６２】
４つの抽出対象の周波数の１周期をＴａ，Ｔｂ，Ｔｃ，Ｔｄとすると、入力バッファ３１ａは、入力信号のＴａ時間分を格納する。入力バッファ３１ｂは、入力信号のＴｂ時間分を格納する。入力バッファ３１ｃは、入力信号のＴｃ時間分を格納する。入力バッファ３１ｄは、入力信号のＴｄ時間分を格納する。
【００６３】
各入力バッファ３１ａ，３１ｂ，３１ｃ，３１ｄにそれぞれ接続された演算部３２ａ，３２ｂ，３２ｃ，３２ｄは、制御部３３に制御されて、入力バッファ３１ａ〜３１ｄに格納される入力信号に対して、第１の実施形態の演算部３２と同様に動作し、４つの抽出対象の周波数のレベルや波形を抽出できる。
【００６４】
したがって、本実施形態の周波数解析装置１００は、第１の実施形態と同様の利点を奏すると共に、４つの抽出対象の周波数のレベルや波形を抽出できるという利点を有する。
【００６５】
［第３の実施形態］
図９は、本発明の第３の実施形態に係る周波数解析装置１００を示す構成図である。
この周波数解析装置１００は、入力端子Ｉｎに接続された入力バッファ４１と、入力バッファ４１に接続された４個の演算部４２ａ，４２ｂ，４２ｃ，４２ｄと、装置全体を制御する制御部３３とを備え、４つの抽出対象の周波数のレベルを抽出するものである。
【００６６】
入力バッファ４１のサイズは、抽出対象の周波数のうちの周波数が一番低い周波数の１周期分を格納できるサイズとし、制御部３３からの制御信号等により、入力信号を格納する長さを選択的４段階に変化できるようにしたものである。入力バッファ４１に接続された演算部４２ａ，４２ｂ，４２ｃ，４２ｄは、第２の実施形態の演算部３２ａ，３２ｂ，３２ｃ，３２ｄと同様のものである。
【００６７】
４つの抽出対象の周波数の１周期をＴａ，Ｔｂ，Ｔｃ，Ｔｄとすると、入力バッファ４１がＴａ時間の入力信号を格納するように設定されている期間には、入力バッファ４１の格納する入力信号に対して演算部４２ａが、第１の実施形態の演算部３２と同様に動作し、１周期がＴａとなる抽出対象の周波数のレベル及び波形を抽出する。
【００６８】
入力バッファ４１がＴｂ時間の入力信号を格納するように設定されている期間には、入力バッファ４１の格納する入力信号に対して演算部４２ｂが、第１の実施形態の演算部３２と同様に動作し、１周期がＴｂとなる抽出対象の周波数のレベル及び波形を抽出する。
【００６９】
入力バッファ４１がＴｃ時間の入力信号を格納するように設定されている期間には、入力バッファ４１の格納する入力信号に対して演算部４２ｃが、第１の実施形態の演算部３２と同様に動作し、１周期がＴｃとなる抽出対象の周波数のレベル及び波形を抽出する。
【００７０】
入力バッファ４１がＴｄ時間の入力信号を格納するように設定されている期間には、入力バッファ４１の格納する入力信号に対して演算部４２ｄが、第１の実施形態の演算部３２と同様に動作し、１周期がＴｄとなる抽出対象の周波数のレベル及び波形を抽出する。
【００７１】
則ち、本実施形態の周波数解析装置１００は、第２の実施形態の周波数解析装置１００の４個の入力バッファ３１ａ，３１ｂ，３１ｃ，３１ｄを、１個の入力バッファ４１で置換したものとなっており、構成が第２の実施形態よりも簡素になるという利点を有する。
【００７２】
尚、本発明は、上記実施形態に限定されず、種々の変形が可能である。その変形例としては、例えば次のようなものがある。
（ｉ）上記第１〜第３の実施形態では、各入力バッファ３１，３１ａ〜３１ｄ，４１に格納された入力信号を複数回加算してその平均を求めることにより、抽出対象の周波数成分のレベルまで求められるようにしたが、入力信号に抽出対象の周波数含まれるか否かを解析する場合には、平均まで求める必要はない。この場合、各入力バッファ３１，３１ａ〜３１ｄ，４１で格納される入力信号を複数回加算するだけで、抽出対象以外の周波数成分が除去されるので、入力信号に抽出対象の周波数含まれるか否かを解析することができる。
【００７３】
（ii）上記第２の実施形態では、抽出対象の周波数の数と同数の４個の入力バッファ３１ａ〜３１ｄ及び演算部３２ａ〜３２ｄを備えたが、入力バッファ３１ａ〜３１ｄ及び演算部３２ａ〜３２ｄの数を増減することにより、抽出対象の周波数の数を増減できる。
【００７４】
（iii）上記第３の実施形態では、入力バッファ４１の入力信号を格納する長さを４段階に変化させる構成としたが、入力バッファ４１の入力信号を格納する長さを４段階以外にしてもよい。この場合、演算部４２ａ〜４２ｄの数もそれに応じて変化させることにより、抽出対象の周波数の数を増減できる。
【００７５】
（iv）入力信号は、音声を表す信号でもよいし、画像を表す信号でもよいし、各種センサから出力される信号でもよい。
【００７６】
（ｖ）  第１〜第３の実施形態においては、８Ｆｒａｍｅ毎に、目的周波数の信号成分の有無及びそのレベルを求めたが、Ｆｒａｍｅ単位でその有無・レベルを求めるようにしてもよい。
【００７７】
以下、この種の処理が可能な周波数解析装置を第４の実施形態として示す。
［第４の実施形態］
図１０は、本発明の第４の実施形態に係る周波数解析装置２００を示す構成図である。
周波数解析装置２００においては、演算部３２は、加算結果レジスタ３２１，演算回路３２９と、ｎ個のレジスタ３４１〜３４ｎと、装置全体を制御する制御部３３とから構成される。
【００７８】
レジスタ３４１〜３４ｎは、カスケードに接続されており、制御部３３の制御に従って、自己が格納しているｍ個のデータを後段のレジスタに転送すると共に前段のレジスタから供給されるｍ個のデータを新たに記憶する。
【００７９】
演算回路３２９は、レジスタ３４１〜３４ｎに格納されているｎＦｒａｍｅ分のデータのうち、Ｆｒａｍｅ内の相対位置が同一のもの同士を加算し、加算値をｎで割った値を加算結果レジスタ３２１に格納し、これが演算部３２の出力となる。
【００８０】
入力バッファ３１に１Ｆｒａｍｅ分のｍ個のデータが格納される度に、そのデータがレジスタ３４１に格納され、さらに、レジスタ３４１〜３４（ｎ−１）に格納されていたデータが後段のレジスタ３４２〜３４ｎに格納される。
【００８１】
演算回路３２９は、Ｆｒａｍｅ単位で、過去ｎフレーム分の入力信号を平均化し、加算結果レジスタ３２１に格納する。
【００８２】
従って、Ｆｒａｍｅ単位で、目的とする周波数の信号がふくまれているか否か、含まれている場合には、そのレベルを求めることができる。
【００８３】
尚、本発明は上記した装置の機能をコンピューターに実現させるためのプログラムを含むものである。これらのプログラムは、記録媒体から読み取られてコンピュータに取り込まれてもよいし、通信ネットワークを介して伝送されてコンピュータに取り込まれてもよい。
【符号の説明】
【００８４】
３１，３１ａ〜３１ｄ，４１                入力バッファ
３２，３２ａ〜３２ｄ，４２ａ〜４２ｄ      演算部
３３  制御部
【図１】
2012230007.tif 000006
【図２】
2012230007.tif 000007
【図３】
2012230007.tif 000008
【図４】
2012230007.tif 000009
【図５】
2012230007.tif 000010
【図６】
2012230007.tif 000011
【図７】
2012230007.tif 000012
【図８】
2012230007.tif 000013
【図９】
2012230007.tif 000014
【図１０】
2012230007.tif 000015