專利名稱:回波消除器的噪聲電平計算器的制作方法
技術(shù)領(lǐng)域:
一般地說,本發(fā)明涉及遠(yuǎn)程通信系統(tǒng),具體的說,本發(fā)明涉及在電話線路回波消除器中檢測噪聲的噪聲電平計算器。
對于判斷加到自適應(yīng)濾波器上的參考信號是噪聲還是非噪聲部分,噪聲電平計算也是很有用的。如果檢測到噪聲,則可以禁止對濾波系數(shù)進(jìn)行更新。
優(yōu)選實施例概述根據(jù)本發(fā)明,提供了一種監(jiān)測加到NLP上的誤差信號的噪聲電平以及加到自適應(yīng)濾波器上的參考信號的噪聲電平的噪聲電平計算器,以實現(xiàn)前面所述的目的。對比現(xiàn)有技術(shù)的噪聲檢測器,其不僅跟蹤噪聲部分,也跟蹤信號電平,并推斷噪聲電平是直接地等比于最低累積信號能量,本發(fā)明的噪聲電平計算器使用信號能量的方差來確定背景噪聲電平。因而,本發(fā)明的噪聲電平計算器實際上取噪聲周期,并適應(yīng)這些周期中噪聲能量方差的變化。
圖2是顯示根據(jù)該優(yōu)選實施例進(jìn)行噪聲電平計算的步驟的流程圖。
優(yōu)選實施例詳述參照
圖1,顯示的是從線路回波路徑(在Sin-line和Rin-line之間)消除回波信號的線路回波消除器(LEC)。在控制邏輯單元9中運用了自適應(yīng)濾波算法(典型地為眾所周知的自適應(yīng)LMS算法),以實現(xiàn)回波消除的功能。在累加單元3中,從輸入線路信號(Sin-line)中減去自適應(yīng)濾波輸出,以生成誤差信號(ein)。如上所述,提供了NLP5以消除因非線性、失真、附加信號噪聲等引起的殘余回波信號。還有雙向通話檢測器11,用以在雙向通話的情況下(例如,當(dāng)近端開始說話時,這種情況下信號變?yōu)榻苏Z音加遠(yuǎn)端回音)禁止NLP5。
根據(jù)本發(fā)明,提供了噪聲電平計算器13以連續(xù)地為誤差信號ein和參考信號Rin-line監(jiān)測噪聲電平。NLP單元5使用誤差信號的噪聲電平來判斷采樣是噪聲還是殘余回波。如果檢測到噪聲,則原樣傳送出去,但如果檢測到殘余回波,則NLP5生成噪聲采樣。在控制單元9中,自適應(yīng)濾波算法使用參考信號的噪聲電平來判斷信號是語音還是噪聲。如果是噪聲,則不更新回波消除系數(shù)。
參照圖2,顯示的是實現(xiàn)本發(fā)明的噪聲電平計算器的優(yōu)選算法。圖2中的方程能在C編譯器中具有最佳的性能。運行中需要兩個輸入,即輸入信號xin和聲音判斷參數(shù)tone-decision。噪聲電平計算器的內(nèi)部狀態(tài)和它的局部變量保存在局部工作區(qū)中(即以下說明的NoiseLevel結(jié)構(gòu))。
使用相同的函數(shù)計算圖1中LEC的參考信號Rin_line和誤差信號ein的噪聲電平。在每次噪聲計算器的運行中,輸入采樣xin被選擇作為ein或Rin-line。
參照圖2,以下是NoiseLevel結(jié)構(gòu)和每次這樣的運行所需的局部變量Structure(*NoiseLevel)(*NoiseLevel).count采樣窗口計數(shù)器(*NoiseLevel).level這代表NoiseLevel(*NoiseLevel).accum當(dāng)前輸入信號累加值(*NoiseLevel).accum[1]先前輸入信號累加值(*NoiseLevel).variance累加值方差(*NoiseLeve.flag_no_update無效窗口標(biāo)志,不更新NoiseLevelxin輸入采樣diff先前累加值與當(dāng)前累加值的差異tone_decision如果信號是語音,標(biāo)志為1nlevel_countNoiseLevel更新之前的累加次數(shù)本發(fā)明的算法是基于噪聲部分的能量方差遠(yuǎn)比語音部分的能量方差小的假設(shè)基礎(chǔ)之上。斷定沒有語音后(步驟A),將包含256個采樣(32msec)的窗口內(nèi)的采樣進(jìn)行累加(即將窗口內(nèi)的信號能量進(jìn)行計算)。(步驟B中,(*NoiseLevel).accum
=(*NoiseLevel).accum
+abs(xin))。當(dāng)窗口完成后(步驟D中,(*NoiseLevel).coun>W(wǎng)indow_size?),更新噪聲電平,將結(jié)果保存在內(nèi)存中。為了保證方差和噪聲電平計算不出錯,采樣累加值不超出一個最大電平是重要的(步驟C中,將(*NoiseLevel).accum
限定在Max_limit)。在累加值無效的情況下(步驟D中,Yes(accum無效)),對接下來的兩個窗口不計算Noise Level(這作為步驟C中標(biāo)志被設(shè)為(*NoiseLevel).flag_no_update=2的結(jié)果,然后在步驟D中減兩次(*NoiseLevel).flag_no_update-=1)。在啟動時,以及達(dá)到Max_limit時,也將兩個窗口認(rèn)作為無效。它們不被使用,分別填充或清除累加記錄。
當(dāng)有兩個有效的采樣累加值時,計算它們的差值,差值用來將這些累加值的方差更新為差值和方差參數(shù)先前值的加權(quán)平均值,(即(*NoiseLevel).variance+=(diff-(*NoiseLevel).variance)>>3將方差參數(shù)調(diào)整為現(xiàn)有的(即先前的)方差參數(shù)加上差值(diff)減先前方差參數(shù)所得值的一個倍數(shù)(÷8),(*NoiseLevel).variance=diff將方差參數(shù)調(diào)整為先前方差參數(shù))。因而,在圖2的實施例中,以增高比例1和衰減比例8(即步驟E中,>>3)對方差進(jìn)行計算/更新。這些增高和衰減比例根據(jù)經(jīng)驗選擇以在低能量(例如語音部分中的摩擦音引起的)的短時期內(nèi)不對噪聲電平進(jìn)行更新。也可以選用其它的增高和衰減比例以適應(yīng)不同的應(yīng)用場合。因而,增高比例強(qiáng)勁,而衰減比例比增高比例慢。
當(dāng)方差減小至累加值電平除以預(yù)定的比例系數(shù)時(步驟E中,(*NoiseLevel).variance<(*NoiseLevel).accum
>>3?),當(dāng)前累加值就被當(dāng)作噪聲部分。這個系數(shù)(步驟E中,>>3=8)是比較不同的噪聲電平和相應(yīng)的累加值方差之間的比率后選擇的。當(dāng)判定累加值是噪聲時(步驟F),用衰減比例8(即步驟F中的>>3)計算/更新噪聲電平。在不同的應(yīng)用中可以選用不等于8的衰減比例。
在噪聲電平大于累加值的情況下,噪聲電平被重置為當(dāng)前累加值(步驟G)。這是保證噪聲電平計算器偏向盡可能低的噪聲電平。
最后,對于下一個累加窗口,重新初始化某些變量(步驟H)。
應(yīng)當(dāng)注意,對于ein信號,在與實際采樣比較之前,將噪聲電平乘以系數(shù)0.013(即3.3/256,256是窗口尺寸)。對于Rin_line信號,將噪聲電平乘以系數(shù)0.2(50/256),這是位于噪聲閾的高端。
本發(fā)明的替換和改變是可能的。例如,在步驟B中可以不用采樣絕對值,而使用能量實值計算,可以使用不同的窗口尺寸,可以指定不同的增高和衰減比例來修正方差(步驟E)。另外,本發(fā)明的算法也可以用于檢測語音(即不存在噪聲),也可以適用于抑制靜音的舒適噪聲產(chǎn)生器的運行中。相信所有這些替換實施例和應(yīng)用都處于所附的權(quán)利要求所限定的本發(fā)明的范圍內(nèi)。
權(quán)利要求
1.一種計算信號中的噪聲電平的方法,包括以下步驟對所述信號的兩個采樣窗口進(jìn)行累加;計算每個所述的采樣窗口內(nèi)所述信號的能量;計算每個所述的采樣窗口內(nèi)所述信號的所述能量的差值;根據(jù)所述的差值更新一個方差參數(shù);在所述方差參數(shù)小于所述采樣窗口中最近的一個內(nèi)所述信號能量的一個預(yù)定的倍數(shù)的情況下,則表明存在噪聲,將一個噪聲電平參數(shù)設(shè)定為所述采樣窗口中所述最近的一個內(nèi)所述信號能量的函數(shù),以及,在所述方差參數(shù)大于或等于所述采樣窗口中所述的最近一個內(nèi)所述信號能量的所述的預(yù)定倍數(shù)的情況下,則表明在所述最近的采樣窗口內(nèi)不存在噪聲;以及在所述的噪聲電平參數(shù)超出所述采樣窗口中所述的最近一個內(nèi)所述信號能量的情況下,將所述噪聲電平參數(shù)設(shè)定等于所述采樣窗口中所述的最近一個內(nèi)所述信號的能量。
2.如權(quán)利要求1所述的方法,還包括以下步驟在初始處,以及在隨后的所述的兩個連續(xù)采樣窗口中的第一個采樣窗口超出預(yù)定最大能量時,丟棄兩個連續(xù)的所述采樣窗口。
3.如權(quán)利要求1所述的方法,其中所述的更新所述方差參數(shù)的步驟還包括以下步驟將所述方差參數(shù)與每個所述采樣窗口內(nèi)所述信號的所述能量的所述差值進(jìn)行比較,將所述方差參數(shù)設(shè)定為差值和方差參數(shù)先前值的加權(quán)平均值;以及在所述方差參數(shù)大于所述差值的情況下,將所述方差參數(shù)以預(yù)定的衰減比例進(jìn)行修正,在所述方差參數(shù)小于或等于所述差值的情況下,將所述方差參數(shù)以預(yù)定的增高比例進(jìn)行修正。
4.如權(quán)利要求1所述的方法,其中所述的將噪聲電平參數(shù)設(shè)定為所述采樣窗口中所述的最近一個內(nèi)所述信號能量的函數(shù)的步驟還包括將所述噪聲電平參數(shù)設(shè)定為所述采樣窗口中所述的最近一個內(nèi)所述信號能量與所述噪聲電平參數(shù)的先前值的加權(quán)平均值。
全文摘要
一種計算信號中噪聲電平的方法,包括以下步驟:對信號的兩個采樣窗口進(jìn)行累加,計算每個采樣窗口內(nèi)的信號能量,計算每個采樣窗口內(nèi)信號能量的差值,根據(jù)差值修正方差參數(shù),在方差參數(shù)小于采樣窗口中最近一個內(nèi)的信號能量的一個預(yù)定倍數(shù)的情況下,則表明存在噪聲,并將噪聲電平參數(shù)設(shè)定為采樣窗口中最近一個內(nèi)的信號能量的函數(shù),在方差參數(shù)大于或等于采樣窗口中最近一個的信號能量的預(yù)定倍數(shù)的情況下,則表明在最近的采樣窗口內(nèi)不存在噪聲,在噪聲電平參數(shù)超出采樣窗口中最近一個內(nèi)信號能量的情況下,將噪聲電平參數(shù)設(shè)定等于采樣窗口中最近一個內(nèi)信號的能量。
文檔編號G10L25/78GK1348261SQ0114152
公開日2002年5月8日 申請日期2001年9月30日 優(yōu)先權(quán)日2000年9月30日
發(fā)明者迪特爾·舒爾茨, 雷內(nèi)·約翰斯頓 申請人:扎利克半導(dǎo)體公司