Sunteți pe pagina 1din 19

Prctica 1.

Diseo de Filtros FIR e IIR en MATLAB

BENEMRITA UNIVERSIDAD AUTNOMA DE


PUEBLA

FACULTAD DE CIENCIAS DE LA
ELECTRNICA
Materia:
Procesamiento Digital de Seales
Instructor
Hctor Santiago Ramrez
Prctica 1
Diseo de filtros FIR e IIR

Equipo:

- Lira Ramos Francisco


- Tern Bahena Erika Yazmin
Primavera 2012

1 | Pgina

Prctica 1. Diseo de Filtros FIR e IIR en MATLAB

Introduccin:
En el transcurso de las ltimas dcadas se han presentado grandes avances en el diseo
computacional, dando prioridad a factores como la velocidad y la eficiencia. Estos factores
han beneficiado diferentes reas como: el tratamiento, el almacenamiento, el estudio y la
transmisin de informacin en forma digital. Por esta razn, el tratamiento digital de
seales se ha convertido, hoy por hoy, en una de las herramientas ms utilizadas para dar
solucin a un porcentaje considerable de problemas en la ingeniera.
El procesamiento digital de seales es una herramienta muy til en casos como la
estimacin de parmetros y las caractersticas de sistemas y seales, eliminacin o
reduccin de ruido e interferencias y la transformacin de la respuesta espectral de seales,
entre otros. Su utilidad repercute en aplicaciones como el estudio de seales biomdicas
para el diagnstico de enfermedades, la compresin de informacin para la transmisin de
datos y el procesamiento de audio y video; ejemplos de algunas de las aplicaciones ms
comunes que se encuentran hoy en da.
De lo anteriormente expuesto se logra vislumbrar parte de la importancia de los filtros
digitales, al ser stos una de las herramientas ms utilizadas en el tratamiento digital de
seales.
Por tal motivo, en esta prctica se disearn filtros FIR (Respuesta finita al impulso) e IIR
(Respuesta infinita al impulso) con la ayuda de MATLAB, se har uso de las instrucciones
y herramientas que este software proporciona, las cuales permiten obtener el valor de los
coeficientes de los polinomios que integran la funcin de trasferencia del filtro y que
satisfacen los requerimientos de diseo, tambin se realizaran las grficas correspondiente a
la respuesta en magnitud y fase de cada filtro FIR e IIR con el propsito de verificar el
cumplimiento de las caractersticas requeridas.

Marco Terico:
Filtros Digitales
Un filtro digital es un algoritmo matemtico que realiza ciertas operaciones en la seal de
entrada, para obtener una seal deseada a la salida. Hay dos motivos para implementar un
filtro digital:
1. Mejorar la calidad de la seal de entrada
2. Procesar u obtener cierta informacin de tal seal

2 | Pgina

Prctica 1. Diseo de Filtros FIR e IIR en MATLAB

En el primer caso, el filtro digital es un sistema que transforma las entradas de una manera
especfica eliminando ciertas componentes no deseadas. Cuando esas componentes no
deseadas se describen en funcin de sus contenidos de frecuencia, los filtros, se denominan
filtros selectivos en frecuencia. El segundo caso es una caracterstica nica de los filtros
digitales. Debido a que el filtro procesa matemticamente la informacin de entrada, es
posible extraer datos que de otra manera permaneceran ocultos o disimulados, en la
misma.
En los ltimos aos, los filtros digitales han sustituido a los filtros analgicos en muchas
aplicaciones debido a su mayor fiabilidad, mayor flexibilidad y superiores prestaciones.
Por estas razones, ciertas aplicaciones en las que se desea filtrar una seal en tiempo
continuo, un filtro analgico se emplea en su versin digital.
Dado un conjunto de especificaciones, el diseo de un filtro digital consiste en obtener una
expresin analtica a las caractersticas del filtro deseadas, en forma de una funcin de
transferencia H(z).
Las ventajas de los filtros digitales son:

Caractersticas imposibles con los filtros analgicos (fase lineal)


No cambian cualquiera que sea su entorno
Procesamiento de varias seales con un nico filtro
Posibilidad de almacenar datos
Repetitividad
Uso en aplicaciones de muy bajas frecuencias

Entre las desventajas de los filtros digitales se tiene:

Limitacin de velocidad
Efectos de longitud finita de las palabra
Tiempos de diseo y desarrollo

Los filtros digitales puede clasificarse en FIR e IIR, a continuacin se describen sus
caractersticas y mtodos de diseo.
Diseo de filtros FIR
Los filtros FIR reciben este nombre ya que su salida depende nicamente de la entrada, de
forma que el efecto de un impulso en la entrada se extingue en un tiempo finito. Un filtro
FIR de longitud M con entrada x(n) y salida y(n) se describe mediante la ecuacin de
diferencias:
3 | Pgina

Prctica 1. Diseo de Filtros FIR e IIR en MATLAB

Donde bk son los coeficientes del filtro, y su funcin de transferencia discreta es:

Por otra parte se puede expresar la salida del filtro y(n) como una convolucin de la
entrada x(n) con la respuesta impulso del filtro h(n):

Las ecuaciones anteriores son idnticas, por lo tanto, los coeficientes bk =h(k) .
Los filtros FIR son siempre estables y son capaces de tener una respuesta de fase que es
lineal, lo que equivale a decir que su respuesta tiene un retraso constante. Se puede
demostrar que la respuesta de un filtro FIR es de fase lineal si los coeficientes h(n)
cumplen:
Es decir, los coeficientes tienen algn tipo de simetra. El mayor problema de los filtros
FIR es que para cumplir con las mismas especificaciones de diseo que los filtros IIR,
requieren un filtro de orden mucho mayor. Hay dos mtodos de diseo de filtros FIR:
Mtodo de diseo usando ventanas (windowing)
Este mtodo consiste en la convolucin H D( )*W( ) indicada en la siguiente figura

Figura 1. Resultado del ventaneo de la respuesta impulso deseada en el dominio de la frecuencia.

En la cual HD () es la respuesta impulso en el dominio de la frecuencia del filtro deseado


(en este caso un filtro pasa banda) y W( ) es la ventana aplicada.
4 | Pgina

Prctica 1. Diseo de Filtros FIR e IIR en MATLAB

Proceso de Diseo de Filtros FIR por este mtodo:

Normalizacin de frecuencias por la frecuencia de muestreo


Truncamiento de la respuesta impulso de un filtro ideal h(n) a hD(n)
Seleccin de una ventana W(n) de M puntos para obtener h(n)= h D(n)W(n),
donde M es el orden del filtro

Tipos de Filtros para la funcin h(n) :

Pasa bajo
Pasa alto
Pasa banda
Rechaza banda

Los tipos de ventana ms comunes son:

Rectangular
Hanning
Hamming
Blackman
Kaiser

El mrito de esta solucin reside en su simplicidad, requiriendo comparativamente poco


clculo, sin embargo, el diseo resultante no es usualmente el mejor.
Mtodo Iterativo basado en condiciones ptimas de diseo
En los ltimos aos el uso de tcnicas asistidas por computador para el diseo de filtros
digitales se ha extendido de forma considerable, y han aparecido algunos paquetes
de software para la realizacin de los diseos. Se han desarrollado tcnicas que, en
general, requieren la minimizacin de una funcin de coste adecuadamente escogida.
En muchas ocasiones, en vez de minimizar la desviacin en todas las frecuencias, se
puede escoger realizar la minimizacin solo en un nmero finito de frecuencias.
Tpicamente, el problema de minimizacin es bastante complejo y las ecuaciones
resultantes no se pueden resolver analticamente. Generalmente se emplean procedimientos
de bsqueda iterativa para determinar un conjunto ptimo de coeficientes del filtro. Se
comienza con una seleccin inicial arbitraria de los coeficientes del filtro y se van
modificando sucesivamente, de forma que la funcin de coste resultante se reduzca en
cada paso.
5 | Pgina

Prctica 1. Diseo de Filtros FIR e IIR en MATLAB

El procedimiento se detiene cuando las modificaciones posteriores de los coeficientes


