UNIVERZITET U NIŠU PRIRODNO-MATEMATIČKI FAKULTET DEPARTMAN ZA MATEMATIKU DISKRETNA FURIJEOVA TRANSFORMACIJA MASTER RAD Student: Aleksandra Milovanović

Слични документи
Celobrojno programiranje Rešavamo sledeći poblem celobrojnog programiranja: min c T x Ax = b x 0 x Z n Gde pretpostavljamo da je A celobrojna matrica

Veeeeeliki brojevi

1 Polinomi jedne promenljive Neka je K polje. Izraz P (x) = a 0 + a 1 x + + a n x n = n a k x k, x K, naziva se algebarski polinom po x nad poljem K.

Matrice. Algebarske operacije s matricama. - Predavanje I

6-8. ČAS Celobrojno programiranje Rešavamo sledeći poblem celobrojnog programiranja: Gde pretpostavljamo da je A celobrojna matrica dimenzije,. Takođe

My_P_Red_Bin_Zbir_Free

Matematka 1 Zadaci za vežbe Oktobar Uvod 1.1. Izračunati vrednost izraza (bez upotrebe pomoćnih sredstava): ( ) [ a) : b) 3 3

ФАКУЛТЕТ ОРГАНИЗАЦИОНИХ НАУКА

Орт колоквијум

Analiticka geometrija

Konstrukcija i analiza algoritama Nina Radojičić februar Analiza algoritama, rekurentne relacije 1 Definicija: Neka su f i g dve pozitivne fun

My_ST_FTNIspiti_Free

Microsoft Word - 4.Ucenik razlikuje direktno i obrnuto proporcionalne velicine, zna linearnu funkciju i graficki interpretira n

My_P_Trigo_Zbir_Free

Програмирај!

Microsoft Word - 6ms001

P1.1 Analiza efikasnosti algoritama 1

Microsoft Word - NULE FUNKCIJE I ZNAK FUNKCIJE.doc

Matematika 1 - izborna

Skripte2013

Microsoft Word - 15ms261

1 Konusni preseci (drugim rečima: kružnica, elipsa, hiperbola i parabola) Definicija 0.1 Algebarska kriva drugog reda u ravni jeste skup tačaka opisan

Grafovi 1. Posmatrajmo graf prikazan na slici sa desne strane. a) Odrediti skup čvorova V i skup grana E posmatranog grafa. Za svaku granu posebno odr

ALIP1_udzb_2019.indb

Техничко решење: Софтвер за симулацију стохастичког ортогоналног мерила сигнала, његовог интеграла и диференцијала Руководилац пројекта: Владимир Вуји

Microsoft PowerPoint - 03-Slozenost [Compatibility Mode]

08 RSA1

PRIRODNO-MATEMATIČKI FAKULTET U NIŠU DEPARTMAN ZA MATEMATIKU I INFORMATIKU ZADACI SA REŠENJIMA SA PRIJEMNOG ISPITA IZ MATEMATIKE, JUN Odrediti

Microsoft Word - AIDA2kolokvijumRsmerResenja.doc

Microsoft Word - Ispitivanje toka i grafik funkcije V deo

Microsoft Word - predavanje8

Teorija skupova - blog.sake.ba

Microsoft Word - GRAFICI TRIGONOMETRIJSKIH FUNKCIJA-II deo.doc

1

Техничко решење: Метода мерења ефективне вредности сложенопериодичног сигнала Руководилац пројекта: Владимир Вујичић Одговорно лице: Владимир Вујичић

JMBAG IME I PREZIME BROJ BODOVA MJERA I INTEGRAL 2. kolokvij 29. lipnja (Knjige, bilježnice, dodatni papiri i kalkulatori nisu dozvoljeni!) 1. (

Орт колоквијум

Verovatnoća - kolokvijum 17. decembar Profesor daje dva tipa ispita,,,težak ispit i,,lak ispit. Verovatnoća da student dobije težak ispit je

MAT KOL (Banja Luka) ISSN (p), ISSN (o) Vol. XX (2)(2014), PELLOVA JEDNAČINA I PITAGORIN

Microsoft Word - 1.Operacije i zakoni operacija

SKRIPTE EKOF 2019/20 skripteekof.com Lekcija 1: Brojevni izrazi Lekcija 1: Brojevni izrazi Pregled lekcije U okviru ove lekcije imaćete priliku da nau

Microsoft Word - PARNOST i NEPARNOST FUNKCIJE.PERIODICNOST

Konstrukcija i analiza algoritama vežbe 10 Nina Radojičić 15. decembar Algoritamske strategije - podeli pa vladaj (divide and conquer) Ova stra

ЕКОНОМСКИ ФАКУЛТЕТ УНИВЕРЗИТЕТА У ПРИШТИНИ КОСОВСКА МИТРОВИЦА

I колоквијум из Основа рачунарске технике I СИ- 2017/2018 ( ) Р е ш е њ е Задатак 1 Тачка А Потребно је прво пронаћи вредности функција f(x

9. : , ( )

Орт колоквијум

TEORIJA SIGNALA I INFORMACIJA

Mere slicnosti

CIJELI BROJEVI 1.) Kako još nazivamo pozitivne cijele brojeve? 1.) Za što je oznaka? 2.) Ispiši skup prirodnih brojeva! 3.) Kako označavamo skup priro

PowerPoint Presentation

СТРАХИЊА РАДИЋ КЛАСИФИКАЦИJА ИЗОМЕТРИJА И СЛИЧНОСТИ Према књизи [1], свака изометриjа σ се може представити ком позици - jом неке транслациjе за векто

Numerička matematika 11. predavanje dodatak Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb NumMat 2019, 11. p

Microsoft Word - IZVODI ZADACI _2.deo_

Техничко решење: Метода мерења реактивне снаге у сложенопериодичном режиму Руководилац пројекта: Владимир Вујичић Одговорно лице: Владимир Вујичић Аут

Microsoft Word - KVADRATNA FUNKCIJA.doc

JMBAG IME I PREZIME BROJ BODOVA 1. (ukupno 6 bodova) MJERA I INTEGRAL 1. kolokvij 4. svibnja (Knjige, bilježnice, dodatni papiri i kalkulatori n

Талесова 1 теорема и примене - неки задаци из збирке Дефинициjа 1: Нека су a и b две дужи чиjе су дужине изражене преко мерне jединице k > 0, тако да

ТРОУГАО БРЗИНА и математичка неисправност Лоренцове трансформације у специјалној теорији релативности Александар Вукеља www.

Microsoft Word - ASIMPTOTE FUNKCIJA.doc

vjezbe-difrfv.dvi

LAB PRAKTIKUM OR1 _ETR_

06 Poverljivost simetricnih algoritama1

s2.dvi

Sadržaj 1 Diskretan slučajan vektor Definicija slučajnog vektora Diskretan slučajan vektor

DISKRETNA MATEMATIKA

СТЕПЕН појам и особине

PITANJA I ZADACI ZA II KOLOKVIJUM IZ MATEMATIKE I Pitanja o nizovima Nizovi Realni niz i njegov podniz. Tačka nagomilavanja niza i granična vrednost(l

Орт колоквијум

Paper Title (use style: paper title)

Primjena neodredenog integrala u inženjerstvu Matematika 2 Erna Begović Kovač, Literatura: I. Gusić, Lekcije iz Matematike 2

Vjezbe 1.dvi

Microsoft Word - Lekcija 11.doc

3. КРИВОЛИНИЈСКИ ИНТЕГРАЛ

М А Т Е М А Т И К А Први разред (180) Предмети у простору и односи међу њима (10; 4 + 6) Линија и област (14; 5 + 9) Класификација предмета према свој

Microsoft Word - 13pavliskova

Београд, МАТРИЧНА АНАЛИЗА КОНСТРУКЦИЈА ЗАДАТАК 1 За носач приказан на слици: а) одредити дужине извијања свих штапова носача, ако на носач

JMBAG IME I PREZIME BROJ BODOVA MJERA I INTEGRAL završni ispit 6. srpnja (Knjige, bilježnice, dodatni papiri i kalkulatori nisu dozvoljeni!) 1.

ЗАДАЦИ ИЗ МАТЕМАТИКЕ ЗА ПРИПРЕМАЊЕ ЗАВРШНОГ ИСПИТА

PRIRODNO MATEMATIČKI FAKULTET U NIŠU DEPARTMAN ZA RAČUNARSKE NAUKE Utorak, godine PRIJEMNI ISPIT IZ INFORMATIKE 1. Koja od navedenih ekste

Прва економска школа Београд РЕПУБЛИЧКО ТАКМИЧЕЊЕ ИЗ СТАТИСТИКЕ март године ОПШТЕ ИНФОРМАЦИЈЕ И УПУТСТВО ЗА РАД Укупан број такмичарских

knjiga.dvi

1. Vrednost izraza jednaka je: Rexenje Direktnim raqunom dobija se = 4 9, ili kra e S = 1 ( 1 1

Рачунарска интелигенција

Osnovni pojmovi teorije verovatnoce

Microsoft Word - CAD sistemi

Microsoft Word - IZVODI ZADACI _I deo_.doc

Matematiqki fakultet Univerzitet u Beogradu Iracionalne jednaqine i nejednaqine Zlatko Lazovi 29. mart 2017.

Dinamičko programiranje Primer 1: Za dati niz naći njegov najduži neopadajući podniz. Defnicija: podniz nekog niza je niz koji se dobija izbacivanjem

PowerPoint Presentation

Увод у организацију и архитектуру рачунара 1

Рационални Бројеви Скуп рационалних бројева 1. Из скупа { 3 4, 2, 4, 11, 0, , 1 5, 12 3 } издвој подскуп: а) природних бројева; б) целих броје

UAAG Osnovne algebarske strukture 5. Vektorski prostori Borka Jadrijević

PROMENLJIVE, TIPOVI PROMENLJIVIH

UDŽBENIK 2. dio

Slide 1

РАСПОРЕД ИСПИТА У ИСПИТНОМ РОКУ ЈАНУАР 1 ШКОЛСКЕ 2016/2017. ГОДИНЕ (последња измена ) Прва година: ПРВА ГОДИНА - сви сем информатике Име пр

Microsoft Word - Algebra i funkcije- napredni nivo doc

Slide 1

Транскрипт:

UIVERZITET U IŠU PRIRODO-MATEMATIČKI FAKULTET DEPARTMA ZA MATEMATIKU DISKRETA FURIJEOVA TRASFORMACIJA MASTER RAD Student: Aleksandra Milovanović Mentor: ebojša Dinčić

Sadržaj 1 UVOD 5 1.1 ISTORIJSKI OSVRT A DFT................. 6 DEFIICIJA DISKRETE FURIJEOVE TRASFORMACIJE 9.1 DFT U VEKTORSKOM OBLIKU............... 10.1.1 VEKTOR KOMPLEKSOG EKSPOETA..... 10. DFT U MATRIČOM OBLIKU................ 1.3 IVERZA DFT......................... 14.3.1 DISKRETO δ...................... 15.3. ORTOGOALOST VEKTORA KOMPLEKSIH EKSPOEATA........... 16.3.3 DFT VEKTORA KOMPLEKSIH EKSPOEATA..................... 17.3.4 OBRUTI SIGALI I JIHOVE DFT......... 18.3.5 IVERZA DFT..................... 0.3.6 IVERZA DFT U MATRIČOM OBLIKU..... 1.4 RAZLIČITE DEFIICIJE DFT................. 4 3

3 OSOBIE DFT 7 3.1 EKE OSOBIE DFT...................... 7 3. POMERAJA I TEOREMA O POMERAJU......................... 30 3.3 MODULACIOA TEOREMA.................. 31 3.4 KOVOLUCIJA......................... 3 3.5 POMERAJE I KOVOLUCIJA................ 34 4 VEZA DFT SA OSTALIM FT 35 4.1 VEZA DFT SA EPREKIDOM FT............. 35 4.1.1 VEZA DFT SA BRZOM FT............... 39 5 ALGORITMI ZA IZRAČUAVAJE DFT 41 5.1 FFT ALGORITMI........................ 41 5.1.1 KULI-TAKI ALGORITAM............... 41 5.1. FAKTORIZACIJA MATRICE DFT.......... 57 5.1.3 SORTIRAJE IDEKSA................ 61 5. DOPUJAVAJE ULAMA.................. 66 6 EKE PRIMEE DFT U MATEMATICI 69 6.1 IDETIFIKACIJA PARAMETARA.............. 69 6. DISKRETIZACIJA OBIČIH DIFERECIJALIH JEDAČIA............... 71 6.3 MOŽEJE POLIOMA I VELIKIH CELIH BROJEVA.. 73 6.3.1 MOŽEJE POLIOMA................ 73 6.3. MOŽEJE VELIKIH CELIH BROJEVA....... 75

