Sie sind auf Seite 1von 26

1

UNIVERSIDAD PRIVADA DE TACNA










PROYECTO: Diseo de un sistema biomtrico de reconocimiento
de voz usando la herramienta MATLAB



CURSO: Proyectos Electrnicos



CICLO: X Ciclo



ESCUELA: EPIE





TACNA-PERU
2012
2

1. Planteamiento del problema.
En la actualidad, los sistemas de seguridad estn siendo actualizados para utilizar
ya no identificacin mediante claves escritas, sino tienden a usar una
caracterstica de la persona, tal como la voz, su huella digital, parmetros de la
retina.
El propsito de este proyecto es poder disear e implementar un sistema
biomtrico de reconocimiento de voz usando MATLAB.

2. Justificacin de la investigacin
Los sistemas biomtricos, requieren un estudio delicado para tener una gran
eficacia, existen varios algoritmos de para este tipo de sistemas, el propsito de
este proyecto, tanto tecnolgico como educativo, es el anlisis de estos
algoritmos, y su implementacin aplicando conceptos de PDS para el
reconocimiento de voz.

3. Objetivos

3.1 Objetivo general

Disear un sistema biomtrico de reconocimiento de voz usando la
herramienta MATLAB el cual permitir la comunicacin usuario -
computadora

3.2 Objetivos especficos

1. Explorar algoritmos de procesamiento digital de voz, para la
extraccin de los parmetros de la voz.

2. Lograr una interaccin usuario computadora.


3


Fig. 1 Aparato Fonador Humano
4. Marco terico
4.1 Reconocimiento de voz

4.1.1 La seal de la voz
En el proceso de generacin de la voz, el
sonido inicial proviene de la vibracin de
las cuerdas vocales conocida como
vibracin glotal, es decir, el efecto sonoro
se genera por la rpida apertura y cierre
de las cuerdas vocales conjuntamente
con el flujo de aire emitido desde los
pulmones. Las cuerdas vocales son dos
membranas ubicadas dentro de la laringe,
la abertura entre ambas cuerdas se
denomina glotis. Cuando la glotis comienza a cerrarse, el aire proveniente desde
los pulmones experimenta una turbulencia, emitindose un ruido de origen
aerodinmico.
Luego de atravesar la glotis el sonido pasa a travs de la cavidad supragltica,
que es la porcin del aparato fonador que permite modificar el sonido dentro de
mrgenes muy amplios. Est conformado principalmente por tres cavidades, la
cavidad oral, la cavidad labial y la cavidad nasal, correspondientes a la garganta,
los labios y la nariz respectivamente. Estas cavidades constituyen resonadores
acsticos, los cuales modifican los sonidos de acuerdo a la forma que adopten, la
lengua y los labios permiten efectuar esta variacin de manera voluntaria.
4.1.1.1 Frecuencias formantes
Las cavidades que conforman la cavidad supragltica actan como
resonadores acsticos. Si se realiza un anlisis espectral del sonido luego
de haber atravesado estas cavidades, el efecto de la resonancia producira
un nfasis en determinadas frecuencias del espectro obtenido, a las que se
les denominara 'formantes'. Existen tantas formantes como resonadores
4

posee el tracto vocal. Sin embargo se considera que slo las tres primeras,
asociadas a la cavidad oral, bucal y nasal respectivamente y proporcionan
la suficiente cantidad de informacin para poder diferenciar los distintos
tipos de sonido. En la figura se muestra el espectro de la palabra 'uno', y se
denominan F1, F2 y F3 a sus tres principales frecuencias formantes. La
amplificacin de cada una de estas tres frecuencias depende del tamao y
forma que adopta la cavidad bucal y la cavidad oral, y si el aire pasa o no
por la nariz.


Fig. 2 Frecuencias Formantes

Formantes Voclicos
Vocal Regin principal formantica
/u/ 200 a 400 Hz
/o/ 400 a 600 Hz
/a/ 800 a 1200 Hz
/e/ 400 a 600 y 2200 a 2600 Hz
/i/ 200 a 400 y 3000 a 3500 Hz

Tabla 1 Formantes vocalicos
5



