68
IEL2-2002-II-06 IEL2-2002-II-08 I Sistema de Control por voz de un ambiente hospitalario Ana Lucía Castro López Julián Orlando Díaz Rivera Ing. Freddy Segura Asesor Bogotá., D.C. Universidad de Los Andes Facultad de Ingeniería Departamento de Electrónica Enero 14 de 2003

Sistema de Control por voz de un ambiente hospitalario Ana

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

I

Sistema de Control por voz de un ambiente hospitalario

Ana Lucía Castro López

Julián Orlando Díaz Rivera

Ing. Freddy SeguraAsesor

Bogotá., D.C.

Universidad de Los Andes

Facultad de Ingeniería

Departamento de Electrónica

Enero 14 de 2003

Page 2: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

II

CONTENIDO

I. INTRODUCCION …………………………………………………..………. IV

II. OBJETIVOS …………………………………………………………..………. VI

1. ESPECIFICACIONES ……………………………………………..………........ 1

2. MARCO TEORICO ……………………………………………..………........ 2

3. DESCRIPCION GENERAL ………............................................................. 11

3.1 Procesamiento externo de señal ………………………………....... 12

3.1.1 Filtro y Amplificador ………………………………..…. 12

3.2 Sistema Central …………………………………………………... 17

3.2.1 Especificaciones …………………………………..………. 17

3.2.2 Características Adicionales ………………………..…. 18

3.2.3 Memoria Externa …………………………………………... 21

3.3 Comunicación Externa ………………………………..…………. 24

3.3.1 Infrarrojo ……………………………………………..……. 24

3.3.2 Protocolo RC5 ……………………………………..……. 25

3.3.3 Diagramas de Flujo de comandos …………………… 27

3.3.4 Maquinas de estado ……………………………….….. 29

4. DESARROLLO TEORICO …………………………………………………... 30

4.1 Parametrización de la señal ……………………………..……. 30

4.1.1 Procesado de la señal de voz ………………………..…. 30

4.2 Técnicas de Análisis ……………………………………..……. 31

4.2.1 Bancos de filtros …………………………………..………. 32

4.2.2 Coeficientes Cepstrales …………………………………... 33

4.2.3 Coeficientes MFCC o de Mel …………………………... 35

4.2.4 Coeficientes de Predicción Lineal LPC …………... 36

4.3 DTW ………………………………………………………………….. 37

Page 3: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

III

5. PRUEBAS DE CALIDAD Y DESEMPEÑO …………………………………... 39

5.1 Software …………………………………………………….……. 39

5.2 Hardware …………………………………………………….……. 45

5.2.1 Encabezados de funciones …………………………... 46

5.3 Conclusiones ………………………………………………………….. 51

6. JUSTIFICACIÓN DE POSIBLES DIFERENCIAS ENTRE EL

INFORME DE 50% Y LA ENTREGA FINAL ………………..…………. 52

6.1 DSP ………………………………………………………………….. 52

6.1.1 Características ……………………………………..….… 52

6.1.2 Instalación ………………………………………………….. 54

6.1.3 Programación …………………………………………... 55

7. BIBLIOGRAFIA Y FUENTES DE INFORMACION …………………………... 59

TABLA DE FIGURAS …………………………………………………………… 61

Page 4: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

IV

I. INTRODUCCION

La voz puede ser usada a distancia lo cual la hace ideal para situaciones de

manos y ojos ocupados, es por eso que actualmente hay una progresiva

proliferación de aplicaciones basadas en el reconocimiento automático del habla,

siendo cada vez más comunes: las interfaces hombre-máquina controladas por

voz, los sistemas de respuesta vocal interactiva, y la automatización de sistemas

telefónicos.

Pero, los avances en esta tecnología no se han dado rápidamente sino que han

sido el resultado de la conjugación de un amplio conjunto de conocimientos y

procedimientos de actuación sobre la información representada en la señal de voz.

Conocimientos que se articulan con un alto grado de dificultad y especialización,

ya que pertenecen a un marco científico-técnico multidisciplinar, donde se dan cita

diferentes ramas del saber como son: fisiología, acústica, lingüística, procesado de

señal, inteligencia artificial, teoría de la comunicación y de la información, y ciencia

de la computación.

En esta tesis mostramos la aplicación hardware de un sistema de reconocimiento

de voz en tiempo real dependiente del hablante con un vocabulario restringido,

que ha sido analizado y mejorado previamente por los Ingenieros Freddy Segura

y Carlos Villarraga de la Universidad de los Andes.

El proceso de reconocimiento de voz en su primera etapa usa la técnica LPC que

consiste en modelar el tracto vocal como un filtro con un número n de polos.

Usando la señal, se calculan los coeficientes de esos polos para cada ventana. De

esta forma se obtiene un vector de LPC para cada ventana, los cuales representan

el filtro que modela el tracto vocal en ese periodo de tiempo.

Page 5: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

V

Luego, para determinar cuál comando es requerido se usa DTW (Dynamic Time

Warping), que comparan los atributos de la palabra pronunciada con los de las

palabras de referencia, previamente almacenadas.

Este sistema identifica diferentes comandos dados por el usuario para accionar los

dispositivos, programados, a través de un sistema central, el PIC16F877, que

recibe la señal filtrada y amplificada, almacena y procesa los datos identificando la

instrucción dada y establece una comunicación infrarroja a través del protocolo

Philips RC5, el protocolo más utilizado en el control remoto de aparatos,

activando de esta manera el dispositivo deseado, para el beneficio de personas

incapacitadas.

Page 6: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

VI

II. OBJETIVOS

• Hacer que una persona discapacitada llegue a mejorar su autonomía

teniendo como efecto secundario un aumento en su autoestima y

mejoramiento de su calidad de vida permitiendo el control por parte del

paciente de los diferentes elementos que lo rodean por medio de su voz.

• Desarrollar una unidad independiente de un PC para la ejecución de todos

los comandos que se definan para controlar los elementos del entorno.

• La unidad debe controlar los siguientes elementos: luz, teléfono, televisor,

cama y llamado de la enfermera.

• Optimizar la velocidad del entrenamiento de las unidades de

reconocimiento de la voz.

Page 7: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

1

1. ESPECIFICACIONES

De acuerdo con los objetivos propuestos en la inicialmente, el dispositivo debe

cumplir con las siguientes especificaciones:

• Sistema portátil, entendiendo por portátil un dispositivo que pueda ser

llevado a cualquier parte, adaptable a las necesidades del lugar donde se

encuentre. Lo anterior implica, por lo tanto, la independencia del sistema de

un PC que realice las funciones requeridas.

• Alimentación propia, reduciendo la posibilidad de que el sistema sea

incapaz de cumplir con sus funciones ante un eventual corte de luz, lo que

implicaría un reentrenamiento y por lo tanto más molestias para el usuario.

• Facilidad de utilización, en este aspecto debemos tener varias

consideraciones en cuenta. La primera, tiene que ver con la etapa de

entrenamiento, ya que la interfaz con el usuario debe ser lo más sencilla

posible, para evitar complicaciones en el proceso de reconocimiento; la

segunda trata la universalidad del dispositivo, es decir, el sistema debe

tener la mayor compatibilidad posible con cada uno de los dispositivos que

van a ser controlados

Page 8: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

2

2. MARCO TEÓRICO

Cuando hablamos de Reconocimiento de Voz, no nos imaginamos cuantas

aplicaciones, usos y desarrollos hay detrás de este. Con el podemos lograr que

cualquier sistema nos obedezca por medio de nuestra voz, desde un sencillo aparato

domestico, hasta una complicada máquina industrial dándole a estos la capacidad de

recibir un mensaje u orden oral y ejecutarlo sin que el usuario tenga otro contacto

diferente que el de su voz, señal acústica que es enviada por un micrófono o

auricular, para luego ser digitalizada, decodificada y reconocida finalmente, para que

así pueda ser ejecutado el mensaje. Para lograr este fin, este sistema de

reconocimiento de voz necesita actuar como el sistema auditivo humano, por lo tanto

deberá tener ciertas características que le permitan desarrollar la estructura de

lenguaje, la representación del significado de los mensajes y sobre todo el

autoaprendizaje.

Las dos principales características de estos sistemas son fundamentalmente:

• Manos libres (que todos los sistemas incorporan).

• La configuración de tiempo de pausa entre palabras.

Teniendo en cuenta esta segunda variable, existen en estos momentos dos tipos de

sistemas:

• Los de habla discreta.

• Los de habla continua.

Los primeros establecen la necesidad de realizar una pausa entre palabras, y los

otros no se realiza ninguna pausa. Además Debido a las características del habla de

personas con disartria (prosodia, ritmo, etc.) hace más adecuada la utilización de

Page 9: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

3

sistemas de habla discreta, ya que la necesidad de realizar pausas entre palabra

hace disminuir el número de errores que se producen cuando se utilizan sistemas de

habla continua.

Este un proceso debe ser una clasificación de patrones, que debe cumplir el objetivo

de clasificar la señal de entrada por medio de una secuencia característica que es

debidamente aprendida o almacenada en el sistema. Por lo cual esta clasificación

debe cumplir que:

ü La señal de voz pueda ser analizada y representada en segmentos de corta

duración que se diferencien por su contenido frecuencial.

ü Haciendo el proceso de clasificación podamos asignar a cada segmento o

conjuntos consecutivos de segmentos un significado lingüístico.

ü Mediante un sistema capaz de entender estas secuencias y significados

lingüísticos, podamos reconocer el mensaje dicho.

Por esto el sistema de reconocimiento de voz debe tener conocimientos sobre

estructura sintáctica, semántica y pragmática del lenguaje. Algo que en la actualidad

no se a logrado ya que el lenguaje manejado por estos sistemas es restringido.

Uno de los factores más importantes que llega a hacer dificultoso el desarrollo del

reconocimiento es la variabilidad de la señal de voz. Esta señal es afectada tanto

intrínseca como externamente por lo cual se necesita hacer una limpieza análoga,

eliminando ruidos y características de la señal que no son necesarias para el proceso

del reconocimiento. Estas variabilidades son:

Page 10: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

4

Variabilidad intrínseca:

• Variabilidad de los sonidos, debido fundamentalmente a los distintos

acentos o formas de hablar de cada persona.

• Variabilidad en la producción de los sonidos, debido

fundamentalmente a las distintas velocidades de producción,

coarticulación, inclusión de ruidos, condiciones acústicas (ambientes

ruidosos), estado anímico, etc.

Variabilidad externa:

• Variabilidad debida a los elementos usados para la transmisión como

los micrófonos, líneas telefónicas, etc.

• Variabilidad en el ruido captado con la señal de voz, debido a que

alrededor del individua existen otras fuentes de señal de audio como

lo son el televisor, la radio, la calle, otras personas, etc.

Además de estos factores de variabilidad acústica hay que tener en cuenta otros

factores como lo son las distintas formas de hablar un mismo idioma, el uso de

abreviaturas y otros que son muy comunes en el lenguaje humano.

R. Moore propuso para la descripción y clasificación de un sistema que reconozca

voz la utilización de los siguientes términos:

Page 11: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

5

Dimensiones de un sistema de reconocimiento automático del habla1. Usuarios/locutores Define las características de un sistema de

reconocimiento de voz frente a la variabilidad de lossonidos que debe enfrentar. Por lo cual existen lassiguientes clases de usuarios:

a. dependiente del locutor / adaptado al locutor /multilocutor / independiente del locutor

b. usuarios cooperativos / usuarios no cooperativos

c. nivel de expertaza requerida al usuario

2. Estilo de habla Define las características frente a los diversos estilos dehabla, clasificados de forma gradual entre:

a. palabras aisladas - habla continua

b. habla leída - habla espontánea

c. nivel de rechazo de habla extraña

3. Vocabulario Define las características frente al vocabulario quepuede reconocer, clasificados de forma gradual entre:

a. discriminable – confundible

b. entrenable por el usuario – independiente

c. pequeño (< 100 palabras) - grande (>1000 palabras)

d. dependiente de la aplicación - independiente

4. Estructura de diálogo Define las características frente a la capacidad deprocesamiento de lenguaje, clasificados de formagradual entre:

a. perplejidad (baja /alta)

b. comandos simples - lenguaje natural

5. Condiciones de trabajo

Define las características frente a la variabilidad en lascondiciones de entorno, clasificados de forma gradualentre:

condiciones de laboratorio - condiciones de campoFIGURA 1: DIMENSIONES DE UN SISTEMA DE RECONOCIMIENTO AUTOMÁTICO DEL HABLA

Page 12: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

6

Este conjunto de características nos permite realizar una comparación entre los

distintos sistemas de reconocimiento de voz permitiendo entender como resuelve

cada sistema los diversos problemas.

Las fuentes de variabilidad deben tenerse muy en cuenta a la hora de plantear o

desarrollar una aplicación que use el reconocimiento de voz ya que entre más

robusto sea este diseño así mismo será el desempeño y rendimiento. Es por esto

que aunque en condiciones de laboratorio, muchos factores de variabilidad son

controlados y por lo tanto el error es mínimo en condiciones reales, los resultados

pueden ser desalentadores, sobre todo cuando las pruebas de laboratorio estaban

demasiado controladas.

Para trabajar en aplicaciones reales, se debe definir:

• ¿Cuál es el grado de exactitud del sistema que espera el usuario?

• ¿Es adecuado el grado de exactitud del sistema a utilizar con relación a

las expectativas del usuario?

• ¿Es realmente beneficioso el costo y satisfacción del usuario comparado

con otras tecnologías alternativas?

Todo esto para definir la capacidad de reconocimiento de palabras o comandos,

mantener un nivel adecuado de reconocimiento frente a cambios de usuario, canal

de comunicación, ruidos, etc., permitir el rechazo de palabras que no formen el

vocabulario de reconocimiento y trabajar en tiempo real.

El campo de aplicaciones de los sistemas de reconocimiento es muy amplio, pero

básicamente, con la tecnología actual existen tres áreas en las cuales el volumen

de utilización de estos sistemas está creciendo de forma exponencial. Estas áreas

son: servicios de telecomunicación, sistemas de control y sistemas de entrada de

datos y acceso a bases de datos.

Page 13: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

7

Existen varias razones por las cuales estás áreas comienzan a utilizar de forma

extensiva sistemas de RAH. Normalmente se utilizan para tareas bien definidas,

con un vocabulario y sintaxis bastante restringido lo que permite que:

a. La unidad elemental de reconocimiento suela ser la palabra.

b. Solamente un grupo reducido de palabras tienen que ser

reconocidas en un instante de tiempo.

c. El estilo del habla debe ser el de palabras aisladas.

d. El compilador de gramáticas de la aplicación se puede definir de

forma sencilla a partir de grupos de subvocabularios.

Bajo estos supuestos, actualmente pueden encontrarse sistemas de

reconocimiento que trabajan con tasas de reconocimiento superiores al 98 % con

palabras aisladas. Sin embargo, en gran número de servicios o productos que

potencialmente pueden utilizar tecnologías del habla, el sistema de RAH no es

más que el interfaz de entrada a un sistema de diálogo en donde entran en juego

otras tecnologías del habla como la síntesis de voz, tal y como se muestra en el

diagrama de bloques de un sistema de diálogo en la figura 2. El propósito final de

un sistema de este tipo es el control de un sistema mediante órdenes orales

provenientes de un micrófono, o de línea telefónica o de un sistema de transmisión

sin hilos. Las ordenes son procesadas por un sistema experto que interacciona

con el sistema controlado para que realice las acciones pertinentes y genere una

contestación al usuario.

Las aplicaciones más representativas de los sistemas de RAH que actualmente se

pueden encontrar en fase de experimentación o de explotación comercial son:

1. Sistemas de control oral para ayuda a disminuidos físicos.

2. Sistemas de entrada de datos y comandos para ordenadores,

navegadores Web por voz.

Page 14: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

8

3. Sistemas de venta por catálogo.

4. Control oral de teléfonos.

5. Aplicaciones aerospaciales.

6. Servicios interactivos de telefonía sin operadora.

7. Autoaprendizaje de idiomas.

8. Validación de ventas con tarjeta de crédito.

9. La máquina de escribir oral, Dictado.

10. Domótica.

11. Sistemas de acceso a bases de datos.

Una de las aplicaciones más inmediatas de los sistemas de RAH como interfaz

entre hombre y máquina es la ayuda a discapacitados físicos. Mediante comandos

orales se pueden controlar muchas de las funciones y actividades cotidianas.

Ejemplos en fase de experimentación son la silla de ruedas controlada oralmente,

camas hospitalarias, control oral de teléfonos y la activación oral de aparatos y

sistemas domésticos. En el caso del teléfono controlado oralmente, el usuario

puede almacenar y acceder a una lista de números telefónicos utilizando

comandos orales. En este tipo de aplicaciones, el sistema de reconocimiento de

voz es dependiente del locutor y trabaja normalmente bajo la configuración de

reconocimiento de palabras aisladas con capacidad de localización de los

comandos en habla extraña. El sistema debe tener la capacidad de ser entrenado

por el usuario para de esta forma hacer el acceso a los números telefónicos

mediante el nombre de la persona que queremos llamar.

La activación oral de aparatos y sistemas domésticos, incluida dentro del campo

de la domótica, tiene como objetivo el controlar a estos mediante comandos orales

a través de un sistema de diálogo. Son susceptibles de control oral, aparatos

como el televisor (encender/apagar, cambiar de canal, volumen), el equipo de

Page 15: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

9

HIFI, abrir y cerrar puertas, abrir y cerrar persianas, control de una cámara de

seguridad, activar el teléfono, la calefacción, el horno y encimera, encender y

apagar luces, etc. En 1984, la empresa británica Voice Input Systems construyó,

demostró y comenzó a comercializar el sistema VADAS para ayudar a

discapacitados físicos a controlar oralmente dispositivos domésticos. Una

capacidad interesante de estos sistemas de control oral de dispositivos

domésticos es la posibilidad de controlarlos de forma remota a través de la línea

telefónica. Los sistemas de reconocimiento utilizados en este tipo de aplicaciones

suelen ser de palabras aisladas con la capacidad de rechazar habla o sonidos

extraños y dependientes del locutor, de modo que se entrena el sistema con la voz

del usuario.

Otra área de aplicación de los sistemas de RAH es la aviación tanto civil como

militar. En aplicaciones militares se ha experimentado en la introducción de

interfaces orales para interactuar con los sistemas básicos de un avión de guerra.

Los sistemas de reconocimiento suelen ser de palabras aisladas y tienen que ser

capaces de dar unas prestaciones muy buenas trabajando con relaciones señal a

ruido muy pequeñas. En la aviación civil se pueden encontrar aplicaciones en

proceso de experimentación para el control aéreo utilizando sistemas de

reconocimiento de habla continua.

Una de las áreas con más aplicaciones potenciales son las telecomunicaciones y

servicios añadidos. En ciertos servicios añadidos a la red telefónica, el uso de

interfaces orales permite una reducción efectiva del coste del servicio. Ejemplos

de estas aplicaciones son la automatización de los servicios de operadora y la

validación de compras con tarjetas de crédito. En el primer caso, existen

aplicaciones en uso en los EE.UU. por parte de las compañías telefónicas AT&T y

Northen Telecom para automatizar el servicio de facturación de llamadas asistidas

por operadora. En estos casos, el reconocimiento del mensaje se realiza mediante

un sistema de localización de palabras. En el caso de validación de compras con

tarjeta de crédito, este servicio es utilizado por comercios que no disponen de

modems para validar la venta. Con un sistema de reconocimiento de dígitos

Page 16: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

10

conectados puede reconocerse los números de la tarjeta de crédito, la

identificación del vendedor y el valor de la venta. Como el número de la tarjeta de

crédito y la identificación del vendedor están formados por una secuencia de

dígitos con ciertas restricciones, no causan problemas a la hora de reconocerlos.

La incorporación de interfaces orales ha permitido también incrementar el número

de servicios proporcionados por una red de telecomunicaciones. Ejemplos de

estas aplicaciones son los servicios de información y transacciones bancarias,

servicios de telefonía interactiva y servicios de acceso a información. En relación a

la telefonía móvil en vehículos, los sistemas de reconocimiento de voz comienzan

a ser introducidos para permitir controlar el teléfono mediante comandos orales.

Un sueño que comienza a ser realidad es la máquina de escribir oral, es decir, un

sistema de conversión de voz a texto con un vocabulario muy grande, más de

5000 palabras, que puede transcribir habla natural sin restricciones a texto. Este

tipo de reconocedores del habla se están desarrollado en la actualidad y ya se

pueden encontrar en explotación comercial algunos de ellos. Ejemplos de los

mismos son los sistemas comercializados por Dragon Systems e IBM, que permite

reconocer un vocabulario de hasta 60000 palabras trabajando sobre un PC,

utilizando un sistema de adaptación al usuario de modo que no es necesario un

entrenamiento del mismo. El sistema aprende de forma interactiva el estilo de

habla del usuario y reconoce palabras aisladas con separaciones entre palabras

de un cuarto de segundo. Con este sistema se puede llegar a crear un texto a una

velocidad de hasta 120 palabras por minuto. Actualmente se pueden adquirir en el

mercado productos como teléfonos, juguetes, radiocassete de coche, teléfonos

móviles para coche, grabadores de vídeo, agendas personales que incorporan un

sistema sencillo de reconocimiento de voz para controlar las funciones más

elementales de dichos productos.

Page 17: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

11

3. DESCRIPCION GENERAL Y DIAGRAMA DE BLOQUES

Analizamos el problema determinando las funciones y la manera como nuestro

sistema tiene que desarrollarlas, para esto los diagramas muestran de manera

explicativa la metodología de funcionamiento que hemos planeado.

En el diseño de este sistema se tienen en cuenta diferentes etapas:

• Procesamiento de señal.

• Almacenamiento de datos.

• Reconocimiento de comandos.

• Comunicación con los dispositivos a controlar.

FIGURA 2: DIAGRAMA DE BLOQUES DEL SISTEMA

Page 18: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

12

FIGURA 3: DIAGRAMA DE FLUJO DE DATOS

FIGURA 4: DIAGRAMA DE CONTROL

Page 19: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

13

3.1. PROCESAMIENTO DE SEÑAL

3.1.1 FILTRO Y AMPLIFICADOR

Para tener una señal de voz adecuada proveniente del micrófono diseñamos un

filtro pasa-banda que permitiera el paso de las frecuencias de voz (400Hz-3.1KHz)

deseadas en nuestro sistema. Para este propósito decidimos que lo mejor era un

filtro activo que pudiera amplificarnos la señal cuya ganancia fuera de 100v/v

aproximadamente, ya que la señal de entrada del micrófono es de

aproximadamente 50-60mv, dependiendo de la palabra y la fuerza con que ésta

sea pronunciada. Por lo anterior necesitamos una configuración que nos permita

unos buenos resultados en el ancho de banda requerido y ganancia suficiente

para nuestra entrada de voz.

A continuación vemos una comparación entre los diferentes tipos de filtros y de

acuerdo con la FIGURA 5, la configuración con la respuesta que queremos es la

elíptica. Estos filtros contienen ceros, así como también polos, en la función de

transferencia; esto da como resultado un rechazo casi infinito a las frecuencias de

banda de supresión cercanas al corte. Para un orden n de un filtro dado, los filtros

de función elíptica tienen el índice más pendiente de descenso a la banda de

supresión.

En las figuras siguientes observamos el filtro que necesitamos en las diferentes

configuraciones, comprobando así que la mejor configuración es la elíptica y por lo

tanto es nuestra configuración escogida. El filtro aplicado se muestra en las

figuras.

Page 20: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

14

FIGURA 5: COMPARACION DE LAS DIFERENTES CONFIGURACIONES DE FILTROS

RESPUESTA FILTRO BUTTERWORTH

FIGURA 6: CONFIGURACION BUTTERWORTH

Page 21: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

15

RESPUESTA FILTRO CHEBYSHEV

FIGURA 7: CONFIGURACION CHEBYSHEV

RESPUESTA FILTRO ELIPTICO

Page 22: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

16

FIGURA 8: CONFIGURACION ELIPTICO

El filtro seleccionado para nuestro trabajo se presenta a continuación:

FIGURA 9: FILTRO Y AMPLIFICADOR IMPLEMENTADO

Para la implementación del amplificador utilizamos el OpAm LF351, debido a que

teníamos que asegurarnos que la respuesta en frecuencia del amplificador

implementado fuera la mejor. Este OpAm ofrece unas características que son

Page 23: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

17

deseables en nuestro diseño. Es un Amplificador Low-cost de alta velocidad, un

amplio ancho de banda 4MHz y alta impedancia de entrada 1012 Ω.

FIGURA 10: LF351

3.2. SISTEMA CENTRAL

Para el desarrollo de esta tesis utilizamos un PIC16F877 que por sus diferentes

características, su utilización en una amplia gama de aplicaciones y su

disponibilidad en el mercado, hacen de el un microcontrolador que se adapta muy

bien a nuestras necesidades.

Este microcontrolador Microchip, poderoso, fácil de programar, basado en una

memoria FLASH envuelve la arquitectura PIC RISC en un chip de 40 pines que es

compatible con los dispositivos PIC16C5X, PIC12CXXX y PIC16C7X. Las

características de este PIC16F877 son una EEPROM de 256 bytes memoria de

datos, auto-programación, capacidad ICD/ICSP, 8 canales para un conversor

análogo digital de 10 bits, 3 timers, Watch-dog integrado, 2 funciones de

capture/compare/PWM, and un puerto serial sincrónico. El puerto serial puede ser

configurado como un Serial Peripheral Interface (SPI™) de 3 canales, un bus

Inter-Integrated Circuit (I2C™) de 2 canales, o un Universal Asynchronous

Receiver Transmitter (USART). Todas estas características lo hacen ideal para

muchas aplicaciones A/D de un alto nivel en la industria automotriz y diversidad de

proyectos de los consumidores.

Page 24: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

18

3.2.1 Especificaciones

Data

Ram

Speed

MHzI/O Ports

ADC

10-bitsSerial I/O PWM

Comp-

aratorsTimers

Brown

OutICSP

368 20 33 8USART,

I²C, SPI2 - 3+WDT True True

FIGURA 11: ESPECIFICACIONES PIC16F877

3.2.2 Características adicionales

• 200 nanosegundos por instrucción.

• Memoria de programa de 14336 Bytes (8192 Words).

• Memoria de datos EEPROM de 256 Bytes.

• 25mA sink/source per I/O.

• Parallel Slave Port (PSP).

• 2 Funciones Capture/Compare.

• Capacidad ICD.

• Auto-programación.

FIGURA 12: DIAGRAMA DE PINES PIC16F877

Page 25: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

19

En este sistema manejamos 40 ventanas por palabra, esto lo determinamos

observando la duración de cada una de nuestras palabras, de relativamente corta

longitud, ya que, la palabra más larga está compuesta por 5 letras y tuvo una

duración de 655ms, mientras que la más corta duró 622ms. Como la frecuencia de

muestreo determinada es de 16KHz, cada ventana tendrá una duración de 16ms;

655ms / 16ms = 40.9375 y 622ms / 16ms = 38.875. El número de 40 ventanas,

consideramos que es el adecuado para nuestro sistema.

Al establecer la cantidad de ventanas podemos conocer la cantidad de memoria

requerida. 40 ventanas x 12 cepstrales =480 y debido al sistema flotante que se

maneja, cada número requiere de 3 registros, por lo tanto son 480 x 3 = 1440

espacios de memoria por palabra requeridos; como reconocemos 13 palabras

entonces la memoria debe ser mínimo de 1440 x 13 = 18720 espacios.

Page 26: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

20

FIGURA 13: DIAGRAMA DE BLOQUES PIC16F877

Debido al gran requerimiento de memoria tuvimos que utilizar una RAM externa de

alta capacidad (32K X 8bits) que nos sirve de lugar de almacenamiento de las

palabras de entrenamiento o de referencia; accesada por los puertos B, C, D y E

del PIC, dispuestos de la siguiente manera:

• Puerto B: Parte baja de la dirección.

• Puerto C: Parte alta del la dirección.

• Puerto D: Dato.

Page 27: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

21

• Puerto E: Bits de control.

El control de la RAM desde el PIC es realizado por dos funciones:

• Lectura desde la RAM (RRAM1)

RRAM1

BCF STATUS,6 ;BANK 1BSF STATUS,5MOVLW 0XFF ;CONFIGURA PORTD COMO ENTRADAMOVWF TRISDBCF STATUS,5 ;BANK 0BSF PORTE,CS ;DESABILITAMOS CS,OE,WRBSF PORTE,OEBSF PORTE,WRRMOVF X1DIR,W ;CARGA DIRECCION BAJAMOVWF PORTBMOVF X1DIRH,W ;CARGA DIRECCION ALTAMOVWF PORTCBCF PORTE,OE ;HABILITA OE (LECTURA)BCF PORTE,CS ;HABILITA CSMOVF PORTD,W ;CARGA LA ENTRADA EN DATOMOVWF DATOBSF PORTE,CS ;DESHABILITA CSBSF PORTE,OE ;DESHABILITA OE (LECTURA)RETURN

• Escritura de la RAM (WRAM1)

WRAM1

BCF STATUS,6 ;BANK 1BSF STATUS,5MOVLW 0X00 ;CONFIGURA PORTD COMO SALIDAMOVWF TRISDBCF STATUS,5 ;BANK 0BSF PORTE,CS ;DESABILITAMOS CS,OE,WRBSF PORTE,OEBSF PORTE,WRRMOVF X1DIR,W ;CARGA DIRECCION BAJAMOVWF PORTBMOVF X1DIRH,W ;CARGA DIRECCION ALTAMOVWF PORTCMOVF DATO,W ;CARGA DATOMOVWF PORTDBCF PORTE,WRR ;HABILITA WRR (ESCRITURA)BCF PORTE,CS ;HABILITA CSBSF PORTE,CS ;DESABILITA CSBSF PORTE,WRR ;DESABILITA WRR (ESCRITURA)RETURN

Page 28: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

22

3.2.3 MEMORIA EXTERNA

La memoria empleada es una SRAM HITACHI de 32K x 8 bits con bajo consumo

de potencia HM62256LP-10. Que tiene las siguientes características:

• Tiempo de acceso 100ns.

• Consumo de potencia en estado ACTIVO 200mW.

• Consumo de potencia en estado NO ACTIVO 250uW.

• Operación completamente estática.

• Tanto entradas como salidas compatible con TTL.

• Requerimiento de 5V.

FIGURA 14: DIAGRAMA DE BLOQUES SRAM

Page 29: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

23

FIGURA 15: DESCRIPCION DE PINES (Derecha y Centro) TABLA DE VERDAD (Izquierda)

FIGURA 16: CICLO DE LECTURA DE LA SRAM

Seleccionamos una SRAM debido a que necesitamos que pueda ser accesada por

un dispositivo externo, es decir, que pueda leerse y escribirse en cualquier

momento, sin que requiera ser programada externamente sino que sea controlada

por nuestro dispositivo central.

Page 30: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

24

FIGURA 17: CICLO DE ESCRITURA DE LA SRAM

3.3 COMUNICACIÓN EXTERNA

3.3.1 INFRARROJO

Vamos a comenzar por definir y comentar la parte de la recepción de la señal

infrarroja ya que, es la que nos va a obligar a diseñar y ajustar los circuitos que

necesitamos en la parte de la emisión.

Para la recepción vamos a utilizar un dispositivo que unifica en el mismo

encapsulado el receptor de luz infrarroja, una lente y toda la lógica necesaria para

distinguir señales moduladas a una determinada frecuencia. Concretamente, en

este montaje utilizaremos los receptores SSPA1 Panasonic que se activan cuando

reciben una luz infrarroja modulada a una frecuencia de 38 kHz (el haz infrarrojo

se apaga y enciende 38000 veces por segundo). Esto los hace compatibles con un

gran número de mandos a distancia de electrodomésticos.

Page 31: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

25

Una vez resuelto el problema de la recepción, vamos a centrarnos en la otra parte

del sistema: la emisión. Ya hemos mencionado que los receptores utilizados son

sensibles a la mayor parte de los mandos de infrarrojos de electrodomésticos. Eso

nos puede ayudar en la fase de pruebas de la recepción e incluso utilizar el mando

para enviar órdenes a los diferentes elementos activados. Este problema precisa

un estudio de los códigos que emiten los mandos de diferentes fabricantes.

Como se dijo en la introducción, el objetivo es establecer una comunicación entre

dos dispositivos. Para cumplir con este objetivo no se utiliza directamente la

salida del PIC para alimentar el LED sino que se utiliza el transistor T1 (un

transistor NPN (2N2222). La salida del PIC la conectaremos, a través de la

resistencia, con la base de transistor. La activación o desactivación de la base

abrirá o cerrará el circuito entre el colector y emisor.

FIGURA 18: EMISOR INFRARROJO

Este uso de los transistores como meros interruptores electrónicos es muy

frecuente y permite ajustar la corriente (aumentar en este caso) que pasa a través

del elemento a controlar (el LED infrarrojo). Aumentando la corriente, también

aumentaremos la cantidad de luz emitida por el LED y por lo tanto el alcance del

emisor.

Bajando el valor de la resistencia puede aumentarse la intensidad en esa rama y

el alcance. Para calcular la corriente debe tenerse en cuenta, por un lado, el limite

Page 32: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

26

máximo permitido por el LED y, por otro, la caída de tensión en el LED (unos 1.8

voltios) y entre el colector y el emisor del transistor (unos 0.2 voltios).

3.3.2 Protocolo RC5

Para que haya una transmisión y recepción infrarroja se requiere una frecuencia

entre 36KHz-40KHz. Cada vez que un comando es reconocido, el protocolo RC5,

envía un tren de 14 bits, 1.638ms por bit. Cada bit tiene dos mitades donde la

mitad derecha y la mitad izquierda son opuestas. Si el bit a ser transmitido es cero

“0” la mitad izquierda es uno y la otra mitad cero, y si es uno “1” la mitad

izquierda es cero y la otra mitad uno.

FIGURA 19: BITS PROTOCOLO RC5

Cada mitad de bit tiene 32 pulsos, 64 pulsos por bit. Cada uno de estos pulsos

tiene un periodo de 25,6us para una frecuencia de 39KHz. Entonces, si el bit a

transmitir es cero significa que van a verse 32 pulsos de 25,6us y después 32 x

25.6us de silencio. Si es uno, es lo contrario, 32 x 25,6us de silencio seguidos por

32 pulsos de 25,6us.

Page 33: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

27

FIGURA 20: RECEPTOR INFRARROJO

Para que el infrarrojo trabaje a la frecuencia requerida hay que programar el

Prescaler del PIC trabajando con el TIMER0, para que divida la frecuencia de

trabajo (1.25MHz) en 32 y así obtener los 39KHz del infrarrojo. Esto se logra

programando el registro OPTION_REG así 10000100., para trabajar con el reloj

interno, incrementar en la transición de low-to-high, asignar el prescaler al módulo

Timer0 y dividir el reloj en 32.

FIGURA 21: REGISTRO OPTION_REG

Page 34: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

28

3.3.3 DIAGRAMAS DE FLUJO DE COMANDOS

ACCESO AL DISPOSITIVO

TEVE

MODIFICARVOLUMEN

ENCENDIDO O APAGADO

CAMBIO DE CANAL

PRENDER APAGAR VOL

SI NO + -MAS MENOS

CANAL

+ -MAS MENOS

FIGURA 22: DIAGRAMA DE FLUJO PARA EL TELEVISOR

ACCESO AL DISPOSITIVO

CAMA

MOVIMIENTOESPALDAR

MOVIMIENTOPIERNAS

ATRAS

+ -MAS MENOS

PIE

+ -MAS MENOS

FIGURA 23: DIAGRAMA DE FLUJO PARA LA CAMA

Page 35: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

29

ACCESO AL DISPOSITIVO

LUZ

APAGADO

NO

+ -MAS MENOS

ACCESO AL DISPOSITIVO

TEL

LLAMAR CONTESTAR

LLAMAR ALO

FIGURA 24: DIAGRAMAS DE FLUJO PARA LUZ (izquierda) Y TELEFONO (derecha)

3.3.4 MAQUINAS DE ESTADO

TEVE

NO SI

CANAL VOL

MAS

MENOS

Cama

Atras Pie

MAS

MENOS

MASMENOS

MAS

MENOS

Luz

No MAS MENOS

Tel

Llamar Alo

FIGURA 25: MAQUINAS DE ESTADO

Page 36: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

30

4. DESARROLLO TEORICO

4.1 Parametrización de la señal

4.1.1 Procesado de la señal de voz

Antes de hacer cualquier análisis sobre las muestras de voz hay que transformar

la señal continua en una representación de la información que porta, en vectores

de parámetros. Lo primero que hay que hacer es un proceso de muestreo a

frecuencias típicas de 8 o 16 kHz. Los vectores muestreados contienen entre 10 y

20 parámetros. Para hacer un análisis localizado de la señal, es necesario

seleccionar un tramo mediante técnicas de enventanado. Para esto se obtienen

bloques de la señal entre 10 - 20 msg. Para evaluar cada uno de estos bloques se

utiliza unas ventanas. La más habitual es la ventana de Hamming, de duración

entre 20 y 40 ms. En estos intervalos de tiempo la señal de voz es casi

estacionaria, por esto es por lo que se usa estos tamaños de bloque de la señal y

de la ventana. Típicamente se produce un solape rondando el 50% del ancho de la

ventana.

La utilización de la ventana tiene dos efectos claros:

• Atenuar gradualmente la amplitud de los intervalos de extracción para

prevenir cambios muy pronunciados en los puntos finales.

• Produce la convolución para la Transformada de Fourier de la función

ventana y el espectro de la señal.

Destacar que el tamaño de bloque y el de la ventana son independientes.

Normalmente el tamaño de la ventana será más grande que el de bloque.

Independientemente de que tipo de parámetros son requeridos, algunas

operaciones de procesado pueden ser aplicadas a priori en el análisis de la señal.

Page 37: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

31

Primeramente, las ganancias del proceso de producción/recogida de la señal

sonora, las perturbaciones acústicas del medio, o los medios de transmisión de la

señal, introducen variaciones que es deseable eliminar. El uso de parámetros

logarítmicos facilita su eliminación, ya que todas estas influencias se manifiestan

aditivamente en la expresión logarítmica. Una técnica bastante usada consiste en

utilizar, en lugar de los parámetros, sus valores menos la media. De esta forma se

consigue retener sólo la información diferencial y eliminar el offset, que no da

información y ”acumula” todas las perturbaciones. La media de los parámetros se

obtiene mediante un conjunto local de muestras anteriores y/o posteriores a la

actual.

Otro proceso a aplicar sobre cada una de las ventanas es el filtro de pre-énfasis

que evita la excesiva influencia de los límites artificiales, introducidos al dividir la

señal en ventanas. El coeficiente de pre-énfasis, k, esta comprendido en el rango

de valores 0 < k < 1.

Después de esto se aplica la ventana de Hamming ya analizada anteriormente.

Por último se debe investigar, y reducir, el número de parámetros sin perder

información. Para ello se realizan estudios estadísticos de correlación entre

parámetros, eliminándose un parámetro de entre todos aquellos en los que se

haya detectado una fuerte correlación.

4.2 Técnicas de análisis

Las técnicas que se pueden usar son muy variadas. Todas tienden a destacar

características independientes del hablante y a reducir las dependientes, pero

manteniendo toda la información necesaria para el reconocimiento. Entre las

técnicas más usuales tenemos LPC (Linear Prediction Coefficients), coeficientes

cepstrales y bancos de filtros.

Page 38: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

32

Cualquiera de estas técnicas dan como resultado representaciones de la

información sonora más compactas y más eficientes en los subsiguientes

procesos de ajuste de patrones. La información que den debe ser la misma que

poseía la señal sonora original.

4.2.1 Bancos de filtros

El uso de bancos de filtros digitales, implementados inicialmente como filtros

analógicos, ha sido históricamente la primera aproximación al procesamiento del

habla. Un banco de filtros paso banda puede entenderse como un modelo sencillo

de las etapas iniciales del sistema auditivo humano. La señal inicial se

descompone en un conjunto discreto de muestras espectrales, que contienen una

información similar a la que se presenta en los niveles superiores del sistema

auditivo de los seres humanos. Su característica es que no tiene una respuesta

lineal en frecuencia existen diferentes escalas. Algunos ejemplos expresados de

forma analítica, siendo f el valor de la frecuencia en Hz, se muestran a

continuación:

Un banco de filtros está constituido por un conjunto de filtros pasa banda, cada

uno de los cuales retiene la información de una serie determinada de frecuencias

del espectro. A su vez cada uno de ellos puede ponderar de manera diferente las

frecuencias que quedan bajo su ámbito. Un ejemplo de banco de filtros empleando

Page 39: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

33

escalas de Mel. Este tipo de técnica generalmente se emplea de manera conjunta

con otros métodos como son el cálculo de coeficientes cepstrales.

FIGURA 26: ESCALA DE MEL

4.2.2 Coeficientes Cepstrales

Desde la introducción en los primeros años de la década de los 70, las técnicas

homomórficas de procesado de señal han tenido gran importancia dentro del

campo del reconocimiento de voz. Los sistemas homomórficos son una clase de

sistemas no lineales que obedecen a un principio de superposición. Pueden servir

para separar la acción del tracto vocal (filtro lineal variable en el tiempo) de la

señal de excitación.

La señal de voz s(n) se descompone en una parte de excitación e(n) y en un filtro

lineal H(eιθ). Así en el dominio frecuencial tenemos:

Para la mayoría de las aplicaciones de voz sólo necesitamos la amplitud espectral.

En el dominio logarítmico, las dos componentes anteriores pueden separarse

empleando técnicas convencionales de procesado de la señal

Page 40: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

34

c(n) son los coeficientes cepstrales derivados de la transformada de Fourier. N es

el número de puntos con los que se hizo la DFT. Lo normal es usar sólo los

primeros términos ( n 20 ). Es posible a la hora de calcular un coeficiente

cepstral emplear bandas definidas según escalas de Mel.

FIGURA 27: COEFICIENTES CEPSTRALES

Page 41: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

35

4.2.3 Coeficientes MFCC o de Mel

A este tipo de parámetros se les conoce como coeficientes cepstrales con

frecuencia en escalas de Mel o MFCC (Mel Frequency Cepstral Coefficients). La

idea que da origen a estos coeficientes es la obtención de vectores de coeficiente

cepstrum en los cuales el espaciamiento en frecuencia no es lineal, sino que se

distribuye en una escala perceptual tipo Mel:

FIGURA 28: DIAGRAMA MEL

Para realizar el cálculo de los parámetros Mel-cepstrum, se construye un banco de

filtros triangulares equiespaciados en la escala de Mel que es aplicado a la señal

de entrada en frecuencia.

Page 42: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

36

Normalmente los filtros se extienden sobre todo el rango de frecuencias. Sin

embargo, a veces resulta deseable eliminar frecuencias no deseables o evitar

colocar filtros en regiones en las que no hay energía de señal útil. Para ello se

utilizan unas determinadas frecuencias inferior y superior, y el número

especificado se distribuye uniformemente a lo largo de la banda de paso

resultante. Una vez realizado el filtrado, se toma el logaritmo natural de las salidas

del banco de filtros y se calcula los parámetros Mel-cepstrum como:

donde N es el número de filtros del banco.

4.2.4 Coeficientes de predicción lineal LPC

La técnica LPC consiste en modelar el tracto vocal como un filtro con un número n

de polos. Usando la señal, se calculan los coeficientes de esos polos para cada

ventana. De esta forma se obtiene un vector de LPC para cada ventana, los

cuales representan el filtro que modela el tracto vocal en ese periodo de tiempo.

La representación LPC tiene problemas con algunas degradaciones de la señal

sonora.

Con un número suficiente de parámetros el modelo de predicción lineal puede

constituir una aproximación adecuada a la estructura espectral de todo tipo de

sonidos.

Este método recibe el nombre de predicción lineal porque pretende extrapolar el

valor de la siguiente muestra de voz x(n) como la suma ponderada de muestras

pasadas x(n-1), x(n-2),…, x(n-k):

Page 43: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

37

Para ello se debe realizar el cálculo de los coeficientes ai minimizando alguna

función de error, por ejemplo la de los mínimos cuadrados sobre una ventana de

tamaño N.

Tanto los coeficientes LPC como los MFCC presentan la ventaja de la naturaleza

aproximadamente ortogonal de los coeficientes obtenidos, lo que permite trabajar

con matrices de covarianza diagonal cuando sea necesario. Otra ventaja

importante en ambos casos es el hecho de que en el dominio cepstral la influencia

del canal de transmisión se convierte en una componente aditiva. Con esto es

posible reducir esta influencia de forma sencilla.

4.3 DTW

Las Series de Tiempo han sido motivo de una gran cantidad de trabajo

recientemente, adaptando algoritmos que se dedican al análisis de datos en

bases de datos de series de tiempo. Casi todos los algoritmos que operan con

datos de series de tiempo necesitan computar la similitud entre ellos. La distancia

Euclidiana, o alguna de sus modificaciones , es aplicada típicamente. La razón

por la cual la distancia Euclidiana puede producir una medida de similitud

intuitivamente correcta entre dos secuencias, es que es muy sensible a pequeñas

distorsiones en el eje de tiempo. La FIGURA 27 muestra dos secuencias que

tienen aproximadamente la misma forma, pero que no están alineadas en el eje de

tiempo. Esta alineación no-lineal va dar como resultado una mayor medida de

distancia calculada.

Page 44: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

38

FIGURA 29: SECUENCIAS DE VOZ NO ALINEADAS EN EL EJE DE TIEMPO

Hay una técnica que está pensada para detectar formas similares en fases

diferentes llamada DTW (Dynamic Time Warping). Un método ampliamente

conocido en la comunidad de procesamiento de voz, introducido por Berndt and

Clifford, aunque demostraron la utilidad de la aproximación, ellos eran concientes

de que la complejidad de los algoritmos de tiempo es un problema y que el

desarrollo de éstos en bases de datos bastante extensas podría ser una limitación,

sin embargo DTW es ampliamente usada en muchos campos.

El propósito de DTW es producir una función de pandeo que minimice la distancia

total entre los respectivos puntos de las señales. Introduce el concepto de Matriz

de distancias acumuladas (ADM), que contiene el valor respectivo de la LDM más

la mínima distancia acumulada. Podemos utilizar esta matriz para desarrollar un

camino de mapeo que viaja a través de las celdas con la menor distancia

acumulada, minimizando la distancia total entre las dos señales.

Page 45: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

39

5. PRUEBAS DE CALIDAD Y DESEMPEÑO DEL SISTEMA

5.1 Software

Los datos obtenidos en simulación se encuentran graficados en los siguientes

histogramas. En ellos se observa toda la información necesaria para definir si el

programa es o no óptimo para ser aplicado en este proyecto.

Cuando hicimos las pruebas decidimos por medio de histogramas hacer este

estudio de calidad y desempeño, en cuanto a reconocimiento se refiere. Los

resultados se ven en las figuras 30, 31 y 32, las cuales difieren en la clase de

información que allí se encuentra.

Para nuestras pruebas de software tomamos 3 repeticiones de cada palabra a 6

personas, para probar que el sistema fuera dependiente del hablante. En la

FIGURA 30, vemos todos los resultados obtenidos. La frecuencia mostrada entre

el rango 1,75 – 3.55 es bastante baja debido a que corresponde a las menores

distancias entre las palabras y como podemos ver en las FIGURAS 33 en

adelante, estos resultados solo se presentan cuando la misma palabra es dicha

por la misma persona FIGURA 32.

Page 46: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

40

FIGURA 30: HISTOGRAMA DE RESULTADOS. TODAS LAS PALABRAS, TODAS LAS PERSONAS

De 3.55 en adelante vemos los resultados de comparar la misma palabra dicha

por las diferentes personas, como puede verse más detalladamente en la

siguiente figura. Hay que resaltar que ninguno de los resultados que se

encuentran debajo de 3.55 es la menor de las comparaciones. De esta manera

concluimos que el software utilizado si era el adecuado y que por lo tanto

podíamos proceder a la implementación.

FIGURA 31: HISTOGRAMA DE RESULTADOS. TODAS LAS PALABRAS DIFERENTES PERSONAS

Page 47: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

41

FIGURA 32: HISTOGRAMA DE RESULTADOS. TODAS LAS PALABRAS MISMAS PERSONAS

RESULTADOS DE COMPARACIONES CON DIFERENTES HABLANTES

SI

FIGURA 33: MATRIZ DE DISTANCIAS SI

NO

FIGURA 34: MATRIZ DE DISTANCIAS NO

Page 48: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

42

TEVE

FIGURA 35: MATRIZ DE DISTANCIAS TEVE

CANAL

FIGURA 36: MATRIZ DE DISTANCIAS CANAL

MAS

FIGURA 37: MATRIZ DE DISTANCIAS MAS

Page 49: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

43

MENOS

FIGURA 38: MATRIZ DE DISTANCIAS MENOS

CAMA

FIGURA 39: MATRIZ DE DISTANCIAS CAMA

ATRAS

FIGURA 40: MATRIZ DE DISTANCIAS ATRAS

Page 50: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

44

PIE

FIGURA 41: MATRIZ DE DISTANCIAS PIE

ALO

FIGURA 42: MATRIZ DE DISTANCIAS ALO

TEL

FIGURA 43: MATRIZ DE DISTANCIAS TEL

Page 51: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

45

DOC

FIGURA 44: MATRIZ DE DISTANCIAS DOC

5.2 Hardware

Aunque se cumplieron varios de los objetivos trazados para este proyecto, el

dispositivo no funciono como un todo. El procesamiento de la señal de entrada fue

logrado con éxito ya que a una entrada acústica de algunos milivoltios se le logro

amplificar y filtrar de tal manera que en todas las pruebas que se hicieron la señal

cubría los rangos de ancho de banda propuestos y lograba un ganancia tan

considerable que permite manejar un rango de voltaje desde 120 milivoltios hasta

5 voltios.

Los procesos de lectura y escritura fueron aprobados satisfactoriamente puesto

que en pruebas hechas con el dispositivo programable se logró leer y escribir la

memoria ram interna, flash interna y ram externa usadas para el desarrollo del

dispositivo.

La etapa de salida infrarroja funciona correctamente ya que cuando se implemento

el transmisor y receptor estos transmitían y recibían el protocolo asignado sin

ningún problema.

Aunque los programas en simulación funcionan pues fueron probados y simulados

uno por uno el PIC16f877 dispositivo que se uso para la implementación del

proyecto, no dio resultados satisfactorios, el sistema no adquiere todos los datos

necesarios para empezar el proceso de reconocimiento o entrenamiento y por tal

Page 52: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

46

motivo queda en un ciclo infinito en el que espera mas datos de entrada y por lo

tanto entra en un estado de Standby.

5.2.1 ENCABEZADOS DE LAS FUNCIONES

Los encabezados de las funciones que fueron programadas en el PIC son:

;*******************************************************************************************;NUMEROS FLOTANTES DE 24 BITS *;*******************************************************************************************; CONFIGURACION: *; -REGISTRO 0 = EXP *; -REGISTRO 1 = B0 *; -REGISTRO 2 = B1 *; *; CADA NÚMERO TIENE 3 REGISTROS UBICADOS EN SUS RESPEC- *; TIVOS ESPACIOS DE MEMORIA. *;*******************************************************************************************

;*******************************************************************************************; ESCRIBIR EN LA RAM ESTERNA *;*******************************************************************************************; ANTES DE LLAMAR LA FUNCION HAY QUE CARGAR X1DIR = PARTE *; BAJA DE LA DIRECCION, X1DIRH = PARTE ALTA *; DE LA DIRECCION Y DATO = NUMERO A GUARDAR EN LA RAM. *; LO QUE HACE ESTA FUNCION ES COGER X1DIR, X1DIRH Y *; DATO, CARGARLOS EN SUS RESPECTIVOS REGISTROS PORTB, *; PORTC Y PORTD Y EJECUTAR LA ESCRITURA HABILITANDO CON *; LOGICA NEGADA CS, OE Y WR BITS DE LA RAM QUE ESTAN UBICADOS *; EN EL PORTE. *; *; VARIABLES USADAS *; -CS *; -OE *; -WR *; REGISTROS USADOS *; -X1DIR *; -X1DIRH *; -DATO *;*******************************************************************************************

Page 53: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

47

;*******************************************************************************************; LEER LA RAM EXTERNA *;*******************************************************************************************; ANTES DE LLAMAR LA FUNCION HAY QUE CARGAR LOS *; REGISTROS X1DIR Y X1DIRH LOS CUALES LLEVAN LA DIRECCION *; BAJA Y ALTA DEL DATO DE LA RAM QUE SE QUIERE LEER, *; LUEGO HABILITANDO CON LÓGICA NEGADA USANDO CS, OE Y WR *; SE HABILITA LA LECTURA, EL DATO SE LEE DEL PORTD Y SE CARGA *; EN EL REGISTRO DATO. *; *; VARIABLES USADAS *; -CS *; -OE *; -WR *; REGISTROS USADOS *; -X1DIR *; -X1DIRH *; -DATO *;*******************************************************************************************

;*******************************************************************************************; DIST *;*******************************************************************************************; - DIST CALCULA LA DISTANCIA EUCLIDIANA DE DOS ARREGLOS DE *; 12 CEPSTRALES. *; - LA SUMATORIA QUEDA CARGADA EN EL REGISTRO XD. *; - TAMBIEN QUEDA EN A PARA PODER SACARLE LA RAIZ CUADRADA *; Y ASÍ OBTENER LA DISTANCIA. *; *; XD = XD + (X1-X2) ^ 2 *; *; ANTES DE LLAMAR LA FUNCION SE DEBE HACER: *; *; MOVLW XINL *; MOVWF XINDIR ; GUARDA LA DIRECCION DE X1 *; MOVLW XINH *; MOVWF XINDIRH *; MOVLW XREFL *; MOVWF XREFDIR ; GUARDA LA DIRECCION DE X2 *; MOVLW XREFH *; MOVWF XREFDIRH *;*******************************************************************************************

Page 54: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

48

;*******************************************************************************************; MINIMO *;*******************************************************************************************; - CALULA EL MINIMO DE TRES NUMEROS (X1, X2 Y X3). *; - DEVUELVE EL NUMERO MENOR EN LOS REGISTROS AEXP, *; AARGB0, AARGB1. *;*******************************************************************************************

;*******************************************************************************************; DISTORSION *;*******************************************************************************************; *; XIN = PALABRA DE ENTRADA *; XREF = PALABRA DE REFERANCIA *; XMIN = MENOR DISTANCIA ENTRE XIN Y XREF *; *; - LA FUNCION CARGA LAS DIRECCIONES DE XIN EN LA FLASH Y XREF *; EN LA RAM EXTERNA. *; - CALCULA EL DTW DE DOS ARREGLOS DE VECTORES DE *; CEPSTRALES. *; - COMO SALIDA SE TIENE EL MENOR DE LAS DISTANCIAS ENTRE *; LAS DOS PALABRAS. *; *;*******************************************************************************************

;*******************************************************************************************; PREENFASIS *;*******************************************************************************************; - TENGO LA ÚLTIMA POSICIÓN DEL VECTOR X. *; - PREENFASIS REALIZA LA SIGUIENTE FUNCIÓN: *; *; X[I] = X[I-1]*PREE, DONDE PREE = 0.98 *; *; - PARA LA POSICIÓN CERO SE REALIZA X[0]*=1.0-PREE. *; *;- SE ASIGNA LA ULTIMA POSICION DE XI EN LA FLASH YA QUE EL *; CICLO SE DECREMENTA. *;****************************************************************************************** *

Page 55: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

49

;*******************************************************************************************;HAMMING *;*******************************************************************************************; - MULTIPLICA LA ENTRADA POR LA VENTANA DE HAMMING *; *; VH = 0.54 - 0.46*COS (2*PI*I/255) *; *; XI = XI*VH *; *; - XI = DATOS DE ENTRADA (VENTANAS DE 256 DATOS) *; - VH = VENTANA DE HAMMING *; - EL RESULTADO SE GUARDA EN LAS MISMAS DIRECCIONES *; DE LA FLASH EN LAS QUE SE GUARDA XI. *;*******************************************************************************************

;*******************************************************************************************; AUTOCORRELACION *;*******************************************************************************************; - CALCULA LA AUTOCORRELACION DE LA VENTANA DE DATOS *; DESPUES DE PASAR POR LA VENTANA DE HAMMING Y EL *; PRE-ENFASIS. *; *; S = S + X[I]*X[I+K] *; *; RXX[K] = S/(256 - (ORDEN+1)) *; *;- EL ORDEN DE LA AUTOCORRELACION UTILIZADO ES DE 12. *; *; S = VARIABLE UBICADA EN LA RAM INTERNA. *; RXX = VECTOR DE AUTOCORRELACION UBICADO EN *; LA RAM INTERNA. *;*******************************************************************************************

Page 56: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

50

;*******************************************************************************************; LEVINSON *;*******************************************************************************************; - CALCULA EL COEFICIENTE DE REFLECCION DE LA SEÑAL, DESPUES *; DE HABER PASADO POR LS AUTOCORRELACION. *; - ACTUALIZA EL ORDEN DEL ERROR DE PREDICCION DE LOS *; FILTROS Y DE LA PREDICCION *; - CALCULA LA SOLUCION DE LAS ECUACIONES DE YULE-WALKER. *; *; - A = MATRIZ DE 13 X 13 UBICADA EN LA FLASH. *; - b = VARIABLE INTERNA, UBICADA EN LA RAM INTERNA. *; - RXX = VECTOR DE AUTOCORRELACION. *; - AR = SOLUCION DE YULE-WALKER. *; - K, L, M, I = CONTADORES DE LA FUNCION. *; *; - K EMPIEZA EN 2 Y VA HASTA ORDEN. *; - L VA HASTA K-1 Y EMPIEZA EN 1. *; *; b = RXX [K] *; *; b = b – A [K-1][L]*RXX [K-L] *; *; A [K][K] = b / RHO [K-1] *; *; - I VA HASTA K Y EMPIEZA EN 1. *; *; A [K][I] = A[K-1][I] + A [K][K]*A [K-1][K-I] *; *; RHO [K] = (1 – A [K][K]*A [K][K])*RHO [K-1] *; *; - M VA HASTA ORDEN Y EMPIEZA EN 1. *; *; AR [M] = A [ORDEN][M] *; *; AR [0] = RXX [0] *; *;*******************************************************************************************

Page 57: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

51

;*******************************************************************************************; LPC2CEP *;*******************************************************************************************; - CALCULA LOS CEPTRALES DE CADA VENTANA DE ENTRADA. *; *; SUM = SUM + (N-I)*A[I]*C[N-I] *; *; C[N] = -(A[N] + SUM/N) *; *; SUM = VARIABLE UBICADA EN LA RAM INTERNA. *; A = VECTOR CALCULADO EN LEVINSON. *; C = VECTOR DE CEPTRALES UBICADO EN LA RAM INTERNA. *; *; - C ES UN VECTOR DE 12 POSICIONES QUE GUARDA CADA UNO DE *; LOS CEPTRALES DE CADA VENTANA. *; *;*******************************************************************************************

5.3 CONCLUSIONES

• Existen mejores dispositivos como los DPS (Procesador de señales

digitales) que ayudan ha un mejor desarrollo para esta clase de proyectos

donde el procesamiento de señales y en especial las de audio son

necesarias.

• Debido a las pruebas que se le hicieron a los programas de reconocimiento

en simulación, se puede asegurar el correcto funcionamiento del

dispositivo.

• El PIC16F877 aunque es un buen dispositivo no alcanzo a llevar a

cabalidad todos los procesos que son necesarios para este proyecto, pues

logro implementar unos procesos y otros no.

• El llevar a cabo más pruebas con este dispositivo llegará a una

implementación correcta del proyecto ya que, las dificultades que se tienen

en la actualidad pueden ser causa de problemas en su programación.

Page 58: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

52

• EL procesamiento de señal es muy bueno ya que la señal obtenida

después de su filtraje y digitalización es una señal acústica limpia, con

buena ganancia y sin problemas para su partición de ventanas.

• La etapa de salida infrarroja es la mejor para el desarrollo de este proyecto

ya que por sus características de transmisión y recepción no genera

problemas para el funcionamiento de los equipos médicos que estén

interactuando con el paciente.

Page 59: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

53

6. JUSTIFICACIÓN DE POSIBLES DIFERENCIAS ENTRE EL

INFORME DE 50% Y LA ENTREGA FINAL

6.1 DSP

En el informe del 50% se propuso el uso del DSP porque es un elemento

electrónico diseñado para el procesamiento de señales y usado en casi todas las

aplicaciones de sistemas de tratamiento de señales de audio y de voz.

FIGURA 45: TARJETA DE EVALUACION TEXAS TMS320C541

Page 60: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

54

La universidad se dispone de tarjetas de evaluación Texas Instruments que

contienen un DSP TMS320C541, un conversor análogo digital TAC320XXXX,

puerto serial y paralelo y otros elementos que permitían un total desarrollo del

proyecto en un solo dispositivo. Esta es tarjeta PCI (figura 20) no extraíble, pues

su alimentación dependía directamente del PC. Pero aunque este es un

dispositivo ideal para este tipo de aplicaciones no contamos con la antigüedad de

esta tarjeta y por lo tanto fue complicado instalarla y conseguir el software para el

desarrollo de la misma.

FIGURA 46: DIAGRAMA DE BLOQUES DSP TMS320C541

Page 61: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

55

6.1.1 Características

• Lleva consigo ocho buses de 16 bits de los cuales cuatro son buses de

datos y programación y los cuatro restantes son de direccionamiento.

Direcciona más de dos datos en memoria por ciclo de reloj del sistema.

• La memoria esta organizada en tres espacios individuales, una ROM de 28

K en la que 20 K se destinaba para la programación y 8 K para otra

información y una SRAM de 5 K para datos I/O de entrada y salida.

• Su ALU, Unidad Lógica Aritmética, es de 40 bits y trabaja en 2-

complemento, además tiene dos acumuladores A y B de 40 bits para un

mejor desempeño de la ALU.

• Contiene una unidad sumadora y multiplicadora que permite la

multiplicación en 2-complemento de dos números con un máximo de 17 bits

y sumas de números de 40 bits.

• Su puerto serial sincrónico es de alta velocidad y puede comunicarse en

forma serial con dispositivos como CODECS, conversores (A/D) y otros

sistemas seriales.

6.1.2 Instalación

El proceso de instalación fue muy complejo ya que este tipo de tarjetas usan

ciertas paginas de memoria del computador (Figura 22), estos espacios eran

seleccionados por la tarjeta dependiendo de la combinación que tuviera en los dos

switches localizados en la tarjeta, si estos espacios son ocupados por otros

dispositivos, la tarjeta no es reconocida y no puede ser instalada.

Page 62: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

56

FIGURA 47: SWITCHES EN LA TARJETA

6.1.3 Programación

Después de la instalación proseguimos con el proceso de programar el CODEC y

el DSP, pero esta tarea fue difícil de realizar debido a la poca información

disponible sobre este dispositivo, aunque teníamos el programa del codec listo, el

dispositivo no realizaba la tarea que le asignamos y por lo tato nunca pudimos

obtener la señal de voz.

Page 63: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

57

FIGURA 48: DIAGRAMA DE BLOQUES DEL CODEC

La programación del CODEC no es nada compleja ya que lo que se hace es

configurar ocho registros. Estos son:

• Registro 0: Encargado de permitir el ajuste de fase de la señal.

• Registro 1: Registro que controla el contador A.

• Registro 2: Registro que controla el contador B.

• Registro 3: Controla el ajuste de fase del periodo de muestreo.

• Registro 4: Ajuste de ganancia.

• Registro 5: Controles de la configuración análoga.

• Registro 6: Controles de la configuración digital.

• Registro 7 y 8: Usados cuando se usa la configuración maestro esclavo.

Page 64: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

58

Lo que se hizo primordialmente fue cargar las constantes necesarias en los

registros 1 y 2 (A y B) obtenidas con las siguientes formulas dadas en el datasheet

del CODEC:

Estas constantes permiten configurar los límites de alta y baja del filtro pasabanda

que trae consigo el CODEC. En nuestro caso como debemos muestrear a 16 k y

el reloj es de 10.368 MHz, el registro A debe tener un valor de 32 y el B de 10

para así obtener como límites 81 Hz – 4 KHz cubriendo las frecuencias de voz

más usadas por las personas.

Luego empezamos con la programación de el DSP pero al tratar de hacerlo nos

dimos cuenta que al escribir algunos comandos el entendía otros en el lenguaje de

la máquina, por lo cual cualquier programa que quisiésemos hacer no lo simulaba

ni programaba bien.

Por esto en ese momento y faltando 35 días para la entrega del proyecto

decidimos cambiar de dispositivo por esto pasamos de un DSP a un PIC, un

elemento que aunque no conocíamos bien, ya otras personas cercanas a nosotros

tenían experiencia con el y podían ayudarnos en su programación.

Page 65: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

59

Obviamente por este cambio tan drástico de sistema, en el proyecto se sumaron

otros dispositivos que aunque estaban antes en la tarjeta, ahora deberíamos

unirlos y acoplarlos a lo que se necesitaba hacer en este proyecto. Estos son una

memoria RAM para aumentar la capacidad del PIC, un filtro que pudiese adquirir

de forma correcta la señal de voz y un amplificador para poder tener un mejor

procesamiento de señal.

Page 66: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

60

7. BIBLIOGRAFIA Y FUENTES DE INFORMACION

• B.S. Atal, V. Cuperman, A. Gersho, Advances in Speech Coding, Kluwer

Academic Publishers, 1991.

• P. Bamber et al. "Phoneme-based training for large vocabulary recognition

in six European languages", Proc EUROSPEECH91, pp. 175-182, 1991.

• Antonio Bonafonte, Pablo Aibar, Nuria Castell, Eduardo Lleida, José B.

Mariño, Emilio Sanchís y M. Inés Torres "Desarrollo de un Sistema de

Diálogo Oral en Dominios Restringidos", Jornadas en Tecnologías del

Habla, Sevilla, Noviembre 2000.

• G. Bristow. Electronic Speech Recognition, Techniques, technology &

Applications, McGraw-Hill, 1986.

• H. Dudley, "Remaking Speech", J. Acoust. Soc. Am., vol 11, pp 169-77,

1939.

• S. Furui, Digital Speech Processing, Synthesis and Recognition, Marcel

Dekker, Inc, 1989.

• N.S. Jayant, P. Noll, Digital Coding of Waveforms, principles and

applications to speech and video, Prentice-Hall, 1984

• N.S. Jayant, P. Noll, Digital Coding of Waveforms, principles and

applications to speech and video, Prentice-Hall, 1984

• E.A.Lee, "Programmable DSP Architectures", IEEE ASSP Magazine Vol 5,

nº 4, Part I 1988, Vol 6, nº 1, Part II, 1989.

• S.E. LEvinson, J.P. Olive, J.S. Tshirgi, "Speech Synthesis in

Telecommunications", IEEE Comm. Magazine, Vol 31, nº 11, 1993.

• E. Lleida, J.B. Mariño, A. Moreno, "TELEMACO- A Real Time Keyword

Spotting Application for Voice Dialing", Proc. EUROSPEECH93, pp. 1801-

1804, 1993.

Page 67: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

61

• J. Mariani, "Recent Advances in Speech Processing", Proc. IEEE ASSP89,

Vol S1, pp. 429-440, 1989.

• R. Moore, Speech Processing, McGraw-Hill, 1990.

• P. Noll, "Wideband Speech and Audio Coding", IEEE Comm. Magazine, Vol

31, nº 11, 1993.

• L.R. Rabiner, "Applications of voice processing to telecommunications", in

New Advances and Trends in Speech Recognition and Coding, Proc of

NATO-ASI, Granada, 1993.

• D.H. Klatt, "Review of the ARPA Speech Understanding Project", J. Acost.

Soc. Am. vol 62, nº 6, 1977.

• L.R. Rabiner, B.H. Juang, Fundamental of Speech Recognition, Prentice-

Hall, 1993.

• D.B. Roe, J.G.Wilpon, "Whither Speech Recognition: the next 25 years",

IEEE Comm. Magazine, Vol 31, nº 11, 1993.

• Y. Sagisaka, "Speech Synthesis from text", IEEE Comm. Magazine, Vol 28,

nº 1, 1990.

• D. O'Shaughnessy, Speech Communications, humman and machine,

Addison-Wesley, 1987.

• R. Sukkar, K. Kinder, "Accessing Custom Calling Telephone Services Using

Speech Recognition", Proc ICSPAT-92, Vol 2 pp. 994-999, 1992.

• Waibel, "System for Natural Human-Human and Human-Computer

Interaction", in New Advances and Trends in Speech Recognition and

Coding, Proc of NATO-ASI, Granada, 1993.

• N.S. Jayant, P. Noll, Digital Coding of Waveforms, principles and

applications to speech and video, Prentice-Hall, 1984.

Page 68: Sistema de Control por voz de un ambiente hospitalario Ana

IEL2-2002-II-06IEL2-2002-II-08

62

• W.V. Kempelen, "Le mechanisme de la parole suivi de la description de un

machine parlante", J.V. Degen, Vienna, 1791.

• W.A. Lea, Trends in Speech Recognition, Prentice-Hall, 198

• David Cook, “http:// www.robotroom.com/Infrared555.html”