RP Coating – das Software-Werkzeug für das Design optischer Vielschichtstrukturen
Überblick | Anwendung | Modell | Benutzung | Demos | Versionen |
Beispiel: Etalon mit Luftspalt
Hier analyiseren wir ein Etalon bestehend aus zwei einfachen Spiegeln mit einem Luftspalt dazwischen. Dieses Design kann als eine einzige Struktur beschrieben werden, die den Luftspalt als eine “Schicht” enthält:
d_units: nm l_units: nm l_Bragg := 1000 { Bragg wavelength } N_Bragg := 2 { number of layer pairs } d := 0.1 mm / d_units { distance between the mirrors (in d_units) } beam from superstrate substrate: BK7 for j := 1 to N_Bragg do begin * SiO2, l / 4 at l_Bragg * TiO2, l / 4 at l_Bragg end * air, d = d, d_max = d for j := 1 to N_Bragg do begin * TiO2, l / 4 at l_Bragg * SiO2, l / 4 at l_Bragg end superstrate: BK7
Das erste Diagramm zeigt die spektrale Transmittivität:
diagram 1: "Transmissivity Profile" x: 990, 1010 "wavelength (nm)", @x y: 0, 100 "transmissivity (%)", @y frame hx hy f: 100 * T(x), color = red, width = 3, step = 1
Man erkennt die Transmissions-Peaks, die aus den Resonanzen der Struktur resultieren.
Ein zweites Diagramm zeigt die Transmittivität für einen variablen Einfallswinkel:
diagram 2: "Transmissivity for Different Angles of Incidence" "(for p polarization)" x: 990, 1010 "wavelength (nm)", @x y: -5, +5 "angle of incidence (°)", @y frame hx hy cp: color_I(T_p(x, y * deg))
Man sieht, dass die Resonanzen bei Verkippung des Etalons zu kürzeren Wellenlängen verschoben werden.
Außerdem erkennt man, dass ein Gauß-Strahl mit z. B. 100 μm Strahlradius, der eine Divergenz von nur 3,2 mrad = 0.18° hat, über seinen Winkel-Bereich eine annähernd konstante Transmission erfahren wird, solange der Einfallswinkel nicht zu groß wird.
Das dritte Diagramm zeigt die Gruppenverzögerung in Transmission als Funktion der Wellenlänge. Die Gruppenverzögerung ist auf den Resonanzen (die als gepunktete Linie gezeigt werden) am höchsten:
diagram 3: "Group Delay" x: 990, 1010 "wavelength (nm)", @x y: -2, +2 "T_g (ps)", @y frame hx hy legpos 420, 150 clip f: T_g_t(x) / ps, color = green, width = 3 f: CS_y1 + T(x) * (CS_y2 - CS_y1), style = dotted f: 0
Als nächstes betrachten wir die Gruppenverzögerungsdispersion (group delay dispersion, GDD), die im Wesentlichen die Frequenzableitung der Gruppenverzögerung ist:
diagram 4: "Chromatic Dispersion" x: 998, 1002 "wavelength (nm)", @x y: -2, +2 "GDD (ps^2)", @y frame hx hy legpos 420, 150 clip f: GDD_t(x) / ps^2, color = blue, width = 3, step = 1, maxconnect = 1 f: CS_y1 + R(x) * (CS_y2 - CS_y1), style = dotted f: 0
Wir können auch die Feldintensität im unteren Mirror und darum herum anzeigen lassen:
diagram 6: "Field Penetration" x: 990, 1010 "wavelength (nm)", @x y: -500, +2000 "depth in the mirror structure (nm)", @y frame ! begin { show the color scale on the right side of the diagram } var x1, x2; x1 := CS_x2 + 0.02 * (CS_x2 - CS_x1); x2 := CS_x2 + 0.04 * (CS_x2 - CS_x1); for y := CS_y1 to CS_y2 step (CS_y2 - CS_y1) / 500 do begin setcolor(color_I((y - CS_y1) / (CS_y2 - CS_y1))); line(x1 + i * y, x2 + i * y); end; setcolor(black); end ! (set_dir(1); R(lambda_t)) cp: color_I((R(x); E2(y) / 4)) { color plot } ; Show the layer boundaries: f: 0 f: get_z(j), style = solid, color = lightgray, for j := 2 to nolayers() f: get_z(2 * N_Bragg + 1) "substrate", 200c, (-200)c "mirror", 200c, (0.5 * get_z(2 * N_Bragg + 1))c "air", 200c, (get_z(2 * N_Bragg + 1) + 200)c
Schließlich erkunden wir noch, was mit einem ultrakurzen Puls geschieht, der durch das Etalon geschickt wird. Obwohl RP Coating nicht explizit Funktionen für ultrakurze Pulse anbietet, macht es die leistungsfähige Skriptsprache einfach, solche Dinge zu simulieren.
Zuerst definieren wir den hereinkommenden Puls mit einer Dauer von 2 ps:
A0 := 1 { peak amplitude } tau0 := 2000 fs { duration } l0 := 1000 nm { center wavelength } f0 := c / l0 { center frequency } A0%(t) := A0 / cosh(1.76 * t / tau0) { envelope function } E0(t) := Re(A0%(t) * expi(2pi * f0 * t)) { electric field }
Dann definieren wir ein Feld für die komplexen Amplituden in der zeitlichen Domäne und ein weiteres für die Frequenzdomäne:
T := 20 ps { width of the time range } N := 2^10 { number of points } dt := T / N { temporal resolution } t1 := -T / 2 + dt { beginning of time trace } t2 := T / 2 { end of time trace } df := 1 / T { frequency resolution } f2 := (N / 2) * df { end of frequency trace } f1 := -f2 + df { beginning of frequency trace } defarray A%[0, T - dt, dt] (periodic) defarray A_f%[f1, f2, df] (periodic)
Nun führen wir die eigentliche Berechnung durch: Wie speichern die ursprünglichen Amplituden in der zeitlichen domäne, gehen mit einer Fast Fourier Transform (FFT) in die Frequenzdomäne über, wenden dort den Effekt der Transmission durch das Etalon an und transformieren schließlich zurück in die zeitliche Domäne:
calc begin for t := t1 to t2 step dt do A%[t] := A0%(t); FFT_n(A%[], A_f%[], +1); for f := f1 to f2 step df do A_f%[f] := t%(c / (f0 + f) / l_units) * A_f%[f]; FFT_n(A_f%[], A%[], -1); end
Schließlich können wir Funktionen für das Feld am Ausgang definieren und diese für Plots verwenden:
A%(t) := A%[t] E(t) := Re(A%(t) * expi(2pi * f0 * t)) f: E0(x * fs), color = lightgray, step = 1 f: E(x * fs), color = blue, step = 1 f: abs(A0%(x * fs)), color = lightgray, step = 1 f: -abs(A0%(x * fs)), color = lightgray, step = 1 f: abs(A%(x * fs)), color = blue, step = 1 f: -abs(A%(x * fs)), color = blue, step = 1
Wir erhalten das Folgende:
Der transmittierte Puls (in blau) ist gegenüber dem einfallenden (grau) verzögert. Dies liegt daran, dass es mehrere Umläufe in der Struktur braucht, bis das resonante Feld innen aufgebaut ist.
Nun tun wir dasselbe für einen Puls mit einer Dauer von nur 200 fs. Dies führt zu mehreren transmittierten Pulsen, die durch eine Umlaufzeit in der Struktur separiert sind:
(Die begrenzte Auflösung des Grafikfensters lässt es nicht zu, die schnellen Feldoszillationen voll aufzulösen.)
Da die Bandbreite des Pulses in der Größenordnung des freien Spektralbereichs liegt, können wir nicht erwarten, dass wir lediglich einen einzigen Puls erhalten, der um die Gruppenverzögerung bei der Zentralwellenlänge verzögert wird.