Efikasno izračunavanje DFTtnt.etf.bg.ac.rs/~oe3dos/materijali/predavanja/casovi/4... · 2018. 11....

Preview:

Citation preview

Efikasno izračunavanje DFT1

Digitalna obrada signalaEfikasno izračunavanje DFT

Direktna primena za sve odmerke

Cilj ‐> smanjiti potreban broj izračunavanja

Jedno kompleksno množenje = 4 realna množenjaJedno kompleksno sabiranje = 2 realna sabiranjaJedno W = dve trigonometrijske funkcije sin i cos

Digitalna obrada signalaEfikasno izračunavanje DFT

sin i cos?

ali dodatak

Efikasno izračunavanje DFT2

Digitalna obrada signalaEfikasno izračunavanje DFT – Gercelov algoritam

Treba izračunati za mali broj odmeraka << N

Digitalna obrada signalaEfikasno izračunavanje DFT – Gercelov algoritam

Efikasno izračunavanje DFT3

Digitalna obrada signalaEfikasno izračunavanje DFT – Brza Furijeova transformacija

FFT

Digitalna obrada signalaEfikasno izračunavanje DFT – Brza Furijeova transformacija - DIT

Simetrija i periodičnost

ako treba i dodavanjem nula

)()(

2

)(

NknN

nNkN

knN

kN

NkN

knN

knN

nNkN

WWW

WW

WWW

Na primer ako uočimo bilo koji x sa parnim n i koeficijent kojim se mnozi, njegov sledbenik x sa neparnim n+1, se uvek množi sa “istim” koeficijentom“rotiranim” vrednošću

kNW

i za taj harmonik je konstantno

Efikasno izračunavanje DFT4

Digitalna obrada signalaEfikasno izračunavanje DFT – Brza Furijeova transformacija - DIT

parni neparni

Iz originalne sekvence sa parnim n

Iz originalne sekvence sa neparnim n

Digitalna obrada signalaEfikasno izračunavanje DFT – Brza Furijeova transformacija - DIT

Efikasno izračunavanje DFT5

Digitalna obrada signalaEfikasno izračunavanje DFT – Brza Furijeova transformacija - DIT

)3(10X

)3(11X

Strelice putanja. Strelice ulaze u čvor ‐> sabiranje. Koeficijent na strelici ‐> množenje.

)2(10X

)1(10X)0(10X

)0(11X

)1(11X)2(11X

Leptir operacija

0x

2x

4x

6x

1x

3x

5x

7x

0X

1X

2X

3X

4X

5X

6X

7X

08W1

8W2

8W3

8W1

1

1

1

DFT

DFT

Digitalna obrada signalaEfikasno izračunavanje DFT – Brza Furijeova transformacija - DIT

Direktno ‐ >

Podelom

Efikasno izračunavanje DFT6

Digitalna obrada signalaEfikasno izračunavanje DFT – Brza Furijeova transformacija - DIT

Digitalna obrada signalaEfikasno izračunavanje DFT – Brza Furijeova transformacija - DIT

Efikasno izračunavanje DFT7

Digitalna obrada signalaEfikasno izračunavanje DFT – Brza Furijeova transformacija - DIT

Ukupno stepena

Ukupno leptir operacija

Digitalna obrada signalaEfikasno izračunavanje DFT – Brza Furijeova transformacija - DIT

N=409649152/33554432=0.00146

Efikasno izračunavanje DFT8

Digitalna obrada signalaEfikasno izračunavanje DFT – Brza Furijeova transformacija – Bit inverzija

Preuređenje podataka ‐ Bit inverzija

Redosled koji je potreban:  0  4  2  6  1  5  3  7

Redosled sekvence:              0  1  2  3  4  5  6  7

0  4  2  6  1 5 3  7

0   1 2   3 4  5  6  7preuređenje i tu postoji simetrija

000  001 010 011  100   101  110 111

000  010  100 110  001   011  101 1111

000  100  010 110  001   101  011 1112

000  001 010 011  100   101  110 111 nove pozicije

123210012321 nnnnnn bbbbbbbbbbbb

Digitalna obrada signalaEfikasno izračunavanje DFT – Brza Furijeova transformacija – Bit inverzija

33

21

10210

23211

110

11

1

11

12321

0

0

012321

2*2*2*8*4*2*

)(

4*2*4*

0

41

)(2*

021

2

nnn

nnn

nnn

n

nnn

bbbNbNbNbjanovapozici

bbbbfunkcijanesto

nestoNbNbnestoNbjanovapozicijanovapozici

nestojanovapozicijanovapozicielse

nestoNjanovapozicijanovapozicithenbif

bbbbbfunkcijanesto

nestoNbjanovapozici

nestojanovapozicielse

nestoNjanovapozicithenbif

N

bbbbbb

Efikasno izračunavanje DFT9

Digitalna obrada signalaEfikasno izračunavanje DFT – Brza Furijeova transformacija – In place

Ulazna sekvenca kompleksnaBroj potrebnih lokacija N+NIzlazna je “sigurno” kompleksnaBroj potrebnih lokacija N+NSve zajedno 4N

Leptir operacija u m tom stepenu dekompozicije

Digitalna obrada signalaEfikasno izračunavanje DFT – Brza Furijeova transformacija – In place

Efikasno izračunavanje DFT10

Digitalna obrada signalaEfikasno izračunavanje DFT – Brza Furijeova transformacija - DIT

Modifikacije DIT algoritma

Povlačimo celu horizontalnu liniju  na gore, tako da ulazni podatak zauzme svoju pravu poziciju. Ne diramo čvorove, koeficijente ....

Digitalna obrada signalaEfikasno izračunavanje DFT – Brza Furijeova transformacija - DIT

Modifikacije DIT algoritma

Ista geometrija leptira. In place

Efikasno izračunavanje DFT11

Digitalna obrada signalaEfikasno izračunavanje DFT – Brza Furijeova transformacija - DIF

Digitalna obrada signalaEfikasno izračunavanje DFT – Brza Furijeova transformacija - DIF

Pomocni nizovi

Efikasno izračunavanje DFT12

Digitalna obrada signalaEfikasno izračunavanje DFT – Brza Furijeova transformacija - DIF

Napravimo pomocne nizove pa uradimo DFT u N/2 tačaka

Digitalna obrada signalaEfikasno izračunavanje DFT – Brza Furijeova transformacija - DIF

Efikasno izračunavanje DFT13

Digitalna obrada signalaEfikasno izračunavanje DFT – Brza Furijeova transformacija - DIF

Digitalna obrada signalaEfikasno izračunavanje DFT – Brza Furijeova transformacija - DIF

Modifikacije DIF algoritma

Efikasno izračunavanje DFT14

Digitalna obrada signalaEfikasno izračunavanje DFT – Brza Furijeova transformacija - DIF

Modifikacije DIF algoritma

Digitalna obrada signalaEfikasno izračunavanje DFT – Brza Furijeova transformacija - DIT vs DIF

DIF

DIT

Recommended