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
Filtros FIR 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
Método de la ventana H(w): transformada de Fourier de h(n). Si se conoce H(w) puede obtenerse h(n). (Gp:) -wc wc w (Gp:) HD(w) (Gp:) t (Gp:) 1 (Gp:) hD(n)
H(w) = 1 ; |w|< wc
Filtros ideales Pasabajas:
Pasaaltas
Pasabanda
Rechazabanda
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 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
= 0, si A= 21dB b = 0.5842(A-21)0.4+0.07886(A-21) si 21 < A< 50dB b = 0.1102(A-8.7) si 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;
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.
Página anterior | Volver al principio del trabajo | Página siguiente |