no producen una reduccin de la funcin de coste. Hay disponibles varios algoritmos
estndar y diversos paquetes de software para determinar los coeficientes ptimos del filtro.
Los coeficientes del filtro se escogen para minimizar el error con respecto a la respuesta
deseada. Existen tambin programas de computador para determinar los coeficientes
ptimos del filtro en este caso.
Diseo de filtros IIR
Son sistemas cuya salida depende adems de salidas anteriores y que, estando en reposo, al
ser estimulados con una entrada impulsional su salida no vuelve al reposo, de ah el
calificativo de filtros de respuesta al impulso infinita (IIR). La ecuacin en diferencias
general es de la forma

Donde el orden es igual al mximo de M y N, la funcin de transferencia en Z del filtro es:

Es importante mencionar que no todo sistema es IIR, adems un filtro IIR requiere un orden
mucho menor para cumplir las especificaciones de diseo, sin embargo estos ltimos no
pueden disearse para tener fase lineal. Existen tcnicas de compensacin de fase mediante
la utilizacin de filtros pasa todo, sin embargo esto aumenta la longitud total del filtro. Si
no es necesario que el sistema sea causal (no funcionar en tiempo real) se puede conseguir
un filtro IIR de fase lineal realizando un filtrado bidireccional este consiste en filtrar la
seal, invertir el orden de las muestran obtenidas y volver a filtrar de nuevo. (MATLAB
Instruccin filt())
Existen dos filosofas de diseo de filtros IIR.

INDIRECTA: Se basa en aplicar a filtros analgicos diseador previamente,


transformaciones que los conviertan en digitales con las mismas caractersticas.
Existen 3 metros fundamentales: Diseo por impulso invariante, Diseos por
analoga o aproximacin de derivadas y Diseo por transformacin bilineal.

DIRECTA: Se propone el diseo de filtros digitales imponiendo una serie de


condiciones a la respuesta para determinar los coeficientes. Dos mtodos simples
6 | Pgina

Prctica 1. Diseo de Filtros FIR e IIR en MATLAB

son: Diseo por la aproximacin de Pad y Diseo de aproximacin de mnimos


cuadrados.
La salida de los filtros IIR depende de las entradas actuales y pasadas, y adems de las
salidas anteriores. Esto se consigue mediante el uso de realimentacin de la salida.
La estructura afecta a las caractersticas finales que presentar el filtro como la
estabilidad, otros parmetros a tener en cuenta a la hora de elegir una estructura es el
gasto computacional.

Este tipo de filtros puede ser inestables aunque cuando se diseen para ser estables.

Objetivo General:
Al finalizar la prctica, el alumno adquirir el conocimiento sobre el uso de las
herramientas disponibles en el software matemtico MATLAB, para el diseo y
caracterizacin de filtros FIR e IIR.

Objetivo Particulares:

Disear filtros FIR por distintos mtodos: Ventaneo, Muestreo en frecuencia,


Mnimos Cuadrados.
Disear filtros IIR a partir de prototipos analgicos tipo Butterworth, Chebyshev,
Chebyshev inverso y Elptico.
Disear filtros pasa-banda FIR e IIR.
Caracterizar en frecuencia los filtros diseados.
Comparar los distintos filtros pasa-banda diseados.
7 | Pgina

Prctica 1. Diseo de Filtros FIR e IIR en MATLAB

Planteamiento del problema


Se desea disear distintos tipos de filtros FIR e IIR que satisfagan los requisitos de
respuesta en magnitud mostrados en la figura, el detalle de los requisitos de diseo se
muestra adicionalmente en la tabla.

Figura 2. Respuesta en magnitud de los filtros solicitados

Parmetro
Fs
Ap
As
Rp
Fp1
Fp2
Fs1
Fs2

Nombre
Frecuencia de muestreo
Ganancia en la banda de paso
Rechazo mnimo en la banda de rechazo
Rizo mximo en la banda de paso
Frecuencia de paso
Frecuencia de paso 2
Frecuencia de rechazo 1
Frecuencia de rechazo

Valor
8000 muestras/s
0dB
60dB
1dB
1.5kHz
2.5kHz
1.2kHz
2.8kHz

