0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

DSP系統(tǒng)的自適應(yīng)回聲消除模塊的設(shè)計

電子設(shè)計 ? 來源:郭婷 ? 作者:電子設(shè)計 ? 2019-08-07 08:11 ? 次閱讀

引言

常見的DSP系統(tǒng)的結(jié)構(gòu)主要由低通濾波器、放大器模數(shù)轉(zhuǎn)換器ADC)、數(shù)字信號處理器數(shù)模轉(zhuǎn)換器DAC)五個模塊構(gòu)成。DSP系統(tǒng)設(shè)計步驟如圖1所示。

DSP系統(tǒng)的自適應(yīng)回聲消除模塊的設(shè)計

1 系統(tǒng)架構(gòu)

本文回聲消除模塊的總體設(shè)計如圖2所示。

DSP系統(tǒng)的自適應(yīng)回聲消除模塊的設(shè)計

如圖,本文設(shè)計的DSP系統(tǒng)可以劃分成信號輸入模塊、算法實現(xiàn)模塊和信號輸出模塊。

信號輸入模塊,可分為主通道和參考通道。DSP在處理算法時需要用到遠端語音輸入信號和近端語音輸入信號。主通道和參考通道分別采集近端語音信號和遠端語音信號,經(jīng)過處理轉(zhuǎn)換成數(shù)字信號,同時送入到DSP中進行處理。

算法實現(xiàn)是自適應(yīng)濾波器設(shè)計的核心部分。本文采用型號為TMS320F28335的高速信號處理器。已經(jīng)轉(zhuǎn)換成數(shù)字信號的主通道和參考通道信號在高速信號處理器中按照自適應(yīng)濾波算法進行處理,處理完成以后送到系統(tǒng)的輸出模塊。在信號的輸出模塊,通過數(shù)模轉(zhuǎn)換器得到模擬信號,再經(jīng)過低通濾波,送給揚聲器輸出,由此得到經(jīng)過回聲消除以后的語音信號。

本文設(shè)計的自適應(yīng)回聲消除模塊的程序設(shè)計流程圖如圖3所示。在各個子模塊的程序設(shè)計中,通過調(diào)用集成在CCS開發(fā)平臺中的芯片支持庫,可以有效地簡化開發(fā)流程,極大地提高工作效率。

DSP系統(tǒng)的自適應(yīng)回聲消除模塊的設(shè)計

2 軟件設(shè)計

CCS(Code Composer Studio)是美國德州儀器公司Texas Instrument,簡稱TI)推出的代碼開發(fā)和調(diào)試軟件。

自適應(yīng)濾波算法的軟件實現(xiàn)流程框圖如圖4所示。根據(jù)濾波器系數(shù)迭代數(shù)據(jù)以后,并不需要根據(jù)計算誤差e(n)來判斷計算得到的數(shù)據(jù)是否輸出。而是不管得到的數(shù)據(jù)和目標(biāo)數(shù)據(jù)的誤差有多大,都把該數(shù)據(jù)輸出,所以輸出的數(shù)據(jù)有個收斂的過程,剛開始誤差比較大,往后就穩(wěn)定在一個較小的誤差范圍以內(nèi)。

在CCS開發(fā)平臺上搭建好開發(fā)環(huán)境,選擇目標(biāo)配置對象為TMS320F28335,用C語言編寫實現(xiàn)LMS自適應(yīng)算法的核心程序代碼如下:

for(i=0;i《n;i++)《 p=“”》

{

sum = 0.0f;

for(j=0;j《m;j++)《 p=“”》

{

sum+=h[j]*x[i+j];

}

y[i]=sum;

error=d[i]-y[i];

for(j=0;j《nh;j++)《 p=“”》

{

h[j]=h[j]+(miu*error*x[i+j]);

}

}

首先對程序中需要用到的各個參數(shù)進行初始化,取每一次需要處理的信號序列長度N=512,濾波器的階數(shù)M=4,步長因子miu=0.0001。用MATLAB錄制一段語音從參考通道輸入,作為回聲消除算法的遠端參考語音。同時把這段語音從主通道輸入,在DSP處理器中把它縮小為原來的三分之一,作為近端回聲信號。

DSP系統(tǒng)的自適應(yīng)回聲消除模塊的設(shè)計

