You are on page 1of 17

Problemas Resueltos de Control Digital

Ricardo Rodrguez Bustinza


robust@uni.edu.pe

Problema 1
Sean los sistemas continuos dados por:
1
sa
E2 (s) = E1 (s) e2T s
E1 (s) =

(a) Halle la transformada asterisco () para la funcion de transferencia E1 (s), es decir, la secuencia de
tiempo expresada en terminos de E1 (s).
(b) Repita el enunciado anterior, esta vez para hallar E2 (s).

Solucion 1
Dado E1 (s) =

1
, hallaremos la transformada asterisco usando el metodo directo:
sa
)
(
1
1
e(t) = L
= eat
sa

Luego:
E1 (s) =

e(kT )ekT s

k=0

= e(0)e0 + e(T )eT s + e(2T )e2T s +


= 1 + e(kT )e(as)T + e(2kT )e2(as)T +
1
=
1 e(as)T
1 2T s
e
, hallaremos la transformada asterisco usando el metodo directo. Aplicaremos la
sa
propiedad de traslacion:
(
)
f (t t0 )u(t t0 ) = et0 s F(s)
Dado E2 (s) =

Para ello, t0 = 2T , F(s) =

1
, y f (t) = eat .
sa
e(t) = ea(t2T ) u(t 2T )

Luego obtenemos.
1

E2 (s) =

e(kT )ekT s

k=0

= e(0)e0 + e(T )eT s + e(2T )e2T s +


= e2T s (1 + e(as)T + e2(as)T + )
e2T s
=
1 e(as)T

Problema 2
Para el sistema de la Figura 1, el filtro es resuelto por la ecuacion de diferencias:
m(kT ) = 0.9 m(kT T ) + 0.2 e(k)
Considere la frecuencia de muestreo de 1Hz y la funcion de transferencia de la planta es:
G p (s) =

1
s + 0.2

Figura 1: Sistema hbrido en lazo abierto.

(a) Halle la funcion de transferencia del sistema C(z)/R(z).


(b) Halle la ganancia DC del lazo directo.
(c) Escriba un codigo MATLAB para calcular la variacion de la ganancia DC respeto de la entrada
escalon.
(d) Halle c(kT ) debido a una entrada escalon unitario.

Solucion 2
Aplicando la transformadaZ a la ecuacion de diferencias del filtro digital:
m(kT ) = 0.9 m(kT T ) + 0.2 e(k)
M(z) = 0.9 z1 M(z) + 0.2 E(z)
Resultando
M(z) =

0.2z
E(z)
z 0.9

(a) Hallando C(z)/R(z):


M.Sc. Ricardo Rodrguez Bustinza

C(z) = G(z)D(z)E(z)
1
s(s + 0.2)
{
}
1
1
G(z) = (1 z ) Z
s(s + 0.2)
{
}
5
5
G(z) = (1 z1 ) Z

s s + 0.2
G(s) = (1 es )

Sabemos:
ak

z
za

obtenemos:
}