4.1.1.2 Tipos de seales de voz
4.1.1.2.1 Seal Sonora
La seal sonora se genera por la vibracin de las cuerdas vocales
manteniendo la glotis abierta, lo que permite que el aire fluya a travs de
lla. Estas seales se caracterizan por tener alta Energa y un contenido
frecuencial en el rango de los 300 Hz a 4000 Hz presentando cierta
periodicidad, es decir son de naturaleza cuasiperidica. El tracto vocal
acta como una cavidad resonante reforzando la energa en torno a
determinadas frecuencias (formantes). En la figura siguiente se muestra el
comportamiento de este tipo de seales en el tiempo. Toda las vocales se
caracterizan por ser sonoras pero existen consonantes que tambin lo son,
tales como, la 'b', 'd' y la 'm', entre otras.

Fig. 3 Seal Sonora
4.1.1.2.2 Seal no sonora
A esta seal tambin se le conoce como seal fricativa o sorda, y se
caracteriza por tener un comportamiento aleatorio en forma de ruido blanco.
Tienen una alta densidad de Cruces por Cero y baja Energa comparadas
con las seales de tipo sonora. Durante su produccin no se genera
6

vibracin de las cuerdas vocales, ya que, el aire atraviesa un
estrechamiento, y genera una turbulencia. Las consonantes que producen
este tipo sonidos son la 's', la 'f' y la 'z' entre otras. La figura siguiente
muestra la forma de onda de una seal no sonora.

Fig 4. Seal no sonora
4.1.1.2.3 Seal plosiva
Esta seal se genera cuando el tracto vocal se cierra en algn punto, lo que
causa que el aire se acumule para despus salir expulsado repentinamente
(explosin). Se caracterizan por que la expulsin de aire est precedida de
un silencio. Estos sonidos se generan por ejemplo, cuando se pronuncia la
palabra 'campo'. La p es una consonante de carcter plosivo, y existe un
silencio entre las slabas 'cam' y 'po'. Otras consonantes que presentan esta
caracterstica son 't', y 'k', entre otras. La figura siguiente muestra el
comportamiento de este tipo de seal.
7


Fig 5. Seal plosiva
4.1.1.2.4 Modelo del Tracto

Fig 6. Modelo de produccin de voz
El conducto vocal se representa por un sistema lineal (en general
inestacionario) que es excitado a travs de una llave que selecciona entre
una fuente de impulsos cuasi peridicos para el caso de sonidos
tonales, o una fuente de ruido aleatorio para el caso de sonidos no
tonales. La ganancia apropiada de la fuente, G, es estimada a partir
de la seal de voz, y la seal escalada es usada como entrada del
modelo del conducto vocal.
8

Modelo de radiacin: describe la impedancia de radiacin vista por la
presin de aire cuando abandona los labios, que puede ser
razonablemente aproximada por una ecuacin en diferencias de primer
orden, o equivalentemente por una funcin de transferencia de la forma
() (

)
Modelo de glotis: existen diferentes modelos de la glotis, para el caso
en que es excitada por pulsos. Un modelo simple es el denominado
modelo exponencial representado por una funcin transferencia Z de la
forma
()
()


Donde e es la base de los logaritmos neperianos. El numerador se
selecciona de manera que ()

*()+ tenga un valor mximo


aproximadamente igual a 1.
4.1.2 Sistema de reconocimiento de voz
4.1.2.1 Pre procesamiento
Consta de 3 partes, la eliminacin del ruido, el pre-enfasis, y la
segmentacin.
4.1.2.1.1 Eliminacion del ruido
Es una tcnica utilizada para sealar donde se da el inicio de la
seal, y donde se termina. Se calcula la energa promedio de la
seal, y cada 10 ms de trama de voz se hace una comparacin, si
esta trama tiene menos del porcentaje sealado, es eliminada.

4.1.2.1.2 Pr-Enfasis
Sirve para enfatizar las frecuencias altas de los formantes, y para
remover la componente de DC de la seal. El filtro que se utilizara
ser el siguiente:
9

()


Donde a=0.95

