馮建鑫,王 強,王雅雷,胥 彪
(南京航空航天大學 航天學院,江蘇 南京 211106)
高精度光束指向控制技術在空間光通信、紅外對抗、激光雷達等工程領域中有廣泛應用[1-2]。相較于傳統萬向架、復合軸等光束指向機構,基于雙光楔結構的光束指向機構具有小型化、響應快速、成本低廉、結構緊湊等特點,該技術在光束掃描、遠距離目標瞄準跟蹤等方面展現出廣泛應用前景[3]。
雙光楔結構應用中的一個基本問題是根據出射光線的方向,求解兩棱鏡的旋轉角度[4-5],但目前對該問題的研究依然存在一些不足之處。Amirault采用兩步法求解雙棱鏡的轉角[6],Li在兩步法的基礎上建立一個三階表達式來求解反問題[7],這兩種算法雖然計算時間極短,但很難滿足激光通信的精度要求。Tao提出了一種基于阻尼最小二乘法的迭代求解方法(ISD),該方法提高了計算精度,但是計算量劇增,導致計算時間過長,不適用于實時跟蹤領域[8]。Li提出了一種查表方法,通過建立由棱鏡轉角(θr1,θr2)和掃描點坐標(xrp,yrp,zrp)組成數據庫的方式,將棱鏡轉角從計算求解轉換成查表獲得;隨著轉角分辨率的提高,其計算精度不斷提高,但所需內存也急劇增大,使得硬件成本增加[9]。Li還提出用正演方法進行反復迭代求解的方法,通過迭代使用兩步法的思想不斷減少掃描點與目標點偏差值,該方法大幅提高了計算精度,計算時間比ISD更小,但依然不滿足實時性要求[10]。周遠利用一階近軸理論研究雙光楔反向解,該方法計算量小,但實驗結果存在偏差,不滿足高精度工程應用要求[11]。
為了進一步提高雙光楔反解算法的計算精度,同時減少計算時間,本文在正演迭代法的基礎上結合雙光楔等效矢量模型,提出一種等效矢量迭代反解算法。該方法利用矢量疊加的方式求解出射光線的位置坐標,避免多次計算,減少了計算量,縮短了計算時間。
綜上所述,本文首先利用斯涅耳定律以及雙光楔對入射光線的偏轉作用,說明了兩步法的原理;再利用反復迭代、不斷逼近的思想介紹了正演迭代法的基本過程,解決了兩步法精度不足的問題;最后引入光楔等效矢量模型,將該模型與正演迭代算法相結合,提出等效矢量迭代算法,該算法不僅計算精度高,而且計算量不大,計算時間大幅縮短。
當光線發生折射時,入射光線和折射光線的方向分別由單位光線矢量sin和sout表示,單位向量N表示界面法線方向,界面兩側不同材料折射率分別為nin和nout,向量形式的斯涅耳定律可以表示為[12]

為了更好地說明光線在雙光楔系統的折射情況,建立如圖1所示的結構示意圖。雙光楔系統由兩個楔角α、折射率n以及最薄端厚度d0均相同的棱鏡組成,兩個棱鏡的平面向外,垂直于Z軸,其中每個棱鏡的主截面位于ZOY平面上,最薄一端朝向Z軸正方向。記雙光楔入射光線為A0,出射光線為Af,視場坐標軸的原點為Op,棱鏡轉角為θ1=θ2=0°時為初始狀態,棱鏡繞Z軸逆時針旋轉設為正方向,兩個平面之間距離為D1,棱鏡2平面到視場距離為D2。

圖1 雙光楔系統坐標系示意圖Fig. 1 Schematic diagram of the coordinate system of Risley-prism
圖2 為雙光楔平面光路圖。棱鏡界面法向量為Nj(j=1,2,3,4),各個折射光線表示為單位矢量sj。記棱鏡1出射點M1(0, 0,d0)、棱鏡2入射點M2(xm,ym,D1+d0)、棱鏡2出射點為M3(xn,yn,D1?2d0),由于d0遠小于D1與D2,因此可以簡化為M3(xn,yn,D1)。出射光線打到視場上的掃描點為p(xp,yp,D1+D2)。

