(57)【要約】エコーキャンセルのような信号反射の除去のための方法および装置が記載される。信号サンプルは遅延される。この遅延によって、電話通信システム等の通信網における送信および受信信号の連続的なサンプルのバースト処理が可能になる。結果として、従来の信号のサンプルごとの処理と比較してメモリ帯域幅が大幅に減じられる。本明細書に記載されたエコーキャンセラーは、ＦＰＧＡにおいて実現することができる。１０００を超えるチャネルにおけるエコーは、ＦＰＧＡおよび外部記憶装置を用いて消去することができる。反射信号の消去の実施例において、多数の段階のエコー推定が用いられる。
2005530393.tif 000002
【特許請求の範囲】
【請求項１】
電話通信システムにおけるエコーを消去するための方法であって、
送信信号をデジタル化して、第１の期間に対応するｍ＋ｎのデジタル化送信データを生成するステップを含み、ｎおよびｍは予め定められた整数であり、かつｍ≧ｎであり、前記方法はさらに、
受信信号をデジタル化して、第２の期間に対応するｎのデジタル化受信データを生成するステップを含み、第２の期間は第１の期間よりも短く、第１の期間と実質的に同じ終了時刻を有し、前記方法はさらに、
第１のｎのデジタル化送信データおよびｎのデジタル化受信データを用いて、１組のｎの加重データを計算するステップと、
１組のｎの加重データを用いて、第３の期間の受信信号からエコーを消去するステップとを含み、第３の期間は、第２の期間の後に続き、第２の期間と実質的に同じ長さを有する、方法。
【請求項２】
第１の期間および第２の期間の差は最小経路の長さに関連している、請求項１に記載の方法。
【請求項３】
計算するステップは、
ｙ（ｋ）＝Ｘ（ｋ−（ｍ＋ｎ））Ｗ（ｋ）； 
ｅ（ｋ）＝ｄ（ｋ−ｎ）−ｙ（ｋ）；および
Ｗ（ｋ＋１）＝Ｗ（ｋ）＋２μｅ（ｋ）Ｘ（ｋ−（ｍ＋ｎ））；
であり、
ｋは整数変数であり、
Ｘ（ｋ）はデジタル化送信信号を示し、
ｄ（ｋ）はデジタル化受信データを示し、
Ｗ（ｋ）は加重データを示し、
μは収束因子を示す、請求項１に記載の方法。
【請求項４】
エコーキャンセラーであって、
遅延を有する第１の遅延装置を含み、遅延は複数の信号サンプルに関連し、第１の遅延装置は送信信号を受信するように結合され、前記エコーキャンセラーはさらに、
遅延を有する第２の遅延装置を含み、第２の遅延装置は受信信号を受信するように結合され、前記エコーキャンセラーはさらに、
第１の遅延装置および第２の遅延装置に結合された係数更新器を含み、係数更新器は、送信信号および受信信号に対応して更新した係数を与える適応有限インパルス応答フィルタを含み、前記エコーキャンセラーさらに、
送信信号を受信するように結合されかつ更新した係数を受信するように係数更新器に結合されたエコー推定器を含み、エコー推定器は、更新した係数および送信信号に対応して推定エコー信号を与えるように構成され、前記エコーキャンセラーはさらに、
遅延を有する第３の遅延装置を含み、第３の遅延装置はエコー推定器に結合されて推定エコー信号を遅延させ、前記エコーキャンセラーはさらに、
受信信号および遅延された推定エコー信号を受信するように結合されたエコー除去器を含み、エコー除去器は、推定エコー信号と関連した推定エコーだけ減じた受信信号を与えるように構成された、エコーキャンセラー。
【請求項５】
送信信号を受信し、かつ送信信号を第２の遅延装置およびエコー推定器に与えるように結合された第４の遅延装置をさらに含み、第４の遅延装置は遅延を有する、請求項４に記載のエコーキャンセラー。
【請求項６】
エコーキャンセラーであって、
第１の遅延を有する第１の遅延装置を含み、第１の遅延は第１の数の信号サンプルに関連し、第１の遅延装置は送信信号を受信するように結合され、前記エコーキャンセラーはさらに、
第１の遅延を有する第２の遅延装置を含み、第２の遅延装置は受信信号を受信するように結合され、前記エコーキャンセラーはさらに、
第１の遅延装置および第２の遅延装置に結合された係数更新器を含み、係数更新器は、送信信号および受信信号に対応して更新した係数を与える適応有限インパルス応答フィルタを含み、前記エコーキャンセラーさらに、
第１の遅延によって遅延された送信信号を受信するように第１の遅延装置に結合され、かつ更新した係数を受信するように係数更新器に結合された第１の段階のエコー推定器を含み、第１の段階のエコー推定器は、更新した係数および送信信号の第１の数の信号サンプルに対応して第１の推定エコー信号を与えるように構成され、前記エコーキャンセラーはさらに、
第１の遅延を有する第３の遅延装置を含み、第３の遅延装置は第１の段階のエコー推定器に結合されて第１の推定エコー信号を遅延させ、前記エコーキャンセラーはさらに、
第２の遅延を有する第４の遅延装置を含み、第４の遅延装置は送信信号を受信するように結合され、第２の遅延は第２の数の信号サンプルに関連し、第２の数の信号サンプルは、第１の数の信号サンプルよりも少なく、第２の遅延は第１の遅延よりも短く、前記エコーキャンセラーはさらに、
第２の遅延によって遅延された送信信号を受信するように第４の遅延装置に結合された第２の段階のエコー推定器を含み、第２の段階のエコー推定器は、更新した係数の一部および送信信号の第２の数の信号サンプルに対応して第２の推定エコー信号を与えるように構成され、前記エコーキャンセラーはさらに、
第２の遅延を有する第５の遅延装置を含み、第５の遅延装置は受信信号を受信するように結合され、前記エコーキャンセラーはさらに、
第５の遅延装置によって遅延された受信信号を受信するように結合されたエコー除去器を含み、第１の推定エコー信号は第３の遅延装置によって遅延され、第２の推定エコー信号は第２の段階のエコー推定器によって与えられ、エコー除去器は、受信信号から、第１の推定エコー信号および第２の推定エコー信号を引いて、第１の推定エコー信号および第２の推定エコー信号に関連した推定エコーだけ減じた受信信号を与えるように構成された、エコーキャンセラー。
【請求項７】
エコーキャンセラーであって、
第１の遅延を有する第１の遅延装置を含み、第１の遅延は第１の数の信号サンプルに関連し、第１の遅延装置は送信信号を受信するように結合され、前記エコーキャンセラーはさらに、
第１の遅延を有する第２の遅延装置を含み、第２の遅延装置は受信信号を受信するように結合され、前記エコーキャンセラーはさらに、
第１の遅延装置および第２の遅延装置に結合された係数更新器を含み、係数更新器は、送信信号および受信信号に対応して更新した係数を与える適応有限インパルス応答フィルタを含み、前記エコーキャンセラーさらに、
第１の遅延によって遅延された送信信号を受信するように第１の遅延装置に結合され、かつ更新した係数を受信するように係数更新器に結合された第１の段階のエコー推定器を含み、第１の段階のエコー推定器は、更新した係数および送信信号の第１の数の信号サンプルに対応して第１の推定エコー信号を与えるように構成され、前記エコーキャンセラーはさらに、
第１の遅延を有する第３の遅延装置を含み、第３の遅延装置は第１の段階のエコー推定器に結合されて第１の推定エコー信号を遅延させ、前記エコーキャンセラーはさらに、  第２の遅延を有する第４の遅延装置を含み、第４の遅延装置は送信信号を受信するように
結合され、第２の遅延は第２の数の信号サンプルに関連し、第２の数の信号サンプルは第１の数の信号サンプルよりも少なく、第２の遅延は第１の遅延よりも短く、前記エコーキャンセラーはさらに、
第２の遅延によって遅延された送信信号を受信するように第４の遅延装置に結合された第２の段階のエコー推定器を含み、第２の段階のエコー推定器は、更新した係数の少なくとも第１の部分および送信信号の第２の数の信号サンプルに対応して第２の推定エコー信号を与えるように構成され、前記エコーキャンセラーはさらに、
第２の遅延を有する第５の遅延装置を含み、第５の遅延装置は第２の段階のエコー推定器に結合されて第２の推定エコー信号を遅延させ、前記エコーキャンセラーはさらに、  送信信号を受信するように結合された第３の段階のエコー推定器を含み、第３の段階のエコー推定器は、更新した係数の第２の部分に対応して第３の推定エコー信号を与えるように構成され、第２の部分は第１の部分よりも少なく、前記エコーキャンセラーはさらに、
受信信号、第３の遅延装置によって遅延された第１の推定エコー信号、第５の遅延装置によって遅延された第２の推定エコー信号、および第３の推定エコー信号を受信するように結合されたエコー除去器を含み、エコー除去器は、受信信号から、第１の推定エコー信号、第２の推定エコー信号および第３の推定エコー信号を引いて、第１の推定エコー信号、第２の推定エコー信号および第３の推定エコー信号に関連した推定エコーだけ減じた受信信号を与えるように構成された、エコーキャンセラー。
【請求項８】
反射信号と関連した効果を減じるための方法であって、
送信データ信号サンプルのために加重を与える適応有限インパルス応答フィルタリングのステップと、
送信データ信号サンプルおよび第１の数のサンプルの加重に対応する部分的な結果を計算するステップと、
部分的な結果の第１の部分および送信データ信号サンプルの第１の部分、ならびにそれに関連する加重を得るステップと、
部分的な結果の第１の部分および送信データ信号サンプルの第１の部分、ならびにそれに関連する加重に対応する第２の部分的な結果を計算するステップとを含み、第２の部分的な結果は、部分的な結果の第１の部分よりも結果の数が少なく、前記方法はさらに、
送信データ信号サンプルの第２の部分およびそれと関連した加重と関連した第２の部分的な結果を得るステップと、
送信データ信号サンプルの第２の部分およびそれに関連した加重と関連した第２の部分的な結果に対応する信号反射の推定値を計算するステップとを含む、方法。
【請求項９】
信号反射の推定値はリアルタイムで計算される、請求項８に記載の方法。
【請求項１０】
受信信号から信号反射の推定値を引くステップをさらに含む、請求項８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
発明の分野
本発明の１つ以上の局面は、一般的にネットワーク通信に関し、より特定的に電話通信システムにおけるエコーキャンセルに関する。
【背景技術】
【０００２】
発明の背景
最近では、電話通信のかなり多くの新しい用途がある。一例として、デジタル携帯電話の著しい成長が挙げられる。別の例としては、音声通信を伝えるための、インターネットプロトコル（ＩＰ）に準拠したパケットベースのデータネットワークの使用が挙げられる。パケットベースのデータネットワーク上で音声を伝えるこの技術は、ボイスオーバーＩＰ（ＶｏＩＰ）と呼ばれる。ＶｏＩＰの適用例において、音声信号は、デジタル化され、デジタル通信チャネル上を移動する。デジタルデータは、従来１つ以上のデジタルシグナルプロセッサ（ＤＳＰ）またはフィールドプログラマブルゲートアレイ（ＦＰＧＡ）を用いて処理される。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
電話における問題として「エコー」がある。電話において、「エコー」とは、通話者の声が電話線を通して当該通話者に戻って反射するものと定義される。エコーキャンセルは、電話通信におけるエコーを減じるまたは排除するために用いられる。エコーには複数の原因がある。たとえば、「ライン」エコーは、電気信号が、アナログ・デジタル通信システムからの２から４ワイヤのハイブリッド変換によってもたらされるような実質的な信号反射を生じる回線の一つの端部でのインピーダンス不整合に遭遇したときに生じる。従来、エコーキャンセルのための計算は、リアルタイムでサンプルごとのベースで行なわれている。サンプルごとの計算に関する１つの問題は、非常に大きなメモリ帯域幅がリアルタイムでの処理のために用いられることである。さらに、エコーは距離またはエコー経路の長さの遅延によって悪化する。エコーが長く遅延されると、それはサービスの質に悪影響を及ぼす可能性が高くなる。３０ミリセカンド（“ｍｓ”）またはそれよりも長く遅延されたエコーは、一般的にユーザにとって顕著なものであり、５０ｍｓよりも長い遅延は、サービスの質に著しい悪影響をもたらす。すなわち電話での会話によってユーザが問題を被る。エコー経路の長さの遅延は、当然ながら、部分的にシステムにおいてエコーが生じる場所に依存しているため、およそ１６ｍｓまたはそれよりも長いエコー経路の長さの遅延のエコーキャンセルが、サービスの質を向上させるために望ましく、有益である。しかしながら、エコー経路の遅延が１６ｍｓに等しいまたはそれ未満の場合があるかもしれない。音声は今ではデジタルネットワークまたはサブネットワーク（「サブネット」）上での通信のためにデジタル化されているため、このような短いエコー経路の遅延でさえもサービスの質に悪影響を及ぼすおそれがある。
【０００４】
国際電気通信連合（“ＩＴＵ”）は、デジタルネットワークエコーキャンセルのための仕様書、すなわちＩＴＵ  Ｇ．１６８を発表している。この仕様書の一部を遵守するためには、デジタルネットワークエコーキャンセラーは、０ミリセカンドよりも長い最小経路遅延を有する必要がある。しかしながら、ＩＴＵ  Ｇ．１６８のこの一部に完全に準拠するためには、１ｍｓのエコー経路遅延は許容されるものの、０ミリセカンドの経路遅延のエコーキャンセルが可能でなければならない。十分な内部メモリとともに製造された、特定用途向け集積回路（ＡＳＩＣ）およびＤＳＰ等の集積回路について、１６ｍｓに等しいまたはそれ未満のエコー経路遅延のエコーキャンセルが可能である。しかしながら、１６
ｍｓまたはそれ未満のしきい値のエコーキャンセルのための十分なメモリ帯域幅を有する集積回路を製造すると、さらにかなりの費用がかかる。
【０００５】
したがって、できる限り０ミリセカンドの最小経路の遅延のエコーキャンセルを遵守したデジタルネットワークエコーキャンセラーを提供することが望ましく、有益である。さらに、データをバッファリングするために外部記憶装置を用いる１６ｍｓに等しいまたはそれ未満の最小経路遅延のためのエコーキャンセルを可能にするデジタルネットワークエコーキャンセラーを提供することが望ましく、有益である。
【課題を解決するための手段】
【０００６】
発明の概要
本発明の一局面は、電話通信システムにおけるエコーを消去するための方法を含む。電話は、電気信号を電話局に送信し、電話局から電気信号を受信する。電気信号は音声情報によって変調される。送信信号はデジタル化されて、第１の期間に対応するｍ＋ｎのデジタル化送信データ（ｎおよびｍは予め定められた整数であり、ｍ＞＝ｎである）を生成する。受信信号はデジタル化されて、第２の期間に対応するｎのデジタル化受信データを生成する。第２の期間は、第１の期間よりも短く、第１の期間と同じ終了時刻を有する。１組のｎの加重（weight)データは、第１のｎのデジタル化送信データおよびｎのデジタル化受信データを用いて計算される。エコーは、１組のｎの加重データを用いて第３の期間で受信信号から消去することができる。第３の期間は第２の期間の後に続き、第２の期間と同じ長さを有する。
【０００７】
本発明の一局面は、反射信号と関連した効果を減じるための方法であり、送信データ信号サンプルのために加重を与える適応有限インパルス応答フィルタリングのステップと、送信データ信号サンプルおよび第１の数のサンプルの加重に対応する部分的な結果を計算するステップと、部分的な結果の第１の部分および送信データ信号サンプルの第１の部分、ならびにそれに関連する加重を得るステップと、部分的な結果の第１の部分および送信データ信号サンプルの第１の部分、ならびにそれに関連する加重に対応する第２の部分的な結果を計算するステップとを含み、第２の部分的な結果は、部分的な結果の第１の部分よりも結果の数が少なく、上記方法はさらに、送信データ信号サンプルの第２の部分およびそれと関連した加重と関連した第２の部分的な結果を得るステップと、送信データ信号サンプルの第２の部分およびそれに関連した加重と関連した第２の部分的な結果に対応する信号反射の推定値を計算するステップとを含む。
【０００８】
本発明の別の局面は、エコーキャンセラーであり、遅延を有する第１の遅延装置を含み、遅延は複数の信号サンプルに関連し、第１の遅延装置は送信信号を受信するように結合され、上記エコーキャンセラーはさらに、遅延を有する第２の遅延装置を含み、第２の遅延装置は受信信号を受信するように結合され、上記エコーキャンセラーはさらに、第１の遅延装置および第２の遅延装置に結合された係数更新器を含み、係数更新器は、送信信号および受信信号に対応して更新した係数を与える適応有限インパルス応答フィルタを含み、上記エコーキャンセラーさらに、送信信号を受信するように結合されかつ更新した係数を受信するように係数更新器に結合されたエコー推定器を含み、エコー推定器は、更新した係数および送信信号に対応して推定エコー信号を与えるように構成され、上記エコーキャンセラーはさらに、遅延を有する第３の遅延装置を含み、第３の遅延装置はエコー推定器に結合されて推定エコー信号を遅延させ、上記エコーキャンセラーはさらに、受信信号および遅延された推定エコー信号を受信するように結合されたエコー除去器を含み、エコー除去器は、推定エコー信号と関連した推定エコーだけ減じた受信信号を与えるように構成されている。
【０００９】
本発明の別の局面は、エコーキャンセラーであり、第１の遅延を有する第１の遅延装置
を含み、第１の遅延は第１の数の信号サンプルに関連し、第１の遅延装置は送信信号を受信するように結合され、上記エコーキャンセラーはさらに、第１の遅延を有する第２の遅延装置を含み、第２の遅延装置は受信信号を受信するように結合され、上記エコーキャンセラーはさらに、第１の遅延装置および第２の遅延装置に結合された係数更新器を含み、係数更新器は、送信信号および受信信号に対応して更新した係数を与える適応有限インパルス応答フィルタを含み、上記エコーキャンセラーさらに、第１の遅延によって遅延された送信信号を受信するように第１の遅延装置に結合され、かつ更新した係数を受信するように係数更新器に結合された第１の段階のエコー推定器を含み、第１の段階のエコー推定器は、更新した係数および送信信号の第１の数の信号サンプルに対応して第１の推定エコー信号を与えるように構成され、上記エコーキャンセラーはさらに、第１の遅延を有する第３の遅延装置を含み、第３の遅延装置は第１の段階のエコー推定器に結合されて第１の推定エコー信号を遅延させ、上記エコーキャンセラーはさらに、第２の遅延を有する第４の遅延装置を含み、第４の遅延装置は送信信号を受信するように結合され、第２の遅延は第２の数の信号サンプルに関連し、第２の数の信号サンプルは、第１の数の信号サンプルよりも少なく、第２の遅延は第１の遅延よりも短く、上記エコーキャンセラーはさらに、第２の遅延によって遅延された送信信号を受信するように第４の遅延装置に結合された第２の段階のエコー推定器を含み、第２の段階のエコー推定器は、更新した係数の一部および送信信号の第２の数の信号サンプルに対応して第２の推定エコー信号を与えるように構成され、上記エコーキャンセラーはさらに、第２の遅延を有する第５の遅延装置を含み、第５の遅延装置は受信信号を受信するように結合され、上記エコーキャンセラーはさらに、第５の遅延装置によって遅延された受信信号を受信するように結合されたエコー除去器を含み、第１の推定エコー信号は第３の遅延装置によって遅延され、第２の推定エコー信号は第２の段階のエコー推定器によって与えられ、エコー除去器は、受信信号から、第１の推定エコー信号および第２の推定エコー信号を引いて、第１の推定エコー信号および第２の推定エコー信号に関連した推定エコーだけ減じた受信信号を与えるように構成されている。
【００１０】
本発明の別の局面は、エコーキャンセラーであり、第１の遅延を有する第１の遅延装置を含み、第１の遅延は第１の数の信号サンプルに関連し、第１の遅延装置は送信信号を受信するように結合され、上記エコーキャンセラーはさらに、第１の遅延を有する第２の遅延装置を含み、第２の遅延装置は受信信号を受信するように結合され、上記エコーキャンセラーはさらに、第１の遅延装置および第２の遅延装置に結合された係数更新器を含み、係数更新器は、送信信号および受信信号に対応して更新した係数を与える適応有限インパルス応答フィルタを含み、上記エコーキャンセラーさらに、第１の遅延によって遅延された送信信号を受信するように第１の遅延装置に結合され、かつ更新した係数を受信するように係数更新器に結合された第１の段階のエコー推定器を含み、第１の段階のエコー推定器は、更新した係数および送信信号の第１の数の信号サンプルに対応して第１の推定エコー信号を与えるように構成され、上記エコーキャンセラーはさらに、第１の遅延を有する第３の遅延装置を含み、第３の遅延装置は第１の段階のエコー推定器に結合されて第１の推定エコー信号を遅延させ、上記エコーキャンセラーはさらに、第２の遅延を有する第４の遅延装置を含み、第４の遅延装置は送信信号を受信するように結合され、第２の遅延は第２の数の信号サンプルに関連し、第２の数の信号サンプルは第１の数の信号サンプルよりも少なく、第２の遅延は第１の遅延よりも短く、上記エコーキャンセラーはさらに、第２の遅延によって遅延された送信信号を受信するように第４の遅延装置に結合された第２の段階のエコー推定器を含み、第２の段階のエコー推定器は、更新した係数の少なくとも第１の部分および送信信号の第２の数の信号サンプルに対応して第２の推定エコー信号を与えるように構成され、上記エコーキャンセラーはさらに、第２の遅延を有する第５の遅延装置を含み、第５の遅延装置は第２の段階のエコー推定器に結合されて第２の推定エコー信号を遅延させ、上記エコーキャンセラーはさらに、送信信号を受信するように結合された第３の段階のエコー推定器を含み、第３の段階のエコー推定器は、更新した係数の第
２の部分に対応して第３の推定エコー信号を与えるように構成され、第２の部分は第１の部分よりも少なく、上記エコーキャンセラーはさらに、受信信号、第３の遅延装置によって遅延された第１の推定エコー信号、第５の遅延装置によって遅延された第２の推定エコー信号、および第３の推定エコー信号を受信するように結合されたエコー除去器を含み、エコー除去器は、受信信号から、第１の推定エコー信号、第２の推定エコー信号および第３の推定エコー信号を引いて、第１の推定エコー信号、第２の推定エコー信号および第３の推定エコー信号に関連した推定エコーだけ減じた受信信号を与えるように構成されている。
【００１１】
本発明の上記の概要は、本発明の開示された実施例の各々を説明することは意図していない。以下に続く図面および詳細な説明は、本発明の追加の例示の実施例および局面を与える。
【発明を実施するための最良の形態】
【００１２】
発明の詳細な説明
本発明は、エコーキャンセルのための新しい方法および装置に関する。以下の説明では、本発明をより完全に理解するために多数の特定の詳細が述べられる。しかしながら、本発明は１つ以上のこれらの特定な詳細なしでも実施することができることが当業者にとって明らかであろう。他の例において、本発明をわかりにくくするのを避けるために、周知の特徴は詳細には説明されない。
【００１３】
図１は、エコーキャンセラーを実現することができる電話通信システム１００の例示の実施例を示すネットワーク図である。システム１００は、複数の電話局（ＣＯ）１０４，１０５および１０６の間で切換を与える公衆交換電話網（“ＰＳＴＮ”）１０２の一部を含んでいる。各々のＣＯは、（加入者１１４から１１６等の）何百または何千もの加入者にサービスを提供することができる。ＰＳＴＮ１０２はＶｏＩＰのためのインターネットの一部を含むことができる。
【００１４】
通信システム１００の部分１３０の例示の実施例が図２の概略図において示されている。部分１３０は、電話１３２を含み、この電話は回線１３４を通して電気信号を図１のＣＯに送信し、回線１３６を通してこのようなＣＯからの電気信号を受信する。電気信号は、（通話者の声等の）音声ソースによって変調される。部分１３０は、エコーキャンセル操作を行なうエコーキャンセラー１３８を含む。エコーキャンセラー１３８は、適応フィルタ１４０および減算器または減算ノード１４２を含む。適応フィルタ１４０はエコーを形作り、形作られたエコー信号を関連するエコーから減じることによってエコーを消去する。
【００１５】
エコーキャンセラー１３８を実現する１つの方法はデジタル回路である。送信アナログ信号Ｘ（ｔ）および復帰アナログ信号ｄ（ｔ）は、それぞれサンプリングされ、デジタルデータに変換される。適応フィルタ１４０および減算ノード１４２は、（ＤＳＰおよびＦＰＧＡ等の）デジタル計算手段を用いて具体化される。適応フィルタ１４０および減算ノード１４２は、信号Ｘ（ｔ）およびｄ（ｔ）を表わすデジタル信号を処理する。
【００１６】
本発明の一局面は、信号Ｘ（ｔ）およびｄ（ｔ）を処理するために、１つ以上の信号経路において適切な点で適切な遅延を導入することである。これは、メモリ帯域幅を減じるという効果を有する。図３は、エコーキャンセラー１６０の例示の実施例を示す概略図である。エコーキャンセラー１６０は、大まかに２つの部分、すなわち、適応フィルタの特徴を計算するために用いられる破線ブロック１６１として示された部分、およびエコーを消去するために用いられる破線ブロック１６２として示された部分に分けることができる。図３で、記号ｋはサンプルの数を表わすために用いられる。便宜上、サンプリングは周
期的に行なわれる。したがって、信号をサンプリングする時間は、記号ｋとサンプリング周期との積によって決定される。信号Ｘ（ｔ）およびｄ（ｔ）を表わすサンプリングされたデータは、それぞれＸ（ｋ）およびｄ（ｋ）で示される。サンプリングされたデータＸ（ｋ）は、（ブロック１６４として示された）第１の間隔によって遅延される。（後でブロック１６２と関連してより詳細に説明されるように）この１組のデータを用いてエコーを除去する。（ブロック１６６として示された）別の遅延が導入される。二度遅延されたデータを用いて、適応フィルタの特徴を示す、ブロック１６８として示された１組の加重Ｗ（ｋ）を計算する。受信された信号を表わすサンプリングされたデータｄ（ｋ）は、Ｗ（ｋ）の計算において一度遅延される（ブロック１７０として示される）。実施例において、ブロック１６６および１７０における遅延間隔は同じである。
【００１７】
Ｗ（ｋ＋１）の計算の１組の公式は、
ｙ（ｋ）＝Ｘ（ｋ−（ｍ＋ｎ））Ｗ（ｋ）；                      （１）
ｅ（ｋ）＝ｄ（ｋ−ｎ）−ｙ（ｋ）；                            （２）
Ｗ（ｋ＋１）＝Ｗ（ｋ）＋２μｅ（ｋ）Ｘ（ｋ−（ｍ＋ｎ））；    （３）
但し、
ｍはブロック１６４（すなわち遅延−１）の遅延間隔を示す。
【００１８】
ｎはブロック１６６および１７０（すなわち遅延−２および遅延−３）の遅延間隔を示す。
【００１９】
ｍ＞＝ｎである。
【００２０】
上記の等式において、記号μは「収束因子」と呼ばれる。μの値が大きくなると、収束が速くなり、斬近収束エラーが大きくなる。たとえば、μは２^（−９）から２^（−１１）の範囲とすることができる。図３では、破線ブロック１６１を用いて、計算で用いられる構成要素を示している。
【００２１】
Ｗ（ｋ）のｎの値を計算した後で、これらを用いてＸ（ｋ）のエラー推定値ｙ（ｋ）′を計算する。これらの推定値を用いて、以下の組の公式に基づいてエコーを除去する。
【００２２】
ｙ（ｋ）′＝Ｘ（ｋ−ｍ）′Ｗ（ｋ）；    （４）
ｅ（ｋ）′＝ｄ（ｋ）−ｙ（ｋ）′．      （５）
図３では、破線ブロック１６２を用いて、計算で用いられる構成要素を示している。破線１７２は、加重ブロック１６８およびブロック１６２内部の乗算器を接続して、加重Ｗ（ｋ）のｎ値が、一度に更新され、次に公式（４）および（５）において用いられることを示している。
【００２３】
例を用いて上記の等式の動作を示す。遅延−１を用いて、最小の経路の長さを設定し、これは２５ｍｓに設定することができる。毎秒８Ｋのサンプルレートにつき、遅延−１（すなわちｍ）は２００サンプルである。計算において、遅延−１は動作の時間枠（window）を動かす。
【００２４】
実施例において、ｎの最大値は、２５ｍｓ未満の合計遅延を与えるように選択される。この例において、ｎは１２８に選択され、これは係数更新を１６ｍｓほど遅らせる。
【００２５】
加重Ｗ（ｋ）は最初は０に設定され、Ｘ（ｋ）の３２８サンプルが受信されるまで０のままである。推定値ｙ（ｋ）′も、サンプル３２８まで０に設定される。結果として、ｅ（ｋ）′は最初の３２８サンプルのｄ（ｋ）に等しい。
【００２６】
Ｘ（ｋ）およびｄ（ｋ）の３２８（すなわち２００＋１２８）サンプルが受信された後で、すべての遅延経路が一杯になるため、処理を開始することができる。加重Ｗ（ｋ）は、Ｘ（ｋ）サンプル１から１２８、およびｄ（ｋ）サンプル２０１から３２８に基づいて、等式（１）から（３）を用いて計算することができる。等式（４）を用いて、Ｘ（ｋ）サンプル１２９から２５６に基づいて、サンプル３２９から４５６のためのｙ（ｋ）′を推定する。次にこれらの推定値を用いて、等式（５）を用いてｄ（ｋ）サンプル３２９から４５６のエコーを消去する。
【００２７】
本発明の方法は、ＦＰＧＡを用いて実現されるときに特に有益である。現在のＦＰＧＡではメモリサイズが比較的限られているために、デジタル化されたデータは、好ましくはＦＰＧＡ外部のメモリチップに記憶される。
【００２８】
図４は、ＦＰＧＡ２０２を用いたエコーキャンセラーの実現化例２００の例示の実施例を示したブロック図である。（ダブルデータレートダイナミックランダムアクセスメモリ等の）外部記憶装置２０４は、ＦＰＧＡ２０２に結合されている。実施例では、１つのメモリ装置のみが用いられるが、他の実施例では１つよりも多いメモリ装置を用いることができる。ＦＰＧＡ２０２は電話データソース２０６からのデジタルデータを受信する。ソース２０６は（チャネル２０８および２０９等の）多くの音声チャネルを受け、これらをＦＰＧＡ２０２で処理するためのデータシーケンスに結合する。各々のチャネルは、図２に示された電話通信システムの一部と類似し得る。実現化例２００はまた、構成メモリ２１２を含み、構成メモリは、ＦＰＧＡ２０２を、等式１から５で述べたアルゴリズムを実行するように構成する。特に、ＦＰＧＡ２０２は、ブロックランダムアクセスメモリ（“ＢＲＡＭ”）４４４等のランダムアクセスメモリを含む内部メモリを含むことができる。
【００２９】
ＦＰＧＡを用いて１０００の音声チャネルを処理すると想定すると、各々が１２８ｍｓの経路遅延を有し、かつ毎秒８０００サンプルが取得される場合、１２８またはそれよりも多い連続サンプルを同じチャネルにつきバースト処理することができることにより、メモリ帯域幅は、１０２４のタップ適応フィルタにつき、２４．６Ｇワード／秒の大きさから大幅に減じられる。
【００３０】
実施例において、ｎの最大値は、２５ｍｓ未満の合計遅延を与えるように選択される。この選択によって、２５ｍｓ未満のエコーの長さを消去する必要はないとするＩＴＵ−Ｔ（ＩＴＵ電気通信標準化セクタ）Ｇ．１６８仕様のバージョンを遵守することができる。相当な数の適用例において、ＩＴＵ−Ｔ  Ｇ．１６８のこのバージョンを満たすためにｎ＝１２８を選択することができる。これは係数更新を１６ｍｓほど遅らせ、最小エコー経路が１６ｍｓになることを意味する。したがって、このようなシステムにおけるメモリ帯域幅は、およそ１００の因子ほど減じることができる。
【００３１】
メモリサイズの要件は、適応フィルタの長さ（すなわちタップの数）によって決定される。この長さは、消去される最小から最大のエコー経路によって決定される。２５ｍｓから１５０ｍｓのエコー経路につき、１０００のタップフィルタを用いることができる。６４ｍｓまたは１２８ｍｓのエコー経路が選択された場合、それぞれ５１２タップおよび１０２４タップの長さの適応フィルタを用いることができる。
【００３２】
記憶装置は、タップ係数、送信音声データ、受信音声データおよびエコー推定値のために用いられる。記憶（Mem＿size）は、
Mem＿size＝channels*（taps＋（taps＋3n）＋2n＋2n）＝channels*（2*taps＋7*n）
によって計算することができる。
【００３３】
したがって、ｎが増加すると、チャネルごとの記憶は７ｎ（ワード）ほど増加する。
【００３４】
タップ＝５１２、ｎ＝１２８、チャネル＝１０００およびワード＝１６ビットと想定すると、メモリサイズは、
Mem＿size＝1000*（2*512＋7*128）*16＝30,720,000 MBitsの記憶
と示される。
【００３５】
メモリ帯域幅（Mem＿bw）は、
Mem＿bw＝channels*sample＿rate*（2*（taps／n）＋（（taps／n）＋3）＋2＋2＝channels*sample＿rate*（3*taps／n＋7）
によって計算される。
【００３６】
タップ＝５１２、ｎ＝１２８、チャネル＝１０００、sample＿rate＝８０００およびメモリが１ワード幅と想定すると、メモリ帯域幅は、
Mem＿bw＝1000*8000*（3*512／128＋7）＝毎秒152,000,000ワードとなり、これは従来のエコーキャンセルを用いた２４．６Ｇワード／秒の帯域幅よりも大幅に少ない。
【００３７】
上記は、１６ｍｓまたはそれよりも長い最小エコー経路遅延を想定している。次に、１６ｍｓまたはそれ未満の経路遅延のエコーキャンセルについて説明する。さらに、少なくとも平均平方（“ＬＭＳ”）の適応有限インパルス応答（“ＦＩＲ”）フィルタ、またはより特定的にブロックＬＡＭ（“ＢＬＭＳ”）応用ＦＩＲフィルタについて記載するが、とりわけ再帰最小２乗、アフィン投影および格子ベース等のさまざまな周知の適応ＦＩＲフィルタのいずれも用いることができることを理解すべきである。さらに、時間領域における動作のための適応ＦＩＲフィルタが記載されているが、周波数領域において動作する適応ＦＩＲフィルタを用いることができることを理解すべきである。より一般的に、本発明の１つ以上の局面は、応答が時不変で、かつそれが反射信号推定値を除去する線形の如何なるシステムにおいても用いることができる。したがって、これは電話システムにおけるエコーキャンセル以外の適用例にも適用されるが、信号反射が存在し得る何らかのシステムに適用されることを認識すべきである。
【００３８】
図５は、単一の段階のエコー推定を有するエコーキャンセラー３５０の例示の実施例を示すブロック図である。上述のように、送信信号Ｘ（ｔ）および受信信号ｄ（ｔ）は１つ以上のＡ／Ｄコンバータ３１３を用いてアナログからデジタル（“Ａ／Ｄ”）に変換され、このような信号Ｘ（ｔ）およびｄ（ｔ）を毎秒ｋ回サンプリングして、それぞれ信号Ｘ（ｋ）およびｄ（ｋ）を生じ、これらはそれぞれ信号３０２および３０１と改称される。
【００３９】
受信信号３０１は、遅延３２１およびエコー除去器３１２に与えられる。明瞭にするために、遅延は先入れ先出しバッファ（“ＦＩＦＯ”）として実現されるものとして記載されている。しかしながら、他の周知のデータ記憶回路を用いることができることを理解すべきである。
【００４０】
ＦＩＦＯ３２１は、送信信号３０２の如何なるエコーしたデータも含む受信データ３０１をバッファリングする。わかりやすくするために例として、ＦＩＦＯ３２１は受信データ３０１の１２８サンプルを一度にバッファリングし、すなわちＦＩＦＯ３２１は１２８のエントリの深さであり、およそ１６ｍｓの遅延を与える。１２８サンプルは、Ｘ（ｋ）およびｄ（ｔ）につき８キロヘルツ（“ｋＨｚ”）で動作する電話システムに対する約１６ｍｓの最小エコー経路の長さの遅延のためのものである。本明細書に記載されたＦＩＦＯは、クロック信号（わかりやすくするために示されていない）に応答して動作し、このようなクロック信号は実質的に８ｋＨｚよりも速い。受信データ３０１は、１２８サンプルまたはビットブロックで、ＦＩＦＯ３２１、出力３０３から係数更新器３１０へと連続的に同期して引き出される。係数更新器３１０は、システムメモリ帯域幅を減じるために
ブロックフォーマットで動作する適応ＦＩＲを含む。
【００４１】
送信データ３０２はバッファリングのためにＦＩＦＯ３２２に与えられる。ＦＩＦＯ３２２は１２８サンプルをバッファリングして１６ｍｓの遅延をもたらす。したがって、ＦＩＦＯ３２２はエコー経路遅延をミラーリングし、エコー経路遅延はこの例では最小で１６ｍｓである。ＦＩＦＯ３２２の出力３０４は、１２８ビットのシリアルブロックでＦＩＦＯ３２３およびエコー推定器３１１に与えられる。ＦＩＦＯ３２２は、１２８サンプルをバッファリングしておよそ１６ｍｓの遅延をもたらす。ＦＩＦＯ３２３の出力３０５は、１２８ビットのシリアルブロックで係数更新器３１０に与えられる。下記の表Ｉは、上記の例についての合計遅延を要約している。
【００４２】
【表１】
2005530393.tif 000003
【００４３】
表１から、係数更新器３１０への入力３０３および３０５は、１６ｍｓの最小エコー経路遅延について同じであることがわかる。さらに、表１からエコー除去器３１２およびエコー推定器３１１へのそれぞれの入力３０１および３０４が、この例では１６ｍｓの最小エコー経路遅延と同じであることがわかる。さらに、表１から係数更新器３１０はデータサンプルに対してエコー推定器３１１およびエコー除去器３１２から１６ｍｓ遅れを取っていることがわかり、これにより係数更新器３１０が、処理する送信データを有することが保証される。
【００４４】
係数更新器３１０は、信号入力３０３および３０５に応答して、信号出力３０６をエコー推定器３１１に与える。エコー推定器３１１は、入力３０４および３０６に応答して、出力３０７をＦＩＦＯ３２４に与える。特に、１６ｍｓの最小エコー経路の長さのために、エコー推定器３１１はブロック処理を用いて、出力３０７をＦＩＦＯ３２４に与える。ＦＩＦＯ３２４は１２８エントリの深さであり、そこから１２８ビットブロックが出力３０８としてエコー除去器３１２へと連続的に同期して引き出される。したがって、ＦＩＦＯ３２４の出力３０８は１６ｍｓ遅延される。エコーキャンセラー３１２は、入力信号３０１および３０８に応答して、エコー除去信号３０９を与える。エコー除去信号３０９は少なくともほとんどエコーのない信号である。特に、係数更新器３１０は、エコー推定器３１１およびエコー除去器３１２の一部を含み、これは図６でより詳細に説明される。
【００４５】
図６は、図５のエコーキャンセラー３５０の一部を示す低レベルのブロック図である。上記に示されたように、係数更新器３１０は、係数更新器の部分３１０Ａおよびエコー推
定器／除去器の部分３１０Ｂを含む。
【００４６】
入力信号３０５（Ｘ（ｋ））は乗算器３３１および３３３に与えられる。乗算器３３１の出力は加算器３３２に与えられる。加算器３３２の出力は適応ＦＩＲ３３０の加重３３０Ｗに与えられる。適応ＦＩＲ３３０の加重３３０Ｗからの出力３０６（Ｗ（ｋ））は、乗算器３３３に与えられ、加算器３３２にフィードバックされる。したがって、加算器３３２は、乗算器３３１の出力を適応ＦＩＯ３３０の加重３３０Ｗのフィードバック出力に加えて、入力を適応ＦＩＲ３３０の加重３３０Ｗに与える。
【００４７】
乗算器３３３は、加重３３０Ｗの出力を入力信号３０５と掛けて、出力（ｙ（ｋ））を有する適応ＦＩＲ３３０を形成する。出力（ｙ（ｋ））は減算器３３４に与えられる。乗算器３３３の出力は、減算器３３４によって入力信号３０３から引かれて、エラー出力（ｅ（ｋ））を乗算器３３５に与える。減算器３３４の出力は、乗算器３３５によって収束因子信号（μ）３３６を掛けられて、乗算器３３１に出力を与える。乗算器３３１は、入力信号３０５を、乗算器３３５からの減衰された減算器３３４の出力と掛けて、加算器３３２に出力を与える。加算器３３２は、適応加重または係数３３０Ｗに適合させるために用いられる。
【００４８】
出力３０６を係数３４０に与えて係数３４０を更新する。たとえば、係数３４０はおよそ各１６ｍｓの間隔で更新することができる。この係数の更新は、それに応じて、入力３０４との掛算のために乗算器３４１に出力（Ｗ（ｋ）′）を与えて、出力３０７（ｙ（ｋ′））を生成する。乗算器３４１の出力は遅延のためにＦＩＦＯ３２３に与えられて、ここから出力３０８が得られる。出力３０８は減算器３４２によって入力３０１から減じられて、エコー除去信号３０９（ｅ（ｋ）′）を生成する。
【００４９】
上記の信号処理の説明は、
ｙ（ｋ）＝Ｘ（ｋ−ｎ）Ｗ（ｋ）；                        （６）
ｅ（ｋ）＝ｄ（ｋ−ｎ）−ｙ（ｋ）；                      （７）
Ｗ（ｋ＋１）＝Ｗ（ｋ）＋２μ［ｅ（ｋ）Ｘ（ｋ−ｎ）］；  （８）
ｙ（ｋ）′＝Ｘ（ｋ）′Ｗ（ｋ）′；                      （９）
ｅ（ｋ）′＝ｄ（ｋ）−ｙ（ｋ）′；および                （１０）
Ｗ（ｋ）′＝Ｗ（ｋ−ｎ）；                              （１１）
として数学的に示すことができる。
【００５０】
ここで、ｎはサンプルにおける遅延と等しい。特に、望まれれば、減算器３４２は省くか、または選択的に取外して、たとえばエコーキャンセル機能を非活性化するファックスの受信等のあるトーンのためにエコーキャンセルを分離してもよい。
【００５１】
図７は、複数の段階のエコー推定を有するエコーキャンセラー３７０の例示の実施例を示すブロック図である。エコーキャンセラー３７０の要素の多くは、図５のエコーキャンセラー３５０に関して記載されているため繰返されない。この例示の実施例において、０ｍｓまたはおよそ０ｍｓの最小エコー経路の長さの遅延がある。最小経路の長さは０であるため、図５のエコー推定器３１１への送信データ３０２の遅延は起こらない。したがって、ＦＩＦＯ３２２が除去される。すなわち、エコー推定器３１１Ａの少なくとも１つはリアルタイムでの出力を与え、すなわち一度にブロックのサンプルではなく、一度に１つのサンプルを処理する。複数のエコー推定器３１１Ａを用いることによって、複数のエコー推定出力３０７Ａがエコー除去器３１２Ａに与えられる。したがって、メモリ帯域幅の必要性が減じられる。０に近いおよび０のエコー経路遅延の例示の実施例が、それぞれ図８および図９を参照して以下に記載される。
【００５２】
図８は、２段階のエコー推定を有するエコーキャンセラー３８０の例示の実施例を示すブロック図である。エコーキャンセラー３８０の説明の多くは、図５のエコーキャンセラー３５０と同じであるため繰返されない。係数更新器３１０は、ＦＩＦＯ３２１および３２３の遅延のために遅延されると、更新係数をエコー推定器３１１Ａ−１に与える。送信データ３０２はＦＩＦＯ３２３，３６３および３６４に与えられる。しかしながら、ＦＩＦＯ３２３および３６３がおよそ１６ｍｓの遅延、すなわち１２８のエントリの深さを与えるのに対して、ＦＩＦＯ３６４は０に近い遅延、たとえばおよそ０．５ｍｓの遅延、すなわち４エントリの深さを与える。受信データ３０１はＦＩＦＯ３２１および３６１に与えられる。サンプルデータの整列について、ＦＩＦＯ３６１はＦＩＦＯ３６４と同じ遅延を与える。ＦＩＦＯ３６１の出力は、エコー除去器３１２Ａ−１の減算器３４２に与えられる。
【００５３】
出力３６５は、１２８ビットバーストでＦＩＦＯ３６３からエコー推定器３１１−Ａのエコー推定器３７１へと連続的に同期して引き出される。出力３６６は、エコー推定器３１１Ａ−１のエコー推定器３７２によってリアルタイムで処理するために、一度に１ビットほどＦＩＦＯ３６４から連続的に同期して引き出される。すなわち、エコー推定器３７２は、ＦＩＦＯ３６４から受信したデータが到着するとそれを処理する。エコー推定を、エコー推定器３７１によるブロックベースの部分的なエコー推定およびエコー推定器３７２によるリアルタイムでの部分的なエコー推定に分割することによって、１６ｍｓ未満の最小エコー経路遅延が容易になる。
【００５４】
エコー推定器３７１の出力３０７Ａ−１は、たとえば１２８ビットバーストでＦＩＦＯ３２４Ａ−１に与えられる。ＦＩＦＯ３２４Ａ−１の出力３０８Ａ−１は、一度に１サンプルでエコー除去器３１２Ａ−１の加算器３７９へ与えられる。エコー推定器３７２の出力３０７Ａ−２は、出力３０８Ａ−１に加えるために、一度に１サンプルで加算器３７９に与えられる。加算器３７９の出力は、ＦＩＦＯ３６１の出力３６２から引いてエコーを除去された出力３０９を与えるために、エコー除去器３１２Ａ−１の減算器３４２に与えられる。
【００５５】
１２８ｍｓのテール（tail）につき１２８タップを有する適応ＦＩＲフィルタについて、１０２４の係数がエコーを消去するために用いられ、エコー推定の２段階への分割は、
【００５６】
【数１】
2005530393.tif 000004
【００５７】
と数学的に表わすことができる。
【００５８】
等式１２の第１項はリアルタイムで計算される。特に、数式１２の第２項はブロック処理され、これは、加重が計算されてデータ帯域幅をメモリに保存するまでの間、有利に行なうことができる。
【００５９】
０．５ｍｓのエコー経路遅延が、受信経路において、入来データをバッファリングし、次に１２８タップフィルタを通してデータを処理するために許容された場合、５１２のチャネルを、メモリへの２６６メガヘルツ（“ＭＨｚ”）の帯域幅（すなわち、１２８（係数）＋１２８（データサンプル））内で処理することができる。
【００６０】
*５１２（channels）*８０００（sample rate）／４（samples）＝２６２．１４４ＭＨｚ）。
この帯域幅は２等分することができる。というのも、必要とされるデータ量は部分的に最後のブロックがエコー推定器３７１によって処理されて以来の時間に依存するからである（たとえば、１ｄ＋１ｐ，２ｄ＋２ｐ，．．．１２８ｄ＋１２８ｐ、ｄは係数を意味し、ｐは部分的な結果を意味する）。すなわち、各々のチャネルは互い違いに配置されるため、帯域幅の平均は値の半分（たとえば、およそ１３１ＭＨｚ）まで減少する。
【００６１】
特に、ＦＩＦＯ３２３および３６３が同じ信号をバッファリングし、かつ同じ遅延を有すると、これらは係数更新器３１０およびエコー推定器３７１の双方に送信される出力を有する１つのバッファとなることができる。
【００６２】
図９は、３段階のエコー推定を有するエコーキャンセラー３９０の例示の実施例を示すブロック図である。エコーキャンセラー３９０の説明の多くは図８のエコーキャンセラー３８０と同じであるため繰返されない。
【００６３】
係数更新器３１０は、ＦＩＦＯ３２１および３２３の遅延のために遅延されると、更新された係数をエコー推定器３１１Ａ−２に与える。送信データ３０２は、ＦＩＦＯ３２３，３６３および３６４、ならびにエコー推定器３７３に与えられる。さらに、受信データ３０１およびエコー除去器３１２Ａ−２の間に遅延は挿入されない。したがって、エコー推定器３７３は、リアルタイムでの部分的なエコー推定を行ない、エコー推定器３７１および３７２は、それぞれ大きなおよび小さなブロックの部分的なエコー推定を行なう。ＦＩＦＯ３２３および３６３は、ブロック出力３０５および３６５について、およそ１６ｍｓの遅延、すなわち１２８エントリの深さを与えるのに対して、ＦＩＦＯ３６４の出力３６６は、ゼロ近くに遅延され、たとえばおよそ１ｍｓの遅延、すなわち８エントリの深さのＦＩＦＯ３６４に遅延される。この構成において、ブロック処理は、係数更新処理およびエコー推定処理の大部分に対して行なうことができる。データがエコー推定器３７３に到達すると、残りのエコー推定処理が行なわれることにより、０ｍｓの最小エコー経路遅延が可能になる。
【００６４】
エコー推定器３１１−Ａ２は、３段階、すなわちエコー推定器３７１、エコー推定器３７２およびエコー推定器３７３を含む。エコー推定器３７１の出力３０７Ａ−１は、１２８ビットブロック等のブロックでＦＩＦＯ３２１Ａ−１に対して行なわれ、ここから出力３０８Ａ−１が得られる。エコー推定器３７２の出力３０７Ａ−２は８ビットブロック等のブロックでＦＩＦＯ３２４Ａ−２に対して行なわれ、ここから出力３０８Ａ−２が得られる。ＦＩＦＯ３２４Ａ−１および３２４Ａ−２の最大の遅延は、それぞれおよそ１６ｍｓおよび１ｍｓであり、ＦＩＦＯ３２４Ａ−１および３２４Ａ−２の出力はサンプルレートで行なわれる。エコー推定器３７３の出力３０７Ａ−３は、エコー推定処理以外では、遅延を有さず一度で１ビットである。
【００６５】
出力３０８Ａ−２は、加算器３７８によって出力３０７Ａ−３に加えられて、入力を加算器３７９に与える。加算器３７８からの加算器３７９への入力は、入力３０８Ａ−１に加えられて入力を減算器３４２に与える。加算器３７９からの出力は、減算器３４２によって受信データ３０１から引かれて、エコーを除去された信号３０９を与える。
【００６６】
エコー推定処理のこの除算は、
【００６７】
【数２】
2005530393.tif 000005
【００６８】
と数学的に表わすことができる。
【００６９】
ここで、ｎは、大きなブロックサイズ（たとえば１２８）から最後の大きなブロック更新以来のサンプルを減じたものに等しく、小さなブロックサイズ（たとえば８）のｍ係数はゼロに等しく、小さなブロックサイズはｍよりも小さいまたはそれに等しく、ｍは大きなブロックサイズよりも小さいまたはそれと等しく、小さなブロックサイズの大きなブロックサイズ係数はゼロに等しい。
【００７０】
図１０は、図９のエコーキャンセラー３９０のためのビット処理を示す信号図であり、大きなブロックサイズは１２８に等しく、小さなブロックサイズは８に等しく、０のエコー経路の長さのタイミングを有する。特に、例示的に示された、１１５３（０から１１５２）の係数および部分的な積和値は、１０２４よりも数が大きい。期間５１５は、ｎの長さの適応フィルタ期間（ｎは各々のタップと関連した遅延である）×１０２４タップの例である。たとえば和１２７から０の期間５１４はブロック処理期間である。この例において、和ｍ−１からｍ−８の結果５１１はリアルタイムで処理されたエコー推定値である。和１２７からｍの結果５１２は、小さなブロックで処理されたエコー推定値である。和１１５１から１２８の結果５１３は、大きなブロックで処理されたエコー推定値である。
【００７１】
図１１は、図９のエコーキャンセラーの一部を示す低レベルのブロック図である。送信データ４０１は、エコー推定器３７３で受信され、エコー推定器からすべてのチャネルのために送信（“ＴＸ”）データ、ＴＸデータ４１１の８サンプルが用いられる。すべてのチャネルとは、すべてのチャネルが使用され、かつそれがたとえば図４のデータソース２０６を介してエコーキャンセラーに結合されていることを意味する。ＴＸデータ４０１は、図４の外部記憶装置２０４のためにメモリインターフェイス４１０に与えられる。メモリ２０４に記憶されたＴＸデータ４２１および４３１は、以下に記載されるように、メモリ２０４に記憶されている適応ＦＩＲ出力からの加重４２２および４３２等の加重とともにエコー推定器３７２およびエコー推定器３７１によって用いられる。続けて図１１を参照し、さらに再び図４を参照すると、図１１の残りの部分が記載される。
【００７２】
ＴＸデータ４１１は、乗算器４１４によって、メモリ２０４から得られた８の加重または更新係数４１２を掛けられる。加重４１２は、すべてのチャネルに対するものであり、係数更新器３１０によって生成され、次にメモリ２０４に記憶され、そこから加重を得ることができる。乗算器４１４の出力は加算器４１５に与えられて、加算器４１５は乗算器４１４の出力に加えるためにフィードバックされる出力を有する。加算器４１５の出力は、エコー推定器３７２からの８の部分的な結果４１３に加えるために加算器４１６に与えられる。部分的な結果４１３はすべてのチャネルに対するものである。加算器４１６の出力は、減算器４０４によって受信データ４０２から引かれて、リアルタイムでエコーを除去された出力４０３を与える。
【００７３】
エコー推定器３７２について、ＴＸデータ４２１、加重４２２および部分的な結果４２３はメモリ２０４から得られ、すべては同じチャネル、すなわち１つの選択されたチャネルに対するものである。ＴＸデータ４２１は１２０サンプルである。１２０の加重の４２２があり、８つの部分的な結果４２３がある。エコー推定器３７２は、小さい部分的な結
果のうち次の８つを計算することを理解すべきである。特に、計算された小さな部分的な結果のサイズは、最後の大きな部分的な結果がエコー推定器３７１によって各々の１２８サンプルについて更新されて以来の時間に依存する。したがって、８よりも多い部分的な結果４２３をメモリ２０４から得る必要がある可能性がある。ＴＸデータ４２１は、乗算器４２４によって加重４２２と掛けられ、この出力は加算器４２５に与えられ、この加算器は、乗算器４２４からの入力に加えるためにフィードバックされる出力を有する。加算器４２５の出力は、加算器４２６によって部分的な結果４２３に加えられて部分的な結果４１３を与える。
【００７４】
エコー推定器３７１について、ＴＸデータ４３１および加重４３２はメモリ２０４から得られ、すべては同じチャネル、すなわち１つの選択されたチャネルに対するものである。ＴＸデータ４３１は１０２４のサンプルである。１０２４の加重４３２があり、１２８の部分的な結果４３３は、エコー推定器３７２が部分的な結果４２３を得るためにアクセスされるメモリ２０４における記憶のために計算される。特に、メモリ２０４に記憶された部分的な結果４３３の更新がしきい値期間外にある場合、１２８もの部分的な結果４２３を得ることができる。ＴＸデータ４３１は乗算器４３４によって加重４３２と掛けられる。乗算器４３４の出力は加算器４３５に与えられ、この加算器は乗算器４３４の出力に加えるためにフィードバックされる出力を有する。加算器４３５の出力は、メモリ２０４に記憶される部分的な結果４３３である。部分的な結果４３３は、このような部分的な結果４３３が生成された送信データ４３１の信号サンプルおよび加重４３２と関連してメモリに記憶される。
【００７５】
図４に戻ると、メモリ帯域幅は、ＢＲＡＭ４４４を有利に用いることによってさらに減じることができ、このＢＲＡＭは、構成メモリ２１２における関連した構成データ３５０Ｄ，３７０Ｄ，３８０Ｄまたは３９０Ｄそれぞれから、ＦＰＧＡ２０２においてインスタンスを作成された１つ以上のエコーキャンセラ−３５０，３７０，３８０，または３９０に結合されている。たとえば、８ＢＲＡＭ４４４は、すべてのチャネル（たとえば５１２チャネル）のためのデータの価値がある８つのサンプルのために用いることができ、これによってメモリ帯域幅を半減させることができ、受信経路から遅延をさらに除去することができる。さらに、メモリ帯域幅は、ブロック処理の際に外部記憶装置２０４からすべてのバッファサンプル（たとえば１２８）を読出さずに保存することができる。
【００７６】
特に、エコーキャンセラーの説明の補助として近似の数値が用いられている。しかしながら、他の数値を用いることもできる。たとえば、０．５ｍｓの遅延ではなく、０から１６ｍｓ未満の範囲の遅延を、第２の、第３のといったエコー推定器の段階遅延のために用いることができ、この場合このような遅延は徐々に短くなる。さらに、このような近似の数値は、とりわけチャネルの数、利用可能なメモリおよびテールの長さ等のシステムの実現化例の仕様に依存して変更することができる。しかしながら、双方のメモリ使用量を大幅に減じることができ、リアルタイムでのエコーキャンセルを与えることができることを認識すべきである。さらに、１０００を超えるチャネルは単一の外部記憶装置２０４でサポートすることができる。
【００７７】
したがって、電話通信システムのためのエコーキャンセラー等の、通信ネットワークのための信号反射ノイズキャンセラーのさまざまな実施例が記載されていることを認識すべきである。さらに、記載された実施例において、フィードバックエラーに遅延がないために、フィードバックエラーは係数更新の一部であることを認識すべきである。したがって、ブロックサイズは応答時間における遅延をもたらすだけである。
【００７８】
上記の説明から、新しいエコーキャンセル方法が開示されていることがわかる。本発明の当業者は、ここで本明細書における開示の結果として行なうことができるさまざまな修
正および追加を認識するであろう。したがって、すべてのこのような修正および追加は、本発明の範囲内に含まれるものとして考えられ、本発明の範囲は別掲の特許請求の範囲およびその均等物によってのみ制限されるべきである。ステップを列挙したクレームは、特に述べられていなければ、いかなる順序も示唆していない。
【図面の簡単な説明】
【００７９】
【図１】エコーキャンセラーを実現することができる電話通信システムの例示の実施例を示すネットワーク図である。
【図２】図１の通信システムの一部の例示の実施例を示す概略図である。
【図３】エコーキャンセラーの例示の実施例を示す概略図である。
【図４】ＦＰＧＡにおけるエコーキャンセラーの実現化例の例示の実施例を示すブロック図である。
【図５】単一の段階のエコー推定を有するエコーキャンセラーの例示の実施例を示すブロック図である。
【図６】図５のエコーキャンセラーの一部を示す低レベルのブロック図である。
【図７】複数の段階のエコー推定を有するエコーキャンセラーの例示の実施例を示すブロック図である。
【図８】２段階のエコー推定を有するエコーキャンセラーの例示の実施例を示すブロック図である。
【図９】３段階のエコー推定を有するエコーキャンセラーの例示の実施例を示すブロック図である。
【図１０】図９のエコーキャンセラーのためのビット処理を示す信号図である。
【図１１】図９のエコーキャンセラーの一部を示す低レベルのブロック図である。
【図１】
2005530393.tif 000006
【図２】
2005530393.tif 000007
【図３】
2005530393.tif 000008
【図４】
2005530393.tif 000009
【図５】
2005530393.tif 000010
【図６】
2005530393.tif 000011
【図７】
2005530393.tif 000012
【図８】
2005530393.tif 000013
【図９】
2005530393.tif 000014
【図１０】
2005530393.tif 000015
【図１１】
2005530393.tif 000016
【国際調査報告】
2005530393.tif 000017
2005530393.tif 000018