Está en la página 1de 7

Los filtros digitales con respuesta de impulso de duración finita (cero o filtros FIR) tienen

ventajas y desventajas en comparación con los filtros de respuesta de impulso de duración


infinita (IIR).
Los filtros FIR tienen las siguientes ventajas principales:
 Ellos pueden tener exactamente fase lineal
 Ellos son siempre estables.
 Los métodos de diseño son generalmente lineales.
 Se pueden realizar de manera eficiente en hardware.
 Los transitorios de inicio del filtro tienen una duración finita.
La principal desventaja de los filtros FIR es que a menudo requieren un orden de filtro mucho
mayor que los filtros IIR para lograr un determinado nivel de rendimiento. En consecuencia, el
retraso de estos filtros es a menudo mucho mayor que para un rendimiento igual Filtro IIR.

METODO DE APLICACIÓN DEL FILTRO

Método de diseño del filtro Descripción Funciones de filtro

Ventana Aplicar ventana a transformada


de Fourier inversa truncada del fir1 , fir2 , kaiserord
filtro de "pared de ladrillo"
especificado
Multibanda con bandas de Aproximación de Equirripple o firls , firpm , firpmord
transición de mínimos cuadrados sobre las
subbandas del rango de
frecuencias
Mínimos cuadrados Minimice el error integral fircls , fircls1
cuadrado en todo el rango de
limitados frecuencia sujeto a limitaciones
de error máximo
Respuesta arbitraria Respuestas arbitrarias, incluida cfirpm
la fase no lineal y filtros
complejos
Coseno elevado Respuesta de paso bajo con rcosdesign
transición sinusoidal suave

Filtros de fase lineales


Excepto por cfirpm , todas las funciones de diseño del filtro FIR solo diseñan filtros de fase
lineal. los los coeficientes de filtro, o "taps", de dichos filtros obedecen a una relación de
simetría par o impar. Dependiendo de esta simetría, y de si el orden n del filtro es par o impar,
un filtro de fase lineal (almacenado en longitud n +1 vector b ) tiene ciertas restricciones
inherentes a su respuesta frecuente.

Tipo de filtro de Orden de Simetría de Respuesta H (f), Respuesta H (f), f = 1


fase lineal filtro coeficientes f=0 (Nyquist)
Tipo i Incluso incluso: Sin restricción Sin restricción
Tipo II Impar incluso: Sin restricción H (1) = 0
Tipo III Incluso impar: H (0) = 0 H (1) = 0
Tipo IV Impar impar: H (0) = 0 Sin restricción

Los El retardo de fase y el retardo de grupo de los filtros FIR de fase lineal son iguales y
constantes en la banda de frecuencia. Para un filtro FIR de orden n lineal, el retardo de grupo
es n / 2, y la señal filtrada simplemente se retrasa en n / 2 pasos de tiempo (y la magnitud de su
transformada de Fourier se escala por la respuesta de magnitud del filtro). Esta propiedad
conserva la forma de onda de las señales en la banda de paso; es decir, no hay distorsión de
fase.
Las funciones fir1 , fir2 , firls , firpm , fircls y fircls1 todos los tipos de diseño I y II
filtros de FIR de fase lineal por defecto. rcosdesign diseña solo filtros de tipo I. Tanto
los firls como los firpm diseño de tipo III y IV de fase lineal brindan un
indicador 'hilbert' o 'differentiator' . cfirpm puede diseñar cualquier tipo de filtro de
fase lineal y también filtros de fase no lineales.

FIR1

El diseño del filtro FIR esta basado en ventana

SINTAXIS
b = fir1(n,Wn)
b = fir1(n,Wn,ftype)
b = fir1( ___ ,window)
b = fir1( ___ ,scaleopt)
DESCRIPCION
b = fir1( n , Wn ) utiliza una ventana de Hamming para diseñar un filtro FIR de paso bajo,
paso de banda o multibanda con fase lineal. El tipo de filtro depende de la cantidad de
elementos de Wn .

