Você está na página 1de 9

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

Joo Marques
N 58513

N 58497
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;

Trabalho 5

Processamento de Sinais Biomdicos

Processamento Digital de Sinais

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),
que retornou [ 0.031;0.0267 ] , e para o clculo da matriz de covarincia utilizou-se
o comando cov(x), e obteve-se como resultado

1.023 0.0576
0.0576 0.9729

. Estes resultados

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


de cada uma das linhas de x deveria ser 0 , 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
0.5 0.5

utilizando clulas de amplitude

Nesta alnea utilizou-se o comando hist3, que recebe como parmetros

x ,

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

Trabalho 5

Processamento de Sinais Biomdicos

Processamento Digital de Sinais

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

4. Transformao linear das amostras


Aqui pretende-se realizar uma transformao linear ao vector
y= Ax+ b , com

A= 1 0.8
0.5 1

[]

b= 1
2

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,:),'.');

Trabalho 5

Processamento de Sinais Biomdicos

Processamento Digital de Sinais

plot(y(2,:),'.r');
hold off;

5. Determinao da mdia e covarincia de

e comparao com os valores

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

mean

1.7378 1.3704
1.3704 1.2862

ser

cov,

obtendo-se

os

resultados

[ 1.0096 1.9888 ]

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

[ 1 2 ] . 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

AA =

1.64 1.3
1.3 1.25

. 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.

Trabalho 5

Processamento de Sinais Biomdicos

Processamento Digital de Sinais

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.

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:

Trabalho 5

Processamento de Sinais Biomdicos

Processamento Digital de Sinais

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
=2

16
=0.0344
, o que corresponde a um perdo igual a
2922

2 2922
=
=183
.
N0
16

Cdigo MATLAB
%Pergunta 6.
sp=wavread('speech.wav');
figure;
plot(sp);
figure;
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.

Trabalho 5

Processamento de Sinais Biomdicos

Processamento Digital de Sinais

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

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)

Trabalho 5

Processamento de Sinais Biomdicos

Processamento Digital de Sinais

8. Determinao da autocorrelao e sua visualizao


Nesta alnea procedeu-se ao clculo da funo de autocorrelao no intervalo em
N1

que a estrutura quasi peridica, atravs da expresso

r ( k )= x ( n ) x( n+k ) .
n=0

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
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
8

Trabalho 5

Processamento de Sinais Biomdicos

Processamento Digital de Sinais

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).

Você também pode gostar