Gu´ıa 1: Ejercicios sobre transformada z
Alumno: Guillermo M. Tabeni Couvert
Profesor: Ing. Carlos A. Espinoza
J.T.P.: Ing. Daniel R. Graff
C´atedra de Ingenier´ıa Industrial
Universidad Tecnol´ogica Nacional, F.R.A.
2 de julio de 2007
Objetivo: Realizar distintos ejercicios num´ericos de mano y con el uso de Matlab.
Ejercicio 1
Para la funci´on Y (z), determinar los polos y ceros y ubicarlos dentro del plano z. Los teoremas del valor
inicial y final son aplicables en dicha funci´on. ¿Por qu´e? Hallar sus valores.
Y (z) =
0, 792z2
(z − 1)(z2 − 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, graficamos 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) = l´ım
z→∞
Y (z) = l´ım
z→∞
0, 792z2
z3 − 1, 416z2 + 0, 624z − 0, 208
= l´ım
z→∞
0, 792/z
1 − 1, 416/z + 0, 624/z2 − 0, 208/z3
= 0
Por el teorema del valor final:
y(t → ∞) = l´ım
z→1
[1 − z−1
Y (z)] = l´ım
z→1
z − 1
z
0, 792z2
(z − 1)(z2 − 0, 416z + 0, 208)
= l´ım
z→1
0, 792z
z2 − 0, 416z + 0, 208
= 1
Estos teoremas son aplicables porque, por definici´on, existen los l´ımites calculados.
Alumno: Guillermo Tabeni, UTN, FRA, 2007 1/11
Ejercicio 2
Obtenga la transformada z de la siguiente funci´on donde a es una constante. Grafique y compare en
Matlab la funci´on en tiempo continuo y la funci´on en tiempo discreto.
x(t) =
1
a
(1 − e−at
)
Distribuyendo, tenemos
x(t) =
1
a
−
e−at
a
Luego, por la transformada del escal´on y la propiedad lineal de la transformada z,
X(z) =
1
a(1 − z−1)
−
1
a(1 − e−akz−1)
=
1 − e−ak
z−1
− 1 + z−1
a(1 − z−1)(1 − e−akz−1)
=
1
a
z−1
(1 − e−ak
)
1 − z−1(1 + e−ak) + z−2e−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 funci´on G(z) = Y (z)/X(z), hallar la transformada inversa z mediante el m´etodo Matlab (comando
filter) hasta k = 10. Graficar la secuencia (comando stem).
Y (z) = 0, 01409z3
+ 0, 028z2
+ 0, 01409z
X(z) = z3
− 2, 7624z2
+ 2, 5811z − 0, 8187
Con el siguiente programa graficamos 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 ecuaci´on en diferencias encontrar la serie en forma recursiva realizando un programa en Matlab.
Luego, hallar la transformada Z mediante c´alculo de mano y luego, mediante el m´etodo de Matlab (comando
filter), encontrar la transformada inversa Z hasta k = 30. Verificar ambos gr´aficos 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) est´an dadas, respectivamente, por
Z[x(k + 2)] = z2
X(z) − z2
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 ecuaci´on en diferencias dada, se obtiene
z2
X(z) − z = zX(z) + X(z)
donde se han reemplazado las condiciones iniciales dadas.
Finalmente, despejando y simplificando,
X(z) =
z
z2 − z − 1
(2)
que es la transformada z buscada.
Ahora utilizo el siguiente programa para comparar el m´etodo manual con el m´etodo 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 expresi´on en forma cerrada de y[n] usando el m´etodo de la transformada Z. Donde u[n]
representa la funci´on escal´on.
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)
Adem´as, la transformada z de an
u[n] es,
Z[an
u(n)] =
1
1 − (z/a)−1
Al tomar las transformadas z de ambos miembros de la ecuaci´on 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) z2
−
5
6
z +
1
6
− 5z2
+ z +
25
6
z2
=
z3
z −
1
5
Y (z) z3
−
31
30
z2
+
1
3
z −
1
30
=
11
6
z3
−
7
6
z2
+
1
5
z
Despejando Y (z)/z, para luego aplicar el m´etodo de inversi´on por fracciones parciales:
Y (z)
z
=
11
6
z2
−
7
6
z +
1
5
z3 −
31
30
z2 +
1
3
z −
1
30
Factorizando el denominador, la funci´on expandida tendr´a la forma:
Y (z)
z
=
a1
z −
1
2
+
a2
z −
1
3
+
a3
z −
1
5
Alumno: Guillermo Tabeni, UTN, FRA, 2007 5/11
donde los coeficientes son:
a1 = (z −
1
2
) ·
Y (z)
z z= 1
2
=
3
2
a2 = (z −
1
3
) ·
Y (z)
z z= 1
3
= −
2
3
a3 = (z −
1
5
) ·
Y (z)
z z= 1
5
= 1
La descomposici´on en fracciones parciales podr´ıa 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
2n+1
−
2
3n+1
+
1
5n
(3)
que es la forma cerrada pedida.
Con el siguiente programa podemos comparar las secuencias obtenidas con la ecuaci´on 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 ecuaci´on en diferencias tanto de manera anal´ıtica como por computadora con
Matlab. La funci´on 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) est´an dadas, respectivamente, por
Z[x(k)] = X(z)
Z[x(k + 1)] = zX(z) − zx(0)
Z[x(k + 2)] = z2
X(z) − z2
x(0) − zx(1)
Adem´as, la transformada z de u[k + 2] es
Z[u(k + 2)] = z2
U(z) − z2
u(0) − zu(1) =
z2
1 − z−1
− z2
− z
ya que u(0) = u(1) = 1.
Al tomar las transformadas z de ambos miembros de la ecuaci´on en diferencias dada, se obtiene
z2
X(z) − z2
− 2z − zX(z) + z + 0, 25X(z) =
z2
1 − z−1
− z2
− z
Despejando X(z)/z, para luego aplicar el m´etodo de inversi´on por fracciones parciales:
X(z)
z
=
z2
z3 − 2z2 + 1, 25z − 0, 25
=
z2
(z − 1)(z − 1
2 )2
La funci´on expandida tendr´a la forma:
X(z)
z
=
a1
(z − 1
2 )2
+
a2
z − 1
2
+
a3
z − 1
donde los coeficientes son:
a1 = (z − 1
2 )2
·
X(z)
z z= 1
2
= −
1
2
a2 =
d
dz
(z − 1
2 )2
·
X(z)
z z= 1
2
= −3
a3 = (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
2k
−
3
2k
+ 4 (4)
Con el siguiente programa podemos comparar las secuencias obtenidas con la ecuaci´on 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 m´etodo de la divisi´on directa para obtener la transformada z inversa. Decidir si el sistema es
estable o no. ¿Por qu´e? Mostrar el diagrama de polos y ceros en el plano z. Si el sistema es inestable,
implementar la modificaci´on 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 divisi´on:
+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.
Graficamos 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
Confirmamos con el diagrama de polos y ceros que el sistema es inestable, ya que posee polos m´ultiples
sobre el c´ırculo unitario (es condici´on suficiente, p´ag. 183 del libro de Ogata).
Ejercicio 8
Encuentre la transformada inversa Z utilizando el m´etodo de expansi´on 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 z2
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 funci´on expandida tendr´a la forma:
X(z) =
a1
z − 0, 5
+
a2
z − 0, 8
+
a3
z
donde los coeficientes son:
a1 = (z − 0, 5) ·
Y (z)
z z=0,5
= 5
a2 = (z − 0, 8) ·
Y (z)
z z=0,8
= −2, 5
a3 = (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 descomposici´on en fracciones parciales podr´ıa 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 inspecci´on 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 ecuaci´on en diferencias en forma cerrada.
Para verificar el resultado, puedo compararlo con el m´etodo 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

Matlab trans z

  • 1.
    Gu´ıa 1: Ejerciciossobre transformada z Alumno: Guillermo M. Tabeni Couvert Profesor: Ing. Carlos A. Espinoza J.T.P.: Ing. Daniel R. Graff C´atedra de Ingenier´ıa Industrial Universidad Tecnol´ogica Nacional, F.R.A. 2 de julio de 2007 Objetivo: Realizar distintos ejercicios num´ericos de mano y con el uso de Matlab. Ejercicio 1 Para la funci´on Y (z), determinar los polos y ceros y ubicarlos dentro del plano z. Los teoremas del valor inicial y final son aplicables en dicha funci´on. ¿Por qu´e? Hallar sus valores. Y (z) = 0, 792z2 (z − 1)(z2 − 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, graficamos 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) = l´ım z→∞ Y (z) = l´ım z→∞ 0, 792z2 z3 − 1, 416z2 + 0, 624z − 0, 208 = l´ım z→∞ 0, 792/z 1 − 1, 416/z + 0, 624/z2 − 0, 208/z3 = 0 Por el teorema del valor final: y(t → ∞) = l´ım z→1 [1 − z−1 Y (z)] = l´ım z→1 z − 1 z 0, 792z2 (z − 1)(z2 − 0, 416z + 0, 208) = l´ım z→1 0, 792z z2 − 0, 416z + 0, 208 = 1 Estos teoremas son aplicables porque, por definici´on, existen los l´ımites calculados. Alumno: Guillermo Tabeni, UTN, FRA, 2007 1/11
  • 2.
    Ejercicio 2 Obtenga latransformada z de la siguiente funci´on donde a es una constante. Grafique y compare en Matlab la funci´on en tiempo continuo y la funci´on en tiempo discreto. x(t) = 1 a (1 − e−at ) Distribuyendo, tenemos x(t) = 1 a − e−at a Luego, por la transformada del escal´on y la propiedad lineal de la transformada z, X(z) = 1 a(1 − z−1) − 1 a(1 − e−akz−1) = 1 − e−ak z−1 − 1 + z−1 a(1 − z−1)(1 − e−akz−1) = 1 a z−1 (1 − e−ak ) 1 − z−1(1 + e−ak) + z−2e−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
  • 3.
    Ejercicio 3 Para lafunci´on G(z) = Y (z)/X(z), hallar la transformada inversa z mediante el m´etodo Matlab (comando filter) hasta k = 10. Graficar la secuencia (comando stem). Y (z) = 0, 01409z3 + 0, 028z2 + 0, 01409z X(z) = z3 − 2, 7624z2 + 2, 5811z − 0, 8187 Con el siguiente programa graficamos 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
  • 4.
    Ejercicio 4 Para laecuaci´on en diferencias encontrar la serie en forma recursiva realizando un programa en Matlab. Luego, hallar la transformada Z mediante c´alculo de mano y luego, mediante el m´etodo de Matlab (comando filter), encontrar la transformada inversa Z hasta k = 30. Verificar ambos gr´aficos 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) est´an dadas, respectivamente, por Z[x(k + 2)] = z2 X(z) − z2 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 ecuaci´on en diferencias dada, se obtiene z2 X(z) − z = zX(z) + X(z) donde se han reemplazado las condiciones iniciales dadas. Finalmente, despejando y simplificando, X(z) = z z2 − z − 1 (2) que es la transformada z buscada. Ahora utilizo el siguiente programa para comparar el m´etodo manual con el m´etodo 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
  • 5.
    Ejercicio 5 Encontrar laexpresi´on en forma cerrada de y[n] usando el m´etodo de la transformada Z. Donde u[n] representa la funci´on escal´on. 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) Adem´as, la transformada z de an u[n] es, Z[an u(n)] = 1 1 − (z/a)−1 Al tomar las transformadas z de ambos miembros de la ecuaci´on 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) z2 − 5 6 z + 1 6 − 5z2 + z + 25 6 z2 = z3 z − 1 5 Y (z) z3 − 31 30 z2 + 1 3 z − 1 30 = 11 6 z3 − 7 6 z2 + 1 5 z Despejando Y (z)/z, para luego aplicar el m´etodo de inversi´on por fracciones parciales: Y (z) z = 11 6 z2 − 7 6 z + 1 5 z3 − 31 30 z2 + 1 3 z − 1 30 Factorizando el denominador, la funci´on expandida tendr´a la forma: Y (z) z = a1 z − 1 2 + a2 z − 1 3 + a3 z − 1 5 Alumno: Guillermo Tabeni, UTN, FRA, 2007 5/11
  • 6.
    donde los coeficientesson: a1 = (z − 1 2 ) · Y (z) z z= 1 2 = 3 2 a2 = (z − 1 3 ) · Y (z) z z= 1 3 = − 2 3 a3 = (z − 1 5 ) · Y (z) z z= 1 5 = 1 La descomposici´on en fracciones parciales podr´ıa 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 2n+1 − 2 3n+1 + 1 5n (3) que es la forma cerrada pedida. Con el siguiente programa podemos comparar las secuencias obtenidas con la ecuaci´on 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
  • 7.
    Ejercicio 6 Resuelva lasiguiente ecuaci´on en diferencias tanto de manera anal´ıtica como por computadora con Matlab. La funci´on 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) est´an dadas, respectivamente, por Z[x(k)] = X(z) Z[x(k + 1)] = zX(z) − zx(0) Z[x(k + 2)] = z2 X(z) − z2 x(0) − zx(1) Adem´as, la transformada z de u[k + 2] es Z[u(k + 2)] = z2 U(z) − z2 u(0) − zu(1) = z2 1 − z−1 − z2 − z ya que u(0) = u(1) = 1. Al tomar las transformadas z de ambos miembros de la ecuaci´on en diferencias dada, se obtiene z2 X(z) − z2 − 2z − zX(z) + z + 0, 25X(z) = z2 1 − z−1 − z2 − z Despejando X(z)/z, para luego aplicar el m´etodo de inversi´on por fracciones parciales: X(z) z = z2 z3 − 2z2 + 1, 25z − 0, 25 = z2 (z − 1)(z − 1 2 )2 La funci´on expandida tendr´a la forma: X(z) z = a1 (z − 1 2 )2 + a2 z − 1 2 + a3 z − 1 donde los coeficientes son: a1 = (z − 1 2 )2 · X(z) z z= 1 2 = − 1 2 a2 = d dz (z − 1 2 )2 · X(z) z z= 1 2 = −3 a3 = (z − 1) · X(z) z z=1 = 4 Alumno: Guillermo Tabeni, UTN, FRA, 2007 7/11
  • 8.
    Reemplazando y multiplicandoambos 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 2k − 3 2k + 4 (4) Con el siguiente programa podemos comparar las secuencias obtenidas con la ecuaci´on 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 m´etodo de la divisi´on directa para obtener la transformada z inversa. Decidir si el sistema es estable o no. ¿Por qu´e? Mostrar el diagrama de polos y ceros en el plano z. Si el sistema es inestable, implementar la modificaci´on necesaria para que deje de serlo. Alumno: Guillermo Tabeni, UTN, FRA, 2007 8/11
  • 9.
    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 divisi´on: +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. Graficamos 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
  • 10.
    Confirmamos con eldiagrama de polos y ceros que el sistema es inestable, ya que posee polos m´ultiples sobre el c´ırculo unitario (es condici´on suficiente, p´ag. 183 del libro de Ogata). Ejercicio 8 Encuentre la transformada inversa Z utilizando el m´etodo de expansi´on 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 z2 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 funci´on expandida tendr´a la forma: X(z) = a1 z − 0, 5 + a2 z − 0, 8 + a3 z donde los coeficientes son: a1 = (z − 0, 5) · Y (z) z z=0,5 = 5 a2 = (z − 0, 8) · Y (z) z z=0,8 = −2, 5 a3 = (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 descomposici´on en fracciones parciales podr´ıa 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 inspecci´on 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 ecuaci´on en diferencias en forma cerrada. Para verificar el resultado, puedo compararlo con el m´etodo 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
  • 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