CursoDeTeoriaDeControl I

Embed Size (px)

Citation preview

Curso de Teoria de Control

Con Scilab

Simplificacion de bloques

- Bloques en serie (cascada) - Bloques en paralelo - Bloques en retroalimentacion

Respuesta en el tiempo de sistemas

La funcion de transferencia- La funcion de transferencia definida como la relacion entre la salida C(s) y la entrada R(s) G(s)=C(s)/R(s) - La funcion de salida C(s) C(s)=G(s)*R(s) En ambas funciones de la izquierda son definidas si estan definidas previamente las de la derecha del =.

Tipos de entradas- Entrada impulso unitario: R(s)=1 - Entrada paso o escalon unitario: R(s)=1/s - Entrada rampa o velocidad cte. Unitaria: R(s)=1/s^2

Funciones de Scilab- csim: y=csim('u',t,sistema) simulacion continua u=imp(impulse),step sistema=syslin('c',t,num,den) - horner(polinomio,valor) evaluacion del polinomio en valor - find(A>entero) buscar el indice en A tal que indice>valor Buscar en Ayuda de Scilab las sintaxis de estas funciones

Respuesta en el tiempo de un Sistema de primer orden

G(s)=5/(s+2)

Simulacion para entrada impulsos=poly(0,'s') num=poly([5],'s','c') den=poly([2 1],'s','c') sistema=syslin('c',num,den) t=0:0.005:15; y=csim('imp',t,sistema); plot2d(t,y) xtitle('Respuesta de 5/(s+2) ante un impulso', 'Tiempo(seg)','Amplitud')

Simulacion para entrada impulso...

Teclear codigo en el Scipad y guardar con el nombre Sist1erOrdImp+siglas del nombre o mote del alumno en su memoria electronica

Simulacion para entrada pasos=poly(0,'s') num=poly([5],'s','c') den=poly([2 1],'s','c') sistema=syslin('c',num,den) t=0:0.005:15; y=csim('step',t,sistema); plot2d(t,y) xtitle('Respuesta de 5/(s+2) ante un escalon', 'Tiempo(seg)','Amplitud')

Simulacion para entrada paso...

Teclear codigo en el Scipad y guardar con el nombre Sist1erOrdPaso+siglas del nombre o mote del alumno en su memoria electronica

Simulacion para entrada rampas=poly(0,'s') num=poly([5],'s','c') den=poly([2 1],'s','c') sist=syslin('c',num,den) sistema=sist/s t=0:0.005:15; y=csim('step',t,sistema); plot2d(t,y) xtitle('Respuesta de 5/(s+2) ante una rampa', 'Tiempo(seg)','Amplitud')

Simulacion para entrada rampa...

Teclear codigo en el Scipad y guardar con el nombre Sist1erOrdRampa+siglas del nombre o mote del alumno en su memoria electronica

Simulacion para entrada parabolas=poly(0,'s') num=poly([5],'s','c') den=poly([2 1],'s','c') sist=syslin('c',num,den) sistema=sist/s^2 t=0:0.005:15; y=csim('step',t,sistema); plot2d(t,y) xtitle('Respuesta de 5/(s+2) ante una parabola', 'Tiempo(seg)','Amplitud')

Simulacion para entrada parabola...

Teclear codigo en el Scipad y guardar con el nombre Sist1erOrdParab+siglas del nombre o mote del alumno en su memoria electronica

Respuesta en el tiempo de un Sistema de segundo orden

G(s)=0.2/(s^2+s+0.2)

Simulacion para entrada impulsos=poly(0,'s') num=poly([0.2],'s','c') den=poly([0.2 1 1],'s','c') sistema=syslin('c',num,den) t=0:0.005:25; y=csim('imp',t,sistema); plot2d(t,y) xtitle('Respuesta de 0.2/(s^2+s+0.2) ante un impulso','Tiempo(seg)','Amplitud')

Simulacion para entrada impulso...

Teclear codigo en el Scipad y guardar con el nombre Sist2doOrdImp1+siglas del nombre o mote del alumno en su memoria electronica