Los filtros FIR sern diseados empleando las herramientas disponibles en MATLAB para
el diseo de filtros FIR e IIR, mediante los siguientes mtodos:

FIR: Ventaneo, Muestro en frecuencia y Diseo optimo


IIR: Prototipo Analgicos tipos Butterworth, Chebyshev, Chebyshev Inverso y
Elptico.

Adems del diseo, los filtros sern caracterizados en frecuencia y comparados entre si.

Desarrollo:
Para el desarrollo de esta prctica realice los siguientes pasos:
Diseo Filtros FIR con MATLAB
8 | Pgina

Prctica 1. Diseo de Filtros FIR e IIR en MATLAB

Normalice en frecuencia las especificaciones del filtro pasa-banda (de 0-1 Hz y de


0-rad/s). Esto servir para las funciones de MATLAB que requieran de estos datos
de forma normalizada.
Disee un filtro FIR de orden mnima empleando el mtodo de ventaneo ofrecido
por la funcin fir1() de MATLAB.
Disee un filtro FIR de orden mnima empleando el mtodo de muestro en
frecuencia ofrecido por la funcin fir2() de MATLAB.
Disee un filtro FIR de orden mnima empleando el mtodo de diseo ptimo
ofrecido por las funciones firpmord() y firpm() de MATLAB.
Integre en una sola grfica las respuestas en frecuencia de todos los filtros FIR
diseados previamente.

Diseo de Filtros IIR con MATLAB


Disee un filtro IIR de orden mnima del tipo Butterworth ofrecido por las
funciones butter() y buttord() de MATLAB.
Disee un filtro IIR de orden mnima del tipo Chebyshev ofrecido por las funciones
cheby1() y cheb1ord() de MATLAB.
Disee un filtro IIR de orden mnima del tipo Chebyshev Inverso ofrecido por las
funciones cheby2() y cheb1ord() de MATLAB.
Disee un filtro IIR de orden mnima del tipo Elptico ofrecido por las funciones
ellip() y ellipord() de MATLAB.
Integre en una sola grfica las respuestas en frecuencia de todos los filtros IIR
diseados previamente.

Anlisis de resultados:
Normalizacin en frecuencia
Las instrucciones proporcionadas por MATLAB requieren que los valores de las
frecuencias de paso y rechazo normalizadas, por tal motivo se realizo una normalizacin
en frecuencia obteniendo los siguientes valores:
Frecuencia (KHz)
1.5
2.5
1.2
2.8

Frecuencia Normalizada
0.375
0.625
0.3
0.7

Diseo Filtro FIR mediante fir1()


Conociendo los valores de la frecuencia normalizada, se calculan los coeficientes del filtro
por medio de la instruccin fir1(), la cual desarrolla el diseo a travs del mtodo de la
9 | Pgina

Prctica 1. Diseo de Filtros FIR e IIR en MATLAB

