FACULTAD DE INGENIERIA ELECTRONICA
PROCESAMIENTO DIGITAL DE SEÑALESDISEÑO DE UN FILTRO FIR PASABANDA A PARTIR DE UN FILTRO BUTTERWORTH PASABANDA EN MATLABChristopher LeónQUITO,  FEBRERO 2011
INTRODUCCIONPara realizar el diseño de un filtro FIR pasabanda, primero vamos a realizar el filtro Butterworth pasabandas ya que de este extraeremos los datos necesarios para la creación del filtro FIR.Como se hace para todo filtro, se partirá de las características que se necesitan de este, las cuales podremos apreciar en el siguiente ejemplo practico.
PLANTEAMIENTODiseñar un filtro pasa banda cuya banda de paso vaya de 60Hz hasta 200Hz con menos de 3dB de tolerancia en la banda de paso y 40 dB de atenuación en la banda eliminada, la cual esta a 50 Hz a cada lado de la banda de paso. La frecuencia de muestreo es de 1000Hz.
FILTRO BUTTERWORTHDel enunciado anterior podemos extraer los siguientes datos:Frecuencia de muestreo= 1000HzBanda de paso= 60-200HzBanda eliminada= 50Hz a cada lado (10-250Hz)Atenuación banda de paso= menor a 3dBAtenuación banda eliminada= 40dB
Código en MATLAB:Primero definimos la frecuencia de muestreo:fm=1000;Ahora calculamos la frecuencia de shannon o NyquistPara esto dividimos la frecuencia de muestreo para 2.fe=fm/2;FILTRO BUTTERWORTH
FILTRO BUTTERWORTHBasándonos en esta frecuencia transformamos las frecuencias de la banda de paso y la banda eliminada:Wp=[60 200]/fe;Ws=[10 250]/fe;Ahora colocamos las atenuaciones tanto de la banda de paso como de la banda eliminadaRp=3;Rs=40;
FILTRO BUTTERWORTHAhora obtendremos el orden (n) y las frecuencias de corte (Wn) por medio de la función “buttord”[n,Wn]=buttord(Wp,Ws,Rp,Rs)Luego obtenemos los coeficientes del filtro Butterworth con la función “butter”[b,a]=butter(n,Wn);
FILTRO BUTTERWORTHAhora obtendremos el grafico del modulo de la ganancia compleja.[h,f]=freqz(b,a,[],fm);plot(abs(h))xlabel('Hz')ylabel('Modulo de H(z)')Con lo cual obtenemos el siguiente grafico:
FILTRO BUTTERWORTH
FILTRO FIRY con esto ha quedado listo nuestro filtro Butterworth pasabanda.Ahora procederemos a implementar el filtro FIR a partir de filtro que diseñamos.
FILTRO FIRPara crear el filtro FIR utilizamos el comando FIR1, añadiendo el orden y frecuencias de corte de nuestro filtro anteriorb = fir1(n,Wn);
FILTRO FIRAhora graficaremos la magnitud del filtro en dB junto con el grafico del modulo de la ganancia compleja.subplot(2,1,1)freqz(b,1,512) subplot(2,1,2)[h,f]=freqz(b,fm)plot(abs(h))xlabel('Hz')ylabel('Modulo de H(z)')title('Filtro  FIR Pasabanda')
FILTRO FIR
FILTRO FIRY con esto queda listo el filtro FIR pasabandas para realizar el proceso de filtrado de nuestras señales.
MUCHAS GRACIAS

filtro FIR pasabanda con MATLAB

  • 1.
  • 2.
    PROCESAMIENTO DIGITAL DESEÑALESDISEÑO DE UN FILTRO FIR PASABANDA A PARTIR DE UN FILTRO BUTTERWORTH PASABANDA EN MATLABChristopher LeónQUITO, FEBRERO 2011
  • 3.
    INTRODUCCIONPara realizar eldiseño de un filtro FIR pasabanda, primero vamos a realizar el filtro Butterworth pasabandas ya que de este extraeremos los datos necesarios para la creación del filtro FIR.Como se hace para todo filtro, se partirá de las características que se necesitan de este, las cuales podremos apreciar en el siguiente ejemplo practico.
  • 4.
    PLANTEAMIENTODiseñar un filtropasa banda cuya banda de paso vaya de 60Hz hasta 200Hz con menos de 3dB de tolerancia en la banda de paso y 40 dB de atenuación en la banda eliminada, la cual esta a 50 Hz a cada lado de la banda de paso. La frecuencia de muestreo es de 1000Hz.
  • 5.
    FILTRO BUTTERWORTHDel enunciadoanterior podemos extraer los siguientes datos:Frecuencia de muestreo= 1000HzBanda de paso= 60-200HzBanda eliminada= 50Hz a cada lado (10-250Hz)Atenuación banda de paso= menor a 3dBAtenuación banda eliminada= 40dB
  • 6.
    Código en MATLAB:Primerodefinimos la frecuencia de muestreo:fm=1000;Ahora calculamos la frecuencia de shannon o NyquistPara esto dividimos la frecuencia de muestreo para 2.fe=fm/2;FILTRO BUTTERWORTH
  • 7.
    FILTRO BUTTERWORTHBasándonos enesta frecuencia transformamos las frecuencias de la banda de paso y la banda eliminada:Wp=[60 200]/fe;Ws=[10 250]/fe;Ahora colocamos las atenuaciones tanto de la banda de paso como de la banda eliminadaRp=3;Rs=40;
  • 8.
    FILTRO BUTTERWORTHAhora obtendremosel orden (n) y las frecuencias de corte (Wn) por medio de la función “buttord”[n,Wn]=buttord(Wp,Ws,Rp,Rs)Luego obtenemos los coeficientes del filtro Butterworth con la función “butter”[b,a]=butter(n,Wn);
  • 9.
    FILTRO BUTTERWORTHAhora obtendremosel grafico del modulo de la ganancia compleja.[h,f]=freqz(b,a,[],fm);plot(abs(h))xlabel('Hz')ylabel('Modulo de H(z)')Con lo cual obtenemos el siguiente grafico:
  • 10.
  • 11.
    FILTRO FIRY conesto ha quedado listo nuestro filtro Butterworth pasabanda.Ahora procederemos a implementar el filtro FIR a partir de filtro que diseñamos.
  • 12.
    FILTRO FIRPara crearel filtro FIR utilizamos el comando FIR1, añadiendo el orden y frecuencias de corte de nuestro filtro anteriorb = fir1(n,Wn);
  • 13.
    FILTRO FIRAhora graficaremosla magnitud del filtro en dB junto con el grafico del modulo de la ganancia compleja.subplot(2,1,1)freqz(b,1,512) subplot(2,1,2)[h,f]=freqz(b,fm)plot(abs(h))xlabel('Hz')ylabel('Modulo de H(z)')title('Filtro FIR Pasabanda')
  • 14.
  • 15.
    FILTRO FIRY conesto queda listo el filtro FIR pasabandas para realizar el proceso de filtrado de nuestras señales.
  • 16.