La función de paso bajo en MATLAB

by admin

La función de paso bajo en MATLAB

MATLAB es un paquete que lleva el análisis para el procesamiento de señales digitales y otras variedades de análisis técnico. El procesamiento de señales considera que cualquier señal de datos arbitraria se compone de la suma de muchas señales de diferentes frecuencias. A menudo, las señales de diferentes fuentes, o ruido, tendrán diferentes frecuencias. Las señales de alta frecuencia se pueden eliminar mediante la convolución de una señal con un filtro de paso bajo.

Filtro de paso bajo

El filtrado para eliminar las frecuencias se basa en encontrar una función de transferencia en el dominio de la frecuencia que selecciona el rango y la magnitud de las frecuencias para incluir en la señal filtrada. Una transformada de Fourier inversa se aplica entonces a la función de dominio de la frecuencia para obtener el filtro de dominio de tiempo con la función de transferencia de frecuencia seleccionada. El filtro de dominio de tiempo se aplica entonces a la señal que decida con la operación de convolución. Como alternativa, se puede tomar la transformada de Fourier de la señal de dominio de tiempo y se multiplica por la función de transferencia de dominio de frecuencia del filtro, antes de aplicar una transformada de Fourier inversa. Esto puede ser más rápido de ejecutar, como la convolución es una operación costosa computacionalmente.

Usando liso ()

MATLAB contiene la función lisa () para eliminar el ruido de alta frecuencia en una señal sin necesidad de determinar la frecuencia de corte exacto para un filtro de paso bajo. Por defecto, MATLAB utiliza un filtro de media móvil de cinco puntos de datos adyacentes. El segundo ejemplo se utiliza un lapso de 10 puntos de datos y el robusto lineal por mínimos cuadrados ponderados función con un modelo polinomial de segundo grado.

my_smoothed_data = lisa (my_data);
my_smoothed_data = lisa (my_data, 10, 'rloess');

Uso de filtro ()

La función de filtro de MATLAB se utiliza para aplicar un filtro digital unidimensional a una señal. Para aplicar un filtro de paso bajo con una cierta frecuencia de corte, utilice el siguiente código:

my_filtered_data = filtro (frecuencia, [1 frec-1], my_data);

La variable frec es igual a T / t, donde "t" es el tiempo entre muestras y "t" es la constante de tiempo del filtro de frecuencia.

Los filtros personalizados

A menudo, los filtros de paso bajo no tendrán un corte de frecuencia exacta, pasando todas las frecuencias por debajo del punto de corte y excluyendo todas las frecuencias por encima del punto de corte. De hecho, ya que los datos es discreto, un filtro de paso bajo perfecto es imposible de aplicar. Cualquier filtro arbitrario puede ser diseñado en MATLAB y se aplica usando la función conv (), la aplicación de convolución, como sigue:

my_new_signal = conv (my_signal, my_filter, "mismo");

ETIQUETA: