王軍艷, 李懷金
(國防大學(xué) 信息工程學(xué)院,北京 100094)
在無線通信系統(tǒng)中,由于信道的時變特性,接收機輸入端的信號強度有很大的變化,接收機普遍采用了自動增益控制(AGC)電路。AGC電路監(jiān)測接收信號強度,控制接收機的增益使其隨接收信號的強弱進行調(diào)整,信號強時降低增益,信號弱時提高增益。雖然接收機輸出的信號已經(jīng)進行了自動增益控制,但是在分集合并系統(tǒng)中,經(jīng)過分集合并后的信號仍有一定的動態(tài)范圍,為保持輸出電平恒定,以滿足后續(xù)電路的要求,還必須增加DAGC。DAGC電路一般由可變增益放大器(VGA)和反饋回路組成。幅度檢測電路從VGA的輸出信號中提取幅度信息,并與預(yù)設(shè)參考電平比較,比較的差值經(jīng)過低通濾波之后用來調(diào)節(jié)VGA的增益,當輸入VGA的信號幅度變化時,通過反饋回路控制其增益變化以維持輸出信號幅度相對不變。
文中所設(shè)計的DAGC電路應(yīng)用在無線突發(fā)信號中,因此DAGC電路應(yīng)當具有快的捕獲時間以保證信號能夠快速捕獲以減少數(shù)據(jù)冗余,為解決捕獲時間與穩(wěn)態(tài)響應(yīng)之間的矛盾。文中設(shè)計的以FPGA實現(xiàn)的DAGC框圖如圖1所示。
圖1中Si(k)為輸入信號,So(k)為調(diào)整幅度后的輸出信號,Amp為調(diào)整幅度后信號幅度值,E_AMP為期望信號幅度,Err為當前信號幅度與期望信號幅度差值,Gain為當前環(huán)路增益值,Lock為環(huán)路鎖定指示。文中將詳細介紹DAGC各個模塊的實現(xiàn)方法,并對各個模塊的性能作詳細分析。

圖1 DAGC框
如圖1所示,幅度檢測模塊負責對輸出信號進行幅度檢測,本無線接收系統(tǒng)接收的信號為PSK信號,根據(jù)PSK信號特點其幅度計算公式為:

式中,A為信號幅度,I為同相支路信號模值,Q為正交支路信號模值。由式(1)可見,要精確計算PSK信號幅度需要用到開平方運算,而在FPGA中不易實現(xiàn)開平方運算,即使實現(xiàn)開平方運算所用的邏輯資源也太多,下面來推導(dǎo)適合FPGA實現(xiàn)的簡化算法。
A=(1+x)m的泰勒級數(shù)展開式如下[1]:

根據(jù)上式可得:

將式(1)化簡可得:



進一步化簡可得:

在FPGA中對I、Q路信號的求模運算可以通過取反運算來實現(xiàn),除2的運算可以通過移位來實現(xiàn)。
誤差提取模塊負責檢測當前信號幅度與期望信號幅度之間的差值,因為幅度檢測模塊采用近似計算的方法,又加上存在噪聲干擾,因此為保證環(huán)路正常工作的信噪比輸入,必須對誤差信號進行平滑濾波。文中采用滑動窗口對誤差進行濾波,其運算公式為:

滑動平均的計算方框圖如圖2所示。

圖2 FPGA實現(xiàn)的滑動平均計算方法1
為節(jié)約FPGA資源N應(yīng)當選擇為2的冪,這樣除法操作可以通過移位運算來實現(xiàn)。為進一步節(jié)約資源可以將除法運算放到延時存儲器之前,如圖3所示,但是這樣會損失一定的精度。

圖3 FPGA實現(xiàn)的滑動平均計算方法2
框圖中的延時存儲鏈可以用FPGA中的D觸發(fā)器來實現(xiàn),但其占用邏輯資源太多;若采用FPGA內(nèi)部RAM實現(xiàn)則可以大大節(jié)省邏輯資源,因此文中的延時存儲鏈采用片內(nèi)RAM實現(xiàn)。其產(chǎn)生方法如下:
1) 點擊Tools->MegaWizard Plug-In Manager。
2) 在隨后出現(xiàn)的對話框內(nèi)點擊Create a new custom megafunction variation,點擊Next。
3) 在隨后出現(xiàn)的對話框內(nèi)填寫要生成的延時存儲鏈的名字,在左側(cè)欄內(nèi)選擇Memory compiler->Shift register(RAM-based),點擊Next。
4) 在隨后出現(xiàn)的對話框內(nèi)進行相應(yīng)的設(shè)置,點擊Finishe即可生成延時存儲鏈。
選擇延時存儲鏈的長度N即可計算長度為N的誤差平均。
為解決捕獲時間與環(huán)路跟蹤性能和抗噪聲性能之間的矛盾,可以采用減小起始幅差法,變帶寬法,變增益法等。
減小起始幅差法是在捕獲階段估計信號幅度與目標幅度之間的差值,給數(shù)字環(huán)路濾波器中的積分支路配置初始值,使當前幅差與目標幅度之間的差值減小,通過環(huán)路的牽引作用,可以使環(huán)路快速鎖定。
變帶寬和變增益法是使用兩種不同的環(huán)路帶寬或增益[3-4],在捕獲時采用較大的環(huán)路帶寬或增益,擴大捕獲帶、減小捕獲時間;環(huán)路鎖定后再減小環(huán)路帶寬或增益,滿足環(huán)路跟蹤性能和抗噪聲性能要求。在采用變帶寬法時必須保證環(huán)路工作在門限值上,否則環(huán)路捕獲將不可能,因此變帶寬法適用于輸入信噪比較高的情況。
文中采用一階IIR數(shù)字低通濾波器對變增益和變帶寬法作出分析。
文中采用的低通濾波器實現(xiàn)框圖如圖4所示。

