Sie sind auf Seite 1von 12

UNIVERSIDAD NACIONAL DE SAN AGUSTN FACULTAD DE PRODUCCIN Y SERVICIOS ESCUELA PROFESIONAL DE INGENIERA ELECTRNICA

Laboratorio de Sistemas de Control Digital Prctica N 3

TEMA:

USO DE TRANSFORMADA Z
ALUMNOS:

Churata Parillo Albert Torreblanca Arana Pablo Marcos


LUNES 11.30-13.00 horas

Arequipa 2012

PROCEDIMIENTO.
1. Para la funcin Y (z), determinar los polos y ceros y ubicarlos dentro del plano z. Los teoremas del valor inicial y final son aplicables en dicha funcin. Por qu? Hallar sus valores.

( )

)(

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:

( ) Por el teorema del valor final: ( )

( )

( )

Estos teoremas son aplicables porque, por definicin, existen los lmites calculados.

2. Obtenga la transformada z de la siguiente funcin donde a es una constante. Grafique y compare en MATLAB la funcin en tiempo continuo y la funcin en tiempo discreto.

( ) Distribuyendo, tenemos
( )

Luego, por la transformada del escalon y la propiedad lineal de la transformada z, ( ) ( (


(

) )(
)

( ) ) )

)(

En el MATLAB comparamos la respuesta del sistema contino (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)

3. Para la funcin G(z) = Y (z)/X(z), hallar la transformada inversa z mediante el mtodo MATLAB (comando filter) hasta k = 10. Graficar la secuencia (comando stem).

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

4. Para la ecuacin 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 mtodo de MATLAB (comando filter), encontrar la transformada inversa Z hasta k = 30. Verificar ambos grficos y hallar conclusiones.

( )

( )

( )

Las transformadas z de x(k + 2), x(k + 1) y x(k) estn dadas, respectivamente, por ( ( ) ) ( ) ( ) ( ) ( ) ( ) ( ) ( )

Al tomar la transformada z de ambos miembros de la ecuacin en diferencias dada, se obtiene ( ) ( ) ( )

Donde se han reemplazado las condiciones iniciales dadas. Finalmente, despejando y simplificando, ( ) Que es la transformada z buscada. Ahora utilizo el siguiente programa para comparar el mtodo manual con el mtodo 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);

5. Encontrar la expresin de y[n] usando el mtodo de la transformada Z. Donde u[n] representa la funcin escaln.

( )

( )

( )

La transformada z de secuencias desplazadas es: (


( )

)
( )

( )
( )

)
( )

Ademas, la transformada z de

es,

( )

Al tomar la transformada z de ambos miembros de la ecuacin en diferencias dada, se obtiene ( ) ( ) ( )

( )[

( )[

Despejando Y (z)/z, para luego aplicar el mtodo de inversin por fracciones parciales:

( )

Factorizando el denominador, la funcin expandida tendr la forma: ( )

Donde los coeficientes son: [( ) ( ) ] ( ) ] ( ) ]

[(

[(

La descomposicin 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: ( )

La transformada inversa, resulta: ( ) Que es la forma cerrada pedida. Con el siguiente programa podemos comparar las secuencias obtenidas con la ecuacin de diferencias dada al comienzo del problema y la forma cerrada obtenida:
%Mtodo iterativo - Ecuacin 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); %Mtodo iterativo - Expresin 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);

6. Resuelva la siguiente ecuacin en diferencias tanto de manera analtica como por computadora con MATLAB. La funcin de entrada u[k] = 1 para k = 0, 1, 2

( )

( )

( )

Las transformadas z de x(k), x(k + 1) y x(k + 2) estan dadas, respectivamente, por


( ( ) ) ( ) ( ) ( )

( )

( )

( )

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


( ) ( ) ( ) ( )

Ya que u(0) = u(1) = 1. Al tomar la transformada z de ambos miembros de la ecuacin en diferencias dada, se obtiene 8

( )

( )

( )

Despejando X(z)/z, para luego aplicar el mtodo de inversin por fracciones parciales: ( )
( )( )

La funcin 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 ecuacion de diferencias dada al comienzo del problema y la forma cerrada obtenida:
%Mtodo iterativo - Ecuacin 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 iterativo - Ecuacion de diferencias); %Mtodo iterativo - Expresin 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);

7. Usar el mtodo de la divisin 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 modificacin necesaria para que deje de serlo.
( )(

( ) Primero, expreso X(z) en polinomios de z1: ( ) Luego, efectuando la divisin:


+z z
1 1

z 3 2z 3 3z 3 +3z 3

z 5 z 5 +6z 5 +5z 5 5z 5

/1 + 2z 2 + z 4 z 1 3z 3 + 5z +3z 7 +3z 7 10z 7 7z 7 ......

7z

+ 9z

5z 5z

9 9

Comparando directamente ( )
x(0) = 0 x(1) = 1 x(2) = 0

( )

, tenemos
x(6) = 0 x(7) = 7 x(8) = 0 x(9) = 9

x(3) = 3 x(4) = 0 x(5) = 5

Como vemos, la secuencia x(n) es alternadamente creciente; por lo tanto, el sistema es inestable. 10

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

Confirmamos con el diagrama de polos y ceros que el sistema es inestable, ya que posee polos mltiples sobre el crculo unitario (es condicin suficiente, pg. 183 del libro de Ogata).

8. Explique con un ejemplo el funcionamiento de los comandos FILTER, FILTIC, STEM.

( )

( ( )(

) )

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

La funcin expandida tendr la forma: ( ) Donde los coeficientes son:


( ( ( ) ) ) ( ) ( ) ( ) ( ( ) ( ) )

Reemplazando y multiplicando ambos miembros por z: ( )

11

La descomposicin en fracciones parciales podr haberse realizado con MATLAB, de la siguiente manera:
num=[0 .5 -1]; % potencias ascendentes 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 inspeccin 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 ecuacin en diferencias en forma cerrada. Para verificar el resultado, puedo compararlo con el mtodo de MATLAB.
N=30;delta=[1 zeros(1,N)] %Mtodo iterativo - Expresin 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); end k=0:N; subplot(2,1,1);stem(k,x); title(Mtodo 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(Mtodo Matlab);

12

Das könnte Ihnen auch gefallen