Sie sind auf Seite 1von 23

SISTEMAS DE CONTROL DIGITAL

LABORATORIO N 3
USO DE LA TRANSFORMADA Z. CLCULO MANUAL Y CON MATLAB

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? Halla los valores.

Y (Z)=

0.792 z 2
( z1 ) (z 20.416 z +0.208)

Para hallar los polos y ceros de esta funcin transferencia seguimos los
siguientes pasos:
Escribimos el siguiente comando para
transferencia en el
dominio Z.

especificar

una

>> z=tf('z');
Escribimos en la variable Yz nuestra funcin transferencia.
>> Yz=.792*z^2/((z-1)*(z^2-0.416*z+.208))
Transfer function:
0.792 z^2
------------------------------------------z^3 - 1.416 z^2 + 0.624 z - 0.208
Sampling time: unspecified
Con este comando Extraemos los polos y ceros de la funcin
transferencia Z
>> [ceros,polos,K]=zpkdata(Yz,'v')
ceros =
0
0
polos =
1.0000
0.2080 + 0.4059i

funcin

0.2080 - 0.4059i
K=
0.7920
Aqu etiquetamos el numerador y el denominador de la funcin
transferencia para observar la grfica de los polos y ceros en el plano z
de esta forma sabemos si el sistema cumpla con la condicin de
estabilidad.
>> [num,den]=tfdata(Yz,'v')
num =
0

0.7920

den =
1.0000 -1.4160

0.6240 -0.2080

Comando para observar los polos y ceros en el plano z


>> zplane(num,den)
>> zgrid
>>
GRAFICA RESULTANTE:

Los polos siendo dos de ellos imaginarios se observa en la grfica que estn
dentro del circulo de radio 1 por lo que su amplitud tambin ser menor a
1 ; tambin se observa un polo en el borde del circulo actuando de forma
oscilante.
CALCULO MANUAL:
Ser necesario comprobar manualmente si los polos se encuentran dentro
del crculo de radio 1 para saber si cumple con la condicin para aplicar el
teorema de valor inicial y final.

z1=0 ; P1=1; este polo efectivamente est en el lmite del circulo de


radio 1.
2

z 0.416 z+ 0.208=0
Z 2=

; hallando sus polos

0.2080 + 0.4059i; para ello hallamos su amplitud.

Z 2= 0.20802+ 0.40592= 0.456; cumple con la condicin del teorema P<1


Z 1=
Z 2=

0.2080 - 0.4059i; su conjugada nos ofrecer la misma amplitud


0.456

Por lo tanto la funcin es analtica dando a entender que si se puede aplicar


el teorema del valor final e inicial:
TEOREMA DEL VALOR INICIAL:

Y ( 0 )=lim Y ( z)
z

Y ( Z)=

; definiendo

0.792 z 2
=
( z1 )( z2 0.416 z+ 0.208)

0.792 z 2
( z1 ) ( z 20.416 z +0.208)

lim 0.792

)
(1 1z )(z 0.416+ 0.208
z

Y ( 0 )=lim
z

Y ( 0 )=

0.792
)
(1 1 )(0.416+ 0.208

0.792
=0

Y ( 0 )=0
TEOREMA DEL VALOR FINAL:
2

Definiendo:

Y ( Z)=

0.792 z
2
( z1 ) (z 0.416 z +0.208)

( z1 ) 0.792 z2
2
z 1 ( z1 ) ( z 0.416 z+ 0.208)
Y ( )=lim

[( z1)Y ( z)]=lim

z 1

(1)20.416 ( 1 )+ 0.208
0.792(1)2
Y ()=lim
=1

z1
Y ( )=1

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

Y ( z ) =0.01409 z 3 +0.028 z 2+ 0.01409 z

X ( z )=z 2.7624 z +2.5811 z0.8187


Se utilizar el mtodo grfico para observar la secuencia de ponderacin
y de esa forma confirmar haber hallado la transformada inversa Z.
Etiquetando el numerador y denominador de G(z)
>> num=[0.01409 0.028 0.01409 0];
>> den=[1 -2.7624 2.5811 -0.8187];
Con este vector definimos la delta de kronecker como entrada de esta forma

y ( k )=h (k )
>> Xz=[1 zeros(1,10)];
Se expresa en un vector todos los valores resultantes que nos da la
secuencia de ponderacin

h(k)

debido a la entrada.

>> Yz=filter(num,den,Xz);
Definimos los valores de k desde 0 hasta 10 como nos pide la pregunta
para la grfica
>> n=0:1:10;
Con este comando podemos observar la secuencia de ponderacin
grficamente.
>> stem(n,Yz);
>> xlabel('k');
GRAFICA RESULTANTE:

CALCULO MANUAL:
El mtodo ms sutil para hallar la transformada inversa es la DIVISION
DIRECTA, pero debido a que los coeficientes son decimales; los clculos para
hallar los 11 valores de secuencia de ponderacin resultara muy extenso
por lo que damos por resultado definitivo a los VALORES PROPORCIONADOS
POR LA GRFICA. Y si queremos los valores ejecutamos el comando FILTER:
>>Yz=filter(num,den,Xz)
Yz =
0.0141 0.0669 0.1626
0.9767 1.0743 1.1500

5.

0.2879

0.4305

0.5792

0.7245

0.8588

Encontrar la expresin de y(k) usando el mtodo de


transformada Z donde u(k) representa la funcin escaln.

y ( k )

la

5 (
1 (
1 k ( )
y k1 ) +
y k 2 )=
u k , donde y (1 )=6 e y (2 )=25
6
6
5

()

()

()

Debido a que existen valores iniciales antes del momento k=0


estamos ante un sistema con secuencia desplazada. Por lo que
atinamos a la propiedad de transformada Z:
Z [ y (k 1) ] =Z1 Y ( Z )+ y (1 )

1
= Z Y ( Z )+ 6

Z [ y (k 2) ] =Z Y ( Z )+ y (1 ) Z + y (2 ) Z

2
1
2
= Z Y ( Z )+ 6 Z +25 Z

[( ) ]

5
1
1
Z [ y ( k ) ]
Z [ y ( k 1 ) ] +
Z [ y ( k 2 ) ]=Z
6
6
5

()

()

Z
Z
Z(1 /5)
5
1
Y (Z ) [ Z1 Y ( Z ) +6 ] +
6
6

( 2Y ( Z ) +6 Z1+25 Z2)=

Y (Z)

5 1
1 1
6 25
Z
Y ( Z ) +6 + ( 2 Y ( Z )+ + 2 )=
6 Z
6 Z
Z Z
Z(1/5)

Y ( Z ) 1+

] ()

1
5

=
2
6Z 6Z

1 5Z
Y (Z ) Z2+
=
6 6

Y ( z ) z 3

1 25 1
+5
Z 6 Z2
1
Z
5

Z
Z

( 15 )

+5 Z 2Z

( )

25
6

31 2 1
1
11
7
1
z + z
= z 3 z 2 + z
30
3
30
6
6
5

11 3 7 2 1
z z+ z
6
6
5
Y (z)=
31
1
1
z 3 z 2 + z
30
3
30
Ahora para la transformada inversa de z debemos acudir a las fracciones
parciales un calculo manual es extenso para hallar los valores por lo tanto
utilizaremos el comando RESIDUE para que lo separe en fracciones parciales
que nos dar sus polos y los valores que convierte a la funcin Y(Z).
Etiquetamos el numerador y denominador de Y(Z)
>> num=[0 11/6 -7/6 1/5];
>> den=[1 -31/30 1/3 -1/30];

El comando residue que transforma Y(Z) en fracciones parciales. Siendo r


los valores y p los polos.
>> [r,p,k]=residue(num,den)
r=
1.5000
-0.6667
1.0000
p=
0.5000
0.3333
0.2000
k=
[]
Por lo tanto:

Y (z )=

3/2

z1 /2

Z 1 [Y ( z ) ] =Z1

y ( k )=

2
3
z

1
3

1
z 1/5

3 /2

z1/2

2
3
1
z
3

1
z1/5

3 1 k 2 1 k 1 k

+
; k 0
2 2
3 3
5

() ()()

Ahora expresaremos la secuencia de ponderacin en una grfica similar a


los tems anteriores.
Por lo que usaremos el denominador y el numerador de Y(Z): el valor de k
ser hasta 20
Etiquetamos el numerador y denominador de y(z)
>> num=[11/6 -7/6 1/5 0];
>> den=[1 -31/30 1/3 -1/30];

Fijando la entrada delta de kronecker para hallar la secuencia de


ponderacin
>> x=[1 zeros(1,20)];
Con FILTER se obtiene vectorialmente los valores de la secuencia de
ponderacin
>> y=filter(num,den,x);
Se fija la grfica con los lmites de k de 0 a 20
>> k=0:20;
Con stem se logra la grfica donde se ve la secuencia de ponderacin.
>> stem(k,y)
>> grid on

GRAFICA
RESULTANTE

7.

Usar
el
mtodo de la divisin directa para obtener la transformada z
inversa. El sistema es estable?. 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.
1

X ( z )=