圖4 一階IIR數(shù)字低通濾波器框
圖4中G1為直通支路增益系數(shù),G2為積分支路增益系數(shù),K為直流放大倍數(shù)。
數(shù)字環(huán)路濾波器與模擬濾波器一樣,都是為了抑制高頻分量及噪聲,濾波器的參數(shù)直接影響環(huán)路的性能。根據(jù)圖4可得文中所應(yīng)用的數(shù)字濾波器的z域傳遞函數(shù)為:

另 z = ejω,代入式(9)并化簡可得[2]:

文中選用的濾波器參數(shù)為:采用變增益法時,在捕獲與跟蹤階段的濾波器參數(shù)G1和G2不變且G1=1,G2=1/2^5,K在捕獲與跟蹤階段分別為:捕獲階段K=1/2^13;跟蹤階段K=1/2^16。采用變帶寬法時采用的濾波器參數(shù)為G1=1/2^3;G2=1/2^10;K=1/2^13。
應(yīng)用上述參數(shù),根據(jù)式(10)在MATLAB6.5中通過仿真可得出此數(shù)字濾波器在捕獲階段和跟蹤階段的幅頻響應(yīng)如圖5所示。

圖5 環(huán)路濾波器的幅頻響應(yīng)
由圖5可以看出,改變環(huán)路增益K或環(huán)路帶寬后濾波器對噪聲的濾除能力增強,因而跟蹤性能變好。
在改變環(huán)路增益K或環(huán)路帶寬時應(yīng)保證無縫切換,即保證切換后環(huán)路放大倍數(shù)維持不變,下面以變增益法為例推倒無縫切換時應(yīng)當采取的操作。
設(shè)累加器在k時刻輸出為Err_acc(k),則在k時刻的環(huán)路放大倍數(shù)如下:

設(shè)在捕獲階段和跟蹤階段的環(huán)路放大倍數(shù)分別為Gain1(k)和Gain2(k),直流放大倍數(shù)分別為K1和K2,累加器輸出分別為Err_acc1(k)和Err_acc2(k)則有:

為保證無縫切換,必須使切換后Gain1(k) =Gain2(k),又切換時環(huán)路已經(jīng)處于鎖定狀態(tài),有:

根據(jù)上式可得:

上式可以擴展到變帶寬的情況,設(shè)積分支路捕獲參數(shù)和跟蹤參數(shù)分別為G21和G22,可得:

由上式可知變增益法只是變帶寬法在G21 = G22的一種特殊情況。
在FPGA中可控增益放大器可以通過有符號乘法器來實現(xiàn)。有符號乘法器可以通過Quartus宏來生成,生成方法可以參照延時存儲鏈的生成方法。在DAGC應(yīng)用中增益值僅需要正值,因此需要對低通濾波模塊輸出的增益值進行了有符號數(shù)到無符號數(shù)的轉(zhuǎn)換,文中采用的增益值用16比特表示,將低通濾波模塊輸出的增益值加上0X“8000”即可完成有符號數(shù)到無符號數(shù)轉(zhuǎn)換,為標識正數(shù)需要在生成的無符號增益值前添加1比特零。
環(huán)路工作有兩個狀態(tài),失鎖狀態(tài)和鎖定狀態(tài),當環(huán)路在失鎖狀態(tài)時環(huán)路應(yīng)采用捕獲參數(shù)來完成對信號的快速捕獲,當環(huán)路在鎖定狀態(tài)時環(huán)路應(yīng)采用跟蹤參數(shù)來完成對信號的穩(wěn)態(tài)跟蹤,失鎖檢測電路檢測當前環(huán)路狀態(tài),給出當前環(huán)路狀態(tài)指示并將該指示發(fā)送給數(shù)字低通濾波器模塊,數(shù)字低通濾波器模塊根據(jù)鎖定指示改變環(huán)路增益或帶寬。其實現(xiàn)框圖如圖6所示。