6.1.2.1.3 Segmentacin
Para trabajar con la seal de voz, tenemos que decir que es
estacionaria, y para eso se aplica la segmentacin, donde se toman
ciertos periodos de tiempo de la seal y esta se asume que es
estacionaria.
Esta segmentacin toma 30 ms por trama de voz con un
desplazamiento de 10 ms entre cada trama.
4.1.2.2 Ventana Hamming
Se aplica una ventana hamming a cada uno de los segmentos creados
anteriormente, esto se aplica con la razn de tener una seal con los
lobulos secundarios pequeos y un lbulo principal estrecho, a simple vista
parece que se perder la informacin correspondiente a los lbulos
secundarios, pero esto no es asi debido al solapamiento entre segmentos.
,- {
()

}
4.1.2.3 Anlisis Mel-Cepstral (Mel Spectrum)
Retomando los conceptos de la voz, esta es la convolucin de la seal de
excitacin y un filtro lineal.
() () ()
Con H(t) la respuesta al impulso del filtro lineal
En el dominio de la frecuencia:
() () ()
Dado la seal S(f), sabiendo que los formantes tienen ciertas frecuencias
explicitas para el reconocimiento de voz, para un mejor tratamiento de estas
se aplican filtros con frecuencias centrales de tal modo que resalten las
caractersticas espectrales.
10


Fig 7. Banco de filtros Mel
Los filtros usados para este banco de filtros son de tipo triangular,
repartidos desde la frecuencia cero hasta la frecuencia de Nyquist
En el diseo de estos filtros se toma una LoFreq y HiFreq (o f
l
y f
h

respectivamente).

Los puntos superiores de cada funcin espectral f(m) se encuentran
uniformemente espaciados en la escala de Mel en funcin de m y se
determinan mediante:








Donde:
() (

)

Al final la inversa estara dado por:
Mel de es coef icient de total M
calcular a e coef icient de nmero m
Hz en resada alta ms f recuencia f
Hz en resada baja ms f recuencia f
donde
M
f f
m f m f
h
l
h l
l
=
=
=
=
|
.
|

\
|
+

+ =

