22
Analiza numeryczna Kurs INP002009W Wykład 10 Interpolacja trygonometryczna szybkie przekształcenie Fouriera Karol Tarnowski [email protected] A-1 p.223

Analiza numerycznatarnowski/old/student/201213l/an_w10.pdf · 2016-10-04 · Analiza numeryczna Kurs INP002009W Wykład 10 Interpolacja trygonometryczna – szybkie przekształcenie

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Analiza numeryczna Kurs INP002009W

Wykład 10

Interpolacja trygonometryczna –

szybkie przekształcenie Fouriera

Karol Tarnowski

[email protected] A-1 p.223

2/22

Plan wykładu

• Szereg Fouriera

• Zespolony szereg Fouriera

• Dyskretna transformata Fouriera

• Szybka transformata Fouriera

3/22

Wielomian interpolujący

Jeśli liczby x0, x1, …, xn są parami różne to istnieje

dokładnie jeden wielomian

taki, że p(xi) = yi (0 ≤ i ≤ n).

Wielomiany nie są odpowiednie do opisu zjawisk

periodycznych.

n

p

4/22

Funkcja okresowa Przykład

5/22

Szereg Fouriera

Dla prostoty załóżmy, że rozważana funkcja f ma

okres T = 2p. Wtedy funkcjami bazowymi mogą być

• 1, cos(t), cos(2t), …

• 0, sin(t), sin(2t), …

01

1( ) cos sin

2k k

k

f t a a kt b kt

p

pp

1

cosk

a f t kt dt p

pp

1

sink

b f t kt dt

6/22

Szereg Fouriera Przykład

7/22

Szereg Fouriera Przykład

8/22

Szereg Fouriera Przykład

9/22

Zespolone szeregi Fouriera

Wzór Eulera

Szereg Fouriera funkcji okresowej o wartościach

zespolonych dany jest wzorem

exp cos sini i

p e 1 0i

( ) e ,ikt

kk

f t c

p

pp

1

e .2

ikt

kc f t dt

10/22

Zespolone szeregi Fouriera Funkcja rzeczywista

Jeśli f jest funkcją rzeczywistą to szereg

jest częścią rzeczywistą szeregu zespolonego

01

1( ) cos sin

2k k

k

f t a a kt b kt

( ) eikt

kk

f t c

p

pp

1 1

cos sin2 2

k k kc f t kt i kt dt a ib

p

pp

1

cos , k k k

a f t kt dt a a

p

pp

0 0

1sin , , 0

k k kb f t kt dt b b b b

11/22

Zespolone szeregi Fouriera Funkcja rzeczywista

Dowód.

Część rzeczywista:

Część urojona:

1

dla 02

k k kc a ib k

1

e cos sin2

ikt

k k kk k

c a ib kt i kt

( ) eikt

kk

f t c

1

sin cos2

k kk

a kt b kt

1

cos sin2

k kk

a kt b kt

12/22

Zespolone szeregi Fouriera Funkcja rzeczywista

Część rzeczywista:

0 0

1

01

01

1cos sin

2

1cos0 sin0

2

1cos cos sin sin

2

1 1cos cos sin sin

2 2

1cos sin

2

k kk

k k k kk

k k k kk

k kk

a kt b kt

a t b t

a kt a kt b kt b kt

a a kt a kt b kt b kt

a a kt b kt

13/22

Zespolone szeregi Fouriera Funkcja rzeczywista

Część urojona:

0 0

1

01

0

1sin cos

2

1sin0 cos0

2

1sin sin cos cos

2

1 1sin sin cos cos

2 2

10 0

2

k kk

k k k kk

k k k kk

a kt b kt

a t b t

a kt a kt b kt b kt

b a kt a kt b kt b kt

b

14/22

Zespolone szeregi Fouriera

Dla funkcji o okresie T

gdzie w = 2p/T.

w

( ) eik t

kk

f t c

w

/2

/2

1e

T

ik t

k

T

c f t dtT

15/22

Transformata Fouriera

Ograniczając szereg do przedziału [−T/2, T/2],

a następnie wykonując przejście graniczne T

można zapisać:

ww wp

1

( ) e2

i tf t c d

wwp

1

e2

i tc f t dt

16/22

Dyskretna transformata Fouriera (DFT)

Potraktujmy funkcję f(t) jako zależną od czasu

wielkość fizyczną. Przyjmijmy, że pomiarów

dokonywano w czasie od t = 0 do t = T

w równoodległych chwilach czasu z odstępem

t = T/(N−1).

Odpowiednia częstość w przybiera także wartości

dyskretne, z odstępem n = 2p/T.

Wprowadźmy także notację:

• f(t) = f(t = nt) = fn,

• c(w) = c(w = kn) = ck.

17/22

Dyskretna transformata Fouriera (DFT)

p

1

2 /

0

1e

Ni nk N

n kk

f cN

p p

p

1 12 / 2 /

0 0

12 /

0

1 1e e

1, =e

nN Nk

i nk N i N

k n nn n

Nn

k i N

nn

c f fN N

fN

2O N

18/22

Szybka transformata Fouriera (FFT)

Załóżmy, że N = 2M

p

p p

p

12 /

0

/2 1 /2 12 2 / 2 2 1 /

2 2 10 0

2 /

e

e e

e

Ni nk N

k nn

N Ni n k N i n k N

n nn n

i k N

k k

c f

f f

x y

p

/2 1

2 2 /

20

eN

i n k N

k nn

x f p

/2 1

2 2 /

2 10

eN

i n k N

k nn

y f

2logO N N

19/22

Szybka transformata Fouriera (FFT) Przykład

Fs = 1000; % Częstotliwość próbkowania

T = 1/Fs; % Czas próbkowania

L = 1000; % Liczba punktów w próbce

t = (0:L-1)*T; %

% suma sygnałów o częstotliwości 50 Hz oraz 120 Hz

x = 0.7*sin(2*pi*50*t) + sin(2*pi*120*t);

y = x + 2*randn(size(t)); % sygnał + szum

figure(1)

subplot(2,1,1),plot(Fs*t,y)

title('Sygnal zanieczyszczony szumem')

subplot(2,1,2),plot(Fs*t(1:100),y(1:100))

title('Sygnal zanieczyszczony szumem')

xlabel('czas [ms]')

20/22

Szybka transformata Fouriera (FFT) Przykład

21/22

Szybka transformata Fouriera (FFT) Przykład

figure(2)

Y = fft(y)/L;

f = Fs/2*linspace(0,1,1000/2+1);

subplot(2,1,1),plot(f,2*abs(Y(1:1000/2+1)))

title('Widmo amplitudowe'), ylabel('|Y(f)|')

subplot(2,1,2),plot(f,2*abs(Y(1:1000/2+1)))

axis([0 140 0 1.1])

xlabel('czestotliwosc [Hz]'), ylabel('|Y(f)|')

22/22

Szybka transformata Fouriera (FFT) Przykład