Transformacja Fouriera

przekształcenie matematyczne funkcji z dziedziny czasu do dziedziny częstotliwości

Transformacja Fouriera – transformacja całkowa, która przyjmuje funkcję rzeczywistą jako daną wejściową i wyprowadza funkcję o wartościach zespolonych, która opisuje stopień, w jakim w funkcji wejściowej występują funkcje zespolone Transformatą Fouriera nazywa się funkcję, która powstaje w wyniku działania transformacji Fouriera.

Wykresy dwóch funkcji rzeczywistych oraz ich transformaty Fouriera. Drugi sygnał, przesunięty w czasie względem pierwszego, pomimo identycznej postaci, ma inną transformatę Fouriera
Zastosowanie transformacji Fouriera do określenia składowych akordu C dur fortepianu. Pierwsze trzy piki od lewej odpowiadają podstawowym częstotliwościom C, E, G. Pozostałe są wyższymi harmonicznymi.

Przykładowo, obliczanie transformaty Fouriera trwającego jakiś czas sygnału akustycznego oznacza obliczanie amplitud składowych zespolonych tego dźwięku (por. wykresy transformaty obok dla funkcji schodkowych).

Transformacja Fouriera jest operatorem liniowym działającym na przestrzeni funkcyjnej funkcji zmiennej rzeczywistej i dokonującym rozkładu danej funkcji w bazie ortonormalnej zespolonych funkcji eksponencjalnych poprzez liczenie iloczynów skalarnych danej funkcji z funkcjami bazy.

Transformacja Fouriera została nazwana na cześć Jeana Baptiste’a Josepha Fouriera.

Definicja transformacji Fouriera w postaci zespolonej dla funkcji jednej zmiennej

edytuj

Podana tu zostanie definicja transformacji Fouriera w postaci zespolonej. Obok tej postaci występują także postacie całkowe transformaty Fouriera, wyrażone przez funkcje rzeczywiste sinus i cosinus, bez użycia jednostki urojonej; postacie te można otrzymać z transformaty Fouriera w postaci zespolonej; nie omawia jednak tego zagadnienia ten artykuł.

Założenia – warunki Dirichleta

edytuj

Zakładamy, że funkcja   spełnia pierwszy i drugi warunek Dirichleta, tj. jest to funkcja rzeczywista   określona na skończonym przedziale   oraz[1]

  1.   jest przedziałami monotoniczna w przedziale   – tzn. jest w nim ograniczona i można podzielić ten przedział na skończoną liczbę podprzedziałów, wewnątrz których funkcja jest monotoniczna (czyli funkcja ta ma skończoną liczbę maksimów lokalnych i minimów lokalnych),
  2.   jest ciągła w przedziale   z wyjątkiem co najwyżej skończonej liczby punktów nieciągłości pierwszego rodzaju, przy czym w każdym punkcie nieciągłości spełniony jest warunek
     

Uwagi:

  1. Całkowalność funkcji, gwarantowana przez spełnienie warunków Dirichleta, jest istotnym wymogiem w obliczaniu transformaty Fouriera, która opiera się na obliczaniu całek. (Ten sam wymóg dotyczy szeregów Fouriera, bowiem współczynniki rozwinięcia w szereg Fouriera są wyrażone za pomocą całek.)
  2. Dla funkcji okresowej warunki Dirichleta wystarczy zbadać na dowolnym przedziale   o długości równej okresowi funkcji  
  3. Warunki Dirichleta są to warunki wystarczające do tego, by dla funkcji, która je spełnia, istniała całka Fouriera i szereg Fouriera. Jednak nie są to warunki konieczne – istnieje klasa funkcji, które nie spełniają warunków Dirichleta, a mimo to mają całkę i szereg Fouriera. Także dla funkcji uogólnionych, tzw. dystrybucji (np. delta Diraca), które mają istotne znaczenie w obliczeniach fizyki cząstek elementarnych, definiuje się transformaty Fouriera.

Transformacja z dziedziny czasu w dziedzinę pulsacji

