Академический Документы
Профессиональный Документы
Культура Документы
7.1 Resumen
Tanto la Transformada de Fourier como la Transformada Z son especialmente útiles en el análi-
sis de sistemas LIT: en ambos casos tenemos un producto en el dominio transformado. De su
estudio se desprenden numerosas propiedades de los sistemas, muy útiles en gran variedad de
aplicaciones.
papel un dibujo aproximado del módulo y de la fase de ambos filtros, basándose para ello en la
posición del cero (o del polo).
97
7.2. PRÁCTICA 7. ANÁLISIS TRANSFORMADO DE SISTEMAS LIT
Comparar las gráficas obtenidas con los dibujos realizados en la cuestión anterior.
Ahora trataremos de averiguar la posición de los ceros y de los polos a partir de la Transfor-
mada de Fourier. Para ello cargar el fichero con los espectros tf1 y tf2 de la siguiente forma:
>> plot(w,abs(tf1(1:64)));
Sabiendo que la Transformada Z del sistema tiene dos polos y dos ceros conjugados próximos
a la circunferencia unidad, determinar la fase de dichos polos y de dichos ceros observando la
magnitud de la Transformada de Fourier.
En el segundo de los sistemas, tf2, los ceros se encuentran situados sobre la circunferencia
unidad, con lo que la magnitud de la Transformada de Fourier se hará cero en una frecuencia
determinada. Sabiendo que este sistema sigue teniendo dos polos y dos ceros, y que los polos
están próximos a la circunferencia unidad, determinar la fase de dichos polos, mediante la
observación de:
>> plot(w,abs(tf2(1:64)));
Un retardo de grupo τg con un valor constante entero significa un retardo igual en todas las
frecuencias. Si ese valor constante no es entero, el retardo constante para todas las frecuencias
ya no es entero, y hay que aplicar las ideas de interpolación vistas en la práctica 6 al hablar de
retardos no enteros.
98
PRÁCTICA 7. ANÁLISIS TRANSFORMADO DE SISTEMAS LIT 7.2.
Ejercicio 46 En un sistema radar se envı́a un pulso que es reflejado por el objetivo, de tal
modo que midiendo la diferencia de tiempo entre el envı́o y la llegada podremos averiguar la
distancia a la que se encuentra el objetivo (ya que conocemos la velocidad de propagación en
el espacio). Sin embargo el pulso que se recibe vuelve con una gran cantidad de ruido, ruido
que hay que eliminar para ver con claridad el pulso y ası́ determinar su posición en el tiempo.
En este ejercicio veremos como esa operación de filtrado puede plantear problemas si el retardo
de grupo del filtro no es constante, ya que en ese caso, además de eliminar el ruido (objetivo
deseado), estaremos distorsionando el pulso (efecto no deseado).
• Primero analizaremos ambos filtros, FIR e IIR. Para ello, representar 256 puntos de la
magnitud del espectro del filtro IIR, ası́ como 256 muestras entre 0 y π de su retardo de
grupo.
%filtro IIR
>> [H_iir,w]=freqz(b,a,256);
>> plot(w,abs(H_iir))
99
7.2. PRÁCTICA 7. ANÁLISIS TRANSFORMADO DE SISTEMAS LIT
>> [g_iir,w]=grpdelay(b,a,256);
>> plot(w,g_iir)
%filtro FIR
>> [H_fir,w]=freqz(h,1,256);
>> plot(w,abs(H_fir))
>> [g_fir,w]=grpdelay(h,1,256);
>> plot(w,g_fir)
• Filtremos la señal pulse con ambos filtros (función filter()), denominando las salidas
pulsefir y pulseiir respectivamente. Superponer las tres señales, observando la distorsión
en el caso IIR. Notar también el retardo que existe en el caso FIR entre pulse y pulsefir:
relacionarlo con el retardo de grupo calculado anteriormente.
• Representar 256 muestras de la magnitud del espectro de pnd 1 entre 0 y π, notando que
el espectro del pulso se concentra en las bajas frecuencias, mientras que el espectro del
ruido está situado en frecuencias más altas.
• Eliminar el ruido que llega junto con el pulso reflejado en pnd 1, teniendo en cuenta que
se encuentra en una banda de frecuencias diferente a la del pulso. Filtrar la señal pnd 1
con el filtro FIR en un caso y con el filtro IIR en el otro, llamando a las señales pnd 1fir
y pnd 1iir respectivamente.
>> pnd_1iir=filter(b,a,pnd_1);
>> pnd_1fir=filter(h,1,pnd_1);
>> plot(pulse)
>> hold
>> plot(pnd_1iir)
>> plot(pnd_1fir)
>> hold off
Se pretende que el resultado en ambos casos sea el pulso recibido más un cierto retardo
debido al retardo de grupo. Tratar de estimar en ambos casos cuál es el retardo entre el
pulso transmitido y el pulso recibido, y decir en cuál de los dos no es posible.
En un sistema real, una vez estimado el tiempo que ha tardado en regresar el pulso se podrá co-
nocer la distancia a la que se encuentra el objetivo. Para ello habrı́a que traducir las muestras
a segundos y considerar la velocidad de propagación de la onda electromagnética en el espacio.
Un filtro con fase cero sólo se puede dar si la respuesta impulsional es simétrica en el tiempo
con respecto al origen, es decir, es par. Recordar de las propiedades de la Transformada de
100
PRÁCTICA 7. ANÁLISIS TRANSFORMADO DE SISTEMAS LIT 7.2.
Fourier que una señal real y par tenı́a una transformada real y par. Estrictamente hablando
habrı́a que decir que la fase no serı́a cero, sino 0 o π, según el valor real sea positivo o negativo.
Pero siempre que hablemos de fase cero estaremos hablando de valores reales, ya sean positivos
o negativos. Si el filtro es causal no puede ser simétrico con respecto al origen, con lo que no
puede tener fase cero. Sin embargo, si se mantiene la simetrı́a con respecto a un punto la fase
será lineal (pensar en el desplazamiento de una secuencia simétrica con respecto al origen hasta
un punto n0 ).
Con filtros causales esa simetrı́a con respecto a un punto sólo se puede dar en filtros FIR; no
es posible obtener un filtro IIR causal simétrico con respecto a un punto. Además, la fase de
los filtros IIR suele ser bastante no lineal 1 . Sin embargo los filtros IIR son muy deseables en
numerosos casos, ya que con ellos es más factible obtener unas determinadas especificaciones
en la magnitud de la Transformada de Fourier para un orden determinado.
Por todo ello trataremos en el siguiente ejercicio de cancelar los efectos de la fase en un
filtrado IIR.
101
7.2. PRÁCTICA 7. ANÁLISIS TRANSFORMADO DE SISTEMAS LIT
Ahora pasar esa señal a través de un filtro con función de transferencia H 2 (z) = H(z)H(z),
utilizando para ello el comando filter() sin condiciones iniciales, y denominar la salida yc.
Superponer en la misma gráfica x e yc.
Vamos ahora a realizar el filtrado con un filtro con la misma respuesta en magnitud que
H 2 (z) pero fase cero, es decir, con respuesta impulsional h[n] ∗ h[−n]. Utilizaremos para ello
la función filtfilt() de la forma:
Comenzaremos diciendo que todos aquellos sistemas H(z) tales que el producto H(z)H ∗ (1/z ∗ )
coincide tienen la misma magnitud en su Transformada de Fourier, o lo que es lo mismo,
|H(ejω )|2 es igual en todos ellos. Eso equivale a decir que en un polo o un cero en c tiene los
mismos efectos sobre la magnitud de la Transformada de Fourier que un polo o un cero en 1/c∗
respectivamente. Sin embargo los efectos sobre la fase son diferentes, y de ahı́ que podamos
encontrar varios sistemas racionales con la misma magnitud en su Transformada de Fourier
102
PRÁCTICA 7. ANÁLISIS TRANSFORMADO DE SISTEMAS LIT 7.2.
Del mismo modo que dos polos o dos ceros en c y 1/c∗ producen el mismo efecto en la
magnitud de la respuesta en frecuencia, un cero en c y un polo en 1/c∗ ( o viceversa) causan
el efecto contrario en el módulo de la Transformada de Fourier, con lo que dicho módulo es
constante para todos las frecuencias considerando exclusivamente el efecto de esas dos raı́ces.
Ası́ se crean los sistemas pasa-todo, sistemas racionales con una magnitud de su respuesta
en frecuencia constante y que tienen la forma
k=M
Y z −1 − d∗k
Hap (z) =
k=1
1 − dk z −1
z −1 −d∗
en donde el factor de orden uno 1−dk z−1
k
tiene como amplitud de la Transformada de Fourier un
valor constante e igual a 1. Si escribimos ese término de la forma usual tendremos
1 − (1/d∗k )z −1
(−d∗k )
1 − dk z −1
en donde la constante (−d∗k ) es necesaria para que la magnitud sea uno. Si el sistema es estable
y causal los polos pk estarán situados en el interior del cı́rculo unidad, con lo que los ceros
estarán en las posiciones recı́procas conjugadas (1/p∗k ), fuera del cı́rculo unidad.
• Es real y estable
• Dos de sus polos se encuentran en 0.9ejπ/4 y 0.8.
• Dos de sus ceros se encuentran en 1.5ejπ/2 y 1.25.
Encontrar los polos y los ceros que faltan para completar la función de transferencia de un
sistema pasa-todo que tenga el mı́nimo orden posible. Tener en cuenta que es real, y la relación
que debe existir entre los polos y los ceros.
Para comprobar los cálculos vamos a visualizar la respuesta en frecuencia del H(z) encon-
trado. Para ello realizar los siguientes pasos:
• Utilizando poly() encontrar el vector real b que contiene los coeficientes del numerador
de H(z) (Nota: Tened cuidado con la precisión numérica en la especificación de las raı́ces
del polinomio).
103
7.2. PRÁCTICA 7. ANÁLISIS TRANSFORMADO DE SISTEMAS LIT
• Repetir la operación anterior con el vector a que contiene los coeficientes del denominador.
• Calcular 128 muestras del retardo de grupo del filtro con grpdelay() entre 0 y π.
1−bz −1
Cuestión 26 Considerar un filtro pasa-todo de la forma Hap (z) = 1−az −1 , con a y b núme-
ros reales. Determinar la relación existente entra a y b. Calcular asimismo el rango de valores
posibles de a y de b, sabiendo que el sistema es estable y causal.
Cuestión 27 Sea un sistema racional H(z) con dos polos reales y dos ceros complejos con-
jugados. Razonar el número de sistemas reales diferentes de orden dos que tienen la misma
magnitud en su espectro que H(z).
De todos aquellos sistemas racionales del mismo orden con igual magnitud en su Transforma-
da de Fourier, podemos hablar de dos en particular: sistemas de fase mı́nima y sistemas
de fase máxima.
Las propiedades que caracterizan un sistema de fase mı́nima son las siguientes:
• Es estable y causal, con un sistema inverso estable y causal. Equivalentemente, todos sus
polos y ceros se encuentran en el interior del cı́rculo unidad.
• Ofrece el mı́nimo retardo de grupo de todos los sistemas racionales con la misma magnitud
de su Transformada de Fourier.
104
PRÁCTICA 7. ANÁLISIS TRANSFORMADO DE SISTEMAS LIT 7.2.
• La energı́a en el tiempo está más concentrada hacia la izquierda que en cualquier otro
sistema con la misma magnitud en el espectro.
Un sistema de fase máxima tendrá propiedades contrarias a las anteriores, es decir, máximo
retardo de grupo, energı́a más concentrada hacia la derecha, y causal y estable con un inverso
que si es estable no es causal (ceros fuera de la circunferencia unidad).
Calcular sus raı́ces utilizando el comando roots(). Vamos a construir un sistema de fase
mı́nima hminp y un sistema de fase máxima hmaxp a partir de h, modificando la posición de
sus ceros de tal modo que la respuesta en frecuencia conserve la magnitud.
Hallar hminp, conservando los ceros de h que se encuentran en el interior del cı́rculo unidad
y reflejando los que están fuera. Repetir el proceso inverso para hmaxp, es decir, conservando
los que están fuera y reflejando hacia fuera los que están dentro. Utilizar en ambos casos el
comando poly() para construir los polinomios.
Para que la magnitud de la Transformada de Fourier coincida, efectuar las siguientes opera-
ciones:
>> hminp=sum(h)*hminp/sum(hminp);
>> hmaxp=sum(h)*hmaxp/sum(hmaxp);
>> plot(2*pi*(0:127)/128,abs(fft(hminp,128)./fft(h,128)));
>> plot(2*pi*(0:127)/128,abs(fft(hmaxp,128)./fft(h,128)));
Representaremos ahora las fases y los retardos de grupo, notando las diferencias entre unos
sistemas y otros:
105
7.2. PRÁCTICA 7. ANÁLISIS TRANSFORMADO DE SISTEMAS LIT
Se puede apreciar como la fase del sistema de fase mı́nima es la menos negativa de todas,
mientras que la fase del sistema de fase máxima es la más negativa, con lo que ese sistema es
el que introduce más retardo, como se va a constatar a continuación a través de la observación
del retardo de grupo:
Sea x=rand(1,100). Filtrar x con cada uno de los tres filtros de ejercicio anterior, h, hminp,
hmaxp, para obtener las salidas y, yminp, ymaxp. Representar sobre la misma gráfica la se-
cuencia de energı́as de cada una de las señales, es decir:
m
X
energiay(m) = y 2 [n]
n=0
Nota: Para generar las señales de energı́a se puede utilizar la función cumsum().
106
PRÁCTICA 7. ANÁLISIS TRANSFORMADO DE SISTEMAS LIT 7.2.
en donde A(ejω ) es real (no tiene por qué ser positivo). El retardo de grupo, si no conside-
ramos las posibles discontinuidades de fase en aquellos frecuencias para las que A(ejω ) = 0, es
constante e igual a α.
Los filtros de fase lineal generalizada pueden ser FIR o IIR. Si exigimos que el filtro sea
causal y realizable sólo podremos disponer de filtros FIR, ya que los filtros IIR causales de
fase lineal no tienen funciones de transferencia racionales, con lo que los sistemas no se pueden
implementar mediante ecuaciones en diferencias.
Existen cuatro tipos diferentes de filtros FIR de fase lineal generalizada, atendiendo al tipo
de simetrı́a (par o impar) y al eje de simetrı́a (valor entero o valor situado en el punto medio
entre dos enteros). En todos ellos se verifica que si z0 es un cero de la función de transferencia,
también lo será 1/z0 . La longitud de los filtros es M + 1:
• Tipo I: Simetrı́a par con respecto a un valor entero M/2 (M par), que representa el retardo.
• Tipo II: Simetrı́a par con respecto a un valor no entero M/2 (M impar), que representa
el retardo.
Estos filtros son de uso muy extendido, y multitud de técnicas de diseño de filtros FIR buscan
un resultado que cumpliendo los requisitos deseados sea además de fase lineal generalizada.
107
7.3. PRÁCTICA 7. ANÁLISIS TRANSFORMADO DE SISTEMAS LIT
z1 = 0.9ejπ5/6 z2 = 0.8ejπ5/4
Encontrar los 6 ceros que faltan para tener un filtro FIR real de longitud 9 y fase lineal.
Obtener el filtro a partir de sus ceros. Razonar cuál es su retardo de grupo sin calcularlo
explı́citamente con Matlab, notando la simetrı́a del filtro en el tiempo.
108
PRÁCTICA 7. ANÁLISIS TRANSFORMADO DE SISTEMAS LIT 7.4.
function y = filtfilt(b,a,x)
%FILTFILT Zero-phase forward and reverse digital filtering.
% Y = FILTFILT(B, A, X) filters the data in vector X with the
% filter described by vectors A and B to create the filtered
% data Y. The filter is described by the difference equation:
%
% y(n) = b(1)*x(n) + b(2)*x(n-1) + ... + b(nb+1)*x(n-nb)
% - a(2)*y(n-1) - ... - a(na+1)*y(n-na)
%
% After filtering in the forward direction, the filtered
% sequence is then reversed and run back through the filter.
% The resulting sequence has precisely zero-phase distortion
% and double the filter order. Care is taken to minimize
% startup and ending transients by matching initial conditions.
% See also FILTER.
109
7.5. PRÁCTICA 7. ANÁLISIS TRANSFORMADO DE SISTEMAS LIT
%
% UNWRAP(P,TOL) uses a jump tolerance of TOL rather
% than the default TOL = pi.
function freqz
Capı́tulo 5: 1,4,5,6,8,11,14,15,16,17,22,23,24,26,29,38,40,42,48.
110
Bibliografı́a
[3] A.V. Oppenheim and R.W. Schafer. Discrete-Time Signal Processing. Prentice-Hall, 1989.
[4] A.V. Oppenheim, A.S. Willsky, and I.T. Young. Signals and Systems. Prentice-Hall, 1983.
111