Saltar navegación

Documentación de FlexPro 2025

Filter

Filtra un conjunto de datos con un filtro de Finite Impulse Response (FIR) o de Infinite Impulse Response (IIR).

Sintaxis

Filter(DataSet, b, [ a ] [ , PhaseCorrection = FALSE ])
o
Filter(DataSet, FilterCoefficients [ , PhaseCorrection = FALSE ])

 

La sintaxis de la función Filter consta de los siguientes elementos:

Parte

Descripción

DataSet

El conjunto de datos que se va a filtrar.

Las estructuras de datos permitidas son Serie de datos, Matriz de datos, Señal y Serie de señales. Se permiten todos los tipos de datos numéricos.

Si el argumento es una lista, la función se ejecuta para cada elemento de la lista y el resultado también es una lista.

b

Una serie de datos con los coeficientes del numerador de la función de transferencia del filtro. En el caso de un filtro IIR, como alternativa se puede utilizar una matriz de tres líneas con los coeficientes del numerador de una cascada de filtros de 2.° orden.

Las estructuras de datos permitidas son Serie de datos, Matriz de datos y Lista. Se permiten todos los tipos de datos numéricos excepto Tiempo de calendario y Intervalo de tiempo.

a

Una serie de datos con los coeficientes del denominador de la función de transferencia del filtro. Como alternativa, puede usarse una matriz de tres filas con los coeficientes de los denominadores de una cascada de filtros de 2.° orden.

Las estructuras de datos permitidas son Serie de datos, Matriz de datos y Lista. Se permiten todos los tipos de datos numéricos excepto Tiempo de calendario y Intervalo de tiempo.

FilterCoefficients

Una lista con los coeficientes del numerador y denominador de la función de transferencia del filtro. Los elementos de la lista deben denominarse con "b" y "a". Estos pueden utilizarse como series de datos o como matrices de datos de tres filas para los coeficientes de una cascada de filtros de 2.º orden. Si no se especifican nombres, el primer elemento de la lista se usará como "b" y el segundo como "a". Si DataSet es una lista, este argumento puede pasarse opcionalmente como una lista de listas.

Las estructuras de datos permitidas son Lista. Se permiten todos los tipos de datos numéricos excepto Tiempo de calendario y Intervalo de tiempo.

PhaseCorrection

El valor TRUE indica que se realiza una corrección de fase después del filtrado. Para ello, en filtros Infinite-Impulse-Response (IIR) se aplica doble filtrado, uno hacia delante y otra hacia atrás. Con filtros Finite-Impulse-Response (FIR), la corrección de fase se realiza mediante la fórmula t = T/2 (L - 1) si el filtro es impar o t = LT/2 si el filtro es par (L = longitud del filtro). La corrección de fase solo está disponible si se ha adquirido la licencia de la opción Filtros digitales.

Las estructuras de datos permitidas son Valor escalar. Los tipos de datos permitidos son Valor booleano.

Si el argumento es una lista, se toma su primer elemento. Si se trata de nuevo de una lista, se repite el proceso.

Se establece el valor predeterminado FALSE si no se especifica el argumento.

Notas

El resultado tiene la misma estructura y unidad que el argumento DataSet.

Los valores se convierten en números en coma flotante de 64 bits reales o complejos antes del filtrado. El tipo de datos del resultado siempre es número en coma flotante de 64 bits real o complejo. Si se especifican los coeficientes del denominador a el primer valor de esta serie de datos o la primera fila de la matriz de tres filas en el caso de una representación en cascada debe ser igual a uno. En caso contrario, los coeficientes del filtro se normalizan con el valor especificado. El primer valor de a no debe ser cero. En el caso de un gráfico de cascada, la primera fila de la matriz de tres filas no debe contener ningún cero. La función implementa el filtro como un sistema LTI con "transposed direct form II" según el siguiente diagrama de bloques:

Esta estructura corresponde al siguiente sistema de ecuaciones en diferencias:

Disponibilidad

FlexPro Basic, Professional, Developer Suite

Ejemplos

Filter(Signal, 0.25 # 4)

Alisa una señal con una media móvil con un ancho de alisado de 4.

Filter(Signal, [<b> {-0.245, -0.245}, <a> {-1, 0.509} ])

Realiza un filtrado paso bajo con un filtro IIR unipolar.

Véase también

Función Filter

Función FIRFilterEquiripple

Función FIRFilterWindow

Función IIRFilter

Función Clip

Objeto de análisis Filtro IIR

Objeto de análisis Filtro FIR (método Equiripple)

Objeto de análisis Filtro FIR (método de ventana)

Tutorial Filtros digitales

Bibliografía

[1] "Oppenheim, A. V. and Schafer, R. W.": "Discrete-Time Signal Processing, 2nd Edition". "Prentice Hall, New Jersey", 1999. ISBN 0-13-754920-2.