You are on page 1of 6

1

Universidad de los Andes. Sabogal N. Importancia de las seales biomdicas.

Importancia adquisicin de seales en Matlab usando un dispositivo de sonido.


Sabogal Nio, Angie Nathaly an.sabogal167 @uniandes.edu.co Universidad de los Andes Bogot D.C., Colombia

Resumen Se pretende realizar una revisin


de sobre la importancia adquisicin de seales y su manipulacin partiendo de la tarjeta de sonido integrada en un computador y su transformacin por medio de programas de computacin como Matlab. Para esto se realiz el estudio de herramientas implementadas en Matlab para el desarrollo de un programa que permitiera la adquisicin de una seal de audio en tiempo real por medio del micrfono, dentro de las herramientas se destaca dsp.AudioRecorder System object debido a su fcil implementacin y la versatilidad. Adicionalmente se realiz una revisin en la literatura sobre la implementacin de filtros de seal que permitieran la obtencin de datos de mejor calidad. Se pudo concluir el gran alcance y capacidad de anlisis que se puede desarrollar por medio de la adquisicin de seales y su procesamiento por medio de las herramientas que provee el programa Matlab.

micrfono de la misma computadora servir como el dispositivo de adquisicin de datos. Mediante este trabajo se implemento una metodologa con ayuda de Matlab que permite obtener datos analgicos realizar una secuencia lgica hasta la conversin de una secuencia de nmeros los cuales convierten una seal en una arreglo nmerico de facil manipulacin [1]. Sistemas para la adquisicin de seales se han desarrollado segn las necesidades o aplicaciones. En algunos casos las necesidades eran econmicas, investigativas, esta metodologa se destaca porque es de bajo costo, diferente a la utilizada en los sistemas tpicos para la adquisicin de un otras seales como un electrocardiograma. Este sistema brinda una plataforma dinmica de fcil implmentacin., acceso, divulgacin pero con un gran potencial analtico debido a las herramientas de Matlab [2].

ndice de Trminos Seal, herramientas


de programacin, Filtro. tarjeta de sonido, Matlab,

II.

MARCO TERICO

I. INTRODUCCIN

Por medio del siguiente trabajo de programacin se pretende conocer sobre el funcionamiento del toolbox de adquisicin de datos de MatLab, el cual permite adquirir datos de sensores y enviar seales elctricas que puedes ser utilizadas para el cunatificar fenmenos externos de forma digital. L En este caso se utiliza la tarjeta de sonido que se encuentra en el interior de la computadora, y el

Un concepto relevante es la conversin analgica a digital, este es el hecho de transformar una seal que es analgica tal como la voz, la luz, la seales que emite el corazn en una seal analgica que pueda procesar una computadora, ya que como debe saberse, una computadora es digital y solo puede guardar nmeros discretos. El Hardware que aqu se utiliza el microfono tiene la electrnica que puede tomar mediciones digitales discretas de una seal analgica [3]. Es importante resaltar que la herramienta para adquisicin de datos de Matlab, es un conjunto de herramientas que permiten ser acoplados con

2
Universidad de los Andes. Sabogal N. Importancia de las seales biomdicas. una tarjeta de adquisicin de datos especfica, muy interesantes y de gran utilidad para el desarrollo de sistemas para investigacin y anlisis de seales de audio [3]. A continuacin se muestra el diagrama de adquisicin de datos de matlbas de forma bsica. La tarjeta de sonido A/D muestra la seal a una tasa de muestreo que es especificada por el programa mediante MatLab y almacena los valores en tiempo real para mostralos en la grfica de interfaz. La seal analgica continua que se convertir en una lista de nmeros que corresponden al voltaje en ciertos instantes de tiempo. Para esto lo primero que se hizo fuer crear un dispositivo de entrada analgica y abrir canales de datos de entrada, para la funcin DSP. Audiorecorder, los cuales se especifican a continuacin en resultados. Audio=dsp.AudioRecorder('DeviceNa me',);

Posterior en el cdigo: Vdatos = step(Audio); datos = Vdatos(:,1); tiempo = (0:size(datos,1)1)./s_frecuenciamuestreo;

Diagrama 1. Estructura Herramienta de Matlab para adquisicin de datos.

