欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

通信系統(tǒng)及其方法

文檔序號:7863476閱讀:551來源:國知局
專利名稱:通信系統(tǒng)及其方法
技術(shù)領(lǐng)域
本發(fā)明涉及音調(diào)(tone)指示,更具體地說,涉及通信系統(tǒng)中的音調(diào)指示方法和設(shè)備。
背景技術(shù)
在通信網(wǎng)絡(luò)(例如在公共交換電話網(wǎng)(PSTN)或分組電話(PT)網(wǎng))中使用回波消除,通過消除或減少來自電信網(wǎng)絡(luò)的電回波或線路回波,來確保語音質(zhì)量。這種電回波或線路回波的來源可能是混合電路的阻抗失配,混合電路是一種用于將來自四線通信網(wǎng)絡(luò)接口的信號轉(zhuǎn)換到二線用戶環(huán)路,以及將來自二線用戶環(huán)路的信號轉(zhuǎn)移到四線通信網(wǎng)絡(luò)接口的裝置。通信網(wǎng)絡(luò)中延遲較長的回波值得注意,它會在電話語音通信中產(chǎn)生顯著或者甚至無法忍受的干擾。于是,需要一種回波消除器,所述回波消除器能夠完全消除電信網(wǎng)絡(luò)內(nèi)的回波,或者將其降低到能夠接受的水平。另外,需要一種能夠在保持穩(wěn)定性的同時(shí),檢測通過電信網(wǎng)絡(luò)接收的音調(diào)的回波消除器。