b = fir1( n , Wn , ftype ) diseña un filtro de paso bajo, paso alto, paso de banda,
parada de banda o multibanda, según el valor de ftype y la cantidad de elementos de Wn .
b = fir1 ( ___ , window ) diseña el filtro usando el vector especificado en la window y
cualquiera de los argumentos de las sintaxis previas.
b = fir1 ( ___ , scaleopt ) especifica, además, si la respuesta de magnitud del filtro está
normalizada o no.
FIR2

El diseño del filtro FIR esta basado en muestreo de frecuencia

El diseño del filtro FIR esta basado en ventana

SINTAXIS
b = fir2(n,f,m)
b = fir2(n,f,m,npt,lap)
b = fir2( ___ ,window)

DESCRIPCION
b = fir2( n , f,m ) devuelve un filtro FIR n -ordenado con características de frecuencia-
magnitud especificadas en los vectores f y m . La función interpola linealmente la respuesta de
frecuencia deseada en una grilla densa y luego usa la transformada de Fourier inversa y una
ventana de Hamming para obtener los coeficientes de filtro.
b = fir2( n , f,m , npt , lap ) especifica npt , el número de puntos en la cuadrícula de
interpolación y lap , la longitud de la región que fir2 inserta alrededor de puntos de frecuencia
duplicados que especifican los pasos en la respuesta de frecuencia.
b = fir2( ___ , window ) especifica un vector de ventana para usar en el diseño además de
cualquier argumento de entrada de sintaxis previas.

kaiserord

Parámetros de estimación del diseño del filtro FIR de la ventana Kaiser

SINTAXIS
[n,Wn,beta,ftype] = kaiserord(f,a,dev)
[n,Wn,beta,ftype] = kaiserord(f,a,dev,fs)
c = kaiserord(f,a,dev,fs,'cell')

DESCRIPCION
kaiserord devuelve una orden de filtro n y un parámetro beta para especificar una ventana de
Kaiser para su uso con la función fir1 . Dado un conjunto de especificaciones en el dominio de
la frecuencia, kaiserord estima el orden mínimo de filtro FIR que cumplirá aproximadamente
con las especificaciones. kaiserord convierte las especificaciones de filtro dadas en ondas de
banda de paso y banda de paso y convierte las frecuencias de corte en la forma necesaria para
el diseño de filtro FIR con ventana.
[n,Wn,beta,ftype] = kaiserord(f,a,dev) encuentra el orden aproximado n , los bordes de
la banda de frecuencia normalizada Wn y los pesos que cumplen las especificaciones de
entrada f , a y dev . f es un vector de bordes de banda y a es un vector que especifica la
amplitud deseada en las bandas definidas por f . La longitud de f es dos veces la longitud de a ,
menos 2. Juntos, f y a definen una función de respuesta constante por partes deseada. dev es
un vector del mismo tamaño que el que especifica el error o la desviación máxima permitida entre
la respuesta de frecuencia del filtro de salida y su amplitud deseada, para cada banda. Las
entradas en dev especifican la ondulación de paso de banda y la atenuación de banda de
paso. Usted especifica cada entrada en dev como un número positivo, que representa la
ganancia absoluta del filtro (no en decibelios).

FIRLS
Diseño de filtro FIR de fase lineal de mínimos cuadrados

SINTAXIS
b = firls(n,f,a)
b = firls(n,f,a,w)
b = firls(n,f,a, 'ftype' )
b = firls(n,f,a,w, 'ftype' )

DESCRIPCION
firls diseños fase lineal Filtro FIR que minimiza el error cuadrado ponderado e integrado
entre una función lineal por tramos ideal y la respuesta de magnitud del filtro sobre un conjunto
de bandas de frecuencia deseadas.
b = firls(n,f,a) devuelve el vector de fila b contiene los coeficientes n+1 del orden n filtro
FIR cuyas características de frecuencia-amplitud coinciden aproximadamente con las dadas
por los vectores f y a . Los coeficientes del filtro de salida, o "taps", en b obedecen la relación
de simetría.
Estos son filtros de fase lineal tipo I ( n impar) y tipo II ( n par). Los vectores f y a especifican
las características de frecuencia-amplitud del filtro:
 f es un vector de pares de puntos de frecuencia, especificados en el rango entre 0 y 1, donde 1
