Transcript Filtros FIR

PROCESAMIENTO
DE SEÑALES
Universidad Técnica
Particular de Loja
Escuela de Electrónica
y Telecomunicaciones
Carlos Carrión Betancourth
EQBYTE.INC
[email protected]
Contenido de la presentación
• Característica Básicas
• Diseño a partir de polos y ceros
• Filtros FIR
– Método de las ventanas
– Método Optimo
Ventajas Filtros Digitales
• Pueden tener características no posibles en los filtros
análogos, por ejemplo la respuesta en fase lineal.
• Su desempeño no depende de las condiciones
ambientales.
• La respuesta en frecuencia puede ser ajustada por
software. Filtros adaptativos.
• Varios canales de entrada pueden ser aplicados al mismo
filtro. Multiplexación.
• Los datos filtrados y no filtrados pueden ser almacenados
para su uso futuro.
• Pueden diseñarse para muy bajas frecuencias.
• Pueden trabajar en un amplio rango de frecuencias solo
cambiando la frecuencia de muestreo.
Filtros Ideales
Pasabajas
-p
p
Pasaaltas
-p
Pasabanda
p
-p
p
La ganancia es 1 y la respuesta en fase es
lineal:
q(w) = -wno
Filtros FIR - IIR
• Los filtros FIR tienen respuesta en fase lineal. Importante
en transmisión de datos, biomedicina, audio, imágenes.
Los IIR tienen respuesta en fase no lineal especialmente
cerca de los bordes.
• Al ser los FIR implementados por ecuaciones no
recursivas siempre son estables. La estabilidad de los IIR
no está garantizada.
• FIR requiere mas coeficientes, entonces mayor memoria,
tiempo de procesamiento.
• Filtros análogos pueden transformarse a IIR logrando
especificaciones similares. Esto no es posible con FIR.
• En general FIR es mas difícil de sintetizar
algebraicamente.
Filtros FIR – IIR – Ecuación en Diferencias
N 1
Filtros FIR: y(n)   h(k ) x(n  k )
h(k) = bk
k 0
N 1
H ( z )   h( k ) z  k
k 0
Filtros IIR:

y (n)   hk x(n  k )
k 0
N
M
k 1
k 0
y (n)   ak y (n  k )   bk x(n  k )
b0  b1 z 1  ...  bM z  M
H ( z) 
1  a1 z 1  ...  a N z  N
Pasos de diseño
•
•
•
•
Especificación de requerimientos.
Cálculo de coeficientes.
Realización.
Análisis de los efectos de palabra finita y
análisis de desempeño.
Pasos – Especificación de Requerimientos
dp: desviación banda de paso
ds: desviación banda de rechazo
fp: frecuencia en el borde de banda pasante
fs: frecuencia en el borde de banda rechazo
Pasos – Cálculo de coeficientes
• Se calculan h(k), k=0,1…N-1 coeficientes. N es la longitud del filtro.
• Se calculan ak, bk para los filtros IIR.
Filtros FIR
• Método de ventanas: simple, pero sin control sobre los parámetros.
• Frecuencia de muestreo: permite implementar FIR recursivos,
computacionalmente mas eficientes.
• El método óptimo es actualmente muy empleado.
Filtros IIR
Tradicionalmente consiste en la transformación de un filtro análogo.
• Invariante al impulso: la respuesta al impulso del filtro análogo es
preservada pero no su respuesta en frecuencia en amplitud. No
apropiado para pasa altas y rechaza banda.
• Bilineal: filtros eficientes preservando la respuesta en frecuencia y en
amplitud del filtro análogo pero no sus propiedades en el tiempo. Muy
bueno para filtros selectivos.
Pasos – Análisis número de bits
Fuentes de degradación en los cálculos:
pueden causar inestabilidad de IIR.
• Cuantización de la señal I/O.
• Cuantización de los coeficientes
• Errores de redondeo en los cálculos.
• Overflow
Contenido de la presentación
• Característica Básicas
• Diseño a partir de polos y ceros
• Filtros FIR
– Método de las ventanas
– Método Optimo
• Filtros IIR
– Transformación bilineal
– Método invariante al impulso
Pasa Bajas
Tienen los polos cerca de la circunferencia
unidad correspondiente a las bajas
frecuencias (cerca de w=0). Los ceros están
cerca de la circunferencia unidad cerca de
las altas frecuencias (w=p)
o
x
o
x
x
o
x
o x
x
H(z)=1/(1-0.9z-1) y
H(z)=1/(1-(0.85+j*0.3)z-1) (1-(0.85-j*0.3)z-1)
Pasa Altas
Características contrarias de los
pasabajas. Se obtienen reflejando los
polos y ceros en el eje imaginario.
x
x
x
o
o
x
o
x
x
o
Resonadores digitales
Son filtros pasa banda formados por 2 polos
complejos conjugados en
p1,2 = re+-jwo , 0<r<1
Esto produce un pico cerca de w0
Filtros ranura
Filtros con uno o mas cortes profundos
idealmente nulos perfectos. Empleados
para eliminar frecuencias. Se introducen un
par de ceros complejos conjugados en la
circunferencia unidad con ángulo wo, tal
que:
z1,2 = e+-jwo
H(z)=bo(1- ejwoz-1)(1- e-jwoz-1)
H(z)=bo(1-2z-1coswo+z-2)
Filtro ranura
Para reducir el ancho de banda de la banda
rechazada se insertan polos en la vecindad
del nulo: p1,2 = e+-jwo
Entonces:
H(z)=bo(1- 2z-1coswo+z-2)(1- 2rz-1coswo+r2z-2)
Filtro Ranura
Ceros en w=p/4, w=p/2
Contenido de la presentación
• Característica Básicas
• Diseño a partir de polos y ceros
• Filtros FIR
– Método de las ventanas
– Método Optimo
• Filtros IIR
– Transformación bilineal
– Método invariante al impulso
Filtros FIR
y ( n) 
N 1
 h( k ) x ( n  k )
k 0
H ( z) 
N 1
k
h
(
k
)
z

k 0
• Respuesta en fase lineal
• Fáciles de implementar
• El diseño de filtros FIR consiste en obtener los valores
de h(n) que cumplan los requerimientos del filtro:
– Ventana
– Óptimo
– Frecuencia de Muestreo
Contenido de la presentación
• Característica Básicas
• Diseño a partir de polos y ceros
• Filtros FIR
– Método de las ventanas
– Método Optimo
• Filtros IIR
– Transformación bilineal
– Método invariante al impulso
Método de la ventana
H(w): transformada de Fourier de h(n).
Si se conoce H(w) puede obtenerse h(n).
hD(n)
HD(w)
1
t
w
-wc
wc
H(w) = 1
1
h ( n) 
2p
wc
e
 wc
;
jwn
|w|<wc
2 f c sin(nwc )
dw 
nwc
Filtros ideales
Pasabajas:
2 f c sin(nwc )
hD (n) 
nwc
Pasaaltas
hD (n)  hlpf (n) /(1)
Pasabanda
2 f 2 sin(nw2 ) 2 f1 sin(nw1 )
hD (n) 

nw2
nw1
n
2 f1 sin(nw1 ) 2 f 2 sin(nw2 )
hD (n) 

Rechazabanda
nw1
nw2
Filtros ideales
De la respuesta al impulso puede observarse
que los filtros no son realizables al no ser
causales.
Además los filtros no son FIR por tener una
respuesta infinita al impulso.
h(n) debe truncarse en un valor M. Pero
aparece el fenómeno de Gibbs.
Filtros ideales
• Fenómeno de Gibb: Al disminuir el número
de armónicos para describir una señal
cuadrada => aparecen oscilaciones
alrededor de la frecuencia de corte.
• Para no truncar abruptamente, primero se
multiplica la respuesta ideal al impulso h(n)
por una función ventana w(n) de duración
finita.
Tabla comparativa ventanas
Ventana
Df
Rectangular 0.9/N
Riple
Máx.
pasante
atenua.
dB
rechazo dB
w(n)
0.7416
21
1
Hamming
3.1/N
0.0546
44
0.5+0.5cos(2pn/N)
Hanning
3.3/N
0.0194
53
0.54+0.46cos(2pn/N)
Blackman
5.5/N
0.0017
74
0.42+0.5cos[2pn/(N-1)]+
0.08cos[4pn/(N-1)]
Digital Signal Processing, A practica Approach. IFEACHOR, Emmanuel y JERVIS, Barrie.
Addison-Wesley.1993.
Ejemplo 1
Diseñar un filtro pasabajas:
- borde frecuencia de paso 1.5k
- Ancho transición 0.5k
- Atenuación banda de rechazo > 50dB
- Frecuencia de muestreo 8k
Ejemplo 1
hD(n) = 2fcsinc(2nfc)
La atenuación se consigue con Hamming o
Blackman. Por simplicidad Hamming.
Df = 0.5k/8k = 0.0625
Df = 3.3/N
N = 3.3/Df
N = 3.3/0.0625
N = 52.8
N = 53, número de coeficientes
Ejemplo 1
w(n) = 0.54+0.46cos(2pn/53), -26<n<26
Se selecciona fc en la mitad de la banda de
transición:
fc’ = fc + Df
fc’ = (1.5k + 0.25k)/8k = 1.75k/8k = 0.21875
Ejemplo 1
Como h(n) es simétrico se calculan solo h(0)…h(26)
Para n=0
hD(0) = 2fcsinc(2nfc) = 0.4375
w(0) = 0.54+0.46cos(2pn/53) = 1
h(0) = hD(0)w(0) = 0.4375
h(1) = hD(1)w(1) = 0.31119
h(2) = hD(2)w(2) = 0.06012
h(26) = hD(26)w(26) = 0.000913
Ejemplo 1
Cálculo de los coeficientes en Matlab:
n=-26:26;
fc= 0.2187;
hd = 2*fc*sinc(2*n*fc);
w = 0.54+0.46*cos(2*pi*n/53);
h=hd.*w;
[Hf,w]=freqz(h,1,128);
Ejemplo1
fvtool(h,1); % Filter visualization tool
Ejemplo 1
n=-26:26;
fc= 0.2187;
hd = 2*fc*sinc(2*n*fc);
h = hd.*window(@hann,53);
fvtool(h,1)
Ventana de Kaiser
Las ventanas anteriores tienen características fijas. La
ventana de Kaiser tiene un parámetro para el control del
riple b. Pueden alcanzarse atenuaciones muy altas.
b = 0: ventana rectángular
b = 5.44: similar a Hamming
b = 0, si A≤ 21dB
b = 0.5842(A-21)0.4+0.07886(A-21)
b = 0.1102(A-8.7) si A ≥ 50dB
si 21 < A< 50dB
N ≥ (A - 7.95)/(14.36Df)
Ejemplo 2
Banda pasante: 150-250Hz
Ancho de transición: 50Hz
Atenuación banda rechazo: 60dB
Frecuencia de muestreo: 1k
Ejemplo 2
Kaiser:
N≥(A-7.95)/(14.36Df)
=(60-7.95)/(14.36*50/1000)=72.49
N=73.
b=0.1102(A-8.7)=0.1102(60-8.7)=5.65
fc1= (150-25)/1000 = 0.125
fc2= (150+25)/1000 = 0.175
Ejemplo 2
Cálculo en Matlab:
n=-36:36;
f1=0.275;
f2=0.125;
B=5.65;
hd = 2*f1*sinc(2*n*f1) - 2*f2*sinc(2*n*f2);
w’ = window(@kaiser,73,5.65);
h=hd.*w;
[Hf,w]=freqz(h,1,128);
subplot(2,1,1);
plot(w/(2*pi),20*log10(abs(Hf)));grid on;
subplot(2,1,2);
plot(w/(2*pi),unwrap(angle(Hf)));grid on;
Contenido de la presentación
• Característica Básicas
• Diseño a partir de polos y ceros
• Filtros FIR
– Método de las ventanas
– Método Optimo
• Filtros IIR
– Transformación bilineal
– Método invariante al impulso
Método óptimo
Flexible, poderoso, requiere programa de diseño.
Diseño:
D(w): filtro ideal
H(w): filtro seleccionado
Se define el error:
E(w) = W(w)[H(w) – D(w)]
Donde W(w) es un factor de peso. El problema consiste en
determinar H(w) dadas E(w) y W(w) para satisfacer D(w).
W(w) permite determinar cual porción del filtrto actual es
mas importante para el desempeño del filtro entre la
banda pasante o la banda de rechazo.
Método óptimo
Para diseñar filtrtos óptimos en Matlab:
b = gremez(n,f,a,w)
La función permite diseñar los siguientes tipos
de filtros
b = gremez(n,f,a,w) retorna n+1 coeficientes
de fase lineal con la respuesta deseada
descritas en f y a. w es un vector de pesos,
uno por banda, cuando se omite, todas las
bandas tienen igual peso.