You are on page 1of 3

%----OPTICAL COMMUNICATIONS LABORATORY 1----%

% Copyright CRC Press


% clear after each run.
c = 2.997925e8;
G1 = 0.711040;
G2 = 0.408218;
G3 = 0.704048;
lambda1 = 0.064270e?6;
lambda2 = 0.129408e?6;
lambda3 = 9.425478e?6;
a = 4.1e?6;
delta = 0.0025;
start = input( Enter lambda start point (nm) : );
finish = input( Enter lambda end point (nm) : );
resolution = input( Enter lambda resolution (nm) -: );
disp( );
lambda = start*1e?9;
lambdavector(1,1) = lambda;
for(i = 1:(( (finish-start)/resolution) + 1))
n1squared = 1 + ((G1*power(lambda,2))/
(power(lambda,2)?power(lambda1,2))) + ((G2*power(lambda,2))/
(power(lambda,2)?power(lambda2,2))) + ((G3*power(lambda,2))/(power(lambda,2)
?power(lambda3,2)));
n1 = sqrt(n1squared);
n1vector(1,i) = n1;
n2 = n1*(1 + delta);
n2vector(1,i) = n2;
V = (2*pi/lambda)*a*n1*sqrt(2*delta);
Vvector(1,i) = V;
dy1dx = (?2*G1*power(lambda1,2)*lambda)/(power(power(lambda,2)?power
(lambda1,2),2));
dy2dx = (?2*G2*power(lambda2,2)*lambda)/(power(power(lambda,2)?power
(lambda2,2),2));
dy3dx = (?2*G3*power(lambda3,2)*lambda)/(power(power(lambda,2)?power
(lambda3,2),2));
d2y1dx2 = (2*G1*power(lambda1,2)*(3*power(lambda,2) + power(lambda1,2)))/
(power(power(lambda,2)?power(lambda1,2),3));
d2y2dx2 = (2*G2*power(lambda2,2)*(3*power(lambda,2) + power(lambda2,2)))/
(power(power(lambda,2)-power(lambda2,2),3));
d2y3dx2 = (2*G3*power(lambda3,2)*(3*power(lambda,2) + power(lambda3,2)))/
(power(power(lambda,2)?power(lambda3,2),3));
d2ndx2 = 0.5*(( (d2y1dx2 + d2y2dx2 + d2y3dx2)*power(n1,2)?0.5*(power
(dy1dx + dy2dx + dy3dx,2)) )/power(n1,3));
M = (?d2ndx2/c)*lambda;
Mvector(1,i) = M; %row vector
Dw = (?n2*delta)/c*(0.080 + 0.549*power(2.834?V,2))*(1/lambda);
Dwvector(1,i) = Dw;
if(i < (( (finish-start)/resolution) + 1))
lambdavector(1,i + 1) = lambdavector(1,i) + (resolution*1e?9);
lambda = lambdavector(1,i + 1);
end
end
plot(lambdavector,Mvector,lambdavector,Dwvector,lambdavector,Mvecto
r + Dwvector);
grid;
===========================================
%Design of Standard Single-Mode Fibers
% totdisp_SMF.m
%
% MatLab script for calculating of total dispersion for
% Non-Zero Dispersion Shifted Fiber. The script plots
% the material dispersion, the waveguide dispersion, and
% the total dispersion for the designed fiber.
%
% Optical Fiber Design
%
lambda = [1.1:0.01:1.700]*1e?6;
G1 = 0.7028554; %Sellmeier s coefficients for germanium
G2 = 0.4146307; %doped silica (concentration B in table)
G3 = 0.8974540;
lambda1 = 0.0727723e?6; %Wavelengths for germanium doped silica
lambda2 = 0.1143085e?6;
lambda3 = 9.896161e?6;
c = 299792458; %Speed of light
pi = 3.1415926; %Greek letter pi
a = 4.1e?6; %Core radius
delta = 0.003; %Greek letter delta (ref. index difference
%between core and cladding)
% Calculating the refractive index
% ------------
npow2oflambda = 1 + (G1.*lambda.?2./(lambda.?2.?lambda1*lambda1))
+ (G2.*lambda.?2./(lambda.?2.?lambda2*lambda2))
+ (G3.*lambda.?2./(lambda.?2.?lambda3*lambda3));
noflambda = sqrt(npow2oflambda);
pointer = find(lambda = = 1.550e?6);
n1 = noflambda(pointer) %Refractive index in the core
% Calculating the material dispersion
% ------------
t1 = diff(noflambda);
t2 = diff(lambda);
t3 = t1./t2;
t4 = diff(t3);
t5 = diff(lambda);
t5 = adjmat(t5);
lambda = adjmat(lambda);
lambda = adjmat(lambda);
%Material dispersion
Matdisp = ? (lambda./c) .* (t4./t5);
% Converting to ps/nm.km
Matdisp = Matdisp.*1e6;
figure(1)
clf
hold
xlabel( nm )
ylabel( ps/nm.km )
title( Standard Single Mode Fiber )
plot(lambda, Matdisp, .? )
grid on
% Calculating waveguide dispersion
% -----------
V = (2 * pi * a * n1 * sqrt(2 * delta)) ./(lambda);
Dlambda1 = - (n1 * delta)./(c * lambda);
%plot(lambda,Dlambda2)
Dlambda2 = 0.080 + 0.549 * (2.834 ? V).?2;
%plot(lambda,Dlambda2)
Dlambda = Dlambda1 .* Dlambda2;
% Converting to ps/nm.km
Dlambda = Dlambda.*1e6;
plot(lambda,Dlambda, - )
% Calculating total dispersion
% ------------
TotDisp = Matdisp + Dlambda;
plot(lambda, TotDisp, : )
legend( Material Dispersion , Waveguide Dispersion , Total Dispersion ,0)
% Finding the dispersion at 1460, 1550 and 1625 nm
% -----------------
pointer = find(lambda = = 1.460e-6);
Disp1460 = TotDisp(pointer)
pointer = find(lambda = = 1.550e-6);
Disp1550 = TotDisp(pointer)
pointer = find(lambda = = 1.6250e-6);
Disp1625 = TotDisp(pointer)
% refind_SMF.m
%
% MatLab script for calculating of possible values for
% refractive index in the core, n1, and cladding, n2,
% its corresponding relative refractive index.
%
% PROJECT DESIGN: Optical Fiber Design
%
lambda = [1.1:0.01:1.700]*1e-6;
n1 = [1.0487:0.001:1.8587]; %Refractive index of the core
n2 = [1.0435:0.001:1.8535]; %Refractive index of the cladding
% Calculating the refractive index for the index profile
% -------------------
delta = (n1 - n2) ./ n1;
deltap = delta * 100;
plot(n1, deltap)
grid on
xlabel( n1 )
ylabel( Delta - Relative Refractive Index(%) )
title( Refractive Index )

You might also like