Simulacion para entrada pasos=poly(0,'s') num=poly([0.2],'s','c') den=poly([0.2 1 1],'s','c') sistema=syslin('c',num,den) t=0:0.005:35; y=csim('step',t,sistema); plot2d(t,y) xtitle('Respuesta de 0.2/(s^2+s+0.2) ante un escalon','Tiempo(seg)','Amplitud')

Simulacion para entrada paso...

Teclear codigo en el Scipad y guardar con el nombre Sist2doOrdPaso1+siglas del nombre o mote del alumno en su memoria electronica

Simulacion para entrada rampas=poly(0,'s') num=poly([0.2],'s','c') den=poly([0.2 1 1],'s','c') sist=syslin('c',num,den) sistema=sist/s t=0:0.005:35; y=csim('step',t,sistema); plot2d(t,y) xtitle('Respuesta de 0.2/(s^2+s+0.2) ante una rampa','Tiempo(seg)','Amplitud')

Simulacion para entrada rampa...

Teclear codigo en el Scipad y guardar con el nombre Sist2doOrdRampa1+siglas del nombre o mote del alumno en su memoria electronica

Simulacion para entrada parabolas=poly(0,'s') num=poly([0.2],'s','c') den=poly([0.2 1 1],'s','c') sist=syslin('c',num,den) sistema=sist/s^2 t=0:0.005:35; y=csim('step',t,sistema); plot2d(t,y) xtitle('Respuesta de 0.2/(s^2+s+2) ante una parabola','Tiempo(seg)','Amplitud')

Simulacion para entrada parabola...

Teclear codigo en el Scipad y guardar con el nombre Sist2doOrdParab1+siglas del nombre o mote del alumno en su memoria electronica

Respuesta en el tiempo de un Sistema estable de segundo orden criticamente amortiguado

G(s)=2/(s^2+2*s+1)

Simulacion para entrada impulsos=poly(0,'s') num=poly([2],'s','c') den=poly([1 2 1],'s','c') sistema=syslin('c',num,den) t=0:0.005:50; y=csim('imp',t,sistema); plot2d(t,y) xtitle('Respuesta de 2/(s^2+2*s+1) ante un impulso','Tiempo(seg)','Amplitud')

Simulacion para entrada impulso...

Teclear codigo en el Scipad y guardar con el nombre Sist2doOrdImp2+siglas del nombre o mote del alumno en su memoria electronica

Simulacion para entrada pasos=poly(0,'s') num=poly([2],'s','c') den=poly([1 2 1],'s','c') sistema=syslin('c',num,den) t=0:0.005:50; y=csim('step',t,sistema); plot2d(t,y) xtitle('Respuesta de 2/(s^2+2*s+1) ante un escalon','Tiempo(seg)','Amplitud')

Simulacion para entrada paso...

Teclear codigo en el Scipad y guardar con el nombre Sist2doOrdPaso2+siglas del nombre o mote del alumno en su memoria electronica

Simulacion para entrada rampas=poly(0,'s') num=poly([2],'s','c') den=poly([1 2 1],'s','c') sist=syslin('c',num,den) sistema=sist/s t=0:0.005:50; y=csim('step',t,sistema); plot2d(t,y) xtitle('Respuesta de 2/(s^2+2*s+1) ante una rampa','Tiempo(seg)','Amplitud')

Simulacion para entrada rampa...

Teclear codigo en el Scipad y guardar con el nombre Sist2doOrdRampa2+siglas del nombre o mote del alumno en su memoria electronica

Simulacion para entrada parabolas=poly(0,'s') num=poly([2],'s','c') den=poly([1 2 1],'s','c') sist=syslin('c',num,den) sistema=sist/s^2 t=0:0.005:50; y=csim('step',t,sistema); plot2d(t,y) xtitle('Respuesta de 2/(s^2+2*s+1) ante una parabola','Tiempo(seg)','Amplitud')

Simulacion para entrada parabola...

Teclear codigo en el Scipad y guardar con el nombre Sist2doOrdParab2+siglas del nombre o mote del alumno en su memoria electronica

Sistema estable subamortiguado

G(s)=3/(s^2+4*s+20)

Simulacion para entrada impulsos=poly(0,'s') num=poly([3],'s','c') den=poly([20 4 1],'s','c') sistema=syslin('c',num,den) t=0:0.0005:6; y=csim('imp',t,sistema); plot2d(t,y) xtitle('Respuesta de 3/(s^2+4*s+20) ante un impulso','Tiempo(seg)','Amplitud')

Simulacion para entrada impulso...

Teclear codigo en el Scipad y guardar con el nombre Sist2doOrdImp3+siglas del nombre o mote del alumno en su memoria electronica

Simulacion para entrada pasos=poly(0,'s') num=poly([3],'s','c') den=poly([20 4 1],'s','c') sistema=syslin('c',num,den) t=0:0.0005:6; y=csim('step',t,sistema); plot2d(t,y) xtitle('Respuesta de 3/(s^2+4*s+20) ante un escalon','Tiempo(seg)','Amplitud')

Simulacion para entrada paso...

Teclear codigo en el Scipad y guardar con el nombre Sist2doOrdPaso3+siglas del nombre o mote del alumno en su memoria electronica

Simulacion para entrada rampas=poly(0,'s') num=poly([3],'s','c') den=poly([20 4 1],'s','c') sist=syslin('c',num,den) sistema=sist/s t=0:0.0005:6; y=csim('step',t,sistema); plot2d(t,y) xtitle('Respuesta de 3/(s^2+4*s+20) ante una rampa','Tiempo(seg)','Amplitud')

Simulacion para entrada rampa...

Teclear codigo en el Scipad y guardar con el nombre Sist2doOrdRampa3+siglas del nombre o mote del alumno en su memoria electronica

Simulacion para entrada parabolas=poly(0,'s') num=poly([3],'s','c') den=poly([20 4 1],'s','c') sist=syslin('c',num,den) sistema=sist/s^2 t=0:0.0005:6; y=csim('step',t,sistema); plot2d(t,y) xtitle('Respuesta de 3/(s^2+4*s+20) ante una parabola','Tiempo(seg)','Amplitud')

Simulacion para entrada parabola...

Teclear codigo en el Scipad y guardar con el nombre Sist2doOrdParab3+siglas del nombre o mote del alumno en su memoria electronica

Sistema oscilatorio

G(s)=10/(s^2+5)

Simulacion para entrada impulsos=poly(0,'s') num=poly([10],'s','c') den=poly([5 0 1],'s','c') sistema=syslin('c',num,den) t=0:0.005:50; y=csim('imp',t,sistema); plot2d(t,y) xtitle('Respuesta de 10/(s^2+10) ante un impulso','Tiempo(seg)','Amplitud')

Simulacion para entrada impulso...

Teclear codigo en el Scipad y guardar con el nombre Sist2doOrdImp4+siglas del nombre o mote del alumno en su memoria electronica

Simulacion para entrada pasos=poly(0,'s') num=poly([10],'s','c') den=poly([5 0 1],'s','c') sistema=syslin('c',num,den) t=0:0.005:50; y=csim('step',t,sistema); plot2d(t,y) xtitle('Respuesta de 10/(s^2+5) ante un escalon','Tiempo(seg)','Amplitud')

Simulacion para entrada paso...

Teclear codigo en el Scipad y guardar con el nombre Sist2doOrdPaso4+siglas del nombre o mote del alumno en su memoria electronica

Simulacion para entrada rampas=poly(0,'s') num=poly([10],'s','c') den=poly([5 0 1],'s','c') sist=syslin('c',num,den) sistema=sist/s t=0:0.005:50; y=csim('step',t,sistema); plot2d(t,y) xtitle('Respuesta de 10/(s^2+5) ante una rampa','Tiempo(seg)','Amplitud')

Simulacion para entrada rampa...

Teclear codigo en el Scipad y guardar con el nombre Sist2doOrdRampa4+siglas del nombre o mote del alumno en su memoria electronica

