(57)【特許請求の範囲】
【請求項１】
線形に連結された複数の適応フィルタと、エコー除去手段とを備え、  上記の各適応フィルタは相互に共役複素数の関係にある２種類の荷重を用いて、複素数で表されるインパルス応答が局在する遅延時間を推定する遅延時間推定手段と、上記遅延時間推定手段により推定された遅延時間におけるインパルス応答値を推定する応答値推定手段と、上記遅延時間推定手段により推定された遅延時間と上記応答値推定手段により推定されたインパルス応答値から第１の誤差信号を求め、この第１の誤差信号と前回のインパルス応答値推定時に求めた第２の誤差信号のいずれか小さい方を第３の誤差信号として出力する誤差算出手段とを備え、
上記遅延時間推定と上記インパルス応答値推定、上記第３の誤差信号出力を繰り返すことで上記第３の誤差信号の最小値を求め、
上記エコー除去手段は、上記第３の誤差信号の最小値が予め設定した閾値より小さくなると上記遅延時間推定手段及び上記応答値推定手段の推定処理を止めて、最終的な遅延時間と荷重を用いてエコーを除去し、
上記応答値推定手段によるインパルス応答値の推定処理と次段の遅延時間推定手段による遅延時間の推定処理を同時に行うことを特徴とするエコーキャンセラ。
【請求項２】
遅延時間推定手段は、インパルス応答が局在する遅延時間を推定する際、各荷重に係る誤差信号の二乗平均値を求め、各二乗平均値の和を遅延時間の推定に使用する評価関数として取り扱うことを特徴とする請求項１記載のエコーキャンセラ。
【請求項３】
遅延時間推定手段は、一方の荷重に係る誤差信号の二乗平均値のサンプル数と、他方の荷重に係る誤差信号の二乗平均値のサンプル数とを相互に異なる回数に設定することを特徴とする請求項２記載のエコーキャンセラ。
【請求項４】
遅延時間推定手段は、一方の荷重に係る誤差信号の二乗平均値のサンプル数と、他方の荷重に係る誤差信号の二乗平均値のサンプル数とを相互に等しい回数に設定する場合、何れか一方の荷重に対して１以外の定数を乗算することを特徴とする請求項２記載のエコーキャンセラ。
【請求項５】
遅延時間推定手段は、インパルス応答が局在する遅延時間を推定する際、相互に共役複素数の関係にある２種類の荷重を用いる代わりに、複素数で表される荷重と、その荷重と位相が異なる荷重とを用いることを特徴とする請求項１記載のエコーキャンセラ。
【請求項６】
遅延時間推定手段は、インパルス応答が局在する遅延時間を推定する際、各荷重に係る誤差信号の二乗平均値を求め、各二乗平均値のうち一次近似直線との偏差が大きい方の二乗平均値を遅延時間の推定に使用する評価関数として取り扱うことを特徴とする請求項１記載のエコーキャンセラ。
【請求項７】
特定の段の入力信号を他の各段の入力信号として共通に用いることを特徴とする請求項１乃至６のいずれ１項に記載のエコーキャンセラ。
【請求項８】
相互に共役複素数の関係にある２種類の荷重を用いて、複素数で表されるインパルス応答が局在する遅延時間を推定し、上記遅延時間におけるインパルス応答値を推定する一方、上記遅延時間と上記インパルス応答値から第１の誤差信号を求め、この第１の誤差信号と前回のインパルス応答値推定時に求めた第２の誤差信号のいずれか小さい方を第３の誤差信号として出力し、
上記遅延時間推定と上記インパルス応答値推定、上記第３の誤差信号出力を繰り返すことで上記第３の誤差信号の最小値を求め、
上記インパルス応答値の推定処理と上記遅延時間の推定処理を同時に行い、
上記第３の誤差信号の最小値が予め設定した閾値より小さくなると上記遅延時間推定処理及び上記インパルス応答値の推定処理を止めて、最終的な遅延時間と荷重を用いてエコーを除去することを特徴とするエコーキャンセル方法。
【請求項９】
インパルス応答が局在する遅延時間を推定する際、各荷重に係る誤差信号の二乗平均値を求め、各二乗平均値の和を遅延時間の推定に使用する評価関数として取り扱うことを特徴とする請求項８記載のエコーキャンセル方法。
【請求項１０】
一方の荷重に係る誤差信号の二乗平均値のサンプル数と、他方の荷重に係る誤差信号の二乗平均値のサンプル数とを相互に異なる回数に設定することを特徴とする請求項９記載のエコーキャンセル方法。
【請求項１１】
一方の荷重に係る誤差信号の二乗平均値のサンプル数と、他方の荷重に係る誤差信号の二乗平均値のサンプル数とを相互に等しい回数に設定する場合、何れか一方の荷重に対して１以外の定数を乗算することを特徴とする請求項９記載のエコーキャンセル方法。
【請求項１２】
インパルス応答が局在する遅延時間を推定する際、相互に共役複素数の関係にある２種類の荷重を用いる代わりに、複素数で表される荷重と、その荷重と位相が異なる荷重とを用いることを特徴とする請求項８記載のエコーキャンセル方法。
【請求項１３】
インパルス応答が局在する遅延時間を推定する際、各荷重に係る誤差信号の二乗平均値を求め、各二乗平均値のうち一次近似直線との偏差が大きい方の二乗平均値を遅延時間の推定に使用する評価関数として取り扱うことを特徴とする請求項８記載のエコーキャンセル方法。
【請求項１４】
遅延時間の推定及びインパルス応答の推定のとき、特定の入力データを繰り返し使用することを特徴とする請求項８乃至１３のいずれか１項に記載のエコーキャンセル方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、複素数で表されるインパルス応答が時間軸上に局在する未知系のシステムを同定して、エコーを除去するエコーキャンセラ及びエコーキャンセル方法に関するものである。
【０００２】
【従来の技術】
図７は例えば、TRANSACTION  ON  ACOUSTICS,SPEECH,AND  SIGNAL  PROCESSING,VOL.37,NO.2,FEBRUARY  1989  pp254〜pp264に搭載された論文「Analysis  of  Adaptive  Technique  for  Modeling  Spare  Systems」に示された従来のエコーキャンセラを示す構成図であり、図において、１は入力信号ｘ（ｍ）として白色雑音を入力する未知系システムであり、未知系システム１は時間軸上に局在するＫ個のインパルス応答（各応答の値はｃ1，…，ｃk，…，ｃK（図示せず））を有するものとする。
【０００３】
Ｄ1，…，Ｄk，…，ＤKはサンプル間隔で規格化された遅延時間ｄ1，…，ｄk，…，ｄKを推定する遅延時間推定装置、Ｇ1，…，Ｇk，…，ＧKは遅延時間推定装置Ｄ1，…，Ｄk，…，ＤKにより推定された遅延時間ｄ1，…，ｄk，…，ｄKにおいて、未知系システム１が有するインパルス応答値ｃ1，…，ｃk，…，ｃKに相当する荷重ｇ1，…，ｇk，…，ｇKを決定する適応フィルタである。
２は未知系システム１の出力信号ｆ（ｍ）にプラントノイズｎ（ｍ）を重畳する仮想的な加算器、Ｅ1，…，Ｅk，…，ＥKは各段階の誤差信号ｅ1（ｍ），…，ｅk（ｍ），…，ｅK（ｍ）を求める演算回路である。
【０００４】
図８は遅延時間推定装置Ｄkの内部を示す構成図であり、図において、１１はｄ種類（このｄは遅延時間の最大探索値を示し、未知系システム１のインパルス応答の時間軸を満たすように与えられる）の遅延時間が設定される遅延回路、１２は実数値で表される適当な荷重ｇを遅延回路１１から出力された遅延後の入力信号ｘ（ｍ−ｄ）に乗算する乗算器、１３は第ｋ−１段の誤差信号ｅk-1（ｍ）から乗算器１２の乗算結果を減算して、第ｋ段の誤差信号ｅk（ｍ）を求める減算器、１４はｄ種類の遅延時間毎にサンプル数Ｎ個で誤差信号ｅk（ｍ）の二乗平均値Φ（ｄ）を求める二乗平均値算出装置、１５は二乗平均値算出装置１４により求められた二乗平均値Φ（ｄ）を評価して遅延時間ｄkを推定する二乗平均値評価回路である。
なお、図６は従来のエコーキャンセラの処理を示すフローチャートである。
【０００５】
次に動作について説明する。
ここでは、時間軸上にインパルス応答が局在している未知系システム１の同定を考えるが、簡単のためノイズフリーな状況を想定する。なお、説明を簡単にするため第ｋ段の回路の動作を説明する。
まず、１段目から処理を開始するために、ｋ＝１に設定する（ステップＳＴ０）。次に、遅延時間推定装置Ｄkが適応フィルタＧkを動作させる遅延時間ｄkの推定を行う。
【０００６】
即ち、遅延時間推定装置Ｄkは、乗算器１２の荷重ｇを適当な実数値に固定し、乗算器１２が荷重ｇを遅延回路１１によって１、２、３、…、ｄだけ遅延されたｄ種類の入力信号ｘ（ｍ−１）、ｘ（ｍ−２）、ｘ（ｍ−３）、…、ｘ（ｍ−ｄ）に乗算する。
そして、減算器１３は、第ｋ−１段の誤差信号ｅk-1（ｍ）から乗算器１２の乗算結果を減算して、第ｋ段の誤差信号ｅk（ｍ）を出力する。
【０００７】
遅延時間推定装置Ｄkの二乗平均値算出装置１４は、減算器１３が第ｋ段の誤差信号ｅk（ｍ）を出力すると、遅延時間の最大探索値ｄを未知系システム１のインパルス応答の時間軸を満たすように与え、下式に示すように、ｄ種類の遅延時間毎にサンプル数Ｎ個で誤差信号ｅk（ｍ）の二乗平均値Φ（ｄ）を求める（ステップＳＴ１）。
【０００８】
【数１】
0004391675.tif 000002
【０００９】
ただし、ｋ＝１の場合、誤差信号ｅk-1（ｍ）は未知系システム１の出力信号ｆ（ｍ）とする。ここで、ｄは遅延回路１１において探索する遅延時間を示し１、２、３、…、ｄのｄ種類ある、Ｎはサンプル数、ｍはディジタル信号の時間因子、ｇは荷重、ｘは入力信号ｘ（ｍ）を表すものとする。
【００１０】
二乗平均値評価回路１５は、二乗平均値算出装置１４が誤差信号ｅk（ｍ）の二乗平均値Φ（ｄ）を求めると、その二乗平均値Φ（ｄ）の一次近似直線を求めて遅延時間ｄkを推定する。この場合、回帰モデルを用いたシステムにおいて、最小二乗法によって単回帰直線を求める公知の方法と同じようにして一時近似直線を求めることができる。
即ち、誤差信号ｅk（ｍ）の二乗平均値Φ（ｄ）と一次近似直線の偏差が最大となるタップ位置を遅延時間ｄkとする（ステップＳＴ２）。
【００１１】
図１０は遅延時間推定方法を模式的に示す説明図である。図１０において、実線は誤差信号ｅk（ｍ）の二乗平均値Φ（ｄ）を表し、点線は二乗平均値Φ（ｄ）の一次近似直線を表している。横軸には遅延時間ｄを取っている。
図中、矢印で示した遅延時間において、二乗平均値Φ（ｄ）と一次近似直線の偏差が最大になるので、この遅延時間を第ｋ段の遅延時間ｄkと推定する。偏差の最大値から遅延時間ｄkが推定できる原理は、式（１）を式（２）のように変形することにより、理解することができる。
【００１２】
【数２】
0004391675.tif 000003
【００１３】
ただし、ｃiは未知系システム１のインパルス応答値、ｒxxは入力信号ｘ（ｍ）の自己相関関数、Ｋはタップ数を表すものとする。
式（２）において、右辺第一項は定数値となる。右辺第二項は入力信号ｘ（ｍ）として白色雑音を考えており、さらにｉ≠ｊであるため相関値ｒxx（ｄi−ｄj）は０となり、この項は０となる。右辺第三項は定数値となる。右辺第四項は遅延時間がｄ＝ｄiになるときｒxx（ｄ−ｄi）が最小値を取るので、一次近似直線との偏差が最大になる。これより、インパルス応答値が局在する遅延時間ｄkを推定することができる。
【００１４】
適応フィルタＧkは、遅延時間推定装置Ｄkが遅延時間ｄkを推定すると、その遅延時間ｄkにおいて、未知系システム１が有するインパルス応答値ｃkに相当する荷重ｇkを決定する（ステップＳＴ３）。
ここでは、適応アルゴリズムの一例として、下記に示す正規化ＬＭＳアルゴリズムの荷重更新式を用いる。
ｇk（ｍ＋１）＝ｇk（ｍ）＋αｘ（ｍ−ｄk）ｅk（ｍ）        （３）
ただし、αはステップサイズパラメータを表すものとする。
【００１５】
上記の式によって求められた荷重ｇk（ｍ＋１）は新たなｇk（ｍ）として更新される。
演算回路Ｅkは、適応フィルタＧkがインパルス応答値ｃkに相当する更新後の荷重ｇk（ｍ）を決定すると、下式に示すように、その荷重ｇk（ｍ）と遅延時間推定装置Ｄkにより推定された遅延時間ｄkを用いて誤差信号ｅk（ｍ）を求める（ステップＳＴ４）。
ｅk（ｍ）＝ｅk-1（ｍ）−ｇk（ｍ）ｘ（ｍ−ｄk）    （４）
ただし、ｋ＝１の場合、誤差信号ｅk-1（ｍ）は未知系システム１の出力信号ｆ（ｍ）とする。
【００１６】
遅延時間推定装置Ｄk、適応フィルタＧk及び演算回路Ｅkは、その誤差信号ｅk（ｍ）の最小値が予め設定された閾値よりも小さくない場合には、ｋ＝ｋ＋１として（ステップＳＴ７）、ｋ＝Ｋになるまで、ステップＳＴ１〜ＳＴ４の処理を繰り返すが、その誤差信号ｅk（ｍ）の最小値が予め設定された閾値よりも小さい場合には、上記の繰り返し処理を終了する（ステップＳＴ５）。
【００１７】
このようにして、上記の繰り返し処理が終了すると、未知系システム１のインパルス応答が局在する全ての遅延時間ｄ1，…，ｄk，…，ｄKと、インパルス応答値ｃ1，…，ｃk，…，ｃKに相当する荷重ｇ1，…，ｇk，…，ｇKを用いて、図示せぬエコー除去部が未知系システム１を模擬することにより、エコーの除去を実施する（ステップＳＴ６）。
【００１８】
【発明が解決しようとする課題】
従来のエコーキャンセラは以上のように構成されているので、入力信号、未知系システム１のインパルス応答値、適応フィルタＧk等の荷重及びプラントノイズなどのパラメータが実数値で与えられている。しかし、レーダ波帯の信号処理を実施する場合、信号の位相を観測する必要があるため各パラメータに複素数を割り当てる必要があるが、各パラメータに複素数を割り当てると、複素数で表されるインパルス応答が局在する遅延時間の推定が不可能になることがあるという課題があった。
【００１９】
この発明は上記のような課題を解決するためになされたもので、複素数で表されるインパルス応答値が局在する遅延時間の推定を可能にして、未知系システムの出力信号からエコーを除去することができるエコーキャンセラ及びエコーキャンセル方法を得ることを目的とする。
【００２０】
【課題を解決するための手段】
この発明に係るエコーキャンセラは、相互に共役複素数の関係にある２種類の荷重を用いて、複素数で表されるインパルス応答が局在する遅延時間を推定する遅延時間推定手段を設け、その遅延時間等を用いてエコーを除去するようにしたものである。
【００２１】
この発明に係るエコーキャンセラは、インパルス応答値の推定処理を行う応答値推定手段と遅延時間の推定処理を行う遅延時間推定手段を設け、応答値推定手段によるインパルス応答値の推定処理と次段の遅延時間推定手段による遅延時間の推定処理を同時に行うものである。
【００２２】
この発明に係るエコーキャンセラは、遅延時間推定手段が各荷重に係る誤差信号の二乗平均値を求め、各二乗平均値の和を遅延時間の推定に使用する評価関数として取り扱うようにしたものである。
【００２３】
この発明に係るエコーキャンセラは、遅延時間推定手段が一方の荷重に係る誤差信号の二乗平均値のサンプル数と、他方の荷重に係る誤差信号の二乗平均値のサンプル数とを相互に異なる回数に設定するようにしたものである。
【００２４】
この発明に係るエコーキャンセラは、遅延時間推定手段が一方の荷重に係る誤差信号の二乗平均値のサンプル数と、他方の荷重に係る誤差信号の二乗平均値のサンプル数とを相互に等しい回数に設定する場合、何れか一方の荷重に対して１以外の定数を乗算するようにしたものである。
【００２５】
この発明に係るエコーキャンセラは、遅延時間推定手段が相互に共役複素数の関係にある２種類の荷重を用いる代わりに、複素数で表される荷重と、その荷重と位相が異なる荷重とを用いるようにしたものである。
【００２６】
この発明に係るエコーキャンセラは、特定の段の入力信号を他の各段の入力信号として共通に用いるものである。
【００２７】
この発明に係るエコーキャンセラは、遅延時間推定手段が各荷重に係る誤差信号の二乗平均値を求め、各二乗平均値のうち一次近似直線との偏差が大きい方の二乗平均値を遅延時間の推定に使用する評価関数として取り扱うようにしたものである。
【００２８】
この発明に係るエコーキャンセル方法は、相互に共役複素数の関係にある２種類の荷重を用いて、複素数で表されるインパルス応答値が局在する遅延時間を推定し、その遅延時間等を用いてエコーを除去するようにしたものである。
【００２９】
この発明に係るエコーキャンセル方法は、インパルス応答値の推定処理と上記遅延時間の推定処理を同時に行うようにしたものである。
【００３０】
この発明に係るエコーキャンセル方法は、各荷重に係る誤差信号の二乗平均値を求め、各二乗平均値の和を遅延時間の推定に使用する評価関数として取り扱うようにしたものである。
【００３１】
この発明に係るエコーキャンセル方法は、一方の荷重に係る誤差信号の二乗平均値のサンプル数と、他方の荷重に係る誤差信号の二乗平均値のサンプル数とを相互に異なる回数に設定するようにしたものである。
【００３２】
この発明に係るエコーキャンセル方法は、一方の荷重に係る誤差信号の二乗平均値のサンプル数と、他方の荷重に係る誤差信号の二乗平均値のサンプル数とを相互に等しい回数に設定する場合、何れか一方の荷重に対して１以外の定数を乗算するようにしたものである。
【００３３】
この発明に係るエコーキャンセル方法は、相互に共役複素数の関係にある２種類の荷重を用いる代わりに、複素数で表される荷重と、その荷重と位相が異なる荷重とを用いるようにしたものである。
【００３４】
この発明に係るエコーキャンセル方法は、各荷重に係る誤差信号の二乗平均値を求め、各二乗平均値のうち一次近似直線との偏差が大きい方の二乗平均値を遅延時間の推定に使用する評価関数として取り扱うようにしたものである。
【００３５】
この発明に係るエコーキャンセル方法は、遅延時間の推定及びインパルス応答の推定のとき、特定の入力データを繰り返し使用するようにしたものである。
【００３６】
【発明の実施の形態】
以下、この発明の実施の一形態を説明する。
実施の形態１．
図１はこの発明の実施の形態１によるエコーキャンセラを示す構成図であり、図において、１は入力信号ｘ（ｍ）として白色雑音を入力する未知系システムであり、未知系システム１は時間軸上に局在するＫ個のインパルス応答値ｃ1，…，ｃk，…，ｃKを有するものとする。
【００３７】
Ｄ1，…，Ｄk，…，ＤKはサンプル間隔で規格化された遅延時間ｄ1，…，ｄk，…，ｄKを推定する遅延時間推定装置であり、遅延時間推定装置Ｄ1，…，Ｄk，…，ＤKは相互に共役複素数の関係にある２種類の荷重ｇ，ｇ*を用いて、複素数で表されるインパルス応答値ｃ1，…，ｃk，…，ｃKが局在する遅延時間ｄ1，…，ｄk，…，ｄKを推定する遅延時間推定手段を構成する。
【００３８】
Ｇ1，…，Ｇk，…，ＧKは遅延時間推定装置Ｄ1，…，Ｄk，…，ＤKにより推定された遅延時間ｄ1，…，ｄk，…，ｄKにおいて、未知系システム１が有するインパルス応答値ｃ1，…，ｃk，…，ｃKに相当する荷重ｇ1，…，ｇk，…，ｇKを決定する適応フィルタ（応答値推定手段）、２は未知系システム１の出力信号ｆ（ｍ）にプラントノイズｎ（ｍ）を重畳する仮想的な加算器、Ｅ1，…，Ｅk，…，ＥKは各段階の誤差信号ｅ1（ｍ），…，ｅk（ｍ），…，ｅK（ｍ）を求める演算回路、３は未知系システム１を模擬することにより、エコーの除去を実施するエコー除去部（エコー除去手段）である。
【００３９】
図２は遅延時間推定装置Ｄkの内部を示す構成図であり、図において、２１はｄ種類の遅延時間が設定される遅延回路、２２は複素数で表された固定の荷重ｇを遅延回路２１から出力された遅延後の入力信号ｘ（ｍ）に乗算する乗算器、２３は荷重ｇと複素共役な荷重ｇ*を遅延回路２１から出力された遅延後の入力信号ｘ（ｍ）に乗算する乗算器、２４は第ｋ−１段の誤差信号ｅk-1（ｍ）から乗算器２２の乗算結果を減算して、第ｋ段の誤差信号ｅk（ｍ）を求める減算器、２５は第ｋ−１段の誤差信号ｅk-1（ｍ）から乗算器２３の乗算結果を減算して、第ｋ段の誤差信号ｅk（ｍ）を求める減算器である。
【００４０】
２６はｄ種類の遅延時間毎にサンプル数Ｎ’個で誤差信号ｅk（ｍ）の二乗平均値Φｇ（ｄ）を求める二乗平均値算出装置、２７はｄ種類の遅延時間毎にサンプル数Ｎ−Ｎ’個で誤差信号ｅk（ｍ）の二乗平均値Φｇ*（ｄ）を求める二乗平均値算出装置、２８は二乗平均値算出装置２６により算出された二乗平均値Φｇ（ｄ）と二乗平均値算出装置２７により算出された二乗平均値Φｇ*（ｄ）を加算する加算器、２９は加算器２８の加算結果Φ’（ｄ）を評価して遅延時間ｄkを推定する二乗平均値評価回路である。
なお、図３はこの発明の実施の形態１によるエコーキャンセル方法を示すフローチャートである。
【００４１】
次に動作について説明する。
ここでは、時間軸上にインパルス応答が局在している未知系システム１の同定を考えるが、簡単のためノイズフリーな状況を想定する。  まず、１段目から処理を開始するために、ｋ＝１に設定する（ステップＳＴ１０）。次に、遅延時間推定装置Ｄkが適応フィルタＧkを動作させる遅延時間ｄkの推定を行う。
【００４２】
即ち、遅延時間推定装置Ｄkは、乗算器２２の荷重ｇを適当な複素数値に固定し、乗算器２２が荷重ｇを遅延回路２１から出力された遅延後の入力信号ｘ（ｍ）に乗算する。
また、遅延時間推定装置Ｄkは、乗算器２３の荷重を乗算器２２の荷重ｇと複素共役な荷重ｇ*に固定し、乗算器２３が荷重ｇ*を遅延回路２１から出力された遅延後の入力信号ｘ（ｍ）に乗算する。
【００４３】
減算器２４は、第ｋ−１段の誤差信号ｅk-1（ｍ）から乗算器２２の乗算結果を減算して、第ｋ段の誤差信号ｅk（ｍ）を出力し、減算器２５は、第ｋ−１段の誤差信号ｅk-1（ｍ）から乗算器２３の乗算結果を減算して、第ｋ段の誤差信号ｅk（ｍ）を出力する。
【００４４】
遅延時間推定装置Ｄkの二乗平均値算出装置２６は、減算器２４が第ｋ段の誤差信号ｅk（ｍ）を出力すると、遅延時間の最大探索値ｄを未知系システム１のインパルス応答値の時間軸を満たすように与え、下式に示すように、ｄ種類の遅延時間毎にサンプル数Ｎ’個で誤差信号ｅk（ｍ）の二乗平均値Φｇ（ｄ）を求める（ステップＳＴ１１）。
【００４５】
【数３】
0004391675.tif 000004
【００４６】
ただし、ｋ＝１の場合、誤差信号ｅk-1（ｍ）は未知系システム１の出力信号ｆ（ｍ）とする。ここで、ｄは遅延回路２１において探索する遅延時間、Ｎ’はサンプル数、ｍはディジタル信号の時間因子、ｇは荷重、ｘは入力信号ｘ（ｍ）を表すものとする。
【００４７】
また、二乗平均値算出装置２７は、減算器２５が第ｋ段の誤差信号ｅk（ｍ）を出力すると、遅延時間の最大探索値ｄを未知系システム１のインパルス応答値の時間軸を満たすように与え、下式に示すように、ｄ種類の遅延時間毎にサンプル数Ｎ−Ｎ’個で誤差信号ｅk（ｍ）の二乗平均値Φｇ*（ｄ）を求める（ステップＳＴ１２）。
【００４８】
【数４】
0004391675.tif 000005
【００４９】
ただし、ｋ＝１の場合、誤差信号ｅk-1（ｍ）は未知系システム１の出力信号ｆ（ｍ）とする。ここで、Ｎ−Ｎ’はサンプル数を表すものとする。
【００５０】
加算器２８は、二乗平均値算出装置２６が二乗平均値Φｇ（ｄ）を算出し、二乗平均値算出装置２７が二乗平均値Φｇ*（ｄ）を算出すると、下式に示すように、その二乗平均値Φｇ（ｄ）と二乗平均値Φｇ*（ｄ）を加算して、その加算結果Φ’（ｄ）を二乗平均値評価回路２９に出力する（ステップＳＴ１３）。
Φ’（ｄ）＝Φｇ（ｄ）＋Φｇ*（ｄ）                        （７）
【００５１】
二乗平均値評価回路２９は、加算器２８から二乗平均値の加算結果Φ’（ｄ）を受けると、その加算結果Φ’（ｄ）の一次近似直線を求めて遅延時間ｄkを推定する。
即ち、加算結果Φ’（ｄ）と一次近似直線の偏差が最大となるタップ位置を遅延時間ｄkとする（ステップＳＴ１４）。
偏差の最大値から遅延時間ｄkが推定できる原理は、式（７）を式（８）のように変形することにより、理解することができる。
【００５２】
【数５】
0004391675.tif 000006
【００５３】
ただし、ｃiは未知系システム１のインパルス応答値、ｒxxはサンプル数Ｎ’個の入力信号ｘ（ｍ）の自己相関関数、ｒ’xxはサンプル数Ｎ−Ｎ’個の入力信号ｘ（ｍ）の自己相関関数、ｒnnはプラントノイズｎ（ｍ）の自己相関関数、ｒnx，ｒxnは入力信号ｘ（ｍ）とプラントノイズｎ（ｍ）の相互相関関数、Ｋはタップ数、＊は複素共役を表すものとする。
【００５４】
式（８）において、右辺第一項Ａは定数値となる。その理由は、入力信号ｘ（ｍ）に白色雑音を考えているため入力信号ｘ（ｍ）の相互相関値は０となり、入力信号ｘ（ｍ）とプラントノイズｎ（ｍ）の相互相関値も０となり、残りの項は定数値を取るからである。
右辺第２項、第３項は、遅延時間がｄ＝ｄiになるときｒxx*（ｄ−ｄi），ｒ’xx*（ｄ−ｄi）が最大値になり、符号が負なので、最小値を取る。従って、一次近似直線との偏差が最大になる。これより、インパルス応答値が局在する遅延時間ｄkを推定することができる。
【００５５】
なお、式（８）では遅延時間推定の指標となるインパルス応答を含む項（右辺第２項、第３項）が、同時に未知系システム１のインパルス応答値や固定する荷重によって実部が０になることは起こりえない。遅延時間推定の指標となるインパルス応答を含む項は、必ず残存するために遅延時間ｄkの推定に失敗することはない。
【００５６】
ただし、２種類の荷重ｇ，ｇ*を用いて、複素数で与えられた未知系システム１の同定を行うとき、サンプル数をＮ’≠Ｎ／２に定めておく必要がある。その理由は次の通りである。
サンプル数をＮ’＝Ｎ／２とすると、式（８）を変形して次式を得ることができる。
【００５７】
【数６】
0004391675.tif 000007
【００５８】
このとき未知系システム１のインパルス応答値が純虚数であると、式（１０）の右辺第２項は実部を持たないため遅延時間ｄkの推定に失敗する。このため、タップ選択適応フィルタのアルゴリズムを複素数化する場合には、二乗平均値を求めるときのサンプル数をＮ’≠Ｎ／２に定めておく必要がある。
このように２種類の荷重ｇ，ｇ*を用いて、それぞれの荷重について誤差信号の二乗平均値を求めるサンプル数を異なるように設定しておくことで、タップ選択適応フィルタの遅延時間推定方法は複素数に対応したものになる。
【００５９】
適応フィルタＧkは、遅延時間推定装置Ｄkが遅延時間ｄkを推定すると、その遅延時間ｄkにおいて、未知系システム１が有するインパルス応答値ｃkに相当する荷重ｇkを推定する（ステップＳＴ１５）。
ここでは、適応アルゴリズムの一例として、下記に示す正規化ＬＭＳアルゴリズムの荷重更新式を用いる。
【００６０】
【数７】
0004391675.tif 000008
【００６１】
ただし、α，βはステップサイズパラメータを表し、＊は複素共役を表すものとする。
【００６２】
演算回路Ｅkは、適応フィルタＧkがインパルス応答値ｃkに相当する荷重ｇkを決定すると、下式に示すように、その荷重ｇkと遅延時間推定装置Ｄkにより推定された遅延時間ｄkを用いて誤差信号ｅk（ｍ）を求める（ステップＳＴ１６）。
ｅk（ｍ）＝ｅk-1（ｍ）−ｇk（ｍ）ｘ（ｍ−ｄk）          （１２）
ただし、ｋ＝１の場合、誤差信号ｅk-1（ｍ）は未知系システム１の出力信号ｆ（ｍ）とする。
【００６３】
遅延時間推定装置Ｄk、適応フィルタＧk及び演算回路Ｅkは、その誤差信号ｅk（ｍ）の最小値が予め設定された閾値よりも小さくない場合には、ｋ＝ｋ＋１として（ステップＳＴ１９）、ｋ＝Ｋになるまで、ステップＳＴ１１〜ＳＴ１６の処理を繰り返すが、その誤差信号ｅk（ｍ）の最小値が予め設定された閾値よりも小さい場合には、上記の繰り返し処理を終了する（ステップＳＴ１７）。
【００６４】
このようにして、上記の繰り返し処理が終了すると、未知系システム１のインパルス応答が局在する全ての遅延時間ｄ1，…，ｄk，…，ｄKと、インパルス応答値ｃ1，…，ｃk，…，ｃKに相当する荷重ｇ1，…，ｇk，…，ｇKを用いて、エコー除去部３が未知系システム１を模擬することにより、エコーの除去を実施する（ステップＳＴ１８）。
【００６５】
以上で明らかなように、この実施の形態１によれば、相互に共役複素数の関係にある２種類の荷重ｇ，ｇ*を用いて、複素数で表されるインパルス応答値ｃkが局在する遅延時間ｄkを推定し、その遅延時間ｄk等を用いてエコーを除去するように構成したので、複素数で表されるインパルス応答値ｃkが局在する遅延時間ｄkの推定が可能になり、その結果、未知系システム１の出力信号ｆ（ｍ）からエコーを除去することができる効果を奏する。
【００６６】
実施の形態２．
実施の形態１では、システム同定を行い未知系を模擬しエコーを除去しようとする未知系の出力が時間軸において局在したインパルス応答である場合、適応フィルタのタップ段数は時間軸においてインパルス応答波形に見合うだけ必要となる。エコーが広帯域化したり時間軸の広がりが大きくなるなどして適応フィルタのタップ段数が増えてくると演算負荷が大きくなり処理に時間がかかる。そこでインパルス応答が局在する遅延時間においてのみ適応フィルタを動作させるタップ選択適応フィルタが処理時間の短縮や演算負荷低減の面などから有利であると考えられる。
【００６７】
これまで説明してきたタップ選択適応フィルタを用いたエコーキャンセラは、第ｋ段の遅延時間の推定と、その時間においてのインパルス応答値の推定の処理が完全に終了してから第ｋ+1段における遅延時間の推定の処理を開始している。このため遅延時間の推定中にはインパルス応答値の推定を行うことができず、処理時間の点で課題がある。この実施の形態２では、第ｋ段におけるインパルス応答値の推定の処理中に、第ｋ+1段における遅延時間の推定の処理を開始して、さらなる処理時間の短縮を可能にする。
【００６８】
図４はこの発明の実施の形態２の原理的構成を示す図である。図において、図１と同符号は同一又は相当部分である。また、図５は処理のタイムチャートであり、各段において荷重推定と次段の遅延時間推定を同時に行っている様子を示している。なお、図示されていないが、右方向が時間の進む方向である。
図４において第k段における荷重推定中に得られる誤差信号ｅk（ｍ）（ここで、ｍ回目の処理であることを示す）を荷重更新毎に比較し、小さい誤差信号の値を用いて第k+1段における遅延時間の推定を同時に行う構成とする。このようにすると図５に示すように遅延時間の推定にかかる時間のK-1倍の処理時間を短縮することが可能となる。
【００６９】
図４において、実施の形態１と異なる部分のみ説明する。
前述の複素タップ選択適応フィルタによって第k段の遅延時間推定後、第k段の荷重推定とそれと同時に行う第k+1段の遅延時間推定について述べる。未知系のインパルス応答に相当する荷重を求める場合、適応フィルタＧkの荷重を更新し、更新毎の誤差信号ｅk（ｍ）を求める。この繰り返し毎に出力される誤差信号ｅk（ｍ）を前回荷重更新時の誤差信号ｅk（ｍ-1）と比較し、小さい方の値をその時点での仮の第k段の誤差信号とする。処理時間短縮のために同時に行う第k+1段の遅延時間推定にはこの仮の第k段の誤差信号ｅk（ｍ）を用いることにする。
【００７０】
遅延時間推定装置の動作は実施の形態１と同じであるので説明を省略する。
【００７１】
上記の遅延時間推定装置を用いた複素タップ選択適応フィルタの処理手順を図６のフローチャートにしたがって説明する。ここでは時間軸上に複素数のインパルス応答が局在している未知系のシステムの同定を考える。
【００７２】
まず、第１段から処理を開始するためにｋ＝１とする（ステップＳＴ０）。次に、適応フィルタを動作させる遅延時間の推定を行う。この時複素数に対応させるために図２に示す遅延時間推定装置Ｄkを用いる。荷重ｇkをある任意の値に固定し、サンプル数N'個で誤差信号の二乗平均誤差を求める。以下、ステップＳＴ１４までは実施の形態１と同様に行う。（ステップＳＴ１１〜ステップＳＴ１４）
【００７３】
求められた遅延時間ｄkにおいて、適応フィルタＧkを動作させ、その荷重ｇkから未知系のインパルス応答値をもとめる。ここでは適応アルゴリズムの一例として式(5)に示す正規化ＬＭＳアルゴリズムの荷重更新の式を用いる。（ステップＳＴ１５）
【００７４】
この過程において未知系のインパルス応答地に相当する荷重を求めるために適応処理を行う。このとき式(5)(6)を繰り返し荷重gk(m)を計算する。このとき繰り返し毎に誤差信号ek(m)と荷重gk(m)が計算される。
【００７５】
この推定中に得られる誤差信号ek(m)と前回得られた誤差信号ek(m-１)を比較し、小さい方の誤差信号の値を仮の誤差信号とする。仮の誤差信号をステップＳＴ１１、ステップＳＴ１２に用いて第k+1段の遅延時間推定を開始することにする。（ステップＳＴ１５１６）
【００７６】
ただし、第１段の遅延時間推定は実施の形態１と同様に求める。
【００７７】
第ｋ段において未知系のインパルス応答値に相当する荷重の更新の処理と第k+1段の遅延時間推定が同時に終了するように、双方の繰り返し回数を設定する。
【００７８】
ただし、第ｋ段において未知系のインパルス応答値に相当する荷重の更新の処理が第k+1段の遅延時間推定よりも早く終了した場合には荷重推定の繰り返し回数終了後の真の誤差信号、すなわち誤差信号の最小値を用いて引き続き遅延時間の推定を行うように構成することも可能である。
【００７９】
ステップＳＴ１５１６で求められた誤差信号の最小値が予め設定しておいた閾値よりも小さくなる場合には、この繰り返しの処理を止める。それ以外の場合にはk=k+1として、k=KとなるまでステップＳＴ１５１６〜ＳＴ２４を繰り返す。
【００８０】
誤差信号の最小値と閾値の比較は第k段の荷重推定終了直後であるので、繰り返しの処理を即座にとめることも可能であるが、第k段の荷重推定終了時には第k+1段の遅延時間も求められているので第k+1段の荷重推定後に繰り返しの処理をとめる構成とすることも可能である。
【００８１】
以上の処理を行うことで未知系のインパルス応答が局在する遅延時間とその大きさの推定の処理時間の短縮が可能となる。これらの値を用いて未知系を模擬し、エコーの除去を行う。（ステップＳＴ１８）
【００８２】
この実施の形態２によれば、応答値推定手段によるインパルス応答値の推定処理と次段の遅延時間推定手段による遅延時間の推定処理を同時に行うように構成したので、未知系のインパルス応答が局在する遅延時間とその大きさの推定の処理時間の短縮が可能となるという効果を奏する。
【００８３】
実施の形態３．
上記実施の形態１，２では、サンプル数をＮ’≠Ｎ／２に設定するものについて示したが、荷重ｇに係る誤差信号ｅk（ｍ）の二乗平均値のサンプル数Ｎ’と、荷重ｇ*に係る誤差信号ｅk（ｍ）の二乗平均値のサンプル数Ｎ−Ｎ’とを相互に等しい回数に設定する場合、即ち、サンプル数をＮ’＝Ｎ／２に設定する場合には、荷重ｇ又は荷重ｇ*の何れかに定数ｐ（ｐ≠１）を乗算するようにすればよい。これにより、上記実施の形態１，２と同様の効果を奏することができる。
【００８４】
即ち、サンプル数をＮ’＝Ｎ／２に設定すると、上述したように遅延時間ｄkの推定ができなくなるので、荷重ｇ又は荷重ｇ*の何れかに定数ｐ（ｐ≠１）を乗算することにより、サンプル数をＮ’＝Ｎ／２の場合でも、遅延時間ｄkの推定を可能にする。
サンプル数をＮ’＝Ｎ／２に設定する場合の遅延時間推定の原理式は下記の通りである。
【００８５】
【数８】
0004391675.tif 000009
【００８６】
式（１３）によれば、右辺第２項の（ｇ＋ｐｇ*）が実数値になるのを避けることができるので、式（１０）のように、サンプル数がＮ’＝Ｎ／２のとき、実部が０になるのを回避することができる。
【００８７】
実施の形態４．
上記実施の形態１〜３では、相互に共役複素数の関係にある２種類の荷重ｇ，ｇ*を用いて遅延時間ｄkを推定するものについて示したが、複素数で表される荷重ｇと、その荷重ｇと位相が異なる荷重ｇ’とを用いて遅延時間ｄkを推定するようにしてもよく、上記実施の形態１〜３と同様の効果を奏する。
その他の部分は、上記実施の形態１〜３と同様であるため説明を省略する。
【００８８】
実施の形態５．
上記実施の形態１〜４では、加算器２８の加算結果Φ’（ｄ）を評価関数として取り扱うことにより、遅延時間ｄkを推定するものについて示したが、二乗平均値算出装置２６によりＮ個のサンプル数で算出された二乗平均値Φｇ（ｄ）と、二乗平均値算出装置２７によりＮ個のサンプル数で算出された二乗平均値Φｇ*（ｄ）のうち、一次近似直線との偏差が大きい方の二乗平均値を遅延時間ｄkの推定に使用する評価関数として取り扱うようにしてもよく、上記実施の形態１〜４と同様の効果を奏する。
その他の部分は、上記実施の形態１〜４と同様であるため説明を省略する。
【００８９】
実施の形態６．
上記実施の形態１〜５では、第ｋ段の遅延時間、未知系のインパルス応答値に相当する荷重の推定を行うとき、前段の入力信号と前段の誤差出力を用いて未知系のシステム同定をおこない、エコーを除去する構成としていたが、この実施の形態６では、第ｋ段の遅延時間、未知系のインパルス応答値に相当する荷重の推定を行うとき、例えば、第1段の入力信号と未知系の出力を記憶させ、式(1)，(5)，(6)，(7)の入力信号と未知系の出力にこれら記憶させた値を用いて未知系のシステム同定をおこない、エコーを除去する構成とする。この場合にはすべての段では第１段の入力信号と未知系の出力のみを用いればよいので、データの観測時間を１段分の時間に短縮することが可能となる。
その他の処理は、上記実施の形態１〜５と同様であるため説明を省略する。
【００９０】
【発明の効果】
以上のように、この発明によれば、相互に共役複素数の関係にある２種類の荷重を用いて、複素数で表されるインパルス応答が局在する遅延時間を推定する遅延時間推定手段を設け、その遅延時間等を用いてエコーを除去するように構成したので、複素数で表されるインパルス応答が局在する遅延時間の推定が可能になり、その結果、未知系システムの出力信号からエコーを除去することができる効果がある。
【００９１】
この発明によれば、遅延時間推定手段が各荷重に係る誤差信号の二乗平均値を求め、各二乗平均値の和を遅延時間の推定に使用する評価関数として取り扱うように構成したので、遅延時間の推定に使用する評価関数を簡単に求めることができる効果がある。
【００９２】
この発明によれば、応答値推定手段によるインパルス応答値の推定処理と次段の遅延時間推定手段による遅延時間の推定処理を同時に行うように構成したので、未知系のインパルス応答が局在する遅延時間とその大きさの推定の処理時間の短縮が可能となる効果がある。
【００９３】
この発明によれば、遅延時間推定手段が一方の荷重に係る誤差信号の二乗平均値のサンプル数と、他方の荷重に係る誤差信号の二乗平均値のサンプル数とを相互に異なる回数に設定するように構成したので、確実に遅延時間を推定することができる効果がある。
【００９４】
この発明によれば、遅延時間推定手段が一方の荷重に係る誤差信号の二乗平均値のサンプル数と、他方の荷重に係る誤差信号の二乗平均値のサンプル数とを相互に等しい回数に設定する場合、何れか一方の荷重に対して１以外の定数を乗算するように構成したので、このような設定の場合でも、遅延時間を推定することができる効果がある。
【００９５】
この発明によれば、遅延時間推定手段が相互に共役複素数の関係にある２種類の荷重を用いる代わりに、複素数で表される荷重と、その荷重と位相が異なる荷重とを用いるように構成したので、複素数で表されるインパルス応答値が局在する遅延時間を推定することができる効果がある。
【００９６】
この発明によれば、遅延時間推定手段が各荷重に係る誤差信号の二乗平均値を求め、各二乗平均値のうち一次近似直線との偏差が大きい方の二乗平均値を遅延時間の推定に使用する評価関数として取り扱うように構成したので、遅延時間の推定に使用する評価関数を簡単に求めることができる効果がある。
【００９７】
この発明によれば、特定の段の入力信号を他の各段の入力信号として共通に用いるように構成したので、データの観測時間を１段分の時間に短縮することが可能となる効果がある。
【００９８】
この発明によれば、相互に共役複素数の関係にある２種類の荷重を用いて、複素数で表されるインパルス応答が局在する遅延時間を推定し、その遅延時間等を用いてエコーを除去するように構成したので、複素数で表されるインパルス応答値が局在する遅延時間の推定が可能になり、その結果、未知系システムの出力信号からエコーを除去することができる効果がある。
【００９９】
この発明によれば、インパルス応答値の推定処理と次段の遅延時間の推定処理を同時に行うように構成したので、未知系のインパルス応答が局在する遅延時間とその大きさの推定の処理時間の短縮が可能となる効果がある。
【０１００】
この発明によれば、各荷重に係る誤差信号の二乗平均値を求め、各二乗平均値の和を遅延時間の推定に使用する評価関数として取り扱うように構成したので、遅延時間の推定に使用する評価関数を簡単に求めることができる効果がある。
【０１０１】
この発明によれば、一方の荷重に係る誤差信号の二乗平均値のサンプル数と、他方の荷重に係る誤差信号の二乗平均値のサンプル数とを相互に異なる回数に設定するように構成したので、確実に遅延時間を推定することができる効果がある。
【０１０２】
この発明によれば、一方の荷重に係る誤差信号の二乗平均値のサンプル数と、他方の荷重に係る誤差信号の二乗平均値のサンプル数とを相互に等しい回数に設定する場合、何れか一方の荷重に対して１以外の定数を乗算するように構成したので、このような設定の場合でも、遅延時間を推定することができる効果がある。
【０１０３】
この発明によれば、相互に共役複素数の関係にある２種類の荷重を用いる代わりに、複素数で表される荷重と、その荷重と位相が異なる荷重とを用いるように構成したので、複素数で表されるインパルス応答値が局在する遅延時間を推定することができる効果がある。
【０１０４】
この発明によれば、各荷重に係る誤差信号の二乗平均値を求め、各二乗平均値のうち一次近似直線との偏差が大きい方の二乗平均値を遅延時間の推定に使用する評価関数として取り扱うように構成したので、遅延時間の推定に使用する評価関数を簡単に求めることができる効果がある。
【０１０５】
この発明によれば、遅延時間の推定及びインパルス応答の推定のとき、特定の入力データを繰り返し使用するようにしたので、処理時間を短縮することができる効果がある。
【図面の簡単な説明】
【図１】  この発明の実施の形態１によるエコーキャンセラを示す構成図である。
【図２】  遅延時間推定装置Ｄkの内部を示す構成図である。
【図３】  この発明の実施の形態１によるエコーキャンセル方法を示すフローチャートである。
【図４】  この発明の実施の形態２によるエコーキャンセラを示す構成図である。
【図５】  実施の形態２によるエコーキャンセラの処理のタイムチャートである。
【図６】  この発明の実施の形態２によるエコーキャンセル方法を示すフローチャートである。
【図７】  従来のエコーキャンセラを示す構成図である。
【図８】  従来の遅延時間推定装置Ｄkの内部を示す構成図である。
【図９】  従来のエコーキャンセラの処理を示すフローチャートである。
【図１０】  遅延時間推定方法を模式的に示す説明図である。
【符号の説明】
１  未知系システム、２  仮想的な加算器、３  エコー除去部（エコー除去手段）、２１  遅延回路、２２  乗算器、２３  乗算器、２４  減算器、２５  減算器、２６  二乗平均値算出装置、２７  二乗平均値算出装置、２８  加算器、２９  二乗平均値評価回路、Ｄ1，…，Ｄk，…，ＤK  遅延時間推定装置（遅延時間推定手段）、Ｇ1，…，Ｇk，…，ＧK  適応フィルタ（応答値推定手段）、Ｅ1，…，Ｅk，…，ＥK  演算回路。
【図１】
0004391675.tif 000010
【図２】
0004391675.tif 000011
【図３】
0004391675.tif 000012
【図４】
0004391675.tif 000013
【図５】
0004391675.tif 000014
【図６】
0004391675.tif 000015
【図７】
0004391675.tif 000016
【図８】
0004391675.tif 000017
【図９】
0004391675.tif 000018
【図１０】
0004391675.tif 000019