視頻音頻數(shù)據(jù)流控制中經(jīng)常用到一種被稱為“乒乓操作”的處理機制。它的最大特點是接收數(shù)據(jù)流的緩存單元按照一定規(guī)律有節(jié)拍的切換,這樣數(shù)據(jù)就傳送的很順暢,不會丟失,而且沒有任何停頓,不會阻塞。這種方式非常適合音頻和視頻數(shù)據(jù)的流水線處理。在每一段單位時間內(nèi),處理器處理數(shù)據(jù)的時間不能過長,否則本段數(shù)據(jù)還沒有處理完成,下一段數(shù)據(jù)就已經(jīng)來了,這樣就會導(dǎo)致數(shù)據(jù)的丟失和錯亂。通過DMA實現(xiàn)“乒乓操作”的流程如圖5所示。

DSP系統(tǒng)的自適應(yīng)回聲消除模塊的設(shè)計

3 雙端檢測(DTD)

雙端通話指近端和遠端同時說話的情況,此時遠端、近端語音信號不相關(guān),近端語音在算法處理時會表現(xiàn)成一個干擾信號,使得自適應(yīng)濾波器性能變差,甚至發(fā)散。因此,為了使濾波器適應(yīng)雙端通話的情況,需要在回聲消除系統(tǒng)中添加一個雙端通話檢測器(Double-Talk Detector,DTD)。通過它來區(qū)分單端和雙端通話,如果不存在雙端通話時,濾波器就實時更新其系數(shù),反之,濾波器系數(shù)則停止更新。

DSP系統(tǒng)的自適應(yīng)回聲消除模塊的設(shè)計

目前,最常見的DTD算法有互相關(guān)比較法和能量比較法。

4 硬件設(shè)計

DSP系統(tǒng)的自適應(yīng)回聲消除模塊的設(shè)計

具體硬件設(shè)計如圖6所示。整個硬件系統(tǒng)以TMS320F28335型號的DSP為核心,通過編碼器TLV320AIC23b與外部進行語音信號的交換(TLV320AIC23b實現(xiàn)語音信號的模擬-數(shù)字,數(shù)字-模擬的轉(zhuǎn)換工作)。TMS320F28335對TLV320AIC23b的控制通過I2C總線實現(xiàn),其數(shù)據(jù)交換通過多通道緩沖端口(McBSP)來完成。JTAG通過仿真器連接DSP與上位機,以實現(xiàn)程序的下載、調(diào)試。其他模塊與DSP構(gòu)成能正常工作的最小系統(tǒng)。DSP與編碼器的具體連接如圖7所示。TLV320AIC23b數(shù)字音頻接口與DSP之間的數(shù)據(jù)傳輸時序如圖8所示。

DSP系統(tǒng)的自適應(yīng)回聲消除模塊的設(shè)計

在音頻信號的輸入端和輸出端各加了一級濾波器,濾除高頻信號的干擾。共有兩個通道,分別獲取遠端參考信號和近端回聲信號。

為了使編碼器能夠正常工作,需要對它內(nèi)部的寄存器進行配置,配置是通過控制接口(I2C接口)來完成的。對應(yīng)的配置命令字的前7位表示的是寄存器地址,后9位代表對寄存器的配置內(nèi)容。該音頻芯片提供了11個配置寄存器,如表1所示。

DSP系統(tǒng)的自適應(yīng)回聲消除模塊的設(shè)計

在本DSP系統(tǒng)設(shè)計中,采用+5 V的穩(wěn)壓直流輸入作為外部引入電源,這樣首先就滿足了模擬電路供電需求,并且通過LM117DT3-3.3電源轉(zhuǎn)換芯片將5 V轉(zhuǎn)換為3.3 V來給I/O引腳及部分外圍電路,再通過LM117DT3-1.8電源轉(zhuǎn)換芯片將3.3 V主電源轉(zhuǎn)換為1.8 V,給DSP內(nèi)核供電。

5 回聲消除系統(tǒng)調(diào)試

為了驗證本文所設(shè)計的自適應(yīng)濾波器的功能,設(shè)計了一個模擬實際通話環(huán)境的回聲消除實驗。

