1 普遍的耦合模方程及说明
普遍的耦合模方程可由麦克斯韦方程组推导得出:
(1)
(2)
其中,表示横向(及光纤截面方向),表示纵向(及光纤传播方向),为模式序数。和为模式的前向(沿z方向)和后向(沿-z方向)传输的横向模场分量的幅值;和为模式的前向和后向传输的横向模场分量的幅值;和为模式和的传播常数,,,为真空中的波数,为波长,为有效折射率,和分别是模式和之间的横向和纵向分量的耦合系数。和分别为:
(3)
(4)
其中,为光波的角频率;和分别为模式和的电场横向矢量分量;为光波导中由于扰动引起的介电常数改变量,,为未受扰动时的折射率,为折射率改变量。比小得多,通常可以忽略。式(1)和式(2)为普遍的耦合模方程,大多数情况下,可以得以简化。
2 均匀光纤布拉格光栅耦合模方程及求解
均匀光纤布拉格光栅(FBG)的图示如下:
图1 均匀布拉格光栅示意图
光纤布拉格光栅使沿z轴传播的纤芯模和沿-z轴方向传播的纤芯模产生耦合。耦合模方程为:
(5)
(6)
其中,;前行模和后行模的自耦合系数相等,统一记为。
紫外光刻写的均匀正弦光纤布拉格光栅,折射率该变量为:
(7)
其中为光栅的周期,为折射率调制的缓变包络,通常称为切趾或切趾函数。实际制作的光栅的折射率分布接近方波分布,这里相当于只取傅里叶展开的第一项。折射率改变量:
(8)
其中。
将折射率该变量(8)式带入横向耦合系数(3)式,得到:
(9)
其中:
(10)
这里,,和分别为真空中磁导率和介电常数;当下标相同时,为自耦合系数,不同时为互耦合系数;表示有效折射率该变量,反映折射率调制深度,定义为:
(11)
可以看出当波长一定,折射率调制深度越大,耦合系数越大。对于均匀光纤光栅,只有纤芯模间的耦合,对单模光纤,。把带入耦合模方程(5)和(6)并利用欧拉公式,会出现项。在耦合模方程中,只有当指数项为0时才会出现强耦合,因此只取指数项会为0的项,得到简化后的耦合模方程:
(12)
(13)
其中:
起主要作用的是第二项,自耦合系数可以忽略,得到:
(14)
(15)
设栅区分布在0~L,将(14)和(15)式化为两个二阶常微分方程,取边界条件时,;时,,可以得到方程的解和,解方程过程下一篇讲述。
当时,
(16)
(17)
其中,。对一般情况可以取,,则得到均匀光纤布拉格光栅的反射率和透射率:
(18)
(19)
当时,
(20)
(21)
(22)
(23)
均匀光纤布拉格光栅中的两个模为相反方向传输的纤芯模,相位匹配条件为,则:
(24)
利用则可以将(24)式写为:
(25)
3 均匀光纤布拉格光栅反射谱和透射谱的MATLAB数值仿真
根据(18)、(19)、(22)和(23)式,获得反射率和透射率的MATLAB计算函数如下:
function [R, R_max, kl] = FBGreflectivity(n_eff, L, lambda_Brag, delta_neff, lambda)
%-------------输入变量--------------------------------
% n_eff ---------------有效折射率
% L -------------------栅区长度
% lambda_Brag ---------光栅中心波长
% delta_neff ----------折射率变化量
% lambda --------------波长
%-------------输出变量-------------------------------
% R -------------------反射率
% R_max ---------------反射率最大值
% kl ------------------互耦合系数与栅区长度的乘积
%----------------------------------------------------
beta = (2 * pi ./ lambda) * n_eff; % 传播常数
disp("周期:" + (lambda_Brag / (2 * n_eff)));
delta = beta - (pi / (lambda_Brag / (2 * n_eff)));
kappa = pi ./ lambda * delta_neff; % 互耦合系数
if (kappa.^2 > delta.^2)
s = sqrt(kappa.^2 - delta.^2);
R = (kappa .* conj(kappa) .* sinh(s .* L).^2) ./ ((s.^2) .* cosh(s .* L).^2 + delta.^2 .* sinh(s .* L).^2);
else
s = sqrt(delta.^2 - kappa.^2);
R = (kappa .* conj(kappa) .* sin(s .* L).^2) ./ ((s.^2) .* cos(s .* L).^2 + delta.^2 .* sin(s .* L).^2);
end
kl = kappa * L;
R_max = tanh(kl);
end
function [T, T_max, kl] = FBGtransmission(n_eff, L, lambda_Brag, delta_neff, lambda)
%-------------输入变量--------------------------------
% n_eff ---------------有效折射率
% L -------------------栅区长度
% lambda_Brag ---------光栅中心波长
% delta_neff ----------折射率变化量
% lambda --------------波长
%-------------输出变量-------------------------------
% R -------------------反射率
% R_max ---------------反射率最大值
% kl ------------------互耦合系数与栅区长度的乘积
%----------------------------------------------------
beta = (2 * pi ./ lambda) * n_eff; % 传播常数
disp("周期:" + (lambda_Brag / (2 * n_eff)));
delta = beta - (pi / (lambda_Brag / (2 * n_eff)));
kappa = pi ./ lambda * delta_neff; % 互耦合系数
if (kappa.^2 > delta.^2)
s = sqrt(kappa.^2 - delta.^2);
T = s.^2 ./ ((s.^2) .* cosh(s .* L).^2 + delta.^2 .* sinh(s .* L).^2);
else
s = sqrt(delta.^2 - kappa.^2);
T = s.^2 ./ ((s.^2) .* cos(s .* L).^2 + delta.^2 .* sin(s .* L).^2);
end
kl = kappa * L;
T_max = tanh(kl);
end
主程序代码如下:
clear all;
clc;
n_eff = 1.5; % 光栅有效折射率
L = 2e-2; % 光栅长度
lambda_Brag = 1550e-9; % 光栅中心波长
delta_neff = 1.2e-4; % 有效折射率该变量
lambda = linspace(1548e-9, 1552e-9, 10000); % 波长范围
[R1, R1_max] = FBGreflectivity(n_eff, L, lambda_Brag, delta_neff, lambda);
[T1, T1_max] = FBGtransmission(n_eff, L, lambda_Brag, delta_neff, lambda);
n_eff = 1.5; % 光栅有效折射率
L = 2e-3; % 光栅长度
lambda_Brag = 1550e-9; % 光栅中心波长
delta_neff = 1.2e-3; % 有效折射率该变量
lambda = linspace(1548e-9, 1552e-9, 10000); % 波长范围
[R2, R2_max] = FBGreflectivity(n_eff, L, lambda_Brag, delta_neff, lambda);
[T2, T2_max] = FBGtransmission(n_eff, L, lambda_Brag, delta_neff, lambda);
% 绘制图形
figure(1);
subplot(2, 1, 1);
plot(lambda, real(R1), 'b');
xlabel('波长/m');
ylabel('反射率');
title('均匀光纤布拉格光栅反射率');
subplot(2, 1, 2);
plot(lambda, real(R2), 'b');
xlabel('波长/m');
ylabel('反射率');
title('均匀光纤布拉格光栅反射率');
grid on;
figure(2);
subplot(2, 1, 1);
plot(lambda, real(T1), 'R');
xlabel('波长/m');
ylabel('反射率');
title('均匀光纤布拉格光栅透射率');
subplot(2, 1, 2);
plot(lambda, real(T2), 'R');
xlabel('波长/m');
ylabel('反射率');
title('均匀光纤布拉格光栅透射率');
grid on;
注意,主程序中各参数得到赋值时需要将单位转化为同一量纲。绘出的FBG反射率和透射率图如下:
图2 MATLAB绘制的均匀FBG反射率图
图3 MATLAB绘制的均匀FBG透射率图
参考文献:《光纤光栅基础理论与传感技术》 张自嘉 著.北京科学出版社.2009
欢迎在评论区批评指正,谢谢观看,要是有个赞就更好了╭ ( `∀´ )╯