📄 laserregenerator.m
字号:
function luz=laserRegenerator(u)
%======================================================
% LASER
% Esta funcion permite expresar la entrada electrica en forma de potencia optica.
%O sea, llevar la entrada a un nivel optico (luz).
%
% Sigue la siguiente ecuacion:
%
% Pot_Emit (mW) = (hw/2q)(Nd)(I-Ith) = Nd(I-Ith)
%
% Donde: hw/2q (eV) = 1 (Ref. SERWAY. Fisica Tomo II. McGraw Hill. Mexico,1997.)
% Nd (mW/mA) = Eficiencia del Laser. Depende del material.
% Ith (mA) = Corriente Umbral. Depende de la Temperatura y del Material.
% Sigue la sig. ecuacion:
% Ith=Io*e^(T/To)
%
%======================================================
%
% AUTORES : Z. AGUI%O & D. STECKLER
% Universidad de Carabobo
% Valencia edo. Carabobo, VENEZUELA
%
% FECHA : Enero 2004
% VERSION : 1.0
%
%======================================================
% Realizado bajo MATLAB 6.5 Release 13/ Enero 2004 (DZ)
%======================================================
%
%Obtencion de Parameros del Bloque
% NOTA : SOLO VALIDO PARA 10 BLOQUES POR SIMULACION
%
%Inicializacion de Variables
[a b]=size(u);
%Pot=zeros(a,b);
luz=zeros(a,b);
%
%
%======================================================
%
%Calculo dependiendo de los parametros obtenidos
%
if isempty(find_system(gcs,'Name','Regenerator'))~=1
BloqueLasera=([gcs,'/','Regenerator']);
tiposenala=get_param(BloqueLasera,'sel');
frecuenciaa=get_param(BloqueLasera,'frec');
switch (tiposenala)
case 'STS-12/STM-4' %622 Mbps
switch (frecuenciaa)
case '1310'
Nda=0.5;
Itha= 0.01;
case '1550'
Nda=0.25;
Itha= 0.01;
end
case 'STS-48/STM-16' %2.5 Gbps
switch (frecuenciaa)
case '1310'
Nda=0.25;
Itha= 0.01;
case '1550'
Nda=0.22;
Itha= 0.01;
end
case 'STS-192/STM-64' %10 Gbps
switch (frecuenciaa)
case '1310'
Nda=0.25;
Itha= 0.009;
case '1550'
%Datasheet LUCENT
Nda=0.2;
Itha= 0.015;
end
case 'STS-768/STM-256' %40 Gbps
switch (frecuenciaa)
case '1310'
Nda=0.25;
Itha= 0.009;
case '1550'
Nda=0.2;
Itha= 0.015;
end
end
set_param(BloqueLasera,'Nda',num2str(Nda));
set_param(BloqueLasera,'Itha',num2str(Itha));
end
if isempty(find_system(gcs,'Name','Regenerator1'))~=1
BloqueLaser11=([gcs,'/','Regenerator1']);
tiposenal11=get_param(BloqueLaser11,'sel');
frecuencia11=get_param(BloqueLaser11,'frec');
switch (tiposenal11)
case 'STS-12/STM-4' %622 Mbps
switch (frecuencia11)
case '1310'
Nda11=0.5;
Itha11= 0.01;
case '1550'
Nda11=0.25;
Itha11= 0.01;
end
case 'STS-48/STM-16' %2.5 Gbps
switch (frecuencia11)
case '1310'
Nda11=0.25;
Itha11= 0.01;
case '1550'
Nda11=0.22;
Itha11= 0.01;
end
case 'STS-192/STM-64' %10 Gbps
switch (frecuencia11)
case '1310'
Nda11=0.25;
Itha11= 0.009;
case '1550'
%Datasheet LUCENT
Nda11=0.2;
Itha11= 0.015;
end
case 'STS-768/STM-256' %40 Gbps
switch (frecuencia11)
case '1310'
Nda11=0.25;
Itha11= 0.009;
case '1550'
Nda11=0.2;
Itha11= 0.015;
end
end
set_param(BloqueLaser11,'Nda',num2str(Nda11));
set_param(BloqueLaser11,'Itha',num2str(Itha11));
end
if isempty(find_system(gcs,'Name','Regenerator2'))~=1
BloqueLaser22=([gcs,'/','Regenerator2']);
tiposenal22=get_param(BloqueLaser22,'sel');
frecuencia22=get_param(BloqueLaser22,'frec');
switch (tiposenal22)
case 'STS-12/STM-4' %622 Mbps
switch (frecuencia22)
case '1310'
Nda22=0.5;
Itha22= 0.01;
case '1550'
Nda22=0.25;
Itha22= 0.01;
end
case 'STS-48/STM-16' %2.5 Gbps
switch (frecuencia22)
case '1310'
Nda22=0.25;
Itha22= 0.01;
case '1550'
Nda22=0.22;
Itha22= 0.01;
end
case 'STS-192/STM-64' %10 Gbps
switch (frecuencia22)
case '1310'
Nda22=0.25;
Itha22= 0.009;
case '1550'
%Datasheet LUCENT
Nda22=0.2;
Itha22= 0.015;
end
case 'STS-768/STM-256' %40 Gbps
switch (frecuencia22)
case '1310'
Nda22=0.25;
Itha22= 0.009;
case '1550'
Nda22=0.2;
Itha22= 0.015;
end
end
set_param(BloqueLaser22,'Nda',num2str(Nda22));
set_param(BloqueLaser22,'Itha',num2str(Itha22));
end
if isempty(find_system(gcs,'Name','Regenerator3'))~=1
BloqueLaser33=([gcs,'/','Regenerator3']);
tiposenal33=get_param(BloqueLaser33,'sel');
frecuencia33=get_param(BloqueLaser33,'frec');
switch (tiposenal33)
case 'STS-12/STM-4' %622 Mbps
switch (frecuencia33)
case '1310'
Nda33=0.5;
Itha33= 0.01;
case '1550'
Nda33=0.25;
Itha33= 0.01;
end
case 'STS-48/STM-16' %2.5 Gbps
switch (frecuencia33)
case '1310'
Nda33=0.25;
Itha33= 0.01;
case '1550'
Nda33=0.22;
Itha33= 0.01;
end
case 'STS-192/STM-64' %10 Gbps
switch (frecuencia33)
case '1310'
Nda33=0.25;
Itha33= 0.009;
case '1550'
%Datasheet LUCENT
Nda33=0.2;
Itha33= 0.015;
end
case 'STS-768/STM-256' %40 Gbps
switch (frecuencia33)
case '1310'
Nda33=0.25;
Itha33= 0.009;
case '1550'
Nda3=0.2;
Itha33= 0.015;
end
end
set_param(BloqueLaser33,'Nda',num2str(Nda33));
set_param(BloqueLaser33,'Itha',num2str(Itha33));
end
if isempty(find_system(gcs,'Name','Regenerator4'))~=1
BloqueLaser44=([gcs,'/','Regenerator4']);
tiposenal44=get_param(BloqueLaser44,'sel');
frecuencia44=get_param(BloqueLaser44,'frec');
switch (tiposenal44)
case 'STS-12/STM-4' %622 Mbps
switch (frecuencia44)
case '1310'
Nda44=0.5;
Itha44= 0.01;
case '1550'
Nda44=0.25;
Itha44= 0.01;
end
case 'STS-48/STM-16' %2.5 Gbps
switch (frecuencia44)
case '1310'
Nda44=0.25;
Itha44= 0.01;
case '1550'
Nda44=0.22;
Itha44= 0.01;
end
case 'STS-192/STM-64' %10 Gbps
switch (frecuencia44)
case '1310'
Nda44=0.25;
Itha44= 0.009;
case '1550'
%Datasheet LUCENT
Nda44=0.2;
Itha44= 0.015;
end
case 'STS-768/STM-256' %40 Gbps
switch (frecuencia44)
case '1310'
Nda44=0.25;
Itha44= 0.009;
case '1550'
Nda44=0.2;
Itha44= 0.015;
end
end
set_param(BloqueLaser44,'Nda',num2str(Nda44));
set_param(BloqueLaser44,'Itha',num2str(Itha44));
end
if isempty(find_system(gcs,'Name','Regenerator5'))~=1
BloqueLaser55=([gcs,'/','Regenerator5']);
tiposenal55=get_param(BloqueLaser55,'sel');
frecuencia55=get_param(BloqueLaser55,'frec');
switch (tiposenal55)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -