引言
音頻接收設(shè)備已經(jīng)是日常生活,、學(xué)習(xí),、工作中不可缺少的工具,但是在使用過程中由于某些原因,,如切換頻道,、播放廣告等,信號輸出時會出現(xiàn)音量大小不一的情況,,嚴(yán)重影響用戶的收聽效果,。產(chǎn)生這種音量相差較大的主要原因是音頻信號輸入的幅度不一致,解決辦法就是進(jìn)行增益控制,。
最早的增益控制是模擬電路檢測控制,,但模擬電路設(shè)計相對繁瑣,且難以實現(xiàn)較寬范圍的增益控制,,因此隨著數(shù)字信號處理器件(DSP)的發(fā)展,,采用DSP進(jìn)行增益控制成為主流。起初數(shù)字器件處理的一般方法是大的信號減小增益,,小的信號不處理?,F(xiàn)在也有對小信號進(jìn)行放大的方法,但由于擔(dān)心在沒有信號輸入的情況下增益調(diào)整太大,,會使背景噪聲也加大,,因此增益調(diào)整范圍不大,不能達(dá)到理想的控制效果,。另外,,基本都是對輸入信號進(jìn)行檢測,即前饋控制,,對輸出信號不進(jìn)行檢測,,這樣在輸人時若增益較大,輸出會被限幅,,影響收聽效果,。且DSP方案成本相對較高。本方案采用成本低的單片機為處理核心,,通過簡單的增益控制算法完成增益自動控制,。
1 系統(tǒng)硬件設(shè)計
如圖1所示,整個系統(tǒng)以音頻信號的采集處理為核心進(jìn)行設(shè)計,。音頻控制芯片PGA2311兩邊的音頻信號輸入和輸出端,,經(jīng)放大器TL084電平搬移后送到MSP430F149的A/D口進(jìn)行采樣(對信號輸入/輸出端都進(jìn)行檢測目的是解決在輸入端無信號情況下增益是否調(diào)整的問題,同時避免增益過大導(dǎo)致輸出端限幅發(fā)生),。采樣數(shù)據(jù)由軟件算法處理得到增益值,,經(jīng)電平變換器74HC245配置到PGA2311。按鍵和數(shù)碼管完成輸出電平門限范圍的設(shè)置和顯示。
1.1 主控電路
主控芯片MSP430F149是一款16位,、48個8位并行I/O口,、具有精簡指令集、超低功耗(節(jié)電模式下最低只有0.1μA)的單片機,,其尋址空間共64 KB其中RAM為2KB,,給系統(tǒng)開發(fā)帶來很大的方便。它內(nèi)置一個12位A/D轉(zhuǎn)換器ADC12,、采樣保持器和模擬多路器,。ADC12具有高速、通用的特點,,能夠?qū)?個外部模擬源和4個內(nèi)部參考電源(包括內(nèi)部溫度傳感器源)進(jìn)行A/D轉(zhuǎn)換,。ADC12還提供多種采樣觸發(fā)方式、轉(zhuǎn)換時鐘周期,、轉(zhuǎn)換模式的選擇,。
PGA2311是一款雙聲道、可編程增益放大器,,與MSP430F149之間通過SPI總線交互,,其增益范圍為+31.5~-95.5 dB。
圖1中MSP430F149是3.3 V供電,,而PGA231l是±5 V供電的CMOS器件,,因此在I/O邏輯電平匹配時需要注意,在驅(qū)動PGA2311時用電平移位器74HC245達(dá)到電平匹配,。
1.2 電平搬移電路
由于一般音頻輸出設(shè)備音量大小不一且為交流耦合形式,,而MSP430F149的A/D采樣電壓范圍是0~2.5 V,為了使被采樣信號與A/D匹配避免削波失真,,需要將輸入信號比例放大(或縮小),,并將中心電壓搬移至1.25 V附近。如圖2所示,。
2 軟件設(shè)計
軟件設(shè)計包括按鍵顯示,、外設(shè)控制、音頻信號處理幾個部分,,重點是音頻信號處理的AGC算法,。按鍵顯示響應(yīng)用戶設(shè)置輸出音量大小并顯示出來,外設(shè)控制主要是對PGA2311進(jìn)行配置
2.1 AGC算法
AGC算法核心是通過信號的包絡(luò)信息來判斷信號的動態(tài)范圍是否超過設(shè)置大小,,這里需要快速跟蹤包絡(luò)的變化,,及時進(jìn)行增益控制。
以往的AGC算法中乘除法運算對CPU資源的占用較大,。這里提出的AGC算法比較簡單實用,其流程如圖3所示。具體實現(xiàn)過程:從單片機的A/D口,,獲得音頻輸入/輸出信號的電平存入數(shù)組,。數(shù)組存儲數(shù)據(jù)達(dá)到門限比較要求,進(jìn)入峰值比較流程,。根據(jù)存儲的輸入信號數(shù)據(jù),,采用冒泡排序的算法找出最大幅值,判斷輸入端是否有信號,。如果判定沒有音頻信號輸入,,則增益不調(diào)整,防止由于輸出信號太小而一直增大增益,,噪聲過大,,或者一旦出現(xiàn)聲音,由于增益過大而出現(xiàn)短時間輸出聲音太大,。輸入端有信號,,則對輸出端進(jìn)行檢測,同樣調(diào)用冒泡排序程序找出最大幅值,,如發(fā)現(xiàn)輸出信號大小超過設(shè)定門限,,則減小增益,反之則增大增益,。在減小增益時,,步進(jìn)要大些,而在增大增益時步進(jìn)要小些,,這樣在增益調(diào)整時輸出的音量使用戶聽覺上不覺得難受,。
3 實驗論證
為驗證設(shè)計的正確性進(jìn)行實驗論證。設(shè)定輸出電平范圍,,由計算機輸入突變的音頻信號,,通過示波器觀察輸出,如圖4所示,。
從圖4中方框所標(biāo)示的音量突變區(qū)域,,可以看出輸入音量突然增大后,在500 ms內(nèi)就將增益調(diào)低,,保持音量輸出在設(shè)定范圍輸出,。高音突變低音等實驗由于調(diào)整周期較長,這里就不作圖示整個調(diào)整過程了,。
結(jié)語
實驗結(jié)果說明,,該設(shè)計增益控制及時、準(zhǔn)確,,保持輸出信號電平在設(shè)定范圍穩(wěn)定輸出,,且低功耗,,實現(xiàn)簡單,可移植性強,,可以滿足目前用戶對音頻接收設(shè)備音量輸出的要求,。