background image

Podobieństwo sygnałów – korelacja

Iloczyn skalarny wektorów/sygnałów

W przestrzeni  L

2

ℝ

x , y 〉=

 t dt

W przestrzeni  ℝ

N

x , y 〉=

1

N

n=0

−1

n n

Jeżeli  〈 x , y 〉=0    to    ⊥ y
a co jeżeli 

x , y 〉≠0

lub inaczej 

∣〈

x , y 〉∣0

 ?

Korelacja

Korelacja w przestrzeni 

L

2

ℝ

w przypadku stacjonarnym

R=

t t− dt

po dyskretyzacji w przestrzeni  ℝ

N

R=lim

∞

1

N

n=0

−1

n nl

Korelacja w przestrzeni 

N

Z teorii procesów stochastycznych

R

x

k , m=

1

2

E[  − m−]

 

gdzie [.] oznacza operator wartości oczekiwanej (w dużym uproszczeniu jest to wartość 
średnia)

wartość średnia procesu losowego

wariancja procesu losowego

Konsekwentnie

R

xy

k , m=

1

x

y

[ −

x



 m−

y

]

Zwykle zakładamy że:

=

0

=

1

proces losowy (sygnał) jest stacjonarny wtedy

 n , x nl

lub 

 n , y nl

- 1 -

background image

Użyteczne definicje

R

x

l= [n nl]  - autokorelacja

R

xy

=n nl]

- korelacja wzajemna (kroskorelacja)

W praktyce można różnie liczyć estymator wartości oczekiwanej

R

x

l=

1

N

n

n n  - estymator obciążony

R

x

l=

1

l

n=0

−1

n n  - estymator nieobciążony

Wyjaśnić pojęcia:

współczynnik korelacji

unormowany współczynnik korelacji ( 1/

x

2

)

funkcja korelacji

unormowana funkcja korelacji 

miara podobieństwa sygnałów (dla l=0 otrzymujemy iloczyn skalarny !!!)

Przykład:

N=1000;n=(0:N-1);x=sin(2*pi*5/N*n+.3*pi)+randn(1,N);plot(n,x);

s1=sin(2*pi*5/N*n);s2=sin(2*pi*4/N*n);s3=sin(2*pi*13/N*n);s4=sin(2*pi*10/N*n)
;s5=sin(2*pi*4.8/N*n);

max(abs(xcorr(x,s1)))
max(abs(xcorr(x,s2)))

max(abs(xcorr(x,s3)))
max(abs(xcorr(x,s4)))

max(abs(xcorr(x,s5)))

Własności funkcji autokorelacji

1.

R

x

l= R

x

−

l

 funkcja parzysta

2.

R

x

0≥R

x

l  wartość maksymalna dla zerowego przesunięcia

- 2 -

background image

Transformacje czasowo-częstotliwościowe

Krótkoterminowa transformata Fouriera (ang. STFT) 

STFT {n}≡ k , l =

=0

−1

n w nl e

2 

N

k n

gdzie l – dyskretny czas, k – dyskretna częstotliwość
spektrogram to:

 k , l=∣ k , l∣

2

Przykład:

N=64;n=(0:N-1);

x=1.2*sin(2*pi*.13*n);y=2*sin(2*pi*.07*n);z=.8*sin(2*pi*.27*n);s=[x,y,z];
s=s+.1*randn(size(s));plot(s);

S=fft(s); M=size(S,2); f=(0:M-1)./M; plot(f,abs(S));

w=gausswin(N,3)';plot(w);

okno1=[w,zeros(1,N),zeros(1,N)];
okno2=[zeros(1,N),w,zeros(1,N)];

okno3=[zeros(1,N),zeros(1,N),w];
plot(okno1);hold on;plot(okno2);plot(okno3);hold off;

plot(s.*okno1);hold on;plot(s.*okno2);plot(s.*okno3);hold off;

S1=fft(s.*okno1); S2=fft(s.*okno2); S3=fft(s.*okno3);

M=size(S1,2); f=(0:M-1)./M;
plot(f,abs(S1),f,abs(S2),f,abs(S3));

N=256;n=(0:N-1);
x=sin(2*pi*.13*n);y=sin(2*pi*.07*n);z=sin(2*pi*.27*n);s=[x,y,z];

s=s+.7*randn(size(s));plot(s);
M=128; w=gausswin(M,3)'; plot(w);