corresponde a la frecuencia de Nyquist. Las frecuencias deben ser en orden creciente. Los
puntos de frecuencia duplicados están permitidos y, de hecho, se pueden usar para diseñar un
filtro exactamente igual a los devueltos por las funciones fir1 y fir2 con una ventana
rectangular ( rectwin ).
 a es un vector que contiene la amplitud deseada en los puntos especificados en f .
La función de amplitud deseada en las frecuencias entre pares de puntos ( f ( k ), f ( k +1))
para k impar es el segmento de línea que conecta los puntos ( f ( k ), a ( k )) y ( f ( k +
1), a ( k +1)).
La función de amplitud deseada en frecuencias entre pares de puntos ( f ( k ), f ( k +1))
para k incluso no está especificada. Estas son regiones de transición o "no me importa".
 f y a tienen la misma longitud. Esta longitud debe ser un número par.
siempre usa un orden de filtro par para las configuraciones con una banda de paso en la
frecuencia de Nyquist. Esto se debe a que para órdenes impares, la respuesta de frecuencia en
la frecuencia de Nyquist es necesariamente 0. Si especifica un n valores
impares, firlsincrementa en 1.
La siguiente figura ilustra la relación entre los vectores f y a para definir una respuesta de
amplitud deseada.

b = firls(n,f,a,w) usa el pesos en el vector w para ponderar el ajuste en cada banda de


frecuencia. La longitud de w es la mitad de la longitud de f y a , por lo que hay exactamente un
peso por banda.
b = firls(n,f,a, 'ftype' ) y
b = firls(n,f,a,w, 'ftype' ) especifican un tipo de filtro, donde 'ftype' es:

 'hilbert' para filtros de fase lineal con simetría impar (tipo III y tipo IV). Los coeficientes de
salida en b obedecen la relación
Esta clase de filtros incluye el Transformador de Hilbert, que tiene una amplitud deseada de 1
en toda la banda.
 'differentiator' para filtros tipo III y tipo IV, utilizando una técnica de ponderación
especial. Para las bandas de amplitud distintas de cero, el error cuadrado integrado tiene un
peso de (1 / f ) 2, por lo que el error a bajas frecuencias es mucho menor que en las frecuencias
altas. Para los diferenciadores FIR, que tienen una característica de amplitud proporcional a la
frecuencia, los filtros minimizan el error cuadrado integrado relativo (la integral del cuadrado de
la relación del error a la amplitud deseada).

FIRPM
Diseño óptimo de filtros FIR de Parks-McClellan

SINTAXIS
b = firpm(n,f,a)
b = firpm(n,f,a,w)
b = firpm(n,f,a, 'ftype' )
b = firpm(n,f,a,w, 'ftype' )
b = firpm(...,{lgrid})
[b,err] = firpm(...)
[b,err,res] = firpm(...)
b = firpm(n,f,@ fresp ,w)
b = firpm(n,f,@ fresp ,w, 'ftype' )

