MATLAB es un paquete de análisis líder en procesamiento digital de señales 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
filtrado para eliminar las frecuencias se basa en la búsqueda de una función de transferencia en el dominio de la frecuencia que selecciona el rango y la magnitud de las frecuencias de incluir en la señal filtrada . Una transformada de Fourier inversa se aplica entonces a la función de dominio de 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 de selección utilizando la operación de convolución . Alternativamente , usted 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 inversa de Fourier . Esto puede ser más rápido de ejecutar, como convolución es una operación costosa computacionalmente .
Uso lisa ()
MATLAB contiene la función lisa () para eliminar el ruido de alta frecuencia en una señal sin necesidad de determinar el punto de corte de frecuencia exacta 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 utiliza un lapso de 10 puntos de datos y los robustos ponderados mínimos cuadrados lineales funcionan con un modelo de segundo grado del polinomio
my_smoothed_data = suave ( my_data ) . My_smoothed_data = suave ( my_data , 10 , ' rloess ' ) ;
Uso filter ()
La función de filtro de MATLAB se utiliza para aplicar un filtro digital de una dimensión a una señal. Para aplicar un filtro de paso bajo con una determinada frecuencia de corte , utilice el siguiente código:
my_filtered_data = filtro ( frecuencia , [ 1 frec - 1 ] , my_data ) ;
La variable frecuencia es igual a T /t, donde " t " es el tiempo entre muestras y "t" es la constante de tiempo del filtro de frecuencia .
Custom Filters
A menudo, los filtros de paso bajo no tendrán un límite de frecuencia exacta , pasando todas las frecuencias por debajo del corte y la exclusión de todas las frecuencias por encima del límite . De hecho , ya que los datos es discreto , un filtro de paso bajo ideal es imposible de aplicar. Cualquier filtro arbitrario puede ser diseñado en MATLAB y se aplica mediante la función conv ( ) , la aplicación de convolución , de la siguiente manera :
my_new_signal = conv ( my_signal , my_filter , "mismo" ) ;
< br >