吳琴菲 文錦輝
(中山大學物理學院, 廣州 510275)
頻率分辨光學開關(frequency-resolved optical gating, FROG)法是目前測量超短激光脈沖的主要方法之一.針對其常用的主成分廣義投影重構(principal component generalized projections, PCGP)算法在處理大矩陣FROG 譜圖時速度會減慢及存在噪音時準確度下降的缺點, 本文提出一種基于搜尋者優化算法的FROG算法.該算法在直接測量脈沖光譜分布的基礎上, 通過搜索脈沖頻域相位的幾個色散系數, 從而恢復脈沖的結構.由于新算法主要在頻域上進行運算, 流程比PCGP 算法簡便很多, 收斂速度和準確性都有明顯改善.通過數值模擬方法重構了多個不同結構的超短脈沖, 分析討論了無噪音和在不同噪音水平下該算法的準確度.計算結果充分展示了該算法重構脈沖的速度快、準確度高的特點, 在無噪音條件下其準確度比PCGP 提升了3 個數量級以上.
頻率分辨光學開關(frequency-resolved optical gating, FROG)法是目前常用的超短激光脈沖測量技術[1?3], 它可以完整地恢復脈沖信息.其中二次諧波頻率分辨光學開關(second-harmonic generation FROG, SHG-FROG)法因靈敏度高,可測量較弱能量的脈沖而應用廣泛[4?6].FROG 方法的輸出信號是一個二維光譜圖, 需要采用迭代逼近算法來重構脈沖的形狀.為了提高脈沖重構的速度和準確性, 達到實時測量脈沖的目的, 人們不斷地對FROG 重構算法進行改進[7?10].其中廣義投影(generalized projections, GP)算法[7?11]適用于各種結構的FROG 技術的脈沖重構, 其收斂性能和魯棒性都很好.在GP 算法基礎上, Kane[8,12?14]提出了主成分廣義投影(principal component generalized projections, PCGP)算法, 它通過脈沖的外積矩陣構建FROG 譜圖, 然后用奇異值分解(singular value decomposition, SVD)或者冪方法選擇主成分因子的方法, 代替GP 算法的最小化搜尋方式, 計算速度比GP 算法快了2 倍以上[8].目前, GP 和PCGP 算法作為主流的FROG 算法,被應用于各種超短脈沖的測量[15?17].利用全局搜索算法實現的FROG 算法也分別被提出, 例如利用模擬退火(simulated annealing, SA)算法[9]和遺傳算法(genetic algorithm, GA)[10]實現FROG技術的脈沖重構.
然而, GP 算法的脈沖重構速度相對較慢[8];PCGP 算法處理存在噪音的FROG 譜圖時重構出來的脈沖相位與強度不能很好吻合[12], 用單一矩陣構建的FROG 譜圖與實際圖像存在偏差[14,18],以致重構脈沖的誤差較大[12].在恢復復雜脈沖時,PCGP 算法的收斂性通常不太理想, 盡管Hause等[19]通過修改標準的PCGP 算法流程降低了較差收斂的概率, 但沒有徹底解決這個問題.Kane[20]在2017 年提出一種基于PCGP 的改進算法, 利用多個外積矩陣之和來構造FROG 譜圖, 在不影響收斂速度的情況下算法的魯棒性可提升50%.基于SA 和GA 的FROG 算法則受經典SA 和GA收斂速度的限制, 它們重構脈沖的速度比較慢.
總之, GP 和PCGP 算法未能同時兼顧重構脈沖的準確性和實時性, 其他基于全局搜索算法的重構方法也只能犧牲速度以保證重構脈沖的準確性.這意味著在實時并準確地重構超短脈沖的需求方面, 現有FROG 算法的表現未能令人滿意.
針對以上問題, 我們提出了一種新的FROG算法.該算法在實驗上記錄待測脈沖的FROG 譜圖和光譜分布, 利用搜尋者優化算法(seeker optimization algorithm, SOA)[21?23]搜索脈沖的色散系數, 這些色散系數可決定脈沖的光譜相位曲線.知道了光譜分布和光譜相位曲線即可確定脈沖的形狀.理論模擬結果顯示, 基于SOA 的FROG 算法具有搜索速度快, 收斂準確度高和魯棒性強的特點;與PCGP 算法比較, 其迭代速度稍快一些, 重構脈沖的準確度更高, 尤其對具有高階色散的脈沖重構有較為突出的優勢, 如在無噪音條件下其準確度比PCGP 提升了3 個數量級以上.
超快激光脈沖的結構可分別采用電場振幅的時域表示E(t)和頻域表示E(ω)兩種形式:

其中,I(t)和φ(t)分別是脈沖在時域上的強度包絡和相位曲線,ω0是中心圓頻率,S(ω)和φ(ω)是脈沖的光譜強度和光譜相位分布.E(t)和E(ω)滿足傅里葉變換關系, 只要測得其中一個, 脈沖的結構就唯一地確定了.
由鎖模激光振蕩器和超快激光放大器輸出的超短脈沖, 其光譜相位φ(ω)通常展現為一條平滑曲線, 可在中心頻率ω0處作泰勒級數展開

由(2)式和(3)式可知, 如果脈沖光譜S(ω)已知, 則只要測出光譜相位φ(ω)的各階色散系數,即可確定脈沖的結構.由此, 我們提出一種新的FROG 算法, 在直接用光譜儀測量S(ω)的基礎上,選擇一種優化算法搜索φ(ω)的各階色散系數(特別是2—5 階系數), 使之相對應的SHG-FROG 譜圖與實驗測得的譜圖基本相符即可.
我們考察或嘗試了包括SA, GA, 進化算法和粒子群算法等多種優化算法, 最終選擇了SOA 用于FROG 的脈沖重構.
SOA 是一種新型智能的全局搜索算法, 它模仿人類的經驗、記憶、不確定性推理和彼此合作互通信息等搜索行為, 能夠根據情況的變化不斷調整多個參數的搜索方向和搜索步長, 因而兼具全局搜索和局部優化的特點, 能夠有效地避免在搜索過程中陷于局部極小的境地, 目前它在多種應用上表現出優越的性能[21?24].該算法要設定S個搜尋者, 每個搜尋者有M個搜索維度.每個搜尋者各個維度的搜索方向被自己的利己行為、預動行為和他人的利他行為所決定, 而每次搜索的步長則由基于模糊推理規則的不確定性推理所決定.
基于SOA 的FROG 重構算法(SOA-FROG)的具體流程如下:
1) 用實驗方法記錄待測脈沖的SHG-FROG譜圖Ifrog(ω,τ)(為N×N矩陣), 同時用光譜儀記錄脈沖的光譜分布S(ω), 并設定FROG 迭代算法的容許誤差ε.
2) 根據SOA 規則選定S個搜尋者Ψn(n= 1,2, ···,S), 每個搜尋者包含M個色散系數, 其隨機初始位置為Ψn(GDD0, TOD0, FOD0, FVOD0, ···).
3)對每個搜索者Ψn, 結合已知的S(ω)可導出對應的猜測脈沖的頻域表示E(ω).對E(ω)作傅里葉變換可得到時域表示E(t), 即可利用(4)式求出相應的SHG-FROG 譜圖Icalc(ω,τ)(亦為N×N矩陣):

4)利用(5)式計算各個搜尋者當前所對應的誤差函數G:

5) 判斷是否其中一個搜尋者已滿足迭代終止條件G≤ε.若還沒有, 則由SOA 搜索規則去確定每個搜尋者各個維度新的搜索方向和步長, 從而得到下一輪循環的色散系數組合Ψn(GDD, TOD,FOD, FVOD, ···).
6) 重復3)—5)的循環迭代過程, 直至其中一個Ψn滿足終止條件G≤ε即可停止搜索, 然后輸出其對應的脈沖結構E(ω)和E(t)作為脈沖重構結果.
可以看出, SOA-FROG 算法的迭代運算主要在頻域上進行, 其流程步驟要比PCGP 算法簡便很多; PCGP 算法則要對FROG 譜圖作時域-頻域的反復轉換及相應的SVD 運算等一系列矩陣操作.估計在PCGP 算法一個迭代循環的時間內, 新算法已經循環搜索了5 次以上.這對于處理大數據陣列如512 × 512, 1024 × 1024 以上的情形尤其有利.另外, 由于光譜分布S(ω)已知, 該算法只需要搜索幾個色散系數, 理應比PCGP 算法具有更快的收斂速度.
采用數值模擬的方法, 分析SOA-FROG 算法分別在無噪音和有噪音條件下的準確度及達到收斂的速度, 并與PCGP 算法作對比.
為方便起見, 設定要重構的所有待測脈沖具有相同的高斯分布的光譜強度S(ω)(如圖1 所示), 不同的待測脈沖只是色散系數有差異.其中脈沖的中心圓頻率為ω0= 2π × 375 THz, 光譜寬度為Δω= 2π × 25 THz.脈沖SHG-FROG 譜圖的時間抽樣點數為N= 256, 抽樣間隔為1.5 fs.

