Está en la página 1de 12

PRACTICA # 2

IDENTIFICACION DE SISTEMAS EN MATLAB


I. IDENTIFICACION DE SISTEMAS
1. INTRODUCCION
La identificacin del sistema consiste en obtener el modelo matemtico de un sistema a
travs de datos experimentales, es conocido como modelado empirico ya que es
fundamentalmente experimental.
Muchas veces el modelado fsico es restringido debido a que posee un conjunto de
parmetros desconocidos, que solo se pueden determinar experimentando en el sistema real.
El modelo obtenido a partir de datos experimentales de entrada-salida se conoce como
modelo de la caja negra o modela de entrada-salida, el cual no se centra en estudiar el interior
del sistema sino su comportamiento respecto al entorno.
Identificar un sistema significa encontrar un conjunto de reglas y parmetros asociados que
describan un modelo aceptable para el proceso que en l se esta llevando a cabo.
2. PROCESO DE IDENTIFICACION
En general el proceso de identificacin de sistemas comprende los siguientes pasos:
a. Obtencin de datos de entrada-salida
b. Tratamiento previo de los datos capturados
c. Eleccin de la estructura del modelo
d. Obtencin de los parmetros del modelo
e. Validacin del modelo
Los pasos se pueden ver en el siguiente diagrama de flujo:

3. METODOS DE IDENTIFICACION
Dependiendo del tipo de modelo obtenido se tiene dos mtodos:
3.1. METODOS NO PARAMETRICOS
Permite obtener modelos no parametricos del sistema bajo estudio. Alguno de esos mtodos
son: anlisis de la respuesta transitoria, anlisis de la respuesta en frecuencia, anlisis de la
correlacion, anlisis espectral, anlisis de Fourier, etc.
3.2. METODOS PARAMETRICOS
Permite obtener modelos perimtricos, estos mtodos requieren la eleccin de una posible
estructura del modelo, de un criterio de ajuste de parmetros, y por ltimo la estimacin de los
parmetros que mejor se ajustan el modelo a los datos experimentales.
3.2.1. TIPOS DE MODELOS PARAMETRICOS
En general los modelos paramtricos se describen en el dominio discreto, puesto que los datos
que sirven de base para la identificacin se obtienen por un mecanismo de muestreo. Para el caso de
que se requiera un modelo continuo se puede llevar de un modelo discreto a un continuo.
La expresin ms general de un modelo discreto es del tipo:
() () ()
Donde (t) representa la salida respecto a la entrada y w(t) es la salida respecto a las perturbaciones
y s(t) es la salida medible del sistema.
Cada uno de estos trminos se puede desarrollar de la siguiente forma:

Donde q
-1
es el operador retardo, u representa un vector de parmetros, u(t) es la entrada al sistema,
e(t) es el ruido de entrada al sistema e y(t) es la salida de inters del sistema(que talvez no coincida
la salida del sistema)
Tanto G(q-1,q) como H(q-1,q) son cocientes de polinomios del tipo:



y A(q-1,q) un polinomio del tipo:
El vector de parmetros q contiene los coeficientes ai , bi , ci , di y fi de las funciones de
transferencia anteriores. La estructura genrica de estos modelos es por tanto:


Para elegir la estructura de este tipo de modelos hay que determinar el orden de cada uno de los
polinomios anteriores, es decir na, nb, nc, nd, nf y el retardo entre la entrada y la salida nk. Una vez
elegidos estos valores, slo queda determinar el vector de coeficientes q (ai, bi, ci, di y fi ) que
hacen que el modelo se ajuste a los datos de entrada - salida del sistema real.

En muchos casos, alguno de los polinomios anteriores no se incluye en la descripcin del
modelo, dando lugar a los siguientes casos particulares, entre otros:



A continuacin se muestra el diagrama de bloques de cada uno de los modelos anteriores:





II. IDENTIFICACION DE SISTEMAS EN MATLAB
1. INTRODUCCION
La herramienta de identificacin de sistema de MATLAB construye modelos matemticos
de sistemas dinmicos a partir de datos de entrada y salida de medicin. Proporciona funciones
de Matlab, Bloques de Simulink, y una herramienta interactiva para crear y usar modelos de
sistemas dinamicos que no son fcilmente modelados a partir de principios o especificaciones
bsicas. Tu puedes usar el dominio del tiempo y el dominio de la frecuencia de datos de entrada
y salida para identificar la funcin de transferencia de tiempo continuo o tiempo discreto,
modelos de procesos, y modelos de espacio de estados.
Las versiones del Toolbox de Identificacion de Sistemas de Matlab a partir de la versin 4.0
permite trabajar en dos modos distintos:
- Modo comando: Se hace llamadas directamente a las funciones del toolbox de
identificacin de sistemas desde la lnea de comandos.
- Modo interfaz grafica: El toolbox de indentificacion de sistemas proporciona una interfaz
grafica que facilita el trabajo haciendo llamadas a las distintas funciones del toolbox de
identificacin a partir de una ventana con distintas opciones y que es muy didctica

2. DATOS DE ENTRADA-SALIDA
El proceso de identificacin parte de un conjunto de datos entrada-salida obtenidos
experimentalmente a partir de un sistema fsico real que se quiere modelar. Los datos tienen que ser
cargados en el Workspace de Matlab, todos las funciones del toolbox de identificacin que
requieren los datos de entrada-salida como parmetros deben estar ordenados en una matriz de 2
columnas por N filas, siendo N el numero de muestras registradas. En la primera columna deben
estar las salidas y en la segunda las entradas.
Ejemplo A1:
El toolbox de identificacin proporciona un fichero con datos de entrada-salida que corresponde
a un secador de mano con el cual se trabajara.

3. TRATAMIENTO PREVIO DE LOS DATOS
El toolbox de identificacin de sistemas proporciona funciones para hacer el tratamiento de
los datos y as hacerlos los ms adecuado posible para el proceso de identificacin. Entre ellas
existen funciones de filtrado, eliminacin de valores medios, etc.

Ejemplo A2:

4. IDENTIFICACION NO PARAMETRICA
Las funciones del toolbox para la identificacin no parametrica son las siguientes:

5. IDENTIFICACION PARAMETRICA
5.1. FUNCIONES PARA LA IDENTIFICACION PARAMETRICA
Todas las funciones del toolbox para la identificacin parametrica tienen el siguiente
formato:
>> th = funcion ([y u], ths)
Donde y e u son vectores columna que contienen las muestras de salida y entrada
respectivamente, ths es un vector con informacin de la estructura escogida y th es el modelo
estimado. Se utilizara una funcin u otra dependiendo del modelo elegido(ARX,ARMX,OE,JB)
o el mtodo de ajuste de los parmetros(minimos cuadrados o variables instrumentales).
El formato del vector ths es el siguiente:
Ths = [na nb nc nd nf nk]
Siendo na,nb,nc,nd,nf el numero de los coeficientes de los polinomios A,B,C,D y D de la
estructura escogida, y nk el numero de retardos entre la entrada y salida.
Todas las funciones devuelven los parmetros en formato codificado, para presentar dichos
parmetros en pantalla se puede usar el comando:
>> present(th)
La siguiente tabla muestra las distintas funciones de identificacin parametrica disponibles en el
toolbox de identificacin:

Ejemplo A3:
Para el ejemplo del secador de mano, obtenga un modelo que se ajuste a la siguiente
estructura:
y(t) + a y(t 2T) + a y(t 3T) = b u(t 3T) + b u(t 4T)
La ecuacin anterior corresponde a un modelo ARX con dos coeficientes para el polinomio
A, dos coeficientes para el polinomio B y 3 retardos entre la entrada y salida. La funcin arx
nos ayudara a obtener los coeficientes de los polinomios del modelo ARX:
load dryer2
who
tam=length(u2);
datos_ident=[y2(1:tam/2) u2(1:tam/2)]; % Datos para identificar
datos_val=[y2(tam/2+1:tam) u2(tam/2+1:tam)]; % Datos para validar
datos_ident=dtrend(datos_ident);
th=arx(datos_ident,[2 2 3]); % Funcion para obtener los
coeficientes de los polinomios del modelo ARX
present(th)

Discrete-time IDPOLY model: A(q)y(t) = B(q)u(t) + e(t)
A(q) = 1 - 1.277 (+-0.01601) q^-1 + 0.3967 (+-0.01465) q^-2
B(q) = 0.06519 (+-0.001617) q^-3 + 0.04518 (+-0.002473) q^-4
Estimated using ARX from data set datos_ident
Loss function 0.00167308 and FPE 0.00170006
Sampling interval: 1
Created: 17-Aug-2013 13:02:14
Last modified: 17-Aug-2013 13:02:14

Por tanto, los polinomios A(q-1) y B(q-1) resultantes de la identificacin son los
siguientes:

y el modelo paramtrico (ecuacin en diferencias) del sistema discreto con periodo de muestreo
igual al utilizado para el registro de datos es el siguiente:

y(t) 1.2765y(t T) + 0.3967y(t 2T) = 0.0652u(t 3T) + 0.0452u(t 4T)

5.2. ELECCION DE LA ESTRUCTURA OPTIMA
La eleccin de la estructura del modelo es una de las decisiones mas importantes y difciles
que debe tomar el diseador. Si no se tiene ningn conocimiento del sistema que facilite dicha
eleccin, se puede recurrir a las distintas funciones del toolbox de identificacin para calcular
las funciones de prdidas de las distintas estructuras y escoger aquella que tenga mejor
resultado. Las funciones se muestran a continuacin en la siguiente tabla:



Ejemplo A4:
Para el sistema del secador de mano obtenga la estructura que mejor ajusta el
comportamiento del sistema a un modelo ARX
load dryer2
who
tam=length(u2);
datos_ident=[y2(1:tam/2) u2(1:tam/2)]; % Datos para identificar
datos_val=[y2(tam/2+1:tam) u2(tam/2+1:tam)]; % Datos para validar
datos_ident=dtrend(datos_ident);
datos_val=dtrend(datos_val);
nn=struc([1:10],[1:10],[1:10]); % Ingresamos el rango del orden de los
polinomios de la estructura elegida
v=arxstruc(datos_ident,datos_val,nn); % Ingrasamos los datos de
identificacion y de validacion para el calculo de la funcion de
perdidas
nn=selstruc(v) % Selecciona la estructura que presente menor funcion
de perdidas

nn =
10 5 2

5.3. CONVERSION ENTRE MODELOS
El toolbox de identificacin proporciona un conjunto de funciones que nos permiten
traducir los modelos identificados de un formato a otro, incluye el paso de modelos
parametricos a no parametricos y viceversa. Las funciones de conversin se muestran a
continuacion:



Ejemplo A5:
Convierta el modelo del secador obtenido del ejemplo A3 a una funcin de transferencia en el
dominio del tiempo utilizando las funciones de la tabla de conversin de modelos. La conversin
del dominio discreto al continuo depende del periodo de muestreo utilizado por tanto se utilizara un
periodo de muestreo de 1ms.

load dryer2
who
tam=length(u2);
datos_ident=[y2(1:tam/2) u2(1:tam/2)]; % Datos para identificar
datos_val=[y2(tam/2+1:tam) u2(tam/2+1:tam)]; % Datos para validar
datos_ident=dtrend(datos_ident);
th=arx(datos_ident,[2 2 3]); % Funcion para obtener los coeficientes
de los polinomios del modelo ARX
th=sett(th,0.001); % Cambiamos el periodo de muestreo a 1ms
present(th)
thc=thd2thc(th);
[numc,denc]=th2tf(thc);
printsys(numc,denc,'s')

Discrete-time IDPOLY model: A(q)y(t) = B(q)u(t) + e(t)

A(q) = 1 - 1.277 (+-0.01601) q^-1 + 0.3967 (+-0.01465) q^-2
B(q) = 0.06519 (+-0.001617) q^-3 + 0.04518 (+-0.002473) q^-4

Estimated using ARX from data set datos_ident
Loss function 0.00167308 and FPE 0.00170006
Sampling interval: 0.001
Created: 17-Aug-2013 16:24:47
Last modified: 17-Aug-2013 16:24:47

num/den =

2.4809 s + 171765.8928
------------------------------
s^2 + 924.5482 s + 187021.0973

5.4. VALIDACION DE MODELOS

Los mtodos de validacin que proporciona el toolbox de identificacin se basan en la
simulacin del modelo obtenido, y la comparacin entre su salida y la respuesta real del
sistema. Las funciones disponibles se muestran en la siguiente tabla:



El modelo estimado que mejor ajusta su salida a la respuesta real es el modelo de mayor
FIT (FIT: porciento de ajuste definido en el toolbox de identificacin)


Ejemplo A6:
Comparar la salida real del sistema con la salida de simulacin del modelo usando para ello los
datos de validacin del modelo. Calcule tambin los residuos del modelo.

compare(datos_val,th);


resid(datos_val,th);



6. IDENTIFICACION POR INTERFAZ GRAFICA DE USUARIO
Para arrancar la interfaz grafica de usuario es necesario escribir en la ventana de comando el
siguiente comando:
>> ident
Aparece la siguiente ventana:


Con la interfaz grafica del toolbox de identificacin de sistemas se puede realizar el mismo
procedimiento para la identificacin de sistemas que se hizo por lnea de comando, solo que en
este caso es ms didctico, flexible y rpido de obtener los modelos de sistemas a partir de los
datos de entrada-salida.

III. APENDICE
A continuacin se muestra un resumen de algunos comandos y funciones tiles para el
proceso de identificacin de sistemas.
- idplot: Comando para representar grficamente los datos (entrada-salida) para la
identificacin del sistema.
Sintaxix: idplot([output input])

- save: Almacena una, dos o ms variables del espacio de trabajo en un formato binario en el
archivo llamado nombre_archivo.mat. Los datos se pueden recuperar con el comando load.

Sintaxix: save nombre_archivo var1 var2 ...... varN


- load: Comando para leer datos en MATLAB desde un archivo

Sintaxis: load nombre_archivo.mat

- xlsread: Comando para importar datos desde Excel hacia MATLAB
Sintaxis: nombre_variable = xlsread(nombre_archivo,punto_inicial:punto_final )
- xlswrite: Comando para exportar datos desde MATLAB hacia Excel
Sintaxis: xlswrite(nombre_archivo,nombre_archivo_de_datos)

También podría gustarte