indentificador de voz con labview

Prueba y diseño de etapas de acondicionamiento de sonido y reconocimiento de sonido versión 1.0. Alejandro Barajas Casti

Views 120 Downloads 0 File size 684KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

  • Author / Uploaded
  • ilixx
Citation preview

Prueba y diseño de etapas de acondicionamiento de sonido y reconocimiento de sonido versión 1.0. Alejandro Barajas Castillo1 Alan Jiménez Ramírez 1 1 Facultad de Ingeniería Eléctrica Universidad Michoacana de San Nicolás de Hidalgo.

Las señales son convertidas a formato digital para facilitar su transmisión o almacenamiento. Es posible realizar mediante el procesamiento digital de señales acciones imposibles de obtener mediante el procesamiento analógico (por ejemplo, filtros con respuesta de frecuencia determinada).

Resumen—realizar una pre amplificación de una señal de audio para poder capturar dicha señal desde una tarjeta de adquisición de datos de national instrumet para posteriormente con ayuda de Labview normalizarla y así mediante el método de correlación compararla con una base de audio previamente definida para realizar un reconocimiento de sonidos tonos o audio.

El procesamiento se hace en forma digital porque éste es usualmente más cómodo de realizar y más barato de implementar que en el procesamiento analógico. Además las señales digitales requieren usualmente menos ancho de banda y pueden ser comprimidas. Sin embargo, hay pérdida por ruido al convertir la información continua en discreta.

El programa desarrollado se basa en la respuesta del método de correlación realizado entre la base de datos de audio y la señal capturada, si la respuesta del método esta dentro de un umbral se realiza una acción de control. Señal de Audio digital, Correlación, Normalización, Labview, Control.

II. Pre-amplificación y adquisición de la señal de audio: La adquisición de la señal de audio se realizo como se muestra en la figura 1.

I. Introducción: Comúnmente las señales en la naturaleza nos llegan en forma analógica, también existen casos en que estas son por su naturaleza digitales. Este proyecto está enfocado al procesamiento de señales de sonido audio. El procesamiento se hace en señales digitales por diferentes razones: Una señal digital es más fácil de procesar que una analógica.

[1]

Figura 1.-Pre-amplificación y adquisición de audio: Se adquiere la señal de audio de un micrófono con una amplificación previa para tratar de que la señal que lea la DAQ (tarjeta de adquisición) no sea muy débil y así poder diferenciar la señal de audio de cualquier señal de ruido que se pudiera presentar.

Figura 3.- Adquisición de audio mediante la DAQ.

III. Almacenamiento de la base de audio con labview:

En las figuras 2 y 3 tenemos dos bloques de secuencias, ambas aparecen en orden. En la secuencia cero (figura 2) lo que se hace es una espera de tiempo para asegurarse de que el usuario esté listo prendiendo un LED amarillo para indicar que se prepare para la captura de voz, al pasar 1 segundo de que se encendió el LED amarillo se enciende el LED verde, el cual en cuanto se enciendo brinca a la secuencia 1, en la cual se empieza a realizar la captura durante medio segundo por medio de la DAQ configurada como una entrada diferencial analógica de lectura de voltaje, una vez capturada la señal, se le mete una amplificación para tener la señal de audio en un rango de voltaje aceptable y poderla manejar de manera más fácil. La señal adquirida es almacenada en un arreglo temporal y presentada en una grafica para darnos una idea de cómo es la forma de la onda de voz que llego, este proceso lo realizamos un par de veces comparando visualmente las graficas y eligiendo una que tenga un patrón que haya aparecido más veces. Una vez seleccionada la mejor muestra a nuestro parecer, lo que hacemos es almacenarla en una variable global, esto con el fin de crear una base de datos para poder utilizar en cualquier VI que queramos.

Se utilizo la interface grafica de programación labview, nuestro programa trata de reconocer y comparar (con una base de audio fija) un comando de voz para realizar una acción, en este caso en encendido y apagado de un motor y la graficación por medio de MATLAB de la forma de onda de voz que se está capturando. Para realizar esto, fue necesario el manipular un poco la señal de entrada. Primero se inicia desde la captura de la señal de voz, la cual se muestra en la figura 2 y 3.

