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

📄 lasertdm.m

📁 Matlab实现SONET/SDH光通信系统simulink仿真程序源代码
💻 M
字号:
function lasertdm(action, varargin)
%========================================
%
%    Esta funcion permite modificar la mascara del bloque "LASER".
%                             
%========================================
%
%	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)
%========================================
%
% Cache Bloque actual
curBlk=([gcb]);

% Cache Bloque actual "mask enables" y "mask visibilities"
cachedEnables   = get_param(curBlk,'MaskEnables');
newEnables      = cachedEnables;
cachedVisibilities= get_param(curBlk,'MaskVisibilities');
newVisibilities  = cachedVisibilities;

% Variables de las que va a depender la mascara
p                 = get_param(curBlk,'sel');   % Tipo de Senal SONET/SDH
padAlo         = get_param(curBlk,'frec'); % Frecuencia

% Parametros siempre "enable"
newEnables{1} = 'on'; % Tipo de Senal SONET/SDH
newVisibilities{1} = 'on';
newEnables{6} = 'on'; % Frecuencia
newVisibilities{6} = 'on';

% "Disable", todos los otros parametros por defecto.
% "Turn On", cada parametro individualmente como sea necesario.
newEnables{2} = 'off';% Velocidad de 622 Mbps
newVisibilities{2} = 'off';
newEnables{3} = 'off';% Velocidad de 2.5 Gbps
newVisibilities{3} = 'off';
newEnables{4} = 'off';% Velocidad de 10 Gbps
newVisibilities{4} = 'off';
newEnables{5} = 'off';% Velocidad de 40 Gbps
newVisibilities{5} = 'off';
newEnables{7} = 'off';% Material 1550 nm
newVisibilities{7} = 'off';
newEnables{8} = 'off';% Material 1310 nm
newVisibilities{8} = 'off';

%%%%%%%%%%%%%%%%
switch (p)
    case 'STS-12/STM-4'
    newEnables{2} = 'on';
    newVisibilities{2} = 'on';
    newVisibilities{3} = 'off';
    newVisibilities{4} = 'off';
    newVisibilities{5} = 'off';
    
    case 'STS-48/STM-16'
    newEnables{3} = 'on';
    newVisibilities{2} = 'off';
    newVisibilities{3} = 'on';
    newVisibilities{4} = 'off';
    newVisibilities{5} = 'off';
        
    case 'STS-192/STM-64'
    newEnables{4} = 'on';
    newVisibilities{2} = 'off';
    newVisibilities{3} = 'off';
    newVisibilities{4} = 'on';
    newVisibilities{5} = 'off';
        
    case 'STS-768/STM-256'
    newEnables{5} = 'on';
    newVisibilities{2} = 'off';
    newVisibilities{3} = 'off';
    newVisibilities{4} = 'off';
    newVisibilities{5} = 'on';
        
end

%%%%%%%%%%%%
if ( ~strcmp(padAlo, '1310') );
    newEnables{8} = 'on';
    newVisibilities{8} = 'on';
    newVisibilities{7} = 'off';
else ( ~strcmp(padAlo, '1550') );
    newEnables{7} = 'on';
    newVisibilities{7} = 'on';
    newVisibilities{8} = 'off';
end
    
    
% Only update the block mask enables if they have changed
if (~(isequal(cachedEnables, newEnables))| ...
        ( ~isequal(cachedVisibilities, newVisibilities)))
    set_param(curBlk, 'MaskEnables', newEnables,'MaskVisibilities',newVisibilities);
end

% [EOF] lasertdm.m

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -