📄 gen_vt.m
字号:
function [sys,x0,str,ts] = generadorVT_DSn(t,x,u,flag,k,s)
% Es un gernerador de bit aleatorio con distribucion uniformemente distribuida
% i: Es la variable que se utiliza para el contador.
%y: Variable utilizada para almacenamiento, n: longitud de la secuencia pseudo-aleatoria.
% inicializacion de variable internas.
i=0;
y=0;
u=(144*k*s);
%(numero de bits que posee en total la trama)
%(la entradas son los bytes totales de la trama)
switch flag,
%%%%%%%%%%%%%%%%%%
% Initializacion %
%%%%%%%%%%%%%%%%%%
% Initialize the states, sample times, and state ordering strings.
case 0
[sys,x0,str,ts]=mdlInitializeSizes(u,k,s);
%%%%%%%%%%%
% salidas %
%%%%%%%%%%%
% Devuelve las variables de salidas del bloque S-function
case 3
[sys]=mdlOutputs(t,x,u,i,y,k,s);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Banderas sin manejadores %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% No hay culminacion de tareas(flag=9) to be handled.
% tambien, No hay estados continuos o discretos,
% entonces,las banderas 1 , 2 , 4 no son utilizadas, se regresa una
% matrix vacia.
case { 1, 2, 4, 9 }
sys=[];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Banderas inesperadas (error handling)%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% devuelve un mensaje de error con el numero del manejador de la bandera.
otherwise
error(['Unhandled flag = ',num2str(flag)]);
end
% fin del generador
%
%=============================================================================
% mdlInitializeSizes
% devuelve tama駉s, condiciones inicialles, y tiempos de muestreo para la
% S-function.
%=============================================================================
function [sys,x0,str,ts] = mdlInitializeSizes(u,k,s)
sizes = simsizes;
sizes.NumContStates = 0;
sizes.NumDiscStates = 0;
sizes.NumOutputs = u; % dynamically sized
sizes.NumInputs = 0; % dynamically sized
sizes.DirFeedthrough = 1; % has direct feedthrough
sizes.NumSampleTimes = 1;
sys = simsizes(sizes);
str = [];
x0 = [];
ts = [(1/(5503999/688)) 0]; % tiempo de muestreo inherente
% end mdlInitializeSizes
%
%=============================================================================
% mdlOutputs
% Return the output vector for the S-function
%=============================================================================
%
function [sys] = mdlOutputs(t,x,u,i,y,k,s)
% 1
for i=1:u
y=randn;
if y>=0.5;
sys(i)=1;
else
sys(i)=0;
end
end
%
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -