文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2013)01-0013-04
在同時(shí)存在麥克風(fēng)與揚(yáng)聲器的場(chǎng)合,經(jīng)常會(huì)發(fā)生擴(kuò)聲器與麥克風(fēng)之間因電聲耦合而產(chǎn)生聲反饋的現(xiàn)象,其原理如圖1所示。聲反饋是擴(kuò)音系統(tǒng)中最禁忌的現(xiàn)象,它大大限制了系統(tǒng)擴(kuò)聲增益的提高,影響聲音清晰度,導(dǎo)致聲音出現(xiàn)失真,達(dá)不到擴(kuò)音效果。嚴(yán)重的嘯叫甚至可能導(dǎo)致擴(kuò)音設(shè)備燒毀,尤其是功率放大器或音箱的高頻頭[1]。因此,如何有效地抑制聲反饋,是擴(kuò)聲系統(tǒng)中一個(gè)非常重要的問(wèn)題。
傳統(tǒng)的抑制聲反饋的方法(如改善房間聲學(xué)環(huán)境、調(diào)低音量電位器、采用均衡器拉饋點(diǎn)等方法)對(duì)調(diào)音員要求極高,不僅操作不便,且不能保證擴(kuò)聲系統(tǒng)音質(zhì),均為治標(biāo)不治本的做法。而加入聲反饋抑制器來(lái)抑制、消除嘯叫則是“一勞永逸”的做法,不僅操作簡(jiǎn)單,而且抑制嘯叫的能力比較明顯,能夠達(dá)到足夠理想的擴(kuò)聲效果。目前市場(chǎng)上所見(jiàn)的聲反饋抑制器多為國(guó)外的產(chǎn)品,價(jià)格十分昂貴。所以本著簡(jiǎn)單、經(jīng)濟(jì)實(shí)用的原則,本文介紹的系統(tǒng)采用TI公司的TMS320C6713(以下簡(jiǎn)稱(chēng)6713)浮點(diǎn)DSP處理器和移頻法來(lái)進(jìn)行嘯叫的抑制,包括Matlab仿真和DSP系統(tǒng)實(shí)時(shí)實(shí)現(xiàn),二者都達(dá)到了較明顯、較滿(mǎn)意的抑制效果。
1 移頻法抑制聲反饋
1.1 聲反饋抑制器
與產(chǎn)生正反饋一樣,產(chǎn)生嘯叫也需同時(shí)滿(mǎn)足幅度和相位兩個(gè)條件。前者需要某頻率語(yǔ)音信號(hào)的幅度大于此信號(hào)原先的幅度,即擴(kuò)聲功放的放大系數(shù)K和系統(tǒng)的反饋系數(shù)β的乘積不能小于1;后者需滿(mǎn)足嘯叫信號(hào)與其輸入信號(hào)相位相同或相差360°的整數(shù)倍。所以理論上只要破壞二者其中一個(gè)條件即可破壞嘯叫產(chǎn)生的條件[2]。在聲反饋抑制方法中(如移頻法、移相法、陷波法和壓幅法等),移頻法較易實(shí)現(xiàn)且效果良好,它是通過(guò)改善擴(kuò)聲系統(tǒng)的頻率特性相應(yīng)地抑制再生混響干擾,使得聲源發(fā)出的聲波經(jīng)聲場(chǎng)回饋到麥克風(fēng)時(shí),不會(huì)在原頻譜上構(gòu)成反饋,提高了擴(kuò)聲增益,頻響特性和聲音清晰度也能得到明顯改善,故本系統(tǒng)采用了移頻法來(lái)抑制嘯叫。
1.2 移頻法
所謂移頻就是將采集到的語(yǔ)音信號(hào)在其所有頻率成分上移動(dòng)(升高或降低)某一移頻數(shù)Δf,這樣輸出的語(yǔ)音信號(hào)就可以回避房間里峰點(diǎn)對(duì)其施加的影響,產(chǎn)生自激振蕩的同相條件就被破壞了,從而可抑制嘯叫的產(chǎn)生,且對(duì)原先輸入的語(yǔ)音影響甚微。Δf一般為幾赫茲,繼續(xù)變化Δf固然可以提高擴(kuò)聲增益,但一般超過(guò)7 Hz時(shí)人耳就能察覺(jué)得到,所以在本系統(tǒng)中Δf取5 Hz。
2.1 數(shù)字振蕩器的實(shí)現(xiàn)
正弦、余弦等三角函數(shù)在各個(gè)領(lǐng)域常見(jiàn)的振蕩器中得到了廣泛的應(yīng)用,而如何能更精確、消耗處理器指令更少、更快地產(chǎn)生正余弦波成為一個(gè)不得不考慮的問(wèn)題。在TI公司的開(kāi)發(fā)工具CCS 中用C語(yǔ)言調(diào)用庫(kù)函數(shù)sin(double x)和cos(double x)產(chǎn)生正、余弦波序列,每次都會(huì)消耗4 000條左右的指令,這是不可取的,將對(duì)以后的實(shí)時(shí)處理產(chǎn)生很大的影響;查表法雖然只有簡(jiǎn)單的加、減操作,速度也較快,但需要消耗一定的存儲(chǔ)空間來(lái)存儲(chǔ)查找表,較大的表格所造成的驚人的開(kāi)銷(xiāo)往往使嵌入式系統(tǒng)難以承受;而數(shù)字振蕩器法不但容易實(shí)現(xiàn),且產(chǎn)生的正、余弦波頻率是可編程的,可以很方便獲得所需的振蕩器。因此,本系統(tǒng)選用數(shù)字振蕩器。如有一正弦序列,使用Z變換的線(xiàn)性性質(zhì),可得正弦序列的Z變換為:
2.2 濾波器的設(shè)計(jì)
本系統(tǒng)中多處用到濾波器,其中最重要的是數(shù)移頻模塊中的兩處低通濾波器(如圖2所示)。在選擇濾波器時(shí),考慮到在具有同樣良好的頻譜衰減特性的情況下,F(xiàn)IR濾波器的階數(shù)要比IIR濾波器大得多,而IIR所需的運(yùn)算量(主要指乘法和加法次數(shù))較FIR小得多,所以本系統(tǒng)在此處選用IIR濾波器。
IIR濾波器中,橢圓濾波器(elliptic)通帶和阻帶都會(huì)出現(xiàn)較大起伏,且它的相頻響應(yīng)完全是非線(xiàn)性的,在接近過(guò)渡帶的地方尤為突出;切比雪夫?yàn)V波器頻率響應(yīng)的幅頻特性在通頻帶內(nèi)存在幅度波動(dòng);而巴特沃斯濾波器的幅頻響應(yīng)的曲線(xiàn)在通帶和阻帶內(nèi)都比較平坦,具有最平特性,且相頻響應(yīng)在通帶內(nèi)幾乎是線(xiàn)性的,故本系統(tǒng)采用巴特沃斯濾波器。根據(jù)在Matlab中設(shè)計(jì)出的濾波器的參數(shù),要在DSP開(kāi)發(fā)環(huán)境下實(shí)現(xiàn)此濾波器,必須考慮兩方面:(1)IIR的單位脈沖響應(yīng)是無(wú)限長(zhǎng)的,因而不能像實(shí)現(xiàn)FIR那樣直接用卷積來(lái)計(jì)算,而要用遞推法解差分方程;(2)根據(jù)DSP字長(zhǎng)及精度的特點(diǎn)對(duì)參數(shù)進(jìn)行定標(biāo)、取舍、量化等處理,特別是對(duì)于定點(diǎn)處理器幾乎是必須要考慮的,故本系統(tǒng)選用TI公司的浮點(diǎn)處理器6713以達(dá)到更精確目的。圖5是向12階巴特沃斯濾波器輸入低頻正弦與高頻余弦疊加信號(hào)、并在DSP上運(yùn)行前后的濾波效果圖,可見(jiàn)設(shè)計(jì)的濾波器能較理想地滿(mǎn)足任務(wù)要求。
3 DSP系統(tǒng)實(shí)現(xiàn)
DSP實(shí)現(xiàn)嘯叫抑制階段主要包含語(yǔ)音信號(hào)的采集、嘯叫通道的建立、信號(hào)移頻處理、語(yǔ)音信號(hào)的輸出等部分。
3.1 系統(tǒng)硬件結(jié)構(gòu)
6713是TI公司6000系列的一款非常經(jīng)典的新型浮點(diǎn)DSP芯片。它最高主頻可達(dá)300 MHz,處理速度高達(dá)2 400 MPIS;片上外設(shè)資源也很豐富,本系統(tǒng)將用到其兩個(gè)多通道緩沖串口(McBSP)。6713的優(yōu)異的性能使之特別適合于高精度應(yīng)用,如在專(zhuān)業(yè)音頻、數(shù)據(jù)采集、去噪、醫(yī)療和診斷圖像應(yīng)用等領(lǐng)域[5]。
圖6為6713 與Codec芯片TLV320AIC23(以下簡(jiǎn)稱(chēng)AIC23)的連接示意圖,即語(yǔ)音的采集(A/D轉(zhuǎn)換)和回放(D/A轉(zhuǎn)換)環(huán)節(jié)。AIC23是TI公司生產(chǎn)的一款高性能立體聲音頻編解碼器,含有模擬/數(shù)字音頻接口、控制接口、時(shí)鐘管理、電源管理等部分。AIC23內(nèi)部集成的模/數(shù)轉(zhuǎn)換和數(shù)/模轉(zhuǎn)換部件采用了先進(jìn)的Sigma-Delta過(guò)采樣技術(shù),可以在8 kHz~96 kHz的頻率范圍內(nèi)提供16 bit、20 bit、24 bit和32 bit的采樣。
在Codec的控制環(huán)節(jié)中,根據(jù)MODE引腳電平可決定它是工作在I2C(2線(xiàn))模式還是SPI(3線(xiàn))模式,圖6中此引腳接高電平,即工作在SPI模式下,此時(shí)與之連接的McBSP1也必須配置為SPI這種全雙工通信的模式(此時(shí)CLKX和CLKR內(nèi)部相連),這也正體現(xiàn)了AIC23與McBSP之間能進(jìn)行無(wú)縫連接。此外,因?yàn)镃odec的控制接口只是用來(lái)接收DSP發(fā)出的配置寄存器的命令(即單向,只接收數(shù)據(jù)通道),所以此SPI模式中沒(méi)有串行輸出數(shù)據(jù)線(xiàn),即“三線(xiàn)”模式而非SPI傳統(tǒng)的四線(xiàn)模式。CS是幀同步信號(hào),SCLK與SDIN分別是串行數(shù)據(jù)時(shí)鐘、串行輸入數(shù)據(jù)線(xiàn)。DSP發(fā)出的控制命令是16 bit的且總是從MSB(最高位)開(kāi)始。圖7所示的時(shí)序圖中bit[15:9]為11個(gè)AIC23寄存器的7位地址,后9位是欲配置的值,所以此處編程須注意將數(shù)據(jù)移1位。本系統(tǒng)將Codec配置為16 kHz采樣、16 bit量化、雙聲道、MIC采集模擬語(yǔ)音信號(hào)輸入、HeadPhone輸出模擬語(yǔ)音信號(hào)。
數(shù)據(jù)通道環(huán)節(jié)中,圖6中Codec芯片通過(guò)DSP的McBSP1口進(jìn)行語(yǔ)音數(shù)據(jù)的A/D和D/A轉(zhuǎn)換(即全雙工的數(shù)據(jù)通道)。芯片數(shù)字音頻接口部分有bit時(shí)鐘信號(hào)BCLK、數(shù)據(jù)輸入/輸出DIN和DOUT、幀信號(hào)LRCIN和LRCOUT。AIC23支持多種音頻接口模式,這里將其配置為主模式和與TI DSP的McBSP相兼容的DSP模式。這樣,BCLK就會(huì)輸出時(shí)鐘信號(hào),而LRCIN和LRCOUT就必須連接到DSP的幀同步信號(hào)FS引腳上。如圖8所示,采集到的數(shù)據(jù)也是從MSB開(kāi)始傳輸,這里將AIC23的Digital Audio Interface Format寄存器配置為先發(fā)送16 bit的左通道數(shù)據(jù),緊接著發(fā)送16 bit的右通道數(shù)據(jù)[6]。
3.3 系統(tǒng)運(yùn)行分析
在實(shí)驗(yàn)室中建立一個(gè)簡(jiǎn)易的嘯叫通道,即麥克風(fēng)-前期放大-DSP系統(tǒng)-功放-音響。主觀(guān)上評(píng)價(jià)可通過(guò)不斷減少拾音器和擴(kuò)音器之間距離或不斷提高擴(kuò)音器增益來(lái)感受DSP中插入移頻模塊前后嘯叫的情況。本文所建嘯叫通道在處于后者的情況下,距離為零和增益到最大位置時(shí)均不會(huì)產(chǎn)生嘯叫,表明抑制效果十分明顯。圖10的上圖所示為拾音器采集到的從正常語(yǔ)音到開(kāi)始嘯叫的一段波形圖,在同樣的環(huán)境將移頻模塊加入DSP中,采集到的數(shù)據(jù)如圖10的下圖所示。對(duì)比兩圖可以明顯看到,嘯叫得到抑制甚至是被消除,嘯叫抑制效果比較理想。對(duì)采集到數(shù)據(jù)進(jìn)行計(jì)算可知,系統(tǒng)增益提高了約6 dB。
本文詳細(xì)介紹了基于聲反饋抑制器中的移頻法來(lái)抑制、消除嘯叫的方法,并在Matlab上進(jìn)行仿真和在DSP上進(jìn)行實(shí)現(xiàn)。實(shí)驗(yàn)表明,此法對(duì)嘯叫起到了很好的抑制、消除作用,可使系統(tǒng)增益提高大約6 dB,較為理想。與其他方式相比,移頻法較容易實(shí)現(xiàn)、效果明顯、既經(jīng)濟(jì)又實(shí)用、貼近實(shí)際,具備很高的應(yīng)用價(jià)值。
參考文獻(xiàn)
[1] 盧官明,宗昉.數(shù)字音頻原理及應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2005:160-163.
[2] 謝劍躍.擴(kuò)聲系統(tǒng)中聲反饋的產(chǎn)生及抑制方法[J].音響技術(shù),2011,20(1):32-36.
[3] 樊昌信,曹麗娜.通信原理(第6版)[M].北京:國(guó)防工業(yè)出版社,2009:86-128.
[4] 林靜然.基于TI DSP的通用算法實(shí)現(xiàn)[M].北京:電子工業(yè)出版社,2008:96-109.
[5] 三恒星科技.TMS320C6713 DSP原理與應(yīng)用實(shí)例[M].北京:電子工業(yè)出版社,2009:74-87.
[6] Texas Instruments. TLV320AIC23 stereo audio Codec,8-to 96 kHz,with integrated headphone amplifier data manual (SLWS106D)[R].2002.