Ładowanie... Sorry, your browser does not support inline SVG.

Zastosowania

Szeregi i transformacje Fouriera znajdują wiele zastosowań w życiu codziennym, w inżynierii, w fizyce, w matematyce. Możliwość rozkładania funkcji na funkcje trygonometryczne jest rzeczą, która przydaje się w rozwiązywaniu wielu problemów.

Dyskretna transformata Fouriera

Aby zacząć mówić o zastosowaniu szeregów i transformat Fouriera warto się zaznajomić z tym, jak wyglądają one dla sygnałów dyskretnych, gdyż właśnie z takimi sygnałami spotykamy się częściej w rzeczywistości.

Dla sygnałów próbkowanych (dyskretnych) opisuje się tzw. dyskretną transformatę Fouriera (DFT). Przekształca ona skończony ciąg liczb rzeczywistych $(x_0, x_1, x_2, ... , x_{N-1}), x \in \mathbb{R}$, w ciąg liczb zespolonych $(X_0, X_1, X_2, ... , X_{N-1}), x \in \mathbb{C}$. Określona jest wzorem: $$X_k = \sum_{n=0}^{N-1} x_n \cdot e^{-\frac{i2\pi}{N}kn}$$ Wzór ten jest zmodyfikowanym wzorem na współczynniki szeregu Fouriera przystosowanym do sygnałów dyskretnych. Porównajmy te dwa wzory ze sobą (zamieńmy także oznaczenia wzoru DFT, aby ułatwić zrozumienie zależności): $$X_n = \sum_{k=0}^{T-1} x_k \cdot e^{-i\frac{2n\pi k}{T}}$$ $$c_n = \frac{1}{T}\int\limits_{0}^{T} f(x) \cdot e^{-i\frac{2n\pi x}{T}} dx$$ Widać tutaj, że przede wszystkim całka została zastąpiona przez sumę, zamiast długości okresu występuje tutaj liczba próbek. W DFT nie dzielimy współczynników przez liczbę próbek (tak jak w szeregu Fouriera dzielimy przez okres). Reszta pozostaje taka sama, działa także na podobnej zasadzie.

Dyskretną transformatę Fouriera możemy także przestawić, korzystając ze wzoru Eulera, za pomocą takiego wzoru: $$X_k = \sum_{n=0}^{N-1} x_n \cdot \left( \cos\left(\frac{2\pi}{N}kn\right) - i\sin\left(\frac{2\pi}{N}kn\right) \right)$$

Istnieje algorytm zwany szybką transformacją Fouriera (FFT) pozwalający wyznaczyć dyskretną transformatę Fouriera i transformatę do niej odwrotną. Złożoność obliczeniowa tego algorytmu wynosi $O(n\log_2n)$ (liniowo-logarytmiczna). Złożoność obliczeniowa dla obliczania według wzoru wynosi $O(n^2)$.

Najpopularniejszą wersją algorytmu FFT jest FFT o podstawie 2. Jest on bardzo efektywny pod względem czasu realizacji, jednak liczba próbek musi byś potęgą dwójki ($N=2^k, k \in \mathbb{N}$).


Do zastosowań praktycznych najczęściej jednak stosuje się dyskretną transformację kosinusową (DCT). Jest ona podobna do dyskretnej transformacji Fouriera. Przekształca ona sygnał próbkowany na sumę funkcji cosinus o współczynnikach rzeczywistych.
Ma ona postać: $$X_k = \sum_{n=0}^{N-1} x_n \cdot \cos\left(\frac{\pi}{N} \left(n+\frac{1}{2}\right) k \right)$$

Przetwarzanie sygnałów

Najczęściej spotykanym zastosowaniem szeregów Fouriera, DFT i DCT jest przetwarzanie sygnałów. Tak naprawdę możliwość przedstawienia sygnałów w dziedzinie częstotliwości zamiast czasu bywa kluczowa dla przetwarzania sygnałów.
Pozwala to na manipulację sygnałem, manipulując częstotliwościami składowymi sygnału.

Przykładowo, jeśli mając dany sygnał, chcielibyśmy usunąć z niego jedną częstotliwość, to możemy to zrobić. Wystarczy wykonać dyskretną transformację Fouriera lub dyskretną transformację kosinusową. Następnie modyfikujemy otrzymaną transformatę, zmniejszając wartość dla danej częstotliwości. Teraz, jeśli wykonamy transformację odwrotną, to otrzymamy wyjściowy sygnał, tylko bez danej częstotliwości.

Można także stosować transformacje Fouriera i transformacje do nich podobne do zapisywania sygnału w formie zależnej od częstotliwości, a nie czasu. Pozwala to zaoszczędzić miejsce, jakie jest potrzebne do zapisania informacji o sygnale. Jest to właściwość, która jest wykorzystywana w kompresji z użyciem DFT lub DCT.

Kompresja

Dyskretna transformacja Fouriera i dyskretna transformacja kosinusowa są wykorzystywane powszechnie w kompresji danych.

Mając na przykład próbkowany sygnał i chcąc go zapisać, nie musimy zapisywać wartości każdej próbki osobno. Możemy zastosować DFT lub DFT i zapisać wartości poszczególnych częstotliwości składowych. Dzięki temu do zapisanie pełnej informacji o danym sygnale potrzeba znacznie mniej miejsca. Jest to określane jako kompresja bezstratna.

Można także użyć tzw. kompresji stratnej. Polega ona na tym, że część danych o częstotliwościach usuwamy. Usuwając składowe częstotliwości o najmniejszych wartościach, możemy znacznie zmniejszyć miejsce potrzebne do zapisania informacji o sygnale, jednocześnie nie powodując dużej straty na jakości.

Kompresja stratna z użyciem DFT lub DCT jest szeroko stosowana w informatyce. Używana jest do kompresji danych dźwiękowych, obrazów i filmów.

Przykładem może być tutaj algorytm kompresji stratnej JPEG. Jest to algorytm stosowany do kompresji obrazów, bazujący na DCT.
Działa on na takiej zasadzie, że dzieli obraz na bloki 8x8 pikseli, następnie na każdym bloku wykonuje algorytm dwuwymiarowej dyskretnej transformacji kosinusowej. Potem dane uzyskane w wyniki DCT są kwantyzowane (dane zmiennoprzecinkowe zastępowanie przez liczby całkowite) i kompresowane.

Tak wygląda przykład kompresji JPEG w zależności od stopnia kompresji:

Widać tutaj jak poszczególne bloki składają się z nałożonych sinusoid uzyskanych za pomocą DCT.

Równania różniczkowe

Szeregi Fouriera, a także DFT czy DCT znajdują także zastosowanie w rozwiązywaniu równań różniczkowych cząstkowych.
Wiele równań różniczkowych ma proste rozwiązania, jeśli dotyczą funkcji sinusa i cosinusa.
Dla wielu z nich także rozwiązanie może myć kombinacją liniową innych rozwiązań.

Te właściwości sprawiają, że transformacje przedstawiające funkcje za pomocą kombinacji liniowych funkcji trygonometrycznych są bardzo przydatne przy rozwiązywaniu takich równań.
Rozwiązywanie równań różniczkowych cząstkowych tak naprawdę było powodem powstania analizy Fouriera, i do tego analiza Fouriera jest nadal wykorzystywana.