Está en la página 1de 11

Gua 1: Ejercicios sobre transformada z

Alumno: Guillermo M. Tabeni Couvert


Profesor: Ing. Carlos A. Espinoza
J.T.P.: Ing. Daniel R. Gra
Catedra de Ingeniera Industrial
Universidad Tecnologica Nacional, F.R.A.
2 de julio de 2007
Objetivo: Realizar distintos ejercicios numericos de mano y con el uso de Matlab.
Ejercicio 1
Para la funcion Y (z), determinar los polos y ceros y ubicarlos dentro del plano z. Los teoremas del valor
inicial y nal son aplicables en dicha funcion. Por que? Hallar sus valores.
Y (z) =
0, 792z
2
(z 1)(z
2
0, 416z + 0, 208)
Para hallar los polos y ceros de Y (z), introducimos los comandos:
z=tf(z);
Yz=.792*z^2/((z-1)*(z^2-0.416*z+.208))
[ceros,polos,K]=zpkdata(Yz,v)
Vemos que hay un cero doble en el origen, un polo real en 1 y un par de polos complejos conjugados:
ceros =
0
0
polos =
1.0000
0.2080 + 0.4059i
0.2080 - 0.4059i
K =
0.7920
Ahora, gracamos el plano z con los ceros y polos obtenidos:
[num,den]=tfdata(Yz,v);
zplane(num,den)
zgrid
Por el teorema del valor inicial:
y(t = 0) = lm
z
Y (z) = lm
z
0, 792z
2
z
3
1, 416z
2
+ 0, 624z 0, 208
= lm
z
0, 792/z
1 1, 416/z + 0, 624/z
2
0, 208/z
3
= 0
Por el teorema del valor nal:
y(t ) = lm
z1
[1 z
1
Y (z)] = lm
z1
z 1
z
0, 792z
2
(z 1)(z
2
0, 416z + 0, 208)
= lm
z1
0, 792z
z
2
0, 416z + 0, 208
= 1
Estos teoremas son aplicables porque, por denicion, existen los lmites calculados.
Alumno: Guillermo Tabeni, UTN, FRA, 2007 1/11
Ejercicio 2
Obtenga la transformada z de la siguiente funcion donde a es una constante. Graque y compare en
Matlab la funcion en tiempo continuo y la funcion en tiempo discreto.
x(t) =
1
a
(1 e
at
)
Distribuyendo, tenemos
x(t) =
1
a

e
at
a
Luego, por la transformada del escalon y la propiedad lineal de la transformada z,
X(z) =
1
a(1 z
1
)

1
a(1 e
ak
z
1
)
=
1 e
ak
z
1
1 + z
1
a(1 z
1
)(1 e
ak
z
1
)
=
1
a

z
1
(1 e
ak
)
1 z
1
(1 + e
ak
) + z
2
e
ak

(1)
En el Matlab comparamos la respuesta del sistema continuo (en rojo) con la del sistema discreto (azul):
num=[0 1-exp(-1) 0];
den=[1 -1-exp(-1) exp(-1)];
t=0:0.2:10;
xt=(1-exp(-t));
plot(t,xt,r)
hold;
impz(num,den)
Alumno: Guillermo Tabeni, UTN, FRA, 2007 2/11
Ejercicio 3
Para la funcion G(z) = Y (z)/X(z), hallar la transformada inversa z mediante el metodo Matlab (comando
filter) hasta k = 10. Gracar la secuencia (comando stem).
Y (z) = 0, 01409z
3
+ 0, 028z
2
+ 0, 01409z
X(z) = z
3
2, 7624z
2
+ 2, 5811z 0, 8187
Con el siguiente programa gracamos los 10 primeros elementos de la secuencia de Y (z)/X(z).
num=[0.01409 0.028 0.01409 0];
den=[1 -2.7624 2.5811 -0.8187];
Xz=[1 zeros(1,10)];
Yz=filter(num,den,Xz);
n=0:1:10;
stem(n,Yz);
xlabel(k);
Alumno: Guillermo Tabeni, UTN, FRA, 2007 3/11
Ejercicio 4
Para la ecuacion en diferencias encontrar la serie en forma recursiva realizando un programa en Matlab.
Luego, hallar la transformada Z mediante calculo de mano y luego, mediante el metodo de Matlab (comando
lter), encontrar la transformada inversa Z hasta k = 30. Vericar ambos gracos y hallar conclusiones.
x(k + 2) = x(k + 1) + x(k), donde x(0) = 0 y x(1) = 1
Las transformadas z de x(k + 2), x(k + 1) y x(k) estan dadas, respectivamente, por
Z[x(k + 2)] = z
2
X(z) z
2
x(0) zx(1)
Z[x(k + 1)] = zX(z) zx(0)
Z[x(k)] = X(z)
Al tomar las transformadas z de ambos miembros de la ecuacion en diferencias dada, se obtiene
z
2
X(z) z = zX(z) + X(z)
donde se han reemplazado las condiciones iniciales dadas.
Finalmente, despejando y simplicando,
X(z) =
z
z
2
z 1
(2)
que es la transformada z buscada.
Ahora utilizo el siguiente programa para comparar el metodo manual con el metodo de Matlab.
%Metodo manual
x(1)=0;
x(2)=1;
N=30;
for k=1:N-1
x(k+2)=x(k+1)+x(k)
end
n=0:N;
subplot(2,1,2);
stem(n,x,r);
title(Metodo manual);
%Metodo Matlab
num=[0 1 0];
den=[1 -1 -1];
n=0:1:N;
x=[1 zeros(1,N)];
y=filter(num,den,x);
subplot(2,1,1);
stem(n,y,b);
title(Metodo Matlab);
Alumno: Guillermo Tabeni, UTN, FRA, 2007 4/11
Ejercicio 5
Encontrar la expresion en forma cerrada de y[n] usando el metodo de la transformada Z. Donde u[n]
representa la funcion escalon.
y[n] (5/6)y[n 1] + (1/6)y[n 2] = (1/5)
n
u[n], donde y[1] = 6 e y[2] = 25
Las transformadas z de secuencias desplazadas son:
Z[y(n 1)] = Y (z)z
1
+ y(1)
Z[y(n 2)] = Y (z)z
2
+ y(1)z
1
+ y(2)
Ademas, la transformada z de a
n
u[n] es,
Z[a
n
u(n)] =
1
1 (z/a)
1
Al tomar las transformadas z de ambos miembros de la ecuacion en diferencias dada, se obtiene
Y (z)
5
6

Y (z)z
1
+ 6

+
1
6

Y (z)z
2
+ 6z
1
+ 25

=
1
1
z
1
5
Y (z)

z
2

5
6
z +
1
6

5z
2
+ z +
25
6
z
2
=
z
3
z
1
5
Y (z)

z
3

31
30
z
2
+
1
3
z
1
30

=
11
6
z
3

7
6
z
2
+
1
5
z
Despejando Y (z)/z, para luego aplicar el metodo de inversion por fracciones parciales:
Y (z)
z
=
11
6
z
2

7
6
z +
1
5
z
3

31
30
z
2
+
1
3
z
1
30
Factorizando el denominador, la funcion expandida tendra la forma:
Y (z)
z
=
a
1
z
1
2
+
a
2
z
1
3
+
a
3
z
1
5
Alumno: Guillermo Tabeni, UTN, FRA, 2007 5/11
donde los coecientes son:
a
1
=

(z
1
2
)
Y (z)
z

z=
1
2
=
3
2
a
2
=

(z
1
3
)
Y (z)
z

z=
1
3
=
2
3
a
3
=

(z
1
5
)
Y (z)
z

z=
1
5
= 1
La descomposicion en fracciones parciales podra haberse realizado con Matlab, de la siguiente manera:
num=[0 11/6 -7/6 1/5];
den=[1 -31/30 1/3 -1/30];
[R,P,K]=residue(num,den)
R =
1.5000
-0.6667
1.0000
P =
0.5000
0.3333
0.2000
K =
[]
Reemplazando y multiplicando ambos miembros por z:
Y (z) =
3/2
1
1
2
z
1

