You are on page 1of 2

function Atotal=atenuacion_fibra(u)

%==============================================
% atenuacion_fibra= Esta funcion permite calcular el valor de la
Atenuacion Total de una
% Seccion Elemental de Fibra Optica:
%
% Tx ____x______________x____ Rx
% S R
% |--Seccion Elemental--|
%
%La Atenuacion sigue la siguiente ecuacion:
%
% Atotal=(1)*10^[-
(alfa_n*long_total+alfa_s*Ntotal_emp+alfa_c*Ntotal_conec)/20]
%
%==============================================
%
% AUTORES : Z. AGUI%O & D. STECKLER
% Universidad de Carabobo
% Valencia edo. Carabobo, VENEZUELA
%
% FECHA : Diciembre 2003
% VERSION : 1.0
%
%==============================================
% Realizado bajo MATLAB 6.5 Release 13/ Diciemdre 2003 (DZ)
%==============================================
%Atotal=zeros(a,b);
[a b]=size(u);
curBlk=([gcs]);
distancia=get_param(curBlk,'DistMaxRep');
long_onda=get_param(curBlk,'lambda');
Ntotal_conec=str2num(get_param(curBlk,'Nconec'));
long_total=str2num(get_param(curBlk,'LongTramo'));
%
%==============================================
%
%Selecciona el valor de la distancia maxima entre repetidores y el
%coeficiente de atenuacion
%
switch (distancia)
case 'Short_Haul'
switch (long_onda)
case '1310'
distancia_max=15;
alfa_n=0.35;
case '1550'
distancia_max=15;
alfa_n=0.20;
end
case 'Long_Haul'
switch (long_onda)
case '1310'
distancia_max=40;
alfa_n=0.35;
case '1550'
distancia_max=80;
alfa_n=0.20;
end
end
%
%Calculo del N de Secciones n-esimas de la fibra,del numero de empalmes y
%conectores necesarios para el calculo de la Atenuacion Total de la
Seccion Elemental
%del cable de Fibra Optica
%
%
Ntotal_emp=floor(long_total/2);
%
%Calculo de la Potencia Media de los Empalmes "alfa_s"
%
if Ntotal_emp==0
alfa_s=0;
else
alfa_s=0.2;
end
%
%Calculo de la Potencia Media de los Conectores "alfa_c"
%
if Ntotal_conec==0
alfa_c=0;
else
alfa_c=0.4;
end
%
%Calculo de la Atenuacion Total
%
Atotal=zeros(a,b);
if long_total>distancia_max
warndlg(['Para ',distancia,' a ',long_onda,'nm, la longitud maxima de
regeneracion de esta fibra es ', num2str(distancia_max),' Kms. Debes
colocar un regenerador y otro tramo de fibra optica.'],'Aviso
Importante');
set_param(gcs,'SimulationCommand','Stop');
Atotal=[];
else
Atenuacion=(1)*10^(-((long_total*alfa_n)+
alfa_s*Ntotal_emp+alfa_c*Ntotal_conec)/10);

%Salida
Atotal=Atenuacion*u;
end

You might also like