Figura 2.- Espera de tiempo e indicadores booleanos para asegurarse de que el usuario esté listo.

IV. Programa principal: Comparación de la base de datos de audio con la señal de audio registrada: [2]

de tiempo como se puede observar en la figura 5.

La estructura general del programa con el que se realiza la comparación de la base de datos de audio con la señal voz que se adquiere se muestra en la figura 4. 3 1 4

Figura 5.-Adquisición de la señal a capturar. Esta parte del código aparece en nuestro panel frontal en forma de dos indicadores booleanos o LED que son el de “preparado” y el de “ya!”, también aparece un indicador numérico de arreglo, simplemente para mostrar numéricamente los datos capturados de la señal de voz como se observa en la figura 6.

2

Figura 4.-Diagrama del programa principal donde se realiza la comparación de las señales de audio. El programa principal consta de 4 etapas: 1.- Captura de voz 2.- Discriminación del ruido 3.- Comparación con el primer elemento de la base de audio. 4.- Comparación con el segundo elemento de la base de audio.

Figura 6.-Panel frontal de la etapa 1. IV.II ETAPA2. Discriminación del ruido Una vez realizada la etapa uno o la captura de voz, pasamos a la etapa de discriminación del ruido, en la cual si la señal capturada es menor de .5 volts de amplitud se envía un arreglo lleno de ceros, para evitar confusiones con el cuadro de normalización que explicaremos más adelante. Esta comparación se realiza mediante un cuadro que entrega el máximo y mínimo de un arreglo como se observa en la figura 7.

IV.I ETAPA 1. Captura de voz: En esta etapa esta lo necesario para la captura de voz por medio de la DAQ que es exactamente el mismo diagrama presentado para tomar la captura de los arreglos para la creación de las base de datos de audio (figura 2 y 3), con la diferencia de que ahora la captura de voz se realiza durante un poco más

[3]

normalización , dicho bloque lo que hace es tomar la señal y escalarla dentro de un rango de -1 a 1 de amplitud, de esta forma si nuestra señal de entrada llega a una amplitud de 20, la escalara a que ese máximo valor llegue a 1, esto lo hacemos para tener en la misma escala de comparación tanto la señal de voz capturada como la del comando almacenado en la base de datos de audio.

Figura 7.-Panel frontal de la etapa 2. IV.III ETAPA 3 Comparación de la señal de audio con el primer elemento de la base de audio.

Figura 9.-Normalización y correlación de las señales de audio. Una vez pasado el primer cuadro de normalización, lo que sigue es leer la variable que queremos de la base de datos, en este caso tenemos seleccionada la palabra “motor” como se muestra en la figura 9. La grafica de la señal de audio correspondiente a la palabra “motor” la desplegamos en una grafica llamada tonos y a su vez la introducimos en un cuadro de normalización, para posteriormente meterla en un cuadro de correlación . El cual compara las 2 señales de audio y nos indica la fuerza y la dirección de la relación lineal entre estas 2 variables o señale aleatorias. (el de la voz capturada, y el de la voz en la base de datos), entre mas se parezcan las dos

Figura 8.- Panel frontal de la etapa 3. En esta etapa lo que se hace una vez que se paso la etapa de discriminación de ruido, es que la señal se introduce en el bloque de

[4]

señales, mayor será el grado de correlación que tendrán, posteriormente, lo que hacemos es leer de ese arreglo generado por la correlación su valor máximo el cual comparamos en un “umbral” creado por un arreglo de compuertas analógicas como se observa en la figura 9, y si esta dentro de este rango, el cual definimos con pruebas repetidas enviando el mismo comando de voz para obtener el valor mínimos y el máximo el cual obtuvimos realizando la correlación con la misma señal (caso en el cual la palabra se dice exactamente igual a la almacenada); lo que hacemos si esta dentro de este rango es enviar un 1 lógico el cual enciende el LED de motor con el que indicamos actividad en el motor, ese mismo 1 lógico lo enviamos a un subVI llamado “ventilador”.

