本発明の第1の態様においては、信号処理システムを提供する。信号処理システムは、入力信号をダウンサンプリングした出力信号を出力するデシメーションフィルタと、入力信号の特性とデシメーションフィルタの特性とに基づいて、ダウンサンプリングによりデシメーションフィルタの出力信号におけるナイキスト周波数未満の周波数に折り返す折り返しノイズの大きさを検出する折り返しノイズ検出部とを有する適応デシメーションフィルタ装置と、折り返しノイズの大きさに基づいてデシメーションフィルタの次数を調整するフィルタ制御部、およびデシメーションフィルタの出力信号に対してフィルタ処理を行なう適応フィルタ部を有する信号処理装置とを備えてよい。
上記のいずれかの信号処理システムにおいて、折り返しノイズ検出部は、デシメーションフィルタに設定された次数を識別するフィルタ識別情報を更に出力してよい。適応フィルタ部は、フィルタ識別情報に応じたフィルタ処理を行なってよい。
上記のいずれかの信号処理システムにおいて、適応フィルタ部は、フィルタ識別情報に応じて、次数の調整に伴うデシメーションフィルタの遅延時間の変化を相殺するフィルタ処理を行なうフィルタを選択してよい。
上記のいずれかの信号処理システムにおいて、AD変換器は、ノイズ成分を含むアナログの入力信号をデジタルの入力信号に変換し、適応フィルタ部は、デシメーションフィルタの出力信号に対してフィルタ処理を行なって、ノイズ成分を低減するためのノイズキャンセリング信号を生成してよい。
上記のいずれかの信号処理システムにおいて、フィルタ制御部は、入力信号の特性に基づいて、入力信号に含まれるノイズ成分を低減するようにデシメーションフィルタの次数を調整してよい。
上記のいずれかの信号処理システムにおいて、折り返しノイズ検出部は、入力信号における、ナイキスト周波数以上の少なくとも一部の周波数の信号レベルを検出するノイズ検出部と、ノイズ検出部が検出した信号レベルのノイズが、フィルタ特性が調整されたデシメーションフィルタによって減衰された場合にデシメーションフィルタの出力信号に残留する折り返しノイズの大きさを算出する折り返しノイズレベル決定部とを有してよい。
上記のいずれかの信号処理システムにおいて、信号処理装置は、デシメーションフィルタの出力信号と折り返しノイズの大きさを表すノイズレベル情報とを入力し、入力したデシメーションフィルタの出力信号、ノイズレベル情報、およびデシメーションフィルタの特性に応じた信号処理を行ない、信号処理装置の出力サイクル期間内に信号処理によって生成された信号を出力してよい。
上記のいずれかの信号処理システムにおいて、信号処理装置は、信号処理装置の出力サイクル期間内に、デシメーションフィルタの出力信号、折り返しノイズの大きさを表すノイズレベル情報、およびフィルタ識別情報を入力し、入力したデシメーションフィルタの出力信号、ノイズレベル情報、および折り返しノイズの大きさやフィルタ識別情報に応じた信号処理を行ない、信号処理によって生成された信号を出力してよい。
本発明の第2の態様においては、信号処理方法を提供する。信号処理方法は、適応デシメーションフィルタ装置のデシメーションフィルタが、入力信号をダウンサンプリングした出力信号を出力することと、適応デシメーションフィルタ装置の折り返しノイズ検出部が、入力信号の特性とデシメーションフィルタの特性とに基づいて、ダウンサンプリングによりデシメーションフィルタの出力信号におけるナイキスト周波数未満の周波数に折り返す折り返しノイズの大きさを検出することと、信号処理装置のフィルタ制御部が、折り返しノイズの大きさに基づいてデシメーションフィルタの次数を調整することと、信号処理装置の適応フィルタ部が、デシメーションフィルタの出力信号に対して、フィルタ処理を行なうこととを含んでよい。
本発明の第3の態様においては、コンピュータにより実行される信号処理プログラムを提供する。信号処理プログラムは、コンピュータを、入力信号をダウンサンプリングした出力信号を出力するデシメーションフィルタ、および入力信号の特性とデシメーションフィルタの特性とに基づいて、ダウンサンプリングによりデシメーションフィルタの出力信号におけるナイキスト周波数未満の周波数に折り返す折り返しノイズの大きさを検出する折り返しノイズ検出部を有する適応デシメーションフィルタ装置と、折り返しノイズの大きさに基づいてデシメーションフィルタの次数を調整するフィルタ制御部、およびデシメーションフィルタの出力信号に対してフィルタ処理を行なう適応フィルタ部とを有する信号処理装置として機能させてよい。
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、本実施形態に係る信号処理システム10の構成を示す。信号処理システム10は、アナログ信号を入力し、信号処理を行なって、信号処理の結果を出力する。一例として、信号処理システム10は、オーディオの聴者等に到達するノイズ、またはノイズ発生源の振動等に応じたアナログ信号を入力し、信号処理を行なってノイズを抑制するためのノイズキャンセリング信号を出力するノイズキャンセラである。これに代えて、信号処理システム10は、アナログ信号を入力して任意の信号処理を行なう装置であってもよい。
信号処理システム10は、AD(Analog-Digital)変換器20と、適応フィルタ装置30と、信号処理装置40とを備える。AD変換器20は、AD変換周波数に応じたAD変換周期毎に、アナログの入力信号をデジタル信号に変換する。AD変換器20は、デジタルに変換された入力信号を、適応フィルタ装置30へのフィルタ入力信号として出力する。
適応フィルタ装置30は、AD変換器20に接続される。適応フィルタ装置30は、フィルタ入力信号を入力してフィルタ処理を行ない、フィルタ出力信号として出力する。ここで、適応フィルタ装置30は、フィルタ入力信号の特性に応じてフィルタ処理の特性を変化させる適応フィルタ処理を行なう。
信号処理装置40は、適応フィルタ装置30に接続される。信号処理装置40は、フィルタ出力信号を適応フィルタ装置30から受け取る。信号処理装置40は、フィルタ出力信号に対して信号処理を行なって、信号処理の結果を出力する。信号処理装置40は、DSP(Digital Signal Processor)等の信号処理用のプロセッサ、またはマイクロコントローラを含むコンピュータであってよい。また、信号処理装置40は、PC(パーソナルコンピュータ)、タブレット型コンピュータ、スマートフォン、ワークステーション、サーバコンピュータ、または汎用コンピュータ等のコンピュータであってよく、複数のコンピュータが接続されたコンピュータシステムであってもよい。このようなコンピュータシステムもまた広義のコンピュータである。信号処理装置40は、このようなコンピュータ上で信号処理プログラムを実行することにより、フィルタ出力信号に対する信号処理を行なう。
図2は、本実施形態に係る適応フィルタ装置30の構成を示す。適応フィルタ装置30は、フィルタ入力信号をダウンサンプリングしてフィルタ出力信号として出力する。以下、説明の便宜上、フィルタ入力信号を「入力信号」、フィルタ出力信号を「出力信号」と省略する。適応フィルタ装置30は、デシメーションフィルタ200と、フィルタ制御部210とを有する。
デシメーションフィルタ200は、入力信号をダウンサンプリングした出力信号を出力する。フィルタ制御部210は、入力信号の特性に基づいて、デシメーションフィルタ200の特性を変化させる。より具体的には、フィルタ制御部210は、入力信号の特性に基づいて、入力信号に対して適用するべきフィルタ処理の特性を決定し、決定したフィルタ処理の特性を識別するフィルタ識別情報をデシメーションフィルタ200へと出力する。本実施形態において、フィルタ制御部210は、フィルタ識別情報の一例として、入力信号に対して適用すべきフィルタ特性をコードで識別するフィルタコードを出力する。
本実施形態において、フィルタ制御部210は、入力信号の特性に基づいて、デシメーションフィルタ200の次数を調整する。この結果、フィルタ制御部210は、デシメーションフィルタ200における、入力信号のうち、出力信号のナイキスト周波数以上の少なくとも一部の周波数を有する調整対象成分のフィルタ特性(通過帯域、阻止帯域、通過帯域及び阻止帯域から決まるフィルタの急峻さ、阻止帯域の減衰量等)を調整することになる。ここで、デシメーションフィルタ200は、入力信号における、出力信号のナイキスト周波数以上の全ての周波数を調整対象成分としてよく、一部の周波数のみを調整対象成分としてもよい。
図3は、本実施形態に係るデシメーションフィルタ200の構成を示す。デシメーションフィルタ200は、専用回路によって実現された専用ハードウェアであってよく、少なくとも一部がコンピュータ上でフィルタプログラムを実行することにより実現されてもよい。本実施形態において、デシメーションフィルタ200は、一例としてFIR(Finite Impulse Response)フィルタであるが、IIR(Infinite Impulse Response)フィルタを用いることもできる。複数の遅延要素300-2~N(Nは2以上の整数)と、複数の間引き要素310-1~Nと、複数の乗算器320-1~Nと、複数の加算器330-2~Nと、フィルタ係数記憶部340と、選択器350とを含む。
複数の遅延要素300-2~N(遅延要素300とも示す。)は、この順に直列に接続される。先頭の遅延要素300-2は、AD変換周期毎に入力信号を受け取って、1AD変換周期分遅延させて次の遅延要素300-3に出力する。同様に、遅延要素300-3~Nは、受け取った入力信号を1AD変換周期分遅延させて次段の遅延要素300へと出力する。
複数の間引き要素310-1~N(間引き要素310とも示す。)は、AD変換器20からの入力信号および各遅延要素300-2~Nが出力する遅延された入力信号を1/mに間引きする。すなわち、間引き要素310-1は、AD変換器20からの入力信号を間引いて出力する。間引き要素310-2~Nのそれぞれは、遅延要素300-2~Nのうち対応する遅延要素300からの遅延された入力信号を間引いて出力する。ここで、各間引き要素310は、受け取った入力信号をAD変換周期のm回おきに出力することにより、入力信号を間引く。
複数の乗算器320-1~N(乗算器320とも示す。)は、複数の間引き要素310-1~Nから受け取る複数の信号のそれぞれと、フィルタ係数記憶部340から受け取る複数のフィルタ係数のそれぞれと乗じる。複数の加算器330-2~Nは、複数の乗算器320-1~Nの出力の合計値を選択器350へと供給する。また、複数の加算器330-2~M(MはNより小さい正の整数)は、複数の乗算器320-1~Mの出力の合計値を選択器350へと供給する。
フィルタ係数記憶部340は、フィルタ制御部210から受け取るフィルタ識別情報(フィルタコード)に応じたフィルタ係数を複数の乗算器320-1~Nに供給する。本実施形態において、フィルタ係数記憶部340は、フィルタコードが第1フィルタ特性を設定することを指示する場合には、第1フィルタ特性に対応する複数のフィルタ係数を複数の乗算器320-1~Nに供給する。また、フィルタ係数記憶部340は、フィルタコードが、第2フィルタ特性を設定することを指示する場合には、第2フィルタ特性に対応する複数のフィルタ係数を複数の乗算器320-1~Nに供給する。
選択器350は、フィルタ制御部210から受け取るフィルタ識別情報(フィルタコード)に応じて、デシメーションフィルタ200の次数を変更する。本実施形態において、選択器350は、第1フィルタ特性を設定することを指示するフィルタコードを受け取ったことに応じて、複数の乗算器320-1~Nの出力の合計値を出力信号として選択する。また、選択器350は、第2フィルタ特性を設定することを指示するフィルタコードを受け取ったことに応じて、複数の乗算器320-1~Mの出力の合計値を出力信号として選択する。このようにして、デシメーションフィルタ200は、第2フィルタ特性が設定されたことに応じて、第1フィルタ特性が設定された場合よりもフィルタの次数を小さくする。これに伴い、デシメーションフィルタ200は、第2フィルタ特性が設定されたことに応じて、第1フィルタ特性が設定された場合よりも遅延時間を短くすることになる。
図4は、ダウンサンプリングにより生じるエイリアシングの一例を示す。本図は、横軸に周波数をとり、縦軸に信号強度をとったグラフにより、デシメーションフィルタ200の出力信号に生じるエイリアシングを示す。
本図において、「fs」は、デシメーションフィルタ200が出力する出力信号の周波数(サンプリング周波数)を示す。AD変換器20からデシメーションフィルタ200へと供給される入力信号の周波数(AD変換周波数)は、サンプリング周波数よりも高い。デシメーションフィルタ200は、AD変換周波数を有する入力信号をダウンサンプリングして周波数を下げ、サンプリング周波数を有する出力信号として出力する。例えば、ノイズキャンセリングの場合、AD変換周波数は例えば約200KHzであり、サンプリング周波数fsは例えば約2KHzであってよい。
デシメーションフィルタ200は、出力信号のサンプリング周波数がfsであることから、サンプリング定理により、入力信号におけるサンプリング周波数fsの1/2であるナイキスト周波数fs/2以下の信号成分を再現可能に出力することができる。しかし、入力信号を単に間引きフィルタによって間引きした場合には、ナイキスト周波数fs/2を超える信号成分(例えば図中信号400)がエイリアシングによりナイキスト周波数fs/2以下の周波数領域に折り返してエイリアシング(例えば図中エイリアシング410)として出力信号に含まれてしまう。
そこで、入力信号をダウンサンプリングする場合には、入力信号の間引きに加えて、入力信号におけるカットオフ周波数以上の周波数成分を除去または減衰させ、カットオフ周波数以下の周波数成分を通過させるローパスフィルタリングを行なう。このような入力信号のダウンサンプリングは、「デシメーション」と呼ばれる。ここで、このカットオフ周波数は通常はナイキスト周波数fs/2であるが、ナイキスト周波数fs/2よりも低い周波数としてもよい。
なお、理論的には、デシメーションは、入力信号の周波数(すなわちAD変換周波数)で入力信号をローパスフィルタリングした後に、間引きによって出力信号の周波数をサンプリング周波数に低下させる。図3に例示したデシメーションフィルタ200は、このようなデシメーション処理を、間引きを先に行なうようにノーブル恒等変換によって等価変換した構成をとる。
図5は、本実施形態に係るデシメーションフィルタ200のフィルタ特性の一例を示す。本図の横軸は出力信号のサンプリング周波数を1に正規化した周波数を示し、縦軸は信号の増幅率をデシベル(dB)で示す。
デシメーションフィルタ200の特性は、デシメーションフィルタ200の次数に応じて異なる。デシメーションフィルタ200は、第1フィルタ特性500が設定されると次数をNとし、第2フィルタ特性510が設定されると次数をNより小さいMとする。第1フィルタ特性500が設定された場合、デシメーションフィルタ200は、次数がより大きくなるので遅延量がより大きくなるが、入力信号のうちナイキスト周波数以上の調整対象成分の減衰量をより大きくとることができる。第2フィルタ特性510が設定された場合、デシメーションフィルタ200は、次数がより小さくなるので遅延量をより小さくすることができるが、入力信号のうちナイキスト周波数以上の調整対象成分の減衰量がより小さくなり、調整対象成分が出力信号内に残留しやすくなる。このように、デシメーションフィルタ200の遅延量と調整対象成分の減衰量とはトレードオフの関係にある。
ここで、入力信号における調整対象成分の「減衰量」とは、調整対象成分に対するデシメーションフィルタ200のゲインの逆数を示す。本図の第1フィルタ特性500は、ナイキスト周波数以上の調整対象成分のゲインが約-60dBであるから、約60dB分の減衰量を有する。また、第2フィルタ特性510は、ナイキスト周波数以上の調整対象成分のゲインが約-20dBであるから、約20dB分の減衰量を有する。なお、調整対象成分の減衰量は、調整対象成分が含まれる周波数範囲内における、最大のゲインに対応する減衰量、すなわち最小の減衰量であってよい。
図6は、本実施形態に係るフィルタ制御部210の構成を示す。フィルタ制御部210は、ノイズ検出部620と、フィルタ特性決定部660とを含む。
ノイズ検出部620は、入力信号における、ナイキスト周波数以上の少なくとも一部の周波数の信号レベルを検出する。ここで、ノイズ検出部620が検出する、入力信号におけるナイキスト周波数以上の少なくとも一部の周波数を有する周波数成分を、「検査対象成分」と示す。図4に示したように、検査対象成分は、デシメーションフィルタ200によるデシメーション後にエイリアシングにより出力信号に重畳するノイズとなりうる。ノイズ検出部620は、検査対象成分の信号レベル(大きさ)を示すノイズレベル情報を出力する。本実施形態において、ノイズ検出部620は、ノイズレベル情報の一例として、検査対象成分の信号レベルを0から1までの間の値に正規化したレベルコードを出力する。
フィルタ特性決定部660は、ノイズ検出部620に接続され、ノイズレベル情報の一例としてレベルコードを受け取る。フィルタ特性決定部660は、ノイズ検出部620が検出した検査対象成分の信号レベルに基づいて、デシメーションフィルタ200に設定するフィルタ特性を決定する。フィルタ特性決定部660は、検査対象成分の信号レベルに応じて、デシメーションフィルタ200の次数を調整してよい。フィルタ特性決定部660は、決定したフィルタ特性に応じたフィルタ識別情報の一例としてフィルタコードを出力する。
図7は、本実施形態に係るノイズ検出部620の構成を示す。ノイズ検出部620は、HPF730と、ノイズレベル出力部750とを含む。ハイパスフィルタ(HPF)730は、入力信号における、出力信号のナイキスト周波数未満の周波数帯域の信号成分を減衰させ、出力信号のナイキスト周波数以上の周波数帯域の信号成分を通過させる。すなわち、本実施形態に係るHPF730は、出力信号のナイキスト周波数以上の周波数帯域の信号成分を検査対象成分とし、検査対象成分を通過させる。
ノイズレベル出力部750は、HPF730が出力する信号の信号レベルをノイズレベル情報として出力する。例えば、ノイズレベル出力部750は、ピーク値、絶対値、平均値、ピーク値の平均値、または絶対値の平均値の少なくとも1つに応じた信号レベルを出力する。ここで、ノイズレベル出力部750は、ピーク値または平均値として、HPF730が出力する信号の、直近の予め定められた長さの期間におけるピーク値または平均値を算出してよい。
なお、検査対象成分および調整対象成分の周波数帯域は、適応フィルタ装置30の用途に応じて適宜決定されてよい。調整対象成分の周波数帯域は、検査対象成分の周波数帯域と同一であってもよく、一部のみが重なっていてもよく、異なっていてもよい。例えば、適応フィルタ装置30は、検査対象成分を出力信号のナイキスト周波数以上の周波数帯域の信号成分とし、同一の周波数帯域の信号成分を調整対象成分としてよい。また、適応フィルタ装置30は、検査対象成分の一部を調整対象成分としてよく、検査対象成分を含むより広い周波数帯域の信号成分を調整対象成分としてもよい。例えば、適応フィルタ装置30は、検査対象成分を出力信号のナイキスト周波数以上の全周波数帯域の信号成分としつつ、出力信号のナイキスト周波数以上の周波数帯域のうち一部のみを調整対象成分としてもよい。
図8は、本実施形態に係る適応フィルタ装置30の動作フローを示す。ステップS800において、適応フィルタ装置30は、AD変換器20から入力信号(フィルタ入力信号)を取得する。S810において、フィルタ制御部210内のノイズ検出部620は、入力信号における、ナイキスト周波数以上の少なくとも一部の周波数の信号レベルを検出する。ここで、ノイズ検出部620内のHPF730は、入力信号における、出力信号のナイキスト周波数未満の周波数帯域の信号成分を減衰させ、ノイズ検出部620内のノイズレベル出力部750は、HPF730が出力する信号の信号レベルをノイズレベル情報として出力してよい。これにより、ノイズ検出部620は、出力信号におけるナイキスト周波数未満の周波数領域に折り返す、ナイキスト周波数以上のノイズ成分を抽出して、ノイズレベルとして計測することができる。
S820において、フィルタ特性決定部660は、ノイズ検出部620が検出した検査対象成分の信号レベルに基づいて、デシメーションフィルタ200に設定するフィルタ特性を決定する。フィルタ特性決定部660は、検査対象成分の信号レベルがより大きい場合に、デシメーションフィルタ200の次数を大きくするようにフィルタ特性を決定してよい。これにより、フィルタ特性決定部660は、デシメーションフィルタ200による調整対象成分の減衰量をより大きく保つ。また、フィルタ特性決定部660は、検査対象成分の信号レベルがより小さい場合に、デシメーションフィルタ200の次数を小さくするようにフィルタ特性を決定してよい。これにより、フィルタ特性決定部660は、デシメーションフィルタ200による調整対象成分の減衰量を減らす代わりに、デシメーションフィルタ200の遅延時間を短くすることができる。
なお、検査対象成分の信号レベルの大きさに対するフィルタ特性決定部660のフィルタ特性決定については、これと逆であっても良い。具体的には、フィルタ特性決定部660は、検査対象成分の信号レベルがより大きい場合にデシメーションフィルタ200の次数を小さくするようにフィルタ特性を決定することでデシメーションフィルタ200の遅延時間を短くし、検査対象成分の信号レベルがより小さい場合にデシメーションフィルタ200の次数を大きくするようにフィルタ特性を決定することでデシメーションフィルタ200の遅延時間を長くしてもよい。
ここで、調整対象成分は、ナイキスト周波数以上の全周波数の周波数成分であってよい。これに代えて、調整対象成分は、ナイキスト周波数以上の一部の周波数帯域の信号成分であってもよい。例えば、調整対象成分は、ナイキスト周波数未満にエイリアシングされるとノイズの影響が大きくなる周波数帯域(例えば、人の聴覚における感度のよい2,000Hzから4,000Hz等の周波数帯域)に折り返す周波数帯域の信号成分であってよい。
S830において、フィルタ特性決定部660は、決定したフィルタ特性をデシメーションフィルタ200に設定する。これにより、フィルタ特性決定部660は、ノイズ検出部620が検出した検査対象成分の信号レベル(ノイズのレベル)に応じてデシメーションフィルタ200の次数および調整対象成分の減衰量を調整することができる。ナイキスト周波数未満の周波数に折り返すノイズのレベルがより大きい場合には、フィルタ特性決定部660は、入力信号における調整対象成分の減衰量をより大きくしてノイズを低減することができる。ナイキスト周波数未満の周波数に折り返すノイズのレベルがより小さい場合には、フィルタ特性決定部660は、入力信号における調整対象成分の減衰量をより小さくしてノイズの減衰量を小さくし、デシメーションフィルタ200のフィルタ強度を抑える。なお、ナイキスト周波数未満の周波数に折り返すノイズのレベルに対するフィルタ特性決定部660の制御は、ノイズのレベルの大きさに対する減衰量の増減の関係を逆にすることも可能である。
ここで、フィルタ特性決定部660は、フィルタ入力信号の正負が切り替わるゼロクロスタイミングを検出し、ゼロクロスタイミングに応じてフィルタ特性を変更してもよい。また、フィルタ特性決定部660は、デシメーションフィルタ200のフィルタ特性を、現在のフィルタ特性から目標とするフィルタ特性になるまで段階的に変化させてもよい。これにより、フィルタ特性決定部660は、出力信号の信号処理結果に応じて発生されるノイズキャンセリング信号等の音声信号に生じる違和感を抑制することができる。
S840において、適応フィルタ装置30は、フィルタ特性決定部660によりフィルタ特性が設定されたデシメーションフィルタ200により、入力信号をダウンサンプリングする。デシメーションフィルタ200は、フィルタの次数をより増やすフィルタ特性が設定された場合には、調整対象成分の減衰量をより大きくして目標とする減衰量を実現する。デシメーションフィルタ200は、フィルタの次数を減らすフィルタ特性が設定された場合には、調整対象成分の減衰量を目標とする減衰量の範囲内で小さくすることができる。
図9は、本実施形態に係るフィルタ特性決定部660の動作を示す。本実施形態において、フィルタ制御部210内のフィルタ特性決定部660は、ノイズ検出部620が出力するノイズレベル情報を表すレベルコードに応じて、第1フィルタ特性(図中「フィルタ1」)または第2フィルタ特性(図中「フィルタ2」)を設定するフィルタコードをデシメーションフィルタ200に供給する。
フィルタ特性決定部660は、ノイズレベル(ノイズ検出部620が検出する検査対象成分の信号レベル)が予め定められた基準より大きい場合に、第1フィルタ特性をデシメーションフィルタ200に設定する。本図の例においては、フィルタ特性決定部660は、ノイズ検出部620が出力するノイズレベルが0.5より大きい場合に、調整対象成分の減衰量が60dB(1/1000に減衰)である第1フィルタ特性をデシメーションフィルタ200に設定するためのフィルタコードをデシメーションフィルタ200に供給する。これにより、図3に示したデシメーションフィルタ200は、フィルタ係数記憶部340に記憶されたフィルタ係数により第1フィルタ特性に設定され、次数はNとなる。
これに対し、フィルタ特性決定部660は、ノイズレベルがこの基準以下の場合に、調整対象成分の減衰量が第1フィルタ特性よりも小さい第2フィルタ特性をデシメーションフィルタ200に設定する。本図の例においては、フィルタ特性決定部660は、ノイズ検出部620が出力するノイズレベルが0.5より小さい場合に、調整対象成分の減衰量が20dB(1/10に減衰)である第2フィルタ特性をデシメーションフィルタ200に設定する。これにより、図3に示したデシメーションフィルタ200は、フィルタ係数記憶部340に記憶されたフィルタ係数により第2フィルタ特性に設定され、次数はM(M<N)となる。なお、フィルタ特性決定部660は、図9の設定とは反対にノイズレベルが基準値より大きい場合に減衰量が小さく遅延量が小さい第2のフィルタ特性を選択し、ノイズレベルが基準値より小さい場合に減衰量が大きく遅延量が大きい第1のフィルタ特性を選択してもよい。
以上に示した適応フィルタ装置30によれば、入力信号における、ノイズレベルを示す検査対象成分の信号レベルに応じてデシメーションフィルタ200のフィルタ特性を変更してデシメーションフィルタ200の次数および調整対象成分の減衰量を調整することができる。これにより、適応フィルタ装置30は、ノイズレベルが低い場合には調整対象成分の減衰量を小さくして、デシメーションフィルタ200の遅延量を減らすことができる。この場合適応フィルタ装置30は、後段の信号処理装置40に対してデシメーションされた入力信号をより早く供給することができ、例えばノイズキャンセリングまたはスピーカーの振動の歪み補正等のリアルタイム性が要求される信号処理において信号処理装置40の処理時間をより長く確保することができる。
逆に、適応フィルタ装置30は、ノイズレベルが高い場合に調整対象成分の減衰量を小さくして、デシメーションフィルタ200の遅延量を減らすこともできる。この場合、適応フィルタ装置30は、ノイズレベルが高いと後段の信号処理装置40に対してデシメーションされた入力信号をより早く供給することができ、後段の信号処理装置40が入力に対して位相差180度のノイズキャンセリング信号を生成するのに十分な処理時間を与えることができる。この場合、ノイズレベルが低いと、後段の信号処理装置40に対するデシメーションされた入力信号の供給が遅くなって後段の信号処理装置40によるノイズキャンセリング性能が低下することになる。総合的には、信号処理システム10は、ノイズレベルが高い場合にはノイズキャンセリング性能を向上させ、ノイズレベルが低い場合にはノイズキャンセリング性能を低下させることで環境変化に伴うノイズの増減を軽減することができる。
なお、本実施形態に係る適応フィルタ装置30は、ノイズレベルに応じてデシメーションフィルタ200のフィルタ特性を2段階で調整する。これに代えて、ノイズレベルに応じてデシメーションフィルタ200のフィルタ特性を3段階以上で調整してもよい。
図10は、本実施形態の第1変形例に係るノイズ検出部1020の構成を示す。本変形例においては、適応フィルタ装置30は、ノイズ検出部620に代えて、ノイズ検出部1020を有する。適応フィルタ装置30におけるその他のブロックの機能および構成は図1から9に関連して示したものと同一であるから、以下相違点を除き説明を省略する。
ノイズ検出部1020は、BPF1030と、ノイズレベル出力部1050とを含む。バンドパスフィルタ(BPF)1030は、入力信号における、ナイキスト周波数以上の一部の周波数帯域以外の信号成分を減衰させ、この一部の周波数帯域の信号成分を通過させる。すなわち、本実施形態に係るBPF1030は、出力信号のナイキスト周波数以上の一部の周波数帯域の信号成分を検査対象成分とし、検査対象成分を通過させる。
ノイズレベル出力部1050は、BPF1030が出力する信号の信号レベルをノイズレベル情報として出力する。例えば、ノイズレベル出力部1050は、ピーク値、絶対値、平均値、ピーク値の平均値、または絶対値の平均値の少なくとも1つに応じた信号レベルを出力する。ここで、ノイズレベル出力部1050は、ピーク値または平均値として、BPF1030が出力する信号の、直近の予め定められた長さの期間におけるピーク値または平均値を算出してよい。
本変形例においては、ノイズ検出部1020は、入力信号における、ナイキスト周波数以上の信号成分のうち、一部の周波数帯域の信号成分のみでノイズレベルを検出する。これにより、ノイズ検出部1020は、出力信号のナイキスト周波数未満に折り返すとノイズの影響が目立つ周波数帯域(例えば、人の聴覚における感度のよい1KHz近傍の周波数帯域)のノイズレベルに応じてデシメーションフィルタ200のフィルタ特性を調整することができる。
なお、検査対象成分および調整対象成分の周波数帯域は、適応フィルタ装置30の用途に応じて適宜決定されてよく、調整対象成分の周波数帯域は、検査対象成分の周波数帯域と同一であってもよく、一部のみが重なっていてもよく、異なっていてもよい。例えば、適応フィルタ装置30は、検査対象成分を出力信号のナイキスト周波数以上の一部の周波数帯域のみの信号成分とし、同一の周波数帯域の信号成分を調整対象成分としてよい。また、適応フィルタ装置30は、検査対象成分の一部を調整対象成分としてよく、検査対象成分を含むより広い周波数帯域の信号成分を調整対象成分としてもよい。例えば、適応フィルタ装置30は、検査対象成分を出力信号のナイキスト周波数以上の一部の周波数帯域のみの信号成分としつつ、出力信号のナイキスト周波数以上の全周波数帯域を調整対象成分としてもよい。
図11は、本実施形態の第2変形例に係るフィルタ制御部1110の構成を示す。フィルタ制御部1110は、図6に関連して示したフィルタ制御部210の変形例である。フィルタ制御部1110における、フィルタ制御部210と同様の機能および構成を有するブロックについては、以下相違点を除き説明を省略する。
フィルタ制御部1110は、ノイズ検出部620と、信号検出部1140と、フィルタ特性決定部1160とを有する。ノイズ検出部620は、図6のノイズ検出部620と同様の機能および構成を有する。
信号検出部1140は、入力信号における、信号処理装置40による信号処理の対象となる本来の信号成分を検出する。より具体的には、信号検出部1140は、入力信号における、ナイキスト周波数未満の少なくとも一部の周波数の信号成分(以下、「主信号」とも示す。)の信号レベルを検出する。
フィルタ特性決定部1160は、ノイズ検出部620および信号検出部1140に接続される。フィルタ特性決定部1160は、信号検出部1140が検出した信号レベルおよびノイズ検出部620が検出したノイズレベルに基づいて、デシメーションフィルタ200に設定するフィルタ特性を決定する。
図12は、本実施形態の第2変形例に係る信号検出部1140の構成を示す。信号検出部1140は、LPF1230と、信号レベル出力部1250とを含む。
LPF1230は、入力信号における、ナイキスト周波数以上の周波数の信号成分を減衰させ、出力信号のナイキスト周波数未満の周波数帯域の信号成分を通過させる。すなわち、本実施形態に係るLPF1230は、出力信号のナイキスト周波数未満の周波数帯域の信号成分を信号処理装置40による主信号とみなし、主信号の信号成分を通過させる。
信号レベル出力部1250は、LPF1230に接続される。信号レベル出力部1250は、LPF1230を通過した入力信号に応じた信号レベルを出力する。信号レベル出力部1250は、LPF1230が出力する信号の、ピーク値、絶対値、平均値、ピーク値の平均値、または絶対値の平均値の少なくとも1つに応じた信号レベルの一例として信号レベルコードを出力する。
図13は、本実施形態の第2変形例に係る適応フィルタ装置30の動作フローを示す。本図の動作フローは、図8に示した動作フローの変形例であるから、以下相違点を除き説明を省略する。
S1300およびS1310は、図8のS800およびS810と同様である。S1320において、フィルタ制御部1110内の信号検出部1140は、入力信号における、ナイキスト周波数未満の少なくとも一部の周波数の信号レベルを検出する。
S1330において、フィルタ特性決定部1160は、信号検出部1140が検出した信号レベルおよびノイズ検出部620が検出したノイズレベルに基づいて、デシメーションフィルタ200に設定するフィルタ特性を決定する。フィルタ特性決定部1160は、信号検出部1140により検出された信号レベルが、ノイズ検出部620により検出されたノイズレベルと比較してより高い場合に、デシメーションフィルタ200の次数および調整対象成分の減衰量をより小さくするフィルタ特性を決定してよい。例えば、フィルタ特性決定部1160は、信号検出部1140により検出された信号レベルをノイズ検出部620により検出されたノイズレベルで割った比率が予め定められた基準より大きい場合に第2フィルタ特性を選択し、当該比率がこの基準以下の場合に第1フィルタ特性を選択してよい。これに代えて、フィルタ特性決定部1160は、信号検出部1140により検出された信号レベルからノイズ検出部620により検出されたノイズレベルを減じた差が予め定められた基準より大きい場合に第2フィルタ特性を選択し、当該差がこの基準以下の場合に第1フィルタ特性を選択してよい。
S1340において、フィルタ特性決定部1160は、図8のS830と同様に、決定したフィルタ特性をデシメーションフィルタ200に設定する。S1350において、適応フィルタ装置30は、図8のS840と同様に、フィルタ特性決定部1160によりフィルタ特性が設定されたデシメーションフィルタ200により、入力信号をダウンサンプリングする。
第2変形例に係る適応フィルタ装置30によれば、ナイキスト周波数以上の検査対象成分の信号レベル(すなわちノイズの信号レベル)に加えて、信号処理装置40の信号処理対象となる信号成分の信号レベル(すなわち主信号の信号レベル)を用いてデシメーションフィルタ200のフィルタ特性を調整することができる。主信号が十分大きければ、適応フィルタ装置30は、デシメーションフィルタ200の次数を小さくし、これにより調整対象成分の減衰量を小さくしてナイキスト周波数未満に多少の折り返しノイズを発生させたとしても、ナイキスト周波数未満の領域において十分なSN比を確保することができる。したがって、第2変形例に係る適応フィルタ装置30によれば、主信号の信号成分が十分大きい場合には、調整対象成分の減衰量を小さくしてデシメーションフィルタ200の遅延量を小さくすることができる。
ここで、別の観点では、適応フィルタ装置30への入力信号には、元々ナイキスト周波数未満のノイズフロアが重畳されている。信号検出部1140内の信号レベル出力部1250がLPF1230を通過した入力信号の平均値または絶対値の平均値等に応じた信号レベルを出力すると、信号検出部1140は、ノイズフロアに応じた信号レベルを出力することになる。したがって、フィルタ特性決定部1160は、フィルタ特性の選択に用いる基準として、ノイズフロアの大きさを基準とした折り返しノイズの許容量の閾値を用いることで、折り返しノイズが主信号に含まれるノイズフロアよりも十分に小さい場合には調整対象成分の減衰量を小さくしてデシメーションフィルタ200の遅延量を小さくすることもできる。
図14は、本実施形態の第3変形例に係るフィルタ特性決定部1460の構成を示す。フィルタ特性決定部1460は、図6および図9に関連して示したフィルタ特性決定部660の変形例であるから、以下相違点を除き説明を省略する。フィルタ特性決定部1460は、ノイズ検出部620が検出したノイズレベルに基づいて、デシメーションフィルタ200に設定するフィルタ特性を決定する。本変形例に係るフィルタ特性決定部1460は、ノイズ検出部620により検出されたノイズレベルに基づいて、2または3以上のフィルタ特性のうちデシメーションフィルタ200に設定するべきフィルタ特性を指定するフィルタ識別情報の一例としてフィルタコードを出力する。
フィルタ特性決定部1460は、閾値記憶部1470と、比較部1480と、デコード部1490とを含む。閾値記憶部1470は、ノイズ検出部620により検出されたノイズレベルを示すレベルコードにおける、フィルタ特性毎の境界値に対応する複数の閾値1~Xを格納する。ここでXは、設定可能なフィルタ特性の数から1を減じた値であってよい。本変形例においては、一例として閾値1<閾値2<・・・<閾値Xである。
比較部1480は、閾値記憶部1470に接続される。比較部1480は、複数の閾値1~Xのそれぞれに対応して、X個の比較器のそれぞれを有する。各比較器は、レベルコードと、対応する閾値とを比較する。本変形例において、x番目の比較器は、レベルコードとx番目の閾値xとを比較し、レベルコードが閾値xよりも大きい場合に論理H(ハイ)、レベルコードが閾値x以下の場合に論理L(ロー)を出力する。
デコード部1490は、比較部1480に接続される。デコード部1490は、比較部1480内の複数の比較器が出力する比較結果に応じて、デシメーションフィルタ200に設定すべきフィルタ特性を指定するフィルタコードの値を決定する。例えば、比較部1480のx-1番目までの比較器が論理Hを出力し、x番目以上の比較器が論理Lを出力した場合に、デコード部1490は、レベルコードが閾値x-1を超え閾値x以下であることから、x番目のフィルタ特性を指定するフィルタコードを出力する。デコード部1490は、例えばプライオリティエンコーダにより実現されてよい。
ここで、デコード部1490は、レベルコードがより大きくなる(すなわち、ノイズレベルがより大きくなる)ほど、デシメーションフィルタ200の次数および調整対象成分の減衰量がより大きいフィルタ特性を指定するフィルタコードを出力する。これにより、デコード部1490は、ノイズレベルがより小さい場合には、調整対象成分の減衰量がより小さいフィルタ特性をデシメーションフィルタ200に設定し、デシメーションフィルタ200の次数を減らすことができる。また、デコード部1490は、ノイズレベルがより大きい場合には、デシメーションフィルタ200の次数および調整対象成分の減衰量がより大きいフィルタ特性をデシメーションフィルタ200に設定することができる。
図15は、本実施形態の第4変形例に係るフィルタ特性決定部1560の構成を示す。フィルタ特性決定部1560は、図14に関連して示したフィルタ特性決定部1460の変形例であるから、以下相違点を除き説明を省略する。フィルタ特性決定部1560は、ノイズ検出部620が検出したノイズレベルに基づいて、デシメーションフィルタ200に設定するフィルタ特性を決定する。本変形例に係るフィルタ特性決定部1560は、ノイズ検出部620により検出されたノイズレベルに基づいて、2または3以上のフィルタ特性のうちデシメーションフィルタ200に設定するべきフィルタ特性を指定するフィルタ識別情報を出力する。
本変形例に係るフィルタ特性決定部1560は、フィルタ特性の切り替えにヒステリシスを有する。フィルタ特性決定部1560は、閾値記憶部1470と、比較部1480と、デコード部1590と、遅延要素1595とを含む。閾値記憶部1470および比較部1480は、図14の閾値記憶部1470および比較部1480と同様の機能および構成を有する。
デコード部1590は、比較部1480に接続される。デコード部1590は、比較部1480内の複数の比較器が出力する比較結果に応じて、デシメーションフィルタ200に設定すべきフィルタ特性を指定するフィルタコードの値を決定する。デコード部1590は、比較部1480による比較結果および比較部1480を介して受け取るレベルコード等を含むデコード部1590の内部状態を遅延要素1595に出力する。
遅延要素1595は、デコード部1590に接続される。遅延要素1595は、デコード部1590から受け取った内部状態を1サイクル遅延させてデコード部1590に戻す。デコード部1590は、遅延要素1595により遅延された1つ前の状態を用いてフィルタコードの値を決定することにより、フィルタコードの切り替えにヒステリシスを有することができる。例えば、デコード部1590は、ノイズ検出部620からのレベルコードとヒステリシス幅分の差を持たせた2段階の閾値のそれぞれとの比較結果と、比較部1480の比較結果が変化したタイミングで遅延要素1595に保持されている現在のフィルタコードを示す値とに応じてフィルタコードの更新および遅延要素1595の更新を実施してよい。
図16は、本実施形態の第4変形例においてフィルタコードに与えるヒステリシスの一例を示す。本図は、横軸にレベルコードをとり、縦軸にフィルタコードをとり、レベルコードに応じてデコード部1590が決定するフィルタコードを示す。
本図の例において、閾値記憶部1470は、フィルタコード1および2の境界に関して、閾値0.4及び0.5の0.1のヒステリシス幅(図中「ヒステリシス」)を持たせた2つの値を記憶する。比較部1480は、フィルタコードの境界毎に2つの比較器を含み、レベルコードと2つの閾値のそれぞれとの比較結果である2ビットの信号を出力する。遅延要素1595に保持されている値がフィルタコード1を示す値の場合、デコード部1590は、レベルコードが増加して閾値0.4を超えてもフィルタコードを増加させず、レベルコードがさらに増加して閾値0.5を超えたことに応じてフィルタコードを1から2に変化させる。これに応じて、遅延要素1595は、記憶するフィルタコードを、フィルタコード1を示す値からフィルタコード2を示す値に更新する。
遅延要素1595に保持されている値がフィルタコード2を示す値の場合、デコード部1590は、レベルコードが減少して閾値0.5以下になってもフィルタコードを減少させず、レベルコードがさらに減少して閾値0.4以下になったことに応じてフィルタコードを2から1に変化させる。これに応じて、遅延要素1595は、記憶するフィルタコードを、フィルタコード2を示す値からフィルタコード1を示す値に更新する。デコード部1590は、境界毎の上側の閾値とレベルコードとを比較して得られる次のフィルタコードの候補値と、境界毎の下側の閾値とレベルコードとを比較して得られる次のフィルタコードの候補値との両方が、遅延要素1595に保持されているフィルタコードと異なる場合に、フィルタコードの値を候補値に更新してよい。
以上に示したフィルタ特性決定部1560によれば、デシメーションフィルタ200に設定するフィルタ特性の切り替えにヒステリシスを保たせることができる。これにより、フィルタ特性決定部1560は、レベルコードがある閾値の境界に近い値で変動している等の場合に、フィルタ特性が頻繁に切り替わるのを防ぐことができ、適応フィルタ装置30の動作を安定化させることができる。
図17は、本実施形態の第5変形例に係る信号処理システム1700の構成を示す。信号処理システム1700は、図1から16に関連して示した信号処理システム10の変形例であるから、以下相違点を除き説明を省略する。信号処理システム1700においては、適応フィルタ装置30内で入力信号に応じたフィルタ特性を決定するのに代えて、信号処理装置1740がフィルタ特性を決定する。
信号処理システム1700は、AD変換器20と、適応デシメーションフィルタ装置1730と、信号処理装置1740とを備える。AD変換器20は、図1のAD変換器20と同様の機能および構成をとる。適応デシメーションフィルタ装置1730は、デシメーションフィルタ200と、フィルタ制御部210におけるノイズ検出部620とを有する。本変形例におけるデシメーションフィルタ200は、選択器350を有さず信号処理装置1740から受け取るフィルタパラメータに含まれるフィルタ係数を各間引き要素310に供給する。本変形例において、適応デシメーションフィルタ装置1730内のノイズ検出部620は、検査対象成分の信号レベルを示すノイズレベル情報の一例として、レベルコードを信号処理装置1740へと出力する。
信号処理装置1740は、信号処理装置40の信号処理に加えて、フィルタ制御部210におけるフィルタ特性決定部660およびデシメーションフィルタ200における選択器350の機能を実装する。以上に示した信号処理システム1700によれば、入力信号に応じたフィルタ特性の決定およびフィルタ特性の設定に関する処理を信号処理装置1740側で行なうので、適応デシメーションフィルタ装置1730の構成を簡略化することができる。また信号処理装置1740は、DSP等を用いることにより、例えば適応デシメーションフィルタ装置1730の入力信号または出力信号を離散フーリエ変換(DFT)して解析する等のより高度な解析処理の結果を用いてデシメーションフィルタ200のフィルタ特性を決定することも可能となる。
図18は、本実施形態の第6変形例に係る適応デシメーションフィルタ1830の構成を示す。適応デシメーションフィルタ1830は、図17に示した信号処理システム1700における適応デシメーションフィルタ装置1730の変形例であるから、以下相違点を除き説明を省略する。適応デシメーションフィルタ装置1830は、デシメーションフィルタ200と、折り返しノイズ検出部1810とを有する。
デシメーションフィルタ200は、図3に示したデシメーションフィルタ200と同様の機能および構成をとってよい。本変形例において、デシメーションフィルタ200は、フィルタパラメータの一例としてフィルタコードを受け取って、フィルタコードに応じたフィルタ特性に設定される。
折り返しノイズ検出部1810は、入力信号およびフィルタコードを受け取る。折り返しノイズ検出部1810は、入力信号における検査対象成分が、デシメーションフィルタ200によるデシメーション後にナイキスト周波数未満に送り返すことにより発生する折り返しノイズのレベルを算出する。本変形例においては、折り返しノイズ検出部1810は、デシメーションフィルタ200が、信号処理装置1740から受け取ったフィルタコードに応じたフィルタ特性に設定された場合に出力信号に残留する折り返しノイズのレベルを算出する。折り返しノイズ検出部1810は、デシメーションフィルタ200に設定されているフィルタ特性を識別するフィルタコード等のフィルタ識別情報と、折り返しノイズのレベルを示すノイズレベル情報と含む、フィルタ/ノイズレベル情報を信号処理装置1740へと出力する。
図19は、本実施形態の第6変形例に係る折り返しノイズ検出部1810の構成を示す。折り返しノイズ検出部1810は、ノイズ検出部620と、折り返しノイズレベル決定部1960とを含む。ノイズ検出部620は、図7に示したノイズ検出部620と同様の機能および構成をとってよい。
折り返しノイズレベル決定部1960は、ノイズ検出部620に接続される。折り返しノイズレベル決定部1960は、ノイズ検出部620が検出したノイズレベルを示すレベルコードと、信号処理装置1740から受け取ったフィルタコードとを受け取る。折り返しノイズレベル決定部1960は、レベルコードによって示された検査対象成分の信号レベルが、フィルタコードに対応するフィルタ特性を有するデシメーションフィルタ200によって減衰された場合に出力信号に残留する折り返しノイズのレベルを算出する。折り返しノイズレベル決定部1960は、算出した折り返しノイズのレベルを示すノイズレベル情報を、フィルタコード等のフィルタ識別情報と共に信号処理装置1740へと出力する。
図20は、本実施形態の第6変形例に係る折り返しノイズレベル決定部1960の構成を示す。折り返しノイズレベル決定部1960は、デコード部2070と、算出部2080とを含む。
デコード部2070は、フィルタコードをデコードして、フィルタコードに対応するフィルタ特性におけるデシメーションフィルタ200の折り返しノイズ減衰量を出力する。例えば、デコード部2070は、フィルタコードのとりうる各値について、フィルタコードの値に対応するフィルタ特性をデシメーションフィルタ200に設定した場合におけるデシメーションフィルタ200の折り返しノイズ減衰量を格納したテーブルを保持して、入力されるフィルタコードに対応する折り返しノイズ減衰量を出力してよい。これに代えて、デコード部2070は、フィルタ係数を含むフィルタパラメータ等を受け取る場合には、フィルタ係数を用いてデシメーションフィルタ200の折り返しノイズ減衰量を算出してもよい。
算出部2080は、デコード部2070に接続される。算出部2080は、レベルコードによって示された大きさの折り返しノイズが、デコード部2070から受け取った折り返しノイズ減衰量により減衰された場合に出力信号に残留する折り返しノイズのレベルを算出する。
例えば、算出部2080は、レベルコードが0.5であり、折り返しノイズ減衰量が1/10である場合に、出力信号に残留する折り返しノイズのレベルが0.05(0.5×1/10)であると算出する。このように算出部2080は、レベルコードによって示される検査対象成分の信号レベルに、折り返しノイズ減衰量を乗じることにより、出力信号に残留する折り返しノイズのレベルを算出してよい。また、レベルコードおよび折り返しノイズ減衰量の単位がdBである場合には、算出部2080は、レベルコードのdB値から折り返しノイズ減衰量のdB値を減じることにより、出力信号に残留する折り返しノイズのレベルを算出してよい。
算出部2080は、算出した折り返しノイズのレベルを示すノイズレベル情報を、フィルタコード等のフィルタ識別情報と共に信号処理装置1740へと出力する。ここで、算出部2080は、折り返しノイズのレベルを直接ノイズレベル情報として出力する代わりに、折り返しノイズのレベルを閾値と比較した結果(例えば、閾値より大きいかどうか)を示すノイズレベル情報、または折り返しノイズレベルを量子化したノイズレベル情報等を出力してもよい。
図21は、本実施形態の第6変形例に係るフィルタ/ノイズレベル情報の一例を示す。本変形例において、フィルタ/ノイズレベル情報は、FN1およびFN0の2ビットで表される。FN1は、ノイズレベル情報を示す。算出部2080は、折り返しノイズのレベルが-100dBFSを超える場合にFN1を0とし、折り返しノイズのレベルが-100dBFS以下の場合にFN1を1とする。
FN0は、フィルタ識別情報を示す。算出部2080は、例えばフィルタ1を指定するフィルタモード1においてはFN0を0とし、例えばフィルタ2を指定するフィルタモード2においてはFN0を1とする。デシメーションフィルタ200は、フィルタモードに応じて遅延量(遅延時間)が異なり、フィルタモード1の場合には出力信号のサンプリング周期(1/fs)の4サイクル分、フィルタモード2の場合には出力信号のサンプリング周期の6サイクル分となる。
本変形例に係る適応デシメーションフィルタ1830によれば、入力信号に応じたフィルタ特性の決定を信号処理装置1740で行なうことができ、信号処理システム1700の用途に応じて柔軟にデシメーションフィルタ200のフィルタ特性を変更することができる。また、適応デシメーションフィルタ1830は、出力信号に残留する折り返しノイズのレベルを示すノイズレベル情報を含むフィルタ/ノイズレベル情報を信号処理装置1740に提供するので、信号処理装置1740は、デシメーションフィルタ200に設定可能なフィルタ特性毎のノイズ減衰量および遅延量の具体的な値を知らなくても、フィルタ/ノイズレベル情報を用いて適切にデシメーションフィルタ200のフィルタ特性を決定することができる。
図22は、本実施形態の第7変形例に係る信号処理システム4200の構成を示す。例えばANC(アクティブ・ノイズ・コントロール)またはMFB(モーショナル・フィードバック)のようなリアルタイム信号処理アプリケーションにおいては、信号処理システムは、入力信号を受け取ってから信号処理済の出力信号を出力するまでの遅延時間を許容範囲内に抑える必要がある。特許文献2に記載のアクティブ・ノイズ・キャンセラは、ノイズキャンセリングの対象周波数が1KHz以下であるのに対し、384KHzという非常に高いオーバーサンプリング・データレートで動作することにより、デシメーションフィルタを使用しないようにして遅延時間を低減している。
しかし、特許文献2に記載のアクティブ・ノイズ・キャンセラにおいては、信号処理の対象周波数に対して非常に高いレートで信号処理を行なうので、消費電力が増加し、また高速な信号処理を行なうことができる信号処理回路が必要となってしまう。また、信号処理回路の動作周波数が高いと、大きなスイッチングノイズが発生し、ノイズキャンセリングを行なうためのフィードバックパスおよびフィードフォワードパスに干渉してノイズキャンセリング性能が劣化してしまう可能性がある。
本変形例に係る信号処理システム4200は、入力信号の特性に応じてフィルタ特性および遅延時間を調整することができる適応デシメーションフィルタ装置4230を用いて、比較的低いデータレートで信号処理を行なうことを可能とする。そして、信号処理システム4200は、信号処理装置4240において適応デシメーションフィルタ装置4230のフィルタ特性に適応した信号処理を行なうことにより、デシメーション処理および信号処理のバランスを調整して与えられた遅延時間の制限の中でより好適な信号処理出力を生成することを可能とする。
本変形例に係る信号処理システム4200は、図17から21に示した信号処理システム1700の変形例であるから、以下相違点を除き説明を省略する。信号処理システム4200においては、信号処理システム10の適応フィルタ装置30に対応する適応デシメーションフィルタ装置4230内で入力信号に応じたフィルタ特性を決定するのに代えて、信号処理装置4240がフィルタ特性を決定する。
信号処理システム4200は、AD変換器20と、適応デシメーションフィルタ装置4230と、信号処理装置4240とを備える。AD変換器20は、図1に示したAD変換器20と同様であり、アナログの入力信号をデジタルの入力信号に変換して適応デシメーションフィルタ装置4230に供給する。
適応デシメーションフィルタ装置4230は、図17から21に関連して示した適応デシメーションフィルタ装置1730と同様の機能および構成を有するので、以下相違点を除き説明を省略する。適応デシメーションフィルタ装置4230は、フィルタ入力信号(入力信号)をダウンサンプリングしたフィルタ出力信号(出力信号)を出力する。
図18に示したように、適応デシメーションフィルタ装置4230は、デシメーションフィルタ200と、折り返しノイズ検出部1810とを有してよい。デシメーションフィルタ200は、入力信号をダウンサンプリングした出力信号を出力する。デシメーションフィルタ200は、フィルタパラメータの一例としてフィルタコードを受け取って、フィルタコードに応じたフィルタ特性に設定される。
折り返しノイズ検出部1810は、ダウンサンプリングによりデシメーションフィルタ200の出力信号におけるナイキスト周波数未満の周波数に折り返す折り返しノイズの大きさを検出する。折り返しノイズ検出部1810は、折り返しノイズのレベルを示すノイズレベル情報を信号処理装置4240へと出力する。また、折り返しノイズ検出部1810は、デシメーションフィルタ200に設定されたフィルタ特性を識別するフィルタ識別情報を信号処理装置4240へと出力してよい。ここで、フィルタ特性は、デシメーションフィルタ200の次数を含む。図18に示したように、折り返しノイズ検出部1810は、ノイズレベル情報およびフィルタ識別情報を含むフィルタ/ノイズレベル情報を信号処理装置4240へと出力してよい。図22においては、フィルタ/ノイズレベル情報の一例としてのデータをFNコード(フィルタ/ノイズコード)と示す。
図19に示したように、折り返しノイズ検出部1810は、ノイズ検出部620と、折り返しノイズレベル決定部1960とを含んでよい。ノイズ検出部620は、入力信号における、ナイキスト周波数以上の少なくとも一部の周波数の信号レベル、すなわち検査対象成分の信号レベルを検出する。折り返しノイズレベル決定部1960は、ノイズ検出部620が検出した検査対象成分の信号レベルのノイズが、フィルタ特性が調整されたデシメーションフィルタ200によって減衰された場合にデシメーションフィルタ200の出力信号に残留する折り返しノイズの大きさを算出する。折り返しノイズレベル決定部1960は、図20に示した構成をとってよい。
信号処理装置4240は、図17に示した信号処理装置1740の変形例である。信号処理装置4240は、適応デシメーションフィルタ装置4230の出力信号およびフィルタ識別情報を適応デシメーションフィルタ装置4230から受け取る。信号処理装置4240は、適応デシメーションフィルタ装置4230の出力信号に対して、デシメーションフィルタ200の次数を含むフィルタ特性を識別するフィルタ識別情報に応じた信号処理を行なって、信号処理の結果を出力する。
信号処理装置4240は、適応フィルタ部4250と、フィルタ制御部4255とを有する。適応フィルタ部4250は、適応デシメーションフィルタ装置4230の出力信号に対してフィルタ処理を行なう。適応フィルタ部4250は、適応デシメーションフィルタ装置4230の出力信号に対して、フィルタ識別情報に応じたフィルタ処理を行なってよい。
フィルタ制御部4255は、適応デシメーションフィルタ装置4230から受け取る折り返しノイズの大きさ(ノイズレベル情報)に基づいて、適応デシメーションフィルタ装置4230内のデシメーションフィルタ200のフィルタ特性を調整する。これにより、フィルタ制御部4255は、折り返しノイズの大きさに基づいて、デシメーションフィルタ200の次数を調整してよい。フィルタ制御部4255は、デシメーションフィルタ200に設定すべきフィルタ特性に応じたフィルタパラメータを適応デシメーションフィルタ装置4230に供給することにより、デシメーションフィルタ200のフィルタ特性を設定する。ここで、フィルタパラメータは、デシメーションフィルタ200に設定すべき各フィルタ次数/係数を含んでよい。
図23は、本実施形態の第7変形例に係る適応フィルタ部4250の構成を示す。適応フィルタ部4250は、複数のフィルタ4400-1~2(「フィルタ4400」とも示す。)と、選択部4410とを含む。
複数のフィルタ4400のそれぞれは、適応デシメーションフィルタ装置4230からの出力信号に対して、信号処理システム4200の使用目的に応じたフィルタ処理を行なう。例えば、信号処理システム4200がANCに用いられる場合、各フィルタ4400は、入力信号をダウンサンプリングした出力信号を受け取って、出力信号に含まれるノイズを除去するためのノイズキャンセリング信号を生成するフィルタ処理を行なう。複数のフィルタ4400は、互いに異なるフィルタ特性を有してよい。
選択部4410は、適応デシメーションフィルタ装置4230からのフィルタ識別情報に基づいて、複数のフィルタ4400の中からフィルタ処理を行なうフィルタ4400を選択する。本図の例において、選択部4410は、適応デシメーションフィルタ装置4230からのFNコードのうちのFN0に応じて、適応デシメーションフィルタ装置4230からの出力信号を複数のフィルタ4400のうちのいずれに供給するかを切り替える。また、選択部4410は、複数のフィルタ4400のうち、適応デシメーションフィルタ装置4230からの出力信号の信号処理を行なったフィルタ4400の出力を、選択部4410の出力として選択する。
ここで、適応フィルタ部4250は、フィルタ識別情報の種類毎に1つのフィルタ4400を含んでよい。この場合、選択部4410は、適応デシメーションフィルタ装置4230からのフィルタ識別情報に対応付けられた1つのフィルタ4400を選択することができる。これに代えて、適応フィルタ部4250は、フィルタ識別情報の種類毎に2以上のフィルタ4400を含んでもよい。この場合、選択部4410は、適応デシメーションフィルタ装置4230からのフィルタ識別情報に対応付けられた2以上のフィルタ4400の中から、信号処理システム4200に設定された動作モード、入力信号の特性、およびその他の条件に応じて使用するフィルタ4400を選択してよい。
以上に示した構成に代えて、適応フィルタ部4250は、フィルタ係数等のフィルタパラメータのセットを変更可能なフィルタ処理装置を有してよい。この場合、選択部4410は、フィルタ識別情報に応じてフィルタ処理装置に設定するフィルタパラメータのセットを切り替えることにより、フィルタ処理装置を、フィルタ識別情報に応じたフィルタ4400として動作させてよい。
図24は、本実施形態の第7変形例に係る信号処理システム4200の動作フローを示す。本図の動作フローは、図8に示した動作フローの変形例であるから、以下相違点を除き説明を省略する。
S800において、AD変換器20は、アナログの入力信号をサンプリングすることにより、デジタルの入力信号に変換する。S810において、適応デシメーションフィルタ装置4230内のノイズ検出部620は、図8のS810と同様にして、入力信号における、ナイキスト周波数以上の少なくとも一部の周波数の信号レベルを検出する。
S4515において、適応デシメーションフィルタ装置4230内の折り返しノイズレベル決定部1960は、ノイズ検出部620が検出した信号レベルに基づいて、デシメーションフィルタ200の出力信号に残留する折り返しノイズの大きさを算出する。折り返しノイズレベル決定部1960は、折り返しノイズの大きさを示すノイズレベル情報とフィルタ識別情報とを含むフィルタ/ノイズレベル情報を信号処理装置4240へと出力する。このフィルタ/ノイズレベル情報は、例えば図21に示したFNコードである。
S4520は、図8のS820の変形例である。S4520においては、信号処理装置4240内のフィルタ制御部4255が、ノイズレベル情報およびフィルタ識別情報に基づいて、デシメーションフィルタ200に設定するフィルタ特性を決定する。本変形例において、フィルタ制御部4255は、適応デシメーションフィルタ装置4230からのノイズレベル情報およびフィルタ識別情報に基づいて、デシメーションフィルタ200のフィルタ特性を決定する。これに代えて、フィルタ制御部4255は、フィルタ制御部4255自身がデシメーションフィルタ200に設定したフィルタ識別情報を保持し、このフィルタ識別情報を用いてフィルタ特性を決定してもよい。
フィルタ制御部4255は、折り返しノイズがより大きい場合に、調整対象成分の減衰量がより大きい代わりに遅延時間がより長くなるフィルタ特性を決定してよい。フィルタ制御部4255は、折り返しノイズがより小さい場合に、調整対象成分の減衰量がより小さいが遅延時間をより短くするフィルタ特性を決定してよい。本変形例において、フィルタ制御部4255は、折り返しノイズの大きさに基づいて、デシメーションフィルタ200の次数を含むフィルタ特性を決定する。フィルタ制御部4255は、折り返しノイズの大きさが予め定められた基準より大きい場合に、ある第1フィルタ特性をデシメーションフィルタ200に設定することを決定し、折り返しノイズの大きさが基準以下の場合に、次数が第1フィルタ特性よりも小さい第2フィルタ特性をデシメーションフィルタ200に設定することを決定してよい。
ここで、折り返しノイズの大きさは、フィルタ特性を設定済みのデシメーションフィルタ200によるものである。したがって、フィルタ制御部4255は、折り返しノイズの大きさが予め定められた上限値より大きい場合に、現在のフィルタ特性よりも調整対象成分の減衰量が大きいフィルタ特性をデシメーションフィルタ200に設定することを決定してよい。また、フィルタ制御部4255は、折り返しノイズの大きさが予め定められた下限値より小さい場合に、現在のフィルタ特性よりも調整対象成分の減衰量が小さいフィルタ特性をデシメーションフィルタ200に設定することを決定してよい。これにより、フィルタ制御部4255は、折り返しノイズの大きさを下限値から上限値までの間に保つようにデシメーションフィルタ200のフィルタ特性を決定することができ、折り返しノイズの大きさを十分に抑えつつ、デシメーションフィルタ200の遅延量を小さく保つことができる。
フィルタ制御部4255は、複数のフィルタ特性のうち、折り返しノイズの大きさを予め定められた基準以下とし、かつデシメーションフィルタ200の遅延時間を最小とする次数のフィルタ特性をデシメーションフィルタ200に設定することを決定してもよい。例えば調整対象成分の減衰量が-20dBの第1フィルタ特性、-40dBの第2フィルタ特性、-60dBの第3フィルタ特性が選択可能であり、折り返しノイズの大きさの上限値が-60dBFSであるとする。ここで現在第3フィルタ特性を選択しており折り返しノイズの大きさが-80dBFS~-100dBFSであったとすると、フィルタ制御部4255は、折り返しノイズの大きさが上限よりも20dBFS小さいので、折り返しノイズの大きさが20dBFS増加する第2フィルタ特性を選択することができる。
また、フィルタ制御部4255は、デシメーションフィルタ200の次数またはその他のフィルタ特性の調整に応じて、デシメーションフィルタ200が出力する出力信号の位相を調整してもよい。フィルタ制御部4255は、フィルタ識別情報に応じて、デシメーションフィルタ200が出力する出力信号の位相を調整してもよい。例えば、フィルタ制御部4255は、適応デシメーションフィルタ装置4230からのフィルタ識別情報からデシメーションフィルタ200の次数または遅延量を判別して、その次数または遅延量を増加または減少させるフィルタ特性を決定してデシメーションフィルタ200に設定してよい。これにより、信号処理装置4240は、S4550に関して後述するように、適応フィルタ部4250のフィルタ特性を固定としたまま信号処理装置4240の出力の位相を調整して、目標とする位相に合わせ込むことができる。
S4530は、図8のS830の変形例である。S4530においては、信号処理装置4240内のフィルタ制御部4255が、決定したフィルタ特性をデシメーションフィルタ200に設定する。これにより、フィルタ制御部4255は、折り返しノイズ検出部1810が検出した折り返しノイズの大きさに応じてデシメーションフィルタ200の次数および調整対象成分の減衰量を調整することができる。
フィルタ制御部4255は、図8のS830と同様に、適応デシメーションフィルタ装置4230からの出力信号の正負が切り替わるゼロクロスタイミングを検出し、ゼロクロスタイミングに応じてフィルタ特性を変更してもよい。これに代えて、フィルタ制御部4255からフィルタ特性の設定を受けた適応デシメーションフィルタ装置4230が、フィルタ入力信号の正負が切り替わるゼロクロスタイミングを検出し、ゼロクロスタイミングに応じてフィルタ特性を変更してもよい。
また、フィルタ制御部4255または適応デシメーションフィルタ装置4230は、デシメーションフィルタ200のフィルタ特性を、現在のフィルタ特性から目標とするフィルタ特性になるまで段階的に変化させてもよい。これにより、フィルタ制御部4255または適応デシメーションフィルタ装置4230は、出力信号の信号処理結果に応じて発生されるノイズキャンセリング信号等の音声信号に生じる違和感を抑制することができる。
S840は、図8のS840と同様である。S840において、適応デシメーションフィルタ装置4230は、入力信号の特性に基づいて決定したフィルタ特性が設定されたデシメーションフィルタ200を用いて入力信号をダウンサンプリングする。適応デシメーションフィルタ装置4230は、デシメーションフィルタ200の出力信号と、ノイズレベル情報とデシメーションフィルタ200のフィルタ特性を識別するフィルタ識別情報とを信号処理装置4240へと出力する。
S4550において、信号処理装置4240は、適応デシメーションフィルタ装置4230の出力信号に対して、フィルタ識別情報に応じた信号処理を実行して、信号処理の結果を出力する。適応デシメーションフィルタ装置4230は、入力信号の特性に適したデシメーション処理を行なうところ、適応デシメーションフィルタ装置4230が入力信号を受け取ってから出力信号を出力するまでの遅延時間は、デシメーション処理の種類によって異なる。リアルタイム信号処理においては、信号処理システム4200全体の信号処理の遅延時間に上限があり、入力に対して予め定められた位相の信号処理結果を出力することが要求されるので、信号処理装置4240は、適応デシメーションフィルタ装置4230におけるデシメーション処理の種類に応じて、信号処理の種類を変更する。
フィルタ制御部4255が入力信号の特性に基づいてデシメーションフィルタ200の次数を調整する場合、適応フィルタ部4250は、デシメーションフィルタ200の出力信号に対してフィルタ識別信号に応じて位相を調整するとともに、目的とする信号処理を行なう。このために、適応フィルタ部4250は、フィルタ識別情報に応じて、次数の調整に伴うデシメーションフィルタ200の遅延時間の変化を相殺するフィルタ処理を行なうフィルタ4400を選択してよい。これにより、適応フィルタ部4250は、デシメーションフィルタ200の遅延時間がより長い場合には信号処理時間がより短いフィルタ4400を選択して、信号処理システム4200全体の遅延時間を上限値以下に抑えることができる。また、適応フィルタ部4250は、デシメーションフィルタ200の遅延時間がより短い場合には信号処理時間がより長いがより高精度のフィルタ4400を選択して、信号処理システム4200全体の遅延時間を上限値以下に抑えながらより高精度の信号処理結果を出力することができる。
また、適応フィルタ部4250は、デシメーションフィルタ200の遅延時間がより短い場合にも、遅延時間が比較的短いフィルタ4400を選択するようにしてもよい。この場合、信号処理システム4200は、デシメーションフィルタ200の遅延時間が短い場合には信号処理システム4200全体の信号処理時間を短くして、信号処理システム4200への入力に対してより高速に応答する出力を生成することができる。
また、図35に示したように、信号処理装置4240は、インターポレーションフィルタおよびDA変換器6000を搭載してもよい。図22に関連して説明したように、アクティブノイズキャンセラは、ノイズキャンセリングの対象周波数が例えば1kHz以下であるから、信号処理装置4240は例えば2kHzのような比較的低いデータレートで信号処理を行なうようにすることが通常好まれる。その一方で、DA変換器は、音質を向上させるために例えば可聴周波数帯域の19倍程度(384KHz)以上といった比較的高いデータレートでの動作が求められるので、信号処理回路のデータレートとDA変換器のデータレートとの間に乖離が生じる。従って、信号処理回路4240は、適応フィルタ部4250等の信号処理回路を比較的低いデータレートで動作させる場合には、信号処理回路のデータレートを比較的高いデータレートに変換するためにアップサンプリングを行なう必要がある。アップサンプリングの際にアップサンプリングによるイメージ成分が生じないようにインターポレーションフィルタが導入されるが、このインターポレーションフィルタの遅延時間もインターポレーションフィルタの設定に依存する。したがって、図35に示した信号処理システム4200の変形例に係る信号処理装置4240は、フィルタ制御部4255が出力するフィルタパラメータを用いてインターポレーションフィルタおよびDA変換器6000におけるインターポレーションフィルタのフィルタ特性を設定する。これにより、信号処理装置4240は、フィルタ制御部4255が適応デシメーションフィルタ装置4230の遅延時間を短く設定する場合に、これと連動してインターポレーションフィルタの遅延時間も短く設定することが可能となり、信号処理システム4200への入力に対して更に高速に応答する出力を生成することもできる。
また、適応フィルタ部4250は、適応デシメーションフィルタ装置4230から出力されるフィルタ識別信号を用いずに、デシメーションフィルタ200の遅延時間によらずフィルタ処理のフィルタ特性を制御してもよい。フィルタ制御部4255は、信号処理装置4240の出力が有すべき位相に応じてデシメーションフィルタ200の遅延時間を調整するように制御することで、適応フィルタ部4250においてデシメーションフィルタ200の遅延時間の変化を相殺せずに、フィルタ処理を行うこともできる。このようにすることで、フィルタ制御部4255は、AD変換器20から信号処理装置4240の出力までの遅延時間をデシメーションフィルタ200の遅延時間を調整した分だけ調整することが可能となる。
また、信号処理装置4240は、適応デシメーションフィルタ装置4230を制御することで、AD変換器20から信号処理装置4240の出力までの遅延時間を任意に制御することが可能となる。例えば、信号処理装置4240は、適応フィルタ部4250のフィルタ特性を固定としたままで、デシメーションフィルタ200の遅延時間を調整することにより、信号処理装置4240の出力が目標とする信号に最も近くなるように位相を合わせ込むことができる。信号処理装置4240は、信号処理装置4240の出力の位相を調整した後に、適応フィルタ部4250のフィルタ特性を更に調整することにより、信号処理装置4240の出力を目標とする信号に更に近付けるように最適化してもよい。このようにして、信号処理システム4200は、ANCシステムのように出力の位相調整が求められるシステムにおいて、出力の位相調整の精度を向上することができ、ノイズキャンセリングの性能を向上することができる。
以上に示した信号処理システム4200によれば、信号処理装置4240側で入力信号の特性に適応してデシメーションフィルタ200のフィルタ特性を変更し、デシメーションフィルタ200に設定したフィルタ特性に応じた信号処理を行なうことができる。これにより、信号処理システム4200は、出力信号を目標となる値に近付けるように、デシメーション処理および信号処理の両方を最適化することも可能となる。
また、図17の信号処理システム1700と同様に、信号処理システム4200は、入力信号に応じたフィルタ特性の決定およびフィルタ特性の設定に関する処理を信号処理装置4240側で行なうので、適応デシメーションフィルタ装置4230の構成を簡略化することができる。また信号処理装置4240は、DSP等を用いることにより、例えば適応デシメーションフィルタ装置4230の入力信号または出力信号を離散フーリエ変換(DFT)して解析する等のより高度な解析処理の結果を用いてデシメーションフィルタ200のフィルタ特性を決定することも可能となる。
図25は、本実施形態の第8変形例に係る信号処理システム4600の構成を示す。信号処理システム4600は、図17から21に示した信号処理システム1700および図22に示した信号処理システム4200の変形例であるから、以下相違点を除き説明を省略する。信号処理システム4600は、AD変換器20と、適応デシメーションフィルタ装置4230と、データエンコーダ4635と、信号処理装置4640とを備える。AD変換器20は、図17および図22に示したAD変換器20と同様であり、アナログの入力信号をデジタルの入力信号に変換して適応デシメーションフィルタ装置4230に供給する。
適応デシメーションフィルタ装置4230は、図22に示した適応デシメーションフィルタ装置4230と同様である。適応デシメーションフィルタ装置4230は、フィルタ入力信号(入力信号)をダウンサンプリングしたフィルタ出力信号(出力信号)を出力する。ここで、適応デシメーションフィルタ装置4230は、信号処理装置4640によって調整されたフィルタ特性を用いて適応デシメーションフィルタ処理を行なう。
データエンコーダ4635は、適応デシメーションフィルタ装置4230に接続される。データエンコーダ4635は、適応デシメーションフィルタ装置4230から出力信号(フィルタ出力信号)およびフィルタ/ノイズレベル情報を受け取ってエンコードすることにより、信号処理装置4640宛のデータを生成する。
信号処理装置4640は、データエンコーダ4635に接続される。信号処理装置4640は、データエンコーダ4635によりエンコードされたデータを受け取って信号処理を行なう。信号処理装置4640は、その他の点については図22に示した信号処理装置4240と同様である。
図26は、データエンコーダ4635によりエンコードされるデータの第1例を示す。サンプリングクロックLRCKは、適応デシメーションフィルタ装置4230の出力信号および信号処理装置4640の出力のサンプリング周波数fsを有するクロック信号である。データ転送クロックBICKは、データエンコーダ4635から信号処理装置4640へのデータ転送に用いるクロックであり、データ転送の1サイクルに応じたクロック周期を有する。本実施形態において、サンプリングクロックLRCKおよびデータ転送クロックBICKは、一例として、オーディオ用途で用いられるチャネルクロックLRCKおよびオーディオシリアルデータクロックBICKである。これに代えて、サンプリングクロックLRCKおよびデータ転送クロックBICKは、他の用途のサンプリングクロックおよびデータ転送クロックであってよい。
本図の例においては、データ転送クロックBICKは、サンプリングクロックLRCKの192倍の周波数を有する。データ転送クロックBICKをサンプリングクロックLRCKに対してより高くすることにより、データエンコーダ4635が出力するデータの転送遅延量をより減らすことができる。
データエンコーダ4635は、サンプリングクロックLRCKが立ち上がったこと(あるいは、立ち下がったこと)に応じてサンプリング周期1周期分のデータ転送処理を開始する。データエンコーダ4635は、データ転送処理において、適応デシメーションフィルタ装置4230の出力信号(本図においてビット23~0の24ビット)およびFNコード(本図においてFN1~0の2ビット)を含むデータパケットを、データ転送クロックBICKの1周期あたり1ビットずつ出力する。ここで、データエンコーダ4635は、信号処理装置4640における信号処理に使用可能な時間をより長くするために、信号処理装置4640の出力サイクル期間(サンプリングクロックLRCKの1周期)の前半に、デシメーションフィルタ200の出力信号およびFNコードを含むデータを信号処理装置4640へと出力する。本図の例において、データエンコーダ4635は、サンプリング周期の開始直後にデータ転送を開始し、データ転送クロックBICKと同期して、出力信号のビット23~0と、FNコードFN1~0とを順に1ビットずつ送信する。
信号処理装置4640は、適応デシメーションフィルタ装置4230からの出力信号およびFNコードを含むデータをデータエンコーダ4635を介して受け取ると、サンプリング周期に対応する信号処理を開始する。本図の例においては、信号処理装置4640は、データパケットを受け取ったサンプリング周期内に信号処理を行ない、信号処理結果のデータを出力する。すなわち、信号処理装置4640は、信号処理装置4640の出力サイクル期間内に、デシメーションフィルタ200の出力信号およびフィルタ識別情報を入力し、入力したデシメーションフィルタ200の出力信号およびフィルタ識別情報に応じた信号処理を行ない、信号処理によって生成された信号を出力する。
以上に示したデータエンコーダ4635によれば、サンプリングクロックLRCKよりも周波数が高いデータ転送クロックBICKを用いて適応デシメーションフィルタ装置4230の出力信号およびフィルタコードを含むデータパケットを信号処理装置4640へと送信することができる。これにより、信号処理装置4640は、サンプリング周期の中でデータパケットを受け取った後に一部または全ての信号処理を行なうことができる。
図27は、データエンコーダ4635によりエンコードされるデータの第2例を示す。本図において、信号処理システム4600は、複数チャネルの信号を入力して信号処理を行ない、複数チャネル分の信号処理結果を出力する。本図の例においては、AD変換器20は、2チャネルのアナログ入力信号を2チャネルのデジタル入力信号に変換する。適応デシメーションフィルタ装置4230は、AD変換器20からの複数チャネルの入力信号をダウンサンプリングした複数チャネルの出力信号を出力する。ここで、適応デシメーションフィルタ装置4230は、信号処理装置4640によって調整されたフィルタ特性を用いて適応デシメーションフィルタ処理を行なう。信号処理装置4640は、複数チャネルの入力信号に対して、それぞれの入力信号の特性に応じて異なるフィルタ特性をデシメーションフィルタ200に設定してよい。
本図の例において、データエンコーダ4635は、複数チャネルのそれぞれについて、デシメーションフィルタ200の出力信号およびフィルタ/ノイズレベル情報を含むデータを図26と同様にして出力する。データエンコーダ4635は、複数チャネル分のデータパスを用いて、複数チャネル分のデータパケットを並列に出力する。信号処理装置4640は、複数チャネルのそれぞれのデータパケットを受け取ると、複数チャネルのそれぞれについて、図26と同様に信号処理を行なって、複数チャネルのそれぞれの信号処理結果を出力する。
図28は、データエンコーダ4635によりエンコードされるデータの第3例を示す。本図においても、信号処理システム4600は、図27と同様に、複数チャネルの信号を入力して信号処理を行ない、複数チャネル分の信号処理結果を出力する。本図の例においては、データエンコーダ4635は、複数チャネルで共用されるデータパスを有し、サンプリング周期中に複数チャネル分のデータパケット(デシメーションフィルタ200の出力信号およびFNコードを含むデータパケット)をマルチプレクスして信号処理装置4640へと出力する。信号処理装置4640は、各チャネルのデータパケットを受信する度に、そのチャネルの信号処理を開始してよい。これに代えて、信号処理装置4640は、全てのチャネルのデータパケットを受信してから複数チャネル分の信号処理を開始してもよい。なお、本図の例においては、データ転送クロックBICKは、サンプリングクロックLRCKの384倍の周波数を有する。
図26から28において、適応デシメーションフィルタ装置4230の出力信号のクロックがサンプリングクロックLRCKである場合、適応デシメーションフィルタ装置4230は、ある時点の入力信号を入力してからその入力信号の影響を受けた出力信号を出力するまでに、デシメーション前の入力信号のサンプリング周期にデシメーションフィルタ200の次数の1/2を乗じた大きさの遅延を有する。したがって、適応デシメーションフィルタ装置4230が入力信号を入力してから信号処理装置4640が信号処理結果を出力するまでの遅延時間は、信号処理装置4640の信号処理サイクル数×サンプリング周期に、入力信号のサンプリング周期×デシメーションフィルタ200の次数/2を加えた時間となる。
図26から28の例においては、信号処理装置4640は、各サンプリング周期に受信するデータパケットに含まれる出力信号およびFNコードを反映した信号処理をサンプリング周期内に実行して、信号処理結果を出力する。すなわち、図26から28の例においては、信号処理装置4640の信号処理遅延はサンプリング周期1サイクル分であり、デシメーションフィルタ200のフィルタ特性によらず一定である。
例えばノイズキャンセリングにおいては、信号処理システム4600は、ノイズ音が対象位置に到達するタイミングに同期して、ノイズ音とは位相が180°異なるノイズキャンセリング音を対象位置に届けるようにノイズキャンセリング信号を出力する。このようなリアルタイム信号処理においては、信号処理装置4640は、デシメーションフィルタ200のフィルタ特性に応じて信号処理システム4600の遅延時間が変化したとしても、信号処理システム4600の出力信号に応じた信号が対象に到達する時点での位相が変化しないようにする。これを実現するために、信号処理装置4640は、デシメーションフィルタ200の遅延時間または次数に応じた位相の変化を相殺するように、各フィルタ4400が出力する信号の位相を異ならせてよい。
図29は、本実施形態の第9変形例に係る信号処理システム5000の構成を示す。信号処理システム5000は、図17から21に示した信号処理システム1700、図22に示した信号処理システム4200、および図25に示した信号処理システム4600の変形例であるから、以下相違点を除き説明を省略する。信号処理システム5000は、図25のデータエンコーダ4635に対応するデータエンコーダ5035が、適応デシメーションフィルタ装置4230の出力信号をエンコードし、FNコードはエンコードしないようにしている。
信号処理システム5000は、AD変換器20と、適応デシメーションフィルタ装置4230と、データエンコーダ5035と、信号処理装置5040とを備える。AD変換器20および適応デシメーションフィルタ装置4230は、図25に示したAD変換器20および適応デシメーションフィルタ装置4230と同様である。
データエンコーダ5035は、適応デシメーションフィルタ装置4230に接続される。データエンコーダ5035は、適応デシメーションフィルタ装置4230から出力信号(フィルタ出力信号)を受け取ってエンコードすることにより、信号処理装置5040宛のデータを生成する。データエンコーダ5035は、適応デシメーションフィルタ装置4230からのフィルタ/ノイズレベル情報(FNコード)をエンコードしない。
信号処理装置5040は、適応デシメーションフィルタ装置4230およびデータエンコーダ5035に接続される。信号処理装置5040は、データエンコーダ5035によりエンコードされたデータと、適応デシメーションフィルタ装置4230が出力するフィルタ/ノイズレベル情報とを受け取って信号処理を行なう。信号処理装置5040は、その他の点については図22に示した信号処理装置4240および図25に示した信号処理装置4640と同様である。
図30は、データエンコーダ5035によりエンコードされるデータの第1例を示す。本図の例は、図26に示したデータの変形例であるから、以下相違点を除き説明を省略する。本図の例においては、適応デシメーションフィルタ装置4230は、サンプリングクロックLRCKによって規定されるサンプリング周期の間、FNコードをデータエンコーダ5035を介さずに信号処理装置5040に供給する。
データエンコーダ5035は、サンプリングクロックLRCKが立ち上がったこと(あるいは、立ち下がったこと)に応じてサンプリング周期1周期分のデータ転送処理を開始する。データエンコーダ5035は、データ転送処理において、適応デシメーションフィルタ装置4230の出力信号(本図においてビット23~0の24ビット)を含むデータパケットを、データ転送クロックBICKの1周期あたり1ビットずつ出力する。ここで、データエンコーダ5035は、信号処理装置5040における信号処理に使用可能な時間をより長くするために、サンプリングクロックLRCKの1周期の前半にデータ転送を行なう。本図の例において、データエンコーダ5035は、サンプリング周期の開始直後にデータ転送を開始し、データ転送クロックBICKと同期して、出力信号のビット23~0をこの順に1ビットずつ送信する。
信号処理装置5040は、適応デシメーションフィルタ装置4230からのFNコードを受け取り、適応デシメーションフィルタ装置4230からの出力信号を含むデータをデータエンコーダ5035を介して受け取ると、サンプリング周期に対応する信号処理を開始する。本図の例においては、信号処理装置5040は、データパケットを受け取ったサンプリング周期内に信号処理を行ない、信号処理結果のデータを出力する。
図31は、データエンコーダ5035によりエンコードされるデータの第2例を示す。本図の例は、図27および図30に示した例の変形例であるから、以下相違点を除き説明を省略する。本図において、信号処理システム5000は、複数チャネルの信号を入力して信号処理を行ない、複数チャネル分の信号処理結果を出力する。本図の例においては、AD変換器20は、2チャネルのアナログ入力信号を2チャネルのデジタル入力信号に変換する。適応デシメーションフィルタ装置4230は、AD変換器20からの複数チャネルの入力信号をダウンサンプリングした複数チャネルの出力信号を出力する。ここで、適応デシメーションフィルタ装置4230は、信号処理装置5040によって調整されたフィルタ特性を用いて適応デシメーションフィルタ処理を行なう。信号処理装置5040は、複数チャネルの入力信号に対して、それぞれの入力信号の特性に応じて異なるフィルタ特性をデシメーションフィルタ200に設定してよい。
本図の例において、適応デシメーションフィルタ装置4230は、複数チャネルのそれぞれについて、FNコードを、データエンコーダ5035を介さずに信号処理装置5040に供給する。データエンコーダ5035は、複数チャネルのそれぞれについて、デシメーションフィルタ200の出力信号を含むデータを図30と同様にして出力する。本図の例において、データエンコーダ5035は、複数チャネル分のデータパスを用いて、複数チャネル分のデータパケットを並列に出力する。信号処理装置5040は、複数チャネルのそれぞれのFNコードおよびデータパケットを受け取ると、複数チャネルのそれぞれについて、図27および図30と同様に信号処理を行なって、複数チャネルのそれぞれの信号処理結果を出力する。
図32は、データエンコーダ5035によりエンコードされるデータの第3例を示す。本図の例は、図28および図31に示した例の変形例であるから、以下相違点を除き説明を省略する。本図においても、信号処理システム5000は、図31と同様に、複数チャネルの信号を入力して信号処理を行ない、複数チャネル分の信号処理結果を出力する。本図の例においては、データエンコーダ5035は、複数チャネルで共用されるデータパスを有し、サンプリング周期中に複数チャネル分のデータパケット(デシメーションフィルタ200の出力信号を含むデータパケット)をマルチプレクスして信号処理装置5040へと出力する。また、適応デシメーションフィルタ装置4230は、FNコードを伝送するパスを複数チャネルで共用し、サンプリング周期中に複数チャネル分のFNコードをマルチプレクスして、データエンコーダ5035を介さずに信号処理装置5040へと出力する。
図33は、本実施形態の第10変形例に係るANCシステム5400の構成を示す。ANCシステム5400は、ある特定の対象位置におけるノイズ音を消音する。ANCシステム5400は、フィードフォワード制御およびフィードバック制御の両方を用いる。ANCシステム5400は、フィードフォワード制御により、ノイズ発生源の振動等を検出して、ノイズ音が対象位置に到達するまでの間にノイズ音と逆相のアンチノイズ音を生成して対象位置に伝達させる。ANCシステム5400は、フィードバック制御により、対象位置におけるノイズ音を検出して、ノイズ音を低減させるアンチノイズ音を生成して対象位置に伝達させる。
ANCシステム5400は、センサ5410と、信号処理システム4200aと、DA変換器5470と、スピーカ5480と、マイク5420と、信号処理システム4200bとを備える。センサ5410、信号処理システム4200a、DA変換器5470、およびスピーカ5480は、フィードフォワード制御に用いられる。マイク5420、信号処理システム4200b、DA変換器5470、およびスピーカ5480は、フィードバック制御に用いられる。信号処理システム4200aおよび信号処理システム4200bが有する信号処理装置4240と、DA変換器5470と、スピーカ5480とは、フィードフォワード制御及びフィードバック制御で共用される。
センサ5410は、例えば車両のエンジンまたはモータのようなノイズ音を発生するノイズ発生源の近傍に設置される。センサ5410は、加速度センサまたは回転角センサ等の、ノイズの原因となるノイズ発生源の動きを検出するセンサであってよく、マイク等の、ノイズ発生源が発生するノイズ音を検出するセンサであってもよい。センサ5410は、検出したノイズ成分を含むアナログの信号を信号処理システム4200aに供給する。
信号処理システム4200aは、センサ5410に接続される。本変形例において、信号処理システム4200aは、図22に示した信号処理システム4200である。ANCシステム5400は、信号処理システム4200aの代わりに、図17の信号処理システム1700、図25の信号処理システム4600、図29の信号処理システム5000、またはこれらの変形例を用いてよい。信号処理システム4200aは、信号処理システム4200のAD変換器20に対応するAD変換器20aと、信号処理システム4200の適応デシメーションフィルタ装置4230に対応する適応デシメーションフィルタ装置4230aと、信号処理システム4200の信号処理装置4240に対応する信号処理装置4240とを有する。
AD変換器20aは、ノイズ成分を含むアナログの信号をデジタルの信号に変換してフィルタ入力信号(入力信号)として適応デシメーションフィルタ装置4230aに供給する。適応デシメーションフィルタ装置4230aは、信号処理装置4240によってフィルタ特性が調整されたデシメーションフィルタ200を用いて、フィルタ入力信号(入力信号)をダウンサンプリングしたフィルタ出力信号(出力信号)を出力する。また、適応デシメーションフィルタ装置4230aは、ダウンサンプリングによりデシメーションフィルタ200の出力信号におけるナイキスト周波数未満の周波数に折り返す折り返しノイズの大きさを検出する。
信号処理装置4240は、適応デシメーションフィルタ装置4230aの出力信号およびフィルタ/ノイズレベル情報を適応デシメーションフィルタ装置4230aから受け取る。信号処理装置4240は、適応デシメーションフィルタ装置4230a内のデシメーションフィルタ200の出力信号に対してフィルタ識別情報に応じた信号処理(ノイズキャンセリング処理)を行なって、ノイズ成分を低減するためのノイズキャンセリング信号を生成する。信号処理装置4240は、生成したノイズキャンセリング信号を含むデジタル出力をDA変換器5470に供給する。また、信号処理装置4240は、ノイズレベル情報またはフィルタ識別情報のうちの少なくとも1つに基づいて、デシメーションフィルタ200のフィルタ特性を調整する。
DA変換器5470は、信号処理装置4240に接続される。DA変換器5470は、信号処理装置4240からのノイズキャンセリング信号を含むデジタル出力をアナログ出力に変換する。スピーカ5480は、センサ5410よりも消音の対象位置の近くに設置される。スピーカ5480は、DA変換器5470に接続される。スピーカ5480は、アナログ出力を音に変換することにより、信号処理装置4240からのノイズキャンセリング信号に応じたアンチノイズ音を発生する。
これにより、ANCシステム5400は、フィードフォワード制御において、ノイズ成分を含む入力信号の特性に応じてデシメーションフィルタ200のフィルタ特性を変更することができ、デシメーションフィルタ200の次数および調整対象成分の減衰量を調整することができる。そして、ANCシステム5400は、信号処理装置4240において、デシメーションフィルタ200のフィルタ特性に応じた適応フィルタ処理を行なうことができる。
フィードフォワード制御において、ANCシステム5400は、ノイズ音がノイズ発生源から対象位置に到達するタイミングに合わせて、ノイズ音と同程度の振幅を有する逆相のアンチノイズ音を対象位置に伝達できるようにする。このために、信号処理装置4240は、デシメーションフィルタ200のフィルタ特性に応じた信号処理を行なうことにより、デシメーションフィルタ200の遅延時間の変化に応じてノイズキャンセリング信号の位相を変更して、対象位置においてアンチノイズ音をノイズ音に同期させる。
また、信号処理装置4240は、デシメーションフィルタ200のフィルタ特性に応じた信号処理を行なうことにより、デシメーションフィルタ200の遅延時間がより短い場合には信号処理に時間をかけてより精度が高いノイズキャンセリング信号を出力し、デシメーションフィルタ200の遅延時間がより長い場合には処理時間が短い信号処理を用いてアンチノイズ音が対象位置に伝搬するタイミングを遅らせないようにすることもできる。これにより、ANCシステム5400は、デシメーション処理およびノイズキャンセリング処理全体での好適なノイズ抑制を実現することができる。
マイク5420は、ノイズ音を消音する対象位置の近傍に設けられる。マイク5420は、対象位置におけるノイズ音を検出し、検出したノイズ成分を含むアナログの入力信号を信号処理システム4200bに供給する。ここで、ノイズ発生源から対象位置へと到達するノイズ音はフィードフォワード制御によって抑制されている。したがって、マイク5420は、フィードフォワード制御による残渣ノイズおよびセンサ5410の近傍のノイズ発生源以外から対象位置へと到達する環境ノイズを含むノイズ音を検出する。
信号処理システム4200bは、マイク5420に接続される。本変形例において、信号処理システム4200bは、図22に示した信号処理システム4200である。ANCシステム5400は、信号処理システム4200bの代わりに、図17の信号処理システム1700、図25の信号処理システム4600、図29の信号処理システム5000、またはこれらの変形例を用いてよい。信号処理システム4200bは、信号処理システム4200のAD変換器20に対応するAD変換器20bと、信号処理システム4200の適応デシメーションフィルタ装置4230に対応する適応デシメーションフィルタ装置4230bと、信号処理システム4200の信号処理装置4240に対応する信号処理装置4240とを有する。
AD変換器20bは、ノイズ成分を含むアナログの信号をデジタルの信号に変換してフィルタ入力信号(入力信号)として適応デシメーションフィルタ装置4230bに供給する。適応デシメーションフィルタ装置4230bは、信号処理装置4240によってフィルタ特性が調整されたデシメーションフィルタ200を用いて、フィルタ入力信号(入力信号)をダウンサンプリングしたフィルタ出力信号(出力信号)を出力する。また、適応デシメーションフィルタ装置4230bは、ダウンサンプリングによりデシメーションフィルタ200の出力信号におけるナイキスト周波数未満の周波数に折り返す折り返しノイズの大きさを検出する。
信号処理装置4240は、適応デシメーションフィルタ装置4230bの出力信号およびフィルタ/ノイズレベル情報を適応デシメーションフィルタ装置4230bから受け取る。信号処理装置4240は、適応デシメーションフィルタ装置4230b内のデシメーションフィルタ200の出力信号に対してデシメーションフィルタ200のフィルタ特性を識別するフィルタ識別情報に応じた信号処理(ノイズキャンセリング処理)を行なって、ノイズ成分を低減するためのノイズキャンセリング信号を生成する。信号処理装置4240は、生成したノイズキャンセリング信号を含むデジタル出力をDA変換器5470に供給する。また、信号処理装置4240は、折り返しノイズの大きさを示すノイズレベル情報とフィルタ識別情報とに基づいて、デシメーションフィルタ200のフィルタ特性を調整する。
本変形例において、信号処理装置4240は、フィードフォワード制御およびフィードバック制御で共用される。信号処理装置4240は、フィードフォワード制御により生成したノイズキャンセリング信号と、フィードバック制御により生成したノイズキャンセリング信号とを重畳したノイズキャンセリング信号を含むデジタル出力をDA変換器5470に供給してよい。
DA変換器5470は、信号処理装置4240からのノイズキャンセリング信号を含むデジタル出力をアナログ出力に変換する。スピーカ5480は、アナログ出力を音に変換することにより、信号処理装置4240からのノイズキャンセリング信号に応じたアンチノイズ音を発生する。
これにより、ANCシステム5400は、フィードバック制御において、ノイズ成分を含む入力信号の特性に応じて信号処理システム4200b内のデシメーションフィルタ200のフィルタ特性を変更することができ、デシメーションフィルタ200の次数および調整対象成分の減衰量を調整することができる。そして、ANCシステム5400は、信号処理装置4240において、デシメーションフィルタ200のフィルタ特性に応じた適応フィルタ処理を行なうことができる。
以上に示したフィードバック制御において、ANCシステム5400は、対象位置における残渣ノイズを含むノイズ音を検出して、そのノイズ音を低減するアンチノイズ音を対象位置に伝達する。アンチノイズ音は、理想的にはノイズ音と同程度の振幅を有する逆相の音である。しかし、対象位置近傍のノイズ音を検出してから対象位置にアンチノイズ音を伝達するまでのフィードバックループには伝搬遅延がある。
本変形例において、信号処理装置4240は、デシメーションフィルタ200のフィルタ特性に応じた信号処理を行なうことにより、デシメーションフィルタ200の遅延時間の変化に応じた適応フィルタ処理を行なうことができる。これにより、信号処理装置4240は、デシメーションフィルタ200の遅延時間がより短い場合にはフィードバックループ全体の伝搬遅延をより小さく維持してフィードバックループを広帯域化して、環境ノイズの変化に対する追従性を高めることができる。また、信号処理装置4240は、デシメーションフィルタ200の遅延時間がより短い場合には、信号処理により時間をかけてより精度が高いノイズキャンセリング信号を出力することもできる。これにより、ANCシステム5400は、デシメーション処理およびノイズキャンセリング処理全体での好適なノイズ抑制を実現することができる。
なお、信号処理システム4200bは、対象位置におけるノイズ音を検出するマイク5420に接続されるので、適応デシメーションフィルタ装置4230bの出力信号は、ノイズ音を消音する対象位置における残渣ノイズそのものとなる。このことを利用し、信号処理装置4240は、適応デシメーションフィルタ装置4230bの出力信号に基づいてフィードフォワードANCに用いられる適応デシメーションフィルタ装置4230aの遅延時間を制御してもよい。例えば、信号処理装置4240内のフィルタ制御部4255は、消音する対象位置における残渣ノイズを低減するように適応デシメーションフィルタ装置4230aの遅延時間を調整する。これにより、ANCシステム5400は、消音対象位置におけるノイズ音とノイズキャンセリング信号の間の位相調整精度を向上させることができ、残渣ノイズを更に低減してノイズキャンセリング性能を向上することが可能となる。
図34は、本実施形態の第11変形例に係るMFBシステム5500の構成を示す。MFBシステム5500は、スピーカ装置5510の振動板の動きを検出し、スピーカ装置5510に供給するオーディオ信号にフィードバックをかけることで、振動板の振動が入力されるオーディオ信号と同じ動きとなるように補正する。MFBシステム5500は、スピーカ装置5510と、信号処理システム4200と、DA変換器5580とを備える。
スピーカ装置5510は、MFBによる歪補正の対象である。スピーカ装置5510は、DA変換器5580から入力されるアナログの信号に応じて振動板を振動させて音を発生する。スピーカ装置5510は、振動板の振動に応じた信号を信号処理システム4200へと出力する機能を有する。例えば、スピーカ装置5510は、スピーカ本体に流れる信号電流をシャント抵抗を用いて電圧変換することにより振動板の動きに応じた電圧を生成し、信号処理システム4200へと出力する。スピーカ装置5510は、振動板に設置した変位センサにより振動板の振動を検出してもよい。
信号処理システム4200は、スピーカ装置5510に接続される。本変形例において、信号処理システム4200は、図22に示した信号処理システム4200である。MFBシステム5500は、信号処理システム4200の代わりに、図17の信号処理システム1700、図25の信号処理システム4600、図29の信号処理システム5000、またはこれらの変形例を用いてよい。信号処理システム4200は、AD変換器20と、適応デシメーションフィルタ装置4230と、信号処理装置4240とを有する。
AD変換器20は、振動板の振動に応じたアナログの信号をデジタルの信号に変換して、フィルタ入力信号(入力信号)として適応デシメーションフィルタ装置4230に供給する。適応デシメーションフィルタ装置4230は、信号処理装置4240によってフィルタ特性が調整されたデシメーションフィルタ200を用いて、フィルタ入力信号(入力信号)をダウンサンプリングしたフィルタ出力信号(出力信号)を出力する。また、適応デシメーションフィルタ装置4230は、ダウンサンプリングによりデシメーションフィルタ200の出力信号におけるナイキスト周波数未満の周波数に折り返す折り返しノイズの大きさを検出する。
信号処理装置4240は、適応デシメーションフィルタ装置4230の出力信号およびフィルタ/ノイズレベル情報を適応デシメーションフィルタ装置4230から受け取る。信号処理装置4240は、適応デシメーションフィルタ装置4230内のデシメーションフィルタ200の出力信号に対して、フィルタ識別情報に応じた信号処理を行なう。
例えば、信号処理装置4240は、デシメーションフィルタ200の出力信号に対して適応フィルタ部4250による適応フィルタ処理を行なうことにより、振動板の振動に応じた信号からその振動に対応するオーディオ信号を再現する。このようにして再現されたオーディオ信号は、振動板の振動の歪みが反映されたオーディオ信号となる。信号処理装置4240は、オーディオソースから入力されるオーディオ信号と、再現したオーディオ信号との誤差を低減または最小化するようにオーディオソースからのオーディオ信号に歪補正を適用したオーディオ信号をDA変換器5580へと出力する。また、信号処理装置4240は、折り返しノイズの大きさを示すノイズレベル情報とフィルタ識別情報とに基づいて、デシメーションフィルタ200の次数等のフィルタ特性を調整する。
DA変換器5580は、信号処理システム4200に接続される。DA変換器5580は、歪み補正済みのオーディオ信号であるデジタル信号をアナログ信号に変換してスピーカ装置5510に供給する。スピーカ装置5510は、歪み補正済みのオーディオ信号を用いて振動板を振動させる。
本変形例において、信号処理装置4240は、デシメーションフィルタ200のフィルタ特性に応じた信号処理を行なうことにより、デシメーションフィルタ200の遅延時間の変化に応じた適応フィルタ処理を行なうことができる。これにより、信号処理装置4240は、デシメーションフィルタ200の遅延時間がより短い場合にはフィードバックループ全体の伝搬遅延をより小さく維持してフィードバックループを広帯域化して、オーディオソースからのオーディオ信号の変化に対する追従性を高めることができる。また、信号処理装置4240は、デシメーションフィルタ200の遅延時間がより短い場合には、信号処理により時間をかけてより精度が高い歪補正を行なうこともできる。これにより、MFBシステム5500は、デシメーション処理およびノイズキャンセリング処理全体での好適なMFBを実現することができる。
本発明の様々な実施形態は、フローチャートおよびブロック図を参照して記載されてよく、ここにおいてブロックは、(1)操作が実行されるプロセスの段階または(2)操作を実行する役割を持つ装置のセクションを表わしてよい。特定の段階およびセクションが、専用回路、コンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、および/またはコンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタルおよび/またはアナログハードウェア回路を含んでよく、集積回路(IC)および/またはディスクリート回路を含んでよい。プログラマブル回路は、論理AND、論理OR、論理XOR、論理NAND、論理NOR、および他の論理操作、フリップフロップ、レジスタ、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックアレイ(PLA)等のようなメモリ要素等を含む、再構成可能なハードウェア回路を含んでよい。
コンピュータ可読媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読媒体は、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROMまたはフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(登録商標)ディスク、メモリスティック、集積回路カード等が含まれてよい。
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはJAVA(登録商標)、C++、Smalltalk(登録商標)等のようなオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語のような従来の手続型プログラミング言語を含む、1または複数のプログラミング言語の任意の組み合わせで記述されたソースコードまたはオブジェクトコードのいずれかを含んでよい。
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のコンピュータ等のプログラム可能なデータ処理装置のプロセッサまたはプログラマブル回路に対し、ローカルにまたはローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して提供され、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく、コンピュータ可読命令を実行してよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
図36は、本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ2200の例を示す。コンピュータ2200にインストールされたプログラムは、コンピュータ2200に、本発明の実施形態に係る装置に関連付けられる操作または当該装置の1または複数のセクションとして機能させることができ、または当該操作または当該1または複数のセクションを実行させることができ、および/またはコンピュータ2200に、本発明の実施形態に係るプロセスまたは当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ2200に、本明細書に記載のフローチャートおよびブロック図のブロックのうちのいくつかまたはすべてに関連付けられた特定の操作を実行させるべく、CPU2212によって実行されてよい。
本実施形態によるコンピュータ2200は、CPU2212、RAM2214、グラフィックコントローラ2216、およびディスプレイデバイス2218を含み、それらはホストコントローラ2210によって相互に接続されている。コンピュータ2200はまた、通信インターフェイス2222、ハードディスクドライブ2224、DVD-ROMドライブ2226、およびICカードドライブのような入/出力ユニットを含み、それらは入/出力コントローラ2220を介してホストコントローラ2210に接続されている。コンピュータはまた、ROM2230およびキーボード2242のようなレガシの入/出力ユニットを含み、それらは入/出力チップ2240を介して入/出力コントローラ2220に接続されている。
CPU2212は、ROM2230およびRAM2214内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ2216は、RAM2214内に提供されるフレームバッファ等またはそれ自体の中にCPU2212によって生成されたイメージデータを取得し、イメージデータがディスプレイデバイス2218上に表示されるようにする。
通信インターフェイス2222は、ネットワークを介して他の電子デバイスと通信する。ハードディスクドライブ2224は、コンピュータ2200内のCPU2212によって使用されるプログラムおよびデータを格納する。DVD-ROMドライブ2226は、プログラムまたはデータをDVD-ROM2201から読み取り、ハードディスクドライブ2224にRAM2214を介してプログラムまたはデータを提供する。ICカードドライブは、プログラムおよびデータをICカードから読み取り、および/またはプログラムおよびデータをICカードに書き込む。
ROM2230はその中に、アクティブ化時にコンピュータ2200によって実行されるブートプログラム等、および/またはコンピュータ2200のハードウェアに依存するプログラムを格納する。入/出力チップ2240はまた、様々な入/出力ユニットをパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入/出力コントローラ2220に接続してよい。
プログラムが、DVD-ROM2201またはICカードのようなコンピュータ可読媒体によって提供される。プログラムは、コンピュータ可読媒体から読み取られ、コンピュータ可読媒体の例でもあるハードディスクドライブ2224、RAM2214、またはROM2230にインストールされ、CPU2212によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ2200に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置または方法が、コンピュータ2200の使用に従い情報の操作または処理を実現することによって構成されてよい。
例えば、通信がコンピュータ2200および外部デバイス間で実行される場合、CPU2212は、RAM2214にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インターフェイス2222に対し、通信処理を命令してよい。通信インターフェイス2222は、CPU2212の制御下、RAM2214、ハードディスクドライブ2224、DVD-ROM2201、またはICカードのような記録媒体内に提供される送信バッファ処理領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、またはネットワークから受信された受信データを記録媒体上に提供される受信バッファ処理領域等に書き込む。
また、CPU2212は、ハードディスクドライブ2224、DVD-ROMドライブ2226(DVD-ROM2201)、ICカード等のような外部記録媒体に格納されたファイルまたはデータベースの全部または必要な部分がRAM2214に読み取られるようにし、RAM2214上のデータに対し様々なタイプの処理を実行してよい。CPU2212は次に、処理されたデータを外部記録媒体にライトバックする。
様々なタイプのプログラム、データ、テーブル、およびデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU2212は、RAM2214から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプの操作、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM2214に対しライトバックする。また、CPU2212は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU2212は、第1の属性の属性値が指定される、条件に一致するエントリを当該複数のエントリの中から検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
上で説明したプログラムまたはソフトウェアモジュールは、コンピュータ2200上またはコンピュータ2200近傍のコンピュータ可読媒体に格納されてよい。また、専用通信ネットワークまたはインターネットに接続されたサーバーシステム内に提供されるハードディスクまたはRAMのような記録媒体が、コンピュータ可読媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ2200に提供する。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、請求の範囲の記載から明らかである。
請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。