exp
exp
:
1
) ( ) (
) ( ) (
1
| |
| |
11

|
|
.
|

\
|
|
.
|

\
|
=

1
1125
exp 700 ] [
1
b
b |

Entonces, la construccin de los filtros viene dado por:

M m y
f k para
s
s s
s s
1
2 / 1

Este procedimiento funciona si los filtros son equiespaciados.
Para filtros no uniformemente espaciados y con una amplitud normalizada
de 1, la solucin esta dada por:







+ >
+ s s
+
+
s s


<
=
) 1 ( , ...... ,......... 0
) 1 ( ) ( , ,....
) ( ) 1 (
) 1 (
) ( ) 1 ( , ,....
) 1 ( ) (
) 1 (
] 1 [ , ...... ,......... 0
] [
m f k para
m f k m f para
m f m f
k m f
m f k m f para
m f m f
m f k
m f k para
k H
m
M m y
f k para
s
s s
s s
1
2 / 1
12

Entonces, luego de disear los filtros, estos se tienen que multiplicar con la
seal luego de aplicarle la FTT.
Fig 8. Aplicacin de los filtros Mel




4.1.2.4 Mel-Cepstrum
Es la respuesta luego de aplicar el Logaritmo a nuestro Mel-Spectrum, y
luego la Transformada discreta de coseno.
La transformada de Coseno Discreta es una transformacin basada en la
Transformada discreta de Fourier, pero utilizando solamente nmeros
reales.
Expresa una secuencia de muchos puntos de datos en trminos de una
suma de funciones coseno oscilando a diferentes frecuencias. Sus
aplicaciones son importantes sobre todo en aquellas en donde
componentes pequeas de alta frecuencia se pueden descartar. El uso de
13

la funcin coseno en lugar de la funcin seno ha demostrado ser ms til (p.
e. la compresin de informacin), existen 8 variantes de la transformada
coseno discreta, de las cuales slo 4 son las ms utilizadas o comunes.








Fig 9. Proceso de obtencin de coeficientes Mel-Cepstrum







Voz
Pre-
proceso
Ventana
Hamming
FFT
Banco
de
Filtros
Mel
Log
DCT
Coeficientes
de Mel-
Cepstrum
1 ,......, 0 ,
2
1
cos
1
0
=

|
.
|

\
|
+ =

=
N k k n
N
x X
N
n
n k
t
14

Fig 10. Proceso de obtencion de coeficientes Mel-Cepstrum con su
correspondiente proceso matemtico











15

4.2 Sistema biomtrico
4.2.1. Cuantificacion de vectores
Una parte importante en cualquier tipo de procesamiento de voz es la optimizacin
de los algoritmos en cuanto a velocidad y almacenamiento, entonces, la
cuantificacin de vectores trae consigo la idea de clasificar un conjunto de
vectores, luego de lo cual se buscarn los mejores representantes para reducir el
tamao de la informacin a manejar. La forma de medir la fidelidad de un
cuantificador es determinar el error que ste produce al reemplazar los datos de
entrada que recibe por los vectores representantes o codewords, dicho parmetro
es llamado error por distorsin. La finalidad de un cuantificador es obtener un
conjunto de vectores representativos llamado codebook, que presente el menor
error por distorsin, por ejemplo para cuantificar los vectores de observacin.
4.2.1.1 Distancia Euclidiana
La distancia euclidiana s la distancia "ordinaria" (que se medira con una regla de
acero) entre dos puntos de un espacio eucldeo, la cual se deduce a partir del
teorema de Pitgoras. Por ejemplo, en un espacio bidimensional, la distancia
euclidiana entre dos puntos P
1
y P
2
, de coordenadas (x
1
, y
1
) y (x
2
, y
2
)
respectivamente, es:
(

)
Entonces para un espacio multidimensional de orden n esta dado por:
(

) (

)
4.2.1.2 Distancia no Euclidiana
Es la que est determinada solo por 4 reglas:
(

)
(

) (

)
(

)
16

(

) (

) (

)
La ltima expresin hace referencia a que si se consideran 3 objetos, la distancia
entre dos de ellos no puede superar la suma de las distancias entre los dos
restantes.
4.2.1.3 Proceso de Cuantificacin de vectores
Las tcnicas de parametrizacin de la seal de voz se realizan tomando una
secuencia de ventanas temporales, cada una de las cuales se representa por un
nmero de D parmetros. Entonces la informacin de cada ventana se
representara por un vector de observacin de D posiciones.
Cuando se almacenan estos parmetros lo que generalmente se hace es
cuantificar cada parmetro con un determinado nmero de bits, este proceso se
denomina cuantificacin escalar y no es la manera ms eficiente para almacenar
la informacin, adems, implica la ocurrencia uniforme de las ventanas de
informacin. Una forma ms conveniente es realizar una cuantificacin vectorial.
Si comparamos la informacin del vector representante con respecto a la forma de
onda original de la seal de voz, concluimos que el anlisis espectral contiene
significativamente menos informacin.
Por ejemplo, una seal de voz se muestrea a 10Khz y la cuantificacin es de 16
bits, se necesita una velocidad de 160000 bps para almacenar las muestras de la
seal de voz en el formato original. Si realizamos el anlisis en el espectro,
consideremos vectores de dimensin n=10 usando 100 vectores de observacin
por segundo. Si representamos cada parmetro en 16 bits, se requiere
aproximadamente 100x10x16 bps o 16000 bps con una reduccin de diez veces
sobre la seal original.
Las compresiones en ancho de banda y almacenamiento son imprevisibles, se
basan en el concepto de la necesidad de la representacin nica para cada
fonema (sonido diferenciable de una lengua, generalmente representado por una
letra), esto puede ser posible para reducir la representacin espectral original de la
seal de voz sacando a los vectores de observacin desde un pequeo, finito
nmero de vectores espectrales "nicos", donde cada uno corresponde a las
unidades bsicas de la voz o "fonemas".
17

La representacin ideal es impracticable porque hay mucha variabilidad en las
propiedades espectrales de cada uno de los fonemas.
De cualquier forma, el concepto de construir un codebook de vectores de anlisis,
"distintos" y "nicos", aunque con mas palabras de cdigo que el grupo o set
bsico de fonemas, sigue siendo una idea atractiva y es el fundamento de un
conjunto de tcnicas denominadas mtodos de cuantificacin de vectores.
Basndose en este razonamiento, se necesita un codebook con aprox. 1024
vectores espectrales nicos ( 25 variantes para cada uno de los 36 fonemas
bsicos ).
Si para representar un vector espectral arbitrario tenemos un nmero de 10 bits,
tomando una velocidad de 100 vectores por segundo, obtenemos una velocidad
de 1000 bps para representar los vectores espectrales de una seal de voz.
Esta velocidad es aprox. 1/16 de la velocidad necesaria para vectores espectrales
continuos.
Por lo tanto la representacin cuantificada es eficiente para representar
informacin espectral de la seal de voz.

Principales ventajas
1. Reduce el almacenamiento de la informacin de anlisis.
2. Se reduce el clculo para determinar distancias entre vectores espectrales. La
representacin del VQ se limita a una tabla que contiene las distancias entre pares
de vectores del codebook.
3. Representacin discreta de las seales de voz. Asociando una caracterstica
fontica con cada vector del codebook, el proceso de eleccin del vector que
mejor lo representa es equivalente a asignar una caracterstica fontica a cada
segmento de voz.

Principales desventajas
1. Distorsin en la representacin del vector. Hay un nmero finito de vectores en
el codebook, el proceso de "eleccin" del mejor representante es equivalente a
cuantificar el vector y conduce a un cierto nivel de error de cuantificacin. De
18

cualquier modo con cualquier codebook finito siempre habr un nivel de ruido o
error.
2. El almacenamiento requerido para los vectores del codebook no es pequea.
Cuanto ms grande sea el codebook menor es el error. Para un codebook de
1000 o ms entradas, el almacenamiento no es irrelevante. Hay que realizar un
balance entre error de cuantificacin, procesamiento y almacenamiento del
codebook.
4.2.1.4 Componentes

Fig 11. Proceso de obtencin de Codebook
1. Un gran nmero de vectores de observacin, V1, V2,....., Vn, que conforman el
grupo de entrenamiento. El grupo de entrenamiento se usa para crear el grupo de
vectores del codebook "optimo" que representa la variabilidad espectral
observada en el grupo de entrenamiento. Determinamos el tamao del codebook
como M = 2, siendo a el nmero de bits necesarios para codificar M palabras de
cdigo, por lo tanto se necesitan n>>M vectores para que sea eficaz.
2. Una medicin de distancia entre cada par de vectores espectrales de
observacin para agrupar el conjunto de vectores de entrenamiento como as
tambin para asociar o clasificar vectores arbitrarios a cada entrada del codebook.
3. Un procedimiento de clasificacin para ubicar y calcular los centroides. Sobre la
base del particionamiento que clasifica el grupo de n vectores en M clusters o
sectores primero elegimos el nmero M, codewords del codebook, para luego
proceder a la clasificacin.
4. Finalmente, luego del proceso de clasificacin (entrenamiento) queda como
resultado del mismo un libro de cdigos o codebook.
19

Grupo de entrenamiento del VQ para reconocimiento de voz
Para entrenar apropiadamente el codebook y mejorar la implementacin, para el
grupo de vectores de entrenamiento, se deber tener en cuenta:
1. Para las seales de voz: Rangos de edad, acentuacin, gnero, velocidad de
discurso, niveles y otras variables.
2. Condiciones de discurso: Ambiente ruidoso o silencioso, movilidad de la
persona.
3. Transductores y sistemas de transmisin: Ancho de banda del micrfono, canal
telefnico, ancho de banda del canal y otros dispositivos.
4. Reconocimiento discreto o de palabras aisladas y reconocimiento continuo.
4.2.1.5 Clasificacin de Vectores
El objetivo de un mdulo clasificador es agrupar una cantidad de vectores
caractersticos, N, en una cantidad M (M<N), discreta, de sectores o celdas de
clasificacin logrando que las caractersticas en cada sector sean similares.
Existen muchos criterios para lograr dicho objetivo y a continuacin veremos
algunos de los ms comunes. Imaginemos que la media multidimensional de un
determinado sector i, es i (con 1<i<M), y a continuacin ingresa al clasificador un
vector de observacin o, se puede clasificar dicho vector calculando la "distancia"
a la que se halla de cada una de las M medias y asignndolo al sector ms
"cercano".
Este mtodo de clasificacin se denomina k-Means debido a que se agrupan los
vectores en torno a k valores medios, quedando formados k sectores (en nuestro
caso k=M). Existe el problema de inicializacin de los valores de i, y su
reestimacin a medida que progresa el algoritmo.

4.2.1.6 Algoritmos de Clasificacin
Podemos decir, en general, que los N vectores originales de tamao D quedarn
representados por M vectores, cada uno de los cuales es llamado "palabra de
cdigo" o codeword (Cw), el grupo entero de dichos vectores, forma un "libro de
cdigos" o codebook, quedan entonces delimitadas M regiones o sectores,
llamados regiones de Voronoi, determinados por la siguiente expresin:
20

)}
En la figura se observa un diagrama de Voronoi con sus correspondientes
sectores, conformando un codebook con sus correspondientes codewords como
centroides.