圖2 界面處光線折射光路圖Fig. 2 Light path diagram of light refraction at the interface
根據式(1)和圖2的光路圖,出射點M3(xn,yn,D1)和掃描點Mp(xp,yp,D1+D2)分別表示為

出射光線與Z軸正方向的偏差角定義為俯仰角ρ,投影在視場上的出射光線與Y軸正方向的夾角定義為方位角φ。俯仰角ρ和方位角φ的計算公式分別為

當出射光線的俯仰角和方位角確定時,便可以借助兩步法反解棱鏡旋轉角度[13],具體步驟為:
(1)棱鏡1保持靜止,即θ1=0,旋轉棱鏡2直到出射光線的俯仰角ρ等于給定光線的俯仰角,由式(4)~式(6)得到此時棱鏡2的轉角,利用斯涅耳定律求解此時出射光線的方位角φ0,即

(2)兩個棱鏡同時旋轉φ?φ0角度,使得出射光線與給定光線的方位角相等。兩個棱鏡轉角分別為

由于入射光線經過多次折射后,棱鏡2出射面的出射點不固定,無法只根據給定點得到出射光線矢量,因此兩步法精度較低[10,14]。
本文利用迭代求精思想使計算得到的出射光線逐步逼近期望出射光線,再利用兩步法求解棱鏡旋轉角度,以此來提高計算精度。該算法步驟如下:
(1)給定目標點Mp(xp,yp,D1+D2)及棱鏡2出射面上的初始出射點M3(0, 0,D1);
(2)根據出射點和給定點得到出射光線矢量,再根據兩步法求解棱鏡轉角近似解θi=(θ1i,θ2i);
(3)將棱鏡轉角代入式(2)和式(3)中,更新此時出射點M3(xni,yni,D1)和掃描點pi(xni,yni,D1+D2);
(4)計算此時掃描點與目標點之間誤差值,即

給定允許誤差閾值ε,若Δ<ε,旋轉角θi=(θ1i,θ2i)的解可視為最終結果。如果沒有,轉到步驟(2)。
正演迭代法相較于兩步法提高了計算精度,但每次迭代需要計算多次斯涅耳定律,導致計算量過大,計算時間過長,不滿足高性能應用領域實時性要求。因此減少計算量和計算時間有重要研究意義。
本文通過研究光楔折射特性,將其等效成運動矢量,運用矢量疊加法求解出射光線位置矢量。該方法減少了計算量,且精度滿足激光通信要求[15-16]。
記棱鏡入射光線和出射光線的夾角為δ,由式(12)可得:

當棱鏡繞Z軸旋轉時,出射光線在空間的軌跡是一個頂角為2δ的圓錐面。在垂直于Z軸并且與棱鏡出射點相距l的位置建立一個平面直角坐標系,原點為Z軸在平面上的投影,此時出射光線在該平面的軌跡是一個半徑為r的圓,如圖3所示。

圖3 旋轉單光楔光路Fig. 3 Single rotating Risley-prism optical path
記出射光線與平面直角坐標系相交于A點,設棱鏡位于初始位置時OA與x軸夾角為θ0,當棱鏡旋轉一定角度且轉角為θr時,出射光線的方位角θ為

由式(12)可知,當棱鏡折射率和頂角不發生改變時,δ為定值;由式(13)可知,出射光線的方位角由棱鏡的旋轉角度θr與初始方位角θ0共同決定。因此可以將棱鏡等效成模長為δ,角速度為ω,初始相位為θ0的旋轉矢量,如圖4所示。

圖4 旋轉單光楔等效矢量模型Fig. 4 Equivalent vector model of the rotary single prism
4.2.1 雙光楔等效矢量疊加算法
利用4.1節思路,將兩個棱鏡均等效成角速度為ω1、模長為δ的旋轉矢量,初始相位分別為θ10、θ20,則兩旋轉矢量的相位分別為

根據兩個旋轉矢量的相位θr1和θr2可以確定出射光線的位置,如圖5所示。由矢量疊加平行四邊形法則可知,此時出射光線的俯仰角和方位角分別為

圖5 旋轉雙光楔等效矢量模型Fig. 5 Equivalent vector model of the Risley-prism