圖1 所有待測脈沖的光譜強度分布Fig.1.Spectral intensity of all the test pulses in context.
3.1.1 無噪音的情形
設定SOA-FROG 算法的迭代次數為1500 次.考察兩類待測脈沖的結構: 一是脈沖的色散系數只有GDD 和TOD 是主要的, 而更高階的系數較小可以忽略.這時可設置搜尋者數目S= 3, 空間維度M= 2, 即只搜索GDD 和TOD.我們對100個色散系數落在|GDD|<200 fs2, |TOD|<2500 fs3,|FOD|<10 fs4和|FVOD|<100 fs5范圍內的隨機脈沖進行了重構計算.數值模擬的結果為當算法收斂時誤差G值均小于10–4, 其中G< 10–6的脈沖有28 個, 10–6

圖2 兩類色散結構的隨機脈沖經過SOA 迭代運算1500 次后的誤差分布Fig.2.Distributions of FROG error at three levels for random ultrashort pulses of two chirped features after 1500 circles of iteration with SOA.
根據FROG 算法的規則, 在無噪音時G≤10–4代表所用算法能嚴格收斂.所以在FOD 及以上色散系數可忽略時, 本文提出的SOA-FROG 算法在迭代1500 次以內完全達到了嚴格收斂的條件;而當脈沖的FOD 和FVOD 不可忽略, 但落在上述限定范圍時, 絕大部分脈沖在迭代1500 次后也實現了算法的嚴格收斂.個別脈沖可能需要更多的迭代次數或者設定不同的初始隨機色散系數進行搜索應能達到嚴格收斂條件.
表1 列出了上述運算中處理過的3 個脈沖的原始色散系數, 以及分別對它們隨機設定初始色散系數然后進行30 次重構運算后所得到的平均結果.可以看出SOA 的平均誤差基本上低于10–5,重構得到的色散系數值甚至可準確到個位數(忽略時間方向上的模糊).作為對比, 利用基于文獻[13]的PCGP 算法標準程序對這3 個脈沖在相同條件下進行了重構, 其平均誤差就比較大.從表1 可看出SOA 的準確度比PCGP 算法提升了至少3 個數量級.
FROG 誤差G越小, 恢復的色散系數就越準確.以表1 中的脈沖3 為例, 其中一次重構結果為G= 9.2 × 10–5, 對應的色散系數為(100, –492,–3628, 6212), 前3 個系數與原始脈沖比較相近;另一次重構誤差為G= 2.2 × 10–6時, 恢復的色散系數為(100, –500, –3652, 7962), 4 個系數與原始脈沖相差不多; 還有一次重構結果為G= 4.2 ×10–8, 恢復的色散系數與原始脈沖完全一樣.這個結果比文獻[25, 26]的結果好很多, 其中文獻[25]在相干自相關上使用GA 與保證優化相結合的算法, 文獻[26]在相干自相關上使用進化算法, 它們模擬恢復的色散系數與原始值差別都比較大.
圖3 展示了重構脈沖3 時采用SOA 和PCGP算法的誤差分別為G= 4.2 × 10–8和G= 9.8 ×10–3時所對應的脈沖結構在時域上的差異.可以看出SOA 的表現非常好, 它重構的脈沖準確還原了原始脈沖的結構, 而PCGP 算法的結果明顯偏離真實情況.
3.1.2 有噪音的情形
由于泊松噪音可以模擬暗電流等真實的實驗噪音, 因此利用泊松噪音作為加性噪音, 并設其泊松分布的均值為5.可將不同程度的噪音量添加在SHG-FROG 譜圖上, 即:

為了直觀地了解SOA-FROG 算法在FROG譜圖有噪音下的表現, 考察對脈沖1 的重構情況,其中噪音平均值分別取FROG 譜圖最大值的1%,5%, 10%和20% (加入噪音之后應對譜圖做歸一化處理).在使用SOA-FROG 算法重構脈沖前, 要先對FROG 圖進行預處理.計算角落60 個點的平均值作為背景噪聲, 然后讓整個FROG 譜圖扣除這個背景噪聲; 扣掉背景噪音之后, 必要時還可對FROG 譜圖做3 × 3 的均值濾波處理.
在每個噪音水平下運行SOA-FROG 算法100 次, 設置最大搜索次數為300.圖4 為不同噪音水平下利用SOA 對脈沖1 進行重構的結果.其中圖4(a)展示了只扣除背景噪音、扣除背景噪音加3 × 3 均值濾波與未扣除背景噪音時獲得的FROG 誤差G的對比.可知扣除背景噪音后的誤差G小了約50%, 加上均值濾波后效果要稍好一些.
1.創新高校辦學培養模式,專業技術與創業能力相結合。高校鼓勵大學生創新精神的不斷提升需要與大學生自身的專業能力相結合,大學生的專業培養是進行了社會細分,根據某一種能力進行專門的培養,而創新創業的能力培訓也單單是為了培養大學生的某一種謀生手段。高校在大學生創新能力的培養過程中,應該與其專業能力相結合,讓學生在學習創業技能的同時將自身的專業知識和興趣結合起來,發揮他們更大的創造力和創新性。將創新創業能力結合到專業能力的培養中,也使得專業技能具有最大程度的價值,不脫離社會。

