Você está na página 1de 3

Herramientas de MATLAB. Pg.

1/3

ANEXO 1: MATLAB
MATLAB como Herramientas de procesamiento de seales
MATLAB tiene una Caja de Herramientas (Toolbox) dotada de funciones que se encuentran comnmente en el procesamiento digital de seales (DSP). Estas funciones estn escritas a partir de las rutinas bsicas de MATLAB, lo cual permite utilizarlas sin tener que escribirlas. Visite el icono de Toolbox y siga las instrucciones en el icono de procesamiento de seales.

Generacin de seales
En MATLAB, las seales se representan bien como vectores (unidimensionales) o como matrices (bidimensionales). Para generar una secuencia de seal se debe especificar cada elemento de la seal o utilizar las funciones matemticas estndar. Con mucha frecuencia interesa generar seales senoidales o seales aleatorias. Generemos una seal que tenga una componente senoidal de 25 Hz, muestreada a 10.000 muestras por segundo. t=0:0.0001:1; y=sin(2*pi*25*t); plot(y(1:1000))

Ahora, generemos una seal que tenga componentes senoidales de 25 Hz y de 35 Hz, muestreadas a 10.000 muestras por segundo. t=0:0.0001:1; y=sin(2*pi*25*t) + sin(2*pi*35*t); plot(y(1:1000))

2006-ECG

Herramientas de MATLAB. Pg. 2/3

Hemos generado una seal y que tiene 10.001 elementos de longitud (10.001 valores o muestras por segundo). Agreguemos algo de ruido aleatorio con una desviacin estndar de 0.1 a la seal anterior. Los comandos rand y randn son las rutinas de MATLAB usadas para generar secuencias aleatorias con distribuciones uniforme o normal, respectivamente. As, yn= y + 0.1*randn(1, length(t)); Ahora grafique esta nueva seal y observe como se ve. t=0:0.0001:1; y=sin(2*pi*25*t) + sin(2*pi*35*t); yn= y + 0.1*randn(1, length(t)); plot(yn(1:1000))

En otra escala yn(1:3000) En cualquier caso, este grfico no nos da ninguna informacin til sobre la seal. Es difcil identificar los componentes de frecuencia con slo mirar la seal original. Una forma alternativa de ver esta seal es en el dominio de la frecuencia mediante Transformadas de Fourier, ms concretamente mediante la transformada rpida de Fourier (FFT), que es un algoritmo que ayuda a simplificar las operaciones matemticas. Obtengamos una FFT de 128 puntos de la seal yn. Esto se puede hacer muy fcil en MATLAB usando el siguiente comando: Yn=fft(yn) Dado que Yn es un nmero complejo, no podemos graficarlo directamente para visualizar la transformada de Fourier. Necesitamos realizar otras dos operaciones simples para poder hacerlo: Primero necesitamos definir el eje de frecuencia de Nyquist. Dado que solamente necesitamos los primeros 65 elementos (128/2 1) de Yn, puesto que es una transformada de 128 puntos; la variable frecuencia f esta dada por: f=(0:64) Segundo, definamos la amplitud de la seal en el eje de las abscisas, como la seal multiplicada por su conjugada. A=Yn.*conj(Yn); Y ahora grafique la FFT usando la funcin plot: t=0:0.0001:1; y=sin(2*pi*25*t) + sin(2*pi*35*t); yn= y + 0.1*randn(1, length(t)); Yn=fft(yn); A=Yn.*conj(Yn); f= (0:64); plot(f, A(1:65))
2006-ECG

Herramientas de MATLAB. Pg. 3/3

Resulta obvio a partir de este grfico que la seal esta compuesta de dos sinusoides a las frecuencias especificadas ms algo de ruido. Es importante darse cuenta que segn lo que se ve, una senoide no siempre aparece como una simple lnea vertical. Lo que se ve es el ancho y la forma del filtro pasobanda, no los de la seal. Tambin se puede manipular y procesar las seales para analizar diferentes caractersticas. Por ejemplo, se puede extraer el componente de 25 Hz de la seal que acabamos de generar con solo usar la informacin de la transformada de Fourier. La primera tarea para lograr esto es disear un filtro con una respuesta en frecuencia deseada tal que la salida del filtro contenga solamente el componente de 25 Hz.

2006-ECG

Você também pode gostar