Buscar

Relatório Processos - teste de voz

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 14 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 14 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 14 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

UNIVERSIDADE FEDERAL DO CEARÁ 
CENTRO DE TECNOLOGIA 
DEPARTAMENTO DE TELEINFORMÁTICA 
 
 
 
 
 
Processos Estocásticos 
Projeto Computacional 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Equipe: 
Arthur Eduardo de Oliveira Morais – 380792; 
Michel Gonzaga dos Santos – 378725; 
Victor Lander – 378729; 
Wagner Lindemberg dos Santos Pereira Júnior – 375176. 
 
Professor: Charles Casimiro Cavalcante. 
Curso: Engenharia de Telecomunicações. 
Turma: 01. 
 
 
 
Fortaleza, 06 de julho de 2016 
Questão 1. 
Calcular e plotar (gráfico) a função de autocorrelação dos sinais de áudio. É possível inferir algum 
significado dos sinais que compõem o arquivo i. a partir de sua função de autocorrelação? O que se 
pode afirmar? 
Procedimento: 
Utilizando a função xcorr() geramos um vetor com valores de autocorrelação em cada intervalo 
de tempo. Em seguida utilizando a função plot() plotamos o vetor correspondente a cada um dos 
arquivos cedidos: noisy speech, speech, male speech. 
 Código: 
figure 
 plot(xcorr(noisy_speech,noisy_speech)); 
 t = xlabel('tempo'); >> Rx = ylabel('Rx'); 
 legend('noisy speech'); 
 grid on; 
 
 figure 
 plot(xcorr(speech,speech)); 
 t = xlabel('tempo'); 
 Rx = ylabel('Rx'); 
 legend('speech'); 
 grid on; 
 
figure 
 plot(xcorr(male_speech,male_speech)); 
 t = xlabel('tempo'); 
 Rx = ylabel('Rx'); 
 legend('male speech'); 
grid on; 
 
 
Observa-se que o arquivo speech, utilizando as funções hist, mean e a autocorrelação, verifica-
se que o arquivo se aproxima de um processo estocástico com PDF gaussiana (a média não é 
exatamente zero porque o arquivo é finito). Considerando que para diferentes repetições do arquivo 
a tendência se manteria, pode-se inferir a variância do arquivo a partir do pico apresentado no gráfico 
da função de autocorrelação do arquivo. Concluímos isso a partir das propriedades a baixo: 
1. Rx(0)́ e o valor quadrático médio do processo X(t) 
E[x2(ti)] = Rx(ti, ti) = Rx (ti−ti) = RX(0). 
2. Rx(0) =σ2x se o processo tiver média nula. 
3. |Rx(τ)|≤ Rx(0), para todo τ. 
Na página seguinte temos os gráficos das autocorrelações dos arquivos noisy speech, speech, 
male_speech. 
 
 Male Speeach: 
 
 Noisy Speeach: 
 
 Speeach: 
 
Questão 2. 
Calcular e plotar a densidade espectral de potência (DEP) dos sinais. Analisar se é possível “separar” os 
sinais via uma filtragem baseada, somente, na DEP. 
Procedimento 
Código: 
% Speech signal 
Fs = 22050; 
t = 0:1/Fs:1-1/Fs; 
 
N = length(speech); 
xdfts = fft(speech); 
xdfts = xdfts(1:N/2+1); 
psdxs = (1/(Fs*N)) * abs(xdfts).^2; 
psdxs(2:end-1) = 2*psdxs(2:end-1); 
freq = 0:Fs/length(speech):Fs/2; 
 
figure 
plot(freq,10*log10(psdxs),'k'); 
 
grid on; 
x = xlabel('Frequência'); 
y = ylabel('Potência'); 
legend('speech'); 
 
% male signal 
Fs = 22050; 
t = 0:1/Fs:1-1/Fs; 
 
N = length(male_speech); 
xdftm = fft(male_speech); 
xdftm = xdftm(1:N/2+1); 
psdxm = (1/(Fs*N)) * abs(xdftm).^2; 
psdxm(2:end-1) = 2*psdxm(2:end-1); 
freq = 0:Fs/length(male_speech):Fs/2; 
 
figure 
plot(freq,10*log10(psdxm),'r'); 
grid on; 
x = xlabel('Frequência'); 
y = ylabel('Potência'); 
legend('male speech'); 
 