場景布置:房間A作為遠端房間,房間B作為近端房間,兩個房間的參與者利用局域網(wǎng)傳輸工具FeiQ進行語音通信。A說話的聲音被計算機的麥克風(fēng)捕獲到,通過網(wǎng)絡(luò)傳到B房間的計算機中,此時聲音從計算機中分為兩路輸出,其中一路直接輸入到回聲消除模塊的參考通道,另一路則通過揚聲器輸出,作為遠端參與者傳輸給近端參與者的聲音信息。揚聲器出來的聲音和近端參與者說話的聲音通過麥克風(fēng)進入回聲消除模塊的主通道,主通道和參考通道的聲音經(jīng)過DSP處理后輸出,輸出的聲音通過電腦的麥克風(fēng)再經(jīng)過網(wǎng)絡(luò)傳輸給A房間的遠端參與者。

6 結(jié)果分析

根據(jù)原理圖設(shè)計PCB,最后設(shè)計好的完整的回聲消除模塊如圖9所示。模塊中包含兩個輸入通道,兩個輸出通道,一個電源接口,一個調(diào)試接口。按照上文所述的方式搭建測試環(huán)境。

DSP系統(tǒng)的自適應(yīng)回聲消除模塊的設(shè)計

第一次測試,不加回聲消除算法,用錄音軟件錄下回聲大小,如圖10所示。

DSP系統(tǒng)的自適應(yīng)回聲消除模塊的設(shè)計

在相同條件下,加入回聲消除算法,用錄音軟件錄得的回聲波形如圖11。

DSP系統(tǒng)的自適應(yīng)回聲消除模塊的設(shè)計

通過波形曲線,測得不加回聲算法和加入回聲算法的回聲幅度大小,經(jīng)過計算,回聲抑制比為26 dB,對回聲起到了很好的抑制作用,增強了近端和遠端說話者的通話體驗。

從圖11中可以看出,回聲的波形仍然存在,所以回聲只是被抑制了,并沒有被徹底消除。這是因為實際的環(huán)境沒有仿真環(huán)境理想,DSP的精度限制了回聲算法的收斂精度,使得最后的收斂曲線會在一個很小的范圍內(nèi)波動;另一方面,算法的性能也影響收斂精度,步長因子和權(quán)系數(shù)迭代公式?jīng)Q定了誤差的波動范圍。所以,提高回聲抑制比的最主要方式是提高DSP的運算精度和算法的性能。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • dsp
    dsp
    +關(guān)注

    關(guān)注

    552

    文章

    7960

    瀏覽量

    347984
  • 放大器
    +關(guān)注

    關(guān)注

    143

    文章

    13533

    瀏覽量

    212948
  • 濾波器
    +關(guān)注

    關(guān)注

    160

    文章

    7710

    瀏覽量

    177513
