2335501983

2335501983



3.4 Transformata Fouriera

FFT na obrazach została zaimplementowana w klasie TransformataFo-uriera.java, jednakże, sama operacja FFT, znajduje się w Wielomian.java. Klasa TransformataFouriera.java jest interfejsem tłumaczącym zapis obrazu do postaci, na której możliwe jest wykonanie FFT i tłumaczącym wyniki z powrotem do formy graficznej. Odpowiada również za obliczenia amplirudy i fazy z wielomianu zespolinego. Właściwe obliczenia znajdują się w Wielomian.java. Jest to fragment kodu pisany na potrzeby innego projektu, jednakże po niewielkich modyfikacjach znakomicie sprawdza się również tu. Dodatkowo wykonuje operacje transformacji logarytmicznej, przed zapisaniem obrazu do bufora java.awt.BufferedImage. Klasa Wielomian operuje na liczbach zespolonych, ich implementacja znajduje się w klasie C.java.

public static Wielomian FFT(int n, Wielomian f, Vector<C> omega){ Wielomian ret = nuli; if (n==l){

ret = new Wielomian(O);

ret.setWspolczynnik(0, f.getWspolczynnik(O)); return ret;

>    // if

// f = a(x~2) + x * b(x~2)

// a[k] = f[2k]    k=0..n/2

// b[k] = f[2k+l] k=0..n/2 Wielomian a = new Wielomian(n/2 - 1); for (int i = 0; i<n/2; i++)

a. setWspolczynnik(i, f.getWspolczynnik(2*i));

Vector<C> va = new Vector<C>(); for (int i=0; i<(n/2)-l; i++)

va.add( (C)omega.elementAt(2*i+l));

Wielomian b = new Wielomian(n/2 -1); for (int i = 0; i<n/2; i++)

b. setWspolczynnik(i, f.getWspolczynnik(2*i+l));

Wielomian alfa = FFT(n/2, a, va);

Wielomian beta = FFT(n/2, b, va);

Wielomian gamma = new Wielomian(n-1);

// gammafi] = alfafi] + w~i * betafi] ;

// gamma [i+n/2] = alfafi] - w~i * beta [i] ; for (int i=0; i< n/2; i++){

C c = C.plus( alfa.getWspolczynnik(i),

C.mult((C)omega.elementAt(i), beta.getWspolczynnik(i))); gamma.setWspolczynnik(i, c);

c = C.minus( alfa.getWspolczynnik(i),

C.mult((C)omega.elementAt(i), beta.getWspolczynnik(i)));

16



Wyszukiwarka

Podobne podstrony:
Szybka transformata Fouriera - FFT DFT cztero-punktowa wymaga 16 mnożeń na liczbach zespolonych Ogól
Szybka transformacja Fouriera (FFT) fotNIGMMM+mwtl Pozwala na transformacje danych z dziedziny czasu
IMAG0356 Transformacja Fouriera polega na przekształceniu zależności funkcji periodycznej, zależnej
Opracowanie szybkiej transformacji Fouriera bazuje na następujących właściwościach funkcji
Strona 28 Szybka transformata Fouriera - FFT FFT jest algorytmem, który pozwala nam uprościć oblicze
opracowanie szybkiej transformaty fouriera Opracowanie szybkiej transformacji Fouriera bazuje na nas
skanuj0105 (12) 21*1 AKSJOl.(X>IA I IYC /NA nione zostały w nich przede wszystkim fakty doświadcz
Analiza systemu informacji logistycznej... 167 3. Numerem 3 na rys. 1 został zaznaczony obszar skład
w Gliwicach i Krakowie oraz „Dziewczyny na politechniki". Został zorganizowany również wyjazd
Niniejsza karta może być wykorzystywana wyłącznie przez osobę, na którą została wystawiona. Potwierd
53 Zeszyty Problemowe - Maszyny Elektryczne Nr 73/2005 Na rys. 6 zostały przedstawione wyniki pomiar
Szereg Fouriera 21 XII 1807 - opublikowanie przez Jean a Baptiste Joseph a Fouriera pracy na temat z
20 (20) ZADANIE (Połączenie sworzniowe - ciasno pasowane) Układ przedstawiony na rysunku został obci
arctangent discriminator). W celu przyspieszenia obliczeń, metody w większości zostały zaimplementow

więcej podobnych podstron