Está en la página 1de 7

PRÁCTICA 4:

Diseño de filtros digitales basados en especificaciones de respuesta en


frecuencia.
Camilo Andrés Ibarra Merchan -1091283
Carlos Eduardo Carrillo Suarez - 1091315

I. INTRODUCCIÓN transición distinto de cero entre la banda de paso y la banda de


parada.
Tanto las ondas de banda de paso/banda de parada como la
Los filtros digitales son clasificados en dos principales anchura de transición son desviaciones indeseables pero
categorías (Oppenheim et al., 1999): los filtros de respuesta inevitables de la respuesta de un filtro de paso bajo ideal
finita al impulso (FIR) y los filtros de respuesta infinita al cuando se aproxima con una respuesta de impulso finito. Estas
impulso (IIR). La salida de un filtro FIR es calculada con base desviaciones se describen en la siguiente figura:
al valor actual y previos de la entrada. Esto implica que
cuando no existe una señal de entrada, la salida tenderá a
desaparecer. Por otro lado, la salida de un filtro IIR es
dominada no sólo por el valor presente y previo de la entrada,
sino también por los valores pasados de su propia salida. Esta
realimentación produce el hecho de que cuando la entrada deja
de existir, las salidas pasadas del filtro seguirán excitándolo.
La identificación y modelado de filtros digitales IIR es de gran
importancia en diversas áreas de la ingeniería, tales como
procesamiento de señales, control, sistemas de
comunicaciones, procesamiento de imágenes y eliminación de
ruido (Howell y Gordon, 2001).

II. OBJETIVOS
 Familiarizarse con los comandos de Matlab y
simulink como una herramienta capaz de usarse Figura 1.Grafica filtro pasa baja
para la simulación y diseño de filtros digitales
FIR e IIR sistemas de sistemas.  Los diseños prácticos de FIR suelen consistir en filtros que
 Diseñar filtros digitales FIR e IIR tienen un ancho de transición y ondas máximas de banda de
