本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種改善聲學(xué)回波抵消器(AEC)自適應(yīng)學(xué)習(xí)的方法及裝置。
背景技術(shù):
作為電話會議系統(tǒng)和免提通信終端重要模塊之一的聲學(xué)回波抵消器(AEC),是用來抵消由揚(yáng)聲器(也可稱為喇叭)到麥克風(fēng)(也可稱為話筒)的聲學(xué)耦合反饋效應(yīng)(即聲學(xué)回波)。在AEC中,用一個(gè)濾波器對回波路徑進(jìn)行自適應(yīng)地?cái)?shù)學(xué)建模,并用該濾波器對下行接收信號進(jìn)行濾波而合成一個(gè)回波的有效估計(jì),然后在麥克風(fēng)的接收信號中減去該估計(jì),從而完成回波抵消的任務(wù)。
當(dāng)近端語音信號出現(xiàn)時(shí),由于它與遠(yuǎn)端語音信號統(tǒng)計(jì)上不相關(guān),因而其行為猶如一個(gè)突發(fā)的噪聲,使得濾波器的系數(shù)將偏離實(shí)際回波路徑所對應(yīng)的真值而發(fā)生發(fā)散現(xiàn)象。這便相應(yīng)地增大了回波殘留量,使AEC的性能惡化。為使AEC的工作性能穩(wěn)定可靠,檢測出麥克風(fēng)接收信號中是否含有近端語音信號即“雙端通話”情形,在“雙端通話”發(fā)生的條件下,濾波器系數(shù)的自適應(yīng)學(xué)習(xí)必須停止進(jìn)行直到“雙端通話”結(jié)束時(shí)為止;否則,濾波器系數(shù)的自適應(yīng)學(xué)習(xí)將持續(xù)進(jìn)行。
眾所周知,實(shí)際通話過程中將有以下四種情況發(fā)生:
情況A:實(shí)際為“單端通話”狀態(tài),DTD(Double-Talk Detection,雙端通話檢測)檢測結(jié)果為“單端通話”。此情況下,自適應(yīng)濾波器的系數(shù)將持續(xù)學(xué)習(xí)并保持收斂趨勢。
情況B:實(shí)際為“單端通話”狀態(tài),DTD檢測結(jié)果為“雙端通話”。此情況下,自適應(yīng)濾波器的系數(shù)將停止學(xué)習(xí)更新。
情況C:實(shí)際為“雙端通話”狀態(tài),DTD檢測結(jié)果為“雙端通話”。此情況下,自適應(yīng)濾波器的系數(shù)將停止學(xué)習(xí)更新。
情況D:實(shí)際為“雙端通話”狀態(tài),DTD檢測結(jié)果為“單端通話”。此情況下,已經(jīng)收斂的濾波器系數(shù)未停止學(xué)習(xí)而錯(cuò)誤地自適應(yīng)更新、乃至發(fā)散。
由此可見:上述“情況B”的DTD誤判,只會減慢AEC的學(xué)習(xí)收斂速度過程,并不會對AEC抵消回波的性能產(chǎn)生其它有害的影響;而上述“情況D”的DTD誤判,則會對AEC抵消回波的性能產(chǎn)生有害的影響。
由于目前DTD在檢測到“雙端通話”發(fā)生時(shí)幾乎均有遲后現(xiàn)象,那么這種無法及時(shí)而準(zhǔn)確地檢測出“雙端通話”真正開始階段而將實(shí)際已發(fā)生的“雙端通話”繼續(xù)錯(cuò)誤判為“單端通話”的時(shí)延段即使持續(xù)時(shí)間較短,也會導(dǎo)致濾波器系數(shù)的發(fā)散,對AEC性能影響很大。盡管通過調(diào)整DTD的相關(guān)參數(shù)可以一定程度上提高DTD檢測“雙端通話”的及時(shí)和準(zhǔn)確性,但從統(tǒng)計(jì)意義上說卻無法避免誤判“情況D”的發(fā)生。
鑒于語音信號的起始階段其電平都存在一個(gè)漸強(qiáng)的變化過程(即從很小幅度在一定時(shí)間內(nèi)逐漸增大),這便使得現(xiàn)有的“雙端通話”檢測技術(shù)均會遲后的檢測到“雙端通話”發(fā)生,而并非及時(shí)而準(zhǔn)確地檢測出“雙端通話”發(fā)生的真正開始階段。DTD這一遲后的檢測現(xiàn)象將導(dǎo)致濾波器在此前會持續(xù)地錯(cuò)誤更新,由此導(dǎo)致“雙端通話”中存在更多殘余回波。
技術(shù)實(shí)現(xiàn)要素:
鑒于上述技術(shù)問題,本發(fā)明提供一種改善聲學(xué)回波抵消器自適應(yīng)學(xué)習(xí)的方法及裝置,有效地避免DTD的“雙端通話”判決遲后而引發(fā)的AEC性能下降問題。
依據(jù)本發(fā)明的一個(gè)方面,提供了一種改善聲學(xué)回波抵消器自適應(yīng)學(xué)習(xí)的方法,所述方法包括:在檢測到雙端通話時(shí),獲取在單端通話時(shí)聲學(xué)回波抵消器中濾波器的濾波器系數(shù)歷史值;將雙端通話時(shí)所述濾波器的濾波器系數(shù)由第一濾波器系數(shù)平滑切換為所述濾波器系數(shù)歷史值,并根據(jù)插值所得濾波器系數(shù)在平滑切換過程中進(jìn)行回波抵消,根據(jù)所述濾波器系數(shù)歷史值在平滑切換完成后進(jìn)行回波抵消,其中,所述第一濾波器系數(shù)為檢測到雙端通話時(shí)所述濾波器的濾波器系數(shù)。
可選地,所述將雙端通話時(shí)的濾波器的第一濾波器系數(shù)平滑切換為所述濾波器的濾波器系數(shù)歷史值,并根據(jù)插值所得濾波器系數(shù)在平滑切換過程中進(jìn)行回波抵消,根據(jù)所述濾波器系數(shù)歷史值在平滑切換完成后進(jìn)行回波抵消,具體包括:根據(jù)第三時(shí)刻對應(yīng)的所述濾波器的濾波器系數(shù)歷史值,以及第一時(shí)刻對應(yīng)的所述濾波器的第一濾波器系數(shù),確定所述第一時(shí)刻和第三時(shí)刻之間的第二時(shí)刻對應(yīng)的所述濾波器的第二濾波器系數(shù),其中,所述第一時(shí)刻為檢測到雙端通話的時(shí)刻,所述第三時(shí)刻為雙端通話時(shí)平滑切換到所述濾波器的濾波器系數(shù)歷史值的時(shí)刻;根據(jù)所述第一濾波器系數(shù)、所述第二濾波器系數(shù)和所述濾波器系數(shù)歷史值,將所述濾波器的第一濾波器系數(shù)平滑切換為所述濾波器系數(shù)歷史值,并根據(jù)插值所得濾波器系數(shù)在平滑切換過程中進(jìn)行回波抵消,根據(jù)所述濾波器系數(shù)歷史值在平滑切換完成后進(jìn)行回波抵消。
可選地,根據(jù)公式確定所述第一時(shí)刻和第三時(shí)刻之間的第二時(shí)刻對應(yīng)的所述濾波器的第二濾波器系數(shù)其中,n2<n<n3,表示n3時(shí)刻的濾波器系數(shù)歷史值,表示n2時(shí)刻的第一濾波器系數(shù);n2表示檢測到雙端通話時(shí)的第一時(shí)刻,n3表示第三時(shí)刻,n表示第一時(shí)刻和第三時(shí)刻之間的第二時(shí)刻。
可選地,所述方法還包括:在檢測到單端通話時(shí),按照預(yù)定的更新策略對單端通話時(shí)所述濾波器的濾波器系數(shù)進(jìn)行更新,得到更新后的濾波器的濾波器系數(shù)。
可選地,所述按照預(yù)定的更新策略對單端通話時(shí)所述濾波器系數(shù)進(jìn)行更新,得到更新后的濾波器的濾波器系數(shù),具體包括:
根據(jù)計(jì)算得到n時(shí)刻的濾波器系數(shù)矢量其中表示n-1時(shí)刻的濾波器系數(shù)矢量,δ表示正則化因子,μ表示步長參數(shù),表示n-1時(shí)刻遠(yuǎn)端語音信號矢量,e(n-1)表示n-1時(shí)刻誤差信號;
根據(jù)回波回程損耗增量,計(jì)算得到n時(shí)刻、與濾波器系數(shù)矢量對應(yīng)的性能指標(biāo)參數(shù)λ;
若計(jì)算得到的性能指標(biāo)參數(shù)λ大于之前記錄的性能指標(biāo)參數(shù)歷史值λA,則將性能指標(biāo)參數(shù)歷史值λA調(diào)整為與計(jì)算得到的性能指標(biāo)參數(shù)λ相等,并將濾波器的濾波器系數(shù)歷史值調(diào)整為與計(jì)算得到的n時(shí)刻的濾波器系數(shù)矢量相等。
可選地,所述按照預(yù)定的更新策略對單端通話時(shí)所述濾波器系數(shù)進(jìn)行更新,得到更新后的濾波器的濾波器系數(shù),具體包括:
根據(jù)計(jì)算得到n時(shí)刻的濾波器系數(shù)矢量其中表示n-1時(shí)刻的濾波器系數(shù)矢量,δ表示正則化因子,μ表示步長參數(shù),表示n-1時(shí)刻遠(yuǎn)端語音信號矢量,e(n-1)表示n-1時(shí)刻誤差信號;
根據(jù)誤差信號平均值,計(jì)算得到n時(shí)刻、與濾波器系數(shù)矢量對應(yīng)的性能指標(biāo)參數(shù)λ;
若計(jì)算得到的性能指標(biāo)參數(shù)λ小于之前記錄的性能指標(biāo)參數(shù)歷史值λA,則將性能指標(biāo)參數(shù)歷史值λA調(diào)整為與計(jì)算得到的性能指標(biāo)參數(shù)λ相等,并將濾波器的濾波器系數(shù)歷史值調(diào)整為與計(jì)算得到的n時(shí)刻的濾波器系數(shù)矢量相等。
依據(jù)本發(fā)明的另一個(gè)方面,還提供了一種改善聲學(xué)回波抵消器自適應(yīng)學(xué)習(xí)的裝置,所述裝置包括:獲取模塊,用于在檢測到雙端通話時(shí),獲取在單端通話時(shí)聲學(xué)回波抵消器中濾波器的濾波器系數(shù)歷史值;平滑切換模塊,用于將雙端通話時(shí)所述濾波器的濾波器系數(shù)由第一濾波器系數(shù)平滑切換為所述濾波器系數(shù)歷史值,并根據(jù)插值所得濾波器系數(shù)在平滑切換過程中進(jìn)行回波抵消,根據(jù)所述濾波器系數(shù)歷史值在平滑切換完成后進(jìn)行回波抵消,其中,所述第一濾波器系數(shù)為檢測到雙端通話時(shí)所述濾波器的濾波器系數(shù)。
可選地,所述平滑切換模塊包括:插值單元,用于根據(jù)第三時(shí)刻對應(yīng)的所述濾波器的濾波器系數(shù)歷史值,以及第一時(shí)刻對應(yīng)的所述濾波器的第一濾波器系數(shù),確定所述第一時(shí)刻和第三時(shí)刻之間的第二時(shí)刻對應(yīng)的所述濾波器的第二濾波器系數(shù),其中,所述第一時(shí)刻為檢測到雙端通話的時(shí)刻,所述第三時(shí)刻為雙端通話時(shí)平滑切換到所述濾波器的濾波器系數(shù)歷史值的時(shí)刻;平滑切換單元,用于根據(jù)所述第一濾波器系數(shù)、所述第二濾波器系數(shù)和所述濾波器系數(shù)歷史值,將所述濾波器的第一濾波器系數(shù)平滑切換為所述濾波器系數(shù)歷史值,并根據(jù)插值所得濾波器系數(shù)在平滑切換過程中進(jìn)行回波抵消,根據(jù)所述濾波器系數(shù)歷史值在平滑切換完成后進(jìn)行回波抵消。
可選地,所述插值單元根據(jù)公式確定所述第一時(shí)刻和第三時(shí)刻之間的第二時(shí)刻對應(yīng)的所述濾波器的第二濾波器系數(shù)其中,n2<n<n3,
表示n3時(shí)刻的濾波器系數(shù)歷史值,表示n2時(shí)刻的第一濾波器系數(shù);n2表示檢測到雙端通話時(shí)的第一時(shí)刻,n3表示第三時(shí)刻,n表示第一時(shí)刻和第三時(shí)刻之間的第二時(shí)刻。
可選地,所述裝置還包括:更新模塊,用于在檢測到單端通話時(shí),按照預(yù)定的更新策略對單端通話時(shí)所述濾波器的濾波器系數(shù)進(jìn)行更新,得到更新后的濾波器的濾波器系數(shù)。
可選地,所述更新模塊進(jìn)一步用于:
根據(jù)計(jì)算得到n時(shí)刻的濾波器系數(shù)矢量其中表示n-1時(shí)刻的濾波器系數(shù)矢量,δ表示正則化因子,μ表示步長參數(shù),表示n-1時(shí)刻遠(yuǎn)端語音信號矢量,e(n-1)表示n-1時(shí)刻誤差信號;
根據(jù)回波回程損耗增量,計(jì)算得到n時(shí)刻、與濾波器系數(shù)矢量對應(yīng)的性能指標(biāo)參數(shù)λ;
若計(jì)算得到的性能指標(biāo)參數(shù)λ大于之前記錄的性能指標(biāo)參數(shù)歷史值λA,則將性能指標(biāo)參數(shù)歷史值λA調(diào)整為與計(jì)算得到的性能指標(biāo)參數(shù)λ相等,并將濾波器的濾波器系數(shù)歷史值調(diào)整為與計(jì)算得到的n時(shí)刻的濾波器系數(shù)矢量相等。
可選地,所述更新模塊進(jìn)一步用于:
根據(jù)計(jì)算得到n時(shí)刻的濾波器系數(shù)矢量其中表示n-1時(shí)刻的濾波器系數(shù)矢量,δ表示正則化因子,μ表示步長參數(shù),表示n-1時(shí)刻遠(yuǎn)端語音信號矢量,e(n-1)表示n-1時(shí)刻誤差信號;
根據(jù)誤差信號平均值,計(jì)算得到n時(shí)刻、與濾波器系數(shù)矢量對應(yīng)的性能指標(biāo)參數(shù)λ;
若計(jì)算得到的性能指標(biāo)參數(shù)λ小于之前記錄的性能指標(biāo)參數(shù)歷史值λA,則將性能指標(biāo)參數(shù)歷史值λA調(diào)整為與計(jì)算得到的性能指標(biāo)參數(shù)λ相等,并將濾波器的濾波器系數(shù)歷史值調(diào)整為與計(jì)算得到的n時(shí)刻的濾波器系數(shù)矢量相等。
依據(jù)本發(fā)明的又一個(gè)方面,還提供了一種聲學(xué)回波抵消器,包括如上所述的改善聲學(xué)回波抵消器自適應(yīng)學(xué)習(xí)的裝置。
本發(fā)明的有益效果是:首先在單端通話時(shí),按照預(yù)定的更新策略對單端通話時(shí)所述濾波器的濾波器系數(shù)進(jìn)行更新,并記錄在單端通話時(shí)濾波器的濾波器系數(shù)歷史值,然后將雙端通話時(shí)濾波器的當(dāng)前濾波器系數(shù)平滑切換為濾波器系數(shù)的歷史值,以避免直接使用濾波器系數(shù)歷史值而帶來語音信號的突變的問題。
附圖說明
圖1為本發(fā)明的實(shí)施例一中改善聲學(xué)回波抵消器自適應(yīng)學(xué)習(xí)的方法流程圖;
圖2為本發(fā)明的實(shí)施例二中改善聲學(xué)回波抵消器自適應(yīng)學(xué)習(xí)的方法流程圖;
圖3為本發(fā)明的實(shí)施例三中“單端通話”期間每次的執(zhí)行流程圖;
圖4為本發(fā)明的實(shí)施例三中線性插值的原理示意圖;
圖5為本發(fā)明的實(shí)施例四中基于NLMS學(xué)習(xí)算法的AEC基本工作原理和聲學(xué)回波路徑示意圖;
圖6為本發(fā)明的實(shí)施例四中利用ERLE為性能指標(biāo)參數(shù)的基于NLMS的自適應(yīng)學(xué)習(xí)機(jī)制的算法流程框圖;
圖7為本發(fā)明的實(shí)施例五中利用誤差信號平均值為性能指標(biāo)參數(shù)的基于NLMS的自適應(yīng)學(xué)習(xí)機(jī)制的算法流程框圖;
圖8為本發(fā)明的實(shí)施例六中改善聲學(xué)回波抵消器自適應(yīng)學(xué)習(xí)的裝置的結(jié)構(gòu)圖;
圖9為本發(fā)明的實(shí)施例七中改善聲學(xué)回波抵消器自適應(yīng)學(xué)習(xí)的裝置的結(jié)構(gòu)圖;
圖10為本發(fā)明的實(shí)施例八中聲學(xué)回波抵消器的結(jié)構(gòu)框圖。
具體實(shí)施方式
下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
第一實(shí)施例
參見圖1,圖中示出了本發(fā)明的第一實(shí)施例中改善聲學(xué)回波抵消器自適應(yīng)學(xué)習(xí)的方法,步驟如下:
步驟S101、在檢測到雙端通話時(shí),獲取在單端通話時(shí)聲學(xué)回波抵消器中濾波器的濾波器系數(shù)歷史值。
需要說明的是,在本發(fā)明的實(shí)施例中可以采用DTD(Double-Talk Detection,雙端通話檢測)技術(shù)檢測雙端通話,其中濾波器的濾波系數(shù)歷史值可以是在單端通話時(shí)濾波器的最優(yōu)濾波器系數(shù)歷史值。AEC在單端通話狀態(tài)下濾波器系數(shù)自適應(yīng)學(xué)習(xí)算法包括但不限于:歸一化最小均方(NLMS)算法、仿射投影算法(APA)或遞歸最小二乘(RLS)算法以及其相應(yīng)的可變迭代步長(VSS)類學(xué)習(xí)算法,當(dāng)然可以理解的是,在本發(fā)明的實(shí)施例中并不限定單端通話狀態(tài)下濾波器系數(shù)自適應(yīng)學(xué)習(xí)算法。
步驟S103、將雙端通話時(shí)濾波器的濾波器系數(shù)由第一濾波器系數(shù)平滑切換為濾波器系數(shù)歷史值,并根據(jù)插值所得濾波器系數(shù)在平滑切換過程中進(jìn)行回波抵消,并根據(jù)濾波器系數(shù)歷史值在平滑切換完成后進(jìn)行回波抵消,其中,第一濾波器系數(shù)為檢測到雙端通話時(shí)濾波器的濾波器系數(shù)。
需要說明的是,上述平滑切換技術(shù)包括但不限于線性插值方法,當(dāng)然也可以采用其他的方式進(jìn)行平滑切換。
由于在現(xiàn)有技術(shù)中,傳統(tǒng)AEC做法是利用檢測到雙端通話時(shí)刻的濾波器系數(shù)來進(jìn)行回波抵消,但其實(shí)在檢測到雙端通話時(shí)刻之前,就開始進(jìn)入到真正的“雙端通話”狀態(tài),導(dǎo)致檢測到雙端通話時(shí)刻的濾波器系數(shù)的更新已經(jīng)受到了近端語音的影響而變得發(fā)散,即檢測到雙端通話時(shí)刻的濾波器系數(shù)作為“雙端通話”時(shí)的濾波器系數(shù)是不適當(dāng)?shù)?,會聽到殘余回波,同時(shí)近端語音還會受到損傷。而在本實(shí)施例中,首先在單端通話時(shí),按照預(yù)定的更新策略對單端通話時(shí)濾波器的濾波器系數(shù)進(jìn)行更新,并記錄在單端通話時(shí)濾波器的濾波器系數(shù)歷史值,然后將雙端通話時(shí)濾波器的當(dāng)前濾波器系數(shù)平滑切換為濾波器系數(shù)的歷史值,以避免直接使用濾波器系數(shù)歷史值而帶來語音信號的突變的問題。
第二實(shí)施例
在第二實(shí)施例中具體介紹采用線性插值來實(shí)現(xiàn)濾波器系數(shù)平滑切換,參見圖2,圖中示出了本發(fā)明的第二實(shí)施例中改善聲學(xué)回波抵消器自適應(yīng)學(xué)習(xí)的方法,步驟如下:
步驟S201、在檢測到雙端通話時(shí),獲取在單端通話時(shí)聲學(xué)回波抵消器中濾波器的濾波器系數(shù)歷史值。
需要說明的是,在本發(fā)明的實(shí)施例中可以采用DTD(Double-Talk Detection,雙端通話檢測)技術(shù)檢測雙端通話,其中濾波器的濾波器系數(shù)歷史值可以是在單端通話時(shí)濾波器的最優(yōu)濾波器系數(shù)歷史值。AEC在單端通話狀態(tài)下濾波器系數(shù)自適應(yīng)學(xué)習(xí)算法包括但不限于:歸一化最小均方(NLMS)算法、仿射投影算法(APA)或遞歸最小二乘(RLS)算法以及其相應(yīng)的可變迭代步長(VSS)類學(xué)習(xí)算法,當(dāng)然可以理解的是,在本發(fā)明的實(shí)施例中并不限定單端通話狀態(tài)下濾波器系數(shù)自適應(yīng)學(xué)習(xí)算法。
步驟S203、根據(jù)第三時(shí)刻濾波器的濾波器系數(shù)歷史值,以及第一時(shí)刻濾波器的第一濾波器系數(shù),確定第一時(shí)刻和第三時(shí)刻之間的第二時(shí)刻濾波器的第二濾波器系數(shù),其中,第一時(shí)刻為檢測到雙端通話的時(shí)刻,第三時(shí)刻為雙端通話時(shí)平滑切換到所述濾波器的濾波器系數(shù)歷史值的時(shí)刻。
參見圖4,上述第一時(shí)刻對應(yīng)圖中的n2時(shí)刻,上述第三時(shí)刻對應(yīng)圖中的n3時(shí)刻,上述第二時(shí)刻對應(yīng)圖中的n時(shí)刻。上述第一濾波器系數(shù)對應(yīng)圖中的上述第二濾波器系數(shù)對應(yīng)圖中上述濾波器系數(shù)歷史值對應(yīng)圖中
具體地,在步驟S203中采用線性插值方法,根據(jù)第三時(shí)刻濾波器的濾波器系數(shù)歷史值,以及第一時(shí)刻濾波器的第一濾波器系數(shù),確定第一時(shí)刻和第三時(shí)刻之間的第二時(shí)刻濾波器的第二濾波器系數(shù)。
步驟S205、根據(jù)第一濾波器系數(shù)、第二濾波器系數(shù)和濾波器系數(shù)歷史值,將濾波器的第一濾波器系數(shù)平滑切換為濾波器系數(shù)歷史值,并根據(jù)插值所得濾波器系數(shù)在平滑切換過程中進(jìn)行回波抵消,根據(jù)濾波器系數(shù)歷史值在平滑切換完成后進(jìn)行回波抵消。
由于在現(xiàn)有技術(shù)中,傳統(tǒng)AEC做法是利用檢測到雙端通話時(shí)刻的濾波器系數(shù)來進(jìn)行回波抵消,但其實(shí)在檢測到雙端通話時(shí)刻之前,就開始進(jìn)入到真正的“雙端通話”狀態(tài),導(dǎo)致檢測到雙端通話時(shí)刻的濾波器系數(shù)的更新已經(jīng)受到了近端語音的影響而變得發(fā)散,即檢測到雙端通話時(shí)刻的濾波器系數(shù)作為“雙端通話”時(shí)的濾波器系數(shù)是不適當(dāng)?shù)模瑫牭綒堄嗷夭?,同時(shí)近端語音還會受到損傷。而在本實(shí)施例中,首先在單端通話時(shí),按照預(yù)定的更新策略對單端通話時(shí)所述濾波器的濾波器系數(shù)進(jìn)行更新,并記錄在單端通話時(shí)濾波器的濾波器系數(shù)歷史值,然后將雙端通話時(shí)濾波器的當(dāng)前濾波器系數(shù)平滑切換為濾波器系數(shù)的歷史值,以避免直接使用濾波器系數(shù)歷史值而帶來語音信號的突變的問題。
第三實(shí)施例
需要說明的是,第三實(shí)施例中僅描述濾波器系數(shù)更新方式和插值方式,其他內(nèi)容可參見第一實(shí)施例或第二實(shí)施例。
下面介紹如何更新濾波器系數(shù)。假設(shè)實(shí)際回波路徑為L為回波路徑長度;n時(shí)刻的濾波器系數(shù)矢量為
“雙端通話”的起始時(shí)刻為n1;檢測到“雙端通話”的時(shí)刻為n2(n2>n1);插值完成的時(shí)刻為n3,n3>n2,且n3與n2間隔要適中,過小則仍會出現(xiàn)信號突變,過大則插值時(shí)間過長,參見圖4。
濾波器的濾波器系數(shù)矢量為λA為AEC在濾波器系數(shù)矢量為對應(yīng)的性能指標(biāo)參數(shù);λ為AEC在系數(shù)矢量為對應(yīng)的性能指標(biāo)參數(shù);T為濾波器系數(shù)歷史值矢量的更換周期。
首先進(jìn)行初始化,如下:
Counter=0 (2)
即,在初始化后,濾波器系數(shù)歷史值矢量為零向量,將計(jì)數(shù)器的計(jì)數(shù)設(shè)置為0。當(dāng)DTD檢測結(jié)果為“單端通話”,會保持更新,每次均按照圖3所示流程執(zhí)行,以不斷更新和λA來存儲最佳的濾波器系數(shù)歷史值及其對應(yīng)的性能指標(biāo)參數(shù)值。
參見圖3,圖中示出了本發(fā)明的實(shí)施例三中“單端通話”期間每次的執(zhí)行流程圖,步驟如下:
步驟S301、開始調(diào)用一次,然后進(jìn)入步驟S303;
步驟S303、判斷計(jì)數(shù)器的計(jì)數(shù)是否達(dá)到更換周期T,若是,進(jìn)入步驟S305;否則,進(jìn)入步驟S313。
需要說明的是,更換周期T為濾波器系數(shù)歷史值矢量的更換周期,該更換周期T的時(shí)間值可根據(jù)具體情況進(jìn)行設(shè)置,在本實(shí)施例中并不限定該更換周期T的具體值。
步驟S305、計(jì)算AEC在濾波器系數(shù)矢量為對應(yīng)的性能指標(biāo)參數(shù)λ,然后進(jìn)入步驟S307。
需要說明的是,步驟S305中可以用ERLE作為性能指標(biāo)參數(shù)λ,或者以誤差信號平均值作為性能指標(biāo)參數(shù)λ,當(dāng)然可以理解的是,在本發(fā)明的實(shí)施例中并不限定計(jì)算在濾波器系數(shù)矢量為性能指標(biāo)參數(shù)λ的具體方式。
步驟S307、計(jì)數(shù)器清零,然后進(jìn)入步驟S309。
步驟S309、判斷是否需要更新性能指標(biāo)參數(shù)λA和濾波器系數(shù)歷史值矢量若是,進(jìn)入步驟S311;否則進(jìn)入步驟S315。
也就是,在步驟S309中根據(jù)步驟S305中計(jì)算得到的性能指標(biāo)參數(shù)λ,判斷是否需要對當(dāng)前的記錄的性能指標(biāo)參數(shù)λA和濾波器系數(shù)歷史值矢量進(jìn)行更新。
步驟S311、λA=λ,然后進(jìn)入步驟S315。
也就是,將步驟S305中計(jì)算得到的λ作為最佳的性能指標(biāo)參數(shù)λA進(jìn)行記錄,相應(yīng)地,將與性能指標(biāo)參數(shù)λ對應(yīng)的濾波器系數(shù)矢量作為最佳的濾波器系數(shù)歷史值矢量即完成對性能指標(biāo)參數(shù)λA和濾波器系數(shù)歷史值矢量的更新。
步驟S313、計(jì)數(shù)器加一,然后進(jìn)入步驟S315;
步驟S315、結(jié)束本次調(diào)用。
當(dāng)DTD檢測結(jié)果為“雙端通話”,將會停止更新,并凍結(jié)計(jì)數(shù)器(Counter)的值,直到“雙端通話”階段結(jié)束。結(jié)合圖3,從n2時(shí)刻開始,在現(xiàn)有技術(shù)中AEC做法是利用n2時(shí)刻的濾波器系數(shù)矢量來進(jìn)行回波抵消,但在n1時(shí)刻就開始進(jìn)入到真正的“雙端通話”狀態(tài),的更新已經(jīng)受到了近端語音的影響而變得發(fā)散,以作為“雙端通話”時(shí)的濾波器系數(shù)是不適當(dāng)?shù)模瑫?dǎo)致聽到殘余回波,同時(shí)近端語音還會受到損傷。
而在本實(shí)施例中,利用濾波器系數(shù)(收斂時(shí))的最佳的濾波器系數(shù)歷史值矢量作為“雙端通話”下的濾波器系數(shù),其方法是:在已檢測的“雙端通話”期間,對任意時(shí)刻n≥n2,AEC濾波器的濾波器系數(shù)矢量將由平滑切換到以避免直接使用而帶來語音信號的突變問題。需要說明的是,這種平滑切換技術(shù)可以包括但不局限于線性插值方法。
參見圖4,圖中示出了本發(fā)明的實(shí)施例三中線性插值的原理示意圖。
其中,n2時(shí)刻的濾波器系數(shù)矢量設(shè)為n3時(shí)刻的濾波器系數(shù)矢量設(shè)為對n2時(shí)刻與n3時(shí)刻之間的濾波器系數(shù)進(jìn)行插值,得到n2<n<n3時(shí)的濾波器系數(shù)矢量具體公式如下:
其中,
進(jìn)而,利用公式(3),將n2<n<n3時(shí)的濾波器系數(shù)矢量從逐步平滑過渡至從n3時(shí)刻開始到“雙端通話”結(jié)束,均利用來進(jìn)行回波抵消。
每次檢測到“雙端通話”,操作同上,從而解決由于DTD無法及時(shí)而準(zhǔn)確的檢測出“雙端通話”真正的開始階段而將“雙端通話”誤判為“單端通話”的問題。
由于在現(xiàn)有技術(shù)中,傳統(tǒng)AEC做法是利用檢測到雙端通話時(shí)刻的濾波器系數(shù)來進(jìn)行回波抵消,但其實(shí)在檢測到雙端通話時(shí)刻之前,就開始進(jìn)入到真正的“雙端通話”狀態(tài),導(dǎo)致檢測到雙端通話時(shí)刻的濾波器系數(shù)的更新已經(jīng)受到了近端語音的影響而變得發(fā)散,即檢測到雙端通話時(shí)刻的濾波器系數(shù)作為“雙端通話”時(shí)的濾波器系數(shù)是不適當(dāng)?shù)?,會聽到殘余回波,同時(shí)近端語音還會受到損傷。而在本實(shí)施例中,首先在單端通話時(shí),按照預(yù)定的更新策略對單端通話時(shí)所述濾波器的濾波器系數(shù)進(jìn)行更新,并記錄在單端通話時(shí)濾波器的濾波器系數(shù)歷史值,然后將雙端通話時(shí)濾波器的當(dāng)前濾波器系數(shù)平滑切換為濾波器系數(shù)的歷史值,以避免直接使用濾波器系數(shù)歷史值而帶來語音信號的突變的問題。
第四實(shí)施例
本實(shí)施例以NLMS(Normalized Least Mean Square Algorithm,歸一化最小均方算法)為AEC中自適應(yīng)濾波器的學(xué)習(xí)方法,以ERLE(Echo Return Loss Enhancement,回波回程損耗增量)作為性能指標(biāo)參數(shù)λ。
基于NLMS學(xué)習(xí)算法的AEC基本工作原理如圖5所示。
其中,NLMS的算法公式為:
誤差信號為:
上述e(n)表示n時(shí)刻誤差信號,表示n時(shí)刻濾波器系數(shù)矢量,表示n時(shí)刻遠(yuǎn)端語音信號矢量,y(n)表示n時(shí)刻麥克風(fēng)輸出信號,其中n為正整數(shù)。
如下公式為基于n時(shí)刻的濾波器系數(shù)矢量計(jì)算得到n+1時(shí)刻的濾波器系數(shù)矢量,更新公式為:
其中,δ表示正則化因子,μ表示步長參數(shù)。
ERLE的定義如下:
上述e(n)表示n時(shí)刻誤差信號,其中n為正整數(shù)。
參見圖6,圖中示出了利用ERLE為性能指標(biāo)參數(shù),基于NLMS的自適應(yīng)學(xué)習(xí)機(jī)制的算法流程框圖。
步驟S601、n=0時(shí)刻,初始化,然后進(jìn)入步驟S603。
步驟S603、判斷DTD檢測結(jié)果,若DTD檢測結(jié)果為單端通話時(shí),進(jìn)入步驟S605;若DTD檢測結(jié)果為雙端通話時(shí),進(jìn)入步驟S623。
步驟S605、利用AEC的NLMS算法公式(5)和(6)更新然后進(jìn)入步驟S607。
步驟S607、判斷計(jì)數(shù)器的計(jì)數(shù)是否達(dá)到更換周期T,若是,進(jìn)入步驟S609;否則進(jìn)入步驟S621。
步驟S609、利用公式(7)計(jì)算AEC的ERLE性能指標(biāo)參數(shù)λ,然后進(jìn)入步驟S611。
步驟S611、計(jì)數(shù)器清零,然后進(jìn)入步驟S613。
步驟S613、比較λ與λA,若λ大于λA,進(jìn)入步驟S615;否則進(jìn)入步驟S617。
步驟S615、λA=λ,然后進(jìn)入步驟S617。
也就是,若計(jì)算得到的性能指標(biāo)參數(shù)λ大于之前記錄的性能指標(biāo)參數(shù)歷史值λA,則將性能指標(biāo)參數(shù)歷史值λA調(diào)整為與計(jì)算得到的性能指標(biāo)參數(shù)λ相等,并將濾波器的濾波器系數(shù)歷史值調(diào)整為與計(jì)算得到的n時(shí)刻的濾波器系數(shù)矢量相等。
步驟S617、n=n+1,然后進(jìn)入步驟S619。
步驟S619、判斷是否結(jié)束,若是,結(jié)束流程;否則,返回步驟S603。
步驟S621、計(jì)數(shù)器加一,然后進(jìn)入步驟S617。
步驟S623、利用公式(3)和(4)進(jìn)行插值,將n2<n<n3時(shí)的濾波器系數(shù)逐步平滑過渡至并停止更新。
由于在現(xiàn)有技術(shù)中,傳統(tǒng)AEC做法是利用檢測到雙端通話時(shí)刻的濾波器系數(shù)來進(jìn)行回波抵消,但其實(shí)在檢測到雙端通話時(shí)刻之前,就開始進(jìn)入到真正的“雙端通話”狀態(tài),導(dǎo)致檢測到雙端通話時(shí)刻的濾波器系數(shù)的更新已經(jīng)受到了近端語音的影響而變得發(fā)散,即檢測到雙端通話時(shí)刻的濾波器系數(shù)作為“雙端通話”時(shí)的濾波器系數(shù)是不適當(dāng)?shù)?,會聽到殘余回波,同時(shí)近端語音還會受到損傷。而在本實(shí)施例中,首先在單端通話時(shí),按照預(yù)定的更新策略對單端通話時(shí)所述濾波器的濾波器系數(shù)進(jìn)行更新,并記錄在單端通話時(shí)濾波器的濾波器系數(shù)歷史值,然后將雙端通話時(shí)濾波器的當(dāng)前濾波器系數(shù)平滑切換為濾波器系數(shù)的歷史值,以避免直接使用濾波器系數(shù)歷史值而帶來語音信號的突變的問題。
第五實(shí)施例
本實(shí)施例以NLMS為AEC中自適應(yīng)濾波器的學(xué)習(xí)方法,以誤差信號平均值作為性能指標(biāo)參數(shù)λ。
基于NLMS學(xué)習(xí)算法的AEC基本工作原理如圖5所示。
誤差信號平均值定義為遞歸平均,公式如下:
λ=ebar(n)=α·ebar(n-1)+(1-α)·|e(n)| (8)
或
λ=ebar(n)=α·ebar(n-1)+(1-α)·|e(n)|2 (9)
其中,ebar(n)表示n時(shí)刻的誤差信號平均值,ebar(n-1)表示n-1時(shí)刻的誤差信號平均值,e(n)表示n時(shí)刻的誤差信號,α是遞歸平滑因子,取值范圍是(0,1),通常取接近于1,其中n為正整數(shù)。
參見圖7,圖中示出了利用誤差信號平均值作為性能指標(biāo)參數(shù),基于NLMS為AEC中自適應(yīng)濾波器學(xué)習(xí)機(jī)制的算法流程框圖。
步驟S701、n=0時(shí)刻,初始化,然后進(jìn)入步驟S703。
步驟S703、判斷DTD檢測結(jié)果,若DTD檢測結(jié)果為單端通話時(shí),進(jìn)入步驟S705;若DTD檢測結(jié)果為雙端通話時(shí),進(jìn)入步驟S723。
步驟S705、利用AEC的NLMS算法公式(5)和(6)更新然后進(jìn)入步驟S707。
步驟S707、判斷計(jì)數(shù)器的計(jì)數(shù)是否達(dá)到更換周期T,若是,進(jìn)入步驟S709;否則進(jìn)入步驟S721。
步驟S709、利用公式(8)或公式(9)計(jì)算AEC誤差信號平均值ebar性能指標(biāo)參數(shù)λ,然后進(jìn)入步驟S711。
步驟S711、計(jì)數(shù)器清零,然后進(jìn)入步驟S713。
步驟S713、比較λ與λA,若λ小于λA,進(jìn)入步驟S715;否則進(jìn)入步驟S717。
步驟S715、λA=λ,然后進(jìn)入步驟S717。
也就是,若計(jì)算得到的性能指標(biāo)參數(shù)λ小于之前記錄的性能指標(biāo)參數(shù)歷史值λA,則將性能指標(biāo)參數(shù)歷史值λA調(diào)整為與計(jì)算得到的性能指標(biāo)參數(shù)λ相等,并將濾波器的濾波器系數(shù)歷史值調(diào)整為與計(jì)算得到的n時(shí)刻的濾波器系數(shù)歷史值矢量相等。
步驟S717、n=n+1,然后進(jìn)入步驟S719。
步驟S719、判斷是否結(jié)束,若是,結(jié)束流程;否則,返回步驟S703。
步驟S721、計(jì)數(shù)器加一,然后進(jìn)入步驟S717。
步驟S723、利用公式(3)和(4)進(jìn)行插值,將n2<n<n3時(shí)的濾波器系數(shù)逐步平滑過渡至并停止更新。
由于在現(xiàn)有技術(shù)中,傳統(tǒng)AEC做法是利用檢測到雙端通話時(shí)刻的濾波器系數(shù)來進(jìn)行回波抵消,但其實(shí)在檢測到雙端通話時(shí)刻之前,就開始進(jìn)入到真正的“雙端通話”狀態(tài),導(dǎo)致檢測到雙端通話時(shí)刻的濾波器系數(shù)的更新已經(jīng)受到了近端語音的影響而變得發(fā)散,即檢測到雙端通話時(shí)刻的濾波器系數(shù)作為“雙端通話”時(shí)的濾波器系數(shù)是不適當(dāng)?shù)?,會聽到殘余回波,同時(shí)近端語音還會受到損傷。而在本實(shí)施例中,首先在單端通話時(shí),按照預(yù)定的更新策略對單端通話時(shí)所述濾波器的濾波器系數(shù)進(jìn)行更新,并記錄在單端通話時(shí)濾波器的濾波器系數(shù)歷史值,然后將雙端通話時(shí)濾波器的當(dāng)前濾波器系數(shù)平滑切換為濾波器系數(shù)的歷史值,以避免直接使用濾波器系數(shù)歷史值而帶來語音信號的突變的問題。
第六實(shí)施例
以下為本發(fā)明實(shí)施例提供的一種改善聲學(xué)回波抵消器自適應(yīng)學(xué)習(xí)的裝置的實(shí)施例。裝置的實(shí)施例與上述的方法實(shí)施例屬于同一構(gòu)思,裝置的實(shí)施例中未詳盡描述的細(xì)節(jié)內(nèi)容,可以參考上述方法實(shí)施例。
參見圖8,圖中示出了改善聲學(xué)回波抵消器自適應(yīng)學(xué)習(xí)的裝置的結(jié)構(gòu)圖,裝置包括:
獲取模塊81,用于在檢測到雙端通話時(shí),獲取在單端通話時(shí)聲學(xué)回波抵消器中濾波器的濾波器系數(shù)歷史值;
平滑切換模塊83,用于將雙端通話時(shí)所述濾波器的濾波器系數(shù)由第一濾波器系數(shù)平滑切換為所述濾波器系數(shù)歷史值,并根據(jù)插值所得濾波器系數(shù)在平滑切換過程中進(jìn)行回波抵消,根據(jù)所述濾波器系數(shù)歷史值在平滑切換完成后進(jìn)行回波抵消,其中,所述第一濾波器系數(shù)為檢測到雙端通話時(shí)所述濾波器的濾波器系數(shù)。
需要說明的是,上述平滑切換模塊83可以包括:
插值單元831,用于根據(jù)第三時(shí)刻對應(yīng)的所述濾波器的濾波器系數(shù)歷史值,以及第一時(shí)刻對應(yīng)的所述濾波器的第一濾波器系數(shù),確定所述第一時(shí)刻和第三時(shí)刻之間的第二時(shí)刻對應(yīng)的所述濾波器的第二濾波器系數(shù),其中,所述第一時(shí)刻為檢測到雙端通話的時(shí)刻,所述第三時(shí)刻為雙端通話時(shí)平滑切換到所述濾波器的濾波器系數(shù)歷史值的時(shí)刻;
平滑切換單元833,用于根據(jù)所述第一濾波器系數(shù)、所述第二濾波器系數(shù)和所述濾波器系數(shù)歷史值,將所述濾波器的第一濾波器系數(shù)平滑切換為所述濾波器系數(shù)歷史值,并根據(jù)插值所得濾波器系數(shù)在平滑切換過程中進(jìn)行回波抵消,根據(jù)所述濾波器系數(shù)歷史值在平滑切換完成后進(jìn)行回波抵消。
具體地,插值單元831可以根據(jù)公式確定所述第一時(shí)刻和第三時(shí)刻之間的第二時(shí)刻對應(yīng)的所述濾波器的第二濾波器系數(shù)其中,n2<n<n3,
表示n3時(shí)刻的濾波器系數(shù)歷史值,表示n2時(shí)刻的第一濾波器系數(shù);n2表示檢測到雙端通話時(shí)的第一時(shí)刻,n3表示第三時(shí)刻,n表示第一時(shí)刻和第三時(shí)刻之間的第二時(shí)刻。
當(dāng)然可以理解的是,在本實(shí)施例中也可以采用其他技術(shù)實(shí)現(xiàn)平滑切換,并不限于上述線性插值方法。
由于在現(xiàn)有技術(shù)中,傳統(tǒng)AEC做法是利用檢測到雙端通話時(shí)刻的濾波器系數(shù)來進(jìn)行回波抵消,但其實(shí)在檢測到雙端通話時(shí)刻之前,就開始進(jìn)入到真正的“雙端通話”狀態(tài),導(dǎo)致檢測到雙端通話時(shí)刻的濾波器系數(shù)的更新已經(jīng)受到了近端語音的影響而變得發(fā)散,即檢測到雙端通話時(shí)刻的濾波器系數(shù)作為“雙端通話”時(shí)的濾波器系數(shù)是不適當(dāng)?shù)?,會聽到殘余回波,同時(shí)近端語音還會受到損傷。而在本實(shí)施例中,首先在單端通話時(shí),按照預(yù)定的更新策略對單端通話時(shí)所述濾波器的濾波器系數(shù)進(jìn)行更新,并記錄在單端通話時(shí)濾波器的濾波器系數(shù)歷史值,然后將雙端通話時(shí)濾波器的當(dāng)前濾波器系數(shù)平滑切換為濾波器系數(shù)的歷史值,以避免直接使用濾波器系數(shù)歷史值而帶來語音信號的突變的問題。
第七實(shí)施例
參見圖9,圖中示出了改善聲學(xué)回波抵消器自適應(yīng)學(xué)習(xí)的裝置的結(jié)構(gòu)圖,裝置包括:
獲取模塊91,用于在檢測到雙端通話時(shí),獲取在單端通話時(shí)聲學(xué)回波抵消器中濾波器的濾波器系數(shù)歷史值;
平滑切換模塊93,用于將雙端通話時(shí)所述濾波器的濾波器系數(shù)由第一濾波器系數(shù)平滑切換為所述濾波器系數(shù)歷史值,并根據(jù)插值所得濾波器系數(shù)在平滑切換過程中進(jìn)行回波抵消,根據(jù)所述濾波器系數(shù)歷史值在平滑切換完成后進(jìn)行回波抵消,其中,所述第一濾波器系數(shù)為檢測到雙端通話時(shí)所述濾波器的濾波器系數(shù)。
更新模塊95,用于在檢測到單端通話時(shí),按照預(yù)定的更新策略對單端通話時(shí)所述濾波器的濾波器系數(shù)進(jìn)行更新,得到更新后的濾波器的濾波器系數(shù)。
需要說明的是,上述平滑切換模塊93可以包括:
插值單元931,用于根據(jù)第三時(shí)刻對應(yīng)的所述濾波器的濾波器系數(shù)歷史值,以及第一時(shí)刻對應(yīng)的所述濾波器的第一濾波器系數(shù),確定所述第一時(shí)刻和第三時(shí)刻之間的第二時(shí)刻對應(yīng)的所述濾波器的第二濾波器系數(shù),其中,所述第一時(shí)刻為檢測到雙端通話的時(shí)刻,所述第三時(shí)刻為雙端通話時(shí)平滑切換到所述濾波器的濾波器系數(shù)歷史值的時(shí)刻;
平滑切換單元933,用于根據(jù)所述第一濾波器系數(shù)、所述第二濾波器系數(shù)和所述濾波器系數(shù)歷史值,將所述濾波器的第一濾波器系數(shù)平滑切換為所述濾波器系數(shù)歷史值,并根據(jù)插值所得濾波器系數(shù)在平滑切換過程中進(jìn)行回波抵消,根據(jù)所述濾波器系數(shù)歷史值在平滑切換完成后進(jìn)行回波抵消。
具體地,插值單元931可以根據(jù)公式確定所述第一時(shí)刻和第三時(shí)刻之間的第二時(shí)刻對應(yīng)的所述濾波器的第二濾波器系數(shù)其中,n2<n<n3,
表示n3時(shí)刻的濾波器系數(shù)歷史值,表示n2時(shí)刻的第一濾波器系數(shù);n2表示檢測到雙端通話時(shí)的第一時(shí)刻,n3表示第三時(shí)刻,n表示第一時(shí)刻和第三時(shí)刻之間的第二時(shí)刻。
當(dāng)然可以理解的是,在本實(shí)施例中也可以采用其他技術(shù)實(shí)現(xiàn)平滑切換,并不限于上述線性插值方法。
需要說明的是,更新模塊95進(jìn)一步用于:
根據(jù)計(jì)算得到n時(shí)刻的濾波器系數(shù)矢量其中表示n-1時(shí)刻的濾波器系數(shù)矢量,δ表示正則化因子,μ表示步長參數(shù),表示n-1時(shí)刻遠(yuǎn)端語音信號矢量,e(n-1)表示n-1時(shí)刻誤差信號;
根據(jù)回波回程損耗增量,計(jì)算得到n時(shí)刻、與濾波器系數(shù)矢量對應(yīng)的性能指標(biāo)參數(shù)λ;
若計(jì)算得到的性能指標(biāo)參數(shù)λ大于之前記錄的性能指標(biāo)參數(shù)歷史值λA,則將性能指標(biāo)參數(shù)歷史值λA調(diào)整為與計(jì)算得到的性能指標(biāo)參數(shù)λ相等,并將濾波器的濾波器系數(shù)歷史值調(diào)整為與計(jì)算得到的n時(shí)刻的濾波器系數(shù)矢量相等。
需要說明的是,更新模塊95進(jìn)一步用于:
根據(jù)計(jì)算得到n時(shí)刻的濾波器系數(shù)矢量其中表示n-1時(shí)刻的濾波器系數(shù)矢量,δ表示正則化因子,μ表示步長參數(shù),表示n-1時(shí)刻遠(yuǎn)端語音信號矢量,e(n-1)表示n-1時(shí)刻誤差信號;
根據(jù)誤差信號平均值,計(jì)算得到n時(shí)刻、與濾波器系數(shù)矢量對應(yīng)的性能指標(biāo)參數(shù)λ;
若計(jì)算得到的性能指標(biāo)參數(shù)λ小于之前記錄的性能指標(biāo)參數(shù)歷史值λA,則將性能指標(biāo)參數(shù)歷史值λA調(diào)整為與計(jì)算得到的性能指標(biāo)參數(shù)λ相等,并將濾波器的濾波器系數(shù)歷史值調(diào)整為與計(jì)算得到的n時(shí)刻的濾波器系數(shù)矢量相等。
第八實(shí)施例
在本實(shí)施例中提供了一種聲學(xué)回波抵消器,其包括如上述第六實(shí)施例或者第七實(shí)施例中所描述的改善聲學(xué)回波抵消器自適應(yīng)學(xué)習(xí)的裝置。
參見圖10,圖中示出了一種聲學(xué)回波抵消器,包括:第一處理器1001、第一存儲器1002和第一收發(fā)機(jī)1003,其中
第一處理器1001用于讀取第一存儲器1002中的程序,執(zhí)行下列過程:在檢測到雙端通話時(shí),獲取在單端通話時(shí)聲學(xué)回波抵消器中濾波器的濾波器系數(shù)歷史值;將雙端通話時(shí)所述濾波器的濾波器系數(shù)由第一濾波器系數(shù)平滑切換為所述濾波器系數(shù)歷史值,并根據(jù)插值所得濾波器系數(shù)在平滑切換過程中進(jìn)行回波抵消,根據(jù)所述濾波器系數(shù)歷史值在平滑切換完成后進(jìn)行回波抵消,其中,所述第一濾波器系數(shù)為檢測到雙端通話時(shí)所述濾波器的濾波器系數(shù)。
第一收發(fā)機(jī)1003用于在第一處理器1001的控制下接收和發(fā)送數(shù)據(jù)。
可選地,第一處理器1001具體用于根據(jù)第三時(shí)刻對應(yīng)的所述濾波器的濾波器系數(shù)歷史值,以及第一時(shí)刻對應(yīng)的所述濾波器的第一濾波器系數(shù),確定所述第一時(shí)刻和第三時(shí)刻之間的第二時(shí)刻對應(yīng)的所述濾波器的第二濾波器系數(shù),其中,所述第一時(shí)刻為檢測到雙端通話的時(shí)刻,所述第三時(shí)刻為雙端通話時(shí)平滑切換到所述濾波器的濾波器系數(shù)歷史值的時(shí)刻;根據(jù)所述第一濾波器系數(shù)、所述第二濾波器系數(shù)和所述濾波器系數(shù)歷史值,將所述濾波器的第一濾波器系數(shù)平滑切換為所述濾波器系數(shù)歷史值,并根據(jù)插值所得濾波器系數(shù)在平滑切換過程中進(jìn)行回波抵消,根據(jù)所述濾波器系數(shù)歷史值在平滑切換完成后進(jìn)行回波抵消。
可選地,第一處理器1001具體用于根據(jù)公式確定所述第一時(shí)刻和第三時(shí)刻之間的第二時(shí)刻對應(yīng)的所述濾波器的第二濾波器系數(shù)其中,n2<n<n3,
表示n3時(shí)刻的濾波器系數(shù)歷史值,表示n2時(shí)刻的第一濾波器系數(shù);n2表示檢測到雙端通話時(shí)的第一時(shí)刻,n3表示第三時(shí)刻,n表示第一時(shí)刻和第三時(shí)刻之間的第二時(shí)刻。
可選地,第一處理器1001具體用于在檢測到單端通話時(shí),按照預(yù)定的更新策略對單端通話時(shí)所述濾波器的濾波器系數(shù)進(jìn)行更新,得到更新后的濾波器的濾波器系數(shù)。
可選地,第一處理器1001具體用于根據(jù)計(jì)算得到n時(shí)刻的濾波器系數(shù)矢量其中表示n-1時(shí)刻的濾波器系數(shù)矢量,δ表示正則化因子,μ表示步長參數(shù),表示n-1時(shí)刻遠(yuǎn)端語音信號矢量,e(n-1)表示n-1時(shí)刻誤差信號;根據(jù)回波回程損耗增量,計(jì)算得到n時(shí)刻、與濾波器系數(shù)矢量對應(yīng)的性能指標(biāo)參數(shù)λ;若計(jì)算得到的性能指標(biāo)參數(shù)λ大于之前記錄的性能指標(biāo)參數(shù)歷史值λA,則將性能指標(biāo)參數(shù)歷史值λA調(diào)整為與計(jì)算得到的性能指標(biāo)參數(shù)λ相等,并將濾波器的濾波器系數(shù)歷史值調(diào)整為與計(jì)算得到的n時(shí)刻的濾波器系數(shù)矢量相等。
可選地,第一處理器1001具體用于根據(jù)計(jì)算得到n時(shí)刻的濾波器系數(shù)矢量其中表示n-1時(shí)刻的濾波器系數(shù)矢量,δ表示正則化因子,μ表示步長參數(shù),表示n-1時(shí)刻遠(yuǎn)端語音信號矢量,e(n-1)表示n-1時(shí)刻誤差信號;根據(jù)誤差信號平均值,計(jì)算得到n時(shí)刻、與濾波器系數(shù)矢量對應(yīng)的性能指標(biāo)參數(shù)λ;若計(jì)算得到的性能指標(biāo)參數(shù)λ小于之前記錄的性能指標(biāo)參數(shù)歷史值λA,則將性能指標(biāo)參數(shù)歷史值λA調(diào)整為與計(jì)算得到的性能指標(biāo)參數(shù)λ相等,并將濾波器的濾波器系數(shù)歷史值調(diào)整為與計(jì)算得到的n時(shí)刻的濾波器系數(shù)矢量相等。
可選地,第一處理器1001可以是CPU(中央處理器)、ASIC(Application Specific Integrated Circuit,專用集成電路)、FPGA(Field-Programmable Gate Array,現(xiàn)場可編程門陣列)或CPLD(Complex Programmable Logic Device,復(fù)雜可編程邏輯器件)。
其中,在圖10中,總線架構(gòu)可以包括任意數(shù)量的互聯(lián)的總線和橋,具體由第一處理器1001代表的一個(gè)或多個(gè)處理器和第一存儲器1002代表的存儲器的各種電路鏈接在一起??偩€架構(gòu)還可以將諸如外圍設(shè)備、穩(wěn)壓器和功率管理電路等之類的各種其他電路鏈接在一起,這些都是本領(lǐng)域所公知的,因此,本文不再對其進(jìn)行進(jìn)一步描述。總線接口提供接口。第一收發(fā)機(jī)1003可以是多個(gè)元件,即包括發(fā)送機(jī)和接收機(jī),提供用于在傳輸介質(zhì)上與各種其他裝置通信的單元。第一處理器1001負(fù)責(zé)管理總線架構(gòu)和通常的處理,第一存儲器1002可以存儲第一處理器1001在執(zhí)行操作時(shí)所使用的數(shù)據(jù)。
在本申請所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露方法和裝置,可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理包括,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用硬件加軟件功能單元的形式實(shí)現(xiàn)。
上述以軟件功能單元的形式實(shí)現(xiàn)的集成的單元,可以存儲在一個(gè)計(jì)算機(jī)可讀取存儲介質(zhì)中。上述軟件功能單元存儲在一個(gè)存儲介質(zhì)中,包括若干指令用以使得一臺計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的部分步驟。而前述的存儲介質(zhì)包括:U盤、移動(dòng)硬盤、只讀存儲器(Read-Only Memory,簡稱ROM)、隨機(jī)存取存儲器(Random Access Memory,簡稱RAM)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
以上所述的是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出對于本技術(shù)領(lǐng)域的普通人員來說,在不脫離本發(fā)明所述的原理前提下還可以作出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也在本發(fā)明的保護(hù)范圍內(nèi)。