專利名稱:回聲抵消方法和裝置的制作方法
技術領域:
本發明涉及語音通信系統中回聲抵消的方法和裝置。此外,本發明涉及存儲用于回聲抵消程序的記錄介質。
在兩個相對側之間的典型語音通信系統中,每側都有擴音器和話筒。如果擴音器產生的聲音進入話筒并且被增強,則導致回聲。
為語音通信系統配備聲學回聲抵消器是已知的。普通的聲學回聲抵消器由自適應濾波器構成。自適應濾波器可以使回聲抵消器跟隨影響回波生成的條件而變化。普通回波抵消器在回波生成條件下跟隨變化的速度較低。
本發明的第一個目標是提供一種改進的回聲抵消方法。
本發明的第二個目標是提供一種改進的回聲抵消裝置。
本發明的第三個目標是提供一種存儲用于回聲抵消的改進程序的記錄介質。
本發明的第一方面是提供一種回聲抵消方法。該方法包括以下步驟利用內部系數更新自適應濾波器的系數以響應遠端信號和誤差信號,自適應濾波器和內部系數具有抽頭(tap)長度;提供自適應濾波器以響應遠端信號產生第一偽回聲信號;提供主濾波器以響應遠端信號產生第二偽回聲信號;判斷更新步驟中的自適應濾波器系數和內部系數是否應該初始化;如果判斷更新步驟中的自適應濾波器系數和內部系數應該初始化,則將自適應濾波器的抽頭長度和更新步長設定為小于原始值的非原始值,并且在更新步驟內執行自適應濾波器系數和內部系數的初始化;判斷自適應濾波器的系數是否應該傳送至主濾波器;如果判斷自適應濾波器的系數應該傳送至主濾波器,則將自適應濾波器的系數傳送至主濾波器;以及如果是在自適應濾波器的抽頭長度和更新步長設定為非原始值之后執行自適應濾波器的系數至主濾波器的傳送,則將自適應濾波器的抽頭長度和更新步長設定為原始值,并且隨后在更新步驟中執行自適應濾波器系數和內部系數的初始化。
本發明的第二方面基于第一方面,并且提供的方法進一步包括以下步驟將遠端信號分割為子帶信號;將回聲信號分割為子帶信號;響應遠端信號的子帶信號產生第二子帶偽回聲信號;產生對應回聲信號的子帶信號與第二子帶偽回聲信號之間差異的子帶誤差信號;以及將子帶誤差信號組合成全帶誤差信號;其中對每個子帶信號施行回聲抵消。
本發明的第三方面基于第一方面,并且提供的方法進一步包括以下步驟如果在將自適應濾波器的抽頭長度和更新步長設定為非原始值之后預定時間內未執行自適應濾波器系數傳送至主濾波器,則使自適應濾波器的抽頭長度和更新步長返回原始值。
本發明的第四方面提供了一種初始化回聲抵消器中系數的方法。該方法包括以下步驟對于每個樣本計算回聲信號與主濾波器產生的誤差信號之間功率的ERLE(回聲返回損失增強)比率;計算當前樣本與緊靠其前樣本的ERLE比率之差;以及如果計算的差值大于預定閾值,則初始化更新自適應濾波器系數中所用的自適應濾波器系數和內部系數。
本發明的第五方面提供了一種初始化回聲抵消器中系數的方法。該方法包括以下步驟對于每個樣本計算回聲信號與主濾波器產生的誤差信號之間功率的ERLE(回聲返回損失增強)比率;以及如果計算的連續多個樣本的ERLE比率繼續跌落,則初始化更新自適應濾波器系數中所用的自適應濾波器系數和內部系數。
本發明的第六方面基于第一方面,并且提供一種方法,其中執行初始化的步驟包括以下步驟對于每個樣本計算回聲信號與主濾波器產生的誤差信號之間功率的ERLE(回聲返回損失增強)比率;計算當前樣本與緊靠其前樣本的ERLE比率之差;以及如果計算的差值大于預定閾值,則初始化更新步驟中所用的自適應濾波器系數和內部系數。
本發明的第七方面基于第一方面,并且提供了一種方法,其中初始化步驟包括以下步驟對于每個樣本計算回聲信號與主濾波器產生的誤差信號之間功率的ERLE(回聲返回損失增強)比率;以及如果計算的連續多個樣本的ERLE比率繼續跌落,則初始化更新步驟中所用的自適應濾波器系數和內部系數。
本發明的第八方面基于第一方面,并且提供一種方法,其中更新步驟采用最小平方法的系數更新算法。
本發明的第九方面是提供一種回聲抵消裝置。該裝置包括利用內部系數更新自適應濾波器的系數以響應遠端信號和誤差信號的裝置,自適應濾波器和內部系數具有抽頭長度;提供自適應濾波器以響應遠端信號產生第一偽回聲信號的裝置;提供主濾波器以響應遠端信號產生第二偽回聲信號的裝置;判斷更新方法中的自適應濾波器系數和內部系數是否應該初始化的裝置;如果判斷更新方法中的自適應濾波器系數和內部系數應該初始化,則將自適應濾波器的抽頭長度和更新步長設定為小于原始值的非原始值,并且在更新方法內執行自適應濾波器系數和內部系數的初始化的裝置;判斷自適應濾波器的系數是否應該傳送至主濾波器的裝置;如果判斷自適應濾波器的系數應該傳送至主濾波器,則將自適應濾波器的系數傳送至主濾波器的裝置;以及如果是在自適應濾波器的抽頭長度和更新步長設定為非原始值之后執行自適應濾波器的系數至主濾波器的傳送,則將自適應濾波器的抽頭長度和更新步長設定為原始值,并且隨后在更新步驟中執行自適應濾波器系數和內部系數的初始化的裝置。
本發明的第十方面基于第九方面,并且提供的裝置進一步包括將遠端信號分割為子帶信號的裝置;將回聲信號分割為子帶信號的裝置;響應遠端信號的子帶信號產生第二子帶偽回聲信號的裝置;產生對應回聲信號的子帶信號與第二子帶偽回聲信號之間差異的子帶誤差信號的裝置;以及將子帶誤差信號組合成全帶誤差信號的裝置;其中對每個子帶信號施行回聲抵消。
本發明的第十一方面基于第九方面,并且提供的裝置進一步包括如果在將自適應濾波器的抽頭長度和更新步長設定為非原始值之后預定時間內未執行自適應濾波器系數傳送至主濾波器,則使自適應濾波器的抽頭長度和更新步長返回原始值的裝置。
本發明的第十二方面提供了一種初始化回聲抵消器中系數的裝置。該裝置包括對于每個樣本計算回聲信號與主濾波器產生的誤差信號之間功率的ERLE(回聲返回損失增強)比率的裝置;計算當前樣本與緊靠其前樣本的ERLE比率之差的裝置;以及如果計算的差值大于預定閾值,則初始化更新自適應濾波器系數中所用的自適應濾波器系數和內部系數的裝置。
本發明的第十三方面提供了一種初始化回聲抵消器中系數的裝置。該裝置包括對于每個樣本計算回聲信號與主濾波器產生的誤差信號之間功率的ERLE(回聲返回損失增強)比率的裝置;以及如果計算的連續多個樣本的ERLE比率繼續跌落,則初始化更新自適應濾波器系數中所用的自適應濾波器系數和內部系數的裝置。
本發明的第十四方面基于第九方面,并且提供一種裝置,其中執行初始化的裝置包括對于每個樣本計算回聲信號與主濾波器產生的誤差信號之間功率的ERLE(回聲返回損失增強)比率的裝置;計算當前樣本與緊靠其前樣本的ERLE比率之差的裝置;以及如果計算的差值大于預定閾值,則初始化更新方法中所用的自適應濾波器系數和內部系數的裝置。
本發明的第十五方面基于第九方面,并且提供了一種裝置,其中初始化裝置包括對于每個樣本計算回聲信號與主濾波器產生的誤差信號之間功率的ERLE(回聲返回損失增強)比率的裝置;以及如果計算的連續多個樣本的ERLE比率繼續跌落,則初始化更新方法中所用的自適應濾波器系數和內部系數的裝置。
本發明的第十六方面基于第九方面,并且提供一種裝置,其中更新裝置采用最小平方法的系數更新算法。
本發明的第十七方面提供一種記錄介質,存儲了實現本發明第一~第八方面的方法的程序。
圖1為現有技術回聲抵消器的示意圖。
圖2為按照本發明第一實施例的回聲抵消器的框圖。
圖3為圖2中回聲抵消器的操作流程圖。
圖4為用于圖2內DSP的控制程序段的流程圖。
圖5為按照本發明第二實施例的回聲抵消器的框圖。
圖6為圖5中回聲抵消器的操作流程圖。
圖7為用于圖5內DSP的控制程序段的流程圖。
圖8為圖7內方框的流程圖。
圖9為按照本發明第三實施例的回聲抵消器的框圖。
圖10為圖9中回聲抵消器的操作流程圖。
圖11為用于圖9內DSP的控制程序段的流程圖。
圖12為按照本發明第四實施例的回聲抵消器的框圖。
圖13為圖12中回聲抵消器的操作流程圖。
圖14為用于圖12內DSP的控制程序段的流程圖。
圖15為按照本發明第五實施例的回聲抵消器的框圖。
圖16為圖15中回聲抵消器的操作流程圖。
圖17為用于圖15內DSP的控制程序段的流程圖。
為了更好地理解本發明,以下描述現有技術的回聲抵消器。
圖1示出了語音通信系統中現有技術的回聲抵消器。語音通信系統將近端側與遠端側相連。近端側有位于聲學空間內的擴音器SS和話筒MM。擴音器SS接收遠端信號x(n)。擴音器SS將遠端信號x(n)轉換為相應的聲音。話筒MM產生近端信號。當擴音器SS產生的聲音部分沿回聲路徑送至話筒MM并且被采集時,產生的近端信號包含回聲信號d(n)。圖1的現有技術回聲抵消器是前臺/后臺型(FG/BG型)的。
圖1內的現有技術回聲抵消器包括更新部分1101、自適應濾波器1102、主濾波器1103和判斷部分1104。自適應濾波器1102構成后臺濾波器,其工作特性由系數(抽頭系數)確定。部分1101更新自適應濾波器1102的系數以響應誤差信號e1(n)和遠端信號x(n)。更新部分1101和自適應濾波器1102協同識別或估計回聲路徑,并且產生第一偽回聲信號y1(n)以響應遠端信號x(n)和誤差信號e1(n)。誤差信號e1(n)是回聲信號d(n)與第一偽回聲信號y1(n)的差值。
主濾波器1103構成前臺濾波器,其工作特性由系數(抽頭系數)確定。主濾波器1103產生第二偽回聲信號y2(n)以響應遠端信號x(n)。第二偽回聲信號y2(n)設計為抵消返回遠端側的回聲信號d(n)。部分1104判斷預定條件是否滿足。預定條件是誤差信號e1(n)是否小于回聲信號d(n)某一水平以上和誤差信號e1(n)是否小于誤差信號e2(n),它是回聲信號d(n)與第二偽回聲信號y2(n)之差。如果部分1104判斷預定條件滿足,則部分1104將系數從自適應濾波器1102傳送至主濾波器1103。因此,在這種情況下,主濾波器1103根據新傳送的系數產生第二偽回聲信號y2(n)。作為回聲信號d(n)與第二偽回聲信號y2(n)之差的誤差信號e2(n)被送至遠端側。另一方面,如果部分1104判斷不滿足預定條件,則部分1104不執行系數從自適應濾波器1102至主濾波器1103的傳送。
當移動話筒MM和擴音器SS中至少一個從而改變回聲路徑時,自動啟動自適應濾波器1102內反復更新系數的過程。如果在反復更新過程中采用FRLS算法,則自適應濾波器1102內系數收斂至可接收值需要給定次數的重復系數更新步驟,它等于抽頭長度(回聲抵消時間)乘以3。例如,如果采樣頻率為16kHz并且抽頭長度等于4000次抽頭,因此回波取消時間較為250毫秒,需要花費750毫秒的時間使系數收斂至可接收的數值。
第一實施例圖2示出了按照本發明第一實施例的語音通信系統內的回聲抵消器。語音通信系統將近端側與遠端側相連。近端側有位于聲學空間內的擴音器S和話筒M。具有樣本序列的數字遠端信號x(n)發送至數字信號處理器(DSP)20和數字-模擬(D/A)轉換器22。這里“n”表示當前樣本。D/A轉換器22將數字遠端信號x(n)轉換為相應的模擬信號。D/A轉換器22向擴音器S輸出模擬信號。擴音器S將D/A轉換器22的輸出信號轉換為相應的聲音。話筒M產生模擬的近端信號。當擴音器S產生的聲音部分沿回聲路徑送至話筒M并且被采集時,模擬的近端信號包含回聲信號。話筒M向模擬一數字(A/D)轉換器24輸出模擬的近端信號。A/D轉換器24將模擬的近端信號轉換為相應的數字信號。A/D轉換器24向DSP20輸出數字信號。當擴音器S產生的聲音部分沿回聲路徑送至話筒M并且被采集時,A/D轉換器24的輸出信號包含數字回聲信號d(n)。數字回聲信號d(n)包含樣本序列。
DSP20包括輸入/輸出端口的組合、處理部分、ROM和RAM。DSP20按照存儲在ROM內的控制程序工作。按照控制程序,DSP20構成將回聲分量從A/D轉換器24輸出信號中去除的回聲抵消器。DSP20產生數字無回聲信號作為數字誤差信號e2(n)。DSP20輸出向遠端側發送的數字誤差信號e2(n)。
圖3示出的更象是DSP20的操作流程圖而非DSP硬件細節。參見圖3,DSP編程為構成更新部分101、數字自適應濾波器102、數字主濾波器103、判斷部分104、控制部分105和減法器107和109。
自適應濾波器102構成后臺濾波器,其工作特性由系數(抽頭系數)確定。更新部分101根據預定算法(例如NLMS算法、FRLS算法或者基于另一最小平方法算法)更新自適應濾波器102的系數以響應誤差信號e1(n)和遠端信號x(n)。更新部分101具有作為產生自適應濾波器102系數的基礎的內部系數(內部抽頭系數)。更新部分101和自適應濾波器102協同識別或估計回聲路徑,并且產生第一偽回聲信號y1(n)以響應遠端信號x(n)和誤差信號e1(n)。減法器107產生作為回聲信號d(n)與第一偽回聲信號y1(n)的差值的誤差信號e1(n)。
主濾波器103構成前臺濾波器,其工作特性由系數(抽頭系數)確定。主濾波器103產生第二偽回聲信號y2(n)以響應遠端信號x(n)。第二偽回聲信號y2(n)設計為抵消返回遠端側的回聲信號d(n)。判斷部分104周期性地判斷系數是否應該從自適應濾波器102傳送至主濾波器103,具體而言即是否滿足預定條件。判斷部分104作出判斷的周期等于遠端信號x(n)的一個樣本。判斷部分104作出判斷的周期可以等于另一預定數值。判斷部分104所用預定條件與誤差信號e1(n)與誤差信號e2(n)之比、誤差信號e1(n)與誤差信號e2(n)之差和第一偽回聲信號y1(n)與回聲信號d(n)之間的相關值有關。預定條件的典型例子是誤差信號e1(n)小于回聲信號d(n)某一水平以上和誤差信號e1(n)是否小于誤差信號e2(n)。如果判斷部分104判斷預定條件滿足,則判斷部分104將系數從自適應濾波器102傳送至主濾波器103。因此,在這種情況下,主濾波器103根據新傳送的系數產生第二偽回聲信號y2(n)。減法器109產生作為回聲信號d(n)與第二偽回聲信號y2(n)之差的誤差信號e2(n)。誤差信號e2(n)作為無回聲信號被送至遠端側。另一方面,如果判斷部分104判斷不滿足預定條件,則判斷部分104不執行系數從自適應濾波器102至主濾波器103的傳送。判斷部分104將判斷結果通知控制部分。
控制部分105判斷更新部分101內的內部系數(內部抽頭系數)和自適應濾波器102內的系數是否應該初始化。當判斷結果為正時,控制部分105將更新部分101和自適應濾波器102的抽頭長度(抽頭總數)從原始值M0改變為預定值M1,并且初始化更新部分101內的內部系數和自適應濾波器102內的系數。預定值M1小于原始值M0。預定值M1也稱為較小的值M1。選定較小的值M1從而可以減弱直接的聲音和初始反射聲音。當判斷結果為負時,控制部分105不執行初始化。如果當前抽頭長度等于較小值M1并且控制部分105被告知判斷部分104的判斷結果為正時,控制部分105將更新部分101和自適應濾波器102的抽頭長度返回至原始值M0,并且初始化更新部分101內的內部系數和自適應濾波器102內的系數。
控制部分105判斷的第一實例如下。控制部分105計算回聲信號d(n)與誤差信號e2(n)之間功率的ERLE(回聲返回損失增強)之比。控制部分105計算ERLE之比的當前樣本值與ERLE之比緊隨其后樣本值之差D(n)。控制部分105將差值D(n)與預定閾值比較。當差值D(n)超過閾值時,控制部分105判定更新部分101內的內部系數和自適應濾波器102內的系數應該初始化。否則,控制部分105判斷更新部分101內的內部系數和自適應濾波器102內的系數不應該初始化。
控制部分105判斷的第二實例如下。控制部分105計算回聲信號d(n)與誤差信號e2(n)之間功率的ERLE(回聲返回損失增強)之比。控制部分105判斷ERLE之比是否在預定數量的連續樣本內持續下跌。如果ERLE之比在預定數量的連續樣本內持續跌落,則控制部分105判斷更新部分101內的內部系數和自適應濾波器102內的系數應該初始化。否則,控制部分105判斷更新部分101內的內部系數和自適應濾波器102內的系數不應該初始化。
圖4為DSP20控制程序段的流程圖。通常情況下,對于遠端信號x(n)和回聲信號d(n)的每個樣本都執行程序段。如圖4所示,程序段的第一步驟201是根據預定算法(例如NLMS算法、FRLS算法或基于最小平方法的算法)更新自適應濾波器內的系數(抽頭系數)以響應誤差信號e1(n)和遠端信號x(n)。步驟201將內部系數(內部抽頭系數)用作產生自適應濾波器內系數的基礎。
步驟201后面的步驟202根據步驟201更新的系數執行自適應濾波過程,從而產生第一偽回聲信號y1(n)以響應遠端信號x(n)和誤差信號e1(n)。此外,步驟202產生作為回聲信號d(n)與第一偽回聲信號y1(n)之差的誤差信號e1(n)。
步驟202之后的步驟203根據系數(抽頭系數)執行主濾波過程,并且產生第二偽回聲信號y2(n)以響應遠端信號x(n)。此外,步驟203產生作為回聲信號d(n)與第二偽回聲信號y2(n)之差的誤差信號e2(n)。步驟203向遠端側輸出誤差信號e2(n)作為無回聲信號。
第一系數控制塊204包括步驟204-1、204-2和204-3。步驟204-1跟隨步驟203之后。步驟204-1判斷系數更新步驟201所用內部系數和自適應濾波步驟202所用系數是否應該初始化。當判斷結果為正時,程序從步驟204-1進入步驟204-2。當判斷結果為負時,程序從步驟204-1進入步驟205。
在第一系數控制塊204中,步驟204-2將系數更新步驟201和自適應濾波步驟202內所用的抽頭長度(抽頭總數)從原始值M0改變為較小值M1。選擇較小值M1使得可以減弱直接聲音和初始反射聲音。
在第一系數控制塊204中,步驟204-3在步驟204-2之后。步驟204-3初始化系數更新步驟201所用的內部系數和自適應濾波步驟202所用的系數。在步驟204-3之后,程序進入步驟205。
步驟204-1判斷的第一實例如下。步驟204-1計算回聲信號d(n)與誤差信號e2(n)之間功率的ERLE(回聲返回損失增強)之比。步驟204-1計算ERLE之比的當前樣本值與ERLE之比緊靠其前樣本值之差D(n)。步驟204-1將差值D(n)與預定閾值比較。當差值D(n)超過閾值時,步驟204-1判斷更新部分101內的內部系數和自適應濾波器102內的系數應該初始化。否則,步驟204-1判斷更新部分101內的內部系數和自適應濾波器102內的系數不應該初始化。
步驟204-1判斷的第二實例如下。步驟204-1計算回聲信號d(n)與誤差信號e2(n)之間功率的ERLE(回聲返回損失增強)之比。步驟204-1判斷ERLE之比是否在預定數量的連續樣本內持續下跌。如果ERLE之比在預定數量的連續樣本內持續跌落,則步驟204-1判斷更新部分101內的內部系數和自適應濾波器102內的系數應該初始化。否則,步驟204-1判斷更新部分101內的內部系數和自適應濾波器102內的系數不應該初始化。
步驟205周期性地判斷系數是否應該從自適應濾波步驟202傳送至主濾波過程203,具體而言即是否滿足預定條件。步驟205作出判斷的周期等于遠端信號x(n)的一個樣本。步驟205作出判斷的周期可以等于另一預定數值。步驟205所用預定條件涉及誤差信號e1(n)與誤差信號e2(n)之比、誤差信號e1(n)與誤差信號e2(n)之差和第一偽回聲信號y1(n)與回聲信號d(n)之間的相關值中的至少一個。預定條件的典型例子是誤差信號e1(n)小于回聲信號d(n)某一水平以上和誤差信號e1(n)是否小于誤差信號e2(n)。當步驟205判斷預定條件滿足,則程序從步驟205進入步驟206。否則程序從步驟205返回步驟201。
步驟206將系數從自適應濾波步驟202傳送至主濾波步驟203。因此,在這種情況下,主濾波步驟203在程序段下一執行周期內根據新傳送的系數產生第二偽回聲信號y2(n)。
第二系數控制塊207包括步驟207-1、207-2和207-3。步驟207-1在步驟206之后。步驟207-1檢查系數更新步驟201和自適應濾波步驟202中所用當前抽頭長度是否等于較小值M1。當當前抽頭長度等于較小值M1時,程序從步驟207-1進入步驟207-2。否則,程序從步驟207-1返回步驟201。
在第二系數控制塊207內,步驟207-2將抽頭長度(用于系數更新步驟201和自適應濾波步驟202)返回原始值M0。步驟207-3在步驟207-2之后。步驟207-3初始化系數更新步驟201所用的內部系數和自適應濾波步驟202所用的系數。在步驟207-3之后,程序返回步驟201。
如上所述,抽頭長度可以在原始值M0與較小值M1之間改變。按照這種設計,回聲抵消器可以快速跟隨回聲產生條件的變化。
第二實施例圖5示出了按照本發明第二實施例,它除了下述設計變化以外與第一實施例類似。本發明第二實施例包括DSP20A代替DSP20(參見圖2)。
DSP20A包括輸入/輸出端口的組合、處理部分、ROM和RAM。DSP20A按照存儲在ROM內的控制程序工作。按照控制程序,DSP20A構成對數字遠端信號x(n)響應并將回聲分量從A/D轉換器24輸出信號中去除的回聲抵消器。DSP20A產生數字無回聲信號作為數字誤差信號e(n)。數值遠端信號x(n)包含樣本序列。而且數值誤差信號e(n)包含樣本序列。這里“n”表示當前樣本。DSP20A輸出向遠端側發送的數字誤差信號2(n)。
圖6示出的更象是DSP20A的操作流程圖而非DSP20A的硬件細節。參見圖6,DSP20A編程為構成帶分濾波器310、疏化部分3201、3202…和320k、帶分濾波器330、疏化部分3401、3402…和340k、子帶回聲抵消塊3501、3502…和350k、插值部分3601、3602…和360k、頻帶組合濾波器370和減法器3901、3902…和390k。這里“k”表示等于或大于2的預設自然數。
子帶回聲抵消塊3501、3502…和350k在結構上相互相同。因此只詳細描述子帶回聲抵消塊3501的結構。子帶回聲抵消塊3501包括更新部分3511、數字自適應濾波器3521、數字主濾波器3531、判斷部分3541、控制部分3551和減法器3801。
帶分濾波器310將遠端信號x(n)的頻帶分割為“k”個子帶。帶分濾波器310將最終的子帶信號分別送至疏化部分3201、3202…和320k。帶分濾波器310例如包括多相濾波器。疏化部分3201、3202…和320k以1/L的速率疏化或抽選子帶信號,從而分別產生疏化的最終子帶遠端信號x1(n)、x2(n)…和xk(n)。最終子帶遠端信號x1(n)、x2(n)…和xk(n)被分別送至子帶回聲抵消塊3501、3502…和350k。
帶分濾波器330將遠端信號x(n)的頻帶分割為“k”個子帶。帶分濾波器330將最終的子帶信號分別送至疏化部分3401、3402…和340k。帶分濾波器330例如包括多相濾波器。疏化部分3401、3402…和340k以1/L的速率疏化或抽選子帶信號,從而分別產生疏化的最終子帶遠端信號d1(n)、d2(n)…和dk(n)。最終子帶遠端信號d1(n)、d2(n)…和dk(n)被分別送至子帶回聲抵消塊3501、3502…和350k。
子帶回聲抵消塊3501、3502…和350k在操作上相互相似。因此只詳細描述子帶回聲抵消塊3501的操作。
在子帶回聲抵消塊3501中,自適應濾波器3501構成后臺濾波器,其工作特性由系數(抽頭系數)確定。更新部分3511根據預定算法(例如NLMS算法、FRLS算法或者基于另一最小平方法算法)更新自適應濾波器3521的系數以響應子帶誤差信號e1(n)和子帶遠端信號x(n)。更新部分3511具有作為產生自適應濾波器3521內系數的基礎的內部系數(內部抽頭系數)。更新部分3511和自適應濾波器3521協同識別或估計回聲路徑,并且產生第一子帶偽回聲信號y11(n)以響應子帶遠端信號x1(n)和子帶誤差信號e11(n)。減法器3801產生作為子帶回聲信號d1(n)與第一子帶偽回聲信號y11(n)的差值的誤差信號e11(n)。
在子帶回聲抵消塊3501中,主濾波器3531構成前臺濾波器,其工作特性由系數(抽頭系數)確定。主濾波器3531產生第二子帶偽回聲信號y21(n)以響應子帶遠端信號x1(n)。第二子帶偽回聲信號y21(n)設計為抵消返回遠端側的子帶回聲信號d1(n)。判斷部分3541周期性地判斷系數是否應該從自適應濾波器3521傳送至主濾波器3531,具體而言即是否滿足預定條件。判斷部分3541作出判斷的周期等于子帶遠端信號x1(n)一個樣本。判斷部分3541作出判斷的周期可以等于另一預定數值。判斷部分3541所用預定條件涉及子帶誤差信號e11(n)與子帶誤差信號e21(n)之比、子帶誤差信號e11(n)與子帶誤差信號e21(n)之差和第一子帶偽回聲信號y11(n)與子帶回聲信號d1(n)之間的相關值中至少一個。預定條件的典型例子是子帶誤差信號e11(n)小于子帶回聲信號d1(n)某一水平以上和子帶誤差信號e11(n)是否小于子帶誤差信號e21(n)。如果判斷部分3541判斷預定條件滿足,則判斷部分3541將系數從自適應濾波器3521傳送至主濾波器3531。因此,在這種情況下,主濾波器3531根據新傳送的系數產生第二子帶偽回聲信號y21(n)。減法器3901產生作為子帶回聲信號d1(n)與第二子帶偽回聲信號y21(n)之差的誤差信號e21(n)。誤差信號e21(n)被發送至插值部分3601。另一方面,如果判斷部分3541判斷不滿足預定條件,則判斷部分3541不執行系數從自適應濾波器3521至主濾波器3531的傳送。判斷部分3541將判斷結果通知控制部分3551。
在子帶回聲抵消塊3501中,控制部分3551判斷更新部分3511內的內部系數(內部抽頭系數)和自適應濾波器3521內的系數是否應該初始化。當判斷結果為正時,控制部分3551將更新部分3511和自適應濾波器3521的抽頭長度(抽頭總數)從原始值M0改變為預定值M1,并且初始化更新部分3511內的內部系數和自適應濾波器3521內的系數。預定值M1小于原始值M0。選定較小的值M1從而可以減弱直接的聲音和初始反射聲音。當判斷結果為負時,控制部分3551不執行初始化。如果當前抽頭長度等于較小值M1并且控制部分3551被告知判斷部分3541的判斷結果為正時,控制部分3551將更新部分3511和自適應濾波器3521的抽頭長度返回至原始值M0,并且初始化更新部分3511內的內部系數和自適應濾波器3521內的系數。
控制部分3551判斷的第一實例如下。控制部分3551計算子帶回聲信號d1(n)與子帶誤差信號e21(n)之間功率的子帶ERLE(回聲返回損失增強)之比。控制部分3551計算子帶ERLE之比的當前樣本值與子帶ERLE之比的緊靠其前樣本值之間的子帶差值D1(n)。控制部分3551將子帶差值D1(n)與預定子帶閾值比較。當子帶差值D1(n)超過子帶閾值時,控制部分3551判斷更新部分3511內的內部系數和自適應濾波器3521內的系數應該初始化。否則,控制部分3551判斷更新部分3511內的內部系數和自適應濾波器3521內的系數不應該初始化。
控制部分3551判斷的第二實例如下。控制部分3551計算子帶回聲信號d1(n)與子帶誤差信號e21(n)之間功率的子帶ERLE(回聲返回損失增強)之比。控制部分3551判斷子帶ERLE之比是否在預定數量的連續樣本內持續下跌。如果子帶ERLE之比在預定數量的連續樣本內持續跌落,則控制部分3551判斷更新部分3511內的內部系數和自適應濾波器3521內的系數應該初始化。否則,控制部分3551判斷更新部分3511內的內部系數和自適應濾波器102內的系數不應該初始化。
子帶回聲抵消塊3502…和350k的操作與子帶回聲抵消塊3501類似。子帶回聲抵消塊3502…和350k產生第二子帶偽回聲信號y22(n)…和y2k(n)以分別響應子帶遠端信號x2(n)…和xk(n)以及子帶回聲信號d2(n)…和dk(n)。減法器3902…和390k產生子帶誤差信號e22(n)…和e2k(n),它們是子帶回聲信號d2(n)…和dk(n)與第二子帶偽回聲信號y22(n)…和y2k(n)之差。子帶誤差信號e22(n)…和e2k(n)分別發送至插值部分3602…和360k。
插值部分3061,3602…和360k分別相對子帶誤差信號e22(n)…和e2k(n)執行插值。插值的因子為L。插值部分3602…和360k將插值后的最終子帶誤差信號送至帶組合濾波器370。帶組合濾波器370通過合適的加法過程將插值后的最終子帶誤差信號組合為全帶誤差信號,即數字誤差信號e(n)。數字誤差信號e(n)被發送至遠端側。
圖7為DSP20A控制程序段的流程圖。通常情況下,對于遠端信號x(n)和回聲信號d(n)的每個樣本都執行程序段。如圖7所示,程序段的第一塊410包括步驟411和412。步驟411將遠端信號x(n)的頻帶通過例如多相濾波處理分割為“k”個子帶。
在塊410中,步驟412在步驟411之后。步驟412以1/L的速率疏化或抽選子帶信號,從而分別產生疏化的最終子帶遠端信號x1(n)、x2(n)…和xk(n)。
塊420包括步驟421和422。步驟421在步驟412之后。步驟421通過例如多相濾波處理將回聲信號d(n)的頻帶分割為“k”個子帶。
在塊420中,步驟422在步驟421之后。步驟422以1/L的速率疏化或抽選子帶信號,從而分別產生疏化的最終子帶遠端信號d1(n)、d2(n)…和dk(n)。
塊422之后的塊430分別產生子帶誤差信號e21(n)、e22(n)…和e2k(n)以響應子帶遠端信號x1(n)、x2(n)…和xk(n)以及子帶回聲信號d1(n)、d2(n)…和dk(n)。
塊440包括步驟441和442。步驟441在塊430之后。步驟441分別對子帶誤差信號e21(n)、e22(n)…和e2k(n)執行插值。插值具有因子L。
在塊440中,步驟442在步驟441之后。步驟442通過合適的加法過程將插值后的最終子帶誤差信號組合為全帶誤差信號,即數字誤差信號e(n)。步驟442將作為無回聲信號的數字誤差信號e(n)發送至遠端側。在步驟442之后,程序返回步驟411。
塊430包含分別分配至“k”個子帶的步驟序列。步驟序列相互類似。圖8示出了塊430中步驟序列“j”的細節。
參見圖8,步驟431根據預定算法(例如NLMS算法、FRLS算法或基于最小平方法的算法)更新自適應濾波器內的系數(抽頭系數)以響應子帶誤差信號e1j(n)和子帶遠端信號xj(n)。步驟431將內部系數(內部抽頭系數)用作產生自適應濾波器內系數的基礎。
步驟431后面的步驟432根據步驟431更新的系數執行自適應濾波過程,從而產生第一子帶偽回聲信號y1j(n)以響應遠端信號xj(n)和誤差信號e1j(n)。此外,步驟432產生作為子帶回聲信號dj(n)與第一子帶偽回聲信號y1(n)之差的子帶誤差信號e1j(n)。
步驟432之后的步驟433根據系數(抽頭系數)執行主濾波過程,并且產生第二子帶偽回聲信號y2(n)以響應子帶遠端信號xj(n)。此外,步驟433產生作為子帶回聲信號dj(n)與第二子帶偽回聲信號y2j(n)之差的誤差信號e2j(n)。
第一系數控制塊434包括步驟434-1、434-2和434-3。步驟434-1在步驟433之后。步驟434-1判斷系數更新步驟431所用內部系數和自適應濾波步驟202所用系數是否應該初始化。當判斷結果為正時,程序從步驟434-1進入步驟434-2。當判斷結果為負時,程序從步驟434-1進入步驟435。
在第一系數控制塊434中,步驟434-2將系數更新步驟431和自適應濾波步驟432內所用的抽頭長度(抽頭總數)從原始值M0改變我較小值M1。選擇較小值M1使得可以減弱直接聲音和初始反射聲音。
在第一系數控制塊434中,步驟434-3在步驟434-2之后。步驟434-3初始化系數更新步驟431所用的系數和自適應濾波步驟432所用的系數。在步驟434-3之后,程序進入步驟435。
步驟434-1判斷的第一實例如下。步驟434-1計算子帶回聲信號dj(n)與子帶誤差信號e2j(n)之間功率的子帶ERLE(回聲返回損失增強)之比。步驟434-1計算子帶ERLE之比的當前樣本值與子帶ERLE之比緊靠其前樣本值的子帶差值Dj(n)。步驟434-1將差值Dj(n)與預定閾值比較。當子帶差值D(n)超過閾值時,步驟434-1判斷更新部分431內的內部系數和自適應濾波器432內的系數應該初始化。否則,步驟434-1判斷更新系數部分431使用的內部系數和自適應濾波器432使用的系數不應該初始化。
步驟434-1判斷的第二實例如下。步驟434-1計算子帶回聲信號dj(n)與子帶誤差信號e2j(n)之間功率的子帶ERLE(回聲返回損失增強)之比。步驟434-1判斷子帶ERLE之比是否在預定數量的連續樣本內持續下跌。如果子帶ERLE之比在預定數量的連續樣本內持續跌落,則步驟434-1判斷更新部分431內的內部系數和自適應濾波器432內的系數應該初始化。否則,步驟434-1判斷更新部分431內的內部系數和自適應濾波器432內的系數不應該初始化。
步驟435周期性地判斷系數是否應該從自適應濾波步驟432傳送至主濾波過程433,具體而言即是否滿足預定條件。步驟435作出判斷的周期等于子帶遠端信號xj(n)的一個樣本。步驟435作出判斷的周期可以等于另一預定數值。步驟435所用預定條件涉及子帶誤差信號e1j(n)與子帶誤差信號e2j(n)之比、子帶誤差信號e1j(n)與子帶誤差信號e2j(n)之差和第一子帶偽回聲信號y1j(n)與子帶回聲信號dj(n)之間的相關值中的至少一個。預定條件的典型例子是子帶誤差信號e1j(n)小于子帶回聲信號dj(n)某一水平以上和子帶誤差信號e1j(n)是否小于子帶誤差信號e2j(n)。當步驟435判斷預定條件滿足,則程序從步驟435進入步驟436。否則程序從步驟435進入開始退出本步驟序列。
步驟436將系數從自適應濾波步驟432傳送至主濾波步驟433。因此,在這種情況下,主濾波步驟433在程序段下一執行周期內根據新傳送的系數產生第二子帶偽回聲信號y2j(n)。
第二系數控制塊437包括步驟437-1、437-2和437-3。步驟437-1在步驟436之后。步驟437-1檢查系數更新步驟431和自適應濾波步驟432中所用當前抽頭長度是否等于較小值M1。當當前抽頭長度等于較小值M1時,程序從步驟437-1進入步驟437-2。否則,程序從步驟437-1返回步驟431。
在第二系數控制塊437內,步驟437-2將抽頭長度(用于系數更新步驟431和自適應濾波步驟432)返回原始值M0。步驟437-3在步驟437-2之后。步驟437-3初始化系數更新步驟431所用的內部系數和自適應濾波步驟432所用的系數。在步驟437-3之后,進入開始退出本步驟序列。
如上所述,抽頭長度可以在原始值M0與較小值M1之間改變。按照這種設計,回聲抵消器可以快速跟隨回聲產生條件的變化。
如上所述,每個遠端信號x(n)和回聲信號d(n)的頻帶被分割為子帶。回聲抵消過程逐個子帶地實現。這種設計可以使回聲抵消器快速跟隨回聲產生條件的變化。
第三實施例圖9示出了按照本發明第三實施例,它除了下述設計變化以外與第一實施例類似。本發明第三實施例包括DSP20B代替DSP20(參見圖2)。
DSP20B包括輸入/輸出端口的組合、處理部分、ROM和RAM。DSP20B按照存儲在ROM內的控制程序工作。按照控制程序,DSP20B構成響應數字遠端信號x(n)并將回聲分量從A/D轉換器24輸出信號中去除的回聲抵消器。DSP20B產生數字無回聲信號作為數字誤差信號e2(n)。數字遠端信號x(n)包含樣本序列。而且數字誤差信號e2(n)具有樣本序列。這里“n”表示當前樣本。DSP20B輸出向遠端側發送的數字誤差信號e2(n)。
圖10示出的更象是DSP20B的操作流程圖而非DSP20B硬件細節。參見圖10,DSP20B編程為構成更新部分501、數字自適應濾波器502、數字主濾波器503、判斷部分504、控制部分505、計數器506和減法器507和509。
自適應濾波器502構成后臺濾波器,其工作特性由系數(抽頭系數)確定。更新部分501根據預定算法(例如NLMS算法、FRLS算法或者基于另一最小平方法算法)更新自適應濾波器502的系數以響應誤差信號e1(n)和遠端信號x(n)。更新部分501具有作為產生自適應濾波器502內系數的基礎的內部系數(內部抽頭系數)。更新部分501和自適應濾波器502協同識別或估計回聲路徑,并且產生第一偽回聲信號y1(n)以響應遠端信號x(n)和誤差信號e1(n)。減法器507產生作為回聲信號d(n)與第一偽回聲信號y1(n)的差值的誤差信號e1(n)。數字回聲信號d(n)包含樣本序列。
主濾波器503構成前臺濾波器,其工作特性由系數(抽頭系數)確定。主濾波器503產生第二偽回聲信號y2(n)以響應遠端信號x(n)。第二偽回聲信號y2(n)設計為抵消返回遠端側的回聲信號d(n)。判斷部分504周期性地判斷系數是否應該從自適應濾波器502傳送至主濾波器503,具體而言即是否滿足預定條件。判斷部分504作出判斷的周期等于遠端信號x(n)的一個樣本。判斷部分504作出判斷的周期可以等于另一預定數值。判斷部分504所用預定條件涉及誤差信號e1(n)與誤差信號e2(n)之比、誤差信號e1(n)與誤差信號e2(n)之差和第一偽回聲信號y1(n)與回聲信號d(n)之間的相關值。預定條件的典型例子是誤差信號e1(n)小于回聲信號d(n)某一水平以上和誤差信號e1(n)是否小于誤差信號e2(n)。如果判斷部分504判斷預定條件滿足,則判斷部分504將系數從自適應濾波器502傳送至主濾波器503。因此,在這種情況下,主濾波器503根據新傳送的系數產生第二偽回聲信號y2(n)。減法器509產生作為回聲信號d(n)與第二偽回聲信號y2(n)之差的誤差信號e2(n)。誤差信號e2(n)作為無回聲信號被送至遠端側。另一方面,如果判斷部分504判斷不滿足預定條件,則判斷部分504不執行系數從自適應濾波器502至主濾波器503的傳送。判斷部分504將判斷結果通知控制部分。
控制部分505判斷更新部分501內的內部系數(內部抽頭系數)和自適應濾波器502內的系數是否應該初始化。當判斷結果為正時,控制部分505將更新部分501和自適應濾波器502的抽頭長度(抽頭總數)從原始值M0改變為預定值M1,并且初始化更新部分501內的內部系數和自適應濾波器502內的系數。此外,控制部分505饋送復位信號到計數器506。預定值M1小于原始值M0。選定較小的值M1從而可以減弱直接的聲音和初始反射聲音。當判斷結果為負時,控制部分505不執行初始化。
控制部分505判斷的第一實例如下。控制部分505計算回聲信號d(n)與誤差信號e2(n)之間功率的ERLE(回聲返回損失增強)之比。控制部分505計算ERLE之比的當前樣本值與ERLE之比緊靠其前樣本值之差D(n)。控制部分505將差值D(n)與預定閾值比較。當差值D(n)超過閾值時,控制部分505更新部分501內的內部系數和自適應濾波器502內的系數應該初始化。否則,控制部分505判斷更新部分501內的內部系數和自適應濾波器502內的系數不應該初始化。
控制部分505判斷的第二實例如下。控制部分505計算回聲信號d(n)與誤差信號e2(n)之間功率的ERLE(回聲返回損失增強)之比。控制部分505判斷ERLE之比是否在預定數量的連續樣本內持續下跌。如果ERLE之比在預定數量的連續樣本內持續跌落,則控制部分505判斷更新部分501內的內部系數和自適應濾波器502內的系數應該初始化。否則,控制部分505判斷更新部分501內的內部系數和自適應濾波器502內的系數不應該初始化。
計數器506對遠端信號x(n)的樣本進行計數。計數器506將代表計數樣本數的信號送至控制部分505。計數的樣本數在計數器506從控制部分505接收到復位信號時復位。
如果當前抽頭長度等于較小值M1并且控制部分505被通知判斷部分504的判斷結果為正,則控制部分505使更新部分501和自適應濾波器502的抽頭長度返回原始值M0,并且初始化更新部分501內的內部系數和自適應濾波器502內的系數。
如果從計數器506輸送的信號所代表的計數樣本數超過預定閾值數但是控制部分505未被通知判斷部分504的判斷結果為正,即如果具有較小抽頭長度M1的系數未在給定時間內從自適應濾波器502傳送至主濾波器503,則控制部分505使更新部分501和自適應濾波器502的抽頭長度返回原始值M0,并且初始化更新部分501內的內部系數和自適應濾波器502內的系數。當更新部分501采用FRLS算法時,閾值數設定為等于較小值M1乘以3。
圖11為DSP20B控制程序段的流程圖。通常情況下,對于遠端信號x(n)和回聲信號d(n)的每個樣本都執行程序段。如圖11所示,程序段的第一塊包括步驟601-1和601-2。步驟601-1判斷當前抽頭長度是否等于較小值M1。當當前抽頭長度等于較小值M1時,程序從步驟601-1進入步驟601-2。否則,程序從步驟601-1進入步驟602。
步驟601-2使計數樣本數遞增“1”。在步驟601-2之后,程序進入步驟602。
步驟602根據預定算法(例如NLMS算法、FRLS算法或基于最小平方法的算法)更新自適應濾波器內的系數(抽頭系數)以響應誤差信號e1(n)和遠端信號x(n)。步驟602將內部系數(內部抽頭系數)用作產生自適應濾波器內系數的基礎。
步驟602后面的步驟603根據步驟602更新的系數執行自適應濾波過程,從而產生第一偽回聲信號y1(n)以響應遠端信號x(n)和誤差信號e1(n)。此外,步驟603產生作為回聲信號d(n)與第一偽回聲信號y1(n)之差的誤差信號e1(n)。
步驟603之后的步驟604根據系數(抽頭系數)執行主濾波過程,并且產生第二偽回聲信號y2(n)以響應遠端信號x(n)。此外,步驟604產生作為回聲信號d(n)與第二偽回聲信號y2(n)之差的誤差信號e2(n)。步驟604向遠端側輸出誤差信號e2(n)作為無回聲信號。
第一系數控制塊605包括步驟605-1、605-2、605-3和605-4。步驟605-1跟隨步驟604之后。步驟605-1判斷系數更新步驟602所用內部系數和自適應濾波步驟603所用系數是否應該初始化。當判斷結果為正時,程序從步驟605-1進入步驟605-2。當判斷結果為負時,程序從步驟605-1進入步驟606。
在第一系數控制塊605中,步驟605-2將系數更新步驟602和自適應濾波步驟603內所用的抽頭長度(抽頭總數)從原始值M0改變為較小值M1。選擇較小值M1使得可以減弱直接聲音和初始反射聲音。
在第一系數控制塊605中,步驟605-3在步驟605-2之后。步驟605-3初始化系數更新步驟602所用的系數和自適應濾波步驟603所用的系數。步驟605-4在605-3之后。步驟605-4將計數的樣本數復位至“0”,在步驟605-4之后程序進入步驟606。
步驟605-1判斷的第一實例如下。步驟605-1計算回聲信號d(n)與誤差信號e2(n)之間功率的ERLE(回聲返回損失增強)之比。步驟605-1計算ERLE之比的當前樣本值與ERLE之比緊隨其后樣本值之差D(n)。步驟605-1將差值D(n)與預定閾值比較。當差值D(n)超過閾值時,步驟605-1判斷系數更新步驟602所用內部系數和自適應濾波步驟603所用系數應該初始化。否則,步驟605-1判斷系數更新步驟602內所用內部系數和自適應濾波步驟603所用系數不應該初始化。
步驟605-1判斷的第二實例如下。步驟605-1計算回聲信號d(n)與誤差信號e2(n)之間功率的ERLE(回聲返回損失增強)之比。步驟605-1判斷ERLE之比是否在預定數量的連續樣本內持續下跌。如果ERLE之比在預定數量的連續樣本內持續跌落,則步驟605-1判斷系數更新步驟602所用內部系數和自適應濾波步驟603所用系數應該初始化。否則,步驟605-1判斷系數更新步驟602內所用內部系數和自適應濾波步驟603所用系數不應該初始化。
步驟606周期性地判斷系數是否應該從自適應濾波步驟603傳送至主濾波步驟604,具體而言即是否滿足預定條件。步驟606作出判斷的周期等于遠端信號x(n)的一個樣本。步驟606作出判斷的周期可以等于另一預定數值。步驟606所用預定條件涉及誤差信號e1(n)與誤差信號e2(n)之比、誤差信號e1(n)與誤差信號e2(n)之差和第一偽回聲信號y1(n)與回聲信號d(n)之間的相關值中的至少一個。預定條件的典型例子是誤差信號e1(n)小于回聲信號d(n)某一水平以上和誤差信號e1(n)是否小于誤差信號e2(n)。當步驟606判斷預定條件滿足,則程序從步驟606進入步驟607。否則程序從步驟606進入第三系數控制塊609。
步驟607將系數從自適應濾波步驟603傳送至主濾波步驟604。因此,在這種情況下,主濾波步驟604在程序段下一執行周期內根據新傳送的系數產生第二偽回聲信號y2(n)。
第二系數控制塊608包括步驟608-1、608-2和608-3。步驟608-1在步驟607之后。步驟608-1檢查系數更新步驟602和自適應濾波步驟603中所用當前抽頭長度是否等于較小值M1。當當前抽頭長度等于較小值M1時,程序從步驟608-1進入步驟608-2。否則,程序從步驟608-1返回塊601內的步驟601-1。
在第二系數控制塊608內,步驟608-2將抽頭長度(用于系數更新步驟602和自適應濾波步驟603)返回原始值M0。步驟608-3在步驟608-2之后。步驟608-3初始化系數更新步驟602所用的內部系數和自適應濾波步驟603所用的系數。在步驟608-3之后,程序返回塊601內的步驟601-1。
第三系數控制塊609包括步驟609-1、609-2和609-3。步驟609-1在步驟606之后。步驟609-1檢查系數更新步驟602和自適應濾波步驟603中所用當前抽頭長度是否等于較小值M1。當當前抽頭長度等于較小值M1時,程序從步驟609-1進入步驟609-2。否則,程序從步驟609-1返回塊601內的步驟601-1。
在第三系數控制塊609內,步驟609-2判斷計數樣本數是否超過預定閾值數T1。當計數樣本數超過閾值數T1時,程序從步驟609-2進入步驟609-3。否則,程序從步驟609-2返回塊601內的步驟601-1。
在第三系數控制塊609內,步驟609-3將抽頭長度(用于系數更新步驟602和自適應濾波步驟603)返回原始值M0。步驟609-4在步驟609-3之后。步驟609-4初始化系數更新步驟602所用的內部系數和自適應濾波步驟603所用的系數。步驟609-5在步驟609-4之后,步驟609-5將計數樣本數復位為零。在步驟609-5之后,程序返回塊601內的步驟601-1。
如上所述,抽頭長度可以在原始值M0與較小值M1之間改變。按照這種設計,回聲抵消器可以快速跟隨回聲產生條件的變化。
第四實施例圖12示出了按照本發明第四實施例,它除了下述設計變化以外與第一實施例類似。本發明第四實施例包括DSP20C代替DSP20(參見圖2)。
DSP20C包括輸入/輸出端口的組合、處理部分、ROM和RAM。DSP20C按照存儲在ROM內的控制程序工作。按照控制程序,DSP20C構成響應數字遠端信號x(n)并將回聲分量從A/D轉換器24輸出信號中去除的回聲抵消器。DSP20C產生數字無回聲信號作為數字誤差信號e2(n)。數字遠端信號x(n)包含樣本序列。而且數字誤差信號e2(n)具有樣本序列。這里“n”表示當前樣本。DSP20C輸出向遠端側發送的數字誤差信號e2(n)。
圖13示出的更象是DSP20C的操作流程圖而非DSP20C硬件細節。參見圖13,DSP20C編程為構成更新部分701、數字自適應濾波器702、數字主濾波器703、判斷部分704、控制部分705和減法器717和719。
自適應濾波器702構成后臺濾波器,其工作特性由系數(抽頭系數)確定。更新部分701根據預定算法(例如NLMS算法、FRLS算法或者基于另一最小平方法算法)更新自適應濾波器702的系數以響應誤差信號e1(n)和遠端信號x(n)。更新部分701具有作為產生自適應濾波器702系數的基礎的內部系數(內部抽頭系數)。更新部分701和自適應濾波器702協同識別或估計回聲路徑,并且產生第一偽回聲信號y1(n)以響應遠端信號x(n)和誤差信號e1(n)。減法器717產生作為回聲信號d(n)與第一偽回聲信號y1(n)的差值的誤差信號e1(n)。數字回聲信號d(n)包含樣本序列。
主濾波器703構成前臺濾波器,其工作特性由系數(抽頭系數)確定。主濾波器703產生第二偽回聲信號y2(n)以響應遠端信號x(n)。第二偽回聲信號y2(n)設計為抵消返回遠端側的回聲信號d(n)。判斷部分704周期性地判斷系數是否應該從自適應濾波器702傳送至主濾波器703,具體而言即是否滿足預定條件。判斷部分704作出判斷的周期等于遠端信號x(n)的一個樣本。判斷部分704作出判斷的周期可以等于另一預定數值。判斷部分704所用預定條件涉及誤差信號e1(n)與誤差信號e2(n)之比、誤差信號e1(n)與誤差信號e2(n)之差和第一偽回聲信號y1(n)與回聲信號d(n)之間的相關值。預定條件的典型例子是誤差信號e1(n)小于回聲信號d(n)某一水平以上和誤差信號e1(n)是否小于誤差信號e2(n)。如果判斷部分704判斷預定條件滿足,則判斷部分704將系數從自適應濾波器702傳送至主濾波器703。因此,在這種情況下,主濾波器703根據新傳送的系數產生第二偽回聲信號y2(n)。減法器719產生作為回聲信號d(n)與第二偽回聲信號y2(n)之差的誤差信號e2(n)。誤差信號e2(n)作為無回聲信號被送至遠端側。另一方面,如果判斷部分704判斷不滿足預定條件,則判斷部分704不執行系數從自適應濾波器702至主濾波器703的傳送。判斷部分704將判斷結果通知控制部分。
控制部分705根據回聲信號d(n)和誤差信號e2(n)判斷更新部分701內的內部系數(內部抽頭系數)和自適應濾波器702內的系數是否應該初始化。控制塊705包括計算部分706、存儲部分707、減法部分708和比較部分709。
在控制塊705中,計算部分706按照下列方程從當前和前一回聲信號d(n)和誤差信號e2(n)的樣本計算ERLE(回聲返回損失增強)值ERLE(n)。
ERLE(n)=10*log10(Ad/Ae)…(1)Ad=Σi=0N{d(n-i)}2···(2)]]>Ae=Σi=0N{e2(n-i)}2···(3)]]>計算值ERLE(n)對應當前樣本。計算部分706將當前計算值ERLE(n)通知給存儲部分707和減法部分708。存儲部分707暫時存儲計算值ERLE(n)。存儲部分707向減法部分708輸送作為前一計算值ERLE(n-1)的存儲值,它對應緊靠在當前樣本的前一樣本。減法器708將減法結果通知比較部分709。比較部分709將減法結果與預定正閾值“α”比較。當減法結果大于閾值“α”時,比較部分709判斷更新部分701內的內部系數和自適應濾波器702內的系數應該初始化。在這種情況下,比較部分709執行更新部分701內內部系數和自適應濾波器702內系數的初始化。計算的ERLE值的劇烈下降導致減法結果超過閾值“α”。另一方面,當減法結果未超過閾值“α”時,比較部分709判斷更新部分701內的內部系數和自適應濾波器702內的系數應該初始化。在這種情況下,比較部分709不執行初始化。
圖14為DSP20C控制程序段的流程圖。通常情況下,對于遠端信號x(n)和回聲信號d(n)的每個樣本都執行程序段。如圖14所示,程序段的第一步驟801根據預定算法(例如NLMS算法、FRLS算法或基于最小平方法的算法)更新自適應濾波器內的系數(抽頭系數)以響應誤差信號e1(n)和遠端信號x(n)。步驟801將內部系數(內部抽頭系數)用作產生自適應濾波器內系數的基礎。
步驟801后面的步驟802根據步驟801更新的系數執行自適應濾波過程,從而產生第一偽回聲信號y1(n)以響應遠端信號x(n)和誤差信號e1(n)。此外,步驟802產生作為回聲信號d(n)與第一偽回聲信號y1(n)之差的誤差信號e1(n)。
步驟802之后的步驟803根據系數(抽頭系數)執行主濾波過程,并且產生第二偽回聲信號y2(n)以響應遠端信號x(n)。此外,步驟803產生作為回聲信號d(n)與第二偽回聲信號y2(n)之差的誤差信號e2(n)。步驟803向遠端側輸出誤差信號e2(n)作為無回聲信號。
控制塊804包括步驟804-1、804-2和804-3。步驟804-1跟隨步驟803之后。步驟804-1按照上述方程(1)、(2)和(3)從當前和前一回聲信號d(n)和誤差信號e2(n)的樣本計算ERLE(回聲返回損失增強)值ERLE(n)。計算值ERLE(n)對應本樣本。步驟804-1將計算值ERLE(n)存入DSP20C內的RAM中。
在控制塊804內,步驟804-2在步驟804-1之后。步驟804-2從DSP20C內的RAM中讀取前一計算值ERLE(n),它在程序段緊接在前面的執行周期內被存儲下來。步驟804-2將當前計算值ERLE(n)從前一計算值ERLE(n-1)中減去。步驟804-2將減法結果與預定正閾值“α”比較。當減法結果大于閾值“α”時,步驟804-2判斷更新部分801所用內部系數和自適應濾波器802所用系數應該初始化。在這種情況下,程序從步驟804-2進入步驟804-3。另一方面,當減法結果未超過閾值“α”時,步驟804-2判斷更新部分801所用內部系數和自適應濾波器802所用系數不應該初始化。在這種情況下,程序從步驟804-2進入步驟805。
在控制塊804內,步驟804-3初始化系數更新步驟801所用系數和自適應濾波步驟802所用系數。在步驟804-3之后,程序進入步驟805。
步驟805周期性地判斷系數是否應該從自適應濾波步驟802傳送至主濾波步驟803,具體而言即是否滿足預定條件。步驟805作出判斷的周期等于遠端信號x(n)的一個樣本。步驟805作出判斷的周期可以等于另一預定數值。步驟805所用預定條件涉及誤差信號e1(n)與誤差信號e2(n)之比、誤差信號e1(n)與誤差信號e2(n)之差和第一偽回聲信號y1(n)與回聲信號d(n)之間的相關值中的至少一個。預定條件的典型例子是誤差信號e1(n)小于回聲信號d(n)某一水平以上和誤差信號e1(n)是否小于誤差信號e2(n)。當步驟805判斷預定條件滿足,則程序從步驟805進入步驟806。否則程序從步驟805返回步驟801。
步驟806將系數從自適應濾波步驟802傳送至主濾波步驟803。因此,在這種情況下,主濾波步驟803在程序段下一執行周期內根據新傳送的系數產生第二偽回聲信號y2(n)。在步驟806之后,程序返回步驟801。
第五實施例圖15示出了按照本發明第五實施例,它除了下述設計變化以外與第一實施例類似。本發明第五實施例包括DSP20D代替DSP20(參見圖2)。
DSP20D包括輸入/輸出端口的組合、處理部分、ROM和RAM。DSP20D按照存儲在ROM內的控制程序工作。按照控制程序,DSP20D構成響應數字遠端信號x(n)并將回聲分量從A/D轉換器24輸出信號中去除的回聲抵消器。DSP20D產生數字無回聲信號作為數字誤差信號e2(n)。數字遠端信號x(n)包含樣本序列。而且數字誤差信號e2(n)具有樣本序列。這里“n”表示當前樣本。DSP20D輸出向遠端側發送的數字誤差信號e2(n)。
圖16示出的更象是DSP20D的操作流程圖而非DSP20D硬件細節。參見圖16,DSP20D編程為構成更新部分901、數字自適應濾波器902、數字主濾波器903、判斷部分904、控制部分905和減法器917和919。
自適應濾波器902構成后臺濾波器,其工作特性由系數(抽頭系數)確定。更新部分901根據預定算法(例如NLMS算法、FRLS算法或者基于另一最小平方法算法)更新自適應濾波器902的系數以響應誤差信號e1(n)和遠端信號x(n)。更新部分901具有作為產生自適應濾波器902內系數的基礎的內部系數(內部抽頭系數)。更新部分901和自適應濾波器902協同識別或估計回聲路徑,并且產生第一偽回聲信號y1(n)以響應遠端信號x(n)和誤差信號e1(n)。減法器917產生作為回聲信號d(n)與第一偽回聲信號y1(n)的差值的誤差信號e1(n)。數字回聲信號d(n)包含樣本序列。
主濾波器903構成前臺濾波器,其工作特性由系數(抽頭系數)確定。主濾波器903產生第二偽回聲信號y2(n)以響應遠端信號x(n)。第二偽回聲信號y2(n)設計為抵消返回遠端側的回聲信號d(n)。判斷部分904周期性地判斷系數是否應該從自適應濾波器902傳送至主濾波器903,具體而言即是否滿足預定條件。判斷部分904作出判斷的周期等于遠端信號x(n)的一個樣本。判斷部分904作出判斷的周期可以等于另一預定數值。判斷部分904所用預定條件涉及誤差信號e1(n)與誤差信號e2(n)之比、誤差信號e1(n)與誤差信號e2(n)之差和第一偽回聲信號y1(n)與回聲信號d(n)之間的相關值。預定條件的典型例子是誤差信號e1(n)小于回聲信號d(n)某一水平以上和誤差信號e1(n)是否小于誤差信號e2(n)。如果判斷部分904判斷預定條件滿足,則判斷部分904將系數從自適應濾波器902傳送至主濾波器903。因此,在這種情況下,主濾波器903根據新傳送的系數產生第二偽回聲信號y2(n)。減法器919產生作為回聲信號d(n)與第二偽回聲信號y2(n)之差的誤差信號e2(n)。誤差信號e2(n)作為無回聲信號被送至遠端側。另一方面,如果判斷部分904判斷不滿足預定條件,則判斷部分904不執行系數從自適應濾波器902至主濾波器903的傳送。
控制部分905根據回聲信號d(n)和誤差信號e2(n)判斷更新部分901內的內部系數(內部抽頭系數)和自適應濾波器902內的系數是否應該初始化。控制塊905包括計算部分906、存儲部分907、比較部分908以及存儲/判斷部分909。
在控制塊905中,計算部分906按照上述方程(1)、(2)和(3)從當前和前一回聲信號d(n)和誤差信號e2(n)的樣本計算ERLE(回聲返回損失增強)值ERLE(n)。計算值ERLE(n)對應當前樣本。計算部分906將當前計算值ERLE(n)通知給存儲部分907和減法部分908。存儲部分907暫時存儲計算值ERLE(n)。存儲部分907向比較部分908輸送作為前一計算值ERLE(n-1)的存儲值,它對應緊靠在當前樣本的前一樣本。比較部分908將當前計算值ERLE(n)與前一計算值ERLE(n-1)進行比較。具體而言,比較部分908判斷當前計算值ERLE(n)是否小于前一計算值ERLE(n-1),即是否ERLE(n)<ERLE(n-1)。比較部分908將判斷結果(比較結果)通知存儲/判斷部分909。從當前樣本開始的連續預定數量“m”個樣本的比較結果存儲在存儲/判斷部分909內。存儲/判斷部分909判斷是否所有存儲的比較結果(所有的存儲判斷結果)都為正,即是否滿足下列關系。
ERLE(n)<ERLE(n-1)<ERLE(n-2)<…<ERLE(n-m+1)…(4)關系式(4)意味著計算的ERLE值持續預定數量“m”個連續樣本減小。當滿足關系式(4)時,存儲/判斷部分909判斷更新部分901內的內部系數和自適應濾波器902內的系數應該初始化。在這種情況下,存儲/判斷部分909執行更新部分901內內部系數和自適應濾波器902內系數的初始化。另一方面,當不滿足關系式(4)時,存儲/判斷部分909判斷更新部分901內的內部系數和自適應濾波器902內的系數不應該初始化。在這種情況下,存儲/判斷部分909不執行初始化。
圖17為DSP20D控制程序段的流程圖。通常情況下,對于遠端信號x(n)和回聲信號d(n)的每個樣本都執行程序段。如圖17所示,程序段的第一步驟1001根據預定算法(例如NLMS算法、FRLS算法或基于最小平方法的算法)更新自適應濾波器內的系數(抽頭系數)以響應誤差信號e1(n)和遠端信號x(n)。步驟1001將內部系數(內部抽頭系數)用作產生自適應濾波器內系數的基礎。
步驟1001后面的步驟1002根據步驟1001更新的系數執行自適應濾波過程,從而產生第一偽回聲信號y1(n)以響應遠端信號x(n)和誤差信號e1(n)。此外,步驟1002產生作為回聲信號d(n)與第一偽回聲信號y1(n)之差的誤差信號e1(n)。
步驟1002之后的步驟1003根據系數(抽頭系數)執行主濾波過程,并且產生第二偽回聲信號y2(n)以響應遠端信號x(n)。此外,步驟1003產生作為回聲信號d(n)與第二偽回聲信號y2(n)之差的誤差信號e2(n)。步驟1003向遠端側輸出誤差信號e2(n)作為無回聲信號。
控制塊1004包括步驟1004-1、1004-2(n)、1004-2(n-1)…和1004-2(n-m+2)和1004-3。步驟1004-1跟隨步驟1003之后。步驟1004-1按照上述方程(1)、(2)和(3)從當前和前一回聲信號d(n)和誤差信號e2(n)的樣本計算ERLE(回聲返回損失增強)值ERLE(n)。計算值ERLE(n)對應本樣本。步驟804-1將計算值ERLE(n)存入DSP20D內的RAM中。
在控制塊1004內,步驟1004-2(n)在步驟1004-1之后。步驟1004-2(n)從DSP20D內的RAM中讀取當前計算值ERLE(n)和前一計算值ERLE(n-1)。步驟1004-2(n)判斷當前計算值ERLE(n)是否小于前一計算值ERLE(n-1),即是否ERLE(n)<ERLE(n-1)。當ERLE(n)<ERLE(n-1)。時,程序從步驟1004-2(n)進入步驟1004-2(n-1)。否則,程序從步驟1004-2(n)進入步驟1005。
在控制塊1004內,步驟1004-2(n)后連續跟隨步驟1004-2(n-1)、…、1004-2(n-m+2)。步驟1004-2(n-1)、…1004-2(n-m+2)的功能與步驟1004-2(n)基本相同。例如步驟1004-2(n-1)判斷是否ERLE(n-1)<ERLE(n-2)。當ERLE(n-1)<ERLE(n-2)時,程序從步驟1004-2(n-1)進入步驟1004-2(n-2)。否則程序從步驟1004-2(n-1)進入步驟1005。例如步驟1004-2(n-m+2)判斷是否ERLE(n-m+2)<ERLE(n-m+1)。當ERLE(n-m+2)<ERLE(n-m+1)時,程序從步驟1004-2(n-m+2)進入步驟1004-2(n-2)。否則程序從步驟1004-2(n-m+2)進入步驟1005。
在控制塊1004內,步驟1004-3判斷更新步驟1001所用系數和自適應濾波步驟1002所用系數是否應該初始化。步驟1004-3執行系數更新步驟1001所用的內部系數和自適應濾波步驟1002所用系數的初始化。在步驟1004-3之后,程序進入步驟1005。
步驟1005周期性地判斷系數是否應該從自適應濾波步驟802傳送至主濾波步驟1003,具體而言即是否滿足預定條件。步驟1005作出判斷的周期等于遠端信號x(n)的一個樣本。步驟1005作出判斷的周期可以等于另一預定數值。步驟1005所用預定條件涉及誤差信號e1(n)與誤差信號e2(n)之比、誤差信號e1(n)與誤差信號e2(n)之差和第一偽回聲信號y1(n)與回聲信號d(n)之間的相關值中的至少一個。預定條件的典型例子是誤差信號e1(n)小于回聲信號d(n)某一水平以上和誤差信號e1(n)是否小于誤差信號e2(n)。當步驟1005判斷預定條件滿足,則程序從步驟1005進入步驟1006。否則程序從步驟1005返回步驟1001。
步驟1006將系數從自適應濾波步驟1002傳送至主濾波步驟1003。因此,在這種情況下,主濾波步驟1003在程序段下一執行周期內根據新傳送的系數產生第二偽回聲信號y2(n)。在步驟1006之后,程序返回步驟1001。
權利要求
1.一種回聲抵消方法,其特征在于包括以下步驟對遠端信號和誤差信號響應利用內部系數更新自適應濾波器的系數,自適應濾波器和內部系數具有抽頭(tap)長度;提供自適應濾波器以響應遠端信號產生第一偽回聲信號;提供主濾波器以響應遠端信號產生第二偽回聲信號;判斷更新步驟中的自適應濾波器系數和內部系數是否應該初始化;如果判斷更新步驟中的自適應濾波器系數和內部系數應該初始化,則將自適應濾波器的抽頭長度和更新步長設定為小于原始值的非原始值,并且在更新步驟內執行自適應濾波器系數和內部系數的初始化;判斷自適應濾波器的系數是否應該傳送至主濾波器;如果判斷自適應濾波器的系數應該傳送至主濾波器,則將自適應濾波器的系數傳送至主濾波器;以及如果是在自適應濾波器的抽頭長度和更新步長設定為非原始值之后執行自適應濾波器的系數至主濾波器的傳送,則將自適應濾波器的抽頭長度和更新步長設定為原始值,并且隨后在更新步驟中執行自適應濾波器系數和內部系數的初始化。
2.如權利要求1所述的方法,其特征在于進一步包括以下步驟將遠端信號分割為子帶信號;將回聲信號分割為子帶信號;對于各子帶信號,響應遠端信號的子帶信號分別產生第二子帶偽回聲信號;分別產生對應回聲信號的子帶信號與第二子帶偽回聲信號之間差異的子帶誤差信號;以及將各子帶誤差信號組合成全帶誤差信號;其中對每個子帶信號施行回聲抵消。
3.如權利要求1所述的方法,其特征在于進一步包括以下步驟如果在將自適應濾波器的抽頭長度和更新步長設定為非原始值之后預定時間內未執行自適應濾波器系數傳送至主濾波器,則使自適應濾波器的抽頭長度和更新步長返回原始值。
4.一種初始化回聲抵消器中系數的方法,其特征在于包括以下步驟對于每個樣本計算回聲信號與主濾波器產生的誤差信號之間功率的ERLE(回聲返回損失增強)比率;計算當前樣本與緊靠其前樣本的ERLE比率之差;以及如果計算的差值大于預定閾值,則初始化更新自適應濾波器中所用的自適應濾波器系數和內部系數。
5.一種初始化回聲抵消器中系數的方法,其特征在于包括以下步驟對于每個樣本計算回聲信號與主濾波器產生的誤差信號之間功率的ERLE(回聲返回損失增強)比率;以及如果計算的連續多個樣本的ERLE比率繼續跌落,則初始化更新自適應濾波器中所用的自適應濾波器系數和內部系數。
6.如權利要求1所述的方法,其特征在于執行初始化的步驟包括以下步驟對于每個樣本計算回聲信號與主濾波器產生的誤差信號之間功率的ERLE(回聲返回損失增強)比率;計算當前樣本與緊靠其前樣本的ERLE比率之差;以及如果計算的差值大于預定閾值,則初始化更新步驟中所用的自適應濾波器系數和內部系數。
7.如權利要求1所述的方法,其特征在于初始化步驟包括以下步驟對于每個樣本計算回聲信號與第二偽誤差信號之間功率的ERLE(回聲返回損失增強)比率;以及如果計算的連續多個樣本的ERLE比率繼續跌落,則初始化更新步驟中所用的自適應濾波器系數和內部系數。
8.如權利要求1所述的方法,其特征在于更新步驟采用最小平方法的系數更新算法。
9.一種回聲抵消裝置,其特征在于包括對遠端信號和誤差信號響應利用內部系數更新自適應濾波器的系數的裝置,自適應濾波器和內部系數具有一抽頭長度;提供自適應濾波器以響應遠端信號產生第一偽回聲信號的裝置;提供主濾波器以響應遠端信號產生第二偽回聲信號的裝置;判斷更新方法中的自適應濾波器系數和內部系數是否應該初始化的裝置;如果判斷更新方法中的自適應濾波器系數和內部系數應該初始化,則將自適應濾波器的抽頭長度和更新方法設定為小于原始值的非原始值,并且在更新方法內執行自適應濾波器系數和內部系數的初始化的裝置;判斷自適應濾波器的系數是否應該傳送至主濾波器的裝置;如果判斷自適應濾波器的系數應該傳送至主濾波器,則將自適應濾波器的系數傳送至主濾波器的裝置;以及如果是在自適應濾波器的抽頭長度和更新方法設定為非原始值之后執行自適應濾波器的系數至主濾波器的傳送,則將自適應濾波器的抽頭長度和更新方法設定為原始值,并且隨后在更新方法中執行自適應濾波器系數和內部系數的初始化的裝置。
10.如權利要求9所述的裝置,其特征在于進一步包括將遠端信號分割為子帶信號的裝置;將回聲信號分割為子帶信號的裝置;對各子帶信號,響應遠端信號的子帶信號分別產生第二子帶偽回聲信號的裝置;分別產生對應回聲信號的子帶信號與第二子帶偽回聲信號之間差異的子帶誤差信號的裝置;以及將各子帶誤差信號組合成全帶誤差信號的裝置;其中對每個子帶信號施行回聲抵消。
11.如權利要求9所述的裝置,其特征在于進一步包括如果在將自適應濾波器的抽頭長度和更新方法設定為非原始值之后預定時間內未執行自適應濾波器系數傳送至主濾波器,則使自適應濾波器的抽頭長度和更新方法返回原始值的裝置。
12.一種初始化回聲抵消器中系數的裝置,其特征在于包括對于每個樣本計算回聲信號與主濾波器產生的誤差信號之間功率的ERLE(回聲返回損失增強)比率的裝置;計算當前樣本與緊靠其前樣本的ERLE比率之差的裝置;以及如果計算的差值大于預定閾值,則初始化更新自適應濾波器中所用的自適應濾波器系數和內部系數的裝置。
13.一種初始化回聲抵消器中系數的裝置,其特征在于包括對于每個樣本計算回聲信號與主濾波器產生的誤差信號之間功率的ERLE(回聲返回損失增強)比率的裝置;以及如果計算的連續多個樣本的ERLE比率繼續跌落,則初始化更新自適應濾波器中所用的自適應濾波器系數和內部系數的裝置。
14.如權利要求9所述的裝置,其特征在于執行初始化的裝置包括對于每個樣本計算回聲信號與主濾波器產生的誤差信號之間功率的ERLE(回聲返回損失增強)比率的裝置;計算當前樣本與緊靠其前樣本的ERLE比率之差的裝置;以及如果計算的差值大于預定閾值,則初始化更新方法中所用的自適應濾波器系數和內部系數的裝置。
15.如權利要求9所述的裝置,其特征在于執行初始化的裝置包括對于每個樣本計算回聲信號與主濾波器產生的誤差信號之間功率的ERLE(回聲返回損失增強)比率的裝置;以及如果計算的連續多個樣本的ERLE比率繼續跌落,則初始化更新方法中所用的自適應濾波器系數和內部系數的裝置。
16.如權利要求9所述的裝置,其特征在于更新裝置采用最小平方法的系數更新算法。
17.一種記錄介質,其特征在于存儲了實現如權利要求1-8中任意一項所述方法的程序。
全文摘要
一種回聲抵消方法,包括以下步驟:利用內部系數更新自適應濾波器的系數;提供自適應濾波器;提供主濾波器;判斷更新步驟中的自適應濾波器系數和內部系數是否應初始化;如果應初始化,則將其抽頭長度設定為小于原始值的非原始值,并且執行初始化;判斷自適應濾波器的系數是否應該傳送至主濾波器;如果判斷應該傳送,則執行傳送;以及如果是在抽頭長度設定為非原始值之后未執行傳送,則將抽頭長度設定為原始值,并且隨后執行初始化。
文檔編號H04M9/08GK1292617SQ0011999
公開日2001年4月25日 申請日期2000年6月30日 優先權日1999年7月1日
發明者寺田泰宏 申請人:松下電器產業株式會社