出射光線的位置由俯仰角與方位角確定,該方法把斯涅耳定律計算轉換成簡單的矢量疊加計算。
4.2.2 等效矢量兩步逆解法
當出射光線的俯仰角與方位角確定后,利用兩步法思路求解棱鏡轉角。
(1)棱鏡1保持靜止,即θ1=0,旋轉棱鏡2,直到出射光線的俯仰角ρ等于給定光線的俯仰角,此時由式(12)和式(16)可得棱鏡2的旋轉角度:

(2)同時旋轉兩個棱鏡,使得出射光線與給定光線的方位角相等,此時棱鏡1的旋轉角度為

再由式(10)得到棱鏡2的轉動角度,即

兩步反解算法的流程如圖6所示。綜上所述,基于等效矢量法的雙光楔兩步逆解法與前文的兩步逆解法流程一致,但計算量大幅度減少。

圖6 兩步逆解法流程圖Fig. 6 Flow chart of two step inverse method
4.2.3 等效矢量迭代法
由于兩步法本身存在缺陷,導致其精度較低,本文將正演迭代求精算法與等效矢量兩步法相結合,以提高計算精度,等效矢量迭代法步驟如下:
(1)給定視場上的目標點Mp(xp,yp,D1+D2),設棱鏡2出射面的中心點為初始出射點N0(0, 0,D1)。
(2)出射光線矢量如式(21)所示,再由式(22)~式(24)求解ρ和φ,最后用兩步法計算θi=(θ1i,θ2i).

(3)由于棱鏡1入射平面的法向量與入射光線平行,入射光線方向不改變,即s1為(0, 0, 1)。由4.1節可知,棱鏡1出射光線s2俯仰角ρs2為(n?1)α,方位角φs2為 θ1i+θ0,那么棱鏡2入射點M2坐標為

由平面光路圖可知,根據M1和M2坐標可得到s2的矢量坐標,然后利用式(1)求解s3的矢量坐標及其俯仰角ρs3和方位角φs3。此時M3坐標為:

由于d0遠小于D1與D2,因此可以將出射點坐標簡化為M3(xni,yni,D1)。由式(16)~式(17)可得出射光線俯仰角ρ和方位角φ,此時掃描點pi坐標為:

(4)計算此時掃描點與目標點之間偏差值:

給定允許誤差閾值ε,若Δ<ε,旋轉角θi=(θ1i,θ2i)的解可視為最終結果。如果沒有,轉到步驟(2)。
圖7為等效矢量迭代法的流程圖。綜上所述,等效矢量迭代法相比于正演迭代法雖然流程相同,但步驟(2)計算量大幅減少,步驟(3)僅計算一次斯涅耳定律,算法的整體計算量進一步降低,計算時間得到極大縮短。

圖7 等效矢量迭代法流程圖Fig. 7 Flow chart of the equivalent vector iteration method
給定一個橢圓的目標軌跡,將其表達式設置為:

在軌跡上選取63個采樣點,根據4組反解算法計算雙光楔系統棱鏡旋轉角,再由棱鏡轉角求解相應掃描軌跡,誤差為目標點與掃描點之間距離。
在Matlab2019環境下進行仿真實驗,圖8~11(彩圖見期刊電子版)為模擬的掃描軌跡,并得到了偏差Δ和算法的解算時間,具體數值如表1所示。

表1 4種逆解算法的結果比較Tab. 1 Comparison of the results of four inverse algorithms

圖8 兩步法(a)目標軌跡、掃描軌跡與(b)棱鏡轉角Fig. 8 (a) Target trajectory and scanning trajectory and(b) rotation angle of prism for two-step method

圖9 等效矢量兩步法(a)目標軌跡、掃描軌跡與(b)棱鏡轉角Fig. 9 (a) Target trajectory and scanning trajectory and(b) rotation angle of prism for equivalent vector two-step method

圖10 正演迭代法(a)目標軌跡、掃描軌跡與(b)棱鏡轉角Fig. 10 (a) Target trajectory and scanning trajectory and(b) rotation angle of prism for forward iterative refinement algorithm