% noisy signal 
Fs = 22050; 
t = 0:1/Fs:1-1/Fs; 
 
N = length(male_speech); 
xdftn = fft(male_speech); 
xdftn = xdftn(1:N/2+1); 
psdxn = (1/(Fs*N)) * abs(xdftn).^2; 
psdxn(2:end-1) = 2*psdxn(2:end-1); 
freq = 0:Fs/length(male_speech):Fs/2; 
 
figure 
plot(freq,10*log10(psdxn)); 
grid on; 
x = xlabel('Frequência'); 
y = ylabel('Potência'); 
legend('noisy speech'); 
 Em resposta ao questionamento sobre a possibilidade da criação de um filtro usando apenas 
a densidade espectral de potência, verificou-se que tal aplicação é impossível de ser realizada, visto 
que a DEP trabalha com a frequência dos sinais. O método se torna inviável devido ao fato de que as 
frequências dos sinais ii e iii são muito próximas, impossibilitando a identificação do ruído a ser filtrado, 
exigindo assim métodos mais complexo. 
 
 Plotando as Densidades Espectral: 
 Noisy Speech: 
 
 
 Male Speech: 
 
 
 
 
 
 
 
 Speech: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Questão 3. 
Os arquivos ii. e iii. São os mesmos (mesma frase falada), apenas coma adição de ruído no iii. Este tipo 
de dado é usado para o problema de “identificação de locutor” que é usado para fins forenses, por 
exemplo, para verificar se algum locutor está presente em outra gravação. Projete um método, 
baseado nas características estatísticas dos sinais para conseguir verificar se os locutores são os 
mesmos 
 Código: 
 
% Speech signal 
 
 
Fs = 22050; 
t = 0:1/Fs:1-1/Fs; 
 
N = length(male_speech); 
xdft = fft(male_speech); 
xdft = xdft(1:N/2+1); 
psdx = (1/(Fs*N)) * abs(xdft).^2; 
psdx(2:end-1) = 2*psdx(2:end-1); 
freq = 0:Fs/length(male_speech):Fs/2; 
 
 
 
% Noisy-speech signal 
 
 
Fs = 22050; 
t = 0:1/Fs:1-1/Fs; 
A = length(noisy_speech); 
xdft = fft(noisy_speech); 
xdft = xdft(1:A/2+1); 
psdx_m = (1/(Fs*A)) * abs(xdft).^2; 
psdx_m(2:end-1) = 2*psdx_m(2:end-1); 
freq = 0:Fs/length(noisy_speech):Fs/2; 
 
a = [psdx_m - psdx]; 
w = norm(a) 
 
figure 
 plot(freq,10*log10(psdx)); 
 hold on; 
 plot(freq,10*log10(psdx_m),'r'); 
 
 
 grid on; 
legend('male speech','noisy speech'); 
 
 
Com o intuito de identificar se os indivíduos nos sinais com ruído (Noisy Speeach) e sem ruído 
(Male Speeach) são a mesma pessoa, pesquisamos sobre métodos eficientes para tal feito, constatou-
se que apenas características estatísticas tais como média e variância não foram eficientes para tal 
feito. Para tanto, partido do fato de que as pessoas têm uma frequência de voz, utilizamos a densidade 
espectral de potência. Considerando essa ideia que as frequências dos sinais serão bem próximos 
quando fazemos a norma da subtração dos vetores resultantes da DEP dos sinais com ruído e sem 
ruído para o mesmo indivíduo temos que obter um número bem próximo de zero. Utilizando o código 
acima obtemos W = 8.7276e-004, onde W é a variável que recebe o resultado da norma da subtração 
das DEP’s. 
 
 DEP’s da Male Speeach x Noisy Speeach 
 
 
 
 
 
 
 
 
 
 
 
 
 
Questão 4. 
Os dados de voz e áudio podem ser vistos como variáveis aleatórias e possuem suas 
distribuições de probabilidade bastante definidas. Identifique as principais 
características dos sinais nos arquivos i. iii. e gere variáveis aleatórias que emulem o 
comportamento estatístico dos sinais. Verifique se eles teriam alguma “inteligibilidade 
sonora”. Porquê? 
 Código: 
 
% Gerador speech 
 
 N = length(speech); 
 x = randn(N,1); 
 y = mean(speech)+sqrt(var(speech))*x; 
 
 figure 
 title('Sinal speech gerado') 
 hist(y); 
 
 figure 
 plot(xcorr(y,y),'r'); 
 hold on; 
 
 grid on; 
 
 figure 
 hist(speech); 
 
 sound(y,fs); 
 
 Ms = mean(speech) 
 Mss = mean(y) 
 Vs = var(speech) 
 Vss = var(y) 
 
% Gerador male_speech 
 A = length(male_speech); 
 z = randn(A,1); 
 W = mean(male_speech)+sqrt(var(male_speech))*z; 
 
 figure 
 title('Sinal male_speech gerado') 
 hist(W); 
 
 figure 
 plot(xcorr(W,W),'r'); 
 hold on; 
 
 grid on; 
 
 figure 
 hist(male_speech); 
 
 sound(W,fs); 
 
 Mm = mean(male_speech) 
 Msm = mean(W) 
 Vm = var(male_speech) 
 Vsm = var(W)% Gerador noisy_speech 
 B = length(noisy_speech); 
 c = randn(B,1); 
 v = mean(noisy_speech)+sqrt(var(noisy_speech))*c; 
 
 figure 
 title('Sinal male_speech gerado') 
 hist(v); 
 
 figure 
 plot(xcorr(v,v),'r'); 
 hold on; 
 
 grid on; 
 
 figure 
 hist(noisy_speech); 
 
 sound(v,fs); 
 
 Mn = mean(noisy_speech) 
 Msn = mean(v) 
 Vn = var(noisy_speech) 
 Vsn = var(v) 
 
 
 
 
 
 
 
 
 
Gerou-se vetores com distribuição de probabilidade similares aos arquivos fornecidos por meio 
das funções hist() e xcorr(). Observamos que os sinais fornecidos resultaram em um histograma similar 
à gaussiana. Tendo isso em mente, geramos vetores com as mesmas características estatísticas desse 
tipo de distribuição. Usando a relação: y = mean(speech)+sqrt(var(speech))*x; onde x é uma vetor 
aleatório com media 0 e variância 1. 
Nessa perspectiva, calculamos a média e a variância do arquivo Speech e do vetor aleatório 
gerado: 
Ms = -0.0040 (média do Speech) e Mss = -0.0040 (media do y) , Vs = 0.0271( Variância do 
Speech) Vss = 0.0270 ( Variância do y). 
Como os resultados são semelhantes, é razoável supor que tenham dados estatísticos 
igualmente semelhantes. Contudo, não possuem inteligibilidade sonora pois o sinal de voz é contínuo 
enquanto o arquivo simulado possui domínio discreto. Portanto, a priori, não é possível com as 
ferramentas utilizadas gerar “uma voz”, visto que ainda existem variáveis como timbre, frequência e 
ruídos presentes que influenciam significantemente na obtenção desse tipo de sinal. Os histogramas 
abaixo para o y é aleatório e logo para cada vez que executarmos o código poderá plotar um 
histograma diferente. 
 Histograma do y: 
 
 Histograma do Speech: 
 
 Autocorrelação: 
 
Usamos a mesma lógica para gerar um vetor aleatório que simule a Male Speech. Abaixo estão 
o Histograma de W (Vetor gerado) , histograma da Male Speech e a autocorrelação do W. A média e 
a Variância são: Mm = -8.2927e-005 ,Msm = -2.9814e-004 ,Vm = 0.0013 e Vsm = 0.0013 , aonde m = 
Male Speech e sm = vetor gerado W. 
 Histograma do W: 
 
 Histograma do Male Speech: 
 
 Autocorrelação: 
 
Usamos a mesma lógica para o Speech e Male Speech para gerar um vetor aleatório que simule 
a Noisy Speech. Abaixo estão o Histograma de V (Vetor gerado) , histograma da Noisy Speech e a 
autocorrelação do V. A média e a Variância são: 
Mn = -8.2927e-005 ,Msn = -2.9814e-004 ,Vn = 0.0013 e Vsn = 0.0013 , aonde n = Noisy Speech 
e sn = vetor gerado V. 
 Histograma do V: 
 
 Histograma da Noisy Speech: 
 
 Autocorrelação:

Outros materiais