Taller transformada Z en 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.
Polos y ceros de la señal:
z = tf('z');
Yz = .792*z^2/((z-1)*(z^2-0.416*z+.208));
[ceros,polos,K]=zpkdata(Yz,'v');
[num,den]=tfdata(Yz,'v');
zplane(num,den)
zgrid
Se encuentran 2 ceros en cero y los polos en:
polos
polos =
1.0000 + 0.0000i
0.2080 + 0.4059i
0.2080 - 0.4059i
Para calcular el teorema del valor inicial:
1
Aplicando el teorema del valor final:
Ejercicio 2:
Para la función , hallar la transformada inversa z mediante el método Matlab (comando
filter) hasta n = 10. Graficar la secuencia (comando stem).
num = [0.01409 0.028 0.01409];
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);
hold on;
xlabel('n');
Ejercicio 3
Para la ecuación en diferencias encontrar la serie en forma recursiva realizando un programa en
Matlab. Luego, hallar la transformada Z mediante cálculo de mano y luego, mediante el método de
Matlab (comando filter), encontrar la transformada inversa Z hasta n = 30. Verificar ambos gr´aficos y
hallar conclusiones.
, donde
Las transformadas z de x[n + 2], x[n + 1] y x[n] están dadas, respectivamente, por:
2
Utilizamos el método de Matlab:
num=[0 1 0];
den=[1 -1 -1];
N = 30;
n=0:1:N;
x=[1 zeros(1,N)];
y=filter(num,den,x);
subplot(1,1,1);
stem(n,y,'b');
title('Metodo Matlab');
Utilizamos el método a mano:
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(1,1,1);
stem(n,x,'r');
title('Metodo manual');
3
4