數字音頻自動增益控制方法及其系統的製作方法
2023-07-04 00:53:26
專利名稱:數字音頻自動增益控制方法及其系統的製作方法
技術領域:
本發明涉及一種自動增益控制技術,更具體的涉及一種應用於語音通信、音視頻會議和數字錄音等應用的數字音頻自動增益控制技術。
背景技術:
數字音頻自動增益控制(Automatic Gain Control,AGC)是用來對數字音頻信號做自動動態增益控制,使得信號水平的趨向於一個用戶定義的目標信號水平,最終獲得平衡和諧的語音。該技術一般用於語音通信和錄音系統中,具體應用包括音視頻會議、網絡電話、數字錄音等。一個高效的數字音頻自動增益控制方法能保證增益後的信號不出現一定程度的失真,且不能對背景噪音進行增益。現有的數字AGC技術一般是通過比較一段歷史語音輸出信號的幅度均值和預先設定的AGC門限R,以控制增益的變化,如果幅度均值超過門限R,則增大增益,相反則減小增益。這類增益方法是非線性的、時變的,由於不能靈活地結合當前信號能量的變化和歷史信號能量的變化來自動調整增益,這樣會使得部分能量較大的信號增益過頭,導致溢出,部分能量較小的信號卻增益不夠,而對溢出的信號能量簡單地做削峰處理會破壞信號的連續性並引入不舒適的噪音。而且現有的技術很少考慮到增益控制過程中存在背景噪音的情況。
發明內容
本發明要解決的技術問題是提供一種數字音頻自動增益控制方法,其能保證增益後的信號不出現一定程度的失真,且不對背景噪音進行增益。為此,本發明還要提供一種數字音頻自動增益控制系統。
為解決上述技術問題,本發明的數字音頻自動增益控制方法,其包括以下步驟 (1)計算輸入信號x(n)的瞬時功率Px(n); (2)根據功率檢測步驟(1)中的信號是否為背景噪音,步驟(1)中輸入信號的瞬時功率Px(n)低於預設定功率Pmin,為背景噪音,直接進行飽和控制並輸出;瞬時功率Px(n)大於預設定功率Pmin的,進入下一步; (3)根據步驟(1)的輸入信號的功率信息及自適應濾波學習步長更新,來更新增益係數g(n); (4)利用步驟(3)中的新增益係數,產生新的輸出信號y(n)=g(n)x(n); (5)計算輸出信號y(n)的瞬時功率Py(n),並利用估算的瞬時功率Py(n)與預指定的目標信號功率Pref求參差能量,並將其反饋到步驟(3)作為下一個信號的增益係數更新信息; (6)根據輸入信號的功率Px(n),進行增益整形; (7)進行飽和控制並輸出數字音頻信號。
本發明的數字音頻自動增益控制系統,用於自動增益數字音頻信號,其包括一第一功率計算模塊,用於計算輸入信號的功率;一自適應濾波模塊,用於接收從所述第一功率計算模塊和輸出的信號,更新增益係數,並根據新的增益係數產生新的輸出信號;一第二功率計算模塊,用於計算從自適應濾波模塊輸出信號的功率,並反饋信號至自適應濾波模塊,作為下一個信號的增益係數更新信息;一增益整形模塊,用於對從自適應濾波模塊輸出的信號進行增益係數調整,以弱化增益係數過大的情況和加強增益係數過小的情況,輸出經增益整形後的信號。
本發明的數字音頻自動增益控制系統和方法,通過更新輸入的數字音頻信號的增益係數,並根據此更新的增益係數產生新的輸出信號,對新的輸出信號進行增益整形,弱化過大的增益和加強過小的增益效果,輸出一增益後不出現一定程度的失真且不對背景噪音進行增益的數字音頻信號,使處理後的語音達到完美遠近端平衡。
下面結合附圖與具體實施方式
對本發明作進一步詳細的說明 圖1為本發明的數字音頻自適應增益控制系統的示意圖; 圖2為本發明的數字音頻自適應增益控制方法的流程圖; 圖3為本發明的一個實例輸入信號和輸出信號的示意圖; 圖4為本發明的實施例增益係數變化示意圖; 圖5為本發明的另一個實例輸入信號和輸出信號的示意圖。
具體實施例方式 圖1為本發明數字音頻自動增益控制系統的示意圖,分為以下功能模塊 (1)第一功率計算模塊101。該模塊用於計算輸入信號x(n)的功率Px(n),其中n為時間序號。計算公式可為 Px(n)=αPx(n-1)+(1-α)x2(n) (1) 其中α為平滑因子,α越大,則功率變化越平緩;α越小,則功率隨信號的急劇變化而變化。為了更好反應出信號的波動性且不至於劇烈抖動,一般選0<α<<1。
(2)自適應濾波模塊103。該模塊包括三個子模塊自適應濾波學習步長更新模塊,濾波係數更新模塊及新的輸出信號計算模塊。濾波係數,即增益係數g(n)的更新公式為 g(n)=g(n-1)(1+μ(n)Px(n)(Pref-Py(n-1))) (3) 其中μ(n)為自適應濾波的學習步長,Pref為一常數,代表用戶預定的目標信號能量級別。自適應濾波學習步長更新公式為 μ0為0到1之間的常數,μ0的取值影響到自適應算法的收斂速度和穩定性,較大的μ0會導致較快的收斂,但是收斂後的穩定性較差,較小的μ0會使得算法收斂變慢,但是收斂後的穩定性較好,為了能夠同時考慮到算法的收斂速度和穩定性,一般設置μ0在0到0.1之間。γ為接近於0的擾動因子,範圍在0到0.1之間的常數,此公式中γ的目的是為了防止分母為0,所以一般取0.1以下的值。利用新的增益係數,產生新的輸出信號y(n),計算公式為 (3)第二功率計算模塊102。該模塊用於計算輸出信號的y(n)功率Py(n),其中n為時間序號。計算公式可為 Py(n)=αPy(n-1)+(1-α)y2(n) (2) 其中0<α<<1。並將計算結果反饋到自適應濾波模塊103作為下一個信號的增益係數更新信息。
(4)增益整形模塊104。對從自適應濾波模塊103輸出的信號進行增益係數調整,計算公式為 y(n)=K1y(n)(1+K2(Pa-Px(n)))(當Pa<Px(n)<Pb) (6) 其中的Pmin為增益的最小信號功率閥值,瞬時功率低於Pmin的信號為背景噪音,不進行增益控制。K1和K2為常係數,0.5≤K1≤1,1≤K2≤8,K1的作用是根據需要對信號的整體幅度做一定的調整,K1取值為1時,信號整體不作增益,K2的作用根據信號的波動性,對信號的局部做一定比率的調整,K2取值在1到8之間整數時可以取得較好的效果。Pa和Pb為需要整形的信號能量的下限和上限。增益整形的目的是為了克服自適應濾波算法在調整增益係數時出現兩種情況(1)增益係數過大時,輸入信號的能量級別也過大,這時候可能會增益過頭,甚至信號溢出,這時候需要做增益修整,弱化增益;(2)增益係數過小時,輸入信號的能量級別過小,這時候增益效果不夠明顯,需要修整係數,加強增益效果。自適應濾波算法具有一定的魯棒性,增益係數(權重)並不是完全隨著信號的波形的急劇變化而變化,係數調整的幅度有一定的延遲,因此,需要根據信號的波動性做相應的增益修整。
圖2為本發明方法的流程圖,其包括以下步驟 步驟401,估計輸入信號x(n)的瞬時功率Px(n),功率計算方法採取上述公式(1)的方法。
步驟402,根據步驟401計算的功率檢測是否為背景噪音,背景噪音的檢測方法採取設定Pmin為最小信號功率閥值,如當前信號功率小於該值,則為背景噪音直接執行步驟407,否則順序執行步驟403。
步驟403,根據計算的功率信息和自適應濾波學習步長更新,來更新增益係數g(n),更新公式採取上述公式(3),自適應濾波的學習步長更新採取上述公式(4)。
步驟404,利用新的增益係數,產生新的輸出信號,計算公式為y(n)=g(n)x(n)。
步驟405,計算輸出信號y(n)的瞬時功率Py(n),功率計算方法採取上述公式(2)的方法。並利用計算的瞬時功率Py(n)與用戶預指定的目標信號功率Pref求參差能量,並將其反饋到步驟403作為下一個信號的增益係數更新信息。
步驟406,根據輸入信號的功率Px(n),進行增益修整,進一步提高語音質量,增益整形的計算方法採取上述公式(6)的方法。
步驟407,進行飽和控制並輸出信號y(n),飽和控制的目的是為了控制信號溢出,如果輸入信號為16bit PCM碼流,則飽和控制使得16bit輸出信號的範圍為[-32768,+32767],大於32767的輸出設置為32767,小於-32768的輸出設置為-32768,其他的輸出不變。
當輸入新的語音信號x(n)時,重複以上步驟。
圖3給出了使用本發明的自動增益控制(AGC)方法對一段3秒鐘的語音進行處理的結果圖。圖4給出了AGC對該段語音的增益係數的變化曲線,記錄了未經過整形的增益係數(原始增益係數)和經過整形的增益係數的對比,可見,經過增益整修後,輸出的語音信號更加平衡和諧,且當有背景噪音時,增益係數等於1。該實例中,AGC參數選取如下公式(1)與公式(2)中的α取0.05,公式(4)中μ0與γ分別取0.03125和0.001,公式(6)中K1,K2,Pa和Pb分別取0.5,2,0.001和0.1,公式(5)中Pmin取0.0008,代表背景噪音的功率,公式(3)中Pref取0.15,代表目標信號功率。
圖5給出了使用本發明的自動增益控制(AGC)方法對另一段6秒鐘的語音進行處理的結果圖。該實例中,公式(6)中K1,K2分別取0.8和4,公式(3)中的目標信號功率Pref取0.2,其他參數的取值與圖3中實例的取值相同。從圖3和圖5可以看出,增益效果比較理想,而且背景噪音部分沒有被增益。
權利要求
1.一種數字音頻自動增益控制方法,用於自動增益數字音頻信號,其特徵在於,其包括以下步驟
(1)計算輸入信號x(n)的瞬時功率Px(n);
(2)根據功率檢測步驟(1)中的信號是否為背景噪音,步驟(1)中輸入信號的瞬時功率Px(n)低於預設定功率Pmin,為背景噪音,直接進行飽和控制並輸出;瞬時功率Px(n)大於預設定功率Pmin的,進入下一步;
(3)根據步驟(1)的輸入信號的功率信息及更新的自適應濾波步長信息,來更新增益係數g(n);
(4)利用步驟(3)中的新增益係數,產生新的輸出信號y(n);
(5)計算輸出信號的瞬時功率Py(n),並反饋到步驟(3)作為下一個信號的增益係數更新信息;
(6)根據輸入信號的功率Px(n),進行增益整形;
(7)進行飽和控制並輸出數字音頻信號。
2.根據權利要求1所述的控制方法,其特徵在於所述步驟(3)增益係數的更新採取一種基於功率變化的變步長更新方法,其計算公式為g(n)=g(n-1)(1+μ(n)Px(n)(Pref-Py(n-1))),其中μ(n)為自適應濾波的步長,Pref為一常數,代表用戶預定的目標信號能量級別,自適應濾波的步長更新公式為μ0取值為0到1之間,γ為接近於0的擾動因子,取值範圍在0到0.1之間。
3.根據權利要求1所述的控制方法,其特徵在於所述步驟(6)增益整形的計算公式為y(n)=K1y(n)(1+K2(Pa-Px(n)))(當Pa<Px(n)<Pb),其中K1和K2為常係數,0.5≤K1≤1,1≤K2≤8,Pa和Pb為需要整形的信號能量的下限和上限。
4.根據權利要求1所述的控制方法,其特徵在於所述步驟(1)和步驟(2)中的功率計算方法分別為Px(n)=αPx(n-1)+(1-α)x2(n)和Py(n)=αPy(n-1)+(1-α)y2(n),其中0<α<<1。
5.根據權利要求1所述的控制方法,其特徵在於所述步驟(4)中新的輸出信號y(n)的計算公式為
6.一種數字音頻自動增益控制系統,用於自動增益數字音頻信號,其特徵在於其包括一第一功率計算模塊,用於計算輸入信號x(n)的瞬時功率Px(n);一自適應濾波模塊,用於接收第一功率計算模塊的信號,採用基於輸入信號瞬時功率的變步長更新機制來更新增益係數g(n),並根據新的增益係數產生新的輸出信號y(n);一第二功率計算模塊,用於計算從自適應濾波模塊輸出信號的瞬時功率Py(n),並反饋信號功率至自適應濾波模塊,作為下一個信號的增益係數更新信息;一增益整形模塊,用於對從自適應濾波模塊輸出的信號進行增益係數調整,以弱化增益係數過大的情況和加強增益係數過小的情況,輸出經增益整形後的信號。
7.根據權利要求6所述的控制系統,其特徵在於所述自適應濾波模塊包括自適應濾波學習步長更新模塊,用於根據第一功率計算模塊的信號功率更新自適應學習步長μ(n);濾波係數更新模塊,用於根據自適應更新步長μ(n)和上一個從自適應濾波模塊輸出信號的功率,更新增益係數g(n);及新的輸出信號計算模塊,用於根據新的增益係數計算新的輸出信號y(n)。
全文摘要
本發明公開了一種數字音頻自動增益控制方法,其包括以下步驟(1)計算輸入信號的瞬時功率;(2)檢測步驟(1)中的信號是否為背景噪音;(3)根據步驟(1)的輸入信號的功率信息及自適應濾波學習步長更新,來更新增益係數g(n);(4)利用步驟(3)中的新增益係數,產生新的輸出信號;(5)計算輸出信號的瞬時功率;(6)進行增益整形;(7)進行飽和控制並輸出數字音頻信號。本發明的數字音頻自動增益控制系統包括第一功率計算模塊,自適應濾波模塊,第二功率計算模塊和增益整形模塊。採用本發明的系統和方法對數字音頻信號進行自動增益控制,使輸出的信號更加平衡和諧,可廣泛用於語音通信和錄音系統中。
文檔編號H04N7/15GK101370056SQ20071009402
公開日2009年2月18日 申請日期2007年8月17日 優先權日2007年8月17日
發明者歐陽合, 榮 程, 毅 周, 汪永寧, 豔 鄒 申請人:上海傑得微電子有限公司