edytuj

Transformacja z dziedziny czasu   w dziedzinę pulsacji (częstości kołowej)   ma postać[2]

 

gdzie:

  – funkcja (oryginał) w dziedzinie czasu,
  – transformata Fouriera (widmo Fouriera) w dziedzinie pulsacji,
 jednostka urojona.

Transformacja odwrotna

edytuj

Transformacja odwrotna zadana jest całką[2]

 

– pozwala odtworzyć funkcję pierwotną z jej widma.

Widmo amplitudowe i fazowe

edytuj

Transformatę   funkcji rzeczywistej   można zapisać następująco[3]:

 

Używa się następujących nazw:

  •   – charakterystyka widmową (gęstością widma, krótko: widmo) funkcji  
  •   – charakterystyka amplitudowa (widmo amplitudowe) funkcji  
  •   – charakterystyka fazowa (widmo fazowe) funkcji  

Widmo amplitudowe jest funkcją rzeczywistą; można je obliczyć ze wzoru:

 

Widmo fazowe jest funkcją rzeczywistą; można je obliczyć ze wzorów

 
 

Stąd:

 
 
Funkcję   w płaszczyźnie zespolonej reprezentuje wektor o końcu w punkcie   który obraca się wokół początku układu współrzędnych przeciwnie do ruchu wskazówek zegara, gdy rośnie wartość zmiennej   Pokazano też rzut tego wektora na oś rzeczywistą, kreślącego cosinusoidę  

Sens transformaty Fouriera jest następujący:

Transformata   jest liczbą zespoloną, której moduł i faza określają amplitudę i fazę składowej o pulsacji   wchodzącej w skład sygnału   Obliczenie transformaty Fouriera pozwala więc znaleźć amplitudy i fazy wszystkich takich składowych w sygnale.

Przykład obliczeń wraz w wykresami funkcji, opisujących charakterystyki widmową, amplitudową i fazową podano dalej.

 
Obracający się przeciwnie do ruchu wskazówek zegara wektor   ma dodatnią częstotliwość   rad/s. Nie pokazano wektora   obracającego się zgodnie z ruchem wskazówek zegara, który ma ujemną częstotliwość   rad/s. Końce obu wektorów obracają się po okręgu jednostkowym, ale w przeciwnych kierunkach.

Transformacja unitarna Fouriera

edytuj

Unitarną transformacją Fouriera z dziedziny czasu   w dziedzinę pulsacji (częstości kołowej)   nazywa się transformacją zadaną wzorem, który różni się od wzoru wyżej podanego jedynie stałą, stojącą przed znakiem całki, tj.[4]

 

Transformacja odwrotna unitarna

 

Komentarz

edytuj
  • Czynnik   przed transformatą i transformatą odwrotną występuje umownie; zamiast takiej postaci może występować czynnik   przed transformatą prostą, albo (częściej) przed transformacją odwrotną.
  • Jeżeli jednak czynnik wynosi   wtedy transformacja i transformacja odwrotna są izometriami przestrzeni  
  • Pierwsza z dwu powyższych definicji jest popularniejsza, nie posiada jednak własności unitarności.

Interpretacja ujemnych częstotliwości

edytuj

W definicji transformaty Fouriera w postaci zespolonej mamy częstotliwości   w zakresie od   do   występujące w funkcji   W klasycznym rozumieniu teorii dotyczącej drgań i fal częstości kołowe   są wielkościami dodatnimi. Co oznaczają więc ujemne wartości częstotliwości? Sytuacja jest tu nieco inna niż w opisie zjawisk drgań i fal za pomocą liczb rzeczywistych, gdzie definiuje się pojęcie częstotliwości. Tu mamy do czynienia z funkcjami   zespolonymi o częstotliwościach   z zakresu liczb rzeczywistych. Każda funkcja może być przedstawiona jako obracający się w płaszczyźnie zespolonej wektor (wielkość obrotu zależy od czasu   występującego w każdej takiej funkcji), którego koniec porusza się po okręgu o promieniu równym 1 (tzw. okrąg jednostkowy).