III. METODOLOGA En la prctica realizada se realiz la implementacin de un codigo en Matlab, con el objetivo principal de adquirir alguna seal de audio mediante el Matlab y la tarjeta de sonido de la PC. Para ello se reviso la documentacin Mathworks [1] que describe la manera de usar la tarjeta de sonido del PC para adquirir seales con Matlab. Y las funciones de DSP Audio. Adicionalmete se implemto una interfaz que permitier grficar los resultados y observar las diferencia obtenidas cuando se utilizan distintas frecuencias de muestreo. Y el resultado al implemntar un filtro tipo pasa banda y pasabaja. Los materiales y equipos para la implementacin fueron PC con Matlab un micrfono y la fuente de seal en este caso la voz humana.

Con lo la lnea anterior se define la tarjeta de sonido de Windows como el dispositivo de entrada analgica y la segunda lnea abre un canal para la entrada de datos. Y adems se declara la variable tiempo de la forma como se esta digitalizando la seal de tal forma que tenemos una digitalizacin de la seal de audio en un tiempo.

Porteriomente se implemento una interfaz grafica y con botones funcionales y como anlisis del ejercicio se investigo filtros utiles de seal los cuales son descritos a continuacin en resultados ara ello se reviso la documentacin Mathworks [1] que describe la manera de implementar estas herramientas disponibles en Matlab.

IV. RESULTADOS

Se implemento una interfaz grfica basica por medio de matlab, la cual consiste bsicamente de

3
Universidad de los Andes. Sabogal N. Importancia de las seales biomdicas. un panel contenedor en el cual se incluyo una grafica y tres botones funcionales. while Salir==0 if Adquirir==0 Vdatos = step(Audio); datos = Vdatos(:,1); tiempo = (0:size(datos,1)1)./s_frecuenciamuestreo; En segundo lugar para la interfaz se implemento la funcin salir, que se activa al orpimir el boton cambiando este por un valor de 1 lo que permite dejar de adquirir datos debido al while anteriormente descrito y cerrar la interfigura del panel. Como se evidencia a continuacin: function salir (ps_HObj,ps_Event,ps_grafica_soni do) salir=1; Adquirir=1; close(interfigura); La herramienta que se implemento como eje central fue dsp.AudioRecorder de Matlab permite recopilar datos de una seal de audio haciendo uso del dispositivo de audio integrado en la compuradora. Para grabar los datos de audio por medio de esta aplicacin implementada en Matlab es necesario, definir varios parametros que permiten la configuracin y acople entre la recopilacin de la seal analoga para tranformarla en digital y permitir su analisis. Los parmetros son los siguientes [1]: DeviceName: Es el disppositivo de partida en el cual se adquieren los datos. Para facilidad esta programado por defecto para que el dispositivo de entrada sea el ordenador estndar. Este permite la implementacin con varios dispositivos de audio validos para la computadora [1]. SampleRate: O frecuencia de muestreo, hace referencia al numero de muestras por segundo que son adquiridas por el dispositivo de audio, por defecto el valor predeterminado es de 44100 [1]. Pero se implemento una de 48000 de acuerdo a las propiedades de la tarjeta de audio. NumChannels: O Nmero de canales de audio el cual es un numero entero, de forma estndar son 2 [1]. Cuando es uno es monofnico, cuando son dos es estereofnico, como en el caso del micrfono del computador. DeviceDataType: Hace referencia de los datos utilizados en el dispositivo para la adquisicin de

Ilustracin 1. Panel de la interfaz desarrollada consta de Tres bonotes funcionales Adquirir, Parar y Salir. Una figura que muestra el grfico de la seal, con ejes x y y.

Boton adquirir: Este se conecto con la interfaz de tal forma que al ser implementado permitier la adquisicin de los datos posterior a pausar la adquisicin del mismo. Se implemento con la variable adquirir incializada en 0. Para lo cual se uso una prueba lgica if en la cual desde que el valor de la variable sea el inicial esta va adquirir datos contenidos en la varible datos. A continuacin prueba lgica. if Adquirir==0 Vdatos = step(Audio); datos = Vdatos(:,1); tiempo = (0:size(datos,1)1)./s_frecuenciamuestreo;

Boton parar= Este botn se implemento para detener la adquisicin de datos, para ello se implemento una prueba lgica en la cual se al oprimir el boton salir se cambia la variable adquirir a 1 por lo cual de acuerdo con lo anterior no se adquieren ms datos.

Boton Salir= Este botn se implemento para salir del panel esta consta de dos partes una en la cual se inicializa en 0. Desde que la variable sea la inicial se adquieren los datos de forma normal, ya que se implemento un while para contener el if de adquirir. Como se muestra a continuacin:

4
Universidad de los Andes. Sabogal N. Importancia de las seales biomdicas. datos de audio el cual determnar el dato de salita puede de 8 bits, 16 bits, 24 bits o de 32 bits [1]. De acuerdo a la implementacin se uso 24 bits de acuerdo a las propiedades especficas de la tarjeta de sonido. BufferSizeSource: Especfica el tamao que se reservar para el almacenamiento de la seal digital, antes de ser procesada [1]. Su implementacin permite una mejor manipulacin de los datos. Buffersize: Este especifica de forma numerica la memoria intermedia en la cual permitir la acumulacin de datos transitorios que van desde el dispositivo de adquisicin de una seal anlagica hasta la seal digital que va a la tarjeta de audio [1]. Por lo cual se encuentra realizando la administracin de la ingformacin recopilada. QueueDuration: Tamao de la cola en segundos, esto significa que por medio de este valor se esta administrando la latencia de uso de la informacin y la decersin de los datos [1]. Por defecto es de 1.0, sin embargo se implemento una de 5 dato que la frecuencia de muestreo es bastante alta y se estaba generando una alta acumulacin de datos al correr el programa. SamplePerFrame: O nmero de muestras en la sea de salida de la grabadora de audio este deber ser un nmero entero., El valor determinado es 1024, para la implementacin se uso el tamao del bufersize, para conectar adecuadamente la administracin de los datos [1]. OutputDataType: Es el tipo de datos resultantes de salida los cuales pueden ser uint8, int16, int32, individual o doble [1]. Se implemento int 16. Se implemento un filtro pasa bajas el principal propsito de este tipo de filtros, es atenuar La seal a altas frecuencias [4]. Este se implento dado que la voz humana se encuentra constituida por una amplia frecuencia de armonicos que van desde los 500 hz hasta 3500 hz y adicionalmente Por otra parte, la energa de la voz est contenida en su mayor parte en las bajas frecuencias y su supresin resta potencia a la voz que suena delgada y con poca energa [5]. Por lo cual se considero realizar un filtro de las altas frecuencias por encima de los 5000 hz. Para ello se implemento una herramienta tipo Butter, que permite crear el las varibles de filtro pasa baja, para el cual se introduce una razn entre la frecuencia alta y la frecuencia de muestreo dinmico fm (frecuencia de muestreo definida anteriormente/2). [b1,a1]=butter(10,5000/fm,'low'); A partir de estos parametro se usa la herramienta filtfilt que permite la filtracin de vector de datos (Senalfiltradanotch) correspondiente a la seal digital de audio para este caso es: Senalfiltradalow=filtfilt(b1,a1,S enalfiltradanotch); El filtro NOTCH se caracteriza por rechazar una frecuencia determinada que este interfiriendo a un circuito, en nuestro caso la frecuencia de 60Hz que es generada por la lnea de potencia. La principal fuente de ruido es la red que suministra la energa elctrica, y lo es porque alrededor de los conductores se produce un campo magntico a la frecuencia de 50 60 Hz. Adems por estos conductores se propagan los parsitos o el ruido producido por otros dispositivos elctricos o electrnicos. [6] Por lo cual se quiz eliminar esta banda de frecuencia en el procesamiento de los datos. Para ello se uso la herramienta iirnotch de matlab que permite la creacin de los parmetros para el filtro tipo rechaza banda. Para el cual R corresponde a la razn entre la frecuencia filtrada en este caso 60 hz y fm que es la frecuencia dinamica previamente explicada. Y A corresponde a la amplitud de banda que esta dada la razn entre R y un factor de calidad de filtrado de la seal . Posteriormente es posible usar la herramienta filter que trabaja con un vertor fila con un complejo de datos de tipo real o complejo. Para este caso se filtro el arreglo de datos como vector fila de la seal digital de la seal de audio (datos). Se realiz la conversin de datos int 16 a double debido a que la funcin filter solo recibe datyos de este tipo. [b,a] = iirnotch(R,A); datosc=double(datos); Senalfiltradanotch = filter(b,a,datosc);

