Documente Academic
Documente Profesional
Documente Cultură
7.1 OBJETIVO
Aprender a utilizar la Transformada Z como herramienta de anlisis de sistemas
discretos lineales e invariantes en el tiempo (SDLIT), orientndonos hacia los sistemas discretos
definidos por ecuaciones lineales en diferencias, as como las diferentes estructuras de
realizacin de los mismos.
7.2 EQUIPOS Y MATERIALES REQUERIDOS
El equipo de experimentacin necesario para realizar el presente laboratorio es:
1. PC Pentium IV o superior.
2. Sistema Operativo Windows 2000 o XP.
7.3 SOFTWARE REQUERIDO
El siguiente software es necesario para realizar este laboratorio:
1. Matlab V6.0 o Scilab.
2. Libreras y archivos de soporte.
7.4 ASPECTOS TEORICOS
La Transformada Z es una versin generalizada de la Transformada de Fourier. As
como la forma de la Transformada de Fourier, nos permite representar a una seal del dominio
del tiempo en trminos de sus componentes de frecuencia en vez de accesar a los valores de la
seal en trminos de n, un ndice discreto relacionado al tiempo, nos puede hacer conocer la
respuesta de la seal para una frecuencia dada.
La Transformada Z sirve para dos propsitos. Primero, proporciona una manera
conveniente de anotar los efectos de los filtros. Hasta el momento, hemos utilizado los
coeficientes dados por la funcin impulso de un filtro FIR., h[n] = {a,b,c,d}, para describir
como la salida y[n] se relaciona con la entrada x[n]. En la notacin de la Transformada Z,
decimos que Y(z)=H(z)X(z), donde H(z) es la Transformada Z de h[n]. Podemos pensar en H(z)
como algo que opera en X(z) para producir la salida Y (z). Por esta razn, H(z) es tambin
llamada funcin de transferencia. En lugar de utilizar ax[n - k] en la ecuacin, podemos
colocar el coeficiente y retardo (k) juntos, y retirar x. De esta manera el filtro con coeficientes
h[n] = {a,b,c,d} puede ser descrito por medio de la Transformada Z de h[n], H(z) = az0 + bz-1 +
cz-2 + dz-3. Un segundo propsito de la Transformada Z es decirnos acerca de la estabilidad del
filtro, la misma que ser tratado en el presente laboratorio.
Por definicin, la Transformada Z de una seal discreta x[n] es:
X z
x[n]z
(7.1)
donde z es un nmero complejo, z = rej. Tpicamente, n tiene un rango finito, por ejemplo,
imagina una seal x con seis valores. Efectivamente, en este ejemplo, n tiene un rango de
solamente 0 a 5, puesto que cualquier valor de x antes del ndice 0 o despus del ndice 5 es
considerado como 0. De esta manera la Transformada Z podr ser:
X(z) = x[0]z0 + x[1]z-1 + x[2]z-2 + x[3]z-3+ x[4]z-4 + x[5]z-5
Tericamente sin embargo, para una x[n] en general, X(z) puede diverger, puesto que n
podra ser . Por esta razn, se incluye una regin de convergencia (ROC) con la
Transformada Z. Un aspecto importante de la ROC es que esta depende solamente de r, no de
y la regin de convergencia es circular. Si sabemos que un punto est dentro (o fuera) de la
regin de convergencia, los otros puntos de la misma magnitud tambin estarn dentro (o fuera)
de la regin de convergencia.
7.5 ACTIVIDADES
k 0
k 0
ak y[n k ] bk x[n k ]
(7.2)
Para calcular la funcin de transferencia del sistema discreto de esta forma basta con
tomar la Transformada Z en ambos lados de la igualdad y aplicar la propiedad del retardo,
quedando de la siguiente forma:
N
k 0
k 0
akY z z k bk X z z k
(7.3)
H z
b z
a z
k 0
N
k 0
(7.4)
(7.5)
Ejercicio 7.2
Vamos a evaluar la Transformada Z en una serie de puntos a travs de la observacin
de la respuesta del sistema para algunas entradas especiales. Para ello, considerar el sistema
con respuesta impulsional:
h[n] = 0.03[n] + 0.4 [n 1] +0.54 [n 2] + 0.2 [n 3] 0.2 [n 4]+
+0.1 [n 5] + 0.2 [n 6]
(7.6)
y n z0n
h k z
k
0
(7.7)
evaluar la funcin de transferencia del sistema en cada uno de los seis valores de z
especificados anteriormente, teniendo cuidado con los efectos de borde debido a la longitud
finita de las seales.
Para comprobar los resultados, repetir los clculos utilizando la funcin tz().
A partir de esos valores, conocemos el valor de la transformada de Fourier en alguna
frecuencia?
bo k 1 1 ck z 1
M
H z
a0 k 1 1 pk z 1
N
Ejercicio 7.3
Sea un sistema definido por la siguiente ecuacin en diferencias:
(7.8)
(7.9)
Ejercicio 7.4
Dibujar la seal exponencial causal que se corresponde con la transformada
X z
1
en cada uno de los siguientes casos, justificando la forma en funcin de la
1 az 1
X z
1
1 az 1 a* z 1
1
a 0.5 0.5 j
1
1
j
2
2
a 1.5 1.5 j
a
b0 k b1k z 1 b2 k z 2
1
a2 k z 2
k 1 1 a1k z
Ns
H z
(7.10)
Se han combinado de dos en dos los polos y ceros reales; los polos y ceros complejos
conjugados tambin se han combinado. Si el orden de numerador o denominador es impar habr
un trmino de orden uno en el numerador o denominador respectivamente. De este modo
podemos crear una nueva estructura compuesta por la cascada de estructuras de segundo orden,
cada una de las cuales puede ser implementada a travs de su forma directa II.
Ns
1 p z
k 1
Calcular el nmero posible de realizaciones en cascada de dicho sistema, si los N polos son
complejos y las secciones de orden dos estn conformadas por los polos complejos conjugados.
De igual modo podemos crear una estructura en paralelo si elegimos expresar H(z) en su
descomposicin en fracciones parciales:
H z
M N
k 0
Nr
Bk 1 ek z 1
Ak
1
1
* 1
k 1 1 d k z
k 1 1 d k z 1 d k z
Nr
Br z r
(7.11)
H z
M N
k 0
e0 k e1k z 1
1
a2 k z 2
k 1 1 a1k z
Ns
Br z r
(7.12)
Ejercicio 7.6
En este ejercicio se implementar un sistema la Forma Directa II (figura 7.2), derivada
a partir de la Forma Directa I (figura 7.1). Para ello copiar primero el cdigo de la Forma
Directa I:
filtroFDI.m
Dicho cdigo se muestra a continuacin:
function y=filtroFDI(b,a,x,ci)
%b:coeficientes parte directa, de la forma expresada en la ecuacin 7.2.
%a: coeficientes parte realimentada, de la forma expresada
%en la ecuacin 7.2.
%x: vector que representa la seal de entrada.
%ci: condiciones iniciales (y[-1],...,y[-N]).
%y: vector que representa la seal de salida. El numero de
%muestras calculadas de y ser igual a la longitud de x.
M=length(b)-1;
N=length(a)-1;
a=reshape(a,1,N+1);
b=reshape(b,1,M+1);
x=reshape(x,1,length(x));
salidaspasadas=ci;
if (length(ci)<N)
disp(Longitud de las condiciones iniciales incorrecta);
return;
end
entradaspasadas=[zeros(1,M+1)];
y=zeros(1,length(x));
if N>0
else
end
% hay realimentacion
for i=1:length(x)
entradaspasadas=[x(i) entradaspasadas(1:M)];
y(i)=(1/a(1))*(b*entradaspasadas-a(2:N+1)*salidaspasadas);
salidaspasadas=[y(i) salidaspasadas(1:N-1)];
end
% no hay realimentacion
for i=1:length(x)
entradaspasadas=[x(i) entradaspasadas(1:M)];
y(i)=(1/a(1))*(b*entradaspasadas);
end
Descripcin:
Dado que un filtro con realimentacin tiene una respuesta impulsional de longitud infinita
en general, el nmero de muestras calculadas es igual a la longitud de la entrada.
Los valores de la entrada que se utilizan para calcular la salida (x[n], , x[n M] estn
contenidos en el vector entradaspasadas. Dicho vector ha de ser actualizado en cada
instante de tiempo, incluyendo un nuevo valor y descartando el ms antiguo.
Los valores anteriores de la salida que se utilizan para calcular la salida actual (y[n1],
,y[n-N] estn contenidos en el vector salidaspasadas. Dicho vector ha de ser
actualizado en cada instante de tiempo, incluyendo un nuevo valor y descartando el ms
antiguo.
En cada instante de tiempo se calcula la salida sumando la contribucin de la parte directa
(parte izquierda en Figura 7.1) y de la parte realimentada (parte derecha en Figura 7.1).
Fijarse en la trasposicin de los vectores para realizar el producto escalar, que permite
representar en una simple instruccin el conjunto de productos y sumas.
Comprobar el correcto funcionamiento de la funcin calculando 10 muestras de la
respuesta impulsional de:
H z
1
1 0.5 z 1
(7.13)
Vamos a programar ahora una funcin que represente el mismo filtro en forma directa
II. Ahora tan slo necesitaremos almacenar un vector de N componentes para ser usado en la
siguiente iteracin, en vez de los dos vectores anteriores utilizados en la funcin anterior, que
representaban las entradas anteriores y las salidas anteriores. El cdigo de la funcin, al igual
que el de filtroFDI, se encuentra en filtroFDII.m.
La nueva funcin, que se deber completar en donde aparecen las lneas en puntos
suspensivos, es de la siguiente forma:
function [y,zf]=filtroFDII(b,a,x,zi)
% b: coeficientes parte directa, de la forma expresada en la ecuacin 7.2.
% a: coeficientes parte realimentada, de la forma expresada en la
% ecuacin 7.2.
% x: vector que representa la seal de entrada
% zi=estado inicial
% zf=estado final
% y: vector que representa la seal de salida. Se calcularn tantas
% muestras como tenga el vector de entrada x.
Todas las formas de implementacin vistas hasta ahora sirven para realizar un sistema,
con lo que la funcin de transferencia ha de ser la misma en todas. En el caso de la estructura en
cascada, H(z) ser el producto de las funciones de transferencia de las secciones de orden dos,
mientras que en el caso de la estructura en serie H(z) ser la suma.
Una ecuacin en diferencias puede representar un filtro FIR si no existe realimentacin,
con lo que la ecuacin 7.2 quedar de la forma:
M
y n bk x n k
(7.14)
k 0
La respuesta impulsional viene dada por los coeficientes bk, dado que la anterior
expresin representa la convolucin entre la entrada x[n] y bk. En el caso de que exista
realimentacin, la respuesta impulsional h[n] ha de ser calculada a partir de H(z), que se obtiene
de la forma expresada en la ecuacin 7.4.
7.6 CUESTIONARIO.
1.- Desarrollar los ejercicios del archivo Ejercicios Cap_07.pdf
2.- Desarrollar los ejercicios del Captulo 4: 1,3,4,6,8,13,19,20,24,25,27,46 del libro de A.V.
Oppenheim and R.W. Schafer. Discrete-Time Signal Processing. Prentice-Hall, 1989.
10