z (1z )
(1+ z 2 )2

X(z) lo tenemos que dejar el denominador y el numerador con


polinomios para la divisin discreta.

X ( z )=

1 z 1
(
)
z z2
2

z +1
)
2
z

z
2
( 2+ 1)
z
z 21
X ( z )=

X ( z )=

z 3z
z 4+ 2 z 2 +1

z 31 z z 4 +2 z2 +1
z 32 zz1 z 13 z3 +5 z5 7 z 7
3 zz

3 z+6 z 1 +3 z3
5 z1 +3 z3
5 z110 z35 z5
3

7 z 5 z

La secuencia de ponderacin es :
x(k)= { 0 ; 1; 0 ;3 ; 0 ; 5 ;7 ; 0; 9;11 ; }
la secuencia de ponderacin indica que el valor sigue aumentando por lo
que nos queda decir que el SISTEMA ES INESTABLE.

DIAGRAMA DE POLOS Y CEROS EN EL PLANO Z

Etiquetamos el numerador y denominador de X(z) vectorialmente


>> num=[0 1 0 -1 0];
>> den=[1 0 2 0 1];
Utilizamos el comando zplane para expresar la grafica de polos y ceros
de la funcin transferencia
>> zplane(num,den)
>> grid on
GRAFICA RESULTANTE

Si bien es cierto la grfica nos podra indicar estabilidad por estar en el


borde del circulo de radio 1; en si el sistema es INESTABLE porque la salida
aumenta con el tiempo. Esta demostrado en el cociente de la DIVISION
DISCRETA.
En la siguiente grafica demuestra que el sistema es inestable:
>> num=[0 1 0 -1 0];

>>den=[1 0 2 0 1];
>> Xz=[1 zeros(1,20)];
>> Yz=filter(num,den,Xz);
>> n=0:1:20;
>> stem(n,Yz);
>>
GRAFICA RESULTANTE

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.

1
x (t)= (1eat )
a
Separamos por partes la expresin x(t):

1 eat
x ( t )=
a
a
Aplicando transformada de laplace a ambos miembros :
at

1 e
Z [ x ( t ) ]=Z [
]
a
a
Transformando a Laplace :

X ( z )=

1
1

1
a ( 1z ) a ( 1eak z1 )

Sacando el mnimo comn mltiplo:

1eak z11+ z1
X ( z )=
a ( 1z1 ) ( 1eak z 1 )

Factorizamos
ak

1e
z1( 1eak )
1
X ( z )=
a ( 1z1 ) ( + z2 eak )

Ahora aplicando Matlab compararemos la respuesta del sistema continuo


>> num=[0 1-exp(-1) 0];
>>den=[1 -1-exp(-1) exp(-1)];
>>t=0:0.2:10;
>>x=(1-exp(-t));
>>plot(t,x,'r')
>>hold;

Current plot held


>>mpz(num,den)

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.

x ( k + 2 )=x ( k +1 )+ x ( k ) (0)

Donde: x(0) = 0 y x(1) = 1

Entonces la transformada Z de x(k + 2) , x(k + 1) y x(k) est dado de


la siguiente forma

Z [ x (k +2) ] =z X ( z )z x ( 0 ) zx ( 1 ) (1)
Z [ x (k +1) ] =ZX ( z )Zx ( 0 ) (2)

Z [ x (k ) ] =X ( z ) (3)

Reemplazando la transformadas Z en (0) las ecuaciones (1) , (2) , (3)


se obtiene:

z 2 X ( z )z=zX ( z ) + X ( z ) (4)

Despejamos X(z) en (4) y obtenemos:


X ( z )=

z
(5)
z z 1
2

En el matlab lo desarrollamos de la siguiente manera:


>> %Mtodo 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 usando comando filter
>>num=[0 1 0];
>>den=[1 -1 -1];
>>n=0:1:N;
>>x=[1 zeros(1,N)];
>>y=filter(num,den,x);
6) Resuelva la siguiente ecuacin en diferencias tanto de manera
analtica como en matlab. La funcin de entrada u[k]=1 para k=0,
1, 2

x ( k + 2 )x ( k +1 )+ 0.25 x ( k ) =u ( k +2 ) (0)
Donde:

x ( 0 )=0

x (1)=2

Aplicamos la transformadas Z a la ecuacin (0)

x (k )

se dan de la siguiente manera

Z [ x (k )] =X ( z ) (1)

x ( k + 2 ) , x ( k + 1 ) y de

Z [ x ( k + 1 ) ]=zX ( z )zx ( 0 ) (2)

Z [ x (k +2) ] =z 2 X ( z )z 2 x ( 0 ) zx ( 1 ) (3)