下面舉例說明本發(fā)明,本發(fā)明不受附圖限制,附圖中,相同的附圖標(biāo)記表示相同的部件,其中圖1圖解說明根據(jù)本發(fā)明一個(gè)實(shí)施例的通信系統(tǒng);圖2根據(jù)本發(fā)明的一個(gè)實(shí)施例,圖解說明圖1的通信系統(tǒng)的回波消除器;圖3根據(jù)本發(fā)明的一個(gè)實(shí)施例,圖解說明圖2的回波消除器的近端信號檢測器;圖4根據(jù)本發(fā)明的一個(gè)實(shí)施例,圖解說明圖2的回波消除器的自適應(yīng)濾波器;圖5根據(jù)本發(fā)明的一個(gè)實(shí)施例,圖解說明圖2的回波消除器的非線性處理器;圖6-8根據(jù)本發(fā)明的一個(gè)實(shí)施例,圖解說明圖2的回波消除器的監(jiān)視和控制單元的各個(gè)部分;圖9根據(jù)本發(fā)明的一個(gè)實(shí)施例,以流程圖的形式圖解說明圖2的回波消除器的操作;圖10-13根據(jù)本發(fā)明的一個(gè)實(shí)施例,以流程圖的形式圖解說明圖2的回波消除器的近端信號檢測器的操作,和備份并恢復(fù)圖2的回波消除器的自適應(yīng)濾波器的濾波器系數(shù)的方法;圖14根據(jù)本發(fā)明的一個(gè)實(shí)施例,以流程圖的形式圖解說明監(jiān)視圖2的回波消除器的增益的動態(tài)增益控制方法;圖15根據(jù)本發(fā)明的一個(gè)實(shí)施例,以流程圖的形式圖解說明監(jiān)視圖2的回波消除器的自適應(yīng)濾波器的濾波器系數(shù)的分布的濾波器系數(shù)監(jiān)視方法;圖16-19根據(jù)本發(fā)明的一個(gè)實(shí)施例,以流程圖的形式圖解說明圖2的回波消除器中的非線性處理器的操作;圖20-24根據(jù)本發(fā)明的一個(gè)實(shí)施例,以流程圖的形式圖解說明純延遲的估計(jì)和稀疏窗口的位置;圖25-27根據(jù)本發(fā)明的一個(gè)實(shí)施例,以流程圖的形式圖解說明音調(diào)檢測的方法;圖28-36根據(jù)本發(fā)明的一個(gè)實(shí)施例,以流程圖的形式圖解說明縮短回波路徑掃描的方法;和圖37-38根據(jù)本發(fā)明的一個(gè)實(shí)施例,圖解說明脈沖響應(yīng)的例子。
本領(lǐng)域的技術(shù)人員會認(rèn)識到出于清楚簡單的目的,圖解說明了附圖中的部件,并且附圖中的部件不必按比例繪制。例如,相對于其它部件,可放大附圖中的一些部件的尺寸,以幫助理解本發(fā)明的實(shí)施例。
具體實(shí)施例方式
這里使用的術(shù)語“總線”指的是可用于傳送一種或者更多的各種信息,例如數(shù)據(jù)、地址、控制或狀態(tài)信息的多個(gè)信號或?qū)w??申P(guān)于是單一導(dǎo)體,多個(gè)導(dǎo)體,單向?qū)w或雙向?qū)w,舉例說明或描述這里討論的導(dǎo)體。但是,不同的實(shí)施例可改變導(dǎo)體的實(shí)現(xiàn)。例如,可使用獨(dú)立的單向?qū)w,而不是雙向?qū)w,反之亦然。另外,可用連續(xù)地或者以時(shí)分多路復(fù)用方式傳送多個(gè)信號的單一導(dǎo)體替換多個(gè)導(dǎo)體。同樣地,傳送多個(gè)信號的單個(gè)導(dǎo)體可被分離成傳送這些信號的子集的各個(gè)不同導(dǎo)體。于是,存在傳送信號的許多選擇。
當(dāng)涉及使信號、狀態(tài)位或者類似設(shè)備分別變成其邏輯真狀態(tài)或邏輯假狀態(tài)時(shí),使用術(shù)語“斷言”和“否定”。如果邏輯真狀態(tài)是邏輯電平1,那么邏輯假狀態(tài)是邏輯電平0。如果邏輯真狀態(tài)是邏輯電平0,那么邏輯假狀態(tài)是邏輯電平1。符號“*”和“·”均表示乘法運(yùn)算??墒褂肍IFO或其它類型的數(shù)據(jù)存儲器提供在整個(gè)本發(fā)明文獻(xiàn)內(nèi)使用的延遲。
另外,注意在這里的描述中,通常與每個(gè)相關(guān)的附圖一致地使用變量名。不過,一些變量名可被重復(fù)使用,指示不同組的相關(guān)附圖中的不同事物。例如,關(guān)于特定的一組附圖,M可能指的是測量周期,關(guān)于不同的一組附圖,M可能被用作計(jì)數(shù)器值。不過,當(dāng)使用下面的等式和附圖中的每個(gè)變量名時(shí),將提供它們的描述。
連接性圖1圖解說明通信系統(tǒng)10的一個(gè)實(shí)施例。通信系統(tǒng)10包括發(fā)射器/接收器12,接口13,混合電路16,回波消除器20,通信網(wǎng)絡(luò)24,回波消除器22,接口15,混合電路18和發(fā)射器/接收器14。接口13包括混合電路16,接口15包括混合電路18。發(fā)射器/接收器12與混合電路16雙向耦接(其中在一個(gè)實(shí)施例中,發(fā)射器/接收器12通過諸如雙絞線之類的二線連接,與混合電路16耦接)。混合電路16與回波消除器20耦接,通過單向?qū)w向回波消除器20提供發(fā)送信號Sin 37,并通過單向?qū)w接收來自回波消除器20的接收信號Rout 40(在一個(gè)實(shí)施例中,Sin 37和Rout 40均通過線對提供和接收)?;夭ㄏ?0與通信網(wǎng)絡(luò)24耦接,并將消除回波的發(fā)送信號Sout 42提供給通信網(wǎng)絡(luò)24,接收來自通信網(wǎng)絡(luò)24的Rin 43。
類似地,發(fā)射器/接收器14與混合電路18雙向耦接(在一個(gè)實(shí)施例中,發(fā)射器/接收器14通過諸如雙絞線之類二線連接,與混合電路18耦接)?;旌想娐?8通過向回波消除器22提供信號的單向?qū)w,和接收來自回波消除器22的信號的單向?qū)w,與回波消除器22耦接(在一個(gè)實(shí)施例中,每組單向?qū)w可以是雙絞線)?;夭ㄏ?2可與通信網(wǎng)絡(luò)24耦接,向通信網(wǎng)絡(luò)24提供消除回波的發(fā)送信號,并接收來自通信網(wǎng)絡(luò)24的接收信號。控制裝置17可以是包括根據(jù)需要,可被提供給發(fā)射器/接收器12、混合電路16、回波消除器20、通信網(wǎng)絡(luò)24、回波消除器22、混合電路18和發(fā)射器/接收器14的一個(gè)或多個(gè)控制信號的控制總線。于是,在一個(gè)實(shí)施例中,控制裝置17與通信系統(tǒng)10內(nèi)的每個(gè)單元耦接,而在備選實(shí)施例中,這些單元中只有一部分需要與控制裝置17通信。
圖2圖解說明圖1的回波消除器20的一個(gè)實(shí)施例(注意在參考圖2說明的實(shí)施例中,回波消除器20被稱為近端回波消除器,而回波消除器22被稱為遠(yuǎn)端回波消除器。但是,應(yīng)認(rèn)識到在回波消除器22位于通信系統(tǒng)10的近端,而回波消除器20位于通信系統(tǒng)的遠(yuǎn)端的情況下,圖2中圖解說明的回波消除器也可以指的是回波消除器22)。回波消除器20包括DC陷波濾波器45,可選的非自適應(yīng)濾波器31,加法器34,可選的非自適應(yīng)濾波器35,增益控制器33,非線性處理器32,近端信號檢測器26,自適應(yīng)濾波器28,監(jiān)視和控制單元30,DC陷波濾波器49,和加法器36。DC陷波濾波器接收Sin 37,將Sin 38輸出給近端信號檢測器26與監(jiān)視和控制單元30。如果存在非自適應(yīng)濾波器31,那么Sin還被提供給非自適應(yīng)濾波器31,非自適應(yīng)濾波器31被耦接,以便接收來自監(jiān)視和控制單元30的控制,并將Sin 39輸出給加法器34。但是,如果不存在非自適應(yīng)濾波器31,那么Sin 38和輸入加法器34的Sin 39相同。加法器34接收Sin 39和來自自適應(yīng)濾波器28的回波估計(jì)信號48,并將誤差信號46提供給增益控制器33,近端1信號檢測器26及監(jiān)視和控制單元30。增益控制器33與監(jiān)視和控制單元30雙向耦接,并被耦接成向非線性處理器32提供誤差信號47。如果在回波消除器20中存在非自適應(yīng)濾波器35,那么在一個(gè)實(shí)施例中,增益控制器33在同樣接收誤差信號46的非自適應(yīng)濾波器35內(nèi),并且與監(jiān)視和控制單元30雙向耦接,并提供誤差信號47。非線性處理器32與監(jiān)視和控制單元30雙向耦接,提供Sout 42。監(jiān)視和控制單元30還與控制裝置17耦接,接收Rin 43,向加法器36提供訓(xùn)練信號41,接收來自DC陷波濾波器49的Rin 44,并與自適應(yīng)濾波器28和近端信號檢測器26雙向耦接。DC陷波濾波器49接收加法器36的輸出(Rout 40),并將Rin 44提供給近端信號檢測器26,自適應(yīng)濾波器28及監(jiān)視和控制單元30,加法器36接收訓(xùn)練信號41和Rin 43,并提供Rout 40。
圖3圖解說明圖2的近端信號檢測器26的一個(gè)實(shí)施例。近端信號探測器26包括近端信號電平估計(jì)器50,遠(yuǎn)端信號電平估計(jì)器52,Sin信號電平估計(jì)器54,背景處理器56,近端信號檢測閾值選擇器58,和近端信號檢測器60。近端信號電平估計(jì)器50接收誤差信號46,并與近端信號檢測器60耦接。遠(yuǎn)端信號電平估計(jì)器被耦接成接收Rin 44,另外與近端信號檢測閾值選擇器58耦接。Sin信號電平估計(jì)器54被耦接成接收Sin38,另外與近端信號檢測器60耦接。背景處理器56與監(jiān)視和控制單元30,近端信號檢測閾值選擇器58和近端信號檢測器60耦接。近端信號檢測器60還與近端信號檢測閾值選擇器58及監(jiān)視和控制單元30耦接。
圖4圖解說明圖2的自適應(yīng)濾波器28的一個(gè)實(shí)施例。自適應(yīng)濾波器28包括自適應(yīng)濾波器62,可選的非自適應(yīng)濾波器64,和可選的延遲器66。假定非自適應(yīng)濾波器64和延遲器66都存在于自適應(yīng)濾波器28中,延遲器66接收Rin 44,并與非自適應(yīng)濾波器64及監(jiān)視和控制單元30耦接。非自適應(yīng)濾波器64與延遲器66,自適應(yīng)濾波器62及監(jiān)視和控制單元30耦接。自適應(yīng)濾波器62被耦接成接收誤差信號46,并被耦接成提供回波估計(jì)信號48,另外還與監(jiān)視和控制單元30耦接。如果不存在非自適應(yīng)濾波器64,那么延遲器66直接與自適應(yīng)濾波器62耦接。如果延遲器66不存在,那么非自適應(yīng)濾波器64接收Rin 44。如果延遲器66和非自適應(yīng)濾波器64都不存在,那么自適應(yīng)濾波器62接收Rin 44。
圖5圖解說明圖2的非線性處理器32的一個(gè)實(shí)施例。非線性處理器32包括信號電平估計(jì)器68,非線性處理器控制器74,和自適應(yīng)背景電平估計(jì)器96,并與監(jiān)視和控制單元30雙向耦接。信號電平估計(jì)器68包括近端信號電平估計(jì)器70和遠(yuǎn)端信號估計(jì)器72。非線性處理器控制器74包括非線性處理器ON控制器76,非線性處理器OFF控制器78,舒適噪聲發(fā)生器86,噪聲電平匹配器82,和輸出信號混頻器84。自適應(yīng)背景電平估計(jì)器96包括短期背景電平估計(jì)器88,背景噪聲估計(jì)器控制器90,長期背景電平估計(jì)器92,和背景電平適配器94。近端信號電平估計(jì)器70接收誤差信號47,并與非線性處理器ON控制器76和背景電平估計(jì)器控制器90耦接。遠(yuǎn)端信號電平估計(jì)器72接收Rin 44,并與非線性處理器ON控制器76,非線性處理器OFF控制器78,和背景電平估計(jì)器控制器90耦接。非線性處理器ON控制器76和非線性處理器OFF控制器78與噪聲發(fā)生器86耦接,噪聲發(fā)生器86與噪聲電平匹配器82耦接。輸出信號混頻器84與噪聲電平匹配器82耦接,接收誤差信號47,并提供Sout42。短期背景電平估計(jì)器88與背景電平適配器94耦接,接收誤差信號47。背景電平估計(jì)器控制器90與短期背景電平估計(jì)器88和長期背景電平估計(jì)器92耦接。長期背景電平估計(jì)器92接收誤差信號,并與背景電平適配器94耦接,背景電平適配器94與噪聲電平匹配器82耦接。
圖6圖解說明監(jiān)視和控制單元30的一部分的一個(gè)實(shí)施例,它包括增益監(jiān)視器100和濾波器系數(shù)監(jiān)視器102。增益監(jiān)視器100接收Sin 38,誤差信號46,并與自適應(yīng)濾波器28和增益控制器33耦接。濾波器系數(shù)監(jiān)視器102與自適應(yīng)濾波器28耦接。
圖7圖解說明監(jiān)視和控制單元30的另一部分的一個(gè)實(shí)施例,它包括抽取濾波器104和108,抽取器106和110,近端信號檢測器114,可選的比較器112,回波返回?fù)p耗增益值(ERLE)估計(jì)器116,功率估計(jì)器120和118,自適應(yīng)濾波器系統(tǒng)128,和噪聲發(fā)生器132。自適應(yīng)濾波器系統(tǒng)128包括自適應(yīng)濾波器122,最大值探測器124和延遲確定電路126。抽取濾波器104接收Rin 44,并與抽取器106耦接。抽取濾波器108接收Sin 38,并與抽取器110耦接。抽取器106與近端信號檢測器114,功率估計(jì)器120和自適應(yīng)濾波器122耦接。功率估計(jì)器120和近端信號檢測器114與自適應(yīng)濾波器系統(tǒng)128耦接??蛇x的比較器112(如果存在于監(jiān)視和控制單元30中)接收誤差信號46和Sin 38,并與自適應(yīng)濾波器系統(tǒng)128耦接。抽取器110與功率估計(jì)順118和自適應(yīng)濾波器122耦接。功率估計(jì)器118與ERLE估計(jì)器116和自適應(yīng)濾波器系統(tǒng)128耦接,自適應(yīng)濾波器122與近端信號檢測器114,ERLE估計(jì)器116和最大值探測器124耦接。最大值探測器124與向自適應(yīng)濾波器28提供估計(jì)的延遲130的延遲確定電路126耦接。噪聲發(fā)生器132接收Rin 43,并被耦接成將注入的信號41提供給加法器36。圖7的該部分的監(jiān)視和控制單元30也與控制裝置17耦接。
圖8圖解說明監(jiān)視和控制單元30的另一部分的一個(gè)實(shí)施例,包括存儲器150,功率估計(jì)器134,平滑相關(guān)器152,和音調(diào)指示判定單元166。功率估計(jì)器134包括延遲器136,延遲器138,乘法器140和142,加法器144,幅度器(magnitude)146,和低通濾波器148。平滑相關(guān)器152包括延遲器154,乘法器156和158,低通濾波器160和162,和振蕩器164。存儲器150與延遲器136,延遲器138,低通濾波器148,延遲器154,低通濾波器160和162,和振蕩器164耦接。延遲器136接收Rin 44或者Sin 38,并與延遲器138和乘法器142耦接。延遲器138與乘法器140和142,以及幅度器146耦接,幅度器146與低通濾波器148耦接,低通濾波器148與音調(diào)指示判定單元166耦接。延遲器154接收Rin 44或Sin 38,并與乘法器156耦接。乘法器158也接收Rin 44或Sin 38,并與低通濾波器160,振蕩器164和乘法器156耦接。乘法器156接收延遲154,并與低通濾波器162和振蕩器164耦接。音調(diào)指示判定單元166接收來自低通濾波器160的R0(n)和來自低通濾波器162的R1(n),并將音調(diào)指示器信號168提供給自適應(yīng)濾波器28。
注意圖1-8圖解說明了通信系統(tǒng)10和回波消除器20內(nèi)的各個(gè)塊的一個(gè)實(shí)施例。備選實(shí)施例可包括不同于圖示部件的各種部件,比圖示部件更多的部件,或者比圖標(biāo)部件更少的部件,取決于所需的功能性。此外,圖1-8內(nèi)的各塊可被不同地分組,或者不同地連接,仍然獲得類似的結(jié)果。于是,圖1-8只是意圖提供用于圖解說明將在下面討論的原理的例子。另外,雖然圖1-8中的連接被描繪成單一導(dǎo)體(單向或雙向),或者被描繪成多個(gè)導(dǎo)體(單向或雙向),不過可以使用各種不同的連接。例如,一個(gè)復(fù)接導(dǎo)體可由多個(gè)不同的單個(gè)單向或雙向?qū)w代替。類似地,單個(gè)導(dǎo)體可被擴(kuò)展成多個(gè)單向或雙向?qū)w。信號可通過單個(gè)導(dǎo)體連續(xù)傳送,或者可通過多個(gè)導(dǎo)體并行傳送。另外,信號可通過單個(gè)導(dǎo)體或者多個(gè)導(dǎo)體被時(shí)分多路復(fù)用。于是,在仍然獲得所需的功能性的時(shí)候,可用各種不同的方式實(shí)現(xiàn)圖1-8中圖解說明的連接。另外,如下進(jìn)一步所述,圖1-8的設(shè)計(jì)可用硬件、軟件或者硬件和軟件的組合來實(shí)現(xiàn)。
操作發(fā)射器/接收器12往來于混合電路16提供和接收數(shù)據(jù)?;旌想娐?6提供發(fā)射器/接收器12和通信網(wǎng)絡(luò)24之間的四線-二線轉(zhuǎn)換。于是,發(fā)射器/接收器12可以是通過二線用戶線路與混合電路16耦接,用于通過通信網(wǎng)絡(luò)24執(zhí)行通信的任意設(shè)備,例如電話機(jī)或者調(diào)制解調(diào)器。于是,混合電路16提供本地用戶環(huán)路(具有發(fā)射器/接收器12)和通信網(wǎng)絡(luò)(通信網(wǎng)絡(luò)24)之間的接口。發(fā)射器/接收器14和混合電路18在功能上分別類似于發(fā)射器/接收器12和混合電路16。
在發(fā)射器/接收器12和發(fā)射器/接收器14之間的通信中,電回波或線路回波由混合電路16和混合電路18引入通信中。這種回波的來源是混合電路16內(nèi)的阻抗失配,以及混合電路18內(nèi)的阻抗失配。例如,如果混合電路16內(nèi)的阻抗被完美匹配,那么來自接收信號Rout 40的所有能量將被傳送給發(fā)射器/接收器12。但是,如果在混合電路16內(nèi)存在任意阻抗失配,那么來自接收信號Rout 40的一些能量會通過發(fā)送信號Sin 37被反射回去。如果(就混合電路16引入的回波來說,從發(fā)射器/接收器)通過通信網(wǎng)絡(luò)24的往返延遲足夠長,那么在通信期間,發(fā)射器/接收器14從Sin 37接收的反射回波將是值得注意的。這會在電話語音通信期間導(dǎo)致顯著的回波或者甚至不可忍受的干擾。在一個(gè)例子中,足夠長的延遲指的是大于40毫秒的往返延遲。當(dāng)往返延遲增大時(shí),回波變得更壞,從而更顯著和更具有破壞性(另一方面,如果往返延遲顯著較小,那么由于回波與側(cè)音難以區(qū)分,因此回波可能不是破壞性的)。往返延遲可包括各種不同的延遲或者各種不同延遲的組合,包括傳輸延遲,處理延遲,計(jì)算延遲等。根據(jù)通信系統(tǒng),往返延遲可能足夠大,足以破壞通信。于是,可使用回波消除器20和22來減少通信系統(tǒng)10中的線路回波。例如,借助回波消除器20處理混合電路16從通過Rout 40(自發(fā)射器/接收器14)接收的信號引入的,并通過Sin 37反射的回波,以便在通過通信網(wǎng)絡(luò)24,將信號Sout 42發(fā)送回發(fā)射器/接收器14之前減少反射回波。
如上所述,線路回波由混合電路16內(nèi)的阻抗失配和混合電路18內(nèi)的阻抗失配引起。另外,通過發(fā)射器/接收器12和發(fā)射器/接收器14,聲回波可被引入到通信中。例如,如果發(fā)射器/接收器12是揚(yáng)聲器電話,那么在通過揚(yáng)聲器輸出之后,接收信號將環(huán)繞周圍環(huán)境彈回,一些信號會被重定向到發(fā)射器/接收器12的麥克風(fēng),還被反射回發(fā)射器/接收器14。在一個(gè)實(shí)施例中,回波消除器20還起除了減少線路回波之外,減少聲回波的一些特征的作用。
在一個(gè)實(shí)施例中,通信網(wǎng)絡(luò)24可包括分組電話網(wǎng)(例如包括基于網(wǎng)際協(xié)議(IP)的話音,基于分組的數(shù)據(jù),異步傳輸模式(ATM)等,并且可應(yīng)用于無線或有線系統(tǒng))或者公共交換電話網(wǎng)(PSTN)。在備選實(shí)施例中,通信系統(tǒng)10可以指的是任意類型的通信系統(tǒng)。任意通信路徑可被用作接口13或接口15。
控制裝置17提供發(fā)射器/接收器12和14,混合電路16和17,回波消除器20和22,以及通信網(wǎng)絡(luò)24之間的控制路徑。通過控制裝置17傳送的控制信號一般不是在線信號。例如,控制裝置17可包括啟用或禁用回波消除器20或22的啟用/禁用信號??刂蒲b置17還可包括指示電話機(jī)是掛機(jī)還是摘機(jī)的信號。
在這里說明的實(shí)施例中,發(fā)射器/接收器12將被稱為相對于回波消除器20的近端,發(fā)射器/接收器14將被稱為相對于回波消除器20的遠(yuǎn)端。于是,這里將參考回波消除器20說明實(shí)施例;但是應(yīng)明白回波消除器22類似于回波消除器20工作。即,在備選實(shí)施例中,發(fā)射器/接收器14可被稱為相對于回波消除器22的近端,發(fā)射器/接收器12可被稱為相對于回波消除器22的遠(yuǎn)端。
圖2圖解說明回波消除器20的一個(gè)實(shí)施例,這里,如上所述,發(fā)射器/接收器12是近端,發(fā)射器/接收器14是遠(yuǎn)端。Sin 37是通過混合電路16,從發(fā)射器12發(fā)出的發(fā)送信號?;夭ㄏ?0通過通信網(wǎng)絡(luò)24和混合電路18,向接收器14提供消除回波的發(fā)送信號Sout 42。Rin 43是通過混合電路18和通信網(wǎng)絡(luò)24,從發(fā)射器14接收的接收信號。回波消除器接收Rin 43,并通過混合電路16,將該發(fā)送信號Rin 43作為Rout 40提供給接收器12。
如上所述,Sin 37可包括由混合電路16內(nèi)的阻抗失配引入的反射回波。于是,回波消除器20減少(或消除)引入的反射回波,并提供消除回波的發(fā)送信號Sout 42。即,如果混合電路16中的阻抗被完美匹配,那么在混合電路16的輸入端接收的信號(例如Rout 40)實(shí)際上不會導(dǎo)致源于混合電路16的任何響應(yīng)(在Sin 37),因?yàn)椴淮嬖谌魏畏瓷浠夭?在理想的,但是實(shí)際上不可能達(dá)到的情況下)。但是,如果混合電路處于不平衡狀態(tài)(一種典型情況,例如阻抗被失配),那么通過Rout 40接收的信號導(dǎo)致如圖37中所示的響應(yīng)。圖37中圖解說明了從其輸入(Rout 40)和輸出(Sin 37)的觀點(diǎn)來看,混合電路的對應(yīng)脈沖響應(yīng)(h)?;夭ㄏ?0內(nèi)的自適應(yīng)濾波器28試圖模仿(對任意輸入信號Rout 40)Sin 37的混合響應(yīng),并通過加法器34扣除所述混合響應(yīng)。注意信號Rout40線性失真(包括其在時(shí)間上的純移位,即,在時(shí)間上它被移動稱為純延遲的參數(shù))??稍趫D37的混合電路16的脈沖響應(yīng)中圖解說明這種失真。注意脈沖響應(yīng)包括純延遲部分和發(fā)散時(shí)間。純延遲指的是從起點(diǎn)到開始出現(xiàn)某些有效值為止的那部分脈沖響應(yīng),由圖37中的T1表示。發(fā)散時(shí)間指的是從開始發(fā)生有效響應(yīng)到響應(yīng)幾乎顯示為止的那部分脈沖響應(yīng)持續(xù)時(shí)間,由圖37中的T4+T2表示。脈沖響應(yīng)的形狀(按照與發(fā)散時(shí)間段對應(yīng)的部分)可被轉(zhuǎn)換成混合電路的頻率特性(從Rout 40/Sin 37輸入/輸出端口看來)。
Sin 37被提供給DC陷波濾波器45,以便從Sin 37除去DC分量。注意在備選實(shí)施例中,代替DC陷波濾波器45,可使用高通濾波器。類似地,加法器36的輸出(Rout 40)被提供給DC陷波濾波器49,以便從Rout 40除去DC分量(但是在備選實(shí)施例中,可改為使用高通濾波器)。DC陷波濾波器的使用在計(jì)算上比高通濾波器更簡易,另外不會導(dǎo)致波紋效應(yīng),這有助于在濾波器的通帶內(nèi)使增益保持平直。在備選實(shí)施例中,可使用單個(gè)共用DC陷波濾波器來實(shí)現(xiàn)DC陷波濾波器45和DC陷波濾波器49的功能。
注意加法器36接收Rin 43和訓(xùn)練信號41,并以輸出Rout 40的形式,提供這兩個(gè)信號之和;但是,如果訓(xùn)練信號41為0,那么輸出Rout40完全與輸入Rin 43相同。對于下面的討論,將假定訓(xùn)練信號41為0,并且Rout 40等于Rin 43。另外,注意非自適應(yīng)濾波器31和非自適應(yīng)濾波器35是可選的,并將在下面進(jìn)一步討論。對于下面的討論,將假定Sin38和Sin 39相等,誤差信號47是調(diào)節(jié)增益后的誤差信號46,不存在非自適應(yīng)濾波器35的影響。
于是,Sin 39是包括發(fā)射器12傳送的任意近端談話者信號(Sgen)和混合電路16從Rout 40引入的任意反射回波的發(fā)送信號。于是,Sin 39可被表示成“Sgen+回波”。自適應(yīng)濾波器28將反射回波的估計(jì),回波估計(jì)信息48提供給加法器34,加法器34輸出誤差信號46。于是,誤差信號46可被表述成“Sin 39-估計(jì)的回波48”,或者代入上面的Sin 39的表達(dá)式,表述成“Sgen+回波-估計(jì)的回波”。當(dāng)估計(jì)的回波是準(zhǔn)確的(即等于或基本等于實(shí)際回波),那么誤差信號46將只包括Sgen,而不包括任意實(shí)質(zhì)回波。這是理想的情況。但是,如果估計(jì)的回波不準(zhǔn)確,那么誤差信號46將包括Sgen和殘留的回波分量。這種情況下,誤差信號46可被表述成“Sgen+殘留回波”,這里殘留回波是“回波-估計(jì)的回波”。當(dāng)不存在Sgen(即,當(dāng)近端無聲,意味著未從發(fā)射器12傳送任何信號)時(shí),誤差信號46只代表殘留回波。這種情況下,誤差信號46可被用于執(zhí)行自適應(yīng)過程,以使殘留回波降至最小,下面將更詳細(xì)地說明。但是,如果存在Sgen,那么誤差信號46不能被用于執(zhí)行自適應(yīng)過程,因?yàn)樽赃m應(yīng)濾波器28使用誤差來修改,在存在Sgen的情況下,誤差信號46不再只是誤差。于是,必須檢測Sgen,以便確定是否可執(zhí)行自適應(yīng)過程。被耦接成接收Sin 38(在本例中,它等于Sin 39)和Rin 44,使用誤差信號46和來自監(jiān)視和控制單元30的控制信號檢測Sgen的存在(即,檢測位于發(fā)射器12的近端談話者的存在)。
在自適應(yīng)濾波器28中,依據(jù)y(k)=XT(k)·H(k),這里X(k)=[x(k),x(k-1),…,x(k-N+1)]T,計(jì)算的回波估計(jì)信號48是在FIR濾波器跨距的持續(xù)時(shí)間內(nèi)延伸的輸入信號矢量;x(n)=Rin 44。H(k)是第k次迭代的濾波器系數(shù)矢量,這里H(k)=[h0(k),h1(k),…h(huán)N-1(k)]T。濾波器系數(shù)的實(shí)際更新由通用LMS型算法H(k+1+=H(k)+step_size·error(k)·X(k)控制,其中error(k)對應(yīng)于誤差信號46;step_size控制自適應(yīng)率;H(k+1)是新的濾波器系數(shù)矢量。
借助非線性處理器32,可進(jìn)一步減小或消除誤差信號46中的任意殘留回波。非線性處理器32接收誤差信號47(本實(shí)施例中,它是增益調(diào)整后的誤差信號46),并控制來自監(jiān)視和控制單元30的信號,產(chǎn)生Sout 42,理想情況下,Sout 42不包括任何回波。除了減少或消除殘留回波之外,非線性處理器32還試圖保持或匹配近端談話者信號(Sgen)的背景噪聲。匹配背景噪聲便于通過保持背景噪聲的連續(xù)性,改進(jìn)通信質(zhì)量。在不存在這種連續(xù)性的情況下,當(dāng)遠(yuǎn)端談話時(shí),遠(yuǎn)端收聽者只能聽到近端談話者的無聲。另一方面,當(dāng)遠(yuǎn)端談話時(shí),可提供合成的背景噪聲;但是,這會導(dǎo)致真實(shí)背景噪聲(當(dāng)近端談話時(shí))和合成的背景噪聲(當(dāng)遠(yuǎn)端談話時(shí))之間的破壞性(disruptive)轉(zhuǎn)換。于是,匹配背景噪聲有助于使這種破壞性轉(zhuǎn)換降至最小。
監(jiān)視和控制單元30包括用于確定是否存在真實(shí)的混合電路,以致自適應(yīng)濾波器28不設(shè)法適應(yīng)單個(gè)混合電路的濾波器系數(shù)監(jiān)視器(例如后面參考圖6進(jìn)一步說明的濾波器系數(shù)監(jiān)視器102)。監(jiān)視和控制單元30還包括增益監(jiān)視器,用于控制可選的自適應(yīng)濾波器35內(nèi)的增益控制器33。增益控制器33的一個(gè)用途是保持通信系統(tǒng)10的穩(wěn)定性。監(jiān)視和控制單元30還包括純延遲確定器和稀疏窗口探測器(后面將參考圖7更詳細(xì)地說明這兩者),以便提高自適應(yīng)濾波器28的效率。監(jiān)視和控制單元30還包括音調(diào)指示器和音調(diào)檢測器(后面參考圖8更詳細(xì)說明)。音調(diào)指示器和音調(diào)檢測器可被用于檢測通信系統(tǒng)10內(nèi)的信令音調(diào)。這些信令音調(diào)可包括,例如當(dāng)在信令音調(diào)之后將發(fā)送數(shù)據(jù)時(shí),具有禁用回波消除器的反相的2100Hz音調(diào)。于是,可根據(jù)需要禁用回波消除器。另一方面,如果使自適應(yīng)濾波器28暴露于發(fā)射器12或發(fā)射器14傳送的音調(diào)之下(例如,單頻或多頻正弦波),那么會導(dǎo)致通信系統(tǒng)10的不穩(wěn)定。于是,音調(diào)的檢測可用于防止自適應(yīng)濾波器發(fā)散和導(dǎo)致不穩(wěn)定性。
在上面說明的實(shí)施例中,回波消除器20不包括非自適應(yīng)濾波器31和35。但是,在備選實(shí)施例中,耦接在DC陷波濾波器45和加法器34之間的非自適應(yīng)濾波器31可被用于減小自適應(yīng)濾波器28的長度(參考圖4進(jìn)一步說明)。在該實(shí)施例中,非自適應(yīng)濾波器31接收Sin 38,和來自監(jiān)視和控制單元30的控制信號,產(chǎn)生Sin 39。另外,在具有非自適應(yīng)濾波器31的一個(gè)實(shí)施例中,回波消除器還可包括耦接在加法器34和非線性處理器32之間的非自適應(yīng)濾波器35。非自適應(yīng)濾波器35可包括增益控制器33或者可以是獨(dú)立單元。在該實(shí)施例中,非自適應(yīng)濾波器35補(bǔ)償非自適應(yīng)濾波器31的影響,從而近端信號Sgen不失真。非自適應(yīng)濾波器35接收誤差信號46,來自監(jiān)視和控制單元30的控制信號,并將誤差信號47提供給非線性處理器32(下面將參考圖4,進(jìn)一步說明非自適應(yīng)濾波器31和35)。
監(jiān)視和控制單元30還向加法器36提供訓(xùn)練信號41,以便將信號注入Rin 43中,產(chǎn)生Rout 40。訓(xùn)練信號41的注入可被用于估計(jì)混合電路回波路徑(從Rout 40開始,通過混合電路16,返回Sin 37的路徑)的純延遲。純延遲指的是從Rout 40到Sin 37的最小時(shí)間延遲。當(dāng)開始通信(例如開始電話會話),缺少遠(yuǎn)端信號時(shí),訓(xùn)練信號41的注入可被用于估計(jì)純延遲。注意訓(xùn)練信號41是可選的。監(jiān)視和控制單元30還接收控制17,以便啟用或禁用全部或部分功能模塊。
圖9包括根據(jù)本發(fā)明的一個(gè)實(shí)施例,圖解說明回波消除器200的操作的流程200。流程200是回波消除器,例如圖2的回波消除器20提供的功能性的概述。后面將參考圖3-8和10-38,更詳細(xì)地提供流程200內(nèi)的每個(gè)步驟的細(xì)節(jié)。流程200始于開始202,并進(jìn)入方框204,對Rin和Sin執(zhí)行DC陷波濾波。注意如果存在加法器36,或者存在訓(xùn)練信號41,那么對加法器36的輸出(Rout 40),而不是對Rin 43執(zhí)行DC陷波濾波。如上所述,DC陷波濾波器45從Sin 37除去DC分量,產(chǎn)生Sin 38。類似地,DC陷波濾波器49從Rin 43(或者Rout 40,取決于訓(xùn)練信號41)除去DC分量,產(chǎn)生Rin 44。流程200隨后進(jìn)入方框206,估計(jì)Rin44的長期功率和Sin 38的短期功率。注意長期功率和短期功率是相對項(xiàng)。即,長期功率指的是與短期功率相比,在較長的一段時(shí)間內(nèi)測量的功率。這些功率可由回波消除器20的近端信號檢測器26計(jì)算。
在方框206中計(jì)算的功率隨后被用于確定近端談話者信號檢測(NESD)閾值。該NESD閾值隨后將被用于確定近端談話者信號(即Sgen)的存在。該確定也可由回波消除器20的近端信號檢測器26完成。流程200隨后進(jìn)入方框210,監(jiān)視和控制自適應(yīng)濾波器28。方框210包括方框209、211和213。注意監(jiān)視和控制自適應(yīng)濾波器方框210內(nèi)的功能是可選的。即,可執(zhí)行方框209、211和213的任意組合,或者都不執(zhí)行。在方框209中,執(zhí)行音調(diào)指示處理。該音調(diào)指示處理可由監(jiān)視和控制單元30執(zhí)行,如上參考圖2所述,并且將參考圖8進(jìn)一步說明。流程200隨后進(jìn)入方框211,檢測延遲(在一個(gè)實(shí)施例中,檢測純延遲),并安置具有恰當(dāng)大小的濾波窗口(稀疏窗口)。即,監(jiān)視和控制單元30可檢測延遲并安置稀疏窗口,以致減小自適應(yīng)濾波器28的長度(即,抽頭的數(shù)目)。
另一種縮短自適應(yīng)濾波器長度的方式由方框213實(shí)現(xiàn)。一個(gè)實(shí)施例是結(jié)合自適應(yīng)濾波器28使用非自適應(yīng)濾波器31和33的組合,但是具有更短的濾波器長度。細(xì)節(jié)將在圖28-35中提供。
在監(jiān)視和控制自適應(yīng)濾波器210之后,流程200進(jìn)入方框212,自適應(yīng)濾波器被用于產(chǎn)生回波估計(jì)信號。例如,這可對應(yīng)于產(chǎn)生回波估計(jì)信號的自適應(yīng)濾波器28,如上參考圖2所述。流程200隨后進(jìn)入方框214,估計(jì)誤差信號和誤差信號的短期功率。即,方框214可對應(yīng)于圖2的加法器34,它通過從Sin 39減去回波估計(jì)信號48,估計(jì)誤差信號46。監(jiān)視和控制單元30隨后可被用于估計(jì)誤差信號46的短期功率。
之后,流程進(jìn)入方框216,使用NESD閾值檢測近端談話者信號。即,在方框216中,檢測Sgen是否存在(是否正從圖1的發(fā)射器12傳送信號)。這可由圖2的近端信號檢測器26執(zhí)行。流程進(jìn)入方框218,監(jiān)視并選擇性地調(diào)整增益控制器33的增益,以保持自適應(yīng)濾清器28以及通信系統(tǒng)10的穩(wěn)定性(其細(xì)節(jié)將在后面更詳細(xì)地說明)。流程200隨后進(jìn)入判定菱形框220,確定是否需要更新濾波器系數(shù)。例如,如上所述,如果存在Sgen,那么誤差信號46包括近端談話者信號(Sgen)和殘留回波分量。這種情況下,不應(yīng)更新自適應(yīng)濾波器28,因?yàn)檎`差信號46并不僅僅表示殘留回波。流程隨后進(jìn)入判定菱形框224。但是,如果確定Sgen不存在(即,近端談話者無聲),那么可更新自適應(yīng)濾波器28,流程進(jìn)入方框222,在繼續(xù)執(zhí)行到判定菱形框224之前,更新自適應(yīng)濾波器28的濾波器系數(shù)。
在判定菱形框224,確定是否需要任意背景處理。在一個(gè)實(shí)施例中,在回波消除器20的操作中,定期執(zhí)行背景處理。在備選實(shí)施例中,可在不同的時(shí)間執(zhí)行背景處理,例如響應(yīng)各種自適應(yīng)濾波器處理狀態(tài)。如果將不執(zhí)行背景處理,那么流程進(jìn)入方框230,執(zhí)行非線性處理。但是,如果要執(zhí)行背景處理,那么流程進(jìn)入方框226,備份濾波器系數(shù)。即,自適應(yīng)濾波器28的濾波器系數(shù)可被保存(例如保存在可位于回波消除器20內(nèi),或者位于回波消除器20外的存儲單元中)。流程隨后進(jìn)入方框228,監(jiān)視濾波器系數(shù),確定是否存在關(guān)于回波消除器穩(wěn)定性控制的混合電路。
在背景處理(如果有的話)之后,流程進(jìn)入非線性處理,減少或消除任意剩余的殘留回波,如果需要的話,插入背景噪聲。如果存在通過Rin 43和Sin 37接收的更多樣本(在判定菱形框232),那么返回方框204繼續(xù)處理下一樣本,否則在結(jié)束方框234完成該流程。注意在電話應(yīng)用中,信號的采樣速率通常為8kHz,因?yàn)樾盘柾ǔ0ㄕZ音。于是,在一個(gè)實(shí)施例中,采樣速率為8kHz,每00.125毫秒接收Rin 43和Sin 37的一個(gè)樣本。但是,在備選實(shí)施例中,可使用不同的采樣速率。例如,對于音樂應(yīng)用來說,通常需要較高的采樣速率。此外,在數(shù)字應(yīng)用中,采樣速率取決于數(shù)字信息的傳輸速率。
注意圖9中的步驟代表本發(fā)明的一個(gè)實(shí)施例。備選實(shí)施例可按照不同的順序執(zhí)行這些步驟,甚至可更多地,更少地,或者與其它步驟同時(shí)執(zhí)行一些步驟。另外,流程200中的一些步驟是可選的,而其它實(shí)施例可使用另外的或不同的步驟來完成任意所需的操作。于是,本領(lǐng)域的普通技術(shù)人員應(yīng)認(rèn)識到許多變化是可能的,流程200只是回波消除器的操作的一個(gè)例子。類似地,回波消除器20也僅僅舉例說明一個(gè)可能的實(shí)施例。備選實(shí)施例可使用更多或更少的塊或單元來執(zhí)行圖2中圖解說明的全部,部分功能,或者甚至與圖2中圖解說明的功能不同的功能。于是,圖2的回波消除器20只應(yīng)被看作一個(gè)例子。另外注意圖2中的塊和圖9中的步驟都可由運(yùn)行于數(shù)據(jù)處理器(例如微處理器,數(shù)字信號處理器等)上的軟件,硬件,或者硬件和軟件的組合來實(shí)現(xiàn)。
圖3圖解說明近端信號檢測器26的一個(gè)實(shí)施例。參考圖10-13說明近端信號檢測器26的操作。近端信號檢測器26和圖10-13的流程為不受回波路徑延遲和回波返回?fù)p耗(ERL)影響的快速可靠檢測創(chuàng)造條件,回波返回?fù)p耗(ERL)是由于回波路徑中的傳輸損耗和混合電路損耗的緣故,從回波消除器的Rout端口到Sin端口的信號的衰減。當(dāng)檢測到近端談話者信號時(shí)(即,當(dāng)檢測到Sgen的存在時(shí)),如上所述停止(影響自適應(yīng)濾波器28的系數(shù),以使殘留回波的平均功率降至最小的)自適應(yīng)過程,以防止自適應(yīng)發(fā)散,因?yàn)榻苏勗捳咝盘柕拇嬖诒硎菊`差信號46并不僅僅是起因于回波的誤差。注意當(dāng)檢測到近端信號時(shí),停止自適應(yīng)過程,而不管近端信號是在單方談話情形內(nèi)(即只存在近端談話者)還是在雙方談話情形內(nèi)(當(dāng)存在近端談話者和遠(yuǎn)端談話者時(shí))。除了停止自適應(yīng)過程之外,可能需要從備份的濾波器系數(shù)恢復(fù)濾波器系數(shù)。此外,當(dāng)近端和遠(yuǎn)端信號都不存在時(shí),自適應(yīng)過程也被暫停,防止回波消除器20適應(yīng)通道噪聲或者低誤差信號,從而使計(jì)算降至最小。于是,當(dāng)需要時(shí),例如當(dāng)遠(yuǎn)端信號相對強(qiáng),并且不存在近端信號時(shí),回波消除器20工作從而執(zhí)行適應(yīng)。這種情形下,自適應(yīng)濾波器28可被適應(yīng),以便正確地估計(jì)回波作為回波估計(jì)信號48。另外,如下所述,根據(jù)自適應(yīng)濾波器處理的狀態(tài),調(diào)節(jié)近端談話者信號檢測的閾值。
圖10-13中討論的實(shí)施例還提供一種備份和恢復(fù)自適應(yīng)濾波器28的系數(shù)的方法。該過程可由狀態(tài)機(jī)管理,如圖13中所示,狀態(tài)機(jī)使備份的次數(shù)和頻率降至最小,并防止自適應(yīng)濾波器28發(fā)散。
圖3圖解說明近端信號檢測器26的一個(gè)實(shí)施例。信號電平估計(jì)器跟蹤近端信號(Sgen),遠(yuǎn)端信號(Rin)和發(fā)送路徑輸入信號(Sin)的電平。于是,近端信號電平估計(jì)器50接收誤差信號46,遠(yuǎn)端信號電平估計(jì)器52接收Rin,Sin信號電平估計(jì)器54接收Sin 38。信號電平估計(jì)器隨后被用于控制近端信號檢測(NESD)閾值選擇器58和近端信號檢測器60。背景處理器56監(jiān)視自適應(yīng)濾波器28的處理狀態(tài),并控制NESD閾值選擇器58和近端信號檢測器60。注意通常每個(gè)信號電平估計(jì)器可對要測量的信號應(yīng)用一個(gè)低通濾波器,可在功率或者幅度方面執(zhí)行估計(jì)。另外,下面的圖3和10-13的說明假定以8 kHz的速率對信號采樣(如上所述,8kHz是常規(guī)語音應(yīng)用的常見速率)。
Sin信號電平估計(jì)器54的一個(gè)實(shí)施例利用下面的等式,獲得Sin的功率(PSin)等式1PSin(n)=[(N-1)PSin(n-1)+(Sin(n))2]/N在上面的等式中,Sin(n)是在時(shí)間n,給回波消除器20的發(fā)送路徑輸入,PSin(n)是在時(shí)間n,估計(jì)的發(fā)送路徑輸入信號功率,N是平滑因子,在一個(gè)實(shí)施例中,N被假定為32。在備選實(shí)施例中,可使用一系列的N值。通常,N應(yīng)被選擇為足夠大,以致關(guān)于Sin的功率估計(jì)不會對Sin的快速變化過于敏感。另一方面,N不應(yīng)被選擇為過大,以致Sin的功率估計(jì)足夠敏感,足以跟蹤語音信號電平的變化,并且功率估計(jì)的延遲最小。另一方面,可利用窗口尺寸為2*N-1樣本的移動平均方法,估計(jì)功率??勺C明該方法向按照等式1的功率估計(jì)器提供等同的帶寬。
近端信號電平估計(jì)器50接收誤差信號46,并獲得時(shí)間n時(shí)的近端信號功率。不過如上所述,不存在對回波消除器20的近端信號(Sgen)的直接訪問。即,Sin是Sgen和來自Rin 44的反射回波的混合物。于是,近端信號電平估計(jì)器50的一個(gè)實(shí)施例使用Sin 39(它是濾波后的Sin 38,假定在圖2中的DC陷波濾波器45和加法器34之間存在一個(gè)濾波器)和回波估計(jì)信號48之間的差值。于是,誤差信號46被提供給近端信號電平估計(jì)器50。誤差信號46是回波消除器20可用的Sgen的最接近估計(jì)值,但是該估計(jì)的精度是自適應(yīng)濾波器28的收斂狀態(tài)的函數(shù)。理想地,當(dāng)自適應(yīng)濾波器完全會聚時(shí),回波的估計(jì)值(回波估計(jì)信號48)是準(zhǔn)確的。實(shí)際上,如上所述,回波估計(jì)信號48通常不等于來自Rin 44的反射回波,于是,誤差信號46并不僅僅是Sgen,而是Sgen+殘留回波。當(dāng)自適應(yīng)處理在某一時(shí)間窗口內(nèi)繼續(xù)時(shí),殘留回波引入的誤差被最小化。于是,近端信號電平估計(jì)器50的一個(gè)實(shí)施例使用下述等式等式2Perror(n)=[(N-1)Perror(n-1)+(誤差信號46)2]/N在上面的等式中,誤差信號46是加法器34的輸出端的,Sin 39和回波估計(jì)信號48之間的差值,Perror(n)是時(shí)間n的估計(jì)近端信號功率,N是估計(jì)器的平滑因子(本實(shí)施例中為32)。
遠(yuǎn)端信號電平估計(jì)器52的一個(gè)實(shí)施例獲得Rin的短期功率,并用其計(jì)算覆蓋回波路徑的范圍的Rin的一些過去的短期功率估計(jì)值的Rin平均功率。例如,一個(gè)實(shí)施例利用下面的等式確定Rin的短期功率等式3PRin(kN)=1NΣi=0N-1(Rin(kN-i))2,k=1,2...]]>在上面的等式中,Rin(kN-i)是在時(shí)間kN-i,給回波消除器20的接收路徑輸入,PRin(kN)是在時(shí)間kN的估計(jì)遠(yuǎn)端信號功率(注意每N個(gè)樣本,而不是每個(gè)樣本估計(jì)PRin(kN),以減少計(jì)算成本)。N是窗口尺寸(本實(shí)施例中為32)。于是,等式4每N個(gè)樣本計(jì)算當(dāng)前窗口(大小為N)內(nèi)的Rin的功率,k記錄窗口。即,第一個(gè)窗口(k=1)可由樣本1-32定義,下一窗口(k=2)可由樣本33-64定義等。隨后可利用下述等式獲得遠(yuǎn)端信號的平均功率等式4AVGPRin(kN)=1MΣi=oM-1PRin((k-i)N),k=1,2,...]]>在上面的等式中,PRin((k-i)N)是在時(shí)間(k-i)N,遠(yuǎn)端信號功率估計(jì)值的過去M個(gè)瞬象,這里i=M-1,M-2,…,0。AVG PRin(kN)是在時(shí)間kN,遠(yuǎn)端信號電平估計(jì)值的平均值,M是用于平均的窗口尺寸,這里對于用于覆蓋高達(dá)64毫秒的回波路徑延遲的回波消除器來說,M=16(即M*N=16*32=512個(gè)樣本)。例如,如果當(dāng)前窗口是第16個(gè)窗口(即,k=16),那么AVG PRin(kN)采取關(guān)于前16個(gè)(即M個(gè))窗口計(jì)算的PRin(kN)的平均值,即PRin(16*N),PRin(15*N),…,PRin(2*N),PRin(N)的平均值。如果不存在足夠的在先數(shù)據(jù)(即,已處理不到M個(gè)窗口),那么只有那些存在的值可被用于確定平均值,0可被用于還沒有計(jì)算的值。例如,對于第3個(gè)窗口(即,k=3),只存在兩個(gè)在先PRin(kN),于是,AVG PRin(kN)應(yīng)是3個(gè)值的平均值,而不是M個(gè)值的平均值。另外注意每N個(gè)樣本計(jì)算AVG PRin(kN),如參考圖10中所示,并且在計(jì)算AVG PRin(kN)之后,遞增k的值,以指示開始N個(gè)樣本的下一窗口。
在備選實(shí)施例中,遠(yuǎn)端信號估計(jì)器52能夠利用上面的等式1或2估計(jì)Rin的平均功率,N=256。如同等式4一樣,也應(yīng)每32個(gè)樣本執(zhí)行AVGPRin(kN)的測量。另外注意可利用幅度而不是功率執(zhí)行所有上面的電平估計(jì)。另外注意上面的等式1和2以標(biāo)稱速率處理數(shù)據(jù),而等式3和4對連續(xù)的大小為N的窗口執(zhí)行子速率計(jì)算(從而每N個(gè)樣本執(zhí)行一次計(jì)算)。備選實(shí)施例可按照任意方式構(gòu)成上述等式,并不局限于上面給出的那些等式。
近端信號(Sgen),遠(yuǎn)端信號(Rin)和發(fā)送路徑輸入信號(Sin)的電平估計(jì)被用于近端談話者信號檢測的控制。于是,圖10表示了圖9的確定近端信號檢測閾值(NESD-Threshold)的方框206和208的一個(gè)實(shí)施例。每N個(gè)樣本重新評估一次該閾值,這里在本實(shí)施例中,N是32。在方框250中,確定Rin的短期功率PRin(例如參見上面的等式3),這里當(dāng)前時(shí)間n對應(yīng)于正被分析的當(dāng)前樣本。在方框252中,樣本計(jì)數(shù)器被遞增,從而提供新的n值。于是在每次通過圖9的流程200中(從而在每次通過方框206和208中),樣本計(jì)數(shù)器被遞增。
流程進(jìn)入判定菱形框254,確定樣本計(jì)數(shù)器是否已達(dá)到窗口尺寸N。如果否,那么流程進(jìn)入方框270(注意NESD-Threshold不被更新)。在方框270中,計(jì)算Sin的功率(PSin)(例如參見上面的等式1)。如果樣本計(jì)數(shù)器已達(dá)到N,那么流程進(jìn)入方框256,計(jì)數(shù)器被重置,以致每N個(gè)樣本才采用方框256-268的路徑(在一個(gè)實(shí)施例中,在N為32的情況下,每32個(gè)樣本重置計(jì)數(shù)器)。在樣本計(jì)數(shù)器被重置(在一個(gè)實(shí)施例中,重置為0)之后,流程進(jìn)入方框258,計(jì)算Rin的平均功率AVG PRin(例如參見上面的等式4)。之后,流程進(jìn)入判定菱形框260,確定BACKUP_STATE是否為0或1(注意將參考圖13更詳細(xì)地說明BACKUP_STATE)。如果是,那么流程進(jìn)入方框262,使用K1調(diào)整NESD_Threshold,如下面的等式5中所示等式5NESD_Threshold=K1*AVG PRin但是,如果BACKUP_STATE不為0或1,那么流程進(jìn)入方框264,使用K2調(diào)整NESD_Threshold,如下面的等式6中所示等式6NESD_Threshold=K2*AVG PRin于是,每N個(gè)樣本重新評估一次NESD_Threshold,并且根據(jù)自適應(yīng)濾波器的狀態(tài)(即BACKUP_STATE,對應(yīng)于將參考圖13進(jìn)一步說明的狀態(tài)機(jī)),NESD_Threshold可被確定為K1*AVG PRin或K2*AVGPRin。K1和K2是NESD_Threshold縮放因子。在自適應(yīng)濾波器28的自適應(yīng)過程的初始階段中(即,當(dāng)BACKUP_STATE為0或1時(shí)),NESD_Threshold可以相當(dāng)大,向自適應(yīng)濾波器28提供更多的適應(yīng)機(jī)會。另一方面,當(dāng)自適應(yīng)濾波器28通過初始自適應(yīng)階段時(shí)(即,當(dāng)BACKUP_STATE為3或4時(shí)),NESD_Threshold可被減小,以防止自適應(yīng)處理發(fā)散。在一個(gè)實(shí)施例中,K1被設(shè)置成在1-2的范圍內(nèi)的值,而K2被設(shè)置成在0.25-1的范圍內(nèi)的值。例如,在一個(gè)實(shí)施例中,K1為1,K2為0.5,取決于混合電路情況。此外,在自適應(yīng)處理中,K1和K2的這些值可被靜態(tài)或者動態(tài)地設(shè)置??梢允褂迷谏厦娼o出的范圍之外的備選值,除了使用具有4種狀態(tài)(例如BACKUP_STATE 0-3)的狀態(tài)機(jī)之外,可以使用其它方法來確定何時(shí)自適應(yīng)過程仍然處于其初始階段。
在方框262或264中調(diào)整NESD_Threshold之后,流程進(jìn)入判定菱形框266,確定NESD_Threshold是否小于A。如果否,那么流程進(jìn)入方框270,計(jì)算PSin。如果是,那么在方框268中NESD_Threshold被設(shè)置成A。即,在AVG PSin太小的情況下,NESD_Threshold局限于A的最小水平(在一個(gè)實(shí)施例中,A可能對應(yīng)于在-40~-45dBm0范圍中的一個(gè)值)。流程隨后進(jìn)入方框270。
在完成圖10的流程之后,如果需要,那么執(zhí)行自適應(yīng)濾波器28的監(jiān)視和控制(參見圖9的方框210)(注意下面將參考圖20-34更詳細(xì)地說明方框209、210和211)。之后,自適應(yīng)濾波器在方框212產(chǎn)生回波估計(jì)信號48,流程進(jìn)入?yún)⒖紙D11更詳細(xì)說明的方框214和216。即,圖11的流程圖解說明圖9的方框214和216的一部分,詳細(xì)說明了近端談話者信號檢測(即Sgen的檢測)的控制。
在方框276中,估計(jì)誤差信號46的功率(Perror)(參見上面的等式2)。流程隨后進(jìn)入判定菱形框278,確定Perror和PSin中的較小者是否大于NESD_Threshold(即,是否MIN(Perror,PSin)>NESD_Threshold)。如果是,那么流程進(jìn)入判定菱形框280,確定NESD_Hangover計(jì)時(shí)器是否已遞減計(jì)數(shù)到0。如果是,那么檢測到近端信號。即,只有當(dāng)MIN(Perror,PSin)>NESD_Threshold,并且在過去的某一時(shí)間窗口內(nèi)(對應(yīng)于NESD_Hangover計(jì)時(shí)器)沒有檢測到近端信號時(shí),才檢測到近端信號。如果在判定菱形框278,MIN(Perror,PSin)不大于NESD_Threshold,那么流程進(jìn)入方框290,NESD_Hangover計(jì)時(shí)器的值被遞減,直到它達(dá)到0為止,從而引入由NESD_Hangover時(shí)間確定的暫停。如果在判定菱形框280,NESD_Hangover計(jì)時(shí)器不是0,那么在方框286中,NESD_Hangover計(jì)時(shí)器被設(shè)置成預(yù)定值。
如果檢測到近端信號(Sgen),那么流程從判定菱形框執(zhí)行到判定菱形框282,確定濾波器系數(shù)是否已被更新。如果是,那么假定由于近端信號的存在,該系數(shù)很可能被破壞。即,由于用于系數(shù)更新的信號不再是純殘留回波,而是殘留回波和Sgen的混合物,因此系數(shù)不再代表估計(jì)的回波。這種情況下,流程進(jìn)入方框284,濾波器系數(shù)被恢復(fù)或者由一組證明“良好”的濾波器系統(tǒng)替換。備份和恢復(fù)濾波器系數(shù)的方法將在下面參考圖12和13說明。流程隨后進(jìn)入方框288,更新BACKUP_STATE。如果在判定菱形框282,濾波器系數(shù)還未被更新,那么不認(rèn)為系數(shù)被破壞,因?yàn)闆]有利用殘留回波和Sgen的混合物適應(yīng)它們。這種情況下,流程進(jìn)入方框286,將NESD_Hangover計(jì)時(shí)器設(shè)置成預(yù)定值。
選擇用于NESD_Hangover計(jì)時(shí)器的NESD_Hangover時(shí)間的持續(xù)時(shí)間,以確保在開始濾波器系數(shù)適應(yīng)之前,不再存在Sgen,以及避免任意不必要的濾波器系數(shù)適應(yīng)和恢復(fù)。例如,在一個(gè)實(shí)施例中,NESD_Hangover時(shí)間為160個(gè)樣本,或者20毫秒。于是,NESD_Hangover時(shí)間的持續(xù)時(shí)間防止近端信號檢測器26過于敏感,從而使近端談話者信號的檢測和不存在近端談話者信號的檢測之間的轉(zhuǎn)換降至最少。但是,如果NESD_Hangover時(shí)間被設(shè)置得過長,那么近端信號檢測器26可能不夠敏感,當(dāng)需要時(shí),不能準(zhǔn)確地檢測近端談話者信號。
于是,在Sgen和Rin的信號電平(即功率)的不同組合下,采取關(guān)于濾波器系數(shù)(即自適應(yīng)濾波器28的系數(shù))的不同動作。例如,可利用下面的表格總結(jié)這些操作

