陳 麗,傅興華
(1.中國(guó)電子科技集團(tuán)公司第五十四研究所,河北石家莊050081;2.河北遠(yuǎn)東通信系統(tǒng)工程有限公司,河北石家莊050200)
在數(shù)字接收機(jī)中,動(dòng)態(tài)范圍是衡量其性能的重要指標(biāo)之一[1,2]。為了增大動(dòng)態(tài)范圍,通常在設(shè)備中加入自動(dòng)增益控制(AGC)電路。AGC電路是一種在輸入信號(hào)幅度變化很大的情況下,使其輸出信號(hào)幅度保持恒定或在很小范圍內(nèi)變化的自動(dòng)增益控制電路[3]。
與傳統(tǒng)的模擬AGC相比,數(shù)字AGC利用數(shù)字信號(hào)處理精度高的特點(diǎn)[4],使系統(tǒng)具有快速收斂和精確穩(wěn)態(tài)響應(yīng)等優(yōu)點(diǎn)。但在實(shí)時(shí)數(shù)字信號(hào)處理中多采用定點(diǎn)運(yùn)算。因此,同時(shí)實(shí)現(xiàn)大動(dòng)態(tài)范圍和精細(xì)的增益調(diào)整是數(shù)字AGC設(shè)計(jì)的難點(diǎn)。
介紹了一種在全數(shù)字接收機(jī)中實(shí)現(xiàn)的大動(dòng)態(tài)范圍、精細(xì)增益調(diào)整步進(jìn)、短響應(yīng)時(shí)間且各參數(shù)獨(dú)立可控的數(shù)字AGC。
數(shù)字AGC采用一階系統(tǒng),其電路模型如圖1所示。圖1中,K為開(kāi)環(huán)放大倍數(shù);KH為反饋系數(shù),該系統(tǒng)的閉環(huán)傳遞函數(shù)φ(s)為:
圖1 數(shù)字AGC的數(shù)學(xué)模型
AGC實(shí)現(xiàn)方案采用一階環(huán)路系統(tǒng),其原理如圖2所示,圖2中詳細(xì)介紹了各個(gè)模塊的實(shí)現(xiàn)方案。
圖2 數(shù)字AGC實(shí)現(xiàn)方案
采樣數(shù)據(jù)經(jīng)過(guò)正交數(shù)字下變頻、濾波抽取后到達(dá)AGC模塊的輸入端。輸入AGC模塊的I、Q數(shù)據(jù)首先經(jīng)過(guò)AGC乘法器/移位器進(jìn)行倍數(shù)增益控制,同時(shí)輸出這組數(shù)據(jù);然后對(duì)數(shù)據(jù)進(jìn)行坐標(biāo)變換得到信號(hào)幅度模值,并將此模值進(jìn)行對(duì)數(shù)轉(zhuǎn)換后送入AGC誤差檢測(cè)器;在誤差檢測(cè)器中,經(jīng)過(guò)與設(shè)置的標(biāo)準(zhǔn)幅門(mén)限值對(duì)比得到原始誤差,并將原始誤差送入誤差定標(biāo)器中;在誤差定標(biāo)器中,根據(jù)設(shè)置的各種定標(biāo)系數(shù),得到定標(biāo)后的誤差,將定標(biāo)后的誤差送入環(huán)路濾波器;定標(biāo)誤差在環(huán)路濾波器的累加器中經(jīng)過(guò)累加,濾去了毛刺和高頻信息,使積分誤差保持相對(duì)穩(wěn)定,最終將這個(gè)對(duì)數(shù)積分誤差轉(zhuǎn)換為倍數(shù)增益,提供給下一對(duì)I、Q數(shù)據(jù)使用。
下面詳細(xì)介紹各個(gè)模塊的實(shí)現(xiàn)方法,并推導(dǎo)出該方案所能達(dá)到的技術(shù)指標(biāo)。
誤差檢測(cè)器的作用是計(jì)算誤差信號(hào),即用可設(shè)定的誤差檢測(cè)閾值減去坐標(biāo)變換模塊輸出的幅度值,然后將得到的誤差值輸出。誤差檢測(cè)閾值的控制字共16位,最高位為符號(hào)位,整數(shù)位2位,小數(shù)位13位。
誤差檢測(cè)設(shè)計(jì)有2種模式,即均值模式和中值模式,由1 bit控制字決定。常規(guī)信號(hào)處理時(shí)使用均值模式,此時(shí)誤差error=thred-mag;突發(fā)信號(hào)或TDMA信號(hào)處理時(shí)使用中值模式,此時(shí)誤差error=sign(thred-mag)。中值模式時(shí),計(jì)算得到的誤差只決定調(diào)整的方向,調(diào)整的增益是固定的,便于對(duì)突發(fā)信號(hào)的快速捕獲。
誤差定標(biāo)器的作用是根據(jù)輸入的誤差信號(hào)產(chǎn)生控制信號(hào)輸出[6],控制增益調(diào)整的快慢,因此,誤差定標(biāo)的系數(shù)決定了數(shù)字AGC環(huán)路的響應(yīng)時(shí)間和收斂速度。
誤差定標(biāo)器中設(shè)計(jì)了2組、4套可編程的定標(biāo)系數(shù)。系數(shù)選擇控制信號(hào)控制使用其中一組參數(shù)進(jìn)行誤差的定標(biāo),2組參數(shù)分別實(shí)現(xiàn)對(duì)信號(hào)的快速捕獲和精確跟蹤。每組參數(shù)還包括信號(hào)幅度上升和下降2套定標(biāo)系數(shù)。對(duì)于突發(fā)信號(hào),通過(guò)設(shè)計(jì)上升和下降時(shí)不同定標(biāo)系數(shù),實(shí)現(xiàn)信號(hào)從無(wú)到有時(shí)快速衰減,以及信號(hào)從有到無(wú)時(shí)的慢速衰落。實(shí)際使用中,根據(jù)不同的情況可以選擇上述4套定標(biāo)系數(shù)中的一個(gè)實(shí)現(xiàn)對(duì)誤差的定標(biāo)。
在定點(diǎn)運(yùn)算中位寬是受限的,為了擴(kuò)大定點(diǎn)數(shù)據(jù)的表示范圍,每套定標(biāo)系數(shù)設(shè)計(jì)了指數(shù)因子控制字E_scaling和尾數(shù)因子控制字M_scaling兩個(gè)環(huán)路因子控制字。尾數(shù)因子M_scaling是一個(gè)4 bit二進(jìn)制數(shù),表示范圍0~15,其對(duì)應(yīng)定標(biāo)系數(shù)范圍從0~0.937 5(即 15/16)。指數(shù)因子E_scaling也是一個(gè)4 bit二進(jìn)制數(shù),表示范圍0~15,對(duì)應(yīng)定標(biāo)系數(shù)范圍從2-15~20。因此,誤差定標(biāo)器中的系數(shù)為:
scaling=M_scaling×2-4×2-(15-E_scaling)。
累加器的作用是通過(guò)累加誤差定標(biāo)器送入的定標(biāo)后的誤差信號(hào)得到AGC的對(duì)數(shù)增益,經(jīng)過(guò)限制器后再將對(duì)數(shù)增益轉(zhuǎn)化為倍數(shù)增益輸出[6]。
進(jìn)入累加器之前每個(gè)輸出采樣點(diǎn)的增益調(diào)整可表示為:
上式的單位是dB,也就是說(shuō)累加器中累加的也是對(duì)數(shù)增益(dB),而最后送入AGC乘法器中的增益卻是倍數(shù)增益,所以要把對(duì)數(shù)增益轉(zhuǎn)化為倍數(shù)增益[7,8]。利用關(guān)系式20×log10(2)=6.02 dB ,即對(duì)數(shù)增益值每增加6.02 dB,相應(yīng)的線(xiàn)性增益值乘以2,最終將定標(biāo)后誤差轉(zhuǎn)換為線(xiàn)性倍數(shù)輸入乘法器和移位器模塊[9]。
乘法器/移位器的功能是將累加器輸出的倍數(shù)增益與輸入的I、Q數(shù)據(jù)相乘。
累加器輸出的倍數(shù)增益可分解為指數(shù)增益和尾數(shù)增益,分別用E_gain和M_gain兩個(gè)控制字表示,共18 bit,用于模塊中的乘法和移位運(yùn)算。其中E_gain控制字用4 bit表示,M_gain控制字用14 bit表示。
移位器用來(lái)對(duì)輸入信號(hào)提供指數(shù)增益[9],移位范圍0~15。因此,最小增益為0 dB,最大增益為6.02 ×15=90.3 dB,增益步進(jìn)為6.02 dB。
乘法器用來(lái)對(duì)輸入信號(hào)提供小數(shù)增益,表示范圍0~(214-1)/214。因此,最小增益0 dB,最大約為增益6.02 dB,增益步進(jìn)為6.02/214dB。
因此,移位器和乘法器可提供增益最大為96.32 dB,增益步進(jìn)最精細(xì)可達(dá) 6.02/214dB。
用Matlab對(duì)AGC性能進(jìn)行了仿真,仿真中,閾值門(mén)限設(shè)定為-12 dB,對(duì)應(yīng)輸出應(yīng)為2 057,實(shí)際的輸出取17~2 bit,所以實(shí)際輸出應(yīng)為2 057×4=8 228。信號(hào)幅度變化時(shí)仿真結(jié)果如圖3所示;另外,為方便后續(xù)的定點(diǎn)實(shí)現(xiàn),仿真中將累加器中是6 dB對(duì)數(shù)增益關(guān)系改為4 dB運(yùn)算,相當(dāng)于累加器模塊的開(kāi)環(huán)增益為1.5,且誤差定標(biāo)系數(shù)上升系數(shù)和下降系數(shù)均設(shè)置為0.005,因此一階系統(tǒng)的時(shí)間常數(shù)τ=0.007 5。AGC電路的瞬態(tài)工作特性如圖4所示。
圖3 信號(hào)幅度變化時(shí)數(shù)字AGC仿真結(jié)果
圖4 數(shù)字AGC瞬態(tài)工作仿真結(jié)果
從圖3的仿真結(jié)果看出,AGC模塊后的采樣數(shù)據(jù)能夠調(diào)整到指定的幅度,且可調(diào)整增益的動(dòng)態(tài)范圍達(dá)到了96.32 dB;時(shí)間常數(shù)τ為響應(yīng)曲線(xiàn)達(dá)到穩(wěn)態(tài)值 63.2% 時(shí)所用的時(shí)間[10,11],即仿真結(jié)果中第134個(gè)采樣點(diǎn),其對(duì)應(yīng)的τ約為0.007 46 s,與理論公式一致;圖4中,倍數(shù)增益中的指數(shù)部分因子和小數(shù)部分因子滿(mǎn)足對(duì)數(shù)與倍數(shù)變換關(guān)系。
在XC6VSX315T FPGA上實(shí)現(xiàn)了該方案設(shè)計(jì)的AGC電路。定標(biāo)系數(shù)因子E_scaling為 8,M_scaling為12,對(duì)應(yīng)的定標(biāo)系數(shù)為0.005 86,因此系統(tǒng)的時(shí)間常數(shù)τ約為0.008 79 s。從reset信號(hào)開(kāi)始,至響應(yīng)曲線(xiàn)達(dá)到穩(wěn)態(tài)值的63.2%[12],經(jīng)過(guò)了約110對(duì)采樣數(shù)據(jù),即對(duì)應(yīng)響應(yīng)時(shí)間為0.009 09 s,測(cè)試結(jié)果表明該數(shù)字AGC性能與理論設(shè)計(jì)一致。
經(jīng)多個(gè)工程測(cè)試證明,這種AGC實(shí)現(xiàn)技術(shù)具有收斂速度塊、易于實(shí)現(xiàn)、易于移植、占用硬件資源少和控制精度高等優(yōu)點(diǎn),并可根據(jù)實(shí)際需求對(duì)穩(wěn)定時(shí)間和控制精度等各個(gè)參數(shù)進(jìn)行調(diào)整。該技術(shù)大幅度提高了數(shù)字解調(diào)處理的動(dòng)態(tài)適應(yīng)范圍,完全能夠滿(mǎn)足工程設(shè)計(jì)指標(biāo)要求,適用于FPGA和DSP等多種嵌入式軟件的工程實(shí)現(xiàn)。
[1]諶 波,周 劼,王世練.約束時(shí)間常數(shù)大動(dòng)態(tài)數(shù)字AGC 的設(shè)計(jì)[J].通信技術(shù),2011,44(12):144-146.
[2]周 順,徐志軍,楊 田.數(shù)字中頻接收機(jī)中的數(shù)字AGC的設(shè)計(jì)與實(shí)現(xiàn)[J].軍事通信技術(shù),2008,29(1):38-40.
[3]賀 欣.寬帶大動(dòng)態(tài)AGC電路設(shè)計(jì)[J].電子設(shè)計(jì)工程,2012,20(8):167 -170.
[4]姚壽文,陳 漫.自動(dòng)控制理論基礎(chǔ)[M].北京:北京理工大學(xué)出版社,2006.
[5]彭曉霜,楊志敏,李式巨.對(duì)數(shù)自動(dòng)增益控制環(huán)路全數(shù)字實(shí)現(xiàn)[J].浙江大學(xué)學(xué)報(bào),2009,43(11):1 965 -1 969.
[6]姜 坤,王元?dú)J,趙成斌.一種改進(jìn)的數(shù)字AGC系統(tǒng)設(shè)計(jì)與仿真[J].科技導(dǎo)報(bào),2011,29(33):42 -46.
[7]隋占菊,路 雯.一種改進(jìn)型AGC的設(shè)計(jì)與實(shí)現(xiàn)[J].無(wú)線(xiàn)電工程,2010,40(12):61 -64.
[8]代 濤,馮 雷.基于FPGA的大動(dòng)態(tài)數(shù)控AGC系統(tǒng)設(shè)計(jì)[J].無(wú)線(xiàn)電通信技術(shù),2010,36(4):16 -18.
[9]常 鴻,田 龍,吳增印.一種用于接收微波的基帶數(shù)字 AGC 設(shè)計(jì)[J].空間電子技術(shù),2010,4(1):47-50.
[10]李志騫,李大鵬,單福悅.基于數(shù)字 AGC的控制算法[J].無(wú)線(xiàn)電工程,2012,42(6):58 -61.
[11]沈智翔,萬(wàn)明康,于宏毅.一種基于數(shù)字AGC的定點(diǎn)字長(zhǎng)控制算法研究與實(shí)現(xiàn)[J].微型機(jī)與應(yīng)用,2010,11(2):10 -13.
[12]劉 艷.基于 FPGA的大動(dòng)態(tài)范圍數(shù)字 AGC的實(shí)現(xiàn)[J].電子設(shè)計(jì)工程,2009,17(8):42-45.