国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于信號(hào)包絡(luò)和互相關(guān)的雙端通話檢測(cè)算法研究

2020-08-04 12:27張正文饒鼎鞏朋成涂斯純
現(xiàn)代電子技術(shù) 2020年3期

張正文 饒鼎 鞏朋成 涂斯純

摘? 要: 聲學(xué)回聲消除(AEC)系統(tǒng)依賴于自適應(yīng)濾波器的回聲路徑估計(jì),當(dāng)麥克風(fēng)接收的信號(hào)存在回聲和近端信號(hào)時(shí),可能出現(xiàn)模擬回聲路徑的自適應(yīng)濾波器發(fā)散,導(dǎo)致回聲消除性能下降,嚴(yán)重時(shí)影響雙端通話質(zhì)量。一個(gè)成熟的聲學(xué)回聲消除器應(yīng)該包含有雙端通話檢測(cè)算法,針對(duì)該問題,提出一種準(zhǔn)確度高、性能穩(wěn)定的基于信號(hào)包絡(luò)檢測(cè)(Env)和歸一化互相關(guān)(NCC)估計(jì)相結(jié)合的雙端通話檢測(cè)(DTD)算法。該算法先使用遠(yuǎn)端信號(hào)與麥克風(fēng)信號(hào)的能量包絡(luò)來判斷雙端通話是否發(fā)生,當(dāng)包絡(luò)檢測(cè)不能準(zhǔn)確地判斷雙端通話時(shí),再使用遠(yuǎn)端信號(hào)與麥克風(fēng)信號(hào)的互相關(guān)估計(jì)對(duì)雙端通話進(jìn)行最終判斷,保證雙端通話檢測(cè)的準(zhǔn)確性。仿真實(shí)驗(yàn)表明,提出的算法可以準(zhǔn)確判斷雙端通話的開始與結(jié)束,并且受回聲路徑變化的影響較小,提升了AEC系統(tǒng)的性能。

關(guān)鍵詞: 雙端通話檢測(cè); 聲學(xué)回聲消除; 自適應(yīng)濾波; 回聲路徑估計(jì); 包絡(luò)檢測(cè); 互相關(guān)

中圖分類號(hào): TN912.3?34? ? ? ? ? ? ? ? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼: A? ? ? ? ? ? ? ? ? ? ? ? ?文章編號(hào): 1004?373X(2020)03?0022?05

Double?talk detection algorithm based on signal envelope and cross correlation

ZHANG Zhengwen, RAO Ding, GONG Pengcheng, TU Sichun

(School of Electrical and Electronic Engineering, Hubei University of Technology, Wuhan 430068, China)

Abstract: The acoustic echo cancellation (AEC) system relies on the echo path estimation of the adaptive filter. When the signal received by microphone has echo and near?end signal, the adaptive filter divergence of the analog echo path may occur, resulting in degraded echo cancellation performance, which will affect the double?talk quality in severe cases. A mature acoustic echo canceller should be based on double?talk detection algorithm. In view of this, an accurate and stable double?talk detection (DTD) algorithm based on the combination of signal envelope detection (Env) and normalized cross correlation (NCC) estimation is proposed. In the algorithm, the energy envelope of the far?end signal and the microphone signal is used to judge whether the double?talk occurs or not. When the envelope detection fails to judge double?talk accurately, cross?correlation estimation of the far?end signal and the microphone signal is adopted to perform the final judgment of the double?talk to ensure its accuracy. The simulation experiments show that the proposed algorithm can accurately judge the beginning and end of double?talk, and is less affected by the change of echo path, which improves the performance of AEC system.

Keywords: double?talk detection; acoustic echo cancellation; adaptive filtering; echo path estimation; envelope detection; cross correlation

0? 引? 言

