Identificacion de sistemas Sistemas LTI en MATLAB.

40
Identificacion de sistemas Sistemas LTI en MATLAB

Transcript of Identificacion de sistemas Sistemas LTI en MATLAB.

Page 1: Identificacion de sistemas Sistemas LTI en MATLAB.

Identificacion de sistemas

Sistemas LTI en MATLAB

Page 2: Identificacion de sistemas Sistemas LTI en MATLAB.

Contenido

Construccion de modelos de tiempo continuo

Construccion de modelos de tiempo discreto

Combinacion de modelosAnalisis de la respuesta transienteAnalisis de la respuesta en frecuenciaEl diagrama de nyquist

Page 3: Identificacion de sistemas Sistemas LTI en MATLAB.

CONSTRUCCION DE MODELOS DE TIEMPO CONTINUO

Page 4: Identificacion de sistemas Sistemas LTI en MATLAB.

Construccion de modelos para sistemas LTIEl toolbox Control System soporta

sistemas de tiempo continuo y discreto de los siguientes tipos:

Transfer Function Zero-pole-gain State Space

Page 5: Identificacion de sistemas Sistemas LTI en MATLAB.

Funciones de transferencia de tiempo continuo

Funcion: tf. Crea funciones de transferencia de la siguiente forma:

Example23

12)(

2

ss

ssH

>>num = [2 1];>>den = [1 3 2];>>H=tf(num,den)

Transfer function: 2 s + 1-------------s^2 + 3 s + 2

Matlab Output

Page 6: Identificacion de sistemas Sistemas LTI en MATLAB.

Funciones de transferencia de tiempo continuo

Es posible incluir retardo en la funcion de transferencia

Ejemplo 23

12)(

22

ss

sesH s

Transfer function: 2 s + 1

exp(-2*s) * ------------- s^2 + 3 s + 2

>>num = [2 1];>>den = [1 3 2];>>H=tf(num,den,’inputdelay’,2)

Matlab Output

Page 7: Identificacion de sistemas Sistemas LTI en MATLAB.

Funciones de transferencia de tiempo continuo

Function: zpk. Crea funciones de transferencia de la siguiente forma:

Ejemplo 21

5.02

23

12)(

2

ss

s

ss

ssH

>>num = [-0.5];>>den = [-1 -2];>>k = 2;>>H=zpk(num,den,k)

Zero/pole/gain: 2 (s+0.5)-----------(s+1) (s+2)

Matlab Output

Page 8: Identificacion de sistemas Sistemas LTI en MATLAB.

Modelos en espacio de estado de tiempo continuo

Modelo en espacio de estado

Funcion: ss. Crea modelos en espacio de estados

DuCxy

BuAxx

Page 9: Identificacion de sistemas Sistemas LTI en MATLAB.

Modelos en espacio de estado de tiempo continuo

Ejemplo:

0103

0

25

10

2

1

DCBAxx

x

>>A = [0 1;-5 -2];>>B = [0;3];>>C = [0 1];>>D = [0];>>sys=ss(A,B,C,D)

a = x1 x2 x1 0 1 x2 -5 -2

Matlab Output

b = u1 x1 0 x2 3

c = x1 x2 y1 0 1

d = u1 y1 0

Page 10: Identificacion de sistemas Sistemas LTI en MATLAB.

Conversion entre modelos diferentes

Para Convertir de Convertir a Funcion en Matlab

Transfer Function Zero-pole-gain [z,p,k]=tf2zp(num,den)

Transfer Function State Space [A,B,C,D]=tf2ss(num,den)

Zero-pole-gain Transfer Function [num,den]=zp2tf(z,p,k)

Zero-pole-gain State Space [A,B,C,D]=zp2ss(z,p,k)

State Space Transfer Function [num,den]=ss2tf(A,B,C,D)

State Space Zero-pole-gain [z,p,k]=ss2zp(A,B,C,D)

Page 11: Identificacion de sistemas Sistemas LTI en MATLAB.

CONSTRUCCION DE MODELOS DE TIEMPO DISCRETO

Page 12: Identificacion de sistemas Sistemas LTI en MATLAB.

Funciones de transferencia de tiempo discretoFuncion: tf. Crea funciones de transferencia de la siguiente forma:

Ejemplo: 23

12)(

2

zz

zzH

>>num = [2 1];>>den = [1 3 2];>>Ts=0.4;>>H=tf(num,den,Ts)

Transfer function: 2 z + 1-------------z^2 + 3 z + 2 Sampling time: 0.4

Matlab Output

con periodo de muestreo de 0.4

Page 13: Identificacion de sistemas Sistemas LTI en MATLAB.

Funciones de transferencia de tiempo discretoFuncion: zpk. Crea funciones de transferencia de la siguiente forma: :

Ejemplo: 21

5.02)(

zz

zzH

>>num = [-0.5];>>den = [-1 -2];>>k = 2;>>Ts=0.4;>>H=zpk(num,den,k,Ts)

Zero/pole/gain: 2 (z+0.5)-----------(z+1) (z+2) Sampling time: 0.4

Matlab Output

con periodo de muestreo de 0.4

Page 14: Identificacion de sistemas Sistemas LTI en MATLAB.

Modelos en espacio de estado de tiempo discretoModelo en espacio de estado

Funcion: ss. Crea modelos en espacio de estado

][][][

][][]1[

nnn

nnn

DuCxy

BuAxx

n es un indice o el tiempo discreto

Page 15: Identificacion de sistemas Sistemas LTI en MATLAB.

Modelos en espacio de estado de tiempo discretoEjemplo:

0103

0

25

10

][

][][

2

1

DCBAx

nx

nxn

>>A = [0 1;-5 -2];>>B = [0;3];>>C = [0 1];>>D = [0];>>Ts= [0.4];>>sys=ss(A,B,C,D,Ts)

Transfer function: 2 z + 1-------------z^2 + 3 z + 2 Sampling time: 0.4

Matlab Output

a = x1 x2 x1 0 1 x2 -5 -2

Matlab Output

b = u1 x1 0 x2 3

c = x1 x2 y1 0 1

d = u1 y1 0

Sampling time: 0.4

Page 16: Identificacion de sistemas Sistemas LTI en MATLAB.

COMBINACION DE MODELOS

Page 17: Identificacion de sistemas Sistemas LTI en MATLAB.

Combinacion de modelos

Un modelo puede ser visto como un bloque con entradas y salidas (diagramas de bloques) conteniendo una funcion de transferencia o un modelo en espacio de estado

Un simbolo para las operaciones matematicas sobre la entrada al bloque que produce la salida

TransferFunctionG(s)

Input Output

Elementos de un diagrama en bloques

Page 18: Identificacion de sistemas Sistemas LTI en MATLAB.

Combinacion de modelos

Funciones en matlab para manipulaciones basicas de diagramas de bloques

Combination Matlab Command

sys = series(G1,G2)

sys = parallel(G1,G2)

sys = feedback(G1,G2)

G1(s) G2(s)

+G1(s)

G2(s)

+

+G1(s)-

G2(s)

Page 19: Identificacion de sistemas Sistemas LTI en MATLAB.

Operaciones aritmeticas basicas de modelos

Operaciones aritmeticas Matlab

Adicion sys = G1+G2;

Multiplicacionsys = G1*G2;

Inversionsys = inv(G1);

Page 20: Identificacion de sistemas Sistemas LTI en MATLAB.

ANALISIS DE LA RESPUESTA TRANSIENTE

Page 21: Identificacion de sistemas Sistemas LTI en MATLAB.

Analisis de la respuesta transiente

La respuesta transiente se refiere al proceso generado al ir de un estado inicial a un estado final

La respuesta transiente es usada para investigar caracteristicas en el dominio del tiempo de sistemas dinamicos

Respuestas usadas:

respuesta al paso, respuesta al impulso, y respuesta a la rampa

Page 22: Identificacion de sistemas Sistemas LTI en MATLAB.

Analisis de la respuesta transiente

Respuesta al paso unitario

Considere el sistema: 254

252

ss

sH

%*****Numerator & Denominator of H(s)

>>num = [0 0 25];den = [1 4 25];%*****Specify the computing time

>>t=0:0.1:7;>>step(num,den,t)%*****Add grid & title of plot>>grid>>title(‘Unit Step Response of H(s)’)

Page 23: Identificacion de sistemas Sistemas LTI en MATLAB.

Analisis de la respuesta transiente

Respuesta al paso unitario de H(s)

Unit Step Response of H(s)

Time (sec)

Am

plitu

de

0 1 2 3 4 5 6 70

0.2

0.4

0.6

0.8

1

1.2

1.4

Page 24: Identificacion de sistemas Sistemas LTI en MATLAB.

Especificaciones de la respuesta transiente

Unit Step Response of G(s)

Time (sec)

Am

pli

tude

0 0.5 1 1.5 2 2.5 3

0.2

0.4

0.6

0.8

1

1.2

1.4

Peak Time

Rise Time

Steady State

Settling Time

0.1

0.5

Delay Time

Mp

Unit Step Response of G(s)

Time (sec)

Am

pli

tude

0 0.5 1 1.5 2 2.5 3

0.2

0.4

0.6

0.8

1

1.2

1.4

Peak Time

Rise Time

Steady State

Settling Time

0.1

0.5

Delay Time

Mp

Page 25: Identificacion de sistemas Sistemas LTI en MATLAB.

Analisis de la respuesta transiente

Forma alternativa para generar la respuesta al paso unitario de la funcion de transferencia,H(s)

Si la entrada es , entonces la respuesta puede ser generada con el siguiente comando:

%*****Numerator & Denominator of H(s)

>>num = [0 0 25];den = [1 4 25];%*****Create Model

>>H=tf(num,den);>>step(H)

>>step(10*H)

)(10 tu

Page 26: Identificacion de sistemas Sistemas LTI en MATLAB.

Analisis de la respuesta transiente

Respuesta impulsiva

Considere el sistema: 254

252

ss

sH

%*****Numerator & Denominator of H(s)

>>num = [0 0 25];den = [1 4 25];%*****Specify the computing time

>>t=0:0.1:7;>>impulse(num,den,t)%*****Add grid & title of plot>>grid>>title(‘Impulse Response of H(s)’)

Page 27: Identificacion de sistemas Sistemas LTI en MATLAB.

Analisis de la respuesta transiente

Respuesta impulsiva de H(s)

Impulse Response of H(s)

Time (sec)

Am

plitu

de

0 1 2 3 4 5 6 7-1

-0.5

0

0.5

1

1.5

2

2.5

3

Page 28: Identificacion de sistemas Sistemas LTI en MATLAB.

Analisis de la respuesta transiente

Respuesta a la rampa No existe una funcion rampa en MatlabPara obtener la respuesta a la rampa de H(s), dividir H(s)

por “s” y usar la funcion step

Considere el sistema:

Para entrada rampa unitaria, . Por lo tanto

254

252

ss

sH

2

1)(s

sU

254

251

254

251222

ssssssssY

Indica respuesta al paso

Nueva H(s)

Page 29: Identificacion de sistemas Sistemas LTI en MATLAB.

Analisis de la respuesta transiente

Ejemplo: Respuesta a la rampa unitaria

%*****Numerator & Denominator of NEW H(s)

>>num = [0 0 0 25];den = [1 4 25 0];%*****Specify the computing time

>>t=0:0.1:7;>>y=step(num,den,t);%*****Plot input & the ramp response curve>>plot(t,y,’.’,t,t,’b-’)%*****Add grid & title of plot>>grid>>title(‘Unit Ramp Response Curve of H(s)’)

Page 30: Identificacion de sistemas Sistemas LTI en MATLAB.

Analisis de la respuesta transiente

Respuesta a la rampa unitaria de H(s)

0 1 2 3 4 5 6 70

1

2

3

4

5

6

7Unit Ramp Response Curve of H(s)

Page 31: Identificacion de sistemas Sistemas LTI en MATLAB.

ANALISIS DE LA RESPUESTA EN FRECUENCIA

Page 32: Identificacion de sistemas Sistemas LTI en MATLAB.

Analisis de la respuesta en frecuenciaCon el analisis de la respuesta transiente es dificil

determinar con precision el modelo (debido al ruido o limitacion en el tamaño de la señal de entrada)

Alternativa: Usar la respuesta en frecuencia para caracterizar como se comporta el sistema en el dominio de la frecuencia

Es posible ajustar las caracteristicas de la respuesta en frecuencia del sistema ajustando los parametros relevantes (criterios de diseño)

para obtener una respuesta transiente aceptable de las caracteristicas de la respuesta transiente del sistema

Page 33: Identificacion de sistemas Sistemas LTI en MATLAB.

Analisis de la respuesta en frecuenciaRepresentacion en diagrama de Bode de la respuesta en frecuencia

Consiste de dos graficas:

El logaritmo de la magnitud de la respuesta en frecuencia

El angulo de fase (en grados) de la respuesta en frecuencia

Funcion en matlab: bode

Page 34: Identificacion de sistemas Sistemas LTI en MATLAB.

Analisis de la respuesta en frecuenciaRepresentacion en diagrama de Bode de la respuesta en frecuenciaEejemplo:

%*****Numerator & Denominator of H(s)

>>num = [0 0 25];den = [1 4 25];%*****Use ‘bode’ function

>>bode(num,den)%*****Add title of plot>>title(‘Bode plot of H(s)’)

Page 35: Identificacion de sistemas Sistemas LTI en MATLAB.

Analisis de la respuesta en frecuenciaEjemplo: Diagrama de Bode para

Bode plot of H(s)

Frequency (rad/sec)

Pha

se (

deg)

Mag

nitu

de (

dB)

-60

-50

-40

-30

-20

-10

0

10

20

100

101

102

-180

-135

-90

-45

0

254

252

ss

sH

Magnitud

Fase

Page 36: Identificacion de sistemas Sistemas LTI en MATLAB.

EL DIAGRAMA DE NYQUIST

Page 37: Identificacion de sistemas Sistemas LTI en MATLAB.

El diagrama de Nyquist

Es posible realizar analisis de estabilidad usando el diagrama de Nyquist

Para determinar si el sistema es establey tambien el grado de estabilidad del sistema

Y usar la informacion para determinar como mejorar la estabilidad

La estabilidad se determina basados en el Criterio de estabilidad de Nyquist

Page 38: Identificacion de sistemas Sistemas LTI en MATLAB.

El diagrama de Nyquist

Ejemplo:

Considere el sistema 18.0

12

ss

sH

%*****Numerator & Denominator of H(s)

>>num = [0 0 1];>>den = [1 0.8 1];%*****Draw Nyquist Plot

>>nyquist(num,den)%*****Add grid & title of plot>>grid>>title(‘Nyquist Plot of H(s)’)

Page 39: Identificacion de sistemas Sistemas LTI en MATLAB.

El diagrama de Nyquist

Diagrama de Nyquist para

Nyquist plot of H(s)

Real Axis

Imag

inar

y A

xis

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1

-1

-0.5

0

0.5

1

0 dB

-20 dB

-10 dB

-6 dB

-4 dB

-2 dB

20 dB

10 dB

6 dB

4 dB

2 dB

18.0

12

ss

sH

Page 40: Identificacion de sistemas Sistemas LTI en MATLAB.

Fuente