Dla dodatnich wartości   wektory   obracają się przeciwnie do wskazówek zegara, dla ujemnych wartości   wektory   obracają się zgodnie ze wskazówkami zegara.

Piękna ilustrację transformacji Fouriera, w tym sens ujemnych częstotliwości, przedstawia animowane omówienie pt. But what is the Fourier Transform? A visual introduction

Inne oznaczenia

edytuj

Transformatę Fouriera oznacza się także symbolem[5]

 

gdzie   – jednostka urojona (oznaczenie stosowane często w elektrotechnice, teorii przetwarzania sygnałów).

Oznaczenie to podkreśla, iż mamy do czynienia z transformatą Fouriera w postaci zespolonej, by odróżnić ją od transformat Fouriera kosinusowej i sinusowej. Używa się także symboliki   na oznaczenie transformacji odwrotnej; wtedy mamy:

 

Przykład obliczania transformaty Fouriera

edytuj
 
Transformata Fouriera funkcji   jej część rzeczywista, urojona, moduł

Mamy daną funkcję

 

Obliczamy

 

czyli

 

Część rzeczywista obliczanej transformaty jest równa zeru z uwagi na nieparzystość funkcji  , natomiast część zespolona ma wartość

 

Stąd

 

Widmo amplitudowe czyli moduł transformaty  :

 

Wyniki obliczeń pokazano na wykresach.

Obliczanie numeryczne transformaty Fouriera

edytuj

Obliczanie transformaty Fouriera w ogólnym przypadku nie jest proste i wymaga na ogół całkowania numerycznego. Poniżej podano kod programu w języku Python, który liczy zespoloną transformatę Fouriera wg wzoru całkowego i rysuje wykresy jej części rzeczywistej, urojonej oraz modułu.

Użytkownik może ustalić:

  1. Definicję funkcji   (linia nr 15).
  2. Liczbę   określającą zakres częstotliwości   (linia nr 32).
  3. Program można testować, korzystając np. z darmowego notatnika colab google online.
import numpy as np
from scipy.integrate import quad
import matplotlib.pyplot as plt

''' Definicja funkcji f(t)=t
def f(t):
    if np.abs(t) < 1:
        return t
    elif np.abs(t) == 1:
        return 0.5 * np.sign(t)
    else:
        return 0
'''

# Definicja funkcji f(t) - impuls prostokątny
def f(t):
    if abs(t-a) < 1:
        return 1
    elif abs(t-a) == 1:
        return 0.5 * np.sign(t)
    else:
        return 0

# Definicja transformacji Fouriera
def fourier_transform(omega):
    integrand = lambda t: f(t) * np.exp(-1j * omega * t)
    real_part = quad(lambda t: np.real(integrand(t)), -np.inf, np.inf)[0]
    imag_part = quad(lambda t: np.imag(integrand(t)), -np.inf, np.inf)[0]
    return real_part + 1j * imag_part

# Zakres częstotliwości omega
N = 10
omega_values = np.linspace(-N, N, 500)
fourier_values = np.array([fourier_transform(omega) for omega in omega_values])

# Wykresy: Re, Im oraz |F(ω)|
plt.figure(figsize=(14, 20))

# Wykres części rzeczywistej
plt.subplot(3, 1, 1)
plt.plot(omega_values, fourier_values.real, label=r"Re$\{\hat{f}(\omega)\}$", color='blue')
plt.title("Część rzeczywista transformaty Fouriera", fontsize=30)
plt.xlabel(r"$\omega$", fontsize=20)
plt.ylabel(r"Re$\{\hat{f}(\omega)\}$", fontsize=14)
plt.grid(True)
plt.legend(fontsize=20)