Simulacion para entrada parabolas=poly(0,'s') num=poly([10],'s','c') den=poly([5 0 1],'s','c') sist=syslin('c',num,den) sistema=sist/s^2 t=0:0.005:50; y=csim('step',t,sistema); plot2d(t,y) xtitle('Respuesta de 3/(s^2+4*s+20) ante una parabola','Tiempo(seg)','Amplitud')

Simulacion para entrada parabola...

Teclear codigo en el Scipad y guardar con el nombre Sist2doOrdParab4+siglas del nombre o mote del alumno en su memoria electronica

Sitema inestable

G(s)=1/(s-1)

Simulacion para entrada pasos=poly(0,'s') num=poly([1],'s','c') den=poly([-1 1],'s','c') sistema=syslin('c',num,den) t=0:0.005:15; y=csim('step',t,sistema); plot2d(t,y) xtitle('Respuesta de 1/(s-1) ante un escalon','Tiempo(seg)','Amplitud')

Simulacion para entrada paso...

Teclear codigo en el Scipad y guardar con el nombre Sist2doOrdPaso5+siglas del nombre o mote del alumno en su memoria electronica

Especificaciones en el tiempo de Un sistema subamortiguado ante Una entrada escalon unitario G(s)=6/(s^2+2*s+5)

G(s)=6/(s^2+2*s+5)s=poly(0,'s') num=poly([6],'s','c') den=poly([5 2 1],'s','c') sistema=syslin('c',num,den) t=0:0.005:12; y=csim('step',t,sistema); plot2d(t,y) xtitle('Respuesta de 6/(s^2+2*s+5) ante un escalon','Tiempo(seg)','Amplitud') ...

G(s)=6/(s^2+2*s+5) ...Vf=horner(num,0)/horner(den,0) Ymax=max(y) Mo=(Ymax-Vf)/Vf P=find(y>=Ymax) Tp=t(P) a=find(y>=(Vf*0.1),1) t1=t(a) b=find(y>=(Vf*0.9),1) t2=t(b) Tr=t2-t1

G(s)=6/(s^2+2*s+5) ...flag=length(y) y1=y(flag) while (y1(0.95*Vf)) flag=flag-0.005; y1=y(flag); End Ts=t(flag)

Especificaciones en el tiempo de Un sistema subamortiguado ante Una entrada escalon unitario G(s)=(s+6)/(s^2+2*s+5)

G(s)=(s+6)/(s^2+2*s+5)s=poly(0,'s') num=poly([6 1],'s','c') den=poly([5 2 1],'s','c') sistema=syslin('c',num,den) t=0:0.005:12; y=csim('step',t,sistema); plot2d(t,y) xtitle('Respuesta de (s+6)/(s^2+2*s+5) ante un escalon','Tiempo(seg)','Amplitud') ...

G(s)=(s+6)/(s^2+2*s+5) ...Vf=horner(num,0)/horner(den,0) Ymax=max(y) Mo=(Ymax-Vf)/Vf P=find(y>=Ymax) Tp=t(P) a=find(y>=(Vf*0.1),1) t1=t(a) b=find(y>=(Vf*0.9),1) t2=t(b) Tr=t2-t1

G(s)=(s+6)/(s^2+2*s+5) ...flag=length(y) y1=y(flag) while (y1(0.95*Vf)) flag=flag-0.005; y1=y(flag); End Ts=t(flag)

Modificacion de Funcion de Transferencia con reubicacion de polos y cerosSistema original: G(s)=1/(s^2+2*s+2) En el camino directo de la configuracion canonica con retroalimentacion unitaria negativa, en donde C(s)/R(s)=G(s)*H(s)/(1+G(s)*H(s)) con H(s)=1

Obtener la respuesta en el tiempo del sistema original sin modificar

C(s)/R(s)=(1/(s^2+2*s+2))/(1+1/(s^2+2*s+2)) =1/(s^2+2*s+3) Para una entrada paso unitario

Las modificaciones