在視頻會(huì)議系統(tǒng)、IP對(duì)講通話系統(tǒng)中,揚(yáng)聲器播放的聲音經(jīng)過多種路徑傳播后被麥克風(fēng)拾取,并傳回到遠(yuǎn)端形成聲學(xué)回聲,影響通話質(zhì)量。因此,可以使用聲學(xué)回聲消除(Acoustic Echo Cancellation,AEC)技術(shù)來消除聲學(xué)回聲。

在聲學(xué)回聲消除系統(tǒng)中,自適應(yīng)濾波器用于消除遠(yuǎn)端語音的回聲,任何近端信號(hào)的存在都會(huì)影響其收斂[1?2]。在雙端通話期間,由于遠(yuǎn)端語音信號(hào)與近端語音信號(hào)的不相關(guān)特性,近端信號(hào)表現(xiàn)為一個(gè)很強(qiáng)的干擾信號(hào),使得自適應(yīng)濾波算法性能下降,甚至出現(xiàn)自適應(yīng)濾波器發(fā)散,導(dǎo)致講話人聽到自己的回聲,這是非常糟糕的體驗(yàn)[3?4]。

因此,需要雙端通話檢測(cè)(Double Talk Detection,DTD)算法準(zhǔn)確地判斷雙端通話的開始與結(jié)束,避免濾波器的發(fā)散,保證雙端通話的質(zhì)量。根據(jù)DTD的檢測(cè)結(jié)果,如果不存在雙端通話,自適應(yīng)濾波器繼續(xù)更新其系數(shù),否則,自適應(yīng)濾波器停止更新。

自從第一種基于自適應(yīng)濾波器的回聲消除器的發(fā)展以來,已經(jīng)提出了多種方法來檢測(cè)雙端通話。如能量比較法、相關(guān)性比較法、包絡(luò)檢測(cè)(Envelope Detection)法、過零率檢測(cè)法、語音特征提取法和估計(jì)殘余誤差信號(hào)的基頻方法等。

能量比較法簡單易行,但是誤報(bào)率高[5]。包絡(luò)檢測(cè)法是基于能量比較法的改進(jìn),降低了誤報(bào)率[6]。低延時(shí)的檢測(cè)算法也是在能量比較法上的改進(jìn),減少了檢測(cè)延時(shí)[7]。互相關(guān)比較法利用遠(yuǎn)端信號(hào)與誤差信號(hào)之間的互相關(guān)向量來構(gòu)造檢測(cè)統(tǒng)計(jì)量[8]。隨后在互相關(guān)比較法上做了一些改進(jìn),經(jīng)過改進(jìn)的歸一化互相關(guān)(Normalized Cross Correlation)雙端檢測(cè)算法[9?11]在性能上有所提升,但是濾波器初始收斂速度慢,當(dāng)回聲路徑改變時(shí)不能快速適應(yīng)新的回聲路徑。過零率檢測(cè)法[12]計(jì)算復(fù)雜度低,但只適用于固定環(huán)境,在實(shí)際環(huán)境中誤報(bào)率高?;谄娈愔捣纸夂突谡Z音特征提取的DTD算法[13?14]性能優(yōu)于經(jīng)典的能量比較法和歸一化互相關(guān)算法。但是存在計(jì)算復(fù)雜度高,不利于實(shí)際應(yīng)用的問題。通過自適應(yīng)二階陷波濾波器估計(jì)殘余誤差信號(hào)的基頻(FFE)雙端通話檢測(cè)算法[15]具有較好的檢測(cè)性能,但是計(jì)算量大,占用內(nèi)存大,在回聲路徑改變時(shí),適應(yīng)速度慢。

以上算法在某些環(huán)境中都可以獨(dú)立地進(jìn)行雙端通話檢測(cè),但是在實(shí)際復(fù)雜環(huán)境中其檢測(cè)性能受環(huán)境因素的影響較大,檢測(cè)性能下降。當(dāng)近端環(huán)境噪聲過大或近端語音信號(hào)較小時(shí),會(huì)出現(xiàn)誤判。

