摘 要:針對采用定點運算方式實現(xiàn)基于FPGA的波前控制運算過程中的有限字長效應(yīng),分析了由于系數(shù)量化對數(shù)字控制器的穩(wěn)定性及系統(tǒng)性能造成的影響,計算出了符合控制器性能要求的系數(shù)量化字長。為運算過程中的舍入量化噪聲建立統(tǒng)計模型,計算出了滿足系統(tǒng)精度需要的乘法運算結(jié)果量化字長。仿真結(jié)果表明,當(dāng)系數(shù)量化字長為15,乘法結(jié)果的量化字長為28 時,數(shù)字控制器能夠滿足系統(tǒng)要求。
關(guān)鍵詞:自適應(yīng)光學(xué);定點運算;波前控制算法;有限字長效應(yīng)
中圖分類號:TP274 文獻標(biāo)識碼: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
自適應(yīng)光學(xué)技術(shù)通過實時探測-控制-校正光學(xué)波前動態(tài)誤差,使光學(xué)系統(tǒng)具有克服動態(tài)干擾、保持良好性能的能力,其實質(zhì)是一個以光學(xué)波前為控制對象的多路并行的實時控制系統(tǒng)[1]。波前控制運算是自適應(yīng)光學(xué)的一個重要組成部分,它將復(fù)原運算得到的相位誤差電壓經(jīng)過一定的控制算法進行運算,得到控制電壓。由于自適應(yīng)光學(xué)系統(tǒng)對波前控制器的輸出結(jié)果有較高的精度要求,目前在實際系統(tǒng)中應(yīng)用的波前控制運算大多是基于浮點DSP實現(xiàn)的[2,3]。隨著FPGA技術(shù)的發(fā)展,其高度的集成度、靈活性和在并行處理上的巨大優(yōu)勢,使得將FPGA技術(shù)應(yīng)用于實時波前處理機的設(shè)計成為目前國內(nèi)外一些研究機構(gòu)的研究熱點[4-7]?;贔PGA的波前控制運算的硬件實現(xiàn)是可以根據(jù)精度需要設(shè)定字長的,而如何選取字長則是一個需要考慮的問題。本文利用有限字長效應(yīng)理論研究了這一問題。
1 自適應(yīng)光學(xué)系統(tǒng)的波前控制算法
采用哈特曼傳感器和數(shù)字波前處理機的這一類自適應(yīng)光學(xué)系統(tǒng)是純時間延遲的控制系統(tǒng)[8]。對于這類系統(tǒng),通常采用簡單的比例-積分型控制器,就可以基本滿足控制要求。比例-積分型控制器實現(xiàn)簡單,但是相位滯后較大,加劇了自適應(yīng)光學(xué)系統(tǒng)相位裕量不足的矛盾。另一類經(jīng)典控制算法是相位超前-滯后校正控制算法,它是在簡單的比例積分器的基礎(chǔ)上加入若干相位超前-滯后校正器。
C(s)=Ks∏ni=1T1is+1T2is+1
(1)
式(1)是連續(xù)域控制器的傳遞函數(shù),其中K是控制增益,T1i和T2i分別是微分和積分的時間常數(shù)。式(1)經(jīng)過Z變換即可得到可以在數(shù)字計算機上實現(xiàn)的數(shù)字控制器C(z),數(shù)字控制器的脈沖傳遞函數(shù)為:
C(z)=∑Mk=0bkz-k1-∑Nk=1akz-k
(2)
上式中,ak,bk為數(shù)字控制器的系數(shù)。
2 定點運算中的有限字長效應(yīng)
在用硬件實現(xiàn)式(2)所示的波前控制器時,由于所有的運算數(shù)據(jù)都只能用有限位的二進制數(shù)表示,因此不能不考慮有限字長效應(yīng)對運算精度的影響。有限字長效應(yīng)對運算精度的影響具體體現(xiàn)在三個方面,即輸入信號的量化誤差、系數(shù)的量化誤差、運算結(jié)果的量化誤差。對于波前控制器而言,輸入信號為數(shù)字計算機輸出的數(shù)字波前相位誤差,不存在輸入信號的量化誤差,需要考慮的是系數(shù)和運算結(jié)果的量化誤差。
2.1 系數(shù)的量化誤差對波前控制器的影響?yīng)?/p>
系數(shù)的量化誤差使得脈沖傳遞函數(shù)的零點和極點在不同程度上偏離了原來的位置,從而使得系統(tǒng)函數(shù)的幅頻和相頻特性偏離了原來的要求,情況嚴重時將使得控制器變得不穩(wěn)定。一般來說,對系數(shù)的靈敏度進行精確的分析是很困難的,通常都是利用仿真工具,對經(jīng)過了系數(shù)量化的系統(tǒng)函數(shù)的頻率特性進行計算,并與期望的頻率特性進行比較,從而找到合適的量化比特數(shù)[9]。
當(dāng)用直接Ⅰ型實現(xiàn)式(2)所表示的控制器時,系數(shù)ak和bk都將出現(xiàn)在信號流程圖中,其中ak將影響極點的位置。假設(shè)某個系數(shù)ar由于量化(舍入處理)引入誤差Δar后變成為r,即:
r=ar+Δar
(3)
于是,當(dāng)Δar滿足式(4)時,將使得控制器的某個靠近單位圓的極點移動到單位圓上,使得控制器失去穩(wěn)定[10]:
|Δar|=|1-∑Nk=1ak|
(4)
設(shè)b為控制器系數(shù)LSB(Least Significant Bit)所在的位置,則量化間隔q=2b,最大的舍入量化誤差不會大于q/2,因此當(dāng)有如下的關(guān)系式成立時,系數(shù)的量化不會引起系統(tǒng)失去穩(wěn)定:
q/2<|Δar|
(5)
根據(jù)式(5)就可以求出為保證控制系統(tǒng)穩(wěn)定的系數(shù)LSB所在的位置,而根據(jù)系數(shù)的絕對值大小可以確定系數(shù)MSB(Most Significant Bit)所在的位置,由此可以確定保證系統(tǒng)穩(wěn)定所需的量化字長。在此基礎(chǔ)上,利用Matlab計算出不同字長量化時系統(tǒng)的頻率特性曲線,并與期望的頻率特性進行比較,從而找到合適的量化字長。
2.2 運算結(jié)果的量化誤差在控制器輸出端產(chǎn)生的噪聲
定點數(shù)的乘法運算會引起字長的增加,因此必須對乘法運算的結(jié)果進行舍入或者截尾處理以限制字長。這樣在每一次的乘法運算后都會引入舍入或者截尾量化噪聲。對量化噪聲的分析通常都是基于這樣的幾個假定[10]:① 量化噪聲為白噪聲;② 各量化噪聲互不相關(guān);③ 量化噪聲在自己的取值范圍內(nèi)均勻分布;④ 量化噪聲與信號不相關(guān)。
式(2)所表示的波前控制器的量化噪聲統(tǒng)計模型如圖1所示。
圖1中,eb0(n)~ebM(n),ea1(n)~eaN(n)是對乘法運算的結(jié)果進行舍入量化所引入的量化噪聲,圖中的實心節(jié)點表示引入舍入量化噪聲,其實質(zhì)是加法運算。x(n)為輸入信號,y(n)為信號x(n)在輸出端的響應(yīng),f(n)為量化噪聲在輸出端的總響應(yīng),由于量化噪聲與信號不相關(guān),故輸出端總的響應(yīng)w(n)為信號與量化噪聲在輸出端的響應(yīng)之和,即:
w(n)=y(n)+f(n)
(6)
圖1 直接Ⅰ型波前控制器的量化噪聲統(tǒng)計模型
根據(jù)假設(shè)②,各量化噪聲互不相關(guān),則控制器輸出總的噪聲f(n)為:
f(n)=∑Mi=0ebi(n)*hbi(n)+∑Ni=1eai(n)*hai(n)
(7)
hbi(n)和hai(n)分別為量化噪聲ebi(n)和eai(n)的作用點到控制器輸出端的單位沖激響應(yīng)。前面已經(jīng)指出,各量化噪聲互不相關(guān),量化噪聲與信號也不相關(guā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)在控制器輸出端的響應(yīng)。
因此:
hb0(n)=Z-111-∑Ni=1akz-k
(9)
同理可以得出:
前面已經(jīng)指出,控制器的運算結(jié)果最后要輸出給DAC,得到高壓放大器所需的模擬電壓。而在實際系統(tǒng)中使用的DAC都是有限精度的(例如8 b,10 b,12 b等),只要由舍入量化噪聲引入的運算誤差對于DAC來說可以忽略,根據(jù)式(13)就可以得到波前控制運算結(jié)果乘積的量化間隔,從而確定量化字長。
3 理論分析的驗證
3.1 控制器系數(shù)的量化
根據(jù)以上的理論分析,我們針對61單元、有效子孔徑數(shù)為48、采樣頻率為2 900 Hz的自適應(yīng)光學(xué)系統(tǒng)中進行了仿真驗證。數(shù)字控制器的脈沖傳遞函數(shù)為:
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)的系數(shù)代入式(4)和式(5)可以求出系數(shù)LSB所在的位置b的最大值為-13。分母的系數(shù)中絕對值最大的是-1.853 0,因此用1位表示符號位,1位表示整數(shù)位,13位表示小數(shù)位,總共15 b可以保證控制器的穩(wěn)定。分子的系數(shù)絕對值都不超過1,因此,用1位表示符號位,其余14 b為小數(shù)位。此時,波前控制器的脈沖傳遞函數(shù)為:
控制器的極點為z1=0.999 6,z2=0.853 4均在單位圓以內(nèi),即控制器穩(wěn)定。
圖2所表示的是系數(shù)量化字長為15時控制器脈沖傳遞函數(shù)的頻率特性曲線和期望的頻率特性曲線,由該圖可以看出,量化字長為15時,經(jīng)過了系數(shù)量化的控制器與量化前的控制器的頻率特性幾乎完全重合,即量化字長為15可以滿足系統(tǒng)要求。
3.2 控制運算乘法結(jié)果的舍入量化噪聲
下面計算系統(tǒng)由于舍入量化噪聲引入的誤差,運算前所有的數(shù)據(jù)都已經(jīng)調(diào)整為定點純小數(shù)。由前面的分析可以知道,乘法運算結(jié)果的舍入量化噪聲的作用點到輸出端的單位沖激響應(yīng)為:
h′(n)=Z-111-1.85302734375z-1+0.8530883790625z-2
=6.8372×0.9996nu(n)-5.8372×0.8534nu(n)
(16)
式中,u(n)為單位階躍響應(yīng)。
圖2 期望和量化的控制器脈沖傳遞函數(shù)頻率特性曲線
由于系統(tǒng)采用的是12位、輸出電壓為±5 V的雙極性DAC,當(dāng)舍入量化噪聲引入的誤差f(n)滿足式(17)時,輸出電壓的最大誤差為±10/4 096 V,這個誤差是由于DAC的轉(zhuǎn)換精度有限造成的,因此當(dāng)舍入量化噪聲引入的誤差滿足式(17)時,可以認為量化字長滿足了運算精度的要求。
|f(n)|max<2-12(17)
設(shè)經(jīng)過了舍入量化的乘法運算結(jié)果的量化字長為L+1位(首位為符號位,小數(shù)部分有L位),則:
q=2-L
(18)
由式(13),式(16),式(17),式(18)可以求出L取27可以滿足精度要求,再加上一位符號位,乘法運算的結(jié)果總共需要28位。
在Xilinx公司的集成開發(fā)環(huán)境ISE下用VHDL語言實現(xiàn)了波前控制算法,運算方式為定點運算,乘法運算結(jié)果的量化字長為28位。采集200幀相位誤差作為控制器的輸入,每幀相位誤差有63路,總共是12 600路相位誤差數(shù)據(jù),輸出控制電壓數(shù)據(jù)的總數(shù)也是200幀共12 600路。輸入數(shù)據(jù)事先寫入存儲器中,輸出數(shù)據(jù)則通過調(diào)用VHDL預(yù)先定義的文本輸入輸出包集合TEXTIO中的寫文件語句寫入到磁盤文件中。同時用Matlab對相同的200幀相位誤差數(shù)據(jù)的輸出結(jié)果進行了計算,由于Matlab采用的是64位雙精度浮點運算,精度非常高,可以認為是理想值。將用定點運算和雙精度浮點運算得到的數(shù)據(jù)經(jīng)過舍入處理為12位后的結(jié)果進行了比較,結(jié)果發(fā)現(xiàn),在12 600路控制電壓數(shù)據(jù)中,僅有9路出現(xiàn)了誤差,并且誤差電壓值都為±10/4 096 V,與理論分析的結(jié)果一致。
4 結(jié) 語
由于硬件實現(xiàn)中的有限字長效應(yīng),定點運算得到的結(jié)果與理想值之間必然存在著誤差,量化字長越大,量化噪聲越小,控制電壓的運算結(jié)果越精確。本文根據(jù)理論計算并結(jié)合仿真工具分析表明,當(dāng)控制器系數(shù)的量化字長取為15位時,控制器不會失去穩(wěn)定,并且控制器的頻率特性與期望的頻率特性幾乎完全符合。當(dāng)乘法運算的結(jié)果量化字長為28位時,控制電壓的誤差不超過±10/4 096 V。
參 考 文 獻
[1]姜文漢.自適應(yīng)光學(xué)技術(shù)進展[M].成都:四川科學(xué)技術(shù)出版社,2007.
[2]王春鴻,榮志鈞,李梅,等.37單元自適應(yīng)光學(xué)系統(tǒng)實時波前處理[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,F(xiàn)edrigo E,Deeper N A,et al.FPGA Developments for the SPARTA Project[J].Proc.SPIE,2005.
[6]周璐春,王春鴻,李梅,等.基于FPGA技術(shù)的波前斜率處理方法[J].光電工程,2002,29(3),28-31.
[7]王彩霞,李梅,王春鴻,等.用脈動陣列實現(xiàn)實時波前復(fù)原處理[J].光電工程,2004,31(3):1-3,15.
[8]李新陽,姜文漢.自適應(yīng)光學(xué)控制系統(tǒng)的有效帶寬分析[J].光學(xué)學(xué)報,1997,17(12):1 697-1 702.
[9]A V奧本海姆,R W謝弗,J R巴克.離散時間信號處理[M].劉樹棠,黃建國,譯.西安:西安交通大學(xué)出版社,2001.
[10]姚天任,江太輝.數(shù)字信號處理[M].武漢:華中科技大學(xué)出版社,2000.
作者簡介 唐端午 男,1982年出生,碩士研究生。主要從事自適應(yīng)光學(xué)系統(tǒng)實時波前處理機設(shè)計。
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文。