DESCRIPCION
firpm diseña un filtro FIR de fase lineal utilizando el algoritmo Parks-McClellan [1] . El
algoritmo de Parks-McClellan usa el Algoritmo de intercambio Remez y Teoría de aproximación
de Chebyshev para diseñar filtros con un ajuste óptimo entre las respuestas de frecuencia
deseadas y reales. Los filtros son óptimos en el sentido de que se minimiza el error máximo
entre la respuesta de frecuencia deseada y la respuesta de frecuencia real. Los filtros
diseñados de esta manera muestran una Comportamiento uniforme en sus respuestas de
frecuencia y, a veces, se denominan filtros equirrepentinos . firpm exhibe discontinuidades en
la cabeza y la cola de su respuesta de impulso debido a esta naturaleza equilíptica.
b = firpm(n,f,a) devuelve el vector de fila b contiene los coeficientes n+1 del orden n filtro
FIR cuyas características de amplitud de frecuencia coinciden con las dadas por los
vectores f y a .
Los coeficientes del filtro de salida (derivaciones) en b obedecen a la relación de simetría:
Los vectores f y a especifican las características de frecuencia-magnitud del filtro:

 f es un vector de pares de puntos de frecuencia normalizados, especificados en el rango entre


0 y 1, donde 1 corresponde a la frecuencia de Nyquist. Las frecuencias deben ser en orden
creciente.
 a es un vector que contiene las amplitudes deseadas en los puntos especificados en f.
La amplitud deseada en las frecuencias entre pares de puntos ( f ( k ), f ( k +1)) para k impar es
el segmento de línea que conecta los puntos ( f ( k ), a ( k )) y ( f ( k +1) ), a ( k +1)).
La amplitud deseada en las frecuencias entre pares de puntos ( f ( k ), f ( k +1)) para k incluso
no está especificada. Las áreas entre dichos puntos son regiones de transición o "no me
importa".
 f y a deben tener la misma longitud. La longitud debe ser un número par.
La relación entre los vectores f y a en la definición de una respuesta de frecuencia deseada se
muestra en la ilustración a continuación.
firpm siempre usa un orden de filtro par para configuraciones con simetría uniforme y una
banda de paso distinta de cero en la frecuencia de Nyquist. Esto se debe a que para las
respuestas de impulso que exhiben incluso simetría y órdenes impares, la respuesta de
frecuencia en la frecuencia de Nyquist es necesariamente 0. Si especifica un n valores
impares, firpm incrementa en 1.
b = firpm(n,f,a,w) usa los pesos en el vector w para ponderar el ajuste en cada banda de
frecuencia. La longitud de w es la mitad de la longitud de f y a , por lo que hay exactamente un
peso por banda.

FIRPMORD

Parks-McClellan óptima estimación de orden de filtro FIR

SINTAXIS

[n,fo,ao,w] = firpmord(f,a,dev)
[n,fo,ao,w] = firpmord(f,a,dev,fs)
c = firpmord(f,a,dev,fs,'cell')

DESCRIPCION

[n,fo,ao,w] = firpmord(f,a,dev) encuentra el orden aproximado, los bordes de banda de


frecuencia normalizados, las amplitudes de banda de frecuencia y los pesos que cumplen las
especificaciones de entrada f , a y dev .

 f es un vector de bordes de bandas de frecuencia (entre 0 y F s / 2, donde F s es la frecuencia


de muestreo), y a es un vector que especifica la amplitud deseada en las bandas definidas
por f . La longitud de f es dos menos que el doble de la longitud de a . La función deseada es
constante por partes.
 dev es un vector del mismo tamaño que el que especifica la desviación máxima permitida u
ondas entre la respuesta de frecuencia y la amplitud deseada del filtro de salida para cada
banda.
Use firpm con el orden resultante n , vector de frecuencia fo , vector de respuesta de
amplitud ao , y ponderaciones w para diseñar el filtro b que cumpla aproximadamente con las
especificaciones dadas por los parámetros de entrada firpmord f , a , y dev .
b = firpm (n, fo, ao, w)
[n,fo,ao,w] = firpmord(f,a,dev,fs) especifica una frecuencia de
muestreo fs . fs predetermina a 2 Hz, lo que implica una frecuencia de Nyquist de 1 Hz. Por lo
tanto, puede especificar los bordes de banda escalados a la frecuencia de muestreo de una
aplicación en particular.
c = firpmord(f,a,dev,fs,'cell') genera una matriz de celdas cuyos elementos son los
parámetros a firpm .

También podría gustarte