<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 網(wǎng)絡(luò)與存儲(chǔ) > 設(shè)計(jì)應(yīng)用 > 基于飛思卡爾MCU的AEC算法實(shí)現(xiàn)

          基于飛思卡爾MCU的AEC算法實(shí)現(xiàn)

          ——
          作者: 時(shí)間:2007-11-22 來源:電子元器件應(yīng)用 收藏

            引言

            是在IP網(wǎng)絡(luò)上實(shí)現(xiàn)音視頻及傳真信號(hào)傳輸?shù)囊婚T全新的集成業(yè)務(wù)數(shù)據(jù)網(wǎng)絡(luò)技術(shù)。IP語音傳輸技術(shù)具有節(jié)省帶寬、話費(fèi)低,可方便地集成智能型開放體系結(jié)構(gòu)以及多媒體業(yè)務(wù)等優(yōu)勢。但較之傳統(tǒng)電話,其語音質(zhì)量較差。事實(shí)上,影響因特網(wǎng)語音質(zhì)量的因素是多方面的,關(guān)鍵因素之一是回聲的影響。因此,要提高因特網(wǎng)的語音質(zhì)量,就必須在語音傳輸過程中進(jìn)行回聲消除。AEC是基于自適應(yīng)算法并可用于的聲學(xué)回聲消除技術(shù)。而用于AEC算法的實(shí)現(xiàn)與研究的硬件平臺(tái)是以freescale公司的MCF5235為核心的開發(fā)板。MCF523x系列是首個(gè)以帶有增強(qiáng)型乘加運(yùn)算單元(eMAC)的ColdFire V2內(nèi)核為核心,該產(chǎn)品同時(shí)結(jié)合了增強(qiáng)型時(shí)序處理單元(eTPU)和10/100以太網(wǎng)多媒體通道控制模塊(MAC)的,因而具有強(qiáng)大的數(shù)據(jù)處理能力和豐富的接口,能夠滿足電話終端對(duì)數(shù)據(jù)處理速度以及網(wǎng)絡(luò)通訊安全的要求。

            1 回聲消除

            1.1 聲學(xué)回聲消除原理

            AEC是以揚(yáng)聲器信號(hào)與由它產(chǎn)生的多路徑回聲的相關(guān)性為基礎(chǔ)建立的遠(yuǎn)端信號(hào)語音模型,利用它可對(duì)回聲進(jìn)行估計(jì),并不斷地修改濾波器的系數(shù),以使估計(jì)值更逼近真實(shí)的回聲,然后,將回聲估計(jì)值從話筒的輸人信號(hào)中減去,從而達(dá)到消除回聲之目的。

            聲學(xué)回聲消除器的結(jié)構(gòu)原理如圖1所示。其中y(n)代表遠(yuǎn)端語音信號(hào),r(n)代表回聲,x(n)是已經(jīng)疊加了回聲信號(hào)r(n)的近端語音信號(hào)。對(duì)回聲消除器來說,可將遠(yuǎn)端信號(hào)作為一個(gè)參考信號(hào),然后由自適應(yīng)濾波器通過它來產(chǎn)生回聲的估計(jì)值r′(n),再從近端帶有回聲的語音信號(hào)中減去r′(n),從而估計(jì)出近端輸出信號(hào)μ(n)。在近端未說話時(shí),即當(dāng)x(n)=0時(shí),μ(n)即為回聲的殘差信號(hào)e(n)。e(n)的計(jì)算方程為:

            

            e(n)=r(n)-r′(n) (1)

            此時(shí),回聲的殘留信號(hào)的理想值應(yīng)為0。

            1.2 自適應(yīng)FIR濾波器

            在聲學(xué)回聲消除器里,橫向結(jié)構(gòu)的自適應(yīng)濾波器可通過參考信號(hào)來產(chǎn)生回聲的副本,其原理如圖2所示。如果這個(gè)橫向結(jié)構(gòu)的自適應(yīng)濾波器的轉(zhuǎn)換函數(shù)與回聲通道的函數(shù)模型一致,那么,回聲的副本與回聲就應(yīng)該是一致的,這樣,通過兩者的抵消便可達(dá)到消除回聲之目的。

            

            FIR濾波器的最主要特點(diǎn)是沒有反饋回路,這是一種非遞歸系統(tǒng),它的沖激響應(yīng)是一個(gè)有限長序列。FIR濾波器的輸出計(jì)算公式為:

            

            自適應(yīng)FIR濾波器根據(jù)上一刻的近端輸出信號(hào)μ(n)及遠(yuǎn)端語音信號(hào)y(n),并通過自適應(yīng)算法來估算當(dāng)前時(shí)刻FIR濾波器的系數(shù)ak(n+1)。

            1.3 LMS算法和NLMS算法

            在輸入信號(hào)和參考信號(hào)都是平穩(wěn)隨機(jī)信號(hào)的情況下,自適應(yīng)濾波器的均方誤差E[e(n)]性能曲面是濾波器加權(quán)系數(shù)ak的二次函數(shù)。其系數(shù)修正算法通常采用可使均方誤差最小的最優(yōu)化求解算法。

            由于實(shí)際的梯度值只能根據(jù)觀測數(shù)據(jù)估計(jì),因此LMS算法提出的一個(gè)基本思想就是用平方誤差E[e2(n)]來代替均方誤差E[e(n)]。它是對(duì)基本的最速下降算法的改進(jìn),其算法迭代公式為:

            ak(n+1)=ak(n)+2μe(e)*y(n) (3)

            其中y(n)為輸入信號(hào),μ為迭代步長常量。

            規(guī)一化LMS (NLMS)算法可用來在LMS自適應(yīng)濾波器方程里修正FIR濾波器的系數(shù)。NLMS算法與LMS算法幾乎是一樣的,唯一的不同是NLMS算法中使用可變步長控制因子來代替LMS算法中的常量因子。其目的是加快算法的收斂速度。其算法迭代公式為:

            

            其中,μ可由試驗(yàn)來確定。但應(yīng)注意,μ的選取至關(guān)重要,為了確保收斂,必須滿足0<μ<2。本方案中的自適應(yīng)算法就是采用NLMS算法。

            1.4 語音檢測

            語音活動(dòng)檢測可用來確定三種語音狀態(tài):近端講話狀態(tài)、遠(yuǎn)端講話狀態(tài)和雙端講話狀態(tài)。因?yàn)锳EC要根據(jù)不同的語音活動(dòng)狀態(tài)來進(jìn)行相應(yīng)的處理。它在檢測到近端語音活動(dòng)狀態(tài)時(shí),濾波器既不進(jìn)行濾波,也不進(jìn)行系數(shù)更新;而在檢測到雙端語音活動(dòng)狀態(tài)時(shí),將停止濾波器系數(shù)的更新,但要進(jìn)行濾波。由于在只有遠(yuǎn)端語音活動(dòng)的狀態(tài)下,既要進(jìn)行濾波,又要進(jìn)行系數(shù)更新。因此,語音活動(dòng)狀態(tài)檢測的正確與否在很大程度上會(huì)影響回聲消除的效果。語音活動(dòng)檢測流程如圖3所示。

            

            雙端講話情況可以通過設(shè)計(jì)近端話音檢測器,并采用Geigel算法來判決。利用該算法計(jì)算回聲延時(shí)大小范圍內(nèi)的瞬時(shí)能量比較,具有著良好的性能優(yōu)勢。其Geigel算法描述如下:

            

            式中,N是FIR延時(shí)級(jí)數(shù),之所以將r(i)和最近N個(gè)遠(yuǎn)端輸入的最大值進(jìn)行比較,而不是僅僅和當(dāng)前遠(yuǎn)端輸入點(diǎn)y(i)進(jìn)行比較,是因?yàn)榛芈暵窂窖訒r(shí)具有不確定性。

            2 實(shí)現(xiàn)方案

            聲學(xué)回聲消除器AEC主要包括FIR濾波模塊、Geigle雙端語音判決模塊、NLMS系數(shù)更新模塊、語音狀態(tài)控制模塊四個(gè)部分,圖4所示是該AEC的簡要工作流程。

            

            Freescale公司的硬件開發(fā)平臺(tái)以Coldfire系列MCF5235為核心。該系列支持標(biāo)準(zhǔn)C語言及其專用的匯編語言。因此,在該平臺(tái)上運(yùn)行的功能模塊需要使用C語言或者專用匯編。AEC的開發(fā)及移植過程如圖5所示。

            設(shè)計(jì)時(shí)。首先應(yīng)搭建AEC的Matlab模型并對(duì)該模型進(jìn)行仿真驗(yàn)證。然后以已通過驗(yàn)證的模型為標(biāo)準(zhǔn),搭建可在MCF5235開發(fā)板上運(yùn)行的C語言模型。最后根據(jù)需要將運(yùn)算較為密集的那部分C語言程序轉(zhuǎn)化為Coldfire芯片的專用匯編語言。

            3 實(shí)驗(yàn)結(jié)果及分析

            在Matlab環(huán)境下對(duì)AEC進(jìn)行測試時(shí),可將需要的三部分語音信號(hào)同時(shí)輸入到回聲消除器,然后測試回聲消除的相關(guān)性能。

            本測試所輸入的語音信號(hào)波形如圖6所示。從上到下依次是遠(yuǎn)端語音信號(hào)y(n)、近端語音信號(hào)x(n)和回聲信號(hào),其中與之和作為近端輸入與y(n)一同構(gòu)成了回聲消除器的兩個(gè)輸入信號(hào)。將濾波器的階數(shù)設(shè)置為512。即采取64 ms延時(shí)的回聲消除。通過回聲消除處理后所得到的殘差信號(hào)e(n)的波形如圖7所示。

            

            從圖6和圖7的對(duì)比可以發(fā)現(xiàn),當(dāng)只存在遠(yuǎn)端信號(hào)和回聲信號(hào),而近端緘默的情況下,回聲消除器能夠快速收斂并消除絕大部分回聲;而當(dāng)雙端都存在信號(hào)時(shí),回聲消除器能在消除回聲的基礎(chǔ)上較好的保持近端語音波形。

            將AEC功能模塊集成到用MCF5235開發(fā)板搭建的VoIP終端上,來建立兩個(gè)通信終端的語音通信,即可對(duì)AEC功能模塊進(jìn)行實(shí)時(shí)免提通話測試。

            4 結(jié)束語

            本文介紹了聲學(xué)回聲消除的原理、聲學(xué)回聲消除器的設(shè)計(jì)以及AEC在基于freescale公司MCF5235開發(fā)平臺(tái)的VoIP語音通信終端上的集成方法。該AEC的實(shí)現(xiàn)包括語音檢測、自適應(yīng)濾波等語音處理算法。其程序執(zhí)行的實(shí)時(shí)性較好。通過Matlab模型的仿真結(jié)果和通話主觀測試結(jié)果證明,用該方案實(shí)現(xiàn)的聲學(xué)回聲消除器能夠滿足網(wǎng)絡(luò)通信對(duì)語音的要求。

          電源濾波器相關(guān)文章:電源濾波器原理


          數(shù)字濾波器相關(guān)文章:數(shù)字濾波器原理


          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();