paso y banda de parada que no superan los valores permitidos.
Además de esas especificaciones de diseño, se debe seleccionar
III. MARCO TEÓRICO el orden del filtro o, equivalentemente, la longitud de la
respuesta de impulso truncada.
Diseño de filtro FIR
Una metáfora útil para las especificaciones de diseño en el
Especificaciones del filtro Lowpass:
diseño del filtro es pensar en cada especificación como uno de
El filtro de paso bajo ideal es aquel que deja sin cambios todos los ángulos en el triángulo que se muestra en la figura
los componentes de frecuencia de una señal por debajo de una siguiente.
frecuencia de corte designada, y rechaza todos los
componentes anteriores.
Debido a que la respuesta de impulso necesaria para
implementar el filtro de paso bajo ideal es infinitamente larga,
es imposible diseñar un filtro FIR lowpass ideal. Las
aproximaciones de longitud finita a la respuesta de impulso
ideal conducen a la presencia de ondas en la banda de paso y
la banda de parada del filtro, así como a un ancho de Figura 2. Analogía para diseño de filtros
El triángulo se utiliza para comprender los grados de libertad El orden de filtro resultante se puede consultar mediante la
disponibles al elegir las especificaciones de diseño. Debido a función.filtord
que la suma de los ángulos es fija, a lo sumo se pueden
seleccionar los valores de dos de las especificaciones. La N = filtord(d)
tercera especificación será determinada por el algoritmo de N = 39
diseño en particular. Además, al igual que con los ángulos en Puede utilizar la función para obtener información sobre los
un triángulo, si hacemos una de las especificaciones más parámetros utilizados para diseñar el filtroinfo
grande / más pequeño, afectará a una o ambas de las otras info(d)
especificaciones. ans = 17x44 char array
Los filtros FIR son muy atractivos porque son inherentemente 'FIR Digital Filter (real)
estables y se pueden diseñar para tener fase lineal. Sin
'Filter Length : 40 '
embargo, estos filtros pueden tener respuestas transitorias
'Stable : Yes '
largas y pueden resultar costosas desde el punto de vista
'Linear Phase : Yes (Type 2) '
computacional en ciertas aplicaciones.
' '
Diseños FIR de pedido mínimo: 'Design Method Information '
'Design Algorithm : Equiripple '
Los diseños de orden mínimo se obtienen especificando ' '
frecuencias de banda de paso y banda de parada, así como una 'Design Specifications '
ondulación de banda de paso y una atenuación de banda de 'Sample Rate : N/A (normalized frequency)'
parada. A continuación, el algoritmo de diseño elige la longitud 'Response : Lowpass '
mínima del filtro que cumple con las especificaciones. 'Specification : Fp,Fst,Ap,Ast '
'Passband Ripple : 1 dB '
IV. EJECUCIÓN 'Stopband Edge : 0.43 '
'Passband Edge : 0.37 '
Diseñe un filtro FIR de paso bajo de orden mínimo con una 'Stopband Atten. : 30 dB '
frecuencia de banda de paso de 0,37*pi rad/sample, una
frecuencia de banda de parada de 0,43*pi rad/sample (por lo El designfilt función elige un algoritmo de diseño equisioso de
tanto, el ancho de transición es igual a 0,06*pi rad/sample), una forma predeterminada. Los filtros equisisisisivas de fase lineal
ondulación de banda de paso de 1 dB y una atenuación de son deseables porque para un orden dado tienen la menor
banda de parada de 30 dB. desviación máxima posible del filtro ideal.
Tenga en cuenta, sin embargo, que los diseños de pedido
Fpass = 370; Fstop = 430; Ap = 1; Ast = 30; Fs = 2000; mínimo también se pueden obtener utilizando una ventana
d = Kaiser. A pesar de que el método de ventana Kaiser produce un
designfilt('lowpassfir','PassbandFrequency',Fpass,'StopbandFr orden de filtro más grande para las mismas especificaciones, el
equency',... algoritmo es menos costoso computacionalmente y menos
Fstop,'PassbandRipple',Ap,'StopbandAttenuation',Ast,'Sample propenso a tener problemas de convergencia cuando las
Rate',Fs); especificaciones de diseño son muy estrictas. Esto puede
hfvt = fvtool(d); ocurrir si la aplicación requiere un ancho de transición muy
estrecho o una atenuación de banda de parada muy grande.

Diseñe un filtro con las mismas especificaciones que las


anteriores utilizando el método de ventana Kaiser y compare su
respuesta con el filtro equiripple.

dk=
designfilt('lowpassfir','PassbandFrequency',Fpass,'StopbandFr
equency',Fstop,'PassbandRipple',Ap,'StopbandAttenuation',As
t,'DesignMethod', 'kaiserwin');
addfilter(hfvt,dk);
legend(hfvt,'Equiripple design', 'Kaiser window design')

Figura 3.Grafico lowpassfir y PassbandFrequency


Considere un filtro FIR de paso bajo de 30o orden con una
frecuencia de banda de paso de 370 Hz, una frecuencia de
banda de parada de 430 Hz y una frecuencia de muestreo de 2
kHz. Hay dos métodos de diseño disponibles para este
conjunto particular de especificaciones: equision y mínimos
cuadrados. Vamos a diseñar un filtro para cada método y
comparar los resultados.
N = 30; Fpass = 370; Fstop = 430; Fs = 2000;
% Design method defaults to 'equiripple' when
omitted deq =
designfilt('lowpassfir','FilterOrder',N,'Passb
andFrequency',Fpass,...
'StopbandFrequency',Fstop,'SampleRate',Fs);
dls =
designfilt('lowpassfir','FilterOrder',N,'Passb
Figura 4. Grafico filtro equiripple andFrequency',Fpass,...
'StopbandFrequency',Fstop,'SampleRate',Fs,'Des
N = filtord(dk) ignMethod','ls'); hfvt = fvtool(deq,dls);
N = 52 legend(hfvt,'Equiripple design', 'Least-
squares design')
Especificación de parámetros de frecuencia en hertzios
Si conoce la frecuencia de muestreo a la que operará el filtro,
puede especificar la frecuencia de muestreo y las frecuencias
en hercios. Rediseñar el filtro equisiondel de orden mínimo
para una frecuencia de muestreo de 2 kHz.
Fpass = 370; Fstop = 430; Ap = 1; Ast = 30; Fs = 2000;
d =
designfilt('lowpassfir','PassbandFrequency',Fpass,'StopbandFr
equency',Fstop,'PassbandRipple',Ap,'StopbandAttenuation',As
t,'SampleRate',Fs);
hfvt = fvtool(d);

Figura 6. Grafico filtro FIR lowpass 370-430 Hz

Los filtros Equiripple son ideales para aplicaciones en las que


se debe cumplir una tolerancia específica, como el diseño de un
filtro con una atenuación mínima de banda de parada
determinada o una ondulación de banda de paso máxima dada.
Por otro lado, estos diseños pueden no ser deseables si
queremos minimizar la energía del error (entre el filtro ideal y
el filtro real) en la banda de paso/banda de parada.

 Si desea reducir la energía de una señal tanto como sea


posible en una determinada banda de frecuencia, utilice un
diseño de mínimos cuadrados.
Figura 5. Grafico Frecuencia muestreo 2kHz
En los ejemplos anteriores, los filtros diseñados tenían la
misma ondulación en la banda de paso y en la banda de parada.
Podemos usar pesas para reducir la ondulación en una de las
Orden fija, anchura de transición fija
bandas mientras mantenemos el orden del filtro fijo. Por
Los diseños de orden fijo son útiles para aplicaciones que son ejemplo, si desea que la ondulación de la banda de parada sea
sensibles a la carga computacional o imponen un límite en el una décima parte de la de la banda de paso, debe dar a la banda
número de coeficientes de filtro. Una opción es fijar el ancho de parada diez veces el peso de la banda de paso. Rediseñar el
de transición a expensas del control sobre la atenuación de filtro equisiosioactivo usando ese hecho.
ondulación/banda de parada de banda de paso.
deqw =
designfilt('lowpassfir','FilterOrder',N,'PassbandFrequency',Fpas
s,... 'StopbandFrequency',Fstop,'SampleRate',Fs,...
'PassbandWeight',1,'StopbandWeight',10); hfvt =
fvtool(deq,deqw); legend(hfvt,'Equiripple design', 'Equiripple
design with weighted stopband')

Figura 8.Filtro FIR lowpass corte 60Hz y muestreo 1kHz

Hay otras formas en las que puede especificar un filtro con


orden fijo: frecuencia de corte fija, ondulación de banda de
paso y atenuación de la banda de parada; ancho de transición
fijo; y la frecuencia fija de media potencia (3dB).

Figura 7. Grafico equirriple design with weighted stopband Diseño de filtros IIR

Uno de los inconvenientes de los filtros FIR es que requieren


Orden fija, frecuencia de corte fija un orden de filtro grande para cumplir con algunas
especificaciones de diseño. Si las ondas se mantienen
Puede diseñar filtros con orden de filtro fijo y frecuencia de constantes, el orden del filtro crece inversamente proporcional
corte mediante un método de diseño de ventana. al ancho de transición. Mediante el uso de comentarios, es
posible cumplir con un conjunto de especificaciones de diseño
con un orden de filtro mucho más pequeño. Esta es la idea
Puede utilizar diferentes ventanas para controlar la detrás del diseño del filtro IIR. El término "respuesta de
atenuación de la banda de parada mientras mantiene el impulso infinito" (IIR) se deriva del hecho de que, cuando se
orden del filtro sin cambios. aplica un impulso al filtro, la salida nunca se descompone a
cero.


Por ejemplo, considere un filtro FIR de paso bajo de 100 orden Los filtros IIR son útiles cuando los recursos
con una frecuencia de corte de 60 Hz y una frecuencia de computacionales están en una prima. Sin embargo, los
muestreo de 1 kHz. Compare los diseños resultantes del uso de filtros IIR estables y causales no pueden tener una fase
una ventana Hamming y una ventana Chebyshev con 90 dB de perfectamente lineal. Evite los diseños IIR en los casos en
atenuación de lóbulo lateral. que la linealidad de fase sea un requisito.
Otra razón importante para usar filtros IIR es su retardo de
grupo pequeño en relación con los filtros FIR, lo que resulta en
dhamming = una respuesta transitoria más corta.
designfilt('lowpassfir','FilterOrder',100,'Cut
offFrequency',60,... Filtros Butterworth
'SampleRate',1000,'Window','hamming'); Los filtros Butterworth son filtros IIR más planos. La planitud
dchebwin = en la banda de paso y la banda de parada hace que la banda de
designfilt('lowpassfir','FilterOrder',100,'Cut transición sea muy ancha. Se requieren pedidos grandes para
offFrequency',60,... obtener filtros con anchos de transición estrechos.
'SampleRate',1000,'Window',{'chebwin',90});
hfvt = fvtool(dhamming,dchebwin); Diseñe un filtro Butterworth de orden mínimo con frecuencia
legend(hfvt,'Hamming window', 'Chebyshev de banda de paso 100 Hz, frecuencia de banda de parada 300
window') Hz, ondulación máxima de banda de paso 1 dB y atenuación de
banda de parada de 60 dB. La frecuencia de muestreo es de 2
kHz.
Fp = 100; Fst = 300; Ap = 1; Ast = 60; Fs = Los filtros elípticos alcanzan un ancho de transición
2e3; dbutter = determinado con el orden más pequeño.
designfilt('lowpassiir','PassbandFrequency',Fp dellip =
,... designfilt('lowpassiir','PassbandFrequency',Fp
'StopbandFrequency',Fst,'PassbandRipple',Ap,.. ,...
. 'StopbandFrequency',Fst,'PassbandRipple',Ap,..
'StopbandAttenuation',Ast,'SampleRate',Fs,'Des .
ignMethod','butter'); 'StopbandAttenuation',Ast,'SampleRate',Fs,'Des
ignMethod','ellip');
Filtros Chebyshev Tipo I Compare la respuesta y el orden de los cuatro filtros IIR.

Los filtros Chebyshev Tipo I alcanzan anchos de transición Para las mismas restricciones de especificación, el método
más pequeños que los filtros Butterworth del mismo orden al Butterworth produce el orden más alto y el método elíptico
permitir la ondulación de banda de paso. produce el más pequeño.
FilterOrders = [filtord(dbutter)
Los filtros Butterworth y Chebyshev Type I tienen bandas de
filtord(dcheby1) filtord(dcheby2)
parada máximamente planas. Para una orden de filtro
determinada, el equilibrio es entre la ondulación de banda de filtord(dellip)]
paso y el ancho de transición. FilterOrders = 1×4

Diseñe un filtro Chebyshev Tipo I con las mismas 7 5 5 4


especificaciones que el filtro Butterworth anterior.
dcheby1 = hfvt = fvtool(dbutter,dcheby1,dcheby2,dellip);
designfilt('lowpassiir','PassbandFrequency',Fp axis([0 1e3 -80 2]);
,... legend(hfvt,'Butterworth', 'Chebyshev Type
'StopbandFrequency',Fst,'PassbandRipple',Ap,.. I',... 'Chebyshev Type II','Elliptic')
.
'StopbandAttenuation',Ast,'SampleRate',Fs,'Des
ignMethod','cheby1');

Filtros Chebyshev Tipo II


Los filtros Chebyshev Tipo II tienen bandas de paso
máximamente planas y bandas de parada equisiosilizadas.
Dado que las atenuaciones extremadamente grandes
normalmente no son necesarias, es posible que podamos
alcanzar el ancho de transición requerido con un orden
relativamente pequeño al permitir alguna ondulación de banda
de parada.
Diseñe un filtro Chebyshev Tipo II de orden mínimo con las
mismas especificaciones que en los ejemplos anteriores.
dcheby2 =
designfilt('lowpassiir','PassbandFrequency',Fp Figura 9. Grafico Chebyshev Type II, Elliptic
,...
'StopbandFrequency',Fst,'PassbandRipple',Ap,.. Amplíe la banda de paso para ver las diferencias de
. ondulación.
'StopbandAttenuation',Ast,'SampleRate',Fs,'Des axis([0 150 -3 2]);
ignMethod','cheby2');
Coincidiendo exactamente con las especificaciones de
Filtros elípticos Passband o Stopband
Los filtros elípticos generalizan los filtros Chebyshev y Con diseños de orden mínimo, el orden ideal debe redondearse
Butterworth al permitir ondulación tanto en la banda de paso al siguiente entero. Este orden fraccionario adicional permite
como en la banda de parada. A medida que las ondas se hacen que el algoritmo exceda realmente las especificaciones.
más pequeñas, los filtros elípticos pueden aproximarse
arbitrariamente a cerrar la magnitud y la respuesta de fase de
los filtros Chebyshev o Butterworth.
Figura 10. Grafico Chebyshev Type II, Elliptic,ampliada Figura 10. Grafico coincidencia anchos de banda

Utilice el 'MatchExactly' para restringir el algoritmo de Comparación de retrasos de grupo


diseño para que coincida exactamente con una banda. La
Con los filtros IIR, tenemos que considerar no sólo el
otra banda supera su especificación.
equilibrio de ancho de ondulación/transición, sino también el
grado de distorsión de fase. Sabemos que es imposible tener
Por abandono, los diseños de Chebyshev Tipo I coinciden con fase lineal a lo largo de todo el intervalo Nyquist. Por lo tanto,
la banda de paso, Butterworth y Chebyshev Tipo II coinciden es posible que deseemos ver qué tan lejos de lineal es la
con la banda de parada, y los diseños elípticos coinciden con la respuesta de fase. Una buena manera de hacer esto es mirar el
banda de paso y la banda de parada (mientras que se supera la retardo de grupo (idealmente constante) y ver lo plano que es.
frecuencia del borde de la banda de parada):
Compare el retardo de grupo de los cuatro filtros IIR diseñados
dellip1 = anteriormente.
designfilt('lowpassiir','PassbandFrequency',Fp
 Si la fase es un problema, tenga en cuenta que los diseños
,...
Butterworth y Chebyshev Tipo II tienen el retraso del grupo
'StopbandFrequency',Fst,'PassbandRipple',Ap,..
más plano y, por lo tanto, introducen la menor distorsión.
.
'StopbandAttenuation',Ast,'SampleRate',Fs,'Des hfvt =
ignMethod','ellip',... fvtool(dbutter,dcheby1,dcheby2,dellip,'Analysi
'MatchExactly','passband'); dellip2 = s','grpdelay'); legend(hfvt,'Butterworth',
designfilt('lowpassiir','PassbandFrequency',Fp 'Chebyshev Type I',... 'Chebyshev Type
,... II','Elliptic')
'StopbandFrequency',Fst,'PassbandRipple',Ap,..
.
'StopbandAttenuation',Ast,'SampleRate',Fs,'Des
ignMethod','ellip',...
'MatchExactly','stopband'); hfvt =
fvtool(dellip, dellip1, dellip2);
legend(hfvt,'Matched passband and
stopband','Matched passband',... 'Matched
stopband'); axis([0 1e3 -80 2]);

La banda de paso coincidente y ambos diseños emparejados


tienen una ondulación de exactamente 1 dB en el valor de
frecuencia de banda de paso de 100 Hz.

Figura 11. Grafica comparativa filtros


V. CONCLUSIONES

Las principales diferencias respecto a los filtros FIR es que los


IIR pueden cumplir las mismas exigencias que los anteriores
pero con menos orden de filtro. Esto es importante a la hora de
implementar el filtro, pues presenta una menor carga
computacional.

Mediante la herramienta matlab y mediante la implementación


de código, pudimos observar el comportamiento de cada uno
de los tipos de filtros comúnmente usados en la industria y su
reacción respecto a cada rango de frecuencias dado.

VI. REFERENCIAS

[1] LABORATORIO No. 4 – Laboratorio de filtros FIR e IIR


UNIVERSIDAD FRANCISCO DE PAULA
SANTANDER
FACULTAD DE INGENIERIA
CONTROL DIGITAL

[2] Jiménez, E. y Navarro, O.(2012) IIR Filter Modeling


Using an Algorithm Inspired on Electromagnetism,
Revista ingeniería Unam, 1(1), 2.

También podría gustarte