conceitos de sinais e sistemas mestrado em ci ncias da fala e da audi o
Download
Skip this Video
Download Presentation
Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

Loading in 2 Seconds...

play fullscreen
1 / 38

Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição - PowerPoint PPT Presentation


  • 85 Views
  • Uploaded on

Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição. António Teixeira 8 Janeiro 2005. Análise LPC Análise Cepstral Obtenção de F0 e Formante MATLAB lpc() rceps() xcorr(). Aula 12. Análise LPC. Uma introdução.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição' - marah-rutledge


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
conceitos de sinais e sistemas mestrado em ci ncias da fala e da audi o

Conceitos de Sinais e SistemasMestrado em Ciências da Fala e da Audição

António Teixeira

8 Janeiro 2005

slide2
Análise LPC

Análise Cepstral

Obtenção de F0 e Formante

MATLAB

lpc()

rceps()

xcorr()

Aula 12

an lise lpc

Análise LPC

Uma introdução

slide4
A análise de Fourier não é a única forma de determinar o espectro de um sinal
  • Uma técnica muito utilizada na área do processamento de voz e Fonética envolve determinar os chamados coeficientes de predição linear (Linear Predictive Coding Coeefficients)
  • Este procedimento é conhecido por análise LPC
    • é um processo mais complexo que a DFT
    • mas é possível compreender os princípios sem entrar nos detalhes matemáticos mais complexos
slide5
Segundo a teoria-fonte filtro produz-se um som pela passagem de uma excitação por um filtro

“Entrada nula”  cordas vocais  tracto vocal  rad  voz

isto é

“Entrada nula”  sistema (cordas vocais + tracto + rad) voz

  • A noção base da análise LPC baseia-se no processo inverso
        • voz  sistema inverso (filtro LPC)  “saída zero”

a saída será zero se o filtro LPC for exactamente o inverso do sistema

  • No primeiro caso temos “síntese” ou produção, no segundo “análise”
slide6
Na abordagem LPC as características espectrais da fonte glotal e radiação são incluídas conjuntamente com as relativas ao tracto vocal num mesmo filtro
slide7
A análise LPC envolve determinar um filtro cujas características em termos de resposta em frequência seja o inverso do espectro do sinal de voz
  • Como já vimos os filtros digitais são definidos por um conjunto de coeficientes
    • lembra-se dos vectores usados no comando filter ?
  • Também é possível usar um conjunto de coeficientes para “prever” o valor de uma amostra do sinal com base em amostras anteriores
    • y[n]= função de y[n-1], y[n-2], y[n-3] ...
  • O algoritmo LPC faz uma previsão desta forma usando um número reduzido de pontos anteriores, multiplicando cada por um coeficiente
slide8
O princípio básico da análise LPC é a de que uma amostra pode ser considerado como simplesmente a a soma de um número de amostras anteriores, cada multiplicada por um número adequado
    • os números são denominados coeficientes de predição linear
    • y[n]= a1 y[n-1] + a2 y[n-2] ....
slide9
Para um sinal y, a análise LPC calcula os coeficientes a[1] ... a[p] tais que

y[n]= a[1] y[n-1] +a[2] y[n-2]+ ... +a[p] y[n-p] +erro

rela o com a produ o de voz
Relação com a produção de voz
  • A produção pode ser descrito pela equação de convolução

y * a = b * x

onde x é ma fonte, a e b coeficientes.

  • Para sons sem anti-ressonâncias (exemplo: as vogais) b=1 e a equação reduz-se
    • y * a = x

y[n] + a[1] y[n-1] +a[2] y[n-2] + ... +a[k]y[n-k]=x[n]

ou rearranjando

y[n] = -a[1] y[n-1]-a[2] y[n-2]- ... -a[k]y[n-k]+x[n]

  • Ou seja, num modelo sem anti-ressonâncias, a amostra actual é igual a uma combinação linear de amostras anteriores da saída mais a entrada
  • O modelo proposto antes é, portanto, adequado
um exemplo de como determinar os coeficientes
Um exemplo de como determinar os coeficientes
  • Consideremos um sinal
  • tomemos 12 amostras (uma janela)
    • designados por s1, s2, ..., s12
  • a estimativa para s5 considerando as 4 amostras anteriores
    • s^5= a1 x s4 + a2 x s3 + a3 x s2 + a4 x s1
    • num caso concreto teríamos algo como
    • s^5 = -42 a1 + 17 a2 + 5 a3 + 90 a4
slide12
continuando...
    • s^6= - 71 a1 – 42 a2 + 17 a3 + 50 a4
    • s^7= ....
    • s^8= ....
    • s^9= ....
  • Se cada amostra fosse correctamente predicto, não haveria diferença entre s e s^

