RP 系列 | 使用 RP RP Fiber Power 軟件進行超短脈沖仿真


   
RP 系列 | 使用 RP RP Fiber Power 軟件進行超短脈沖仿真的圖1      
顯示了如何在超短脈沖(例如鎖模光纖激光器,體激光器,再生放大器和光纖放大器)中進行數值模擬,特別是使用 RP Photonics 的 RP Fiber Power 軟件。所使用的概念涉及功能調用,而不是通過各種光學組件發送脈沖的命令,因此具有極高的靈活性,從而允許用戶實施相當復雜的仿真。      

     
RP 系列 | 使用 RP RP Fiber Power 軟件進行超短脈沖仿真的圖2      

從 V4 開始,我們的軟件 RP Fiber Power 可用于模擬超短脈沖的傳播。我們認為,對于許多人來說,了解其工作原理可能會很有用–無論您已經擁有該軟件,還是考慮將其用于研究和開發。順便說一下,我們在該領域進行了實質性的軟件改進。

這些功能不僅限于光纖中的脈沖傳播,還將介紹如何考慮各種其他光學元件。因此,如果您正在使用鎖模體激光器或再生放大器,請確保同樣可以將相同的軟件應用于此。到目前為止,僅對于同步泵浦光學參量振蕩器和放大器,該軟件不可用。

對于打算使用 Matlab 或其他編程環境自己開發此類仿真的人來說,本文應該有用的。然而,挑戰將是實現超短脈沖與光學組件相互作用的所有細節。對于某些元素而言,這非常簡單,而對于其他元素(例如,光纖,甚至是有源纖維),這是相當復雜的事情。盡管這樣做可能會學到很多東西,但是您肯定會花費很多時間。使用提供此類功能的軟件,您可以專注于物理學和技術,并更快地獲得所需的結果。本質上,問題是您是要開始大型學習活動還是要快速產生結果的其他需求。使用此類軟件時,您還將學到很多有關物理的知識

概念

模擬RP Fiber Power 中超短脈沖傳播的基本概念與我們早期產品 RP ProPulse 的概念不同。我們首先不介紹軟件系統,即后來我們想通過其發送脈沖的跑道。相反,我們使用腳本語言的某些功能來定義或加載初始脈沖,然后再通過光學元件發送該脈沖。可以使用其他功能來檢索“當前脈沖”的各種屬性,即當前(在看到某些元素之后)的脈沖。

這種方法的優點是它最靈活。提到的函數可以在任何表達式中使用,并且我們可以利用這些表達式的強大控制結構:if-then 語句,while-do 循環,for 循環,repeat-until 等。您可以通過多種方式使用此類表達式,例如,進行各種初始化,也可以在生成任何圖形圖的過程中使用。事實證明,這種靈活性對于任何實際的研究或開發工作都是必不可少的。

示例:鎖模光纖激光器

在大多數情況下,主要關心的是在鎖模激光器的穩態下獲得的脈沖。通常,由于它是由涉及光學增益和損耗(可能與波長有關),色散,光纖非線性,飽和吸收等復雜的相互作用而導致的,因此無法直接計算出該穩態。因此,在大多數情況下,僅能模擬穩態的演化。一定數量的諧振器往返行程中的一些初始脈沖,希望系統在合理數量的往返行程中將接近穩態。在某些情況下,沒有這樣的穩定狀態。但有不穩定的激光器,其研究當然在科學上也很有趣。在某些情況下,我們也喜歡研究啟動過程的細節,但讓我們現在關注穩態。
初始脈沖的細節通常并不嚴格;您只是不想離開穩定狀態就可以快速達到目標。您只需粗略地猜測諸如脈沖能量和持續時間之類的參數,并生成高斯未擾動的起始脈沖,例如:
; Parameters:
l_s := 1060 nm  { center wavelength }
T_range := 25 ps  { width of temporal range }
N_t := 2^10  { number of grid points }
dt := T_range / N_t  { temporal resolution }
E0 := 10 nJ  { initial pulse energy }
tau0 := 1 ps  { initial pulse duration }
chirp0 := 0 GHz / ps  { initial chirp }
 
calc  { evaluate the following composite expression }
  begin
  set_pulse_grid(T_range, N_t, l_s);  { define the pulse grid }
  startpulse_G(E0, tau0, chirp0);  { generate the start pulse }
  end
 