針對(duì)以上問題,本文提出一種基于信號(hào)包絡(luò)檢測(cè)和互相關(guān)估計(jì)相結(jié)合的DTD方法,可以正確判斷近端語音的開始和結(jié)束,同時(shí)使誤判率較低。

1? 雙端通話檢測(cè)

DTD作為AEC系統(tǒng)中不可缺少的一部分,在為AEC選擇DTD算法時(shí),性能和速度是很難兼顧的。

下面簡要介紹DTD算法的基本工作流程:

1) 利用AEC系統(tǒng)中的各種信號(hào),如遠(yuǎn)端語音信號(hào)、麥克風(fēng)信號(hào)、誤差信號(hào)等,構(gòu)造一個(gè)檢測(cè)統(tǒng)計(jì)量[ξ]。

2) 將檢測(cè)統(tǒng)計(jì)量[ξ]和一個(gè)預(yù)先設(shè)定的閾值[T]相比較。一般,如果[ξ

3) 一旦檢測(cè)到雙端通話,檢測(cè)將停止一個(gè)時(shí)間段,與此同時(shí),自適應(yīng)濾波器將停止更新。

4) 如果檢測(cè)統(tǒng)計(jì)量在超過檢測(cè)的時(shí)間段內(nèi)都滿足[ξ≥T],則自適應(yīng)濾波器繼續(xù)更新,直到重新檢測(cè)到[ξ

2? 改進(jìn)的雙端通話檢測(cè)算法

在本節(jié)中將信號(hào)Env和NCC估計(jì)算法相結(jié)合形成一種新的DTD方法,提出的DTD方法框圖如圖1所示。

先使用遠(yuǎn)端信號(hào)[x(n)]和麥克風(fēng)信號(hào)[y(n)]進(jìn)行信號(hào)包絡(luò)檢測(cè)來判斷雙端通話,再采用[x(n)],[y(n)]兩個(gè)信號(hào)計(jì)算互相關(guān)來減少雙端通話檢測(cè)誤差。在計(jì)算信號(hào)能量包絡(luò)中信號(hào)能量是變化的,采用平均值計(jì)算有一定的誤差,本文考慮到信號(hào)包絡(luò)上升和下降的兩種情況分別計(jì)算,以提高系統(tǒng)的精確度。[x(n)]的信號(hào)包絡(luò)可以使用以下公式計(jì)算:

式中,[λ]是遺忘因子,它定義為包絡(luò)檢測(cè)器對(duì)信號(hào)幅度的快速變化做出反應(yīng)的速度,用于精確估計(jì)信號(hào)能量,[0.85<λ<0.99]。同樣,其他信號(hào)的包絡(luò)也可以用這個(gè)公式計(jì)算。

麥克風(fēng)的輸入信號(hào)[y(n)]包括近端語音信號(hào)[s(n)]、回聲信號(hào)[d(n)]、近端噪聲信號(hào)[b(n)]。麥克風(fēng)輸入信號(hào)可表示為:

假設(shè)回聲信號(hào)的能量與遠(yuǎn)端信號(hào)相比較低,在雙端通話期間,麥克風(fēng)信號(hào)的能量大于遠(yuǎn)端信號(hào)的能量??傻眯盘?hào)包絡(luò)不等式:

在單邊通話期間,可近似得到:

因此,雙端通話檢測(cè)應(yīng)該基于回聲和噪聲的信號(hào)包絡(luò)?;芈曅盘?hào)[d(n)]可以使用自適應(yīng)濾波器產(chǎn)生的回聲估計(jì)[d(n)]來代替。如果噪聲水平保持在合理的范圍內(nèi),則背景噪聲的包絡(luò)可以通過恒定的閾值[ε]來估計(jì)。在雙端通話期間,可得到不等式:

但是,這個(gè)判定標(biāo)準(zhǔn)僅適用于自適應(yīng)濾波器已經(jīng)收斂的情況。在自適應(yīng)濾波器系數(shù)未完全收斂時(shí),可以采用與遠(yuǎn)端信號(hào)[x(n)]成比例的近似回聲測(cè)量來判定雙端通話,可得到不等式:

式中,[?(n)]是濾波器系數(shù)的發(fā)散度量,[?(n)≥0]。在系統(tǒng)工作中,[?(n)]應(yīng)該隨著濾波器收斂而降低并在收斂期間接近零。濾波器系數(shù)的梯度向量的范數(shù)可以滿足這個(gè)條件,因?yàn)樗S著自適應(yīng)濾波器收斂而幾乎單調(diào)下降。

在某一時(shí)刻,自適應(yīng)算法更新時(shí),濾波器系數(shù)[w(n)]隨著[Δw(n)]而改變,可得到:

式中:[α]是比例常數(shù);H是共軛轉(zhuǎn)置。

在頻域自適應(yīng)濾波器的情況下,根據(jù)帕賽瓦爾定理可知,一個(gè)信號(hào)能量恒等于此信號(hào)在完備正交函數(shù)集中各分量能量之和。因此,[w(n)]可以使用它的DFT之和代替。計(jì)算公式如下:

式中:[i=0,1,2,…,n];[j=0,1,2,…,n];Re表示實(shí)數(shù)部分;Im表示虛數(shù)部分。

因此,可得到判定函數(shù)如下:

將判定函數(shù)[ξEnv(n)]與預(yù)先設(shè)定的閾值[T]進(jìn)行比較,[T]略小于1,如果[ξEnv(n)>T],判定發(fā)生雙端通話。

從理論上來說,在雙端通話期間,麥克風(fēng)輸入信號(hào)能量大于遠(yuǎn)端信號(hào)能量。但是在實(shí)際應(yīng)用環(huán)境中,室內(nèi)脈沖響應(yīng)和回聲路徑是未知的,當(dāng)回聲的延遲較長將對(duì)雙端檢測(cè)系統(tǒng)有影響。在這種情況下,麥克風(fēng)信號(hào)可能低于遠(yuǎn)端輸入能量,導(dǎo)致錯(cuò)誤的雙端通話判定。雖然這種情況很少發(fā)生,但是一旦發(fā)生,可能導(dǎo)致濾波器發(fā)散而降低系統(tǒng)性能。

為了解決這種問題,將NCC算法加入DTD算法中。NCC是一種常用的基于相關(guān)性的算法,利用遠(yuǎn)端信號(hào)[x(n)]與麥克風(fēng)信號(hào)[y(n)]來構(gòu)造檢測(cè)函數(shù):

其中,[rxy=E[x(n)y(n)]=Rxxh],[h]是回聲路徑;[σ2y]是麥克風(fēng)信號(hào)的方差,且有:

式中:[Rxx]是[x(n)]的自相關(guān)矩陣;[σ2s]是近端語音信號(hào)的方差;[d(n)]是回聲信號(hào);[s(n)]是近端語音信號(hào)。當(dāng)沒有近端信號(hào)存在時(shí),判定函數(shù)[ξNCC(n)=1],當(dāng)存在近端信號(hào)時(shí),[0<ξNCC(n)<1]。

