采用TMS320C54x免提開(kāi)發(fā)平臺(tái)的車載信號(hào)處理與音頻系統(tǒng)
AEC 的其他問(wèn)題在于兩人同時(shí)講話的模糊音(DT)情況。如果沒(méi)有檢測(cè)到的話,DT 會(huì)造成自適應(yīng)算法的發(fā)散。
AEC 軟件利用 NLMS 算法來(lái)消除回聲,執(zhí)行 C54x DSP 匯編程序。
NLMS 算法
NLMS 算法可更新自適應(yīng)有限脈沖響應(yīng) (FIR) 濾波器的系數(shù),可將該濾波器用于預(yù)計(jì)回聲。隨后我們從實(shí)際回聲中減去預(yù)計(jì)值,并給出剩余回聲。
活動(dòng)通道檢測(cè)
AEC 算法的一個(gè)關(guān)鍵特性就是活動(dòng)通道檢測(cè)。遠(yuǎn)端操作者沉默而近端操作者講話時(shí),濾波器不可進(jìn)行適配,因?yàn)榻瞬僮髡卟辉偈腔芈暋Mㄟ^(guò)計(jì)算信號(hào)能量,并將該能量與自適應(yīng)閾值進(jìn)行比較,可實(shí)現(xiàn)活動(dòng)通道的檢測(cè)。
模糊音 (DT) 檢測(cè)
在 DT 情況下,擴(kuò)音器上的近端信號(hào)包括回聲與近端話音(即模糊音)。用于更新濾波器系數(shù)的剩余誤差包括近端講話,而如果算法仍在進(jìn)行自適應(yīng),則算法可能開(kāi)始發(fā)散,必須避免這種情況。DT 檢測(cè)使用基于能量的算法,并配合一個(gè)變量閾值來(lái)解決此問(wèn)題。
基準(zhǔn)
AEC 軟件的基準(zhǔn)(以 16 位字表示)為:
- 代碼大小:154 字;
- 靜態(tài) RAM:527 字;
- 擦寫 RAM:2 字;
- 最大計(jì)算時(shí)成本為 4.7MIPS。
計(jì)算時(shí)成本在 ST 時(shí)期最大;在 DT 時(shí)期降至 2.4MIPS。ST 時(shí)期表現(xiàn)通話主要部分,而DT 時(shí)期僅在較短的有限情況出現(xiàn)。
4. CVC-HFK 軟件
圖2:CVC-HFK 應(yīng)用圖示
CVC-HFK AEC
CVC-HFK 回聲消除器是"無(wú)狀態(tài)"AEC,其采用標(biāo)準(zhǔn)頻率域NLMS算法的一個(gè)變體作為其主要的自適應(yīng)濾波器。我們將在下面說(shuō)明采用這些方法的優(yōu)勢(shì)。首先,子帶頻率域方法可取消關(guān)聯(lián)或白化每個(gè)帶中的輸入信號(hào),這相比于相當(dāng)時(shí)間域的AEC 就可實(shí)現(xiàn)更快的收斂。第二,無(wú)狀態(tài) AEC 可實(shí)現(xiàn)連續(xù)的濾波器適應(yīng),這改善了噪聲環(huán)境中的魯棒性和整體模糊音性能。我們記得,DT 情況下擴(kuò)音器信號(hào)既包含回聲,又包含近端話音。近端話音不與回聲信號(hào)相關(guān)聯(lián),如果沒(méi)有進(jìn)程避免它的話就會(huì)造成自適應(yīng)濾波器的發(fā)散。第三,NLMS可實(shí)現(xiàn)獨(dú)立于輸入振幅的一致收斂。正由于此,CVC-HFK AEC實(shí)現(xiàn)了典型的40 dB ERLE(回聲返回?fù)p失量),最大為50 dB ERLE,并可實(shí)現(xiàn)80ms左右的快速收斂時(shí)間,且在大多數(shù)環(huán)境下可進(jìn)行全雙工操作。此外,CVC-HFK AEC為其自適應(yīng)濾波器采用了 64ms 的尾長(zhǎng),這就在內(nèi)部容量方面實(shí)現(xiàn)了更大的靈活性。
CVC-HFK NS
CVC-HFK 噪聲抑制器是一種利用話音與噪聲特性來(lái)幫助從合成噪聲及話音信號(hào)中提取話音的頻率域算法。CVC-HFK NS 的兩大主要模塊是語(yǔ)音構(gòu)成分析與語(yǔ)音提取。
語(yǔ)音成份分析模塊采用話音與噪聲的暫時(shí)與相關(guān)屬性來(lái)構(gòu)建話音構(gòu)成的可預(yù)測(cè)模型。語(yǔ)音提取塊可根據(jù)語(yǔ)音與噪聲模型修改各頻率成份。此外,語(yǔ)音提取塊還可充分利用音質(zhì)原理最小化噪聲底限與感覺(jué)的語(yǔ)音失真。
CVC-HFK NS 采用該方案可在噪聲環(huán)境中實(shí)現(xiàn) 10-15dB SNR(信躁比)的改善,同時(shí)還能保持較好的語(yǔ)音質(zhì)量。在SNR已經(jīng)足夠高的極低噪聲環(huán)境中,因?yàn)橐殃P(guān)閉了 NS,不會(huì)發(fā)生語(yǔ)音失真。
CVC-HFK NLP
由于系統(tǒng)失真增加,因而 CVC-HFK NLP 最小。由CVC-HFK NLP 增加的失真量比諸如中心削波器等標(biāo)準(zhǔn)NLP模塊要低得多,因?yàn)槠涫褂脕?lái)自輸入與誤差信號(hào)的信息來(lái)確定額外的衰減。
由于所有的 CVC-HFK 模塊均使用頻率域算法,因而與既使用時(shí)間域又使用頻率域算法的解決方案相比,可以顯著節(jié)約內(nèi)存,并簡(jiǎn)化計(jì)算復(fù)雜性。
評(píng)論