UTN-FRBB – Ing.
Electrónica
Procesamiento Digital de Señales
Filtros digitales no recursivos o
de respuesta finita al impulso (FIR)
Técnicas Digitales III
Mg. Guillermo Friedrich
Filtros FIR
• Bibliografía:
– Antoniou A. Digital Filters. Edit. Mc. Graw Hill.
– Apunte de la cátedra: Introducción al procesamiento digital de
señales.
• Disponible en la página web de la materia
www.frbb.utn.edu.ar/electronica
Filtro de promedios móviles
(moving average)
Filtro de promedios móviles (moving average)
• Es el filtro digital más sencillo.
• Es óptimo para reducir el ruido aleatorio, manteniendo los
flancos abruptos de la señal.
• Es el preferido para señales codificadas en tiempo.
• Pero, es el peor filtro para trabajar en frecuencia.
• Puede ser implementado de manera recursiva, reduciendo
su complejidad computacional.
Filtro de promedios móviles (moving average)
• Ecuación:
N −1
1
y [n ]= ∑ x [n−i]
N i=0
• Ejemplo para 5 muestras:
x [80 ]+ x [79]+ x [78 ]+ x [77]+ x [76]
y [80 ]=
5
Filtro de promedios móviles (moving average)
• Ejemplo:
– Señal senoidal corrompida con ruido blanco y filtrada con filtro
de promedios móviles de 6 etapas.
Señ
al deseada: senoidal Ruido blanco
1 1
0.8 0.8
0.6 0.6
0.4 0.4
0.2 0.2
Amplitud
Amplitud
0 0
-0.2
-0.2
-0.4
-0.4
-0.6
-0.6
-0.8
-0.8
-1
0 1 2 3 4 5 6 7 8 9 10 -1
Tiempo (seg) 0 1 2 3 4 5 6 7 8 9 10
Tiempo (seg)
Filtro de promedios móviles (moving average)
• Señal con ruido y señal filtrada
Señ
al con ruido y señ
al filtrada
1.5
0.5
0
Amplitud
-0.5
-1
-1.5
-2
0 1 2 3 4 5 6 7 8 9 10
Tiempo (seg)
Filtro de promedios móviles (moving average)
• Implementación en Matlab del ejemplo anterior:
% Ejemplo de filtro de promedios móviles
A=1;
f=1;
n=0:0.25:10;
T=0.1;
x0=A*sin(2*pi*f*n*T);
stem(n,x0)
title('Señal deseada: senoidal')
xlabel('Tiempo (seg)')
ylabel('Amplitud')
pause
close all
Filtro de promedios móviles (moving average)
% Genera ruido gaussiano
L=length(n);
var=0.2;
k=randn(1,L);
mean1=0.2;
noise=mean1 + sqrt(var)*k;
stem(n,noise)
title('Ruido blanco')
xlabel('Tiempo (seg)')
ylabel('Amplitud')
pause
close all
Filtro de promedios móviles (moving average)
% Genera señal corrompida (senoidal + ruido
blanco)
x=x0+noise;
plot(n,x)
title('Senoidal + Ruido blanco')
xlabel('Tiempo (seg)')
ylabel('Amplitud')
hold on
pause
Filtro de promedios móviles (moving average)
% Filtro de promedios móviles de 6 etapas
M=6;
B=ones(1,M)/M;
y=filter(B,1,x);
plot(n,y,'r');
title('Señal con ruido y señal filtrada')
pause
close all
Filtro de promedios móviles (moving average)
• Reducción de ruido y respuesta al escalón:
– Los siguientes gráficos muestran el efecto del filtro de
promedios móviles con 11 y 51 etapas sobre un pulso rectangular
corrompido por ruido blanco.
Filtro de promedios móviles (moving average)
Filtro de promedios móviles (moving average)
• La respuesta temporal es un pulso rectangular.
• Aplicando la transformada de Fourier se obtiene la
respuesta en frecuencia:
Donde:
M: cantidad de etapas del filtro
0 f 0.5
Filtro de promedios móviles (moving average)
• La respuesta en frecuencia es mala:
– Pendiente suave en la zona de transición.
– Baja atenuación en la banda de rechazo.
Filtro de promedios móviles (moving average)
• Implementación recursiva:
– Debido a que es un FIR con todos los coeficientes del mismo
valor, se puede implementar fácilmente de manera recursiva.
Por ejemplo (dejando afuera la división por N):
y [80 ]= x [80]+ x [79]+ x [78]+ x [77 ]+ x [76 ]
y [81]=x [81]+ x [80 ]+ x [79]+ x [78 ]+ x [77]
– Puede reemplazarse por: y [81]= y [80]+ x [81]−x [76 ]
Cuya expresión general es: y [n ]= y [n−1]+ x [n]−x [n−N ]
Lo que reduce la complejidad computacional.
Diseño de filtros FIR de fase lineal
Filtros recursivos (IIR)
Los filtros IIR brindan:
- Elevada selectividad
- Sencillez computacional orden reducido
Sin embargo, es muy difícil:
- que tengan alta selectividad
- y al mismo tiempo retardo de grupo constante
- Mediante aproximación de Bessel y transformación invariante
al impulso se pueden lograr:
- pasabajos o pasabanda recursivos
- con retardo de grupo constante
- pero baja selectividad
Retardo de fase y retardo de grupo
Dada una portadora modulada:
• El retardo de fase es el retardo de
la portadora.
• El retardo de grupo es el retardo
de la envolvente.
Filtros no recursivos (FIR) de fase lineal
Si se requiere que tanto el retardo de fase como el retardo de grupo
sean constantes, la respuesta en fase debe ser lineal.
La ecuación de un filtro FIR es:
Y su respuesta en frecuencia es:
Filtros no recursivos (FIR) de fase lineal
Donde:
Entonces:
Filtros no recursivos (FIR) de fase lineal
Filtros no recursivos (FIR) de fase lineal
Finalmente, la expresión anterior es equivalente a:
Una solución a esta expresión es:
Filtros no recursivos (FIR) de fase lineal
Un filtro FIR tendrá retardos de fase y de grupo constantes a lo largo
de toda la banda base si su respuesta impulsiva es simétrica con
respecto:
al punto medio entre las muestras N-2 y N , para N par
2 2
o bien, con respecto a la muestra N-1 para N impar
2
FIR de fase lineal. Respuesta en frecuencia
Para el caso de respuesta impulsiva simétrica con N impar, aplicando
la condición de que:
h [n ]=h[ N −1−n] para 0≤n≤ N−1
Se puede llegar a que la respuesta en frecuencia es:
N−1
donde : a0 =h[ ]
2
N −1
a k =2 h[ −k ]
2
FIR de fase lineal. Respuesta en frecuencia
Ejemplo: el siguiente gráfico muestra la respuesta en frecuencia de un
filtro FIR de orden 7 con los siguientes coeficientes:
-0.0624 0.0935 0.3027 0.4 0.3027 0.0935 -0.0624
Respuesta en frecuencia. Pasabajos FIR de orden 7
1.4
1.2
0.8
Ganancia
0.6
0.4
0.2
0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
Frecuencia
FIR de fase lineal. Respuesta en frecuencia
La siguiente tabla presenta la respuesta en frecuencia para distintas
condiciones de simetría y orden par o impar.
FIR de fase lineal. Diagrama de polos y ceros
Las condiciones de simetría impuestas a la respuesta impulsiva
imponen ciertas restricciones a los ceros de H(z).
FIR de fase lineal. Diagrama de polos y ceros
Esto implica que:
- Puede haber una arbitraria cantidad de ceros en zi = ± 1
ya que zi-1 = ± 1
- Los ceros en el círculo unitario ocurren de a pares complejos
conjugados, ya que:
- Los ceros reales fuera del círculo unitario ocurren de a pares
recíprocos. Si zi = a es un cero de H(z), entonces a-1 también.
- Los ceros complejos fuera del círculo unitario ocurren de a
cuatro:
FIR de fase lineal. Diagrama de polos y ceros
Diseño de filtros FIR usando Series de Fourier
Como la respuesta en frecuencia de un filtro FIR es una función
periódica de ω con período ωs , puede ser expresada como una serie de
Fourier:
Diseño de filtros FIR usando Series de Fourier
Para obtener un filtro de orden finito se puede truncar la serie:
Llegando a la siguiente expresión:
Para hacerla causal se la multiplica por
Obteniendo:
Diseño de filtros FIR usando Series de Fourier
Ejemplo: diseñar un pasabajos FIR con las siguientes especificaciones
Diseño de filtros FIR usando Series de Fourier
Si consideramos los siguientes valores:
La función transferencia del filtro será:
Diseño de filtros FIR usando Series de Fourier
Finalmente, la función transferencia es:
Oscilaciones de Gibbs
Debido al truncamiento de la serie de Fourier aparecen oscilaciones
tanto en la banda de paso como en la de rechazo.
A medida que aumenta el orden del filtro aumenta la frecuencia de las
oscilaciones.
Tiende a mantenerse la amplitud de la oscilación a ambos lados de la
banda de transición.
Funciones de ventana.
Reducción de las oscilaciones de Gibbs.
Funciones de ventana
Se mencionó que las oscilaciones de Gibbs aparecen al truncar la serie
de Fourier sobre la que se estaba basado el diseño del filtro FIR.
Otra forma de ver el problema consiste en calcular la TDF inversa de la
respuesta en frecuencia ideal, con lo que se obtiene la respuesta al
impulso, cuya expresión es una función sinc:
Funciones de ventana
La función sinc se extiende desde -∞ hasta +∞
Si esta respuesta impulsiva o “kernel” del filtro FIR se debe
implementar en un sistema real, se la debe truncar a una cantidad finita
de etapas.
Funciones de ventana
Funciones de ventana
Ahora bien, si la función sinc truncada se multiplica por otra función
que tenga un decrecimiento “suave”, se tendrán los siguientes
resultados:
- se reduce el corte abrupto en ambos extremos en los que se
produjo el truncamiento.
- se suaviza la curva de respuesta en frecuencia.
Una ventana muy conocida es la de Hamming, que está dada por:
Funciones de ventana
Efecto de aplicar
una ventana de
Hamming, tanto en
el dominio tiempo
como en el
dominio
frecuencia.
Ventanas de Hamming y Blackman. Comparación
Blackmann:
“roll-off” más suave,
20 dB más de atenuación en la banda de rechazo
Hamming:
“roll-off” 20% más pronunciado,
menor atenuación en la banda de rechazo
Inversión espectral.
La inversión espectral es una técnica que permite obtener otro tipo de
filtro FIR a partir de un pasabajos FIR.
Para obtener un pasaaltos con frecuencia de corte fc se obtiene h[n]
para un pasabajos con la misma fc y luego:
hpa[n] = [n] – h[n]
Pasabanda o rechazabanda se obtienen combinando pasaaltos y
pasabajos.
Inversión espectral.
Inversión espectral. Obtención de un pasaaltos.
Inversión espectral. Obtención de un pasaaltos.
Inversión espectral. Obtención de un pasabanda.
Inversión
espectral.
Obtención
de un
rechazabanda.