基本上由時間范圍的寬度,數值點的數量和中心波長定義的脈沖網格必須足夠大,以能夠很好地容納所有階段的脈沖。同樣,時間分辨率必須足夠高以適應整個脈沖帶寬。對于許多批量激光器模擬,256個點就足夠了,但是對于強脈沖(在光纖激光器中經常發生),則可能需要1024個點甚至更多點。(對于 超連續譜的生成 ,可能甚至需要成千上萬。)

在某些時候,您必須定義所涉及的纖維。本質上,每個模型都定義一個用于連續波仿真的模型,此外,還為模型分配超短脈沖傳播所需的一些屬性:本質上是色散和非線性指數,在某些情況下,還需要更多有關受激拉曼散射的詳細信息(此處不予考慮)。以下是線性諧振器中具有有源和無源光纖的模型的使用代碼,其中不包括各種參數的定義:


calc  { define the fibers }
  begin
    { active fiber: }
    set_device(1);
    set_fiber(L_active, 20, 'Yb');
    add_ring(r_co, N_Yb);
    pump := addinputchannel(P_pump_in, l_p, 'I_p', 0, forward);
    signal_active_fw := addinputchannel(0, l_s, 'I_s', 0, forward);
    signal_active_bw := addinputchannel(0, l_s, 'I_s', 0, backward);
    set_GVD(GVD_af);
    set_n2(n2_f);  { nonlinear index }
    finish_fiber();
    { passive fiber: }
    set_device(2);
    set_fiber(L_passive, 5, '-');
    signal_passive_fw := addinputchannel(0, l_s, 'I_s', 0, forward);
    signal_passive_bw := addinputchannel(0, l_s, 'I_s', 0, backward);
    set_GVD(GVD_pf);
    set_n2(n2_f);  { nonlinear index }
    finish_fiber();
  end;

通常假定起始脈沖是剛好在到達輸出耦合器之前的腔內脈沖。因此,造成一些損耗的輸出耦合器將成為諧振器往返中第一個光學元件。之后,循環脈沖可能會看到有源光纖,一根或多根無源光纖,可飽和吸收器和/或光調制器,以及可能的其他光學元件。定義執行完整諧振器往返的函數通常很方便:
DoResonatorRoundTrip() := 
  { Simulate one resonator round-trip of the pulse. }
  begin
    global allow all;
    pp_multiply_expr_f('r_FBG%(f)');
      { fiber Bragg grating as output coupler }
    pp_fiber(1, signal_active_fw);  { active fiber }
    pp_fiber(2, signal_passive_fw);  { passive fiber }
    pp_sat_abs(dR_S, tau_S, E_sat_S);  { SESAM }
    pp_loss(loss_S);  { loss in SESAM }
    pp_fiber(2, signal_passive_bw);  { passive fiber }
    pp_fiber(1, signal_active_bw);  { active fiber }
    pp_center(1);  { center the pulse }
    calc_dyn(0, T_rt, T_rt);
      { dynamical simulation of gain recovery }
  end
  

請注意,我們的示例基于線性諧振器,在到達另一端(SESAM,可飽和吸收器)之后,我們一直回到初始位置。當然,我們函數中使用的各種參數必須在其他地方定義。

最后一個函數調用在一個往返時間內模擬光纖的泵送,以補充存儲的能量。

此后,很容易模擬一些往返行程并在這些之后顯示腔內脈沖的一些參數:

calc
 for j := 1 to 1000 do
 begin
   DoResonatorRoundTrip();
   store_pulse(j);
 end
show "Energy:    ", E_p():d3:"J"
show "Duration:  ", tau_p():d3:"s"
show "Bandwidth: ", dl_p():d3:"m"  

在這里,我們還存儲了所有脈沖,以便以后可以調用它們進行其他計算和生成圖表,還可以使用交互式脈沖顯示窗口檢查它們。

這里顯示的簡單方法實際上存在一個問題:通常需要進行大量往返操作,直到光纖的增益穩定在最終水平。本質上,存在弛豫振蕩只有經過大量往返之后,這些信息才會消失。如果您想學習這些,那就很好了。但是,如果要快速找到穩定狀態,則可以應用一些其他技巧:使用幾行代碼(此處未顯示),您可以在每次往返過程中根據脈沖能量重新計算光纖的增益-只需好像增益可以立即做出響應。這樣,您可以有效地抑制張弛振蕩,并更快地獲得最終結果。另一種可能性是人為地將增益飽和度大幅度提高(例如100),同時將有效脈沖重復頻率降低相同因子。這將非常有效地加速弛豫振蕩,從而極大地節省了計算時間。當然,

