Academia de Acu´stica, Escuela Superior de Ingenier´ıa Mec ...Olson y Belar, de los laborato-rios...

48
RECONOCIMIENTO Y S ´ INTESIS DE VOZ Dr. Maximino Pe˜ na Guerrero 1 Academia de Ac´ ustica, Escuela Superior de Ingenier´ ıa Mec´ anica y El´ ectri- ca del Instituto Polit´ ecnico Nacional, Unidad Profesional Adolfo L´opez Mat´ eos, Zacatenco, M´ exico Distrito Federal. 1 [pcurso.act][260416]

Transcript of Academia de Acu´stica, Escuela Superior de Ingenier´ıa Mec ...Olson y Belar, de los laborato-rios...

RECONOCIMIENTO Y SINTESIS DE VOZ

Dr. Maximino Pena Guerrero1

Academia de Acustica, Escuela Superior de Ingenierıa Mecanica y Electri-ca del Instituto Politecnico Nacional, Unidad Profesional Adolfo LopezMateos, Zacatenco, Mexico Distrito Federal.

1[pcurso.act][260416]

DEFINICIONES1

Sıntesis de voz. Sistema computacional electronico digi-tal que permite traducir los sımbolos de un texto escrito en

senales acusticas de voz.

Lenguaje natural. Coleccion bien formada de sımbolos

sonoros o escritos que utilizan los seres humanos para comu-nicarse entre sı. Tambien es el estudio de la comprension y

produccion de informacion hablada utilizando sistemas com-putacionales electronico-digitales2.

Lenguaje formal. Coleccion bien formada de sımbolosprimitivos cuyas reglas para concatenar dichos sımbolos estan

tambien formalmente bien especificadas. Al conjunto de estossimbolos se denomina el alfabeto del lenguaje (o vocabulario),mientras que al conjunto de las reglas se llama gramatica for-

mal3.

Lenguaje. Capacidad humana de comunicarse a travez deun sistema de signos4.

Lengua. Sistema de signos que emplea una comunidad lin-guıstica como instrumento de comunicacion.

Habla. Uso individual que cada persona realiza del modelogeneral de la lengua.

Fonetica. Disciplina que estudia los sonidos desde el pun-to de vista de su produccion, transmision, y percepcion, sin

preocuparse del significado de los mismos.

Fonologıa. Disciplina que estudia los sonidos dentro de una

lengua, establece las normas para su ordenamiento.

Fonema. Unidad fonologica mas pequena. Su numero esreducido, no tiene significado por si mismo, pero el significado

1[dfns.tex,MPG.26.08.17]2wikipedia3wikipedia4[Ber00, pg: 41] Bermudez Jesus Bernal, et., Reconocimiento de voz y fonetica acustica, Alfaomega,

2000.

de una palabra cambia si se intercambian dos fonemas: estoda lugar al fenomeno de la oposicion.

Alofono. Son las diferentes realizaciones de un mismo fone-ma segun el entorno en que este situado. El significado de la

palabra no cambia por el intercambio de alofonos.Grafıa. Es la representacion grafica de un fonema.

FONEMAS Y GRAFIAS EN ESPANOL

Fonema Grafıa Ejemplos

/a/ a

/b/ b,v vaso, bote, cava

/θ/ c,z cena, caza

/k/ c,qu, k casa, queso, kilo

/tf/ ch chico, muchacho

1

Temario de Reconocimiento y Sıntesis de Voz 1

Objetivo. Estudiar y analizar los fundamentos teoricos ypracticos que nos permiten disenar e implementar sistemas dehardware y software para el reconocimiento automatico de lapalabra hablada y su sıntesis sonora. Por ejemplo, hacer queuna maquina “escuche” y “entienda” algunos comandos quele “dice” su disenador, o bien, entablar un dialogo hombre-maquina hablado.Unidad I: Evolucion historica y definiciones basi-

cas. Sistemas de sıntesis de voz. Sistemas de reconocimien-to de voz. Telefonıa analogica. Telefonıa digital. InteligenciaArtificial. Vision artificial. Escucha artificial. Habla artificial.Reconocimiento de patrones. Sistemas Neuronales. SistemasEstocasticos. Analisis Fonetico. Fonetica Acustica (Fonema.Pitch. token acustico, entre otros). Procesamiento de SenalesDigitales. Computacion Analogica. Computacion digital. Siste-mas Computacionales en Red. Sistemas Operativos Distribui-dos. Sistemas Operativos en Tiempo Real.

Unidad II: Captura, reproduccion, y almacenamien-to digital Hardware de audio en sistemas computacionales.Cuantificacion de senales. Captura de una senal de voz.makefileSistema de almacenamiento de una senal de voz. Reproduccionde una senal de voz. Captura y reproduccion en tiempo real deuna senal de voz. Preprocesamiento de una senal de voz (Nor-malizacion, Filtros pasa-bajo, pasa-alto, pasa-banda, rechazo-banda; Sistemas de ventanas). Graficacion de senales de voz.

Unidad III: Calculo demakefile los parametros repre-sentativos Comparacion de patrones. Metodo numerico (Mag-nitud. Media. Energıa. Cruces por Cero. Maximos. Mınimos.)Parametros Espectrales. Cepstrum. Vocoders. Transformacio-nes de senal (Laplace, Fourier, Z. convolucion, entre otras). Co-rrelacion y Autocorrelacion de una senal de voz. Coeficientes dePredicion Lineal LPC (Prediction Linear Code). Filtros digita-les inversos (filtros Latice). Bases de datos fonetica. Busquedade un vector parametrico.

1[temario.tex][MPG 14AG17]

Unidad IV: Base de datos fonetica. Recuperacon deparametros de voz desde una Base de datos. Protocolos dealmacenamiento de datos. Normalizacion en el tiempo de losparametros de voz. Normalizacion en magnitud de los parame-tros de voz. Almacenamiento de los parametros de voz. Com-paracion de parametros. Identificacion de parametros. Metodosde decision y autentificacion. makefileUnidad V: Inteligencia Artificial en Acustica. Recono-

cimiento Automatico Parametrico de una senal de Voz. Tecni-cas de la Inteligencia Artificial en el Reconocimiento de Voz.Redes Neuronales. Algoritmos Geneticos. Cadenas de MarkovOcultas. Sociedades de agentes. Sistemas emergentes. Detecto-res de formantes. Detectores Espectrales. Detectores de Tono.Reglas de decicion. Redes semanticas. Vision Artificial. Ascu-cha Artificial. Habla artificial. Situaciones en 3D. Ingenierıa delconocimiento. Maquina de inferencias. Interfase hombre maqui-na. Sistemas expertos. Computadoras masivamente paralelas.Conexionismo como poder asociativo. Algoritmia como poderdeductivo. Robotica.Unidad VI: Cadenas de Markov Ocultas. Reconoci-

miento automatico parametrico con Cadenas de Markov Ocul-tas. Automatas determinısticos. Automatas no determinısticos.Sistemas Estocasticos. Expresiones regulares. Redes Semanti-cas. Arboles representativos.Unidad VII: Sıntesis de una senal de voz. Con-

version Analogico/Digital Digital/Analogico. ProcesamientoSenales Digitales y Analogicas. Transformaciones matematicas(F, DFT, L, Z). Protocolos de comunicacion. Protocolos de al-macenamiento de audio. Lenguaje C/C++.Unidad I: VIII Casos de estudio: desarrollo de un

proyecto. SAPI (Speech Application Programmer Interface),WinXX Microsoft. HTK (Hidden Markov Models Tool Kit)UNIX, WinXX. Sıntesis de instrumentos musicales. Sıntesisde patrones de voz. Sıntesis melodica. Generadores de acom-panamiento musical. Reconocimiento basico de una senal voz.Reconocimiento del sonido de un instrumento musicales.

1

Bibliografıa de Reconocimiento y Sıntesis de Voz 1

1 Rabiner L. R., R. W. Schafer, Digital Processing of Speech Signals, Prentice, Hall, 1978.

2 Rabiner L. Juang, Fundamentals of Speech Recognition, Prentice Hall, 1993.

3 Gold Ben, Nelson Morgan, Spech and Audio Signal Processing: Prosessing an Perception of Spech andMusic, John Wiley & Sons Inc., 2000. 537 pgs.

4 McLoughlin Ian, Applied Spech and Audio Processing: With Matlab Examples, Cambrifge, 2009. 206pgs.

5 Ingle Vinay K., John G. Proakis., Digital Signal Processing using MATLAB, 2nd. ed., CENEAGELearning Bookware Companion Series, 2007. 605 pgs.

6 Childers D. G., Speech Processing and Synthesis Toolboxes, John Wiley & Sons Inc., 2000. 483 pgs.(Laboratorio con MATLAB)

7 Casacubierta Francisco, Enrique Vidal, Reconocimiento Automatico del Habla, Marcombo, 1987. 205p

8 Bermudez Jesus Bernal, Jesus Bobadilla Sancho, Pedro Gomez Vilda, Reconocimiento de voz y fonetica

acustica, Alfaomega, 2000. 332 pgs.

1[biblio.tex][MPG 14AG17]

1

INTRODUCCION 1

OBJETIVO. Estudiar y ana-lizar los fundamentos teoricos ypracticos que nos permiten disenare implementar sistemas de recono-cimiento de la palabra hablada ysu sıntesis sonora. Por ejemplo, ha-cer que una maquina “escuche”y“entienda”algunos comandos que le“dice”su “dueno”.

TEMARIO:

Definiciones y conceptos ge-nerales en el reconocimientode patrones de voz (unidad1).

Fundamentos de las senalesacusticas (unidad 2).

Herramientas computaciona-les para la sıntesis y el re-conocimiento de voz (unidad3).

La Inteligencia Artificial(unidad 4). Redes neuro-nales, algoritmos geneticos,agentes, y perceptrones (uni-dad 5).

Procesamiento de senales di-gitales (unidad 6).

Casos de estudio: SAPI,RES, HTK, otros sistemasabiertos (unidad 7).

Desarrollo de un proyecto dereconocimiento de patronesde voz (unidad 8).

METODOS DE RECONOCI-MIENTO:2

Preparacion y preprocesa-miento.

Reconocimiento de palabrasaisladas.

Reconocimiento de palabrasconectadas.

Reconocimiento con metodossimbolicos.

Reconocimiento con metodosestocasticos.

Reconocimiento con metodosdifusos.

Reconocimiento con tecnicasde Inteligencia Artificial.

TIPOS DE RECONOCIMIEN-TO:3

Comparacion de patrones.Utiliza una distancia ma-tematica entre vectores, unode entrada y el otro almace-nado en una base de datosque contiene muestras de so-nido de voz.

Extraccion de caracterısti-cas foneticas. Se basa en de-tectores de sonoridad, detec-tores de tono, detectores deformantes, para tomar unadecision, basada en sistemasexpertos, y otras tecnicas deInteligencia Artificial.

Mixta. Combinacion de lacomparacion de patrones y laObtencion de CaracterısticasFoneticas.

Reconocimiento Automati-co Parametrico. Utiliza ca-denas de Markov, algoritmosgeneticos, redes neuronales,teorıa de agentes, entre otrastecnicas de la InteligenciaArtificial.

APLICACIONES:

Control de Maqui-nas.Control automatico demaquinas y herramientas.

Medicina. Protesis, audicion,ultrasonido, escaners, tomo-grafıa.

Sistemas de Supervision yControl de Ruido. SistemasESCDA, en procesos indus-triales.

Inteligencia Artificial(Robotica). Sistemas de na-vegacion Autonomos.

Sismologıa. Deteccion yprediccion de sismos. Geo-logıa.Deteccion de yacimien-tos de petroleo, gas, metales,arqueologıa, entre otros.

Musica. Dictado de partitu-ras, extraccion de partituras,caracterizacion

HERRAMIENTAS:

DSPs -Procesamiento desenales digitales-.

Lenguaje C/C++ (MinGWGCC, Microsoft Visual C++6.0 7.0, 8,0, 9.0).

Sistema Operativo UNIX(Linux) Microsoft XP, Vista,7.

Calculo Vectorial.

METODOS MATEMATI-COS:

Analisis armonico de senales.

Teorıa de la convolucion.

Transformadas: Fourier, La-place, Z.

Cruces por cero.

Energıa de senal.

Algebra de matrices.

Distancias vectoriales.

Teoria de probabilidades.

Procesos estocasticos.

Cadenas de Markov.

Expresiones regulares.

Teorıa de automatas.

Topologıa de arboles.

Representaciones BackusNaur Form.

1[intro.tex, ver intro1.tex 21AG17]2Fuente: Casacubierta87 Indice3Fuente: Bernal-Bermudez, p. 2

1

Reconocimiento de Voz: Practicas de Laboratorio 1

PRACTICAS DE RECONOCIMIENTO Y SINTESIS DE VOZ

PRACTICA NUMERO: TITULO DE LA PRACTICA HERRAMIENTAS

Practica No.(1) “Generar y graficar sonidos de: audio, pulsos de Dirac, y ruido” C/C++

Practica No.(2) “Crear un archivo de sonido” C/C++

Practica No.(3) “Leer y graficar un archivo de sonido” C/C++

Practica No.(4) “Programar y graficar la Transformada de Fourier” C/C++

Practica No.(5) “Programar y graficar Coeficientes de Prediccion Lineal LPC” C/C++

Practica No.(6) “Extraer el PITCH de una senal de voz” C/C++

Practica No.(7) “Programar una Red Neuronal basica” C/C++

Practica No.(8) “Programar un Automata HMM (Cadena de Markov Oculta)” C/C++

Practica No.(9) “Programar un Reconocedor de Sonido de Voz” C/C++

Practica No.(10) “Programar un Sıntetizador un Sonido de Voz” C/C++

1[practicas.tex, 18AG17]

1

Reconocimiento de Voz: Historia 1

K. H. Davis, R. Biddulph, y S.Balashek, de los laboratorios Bell,construyeron en 1952 un sistema dereconocimiento de dıgitos aisladosprovenientes de un solo locutor. Elsistema tenıa un intensificador pa-ra medir el espectro de la resonan-cia durante la region vocal de cadadıgito [?, 6-9].

Olson y Belar, de los laborato-rios de la RCA, intentaron en 1956el reconocimiento de 10 sılabas dis-tintas producidas por una sola per-sona a partir de 10 palabras de mo-nosılabos. Su sistema tambien tenıamedidores espectrales (proporciona-dos por un banco de filtros analogi-cos) durante las regiones vocales.

D. B. Frey y P. Denes, de laUniversity College (Inglaterra), tra-taron en 1959, de construir un re-conocedor de fonemas con el ob-jeto de reconocer cuatro vocalesy nueve consonantes. Ellos utiliza-ron un analizador de espectro yun comparador de patrones (patternmatcher) para realizar la decisionde reconocimiento. Lo novedoso, esque ellos utilizaron informacion es-tadıstica de una secuencia de fone-mas en ingles (forma rudimentariade la sintaxis del lenguaje) con el fınde mejorar la exactitud global delfonema de las palabras que contie-nen dos o mas fonemas.

J. W . Forgie y C. D. Forgie, delMIT, construyeron en 1959 un reco-nocedor de 10 vocales incrustadas

con formato tipo /b/-vocal-/t/,las cuales eran reconocidas con in-dependiencia del locutor. Tambienellos utilizaron un bancos de filtrospara extraer informacion espectral,y una estimacion variable en el tiem-po de la resonancia del tracto vocalpara decidir cual de las vocales sehabrıa procunciado.

J. Suzuki y K.Nakata del labo-ratiorio de Radio Research, Tokio,desarrollaron en la decada de los60’s, un hardware de reconocimien-to vocal. Ellos utilizaron un analiza-dor de espectro hecho con un ban-co de filtros cuya logica conectabalas salidas de cada canal del ana-lizador de espectro (de una mane-ra ponderada) a un circuito de de-cision-vocal. Tambien, utilizaron unesquema de decision logica mayori-taria para seleccionar una de las vo-cales de la pronunciacion.

T. Sakai y S. Doshita de la uni-versidad de Tokio construyeron conhardware, en 1962, un reconocedorde fonemas. Ellos utilizaron un seg-mentador de voz, en el cual se ana-liza con hardware el cruce-por-cerode las diferentes regiones de la en-trada de voz, proporciondo ası la sa-lida del reconocimiento.

K. Nagata, Y. Kato, y S. Chiba,de los laboratorios NEC desarrolla-ron en 1963 un reconocedor de dıgi-tos por hardware.

T. B. Martin, A. L. Nelsosn, yH. J. Zadell de los laboratorios de

la RCA, desarrollaron una solucionreal (en los 60’s) al problema aso-ciado con la no-uniformidad de lasescalas en el tiempo dentro de loseventos de voz. Ellos desarrollaronun conjunto elemental de metodosde normalizacion en tiempo con ba-se en la deteccion confiable del inicioy la terminacion de una pronuncia-cion.

Casi al mismo tiempo de los tra-bajos de Martin y su equipo, T.K. Vintsyuk de la Union Sovietica,propuso los metodos de la progra-macion dinamica para alinear en eltiempo una pareja de pronunciacio-nes de la voz. Cabe mencionar quedichos conceptos solo se conocieronfuera de este paıs hasta el principiode los 80’s.

D. R. Reddy de la universidadde Carnegie Mellon empezo (al fi-nal de los 60’s) las investigacionessobre el recococimiento contınuo devoz mediante la exploracion dinami-ca (dynamic tracking) de fonemas.

Durente los 70s se establecieronla mayorıa de los conceptos funda-mentales del reconocimiento de pa-trones de voz. V. M. Velicho y N.G. Zagoruyco (Rusia), H. Sakoe y S.Chiba (Japon), y F. Itakura (USA),desarrollaron una tecnologıa con ba-se en el reconocimiento de la pro-nunciacion discreta y de palabrasaisladas.

En esa epoca los rusos aporta-ron las bases para el reconocimiento

de patrones; los japoneses estudia-ron los metodos de la programaciondinamica; los americanos la codifi-cacion predictiva lineal (LPC), conlo cual se puede medir la distanciaapropiada de los parametros de unespectro LPC.

A partir de los 70’s, y duran-te casi 20 anos, un equipo de IBMdesarrollo un vocabulario robustode reconocimiento de voz sobre tresproyectos que impulsaron las inves-tigaciones del procesamiento de lapalabra hablada: (1) New Raleigh,un lenguaje de consulta a una ba-se de datos simple; (2) un lenguajede transcripcion de patentes; y (3)Tangora, un procesador de memo-randums.

Cabe senalar que los 80’s se ca-racterizaron por incluir las RedesNeuronales, las Cadenas de Mar-kov, y el desarrollo de bases de da-tos que contengan un promedio devocabularios estandares de diferen-te tipo de personas. Por otra par-te, la milicia patrocino proyectos(DARPA) como el CMU SPHINXde la universidad Carnegie Mellon,BY BLOS de reconocimiento conti-nuo, Lincoln Labs del MIT, tambiende reconocimiento continuo, SRI(SRI International, Speech Techno-logy and Research (STAR) Labora-tory) utilizando lasCadenas de Mar-kov, MIT del MIT, y el AT&T BellLabs.

1[historia.tex, 18AG17], Rabiner L. Juang, Fundamentals of Speech Recognition, Prentice Hall, 1993. [pp. 6-9]

1

SENALES

1

x(t) = x(t− nT )

x(t) = x(t+ Tp) senal contınua

x(kT ) = x[(k +N)T ) senal discreta

xq(kT ) = xq[(k +N)T ) senal digital

xs(t) =+∞∑

−∞

x(t)δ(t− nT )

xs(t) =

∞∑

n=−∞

x(nT )δ(t− nT )

1[senales.tex][18AG17]

1

Conversion Analogico Diagital 1

Convertidor A/D. Circuito electronico-digital el cual convoluciona una senal de entrada con un tren de pulsos de periodofijo, es decir, es un convolucionador de dos senales, una es fija y la otra es variable.

Rango de entrada: Es la variacion R de voltaje mınimo al voltaje maximo de antrada al convertidor.R = Vmax − Vmin

Resolucion: La resolucion r de un AD (convolucionador) es la razon del rango de entrada R entre 2n, donde n es el numerode bits de salida, es decir,

r = R2n

Ejemplo: ¿Cual es la resolucion de una senal si el rango de entrada R es de 0 a 5 volts y la salida digital es de 8, 9, y 10 bits?

r =5,12

28=

5,12

256= 0,020 V olts = 20 mV

r =5,12

29=

5,12

512= 0,010 V olts = 10 mV

r =5,12

210=

5,12

1024= 0,005 V olts = 5 mV

Memoria: Un vector de audio digital requiere de una cierta cantidad de memoria M para su almacenamiento, esto es

M = s( c8)dm

donde,

M tamano de la memorias 1 monaural, 2 estereoc bits de cuantificaciond duracion en segundos sa la capturam frecuencia de muestreo Nyquist

Ejemplo: ¿Cual es la la cantidad de memoria necesaria para almacenar un minuto de audio digital, con datos de 16 bits,muestrado a 44100 muestras por segundo, de de manera monaural?

M = 1(168)(1)(60)(4410) = 5, 292, 000 bytes

1[converad.tex, 18AG17]

1

FLUJO DE DATOS DE UN PROCESO DIGITAL DE SENAL [pitch1.eps]:

FILTRO

BAJOS

0−900

INVERSO

FILTRO

COEFICIENTES

DEL

FILTRO

INVERSO

FILTRO

ANALISIS

PASA

5:1

DECIMACION

x(n)s(n)

LPC p=4

SILENCIO

VOZ

INTERPOLACIONOBTENER

PICOAUTOCORRELACION

y(n)

MODELO DE INGENIERIA DE PRODUCCION DE VOZ[pitch3.eps]:

Funcion

Glotal

Generador de

VariableTemporalmente

FiltroL(z)

pitch3.fig, pitch3.eps MPG221013

S(z)

s(t)

VOZ

G(z)e(t)

E(z)

Sonoros

Sonidos

Sordos

Conducto

Vocal

v(t)

V(z)

Funcion de

Radiacion

Sonidos,

,

,

Ruido

ImpulsosGenerador de

Coeficientes de Reflexion

PULSO UNITARIO1

Paul Adrien Maurice Dirac (1902-1984), fısico britanico,

formulo la ecuacion de dirac para trabajos sobre mecanicacuantica. 2 La funcion δ esta definida como una cantidad δ(x)

dependiente de un parametro x, los cuales satisfacen la sigu-iente condicion:

∫ +∞

−∞δ(x), dx = 1

donde

δ(x) = 0 para x 6= 0

− ε/2 + ε/2

1/ε

Figura 1: Escalon de ancho ǫ y alto 1

ǫ.

Pulso unitario. Conocido tambien como delta de Dirac, esuna funcion matematica infinitamente angosta, infinitamente

alta, la cual tiene un valor unitario (Figura [1]). Sea la an-chura de un pulso rectangular definido por

(a −ǫ

2) . . . . . . (a −

ǫ

2)

con una altura de1

ǫcuando tomamos el lımite de ǫ → 0 el ancho tiende a cero

y la altura tiende a infinito, pero el area total permanece

constante, es decir,1[pulsun.tex,MPG.27.08.17]2[Dir58 pp:58-81, Jim75 pp19-61, Kuo66 pp: 470-480]

+α∑

−α

Ejemplo. Obtener area bajo la curva de la Figura [2]3

Figura 2: Pulso rectangular.

f(t) = δ(t − 3) =

0 t ≤ 33 3 ≤ t ≤ 5

0 t ≥ 5

∫ ∞

−∞δ(t) dt =

∫ t=5

t=3δ(t) dt

∫ +∞

−∞δ(t − 3) dt =

∫ t=3

−∞0 dt +

∫ t=5

t=33 dt +

∫ ∞

t=50 dt

∫ t=5

t=33 dt = 3

∫ t=5

t=3dt

= 3(t) |5

3

= 3 (5 − 3)

= 15 − 9∫ t=5

t=33 dt = 6

3[Mar96, pp 42-43]

Funciones de Vantana1

Una ventana es una segmento de memoria acotada. La to-talidad de la memoria contiene todos los datos de la voz que

se han capturado. En general, es necesario que dicha memo-ria sea dividida en tantos segmentos como lo permitan losalgoritmos de reconocimiento de patrones.

Rectangular

Atenuacion: -13 dBs.

wR(n) ==

1 para |n| ≤ Q0 de otra forma

donde Q es el tamano de la ventana.

“La transformada de una funcion de ventana rectangular

wr(n) mantiene una funcion sinc en el dominio de la frecuen-cia mostrada por:

WR(v) =Q∑

n=−Q

ejnπv

= e−jQπv[ 2Q∑

n=0

ejnπv]

WR(v) =sin

[(

2Q+12

)

πv]

sin(πv/2)

la cual es una funcion sinc que exibe lobulos laterales altos u

oscilaciones provocadas por el truncamiento abrupto, especıfi-camente cerca de las discontinuidades”. 2

1[ventns.tex, MPG.28.08.17]2[pp. 103-106] Chassing Rulph, Digital Signal Processing: Laboratory Experiments Using

C and the TMS320C31DSK, John Wiley & Sons.

Hamming

Atenuacion: -43 dBs.

wH(n) ==

0,54 + 0,46 cos(nπ/Q) para |n| ≤ Q0 de otra forma

HanningAtenuacion: -31 dBs.

wHA(n) =

0,5 + 0,5 cos(nπ/Q) para |n| ≤ Q

0 de otra forma

BlackmanAtenuacion: -58 dBs.

wB(n) =

0,42 + 0,5 cos(nπ/Q) + 0,08 cos(2nπ/Q)para |n| ≤ Q

0 de otra forma

KaiserAtenuacion: depende del tamano de la ventana y el parametro

a.

wK(n) =

I0(b)I0(a)

para |n| ≤ Q

0 de otra forma

el parametro a es una variable ques se determina de una

manera empırica.

b = a[

1−(

n/Q)2 ]1/2

.

I0 es una funcion Bessel modificada de primera clase defini-da por:

I0(x) = 1 +0,25x2

(1!)2+

(0,25x2)2

(2!)2= 1 +

α∑

n=1

[

(x/2)n

(n!)2

]2

la cual converje rapidamente.

Divisor de Tension1

Un divisor de voltaje es una red de dos

puertos que contiene solamente resisten-cias R1, R2, . . ., Rn, y una fuente de vol-taje constante E.

Ejemplo: ¿Cual es la caida de volta-je en R2 de la siguiente figura?

E = V1 + V2

si V1 = IR1 entonces

E = IR1 + V2

pero si I = V2/R2 entonces

E =V2

R2R1 + V2

dividiendo ambos terminos entre V2

E

V2=

V2/

R2

R1

V2/+

V2/

V2/

queda

E

V2=

R1

R2+ 1

pero si hacemos R2/R2 = 1

E

V2=

R1

R2+

R2

R2

simplificamos

E

V2=

R1 + R2

R2

invertimos terminos

V2

E=

R2

R1 + R2

despejndo V2 finalmente tenemos que

V2 =ER2

R1+R2

Ejemplo: ¿Cual es la caida de volta-je en R1?

E = V1 + V2

si V2 = I · R2 entonces

E = V1 + I · R2

pero si I = V1/R1 entonces

E = V1 +V1

R1R2

dividiendo ambos terminos entre V1

E

V1=

V1/

V1/+

V1/

R1

R2

V1/

queda

E

V1= 1 +

R2

R1

pero si hacemos R1/R1 = 1

E

V1=

R1

R1+

R2

R1

simplificamos

E

V1=

R1 +R2

R1

invertimos terminos

V1

E=

R1

R1 +R2

despejamos V1 finalmente tenemosque

V1 =ER1

R1+R2

en general tenemos que

Vn =ERn

R1+R2+...+Rn

1[divt.tex, MPG.29.08.17], ver ClaseDivisorVoltaje.tex

Divisor de Corriente1

Un divisor de corriente es una red de dos

puertos que contiene solamente resisten-cias R1, R2, . . ., Rn, y una fuente de co-rriente constante E.

De acuerdo con la figura la corriente

total It en el circuito sera

It = I1 + I2

por ley de Ohm (I = VR) la corriente to-

tal It es

It =V1

R1+

V2

R2

el algoritmo para sumar fracciones es

a =b

c+

d

e=

(c/ec/ )b+ (ce/e/ )d

ce=

eb+ cd

ce

en el circuito de la figura se muestra queel voltaje V es el mismo en ambas resis-

tencias (V = V1 = V2)

It =V

R1+

V

R2=

(R1/R2

R1/)V + (R1R/2

R2/)V

R1R2

It =R2V + R1V

R1R2

It =V (R2 +R1)

R1R2

despejando V

ItV

=V/(R2 + R1)

V/R1R2

1

V=

R2 +R1

It(R1R2)

finalmente

V = It(R1R2)R1+R2

Notese que R1R2

R1+R2es el paralelo de las

dos resistenciac R1 y R2 que ve la fuente

de corriente I.

Ejemplo: ¿Cual es la corriente I1?

Si V1 = I1 · R1

I1R1 =It(R1R2)

R1 +R2

despejando I1

I1 =It(R1/R2)

R1/(R1 +R2)

finalmente tenemos

I1 =ItR2

R1+R2

Ejemplo: ¿Cual es la corriente I2?

Si V2 = I2 · R2

I2R2 =It(R1R2)

R1 +R2

despejando I1

I2 =It(R1R2/)

(R1 + R2)R2/

finalmente tenemos

I2 =ItR1

R1+R2

1[divisorv.tex, MPG.30.08.17]. Ver ClaseDivisorCorriente.tex; Fuente: Pena G. M., “Apuntes de metrologıa”, 1977. Encuadernado Rojo.

FUNCIONES ALGEBRAICAS1

• Funcion Algebraica. Es una funcion que satisface una ecuacion po-linomial cuyos coeficientes son polinomios o monomios.

Ejemplo:

an(x)yn + an−1(x)y

n−1 + an−2(x)yn−2 + · · · + a0(x) = 0,

donde los coeficientes ai(x) son funciones polinomiales. Una funcion queno es algebraica se llama funcion trascendente.

1[funsalgbs.tex][MPG140813]

1

FUNCIONES TRASCENDENTES1

• Funcion Trascendente. Es una funcion que no se satisface con unaecuacion polinomial (trasciende el algebra). La variable independiente es elexponente o ındice de la raiz.

sen(x) = x−x3

3!+x5

5!+x7

7!+ · · · −∞ < x < ∞

cos(x) = 1−x2

2!+x4

4!+x6

6!+ · · · −∞ < x < ∞

ln(x) = (x− 1

x) +

1

2(x− 1

x)2 +

1

3(x− 1

x)3 + · · · x ≥

1

2

ex = 1 + x +x2

2!+x3

3!+ · · · −∞ < x < ∞

2

1[funstrns.tex][MPG140813]2pg. 110.111, Shaum, Manual de Formulas y Tablas Matematicas, McGraw-Hill

1

Filtro IIR

H(z) =B(z)

A(z)=

q∑

k=0b(k)z−1

1 +p∑

k=1a(k)z−k

Ecuacion de diferencias IIR

y[n] = b0x[n]+b1x[n−1]+b2x[n−2]−a1y[n−1]+a2y[n−2]+a3y[n−3]

Filtro FIR

H(z) =1

A(z)=

1p∑

k=0a(k)z−k

Ecuacion de diferencias FIR

y[n] = a0x[n] + a1x[n− 1] + a2x[n− 2] + a3y[n− 3]

Filtro Pasa Bajo Unitario1

Utilizando el metodo de divisor

de voltaje, obtener la funcion de

transferencia H(f) del siguiente cir-

cuito.

Filtro pasa bajo LR.

por divisor de tension,

v0 =viR

2πfL +R

donde 2πfL, es la reactancia in-

ductiva de la bobina denotada por

XL. Cambiando vi,

v0vi

=R

2πfL +R

v0vi

=RL

2πfLL + R

L

para cualquier valor de R/L cons-

tante

v0vi

=RL

2πf + RL

la magnitud |vovi| es,

∣∣∣∣

vovi

∣∣∣∣ =

√√√√√√

(RL)2

(2πfL)2 + (RL)2

∣∣∣∣

vovi

∣∣∣∣ =

(RL)2

(2πfL)2 + (RL)2

∣∣∣∣

vovi

∣∣∣∣ =

RL

(2πfL)2 + (RL)2

para valores unitarios,

L = 1 H

R = 1 Ω

f = 1 Hzv0vi

= H(f)

ω = 2πf

∣∣∣∣

vovi

∣∣∣∣ =

1√

(2πf)2 + (1)2(1)

la funcion de transferencia H(f)

es

H(f) =1

2πf + 1

tambien

H(ω) =1

ω + 1

en el dominio de Laplace jω = s

H(s) =1

s + 1

Funcion de transferencia H(f) de la Expresion [1],

donde f = 0 . . . 1Hz.

1[filpbc.tex, MPG.30.09.17]

ECUACION DE DIFERENCIAS1

(Filtro Pasabajo Unitario)

Utilizando el metodo de divisor de voltaje ob-tener las funciones de transferencia en: el domi-nio de la frecuancia H(w), el dominio de LaplaceH(s), en el dominio de Z, y la ecuacion de dife-

rencias y[n]. Esta ultima es implementada comoun filtro digital pasa-bajo equivalente al siguientecircuito.

Filtro pasa bajo LR.

por divisor de tension,

v0 =viR

ωL+R

cambiando vi,

v0vi

=R

ωL+R

si vo/vi = H(ω)

H(ω) =R

ωL+R

dividiendo entre L

H(ω) =RL

ωLL

+ RL

para cualquier valor de R/L constante

H(ω) =RL

ω + RL

si, R = 1 Ω y L = 1 H., entonces

H(ω) =1

ω + 1(1)

Ejemplo. A partir de la expresion (1) obtenerla funcion de transferencia H(s). Igualando

s = jω

entonces (1) cambia a

H(s) =1

s+ 1(2)

Ejemplo. Utilizando el metodo de la Transfor-macion Bilineal obtener H(z) a partir de H(s).Sustituyendo

s =z − 1

z + 1

en la expresion (2) para obtener H(z),

H(z) =1

( z−1z+1

) + 1

=(z + 1)

( z−1z+1

)(z + 1) + (z + 1)

=z + 1

z − 1 + z + 1

=z + 1

z + z − 1 + 1

=z + 1

z + z

=z + 1

2z

=z

2z+

1

2z

H(z) =1

2+

1

2z−1

finalmente

H(z) = 0,5 + 0,5z−1 (3)

Grafico para la expresion [3].

Ejemplo. Obtener la ecuacion de diferenciasy[n] a partir de la funcion H(z) en la expresion(3). Si,

Y (z)

X(z)= H(z) = 0,5 + 0,5z−1

Y (z)

X(z)= 0,5 + 0,5z−1

separando Y (z),

Y (z) = [0,5 + 0,5z−1]X(z)

Y (z) = 0,5X(z)− 0,5z−1X(z)

finalmente

y(n) = 0,5x(n) + 0,5x(n− 1)

1[filequd.tex, MPG.01.09.17]

FILTRO REAL DIGITALPASA-BAJO

A partir de un filtro analogico pasa-bajo en el dominio de Laplace, y uti-lizando el metodo de la Transforma-cion Bilineal (BLT), disenar un filtrodigital pasa-bajo con una frecuancia decorte de 5000 Hz, muestreada a 11025Hz.

Solucion. Seleccionando la funcion detransferencia apropiada,

H(s) =1

s+ 1(1)

la cual tiene un ancho de banda der

s= 1.

Corresponder la frecuencia digital WD

con la frecuencia WA de un filtroanalogico de acuerdo con la expresion(2),

ωA = 2Ttan

(ωDT2

)

(2)

Fs = 11025

Fc = 5000

T = 1/Fs

= 1/11025

T = 0,00009070

WD = 2 · π · Fc

= (2)(π)(Fc)

= (2)(3,1416)(5000)

WD = 31415,92 rad/sg

utilizando la expresion (2) para ωA,

ωA =

(2

0,00009070

)

·

tan

((31415,9)(0,00009070)

2

)

= 22050 · tan

(2,849

2

)

= (22050) · tan(1,4247)

= (22050)(6,7965)

ωA = 149864,9

Ejemplo. Escalar la expresion (1) pa-ra obtener H(z) utilizando la Trans-formacion Bilineal (BLT). Veamos,

H(s) =1

s+ 1

=1

sω+ 1

multiplicando por ω,

H(s) =ω

s+ ω(3)

Ahora bien, si

s = cz − 1

z + 1

entonces cambiamos s y c en la expre-sion (3) para obtener (4),

H(z) =ω

cz−1z+1 + ω

(4)

multiplicando por (z + 1)

H(z) =ω(z + 1)

c (z−1)(z+1)(z + 1) + ω(z + 1)

H(z) =ω(z + 1)

c(z − 1) + ω(z + 1)

factorizando

H(z) =ω(z + 1)

cz − c+ ωz + ω

=ω(z + 1)

cz + ωz + ω − c

H(z) =ω(z + 1)

z(c+ ω) + (ω − c)

reordenando signos

H(z) =ω(z + 1)

z(c+ ω)− (c− ω)

dividiendo entre (c+ ω)

H(z) =

ω(c+ω)(z + 1)

z(c+ω)(c+ω) − (c−ω)

(c+ω)

=

ω(c+ω)(z + 1)

z − (c−ω)(c+ω)

H(z) =

(

ω

c+ ω

)(

(z + 1)

z − (c−ω)(c+ω)

)

finalmente tenemos,

H(z) =(

ωc+ω

)(

z + 1z −

c−ωc+ω

)

(5)

colocando valores el la exprsion (5) pa-ra

ω = ωA

ω = 149864,9

c =2

T

c =2

0,00009070c = 22050,7

H(z) =

(

149864,9

22050,7 + 149864,9

)

·

(

z + 1

z − 22050,7−149864,922050,7+149864,9

)

H(z) =

(149864,9

171915,6

)(z + 1

z − −127814,2171915,6

)

H(z) = 0,8717 ·z + 1

z + 0,743

reordenando,

H(z) =0,8717z + 0,8717

z + 0,743

dividiendo entre z para finalmente ob-tener,

H(z) = 0,8717 + 0,8717 z−1

1 + 0,743 z−1 (6)

Ejemplo. Obtener la ecuacion de di-ferencias y(n) para la exprsion (6).

H(z) =Y (z)

X(z)

Y (z)

X(z)=

0,8717 + 0,8717z−1

1 + 0,743z−1

multiplicondo en cruz,

Y (z)[1 + 0,743z−1

] = X(z)[0,8717 + 0,8717z−1

]

Y (z) + 0,743Y (z)z−1

= 0,8717X(z) + 0,8717X(z)z−1

Y (z) = 0,8717X(z) + 0,8717X(z)z−1

− 0,743Y (z)z−1

finalmente tenemos la ecuacion de di-ferencias y[n],

y[n] = 0,8717x[n] + 0,8717x[n − 1] − 0,743y[n − 1]

0 1000 2000 3000 4000 5000 60000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Grafico para la Expresion (6).

[fpbreal.tex, MPG.02.09.17]

AUTOCORRELACION1

Correlacion. Es la comparacion entre dos senales distin-

tas. Tabien es una medida de la similitud entre dos senales2.Correlacion discreta. Es un vector r producido por el

producto punto entre dos vectores x y y distintos (dos arre-glos, o dos secuencias de datos) 3. Se define por,

R[d] =+∞∑

−∞x[i] · y[i+ d]

donde:

R[d] = funcion de la correlacion cruzada silos vectores x y y son distintos.

R[d] = funcion de autocorrelacion silos vectores x y y son identicos.

i = ındice de los arreglos.d = numero de muestras desplazadas entre

los vectores x y y.

Correlacion cruzada. Es la comparacion de dos senales

distintas (cuando el vector x es diferente al vector y).Autocorrelacion. Es la comparacion de la senal consigo

misma (cuando el vector x es identico al vector y.Si n es el ındice del arreglo, y l (ele) es el desplazamiento

o retardo [Pro98, p. 129], entonces:

rxy(l) =∞∑

n=−∞x(n) y(n− l) l = 0,±1,±2,±3 . . . (1)

es equivalente a

rxy(l) =∞∑

n=−∞x(n+ l) y(n) l = 0,±1,±2,±3 . . . (2)

1[acorr.tex,MPG.09.09.17]2Tema 2/slides.html3Emb91, pg. 310

invirtiendo

ryx(l) =∞∑

n=−∞y(n) x(n− l), (3)

es equivalenta a

ryx(l) =∞∑

n=−∞y(n+ l) x(n). (4)

Comparando las expresiones (1) con (4), o bien (2) con (3),se concluye que

rxy(l) = ryx(−l) (5)

Se dice que ryx(l) es una version reflejada de rxy(l) dondela reflexion se hace respecto a l = 0. Ambas proporsionan la

misma informacion entre x(n) o y(n).En el caso de que y(n) = x(n), se tiene una autocorrelacion

de x(n), que se define por la secuencia

rxx(l) =∞∑

n=−∞x(n) x(n− l)

es equivalente a

rxx(l) =∞∑

n=−∞x(n+ l) x(n)

Si x(n) y y(n) son secuencias causales finitas de longitud N ,

la correlacion cruzada sera,

rxy(l) =N−|k|−1∑

n=i

x(n) y(n− l)

y la autocorrelacion es

rxx(l) =N−|k|−1∑

n=i

x(n+ l) x(n)

donde i = l, k = 0 para l ≥ 0, e i = 0, k = l para l < 0

AUTOCORRELACION: EJEMPLO1

Problema 2.6.1 Determinar la correlacion cruzada rxy(l)

de las siguientes secuencias [Pro98, pp. 120-121]:

x(n) = [. . . , 0, 0, 2,−1, 3, 7, 1︸︷︷︸

n=0

, 2,−3, 0, 0, . . .]

y(n) = [. . . , 0, 0, 1,−1, 2,−2, 4︸︷︷︸

n=0

, 1,−2, 5, 0, 0, . . .]

Solucion. Utilizamos la siguiente ecuacion para calcular rxy(l).

rxy(l) =∞∑

n=−∞x(n) y(n− l) l = 0,±1,±2,±3 . . .

Para l = 0 tenemos que

rxy(0) =∞∑

n=−∞x(n) y(n)

La secuencia producto v(n) = x(n)y(n) es

v(n) = [. . . , 0, 0, 2, 1, 6,−14, 4︸︷︷︸

n=0

, 2, 6, 0, 0, . . .],

y la suma para todos los valores de n es

rxy(0) = 7,

los cuales se calcularon de la siguiente manera,1[acorex.tex,MPG.10.09.17]

n v(n) x(n)y(n)

-6 0 (0)(0)-5 0 (0)(0)

-4 2 (2)(1)-3 1 (-1)(-1)-2 6 (3)(2)

-1 -14 (7)(-2)0 4 (1)(4)

1 2 (2)(1)2 6 (-3)(-2)

3 0 (0)(5)4 0 (0)(0)

rxy(0)= 7 para l = 0

el vector v(n) queda como

v(n) = [. . . , 0, 0, 2, 1, 6,−14, 4︸︷︷︸

n=0

, 2, 6, 0, 0, . . .],

La suma para todos los valores de n es vector v(n)

rxy(0) = (0) + (0) + (2) + (1) + (6) + (−14) + (4) +

+(4) + (2) + (6) + (0) + (0)

= 7.

Finalmenterxy(0) = 7

AUTOCORRELACION: EJEMPLO1

Problema 2.6.1 Determinar la correlacion cruzada rxy(l) pa-

ra l = 1 de las siguientes secuencias [Pro98, pp. 120-121]:

x(n) = [. . . , 0, 0, 2,−1, 3, 7, 1︸︷︷︸

n=0

, 2,−3, 0, 0, . . .]

y(n) = [. . . , 0, 0, 1,−1, 2︸︷︷︸

n−2

,−2︸︷︷︸

n−1

, 4︸︷︷︸

n=0

, 1,−2, 5, 0, 0, . . .]

Solucion. Utilizamos la siguiente ecuacion para calcular rxy(l).

rxy(l) =∞∑

n=−∞x(n) y(n− l) l = 0,±1,±2,±3 . . .

Para l = 1 tenemos que

rxy(1) =∞∑

n=−∞x(n) y(n− 1)

La secuencia producto v(n) = x(n)y(n− 1) es

v(n) = [. . . , 0, 0, 0,−1,−3, 14,−2︸︷︷︸

n=0

, 8,−3, 0, 0, . . .],

y la suma para todos los valores de n es

rxy(1) = 13,

los cuales se calcularon de la siguiente manera,1[acorex2.tex,MPG.10.09.17]

n v(n) x(n)y(n− 1)

-6 0 (0)(0)-5 0 (0)(0)

-4 0 (2)(0)-3 -1 (-1)(1)-2 -3 (3)(-1)

-1 14 (7)(2)0 -2 (1)(-2)

1 8 (2)(4)2 -3 (-3)(1)

3 0 (0)(-2)4 0 (0)(5)

rxy(1) = 13 para l = 1

el vector v(n) queda como

v(n) = [. . . , 0, 0, 0,−1,−3, 14,−2︸︷︷︸

n=0

, 8,−3, 0, 0, . . .],

La suma para todos los valores de n de v(n) es

rxy(0) = (0) + (0) + (0) + (−1) + (−3) + (14) + (−2) +

+(8) + (−3) + (0) + (0)

= 13.

Finalmenterxy(1) = 13

FILTRO PASABAJO: SERIE FOURIER

Sea la funcion de atransferencia[Cha99,p. 99-103],

Hd(ω) =∞∑

n=−∞

Cne(jnωT ) |n| < ∞

Hd(ω) =∞∑

n=−∞

Cne(jnπv) |n| < ∞ (1)

donde

Cn = coeficientes de fourier.Fs = frecuencia de muestreo.FN = frecuencia de Nyquist

= Fs/2v = frecuencia variable normalizada

= f/Fn

ωT = 2πfFs

= πv para |v| < 1

Los coeficientes Cn estan definidos como

Cn =1

2

∫ 1

−1Hd(v)e

−jnπvdv

Cn =1

2

∫ 1

−1Hd(v)(cosnπv − j sinnπv)dv

(2)

si Hd(v) es una funcion par (frecuencia selectivadel filtro) la ecuacion (2) queda como:

Cn =∫ 1

0Hd(v) cosnπv dv n ≥ 0 (3)

si Hd(v) sinnπv es una funcion non∫ 1

−1Hd(v) sinnπv dv = 0

con

Cn = C−n

para obtener un filtro realizable truncamos (1),ası

Ha(z) =Q∑

n=−Q

Cne(jnπv) (4)

si z = e(jnπv)

Ha(z) =Q∑

n=−Q

Cnzn (5)

los coeficientes (orden del filtro) de respuesta alimpulso son:

C−Q, C−Q+1, . . . , C−1, C0, C1, . . . , CQ−1, CQ

introduciendo un retardo de las muestras Q te-nemos que

H(z) = z−QHa(z) =Q∑

n=−Q

Cnzn−Q (6)

si n−Q = −i, la expresion (6) queda como

H(z) =2Q∑

i=0

CQ−iz−i (7)

si hi = CQ y N − 1 = 2Q, la expresion (7) sera

H(z) =N−1∑

i=0

hiz−i (8)

H(z) se expresa en terminos de respuesta al im-pulso de los coeficientes hi lo que

h0 = CQ, h1 = CQ−1, . . . , hQ = C0,

, hQ+1 = C−1 = C1, . . . , h2Q = C

−Q

los coeficientes CQ son simetricos respecto a hQ,es decir Cn = C

−n. El orden del filtro es

N = 2Q + 1

Si Q = 5 el filtro tiene 11 coeficientesh0, h1, . . . , h10, es decir

h0 = h10 = C5

h1 = h9 = C4

h2 = h8 = C3

h3 = h7 = C2

h4 = h6 = C1

h5 = C0

Ejemplo. Calcular los coeficientes Cn para unfiltro pasabajo con las siguientes caracterısticas.

Numero de muestras Q = 5Orden del filtro N = 2 Q+ 1

= 11Frecuencia de corte fc = 1000Frecuencia de muestreo Fs = 11025Frecuencia de Nyquist FN = Fs/2

= 11025/2= 5512.5

Primer coeficiente de fourier C0 = v1= fc/FN

= 10005512,5

C0 = 0.1814

Cn =∫ v1

0Hd(v) cosnπv dv =

sinnπv1nπ

Cn = sinnπv1nπ (9)

Utilizando la expresion (9) para v1 = 0,1814, te-nemos

Cn =sin(0,1814)nπ

nπ(10)

si

hi = CQ−i

Cn = C−n

Q = 5

Utilizando la expresion (10),

i Q− i Q+i hQ−i hQ+i CQ−i H(v)0 5 5 h5 C0 0.18141 4 6 h4 h6 C4 0.17172 3 7 h3 h7 C3 0.14463 2 8 h2 h8 C2 0.10514 1 9 h1 h9 C1 0.06045 0 10 h0 h10 0.0000

[fpbsinc.tex,MPG.10.09.17]

ALGORITMO LEVINSON-DURBIN1

(1) E(0) = r(0)

(2) ki =

r(i)−i−1∑

j=1α(i−1)j ·r(|i−j|)

E(i−1)

para 1 ≤ j ≤ p

(3) α(i)i = ki

(4) α(i)j = α

(i−1)j − ki · α

(i−1)i−j

para 1 ≤ j ≤ (i− 1)

(5) E(i) = (1− k2i ) · E(i−1)

1[levinson.tex][MPG.02.10.17]

Donde:

E(i) = error de prediccion de orden

i = orden del predictor

r(i) = valor de autocorrelacion

α(i)j = coeficientes LPC

ki = coeficientes PARCOR

p = maximo numero de coeficientes LPC

m = indice de coeficientes

am = coeficientes LPC = α(p)m 1 ≤ m ≤ p

km = coeficientes PARCOR

gm = log de los coeficientes de relacion de area

= log(1−km1+km

)

Ejemplo 3.5 LPC Rabinerlpcex.tex, MPG.03.10.17, [Rab93, pg.117]

Considerar un predictor de ordenp = 2. Suponer un vector de auto-correlacion con componentes R =r(0), r(1), r(2). Usando el meto-do Durbin resolver los coeficientesLPC a1 y a2, en terminos de Rs.Comprobar resolviendo la ecua-cion matricial.[

r(0) r(1)r(1) r(0)

] [

a1a2

]

=

[

r(1)r(2)

]

Solucion para i = 1.

Paso (1). Calcular E(0).

E(0) = r(0) (1)

Paso (2). Calcular k1.

ki =

r(i)−i−1∑

j=1α(i−1)j r(|i− j|)

E(i−1)

k1 =r(1)−

∑1−1j=1 α

(1−1)1 r(|1− 1|)

E(1−1)

=

r(1)−

no se ejecuta︷ ︸︸ ︷

0∑

j=1

α(0)1 r(0)

E(0)

=r(1)− 0

E(0)

k1 =r(1)

E(0)(2)

sustituyendo (1) en (2)

k1 =r(1)r(0)

(3)

Paso (3). Calcular α(1)1 .

α(i)i = ki

α(1)1 = k1 (4)

sustituyendo (3) en (4)

α(1)1 = r(1)

r(0)(5)

Paso (4). Calcular α(1)1 . Notese

que este paso no se ejecuta la pri-mera vez (j = i = 0), sin embargose tiene ya la expresion (5).

α(i)j = α

(i−1)j − ki · α

(i−1)i−j

α(1)1 = α

(1−1)1 − k1 · α

(1−1)1−1

α(1)1 = α

(0)1 − k1 · α

(0)0

α(1)1 = 0− 0

α(1)1 = 0 (6)

Paso (5). Calcular el error E(1).

E(i) = (1− k2i )E

(i−1)

E(1) = (1− k21)E

(1−1)

= (1− k21)E

(0)

=

[

1−

(

r(1)

r(0)

)2]

r(0)

=

[

r(0)

r(0)−

(

r(1)

r(0)

)2]

r(0)

=

[

r(0)

r(0)−

r(1)r(1)

r(0)r(0)

]

r(0)

=r(0)

r(0)r(0)−

r(1)r(1)

r(0)r(0)r(0)

=r(0)r(0)

r(0)−

r(1)r(1)r(0)

r(0)r(0)

=r(0)r(0)

r(0)−

r(1)r(1)

r(0)

E(1) =r(0)2 − r(1)2

r(0)

E(1) = r(0)2−r(1)2

r(0)(7)

Solucion para i = 2. Regresaral paso numero 2.Paso (2). Calcular k2.

k2 =

r(2)−2−1∑

j=1α(2−1)1 r(|2− 1|)

E(2−1)

=

r(2)−1∑

j=1α(1)1 r(1)

E(1)

k2 =r(2)− α

(1)1 r(1)

E(1)(8)

sustituyendo la expresion (5) en(8)

k2 =r(2)− r(1)

r(0)r(1)

E(1)(9)

sustituyendo la expresion (7) en(9)

k2 =r(2)− r(1)

r(0)r(1)

r(0)2−r(1)2

r(0)

multiplicando por r(0) obtenemos k2

k2 =r(2)r(0)−r(1)2

r(0)2−r(1)2(10)

Paso (3). Calcular α(2)2 .

α(2)2 = k2 (11)

sustituyendo (7) en (11)

α(2)2 = r(2)r(0)−r(1)2

r(0)2−r(1)2(12)

Paso (4). Calcular α(2)1 .

α(i)j = α

(i−1)j − ki · α

(i−1)i−j

= α(2−1)1 − k2 · α

(2−1)2−1

α(2)1 = α

(1)1 − k2 · α

(1)1 (13)

sustituyendo (5) en (13)

α(2)1 =

r(1)

r(0)−

(

r(2)r(0)− r(1)2

r(0)2)− r(1)2

)(

r(1)

r(0)

)

factorizando r(1)r(0)

α(2)1 =

r(1)

r(0)

(

1−r(2)r(0) − r(1)2

r(0)2)− r(1)2

)

=r(1)

r(0)

(

r(0)2 − r(1)2

r(0)2 − r(1)2−

r(2)r(0) − r(1)2

r(0)2 − r(1)2

)

=r(1)

r(0)

(

r(0)2 − r(1)2 − r(2)r(0) + r(1)2

r(0)−r(1)2

)

=r(1)r(0)

r(0)2−

r(1)r(0)

r(1)2−

r(1)r(0)

r(2)r(0)+r(1)r(0)

r(1)2

r(0)2−r(1)2

α(2)1 =

r(1)r(0) − r(1)3

r(0) − r(1)r(2) + r(1)3)r(0)

r(0)2 − r(1)2

α(2)1 = r(1)r(0)−r(1)r(2)

r(0)2−r(1)2(14)

los coeficientes a1,a2 son:

am = αpm 1 ≤ m ≤ p = 2 (15)

sustituyendo (12) y (14) en (15)

a1 = α(2)1 = r(1)r(0)−r(1)r(2)

r2(0)−r2(1)

a2 = α(2)2 = r(2)r(0)−r(1)2

r(0)2−r(1)2

COEFICIENTES DE PREDICCION LINEAL1

LPC (Linear Prediction Code.) Es un metodo numerico que permiteobtener parametros que muestran un espectro suavizado de la informacionmas representativa de una senal de voz.• Proporciona un modelo adecuado de las senales producidas por la voz

humana (sonidos vocalicos vs sonidos sordos)• Es adecuado para implementarse en sistemas computacionales.• Los coeficientes a0, a1, a2, . . ., ai se obtienen extrapolando una muestra

de senal x(n) a partir de las k muestras anteriores x(n− 1), x(n− 2), . . .,x(n− k).• Funciona minimizando el error entre x(n) y x(n−i) utilizandomınimos

cuadrados calculando el error cuadratico medio E dentro de un intervalode n muestras.• Los coeficientes obtenidos ai forman un vector representativo de una

senal sonora de entrada.

1[lpc1.tex][MPG301116]

1

COEFICIENTES DE PREDICCION LINEAL: MODELO FORMAL1

x(n) =

k∑

i=1

ai · x(n− i)

E =∑

n

e2(n) = x(n)−

k∑

i=1

ai · x(n− i)

para 0 ≤ n ≤ N − 1

donde:x(n) muestra de referencia (senal original)x(n) muestra predichan intervalo de las muestrasi ındice de una muestra anteriork maximo de muestras anterioresai coeficiente de una muestraN tamano de un conjunto de muestrasE mınimo valor cuadratico medio.

1[lpc2.tex][MPG301116]

1

COEFICIENTES DE PREDICCION LINEAL: MODELO FORMAL1

Resolviendo E para aj | 1 ≤ j ≤ k

∂E

∂aj= 0 1 ≤ j ≤ k

n

x(n− j) ·

[

x(n)−k∑

i=1

ai · x(n− i)

]

=

n

x(n− j) · x(n)−k∑

i=1

ai ·∑

n

·x(n− j) · x(n− i) =

Cj0 −k∑

j=1

ai · Cji

donde:

Cji =∑

n

x(n− j) · x(n− i)

1[lpc3.tex][MPG301116]

1

COEFICIENTES DE PREDICCION LINEAL: MODELO FORMAL1

• Colocando una ventana rectangular en el intervalo 0 ≤ n ≤ N − 1, seanulan las muestras que se encuentran fuera de dicho intervalo limitandoel valor de n.• Si de esto resulta que Cij = Cji = r|i−j|, entonces los valores de r|i−j|

son los coeficientes de una matrız de autocorrelacion (Toeplitz) que seresuelve con el metodo recursivo de Levinson-Durbin.

k∑

i=1

rn(|j − i|) · ai = rn(j) 1 ≤ j ≤ k

o de manera matricial,

rn(0) rn(1) rn(2) . . . rnk − 1rn(1) rn(0) rn(1) . . . rn(k − 2)rn(2) rn(1) rn(0) . . . rn(k − 3)... ... ... . . . ...

rn(k − 1) rn(k − 2) rn(k − 3) . . . rn(0)

a1a2a3...ak

=

rn(1)rn(2)rn(3)...

rn(k)

(1)

1[lpc4.tex][MPG301116]

1

FIR a Latice: Ejemplo

Ejemplo: Example 8.5.1, [Hay99, 299] En-contrar los coeficientes de reflexion de la funcion

Z−1

Z−1

1

1 1

b b0 b1 2

x(n)

y(n)fir2.fig

= 1 = 0 = −1/2

H(z) = 1−1

2z−2

Solucion:

Sea la ecuacion general

Ak(z) = Ak−1(z) + Γk(z−k)Ak−1(z

−1),

los coeficientes de reflexion seran

Ak−1(z) =1

1− (Γk)2[Ak(z)− Γkz

−k · Ak(z−1)]

k = p, p− 1, p− 2 . . . 1

el primer coeficiente de reflexion siempre es elultimo

A2(z) = 1−1

2z−2

Γ2 = −1

2

Cambiando el signo del exponente de z obtene-mos la funcion inversa de A(z).

A2(z−1) = 1−

1

2z2

el siguiente coeficiente de reflexion sera

A1(z) =1

1− Γ22

[A2(z)− Γ2z−2A2(z

−1)]

=1

1− (−12)2

[(

1−1

2z−2

)

(

−1

2

)

z−2

(

1−1

2z2)]

=1

44− 1

4

[

1−1

2z−2 −

(

−1

2z−2 +

1

4

)]

=134

[

1−1

2z−2 +

1

2z−2 −

1

4

]

=4

3

[

1− (0)−1

4

]

=4

3

[

1−1

4

]

=

(

4

3

)

(

4

12

)

=

(

4

3

)

(

2

6

)

=

(

4

3

)

(

1

3

)

=

(

3

3

)

= 1

A1(z) = 1

como A1(z) = 0, Γ1 = 0 (no existe az1).

Γ1 = 0 ; Γ2 = −12

Otra forma: Encontrar los coeficientes de refle-xion de la funcion

H(z) = 1−1

2z−2

utilizando

a(i−1)m =

a(i)m − kia(i)i−m

1− k2i

dondei → grado del polinomio.m → posicion de am en el polinomio.k → coeficiente de reflexion del polinomio i.

A(z) =

a(2)0 =1︷︸︸︷

1 −

a(2)1 =0︷ ︸︸ ︷

0z−1 −

a(2)2 =−

12

︷︸︸︷

1

2z−2

notese que en este polinomio no existe a(2)1 : en-

tonces para i = 2 y m = 1.

a(2)2 = Γ2 = −1

2

a(i−1)m =

a(i)m − kia(i)i−m

1− k2i

a(2−1)1 =

a(2)1 − k2a

(2)2−1

1− k22

a(1)1 =

a(2)1 − k2a

(2)1

1− k22

=0− 1

2(0)

1− (12)2

=0− 1

2(0)

1− (14)

=0

(34)

a(1)1 = 0

a(1)1 = Γ1 = 0

Γ1 = 0 ; Γ2 = −12

z−1

z−1

k k

x(n) y(n)

1

1 2

2

k k

lat2.fig

[lat851b.tex MPG.11.10.17], ver lat851.tex

Extraccion de Parametros1

Extraccion de parametros. Es un metodo matematico que permite parametrizaro dar numeros a una senal de voz con el fin de caracterizarla. Con solo diez numeroses posible identeficar una parte de dicha senal de voz.

¿Cuantos puntos son necesarios?. Debido a que la senal de voz se considerapseudo-aleatoria, con 32 milisegundos (256 muestras) es posibl, que en estas circun-stanciasas y para propositos practicos, se concidera estacionaria, por lo tanto es posiblecalcular dichos parametros de una menara practicamente aceptable.

Magnitud. Metodo matematico que permite carecterizar una senal mediante elcalculo del valor absoluto de las muestras que se encuentran en una ventana. Paranormalizar el resultado se divide entre el numero de muestras que tiene una ventana.

M(i) =1

Tv

Tv−1∑

k=0

|m(k)| (1)

CABECERA 13 34 3 -7 -11 -26 -4 24 11 -23 -11 0 5 3 23

-34 EOFdonde:

M(i) = magnitud de una ventana.i = numero de ventana.

Tv = tamano de la ventana.m(k) = muestra de sonido capturada

k = numero de muestra.

Ejemplo: Para Tv = 5,

M(1) =13 + 34 + 3 + 7 + 11

5=

68

5= 13.6

M(2) =7 + 11 + 26 + 4 + 24

5=

72

5= 14.4

M(3) =4 + 24 + 11 + 23 + 11

5=

73

5= 14.6

M(4) =23 + 11 + 0 + 5 + 3

5=

42

5= 8.4

Energıa. Metodo matematico que permite carecterizar una senal sumando elcuadrado de cada una de las muestras que contiene una ventana, y dividendosu re-sultado entre la cantidad de muestras de dicha ventana para normalizar el resultado.

E(i) =1

Tv

Tv−1∑

k=0

m2(k) (2)

Ejemplo: Para Tv = 5,

E(1) =(13)2 + (34)2 + (3)2 + (−7)2 + (−11)2

5

=(169) + (1156) + (9) + (49) + (121)

5=

1504

5= 300.8

1[extrap.tex, MPG.26.08.17]

E(2) =(−7)2 + (−11)2 + (−26)2 + (−4)2 + (24)2

5

=(49) + (121) + (676) + (16) + (576)

5=

1438

5= 287.6

E(3) =(−4)2 + (24)2 + (11)2 + (−23)2 + (−11)2

5

=(16) + (576) + (121) + (529) + (121)

5=

1363

5= 272.6

E(4) =(−23)2 + (−11)2 + (0)2 + (5)2 + (3)2

5

=(529) + (121) + (0) + (25) + (9)

5=

684

5= 136.8

Media. Metodo matematico que permite carecterizar una senal sumando todas lasmuestras que contiene una ventana, y dividendo su resultado entre la cantidad demuestras de dicha ventana.

M(i) =1

Tv

Tv−1∑

k=0

m(k) (3)

Ejemplo: Para Tv = 5,

M(1) =13 + 34 + 3 − 7 − 11

5=

32

5= 6.4

M(2) =−7 − 11 − 26 − 4 + 24

5=

−24

5= -4.8

M(3) =−4 + 24 + 11 − 23 − 11

5=

−3

5= -0.6

M(4) =−23 − 11 + 0 + 5 + 3

5=

−26

5= -5.2

Cruces por cero. Metodo matematico que permite carecterizar una senal medi-ante el conteo de cuantas veces pasa dicha senal por un valor de cero en coordenadascartesianas.

zcri =1

N

N−1∑

n=0

|sign[xi(n)] − sign[xi(n − 1)]| (4)

(+1) − (+1) = 1 − 1 = 0

(+1) − (−1) = 1 + 1 = 2

(−1) − (+1) = −1 − 1 = −2

(−1) − (−1) = 1 − 1 = 0

dondezcri = numero de cruces por cero.N = tamano de la ventana.

sign = bit de signo de x(n)i = numero de segmento (ventana)n = ındice de dato.

Perceptron: ejemplo

Implementar la funcion AND con un per-ceptron de 2 entradas. (a) Indicar las diferen-tes combinaciones de w1, w2, y θ que se obtie-nen en el proceso de aprendizaje. (b) Dibujarlas rectas de separacion que determinan cadauna de las combinaciones halladas. (c) Espe-cificar los valores numericos de corte de cadarecta con los ejes x1 y x2.

Solucion:

Utilizando aprendizaje Hebbiano (DonaldHebb, Escocia, 1904-1985) para w1, w2, y θ

∆wi xi E ,

o bien,

w(t+ 1) = w(t) + x E (1)

donde E es el error que se obtiene con la si-guiente expresion (2),

E = (valor deseado− valor obtenido) , (2)

el orden de la secuencia de aprendizaje es,

00 → 01 → 10 → 11 → 00 → 01 → . . . . . . (3)

inicializamos los pesos con valores aleatorios,

w1 = 2,2 w2 = 1,2 θ = −0,2 (4)

comenzamos los calculos siguiendo la secuen-cia (3) de acuerdo con la siguiente expresion(5),

y = x1w1 + x2w2 + θ (5)

Primera secuencia: x1 = 0, x2 = 0,

y00 = 0(2,2) + 0(1,2) + 1(−0,2)

= f(−0,2)

y00 = 0 salida esperada,

comprobamos la salida con la expresion (2),

E = (salida deseada)− (salida obtenida)

= (0)− (0)

E = 0 OK, no hay error,

Segunda secuencia: x1 = 0, x2 = 1,

y01 = 0(2,2) + 1(1,2) + 1(−0,2)

= f(1)

y01 = 1 debe ser 0, salida erronea

calculamos el error,

E = (salida deseada)− (salida obtenida)

= (0)− (1)

E = −1

como hubo error, actualizamos los pesos deacuerdo con los valores de iniciales de (4) y laexpresion (1),

w1(t+ 1) = w1(t) + x1E

= (2,2) + 0(−1)

= 2,2

w2(t+ 1) = w2(t) + x2E

= (1,2) + 1(−1)

= 0,2

θ(t+ 1) = θ(t) + 1 E

= (−0,2) + 1(−1)

= −1,2

ası, la combinacion 1 es,

w1 = 2,2 w2 = 0,2 θ = −1,2 (6)

Tercera secuencia x1 = 1, x2 = 0,

