基于DSP的語音降噪系統(tǒng)設(shè)計
在現(xiàn)實的語音通信中會不可避免地受到來自環(huán)境中的背景噪聲影響,致使通信質(zhì)量嚴(yán)重下降,甚至聽不清楚對方講話的內(nèi)容,因此對帶噪語音信號進(jìn)行降噪已經(jīng)成為語音通信中的一個非常迫切的課題。近年來,隨著VLSI技術(shù)的發(fā)展和高速DSP芯片的出現(xiàn),語音增強方法走向?qū)嵱没痆1]。本文所介紹的語音降噪系統(tǒng)能夠有效地實現(xiàn)數(shù)字降噪功能,由于降噪處理時不但要進(jìn)行信號的采集與回放,還要進(jìn)行降噪算法的實時處理,采用具有高速實時處理能力的DSP TMS320VC5509進(jìn)行處理,能夠滿足日常生活中語音通信中的降噪要求。
本文引用地址:http://m.butianyuan.cn/article/257888.htm1 降噪系統(tǒng)設(shè)計
1.1 硬件系統(tǒng)結(jié)構(gòu)圖
本系統(tǒng)采用TI公司的TMS320VC5509芯片進(jìn)行信號處理和譜相減算法的處理,語音降噪系統(tǒng)如圖1所示。系統(tǒng)采用12 MHz的晶振為DSP提供時鐘,DSP內(nèi)部工作時鐘采用PLL方式設(shè)置成16倍頻,使DSP的內(nèi)部時鐘達(dá)到192 MHz。語音采集與回放模塊采用TLV320AIC23語音編解碼芯片。CPLD XC95114提供讀寫Flash AM29LV800B和配置,啟動語音編解碼模塊AIC23的控制信號。供電模塊采用TPS73HD301,分別提供DSP芯片所需的1.6 V內(nèi)核電壓和3.3 V的I/O電壓。
1.2 主要電路原理分析
圖2為5509DSP與TLV320AIC23的接口原理圖。
音頻Codec芯片TLV320AIC23通過外圍器件對其內(nèi)部寄存器進(jìn)行編程配置,使用靈活,其配置接口支持SPI總線接口和I2C總線接口, 數(shù)據(jù)傳輸格式支持右判斷模式、左判斷模式、I2S 模式和DSP模式4種方式,其中TI 模式專門針對TI DSP設(shè)計[2,3]。C5509的多通道緩沖串口MCBSP可以配置為SPI總線接口,其串行數(shù)據(jù)傳輸格式與TLV320AIC23的DSP模式兼容,此外,這兩款芯片的I/O電壓兼容,從而使得C5509與TLV320AIC23可以無縫連接,系統(tǒng)設(shè)計簡單。
MODE引腳作為串行接口輸入模式選擇端,0為I2C模式,1為SPI模式;由于C5509片內(nèi)外設(shè)含有I2C模塊,直接使用C5509的I2C模塊控制TLV320AIC23,此時C5509作為I2C總線的主設(shè)備,TLV320AIC23作為從設(shè)備,通過編程完成對TLV320AIC23的配置。
TLV320AIC23的數(shù)字音頻接口采用DSP模式,將TLV320AIC23配置為主設(shè)備。與DSP的McBSP0無縫連接,將其作為雙向的數(shù)據(jù)收發(fā)通道。輸入輸出的幀同步信號LRCIN、LRCOUT分別接McBSP串口的FSX0與FSR0,時鐘信號BCLK與McBSP的串口輸出時鐘CLKX0相連,同時通過CLKX0驅(qū)動輸入串行時鐘CLKR0,以保證串口數(shù)據(jù)收發(fā)的一致與同步。SCL和SDI分別是 TLV320AIC23的控制端口和數(shù)據(jù)輸入端,分別和C5509的I2C模塊端口 SCL和 SDA 相連。
1.3 音頻信號的采集與回放
此系統(tǒng)中采用MICPHONE采集語音信號,把采集的語音信號經(jīng)過模數(shù)變換,進(jìn)入DSP后再經(jīng)過濾波存儲到DSP的片內(nèi)存儲空間。然后調(diào)用譜相減算法降噪軟件進(jìn)行降噪處理,得到新的處理后的數(shù)據(jù)再經(jīng)過數(shù)模變換,放大后從耳機輸出。
通過MIC采集的語音信號通過TLV320AIC23語音編解碼芯片對語音進(jìn)行模數(shù)轉(zhuǎn)換。TLV320AIC23是一個高性能的多媒體數(shù)字信號編解碼器,該模塊具有模數(shù)轉(zhuǎn)換器、數(shù)模轉(zhuǎn)換器,使用了高效的 Multibit sigma-delta 和過采樣數(shù)字插補濾波技術(shù),支持 16、20、24 和 32位格式從8 kHz~96 kHz采樣頻率的音頻信號的采集與回放,并具有較高的信噪比(SNR)和較低的能耗。利用多通道緩沖串口McBSP(multiply—channel buffer interferce)與DSP通信。把通過TLV320AIC23模數(shù)轉(zhuǎn)換后的數(shù)據(jù)通過McBSP1傳送給DSP進(jìn)行降噪處理,處理后的數(shù)據(jù)經(jīng)過數(shù)模轉(zhuǎn)化后傳送到耳機輸出。
2 系統(tǒng)算法與軟件設(shè)計
2.1 譜相減算法[4,5]
目前降噪算法具有代表性的有自相關(guān)算法、自適應(yīng)噪聲濾波法、短時譜幅度估計法、譜相減算法、小波變換等。譜相減算法因具有運算量小、容易實時實現(xiàn)、增強效果好等特點,是目前在降噪系統(tǒng)中最常用的算法之一。
譜相減算法的基本原理是在頻域?qū)⒃肼暤念l譜分量從帶噪語音信號的頻譜中減去。譜減的提出前提是假設(shè)語音信號與加性噪聲相互獨立,它假設(shè)噪聲是統(tǒng)計平穩(wěn)的,即有語音期間噪聲振幅譜的期望值與無語音間隙噪聲的振幅譜的期望值相等,用無語音期間測得的噪聲頻譜的估計值取代有語音期間的噪聲頻譜,與含有噪音的語音頻譜相減,即可得到語音頻譜估計值。假設(shè)帶噪語音的模型表達(dá)式如式(1):
其中sm(n)表示純凈的語音,dm(n)表示噪聲,ym(n)表示帶噪語音。其中m=0,1,2,…,M-1;n=0,1,2,…,N-1;M、N分別表示一段語音中包含的幀數(shù)和每幀信號的長度。
在實際中由于語音信號是不平穩(wěn)的,但是具有短時平穩(wěn)性,因此計算時通常要加窗處理。設(shè)Yk、Sk、dk分別表示帶噪語音,純凈語音和噪聲的傅里葉系數(shù)。對(1)式進(jìn)行傅里葉變換,由于假設(shè)的語音與噪音是不相關(guān)的,可得式(2),即
譜相減算法原理圖如圖3所示。
2.2 系統(tǒng)軟件設(shè)計
在本系統(tǒng)的軟件設(shè)計中,軟件系統(tǒng)主要包括主程序、中斷服務(wù)程序、中斷向量表和鏈接命令文件,其中最重要的是主程序和中斷服務(wù)程序,中斷服務(wù)程序主要功能是實現(xiàn)數(shù)據(jù)采集與數(shù)據(jù)更新。
系統(tǒng)主函數(shù)是程序執(zhí)行的入口并完成需要的初始化工作。主函數(shù)中主要包括對時鐘、多通道緩沖串口McBSP1以及對AIC23的初始化配置。接著啟動串口進(jìn)行正常工作,最后進(jìn)行譜相減法降噪算法處理,輸出降噪后的語音信號。
在該系統(tǒng)中,音頻信號通過MIC被采集,然后經(jīng)過TLV320AIC23語音編解碼模塊,把采集的語音信號進(jìn)行信號保持、采樣、量化后轉(zhuǎn)換成數(shù)字信號,轉(zhuǎn)換成的數(shù)字語音信號以中斷方式被DSP讀取,通過DSP的多通道緩沖串口McBSP1以數(shù)據(jù)幀的方式把數(shù)據(jù)存儲到片上緩沖區(qū)里。當(dāng)一幀數(shù)據(jù)采集完后,中斷返回到主程序?qū)?shù)據(jù)的進(jìn)行加窗處理、FFT變換,然后再進(jìn)行有聲無聲檢測,判斷是否需要進(jìn)行降噪處理。處理后的數(shù)據(jù)通過McBSP1輸出到TLV320AIC23進(jìn)行回放。軟件處理流程結(jié)構(gòu)如圖4所示。
CPU在相應(yīng)接收中斷服務(wù)程序后,在服務(wù)程序中將128個采樣值拷貝到處理緩沖區(qū)中等待處理,實現(xiàn)緩沖區(qū)的數(shù)據(jù)轉(zhuǎn)換,然后置1使程序進(jìn)入主程序中進(jìn)行降噪處理。
本系統(tǒng)中實時設(shè)計中的關(guān)鍵技術(shù)有加窗處理、幀間重疊、幀移位、快速傅里葉變換(FFT)、快速傅里葉反變換、定點數(shù)與浮點數(shù)的轉(zhuǎn)化。在進(jìn)行FFT變換的時候必然會產(chǎn)生大量的數(shù)據(jù),所以在對數(shù)據(jù)進(jìn)行讀取與存儲時不可避免地要造成流水線沖突,為了解決這樣的問題,可以在產(chǎn)生流水線沖突的兩條指令間加上三個NOP指令[6,7]。
通過譜相減算法在DSP開發(fā)板上搭建的語音降噪系統(tǒng)中進(jìn)行降噪實驗,實驗結(jié)果表明,本系統(tǒng)能夠有效地降低環(huán)境噪聲對語音的影響,能夠有效地提高信噪比,改善語音通信質(zhì)量,達(dá)到降低語音通信中的背景噪聲的目的。
參考文獻(xiàn)
[1] 黃蘇雨,梁聲灼,黃蘇園.語音增強方法綜述[J].計算機與現(xiàn)代化,2007,23(3):16-20.
[2] 汪春梅,孫紅波.TMS320C5000系列DSP系統(tǒng)設(shè)計與開發(fā)實例[M].北京:電子工業(yè)出版社,2004.
[3] 丁祥,余小清.音頻編解碼器TLV320AIC23及其與DSP接口設(shè)計[J].單片機與嵌入式系統(tǒng),2002,2(6):35-37.
[4] 王欣,羅代升,王正勇.基于改進(jìn)譜減算法的語音增強研究[J].成都信息工程學(xué)院學(xué)報,2007,22(2):201-204.
[5] 張俊.基于譜減算法語音增強的研究[J].信息技術(shù),2009,33(3):74-76.
[6] Texas Instruments.TLV320AIC23B stereo audio CODEC datamanual[Z],2003.
[7] 北京瑞泰創(chuàng)新科技有限責(zé)任公司. ICETEK-VCS5509 EVM用戶使用手冊V1.0[Z],2004.
評論