圖11 等效矢量迭代法(a)目標軌跡、掃描軌跡與(b)棱鏡轉角Fig. 11 (a) Target trajectory and scanning trajectory and(b) rotation angle of prism for equivalent vector iteration method
為了研究兩種算法的適用場合,需要分析不同因素對兩種算法的影響。首先研究D2對兩種算法的影響,引入相對精度R1=Δ1/D2和R2=Δ2/D2的概念。
圖12(彩圖見期刊電子版)為仿真實驗圖,藍色實線為實際誤差,對應左邊y軸;紅色虛線為相對誤差,對應右邊y軸。由圖可知,兩種算法的相對精度隨著D2距離的增加而不斷降低;在D2較小時,正演迭代法實際誤差與相對精度的下降速度更大。綜上所述,兩種算法更適用于遠距離掃描場合。

圖12 D2對兩種算法的影響。(a)正演迭代法;(b)等效矢量迭代法Fig. 12 Influence of D2 on two algorithms. (a) Forward iteration method; (b) equivalent vector iteration method
然后研究視場大小的影響。設給定橢圓軌跡為:

圖13為通過增加a值大小使得視場角不斷增大的仿真實驗圖,D2距離設為500 mm并保持不變。

圖13 視場角大小對(a)正演迭代算法和(b)等效矢量迭代算法的影響Fig. 13 Influence of angle of view on (a) forward interative refinement algorithm and (b) equivalent vector iteration method
由圖13可知,等效矢量迭代法在距離原點較近時,誤差值較小,并且存在一個尖峰使得誤差值最大,但尖峰之后誤差又會隨a值增加而減少;正演迭代法實際精度在剛開始變化不大,但隨著a值的增大而不斷減少,呈明顯下降趨勢,并且在a值較大時,誤差變化不明顯。綜上所述,正演迭代法在距離原點較遠時計算精度更高,更適應于大視場的應用場合;等效矢量迭代法計算精度遠小于正演迭代法,并且更適用于小視場的應用場合。
本文選取4個點進行實驗研究,分別運用正演迭代法與等效矢量迭代法求解棱鏡旋轉角度,測試兩種算法在DSP芯片的計算精度與計算時間。本文選取的DSP類型為TI公司生產的TMS320F28335系列芯片,該芯片具有150 MHz的高速處理能力,具備32位浮點處理單元,實驗裝置圖見圖14。表2為DSP求解的具體數值。

表2 兩種逆解算法的計算結果比較Tab. 2 Comparison of the results of two inverse algorithms

圖14 DSP實驗裝置圖Fig. 14 Experimental device
由于DSP芯片只有32位浮點處理單元,因此在進行相關計算時,必定會產生數據截斷的現象,從而導致DSP上計算精度不如Matlab仿真環境,但是等效矢量迭代法的計算精度依然達到了10?5mm,基本滿足高性能應用領域的計算精度要求。若使用更高級別芯片進行實驗研究時,等效矢量迭代法精度更高,而計算時間隨系統頻率提升不斷縮短。
近年來,雙光楔系統的逆解問題得到了廣泛地關注。本文通過研究常用的兩步法和正演迭代求精算法之后,將兩種算法與光楔等效矢量模型相結合,提出了基于光楔等效矢量模型的逆解算法。該算法通過簡單的矢量疊加方式求解出射光線矢量坐標,使得計算量大幅度降低,縮短了計算時間;并且利用正演迭代求精的思想,使得掃描點逐步逼近目標點,極大地提高了計算精度。通過實驗可知,正演迭代法和等效矢量迭代法的相對精度隨著D值的增大而降低,因此這兩種算法都更適用于遠距離掃描應用場合,并且等效矢量迭代法的計算精度比正演迭代法高1~2個數量級;正演迭代法距離原點越遠,其計算精度越高,因此該算法更適用于大視場的應用場合;而等效矢量迭代法在距離原點較近時其計算精度更高,因此更適用于小視場的應用場合。由DSP實驗數據可知,等效矢量法的計算精度達到了10 μm級別,計算時間在0.1 ms以內,本文研究的等效矢量迭代法對基于雙光楔結構的光束指向控制技術有重要意義。