tmp=[zeros(1,M/2),s,zeros(1,M/2)];plot(tmp);
L=3*N;S=zeros(L,M);

for l=(1:L), v=tmp(l:l+M-1).*w;V = fft(v);S(l,:)=abs(V).^2;end;
l=(0:L-1);f=(0:M-1)./M;imagesc(l,f,S');

Transformata Wignera-Villa

X

WV

k , l=

n=0

−1

l lne

2 

N

k n

!!! Problemy z częstotliwością Nquista !!!

N=100;n=(0:N-1);x=sin(2*pi*.13*n);y=zeros(1,N);z=sin(2*pi*.28*n);s=[x,y,z];

plot(s);
L= 3*N; l=(0:L-1); M=256; [TFR,nt,nf]=tfrwv(s',n,M);imagesc(nt,nf,TFR);

N=500;n=(0:N-1);f=linspace(.1,.3,N);x=sin(2*pi*f.*n);
M=128;[TFR,nt,nf]=tfrwv(x',n,M);imagesc(nt,nf,TFR);

- 3 -

background image

M=128;[TFR,nt,nf]=tfrwv(hilbert(x'),n,M);imagesc(nt,nf,TFR);

Dyskretna transformata falkowa (ang. wavelet)

Wavelet/Falka – (mała fala) sygnał okresowy szybko zanikający do zera

Falka ciągła:

a , b

t=

1

a

tb

a

gdzie



∈L

2

ℝ

,

a , b∈ℝ ,

a0



  prototyp falki, falka matka

przesunięcie w czasie

skalowanie w częstotliwości

Stąd nazwa transformacja „częstotliwość-skala” (skalogram)

Transformata falkowa to iloczyn skalarny badanego sygnału

z prototypami falek

Reprezentacja w przestrzeni 

L

2

ℝ

a ,b =

t 

a , b

t

=

t

a ,b

dt=

1

a

t

tb

a

dt

przesunięcie w czasie:

t= t ,

W

y

a ,b=W

x

a ,b

przesunięcie w częstotliwości

t=  st ,

W

y

a , b=

1

s

W

x

sa , sb

Transformata odwrotna:

=

a , b

a ,b

 da db

Mamy bazę ortonormalną – rodzina falek, mamy współczynniki reprezentacji, mamy też 
transformatę odwrotną ... piękne wzory tylko nie da się tego policzyć !!! ;)

- 4 -

background image

Reprezentacja w przestrzeni 

N

a ,b =

n 

a , b

n

=

n=0

N



a , b

n

Ważne definicje:

położenie i rozciągłość w czasie

=

t∣

a ,b

∣dt

t

2

=

t−t

2

∣

a , b

t∣dt

położenie i rozciągłość w częstotliwości

=

∣

a ,b

∣

2

=

− 



2

∣

a ,b

 ∣

(rysunek z  

t

 i  

)

Zasada nieoznaczoności Heisenberga:

t

1
2

Przypadek dyskretny

Dwa rozwiązania:

1) nowe współrzędne skali

a

k

, l a

k

b  gdzie  l , k ∈ℤ

k , l

n=a

/ 2

nl b

a

m

2) współrzędne skali z podziałem przez 2

a

k

=

a

0

k

, a

0

=

2  a

k

=

2

k

b

l

=

l b

0

a

0

k

, b

0

=

1  b

l

=

l2

k

- 5 -

background image

k , l

n=

1

a

k

nb

l

a

k

=

2

/2



2

k

n

Zatem w przestrzeni 

N

 k , l=

 n ,

k ,l

n

=

n=0

−1



k , l

n

i konsekwentnie transformata odwrotna:

 n=

k

l

 k , l

k ,l

n

Falka Morleta

Prototyp



n=

1

2 

e

0

n

e

n

2

/

2

=

1

2 

e

−

0

n

2

/

2

=

e

2

2

 −

0

2

zwykle 

0

=

2

ln 2

=

5.336

Meksykański kapelusz



n=1−n

2

e

n

2

/

2

N=4;n=(-N:.1:N);
psi=(1-n.^2).*exp(-(n.^2)./2);

psi_1_0=sqrt(2)*(1-(n/2).^2).*exp(-((n/2).^2)./2);

- 6 -

background image

plot(n,real(psi),';Re;',n,imag(psi),';Im;');

- 7 -


Document Outline