Sie sind auf Seite 1von 10

6.8.

1 Predicción lineal (Filtro todo polo)

El modelo de filtro “todo polos” es el más utilizado y el análisis de auto recursividad de la


señal es la herramienta para hallar los coeficientes del filtro en cuestión. La funcionalidad
matemática que da como resultado los coeficientes del filtro, es una relación matricial que
se obtiene al realizar la predicción lineal de las muestras de las señales, con lo cual se
obtienen los coeficientes de predicción lineal (LPC), también llamados parámetros LPC,
que no son otra cosa que los coeficientes del filtro “todo polos” buscado.

El cálculo de parámetros LPC es un procedimiento que se realiza en el dominio del tiempo,


y está basado en la consideración de que el término enésimo s(n) de una secuencia, puede
ser estimado a partir de los términos anteriores, considerando la sumatoria de los mismos
con un peso asociado a cada uno de ellos. ŝ(n) es el término estimado de la secuencia. Este
modelo es llamado de predicción lineal (LPC) o auto recursivo (AR) [D. G. Childers,
2000].

ŝ(n) =  (a1 s(n  1)  a 2 s (n  2)  ...  a p s(n  p)) (8)

p
ŝ(n) =   ak s(n  k ) (9)
k 1

El conjunto de los términos a k , son los coeficientes de predicción a p

s(n) Z Z Z Z
s(n-p)

a1 X a2 X a3 X ap X

ŝ(n)

Figura 6.6. Cálculo del término ŝ(n)

Note que con este modelo se está prediciendo un dato de valor real en el tiempo n, usando
los valores de los pesos de los valores anteriores, esto de forma gráfica puede ser
representado tal cual se muestra en la figura 6.6. Por lo tanto, en su forma más simple, es
válido afirmar que se puede diseñar un filtro que puede estimar el dato en el tiempo n
usando solamente el dato anterior en n – 1, por lo que:
ŝ(n) =  ae s(n  1) (10)

Donde a e es el parámetro estimado y s(n) y ŝ(n) son secuencias discretas


El error entre ambas secuencias puede ser determinado por:

e(n) = s(n) – ŝ(n) = s(n) + a e s(n-1) (11)

Minimizando el error cuadrático, la diferencia del cuadrado entre el elemento real de la


secuencia y el predecido. Este método se conoce como el método de los mínimos
cuadrados.

Así para un segmento de N muestras:


N 1 N 1
ET2 =  e 2 ( n) =
n 0
 ( s(n)  ŝ(n))2
n 0

N 1
=  (s(n)  a s(n  k ))
n 0
e
2
12)

Para obtener el coeficiente a e la condición es que la derivada parcial del error con respecto
a a k sea igual a cero (0), lo que nos lleva a tener a e como una relación de los valores de
autocorrelación de las muestras o función s(n). De ahí la necesidad de realizar el cálculo de
los coeficientes de autocorrelación de s(n) para ser utilizados en el cálculo de los
coeficientes de predicción.

Desarrollando esa derivación tenemos:

N 1
dET2
 0  2 ( s(n)  ae s(n  1)) s(n  1) 13)
dae n 0

Manipulando y expresando el parámetro estimado a e en términos de autocorrelación, para


lo cual se introduce el término 1/N:

N 1
1

N
 s(n)s(n  1) Css(1)
ae  N 1
n 0
 14)
1
 s(n  1)s(n  1)
Css(0)
N n 0

Para generalizar los resultados para los p coeficientes de a e , es necesario primero tener en
cuenta que (11) y (13) nos muestran que el resultado del error es ortogonal al dato:
x(n)

e(n) = x(n) + aex(n-1)

-aex(n-1)

Figura 6.7. Ortogonalidad entre los datos y el error.

Realicemos el trabajo de una forma más general, para lo cual tendremos en cuenta a (8) y
(9), para hacer la predicción lineal para un modelo de pa e coeficientes y p valores
anteriores de datos con respecto al tiempo n.

Hagamos la modelación considerando el modelo auto recursivo (AR), para lo cual


retomando (9):

p
ŝ(n) =   ak s(n  k ) (15)
k 1
Tal que:
p
s(n) =   a k s(n  k )  e(n)  ŝ(n)+e(n) (16)
k 1

ŝ(n)

n-p n-p-1 n-3 n-2 n-1 n

Figura 6.8. Modelo de predicción lineal.


Para mostrar el modelo AR, se necesita trabajar en el dominio de la transformada z, así
transformando (16) tenemos:

 p 
S ( z )   ak z k  S ( z )  E ( z )  Ŝ(z) + E(z) (17)
 k 1 

Lo cual puede ser expresado como:

E( z) E( z)
S(z)   (18)
 p
 A( z )
1   a k z  k 
 k 1 
donde,
p
A( z )  1   ak z k - (19)
k 1

La expresión (16) se realiza como un filtro AR tipo hacia delante (forward), según
mostramos a continuación:
e(n) s(n)
E(z) S(z)
+

ŝ(n)
Ŝ(z)

Figura 6.9. Filtro AR.

El error cuadrático total para este intervalo es:

2
N 1 N 1
 p N 1

ET2=  e ( n) =  ( s (n)  ŝ(n))    s (n)   a k s (n  k ) 
2 2
(20)
n 0 n 0 n 0  k 1 
Donde s(n) son los datos ventaneados.

La minimización se realiza igualando la derivada del error a cero:

dET2
 0 , para k = 1, 2,…, p (21)
dak

Manipulando y multiplicando por s(n-i) a ambos lados:


p N 1 N 1

 ak  s(n  k )s(n  i)   s(n)s(n  i) , para i = 1, 2,…, p


k 1 n 0 n 0
(22)

Si ponemos los términos de sumatoria de multiplicaciones de muestras en funciones de


autocorrelación, tenemos:

 a Css(i  k )  Css(i) ,
k 1
k i = 1, 2,…, p (23)

Donde:

N 1 k
1
Css(k ) 
N
 s ( n) s ( n  k )
n 0
(24)

El término 1/N, no mencionado con anterioridad, es el factor de escala de la autocorrelación


parcial, lo cual hace que la misma sea una serie positiva definida, lo cual es una garantía
para la estabilidad del cálculo de los coeficientes LPC.

La ecuación (23) representa un conjunto de ecuaciones de orden p, las cuales pueden ser
resueltas usando técnicas matriciales:

 Css(0) Css(1)  Css(( p  1))   a1   Css(1) 


 Css(1)  a   Css(2) 
 Css(0)  Css(( p  2))   2 
   (25)
          
    
 Css( p  1) Css( p  1)  Css(0)  a p  Css( p)

Los argumentos de los coeficientes de autocorrelación son reales y pares, por lo que los
términos arriba y debajo de la diagonal son reemplazados por términos con argumentos
positivos. Ej. Css(-1) = Css(1). El resultado es una matriz simétrica tipo Toeplitz.

Una ecuación adicional para el cálculo de a k en función del error cuadrático total, error de
predicción, puede ser escrita:

p
ET2  Css(0)a0   ak Css(k ) (26)
k 1

Aquí se asume a 0  1 .

De nuevo se asume que los argumentos de los coeficientes de autocorrelación son positivos,
al igual que se consideró para los términos de la ecuación (25) y calculados según (24).
Con la consideración de adición de (26), y considerando a k = a p , la ecuación (25) se
extiende:

 Css(0) Css(1)  Css( p)   a0   ET2 


    
Css(1) Css(0)  Css(( p  1))   a1  0
    (27)
          
    
 Css( p) Css( p  1)  Css(0)  a p   0 

Cómo se explicó en el trabajo Azul 172 [ ], los términos a k de la ecuación (23) pueden ser
hallados mediante el algoritmo de Levinson Durbin, de forma recursiva.

Cuestiones a tener en cuenta en el cálculo del vector de los coeficientes LPC:

Vector resultante: a p  a 0 , a1 ,  , a p .

Algoritmo de Levinson-Durbin

Datos: Css (n) , para, 0  n  p y p = número de coeficientes a calcular.


Hay que obtener:  m , ak ,m , cm : 1  m  n,1  k  m} Satisfaciendo la ecuación 26.
Inicialización:  0  Css(0)
aoo  1
Programa: for m  0 to n 1 , do
m
 m   Css(m  1  k )akm
k 0

m
cm 1  
m
 m1   m (1  cm2 1 )
a m1,m  0
for k  1 to m  1 do
ak ,m1  ak ,m  cm1am1k ,m
end loop k
end loop m

¿Cómo se va formando este vector a partir de la ejecución del método de Levinson –


Durbin?
En el proceso de la aplicación del método recursivo de Levinson – Durbin para dar solución
a la solución de una matriz Toeplitz conteniendo los p coeficientes de autocorrelación de la
señal y que busca como resultado los coeficientes de predicción lineal LPC,
a p  a 0 , a1 ,  , a p , se va calculando en cada iteración recursiva los valores del vector a p .
Para p = 10, el vector resultante es la última columna según se muestra en la tabla 1.

Tabla 6.1. Vectores de a p según la iteración p que se seleccione.


Iteración 0 1 2 3 … 9 10
Coeficientes
a0 1 1 1 1 … 1 1
a1 - a1,1 a1,2 a1,3 … a1,p-1 a1,p
a2 - - a2,2 a2,3 … a2,p-1 a2,p
a3 - - - a3,3 … a3,p-1 a3,p
a4 - - - - … a4,p-1 a4,p
a5 - - - - … a5,p-1 a5,p
a6 - - - - … a6,p-1 a6,p
a7 - - - - … a7,p-1 a7,p
a8 - - - - … a8,p-1 a8,p
a9 - - - - - a9,p-1 a9,p
a10 - - - - - - ap,p

Observe:
1. Los términos a0,n son unos (1).
2. Debido al trabajo de cálculo en cada iteración, los términos a#,n son diferentes. Ej.
a1,1 <> a1,2.
3. Los valores de las columnas son el resultado del vector a p de los coeficientes LPC
a p  a 0 , a1 ,  , a p para cada iteración.
4. Una característica de los coeficientes LPC a p , es que son compatibles con la respuesta de
un filtro ‘todo polos’ y que al aplicar la respuesta del filtro al dominio de la frecuencia, se
acomoda exactamente a la envolvente de la respuesta de frecuencia del segmento de
señal de voz bajo análisis. A más coeficientes a p , más empieza a aproximarse la respuesta
espectral del filtro a la respuesta de f/2 coeficientes espectrales de la señal. Podemos
observar cómo los picos de frecuencias encontradas se corresponden, lo cual es de gran
ayuda para detectar su presencia en las señales.

Este modelo es llamado de predicción lineal (LPC) o auto recursivo (AR) [D. G. Childers, 2000,
Makhoul, 1975].

G
Ecuación de respuesta impulsiva p
1   ai
i 1

Esta característica de los coeficientes a p es la que posibilita su uso como vector de patrones para
el reconocimiento de un segmento de voz en lugar de los coeficientes de respuesta espectral de
Fourier H (w) , ya que con mucho menos coeficientes, se puede clasificar un segmento de voz.
En la figura 2, se muestra el comportamiento de la respuesta de frecuencia de la señal ventaneada
versus la respuesta en frecuencia para diferentes valores del vector a p . Obsérvese como la
envolvente de la respuesta | H ( w) | dB es aproximada en función de la cantidad de coeficientes
que se calculan. La respuesta para p=15, es la más recomendada en este caso ya que fs = 12800
Hz.

El diseño de un filtro todo polos es muy utilizado para el tratamiento de señales con ruido aditivo
gaussiano, a partir de la señal original se calculan los coeficientes a p y este filtro todo polos se le
aplica a la señal original, con ello quedan atenuadas las componentes de frecuencias que no
portan información relevante. Una práctica muy usada en análisis de señales sismográficas, para
detección de yacimientos de petróleo. También se usa en Neurofisiología, señales EEG, para
detectar los ritmos alfa, beta y delta.

Figura 2. Respuestas de frecuencias | H ( w) | dB versus | H ( w) | dB( p  6,15,24)


Cepstrum

El Cepstrum es llamado por algunos autores, la transformada de la transformada, Lo cual es casi


cierto. A continuación se presenta el flujo de procesamiento para obtener los coeficientes cepstrales
de una señal.

Xk Arreglo Re(H(w)) Arreglo Xk


para reales
Señal real
Xk FFT IFFT Xk
Cepstrales
de Xk
‘0’ Arreglo Im(H(w))
para
imaginarios

‘0’

Cálculo de Cálculo de
|H(w))| H(w)dB

Coeficientes Arreglo Señal IFFT


Cepstrales Re(ifft(H(w)dB)
de Xk

Figura 15. Cálculo de los coeficientes cepstrales (Cepstrum) de un segmento de señal.

Podemos observar que la operación es idéntica a llevar el resultado de H ( w) dB a la entrada del


módulo que realiza la IFFT y tomar los valores reales de esta operación, siendo el resultado
H ( w) dB el conjunto de los números reales a tener en cuenta y haciendo el conjunto de los números
imaginarios igual a CERO (0). En ese caso en lugar de obtener los valores de X k , estamos
obteniendo los valores de los coeficientes cepstrales de la señal.
El cálculo del real Cepstrum se efectúa de la siguiente manera:

rceps=real(ifft(log(abs(fft(x)))))

El Cepstrum de una señal es llamado la cuasifrecuencia de la señal, lo que es equivalente a decir


que es parecido al periodograma de la señal, ya que estamos realizando la transformada inversa de
Fourier al espectro de Potencia de la Frecuencia de la señal y la respuesta corresponde al dominio
del tiempo. El componente sobre el valor de la ordenada 1 equivale a la frecuencia de muestreo
dividida por 2 (frecuencia de análisis de la señal más alta, según la teoría del muestreo) o lo que es
lo mismo, el período que se puede analizar de la señal más pequeño.
Para señales que tienen definida su composición espectral o rango de respuesta de frecuencia, se
puede seleccionar el rango de coeficientes Cepstrum que le corresponden, eliminando el resto por
considerarlos ruidos o no pertenecientes a la señal bajo análisis.

La cantidad de coeficientes Cepstrum dependen de la frecuencia de muestreo de la señal, ya que el


f de la H ( w) dB , está en función de la misma como se explicó anteriormente. A mayor frecuencia
de muestreo, mayor cantidad de coeficientes Cepstrales. Para algunas aplicaciones de
reconocimiento de patrones, como es el caso de reconocimiento de voz, el número de coeficientes
Cepstrales para los patrones de la señal voz se toman bajo este criterio.

Respuesta interesante en el Cepstrum, es la aparición de un valor alto, pico, para el análisis de


segmentos de datos donde existe una frecuencia fundamental F0. En la figura 16 se presenta un pico
cerca del valor 100 en el eje de las abscisas. La distancia al origen determina el valor de T0 en
función de la frecuencia de muestreo f s , luego se puede conocer F0.

Otra respuesta interesante para el caso de señales de voz, es que tomando los valores cepstrales que
se encuentran por debajo del pico a partir del origen y en una cantidad no muy alta, máximo 40
valores, al aplicarles a los coeficientes CPP el cálculo de H ( w) dB , se observa que la respuesta se
corresponde con la envolvente de la transformada H ( w) dB del segmento de señal bajo análisis, que
es la respuesta a la información inteligente que la señal de voz porta, producida por la modulación
en el tracto vocal; y si se toman los componentes después del pico, obtenemos como respuesta
H ( w) dB la parte de la señal de voz que se corresponde con la excitación del tracto vocal. Ambas
respuestas están juntas en la señal de voz, pero la más importante es la de la envolvente que es
donde está la información consciente del habla. De ahí que los coeficientes cepstrales iniciales
forman parte del repertorio de parámetros que se utilizan para el reconocimiento de voz [Furui,
1991]

Figura 16. Gráficas resultantes en el flujo de cálculo del Cepstrum

Das könnte Ihnen auch gefallen