background image

Widmo sygnału

Przypadek ciągły – z rozwinięcia w szereg Fouriera

=

− ∞

t e

t

dt  gdzie  = 2  a w efekcie   =

−∞

e

2  f t

dt

transformata odwrotna

=

1

2 

−∞

  e

2  f t

df

Funkcje  e

2  f t

 są do siebie ortogonalne więc stanowią bazę przestrzeni !!!

Przypadek dyskretny – równanie DFT:

=

=0

−1

ne

2 k n N

 gdzie 0≤≤ −1 (dyskretne częstotliwości)

formuła wyznaczania częstotliwości dyskretnych:  f

k

=

k F

s

N

(dlaczego akurat takie? !!!)

tr. odwrotna: 

 n=

1

N

k=0

N−1

  e

2 k n N

 gdzie 

0≤n−1

Jeżeli wynik DFT zapiszemy jako liczbę zespoloną

=A  e



=

X

r

 j X

i

to:

moduł widma

=

A=

X

r

2

 X

i

2



faza widma

arg  ==arctan

X

i

X

r

widmowa gęstość mocy

 =∣∣

2

=

  conj =[ X

r

 j X

i

] [ X

r

− j X

i

]= X

r

2

 X

i

2

Transformata DFT dla sygnałów 2D
Jeżeli mamy obraz np.

 x , y 

x , y ∈ℤ

O k , l=

x=0

N

x

1

e

2 k x N

x

y=0

N

y

1

o x , y  e

2l yN

y

=

x=0

N

x

1

y=0

N

y

1

o x , y e

2 l y N

y

e

2 k xN

x

background image

Własności

Symetria
Dla sygnałów rzeczywistych ciągłych !!! i dyskretnych zachodzi:

∣=∣−∣  i  =−−

lub inaczej  =conj  − ,

X

r

 j X

i

= X

r

−

− j X

i

−

 (można pokazać 

przez wstawienie -k do równania DFT)

Liniowość
Zachodzi dla sygnałów ciągłych i dyskretnych:

dla   n=a y nb z n  mamy

=a Y  b Z 

Okresowość
Dla dyskretnych 

= m , m∈ℤ (pokazać)

Przesunięcie w czasie

dla 

 n= nn

0

 mamy 

=

=0

−1

 ne

j

2 nn

0

N

k

=

e

j

2 n

0

N

k

=e

0

k

(przesunięcie fazy widma o stały czynnik)

Przesunięcie w częstotliwości

dla  = k

0

=

1

N

k=0

−1

 k

0

e

j

2kk

0

N

n

 mamy 

 n=e

j

2 k

0

N

n

 n=e

0

n

 n

(przemnożenie przez stałą częstotliwość)

Istnienie FT/DFT dla sygnałów okresowych i nieokresowych
DFT istnieje tylko dla sygnałów okresowych !!!
(proszę sobie przypomnieć przykład z aproksymacją linii prostej – Notatki4 BS)
Jeżeli sygnał transformowany nie jest okresowy to konsekwencją jest przeciek widma.

N=512; Fs=512; n=(0:N-1)/Fs; x=sin(2*pi*50*n); y=sin(2*pi*50.17*n);

plot(n,x,n,y);
X = fft(x); Y = fft(y); f = ((0:N-1)/N)*Fs;

plot(f,abs(X),'b*',f,abs(Y),'r*');

background image

Najpowszechniejsze lekarstwo – okienkowanie sygnału

x

w

n=n 

N=256; Fs=N; n=(0:N-1)./Fs;

x=sin(2*pi*20*n); y=sin(2*pi*20.17*n);
plot(n,x,';x(n);',n,y,';y(n);');

w = bartlett(N)';plot(n,w,n,y.*w); %% okienko trójkątne
w = hamming(N)';plot(n,w,n,y.*w);

w = hanning(N)';plot(n,w,n,y.*w);
w = gausswin(N,3)';plot(n,w,n,y.*w);

