JP2007520919A - 適応フィルタシステムにゲインを動的に挿入するための方法及び装置 - Google Patents

適応フィルタシステムにゲインを動的に挿入するための方法及び装置 Download PDF

Info

Publication number
JP2007520919A
JP2007520919A JP2006542587A JP2006542587A JP2007520919A JP 2007520919 A JP2007520919 A JP 2007520919A JP 2006542587 A JP2006542587 A JP 2006542587A JP 2006542587 A JP2006542587 A JP 2006542587A JP 2007520919 A JP2007520919 A JP 2007520919A
Authority
JP
Japan
Prior art keywords
signal
adaptive filter
block
gain
decision diamond
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006542587A
Other languages
English (en)
Other versions
JP4708359B2 (ja
Inventor
エフ.シー. ペソア、ルチオ
エイ. ダイバ、ロマン
ピー. ヘー、ペリー
ウル アジズ、アーサン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NXP USA Inc
Original Assignee
NXP USA Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NXP USA Inc filed Critical NXP USA Inc
Publication of JP2007520919A publication Critical patent/JP2007520919A/ja
Application granted granted Critical
Publication of JP4708359B2 publication Critical patent/JP4708359B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B3/00Line transmission systems
    • H04B3/02Details
    • H04B3/20Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other
    • H04B3/23Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other using a replica of transmitted signal in the time domain, e.g. echo cancellers
    • H04B3/235Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other using a replica of transmitted signal in the time domain, e.g. echo cancellers combined with adaptive equaliser
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B3/00Line transmission systems
    • H04B3/02Details
    • H04B3/20Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H21/00Adaptive networks
    • H03H21/0012Digital adaptive filters
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H21/00Adaptive networks
    • H03H21/0012Digital adaptive filters
    • H03H21/0067Means or methods for compensation of undesirable effects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/06Receivers
    • H04B1/10Means associated with receiver for limiting or suppressing noise or interference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B3/00Line transmission systems
    • H04B3/02Details
    • H04B3/20Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other
    • H04B3/23Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other using a replica of transmitted signal in the time domain, e.g. echo cancellers
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H21/00Adaptive networks
    • H03H21/0012Digital adaptive filters
    • H03H2021/007Computation saving measures; Accelerating measures
    • H03H2021/0076Measures relating to the convergence time
    • H03H2021/0078Measures relating to the convergence time varying the step size

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephone Function (AREA)
  • Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
  • Filters That Use Time-Delay Elements (AREA)

Abstract

適応フィルタにゲインを動的に挿入するための方法及び装置について述べる。このゲインの選択的挿入を用いると、適応フィルタは、より速い収束及び/又は適応フィルタの固有の限界の克服が可能になる。エコーキャンセラ(例えば、図1の20及び22)は、収束時間
が短縮された適応フィルタの1つの可能な応用例である。しかしながら、適応フィルタの実質的に全ての用途は、短縮された収束時間及び/又は改善されたフィルタ処理性能から恩恵を受け得る。

Description

本発明は、一般的に、適応フィルタシステムに関し、特に、適応フィルタシステムにゲインを動的に挿入するための方法及び装置に関する。
エコー消去を電気通信ネットワーク(公衆交換電話網(PSTN)又は電話通信(PT)ネットワ
ーク等)に用いて、電気通信ネットワークから電気や回線のエコーを除去又は低減するこ
とにより音声品質を保証し得る。この電気や回線のエコー源は、四線式通信ネットワークインターフェイスから二線式ローカル加入者線路への、また、その逆の信号変換に用いる装置であるハイブリッド回路のインピーダンス不整合であり得る。通信ネットワークにおいて遅延が大きいエコーは目立ち、電話音声通信時、重大な又は許容できない妨害を生成し得る。エコーは、特に、通話開始時、あるいは、システム変更のパラメータが変化する場合(例えば、他の人が通話に参加する、物理的環境が変化する、例えば、電話送受話器
からスピーカーフォンへ切り替わる場合)、問題になることがある。従って、電気通信ネットワークにおいて、エコーを完全に除去し得る又はそれらを許容可能なレベルに低減し得るエコーキャンセラに対するニーズが存在する。
エコーキャンセラは、適応フィルタを用いる用途の一例であり、この場合、エコーは、望ましくないノイズであると見なされる。一般的にノイズが問題である他の多くの用途でも適応フィルタが用いられる。従って、ノイズを完全に除去し得る又はノイズを許容可能なレベルに低減し得る適応フィルタシステムに対するニーズが存在する。
本発明は、添付図によって、一例として例示するものであって、これらによって限定されるものではない。図では、同様な参照符号は同様な要素を示す。
図の要素は簡単明瞭に示されており、必ずしも縮尺通りに描かれていないことを当業者は認識されたい。例えば、図の要素には、本発明の実施形態の理解を深める一助とするために、他の要素と比較して寸法を誇張したものがある。
本明細書に用いる用語“バス”は、データ、アドレス、制御、又は状態等、1つ以上の様々な種類の情報を転送するために用い得る複数の信号又は導線を指すために用いる。本明細書に述べる導線は、単一導線、複数の導線、単方向導線、又は双方向導線であることに関連して例示又は説明することがある。しかしながら、異なる実施形態においては、導線の実現形態が異なることがある。例えば、双方向導線よりもむしろ別個の単方向導線を用いることもあれば、その逆もある。更に、逐次的に又は時分割多重的に多数の信号を転送する単一導線で複数の導線を置き換えることもある。同様に、多数の信号を搬送する単一導線は、これらの信号の部分集合を搬送する様々な異なる導線に分離されることもある。従って、信号を転送するための選択肢が数多く存在する。
用語“アサート”及び“ネゲート”(又は、デアサート)は、信号、状態ビット、又は
同様な装置を、それぞれ、その論理的「真」の状態又は論理的「偽」の状態にすることを指す場合に用いる。論理的「真」の状態が論理レベル1である場合、論理的「偽」の状態は、論理レベル0である。また、論理的「真」の状態が論理レベル0である場合、論理的「偽」の状態は論理レベル1である。記号"*"及び"・"は、双方共、乗算処理を示す。FIFO又は他の種類のデータ記憶装置を用いて、本発明の明細書全体で用いられる遅延を提供
し得る。本明細書で与えられる範囲又は例示の値は、いずれも近似値であり、また、例示の目的のみを意図していることに留意されたい。本発明の他の実施形態は、異なる範囲又
は値を用い得る。
また、本明細書中の説明において、一般的に、関連する図の各グループと共に一貫した変数名が用いられることに留意されたい。しかしながら、変数名の中には、異なるグループの関連する図において異なるものを指すために使い回しされ得るものがある。例えば、特定のグループの図を参照する場合、Mが、測定周期を指すことがあり、また、異なるグ
ループの図を参照する場合、Mは、カウンタの値として用い得る。しかしながら、以下の
式及び図中における各変数名は、それらを用いる際、説明する。
図1は、通信システム10の一実施形態を示す。通信システム10には、送信機/受信機12、インターフェイス13、ハイブリッド回路16(ハイブリッド16とも称する)、エコーキャンセラ20、通信ネットワーク24、エコーキャンセラ22、インターフェイス15、ハイブリッド18、及び送信機/受信機14が含まれる。インターフェイス13にはハイブリッド16が含まれ、
インターフェイス15にはハイブリッド18が含まれる。送信機/受信機12は、ハイブリッド16に双方向接続される(この場合、一実施形態において、送信機/受信機12は、ツイストペ
ア等の二線式接続を介してハイブリッド16に接続される)。ハイブリッド16は、エコーキ
ャンセラ20に接続され、単方向導線を介して送信信号Sin37をエコーキャンセラ20に供給
し、また、単方向導線を介してエコーキャンセラ20から受信信号Rout40を受信する(この
場合、一実施形態において、Sin37及びRout40は、各々、有線対を介して供給及び受信さ
れる。エコーキャンセラ20は、通信ネットワーク24に接続され、エコー消去された送信信号Sout42を通信ネットワーク24に供給し、また、通信ネットワーク24からRin43を受信す
る。
同様に、送信機/受信機14は、ハイブリッド18に双方向接続される(この場合、一実施形態において、送信機/受信機14は、ツイストペア等の二線式接続を介してハイブリッド18
に接続される)。ハイブリッド18は、エコーキャンセラ22に信号を提供するための単方向
導線及びエコーキャンセラ22から信号を受信するための単方向導線を介して、エコーキャンセラ22に接続される(この場合、一実施形態において、各組の単方向導線は、ツイスト
ペア線であってよい)。エコーキャンセラ22は、通信ネットワーク24に接続され、エコー
消去された送信信号を通信ネットワーク24に提供し、通信ネットワーク24から受信信号を受信する。制御17は、送信機/受信機12、ハイブリッド16、エコーキャンセラ20、通信ネ
ットワーク24、エコーキャンセラ22、ハイブリッド18、及び送信機/受信機14の各々に必
要に応じて提供し得る1つ以上の制御信号を含む制御バスであってよい。従って、一実施形態において、制御17は、通信システム10内における各ユニットに接続されるが、他の実施形態では、ユニットの一部だけが制御17との通信を要求する場合もある。
送信機/受信機12は、ハイブリッド16との間でデータ信号を授受する。ハイブリッド16
は、送信機/受信機12と通信ネットワーク24との間において、四線式から二線式への変換
を行う。従って、送信機/受信機12は、通信ネットワーク24上での通信に用いられるどの
ような装置であってもよく、例えば、二線式加入者回線を介してハイブリッド16に接続される電話又はモデム等であってよい。従って、ハイブリッド16は、ローカル加入者線路(
送信機/受信機12を有する)と通信ネットワーク(通信ネットワーク24)との間のインターフェイスを提供する。送信機/受信機14及びハイブリッド18は、それぞれ送信機/受信機12及びハイブリッド16と同様に機能する。
送信機/受信機12と送信機/受信機14との間の通信において、電気的又は回線エコーが、ハイブリッド16及びハイブリッド18によって通信にもたらされる。このエコー源は、ハイブリッド16内におけるインピーダンス不整合であり、また更に、ハイブリッド18内におけるインピーダンス不整合である。例えば、ハイブリッド16内におけるインピーダンスが完全に整合した場合、受信信号Rout40からの全てのエネルギは、送受信機/受信機12に送信
される。しかしながら、ハイブリッド16内において、何らかのインピーダンス不整合がある場合、受信信号Rout40からのエネルギの一部は、送信信号Sin37を介して反射し戻され
る。(ハイブリッド16によってもたらされたエコーの場合、送信機/受信機14からの)通信ネットワーク24を介した往復遅延が充分に長い場合、Sin37から送信機/受信機14によって受信された反射エコーは、通信の間、顕著になる。このことは、電話音声通信の間、著しいエコー又は許容できない妨害になり得る。1つの例において、充分に長い遅延は、40ミリ秒を超える往復遅延を意味し得る。往復遅延が増大するにつれて、エコーは、悪化し、従って、もっと顕著になり、破壊的になる。(他方、往復遅延が大幅に小さい場合、エコ
ーは、側音と区別できないことから、破壊的ではないことがある)。往復遅延には、伝送
遅延、処理遅延、演算遅延等を含む様々な異なる遅延又は異なる遅延の組合せを含み得る。通信システムに依存して、往復遅延は、通信を中断するのに充分な程大きいことがある。従って、エコーキャンセラ20及び22は、通信システム10における回線のエコーを低減するために用い得る。例えば、(送信機/受信機14から)Rout40を介して受信された信号から
ハイブリッド16によってもたらされSin37を介して反射し戻されたエコーは、エコーキャ
ンセラ20を介して処理され、こうして、通信ネットワーク24により送信機/受信機14に信
号Sout42を再度送信する前に反射エコーが低減される。
上述したように、回線のエコーは、ハイブリッド16内におけるインピーダンス不整合及びハイブリッド18内におけるインピーダンス不整合によってもたらされる。また、音響エコーは、送信機/受信機12及び送信機/受信機14を介して通信にもたらされ得る。例えば、送信機/受信機12がスピーカーフォンである場合、受信信号は、スピーカを介して出力さ
れた後、周辺環境をはね回るため、信号の一部が、再度、送信機/受信機12のマイクに戻
り、また送信機/受信機14に反射して戻ることがある。一実施形態において、エコーキャ
ンセラ20は、回線エコーに加えて、音響エコーの何らかの側面を低減するようにも機能し得る。
一実施形態において、通信ネットワーク24には、(例えば、インターネットプロトコル(IP)を介した音声、パケットを介したデータ、非同期転送モード(ATM)等を含み、また、無線又は有線システムのいずれかに適用し得る)パケット電話通信ネットワーク又は公衆交
換電話網(PSTN)を含み得る。他の実施形態において、通信システム10は、任意のタイプの通信システムを意味し得る。任意の通信経路をインターフェイス13又はインターフェイス15として用い得る。
制御17は、送信機/受信機12及び14、ハイブリッド16及び17、エコーキャンセラ20及び22と通信ネットワーク24との間に制御経路を提供する。制御17を介して送信された制御信
号は、一般的に、インライン信号ではない。例えば、制御17には、エコーキャンセラ20又は22をイネーブル状態又はディスエーブル状態にするイネーブル/ディスエーブル信号を
含み得る。制御17には、電話が切断中か又は通話中かどうかを示す信号も含み得る。
本明細書に述べる実施形態において、送信機/受信機12は、エコーキャンセラ20を基準
にして近端と称し、送信機/受信機14は、エコーキャンセラ20を基準にして遠端と称する
。従って、本明細書における実施形態は、エコーキャンセラ20を参照して議論されるが、エコーキャンセラ22は、エコーキャンセラ20と同様に動作することを理解されるべきである。即ち、他の実施形態において、送信機/受信機14は、エコーキャンセラ22を基準にし
て近端と称し、また、送信機/受信機12は、エコーキャンセラ22を基準にして遠端と称し
得る。
図2は、図1のエコーキャンセラ20の一部の一実施形態を示し、ここでは、上述したように、送信機/受信機12は、近端であり、送信機/受信機14は、遠端である。図2に示す実施
形態の場合、d(n)は、図1のSin37に対応し、y(n)は、図1のSout42に対応し、x(n)は、図1
のRin43及びRout40の双方に対応する。一実施形態において、これらの信号は、8KHzのサ
ンプリング速度で生成されるが、異なる速度を用いてもよい。従って、d(n)は、ハイブリッド16を介して、送信機12から送信される送信信号である。エコーキャンセラ20は、エコー消去された送信信号y(n)を通信ネットワーク24及びハイブリッド18を介して受信機14に提供する。また、x(n)は、ハイブリッド18及び通信ネットワーク24を介して送信機14から受信され、そして、ハイブリッド16を介して受信機12へ入力としてそのまま提供される受信信号である。上述したように、d(n)には、ハイブリッド16内におけるインピーダンス不整合によってもたらされた反射エコーを含み得る。従って、エコーキャンセラ20は、もたらされた反射エコーを低減(又は除去)し、そして、エコー消去された送信信号y(n)を提供する。即ち、ハイブリッド16におけるインピーダンスが完全に整合されている場合、ハイブリッド16の入力で受信された信号、例えば、x(n)は、(理想的な場合であって現実的に
は実現不可能な場合)反射エコーがないことから、実質的にd(n)においてハイブリッド16
から無応答になる。
図2に示すエコーキャンセラ20の一部には、入力としてx(n)を受信する伝達関数h(n)を
有し、適応フィルタコントローラ50に双方向に接続され、また、出力z(n)を加算器56及びゲインコントローラ52に提供する適応フィルタ54が含まれる。また、加算器56は、入力d(n)を受信し、出力y'(n)をゲインユニット58に提供する。ゲインユニット58は、伝達関数g(n)を有し、ゲインコントローラ52から入力55を受信し、出力y(n)を提供する。また、加
算器56の出力、即ち、y'(n)は、適応フィルタコントローラ50及びゲインコントローラ52
に提供される。ゲインユニット58からの出力y(n)は、ゲインコントローラ52に入力としても提供される。ゲインコントローラ52は、適応フィルタコントローラ50から情報a(n)を受信する。また、ゲインコントローラ52及び適応フィルタコントローラ50は、信号59を介して双方向接続される。入力信号d(n)及びx(n)は、双方共、適応フィルタコントローラ50及びゲインコントローラ52に入力としても提供される。一実施形態において、動的ゲイン挿入(DGI)57には、ゲインユニット58及びゲインコントローラ52が含まれる。他の実施形態
は、図2によって示すものとは異なる方法でDGI57を実現し得る。他の実施形態において、図2に示す機能は、ハードウェア、ソフトウェア、又はハードウェア及びソフトウェアの
任意の組合せを用いて実現し得る。
図3は、図2のゲインコントローラ52の一部の一実施形態を示す。一実施形態において、ゲインコントローラ52には、d(n)、x(n)、z(n)、y'(n)、及びy(n)を入力として受信し、
収束検出器60、急峻変動検出器62、及びゲイン発生器64に出力を提供する信号レベル推定器66が含まれる。他の実施形態は、より少ない、より多くの、あるいは、異なる入力信号を信号レベル推定器66に提供し得る。一実施形態において、信号59は、収束検出器60及び急峻変動検出器62に双方向接続される。他の実施形態は、ゲインコントローラ52のより少ない、より多くの、あるいは、異なる部位に信号59を提供し得る。一実施形態において、収束検出器60は、急峻変動検出器62に入力c(n)を提供する。急峻変動検出器62は、ゲイン発生器64に入力を提供する。また、ゲイン発生器64は、適応フィルタコントローラ50から入力a(n)を受信する。ゲイン発生器64は、ゲインユニット58に出力55を提供する。図3に
示すゲインコントローラ52の部位は、可能な一実現形態である。他の実施形態は、ゲインコントローラ52に任意の所望の構成を用い得る。
図3の信号レベル推定器66の一実施形態の場合、複数の信号のパワーレベル又は短期エ
ネルギレベルは、下式に基づき求められる。
[式1]Ps(n)=bPs(n-1)+(1-b)s2(n)、ここで、0<b<1
上式において、s(n)は、信号d(n)、x(n)、z(n)、y'(n)、及びy(n)であってよく、Ps(n)は、時間nにおけるs(n)の推定された信号パワーであり、bは、ゼロより大きく1より小さい所定の定数である。他の実施形態は、また、s2(n)を|s(n)|m(m=1,2,・・・)により置き換えることによって定義し得る。
一実施形態において、収束検出器60は、d(n)及びz(n)のレベルが極めて近く、また、y'(n)のレベルがd(n)のレベルよりかなり小さい場合、適応フィルタ更新の間、収束フラグc(n)=1をアサート、即ち、c(n)=1にする。他の実施形態は、適応フィルタ(例えば、図2の
適応フィルタ54)の収束を異なる方法で検出し得る。他の実施形態は、フラグ以外のメカ
ニズム、又は、フラグの異なる値を用いて、収束が検出されたことを示し得る。
一実施形態において、急峻変動検出器62は、以下のようにして急峻変動を検出する。適応フィルタ(例えば、図2の適応フィルタ54)が一時的に収束欠陥を生成する場合、即ち、y'(n)のレベルがd(n)のレベルより大きい場合、急峻変動は、y'(n)及びz(n)のレベルが近
い場合、又は、d(n)及びz(n)のレベルが近くない場合、検出される。そうでない場合、即ち、y'(n)のレベルがd(n)のレベル以下である場合、急峻変動が検出されるのは、c(n)=1
であり、d(n)及びz(n)のレベルの双方がかなり異なり、d(n)及びy'(n)のレベルがかなり
異なる場合である。ある実施形態の場合、急峻変動イベントは、サンプル数(n1)を定め、この場合、ゲイン発生器64が起動されることに留意されたい。他の実施形態は、急峻変動がいつ発生したか検出するために、異なる選択基準を用いることができ、また、異なる信号を監視し得る。
また、一実施形態において、2つの信号のレベルは、2つのレベルの最小値が2つのレベルの最大値の所定の範囲以内にある場合、"近い"と見なすことができ、この場合、所定の範囲は、例えば、5パーセント、10パーセント、20パーセント、又は25パーセント、又
は、個々の設計に対しては必要に応じて、他の任意の値でよいことに留意されたい。例えば、一実施形態において、y'(n)のレベルは、y'(n)のレベル及びz(n)のレベルの最小値が、y'(n)のレベル及びz(n)のレベルの最大値の10パーセント以内にある場合、z(n)のレベ
ルに近いと見なし得る。また、一実施形態において、2つの信号のレベルは、2つのレベルの最小値が2つのレベルの最大値の所定の範囲外にある場合、"かなり異なる"又は"近
くない"と見なすことができ、この場合、所定の範囲は、例えば、10パーセント、20パー
セント、25パーセント、50パーセント、又は、個々の設計に対しては必要に応じて、他の任意の値でよい。例えば、一実施形態において、d(n)のレベルは、d(n)のレベル及びz(n)のレベルの最小値が、d(n)のレベル及びz(n)のレベルの最大値の25パーセント以内にない(又は外にある)場合、z(n)のレベルとはかなり異なると見なし得る。他の実施形態において、近い又はかなり異なる又は近くないは、別々に定義し得ることに留意されたい。
一実施形態において、ゲイン発生器64は、1つ以上の信号55を介して、ゲインユニット58にゲイン伝達関数g'(n)を提供する。ゲイン発生器64の一実施形態の場合、ゲイン伝達
関数g'(n)は、下式に基づき求められる。
[式2]g'(n)=a(n){Max(g'(n-1)-Δg1,gmin)[u(n-n1)-u(n-n2)]+g'(n-1)[u(n-n2)-u(n-n3)]+
Min(g'(n-1)+Δg2,gmax)u(n-n3)}+(1-a(n))g'(n-1)
ここで、n3>n2>n1、u(n)は、階段関数、Δgiは、ゲイン補正である。
図2を再度参照すると、一実施形態において、ゲインユニット58は、この入力g'(n)を入力y'(n)と共に用いて、下式に基づきg(n)を求める。
[式3]g(n)=Min(Max(g'(n)+Δg3Sign[Pref(n)-Py(n)],gmin),gmax)[u(n-n2)-u(n-n3)]+
Min(g'(n)+Δg4,gmax)u(n-n4)
ここで、n4>n3>n2、u(n)は、階段関数、Δgiは、ゲイン補正である。
上記式2及び式3において、n4>n3>n2>n1であり、u(n)は、所定のステップ関数であり、
Δgiは、所定の組のゲイン補正値である。式2及び3のゲイン関数は、加法的ゲイン補正を
示すが、他の実施形態は、乗法的ゲインを用い得る。更に他の実施形態において、ゲイン関数は、ルックアップ表、又は線形又は非線形的にゲインの補正を可能にし得る他の任意の手段を介して実現し得る。
図1乃至3は、通信システム10及びエコーキャンセラ20内に存在するブロックの一実施形態を示すことに留意されたい。他の実施形態には、所望の機能に依存して、例示されたものと異なる様々な要素、例示されたものより多い要素、又は例示されたものより少ない要素を含み得る。更に、図1乃至3内のブロックは、異なるようにグループ化又は異なるように接続可能であるが、その場合でも同様な結果を達成し得る。従って、図1乃至3は、後述される概念を示すために用いられる例を単に提供しようとするものである。また、図1乃
至3における接続は、単一導線(単方向又は双方向)として又は多数の導線(単方向又は双方向)として引き得たが、様々な異なる接続を用い得る。例えば、多数の導線は、様々な異
なる単一の単方向又は双方向導線で置き換え得る。同様に、単一の導線は、多数の単方向又は双方向導線に拡張し得る。信号は、単一導線を介して逐次的に伝達したり、多数の導線を介して並行に伝達したりできる。また、信号は、単一の又は多数の導線を介して、時間多重化し得る。従って、図1乃至3に示す接続は、様々な異なる方法で実装し得るが、この場合でも所望の機能を実現し得る。また、更に後述するように、図1乃至3の設計は、ハードウェア、ソフトウェア、又はハードウェア及びソフトウェアの組合せで実現し得る。
図4は、従来技術(曲線53)と比較して、図1のエコーキャンセラ(曲線51)の性能特性ERLEを時間の関数として示す。一実施形態において、ERLE_targetは、例えば、エコーキャン
セラにおける適応フィルタ等の適応フィルタが充分に収束したことを示すために用い得る目標又は最小ERLEである。信号53は、従来技術によるエコーキャンセラ(図示せず)のERLEを時間の関数として示す。従って、時間t_oldは、ERLE_targetに達するのに要するt_0か
らの時間の量であり、従って、従来技術によるエコーキャンセラにおける適応フィルタが充分に収束するのに要する時間の量である。対照的に、信号51は、図1のエコーキャンセ
ラ20の一実施形態に対してERLEを時間の関数として示す。時間t_newは、ERLE_targetに達するのに要するt_0からの時間の長さであり、従って、エコーキャンセラ20における適応
フィルタ54(図2参照)が充分に収束するのに要する時間の長さである。t_newによって表される適応フィルタ収束時間は、t_oldによって表される適応フィルタ収束時間より大幅に
短いことに留意されたい。適応フィルタがより速く収束するための方法及び/又は装置を提供することは、重要な能力である。エコーキャンセラ(例えば、図1における20及び22)
は、収束時間が短縮された適応フィルタの1つの可能な応用例である。適応フィルタの実質的に全ての用途は、短縮された収束時間から恩恵を受け得る。
本明細書に示した実施形態は、エコーキャンセラという文脈で適応フィルタを用いて、より短い適応フィルタ収束時間の利点について述べるが、適応フィルタの実質的に全ての用途は、短縮された収束時間から恩恵を受けることができ、また、本発明の範囲内にある。また、適応フィルタ54は、個々の設計に対しては必要に応じて、例えば、IIRフィルタ
、FIRフィルタ、多項式フィルタ等、任意の種類のフィルタであってよいことを留意され
たい。
図5は、図2のゲインユニット58の伝達関数g(n)の一実施形態を示す。時間n0は、通話中の時間を表し、この時、動的ゲイン挿入(DGI)は、ディスエーブル状態になり、また、ゲ
イン伝達関数g(n)は、ほぼ最大値(gmax)に等しい。本発明の一実施形態の場合、DGI出力
は、y(n)に等しく、これは、g(n)*y'(n)にも等しいことに留意されたい。他の実施形態は、異なる方法でDGIを定義し得る。実施形態に依存して、n0は、通話の始まりであっても
よく、そうでなくてもよい。図5に示す実施形態の場合、DGIは、時間n0から時間n1までディスエーブル状態である。時間n1において、急峻変動が、(例えば、図3の急峻変動検出器62によって)検出される。一実施形態において、急峻変動が検出される場合、所定のゲイ
ン伝達関数(図5に示すg(n)等)が、所定の時間期間(例えば、図5のn1乃至n5又はn1'乃至n5等)の間、適用される。様々な実施形態は、急峻変動がいつ検出されたかを決定するため
に、システム10の1つ以上のパラメータを監視し得る。エコーキャンセラ20の場合、1つ以上の信号のパワーレベルを監視して、急峻変動が検出されたかどうか決定し得る。エコーキャンセラ20の他の実施形態の場合、適応フィルタの係数を監視して、急峻変動が検出されたかどうか決定し得る。エコーキャンセラの領域外で適応フィルタを用いる実施形態の場合、任意の1つ以上の適切なパラメータを監視して、急峻変動が検出されたかどうか決定し得る。
更に図5において、n1からn1'までの初期遅延期間は、オプションであり、また、急峻変動が実際に発生したことをシステム10が検証できるように追加し得る。この初期遅延期間の目的は、そのような急峻変動がシステム10に実在しない時、急峻変動が誤って認識され、対応されることを防止することであってよい。急峻変動は、システム10が急峻変動を認識して、それに反応するために、初期遅延期間の間、継続的に検出されなければならない。従って、システム10における誤動作により時間n1において誤って検出される急峻変動は、全初期遅延期間の間、継続的に検出されないことがある。この(システム誤動作による)誤急峻変動が時間n1'においてもはや検出されない場合、DGIは、ディスエーブル状態のままであり、ゲイン伝達関数g(n)は、急峻変動が検出されたため、調整されない。他の実施形態は、この初期遅延期間を含まなくてもよい。その代わり、如何なる急峻変動検出によっても、動的ゲイン挿入がイネーブル状態になる。
図5に示す実施形態では、n1'において急峻変動の検出が一旦確認されると、DGIは、イ
ネーブル状態になり、ゲイン伝達関数g(n)は、所定の最小レベルgminに極めて速く低減される。他の実施形態は、gminに異なる値を用い得る。また、gminは、システムの要求仕様に基づき、ある応用例では、動作中、固定せず変更し得る。時間n2は、ゲイン伝達関数g(n)が、選択された最小値gminに達する時点を表す。一実施形態において、gminは、少なくともgmaxの25パーセントであり、スピードアップ期間(即ち、n2-n1)は、DGI処理用の所定の時間期間(即ち、n5-n1)の少なくとも1パーセントであり、せいぜい4パーセントである
。そして、ゲイン伝達関数g(n)は、時間n2から時間n3までのDGIハングオーバ期間の間、
ほぼgminに保持される。ある実施形態において、DGIハングオーバ期間又は時間は、予め
規定され、一方、他の実施形態の場合、変数である。ある実施形態(例えば、図1のエコーキャンセラ20)の場合、DGIハングオーバ期間は、適応フィルタ(例えば、図2の適応フィルタ54)の収束時間の関数である。ある実施形態の場合、DGIハングオーバ期間は、常に、適応フィルタの収束時間より長い時間期間であるように選択される。この特定の制約の1つの目的は、ゲインが再度大幅に大きくなる前に、新しい大幅に低減されたゲイン(gmin)を用いて、適応フィルタが収束していることを保証するためである。また、一実施形態において、出力信号のレベルが、目標レベル(即ち、目標出力又は基準レベル)に又はその付近に確実に維持されるように、ハングオーバ期間の間、自動レベル制御が用いられることに留意されたい。
図1に示すエコーキャンセラ実施形態において、システム10の様々なパラメータが変化
する場合、例えば、他の人が通話に追加される場合、通信ネットワーク24の伝送遅延が突然変化するなどの場合、急峻変動が検出され得ることに留意されたい。急峻変動が検出された時、ゲイン伝達関数g(n)を急速に低減する1つの目的は、収束速度を大きくするため、あるいは、適応フィルタ54の収束時間を短くするためである(図2参照)。適応フィルタ
の応答性をこのように高くすることによって、適応フィルタは、より速く収束することが可能であり、こうして、新しくもたらされたエコーの変化は、システム10からより速く相殺し得る。他の実施形態は、適応フィルタが用いられる用途にかかわらず、同じ手法を用いて任意の適応フィルタの収束速度を改善し得る。エコーキャンセラは、収束時間が改善された適応フィルタの1つの可能な応用例である。
図5において、DGI解放時間は、n3からn5までの時間であると定義される。一実施形態において、解放時間は、DGI処理のための所定の時間期間(この間にゲインが徐々に増加す
る)の少なくとも20から少なくとも50パーセントである。他の実施形態は、極めて様々な方法で動的ゲイン挿入(DGI)を解放し得る。図5に示す手法は、ほんの1つの可能性である。図5に示すDGI解放は、第1の所定勾配を用いて、時間n3から時間n4までゲイン伝達関数g(n)を線形的に増加させる。時間n4から時間n5まで、DGI解放は、第2の所定勾配を用い
て、ゲイン伝達関数g(n)を線形的に増加させる。他の実施形態は、任意の1つ以上の関数を用いて、DGI解放期間の間、ゲイン伝達関数を増加させ得る。ある実施形態の場合、n4
は、n3から独立であってよく、他の実施形態の場合、n4は、n3と関係付けてよい。一実施形態において、第1期間n3-n4は、適応フィルタの適応に対応し、第2期間n4-n5は、適応フィルタの適応から独立している。ブレークポイントの数n4は、ゼロから所望の数まで変化し得る。g(n)を大きくするために用いる関数は、線形である必要はなく、任意の所望の関数であってよい。DGI解放時間の継続時間は、適応フィルタを用いるシステムの所望の
特性及び応答時間に基づき、選択し得る。DGI解放期間の図5に示す2段階プロファイルは、多くの可能なプロファイルの内のほんの1つである。時間n5において、ゲイン伝達関数g(n)は、そのDGIディスエーブル状態に戻り、この場合、ゲイン伝達関数は、再度、ほぼ
最大値(gmax)に等しい。一実施形態において、ゲイン伝達関数g(n)は、解放期間の終了時点において、それ自体をディスエーブル状態にする。
図6には、図1のエコーキャンセラ20の一実施形態の動作を示すフロー70が含まれる。フロー70は、図2のエコーキャンセラ20等のエコーキャンセラによって提供される機能の概
略の全体像である。フロー70内における各ステップの詳細は、本明細書中において、更に詳細に以下に述べる。フロー70は、開始楕円形72において開始し、そして、フローは、ブロック74に進み、そこで、動的ゲイン挿入(DGI)制御信号が初期化される。次に、フロー
は、ブロック76に進み、そこで、新しいサンプル(x(n),d(n))が受信される(図2参照)。次に、フローは、ブロック78に進み、そこで、1つ以上の信号レベルが推定される。フローは、次に、ブロック80に進み、そこで、急峻変動検出器が適用される。次に、フローは、ブロック82に進み、そこで、DGI処理が適用される。次に、フローは、ブロック83に進み
、そこで、残留エラー抑制が適用される。フローは、次に、判断ひし形84に進み、そこで、"新しいサンプルが利用可能か?"という質問が尋ねられる。判断ひし形84での答えが"いいえ"である場合、フローは、終了楕円形86に進み、そこで、フローは、例示した実施形
態の場合、終了する。判断ひし形84での答えが"はい"である場合、フローは、終了ブロック76に戻り、そこで、新しいサンプルが受信される。他の実施形態は、図6に示すものと
は異なる方法でDGIを用い得る。
図7には、図6のブロック74の一実施形態を示すフローが含まれる。開始楕円形72から、フロー74は、ブロック90に進み、そこで、DGIは、イネーブル状態になり、複数の変数が
、初期状態に設定又はリセットされる。一実施形態において、変数DGI_COUNTER、DGI_RELEASE、DGI_DT_COUNTER及びDGI_ERLE_COUNTERは、全てゼロに初期化される。ブロック90から、フローは、ブロック92に進み、そこで、DGI_GAINは、DGI_MAX_GAINに等しく設定される。一実施形態において、DGI_MAX_GAINは、図5のgm ax(例えば、1-2-5)であることに留
意されたい。また、ブロック92において、推定信号レベルは初期化される。一実施形態の場合、推定される信号レベルはパワーレベルである。他の実施形態は、図1のいずれか適
切な特性、例えば、適応フィルタ54の係数(図2参照)等、又は様々な信号のエネルギレベ
ル等を推定し得る。図2に示す実施形態において、x(n)、d(n)、z(n)、y(n)、y'(n)、v(n)及びw(n)のパワーレベルは、ゼロに初期化される。一実施形態において、v(n)及びw(n)は、バックグラウンドノイズ信号の異なる例であり、これは、ある条件が満たされた場合、y'(n)の部分集合である。図8の判断ひし形120は、y'(n)がw(n)に等しいという一組の条件を記述する。同様に、図22の判断ひし形494は、y'(n)がv(n)に等しいという他の条件を記
述する。他の実施形態は、異なる方法でv(n)及びw(n)を定義し得る。ブロック92から、フローは、ブロック94に進み、そこで、DT_DELAY及びDT_DURATIONは、ゼロに初期化される
ブロック94から、フローは、次に、判断ひし形96に進み、そこで、"NLPは、イネーブル状態か?"という質問が尋ねられる。NLP(非線形処理)がイネーブル状態ではない場合、フ
ローは、ブロック98に進み、そこで、DGI_REF_LEVELは、DGI_REF_LEVEL1(例えば、-36dBm0)に等しく設定される。また、NLPがイネーブル状態である場合、フローは、ブロック100に進み、そこで、DGI_REF_LEVELは、DGI_REF_LEVEL2(例えば、-72dBm0)に等しく設定される。他の実施形態は、任意の数の基準レベルを用い得る。ブロック98及び100から、フロ
ーは、ブロック102に進み、そこで、RESET_COUNTER1、RESET_COUNTER2、及びCONVERGENCE_FLAGは、全てゼロに初期化され、また、RESET_DELAYは、DELAY(例えば、900*8。これは
、8KHzサンプリング速度において900msに対応する)に等しく設定される。一実施形態において、CONVERGENCE_FLAGをc(n)として図3に示す。次に、フローは、ブロック104に進み、そこで、他の幾つかの値が初期化される。即ち、SAMPLE_COUNTER、BACKUP_COUNTER、MIDCALL_COUNTER、UPDATE_COUNTER、及びDT_COUNTERが、例示した実施形態の場合、全てゼロ
に初期化される。また、DT_LEVELは、MAX_DT_LEVEL(例えば、0dBm0)に等しく設定される
。そして、フローは、ブロック76に進む(図6参照)。
図8には、図6のブロック78の一実施形態を示すフローが含まれる。ブロック76から、フロー78は、ブロック110に進み、そこで、x(n)の推定パワーレベル、即ち、Px(n)が、Px(n)=bPx(n)+(1-b)x(n)*x(n)(例えば、b=1-2-5)に等しく設定される。ブロック110から、フ
ロー78は、ブロック112に進み、そこで、d(n)の推定パワーレベル、即ち、Pd(n)が、Pd(n)=bPd(n-l)+(1-b)d(n)*d(n)に等しく設定される。ブロック112から、フロー78は、ブロック114に進み、そこで、z(n)の推定パワーレベル、即ち、Pz(n)が、Pz(n)=bPz(n-l)+(1-b)z(n)*z(n)に等しく設定される。ブロック114から、フロー78は、ブロック116に進み、そ
こで、y'(n)の推定パワーレベル、即ち、Py'(n)が、Py'(n)=bPy'(n-1)+(1-b)y'(n)*y'(n)に等しく設定される。ブロック116から、フロー78は、ブロック118に進み、そこで、y(n)の推定パワーレベル、即ち、Py(n)が、Py(n)=bPy(n)+(1-b)y(n)*y(n)に等しく設定される。ブロック118から、フロー78は、判断ひし形120に進み、そこで、"Py'(n)<PY_MIN及びPx(n)<PX_MINか?"という質問が尋ねられる(例えば、PY_MIN=-33dBm0及びPX_MIN=-27dBm0)。判断ひし形120での答えが"はい"である場合、フロー78は、ブロック122に進み、そこで、w(n)の推定パワーレベル、即ち、Pw(n)が、Pw(n)=b1*Pw(n)+(1-b1)y'(n)*y'(n)に等しく
設定される。判断ひし形120での答えが"いいえ"である場合、フロー78は、ブロック124に進む。ブロック122から、フローは、また、ブロック124に進む。ブロック124において、DT_LEVELは、Px(n)*MAX_ERLE(例えば、1 /4)に等しく設定される。ブロック124から、フローは、ブロック80に進む(図6参照)。
図9には、図6のブロック80の一部の一実施形態を示すフローが含まれる。ブロック78(
図6参照)から、フロー80は、判断ひし形128に進み、そこで、"適応フィルタ監視はイネーブル状態か?"という質問が尋ねられる。適応フィルタ監視がイネーブル状態である場合、フィルタ係数は、演算処理の一部であることに留意されたい。しかしながら、適応フィルタ監視がイネーブル状態でない場合、判断は、信号レベル又は様々な信号のパワーレベルのみに基づく。本発明の他の実施形態には、1つ以上の選択された信号及び/又はシステム10の他の特性(図1参照)、例えば、適応フィルタ54の係数(図2参照)等、任意の有用なパラメータ(1つ以上)(例えば、パワー、振幅、エネルギ)を含み得る。
図9のフローに戻ると、判断ひし形128での答えが"はい"である場合、フローは図17の円Hに進む。判断ひし形128での答えが"いいえ"である場合、フローは判断ひし形130に進み
、そこで、"Px(n)<(Pd(n)の最大値及びMIN_SIN_POWER)か?"という質問が尋ねられる(例え
ば、MIN_SIN_POWER=-59dBm0)。判断ひし形130での答えが"はい"である場合、フローは、
ブロック136に進み、そこで、RESET_DELAYが、DELAY及び(RESET_DELAY+4)の最小値に等しく設定される。判断ひし形130での答えが"いいえ"である場合、フローは判断ひし形132に進み、そこで、"RESET_DELAY>0か?"という質問が尋ねられる。判断ひし形132での答えが"はい"である場合、フローは、ブロック134に進み、そこで、RESET_DELAYが、RESET_DELAY-1に等しく設定される。判断ひし形132での答えが"いいえ"である場合、フローは、判断
ひし形138に進む。フローは、また、ブロック134及び136から判断ひし形138に進む。判断ひし形138において、"Py'(n)>Pd(n)か?"という質問が尋ねられる。判断ひし形138での答
えが"いいえ"である場合、フローは図10の円Bに進む。判断ひし形138での答えが"はい"である場合、フローは、ブロック140に進み、そこで、RESET_COUNTER1は、RESET_COUNTER1
をRESET_COUNTER1+1に等しく設定することによってインクリメントされる。ブロック140
から、フローは、判断ひし形142に進み、そこで、"RESET_COUNTER1>MAX_RESET_COUNTER1
か?"という質問が尋ねられる(例えば、MAX_RESET_COUNTER1=10*8)。判断ひし形142に対する答えが"いいえ"である場合、フローは図10の円Bに進む。判断ひし形142に対する答えが"はい"である場合、フローは、ブロック144に進み、そこで、PW1が、Py'(n)及びPz(n)の
最小値に等しく設定され、また、PW2が、Py'(n)及びPz(n)の最大値に等しく設定される。ブロック144から、フローは判断ひし形146に進み、そこで、"PW1>PW2*RESET_RATIOか?"という質問が尋ねられる(例えば、RESET_RATIOは、0.9であってよく、これは、PW2の10パーセントに対応する。他の選択肢として、RESET_RATIOは、0.75であってよく、これは、PW2の25パーセントに対応する)。判断ひし形146に対する答えが"いいえ"である場合、フローは図10の円Aに進む。判断ひし形146に対する答えが"はい"である場合、フローは、判断ひし形148に進み、そこで、"RESET_DELAYは、0に等しいか?"という質問が尋ねられる。判断ひし形148に対する答えが"いいえ"である場合、フローは図10の円Aに進む。判断ひし形148に対する答えが"はい"である場合、フローは、ブロック150に進み、そこで、h(n)は、リセットされ(即ち、その係数は、何らかの既定値に、通常、全てゼロに設定され)、また、DGIは、イネーブル状態になる。従って、RESET_DELAYは、所定の時間量の間、PW1>PW2*RESET_RATIOであることを保証するために用い得る。ブロック150から、フローは図10の円A
に進む。
図10には、図6のブロック80の一部の一実施形態を示すフローが含まれる。図9の様々な点から、フロー80は、円Aに進む。円Aから、フローは、ブロック152に進み、そこで、PW1が、Pd(n)及びPz(n)の最小値に等しく設定され、また、PW2が、Pd(n)及びPz(n)の最大値
に等しく設定される。ブロック152から、フローは判断ひし形154に進み、そこで、"PW1<PW2*RESET_RATIOか?"という質問が尋ねられる(例えば、RESET_RATIOは、0.9であってよく
、これは、PW2の10パーセントに対応する。他の選択肢として、RESET_RATIOは、0.75であってよく、これは、PW2の25パーセントに対応する)。判断ひし形154に対する答えが"いいえ"である場合、フローは円Bに進む。判断ひし形154に対する答えが"はい"である場合、
フローは判断ひし形156に進み、そこで、"RESET_DELAYは、0に等しいか?"という質問が尋ねられる。判断ひし形156に対する答えが"いいえ"である場合、フローは円Bに進む。判断ひし形156に対する答えが"はい"である場合、フローは、ブロック158に進み、そこで、h(n)は、リセットされ、また、DGIは、イネーブル状態になる。従って、RESET_DELAYは、所定の時間量の間、PW1>PW2*RESET_RATIOであることを保証するために用い得る。ブロック158から、フローは円Bに進む。円Bから、フローは、ブロック160に進み、そこで、RESET_COUNTER1が、0に等しく設定される。ブロック160から、フローは判断ひし形162に進み、そこで、"CONVERGENCE_FLAGは、1に等しいか?"という質問が尋ねられる。判断ひし形162に
対する答えが"いいえ"である場合、フローは円Dに進む(図11参照)。判断ひし形162に対する答えが"はい"である場合、フローは、ブロック164に進み、そこで、PW1が、Pd(n)及びPz(n)の最小値に等しく設定され、また、PW2が、Pd(n)及びPz(n)の最大値に等しく設定さ
れる。ブロック164から、フローは判断ひし形166に進み、そこで、"PW1<(RESET_SHIFTの
量だけ右にシフトされたPW2)か?"という質問が尋ねられる(例えば、RESET_SHIFTは、1で
あってよく、これは、PW2の50パーセントに対応する。他の選択肢として、PW1は、PW2×
“ある比”より小さいかどうか確認するために比較し得るが、ここで、この比は、例えば、50パーセント又は25パーセント又は10パーセントであってよい)。判断ひし形166に対する答えが"いいえ"である場合、フローは円Dに進む(図11参照)。判断ひし形166に対する答えが"はい"である場合、フローは円Cに進む(図11参照)。
図11は、図6のブロック80の一部の一実施形態を示すフローが含まれる。図9の少なくとも1つの点から、フロー80は、円Cに進む。円Cから、フローは、ブロック168に進み、そ
こで、PW1が、Pd(n)及びPy'(n)の最小値に等しく設定され、また、PW2が、Pd(n)及びPy'(n)の最大値に等しく設定される。ブロック168から、フローは判断ひし形170に進み、そこで、"PW1<(RESET_SHIFTの量だけ右にシフトされたPW2)か?"という質問が尋ねられる(例えば、RESET_SHIFTは、1であってよく、これは、PW2の50パーセントに対応する。他の選択
肢として、PW1は、PW2דある比”より小さいかどうか確認するために比較し得るが、ここで、この比は、例えば、50パーセント又は25パーセント又は10パーセントであってよい)。判断ひし形170に対する答えが"いいえ"である場合、フローは、ブロック172に進み、
そこで、RESET_COUNTER2が0に設定され、そして、フローは円Dに進む。判断ひし形170に
対する答えが"はい"である場合、フローは、ブロック174に進み、そこで、RESET_COUNTER2は、RESET_COUNTER2をRESET_COUNTER2+1に等しく設定することによってインクリメント
される。ブロック174から、フローは判断ひし形176に進み、そこで、"RESET_COUNTER>MAX_RESET_COUNTER2か?"という質問が尋ねられる(例えば、MAX_RESET_COUNTER2=50*8)。判断ひし形176に対する答えが"いいえ"である場合、フローは円Dに進む。判断ひし形176に対
する答えが"はい"である場合、フローは判断ひし形178に進み、そこで、"RESET_DELAYは
、0に等しいか?"という質問が尋ねられる。判断ひし形178に対する答えが"いいえ"である場合、フローは円Dに進む。判断ひし形178に対する答えが"はい"である場合、フローは、ブロック180に進み、そこで、h(n)は、リセットされ、また、DGIは、イネーブル状態になる。従って、RESET_DELAYは、条件(例えば、PW1<(RESET_SHIFTの量だけ右にシフトされたPW2)が、所定の時間量の間、満たされることを保証するために用い得る。円Dから、フロ
ーは、ブロック82に進む(図6参照)。
図12には、図6のブロック82の一部の一実施形態を示すフローが含まれる。ブロック80(図6参照)から、フロー82は、判断ひし形190に進み、そこで、"a(n)は、1に等しいか?"と
いう質問が尋ねられる。判断ひし形190に対する答えが"いいえ"である場合、フローは円Fに進む(図13参照)。判断ひし形190に対する答えが"はい"である場合、フローは判断ひし
形192に進み、そこで、"DGIがイネーブル状態か、また、d(n)がアクティブな状態に設定
されているか?"という質問が尋ねられる。判断ひし形192に対する答えが"いいえ"である
場合、フローは円Eに進む。判断ひし形192に対する答えが"はい"である場合、フローは、ブロック194に進み、そこで、適応アルゴリズムのステップサイズが大きくなる。ブロッ
ク194から、フローは判断ひし形196に進み、そこで、"DGI_COUNTERが、0に等しいか、ま
た、DGI_GAIN>DGI_MIN_GAINか?"という質問が尋ねられる(例えば、DGI_MIN_GAIN=0.00015)。判断ひし形196に対する答えが"はい"である場合、フローは、ブロック198に進み、そ
こで、DGI_GAINが、(DGI_GAIN-DGI_RATE_DOWN)及びDGI_MIN_GAINの最大値に等しく設定される(例えば、DGI_RATE_DOWN=0.0076)。ブロック198から、フローは円Eに進む。判断ひし形196に対する答えが"いいえ"である場合、フローは判断ひし形200に進み、そこで、"DGI_COUNTER>DGI_HANGOVERか?"という質問が尋ねられる(例えば、DGI_HANGOVER=1875*8)。判断ひし形200に対する答えが"いいえ"である場合、フローは、ブロック208に進み、そこで、DGI_COUNTERは、DGI_COUNTERをDGI_COUNTER+1に等しく設定することによってインクリ
メントされる。ブロック208から、フローは円Eに進む。判断ひし形200に対する答えが"はい"である場合、フローは、ブロック202に進み、そこで、DGI_GAINが、(DGI_GAIN+DGI_RATE_UP)及びDGI_MAX_GAINの最小値に等しく設定される(例えば、DGI_RATE_UP=0.0012)。ブロック202から、フローは判断ひし形204に進み、そこで、"DGI_GAINは、DGI _MAX_GAINに
等しいか?"という質問が尋ねられる。判断ひし形204に対する答えが"いいえ"である場合
、フローは、ブロック208に進み、そこで、DGI_COUNTERは、DGI_COUNTERをDGI_COUNTER+1に等しく設定することによってインクリメントされる。判断ひし形204に対する答えが"はい"である場合、フローは、ブロック206に進み、そこで、DGIは、ディスエーブル状態に
なる。ブロック206から、フローは、ブロック208に進むが、これについては、上述した。
円Eから、フローは判断ひし形210に進み、そこで、"CONVERGENCE_FLAGは、0に等しいか?"という質問が尋ねられる。判断ひし形210に対する答えが"いいえ"である場合、フロー
は円Fに進む(図13参照)。判断ひし形210に対する答えが"はい"である場合、フローは判断ひし形212に進み、そこで、"Py'(n)<(MIDCALL_LOG_ERLEの量だけ右にシフトされたPd(n))か?"という質問が尋ねられる(例えば、MIDCALL_LOG_ERLE=10)。判断ひし形212に対する答えが"いいえ"である場合、フローは円Fに進む(図13参照)。判断ひし形212に対する答えが"はい"である場合、フローは、ブロック214に進み、そこで、PW1が、Pd(n)及びPz(n)の最小値に等しく設定され、また、PW2が、Pd(n)及びPz(n)の最大値に等しく設定される。ブ
ロック214から、フローは判断ひし形216に進み、そこで、"PW1>PW2*CONV_RATIOか?"とい
う質問が尋ねられる(例えば、CONV_RATIO=0.99)。判断ひし形216に対する答えが"いいえ"である場合、フローは円Fに進む(図13参照)。判断ひし形216に対する答えが"はい"である場合、フローは、ブロック218に進み、そこで、CONVERGENCE_FLAGが、1に等しく設定される。ブロック218から、フローは円Fに進む(図13参照)。
図13には、図6のブロック82の一部の一実施形態を示すフローが含まれる。図12の少な
くとも1つの点から、フロー82は、判断ひし形220に進み、そこで、"DGIは、イネーブル
状態か?"という質問が尋ねられる。判断ひし形220に対する答えが"いいえ"である場合、
フローは円Gに進む(図16参照)。判断ひし形220に対する答えが"はい"である場合、フローは判断ひし形222に進み、そこで、"Pd(n)>DGI_MIN_POWERか?"という質問が尋ねられる(例えば、DGI_MIN_POWER=-59dBm0)。判断ひし形222に対する答えが"はい"である場合、フロ
ーは、ブロック224に進み、そこで、d(n)は、アクティブな状態に設定され(例えば、アサートされ)、フローは、次に、判断ひし形226に進む。判断ひし形222に対する答えが"いいえ"である場合、フローは判断ひし形226に進み、そこで、"DGI_COUNTER>0及びDGI_COUNTER<=DGI_HANGOVERか?"という質問が尋ねられる。判断ひし形226に対する答えが"はい"である場合、フローは、ブロック228に進み、そこで、自動レベル制御が適用され、フローは
、次に、判断ひし形230に進む。判断ひし形226に対する答えが"いいえ"である場合、フローは判断ひし形230に進み、そこで、"DGI_REF_LEVELは、DGI_MAX_POWERに等しくないか?"という質問が尋ねられる(例えば、DGI_MAX_POWER=0dBm0)。判断ひし形230に対する答えが"いいえ"である場合、フローは、ブロック242に進み、そこで、DGIは解放される。一実施形態において、DGIは、ブロック242において、近端信号が存在するかどうか、又は、他の任意の相関のないノイズが所望信号d(n)に存在するかどうか検出する段階に応答して、解放される。判断ひし形230に対する答えが"はい"である場合、フローは判断ひし形232に進み、そこで、"DT_DURATION>0か?"という質問が尋ねられる。判断ひし形232に対する答え
が"いいえ"である場合、フローは、ブロック240に進み、そこで、DGI_REF_LEVELが、DGI_MAX_POWERに等しく設定され、DGI_GAINは、DGIDTGAIN(例えば、1-2-5)に等しく設定され
、また、DT_DURATIONは、MAX_DT_DURATION(例えば、5*8)に等しく設定される。ブロック240から、フローは、ブロック242に進む。判断ひし形232に対する答えが"はい"である場合、フローは判断ひし形234に進み、そこで、"DT_DEALYは、MAX_DT_DEALYに等しいか?"(例
えば、20*8)という質問が尋ねられる。判断ひし形234に対する答えが"いいえ"である場合、フローは、ブロック229に進み、そこで、DT_DURATIONが、MAX_DT_DURATIONに等しく設
定される。ブロック229から、フローは、ブロック242に進む。判断ひし形234に対する答
えが"はい"である場合、フローは、ブロック238に進み、そこで、DT_DURATIONが、DT_DURATION-1に等しく設定される。ブロック238から、フローは、ブロック242に進む。ブロッ
ク242から、フローは円Gに進む(図16参照)。
図14には、図13のブロック228の一実施形態を示すフローが含まれるが、これは、図6のブロック82の一部でもある。図13の判断ひし形226から、フローは判断ひし形250に進み、そこで、"NLP(非線形処理)は、イネーブル状態か?"という質問が尋ねられる。判断ひし形250に対する答えが"いいえ"である場合、フローは、ブロック254に進み、そこで、DGI_REF_LEVELが、DGI_REF_LEVEL1に等しく設定される。判断ひし形250に対する答えが"はい"である場合、フローは、ブロック252に進み、そこで、DGI_REF_LEVELが、DGI_REF_LEVEL2に等しく設定される。ブロック252及び254双方から、フローは、ブロック256に進み、そこ
で、DGI_MATCH_RATEが、DGI_MATCH_RATE2(例えば、0.000061)に等しく設定される。ブロ
ック256から、フローは判断ひし形258に進み、そこで、"NLPは、イネーブル状態か、又は、Pd(n)<DGI_MATCH_POWERか?"(例えば、-30dBm0)という質問が尋ねられる。判断ひし形258に対する答えが"はい"である場合、フローは、ブロック260に進み、そこで、DGI_MATCH_RATEが、DGI_MATCH_RATE1(例えば、0.000031)に等しく設定される。ブロック260から、フローは、次に、判断ひし形262に進む。判断ひし形258に対する答えが"いいえ"である場合、フローは判断ひし形262に進み、そこで、"Py(n)<DGI_REF_LEVELか?"という質問が尋ね
られる。判断ひし形262に対する答えが"いいえ"である場合、フローは、ブロック264に進み、そこで、DGI_GAINが、(DGI_GAIN-DGI_MATCH_RATE)及びDGI_MIN_GAINの最大値に等し
く設定される。判断ひし形262に対する答えが"はい"である場合、フローは、ブロック266に進み、そこで、DGI_GAINが、(DGI_GAIN+DGI_MATCH_RATE)及びDGI_MAX_GAINの最小値に
等しく設定される。ブロック266及び264の双方から、フローは、判断ひし形230に進む(図13参照)。
図15には、図13のブロック242の一実施形態を示すフローが含まれるが、これは、図6のブロック82の一部でもある。図13における判断ひし形230並びにブロック229、238及び240から、フローは判断ひし形270に進み、そこで、"DGI_GAIN<DGI_MAX_GAINか、又は、Pw(n)>DGI_NOISE_POWERか?"という質問が尋ねられる(例えば、DGI_NOISE_POWER=-45dBm0)。判
断ひし形270に対する答えが"いいえ"である場合、フローは、円Gに進む(図16参照)。判断ひし形270に対する答えが"はい"である場合、フローは、ブロック272に進み、そこで、DGI_RELEASEが、DGI_RELEASE+1に等しく設定される。ブロック272から、フローは判断ひし
形274に進み、そこで、"DGI_RELEASE>MAX_DGI_RELEASEか?"という質問が尋ねられる(例えば、MAX_DGI_RELEASE=2500*8)。判断ひし形274に対する答えが"いいえ"である場合、フローは、ブロック276に進み、そこで、y(n)が、DGI_GAIN*y'(n)に等しく設定される。判断
ひし形274に対する答えが"はい"である場合、フローは、ブロック278に進み、そこで、DGI_GAINが、(DGI_GAIN+DGI_RATE_UP)及びDGI_MAX_GAINの最小値に等しく設定される。ブロック278から、フローは、次に、判断ひし形280に進み、そこで、"DGI_GAINは、MAX_DGI_GAINに等しいか?"という質問が尋ねられる。判断ひし形280に対する答えが"いいえ"である場合、フローは、ブロック276に進む。判断ひし形280に対する答えが"はい"である場合、フローは、ブロック282に進み、そこで、DGIは、ディスエーブル状態になる。ブロック282から、フローは、ブロック276に進む。ブロック276から、フローは円Gに進む(図16参照)。
図16には、図6のブロック82の一部の一実施形態を示すフローが含まれる。図13及び15
の複数の点から、図16に示すフローは、円Gから判断ひし形300に進み、そこで、"Pd(n)及びPy'(n)の最小値>DT_LEVELか?"という質問が尋ねられる。判断ひし形300に対する答えが"はい"である場合、フローは、ブロック304に進み、そこで、DT_DELAYが、MAX_DT_DEALY
に等しく設定され、RESET_COUNTER1が、0に等しく設定され、RESET_COUNTER2が、0に等しく設定され、また、CONVEREGNCE_FLAGが、0に等しく設定される。一実施形態の場合、判
断ひし形300からブロック304へのフローは、基準信号と相関がとられていない所望信号の一部である近端信号の検出段階に対応する。ブロック304から、フローは、判断ひし形308に進む。判断ひし形300に対する答えが"いいえ"である場合、フローは判断ひし形302に進
み、そこで、"DT_DEALY>0か?"という質問が尋ねられる。判断ひし形302に対する答えが"
はい"である場合、フローは、ブロック306に進み、そこで、DT_DEALYが、DT_DEALY-1に等しく設定され、また、フローは、次に、判断ひし形308に進む。判断ひし形302に対する答えが"いいえ"である場合、フローは判断ひし形308に進み、そこで、"新しいバルク遅延が、検出されるか?"という質問が尋ねられる。判断ひし形308に対する答えが"いいえ"であ
る場合、フローは、図6の判断ひし形83に進む。判断ひし形308に対する答えが"はい"である場合、フローは、判断ひし形310に進み、そこで、"DGIは、イネーブル状態か?"という
質問が尋ねられる。判断ひし形310に対する答えが"いいえ"である場合、フローは、ブロ
ック312に進み、そこで、h(n)がリセットされ、また、DGIがイネーブル状態になる。ブロック312から、フローは、図6のブロック83に進む。判断ひし形310に対する答えが"はい"
である場合、フローは、判断ひし形314に進み、そこで、"DGI_REF_LEVELは、DGI_MAX_POWERに等しいか?"という質問が尋ねられる。判断ひし形314に対する答えが"いいえ"である
場合、フローは、図6のブロック83に進む。判断ひし形314に対する答えが"はい"である場合、フローは、ブロック316に進み、そこで、DGI_GAINが、DGI_MIN_GAINに等しく設定さ
れ、DT_DURATIONが、MAX_DT_DURATIONに等しく設定され、DGI_REF_LEVELが、DGI_REF_LEVEL1に等しく設定される。ブロック316から、フローは判断ひし形318に進み、そこで、"NLPは、イネーブル状態か?"という質問が尋ねられる。判断ひし形318に対する答えが"いい
え"である場合、フローは、図6のブロック83に進む。判断ひし形318に対する答えが"はい"である場合、フローは、ブロック320に進み、そこで、DGI_REF_LEVELが、DGI_REF_LEVEL2に等しく設定される。ブロック320から、フローは、図6のブロック83に進む。
図17には、図6のブロック80の一部の一実施形態を示すフローが含まれる。図9の判断ひし形128から、図17に示すフローは、円Hからブロック340に進み、そこで、適応フィルタ
バックアップが処理される。フローは、次に、ブロック342に進み、そこで、現適応フィ
ルタと前バックアップとの間の距離が演算される。フローは、次に、ブロック344に進み
、そこで、適応フィルタの急峻変動がチェックされる。フローは、次に、ブロック346に
進み、そこで、DT_LEVELが更新される。フローは、次に、図6のブロック83に進む。
図18には、図17のブロック340の一部の一実施形態を示すフローが含まれる。図9の判断ひし形128から、図18に示すフローは、ブロック360に進み、そこで、SAMPLE_COUNTERが、SAMPLE_COUNTER+1に等しく設定される。ブロック360から、フローは判断ひし形362に進み、そこで、"SAMPLE_COUNTERは、BACKUP_COUNTERに等しいか?"という質問が尋ねられる(例えば、BACKUP_COUNTER=2000*8)。判断ひし形362に対する答えが"いいえ"である場合、フ
ローは、図17のブロック342に進む。判断ひし形362に対する答えが"はい"である場合、フローは、ブロック364に進み、そこで、SAMPLE_COUNTERは、0に設定される。ブロック364
から、フローは判断ひし形366に進み、そこで、"Py'(n)<(BACKUP_LOG_ERLEの量だけ右に
シフトされたPd(n))か?"という質問が尋ねられる(例えば、BACKUP_LOG_ERLE=6)。判断ひ
し形366に対する答えが"いいえ"である場合、フローは、図17のブロック342に進む。判断ひし形366に対する答えが"はい"である場合、フローは判断ひし形368に進み、そこで、"DT_DELAYは、0に等しいか"という質問が尋ねられる。判断ひし形368に対する答えが"いい
え"である場合、フローは、図17のブロック342に進む。判断ひし形368に対する答えが"はい"である場合、フローは、ブロック370に進み、そこで、現適応フィルタ係数は、バックアップ・メモリ・バンクにバックアップされる。ブロック370から、フローは、ブロック372に進み、そこで、BACKUP_STATEが、(BACKUP_STATE+1)及びMAX_BACKUP_STATEの最小値(
例えば、3)に等しく設定される。ブロック372から、フローは、図17のブロック342に進む。
図19には、図17のブロック342の一部の一実施形態を示すフローが含まれる。図17のブ
ロック340から、図19に示すフローは、判断ひし形390に進み、そこで、"a(n)は、1に等しいか?"という質問が尋ねられる。判断ひし形390に対する答えが"いいえ"である場合、フ
ローは、図17のブロック344に進む。判断ひし形390に対する答えが"はい"である場合、フローは、ブロック392に進み、そこで、MIDCALL_COUNTERが、MIDCALL_COUNTER+1に等しく
設定され、また、UPDATE_COUNTERが、UPDATE_COUNTER+1に等しく設定される。ブロック392から、フローは判断ひし形394に進み、そこで、"MIDCALL_COUNTERは、MAXMIDCALL_COUNTERに等しいか?"という質問が尋ねられる(例えば、MAXMIDCALL_COUNTER=4)。判断ひし形394に対する答えが"いいえ"である場合、フローは、図17のブロック344に進む。判断ひし形394に対する答えが"はい"である場合、フローは、ブロック396に進み、そこで、MIDCALL_COUNTERが、0に等しく設定される。ブロック396から、フローは判断ひし形398に進み、そこで、"BACKUP_STATE>1か?"という質問が尋ねられる。判断ひし形398に対する答えが"は
い"である場合、フローは、ブロック402に進み、そこで、現適応フィルタと最も古いバックアップとの間の距離が演算され、TAP_CHANGEに保存される。判断ひし形398に対する答
えが"いいえ"である場合、フローは判断ひし形400に進み、そこで、"BACKUP_STATE>0か?"という質問が尋ねられる。判断ひし形400に対する答えが"いいえ"である場合、フローは
、図17のブロック344に進む。判断ひし形400に対する答えが"はい"である場合、フローは、ブロック404に進み、そこで、現適応フィルタと最新のバックアップとの間の距離が演
算され、TAP_CHANGEに保存される。ブロック404及び402から、フローは、図17のブロック344に進む。
図20には、図17のブロック344の一部の一実施形態を示すフローが含まれる。図17のブ
ロック342から、図20に示すフローは、判断ひし形410に進み、そこで、"a(n)は、1に等しいか?"という質問が尋ねられる。判断ひし形410に対する答えが"いいえ"である場合、フ
ローは、図17のブロック346に進む。判断ひし形410に対する答えが"はい"である場合、フローは判断ひし形412に進み、そこで、"TAP_CHANGE>[Pw(n)+MIDCALL_MIN_LEVEL]か?"という質問が尋ねられる(例えば、MIDCALL_MIN_LEVEL=0.0076)。判断ひし形412に対する答え
が"いいえ"である場合、フローは、図17のブロック346に進む。判断ひし形412に対する答えが"はい"である場合、フローは判断ひし形414に進み、そこで、"BACKUP_STATE>0か?"という質問が尋ねられる。判断ひし形414に対する答えが"いいえ"である場合、フローは、
図17のブロック346に進む。判断ひし形414に対する答えが"はい"である場合、フローは判断ひし形416に進み、そこで、"DGIは、ディスエーブル状態か?"という質問が尋ねられる
。判断ひし形416に対する答えが"いいえ"である場合、フローは、図17のブロック346に進む。判断ひし形416に対する答えが"はい"である場合、フローは判断ひし形418に進み、そこで、"Py'(n)>(MIDCALL_LOG_ERLEの量だけ右にシフトされたPd(n))か?"という質問が尋
ねられる(例えば、MIDCALL_LOG_ERLE=2)。判断ひし形418に対する答えが"いいえ"である
場合、フローは、図17のブロック346に進む。判断ひし形418に対する答えが"はい"である場合、フローは判断ひし形420に進み、そこで、"[Pz(n)-MIDCALL_FACTOR*Pd(n)]の大きさ>ERROR_MARGINか?"という質問が尋ねられる(例えば、MIDCALLJFACTOR=1及びERRORMARGIN=Pd(n)/8)。判断ひし形420に対する答えが"いいえ"である場合、フローは、図17のブロッ
ク346に進む。判断ひし形420に対する答えが"はい"である場合、フローは、ブロック422
に進み、そこで、h(n)は、リセットされ、また、DGIは、イネーブル状態になる。ブロッ
ク422から、フローは、図17のブロック346に進む。
図21には、図17のブロック346の一部の一実施形態を示すフローが含まれる。図17のブ
ロック344から、図21に示すフローは、ブロック440に進み、そこで、DT_COUNTERが、DT_COUNTER+1に等しく設定される。ブロック440から、フローは判断ひし形442に進み、そこで、"DT_COUNTERは、MAX_DT_COUNTERに等しいか?"という質問が尋ねられる(例えば、MAX_DT_COUNTER=4)。判断ひし形442に対する答えが"いいえ"である場合、フローは、図6のブロ
ック82に進む。判断ひし形442に対する答えが"はい"である場合、フローは、ブロック444に進み、そこで、DT_COUNTERが、0に等しく設定される。ブロック444から、フローは、ブロック446に進み、そこで、現適応フィルタと最新のバックアップとの間の距離が演算さ
れ、TAP_CHANGEに保存される。ブロック446から、フローは判断ひし形448に進み、そこで
、"TAP_CHANGE<MIN_DT_LEVELか?"という質問が尋ねられる(例えば、MIN_DT_LEVEL=0.0025)。判断ひし形448に対する答えが"いいえ"である場合、フローは、ブロック456に進み、
そこで、DT_LEVELが、[(1+VALUE1)の量だけ右にシフトされたPx(n)]に等しく設定される
が、この場合、VALUE1は、1だけ右にシフトされたBACKUP_STATEに等しい。一般的に、DT_LEVELは、この場合、Px(n)の多項式関数であってよい。判断ひし形448に対する答えが"はい"である場合、フローは判断ひし形450に進み、そこで、"DGIは、ディスエーブル状態か?"という質問が尋ねられる。判断ひし形450に対する答えが"いいえ"である場合、フロー
は、ブロック456に進む。判断ひし形450に対する答えが"はい"である場合、フローは判断ひし形452に進み、そこで、"UPDATE_COUNTER>MIN_UPDATESか?"という質問が尋ねられる(
例えば、MIN_UPDATES=2000*8)。判断ひし形452に対する答えが"いいえ"である場合、フローは、ブロック456に進む。判断ひし形452に対する答えが"はい"である場合、フローは、ブロック454に進み、そこで、DT_LEVELは、[MIDCALL_FACTOR1*Pz(n)+MIDCALL_FACTOR2*Pw(n)]に等しく設定される(例えば、MIDCALL_FACTOR1=1.25及びMIDCALL_FACTOR2=4)。一般
的に、DT_LEVELは、この場合、Pz(n)及びPw(n)の多項式関数であってよく、これによって、通常、図16の判断ひし形300における近端信号検出が改善され、特に、適応フィルタが
収束した(即ち、c(n)=1)後は、改善される。ブロック454及び456から、フローは、ブロック458に進み、そこで、DT_LEVELが、DT_LEVEL及びMIN_DT_LEVELの最大値に等しく設定さ
れる(例えば、MIN_DT_LEVEL=-42dBm0)。ブロック458から、フローは、図6のブロック82に進む。
図22には、図6のブロック83の一部の一実施形態を示すフローが含まれる。図6のブロック82から、図22に示すフローは、判断ひし形480に進み、そこで、"DGIは、ディスエーブ
ル状態か?"という質問が尋ねられる。判断ひし形480に対する答えが"いいえ"である場合
、フローは、図6のブロック84に進む。判断ひし形480に対する答えが"はい"である場合、フローは判断ひし形482に進み、そこで、"Py'(n)<[SUPP_LOG_ERLEの量だけ右にシフトさ
れたPd(n)]か?"という質問が尋ねられる(例えば、SUPP_LOG_ERLE=3)。一般的に、判断ひ
し形482における検査は、Py'(n)及びPd(n)の多項式関数に基づいてよく、この場合、多項式関数の符号は、妥当なゲイン調整レート及び基準レベルを定義するために用いられる。判断ひし形482に対する答えが"いいえ"である場合、フローは、ブロック484に進み、そこで、SUPP_RATEが、SUPP_RATE_UP(例えば、0.0012)に等しく設定され、また、SUPP_REF_LEVELが、Pv(n)*Asupp(例えば、Asupp=1/2)に等しく設定される。判断ひし形482に対する答えが"はい"である場合、フローは、ブロック486に進み、そこで、SUPP_RATEが、SUPP_RATE_DOWN(例えば、0.0076)に等しく設定され、また、SUPP_REF_LEVELが、MAX_LEVEL(例えば、0dBm0)に等しく設定される。ブロック486及び484から、フローは判断ひし形488に進み
、そこで、"Py(n)<SUPP_REF_LEVELか?"という質問が尋ねられる。判断ひし形488に対する答えが"いいえ"である場合、フローは、ブロック490に進み、そこで、DGI_GAINが、(DGI_GAIN-SUPP_RATE)及びMIN_SUPP_GAINの最大値に等しく設定される(例えば、MIN_SUPP_GAIN=2-15)。判断ひし形488に対する答えが"はい"である場合、フローは、ブロック492に進み、そこで、DGI_GAINが、(DGI_GAIN+SUPP_RATE)及びMAX_SUPP_GAINの最小値に等しく設定
される。(例えば、MAX_SUPP_GAIN=1-2-15)。ブロック492及び490から、フローは判断ひし形494に進み、そこで、"Px(n)<Px_SUPP_MINか?"という質問が尋ねられる(例えば、Px_SUPP_MIN=-27dBm0)。判断ひし形494に対する答えが"はい"である場合、フローは、ブロック496に進み、そこで、Pv(n)が、b2Pv(n-1)+(1-b2)y'(n)*y'(n)に等しく設定される(例えば
、b2=1-2-9)。ブロック496から、フローは、ブロック498に進み、そこで、y(n)が、DGI_GAIN*y'(n)に等しく設定される。判断ひし形494に対する答えが"いいえ"である場合、フローは、ブロック498に進む。ブロック498から、フローは、図6のブロック84に進む。
上記明細書において、具体的な実施形態を参照して、本発明について説明した。しかしながら、当業者が理解されるように、以下の請求項に記載した本発明の範囲から逸脱することなく、様々な修正及び変更を行い得る。例えば、本明細書において教示した方法は、
いずれも、1つ以上のコンピュータハードディスク、フロッピーディスク、3.5"ディスク、コンピュータ記憶テープ、磁気ドラム、静的ランダムアクセスメモリ(SRAM)セル、動的ランダムアクセスメモリ(DRAM)セル、電気的に消去可能な(EEPROM、EPROM、フラッシュ)
セル、不揮発性セル、強誘電性又は強磁性メモリ、コンパクトディスク(CD)、レーザディスク、光学ディスク、及びあらゆる同様なコンピュータ判読可能な媒体上のソフトウェアとして具現化し得る。また、ブロック図は、例示されたものとは異なるブロックであってよく、また、より多い又はより少ないブロックであってよく、あるいは、構成が異なってもよい。また、フロー図の構成は、異なってもよく、より多い又はより少ないステップを含んでよく、構成は、異なってもよく、あるいは、多数のステップに分離し得るステップを有してよく、又は、互いに同時に実行し得るステップを有してもよい。従って、明細書及び図は、限定的でなく例示的であると見なすものとし、また、そのような全ての修正は、本発明の範囲内に含まれるものとする。
本明細書に示した要素は、例示した要素を接続する例示されていない仲介要素を有し得ることに留意されたい。本明細書で用いる用語”接続された”は、必ずしも直接的及び必ずしも機械的にではないが、接合又はリンクされたと定義する。
上記明細書において、具体的な実施形態を参照して、本発明について説明した。しかしながら、当業者が理解されるように、以下の請求項に記載した本発明の範囲から逸脱することなく、様々な修正及び変更を行い得る。従って、明細書及び図は、限定的でなく例示的であると見なすものとし、また、そのような全ての修正は、本発明の範囲内に含まれるものとする。
恩恵、他の利点、及び問題の解決策について、具体的な実施形態を基に上述した。しかしながら、これらの恩恵、利点、問題の解決策、及び何らかの恩恵、利点、又は解決策を生じさせる又はより顕著にさせる如何なる要素も、全ての請求項の重要な、必要な、若しくは不可欠な特徴又は要素として解釈してはならない。本明細書に用いた用語「“が含まれる”(含む)」、「含んでいる」又はその派生語は、非排他的な包括を網羅するものであり、一連の要素を含むプロセス、方法、物、又は装置が、これらの要素だけでなく、明示的に列記されていない他の要素や、このようなプロセス、方法、物、又は装置に固有の他の要素も含み得る。
〔追加テキスト〕
〔請求項1〕 適応フィルタシステムにゲインを動的に挿入するための方法であって