表1 無噪音情形下幾個脈沖的重構結果Table 1.Reconstructed results of three test pulses in cases without noise.

圖3 (a)脈 沖3 的 原 始SHG-FROG 譜 圖; (b) SOA 和PCGP 兩種算法重構出的脈沖3 的時域強度和相位Fig.3.(a) Original SHG-FROG trace of pulse 3#; (b) reconstructed intensities and phases in time domain of the pulse by SOA and PCGP algorithm, respectively.
脈沖重構的準確性通常用時域上的強度誤差GI 和相位誤差GP 來表征, 具體定義請參看文獻[27].由圖4(b)和圖4(c)可知, 在1%和5%的噪音水平下GI 和GP 均較小; 而在10%和20%的噪音水平下, 雖然收斂時的FROG 誤差比噪音水平低得多, 且統計偏差也不大, 但是強度誤差和相位誤差的平均值增大; 且隨著噪音的增大, 統計偏差也在變大.
經過濾波處理后, 在較大噪音條件下, GI 和GP 比未濾波時要小很多; 而在噪音較小時濾波反而惡化了重構結果, 原因是均值濾波可能會濾掉一些脈沖結構的細節, 特別是關于高階色散的一些信息.
在不同噪音水平下用SOA-FROG 算法重構脈沖1 的模擬結果見圖5.第1 列是原始FROG譜圖加上噪音后的圖像, 第2 列和第3 列分別是為重構出來的FROG 譜圖及I(t)和φ(t)曲線.其中噪音水平為1%和5%的重構結果是只扣本底但未做均值濾波的條件下得到的; 而10%和20%的結果是扣本底且實施均值濾波下得到的.可以看出,重構脈沖與原始脈沖在時域的強度包絡和相位曲線的偏差也隨著噪音的增加而增大.

圖4 不同噪音水平下用SOA 對脈沖1 進行重構所對應的 (a) FROG 誤差、(b)強度誤差和(c)相位誤差Fig.4.(a) FROG error, (b) intensity error, and (c) phase error of test pulse 1# reconstructed by SOA with different noise levels.

圖5 不同噪音水平下重構脈沖1 得到的FROG 譜圖和時域曲線Fig.5.Reconstructed FROG traces, intensities and phases in time domain of test pulse 1# by SOA algorithm with different noise levels.

