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