Beruflich Dokumente
Kultur Dokumente
Biomdica II
Comparaes de Sinais e Transformada de Fourier
Pedro Rodrigues
prodrigues@ipca.pt
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
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)
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
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
1
rxy x( t ) y( t )dt
T 0
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
% 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
10
Exemplo 2.10
Resultado:
11
12
x[n] y[n] 0
n 1
13
0.5
0.5
-0.5
-0.5
as posies relativas
-1
-1
Corr: 0.000
possveis
-0.5
0.5
-0.5
Time (sec)
A correlao mxima
ocorre quando os
Corr 0.71
Time (sec)
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)
0.2
0.3
0.4
0.5
14
15
1
rxy
N
y[n]x[n ]
0,1,2,... L
n 1
16
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
17
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)
0.4
0.2
Correlao Mxima
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
18
19
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( )
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)
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
24
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
25
Exemplo 2.18
EEG Autocorrelation Function
1
0.8
0.6
Rxx
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
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.
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
30
Exemplo 2.12
As duas curvas mostram as
correlaes em funo da
-3
0.2
0.15
0.1
0.05
x 10
Correlation
Correlation
mudana de fase e as
0
-0.05
0
-1
-0.1
-2
-0.15
-3
-0.2
200
400
-4
Phase (deg)
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)
32
Transformada de Fourier