⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fiber_grating.txt

📁 很好
💻 TXT
字号:
%  本程序利用传输矩阵法计算啁啾光纤光栅光谱特性
%  采用了科西函数进行切趾(变迹);
%  定义常数及变量的物理意义
%   gating_length             % 光纤光栅的长度
%   grating_period            % 光纤光栅的周期
%   index_0                   % 光纤的折射率
%   index_modu                % 光纤光栅的折射率调制
%   index_modu_am             % 光纤光栅的折射率调制幅度
%   index_aver                % 光纤光栅的折射率平均增加值
%   index_eff                   光纤光栅的有效折射率
%   wavelength_Bragg          % 光纤光栅Bragg波长
%   v                         % 光纤光栅的折射率调制可见度
%   wave_l1                   % 起始光谱波长
%   wave_l2                   % 终止光谱波长
%   wave_incr                 % 光谱波长扫描的步长
%   wavelength                % 光谱波长
%   detune                    % 失谐Δβ
%   couple_coe                % 模间耦合系数
%   wave_num                  % 光纤光栅的波数失谐
%   phase                     % 相位
%   time_delay                % 时延
%   dispersion                % 色散
%   disp_index                % 色散系数
%  主程序
%  初始赋值过程
clear all;
grating_length=20e6;              % 单位纳米nm     
length_incr=0.2e6;
%grating_period=0.5e-3;           
index_0=1.45;                 
index_modu_am=0.25e-4;
%index_modu=index_modu_am
wavelength_center=1400.0;         
grating_period_0=0.5*wavelength_center/index_0;
index_aver=0.0;
index_eff=index_0+index_aver;
%wavelength_Bragg=1.550e-3;         
wave_l1=1399.9;                   
wave_l2=1400.1;                   
wave_incr=0.0005;
v=1.0; 
F=0;
C=F*grating_period_0/(pi*grating_length.^2);
C1=0;
optic_vel=3.0e5;
pai_2=pi+pi;
para=1/(optic_vel*pai_2);
n=round((wave_l2-wave_l1)/wave_incr)+1;
m=grating_length/length_incr+1;
wave_length=[wave_l1:wave_incr:wave_l2];
distance=[0.0:length_incr:grating_length];
%velocity_group=optic_vel/
wavelength_Bragg=2*index_eff*grating_period_0*(1-(distance-0.5*grating_length)*C);
%   光纤光栅折射率调制的变迹函数
% y=(1-4*(distance-0.5*grating_length).^2/grating_length.^2)./(1-4*C1.^2*(distance-0.5*grating_length).^2/grating_length.^2);
index_modu=index_modu_am;
couple_coe=pi*v*index_modu./wavelength_Bragg;
%  波长扫描
 for i=1:n;
 detune= 2.0*index_eff*pi*(1.0./wavelength_Bragg-1.0/wave_length(i));      
 wave_num=sqrt(couple_coe.*couple_coe-detune.*detune)+eps;
 s_distance=wave_num*length_incr;
 s_inh=sinh(s_distance);
 tr_mat_0=[1,0;0,1];
 for k=1:m;
  tr_mat11=cosh(s_distance(k))+(detune(k)./wave_num(k)).*s_inh(k)*j;
  tr_mat12=couple_coe(k)./wave_num(k).*s_inh(k)*j;
  tr_mat21=-tr_mat12;
  tr_mat22=conj(tr_mat11);
  tr_mat_0=tr_mat_0*[tr_mat11,tr_mat12;tr_mat21,tr_mat22];
 end
  tr_mat11=1/tr_mat_0(1,1);
  tr_mat_tr(i)=tr_mat11;
  tr_mat_re(i)=-tr_mat_0(2,1)*tr_mat11;
  refl_index(i)=abs(tr_mat_re(i))^2;
  tran_index(i)=abs(tr_mat11)^2;
  end;
  phase_tr=phase(tr_mat_tr);
  phase_re=phase(tr_mat_re);
  para_2=-wave_length.^2*para;
  [time_delay_tr]=para_2.*gradient(phase_tr,wave_incr);
  [time_delay_re]=para_2.*gradient(phase_re,wave_incr);
  [dispersion_tr]=gradient(time_delay_tr,wave_incr);
  [dispersion_re]=gradient(time_delay_re,wave_incr);
  disp_index_tr=para_2.*dispersion_tr;
  disp_index_re=para_2.*dispersion_re;
  time_delay_re_0=time_delay_re((n+1)/2);
  refl_index_max=max(refl_index);
%显示光谱
 figure;
plot(wave_length,refl_index),title('反射谱'); 
figure;
plot(wave_length,time_delay_re),axis tight,title('反射时延');
figure;
plot(wave_length,phase_re),axis tight,title('相位');

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -