Top Banner
Marcelo Lucena de Souza [email protected] Análise de Voz e Vídeo
38
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Marcelo Lucena de Souza mls2@cin.ufpe.br Análise de Voz e Vídeo.

Marcelo Lucena de [email protected]álise de Voz e Vídeo

Page 2: Marcelo Lucena de Souza mls2@cin.ufpe.br Análise de Voz e Vídeo.

RoteiroRoteiro

Signal Processing LPC Analysis of Speech Random Numbers and Probability

Distributions

Page 3: Marcelo Lucena de Souza mls2@cin.ufpe.br Análise de Voz e Vídeo.

Signal ProcessingSignal Processing

findpeaks maxfilt meansqrt zerocross ditherq schmitt dlyapsq momfilt

Page 4: Marcelo Lucena de Souza mls2@cin.ufpe.br Análise de Voz e Vídeo.

findpeaks (Signal Processing)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

Page 5: Marcelo Lucena de Souza mls2@cin.ufpe.br Análise de Voz e Vídeo.

findpeaks - Exemplofindpeaks - Exemplo

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

Page 6: Marcelo Lucena de Souza mls2@cin.ufpe.br Análise de Voz e Vídeo.

findpeaks - Exemplofindpeaks - Exemplo

Saída: k → peak locations

Page 7: Marcelo Lucena de Souza mls2@cin.ufpe.br Análise de Voz e Vídeo.

Findpeaks - ExemploFindpeaks - Exemplo

Saída: v → peak amplitudes

Page 8: Marcelo Lucena de Souza mls2@cin.ufpe.br Análise de Voz e Vídeo.

maxfilt (Signal Processing)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)

Page 9: Marcelo Lucena de Souza mls2@cin.ufpe.br Análise de Voz e Vídeo.

maxfilt - Exemplomaxfilt - Exemplo

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

Page 10: Marcelo Lucena de Souza mls2@cin.ufpe.br Análise de Voz e Vídeo.

maxfilt - Exemplomaxfilt - Exemplo

Resultado

Page 11: Marcelo Lucena de Souza mls2@cin.ufpe.br Análise de Voz e Vídeo.

meansqrtf (Signal meansqrtf (Signal Processing)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

Page 12: Marcelo Lucena de Souza mls2@cin.ufpe.br Análise de Voz e Vídeo.

meansqrtf - Exemplomeansqrtf - 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

Page 13: Marcelo Lucena de Souza mls2@cin.ufpe.br Análise de Voz e Vídeo.

windows – (Signal windows – (Signal Processing)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

Page 14: Marcelo Lucena de Souza mls2@cin.ufpe.br Análise de Voz e Vídeo.

windows – Exemplowindows – Exemplo

Janela de Hamming w = windows('hamming',100)

Page 15: Marcelo Lucena de Souza mls2@cin.ufpe.br Análise de Voz e Vídeo.

windows – Exemplowindows – Exemplo

Hamming

Page 16: Marcelo Lucena de Souza mls2@cin.ufpe.br Análise de Voz e Vídeo.

zerocros (Signal Processing)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

Page 17: Marcelo Lucena de Souza mls2@cin.ufpe.br Análise de Voz e Vídeo.

zerocros - Exemplozerocros - Exemplo

Page 18: Marcelo Lucena de Souza mls2@cin.ufpe.br Análise de Voz e Vídeo.

ditherq (Signal Processing)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

Page 19: Marcelo Lucena de Souza mls2@cin.ufpe.br Análise de Voz e Vídeo.

ditherq - Exemploditherq - Exemplo

Page 20: Marcelo Lucena de Souza mls2@cin.ufpe.br Análise de Voz e Vídeo.

schmitt (Signal Processing)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

Page 21: Marcelo Lucena de Souza mls2@cin.ufpe.br Análise de Voz e Vídeo.

schmitt - Exemploschmitt - Exemplo

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

Page 22: Marcelo Lucena de Souza mls2@cin.ufpe.br Análise de Voz e Vídeo.

dlyapsq (Signal Processing)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

Page 23: Marcelo Lucena de Souza mls2@cin.ufpe.br Análise de Voz e Vídeo.

momfilt (Signal Processing)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

Page 24: Marcelo Lucena de Souza mls2@cin.ufpe.br Análise de Voz e Vídeo.

LPC Analysis of SpeechLPC Analysis of Speech

lpcauto lpccovar lpcrr2am lpcbwexp ccwarpf lpcifilt lpcrand

Page 25: Marcelo Lucena de Souza mls2@cin.ufpe.br Análise de Voz e Vídeo.

lpcauto (LPC)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

Page 26: Marcelo Lucena de Souza mls2@cin.ufpe.br Análise de Voz e Vídeo.

lpcauto - Exemplolpcauto - 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]

Page 27: Marcelo Lucena de Souza mls2@cin.ufpe.br Análise de Voz e Vídeo.

lpccovar (LPC)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

Page 28: Marcelo Lucena de Souza mls2@cin.ufpe.br Análise de Voz e Vídeo.

lpccovar - Exemplolpccovar - 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

Page 29: Marcelo Lucena de Souza mls2@cin.ufpe.br Análise de Voz e Vídeo.

lpcrr2am (LPC)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

Page 30: Marcelo Lucena de Souza mls2@cin.ufpe.br Análise de Voz e Vídeo.

lpcbwexp (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

Page 31: Marcelo Lucena de Souza mls2@cin.ufpe.br Análise de Voz e Vídeo.

ccwarpf (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

Page 32: Marcelo Lucena de Souza mls2@cin.ufpe.br Análise de Voz e Vídeo.

lpcifilt (LPC)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

Page 33: Marcelo Lucena de Souza mls2@cin.ufpe.br Análise de Voz e Vídeo.

lpcrand (LPC)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)

Page 34: Marcelo Lucena de Souza mls2@cin.ufpe.br Análise de Voz e Vídeo.

lpcrand - Exemplolpcrand - 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]

Page 35: Marcelo Lucena de Souza mls2@cin.ufpe.br Análise de Voz e Vídeo.

Random Numbers and Random Numbers and Probability DistributionsProbability Distributions Random Number Generation

Randvec Randiscr Usasi Randfilt Rnsubset

Probability Density Functions Gmmlpdf Lognmpdf

Miscellaneous Histndim Gausprod Maxgauss

Page 36: Marcelo Lucena de Souza mls2@cin.ufpe.br Análise de Voz e Vídeo.

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

Page 37: Marcelo Lucena de Souza mls2@cin.ufpe.br Análise de Voz e Vídeo.

histndim - Exemplo

[v t] = histndim(v1,20,'h');

Page 38: Marcelo Lucena de Souza mls2@cin.ufpe.br Análise de Voz e Vídeo.

Referências

Voicebox home page http://www.ee.ic.ac.uk/hp/staff/dmb/voic

ebox/voicebox.html Wikipedia

http://em.wikipedia.org