{
1

G(z) = (1 z ) Z

5z
5z

z 1 z e0.2

Finalmente:
C(z)
0.2z 5(1 e0.2 )
0.1813z
=

=
0.2
R(z) z 0.9 z e
(z 0.9)(z 0.8187)
(b) Hallando la ganancia DC:


GainDC = G(z)D(z)

z=1

= G(1)D(1) =

5(0.1813) 0.2(1)

= 10
1 0.8187 1 0.9

(c) Hallando la variacion:


1
2
3
4
5
6
7
8

G=tf(1,[1 0.2]);
T=1/0.2/5;
Gd=c2d(G,T);
D=tf([0.2 0],[1 -0.9],T);
S=series(D,Gd);
dcgain(S) % 10
d=dcgain(S)-1;
step(S)
(d) Hallando c(kT ):

C(z) =
=

0.1813z
z
(z 0.9)(z 0.8187) z 1
0.1813z2
(z 0.9)(z 0.8187)(z 1)

Expandiendo en fracciones parciales:


C(z) =
M.Sc. Ricardo Rodrguez Bustinza

20.07z
10.07z
10z
+
+
z 0.9
z 0.8187 z 1
3

Entonces:
c(kT ) = 10 20.07(0.9)k + 10.07(0.8187)k

Problema # 3
Considere la ecuacion de diferencias (o recurrencias) lineal:
5
1
y(k) y(k 1) + y(k 2) =
6
6

( )k
1
u(k),
5

y(1) = 6 y(2) = 25

(a) Encuentre la expresion en forma cerrada (solucion) y(k) usando el metodo de la transformada Z.
Donde u(k) representa la funcion escalon.
(b) Escriba un codigo simple en MATLAB mediante el metodo iterativo - ecuacion de diferencias
(c) Escriba un codigo simple en MATLAB mediante el metodo iterativo - expresion en forma cerrada
(d) Responda brevemente Que resultado es de esperar del analisis de los tems (b) y (c)?

Solucion 3
El resultado de aplicar las transformadas.
3
2
1

+
2n+1 3n+1 5n
Que representa la forma cerrada pedida. Con el siguiente programa podemos comparar las secuencias
obtenidas con la ecuacion en diferencias dada en el enunciado del problema y la denominada forma
cerrada.
y(n) =

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

%Metodo iterativo - Ecuacion de diferencias


y(1)=25; y(2)=6; N=30;
u=[0 0 ones(1,N+1)];
for n=1:N+1
y(n+2)=(1/5)(n-1)*u(n+2)+(5/6)*y(n+1)-(1/6)*y(n);
end
n=-2:N;
subplot(2,1,1);
stem(n,y);
title(Metodo iterativo - Ecuacion de diferencias);
%Metodo iterativo - Expresion en forma cerrada
for n=1:N+1
y(n)=3/(2(n-2))-2/(3(n-2))+1/(5(n-3));
end
n=-2:N;
subplot(2,1,2);
stem(n,y,r);
title(Metodo iterativo - Expresi
on en forma cerrada);
Finalmente podemos decir que ambos metodos nos conducen a la misma respuesta, esto se verifica en la
Figura 2.

M.Sc. Ricardo Rodrguez Bustinza

Metodo itarativo Ecuacion de diferencias


25
20
15
10
5
0
5

10

15

20

25

30

25

30

Metodo iterativo Expresion en forma cerrada


25
20
15
10
5
0
5

10

15

20

Figura 2: Respuestas de los metodos iterativos.

M.Sc. Ricardo Rodrguez Bustinza

Problema # 4
Una senal continua x(t) se obtiene a la salida de un filtro pasabajo ideal con frecuencia de corte c =
1000 rad/s. Si el muestreo con un tren de impulsos se realiza sobre x(t). Cual de los siguientes perodos
de muestreo garantiza que x(t) se pueda recuperar a partir de su version muestreada usando un filtro
pasabajo adecuado?.
(a) T = 0.5 103 s,

(b) T = 2 103 s,

(c) T = 1 104 s

Solucion 4
Para recuperar la senal original a partir de la senal muestreada, es necesario cumplir el teorema del
muestreo; esto es, s > c , donde c es la frecuencia mas alta que deja pasar el filtro ideal. Numericamente, debe ser c > 2000 o T < 1 103 . Luego, las opciones (a) y (c) son correctas.

Problema # 5
Considere la planta de un proceso de control: G(s) =

1
Y (s)
=
U(s) s(s + 1)

(a) Determine la funcion de transferencia discreta de la planta G(s) si la entrada a la planta proviene
desde el DAC y la salida es muestreada cada T = 1 segundos.
(b) Que sucede con los polos y ceros de la funcion si el perodo de muestreo disminuye?. Como
afecta en la dinamica del sistema?.

Solucion 5
G(z) = (1 z1 )Zs

]
G(s)
0.368z + 0.264
= 2
s
z 1.368z + 0.368

A medida que vamos disminuyendo el periodo de muestreo, el polo y el cero afectados por la funcion
eat se van corriendo hacia los extremos del crculo. Por ejemplo es el caso del polo en color magenta que
corresponde a un periodo de muestreo de 0.1s, mientras que el polo situado en 1, al no estar afectado por
la funcion eat , permanece inalterable.
1
0.6/T
0.8

0.5/T

0.4/T
0.10.3/T

0.7/T

0.6

0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9

0.8/T

0.4
0.9/T
0.2

0.2/T

0.1/T

1/T
1/T

0.2
0.9/T

0.1/T

0.4

0.6

0.8/T

0.2/T

0.7/T

0.8

0.3/T
0.6/T

1
1

0.8

0.6

0.4

0.2

0.5/T
0

0.4/T
0.2

0.4

0.6

0.8

Figura 3: Influencia del periodo de muestreo.

M.Sc. Ricardo Rodrguez Bustinza

Problema # 6
Considere el sistema de control realimentado de la Figura 4:

Figura 4: Sistema en lazo cerrado.