7 JOŠ EKE PRIMEE DFT 77 7.1 KOMPRESIJA PODATAKA.................. 77 7. SPEKTRALA AALIZA SIGALA............. 78

Glava 1 UVOD U prvoj glavi imamo kratak istorijski osvrt na DFT. U drugoj glavi se govori o definiciji DFT, o njenim različitim oblicima, ali i o inverznoj DFT. U trećoj glavi su izložene neke osobine DFT. U četvrtoj glavi se govori o vezama DFT sa ostalim FT. Peta glava nam opisuje neke algoritme za izračunavanje DFT. U šestoj glavi imamo primene DFT u matematici, dok u sedmoj glavi imamo primene DFT van matematike. Ovom prilikom bih želela da se zahvalim svom mentoru ebojši Dinčiću na pomoći i podršci prilikom izrade ovog rada. 7

1.1 ISTORIJSKI OSVRT A DFT Rani počeci onoga što danas nazivamo Furijeovom teorijom mogu biti pronad eni još u 18. veku kod matematičara Ojlera, Lagranža, Bernulija, itd. Ipak, široko je prihvaćeno da prvi značajan doprinos ovoj teoriji može biti pripisan Žozefu Furijeu. jegov rad su u 19. i 0. veku produbili poznati matematičari kao što su Poason, Riman, Lebeg i ostali. Kako neprekidna Furijeova transformacija ne može uvek biti izračunata analitički, razvila se diskretna Furijeova teorija, koja nudi mnogo praktičniji numerički pristup. Ojler i Lagranž su još u 18. veku koristili diskretizovan pristup, med utim, čini se da su se prve jasne formule DFT javile u materijalima Aleksisa Kloda Kleroa, objavljenim 1754. godine. Korišćenje Furijeove teorije se tokom godina dosta proširilo i našlo mnogo polja primene. Med utim, ručno računanje se pokazalo kao težak posao. Krajem 19. veka su se sa svrhom lakšeg računanja razvile posebne računarske mašine. Prvi digitalni računari koji su se pojavili sredinom 0. veka su korišćeni za računanje DFT. Bitno je napomenuti da, iako su nam dostupni snažni računari, direktna primena DFT pravi velike računarske troškove, jer je, na primer, broj operacija za DFT od tačaka, približno. a primer, personalni računar koji izvodi 10 7 operacija u sekundi, će izvesti DFT od 1000 tačaka za nekoliko sekundi. Med utim, ukoliko želimo da primenimo ovakvu DFT na matricu dimenzija 000 000 ta caka, ili na sliku, onda će ovaj proces potrajati nekoliko minuta. Ovo ilustruje veliki značaj naučne revolucije koju je doneo FFT algoritam, veoma značajan algoritam koji su 1965. godine objavili J. V. Kuli i J. V.

Taki. Uz pomoć ovog algoritma, broj operacija potrebnih za DFT od od tačaka, je smanjen od na log, što je veoma značajan pomak. a primer, za DFT od 1000 tačaka je potrebno 1000 000 operacija, dok je sa FFT taj broj smanjen na 10 000. Smanjenje broja operacija raste srazmerno sa povećanjem broja. Dakle, FFT algoritam omogućava veliko smanjenje računarskih troškova. Med utim, FFT algoritam, jedan od najznačajnijih ra cunarskih orud a 0. veka, je koristio Karl Fridrih Gaus u svojim materijalima iz 1805. godine, koji su se pojavili 1866. godine, nakon njegove smrti. Gaus je razmatrao problem reprezentacije orbite asteroida pomoću konačnih Furijeovih redova. To ga je dovelo do jedne od najznačajnijih računarskih tehnika - FFT algoritma. Imao je 1 tačaka u vezi sa penjanjem θ, izmerenim u stepenima, i u vezi sa skretanjem (deklinacijom) X izmerenim u minutima, gde podatak X zavisi periodično od θ. Dakle, problem se sveo na interpolaciju Furijeove delimične sume kroz 1 uzoraka tj. tačaka. Gaus je razmatrao sumu sledećeg oblika: X f(θ) a 0 + 5 [a k cos( πkθ 360 ) + b k sin( πkθ 360 )] + a 6 cos( 1πθ 360 ). Postavlja se pitanje - Kako odrediti 1 nepoznatih baziranih na uzorcima X n f(θ n )? Potrebno je rešiti 1 linearnih jednačina sa 1 nepoznatih, to je Gaus mogao da radi ručno. Med utim, on je razvio šemu koja smanjuje ukupan broj koraka - rastavio je problem na lakše potprobleme, rešio ih je, a zatim je njihova rešenja ukombinovao da bi dobio konačno rešenje početnog problema.

Glava DEFIICIJA DISKRETE FURIJEOVE TRASFORMACIJE Diskretna Furijeova transformacija se može shvatiti kao operacija koja prihvata kao ulaz listu od brojeva i vraća kao izlaz listu od brojeva. Ima više stvari koje se mogu reći o ulaznim i izlaznim vrednostima ove operacije. Za početak, napominjemo da ćemo koristiti vektore i diskretan signal i da -torke pišemo na sledeći način: f (f[0], f[1],..., f[ 1]) Vektore ćemo označavati boldiranim slovima. Indeksi će se kretati od 0 do 1, iz razloga koji će biti objašnjeni kasnije. Definicija.0.1. eka je data torka f (f[0], f[1],..., f[ 1]). Diskretna Furijeova transformacija (DFT) od f je torka F 11

(F [0], F [1],..., F [ 1]) definisana na sledeći način: F [m] f[n]e πimn, m 0, 1,..., 1. Dopušteno je da ulazne vrednosti f[n] budu i kompleksni brojevi, dok kod praktičnih primena na signale moraju biti realni brojevi. Vrednosti F su kompleksni brojevi, kao sume kompleksnih eksponenata..1 DFT U VEKTORSKOM OBLIKU.1.1 VEKTOR KOMPLEKSOG EKSPOETA Definicija Diskretne Furijeove transformacije uključuje kompleksne eksponente. Pisaćemo: i ponekad ćemo ovo označavati sa: ω e πi ω e πi kada hoćemo da istaknemo u nekoj formuli. Koristimo i sledeće oznake: ω je -ti koren jedinice i važi da je: Re ω cos π, Im ω sin π. ω e πi e πi 1 Za bilo koji cele brojeve n i k važi da je: ω n 1 i ω n+k ω k.

Takod e važi da je: ω e πi e iπ 1 i ω k ( 1)k. Za diskretnu Furijeovu transformaciju, gde su vekori prirodno uključeni, od pomoći je uvesti vektor kompleksnog eksponenta. korenova jedinice, odgovarajućih -tom stepenu od ω : 1 ω 0, ω 1,..., ω. Ima različitih -tih eka je: ω (1, ω, ω 3,..., ω ) vektor u C koji se sastoji iz različitih stepena od ω. Vektori realnog i imaginarnog dela od ω su: ( Re ω 1, cos π ) 4π ( 1)π, cos,..., cos, ( Im ω 1, sin π ) 4π ( 1)π, sin,..., sin. Takod e su bitni i stepeni vektora ω : ω k (1, ω k, ω k,..., ω ()k ) ω k (1, ω k, ω k,..., ω ()k ) ω k [m] ω km, ω k [m] ω km ( ) ω 1, ω πi 4πi ()πi, ω,..., ω (1, 1,..., 1) 1 Dakle: ω 1, ω n 1, ω n+k ω k za bilo koje cele brojeve n i k.

Definicija.1.1. Diskretna Furijeova transformacija u vektorskom obliku je definisana na sledeći način: Ff f[k]ω k Koristimo oznaku F kako bismo istakli vektorski karakter. Pisaćemo F ukoliko želimo da posebno naglasimo. Da istaknemo prirodu DFT reći ćemo da je DFT vektora ponovo neki vektor. Elementi od Ff su vrednosti od Ff u tačkama m 0, 1,..., 1 : Ff[m] f[k]ω km Istaknimo jednu specijalnu vrednost: Ff[0] f[k]ω k0 f[k]e πikm. f[k]e πik0 koja predstavlja sumu elemenata ulazne vrednosti f. DFT se definiše sa brojem 1 f[k] U nekim knjigama ispred, tako da je nulti element izlazne vrednosti jednak srednjoj vrednosti elemenata ulazne vrednosti, kao što je nulti Furijeov koeficijent periodične funkcije jednak srednjoj vrednosti te funkcije na jednom periodu.. DFT U MATRIČOM OBLIKU DFT pretvara vektore u vektore i to radi linearno. Dakle, važi: F(f 1 + f ) Ff 1 + Ff i F(αf) αff

Ovo ćemo pokazati na sledeći način: F(f 1 + f ) (f 1 + f )[k]ω k (.1) (f 1 [k] + f [k])ω k (.) f 1 [k]ω k + f [k]ω k Ff 1 + F f. (.3) Definicija..1. Kao linearna transformacija iz C u C, DFT F Ff je matrična jednačina: F [0] 1 1 1 1 f[0] F [1] 1 ω 1 1 ω 1 ω 1 () f[1] F [] 1 ω 1 ω ω () f[]......... F [ 1] 1 ω () 1 ω () ω () () f[ 1] Dakle, DFT je matrica dimenzije oblika: 1 1 1 1 1 ω 1 1 ω 1 ω 1 () F 1 ω 1 ω ω ()....... 1 ω () 1 ω () ω () () Još jednom primetimo da se indeksi za f i F kreću od 0 do 1, umesto od 1 do. Za DFT, izlazne vrednosti F[m] su definisane za m 0, 1, ali njihova definicija: F[m] f[k]ω km

nalaže osobinu periodičnosti. Kako je: tada imamo: Dakle, dobijamo da je: f[k]ω k(m+) ω k(m+) ω km F[m + ] F[m]. a sličan način možemo doći do toga da je: za svaki ceo broj n. Dakle: F[m + n] F[m] f[k]ω km F[m]. F[p] F[q], ukoliko je p q mod. Prema tome, sledeća formula važi za svaki ceo broj n : F[m] f[k]ω km. Zbog napred navedenog uvek ćemo podrazumevati da je F periodičan sa periodom. Kada budemo nešto kasnije definisali inverznu DFT, to će povlačiti da i f mora biti periodična sa periodom. Zato ćemo uvek podrazumevati da je f periodičan sa periodom..3 IVERZA DFT Prirodno je očekivati da svaka transformacija ima inverznu transformaciju, pa tako i DFT nije izuzetak. DFT ima inverznu transformaciju i njena for-

mula je vrlo slična formuli za DFT. Ključ inverzije je diskretna ortogonalnost kompleksnih eksponenata. Istražićemo problem pronalaženja Inverzne diskretne Furijeove transformacije F 1 iz vektorske i matrične tačke gledišta..3.1 DISKRETO δ U matematici, Dirakova delta funkcija, ili δ funkcija, je uopštena funkcija ili distribucija. Stavimo da je δ 0 (1, 0,..., 0), gde je 1 na nultoj poziciji, a nula na preostalih 1 pozicija. Vektor δ 0 je upravo prvi vektor baze u C, pod pretpostavljenim imenom. Vektor δ 0 definišemo na sledeći način: 1, m 0 mod, δ 0 [m] 0, inače. Za DFT od δ 0 imamo da je: Fδ 0 δ 0 [k]ω k ω 0 1. Za DFT u matričnom obliku, Fδ 0 izvlači prvu kolonu, koja je 1. Možemo koristiti oznaku δ za δ 0. δ k definišemo na sledeći način: δ k (0,..., 0, 1, 0,..., 0) gde je 1 na k-toj poziciji, a nule na svim ostalim pozicijama. Sada proizvoljan vektor f možemo zapisati na sledeći način: f f[k]δ k δ k možemo posmatrati kao bazni vektor za C i takod e kao bazni vektor za -periodične diskretne signale.

