楊 川 張小波 牟琪琦 周維川
(重慶機(jī)電職業(yè)技術(shù)大學(xué),重慶 402760)
嘯叫現(xiàn)象是音響系統(tǒng)中最常出現(xiàn)的不良現(xiàn)象之一,能夠極度影響聽眾的聽覺效果,嚴(yán)重時還有可能燒毀音響元件。本設(shè)計致力于嘯叫檢測和抑制,并采用高效率的D類功放進(jìn)行設(shè)計。
本文根據(jù)設(shè)計要求設(shè)計了信號放大、濾波以及功放電路系統(tǒng),主要包括信號采集、信號放大、信號濾波、嘯叫檢測、嘯叫抑制、功率檢測控制、數(shù)模轉(zhuǎn)換以及功率放大等功能[1]。系統(tǒng)的總體框圖如圖1所示。嘯叫信號的檢測與抑制由STM32F103實(shí)現(xiàn),經(jīng)過自適應(yīng)陷波處理的音頻信號將傳輸?shù)揭纛l功率放大器并正常播放。
圖1 整體設(shè)計框圖
本設(shè)計中硬件電路設(shè)計相對簡單,軟件算法設(shè)計相對較難,其中:硬件設(shè)計的核心是嘯叫檢測、嘯叫抑制、功率檢測控制、數(shù)模轉(zhuǎn)換以及功率放大等模塊;軟件設(shè)計主要包括時間抽選奇偶分解快速傅里葉變換算法(Fast Fourier Transformation,F(xiàn)FT)和最小均方根自適應(yīng)陷波算法(Least Mean Square,LMS)。FFT主要用于頻譜分析,以找到嘯叫的頻率成分,LMS主要用于衰減音頻中的嘯叫頻率[2]。
對于N點(diǎn)序列X(n),可采用離散傅里葉變換(Discrete Fourier Transform,DFT)的變換公式:
應(yīng)用FFT進(jìn)行頻譜分析時,需要找到實(shí)時音頻信號中的頻率成分,經(jīng)過辨別處理檢測出嘯叫成分。把變化的嘯叫頻率作為中心頻率ω0,當(dāng)產(chǎn)生嘯叫趨勢時,基于FFT的嘯叫頻率檢測算法會將嘯叫頻率作為濾波器中心頻率賦給陷波器。賦值過程中,濾波器會將該頻率成分的信號衰減、過濾,從而避免嘯叫現(xiàn)象的產(chǎn)生。其傳遞函數(shù)如下:
該算法有以下兩個特征:第一,當(dāng)“嘯叫”信號的角頻率ω0發(fā)生改變時,零值點(diǎn)也會隨著改變,因此陷波器的中心頻率是可調(diào)的,其大小隨著角頻率ω0而變;第二,通過選擇足夠小的μ,可使陷波器達(dá)到更高的Q值。
本方案采用2套供電電路用于控制系統(tǒng)和功放電路供電,由于功放電路中的濾波電感和單片機(jī)的數(shù)字干擾對電路中的電源存在污染,需要在每個電路的輸入端VCC與GND之間均并聯(lián)一個2 200 μF的大電容,以獲取更加優(yōu)質(zhì)、平穩(wěn)的電源。
因?yàn)楸驹O(shè)計采集的音頻信號較弱,一般放大電路的放大效果不明顯,所以選取運(yùn)放OPA2376作為前級可調(diào)同向偏置放大電路。OPA2376的輸入阻抗極大,過濾弱信號的能力強(qiáng)、穩(wěn)定性高、漂移小[3]。OPA2376自身對于300~20 000 Hz外的信號有衰減作用,這一特性極大地減小了電路受通頻帶外噪聲干擾的情況。
采用OPA2376構(gòu)成二階無限增益多路負(fù)反饋帶通濾波器時,其自身對300~20 000 Hz外的信號有衰減作用,可以有效提高濾波效果。同時,因?yàn)槎嗦坟?fù)反饋電路對增益沒有限制,而且Q值可以設(shè)計為很高的值,所以本設(shè)計雖然只用了二階濾波器,但借助TI公司的設(shè)計工具,本電路的濾波效果依然很好,完全能夠滿足系統(tǒng)的濾波要求。
計算功放的輸出功率時,需要采用電流功率計算法,即通過使用ACS712測量輸出電流I,根據(jù)已知電阻R計算出功率P,計算公式為[4]:
ACS712內(nèi)部采用霍爾傳感器檢測原理,在其測試范圍內(nèi)的線性度非常好,通過對部分區(qū)域進(jìn)行軟件修正,可以使其測量精度達(dá)到很高的水平。另外,因?yàn)槌炭毓β史糯笃鲗Τ炭仉妷盒盘柺置舾?,所以必須采用高精度的D/A轉(zhuǎn)換器。本文采用TI公司的DAC8571 D/A轉(zhuǎn)換芯片,支持I2C接口,自身耗能少,速率快,且占用配置空間少。
功率放大電路如圖2所示,該電路采用由TPA3112D1構(gòu)成的D類音頻放大器,該D類音頻放大器自身帶有供電電路、音頻輸入電流以及功率輸出電流等模塊電路。正常使用時通過調(diào)節(jié)電阻的阻值,可以改變其輸出功率的大小,且可以直接通過D/A轉(zhuǎn)換器向功放模塊輸入所需電壓,以改變電壓程控輸出功率的大小。在功率放大器輸出功率為5 W時,電路整體效率能夠達(dá)到95%左右。
圖2 功率放大電路
本設(shè)計中軟件算法起到了重要作用,設(shè)計過程中不僅設(shè)計難度非常大,而且算法對中央處理器(Central Processing Unit,CPU)的運(yùn)算能力要求也較大。本系統(tǒng)主要有以下幾種工作模式。
在該模式下,CPU可以通過電流傳感器得到功放的輸出功率,并可以通過按鍵控制STM32輸出數(shù)字信號,從而通過控制DAC8571輸出精確的電壓來控制功率放大器的輸出功率,以達(dá)到程控的目的。設(shè)計時,需設(shè)置4個按鍵觸發(fā)的外部中斷,分別用于功率放大器的模式設(shè)置和設(shè)置程控D/A輸出的電壓,從而達(dá)到步進(jìn)提高功率、降低功率以及功率復(fù)位的目的。其具體流程圖如圖3所示。當(dāng)系統(tǒng)開始工作時,要先中斷設(shè)置功放模式,并選擇功放的最大輸出功率。當(dāng)觸發(fā)升壓中斷時,要先判斷是否達(dá)到了最大功率。若已達(dá)到,則保持當(dāng)前功率繼續(xù)下一步操作。降壓中斷的執(zhí)行程序與此相同。
圖3 程控功率放大模式中斷子程序流程圖
該模式主要是實(shí)現(xiàn)檢測音響系統(tǒng)的嘯叫頻率,并抑制嘯叫現(xiàn)象,應(yīng)用算法為FFT和LMS,流程如圖4所示。先對輸入的音頻信號進(jìn)行離散采樣,通過FFT實(shí)時分析信號頻譜找到功率因數(shù)最大的頻率成分,并進(jìn)行邏輯處理,從而判斷該信號是否是嘯叫信號。若是嘯叫信號,則進(jìn)行LMS最小均方根自適應(yīng)陷波處理。在FFT頻譜分析參數(shù)中,本設(shè)計的采樣率為30 Hz,幀長為512 bit,幀移為172 Byte。
圖4 嘯叫檢測與抑制流程圖
系統(tǒng)功率輸出為5 W,經(jīng)測試,其最大失真度誤差僅為3.5%。測試功率放大器200~10 000 Hz的頻率響應(yīng)時,增益偏差最大值為0.3 dB;輸出功率范圍為50 mW~5 W;系統(tǒng)不同功率下的轉(zhuǎn)換效率最低為93%。
將麥克風(fēng)與喇叭相隔1 m面對面放置,調(diào)節(jié)功率實(shí)時監(jiān)測輸出功率和嘯叫頻率。通過A/D采樣將信號離散化,并送入FFT進(jìn)行頻譜分析,其中幀長取256 bit,幀移取172 Byte,在保證FFT能夠快速分析的前提下,盡量提高頻譜精度。經(jīng)過FFT分析后,通過邏輯比較測得嘯叫,然后將嘯叫頻率送入LMS算法中,使陷波器將其作為陷波的中心頻率ω0,通過LMS濾波處理后,最終測得各輸出波形基本與輸入信號一致。
在本系統(tǒng)設(shè)計中,最難的問題是嘯叫頻率檢測和嘯叫抑制。設(shè)計過程中,采用經(jīng)典的快速傅里葉變換和LMS自適應(yīng)陷波器并經(jīng)過反復(fù)調(diào)試,得到了所需結(jié)果,其中如何判定嘯叫頻率和如何實(shí)現(xiàn)自適應(yīng)陷波并得到理想的結(jié)果是關(guān)鍵。經(jīng)試驗(yàn),采用TI公司出品的TPA3112D1構(gòu)成的D類音頻放大器實(shí)現(xiàn)了系統(tǒng)高效率濾波,其最低效率為93%。