Las modificaciones se obtienen con un controlador Gc(s) en serie con la planta G(s): C(s)/R(s)=(Gc(s)*G(s))/(1+Gc(s)*G(s)*H(s)) con H(s)=1

Obtener la respuesta en el tiempo anadiendo un polo en el origenAqui Gc(s)=1/s, entonces: C(s)/R(s)=(1/s*1/(s^2+2*s+2))/(1+1/s*1/ (s^2+2*s+2)) =1/(s^3+2*s^2+2*s+1) Tambien desarrolle el mapa de polos y ceros.

Obtener la respuesta en el tiempo anadiendo un cero en el origenAqui Gc(s)=s, entonces: C(s)/R(s)=(s*1/(s^2+2*s+2))/(1+s*1/(s^2+2*s+2)) =s/(s^2+3*s+2) Tambien desarrolle el mapa de polos y ceros.

Obtener la respuesta en el tiempo anadiendo un cero cercano y un polo en el origenAqui Gc(s)=(s+0.5)/s, entonces: Gc(s)*G(s)=(s+0.5)/s*1/(s^2+2*s+2) =(s+0.5)/(s^3+2*s^2+2*s) Tambien desarrolle el mapa de polos y ceros. Obtenga C(s)/R(s)=N(s)/D(s) para obtener la respuesta

Obtener la respuesta en el tiempo anadiendo un cero alejado y un polo en el origenAqui Gc(s)=(s+5)/s, entonces: Gc(s)G(s)=(s+5)/s*1/(s^2+2*s+2))/(1+(s+5)/s*1/ (s^2+2*s+2)) Tambien desarrolle el mapa de polos y ceros. Obtenga C(s)/R(s)=N(s)/D(s) para obtener la respuesta

Obtener la respuesta en el tiempo anadiendo un cero en el origenAqui Gc(s)=s+5, entonces: Gc(s)G(s)=(s+5)*1/(s^2+2*s+2) Tambien desarrolle el mapa de polos y ceros. Obtenga C(s)/R(s)=N(s)/D(s) para obtener la respuesta

Criterio de estabilidad de Routh Y Lugar geometrico de las raices

Funciones Scilab empleadas- Tabla de Routh: routh_t(P) //P=poly()

- Lugar geometrico de las raices: evans(GH,[K]) //GH es funcion de transferencia y K es maxima ganancia

Criterio de estabilidad de Routh-HurwitzPara un sistema canonico con funciones de transferencia: -en el camino directo con Gc(s)=K y G(s) -y H(s) en la retroalimentacion negativa C(s)/R(s)=K*G(s)/(1+K*g(s)*H(s))=N(s)/D(s) Existen dos condiciones para que el sistema sea estable:

Criterio de estabilidad de Routh-Hurwitz...-La condicion necesaria es que los coeficientes de D(s) existan y deben tener el mismo signo -Y la condicion suficiente es que los componentes de la primera columna de la tabla de Routh han de ser del misma signo Si la tabla tiene un renglon de ceros el sistema es oscilatorio

EjemploSea: D(s)=s^4+3*s^3+4*s^2+2*s+4k el polinomio caracteristico. La tabla es: 4 3 2 1 0 |1 |3 |(3*4-1*2)/3=10/3 |(10/3*2-3*4*k)/(10/3) | 4*k 4 4*k 2 0 4*k 0

Para que el sistema sea marginalmente estable...

Ejemplo...Es suficiente que el elemento del renglon 1: 20/3-12*k >= 0 o sea k >= 5/9 = 0.555... Con el valor de k=5/9 el sistema es oscilatorio con la frecuencia determinada a partir del renglon 2: 10/3*s^2 + 4*5/9=0 o s^2+6/9=0 De donde s=+/-sqrt(-6/9)=+/-j*sqrt(2/9)=+/-wu En donde wu es la frecuencia de oscilacion para Que el sistema este en oscilacion permanente