0=sn – s^n

slide13
isto é

s6 – s^6 = 0

= -40 – (-71 a1 –42 +17 a3 + 50 a4)

s7-s^7=0

= -4 –(-74 a1 –54 a2 + 16 a3 + 97 a4)

s8- s^8=0

= 22 – (-40 a1 – 79 a2 – 54 a3 + 16 a4)

s9-s^9=0

=49 – (-4 a1 –59 a2 – 79 a3 – 54 a4)

temos um sistema de 4 equações com 4 incógnitas

facilmente se obtem a1,a2,a3 e a4

neste caso: a1=0.5, a2=-0.6, a3=0.4 e a4=-0.7

generalizando
generalizando
  • No entanto pretendemos obter os coeficientes que sejam adequados não apenas a este conjunto restrito e específico de pontos mas para qualquer amostra
    • como vimos resolvendo a equação anterior obtemos coeficientes adequados para s6 a s9
    • mas darão um erro se aplicados a outras amostras
    • o erro para cada ponto é designado por en
      • en=(s^n – sn)2
        • usa-se o quadrado para que seja sempre positivo
slide15
teremos:

e6=(s^6 – s6)2

(a1 s5 + a2 s4 + a3 s3 + a4 s2 – s6)2

e7=(s^7 – s7)2

(a1 s6 + a2 s6 + a3 s4 + a4 s3 – s7)2

...

e12=(s^12 – s12)2

(a1 s11 + a2 s10 + a3 s9 + a4 s8 – s7)2

  • o algoritmo resolve este conjunto de equações tentando minimizar o erro
    • Usando o Matlab obtêm-se rapidamente usando o comando lpc()
    • Os coeficientes são uma forma eficiente de descrever o sinal de voz
matlab lpc
Matlab – lpc()
  • A = LPC(X,N) finds the coefficients, A=[ 1 A(2) ... A(N+1) ], of an Nth order forward linear predictor
    • Xp(n) = -A(2)*X(n-1) - A(3)*X(n-2) - ... - A(N+1)*X(n-N)
    • such that the sum of the squares of the errors

err(n) = X(n) - Xp(n) is minimized.

  • [A,E] = LPC(X,N) returns the variance (power) of the prediction error.
  • LPC uses the Levinson-Durbin recursion to solve the normal equations that arise from the least-squares formulation.
    • This computation of the linear prediction coefficients is often referred to as the autocorrelation method.
m todos de obten o dos coef
Métodos de obtenção dos coef.
  • Existem várias formas de obter os coeficientes
  • Sem entrar nos detalhes, refiram-se:
    • método da autocorrelação
    • método da covariância
    • método da “lattice”
    • Consultar livros como Rabiner & Schafer 1978 para os detalhes
slide18

Demo

lpclearn

exemplo
Exemplo
  • Consideremos um segmento de sinal (de uma vogal)
  • ak=lpc(frame,12)
  • resultado

1.0000 -2.3994 2.0545 -0.5626

-0.1950 0.0965 -0.0118 -0.1951

0.7283 -0.5366 -0.4562 0.8068 -0.3069

resposta em frequ ncia
Resposta em frequência
  • Como após a determinação dos coeficientes temos um filtro (em que a saída depende de valores da saída em instantes anteriores) podemos obter a sua resposta em frequência
slide21
Como o filtro obtido será o inverso do filtro de produção, as características espectrais do segmento analisado serão:
an lise na frequ ncia com lpc
Análise na frequência com LPC
  • Tendo os coeficientes a1...ak facilmente se obtém o espectro
    • Exemplo:
      • Material analisado: pequeno segmento de uma vogal

a0= 1.0000 a1= -0.1155

a2= -0.4197 a3= 0.1063

a4= 0.2854 a5= 0.6263

a6= -0.2841 a7= -0.2171

a8= -0.0904 a9= 0.2207

a10= 0.2150 a11= -0.2755

a12= -0.3004

Raiz1 878

Raiz2 1420

Raiz3 2729

Raiz4 3446

slide24
A análise LPC separa os componentes relativos à fonte e ao filtro
  • É importante para a determinação da frequência fundamental e as formantes
quest es pr ticas
Questões práticas
  • Ordem a utilizar
    • Regra prática
      • Frequência de amostragem em kHz + 2
      • Exemplo: 10000 Hz => 10+2=12
  • Aplicar janelas
  • Usar pré-ênfase
    • O espectro da fala decai com o aumento da frequência
    • Para facilitar a análise LPC tenta-se corrigir esse efeito
      • y(n)=x(n) – a x(n-1), a~0.98
pr nfase
Pré-ênfase
  • As primeiras formantes têm maior energia e são preferencialmente modeladas
    • A maior energia deve-se ao efeito combinado da excitação glotal e da radiação
  • Geralmente utiliza-se um filtro de pré-ênfase
    • s’(n)=s(n) – a1 s(s-1)
    • Tipicamente 0.96<= a1 <= 0.99
  • Para reconstruir o sinal deve usar-se o filtro inverso
    • s(n)= s’(n) + a1 s(n-1)
leitura adicional
Leitura adicional
  • Capítulo 11 do livro “Elements of Acoustic Phonetics” de Peter Ladefoged, 2ª ed., University of Chicago Press.
    • SDUA 801.4 17 2ed
  • Capítulo 8 do livro “Techniques in Speech Acoustics” de J. Harrington e S. Cassidy, Kluwer Academic Press, 1999
      • SDUA 800H 664
      • Apresenta:
        • informação sobre a forma como são calculados os coeficientes LPC (secção 8.2)
        • Obtenção do espectro com base nos coeficientes (sec. 8.4)
exerc cios matlab
Exercícios Matlab
  • Obter um pequeno segmento (frame) de uma vogal
  • Obter os coeficientes com a ajuda do Matlab
  • Obter a resposta em frequência do filtro e do filtro inverso
    • comparar com o espectro obtido pela DFT/FTT
  • Obter o sinal de erro
  • Verificar o efeito de alterar o número de coeficientes
  • Repetir o processo para outro tipo de som (fricativa por exemplo)
motiva o
Motivação
  • Como o sinal de voz pode ser obtido pela convolução da excitação glotal com a resposta impulsional do filtro constituído pelo tracto torna-se necessário muitas vezes efectuar a operação inversa (desconvolução)
  • A análise cepstral é uma das técnicas que permite estimar uma separação da fonte do filtro
  • Uma das motivações é que os harmónicos da frequência fundamental podem dificultar a análise das formantes
    • uma muito melhor estimativa das formantes poderia ser obtida se os harmónicos forem removidos de alguma forma
propriedades importantes
Propriedades importantes
  • Para compreender a análise cepstral interessa perceber como são representados no espectro a fonte e o filtro
  • Uma das propriedades da DFT é que se dois sinais x (a fonte) e h (o filtro) são convoluidos a sua DFT é igual ao produto da DFT de x pela DFT de h
  • Quando se representa o espectro em dBs temos uma escala logaritmica
    • logaritmo(a x b) = logaritmo(a) + logaritmo (b)
  • Portanto, o espectro em dBs representa a SOMA do espectro da fonte com o do filtro
    • o que nos fornece um caminho para os separar ...
slide32
Uma pequena revisão:
    • se tivermos um sinal composto por duas sinusóides, uma variando lentamente no tempo, outra rapidamente,
      • isto é uma de baixa frequência e outra de frequência elevada
    • onde apareceriam as riscas no espectro ?
    • A correspondente à baixa frequência apareceria na parte “baixa” do espectro; a outra na parte “alta”
o cepstro
O cepstro
  • É esta lógica que está na base da separação das variações rápidas do espectro devido à fonte das variações lentas do filtro
  • Se considerarmos o espectro como um sinal (no tempo) e aplicarmos a DFT então a parte devida à fonte deverá aparecer nas frequências elevadas e a relativa ao filtro nas frequências baixas
    • Na prática não se aplica a DFT para a inversa (IDFT) para converter da frequência para o tempo
      • o caminho inverso da DFT
    • Curiosamente, apesar de inversas a DFT e a IDFT resultam no mesmo efeito de separação
      • com a DFT ou IDFT a parte de variação rápida é separada da parte de variação lenta
cepstro real
Cepstro real

Definição:

origem do nome
Origem do nome
  • Como se trata de um espectro de outro espectro, os seus “inventores” criaram uma variação da palavra “spectrum” chegado a “cepstrum”
    • adaptado ao Portugês: “espectro”  “cepstro”
  • Já agora:
    • filtering  liftering
    • frequency  quefrency
em matlab
Em Matlab

z=rceps(x);

x

zx

espectro suave
Espectro suave
  • Depois de separados podemos eliminar cada uma das partes por um processo de filtragem
    • Se eliminarmos a parte de frequências mais elevadas e voltarmos a efectuar uma DFT teremos um espectro “suave” com “apenas” as características devidas ao filtro (tracto)
cepstro de sinal peri dico
Cepstro de sinal periódico
  • Se o sinal original é periódico então a fonte manifesta-se como “picos” espaços da duração do período fundamental
ad