MATLAB File for Bragg Grating
description
Transcript of MATLAB File for Bragg Grating
clear allclose allclcwalD = 1.55e-6;wal1 = 0.999*walD;wal2 = 1.001*walD;step = 500;wal = [wal1:(wal2-wal1)/step:wal2];Rmax = 0.2;rmax = sqrt(Rmax);kacL = atanh(rmax);c = 2.99793e8;h = 25e-9;v = 1;nef = 1.47;L = 3000e-6;M = 100;dz = L/M;dzo = - L + 10.69e-3;kac = kacL/L;kdc = 2*kac/v;for (r = 1:step+1)w = wal(r);F = [1 0; 0 1];for(s = 1:M)det = 2*pi*nef*(1/w - 1/walD);gdc = det + kdc;p1 = sqrt(kac^2 - gdc^2);p2 = gdc^2/kac^2;f11 = cosh(p1*dz) - i*(gdc/p1)*sinh(p1*dz);f12 = -i*(kac/p1)*sinh(p1*dz);f21 = i*(kac/p1)*sinh(p1*dz);f22 = cosh(p1*dz) + i*(gdc/p1)*sinh(p1*dz);ff = [f11 f12; f21 f22];F = ff*F;endr3(r) = F(2,1)/F(1,1); R3(r) = (abs(r3(r)))^2;endPHI = 2*pi*nef*dzo/w; %phase difference between gratingsFp = [exp(-i*PHI) 0; 0 exp(i*PHI)];Ffp = F*Fp*F;t3(r) = 1/Ffp(1,1); %amplitude transmission coefficientT3(r) = (abs(t3(r)))^2; %power transmission coefficient of%Fabry-Perot filtertheta = phase(r3);dtheta1 = gradient(theta, h);dtheta2 = gradient(dtheta1, h);DELAY3 = -((wal.^2)./(2*pi*c)).*dtheta1;DELAYu3 = DELAY3*1e12; %delay in (ps)DISPERSION3 = (2*DELAY3./wal) - ((wal.^2)./(2*pi*c)).*dtheta2;DISPERSIONu3 = DISPERSION3*(1e12/1e9); %dispersion in (ps/nm)plot(wal*1e9, R3, 'k')gridaxis([1549 1551.5 0 0.2])title('Reflection Spectrum of Bragg Reflector')xlabel('Wavelength (nm)')ylabel('Power (p.u)')