# Wykres części urojonej
plt.subplot(3, 1, 2)
plt.plot(omega_values, fourier_values.imag, label=r"Im$\{\hat{f}(\omega)\}$", color='red')
plt.title("Część urojona transformaty Fouriera", fontsize=30)
plt.xlabel(r"$\omega$", fontsize=20)
plt.ylabel(r"Im$\{\hat{f}(\omega)\}$", fontsize=14)
plt.grid(True)
plt.legend(fontsize=20)

# Wykres modułu |F(ω)|
plt.subplot(3, 1, 3)
plt.plot(omega_values, np.abs(fourier_values), label=r"$|\hat{f}(\omega)|$", color='green')
plt.title("Moduł transformaty Fouriera", fontsize=30)
plt.xlabel(r"$\omega$", fontsize=20)
plt.ylabel(r"$|\hat{f}(\omega)|$", fontsize=14)
plt.grid(True)
plt.legend(fontsize=20)

plt.tight_layout()
plt.show()

Całki Fouriera jako całki niewłaściwe

edytuj

Obliczanie transformaty Fouriera zadane jest de facto poprzez całki niewłaściwe, gdyż zmienna   jest określona w granicach od   do   Obliczanie takich całek sprowadza się do liczenia tzw. wartości głównej całki (wg definicji podanej przez Cauchy’ego)[2], tj. do liczenia jej jako granicy z całek obliczonych na skończonym przedziale całkowania:

 

Rzeczywiste sygnały zawsze mają skończony czas trwania. Natomiast można je teoretycznie przedłużać do nieskończoności – wtedy ma zastosowanie powyższy wzór.

Także funkcja pierwotna rekonstruowana z jej transformaty   poprzez transformację odwrotną jest zadana przez całkę niewłaściwą, gdyż zmienna   jest określona w granicach od   do   I także obliczanie tej całki sprowadza się do liczenia wartości głównej całki[2], tj. do liczenia jej jako granicy z całek obliczonych na skończonym przedziale całkowania wg wzoru:

 

Interpretacja i związek z transformatą Laplace’a

edytuj

W całce Fouriera funkcje harmoniczne   mnożone są przez sygnał   wynikowa całka dostarcza informacji nt. zawartości poszczególnych harmonicznych, wchodzących w skład sygnału (dokonuje rozkładu sygnału na jego widmo).

Transformacja Laplace’a wykonuje podobne działanie, ale o bardziej ogólnym charakterze: Za pomocą całki Laplace’a funkcja rzeczywista   reprezentująca zmieniający się w czasie   sygnał (np. pole elektryczne fali, przychodzącej do odbiornika), jest transformowana na płaszczyznę S (płaszczyznę zespoloną); dokonuje się to poprzez scałkowanie iloczynu funkcji   z wyrażeniami typu   dla czasu   od   do  

 

przy tym   jest liczbą zespoloną, stałą w procesie obliczania całki.

Funkcje   w całce Laplace’a de facto mają postać   Dzięki temu pozwalają dokonać nie tylko analizy zawartości harmonicznych   w sygnale   ale również efektów zaniku sygnału lub jego wzrastania w czasie, poprzez funkcję   Na przykład krzywa sinusoidalna tłumiona może być modelowana za pomocą transformacji Laplace’a. Transformacja Fouriera stanowi więc szczególny przypadek przekształcenia Laplace’a dla  

Podobnie uogólnieniem dyskretnej transformaty Fouriera stanowi transformata Z, z którą powiązana jest transformata Laplace’a (zob. metoda Tustina).

Własności transformaty Fouriera

edytuj

W tym rozdziale wprowadzono trzeci sposób definiowania transformaty Fouriera za pomocą częstotliwości   przy czym zachodzi związek  

  • W przypadku jednowymiarowym funkcja   jest klasy   czyli jest całkowalna w przedziale  
  •   jest funkcją ciągłą. Nie musi natomiast być całkowalna w  
  • Jeśli   to  
  • Jeśli   i   to  
  •   gdzie operacja   oznacza splot funkcji f i g
  • Jeśli pochodna funkcji   należy do   i funkcja zeruje się poza pewnym przedziałem skończonym, to z całkowania przez części wynika, że:  

