Algoritmos para el seguimiento de los par¶ametros del...

34
Algoritmos para el seguimiento de los par ´ ametros del modelo de tracto bucal Monograf´ ıa Tratamiento Estad´ ıstico de Se˜ nales Pablo Arias * * [email protected] 1

Transcript of Algoritmos para el seguimiento de los par¶ametros del...

  • Algoritmos para el seguimiento de los

    parámetros del modelo de tracto bucal

    Monograf́ıa Tratamiento Estad́ıstico de Señales

    Pablo Arias *

    *[email protected]

    1

  • Índice

    1. Introducción 3

    2. Modelo del aparato fonador 42.1. Proceso de producción de la voz . . . . . . . . . . . . . . . . . . . . . . . . . . 42.2. Modelos para la señal de voz . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    3. Predicción lineal 83.1. Solución al problema de predicción lineal . . . . . . . . . . . . . . . . . . . . . 8

    3.1.1. Enfoque estocástico . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83.1.2. Caso determińıstico . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    3.2. Estimación de la solución . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93.2.1. Método de la autocorrelación . . . . . . . . . . . . . . . . . . . . . . . 103.2.2. Método de la covarianza . . . . . . . . . . . . . . . . . . . . . . . . . . 10

    3.3. Estimación de la señal de excitación . . . . . . . . . . . . . . . . . . . . . . . 113.4. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    3.4.1. Señales estacionarias . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113.4.2. Señales no estacionarias . . . . . . . . . . . . . . . . . . . . . . . . . . 13

    4. LPC recursivo 154.1. Algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154.2. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

    4.2.1. Señales estacionarias . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164.2.2. Señales no estacionarias . . . . . . . . . . . . . . . . . . . . . . . . . . 18

    5. Kalman con suavizado 205.1. Modelo en variables de estado . . . . . . . . . . . . . . . . . . . . . . . . . . . 205.2. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    5.2.1. Señales estacionarias . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205.2.2. Señales no estacionarias . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    5.3. Suavizado de Rauch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225.3.1. Deducción del algoritmo de suavizado . . . . . . . . . . . . . . . . . . 23

    5.4. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245.4.1. Señales estacionarias . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245.4.2. Señales no estacionarias . . . . . . . . . . . . . . . . . . . . . . . . . . 25

    6. Comparación y conclusiones 286.1. Rendimiento con señales sintéticas . . . . . . . . . . . . . . . . . . . . . . . . 286.2. Rendimiento con señales reales . . . . . . . . . . . . . . . . . . . . . . . . . . 28

    A. Código 30

    2

  • 1. Introducción

    Una de las aplicaciones que propició el estudio de las caracteŕıstcas de la señal de vozy de su generación fue la codificación para almacenamiento y transmisión a tasas de bitsbajas. En este sentido, la técnica más usada es la codificación por predicción lineal, o LPC(Linear Predictive Coding) [1], [2]. Ésta se basa en predecir el valor de la señal en el instanten usando usando p muestras anteriores y codificar el error en la predicción. Para algunasseñales (procesos auto-regresivos) existen codificadores para los cuales la señal de error en lapredicción tiene baja entroṕıa, logrando una menor tasa de bits.

    El éxito de la aplicación de LPC a la codificación de señales de voz, se debe en parte aque éstas pueden modelarse como un proceso auto-regresivo [3], dado que el sistema fonadorhumano puede considerarse como un filtro lineal variante en el tiempo, del tipo todo polos.

    El análisis por LPC de la señal de voz, no sólo se usa para la compresión, sino que haprobado ser una de las técnicas más usadas para la estimación de sus parámetros básicos,como el pitch, las formantes, el espectro, etc [3]. Estos parámetros condensan una gran partede la información disponible en la señal de voz, y son usados como insumo para aplicacionesposteriores, como ser reconocimiento de voz, reconocimiento del hablante, compresión, śınte-sis de voz artificial, śıntesis de sonidos [4].

    Debido a que la señal de voz es un proceso claramente no estacionario, los coeficientes de lapredicción lineal no son constantes en el tiempo, aśı como tampoco lo serán las caracteŕısticasde la señal de excitación.

    Existen básicamente dos formas de adaptar los coeficientes:

    Los algoritmos de adaptación por bloques trabajan en una ventana de tiempo en la queel proceso s es aproximadamente estacionario, y calculan un mismo juego de coeficientesque son válidos dentro de la ventana considerada.

    Los algoritmos de adaptación por muestra actualizan los coeficientes cada instante detiempo con cada nueva muestra de señal disponible.

    Los primeros tienen como principal ventaja el costo computacional. La contraparte de es-tos métodos está en que tienen poca resolución temporal y en que generan discontinuidadesentre juegos de coeficientes correspondientes a bloques adyacentes.

    En este trabajo se presentan dos algoritmos de adaptación por muestra para estimar losparámetros del modelo de tracto bucal. El primero es simplemente el cálculo de los coefi-cientes de LPC de forma recursiva para ventanas que se deslizan sobre la señal, utilizando elalgoritmo RLS de ventana deslizante [5]. El otro enfoque se basa en una variación del filtrode Kalman [6], basado en los algoritmos propuestos por [7] y [8]. Los resultados de estosalgoritmos se comparan entre śı y con los resultados de una estrategia de LPC de adaptaciónpor bloques.

    El trabajo comienza con una breve resumen de la teoŕıa del modelado del sistema fonadorhumano en la sección 2. En la siguiente sección se presentan las caracteŕısticas generalesdel análisis de voz basado en LPC. En las secciones 4 y 5 se desarrollan los algoritmos deadaptación por muestra considerados. Para cada uno (y también para LPC) se estudian losresultados con señales sintéticas. Finalmente la sección 6 contiene una comparación entre losalgoritmos de adaptación por muestra y las conclusiones correspondientes.

    3

  • 2. Modelo del aparato fonador

    Es necesario conocer las caracteŕısticas básicas de la señal de voz y del mecanismo medi-ante el cual es generada, para comprender las técnicas usadas en su procesamiento.

    Las señales de voz se producen concatenando elementos de un conjunto finito de sonidosllamados fonemas. La fonética estudia y clasifica estos sonidos, mientras que la ligǘısticaestudia las reglas que especifican la forma en que se pueden concatenar los fonemas. Elconjunto de fonemas y las reglas para combinarlos es lo que se conoce como lenguaje.

    En problemas de reconocimiento de voz, la lingǘıstica juega un papel muy importante.En problemas de más bajo nivel, cómo por ejemplo el análisis de la voz, son más importanteslas nociones de la fonética.

    2.1. Proceso de producción de la voz

    Se llama aparato fonador al sistema de órganos, y músculos encargados de la producciónde la voz. Éste sistema está estrechamente ligado al sistema respiratorio, debido a que la vozes básicamente una vibración (o variación de la presión) en el aire que es propulsado por lospulmones.

    Figura 1: Diagrama del aparato fonador.

    En la figura 1 se puede ver un esquema de la estructura del aparato fonador. Los pulmonesson los que brindan la enerǵıa, transformando enerǵıa muscular en enerǵıa cinética del aire.

    El aire en movimiento pasa por las cuerdas vocales, o membrana glotis, y entra en eltracto bucal. Éste consiste en la faringe y la boca o cavidad oral. El velo es una membranaque puede acoplar el tracto nasal al tracto bucal, produciéndose los sonidos nasales.

    La glotis, junto con los pulmones, genera una señal de excitación en la forma de un flujode aire con variaciones en la presión. Básicamente hay tres señales de excitación distintas,que generan tres tipos de sonidos:

    Sonidos sonoros. Se hace pasar aire a través de la glotis, con las cuerdas vocales tensasde modo que vibren. Esto genera una señal de excitación que tiene la forma de un trencuasi periódico de pulsos. Ejemplos de sonidos sonoros son las vocales.

    Sonidos sordos. Se forma una constricción en el tracto bucal. Si el aire pasa por estaconstricción a una velocidad suficiente se torna turbulento, lo que se puede modelarcomo una excitación ruidosa. Los fonemas asociados a algunas consonantes como la f,s, z son sonidos sordos.

    4

  • Sonidos plosivos. Se generan cerrando completamente el pasaje de aire en algún puntodel tracto bucal, y liberando repentinamente la presión acumulada. Entran en estacategoŕıa los sonidos de las consonantes p, g, t.

    Las de señales excitación resuenan en el tracto bucal, que puede modelarse como un filtrolineal, variante en el tiempo. Las frecuencias de resonancia de este filtro se llaman formantesy su ubicación en el espectro depende de la configuración del tracto bucal, que vaŕıa con eltiempo.

    Los distintos sonidos de la voz se generan variando la señal de excitación y la configuracióndel tracto bucal.

    2.2. Modelos para la señal de voz

    Tracto bucal

    El tracto bucal se modela como un sistema lineal cuyos coeficientes vaŕıan en el tiempo.La tasa de variación de los parámetros del tracto bucal es aproximadamente la misma quela frecuencia con que se cambia de fonema al hablar. Se puede asumir que cada juego deparámetros se mantiene fijo por aproximadamente 10ms a 20ms.

    Para modelar la función de transferencia en un instante de tiempo se usa un modelo todopolos de la forma

    V (z) =G

    1−∑Nk=1 αkz−kdonde los αk con k = 1, . . . , N son números reales. Los polos de V (z) corresponden a las

    formantes.

    Señal de excitación

    De los tres tipos de señales de excitación que hay, el modelo más complejo correspondea la excitación de los sonidos sonoros. Para modelar correctamente este caso, es necesarioestudiar un poco más en detalle el funcionamiento de la glotis.

    Figura 2: Representación esquemática del aparato fonador con la glotis abierta y cerrada(punteado).

    Cuando la glotis está abiera, esta representa un estrechamiendo del conducto por el cualcircula la voz, como se esquematiza en la figura 2. De acuerdo a la ley de Bernoulli, la presión

    5

  • en el orificio es menor a la presión en cualquiera de los dos lados. Este decremento en lapresión causa que las cuerdas vocales, que a su vez están sometidas a una tensión, se cierren.

    La glotis cerrada impide que circule el aire proveniente de los pulmones, y comienza aaumentar la presión del lado de tráquea, hasta que las cuerdas vocales ceden y la glotis quedanuevamente abierta.

    La repetición de este ciclo genera una señal de excitación casi periódica parecida a untren de pulsos. Vale cero cuando la glotis está cerrada y tiene una forma que se asemeja aun pulso cuando la glotis al abrirse deja pasar el aire acumulado. Una señal de este tipo sepuede apreciar en la figura 3.

    Figura 3: Ejemplo de señal de excitación de un sonido sonoro.

    El peŕıodo depende de la tensión a la que se somenten las cuerdas vocales y de la presióncon la que sale en aire de los pulmones. El tono de la señal de voz producida (la frecuenciafundamental) coincide con la frecuencia del ciclo glotal1.

    La señal se excitación de sonidos sonoros se modela entonces como la convolución de untren de impulsos con una señal parecida a los pulsos de la figura 3. Según [9] la siguienteaproximación puede usarse para sintetizar una señal de voz similar a las reales:

    g[n] =

    12 [1− cos(πn/N1)] 0 6 n 6 N1cos(π(n−N1)/2N2) N1 6 n 6 N1 + N20 N1 + N2 6 n

    En el caso de los sonidos sordos, la excitación puede modelarse setisfactoriamente comola realización de un proceso de ruido blanco sin importar demasiado la distribución de lasmuestras.

    La excitación de los sonidos plosivos no es tenida en cuenta en la mayoŕıa de los modelos,debido a que la mayor parte de los sonidos son sonoros o sordos.

    Modelo completo

    En la figura 4 se puede ver un diagrama de bloques del modelo completo del sistemafonador. Existen dos fuentes de señal para generar los sonidos sonoros o los sordos. Medianteéstas se excita el tracto bucal, modelado como un filtro lineal variante en el tiempo, detransferencia instantánea V (z). La señal que se obtiene a la salida pL[n], es el valor de lapresión con la que sale el aire de la boca en el instante n.

    1En la literatura se utiliza más el término pitch o altura por el cual se denomina a la frecuencia.

    6

  • Figura 4: Modelo completo del sistema fonador.

    7

  • 3. Predicción lineal

    De acuerdo la figura 4, podemos expresar el valor de la señal de voz en el instante k como:

    sk =p∑

    j=1

    ajsk−j + Guk

    donde uk es la señal de excitación que vaŕıa entre un proceso con caracteŕısticas de ruidoblanco y un tren de pulsos.

    Para simplificar el análisis de los sonidos sonoros, asumiremos que la señal de excitaciónes un tren de impulsos. Esta asunción equivale a considerar que la transferencia del filtroconformador G(z) es de tipo todo polos, y redefinir la transferencia del tracto bucal como elproducto de G(z)A(z).

    La idea de LPC es estimar los coeficientes de un predictor lineal, que minimicen la potenciade la señal de error. En esta sección hallaremos la solución al problema y veremos que enalgunos casos, esta solución coincide con los coeficientes del filtro del tracto bucal.

    3.1. Solución al problema de predicción lineal

    El problema de determinar los coeficientes de predicción óptimos puede plantearse paraprocesos estocásticos o para señales determińısticas. Ambas situaciones se presentan en elanálisis de la señal de voz: los sonidos sonoros son señales determińısticas mientras que lossordos se modelan como procesos estocásticos.

    3.1.1. Enfoque estocástico

    Sea sk un proceso estocástico. Se considerará que el proceso es estacionario en sentidoamplio, hipótesis que después será levantada.

    El problema de predicción lineal consta en hallar los coeficientes que minimicen el errorcuadrático medio en la predicción:

    w∗ = (α1, . . . , αp) | w∗ = argminE

    sk −

    p∑

    j=1

    αjsk−j

    2

    Derivando la expresión anterior con respecto al vector w se llega al sistema de ecuaciones:

    rs(k)−p∑

    j=1

    αjrs(k − j) = 0 con k = 1, . . . , p (1)

    donde rs(k) es la secuencia de autocorrelación del proceso s. Expresándole matricialmente:

    Rw =

    rs(0) rs(−1) · · · rs(−p + 1)rs(1) rs(0) · · · rs(−p + 2)

    ......

    . . ....

    rs(p− 1) rs(p− 2) · · · rs(0)

    ·

    α1α2...

    αp

    =

    rs(1)rs(2)

    ...rs(p)

    = p

    R es la matriz de autocorrelación de s. Esta solución no es otra que la del filtro de Wiener.Hasta el momento, no se ha hecho ninguna suposición sobre la naturaleza del proceso sk.

    Se verá a continuación, que si sk es un proceso autorregresivo (como en el caso de los sonidossordos en la señal de voz), entonces los coeficientes hallados coinciden con los del proceso.

    8

  • Supóngase que sk es un proceso AR generado a partir de la siguiente recurrencia:

    sk =p∑

    j=1

    ajsk−j + uk

    donde uk es ruido blanco. Entonces por las ecuaciones de Yule-Walker la autocorrelacióndel proceso cumple que:

    rs(k)−p∑

    j=1

    ajrs(k − j) = 0, con k = 1, . . . , p

    Estas ecuaciones coinciden con las dadas por 1, o sea que los coeficientes del predictorlineal óptimo para un proceso AR son los propios coeficientes del proceso.

    3.1.2. Caso determińıstico

    Considérese sk una señal determińıstica. En este caso el problema de la predicción linealconsiste en hallar los coeficientes w = (α1, . . . , αp) que minimicen la suma de los errorescuadráticos en la predicción:

    w∗ = (α1, . . . , αp) | w∗ = argmin∑

    k∈Z

    sk −

    p∑

    j=1

    αjsk−j

    2

    Derivando la expresión a minimizar es fácil ver que cuando se alcanza el óptimo, se cumpleque

    n∈Zsnss−k −

    p∑

    j=1

    αj∑

    n∈Zsn−jss−k = 0 con k = 1, . . . , p (2)

    Definiendo la autocorrelación determińıstica rs(k) =∑

    n∈Z snsn−k la ecuación quedaidéntica a (1). Más adelante se verá además que en la práctica, la estimación de la secuenciade autocorrelación en el caso determińıstico o en el estocástico puede hacerse, amén de unaconstante de proporcionalidad, de igual forma.

    Al igual que en el caso estocástico interesa conocer en qué caso los coeficientes del predictoróptimo guardan relación con parámetros de la señal. Supóngase que la señal sk es la respuestaal impulso de un filtro todo polos, de la forma

    sk =p∑

    j=1

    ajsk−j + Gδk

    Calculando la autocorrelación determińıstica de la secuencia sk se verifica que los coefi-cientes del filtro satisfacen ecuaciones iguales a 2. Por lo tanto, aplicando LPC a la respuestaal impulso de un filtro todo polos, se obtiene el vector de coeficientes del filtro. Ésta es unade las razones por las que en el modelo simplificado del tracto bucal, se sustituye el tren depulsos por uno de impulsos.

    3.2. Estimación de la solución

    Los resultados de la sección anterior establecen que los coeficientes de LPC calculadospara señales generadas por la excitación de un filtro todo polos por ruido blanco o por un

    9

  • impulso, coinciden con los coeficientes del filtro. De acuerdo al modelo simplificado, ésto essuficiente para realizar el análisis de la señal de voz.

    Cuando llega la hora de realizar implementaciones reales de LPC, tanto las series infini-tas como las esperanzas deben sustituirse por estimaciones que puedan calcularse con unnúmero finito de muestras de la señal. Esto no sólo se debe a que no es posible calcularnuméricamente una serie infinita. Las señales de voz no son estacionarias. Los parámetrosdel filtro del tracto bucal, pueden asumirse constantes a lo sumo por algunas decenas demilisegundos, propiedad que se denomina estacionariedad local. Por este motivo tampococonviene considerar intervalos muy grandes de tiempo para realizar las estimaciones, ya quede proceder aśı los resultados correspondeŕıan a un promediado de los valores que tomaronlos coeficientes del filtro en la ventana de tiempo considerada.

    Principalmente hay dos formas de calcular los estimados de LPC a partir de un númerofinito de muestras: el método de la covarianza y el método de la autocorrelación. Ambosmétodos se aplican de igual manera para realizaciones de procesos estocásticos que paraseñales detemińısticas, ya que la estimación de la secuencia de autocorrelación de un procesoa partir de una de sus realizaciones, difiere con el cálculo de la autocorrelación determińısticasólo en un factor de proporcionalidad.

    A continuación se desarrollarán los métodos sólo para el caso estocástico.

    3.2.1. Método de la autocorrelación

    Este método se basa en la estimación de la secuencia de autocorrelación para la señalenventanada s′k = skvk, con vk = 0 fuera del intervalo de muestras a considerar. La forma dela ventana tiene mucha influencia sobre la estimación: conviene usar ventanas que no tengandiscontinuidades, como ser Hanning, Hamming.

    Los valores de la autocorrelación se estiman entonces (asumiendo ergodicidad) como:

    r̂s(k) =1N

    j∈Zs′js

    ′j−k =

    1N

    N−1∑

    j=k

    s′js′j−k

    donde se asumió que el soporte de la ventana es 0, 1, . . . , N − 12. Con los valores de r̂s(k)se arma una matriz de autocorrelación estimada que es simétrica y toeplitz, lo que permite laresolución del sistema en O(p2) operaciones, usando métodos como la recursión de Levinsono el algoritmo de Durbin [5].

    3.2.2. Método de la covarianza

    A diferencia del método de anterior, el método de la covarianza se basa en una modificaciónen el planteo del problema. Los coeficientes buscados son los que minimizan el error cuadráticopromedio en un intervalo finito de tiempo. Como en el ejemplo anterior asumiremos que elintervalo es 0, 1, . . . , N − 13:

    w∗ = (α1, . . . , αp) | w∗ = argmin 1N

    N−1∑

    k=0

    sk −

    p∑

    j=1

    αjsk−j

    2

    Debido a que el operador E{·} y el 1N∑N−1

    k=0 {·} tienen las mismas propiedades de lineal-idad, se llega a que los coeficientes óptimos verifican:

    2En el caso determińıstico la autocorrelación se estima sin dividir entre N .3El planteo para el caso determińıstico es el mismo, sin dividir entre N

    10

  • ϕ0k −p∑

    j=1

    αjϕjk = 0 con k = 1, 2, . . . , p

    donde ϕij = 1N∑N−1

    n=0 sn−isn−j . La matriz de este sistema, si bien es simétrica no estoeplitz y su inversión insume un costo operacional mayor.

    3.3. Estimación de la señal de excitación

    Como un subproducto del análisis por LPC, habiendo estimado los coeficientes del filtro,puede calcularse mediante un filtrado inverso un estimativo de la señal de excitación Guk:

    Guk = sk+1 −p∑

    j=1

    αjsk−j

    Como resulta evidente de la expresión anterior, si se considera que (α1, . . . , αp) son co-eficientes de un estimador, la señal de excitación corresponde a la secuencia de error en laestimación.

    La estimación de esta señal de error tiene aplicaciones en el campo del análisis de voz,pues es útil por ejemplo para tener un estimado más certero de la altura (pitch).

    3.4. Resultados

    En esta sección se discuten resultados de una implementación de LPC usando el métodode la autocorrelación con una ventana de Hamming. Los resultados que se presentarán enesta sección y en las siguientes, son sobre señales sintetizadas según el modelo simplificadodel tracto bucal, a modo de poder comparar los resulados del algoritmo contra los verdaderoscoeficientes4. Los filtros de śıntesis son de orden p = 8, mismo orden que se consideró en laspruebas.

    El análisis LPC se hace en bloques de longitud L, que se solapan 0 6 M < L muestras.

    3.4.1. Señales estacionarias

    Sonidos sordos. En la figura 5 se puede ver el resultado para una señal del tipo sordosintetizada usando los coeficientes de la vocal A, para dos los ocho coeficientes usados. Eltamaño de bloque corresponde a L = 2048, con un solapamiento de un 40 % del tamaño dela ventana.

    Se pueden apreciar las discontinuidades en los ĺımites de los bloques. Si se reduce eltamaño de ventana los resultados empeoran sensiblemente. Como ejemplo de esto se puedever la figura 6. Esto es debido a que se estima la secuencia de autocorrelación con una cantidadmenor de muestas.

    Sonidos sonoros. Los sonidos sonoros se generan a partir de un filtro con los mismoscoeficientes que en el caso anterior, excitándolo con un tren de impulsos. En la figura 7 seobservan segmentos de señales del tipo de las generadas.

    En la figura 8 se ve que los resultados para los coeficientes de la vocal A con L = 512, sonmenos ruidosos que en caso sordo. Sin embargo algunos bloques se apartan del valor real delcoeficiente. Esto se debe a estar trabajando con señales generadas con un tren de impulsos.

    4Para realizar la śıntesis se utilizaron coeficientes extráıdos señales reales obtenidas grabando vocaleslargas.

    11

  • 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8

    −1

    −0.5

    0

    0.5

    1

    1.5

    2

    Coeficiente a1

    t (s)

    LPCValor real

    0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8

    −1

    −0.5

    0

    0.5

    1

    1.5

    2

    Coeficiente a6

    t (s)

    LPCValor real

    Figura 5: Resultados de LPC, tomando L = 2048, para sonidos sordos.

    0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8

    −1

    −0.5

    0

    0.5

    1

    1.5

    2

    Coeficiente a1

    t (s)

    LPCValor real

    0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8

    −1

    −0.5

    0

    0.5

    1

    1.5

    2

    Coeficiente a6

    t (s)

    LPCValor real

    Figura 6: Resultados de LPC, tomando L = 512, para sonidos sordos.

    En la sección 3 se vio que, para la respuesta al impulso del filtro, los coeficientes LPCcoinciden con los reales. Si el tiempo entre impulsos es suficientemente largo, la señal sintéticapuede pensarse como un tren periódico de respuestas al impulso del filtro. Este es el caso dela señal generada con los coeficientes de la vocal A. La bondad de la estimación realizada conLPC depende del segmento de la respuesta al impulso que entre en la ventana, lo que explicala variación en la estimación de los diferentes bloques. Para evitar este problema, existenimplementaciones de LPC que determinan el peŕıodo de la señal y ubican los bloques en elsegmento de señal adecuado. Estas implementaciones se llaman LPC śıncrono.

    Para la vocal U los resultados empeoran notoriamente, como se puede ver en la figura9. Esto tampoco es casualidad. Si se observa en la figura 7 la forma de onda de la señalanalizada, se ve claramente que en este caso el tiempo entre impulsos es corto en relacióna la duración de la respuesta el impulso del filtro. Ya no puede suponerse que la señal esuna sucesión de respuestas al impulso del filtro, y por lo tanto los coeficientes estimados no

    12

  • 0 50 100 150 200 250 300 350 400 450 500

    −0.1

    −0.05

    0

    0.05

    0.1

    0.15

    0 50 100 150 200 250 300 350 400 450 500−0.25

    −0.2

    −0.15

    −0.1

    −0.05

    0

    0.05

    0.1

    0.15

    0.2

    0.25

    Figura 7: Segmento de la señal sintética para sonidos sonoros. A la derecha, con los coeficientesde la A y a la izquierda con los de la U.

    tienen porque coincidir con los reales. De hecho la principal limitante que tiene la aplicaciónde LPC al análisis de voz, es en casos de voces femeninas con pitch alto5.

    0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8

    −1

    −0.5

    0

    0.5

    1

    1.5

    2

    Coeficiente a1

    t (s)

    LPCValor real

    0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8

    −1

    −0.5

    0

    0.5

    1

    1.5

    2

    Coeficiente a6

    t (s)

    LPCValor real

    Figura 8: Resultados de LPC, con L = 512, para sonidos sonoros, coeficientes de la A.

    3.4.2. Señales no estacionarias

    Para estudiar el desempeño del algoritmo en el análisis de señales no estacionarias, segeneraron señales sintéticas con transiciones suaves entre distintos juegos de coeficientes. Enla figura 10 se ven los resultados para sonidos sonoros con L = 512. Puede observarse quepara el caso de las vocales O y U los resultados son peores. Los resultados para señales sordascon similares.

    Cabe mencionar que en aplicaciones con señales no estacionarias se pierde la propiedadde no estacionariedad con tamaños de bloque muy grandes. Esto limita el tamaño máximo

    5El pitch o altura es inversamente proporcional al peŕıodo de la señal de excitación.

    13

  • 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8

    −1

    −0.5

    0

    0.5

    1

    1.5

    2

    Coeficiente a1

    t (s)

    LPCValor real

    0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8

    −1

    −0.5

    0

    0.5

    1

    1.5

    2

    Coeficiente a6

    t (s)

    LPCValor real

    Figura 9: Resultados de LPC, con L = 512, para sonidos sonoros, coeficientes de la U.

    0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8

    −1

    −0.5

    0

    0.5

    1

    1.5

    2

    Coeficiente a1

    t (s)

    LPCValor real

    0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8

    −1

    −0.5

    0

    0.5

    1

    1.5

    2

    Coeficiente a6

    t (s)

    LPCValor real

    Figura 10: Seguimiento de los coeficientes con L = 512 para la secuencia de sonidos sonoroscon coeficientes de las vocales A-E-I-O-U-A-E-O-I.

    de bloque a la duración aproximada de un fonema.

    14

  • 4. LPC recursivo

    Las implementaciones usuales de LPC, calculan los coeficientes del filtro en ventanasque cubren la señal. Estas ventanas tienen un tamaño fijo L. Para minimizar la cantidadde ventanas (y por ende de opreraciones) los centros de ventanas adyacentes deben distar Lentre śı. En general, esta distancia es menor, existiendo muestras de la señal que son cubiertaspor dos ventanas. La razón de este solapamiento entre ventanas es la de darle a la secuenciade coeficientes mayor resolución temporal.

    En esta sección se desarrolla una implementación de LPC que actualiza los coeficientescon cada nueva muestra. Para esto se utilizan ventanas de L muestras, que se solapan enL − 1. Visto de otra forma puede pensarse como una ventana que se va deslizando sobre laseñal.

    Claramente este enfoque tiene la máxima resolución temporal alcanzable. Sin embargoes mucho más costoso computacionalmente. Una forma de reducir su costo computacional escalcular los coeficientes del filtro de forma recursiva basándose en el algoritmo RLS [5].

    4.1. Algoritmo

    Consideremos una señal sk con k = 0, . . . , N . En el instante k se determinarán los coe-ficientes del predictor lineal α1(k), . . . , αp(k) que minimicen el error cuadrático medio en laventana dada por las muestras sk−L+1, . . . , sk:

    ξk =1L

    k∑

    n=k−L+1e2n =

    1L

    k∑

    n=k−L+1

    sn+1 −

    p−1∑

    j=0

    αjsn−j

    2

    Siguiendo el método de la covarianza, wk = [α1(k), . . . , αp(k)]T vale

    wk = Φ−1k rk (3)

    donde Φk =∑k

    n=k−L+1 snsTn , rk =

    ∑kn=k−L+1 sn+1sn, definiendo sk = (sk, . . . , sk−p+1)

    T.La ecuación 3 no es otra cosa que la solución a un problema de mı́nimos cuadrados. El

    algoritmo RLS de ventana deslizante permite, si se cuenta con Φ−1k−1 y wk−1, calcular Φ−1k

    y wk de forma recursiva, evitando relizar la inversión de la matriz de correlación. En estecaso, la señal deseada dk = sk+1. Por lo tanto, las ecuaciones que deben realizarse en cadaiteración del algoritmo son las siguientes:

    gk =Φ−1k−1sk

    1+sTk Φ−1k−1sk

    g̃k =Φ̃−1k−1sk−L

    1−sTk−LΦ̃−1k sk−Lw̃k = wk−1 + gk(sk+1 −wTn−1sk) wk = w̃k − g̃k(sk+1−L − w̃Tn sk−L)

    Φ̃−1k = Φ−1k−1 − gksTk Φ−1k−1 Φ−1k = Φ̃−1k + g̃ksTk−LΦ̃−1k

    Las condiciones iniciales se determinan realizando el método de la covarianza en la primeraventana.

    4.2. Resultados

    Se estudiarán los resultados del algoritmo de LPC recursivo utilizando las mismas señalesque con LPC.

    15

  • 4.2.1. Señales estacionarias

    Sonidos sordos En la figura 11 se pueden apreciar los resultados para sonidos sordosestacionarios utilizando una ventana deslizante de tamaño L = 512 y L = 1024. Se ve quela estimación de los estados es menos ruidosa al aumentar el tamaño de la ventana. Comovimos en la sección 3, debido a que la señal es ergódica, a medida que crece el tamaño de laventana, menor es la varianza del error en la estimación.

    0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8

    −1

    −0.5

    0

    0.5

    1

    1.5

    2

    Coeficiente a1

    t (s)

    LPCValor real

    0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8

    −1

    −0.5

    0

    0.5

    1

    1.5

    2

    Coeficiente a1

    t (s)

    LPCValor real

    Figura 11: Resultados de RLPC, tomando L = 512 y L = 1024, para sonidos sordos.

    L A E I O U512 0.007699 0.008282 0.009175 0.007835 0.0095431024 0.001023 0.0008276 0.001294 0.0009489 0.00093562048 0.0004364 0.0005829 0.0006134 0.0003266 0.0004293

    Cuadro 1: Potencia del error en la estimación del primer coeficiente con RLPC para sonidossordos.

    En el cuadro 1 se pueden ver la potencia del error en la estimación del primer coeficientepara el caso sordo considerando varios juegos de coeficientes y distintos tamaños de ventana.Como era de esperarse se nota una mejora al aumentar el tamaño de ventana.

    Sonidos sonoros Los resultados para sonidos sonoros se muestran en la figura 12 utilizandouna señal sintetizada a partir de los coeficientes de la vocal A. En este caso el tren de impulsostiene un periodo de T = 160 muestras. Vemos como la aproximación en este caso es muchomejor que en el caso anterior de LPC. Si se pudiera estudiar la figura con mayor detalle, ellector veŕıa una componente de ruido pediódica.

    Esto se condice con lo dicho en la sección anterior: el error en la estimación dependede la posición de los impulsos dentro de la ventana. En la figura 13 se puede ver el erroren la estimación de los coeficientes comparado con la señal de exitación obtenida. Recordarque esta señal de excitación puede calcularse como el error en la predicción. Como era deesperarse esta señal es muy similar al tren de impulsos de entrada al filtro.

    16

  • 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8

    −1

    −0.5

    0

    0.5

    1

    1.5

    2

    Coeficiente a1

    t (s)

    RLPCValor real

    0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8

    −1

    −0.5

    0

    0.5

    1

    1.5

    2

    Coeficiente a6

    t (s)

    RLPCValor real

    Figura 12: Resultados de RLPC, tomando L = 512, para sonidos sonoros, utilizando loscoeficientes de la A.

    Se puede apreciar en esta figura la periodicidad en el error de estimación de los coefi-cientes. El peŕıodo de esta señal corresponde además con el peŕıodo de la señal de excitación.Este fenómeno se condice con lo explicado anteriormente para LPC. En el caso de señalesdetermińısticas, los coeficientes estimados por este método coinciden con los del filtro, siem-pre que la señal que se procese sea la respuesta al impulso del mismo filtro. En este caso, secuenta con la respuesta a un tren de impulsos. La bondad de la estimación depende de laubicación relativa entre los impulsos y la ventana.

    1000 1100 1200 1300 1400 1500 1600 1700 1800−0.01

    0

    0.01

    0.02

    0.03

    0.04

    0.05

    Error de estimaciónSeñal de excitación

    Figura 13: Error en la estimación de los coeficientes comparado con la señal de excitación.

    En los cuados 2 y 3 se puede ver la potencia del error en la estimación del coeficiente a1usando RLPC para diferentes vocales y son distintos tamaños de ventana deslizante.

    A diferencia del caso sordo, los resultados empeoran al considerar ventanas más grandes.Por otro lado hay una mejora considerable frente al aumento en el peŕıodo. Esto último sedebe a que al espaciarse los impulsos, hay menos solapamiento entre las respuestas adyacentes.

    17

  • L A E I O U512 0.0001364 2.785e-005 0.0001711 6.157e-005 8.829e-0051024 0.0001367 2.795e-005 0.0001713 6.166e-005 8.796e-0052048 0.0001368 2.802e-005 0.0001715 6.179e-005 8.796e-005

    Cuadro 2: Potencia del error en la estimación del primer coeficiente con RLPC. Caso sonorocon periodo de 160 muestras.

    L A E I O U512 1.92e-005 6.044e-006 2.133e-005 1.039e-005 9.642e-0061024 1.957e-005 6.26e-006 2.162e-005 1.089e-005 1.017e-0052048 1.968e-005 6.305e-006 2.172e-005 1.097e-005 1.026e-005

    Cuadro 3: Potencia del error en la estimación del primer coeficiente con RLPC. Caso sonorocon peŕıodo de 320 muestras.

    4.2.2. Señales no estacionarias

    Nuevamente se trabajará con señales sintéticas, cuyos coeficientes alternan de forma suaveentre los coeficientes correspondientes a las vocales.

    Sonidos sordos. La figura muestra los resultados en el seguimiento del primer coeficientepara la señal sintetizada utilizando ruido blanco como excitación. Las gráficas de la figuracorresponden a diferentes longitudes de ventana. A diferencia del caso estacionario, existe uncompromiso en el tamaño de la ventana considerada. A ventanas más grandes, menos ruidosaserá la estimación y menos error en las regiones constantes, pero mayor será su inercia frentea los cambios rápidos en los coeficientes.

    0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.81

    1.1

    1.2

    1.3

    1.4

    1.5

    1.6

    1.7

    1.8

    1.9

    2

    Coeficiente a1

    t (s)

    RLPCValor real

    0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.81

    1.1

    1.2

    1.3

    1.4

    1.5

    1.6

    1.7

    1.8

    1.9

    2

    Coeficiente a1

    t (s)

    RLPCValor real

    0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.81

    1.1

    1.2

    1.3

    1.4

    1.5

    1.6

    1.7

    1.8

    1.9

    2

    Coeficiente a1

    t (s)

    RLPCValor real

    Figura 14: Resultados de RLPC, tomando L = 512, L = 1024 y L = 2048, para sonidossordos, con coeficientes de las vocales A-E-I-O-U-A-E-O-I.

    Sonidos sonoros. Los resultados obtenidos considerando L = 512 se pueden observar enla figura 15. Se puede ver que los resultados son muy buenos, considerando los obtenidosanteriormente con LPC.

    En la figura 16 se muestran los resultados para la misma señal, usando esta vez unaventana de longitud L = 2048. Hay un deterioro en los resultados fruto de que frente a un

    18

  • 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8

    −1

    −0.5

    0

    0.5

    1

    1.5

    2

    Coeficiente a1

    t (s)

    RLPCValor real

    0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8

    −1

    −0.5

    0

    0.5

    1

    1.5

    2

    Coeficiente a6

    t (s)

    RLPCValor real

    Figura 15: Resultados de RLPC, tomando L = 512, para sonidos sonoros, con coeficientes delas vocales A-E-I-O-U-A-E-O-I.

    tamaño de ventana grande, la hipótesis de estacionariedad local deja de cumplirse. Esto esnotorio en las transiciones entre coeficientes. El resultado del análisis en estas regiones es unpromediado de los valores que entran en la ventana.

    0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8

    −1

    −0.5

    0

    0.5

    1

    1.5

    2

    Coeficiente a1

    t (s)

    RLPCValor real

    0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8

    −1

    −0.5

    0

    0.5

    1

    1.5

    2

    Coeficiente a6

    t (s)

    RLPCValor real

    Figura 16: Resultados de RLPC, tomando L = 2048, para sonidos sonoros, con coeficientesde las vocales A-E-I-O-U-A-E-O-I.

    19

  • 5. Kalman con suavizado

    5.1. Modelo en variables de estado

    En esta sección se presenta un algoritmo de análisis de la señal de voz basado en el enfoquepropuesto en [7] y [8]. En éste se modela la señal de voz sk con k = 1, . . . , N mediante unmodelo en variables de estado dado por,

    wk+1 = Φwk + uk k = 1, 2, . . . , N

    sk = Hkwk + vk k = 1, 2, . . . , N

    donde wk = (α(k)1 , . . . , α

    (k)p )T son los coeficientes del filtro, la matriz de observación Hk =

    (sk−1, . . . , sk−p) es una matriz fila con las muestras pasadas de la señal, uk y vk son procesosde ruido blanco gaussiano con matriz de autocorrelación Q y potencia R respectivamente.La matriz de transición de estados Φ se toma igual a la identidad. El cambio del estado entreiteraciones sucesivas queda dado por el proceso uk.

    5.2. Resultados

    Se muestran en esta sección los resultados del filtro de Kalman aplicado en los casosestacionario y no estacionario, para sonidos sordos y sonoros. Se usarán señales sintéticaspara poder evaluar el desempeño.

    5.2.1. Señales estacionarias

    Sonidos sordos. Se puede ver en la figura 17 el resultado en la estimación del primercoeficiente con Q = 5 · 10−5I y Q = 5 · 10−3I. Se observa que al aumentar el valor de lapotencia del proceso uk se permite una mayor variación en el estado y por lo tanto, para elcaso estacionario, la estimación es más ruidosa.

    0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8

    −1

    −0.5

    0

    0.5

    1

    1.5

    2

    Coeficiente a1

    t (s)

    KalmanValor real

    0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8

    −1

    −0.5

    0

    0.5

    1

    1.5

    2

    Coeficiente a1

    t (s)

    KalmanValor real

    Figura 17: Resultados del filtro de Kalman, tomando Q = 5 · 10−5I y Q = 5 · 10−3I, parasonidos sordos generados con los coeficientes de la vocal A.

    20

  • Sonidos sonoros. En la figura 18 se pueden ver los resultados para señales sonoras usandoQ = 0,5I y Q = 5 · 10−3I. Como era de esperar, existe mayor variación en el valor delcoeficiente estimado para el Q mayor. Además, como en el caso de LPC recursivo, se ve queel error en la estimación es periódico.

    Esto puede comprobarse en la figura 19, en la que se comparan el error en la estimacióndel coeficiente con la señal de excitación estimada.

    0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.81

    1.1

    1.2

    1.3

    1.4

    1.5

    1.6

    1.7

    1.8

    1.9

    2

    Coeficiente a1

    t (s)

    KalmanValor real

    0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.81

    1.1

    1.2

    1.3

    1.4

    1.5

    1.6

    1.7

    1.8

    1.9

    2

    Coeficiente a1

    t (s)

    KalmanValor real

    Figura 18: Resultados del filtro de Kalman, tomando Q = 0,5I y Q = 5 · 10−3I, para sonidossonoros generados con los coeficientes de la vocal A.

    6000 6100 6200 6300 6400 6500

    0

    0.01

    0.02

    0.03

    0.04

    0.05 Error en la estimaciónSeñal de excitación

    9000 9200 9400 9600 9800 10000 10200 10400 10600

    0

    0.01

    0.02

    0.03

    0.04

    0.05Error en la estimaciónSeñal de excitación

    Figura 19: Comparación entre el error en la estimación y la señal de excitación, tomandoQ = 0,5I, para sonidos sonoros generados con los coeficientes de la vocal A periodo 160 y320.

    Al igual que para RLPC, el valor estimado tiene variaciones bruscas que coinciden con lospicos del error en la predicción. Esto es fácil de interpretar teniendo en cuenta la dinámicadel filtro de Kalman, dado que la corrección realizada sobre el estado es proporcional al erroren la predicción. En la misma figura puede observarse que al aumentar el peŕıodo del tren deimpulsos disminuye el error en exceso de la estimación.

    21

  • 5.2.2. Señales no estacionarias

    Sonidos sordos. Los resultados del seguimiento de los parámetros se ven en la figura 20utilizando diferentes valores para el parámetro Q. En el caso de señales no estacionarias (quees el caso de las señales reales) existe un compromiso en el ajuste del valor de Q, entre elruido en la estimación y la capacidad de seguir varianciones en los coeficientes.

    Este compromiso es similar al que hay en el caso de LPC recursivo con el tamaño de laventana deslizante: cuanto más grande la ventana, menos ruidosa la estimación, pero peorserá la respuesta ante cambios en los coeficientes del filtro.

    0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.81

    1.1

    1.2

    1.3

    1.4

    1.5

    1.6

    1.7

    1.8

    1.9

    2

    Coeficiente a1

    t (s)

    KalmanValor real

    0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.81

    1.1

    1.2

    1.3

    1.4

    1.5

    1.6

    1.7

    1.8

    1.9

    2

    Coeficiente a1

    t (s)

    KalmanValor real

    0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.81

    1.1

    1.2

    1.3

    1.4

    1.5

    1.6

    1.7

    1.8

    1.9

    2

    Coeficiente a1

    t (s)

    KalmanValor real

    Figura 20: Resultados del filtro de Kalman, tomando Q = 0,005I, Q = 0,0005I y Q = 5·10−5Ipara sonidos sordos generados con coeficientes de las vocales A-E-I-O-U-A-E-O-I.

    Sonidos sonoros. Los resultados para sonidos sonoros se muestran en la figura 21. Sepuede verificar el mismo compromiso sobre el parámetro Q.

    0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.81

    1.1

    1.2

    1.3

    1.4

    1.5

    1.6

    1.7

    1.8

    1.9

    2

    Coeficiente a1

    t (s)

    KalmanValor real

    0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.81

    1.1

    1.2

    1.3

    1.4

    1.5

    1.6

    1.7

    1.8

    1.9

    2

    Coeficiente a1

    t (s)

    KalmanValor real

    0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.81

    1.1

    1.2

    1.3

    1.4

    1.5

    1.6

    1.7

    1.8

    1.9

    2

    Coeficiente a1

    t (s)

    KalmanValor real

    Figura 21: Resultados del filtro de Kalman, tomando Q = 0,5I, Q = 0,05I y Q = 0,005I parasonidos sonoros generados con coeficientes de las vocales A-E-I-O-U-A-E-O-I y peŕıodo 160.

    De acuerdo a las observaciones realizadas, puede concluirse que este método no presentauna solución aceptable en el caso no estacionario, que es en definitiva el que interesa. Además,los valores apropiados para el parámetro Q difieren mucho entre sonidos sordos y sonoros.

    En la ĺınea del enfoque propuesto por [7] y [8], en las siguientes secciones se agrega a estasolución un suavizado, que toma en cuenta la información de toda la señal.

    5.3. Suavizado de Rauch

    Sean xk y yk procesos generados según el siguiente modelo en variables de estado.

    22

  • xk+1 = Φ(k + 1, k)xk + wk

    yk = Mkxk + vk(4)

    Los procesos wk y vk son procesos con caracteŕısticas de ruido blanco gaussiano, conmatrices de autocorrelación Qk y Rk respectivamente. Se supone que el proceso yk (observa-ciones) es conocido, y desea estimarse xk. Sea x̃k|N el estimado de xk dadas las observacionesyk con k = 0, . . . , N . Según la relación entre k y N pueden distinguirse los siguientes prob-lemas:

    k = N Se conoce como problema de filtrado. Se considera que el proceso yk se filtra obteniéndoseel proceso xk.

    k > N Problema de predicción. Se desea estimar un estado correspondiente a un instantefuturo, considerando a N como el instante actual.

    k 6 N Problema de suavizado. Se desea estimar el valor de un estado pasado.

    En [6], Kalman resuelve los problemas de filtrado y predicción, pero no brinda una soluciónal problema de suavizado. En [10] y [11] Rauch propone una recursión hacia atrás a partir delos estados estimados mediante el filtro de Kalman que soluciona el problema de suavizado.

    5.3.1. Deducción del algoritmo de suavizado

    Antes de calcular los estimados es necesario establecer el criterio según el cual se con-sidera buena una estimación. Los estimados serán aquellos que maximicen la función deverosimilitud marginal dada por

    L(xk,y0, . . . ,yN ) = log p(xk|y0, . . . ,yN )En otras palabras, aquellos que sean más probables dadas las observaciones disponibles.Sean xk|N y xk+1|N los estimados de los estados k y k + 1 que maximizan sus respectivas

    funciones de verosimilitud marginal. Puede probarse que también son máximos de la funciónde verosimilitud conjunta

    L(xk,xk+1,YN ) = log p(xk,xk+1|YN )donde YN = (y0, . . . ,yN ). Por lo tanto, maximizando la función de verosimilitud conjunta

    puede hallarse una relación de recurrencia entre estimados sucesivos. Por la propia definiciónde probabilidad condicional,

    log p(xk,xk+1|YN ) = log p(xk,xk+1,YN )− log p(YN )El último término en la relación anterior es constante, y por lo tanto maximizar la

    verosimilitud conjunta equivale a maximizar p(xk,xk+1,YN ). Desarrolando un poco estetérmino puede expresarse en una forma que resulte más fácil de maximizar:

    p(xk,xk+1,YN ) = p(xk,xk+1,yk+1, . . . ,yN |Yk)p(Yk)= p(xk+1,yk+1, . . . ,yN |xk,Yk)p(xk|Yk)p(Yk)

    23

  • Puede descartarse el término p(Yk) debido a que no depende de los estimados. Ademásp(xk+1,yk+1, . . . ,yk|xk,Yk) = p(xk+1,yk+1, . . . ,yk|xk), ya que los procesos uk y vk sonindependientes para instantes de tiempo distintos. Por otro lado,

    p(xk+1,yk+1, . . . ,yN |xk,Yk)p(xk|Yk) = p(yk+1, . . . ,yN |xk,xk+1)p(xk+1|xk)p(xk|Yk)= p(yk+1, . . . ,yN |xk+1)p(xk+1|xk)p(xk|Yk) (5)

    El último paso se debe a que dado el valor de xk+1 las observaciones siguientes sonindependientes del valor del estado en el instante k.

    La expresión 5 se maximiza entonces para el mismo argumento que la función de verosimil-itud conjunta. Se supondrá que se cuenta con la solución al problema del filtrado xk|k y Pk|k,la matriz de covarianza del error en la estimación. Se supondrá además que se conoce elvalor del estimado en k + 1, xk+1|N . Entonces xk|Yk ∼ N(xk|k,Pk|k), de igual maneraxk+1|xk ∼ N(Φ(k + 1, k)xk,Qk+1), y por lo tanto pueden calcularse anaĺıticamente los dosúltimos términos de 5, que son los únicos que dependen de xk. Maximizando 5 con respectoa xk se obtiene la siguiente relación:

    xk|N = xk|k + Ck[xk+1|N −Φ(k + 1, k)xk|k]

    Ck = Pk|kΦ(k + 1,k)TP−1k+1|k

    (6)

    La recursión 6 permite calcular el valor de xk|N a partir del resultado del filtrado deKalman xk|k, la matriz de covarianza del error en la estimación Pk|k, la matriz de covarian-za del error en la proyección del filtrado de Kalman Pk+1|k y el valor de xk+1|N . Los tresprimeros se obtienen como resultado del filtrado de Kalman.

    Este método presenta la ventaja de utilizar toda la información dada por las observaciones,y por lo tanto será menor la potencia del error en la estimación. Sin embargo tiene comodesventajas el no ser causal y la necesidad de almacenar las matrices del error en la estimacióndel filtrado de Kalman.6

    5.4. Resultados

    5.4.1. Señales estacionarias

    Sonidos sordos. Los resultados para sonidos sordos pueden verse en la figura 22, paradistintos valores de Q. Se nota al igual que antes un deterioro en la estimación al crecer lapotencia del ruido en los estados.

    Q Kalman Rauch5 · 10−3 0.0057 0.00435 · 10−4 0.0016 0.00115 · 10−5 3.7150e-004 5.0658e-005

    Cuadro 4: Potencia del error en la estimación del primer coeficiente con Kalman con y sinsuavizado de Rauch. Sonidos sordos con coeficientes de la vocal A.

    6En el art́ıculo se propone una recursión hacia atrás que permite calcular Pk|k a partir de Pk+1|k+1. Sinembargo, al implementar esta recursión, se observó que no es numéricamente estable.

    24

  • Interesa contrastar estos resultados con la salida del filtro de Kalman sin suavizado. Enel cuadro 4 se da una comparación cuantitativa. Se comprueba que en este caso existe unamejoŕıa gracias al suavizado de Rauch, para los tres casos considerados.

    0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.81

    1.1

    1.2

    1.3

    1.4

    1.5

    1.6

    1.7

    1.8

    1.9

    2

    Coeficiente a1

    t (s)

    Kalman−RauchValor real

    0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.81

    1.1

    1.2

    1.3

    1.4

    1.5

    1.6

    1.7

    1.8

    1.9

    2

    Coeficiente a1

    t (s)

    Kalman−RauchValor real

    0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.81

    1.1

    1.2

    1.3

    1.4

    1.5

    1.6

    1.7

    1.8

    1.9

    2

    Coeficiente a1

    t (s)

    Kalman−RauchValor real

    Figura 22: Resultados del suavizado de Rauch, tomando Q = 5 · 10−3I, Q = 5 · 10−4I yQ = 5 · 10−5I, para sonidos sordos generados con los coeficientes de la vocal A.

    Sonidos sonoros. En la figura 23 se comparan los resultados del filtro de Kalman cony sin suavizado para sonidos sonoros. Es notorio el efecto del suavizado sobre todo en losresultados correspondientes a Q = 0,5I.

    0.32 0.325 0.33 0.335 0.34 0.345 0.35 0.355 0.361.5

    1.52

    1.54

    1.56

    1.58

    1.6

    1.62

    1.64

    1.66

    1.68

    1.7

    Coeficiente a1

    t (s)

    Kalman−RauchValor realKalman

    0.32 0.325 0.33 0.335 0.34 0.345 0.35 0.355 0.361.5

    1.52

    1.54

    1.56

    1.58

    1.6

    1.62

    1.64

    1.66

    1.68

    1.7

    Coeficiente a1

    t (s)

    Kalman−RauchValor realKalman

    Figura 23: Resultados del filtro de Kalman con y sin suavizado, tomando Q = 0,5I y Q =5 · 10−3I, para sonidos sonoros generados con los coeficientes de la vocal A.

    5.4.2. Señales no estacionarias

    Sonidos sordos. Los resultados del suavizado de Rauch en el caso no estacionario sepueden ver en la figura 24 para sonidos sordos. En el cuadro 5 se comparan estos resultadoscon el filtro de Kalman sin suavizado.

    Del análisis de estos resultados se puede concluir que si bien existe una mejoŕıa dada porel suavizado de Rauch, al menos en el caso sordo, la mejora no es sustancial. Los coeficientes

    25

  • Q Kalman Rauch5 · 10−3 0.0146 0.01155 · 10−4 0.00792 0.002865 · 10−5 0.0164 0.0112

    Cuadro 5: Potencia del error en la estimación del primer coeficiente con Kalman con y sinsuavizado de Rauch. Sonidos sordos con coeficientes de las vocales A-E-I-O-U-A-E-O-I.

    0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.81

    1.1

    1.2

    1.3

    1.4

    1.5

    1.6

    1.7

    1.8

    1.9

    2

    Coeficiente a1

    t (s)

    Kalman−RauchValor real

    0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.81

    1.1

    1.2

    1.3

    1.4

    1.5

    1.6

    1.7

    1.8

    1.9

    2

    Coeficiente a1

    t (s)

    Kalman−RauchValor real

    0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.81

    1.1

    1.2

    1.3

    1.4

    1.5

    1.6

    1.7

    1.8

    1.9

    2

    Coeficiente a1

    t (s)

    Kalman−RauchValor real

    Figura 24: Resultados del filtro de Kalman con suavizado de Rauch, tomando Q = 0,005I,Q = 0,0005I y Q = 5 · 10−5I para sonidos sordos generados con coeficientes de las vocalesA-E-I-O-U-A-E-O-I.

    suavizados tienen menos varianza con respecto a la media, pero el recorrido que sigue lamedia practicamente no cambia al usar el algoritmo de Rauch.

    Sonidos sonoros. El resultado del seguimiento de los parámetros del filtro en sonidossonoros se puede observar en la figura 25. En estas gráficas se comparan para un valor dadode Q los resultados obtenidos usando suavizado y sin usarlo.

    Al igual que en el caso sordo, existe una mejora al usar el suavizado en lo que respectaa la continuidad de la secuencia de coeficientes. Sin embargo también tiene un efecto depromediado que en algunos casos causa un error mayor en la estimación.

    0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.81.4

    1.5

    1.6

    1.7

    1.8

    1.9

    2

    Coeficiente a1

    t (s)

    Kalman−RauchValor realKalman

    0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.81.4

    1.5

    1.6

    1.7

    1.8

    1.9

    2

    Coeficiente a1

    t (s)

    Kalman−RauchValor realKalman

    0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.81.4

    1.5

    1.6

    1.7

    1.8

    1.9

    2

    Coeficiente a1

    t (s)

    Kalman−RauchValor realKalman

    Figura 25: Comparación de los resultados del filtro de Kalman con y sin suavizado de Rauch,tomando Q = 0,5I, Q = 0,05I y Q = 0,005I para sonidos sonoros generados con coeficientesde las vocales A-E-I-O-U-A-E-O-I y peŕıodo 160.

    Esto es notorio en el tercer coeficiente, que corresponde a la vocal I (figura 26). El co-

    26

  • eficiente anterior tiene un valor similar y el siguiente decrece considerablemente. Al aplicarel suavizado de Rauch los valores estimados para el tercer coeficiente son en realidad unatransición suave entre el segundo y el cuarto.

    Esto no es simpre aśı, como se puede ver en la gráfica de la derecha. En este caso, si bienhay grandes cambios entre coeficientes adyacentes la aproximaćıón de Rauch es mejor.

    0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95

    1.55

    1.6

    1.65

    1.7

    1.75

    1.8

    1.85

    1.9

    Coeficiente a1

    t (s)

    Kalman−RauchValor realKalman

    1 1.1 1.2 1.3 1.4 1.5

    1.55

    1.6

    1.65

    1.7

    1.75

    1.8

    1.85

    Coeficiente a1

    t (s)

    Kalman−RauchValor realKalman

    Figura 26: Comparación entre resultados con y sin suavizado, tomando Q = 0,5I (detalle).

    27

  • 6. Comparación y conclusiones

    En esta sección se compararán los mejores rendimientos obtenidos con cada uno de losfiltros en los cuatro casos considerados a lo largo del trabajo: estacionario sordo y sonoro, y noestacionario sordo y sonoro. Se trabajará con señales sintéticas para evaluar el rendimiento.

    Finalmente se estudiará el funcionamiento del algoritmo con algunas secuencias reales.Para evaluar el desempeño en este caso se comparará la respuesta en frecuencia del filtroestimado con el resultado de análisis espectrales de la señal de voz.

    6.1. Rendimiento con señales sintéticas

    La tabla 6 resume los resultados obtenidos. En cada caso se consideraron los parámetrosque dan un mejor desempeño de acuerdo a la discución anterior. Para aplicaciones de estosfiltros a señales de voz reales, el desempeño en el caso estacionario no es de interés. Sinembargo se incluye en la tabla porque da luz sobre la naturaleza de los filtros utilizados.

    Puede observarse que el filtro de Kalman, en sus dos variantes, da muy buenos resultadosen el caso estacionario. Sin embargo su desempeño decrece mucho al considerar procesos vari-antes en el tiempo. Este comportamiento no debe sorprender, dado que este filtro está basadoen un modelo en variables de estado invariante en el tiempo. La matriz de transición de es-tados es la identidad, asumiendo que el estado permanece constante.

    El suavizado de Rauch es un proceso no causal, que utiliza información del total de laseñal. En este sentido, al considerar muestras futuras, puede ayudar a un mejor seguimientode las transiciones. También fue visto en la sección 5 que en algunas ocasiones esta propiedadjuega en contra.

    E-Sordo E-Sonoro NE-Sordo NE-SonoroLPC 9.898e-3 9.288e-3 0.01638 0.01333RLPC 5.325e-4 1.368e-4 0.001866 1.208e-4Kalman 3.715e-4 0.001471 0.00792 0.003801Kalman-R 5.066e-5 1.441e-4 0.00286 0.001022

    Cuadro 6: Potencia del error en la estimación del primer coeficiente. Comparación de losmejores rendimientos obtenidos con cada algoritmo.

    De los algoritmos considerados, LPC recursivo da los mejores resultados, no sólo porlos valores del error cuadrático medio en la estimación, sino porque es mucho más establecon respecto a la elección del parámetro. El parámetro además tiene una interpretaciónmás intuitiva que permite, conociendo algunas caracteŕısticas de la señal, elejir un valor delparámetro que sea razonable.

    6.2. Rendimiento con señales reales

    Habiendo estimado los coeficientes del filtro del tracto bucal H(z), pueden estimarse laforma del espectro de la señal de voz para ambos casos: sonidos sordos y sonoros.

    Sonidos sordos. Al excitar al filtro con ruido blanco, se obtiene un proceso cuyo expectroes un múltiplo de |H(jω)|2.

    Sonidos sonoros. La señal de excitación en este caso puede asumirse como un tren deimpulsos. El espectro de la señal generada corresponde a la multiplicación de |H(jω)|por un tren de impulsos en frecuencias multiplos del pitch.

    28

  • En ambos casos, podemos estimar la respuesta en frecuencia del filtro en un determinadoinstante de tiempo a partir de la señal, calculando la transformada discreta de Fourier de losdatos en un entorno local.

    En la figura 27 se pueden ver la respuesta en frecuencia |H(jw)| estimada con los filtrosRLPC, Kalman y Kalman-Rauch, comparada con la transformada discreta de un intervalode 1024 datos centrado en la muestra a considerar.

    0 2000 4000 6000 8000 10000−50

    −40

    −30

    −20

    −10

    0

    10

    20

    30

    40

    50

    f(Hz)

    dB

    Comparación en t = 0.99773

    fftkalman rkalmanrlpc

    0 2000 4000 6000 8000 10000−50

    −40

    −30

    −20

    −10

    0

    10

    20

    30

    40

    50

    f(Hz)

    dB

    Comparación en t = 1.2245

    fftkalman rkalmanrlpc

    0 2000 4000 6000 8000 10000−50

    −40

    −30

    −20

    −10

    0

    10

    20

    30

    40

    50

    f(Hz)

    dB

    Comparación en t = 1.678

    fftkalman rkalmanrlpc

    0 2000 4000 6000 8000 10000−50

    −40

    −30

    −20

    −10

    0

    10

    20

    30

    40

    50

    f(Hz)

    dB

    Comparación en t = 1.9048

    fftkalman rkalmanrlpc

    Figura 27: Resultados para señales reales.

    Al trabajar con señales reales es más dif́ıcil comparar en desempeño de los tres filtros.Probablemente los criterios pasen más por el tipo de aplicación a desarrollarse. Muchas aplica-ciones de reconocimiento de voz trabajan estimando los máximos de la respuesta en frecuenciade tracto bucal (frecuencias de resonancia). Estas frecuencias son llamadas formantes.

    En el caso de que esta fuera la aplicación, los mejores resultados parecen obtenerse conalguno de los filtros de Kalman, tanto por la ubicación de las formantes, como por sus anchosde banda7.

    Por otro lado, como vimos en las secciones anteriores, el filtro de Kalman posee unamayor inercia frente a las transiciones en la señal que el de LPC recursivo, además de sermás constoso computacionalmente. La gran desventaja del suavizado de Rauch es que parapoder usarse tiene que conocerse la totalidad de la señal.

    7Concepto análogo al factor de calidad de un resonador.

    29

  • A. Código

    Algoritmo LPC

    % [X,exc] = lpcFixedFrame(s,p,nwindow,folapp)%% LPC de ventana fija con solapamiento.%% -> s :: se\~{n}al% -> p :: orden del filtro% -> nwindow :: tama\~{n}o de ventana% -> folapp :: porcentaje de solapamiento% n :: orden del filtro% -> L :: tama\~{n}o de ventana% -> P :: matriz de error inicial% -> w :: coeficientes iniciales

    30

  • % p :: orden del modelo

    31

  • % -> Q :: covarianza del ruido de evoluci\’{o}n de estados% -> R :: desviaci\’{o}n est\’{a}ndar del ruido de observaci\’{o}n% -> phi :: matriz de transici\’{o}n de estados% -> xm :: proyecci\’{o}n del primer estado% -> Pm :: proyecci\’{o}n de la primer covarianza del error% -> fg :: matriz de datos faltantes%

  • Pms(:,:,mod(k,nmat)) = Pm;else

    Ps(:,:,nmat) = P;Pms(:,:,nmat) = Pm;

    end

    % las matrices de error se guardan para el suvizado de rauchif (mod(k,nmat) == 0)|(k == N),

    narchivo = [’matrices\PPm’ num2str(ceil(k/nmat)) ’.mat’];save(narchivo,’Ps’,’Pms’);Ps = zeros(p,p,nmat);Pms = zeros(p,p,nmat);

    end

    end

    Algoritmo de suavizado de Rauch

    % [Xs, exc, logDP] = smoothSpeech(X)%% Filtro de suavizado recursivo hacia atr\’{a}s, que usa el% resultado del filtro de Kalman para el an\’{a}lisis de la voz.% Propuesto por Rauch, Tung Y Streibel.%% -> X :: resultado del filtro de Kalman%

  • narchivo = [’matrices\PPm’ num2str(k/nmat) ’.mat’];load(narchivo);

    P = Ps(:,:,nmat);Pm = Pms(:,:,nmat);

    elseP = Ps(:,:,mod(k,nmat));Pm = Pms(:,:,mod(k,nmat));

    end

    C = P*inv(phi)*inv(Pm);

    Xs(:,k) = X(:,k) + C*(Xs(:,k + 1) - phi*X(:,k));

    Psu = P + C*(Psu - Pm)*C’;

    lDP(k) = log(det(Psu));

    end

    Referencias

    [1] John Makhoul. Linear prediction: A tutorial review. In Proceedings of the IEEE, vol-ume 63, pages 561–580. IEEE, April 1975.

    [2] Peter Kabal. Adaptive linear prediction in speech coding. In Preprints IFAC/IFORSSymp. Identification, System Parameter Estimation, pages 203–207, 1991.

    [3] L.R. Rabiner, R.W. Schafer. Digital Processing of Speech Signals. Prentice Hall, 1978.

    [4] Florian Keiler, Daniel Arfib, Udo Zoelzer. Efficient linear prediction for digital audioeffects. In Proceedings of the COST G-6 Conference on Digital Audio Effects (DAFX-00), December 2000.

    [5] Monson H. Hayes. Statistical Digital Signal Processing and Modelling. John Wiley &Sons, INC., 1966.

    [6] Kalman, R.E. A new approach to linear filtering and prediction problems. Transactionsof the ASME Journal of Basic Engineering, 82:35–45, 1960.

    [7] John G. McKenna, Stephen Isard. Tailoring kalman filtering towards speaker character-isation. September 1999.

    [8] John G. McKenna. Automatic glottal closed-phase location and analysis by kalmanfiltering. August 2001.

    [9] A. E. Rosenberg. Effect of glottal pulse shape on the quality of natural vowels. Journalof Acoustic Society of America, 43(4):583–590, 1971.

    [10] H. E. Rauch, F. Tung, C. T. Streibel. Maximum likelihood estimates of linear dynamicsystems. AIAA Journal, 3:1445–1450, August 1965.

    [11] H. E. Rauch. Solutions to the linear smoothing problem. IEEE Transactions on Auto-matic Control, pages 371–372, 1963.

    34