pract_pds

16
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. Y ( z )= 0.792 Z 2 ( Z1 )( Z 2 0.416 Z+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 )=lim Z→∞ Y ( Z )=lim Z→∞ 0.792 Z 2 Z 3 1.416 Z 2 +0.624 Z0.208

Upload: diego-manzur

Post on 18-Jan-2016

6 views

Category:

Documents


0 download

DESCRIPTION

Transformada Z

TRANSCRIPT

Page 1: Pract_pds

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.

Y ( z )= 0.792Z2

(Z−1)(Z2−0.416 Z+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 =00Polos =1.00000.2080 + 0.4059i0.2080 - 0.4059iK = 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 )= limZ→∞

Y (Z )= limZ→∞

0.792Z2

Z3−1.416Z2+0.624 Z−0.208

¿ limZ→∞

0.792Z

1−1.416Z

+0.624

Z2−0.208

Z3

=0

Page 2: Pract_pds

Por el teorema del valor final:

Y ( t→∞ )=limZ→1

[1−Z−1Y (Z ) ]=limZ→1

Z−1Z

0.792 Z2

(Z−1)(Z2−0.416Z+0.208)=1

Estos teoremas son aplicables porque, por definición, existen los lımites calculados.

Ejercicio 2

Obtenga la transformada z de la siguiente función donde a es una constante. Grafique y compare en Matlab la función en tiempo continuo y la función en tiempo discreto.

X ( t )=1a(1−e−at)

Distribuyendo, tenemos

X ( t )=1a− e

−at

a¿

Luego, por la transformada del escalón y la propiedad lineal de la transformada z,

Page 3: Pract_pds

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)

Ejercicio3Para la función G(z) = Y (z)/X(z), hallar la transformada inversa z mediante el método Matlab (comando filter) hasta k = 10. Graficar la secuencia (comando stem).

Y (z) = 0, 01409z3 + 0, 028z2 + 0, 01409zX(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).

Page 4: Pract_pds

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’);

Ejercicio 4

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 filtre), encontrar la transformada inversa Z hasta k = 30. Verificar ambos gráficos 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án dadas, respectivamente, por

Z[x(k + 2)] = z2X(z) − z2x(0) − zx(1)Z[x(k + 1)] = zX(z) − zx(0)Z[x(k)] = X(z)

Al tomar la transformada z de ambos miembros de la ecuación en diferencias dada, se obtienez2X(z) − z = zX(z) + X(z)

Que es la transformada z buscada.

Ahora utilizo el siguiente programa para comparar el metodo manual con el metodo de Matlab.Método manual

Page 5: Pract_pds

x(1)=0;x(2)=1;N=30;for k=1:N-1x(k+2)=x(k+1)+x(k)endn=0:N;subplot(2,1,2);stem(n,x,’r’);title(’Metodo manual’);%Metodo Matlabnum=[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’);

Ejercicio 5Encontrar 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

La transformada z de secuencias desplazadas es:Z[y(n − 1)] = Y (z)z−1 + y(−1)

Page 6: Pract_pds

Z[y(n − 2)] = Y (z)z−2 + y(−1)z−1 + y(−2)Además, la transformada z de anu[n] es,

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ás, la transformada z de anu[n] es,

Al tomar la transformada z de ambos miembros de la ecuación en diferencias dada, se obtiene

Despejando Y (z)/z, para luego aplicar el metodo de inversion por fracciones parciales

Factorizando el denominador, la función expandida tendrá la forma:

donde los coeficientes son:

Page 7: Pract_pds

La descomposición 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.66671.0000

P =0.50000.33330.2000K =[ ]

Reemplazando y multiplicando ambos miembros por z:

La transformada inversa, resulta:

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:

%Método iterativo - Ecuación de diferenciasy(1)=25;y(2)=6;N=30;u=[0 0 ones(1,N+1)];for n=1:N+1y(n+2)=(1/5)^(n-1)*u(n+2)+(5/6)*y(n+1)-(1/6)*y(n)endn=-2:N;subplot(2,1,1);stem(n,y);title(’Método iterativo - Ecuación de diferencias’);

Page 8: Pract_pds

%Método iterativo - Expresión en forma cerradafor n=1:N+1y(n)=3/(2^(n-2))-2/(3^(n-2))+1/(5^(n-3))endn=-2:N;subplot(2,1,2);stem(n,y,’r’);title(’Método iterativo - Expresión en forma cerrada’);

Ejercicio 6Resuelva la siguiente ecuacion en diferencias tanto de manera analıtica como por computadora con Matlab. La función 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) = 2Las 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)] = z2X(z) − z2x(0) − zx(1)

Ademas, la transformada z de u[k + 2] es:

Ya que u(0) = u(1) = 1.

Page 9: Pract_pds

Al tomar la transformada z de ambos miembros de la ecuación en diferencias dada, se obtiene

Despejando X(z)/z, para luego aplicar el método de inversión por fracciones parciales:

La función expandida tendrá la forma:

Donde los coeficientes son:

Reemplazando y multiplicando ambos miembros por z:

La transformada inversa, resulta:

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:

%Método iterativo - Ecuación de diferenciasx(1)=1;x(2)=2;N=30;u=[ones(1,N+3)];for k=1:N-1

Page 10: Pract_pds

x(k+2)=u(k+2)+x(k+1)-0.25*x(k);endk=0:N;subplot(2,1,1);stem(k,x);title(’Método iterativo - Ecuación de diferencias’);

%Método iterativo - Expresión en forma cerradafor k=1:N+1x(k)=-(k-1)/(2^(k-1))-3/(2^(k-1))+4end k=0:N;subplot(2,1,2);stem(k,x,’r’);title(’Método iterativo - Expresión en forma cerrada’);

Ejercicio 7

Usar el método de la división directa para obtener la transformada z inversa. Decidir si el sistema es estable o no. ¿Por qué? Mostrar el diagrama de polos y ceros en el plano z. Si el sistema es inestable, implementar la modificación necesaria para que deje de serlo.

X (Z )=Z−1(1−Z−2)(1+Z−2)2

Page 11: Pract_pds

Primero, expreso X(z) en polinomios de z−1:

Luego, efectuando la división:

Comparando directamente X(z) = tenemos

x(0) = 0x(1) = 1x(2) = 0x(3) = −3x(4) = 0x(5) = 5x(6) = 0x(7) = −7x(8) = 0x(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);

Page 12: Pract_pds

Ejercicio 8

Encuentre la transformada inversa Z utilizando el método de expansión en fracciones parciales y con el Matlab (comando residuos).

X (Z )= Z−1(0.5−Z−1)(1−0.5Z−1)(1−0.8 Z−1)

Multiplicamos numerador y denominador por z2 y luego, divido ambos miembros por z para expresar X(z)/z en potencias de z:

La función expandida tendrá la forma:

Donde los coeficientes son:

Reemplazando y multiplicando ambos miembros por z:

La descomposición 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 zden=[1 -1.3 .4];[R,P,K]=residuez(num,den)R =-2.50005.000P =0.80000.5000K =

Page 13: Pract_pds

-2.5Por 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 verificar el resultado, puedo compararlo con el metodo de Matlab.N=30;delta=[1 zeros(1,N)]%Metodo iterativo - Expresion en forma cerradafor k=1:N+1x(k)=5*(0.5)^(k-1)-2.5*(0.8)^(k-1)-2.5*delta(k);endk=0:N;subplot(2,1,1);stem(k,x);title(’Metodo iterativo - Expresion en forma cerrada’);%Metodo Matlabnum=[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’);