(57)【特許請求の範囲】
【請求項１】
適応フィルタと固定フィルタとを含むデュアルフィルタを用いてエコーキャンセルを行うデュアルフィルタ・エコーキャンセラであって、
前記適応フィルタ及び前記固定フィルタの係数をそれぞれ分割して記憶する複数のデータメモリと、
前記適応フィルタと前記固定フィルタとを実現するディジタル信号プロセッサであって、係数の更新、フィルタリング、前記適応フィルタ-前記固定フィルタ間での係数コピーを含む適応デュアルフィルタ・エコーキャンセル・アルゴリズムにより、１入力信号サンプルを１クロックサイクルで処理するように構成されたディジタル信号プロセッサとを備え、
前記ディジタル信号プロセッサは、
前記入力信号サンプルを記憶するためのサンプルメモリと、
複数の乗算器であって、該複数の乗算器のそれぞれの乗算器の第１入力が前記サンプルメモリの出力に結合し、第２入力が前記複数のデータメモリと結合している、複数の乗算器と、
複数の加算器であって、前記複数の乗算器のそれぞれの出力が前記複数の加算器の少なくとも１つに結合している、複数の加算器と、
複数の一時記憶装置であって、該複数の一時記憶装置のそれぞれの入力および出力が、前記複数の乗算器および前記複数の加算器の少なくとも１つに選択的に結合される、複数の一時記憶装置と、
を含み、
前記ディジタル信号プロセッサは、
前記フィルタリング処理の各クロックサイクル中に、前記固定フィルタ及び前記適応フィルタの係数をそれぞれ前記複数のデータメモリから取り出して、前記複数の乗算器で、前記サンプルメモリからの対応する信号サンプルと乗算し、当該乗算結果をそれぞれ前記複数の一時記憶装置に累積格納する
ことを特徴とするデュアルフィルタ・エコーキャンセラ。
【請求項２】
前記複数のデータメモリは、前記ディジタル信号プロセッサのコアの内部に設けられることを特徴とする請求項１に記載のデュアルフィルタ・エコーキャンセラ。
【請求項３】
前記複数のデータメモリは、前記ディジタル信号プロセッサのコアの外部に設けられることを特徴とする請求項１に記載のデュアルフィルタ・エコーキャンセラ。
【請求項４】
前記複数のデータメモリ装置のそれぞれが、前記複数の一時記憶装置の少なくとも１つに結合していることを特徴とする請求項１に記載のデュアルフィルタ・エコーキャンセラ。
【請求項５】
前記ディジタル信号プロセッサは、論理演算装置をさらに含み、該論理演算装置の入力および出力が、前記複数の一時記憶装置と、前記複数の乗算器と、前記複数の加算器とのうちの少なくとも１つに選択的に結合されることを特徴とする請求項１に記載のデュアルフィルタ・エコーキャンセラ。
【請求項６】
前記ディジタル信号プロセッサは、前記適応デュアルフィルタ・エコーキャンセル・アルゴリズムの制御部により要求される演算を実行するためのバレルシフタ及び論理演算装置を更に含み、前記バレルシフタ及び論理演算装置はそれぞれ、前記複数の一時記憶装置のうちの少なくとも１つに結合されることを特徴とする請求項１に記載のデュアルフィルタ・エコーキャンセラ。
【請求項７】
前記複数の一時記憶装置のそれぞれはアキュムレータを含むことを特徴とする請求項１に記載のデュアルフィルタ・エコーキャンセラ。
【請求項８】
前記複数の乗算器は２つの乗算器で構成されることを特徴とする請求項１に記載のデュアルフィルタ・エコーキャンセラ。
【請求項９】
前記複数の加算器は２つの加算器で構成されることを特徴とする請求項１に記載のデュアルフィルタ・エコーキャンセラ。
【請求項１０】
前記複数の一時記憶装置は４つのアキュムレータで構成されることを特徴とする請求項１に記載のデュアルフィルタ・エコーキャンセラ。
【請求項１１】
前記入力信号サンプルは遠端話者の音声信号を含むことを特徴とする請求項１に記載のデュアルフィルタ・エコーキャンセラ。
【請求項１２】
前記電話システムは、移動通信交換局又は移動電話を含むことを特徴とする請求項１に記載のデュアルフィルタ・エコーキャンセラ。
【請求項１３】
適応フィルタ及び固定フィルタの係数をそれぞれ分割して記憶する複数のデータメモリと、
ディジタル信号プロセッサであって、
入力信号サンプルを記憶するためのサンプルメモリと、
複数の乗算器であって、該複数の乗算器のそれぞれの乗算器の第１入力が前記サンプルメモリの出力に結合し、第２入力が前記複数のデータメモリと結合している、複数の乗算器と、
複数の加算器であって、前記複数の乗算器のそれぞれの出力が前記複数の加算器の少なくとも１つに結合している、複数の加算器と、
複数の一時記憶装置であって、該複数の一時記憶装置のそれぞれの入力および出力が、前記複数の乗算器および前記複数の加算器の少なくとも１つに選択的に結合される、複数の一時記憶装置と、
を含み、適応フィルタ及び固定フィルタをそれぞれ実現し、適応デュアルフィルタ・エコーキャンセル・アルゴリズムによって、１入力信号サンプルを１クロックサイクルで処理するように構成されたディジタル信号プロセッサとを含むエコーキャンセラを用いて、エコーをキャンセルする方法であって、
前記適応フィルタの第１の出力信号を計算する計算ステップと、
前記第１の出力信号の出力に応答して、前記適応フィルタの係数を更新する更新ステップと、
前記適応フィルタの前記更新された係数を前記固定フィルタにコピーする、又は、前記固定フィルタの固定の係数を前記適応フィルタにコピーするコピーステップと、
を有し、
前記計算ステップは、各クロックサイクル中に、前記固定フィルタ及び前記適応フィルタの係数をそれぞれ前記第１及び第２データメモリから取り出して、前記第１及び第２乗算器で、前記サンプルメモリからの対応する信号サンプルと乗算し、当該乗算結果をそれぞれ前記複数の一時記憶装置に累積格納するステップを含む
ことを特徴とする方法。
【請求項１４】
前記更新ステップは、
複数の入力信号サンプルを前記サンプルメモリに格納するステップと、
第１記憶位置に定数乗数値を格納するステップと、
第１データメモリ位置から第１フィルタ係数値を検索するステップと、
前記第１フィルタ係数値を前記複数の一時記憶装置の第１一時記憶位置に格納するステップと、
第２データメモリ位置から第２フィルタ係数値を検索するステップと、
前記第２フィルタ係数値を前記複数の一時記憶装置の第２一時記憶位置に格納するステップと、
前記複数の入力信号サンプルの第１入力信号サンプル値に前記定数乗数値を乗算するステップと、
該乗算の結果を前記第１フィルタ係数値に加算し、該加算の結果を前記第１一時記憶位置に格納するステップと、
を含むことを特徴とする請求項１３に記載の方法。
【請求項１５】
前記更新ステップは、
第３フィルタ係数値を第３データメモリ位置から検索するステップと、
前記第３フィルタ係数値を前記複数の一時記憶装置の第３一時記憶位置に格納し、前記複数の入力信号サンプルの第２入力信号サンプルに前記定数乗数値を乗算するステップと、
該乗算の結果を前記第２フィルタ係数値に加算し、該加算の結果を前記第２一時記憶位置に格納するステップと、
をさらに含むことを特徴とする請求項１４に記載の方法。
【請求項１６】
前記更新ステップは、
第４フィルタ係数値を第４データメモリ位置から検索するステップと、
前記第４フィルタ係数値を前記複数の一時記憶装置の第４一時記憶位置に格納し、前記複数の入力信号サンプルの第３入力信号サンプルに前記定数乗数値を乗算するステップと、
該乗算の結果を前記第３フィルタ係数値に加算し、該加算の結果を前記第３一時記憶位置に格納するステップと、
前記第１一時記憶位置に格納されているデータを前記第１データメモリ位置に格納するステップと、
をさらに含むことを特徴とする請求項１５に記載の方法。
【請求項１７】
前記第１一時記憶位置、第２一時記憶位置、第３一時記憶位置、および第４一時記憶位置はそれぞれアキュムレータで構成されることを特徴とする請求項１６に記載の方法。
【発明の詳細な説明】
発明の背景
発明の技術分野
本発明は、一般的には電気通信の分野に関し、特に電話システムにおけるエコーキャンセレーションに関する。
関連技術の説明
「エコー」は、電話システムにおいて、送信された音声信号エネルギーの一部が送信機へ反射される時に生じうる現象である。これらの反射は、電話ネットワークのアナログ部分におけるインピーダンス不整合により生じる。エコー源には、例えば、公衆電話交換網（ＰＳＴＮ）の加入者インタフェースにおいて４線式線路を２線式線路に変換するハイブリッド回路、または移動体電話機における音響漏話、のような多くの異なるものがありうる。実質的遅延（例えば、物理距離遅延または処理遅延）を伴うエコーの存在は、処理されている音声信号の品質を著しく劣化させる。
エコーキャンセラは、長距離トラヒック内のエコーを抑制または除去するために、電話システムにおいて通常用いられる装置である。例えば、セルラ公衆地上移動電話網（ＰＬＭＮ）においては、エコーキャンセラは、音声トラヒック内のエコーを抑制または除去するために、移動交換局（ＭＳＣ）において用いられる。エコーキャンセラはまた、移動体電話機および「ハンドフリー」電話装置においても、音響エコーを補償するために用いられる。現存のエコーキャンセレーション技術の一般的説明は、スウェーデン、ルンド（Ｌｕｎｄ）大学、電気工学およびコンピュータ科学科、信号処理グループ、ゲンスラ
0004445041.tif 000002
外著の「コヒーレンスに基づくダブルトーク検出器（Ａ  Ｄｏｕｂｌｅ  Ｔａｌｋ  Ｄｅｔｅｃｔｏｒ  Ｂａｓｅｄ  ｏｎ  Ｃｏｈｅｒｅｎｃｅ）」と題する論文に見出されうる。
図１は、従来のエコーキャンセラ１０の、簡単化された概略ブロック図である。そのようなエコーキャンセラの主要部品は、適応有限インパルス応答（ＦＩＲ）フィルタ１２である。（例えば、ソフトウェアにより実行される）適応アルゴリズムの制御を受けて、フィルタ１２は、エコー経路のインパルス応答をモデル化する。一般に、フィルタ１２は、最小２乗平均（ＬＭＳ）アルゴリズムを用いて適応せしめられる。非線形プロセッサ（ＮＬＰ）１４は、入力信号の線形処理の後に残りうる残留エコーを除去するために用いられる。
電話コールに含まれる信号の性質は、非定常的である。従って、エコーキャンセラ１０は、一般にダブルトーク検出器（ＤＴＤ）１６を含み、これは、エコー信号対「近端」信号の比が、フィルタ１２をさらに適応させてもエコー経路推定がさらに改善されえない値を有する時、適応プロセスを制御し禁止するために用いられる。しかし、エコー経路の変化を追跡しうるためには、あまりに頻繁に適応を禁止することは不可能であり、そのような条件下では、もしエコー信号対雑音の比が悪化すればエコー経路推定のある劣化が起こる。１８により示されているブロックは、「遠端」信号ｘ（ｔ）および「近端」信号ｖ（ｔ）の関数としての「所望」信号ｙ（ｔ）を発生する電話システムのエコー源を表す。
この劣化問題に対処するために提案されたデュアルフィルタ構造は、１９７７年６月の、通信に関するＩＥＥＥ会報（ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ）、第ＣＯＭ−２５巻、第６号に所載の、カズオ・オチアイ（Ｋａｚｕｏ  Ｏｃｈｉａｉ）外著の「２つのエコー経路モデルを有するエコーキャンセラ（Ｅｃｈｏ  Ｃａｎｃｅｌｌｅｒ  ｗｉｔｈ  Ｔｗｏ  Ｅｃｈｏ  Ｐａｔｈ  Ｍｏｄｅｌｓ）」と題する文献に説明されている。図２に一般的に示されているように、この文献に説明されている技術は、エコーキャンセレーションのために固定フィルタ２０を、またエコー経路推定のために適応フィルタ２２を用いる。もし適応フィルタ２２により、十分によいエコー経路推定を得ることができれば、適応フィルタの係数は固定フィルタ２０へコピーされる。従って、もしエコー経路推定が悪化すれば、これらのもっと良い経路がキャンセレーションのために用いられうる。
上述したデュアルフィルタ構造のための制御戦略の改善は、ジョニー・カールセン（Ｊｏｈｎｎｙ  Ｋａｒｌｓｅｎ）外に対する「適応デュアルフィルタによるエコーキャンセレーションの方法（Ａｎ  Ａｄａｐｔｉｖｅ  Ｄｕａｌ  Ｆｉｌｔｅｒ  Ｅｃｈｏ  Ｃａｎｃｅｌｌａｔｉｏｎ  Ｍｅｔｈｏｄ）」と題する、権利者を共通とするスウェーデン特許第９５０３６４０−６号に開示されている。そこに説明されている方法によれば、両フィルタがエコーキャンセレーションのために用いられ、フィルタの係数は両方向へ転送されうる。この特許は、２つのフィルタ出力ｅaまたはｅfのいずれがエコーキャンセラのための出力として用いられるべきであるか、またいつ係数が１つのフィルタから他のフィルタへ転送されるべきであるか、を決定するために用いられる、ある条件を説明している。これらの決定は、関係する信号における電力および相関推定の比較に基づくので、用いられるアルゴリズムは高度にデータに依存するものとなる。
たいていの現存のエコーキャンセラは、中央計算素子として、汎用ディジタル信号プロセッサ（ＤＳＰ）を用いている。図３には、エコーキャンセレーションのための用いられている一般的な汎用ＤＳＰアーキテクチャが示されている。例えば、図３を参照すると、エコーキャンセレーションのために用いられているＤＳＰ３０は、２つのデータメモリセクション３２および３４および対応するデータバス３２ａおよび３４ａと、アドレスアーキテクチャユニット（ＡＡＵ）３６と、乗算器セクション３８と、論理演算装置（ＡＬＵ）４０と、シフタ４２と、を含む。
また、オチアイ外の文献においては、エコーキャンセラを、上述の適応アルゴリズムの機能ブロックに対応する計算ブロックから組立てることができた（図２）。しかし、そこに説明されているフィルタ適応技術は、最初はフィルタリングプロセスが行われた後にのみ得られうる現在のエラー信号ｅ（ｔ）の使用に基づいているので、オチアイのアルゴリズムにおける機能ブロックに対応する動作は、とにかく直列に実行されなければならず、顕著な効率は得られない。さらに、そのような機能を実現するために必要なハードウェアの実質的な量も、エコーキャンセラの全体的パフォーマンスを顕著には改善しない。
もし適応エコーキャンセレーションのために「長い」フィルタ（例えば、Ｎ＝５１２またはそれ以上）が用いられるならば、比較的多数の計算が行われなければならないので、問題が起こる。その場合には、プロセッサのアーキテクチャを、使用されているアルゴリズムの機能に整合するように最適化することが極めて重要である。同時に、使用されているハードウェアリソースの量を、適度な限度内に保つこともまた重要である。
エコーキャンセレーションのために用いられる汎用ＤＳＰ（例えば、図３のＤＳＰ３０）は、２つのデータバス（例えば、３２ａ、３４ａ）のみを有する。従って、そのようなＤＳＰは、クロックサイクル毎に最大２回のメモリアクセス（例えば、メモリセクション３２および３４のそれぞれに対する１回のアクセス）を行いうるのみである。従って、ＤＳＰの計算効率を顕著に低下させる、データ転送のボルトネックが存在した。
例えば、そのようなＤＳＰにより実行されるアルゴリズムにおけるＬＭＳ更新方程式は、次のように表される。
hn(t+1)=hn(t)+α(t)xn(t)                      （１）
ただし、もし基本ＬＭＳ値が用いられればα（ｔ）＝μｅ（ｔ）であり、もし正規化ＬＭＳ値が用いられれば、
0004445041.tif 000003
である。いずれにせよ、α（ｔ）は、それぞれのサンプル間隔における定数乗数である。上記方程式１において、ｘn（ｔ）は時刻ｔにおけるｎ番目の信号サンプルであり、ｈn（ｔ）は時刻ｔにおけるｎ番目の適応フィルタ係数であり、ｅ（ｔ）はエラー信号であり、μはサンプルのステップサイズを表す小さい定数である。
たいていの信号プロセッサにおいては、乗数α（ｔ）は乗数レジスタ内に記憶され、全てのフィルタ係数が更新され終わるまでそこに保持されうる。その後、ＬＭＳ更新方程式（方程式１）は、メモリセクションからの２回の読取り動作と、係数メモリセクションへの１回の書込み動作と、を必要とする。これらの動作は、単一クロックサイクル中に２つのデータバスによっては行われえず、従って、Ｎのそれぞれの値における更新を行うために２つのクロックサイクルが必要となる。一般にＮは、関係するエコー経路のインパルス応答の長さにより決定される。Ｎの値としては５１２が、典型的なエコーキャンセレーションアプリケーションのために極めて一般的に用いられる。しかし、音響エコーキャンセレーションアプリケーションのためには、数千という高い値になりうる。
ＦＩＲフィルタによる入力信号のフィルタリングのプロセスは、
0004445041.tif 000004
のように表され、これは明らかに、出力サンプルｙ（ｔ）を計算するために、Ｎの値毎に１つのクロックサイクルを必要とする。前述のデュアルフィルタ技術は、２つのＦＩＲフィルタを用いるので、対応する２つの出力サンプルを計算するためには、Ｎの値毎に２つのクロックサイクルを必要とすることになる。
２つのＦＩＲフィルタの係数は、信号に依存する制御アルゴリズムにより行われる決定により、一方から他方へコピーされる。上で仮定されたように、もしＮの値毎に単一クロックサイクルにより、ＦＩＲフィルタリングを行うことが所望されるならば、両フィルタの係数は、一方のメモリセクション内に置かれるべきであり、信号サンプルｘ（ｔ）は、他方のメモリセクション内に置かれるべきである。この構成は、１つのフィルタ係数のコピー動作が同じメモリセクションへの２回のアクセスを必要とするために、係数のコピー動作がＮの値毎に２つのサイクルを要することを意味する。
従って、上述のデュアルフィルタアプローチの完全なフィルタリング部分の最高の複雑性は、汎用ＤＳＰにおいては６＊Ｎとして測定される。換言すれば、汎用ＤＳＰは、フィルタ計算を完成するために６＊Ｎサイクルを要する。しかし、この複雑性のレベルは、エコーキャンセラアプリケーションにおいて必要とされる大きいＮの値に対しては比較的高く、アルゴリズムの制御部分と、他の必要なエコーキャンセラ機能と、のためには、（たとえあるとしても）比較的小さい処理能力が残されるのみである。
発明の要約
従って、本発明は、エコーキャンセレーションのために用いられるディジタル信号プロセッサの計算時間を最小化することを目的とする。
本発明のもう１つの目的は、エコーキャンセレーションのために用いられるディジタル信号プロセッサにおけるデータ転送のボルトネックを最小化することである。
本発明のさらにもう１つの目的は、エコーキャンセレーションのために用いられるディジタル信号プロセッサの最小２乗平均の更新、フィルタリング、および係数をコピーする計算、の速度を最大化することである。
本発明のさらにもう１つの目的は、効率的な適応デュアルフィルタエコーキャンセラを実現することである。
本発明によれば、以上の目的およびその他の目的は、エコーキャンセレーションの計算のために用いられるディジタル信号プロセッサにより達成され、そのディジタル信号プロセッサは、並列乗算器／加算器と、入力信号サンプルメモリと、行われた計算の結果を一時的に記憶するための複数のアキュムレータと、を含む。従って、計算結果の全てが外部データメモリ内へセーブされなければならないわけではなく、このことが、データ転送のボルトネックを最小化し、ディジタル信号プロセッサの計算効率を顕著に増大させる。それにより、適応フィルタ係数の更新は遥かに高速で計算可能となり、その適応フィルタ係数は、一方のフィルタから他方のフィルタへ遥かに高速でコピーされうる。ディジタル信号プロセッサの計算の複雑度は、従来のディジタル信号プロセッサのそれよりも著しく低い。
【図面の簡単な説明】
本発明の方法および装置の、より完全な理解は、添付図面と共に以下の詳細な説明を参照することにより得られうる。添付図面において、
図１は、従来のエコーキャンセラの簡単化された概略ブロック図であり、
図２は、現存のデュアルフィルタエコーキャンセラの簡単化された概略ブロック図であり、
図３は、エコーキャンセレーションのために用いられてきた一般的な汎用ディジタル信号プロセッサのブロック図であり、
図４は、本発明の実施例により機能するように構成された、エコーキャンセレーションに用いるデュアルフィルタディジタル信号プロセッサのブロック図である。
図面の詳細な説明
本発明の実施例およびその利点は、添付図面の図１から図４までを参照することにより最もよく理解され、諸図の同じ部品および対応する部品に対しては同じ番号が用いられている。
図４は、本発明の実施例により機能するように構成された、エコーキャンセレーションに用いるデュアルフィルタＤＳＰのブロック図である。例えば、専用集積回路（ＡＳＩＣ）により実現されうるこの実施例においては、デュアルフィルタＤＳＰ１００は、３つの基本計算ユニットと、１対の乗算器／加算器ユニット１０２／１０４および１０６／１０８と、ＢビットＡＬＵ／バレルシフタ１１０と、を含む。好ましくは、１対の乗算器／加算器ユニットのそれぞれの物理的および電気的特性は、（予期される公差内で）同じとする。これらの計算ユニットの全ては、４つのＢビットアキュムレータ１１２、１１４、１１６、および１１８のセットにより、計算結果の処理および一時記憶のために互いに結合せしめられる。好ましくは、この実施例においては４つのアキュムレータが用いられるが、２つより多くの任意の適切な数のアキュムレータが用いられうる。また、入力信号サンプルを記憶するためのＮ個のワードメモリ位置を有するサンプルメモリ１２０も含まれている。入力サンプルは、上述のＬＭＳ更新方程式（方程式３）内に示されている式ｘ（ｔ）により表される。注意すべきことは、図４に示されている処理アーキテクチャは好ましくはＤＳＰにより実現されるが、本発明はそのように制限されないように意図されていることである。例えば、図４に示されているアーキテクチャは、図４に関連して前述した機能を十分に行いうる任意の適切な処理装置により実現されうる。
サンプルメモリ１２０は、レジスタ１２２を経て乗算器１０２および１０６の入力に接続されている。１対のアラインメントユニット１２４および１２６は、乗算器１０２および１０６のそれぞれの出力に接続され、もし所望ならば、それぞれの乗算結果のいずれもが、アラインメントの目的のために左へ１ビットだけシフトされうる。メモリレジスタのそれぞれの対１２８、１３０および１３２、１３４は、入力／出力レジスタのそれぞれの対１２９、１３１および１３３、１３５を経てそれぞれの乗算器１０２および１０６に接続されている。メモリレジスタ１２８、１３０、１３２、および１３４は、データバスによりデータメモリ１３６および１３８に接続され、該データバスはそれらの間でデータを転送する。２つのデータメモリ１３６および１３８は、図４に示されている実施例においてはＤＳＰコアの外部に配置されているが、データメモリをＤＳＰコアの内部に配置することは本発明の範囲内にある。レジスタ（ｍｓｒ０）１４０は、ＢビットＡＬＵ１１０に接続され、それは、もし指定されたならば、該ＡＬＵがシフトすべきビット位置の数を示すために用いられる。
動作に際しては、処理されるべき入力信号サンプル（例えば、Ｎ個のワード）がサンプルメモリ１２０内に記憶される。全ての他のデータ変数は、データメモリ１３６および１３８内に記憶される。それぞれのサンプル間隔中において、サンプルメモリ１２０内の最も古い入力信号サンプルは、得られた最も新しいサンプルにより置換される。好ましくは、サンプルメモリのアクセスには、循環形増加後アドレス指定（ｃｉｒｃｕｌａｒ  ｐｏｓｔ−ｉｎｃｒｅｍｅｎｔ  ａｄｄｒｅｓｓｉｎｇ）モードを用いる。
メモリレジスタ１２８、１３０、１３２、１３４内の全てのビットは、データメモリ１３６および１３８の双方からロードすることができ、あるいはデータメモリ１３６および１３８の双方へ記憶させうる。メモリレジスタとデータメモリとを接続するデータバスは、ｂビットの幅を有し、このｂは、信号サンプルおよびフィルタ係数を適切に表すために必要な数である。この実施例においては、アキュムレータ１１２、１１４、１１６、１１８およびＡＬＵ１１０は、含まれる変数のＢ≧２ｂ＋ｌｏｇ2Ｎビット表示を可能にするように設計されている。このＢビットの選択は、使用されているプロセッサが固定小数点演算で動作していることを仮定している。もし浮動小数点計算ユニットが用いられるべきであれば、ｂ＝Ｂを用いることが自然な選択となる。しかし、好ましくは固定小数点装置であるこの実施例（図４）においては、値ｂ＝１６およびＢ＝４０を用いうる。
この実施例においては、基本的に、図４に示されているデュアルフィルタエコーキャンセラＤＳＰにより行われる３つの動作が存在する。すなわち、（１）係数の更新、（２）フィルタリング、および（３）係数のコピーイングである。好ましくは、両フィルタの係数は、２つのデータメモリ１３６および１３８へ平等に分割される。例えば、適応フィルタの奇数インデックスを有する係数は、第１のデータメモリ１３６内へ記憶され、適応フィルタの偶数インデックスを有する係数は、第２のデータメモリ１３８内へ記憶されることができ、あるいはこの逆に記憶されることができる。この例においては、固定フィルタの偶数インデックスを有する係数は第１のデータメモリ１３６内へ記憶され、固定フィルタの奇数インデックスを有する係数は第２のデータメモリ１３８内へ記憶される。入力信号サンプルｘnは、サンプルメモリ１２０内へ記憶される。
ＤＳＰが、更新ループを開始する前に係数更新動作を行うためには、定数乗数α（ｔ）を一方のデータメモリ（例えば、１３６）から検索し、例えば、ｍｘ０レジスタ１２８内に記憶することができる。また、第１係数ｈ0（ｔ）は、そのデータメモリから検索し、アキュムレータの１つ（例えば、ｍａ０すなわち１１２）に記憶することができる。次に、係数更新ループの第１サイクル中に、第２係数を第２データメモリ（例えば、１３８）から検索し、もう１つのアキュムレータ（例えば、ｍａ１すなわち１１４）に記憶することができる。同じサイクル中に、乗算器１０２は、サンプルメモリ１２０からの第１データサンプルに、ｍｘ０レジスタ１２８からの定数α（ｔ）を乗算する。Ｂビット加算器１０４は、この乗算の積を、アキュムレータ（ｍａ０）１１２からの第１係数に加算し、結果をその同じアキュムレータに記憶させる。
係数更新ループの第２サイクル中には、第３係数が第１データメモリ１３６から読取られて、アキュムレータ（例えば、ｍａ２すなわち１１６）に記憶される。また、同じサイクル中に、乗算器１０２は、サンプルメモリ１２０からの第２データサンプルに、レジスタｍｘ０からの定数α（ｔ）を乗算する。Ｂビット加算器１０４は、この乗算の積を、アキュムレータ（ｍａ１）１１４からの第２係数に加算し、結果をその同じアキュムレータに記憶させる。
係数更新ループの第３サイクル中には、第４係数が第２データメモリ１３８から読取られて、アキュムレータ（例えば、ｍａ３すなわち１１８）に記憶される。また、同じサイクル中に、乗算器１０２は、サンプルメモリ１２０からの第３データサンプルに、レジスタｍｘ０からの定数α（ｔ）を乗算する。Ｂビット加算器１０４は、この乗算の積を、アキュムレータ（ｍａ２）１１６からの第３係数に加算し、結果をその同じアキュムレータに記憶させる。さらに、このサイクル中に、アキュムレータ（ｍａ０）１１２から第１の更新された係数が、第１のデータメモリ１３６内の、第１係数の原位置に記憶される。次に、上述の動作が、データメモリ内の全てのフィルタ係数が更新され終わるまで繰返される。
ＤＳＰがそれぞれのクロックサイクル中にフィルタリング動作を行うために、１つの固定フィルタ係数および対応する適応フィルタ係数が、それぞれのデータメモリ位置から読取られ、例えば、ｍｘ０およびｍｘ１レジスタ内に記憶される。同時に、前に記憶された固定フィルタ係数および適応フィルタ係数が、ｍｘ０およびｍｘ１レジスタから読取られ、それぞれの乗算器１０２および１０６により、サンプルメモリ１２０からの対応する信号サンプルと乗算される。それぞれの結果は、２つのアキュムレータ（例えば、ｍａ０およびｍａ１）に格納され、累算される。
従って、本発明によれば、固定フィルタおよび適応フィルタの対応する係数は異なるデータメモリ内に記憶されうるので、これらの係数は、追加の遅延を生じることなく一時に１つコピーされうる。さらに、適応デュアルフィルタによるエコーキャンセレーションアルゴリズムにおける全ての基本動作（すなわち、ＬＭＳ係数更新、２つのフィルタからの出力信号の計算、および係数のコピーイング）は、図４に示されているＤＳＰアーキテクチャを用い、サンプル毎に１クロックサイクル以内に行われうる。そのようなわけで、図４に示されているＤＳＰアーキテクチャの計算上の複雑性は、現存の汎用エコーキャンセレーションＤＳＰにおける計算上の複雑性が６＊Ｎであるのに反し、３＊Ｎにすぎない。
注目すべきこととして、図４に示されているような１対の乗算器／加算器の組合せの使用はまた、デュアルフィルタの動作を制御し且つ必要な比較を行うために用いられる、電力および相関の推定を効率的に計算するためのプラットホームをも与える。また、効率の観点から、ＢビットＡＬＵ１１０は、例えば、図１に示されているＮＬＰおよびＤＴＤ機能のような、他のエコーキャンセラ機能を処理するために用いられうる。さらに、複数（例えば、４つ）のアキュムレータの使用は、計算動作の中間結果の記憶において、実質的な計算上の柔軟性を与え、これはデータメモリに対して行われるアクセスの数を顕著に減少させる。
本発明の方法および装置の実施例を、添付図面に示し、また以上の詳細な説明において説明したが、本発明は、開示した実施例へ制限されるものではなく、以下の請求の範囲により提示され且つ定められる本発明の精神から逸脱することなく、多くの再構成、改変、および置換が可能であることを理解すべきである。
【図１】
0004445041.tif 000005
【図２】
0004445041.tif 000006
【図３】
0004445041.tif 000007
【図４】
0004445041.tif 000008