y10 = 1 ∗ (2,2) + 0(0,2) + 1(−1,2

= f(1)

y10 = 1 salida erronea, debe ser 0,

calculamos el error

E = (salida deseada)− (Salida obtenida)

= (0)− (1)

E = −1

recalculamos los pesos de acuerdo a (6):

w1(t+ 1) = w1(t) + x1 E

= (2,2) + 1(−1)

= 1,2

w2(t+ 1) = w2(t) +X2 E

= (0,2) + 0(−1)

= 0,2

θ(t+ 1) = θ(t) + 1 E

= (−1,2) + 1(−1)

= −2,2

ası, la combinacion 2 es::

w1 = 1,2, w2 = 0,2, θ = −2,2 (7)

Cuarta secuencia: x1 = 1, x2 = 1,

y11 = f(1(1,2) + 1(0,2) + 1(−2,2)

= f(−0,8)

y11 = 0 salida erronea debe ser 1

calculamos el error

E = (salida deseada)− (salida obtenida)

= (1)− (0)

E = 1

recalculamos los pesos de acuerdo a (7),

w1(t+ 1) = w1(t) + x1E

= (1,2) + 1(1)

= 2,2

w2(t+ 1) = w2(t) + x2E

= (0,2) + 1(1)

= 1,2

θ(t+ 1) = θ(t) + 1E

= (−2,2) + 1(1)

= −1,2

finalmente la combinacion 3 es::

w1 = 2,2, w2 = 1,2, θ = −1,2 (8)

Debido a que en el proceso anterior huboalgun error, se debe repetir la operacion deacuerdo con los valores de (8) hasta que nohaya algun error, es decir, que las salidas ob-tenidas coincidan con las deseadas en todoslos pares de entrada. Se dice entonces que la

red converge

Repitir el proceso, primera secuancia:x1 = 0, x2 = 0

utilizando los valores de (8)

y00 = 0(2,2) + 0(1,2) + 1(−1,2)

= f(−1,2) = 0 OK salida esparada

y01 = 0(2,2) + 1(1,2) + 1(−1,2)

= f(0) = 0 OK salida esparada

y10 = 1(2,2) + 0(1,2) + 1(−1,2)

= f(1) = 1 salida erronea debe ser 0

calculamos el error

E = (salida deseada)− (Salida obtenida)

= (0)− (1)

E = −1

recalculamos los pesos de acuerdo a (8),

w1(t+ 1) = w1(t) + x1E

= (2,2) + 1(−1)

= 2,2

w2(t+ 1) = w2(t) + x2E

= (1,2) + 1(−1)

= 1,2

θ(t+ 1) = θ(t) + 1 E

= (−1,2) + 1(−1)

= −2,2

la combinacion 4 es:

w1 = 1,2, w2 = 1,2, θ = −2,2 (9)

utilizando los valores de (9),

y11 = 1(1,2) + 1(1,2) + 1(−2,2)]

= f(0,2) = 1 OK salida esparada

finalmente con los valores de (9),

y00 = 0(1,2) + 0(1,2) + 1(−2,2)

= f(−2,2) = 0

y01 = 0(1,2) + 1(1,2) + 1(−2,2)

= f [(−1) = 0

y10 = 1(1,2) + 0(1,2) + 1(−2,2)

= f [(−1) = 0

y11 = 1(1,2) + 1(1,2) + 1(−2,2)

= f(1) = 1

[perexx.tex, MPG.31.09.17]

CADENAS DE MARKOV OCULTAS1

1[pcadmrk.tex][06AG18] Dr. Maximino Pena Guerrero

HMM: CADENAS DE MARKOV OCULTAS1

Andrei Andreyevich Markov (1856-1922),matematico ruso, investigador de la teorıade numeros y la teoria de probabilidades,desarrollo las cadenas que llevan su num-bre.

“Una cadena de Markov es un modelo pro-babilıstico utilizado para predecir la evolu-cion y el comportamiento a corto y largoplazo de determinados sistemas” a.

Una cadena de markov oculta (HMM,Hidden Markov Model) es “un automatade estados finitos utilizado para modelar lavoz (una frase, palabra, fonema, etc.)” b.

Una HMM “... genera observaciones cadavez que salta de un estado a otro.”

ahttp://inop2.blogspot.com/p/cadenas-de-markov.htmbFaundez Zany Marcos, Tratamiento digital de Voz e Imagen, 2001, pp. 107-108

1[hmm.tex][MPG011216]

1

Ejemplo del Clima

Cadenas de Markov 1

De acuero con el modelo en la figura, ¿cual es la pro-

babilidad de que el clima para ocho dias sea: soleado,

soleado, soleado, lluvioso, lluvioso, soleado, nu-

blado, soleado?

3

1 2

a

aa

a

a

12

21

23

32

a

a33

a11 = 0.4 = 0.622a

= 0.3

= 0.2

= 0.3

= 0.2

= 0.8

= 0.1

SOL

31

13

= 0.1

LLUVIA NUBE

rebinerClima.fig

estado posterior︷ ︸︸ ︷1 2 3

estado

anterior

1

2

3

a11 = 0,4 a12 = 0,3 a13 = 0,3

a21 = 0,2 a22 = 0,6 a23 = 0,2

a31 = 0,1 a32 = 0,1 a33 = 0,8

1Rabiner 93, p. 324, [rabinerClima.tex] MPG.04.06.18

dia = 1 2 3 4 5 6 7 8

O = sol sol sol lluvia lluvia sol nube sol

= 3 3 3 1 1 3 2 3

P[O|modelo] = P[3 3 3 1 1 3 2 3|modelo]

P[O|modelo] = P[3] · P[3 | 3] · P[3 | 3] · P[1 | 3] ·

P[1 | 1] · P[3 | 1] · P[2 | 3] ·

P[3 | 2]

P[O|modelo] = π3 · (a33) · (a33) · (a31) ·

(a11) · (a13) · (a32) ·

(a23)

P[O|modelo] = 1,0 · (0,8) · (0,8) · (0,1) ·

(0,4) · (0,3) · (0,1) ·

(0,2)

P[O|modelo] = 1,536 10−4

Donde πi = P[qi = i] para 1 ≤ i ≤ N denota el

estado inicial de probabilidades.

Nota: P[3|2] se lee “la probabilidad de que ocurra

el estado 3 a partir del estado 2.”

1

Problema. De acuero con el modelo enla figura, ¿cual es la probabilidad de que elautomata permanezca en un solo estado cono-cido?1

3

1 2

a

aa

a

a

12

21

23

32

a

a33

a11 = 0.4 = 0.622a

= 0.3

= 0.2

= 0.3

= 0.2

= 0.8

= 0.1

SOL

31

13

= 0.1

LLUVIA NUBE

rebinerClima.fig

Solucion.La probabilidad de la sequencia de observacion,O = ( i, i, i, i, i, i, i i 6= j )dia = 1 2 3 . . . . . . . . . d d + 1

dado el modelo es,

P (O|modelo,qi = i) =P(O,qi = i | modelo)

P (qi=i)

= π(aii)d−1(1−aii)π

= π(aii)d−1(1− aii)

= pi(d)

donde pi(d) es la funcion de distribucion de1Rabiner93, p. 324, [rab93b.tex] MPG.07.06.18

probabilidad de duracion d.• Esta distribucion exponencial es una carac-

terıstica del estado de duracion en una cadenade Markov.• pi(d) da el numero esperado de observacio-

nes (o duracion) de un estado.• El estado esta condicionado a iniciar en este

mismo estado de acuerdo con

d =∞∑

d=1

dpi(d)

=∞∑

d=1

d(aii)d−1(1− aii)

d =1

1− aii

Para el estado soleado es 10,2

= 0,5, para nu-

blado 10,4 = 2,5 y para lluvioso 1

0,6 = 1,66.

1

Problema. Derivar el promedio (media) de1

d =

∞∑

d=1

dpi(d)

Solucion.

d =∞∑

d=1

d(aii)d−1(1− aii)

= (1− aii)∂

∂aii

[∞∑

d=1

adii

]

d = (1− aii)∂

∂aii

( aii1− aii

)

(1)

derivando parcialmente solo un elemento de (??),

∂aii

( aii1− aii

)

utilizando las derivadas (??) y (??)

d

dx

(u

v

)

=vdudx − udv

dx

v2(2)

d

dx(x) = 1 (3)

ademas si,

u = aii

v = (1− aii)1Rabiner93, p. 324, [rab93c.tex] MPG.07.06.18

d = (1− aii)

[

(1− aii)∂

∂aiiaii − aii

(∂

∂aii(1− aii)

)

(1− aii)2

]

d = (1− aii)

[(1− aii)

1

∂aiiaii−aii

(∂(1)∂aii

1

∂aiiaii

)

(1− aii)2

]

= (1− aii)

[(1− aii)− aii

(

0

∂(1)

∂aii−

1

∂aiiaii

)

(1− aii)2

]

= (1− aii)

[

(1− aii)− aii(0− 1)

(1− aii)2

]

= (1− aii)

[

(1− aii)− (0− aii)

(1− aii)2

]

= (1− aii)

[

(1− aii + aii)

(1− aii)2

]

= (1− aii)

[

1

(1− aii)2

]

=

[

(1− aii)

(1− aii)2

]

d = 11−aii

1

Matrız de Disperson/Confusion 1

“La conexion entre los estados ocultos y las variables observables, sımbolos,representa la probabilidad de generar un sımbolo en particular desde undeterminado estado oculto”

P (Obs|Soleado) + P (Obs|Nublado) + P (Obs|Lluvioso) = 1

Estas probabilidades se representan con la siguiente matrız de disper-sion/confusion

Variables Observables︷ ︸︸ ︷Seco Fresco Humedo Empapado

Estados Ocultos

SoleadoNubladoLluvioso

0,60 0,20 0,15 0,050,25 0,25 0,25 0,250,05 0,10 0,35 0,50

1[clima1.tex MPG.21.07.18] Semana ESIDE 2005, Universidad de Dusto, Aistemas Expertos, Redes Bayesianas y sus Aplicaciones. pg 43/60

1

Arquitectura de una HMM

x(t)

y(t)

arq1.fig

x(t+1)

y(t+1)

x(t−1)

y(t−1)

• x(t) Valor de la variable aleatoria oculta en el instante t.• y(t) Valor de la variable observada en el mismo instante t (las flechas indican dependencias

condicionales).Propiedad de Markov

1 El valor de la variable oculta x(t) (en el instante t) solamente depende del valor da lavariable oculta x(t− 1) (en el instante t− 1).

2 El valor de la variable observable y(t) (en el instante t) solamente depende del valor da lavariable oculta x(t) (en el instante t).

[arq1.tex] MPG.24.07.18http://es.wikipedia.org/wiki/Modelo oculto de markov

1

Definicion Formal. Una cadena de Markov Oculta HMM es una quıntupla definida por 1

(Q, V, π,A,B)

• Q = q1, q2, q3, . . . , qN Conjunto de estados; qt es el estado inicial. Cada valor de t serefiere a la posicion de una palabra en una oracion.

• V = v1, v2, v3, . . . , qM Conjunto de valores observables, donde qt es el estado inicial.M indica el numero de palabras posibles. Cada valor de vk se refiere a una palabra diferente(vocabulario).

• π = πi Probabilidades de estado iniciales; πi es la probabilidad de que el primer estadosea el estado Qi.

• A = Aij Conjunto de probabilidades de transicion entre estados.

aij = P (qt = j|qt−2 = i)

donde aij es la posibilidad de estar en el estado j en el instante t si en el instante t − 1 seestaba en el estadi i.

• B = Bi(vk) Conjunto de probabilidades de las observaciones. transicion entre estados.

bj(vk) = P (ot = vk|qt = j)

La posibilidad de observar vk cuando se esta en el estado t instante t. Una secuencia observablese describe como

O = (o1, o2, o3, oT )1[dform1.tex] MPG.25.JL.18 Fuente: Jur09 p:145,291. wikipedia

1

Empapado Fresco Seco

Soleado Nublado Lluvioso

EstadosOcultos

Estados Observables

eside1.fig

Humedo

Reconocedor de Voz Elechouse Module V3 con Arduino1

• Elechouse V3 (Voice Recognition Module V3) es un dispositivo compacto de reconoci-miento de comandos voz.• Fue desarrollado en un circuito impreso por Elechouse Corp. como una extension de Arduino.• Arduino es sistema de desarrollo con base en el microcontrolador RISC ATmega328 de AtmelCorp.• Este dispositivo de Elechouse Corp. (Shenzhen, Hong Hong, China, 2010) soporta hasta 80comandos de voz de manera independiente, y 7 de manera simultanea a paralela.

1[modv3.tex][MPG.14.OC.18]

1

Reconocedor de Voz EasyVR1

• EasyVR, segunda generacion de VRbot, es un modulo de reconocimiento de voz.• Fue desarrollado en un circuito impreso por VeeaR Corp. capaz de interactuar con Arduinoo PIC.• Arduino es sistema de desarrollo con base en el microcontrolador RISC ATmega328 de AtmelCorp.• EasyVR soporta hasta 32 comandos de voz.

1[easyvr.tex][MPG.14.OC.18]

1

Sintetizadores de Voz TTS (Text to Speech)1

• TTS256 es un circuito integrado de speachchips desarrollado para generar codigos de voz apartir de codigos de texto ASCII con posibilidad de control Arduino (p. e. Speakjet Shield).

1[tts256.tex][MPG.15.OC.18]

1