所望信号及び基準信号を受信する段階と、
前記基準信号をフィルタ処理して、推定所望信号を提供する段階と、
前記所望及び推定所望信号に基づき、エラー信号を生成する段階と、
所定の時間期間の間、所定のゲイン関数を前記エラー信号に適用して、出力信号を生成する段階と、
が含まれる方法。
〔請求項2〕 請求項1に記載の方法であって、更に、前記所望信号における急峻変動を検出する段階が含まれ、前記所定のゲイン関数を適用する段階は、前記急峻変動を検出する段階に応答して行われる方法。
〔請求項3〕 請求項1に記載の方法であって、前記所定のゲイン関数を適用する段階は、前記所望信号が初期しきい値を抑制した後、行われる方法。
〔請求項4〕 請求項1に記載の方法であって、前記所定の時間期間には、スピードアップ期間、ハングオーバ期間、及び解放期間が含まれる方法。
〔請求項5〕 請求項4に記載の方法であって、前記所定の時間期間の開始において、前記所定のゲイン関数は、第1ゲインレベルにあり、また、前記スピードアップ期間の間、前記所定のゲイン関数は、第2ゲインレベルに低減される方法。
〔請求項6〕 請求項5に記載の方法であって、前記スピードアップ期間の間、前記所定のゲイン関数は、少なくとも25パーセントだけ低減される方法。
〔請求項7〕 請求項5に記載の方法であって、前記スピードアップ期間は、前記所定の時間期間の少なくとも1パーセント及びせいぜい4パーセントである方法。
〔請求項8〕 請求項5に記載の方法であって、前記ハングオーバ期間の間、前記出力信号のレベルが目標レベルに維持される方法。
〔請求項9〕 請求項8に記載の方法であって、前記解放期間の間、前記所定のゲイン関数は、前記第1ゲインレベルに回復される方法。
〔請求項10〕 請求項9に記載の方法であって、前記所定のゲイン関数は、前記第1
ゲインレベルまで徐々に増加し、また、前記解放期間は、前記所定の時間期間の少なくとも20パーセントである方法。
〔請求項11〕 請求項10に記載の方法であって、前記解放期間は、前記所定の時間期間の少なくとも50パーセントである方法。
〔請求項12〕 請求項10に記載の方法であって、前記基準信号をフィルタ処理する段階は、適応フィルタによって行われ、また、前記解放期間には、前記適応フィルタの適応に対応する第1解放期間と、前記適応フィルタの適応とは独立した第2解放期間と、が含まれる方法。
〔請求項13〕 請求項1に記載の方法であって、前記所定のゲイン関数は、前記所定
の時間期間の終了時、それ自体をディスエーブル状態にする方法。
〔請求項14〕 請求項1に記載の方法であって、前記基準信号をフィルタ処理する段
階は、適応フィルタが、前記所定のゲイン関数適用時、第1ステップサイズを有することによって行われ、また、前記適応フィルタが適応され前記所定のゲイン関数が適用されない時、第2ステップサイズを有することによって行われる方法。
〔請求項15〕 請求項14に記載の方法であって、前記第1ステップサイズは、前記第2ステップサイズより大きい方法。
〔請求項16〕 請求項1に記載の方法であって、更に、前記適応フィルタシステムに
近端信号が存在するかどうかを検出する段階が含まれ、
前記所定のゲイン関数を適用する段階の間、近端信号が検出される場合、前記所定のゲイン関数は、前記所定の時間期間の残り時間の間、適用されない方法。
〔請求項17〕 適応フィルタシステムにおいて急峻変動を検出するための方法であって、
通信システムによって生成された所望信号を受信する段階と、
基準信号を受信する段階と、
適応フィルタを用いて前記基準信号をフィルタ処理して、推定所望信号を提供する段階と、
前記所望及び推定所望信号に基づき、エラー信号を生成する段階と、
前記エラー信号に基づき、出力信号を生成する段階と、
前記所望信号、基準信号、エラー信号、及び推定所望信号のパワー推定を行う段階と、
前記パワー推定に基づき、前記通信システムの急峻変動を検出する段階と、
が含まれる方法。
〔請求項18〕 請求項17に記載の方法であって、更に、前記通信システムの前記急峻変動を検出する段階に応答して、所定の時間期間の間、所定のゲイン関数を前記エラー信号に適用して、前記出力信号を生成する段階が含まれる方法。
〔請求項19〕 請求項18に記載の方法であって、前記所定の時間期間には、スピードアップ期間、ハングオーバ期間、及び解放期間が含まれる方法。
〔請求項20〕 請求項19に記載の方法であって、更に、前記出力信号のパワー推定を行う段階が含まれ、前記出力信号の前記パワー推定は、前記ハングオーバ期間の間、目標出力レベルを維持するために用いられる方法。
〔請求項21〕 請求項20に記載の方法であって、更に、前記出力信号の非線形処理を選択的に行う段階が含まれ、前記目標出力レベルは、非線形処理が行われる場合、第1値を有し、また、非線形処理が行われない場合、第2値を有する方法。
〔請求項22〕 請求項17に記載の方法であって、前記急峻変動を検出する段階は、以下のように構成される、即ち、
前記エラー信号の前記パワー推定が、前記所望信号の前記パワー推定より大きい場合、前記エラー信号の前記パワー推定及び前記推定所望信号の前記パワー推定の最小値が、前記エラー信号の前記パワー推定及び前記推定所望信号の前記パワー推定の最大値の第1の所定範囲以内にある時、前記急峻変動が検出される方法。
〔請求項23〕 請求項22に記載の方法であって、前記第1の所定範囲は、前記エラー信号の前記パワー推定及び前記推定所望信号の前記パワー推定の前記最大値の25パーセントに対応する方法。
〔請求項24〕 請求項22に記載の方法であって、前記第1の所定範囲は、前記エラー信号の前記パワー推定及び前記推定所望信号の前記パワー推定の前記最大値の10パーセントに対応する方法。
〔請求項25〕 請求項22に記載の方法であって、前記エラー信号の前記パワー推定が、前記所望信号の前記パワー推定より大きい場合、前記エラー信号の前記パワー推定及び前記推定所望信号の前記パワー推定の前記最小値が、所定の時間量の間、前記エラー信号の前記パワー推定及び前記推定所望信号の前記パワー推定の前記最大値の前記第1の所定範囲以内にある時、前記急峻変動が検出される方法。
〔請求項26〕 請求項22に記載の方法であって、前記急峻変動を検出する段階は、更に、以下のように構成される、即ち、前記エラー信号の前記パワー推定が、前記所望信号の前記パワー推定より大きい場合、前記所望信号の前記パワー推定及び前記推定所望信号の前記パワー推定の最小値が、前記所望信号の前記パワー推定及び前記推定所望信号の前記パワー推定の最大値の第2の所定範囲外にある時、前記急峻変動が検出される方法。
〔請求項27〕 請求項26に記載の方法であって、前記第2の所定範囲は、前記所望信号の前記パワー推定及び前記推定所望信号の前記パワー推定の前記最大値の25パーセントに対応する方法。
〔請求項28〕 請求項26に記載の方法であって、前記第2の所定範囲は、前記所望信号の前記パワー推定及び前記推定所望信号の前記パワー推定の前記最大値の10パーセントに対応する方法。
〔請求項29〕 請求項26に記載の方法であって、前記エラー信号の前記パワー推定が、前記所望信号の前記パワー推定より大きい場合、前記所望信号の前記パワー推定及び前記推定所望信号の前記パワー推定の前記最小値が、所定の時間量の間、前記所望信号の前記パワー推定及び前記推定所望信号の前記パワー推定の前記最大値の前記第2の所定範囲外にある時、前記急峻変動が検出される方法。
〔請求項30〕 請求項26に記載の方法であって、前記急峻変動を検出する段階は、更に、以下のように構成される、即ち、
前記エラー信号の前記パワー推定が、前記所望信号の前記パワー推定より小さい場合、前記適応フィルタが収束しており、また、前記所望信号の前記パワー推定及び前記推定所望信号の前記パワー推定の最小値が、前記所望信号の前記パワー推定及び前記推定所望信号の前記パワー推定の最大値の第3の所定範囲外にあり、更に、前記所望信号の前記パワー推定及び前記エラー信号の前記パワー推定の最小値が、前記所望信号の前記パワー推定及び前記エラー信号の前記パワー推定の最大値の第4の所定範囲外にある時、前記急峻変動が検出される方法。
〔請求項31〕 請求項30に記載の方法であって、前記第3の所定範囲は、前記所望信号の前記パワー推定及び前記推定所望信号の前記パワー推定の前記最大値の50パーセントに対応し、また、前記第4の所定範囲は、前記所望信号の前記パワー推定及び前記エラー信号の前記パワー推定の前記最大値の50パーセントに対応する方法。
〔請求項32〕 請求項30に記載の方法であって、前記第3の所定範囲は、前記所望信号の前記パワー推定及び前記推定所望信号の前記パワー推定の前記最大値の25パーセントに対応し、また、前記第4の所定範囲は、前記所望信号の前記パワー推定及び前記エラー信号の前記パワー推定の前記最大値の25パーセントに対応する方法。
〔請求項33〕 請求項30に記載の方法であって、前記エラー信号の前記パワー推定が、前記所望信号の前記パワー推定より小さい場合、前記適応フィルタが収束しており、また、前記所望信号の前記パワー推定及び前記推定所望信号の前記パワー推定の前記最小値が、第1の所定時間量の間、前記所望信号の前記パワー推定及び前記推定所望信号の前記パワー推定の前記最大値の前記第3の所定範囲外にあり、更に、前記所望信号の前記パワー推定及び前記エラー信号の前記パワー推定の前記最小値が、第2の所定時間量の間、前記所望信号の前記パワー推定及び前記エラー信号の前記パワー推定の最大値の前記第4の所定範囲外にある時、前記急峻変動が検出される方法。
〔請求項34〕 請求項17に記載の方法であって、前記急峻変動を検出する段階は、更に、
前記エラー信号の前記パワー推定が、前記所望信号の前記パワー推定より小さい場合、前記適応フィルタが収束しており、また、前記所望信号の前記パワー推定及び前記推定所望信号の前記パワー推定の最小値が、前記所望信号の前記パワー推定及び前記推定所望信号の前記パワー推定の最大値の第1の所定範囲外にあり、更に、前記所望信号の前記パワー推定及び前記エラー信号の前記パワー推定の最小値が、前記所望信号の前記パワー推定及び前記エラー信号の前記パワー推定の最大値の第2の所定範囲外にある時、前記急峻変動が検出されることを必要とする方法。
〔請求項35〕 請求項34に記載の方法であって、前記第1の所定範囲は、前記所望信号の前記パワー推定及び前記推定所望信号の前記パワー推定の前記最大値の50パーセントに対応し、また、前記第2の所定範囲は、前記所望信号の前記パワー推定及び前記エラー信号の前記パワー推定の前記最大値の50パーセントに対応する方法。
〔請求項36〕 請求項34に記載の方法であって、前記第1の所定範囲は、前記所望信号の前記パワー推定及び前記推定所望信号の前記パワー推定の前記最大値の25パーセントに対応し、また、前記第2の所定範囲は、前記所望信号の前記パワー推定及び前記エラー信号の前記パワー推定の前記最大値の25パーセントに対応する方法。
〔請求項37〕 請求項17の方法を実現するための複数の命令を有する少なくとも1つのコンピュータ判読可能媒体を介して記憶された適応フィルタシステム。
〔請求項38〕 適応フィルタシステムにおいて急峻変動を検出するための方法であって、
通信システムによって生成された所望信号を受信する段階と、
基準信号を受信する段階と、
適応フィルタを用いて前記基準信号をフィルタ処理して、推定所望信号を提供する段階と、
前記所望及び推定所望信号に基づき、エラー信号を生成する段階と、
前記エラー信号に基づき、出力信号を生成する段階と、
前記適応フィルタの以前の係数と前記適応フィルタの現係数との間の距離を得る段階と、
前記距離を用いて前記通信システムの急峻変動を検出する段階と、
が含まれる方法。
〔請求項39〕 請求項38に記載の方法であって、更に、
前記通信システムの前記急峻変動を検出する段階に応答して、所定の時間期間の間、所定のゲイン関数を前記エラー信号に適用して、前記出力信号を生成する段階が含まれる方法。
〔請求項40〕 請求項39に記載の方法であって、前記所定の時間期間には、スピードアップ期間、ハングオーバ期間、及び解放期間が含まれる方法。
〔請求項41〕 請求項38に記載の方法であって、前記距離を用いて前記急峻変動を検出する段階には、更に、
前記通信システムのバックグラウンド信号レベルを求める段階と、
前記距離が前記バックグラウンド信号レベルより大きい場合、前記急峻変動を検出する段階と、が含まれる方法。
〔請求項42〕 請求項38に記載の方法であって、更に、バックグラウンド信号レベルを求める段階が含まれ、また、前記距離を得る段階には、
前記推定所望信号レベル及び前記バックグラウンド信号レベルを用いて、多項式関数を求める段階と、
前記多項式を用いて、近端信号が存在するかどうか検出する段階と、
前記近端信号が検出されない場合、前記適応フィルタの以前の係数を選択的に求める段階と、
が含まれる方法。
〔請求項43〕 請求項38の方法を実現するための複数の命令を有する少なくとも1つのコンピュータ判読可能媒体を介して記憶された適応フィルタシステム。
〔請求項44〕 適応フィルタシステムにゲインを動的に挿入するための方法であって、
所望信号及び基準信号を受信する段階と、
前記基準信号をフィルタ処理して、推定所望信号を提供する段階と、
前記所望及び推定所望信号に基づき、エラー信号を生成する段階と、
前記エラー信号のパワー推定及び前記所望信号のパワー推定を用いて、多項式関数を求
める段階と、
前記多項式関数に基づき適応ゲイン関数を生成し、また、フィードバック信号を生成する段階と、
前記適応ゲイン関数を前記エラー信号に適用して出力信号を生成する段階であって、前記出力信号は、前記フィードバック信号を提供する前記段階と、
が含まれる方法。
〔請求項45〕 請求項44に記載の方法であって、前記多項式関数に基づき前記適応ゲイン関数を生成する段階には、
前記多項式関数に基づき、前記適応ゲイン関数のゲイン調整レートを設定する段階と、
前記多項式関数に基づき、前記適応ゲイン関数の基準レベルを設定する段階と、が含まれる方法。
〔請求項46〕 請求項45に記載の方法であって、前記出力信号のパワー推定が、前記基準レベルより小さい場合、前記ゲイン調整レートを用いて前記適応ゲイン関数を大きし、また、前記出力信号の前記パワー推定が、前記基準レベルより大きい場合、前記ゲイン調整レートを用いて前記適応ゲイン関数を小さくする方法。
〔請求項47〕 請求項46に記載の方法であって、前記ゲイン調整レートは、前記適応ゲイン関数を大きくする場合、第1の値を有し、また、前記適応ゲイン関数を小さくする場合、第2の値を有し、前記第1の値は、前記第2の値と異なる方法。
〔請求項48〕 請求項46に記載の方法であって、前記適応ゲイン関数の前記基準レベルは、前記適応フィルタシステムのバックグラウンド信号レベルの関数である方法。
〔請求項49〕 請求項44の方法を実現するための複数の命令を有する少なくとも1つのコンピュータ判読可能媒体を介して記憶された適応フィルタシステム。
〔請求項50〕 適応フィルタシステムであって、
基準信号を受信し、推定所望信号を提供する適応フィルタと、
所望信号及び前記推定所望信号に基づき、エラー信号を受信し、また、出力信号を提供するゲインユニットであって、所定の時間期間の間、所定のゲイン関数を前記エラー信号に適用して、前記出力信号を生成する前記ゲインユニットと、
が含まれる適応フィルタシステム。
〔請求項51〕 請求項50に記載の適応フィルタシステムであって、更に、
前記ゲインユニットに接続され前記所望信号の急峻変動を検出する急峻変動検出器であって、前記ゲインユニットは、前記急峻変動を検出する前記急峻変動検出器に応答して、前記所定のゲイン関数を適用する、前記急峻変動検出器が含まれる適応フィルタシステム。
〔請求項52〕 請求項50に記載の適応フィルタシステムであって、前記適応フィルタシステムは、少なくとも1つのコンピュータ判読可能媒体を介して記憶された複数の命令として実装される適応フィルタシステム。
〔請求項53〕 請求項50に記載の適応フィルタシステムであって、前記所定の時間期間には、スピードアップ期間、ハングオーバ期間、及び解放期間が含まれる適応フィルタシステム。
〔請求項54〕 請求項53に記載の適応フィルタシステムであって、前記所定の時間期間の開始において、前記所定のゲイン関数は、第1ゲインレベルにあり、また、前記スピ
ードアップ期間の間、前記所定のゲイン関数は、第2ゲインレベルに低減される適応フィルタシステム。
〔請求項55〕 請求項54に記載の適応フィルタシステムであって、前記ハングオーバ期間の間、前記出力信号のレベルが目標レベルに維持される適応フィルタシステム。
〔請求項56〕 請求項55に記載の適応フィルタシステムであって、前記解放期間の間、前記所定のゲイン関数は、前記第1ゲインレベルに回復される適応フィルタシステム。
〔請求項57〕 請求項50に記載の適応フィルタシステムであって、前記適応フィルタシステムは、エコーキャンセラの一部である適応フィルタシステム。
〔請求項58〕 ある方法を実現するための複数の命令を有する少なくとも1つのコンピュータ判読可能媒体を介して記憶された適応フィルタシステムであって、前記方法には、
所望信号及び基準信号を受信する段階と、
前記基準信号をフィルタ処理して、推定所望信号を提供する段階と、
前記所望及び推定所望信号に基づき、エラー信号を生成する段階と、
所定の時間期間の間、所定のゲイン関数を前記エラー信号に適用して、出力信号を生成する段階と、
が含まれる適応フィルタシステム。
〔請求項59〕 請求項58に記載の適応フィルタシステムであって、更に、前記所望信号の急峻変動を検出するための命令が含まれ、前記所定のゲイン関数を適用する段階は、前記急峻変動を検出する段階に応答して行われる適応フィルタシステム。
〔請求項60〕 請求項58に記載の適応フィルタシステムであって、前記所定の時間期間には、スピードアップ期間、ハングオーバ期間、及び解放期間が含まれる適応フィルタシステム。
〔請求項61〕 請求項60に記載の適応フィルタシステムであって、前記所定の時間期間の開始において、前記所定のゲイン関数は、第1ゲインレベルにあり、また、前記スピードアップ期間の間、前記所定のゲイン関数は、第2ゲインレベルに低減される適応フィルタシステム。
〔請求項62〕 請求項61に記載の適応フィルタシステムであって、前記ハングオーバ期間の間、前記出力信号のレベルが目標レベルに維持される適応フィルタシステム。
〔請求項63〕 請求項62に記載の適応フィルタシステムであって、前記解放期間の間、前記所定のゲイン関数は、前記第1ゲインレベルに回復される適応フィルタシステム。
本発明の一実施形態に基づく通信システムを示す図。 本発明の一実施形態に基づく図1の通信システムにおけるエコーキャンセラの一部を示す図。 本発明の一実施形態に基づく図2のゲインコントローラの一部を示す図。 従来技術と比較した図1のエコーキャンセラの性能特性、即ち、エコー反射減衰量向上値(ERLE)を示す図。 本発明の一実施形態に基づく図2のエコーキャンセラのゲイン関数を示す図。 本発明の一実施形態に基づく動的ゲイン挿入(DGI)を用いる図2のエコーキャンセラの動作の一部をフロー図形式で示す図。 本発明の一実施形態に基づく動的ゲイン挿入(DGI)を用いる図2のエコーキャンセラの動作の一部をフロー図形式で示す図。 本発明の一実施形態に基づく動的ゲイン挿入(DGI)を用いる図2のエコーキャンセラの動作の一部をフロー図形式で示す図。 本発明の一実施形態に基づく動的ゲイン挿入(DGI)を用いる図2のエコーキャンセラの動作の一部をフロー図形式で示す図。 本発明の一実施形態に基づく動的ゲイン挿入(DGI)を用いる図2のエコーキャンセラの動作の一部をフロー図形式で示す図。 本発明の一実施形態に基づく動的ゲイン挿入(DGI)を用いる図2のエコーキャンセラの動作の一部をフロー図形式で示す図。 本発明の一実施形態に基づく動的ゲイン挿入(DGI)を用いる図2のエコーキャンセラの動作の一部をフロー図形式で示す図。 本発明の一実施形態に基づく動的ゲイン挿入(DGI)を用いる図2のエコーキャンセラの動作の一部をフロー図形式で示す図。 本発明の一実施形態に基づく動的ゲイン挿入(DGI)を用いる図2のエコーキャンセラの動作の一部をフロー図形式で示す図。 本発明の一実施形態に基づく動的ゲイン挿入(DGI)を用いる図2のエコーキャンセラの動作の一部をフロー図形式で示す図。 本発明の一実施形態に基づく動的ゲイン挿入(DGI)を用いる図2のエコーキャンセラの動作の一部をフロー図形式で示す図。 本発明の一実施形態に基づく動的ゲイン挿入(DGI)を用いる図2のエコーキャンセラの動作の一部をフロー図形式で示す図。 本発明の一実施形態に基づく動的ゲイン挿入(DGI)を用いる図2のエコーキャンセラの動作の一部をフロー図形式で示す図。 本発明の一実施形態に基づく動的ゲイン挿入(DGI)を用いる図2のエコーキャンセラの動作の一部をフロー図形式で示す図。 本発明の一実施形態に基づく動的ゲイン挿入(DGI)を用いる図2のエコーキャンセラの動作の一部をフロー図形式で示す図。 本発明の一実施形態に基づく動的ゲイン挿入(DGI)を用いる図2のエコーキャンセラの動作の一部をフロー図形式で示す図。 本発明の一実施形態に基づく動的ゲイン挿入(DGI)を用いる図2のエコーキャンセラの動作の一部をフロー図形式で示す図。