另一個問題是您可能不確定要達到穩定狀態需要往返多少次。因此,您可能需要定義一個模擬往返的函數,直到基本的脈沖屬性(能量,持續時間,帶寬)不再實質改變為止:

 


然后,您可以隨時調用該函數以有效地計算出穩態。如果有效,它將返回1;如果在給定的最大往返次數內找不到穩態,它將返回0。您可以根據情況輕松修改該策略的詳細信息。
我為您提供該功能的應用示例。讓我們假設我們要生成一個圖表,在該圖表中我們要繪制穩態脈沖能量和持續時間與泵浦功率的函數關系:
"Variation of Pump Power"
 
x: 400, 600
"pump power (mW)", @x
y: 0, 20
frame
 
! for x := CS_x1 to CS_x2 step 20 do
  begin
    set_device(1);  { active fiber }
    set_P_in(pump, x * mW);
    if FindSteadyState(0.01, 1000) then
    begin
      point(x + i * E_p() / nJ, "R");
        { filled rectangle for pulse energy in nJ }
      point(x + i * tau_p() / ps, "t");
        { open triangle for pulse duration in ps }
    end;
  end
 

其他情況

上面的示例向您展示了如何用較少的代碼來實現相對復雜的仿真。以下是一些針對可能情況的示例:

  • 考慮一個由種子激光器的連續脈沖序列饋送的放大器系統。同樣,您可以模擬脈沖能量如何向穩態發展。您還可以研究,例如,如果您在脈沖之間有隨機的時間間隔,或者只是缺少一些脈沖,或者是一系列脈沖串,或者泵浦功率或種子脈沖的特性發生波動等,那么它是如何波動的。

  • 甲再生放大器工作使得一個有時注入種子脈沖,然后讓它在演變一定數量往返,然后噴射它。在抽運放大器晶體一段時間后,可以執行下一個放大周期。在這里,可以輕松實現一種功能,該功能可以在給定數量的諧振器往返行程下模擬完整的放大周期。同樣,可以使用一種函數來模擬這種放大循環,直到達到穩態為止。有些系統會出現分叉甚至混亂的情況,請參閱一些在線示例案例。

其他光學軟件

在上面的示例中,您已經了解了如何通過不同的光纖發送脈沖,以及如何應用具有某些光學損耗或某些飽和吸收的光學組件。應用其他光學組件還有許多其他功能:
  • pp_dispersion()用于應用色散       高達4階
  • pp_multiply_expr_f()用于將脈沖的頻域幅度乘以與頻率相關的因子,
    例如,用于施加任意色散(相移)或帶通濾波器;可以在時域中完成類似
    的操作,例如對于光調制器
  • pp_prism_pair()和pp_grating_pair()用于分別使用給定參數
    (例如間距,每毫米的行數等)應用棱鏡對或光柵對的色散。
  • pp_compress()用于自動優化的色散壓縮器(最高4階)
  • pp_noise()用于添加一些隨機噪聲
  • pp_SPM()用于具有自相位調制的光學元件
  • pp_add_pulse()用于相干地添加脈沖,例如在干涉儀的模擬中或附加
    脈沖模式鎖定中    

    這些組件使您能夠模擬所有常見類型的設置,以生成或操縱超短脈沖,僅(到目前為止)沒有參數非線性增益。

    所有這些都經過精心開發。舉個例子,意識到像 pp_multiply_expr_f()和pp_prism_pair()之類的函數通常使用相同的參數多次應用。因此,實現了這些功能,以便存儲從頻域脈沖幅度獲得的頻率相關因素,并可以在以后的函數調用中重新使用這些因素。即使在仿真中使用了多個參數集,該方法也可以工作。由于用戶甚至不必考慮這些技巧,因此此類計算的性能可能會非常高。
    希望您已經看到擁有如此強大的工具會非常有趣。研究人員可以使用它來相對快速地進行相當復雜的研究,并且在行業中,您可以快速分析系統的行為以優化系統或了解某些特性。另一種選擇是在盲飛模式下工作–在實踐中效率不高……
    當然,超短脈沖仿真不是一件容易的事,涉及很多物理問題,也涉及很多重要的實踐方面。因此,不僅要擁有一些好的軟件,而且要獲得強大的 技術支持也很重要
    登錄后免費查看全文
    立即登錄
    App下載
    技術鄰APP
    工程師必備
    • 項目客服
    • 培訓客服
    • 平臺客服

    TOP