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

📄 laserregenerator.m

📁 Matlab实现SONET/SDH光通信系统simulink仿真程序源代码
💻 M
📖 第 1 页 / 共 2 页
字号:
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 + -