Claims (12)

  1. 適応フィルタシステムにゲインを動的に挿入するための方法であって、
    所望信号及び基準信号を受信する段階と、
    前記基準信号をフィルタ処理して、推定所望信号を提供する段階と、
    前記所望及び推定所望信号に基づき、エラー信号を生成する段階と、
    所定の時間期間の間、所定のゲイン関数を前記エラー信号に適用して、出力信号を生成する段階と、
    が含まれる方法。
  2. 請求項1に記載の方法であって、更に、前記所望信号の急峻変動を検出する段階が含まれ
    、前記所定のゲイン関数を適用する段階は、前記急峻変動を検出する段階に応答して行われる方法。
  3. 請求項1に記載の方法であって、前記所定のゲイン関数は、前記所定の時間期間の終了時
    、それ自体をディスエーブル状態にする方法。
  4. 請求項1に記載の方法であって、前記基準信号をフィルタ処理する段階は、適応フィルタ
    が、前記所定のゲイン関数適用時には第1のステップサイズを有することによって行われ、また、前記適応フィルタが適応され前記所定のゲイン関数が適用されない時には第2のステップサイズを有することによって行われる方法。
  5. 適応フィルタシステムにおいて急峻変動を検出するための方法であって、
    通信システムによって生成された所望信号を受信する段階と、
    基準信号を受信する段階と、
    適応フィルタを用いて前記基準信号をフィルタ処理して、推定所望信号を提供する段階と、
    前記所望及び推定所望信号に基づき、エラー信号を生成する段階と、
    前記エラー信号に基づき、出力信号を生成する段階と、
    前記所望信号、基準信号、エラー信号、及び推定所望信号のパワー推定を行う段階と、
    前記パワー推定に基づき、前記通信システムの急峻変動を検出する段階と、
    が含まれる方法。
  6. 請求項5の方法を実現するための、複数の命令を有する少なくとも1つのコンピュータ判
    読可能媒体を介して記憶された適応フィルタシステム。
  7. 適応フィルタシステムにおいて急峻変動を検出するための方法であって、
    通信システムによって生成された所望信号を受信する段階と、
    基準信号を受信する段階と、
    適応フィルタを用いて前記基準信号をフィルタ処理して、推定所望信号を提供する段階と、
    前記所望及び推定所望信号に基づき、エラー信号を生成する段階と、
    前記エラー信号に基づき、出力信号を生成する段階と、
    前記適応フィルタの以前の係数と前記適応フィルタの現係数との間の距離を得る段階と、
    前記距離を用いて前記通信システムの急峻変動を検出する段階と、
    が含まれる方法。
  8. 適応フィルタシステムにゲインを動的に挿入するための方法であって、
    所望信号及び基準信号を受信する段階と、
    前記基準信号をフィルタ処理して、推定所望信号を提供する段階と、
    前記所望及び推定所望信号に基づき、エラー信号を生成する段階と、
    前記エラー信号のパワー推定及び前記所望信号のパワー推定を用いて、多項式関数を求める段階と、
    前記多項式関数に基づき適応ゲイン関数を生成し、また、フィードバック信号を生成する段階と、
    前記適応ゲイン関数を前記エラー信号に適用して出力信号を生成する段階であって、前記出力信号は、前記フィードバック信号を提供する前記段階と、
    が含まれる方法。
  9. 適応フィルタシステムであって、
    基準信号を受信し、推定所望信号を提供する適応フィルタと、
    所望信号及び前記推定所望信号に基づきエラー信号を受信し、また、出力信号を提供するゲインユニットであって、所定の時間期間の間、所定のゲイン関数を前記エラー信号に適用して、前記出力信号を生成する前記ゲインユニットと、
    が含まれる適応フィルタシステム。
  10. 請求項9に記載の適応フィルタシステムであって、更に、
    前記ゲインユニットに接続され前記所望信号の急峻変動を検出する急峻変動検出器であって、前記ゲインユニットは、前記急峻変動を検出する前記急峻変動検出器に応答して、前記所定のゲイン関数を適用する、前記急峻変動検出器が含まれる適応フィルタシステム。
  11. 請求項9に記載の適応フィルタシステムであって、前記適応フィルタシステムは、エコー
    キャンセラの一部である適応フィルタシステム。
  12. ある方法を実現するための複数の命令を有する少なくとも1つのコンピュータ判読可能媒体を介して記憶された適応フィルタシステムであって、前記方法には、
    所望信号及び基準信号を受信する段階と、
    前記基準信号をフィルタ処理して、推定所望信号を提供する段階と、
    前記所望及び推定所望信号に基づき、エラー信号を生成する段階と、
    所定の時間期間の間、所定のゲイン関数を前記エラー信号に適用して、出力信号を生成する段階と、
    が含まれる適応フィルタシステム。
JP2006542587A 2003-12-08 2004-11-05 適応フィルタシステムにゲインを動的に挿入するための方法及び装置 Expired - Fee Related JP4708359B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/730,449 2003-12-08
US10/730,449 US7599432B2 (en) 2003-12-08 2003-12-08 Method and apparatus for dynamically inserting gain in an adaptive filter system
PCT/US2004/037025 WO2005062475A1 (en) 2003-12-08 2004-11-05 Method and apparatus for dynamically inserting gain in an adaptive filter system

Publications (2)

Publication Number Publication Date
JP2007520919A true JP2007520919A (ja) 2007-07-26
JP4708359B2 JP4708359B2 (ja) 2011-06-22

Family

ID=34634167

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006542587A Expired - Fee Related JP4708359B2 (ja) 2003-12-08 2004-11-05 適応フィルタシステムにゲインを動的に挿入するための方法及び装置

Country Status (7)

Country Link
US (1) US7599432B2 (ja)
EP (1) EP1695446A4 (ja)
JP (1) JP4708359B2 (ja)
KR (1) KR101045472B1 (ja)
CN (1) CN1890886A (ja)
TW (1) TWI366984B (ja)
WO (1) WO2005062475A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100688565B1 (ko) 2005-08-09 2007-03-02 삼성전자주식회사 외부 노이즈 모니터링이 필요없는 루프 필터의 게인 갱신기및 게인 갱신방법
KR100803032B1 (ko) * 2006-10-19 2008-02-18 지씨티 세미컨덕터 인코포레이티드 과도 신호를 보상하기 위한 수신기, 디지털 신호 처리부 및 디지털 신호 처리 방법
US8135058B2 (en) * 2008-10-10 2012-03-13 Csr Technology Inc. Adaptive known signal canceller
US20120032739A1 (en) * 2009-03-09 2012-02-09 Zte Wistron Telecom Ab Digital predistortion circuit with extended operating range and a method thereof
CN102576528A (zh) * 2009-10-19 2012-07-11 瑞典爱立信有限公司 用于语音活动检测的检测器和方法
GB201309779D0 (en) * 2013-05-31 2013-07-17 Microsoft Corp Echo removal
GB201309773D0 (en) 2013-05-31 2013-07-17 Microsoft Corp Echo removal
WO2016015178A1 (zh) 2014-06-24 2016-02-04 华为技术有限公司 丢包检测方法、设备及系统
GB2525947B (en) * 2014-10-31 2016-06-22 Imagination Tech Ltd Automatic tuning of a gain controller
CN111201712B (zh) * 2017-09-25 2023-04-21 全球硅片有限公司 自适应滤波器

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06338827A (ja) * 1993-05-28 1994-12-06 Matsushita Electric Ind Co Ltd エコー制御装置
JPH08502869A (ja) * 1992-10-23 1996-03-26 ディーエスシー、カミューニケイシャンズ、コーパレイシャン エコー消去器を制御するための装置および方法
JP2003134004A (ja) * 2001-10-22 2003-05-09 Oki Electric Ind Co Ltd エコーキャンセラ

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4546216A (en) * 1983-01-27 1985-10-08 At&T Bell Laboratories Echo suppressor for improving echo canceler performance
CA1242541A (en) * 1985-11-25 1988-09-27 Dany Sylvain Echo cancellation in two-wire transmission path repeaters
US5307405A (en) * 1992-09-25 1994-04-26 Qualcomm Incorporated Network echo canceller
JP2626437B2 (ja) * 1992-12-28 1997-07-02 日本電気株式会社 残留エコー制御装置
JP2765494B2 (ja) * 1994-11-09 1998-06-18 日本電気株式会社 2線式音声会議装置
US5668794A (en) * 1995-09-29 1997-09-16 Crystal Semiconductor Variable gain echo suppressor
US5937060A (en) * 1996-02-09 1999-08-10 Texas Instruments Incorporated Residual echo suppression
US6108412A (en) * 1997-10-07 2000-08-22 Nortel Networks Corporation Adaptive echo cancelling system for telephony applications
GB2330745B (en) * 1997-10-24 2002-08-21 Mitel Corp Nonlinear processor for acoustic echo canceller
US6532289B1 (en) * 1997-11-28 2003-03-11 International Business Machines Corporation Method and device for echo suppression
EP1139302A4 (en) * 1998-12-07 2005-07-27 Hitachi Ltd METHOD FOR THE REAL TESTING OF A SHEET PROVIDED WITH A BUILT-IN CIRCULAR CIRCUIT
KR100279825B1 (ko) * 1998-12-23 2001-02-01 윤종용 교환기에서 에코 및 측음 현상을 제거하는 회로
DE19935808A1 (de) 1999-07-29 2001-02-08 Ericsson Telefon Ab L M Echounterdrückungseinrichtung zum Unterdrücken von Echos in einer Sender/Empfänger-Einheit
US6606382B2 (en) * 2000-01-27 2003-08-12 Qualcomm Incorporated System and method for implementation of an echo canceller
US6622030B1 (en) * 2000-06-29 2003-09-16 Ericsson Inc. Echo suppression using adaptive gain based on residual echo energy
US6959167B1 (en) * 2000-08-11 2005-10-25 Scansoft, Inc. Noise-level adaptive residual echo suppressor
US6961422B2 (en) * 2001-12-28 2005-11-01 Avaya Technology Corp. Gain control method for acoustic echo cancellation and suppression
US6904146B2 (en) * 2002-05-03 2005-06-07 Acoustic Technology, Inc. Full duplex echo cancelling circuit
US6961423B2 (en) * 2002-06-24 2005-11-01 Freescale Semiconductor, Inc. Method and apparatus for performing adaptive filtering
JP2004165888A (ja) * 2002-11-12 2004-06-10 Oki Electric Ind Co Ltd ハウリング処理装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08502869A (ja) * 1992-10-23 1996-03-26 ディーエスシー、カミューニケイシャンズ、コーパレイシャン エコー消去器を制御するための装置および方法
JPH06338827A (ja) * 1993-05-28 1994-12-06 Matsushita Electric Ind Co Ltd エコー制御装置
JP2003134004A (ja) * 2001-10-22 2003-05-09 Oki Electric Ind Co Ltd エコーキャンセラ