2
z
2
(
)
(
)
(
)
Z [ u(k + 2) ] =z U z z u 0 zu 1 =
z 2z (4 )
1
1 z
2

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

Reemplazamos la (1), (2), (3) y (4) en (0) obtenemos:

z X ( z )z 2 zzX ( z )+ z +0.25 X ( z )=

X (z )
z

Despejamos:

z2
2
z z
1
1z

Aplicamos el mtodo de inversin por fracciones parciales:

1
2

( z1 )
X ( z)
z2
z2
= 3
=
z
z 2 z2 +1.25 z0.25

La funcin:

X (z )
z

puede expresarse en tres trminos:

X (z)
=
z

b1
b2
b3
+
+
1
1
1 (z1)
z ( z ) z
2
2
2

( )

( )

Entonces los coeficientes toman el siguiente valor

1 2 X (z ) 1
b 1= ( z ) .
=
2
z
2

{ [

]}

d
1 2 X ( z)
b 2=
( z ) .
=3
dz
2
z

b 3= ( z1 ) .

Reemplazando y multiplicando por z:

X ( z )=

1 1
z
2

(1 12 z )( 1 12 z )
1

3
4
+
1
1
1 z1 1z
2

Aplicamos transformada inversa optenemos:

x ( k )=

k 3
+4
2k 2 k

Utilizando el matlab:

X (z )
=4
z

>> %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 itarativo - Ecuacion de diferencias');
>> %Metodo itarativo - 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');

8) Explique con un ejemplo el funcionamiento de los comandos


FILTER, FILTIC, STEM

Un mtodo comn es expresar la descripcin de la ecuacin en diferencias


para un sistema en forma recursiva, que permita que la salida del sistema
se calcule a partir de la seal de entrada y las salidas pasadas.

El comando filter efecta una funcin similar. Defina vectores a=[a0, a1,
an] y b=[b0, b1,..bm], que representan los coeficientes de la ecuacin
en diferencias.
Si X es un vector que representa la seal de entrada, entonces el
comando y=filter(b,a,x) da por resultado un vector y que representa la
salida del sistema para condiciones iniciales cero.

El numero de valores de salida en Y corresponde al nmero de valores de


entrada en X. Se incorporan condiciones iniciales diferentes de cero
empleando la sintaxis de comando alternativa y= filter (b,a,x,zi),
donde zi representa las condiciones iniciales requeridas por filter.

Las condiciones iniciales utilizadas por filter no son los valores pasados
de las salidas, pues filter emplea una forma modificada de la
ecuacin
en diferencias para determinar la salida. Las condiciones
iniciales se obtienen del conocimiento de valores pasados empleando el
comando zi= filtic (b,a,yi)donde yi es un vector que contiene las
condiciones iniciales en el orden [y(-1), y(-2),..y(-N). Ilustramos el uso

del comando filter con el siguiente ejemplo:

Un sistema se describe por medio de su


ecuacin en diferencias

y[n] - 1.143y[n-1] + 0.4128y[n-2] = 0.0675x[n] +


0.1349x[n-1] + 0.0675x[n-2]

Determinamos la salida en respuesta a entrada cero y condiciones


iniciales y[-1]=1, y[2]=2 empleando los comandos:

a= [1, -1.143, 0.4128];


b= [0.0675, 0.1349, 0.0675];
x= zeros(1,50)
zi = filtic (b,a,[1,2]);
y =filter (b,a,x,zi);
stem(1:50,y);

x=

Columns 1 through 15

Columns 16 through 30

Columns 31 through 45

Columns 46 through 50

El resultado se aprecia en la siguiente grafica

Ahora haciendo la condiciones iniciales cero y la entrada


x[n]=cos(0.1*pi*n), la grfica de salida es:
>> a=[1,-1.143,0.4128];
>> b=[0.0675,0.1349,0.0675];

>> n=0:100;
>> x=cos(0.1*pi*n);
>> zi=filtic(b,a,[0]);
>> y=filter(b,a,x,zi);
>> stem(1:101,y);

Ahora se aprecia la grafica siguiente

CONCLUSIONES:
1. Se obtuvo la secuencia de ponderacin con una seal que tiende hacer
estable
2. Los comandos FILTIC, STEM,FILTER han demostrado de ayuda para hallar
la secuencia de ponderacin y tener la representacin grafica de la
misma.
3. Para obtener las antitransformadas se tuvo que emplear mtodos
matemticos como las fracciones parciales y la Division Directa por la
cual las herramientas de Matlab nos ayudan a resolverlos.

Das könnte Ihnen auch gefallen