Fig 12. Diagrama de Voronoi
La forma en la cual un grupo de N vectores de observacin de entrenamiento
pueden ser clasificados en un grupo de M vectores del codebook es mediante el
algoritmo K-Means.

4.2.1.7 Algoritmo K-Means
1. INICIALIZACIN: Arbitrariamente elegimos M vectores o palabras de cdigo,
codewords, como el grupo inicial del codebook.
2. BSQUEDA DEL MS CERCANO: Por cada vector de observacin, se busca
el codeword en el codebook que es el ms cercano (en trminos de distancia), y
asigna a ese vector a la celda correspondiente.
21

3. ACTUALIZACIN DEL CENTROIDE: actualiza el codeword en cada celda o
sector usando el centroide de los vectores de entrenamiento asignados a un
sector.
4. ITERACIN: Repite los pasos 2 y 3 hasta que la distancia media caiga debajo
de un umbral prefijado. La forma de cada sector o celda o particin es muy
dependiente de la medida de distorsin espectral y las estadsticas de los vectores
en el grupo de entrenamiento. Este mtodo es el ms simple y por tanto existen
numerosas modificaciones y mejoras, algunos de sus puntos dbiles son:
1. Los resultados dependen en forma muy acentuada de los valores
iniciales elegidos como palabras de cdigo.
2. Tambin hay gran dependencia del nmero de sectores M as como de la
implementacin de la "distancia" usada.
3. Puede suceder que algunos de los sectores resulten vacos.

