Software … leistungsfähige Tools für Ihre Forschung & Entwicklung!

RP Coating – das Software-Werkzeug für das Design optischer Vielschichtstrukturen

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
transmissivity profile of an air-spaced etalon

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))
transmissivity spectrum of an air-spaced etalon for different angles of incidence

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
group delay for transmission through an air-spaced etalon

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
group delay dispersion for transmission through an air-spaced etalon

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
optical intensities in air-spaced etalon

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.7627 * 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:

ultrashort pulse transmitted through an etalon

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:

ultrashort pulse transmitted through an etalon

(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.

(zurück zu der Liste der Beispiele)