Você está na página 1de 32

1

Modelizao paramtrica de sinal

A modelizao paramtrica de um sinal x(n) consiste em associar-lhe um


sistema linear que quando excitado por rudo branco reproduza o sinal o
mais fielmente possvel perservando as suas caractersticas espectrais.
A modelizao paramtrica de um sinal aleatrio feita com generalidade
por sistemas lineares invarinates no tempo definidos por uma funo de
transferncia que uma fraco racional em z.
H(z) =

N (z)
D(z)

a que corresponde no tempo


x(n) =

q
X
j=1

bj u(n j)

p
X
k=1

ak x(n k)

P
P
se N (z) = qj=0 bj z j e D(z) = pk=0 ak z k , a0 = 1
O modelo geral com plos e zeros denominado ARMA (do ingls Autoregressive Moving Average).
O modelo s com zeros que corresponde a ak = 0, k = 1, . . . , p designa-se
por modelo de mdia corrente ou MA (do ingls Moving Average).
O modelo s com plos que corresponde a bj = 0, j = 1, . . . , p designa-se
por modelo autoregressivo ou AR .
H(z) =

b0
p
P
1
ak z k
k=1

x(n) = b0 u(n) +

p
X
k=1

ak u(n k)

O modelo s com plos, de grande importncia como se viu para o modelamento do tracto vocal, pode ser interprtado da seguinte maneira:
u(n)

e(n)

x(n)

+
p

b0

a x(n-k)
k

k=1

Da figura pode inferir-se que uma combinao linear das amostras recentes
determinada e somando a entrada devidamente amplificada por b0 , produz
a sada num dado instante. Ou seja, a amostra actual do sinal x(n) pode
1

se considerar determinada pelo seu comportamento no passado recente uma predio linear - mais uma contribuio da entrada actual (por vezes
desiganada de inovao)

1.1

Predio linear

A hiptese que se faz para a predio linear que uma amostra x(n) de
um sinal pode ser aproximada por uma combinao linear de p amostras
anteriores:
x
(n) ' a1 x(n 1) + a2 x(n 2) + . . . + ap x(n p)
em que ai so os coeficientes de predio linear (LPC) de ordem p e e(n) =
x(n) x
(n)(= b0 u(n)) o erro de predio ou resduo de ordem p.
Definindi a0 = 1 o erro ser
e(n) =

p
X
k=0

ak x(n k)

(1)

Admitindo que o sinal tem valor mdio nulo, a varincia do erro de predio
pode ser determinada por

p
p
X
X

2e = E e(n)2 = E
ai x(n i)
aj x(j k) =
(2)

= E
=

i=0

p X
p
X
i=0 j=0

p X
p
X
i=0 j=0

j=0

ai x(n i)aj x(j k) =

ai aj x (j i)

em que x (k) a autocorrelao do sinal x(n) para um desvio temporal de


k amostras e em que x (0) = 2x .
Definindo o vector dos coeficientes como

T
a = [1, a1 , . . . , ap ]T = 1, aTp

e a matriz de autocorrelao do sinal como

x (0)
x (1)
. . . x (p 1)
x (p)
x (1)
...
. . . x (p 2) x (p 1)
x =
...
...
...
...
...
x (1)
x (0)
x (p) x (p 1) . . .

o erro de predio pode ser determinado por


2e = ax aT
2

Pode-se demonstrar que esta forma quadrtica nos ak definida positiva


e portanto existe um nico mnimo.
A matriz x tem uma estrutura particular : cada diagonal paralela
diagonal principal constituida por elementos iguais. Uma tal matriz diz-se
de Toeplitz e esta matriz ainda simtrica.
A determinao dos coeficientes LPC pode ser feita utilizando o mtodo
dos mnimos quadrados, minimizando o valor quadrtico mdio do erro de
predio:

!2
p
X

