摘 要:針對采用定點運算方式實現基于FPGA的波前控制運算過程中的有限字長效應,分析了由于系數量化對數字控制器的穩定性及系統性能造成的影響,計算出了符合控制器性能要求的系數量化字長。為運算過程中的舍入量化噪聲建立統計模型,計算出了滿足系統精度需要的乘法運算結果量化字長。仿真結果表明,當系數量化字長為15,乘法結果的量化字長為28 時,數字控制器能夠滿足系統要求。
關鍵詞:自適應光學;定點運算;波前控制算法;有限字長效應
中圖分類號:TP274 文獻標識碼:B
文章編號:1004-373X(2008)11-110-03
Precision and Word Length Analysis of Implementing Wave-front
Control Algorithm Using Fixed-point Arithmetic
TANG Duanwu1,2,WANG Chunhong1,ZHENG Wenjia1,2
(1.Institute of Optics and Electronics,Chinese Academy of Sciences,Chengdu,610209,China;
2.Graduate School,Chinese Academy of Sciences,Beijing,100039,China)
Abstract:In order to solve the finite word length effect of implementing wave-front control algorithm using fixed-point arithmetic based on FPGA technology,the influence to the stability and system performance of the digital controller caused by coefficients quantization is analyzed,word length quantizing the coefficients that meet the demand of the controller is calculated.Statistic model of the round-off noise in the operation is established,word length quantizing the multiplicative results that meet the precision required by the system is calculated.Simulation results show that digital controller can meet the system demand when the coefficients and multiplicative results quantization word length is 15 and 28 respectively.
Keywords:adaptive optics;fixed-point arithmetic;wave-front control algorithm;finite word length effect
自適應光學技術通過實時探測-控制-校正光學波前動態誤差,使光學系統具有克服動態干擾、保持良好性能的能力,其實質是一個以光學波前為控制對象的多路并行的實時控制系統[1]。波前控制運算是自適應光學的一個重要組成部分,它將復原運算得到的相位誤差電壓經過一定的控制算法進行運算,得到控制電壓。由于自適應光學系統對波前控制器的輸出結果有較高的精度要求,目前在實際系統中應用的波前控制運算大多是基于浮點DSP實現的[2,3]。隨著FPGA技術的發展,其高度的集成度、靈活性和在并行處理上的巨大優勢,使得將FPGA技術應用于實時波前處理機的設計成為目前國內外一些研究機構的研究熱點[4-7]?;贔PGA的波前控制運算的硬件實現是可以根據精度需要設定字長的,而如何選取字長則是一個需要考慮的問題。本文利用有限字長效應理論研究了這一問題。
1 自適應光學系統的波前控制算法
采用哈特曼傳感器和數字波前處理機的這一類自適應光學系統是純時間延遲的控制系統[8]。對于這類系統,通常采用簡單的比例-積分型控制器,就可以基本滿足控制要求。比例-積分型控制器實現簡單,但是相位滯后較大,加劇了自適應光學系統相位裕量不足的矛盾。另一類經典控制算法是相位超前-滯后校正控制算法,它是在簡單的比例積分器的基礎上加入若干相位超前-滯后校正器。
C(s)=Ks∏ni=1T1is+1T2is+1
(1)
式(1)是連續域控制器的傳遞函數,其中K是控制增益,T1i和T2i分別是微分和積分的時間常數。式(1)經過Z變換即可得到可以在數字計算機上實現的數字控制器C(z),數字控制器的脈沖傳遞函數為:
C(z)=∑Mk=0bkz-k1-∑Nk=1akz-k
(2)
上式中,ak,bk為數字控制器的系數。
2 定點運算中的有限字長效應
在用硬件實現式(2)所示的波前控制器時,由于所有的運算數據都只能用有限位的二進制數表示,因此不能不考慮有限字長效應對運算精度的影響。有限字長效應對運算精度的影響具體體現在三個方面,即輸入信號的量化誤差、系數的量化誤差、運算結果的量化誤差。對于波前控制器而言,輸入信號為數字計算機輸出的數字波前相位誤差,不存在輸入信號的量化誤差,需要考慮的是系數和運算結果的量化誤差。
2.1 系數的量化誤差對波前控制器的影響
系數的量化誤差使得脈沖傳遞函數的零點和極點在不同程度上偏離了原來的位置,從而使得系統函數的幅頻和相頻特性偏離了原來的要求,情況嚴重時將使得控制器變得不穩定。一般來說,對系數的靈敏度進行精確的分析是很困難的,通常都是利用仿真工具,對經過了系數量化的系統函數的頻率特性進行計算,并與期望的頻率特性進行比較,從而找到合適的量化比特數[9]。
當用直接Ⅰ型實現式(2)所表示的控制器時,系數ak和bk都將出現在信號流程圖中,其中ak將影響極點的位置。假設某個系數ar由于量化(舍入處理)引入誤差Δar后變成為r,即:
r=ar+Δar
(3)
于是,當Δar滿足式(4)時,將使得控制器的某個靠近單位圓的極點移動到單位圓上,使得控制器失去穩定[10]:
|Δar|=|1-∑Nk=1ak|
(4)
設b為控制器系數LSB(Least Significant Bit)所在的位置,則量化間隔q=2b,最大的舍入量化誤差不會大于q/2,因此當有如下的關系式成立時,系數的量化不會引起系統失去穩定:
q/2<|Δar|
(5)
根據式(5)就可以求出為保證控制系統穩定的系數LSB所在的位置,而根據系數的絕對值大小可以確定系數MSB(Most Significant Bit)所在的位置,由此可以確定保證系統穩定所需的量化字長。在此基礎上,利用Matlab計算出不同字長量化時系統的頻率特性曲線,并與期望的頻率特性進行比較,從而找到合適的量化字長。
2.2 運算結果的量化誤差在控制器輸出端產生的噪聲
定點數的乘法運算會引起字長的增加,因此必須對乘法運算的結果進行舍入或者截尾處理以限制字長。這樣在每一次的乘法運算后都會引入舍入或者截尾量化噪聲。對量化噪聲的分析通常都是基于這樣的幾個假定[10]:① 量化噪聲為白噪聲;② 各量化噪聲互不相關;③ 量化噪聲在自己的取值范圍內均勻分布;④ 量化噪聲與信號不相關。
式(2)所表示的波前控制器的量化噪聲統計模型如圖1所示。
圖1中,eb0(n)~ebM(n),ea1(n)~eaN(n)是對乘法運算的結果進行舍入量化所引入的量化噪聲,圖中的實心節點表示引入舍入量化噪聲,其實質是加法運算。x(n)為輸入信號,y(n)為信號x(n)在輸出端的響應,f(n)為量化噪聲在輸出端的總響應,由于量化噪聲與信號不相關,故輸出端總的響應w(n)為信號與量化噪聲在輸出端的響應之和,即:
w(n)=y(n)+f(n)
(6)
圖1 直接Ⅰ型波前控制器的量化噪聲統計模型
根據假設②,各量化噪聲互不相關,則控制器輸出總的噪聲f(n)為:
f(n)=∑Mi=0ebi(n)*hbi(n)+∑Ni=1eai(n)*hai(n)
(7)
hbi(n)和hai(n)分別為量化噪聲ebi(n)和eai(n)的作用點到控制器輸出端的單位沖激響應。前面已經指出,各量化噪聲互不相關,量化噪聲與信號也不相關。令x(n),ebi(n)(i=1,2,…,M),eai(n)(i=1,2,…,N)均為0,觀察圖1可知:
fb0(n)=eb0(n)+∑Ni=1akfb0(n-k)
(8)
上式中,fb0(n)為量化噪聲eb0(n)在控制器輸出端的響應。
因此:
hb0(n)=Z-111-∑Ni=1akz-k
(9)
同理可以得出:
前面已經指出,控制器的運算結果最后要輸出給DAC,得到高壓放大器所需的模擬電壓。而在實際系統中使用的DAC都是有限精度的(例如8 b,10 b,12 b等),只要由舍入量化噪聲引入的運算誤差對于DAC來說可以忽略,根據式(13)就可以得到波前控制運算結果乘積的量化間隔,從而確定量化字長。
3 理論分析的驗證
3.1 控制器系數的量化
根據以上的理論分析,我們針對61單元、有效子孔徑數為48、采樣頻率為2 900 Hz的自適應光學系統中進行了仿真驗證。數字控制器的脈沖傳遞函數為:
C(z)=0.230 3+0.002 9z-1-0.227 3z-21-1.853 0z-1+0.853 1z-2
(14)
控制器的兩個極點為z1=0.999,z2=0.854。
將式(14)的系數代入式(4)和式(5)可以求出系數LSB所在的位置b的最大值為-13。分母的系數中絕對值最大的是-1.853 0,因此用1位表示符號位,1位表示整數位,13位表示小數位,總共15 b可以保證控制器的穩定。分子的系數絕對值都不超過1,因此,用1位表示符號位,其余14 b為小數位。此時,波前控制器的脈沖傳遞函數為:
控制器的極點為z1=0.999 6,z2=0.853 4均在單位圓以內,即控制器穩定。
圖2所表示的是系數量化字長為15時控制器脈沖傳遞函數的頻率特性曲線和期望的頻率特性曲線,由該圖可以看出,量化字長為15時,經過了系數量化的控制器與量化前的控制器的頻率特性幾乎完全重合,即量化字長為15可以滿足系統要求。
3.2 控制運算乘法結果的舍入量化噪聲
下面計算系統由于舍入量化噪聲引入的誤差,運算前所有的數據都已經調整為定點純小數。由前面的分析可以知道,乘法運算結果的舍入量化噪聲的作用點到輸出端的單位沖激響應為:
h′(n)=Z-111-1.85302734375z-1+0.8530883790625z-2
=6.8372×0.9996nu(n)-5.8372×0.8534nu(n)
(16)
式中,u(n)為單位階躍響應。
圖2 期望和量化的控制器脈沖傳遞函數頻率特性曲線
由于系統采用的是12位、輸出電壓為±5 V的雙極性DAC,當舍入量化噪聲引入的誤差f(n)滿足式(17)時,輸出電壓的最大誤差為±10/4 096 V,這個誤差是由于DAC的轉換精度有限造成的,因此當舍入量化噪聲引入的誤差滿足式(17)時,可以認為量化字長滿足了運算精度的要求。
|f(n)|max<2-12(17)
設經過了舍入量化的乘法運算結果的量化字長為L+1位(首位為符號位,小數部分有L位),則:
q=2-L
(18)
由式(13),式(16),式(17),式(18)可以求出L取27可以滿足精度要求,再加上一位符號位,乘法運算的結果總共需要28位。
在Xilinx公司的集成開發環境ISE下用VHDL語言實現了波前控制算法,運算方式為定點運算,乘法運算結果的量化字長為28位。采集200幀相位誤差作為控制器的輸入,每幀相位誤差有63路,總共是12 600路相位誤差數據,輸出控制電壓數據的總數也是200幀共12 600路。輸入數據事先寫入存儲器中,輸出數據則通過調用VHDL預先定義的文本輸入輸出包集合TEXTIO中的寫文件語句寫入到磁盤文件中。同時用Matlab對相同的200幀相位誤差數據的輸出結果進行了計算,由于Matlab采用的是64位雙精度浮點運算,精度非常高,可以認為是理想值。將用定點運算和雙精度浮點運算得到的數據經過舍入處理為12位后的結果進行了比較,結果發現,在12 600路控制電壓數據中,僅有9路出現了誤差,并且誤差電壓值都為±10/4 096 V,與理論分析的結果一致。
4 結 語
由于硬件實現中的有限字長效應,定點運算得到的結果與理想值之間必然存在著誤差,量化字長越大,量化噪聲越小,控制電壓的運算結果越精確。本文根據理論計算并結合仿真工具分析表明,當控制器系數的量化字長取為15位時,控制器不會失去穩定,并且控制器的頻率特性與期望的頻率特性幾乎完全符合。當乘法運算的結果量化字長為28位時,控制電壓的誤差不超過±10/4 096 V。
參 考 文 獻
[1]姜文漢.自適應光學技術進展[M].成都:四川科學技術出版社,2007.
[2]王春鴻,榮志鈞,李梅,等.37單元自適應光學系統實時波前處理[J].光電工程, 1995,22(1):5-7.
[3]Goodsell S J,Meyers R M,Clark P,et al.The Real-time [LL]Control System of NAOMI[J].Proc.SPIE,2004.
[4]Sauter C D,Love G D,Jhons M,et al.FPGA Technology for High Speed,Low Cost Adaptive Optics[J].Proc.SPIE,2005.
[5]Goodsell S J,Fedrigo E,Deeper N A,et al.FPGA Developments for the SPARTA Project[J].Proc.SPIE,2005.
[6]周璐春,王春鴻,李梅,等.基于FPGA技術的波前斜率處理方法[J].光電工程,2002,29(3),28-31.
[7]王彩霞,李梅,王春鴻,等.用脈動陣列實現實時波前復原處理[J].光電工程,2004,31(3):1-3,15.
[8]李新陽,姜文漢.自適應光學控制系統的有效帶寬分析[J].光學學報,1997,17(12):1 697-1 702.
[9]A V奧本海姆,R W謝弗,J R巴克.離散時間信號處理[M].劉樹棠,黃建國,譯.西安:西安交通大學出版社,2001.
[10]姚天任,江太輝.數字信號處理[M].武漢:華中科技大學出版社,2000.
作者簡介 唐端午 男,1982年出生,碩士研究生。主要從事自適應光學系統實時波前處理機設計。
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。