Za DFT od δ k imamo: Fδ k δ k [n]ω n ω k. Sa matrične tačke gledišta, DFT od δ k izvlači k-tu kolonu matrice i to je upravo ω k..3. ORTOGOALOST VEKTORA KOMPLEKSIH EKSPOEATA eka je ω vektor kompleksnog eksponenta: i ω k njegov k-ti stepen: ω (1, ω, ω,..., ω ) ω k (1, ω k, ω k,..., ω ()k ). Za bilo koje cele brojeve k i l važi:, k l mod, < ω k, ω l > 0, inače. Da bismo ovo pokazali, koristićemo činjenicu da je ω k koji ceo broj, i formulu za sumu konačnog geometrijskog reda:, z 1, 1 + z + z +... + z 1 z, z 1. 1 z Za z ω imamo: 1 + ω + ω +... + ω 1 ω 1 ω 0 1 ω 0. 1, gde je k bilo

Ukoliko k nije celobrojni umnožak broja, dakle ω k 1 i ω k 1, tada imamo: 1 + ω k + ω k +... + ω ()k 1 ω 1 ω 1 ωk 1 ω k 0. Ukoliko je k celobrojni umnožak broja, tada je ω k 1 : 1 + ω k + ω k +... + ω ()k 1 + 1 +... + 1. Dakle:, k 0 mod 1 + ω k + ω k +... + ω ()k 0, inače. Iz svega navedenog zaključujemo da različitih vektora 1, ω 1, ω,..., ω () jesu bazni vektori u C (što takod e važi i za vektore 1, ω, ω,..., ω ). Koristeći raniji rezultat Fδ k ω k mi zaključujemo da je F invertibilna. Med utim, ovo nam zasad ne pokazuje šta je njen inverz..3.3 DFT VEKTORA KOMPLEKSIH EKSPOEATA Ortogonalnost vektora kompleksnih eksponenata povlači veliki broj različitih rezultata. a primer, sada možemo odrediti Fω k. a osnovu definicije: Fω k imamo da je njegova l-ta komponenta: Fω kl ω kn ω n ω kn ω nl ω k, ω l, k l mod 0, inače

Zaključujemo da je diskretna Furijeova transformacija od ω k oblika Fω kl δ k..3.4 OBRUTI SIGALI I JIHOVE DFT Za diskretan signal f, definisan uz pomoć celih brojeva, periodičan ili ne, odgovarajući obrnuti signal, f, je definisan na sledeći način: f [m] f[ m]. Ako je f periodičan sa periodom, kao što od sada pretpostavljamo, zapisujemo ga kao vektor: f (f[0], f[1],..., f[ 1]). Tada je: f (f[], f[ 1],..., f[1]). (koristili smo f[] f[0]). Za svaki ceo broj n, važi: f [n] f[ n]. Obrnuti signal ima osobinu linearnosti i važi: (f + g) f + g i (αf) αf. Takod e važi: (fg) (f )(g ). Razmotrimo dva specijalna slučaja obrnutih signala: δ 0 δ 0 i δ k δ k.

Sa ovim rezultatom, možemo zapisati: ( ) f f[k]δ k f[k]δ k. Može se reći da su δ k bazni vektori za direktne signale, a δ k bazni vektori za obrnute signale. Sada obratimo pažnju na ω. Za početak imamo: ω (ω[], ω[ 1], ω[ ],..., ω[1]) (1, ω (), ω ( ),..., ω). Uočimo da je: ω ω ω 1 ω ω 1, ω ω ω 1 ω ω. astavljajući postupak, zaključujemo da je: a sličan način možemo zaključiti: ω (1, ω 1, ω,..., ω () ) ω 1. (ω k ) ω k, (ω k ) ω k. Razmotrimo sada Ff, DFT obrnutih signala: Ff f [k]ω k f[ k]ω k (obrnuto f) 1 f[l]ω l (l k) l 1 f[l]ω l. l

Sada, koristeći f[] f[0] i ω ω 0 1, možemo zapisati: ( 1 ) f[l]ω l f[l]ω l f[l]ω l (Ff). l l0 Pokazali smo da je Ff (Ff). Ovo nam kazuje da je: l0 Fω k (Fω k ) (δ k ) δ k. Krenimo sada sa: i primenimo F opet: Ff f[k]ω k FFf f[k]fω k Dakle, imamo sledeće dvojne relacije za DFT: Ff (Ff) i FFf f. f[k]δ k f..3.5 IVERZA DFT Jedina stvar koju nemamo u diskretnom slučaju je je definicija F 1. Definisaćemo F 1 na sledeći način: i takod e: F 1 f 1 (Ff) F 1 f 1 Pokažimo sada zašto nam ovo zaista daje inverz od F. f[n]ω n. (.4) Očigledno je da je F 1 definisana na ovaj način linearna. Takod e, treba znati da je:

F 1 ω k 1 (Fω k ) (.5) 1 Fωk (.6) 1 δ k δ k. (.7) Deo (.6) važi na osnovu definicije za F 1, deo (.7) na osnovu (ω k ) ω k. Sa ovim dobijamo da je: ( F 1 Ff F 1 f[k]ω k ) a sličan način dobijamo da je: FF 1 f f. Pokazali smo da je F 1 zaista inverz od F. f[k]f 1 ω k f[k]δ k f. Sada možemo rešiti problem periodičnosti ulaznih vrednosti DFT. Znamo da kada je F Ff, tada nas DFT navodi da proširimo F da bude - periodična. Med utim, kako je sada: f F 1 F, očigledno je da sada moramo voditi računa da ulazne vrednosti f budu periodične, što smo i učinili..3.6 IVERZA DFT U MATRIČOM OBLIKU Pokazaćemo šta se dešava sa F 1 u matričnom obliku. ajpre se moramo podsetiti nekih činjenica iz linearne algebre. Podsetimo, kvadratna matrica A sa realnim elementima je:

simetrična, ako A A T ; ortogonalna, ako A T A I. Kvadratna matrica A sa kompleksnim elementima je: ermitska, ako A A ; unitarna, ako A A I. Matrica je unitarna akko su njene kolone i vrste ortonormalne i formiraju ortonormalnu bazu. DFT u matričnom obliku je: 1 1 1 1 1 ω 1 1 ω 1 ω 1 () F 1 ω 1 ω ω ()....... 1 ω () 1 ω () ω () () i njene kolone i vrste su vektori ω k, k 0, 1. Znamo da su stepeni vektora kompleksnog eksponenta ortogonalni i skoro ortonormalni, do na faktor. Dakle, F kao matrica je skoro unitarna, što znači da je: F F I. Dakle: F 1 1 F.

U matričnom obliku: 1 F 1 1 1 1 1 1 ω 1 1 ω 1 ω 1 () 1 ω 1 ω ω ()....... 1 ω () 1 ω () ω () () 1 1 1 1 1 1 ω 1 ω ω () 1 ω ω 4 ω ()....... 1 ω () ω () ω () 1 1 1 1 1 1 ω 1 ω ω () 1 ω ω 4 ω ()....... 1 ω () ω () ω (). Ukoliko pogledamo matrični oblik: 1 1 1 1 1 1 ω 1 ω ω () 1 ω ω 4 ω ()....... 1 ω () ω () ω () F [0] F [1] F []. F [ 1] f[0] f[1] f[]. f[ 1] dolazimo do ranije dobijene formule za inverz: f[n] 1 F[k]ω kn.

.4 RAZLIČITE DEFIICIJE DFT U ovom odeljku, pokušaćemo da objasnimo šta se podrazumeva rečenicom: DFT može biti definisana nad bilo kojim nizom od uzastopnih indeksa. Za periodičnu neprekidnu funkciju f(t) sa periodom jednakom npr. 1, n-ti Furijeov koeficijent je: ˆf(n) 1 0 e πint f(t) dt. Periodičnost funkcije f povlači činjenicu da ˆf(n) može biti dobijena integraljenjem na bilo kom intervalu dužine 1, med utim, mi tražimo diskretnu verziju toga. Daćemo sada opštu verziju definicije DFT: Definicija.4.1. eka su diskretni signali f : Z C periodični sa periodom. eka su P i Q indeksni skupovi od nekih uzastopnih celih brojeva: P (p, p + 1,..., p + 1), Q (q, q + 1,..., q + 1). DFT bazirana na P i Q (tj. P, Q-DFT ) je definisana na sledeći način: Gf[m] k P f[k]ω km p+ kp f[k]ω km, m Q. Označili smo tu transformaciju sa G da bismo je razlikovali od F koja je odred ena posebnim izborom indeksinh skupova P Q (0, 1,..., 1). Odgovarajuća inverzna transformacija je definisana na sličan način.

Kako je f periodična funkcija sa periodom, kada znamo f za bilo koji niz od uzastopnih brojeva, tada znamo i njenu vrednost svuda i isto važi i za njenu transformaciju. Ovo potrvrd uje da je definicija od G nezavisna od izbora P i Q. Moramo objasniti šta znači nezavisna od izbora P. Za početak, kao prvi korak, proširimo Gf da bude periodična sa periodom. Kako su eksponenti u definiciji (P, Q) transformacije periodični sa periodom, to je proširenje Gf definisano za svaki ceo broj m. Pokažimo to: neka je m ceo broj i neka je m n + k: p+ lp f[l]ω ml p+ lp p+ lp Gf[n] f[l]ω (n+k)l f[l]ω nl Gf[n + k] Gf[m]. Pretposlednja jednakost važi zato što smo proširili Gf da bude periodična. Dakle, imamo da je: Gf[m] p+ lp f[l]ω ml za svaki ceo broj m. Sada hoćemo da pokažemo da je: Gf[m] Ff[m] za svaki ceo broj m. Drugim rečima, svaka DFT je upravo DFT data sa F, definisana korišćenjem indeksnog skupa (0, 1,..., 1). Ovo je, konačno, precizno značenje rečenice DFT može biti definisana nad bilo kojim nizom uzastopnih indeksa..

Još nismo iskoristili činjenicu da je f periodična. To ćemo učiniti sada. eka je p r + s, gde su p i r celi brojevi, a s pripada (0, 1,..., 1). Za svaki ceo broj m je: Gf[m] p+ kp f[k]ω km f[k + p]ω (k+p)m f[k + s]ω (k+s)m f[k]ω km + ks +s k f[k]ω km s 1 f[k]ω km + f[k]ω km ks Ff[m]. Prilikom dokazivanja koristili smo periodičnost i p r + s.

Glava 3 OSOBIE DFT 3.1 EKE OSOBIE DFT Teorema 3.1.1. eka su g[n] i h[n] nizovi koji imaju diskretne Furijeove transformacije G[k] i H[k]: i pri čemu važi: G[k] Fg[n] g[n]e πikn, k 0, 1,..., 1, (3.1) H[k] Fh[n] g[n]e πikn, k 0, 1,..., 1, (3.) g[n] F 1 G[k] 1 h[n] F 1 h[k] 1 G[k]e πikn, n 0, 1,..., 1, (3.3) H[k]e πikn, n 0, 1,..., 1, (3.4) gde je n (n 0, n 1,..., n ), k (k 0, k 1,..., k ) Z, a i b realni brojevi. Tada važe sledeće osobine: 9

1. (Linearnost:) F{ag[n] + bh[n]} ag[k] + bh[k]. (Periodičnost:) g[n + ] g[n], za svako n; G[k + ] G[k], za svako k 3. (Simetričnost:) G[ k] G[k], k 0, 1,..., 1 4. (Parsevalova jednakost:) < Ff, Fg > < f, g >. Dokaz: 1. Linearnost ćemo dokazati primenom (3.), (3.) i linearnosti sume: F{ag[n] + bh[n]} {ag[n] + bh[n]}e πikn a g[n]e πikn ag[k] + bh[k]. + b h[n]e πikn. Periodičnost ćemo dokazati primenom (3.), (3.): G[k + ] g[n + ] 1 1 g[n]e πin(k+) g[n]e πikn e πin G[k]e πik(n+) g[n]e πikn e πin 1 g[n]e πikn G[k]e πink e πik 1 G[k], G[k]e πink πin e G[k]e πink g[n].

