呂余清,張松柏
(船舶重工集團公司723所,揚州225001)
自動增益控制(AGC)是根據接收信號強度變化,自動地調整接收機前端增益,使接收到的信號強度保持不變的過程[1]。傳統接收機多采用模擬電路來實現,利用充放電電路控制負反饋的反饋增益,實現對接收機增益的控制,但是存在控制精度差、收斂速度慢、靈活性小等缺點?,F代接收機多采用數字下變頻技術,中頻信號被數模轉換器(DAC)采樣,變成數字信號,這為數字AGC的應用提供了前提條件,又因為數字AGC不存在上述模擬AGC的不足,所以數字AGC已逐漸成為接收機AGC控制的主流方法。本文論述了一種基于滑動算法的數字AGC的實現,具有算法簡練、控制精度高、收斂速度快、可移植性強等特點。
圖1所示為數字AGC的過程框圖。高頻信號si經接收機前置放大、數控衰減、中頻檢波與放大后,變?yōu)橹蓄l信號so,so經中頻模數轉換器(ADC)變換為數字信號,再經數字下變頻轉換為基帶信號,AGC數據采樣模塊對下變頻后的基帶信號取模值,模值信號經AGC濾波算法得到控制數控衰減器的衰減控制碼,直接作用于數控衰減器,控制接收機接收增益[2]。在實際環(huán)境中,si信號不可能總是保持恒定的幅值,如果數控衰減器為一恒定的衰減量,則si信號變化后,so信號亦會朝著si信號變化的方向而變化。當AGC過程起效,數控衰減器受控后,情況就不一樣了。當si信號變大時,衰減控制碼變大,數控衰減器衰減量變大,接收機增益減小,so信號保持不變;當si信號變小時,衰減控制碼變小,數控衰減器衰減量變小,接收機增益增大,so信號亦保持不變;因此,不管si信號變大還是變小,由于數控衰減器的實時調節(jié)作用,so信號不會隨輸入變化而急劇變化,而是保持在期望值附近,從而實現了AGC控制目的。
圖1 數字AGC過程框圖
從圖1抽象出AGC的數學模型如圖2所示,Si為輸入,So為輸出,E為收斂期望值,α為滑動濾波系數,e為期望值與輸出的差值(量綱為分貝),A為受控的衰減器衰減量。
圖2 數字AGC數學模型
由圖2可知,這是一個反饋控制系統[3],受控量為衰減器的衰減A,控制量為e,當e>0時,說明輸出值比期望值小,衰減器衰減量A變小,從而使輸出朝增大的方向變化;當e<0時,說明輸出值比期望值大,衰減器A衰減量增大,從而使輸出朝減小的方向變化;當e=0時,說明輸出值與期望值相等,受控量A衰減量維持不變。
具體實現原理可由以下公式描述:
由公式(1)和(2)可知,當輸出與期望值一致時,e(i)=0,因而控制的A(i+1)衰減量等于上次A(i)的衰減量,維持不變;當輸出比期望值小,e(i)>0,因而控制的A(i+1)衰減量等于上次A(i)的衰減量減去一個正值,當前衰減量比上次衰減量減?。划斴敵霰绕谕荡?,e(i)<0,因而控制的A(i+1)衰減量等于上次A(i)的衰減量減去一個負值,當前衰減量比上次衰減量增大。
由公式(1)和(2)可得:
AGC輸出為:
由以上公式可以看出,由于采用了滑動濾波,每次計算當前衰減量A時,系統只需要知道當前的期望值與輸出的差值即可,不需要存儲過多的歷史數據就可以得到控制量,因而計算簡便,易于工程實現。由公式(3)還可以知道,該算法的響應速度與α值大小相關,當α較大時,響應速度快,但是過沖大,收斂后幅值平穩(wěn)度不高;當α較小時,過沖小,收斂后幅值平穩(wěn)度高,但是響應速度慢。正常工作時,α取0~1之間的值,具體大小可根據工程實際試驗得出。
圖3是基于滑動濾波算法的數字AGC的數字信號處理(DSP)程序流程圖,其中AGC樣本為接收機正交數字下變頻后I、Q兩路信號的模值,在本應用中采用了將一定范圍內數據取最大值的方法獲得供比較的輸出So,這樣可以保守地保證在AGC作用范圍內,輸出數據均不會超出幅度范圍。
根據上一節(jié)對數字AGC工作原理的分析,知道α的值的大小對系統的性能影響很大,所以在實際工程實現的過程中,需要根據實際情況確定α值的大小。本設計應用中為了兼顧響應速度、過沖、穩(wěn)態(tài)的平穩(wěn)度,采用了變α的方法,即在不同階段使用不同的α值,準則是根據期望值與輸出的差值e的絕對值大小來決定α的大小。當e的絕對值較大時,說明輸出值與期望值相差較大,此時的主要矛盾是響應速度,所以在這個階段采用較大的α值,使其快速逼近期望值;當e的絕對值變小后,說明輸出值與期望值相差已經變小,此時的主要矛盾是收斂后的平穩(wěn)度,所以在這個階段采用較小的α值,使其在期望值處起伏較小。
圖3 AGC工作流程圖
仿真參數:輸入信號為幅度-100~+100,以0為中心,起伏變化的正弦信號(中頻信號);起伏模型符合Swerling2型[4];回波幅度服從瑞利分布;濾波系數α為0.01;期望值為60。
經過Matlab仿真后的輸入與輸出波形對比如圖4所示,輸入信號幅值起伏變化時,對輸出影響較小,輸出信號的幅值沒有跟隨輸入信號幅值起伏而起伏,而是一直穩(wěn)定在期望值60。
圖4 AGC輸入信號與輸出信號
仿真參數:輸入信號為幅值為50的階躍信號源,α分別為0.1、0.5、0.8和1.5,期望值為10。
經過Matlab仿真后的響應曲線如圖5所示,從圖中可以看出,隨著α的增大,響應曲線越來越陡,即對相同輸入,輸出值收斂速度越來越快,但是當α>1后,輸出曲線出現過沖,且收斂過程中振蕩時間變長,最終的收斂時間反而沒有α較小時快。
圖5 響應速度與濾波系數的關系
通過以上分析,基于滑動濾波的數字AGC不依賴過多的樣本存儲,算法簡單;根據不同的實際應用,調節(jié)濾波系數α,便可實現對收斂速度快、穩(wěn)定度等指標的調節(jié);在雷達應用中,對于幅度起伏快速的目標回波,收斂快速,對回波幅度閃爍起到很好的抑制作用。
[1]丁鷺飛,耿富錄.雷達原理[M].西安:西安電子科技大學出版社,1997.
[2]Mahafza Bassem R,Elsherbeni Atef Z.雷達系統設計MATLAB仿真[M].朱國富,黃曉濤,黎向陽,李悅麗譯.北京:電子工業(yè)出版社,2009.
[3]韓堯,秦開宇,彭啟琮.基于數字補償的實時自動增益控制技術研究[J].電子科技大學學報,2007,36(1):79-81.
[4]喻斌,陳軍波,李青俠.數字 AGC的分析和設計[J].桂林電子工業(yè)學院學報,2003(5):35-37.