何 侃 李志雄 霍建文 張 靜
(西南科技大學(xué)信息工程學(xué)院 四川綿陽(yáng) 621010)
?
帶嘯叫檢測(cè)與抑制的音頻功率放大器設(shè)計(jì)
何 侃 李志雄 霍建文 張 靜
(西南科技大學(xué)信息工程學(xué)院 四川綿陽(yáng) 621010)
針對(duì)拾音器與揚(yáng)聲器距離過(guò)近聲反饋導(dǎo)致的嘯叫問(wèn)題,提出采用基于STM32F407VGT6單片機(jī)集成的12位精密AD轉(zhuǎn)換器實(shí)現(xiàn)對(duì)音頻信號(hào)采樣,設(shè)計(jì)利用快速傅氏變換和快速傅氏反變換算法進(jìn)行濾波處理,實(shí)現(xiàn)系統(tǒng)的嘯叫檢測(cè)抑制,并通過(guò)程控芯片AY-TPA3112D實(shí)現(xiàn)功率放大輸出。經(jīng)過(guò)仿真分析與實(shí)驗(yàn)驗(yàn)證,該系統(tǒng)可以有效抑制5 W揚(yáng)聲器和靈敏度大于-40 dB V/P的拾音器在距離保持4 cm及以上時(shí)發(fā)生的嘯叫。
STM32F407VGT6 嘯叫 音頻功放 AY-TPA3112D
在揚(yáng)聲器-房間-麥克風(fēng)(LRM)構(gòu)成的聲學(xué)閉合通道聲信號(hào)增強(qiáng)系統(tǒng)中, 由于揚(yáng)聲器到傳聲器的正反饋路徑的存在, 當(dāng)系統(tǒng)在增益增大到一定量時(shí),就會(huì)出現(xiàn)不穩(wěn)定現(xiàn)象,這便是回聲嘯叫?;芈晣[叫的發(fā)生,會(huì)導(dǎo)致傳聲器通路音量無(wú)法調(diào)大或出現(xiàn)聲音振鈴現(xiàn)象,嚴(yán)重影響整個(gè)聲信號(hào)系統(tǒng)的正常工作,甚至?xí)?dǎo)致系統(tǒng)中的功率放大器和音響由于信號(hào)強(qiáng)度過(guò)大而燒毀損壞。隨著DSP技術(shù)的不斷發(fā)展,自動(dòng)聲反饋抑制器已經(jīng)成為國(guó)內(nèi)外對(duì)于回聲嘯叫主流的解決方案。國(guó)內(nèi)提出了最小二乘的均方誤差嘯叫檢測(cè)算法,德國(guó)百靈達(dá)公司基于高性能DSP推出了FBQ2496自動(dòng)聲反饋抑制器。這些自動(dòng)聲反饋抑制器能夠自動(dòng)搜索聲反饋頻點(diǎn),設(shè)置相應(yīng)的窄帶陷波器,從而有效抑制嘯叫的發(fā)生,具有音質(zhì)損失小等優(yōu)點(diǎn),適合于指標(biāo)要求高的場(chǎng)所。但是由于專(zhuān)業(yè)DSP芯片價(jià)格比較昂貴,產(chǎn)品結(jié)構(gòu)比較復(fù)雜,導(dǎo)致這些產(chǎn)品的成本和售價(jià)比較高。
本設(shè)計(jì)針對(duì)DSP芯片導(dǎo)致的高成本問(wèn)題,提出采用基于STM32F407VGT6單片機(jī)代替專(zhuān)業(yè)DSP芯片,通過(guò)STM32F407VGT6單片機(jī)具有的12位精密AD轉(zhuǎn)換器和快速傅氏變換和快速傅氏反變換算法進(jìn)行濾波處理,實(shí)現(xiàn)對(duì)嘯叫的自動(dòng)檢測(cè)和自適應(yīng)抑制功能,并通過(guò)MATLAB仿真軟件和真實(shí)環(huán)境聲音采集對(duì)進(jìn)行了自適應(yīng)嘯叫檢測(cè)抑制算法的系統(tǒng)的有效性和實(shí)用性進(jìn)行驗(yàn)證。
系統(tǒng)主要由電源模塊、麥克風(fēng)模塊、前級(jí)放大模塊、主控芯片STM32F407VGT6和AY-TPA3112D集成功放模塊組成,其功能結(jié)構(gòu)圖如圖1所示。
系統(tǒng)功能實(shí)現(xiàn)分為聲音信號(hào)采集、嘯叫檢測(cè)與抑制、放大輸出3個(gè)部分。聲音信號(hào)采集是指利用麥克風(fēng)驅(qū)動(dòng)電路和OP2134構(gòu)成前級(jí)放大電路將外部聲音信號(hào)進(jìn)行采集放大,為系統(tǒng)提供模擬聲音信號(hào)的輸入。嘯叫檢測(cè)與抑制在STM32F407VGT6微控制器中完成,利用12位精密AD轉(zhuǎn)換器,間隔采樣1 024個(gè)點(diǎn),再通過(guò)FFT算法得出的結(jié)果,分析各個(gè)頻率的幅值,分析是否發(fā)生嘯叫,若發(fā)生嘯叫則將幅值最大的前200個(gè)頻率的幅值設(shè)定為0,最后通過(guò)內(nèi)置的精密DA轉(zhuǎn)換器輸出。放大輸出通過(guò)AY-TPA3112D芯片實(shí)現(xiàn),可以通過(guò)向AY-TPA3112D芯片特定引腳輸出對(duì)應(yīng)電平得到不同大小的功率放大倍數(shù),達(dá)到聲音放大輸出的目的。
2.1 微控制器與系統(tǒng)接口
由于FFT和IFFT算法涉及大量的浮點(diǎn)運(yùn)算,由于一個(gè)浮點(diǎn)占用4個(gè)字節(jié),所以要占用大量的內(nèi)存,同時(shí)浮點(diǎn)運(yùn)算時(shí)間很慢,所以采用普通的8位MCU一般難以在一定的時(shí)間內(nèi)完成運(yùn)算。主控芯片STM32F407VGT6 32位微處理器采用ARM Cortex-M4F內(nèi)核,工作電壓1.8~3.6 V,擁有1024 kB FLASH和192 kB ARM,3個(gè)12位精密AD轉(zhuǎn)換器和2個(gè)12位DAC緩沖通道。高運(yùn)行頻率為168 MHz,能夠充分滿(mǎn)足1 024位FFT和IFFT運(yùn)算需要。
2.2 拾音電路
拾音電路需要通過(guò)麥克風(fēng)接收聲音震動(dòng),將聲音進(jìn)行降噪、放大處理,從而得到聲音信號(hào),故采用OPA2134構(gòu)成拾音電路。
OPA2134是一款8 MHz的帶寬,低功耗單電源集成運(yùn)算放大器,其具有電壓電流噪聲極低、不易產(chǎn)生紋波干擾、帶寬大、工作穩(wěn)定等特點(diǎn),能夠在大部分的環(huán)境下工作。同時(shí)OPA2134采用單電源供電,可以有效減小外圍電路的復(fù)雜度,使得整個(gè)電路設(shè)計(jì)變得更加簡(jiǎn)單、穩(wěn)定,滿(mǎn)足系統(tǒng)需求。
2.3 功率放大電路
功率放大電路負(fù)責(zé)將從主控芯片輸出的聲音信號(hào)放大輸出,同時(shí)要實(shí)現(xiàn)不同增益倍數(shù)的調(diào)節(jié),故采用TPA3112D1構(gòu)成功率放大電路。
TPA3112D1是TI公司生產(chǎn)的一款具有Speaker Guard的25 W單聲道、無(wú)需加濾波器的D類(lèi)音頻放大器。音頻信號(hào)可實(shí)現(xiàn)差分輸入,可程控實(shí)現(xiàn)功率放大器的倍數(shù)。采用12 V單電源供電,功放系統(tǒng)穩(wěn)定。
根據(jù)Cooley-Tukey算法,對(duì)于采集到的聲音信號(hào)序列x[n]而言,其分為奇數(shù)序列和偶數(shù)序列之和,即x[n]=xEv[n]+xOd[n]。
由于
故有
根據(jù)嘯叫的性質(zhì)可知,當(dāng)發(fā)生嘯叫時(shí),音頻信號(hào)的能量主要集中在嘯叫頻率附近,故可知嘯叫頻率處的功率將遠(yuǎn)大于其他頻率點(diǎn)處功率。故嘯叫點(diǎn)的檢測(cè)可以利用PAPR(峰值平均功率比)來(lái)表示,即
又因?yàn)閨x[n]|2具有對(duì)稱(chēng)性,故可以簡(jiǎn)化為
當(dāng)PAPR的值越接近于無(wú)窮大時(shí),嘯叫越有可能發(fā)生。
基于STM32的帶嘯叫檢測(cè)與抑制的音頻功率放大器系統(tǒng)軟件主要分為以下幾個(gè)部分:AD采樣;嘯叫檢測(cè);嘯叫抑制;DA輸出。系統(tǒng)主程序流程如圖2。
圖2 系統(tǒng)主程序流程Fig.2 The flow chart of system’s main program
4.1 音聲采集
當(dāng)聲音信號(hào)通過(guò)拾音電路傳遞給STM32F407VGT6時(shí),利用其12位精密AD轉(zhuǎn)換器對(duì)信號(hào)進(jìn)行連續(xù)AD采樣,采樣頻率為40 kHz,同時(shí)利用DMA儲(chǔ)存采樣結(jié)果。當(dāng)完成一次2 048個(gè)數(shù)據(jù)采樣后,AD采樣標(biāo)志位adc_sample=true。AD采樣流程如圖3所示。
圖3 AD采樣流程圖Fig.3 The flow chart of AD sampling`
4.2 嘯叫檢測(cè)
當(dāng)ADC采樣標(biāo)志位adc_sample=true時(shí),初始化FFT函數(shù),標(biāo)志位ifftFlag=0,對(duì)之前儲(chǔ)存AD采樣數(shù)據(jù)的數(shù)組分別進(jìn)行一次FFT運(yùn)算,結(jié)果分別存入數(shù)組adc_Value1中。因?yàn)镕FT運(yùn)算的結(jié)果為復(fù)數(shù),所以再對(duì)其結(jié)果求模,得到幅值數(shù)據(jù),分別存入數(shù)組test_Output1中。因?yàn)楦道锶~變換結(jié)果具有對(duì)稱(chēng)性,故利用函數(shù)分別對(duì)數(shù)組test_Output1的一半進(jìn)行查找,得到各數(shù)組最大幅值maxValue1和最大幅值頻率testIndex1。對(duì)比testIndex1和之前一次計(jì)算的最大幅值頻率testIndex2,若兩者之比大于0.9小于1.1,且則最大幅maxValue1大于平均幅值50倍以上,嘯叫檢測(cè)標(biāo)志位howl=true,反之嘯叫檢測(cè)標(biāo)志位howl=false。將maxValue1和testIndex1的值賦值給maxValue2和testIndex2。
圖4 嘯叫檢測(cè)流程圖Fig.4 The flow chart of howling detection
4.3 嘯叫抑制
當(dāng)嘯叫檢測(cè)標(biāo)志位howl=true時(shí),利用函數(shù)找出幅值大小前50的數(shù)據(jù)位,將對(duì)應(yīng)的adc_Value1中的值歸0,將adc_Value1中幅值給adc_Value。當(dāng)嘯叫檢測(cè)標(biāo)志位howl=false時(shí),直接將adc_Value1中幅值給adc_Value。
圖5 嘯叫抑制流程圖Fig.5 The flow chart of howling suppression
4.4 聲音還原
初始化FFT函數(shù),標(biāo)志位ifftFlag=1,對(duì)adc_Value數(shù)組進(jìn)行一次IFFT運(yùn)算,將結(jié)果存入數(shù)組Output中。當(dāng)IFFT運(yùn)算完成后,利用STM32F407VGT6的12位DA轉(zhuǎn)換器,將數(shù)組Output中的數(shù)據(jù)轉(zhuǎn)換輸出至后續(xù)的功率放大模塊,同時(shí)AD采樣標(biāo)志位adc_sample=false。
為了有效驗(yàn)證本設(shè)計(jì)在普通環(huán)境下的嘯叫抑制性能,實(shí)驗(yàn)將本嘯叫抑制系統(tǒng)放置在一個(gè)未經(jīng)過(guò)聲學(xué)結(jié)構(gòu)設(shè)計(jì)的房間內(nèi)進(jìn)行測(cè)試。同時(shí)為了更好地模擬日常生活環(huán)境,還在該系統(tǒng)周?chē)胖昧艘幌盗凶魏推渌粘I钣闷?。系統(tǒng)由一個(gè)靈敏度為-40±3 dB、阻抗為5 Ω的電容式全指向性麥克風(fēng)、一個(gè)額定功率為5 W,阻抗為8 Ω的組合紙盆式喇叭構(gòu)成揚(yáng)聲器-房間-麥克風(fēng)(LRM)閉合聲學(xué)反饋回路。在未啟用系統(tǒng)對(duì)閉合聲學(xué)反饋回路進(jìn)行嘯叫抑制時(shí),利用計(jì)算機(jī)采集聲音波形。
利用Matlab對(duì)該聲音波形進(jìn)行頻譜分析,得到聲反饋系統(tǒng)在此工作狀態(tài)下的聲音頻譜圖(圖6(a))。通過(guò)該頻譜可以知道,在未經(jīng)過(guò)嘯叫抑制時(shí),聲音的大部分能量集中在幾個(gè)單一頻率上,說(shuō)明該閉合聲學(xué)反饋系統(tǒng)處于嘯叫狀態(tài)。
圖6 原聲音頻譜和嘯叫抑制頻譜Fig.6 The original frequency spectrum and the frequency spectrum after howling suppression
在不改變系統(tǒng)各部分位置和工作環(huán)境的情況下,打開(kāi)嘯叫抑制系統(tǒng),再次使用計(jì)算機(jī)對(duì)聲音進(jìn)行采集分析并利用Matlab對(duì)于該聲音波形進(jìn)行頻譜分析,得到在嘯叫抑制工作情況下的頻譜圖(圖6(b))。
通過(guò)對(duì)新波形得出的頻譜進(jìn)行分析可以看出,聲音頻率中的最高頻率幅值出現(xiàn)了大幅度的降低,同時(shí)最大頻率幅值與聲音波形頻率平均幅值的比值大幅度降低,證明系統(tǒng)有效抑制了嘯叫的發(fā)生。
為了更進(jìn)一步精確地描述系統(tǒng)對(duì)于嘯叫抑制的性能,采用利用回聲抑制比(ERLE)來(lái)反映系統(tǒng)性能。
回聲抑制比(ERLE)的定義為
式中,n(k)為系統(tǒng)噪聲,d(k)為原回聲,e(k)為剩余回聲。由于實(shí)際測(cè)試時(shí)系統(tǒng)噪聲不能同回聲截然分開(kāi),實(shí)際使用的回聲抑制比計(jì)算為
式中,Pd為原回聲功率,Pe為剩余回聲功率(兩者均包含有系統(tǒng)噪聲分量)。
通過(guò)實(shí)驗(yàn)測(cè)得該系統(tǒng)的ERLE=16 dB,能夠在保證聲音質(zhì)量的情況下有效抑制嘯叫的產(chǎn)生。
為了解決由于揚(yáng)聲器-房間-麥克風(fēng)(LRM)構(gòu)成的聲學(xué)閉合通道聲信號(hào)增強(qiáng)系統(tǒng)中正反饋路徑導(dǎo)致的聲反饋嘯叫問(wèn)題,提出了采用快速傅氏變換和快速傅氏反變換算法對(duì)STM32F407VGT6單片機(jī)集成的12位精密AD轉(zhuǎn)換器的音頻信號(hào)采樣結(jié)果進(jìn)行分析,從而實(shí)現(xiàn)對(duì)嘯叫頻率的自動(dòng)檢測(cè)和自動(dòng)抑制,實(shí)現(xiàn)一種由低成本STM32F407VGT6單片機(jī)構(gòu)成系統(tǒng)核心的自適應(yīng)聲反饋嘯叫抑制系統(tǒng)。同時(shí)采用Matlab對(duì)系統(tǒng)在一般環(huán)境下對(duì)于回聲嘯叫的抑制性能進(jìn)行了測(cè)試和分析,采用回聲抑制比(ERLE)對(duì)系統(tǒng)性能進(jìn)行了定量檢測(cè)。
由于嘯叫出現(xiàn)時(shí)嘯叫頻率點(diǎn)并非只出現(xiàn)在單一頻率之上,為了更好的保證聲音的還原質(zhì)量,系統(tǒng)還需要進(jìn)一步研究更加適合STM32F407VGT6單片機(jī)的新算法。
[1] 厲劍,鄭成詩(shī),李曉東. 基于幅度譜長(zhǎng)時(shí)包絡(luò)跟蹤的嘯叫頻點(diǎn)檢測(cè)[J]. 聲學(xué)技術(shù),2013,(1):213-214.
[2] 肖啟洋,張忠慧,方元. 基于DSP的聲反饋抑制系統(tǒng)的研究與實(shí)現(xiàn)[J]. 電子技術(shù)應(yīng)用,2013,(1):13-16.
[3] 郝國(guó)莉,方元. 采用改進(jìn)陷波器的聲反饋抑制[J]. 電子測(cè)量技術(shù),2012,(3):65-68.
[4] 黃洪劍. 現(xiàn)場(chǎng)擴(kuò)聲中嘯叫的抑制[J]. 音響技術(shù),2012,(1):33-34.
[5] RAO I K. Fast LMS-newton algorithms for stereophonic acoustic echocancelation[J]. IEEE Transactions on Signal Processing. 2009.
[6] KIM N,VAN W T,CHRISTENSEN M G,etal.Adaptivefeedback Cancellation in Hearing aids Using a Sinusoidalnear-end Signal Model[C]. IEEE International Confer-ence on Acoustics,Speech and Signal Processing. 2010.
The Audio Power Amplifier Design with Howling Detection and Suppression
HE Kan, LI Zhi-xiong, HUO Jian-wen, ZHANG Jing
(SchoolofInformationEngineering,Southwestscienceandtechnologyuniversity,Mianyang621000,Sichuan,China)
In order to solve the problem about howling which dues to pickups and speakers too close, a howling suppression design based STM32F407VGT6 with 12 Precision AD converter was proposed, using the Fast Fourier Transform and Fast Fourier Transform Algorithm for filtering. And power through programmable chip AY-TPA3112D amplified output was achieved. By simulation analysis and experimental verification, the system can effectively inhibit howling between the 5W speaker and -40dB V/P pickup.
STM32F407VGT6; Howlround; Audio amplifier; AY-TPA3112
ERLE=101log(Pd/Pe)
2015-03-10
何侃(1994—)男,本科。研究方向?yàn)楹穗娮訉W(xué)和探測(cè)技術(shù)。E-mail:475890217@qq.com
TP391.42
A
1671-8755(2015)02-0093-04