仿真光纤光栅反射谱,但总是有错误,实在是不会了,请教大神
%-----------------传输矩阵的功能函数------------------------------
func
tion [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)-1i*(delta(num)/s(num))*sinh(s(num)*L);
s12(num)=-1i*(kappa/s(num))*sinh(s(num)*L);
s21(num)=1i*(kappa/s(num))*sinh(s(num)*L);
s22(num)=cosh(s(num)*L)+1i*(delta(num)/s(num))*sinh(s(num)*L);
f=[s11(num) s12(num);s21(num) s22(num)];
end
function fiber 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=linspace(1540,1560,5000);
k=(1.2*pi./lambda)*10^(-3);s=sqrt(k.^2-delta.^2);
delta=3*pi*(lambda-1550)./(1550^2);
y1=(sinh(2e6*s).^2)./(cosh(2e6*s).^2-(delta.^2./k.^2));
subplot(2,1,1);plot(z,y1,'r');
xlabel('波长(nm)'),ylabel('反射率');
title('FBG反射谱');grid;
y2=1./(cosh(2e6*s).^2+(delta.^2./s.^2).*sinh(2e6*s).^2);
subplot(2,1,2);plot(z,y2,'b');
xlabel('波长(nm)'),ylabel('透射率');
title('FBG透射谱');grid;
function [f] =tansmit_fiber(L,kappa,num,n_eff,lambda,lambda_Brag)?这个函数怎么没有使用?
一周热门 更多>