表2 不同噪音水平下用SOA 和PCGP 算法重構脈沖1 的結果比較Table 2.Comparison of reconstructed results of pulse 1# by SOA and PCGP algorithms with different noise levels.
作為對比, 也計算了相同噪音條件下采用PCGP 算法的重構結果, 其中對FROG 譜圖也作了相同的扣除背景和濾波處理.兩種算法在不同噪音水平下的重構準確度的比較見表2.可以看出噪音的增加導致SOA 重構出來的色散系數偏離原始值, 噪音越大偏離越遠.但總體而言, SOA-FROG算法對噪音不是太敏感, 即使FROG 譜圖存在一定的噪音, SOA 仍能達到較高的準確度, 要比PCGP算法優越許多.原因在于用光譜儀直接測量脈沖的光譜分布S(ω), 其噪音水平應遠低于利用二階非線性光學效應測量到的SHG-FROG 譜圖, 而SOA 算法只是搜索幾個色散系數, 搜索循環過程中所構建的各個猜測脈沖都并非來源于有噪音的FROG 譜圖, 因而該算法對噪音的耐受度較高.可以認為實測的光譜分布S(ω)對脈沖重構的誤差具有強力的抑制作用, 大大提高了噪音條件下脈沖重構的準確性.相比之下, 用PCGP 算法在同等噪音水平下得到的重構誤差GI 和GP 遠大于SOA 的數值, 是由于在迭代循環過程中所構建的各個猜測脈沖都來源于有噪音的FROG 譜圖, 這樣重構出來的脈沖在時域上的強度包絡和相位曲線通常會出現不規則的毛刺, 噪音越大重構準確度就越差.至于表2 中兩種算法得到的誤差G的差別并不大,原因在于它是重構出來的FROG 譜圖與有噪音的譜圖逐點相減得到的平均誤差(見(5)式), 因而其數值大小與噪音水平直接相關, 不足以準確反映兩種算法在脈沖重構準確度上的明顯差異.
實際上, 還對色散系數范圍在|GDD|<200 fs2,|TOD|<2500 fs3,|FOD|<5000 fs4, 以及|FVOD|<10000 fs5的100 個隨機脈沖進行了有噪音條件下的重構.其中SOA 取S= 3 和M= 4, 重構的結果與脈沖1 的情況基本相似, 其中誤差GI 和GP的變化趨勢分別與圖4(b)和圖4(c)一致, 誤差水平也與圖4 差不多; 而同樣噪音水平下PCGP 的誤差變化趨勢也與SOA 基本相似.
如前所述, 在無噪音情形, 若以G≤ 10–4作為算法的終止條件, SOA-FROG 算法對100 個隨機啁啾脈沖進行重構, 除去在1500 次迭代過程中不能達到終止條件的2 個脈沖, 其余98 個脈沖的重構平均時間為3.5 s, 其中71 個脈沖能在4 s 以內完成, 見圖6(a).
比較而言, 在脈沖的重構過程中PCGP 算法的迭代速度是GP 算法的兩倍左右, 且大多數時候能在100 次迭代內收斂, 被認為可以實現超短脈沖的實時重構[8].在本文的模擬運算環境下, PCGP算法每秒的迭代次數為21.5 次(與SOA 相差約5 倍), 它的收斂時間約4—5 s.即取M= 4 時SOA 重構脈沖的收斂速度比PCGP 算法稍快一點, 但實際上兩者在收斂時的脈沖重構準確度有著很明顯的差別.圖6(b)給出了兩種算法對表1 中脈沖2 的迭代運算情況.盡管該脈沖具有較大的TOD, 用SOA 迭代300 次后誤差G仍可降到10–5以下; 而PCGP 算法在迭代過程中誤差G先是快速下降并很快達到平穩狀態(從而可認為已經收斂), 但G值一直維持在7 × 10–3附近, 遠未達到嚴格收斂條件.因此, 如果不對比脈沖重構準確度而只是比較PCGP 算法與SOA 的收斂速度, 并沒有太大的意義.

圖6 (a)無噪音條件下用SOA 重構隨機色散脈沖的收斂時間范圍; (b)兩種算法對脈沖1 重構迭代300 次情形下其誤差的演化過程Fig.6.(a) Distributions of pulse numbers via reconstruction time for SOA in cases without noise; (b) evolutions of FROG error for pulse 1# in 300 circles of iteration with SOA and PCGP algorithm, respectively.
而在有噪音情形下, 由于通常設置的重構容許誤差ε要大一些(與噪音水平接近), 因而收斂會相對容易達到.用SOA 算法進行300 次迭代(時間3 s 左右)之后, 絕大部分脈沖都可完成重構流程,并有較高的重構準確度, 詳見上文的模擬結果.
本文提出了一種基于SOA 的FROG 算法, 它通過直接測量待測脈沖的光譜分布, 然后用SOA算法搜索該脈沖光譜相位曲線的色散系數來實現脈沖的重構.利用數值模擬方法, 分析了在無噪音和存在幾種噪音水平條件下SOA 算法的重構準確度.計算結果表明, 相較于PCGP 算法, SOAFROG 算法得到的結果會更準確.在無噪音情形下SOA-FROG 算法準確度比PCGP 算法提升了3 個數量級以上; 在有噪音情形下, 重構的脈沖形狀基本上與原始脈沖吻合.由于該算法的迭代運算過程主要在頻域上進行, 流程要比PCGP 算法簡便很多, 省去了許多矩陣運算和時域-頻域轉換的操作, 因而迭代速度和搜索速度都很快.
總之, SOA-FROG 算法在重構超短脈沖方面既快速又準確, 可為超短脈沖的實時測量提供一種新的解決方案.它不僅適于SHG-FROG, 也能用于其他基于三階非線性光學效應的FROG 方法.當然該算法目前還存在一些限制.例如要比PCGP 算法多測量一個脈沖光譜, 另外它只適用于測量光譜相位曲線連續可微分的超短脈沖.若要處理光譜相位存在跳變或者光譜分段等更為復雜的超短脈沖, 需要對算法作進一步的優化改進,或者選擇更為合適的優化算法.相關研究工作有待繼續.