una señal ruido quitar promediador procesamiento pasa para imagenes gaussiano filtros filtro espaciales codigo bajos bajas matlab filter signal-processing

señal - MATLAB: aplique un filtro de paso bajo o paso alto a una matriz



filtros espaciales procesamiento de imagenes (2)

Puede diseñar un filtro Butterworth de paso bajo en tiempo de ejecución, usando la función butter() y luego aplicarlo a la señal.

fc = 300; % Cut off frequency fs = 1000; % Sampling rate [b,a] = butter(6,fc/(fs/2)); % Butterworth filter of order 6 x = filter(b,a,signal); % Will be the filtered signal

Los filtros de paso alto y paso de banda también son posibles con este método. Ver https://www.mathworks.com/help/signal/ref/butter.html

¿Existe alguna manera fácil de aplicar un filtro de paso bajo o paso alto a una matriz en MATLAB? Estoy un poco abrumado por el poder de MATLAB (¿o la complejidad de las matemáticas?) Y necesito una función fácil o alguna orientación ya que no pude encontrarla en la documentación ni en la web.


seguro, mira la función de filter .

Si solo necesitas un filtro de paso bajo de 1 polo, es

xfilt = filter(a, [1 a-1], x);

donde a = T / τ, T = el tiempo entre muestras, y τ (tau) es la constante de tiempo del filtro.

Aquí está el filtro de paso alto correspondiente:

xfilt = filter([1-a a-1],[1 a-1], x);

Si necesita diseñar un filtro y tiene una licencia para Signal Processing Toolbox, hay fvtool funciones , fvtool y fdatool .