4.2.1.8 Algoritmo LBG
Se analizar con algn detalle debido a su buen desempeo, para eso
comenzaremos por el algoritmo fundamental LBG. El algoritmo LBG, lleva su
nombre debido a sus autores Y. Linde, A. Buzo y R. M. Gray, en l se elige 1
codeword inicial de entre los vectores de datos a clasificar, luego se utiliza el
algoritmo de divisin binaria para duplicar el nmero de codewords, los vectores
de observacin se agrupan en torno a los codewords que les presentan menor
distancia, se recalculan los codewords como la media multidimensional de cada
sector y se agrupan nuevamente los datos, el proceso se detiene cuando el
codebook no presenta variacin significativa y al llegar al nmero de codewords
deseados.
Este algoritmo de gran popularidad (que utiliza el algoritmo k-Means) produce
codebooks que logran un mnimo local en la funcin de error por distorsin.

Para generar un codebook de M sectores o palabras de cdigo:
En primer lugar designando un codeword inicial para luego utilizando una tcnica
de divisin llegar a obtener un codebook inicial, luego iterando la misma tcnica de
22

divisin en los codewords hasta que llegamos a obtener el nmero de codewords
igual a M que va a ser el tamao del codebook deseado.

El procesamiento se denomina divisin binaria:
1. Designar 1 vector del codebook o codeword inicial, ste resulta ser el
centroide del grupo de los vectores de entrenamiento.
2. Calcular la media del grupo de entrenamiento:


2.1. Calcular el error o distancia media entre el codeword inicial y los
vectores de entrenamiento:



3. Duplicar el tamao del codebook mediante la divisin de cada codework.

( )

( )


4. Usar el algoritmo K-Means para tomar el mejor grupo de centroides para la
separacin del codebook.
5. Iterar pasos 3 y 4 hasta llegar a un codebook de tamao M.

Una de las causas que motivo el uso de un VQ fue la suposicin que, en el limite,
el codebook debera idealmente tener 36 vectores, uno por cada fonema,
suposicin que es incorrecta.
En el esquema de la figura se representa el algoritmo que sintetiza el proceso de
generacin del codebook mediante el mtodo LBG.

23


Fig 13. Algoritmo de generacin del codebook por divisin binaria

4.2.1.9 Cuantificador y Codebook
Una vez construido el codebook, el procedimiento para cuantificar vectores es
bsicamente realizar una bsqueda completa a travs del codebook para
encontrar el mejor representante. Si anotamos los vectores del codebook, de
tamao M, como Cw, 1 w M, y tomamos al vector de observacin a ser
cuantificado como V, luego el vector representante o codeword, Vm*, es:

( )

Un procedimiento de cuantificacin para seal de voz elige el vector ms cercano
del codebook al vector de observacin y utiliza ese vector denominado codeword,
24

como la representacin resultante para etapas posteriores. Se refiere como al
vector "vecino" ms cercan
o, toma como entrada, vectores de seal de voz y da como respuesta, a su salida,
el vector que mejor representa esa entrada.


5. Metodologa

El programa utilizado para el desarrollo de la aplicacin del sistema biomtrico
de reconocimiento de voz, ser MATLAB.

En esta herramienta de desarrollo se crearan funciones, de tal modo que se
pueda separar el esquema de trabajo en bloques.

Creacin de funciones

La creacin de funciones en MATLAB, se dar de la siguiente forma:

1.- Funcin Eliminacin del ruido
Se calculara el promedio de la potencia en toda la trama de la voz, luego se
segmentara la voz en tramas de 10ms, de las cuales se sacara su potencia y
25

comparara con la potencia promedio de toda la trama, si esta es menor
entonces se eliminara la trama.

2.- Funcin Pre-enfsis
Se realiza para hacer el procesamiento de la seal menso susceptible a
truncamientos, aplanarla espectralmente y para compensar la cada de 6dB
que experimenta la seal al pasar por el tracto vocal.

3.- Funcin Segmentacin y enventanado
Se divide la seal en segmentos de 30 ms con solapamiento de 10 ms y se
aplica una ventana de hamming a cada segmento, con la finalidad de aplanar
la seal por los costados.

4.- Funcion FFT Spectrum
Se aplica la FFT a cada segmento de la seal y, se saca su valor absoluto,
quedando solo la parte real de la FFT de cada segmento.

5.- Funcin Creacin de filtros y aplicacin
Se crean los filtros en escala de Mel y se aplica con cada segmento, esto para
tener una mejor formacin de los formantes.

6.- Funcin Log y DCT
Se aplica una funcin Logaritmo a la respuesta salida en escala de Mel. Para
luego aplicar la Transformada discreta de coseno, con lo cual se obtendr los
MFCC (Coeficientes Cepstrum en Escala de Mel)

7.- Funcin Cuantificacin Vectorial
La cuantificacin vectorial se da con el algoritmo LBG, para la creacin de los
codewords y codebooks.

8.- Funcin Distancia
26

Luego de tener un banco de codebooks, con la nueva seal de entrada se saca
su codebook, y se calcula la distancia euclidiana minima con los codebooks
existentes de las seales de referencia, y se toma una decisin del tipo menor
igual a un numero, si se cumple, pertenecer al codebook mas cercano, sino,
se dice que la seal no pertenece a los codebooks existentes creados en la
fase de entrenamiento.

6. Cronograma
6.1 Creacion de algoritmo de parametrizacion
Inicio: Lunes 20 de Agosto
Fin: 1 de Octubre

6.2 Creacion de algoritmo de clasificacin
Inicio: 4 de Octubre
Fin: 1 de Noviembre

6.3 Pruebas y conclusiones
Inicio: 5 de Noviembre
Fin: 19 de Noviembre

7. Investigadores

Alanoca Miranda, Juan Eduardo

Das könnte Ihnen auch gefallen