Sie sind auf Seite 1von 13

CONTROL II

INFORME DE LABORATORIO

TEMA:
 IDENTIFICACIÓN DE MODELOS EN TIEMPO CONTINUO

PRESENTADO POR:
BUSTÍOS GUILLÉN, DANIEL ALONZO

DOCENTE:
ING. JAIME QUISPE

ESCUELA PROFESIONAL:

INGENIERÍA ELÉCTRICA

CUI:
20103082

GRUPO:
B

AREQUIPA - 2017
IDENTIFICACIÓN DE MODELOS EN TIEMPO
DISCRETO - IDENTIFICACIÓN DE MODELOS
EN TIEMPO CONTINUO

1. OBJETIVOS
- Desarrollar el modelo en tiempo continuo y en tiempo discreto del
proceso del equipo para fines de control
- Poder Modelar un proceso o un equipo a través de entradas y salidas
de señales, con estos datos elaborar los 3 tipos de modelos planteados
por Matlab.
 Ecuación de cambio de estado
 Modelo ARX
 Modelo por Función de Transferencia

2. SOFTWARE Y MATERIALES A UTILIZAR


- MATLAB 2013
- Manual de system identification

3. MARCO TEÓRICO
SISTEMA DINÁMICO
Un sistema dinámico es un sistema cuyo estado evoluciona con el tiempo.
Los sistemas físicos en situación no estacionaria son ejemplos de
sistemas dinámicos, pero también existen modelos económicos, matemáticos
y de otros tipos que son sistemas abstractos que son, además, sistemas
dinámicos. El comportamiento en dicho estado se puede caracterizar
determinando los límites del sistema, los elementos y sus relaciones;
de esta forma se pueden elaborar modelos que buscan representar la
estructura del mismo sistema.

Al definir los límites del sistema se hace, en primer lugar, una


selección de aquellos componentes que contribuyan a generar los modos
de comportamiento, y luego se determina el espacio donde se llevará a
cabo el estudio, omitiendo toda clase de aspectos irrelevantes.

ELEMENTOS A TENER EN CUENTA


En cuanto a la elaboración de los modelos, los elementos y sus
relaciones, se debe tener en cuenta:

1° Un sistema está formado por un conjunto de elementos en interacción.


2° El comportamiento del sistema se puede mostrar a través de diagramas
causales.
3° Hay varios tipos de variables: variables exógenas (son aquellas que
afectan al sistema sin que éste las provoque) y las variables
endógenas (afectan al sistema pero éste sí las provoca).

Bustíos Guillén, Daniel Alonzo


1
TIPOS DE SISTEMAS DINÁMICOS

Los sistemas dinámicos se dividen en sistemas discretos en el tiempo y


continuos en el tiempo. Un sistema dinámico se dice discreto si el tiempo
se mide en pequeños lapsos; éstos son modelados como relaciones
recursivas, tal como la ecuación logística:

donde t denota los pasos discretos del tiempo y x es la variable que


cambia con éste. Un sistema dinámico discreto determinista general puede
modelarse mediante una ecuación abstracta del tipo:
Si el tiempo es medido en forma continua, el sistema dinámico continuo
resultante es expresado como una ecuación diferencial ordinaria; por
ejemplo:

donde x es la variable que cambia con el tiempo t. La variable cambiante


x es normalmente un número real, aunque también puede ser un vector en
Rk.

SISTEMAS LINEALES Y NO LINEALES

Se distingue entre sistemas dinámicos lineales y sistemas dinámicos no


lineales. En los sistemas lineales, el segundo miembro de la ecuación
es una expresión que depende en forma lineal de x, tal como:

Si se conocen dos soluciones para un sistema lineal, la suma de ellas


es también una solución; esto se conoce como principio de superposición.
En general, las soluciones provenientes de un espacio vectorial permiten
el uso del álgebra lineal y simplifican significativamente el análisis.
Para sistemas lineales continuos, el método de la transformada de Laplace
también puede ser usado para transformar la ecuación diferencial en una
ecuación algebraica; así mismo que para los sistemas lineales discretos,
el método de la transformada Z también puede ser usado para transformar
la ecuación diferencial en una ecuación algebraica.

Los sistemas no lineales son mucho más difíciles de analizar y a menudo


exhiben un fenómeno conocido como caos, con comportamientos totalmente
impredecibles.

4. PROCEDIMIENTO
En el presente trabajo para propósito de identificación se utilizara
el circuito rlc de primer orden cuyo modelo es el siguiente:

Acontinuación se muestra el diagrama en Simulink para modelar:

Bustíos Guillén, Daniel Alonzo


2
Scope1

3
s+3
Uniform Random Transfer Fcn Salida1
Number

Gain
1
1 Salida

2
Entrada

Entrada1

HERRAMIENTAS A UTILIZAR

- Syntax data = iddata(y,u,Ts)


Crea matrices como objetos y vector salida u vector entrada Ts
tiempo de muestreo

- v = get(h)
Muestra las características de un gráfico donde h es la entrada

- plot(X,Y)
Grafica x vs y siendo estos vectores del mismo rango

- y = detrend(x)
Elimina la tendencia datos de niveles constantes por datos de
media cero

- clf
Limpia la pantalla de gráficos tipo objetos

- sys = impulseest(data)
Calcula los puntos de entrada y salida como una función impulso

- impulseplot(sys)
Grafica una función impulso

- showConfidence(plot_handle,sd)
Nuestra una zona de confianza de la grafica con un estándar sd

Bustíos Guillén, Daniel Alonzo


3
- [A,B,C,D,K,x0,dA,dB,dC,dD,dK,dx0] = idssdata(sys)
Representa espacios de estado como objeto en tiempo continuo

- h = bodeplot(sys)
Grafica el diagrama de bode de un sistema de entara salida como
vectores

- h = stepplot(sys)
Grafica una entrada escalón unitario o paso de un sistema de entara
salida como vectores

- P = nyquistoptions
Muestra las características que presenta el diagrama de Nyquist

- sys = arx(data,[na nb nk])


Obtiene un modelo de ecuaciones diferenciales de una estructura
preescrita donde na nb nk son el orden de los polinomios

- sys = tfest(data,np,nz,iodelay)
Función de transferencia en tiempo continuo np es el número de polos
nz es el número de ceros nk es tiempo de retrazo de transporte

- yesno=compare(MPC1,MPC2)
Compara dos modelos y realiza la simulación

- iopzplot(sys1,sys2,...)
Grafica la ubicacion de ceros y polos de cada sistema

- G = spa(data)
Obtiene un modelo spectral no parametrico

- y = linspace(x1,x2,n)
Crea un vector de n elementos desde x1 hasta x2

- P = bodeoptions
Muestra las características que presenta el diagrama de bode

- Legend(tring1,…stringN)
Asigna nombres a las gráficas en la pantalla

PROCESO

%%%%% 1.- Configuración de datos para su análisis


u2=yout(:,2);
y2=yout(:,1);
cri=iddata(y2,u2,0.08)%crea matrices como objetos
get(cri);
cri.InputName = 'Tensión';
cri.OutputName = 'Corriente';
cri.TimeUnit = 'seconds';
cri.InputUnit = 'V';
cri.OutputUnit = 'A';
get(cri);
ze=cri(1:300)

Bustíos Guillén, Daniel Alonzo


4
%%%%% 2.- Preprocesamiento los Datos
figure(1)
plot(ze(200:300));

figure(2)
ze=detrend(ze);
plot(ze(200:300));

%%%% 3.- estimación de los modelos paramétricos y no paramétricos


clf
figure(3)
mi=impulseest(ze);

figure(4)
showConfidence(impulseplot(mi),3);

m1=ssest(ze);
get(m1);% representa ss como odjeto en tiempo continuo
[A,B,C,D,K,~,dA,dB,dC,dD,dK]=idssdata(m1);%muestra matrices de estado
con sus derivada

%%%% 4.- Analizando el modelo estimado


figure(5)
h=bodeplot(m1)
showConfidence(h,3)

figure(6)
showConfidence(stepplot(m1,'b',mi,'r',3),3)

Opt = nyquistoptions
Opt.ShowFullContour = 'off';

figure(7)
showConfidence(nyquistplot(m1,Opt),3)

%%%% 5.- estimación de modelos con una estructura prescrita


m2 = arx(ze,[2 2 3]);
m3 = tfest(ze, 2, 1, 0.2)

%%% 6.- Validar el modelo estimado de salida Experimental


zv = dry(800:900);
zv = detrend(zv);

figure(8)
compare(zv,m1)

%%% 7.- La comparación de los modelos estimados


clf

figure(9)
compare(zv,m1,'b',m2,'r',m3,'c');

figure(10)
h = iopzplot(m1,'b',m2,'r',m3,'c');
showConfidence(h,3);

Bustíos Guillén, Daniel Alonzo


5
gs = spa(ze);
w = linspace(0.4,pi/m2.Ts,200);

figure(11)
opt = bodeoptions; opt.PhaseMatching = 'on';

figure(12)
bodeplot(m1,'b',m2,'r',m3,'c',gs,'g',w,opt);
legend('m1','m2','m3','gs')

EJECUCIÓN EN COMANDO WINDOWS

dry = iddata(y2,u2,0.08);
Time domain data set with 1000 samples.
Sample time: 0.08 seconds

Outputs Unit (if specified)


y1

Inputs Unit (if specified)


u1
get(dry)

ans =
Domain: 'Time'
Name: ''
OutputData: [1000x1 double]
y: 'Same as OutputData'
OutputName: {'y1'}
OutputUnit: {''}
InputData: [1000x1 double]
u: 'Same as InputData'
InputName: {'u1'}
InputUnit: {''}
Period: Inf
InterSample: 'zoh'
Ts: 0.0800
Tstart: []
SamplingInstants: [1000x0 double]
TimeUnit: 'seconds'
ExperimentName: 'Exp1'
Notes: {}
UserData: []

dry.InputName = 'Power';
dry.OutputName = 'Temperature';
dry.TimeUnit = 'seconds';
dry.InputUnit = 'Watt';
dry.OutputUnit = '^o C';
plot(ze(200:300));

Bustíos Guillén, Daniel Alonzo


6
Corriente
4

3
Ampere

1
16 17 18 19 20 21 22 23 24
Time (seconds)
Tensión
1

0.5
Volts

-0.5

-1
16 17 18 19 20 21 22 23 24
Time (seconds)

ze = detrend(ze);

Temperature
3

2
oC

0
16 17 18 19 20 21 22 23 24
Time (seconds)
Power
1

0
Watt

-1

16 17 18 19 20 21 22 23 24
Time (seconds)

Bustíos Guillén, Daniel Alonzo


7
Impulse Response
From: Pow er To: Temperature
4

1
Amplitude

-1

-2

-3
0 1 2 3 4 5 6
Time (seconds)

h = bodeplot(m1);

Haga clic derecho en plot y luego en Cacterísticas ->región de


confianza. O, Utilice el comando Showconfidence para ver la variación
de la respuesta.

showConfidence(h,3) % 3 std (99.7%) confidence region

Bode Diagram
From: Tensión To: Corriente
300

250
Magnitude (dB)

200

150

100
0
Phase (deg)

-90

-180
-9 -8 -7 -6
10 10 10 10

Bustíos Guillén, Daniel Alonzo


Frequency (rad/s)
8
Del mismo modo, podemos generar la gráfica paso y su asociada
región de confianza 3 std. Podemos comparar las respuestas y
variantes asociadas del modelo paramétrico m1 con la de los
modelo no paramétricos mi:

showConfidence(stepplot(m1,'b',mi,'r',3),3)

Step Response
From: Tensión To: Corriente
12

10

6
Amplitude

-2
0 0.5 1 1.5 2 2.5 3
Time (seconds)

ESTIMACIÓN DE MODELOS CON UNA ESTRUCTURA


PRESCRITA.
La System Identification Toolbox también puede ser utilizada para
obtener un modelo con una estructura prescrita. Por ejemplo, un modelo
de ecuación diferencial con 2 polos, 1 cero y 3 ejemplos en atrasos se
puede obtener usando la función arx como se muestra a continuación:

m2 = arx(ze,[2 2 3]);
Discrete-time ARX model: A(z)y(t) = B(z)u(t) + e(t)
A(z) = 1 - 1.014 z^-1 + 0.0273 z^-2
B(z) = -0.01648 z^-3 + 0.01615 z^-4

Sample time: 0.08 seconds

Parameterization:
Polynomial orders: na=2 nb=2 nk=3
Number of free coefficients: 4
Use "polydata", "getpvec", "getcov" for parameters and their
uncertainties.
Status:
Estimated using ARX on time domain data "ze".

9
Fit to estimation data: 84.45% (prediction focus)
FPE: 0.03016, MSE: 0.02953

Bustíos Guillén, Daniel Alonzo


Una función de transferencia de tiempo continuo con 2 polos, uno cero
y 0,2 segundos de retraso de transporte se puede estimar utilizando el
comando tfest:

m3 =

From input "Tensión" to output "Corriente":


3.444 s - 0.2916
exp(-0.2*s) * ----------------------------
s^2 + 4.266e-11 s + 0.002657

Parameterization:
Number of poles: 2 Number of zeros: 1
Number of free coefficients: 4
Use "tfdata", "getpvec", "getcov" for parameters and their uncertainties.

Status:
Estimated using TFEST on time domain data "ze".
Fit to estimation data: 77.08% (simulation focus)
FPE: 0.0693, MSE: 0.06414

VALIDANDO EL MODELO ESTIMADO DE SALIDA EXPERIMENTAL


¿Qué tan bueno es un modelo estimado? Una forma de saberlo es simularlo
y comparar los resultados del modelo con los resultados salidos.
Seleccione una parte de los datos originales que no fue utilizada en la
construcción del modelo, por ejemplo a partir de muestras 800-900. Una
vez que los datos de validación han sido procesados previamente, se
utiliza la función compare como se muestra a continuación para ver la
calidad de la predicción:

Bustíos Guillén, Daniel Alonzo


10
COMPARANDO LOS MODELOS ESTIMADOS

Para comparar el rendimiento de los modelos que hemos estimado, por


ejemplo, m1, m2 y m3 con los datos de validación zv, podemos volver a
utilizar el comando compare:

Bode Diagram
From: Tensión To: Corriente
20

10
Magnitude (dB)

-10

-20

-30

-40
180
m1
0 m2
Phase (deg)

m3
-180 gs

-360

-540
0 1
10 10
Frequency (rad/s)

Bustíos Guillén, Daniel Alonzo


11
From input "Tensión" to output "Corriente":
3.444 s - 0.2916
exp(-0.2*s) * ----------------------------
s^2 + 4.266e-11 s + 0.002657

Parameterization:
Number of poles: 2 Number of zeros: 1
Number of free coefficients: 4
Use "tfdata", "getpvec", "getcov" for parameters and their
uncertainties.

Status:
Estimated using TFEST on time domain data "ze".
Fit to estimation data: 77.08% (simulation focus)
FPE: 0.0693, MSE: 0.06414

5. CONCLUSIONES

1. Como podemos observar el modelo de ecuaciones de estado es el que


mejor se adapta a la función original de nuestros datos del sistema

2. Comprobamos que el modelos de ecuación de estado es el más efectivo


para realizar modelamiento de sistema o maquinas.

3. El modelamiento se puede realizar para algunos datos de entradas y


salidas, ya que mientras más complejo sea el sistema mayor error
habrá y el modelamiento del sistema votara error.

4. Si en el simulink introducimos una función de transferencia de


tercer orden para obtener nuestros datos para modelar, las
funciones de modelamiento ya no serían útiles, ya que tiene algunas
restricciones

Bustíos Guillén, Daniel Alonzo


12

Das könnte Ihnen auch gefallen