Está en la página 1de 53

UTN-FRBB Ing.

Electrnica

Procesamiento Digital de Seales


Filtros digitales no recursivos o
de respuesta finita al impulso (FIR)

Tcnicas Digitales III


Mg. Guillermo Friedrich

Filtros FIR
Bibliografa:
Antoniou A. Digital Filters. Edit. Mc. Graw Hill.

Apunte de la ctedra: Introduccin al procesamiento digital de


seales.
Disponible en la pgina web de la materia www.frbb.utn.edu.ar/electronica

14/11/07

Filtro de promedios mviles

(moving average)

14/11/07

Filtro de promedios mviles (moving average)


Es el filtro digital ms sencillo.
Es ptimo para reducir el ruido aleatorio, manteniendo los
flancos abruptos de la seal.
Es el preferido para seales codificadas en tiempo.
Pero, es el peor filtro para trabajar en frecuencia.
Puede ser implementado de manera recursiva, reduciendo
su complejidad computacional.
14/11/07

Filtro de promedios mviles (moving average)


Ecuacin:

Ejemplo para 5 muestras:

14/11/07

Filtro de promedios mviles (moving average)


Observaciones:
La ecuacin anterior usa las muestras posteriores para calcular
el promedio.
Tambin podran usarse las muestras anteriores:
M-1

y[n] = 1
x[n k]
M k=0
O promediar muestras a ambos lados en forma simtrica:
(M-1)/2
y[n] = 1
M
14/11/07

x[n + k]
k= -(M-1)/2
6

Filtro de promedios mviles (moving average)


Ejemplo:
Seal senoidal corrompida con ruido blanco y filtrada con filtro
de promedios mviles de 6 etapas.
Ruido blanco
1

0.8

0.8

0.6

0.6

0.4

0.4

0.2

0.2
Amplitud

Amplitud

Se
al deseada: senoidal
1

0
-0.2

-0.2

-0.4

-0.4

-0.6

-0.6

-0.8
-1

-0.8
0

14/11/07

5
6
Tiempo (seg)

10

-1

5
6
Tiempo (seg)

10

Filtro de promedios mviles (moving average)


Seal con ruido y seal filtrada
Se
al con ruido y se
al filtrada
1.5

Amplitud

0.5

-0.5

-1

-1.5

-2

14/11/07

5
6
Tiempo (seg)

10

Filtro de promedios mviles (moving average)


Implementacin en Matlab del ejemplo anterior:
% Ejemplo de filtro de promedios mviles
A=1;
f=1;
n=0:0.25:10;
T=0.1;
x0=A*sin(2*pi*f*n*T);
stem(n,x0)
title('Seal deseada: senoidal')
xlabel('Tiempo (seg)')
ylabel('Amplitud')
pause
close all
14/11/07

