Tutorial: Modellierung der Pulsverstärkung
Dies ist Teil 3 eines Tutorials über die Modellierung der Pulsverstärkung von Dr. Paschotta.
2: Verstärkungssättigung
3: Simulation von Pumpen und Pulsverstärkung
4: Multimode-Verstärker
5: Verstärkte Spontanemission
6: Bulk-Verstärker
Teil 3: Simulation von Pumpen und Pulsverstärkung
Behandelte Fragen:
Typischerweise laufen Pumpen und Pulsverstärkung auf sehr verschiedenen Zeitskalen ab:
- Das Pumpen geschieht typischerweise innerhalb einer Zeit in der Größenordnung der Lebensdauer des oberen Laserniveaus des Verstärkermediums. Bei einem Faserverstärker sind das normalerweise einige hundert Mikrosekunden bis einige Millisekunden.
- Die verstärkten Pulse haben oft Dauern von Nanosekunden, Pikosekunden oder sogar Femtosekunden.
Selbst bei gepulstem Pumpen wenden wir bei diodengepumpten Faserverstärkern normalerweise eine Pumpzeit an, die weit länger ist als die Pulsdauer.
Deshalb ist es in den meisten Fällen angebracht, diese beiden Dinge getrennt zu simulieren:
- Für das Pumpen über etwa einige hundert Mikrosekunden, solange noch kein Signallicht vorhanden ist, können wir eine recht grobe zeitliche Auflösung verwenden, etwa 10 % der Lebensdauer des oberen Laserniveaus. Genauer sollten wir in Fällen mit Pumpsättigung (durch Pumpleistungen, die die Sättigungsleistung der Pumpe erreichen oder überschreiten) eine kürzere effektive Lebensdauer verwenden, gegeben durch ($\tau_\mathrm{eff} = 1 / (1 / \tau_\mathrm{upper} + P_\mathrm{pump} / E_\mathrm{sat})$), wobei ($E_\mathrm{sat}$) die Sättigungsenergie ist. Diese Korrektur ist besonders beim gepulsten Pumpen wichtig.
- Für die Pulsverstärkung brauchen wir eine weit höhere zeitliche Auflösung – typischerweise in der Größenordnung von 1/10 der Pulsdauer oder weniger. Die numerischen Schritte sollten so kurz sein, dass die Verstärkungssättigung innerhalb eines Schritts nicht sehr stark ist. (Sie können die obige Formel anwenden, angepasst an die Spitzenleistung des Signals – die um Größenordnungen höher sein kann als die Pumpleistung und die Lebensdauer des oberen Laserniveaus in diesem Fall irrelevant macht.)
Wollte man alles in einer einzigen Zeitspur simulieren, so müsste diese eine riesige Zahl von Punkten enthalten, was zu einer hinsichtlich Speicher und Rechenzeit höchst ineffizienten Berechnung führt – es sei denn, man verwendet eine (möglicherweise umständliche) automatische Anpassung der Zeitschrittweite.
Beachten Sie auch, dass Diagramme für solche kombinierten Zeitspuren problematisch wären: Auf einer solchen Zeitskala lässt sich der Puls grafisch nicht auflösen. Besser stellt man die Entwicklung der Verstärkung während der Pumpzeit dar und in einem getrennten Diagramm die Zeitabhängigkeit während der Pulsverstärkung.
Repetitive Verstärkung
In einer einfachen Situation würden wir
- etwa mit dem ungepumpten Verstärker beginnen,
- dann eine Zeit lang pumpen (möglicherweise gefolgt von einer Wartezeit, in der wir einen Teil der Energie durch spontane Emission verlieren)
- und schließlich die Pulsverstärkung simulieren,
und das alles nur einmal durchführen. Oft haben wir es jedoch mit repetitiver Verstärkung zu tun, meist mit konstanter Pulswiederholrate. Dann genügt es womöglich nicht, einen einzigen Verstärkungszyklus zu simulieren, denn es kommt darauf an, wie viel Anregung der laseraktiven Ionen nach jedem Zyklus übrig bleibt.
Müssen wir die vollständige zeitliche Entwicklung analysieren – etwa beginnend mit dem ungepumpten Verstärker –, so können wir einfach folgendermaßen vorgehen:
- Den Anfangszustand initialisieren (etwa ungepumpter Verstärker, also Anregungen null, oder gepumpter Verstärker).
- Wiederholt Pumpen und anschließende Pulsverstärkung simulieren und die Ergebnisse gegebenenfalls darstellen und/oder speichern.
Für einen Beispielfall zeigt das folgende Diagramm die Entwicklung der Pulsenergie innerhalb der ersten 10 Pulse, wobei der Anfangszustand des Verstärkers durch langes Pumpen ohne Eingangssignal bestimmt wurde:
Innerhalb von etwa 10 Zyklen konvergiert die Pulsenergie gegen ihren stationären Wert. In diesem Fall hatten wir am Ausgang des Verstärkers einen Sättigungsparameter von 0,62, also eine erhebliche, aber nicht sehr starke Sättigung durch einen einzelnen Puls.
Es mag überraschen, dass die Verstärkung (grüne Kurve) trotz einer so hohen Wiederholrate von 10 kHz relativ scharf abflacht (bei einem Pulsabstand von nur ≈10 % der Lebensdauer des oberen Laserniveaus); das liegt daran, dass die Verstärkungssättigung durch ASE verursacht wird (siehe Teil 5).
In Fällen mit sehr kleinem Sättigungsparameter, wie wir sie typischerweise bei Eingangssignalen aus einem modengekoppelten Laser bei voller Pulswiederholrate erleben, braucht es weit mehr Verstärkungszyklen bis zum stationären Zustand – möglicherweise viele tausend. Interessiert nur der stationäre Zustand, so sollten wir ein weit effizienteres Verfahren verwenden:
- Ein Verstärkermodell für den kontinuierlichen Betrieb verwenden, bei dem die Signal-Eingangsleistung die mittlere Leistung des Pulszugs ist.
- Einen einzelnen Verstärkungszyklus durchführen, beginnend mit den Anregungen aus diesem Modell für den kontinuierlichen Betrieb.
Nun, dieser Ansatz kann scheitern, etwa wenn wir Femtosekunden-Pulse mit einer erheblichen Änderung von Pulsenergie und Pulsform während der Ausbreitung haben, die sich mit dem Modell für den kontinuierlichen Betrieb nicht nachbilden lässt. Für solche Fälle gibt es einen ausgefeilteren Kniff, um den stationären Zustand weit schneller zu finden:
- Die Simulation mit einer etwa 1000-fach verringerten Pulswiederholrate durchführen.
- Die Pulsenergie wie zuvor belassen, aber die Wirkung der Verstärkungssättigung künstlich um denselben Faktor 1000 erhöhen.
So können Sie den stationären Zustand mit 1000-mal weniger simulierten Verstärkungszyklen finden. Nur sollte dieser Faktor niedrig genug gewählt werden, dass der (ebenfalls mit diesem Faktor angepasste) Sättigungsparameter deutlich unter 1 bleibt; ein Wert in der Größenordnung von 0,1 ist angemessen.
Hinweis: Würden Sie einfach die Pulsenergie um den Faktor 1000 erhöhen, so erhielten Sie furchtbar starke nichtlineare Effekte und überhaupt keine realistischen Ergebnisse. Sie wollen die ursprüngliche Spitzenleistung in Ihrer Simulation beibehalten und dennoch die Wirkung der Verstärkungssättigung erhöhen – mit einer einfachen Manipulation in den Gleichungen. Unsere Software RP Fiber Power hat dafür eine Funktion set_gain_sat(), um einen solchen Faktor für die Verstärkungssättigung einzuführen.
Es kann auch praktisch sein, eine Funktion zu programmieren, die den stationären Zustand findet. Sie kann etwa wiederholte Pump- und Verstärkungszyklen simulieren, bis sich ein Satz von Pulsparametern (Energie, Dauer, Bandbreite) nicht mehr wesentlich ändert. In RP Fiber Power macht die Skriptfähigkeit das leicht; der Anwender kann das ohne unseren Quellcode umsetzen.
Hier ein Beispiel, wie sich eine solche Funktion umsetzen lässt, unter der Annahme, dass die Funktionen SimulatePumping() und SimulatePulsePropagation() bereits definiert sind, und mit dem oben beschriebenen Kniff zur Minimierung der Zahl simulierter Zyklen:
FindSteadyState() :=
{ Find the steady state,
i.e., simulate pulse amplification / pumping cycles
until the relative change in pulse energy is small.
Directly begin with amplification, assuming that pumping has already been done.
Return the obtained output pulse energy. }
begin
global signal, T_pump;
const accuracy = 0.2e-3;
var E_s_out, E_last, NoCycles, N_b;
SimulatePulsePropagation();
E_s_out := E_p();
NoCycles := 0;
repeat
inc(NoCycles);
N_b := round(0.05 * E_sat(signal) / E_s_out); { pulses in one bunch to simulate }
if N_b < 1 then N_b := 1;
E_last := E_s_out;
SimulatePumping(N_b * T_pump);
set_gain_sat(N_b);
SimulatePulsePropagation();
E_s_out := E_p();
until abs(E_s_out - E_last) < accuracy * E_last and NoCycles >= 3;
set_gain_sat(1);
E_s_out;
end
Gepulstes Pumpen
In vielen Fällen werden Faserverstärker kontinuierlich gepumpt. Bei niedrigen Pulswiederholraten ist das jedoch womöglich nicht effizient: Ist die Pumpzeit (begrenzt durch die Zeit zwischen zwei Pulsen) so lang wie die Lebensdauer des oberen Laserniveaus oder länger, so geht viel Anregung verloren, bevor sie genutzt werden kann. Man kann dann gepulst pumpen: Nach jedem Puls wartet man zunächst eine Weile ohne Pumpen, schaltet die Pumpe dann eine Weile ein und koppelt anschließend den nächsten Signalpuls ein.
Das ist natürlich nicht schwer zu simulieren. Im Grunde beginnen wir jeden “Pump”-Zyklus einfach mit einer Wartezeit, nach der wir die Pumpe einschalten. Ebenso könnten wir Pumppulse mit einem nicht rechteckigen zeitlichen Verlauf verwenden. Nur wenn die Dauer der Pumppulse recht kurz wird (und die Pumpleistung entsprechend hoch), müssen wir wieder über die nötige zeitliche Auflösung nachdenken und Pump- und Wartephasen möglicherweise getrennt mit unterschiedlicher zeitlicher Auflösung simulieren.
Schlussfolgerungen
Einige Schlussfolgerungen aus diesem Teil des Tutorials:
- Es empfiehlt sich im Allgemeinen, Pumpen und Pulsverstärkung getrennt mit unterschiedlichen zeitlichen Auflösungen zu simulieren.
- Bei repetitiver Verstärkung sollten wir verschiedene Bereiche des Sättigungsparameters unterscheiden und passende Simulationsansätze wählen. Mit solchen Techniken lassen sich die Rechenzeiten recht niedrig halten.
Weiter zu Teil 4: Multimode-Verstärker oder zurück zur Startseite.