3. G[ k] g[n]e πin( k) g[n]e πink e πin g[n]e πink G[k] G[k]. g[n]e πink πin e g[n]e πink g[n]e πink 4. Za dokaz koristimo osobine kompleksnog skalarnog proizvoda i ortogonalnost eksponenata vektora: < Ff, Fg > ( ) ( f[k]ω k l0 g[l]ω l ) f[k]g[l] ω k ω l l0 f[k]g[k] < f, g >. Ukoliko je f g, tada jednakost postaje: Ff f. Parsevalova jednakost je drugačiji način da se kaže da je F skoro unitarna kao matrica. Podsećamo, unitarna matrica A ima osobinu: < Af, Ag >< f, g >.

3. POMERAJA I TEOREMA O POMERAJU Prilikom formulacije teoreme o pomeranju, korisno je uvesti operator kašnjenja za diskretan signal f. Za svaki ceo broj p, definišemo signal τ p f na sledeći način: τ p f[n] f[n p]. Teorema o pomeranju za DFT je sledećeg oblika: F(τ p f) ω p Ff. Da bi ova teorema imala smisla, f mora biti periodičan. eka je f periodičan sa periodom, tj. neka važi: f[] f[0], f[ + 1] f[1], f[ + p 1] f[p 1]. Posmatrajmo: Ff[n] p 1 +p 1 n f[n]e πikn f[n]e πikn + np f[n]e πikn f[n + ]e πikn + np f[n + ]e πik(n+) + f[n]e πikn + np f[n]e πikn np f[n]e πikn f[n]e πikn.

Dakle: Odredimo sada: Ff[n] +p 1 np f[n]e πikn. F(τ p f)[n] Ff[n p] f[n p]e πikn e πikp f[n p]e πik(n p) +p 1 e πinp ω p Ff. np f[n]e πinp 3.3 MODULACIOA TEOREMA F(ω n f) τ n (Ff). Modulacija diskretnog signala f, je signal sledećeg oblika: ω n f (1, ω n, ω n,..., ω ()n ) (f[0], f[1], f[],..., f[ 1]) (f[0], ω n f[1], ω n f[],..., ω ()n f[ 1]), gde je sa označen proizvod po komponentama. Možemo pronaći F(ω n f) direktno po definiciji: F(ω n f) gde je m-ta komponenta sledećeg oblika: F(ω n f)[m] f[k]ω kn ω k f[k]ω kn ω km f[k]ω k(m n).

