基于AGC算法的音頻信號處理方法及FPGA實現(xiàn)
隨著現(xiàn)代通信技術的廣泛使用,通信企業(yè)問的競爭不斷加劇,為提升自身的競爭優(yōu)勢,通信企業(yè)需要將其通信信號的質(zhì)量提升,并提高通信系統(tǒng)各項指標的穩(wěn)定性、安全性、高效性。在音頻信號處理方法及FPGA實現(xiàn)中,采用AGC算法,可提高音頻信號系統(tǒng)和音頻信號輸出的穩(wěn)定性,解決了AGC調(diào)試后的信號失真問題。本文針對基于實用AGC算法的音頻信號處理方法與FPGA實現(xiàn),及其相關內(nèi)容進行了分析研究。
本文引用地址:http://butianyuan.cn/article/201610/308343.htm1 實用AGC算法在實際應用中的原理
在通信設備使用過程中,語音通信是重要的組成部分,而在語言通信中音頻信號的質(zhì)量,決定著人們對通信系統(tǒng)的選擇。當前在通信音頻信號處理中會采用AGC,其可保證信號輸出的穩(wěn)定性,降低信號輸出的干擾。通過實際驗證,實用AGC算法與普通的AGC算法存在一定的差異,實用AGC算法是普通AGC算法的基礎上產(chǎn)生,其不僅可將信號傳輸中的干擾因素有效降低,還可保證音頻信號在傳輸中的穩(wěn)定性,準確地將音頻信號的幅度變化情況顯示出來。隨著科技的發(fā)展,數(shù)字處理技術,在音頻信號處理中的應用,可降低信號的干擾,實現(xiàn)FPGA。
自動增益控制(Automatic Gain Control,AGC)。其主要由增益放大器以及反饋回路兩部分組成。在其工作過程中,增益放大器組成部分,根據(jù)系統(tǒng)中反饋回路的幅度、閾值,采用一定的AGC算法,對增益值進行調(diào)整。即AGC通過放大電路中自動增益信號的強度,調(diào)整信號的自動控制。在信號強度增加時,AGC系統(tǒng)反饋回路的控制,按照一定關系進行相應的減小;反之,當AGC系統(tǒng)增益放大器中信號幅度降低時,反饋回路的增益,將按照兩者之間存在的一定關系,進行相應的增大。通過此方法,在AGC算法放大調(diào)整后,確保了通信系統(tǒng)信號輸出的幅度可基本維持在恒定的狀態(tài)。文中將AGC算法應用于音頻信號處理中,可實現(xiàn)FPGA,并可有效降低音頻信號輸出時的干擾,保證信號的穩(wěn)定。
2 基于AGC算法的音頻信號處理設計
在音頻信號處理過程中,應用AGC算法分為4個步驟:
步驟1 確定音頻信號輸出的動態(tài)范圍。在設計基于使用AGC算法的音頻信號處理中,需根據(jù)音頻信號的實際情況而定。若在設計過程中,實用AGC系統(tǒng)中期望值為一個定值時,此時音頻信號輸出的幅度將趨近AGC系統(tǒng)的這一期望值。在趨近這一期望值的過程中,輸出信號會不斷地調(diào)整,進而造成信號輸出端幅度的不穩(wěn)定,所以為保證音頻信號輸出的穩(wěn)定性,可在AGC期望值的基礎上,以期望值為中心,設計并確定音頻信號輸出穩(wěn)定的一個動態(tài)范圍。當AGC算法調(diào)整中,音頻信號的幅度在這一動態(tài)范圍內(nèi),則可認定音頻信號的輸出幅度是穩(wěn)定的。一般情況下,音頻信號輸出幅度范圍是AGC系統(tǒng)期望值加減0.1 dB,同時為了對音頻信號輸出的電路進行保護,需要將AGC系統(tǒng)的期望值,設置為音頻信號輸出滿值下減少0.25 dB。
步驟2 確定增益調(diào)整速度。在正常語音通信中,語言信號的幅度在不停變化,為了確定、保證并呈現(xiàn)語音信號幅度的正常變化趨勢,需確保其增益不變或是在一個較小的范圍內(nèi)變化,由此才可保證音頻信號傳輸中的幅度不失真。在音頻信號傳輸過程中受到的干擾,使得音頻信號的平均幅度相對較小,所以需將其增益值加大,確保信號的整體幅度增加,以此保證音頻信號不失真。實用AGC在音頻信號中的應用,其增益值需遂慢而快,隨著信號幅度的慢變化而進行忽快的變化。當音頻信號增益調(diào)整的時間與音頻信號正常情況下的調(diào)整時間相比較長時,此時的增益值不會發(fā)生較大變化,需根據(jù)音頻信號輸出的特點,設定其增益調(diào)整的時間為4 s。若音頻信號輸出較大時,此時的增益需快速減小,若不進行減小調(diào)整,則會造成器件的損壞。而當信號的輸出值大于期望值的上限時,增益值調(diào)整時間需設定為0.5 ms。
實用AGC算法的增益值計算公式為
其中,A(n+1)是對信號傳輸調(diào)整后的增益值;A(n)是調(diào)整前的增益值;Ain是信號幅度值;A0是期望幅度值;2-a為一個常數(shù)。其中a值不同,AGC的調(diào)整速度也不同,根據(jù)實用AGC算法的實際要求,信號輸出幅度小于期望值上限時,a=16,增益的調(diào)整將變慢,若a=3,此時的增益調(diào)整速度則將加快。
步驟3 確定輸入信號的動態(tài)范圍。在音頻信號輸入的過程中,若設定的輸入值范圍過大,將會使信號在傳輸過程中,產(chǎn)生較大的噪聲,影響信號的輸入、輸出質(zhì)量。相反若音頻輸入信號的設定的范圍較小,因信號較小,會被忽略,進而造成音頻輸入信號的失真。根據(jù)音頻信號的輸入時間情況,將36 dB的信號強度確定為噪聲。使用AGC算法,將音頻信號的輸入動態(tài)范圍確定,可根據(jù)噪聲存在的時間,判斷噪聲是否發(fā)生在音頻信號傳輸?shù)拈g隙,若噪聲存在的時間相對較小,則可將其看成是音頻信號的間隙。通常噪聲的判斷時間設定為5 s最佳。根據(jù)噪聲存在的時間及信號輸入的實際情況,將音頻信號最小值到噪聲門限之間約6 dB的范圍,確定為音頻信號輸入的動態(tài)范圍。在這一范圍內(nèi)噪聲對音頻信號的干擾強度較,因此需要將增益值固定。
步驟4 對增益值的大小進行限制。為避免發(fā)生增益過大,將信號傳輸器件或設備燒毀,需要將其增益值控制在一個范圍內(nèi),若AGC計算得出的值,大于該范圍的上限,此時增益值取最大值,反之取最小值。根據(jù)音頻信號的實際傳輸情況,增益范圍在-3~30 dB。
通過以上4個步驟,可將實用AGC算法在音頻信號處理中的應用流程,設計如圖1所示。
3 AGC算法的音頻信號處理仿真及實現(xiàn)
3.1 仿真實驗
在音頻信號處理中,根據(jù)音頻輸入、輸出的幅度變化,制作AGC仿真實驗。按照實用AGC算法的流程和信號計算式(2),將音頻的輸出信號計算出來,此時當音頻信號突然減小時,就會出現(xiàn)過沖現(xiàn)象,為將過沖現(xiàn)象消除/避免,需按照實用AGC算法公式,為音頻信號的輸出增加延時,延時可按式(3)計算
y(n)=x(n)×G(n) (2)
y(n)=x(n-32)×G(n) (3)
增加音頻信號延時,可將過沖現(xiàn)象解決和消除,雖增加延時會對音頻信號產(chǎn)生一定影響,但其不利影響在可接受范圍內(nèi)。仿真實驗結果如圖2和圖3所示。
在音頻信號輸入的過程中,當音頻信號增益變大后,其將相對緩慢,此時進行的增益延時相對較小,增益增加的幅度也相對較小,雖造成輸出的音頻信號較大,但已接近理想輸出幅度,因此對信號輸出器件的安全性將不會造成影響。
3.2 FPGA的實現(xiàn)
實驗中,F(xiàn)PGA的信號處理流程如圖4所示。
音頻信號通過音頻采樣的形式進行數(shù)字過濾,得到圖4中I、Q兩路信號,可使用下式
將形成的兩路信號幅值計算出來,AGC系統(tǒng)中反饋的幅值以A(n)=Ain(n)×G(n)式(5)計算得出。根據(jù)算出的A和Ain值對音頻信號進行增益調(diào)整,調(diào)整時間為4 s。
當音頻信號的幅度發(fā)生變化時,在增益開始階段,進行的調(diào)整相對較快,此時對增益的影響較大,即信號增益變化較大。經(jīng)過約4 s的增益調(diào)整,可將信號幅度的輸出值調(diào)整到期望值,隨著輸入音頻信號的快速變化,輸出的音頻信號也會隨著輸入信號的變化而發(fā)生相應的改變,但在輸入信號突然增大時,音頻輸出信號不會產(chǎn)生明顯變化,由此實現(xiàn)了基于AGC算法的音頻FPGA。
4 結束語
針對AGC算法的工作原理、音頻信號處理、FPGA等內(nèi)容進行分析。在音頻信號處理過程中,采用實用AGC算法,通過采取仿真實驗,得到實用AGC算法在音頻信號處理及FPGA實現(xiàn)中的應用,并可降低信號傳輸中的失真問題,有效提高了信號傳輸?shù)姆€(wěn)定性。實驗結果表明,將實用AGC算法,應用于音頻信號處理方法與FPGA實現(xiàn)中,其具有良好的性能,且確保了信號的穩(wěn)定性。
評論