Transformada z en Matlab
26 de agosto de 2019
Objetivo: Realizar distintos ejercicios numéricos de mano y con el uso de Matlab.
Ejercicio 1
Para la función 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ón. ¿Por qué? Hallar sus valores.
0, 792z2
Y (z) =
(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’)
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 Y (z)
z→∞
Por el teorema del valor final:
y(t → ∞) = lı́m [1 − z−1Y (z)]
z→1
1/11
Ejercicio 2
Para la funci´on G(z) = Y (z)/X(z), hallar la transformada inversa z mediante el método Matlab
(comando filter) hasta n = 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=[Link];
stem(n,Yz);
xlabel(’n’);
Ejercicio 3
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 n = 30. Verificar ambos gr´aficos y hallar
conclusiones.
x[n + 2] = x[n + 1] + x[n], donde x[0]= 0 y x[1]= 1
Las transformadas z de x[n + 2], x[n + 1] y x[n] están dadas, respectivamente, por
Z[x[n + 2] = z2X(z) − z2x(0) − zx(1)
Z[x[n + 1] = zX(z) − zx(0)
Z[x[n]] = X(z)
Ahora utilizo el siguiente programa para comparar el método manual con el método 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=[Link]N;
x=[1 zeros(1,N)];
y=filter(num,den,x);
subplot(2,1,1);
stem(n,y,’b’);
title(’Metodo Matlab’);
2/11
Ejercicio 4
Encontrar la expresión en forma cerrada de y[n] usando el método de la transformada Z. Donde
u[n] representa la función escalón.
y[n] − (5/6)y[n − 1] + (1/6)y[n − 2] = (1/5)nu[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)
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)
Ejercicio 5
Encuentre la transformada inversa Z utilizando el me´todo de expansi´on en fracciones parciales y con
el Matlab (comando residuez).
z−1(0, 5 − z−1)
X(z) =
(1 − 0, 5z−1)(1 − 0, 8z−1)
3/11