(57)【要約】【課題】  帯域幅がある周波数がハウリングした環境でも適応的にハウリングを抑圧できるハウリング抑圧装置を提案する。【解決手段】  帯域幅がある周波数がハウリングした環境で、適応ノッチフィルタの除去周波数と除去帯域幅に関するフィルタ係数を適応的に更新することにより１つの帯域幅がある周波数を抑圧するフィルタ係数に収束し、ハウリングを抑圧できる。さらに、このような適応ノッチフィルタを多段接続し、１つにまとめた多段適応ノッチフィルタを使用し、そのフィルタ係数を適応的に更新することにより、複数の帯域幅がある周波数を抑圧するフィルタ係数に収束し、ハウリングを抑圧できる。【選択図】      図３
2014042103.tif 000002
【特許請求の範囲】
【請求項１】
除去する周波数を適応的に変更可能な適応ノッチフィルタにおいて、
除去する周波数が異なる、下記の（Ａ１）式で表される伝達関数Ｈｆ（ｚ）を有する適応ノッチフィルタ単位を、ｊ（ｊは１以上の自然数）段接続したと等価な伝達関数を有すことを特徴とする適応ノッチフィルタ。
【数１４】
2014042103.tif 000016
（Ａ１）式において、ｎは時刻、ａ２（ｎ）、ｂ１（ｎ）はそれぞれフィルタ係数であって、（Ａ２）式、（Ａ３）式に従って更新される。フィルタ係数ａ２（ｎ）は、除去帯域幅に関するフィルタ係数である。（Ａ２）式及び（Ａ３）式において、μはステップゲイン、Δａ２、Δｂ１はそれぞれフィルタ係数更新アルゴリズムに従って算出されるフィルタ係数更新量である。
【請求項２】
コンピュータを、抑圧する周波数を適応的に変更可能な適応ノッチフィルタとして機能させる適応ノッチフィルタプログラムにおいて、
上記適応ノッチフィルタが、除去する周波数が異なる、下記の（Ｂ１）式で表される伝達関数Ｈｆ（ｚ）を有する適応ノッチフィルタ単位を、ｊ（ｊは１以上の自然数）段接続したと等価な伝達関数を有すことを特徴とする適応ノッチフィルタプログラム。
【数１５】
2014042103.tif 000017
（Ｂ１）式において、ｎは時刻、ａ２（ｎ）、ｂ１（ｎ）はそれぞれフィルタ係数であって、（Ｂ２）式、（Ｂ３）式に従って更新される。フィルタ係数ａ２（ｎ）は、除去帯域幅に関するフィルタ係数である。（Ｂ２）式及び（Ｂ３）式において、μはステップゲイン、Δａ２、Δｂ１はそれぞれフィルタ係数更新アルゴリズムに従って算出されるフィルタ係数更新量である。
【請求項３】
適応ノッチフィルタとフィルタ係数制御部とを有する適応ノッチフィルタ部を利用してハウリングする周波数を抑圧するハウリング抑圧装置において、
上記適応ノッチフィルタとして、請求項１に記載の適応ノッチフィルタを適用したことを特徴とするハウリング抑圧装置。
【請求項４】
上記フィルタ係数制御部は、更新された除去帯域幅に関するフィルタ係数ａ２（ｎ）が０以下又は１以上の場合に０より大きく１より小さい値に補正して、上記適応ノッチフィルタの伝達関数Ｈｆ（ｚ）に反映させることを特徴とする請求項３に記載のハウリング抑圧装置。
【請求項５】
適応ノッチフィルタとフィルタ係数制御部とを有する適応ノッチフィルタ部を利用してハウリングする周波数を抑圧するハウリング抑圧装置に搭載されるコンピュータを、上記適応ノッチフィルタ部として機能させるプログラム部分を有するハウリング抑圧プログラムであって、
上記適応ノッチフィルタ部における適応ノッチフィルタとして機能するプログラム部分として、請求項２に記載の適応ノッチフィルタプログラムを適用したことを特徴とするハウリング抑圧プログラム。
【請求項６】
上記フィルタ係数制御部として機能するプログラム部分は、更新された除去帯域幅に関するフィルタ係数ａ２（ｎ）が０以下又は１以上の場合に０より大きく１より小さい値に補正して、上記適応ノッチフィルタの伝達関数Ｈｆ（ｚ）に反映させることを特徴とする請求項５に記載のハウリング抑圧プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はハウリング抑圧装置及びプログラム、並びに、適応ノッチフィルタ及びプログラムに関し、例えば、テレビ会議や電話会議などの拡声通話系の音声受信装置に適用し得るものである。
【背景技術】
【０００２】
テレビ会議や電話会議などの拡声通話系では、スピーカから発音された音（音響や音声など）がマイクに回り込んで送話側に戻る音響エコーが発生する。さらに、この帰還系のゲインが１以上になると、いわゆるハウリングと呼ばれる発振状態となる。ハウリングは通話の著しい妨げとなるため、その抑圧方法に関しては、これまでも多くの研究、開発が行なわれている。
【０００３】
ハウリングを抑圧する１つの手法として、適応ノッチフィルタを使用する手法がある。ノッチフィルタとは、特定の周波数を除去（減衰）するフィルタであり、適応ノッチフィルタとは、適応的にフィルタ係数を更新してノッチ（除去周波数）を形成するフィルタである。ハウリング抑圧装置に適応ノッチフィルタを適用し、適応ノッチフィルタのフィルタ係数を更新することでハウリング周波数を適応的に抑圧することができる。ハウリング抑圧装置に適用可能な適応ノッチフィルタが、非特許文献１によって提案されている。
【０００４】
非特許文献１に記載の適応ノッチフィルタは、除去周波数を決定するフィルタ係数の更新量を、適応フィルタの入力信号と伝達関数の分母の係数から求めて更新することで、特定の周波数を除去する。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】小林正樹、赤川智宏、伊藤良生、“全域通過フィルタを用いた適応ノッチフィルタのアルゴリズムと収束性”、電子情報通信学会論文誌、Ｖｏｌ．Ｊ８２−Ａ、Ｎｏ．３、ｐｐ．３２５−３３２、１９９９年３月
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、非特許文献１の適応ノッチフィルタでは、適応可能なパラメータは除去周波数のみであり、除去帯域幅は事前に設定する必要がある。ハウリングの特性は部屋の形状などにより異なるため、適応ノッチフィルタの除去帯域幅が既定の設定では、その適応ノッチフィルタを適用したハウリング抑圧装置において、十分なハウリングの抑圧性能が得られない場合がある。除去帯域幅を適応するには別途更新式が必要であるが、周波数と帯域幅を別々に更新することになり、適応ノッチフィルタの収束が保証されない課題があった。
【０００７】
本発明は、以上の点を考慮してなされたものであり、抑圧帯域幅が所定幅でないハウリングをも抑圧できるハウリング抑圧装置及びプログラムを提供しようとしたものである。
【０００８】
また、本発明は、除去したい１又は複数の周波数（除去帯域幅は所定幅に限られない）が変化しても、それに対応できる適応ノッチフィルタ及びプログラムを提供しようとしたものである。
【課題を解決するための手段】
【０００９】
第１の本発明は、除去する周波数を適応的に変更可能な適応ノッチフィルタにおいて、除去する周波数が異なる、下記の（Ａ１）式で表される伝達関数Ｈｆ（ｚ）を有する適応ノッチフィルタ単位を、ｊ（ｊは１以上の自然数）段接続したと等価な伝達関数を有すことを特徴とする。
【数１】
2014042103.tif 000003
【００１０】
（Ａ１）式において、ｎは時刻、ａ２（ｎ）、ｂ１（ｎ）はそれぞれフィルタ係数であって、（Ａ２）式、（Ａ３）式に従って更新される。フィルタ係数ａ２（ｎ）は、除去帯域幅に関するフィルタ係数である。（Ａ２）式及び（Ａ３）式において、μはステップゲイン、Δａ２、Δｂ１はそれぞれフィルタ係数更新アルゴリズムに従って算出されるフィルタ係数更新量である。
【００１１】
第２の本発明は、コンピュータを、抑圧する周波数を適応的に変更可能な適応ノッチフィルタとして機能させる適応ノッチフィルタプログラムであって、上記適応ノッチフィルタが、除去する周波数が異なる、下記の（Ｂ１）式で表される伝達関数Ｈｆ（ｚ）を有する適応ノッチフィルタ単位を、ｊ（ｊは１以上の自然数）段接続したと等価な伝達関数を有すことを特徴とする。
【数２】
2014042103.tif 000004
【００１２】
（Ｂ１）式において、ｎは時刻、ａ２（ｎ）、ｂ１（ｎ）はそれぞれフィルタ係数であって、（Ｂ２）式、（Ｂ３）式に従って更新される。フィルタ係数ａ２（ｎ）は、除去帯域幅に関するフィルタ係数である。（Ｂ２）式及び（Ｂ３）式において、μはステップゲイン、Δａ２、Δｂ１はそれぞれフィルタ係数更新アルゴリズムに従って算出されるフィルタ係数更新量である。
【００１３】
第３の本発明は、適応ノッチフィルタとフィルタ係数制御部とを有する適応ノッチフィルタ部を利用してハウリングする周波数を抑圧するハウリング抑圧装置において、上記適応ノッチフィルタとして、第１の本発明の適応ノッチフィルタを適用したことを特徴とする。
【００１４】
第４の本発明は、適応ノッチフィルタとフィルタ係数制御部とを有する適応ノッチフィルタ部を利用してハウリングする周波数を抑圧するハウリング抑圧装置に搭載されるコンピュータを、上記適応ノッチフィルタ部として機能させるプログラム部分を有するハウリング抑圧プログラムであって、上記適応ノッチフィルタ部における適応ノッチフィルタとして機能するプログラム部分として、第２の本発明の適応ノッチフィルタプログラムを適用したことを特徴とする。
【発明の効果】
【００１５】
本発明によれば、除去帯域幅を事前に設定することなく帯域幅が広い除去対象の周波数を除去することができる適応ノッチフィルタ及び適応ノッチフィルタプログラムを提供できる。
【００１６】
また、本発明によれば、抑圧帯域幅を事前に設定することなく帯域幅が広いハウリング周波数を抑圧することができるハウリング抑圧装置及びハウリング抑圧プログラムを提供できる。
【図面の簡単な説明】
【００１７】
【図１】第１の実施形態の適応ノッチフィルタと従来のノッチフィルタの伝達関数の零点と極を示す説明図である。
【図２】第２の実施形態の適応ノッチフィルタ（多段適応ノッチフィルタ）の詳細構成を示すブロック図である。
【図３】第１の実施形態のハウリング抑圧装置の構成を示すブロック図である。
【図４】第１の実施形態のハウリング抑圧装置におけるフィルタ係数制御部の詳細構成を示すブロック図である。
【図５】第２の実施形態のハウリング抑圧装置の構成を示すブロック図である。
【図６】第２の実施形態のハウリング抑圧装置における多段フィルタ係数制御部の詳細構成を示すブロック図である。
【発明を実施するための形態】
【００１８】
第１及び第２の実施形態のハウリング抑圧装置を説明する前に、これら実施形態のハウリング抑圧装置に適用される、本発明による適応ノッチフィルタの実施形態を説明する。まず、第１の実施形態の適応ノッチフィルタについて説明し、その後、第２の実施形態の適応ノッチフィルタ（多段適応ノッチフィルタ）について説明する。
【００１９】
（Ａ）第１の実施形態の適応ノッチフィルタ
従来の一般的なノッチフィルタの伝達関数ＨＮｏｔｃｈ（ｚ）は、（１）式で表される。（１）式において、ｆは除去周波数、ｆｓはサンプリング周波数、ｒは除去帯域幅を決定するパラメータである。除去周波数ｆは、適応ノッチフィルタをハウリング抑圧装置に適用した場合であれば、ハウリングする周波数に対応するものである。
【数３】
2014042103.tif 000005
【００２０】
第１及び第２の実施形態に係る適応ノッチフィルタの伝達関数は、（１）式の伝達関数Ｈ（ｚ）を考慮して、本願発明者によって新たに提案されたものである。
【００２１】
（１）式に示す伝達関数ＨＮｏｔｃｈ（ｚ）を有するノッチフィルタは、（１）式の構成から、ＩＩＲ（無限インパルス応答）型のフィルタになっていることが分かる。一方、一般的なＩＩＲ型の適応フィルタの伝達関数ＨＩＩＲ（ｚ）は、（２）式で表される。参考文献１「http://www.lss.uni-stuttgart.de/matlab/notch/index.en.html」や参考文献２「http://triplecorrelation.com/courses/fundsp/iirdesign.pdf」に（２）式が開示されている。（２）式において、ｎは時刻、ａ１（ｎ）、ａ２（ｎ）、ｂ０（ｎ）、ｂ１（ｎ）、ｂ２（ｎ）はＩＩＲ型の適応フィルタのフィルタ係数である。
【数４】
2014042103.tif 000006
【００２２】
今、（１）式に示す伝達関数ＨＮｏｔｃｈ（ｚ）の係数と、（２）式に示す伝達関数ＨＩＩＲ（ｚ）の係数を比較すると、（３）式〜（７）式が得られ、（３）式、（４）式及び（６）式から、ａ１（ｎ）について（８）式が得られる。
【数５】
2014042103.tif 000007
【００２３】
これらの式より、（２）式に示すＩＩＲ型適応フィルタの伝達関数ＨＩＩＲ（ｚ）の分子の定数項とｚ−２項の係数（すなわち、ｂ０（ｎ）及びｂ２（ｎ））を１にし、除去周波数と除去帯域幅に関する係数（すなわち、ｂ１（ｎ）及びａ２（ｎ））を適応的に更新し、ａ１（ｎ）を、更新して求めたｂ１（ｎ）とａ２（ｎ）を用いて求めると、（２）式に示すＩＩＲ型適応フィルタの伝達関数ＨｌｌＲ（ｚ）を、ノッチフィルタの伝達関数にすることができることが分かる。この場合のノッチフィルタは適応ノッチフィルタとなり、この適応ノッチフィルタの伝達関数Ｈｆ（ｚ）は、（９）式で表される。（９）式において、ｎは時刻、ａ２（ｎ）、ｂ１（ｎ）は適応ノッチフィルタのフィルタ係数であり、これらフィルタ係数はそれぞれ（１０）式、（１１）式で表される。（１０）式及び（１１）式において、μはステップゲイン、Δａ２、Δｂ１はフィルタ係数更新量である。
【数６】
2014042103.tif 000008
【００２４】
フィルタ係数更新量Δａ２、Δｂ１は、フィルタ係数更新アルゴリズム（例えば、二乗誤差最小アルゴリズムやＳＨＡＲＦ（Ｓｉｍｐｌｅ  Ｈｙｐｅｒｓｔａｂｌｅ  Ａｄａｐｔｉｖｅ  Ｒｅｃｕｒｓｉｖｅ  Ｆｉｌｔｅｒ）アルゴリズムなど）を用いて求めることができる。（１２）式及び（１３）式はそれぞれ、ＳＨＡＲＦアルゴリズムを用いて、フィルタ係数更新量Δａ２、Δｂ１を求める場合を示している。なお、（１２）式及び（１３）式において、ｘ（ｎ）は時刻ｎにおける当該適応ノッチフィルタへの入力信号であり、ｙ（ｎ）は時刻ｎにおける当該適応ノッチフィルタからの出力信号である。
【数７】
2014042103.tif 000009
【００２５】
第１の実施形態の適応ノッチフィルタ（後述する図３参照）は、（１０）式、（１１）式に従って適応的に更新された除去帯域幅と除去周波数に関する係数ａ２（ｎ）、ｂ１（ｎ）を適用した（９）式に示す伝達関数Ｈｆ（ｚ）を有するものである。
【００２６】
なお、（９）式に示す伝達関数Ｈｆ（ｚ）を適用したフィルタリング処理は、例えば、ＣＰＵが、（９）式に示す伝達関数Ｈｆ（ｚ）の演算を実行するプログラムを実行することにより実現することもできる。
【００２７】
第１の実施形態の適応ノッチフィルタによれば、除去帯域幅が所定幅でなくても、除去周波数を除去（減衰）することができる適応ノッチフィルタを提供することができる。
【００２８】
また、第１の実施形態の適応ノッチフィルタによれば、（１）式に示す伝達関数を有する従来のノッチフィルタと同じところに零点と極がある適応ノッチフィルタを提供でき、しかも、その適応ノッチフィルタを安定なフィルタとして構築することができる。以下、この効果を奏する理由を説明する。
【００２９】
（９）式に示す伝達関数Ｈｆ（ｚ）の零点を確認すると、伝達関数Ｈｆ（ｚ）の零点はＨｆ（ｚ）＝０である点より、分子が０であることを示している（１４）式が得られる。この（１４）式に示す方程式を解くと、（１５）式が得られ、（１５）式に基づいて、ｚｚｅｒｏのノルム｜ｚｚｅｒｏ｜を求めると、（１６）式が得られる。
【数８】
2014042103.tif 000010
【００３０】
（１６）式に示す｜ｚｚｅｒｏ｜＝１は、零点がｚ平面の単位円上にあることを示している。また、ｚ平面で単位円上のｚ変換が周波数特性を表していることから、分子の定数項とｚ−２項の係数を１にすることで、ｚ平面の単位円周上に零点ができ、（９）式に示す伝達関数Ｈｆ（ｚ）の周波数特性はある周波数でノッチができることが分かる。
【００３１】
さらに、伝達関数Ｈｆ（ｚ）の極は、Ｈｆ（ｚ）の分母が０である点より、分母が０であることを示している（１７）式が得られる。この（１７）式に示す方程式を解くと、（１８）式が得られる。
【数９】
2014042103.tif 000011
【００３２】
（１８）式は、極が零点ｚｚｅｒｏの√｛ａ２（ｎ）｝倍の位置にあることを示している。ここで、（１）式及び（９）式の零点と極をｚ平面に図示したものが図１であり、（１）式及び（９）式に示す伝達関数は零点の何倍かの位置に極が存在することが分かる。すなわち、第１の実施形態に係る適応ノッチフィルタは、（１）式に示す伝達関数を有する従来のノッチフィルタと同様にz平面の原点と零点の直線上に極がある適応ノッチフィルタである。
【００３３】
また、伝達関数の極は単位円内に存在すれば安定であるので、図１より、ａ２（ｎ）が０＜ａ２（ｎ）＜１の範囲内の値をとるように選定することにより、第１の実施形態の適応ノッチフィルタが安定なフィルタになることが分かる。
【００３４】
（Ｂ）第２の実施形態の適応ノッチフィルタ
次に、本発明による適応ノッチフィルタの第２の実施形態について説明する。第２の実施形態の適応ノッチフィルタは、上述した第１の実施形態の適応ノッチフィルタを、多段に縦続接続したフィルタ（多段適応ノッチフィルタ）である。
【００３５】
図２は、第２の実施形態の適応ノッチフィルタ（多段適応ノッチフィルタ）の詳細構成を示すブロック図である。
【００３６】
第２の実施形態の適応ノッチフィルタ（多段適応ノッチフィルタ）１０は、（９）式に示す伝達関数を有する適応ノッチフィルタを適用して複数の周波数を除去できるように、図２に示すように、除去周波数が異なる適応ノッチフィルタ１１−１〜１１−ｊ（ｊは２以上の整数）を多段に縦続接続して１つのノッチフィルタにまとめ、各適応ノッチフィルタ１１−１〜１１−ｊのフィルタ係数を更新することにより、一つの適応ノッチフィルタとして構築したものである。
【００３７】
各適応ノッチフィルタ１１−１〜１１−ｊをそれぞれ、ハードウェア的に構成して縦続接続しても良い。また、各適応ノッチフィルタ１１−１〜１１−ｊの多段接続は、ソフトウェア的に実行することも可能である。この場合において、各適応ノッチフィルタ１１−１〜１１−ｊをそれぞれ、異なる処理ルーチン（プログラム）として記述し、各処理ルーチンの処理を順次実行するように構成しても良く、また、各適応ノッチフィルタ１１−１〜１１−ｊを融合した一つの処理ルーチンを記述して適応ノッチフィルタ１１−１〜１１−ｊの多段接続を実現するようにしても良い。以下では、後者の場合を説明する。
【００３８】
適応ノッチフィルタ１１−１〜１１−ｊの多段接続は、融合したソフトウェア的には、各適応ノッチフィルタ１１−１、…、１１−ｊの伝達関数を掛け算したものを伝達特性とすることにより実現することができる。伝達関数を掛け算することにより、多段適応ノッチフィルタ１０はフィルタ長が長いノッチフィルタになり、適応ノッチフィルタの数が除去対象の周波数の数より多いときは、ノッチが鋭いノッチフィルタになるようにフィルタ係数が収束する。
【００３９】
なお、第２の実施形態の多段適応ノッチフィルタ１０は、必ずしも適応ノッチフィルタ１１−１〜１１−ｊを多段接続して構成しなくても良く、要は、適応ノッチフィルタ１１−１〜１１−ｊを多段接続した場合と同じ伝達関数を有するものであれば良い。
【００４０】
図２に示す多段適応ノッチフィルタ１０の入出力Ｘ（ｚ）及びＹ（ｚ）の関係を、各適応ノッチフィルタ１１−１、…、１１−ｊの伝達関数を用いて表すと、（１９）式に示すようになる。（１９）式において、Ｈｋ（ｚ）（ｋ＝１、２、…、ｊ）は各適応ノッチフィルタ１１−１、…、１１−ｊの伝達関数であり、Ｘ（ｚ）は多段適応ノッチフィルタ１０の入力信号のｚ変換であり、Ｙ（ｚ）は多段適応ノッチフィルタ１０の出力信号のｚ変換であり、ｊは多段適応ノッチフィルタ１０を構成する適応ノッチフィルタの個数である。例えば、ｊ＝４のときは、多段適応ノッチフィルタ１０は最大で４つの異なる周波数を除去するフィルタになる。
【数１０】
2014042103.tif 000012
【００４１】
適応ノッチフィルタ１１−１、…、１１−ｊを多段接続して１つの適応ノッチフィルタにした多段適応ノッチフィルタ１０の伝達関数は、（１９）式の該当箇所に（９）式の伝達関数を代入して整理することにより、（２０）式で表すことができる。（２０）式におけるａ０は（２１）式で表される。（２０）式は、各適応ノッチフィルタ１１−１、…、１１−ｊの除去帯域幅が同一であるとして求められている。（２０）式及び（２１）において、ｎは時刻、ａ２（ｎ）、ｂ１（ｋ，ｎ）（ｋ＝１、２、…、ｊ）は各適応ノッチフィルタ１１−１、…、１１−ｊのフィルタ係数、ａ（ｎ）、ｂｉ（ｎ）（ｉ＝１、２、…、２ｊ−１）は複数の周波数を除去する多段適応ノッチフィルタ１０のフィルタ係数であり、これらフィルタ係数の更新はそれぞれ、（２２）式、（２３）式に従って実行される。（２２）式及び（２３）式において、μはステップゲイン、Δａ、Δｂｉ（ｉ＝１、２、…、２ｊ−１）はフィルタ係数更新量である。
【数１１】
2014042103.tif 000013
【００４２】
フィルタ係数更新量Δａ、Δｂｉ（ｉ＝１、２、…、２ｊ−１）は、フィルタ係数更新アルゴリズムを用いて求めることができる。（２４）式及び（２５）式は、ＳＨＡＲＦアルゴリズムに従ってフィルタ係数更新量Δａ、Δｂｉを求める場合を示している。（２４）式及び（２５）式において、ｘ（ｎ）は多段適応ノッチフィルタ１０への入力信号であり、ｙ（ｎ）は多段適応ノッチフィルタ１０からの出力信号である。
【数１２】
2014042103.tif 000014
【００４３】
上述した（２０）式から、分母の定数項と分子の定数項と最高次数のフィルタ係数がそれぞれ１になっていることが分かる。このことより、複数の周波数を除去する多段適応ノッチフィルタ１０は、分母の定数項と分子の定数項とｚの最高次数のフィルタ係数を１にし、分母の最高次数と分子の定数項とｚの最高次数以外のフィルタ係数を更新し、更新した分子のフィルタ係数から分母の定数項と最高次数以外のフィルタ係数を求めることで複数の周波数を除去する適応ノッチフィルタになることが分かる。
【００４４】
（１９）式に（２０）式及び（２１）式を代入した後、ｚ平面から時間軸に数式を変換すると、（２６）式が得られる。（２６）式において、ここで、ｎは時刻、ｘ（ｎ）は多段適応ノッチフィルタ１０への入力信号であり、ｙ（ｎ）は多段適応ノッチフィルタ１０からの出力信号である。
【数１３】
2014042103.tif 000015
【００４５】
多段適応ノッチフィルタ１０が（２０）式に示す伝達関数を有することにより、帯域幅がある複数の周波数を除去することができる。多段適応ノッチフィルタ１０をハウリング抑圧装置に適用した場合には、帯域幅がある複数の周波数がハウリングした環境で、多段適応ノッチフィルタ１０のフィルタ係数が適応的にハウリングした周波数を抑圧するように更新され、ハウリングを適切に抑圧することができるようになる。
【００４６】
（Ｃ）第１の実施形態のハウリング抑圧装置
次に、本発明によるハウリング抑圧装置の第１の実施形態を、図面を参照しながら説明する。
【００４７】
第１の実施形態のハウリング抑圧装置は、上述した第１の実施形態の適応ノッチフィルタを実装したものであり、入力信号に対して適応ノッチフィルタの処理を行い、ハウリングしている周波数を抑圧するものである。
【００４８】
（Ｃ−１）第１の実施形態のハウリング抑圧装置の構成
図３は、第１の実施形態のハウリング抑圧装置の構成を示すブロック図である。デジタル信号でなる信号を処理する各部は、ＣＰＵと、ＣＰＵが実行するプログラムで構成することもできるが、この場合であっても、機能的には図３で表すことができる。
【００４９】
図３において、第１の実施形態のハウリング抑圧装置１００は、アナログ音信号が入力される音信号入力端子１０１と、音信号入力端子１０１に入力されたアナログ音信号をデジタル音信号に変換するＡＤ変換器１０２と、ＡＤ変換器１０２からのデジタル音信号を入力とし適応ノッチフィルタの処理を行う適応ノッチフィルタ部１０３と、適応ノッチフィルタ部１０３から出力されたデジタル音信号をアナログ音信号に変換するＤＡ変換器１０８と、アナログの音信号が出力される音信号出力端子１０９とを備える。
【００５０】
適応ノッチフィルタ部１０３は、上述した第１の実施形態の適応ノッチフィルタが相当する部分である。適応ノッチフィルタ部１０３は、ＡＤ変換器１０２から出力されたデジタル音信号を入力信号として適応ノッチフィルタの処理を行うフィルタ処理部１０４と、フィルタ処理部１０４への入力信号をフィルタ長分だけ保持できる入力レジスタ部１０５と、フィルタ処理部１０４からの出力信号をフィルタ長分だけ保持できる出力レジスタ部１０６と、入力レジスタ部１０５及び出力レジスタ部１０６に保持されている入出力信号からフィルタ係数を計算するフィルタ係数制御部１０７とを備える。
【００５１】
図４は、フィルタ係数制御部１０７の詳細構成を示すブロック図である。フィルタ係数制御部１０７は、入力レジスタ部１０５及び出力レジスタ部１０６に保持されている入出力信号から、上述した（１２）式及び（１３）式などのフィルタ係数更新アルゴリズムを用いてフィルタ係数の更新量Δａ２、Δｂ１を計算するフィルタ係数更新量計算部２０１と、フィルタ係数更新量計算部２０１で計算されたフィルタ係数更新量を用いて（１０）式及び（１１）式に従ってフィルタ係数ａ２（ｎ）、ｂ１（ｎ）を更新するフィルタ係数更新部２０２と、更新された一方のフィルタ係数のａ２（ｎ＋１）が０より大きく１より小さい値になっているか否かを確認し、０以下の値又は１以上の値の場合には０より大きく１より小さい値になるように補正を行いながら、フィルタ係数ａ２（ｎ＋１）、ｂ１（ｎ＋１）を出力するフィルタ係数補正部２０３と、フィルタ係数補正部２０３から出力されたフィルタ係数ａ２（ｎ＋１）、ｂ１（ｎ＋１）を保持し、フィルタ係数更新部２０２に供給するフィルタ係数レジスタ部２０４と、更新したフィルタ係数から（９）式のｂ１（ｎ）√（ａ２（ｎ））を求め、全てのフィルタ係数を出力するフィルタ係数計算部２０５を備える。
【００５２】
（Ｃ−２）第１の実施形態のハウリング抑圧装置の動作
次に、第１の実施形態のハウリング抑圧装置１００の動作を説明する。
【００５３】
音信号入力端子１０１には、マイクアンプで増幅されマイクロホン入力信号や、オーディオミキサなどで複数のマイクロホン入力信号が増幅されて加算された信号や、エコーキャンセラでエコーが削除された信号などのアナログ音信号が入力される。音信号入力端子１０１に入力されたアナログの音信号は、ＡＤ変換器１０２において、サンプリング周波数に応じて通過帯域が設定されたローパスフィルタ（ＡＤ変換器１０２が内蔵する）を通すことで、折り返しが発生しないよう高域成分の周波数がカットされてからアナログ音信号からデジタル音信号に変換され、デジタル化されたデジタル音信号がＡＤ変換器１０２から出力される。デジタル音信号は、適応ノッチフィルタ部１０３のフィルタ処理部１０４と入力レジスタ部１０５に入力される。
【００５４】
フィルタ処理部１０４は、入力レジスタ部１０５に保持されている過去の時刻の入力信号（例えば、（１３）式のｘ（ｎ−１）参照）と、出力レジスタ部１０６に保持されている過去の時刻の出力信号（例えば、（１３）式や（１２）式のｙ（ｎ）や、（１２）式のｙ（ｎ−２）参照）と、フィルタ係数制御部１０７から出力されたフィルタ係数（例えば、（１０）式のａ２（ｎ＋１）や（１１）式のｂ１（ｎ＋１）参照）を用い、（９）式の伝達関数Ｈｆ（ｚ）を適用して、当該フィルタ処理部１０４からの新たな出力信号（（１３）式の表記を適用するとｙ（ｎ＋１））を求める。求められた新たな出力信号は、出力レジスタ部１０６及びＤＡ変換器１０８に与えられる。
【００５５】
ここで、入力レジスタ部１０５は、ＡＤ変換部１０２から出力された新しいデジタル音信号が１サンプル入力されると、入力レジスタ部１０５の最後尾の最も過去に保存されたデジタル音信号の１サンプルを削除し、入力レジスタ部１０５の値をシフトしてから、新しい１サンプルのデジタル音信号を入力レジスタ部１０５の先頭に保存する。
【００５６】
また、出力レジスタ部１０６は、フィルタ処理部１０４の出力信号が出力されると、出力レジスタ部１０６の最後尾の最も過去に保存された１サンプルの出力信号を削除し、出力レジスタ部１０６の値をシフトしてから、求められたばかりの出力信号を出力レジスタ部１０６の先頭に保存する。
【００５７】
次に、フィルタ係数制御部１０７における動作を説明する。
【００５８】
フィルタ係数更新量計算部２０１は、入力レジスタ部１０５及び出力レジスタ部１０６の保持信号から、（１２）式及び（１３）式に従って、フィルタ係数の更新量Δａ２、Δｂ１を計算する。
【００５９】
フィルタ係数更新部２０２は、（９）式に示す伝達関数の分母の定数項と分子の定数項と分子の２次の係数を１にしたまま、フィルタ係数更新量計算部２０１から出力されたフィルタ係数更新量Δａ２、Δｂ１とフィルタ係数レジスタ部２０４に保持されているフィルタ係数ａ２（ｎ）、ｂ１（ｎ）と固定のステップゲインμを使用して（１０）式、（１１）式に従って、その他のフィルタ係数ａ２（ｎ＋１）、ｂ１（ｎ＋１）を更新し、フィルタ係数補正部２０３に更新されたフィルタ係数を出力する。
【００６０】
フィルタ係数補正部２０３は、更新されたフィルタ係数ａ２（ｎ＋１）、ｂ１（ｎ＋１）のうち、ａ２（ｎ＋１）について、０より大きく１より小さい値であるか否かを判定し、０より大きく１より小さい値のときは、補正せずにフィルタ係数ａ２（ｎ＋１）、ｂ１（ｎ＋１）をフィルタ係数レジスタ部２０４及びフィルタ係数計算部２０５に出力する。更新されたフィルタ係数ａ２（ｎ＋１）が０以下の値又は１以上の値のときは、０より大きく１より小さい値になるように補正し（例えば、補正後の値を予め定めておく）、フィルタ係数ａ２（ｎ＋１）、ｂ１（ｎ＋１）をフィルタ係数レジスタ部２０４及びフィルタ係数計算部２０５に出力する。
【００６１】
フィルタ係数レジスタ部２０４は、フィルタ係数補正部２０３から出力されたフィルタ係数ａ２（ｎ＋１）、ｂ１（ｎ＋１）を保持する。
【００６２】
フィルタ係数計算部２０５では、補正されたフィルタ係数ａ２（ｎ＋１）とｂ１（ｎ＋１）を用いて（９）式のｂ１（ｎ）√（ａ２（ｎ））を求め、全てのフィルタ係数をフィルタ処理部１０４に出力する。
【００６３】
ＤＡ変換器１０８は、適応ノッチフィルタ部１０３のフィルタ処理部１０４の出力信号であるデジタル音信号をアナログ音信号に変換し、その後、サンプリング周波数に応じた内蔵するローパスフィルタ（ＤＡ変換器１０８が内蔵する）を通すことで、折り返しが発生しないよう高域成分の周波数をカットし、アナログ音信号として音信号出力端子１０９に与え、アナログ音信号が音信号出力端子１０９からスピーカアンプや通信路に出力される。
【００６４】
次に、第１の実施形態のハウリング抑圧装置１００における動作開始からハウリングが発生したときまでの動作について説明する。
【００６５】
ハウリング抑圧装置１００が動作を開始すると、アナログ音信号が音信号入力端子１０１を通り、ＡＤ変換器１０２でデジタル音信号に変換され、適応ノッチフィルタ部１０３にデジタル音信号が入力される。
【００６６】
ハウリングが発生しなければ、フィルタ処理部１０４のフィルタ係数が収束しないため、フィルタ処理部１０４で特定の周波数が抑圧されずにＤＡ変換器１０８にデジタル音信号が出力される。ＤＡ変換器１０８では、適応ノッチフィルタ部１０３から出力されたデジタル音信号がアナログ音信号に変換され、音信号出力端子１０９を介して出力される。
【００６７】
単一の周波数がハウリングし始めた直後では、フィルタ処理部１０４における適応ノッチフィルタのフィルタ係数は、まだ、発生した周波数を抑圧するフィルタ係数に収束していないので、フィルタ処理部１０４は、ハウリングした信号を抑圧できずにＤＡ変換器１０８にデジタル音信号を出力する。ＤＡ変換器１０８が適応ノッチフィルタ部１０３から出力されたデジタル音信号をアナログ音信号に変換し、音信号出力端子１０９を介して出力するので、ハウリングが発生し始めたときはハウリングが抑圧されていないアナログ音信号が出力される。
【００６８】
フィルタ係数制御部１０７は、入力レジスタ部１０５及び出力レジスタ部１０６の保持信号を用いて、フィルタ係数更新アルゴリズムに基づき、フィルタ係数更新量計算部２０１でフィルタ係数の更新量を計算し、フィルタ係数更新部２０２に出力する。フィルタ係数更新部２０２は、（９）式に示す伝達関数の分母の定数項と分子の定数項と分子の最高次数のフィルタ係数を１にしたまま、フィルタ係数更新量計算部２０１から出力されたフィルタ係数更新量とフィルタ係数レジスタ部２０４のフィルタ係数と固定のステップゲインを使用して、（１０）式及び（１１）式のフィルタ係数を更新し、フィルタ係数補正部２０３に更新されたフィルタ係数を出力する。フィルタ係数補正部２０３は、一方のフィルタ係数ａ２（ｎ＋１）が０より大きく１より小さい値であるか否かを判定し、０より大きく１より小さい値のときは補正せずに、ｂ１（ｎ＋１）と共にフィルタ係数レジスタ部２０４及びフィルタ係数計算部２０５に出力する。更新されたフィルタ係数ａ２（ｎ＋１）が０以下の値又は１以上の値のときは、０より大きく１より小さい値になるように補正し、ｂ１（ｎ＋１）と共にフィルタ係数レジスタ部２０４及びフィルタ係数計算部２０５に出力する。フィルタ係数計算部２０５は、フィルタ係数補正部から出力されたフィルタ係数を用いて（９）式のｂ１（ｎ）√（ａ２（ｎ））を求め、全てのフィルタ係数をフィルタ処理部１０４に出力する。
【００６９】
更新が進むと、フィルタ処理部１０４における適応ノッチフィルタのフィルタ係数は、ハウリングした周波数を抑圧するフィルタ係数に収束し、その結果、フィルタ処理部１０４は、ハウリングが抑圧されたデジタル音信号をＤＡ変換器１０８に出力する。ＤＡ変換器１０８では、適応ノッチフィルタ部１０３から出力されたハウリングが抑圧されたデジタル音信号がアナログ音信号に変換され、音信号出力端子１０９を介して出力される。適応ノッチフィルタ部１０３からの出力信号がほぼ０になるので（ハウリングが抑圧されて０となる）、フィルタ係数制御部１０７のフィルタ係数更新量計算部２０１で計算された更新量がほぼ０になり、フィルタ係数更新部２０２でフィルタ係数が更新されずに収束する。これによって、フィルタ係数の収束状態が継続され、ハウリングが抑圧され続ける。
【００７０】
上記の状態から異なる周波数がハウリングし始めると、フィルタ処理部１０４における適応ノッチフィルタは、ハウリングをし始めた異なる周波数を抑圧するようにはフィルタ係数が収束していないので、ハウリングした信号を抑圧できずにＤＡ変換器１０８にデジタル音信号を出力する。ＤＡ変換器１０８では、適応ノッチフィルタ部１０３から出力されたデジタル音信号がアナログ音信号に変換され、音信号出力端子１０９を介して出力されるので、異なる周波数のハウリングが発生し始めたときはハウリングしたアナログ音信号が出力される。
【００７１】
フィルタ係数制御部１０７は、入力レジスタ部１０５及び出力レジスタ部１０６の保持信号を用いて、フィルタ係数更新アルゴリズムに基づき、フィルタ係数更新量計算部２０１でフィルタ係数の更新量を計算し、フィルタ係数更新部２０２に出力する。フィルタ係数更新部２０２は（９）式に示す伝達関数の分母の定数項と分子の定数項と分子の最高次数のフィルタ係数を１にしたまま、フィルタ係数更新量計算部２０１から出力されたフィルタ係数更新量とフィルタ係数レジスタ部２０４のフィルタ係数と固定のステップゲインとを使用して、（１０）式及び（１１）式のフィルタ係数を更新し、フィルタ係数補正部２０３に更新されたフィルタ係数を出力する。フィルタ係数補正部２０３は、一方のフィルタ係数ａ２（ｎ＋１）が０より大きく１より小さい値であるか否かを判定し、０より大きく１より小さい値のときは補正せずに、ｂ１（ｎ＋１）と共にフィルタ係数レジスタ部２０４及びフィルタ処理部１０４に出力する。更新されたフィルタ係数ａ２（ｎ＋１）が０以下の値又は１以上の値のときは、０より大きく１より小さい値になるように補正し、ｂ１（ｎ＋１）と共にフィルタ係数レジスタ部２０４及びフィルタ係数計算部２０５に出力する。フィルタ係数計算部２０５は、フィルタ係数補正部から出力されたフィルタ係数を用いて（９）式のｂ１（ｎ）√（ａ２（ｎ））を求め、全てのフィルタ係数をフィルタ処理部１０４に出力する。
【００７２】
更新が進むと、フィルタ処理部１０４における適応ノッチフィルタのフィルタ係数は、再び異なる周波数を抑圧するフィルタ係数に収束するので、適応ノッチフィルタ部１０３から、ハウリングが抑圧された信号がＤＡ変換器１０８に出力される。ＤＡ変換器１０８では、適応ノッチフィルタ部１０３からの出力信号であるハウリングが抑圧されたデジタル音信号がアナログ音信号に変換され、音信号出力端子１０９を介して出力される。フィルタ係数制御部１０７は適応ノッチフィルタ部１０３からの出力信号がほぼ０になるので（異なる周波数のハウリングが抑圧されて０となる）、フィルタ係数制御部１０７のフィルタ係数更新量計算部２０１で計算された更新量がほぼ０になり、フィルタ係数更新部２０２でフィルタ係数が更新されず、フィルタ係数制御部１０７から出力されるフィルタ係数は収束する。このようにして異なる周波数に対しても、フィルタ係数が収束してその周波数を抑圧し続ける。
【００７３】
帯域幅を有する周波数がハウリングし始めると（ある周波数だけでなく、その周波数の前後の周波数成分もハウリングする）、フィルタ処理部１０４における適応ノッチフィルタは、上記帯域幅を抑圧するフィルタ係数に収束していないので、ハウリングした信号を抑圧できずに、ＤＡ変換器１０８にハウリングしたデジタル音信号が出力される。ＤＡ変換器１０８では、適応ノッチフィルタ部１０３から出力されたデジタル音信号がアナログ音信号に変換され、音信号出力端子１０９を介して出力されるので、帯域幅がある周波数がハウリングし始めたときはハウリングしたアナログ音信号が出力される。
【００７４】
フィルタ係数制御部１０７は、入力レジスタ部１０５及び出力レジスタ部１０６の保持信号を用いて、フィルタ係数更新アルゴリズムに基づき、フィルタ係数更新量計算部２０１でフィルタ係数の更新量を計算し、フィルタ係数更新部２０２に出力する。フィルタ係数更新部２０２は、（９）式に示す伝達関数の分母の定数項と分子の定数項と分子の最高次数のフィルタ係数を１にしたまま、フィルタ係数更新量計算部２０１から出力されたフィルタ係数更新量とフィルタ係数レジスタ部２０４のフィルタ係数と固定のステップゲインとを使用して、（１０）式及び（１１）式のフィルタ係数を更新し、フィルタ係数補正部２０３に更新されたフィルタ係数を出力する。フィルタ係数補正部２０３は、一方のフィルタ係数ａ２（ｎ＋１）が０より大きく１より小さい値であるか否かを判定し、０より大きく１より小さい値のときは補正せずに、ｂ１（ｎ＋１）と共にフィルタ係数レジスタ部２０４及びフィルタ係数計算部２０５に出力する。更新されたフィルタ係数ａ２（ｎ＋１）が０以下の値又は１以上の値のときは、０より大きく１より小さい値になるように補正し、ｂ１（ｎ＋１）と共にフィルタ係数レジスタ部２０４及びフィルタ係数計算部２０５に出力する。帯域幅を有する周波数がハウリングしているときには、このような更新処理でも、出力信号がまだまだ大きく更新量も大きくなり、フィルタ係数の収束は遅くなってフィルタ係数の更新がかなりの時間継続される。フィルタ係数計算部２０５は、フィルタ係数補正部２０４から出力されたフィルタ係数を用いて（９）式のｂ１（ｎ）√（ａ２（ｎ））を求め、全てのフィルタ係数をフィルタ処理部１０４に出力する。
【００７５】
それでも、更新が進むと、フィルタ処理部１０４における適応ノッチフィルタのフィルタ係数は、帯域幅がある周波数を抑圧するように収束し、適応ノッチフィルタ部１０３からハウリングが抑圧された信号がＤＡ変換器１０８に出力される。ＤＡ変換器１０８では、適応ノッチフィルタ部１０３からの出力信号であるハウリングが抑圧されたデジタル音信号がアナログ音信号に変換され、音信号出力端子１０９を介して出力される。フィルタ係数制御部１０７は適応ノッチフィルタ部１０３からの出力信号がほぼ０になるので（帯域幅がある周波数のハウリングが抑圧されて０となる）、フィルタ係数制御部１０７のフィルタ係数更新量計算部２０１で計算された更新量がほぼ０になり、フィルタ係数更新部２０２でフィルタ係数が更新されず、フィルタ係数制御部１０７から出力されるフィルタ係数は収束する。このようにして帯域幅がある周波数に対しても、フィルタ係数が収束してその周波数を抑圧し続ける。
【００７６】
（Ｃ−３）第１の実施形態のハウリング抑圧装置の効果
第１の実施形態のハウリング抑圧装置によれば、単一の周波数がハウリングする環境、ハウリング周波数が変化する環境、ハウリング周波数が帯域幅を有する環境でも、ハウリングを抑圧することができる。
【００７７】
（Ｄ）第２の実施形態のハウリング抑圧装置
次に、本発明によるハウリング抑圧装置の第２の実施形態を、図面を参照しながら説明する。
【００７８】
第２の実施形態のハウリング抑圧装置は、上述した第２の実施形態の適応ノッチフィルタ（多段適応ノッチフィルタ）を実装したものであり、入力信号に対して適応ノッチフィルタの処理を行い、複数の周波数がハウリングしている環境でも、ハウリングしている複数の周波数を抑圧するものである。
【００７９】
（Ｄ−１）第２の実施形態のハウリング抑圧装置の構成
図５は、第２の実施形態のハウリング抑圧装置の構成を示すブロック図であり、第１の実施形態のハウリング抑圧装置に係る図３との同一、対応部分には同一符号を付して示している。デジタル信号を処理する各部は、ＣＰＵと、ＣＰＵが実行するプログラムで構成することもできるが、この場合であっても、機能的には図５で表すことができる。
【００８０】
図５において、第２の実施形態のハウリング抑圧装置３００は、アナログ音信号が入力される音信号入力端子１０１と、音信号入力端子１０１に入力されたアナログ音信号をデジタル音信号に変換するＡＤ変換器１０２と、ＡＤ変換器１０２からのデジタル音信号を入力とし適応ノッチフィルタ（第２の実施形態の適応ノッチフィルタ）の処理を行う多段適応ノッチフィルタ部３０１と、多段適応ノッチフィルタ部３０１から出力されたデジタル音信号をアナログ音信号に変換するＤＡ変換器１０８と、アナログ音信号が出力される音信号出力端子１０９とを備える。
【００８１】
多段適応ノッチフィルタ部３０１は、ＡＤ変換器１０２から出力されたデジタル音信号を入力信号として（２６）式に示す適応ノッチフィルタの処理を行う多段フィルタ処理部３０２と、多段フィルタ処理部３０２の入力信号をフィルタ長分だけ保持できる入力レジスタ部１０５と、多段フィルタ処理部３０２の出力信号をフィルタ長分だけ保持できる出力レジスタ部１０６と、入力レジスタ部１０５及び出力レジスタ部１０６の保持信号からフィルタ係数を計算する多段フィルタ係数制御部３０３を備える。
【００８２】
図６は、多段フィルタ係数制御部３０３の詳細構成を示すブロック図である。多段フィルタ係数制御部３０３は、入力レジスタ部１０５及び出力レジスタ１０６の保持信号から、（２４）式及び（２５）式などの多段フィルタ係数更新アルゴリズムを用いて、フィルタ係数の更新量を計算する多段フィルタ係数更新量計算部４０１と、多段フィルタ係数更新量計算部４０１で計算されたフィルタ係数更新量などを用いて、（２２）式及び（２３）式に従ってフィルタ係数を更新する多段フィルタ係数更新部４０２と、更新されたフィルタ係数のうちの一つのフィルタ係数ａ（ｎ＋１）が０より大きく１より小さい値になっているか確認し、０以下の値又は１以上の値の場合に０より大きく１より小さい値になるように補正し、その後、更新されたフィルタ係数を出力する多段フィルタ係数補正部４０３と、多段フィルタ係数補正部４０３から出力されたフィルタ係数を保持する多段フィルタ係数レジスタ部４０４と、更新されたフィルタ係数から（２０）式のａ０ｂ１（ｎ）、ａ０２ｂ２（ｎ）、ａ０２ｊ−１ｂ２ｊ−１（ｎ）と（２１）式のａ０を求め、全てのフィルタ係数を出力する多段フィルタ係数計算部４０５を備える。
【００８３】
（Ｄ−２）第２の実施形態のハウリング抑圧装置の動作
次に、第２の実施形態のハウリング抑圧装置３００の動作を説明する。なお、第１の実施形態と同じ符号の各部は第２の実施形態でも同じ動作を実行する。
【００８４】
多段フィルタ処理部３０２は、入力レジスタ部１０５の保持信号（例えば、（２６）式のｘ（ｎ）、ｘ（ｎ−ｉ）、ｘ（ｎ−２ｊ）など）と、出力レジスタ部１０６の保持信号（例えば、（２６）式のｙ（ｎ−ｉ）、ｙ（ｎ−２ｊ）など）と、多段フィルタ係数制御部３０３から出力されたフィルタ係数（例えば、（２６）式のｂｉ（ｎ）、ａ（ｎ）、ａ０（ｎ）など）を用いて、当該多段フィルタ処理部３０２からの出力信号（（２６）式のｙ（ｎ））を求める。また、求められた出力信号ｙ（ｎ）は出力レジスタ部１０６及びＤＡ変換器１０８に与えられる。
【００８５】
次に、多段フィルタ係数制御部３０３の各部について説明する。
【００８６】
多段フィルタ係数更新量計算部４０１は、入力レジスタ部１０５及び出力レジスタ部１０６の保持信号から、多段フィルタ係数の更新量Δａ、Δｂｉを計算する。
【００８７】
多段フィルタ係数更新部４０２は、（２０）式に示す伝達関数の分母の定数項と分子の定数項と分子の最高次の係数を１にしたまま、多段フィルタ係数更新量計算部４０１から出力されたフィルタ係数更新量と多段フィルタ係数レジスタ部４０４のフィルタ係数と予め定められているステップゲインとを使用して、（２２）式及び（２３）式に従って、その他のフィルタ係数ａ（ｎ＋１）、ｂｉ（ｎ＋１）を更新し、多段フィルタ係数補正部４０３に更新されたフィルタ係数を出力する。
【００８８】
多段フィルタ係数補正部４０３は、更新されたフィルタ係数ａ（ｎ＋１）が０より大きく１より小さい値であるか否かを判定し、０より大きく１より小さい値のときは補正せずに、更新された他のフィルタ係数と共に多段フィルタ係数レジスタ部４０４及び多段フィルタ係数計算部４０５に出力する。更新されたフィルタ係数ａ（ｎ＋１）が０以下の値又は１以上の値のときは、多段フィルタ係数補正部４０３は、０より大きく１より小さい値になるように補正し（例えば、予め補正後の値を定めておく）、更新された他のフィルタ係数と共に多段フィルタ係数レジスタ部４０４及び多段フィルタ係数計算部４０５に出力する。
【００８９】
多段フィルタ係数レジスタ部４０４は、多段フィルタ係数補正部４０３から出力されたフィルタ係数を保持する。
【００９０】
多段フィルタ係数計算部４０５は、多段フィルタ係数補正部４０３から出力される更新されたフィルタ係数を使用して（２０）式のａ０ｂ１（ｎ）、ａ０２ｂ２（ｎ）、ａ０２ｊ−１ｂ２ｊ−１（ｎ）と（２１）式のａ０を計算し、多段フィルタ処理部３０２に出力する。
【００９１】
第２の実施形態のハウリング抑圧装置３００において、動作開始からハウリングが発生したときまでの動作、単一の周波数のハウリングを含む信号が入力されたときの動作、ハウリング周波数が変化したときの動作、帯域幅がある周波数が入力されたときの動作は、第１の実施形態のハウリング抑圧装置１００の動作と同様である。
【００９２】
複数の周波数がハウリングし始めると、多段フィルタ処理部３０２における多段適応ノッチフィルタは、複数の周波数を抑圧するフィルタ係数に収束していないので、ハウリングした信号を抑圧できずに、ＤＡ変換器１０８にハウリングしたデジタル音信号が出力される。ＤＡ変換器１０８では、多段適応ノッチフィルタ部３０１から出力されたデジタル音信号がアナログ音信号に変換され、音信号出力端子１０９を介して出力されるので、複数の周波数のハウリングが発生し始めたときはハウリングしたアナログ音信号が出力される。
【００９３】
多段フィルタ係数制御部３０３は、入力レジスタ部１０５と出力レジスタ部１０６の保持信号を用いて、フィルタ係数更新アルゴリズムに基づき、多段フィルタ係数更新量計算部４０１でフィルタ係数の更新量を計算し、多段フィルタ係数更新部４０２に出力する。多段フィルタ係数更新部４０２は、（２０）式に示す伝達関数の分母の定数項と分子の定数項と分子の最高次数の係数を１にしたまま、多段フィルタ係数更新量計算部４０１から出力されたフィルタ係数更新量と多段フィルタ係数レジスタ部４０４のフィルタ係数と固定のステップゲインとを使用して、（２２）式及び（２３）式のフィルタ係数を更新し、多段フィルタ係数補正部４０３に更新されたフィルタ係数を出力する。多段フィルタ係数補正部４０３は、更新されたフィルタ係数のうちの一つのフィルタ係数ａ（ｎ＋１）が０より大きく１より小さい値であるか否かを判定し、０より大きく１より小さい値のときは補正せずに、更新された他のフィルタ係数と共に、多段フィルタ係数レジスタ部４０４及び多段フィルタ係数計算部４０５に出力する。多段フィルタ係数補正部４０３は、フィルタ係数ａ（ｎ＋１）が０以下の値又は１以上の値のときは、０より大きく１より小さい値になるように補正し、更新された他のフィルタ係数と共に、多段フィルタ係数レジスタ部４０４及び多段フィルタ係数計算部４０５に出力する。更新開始からさほど時間が経過していないときには、多段適応ノッチフィルタ部３０１からの出力信号はまだまだ大きく、その結果、更新量も大きくなり、フィルタ係数はなかなか収束せずに更新が継続される。多段フィルタ係数計算部４０５は更新されたフィルタ係数からその他のフィルタ係数を求め、全てのフィルタ係数を多段フィルタ処理部３０２に出力する。
【００９４】
更新が進むと、多段フィルタ処理部３０２における適応ノッチフィルタのフィルタ係数は、複数の周波数を抑圧するように収束し、多段適応ノッチフィルタ部３０１からハウリングが抑圧された信号がＤＡ変換器１０８に出力される。ＤＡ変換器１０８では、多段適応ノッチフィルタ部３０１から出力されたデジタル音信号がアナログ音信号に変換され、音信号出力端子１０９を介して、ハウリングが抑圧されたアナログ音信号を出力する。多段フィルタ係数制御部３０３において、多段適応ノッチフィルタ部３０１からの出力信号がほぼ０になるので、多段フィルタ係数更新量計算部４０１で計算された更新量がほぼ０になり、多段フィルタ係数更新部４０２でフィルタ係数が更新されずに収束する。これによって、フィルタ係数の収束状態が継続され、ハウリングが抑圧され続ける。
【００９５】
複数の周波数で帯域幅を有する周波数がハウリングし始めると（ある周波数だけでなく、その周波数の前後の周波数成分もハウリングする）、多段フィルタ処理部３０２における多段適応ノッチフィルタは、複数の周波数を抑圧するフィルタ係数に収束していないので、ハウリングした信号を抑圧できずに、ＤＡ変換器１０８にハウリングしたデジタル音信号が出力される。ＤＡ変換器１０８では、多段適応ノッチフィルタ部３０１から出力されたデジタル音信号がアナログ音信号に変換され、音信号出力端子１０９を介して出力されるので、周波数で帯域幅を有する周波数がハウリングし始めたときはハウリングしたアナログ音信号が出力される。
【００９６】
多段フィルタ係数制御部３０３は、入力レジスタ部１０５と出力レジスタ部１０６の保持信号を用いて、フィルタ係数更新アルゴリズムに基づき、多段フィルタ係数更新量計算部４０１でフィルタ係数の更新量を計算し、多段フィルタ係数更新部４０２に出力する。多段フィルタ係数更新部４０２は、（２０）式に示す伝達関数の分母の定数項と分子の定数項と分子の最高次数の係数を１にしたまま、多段フィルタ係数更新量計算部４０１から出力されたフィルタ係数更新量と多段フィルタ係数レジスタ部４０４のフィルタ係数と固定のステップゲインとを使用して、（２２）式及び（２３）式のフィルタ係数を更新し、多段フィルタ係数補正部４０３に更新されたフィルタ係数を出力する。多段フィルタ係数補正部４０３は、更新されたフィルタ係数のうちの一つのフィルタ係数ａ（ｎ＋１）が０より大きく１より小さい値であるか否かを判定し、０より大きく１より小さい値のときは補正せずに、更新された他のフィルタ係数と共に、多段フィルタ係数レジスタ部４０４及び多段フィルタ係数計算部４０５に出力する。多段フィルタ係数補正部４０３は、フィルタ係数ａ（ｎ＋１）が０以下の値又は１以上の値のときは、０より大きく１より小さい値になるように補正し、更新された他のフィルタ係数と共に、多段フィルタ係数レジスタ部４０４及び多段フィルタ係数計算部４０５に出力する。更新開始からさほど時間が経過していないときには、多段適応ノッチフィルタ部３０１からの出力信号はまだまだ大きく、その結果、更新量も大きくなり、フィルタ係数はなかなか収束せずに更新が継続される。多段フィルタ係数計算部４０５は更新されたフィルタ係数からその他のフィルタ係数を求め、全てのフィルタ係数を多段フィルタ処理部３０２に出力する。複数の周波数で帯域幅を有する周波数がハウリングしているのときには、このような更新処理でも、出力信号がまだまだ大きく更新量も大きくなり、フィルタ係数の収束は遅くなってフィルタ係数の更新がかなりの時間継続される。
【００９７】
それでも、更新が進むと、多段フィルタ処理部３０２における適応ノッチフィルタのフィルタ係数は、複数の周波数を抑圧するように収束し、多段適応ノッチフィルタ部３０１からハウリングが抑圧された信号がＤＡ変換器１０８に出力される。ＤＡ変換器１０８では、多段適応ノッチフィルタ部３０１から出力されたデジタル音信号がアナログ音信号に変換され、音信号出力端子１０９を介して、ハウリングが抑圧されたアナログ音信号を出力する。多段フィルタ係数制御部３０３において、多段適応ノッチフィルタ部３０１からの出力信号がほぼ０になるので、多段フィルタ係数更新量計算部４０１で計算された更新量がほぼ０になり、多段フィルタ係数更新部４０２でフィルタ係数が更新されずに収束する。これによって、フィルタ係数の収束状態が継続され、ハウリングが抑圧され続ける。
【００９８】
（Ｄ−３）第２の実施形態のハウリング抑圧装置の効果
第２の実施形態のハウリング抑圧装置によれば、複数の周波数がハウリングする環境、複数のハウリング周波数の一つ以上が変化する環境、複数のハウリング周波数の一つ以上が帯域幅を有する環境でも、ハウリングを抑圧することができる。
【００９９】
（Ｅ）他の実施形態
上記第１及び第２の実施形態のハウリング抑圧装置では、第１又は第２の実施形態の適応ノッチフィルタを、ハウリング抑圧装置に適用したものを示したが、第１又は第２の実施形態の適応ノッチフィルタの適用装置はハウリング抑圧装置に限定されるものではない。
【符号の説明】
【０１００】
１０…多段適応ノッチフィルタ、１１−１〜１１−ｊ…適応ノッチフィルタ、１００、３００…ハウリング抑圧装置、１０３…適応ノッチフィルタ部、１０４…フィルタ処理部、１０５…入力レジスタ部、１０６…出力レジスタ部、１０７…フィルタ係数制御部、２０１…フィルタ係数更新量計算部、２０２…フィルタ係数更新部、２０３…フィルタ係数補正部、２０４…フィルタ係数レジスタ部、２０５…フィルタ係数計算部、３０１…多段適応ノッチフィルタ部、３０２…多段フィルタ処理部、３０３…多段フィルタ係数制御部、４０１…多段フィルタ係数更新量計算部、４０２…多段フィルタ係数更新部、４０３…多段フィルタ係数補正部、４０４…多段フィルタ係数レジスタ部、４０５…多段フィルタ係数計算部。
【図１】
2014042103.tif 000018
【図２】
2014042103.tif 000019
【図３】
2014042103.tif 000020
【図４】
2014042103.tif 000021
【図５】
2014042103.tif 000022
【図６】
2014042103.tif 000023