表1由于Sin是Sgen和回波或Rin的混合物,因此上面列舉的幾個(gè)組合不是在正常操作模式下的有效組合(意味著連接未斷開,或者沒有額外的信號被注入電路中)。這些無效組合是項(xiàng)目3(由于當(dāng)Sgen和Rin較低時(shí),Sin不能高),項(xiàng)目5和6(由于當(dāng)Sgen高時(shí),Sin不能低)。三組操作被用于剩余的5種組合。首先,系數(shù)適應(yīng)過程的條件是當(dāng)Rin較高,而Sgen較低(在單一遠(yuǎn)端談話期間,不管SiN是高還是低,即項(xiàng)目和4)。在這些條件下,誤差(誤差信號46)主要?dú)w因于殘留回波(因此Sgen較低),Sgen對適應(yīng)的影響極小。其次,停止濾波器系數(shù)適應(yīng)過程,并恢復(fù)先前確定的“良好”的濾波器系數(shù)的條件是當(dāng)Sgen較高時(shí)(在近端談話期間,不管是單方談話還是雙方談話,即項(xiàng)目7和8)。第三,當(dāng)近端和遠(yuǎn)端談話者無聲時(shí),不需要更新(項(xiàng)目1)。
上面說明的檢測Sgen的方法允許當(dāng)回波返回?fù)p耗接近或小于6dB時(shí),消除回波的能力。于是,在接近或小于6dB時(shí)(例如在上面的表1的項(xiàng)目4中),上面的方法使用Sgen(如上所述,它可被確定為誤差信號46,假定殘留誤差較小或可忽略)和Sin中的最小者,這導(dǎo)致在這些條件下不存在虛假檢測,不同于會受到在這些較低電平(接近或小于6dB)下的回波返回?fù)p耗的變化嚴(yán)重影響,于是當(dāng)實(shí)際并不存在Sgen時(shí),會錯(cuò)誤地檢測到Sgen的存在的在先解決方案。此外,當(dāng)回波返回?fù)p耗達(dá)到0dB(無混合電路衰減)時(shí),上面的方法使適應(yīng)過程能夠繼續(xù)執(zhí)行,允許消除回波,不同于適應(yīng)過程被停止在諸如6dB電平的在先解決方案。
另外,即使當(dāng)與Rin相比,Sgen的電平相當(dāng)?shù)?對應(yīng)于上面的項(xiàng)目8)時(shí),上面參考圖10和11說明的方法也能夠快速檢測Sgen。例如,現(xiàn)有的解決方案將雙方談話檢測閾值設(shè)置成大于或等于Rin能量的Sin能量(即,對應(yīng)于混合電路引入的6dB損耗)。如果混合電路衰減為10dB,那么檢測閾值方面的4dB的差異足夠大,足以允許顯著數(shù)量的Sgen存在,而不會被檢測成雙方談話。于是,這些現(xiàn)有解決方案不能始終檢測近端談話信號,或者過遲地檢測到它們。上面描述的方法將與Rin相比,Sgen(如上所述,它可被估計(jì)為誤差信號46,假定殘留誤差較小或可忽略)和Sin中的最小者用于近端信號檢測,檢測閾值(NESD_Threshold)設(shè)置與回波返回?fù)p耗無關(guān),導(dǎo)致和現(xiàn)有的可用解決方案相比,更快更可靠的近端信號檢測。
此外,上面參考圖10和11說明的方法允許區(qū)分雙方談話(上面的表1中的項(xiàng)目8)和具有一定噪聲的近端背景的單方遠(yuǎn)端談話(上面表1中的項(xiàng)目4)的能力。當(dāng)近端背景噪聲電平相當(dāng)高時(shí),現(xiàn)有的解決方案將這種情形檢測成雙方談話情形,停止適應(yīng)過程。由于背景噪聲可能持續(xù)較長的時(shí)間,甚至持續(xù)整個(gè)電話呼叫過程,自適應(yīng)濾波器可能永遠(yuǎn)不發(fā)生變化實(shí)現(xiàn)會聚。于是,上面描述的將與Rin相對,Sgen和Sin中的最小值用于近端信號檢測允許將檢測閾值(NESD_Threshold)設(shè)置成即使當(dāng)背景噪聲電平相當(dāng)高時(shí),自適應(yīng)過程仍將繼續(xù)(注意唯一的真正的雙方談話條件是當(dāng)Rin和Sgen信號電平都高時(shí)。但是,當(dāng)檢測到近端談話者信號時(shí),這里描述的適應(yīng)過程應(yīng)被停止,并恢復(fù)濾波器系數(shù),而不管是在單方近端談話期間,還是在雙方談話期間)。
圖12圖解說明圖9的確定是否要執(zhí)行背景處理,如果是,那么備份濾波器系數(shù)的判定菱形框224和方框226的一部分。圖12的流程主要涉及(自適應(yīng)濾波器28的)濾波器系數(shù)備份策略。備份策略的一個(gè)實(shí)施例確保良好的濾波器系數(shù)被定期備份,以使備份的次數(shù)降至最小,并使備份的頻率降至最小。圖12開始于方框291,遞增背景1計(jì)數(shù)器。流程進(jìn)入判定菱形框293,確定背景1計(jì)數(shù)器是否達(dá)到預(yù)定計(jì)數(shù)器值J。如果否,那么流程進(jìn)入點(diǎn)H(在圖9中的方框228之后)。如果是,那么流程進(jìn)入方框298,背景1計(jì)數(shù)器被重置(為0),隨后進(jìn)入判定菱形框295,確定自適應(yīng)濾波器28的濾波器系數(shù)是否已被更新。如果否,那么流程進(jìn)入點(diǎn)H。如果是,那么流程進(jìn)入方框292,遞增背景2計(jì)數(shù)器。
流程隨后進(jìn)入判定菱形框294,確定背景2計(jì)數(shù)器是否達(dá)到預(yù)定計(jì)數(shù)器值L。如果否,那么流程進(jìn)入點(diǎn)H。如果是,那么流程進(jìn)入方框296,執(zhí)行背景處理。即,在本實(shí)施例中,最多每J*L個(gè)樣本執(zhí)行背景處理,并且這些值,J和L,可被設(shè)置成有助于確定背景處理的頻率的任意值。例如,在一個(gè)實(shí)施例中,J為160個(gè)樣本,L為10,最多每J*L,或者說1600個(gè)樣本執(zhí)行背景處理。即在J個(gè)樣本之后,如果自適應(yīng)濾波器28的濾波器系數(shù)還未被更新,那么流程進(jìn)入點(diǎn)H,背景2計(jì)數(shù)器不被遞增。于是,只有當(dāng)在當(dāng)前窗口的J個(gè)樣本內(nèi),系數(shù)已被更新時(shí),背景2計(jì)數(shù)器才被遞增并與L比較。在方框296中,背景2計(jì)數(shù)器被重置(本實(shí)施例中,被重置為0)。流程從方框296進(jìn)入判定菱形框300。
在判定菱形框300,確定當(dāng)前的BACKUP_STATE(將參考圖13更詳細(xì)地說明)是否為0或1。如果是,那么在方框304中遞增BACKUP_STATE,流程進(jìn)入方框308。如果BACKUP_STATE不為0或1,那么流程進(jìn)入判定菱形框302,確定BACKUP_STATE是否為2。如果否,那么流程進(jìn)入方框306(表示BACKUP_STATE為3),BACKUP_STATE被設(shè)置成2,流程進(jìn)入方框310。如果在判定菱形框BACKUP_STATE為2,那么流程進(jìn)入方框308,候選備份系數(shù)被復(fù)制到良好備份系數(shù)(注意下面將參考圖13說明候選備份系數(shù)和良好備份系數(shù))。流程隨后進(jìn)入方框310,當(dāng)前的濾波器系數(shù)被復(fù)制到候選備份系數(shù)。即,在方框308中,候選備份系數(shù)變成良好備份系數(shù),當(dāng)前濾波器系數(shù)變成候選備份系數(shù),當(dāng)前備份系數(shù),候選備份系數(shù)和良好備份系數(shù)都可被保存在回波消除器20中的一個(gè)存儲單元或者獨(dú)立的多個(gè)存儲單元中,或者保存在回波消除器20外的存儲單元中。之后,流程進(jìn)入圖9的方框228。
本發(fā)明的一個(gè)實(shí)施例使用標(biāo)記為候選備份系數(shù)和良好備份系數(shù)的兩個(gè)系數(shù)備份,并且具有4個(gè)不同的BACKUP_STATE(0-3)的組合。于是,圖13圖解說明了控制自適應(yīng)濾波器28的濾波器系數(shù)的備份和恢復(fù)過程的狀態(tài)機(jī)。
圖13的狀態(tài)機(jī)包括4種BACKUP_STATE 0-3。STATE 0指示既不存在候選備份系數(shù),又不存在良好備份系數(shù)。STATE 1表示存在候選備份系數(shù),但是不存在良好備份系數(shù)。STATE 2表示候選備份系數(shù)和良好備份系數(shù)都存在。STATE 3表示不存在候選備份系數(shù),但是存在良好備份系數(shù)。注意圖13的狀態(tài)機(jī)實(shí)現(xiàn)圖9的方框216和226的一部分。
在一個(gè)實(shí)施例中,當(dāng)重置或初始化時(shí),狀態(tài)機(jī)開始于STATE 0。如果在背景處理的最后L輸入項(xiàng)中沒有檢測到近端信號(Sgen),那么狀態(tài)機(jī)轉(zhuǎn)變成STATE 1。于是,濾波器系數(shù)的首次備份的最小時(shí)間窗口是J*L個(gè)樣本(這里在本實(shí)施例中,L是10,于是J*K是1600個(gè)樣本或者說200毫秒,假定采樣速率為8kHz)。對于該狀態(tài)轉(zhuǎn)變,未檢測到近端信號,通過將當(dāng)前的濾波器系數(shù)復(fù)制到候選備份系數(shù),實(shí)現(xiàn)首次備份。當(dāng)檢測到近端信號(Sgen)時(shí),狀態(tài)機(jī)轉(zhuǎn)變回STATE 0,因?yàn)橛捎诮诵盘朣gen的檢測方面的延遲,保存的候選備份系數(shù)可能被破壞。狀態(tài)機(jī)保持STATE 0,直到在背景處理的最后L輸入項(xiàng)中未檢測到近端信號為止,此時(shí),如上所述,狀態(tài)機(jī)再次轉(zhuǎn)變成STATE 1。
在STATE 1下,如果在背景處理的另外L個(gè)輸入項(xiàng)中沒有檢測到近端信號,那么狀態(tài)機(jī)轉(zhuǎn)變成STATE 2,通過將候選備份系數(shù)復(fù)制到良好備份系數(shù),并將當(dāng)前濾波器系數(shù)復(fù)制到候選備份系數(shù),執(zhí)行第二次備份。這種狀態(tài)下,候選和良好備份系數(shù)都存在,并且如果沒有檢測到近端信號,那么狀態(tài)機(jī)將保持這種狀態(tài)。注意在一個(gè)實(shí)施例中,即使?fàn)顟B(tài)未被改變,在第二次備份中,也按照順序備份,更新候選備份系數(shù)和良好備份系數(shù)。另外,在一個(gè)實(shí)施例中,通過首先將候選備份系數(shù)標(biāo)記成良好備份系數(shù)(例如通過使用指針),隨后將當(dāng)前濾波器系數(shù)復(fù)制到候選備份系數(shù)(它用于被標(biāo)記成良好備份系數(shù)),利用一次復(fù)制完成當(dāng)從STATE1轉(zhuǎn)變到STATE 2時(shí)執(zhí)行的兩次復(fù)制。
在STATE 2下,當(dāng)檢測到近端信號時(shí),狀態(tài)機(jī)轉(zhuǎn)變到STATE 3,候選備份系數(shù)再次被認(rèn)為受到破壞,但是良好備份系數(shù)仍被認(rèn)為是良好的,因?yàn)橹辽僭贘*L時(shí)間窗口之后,這些良好備份系數(shù)已被證明是良好的。只要近端信號持續(xù)存在,那么狀態(tài)機(jī)就保持在STATE 3,或者如果近端信號不再存在,狀態(tài)機(jī)將返回STATE 2。
注意在備選實(shí)施例中,可在每個(gè)樣本上,而不是每J個(gè)樣本出現(xiàn)背景處理的每個(gè)輸入項(xiàng)(L)。另外,圖13的狀態(tài)機(jī)可用各種不同的方式實(shí)現(xiàn),并且可包括和圖13中所示的狀態(tài)更多、更少或者不同的狀態(tài)。
圖6圖解說明圖2的監(jiān)視和控制單元30的一部分的一個(gè)實(shí)施例,它結(jié)合圖2的增益控制器33控制系統(tǒng)10和自適應(yīng)濾波器28的穩(wěn)定性。例如,如果由于明顯不同于混合電路16的脈沖響應(yīng)的(自適應(yīng)濾波器28的)一組濾波器系數(shù)的緣故,系統(tǒng)10產(chǎn)生持續(xù)不變的非自然信號,那么認(rèn)為系統(tǒng)10不穩(wěn)定。如前參考圖37所述,自適應(yīng)濾波器28的系數(shù)試圖“模仿”混合電路16的脈沖響應(yīng),并從輸出信號中扣除模仿的脈沖響應(yīng),以試圖消除反射回波。但是,如果自適應(yīng)濾波器28的系數(shù)與脈沖響應(yīng)差異太大,那么會出現(xiàn)非自然信號,例如話音或數(shù)據(jù)信號失真或者甚至系統(tǒng)嘯叫。在下述兩種情況下會出現(xiàn)系統(tǒng)10的不穩(wěn)定性(1)回波消除器20和22處于閉環(huán)系統(tǒng)中,并且由某一類型的信號激勵(lì),從而導(dǎo)致系統(tǒng)10的大于1的增益,和(2)回波消除器20處于開環(huán)系統(tǒng)中。
圖14圖解說明監(jiān)視回波消除器20的增益的動態(tài)增益控制方法的一個(gè)實(shí)施例,它可由與自適應(yīng)濾波器28和增益控制器33耦接的增益監(jiān)視器100執(zhí)行。圖14的動態(tài)增益控制方法確保閉環(huán)系統(tǒng)中的回波消除器20和22的穩(wěn)定性。例如,如果誤差信號46大于Sin 38(理論上這不應(yīng)發(fā)生,但是實(shí)際上會發(fā)生),那么回波消除器20的增益大于或等于1。如果在回波消除器22中發(fā)生相同的情況(導(dǎo)致回波消除器22的增益也大于或等于1),那么具有回波消除器20和22的閉環(huán)系統(tǒng)的整個(gè)環(huán)路增益可能大于1,能夠產(chǎn)生稱為嘯叫的非自然信號。于是,當(dāng)某一時(shí)間窗口內(nèi),誤差信號46的功率(Perror)與Sin38的功率(PSin)(參見上面的等式1和2)的比值大于自適應(yīng)閾值時(shí),圖14的方法衰減誤差信號46。另外,當(dāng)Perror比PSin大許多倍時(shí),圖14的方法重置自適應(yīng)濾波器28。于是,圖14的方法防止閉環(huán)系統(tǒng)的整個(gè)環(huán)路增益隨著時(shí)間的過去達(dá)到1以上,確保系統(tǒng)10的穩(wěn)定性。此外,當(dāng)混合電路特性突然變化時(shí),圖14的方法還加速自適應(yīng)濾波器28的重新收斂。
于是,圖14圖解說明圖9的方框218的一部分。即,在圖9的方框216中,檢測是否存在近端談話者信號之后,流程進(jìn)入方框218,監(jiān)視并選擇性地調(diào)整回波消除器20的增益。于是,流程開始于判定菱形框322,確定Perror與PSin的比值(Perror/PSin)是否大于重置閾值。如果是,那么流程進(jìn)入方框330,自適應(yīng)濾波器28的濾波器系數(shù)被重置(即,在一個(gè)實(shí)施例中,被設(shè)置成0)。另一方面,系數(shù)可被重置為任意值。于是,重置閾值可被用于確定Perror是否遠(yuǎn)遠(yuǎn)大于PSin,從而需要自適應(yīng)濾波器28的重置,以防止不穩(wěn)定性。于是,重置閾值可以是任意值,在一個(gè)實(shí)施例中,被設(shè)置成8。
如果Perror/PSin不大于重置閾值,那么流程進(jìn)入判定菱形框324,確定Perror/PSin是否大于增益閾值。增益閾值一般小于重置閾值,在一個(gè)實(shí)施例中,被設(shè)置成1。該增益閾值是開始增益衰減的激活的閾值。如果Perror/PSin大于增益閾值,那么流程進(jìn)入方框328,利用α調(diào)整增益,如下面的等式7中所示等式7增益=α*增益α通常小于1,以致誤差信號46被衰減。于是,在一個(gè)實(shí)施例中,α為0.9996。流程進(jìn)入判定菱形框328,確定增益是否小于增益限度。如果是,那么流程進(jìn)入方框334,增益被設(shè)置成增益限度。這確保增益不會低于預(yù)定的水平,在一個(gè)實(shí)施例中,所述預(yù)定水平是0.5。例如,即使在一些異常情形下,例如混合電路在開環(huán)電路中,通常也不希望完全切斷發(fā)送路徑傳輸路徑(即增益=0)。流程隨后進(jìn)入方框326。如果在判定菱形框332,確定增益不小于增益限度,那么流程進(jìn)入方框326,計(jì)算誤差信號47,如下面的等式8中所示等式8誤差信號47=增益*誤差信號46如果在判定菱定框324,確定Perror/PSin不大于增益閾值,那么流程進(jìn)入判定菱形框336,確定增益是否小于1。如果否,那么流程進(jìn)入方框326,衰減誤差信號46;但是,如果增益小于1,那么流程進(jìn)入方框338,調(diào)整增益,如下面的等式9中所示等式9增益=β*增益β通常大于1,因?yàn)橛捎谠鲆嫦惹耙驯凰p,因此它需要被恢復(fù)。于是,在一個(gè)實(shí)施例中,β為1.0004。流程隨后進(jìn)入判定菱形框340,確定增益是否大于1。如果是,那么流程進(jìn)入方框326,衰減誤差信號46,如果否,那么流程進(jìn)入方框342,增益被設(shè)置成1。在方框342之后,流程進(jìn)入方框326,誤差信號46不被衰減,因?yàn)檎`差信號47僅僅等于誤差信號46*1(因?yàn)樵诜娇?42中,增益被設(shè)置成1)。于是總之,如果Perror/PSin大于或等于重置閾值,那么自適應(yīng)濾波器28的濾波器系數(shù)被重置。如果Perror/PSin小于重置閾值,但是大于或等于增益閾值,那么誤差被減少增益值(例如在方框326中)。但是,如果Perror/PSin也小于增益閾值,那么誤差被保持,不被減少(即,誤差信號47=誤差信號46)。于是,能夠理解圖14的流程如何幫助保持系統(tǒng)10的穩(wěn)定性。
圖15圖解說明監(jiān)視自適應(yīng)濾波器28的濾波器系數(shù)的分布的濾波器系數(shù)監(jiān)視方法的一個(gè)實(shí)施例,它可由在監(jiān)視和控制單元30內(nèi),并與自適應(yīng)濾波器28耦接的濾波器系數(shù)監(jiān)視器102執(zhí)行。圖15的方法確保開環(huán)系統(tǒng)中回波消除器20的穩(wěn)定性。監(jiān)視方法檢測具有相當(dāng)均勻分布的自適應(yīng)濾波器28的一組濾波器系數(shù)的形成。由于混合電路16的脈沖響應(yīng)是預(yù)期的,因此自適應(yīng)濾波器28的系數(shù)的均勻分布指示不存在任何混合電路,從而指示開環(huán)狀態(tài)的可能性。于是,當(dāng)檢測到自適應(yīng)濾波器28的系數(shù)的均勻分布時(shí),濾波器系數(shù)被重置,使回波消除器20處理報(bào)警狀態(tài),以便進(jìn)一步監(jiān)視。當(dāng)在某一時(shí)間窗口內(nèi),濾波器系數(shù)被反復(fù)重置時(shí),認(rèn)為回波消除器20處于開環(huán)狀態(tài),回波消除器20被繞過。即,只有當(dāng)存在真實(shí)的混合電路時(shí),自適應(yīng)濾波器28才應(yīng)修改。此外,具有通過Rin和作為Sin的非零信號的連續(xù)正弦波輸入(例如正弦波音調(diào))的開環(huán)系統(tǒng)中的自適應(yīng)濾波器28可能很快發(fā)散,從而增大對開環(huán)系統(tǒng)的檢測的需要。
于是,圖15圖解說明圖9的方框228的一部分。即,在上面說明的圖9的方框226中備份濾波器系數(shù)之后,流程進(jìn)入方框228,監(jiān)視自適應(yīng)濾波器28的系數(shù)。于是,流程開始于方框344,在方框344,自適應(yīng)濾波器28的濾波器系數(shù)被分成B個(gè)bin(B被選擇為濾波器系/16的數(shù)字)。流程執(zhí)行方框346,確定B個(gè)bin的最大和最小系數(shù)功率。即,如果濾波器系數(shù)被分成B個(gè)bin,每個(gè)bin將使該bin內(nèi)的系數(shù)的功率值(例如該bin內(nèi)系數(shù)的平均功率)與之相關(guān),在方框346中,選擇B個(gè)bin的最大功率值和B個(gè)bin的最小功率值。流程進(jìn)入判定菱形框328,確定最大功率值和最小功率值的比值(即最大功率/最小功率)是否小于報(bào)警閾值。如果使濾波器適應(yīng)真實(shí)混合電路,那么最大功率與最小功率的比值應(yīng)遠(yuǎn)大于1。另一方面,如果最大功率與最小功率的比值接近于1,那么顯然濾波器并不適應(yīng)于真實(shí)混合電路。選擇某一比值作為用信號通知不存在混合電路的可能性的報(bào)警閾值。根據(jù)在各種混合電路下,自適應(yīng)濾波器行為的統(tǒng)計(jì)分析,選擇報(bào)警閾值。在一個(gè)實(shí)施例中,報(bào)警閾值被選擇成8。
在比較之后,流程進(jìn)入方框350,自適應(yīng)濾波器28的濾波器系數(shù)被重置為0(或者設(shè)置成任意其它預(yù)定的重置值)。流程進(jìn)入方框352,報(bào)警狀態(tài)被遞增(報(bào)警狀態(tài)指示在最大功率與最小功率的比值小于報(bào)警閾值的當(dāng)前一段時(shí)間內(nèi),濾波器系數(shù)已被重置多少次。注意當(dāng)前的一段時(shí)間是如上參考圖12所述的相同J*L,因?yàn)楫?dāng)退出圖12的方框310時(shí),流程繼續(xù)執(zhí)行圖15中描述的圖9的方框228,方框228開始于圖15的方框344。即,圖15被看作如圖9和12中所示的,最多每J*L個(gè)樣本進(jìn)入的背景處理的一部分)。在方框352之后,流程進(jìn)入判定菱形框354,確定報(bào)警狀態(tài)是否等于旁路閾值。如果否,那么不使回波消除器20處于旁路模式,于是,自適應(yīng)濾波器28繼續(xù)適應(yīng)。但是,如果在判定菱形框354中,報(bào)警狀態(tài)已達(dá)到旁路閾值,那么流程進(jìn)入方框356,旁路模式被設(shè)置成1,指示檢測到開環(huán)狀態(tài)(即不存在任何混合電路),于是,回波消除器20將被繞過,以致不適應(yīng)于不存在的混合電路。
在判定菱形框348,如果確定最大功率與最小功率的比值不小于報(bào)警閾值,那么流程進(jìn)入方框358,報(bào)警狀態(tài)被重置為0。流程進(jìn)入判定菱形框360,確定旁路模式是否為1,如果是,那么在方框362,旁路模式被重置為0。于是,到方框358的分支允許混合電路16的重新連接,這種情況下,自適應(yīng)濾波器28再次開始適應(yīng)。
圖5圖解說明圖2的非線性處理器32的一部分。如上所述,除了減少或消除殘留回波之外,非線性處理器32還試圖保持或匹配近端談話者信號的背景噪聲,以便改進(jìn)通信質(zhì)量。通常,非線性處理器32檢測殘留回波是否小于某一閾值,并用舒適噪聲,而不是無聲來替換殘留回波,以避免電話線背景噪聲的突然消失。背景噪聲的這種突然消失會導(dǎo)致電話連接已被中斷的印象。
目前使用的一種現(xiàn)有方法使用合成的背景噪聲;但是,這會導(dǎo)致真實(shí)背景噪聲和合成背景噪聲之間的破壞性轉(zhuǎn)換。例如,目前使用的一種現(xiàn)有方法使用白噪聲作為舒適噪聲。但是,白噪聲遠(yuǎn)遠(yuǎn)不同于自然背景噪聲,于是聽起來是破壞性的。目前可用的一種備選解決方案反復(fù)輸出預(yù)存背景噪聲信號來匹配背景噪聲。但是,這種方法需要額外的存儲空間,并且導(dǎo)致顯著的背景噪聲的重復(fù),對于通信來說,這也是破壞性的。
于是,圖5和圖16-19提供非線性處理器32的一個(gè)實(shí)施例,所述非線性處理器32保持或匹配回波消除器20中的自然背景噪聲,以便減少由回波消除的非線性處理導(dǎo)致的非自然信號,例如在前一段中討論的破壞性非自然信號。非線性處理器32利用短期電平估計(jì)器88和長期信號電平估計(jì)器92找出直接背景噪聲信號的電平的可靠估計(jì),并調(diào)整其閾值(NLP_ON和NLP_OFF閾值,后面說明)。呼叫開始時(shí),短期估計(jì)器產(chǎn)生背景噪聲信號的快速電平估計(jì)。另一方面,長期估計(jì)器本質(zhì)上是自適應(yīng)的,目的在于隨著時(shí)間的過去,可靠地跟蹤背景噪聲信號電平。根據(jù)遠(yuǎn)端信號,近端信號和背景噪聲信號的相對電平,作出激活非線性處理器32的判定。當(dāng)背景噪聲信號變得顯著時(shí),非線性處理器32通過使初始的背景噪聲信號通過回波消除器20,保持初始的背景噪聲信號。當(dāng)背景噪聲信號較低,殘留回波變得聽得見時(shí),非線性處理器32用信號電平比估計(jì)的背景噪聲信號電平低兩三個(gè)dB的舒適噪聲信號代替殘留回波。產(chǎn)生的舒適噪聲信號也逐漸被混合到初始的背景噪聲信號中,以使轉(zhuǎn)變可聽性降至最小。
按照四個(gè)基本步驟執(zhí)行回波消除器20中自然背景噪聲的保持或匹配(1)估計(jì)背景噪聲信號,遠(yuǎn)端談話者信號和近端談話者信號的電平;(2)確定非線性處理器32的閾值;(3)如果需要非線性處理器32,那么產(chǎn)生舒適噪聲;和(4)如果需要非線性處理器32,那么將舒適噪聲混合到背景噪聲中。
圖5的非線性處理器32包括自適應(yīng)背景電平估計(jì)器96,它包括短期背景電平估計(jì)器88,背景電平估計(jì)器控制器90,長期背景電平估計(jì)器92和背景電平適配器94。背景噪聲電平的估計(jì)由短期背景電平估計(jì)器88和長期背景電平估計(jì)器92完成。當(dāng)開始呼叫時(shí),短期背景電平估計(jì)器88提供初始的快速估計(jì),長期背景電平估計(jì)器92隨著時(shí)間的過去,逐漸適應(yīng)背景噪聲信號的電平。注意當(dāng)背景噪聲電平變化時(shí),長期背景電平估計(jì)器92對較高噪聲電平的適應(yīng)速率慢于對較低噪聲電平的適應(yīng)速率。于是,當(dāng)近端和遠(yuǎn)端談話者信號的電平都低于預(yù)定閾值時(shí),估計(jì)器88和92是活動的。即,如果數(shù)值適用于長期背景電平估計(jì)時(shí),只使用估計(jì)器92。于是,當(dāng)長期背景電平估計(jì)器92還不可用時(shí),通常只在開始時(shí)(即,只在呼叫開始時(shí))才使用短期背景電平估計(jì)器88(近端和遠(yuǎn)端談話者信號的電平分別由近端信號電平估計(jì)器70和遠(yuǎn)端信號電平估計(jì)器72確定)。
打開非線性處理器32(由非線性處理器ON控制器76執(zhí)行)的閾值不同于關(guān)閉非線性處理器32(由非線性處理器OFF控制器78執(zhí)行)的閾值。當(dāng)近端談話者信號無關(guān)緊要,并且遠(yuǎn)端談話者信號有效時(shí),非線性重點(diǎn)ON控制器76啟用(或打開)非線性處理器32。當(dāng)近端談話者信號相當(dāng)高,或者背景噪聲信號非常顯著時(shí),非線性處理器OFF控制器78禁用(或關(guān)閉)非線性處理器32。如下執(zhí)行消除殘留回波和保持實(shí)際的背景噪聲之間的折衷。當(dāng)背景噪聲信號相當(dāng)高,非線性處理器32被禁用,以允許背景噪聲通過回波消除器20。這種情況下,由于掩蔽效應(yīng)的緣故,可忽略的殘留回波被顯著得多的背景噪聲信號掩埋。當(dāng)背景噪聲信號相當(dāng)?shù)蜁r(shí),非線性處理器32被啟用,因?yàn)楫?dāng)殘留回波與相當(dāng)安靜的背景噪聲信號一起存在時(shí),殘留回波更可聽。在這兩種情況下,由于自適應(yīng)濾波器28實(shí)現(xiàn)的良好的收斂深度的緣故,殘留回波都較小。
當(dāng)非線性處理器32被啟用時(shí),(舒適噪聲發(fā)生器86)產(chǎn)生舒適噪聲,(噪聲電平匹配器82)匹配噪聲電平,以使感知的語音的可聽“噪聲選通”(即,從一種背景到另一種背景,或者從一種背景到無聲的噪聲轉(zhuǎn)換)降至最少??蛇x擇數(shù)種舒適噪聲信號以接近自然的背景噪聲信號。另外,舒適噪聲逐漸代替實(shí)際的背景噪聲(最好由輸出信號混頻器84執(zhí)行),以便實(shí)現(xiàn)平滑轉(zhuǎn)變,舒適噪聲的電平被設(shè)置成比估計(jì)的背景噪聲電平低兩三個(gè)dB。
圖16圖解說明根據(jù)本發(fā)明的一個(gè)實(shí)施例,執(zhí)行自適應(yīng)背景電平估計(jì)的方法。通常,只有當(dāng)下述三個(gè)條件被滿足(對應(yīng)于圖16的判定菱形框400、402和404)時(shí),才能夠估計(jì)背景噪聲信號的電平(1)沒有近端談話者信號,(2)沒有遠(yuǎn)端談話者信號(即無殘留回波),和(3)上述兩個(gè)條件持續(xù)一段時(shí)間被滿足。首先,在判定菱形框400中,確定近端談話者信號的水平(Perror)是否小于誤差功率閾值。誤差功率閾值被定義為確定誤差信號是被看作背景噪聲信號還是近端談話者信號的閾值。在一個(gè)實(shí)施例中,誤差閾值為-39dBm0。該檢查降低混淆近端談話者信號和背景噪聲信號的可能性,因?yàn)橄旅鎸⒄f明的背景能量估計(jì)不能包括近端談話者信號。如果Perror小于誤差閾值,那么流程進(jìn)入判定菱形框402,檢查第二條件。在判定菱形框402中,確定遠(yuǎn)端談話者信號的水平(PRin)是否小于Rin閾值,以便排除背景電平估計(jì)中的殘留回波。Rin閾值被定義成足夠顯著,足以在非線性處理器之前產(chǎn)生明顯的殘留回波的Rin信號電平。在一個(gè)實(shí)施例中,Rin閾值為-27 dBm0。如果PRin小于Rin閾值,那么流程進(jìn)入判定菱形框404,確定前兩個(gè)條件是否持續(xù)某一時(shí)間窗口(即,背景拖尾時(shí)間)被滿足。即,如果背景拖尾時(shí)間=0,那么前兩個(gè)條件持續(xù)背景拖尾時(shí)間定義的時(shí)間窗口被滿足,流程進(jìn)入方框408。背景拖尾時(shí)間被用于確保持續(xù)某一時(shí)間窗口,不存在遠(yuǎn)端和近端談話者信號。在一個(gè)實(shí)施例中,背景拖尾時(shí)間為160個(gè)樣本,或者說20毫秒,假定采樣速率為8kHz。
如果在判定菱形框400,Perror不小于誤差閾值,或者如果在判定菱形框402,PRin不小于Rin閾值,那么流程進(jìn)入方框406,將背景拖尾計(jì)時(shí)器設(shè)置成預(yù)定值,例如,前一段落中討論的背景拖尾時(shí)間。隨后流程進(jìn)入點(diǎn)C(注意在點(diǎn)C,流程繼續(xù)執(zhí)行到后面說明的圖18)。在判定菱形框404,如果背景拖尾計(jì)時(shí)器不為0,那么在方框410中,遞減背景拖尾計(jì)時(shí)器,流程進(jìn)入點(diǎn)C。
但是,當(dāng)判定菱形框400、402和404的3個(gè)條件都被滿足時(shí),流程進(jìn)入方框408,背景水平(Pbackground)被修改成在后面的步驟中確定的所需值(Pnew_background)(注意將參考圖17中的方框426計(jì)算和討論P(yáng)new_background;于是在經(jīng)過方框408的首次迭代中,Pnew_background可具有任意恰當(dāng)?shù)某跏贾?,例如表示舒適噪聲電平的初始值)。對每個(gè)樣本執(zhí)行適應(yīng),以使舒適噪聲電平匹配中,從一個(gè)信號電平到另一信號電平的轉(zhuǎn)變平滑。于是,如下面的等式10中所示執(zhí)行所述適應(yīng)。
等式10Pbackground(n)=[(R-1)Pbackground(n-1)+Pnew_background]/R在等式10中,Pbackground(n)是在時(shí)間n的估計(jì)背景功率水平;Pnew_background是要被修改的(并且在第四步中確定的)新的背景功率水平;R是控制適應(yīng)速率的因子,它被設(shè)置成FAST_RATE或SLOW_RATE(注意可在圖17的方框428,或者圖19的方框480、472或476中設(shè)置R,如后更詳細(xì)所述。另外,注意在一個(gè)實(shí)施例中,F(xiàn)AST_RATE的適應(yīng)速率被設(shè)置成29,SLOW_RATE的適應(yīng)速率被設(shè)置成211)。
在方框408之后,開始估計(jì)背景噪聲信號的功率水平,它包括3個(gè)主要步驟。估計(jì)背景噪聲信號的功率水平的第一步是計(jì)算窗口內(nèi)的背景功率水平。于是,流程進(jìn)入方框412,如下面的等式11中所示,計(jì)算開窗背景的功率(Pwindow_background)。
等式11 在等式11中,Pwindow_background是開窗背景功率水平估計(jì)值,誤差信號46是圖2的加法器的輸出端的,Sin 39和回波估計(jì)信號48之間的差值,w_size是求平均值的窗口大小。在一個(gè)實(shí)施例中,w_size為64個(gè)樣本。隨后,流程進(jìn)入方框414,背景樣本計(jì)數(shù)器被遞增。
第二步包括在一定數(shù)目的時(shí)間窗口w_count內(nèi)找出最小的Pwindow_background(在一個(gè)實(shí)施例內(nèi),w_count是128個(gè)樣本;但是,在備選實(shí)施例中,w_count可以是取決于計(jì)算最小Pwindow_background所需的時(shí)間窗口的數(shù)目的任意值)。于是,每w_size個(gè)樣本執(zhí)行一次方框418的計(jì)算(在下面的等式12中表示)。為了執(zhí)行第二步驟,流程進(jìn)入判定菱形框416,確定背景樣本計(jì)數(shù)器是否為w_size。如果否,那么流程進(jìn)入點(diǎn)C(在圖18中)。如果是,那么流程進(jìn)入方框418,如下面的等式12中所示,確定開窗背景的最小功率。
于是,通過選擇舊的最小功率(在經(jīng)過方框418的前一次迭代中確定的最小功率)和在方框412中確定的Pwindow_background之間的極小值,確定Pmin_window_background。流程隨后進(jìn)入方框420,Pwindow_background被重置為0。流程進(jìn)入方框422,背景樣本計(jì)數(shù)器被重置為0,并且窗口計(jì)數(shù)器被遞增。流程隨后執(zhí)行到下接圖17的點(diǎn)A(開始于判定菱形框424)。
自適應(yīng)背景電平估計(jì)的第三步驟是確定參考方框408討論的背景電平適應(yīng)的Pnew_background,以及確定在方框408中使用的適應(yīng)速率。根據(jù)是否是首次確定Pnew_background,存在兩種不同的方法。于是,在判定菱形框424中,確定是否是初始估計(jì)(表示不存在長期數(shù)據(jù),例如在呼叫開始時(shí))。如果是,那么流程進(jìn)入方框426,Pnew_background被設(shè)置成在第一步中計(jì)算的Pwindow_background。隨后流程進(jìn)入方框428,適應(yīng)速率R被設(shè)置成FAST_RATE。但是,如果在判定菱形框424,確定不是初始估計(jì)(表示由于存在長期數(shù)據(jù),例如N個(gè)在先樣本,已可獲得Pnew_background),那么流程進(jìn)入判定菱形框430。注意如果不同初始估計(jì),那么每w_count個(gè)窗口執(zhí)行一次確定Pnew_background的過程。于是,在判定菱形框430,確定窗口計(jì)數(shù)器是否已達(dá)到w_count。如果否,那么流程進(jìn)入點(diǎn)C(在圖18中)。但是,如果是,那么流程進(jìn)入方框43,計(jì)算Pnew_background。流程隨后進(jìn)入方框434,確定適應(yīng)速率R(確定Pnew_background和R的細(xì)節(jié)將參考圖19進(jìn)一步說明)。流程進(jìn)入方框436,窗口計(jì)數(shù)器被重置為0,隨后進(jìn)入方框438,Pmin_window_background被重置為0。流程隨后進(jìn)入點(diǎn)C。
圖19圖解說明了當(dāng)可獲得Pnew_background時(shí),確定Pnew_background和R的方法。圖19的方法避免具有從低電平到高電平的大跳躍的Pnew_background,但是當(dāng)變化是從高電平到低電平時(shí),不設(shè)置這樣的限制,因?yàn)樵撟兓?。于是,在一個(gè)實(shí)施例中,Pnew_background被設(shè)定一個(gè)上限,以致不大于2倍的Pbackground。如果適應(yīng)是從高電平到低電平,那么圖19的方法還設(shè)置較快的適應(yīng)速率(FAST_RATE),如果適應(yīng)是從低電平到高電平,那么設(shè)置較慢的適應(yīng)速率(SLOW_RATE)。由于就背景噪聲電平來說,具有從低到高的緩慢變化,但是從高到低的相當(dāng)快速的變化,通常將使背景噪聲聽起來更好,因此使用不同的速率。
在圖解說明圖17的方框432和434的一部分的圖19中,流程開始于判定菱形框466,確定Pmin_window_background是否大于恒定倍數(shù)的Pbackground,即,是否“Pmin_window_background>常數(shù)*Pbackground”,在一個(gè)實(shí)施例中,所述常數(shù)為0.5。如果是,則流程進(jìn)入方框478,Pnew_background被設(shè)置成“(常數(shù)*Pmin_window_background)+舒適噪聲電平”。在一個(gè)實(shí)施例中,方框478中的常數(shù)為2(這里該2對應(yīng)于前一句子中的0.5)。流程進(jìn)入方框480,適應(yīng)速率被設(shè)置成SLOW_RATE。流程隨后進(jìn)入圖17的方框436。
如果在判定菱形框466,Pmin_window_background不大于“常數(shù)*Pbackground”,那么流程進(jìn)入判定菱形框468,確定Pmin_window_background是否大于Pbackground。如果是,那么流程進(jìn)入方框474,Pnew_background被設(shè)置成Pmin_window_background。流程隨后進(jìn)入方框476,適應(yīng)速率R被設(shè)置成SLOW_RATE。流程隨后進(jìn)入圖17的方框436。但是,如果在判定菱形框468,確定Pmin_window_background不大于Pbackground,那么流程進(jìn)入方框470,Pnew_background被設(shè)置成“Pmin_window_background+舒適噪聲電平”。流程隨后進(jìn)入方框472,適應(yīng)速率R被設(shè)置成FAST_RATE,隨后進(jìn)入圖17的方框436。
于是,注意舒適噪聲電平(CNL)被添加(在方框478和470中),以便防止當(dāng)Pbackground或Pmin_window_background正巧為0時(shí),防止Pnew_background成為無聲。例如,在一個(gè)實(shí)施例中,CNL被設(shè)置成-66dBm0。另一方面,CNL可在-60~-72dBm0的范圍中。另外,雖然利用功率水平估計(jì)執(zhí)行圖19的流程,不過可利用幅度計(jì)算實(shí)現(xiàn)相同的流程。
圖18根據(jù)本發(fā)明的一個(gè)實(shí)施例,圖解說明利用上面獲得的所有水平估計(jì)的非線性處理器控制方法。即,圖18圖解說明了執(zhí)行非線性處理的圖9的方框230的一部分。在圖18中,流程開始于點(diǎn)C(可從圖16的方框406、方框410或者判定菱形框416,或者從圖17的方框438到達(dá)點(diǎn)C)。從點(diǎn)C開始,流程進(jìn)入判定菱形框440,確定Perror是否大于非線性處理器OFF(NLP_OFF)閾值。如果是,那么流程進(jìn)入方框452,設(shè)置NLP_OFF(表示非線性處理器32被關(guān)閉),隨后進(jìn)入方框454,噪聲勻變因子被重置為預(yù)定值。噪聲勻變因子被用于使從低電平到高電平的信號電平轉(zhuǎn)變平滑(在方框454之后,流程進(jìn)入圖9的方框232)。在判定菱形框440,如果確定Perror不大于NLP_OFF閾值,那么流程進(jìn)入判定菱形框442,確定Pbackground是否大于背景閾值。如果是,那么流程進(jìn)入方框452,關(guān)閉非線性處理器32,隨后進(jìn)入方框454。于是,當(dāng)Px大于NLP_OFF閾值時(shí),或者當(dāng)Pbackground大于背景閾值時(shí),關(guān)閉非線性處理器32。在一個(gè)實(shí)施例中,NLP_OFF閾值被設(shè)置成-27dBm0,背景閾值被設(shè)置成-39dBm0。
如果在判定菱形框442確定Pbackground不大于背景閾值,那么流程進(jìn)入判定菱形框444,確定Perror是否小于非線性處理器ON(NLP_ON)閾值。如果是,那么進(jìn)入判定菱形框446,確定AVG PRin是否大于PRin閾值。如果是,那么流程進(jìn)入方框448,設(shè)置NLP_ON(表示非線性處理器32被打開)。于是,當(dāng)Perror小于NLP_ON閾值,并且AVG PRin大于PRin閾值時(shí),非線性處理器32被打開。AVG PRin大于PRin閾值的條件確保只有當(dāng)需要時(shí),才打開非線性處理器32(因?yàn)橹挥挟?dāng)遠(yuǎn)端談話者信號相對強(qiáng)時(shí),顯著的回波才是這種情況)。另一方面,Perror小于NLP_ON閾值的條件還確保殘留回波必須較小,并且近端談話者信號不被錯(cuò)誤地當(dāng)作要消除的殘留回波。于是,在一個(gè)實(shí)施例中,PRin閾值被設(shè)置成-36dBm0,NLP_ON閾值被設(shè)置成-42dBm0。但是,在備選實(shí)施例中,它們可被設(shè)置成任意恰當(dāng)?shù)闹怠?br> 注意在上述實(shí)施例中,NLP_OFF閾值和NLP_ON閾值之間的差異(在一個(gè)實(shí)施例中,它為-15dBm0)是非線性處理器32的幫助避免NLP_ON和NLP_OFF之間的快速轉(zhuǎn)換的“死區(qū)”。
如果確定Perror不小于NLP_ON閾值(在判定菱形框444),或者AVG PRin不大于PRin閾值(在判定菱形框446),那么流程進(jìn)入判定菱形框450,確定NLP_ON是否被設(shè)置(即,非線性處理器32是否打開)。如果未設(shè)置NLP_ON,那么流程進(jìn)入圖9的方框232;但是,如果設(shè)置了NLP_ON(或者在退出方框448之后),那么流程進(jìn)入判定菱形框456,確定舒適噪聲是否打開。如果否,那么流程進(jìn)入圖9的方框232;但是,如果舒適噪聲打開,那么流程進(jìn)入方框458,產(chǎn)生舒適噪聲。在方框458之后,流程進(jìn)入方框460,確定舒適噪聲電平,隨后進(jìn)入方框462,混合舒適噪聲與背景噪聲。流程隨后進(jìn)入方框464,修改噪聲勻變因子,隨后進(jìn)入圖9的方框232。
于是,當(dāng)非線性處理器32打開時(shí),將產(chǎn)生舒適噪聲信號。白噪聲通常不是舒適噪聲的優(yōu)選選擇,因?yàn)樵陬l譜上,它明顯不同于日常生活的真實(shí)背景噪聲信號。于是,本發(fā)明的一些實(shí)施例使用粉紅噪聲,棕色噪聲或Hoth噪聲作為舒適噪聲。例如,在一個(gè)實(shí)施例中,由于其較低的計(jì)算復(fù)雜性,選擇了粉約噪聲。如下面的等式13中所示,通過利用均勻分布的偽隨機(jī)變量X的兩個(gè)連續(xù)實(shí)現(xiàn),(例如在方框458中)產(chǎn)生粉紅噪聲。
等式13Ypink(n)=C1*X(n)+C2*X(n-1)在上面的等式13中,X(n)是在時(shí)間n產(chǎn)生的偽隨機(jī)變量(-1≤X(n)<1),C1和C2是用于修改兩個(gè)隨機(jī)樣本和Ypink的幅度的混合物的常數(shù)。于是Ypink(n)是在時(shí)間n產(chǎn)生的粉紅噪聲樣本。選擇兩個(gè)常數(shù)C1和C2,以確保粉紅噪聲信號的平均功率水平約比Pbackground小2dB。例如,在一個(gè)實(shí)施例中,C1和C2分別被選擇為0.75和1。于是,在一個(gè)實(shí)施例中,與估計(jì)的背景噪聲水平相比,舒適噪聲匹配水平在0~4dB間變化。
隨后如下面的等式14中所示(另外參見圖18的方框462),將產(chǎn)生的舒適噪聲(本實(shí)施例中Ypink)與背景噪聲混合。
等式14Sout(n)=α(n)*(誤差信號46)-(1-α(n))*A*Ypink(n)在上面的等式14中,A是要匹配的背景噪聲電平的幅值(對應(yīng)于方框460)。例如,在一個(gè)實(shí)施例中,A=(Pbackground)的平方根。在備選實(shí)施例中,如果Pbackground用幅度表示,而不是用功率表示,那么A=Pbackground。在等式14中,α(n)是時(shí)間n時(shí)的噪聲勻變因子(0≤α<1),它允許在開始啟動非線性處理器32時(shí),從一個(gè)電平到另一電平的平滑過渡,Sout(n)是在時(shí)間n,非線性處理器32的最終輸出(即,Sout(n)是圖2的Sout 42)。如下面的等式15中所示,每個(gè)樣本計(jì)算噪聲勻變因子(在方框464中修改)。
等式15α(n)=b*α(n-1)在等式15中,b是選擇成小于1的勻變常數(shù)。在一個(gè)實(shí)施例中近似0.9986,500毫秒之后,近似衰減到其半,因?yàn)?.9986500=0.496。在該勻變過程中,Sout(n)始于誤差信號46(它為圖2的Sin 39-誤差估計(jì)信號48),并且如果勻變過程繼續(xù),當(dāng)α(n)從1變成0時(shí),Sout(n)逐漸轉(zhuǎn)換成A*Ypink(n)。在打開和關(guān)閉非線性處理器32時(shí)都可應(yīng)用勻變。但是,在一個(gè)實(shí)施例中,只對非線性處理器32的打開應(yīng)用勻變。其原因在于當(dāng)非線性處理器32被關(guān)閉時(shí),它通常檢測近端談話者信號的顯著電平,逐漸從舒適噪聲(在一個(gè)實(shí)施例中,粉紅噪聲信號)轉(zhuǎn)換回近端談話者信號是不合乎需要的。但是,當(dāng)打開和關(guān)閉非線性處理器32時(shí),備選實(shí)施例都可應(yīng)用這種勻變。
圖7圖解說明了監(jiān)視和控制單元30的一部分,它用于估計(jì)純延遲。純延遲估計(jì)意圖用于減少自適應(yīng)濾波器28的抽頭的數(shù)目,從而以較少的計(jì)算工作,獲得更快和更深的收斂,如上所述。即,圖7中圖解說明的該部分監(jiān)視和控制單元30和圖20-24的流程圖可被用于檢測純延遲和安置稀疏窗口(圖9的方框211)。在一個(gè)實(shí)施例中,檢測純延遲,并安置具有恰當(dāng)大小的濾波窗口(稀疏窗口),以致自適應(yīng)濾波器28的長度(即抽頭的數(shù)目)被減少。于是,將參考圖20-24的流程說明圖7。
圖7和20-24提供用于為回波消除器20中稀疏窗口的動態(tài)安置,獲得回波信號的純延遲的估計(jì)值(即圖37的T1)的一個(gè)實(shí)施例。如下更詳細(xì)所述,執(zhí)行純延遲估計(jì),以便通過用恰當(dāng)布置的窄窗口自適應(yīng)濾波器代替全窗口自適應(yīng)濾波器,減少與覆蓋較大的回波路徑延遲跨距相關(guān)的計(jì)算成本。即,不是使用覆蓋圖37的整個(gè)脈沖響應(yīng),大到足以覆蓋T1和T4+T2的全窗口自適應(yīng)濾波器,而是使用并布置排除純延遲部分的較小窗口,以便捕捉其間發(fā)生顯著響應(yīng)的T4+T2。另外,通過使用長度較短的自適應(yīng)濾波器,純延遲估計(jì)增大自適應(yīng)濾波器28的收斂速度和深度。另外,純延遲估計(jì)可被用于回波的監(jiān)視動態(tài)變化的純延遲(例如在電話呼叫期間),以及據(jù)此調(diào)整自適應(yīng)濾波器窗口(例如稀疏窗口)。
這里將說明的實(shí)施例可包括被動方法(例如只利用語音信號的子速率濾波器適應(yīng))以及主動方法(例如,在呼叫開始時(shí),注入短的,窄帶極低電平噪聲脈沖,同時(shí)執(zhí)行子速率適應(yīng),以便確定始于雙向靜默的呼叫的純延遲,這里,持續(xù)300毫秒的靜默通常足夠長,足以注入低電平探測信號和確定純延遲)。這里要說明的實(shí)施例還包括處理純延遲的兩種情形。第一種情形涉及電話呼叫的開始,這種情況下服務(wù)質(zhì)量(QoS)原理要求立即減少回波。第二種情形涉及電話呼叫中間,回波路徑的變化。一般來說,在電話呼叫的持續(xù)時(shí)間內(nèi),稀疏窗口(以及相關(guān)的純延遲)不發(fā)生變化。但是,對于一些呼叫(特別是‘呼叫轉(zhuǎn)發(fā)’或‘會議呼叫’特征被激活的那些呼叫),純延遲會顯著變化。于是,這里討論的各種實(shí)施例支持與高達(dá)每秒稀疏窗口變化一次對應(yīng)的純延遲的動態(tài)特性。注意,這里討論的實(shí)施例可使用通過控制信號17提供的專有(非標(biāo)準(zhǔn))信令來確定電話機(jī)是掛機(jī)還是摘機(jī),以便確定呼叫的開始或結(jié)束。
圖7和圖20-24的實(shí)施例可使用子速率適應(yīng)過程,它便于計(jì)算上高效地估計(jì)純延遲。但是,備選實(shí)施例可不使用子速率過程。另外,在一個(gè)實(shí)施例中,為了對付純延遲的固有的易變估計(jì),在將純延遲的原始測量結(jié)果返回給自適應(yīng)濾波器28之前,純延遲的原始測量結(jié)果可被非線性過濾(即,利用判定或限定過程處理,將參考圖23說明其一個(gè)例子)。上面提及的子速率過程可將NLMS(歸一化最小均方差)自適應(yīng)濾波器(用于圖7的自適應(yīng)濾波器122)。但是,自適應(yīng)濾波器122并不局限于這種自適應(yīng)濾波。例如,可使用PNLMS、RLS或者其它自適應(yīng)濾波器。注意NLMS自適應(yīng)濾波算法一般較簡單,并且具有可接受的收斂特性。其它自適應(yīng)濾波器算法在計(jì)算上要求更高。PNLMS(比例歸一化LMS)算法以適度的成本提供收斂性的確實(shí)改進(jìn)。RLS(遞歸最小二乘)自適應(yīng)算法通常明顯更快(然而計(jì)算成本也明顯更大)。但是,它對數(shù)字誤差敏感,并且表現(xiàn)出數(shù)字不穩(wěn)定性。從收斂性的觀點(diǎn)來看,其它自適應(yīng)濾波器(例如子帶濾波器,仿射濾波器和它們的變形)可能更有吸引力;不過與NLMS相比,它們在計(jì)算上要求更高。但是,這里討論的實(shí)施例并不局限于NLMS自適應(yīng)濾波的使用。主速率自適應(yīng)濾波器以及子速率自適應(yīng)濾波器可以基于其它類型的自適應(yīng)濾波解決方案。
可借助諸如短期子速率信號功率估計(jì)和子速率近端談話者信號檢測之類的機(jī)制,控制純延遲估計(jì),以便防止產(chǎn)生固有不可靠(因?yàn)槭茉肼暬蚪苏勗捰绊?,從而可能導(dǎo)致子速率自適應(yīng)濾波器122發(fā)散的測量結(jié)果。注意如同上面參考當(dāng)檢測到Sgen時(shí),停止自適應(yīng)過程,以便避免形成虛假系數(shù)的自適應(yīng)濾波器28說明的那樣,相同的原理可應(yīng)用于用來確定純延遲的自適應(yīng)濾波器122。
除了縮短自適應(yīng)濾波器長度之外,純延遲的估計(jì)可被用于解決其它情形,例如,當(dāng)遠(yuǎn)端回波消除器被關(guān)閉時(shí),當(dāng)呼叫從本地轉(zhuǎn)換到長距離時(shí)(例如通過呼叫轉(zhuǎn)發(fā)特征,呼叫轉(zhuǎn)移特征等),當(dāng)會議呼叫操作涉及發(fā)散在較大的地理區(qū)域內(nèi)的呼叫方/被叫方時(shí)。
圖7以方框圖的形式圖解說明用于提供估計(jì)的延遲130的監(jiān)視和控制單元30的一部分。在電話呼叫的持續(xù)時(shí)間內(nèi),自適應(yīng)濾波器122(在一個(gè)實(shí)施例中,利用子速率處理的自適應(yīng)濾波器122是子速率自適應(yīng)濾波器)一直連續(xù)地提供帶通脈沖響應(yīng)的短期估計(jì)。利用限定過程或判定框(例如圖23),脈沖響應(yīng)的純延遲測量結(jié)果被連續(xù)濾波,如上所述,限定過程或判定框可以是非線性濾波器。該濾波器允許快速確定呼叫開始時(shí)的純延遲,并且允許在呼叫中間調(diào)整純延遲或者選擇新的純延遲,只要新的純延遲值通過與所述新值的確認(rèn)相關(guān)的標(biāo)準(zhǔn)。即,為了使回波的出現(xiàn)降至最小,呼叫中從一個(gè)純延遲到另一純延遲的轉(zhuǎn)換可基于純延遲測量的適當(dāng)核實(shí)。在一個(gè)實(shí)施例中,核實(shí)提供在呼叫中間改變純延遲的穩(wěn)健機(jī)制(例如通過分析子速率脈沖響應(yīng)最大值的位置的三個(gè)或更多測量結(jié)果)。
在一種可選的形式中,如同參考圖24所述,回波消除器20可按照監(jiān)視模式工作。在該模式下,只有在電話呼叫開始時(shí),圖7的系統(tǒng)才是有效的(即估計(jì)純延遲),從而如果某些條件被滿足,那么它進(jìn)入睡眠狀態(tài)。在睡眠狀態(tài)中,ERLE估計(jì)器對照閾值,連續(xù)檢查與自適應(yīng)濾波器28對應(yīng)的ERLE,如果ERLE低于該閾值,并保持預(yù)定的持續(xù)時(shí)間,那么圖7的系統(tǒng)返回有效模式,繼續(xù)估計(jì)純延遲。
圖20的流程開始于判定菱形框482,確定純延遲估計(jì)選項(xiàng)是否被激活。注意該選項(xiàng)可對應(yīng)于編程到回波消除器20中的設(shè)置。這種情況下,不必如圖20中所示,基于每個(gè)樣本確定該選項(xiàng)是否被激活。在備選實(shí)施例中,可在電話呼叫開始時(shí)執(zhí)行判定菱形框482的確定。但是,只有當(dāng)純延遲估計(jì)選項(xiàng)被激活時(shí),流程才進(jìn)入判定菱形框483。如果未被激活(或者在呼叫開始時(shí)確定,或者基于每個(gè)樣本確定),流程進(jìn)入圖9的方框213,因?yàn)槲磮?zhí)行純延遲估計(jì)。
判定菱形框483確定呼叫開始時(shí)的可選訓(xùn)練是否被激活。如同純延遲估計(jì)選項(xiàng)的情況一樣,訓(xùn)練選項(xiàng)也可被編程到回波消除器20中,從而在電話呼叫開始時(shí)檢查,而不是如圖20中所示在每個(gè)樣本執(zhí)行檢查。如果可選的訓(xùn)練未被激活,那么流程進(jìn)入圖21的判定菱形框484。但是,如果可選訓(xùn)練被激活,那么流程進(jìn)入判定菱形框497??傊?,如果可選訓(xùn)練未被激活,那么圖20的流程是不需要的。類似地,如果純延遲估計(jì)選項(xiàng)未被激活,那么圖20和21的流程是不需要的。于是,回波消除器20可按照各種不同的方式工作,取決于選擇的設(shè)置和選項(xiàng)。
另外注意在每個(gè)電話呼叫開始時(shí),許多變量可被初始化,供圖20-24的流程使用。例如,在一個(gè)實(shí)施例中,訓(xùn)練旁路標(biāo)志被設(shè)置成FLASE,純延遲樣本計(jì)數(shù)器被重置,訓(xùn)練索引被重置,ERLE計(jì)數(shù)器被重置。這些變量將在圖20-24的流程中說明。另外,一些值可在回波消除器20內(nèi)編程或硬連線。例如,測量周期N可在開始每個(gè)呼叫時(shí)被初始化成特定的值,或者在回波消除器20內(nèi)被硬連線。注意在本說明中描述的其它變量可在呼叫開始時(shí)被初始化,或者在回波消除器20中被硬連線或編程(永久地或者非永久地)。
如果在判定菱形框483確定呼叫開始時(shí)的可選訓(xùn)練被激活,那么流程進(jìn)入判定菱形框497。可選訓(xùn)練允許在呼叫開始時(shí)估計(jì)純延遲。由于在呼叫開始時(shí),通常還不存在談話,因此訓(xùn)練信號可被注入Rin 43,以產(chǎn)生Rout 40(參見圖2的訓(xùn)練信號41,它可通過加法器36注入Rin 43中)。即,在缺少足夠的Rin43能量的情況下,不能確定純延遲;于是,訓(xùn)練信號41的注入可被用于確定純延遲估計(jì)量。通常,訓(xùn)練信號41是在對話之前,在電話呼叫開始時(shí)注入的能量相當(dāng)?shù)偷亩堂}沖串。即,訓(xùn)練信號41通常小于注入閾值,在一個(gè)實(shí)施例中,注入閾值在-30dBm0~-50dBm0的范圍中。于是,如果可選訓(xùn)練被激活,那么流程進(jìn)入判定菱形框497,確定訓(xùn)練旁路標(biāo)記是否為TRUE。如果是,那么流程進(jìn)入圖21的判定菱形框484,繞過訓(xùn)練,繼續(xù)圖21的純延遲估計(jì),如下面所述。
如果在判定菱形框497確定訓(xùn)練旁路標(biāo)記未被設(shè)置成TRUE,那么流程進(jìn)入判定菱形框499,確定訓(xùn)練索引是否小于或等于2。訓(xùn)練索引確保訓(xùn)練信號(如果使用的話)只在呼叫開始時(shí)被注入。如上所述,訓(xùn)練索引可在呼叫開始時(shí)被重置,于是,當(dāng)首次到達(dá)判定菱形框499時(shí),訓(xùn)練索引應(yīng)小于或等于1(因?yàn)樽畛跛恢刂脼?)。不過如下所述,在第一測量周期(在一個(gè)實(shí)施例中,它為300毫秒)之后,訓(xùn)練索引將被遞增為1(例如在圖21的方框505中)。這仍然允許注入訓(xùn)練信號,因?yàn)橛?xùn)練索引仍然小于或等于1。但是,在隨后的測量周期之后,訓(xùn)練索引將被遞增為2(例如在圖21的方框505中),并這時(shí)開始,在判定菱形框499,流程將進(jìn)入圖21的判定菱形框484,而不再存在注入訓(xùn)練信號41的可能性,因?yàn)闉?的訓(xùn)練索引表示不再認(rèn)為是呼叫的開始。在除開始呼叫之外的另一時(shí)間注入訓(xùn)練信號通常是不合乎需要的,因?yàn)楹艚须p方可能聽到注入的訓(xùn)練信號。
如果在判定菱形框,訓(xùn)練索引小于或等于1,那么流程進(jìn)入方框489,指示仍然認(rèn)為是呼叫的開始。在方框489,計(jì)算Sin的長期功率(PSIn)和Rin的長期功率(PRin)(可利用上面討論的等式1、3和4來計(jì)算)。流程隨后進(jìn)入判定菱形框490,確定PSIn是否小于PSIn閾值,PRin是否小于PRin閾值。第一檢查(PSIn是否小于PSIn閾值)確保不存在近端談話者信號Sgen。在一個(gè)實(shí)施例中,PSIn閾值為-50dBm0。第二檢查(PRin是否小于PRin閾值)確保不存在遠(yuǎn)端談話者信號。在一個(gè)實(shí)施例中,PRin閾值為-50dBm0。如果這兩個(gè)條件都被滿足,那么流程進(jìn)入方框492,表示對話還沒有開始,可注入訓(xùn)練信號。于是,在方框492中,注入訓(xùn)練信號(例如圖2的訓(xùn)練信號41),或者如果這是第二次通過方框492,那么繼續(xù)注入訓(xùn)練信號。但是,如果在判定菱形框490,這兩個(gè)條件都不被滿足,那么流程進(jìn)入方框495,訓(xùn)練信號標(biāo)記被設(shè)置成TRUE。即,一旦PSIn或PRin超過它們各自的閾值,那么繞過訓(xùn)練(在判定菱形框497),而不考慮訓(xùn)練索引,從而防止在當(dāng)前呼叫期間注入訓(xùn)練信號。在方框495和492之后,流程進(jìn)入圖21的判定菱形框484。
圖21圖解說明執(zhí)行純延遲估計(jì)的一個(gè)實(shí)施例。圖21的流程使用子速率處理,例如僅僅每D個(gè)樣本進(jìn)入該流程,這里D對應(yīng)于圖7的抽取器106和110。例如,在一個(gè)實(shí)施例中,D為8,從而只處理Rin 44和Sin 38的每個(gè)第8個(gè)樣本。但是在備選實(shí)施例中,D可以是任意值(包括1,它表示不使用子速率處理,因?yàn)槊總€(gè)樣本都被處理)。于是,每個(gè)第D個(gè)樣本被認(rèn)為是子速率樣本。純延遲樣本計(jì)數(shù)器被用于始終監(jiān)視輸入的Rin 44和Sin 38的樣本,以便捕捉每個(gè)第D個(gè)樣本。通常在每個(gè)樣本之后,純延遲樣本計(jì)數(shù)被遞增,并在每個(gè)第D個(gè)樣本被重置。如上所述,還可在每個(gè)電話呼叫開始時(shí)重置純延遲樣本計(jì)數(shù)器。另外,延遲樣本計(jì)數(shù)器可與這里討論的其它流程的樣本計(jì)數(shù)器共用,或者可以是只用于估計(jì)純延遲的專用計(jì)數(shù)器。
在判定菱形框484,確定純延遲樣本計(jì)數(shù)器是否等于D-1。注意在純延遲樣本計(jì)數(shù)器被重置(即設(shè)置為0)的實(shí)施例中,到達(dá)D-1對應(yīng)于到達(dá)第D個(gè)樣本。但是,在備選實(shí)施例中,純延遲樣本計(jì)數(shù)器可被初始化為1,于是應(yīng)對照D,而不是對照D-1來執(zhí)行檢查。另外,其它實(shí)施例可將純延遲樣本計(jì)數(shù)器初始化成D或D-1,并遞減直到分別到達(dá)1或0為止。于是,抽取濾波器和抽取器的各種實(shí)施例可用于圖7的抽取濾波器104和108,及抽取器106和110。另外注意抽取器106的輸出是Rin 44的子速率樣本,它可被稱為RinSR,抽取器110的輸出是Sin 38的子速率樣本,它可被稱為SinSR。
在判定菱形框484,如果確定純延遲樣本計(jì)數(shù)器還沒有到達(dá)D-1,那么流程進(jìn)入方框502,純延遲樣本計(jì)數(shù)器被加1,流程進(jìn)入圖9的方框213。但是,如果純延遲樣本計(jì)數(shù)到達(dá)D-1,那么流程從判定菱形框484進(jìn)入方框491,表示已到達(dá)子速率樣本。在方框491中,純延遲樣本計(jì)數(shù)器被重置,以便檢測下一子速率樣本,如上所述。
流程進(jìn)入方框485,確定子速率Rin的功率(PRinSR),子速率Sin的功率(PSinSR),和子速率近端談話者檢測標(biāo)記(sr_near_end_detect_flag)。例如,可使用下面的等式來確定PRinSR,PSinSR和PerrorSR(k)
等式16PRinSR(k)=(1-α)·PRinSR(k-1)+α·RinSR2(k);等式17PSinSR(k)=(1-α)·PSinSR(k-1)+α·SinSR2(k);等式18PerrorSR(k)=(1-α)·PerrorSR(k-1)+α·errorSR2(k);注意在上面的等式(等式16-18)中,k是信號子速率樣本數(shù),以致例如SinSR(k)=Sin(k·D)。等式18對應(yīng)于子速率誤差,errorSR,它對應(yīng)于SinSR和下面參考方框494說明的,圖7的子速率自適應(yīng)濾波器122確定的子速率回波估計(jì)量y(k)之間的差值。于是,下面將更詳細(xì)地說明errorSR(k)和PerrorSR(k)。另外,在上述等式的一個(gè)實(shí)施例中,α被設(shè)置成與在電話通道中觀察到的人類語音的統(tǒng)計(jì)數(shù)字對應(yīng)的1/280;注意1/280還近似對應(yīng)于求濾波器帶寬平均值的70毫秒滑動窗口。但是,備選實(shí)施例可使用α的不同值(注意上面的子速率功率計(jì)算可由圖7的功率估計(jì)器210和功率估計(jì)器118計(jì)算)。
可類似上面參考圖11說明的近端信號檢測執(zhí)行sr_near_end_detect_flag的確定。于是,比較PerrorSR(k)和PSinSR(k)的最小值與NESD子速率閾值(NESD_SR_threshold),以確定是否存在近端談話者信號(Sgen)(注意這可由圖7的近端信號檢測器114執(zhí)行)。如果是,那么sr_near_end_detect_flag被確定為真,并被設(shè)置成TRUE。該標(biāo)記被用于繞過子速率濾波器122的濾波器系數(shù)的更新,因?yàn)槿缟纤?,如果存在近端談話者信號,那么Sin 38不再代表純殘留回波,而是代表Sgen和殘留回波的混合物。于是,如上參考自適應(yīng)濾波器28所述,只有當(dāng)SinSR只包括子速率回波(即,當(dāng)不存在近端談話者信號時(shí)),子速率濾波器122才應(yīng)適應(yīng)。另外,如上參考自適應(yīng)濾波器28所述,當(dāng)PRinSR足夠高,足以防止對通道噪聲的自適應(yīng)時(shí),子速率自適應(yīng)濾波器才應(yīng)適應(yīng)。
注意如上參考自適應(yīng)濾波器28所述,在單方談話和雙方談話情形下,都可檢測到近端談話者信號。即,利用上面的算法,只有當(dāng)存在近端談話者時(shí),或者近端談話者和遠(yuǎn)端談話者都存在時(shí),才能夠檢測到Sgen。另外注意備選實(shí)施例可使用其它方法來確定近端談話者信號是否存在。例如,一個(gè)實(shí)施例可使用本領(lǐng)域公知的Geigel算法來檢測近端談話者信號。
在方框485之后,流程進(jìn)入判定菱形框486,確定PRinSR是否大于子速率Rin的最小功率閾值。如果否,那么流程進(jìn)入圖9的方框213,繞過子速率自適應(yīng)濾波器122的更新。如上所述,這防止子速率自適應(yīng)濾波器122適應(yīng)通道噪聲。在一個(gè)實(shí)施例中,子速率Rin的最小功率閾值被設(shè)置成-45dBm0。如果滿足最小閾值,那么流程進(jìn)入判定菱形框487,確定sr_near_end_detect_flag是否為FALSE。如果最小閾值不被滿足,那么流程進(jìn)入圖9的方框213,繞過子速率自適應(yīng)濾波器122的更新,因?yàn)榇嬖诮苏勗捳咝盘?,如前一段落中所述。如果sr_near_end_detect_flag為FALSE,那么流程進(jìn)入方框494,表示PRinSR足夠,不存在近端談話者信號。
在方框494,計(jì)算子速率回波估計(jì)量y(k),隨后在方框496中,更新子速率自適應(yīng)濾波器122的系數(shù)。在一個(gè)實(shí)施例中,可使用修改后的NLMS算法(為用在子速率處理中而修改)來計(jì)算y(k),并更新系數(shù)。
等式19y(k)=XT(k)·H(k)上面的等式19表示輸入信號X的FIR濾波,這里X(k)=[x(k),x(k-1),…,x(k-N+1)]T是在FIR濾波器跨距內(nèi)延伸的輸入信號矢量(以子速率D)。于是,x(n)=RinSR(n)。另外,在等式19中,H(k)是第k次迭代的濾波器系數(shù)矢量(在子速率采樣下),這里等式20H(k)=[h0k,h1k,…,hN-1(k)]T等式21H(k+1)=H(k)+step_size·errorSR(k)·X(k)上面的等式21代表根據(jù)NLMS算法的濾波器系數(shù)更新公式,這里NLMS子速率step_size可如下表示。
等式22step_size=β/[γ+PRinSR(k)]在等式22中,β是自適應(yīng)常數(shù),γ是“保護(hù)”項(xiàng),它確保當(dāng)PRinSR(k)臨時(shí)變小時(shí),自適應(yīng)公式中的更新項(xiàng)不會變得過大,PRinSR(k)是在子速率采樣下的輸入信號功率(參見等式16)。
等式23errorSR(k)=SinSR(k)-y(k)(子速率下的自適應(yīng)誤差)在上面的等式中,RinSR對應(yīng)于濾波并抽取的遠(yuǎn)端信號(它對應(yīng)于圖7的抽取器106的輸出),SinSR對應(yīng)于濾波并抽取的回波信號(在圖7的抽取器110的輸出端)。注意在不存在Sgen的時(shí)間內(nèi),Sin 38只包括殘留回波,于是,位于抽取器110的輸出端的SinSR可被用作濾波和抽取的回波信號。(參考圖19說明的)變量H對應(yīng)于代表子速率自適應(yīng)濾波器122系數(shù)估計(jì)量的行矢量,H之后的“T”表示矢量轉(zhuǎn)置。信號y表示自適應(yīng)濾波器122提供的SinSR的估計(jì)量,errorSR是SinSR和y之間的差值。另外,在上述等式的一個(gè)實(shí)施例中,β被設(shè)置成2-9*2.5,α被設(shè)置成1/128。在一個(gè)實(shí)施例中,γ被設(shè)置成較小的值(與PRinSR(k)相比)。例如,如果PRinSR(k)被表示成16位的分?jǐn)?shù),那么γ的典型值為k·2-15,這里k是小整數(shù)。
流程隨后進(jìn)入判定菱形框498,確定n是否等于N,在本實(shí)施例中,N對應(yīng)于單個(gè)測量周期的持續(xù)時(shí)間。在一個(gè)實(shí)施例中,N對應(yīng)于300毫秒,于是,對應(yīng)于300個(gè)子速率樣本(假定D=8)。例如,如果以8kHz的速率對信號(例如Rin 44和Sin 38)采樣,那么每125微秒收到一個(gè)樣本。在本例中,D為8;于是,每個(gè)第D個(gè)樣本對應(yīng)于8*125微秒,這等于1毫秒。于是,每N個(gè)子速率樣本后,流程進(jìn)入方框503、500和501,這里在本實(shí)施例中,N為300,從而300*1毫秒為300毫秒。于是,N可被定義成具有預(yù)定持續(xù)時(shí)間的時(shí)間窗口,或者定義成在方框500和501中確定估計(jì)的延遲之間,必須被處理的預(yù)定數(shù)目的子速率樣本。N的值可在回波消除器20內(nèi)被編程或硬連線,并且可以是任意值,取決于計(jì)算新的估計(jì)延遲值所需的頻率。注意N對應(yīng)于子速率自適應(yīng)濾波器122的收斂時(shí)間(即短期收斂時(shí)間)。例如,如果一個(gè)窗口的1024個(gè)樣本(在本實(shí)施例中,它對應(yīng)于與128毫秒窗口尺寸相等的1024*125微秒,假定基本采樣速率為8kHz)被用于捕捉脈沖響應(yīng)(例如圖37中的T3),那么獲得1024/D個(gè)子速率樣本(例如,在本實(shí)施例中,1024/8=128個(gè)子速率樣本)。即,本實(shí)施例允許300毫秒的收斂時(shí)間,以便獲得通道的子速率脈沖響應(yīng)的128個(gè)子速率樣本的值(如同從回波消除器的Rin-Sin終端來看),并找出其最大值。不過如上所述,備選實(shí)施例可使用不同的收斂值(即,不同大小的測量周期N),不同的窗口尺寸(即,不局限于1024個(gè)基本速率樣本,或者128毫秒),不同的子速率(D可以是任意值,包括1),以及不同于8kHz的不同采樣速率。
如果在判定菱形框498,確定索引n(它可在呼叫開始時(shí)被初始化成諸如1或0之的起始值)還沒有達(dá)到N,那么流程進(jìn)入方框502,遞增n,流程進(jìn)入圖9的方框213。但是,如果在判定菱形框498,確定n等于N,表示已處理了300個(gè)樣本(對應(yīng)于300毫秒的持續(xù)時(shí)間),那么流程進(jìn)入方框503,n被初始化為1,其它測量周期變量也被初始化(例如,PRinSR,PSinSR和sr_near_end_detect_flag等)。流程隨后進(jìn)入判定菱形框504,確定訓(xùn)練索引是否為2。如果是,那么流程進(jìn)入方框500,繞過方框504。但是,如果訓(xùn)練索引不為2,那么流程進(jìn)入方框505,訓(xùn)練索引被遞增。如上參考圖20所述,訓(xùn)練索引由可選訓(xùn)練模式使用,這里只有在電話呼叫開始期間,才能注入訓(xùn)練信號。于是,訓(xùn)練索引被用于指示呼叫的開始。
流程從方框505或判定菱形框504進(jìn)入方框500,計(jì)算單個(gè)的估計(jì)純延遲。注意,如同將參考圖22更詳細(xì)說明的一樣,單個(gè)的估計(jì)純延遲對應(yīng)于每個(gè)測量周期(即關(guān)于每N個(gè)子速率樣本)估計(jì)的純延遲。在估計(jì)單個(gè)純延遲之后,流程進(jìn)入方框501,利用幾個(gè)(2個(gè),3個(gè)或更多個(gè),取決于特定的實(shí)現(xiàn),以及取決于呼叫的階段)有效的單個(gè)純延遲估計(jì)量,確定估計(jì)的延遲130,如同將參考圖23更詳細(xì)說明的一樣。
圖22圖解說明了確定單個(gè)估計(jì)延遲的圖21的方框500的一個(gè)實(shí)施例。流程開始于方框506,確定子速率回波返回?fù)p耗增益量(SR_ERLE)。可使用下面的等式來確定SR_ERLE。
等式24SR_ERLE(k)=10*log10(PSinSR(k)/PerrorSR(k))于是SR_ERLE對應(yīng)于PSinSR和PerrorSR之間的比值,該比值被用于驗(yàn)證純延遲測量結(jié)果。SR_ERLE提供關(guān)于子速率自適應(yīng)濾波器122的收斂性的“優(yōu)良”(即多少回波被消除)的信息。即,較高的SR_ERLE(例如5dB或更大)表示在當(dāng)前的測量周期內(nèi),自適應(yīng)濾波器122已充分收斂(注意SR_ERLE可由以指定子速率工作的ERLE估計(jì)器116確定,參見圖7)。于是,在方框506之后,流程進(jìn)入判定菱形框508,比較SR_ERLE和子速率ERLE閾值,如果它不大于該閾值,那么流程進(jìn)入方框514,表示由于其SR_ERLE較差,不應(yīng)使用當(dāng)前的測量周期。于是,(當(dāng)前測量周期的)當(dāng)前測量結(jié)果被丟棄,流程進(jìn)入圖21的方框501。但是,如果SR_ERLE超過子速率ERLE閾值,那么流程進(jìn)入方框510,對子速率自適應(yīng)濾波器122的收斂性執(zhí)行另一檢查。
在方框510中,確定子速率自適應(yīng)濾波器122系數(shù)的峰值均值比(PAR)。參見圖37,峰值對應(yīng)于|h|的最大值(意味著峰值是沿著正向或負(fù)向,距離0軸的最大距離)。在圖37中,峰值被標(biāo)記。利用子速率自適應(yīng)濾波器系數(shù)的絕對值計(jì)算平均值。如果PAR不大于PAR_Threshold,那么流程從判定菱形框512進(jìn)入方框514,丟棄當(dāng)前的測量結(jié)果,因?yàn)楫?dāng)前的測量周期并不提供子速率自適應(yīng)濾波器122的足夠收斂。但是,如果PAR大于PAR_Threshold,那么流程進(jìn)入方框516,表示確保在當(dāng)前測量周期內(nèi),子速率自適應(yīng)濾波器充分收斂的兩個(gè)條件被滿足。在方框516中,查找子速率自適應(yīng)濾波器122系數(shù)的最大值(對應(yīng)于峰值)(這可由圖7的最大值探測器124執(zhí)行)及其對應(yīng)的時(shí)間值(圖37中的Tpeak)。流程隨后進(jìn)入將在圖23中更詳細(xì)說明的圖21中的方框501。
圖23圖解說明圖21的方框501的一個(gè)實(shí)施例,它確定純延遲估計(jì)量(對應(yīng)于圖7的延遲確定電路126和估計(jì)的延遲130)。如上所述,通常在呼叫開始時(shí)估計(jì)純延遲,如果某些條件被滿足,可在呼叫中間改變純延遲。一般來說,在呼叫中間改變純延遲估計(jì)量的條件更穩(wěn)健,因?yàn)?a)電話呼叫(PSTN呼叫和分組電話呼叫)的統(tǒng)計(jì)數(shù)字指示在呼叫中間,純延遲并不經(jīng)常改變,(b)從電話用戶的觀點(diǎn)來看,過于頻繁地改變純延遲估計(jì)量(由于試圖過于密切地跟蹤它們)會是破壞性的。于是,流程開始于判定菱形框528,確定這是否是首次通過該流程(即,表示電話呼叫的開始),或者以前估計(jì)的延遲是否等于0(它可對應(yīng)于呼叫的開始,或者具有為0的先前估計(jì)延遲值的呼叫的中間)。如果這些情況中的任意之一為真,那么流程進(jìn)入判定菱形框529,確定是否存在兩個(gè)有效的測量結(jié)果。如上參考圖22所述,利用SR_ERLE和PAR核實(shí)每個(gè)單個(gè)的估計(jì)延遲,只有當(dāng)單個(gè)的估計(jì)延遲被核實(shí)之后,才保存對應(yīng)的延遲測量結(jié)果。于是,每個(gè)測量周期(本實(shí)施例中每300毫秒),才存在獲得另一有效測量結(jié)果的可能性。假定至少存在兩個(gè)有效的測量結(jié)果(為了獲得它們,至少需要兩個(gè)測量周期),流程進(jìn)入方框530,估計(jì)延遲的“快速跟蹤”計(jì)算開始于方框530。
在方框530,將兩個(gè)連續(xù)的有效測量結(jié)果填充到第一緩沖器中。流程進(jìn)入方框532,獲得這兩個(gè)測量結(jié)果之間的離差和這兩個(gè)測量結(jié)果的平均值。離差可以是這兩個(gè)測量結(jié)果之間的差值。流程進(jìn)入判定菱形框534,確定離差是否小于離差閾值1,平均值是否大于平均值閾值1。如果否,那么不計(jì)算新的估計(jì)延遲,流程進(jìn)入圖9的方框213。但是,如果這些條件被滿足,那么流程進(jìn)入方框542,計(jì)算新的估計(jì)延遲。于是,離差閾值1和平均值閾值1確保只有當(dāng)這兩個(gè)測量結(jié)果彼此足夠一致時(shí),才計(jì)算新的估計(jì)延遲。換句話說,如果脈沖響應(yīng)達(dá)到其最大值時(shí)的后續(xù)測量結(jié)果相差太大,那么中斷延遲的估計(jì),直到后續(xù)的測量結(jié)果更一致為止(即相互更接近)。在方框542中,可使用下面的等式來計(jì)算新的估計(jì)延遲等式25新的估計(jì)延遲=平均值-偏移量在上面的等式中,平均值對應(yīng)于在方框532獲得的兩個(gè)測量結(jié)果的平均值,偏移量是與在達(dá)到脈沖響應(yīng)內(nèi)的峰值之前,開始實(shí)質(zhì)響應(yīng)的時(shí)間的數(shù)量。即,參見圖37,峰值對應(yīng)于比T1(純延遲)大T4的時(shí)間。于是必須從峰值處的時(shí)間(Tpeak)的值中扣除T4。偏移量對應(yīng)于該T4值,可利用關(guān)于本領(lǐng)域中存在的不同但是典型的混合電路的脈沖響應(yīng)的統(tǒng)計(jì)信息確定該偏移量,并且該偏移量可被編程到回波消除器20中。隨后在方框544中應(yīng)用新的估計(jì)延遲(對應(yīng)于估計(jì)延遲130)。例如,應(yīng)用估計(jì)的延遲130可對應(yīng)于啟用圖解說明自適應(yīng)濾波器28的一個(gè)實(shí)施例的圖4中的可選的延遲塊66。于是,通過使用純延遲估計(jì),自適應(yīng)濾波器28所需的濾波器抽頭的數(shù)目被減小,因?yàn)轫憫?yīng)的純延遲部分的系數(shù)可被認(rèn)為為0。
注意備選實(shí)施例可能在判定菱形框529中需要多于兩個(gè)或者少于兩個(gè)的測量結(jié)果來繼續(xù)“快速跟蹤”計(jì)算。在一個(gè)實(shí)施例中,可能只需要一個(gè)有效測量結(jié)果,這種情況下,不計(jì)算離差和平均值(因?yàn)橹皇褂靡粋€(gè)測量結(jié)果)。另外,于是在確定是否進(jìn)入方框542之前,能夠?qū)φ掌骄甸撝?檢查實(shí)際值,不需要離差計(jì)算。在需要兩個(gè)以上的有效測量結(jié)果的備選實(shí)施例中,離差可對應(yīng)于相對于有效測量結(jié)果獲得的方差。于是,備選實(shí)施例可能需要任意數(shù)目的有效測量結(jié)果。
如果在判定菱形框528,確定這不是首次通過該呼叫(即,通常表示在呼叫的中間執(zhí)行純延遲的估計(jì)),并且在先的延遲估計(jì)量不為0,那么流程進(jìn)入判定菱形框535,確定是否存在M個(gè)有效測量結(jié)果。在一個(gè)實(shí)施例中,M被選擇為3或4或5(取決于回波消除器安裝者選擇的特定設(shè)置)。M的值可被選擇成在更新(即改變)當(dāng)前估計(jì)的延遲值之前,需要更多或更少的有效測量結(jié)果。M的值越大,那么流程越少進(jìn)入方框536。于是,M可被選擇為任意值,并不局限于3~5。如果不存在M個(gè)有效測量結(jié)果,那么流程進(jìn)入圖9的方框213,繞過改變估計(jì)延遲值的可能。但是,如果存在M個(gè)有效測量結(jié)果,那么流程進(jìn)入方框536,用M個(gè)連續(xù)的有效測量填充第二緩沖器。
在方框538,計(jì)算離差,平均值,以及平均值和在先平均值之間的差值。如上所述,可按照各種方式計(jì)算離差。例如,如果M僅為2,那么離差可以只是差值。另一方面,離差可被計(jì)算成方差。在先平均值對應(yīng)于在前一次通過方框538或532時(shí)計(jì)算的平均值。在方框538的計(jì)算之后,流程進(jìn)入判定菱形框540,使用各種閾值來確定是否值得改變估計(jì)的延遲。于是,判定菱形框540的閾值可被用于建立在呼叫中間改變估計(jì)的純延遲的更穩(wěn)健標(biāo)準(zhǔn)。
在判定菱形框540,比較離差和離差閾值2,比較平均值和平均值閾值2,比較平均值與在先平均值的差值和差值閾值。如果離差小于離差閾值2,或者平均值大于平均值閾值2,或者如果差值小于差值閾值,那么流程進(jìn)入圖9的方框213,不計(jì)算新的估計(jì)延遲(即,保持當(dāng)前的估計(jì)延遲)。但是,如果所有這些條件都被滿足(離差小于離差閾值2,平均值大于平均值閾值2,和差值大于差值閾值),那么流程進(jìn)入方框542,計(jì)算新的估計(jì)延遲(如同參考等式25所述),并在方框544中應(yīng)用新的估計(jì)延遲,如上所述。和“快速跟蹤”的情況一樣,離差閾值2確保M個(gè)有效測量結(jié)果不會相互偏差過大,平均值確保M個(gè)有效測量結(jié)果足夠大,足以保證改變純延遲的必要性(例如,如果平均值相當(dāng)小,那么可能不需要改變回波消除器的純延遲,因?yàn)槿绻‘?dāng)?shù)販?zhǔn)備的話,自適應(yīng)濾波器28能夠容納較小的純延遲)。差值與差值閾值的比較防止當(dāng)前的估計(jì)延遲被改變,如果差值過小(即,小于差值閾值),從而不值得改變的話。
圖24圖解說明可被回波消除器20用于減少M(fèi)IPS(每秒百萬條指令,數(shù)字信號處理器應(yīng)用的一個(gè)常見量度)的可選監(jiān)視模式的一個(gè)實(shí)施例。圖24的流程是圖9的方框211的一部分,它可被用于確定何時(shí)應(yīng)執(zhí)行圖21的流程。該流程開始于方框518,計(jì)算回波返回?fù)p耗增益量(ERLE)。該ERLE對應(yīng)于自適應(yīng)濾波器28的收斂性的“良好性”(即,提供關(guān)于多少回波實(shí)際上未被自適應(yīng)濾波器28消除的信息)??墒褂孟旅娴牡仁絹碛?jì)算ERLE等式26ERLE(n)=10*log10(PSin(n)/Perror(n))于是,ERLE對應(yīng)于PSin和Perror之間的比值,n是樣本數(shù)(注意可利用上面的等式1和2計(jì)算PSin和Perror)。于是在監(jiān)視模式下,該ERLE值被用于進(jìn)入圖21的純延遲調(diào)整過程。流程進(jìn)入判定菱形框520,比較ERLE與ERLE閾值。ERLE大于或等于ERLE閾值,那么自適應(yīng)濾波器28的收斂性足夠,不需要執(zhí)行純延遲估計(jì);于是,流程進(jìn)入圖9的方框213。但是,如果ERLE小于ERLE閾值,那么自適應(yīng)濾波器28的收斂性不夠,流程進(jìn)入方框521,ERLE計(jì)數(shù)器被遞增(注意該ERLE計(jì)數(shù)器可在每個(gè)呼叫開始時(shí)被初始化)。流程隨后進(jìn)入判定菱形框523,比較ERLE計(jì)數(shù)器與ERLE計(jì)數(shù)器閾值。如果ERLE計(jì)數(shù)器還沒有達(dá)到ERLE計(jì)數(shù)器閾值,那么流程繞過方框522(對應(yīng)于圖21的流程),并進(jìn)入圖9的方框213。但是,如果ERLE計(jì)數(shù)器已達(dá)到ERLE計(jì)數(shù)器閾值,那么流程進(jìn)入方框522,執(zhí)行圖21的整個(gè)流程(如上所述)。流程隨后進(jìn)入方框524,重置ERLE計(jì)數(shù)器,隨后流程進(jìn)入圖9的方框213。
ERLE計(jì)數(shù)器和ERLE計(jì)數(shù)器閾值確保如果在方框518計(jì)算的ERLE是邊界(過于頻繁地發(fā)生從高于ERLE閾值到低于ERLE閾值的變化),那么不重新計(jì)算和更新純延遲。即,在能夠進(jìn)入圖21的流程之前,ERLE必須持續(xù)一段時(shí)間低于ERLE閾值(由ERLE計(jì)數(shù)器和ERLE計(jì)數(shù)器閾值控制)。這有助于避免純延遲估計(jì)的快速和不必要的變化。
圖8和25-27與可在回波消除器20內(nèi)使用的音調(diào)檢測的一個(gè)實(shí)施例相關(guān),其中圖8以方框圖的形式圖解說明了監(jiān)視和控制單元30的一部分。圖25-27以流程圖的形式圖解說明了圖9的方框209的一部分。當(dāng)給回波消除器20的至少一個(gè)輸入(例如Rin 44或Sin 38)是音調(diào)時(shí),自適應(yīng)濾波器62的穩(wěn)定性會受到影響,導(dǎo)致電信網(wǎng)絡(luò)中令人不快的失真和服務(wù)質(zhì)量的降低。音調(diào)是由在某一段時(shí)間內(nèi),具有恒定幅度、頻率和相位的許多正弦波分量組成的信號。
試圖使殘留回波的平均功率降至最小的任意自適應(yīng)算法(例如自適應(yīng)濾波器(62)使用的自適應(yīng)算法)都具有取決于Rin 44的自相關(guān)矩陣的動態(tài)行為。某些類別的接收路徑信號可使這種矩陣成為奇異矩陣,這會暫時(shí)破壞自適應(yīng)過程,使自適應(yīng)濾波器62的濾波器系數(shù)偏離理想值。例如,正弦波信號(單頻音調(diào))會產(chǎn)生這種情況。這種情況下,正弦波信號Rin(n)=Acos(Ωn+φ)的自相關(guān)性r(k)由r(k)=A2cos(Ωk)/2給出,多數(shù)實(shí)際情況下這導(dǎo)奇異自相關(guān)矩陣(即,當(dāng)其維數(shù)較大時(shí))。當(dāng)發(fā)生這種情況時(shí),自適應(yīng)算法的可能輸出是具有正弦波形的一組濾波器系數(shù)(對于自適應(yīng)濾波器(62)來說),這是實(shí)際的混合電路脈沖響應(yīng)的不正確估計(jì),圖37中給出了其一個(gè)例子。
類似地,多頻音調(diào)也會產(chǎn)生類似的問題,因?yàn)楫?dāng)分量的數(shù)目M不夠大,或者矩陣具有較大維數(shù)時(shí),它們的自相關(guān)性rM(k)=Σm=1MA2cos(Ωmk)/2]]>仍能產(chǎn)生奇異自相關(guān)矩陣。注意矩陣維數(shù)取決于用于估計(jì)混合電路的脈沖響應(yīng)的濾波器系數(shù)的數(shù)目。于是,最好檢測任意信令和控制音調(diào)的存在,隨后停止自適應(yīng)濾波器62的自適應(yīng)處理,從而防止偏離一組良好的濾波器系數(shù)。
下面將參考圖25-27說明的一個(gè)實(shí)施例使用諸如改進(jìn)形式的Teager-Kaiser濾波器之類的多項(xiàng)式濾波器來指示任意頻率的正弦波信號的存在,使用平滑相關(guān)算法來識別預(yù)定的單頻音調(diào),使用判定邏輯來可靠地檢測音調(diào)。注意可使用任意適當(dāng)?shù)亩囗?xiàng)式濾波器。圖8中圖解說明的多項(xiàng)式濾波器只是一個(gè)例子。雖然這里描述的實(shí)施例通常關(guān)系到回波消除器20,不過它們可用在需要音調(diào)指示和檢測的任意設(shè)備或電信設(shè)備,并不僅僅局限于回波消除器。
圖8包括功率估計(jì)器134的一個(gè)實(shí)施例,它可通過修改后的能量運(yùn)算符,將任意單頻音調(diào)變換成常數(shù)。即,單頻音調(diào)可被如下表示。
等式27x(n)=Acos(Ωn+φ)修改后的能量運(yùn)算符Ψk可被表示成如下所示。
等式28Ψk(x(n))=X2(n-k)-x(n)x(n-2k)=A2sin2(kΩ)在上面的等式中,注意x2(n-k)-x(n)x(n-2k)對應(yīng)于圖8中的加法器144的輸出(即,延遲器136的輸出是x(n-k),延遲器138的輸出是x(n-2k),乘法器140的輸出是x(n)x(n-2k),乘法器142的輸出是x2(n-k),加法器144的輸出是乘法器142的輸出與乘法器140的輸出的負(fù)值之和)。注意輸入信號x(n)可對應(yīng)于Rin 44或Sin 38。此外,通過將等式27的x(n)代入x2(n-k)-x(n)x(n-2k),獲得結(jié)果A2sin2(kΩ)。于是,注意Ψ取決于音調(diào)的幅度A和歸一化頻率Ω(Ω=2πf/fs,這里f是音調(diào)頻率,fs是采樣頻率,一個(gè)實(shí)施例中,fs為8kHz)。這些等式中的參數(shù)k定義基礎(chǔ)的子速率處理,k可以是任意整數(shù),包括1。于是,以采樣速率fs應(yīng)用Ψk等同于以采樣速率fs/k應(yīng)用Ψ1。如上所述,子速率處理可被用于降低計(jì)算要求,只處理每個(gè)第k個(gè)樣本。另外注意Ψk(x(n))并不取決于初始相位φ,不過當(dāng)相位突然變化時(shí),確實(shí)產(chǎn)生短期瞬時(shí)現(xiàn)象,它可被用于檢測通信信號x(n)中的相位變化。
x(n)的功率(等式27)可用下面的等式來表示。
等式29Powerx(n)=A2/2于是,注意Ψk(x(n))提供縮放2sin2(kΩ)的x(n)的功率,以致
等式30Ψk(x(n))=Powerx(n)*2sin2(kΩ)關(guān)于Ψk(x(n))求解Powerx(n),于是形成下述等式等式31Powerx(n)=Ψk(x(n))csc2(kΩ)/2但是,實(shí)際上,信號x(n)(如上所述,在圖8中圖解說明的實(shí)施例中,它可對應(yīng)于Rin 44或Sin 38)會被噪聲破壞,導(dǎo)致噪聲估計(jì)量Ψnoisyk(x(n))。隨后可使用任意低通濾波器來使結(jié)果平滑,例如單極低通濾波器。于是,如圖8中所示,功率估計(jì)器134包括接收幅度器146的輸出(對應(yīng)于加法器144的輸出的絕對值)和來自存儲器150的a,并提供Ψnoisyk(x(n))的平滑估計(jì)量P(n)的低通濾波器??捎孟旅娴牡仁奖硎綪(n)。
等式32P(n)=aP(n-1)+(1-a)|x2(n-k)-x(n)x(n-2k)|在上面的等式中,a是控制平滑低通濾波器的帶寬的平滑參數(shù)(0<a<1)。注意a可以使用固定的或者可變的平滑參數(shù)。隨后將P(n)提供給圖8的音調(diào)指示判定單元166,音調(diào)指示判定單元166根據(jù)估計(jì)量P(n)的方差,指示是否存在音調(diào),如同下面參考圖26更詳細(xì)說明的一樣。雖然圖26涉及的是功率,不過也可使用通信信號的其它函數(shù),例如相關(guān)性(參見圖27)或者甚至通信信號本身。
一旦存在音調(diào),那么一個(gè)實(shí)施例檢測具有或不具有相位反轉(zhuǎn)的預(yù)定單頻音調(diào),例如2100Hz信令音調(diào)。下面將參考圖27更詳細(xì)地說明檢測預(yù)定音調(diào)的一個(gè)實(shí)施例。于是,一個(gè)實(shí)施例可以只包括圖26的音調(diào)檢測,而如圖25中圖解說明的備選實(shí)施例可包括圖26和27的算法之間的交互作用。此外,圖26的實(shí)施例也可用于監(jiān)視模式,以便在收到音調(diào)之后,重新啟動自適應(yīng)濾波器62的自適應(yīng)過程。即,利用P(n)的方差,還能夠檢測信令音調(diào)和話音信號之間的轉(zhuǎn)變(即,當(dāng)方差大于某一預(yù)定閾值時(shí),檢測到所述轉(zhuǎn)變)。
已知估計(jì)值P(n),音調(diào)指示判定單元166可被用于根據(jù)圖26的流程檢測音調(diào)。圖26的流程檢測其中P(n)的方差較小的時(shí)間間隔。每當(dāng)在x(n)上存在單頻音調(diào)時(shí),預(yù)期與P(n)的較小方差對應(yīng)的恒定水平的P(n)。如果音調(diào)由一個(gè)以上的頻率組成,那么P(n)的方差將增大,但是平均水平仍然保持恒定。于是,根據(jù)方差水平,能夠指示單步音調(diào)或多頻音調(diào)。于是圖26中,流程開始于方框588,將k、a、m、r、Plow和Nmin設(shè)置成所需值。根據(jù)系統(tǒng)中預(yù)期的音調(diào)頻率范圍和噪聲電平,這些值可以是,例如k=2,a=0.9,m=1,r=0.95,Plow=2-8。Nmin取決于要檢測的音調(diào)的采樣速率和最小所需持續(xù)時(shí)間。流程進(jìn)入判定菱形框590,確定P(n)是否大于Plow,這里Plow對應(yīng)于表示要考慮的最小信號電平的閾值。如果否,那么流程進(jìn)入方框598,檢測計(jì)數(shù)器被重置(為0),隨后進(jìn)入方框604,指示未檢測到音調(diào),隨后進(jìn)入圖25的方框554。但是,如果P(n)至少大于Plow,那么流程從判定菱形框590進(jìn)入方框592,計(jì)算Pmin和Pmax。Pmin對應(yīng)于相隔m個(gè)樣本的P(n)的兩個(gè)估計(jì)量中的極小值,Pmax對應(yīng)于相隔m個(gè)樣本的P(n)的兩個(gè)估計(jì)量中的極大值。
等式33Pmin=MIN(P(n),P(n-m))等式34Pmax=MAX(P(n),P(n-m))通過比較Pmin和Pmax,估計(jì)方差水平。于是,流程進(jìn)入判定菱形框594,比較Pmin和Pmax的比值(即,Pmin/Pmax)和音調(diào)指示閾值。如果它不大于音調(diào)指示閾值r,那么流程進(jìn)入方框598,判定計(jì)數(shù)器被重置,隨后進(jìn)入方框604,表示沒有檢測到音調(diào),之后進(jìn)入圖25的方框554。但是,如果Pmin/Pmax大于音調(diào)指示閾值,那么認(rèn)為P(n)相當(dāng)穩(wěn)定(Pmin和Pmax足夠接近),表示可能存在音調(diào)。這種情況下,流程進(jìn)入方框596,檢測計(jì)數(shù)器被遞增(注意檢測計(jì)數(shù)器可在呼叫開始時(shí),或者在進(jìn)入圖26的流程之前的任意其它適當(dāng)時(shí)候被初始化或重置)。
流程進(jìn)入判定菱形框600,確定檢測計(jì)數(shù)器是否大于Nmin。如果檢測計(jì)數(shù)器未達(dá)到Nmin,那么流程進(jìn)入方框604,指示沒有檢測到音調(diào),隨后進(jìn)入圖25的方框554。但是,如果檢測計(jì)數(shù)器大于Nmin,那么流程進(jìn)入方框602,檢測音調(diào)(它對應(yīng)于圖8中音調(diào)指示器信號168的斷言。流程隨后進(jìn)入圖25的方框554。于是,當(dāng)P(n)大于最小水平(Plow),P(n)的方差小于最小值(與音調(diào)指示閾值相關(guān)),并且檢測計(jì)數(shù)器大于最小值(Nmin)時(shí),檢測到音調(diào)。檢測計(jì)數(shù)器確保在檢測到音調(diào)并斷言音調(diào)指示器信號168之前,音調(diào)已至少存在預(yù)定的一段時(shí)間(對應(yīng)于Nmin)。這有助于避免檢測到音調(diào)和未檢測到音調(diào)之間的快速轉(zhuǎn)換,這會導(dǎo)致過于頻繁地啟用或禁用自適應(yīng)濾波器62的自適應(yīng)過程。
圖8包括平滑相關(guān)器152的一個(gè)實(shí)施例。可按照不同的方式使用該相關(guān)器,包括檢測任意預(yù)定的單頻音調(diào),檢測調(diào)幅信號的載波,檢測其頻率接近于標(biāo)稱頻率的多分量音調(diào)。平滑相關(guān)器152接收輸入信號x(n)(如上所述,它可以是Rin 44或Sin 38)的樣本,以及來自存儲器150的三個(gè)控制參數(shù)(c、b和e),并產(chǎn)生兩個(gè)相關(guān)估計(jì)量R0(n)和R1(n)。如下所述,這些相關(guān)估計(jì)量被用于指示預(yù)定音調(diào)的存在??刂茀?shù)c定義產(chǎn)生具有歸一化頻率Ωd=2πfd/fs的預(yù)定單頻音調(diào)的二級數(shù)字振蕩器w(n)的系數(shù)之一,這里如上所述,fs是輸入采樣頻率。用狀態(tài)w(-1)=1和w(-2)=c=cos(Ωd)初始化振蕩器,并使用由w(n)=2*c*w(n-1)-w(n-2)給出的標(biāo)準(zhǔn)二級數(shù)字振蕩器(注意該振蕩器可對應(yīng)于圖8的振蕩器164,接收c并提供w(n)作為給乘法器156和158的輸出)。輸入信號x(n)和延遲形式的輸入信號x(n-e)(即圖8的延遲器154的輸出)與w(n)相關(guān)(通過乘法器156和158),隨后通過低通濾波器(即,圖8的低通濾波器160接收乘法器的輸出(它可表示成x(n)w(n),圖8的低通濾波器162接收乘法器156的輸出(它可表示成x(n-e)w(n)))。作為給低通濾波器160和162的輸入而提供的參數(shù)b(0<b<1)定義低通濾波器的帶寬。另外,平滑濾波器152的一個(gè)實(shí)施例可將平滑單極低通濾波器用于低通濾波器160和162。另外,在備選實(shí)施例中,振蕩器信號w(n)和延遲的振蕩器信號w(n-e)可與x(n)相關(guān),而不是使w(n)與x(n)和x(n-e)相關(guān)。另外,在一個(gè)實(shí)施例中,e是如下表示的延遲因子。
等式35 上面的等式對應(yīng)于接近于90°的相差, 表示大于或等于其變元x的最小整數(shù)。
參見圖8,低通濾波器160的輸出是相關(guān)估計(jì)量R0(n),低通濾波器162的輸出是相關(guān)估計(jì)量R1(n),這兩者都被提供給音調(diào)指示判定單元166。R0(n)和R1(n)可被表示成R0(n)=b·R0(n-1)+(1-b).w(n)·x(n),R1(n)=b·R1(n-1)+(1-b)·w(n)·x(n-e)。于是,在音調(diào)指示判定單元(利用上述圖26的流程)指出未知音調(diào)的情況下,利用圖27的流程分析R0(n)和R1(n),以便識別預(yù)定的單頻單調(diào)的存在(對應(yīng)于振蕩器164)。
圖27的流程使檢測的音調(diào)與預(yù)定的單頻音調(diào)相關(guān)聯(lián),以便檢測特定的音調(diào)。在圖27中,流程開始于方框606,c、e、b、u、q和Mmin被設(shè)置成所需值。參數(shù)c直接與要檢測的目標(biāo)音調(diào)的頻率相關(guān),它還定義延遲值e。根據(jù)系統(tǒng)中的噪聲電平,剩余的值可以是例如b=0.9,u=1,q=0.95,Plow=2-8。Mmin取決于采樣速率和要檢測的目標(biāo)音調(diào)的所需最小持續(xù)時(shí)間。流程隨后進(jìn)入方框608,評估R(n),Rmin和Rmax,如下面的等式中所示。
等式36R(n)=MAX(|R0(n)|,|R1(n)|)等式37Rmin=MIN(R(n),R(n-u))等式38Rmax=MAX(R(n),P(n-u))R(n)指的是R0(n)和R1(n)之間的峰值幅度相關(guān)性,Rmin對應(yīng)于隔開u個(gè)樣本的R(n)的兩個(gè)估計(jì)量中的極小值,Rmax對應(yīng)于隔開u個(gè)樣本的R(n)的兩個(gè)估計(jì)量中的極大值。流程隨后進(jìn)入判定菱形框610,比較Rmin和Rmax的比值(Rmin/Rmax)與相關(guān)性閾值q(在一個(gè)實(shí)施例中,它被設(shè)置成0.95)。如果比值不大于相關(guān)性閾值,那么流程進(jìn)入方框616,相關(guān)性計(jì)數(shù)器被重置(為0),隨后進(jìn)入方框618,指示沒有檢測到預(yù)定頻率(Dr=0),隨后進(jìn)入圖25的方框560。但是,如果比值大于閾值,那么流程進(jìn)入方框612,相關(guān)性計(jì)數(shù)器被遞增(注意相關(guān)性計(jì)數(shù)器也可在呼叫開始時(shí)被初始化或重置)。流程進(jìn)入判定菱形框614,對照Mmin檢查相關(guān)性計(jì)數(shù)器。如果相關(guān)性計(jì)數(shù)器不大于Mmin,那么流程進(jìn)入方框618,指示沒有檢測到預(yù)定頻率(Dr=0)。
但是,如果在判定菱形框614,確定相關(guān)性計(jì)數(shù)器大于Mmin,那么流程進(jìn)入判定菱形框620,確定R(n)是否等于R0(n)的絕對值。如果是,那么流程進(jìn)入方框622,以R0(n)的符號檢測預(yù)定頻率,即Dr=Sign(R0(n))。如果否,那么流程進(jìn)入方框624,以R1(n)的符號檢測預(yù)定頻率,即Dr=Sign(R1(n))。從方框622或624,流程進(jìn)入圖25的方框560。于是,類似于在圖26中描述的用于檢測任意音調(diào)的流程,當(dāng)R(n)的方差持續(xù)由相關(guān)性計(jì)數(shù)器和Mmin定義的預(yù)定一段時(shí)間較小時(shí),檢測到預(yù)定音調(diào)。如上關(guān)于檢測計(jì)數(shù)器和Nmin所述那樣,這有助于避免快速轉(zhuǎn)換。圖27的方法等同于使用由下面的等式給出的有效平滑相關(guān)性等式39Reff(n)=1/2{[R0(n)-R1(n)]sign(|R0(n)|-|R1(n)|)+[R0(n)+R1(n)]}上面的等式產(chǎn)生R0(n)或R1(n),取決于具有最大幅度的分量。
圖25中圖解說明了包括圖26和27的流程的整個(gè)處理流程的一個(gè)實(shí)施例,圖25根據(jù)一個(gè)實(shí)施例,圖解說明圖9的方框209的一部分。在圖25中,流程開始于方框550,分別關(guān)于Dpositive(Dp)和Dnegative(Dn)選擇最小計(jì)數(shù)器值(Lmin-p和Lmin-n)。這些值被選擇成以致正相和負(fù)相的所需最小持續(xù)時(shí)間被滿足。Dp對應(yīng)于用于正相的計(jì)數(shù)器,Dn對應(yīng)于用于負(fù)相的計(jì)數(shù)器。
流程隨后進(jìn)入方框552,檢測關(guān)于任意單頻音調(diào)的搜索。圖26的流程可被用于確定任意單頻音調(diào)的存在。流程進(jìn)入判定菱形框554,如果沒有檢測到音調(diào),那么流程進(jìn)入558,Dp和Dn計(jì)數(shù)器被重置(為0),流程進(jìn)入方框582,表示沒有檢測到音調(diào),隨后進(jìn)入圖9的方框211。但是,如果檢測到音調(diào),那么流程進(jìn)入方框556,使檢測到的音調(diào)與預(yù)定的單頻音調(diào)相關(guān)聯(lián)。于是,圖27的流程可被用于執(zhí)行方框556。流程進(jìn)入判定菱形框560,確定Dr是否為0。如果是,那么在方框556(例如圖27的方框618)中沒有確定預(yù)定的頻率,流程進(jìn)入方框558,Dp和Dn計(jì)數(shù)器被重置。但是如果否,那么流程進(jìn)入判定菱形框562,確定Dr是否大于0。如果是,那么流程進(jìn)入方框564,遞增正相計(jì)數(shù)器;否則,流程進(jìn)入方框566,遞增負(fù)相計(jì)數(shù)器。
在方框564或566,流程通過點(diǎn)G進(jìn)入方框568,F(xiàn)lagpositive(Fp)和Flagnegative(Fn)被重置(為0)。流程進(jìn)入判定菱形框570,如果Dp大于Lmin-p,那么在方框572中,F(xiàn)p被設(shè)置為1,否則流程進(jìn)入判定菱形框574,繞過方框572。在判定菱形框574,確定Dn是否大于Lmin-n,如果是,那么在方框576中,F(xiàn)n被設(shè)置為1。如果否,那么流程進(jìn)入判定菱形框578,繞過方框576。在判定菱形框578,如果Fp和Fn為0(即,如果Fp+Fn為0),那么流程進(jìn)入方框582,指示沒有檢測到音調(diào)。即,如果計(jì)數(shù)器(Dp或Dn)都不分別大于某一最小值(例如Lmin-p或Lmin-n),那么沒有檢測到所需的音調(diào)。
但是,如果Fp+Fn不為0,那么流程進(jìn)入判定菱形框580,表示檢測到音調(diào)。如果只有一個(gè)計(jì)數(shù)器大于Lmin(Dp或Dn),那么Fp+Fn不大于1,流程進(jìn)入方框584,表示在不存在相關(guān)性符號反轉(zhuǎn)的情況下,檢測到所需的音調(diào)。如果Dp和Dn都大于它們各自的Lmin,那么流程進(jìn)入方框586,表示在存在相關(guān)性符號反轉(zhuǎn)的情況下,檢測到所需的音調(diào)。如果在相關(guān)性符號反轉(zhuǎn)期間,R(n)的平均水平保持不變,那么指示相位反轉(zhuǎn)。于是,圖25的流程組合圖26和27的流程,并且檢查相位反轉(zhuǎn)。備選實(shí)施例通過檢測P(n)的突然變化,識別指定單頻音調(diào)中的相位變化(不一定是180°)。
注意至此的描述假定自適應(yīng)濾波器28內(nèi)的可選的非自適應(yīng)濾波器64并不存在(參見圖4);于是,對自適應(yīng)濾波器28的系數(shù)或抽頭的任意引用類似于對自適應(yīng)濾波器28內(nèi)的自適應(yīng)濾波器62的系數(shù)或抽頭的引用。于是,在前面的說明中,不必與自適應(yīng)濾波器28分離地提到自適應(yīng)濾波器62。但是,在圖28-36的說明中,非自適應(yīng)濾波器64可能存在,并且可被看作自適應(yīng)濾波器28的一部分。于是,在上面的說明內(nèi)使用的自適應(yīng)濾波器62的系數(shù)現(xiàn)在將更具體地稱作自適應(yīng)濾波器62的系數(shù)或抽頭,因?yàn)樽赃m應(yīng)濾波器28可包括各種不同的濾波器,例如自適應(yīng)濾波器62和非自適應(yīng)濾波器64的組合。
如上所述,自適應(yīng)濾波器62跟蹤混合電路16引入的回波,從而通常需要大量的抽頭。例如,為了跟蹤圖37的整個(gè)脈沖響應(yīng),自適應(yīng)濾波器28的自適應(yīng)濾波器62(假定采樣速率為8kHz)需要256個(gè)抽頭,256個(gè)抽頭持續(xù)32毫秒,從而覆蓋整個(gè)脈沖響應(yīng)。隨著自適應(yīng)濾波器62的抽頭數(shù)目的增大,計(jì)算復(fù)雜性增大,通常降低收斂速度。上面參考圖20-24說明的方法允許檢測純延遲,以便允許自適應(yīng)濾波器62使用覆蓋純延遲之后的脈沖響應(yīng)的稀疏窗口。下面將參考圖28-36說明的方法涉及縮短回波路徑跨距的機(jī)制。即,除了檢測微調(diào)純延遲之外,還檢測和壓縮發(fā)散時(shí)間,以便縮短脈沖響應(yīng)的回波路徑跨距。如下所述,一個(gè)實(shí)施例增加固定或自適應(yīng)濾波器,以便減小使殘留回波降至最小所需的抽頭的有效數(shù)目。
如圖37中所示,脈沖響應(yīng)固有的是零點(diǎn)和極點(diǎn)。零點(diǎn)阻止在對應(yīng)頻率的響應(yīng),但是極點(diǎn)增強(qiáng)在對應(yīng)頻率的響應(yīng)。于是,通過增加一個(gè)或多個(gè)濾波器來補(bǔ)償極點(diǎn),脈沖響應(yīng)可被壓縮,從而需要較少數(shù)目的抽頭。例如,采取具有表示為比值B(z)/A(z)的傳遞函數(shù)H(z)的IIR濾波器,濾波器A′(z)可被設(shè)置成補(bǔ)償H(z)的極點(diǎn),以致H(z)*A′(z)≈B(z)。如圖2中所示,一個(gè)實(shí)施例使用可選的非自適應(yīng)濾波器31和35,以致非自適應(yīng)濾波器31的輸出(即Sin 39)等同于與非自適應(yīng)濾波器31卷積的回波。但是,跟在DC陷波濾波器45之后的非自適應(yīng)濾波器31的存在在Sin 37中引入需要補(bǔ)償?shù)氖д?。于是,可引入非自適應(yīng)濾波器35來接收誤差信號46,和產(chǎn)生濾波后的誤差信號47。假定非自適應(yīng)濾波器31是具有傳遞函數(shù)A′(z)的FIR濾波器,非自適應(yīng)濾波器35是具有傳遞函數(shù)1/A′(z)的反轉(zhuǎn)IIR濾波器。但是,需要關(guān)于A′(z)的限制,因?yàn)镕IR濾波器31的A′(z)的零點(diǎn)變成反轉(zhuǎn)IIR濾波器35的1/A′(z)的極點(diǎn)。關(guān)于A′(z)的零點(diǎn)的這些限制將在下面進(jìn)一步說明,并且防止非自適應(yīng)IIR濾波器35的極點(diǎn)放大誤差信號47。
備選實(shí)施例可使用非自適應(yīng)濾波器的不同安排。例如,非自適應(yīng)濾波器35可在加法器34之前,被安置在非自適應(yīng)濾波器31及自適應(yīng)濾波器62的輸出端(它可導(dǎo)致相同的最終效果),而不是被安置在加法器34的輸出端。在該實(shí)施例中,其后緊跟非自適應(yīng)濾波器35的非自適應(yīng)濾波器31會彼此有效地抵消,以便在Sin 38和Sin 39之間不需要任何濾波器(即,Sin 39和Sin 38相同)。從而,自適應(yīng)濾波器28可被設(shè)計(jì)成包括可選的非自適應(yīng)濾波器64(類似于非自適應(yīng)濾波器35)。于是,在本實(shí)施例中,只需要一個(gè)額外的濾波器。但是,如果IIR濾波器被用于非自適應(yīng)濾波器64,那么仍然需要關(guān)于穩(wěn)定性的限制。即,由濾波器64的系數(shù)定義的多項(xiàng)式的所有根應(yīng)小于1(即在單位圓內(nèi)),下面將更詳細(xì)地說明。注意如同在整個(gè)說明內(nèi)使用的那樣,對于傳遞函數(shù)H(z)=W來說,W的根對應(yīng)于H(z)的零點(diǎn),而對于H(z)=1/W來說,W的根對應(yīng)于H(z)的極點(diǎn)。在其系數(shù)并不隨著主自適應(yīng)濾波器62的系數(shù)定期修改的意義上,可選的濾波器31、35和64是非自適應(yīng)的。通常,它們可被看作其自適應(yīng)率受事件驅(qū)動的自適應(yīng)濾波器。
圖28根據(jù)本發(fā)明的一個(gè)實(shí)施例,圖解說明圖9的方框213的一部分。流程開始于判定菱形框626,確定自適應(yīng)濾波器縮短估計(jì)選項(xiàng)是否被啟用。如果否,那么流程繞過圖28的流程,進(jìn)入圖9的方框212。但是,如果被啟用,那么流程進(jìn)入判定菱形框628??砂凑崭鞣N不同的方式啟用自適應(yīng)濾波器縮短估計(jì)選項(xiàng)。例如,它可以是自我啟用的,例如響應(yīng)系統(tǒng)重置。另一方面,可在圖4的延遲單元66(如果存在的話)內(nèi)檢測到不同延遲的任意時(shí)間,或者每當(dāng)檢測到新的混合電路時(shí),可啟用自適應(yīng)濾波器縮短估計(jì)選項(xiàng)。為非自適應(yīng)濾波器64或非自適應(yīng)濾波器31和35選擇的系數(shù)取決于特定的混合電路16,因?yàn)槊總€(gè)不同的混合電路可具有不同的脈沖響應(yīng),所述不同的脈沖響應(yīng)具有不同的純延遲或不同的發(fā)散時(shí)間。
在一個(gè)實(shí)施例中,上面參考圖20-24說明的純延遲估計(jì)在呼叫開始時(shí),或者依據(jù)影響混合電路的變化(例如依據(jù)呼叫轉(zhuǎn)移或呼叫轉(zhuǎn)發(fā)),快速檢測利用子速率處理估計(jì)的純延遲。參考圖28說明的方法確定純延遲和發(fā)散,以便獲得非自適應(yīng)濾波器64或非自適應(yīng)濾波器31和35的濾波器系數(shù)。圖28中的純延遲計(jì)算通常更精確;但是,它通?;ㄙM(fèi)更長的時(shí)間來確定。于是,除了減少自適應(yīng)濾波器62所需的系數(shù)的有效數(shù)目之外,圖28的方法還能夠“微調(diào)”圖20-24提供的純延遲估計(jì)量。圖28的方法確定需要加入延遲單元66中,以便補(bǔ)償加入的濾波器(64或?yàn)V波器31和35)的任意額外的純延遲。即,如下所述,縮短發(fā)散時(shí)間的濾波器的加入也會稍微增大純延遲量,于是可據(jù)此更新(最初由圖20-24的方法確定的)延遲單元66的延遲。如果使用圖24的監(jiān)視模式,那么每次ERLE低于ERLE閾值時(shí),為延遲單元66確定一個(gè)新的純延遲。此外,可響應(yīng)ERLE低于ERLE閾值(即,響應(yīng)由圖21的流程為延遲單元66確定一個(gè)新的純延遲),啟用圖28的自適應(yīng)濾波器縮短估計(jì)選項(xiàng)。
在備選實(shí)施例中,可在無自適應(yīng)濾波器縮短估計(jì)選項(xiàng)的情況下使用圖20-24的流程;或者類似地,在無圖20-24的純延遲估計(jì)方法的情況下,自適應(yīng)濾波器縮短估計(jì)選項(xiàng)可存在于回波消除器中。另一方面,在具有圖20-24的方法的回波消除器中,可獨(dú)立于圖20-24的方法,啟動自適應(yīng)濾波器縮短估計(jì)選項(xiàng)。另外,如果該選項(xiàng)不被啟用(或者該選項(xiàng)仍然用于確定自適應(yīng)濾波器62的新系數(shù),以及另外的非自適應(yīng)濾波器64或另外的非自適應(yīng)濾波器31和35的系數(shù)),那么可以簡單地繞過額外的一個(gè)或多個(gè)濾波器(或者這些濾波器可以不濾波地使信號通過)。
如果在判定菱形框626啟用該選項(xiàng),那么流程進(jìn)入判定菱形框628,確定ERLE是否足夠好(可如等式26中所示計(jì)算ERLE,ERLE對應(yīng)于PSin和Perror之間的比值,可利用上述等式1和2計(jì)算PSin和Perror)。為了確定ERLE是否足夠好,可將它與閾值執(zhí)行比較。例如,閾值可被設(shè)置成大于20dB的值,或者另一方面,可被設(shè)置在30~40dB的范圍內(nèi)。通常,ERLE越高,那么信號越好(因?yàn)檎`差功率Perror越小)。當(dāng)不存在Sgen(近端談話者信號)時(shí)產(chǎn)生足夠高的ERLE,否則ERLE降低。另一方面,在繼續(xù)確定ERLE,并比較ERLE和閾值之前,可從上面描述的近端信號檢測器26確定近端談話者信號是否存在。如果近端談話者信號存在,或者如果ERLE不夠好,那么流程進(jìn)入圖9的方框212,繞過圖28的剩余部分。但是,如果ERLE足夠好(高于閾值),那么流程進(jìn)入方框630。即,當(dāng)存在良好的信號,并且從良好的回波估計(jì)信號48獲得誤差信號46時(shí),應(yīng)執(zhí)行自適應(yīng)濾波器縮短估計(jì)選項(xiàng)。注意在備選實(shí)施例中,系統(tǒng)內(nèi)的許多信號可被用于確定是否存在良好的信號,以便執(zhí)行該選項(xiàng)。
在方框630,確定基于自適應(yīng)濾波器62的當(dāng)前系數(shù)的純延遲和發(fā)散(注意方框630的細(xì)節(jié)將參考圖29說明)。在方框630之后,流程進(jìn)入方框632,根據(jù)在方框630中確定的純延遲和發(fā)散,確定額外的非自適應(yīng)濾波器64或?yàn)V波器31和45的系數(shù)W,以及與新的縮短形式的自適應(yīng)濾波器62對應(yīng)的自適應(yīng)濾波器62的新系數(shù)(注意方框632的細(xì)節(jié)將參考圖30說明)。流程隨后進(jìn)入判定菱形框634,確定新配置是否足夠好。即,可使用不同的標(biāo)準(zhǔn)來確定新的配置是否令人滿意。例如,在一個(gè)實(shí)施例中,如果減少后的新配置的系數(shù)的數(shù)目仍然大于減少后系數(shù)的所需數(shù)目,那么可重復(fù)方框632的處理,以便獲得進(jìn)一步減少的系數(shù)的數(shù)目。另一方面,判定菱形框634可能并不存在,以致只執(zhí)行一次迭代,認(rèn)為方框632的結(jié)果足夠好。
如果在判定菱形框634,新配置足夠好,那么流程進(jìn)入方框636,重新配置自適應(yīng)濾波器62。即,在方框632中確定的用于自適應(yīng)濾波器62的新系數(shù)被載入自適應(yīng)濾波器62,并結(jié)合非自適應(yīng)濾波器64或者結(jié)合非自適應(yīng)濾波器31和35使用自適應(yīng)濾波器62(注意方框636的細(xì)節(jié)將參考圖31說明)。另外注意在方框636中,通過將由添加非自適應(yīng)濾波器而引起的任意必需延遲加入延遲單元66中的現(xiàn)有延遲值中,可更新延遲單元66中的延遲值。流程隨后進(jìn)入方框638,禁用濾波器縮短估計(jì)選項(xiàng)。即,通常不基于每個(gè)樣本執(zhí)行圖28的流程。只有當(dāng)需要時(shí),例如在關(guān)系到啟用自適應(yīng)濾波器縮短估計(jì)選項(xiàng)的例子說明的那些情形下才執(zhí)行圖28的流程。但是,在備選實(shí)施例中,可基于每個(gè)樣本執(zhí)行圖28的流程。
注意在圖28中圖解說明的實(shí)施例中,在確定ERLE足夠好之后,順序執(zhí)行方框630-638。但是,在備選實(shí)施例中,可作為與回波消除器20的其它任務(wù)并行執(zhí)行的獨(dú)立線程,啟動方框630-638(或者方框630-638的子集)。當(dāng)完成圖28的流程時(shí),圖28的方法可提醒回波消除器20結(jié)果準(zhǔn)備就緒,從而能夠更新自適應(yīng)濾波器62。另一方面,可提醒回波消除器20已完成整個(gè)濾波器縮短。例如,可向回波消除器20提供信號或中斷,以指示方框630-638(或者方框630-638的子集)的完成。
圖29圖解說明圖28的方框630的一部分。即,圖29的流程圖解說明根據(jù)自適應(yīng)濾波器62的當(dāng)前系數(shù),確定純延遲和發(fā)散的一個(gè)實(shí)施例。流程開始于方框640,自適應(yīng)濾波器62的系數(shù)的量值被轉(zhuǎn)移到循環(huán)緩沖器中。即,獲得自適應(yīng)濾波器62的濾波器系數(shù)的瞬象,并將其保存在大小為N的,具有存儲單元0~N-1的循環(huán)緩沖器中。自適應(yīng)濾波器62的當(dāng)前系數(shù)H可被表示成H=[h0,…,hN-1],這里h0,…,hN-1對應(yīng)于系數(shù),N對應(yīng)于自適應(yīng)濾波器62的系數(shù)或抽頭的數(shù)目。于是,對應(yīng)于|hn|的值在存儲單元“n MOD N”被保存在循環(huán)緩沖器中,這里n對應(yīng)于樣本數(shù)目,“|x|”表示“x的量值”(并且對應(yīng)于正值)。表達(dá)式“n MODN”對應(yīng)于n的模數(shù),它指的是運(yùn)算n/N的余數(shù)。例如,如果N為256,n的值為270,那么n MOD N指的是14,其中|h270|的值從“存儲單元270”(它超出大小為N的循環(huán)緩沖器的范圍)繞到循環(huán)緩沖器的存儲單元14。于是,如果n的值大于N,那么從n中不斷地減去N的值,直到n落入0~N-1的范圍內(nèi)為止。類似地,如果n的值小于0,那么可連續(xù)地將N的值加入n中,直到n落入0~N-1的范圍內(nèi)為止。
流程隨后進(jìn)入方框642,關(guān)于每個(gè)系數(shù)h,以大小為LW的滑動窗口內(nèi)的幅度值之和的形式,計(jì)算能量E(n)(n=0~N-1)。在一個(gè)實(shí)施例中,LW與目標(biāo)窗口大小的長度,即減少自適應(yīng)濾波器62的系數(shù)的有效數(shù)目之后,抽頭或系數(shù)的目標(biāo)數(shù)相關(guān)。例如,在一個(gè)實(shí)施例中,LW可對應(yīng)于大小為10個(gè)樣本的滑動窗口,這里10個(gè)抽頭是所需的濾波器長度。于是,如果N為256(表示自適應(yīng)濾波器62的256個(gè)系數(shù)h),那么確定E(n)的256個(gè)值,這里E(n)的256個(gè)值中的每個(gè)值都是(對應(yīng)于LW內(nèi)的10個(gè)樣本的)10個(gè)幅度之和。于是,E(n)可被表示成如下面的等式40所示。
等式40E(n)=Σl=0LW-1|h[n+l-LW]N|,n=0,1,...,N-1]]>在上面的等式(以及這里說明的其它等式)中,注意符號[X]N對應(yīng)于X MOD N。流程隨后從方框642進(jìn)入方框644,延遲D被設(shè)置成能量峰值的位置減去LW。即,在確定E(滑動窗口LW內(nèi)的能量)的N個(gè)值之后,出現(xiàn)最大E的點(diǎn)(樣本時(shí)間)減去LW對應(yīng)于脈沖響應(yīng)的純延遲。于是,D可表示成如等式41中所示。
等式41D=arg(maxE(n))-LW n=0,1,…,N-1在上面的等式中,max E(n)指的是獲得的E的N個(gè)值中的最大值,arg(maxE(n))指的是出現(xiàn)最大E的變元或點(diǎn),這里“變元”對應(yīng)于樣本時(shí)間。于是,D對應(yīng)于純延遲。
流程隨后進(jìn)入方框646,發(fā)散時(shí)間對應(yīng)于D和能量E小于預(yù)定閾值的另一位置之間的樣本的數(shù)目。即,在n=0,1,…,N-1的范圍內(nèi),E(n)(對應(yīng)于脈沖響應(yīng)的幅度)的一般趨勢可被描述成通常增大到最大峰值,隨后向下減小。于是,在到達(dá)最大值之后,E(n)減小,它減小到超出預(yù)定閾值之外的點(diǎn)對應(yīng)于發(fā)散時(shí)間的終點(diǎn),于是發(fā)散時(shí)間是在D和在到達(dá)其峰值之后,E(n)達(dá)到預(yù)定閾值的點(diǎn)(樣本時(shí)間)之間的樣本的數(shù)目。所述預(yù)定值可被設(shè)置成能夠指示發(fā)散時(shí)間的終點(diǎn)的任意值。例如,在一個(gè)實(shí)施例中,它可被設(shè)置成192個(gè)樣本(即,在8kHz采樣速率下的24毫秒)。
圖30圖解說明圖28的方框632的一部分的一個(gè)實(shí)施例,它確定(1)(非自適應(yīng)濾波器64或非自適應(yīng)濾波器31和35的)非自適應(yīng)濾波器系數(shù)W,和(2)自適應(yīng)濾波器62的縮短的系數(shù)。流程開始于方框648,確定(非自適應(yīng)濾波器64或非自適應(yīng)濾波器31和35的)新的濾波器系數(shù)W(注意方框648的細(xì)節(jié)將參考圖32-36說明)。流程隨后進(jìn)入方框650,系數(shù)W與當(dāng)前的自適應(yīng)濾波器62系數(shù)卷積(即,與在圖29的方框640中獲得的瞬象卷積),以確定縮短的濾波器系數(shù)B,這里B包含在加入非自適應(yīng)濾波器64或31和35之后,自適應(yīng)濾波器62的新系數(shù)。流程進(jìn)入方框652,確定縮短的濾波器系數(shù)B的新的純延遲D和發(fā)散時(shí)間。于是,圖29的流程及等式40和41可被用于實(shí)現(xiàn)方框652。流程隨后進(jìn)入方框654,根據(jù)B(即,具有預(yù)定長度的B的一部分)確定自適應(yīng)濾波器62的新的自適應(yīng)濾波器系數(shù),并選擇要被修改的濾波器系數(shù)的最大數(shù)目(即,B的選擇部分中的樣本的數(shù)目)。
圖31圖解說明了重新配置自適應(yīng)濾波器62的圖28的方框636的一部分的一個(gè)實(shí)施例。流程開始于方656,用先前在圖30的方框654中確定的縮短的系數(shù)替換當(dāng)前的自適應(yīng)濾波器系數(shù)H。流程進(jìn)入方框658,新系數(shù)W(在圖30的方框648中確定)被載入非自適應(yīng)濾波器(濾波器64或?yàn)V波器31和35)中。于是,通過將W載入一個(gè)或多個(gè)非自適應(yīng)濾波器中,使它們能夠允許自適應(yīng)濾波器62具有減小的濾波器長度。流程隨后進(jìn)入方框660,用新延遲更新自適應(yīng)濾波器28內(nèi)的延遲單元66。例如,一個(gè)實(shí)施例可簡單地用新確定的純延遲D更新延遲單元66。備選實(shí)施例可確定當(dāng)前保存在延遲單元66中的延遲,并根據(jù)需要更新現(xiàn)有值。另一方面,如果新延遲與延遲單元66內(nèi)的現(xiàn)有延遲變化不大,那么可根本不更新延遲單元66。另外,在方框660中,一旦自適應(yīng)濾波器62被載入方框656中的新系數(shù),那么必須配置自適應(yīng)濾波器62,以適應(yīng)新數(shù)目的系數(shù)。
圖32圖解說明了確定新的濾波器系數(shù)W(對應(yīng)于濾波器64或?yàn)V波器31和35)的圖30的方框648的一個(gè)實(shí)施例。流程開始于判定菱形框662,確定是否存在任意預(yù)先計(jì)算的濾波器系數(shù)W。例如,可能存在包括預(yù)先計(jì)算的,與不同混合電路和通道條件對應(yīng)的多組可能的不同W的庫,于是,可簡單地從所述庫中選擇一個(gè)新的W,通過將自適應(yīng)濾波器系數(shù)與選自所述庫的所有現(xiàn)有W卷積,并挑選提供最佳性能的一個(gè)W,流程進(jìn)入圖30的方框650。另一方面,可使用最代表不同情形的單個(gè)預(yù)先計(jì)算的W。于是,可按照各種不同的方式離線計(jì)算W,后面將參考圖36說明其中的一種方式,于是能夠使用預(yù)先計(jì)算的W。如果沒有預(yù)先計(jì)算濾波器系數(shù)W,那么流程進(jìn)入方框664,可使用用于確定新的濾波器候選者的任意方法來找出W。將參考圖33-35更詳細(xì)地說明確定W的各種實(shí)施例。
流程隨后進(jìn)入方框666,確定W的根。例如,W可被表示成W=[w0,w1,…,wM-1],這里w0,w1,…,wM-1對應(yīng)于濾波器系數(shù),M對應(yīng)于濾波器系數(shù)的數(shù)目,以致W(z)可被表示成如下面的等式42中所示等式42W(z)=(w0zM-1+w1zM-2+…+wM-2z+wM-1)zM-1為了確定W的根,W(z)被設(shè)置成0,并求解z,這里z具有M-1個(gè)解答。于是,W(z)的根R可被表示成R=[r0,r1,…,rM-1],這里根包括復(fù)數(shù)和它們的共軛復(fù)數(shù)。于是,W(z)=0也可被表示成如下面的等式43中所示等式43W(z)=0=(z-r0)(z-r1)…(z-rM-2)(z-rM-1)z1-M流程隨后進(jìn)入方框668,施加對根的其它約束,以致W可按照FIR或IIR處理模式被使用,并且保持穩(wěn)定。例如,如果W用在FIR實(shí)現(xiàn)中,那么不需要強(qiáng)加任何約束來確保穩(wěn)定性,但是如果用在IIR實(shí)現(xiàn)中,那么根必須在單位圓內(nèi)。單位圓指的是由對應(yīng)于實(shí)數(shù)的x軸和對應(yīng)于虛數(shù)的y軸確定的平面中的一個(gè)圓。該單位圓以原點(diǎn)(x軸和y軸的交點(diǎn),對應(yīng)于x軸和y軸上的0)為圓心,并且半徑為1。對于不位于單位圓內(nèi)的W(z)的每個(gè)根rk,rk被轉(zhuǎn)置,以致它確實(shí)位于該單位圓內(nèi)。另一方面,不是強(qiáng)使根在單位圓內(nèi),而是可利用使W(z)的根在以原點(diǎn)為中心,半徑為ρ的圓內(nèi)的約束條件,這里ρ小于1。于是,在該實(shí)施例中,對于W(z)的不在半徑為ρ的圓內(nèi)的每個(gè)根rk,rk被轉(zhuǎn)置,以致它確實(shí)位于半徑為ρ的該圓內(nèi)。于是,如果||(即rk的量值)大于ρ,那么所述轉(zhuǎn)置可被表示成如等式44中所示等式44rknew=ρ|rk|rk*,ρ<1]]>注意在上面的等式中,rk*表示rk的復(fù)共軛。流程隨后進(jìn)入方框670,根據(jù)修改后的根,構(gòu)成新的濾波器系數(shù)Wnew。即,如果由于在方框668中施加的約束條件的緣故,任意根已被修改,那么利用修改后的根確定Wnew??申P(guān)于r0,…,rM-1將新的根代入上面的等式43中,產(chǎn)生新的W(z)(即Wnew)。隨后Wnew作為濾波器系數(shù)W被用于流程的剩余部分(該流程下接圖30的方框650)。于是,圖32可被用于調(diào)整或計(jì)劃W的根。
圖36圖解說明了用于在已知脈沖響應(yīng)估計(jì)量的訓(xùn)練集的情況下,離線設(shè)計(jì)濾波器系數(shù)W的一種方法的一個(gè)實(shí)施例。流程開始于方框704,對于所有設(shè)計(jì)方法來說,在方框704,為訓(xùn)練集中的每個(gè)通道脈沖響應(yīng)確定一個(gè)解答W。于是,如果2種設(shè)計(jì)方法被用于訓(xùn)練集中的8個(gè)通道脈沖響應(yīng),那么總共確定16個(gè)解答(W0-W15)。此外,圖36的方法并不局限于確定W的任意特定方法。流程隨后進(jìn)入方框706,對于每個(gè)解答W,估計(jì)W和訓(xùn)練集中的每個(gè)脈沖響應(yīng)的卷積Bk。于是,在存在16個(gè)解答(W0-W15)和訓(xùn)練集中的8個(gè)脈沖響應(yīng)的本例中,總共估計(jì)128個(gè)卷積。于是對于任意解答W,每個(gè)Bk可被表示成Bk=[bk,0,bk,1,…,bk,N-1],這里bk,0,bk,1,…,bk,N-1是系數(shù),N是Bk的長度。注意[k]8表示訓(xùn)練集中的通道數(shù)。
流程隨后進(jìn)入方框708,對于每個(gè)Bk,查找具有最大能量的理想長度(即目標(biāo)濾波器長度)的發(fā)散區(qū)域。即,可利用上面的等式40和41查找最大能量的發(fā)散區(qū)域,這里L(fēng)W對應(yīng)于發(fā)散區(qū)的理想長度。于是,方框708的等式可被如下表示。
等式45Ek(n)=Σl=0LW-1|bk,[n+l-w]N|,n=0,1,...,N-1]]>上面的等式類似于前述等式40。在等式45中,N是特定Bk的長度,Ek(n)對應(yīng)于滑動窗口LW內(nèi)的能量(對應(yīng)于發(fā)散區(qū)的理想長度)。于是,確定每個(gè)Bk的N個(gè)能量值(Ek(0),…,Ek(N-1))。于是,可利用下面的等式確定具有每個(gè)Bk的最大能量的發(fā)散區(qū)。
等式46Dk=arg(maxEk(n))-LW n=0,1,…,N-1等式46類似于前述等式41。在等式46中,Dk對應(yīng)于在最大能量下Bk的純延遲,于是發(fā)散區(qū)是開始于Dk,終止于Dk+LW,并且具有最大能量的區(qū)域(另一方面,發(fā)散區(qū)的終點(diǎn)可被定義成能量Ek(n)低于預(yù)定閾值的點(diǎn),如前關(guān)于等式41所述)。于是,對于每個(gè)Bk,確定最大能量的發(fā)散區(qū)。流程隨后進(jìn)入方框710,對于每個(gè)Bk,估計(jì)指標(biāo)值FMk。指標(biāo)值被定義為Bk的最大能量max Ek(n)(來自方框708)和Bk的總能量Ek的比值。于是,可利用下面的等式確定Ek等式47Ek=Σl=0N|bk,l|]]>在上面的等式中,N指的是Bk的長度。于是,指標(biāo)值可表示成如下所示。
等式48FMk=maxEk(n)Ek,n=0,1,...,N-1]]>在上面的等式中,N指的是Bk的長度。流程進(jìn)入方框712,確定所有通道脈沖響應(yīng)的平均指標(biāo)值FMAVG。每個(gè)解答Wk(在上面的例子中,k=0,1…,15)將具有它自己的平均指標(biāo)值FMAVG。流程進(jìn)入方框714,選擇最佳濾波器W,以致在所有可能的設(shè)計(jì)方法中,F(xiàn)MAVG被最大化。圖36的方法可離線執(zhí)行,最終選擇的W可保存在回波消除器20中,并根據(jù)需要載入非自適應(yīng)濾波器64、31或35中。
注意雖然W的上述說明假定另外的濾波器是非自適應(yīng)的,不過代替非自適應(yīng)濾波器64、31和35可以使用自適應(yīng)濾波器。但是,如上所述,需要施加對W的約束條件,以確保穩(wěn)定性,并且如果濾波器是自適應(yīng)的,那么需要基于每個(gè)樣本強(qiáng)加穩(wěn)定性約束條件,因?yàn)闉V波器自適應(yīng)會導(dǎo)致不穩(wěn)定的濾波器。
圖33-35介紹確定W的各種可能設(shè)計(jì)方法。例如,圖33-35可對應(yīng)于在圖36的方框704中使用的設(shè)計(jì)方法中的三種。另一方面,圖33-35的任意或全部方法可由回波消除器20在其工作期間執(zhí)行。在一個(gè)實(shí)施例中,回波消除器20可執(zhí)行所有三種設(shè)計(jì)方法來確定W(例如在圖32的方框664中),并最終(在圖28的方框632之后)確定哪種方法確定最佳解答。注意與在根據(jù)修改后的根重構(gòu)新的濾波器系數(shù)之后提供最佳解答相比,一種不同的方法可在修改W的根(圖32的方框668)之前,提供最佳解答。于是,根據(jù)實(shí)施例,回波消除器20可在不同的時(shí)候分析或選擇不同的方法。另一方面,回波消除器20可使用單一的設(shè)計(jì)方法。
圖33根據(jù)本發(fā)明的一個(gè)實(shí)施例,圖解說明圖32的方框664的一部分,它對應(yīng)于確定新的濾波器系數(shù)W的一種設(shè)計(jì)方法。流程開始于方框672,自適應(yīng)濾波器62系數(shù)的發(fā)散區(qū)被轉(zhuǎn)移到循環(huán)緩沖器,以致延遲D(在方框644中計(jì)算)被補(bǔ)償。于是,延遲補(bǔ)償系數(shù)G可表示成G=[g0,g1,…,gN-1],這里g0,g1,…,gN-1是是延遲補(bǔ)償系數(shù)G中的各個(gè)系數(shù),N是自適應(yīng)濾波器62的長度。于是,H(與在圖29的方框640中獲得的原始瞬象對應(yīng)的,自適應(yīng)濾波器62的未補(bǔ)償系數(shù))和G之間的關(guān)系可如下表示。
等式49gi=h[D-i]N,i=0,1,...,N-1]]>在等式49中,gi是保存在對應(yīng)的循環(huán)緩沖器的第i個(gè)存儲單元中的延遲補(bǔ)償系數(shù)。圖38圖解說明圖37的例證脈沖響應(yīng)的一個(gè)實(shí)施例,該實(shí)施例已由延遲D(對應(yīng)于圖37中的T1)執(zhí)行時(shí)間補(bǔ)償,以致脈沖響應(yīng)開始于發(fā)散時(shí)間(由圖37中的T4+T2定義)。于是,H的系數(shù)代表圖37的脈沖響應(yīng),而G的系數(shù)代表圖38的時(shí)間補(bǔ)償脈沖響應(yīng)。流程隨后進(jìn)入方框674,確定理想的濾波器長度。例如,在一個(gè)實(shí)施例中,如上所述,理想的濾波器長度被定義為10(這種情況下,脈沖響應(yīng)的發(fā)散時(shí)間要求被壓縮到10個(gè)樣本中)。參見圖38的例子,理想濾波器長度對應(yīng)于T5,0和S1之間的時(shí)間,這里0定義發(fā)散時(shí)間的開始(還對應(yīng)于G的第一個(gè)系數(shù),因?yàn)镚已被延遲補(bǔ)償),S1定義理想濾波器長度的終點(diǎn)。
一旦確定了理想濾波器長度,那么清除理想濾波器長度內(nèi)的發(fā)散區(qū)的系數(shù),以確定殘留系數(shù)V。即,gi被設(shè)置成0,i=0,1,…S1。于是,V可表述成V=
,這里K是V的非零分量的數(shù)目,V的每個(gè)非零分量被如下定義。
等式50vj=gS1+jj=0,1,…K-1于是,參見圖38的例子,G的對應(yīng)于時(shí)間T5的系數(shù)被設(shè)置成0,V的系數(shù)代表殘留失真,即,與時(shí)間T6對應(yīng)的那部分脈沖響應(yīng)。流程進(jìn)入均衡殘留失真V的方框676-680。
在方框676中,計(jì)算V的快速傅里葉變換(FFT)。流程進(jìn)入方框678,計(jì)算FFT(V)的倒數(shù)I,這里I=1/FFT(V)。流程進(jìn)入方框680,以I的倒轉(zhuǎn)FFT(IFFT)的形式計(jì)算W1,這里W1=IFFT(I)。于是,W1是V的倒數(shù),并且可用于均衡殘留失真V。流程進(jìn)入方框682,從具有最大能量的預(yù)定長度的W1的窗口確定W(類似于圖29上的通道發(fā)散的估計(jì)),這里預(yù)先確定的長度是自適應(yīng)濾波器抽頭的理想數(shù)目。流程隨后進(jìn)入方框684,利用W的Euclidean量值(即L2標(biāo)準(zhǔn))使濾波器系數(shù)W歸一化。
圖34根據(jù)本發(fā)明的一個(gè)實(shí)施例,圖解說明了確定系數(shù)W的一種備選方法。流程開始于方框686,利用延遲補(bǔ)償濾波器系數(shù)G(來自方框672和等式49),確定如上所述的理想濾波器長度,并確定卷積矩陣C。卷積矩陣C可被定義成如下所示。
等式51C=SL·ConGSL對應(yīng)于可如下表示的選擇矩陣。
等式52SL=
在等式52中,0是(N+M-L-1)×L零矩陣,I是(N+M-L-1)×(N+M-L-1)單位矩陣。在該等式中,N對應(yīng)于G的長度,M對應(yīng)于W的長度(實(shí)現(xiàn)理想自適應(yīng)濾波器長度的非自適應(yīng)濾波器抽頭的預(yù)定數(shù)目),L對應(yīng)于理想自適應(yīng)濾波器長度。ConG對應(yīng)于G的卷積矩陣,可被表示成如下所示。
等式53 于是,通過忽略其初始L行,從延遲補(bǔ)償濾波器系數(shù)G的卷積矩陣ConG獲得矩陣C,在結(jié)束該設(shè)計(jì)過程之前,它將定義縮短的通道的系數(shù)。
流程進(jìn)入方框688,bw被定義為設(shè)置為行矢量的等式51的矩陣C的第一行。流程進(jìn)入方框690,計(jì)算矩陣A。
等式54A=CTC在等式54中,符號CT表示矩陣C的轉(zhuǎn)置。流程進(jìn)入方框692,關(guān)于W求解由AW=bw給出的方程組。流程隨后進(jìn)入方框694,使濾波器系數(shù)W歸一化。本領(lǐng)域的技術(shù)人員會馬上認(rèn)識到上面的解答對應(yīng)于試圖通過考慮自適應(yīng)濾波器62系數(shù)與W的全部卷積,均衡失真的方程組CW=[1,0,…0]T的最小均方差解答。
圖35根據(jù)本發(fā)明的另一實(shí)施例,圖解說明了確定系數(shù)W的一種備選方法。流程開始于方框696,利用延遲補(bǔ)償濾波器系數(shù)G(來自方框672和等式49),定義如上所述的理想濾波器長度,并確定卷積矩陣C。于是,在圖35中使用在等式51中定義的相同C矩陣。流程隨后進(jìn)入方框698,如同圖34的方框690中一樣,計(jì)算矩陣A(參見等式54)。流程進(jìn)入方框700,估計(jì)WTW/WTAW的最大解答。注意WTW/WTAW提供由矩陣A加權(quán)的W的歸一化抽頭的能量的比值,于是,WTW/WTAW的最大解答使在WTW=1的條件下的能量WTAW降至最小。另外注意在I是單位矩陣的情況下,WTW/WTAW等同于WTIW/WTAW,以致解答W是與可利用估計(jì)本征矢量的任意現(xiàn)用算法計(jì)算的該對(I,A0的最大本征矢量對應(yīng)的廣義本征矢量。流程隨后進(jìn)入方框702,在方框700中確定的濾波器系數(shù)W被歸一化。
于是,圖33-35提供可用于確定濾波器系數(shù)W的三種設(shè)計(jì)方法。注意圖33的方法試圖均衡位于理想(目標(biāo))濾波器長度之外的殘留失真。圖34的方法更全面,因?yàn)樗噲D在考慮自適應(yīng)濾波器62系數(shù)與W的全部卷積的同時(shí),均衡失真。但是,圖34導(dǎo)致更復(fù)雜的等式。圖35的方法試圖在卷積自適應(yīng)濾波器62的系數(shù)和W之后,實(shí)際使殘留失真的能量降至最小。如上所述,所有方法可由回波消除器20實(shí)現(xiàn),并且在修改W的根之前,或者在根據(jù)修改后的根,重構(gòu)新的濾波器系數(shù)W之后,選擇最佳的解答。
在前面的說明書中,參考具體實(shí)施例說明了本發(fā)明。但是,本領(lǐng)域的普通技術(shù)人員會認(rèn)識到在不脫離下面的權(quán)利要求中陳述的本發(fā)明的范圍的情況下,可做出各種修改和變化。例如,這里教導(dǎo)的任意方法可具體體現(xiàn)為計(jì)算機(jī)硬盤,軟盤,3.5″磁盤,計(jì)算機(jī)存儲磁帶,磁鼓,靜態(tài)隨機(jī)存取存儲器(SRAM)單元,動態(tài)隨機(jī)存取存儲器(DRAM)單元,電可擦除(EEPROM,EPROM,快速)單元,非易失性單元,鐵電或鐵磁存儲器,緊致磁盤(CD),激光盤,光盤,以及任意類似的計(jì)算機(jī)可讀介質(zhì)中的一個(gè)或多個(gè)上的軟件。另外,方框圖可不同于圖解說明的那些方框圖,并且可具有更多或更少的方框,或者被不同地排列。另外,流程圖也可被不同地排列,包括更多或更少的步驟,被不同地排列,或者可具有可被分成多個(gè)步驟的步驟,或者可相互同時(shí)執(zhí)行的步驟。因此,說明書和附圖應(yīng)被看作是對本發(fā)明的舉例說明,而不是對本發(fā)明的限制,所有這樣的修改意圖包括在本發(fā)明的范圍內(nèi)。
上面關(guān)于具體實(shí)施例說明了益處,其它優(yōu)點(diǎn)和問題的解決方案。但是,所述益處,優(yōu)點(diǎn),問題的解決方案,以及會導(dǎo)致產(chǎn)生任意益處,優(yōu)點(diǎn)或解決方案的任意要素不被解釋成任意或全部權(quán)利要求的關(guān)鍵的,必需的,或者基本特征或要素。這里使用的術(shù)語“包含”或其任意其它變形意圖覆蓋非排除包括,以致包含一系列要素的過程,方法,物品或設(shè)備并不僅僅包括這些要素,相反可包括未明確列出的其它要素,或者這樣的過程,方法,物品或產(chǎn)品固有的其它要素。
權(quán)利要求
1.一種用于執(zhí)行音頻信號的非線性處理,以便選擇性地影響背景噪聲的方法,包括選擇性地估計(jì)背景噪聲,產(chǎn)生估計(jì)的背景噪聲電平;確定所述估計(jì)的背景噪聲電平是否超過預(yù)定標(biāo)準(zhǔn);和選擇性地將預(yù)定的背景噪聲注入音頻信號中。
2.一種回波消除器,包括自適應(yīng)濾波器;與所述自適應(yīng)濾波器耦接的控制電路;和與所述控制電路耦接的非線性處理器,用于選擇性地估計(jì)背景噪聲,以及如果檢測到近端信號和遠(yuǎn)端信號中的至少一個(gè),就暫停背景噪聲的估計(jì)。
3.一種執(zhí)行近端信號檢測的方法,包括確定接收路徑的輸出的功率;確定誤差信號的功率;和使用所述接收路徑的輸出的功率和所述誤差信號的功率,檢測近端信號是否存在。
4.一種回波消除器,包括近端信號檢測器,用于確定接收路徑的輸出的功率和誤差信號的功率,以便檢測近端信號是否存在;與所述近端信號檢測器耦接的自適應(yīng)濾波器;與所述自適應(yīng)濾波器耦接的控制電路;和與所述控制電路耦接的非線性處理器。
5.一種執(zhí)行回波消除的方法,包括執(zhí)行自適應(yīng)濾波,以便消除回波;與所述執(zhí)行自適應(yīng)濾波的步驟同時(shí)地估計(jì)純延遲;和選擇性地使用所述純延遲來調(diào)整自適應(yīng)濾波器窗口的位置。
6.一種執(zhí)行回波消除的方法,包括確定單個(gè)的估計(jì)延遲值;和執(zhí)行所述單個(gè)的估計(jì)延遲值的非線性濾波,從而產(chǎn)生純延遲;和選擇性地使用所述純延遲來調(diào)整自適應(yīng)濾波器窗口的位置;并且執(zhí)行自適應(yīng)濾波,以便消除回波。
7.一種回波消除器,包括用于消除回波的第一自適應(yīng)濾波器;和與所述第一自適應(yīng)濾波器耦接的監(jiān)視和控制單元,所述監(jiān)視和控制單元包括用于估計(jì)純延遲的第二自適應(yīng)濾波器,其中所述純延遲被用于調(diào)整所述第一自適應(yīng)濾波器的自適應(yīng)濾波器窗口的位置,其中所述第二自適應(yīng)濾波器包括對單個(gè)的估計(jì)延遲值濾波,以便產(chǎn)生純延遲的非線性濾波器。
8.一種用于指示通信信號中是否存在音調(diào)的方法,包括將所述通信信號延遲預(yù)定的第一延遲,產(chǎn)生第一延遲信號;將所述通信信號延遲預(yù)定的第二延遲,產(chǎn)生第二延遲信號;組合所述第一延遲信號、所述第二延遲信號和所述通信信號,從而產(chǎn)生估計(jì)信號;和利用所述估計(jì)信號來指示所述音調(diào)是否存在。
9.一種檢測通信信號中的音調(diào)的音調(diào)檢測器,包括用于提供第一延遲信號的第一電路;用于提供第二延遲信號的第二電路;用于組合所述第一延遲信號、所述第二延遲信號和所述通信信號,從而產(chǎn)生估計(jì)信號的估計(jì)器電路;和用于利用所述估計(jì)信號來指示所述音調(diào)是否存在的音調(diào)指示電路。
10.一種用于降低具有多個(gè)濾波器系數(shù)的濾波器的發(fā)散的方法,所述方法包括當(dāng)近端信號的某一參數(shù)低于第一預(yù)定閾值,并且遠(yuǎn)端信號的某一參數(shù)低于第二預(yù)定閾值時(shí),暫停所述多個(gè)濾波器系數(shù)中的至少一部分的自適應(yīng)。
11.一種用于降低具有多個(gè)濾波器系數(shù)的濾波器的發(fā)散的方法,其中所述濾波器具有包含第一狀態(tài)和第二狀態(tài)的多種狀態(tài),所述方法包括確定自適應(yīng)濾波器的當(dāng)前狀態(tài);當(dāng)所述自適應(yīng)濾波器的當(dāng)前狀態(tài)是所述第一狀態(tài)時(shí),保存所述多個(gè)濾波器系數(shù);和當(dāng)所述自適應(yīng)濾波器的當(dāng)前狀態(tài)是所述第二狀態(tài)時(shí),不保存所述多個(gè)濾波器系數(shù)。
12.一種用于改進(jìn)通信系統(tǒng)中使用的自適應(yīng)濾波器的穩(wěn)定性的方法,所述方法包括選擇性地調(diào)整誤差信號的增益;和響應(yīng)于選擇性地調(diào)整誤差信號的增益,確保通信系統(tǒng)的增益不大于1。
13.一種用于指示音調(diào)是否存在于通信信號中的方法,包括將通信信號延遲預(yù)定的延遲,產(chǎn)生延遲信號;產(chǎn)生生成的正弦波信號;組合所述延遲信號,所述生成的正弦波信號以及所述通信信號,從而產(chǎn)生第一相關(guān)信號和第二相關(guān)信號;和使用所述第一相關(guān)信號和所述第二相關(guān)信號來指示是否已檢測到音調(diào)。
14.一種用于對信號濾波的濾波器,包括用于以第一自適應(yīng)率對信號濾波的第一自適應(yīng)濾波器;和與所述第一自適應(yīng)濾波器耦接的、以第二自適應(yīng)率對信號濾波的第二自適應(yīng)濾波器,其中所述第一自適應(yīng)率小于所述第二自適應(yīng)率。
15.一種用于執(zhí)行信號的自適應(yīng)濾波的方法,包括以第一自適應(yīng)率對信號濾波,從而產(chǎn)生第一濾波輸出;和以第二自適應(yīng)率對所述第一濾波輸出濾波,從而產(chǎn)生第二濾波輸出,其中所述第一自適應(yīng)率小于所述第二自適應(yīng)率。
16.一種用于改進(jìn)自適應(yīng)濾波器的穩(wěn)定性的方法,包括監(jiān)視自適應(yīng)濾波器中的多個(gè)濾波器系數(shù);檢測所述多個(gè)濾波器系數(shù)的預(yù)定模式;和如果檢測到所述預(yù)定模式,那么將不同的多個(gè)濾波器系數(shù)載入自適應(yīng)濾波器中。
全文摘要
公開一種具有回波消除器(20)的通信系統(tǒng)(10)?;夭ㄏ鞯囊粋€(gè)實(shí)施例包括用于估計(jì)從發(fā)送的信號中消除的反射回波的估計(jì)量的自適應(yīng)濾波器(28)。回波消除器還可包括用于當(dāng)存在近端談話者信號時(shí),防止自適應(yīng)濾波器自適應(yīng)的近端談話者信號檢測器(26)?;夭ㄏ鬟€可包括進(jìn)一步減少任意殘留回波,并保持背景噪聲的非線性處理器(32)?;夭ㄏ鬟€可包括用于監(jiān)視自適應(yīng)濾波器的濾波器系數(shù)和增益,以保持回波消除器的穩(wěn)定性,估計(jì)純延遲,檢測音調(diào)和注入訓(xùn)練信號(41)的監(jiān)視和控制單元(30)?;夭ㄏ鬟€可包括用于減小自適應(yīng)濾波器的長度的非自適應(yīng)濾波器(31)。
文檔編號H04B3/23GK1672341SQ03817780
公開日2005年9月21日 申請日期2003年4月24日 優(yōu)先權(quán)日2002年6月24日
發(fā)明者盧西奧·F·C.·皮索艾, 羅曼·A.·蒂壩, 佩利·P.·赫, 羅杰·A.·史密斯 申請人:飛思卡爾半導(dǎo)體公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
津南区| 凤庆县| 保德县| 崇阳县| 河池市| 广河县| 普兰县| 靖安县| 衡山县| 皮山县| 阜阳市| 临武县| 澄迈县| 永定县| 宣武区| 永康市| 黑龙江省| 左贡县| 凌云县| 太原市| 满洲里市| 通州市| 利辛县| 盐源县| 娱乐| 晋中市| 深州市| 封开县| 安溪县| 台州市| 彭山县| 白银市| 黄浦区| 五莲县| 九台市| 阳信县| 金阳县| 南投县| 宁远县| 永春县| 浑源县|