在雙端通話期間,麥克風(fēng)信號(hào)包含近端語音,因此相關(guān)系數(shù)會(huì)降低。將[ξNCC(n)]與預(yù)先設(shè)定的閾值[K]進(jìn)行比較,[K]略小于1,如果[ξNCC(n)

當(dāng)信號(hào)包絡(luò)檢測(cè)法無法準(zhǔn)確地判斷雙端通話的發(fā)生時(shí),NCC將作為最終的判斷。最終的判定函數(shù)如下:

當(dāng)[η(n)=1]時(shí)則判定為發(fā)生雙端通話,濾波器停止更新,否則,判定為單端通話,濾波器繼續(xù)更新。

3? 算法仿真

由于提出的DTD方法使用自適應(yīng)濾波器產(chǎn)生的回聲估計(jì)[d(n)]來判斷雙端通話,其性能取決于自適應(yīng)濾波器的失調(diào)量。

NLMS算法是廣泛使用的自適應(yīng)算法,但其失調(diào)量隨濾波器長度而增加,而頻域自適應(yīng)濾波器(FDAF)使用FFT算法,具有非常低的失調(diào)量并且比NLMS算法更快,因此,F(xiàn)DAF更適合在嵌入式系統(tǒng)中實(shí)現(xiàn)所提出的算法[16?17]。

在計(jì)算信號(hào)包絡(luò)和NCC中,式(1)中的 [λ=0.996],式(7)中的比例常數(shù) [α=0.5]。使用[ε]估計(jì)恒定噪聲,[ε=3.1×10-3],Env的判斷閾值[T≈1],根據(jù)實(shí)驗(yàn)經(jīng)驗(yàn),NCC的判斷閾值[K=0.34]。

仿真以Matlab為平臺(tái),使用兩段不同的語音作為遠(yuǎn)端信號(hào)和近端信號(hào),時(shí)間長約15 s,采樣率為8 kHz,SNR約為30 dB。近端語音與遠(yuǎn)端語音的功率比在-30~10 dB的范圍內(nèi)變化,在此范圍內(nèi)確定漏檢率[Pm]和誤報(bào)率[Pf]。[Pm]和[Pf]是判斷DTD準(zhǔn)確性的兩個(gè)主要參數(shù)。在這兩個(gè)參數(shù)中,[Pm]的值越低越好,因?yàn)殡p重通話的遺漏檢測(cè)會(huì)導(dǎo)致自適應(yīng)濾波器的發(fā)散,進(jìn)一步影響語音信號(hào)的質(zhì)量。

漏檢率是指在DT模式下,[η=0]的概率;誤報(bào)率是指不在DT模式下[η=1]的概率。定義式如下:

式中:[Γ0]表示存在雙端通話;[Γ1]表示不存在雙端通話。

下面將提出算法的性能水平與Geigel和NCC算法的性能水平進(jìn)行比較,如圖2,圖3所示。

從圖2可以看出,與Geiel能量比較法和NCC方法相比,在低NFR情況下,本文提出的Env與NCC結(jié)合的算法漏檢率最低。漏檢率隨著近端信號(hào)功率的提高而降低,在NFR大于0 dB后,漏檢率最低。從圖3可以看出,所提出算法的誤報(bào)率要高于NCC算法,但比Geigel算法要低很多,隨著NFR的增加,誤報(bào)率始終低于4%。在實(shí)際情況中,誤報(bào)率僅在非常短的時(shí)間內(nèi)凍結(jié)自適應(yīng)濾波器的權(quán)系數(shù)更新,因此不會(huì)造成濾波器發(fā)散。

在NFR為-10 dB,發(fā)生雙端通話的情況下,進(jìn)行回聲消除實(shí)驗(yàn)。圖4是近端語音信號(hào)、遠(yuǎn)端語音回聲信號(hào)和近端麥克風(fēng)接收到的信號(hào),在2 s,4 s,6 s,9.5 s,11.5 s處發(fā)生雙端通話。圖5給出了三種DTD算法下的回聲消除實(shí)驗(yàn)結(jié)果。

從圖4,圖5可以看出,Geigel算法在檢測(cè)時(shí)容易出現(xiàn)誤檢情況,導(dǎo)致殘余回聲較多,在11.5 s時(shí),近端語音信號(hào)較小,NCC算法出現(xiàn)漏檢情況,導(dǎo)致近端語音信號(hào)也被抑制,沒有保證完整的雙端通話。本文提出的Env與NCC結(jié)合的算法則能保持良好的檢測(cè)性能,保證完整雙端通話的同時(shí)降低誤檢情況,從而提升了回聲消除性能。

4? 結(jié)? 語

