Синхронизация мод это метод (или в действительности группа методов) получения ультракоротких импульсов от лазеров, работающих в режиме синхронизации мод. В них лазерный резонатор содержит какое-либо устройство (синхронизатор мод), предназначенное для осуществления синхронизации мод. Это либо активный элемент (оптический модулятор), либо нелинейный пассивный элемент (насыщающийся поглотитель), который вызывает формирование ультракоротких импульсов, циркулирующих в лазерном резонаторе.
"RP Encyclopedia. Mode Locking"Mode locking (sometimes written as modelocking) is a method (or actually a group of methods) to obtain ultrashort pulses from lasers, which are then called mode-locked lasers. Here, the laser resonator contains some kind of mode locking device (mode locker) – either an active element (an optical modulator) or a nonlinear passive element (a saturable absorber), which causes the formation of an ultrashort pulse circulating in the laser resonator.
Описание метода синхронизации мод
Лазеры, в которых реализован метод синхронизации мод, всегда работают в многомодовом режиме с большим числом одновременно генерирующих продольных мод. Это означает, что полоса усиления активной среды намного больше частотного интервала между соседними продольными модами.
На рис. 1 схематически показан контур усиления лазерной среды, вертикальными линиями красного и черного цвета местоположение продольных мод резонатора на частотной шкале. Расстояние по частоте между ними, то есть межмодовая разность частот, приблизительно равна
где c - скорость света, L - длина резонатора, n - показатель преломления среды, который влияет на фазовую скорость распространения волны. Продольные моды, которые попадают в полосу усиления лазера шириной ΔνL и на которых одновременно может происходить лазерная генерация, показаны черным цветом.
Для проведения анализа того, к чему может привести одновременная генерация большого числа продольных мод, сделаем некоторые упрощения. Предположим, что поперечные моды, принадлежащие той же самой продольной моде, имеют одинаковые частоты, так что продольные моды не расщеплены. И кроме того, предположим, что контур усиления имеет прямоугольную формы и все моды генерируют с одинаковой амплитудой.
Рассмотрим какую-нибудь продольную моду внутри резонатора. Любая собственная мода резонатора должна иметь вид стоячей волны, которую всегда можно представить как наложение двух бегущих друг на встречу другу линейно поляризованных волн с одинаковыми частотами и с одинаковыми амплитудами вектора электрической напряженности E0.
В этом выражении q есть номер рассматриваемой продольной моды, целое положительное число, ωq и kq - круговая частота и волновой вектор моды, Δφq - фаза и z - направление распространения.
Как уже было сказано, эти бегущие волны формируют стоячую волну, у которой электрическая напряженность на зеркалах равна нулю. Используя правила сложения косинусов можем переписать (2) в виде
Если положить координаты зеркал резонатора равными и , то в силу выполнения граничных условий kq должно быть равным
И одновременно частота ωq будет иметь значение
Рассмотрим теперь к какому результату может привести суперпозиция (сложение) большого числа одновременно генерирующих продольных мод. Соответствующие преобразования легче проводить не со стоячими волнами, а с их бегущими составляющими по отдельности. Выберем для определенности первое слагаемое в выражении (2) и преобразуем его к более простому виду:
Здесь t' это
а Ω это межмодовая круговая частота:
Δφq возьмем в виде
что означает, что разность фаз между любыми соседними модами одинакова. Именно такой случай, как мы увидим далее, представляет наибольший интерес и называется режимом синхронизации мод.
В силу того, что амплитуда всех мод считается одинаковой, сумму по всем модам можно вычислить аналитически.
В этом выражении qmin и qmax есть числа первой и последней излучаемых продольных мод.
Сумма в (10) представляет собой геометрическую прогрессию, для которой можно получить замкнутое выражение. Действительно
где .
Подставляя (11) в (10) получаем
В этой формуле
относительная фаза, привязанная к координатам, связанным с бегущей волной,
количество мод,
эффективный номер центральной моды. Если количество мод четное число, то полуцелое число, в противном случае - целое.
Выражение (12) показывает, что результирующее поле синхронизированных мод есть бегущая волна с некоторой средней частотой и амплитудой E0
умноженной на дополнительный амплитудный множитель
Этот множитель имеет форму пика, высота и ширина которого зависит от N. По сути это есть импульс, формируемый внутри лазерного резонатора, когда лазер работает в режиме синхронизации мод. Вид этой функции для одного из значений N представлен на рис.2. На рис.3 показан квадрат этой функции, который пропорционален распределению энергии внутри импульса.
Максимум импульса приходится на значения α
когда знаменатель и числитель в (17) одновременно становятся равными 0. Раскрытие неопределенности приводит к значению
что полностью соответствует тому, что показано на рис.2 и 3.
Появление импульса обусловлено тем, что синхронизированные моды в определенный момент времени и в определенной точке пространства одновременно достигают своих максимальных значений. Это иллюстрируется рисунком 4.
α это сложный аргумент, связанный со временем и координатой формулами (13), (7) и (8). При изменении времени, то есть переменной t, величина α может оставаться равной 0 только при соответствующем изменении z в (7). Это означает, что импульс движется со скоростью c/n.
Согласно выражению (18) всплески импульсов могут появляться при различных значениях α и их количество бесконечно.
Разберем, что означает это множество импульсов. Как нетрудно установить из (18), разность значений α для двух соседних импульсов равна 2π. Изменить α на 2π, то есть перейти от одного импульса к другому, можно большим количеством способов, одновременно меняя t и z в (7). Но наиболее простая и физически ясная интерпретация может быть дана в двух случаях, когда меняется либо t либо z.
Таким образом, лазер, работающий в режиме синхронизации мод, создает серию импульсов, как это показано на рис. 6.
Следует сказать несколько слов о второй бегущей волне в выражении (2).
Ей соответствуют те же выражения (6) - (19), что и рассмотренной, но с тем отличием, что время t' определяется как
Такие волны с разными q определяют импульс, движущийся в противоположном направлении. Его можно рассматривать как прямой импульс, который отразился от зеркала резонатора, и продолжил движение в обратном направлении. Оба импульса не могут существовать одновременно.
На следующем рисунке показана для наглядности анимация работы лазера, функционирующего в режиме синхронизации мод. Весь процесс рассчитывается небольшой программой на javascript
по формулам этого раздела. Единственное отличие заключается в том, что здесь принимается во внимание потеря энергии импульса при отражении от полупрозрачного выходного зеркала и его усиление при прохождении лазерной среды, так что амплитуда импульса меняется при его движении.
Рис. 8 демонстрирует движение пула продольных синхронизированных мод, а также их суммы, дающей результирующий высокочастотный импульс. Количество продольных мод равно 15 с продольным числом q, находящемся в пределах от 50 до 64.
Ниже можно просмотреть тексты программы на javascript, которые реализуют анимацию работы лазера в режиме синхронизации мод и образование импульса как суперпозицию продольных мод. Центральными элементами отображения и анимации является элемент canvas
и функция requestAnimationFrame()
.
// Animation of the mode locked laser.
(function(){
var btelem = document.getElementById('start');
btelem.addEventListener("click",function(e){
if(!anim){
idreq = window.requestAnimationFrame(animate);
this.innerText = 'Остановить анимацию';
}
else{
window.cancelAnimationFrame(idreq);
this.innerText = 'Начать анимацию';
}
anim = !anim;
});
// mode locked laser
var anim = false; // индикатор состояния анимации.
var canvas = document.getElementById('myCanvas');
var ctx = canvas.getContext('2d');
var cw = canvas.width;
var ch = canvas.height;
var mirx = 0.2 * cw; // x postion of the right mirror.
var dt = 0.09; // Временной интервал анимации.
var t1 = -dt; // начальный момент времени.
var t2 = dt; // начальный момент времени.
//var way = 'Field';
var way = 'Energy';
var npoints = 1000;
var mirthick = 10; // Толщина зеркала.
var shmir = 10; // Отступы зеркал от коая.
var dmir = 100; // Диаметр зеркала.
var L = mirx - 2*shmir - mirthick; // Длина резонатора.
var startx = shmir + mirthick/2; // x - координата поверхности левого зеркала.
var qmin =100.; // Начальное число полуволн для первой волны.
var qmax =200.; // Начальное число полуволн для последней волны.
var N = qmax - qmin +1.;
var splitcoef = 0.5 // T of the mirror.
var scaleFactor;
if(way == 'Field')
scaleFactor = 40/N;
else
scaleFactor = 40/(N*N);
var dx = L/(npoints-1); // длина элементарного участка.
var idreq;
function oneslide(){
ctx.clearRect(0,0,cw,ch);
ctx.beginPath();
ctx.fillStyle = '#f2daec';
ctx.fillRect(startx, ch/3+10, L, ch/3-20);
ctx.stroke();
mirrors(mirthick, shmir, ch, dmir);
ctx.lineWidth = 2;
var omega = Math.PI/L;
var dangle = Math.PI/(npoints-1); // добавка к углу
t1 += dt;
oneTrace(t1, way, scaleFactor, N, dangle, dx, npoints, startx, ch/2, 'toleft', splitcoef);
t2 -= dt;
oneTrace(t2, way, scaleFactor, N, dangle, dx, npoints, startx, ch/2, 'toright', splitcoef);
}
function animate(){
oneslide();
idreq = window.requestAnimationFrame(animate);
}
function oneTrace(t, way, scaleFactor, N, dangle, dx, npoints, startx, yt, direction, splitcoef){
var angle = t;
var x = 0;
ctx.beginPath();
ctx.strokeStyle = "#0000FF";
var Eqt =fieldOrPower(way, scaleFactor, N, angle);
var refintens = 1 - splitcoef/2;
Eqt = Eqt * refintens;
ctx.moveTo(startx, -Eqt+yt);
for(var k=1; k < npoints; k++){
x += dx;
angle += dangle;
Eqt =fieldOrPower(way, scaleFactor, N, angle);
var intcorr = (k/npoints)*splitcoef/2;
if(direction == 'toleft'){
Eqt = Eqt * (refintens - intcorr);
}
else{
Eqt = Eqt * (refintens + intcorr);
}
ctx.lineTo(x + startx, -Eqt+yt);
}
ctx.stroke();
if(direction == 'toright'){
ctx.beginPath();
ctx.strokeStyle = "#FF0000";
for(k=1; k < 5*npoints; k++){
x += dx;
angle += dangle;
Eqt =splitcoef * fieldOrPower(way, scaleFactor, N, angle);
ctx.lineTo(x + startx, -Eqt+yt);
}
ctx.stroke();
}
}
// Pulse function
function snds(N1,angle1){
if(Math.sin(angle1/2) == 0.)
return N1;
else
return Math.sin(N1*angle1/2)/Math.sin(angle1/2);
}
// Mirrors
function mirrors(mirthick, shmir, ch, dmir){
ctx.lineWidth = mirthick;
ctx.beginPath();
ctx.strokeStyle = "#000000";
// Левое зеркало
ctx.moveTo(shmir, (ch - dmir)/2);
ctx.lineTo(shmir, (ch + dmir)/2);
ctx.stroke();
ctx.beginPath();
ctx.strokeStyle = "#d2a0d8";
// Правое зеркало
ctx.moveTo(mirx-shmir, (ch - dmir)/2);
ctx.lineTo(mirx-shmir, (ch + dmir)/2);
ctx.stroke();
}
function fieldOrPower(way, scaleFactor, N, angle){
if(way == 'Field'){
return scaleFactor * snds(N, angle);
}
else
{
return scaleFactor * snds(N, angle) **2;
}
}
oneslide();
})();
(function(){
var btelem = document.getElementById('start1');
btelem.addEventListener("click",function(e){
if(!anim){
idreq = window.requestAnimationFrame(animate);
this.innerText = 'Остановить анимацию';
}
else{
window.cancelAnimationFrame(idreq);
this.innerText = 'Начать анимацию';
}
anim = !anim;
});
// mode locked laser
var anim = false; // индикатор состояния анимации.
var canvas = document.getElementById('myCanvas1');
var ctx = canvas.getContext('2d');
var cw = canvas.width;
var ch = canvas.height;
var dt = 4.; // Временной интервал анимации.
var t = -dt; // начальный момент времени.
var npoints = 400;
var mirthick = 10; // Толщина зеркала.
var shmir = 10; // Отступы зеркал от коая.
var dmir = 100; // Диаметр зеркала.
var L = cw - 2*shmir - mirthick; // Длина резонатора.
var startx = shmir + mirthick/2; // x - координата поверхности левого зеркала.
var qmin =50; // Начальное число полуволн для первой волны.
var qmax =64; // Начальное число полуволн для последней волны.
var E0 = 30; // Амплитуда.
var sumE = [];
sumE.length = npoints;
var dx = L/(npoints-1); // длина элементарного участка.
var y1line = 105; // y координаты первой оси
var y2line = 275; // y координаты второй оси
var y3line = 445; // y координаты третьей оси
var idreq;
/* ----------------- */
// Фиксированная часть
function statpart(){
ctx.clearRect(0,0,cw,ch);
ctx.fillStyle = '#e8f2f4';
ctx.fillRect(0, 0, cw, 170);
ctx.fillStyle = '#f2daec';
ctx.fillRect(0, 171, cw, 340);
ctx.fillStyle = '#ffffc4';
ctx.fillRect(0, 341, cw, ch);
ctx.lineWidth = 1;
ctx.beginPath();
ctx.moveTo(0,170);
ctx.lineTo(cw,170);
ctx.moveTo(0,340);
ctx.lineTo(cw,340);
ctx.stroke();
ctx.lineWidth = mirthick;
ctx.beginPath();
ctx.strokeStyle = "#FF0000";
// Первая пара зеркал
// Левое зеркало
ctx.moveTo(shmir, y1line - dmir/2);
ctx.lineTo(shmir, y1line + dmir/2);
//Правое зеркало
ctx.moveTo(cw-shmir, y1line - dmir/2);
ctx.lineTo(cw-shmir, y1line + dmir/2);
// Вторая пара зеркал
// Левое зеркало
ctx.moveTo(shmir, y2line - dmir/2);
ctx.lineTo(shmir, y2line + dmir/2);
//Правое зеркало
ctx.moveTo(cw-shmir, y2line - dmir/2);
ctx.lineTo(cw-shmir, y2line + dmir/2);
// Третья пара зеркал
// Левое зеркало
ctx.moveTo(shmir, y3line - dmir/2);
ctx.lineTo(shmir, y3line + dmir/2);
//Правое зеркало
ctx.moveTo(cw-shmir, y3line - dmir/2);
ctx.lineTo(cw-shmir, y3line + dmir/2);
ctx.font = "18px sans-serif";
ctx.fillStyle = 'red';
var s1 = 'Продольные моды';
var tm = ctx.measureText(s1);
ctx.fillText(s1,(cw - tm.width)/2 ,35);
s1 = 'Напряженность в импульсе';
tm = ctx.measureText(s1);
ctx.fillText(s1,(cw - tm.width)/2 ,205);
s1 = 'Мощность в импульсе';
tm = ctx.measureText(s1);
ctx.fillText(s1,(cw - tm.width)/2 ,375);
ctx.stroke();
}
// Анимация продольных мод.
function longmodes(){
ctx.lineWidth = 1;
ctx.strokeStyle = "#0000FF";
sumE.fill(0);
for(var q = qmin; q <= qmax; q++)
{
var omegaq = Math.PI*q/L; // Частота колебаний моды. Скорость света равна 1;
var tfact = Math.cos(omegaq * t);
var dangle = Math.PI*q/(npoints-1); // добавка к углу на элементарном участке.
var angle = 0;
var x = 0;
ctx.beginPath();
ctx.moveTo(startx, y1line);
for(var k=1; k < npoints; k++){
x += dx;
angle += dangle;
//var Eqt = -tfact * E0* Math.sin(angle);
var Eqt = -E0 * Math.sin(omegaq*(t-x))/2;
Eqt += E0 * Math.sin(omegaq*(t+x))/2;
/* In the form of two running waves.
*/
ctx.lineTo(x+startx, Eqt+y1line);
sumE[k] -= Eqt;
}
//ctx.moveTo(x+startx,0);
//ctx.lineTo(x+startx,ch);
ctx.stroke();
//console.log(x);
}
}
// Анимация импульса напряженности
function Epulse(){
// Импульс напряженности
var x = 0;
ctx.beginPath();
ctx.strokeStyle = "#000000";
ctx.lineWidth = 2;
ctx.moveTo(startx, y2line);
for(var k=1; k < npoints; k++){
x += dx;
//ctx.lineTo(x+startx, -(sumE[k]**2)/100+ch/2);
ctx.lineTo(x+startx, -sumE[k]/7+y2line);
}
ctx.stroke();
}
// Анимация импульса мощности
function Ppulse(){
// Импульс мощности
var x = 0;
ctx.beginPath();
ctx.strokeStyle = "#000000";
ctx.lineWidth = 2;
ctx.moveTo(startx, y3line);
for(var k=1; k < npoints; k++){
x += dx;
//ctx.lineTo(x+startx, -(sumE[k]**2)/100+ch/2);
ctx.lineTo(x+startx, -(sumE[k]**2)/1600+y3line);
}
ctx.stroke();
}
// Один слайд
function oneimage(){
statpart();
longmodes();
Epulse();
Ppulse();
}
function animate(){
oneimage();
t += dt;
idreq = window.requestAnimationFrame(animate);
}
// Начальная картинка
t=200.;
oneimage();
})();
Основные параметры лазера, работающего в режиме синхронизации мод
К основным параметрам относятся такие величины как длительность импульса, частота следования импульсов, пиковая мощность и энергия импульса.