Para darle funcionamiento adecuado a los Callback se implemento una lgica boolean, lo

5
Universidad de los Andes. Sabogal N. Importancia de las seales biomdicas. que permite la incializacin de las variables que representan los botones en 0, y posteriormente su cambio a la variable 1 indica su activacin. Los valores de inicializacin son los mismos que se usan para realizar la secuencia lgica que ancla la interfaz con la adquisicin de los datos de la seal de audio en tiempo real. A continuacin se muestra la interfaz final con la seal adquirida por medio del microfono del computador la cual es digitalizada para ser manipulada en Matlab. Se penso el programa general para que mostrar tanto la seal adquirida en verde (Ilustracin 2 y 3), y la seal resultado despes del proceso de filtrado (Ilustracin 3 y 4).

Ilustracin 5. Interfaz desarrollada en Matlab adquisicin de seal de audio. Se muestra la seal adquirida por medio de micrfono de la computadora, en la grfica se muestra nicamente la seal adquirida.

Ilustracin 4. Interfaz desarrollada en Matlab adquisicin de seal de audio. Se muestra la seal adquirida por medio de micrfono de la computadora, en la grfica se muestra en VERDE la seal adquirida y en AZUL la seal filtrada.

Ilustracin 6. Interfaz desarrollada en Matlab adquisicin de seal de audio. Se muestra la seal adquirida por medio de micrfono de la computadora, en la grfica se muestra nicamente la seal filtrada.

A continuacin se muestran pantallazos en las cuales se modific el programa para mostrar nicamente la seal, ya sea adquirida o filtrada, con el fin de mostrar que los resultados de forma grfica posterior al implemento de los filtros es bastante diferente.

V. CONCLUSIONES Mediante la implementacin de este programa se pudo conocer una de las formas que se tienen para obtener datos analgicos y poder convertirlos a una secuencia de nmeros que pueden ser procesados y manipulado en la computadora. Por lo que se realizo una conversin analgica a digital, lo que permitio implementar mediante herramientas matemticas filtros con un sentido especifico de eliminacin de ruidos y adems mejora de la seal finalmente adquirida mediante el programa computacional implementado.

6
Universidad de los Andes. Sabogal N. Importancia de las seales biomdicas. Es importante resaltar que las herramientas DSP audio de Matlab son ampliamente verstiles y permiten de forma rpida y efectiva manipular datos de audio, que proporcionan en conjunto una herramienta de programacin con amplio potencial para el anlisis y estudio de seales biolgicas. VI.REFERENCIAS

http://www.fluke.com/fluke/ares/solucio nes/calidad-potencia/notas-deaplicacion/ruido-electrico-ytransitorios.htm. [ltimo acceso: 8 Marzo 2014].

[1] Mathworks, Documentation Center, 2014. [En lnea]. Available: http://www.mathworks.com/help/dsp/re f/dsp.audiorecorderclass.html. [ltimo acceso: 8 Marzo 2014]. [2] Universidad Tecnolgica de Pereira., System for the acquisition of electrocardiographic signals by the use of Matlab, Scientia et Technica Ao XV, n 44, 2010. [3] Instituto Mrida, adquisicin de seales mediante MatLab, Yucatn, Mxico, 2011. [4] Unal, Filtro pasa bajos, [En lnea]. Available: http://www.virtual.unal.edu.co/cursos/in genieria/2001603/lecciones/cap9/cap9le c4/cap9lec4.htm. [ltimo acceso: 8 Marzo 2014]. [5] EHU, Los Voz Humana, 2009. [En lnea]. Available: http://www.ehu.es/acustica/espanol/mu sica/vohues/vohues.html. [ltimo acceso: 8 Marzo 2014]. [6] Fluke, Ruido elctrico y transitorios, 2010. [En lnea]. Available:

You might also like