(57)【要約】  （i）サンプルされた入力データ列ｘ［ｋ］と（ii）遠隔端信号列ｙ［ｋ］及び推定エコー信号Ｚ［ｋ］の間の差を示すエラー信号列ｅ［ｋ］に応じて推定エコー信号Ｚ［ｋ］を生成する適応デジタルフィルタを有するエコーキャンセラを提供する。エコーキャンセラは、（i）サンプルされた入力データ列ｘ［ｋ］と（ii）遠隔端信号列ｙ［ｋ］及び推定エコー信号Ｚ［ｋ］の差を示すエラー信号列ｅ［ｋ］に応じて推定エコー信号Ｚ［ｋ］を生成する適応デジタルフィルタを有する。適応デジタルフィルタは、それぞれのタップが関連するタップ出力信号を生成するＮ個のタップフィルタを有し、時間遅延推定信号に応じて選択された、Ｎ個のフィルタタップの中のＭ個からの関連するタップ出力信号を用いて推定エコー信号Ｚ［ｋ］を生成する。適応フィルタは前記Ｎ個のフィルタタップのうちＭ個からの関連するタップ出力信号を用いてＮ個のフィルタタップのうちＭ個のそれぞれに対するフィルタ係数を計算する。また、エコーキャンセラは、サンプル入力データ列ｘ［ｋ］及び信号列ｙ［ｋ］に応答し信号列ｘ［ｋ］内の複数の遅延を推定し、信号列ｘ［ｋ］内の複数の遅延の位置を示す時間遅延推定値を提供する、時間遅延推定器を有する。加算器が、信号列ｙ［ｋ］及び推定エコー信号Ｚ［ｋ］の間の差を計算し、その差を示す出力信号を提供する。本発明のエコーキャンセラはスパースエコーキャンセラとみなすことができる。これは、適応フィルタが、利用可能なフィルタタップの１部を選択的に使用して推定エコー信号を計算するからである。フィルタタップはエコーと関連する時間遅延推定データに基づいて選択される。例えば、Ｎ個のタップ数を有する適応フィルタは、Ｎ個のフィルタタップの中のＭ個のタップからの信号を処理できる。ここで、このＭ個のタップは時間遅延推定器からの時間遅延推定値に基づいて選択される。
2007503795.tif 000002
【特許請求の範囲】
【請求項１】
エコーキャンセラにおいて、
（i）サンプルされた入力データ列ｘ［ｋ］と（ii）信号列ｙ［ｋ］及び推定エコー信号Ｚ［ｋ］の間の差を示すエラー信号列ｅ［ｋ］とに応じて推定エコー信号Ｚ［ｋ］を生成する適応デジタルフィルタであって、それぞれのタップが、関連するタップ出力信号を生成するＮ個のフィルタタップを有し、時間遅延推定信号に応じて選択された前記Ｎ個のフィルタタップの中のＭ個からの前記関連するタップ出力信号を用いて前記推定エコー信号Ｚ［ｋ］を生成し、前記Ｎ個のフィルタタップのうちの前記Ｍ個からの前記関連するタップ出力信号を用いて前記Ｎ個のフィルタタップのうちの前記Ｍ個のそれぞれに対するフィルタ係数を計算する適応デジタルフィルタと、
時間遅延推定器であって、前記入力データ列ｘ［ｋ］及び前記信号列ｙ［ｋ］に応答し、前記入力データ列ｘ［ｋ］内の少なくとも１つの遅延を推定し、前記入力データ列ｘ［ｋ］内の前記少なくとも１つの遅延の位置を示す前記時間遅延推定値を提供する時間遅延推定器と、
加算器であって、前記信号列ｙ［ｋ］及び前記推定エコー信号Ｚ［ｋ］の差を計算し、その差を示す出力信号を提供する加算器と、
を備えるエコーキャンセラ。
【請求項２】
請求項１に記載のエコーキャンセラであって、前記適応フィルタをプログラマブルな処理装置によって実装される、エコーキャンセラ。
【請求項３】
請求項１に記載のエコーキャンセラであって、前記適応フィルタを特定用途向け集積回路によって実装される、エコーキャンセラ。
【請求項４】
スパースエコーキャンセラにおいて、
（i）サンプルされた入力データ列ｘ［ｋ］と（ii）信号列ｙ［ｋ］及び推定エコー信号Ｚ［ｋ］の間の差を示すエラー信号列ｅ［ｋ］に応じて推定エコー信号Ｚ［ｋ］を生成する適応デジタルフィルタであって、それぞれのタップが、関連するタップ出力信号を生成するＮ個のフィルタタップを有し、時間遅延推定信号に応じて選択されたＮ個のフィルタタップの中の選択されたいくつかからの前記関連するタップ出力信号を用いて前記推定エコー信号Ｚ［ｋ］を生成する適応デジタルフィルタと、
前記入力データ列ｘ［ｋ］及び前記信号列ｙ［ｋ］に応答して、前記入力データ列ｘ［ｋ］内の複数のエコーの時間的な位置を推定し、前記入力データ列ｘ［ｋ］内の前記エコーの時間的な位置を示す前記時間遅延推定を提供する手段と、
加算器であって、前記信号列ｙ［ｋ］及び前記推定エコー信号Ｚ［ｋ］の差を計算し、その差を示す出力信号を提供する加算器と、
を備えるスパースエコーキャンセラ。
【請求項５】
請求項４に記載のスパースエコーキャンセラであって、前記Ｎ個のフィルタタップが、Ｍ個のグループで構成および配列され、各々が前記時間遅延推定信号によって選択可能である、スパースエコーキャンセラ。
【請求項６】
請求項５に記載のスパースエコーキャンセラであって、前記適応フィルタが、確率勾配減少推定器を用いて前記フィルタタップのそれぞれの係数値を計算する適応制御ルーティンを有する、スパースエコーキャンセラ。
【請求項７】
請求項６に記載のスパースエコーキャンセラであって、前記確率勾配減少推定器が少なくとも二乗平均推定器を有するスパースエコーキャンセラ。
【請求項８】
請求項１に記載のエコーキャンセラであって、前記適応フィルタがフィルードプログラマブルゲートアレイによって実装されるエコーキャンセラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はエコーキャンセラに関し、特に、ノンゼロのフィルタタップ重み付け係数の数を少なくした離散時間適応フィルタを有するエコーキャンセラに関する。
【背景技術】
【０００２】
（優先権情報）本出願は２００３年５月２３日に出願された米国特許出願第１０／４４４，２６５号の優先権を主張するものであり、本出願にはこの米国特許出願の全体を援用し、組み込む。
【０００３】
周知の通り、長距離に渡って作動する電話網等の通信システムまたはデジタル携帯電話システム等の長時間の処理遅延を用いるシステムにおいて、厄介なエコーが生じる。このエコーは、ハイブリッド回路における、ローカル回線間及び平衡回路網間のインピーダンス不整合によって、４線−２線／２線‐４線式のハイブリッド回路に生ずる電気的な漏れによるものである。このエコーを低減するために、一般に、通信システムは１以上のエコーキャンセラを有する。
【０００４】
図１は、少なくとも２の加入者１２及び１４を接続する通信システム１０を示すブロック図である。第１の加入者１２は一般に２線式線路１６及びハイブリッド回路１８を介して通信システム１０に接続される。ハイブリッド回路１８は２線式線路１６と４線式線路２０及び２２を接続する。第１の４線式線路２０は第２のハイブリッド回路２４及び２線式線路２６を介して第２の加入者に信号を提供する。同様に、第２の加入者１４からの信号は２線式線路２６、第２のハイブリッド回路２４、及び４線式線路２０及び２２を介して第１の加入者１２へ送られる。1つの実施応用としては、ハイブリッド回路を電話会社の電話局に設置してもよい。インピーダンス不整合によりハイブリッド回路に生ずるエコー信号を低減させるために、エコーキャンセラ３０及び３２が設けられ、望ましくないエコーを減衰させる。
【０００５】
一般に、エコーキャンセラは、エコーの推定を行い、戻り信号値からその推定値を差し引く処理を行う適応フィルタを有する。一般の適応離散時間フィルタと同様に、フィルタのタップ重み付け係数が、エコー信号の推定値と戻り信号値との差に基づいて調整される。適応フィルタは適応制御ルーティンを用いて、差信号値をゼロまたは最小値にするためにタップ重み付け係数を調整する。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
先行技術のエコーキャンセラの課題は、工業規格ＩＴＵグリッド１６８（ITU G.168）によって、１２８ミリ秒までのエコーテール長を扱う必要があるということである。しかしながら、この要求を満たすためには、適応フィルタは１０２４のタップ数を有するようにする必要がある。当然、このような大きな数のタップ数を有するフィルタを設けることにより、エコーキャンセラにかかる計算上の負担が相対的に大きくなる。デジタル信号プロセッサ（ＤＳＰ）の実施例においては、このようなエコーキャンセラは、ＤＳＰが利用できる処理能力（例えば、ＭＩＰＳ）のうち、比較的大きな部分を必要とする。例えば、このような大きい数のタップ重み付け係数でＬＭＳアルゴリズムを用いるには、かなりの処理能力が必要となる（例えば、２４ＭＩＰＳ）。同様に、タップ数が１０２４の適応フィルタを特定用途向け集積回路（ＡＳＩＣ）に実装する場合、多数のゲートが必要となる。
【０００７】
従って、エコー信号の推定値を効率的に計算する、適応フィルタを有するエコーキャンセラが要求される。
【課題を解決するための手段】
【０００８】
本発明の１つの態様によれば、エコーキャンセラは、適応デジタルフィルタを有しており、このフィルタは（i）サンプルされた入力データ列ｘ［ｋ］及び（ii）信号列ｙ［ｋ］と推定エコー信号Ｚ［ｋ］の間の差を示すエラー信号列ｅ［ｋ］に応じて推定エコー信号Ｚ［ｋ］を生成する。この適応フィルタはＮ個のフィルタタップを有しており、それぞれのタップが関連したタップ出力信号を供給し、適応デジタルフィルタは、時間遅延推定信号に応じて選択されたＮ個のフィルタタップの中のＭ個からの関連タップ出力信号を用いて推定エコー信号Ｚ［ｋ］を生成する。この適応フィルタは、Ｎ個のフィルタタップの中のＭ個からの関連タップ出力信号を用いて、Ｎ個のフィルタタップの中のＭ個のそれぞれのフィルタ係数を計算する。また、エコーキャンセラは、サンプル入力データ列ｘ［ｋ］及び信号列ｙ［ｋ］に応答し、サンプル入力データ列ｘ［ｋ］内の遅延を推定し、サンプル入力データ列ｘ［ｋ］内の遅延の位置を示す時間遅延推定を提供する時間遅延推定器を有する。加算器は信号列ｙ［ｋ］および推定エコー信号Ｚ［ｋ］の差を計算し、その差を示す出力信号を生成する。
【０００９】
本発明のエコーキャンセラはスパースエコーキャンセラとみなすことができる。これは、エコーキャンセラの適応フィルタは利用可能なフィルタタップの一部（例えば、Ｎ個の中のＭ個）を選択的に使用し、推定エコー信号を計算するからである。このフィルタタップはエコーに関連する時間遅延推定データに基づいて選択される。例えば、Ｎ個のタップ数を有する適応フィルタは、Ｎ個のフィルタタップの中のＭ個からの信号を処理することができ、このＭ個のタップは時間遅延推定器からの時間遅延推定値に基づいて選択される。選択されたＭ個のタップは相対的に大きなエコー信号値を含む、推定された時間の位置を示す。
【００１０】
好都合なことに、本発明の装置及び方法は適応フィルタによって行われる処理の量を大幅に低減させる。これは、時間遅延推定器が、エコーと関連した最も適切なＭ個のタップの推定を提供し、その結果、適応フィルタはそのＭ個のタップのみを使用して、フィルタ出力を計算するからである。例えば、１つの実施形態において、１０２４個のタップを有する適応フィルタ（すなわち、Ｎ＝１０２４）は、わずか３２個のタップ（すなわち、Ｍ＝３２）を用いてフィルタ出力を計算する。
【００１１】
これら並びにその他の本発明の目的、特徴及び利点は、以下の好ましい実施形態の詳細な説明及び添付図面の例示よりさらに明らかになるであろう。
【発明を実施するための最良の形態】
【００１２】
図２はエコーキャンセラ３１の機能ブロック図である。エコーキャンセラ３１は、線路４０における近接端からの入力信号列ｎ［ｋ］を受信する。そして、ハイブリッド回路の望ましくないインピーダンス不整合により、線路４２においてエコー信号列ｚ［ｋ］が近接端からの入力信号列ｎ［ｋ］と結合し、線路４４上へ戻り信号列ｙ［ｋ］が送り出される。この線路４２上でのエコー信号列ｚ［ｋ］は、線路４５上における遠隔端からの信号列ｘ［ｋ］とハイブリッド回路のインパルス応答ｈ４６との積に等しい（すなわち、ｚ［ｋ］＝ｈＴ［ｋ］ｘ［ｋ］）。重要なことには、エコーキャンセラ３１は適応フィルタ４８を有しており、この適応フィルタは線路４９上に推定エコー信号列Ｚ［ｋ］（上に^
が付されたｚ［ｋ］をＺ［ｋ］を以て表すものとする。）を送り出す。信号列ｙ［ｋ］と推定エコー信号列Ｚ［ｋ］との差を示す差信号ｅ［ｋ］が計算され、線路５０上へ送り出される。
【００１３】
理想的には、適応フィルタ４８の係数が、適応フィルタのインパルス応答Ｈ［ｋ］（上に^が付されたｈをＨを以て表すものとする。）がハイブリッド回路のインパルス応答ｈ４６に等しくなるように選択されると、線路５０上における差信号ｅ［ｋ］の値が、近接端からの信号列ｎ［ｋ］がない場合において０となる。従って、適応フィルタ４８は線路５０上の差信号ｅ［ｋ］の値を動作させるようにそのタップ重み付け係数を最小／最適値（例えば、好ましくは０）に適応させる。
【００１４】
図３は、図２のエコーキャンセラ３１で使用される適応フィルタを示すブロック図である。適応フィルタ４８は線路５０上の差信号ｅ［ｋ］を受信し、適応フィルタのＮ個の係数Ｈｉ［ｋ］のそれぞれ（例えば、１０２４）に対して値を計算する適応制御ルーティン５６を有する。適応フィルタ４８の時間遅延網とタップ重み付け係数の乗算器は複数の論理ブロック３０２−３０５に分割して示されている。例えば、Ｍ個の論理ブロックのそれぞれが、例えば８つのフィルタタップを有していてもよい。図４は、遅延とフィルタタップの第１の論理ブロック３０２を示すブロック図であり、この論理ブロック３０２において遠隔端からの線路４５上の信号列ｘ［ｋ］を受信する。この線路４５上の信号は入力され、第１の係数Ｈ１［ｋ］４０４によって乗算され、その積が線路４０６上に出力される。線路４５上における遠隔端からの信号列ｘ［ｋ］及びその過去の信号が適応制御ルーティン５６に入力される（図３）。同様に、線路４０８上における遠隔端の信号列ｘ［ｋ−１］を遅延させた信号は、第２の係数Ｈ２［ｋ］４１０によって乗算され、その積は線路４１２上に出力される。第1の遅延網３２０内の残りのタップに関連する残りの積はそれぞれ係数Ｈ３［ｋ］−Ｈ８［ｋ］４２１−４２６と関連する線路４１４−４１９上に出力される。
【００１５】
再び図３を参照し、後に続く遅延及びフィルタタップの論理ブロック３０４−３０６は、第１の論理ブロック３０２と同様に構成され、配置されている（図４）。線路４０６，４１２及び４１４−４１９上での入力信号は加算器３０８によって加算され、この加算器は線路３１０上にこれを示す第１の加算信号を生成する。加算器３１２は第２の論理ブロック３０４からの積出力３１４を受信し、加算し、線路上３１６に第２の加算信号を生成する。同様に、加算器３２０は第３の論理ブロック３０５からの積出力３２２を加算し、線路３２４上に第２の加算信号を送り出す。加算器３２６は積出力３２８を受信及び加算し、線路３３０上へ第２の加算信号を送り出す。各論理ブロックはセレクタ／マルチプレクサ３３２に加算信号を送り出す。１０２４個のタップを有するフィルタの実施形態では、各論理ブロックは８個のタップ数を有するように分割されるものがある。この場合、セレクタ／マルチプレクサ３３２は１２８個の加算信号を受信する。
【００１６】
セレクタ／マルチプレクサ３３２はまた、線路３４０上の制御信号を受信する。この制御信号はセレクタ／マルチプレクサ３３２に入力される加算信号（例えば、１２８個の加算信号）のいずれを線路３４２へ出力すべきかを特定する。この選択基準については時間遅延推定器及び適応制御ルーティンと関係させて以下で説明する。加算器３４２はその入力信号を加算し、推定エコー信号列Ｚ［ｋ］を示す加算信号を線路４９上へ送り出す。従来技術の実施形態においては、１２８ミリ秒のテール長のエコー成分を適切に減衰するには、適応フィルタは１０２４個のタップを必要とし、この適応フィルタは推定エコー信号を生成するために、１０２４回の乗算、及び１０２４個の加算した信号値を必要とする。重要なことに、本発明のスパースエコーキャンセラはタップ数を少なくした適応フィルタを使用している。より詳しくは、時間遅延推定器は信号ｘ［ｋ］における主要なエコー信号成分がどこにあるのかを決定し、その結果、エコー成分の位置と関連したノンゼロ（ゼロでない）のタップ重み付け係数のみを使用し、フィルタの出力信号を計算する。この結果、本発明の技術は、各サンプルｋに対して、１０２４回の乗算及び１０２４回の信号値の加算（すなわち、１０２３回の加算）を実行するのではなく、大幅に計算の数を減少させるものである。ここで、線路３４０上に制御信号を生成するために用いる計算に関して説明する。
【００１７】
図２を再び参照し、時間遅延推定器４７は線路４４上の信号ｙ［ｋ］を受信し、線路４５上の遠隔端信号ｘ［ｋ］を受信する。図５は時間遅延推定器４７の１つの実施形態を示すブロック図である。時間遅延推定器４７はデータのブロックを処理し、エコー信号のサンプル信号ブロックのスペクトル内のどこが信号ｙ［ｋ］に対するものかを決定する。例えば、図６は線路４４上での信号ｙ［ｋ］を簡潔に示したものである（図２）。時間遅延推定器４７は、信号列内でエコー成分がどこにあるかを推定し、エコーが信号ｙ［ｋ］内のどこにあるかの指標を提供するために信号ｙ［ｋ］及び遠隔端信号ｘ［ｋ］を処理する。
【００１８】
図５を再び参照し、線路４４及び４５上の信号ｙ［ｋ］及び遠隔端送信信号ｘ［ｋ］はそれぞれ、デシメータ（decimator）５０２及び５０４に入力される。デシメーションは、例えば２であってもよい。当業者は当然、デシメータは必要ではないが、信号をデシメーション処理することによって時間遅延推定器４７内で必要とされる後続の計算量を減少させることを認識するであろう。本実施形態において、信号ｙ［ｋ］及び遠隔端送信信号ｘ［ｋ］は１０２４個のサンプルを有し、デシメーションファクタが２の場合、線路５０６及び５０８上でのデシメーション処理された信号は５１２サンプルを含む。線路５０６及び５０８上のデシメーション処理された信号は、相互相関器５１０に入力され、この相互相関器５１０は出力信号列を線路５１２上へ送り出す。
【００１９】
線路５１２上の出力信号は、離散信号ｘ［ｋ］及びｙ［ｋ］の間の時間遅延を示す信号値（例えば、線路５１２上での信号のピーク値）を含む。音声信号は非定常であるので、先行技術にあるように相互相関のみを用いて時間遅延を決定することは困難である。時間遅延推定器４７は非定常な離散信号に対する時間遅延を決定するための機能を提供する。
【００２０】
相互相関はサンプルバイサンプルベースで（サンプル毎に）実行してもよい。サンプルバイサンプルベースで実行する相関計算は以下のように表現される。
【数１】
2007503795.tif 000003
上記式１において、ｎはサンプル指標値、λは忘却因子値、τはラグ指標値である。サンプル指標はダウンコンバートされた信号内のデータ値の数に関連する。この場合、サンプル指標ｎは５１２である。この実施形態において線路５０６及び５０８上のダウンコンバートされた各信号は５１２のデータ値を有するからである。
【００２１】
また、相互相関はブロックバイブロックベースで（ブロック毎に）実行されてもよく、各ブロックはある時間量に渡る信号値を含む。ブロックバイブロックベースで実行される相互相関５１０の計算は以下のように表現される。
【数２】
2007503795.tif 000004
上記式２において、ｋはブロック指標値、Ｂはブロック長の値、λは忘却因子値、及びτはラグ指標値である。１つの実施形態では、ブロック長は５ｍｓであってもよい。この種の相互相関は、２つの信号ｘ［ｋ］及びｙ［ｋ］を分析する場合に空間的なディメンションを与える。また、相互相関器５１０は入力値の平均化を行うことが好ましいので、帰納的な関係は式２の関係に等しくなり、ブロックバイブロック相互相関を実行するための式は、式３のように示すことができる。
【数３】
2007503795.tif 000005
【００２２】
相互相関は出力平均値を提供し、この値は正または負のどちらでもよい。しかしながら、相互相関出力は、信号ｘ［ｋ］及びｙ［ｋ］内に含まれる時間遅延の効果を含んでいてもよい。相互相関出力は時間遅延の効果を正確には表していない。これは、相関信号が、非定常な特性を示す音声信号だからである。従って、時間遅延推定値を計算するために、更なる分析が必要とされる。
【００２３】
相互相関器５１０の出力信号は、ラグスムーザ５１４に入力され、このラグスムーザ５１４もまた、データブロックに作用（ｓｐａｎ）する。ラグスムーザ５１４は、相互相関出力信号にスムージング処理を実行する。例えば、ラグスムーザ５１４は、スライディングウィンドウ計算によって相互相関出力の平均を計算する。このスライディングウィンドウは相互相関出力信号列を横断して作用する。このフィルタリング方法は、相互相関出力に関連するデータ値の数と比べると少ない数の出力データ群を生成する。１つの実施形態では、ラグスムーザ５１４は入力として５１２個のデータ値を受け、３２個のデータ値を出力する。この理由は、本実施形態におけるラグスムーザ５１４は、出力信号列のそれぞれを生成するために、約２４個のデータ値の大きさを持つスライディングウィンドウを有するからである。スライディングウィンドウは、前回のラグスムージング処理の出力のラグを用いて入力データ値と重ね合わせられてもよく、これにより、次のラグスムージング処理した出力を生成してもよい。ラグスムーザ５１４は、相互相関器５１０の出力の平均出力（パワー：power）を計算する。従って、ラグスムーザ５１４の出力値は正の値である。
【００２４】
ラグスムーザ５１４は、相互相関出力のパワー平均を計算し、スライディングウィンドウを利用する。１つの実施形態では、スライディングウィンドウは２４個のデータサンプルという大きさを有しているが、当然、異なるウィンドウの大きさＳを選択してもよい。相互相関器５１０は、約５１２個のデータサンプルを出力する。したがって、ウィンドウの大きさが２４の場合、ラグスムーザ５１４は３２個の出力を生成する。
【００２５】
ラグスムーザ５１４は以下の式より出力値を計算できる。
【数４】
2007503795.tif 000006
上記式４において、Ｌはスライディングウィンドウの大きさ、Ｐはウィンドウの重ね合わせの大きさ、ｒはラグスムーザによって生成されるデータのセット数を示す。本実施形態において、ｒの値は１から３２まで変化し、各値が、ラグスムーザの出力の１つと固有に関係付けられる。また、Ｌの値は１６、Ｐ値は４であり、よって、スライディングウインドウの大きさは２４であり、スライディングウィンドウ３０の両側で４つのデータ入力の重ね合わせが存在する。式４の計算では、相互相関出力の２乗の平均を計算するので、ラグスムーザ５１４の出力は正となる。
【００２６】
ラグスムーザ５１４の出力は、時間スムーザ／フィルタ５１６に入力され、ここで時間平均を行う。例えば、あるブロックにおける各入力信号を、関連した１極ローパスフィルタに入力してもよい（例えば、ＩＩＲフィルタ（IIR filter））。このフィルタはラグスムーザの出力の変動を減少させる。時間スムーザ５１６の使用は任意ではあるが、時間スムーザ５１６は時間遅延推定器の好ましい要素である。これは、時間スムーザ５１６がさらに変動を減少させ、結果として、より良い時間遅延の推定値を提供するからである。
【００２７】
時間スムーザは複数のフィルタを有し、ラグスムーザからの関連した１つの信号を受信する。時間スムージング処理は次式で表すことができる。
【数５】
2007503795.tif 000007
上記式５でαは複数のフィルタのそれぞれの有効記憶長、上に〜が付されたＲｒ［ｋ］はラグスムーザ２０４の出力に関連するデータセットであり、ｒはラグスムーザの出力の添字に相当する。１つの実施形態では、ｒの値は１から３２の間をとる。また、時間スムーザはスムージング処理された出力を計算する時の状態情報を維持する。
【００２８】
選択論理モジュール５８０は信号列ｙ［ｋ］のどこにエコーがあるかの推定結果である出力を線路５８２へ送り出す。選択論理モジュールへの入力が時間スムーザ５１６からのものである場合、時間スムーザ５１６は関連するピーク値を選択する際に、選択論理モジュール５８０を補助する他の機能を実行してもよい。例えば、離散信号ｘ［ｋ］及びｙ［ｋ］が低い信号値または単なる信号ノイズのみを含む場合、これらの信号は相互相関器５１０、ラグスムーザ５１４及び時間スムーザ５１６を通って０または非常に小さい値の出力を生成する。従って、選択論理モジュール５１６が前のピーク値を０か非常に小さい値である新しいピーク値に置き換えることがないようにする必要がある。時間スムーザは、このような状況において前の状態情報を維持するように選択論理モジュール５８０に知らせる。別の状況としては、時間スムーザへの出力が比較的同じような値である場合があり、この場合、時間スムーザ５１６における出力間のばらつきがほとんどないため、確実な時間遅延推定するためにはこれらの出力の信頼度は低くなる。この場合、時間スムーザは、選択論理モジュール５８０に、選択論理モジュール５８０の出力からピーク値を選択することによって選択論理モジュール５８０の状態を変化させないよう知らせる。これにより、選択論理モジュール５８０が信頼できない出力を生成する可能性を低減させる。
【００２９】
また、時間スムーザ５１６は、相互相関器５１０への入力の強度が選択論理モジュール５８０でピーク値を選択するために十分な強度レベルかどうかを測定することによって、時間スムーザへの入力が選択論理モジュール５８０に対して十分信頼できるかどうかを判断することもできる。時間スムーザは線路５０６及び５０８上での信号の強度を判断し、強度レベルが、入力の連続した処理に適したレベルであるかどうかの目安を与える。線路５２０上における０値のブール信号は、時間スムーザへの入力が信頼性のある時間遅延推定を行うであろう信頼度が低いことを示す。同様に、１値のブール信号は時間スムーザへの入力が信頼性のある時間遅延推定を行うであろう信頼度が高い（すなわち、低くない）ことを示す。
【００３０】
ラグスムーザ５１４及び時間スムーザ５１６の両方の出力が、音声信号等の非定常信号の時間遅延の推定値を決定する上で助けとなる。ラグスムーザ及び時間スムーザの出力は、非定常信号の時間遅延推定値を決定するために用いられるピーク信号を提供する。この２つの出力における主な違いは、時間スムーザがラグスムーザの出力の変動の低減を目的とし、これにより、時間遅延推定値を決定するためにさらに信頼性のある出力を生成するということである。
【００３１】
選択論理モジュール５８０は、時間スムーザまたはラグスムーザのどちらかから信号を受信できる。時間遅延推定値を決定する際には、選択論理モジュール５８０に入力されるピーク値信号が、時間遅延推定値を示す。選択論理モジュール５８０は、その入力から、高い値／ピーク値の選択的なセットを選択する。例えば、選択論理モジュールは、４つの信号値を選択してもよい。これらのピーク値は、記憶されたピーク値と異なるピーク値を有する新しいデータ値のセットが記憶されるまで記憶される。
【００３２】
選択論理モジュール５８０は、エコーが信号列のどこにあるかの推定である出力データを線路５８２上へ送り出す。例えば、１つの実施形態において、選択論理モジュールは、エコーが存在する、信号列中の４つの位置を示すデータを提供することができる。その各位置は、図３に示す遅延とタップの論理ブロックのＭ個のうちの１つに固有に関連する。例えば、選択論理モジュール５８０がエコーの４つの推定位置を示す出力信号を生成するよう構成されている場合、セレクタ／マルチプレクサ３３２（図３）が、４つの推定位置と関連する４つの入力信号を選択する。つまり、時間遅延推定器によって提供される４つの推定位置が、１番、２番、３番、及び１２８番（#1,#2,#3,#128）の論理ブロックと関連する信号列の位置を示す場合、セレクタ／マルチプレクサ３３２（図３）は線路３１０、３１６、３２４、及び３３０上の信号を選択する（図３）。この結果、線路４９上の推定エコー信号列Ｚ［ｋ］は全論理ブロックからではなく、選択された数の論理ブロックからの入力を含む。
【００３３】
重要なことには、Ｎ個のタップを有する適応フィルタは、Ｎ個のフィルタタップの中のＭ個からの信号を処理する。Ｍ個のタップは、時間遅延推定器からの時間遅延推定データに基づいて選択される。選択されたＭ個のタップは、エコー信号値を含む推定された時間的な位置を示す。１つの利点として、本発明の技術は適応フィルタが実行する処理の量を大幅に減らすことができる。これは、時間遅延推定器はエコーと関連する可能性の最も高いＭ個のタップの推定値を提供し、適応フィルタがＭ個のタップのみを用いてフィルタ出力を計算するからである。例えば、１つの実施形態においては、１０２４個のタップを有する適応フィルタ（すなわちＮ＝１０２４）は３２個のタップ（すなわち、Ｍ＝３２）のみを用いてフィルタの出力を計算する。  
【００３４】
当業者であればセレクタ／マルチプレクサ３３２（図３）を、異なる様々な位置に配置してもよいことを認識するであろう。例えば、加算器３０８、３１２、３２０等の上流側にセレクタ／マルチプレクサ３３２を分割して配置してもよいことが考えられるであろう。
【００３５】
本発明をそのいくつかの好適な実施形態に関して示し、説明してきたが、その形態及び詳細に対しての各種変更、省略及び追加を本発明の趣旨及び範囲から逸脱することなく行うことができる。
【図面の簡単な説明】
【００３６】
【図１】エコーキャンセラを有する通信システムを示すブロック図である。
【図２】エコーキャンセラを示すブロック図である。
【図３】図２のエコーキャンセラ内で使用される適応フィルタを示すブロック図である。
【図４】遅延及びフィルタタップの第１の論理ブロックを示すブロック図である。
【図５】時間遅延推定器を示すブロック図である。
【図６】信号ｙ［ｋ］を示す簡潔な図である。
【図１】
2007503795.tif 000008
【図２】
2007503795.tif 000009
【図３】
2007503795.tif 000010
【図４】
2007503795.tif 000011
【図５】
2007503795.tif 000012
【図６】
2007503795.tif 000013
【国際調査報告】
2007503795.tif 000014
2007503795.tif 000015
2007503795.tif 000016