(a) Determine una funcion de transferencia discreta. Calcule su expresion (en forma literal) por medio
de la transformada de Laplace asterisco.
(b) Asuma que el sistema tiene realimentacion unitaria y G1 (z) = 1. Analice la respuesta transitoria
del sistema debido a una entrada escalon unitario, por ejemplo debe calcular por lo menos una
caracterstica de las mencionadas a continuacion: tiempo de establecimiento (ts ), frecuencia natural
(n ), contante de tiempo ( ), frecuencia amortiguada (d ), sobreimpulso (MP ), tiempo de subida
(tr ), tiempo pico (t p ), error en estado estacionario (ess ). Asuma el periodo de muestreo T = 0.1s y
G2 (z) viene dada por la funcion de transferencia:
G2 (z) =

0.09516z 0.08611
z2 1.619z + 0.6465

Solucion 6
La funcion de transferencia asterisco viene dado por:
C (s)
G1 (s)G2 (s)
=

R (s) 1 + G2 (s) + G1 (s)G2 H (s)


La transformada z de todo el sistema es:
C(z)
G1 (z)G2 (z)
=
R(z) 1 + G2 (z) + G1 (z)G2 H(z)
Las caractersticas a verificar son mostradas en la Figura 5.
1
2
3
4
5
6
7

[n,d]=tfdata(F,v);
raices=roots(d);
mag=sqrt(real(raices(2))2+imag(raices(2))2);
fas=atan(imag(raices(2))/real(raices(2)));
zeta=-log(mag)/sqrt(log(mag)2+fas2);
wn=(1/T)*sqrt(log(mag)2+fas2);
tr=1.8/(zeta*wn); % 0.54
M.Sc. Ricardo Rodrguez Bustinza

Figura 5: Respuesta al escalon.

Problema # 7
Sea el sistema de la Figura 6.

Figura 6: Sistema realimentado con perturbacion.

Donde R(s) es la entrada escalon unitario, H(s) es una funcion de transferencia prototipo de primer orden
con ganancia K y constante de tiempo , C(s) es la salida del sistema, N(s) es la perturbacion considerada
1
como un escalon unitario, y G(s) = . Halle C(z) como una funcion de la entrada y de las funciones de
s
transferencia mostradas. Determine el periodo de muestreo mas optimo. Asuma K = 1 y = 1.
VERIFIQUE ESTE PROBLEMA YA QUE EL DIAGRAMA HA SIDO CAMBIADO (DISCUTIDO EN
CLASE DE SEMINARIO)

Solucion 7
C(z) =
M.Sc. Ricardo Rodrguez Bustinza

G(z)
HN(z)G(z)
R(z) +
1 + HG(z)
1 + HG(z)
8

Sea el diagrama de la Figura 7.

Figura 7: Diagrama de senales.


Obtenemos las siguientes ecuaciones de A a C en terminos de R, A :
A = GH(R A )
tomando la transformada asterisco ()

A = GH R GH A

GH

A =
R
1 + GH
Ademas, la salida C es:
C = G(R A )
tomando la transformada asterisco ()
C = G R G A
G

C =
R
1 + GH
entonces:
C(z) =

G(z)
R(z)
1 + GH(z)

Para las funciones de trasferencia:


G(s) =
Para T = 1.
GH(s) =

1
z
G(z) =
= R(z)
s
z1

0.368z + 0.264
1
GH(z) = 2
s(s + 1)
z 1.368z + 0.368

Entonces:
C(z) z(z2 1.368z + 0.368)
=
R(z) (z 1)(z2 z + 0.632)
Programa en MATLAB:

M.Sc. Ricardo Rodrguez Bustinza

1
2
3
4
5
6
7
8
9
10

% Usando el resultado anal


tico
T=1;
n=conv([1 0],[1 -1.368 0.368]);
d=conv([1 -1],[1 -1 0.632]);
D=tf(n,d,T);
D=zpk(D);
H=feedback(D,1);
k=0:T:30;
y=step(H,k);
plot(k,y), hold

11
12
13
14
15
16
17
18
19
20
21
22

% Usando directamente los tf


nGH=1;
dGH=conv([1 0],[1 1]);
Hc=tf(nGH,dGH);
GH=c2d(Hc,T,zoh)
G=tf([1 0],[1 -1],T);
%G=tf(1,[1 0]);
%G=c2d(G,T,zoh); las 2 ultimas lineas es = linea anterior
CR=G/(1+GH)
y=step(H,k);
plot(k,y,k.)

Problema # 8
Sea el sistema que se muestra en la Figura 8.

y (k )

y (t )
FOH