2/3
1
1
3
z
1
+
1
1
1
5
z
1
La transformada inversa, resulta:
y(n) =
3
2
n+1

2
3
n+1
+
1
5
n
(3)
que es la forma cerrada pedida.
Con el siguiente programa podemos comparar las secuencias obtenidas con la ecuacion de diferencias
dada al comienzo del problema y la forma cerrada obtenida:
%Metodo itarativo - 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 itarativo - 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 - Expresion en forma cerrada);
Alumno: Guillermo Tabeni, UTN, FRA, 2007 6/11
Ejercicio 6
Resuelva la siguiente ecuacion en diferencias tanto de manera analtica como por computadora con
Matlab. La funcion de entrada u[k] = 1 para k = 0, 1, 2, . . ..
x(k + 2) x(k + 1) + 0, 25x(k) = u(k + 2), donde x(0) = 1 y x(1) = 2
Las transformadas z de x(k), x(k + 1) y x(k + 2) estan dadas, respectivamente, por
Z[x(k)] = X(z)
Z[x(k + 1)] = zX(z) zx(0)
Z[x(k + 2)] = z
2
X(z) z
2
x(0) zx(1)
Ademas, la transformada z de u[k + 2] es
Z[u(k + 2)] = z
2
U(z) z
2
u(0) zu(1) =
z
2
1 z
1
z
2
z
ya que u(0) = u(1) = 1.
Al tomar las transformadas z de ambos miembros de la ecuacion en diferencias dada, se obtiene
z
2
X(z) z
2
2z zX(z) + z + 0, 25X(z) =
z
2
1 z
1
z
2
z
Despejando X(z)/z, para luego aplicar el metodo de inversion por fracciones parciales:
X(z)
z
=
z
2
z
3
2z
2
+ 1, 25z 0, 25
=
z
2
(z 1)(z
1
2
)
2
La funcion expandida tendra la forma:
X(z)
z
=
a
1
(z
1
2
)
2
+
a
2
z
1
2
+
a
3
z 1
donde los coecientes son:
a
1
=

(z
1
2
)
2

X(z)
z

z=
1
2
=
1
2
a
2
=

d
dz

(z
1
2
)
2

X(z)
z

z=
1
2
= 3
a
3
=

(z 1)
X(z)
z

z=1
= 4
Alumno: Guillermo Tabeni, UTN, FRA, 2007 7/11
Reemplazando y multiplicando ambos miembros por z:
X(z) =
1
2
z
1
(1
1
2
z
1
)
2

3
1
1
2
z
1
+
4
1 z
1
La transformada inversa, resulta:
x(k) =
k
2
k

3
2
k
+ 4 (4)
Con el siguiente programa podemos comparar las secuencias obtenidas con la ecuacion de diferencias
dada al comienzo del problema y la forma cerrada obtenida:
%Metodo itarativo - Ecuacion de diferencias
x(1)=1;
x(2)=2;
N=30;
u=[ones(1,N+3)];
for k=1:N-1
x(k+2)=u(k+2)+x(k+1)-0.25*x(k);
end
k=0:N;
subplot(2,1,1);
stem(k,x);
title(Metodo itarativo - Ecuacion de diferencias);
%Metodo iterativo - Expresion en forma cerrada
for k=1:N+1
x(k)=-(k-1)/(2^(k-1))-3/(2^(k-1))+4
end k=0:N;
subplot(2,1,2);
stem(k,x,r);
title(Metodo iterativo - Expresion en forma cerrada);
Ejercicio 7
Usar el metodo de la division directa para obtener la transformada z inversa. Decidir si el sistema es
estable o no. Por que? Mostrar el diagrama de polos y ceros en el plano z. Si el sistema es inestable,
implementar la modicacion necesaria para que deje de serlo.
Alumno: Guillermo Tabeni, UTN, FRA, 2007 8/11
X(z) =
z
1
(1 z
2
)
(1 + z
2
)
2
Primero, expreso X(z) en polinomios de z
1
:
X(z) =
z
1
z
3
1 + 2x
2
+ z
4
Luego, efectuando la division:
+z
1
z
3
/1 + 2z
2
+ z
4
z
1
2z
3
z
5
z
1
3z
3
+ 5z
5
7z
7
+ 9z
9

3z
3
z
5
+3z
3
+6z
5
+3z
7
+5z
5
+3z
7
5z
5
10z
7
5z
9
7z
7
5z
9
. . . . . .
Comparando directamente X(z) =

0
x(k)z
k
, tenemos
x(0) = 0
x(1) = 1
x(2) = 0
x(3) = 3
x(4) = 0
x(5) = 5
x(6) = 0
x(7) = 7
x(8) = 0
x(9) = 9
.
.
.
Como vemos, la secuencia x(n) es alternadamente creciente; por lo tanto, el sistema es inestable.
Gracamos los polos y ceros de X(z) mediante la siguiente secuencia de comandos:
num=[0 1 0 -1 0];
den=[1 0 2 0 1];
zplane(num,den);
Alumno: Guillermo Tabeni, UTN, FRA, 2007 9/11
Conrmamos con el diagrama de polos y ceros que el sistema es inestable, ya que posee polos m ultiples
sobre el crculo unitario (es condicion suciente, pag. 183 del libro de Ogata).
Ejercicio 8
Encuentre la transformada inversa Z utilizando el metodo de expansion en fracciones parciales y con el
Matlab (comando residuez).
X(z) =
z
1
(0, 5 z
1
)
(1 0, 5z
1
)(1 0, 8z
1
)
Multiplicamos numerador y denominador por z
2
y luego, divido ambos miembros por z para expresar
X(z)/z en potencias de z:
X(z)
z
=
0, 5(z 2)
z(z 0, 5)(z 0, 8)
La funcion expandida tendra la forma:
X(z) =
a
1
z 0, 5
+
a
2
z 0, 8
+
a
3
z
donde los coecientes son:
a
1
=

(z 0, 5)
Y (z)
z

z=0,5
= 5
a
2
=

(z 0, 8)
Y (z)
z

z=0,8
= 2, 5
a
3
=

(z)
Y (z)
z

z=0
= 2, 5
Reemplazando y multiplicando ambos miembros por z:
X(z) =
5
1 0, 5z
1

2, 5
1 0, 8z
1
2, 5
La descomposicion en fracciones parciales podra haberse realizado con Matlab, de la siguiente manera:
num=[0 .5 -1]; % En potencias asc. de z^{-1} o desc de z
den=[1 -1.3 .4];
[R,P,K]=residuez(num,den)
R =
-2.5000
5.000
P =
0.8000
0.5000
K =
-2.5
Por simple inspeccion de la tabla, la transformada inversa resulta:
x(k) = 5 (0, 5)
k
2,5 (0, 8)
k
2, 5 (k) (5)
que es el resultado de la ecuacion en diferencias en forma cerrada.
Para vericar el resultado, puedo compararlo con el metodo de Matlab.
N=30;
delta=[1 zeros(1,N)]
%Metodo iterativo - Expresion en forma cerrada
for k=1:N+1
x(k)=5*(0.5)^(k-1)-2.5*(0.8)^(k-1)-2.5*delta(k);
Alumno: Guillermo Tabeni, UTN, FRA, 2007 10/11
end
k=0:N;
subplot(2,1,1);
stem(k,x);
title(Metodo iterativo - Expresion en forma cerrada);
%Metodo Matlab
num=[0 .5 -1];
den=[1 -1.3 .4];
n=0:1:N;
x=[1 zeros(1,N)];
y=filter(num,den,x);
subplot(2,1,2);
stem(n,y,r);
title(Metodo Matlab);
Alumno: Guillermo Tabeni, UTN, FRA, 2007 11/11

También podría gustarte