Está en la página 1de 10

Gua de estudio 18 1 La transformada Z

Gua de estudio 18: Aplicacin


Objetivos
1. Esta gua de estudio pretende consolidar los conceptos alrededor de la TZ
vistos en este mdulo. Para ello, se plantean una prctica en MATLAB y
unos ejercicios.
Gua de estudio 18 2 La transformada Z
Estudio terico
Aplicacin
Tarea Concepto Referencia Tiempo
Prctica Transformada Z Prctica de la gua de estudio 18 1 h
Ejercicios Conceptos de transformada Z 10.5, 10.26, 10.36 y 10.38 2 h
Gua de estudio 18 3 La transformada Z
Resumen
Esta gua presenta una parte prctica y una parte de resolucin de problemas
que permite afianzar los conceptos de la transformada Z vistos a lo largo de
todo el mdulo 3.
Gua de estudio 18 4 La transformada Z
Prctica
Transformada Z
El objetivo de esta prctica es doble: por un lado consolidar los conceptos de
la transformada Z, por otro lado, familiarizarse con comandos de MATLAB.
Para ello, se presentan los siguientes ejercicios guiados.
1. Determinacin de ceros y polos de una funcin racional
Una expresin racional en Z se puede describir como un conjunto de ceros y
polos, siendo los ceros las races del polinomio del numerador y los polos, las
races del polinomio en el denominador.
Un cero en el punto z
0
indica que la salida del sistema es nula para una entrada
de la forma z = n
0
, al ser el autovalor correspondiente igual a cero. Un polo en
el punto z
p
indica que la salida diverge para esa misma entrada.
As pues, la transformada Z de una funcin racional se puede escribir como:
Si tenemos un sistema definido por la siguiente ecuacin en diferencias:
Obtenemos los vectores a y b que contienen los coeficientes a
k
y b
k
, respec-
tivamente.
a=[0 -1 0 2]
b=[1 -1.4 1 0.2]
Utilizando la funcin Roots, calculamos las races del numerador y del de-
nominador de H(z) (ceros y polos respectivamente).
zeros=roots(a)
pols=roots(b)
2. Representacin grfica de los ceros y polos
Ahora representaremos grficamente los ceros y los polos:
( )
0
0

( )
( )

M
k
k
k
N
k
k
k
b z
Y z
H z
X z
a z

=
= =

| | | | | | | | | | | | 1 2 3 1,4 1 2 0,2 [ 3] y n x n x n x n y n y n y n = + + +
Gua de estudio 18 5 La transformada Z
zplane(zeros,pols);
En la grfica se observan los ceros y los polos junto con la circunferencia uni-
dad, que nos sirve de referencia.
A partir de la grfica, el sistema es estable y/o causal?
Para resolver estas preguntas debemos tener claro cul es la ROC de la trans-
formada Z. En este caso la ROC |z| > 1,24 (1.24 es el mdulo del polo ms ex-
terno calculado como (0.7800)
2
+ (0.8008)
2
).
El sistema no es estable. La ROC no incluye el crculo unitario porque tiene
dos polos fuera de la circunferencia de radio unidad.
El sistema es causal porque la ROC incluye el infinito.
3. Calculo de la transformada Z
Dada la siguiente funcin,
Calculamos su transformada Z.
Separamos los componentes de la funcin, para facilitarnos el clculo de la
transformada.
( )
2
1
[ ] 1 [ ]
2
n
x n e u n

=
( ) | | | |
( )
( ) ( )
( )
( )
1 1
1
1 2
1 1
2 2
1 1
ROC 1
2 1 2 1
(1 )
1 1
n
x t u n e u n
X z z e
z e z
z e
X z
e z z


=
= < <

=
+ +
Gua de estudio 18 6 La transformada Z
A partir del numerador y del denominador de X(z), mostramos grfica-
mente la funcin mediante los siguientes comandos de MATLAB:
numerador=[1 1-exp(-1) 0];
denominador=[1 -1-exp(-1) exp(-1)];
impz(numerador,denominador,50)
4. Clculo de la transformada Z inversa
4.1. Mediante el mtodo de expansin en fracciones parciales
Para la siguiente seal en el dominio Z, encontrar la antitransformada me-
diante el mtodo de expansin en fracciones parciales.
Usaremos la funcin Residue de Matlab:
[r,p,k] = residue (A,B)
Esta funcin calcula los vectores de salida r, p y k de la expansin de fracciones
parciales que corresponden respectivamente a:
Los valores de residuo (r
1
, r
2
, ..., r
n
),
Los polos (p
1
, p
2
, ..., p
n
),
Los trminos directos (k).
Las entradas son principalmente dos:
1) los coeficientes del polinomios A(a
1
, a
2
, ..., a
n1
), numerador de la expre-
sin polinmica.
( )
3
3 1
3 2
z
G z
z z

=
+
Gua de estudio 18 7 La transformada Z
2) los coeficientes del polinomioB(b
1
, b
2
, ..., b
m1
), denominador de la expre-
sin polinmica.
>> A=[3 -1];
>> B=[1 0 -3 2];
>> [r,p,k]=residue(A,B);
>> r
r =
-0.7778
0.7778
0.6667
>> p
p =
-2.0000
1.0000
1.0000
>> k
k =
[]
Por lo tanto,
Si usamos la propiedad de desplazamiento y tabla de transformadas Z (pg.
776 Oppenheim), tenemos que la anti-transformada Z de G(z) es:
4.2. Mediante el mtodo de la divisin larga
Para la siguiente seal en el dominio Z racional (G(z)), calculad la transforma-
da Z inversa.
( )
3
3 1 0.78 0.78 0.67
2 1 1
3 2
z
G z
z z z
z z

= = + +
+
+
( )
( ) | |
1
1
1 0.78 0.78 0.67
2 1 1
( ) 0.78 (2 1) 1 0.67 [ 1]
n
zG z
z z z
z
zG z g t u n u n

| |
= - + +
|
+
\ .
= - + +
TZ
1
( )
3 2
2 2
0.1 0.2 0.1
2.8 2.6 0.8
z z z
G z
z z z
+ +
=
+
Gua de estudio 18 8 La transformada Z
Para resolver la ecuacin, utilizaremos el mtodo de la divisin directa imple-
mentado en la funci de Matlab ldiv.m, la tenis en el mismo apndice de
esta prctica. Fijaos cmo procede esta funcin internamente.
num=[0.1 0.2 0.1 0];
den=[1 -2.8 2.6 -0.8];
M=ldiv(num,den,21);
Y ahora representamos la transformada inversa (M) grficamente:
n=0:1:20;
stem(n,M);
Apndice
Ldiv.m (http://www.mathworks.com/matlabcentral/fx_files/1752/1/ldiv.m)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Function (ldiv) : calculate inverse Z-transform by long division
% Author : Tamer mohamed samy abdelazim Mellik
% Contact information :
%Department of Electrical & Computer Engineering,
%University of Calgary,
%2500 University Drive N.W. ,
%Calgary, AB T2N 1N4 ,
%Canada .
% email :abdelasi@enel.ucalgary.ca
% email : tabdelaz@ucalgary.ca
% Webpage : http://www.enel.ucalgary.ca/~abdelasi/
% Date : 2-5-2002
% Version : 1.0.0
%Example
Gua de estudio 18 9 La transformada Z
% This function like deconv but it help if the numerator less or equal degree of
denominator
% if you have this function (It must arranged in terms of minus power of Z):
% 1
% G(z)= -----------------
% -1 -2
% ( 5 - Z - 3 Z )
% and you want to calculate long division or inverse Z transform :
% The numerator is a=[1] and the denominator is b= [5 -1 -3 ]
% call the function ldiv(a,b) to get the funresult 20 items (default)
% another example :
% -2 -3
% ( 5 - 3 Z + 4 Z )
% G(z)-----------------
% -1 -2
% (5 - Z - 3 Z )
% a=[5 0 -3 4] , b= [5 -1 -3 ] and you want the funresult 100 terms !
% ldiv(a,b,100)
% Note : The author doesnt have any responsibility for any harm caused by the use of
this file
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function funresult=ldiv(a,b,N)
%a numerator
%b denominator
%default order of the filter == 20
funresult=[];
if nargin < 3
if nargin > 1
N=20;
else
disp(Usage: M = ldiv(a,b,N))
disp(a:numerator , b denominator and N is the order of the resultant filter)
return
end
end
if size(a) < 1
disp(Error: numerator must at least have one element not empty)
return
end
if size(b) < 1
disp(Error: denominator must at least have one element not empty)
return
end
if b(1)==0
Gua de estudio 18 10 La transformada Z
disp(Error: The first element of denominator must have nonzero value)
return
end
if size(b) < 2
funresult=a./b;
for i =length(funresult)+1:N
funresult(i)=0;
end
return
end
for i = length(a)+1:N
a(i)=0;
end
for i = 1 : N
funresult(i)=a(1)/b(1);
if length(a)>1
for k= 2:length(b)
if k > length(a)
a(k)=0;
end
a(k)=a(k)-funresult(length(funresult))*b(k);
end
for i = 1:length(a)-1
a(i)=a(i+1);
end
a=a(1:length(a)-1);
end
end

También podría gustarte