xw= x.*w; yw = y.*w; 
X=fft(x);XW=fft(xw);Y=fft(y);YW = fft(yw);f = ((0:N-1)/N)*Fs;

plot(f,abs(Y),'ro',f,abs(YW),'b*'); %% zmniejszony przeciek, ale nic za darmo
plot(f,abs(X),'ro',f,abs(XW),'b*');

Dlaczego tak się dzieje (rozmycie głównego prążka)?

x

w

n=n  

X

w

= ∗

wb = bartlett(N);

whm = hamming (N);
whn = hanning (N);

wg3 = gausswin (N,3); wg10 = gausswin(N,10);
plot(n,wb,n,whm,n,whn,n,wg3,n,wg10); 

Wb = fft(wb);
Whn = fft(whn);

Whm = fft(whm);
Wg3=fft(wg3); Wg10=fft(wg10);

f = (0:N-1)/N;
plot(f,log10(abs(Wb)),f,log10(abs(Whn)),f,log10(abs(Whm)));

plot(f,log10(abs(Wg3)),f,log10(abs(Wg10)));

Zwiększanie rozdzielczości częstotliwościowej
Zwiększenie N powoduje więcej prążków częstotliwości – skąd wziąć dodatkowe próbki ?

N=32;n=(0:N-1);Fs=1;x=sin(2*pi*.27*n);plot(n,x); 

X=fft(x);f=(-N/2:N/2-1)/N;plot(f,fftshift(abs(X)));

N=32;n=(0:N-1);Fs=1;x=sin(2*pi*.27*n);

y=[x,zeros(1,N)];M=size(y,2);m=(0:M-1);plot(m,y);
X=fft(x);fx=(-N/2:N/2-1)/N; Y=fft(y);fy=(-M/2:M/2-1)/M;

plot(fx,fftshift(abs(X)),fy,fftshift(abs(Y)));

background image

FFT

Koszt obliczeniowy

DFT =  N

2

FFT = 

/2 log

2

FFT o podstawie 2

=

n=1

N

 ne

2 k nN

podstawmy 

W

N

=

e

j2/ N

=

n=1

N

 nW

N

k n

i podzielmy próbki na parzyste i nieparzyste:

=

n=1

/ 2

 2nW

N

2nk

n=1

/ 2

2n1W

N

2n 1 k

=

n=1

/2

2n W

N

2nk

W

N

k

n=1

/ 2

 2n1W

N

2nk

ponieważ 

W

N

2

=

e

2 2 / N

=

e

2  //2 

=

W

/ 2

to

=

n=1

/ 2

 2nW

/2

nk

W

N

k

n=1

/ 2

2n 1 W

/ 2

nk

Podzielmy teraz częstotliwości na dwie połowy  l dla 1≤≤ /2  i 

l/2 dla N /21≤N

l/2=

n=1

/2

2n W

/ 2

l / 2

W

N

l / 2

n=1

/ 2

 2n1W

/ 2

/ 2

zobaczmy, że 

W

/ 2

/ 2

=

W

/ 2

nl

W

/ 2

nN /2

=

W

/2

nl

e

−

2 n N /2 / / 2

=

W

/ 2

nl

e

2 n

=

W

/ 2

nl

oraz 

W

N

/2 

=

W

N

l

W

N

/ 2

=

W

N

l

e

−

2 n N / 2/ N

=

W

N

l

e

n

=

W

N

l

−

1=−W

N

l

tak więc:

l/2=

n=1

/2

2n W

/ 2

nl

W

N

l

n=1

/2

2n1W

/2

nl

i dla dolnych częstotliwości (poniżej N/2)

l=

=1

/2

2n W

/ 2

nl

W

N

l

=1

/ 2

2n1W

/ 2

nl

czyli:

l = AlW

N

l

l

l/2 = Al−W

N

l

l


Document Outline