You are on page 1of 9

Identicacin utilizando Matlab.

o
Prof. Carlos Felipe Rengifo. 31 de enero de 2013
En este caso de estudio se realiza la identicacin de un sistema de temo peratura a partir de datos experimentales. Los datos corresponden a valores de entrada-salida del mdulo didactico de Feedback PT326. o

1.

Presentacin de los datos de entrada-salida o

El primer paso para identicar el sistema es cargar el archivo con los 2 (k) datos de entrada y salida del sistema. La entrada es la potencia v R (vatios) suministrada a la resistencia ubicada al inicio del tubo de calentamiento, y la salida es la temperatura del aire en el extremo opuesto del tubo. Los datos se encuentran en el archivo secador_aire.mat.
>> load secador_aire

A partir de los datos disponibles se crea el objeto Secador. Este contiene una amplia variedad de informacin, como: o Nombres de las variables de entrada y salida. Unidades de las variables de entrada y salida. Tiempo de muestreo. Vectores con los datos de temperatura y potencia. Para crear el objeto digite lo siguiente:

>> >> >> >> >> >> >>

Secador = Secador.InputName = Secador.OutputName = Secador.InputUnit = Secador.OutputUnit = disp(Informacion General Secador

iddata(y2,u2,0.08); Potencia; Temperatura; Vatios; Voltios; ...);

La informacin que se desplegar acerca de la variable Secador ser: o a a


Data set with 1000 samples. Sampling interval: 0.08 Outputs Temperatura Inputs Potencia Unit (if specified) Voltios Unit (if specified) Vatios

2.

Estimacin de la respuesta al Impulso. o

Se selecciona una porcin de los datos, los primeros 300, para construir o el modelo.
>> DModelo = Secador(1:300);

Se gracan los datos de entrada-salida. La grca resultante se muestra a en la gura 1.


>> plot(DModelo(200:300),k-);

Una vez se han seleccionado los datos de entrada y de salida del proceso que se utilizarn para construir el modelo, se conforman dos vectores, u con a las entradas y y con las salidas, y a estos se les resta su media. u (k) = u(k) u y (k) = y(k) y

Temperatura 7 Grados Celsius 6 5 4 3 16 7 6 Watios 5 4 3 16

17

18

19

20 Potencia

21

22

23

24

17

18

19

20

21

22

23

24

Figura 1: Algunos de los datos utilizados para construir el modelo. Siendo u la media del vector u, y la media del vector y. u y y dependern del punto de operacin para el cual se realiz el experimento. Por a o o ejemplo, si para el sistema de temperatura PT326 se selecciona el punto de operacin T = 60o C, y las mediciones se realizan utilizando un sensor de o temperatura lineal que entrega 10 voltios a 80oC, los valores de y oscilarn a 10 alrededor de 60 80 = 7,5 voltios, y los valores de u alrededor del voltaje que se debe aplicar a la resistencia calefactora del mdulo para obtener una o temperatura de estado estacionario de 60o C. En Matlab para restar la media a los datos se utiliza el comando dtrend.
>> DModelo = dtrend(DModelo);

Una vez se ha logrado que los datos tengan media cero, se estima la respuesta al impulso utilizando el anlisis de correlacin, esto con el objetivo a o de tener alguna idea de las constantes de tiempo del sistema.
>> impulse(DModelo,sd,3,k-);

En la gura 2 se muestra la respuesta al impulso obtenida con el comando impulse. Las lineas punteada-rayada marcan un intervalo de condencia del 99 %, esto signica que con una probabilidad de acierto del 99 % se puede asegurar que los valores entre las lineas son cero. 3

From Potencia 1.8 1.6 1.4 1.2 To Temperatura 1 0.8 0.6 0.4 0.2 0 0.2 2 1 0 1 2 3 4 5

Figura 2: Respuesta al impulso estimada. De la gura 2 se puede notar que el sistema tiene un tiempo muerto de 3 instantes de muestreo, es decir, se requieren 3 0,08 seg antes de que la salida empieze a ser afectada por la entrada. La estimacin de la respuesta al impulso es ya una primera identicacin o o del sistema en trminos no paramtricos. e e

3.

Construccin de un modelo paramtrico o e bsico. a

Un primer modelo paramtrico puede construirse utilizando el comando e pem.


>> Modelo1 = pem(DModelo);

pem entrega un modelo en variables de estado del sistema, de la forma (Ec.1). x([k + 1]h) = Ax(kh) + Bx(kh) + Ke(kh) y(kh) = Cx(kh) + Dx(kh) + e(kh) (1) 4

Si se requieren las matrices del modelo para construir una representacin o en espacio de estados, estas se extraen as :
>> >> >> >> >> A B C D M = = = = = Modelo1.a; Modelo1.b; Modelo1.c; Modelo1.d; ss(A,B,C,D,0.08);

Para la validacin se toma una porcin de los datos que no haya sido o o utilizada en la construccin del modelo, dichos datos contendrn dos vectores, o a el de entrada u, y el de salida y. La forma ms simple de validar un modelo a consiste en comparar su respuesta ante la entrada u, con la respuesta medida y.
>> DValida = Secador(800:900); >> DValida = dtrend(DValida); >> compare(DValida,Modelo1,k.);

Measured Output and Simulated Model Output 1.5 Measured Output Modelo1 Fit: 88.84%

0.5 Temperatura

0.5

1.5 64

66

68

70

72

Figura 3: Comparacin en el dominio del tiempo entre la salida predicha y o la real (datos experimentales). En la gura 3 se puede observar que la salida del modelo (variable Modelo1) se ajusta muy bien a los datos medidos. 5

Otra forma de validar consiste en comparar la respuesta al escaln del moo delo, con la respuesta al escaln calculada a partir de la integracin numrio o e ca de la respuesta al impulso, esta se obtuvo anteriormente con el comando impulse, dicha comparacin se muestra en la gura 4. o
>> step(Modelo1,k.,DModelo,ko), grid; >> legend(Modelo,Datos);

From Potencia 1.2 Var Estado Datos 1

0.8 To Temperatura

0.6

0.4

0.2

0.2 2

Figura 4: Comparacin entre respuestas al escaln. o o

4.

Construccin de un modelo ARX. o

Ahora se estimar un modelo ARX utilizando la funcin arx de Matlab. a o Un modelo ARX es una estructura que permite describir un sistema dinmico a de tiempo discreto cuya salida esta inuenciada por una se al de ruido, su n ecuacin general se muestra en (Ec2). o A(q)y(k) = B(q)u(k nk ) + e(k) Siendo : (2)

A(q) = 1 + a1 q 1 + . . . + ana q na B(q) = b1 q 1 + . . . + bnb q nb

>> na = 2; nb = 2; nk = 3; >> Modelo2 = arx(DModelo,[na nb nk]);

Se visualiza el modelo obtenido :


>> Modelo2 Discrete-time IDPOLY model: A(q)y(t) = B(q)u(t) + e(t) A(q) = 1 - 1.274 q^-1 + 0.3935 q^-2 B(q) = 0.06662 q^-3 + 0.04448 q^-4 Estimated using ARX from data set DModelo Loss function 0.00166284 and FPE 0.00170778 Sampling interval: 0.08

En la gura 5, se comparan los modelos en variables de estado, variable Modelo1, y el modelo ARX, variable Modelo2, con los datos tomados del proceso.
>> compare(DValida,Modelo1,ko,Modelo2,k.);

5.

Identicacin en el dominio de la frecueno cia.

La identicacin de la curva de respuesta en frecuencia del sistema es o una forma de identicacin no paramtrica, dicha curva se puede obtener o e en Matlab a partir de datos experimentales utilizando la funcin spa. spa o j estima la funcin de transferencia G(e ) y el espectro de ruido v () del o modelo lineal general de la (Ec.3). y(k) = G(q)u(k) + v(k) 7 (3)

Measured Output and Simulated Model Output 1.5 Measured Output Modelo1 Fit: 88.84% Modelo2 Fit: 88.43%

0.5 Temperatura

0.5

1.5 64

66

68

70

72

Figura 5: Comparacin entre los diferentes modelos. o v () es el espectro de v(k), y G(ej ) es G(q)|q=ej . Para obtener el conjunto de puntos de G(ej ) estimados a partir de los datos de entrada-salida se escribe : >> Gz = spa(DModelo); En la gura 6 se muestran las grcas de respuesta en frecuencia del a modelo en variables de estado obtenido inicialmente, del modelo ARX, ambos modelos paramtricos y del modelo Gz. e >> bode(Modelo1,b:,Modelo2,r-,Gz,k-.); >> legend(Modelo1,Modelo2,Gz,Location,Best); Es importante tener presente que a diferencia de la variables Modelo1 y Modelo2, Gz no almacena un modelo paramtrico como lo son las funcin de e o transferencia, los coecientes de una ecuacin en diferencias o las matrices o de una representacin en variables de estado. Gz almacena un conjunto de o puntos de una grca de respuesta en frecuencia. a

10

From Potencia to Temperatura

Amplitude

10

10

10

10 0 Phase (degrees)

10

10

10

200 Modelo1 Modelo2 Gz 10


0

400

600 1 10

10 Frequency (rad/s)

10

Figura 6: Comparacin entre los diferentes modelos en el dominio de la freo cuencia.

You might also like