Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Matlab Filtros PDF
Matlab Filtros PDF
NMERO 19
SEPTIEMBRE DE 2005
Volumen II
ISSN 1696-7208
En este artculo pretendemos mostrar cmo con ayuda de herramientas para clculo numrico
podemos disear filtros digitales apropiados para una gran diversidad de aplicaciones. Aunque en
el curriculum para Tcnicos Superiores en Desarrollo de Productos Electrnicos no se contemplan
estos contenidos, s resulta de inters que conozcan los alumnos la existencia de herramientas no
especficas para diseo de circuitos pero que pueden facilitar mucho la labor de diseo, en este
caso de filtros.
Tal vez estamos comentiendo un error al decir no especficas ya que Matlab tiene una completa
gama de herramientas para diseo de filtros mediante esta utilidad. Pero tambin es cierto que
esta toolbox ha ido desarrollandose a lo largo de los aos pues esas funciones especiales no son
1
Matlab y el diseo de filtros digitales. Ricardo Valerio Bautista Cullar
ser una herramienta estndar para muchos trabajos en las disciplinas de la ciencia y la
ingeniera, donde el clculo asistido por ordenador siempre ha tenido vital importancia.
Entre otras muchas cosas, permite la realizacin de grficos de forma sencilla tanto en
Matlab tiene dos modos diferentes para la ejecucin de comandos: el modo interactivo y
comandos se salvan en un fichero de texto (usando para ello el editor propio de Matlab
con las funciones de depurado que posee o cualquier otro editor de textos) sin tener que
el editor de matlab, existen herramientas de depurado simples que pueden llegar a ser de
gran cuando el script (el archivo .m) comienza a ser grande y complicado.
2
Matlab y el diseo de filtros digitales. Ricardo Valerio Bautista Cullar
3
Matlab y el diseo de filtros digitales. Ricardo Valerio Bautista Cullar
El diseo de filtros
En el texto no tratamos de mostrar de forma terica cuales son las tcnicas ms habituales
implementaciones.
como un filtro. Aqu se entiende por filtro aquel sistema lineal e invariante que permite el
elimina las dems. De forma ideal, el mdulo de la respuesta frecuencial del filtro toma
aquella que se sita entre dos bandas cuyas atenuaciones estn especficada, por tanto, se
dando libertad de esa forma al diseo del filtro siempre y cuando se cumplan los
requisitos impuestos en la banda de paso y de rechazo. Los cuatro filtros bsicos, desde el
punto de vista ideal del comportamiento del mdulo de la respuesta frecuencial, segn
sea la posicin relativa de bandas de paso y bandas atenuadas, reciben el nombre de paso
bajo, paso alto, paso banda y elimina banda, dependiendo de la parte del espectro de
frecuencias en la que se centra la banda de paso. Por ejemplo, el paso bajo se caracteriza
4
Matlab y el diseo de filtros digitales. Ricardo Valerio Bautista Cullar
porque deja pasar todas las componentes frecuenciales de la seal en el rango bajo de las
una etapa previa al amplificador para que el ruido no se amplifique y llegue a saturar al
filtro paso banda cancela las bajas y las altas frecuencias (bandas atenuadas inferior y
intermedio.
Hasta el momento hemos hablado de caractersticas ideales, de ah que a los filtros que
En este texto vamos a presentar cmo se puede obtener diseos de filtros que aproximen
la respuesta ideal del filtro en el dominio digital (o Z). Para ello obtenemos la respuesta
En el diseo de filtros digitales se pueden distinguir dos tipos bsicos. Por un lado,
aquellos en la que la respuesta impulsional del filtro tiene un nmero finito L de muestras
5
Matlab y el diseo de filtros digitales. Ricardo Valerio Bautista Cullar
orden es L-1. Esto implica que el filtro tiene L-1 ceros distribuidos en el plano complejo
z y todos los polos en el origen. Por ello suele hablarse de los filtros FIR como filtros
slo ceros. Por otro lado, existen los llamados filtros recurrentes cuya respuesta
impulsional tiene longitud infinita o filtros IIR (Infinite Impulse Response). Un filtro IIR
Para que un sistema sea realizable debe ser causal y estable. En ningn caso el filtro
diseado puede tener una respuesta frecuencial ideal. Por tanto, el filtro se disea de
respuesta frecuencial en la banda de paso y sobre el valor nulo en la banda atenuada. Esas
tolerancias suelen recibir el nombre de rizado. Adems, se acepta una banda de transicin
6
Matlab y el diseo de filtros digitales. Ricardo Valerio Bautista Cullar
banda de paso y la banda de rechazo, entre ellas se extiende la banda de paso. Las dos
ltimas son las tolerancias permitidas tanto en la banda de paso como en la de rechazo.
Filtros FIR
Existen diversos mtodos para el diseo de filtros FIR, entre ellos destacan tres. El ms
caracterizadas porque al llevarlas al campo digital tenan una respuesta de tipo IIR.
respuesta impulsional h(n) y nos quedamos con una parte de ella, el resultado desde el
punto de vista de la funcin de filtrado del sistema sera el mismo. Aunque grosso modo
eso es as, desde el punto de vista frecuencial se producen una serie de deformaciones en
el espectro del filtro obtenido que nos llevaran a considerables errores a no ser por el uso
de ventanas pensadas para este uso. Esas ventanas no son ms que secuencias de longitud
finita que tienen una respuesta frecuencial que permite que al ser multiplicadas por la
funcin de transferencia utilizada el error no sea muy grande. Esto es una descripcin
intuitiva y nada rigurosa del sentido del enventanado. Bsicamente se utilizan tres tipos
7
Matlab y el diseo de filtros digitales. Ricardo Valerio Bautista Cullar
respuesta frecuencial ideal. El diseo por muestreo en frecuencia es muy popular dada su
directamente la amplitud del error. Tampoco se conoce un criterio estimativo del orden
del filtro. Para conseguir un comportamiento ajustado a una plantilla debe acudirse a una
estrategia de ensayo y error tediosa, que en la mayora de los casos proporciona un filtro
aquellos con rizado de amplitud constante. La respuesta frecuencial que ofrecen los
presenta un error en las bandas de paso y atenuadas cuya amplitud crece en las
proximidades de las bandas de transicin. La solucin a ese problema que aporta esta
metodologa es la de repartir el error por las diversas bandas usando una funcin que lo
Entre las propiedades que podremos comprobar en los resultados del enventanado para la
8
Matlab y el diseo de filtros digitales. Ricardo Valerio Bautista Cullar
obtencin de filtros FIR est, gracias al ajuste del orden del filtro por el mtodo de
Remez, que la anchura de la banda de transicin del filtro, que se corresponde con la
Slo dos parmetros son necesarios para la obtencin del filtro y dichos parmetros (beta
y N) son fcilmente obtenibles a partir de unas frmulas fciles de usar. Su sencillez, por
tanto, es lo ms destacable.
Y podremos observar que a diferencia del caso de los filtros IIR, el cumplimiento de los
requisitos del filtro no se realiza de una forma tan exacta e inmediata. Esta caracterstica
notable sobrecumplimiento de los requerimientos para la banda de paso, debido a que los
mximos del error en la banda de paso y la banda atenuada son del mismo orden de
transformada de la ventana.
Por ltimo, veremos que el orden del filtro FIR obtenido por el mtodo de Remez es
del estudio del diseo de filtros analgicos la aproximacin que menor orden requiere
para satisfacerlas es aquella en que los mximos del valor absoluto del error en la banda
que el error presente alternativamente mximos y mnimos. Es por tanto de esperar que el
9
Matlab y el diseo de filtros digitales. Ricardo Valerio Bautista Cullar
caso de diseo de filtros FIR no sea distinto y este tipo de comportamiento resulte
ptimo. Esto se traduce en que para una selectividad y una discriminacin dada no exista
un diseo de menor orden que el que presenta comportamiento con rizado de amplitud
obtenerse un diseo con menor discriminacin, desde el punto de vista de los filtros FIR.
KAISER
El cdigo Matlab para la obtencin de una aproximacin de este tipo es muy sencillo.
kw = KAISER(N,Beta);
hn=fir1(N-1,Wp,kw);
[Yz,w]=freqz(hn,1,512);
beta y el orden(N), que se obtienen mediante unas frmulas relacionadas con el valor de
Por otro lado la funcin fir1 realiza la obtencin del filtro(de la secuencia) hn mediante
seal. Lo importante es que la funcin de matlab fir1 requiere como entradas la ventana a
emplear(en nuestro caso kw), la frecuencia de corte de la banda de paso (Wp) y el orden
deseado.
diseado.
El orden del filtro para cunplir las especificaciones que hemos tomado para el diseo es
10
Matlab y el diseo de filtros digitales. Ricardo Valerio Bautista Cullar
Media
nte un
sencil
lo
zoom
para comprobar que el diseo cumple con las especificaciones. Como se observa, la
11
Matlab y el diseo de filtros digitales. Ricardo Valerio Bautista Cullar
Otro parmetro importante es la respuesta de fase del filtro, que interesa sea
der
iva
da,
den
om
ina
da retardo de grupo. El hecho de que sea lo ms lineal posible el retardo de fase implica
que el retardo de grupo sea constante. Esto implica que el filtro no influya ni distorsione
Como se observa el retardo de grupo es casi constante, lo cual es una caracteristica muy
buena de este tipo de filtros. Los filtros FIR tienen un mejor comportamiento desde el
12
Matlab y el diseo de filtros digitales. Ricardo Valerio Bautista Cullar
punto de vista del retardo de grupo y de la distorsin de fase que provoque el filtro que
La estimacin del orden del filtro dada por la funcin remezord utilizada no era lo
diseos. Al ser el orden un factor muy crtico en una implementacin pues marca los
recursos a emplear, existe ocasiones que las aproximaciones efectuadas para el clculo
automtico del orden no sean exactas, por lo que tendremos que modificar manualmente
deseada.
13
Matlab y el diseo de filtros digitales. Ricardo Valerio Bautista Cullar
menor de 0.01). Por ello, hemos aumentado manualmente el orden del filtro desde los 42
dados por la estimacin hasta los 47 para los que el filtro cumple las especificaciones.
La respuesta en magnitud de este filtro, tal como se observa en las figuras siguientes, es
de tipo oscilatorio o de igual rizado, en las bandas de inters. Esa caracterstica es la que
La respuesta en magnitud en decibelios tambin nos muestra ese rizado en las bandas de
paso y de rechazo.
14
Matlab y el diseo de filtros digitales. Ricardo Valerio Bautista Cullar
15
Matlab y el diseo de filtros digitales. Ricardo Valerio Bautista Cullar
Filtros IIR
recursivas.
Una de las particularidades de estos filtros respecto a los tipo FIR es el hecho de que su
Elptica.
requerira es la Butterword mientras que la que menos (menor orden) es la elptica. Por su
parte, tanto la implementacin chebyshev directa como inversa son del mismo orden y,
por tanto, de igual complejidad computacional. Esto implica que para unas restricciones
dadas el orden (en definitiva, el coste computacional de nuestro sistema) ser mayor con
Por otra parte, se comprueba en las mismas grficas que se manifiestan las caractersticas
16
Matlab y el diseo de filtros digitales. Ricardo Valerio Bautista Cullar
atenuada, al igual que la chebyshev inversa, que sin embargo presenta una banda de paso
plana.
Como ya hemos mencionado, la aproximacin elptica es, entre todas, la que requiere
menor orden, por lo que es comnmente utilizada cuando el principal inters se centra en
minimizar el orden del filtro; sin embargo, veremos que su fase es la que ms se aleja del
comportamiento lineal, tal como se observa en las grficas, entre las diversas
aproximaciones.
fase ms prxima al ideal para un orden dado, pero el orden que necesita para cumplir las
Butterworth
bsicamente dos comandos. Por un lado buttord que, a partir de las especificaciones de
17
Matlab y el diseo de filtros digitales. Ricardo Valerio Bautista Cullar
respectivas frecuencias de corte de cada una de las bandas, nos da el orden del filtro y la
frecuencia natural del filtro. Por otro lado, a partir del orden del filtro y de la frecuencia
medio de las funciones filter y freqz podemos obtener la respuesta en Z del filtro digital.
El orden del filtro obtenido mediante esta aproximacin es de 11. Si bien en un primer
momento nos puede sugerir este orden que computacionalmente es ms eficiente que las
implementaciones tipo FIR, debemos tener en cuenta que el error de fase implicita en este
tipo de filtros IIR hace no tan aconsejable este tipo de filtrado cuando la linealidad de la
La
respues
ta en
magnit
18
Matlab y el diseo de filtros digitales. Ricardo Valerio Bautista Cullar
orden de este tipo de aproximacin, orden que es superior a otras aproximaciones debido
La respuesta de fase de esta aproximacin, sin embargo, es mejor que la del resto de
aproximaciones IIR como veremos, siendo algo ms prxima a la ideal, pero nunca tan
Cheby
shev-I
Matlab
dispon
e de
funcio
El orden obtenido a partir de esa funcin, que requiere las mismas entradas de datos que
19
Matlab y el diseo de filtros digitales. Ricardo Valerio Bautista Cullar
esta aproximacin. Vemos que la banda de paso no es totalmente plana. Decimos que la
banda. Sin embargo, esa caracterstica implica un coste en trminos de orden que se
Al
observar la
20
Matlab y el diseo de filtros digitales. Ricardo Valerio Bautista Cullar
Chebysh
ev-II
Mediante
las
funcione
s de
buscada. El orden es 7, igual que la anterior aproximacin. Eso se debe a que la forma de
obtener una a partir de la otra es mediante una sencilla transformacin matemtica que
Butterword.
21
Matlab y el diseo de filtros digitales. Ricardo Valerio Bautista Cullar
Elptico
Ellipord y
ellip son
las
de paso y de rechazo de este filtro. Por un lado, mientras que la banda de paso del
Butterword es mximamente plana la del elptico manifiesta un rizado, por otro, mientras
ocasionan que el orden del filtro sea incluso menor que la aproximacin Chebyshev, tanto
22
Matlab y el diseo de filtros digitales. Ricardo Valerio Bautista Cullar
En
conclusin
BIBLIOGRAFA
Digital Signal Processing. A computer-based approach. S.K. Mitra. Ed. Mc-Graw Hill
Digital communication systems, P.Z. Preebles. Ed. Prentice Hall International.
Digital Signal Processing Handbook, Madisetti y Williams. Ed. CRC Press.
Signals and Systems, A.V. Oppenheim. Ed. Prentice-Hall.
23