Ukoliko pomerimo Ff za n, dobijamo: ( τ n (Ff) τ n f[k]ω k ) f[k]τ n ω k, i m-ta komponenta desne strane poslednje jednakosti je sledećeg oblika: f[k]τ n ω k )[m] ( Zaključujemo da je F(ω n f) τ n (Ff). f[k](τ n ω k )[m] f[k]ω k(m n). 3.4 KOVOLUCIJA Konvolucija i njena primena u DFT su osnove digitalnog filtriranja. Postavlja se pitanje: Kako možemo iskoristiti jedan signal za modifikaciju drugog? eka su date F i G, i razmatrajmo njihov proizvod po komponentama FG. Postavlja se pitanje: Ako je F Ff i G Fg, da li postoji h, takvo da je FG Fh? Koristićemo promenu redosleda sumiranja, da bismo ovo pokazali. (F 1 (FG))[m] 1 F[n]G[n]ω mn ( 1 ( 1 f[k] g[l] l0 ( 1 f[k] g[l] l0 ) ( f[k]ω kn l0 g[l]ω ln ) ω kn ω ln ω mn ) ) ω n(m k l). ω mn

Pogledajmo sada poslednju sumu u zagradama. Ovo je konačan geometrijski niz čija je suma jednaka, kada je m k l 0 mod, odnosno 0, u suprotnom. Poslednji red iznad postaje: Dakle, ako je: h[m] f[k]g[m k]. f[k]g[m k], m 0, 1,..., 1. tada je FG Fh. Uočimo da periodičnost od g mora biti uzeta u obzir pri definisanju h, zato što će indeks uz g biti negativan za m < k. Takod e, uočimo da je h periodična. Da sumiramo: Konvolucija diskretnog signala: eka su f i g periodični diskretni signali. Definišimo konvoluciju od f i g kao periodičan diskretan signal f g, takav da važi: Tada je: (f g)[m] f[k]g[m k]. F(f g) (Ff)(Fg). DFT pretvara proizvod u konvoluciju: F(fg) 1 (Ff Fg). Ovu osobinu možemo dobiti korišćenjem dualnosti i osobina konvolucije. eka je F F 1 f i G F 1 g. Tada je f FF, g FG i fg (FF)(FG) F(F G). F(fg) FF(F G) (F G) ( 1 (Ff) 1 (Fg) ) 1 (Ff Fg).

3.5 POMERAJE I KOVOLUCIJA Zabeležimo jednu osobinu kombinujući konvoluciju sa kašnjenjima: ((τ p f) g)[n] τ p f[n k]g[k] (3.5) f[n k p]g[k] (3.6) (f g)[n p] (3.7) τ p (f g)[n]. (3.8) Kako je konvolucija komutativna, imamo da važi: (τ p f) g τ p (f g) f (τ p g).

Glava 4 VEZA DFT SA OSTALIM FT 4.1 VEZA DFT SA EPREKIDOM FT Krenimo sa signalom f(t) i njegovom Furijeovom transformacijom F(f(s)), koje su funkcije neprekidne promenljive. Cilj nam je: Pronaći diskretan oblik od f(t), koji je razumna aproksimacija od f(t). Pronaći diskretan oblik od Ff(s), koji je razumna aproksimacija od Ff(s). Pronaći način na koji je diskretan oblik od Ff(s) u vezi sa diskretnim oblikom od f(t), koji je razumna aproksimacija načina na koji je Ff(s) u vezi sa f(t). eka su L i B celi brojevi. Pretpostavimo da je f(t) jednako nuli izvan 0 t L. Takod e, pretpostavimo da je Furijeova transformacija Ff(s) jednaka nuli izvan 0 < s < B. Dakle, pretpostavljamo da je nosač funkcije Ff(s) segment [0, B] a ne [ B, B], radi lakšeg indeksiranja. 37

Prema teoremi o uzorkovanju (na osnovu dovoljnog broja vrednosti funkcije f u diskretnom skupu jednako raspodeljenih tačaka, možemo funkciju f u potpunosti rekonstruisati iz njenih vrednosti u tim tackama), možemo f(t) potpuno rekonstruisati iz njenih uzoraka, ako uzorkovanje vršimo brzinom od B uzoraka u sekundi. Kako je f(t) definisana na intervalu duzine L, a susedni uzorci su na med usobnom rastojanju 1/B, to znači da ćemo imati ukupno: L 1 B BL jednako raspodeljenih uzoraka, u tačkama: t 0 0, t 1 1 B, t B,..., t 1 B. Znati vrednosti f(t k ), znači znati vrednost f(t). Dakle, možemo zaključiti: Diskretna verzija od f(t) je lista uzorkovanih vrednosti f(t 0 ), f(t 1 ),..., f(t ). Sada, predstavimo diskretnu verziju od f(t) tj. listu uzorkovanih vrednosti neprekidno, pomoću konačnog impulsnog voza 1 u uzorkovanim tačkama: δ(t t n ). To je ono što smo ranije smatrali uzorkovanom formom od f(t 0 ) : f diskretno (t) f(t) δ(t t n ) f(t n )δ(t t n ). 1 Impulsni voz (eng. impulse train, a finite III-function) je periodična distribucija konstruisana od Dirakove δ funkcije III T (t) k δ(t kt ) 1 T III( t T ), za neki period T. Kako je ova funkcija periodična, može biti predstavljena Furijeovim redom III T (t) n eπin t T

Furijeova transformacija od f diskretno je: Ff diskretno (s) f(t n )Fδ(t t n ) f(t n )e πistn. Ovo je Furijeova transformacija uzorkovanog oblika od f(t) - blizu smo onoga što želimo. Funkcija f(t) je ograničena na 0 t L, i ovo odred uje stopu uzorkovanja za rekonstrukciju Ff(s) iz njenih uzoraka u domenu frekvencije. Stopa uzorkovanja je 1. Uzorkujemo Ff(s) duž intervala od 0 do B na domenu L frekvencije u tačkama na rastojanju 1. Broj uzorkovanih tačaka je: L B 1/L BL jednak broju broju uzorkovanih tačaka za f(t). Uzorkovane tačke za Ff(s) su oblika m L i njihov broj je jednak : s 0 0, s 1 1 L,..., s 1 L. Diskretan oblik od Ff(s) koji mi imamo, nije Ff(s) odred en u uzorkovanim tačkama s m. To je Ff diskretno (s) odred en u uzorkovanim tačkama. Dakle: Diskretan oblik od Ff(s) je lista vrednosti: F (s 0 ) f(t n )e πis 0t n, F (s 1 ) f(t n )e πis 1t n,... F (s ) f(t n )e πis t n.

Sada imamo način dobijanja diskretnog oblika od Ff(s) iz diskretnog oblika od f(t): F (s m ) f(t n )e πismtn. Ove sume, za svako m 0, 1, su aproksimacije Furijeove transformacije od f(t), do Ff(s). Postavlja se pitanje: u kom smislu je ovo diskretna aproksimacija Furijeove transformacije? Evo jednog načina na koji to vidimo. Kako je f(t) vremenski ograničena na 0 t L, mi imamo: Ff(s) U uzorkovanim tačkama s m je: Ff(s m ) L 0 L 0 e πist f(t)dt. e πismt f(t)dt i kada znamo vrednosti Ff(s m ), znamo i Ff(s). Sada iskoristimo uzorkovane tačke t k za f(t) da zapišemo Rimanovu sumu kao aproksimaciju za integral. Rastojanje t izmed u tačaka je jednako 1, dakle imamo: B Zaključujemo da: Ff(s m ) L 0 e πismt f(t)dt f(t n )e πismtn t 1 f(t n )e πismtn B 1 B F (s m). Do na faktor 1 B, vrednosti F (s m) predstavljaju aproksimaciju od Ff(s m ).

Zapisivanje Rimanove sume kao aproksimacije integrala koji definiše Ff(s m ), diskretizuje integral, i ovo je jedan način dobijanja izraza za F (s n ), do faktora B. Mi smo skratili ovaj korak, radeći sa Ff diskretno (s). Postoji još jedna stvar koja se mora rešiti da bi se mogla dati definicija DFT. Koristimo definiciju uzorkovanih tačaka: da bismo zapisali: F (s m ) f(t n )e πismtn t n n B, s m m L f(t n )e πinm BL f(t n )e πinm. Ovaj oblik eksponenta, e πinm, daje veći značaj indeksu ulaznih (n) i izlaznih (m) vrednosti i broju tačaka, i sakriva uzorkovane tačke. Ovo je poslednji korak do diskretnog. 4.1.1 VEZA DFT SA BRZOM FT Brza Furijeova transformacija (engl. Fast Fourier transformation; često se označava kao FFT) je algoritam za brzo izračunavanje vrednosti diskretne Furijeove transformacije, baziran na simetričnosti koeficijenata DFT. Ubrzanje u odnosu na uobičajen postupak izračunavanja diskretne Furijeove transformacije postiže se izbegavanjem ponovnog izračunavanja izraza koji se med usobno negiraju. Algoritam se pripisuje Džejmsu V. Kuliju (James W. Cooley) i Džonu V. Takiju (John W. Tukey) koji su ga objavili 1965. godine. Med utim, Karl Fridrih Gaus ga je razvio još 1805. da bi izračunao putanju asteroida Palas i Juno. Pritom su mnoge verzije razvijene i pre Kulijeve i Takijeve varijante. Posle su se pojavila mnoga poboljšanja i varijacije.

Za brzu Furijeovu transformaciju postoji i algoritam u suprotnom smeru - inverzna brza Furijeova transformacija. eka su f[0], f[1],..., f[ 1] kompleksni brojevi. DFT je odred ena formulom: F [k] f[n]e πikn, k 0, 1,..., 1. Odred ivanje ove definicije direktno zahteva operacija: ima izlaznih vrednosti F [k] i svaka od njih je suma od funkcija. FFT je metod uz pomoć koga se dobija isti rezultat, ali pomoću log operacija.

Glava 5 ALGORITMI ZA IZRAČUAVAJE DFT 5.1 FFT ALGORITMI Zasnivaju se na dekompoziciji DFT Koriste osobine simetričnosti i periodičnosti DFT Broj množenja i sabiranja je smanjen ( log ) Ostvarene uštede u vremenu računanja su posebno izražene za veliko 5.1.1 KULI-TAKI ALGORITAM e možemo se naći kompaktniji način za zapisivanje DFT od matričnog oblika: (F) mn ω mn, m, n 0, 1,..., 1. 43

On sadrži sve što treba da znamo. Med utim, ono što može da se poboljša jeste smanjivanje broja množenja potrebnih da se izračuna data DFT. To poboljšanje može biti veliko, i to je svrha FFT. FFT je algoritam za odred ivanje DFT sa manje od množenja, gde je broj množenja potreban da se odredi F F f, množenjem f matricom dimenzija. Evo kako funkcioniše. Smanjivanje računanja: spajanje i sortiranje Pogledajmo, najpre, jedan prostilji primer. Razmotrimo primer sortiranja brojeva od najmanjeg do najvećeg. eka su dati brojevi sledeći: 5 3 1 6 4 8 7 Hoćemo da napravimo listu na kojoj su brojevi pored ani od najmanjeg do najvećeg, odnosno od 1 do 8. Potrebno je pretražiti listu, pronaći najmanji broj, ukloniti ga, i staviti ga na prvo mesto nove liste, zatim nastaviti pretraživanje ostatka originalne liste, pronaći najmanji broj, ukloniti ga, i staviti na drugo mesto nove liste, itd: ulti korak: 5 3 1 6 4 8 7 Prvi korak : 5 3 6 4 8 7 1 Drugi korak: 5 3 6 4 8 7 1 Treći korak: 5 6 4 8 7 1 3 Četvrti korak: 5 6 8 7 1 3 4

Uzastopni koraci proizvode dve liste: jednu sortiranu i jednu koja nije sortirana. Konačnu sortiranu listu dobijamo u osmom koraku. Uopšteno, postavlja se pitanje: Koliko operacija jedan ovakav algoritam zahteva da se završi sortiranje? Ukoliko imamo brojeva, tada svaki korak zahteva, grubo govoreći, pored enja - lista se smanjuje, ali je broj pored enja reda, i moramo ponoviti ovaj postupak puta (ima koraka, ne računajući nulti korak, koji samo prepisuje početnu listu). Dakle, broj operacija potrebnih za sortiranje brojeva je reda, i obeležava se sa O( ). Problem sa ovim jednostavnim postupkom je što se u (n + 1)-om koraku ne uzimaju u obzir upored ivanja obavljena u n-tom koraku. Ceo taj trud je protraćen u svakom od koraka. Jedan drugačiji pristup, koji koristi med u-pored enja, sortira podliste početne liste, spaja rezultate i sortira ih opet. Evo kako on funkcioniše. Krenimo prolazeći direktno kroz listu i razdvajajući je na podliste koje imaju po dva elementa; neka je to nulti korak. 5 3 1 6 4 8 7 Prvi korak je sortiranje svake od ove (četiri) -liste, na ovaj način dobijamo dve grupe od po dve -liste, koje nazivamo gornje i donje liste: Gornje liste: 5 1 3

Donje liste: 4 6 7 8 (Ovaj korak zahteva dva pored enja). Drugi korak spaja ove -liste u dve sortirane 4-liste (ponovo nazvane gornja i donja ). Evo algoritma, primenjenog zasebno na gornje i donje -liste. Brojevi u prvim redovima svake -liste se biraju tako da budu manji od drugog broja. Uporedimo ova dva broja i pomerimo manji od njih u prvi red gornje 4-liste. Isto uradimo i za donju 4-listu. Sada imamo 1- listu i -listu. Uporedimo jedini element 1-liste sa prvim elementom -liste i pomerimo manji od njih u drugi red gornje(donje) 4-liste. Ostala su nam dva broja-uporedimo ih i stavimo ih u treći i četvrti red gornje (donje) 4-liste. Dobili smo dve 4-liste: gornja 1 3 5 donja 4 6 7 8 (Ovaj korak zahteva četiri pored enja). Sledeći korak jeste spojiti gornju i donju sortiranu 4-listu u jednu sortiranu 8-listu: 1 3 4 5 6 7 8 (Sa ovim primerom ovaj korak zahteva pet pored enja). U ovom procesu nismo mnogo smanjili broj pored enja koje moramo izvršiti u svakom koraku, ali smo smanjili broj koraka od osam na tri. Postavlja se

pitanje - Koliko operacija je potrebno za dobijanje konačne liste sortiranih brojeva? ije tesko uočiti da je broj pored enja potrebnih za spajanje dve podliste reda ukupne dužine podlista. Sa brojeva, ukupan broj pored enja u svakom spajanju-sortiranju je O(): broj pored enja u spajanju-sortiranjuo() Postavlja se pitanje - Koliko spajanja-sortiranja ima ukupno? U svakoj fazi prepolovimo broj podlista, ili, radeći na drugačiji način, polazeći od konačne sortirane liste, svaki korak na gore, duplira broj podlista. Ukoliko ima n dupliranja (n koraka), tada je n, ili: broj koraka spajanja-sortiranja log. Zaključujemo da je: broj koraka sortiranje za sortiranje brojeva O( log ). Ukoliko je veliko, tada je velika ušteda u koracima. a primer, ukoliko je milion, tada je O( ) jednako milion miliona, ili 10 1 koraka, dok je log 10 10 6 6, odnosno 6 miliona operacija. To je tačno računanje operacija koje su uključene, ali zašto je ušteda u korišćenju spajanja-sortiranja, pre nego u koršćenju pored enja? Pomoću sortiranja podlista mi samo treba da poredimo prve elemente podlista u delu spajanja kod algoritma. a ovaj način, (n + 1)-i korak ima prednost u odnosu na pored enja učinjena u n-tom koraku, što nije učinjeno prilikom korišćenja metoda direktnog pored enja.

Jednostavno računanje DFT Razmatrajući kako možemo da izračunamo DFT efikasnije nego direktnim množenjem matrica, uradimo jednostavan proračun za 4. DFT matrica je: 1 1 1 1 1 ω F 4 4 1 ω4 ω 3 4 1 ω 4 ω4 4 ω4 6 1 ω4 3 ω4 6 ω4 9 Hoćemo ovo da redukujemo što je više moguće. Koristeći ω 4 e πi 4 i ω 4 4 1 dobijamo: ω 6 4 ω 4 4 ω 4 ω 4 i ω 9 4 ω 8 4 ω 1 4 ω 1 4. Sada F 4 postaje: 1 1 1 1 1 ω 4 1 ω4 ω4 3 1 ω 4 ω4 4 ω4 6 1 ω4 3 ω4 6 ω4 9 1 1 1 1 1 ω 1 4 ω 4 ω 3 4 1 ω 4 1 ω 4 1 ω4 3 ω4 ω4 1 e stajemo ovde. Kako je: ω 4 (e πi 4 ) e πi 1 dobijamo: F 4 1 1 1 1 1 ω4 1 ω4 ω4 3 1 ω4 ω4 4 ω4 6 1 ω4 3 ω4 6 ω4 9 1 1 1 1 1 ω4 1 1 ω4 1 1 1 1 1 1 ω4 1 1 ω4 1

Dakle, nalazimo: 1 1 1 1 f[0] 1 ω F 4 f 4 1 1 ω4 1 f[1] 1 1 1 1 f[] 1 ω4 1 1 ω4 1 f[3] f[0] + f[1] + f() + f(3) f[0] + f[1]ω 4 1 f[] f(3)ω 1 4. f[0] f[1] + f[] f(3) f[0] f[1]ω4 1 f[] + f(3)ω4 1 Matrica izgleda jednostavnije, ali je i dalje potrebno 16 množenja da bi se došlo do konačnog rešenja. BRZA FURIJEOVA TRASFORMACIJA - FFT DFT ima složenu strukturu. Trik za brže računanje DFT reda je korišćenje te strukture za preured ivanje proizvoda da bi se dobila DFT reda. Da bi algoritam bio što efikasniji u ubrzanoj primeni, potrebno je pret- postaviti da je stepen broja. Koristićemo sledeću oznaku za stepene od ω: ω[p, g] ω q p. Za naše potrebe p će biti jednako,, itd. ajpre uočimo da je: ω[ πi, 1] e e 4πi ω[, ]. Dakle, stepeni od ω[, 1] su parni stepeni od ω[, 1] ω 1 : ω[, n] ω[, n]

i uopšteno: ω[, nm] ω[, nm]. Postavlja se pitanje - Kakvog su oblika neparni stepeni od ω[, 1] ω 1? eparni stepen je oblika ω[, (n + 1)] i važi: ω[, (n + 1)] ω[, 1]ω[, n] ω[, 1]ω[, n]. Važi i: ω[, (n + 1)m] ω[, m]ω[, nm]. Konačno je: ω[, ] e( πi )( ) e πi 1. Podela suma Za svako m, hoćemo da podelimo sumu definisanjem F[m] preko dve sume, jedne sa parnim i jedne sa neparnim indeksima: F[m] 1 f[n]ω[, nm] f[n]ω[, (n)m] + f[n + 1]ω[, (n + 1)m]. 1 Kako obe sume idu od 0 do 1, uočimo da su u prvoj sumi prvi i poslednji članovi f[0] i f[ ]ω[, ( )m], a u drugoj sumi su to f[1]ω[, m] i f[ 1]ω[, ( 1)m]. Dalje, u skladu sa našim opaskama u vezi sa stepenima od ω, F[m]

možemo zapisati i na sledeći način: 1 F[m] 1 f[n]ω[ 1, nm] + f[n]ω[ 1, nm] + ω[, m] Proučimo ove sume malo detaljnije. f[n + 1]ω[, nm]ω[, m] f[n + 1]ω[, nm]. Ima parnih i neparnih ideksa, i zapažamo da u svakoj sumi skoro pa da dobijamo DFT reda od -torki f[parno] i f[neparno]. Postavlja se pitanje - Zašto skoro? DFT reda prihvata kao ulaz -torku i vraća kao izlaz -torku. Med utim, sume iznad, daju svih ulaznih vrednosti -torke F, kada m ide od 0 do 1. Uradićemo dve stvari da bismo dobili F Prvo, ukoliko pretpostavimo da m ide od 0 do : 1, tada dobijamo prvih izlaznih vrednosti F[m], i zapisujemo neformalno: F[m] (F f parno )[m] + ω[, m](f f neparno )[m], m 0, 1,..., 1. To ima smisla, -torke ulaze i -izlaze. Drugo, postavlja se pitanje - Šta se dešava sa sa indeksom m u drugoj polovini opsega, od do 1? Umesto da pustimo da m ide od do 1, možemo zapisati ove indekse u obliku m +, gde se m kreće od 0 do 1 i pitamo se koje oblike imaju sume za F[m + ]. Posmatrajmo stepene od ω. U obema sumama, sa parnim i sa neparnim indeksima, imamo stepene ω[, mn], i ukoliko umesto m stavimo m +,

dobijamo: ω[, (m + )n] ω[, mn]ω[, n ] ω[, mn], jer je ω[, ] 1. Med utim, za sume sa parnim indeksima, postoji takod e faktor ω[, m] ispred, i ovo postaje: ω[, (m + )] ω[, m]ω[, ] ω[, m]. Sastavljajući ova opažanja, dobijamo drugu polovinu izlaznih vrednosti F[m], od F[ ], do F[ 1] : F[m + 1 ] f[n]ω[ 1, nm] ω[, m] f[n + 1]ω[, nm] F[m + ] (F f parno )[m] + ω[, m](f f neparno )[m], m 0, 1,..., 1. Opis FFT algoritma Sve što smo do sada uradili je veoma značajno. Sumirajmo sve to: Krenuli smo sa ulaznom -torkom f, i želimo da odredimo njenu izlaznu -torku F F f. Koraci koje smo preduzeli za izračunavanje izlaznih komponenata F[m], za m 0, 1,..., 1: 1. Podela f[n] na dva dela, sa parnim i neparnim indeksima (0 je paran), svaki dužine.. Izračunavanje F f parno i F f neparno. 3. Dobijanje izlaznih vrednosti F[m] ured ivanjem rezultata ovog računanja

po: F[m] (F f parno )[m] + ω[, m](f f neparno )[m] F[m + ] (F f parno )[m] ω[, m](f f neparno )[m] m 0, 1,..., 1. Još jedan pogled na F 4 Uradimo slučaj za 4, kao primer, upored ujući ga sa ranijim računanjem. Prvi korak je preured ivanje ulaznih vrednosti da bismo grupisali parne i neparne indekse. Ovo je urad eno matricom permutacije: M 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 čiji efekat je sledeći: 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 f[0] f[1] f[] f[3] f[0] f[1] f[] f[3]. Matrica M je definisana na osnovu dejstva na vektore standardne baze e 0, e 1, e, e 3 od R 4, odnosno na bazu: Me 0 e 0, Me 1 e 1, Me e, Me 3 e 3. Sledeće, parni i neparni indeksi su uvedeni redom u dve DFT reda 4.

Ovo je presudno smanjenje u FFT algoritmu. 1 1 0 0 1 ω 1 0 0 0 0 1 1 0 0 1 ω 1 f[0] f[1] f[] f[3] f[0] + f[] f[0] + f[]ω 1 f[1] + f[3] f[1] + f[3]ω 1. Sa leve strane imamo blok-dijagonalnu matricu dimenzija 4 4, sa F matricama sa obe strane dijagonale, i sa nulama na ostalim mestima. Dakle, dobijamo da je: F f parno f 0 + f[] f 0 + f[]ω 1, F f neparno f[1] + f[3] f[1] + f[3]ω 1 i za svaki slučaj indeksiranje je m 0 za prvi ulaz, i m 1 za drugi ulaz. Poslednji korak za dobijanje F[m]-ova je kombinovanje ovih diskretnih Furijeovih transformacija, u skladu sa parnim i neparnim sumama koje smo ranije zapisali. Prilikom spajanja delova, želimo da ostavimo parne indekse zasebno, stavimo ω m 4 ispred m-te komponente prve polovine neparnih indeksa od F, i ω m 4 ispred m-te komponente druge polovine neparnih indeksa od F. Ove radimo pomoću sledeće matrice: B 4 1 0 1 0 0 1 0 ω 1 4 1 0 1 0 0 1 0 ω 1 4.

To funkcioniše na sledeći način: 1 0 1 0 f[0] + f[] 0 1 0 ω 4 1 f[0] + f[]ω 1 1 0 1 0 f[1] + f[3] 0 1 0 ω4 1 f[1] + f[3]ω 1 f[0] + f[] + f[1] + f[3] f[0] + f[]ω 1 + f[1]ω4 1 + f[3]ω 1 ω 1 4 f[0] + f[] f(1) f[3] f[0] + f[]ω 1 f[1]ω4 1 f[3]ω 1 ω4 1 f[0] + f[] + f[1] + f[3] f[0] + f[1]ω 4 1 f[] f[3]ω 1 4 f[0] f[1] + f[] f[3] f[0] f[1]ω4 1 f[] + f[3]ω4 1 pri čemu smo koristili ω 1 e πi 1. Ovo proveravamo sa onim što smo ranije dobili. Jedan način da vidimo ovaj proces je faktorizacija F 4 na jednostavnije

matrice: 1 1 1 1 1 1 1 1 1 ω 4 1 ω4 ω4 3 1 ω 1 ω 4 ω4 4 ω4 6 4 1 1 ω 1 4 1 1 1 1 1 ω4 3 ω4 6 ω4 9 1 ω4 1 1 ω4 1 1 0 1 0 1 1 0 0 1 0 0 0 0 1 0 ω 4 1 1 ω 1 0 0 0 0 1 0 1 0 1 0 0 0 1 1 0 1 0 0 0 1 0 ω4 1 0 0 1 ω 1 0 0 0 1 1 0 1 0 1 1 0 0 1 0 0 0 0 1 0 ω 4 1 1 1 0 0 0 0 1 0 1 0 1 0 0 0 1 1 0 1 0 0 0 1 0 ω4 1 0 0 1 1 0 0 0 1 Ima 48 ulaznih vrednosti u ovim trima matricama čijim množenjem dobijamo F 4, od tih 48 ulaznih vrednosti, 0 su nule. a isti način dobijamo opšti oblik faktorizacije za dobijanje DF T pomoću DF T / : F I I I ). Ω Ω Ω F 0 sortirani parni. 0 F i neparni indeksi je jedinična matrica dimenzija. 0 je nulta matrica (dimenzija je dijagonalna matrica sa vrednostima 1, ω 1, ω,..., ω ( 1) duž dijagonale. F parnih indeksa prvo, a zatim je DFT polovine reda, i matrica permutacije stavlja neparnih indeksa. ačin na koji faktorizacija funkcioniše je sledeći:

Ulazne vrednosti su f[0], f[1],..., f[ 1]. Matrica sa desne strane je permutaciona matrica koja stavlja parne indekse na prvih mesta, a neparne indekse na drugih mesta. Ovu operaciju možemo i ovako tumačiti: krenemo od f[0] i uzimamo svako drugo f[n] - dobićemo niz f[0], f[], f[4], itd., a zatim se vratimo nazad i krenemo sa f[1] uzimamo svako drugo f[n]-dobićemo niz f[1], f[3], f[5], itd. Izlazne vrednosti prve matrične operacije su par vektora. Matrica u sredini ih prihvata kao ulazne vrednosti. Ona računa polovinu DFT nad ovim polovljenim ulaznim vrednostima i vraća dva prosled uju kao ulazne vrednosti trećoj matrici. - vektora, koji se dalje Treća matrica, sa leva, rekonstruiše izlazne vrednosti od polovljenih DFT i vraća kao rezultat F[0], F[1],..., F[ 1]. Ovaj korak je sličan koraku spajanja-sortiranja algoritma sortiranja brojeva. Operacije (pored enje u tom slučaju, DFT u ovom slučaju) su izvedene na manjim listama, koje su zatim spojene u duže liste. Bitna odlika je da se tokom množenja u jednom trenutku pojavljuje veliki broj nula u matricama. Do ove poslednje tačke već možemo da smanjimo broj operacija kada koristimo parno/neparno odvajanje, nasparam direktnog odred ivanja DFT iz definicije. Ukoliko računamo FF f kao matrični proizvod, ima množenja i sabiranja, sto ukupno daje operacija. S druge strane, podela računanja, u unutrašnjoj blok matrici od dve DFT reda, zahteva ( ) množenja i ( ) sabiranja. Sortiranje i kombinovanje treće matrice zahteva množenja i sabiranja. Metoda

podele zahteva broja operacija reda, dok direktna DFT zahteva. Prepolovili smo broj operacija na pola, ali je i dalje ostao istog reda. Vratićemo se na ovu analizu kasnije. Podeli pa pokori (eng. Divide and conquer) Sada je očigledno šta želimo uraditi - ponavljati algoritam svaki put poloveći veličinu DFT. Faktorizacija od do je gornji nivo: F I Ω F 0 sortirani parni. I Ω 0 F i neparni indeksi U sledećem nivou ispod ne radimo ništa sa matricama na krajevima, ali faktorizujemo svaku od dve F na isti način, u permutacionu matricu desno, blok matricu F u sredini, i matricu okupljanja levo. Dakle: 4 F I 4 I 4 Ω 4 Ω 4 F 4 0 sortirane 0 F 4 liste na dve 4 liste Stavljanjem ovoga u gornji nivo, operacije postaju rekurzivne. Uznačimo sa M sledeći proizvod: M I Ω 4 4 F 4 0 I 4 Ω 4 0 F 4 Tada je: F I I Ω Ω M 0 0 M sortirane liste na dve 4 liste.. sortirani parni. i neparni indeksi Da bismo mogli da nastavimo polovljenje veličine DFT, sada vidimo da mora biti stepen broja. Konstrukcija se dalje nastavlja na niže nivoe dok od F ne stignemo do F 1. apomenimo da DFT reda 1 dobija jednu ulaznu vrednost i vraća je nepromenjenu, dakle, to je identična transformacija.

Kada je polovljenje završeno, dogad a se sledeće. Posao je u početnom sortiranju i ponovnom okupljanju, jer je konačna DFT u faktorizaciji jednaka F 1, odnosno identična transformacija. Dakle, čitajući sa desna na levo, početne ulazne vrednosti (f[0], f[1],..., f[ 1]) su prve sortirane, a zatim vraćene kroz matrice sakupljanja, dovodeći nas konačno do izlaznih vrednosti (F[0], F[1],..., F[ 1]). Očigledno je da, sa mnoštvom nula u matricama, bi trebalo da ima smanjenja ukupnog broja operacija, ali se ne zna tačno koliko. Ceo put, od f-ova do F-ova se zove Brza Furijeova transformacija (FFT). Brza je zbog smanjenja broja operacija. Zapamtimo, FFT nije nova transformacija, to je samo iyračunavanje DFT za početne ulazne vrednosti. 5.1. FAKTORIZACIJA MATRICE DFT Umesto da detaljno opisujemo ceo proces, pogledajmo jedan primer iz matrične tačke gledišta. Posmatrajmo slučaj za 16. Početna ulazna vrednost je 16-orka (ili vektor f), a konačna izlazna vrednost je druga 16-orka, F F 16 f. gornjem nivou ovo možemo zapisati na sledeći način: F F 16 f I 8 Ω 8 F 8 0 I 8 Ω 8 0 F 8 I 8 Ω 8 I 8 Ω 8 G, H f parno f neparno gde su G i H rezultati računanja F 8 za f parno i f neparno redom. a

Zapišimo ovo na sledeći način: F B 16 G H, B 16 I 8 Ω 8 I 8 Ω 8. Sledeći korak pokazuje kako dolazimo do G i H: G F 8 f parno I 4 Ω 4 I 4 Ω 4 G H B 8 G H gde su G i H rezultati računanja F 4 parnih i neparnih podnizova od f parno. a sličan način dobijamo: H F 8 f neparno I 4 Ω 4 I 4 Ω 4 G H B 8 G H, gde su G i H rezultati računanja F 4 parnih i neparnih podnizova od f neparno. Kombinujući ovo što smo dobili, imamo: F F 16 f B 16 B 8 0 0 B 8 G H G H. astavimo dalje jos dva koraka-ostaje da odredimo DFT reda 4 i reda.

Tada rezultat izgleda ovako: B 4 0 0 0 F F 16 f B 16 B 8 0 0 B 4 0 0 0 B 8 0 0 B 4 0 0 0 0 B 4 B 0 0 0 0 0 0 0 0 B 0 0 0 0 0 0 Matrica 0 0 B 0 0 0 0 0 permutacije 0 0 0 B 0 0 0 0 dimenzija 0 0 0 0 B 0 0 0 16 16 0 0 0 0 0 B 0 0 koja sortira 0 0 0 0 0 0 B 0 ulazne vrednosti 0 0 0 0 0 0 0 B f. Zabeležimo da je: B 1 1 1 1 Svaka matrica B prima par ulaznih vrednosti koje koje doalze od para DF T 1, i kako DF T 1 ne menjaju ništa, svaka matrica B prima originalne ulazne vrednosti f[m], ali sa promenjenim redosledom od redosleda: f[0], f[1],..., f[15]. Vratićemo se kasnije na pitanje sortiranja indeksa, ali vidimo najpre šta je cilj svega ovoga. Cilj svega ovoga U faktorizaciji DFT ima mnogo nula. akon početnog sortiranja indeksa, ima 4 faza spajanja. Uopšteno, za n ima n log faza spajanja nakon početnog sortiranja.. Računanje log za broj faza ponovnog spa-

janja, vrši se na isti način kao računanje za broj koraka spajanja-sortiranja u algoritmu sortiranja. Razmotrimo sada računsku kompleksnost FFT algoritma uopšteno. Označimo sa C() broj elementarnih operacija potrebnih za pronalaženje DFT pomoću FFT algoritma; ovo uključuje sabiranja i množenja. Sastavimo F od dve F poću drugiog niza elementarnih operacija. Iz naših ranijih razmatranja, ili iz faktorizacije, broj operacija može lako biti prikazan kao proporcionalan sa. Dakle, osnovna rekurziona veza je: C() C ( ) + K. Možemo rešiti ovu rekurzionu jednakost na sledeći način. eka je: n log i neka je: Tada je: T (n) C(). C() T (n).. Kako je n 1 log ( ), tada je: ili jednostavno: T (n 1) C( ) C( ), ili T (n 1) C T (n) T (n 1) + K. ( ) Ovo nam već nagoveštava da je T (n) linearan. C(1) je očigledno jednako 0, jer nije potrebna nijedna operacija za računanje DFT od jedne tačke. Otuda

T (0) C(1) 0, T (1) K, i uopšteno: T (n) Kn. U funkciji od C, ovo ima sledeći oblik: C(n) K log. Razna izvod enja FFT pokušavaju da smanje konstantu K što više. ajbolje do sada, smanjuje broj množenja na log, a broj sabiranja na 3 log. Zapamtimo da ovo važi za kompleksne ulazne vrednosti. Ograničavanje na realne ulazne vrednosti smanjuje broj operacija na pola. Kao što smo ranije napomenuli, za veliko, smanjenje broja računanja od na log predstavlja ogromnu uštedu. a primer, neka je 104 10. Tada je 0, što je oko milion, dok je 10 log 10 oko deset hiljada, ili čak oko pet hiljada za realne signale. To je znatno smanjenje, koje je za još veće brojeve jos izraženije. 5.1.3 SORTIRAJE IDEKSA Ukoliko razmišljmo o rekurzivnoj faktorizaciji unutrašnje matrice DFT, tada prilikom sprovod enja cele FFT, prva stvar koja se radi je sortiranje i mešanje ulaznih vrednosti. Uobičajeno je prikazati dijagram toka FFT, i većina grafičkih prikaza FFT prikazuju kako se f[m]-ovi mešaju i kreću iz jedne faze u drugu. Grafik toka kompletnog FFT algoritma se naziva leptir dijagram. Princip sortiranja ulaznih vrednosti je isti kao što je ranije ustanovljeno. Krenimo sa prvom ulaznom vrednošću f[0] i uzmimo svaku drugu. Zatim

krenimo sa drugom ulaznom vrednošću f[1] i uzmimo svaku drugu. a ovaj način dobijamo f parno i f neparno. Sledeće sortiranje ponavlja proces na podnizovima od f parno i f neparno itd. Za 8, imamo: f[0] f[0] f[0] f[0] f[1] f[] f[4] f[4] f[] f[4] f[] f[] f[3] f[6] f[6] f[6] f[4] f[1] f[1] f[1] f[5] f[3] f[5] f[5] f[6] f[5] f[3] f[3] f[7] f[7] f[7] f[7] FFT algoritam, za 8 je: F B 8 B 4 0 0 B 4 B 0 0 0 0 B 0 0 0 0 B 0 0 0 0 B f[0] f[4] f[] f[6] f[1] f[5] f[3] f[7] Sortiranje može biti opisano pomoću binarnih brojeva. Svako sortiranje razvrstava ulazne vrednosti u gornje binarne ili donje binarne. Koristimo 0 za gornje ( ), a 1 za donje ( ) (kao 0 za parno i 1 za neparno). Dodeljujući cifre sa desna na levo, najmanje značajan bit je prvi sortiran,

sledeći bit po značaju je drugi sortiran, a najznačajniji bit je poslednji sortiran. Povećavamo prethodnu tabelu na sledeći način: f[0] f[0] 0 f[0] 00 f[0] 000 f[1] f[] 0 f[4] 00 f[4] 100 f[] f[4] 0 f[] 10 f[] 010 f[3] f[6] 0 f[6] 10 f[6] 110 f[4] f[1] 1 f[1] 01 f[1] 001 f[5] f[3] 1 f[5] 01 f[5] 101 f[6] f[5] 1 f[3] 11 f[3] 011 f[7] f[7] 1 f[7] 11 f[7] 111 Brojevi u poslednjoj koloni su tačna binarna reprezentacija za 0, 4,, 6, 1, 5, 3, 7. Zabeležimo da iz početnog prirodnog redosleda: f[0] 000 f[1] 001 f[] 010 f[3] 011 f[4] 100 f[5] 101 f[6] 110 f[7] 111 dobijamo : f[0] 000 f[4] 100 f[] 010 f[6] 110 f[1] 001 f[5] 101 f[3] 011 f[7] 111 obrtanjem binarne reprezentacije brojeva u prvoj tabeli. Šta se desava sa f[6] na primer? Dekadni broj 6 u binarnom obliku je 110. To je donje-donje-gornje ( ). Prvo sortiranje postavlja f[6] na

vrh 4-liste, drugo sortiranje generiše četiri -liste, dve gornje -liste i dve donje -liste, i postavlja f[6] u dno dve -liste. Konačno sortiranje postavlja f[6] tačno ispod f[]. Mesto za f[6] u konačnom sortiranju, koje odgovara donjem-donjem-gornjem, to je četvrto dole, dakle 110, inverzno binarno je 011 (četvrto mesto u originalnom redosledu). Isti proces za sortiranje se koristi za svako : 1. Zapisati 0, 1,..., 1 u binarnom obliku. To numeriše mesta od 0,..., 1.. Obrnuti binarne cifre za svaki broj mesta. Za binarni broj m, označimo sa m njegov obrnuti. 3. Ulazna vrednost f m ide na mesto m. Ovaj korak u FFT algoritmu se naziva okretanje bitova, iz očiglednih razloga. Prilikom izvršavanja FFT algoritma, mi ne radimo sortiranje, već to radi sam program. Ukoliko se desi da nemamo n uzoraka, tada se dodaju nule, dok se ne dobije broj približan stepenu broja. Ovo se zove popunjavanje nulama, i neki FFT algoritmi rade to automatski. Okretanje bitova pomoću matrice permutacije Da bismo zapisiali permutacionu matricu koja vrši sortiranje, primenimo algoritam svaki drugi na vrste (kolone) jedinične matrice dimnzija, preuredimo vrste (kolone) u skladu sa time, i ponovimo postupak. Za imamo dva koraka:

Sortiranje i preured ivanje vrsta: 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 Sortiranje i preured ivanje vrsta Sortiranje i preured ivanje gornjih i donjih polovina 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1

I konačno: 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 f[0] f[1] f[] f[3] f[4] f[5] f[6] f[7] f[0] f[4] f[] f[6] f[1] f[5] f[3] f[7]. erešeni problem u računarskoj nauci: Koja je donja granica složenosti FFT algoritama? Mogu li da budu brži od O( log )? 5. DOPUJAVAJE ULAMA Kao što smo ranije videli, FFT algoritam za računanje DFT je podešen da radi sa ulaznim vrednostima čija je dužina jednaka stepenu broja. zahtevaju sva izvod enja FFT ulazne vrednosti te dužine, mnogi programi prihvataju ulazne vrednosti odred ene dužine, a ulaznim vrednostima koje nisu odgovatajuće dužine, dodaju se nule na kraju signala da bi se postigla odgovarajuća dužina. Ovaj proces se naziva dopunjavanje nulama i mnogi programi ga izvšavaju automatski kada se koristi FFT. eka je f (f[0], f[1],..., f[ 1]) originalna ulazna vrednost. Za ceo broj M > definišemo: f[n], 0 n 1 g[n] 0, n M 1 e

Tada: G[m] F M g[m] Poradimo malo sa ω nm M : Kad god je m M ω nm M e πimn M ceo broj, imamo: G[m] M 1 ω nm M e πimn M ω m n M g[n] m πin M e f[n] F [ ] m. M ω nm M f[n]. n ω m M. Možemo zapisati ovu jednačinu i za F u svojstvu od G : [ ] mm F[m] G, kada god je mm ceo broj. Ovo nas najviše interesuje: Program računa transformaciju G[m] F M g dopunjenu nulama i želimo da znamo šta su izlazne vrednosti F[m] originalnog signala u svojstvu od G. Odgovor je: m-ta komponenta od mm -ta komponenta od G, kad god je mm na sledeći način: M k, F, je ceo broj. M možemo da izaberemo gde je k ceo broj. Dakle, M je puta veće od, ili 3 puta veće od itd. Tada je mm km uvek ceo broj i: što je lakše iskazati rečima: F[m] G[km], Ukoliko je signal f dopunjen nulama do signala g dužine M, gde je M k, tada je m-ta komponenta od F Ff u stvari km-ta komponenta od G Fg.

Glava 6 EKE PRIMEE DFT U MATEMATICI DFT ima veliku primenu na raznim poljima. Sve primene zavise uglavnom od mogućnosti Brzog Furijeovog algoritma FFT da računa DFT i njene inverze. 6.1 IDETIFIKACIJA PARAMETARA Jedna od primena DFT jeste predvid anje ljuljanja grad evina pod uticajem vetra i ostalih spoljašnjih faktora. Grad evine, pogotovo one veoma visoke, se ljuljaju i vibriraju pod uticajem vetra. Ovo je nešto što je uobičajeno i veoma teško da se izbegne. Previše ljuljanja i vibracija mogu izazvati oštećenje strukture grad evina. Postavlja se pitanje - kako odrediti kako će se struktura ponašati pod uticajem jakog vetra? Približan model za horizontalno pomerenje u prouzrokovano vetrom snage 71

f je: au + bu + cu f(t) gde su a, b, c pozitivne konstante takve da je b 4ac < 0. Ovo je standardan problem u uobičajenim diferencijalnim jednačinama. Problem ovde je što ne znamo šta su konstante a, b, c. Moramo da ih odredimo eksperimentalno. Jedan od načina je udaranje zida pneumatskim čekićem i beleženje odgovora. Snaga impulsa uzrokovanog pneumatskim čekićem je data na sledeći način: f(t) f 0 δ(t) gde je δ(t) Dirakova δ-funkcija, a f 0 jačina impulsa. Razmišljajmo o δ-funkciji kao o signalu ukupne snage 1 jednake jedan, veoma kratkog trajanja. eka je funkcija f h definisana na sledeći način: 1, h t h, h f h (t) 0, inače Tehnički govoreći, δ-funkcija je granična vrednost od f h kada h 0. Odgovarajući impulsni odgovor u ima sledeći oblik: 0, t < 0 u(t) f 0 ωa sin(ωt)e µt, t 0 gde je ω 4ac b a i µ b a. Ideja je merenje pomeranja (ili ljuljanja) u razlicitim intervalima posto je ta zgrada udarena pneumatskim čekićem. Ovo će dati diskretizovan grafik funkcije u. Teorijski, frekvencija ω može biti odred ena iz ovog grafika uporedo sa konstantom propadanja µ i amplitudom f 0. Kako je f ωa 0 poznato (snaga 1 T Snaga signala f(t) definiše se kao lim T T f(t) dt, a energija kao f(t) dt.

pneumatskog čekića), parametar a može biti odred en iz amplitude f 0 ωa i ω. Parametri b i c mogu biti odred eni iz jednačina ω 4ac b a jednačine sa dve nepoznate). i µ b a (dve Problem sa ovim pristupom je da će stvarni podaci(vrednosti pomeranja) izgledati drugačije od teorijskih odgovora u. Izmereni podaci će sadržati šum koja dodaje visoku frekvenciju odgovoru. Linearna diferencijalna jednačina i δ-funkcija korišćene u prethodnom modelu su samo grube aproksimacije odgovarajućeg fizičkog sistema i stvarne primenjene sile pneumatskog čekića. Male nelinearnosti i impuls konačnog trajanja će dodati oscilacije odgovoru. Dakle, može biti teško odrediti frekvenciju ω direktno sa grafika podataka. Uprkos svim dodatnim faktorima pomenutim do sada, frekvenicja ω može biti odred ena. Ovde DFT ima ključnu ulogu. Frekvencija ω će biti najveća frekvencijska komponenta predstavljena u podacima, i ona može biti lako odred ena izračunavanjem DFT podataka. Približna vrednost konstante rušenja može takod e biti odred ena analiziranjem amplitude podataka. Približne vrednosti parametara a, b, c mogu biti odred ene kao što je ranije navedeno. 6. DISKRETIZACIJA OBIČIH DIFERECIJALIH JEDAČIA Kao još jednu primenu DFT razmatramo diferencijalnu jednačinu: au + bu + cu f(t)

gde je f neprekidna, π-periodična funkcija od t. Postoji dobro poznata analitička metoda za odred ivanje jedinstvenog rešenja ove jednačine, pod uslovom da je f poznata za svako t. Sa druge strane, ukoliko nam je f poznata samo u tačkama t j πj n, za neki ceo broj n 1, ovaj metod nije primenjiv. Umesto direktnog rešavanja diferencijalne jednačine, pokušaćemo da radimo sa njenom diskretizovanom verzijom. Ima mnogo načina za diskretizaciju. Za h π n eka je t k πk n imamo sledeće aproksimacije: u u(t) u(t h) (t), h u u(t + h) + u(t h) u(t) (t). h i u k u(t k ) za 1 k n. Kako je u periodična, imamo da je u n u 0. Za t t k prethodne diferencne formule postaju: za 1 k n 1. u (t k ) u k u k 1, h u (t) u k+1 + u k 1 u k h. Zamenjujući ove vrednosti u početnu diferencijalnu jednačinu, i prikupljajući izraze, dobijamo sledću diferencnu jednačinu: au k+1 + βu k + γu k 1 h f k, 1 k n 1, gde je f k f( πk n ), β ch + bh a, γ a bh. eka je u rešenje ove diferencne jednačine, u je iz prostora S n, svih n- periodičnih nizova kompleksnih brojeva. eka je û Fu i ˆf Ff i ω e πi n. Uzimajući DFT obe strane i koristeći teoremu o pomeranju dobijamo: û j h (aω j + β + γω j ) 1 ˆfj,

pri čemu važi da aω j +β +γω j nikada nije jedanko 0. a ovaj način dobijamo û. Primenom inverzne DFT na û dobijamo u. 6.3 MOŽEJE POLIOMA I VELIKIH CELIH BROJEVA 6.3.1 MOŽEJE POLIOMA Pretpostavimo da hoćemo da izračunamo proizvod polinoma p(x) q(x), gde je: n 1 n 1 p(x) α k x k, q(x) β k x k i a (α 0 α 1 α n 1 ) T i b (β 0 β β n 1 ) T. Proizvod: p(x) q(x) γ 0 + γ 1 x + γ x +... + γ n x n je polinom stepena n, gde je γ k k-ta komponenta konvolucije a b, jer je: n k n p(x) q(x) [ α j β k j ] [a b] k x k. j0 Dakle, množenje polinoma i konvolucija su ekvivalentne operacije, pa ukoliko možemo izvesti konvoluciju, tada možemo efikasno pomnožiti dva polinoma i obrnuto. Postoje dve činjenice potrebne za efikasno izvod enje konvolucije. Prvo je da DFT ima sposobnost da pretvori konvoluciju u proizvod i obrnuto. Drugo je da moguće izvesti brzi algoritam za računanje DFT. Ove dve činjenice su razrad ene ispod.

Teorema 6.3.1 (Konvoluciona teorema). eka je a b proizvod: α 0 β 0 α 0 β 0 α a b 1 β 1 α 1 β 1... α n 1 β n 1 α n 1 β n 1 i neka su â i ˆb dopunjeni vektori: â α 0. α n 1 0. 0 i ˆb n 1 β 0. β n 1 0. 0. n 1 Ako je F F n Furijeova matrica reda n, tada je: F(a b) (Fâ) (Fˆb) i a b F 1 [(Fâ) (Fˆb)]. Dokaz: Uočimo da je m-ta komponenta proizvoda F j F k : [F j F k ] m ξ mj ξ mk ξ m(j+k) [F j+k ] m, dakle kolone od F imaju sledeću osobinu: F j F k F j+k, za svako j, k 0, 1,..., (n 1). To znači da, ukoliko su Fâ, Fˆb i F(a b) izraženi kao kombinacija kolona od F: n 1 n 1 n Fâ α k F k, Fˆb β k F k, F(a b) (a b) k F k, n 1

tada je računanje (Fâ) (Fˆb) potpuno isto kao formiranje proizvoda dva polinoma, u smislu da je: n 1 n 1 n k (Fâ) (Fˆb) ( α k F k )( β k F k ) ( α j β k j )F k. j0 Dakle: n k n (Fâ) (Fˆb) ( α j β k j )F k (a b) k F k F(a b). 6.3. MOŽEJE VELIKIH CELIH BROJEVA Razmatrajmo dva pozitivna cela broja čije su reprezentacije u bazi b: j0 c (γ n 1 γ n γ 1 γ 0 ) b i d (δ n 1 δ n δ 1 δ 0 ) b. Koristimo konvolucionu teoremu u kombinaciji sa FFT algoritmom da odredimo proizvod cd. eka je: tada je: n 1 n 1 p(x) γ k x k, q(x) δ k x k, c γ 0 γ 1. γ n 1, d c γ n 1 b n 1 + γ 1 b 1 +... + γ 0 b 0 p(b), d δ n 1 b n 1 + δ 1 b 1 +... + δ 0 b 0 q(b), δ 0 δ 1. δ n 1, i iz p(x) q(x) n [ k j0 α jβ k j ] n [a b] kx k prethodnog poglavlja, zaključujemo da je proizvod cd dat na sledeći način: cd p(b)q(b) [c d] n b n +[c d] n 3 b n 3 +...+[c d] 1 b 1 +[c d] 0 b 0.

Izgleda kao da konvolucija omogućava b-baznu reprezentaciju proizvoda cd, ali to nije u potpunosti tačno, jer je moguće da postoji [c d] k b. a primer, ukoliko je c 01 10 i 45 10, tada je: 5 1 5 c d 0 14, 4 4 8 0 cd (8 10 4 ) + (4 10 3 ) + (14 10 ) + ( 10 1 ) + (5 10 0 ). Ali, kada se brojevi kao 14 (tj. veći ili jednaki od baze) pojavljuju u c d, lako ih je rastaviti pišući 14 (1 10 1 ) + (4 10 0 ), pa je: 14 10 [(1 10 1 ) + (4 10 0 )] 10 (1 10 3 ) + (4 10 ). Zamenjujući ovo u prethodnu jednakost, dobijamo: cd (8 10 4 ) + (5 10 3 ) + (4 10 ) + ( 10 1 ) + (5 10 0 ) 8545 10. Računanje c d direktno zahteva n množenja, ali korišćenje FFT u kombinaciji sa konvolucijonom teoremom, zahteva 3n log n množenja, što je značajno manje od n. Tako da je moguće množenje celih brojeva sa veoma dugačkim b-bazama mnogo brže nego direktnim postupkom.

Glava 7 JOŠ EKE PRIMEE DFT 7.1 KOMPRESIJA PODATAKA Oblast obrade digitalnih signala se dosta zaniva na operacijama u frekvencijskom domenu (odnosno na Furijeovoj transformaciji). a primer, dosta metoda za kompresiju slika i zvukova uključuje DFT: signal se deli na manje delove, svaki od njih se transformiše, i tada se odbacuju Furijeovi koeficijenti visokih frekvencija, za koje se pretpostavlja da su neprimetni. Dekompresor računa iverznu transformaciju, baziranu na smanjenom broju Furijeovih koeficijenata (primene kompresije često koriste specijalne oblike DFT - diskretnu kosinusnu transformaciju ili diskretnu modifikovanu kosinusnu transformaciju). eki noviji algoritmi za kompresiju koriste talasne transformacije (eng. wavelet transform) koje daju dosledniji kompromis izmed u vremenskog i frekvencijskog domena od onog koji daje deljenje podataka na podsegmente i transformacija svakog podsegmenta. U slučaju JPEG000 ovo izbegava nepravilne karakteristike slike koje se pojavljuju kada su slike 79

visoko kompresovane sa originalnim JPEG-om. JPEG kompresija koristi nepovratnu formu kompresije baziranu na diskretnoj kosinusnoj transformaciji (eng. discrete cosine transform, DCT). JPEG je format koji sažima sliku, a da se ne primeti gubitak na kvalitetu slike (ukoliko je to moguće). 7. SPEKTRALA AALIZA SIGALA Kada se DFT koristi za spektralnu analizu signala, tada niz x n predstavlja konačan niz uniformno raspored enih vremenskih uzoraka nekog signala x(t), gde t predstavlja vreme. Konverzija od neprekidnog vremena do uzoraka (diskretnog vremena) menja osnovnu FT od x(t) u DTFT (discrete time Fourier transform, diskretna vremenska Furijeova transformacija), koja generalno zahteva vrstu izobličenja koja se naziva preklapanje spektra. Izbor odgovarajuće brzine uzorkovanja je ključno za smanjenje izbličenja. Konvertovanje od veoma dugih (ili beskona cnih) nizova do nizova manje veličine zahteva tip izobličenja koji se naziva opadanje, koji se manifstuje kao gubitak detalja u DTFT. Izbor odgovarajuće dužine podniza je jako bitan korak za smanjenje tog efekta. Kada su dostupni podaci (i vreme za njihovu obradu) veći od količine potrebne za postizanje željene frekvencijske rezolucije, standardna tehnika je izvod enje mnogobrojnih DFT, na primer kreiranje spektrograma. Odred ivanje aritmatičke sredine veličine komponenata više DFT je korisna procedura za smanjivanje odstupanja razlika spektra. Konačan izvor izobličenja je sama DFT, jer je to samo diskretno uzorkovanje DTFT, koja je funkcija konstantnog vremenskog domena. Ovo može biti umanjeno povećanjem rezolucije DFT. Ova procedura je ilustrovana kao Uzorkovanje

DTFT. Ova procedura je ponekad shvaćena kao Dopunjavanje nulama, što je posebno izvod enje korišćeno zajedno sa FFT.

Literatura [1] Brad Osgood, The Fourier Transform and its Applications, Electrical Engineering Department Stanford University, https://see.stanford.edu/materials/lsoftaee61/book-fall-07.pdf [] Albert Boggess, Francis. J. arcowich, A First course in wavelets with Fourier analysis, nd edition, John Wiley and Sons, 009. [3] Isaac Amidror, Mastering the DFT in one, two or several dimensions, Springer-Verlag London 013 [4] Carl Meyer, Matrix analysis and applied linear algebra, SIAM, 001. [5] Steven W.Smith, The scientist and engineer guide to digital signal processing, nd edition, California Technical Publishing, 1997-1999. [6] David W.Kammler, A first course in Fourier analysis, CAMBRIDGE UIVERSITY PRESS 007. [7] Alexander D. Poularikas, Transforms and applications, 3rd edition, Taylor and Francis Group, LLC, 010. [8] https://en.wikipedia.org/wiki/discrete Fourier transform 83

Прилог 5/1 ПРИРОДНO - MАТЕМАТИЧКИ ФАКУЛТЕТ НИШ КЉУЧНА ДОКУМЕНТАЦИЈСКА ИНФОРМАЦИЈА Редни број, РБР: Идентификациони број, ИБР: Тип документације, ТД: Тип записа, ТЗ: Врста рада, ВР: Аутор, АУ: Ментор, МН: Наслов рада, НР: монографска текстуални мастер рад Александра Миловановић Небојша Динчић ДИСКРЕТНА ФУРИЈЕОВА ТРАНСФОРМАЦИЈА Језик публикације, ЈП: Језик извода, ЈИ: Земља публиковања, ЗП: Уже географско подручје, УГП: српски енглески Р. Србија Р. Србија Година, ГО: 018. Издавач, ИЗ: ауторски репринт Место и адреса, МА: Ниш, Вишеградска 33. Физички опис рада, ФО: (поглавља/страна/ цитата/табела/слика/графика/прилога) Научна област, НО: Научна дисциплина, НД: 83 стр. математика Предметна одредница/кључне речи, ПО: УДК 517.443 Чува се, ЧУ: дискретна Фуријеова трансформација, брза Фуријеова трансформација библиотека Важна напомена, ВН: Извод, ИЗ: Датум прихватања теме, ДП: Представљена је дискретна Фуријеова трансформација и испитиване су њене особине и везе са осталим типовима Фуријеових трансформација. Објашњен је алгоритам за брзу Фуријеову трансформацију. Наведене су и неке примене у математици, обради слика (jpeg формат) и спектралној анализи сигнала. 3.1.015. Датум одбране, ДО: Чланови комисије, КО: Председник: Члан: Члан, ментор: Образац Q4.09.13 - Издање 1