Filtro de promedios mviles (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
14/11/07

10

Filtro de promedios mviles (moving average)


% Genera seal corrompida (senoidal + ruido
blanco)
x=x0+noise;
plot(n,x)
title('Senoidal + Ruido blanco')
xlabel('Tiempo (seg)')
ylabel('Amplitud')
hold on
pause

14/11/07

11

Filtro de promedios mviles (moving average)

% Filtro de promedios mviles de 6 etapas


M=6;
B=ones(1,M)/M;
y=filter(B,1,x);
plot(n,y,'r');
title('Seal con ruido y seal filtrada')
pause
close all
14/11/07

12

Filtro de promedios mviles (moving average)


Reduccin de ruido y respuesta al escaln:
Los siguientes grficos muestran el efecto del filtro de
promedios mviles con 11 y 51 etapas sobre un pulso rectangular
corrompido por ruido blanco.

14/11/07

13

Filtro de promedios mviles (moving average)

14/11/07

14

Filtro de promedios mviles (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
14/11/07

15

Filtro de promedios mviles (moving average)


La respuesta en frecuencia es mala:
Pendiente suave en la zona de transicin.
Baja atenuacin en la banda de rechazo.

14/11/07

16

Filtro de promedios mviles (moving average)


Implementacin recursiva:
Debido a que es un FIR con todos los coeficientes del mismo
valor, se puede implementar fcilmente de manera recursiva.
Por ejemplo:

Puede reemplazarse por:

Lo que reduce enormemente la complejidad computacional.


14/11/07

17

Filtro de promedios mviles (moving average)


Mltiples pasadas (cascada):
Al conectar en cascada dos filtros de promedios mviles, la
respuesta del conjunto es:
La respuesta impulsiva es la convolucin de ambas respuestas
impulsivas.
La respuesta en frecuencia es el producto de ambas respuestas en
frecuencia.

Si se conectan mltiples filtros en cascada, la respuesta al


impulso tiende a una curva gaussiana.

14/11/07

18

Filtro de promedios mviles (moving average)

14/11/07

19

Diseo de filtros FIR de fase lineal

14/11/07

20

Filtros recursivos (IIR)


Los filtros IIR brindan:
- Elevada selectividad
- Sencillez computacional  orden reducido
Sin embargo, es muy difcil:
- que tenga alta selectividad
- y al mismo tiempo retardo de grupo constante
- Mediante aproximacin de Bessel y transformacin invariante
al impulso se pueden lograr:
- pasabajos o pasabanda recursivos
- con retardo de grupo constante
- pero baja selectividad

14/11/07

21

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.

14/11/07

22

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 ecuacin de un filtro FIR es:

Y su respuesta en frecuencia es:

14/11/07

23

Filtros no recursivos (FIR) de fase lineal


Donde:

Entonces:

14/11/07

24

Filtros no recursivos (FIR) de fase lineal

14/11/07

25

Filtros no recursivos (FIR) de fase lineal


Finalmente, la expresin anterior es equivalente a:

Una solucin a esta expresin es:

14/11/07

26

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 simtrica 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

14/11/07

27

Filtros no recursivos (FIR) de fase lineal


En algunas aplicaciones slo se requiere que sea constante el retardo
de grupo, por lo que la respuesta en fase puede ser:

Es posible entonces obtener otra clase de filtros recursivos.

14/11/07

28

FIR de fase lineal. Respuesta en frecuencia


Para el caso de respuesta impulsiva simtrica con N impar, aplicando
la condicin de que:

Se puede llegar a que la respuesta en frecuencia es:

14/11/07

29

FIR de fase lineal. Respuesta en frecuencia


Ejemplo: el siguiente grfico 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

Ganancia

0.8

0.6

0.4

0.2

14/11/07

0.05

0.1

0.15

0.2

0.25
0.3
Frecuencia

0.35

0.4

0.45

30
0.5

FIR de fase lineal. Respuesta en frecuencia


La siguiente tabla presenta la respuesta en frecuencia para distintas
condiciones de simetra y orden par o impar.

14/11/07

31

FIR de fase lineal. Diagrama de polos y ceros


Las condiciones de simetra impuestas a la respuesta impulsiva
imponen ciertas restricciones a los ceros de H(z).

14/11/07

32

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 crculo unitario ocurren de a pares complejos
conjugados, ya que:

- Los ceros reales fuera del crculo unitario ocurren de a pares


recprocos. Si zi = a es un cero de H(z), entonces a-1 tambin.
- Los ceros complejos fuera del crculo unitario ocurren de a
cuatro:
14/11/07

33

FIR de fase lineal. Diagrama de polos y ceros

14/11/07

34

Diseo de filtros FIR usando Series de Fourier


Como la respuesta en frecuencia de un filtro FIR es una funcin
peridica de con perodo s , puede ser expresada como una serie de
Fourier:

14/11/07

35

Diseo de filtros FIR usando Series de Fourier


Para obtener un filtro de orden finito se puede truncar la serie:

Llegando a la siguiente expresin:

Para hacerla causal se la multiplica por


Obteniendo:
14/11/07

36

Diseo de filtros FIR usando Series de Fourier


Ejemplo: disear un pasabajos FIR con las siguientes especificaciones

14/11/07

37

Diseo de filtros FIR usando Series de Fourier


Si consideramos los siguientes valores:

La funcin transferencia del filtro ser:

14/11/07

38

Diseo de filtros FIR usando Series de Fourier


Finalmente, la funcin transferencia es:

14/11/07

39

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 oscilacin a ambos lados de la
banda de transicin.

14/11/07

40

Funciones de ventana.
Reduccin de las oscilaciones de Gibbs.

14/11/07

41

Funciones de ventana
Se mencion que las oscilaciones de Gibbs aparecen al truncar la serie
de Fourier sobre la que se estaba basado el diseo 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 expresin es una funcin sinc:

14/11/07

42

Funciones de ventana
La funcin 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.

14/11/07

43

Funciones de ventana

14/11/07

44

Funciones de ventana
Ahora bien, si la funcin sinc truncada se multiplica por otra funcin
que tenga un decrecimiento suave, se tendrn 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:

14/11/07

45

Funciones de ventana
Efecto de aplicar
una ventana de
Hamming, tanto en
el dominio tiempo
como en el
dominio
frecuencia.

14/11/07

46

Ventanas de Hamming y Blackman. Comparacin

Blackmann:
roll-off ms suave,
20 dB ms de atenuacin en la banda de rechazo
Hamming:
14/11/07

roll-off 20% ms pronunciado,


menor atenuacin en la banda de rechazo

47

Inversin espectral.
La inversin espectral es una tcnica 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.

14/11/07

48

Inversin espectral.

14/11/07

49

Inversin espectral. Obtencin de un pasaaltos.

14/11/07

50

Inversin espectral. Obtencin de un pasaaltos.

14/11/07

51

Inversin espectral. Obtencin de un pasabanda.

14/11/07

52

Inversin
espectral.
Obtencin
de un
rechazabanda.

14/11/07

53

También podría gustarte