基于FPGA的大動態(tài)數(shù)控AGC系統(tǒng)設計
隨著軟件無線電技術和FPGA、DSP、AD 等技術的高速發(fā)展,數(shù)字接收機的應用日益廣泛。為了擴大數(shù)字接收機的ADC 動態(tài)范圍,廣泛采用了自動增益控制(AGC) ,使接收機的增益隨著信號的強弱進行調整,其性能的好壞直接影響著接收機能否高質量穩(wěn)定接收。傳統(tǒng)的AGC 電路大都采用模擬電路,但由于模擬AGC 缺乏智能性,難以實現(xiàn)復雜的控制算法,且精度不高,調試復雜。這里介紹了一種基于FPGA 和數(shù)控VGA 芯片AD8370 的數(shù)字自動增益控制的實現(xiàn)方法,實時地調整中頻接收機的增益,大大增強了系統(tǒng)的動態(tài)范圍。
1 數(shù)控AGC 實現(xiàn)方法
數(shù)控AGC 原理框圖如圖1 所示,在信號數(shù)字化后,根據(jù)樣本估計出信號功率,與參考值比較后,反饋控制前端的數(shù)控VGA 芯片,將信號輸出調整到ADC 的滿量程附近,以獲得全程數(shù)字量化和最大輸出信噪比。
圖1 AGC 環(huán)路框圖
要實現(xiàn)AGC 控制,必須先檢測信號幅度或功率的估計值,通過正交I/Q 的均方值即I2+ Q2 精確得到AGC 信號功率,其中I、Q 為同相正交2 支路的符號峰值采樣點數(shù)據(jù)。計算機仿真表明,當信號以每符號4 采樣點進行統(tǒng)計平均估計時,得到的估計值與定時恢復無關,即I、Q 值不必為最佳采樣點。
由于輸入信號的幅度通常是緩慢變化的,故可通過一段時間樣值的累加進行一次估計,通常將累加值與參考值相比,得到AGC 需放大或縮小的倍數(shù)。在這里,將除法運算改為對數(shù)運算后的減法實現(xiàn),通過與參考值的比較,直接對應需放大或縮小的dB數(shù)。再通過查表,轉化為數(shù)控VGA 芯片的控制字,反饋至前端。這與模擬AGC 相比,由于反饋部分的主要功能由數(shù)字方法實現(xiàn),使得復雜的控制要求用數(shù)字信號處理技術能夠較容易的實現(xiàn),且具有快速收斂和精確的穩(wěn)態(tài)響應等優(yōu)點。
2 計算機仿真
在Matlab 中,首先生成PN 9 的偽隨機碼作為基帶信號。進行格雷碼的預差分編碼和成型濾波,上變頻、加噪、下變頻后得到正交和同相2 路基帶信號:
式中,△ω為載波頻偏,θ0 為載波相位,則:
仿真中,設置其中信噪比為12 dB,中頻為70 MHz,符號率2 Mbps,采樣率為64MHz,抽取率為8,信號功率估計時累積長度為1 024 點,即256 個符號。[!--empirenews.page--]
調整前采樣所得的中頻信號如圖2 所示。其中前4 000 點的信號放大倍數(shù)為1,4 001 至9 000 點的信號放大倍數(shù)為10,9 000 點之后的放大倍數(shù)為20,即信號幅度有2 次變化,需通過AGC 進行調整,使信號幅度保持恒定。圖2( a) 為AGC 調整后的中頻信號,其中調整的參考值為前4 000點信號的功率,可以看出在4 000和9 000附近信號有一段抖動,這是調整所需的相應時間; 下圖為AGC 的放大倍數(shù),同樣的,在4 000和9 000點產(chǎn)生了跳變,以響應信號幅度的變化,其中前4 000點的放大倍數(shù)為1,4 001至9 000點的放大倍數(shù)變?yōu)?. 1,而9 000點之后則為0. 05。另外根據(jù)仿真結果,信號功率估計值最大偏差小于1 dB,因此,該估計算法和調整控制是準確有效的。
圖2 調整前后的信號及放大倍數(shù)[!--empirenews.page--]
3 硬件實現(xiàn)
硬件方案的具體實現(xiàn)如圖3 所示。上面為信號處理板卡,下面為中頻執(zhí)行板卡。其中控制板卡上AD 轉換由AD9640 芯片完成,輸入信號的峰峰值可設置范圍為1~ 2 V,本系統(tǒng)初始化為2 V; 控制部分在FPGA XC4VLX100 中完成,以產(chǎn)生時鐘、使能和數(shù)據(jù)三線控制信號; 作為環(huán)路執(zhí)行元件的是前端中頻板上的AD8370,其控制功率增益范圍為- 11~ + 34 dB; 3 dB帶寬為750 MHz; 串行的8 bit 控制信號接口; 提供200Ω差分輸入和100Ω差分輸出。由于本方案動態(tài)范圍需達60 dB,故采用了2 級AD8370 級聯(lián),為了讓系統(tǒng)工作穩(wěn)定,設計時應使2 級的放大倍數(shù)盡量接近,以避免第2 級出現(xiàn)飽和,因此在將調整的倍數(shù)轉化為AD8370 控制字時,需特別注意。
圖3 硬件測試板卡
系統(tǒng)由微波信號源4438C 產(chǎn)生中頻70 MHz、比特率4 Mbps 的QPSK 信號,采樣時鐘64 MHz,由前端中頻部分的DDS 產(chǎn)生,系統(tǒng)抽取率仍為8,由DDC后的CIC 完成。
實現(xiàn)中,I、Q 兩路的均方值由FPGA 中乘法器DSP48 求取,累加器完成均方值的累加,而累加樣本點的個數(shù)直接決定了控制調整的相應速度,累加長度太長會使相應速度變慢,無法跟上信號的變化; 但長度太短又會使估計的功率值不準,起伏太大從而引起控制精度的下降,通過實測發(fā)現(xiàn)通常數(shù)百符號即可得出較準確的信號功率估值,因此對符號率百K 以上量級的信號而言可以在數(shù)毫秒甚至更短的時間內完成信號的精確調整。本系統(tǒng)設置為1 ms 進行一次調整,即2 048 個符號得到一次估計值。此外,求對數(shù)運算以及信號需調整的倍數(shù)到控制字的轉換都通過查表實現(xiàn),其中增益控制字查找表的可實現(xiàn)增益為- 13~ + 60 dB,其深度為4 096,即每1 dB的變化對應56 個步進,可實現(xiàn)最小0. 02 dB的調整,因此結合之前的準確估計一起實現(xiàn)了較高的控制精度。
為避免低信噪比情況下AD 長時間工作在溢出狀態(tài),系統(tǒng)設置的參考值設計為比AD 滿量程小2 dB左右。經(jīng)測試,當4 dBm 的QPSK 信號直接輸入AD 時,AD 采集信號的量化值為# 6 000 左右,距14位滿量程對應的# 8 192 約2 dB,故以此功率為參考。如圖4 所示,橫軸為輸入信號功率,縱軸為AGC的增益。理論上2 級AD8370 級聯(lián)能實現(xiàn)90 dB 的動態(tài),但實測中,在信噪比10 dB 條件下,單級在- 7~ + 28 dB 范圍,2 級聯(lián)合在- 14~ + 56 dB時,其線性性較好,故在本系統(tǒng)中實現(xiàn)了近70 dB的動態(tài)范圍。
圖4 輸入信號強度及對應的AGC 增益
4 結束語
首先介紹了數(shù)控AGC 的原理,指出AGC 的數(shù)字實現(xiàn)方法的優(yōu)點。在此基礎上,對功率檢測以及反饋控制方法進行了計算機仿真,結果表明,該方法是可行的,適合FPGA 實現(xiàn)。在硬件實現(xiàn)中,通過2級AD8370 級聯(lián)實現(xiàn)了近70 dB 的動態(tài)范圍變化,并保證了控制精度誤差小于1 dB。