Ejemplo...Para k=1 se tiene: D(s)=s^4+3*s^3+4*s^+2*s+4=0 Pruebe el codigo >poly(0,'s') >D=poly([4 2 4 3 1],'s','c') >routh_t(D) Salve las D y la tabla para k=1 Haga lo mismo para k=5/9 y k=0.5 El sistema es inestable para k>5/9, es estable para k 0 = -180 si KB < 0

Terminos simples en las Formas de Bode...Ejemplo: KB = 5: |KB|dB =20log10 |5| (KB)= 0 Codigo Scilab: G=syslin('c',5,1) bode(G)

Terminos simples en las Formas de Bode...

Un cero en el origen: s+1 = s=0 | j |dB = 20log10 () ( j)= 90

Terminos simples en las Formas de Bode...Ejemplo: s Codigo de Scilab s=poly(0,'s') num=poly([0 1],'s','c') G=syslin('c',num,1) bode(G)

Terminos simples en las Formas de Bode...Un cero negativo: s= -a, a>0; factor en el numerador: s+a Formas de Bode: | j/a + 1 |dB = 20log10 ((/a)2 + 1)1/2 ( j/a + 1 )= arctan(/a)

Terminos simples en las Formas de Bode...Ejemplo: s+50 Codigo de Scilab s=poly(0,'s') num=poly([50 1],'s','c') G=syslin('c',num,1) bode(G)

Terminos simples en las Formas de Bode...Un cero positivo: s= a, a>0; factor en el numerador: s-a Formas de Bode: | j/(-a) + 1 |dB = 20log10 ((/a)2 + 1)1/2 ( j/(-a) + 1 )= arctan(/(-a))

Terminos simples en las Formas de Bode...Ejemplo: s-50 Codigo de Scilab s=poly(0,'s') num=poly([-50 1],'s','c') G=syslin('c',num,1) bode(G)

Terminos simples en las Formas de Bode...

Un polo en el origen: s-1 = 1/s | 1/(j) |dB = -20log10 () (1/( j))= -90

Terminos simples en las Formas de Bode...

Un cero en el origen: s+1 = s=0 | 1/(j) |dB = -20log10 () ( 1/(j))= -90

Terminos simples en las Formas de Bode...Un polo negativo: s= -b, b>0; factor en el denominador: s+b Formas de Bode: |1/( j/b + 1) |dB = -20log10 ((/b)2 + 1)1/2 (1/( j/b + 1) )= -arctan(/b)

Terminos simples en las Formas de Bode...Ejemplo: 1/(s+50) Codigo de Scilab s=poly(0,'s') den=poly([50 1],'s','c') G=syslin('c',1,den) bode(G)

Terminos simples en las Formas de Bode...Un polo positivo: s= b, b>0; factor en el denominador: s-b Formas de Bode: |1/( j/(-b) + 1) |dB = -20log10 ((/b)2 + 1)1/2 (1/( j/(-b) + 1) )= -arctan(/(-b))

Terminos simples en las Formas de Bode...Ejemplo: 1/(s-50) Codigo de Scilab s=poly(0,'s') den=poly([-50 1],'s','c') G=syslin('c',1,den) bode(G)

Terminos simples en las Formas de Bode...Par de ceros complejos conugados en el semiplano izquierdo: s1,2 = -a +/-jb; a,b >0 Factores en el numerador: ((s+a)2 + b2 ) En donde 2 2 2 n = a + b , d = b, = a/2n d = n (1 2 )1/2

