Sunteți pe pagina 1din 33

Processamento de Sinal e Imagem

Biomdica II
Comparaes de Sinais e Transformada de Fourier
Pedro Rodrigues
prodrigues@ipca.pt

INFM 2011/2012 || 3 Ano 2 Semestre

Comparaes e Transformaes de Sinais


Muitas vezes, as medidas bsicas de mdia, varincia, desvio padro e valor
eficaz (RMS) no so as mais adequadas para capturar as caractersticas
importantes de um sinal
Por exemplo: podemos conhecer melhor um sinal EEG atravs de uma
comparao com alguns sinais de referncia ou convertendo o sinal em algo
que seja mais significativo
As converses de sinal so mais conhecidas como transformaes e esto no
centro de muitas operaes de processamento de sinal
Em processamento de sinal, as transformaes so usadas para remover rudos
ou tornar o sinal mais significativo

Processamento de Sinal e Imagem Biomdica 2011/2012 || Pedro Rodrigues

Comparaes e Transformaes de Sinais


Um sinal comparado com uma referncia ou, mais frequentemente, uma
famlia de sinais de referncia relacionados ou funes
Quando usada uma famlia de funes de referncia obtm-se vrias
comparaes
Se a funo de referncia mais curta do que o sinal, ento, por vezes a
comparao feita para diferentes alinhamentos entre as duas funes
a funo de referncia pode ser deslocada ao longo da funo do sinal
medida que vo sendo comparadas

Processamento de Sinal e Imagem Biomdica 2011/2012 || Pedro Rodrigues

Comparaes e Transformaes de Sinais


Normalmente, a funo de referncia ou famlia de funes tipicamente
menos complicada do que o sinal por exemplo, uma onda sinusoidal ou
srie de ondas sinusoidais
Uma comparao quantitativa indica quanto o sinal original se assemelha ao
sinal de referncia
Se for realizado um nmero adequado de comparaes com uma famlia de
referncias, todos os resultados das comparaes podem fornecer uma
representao alternativa do sinal

Esta representao alternativa no mais do que uma transformao do


sinal original

Processamento de Sinal e Imagem Biomdica 2011/2012 || Pedro Rodrigues

Correlao
A correlao uma operao que permite comparaes de sinais
Correlao pretende quantificar o grau de semelhana entre duas grandezas, ou
seja, sinais
Ao comparar duas funes matemticas (ou sinais), a tcnica multiplicar um pelo
outro e depois calcular a mdia dos resultados (mdia frequentemente
dimensionada por um fator de normalizao)
Correlao matemtica uma boa abordagem para descrever similaridades, mas
por vezes alguns sinais que so muito semelhantes tm uma correlao
matemtica de zero

Processamento de Sinal e Imagem Biomdica 2011/2012 || Pedro Rodrigues

Exemplos de Correlao Diferentes Formas de


Onda
Correlation: 0.000

1
0
-1

Sem correlao
-0.6

-0.4

-0.2

0.2

0.4

0.6

0.4

0.6

0.4

0.6

Correlation: 0.991

1
0
-1

Correlao Elevada
-0.6

-0.4

-0.2

0.2

Correlation: 0.485

1
0
-1

Correlao Moderada
-0.6

-0.4

-0.2

0.2

Time (sec)

Processamento de Sinal e Imagem Biomdica 2011/2012 || Pedro Rodrigues

Equaes de Correlao
A correlao linear entre duas funes ou sinais pode ser obtida usando o
coeficiente de correlao de Pearson definido como:

1
N
rxy
( xn x)( yn y)

1
N 1x y

Processamento de Sinal e Imagem Biomdica 2011/2012 || Pedro Rodrigues

Equaes de Correlao
Se as mdias das funes sinal e referncia forem zero, a correlao pode ser
determinadas usando a seguinte equao (mais simples):

1 N
rxy x n y n
N n 1
1
x[1] y[1] x[2] y[2] x[3] y[3]... x[ N ] y[ N ]
N
Em que rxy a correlao no dimensionada entre x e y

Tratando-se de funes contnuas, o somatrio torna-se um integral e as funes


discretas, x[n] e y[n], tornam-se funes contnuas, x(t) e y(t):
T

1
rxy x( t ) y( t )dt
T 0

Processamento de Sinal e Imagem Biomdica 2011/2012 || Pedro Rodrigues

Equaes de Correlao
As equaes de correlao dadas no ltimo slide podem ser normalizadas pelos
seus desvios-padro. Isto far com que o valor de correlao seja igual a +1 quando
dois sinais so idnticos e -1 se eles so exatamente opostos:

Corrnormalized

rxy

12 2 2

Em que 2 a varincia do sinal


O termo "coeficiente de correlao" implica esta normalizao enquanto o termo
"correlao" usado mais livremente e pode significar correlao normalizada ou
no-normalizada.

Processamento de Sinal e Imagem Biomdica 2011/2012 || Pedro Rodrigues

Exemplo 2.10 Use a equao de correlao discreta em MATLAB para encontrar a


correlao entre uma onda sinusoidal e uma onda de cosseno.
Soluo: Construa um vetor de tempo com 500 pontos desde 0.0 1.0 segundos. Use
o vetor de tempo para construir uma onda seno de 1 Hz e uma onda de cosseno. Em
seguida, avalie a correlao entre os dois por aplicao direta da equao de
correlao discreta.
N = 500;
Tt = 1.0
fs = N/Tt;
t = (0:N-1)/fs;
x = sin(2*pi*t);
y = cos(2*pi*t);
z = [ones(1,N/2) -ones(1,N/2)];
rxz = mean(x.*z);
rxy = mean(x.*y);
disp([rxz rxy])
%Res = 0.6366 0.0000

% Number of points
% Desired total time
% Calculate sampling frequency
% Time vector from 0 to 1 sec.
% 1 Hz sine wave
% 1 Hz cosine wave
% 1 Hz square wave
% Correlation eq. x and z
% Correlation x and y
% Output correlations

Processamento de Sinal e Imagem Biomdica 2011/2012 || Pedro Rodrigues

10

Exemplo 2.10

Anlise: J vimos anteriormente como construir um vetor de tempo dado o


nmero de pontos e a frequncia de amostragem (N e fs) ou o tempo total e a
frequncia de amostragem (Tt e fs). Aqui apresentamos com uma terceira
possibilidade, o nmero de pontos e tempo total (N e Tt). Para calcular este
vetor de tempo, determinou-se a frequncia de amostragem atravs do total
de pontos e do tempo total: fs = N / Tt. Observe que a equao de correlao
discreta leva uma nica linha de cdigo MATLAB (em negrito).

Resultado:

A correlao da onda sinusoidal e onda quadrada, rxz, 0.6366 que


equivalente a 2/, o resultado encontrado no exemplo 2.8.

A correlao entre as ondas seno e cosseno foi 0.0 conforme o


esperado.

O fato de que senos e co-senos so no-correlacionados acaba por


ser til em alguns procedimentos de anlise como a Transformada de
Fourier.

Processamento de Sinal e Imagem Biomdica 2011/2012 || Pedro Rodrigues

11

Sinais Ortogonais e Ortogonalidade


Funes e sinais ortogonais so muito teis numa variedade de ferramentas de
processamento de sinal
No uso comum, "ortogonal" significa perpendicular: se duas linhas so
ortogonais so perpendiculares

O que faz com que dois sinais sejam ortogonais?


A definio formal de sinais ortogonais que seu produto interno (tambm
chamado o produto escalar) zero

Processamento de Sinal e Imagem Biomdica 2011/2012 || Pedro Rodrigues

12

Sinais Ortogonais: Definio


A definio formal de sinais ortogonais que seu produto interno (tambm
chamado produto escalar) zero:

x(t ) y(t )dt 0

Para sinais discretos, isto torna-se:


N

x[n] y[n] 0
n 1

Estas equaes so apenas as equaes de correlao exceto na normalizao por 1/n


Os sinais ortogonais so no-correlacionados e vice-versa
Uma importante caracterstica de sinais que so ortogonais/no-correlacionadas que,
quando combinados ou adicionados no interagem uns com os outros

Processamento de Sinal e Imagem Biomdica 2011/2012 || Pedro Rodrigues

13

Efeito do Desfasamento na Correlao


Deslocando uma
sinusoide sobre a
outra e medir a

Sine Shift: 45 deg.

Sine Shift: 0 deg.


1

0.5

0.5

-0.5

-0.5

correlao para todas

as posies relativas

-1

-1
Corr: 0.000

possveis

-0.5

dois esto em fase e


1.0
Quando os dois esto
fora de fase a
correlao 1

0.5

-0.5

Time (sec)

A correlao mxima
ocorre quando os

Corr 0.71

Time (sec)

Sine Shift: 90 deg.

1
0.5

0.5

-0.5

-0.5

-1
0

Correlation
vs Time Shift

-1

Corr: 1
-0.5

0.5

0.5

0.1

Time (sec)

Processamento de Sinal e Imagem Biomdica 2011/2012 || Pedro Rodrigues

0.2

0.3

0.4

0.5

Time Shift (sec)

14

Autocorrelao e Correlao Cruzada


A falta de correlao matemtica entre um seno e um co-seno pode ser um
problema porque eles so intuitivamente semelhantes mesmo no tendo correlao
Um sinal poderia ser sinusoidal (por exemplo, um co-seno), mas se usarmos um seno
como funo de referncia a correlao seria pequena ou insignificante
Soluo: usar funo seno como referncia mas desfasada no tempo
Correlao Cruzada (crosscorrelation) - correlacionar atravs de vrios
desfasamentos diferentes de amostras

Processamento de Sinal e Imagem Biomdica 2011/2012 || Pedro Rodrigues

15

Equao da Correlao Cruzada


Modificao da equao bsica da correlao, introduzindo uma mudana de
varivel numa das duas funes referncia ou sinal
No importa que funo deslocada em relao outra o valor obtido o mesmo
A correlao resultante no um nmero nico, mas uma srie de nmeros para
valores diferentes de desvios de tempo :

1
rxy
N

y[n]x[n ]

0,1,2,... L

n 1

Este deslocamento muitas vezes chamado de lag" e especifica o nmero de


amostras deslocadas para uma correlao

Processamento de Sinal e Imagem Biomdica 2011/2012 || Pedro Rodrigues

16

Equao da Correlao Cruzada


Para sinais contnuos, o tempo de deslocamento contnuo e a correlao torna-se
uma funo contnua do desvio de tempo. Isto leva equao de crosscorrelation:
T

1
Crosscorrelation rxy ( ) y(t ) x(t )dt
T0
onde a varivel uma varivel contnua de tempo usada para deslocar
x(t) em relao a y(t).
A varivel uma varivel de tempo - "atraso" ou varivel de lag

Processamento de Sinal e Imagem Biomdica 2011/2012 || Pedro Rodrigues

17

Equao da Correlao Cruzada


O grfico abaixo mostra a
funo de correlao
cruzada para uma
sinusoide e uma forma
de onda triangular.

0.5

-0.5

-1

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

0.4

0.5

Time (sec)

Observe que elas so

0.4

mais semelhantes (ou

0.2

seja, tm correlao mais

Correlao Mxima

elevada) quando um sinal


-0.2

deslocado 0,18 s em
relao ao outro.

-0.4
-0.5

-0.4

-0.3

-0.2

-0.1

0.1

0.2

0.3

Time Shift or Lag (sec)

Processamento de Sinal e Imagem Biomdica 2011/2012 || Pedro Rodrigues

18

Matlab Correlao Cruzada


Em MATLAB, a correlao cruzada pode ser implementada atravs da rotina
axcor (disponvel para download no woc):
[rxy,lags] = axcor(x,y);
em que x e y so os dados a ser correlacionados e rxy o resultado do
vetor correlao cruzada, que normalizado para 1.
O vetor de sada opcional com os desvios tem o mesmo comprimento que rxy e
d os desvios, positivos e negativos, correspondentes a um determinado valor
de lag
A toolbox de processamento de sinal do MATLAB contm a rotina xcorr que faz
a mesma coisa, mas apresenta uma vasta gama de opes

Processamento de Sinal e Imagem Biomdica 2011/2012 || Pedro Rodrigues

19

Exemplo 2.17 Encontre as semelhanas entre o sinal EEG e sinusoides na gama de

frequncias 1 a 25 Hz (incrementos de 1 Hz)


Soluo: Use um ciclo para gerar uma srie de senos desde 1 a 25 Hz em incrementos
de 1 Hz. Calcule a correlao cruzada entre estas ondas seno e o sinal EEG para
encontrar a mxima correlao. Traar a correlao mxima em funo da frequncia
da onda sinusoidal.
load eeg_data;
fs = 50;
t = (1:length(eeg))/fs;
%
for i = 1:25
f(i) = i;
x = sin(2*pi*f(i)*t);
rxy = axcor(eeg,x);
rmax(i) = max(rxy);
end
plot(f,rmax,'k');
.labels .

% Get EEG data


% Sampling frequency
% Time vector

% Frequency range: 1-25 Hz


% Generate sine
% Perform crosscorrelation
% Store max value
% Plot max values as function of freq.

Processamento de Sinal e Imagem Biomdica 2011/2012 || Pedro Rodrigues

20

0.2

Exemplo 2.17

0.18

O resultado de vrias

0.16

apresentado.

De salientar que
algumas frequncias
apresentam maior

Correlation

correlaes cruzadas
0.14
0.12
0.1
0.08

correlao entre a
sinusoide e o EEG em

0.06

detrimento de outras.

0.04

10

15

20

25

Frequency (Hz)
Um pico particularmente forte visto na regio de 7 a 9 Hz indicando a presena de
um padro oscilatrio conhecido como a "onda de alpha".
Processamento de Sinal e Imagem Biomdica 2011/2012 || Pedro Rodrigues

21

Autocorrelao
Autocorrelao simplesmente uma correlao cruzada de uma forma de onda
com ela prpria. A equao de autocorrelao em formas discretas e contnuas:
T

Autocorrelation rxx ( )

1
rxx[]
N
Note que:

1
x( t ) x( t )dt

T 0

x[n]x[n ]

= 01
, ,2,...L

n =1

rxx( ) rxx( )

comum normalizar a funo de autocorrelao para 1.0 no instante 0.

Processamento de Sinal e Imagem Biomdica 2011/2012 || Pedro Rodrigues

22

Autocorrelao

Time Plot

Autocorrelation

-5

0.2

0.4

0.6

0.8

10

-1
-500
1

0.5

-5
20

-0.5
-500
1

-20

0.2

0.2

0.4

0.4

0.6

0.6

0.8

0.8

-1
-500
1

500

500

500

500

0.5
0
0
-5

0.2

0.4

0.6

0.8

-0.5
-500

Time(sec)

Processamento de Sinal e Imagem Biomdica 2011/2012 || Pedro Rodrigues

Lags (n)

23

Matlab Autocorrelao
Em Matlab, a autocorrelao geralmente considerada como um caso
especial da correlao cruzada
Na funo axcor apena usado um nico argumento de entrada:
[rxx, lags] = axcor(x)

% Autocorrelao

Quando somente um nico argumento de entrada estiver presente, a


funo axcor executa a autocorrelao e normaliza a funo resultante para
1.0 no deslocamento nulo (ou seja, lag = 0) quando o sinal identicamente
correlacionado consigo mesmo

Processamento de Sinal e Imagem Biomdica 2011/2012 || Pedro Rodrigues

24

Exemplo 2.18 Avaliar e traar a funo de Autocorrelao do sinal EEG. Para


melhor visualizar a diminuio na correlao para pequenos desvios, apresente
apenas deslocamentos entre 1 s.
Soluo: Carregar o sinal EEG e aplicar a funo axcor no sinal de EEG como o
argumento de entrada nico. Apresentar o resultado usando a sada de lag

dimensionada com a frequncia de amostragem para fornecer o atraso (ou seja,


lag) em seg. Lembre-se que a frequncia de amostragem do sinal EEG 50 Hz.

load eeg_data;
fs = 50;
[rxx,lags] =axcor(eeg);
plot(lags/fs, rxx); hold on;
plot([lags(1) lags(end)], [0 0]);
axis([-1 1 -.5 1.2]);
.title and labels.

% Sample frequency 50 Hz
% Autocorrelation
% Plot autocorrelation function
% Plot zero line
% Scale x-axis to be between 1 sec

Processamento de Sinal e Imagem Biomdica 2011/2012 || Pedro Rodrigues

25

Exemplo 2.18
EEG Autocorrelation Function

O sinal descorrelaciona muito


rapidamente, atingindo um valor de

1
0.8

tempo de aproximadamente 0,08 seg.

0.6

O sinal de EEG susceptvel de ser


contaminado com rudo e uma vez
que o rudo descorrelaciona
instantaneamente, alguns valores de
descorrelao rpida vistos aqui so
devidos ao rudo.

Rxx

correlao nulo aps um desvio de

0.4
0.2
0
-0.2
-0.4
-1

-0.5

0.5

Lag (sec)

Uma abordagem comum para estimar a autocorrelao do sinal sem rudo desenhar
uma curva suave entre os picos e usar essa curva como a funo de autocorrelao
estimada do sinal sem rudo
Processamento de Sinal e Imagem Biomdica 2011/2012 || Pedro Rodrigues

26

Correlao Mltipla
Vamos supor que o que se pretende a melhor correspondncia com
qualquer forma de onda sinusoidal s duas frequncias
Isso significa que vamos ter de mudar a onda seno para encontrar a
melhor correspondncia
Para uma funo contnua, h um nmero infinito de diferentes formas

de onda sinusoidais com uma qualquer frequncia, cada uma com um


desvio de fase diferente.
Uma vez que impossvel fazer a comparao com um nmero infinito
de sinusoides, ns limitamos a 360 sinusoides, cada uma tendo 1.0 grau
diferena no desvio de fase
Processamento de Sinal e Imagem Biomdica 2011/2012 || Pedro Rodrigues

27

Exemplo 2.12 Encontre a correlao entre o sinal de EEG dado e uma sinusoide
de 6,5 Hz. mais semelhante a uma sinusoide de 14 Hz ou uma sinusoide de 6,5

Hz?
Soluo: Para cada frequncia, compare o EEG com 360 ondas seno, cada uma
com um desvio de fase diferente em 1 grau.
Uma vez que as funes trigonomtricas do MATLAB assumem que os argumentos
de entrada esto em radianos, temos que converter de graus para radianos.
Em seguida, selecione a correlao de maior valor. Isto , 360 correlaes
individuais, essencialmente implementando a equao de correlao discreta 360
vezes.
Normalizar a correlao entre 1 para fornecer uma melhor perceo das
semelhanas.

Processamento de Sinal e Imagem Biomdica 2011/2012 || Pedro Rodrigues

28

Exemplo 2.12

%
load eeg_data
% Loads data array 'eeg'
fs = 50;
% Sampling freq. of EEG data
t = (1:length(eeg))/fs;
% Time vector from 0 to 1 sec.
f = [6.5 14];
% Frequencies used
for k = 1:2
% Loop for different frequencies
for m = 1:360
% Loop for phases
phase = (m-1)*pi/180;
% Change phase, convert to radians
x = sin(2*pi*f(k)*t + phase); % Construct sinusoid
rxy(m) = mean(x.*eeg);
% Eq. 2.15
end
subplot(1,2,k);
% Plot correlations versus phase
rxy = rxy/sqrt(var(x)*var(eeg)); % Normalize (Eq. 2.17)
plot((1:360)-1,rxy,'k');
% Corr as a function of phase
.......axis labels.......
title(['Max correl: ',num2str(max(abs(rxy)),2)]);
end
Processamento de Sinal e Imagem Biomdica 2011/2012 || Pedro Rodrigues

29

Exemplo 2.12
Anlise: O vector de tempo construdo para ser do mesmo comprimento que

os dados. Isto assegura que a forma de onda sinusoidal usada na comparao


tem o mesmo comprimento que o sinal de EEG.
Dividindo o vector de tempo pela frequncia de amostragem (50 Hz), os
intervalos de tempo tem o espaamento correcto.
O ciclo externo repete a anlise de correlao para as duas frequncias
diferentes, enquanto o ciclo interno faz a mudana de fase.

A fase varia entre 0 e 359 graus (m-1) e convertida em radianos.


A fase adicionada ao argumento do vector de tempo da funo seno.

Processamento de Sinal e Imagem Biomdica 2011/2012 || Pedro Rodrigues

30

Exemplo 2.12
As duas curvas mostram as

Max correl: 0.16 at 2 deg

Max correl: 0.0034 at 279 deg

correlaes em funo da

-3

0.2

0.15

0.1

0.05

x 10

correlaes mximas (valores

ttulos dos grficos.

A sinuside de 6,5 Hz mostra


uma correlao muito

Correlation

absolutos) constam nos

Correlation

mudana de fase e as

0
-0.05

0
-1

-0.1

-2

-0.15

-3

superior ao atingir um valor


de 0,16 enquanto a
correlao de 14 Hz atinge
apenas 0,0034.

-0.2

200

400

-4

Phase (deg)

Processamento de Sinal e Imagem Biomdica 2011/2012 || Pedro Rodrigues

200

400

Phase (deg)

31

Exemplo 2.12
1
0.8
0.6

Correlation

0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1

6.2

6.4

6.6

6.8

Time (sec)

Processamento de Sinal e Imagem Biomdica 2011/2012 || Pedro Rodrigues

32

Transformada de Fourier

INFM 2011/2012 || 3 Ano 2 Semestre

S-ar putea să vă placă și