sábado, 25 de abril de 2015

Filtro digital de audio butterworth utilizando MATLAB

MATLAB dispone de funciones que facilitan el diseño de filtros, tanto analógicos como digitales. Lo primero que necesitamos saber a la hora de diseñar un filtro Butterworth es conocer el orden, para ello disponemos de la función [N,Wn]= buttord(Wp,Ws,Rp,Rs) donde:
  • Wp es la frecuencia de corte normalizada 
  • Ws es la frecuencia de atenuación normalizada
  • Rp la atenuación para la frecuencia de corte en dB
  • Rs la atenuación para la banda rechazada en dB
Función de transferencia para un filtro pasa bajas

Wp y Ws deben ser entre (0 y 1) siendo 1 la frecuencia de Nyquist( esto nos dice que hay que normalizar las frecuencias contra la frecuencia de Nyquist). la salida N es el orden del filtro y Wn la frecuencia de 3dB. Si queremos encontrar el orden del filtro pero analógico es tan sencillo como modificar  la función [N,Wn]= buttord(Wp,Ws,Rp,Rs,'s') aquí las frecuencias de Wp y Ws pueden toma cualquier valor en radianes.