Tecnología

Inicio

Filtro rampa en MATLAB

Filtro rampa en MATLAB


MATLAB es un paquete de software profesional que proporciona funciones de pre-escritos para aplicaciones técnicas tales como el análisis de señales digitales. En el procesamiento de señales, a menudo es necesario filtrar una señal mediante la alteración de la contribución de las señales con varias frecuencias. Un filtro de rampa lineal es un filtro que proporciona una respuesta lineal creciente o decreciente de frecuencia a través de una gama de frecuencias.

Filtro rampa

En el dominio de la frecuencia, un filtro de rampa está representada por una función monótona creciente que se parece a una rampa. La función es simétrica alrededor de cero. Cuando el filtro de rampa se convoluciona con otra señal que hace hincapié en cualquiera de las frecuencias altas o bajas. El dominio del tiempo transformar del filtro de rampa es un pulso de llamada simétrica en torno a cero.

Utilizar

filtros rampa lineal se utilizan en una variedad de aplicaciones de formación de imágenes ópticas y médicos, tales como análisis de imágenes médicas. Debido a que un filtro de rampa pasa frecuencias en el pico de la rampa, y excluye o reduce otros, se puede utilizar, en la práctica, como un filtro de paso de banda estrecha. Lineales filtros de rampa se utilizan comúnmente en el análisis de modalidades de imágenes en el que los artefactos de retrodispersión necesitan ser removidos.

Creación

MATLAB no proporciona un constructor existente para un filtro de rampa lineal, sin embargo, es fácil crear una con funciones básicas de MATLAB. Uno de los lados de la rampa se puede crear utilizando la función linspace (), entonces se invierte y combinado.

half_space_size = 128;
H = linspace (0, 2 * pi, half_space_size);
H_ramp = [HH (al final de 1: -1: 2)];

a continuación, se toma de Fourier discreta inversa transformar del filtro de rampa, y el filtro se normaliza a una intensidad máxima de uno.

h_ramp = ifftshift (IFFT (H_ramp));
h_ramp = h_ramp / max (h_ramp);

Lejos de cero, h_ramp está muy cerca de cero. Un subconjunto de h_ramp alrededor de cero se pueden tomar para optimizar el rendimiento y sin una disminución notable en la precisión.

Aplicar el filtro de

Los filtros pueden ser aplicados utilizando la operación de convolución mediante la ejecución de la función conv (). La opción "igual" se invoca para devolver un resultado que es de las mismas dimensiones que la variable my_signal.

my_filtered_signal = conv (my_signal, h_ramp, "mismo");