Você está na página 1de 8

Processamento Digital de Sinais

Engenharia Biomdica
2 Semestre 2009/2010

Sinais aleatrios e Processamento da fala


04 de Maio de 2010
Grupo 10
Joana Nunes
N 58497

Joo Marques
N 58513

1. Gerao de um vector de amostras gaussianas de valor mdio nulo e varincia


unitria.
Nesta primeira alnea pretende-se apenas criar um vector de 1000 amostras
aleatrias com distribuio Gaussiana de valor mdio nulo e varincia unitria. Para tal
recorreu-se ao comando randn(2,1000) j que so pedida uma matriz de dimenso 2. O
resultado da visualizao das amostras (a azul a primeira linha e a vermelho a segunda)
encontra-se na Figura 1.

Figura 1. Visualizao das amostras aleatrias geradas

Cdigo MATLAB
%Pergunta 1.
x=randn(2,1000); %criao da v.a.
%visualizao
figure;
hold on;
plot(x(1,:),'.');
plot(x(2,:),'.r');
hold off;

2. Clculo do valor mdio e matriz de covarincia das amostras da alnea anterior


Para o clculo do valor mdio das amostras, utilizou-se o comando mean(x),
], e para o clculo da matriz de covarincia utilizou-se o
que retornou [
1

Trabalho 5

Processamento de Sinais Biomdicos

comando cov(x), e obteve-se como resultado [

Processamento Digital de Sinais

]. Estes resultados no

coincidem exactamente com os valores esperados, j que em teoria o valor mdio de


cada uma das linhas de deveria ser , e a matriz de covarincia deveria ser a matriz
identidade, pois a varincia de cada amostra suposta ser unitria (os valores da
diagonal principal correspondem varincia de cada amostra), e os valores fora da
diagonal principal deveriam ser nulos, j que as amostras no deveriam estar
correlacionadas entre si.

Cdigo MATLAB
%Pergunta 2.
%mdia
m=mean(x')
%covarincia
co=cov(x')

3. Determinao do histograma 2D de

utilizando clulas de amplitude

Nesta alnea utilizou-se o comando hist3, que recebe como parmetros , bem
como os centros de cada clula, e os seus limites. O resultado obtido pode ser visto na
Figura 2.

Figura 2. Histograma 2D de

Cdigo MATLAB
%Pergunta 3.
figure;
hist3(x',{-4:0.5:4 -4:0.5:4});

Trabalho 5

Processamento de Sinais Biomdicos

Processamento Digital de Sinais

4. Transformao linear das amostras


Aqui pretende-se realizar uma transformao linear ao vector
, com

]e

atravs de

[ ]. O resultado obtido encontra-se na .Figura

3.

Figura 3. Visualizao da transformao linear das amostras aleatrias geradas

Observa-se nestes resultados que a mdia do sinal sobe consideravelmente,


sendo a mdia a vermelho maior que a azul (teoricamente o dobro). Para alm disso,
estes apresentam-se ligeiramente mais espalhados, o que resulta do esperado aumento
da varincia.

Cdigo MATLAB
%Pergunta 4.
A=[1 .8;.5 1];
b=[1;2];
y=zeros(2,1000);
for i=1:1000
y(:,i)=A*x(:,i)+b;
end
%visualizao
figure;
hold on;
plot(y(1,:),'.');
plot(y(2,:),'.r');
hold off;

5. Determinao da mdia e covarincia de


tericos.

e comparao com os valores

Para o clculo da mdia e covarincia das amostras voltaram-se a usar os


] e
comandos mean e cov, obtendo-se os resultados [

Trabalho 5

Processamento de Sinais Biomdicos

Processamento Digital de Sinais

]. Comparando com os valores tericos, a mdia deveria passar a ser

[
]. Os resultados encontram-se mais uma vez prximos, mas no exactos
(aproximar-se-iam mais para um maior nmero de amostras). Quanto covarincia, esta
deveria ser agora igual a

]. Mais uma vez, os valores so prximos

mas no exactos, refectindo o facto de se estar a trabalhar com poucas amostras.

Cdigo MATLAB
%%
%Pergunta 5.
%mdia
m=mean(y')
%covarincia
co=cov(y')

6. Leitura do sinal speech.wav, e visualizao de uma sua estrutura quasi-peridica


Nesta alnea procedeu-se leitura do ficheiro de som, com o comando wavread,
e fez-se a respectiva visualizao (apenas de um dos canais, j que o outro muito
semelhante). O resultado pode ser visto na Figura 4.

Figura 4. Visualizao do sinal speech.wav

Para encontrar uma estrutura quasi peridica recorreu-se ferramente sptool.


Identificou-se a regio delimitada pelos ndices 44179 e 47100, obtendo-se a seguinte
representao grfica.

Trabalho 5

Processamento de Sinais Biomdicos

Processamento Digital de Sinais

Figura 5. Ampliao da regio quasi peridica escolhida

Para agora se saber qual a frequncia desta estrutura quasi peridica, realizou-se
a DFT desta zona do sinal, obtendo-se o seguinte espectro:

Figura 6. Espectro da zona quasi peridica do sinal de udio

Analisando este espectro, verifica-se que de facto esta uma estrutura quasi
peridica, j que a sua representao espectral constituda fundamentalmente por
riscas, a primeira das quais no ndice 16 (frequncia fundamental). Sabendo este ndice,
possvel calcular a frequncia a ele associada, atravs da expresso
, o que corresponde a um perdo igual a

Cdigo MATLAB
%Pergunta 6.
sp=wavread('speech.wav');
figure;
plot(sp);
figure;

Trabalho 5

Processamento de Sinais Biomdicos

Processamento Digital de Sinais

plot(sp(:,1));
%zona peridica
p=sp(44179:47100,1);
figure;
plot(p);
figure;
plot(abs(fft(p)));

7. Computao do histograma do sinal udio, e sua comparao com um


histograma Gaussiano.
O histograma obtido do sinal de udio encontra-se na Figura 7.

Figura 7. Histograma do sinal de udio

Este histograma apresenta uma distribuio relativamente normal quando


comparado com uma distribuio Gaussiana com os mesmos parmetros, que se
encontra representada de seguida.

Figura 8. Histograma de uma distribuio normal com os mesmos parmetros do sinal de udio

Trabalho 5

Processamento de Sinais Biomdicos

Processamento Digital de Sinais

Verifica-se que o histograma do sinal de udio decai mais rapidamente do que o


da distribuio normal.

Cdigo MATLAB
%Problema 7.
figure;
hist(sp(:,1),64);
figure;
hist(mean(sp(:,1))+std(sp(:,1))*randn(10000,1),64)

8. Determinao da autocorrelao e sua visualizao


Nesta alnea procedeu-se ao clculo da funo de autocorrelao no intervalo em
( ) (
que a estrutura quasi peridica, atravs da expresso ( )
).
Depois deste clculo, procedeu-se visualizao desta funo, obtendo-se a seguinte
Figura:

Figura 9. Funo de autocorrelao da estrutura quasi peridica do sinal de udio

Cdigo MATLAB
%Problema 8.
n=length(p);
for i=1:n
r(i)=0;
for j=1:n-1
if j+i<=n-1
r(i)=r(i)+p(j)*p(j+i);
end
end
end

Trabalho 5

Processamento de Sinais Biomdicos

Processamento Digital de Sinais

figure;
plot(r);

9. Utilizao da funo de autocorrelao


Nesta ltima questo pretende-se usar a funo de autocorrelao para confirmar
a estimativa de perodo j obtida. Utilizando a propriedade de que a funo de
autocorrelao de um sinal peridico tambm peridico com o mesmo perodo, basta
encontrar a distncia entre os picos para se saber o perodo. Neste caso, esta distncia
corresponde a 185, um valor quase idntico ao encontrado para o perodo, o que
confirma o resultado j obtido.
Pode ainda observar-se que a dependncia a curto prazo razovel, ou seja, o
sinal parece-se condigo prprio durante algum tempo, por anlise da largura de cada
pico. Se o pico fosse demasiado estreito, bastaria um pequeno atraso para que o sinal
deixasse de se parecer consigo prprio (como o caso de um impulso de Dirac, por
exemplo).