收藏 人收藏

    評論

    相關(guān)推薦

    speex中的回聲消除模塊如何移植到dsp

    speex回聲消除在CCS中運行出現(xiàn)下面的錯誤:DescriptionResourcePathLocationType#5could not open source file "
    發(fā)表于 08-22 14:44

    基于FPGA的多路回聲消除算法的實現(xiàn)

    基于FPGA的多路回聲消除算法的實現(xiàn)中文期刊文章作  者:尹邦政 朱靜 毛茅作者機構(gòu):[1]廣州廣哈通信股份有限公司,廣東廣州510663;[2]廣州大學(xué)實驗中心,廣東廣州510006出 版 物
    發(fā)表于 05-08 10:23

    如何在PFGA中實現(xiàn)高速的自適應(yīng)濾波器?

    自適應(yīng)濾波器一直是信號處理領(lǐng)域的研究熱點之一,經(jīng)過多年的發(fā)展,已經(jīng)被廣泛應(yīng)用于數(shù)字通信、回聲消除、圖像處理等領(lǐng)域。自適應(yīng)濾波算法的研究始于20世紀(jì)50年代末,Widrow和Hoff等人
    發(fā)表于 08-20 08:01

    LabVIEW開發(fā)自適應(yīng)降噪ANC

    ,使用自適應(yīng)濾波器來執(zhí)行噪聲消除、回聲消除。 項目采用LabVIEW圖形化開發(fā)環(huán)境和Compact RIO硬件執(zhí)行實時自適應(yīng)降噪。典型的
    發(fā)表于 11-30 19:38

    長時延環(huán)境中的回聲消除器設(shè)計

    本文討論了回聲消除器的基本原理以及軟件環(huán)境中聲音信號的時延特性,并提出了一種適用計算機軟件實現(xiàn)回聲消除器的改進的時延估計算法。實驗結(jié)果表明該算法增強了
    發(fā)表于 08-28 10:00 ?26次下載

    自適應(yīng)小波變換擴頻數(shù)字水印檢測DSP系統(tǒng)

    在分析了自適應(yīng)小波變換和擴頻特性的基礎(chǔ)上,提出一種基于自適應(yīng)小波變換的擴頻數(shù)字水印算法,并利用DSP系統(tǒng)實現(xiàn)了該數(shù)字水印算法。對用DSP實現(xiàn)
    發(fā)表于 07-27 16:03 ?8次下載

    IP電話回聲消除器的設(shè)計及其DSP實現(xiàn)

    介紹了一種用于IP電話中的自適應(yīng)回聲消除器,采用歸一化最小二乘(NLMS)自適應(yīng)濾波器實現(xiàn),包括語音模式檢測器和粗略時延估計器。最后以TI公司的TMS320C5402
    發(fā)表于 05-06 20:22 ?2442次閱讀
    IP電話<b class='flag-5'>回聲</b><b class='flag-5'>消除</b>器的設(shè)計及其<b class='flag-5'>DSP</b>實現(xiàn)

    如何發(fā)現(xiàn)與消除視頻會議中的回聲

    如何發(fā)現(xiàn)與消除視頻會議中的回聲  回聲是電視會議中最常見的聲音問題之一。在會議電視系統(tǒng)的調(diào)試過程中,回聲的發(fā)現(xiàn)與
    發(fā)表于 02-21 09:53 ?3204次閱讀

    基于改進LMS自適應(yīng)并行多址干擾消除

    在介紹碼分多址通信系統(tǒng)中2種自適應(yīng)多址干擾消除算法的基礎(chǔ)上,提出一種變步長的自適應(yīng)并行干擾消除算法。并通過仿真計算,完成了該算法的收斂性、穩(wěn)
    發(fā)表于 05-28 16:24 ?25次下載
    基于改進LMS<b class='flag-5'>自適應(yīng)</b>并行多址干擾<b class='flag-5'>消除</b>

    基于DSP的異步電機自適應(yīng)模糊PID控制的設(shè)計

    基于DSP的異步電機自適應(yīng)模糊PID控制的設(shè)計-2009。
    發(fā)表于 04-05 10:33 ?10次下載

    如何使用VSS-LMS算法進行自適應(yīng)回聲消除算法的研究與實現(xiàn)

     自適應(yīng)回聲消除器是利用自適應(yīng)濾波器來消除多媒體通訊中的回聲信號,是多媒體領(lǐng)域中一個非?;钴S的研
    發(fā)表于 12-18 11:32 ?17次下載
    如何使用VSS-LMS算法進行<b class='flag-5'>自適應(yīng)</b><b class='flag-5'>回聲</b><b class='flag-5'>消除</b>算法的研究與實現(xiàn)

    LMS自適應(yīng)濾波器的MATLAB仿真和DSP實現(xiàn)

    LMS自適應(yīng)濾波器的MATLAB仿真和DSP實現(xiàn)
    發(fā)表于 06-09 10:47 ?64次下載

    自適應(yīng)反饋消除 3

    自適應(yīng)反饋消除 3
    發(fā)表于 11-15 19:50 ?0次下載
    <b class='flag-5'>自適應(yīng)</b>反饋<b class='flag-5'>消除</b> 3

    Ezairo(R) 預(yù)配置套件自適應(yīng)反饋消除

    Ezairo(R) 預(yù)配置套件自適應(yīng)反饋消除
    發(fā)表于 11-15 20:09 ?0次下載
    Ezairo(R) 預(yù)配置套件<b class='flag-5'>自適應(yīng)</b>反饋<b class='flag-5'>消除</b>器

    什么是回聲?什么是回聲消除?什么是噪音抑制?什么是智能降噪?

    什么是回聲?什么是回聲消除?什么是噪音抑制?什么是智能降噪? 回聲是指聲波在環(huán)境中反射后到達聽者耳朵的現(xiàn)象。在大部分情況下,我們都不會感受到回聲
    的頭像 發(fā)表于 03-14 15:46 ?1251次閱讀