ventilador, si estaba apagado lo enciende, si estaba encendido lo apaga, el ventilador se controla mediante una salida digital creada por la DAQ, en el caso de que sea verdadera la condición del “case” se envía un arreglo a la DAQ en donde dice que salidas del puerto digital se van a encender y cuando sea falso, va a apagar esas salidas que se encendieron. IV.IV ETAPA 4 Comparación de la señal de audio con el segundo elemento de la base de audio.

El subVI “ventilador” está formado como se muestra en la figura 10 y 11.

Figura 10. SubVI “ventilador” condición verdadera.

Figura 11.-Normalización y correlación de la segunda señal de audio con la base de audio.

Figura 10.-SubVI “ventilador” condición falsa.

En esta etapa (figura 11) se realiza lo mismo, una vez que se adquiere la señal de voz de entrada, se compara con una arreglo de la base de datos, en este caso la variable global “apaga”, la cual es graficada en la misma grafica llamada tonos con la señal del la base de datos de la etapa 3. Una vez normalizadas ambas señales se introducen al cuadro de correlación y de ahí se grafica el grado de correlación, simplemente para dar información visual de lo que está pasando, y también como en la etapa 3 lo que se hace es leer el máximo valor de esa correlación y ver si cae dentro del umbral definido para esa palabra, con lo cual si es verdad, lo que hace es prender el LED de grafica y enviar a un

Este VI trabaja de manera sencilla, recibe una entrada booleana, la cual es enviada por nuestro programa principal, una vez que recibe la entrada lo compara, y con el arreglo de la XOR con un registro de corrimiento, lo que se hace es conmutar el estado del [5]

case un “verdadero” para llamar a MATLAB y posteriormente graficar la señal de entrada o de la voz capturada. Todo este proceso se realiza dentro de un “while” en el cual tenemos un botón esperando ser presionado para iniciar la captura de voz, con lo cual aseguramos que solo cuando se presione el botón se realizara la captura de voz.

cuándo se va a realizar la captura del comando y los valores que arroja la correlación en relación de ambas palabras tanto en un indicador numérico como en un indicado grafico. VI.- Conclusiones: Algunas de las ventajas que pudimos observar durante el proyecto de las señales digitales fue lo siguiente:

V.- panel frontal del programa principal.

Ventajas:

El panel frontal del programa principal está construido como se muestra en la figura 12.

La señal discreta (digital) es más fácil de transmitir, almacenar o manipular (en el caso del sonido: editar, comprimir, etc.). La señal digital es inmune al ruido. La señal digital es menos sensible que la analógica a las interferencias, etc. Desventajas: Se necesita una conversión analógica-digital previa y una decodificación posterior, en el momento de la recepción. Hay una pérdida inherente de información al convertir la información continua en discreta. Por mínimo e insignificante que resulte siempre hay un error de cuantificación que impide que la señal digital sea exactamente equivalente a la analógica que la originó. La señal digital requiere mayor ancho de banda para ser transmitida que la analógica. Además, requiere una sincronización precisa entre los tiempos del reloj de transmisor, con respecto a los del receptor. Un desfase, por mínimo que sea, cambia por completo la señal.

Figura 12.-Panel frontal programa principal.

También hemos encontrado dificultades en al momento de aplicar la correlación para comparar las señales de interés ya que hay

En el panel frontal se presenta la información más interesante del proceso, los LEDs que indican la actividad así como para indicar

[6]

señales cuya correlación es muy parecida y su comparación se hace más difícil.

Alejandro Barajas Castillo nació en Morelia, Michoacán, el 24 de octubre de 1988. Es estudiante de la facultad de ingeniería eléctrica de la Universidad Michoacana de San Nicolás de Hidalgo. Sus intereses son en el ramo de la electrónica, comunicaciones, robótica, microcontroladores y programación.

VII. Referencias BIBLIOGRAFÍA 1.- Microcontroladores PIC “La solución en un CHIP” E. Martín Cuenca, J.M Angulo Usategui Quinta Edición. Editorial PARANINFO.

Alan Jiménez Ramírez nacido en Morelia Michoacán, el 10 de Diciembre de 1987. Realiza sus estudios en la Facultad de Ingeniería Eléctrica de la Universidad Michoacana de San Nicolás de Hidalgo. Tiene como intereses la robótica, microcontroladores, automatización.

[7]