Descargar

Procesamiento de señales y diseño de filtros digitales (página 2)

Enviado por Pablo Turmero


Partes: 1, 2
edu.red

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)

edu.red

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)

edu.red

Filtro Ranura Ceros en w=p/4, w=p/2

edu.red

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

edu.red

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

edu.red

Filtros ideales Pasabajas:

Pasaaltas

Pasabanda

Rechazabanda

edu.red

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.

edu.red

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.

edu.red

Tabla comparativa ventanas Digital Signal Processing, A practica Approach. IFEACHOR, Emmanuel y JERVIS, Barrie. Addison-Wesley.1993.

edu.red

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

edu.red

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

edu.red

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

edu.red

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

edu.red

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);

edu.red

Ejemplo1 fvtool(h,1); % Filter visualization tool

edu.red

Ejemplo 1 n=-26:26; fc= 0.2187; hd = 2*fc*sinc(2*n*fc); h = hd.*window(@hann,53); fvtool(h,1)

edu.red

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)

edu.red

Ejemplo 2 Banda pasante: 150-250Hz Ancho de transición: 50Hz Atenuación banda rechazo: 60dB Frecuencia de muestreo: 1k

edu.red

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

edu.red

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;

edu.red

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.

edu.red

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.

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente