Marcelo Lucena de Souza Análise de Voz e Vídeo: mls2@

You might also like

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 38

Marcelo Lucena de Souza

mls2@cin.ufpe.br
Análise de Voz e Vídeo
Roteiro

 Signal Processing
 LPC Analysis of Speech
 Random Numbers and Probability
Distributions
Signal Processing

 findpeaks
 maxfilt
 meansqrt
 zerocross
 ditherq
 schmitt
 dlyapsq
 momfilt
findpeaks (Signal Processing)

 Encontra os picos de um sinal usando


interpolação quadrática
 Uso:
 [k,v]=findpeaks(x,m,w)
 Entradas
 x → sinal de entrada
 m → modo
 'q' interpolação quadrática
 'v' encontra os vales ao invés dos picos
 w → tolerância, picos fora do intervalo +-w são ignorados
 Saídas
 k → localização dos picos
 V → amplitude dos picos
findpeaks - Exemplo

 Sinal de entrada: m='q' w=1


findpeaks - Exemplo

 Saída: k → peak locations


Findpeaks - Exemplo

 Saída: v → peak amplitudes


maxfilt (Signal Processing)

 Encontra o máximo valor do sinal dentro de


uma janela ponderada exponencialmente
 Uso: [y,k]=maxfilt(x,f,w)
 Entradas
 x → sinal de entrada
 f → fator de esquecimento exponencial [f = exp(-1/T)].
f=1 para nenhum esquecimento
 w → janela de +-w
 Saídas
 y → vetor de saída (mesmo tamanho de x)
 k → array de índices, y=x(k)
maxfilt - Exemplo

 [y,k]=maxfilt(x,1,9)
maxfilt - Exemplo

 Resultado
meansqrtf (Signal Processing)

 Calcula a média quadrática da função de


transferência de um filtro
 Uso: d=meansqtf(b,a)
 Entrada
 b → coeficientes do numerador da F.T. do filtro
 a → coeficientes do denominador da F.T. Do filtro
 Saída
 d → nova função de transferência
meansqrtf - Exemplo

 Filtro de Pré-Enfase
 H(z) = 1 – 0.95/z
 b = [1 -0.95]
 a=1
 Resultado
 d=meansqtf(b,a)
 d = 1.9025
windows – (Signal Processing)

 Gera uma função de janela


 Uso: w = windows(wtype,n,mode,p)
 Entrada:
 wtype → tipo da janela (Hamming, Hanning,
Kaiser,...)
 n → número de pontos
 Mode → sequencia de 3 caracteres de configuração
da janela. Padrão 'ubv'.
 p → parâmetro específicos para a janela
 Saída:
 w → função janela
windows – Exemplo

 Janela de Hamming
 w = windows('hamming',100)
windows – Exemplo

 Hamming
zerocros (Signal Processing)

 Encontra as passagens pelo zero de um sinal


 Uso: [t,s]=zerocros(x,m)
 Entrada
 x → sinal
 m → modo, pode ser passagens positivas, negativas
ou ambas (padrão)
 Saída
 t → posições das passagens pelo zero
 s → inclinação estimada na passagem pelo zero
zerocros - Exemplo
ditherq (Signal Processing)

 Adiciona dither e quantiza o sinal. Dither é a


adição de um ruído para randomizar o erro de
quantização.
 Uso: [y,zf]=ditherq(x,m,zi)
 Entrada
 X → sinal de entrada
 M → modo. Tipo do dither: ruído branco (padrão), passa-
alta, passa-baixa, sem dither.
 Zi → número randômico
 Saída
 y → sinal de saída
 zf → número randômico
ditherq - Exemplo
schmitt (Signal Processing)

 Passa o sinal por um schmitt trigger


 Uso: [y,t]=schmitt(x,thresh,minwid)
 Entrada
 x → sinal de entrada
 thresh → vetor com os limiares superior e inferior do
schmitt trigger
 midwin → largura mínima. Pulsos menores que midwin
são ignorados
 Saída
 y → sinal de saída
 t → contém o índice das amostras na qual x atravessou
os limiares
schmitt - Exemplo

 y = schmitt(x, [-0.05 0.05]);


dlyapsq (Signal Processing)

 Soluciona a equação de Lyapunov (AV'VA' -


V'V +BB' =0), usada na análise de estabilidade
em teoria do controle
 Uso: v=dlyapsq(a,b)
 Entrada
 a, b → parametros da equação
 Saída
 V → solução da equação
momfilt (Signal Processing)

 Calcula o momento de um sinal usando uma


janela
 Uso: [y,mm]=momfilt(x,r,w,m)
 Entrada
 x → sinal de entrada
 r → lista de momentos (relativo a média ou a zero)
 w → janela (hamming é o padrão)
 m → índice de w usado como centro (padrão é o meio)
 Saída
 y → sinal de saída
 mm → m usado no momento
LPC Analysis of Speech

 lpcauto
 lpccovar
 lpcrr2am
 lpcbwexp
 ccwarpf
 lpcifilt
 lpcrand
lpcauto (LPC)

 Realiza a análise LPC baseada na autocorrelação


 Uso: [ar,e,k]=lpcauto(s,p,t)
 Entrada
 s → sinal de entrada
 p → ordem da análise (Padrão: 12)
 t → vetor com parametros opcionais dos frames
 Saída
 ar → coeficientes LPC
 e → energia do sinal residual
 k → primeira e última amostra do intervalo de análise
lpcauto - Exemplo

 x = sinal dos exemplos anteriores


 [ar e k] = lpcauto(x);
 ar = [1.0000 -1.0169 0.0903 0.4222 -0.2532 -
0.2300 0.5742 -0.2297 -0.2633 0.1441 0.1043
-0.0837 -0.0438]
 e = 0.0038
 k = [1 100]
lpccovar (LPC)

 Realiza a análise LPC baseada na covariância


 Uso: [ar,e,dc]=lpccovar(s,p,t,w)
 Entrada
 s → sinal de entrada
 p → ordem da análise (Padrão: 12)
 t → parametros opcionais dos frames
 w → erro de ponderação para cada amostra (Padrão: 1)
 Saída
 ar → coeficientes LPC
 e → energia do sinal residual
 dc → componente DC do sinal de entrada
lpccovar - Exemplo

 x = mesmo sinal do exemplo anterior


 [ar e dc] = lpccovar(x);
 ar = [1.0000 -1.1087 0.4279 0.0894 0.0695 -
0.2697 0.3888 -0.0864 -0.3764 0.3216 0.0043
-0.0714 -0.0445]
 e = [0.0145 0.0512]
 dc = -1.5469e-04
lpcrr2am (LPC)

 Converte coeficientes de autocorrelação para


a matriz de autocorrelação
 Uso: [am,em]=lpcrr2am(rr);
 Entrada
 Rr → coeficientes
 Saída
 Am → matriz de autocorrelação (Toeplitz)
 Em → coeficientes LPC
lpcbwexp (LPC)

 Expande a largura de banda do filtro LPC


 Uso: arx=lpcbwexp(ar,bw)
 Entrada
 ar → coeficientes LPC
 bw → largura de banda mínima a ser expandida
 Saída
 arx → novos coeficientes LPC
ccwarpf (LPC)

 Realiza warping de coeficientes cepstral


 Uso: m=ccwarpf(f,n,s)
 Entrada
 F → [f1 f2], vetor com a frequencia de amostragem
original (f1) e a nova frequencia de amostragem (f2)
 N → [n1 n2], vetor com o número original de
coeficientes (n1) e o novo número (n2).
 S → escala linear, 'l' ou mel, 'm'
 Saída
 m → matriz de transformação
lpcifilt (LPC)

 Aplica filtro inverso no sinal de voz. Usado na


estimação do glottal waveform.
 Uso: u=lpcifilt(s,ar,t,dc,fade)
 Entrada
 S → sinal de voz
 Ar → coeficientes LPC
 T → índice da primeira amostra
 Dc → Componente DC a ser subtraído do sinal
 Fade → amostras de fade
 Saída
 U → resultado do filtro
lpcrand (LPC)

 Gera polinômio randômico estável de ordem


p. Usado para fins de teste.
 Uso: ar=lpcrand(p,n,bw)
 Entrada
 P → ordem do polinômio
 N → número de polinômios a serem gerados
 Bw → largura de banda
 Saída
 Ar → coeficientes do(s) polinômio(s) gerado(s)
lpcrand - Exemplo

 teste = lpcrand(12,1);
 teste = [1.0000 -0.1091 -0.2139 -0.7055 -0.3406
0.6335 0.5740 -0.0618 -0.3154 -0.1504 -
0.2432 0.3939 -0.3346]
Random Numbers and Probability
Distributions
 Random Number Generation
 Randvec
 Randiscr
 Usasi
 Randfilt
 Rnsubset
 Probability Density Functions
 Gmmlpdf
 Lognmpdf
 Miscellaneous
 Histndim
 Gausprod
 Maxgauss
histndim

 Gera e ou plota um histograma n-


dimensional
 Uso: [v,t]=histndim(x,b,mode)
 Entrada
 X -> dados de entrada, x = (m,d)
 B -> níveis do histograma para cada dimensão
 Mode -> configuração
 Saída
 V -> histograma
 T -> dimensão do histograma
histndim - Exemplo

 [v t] = histndim(v1,20,'h');
Referências

 Voicebox home page


 http://www.ee.ic.ac.uk/hp/staff/dmb/voicebox/voi
cebox.html
 Wikipedia
 http://em.wikipedia.org

You might also like