Właściwości transformat

edytuj
Funkcja Transformata Fouriera
unitarna, częstotliwość
Transformata Fouriera
unitarna, pulsacja (częstość kołowa)
Transformata Fouriera
pulsacja (częstość kołowa)
Uwagi
   

 

    

 

101         Liniowość
102         Przesunięcie oryginału w dziedzinie „czasu”
103         Przesunięcie widma w dziedzinie częstotliwości, dualne względem 102
104         Dla dużych wartości     zawęża się wokół zera, a   poszerza się i spłaszcza.
105
106         Transformata pochodnej
107         Ta właściwość jest dualna względem 106
108         Notacja   oznacza splot funkcji   i   – tę właściwość określamy jako twierdzenie o splocie
109         Właściwość dualna względem 108
110 Dla funkcji   rzeczywistej i parzystej     w postaci unitarnej oraz  funkcjami rzeczywistymi i parzystymi.
111 Dla funkcji   rzeczywistej i nieparzystej     w postaci unitarnej oraz  funkcjami urojonymi i nieparzystymi.

Najprzydatniejsze pary transformat

edytuj

W przestrzeniach funkcji dobrze określonych, takich jak   lub przestrzeń funkcji szybko malejących w nieskończoności   transformacja Fouriera przyporządkowuje wzajemnie jednoznacznie funkcji (oryginałowi) jej transformatę. Oryginał i jego transformata określana są wtedy jako para fourierowska.

Funkcje całkowalne z kwadratem

edytuj

W tabeli zestawiony jest oryginał oraz jego transformaty w dziedzinie częstotliwości i pulsacji[6].

Uwaga: Tu   oznacza zmienną funkcji pierwotnej   zamiast oznaczenia  

Funkcja Transformata Fouriera
unitarna, częstotliwość
Transformata Fouriera
unitarna, pulsacja (częstość kołowa)
Transformata Fouriera
pulsacja (częstość kołowa)
Uwagi
   

 

 

 

 

 

201         Funkcja prostokątna i normalizowana funkcja sinc, definiowana jako  
202         Relacja dualna do 201. funkcja prostokątna jest filtrem dolnoprzepustowym, a funkcja sinc jest odpowiedzią impulsową dla takiego filtra.
203         Funkcja   jest funkcją trójkątną
204         Związek dualny względem 203.
205           jest funkcją skoku Heaviside’a,  
206         Funkcja Gaussa   jest funkcją własną przekształcenia Fouriera dla odpowiednio dobranego   Funkcja jest całkowalna dla  
207         Dla  
208    

   

 

   

 

   

  oznacza funkcję Bessela  -tego rzędu, pierwszego rodzaju.   to wielomiany Czebyszewa drugiego rodzaju. (patrz punkty 315 i 316 poniżej).
209         Secans hiperboliczny jest funkcją własną transformcji Fouriera

Dystrybucje

edytuj

Dystrybucje, określane też jako funkcje uogólnione nie posiadają transformat w sensie określonym przez powyższe definicje. Możliwe jest jednak uogólnienie pojęcia transformaty i przyjęcie, że uzyskujemy w wyniku przejścia do granicy ciągu transformat lub wychodząc od szeregu Fouriera funkcji okresowej.

Funkcja Transformata Fouriera
unitarna, częstotliwość
Transformata Fouriera
unitarna, pulsacja (częstość kołowa)
Transformata Fouriera
pulsacja (częstość kołowa)
Uwagi
   

 

 

 

 

 