圖6 失鎖判定模塊
脈沖產(chǎn)生器每鑒幅1 000次產(chǎn)生一個lock_en信號,該信號分別送往隨機徘徊濾波器用來清零隨機徘徊濾波器輸出和判定邏輯用以激發(fā)一次鎖定判斷。文中采用的鑒幅速率為1/38400 s,因此失鎖判定模塊靈敏度為1000/38400 s = 26.04 ms。
普通比較器輸出用以產(chǎn)生鎖定指示,遲滯比較器輸出用以產(chǎn)生失鎖指示。
環(huán)路處于失鎖狀態(tài)時希望環(huán)路能夠快速將輸入信號幅度調(diào)整至期望幅度E_AMP,因此設(shè)定普通比較器工作方式如下,當信號幅度高于E_AMP時普通比較器輸出“01”,當信號幅度低于E_AMP時普通比較器輸出“11”,否則輸出“00”。
環(huán)路處于鎖定狀態(tài)時希望環(huán)路輸出能夠滿足后續(xù)電路要求,根據(jù)后續(xù)電路要求,輸出信號在期望電平正負3 dB內(nèi)能夠穩(wěn)定工作,因此設(shè)定遲滯比較器高門限和低門限分別為E_AMP/2和E_AMP*2,當信號幅度高于高門限時遲滯比較器輸出“01”,當信號幅度低于低門限時遲滯比較器輸出“11”,否則輸出“00”。
文中的隨機徘徊濾波器由鎖定判定計數(shù)器和失鎖判定計數(shù)器兩個雙向計數(shù)器組成,當lock_en為高電平時清零兩個計數(shù)器,否則當普通比較器輸出“01”時鎖定判定計數(shù)器加1,當普通比較器輸出“11”時鎖定判定計數(shù)器減1,當普通比較器輸出“00”時鎖定判定計數(shù)器維持當前值不變,當環(huán)路鎖定時鎖定判定計數(shù)器值應(yīng)在零值附近,鎖定判定邏輯可以如此設(shè)定,當鎖定判定計數(shù)器絕對值小于200時認為環(huán)路鎖定,失鎖判定計數(shù)器工作方式與鎖定判定計數(shù)器工作方式相同,失鎖判定邏輯可以如此設(shè)定,當失鎖判定計數(shù)器絕對值大于800時認為環(huán)路失鎖,為便于調(diào)試可以設(shè)定此值可通過串口配置,以便找出最佳的鎖定及失鎖判定計數(shù)器的值。
為觀測DAGC捕獲時間,將低通濾波器輸出的增益值通過AD1851觀察,在示波器上通過觀察DA輸出波形即可測量DAGC捕獲時間。DA輸出的波形如圖7所示。

圖7 DAGC捕獲過程
通過示波器觀察控制電壓可以測量DAGC收斂時間,示波器時間軸每格時間為50 ms,經(jīng)測試DAGC收斂時間t<100 ms。
DAGC環(huán)路在無線通信中有著至關(guān)重要的作用,研究實現(xiàn)具有良好的捕獲和跟蹤性能的DAGC具有重要的意義,通過增加數(shù)字自動增益控制環(huán)路(DAGC),基本實現(xiàn)了接收機輸出的信號經(jīng)過分集合并后仍保持輸出電平恒定,滿足了后續(xù)電路的要求[5-7]。文中研究了幅度檢測模塊設(shè)計、誤差提取模塊設(shè)計、低通濾波器設(shè)計、可控增益放大器的實現(xiàn)以及失鎖檢測電路,并在FPGA中實現(xiàn)了具有較好捕獲和跟蹤性能的DAGC, 經(jīng)測試DAGC收斂時間t<100 ms,通過在實際系統(tǒng)中應(yīng)用,檢驗效果良好。
[1] 同濟大學(xué)教研室.高等數(shù)學(xué)[M].北京:高等教育出版社,2001:264-273.
[2] 丁玉美,高西全.數(shù)字信號處理[M].西安:西安電子科技大學(xué)出版社,2001:175-176.
[3] 張厥盛,鄭繼禹,萬心平.鎖相技術(shù)[M].西安:西安電子科技大學(xué)出版社,1994:85-92.
[4] 季仲梅,楊洪生,王大鳴,等.通信中的同步技術(shù)及應(yīng)用[M].北京:清華大學(xué)出版社,2008:90-91.
[5] 周學(xué)軍,董軍堂,雷s文禮,等.微波低通濾波器的分析與設(shè)計[J].通信技術(shù),2010,43(03):183-184.
[6] 諶波,周劼,王世練.約束時間常數(shù)大動態(tài)數(shù)字AGC的設(shè)計[J].通信技術(shù),2011,44(12):144-146.
[7] 張小莉.基于串口的DSP軟件下載設(shè)計與實現(xiàn)[J].信息安全與通信保密,2012(01):70-71.