均匀布拉格光栅的原理及MATLAB反射谱仿真.doc
均匀布拉格光栅的原理及 MATLAB 反射谱仿真
张睿
一、 前言
光纤光栅是纤芯折射率受到周期性微扰而形成的一种全光纤无源器件,自问世以来,由 于其与光纤通信系统兼容、体积小、插入损耗低、结构简单、成本低等等,广泛应用于光纤通信、 光纤传感、光信息处理等领域,对于光纤光栅的分析,通常主要用耦合模理论、付立叶变换理论与 传输矩阵理论,本文主要得用传输矩阵理论对均匀布拉格光栅的反射谱进行理论分析和仿真。
二、 均匀布拉格光栅的原理
假设光纤光栅的模型如下:
A
B
z i
Z i+1
图 光纤光栅的输入与输出
如图可知输入为:
A z i 、
B z i 1 ; 输出为: B z i
、A z i 1 ,但是为了表示方便, 输入为: A z i 、
B z i ,输出为: A z i 1 、
B z i 1
。
利用麦克斯韦方程组可以得到光波在光波导中的耦合模方程:
dA j
Be j ( 2 z)
dz
(3)
dB
j
* Ae j (2 z)
dz
其中:
由边界条件:
A z i
1
( 4)
B z i
可以得到相移光栅的传输矩阵:
A z i 1 A z i
(5)
B z i 1
F z i z
i 1
B z i
其中:
F
z i z i 1
s
11
s 12
(6)
s
21
s
22
s
11
cosh(s( z i 1 z i )) j sinh( s( z i 1 z i )))
s
s
12
j
sinh( s( z i 1
s
s
21
j sinh( s(z i 1
s
s
22
cosh(s( z i 1 z i ))
z i ))) ( 7)
z i )))
j sinh( s( z i 1 z i ))) s
s
2 2
为光纤的耦合系数。
, 整个相移光栅的传输矩阵可以表示为:
F
z i z i 1
F
z i z i 1
...F
z 2 z 1
(8)
其反射率可以表示成:
2
R
F (2,1)
(9)
F (1,1)
三、
MATLAB 反射谱仿真
仿真所用的参数为:布拉格光栅的中心波长 1550nm, 光栅有效折射率。
1、 在 kl 相同情况下的反射谱
在 kl=5 的情况下,当
l=2mm 、 5mm 、 10mm 、 20mm 时,其反射谱如下:
由以上图片可知,在l 越长的情况下,光栅的反射谱越来越窄,在中心波长的反射率最高,此
特性对于光纤通信器件,光纤传感器件具有很高的实用价值。
2、在 kl 不同情况下的反射谱
由图可知, k 越大,即耦合系数越高时,反射谱的带宽越宽,中心波长的反射率都能达到100%,但是边缘波长的反射率也越来越高,因而选择较低的耦合系数,可以得到较窄的带宽的波长。
四、MATLAB源程序
%-----------------传输矩阵的功能函数------------------------------
function [f] =tansmit_fiber(L,kappa,num,n_eff,lambda,lambda_Brag) delta(num)=2*pi* n_eff *(1./lambda(num)-1./lambda_Brag);
s(num)=sqrt(kappa.^2-delta(num).^2);
s11(num)=cosh(s(num)*L)-i*(delta(num)/s(num))*sinh(s(num)*L);
s12(num)=-i*(kappa/s(num))*sinh(s(num)*L);
s21(num)=i*(kappa/s(num))*sinh(s(num)*L);
s22(num)=cosh(s(num)*L)+i*(delta(num)/s(num))*sinh(s(num)*L);
f=[s11(num) s12(num);s21(num) s22(num)];
end
function FBG_TransferMatix(n_eff,L,lambda_Brag)
%-------------变量定义-------------------------------
% n_eff ---------------- 光栅有效折射率
% L ---------------- 光栅长度
% lambda_Brag ---------- 光栅中心波长
% kappa ---------------- 光波模式互耦合系数% delta ---------------- 模间失谐量
%----------------------------------------------------
disp('输入的参数如下');
disp('光栅有效折射率为:');disp(n_eff);
disp('布拉格光栅的中心波长为');disp(lambda_Brag); disp('布拉格光栅的长度为:');disp(L)
lambda=1e-9*linspace(1308,1312,500);
kappa_L=5;
kappa=kappa_L/L;%交流耦合系数
F=[1 0;0 1];
for num=1:500
f=tansmit_fiber(L,kappa,num,n_eff,lambda,lambda_Brag); f=f*F;
r3(num)=f(2,1)/f(1,1);
R3(num)=(abs(-r3(num)))^2;%
反射率
end
subplot(2,1,1)
plot(lambda*1e9,R3,'r');
hold on
subplot(2,1,2)
plot(lambda*1e9,1-R3,'b')
hold on
end