
function [f]
=transmit_fiber(L,kappa,num,n_eff,lambda,lambda_Brag,deltaneff,b)
%-------------±äÁ¿¶¨Òå-------------------------------
% n_eff ----------------¹âÕ¤ÓÐЧÕÛÉäÂÊ
% L ----------------¹âÕ¤³¤¶È
% lambda_Brag ----------¹âÕ¤ÖÐÐIJ¨³¤
% kappa ----------------¹â²¨Ä£Ê½»¥ñîºÏϵÊý
% delta ----------------Ä£¼äʧгÁ¿
%deltaneff----------------¹âÕ¤ÓÐЧÕÛÉäÂʸıäÁ¿
%b----------------ÌõÎÆ¿É¼û¶È
%----------------------------------------------------
delta(num)=2*pi* n_eff
*(1./lambda(num)-1./lambda_Brag)+(2*pi*deltaneff)/lambda(num);
s(num)=sqrt(kappa.^2-delta(num).^2);
kappa=(pi*b*deltaneff)/lambda(num);
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
n_eff=1.456;
v=0.532*1e-6;
deltaneff=0.0001;
b=0.5;
lambda_Brag=2*(n_eff+deltaneff)*v;
L=0.7*1e-2;
lambda=1e-9*linspace(1547,1551,500);
F=[1 0;0 1];
for num=1:500
f=transmit_fiber(L,kappa,num,n_eff,lambda,lambda_Brag,deltaneff,b);
f=f*F;
r3(num)=f(2,1)/f(1,1);
R3(num)=(abs(-r3(num)))^2;%·´ÉäÂÊ
end
plot(lambda*1e9,R3,'b:');
title('FBG·´ÉäÆ×');
xlabel('²¨³¤/nm');
ylabel('·´ÉäÂÊR');
hold on