Terminos simples en las Formas de Bode...Formas de Bode 2 | 1 - ( /n ) + j2/n |dB = 2 2 2 1 /2 20Log10 ((1 - ( /n ) ) + (2/n ) ) (1 - ( /n )2 + j2/n ) = Arctan( (2/n ) / (1 - ( /n )2 )

Terminos simples en las Formas de Bode...Par de ceros complejos conjugados en el semiplano izquierdo: s2 + 6s + 25 Codigo de Scilab s=poly(0,'s') num=poly([25 6 1],'s','c') G=syslin('c',num,1) bode(G)

Terminos simples en las Formas de Bode...Par de ceros complejos conugados en el semiplano derecho: s1,2 = a +/-jb; a,b >0 Factores en el numerador: ((s-a)2 + b2 ) En donde 2 2 2 n = a + b , d = b, = a/2n d = n (1 2 )1/2

Terminos simples en las Formas de Bode...Formas de Bode 2 | 1 - ( /n ) - j2/n |dB = 2 2 2 1 /2 20Log10 ((1 - ( /n ) ) + (2/n ) ) (1 - ( /n )2 - j2/n ) = Arctan( (-2/n ) / (1 - ( /n )2 )

Terminos simples en las Formas de Bode...Par de ceros complejos conjugados en el semiplano derecho : s2 - 6s + 25 Codigo de Scilab s=poly(0,'s') num=poly([25 -6 1],'s','c') G=syslin('c',num,1) bode(G)

Terminos simples en las Formas de Bode...Par de polos complejos conugados en el semiplano izquierdo: s1,2 = -a +/-jb; a,b >0 Factores en el denominador: ((s+a)2 + b2 ) En donde 2 2 2 n = a + b , d = b, = a/2n d = n (1 2 )1/2

Terminos simples en las Formas de Bode...Formas de Bode 2 -1 | 1 - ( /n ) + j2/n |dB = 2 2 2 1 /2 -20Log10 ((1 - ( /n ) ) + (2/n ) ) (1 - ( /n )2 + j2/n )-1 = -arctan( (2/n ) / (1 - ( /n )2 )

Terminos simples en las Formas de Bode...Par de polos complejos conjugados en el semiplano izquierdo: (s2 + 6s + 25)-1 Codigo de Scilab s=poly(0,'s') den=poly([25 6 1],'s','c') G=syslin('c',1,den) bode(G)

Terminos simples en las Formas de Bode...Par de polos complejos conugados en el semiplano derecho: s1,2 = a +/-jb; a,b >0 Factores en el denominador: ((s-a)2 + b2 )-1 En donde 2 2 2 n = a + b , d = b, = a/2n d = n (1 2 )1/2

Terminos simples en las Formas de Bode...Formas de Bode 2 -1 | 1 - ( /n ) - j2/n |dB = 2 2 2 1 /2 -20Log10 ((1 - ( /n ) ) + (2/n ) ) (1 - ( /n )2 + j2/n )-1 = -arctan( (-2/n ) / (1 - ( /n )2 )

Terminos simples en las Formas de Bode...Par de polos complejos conjugados en el semiplano derecho: (s2 - 6s + 25)-1 Codigo de Scilab s=poly(0,'s') den=poly([25 -6 1],'s','c') G=syslin('c',1,den) bode(G)

Sistema de orden cubicoG(s)=1/(s^3+2s^2+s) s=poly(0,'s') num=poly([1],'s','c') den=poly([0 1 2 1],'s','c') G=syslin('c',num,den) bode(G)

Sistema de orden cubico con retroalimentacion unitariaG(s)=1/(s^3+2s^2+s) s=poly(0,'s') num=poly([1],'s','c') den=poly([0 1 2 1],'s','c') G=syslin('c',num,den) CenR=G/(1+G) bode(CenR)

Margenes de Ganancia y de FaseFunciones: [gm,fr]=g_margin(GH) [phm,fr]=p_margin(GH) show_margins(GH,'bode') En donde: gm=Margen de ganancia phm=margen de fase fr=frecuencia de cruce de fase del eje -180 o frecuencia de cruce de magnitud del eje 0dB

Margenes de Ganancia y de Fase EjemploG(s)=70(s+10)/((s-5)(s+50)) s=poly(0,'s') num=poly([700 7],'s','c') den=poly([-250 45 1],'s','c') G=syslin('c',num,den) show_margins(G,'bode') [MG,Fcf]=g_margin(G) [MF,Fcg]=p_margin(G)

Diagrama de NyquistEl metodo de Nyquist consiste en transformar todo el semiplano derecho de s al plano G(s)H(S) por medio de una trayectoria cerrada que encierre tal semiplano derecho de s. Parte de tal trayectoria incluye al eje imaginario donde s=j, -