<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

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

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

  引言

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

  1 回聲消除

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

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

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

  

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

  此時(shí),回聲的殘留信號的理想值應為0。

  1.2 自適應FIR濾波器

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

  

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

  

  自適應FIR濾波器根據上一刻的近端輸出信號μ(n)及遠端語(yǔ)音信號y(n),并通過(guò)自適應算法來(lái)估算當前時(shí)刻FIR濾波器的系數ak(n+1)。

  1.3 LMS算法和NLMS算法

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

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

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

  其中y(n)為輸入信號,μ為迭代步長(cháng)常量。

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

  

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

  1.4 語(yǔ)音檢測

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

  

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

  

  式中,N是FIR延時(shí)級數,之所以將r(i)和最近N個(gè)遠端輸入的最大值進(jìn)行比較,而不是僅僅和當前遠端輸入點(diǎn)y(i)進(jìn)行比較,是因為回聲路徑延時(shí)具有不確定性。

  2 實(shí)現方案

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

  

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

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

  3 實(shí)驗結果及分析

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

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

  

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

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

  4 結束語(yǔ)

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

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


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


評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>