301           oznacza deltę Diraca.
302         Co wynika z zasady 301.
303         Co wynika z własności 103 i 301.
304         Co wynika ze 101 i 303 przy zastosowaniu wzoru Eulera:  
305         Co wynika ze 101 i 303, przy zastosowaniu  
306        
307        
308         Gdzie   jest liczbą naturalną a   jest  -tą pochodną delty Diraca. Wynika to ze 107 i 301. Stosując tę formułę z 101, można transformować dowolne wielomiany.
309         Gdzie   to funkcja znaku. Zauważmy, że   nie jest dystrybucją. Własność przydatna w odniesieniu do transformaty Hilberta.
310         Uogólnienie 309.
311        
312         Dualne do 309.
313         Funkcja   jest funkcją Heaviside’a; to wynika ze 101, 301 i 312.
314         Funkcja grzebieniowa. Do wyznaczenia z 302 i 102, wraz z faktem, że   jako dystrybucje.
315           funkcją Bessela pierwszego rodzaju, rzędu zerowego.
316         Uogólnienie 315. Funkcja   jest funkcją Bessela  -tego rzędu, pierwszego rodzaju. Funkcja   jest wielomianem Czebyszewa pierwszego rodzaju.

Zastosowanie dla potrzeb przetwarzania sygnałów

edytuj
Osobny artykuł: Transmitancja widmowa.

Zależność określającą transmitancję widmową   można wyznaczyć:

Pojedyncza zespolona składowa harmoniczna o amplitudzie   pulsacji   i fazie  

 

(gdzie   oznacza jednostkę urojoną), generuje odpowiedź na wyjściu układu w postaci sygnału sinusoidalnego o amplitudzie   i fazie  

 

Warto zwrócić uwagę na fakt, że częstotliwość   pozostała taka sama, jedynie amplituda i faza sygnału uległy zmianie w układzie. Transmitancja   opisuje charakter tych zmian w całym spektrum częstotliwości (tj. dla każdej częstotliwości  ). Moduł transmitancji opisuje wzmocnienie układu:

 

a argument tej transmitancji opisuje przesunięcie fazowe wprowadzane przez układ:

 

Transmitancja  

Dla przypadku układów dyskretnych wyrażenie

 

definiuje dyskretną transmitancję widmową.

Transformacja Fouriera wielowymiarowa

edytuj

Transformatę Fouriera można określić dla funkcji   gdzie   jest przestrzenią wektorową funkcji całkowalnych na   za pomocą wzoru[7]:

 

gdzie:

  •  jednostka urojona  
  •  iloczyn skalarny wektorów  

Twierdzenia

edytuj

Tw. 1. Transformata   jest funkcją istotnie ograniczoną:   (wynika to z twierdzenia Riemanna-Lebesgue’a).

Tw. 2. W przypadku gdy funkcja   jest ponadto całkowalna z kwadratem (czyli  ), transformata   jest również całkowalna z kwadratem. Innymi słowy, transformacja Fouriera jest odwzorowaniem przestrzeni:

 

Tw. 3. Twierdzenie Plancherela wówczas mówi, że odwzorowanie to przedłuża się do izometrii przestrzeni   na siebie.

Zobacz też

edytuj

Przypisy

edytuj
  1. W. Żakowski i W. Leksiński ↓, s. 351.
  2. a b c d W. Żakowski i W. Leksiński ↓, s. 360.
  3. W. Żakowski i W. Leksiński ↓, s. 361–362.
  4. W. Żakowski i W. Leksiński ↓, s. 365.
  5. W. Żakowski i W. Leksiński ↓, s. 360, 365.
  6. David W. Kammler, A First Course in Fourier Analysis, Upper Saddle River, NJ: Prentice Hall, 2000, ISBN 0-13-578782-3, OCLC 43118245.
  7. Hanna Marcinkowska: Dystrybucje, przestrzenie Sobolewa, równania różniczkowe. PWN, 1993, s. 56–60. ISBN 83-01-10864-9.

Bibliografia

edytuj
  • Trajdos T., Matematyka dla inżynierów, PWN, Warszawa 1974, s. 555–567. ISBN 978-83-204-0152-3.
  • Żakowski W., Leksiński W., Matematyka cz. IV, Wydawnictwa Naukowo-Techniczne, Warszawa 1978, s. 351–371. ISBN 978-83-01-19359-1.

Linki zewnętrzne

edytuj
Polskojęzyczne
Anglojęzyczne