Contenido
MATLAB es una herramienta de programación que se puede utilizar para analizar y procesar señales detalladamente. Una operación común en el procesamiento de señales en una o varias dimensiones es la remoción del ruido de alta frecuencia. Un filtro de paso bajo, por definición, está diseñado para extraer de una señal las frecuencias que están por encima de un cierto valor. Utilizar la función filter2 () en MATLAB es una forma de implementar dicho filtro.
instrucciones
La función filter2 () de MATLAB permite implementar un filtro de paso bajo (Hemera Technologies / AbleStock.com / Getty Images)-
Importe sus datos en MATLAB. A menudo, las señales que se deben filtrar se guardan en formato binario, requiriendo una función de E / S de bajo nivel, como fread (), para ser importados. Sin embargo, MATLAB incluye importadores de imágenes a los formatos más comunes.
my_data = fread (file_handle, n_samples, data_type); my_image = imread ('my_image_file.tif', 'TIFF');
-
Convierte los datos a una matriz bidimensional antes de procesarla con la función filter2 (). Usted puede hacerlo convirtiendo una matriz binaria unidimensional a una matriz por medio de la función reshape (), o seleccionando una imagen de una serie. Utilice la función squeeze () para quitar dimensiones "singleton" al seleccionar una parte de una matriz de más de dos dimensiones.
my_image = reshape (my_data, width, height); my_other_image = squeeze (my_image_series (:,:, image_number));
-
Dibuje su filtro y almacene el resultado en una matriz bidimensional H. Generalmente un filtro de paso bajo utiliza una "ventana gaussiana" que se puede crear con la función fspecial (). Los filtros también se pueden dibujar con la función especial de procesamiento de señales sptool (). Usted puede ver la respuesta en frecuencia de la ventana de su filtro usando la función wvtool (). En el código de ejemplo, H es una matriz de 24x24 que contiene una ventana gaussiana de desviación estándar 10.
H = fspecial ('gaussian', [24 24], 10); wvtool (H);
-
Realice el filtrado utilizando el algoritmo de convolución bidimensional implementado a través de filter2 (). De forma predeterminada, el resultado de filter2 () tiene las mismas dimensiones que el conjunto de datos de entrada.
my_filtered_data = filter2 (my_data, H);