ai x(n i)
min 2e = min E e(n)2 = min E (x(n)

a1 ,...ap

a1 ,...ap

a1 ,...ap

i=1

!2
p
X

E (x(n)
ai x(n i) = 0
ak
i=1

!2

p
X

ai x(n i) = 0
E
(x(n)
ak
i=1
"
!
#
p
X
E 2 x(n) +
ai x(n i) x(n k) = 0
i=1

" p
X
i=1

p
X
i=1

ai x(n i)x(n k)

= E [x(n)x(n k)]

ak x (k i) = x (k), k = 1, . . . , p

(3)

sistema linear de p equaes a p incgnitas que, se a matriz x for no


singular permite determinar os coeficientes ak do modelo.
s equaes indicadas pode ainda crescentar-se a equao que determina o erro quadrtico mdio de predio para o modelo de ordem p que se
designar por 2p . Atendendo a 2
2p =

p
X
i=0

ai

p
X
j=0

aj x (j i) =

p
X

ai x (i)

i=0

definindo a0 = 1.
Se a excitao do modelo for feita com um rudo branco gausseano u(n)
de mdia nula e de varincia unitria preciso introduzir um ganho que
designmos por b0 . trivial verificar que b0 = p .

Theorem 1 O sinal e o erro de predio so ortogonais


Proof.

p
X
E [x(n k)e(n)] = E x(n k)
aj x(n j) =
j=0

p
X
j=0
p
X
j=0

uma vez que

Pp

j=0 aj x (k

aj E [x(n k)x(n j)] =


aj x (k j) = 0

j) = x (k) +

Pp

j=1 aj x (k

j) = 0

Conhecidos os coeficientes pode-se determinar o erro ou resduo por


filtragem inversa:
E(z) = A(z)X(z)
ou no tempo, usando a definio em 1.
A modelizao AR de um sinal est resumida na seguinte figura: a anlise
LPC do sinal permite calcular os coeficientes ak , o ganho p e o resduo e(n).
Estes parmetros permitem a reconstruo exacta do sinal usando o modelo
AR ou a determinao de um sinal xAR (n) com as mesmas propriedades
estatsticas e espectrais.
u(n)

umed=0
u=1

x(n)

1/A(z)

xAR(n)

p
ak

anlise
e(n)

1/A(z)

1.2

x(n)

Modelizao AR de sinal de voz

A voz um sinal essencialmente no estacionrio e, portanto, no se lhe


pode aplicar a teoria anterior de modelizao sem se fazerem algumas e
importantes modificaes.
Para se poder aproximar a condio de estacionaridade, o sinal de voz
tem de ser observado localmente em janelas temporais de curta durao,
tipicamemte entre os 10 e 20 ms. Para uma frequncia de amostragem de
8 kHz isto corresponde a 80 a 160 amostras e a determinao das propridades
estatsticas do sinal ser feita sobre esta reduzida e localizada temporalmente
informao.
4

Desta forma em vez de se minimizar o valor erro quadrtico mdio


se minimiza o valor do erro quadrtico numa janela de
E e(n)2 apenas P
observao Ep = m e(m)2 em que m pertence a uma dada janela temporal.Desta forma o processo de minimizao conduz a
min Ep = min

a1 ,...ap

a1 ,...ap

e(m)2 = min

a1 ,...ap

X
m

(x(m)

p
X
i=1

!2

ai x(m i)

!2

p
X
X
ai x(m i)
= 0
(x(m)
ak m
i=1
!2

p
X
X
ai x(m i)
= 0
(x(m)
ak
m
i=1

!
p
X
X
2 x(m)
ai x(m i) x(m k) = 0
m

i=1

p
X
i=1

ai

X
m

x(m i)x(m k) =

Definindo
x (i, k) =

X
m

X
m

x(m k)x(m)

x(m i)x(m k)

o sistema anterior de equaes reduz-se a


p
X
i=1

ak x (i, k) = x (i, 0), k = 1, . . . , p

(4)

Analogamente o erro mnimo ser dado por


Ep =

p
X

ai x (0, i)

i=0

Dois mtodos so usados1 :


Mtodo da autocorrelao O sinal considerado nulo fora da janela
de observao, isto , sendo s(n) o sinal de voz, o sinal observado x(n) ser
x(n) = s(n)w(n) com

1
0nN 1
w(n) =
.
0 n<0n>N 1
1

Embora os dois mtodos sejam designados por autocorrelao e covarincia, as suas


diferenas no esto directamente ligadas a estas duas funces estatsticas.

A energia (ou valor quadrtico) do erro calculado sobre todo o conjunto


de amostras gerado pelo filtro preeditor. Como este um FIR de ordem p
o nmero de amostras ser N + p e o valor quadrtico a minimizar ser:
Ep =

NX
1+p

e(m)2

m=0

e
x (i, k) =

N1+p
P
m=0

x(m i)x(m k), 1 i p, 0 k p

Uma vez que o sinal x(n) nulo fora da janela [0, N 1] no somatrio
anterior apenas os termos que vo de m = i at m = N 1 + k so diferentes
de 0.
N1+k
X
x(m i)x(m k)
x (i, k) =
m=i

Fazendo a transformao de varivel m i = n


N1(ik)

x (i, k) =

x(n)x(n + i k)

n=0

ou seja, a funo x (i, k) apenas funo da distncia temporal ik entre as


amostras e, a menos da diviso pelo nmero N das amostras, a estimativa
da funo de autocorrelao (note que este factor constante no altera em
nada o sistema de equaes pois aparece em todas)
x (i, k) = Rx (i k)
O sistema de equaes 4 pode ento ser reescrito como
p
X
i=1

ou

ak Rx (|i k|) = Rx (i), k = 1, . . . , p

. . . Rx (p 1)
a1
a2
. . . Rx (p 2)

...
...
...
...
Rx (0)
ap

Rx (1)
Rx (2)
Rx (0)
Rx (1)
R
(0)
Rx (1)
x

...
...
...
Rx (p 1) Rx (p 2) Rx (p 3)

Rx (1)
Rx (2)
=

...
Rx (p)

Estas equaes so denominadas equaes normais ou equaes de YuleWalker.


A estas equaes deve ser acrescentada a equao que define o ganho
2p

= Ep =

p
X

ai Rx (i)

i=0

A matriz de autocorrelao de Toeplitz permitindo que se use o algoritmo de Durbin-Levinson que se indica mais frente.
6

Mtodo da covarincia Apenas se considera o erro na zona em que a


resposta impulsional do filtro preditor no est presente, isto , no intervalo
p m N 1. Desta forma se evitam os erros acentuados nas vizinhanas dos limites da janela que levaram a aconselhar o uso de janelas no
rectangulares no mtodo anterior.
A energia (ou valor quadrtico) do erro calculado sobre todo o conjunto
de amostras gerado pelo filtro preditor em regime permanente:
Ep =

N1
X

e(m)2

m=p

Muitos autores aconselham a limites ligeiramente diferentes:


Ep =

N1
X

e(m)2

m=0

Em qualquer dos casos a matriz de autocorrelao [x (i, j)] ser simtrica


mas no de Toeplitz inviabilizando o uso do algoritmo de Durbin. Para este
mtodo aconselhvel usar o algoritmo de Choleski 2 .

1.3

Algoritmo de Durbin

Como a matriz de autocorrelao de Toeplitz existe um algoritmos iterativo


que permite o clculo dos coeficientes ak atravs do algoritmo iterativo de
Durbin (ou de Durbin-Levinson) que permite determinar todos os modelos
de 1 a p. Chamaremos ai,j ao coeficiente de ordem j do modelo de ordem i
e aii = ki .
1-Inicializao
E0 = RX (0)

2-Recurso
Para i = 2, . . . , p
ki = ai,i =

RX (1)
k1 = a1,1 =
RX (0)

2
E1 = 1 k1 RX (0)

1
RX (i)
Ei1

i1
X
j=1

ai1,j RX (|i j|)

ai,j = ai1,j ki ai1,ij , j = 1, . . . , i 1


E2 = (1 ki2 )Ei1

Consultar, por exemplo, R.Boite et al : Traitement de la parole, Presses Polytechniques


et Universitaires Romandes, 2000, Lausanne, CH.

Lista-se no fim a subrotina durbin que permite calcular


os coeficientes
p
de predio linear ak , o erro mdio de predio p = Ep , e os coeficientes
de reflexo ki . Faz-se notar que o Matlab tem uma rotina lpc para o clculo
dos ak .

Anlise espectral do sinal de voz

2.1

Transformada localizada de Fourier

Definition 2 A transformada localizada de Fourier (em ingls Short Time


Fourier Transform - STFT) do sinal x(n) a transformada de Fourier do
sinal x(m)w(n m) em que w(n) uma janela de ponderao
X(n, ) =

m=

x(m)w(n m)ejm , = 2fT

No caso de um sinal amostrado usa-se a DFT


X(n, k) =

N1
X
m=0

x(m)w(n m)ej2km/N

A transformada localizada de Fourier uma funo da frequncia (f ou


k) e do instante central de observao (n).
Dada a natureza no estacionria do sinal de voz a transformada localizada de Fourier uma das principais ferramentas de anlise na frequncia.
Uma vez que a transformada localizada resulta de um produto de duas
funes no tempo, o resultado obtido a convoluo das transformadas das
duas parcelas, atendendo s propriedades conhecidas da transformada de
Fourier. Portanto o resultado que se obtem a convoluo da transformada
do sinal com a transformada da janela.
A figura mostra a determinao da transformada localizada de Fourier
usando uma janela de Hanning de largura 400.

. 5

. 5

- 0

. 5

- 1

. 5

. 8

. 6

. 4

. 2

- 0

. 2

- 0

. 4

- 0

. 6

- 0

. 8

- 1

- 1

- 2

- 3

Example 3
0

10

-2

10

-4

10

-6

10

-8

10

-10

10

500

1000

1500

2000

2500

3000

3500

4000

Para a anlise de um segmento longo no estacionrio de sinal usa-se


uma janela deslizante no tempo e para cada posio da janela determina-se
a transformada localizada. O conjunto de transformadas permite avaliar
o comportamento varivel no tempo e na frequncia do sinal. Uma forma
habitual de mostrar estes resultados a representao do espectrograma ou
sonograma, representao da variao tempo-frequncia em que o valor num
dado ponto, isto , a potncia a uma dada frequncia num dado instante de
tempo representado por um nvel de cinzento ou uma cor numa dada
escala de cinzentos ou cromtica.
Exemplo de espectograma determinado usando a subrotina specgram do

Matlab que utiliza a trnsformada localizada de Fourier para o clculo:


0

2
1
0

4 0 0 0
3 5 0 0
3 0 0 0

Frequency

2 5 0 0
2 0 0 0
1 5 0 0
1 0 0 0
5 0 0
0

0 . 0 5

0 . 1

0 . 1 5

0 . 2

0 .2 5
T im e

0 . 3

0 . 3 5

0 .4

0 . 4 5

Pode-se tambm determinar o espectrograma com a subrotina spec2,


que usa para a determinao dos espectros o clculo do modelo LPC:
Usando o comando obteve-se
4 0 0 0
3 5 0 0
3 0 0 0

Frequencia

2 5 0 0
2 0 0 0
1 5 0 0
1 0 0 0
5 0 0

5 0

2.2

1 0 0

1 5 0

2 0 0

2 5 0
T e m p o

3 0 0

3 5 0

4 0 0

4 5 0

5 0 0

Elementos de anlise cepstral

Sempre que um sinal x observado a sada de um sistema linear invariante


no tempo, sabe-se que o resultado da convoluo de uma excitao u do
sistema com a sua resposta impulsional.h
x=uh
Um problema que muitas vezes se pe o de a partir da observao obter a
separao de u e h, operao denominda de desconvoluo. Uma classe de
solues encontra-se no chamado processamento homomrfico que se baseia
no clculo do logaritmo de uma transformada do sinal. Se se considerar
que se est a trabalhar com sinais amostrados toma-se ento o logaritmo da
transformada de z:

X(z)
= ln X(z)
10

e define-se x
n o cepstro complexo associado ao sinal x.como a transfor
mada inversa de z de X(z)
X

x
n z i
X(z)
=
i

Esta operao no linear ser chamada H.


Nestas condies claro que

x
=u
+h
por algum processo de filtragem temporal
Se for possvel isolar u
ou h
possvel por aplicao da transformao inversa H 1 obter u ou h.
x(n)

^x(n)

^h(n)

H-1

h(n)

Algumas propriedades:
1. Se x(n) tem transformada de z racional
A
Q

(1 ai z i )

B
Q

(1 bi z i )

i=1
X(z) = K i=1
C
D
Q
Q
(1 ci z i ) (1 di z i )
i=1

(5)

i=1

com |ai | , |bi | , |ci | , |di | < 1 ter-se-


x
(n) =

ln |K|P
,n = 0
n )/n +
n )/n , n > 0
(a
(c
i
i i
P i n
n
i (bi )/n
i (di )/n , n < 0

(6)

2. SE X(z) estvel e de fase mnima, isto , com todos os plos e zeros


situados no interior do crculo unitrio (B = D = 0) x
(n) causal
x
(n) = 0 , n < 0 e se x
e (n) = (x(n) + x(n))/2 for a sua parte par
ter-se- tambm

e (0) , n = 0
x
2
xe (n) , n > 0
x
(n) =

0
,n < 0
Se x(n) real tambm x
(n) o ser. Neste caso

Re(X(z))
= ln X(z)

e para z = ej2f n

j2f n
j2f n

x
e (n) = Re(X(e
)) = ln X(e
)

ou seja, possvel determinar o cepstro a partir da transformada de


Fourier
11

3. Se X(z) no de fase mnima, se se calcular x


m (n) a partir da frmula
anterior, ento x
m (n) o cepstro complexo de
sinal xm (n) de
um
j2f n

j2f
n
) = X(e
)
mnima fase que verifica a relao Xm (e

4. Se x(n) uma srie peridica de impulsos o seu cepstro x


(n) tambm
o ser
X
X
x(n) =
i (n iT ) x(n) =
i (n iT )
i

Definition 4 O cepstro real de um sinal a transformada inversa de


Fourier do logaritmo da sua transformada de Fourier.3 Para sinais amostrados numa janela de durao finita [0, N 1]
Xk =
cn =

N1
1 X
x(n)ejnk2/N
N n=0

N1
X
k=0

x(n)

2.2.1

DFT

Xk

ln |Xk | ejnk2/N
ln|.|

ln|Xk|

DFT-1

cn

O cepstro do sinal de voz

Um sinal de voz pode ser considerado como j se viu:


x(n) = (p(n) g(n) hc (n) rl (n)) .w(n)
em que:
p(n) , para sons vozeados, um trem de impulsos peridicos de perodo
P = 1/f0
X
p(n) =
(n kP )
k

g(n) a onda glotal de durao finita e que pode ser considerada como
composta por duas partes: uma parte de mnima fase g1 (n) e outra de
mxima fase g2 (n) com g(n) = g1 (n) g2 (n) ou
A
B
X
X
1
(1 i z )
(1 i z), |i | , | i | < 1
G(z) = g
i=0

i=0

e A, B < P
3

comum a definio: o cepstro a transformada inversa do logaritmo do seu espectro.


Atendendo operao de logaritmizao as duas definies conduzem a resultados que
diferem apenas de uma relao constante.

12

hc (n) a resposta impulsional do tracto vocal Exceptuando os sons nasais, o tracto vocal bem representado por um modelo de fase mnima
s com plos
rl (n) a resposta impulsional que traduz a radiao nos lbios. O
efeito de radiao pode ser representado por um sistema com um zero
Rl (z) ' 1 + z 1
w(n) uma janela temporal
Considerando que
h(n) = g(n) hc (n) rl (n)
ser
x(n) = (p(n) h(n)) .w(n)
O procedimento para efectuar a desconvoluo obriga a que o sinal observado seja uma convoluo, o que no o caso para x(n). No entanto
para janelas suficientemente grandes (dimenso M ) cobrindo um nmero
significativo de perodos do fundamental P, poder-se- tomar com grande
aproximao
x(n) = (p(n).w(n)) h(n) = pw (n) h(n)
fazendo
pw (n) = p(n).w(n) =

M1
X
k=0

w(kP )(n kP )

)
P (ej2f ) = W (ej2P f ) e pw (n) = w(n/P
O cepstro complexo vale

x
(n) = pw (n) + h(n)
O cepstro tem ento duas partes: uma correspondente resposta impulsional do sistema acstico que tem conribuies causais (de g1 (n), hc (n)
e de rl (n)) e a contribuio no causal de g2 (n).; a outra a contribuio
da excitao modificada pela janela e constituida por um trem de impulsos
espaados de P amostras. Pode-se afirmar que no cepstro se observam trs
zonas:
P < n < 0: componente no causal devida a g2 (n)
0 < n < P : componente causal devida ao tracto e g1 (n)
n ' kP : componente devida excitao peridica pw (n)
Verifica-se tambm que as duas primeiras componentes decrescem muito
mais depressa do que a ltima o que significa que a aplicao de uma janela
13

no cepstro permite separar as duas contribuies e, por clculo do cepstro


inverso, pode-se determinar p(n) e h(n).
Contudo o clculo do cepstro obriga a conhecer a fase de X(ej2f ) :

x
(n) = ln (X(ej2f ) = ln |X| + j(2f )

e as implementaes dos algoritmos t normalmente usadas apenas do a


parte principal da fase, isto , |(2f )| . , pois, necessrio efectuar
a operao chamada de desenrolamento da fase (phase unwraping), que
consiste em somar 2 nos pontos de descontinuidade.
Na prtica o mtodo no muito preciso e prtica comum usar apenas
o cepstro real.
2.2.2

Relao com os coeficientes de predio linear

Para um modelo de predio linear teremos


ln
Derivando em ordem a z 1

X
1
=
cn z n
A(z) n=1

d X
d
1
=
ln
cn z n
dz 1 A(z)
dz 1 n=1

d
ln(
dz 1
p
P

iai z i+1

i=1

2
p
P
ai z i
1

1
p
P

i=1

=
ai z i

i=1

p
P

p
X

d X
cn z n
dz 1 n=1

ai z i

i=1

ncn z n+1

n=0

iai z i+1

=
ncn z n+1
p
P
n=0
ai z i
1
i=1

i=1

p
X
i=1

iai z

i+1

ncn z

n+1

n=0

p
X
X

ai ncn z ni+1

n=0 i=1

igualando os coeficientes das potncias homlogas de z :

P
1 n1

kck ank 1 n p
an +
n k=1
cn =
P
1 n1

kck ank
n>p
n k=1
14

(7)

Atendendo a 5 e 6
c0 = ln 2p

2.3
2.3.1

Alternativas aos parmetros LPC


Coeficientes PARCOR

Os PARCOR ou coeficientes de correlao parcial so outro nome dos coeficientes de reflexo ki . A principal vantagem que apresentam rlativamene
aos ak reside na seguinte propriedade: para modelos estveis (com todos
os plos dentro do crculo unitrio) |ki | < 1, o que facilita a verificao de
estabilidade dos modelos, questo importante em codificao.
Um outro trunfo dos ki est na possibilidade de permitirem uma implementao usando uma estrutura em lattice.
As frmulas de transformao so:
LPC para PARCOR
kp = ap,p
P ara i = p, p 1, . . . , 1

ai1,j = (ai,j + ai,i ai,ij )/(1 ki2 ), 1 j i 1


ki1 = ai1,i1

PARCOR para LPC


P ara i = 1, . . . , p
ai,i = ki
ai.j = ai1,j ki ai1,ij , 1 j i 1
2.3.2

LAR-Log area ratios

Os coeficientes ki no so aconselhveis para quantificao por possuirem


uma sensibilidade espectral constante o que faz com que seja preciso maior
preciso para representar os ki prximo da unidade do que para vlores afastados. pois conveniente uma transformao no linear, usando-se por
vezes a LAR que tem a seguinte definio:
PARCOR para LAR
gi = log10

1 ki
,1 i p
1 + ki

LAR para PARCOR


ki =

1 10i
,1 i p
1 + 10ii
15

2.3.3

LSF-Line Spectral Frequencies

Este mtodo alternativo de representao dos parmetros LPC baseia-se no


facto do filtro inverso A(z) poder ser decomposto em dois sistemas de ordem
p + 1, P (z) de simetria par e Q(z) de simetria impar usando as seguintes
regras:
P (z) = A(z) z (p+1) A(z 1 )

Q(z) = A(z) + z (p+1) A(z 1 )


com

P (z) + Q(z)
2
Os LSF so as posies angulares das razes dos polinmios P (z) e Q(z)
no intervalo 0 < w < .
Os LSF gozam das propriedades:
A(z) =

1. Todas as razes de P (z) e Q(z) esto sobre o crculo unitrio


2. Para um sistema A(z) estvel as razes de P (z) e Q(z) so alternadas
isto , 0 < wQ,1 < wP,1 < wQ,2 < . . . <

P (z) = 1 + (a1 ap ) z 1 + . . . + (ap a1 ) z p z (p+1)

Q(z) = 1 + (a1 + ap ) z 1 + . . . + (ap + a1 ) z p + z (p+1)


O interesse dos LSF reside na sua aplicao em codificadores.
2.3.4

Coeficientes cepstrais

A transformao a indicada em 7 e para o seu clculo pode-se recorrer


subrotina cepslpc que dado um conjunto de coeficientes ak , k = 1, . . . , p
permite calcular os coeficientes cepstrais cn , n = 1, . . . , N.
Os coeficientes cepstrais podem ser modificados aplicando uma funo
de peso, ou janela. Esta operao no domnio cepstral designada por
quefrency liftering (liftragem na quefrncia, numa traduo possvel)
c0n = cn .w(n)
com
w(n) =

1+

n
L
sin( ) n = 1, . . . , L
2
L
0
n=
6 1, . . . , L

16

2.3.5

Exemplo

Apresenta-se a seguir as vrias alternativas para os parmetros de um semento de fala, calculadas com o programa Matlab que se anexa
0.25
0.2
0.15
0.1
0.05
0
-0.05
-0.1
-0.15
-0.2
-0.25

10

15

20

25

30

Coeficientes LPC
ordem= 1 1.000 -0.960
ordem= 2 1.000 -1.624 0.691
ordem= 3 1.000 -1.317 -0.031 0.444
ordem= 4 1.000 -1.263 -0.034 0.285 0.121
ordem= 5 1.000 -1.291 -0.100 0.292 0.415 -0.232
ordem= 6 1.000 -1.268 -0.140 0.264 0.424 -0.107 -0.097
ordem= 7 1.000 -1.258 -0.129 0.217 0.395 -0.091 0.045 -0.112
ordem= 8 1.000 -1.265 -0.126 0.211 0.420 -0.078 0.036 -0.191 0.063
ordem= 9 1.000 -1.272 -0.105 0.207 0.428 -0.123 0.014 -0.178 0.201 -0.109
ordem= 10 1.000 -1.295 -0.062 0.169 0.431 -0.150 0.105 -0.133 0.178 -0.380 0.214
Coeficientes PARCOR
0.960 -0.691 -0.444 -0.121 0.232 0.097 0.112 -0.063 0.109 -0.214
Coeficientes LAR
-1.693 0.738 0.415 0.106 -0.205 -0.084 -0.097 0.055 -0.095 0.188
Coeficientes Cepstrais
-8.030
1.295 0.900 0.635 0.158 0.165 -0.071 -0.052 -0.259 0.038 -0.109
-0.081 -0.004 -0.056 0.011 -0.014 0.015 -0.015 0.011 0.003 -0.010
0.009 -0.011 0.002 -0.005 -0.001
Coeficientes Cepstrais pesados
2.029 2.799 2.921 0.954 1.211 -0.611 -0.501 -2.729 0.429 -1.301
-0.989 -0.056 -0.699 0.131 -0.167 0.165 -0.157 0.109 0.027 -0.076
0.054 -0.052 0.005 -0.007 -0.000
Grfico dos coeficientes cepstrais (azul) e coeficientes cepstrais pesados (verm.)
3

-1

-2

-3

10

15

17

20

25

Coeficientes LSF
0.182 0.303 0.428 0.719 1.204 1.529 1.955 2.176 2.562 2.754
Coeficientes LSF expressos em Hz
232 386 545 915 1533 1947 2489 2771 3262 3506
Mapa da localizao dos LSF

1
0.8
0.6

Imaginary Part

0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
-1

2.4

-0.5

0
Real Part

0.5

Estimao do pitch

Autocorrelao
Modelo LPC
Cepstro

2.5
2.5.1

Anlise por banco de filtros


Estimao de potncia

A estimao de potncia de um sinal do tipo passa banda pode-se fazer


aplicando uma no linearidade que produz um efeito desmodulador, transferindo a potncia do sinal para a banda base e aplicar em seguida um filtro
passa baixo. A no linearidade mais usada tomar o valor absoluto do sinal,
operao equivalente rectificao de onda completa em sinais contnuos.

x(n)

No
linearidade

|x(n)|

Filtro passa
baixo

px(n)

Vejamos o que se passa quando se aplica este mtodo a uma sinuside:


Banco de filtros
2.5.2

Exemplo de aplicao

Apresenta-se um exemplo de uma palavra analisada por um banco de 6


filtros
18

Reposta na frequncia do banco de filtros:


1 0

1 0

1 0

1 0

1 0

1 0

1 0

-1

-2

-3

-4

-5

-6

1 0 0

2 0 0

3 0 0

4 0 0

5 0 0

6 0 0

Sinal e respectivo espectrograma:


0 .4
0 .2
0
-0 . 2
-0 . 4

0 .0 5

0 .1

0 .1 5

0 .2

0 .2 5

0 .3

0 .3 5

0 .4

0 .4 5

0 .5

4000

Frequency

3000
2000
1000
0

0 .0 5

0 .1

0 .1 5

0 .2

0 .2 5
T im e

0 .3

0 .3 5

0 .4

0 .4 5

Sinais filtrados:
0 .5
0
-0 .5
0 .1 0

0 .0 5

0 .1

0 .1 5

0 .2

0 .2 5

0 .3

0 .3 5

0 .4

0 .4 5

0 .5

0 .0 5

0 .1

0 .1 5

0 .2

0 .2 5

0 .3

0 .3 5

0 .4

0 .4 5

0 .5

0 .0 5

0 .1

0 .1 5

0 .2

0 .2 5

0 .3

0 .3 5

0 .4

0 .4 5

0 .5

0 .0 5

0 .1

0 .1 5

0 .2

0 .2 5

0 .3

0 .3 5

0 .4

0 .4 5

0 .5

0 .0 5

0 .1

0 .1 5

0 .2

0 .2 5

0 .3

0 .3 5

0 .4

0 .4 5

0 .5

0 .0 5

0 .1

0 .1 5

0 .2

0 .2 5

0 .3

0 .3 5

0 .4

0 .4 5

0 .5

0
-0 .1
0 .0 2 0
0
-0 .0 2
0 .0 5 0
0
-0 .0 5
0 .0 5 0
0
-0 .0 5
0 .0 2 0
0
-0 .0 2

19

Sinais rectificados:
0 .4
0 .2
0
0 .1 0

0 .0 5

0 .1

0 .1 5

0 .2

0 .2 5

0 .3

0 .3 5

0 .4

0 .4 5

0 .5

0 .0 5

0 .1

0 .1 5

0 .2

0 .2 5

0 .3

0 .3 5

0 .4

0 .4 5

0 .5

0 .0 5

0 .1

0 .1 5

0 .2

0 .2 5

0 .3

0 .3 5

0 .4

0 .4 5

0 .5

0 .0 5

0 .1

0 .1 5

0 .2

0 .2 5

0 .3

0 .3 5

0 .4

0 .4 5

0 .5

0 .0 5

0 .1

0 .1 5

0 .2

0 .2 5

0 .3

0 .3 5

0 .4

0 .4 5

0 .5

0 .0 5

0 .1

0 .1 5

0 .2

0 .2 5

0 .3

0 .3 5

0 .4

0 .4 5

0 .5

0 .0 5
0
0 .0 2 0
0 .0 1
0
0 .0 4 0
0 .0 2
0
0 .0 4 0
0 .0 2
0
0 .0 2 0
0 .0 1
0

Estimativa da potncia por banda


0 .2
0 .1
0
0 .0 4 0

0 .0 5

0 .1

0 .1 5

0 .2

0 .2 5

0 .3

0 .3 5

0 .4

0 .4 5

0 .5

0 .0 5

0 .1

0 .1 5

0 .2

0 .2 5

0 .3

0 .3 5

0 .4

0 .4 5

0 .5

0 .0 5

0 .1

0 .1 5

0 .2

0 .2 5

0 .3

0 .3 5

0 .4

0 .4 5

0 .5

0 .0 5

0 .1

0 .1 5

0 .2

0 .2 5

0 .3

0 .3 5

0 .4

0 .4 5

0 .5

0 .0 5

0 .1

0 .1 5

0 .2

0 .2 5

0 .3

0 .3 5

0 .4

0 .4 5

0 .5

0 .0 5

0 .1

0 .1 5

0 .2

0 .2 5

0 .3

0 .3 5

0 .4

0 .4 5

0 .5

0 .0 2
0 x
5 0

10

-3

0
0 .0 1 0
0 .0 0 5
0
0 .0 1 0
0 .0 0 5
0
0 .0 1 0
0 .0 0 5
0

Estimativa da potncia decimada:


0 .2
0 .1
0
0 .0 4 0

0 .0 5

0 .1

0 .1 5

0 .2

0 .2 5

0 .3

0 .3 5

0 .4

0 .4 5

0 .5

0 .0 5

0 .1

0 .1 5

0 .2

0 .2 5

0 .3

0 .3 5

0 .4

0 .4 5

0 .5

0 .0 5

0 .1

0 .1 5

0 .2

0 .2 5

0 .3

0 .3 5

0 .4

0 .4 5

0 .5

0 .0 5

0 .1

0 .1 5

0 .2

0 .2 5

0 .3

0 .3 5

0 .4

0 .4 5

0 .5

0 .0 5

0 .1

0 .1 5

0 .2

0 .2 5

0 .3

0 .3 5

0 .4

0 .4 5

0 .5

0 .0 5

0 .1

0 .1 5

0 .2

0 .2 5

0 .3

0 .3 5

0 .4

0 .4 5

0 .5

0 .0 2
0 x
4 0

10

-3

2
0
0 .0 1 0
0 .0 0 5
0 x
5 0
0
0 .0 1 0

10

-3

0 .0 0 5
0

20

Variao da potncia por banda no tempo(banco de 6 filtros):


4 0 0 0
3 5 0 0
3 0 0 0
2 5 0 0
2 0 0 0
1 5 0 0
1 0 0 0
5 0 0
0 . 0 5

0 . 1

0 .1 5

0 . 2

0 . 2 5

0 . 3

0 . 3 5

0 . 4

0 . 4 5

0 .5

Variao da potncia por banda no tempo(banco de 24 filtros):


4 0 0 0
3 5 0 0
3 0 0 0
2 5 0 0
2 0 0 0
1 5 0 0
1 0 0 0
5 0 0

0 . 0 5

0 . 1

0 .1 5

0 . 2

0 . 2 5

0 . 3

0 . 3 5

0 . 4

0 . 4 5

0 .5

Como se pode por esta ltima figurada, a informao obtida muito


semelhante que se obtem com o espectrograma, como alis seria de esperar.

2.6

Medidas de distncia

Definition 5 Num espao vectorial E a distncia ou norma entre dois vectores x e y uma aplicao
d : (x, y) E E d(x, y) R+
0
d goza das seguintes propriedades
1. d(x, y) 0 e d(x, y) = 0 sse x = y
2. d(x, y) = d(y, x)
3. d(x, y) d(x, u) + d(u, y)
A distncia ser invariante se z d(x, y) = d(x + z, y + z)

21

2.6.1

Distncia espectral

Seja S1 (f ) e S2 (f ) dois espectros. A diferena logartmica espectral ser


V (f ) = log S1 (f ) log S2 (f ) = log

S1 (f )
S2 (f )

Definition 6 A distncia espectral de ordem p a norma


dp =

"Z

fs /2

fs /2

|V (f )| df

#1/p

So especialmente importantes as distncias espectrais para p = 1, 2 e

Para os dois sinais


0 .2
0 .1
0
-0 .1
-0 .2

2 0

4 0

6 0

8 0

1 0 0

1 2 0

1 4 0

1 6 0

1 8 0

2 0 0

2 0

4 0

6 0

8 0

1 0 0

1 2 0

1 4 0

1 6 0

1 8 0

2 0 0

0 .4
0 .2
0
-0 .2
-0 .4

foram calculados os espectros e a diferena logaritmica espectral


10

10

10

-5

-1 0

10

20

30

40

50

60

70

80

90

100

10

20

30

40

50

60

70

80

90

100

8
6
4
2
0

que conduziu s seguintes distncias


d1
2.4324

d2
2.9123

22

d
7.3575

Tambm podem ser calculadas as distncias espectrais partindo dos espectros dos modelos como se mostra nas figuras e resultados seguintes:
10

-1

10

-2

10

-3

10

-4

10

20

30

40

50

60

70

80

90

100

10

20

30

40

50

60

70

80

90

100

2
1 .5
1
0 .5
0

d1
0.6633
2.6.2

d2
0.8103

d
1.8379

Distncia cepstral

A distncia espectral de 2a ordem entre dois sinais com espectros S e S 0


dada por
Z fs /2

2
log S(f ) log S 0 (f )2 df =
dp =
fs /2

j2nf
j2nf
cn e

cn e
=

df

fs /2 n=
n=

2
Z fs /2 X

j2nf

0
cn cn e
=

df =

fs /2 n=
Z fs /2 X

j2(nm)f
df =
=
cn c0n cm c0
m e
Z

fs /2

fs /2 n= m=

=
=
=

0
0
cn cn cm cm

n= m=

X
X
n= m=

X
n=

fs /2

ej2(nm)f df =

fs /2

cn c0n cm c0
m (n m) =

cn c0n 2
cn c0n cm c0
=
m
n=

Pode-se ento concluir que a distncia espectral pode ser expressa em


funo dos coeficientes cepstrais do sinal. Atendendo a que os coeficientes
cepstrais so simtricos e a que o seu mdulo decresce com n, pode definir-se
a distncia cepstral por truncatura da frmula anterior.
23

Definition 7 A distncia cepstral de ordem k entre dois sinais com coeficientes cepstrais reais cn e c0n , n = 0, 1, . . . dc definida por
d2c =

k
X

n=1

cn c0n

Note que a distncia assim definida uma distncia euclidiana no espao


Rk dos coeficientes cepstrais.
Uma vez que o cepstro pode ser calculado a partir do modelo LPC,
podem-se determinar duas distncias cepstrais como se pode ver no exemplo seguinte (calculado usando o programa cepsdist):as figuras mostram
sucessivamente os sinais, os coeficientes cepstrais calculados a partir dos
sinais originais e os coeficientes cepstrais calculados a partir dos modelos
LPC. O resultado obtido para N = 25 foi:
dC = 0.4774 e dCLP C = 0.6486
0 .4
0 .2
0
-0 .2
-0 .4

1 0

1 5

2 0

2 5

1 0

1 5

2 0

2 5

0 .4
0 .2
0
-0 .2
-0 .4

0 . 7
0 . 6
0 . 5
0 . 4
0 . 3
0 . 2
0 . 1
0
- 0 . 1
- 0 . 2
- 0 . 3

1 0

2 0

3 0

4 0

5 0

6 0

7 0

8 0

9 0

1 0 0

1 0

2 0

3 0

4 0

5 0

6 0

7 0

8 0

9 0

1 0 0

0 . 8

0 . 6

0 . 4

0 . 2

- 0 . 2

- 0 . 4

2.6.3

Distncias baseadas na verosimilhana

itakura saito
divergencia de kulback?

24

3
3.1

Programas Matlab
Durbin: Algoritmo de Durbin

%subrotina que implementa o algoritmo de durbin


%calculando para um sinal x o modelo AR deordem N
%fornece os resultados:os coeficientes de predicao
%linear ak, o ganho do modelo de ordem N e os
%coeficientes de reflex~ao k
function [a,g,k]=durbin(x,N)
a=zeros(N,N);
r=xcorr(x,N);r=r(N+1:length(r));
E(1)=r(1);
k(1)=r(2)/r(1);a(1,1)=k(1);
E(2)=(1-k(1)^2)*E(1);
for i=2:N
temp=0;
for j=1:i-1
temp=temp+a(i-1,j)*r(i+1-j);
end
k(i)=(r(i+1)-temp)/E(i);
a(i,i)=k(i);
E(i+1)=(1-k(i)^2)*E(i);
for j=1:i-1
a(i,j)=a(i-1,j)-k(i)*a(i-1,i-j);
end
end
a=[1 -a(N,:)];
g=sqrt(E(N)/length(x));

3.2

Prog1:Comparao de espectros STFT e LPC

O seguinte programa em Matlab permite calcular o espectro de um segmento


usando os dois mtodos apresentados: a transformada localizada de Fourier
e o modelo LPC
close all;clear all
%ler e visualizar o sinal de um ficheiro
[x,fs]=wavread(seg4);x=x;
t=(1:length(x))/fs*1000;
plot(t,x)
%defina a janela de Hamming de 20ms
w=hamming(0.02*fs);w=w;
%defina o inicio do segmento t=15ms
n0=0.015*fs;
%aplicar a janela
25

z=w.*x(n0+1:n0+length(w));
nx=length(z);
figure(2)
plot(t,[zeros(1,n0) z zeros(1,length(x)-n0-length(z))])
%determinaao do espectro localizado
sx=abs(fft(z)).^2/nx;
%determinaao do modelo LPC de ordem 16
[a,g]=durbin(z,16);
%determina~ao do espectro do modelo LPC
[h,f]=freqz(g,a,nx/2,fs);
sxlpc=abs(h).^2;
figure(3)
semilogy(f,sx(1:nx/2)),hold on
semilogy(f,sxlpc,r)
hold off

3.3

Spec2-Clculo do espectrograma a partir de modelos LPC

%Subrotina que permite calcular o espectrograma do


%sinal x usando janelas de largura n, uma sobreposiao novlp
%freq. de amostragem fs, modelo LPC de ordem p, calculando
%nf pontos do espectro entre o e fs/2
function spec2(varargin)
[x,n,novlp,fs,p,nf]=inputchk(varargin);
Nt=length(x);
nseg=floor(Nt/(n-novlp));
x=[x zeros(1,nseg*(n-novlp)+n-Nt)];
for i=1:nseg
y=x((i-1)*(n-novlp)+1:(i-1)*(n-novlp)+n);
y=y-mean(y);
[a,g]=durbin(y,p);
h=abs(freqz(g,a,nf,fs));
z(:,i)=h;
end
f=(1:nf)/nf*fs/2;
t=(1:nseg)*Nt/nseg/fs*1000;
imagesc(t,f,20*log10(abs(z)+eps));axis xy; colormap(jet)
end
xlabel(Tempo)
ylabel(Frequencia)
%subrotina para verificaao dos parametros de entrada
function [x,n,novlp,fs,p,nf]=inputchk(input)
x = input{1};
26

if (length(input) > 1) & ~isempty(input{2})


n = input{2};
else
n = min(length(x),200);
end
if (length(input) > 2) & ~isempty(input{3})
novlp = input{3};
else
novlp = n/2;
end
if length(input) > 3 & ~isempty(input{4})
fs = input{4};
else
fs=1;
end
if (length(input) > 4) & ~isempty(input{5})
p = input{5};
else
p=16;
end
if (length(input) > 5) & ~isempty(input{6})
nf = input{6};
else
nf=n;
end

3.4

Cepslpc-Clculo de coeficientes cepstrais

%Subrotina que permite calcular os coeficientes cepstrais


% a partir dos coeficientes LPC
function c=cepslpc(a,N)
a=a(2:length(a));
if N>length(a)
a=[a zeros(1,N-length(a))];
end
c(1)=-a(1);
for n=2:N
c(n)=-a(n)-sum( (1:n-1).*c(1:n-1).*fliplr(a(1:n-1)))/n;
end

3.5

LSF- Clculo dos coeficientes LSF

%subrotina que calcula os LSF (b)a partir dos LPC (a)


function b=lsf(a)

27

if nargin~=1
error(numero de argumentos errado)
end
if rem(length(a),2)==0
error(ordem do modelo deve ser par)
end
a=a(2:length(a));
p=length(a);
P=[1 a-fliplr(a) -1];
Q=[1 a+fliplr(a) 1];
w=sort(angle(roots(P)));
t=sort(angle(roots(Q)));
for i=1:p/2
b(2*i-1)=t(p/2+i);
b(2*i)=w(p/2+i+1);
end

3.6

Parmetros LPC e alternativas: um exemplo

%Programa que calcula os coeficientes LPC (a) dos modelos


%de ordem 1 a P, coeficientes PARCOR (k),
%coeficientes LAR (g), coeficientes cepstrais (c) ate a ordem
N,
%coeficientes cepstrais pesados (c1) e coeficientes LSF (b)
%Ler o ficheiro do sinal
P=10;N=25;
[x,fs]=wavread(seg1);
%visualizaao do sinal
t=(1:length(x))/fs*1000;
plot(t,x)
%Calculo dos LPC e K
fprintf(1,Coeficientes LPC\n)
for i=1:P
fprintf(1,ordem=%3.0f ,i)
[a,G,k]=durbin(x,i);
fprintf(1,%7.3f,a)
fprintf(1,\n)
end
fprintf(1,Coeficientes PARCOR\n)
fprintf(1,%7.3f,k)
fprintf(1,\n)
fprintf(1,Coeficientes LAR\n)
%Calculo dos LAR
g=log10((1-k)./(1+k));
28

fprintf(1,%7.3f,g)
fprintf(1,\n)
fprintf(1,Coeficientes Cepstrais\n)
%Calculo dos coeficientes cepstrais
c=cepslpc(a,N);
c0=2*log(G);
fprintf(1,%7.3f\n,c0)
fprintf(1,%7.3f,c)
fprintf(1,\n)
fprintf(1,Coeficientes Cepstrais pesados\n)
%Aplicaao do filtro cepstral
w=N/2*sin((1:N)*pi/N);
c1=c.*w;
fprintf(1,%7.3f,c1)
fprintf(1,\n)
fprintf(1,Coeficientes LSF\n)
%Calculo dos LSF
b=lsf(a);
fprintf(1,%7.3f,b)
fprintf(1,\n)
fprintf(1,Coeficientes LSF expressos em Hz\n)
b1=b*fs/2/pi;
fprintf(1,%7.0f,b1)
fprintf(1,\n)

3.7

Banco de filtros

%Programa que exemplifica a aplica~ao de um banco de filtros


%a analise do sinal de fala
close all;clear all
%Definiao do banco de filtros
N=6;
b=zeros(N,51);
for i=1:N
b(i,:)=fir1(50,[0.01+(i-1)/N i/N-0.01]);
H=freqz(b(i,:));
semilogy(abs(H)), hold on
end
hold off
%leitura do sinal de ficheiro
figure(2)
[x,fs]=wavread(som1);
x=x(14001:18000);
t=(1:length(x))/fs;
29

subplot(2,1,1),plot(t,x)
subplot(2,1,2),specgram(x,[],fs)
%calculo do filtro passa baixo
[a1,b1]=butter(3,1/100);
y=x;
x=zeros(N, length(y));
%Filtragem
figure (3)
for i=1:N
x(i,:)=filter(b(i,:),1,y);
subplot(N,1,i),plot(t,x(i,:))
end
%Rectificaao
figure(4)
x=abs(x);
for i=1:N
subplot(N,1,i),plot(t,x(i,:))
end
%filtragem passa baixo
figure(5)
for i=1:N
x(i,:)=filter(a1,b1,x(i,:));
subplot(N,1,i),plot(t,x(i,:))
end
%Decimaao por R
R=100;
figure(6)
for i=1:N
for j=1:R:length(x)
z(i,1+(j-1)/R)=x(i,j+R/2);
end
[m,n]=size(z);
t=(1:n)/(fs/R);
subplot(N,1,i),plot(t,z(i,:))
end
%Visualiza~ao da imagem final
figure(7)
f=(1:m)/m*fs/2;
imagesc(t,f,20*log10(abs(z)+eps));axis xy; colormap(jet)

3.8

Specdist-Clculo da distncia espectral

%subrotina que permite calcular a distancia espectral


%a partir dos espectros calculados pela STFT ou
30

%espectros calculados pelos modelos LPC


function [d , d1]=specdist(x1,x2,p,N)
close all
%calculo dos modelos LPC
[a1,g1]=durbin(x1,N);
[a2,g2]=durbin(x2,N);
m=length(x1)/2;
h1=abs(freqz(1,a1,m)*g1);
h2=abs(freqz(1,a2,m)*g2);
%subplot(2,1,1)
%semilogy(h1),hold on,semilogy(h2,r),hold off
v=abs(log(h1)-log(h2));
%subplot(2,1,2),plot(v,g)
%calculo da distancia espectral entre os modelos
d=(sum(v.^p)/length(v))^(1/p);
%calculo dos espectros usando a DFT
h1=abs(fft(x1)).^2/length(x1)/2;
h2=abs(fft(x2)).^2/length(x2)/2;
%figure (2)
M=length(h1)/2;
%subplot(2,1,1)
%semilogy(h1(1:M)),hold on,semilogy(h2(1:M),r),hold off
v=abs(log(h1)-log(h2));
%subplot(2,1,2),plot(v(1:m),g)
d1=(sum(v.^p)/length(v))^(1/p);

3.9

Cepsdist- Clculo da distncia cepstral

%subrotina para o calculo da distancia cepstral entre os segmentos


%x1 e x2 usando N coeficientes
function [d1,d2]=cepsdist(x1,x2,N)
%close all
%calculo usando a DFT
s1=abs(fft(x1));
c1=real(ifft(log(s1)));
s2=abs(fft(x2));
c2=real(ifft(log(s2)));
%plot(c1(2:length(x1)/2)),hold on,plot(c2(2:length(x2)/2),r)
%hold off
d1=sum((c1(2:N)-c2(2:N)).^2);
%calculo usando os modelos LPC de ordem N
a1=real(lpc(x1,N));
c1=cepslpc(a1,length(x1)/2);
a2=real(lpc(x2,N));
31

c2=cepslpc(a2,length(x2)/2);
d2=sum((c1(1:N)-c2(1:N)).^2);
%figure(2)
%plot(c1(2:length(x1)/2)),hold on,plot(c2(2:length(x2)/2),r);
%hold off
d1=sqrt(d1);d2=sqrt(d2);

32

Você também pode gostar