Figura 8: Sistema realimentado.

Considere la senal de entrada dada por la secuencia:


{
}
y(k) = 2, 4, 1, 1, 0, 0, 0, . . .
Asuma un periodo de muestreo T = 1seg.
(a) Obtenga la senal de salida Y (s) del sistema que se muestra en la Figura 8.
(b) Dibuje en un mismo grafico la secuencia de entrada/salida aproximada del sistema.
(c) Escriba un programa en MATLAB que plotee la salida Y (s).

Solucion 8
La senal de entrada es:

M.Sc. Ricardo Rodrguez Bustinza

10

Y (z) = 2 + 4zT + z2T z3T = 2 + 4eT s + e2T s e3T s


Ademas, la funcion de transferencia del retendor de orden uno es:
H1 (s) =

( 1 + T s )( 1 eT s )2
T

Entonces la salida es dada por:


(1+Ts)
(1 2eT s + e2T s )(2 + 4eT s + e2T s e3T s )
T
(1+Ts)
=
(2 5e2T s + e3T s + 3e4T s e5T s )
T s2

Y (s) =

Figura 9: Entrada/Salida del sistema.

1
2
3
4
5
6
7
8
9
10

T=1;
F=tf([1 1],[1 0 0]);
A=c2d(F,T,foh)
figure
tk=0:6;
y=[2 4 1 -1 0 0 0];
out=lsim(A,y,tk);
stem(tk,out,filled)
hold
stem(tk,y,r,filled)

M.Sc. Ricardo Rodrguez Bustinza

11

Problema # 9
Sea el sistema de la Figura 10.

u (k )
+

z
-

ZOH

z-1

y (t )

Figura 10: Sistema en lazo cerrado.


{ }
Dar los valores de la salida y(t) para el tiempo t = 1.2seg cuando la secuencia de entrada es u(k) = 1, 2 .
Considerar el periodo de muestreo T = 1 segundo.

Solucion 9
Definimos el modelo que incluye la transformada Z modificada, segun se muestra en la Figura 11.

Figura 11: Transformada Z modificada.

CORREGIDO!
Para calcular el instante (k + )T = (1 + 0.2)T con (0 < m < 1) se retrasa la senal y(t) un tiempo T ,
siendo = 1 m, para que as la secuencia y (k) o y(k, m) coincida con el valor de la salida en el instante
deseado.
Luego:

Y (z, m) =

y(kT T )zk

k=

En nuestro caso nos piden t = 1.2 seg, es necesario retrasar 2 1.2 = 0.8, entonces, m = 0.2
La entrada U(z) es:
U(z) = 1 + 2z1
La salida sera Y (z, m) = M(z, m)U(z)

M.Sc. Ricardo Rodrguez Bustinza

12

REVISE
M(z, 0.2) =

0.1648z + 0.2675
z2 0.7030z + 0.1353