Also Published As

Publication number Publication date
US20050123033A1 (en) 2005-06-09
US7599432B2 (en) 2009-10-06
KR20070010114A (ko) 2007-01-22
EP1695446A1 (en) 2006-08-30
TWI366984B (en) 2012-06-21
TW200531442A (en) 2005-09-16
WO2005062475A1 (en) 2005-07-07
EP1695446A4 (en) 2008-05-28
JP4708359B2 (ja) 2011-06-22
KR101045472B1 (ko) 2011-06-30
CN1890886A (zh) 2007-01-03

Similar Documents

Publication Publication Date Title
CA2267411C (en) Echo canceller with silence detection
US8098812B2 (en) Method of controlling an adaptation of a filter
KR20050012826A (ko) 통신 시스템 및 그것을 위한 방법
WO1995031052A1 (fr) Compensateur d&#39;echos et procede d&#39;estimation de la trajectoire de l&#39;echo
US5675644A (en) Method and apparatus for canceling echo accounting for delay variations
JP4708359B2 (ja) 適応フィルタシステムにゲインを動的に挿入するための方法及び装置
WO1995031050A1 (fr) Procede et dispositif pour la detection de double parole et compensateur d&#39;echo
US5875246A (en) Distributed audio signal processing in a network experiencing transmission delay
GB2312600A (en) Adaptive echo cancellation
US7856087B2 (en) Circuit method and system for transmitting information
JP4475155B2 (ja) エコーキャンセラ
US6678254B1 (en) Method and communication device for optimizing echo cancellation
JPH08256089A (ja) エコー打消装置
US6408070B2 (en) Method and apparatus for echo control in a communication system
JPS6222290B2 (ja)
EP1887708A1 (en) Delayed adaptation structure for improved double-talk immunity in echo cancellation devices
JP4543896B2 (ja) エコー除去方法、エコーキャンセラ及び電話中継装置
US20030076844A1 (en) Method and system for filtering a signal and providing echo cancellation using an adaptive length filter
JP2953954B2 (ja) ダブルトーク検出装置およびエコーキャンセラ
JP3082899B2 (ja) 反響消去装置
JP3248551B2 (ja) 反響消去装置
JP4527502B2 (ja) エコーキャンセラ、回線交換システム及びエコーキャンセリング方法
JPH07231281A (ja) 反響消去装置
JP2002050986A (ja) エコーキャンセル方法及びエコーキャンセル装置
CA2268096C (en) Distributed audio signal processing in a network experiencing transmission delay

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071010

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101005

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101126

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110222

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110316

R150 Certificate of patent or registration of utility model

Ref document number: 4708359

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees