identificacion de sistemas sistemas lti en matlab

Post on 22-Jan-2016

263 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

CONSTRUCCION DE MODELOS DE TIEMPO CONTINUO

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

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

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

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

Modelos en espacio de estado de tiempo continuo

Modelo en espacio de estado

Funcion: ss. Crea modelos en espacio de estados

DuCxy

BuAxx

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

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)

CONSTRUCCION DE MODELOS DE TIEMPO DISCRETO

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

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

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

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

COMBINACION DE MODELOS

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

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)

Operaciones aritmeticas basicas de modelos

Operaciones aritmeticas Matlab

Adicion sys = G1+G2;

Multiplicacionsys = G1*G2;

Inversionsys = inv(G1);

ANALISIS DE LA RESPUESTA TRANSIENTE

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

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)’)

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

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

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

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)’)

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

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)

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)’)

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)

ANALISIS DE LA RESPUESTA EN FRECUENCIA

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

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

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)’)

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

EL DIAGRAMA DE NYQUIST

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

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)’)

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

Fuente

top related