本文基于遠(yuǎn)端和麥克風(fēng)信號(hào)的包絡(luò)檢測(cè)和互相關(guān)估計(jì),提出一種新的DTD算法,并通過仿真實(shí)驗(yàn)驗(yàn)證了其性能。與傳統(tǒng)方法相比,本文提出的算法提高了DTD的準(zhǔn)確性及穩(wěn)定性,提升了AEC系統(tǒng)性能,可以更好地應(yīng)用在實(shí)際環(huán)境中。雙端通話的某些部分中出現(xiàn)的小檢測(cè)延遲將在未來的工作中得到改進(jìn)。

參考文獻(xiàn)

[1] GAY S L, BENESTY J. Acoustic signal processing for telecommunication [M]. [S.l.]: Springer, 2000.

[2] IKRAM M Z. Blind source separation and acoustic echo cancellation: a unified framework [C]// 2012 IEEE International Conference on Acoustics, Speech and Signal Processing. Kyoto: IEEE, 2012: 1701?1704.

[3] GUPTA V K, CHANDRA M, SHARAN S N. Acoustic echo and noise cancellation system for hand?free telecommunication using variable step size algorithms [J]. Radio engineering, 2013, 22(1): 200?207.

[4] KUO S M, LEE B H, TIAN W. Real?time digital signal processing implementations and applications [M]. 2nd ed. Chichester, United Kingdom: John Wiley & Sons, Ltd., 2006.

[5] DUTTWEILER D L. A twelve?channel digital echo canceler [J]. IEEE transactions on communications, 1978, 26(5): 647?653.

[6] SZWOCH G, CZY?EWSKI A, KULESZA M. A low complexity double?talk detector based on the signal envelope [J]. Signal processing, 2008, 88(11): 2856?2862.

[7] 袁紅星,吳少群,郭立,等.一種低延時(shí)雙端發(fā)音檢測(cè)方法[J].計(jì)算機(jī)工程與應(yīng)用,2012,48(17):139?142.

[8] YE Hua, WU Boxiu. A new double?talk detection algorithm based on the orthogonality theorem [J]. IEEE transactions on communications, 1991, 39(11): 1542?1545.

[9] BENESTY J, MORGAN D R, CHO J H. A new class of double talk detectors based on cross?correlation [J] IEEE transactions on speech and audio processing, 2000, 8(2): 168?172.

[10] 余力.一種計(jì)算復(fù)雜度低的雙端通話檢測(cè)算法[J].計(jì)算機(jī)工程與應(yīng)用,2011,47(16):147?150.

[11] DAS V, KAR A, CHANDRA M. A new cross correlation based double talk detection algorithm for nonlinear acoustic echo cancellation [C]// TENCON 2014?2014 IEEE Region 10 Conference. Bangkok: IEEE, 2014: 1?6.

[12] IKRAM M Z. Double?talk detection in acoustic echo cancellers using zero?crossings rate [C]// 2015 IEEE International Conference on Acoustics, Speech and Signal Processing. Brisbane, QLD: IEEE, 2015: 1121?1125.

[13] HAMIDIA M, AMROUCHE A. Double?talk detection using the singular value decomposition for acoustic echo cancellation [C]// 2013 IEEE International Conference on Communications. Budapest, Hungary: IEEE, 2013: 4745?4749.

[14] HAMIDIA M, AMROUCHE A. Double?talk detector based on speech feature extraction for acoustic echo cancellation [C]// 22nd International Conference on Software, Telecommunications and Computer Networks. Split, Croatia: IEEE, 2014: 393?397.

[15] CECCSHI S, ROMOLI L, PIAZZA F. Multichannel double?talk detector based on fundamental frequency estimation [J]. IEEE signal processing letters, 2016, 23(1): 94?97.

[16] GIL?CACHO J M, WATERSCHOOT T V, MOONEN M, et al. A frequency?domain adaptive filter (FDAF) prediction error method (PEM) framework for double?talk?robust acoustic echo cancellation [J]. IEEE/ACM transactions on audio, speech, and language processing, 2014, 22(12): 2074?2086.

[17] HAYKIN S. Adaptive filter theory [M]. New York: Prentice Hall Inc., 1986.