La salida es:
)
( 0.1648z1 + 0.2675z2 )(
1
1
+
2z
1 0.7030z1 + 0.1353z2
1
0.1648z + 0.2675z2 + 2z1 (0.1648z1 + 0.2675z2 )
1 0.7030z1 + 0.1353z2
1
0.1648z + 0.5971z2 + 0.5350z3
1 0.7030z1 + 0.1353z2

Y (z) = M(z, 0.2)U(z) =


=
=

Realizar la division para encontrar el segundo coeficiente que es solucion al problema y(1.2) = 0.5509

M.Sc. Ricardo Rodrguez Bustinza

13

Problema 10
Sea el sistema un continuo expresado como una funcion de transferencia:
G(s) =

Y (s)
1
=
U(s) s(s + 2)

(a) Obtener las ecuaciones de estado y de salida en tiempodiscreto. Considerar el periodo de muestreo
de 1 segundo.
(b) Considerando la expresion en variables espacioestado del item anterior. Halle la funcion de transferencia pulso G(z).

Solucion 10
Llevando la funcion de transferencia a tiempo analogo:
y + 2y = u
escogiendo las variables espacio de estado x1 = y y x2 = y.
El modelo en variables eepacioestado es:
[

x1
x2

][
] [ ]
0 1
x1
0
=
+
u
0 2
x2
1
[
]
[
] x1
1 0
y =
x2

Valores propiosvectores propios


([
det

0
0

1 0
0 1

])
=0

Luego obtenemos:

( + 2) = 0

1 = 0;

2 = 2

Analizando los vectores propios para 1 = 0


[
][ ] [ ]
0 1
x
0
=
0 2
y
0
Obtenemos:
y = 0 y = 0 x = 0
2y = 0 y = 0 x = 1
Siendo el vector propio:
[
1

e =

1
0

]T

Analizando los vectores propios para 1 = 2

M.Sc. Ricardo Rodrguez Bustinza

14

2 1
0
0

][

x
y

0
0

Obtenemos:
2x y

= 0 y = 2x

x = 0.5 y = 1
Siendo el vector propio:
[
2

e =

]T

0.5
1

Con los vectores propios generamos el vector P:


[
]
[
]
[ 1 2 ]T
1
0
1 0.5
1
P= e e
=
P =
0.5 1
0 1
Formando la matriz de transicion eAT :
AT

= Pe

[
=

1 0.5
0 1

][

e0T
0

][

e2T

1 0.5
0 1

Entonces:
[
eAT =

1 0.5(1 e2T )
0
e2T

Formando la matriz :
T[
1

]
[ ]
0.5(1 e2T )
0
=
dt
0
e2T
1
0
T [ ]
[
]

1 0.5t + 0.5e2t
0
=

0
e2t
1

0

Operando obtenemos:
[
(T ) =

0.5(T + 0.5(e2T 1))


0.5(1 e2T )

El modelo discreto expresado en variables espacioestado es:


[

1 0.5(1 e2T )
=
0
e2T
[
]
[
] x1 (k)
1 0
y(k) =
x2 (k)

x1 (k)
x2 (k)

][

x1 (k)
x2 (k)

[
+

0.5(T + 0.5(e2T 1))


0.5(1 e2T )

]
u(k)

Si T = 1 el modelo espacio estado resulta:

M.Sc. Ricardo Rodrguez Bustinza

15

]
]
[
1 0.4323
0.2838
u(k)
x(k) +
0 1.1353
0.4323
[
]
1 0 x(k)
y(k) =
[

x(k + 1) =

La funcion de transferencia pulso resulta:


(
)1
F(z) = C zI
+D
Reemplazando obtenemos:
F(z) =

0.2838z + 0.1485
(z 1)(z 0.1353)

Se obtiene el mismo resultado:


[

]
1 esT
1
G(z) = Z

s
s(s + 2)
[
]
0.5 0.25 0.25
1
+
= (1 z )Z 2
s
s
s+2
[
]
0.5z1
0.25
0.25
1
= (1 z )

+
= F(z)
(1 z1 )2 1 z1 1 0.1353z1

Problema 11
Considere el sistema escalar:
dx
= ax + bu
dt
y = cx
Sea la entrada una constante con un periodo h segundos.
(a) Halle el sistema muestreado en variables espacioestado.
(b) Dibuje el planoZ indicando como varan los polos (en forma literal) del sistema discreto con la
frecuencia de muestreo.
(c) Escriba un codigo simple en MATLAB para plotear las respuesta del sistema continuo (usar subplot(211))
y del sistema discreto (usar subplot(212)) debido a una entrada escalon unitario. Usar las siguientes constantes: a = 1, b = 0.5, c = 1 y h = 0.1 segundos.

Solucion 2
El sistema muestreado es dado por:
x(kT + T ) = x(kT ) + u(kT )
y(kT ) = Cx(kT )
M.Sc. Ricardo Rodrguez Bustinza

16

Donde:
= e(aT
)
T
)
b(
=
ea d b =
1 eaT
a
0
Entonces el sistema muestreado resulta:
x(kT + T ) = eaT x(kT ) +

)
b(
1 eaT u(kT )
a

y(kT ) = Cx(kT )
Los polos del sistema muestreado son los valores propios de . Esto es, el polo real en eaT . Si T es
pequeno, entonces eaT 1, si a > 0 el polo se mueve hacia el origen con el incremento de T , si a < 0 el
polo se mueve a lo largo del eje real positivo.
a=1; b=0.5; c=1; d=0; h=0.1;
Hc=ss(-a,b,c,0);
Hd=c2d(Hc,h,zoh);
t=0:h:5;
yc=step(Hc,t); yd=step(Hd,t);
subplot(211), plot(t,yc,r), subplot(212), stairs(t/h,yd,b)
0.6
0.5
0.4
0.3
0.2
0.1
0

0.5

1.5

2.5
t (seg)

3.5

4.5

10

15

20

25
muestras

30

35

40

45

50

0.5
0.4
0.3
0.2
0.1
0

Figura 12: Respuestas continuo/discreto a una entrada escalon.

M.Sc. Ricardo Rodrguez Bustinza

17

You might also like