Está en la página 1de 2

Código Bode:

clear all;close all;clc;warning off;


mdl = 'Problema1';open_system(mdl);

Limpia pantalla, cierra variables creadas, desactiva las advertencias.

Open_system abre el programa o modelo.

ios = [ linio([mdl,'/D'],1,'input'); ...


linio([mdl,'/Vo'],1,'output') ];
setlinio(mdl,ios);

Crea un objeto de entradas y salidas que representa un punto de análisis de perturbación a la


entrada para la señal que se origina en el puerto de salida especificado de un bloque Simulink.

Setlinio escribe los puntos de análisis especificados en las entradas y salidas en el modelo mdl de
Simulink®.

% Se debe elegir un rango de frecuencias


que capture la dinámica del
% sistema
f = logspace(log10(2e2),log10(2e4),100);
in =
frest.Sinestream('Frequency',f,'Amplitud
e',0.01);

logspace(a,b) genera un vector de filas y de 50 puntos espaciados logarítmicamente entre las


décadas 10^a y 10^b. La función logspace es especialmente útil para crear vectores de frecuencia.
La función es el equivalente logarítmico de linspace y el operador ':'.

Utilice un objeto frest.Sinestream para representar una señal de entrada sinestream para la
estimación de la respuesta en frecuencia. Dicha señal consiste en ondas sinusoidales de
frecuencias variables aplicadas una tras otra. Cada frecuencia excita el sistema durante un periodo
de tiempo.
getSimulationTime(in);

getSimulationTime(input) devuelve el tiempo final de la simulación de Simulink® realizada durante


la estimación de la respuesta en frecuencia utilizando la señal de entrada. Alterar la entrada para
reducir el tiempo final de simulación puede ayudar a reducir el tiempo que se tarda en realizar la
estimación de la respuesta en frecuencia.

[sysData,simlog] =
frestimate(mdl,ios,in);

frestimate(model,io,input) estima la respuesta en frecuencia de un modelo Simulink® utilizando la


señal de entrada especificada, el punto de funcionamiento definido por las condiciones iniciales
del modelo y los puntos de análisis especificados en io.

sysA = tfest(sysData,2)
figure, bode(sysData,'r*',sysA);
[num,den]=tfdata(sysA,'v');
bdclose(mdl)

Estimación de la función de transferencia

También podría gustarte