ventana, sin embargo se tuvo que realizar modificaciones al orden del filtro y a las
frecuencias de corte, debido a que, con los valores de las frecuencias calculadas no se
cumpla con las especificaciones del filtro.
b=fir1(50,[0.37 0.63],'bandpass');
freqz(b

%Diseo mtodo de la ventana


%Respuesta en magnitud y fase

Figura 3.- Respuesta en magnitud y fase (Mtodo de la ventana)

Diseo Filtro FIR mediante fir2()


Por medio de la instruccin fir2(), la cual desarrolla el diseo del filtro a travs del mtodo
de muestreo en frecuencia, se calculan los coeficientes del filtro FIR pasa-banda, sin
embargo al igual que en el caso anterior, se tuvo que realizar modificaciones al orden del
filtro y a las frecuencias de corte, debido a que, con los valores de las frecuencias
calculadas no se cumpla con los requerimientos establecidos.
b=fir2(60,[0,0.37,0.37,0.445,0.555,0.63,0.63,1],[0,0,1,1,1,1,0,0]);
%Diseo mtodo muestreo en frecuencia
freqz(b)
%Respuesta en magnitud y fase

Figura 4.- Respuesta en magnitud y fase (Mtodo muestreo en frecuencia)

Diseo Filtro FIR mediante firpmord() y firpm()


La instruccin firmord(), obtiene los parmetros necesarios para disear el filtro de manera
optima, de acuerdo a los requerimientos establecidos en su diseo.
10 | P g i n a

Prctica 1. Diseo de Filtros FIR e IIR en MATLAB

[N,fo,ao,W]=firpmord([1200,1500,2500,2800],[0,1,0],[0.001,0.1,0.001],8000);
B=firpm(N,fo,ao,W);
freqz(B)

Figura 5.- Respuesta en magnitud y fase (Mtodo diseo ptimo)

En la siguiente grfica se muestran las respuestas de magnitud y fase del filtro pasa-banda
FIR, obtenidas a partir de los diferentes mtodos de diseo (mtodo de la ventana, muestreo
en frecuencia y diseo ptimo) con la finalidad de realizar una comparacin entre los
resultados generados.

Figura 6.- Comparacin de las respuesta en magnitud y fase de los filtros FIR diseados

Diseo Filtro IIR mediante buttord() y butter()


Para el diseo del filtro IIR utilizamos el siguiente algoritmo
11 | P g i n a

Prctica 1. Diseo de Filtros FIR e IIR en MATLAB

%filtro butterword pasabanda


[N1,wn1]=buttord([.3,.7],[.375 , .625],1,60)
[A1,B1]=butter(N1,wn1)
freqz(A1,B1)

El algoritmo anterior calcula el filtro Butterworth con las caractersticas solicitadas, donde
la primera lnea calcula el orden del filtro que se pretende disear, la segunda lnea
determina el valor de los coeficientes de los polinomios de la funcin de transferencia del
filtro IIR y finalmente la tercera lnea sirve para realizar la grafica de la respuesta en
magnitud y fase del filtro diseado de acuerdo a los resultados obtenidos.

Figura 7.- Respuesta en magnitud y fase (filtro Butterworth)

Diseo Filtro IIR mediante cheb1ord() y chevy1()


Para el diseo del filtro IIR utilizamos el siguiente algoritmo:
%filtro chebyshev
[N2,wn2]=cheb1ord([.375 , .625],[.3,.7],1,60)
[A2,B2]=cheby1(N2,1,wn2)
freqz(A2,B2)
figure

El algoritmo anterior se utiliza para disear filtros Chebyshev, la primera lnea calcula el
orden del filtro, la segunda lnea determina los coeficientes de los polinomios de la funcin
de transferencia del filtro Chebyshev y finalmente la tercera lnea sirve para graficar la
respuesta en magnitud y fase del filtro Chebyshev diseado.

12 | P g i n a

Prctica 1. Diseo de Filtros FIR e IIR en MATLAB

Figura 8.- Respuesta en magnitud y fase (filtro Chebyshev)

Diseo Filtro IIR mediante cheb2ord() y chevy2()


Para el diseo del filtro IIR utilizamos el siguiente algoritmo:
%filtro chevyshev inverso
[N3,wn3]=cheb2ord([.375 , .625],[.3,.7],1,60)
[A3,B3]=cheby2(N2,60,wn2)
freqz(A3,B3)

El algoritmo anterior se utiliza para disear filtros Chebyshev inversos, la primera lnea
calcula el orden del filtro, la segunda lnea determina los coeficientes de los polinomios de
la funcin de transferencia del filtro Chebyshev inverso y finalmente la tercera lnea sirve
para graficar la respuesta en magnitud y fase del filtro Chebyshev inverso diseado.

Figura 9.- Respuesta en magnitud y fase (filtro Chebyshev inverso)

13 | P g i n a

Prctica 1. Diseo de Filtros FIR e IIR en MATLAB

Diseo Filtro IIR mediante ellipord() y ellip()


Para el diseo del filtro IIR utilizamos el siguiente algoritmo:
%filtro elptico
[N4,wn4]=ellipord([.375 , .625],[.3,.7],1,60)
[A4,B4]=ellip(N4,1,60,wn4)
freqz(A4,B4)

El algoritmo anterior se utiliza para disear filtros Elpticos, la primera lnea calcula el
orden del filtro, la segunda lnea determina los coeficientes de los polinomios de la funcin
de transferencia del filtro elptico y finalmente la tercera lnea sirve para graficar la
respuesta en magnitud y fase del filtro elptico diseado.

Figura 10.- Respuesta en magnitud y fase (filtro elptico)

En la siguiente grfica se muestran las respuestas de magnitud y fase del filtro pasa-banda
IIR, obtenidas a partir del diseo de diferentes filtros analgicos (filtro Butterworth,
Chevyshev, Chevyshev inverso y elptico) con la finalidad de realizar una comparacin
entre los resultados generados.

14 | P g i n a

Prctica 1. Diseo de Filtros FIR e IIR en MATLAB

Figura 11.- Comparacin de las respuesta en magnitud y fase de los filtros FIR diseados

Filtro

Orden

Cumple las
especificaciones?

FIR
fir1()

50

Si las cumple

Posee
fase
lineal?
Si

FIR
fir2()

60

Si las cumple

Si

FIR
firpm ()

48

Si las cumple

Si

Comentarios

Se requiri de hacer un ajuste a los valores


de las frecuencias de corte y al orden del
filtro hasta obtener la respuesta en magnitud
deseada
Posee una fase lineal
El orden del filtro es grande, lo cual
implicara mayor consumo de recursos
computacionales.
Se requiri de hacer un ajuste a los valores
de las frecuencias de corte y al orden del
filtro hasta obtener la respuesta en magnitud
deseada
Posee una fase lineal
El orden del filtro es grande
No se requiri hacer ajustes en las
frecuencias de corte y en el orden del filtro,
debido a que la instruccin firmord()
proporciona los valores ptimos para el
diseo del mismo.
Posee una fase lineal
El orden de este filtro es menor en
comparacin al orden de los filtros
diseados por los otros mtodos.
15 | P g i n a

Prctica 1. Diseo de Filtros FIR e IIR en MATLAB

IIR
butter()

14

No

IIR
Cheby1()

No

IIR
Cheby2()

No

IIR
ellip()

No

Se utilizaron las herramientas de MATLAB


buttord( ) este sirve para calcular el orden
del filtro y butter( ) sirve para calcular los
coeficientes del filtro.
No posee fase lineal
El orden del filtro a comparacin de los
filtros FIR es pequeo, por lo tanto es mas
fcil de implementar
Se utilizaron las herramientas de MATLAB
cheb1ord( ) este sirve para calcular el orden
del filtro y cheby1( ) sirve para calcular los
coeficientes del filtro.
Posee fase no lineal
Tiene rizado en la banda de paso
Se utilizaron las herramientas de MATLAB
che2ord( ) este sirve para calcular el orden
del filtro y cheby2( ) sirve para calcular los
coeficientes del filtro.
Posee fase no lineal
Tiene rizado en la banda de rechazo
Se utilizaron las herramientas de MATLAB
ellipord( ) este sirve para calcular el orden
del filtro y ellip( ) sirve para calcular los
coeficientes del filtro.
Posee fase no lineal
De todos los filtros diseados es el de menor
orden

Para cumplir con las especificaciones de los filtros FIR se tuvo que ajustar el valor del
orden del filtro y moverse en la frecuencia hasta cumplir con lo que se solicitaba en la
prctica.
Las funciones que proporciona MATLAB para el diseo de Filtros IIR satisfacen los
requisitos de diseo, siempre y cuando se introduzcan adecuadamente los valores de las
frecuencias de corte y ganancia para cada banda. No se requiere de un proceso de reajuste
como en los filtros FIR.
El orden de los filtros FIR es mucho mayor en comparacin con el orden de los filtros IIR,
esto implica un mayor consumo en recursos computacionales para su implementacin sin
16 | P g i n a

Prctica 1. Diseo de Filtros FIR e IIR en MATLAB

embargo ofrecen la ventaja de ser estables y poseer una fase lineal, caracterstica que los
filtros IIR carecen.

Conclusiones:
Erika Yazmin Tern Bahena
Los filtros FIR tiene la caracterstica especial de ser estables y poseer una fase lineal,
situacin que nos permite procesar una seal sin distorsionar su fase (estos filtros son
ideales para aplicaciones de audio, debido a que todas las componentes frecuenciales de la
seal de audio atraviesan el filtro con un retraso constante no vindose modificada su fase),
sin embargo, para poder llevar a cabo la implementacin de un filtro FIR se requiere de una
mayor cantidad de recursos debido a que son filtros de un orden mucho mayor en
comparacin de los filtros IIR, los cuales tienen la desventaja de poseer una fase no lineal
pero cuya implementacin es mas sencilla al requerir menor cantidad de recursos. El
desarrollo de esta prctica nos permiti conocer los mtodos de diseo de filtros digitales
FIR e IIR as como las herramientas que nos proporciona MATLAB para facilitar el
calculo de los coeficientes de los polinomios que conforman la funcin de transferencia del
filtro a disear as como para el anlisis de las repuestas de magnitud y fase.
Francisco Lira Ramos
Durante el diseo de los filtros FIR es notable que para cumplir las caractersticas deseadas
se necesita de un orden mayor, podemos decir que la fase de un filtro FIR es lineal y que
para cumplir las caractersticas deseadas es necesario moverse en frecuencia y orden y as
obtener un ajuste optimo, otro detalle muy importante es que manejamos los mtodos de
ventaneo, muestreo en la frecuencia y de mnimos cuadrados, con la finalidad de ver sus
ventajas y desventajas existentes de cada uno.
Mientras que en el Diseo de filtros IIR a diferencia de los FIR, para cumplir las
caractersticas deseadas el filtro IIR el orden es menor y la fase no es lineal, esto hace que
el sistema se vuelva inestable debido a su fase, para volverlo lineal en fase se puede
arreglar con un pasa todo y de esa forma de vuelve lineal; o en otro caso utilizar algunas de
las tcnicas de compensacin ya conocidas.

17 | P g i n a

Prctica 1. Diseo de Filtros FIR e IIR en MATLAB

Bibliografa:

Seales y Sistemas Alan V. Oppenheim - Pretince Hall 2da. Edicin.


Introduccin al Procesamiento de Seales Digitales Juan Vignolo Barchiesi
Ediciones Universitarias Valparaiso.
Procesamiento Digital de Seales Jhon G. Proakis Dimitris G. Manolakis
Tercera Edicin.

Apndice
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%FILTROS FIR%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Filtro pasa-banda FIR (Mtodo de la ventana fir1)
b = fir1(50,[0.37 0.63],'bandpass');
freqz(b)
%Filtro pasa-banda FIR (Muestreo en frecuencia fir2)
b = fir2(60,[0 0.37 0.37 0.445 0.555 0.63 0.63 1],[0 0 1 1 1 1 0 0]);
hold on
freqz(b)
%Filtro pasa-banda FIR (Diseo ptimo firpmod,firpm)

[N,fo,ao,W]=firpmord([1200,1500,2500,2800],[0,1,0],[0.001,0.1,0.001],8000);
B=firpm(N,fo,ao,W);
hold on
freqz(B)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%FILTROS IIR%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Filtro Butterworth pasa-banda
[N1,WP1]=buttord([0.375 0.625],[0.3 0.7],1,60);
[A1,B1]=butter(N1,WP1);
freqz(A1,B1)
%Filtro Chevyshev pasa-bansa
[N2,WP2]=cheb1ord([0.375 0.625],[0.3 0.7],1,60);
[A2,B2]=cheby1(N2,1,WP2);
hold on
freqz(A2,B2)

18 | P g i n a

Prctica 1. Diseo de Filtros FIR e IIR en MATLAB

%Filtro Chevyshev inverso pasa-banda


[N3,WP3]=cheb2ord([0.375 0.625],[0.3 0.7],1,60);
[A3,B3]=cheby2(N3,60,WP3);
hold on
freqz(A3,B3)
%Filtro Elptico
[N4,WP4]=ellipord([0.375 0.625],[0.3 0.7],1,60);
[A4,B4]=ellip(N4,1,60,WP4);
hold on
freqz(A4,B4)

19 | P g i n a

S-ar putea să vă placă și