Dlaczego transformacja Fouriera jest tak ważna?


129

Podczas omawiania przetwarzania sygnału wszyscy omawiają transformatę Fouriera. Dlaczego przetwarzanie sygnału jest tak ważne i co mówi nam o sygnale?

Czy dotyczy to tylko cyfrowego przetwarzania sygnału, czy dotyczy również sygnałów analogowych?


10
Ostatnio dyskusja na temat transformacji Fouriera została wznowiona na matematyce. Pomyślałem, że ludzie na tej stronie mogą uznać ją za opłacalną, a nawet mogą chcieć wziąć udział.
Dilip Sarwate

1
por. ta odpowiedź na doskonałe tło historyczne. Serie Fouriera datowane są przynajmniej na epicką astronomię Ptolemeusza . Dodając więcej ekscentryków i epicykli, podobnie jak dodając więcej terminów do serii Fouriera, można uwzględnić każdy ciągły ruch obiektu na niebie.
Geremia

Odpowiedzi:


144

To dość szerokie pytanie i rzeczywiście bardzo trudno jest ustalić, dlaczego właśnie transformaty Fouriera są ważne w przetwarzaniu sygnału. Najprostszą odpowiedzią na wymachiwanie ręką jest to, że jest to niezwykle potężne narzędzie matematyczne, które umożliwia wyświetlanie sygnałów w innej dziedzinie, w której kilka trudnych problemów staje się bardzo prostych do analizy.

Jego wszechobecność w prawie każdej dziedzinie inżynierii i nauk fizycznych, wszystkie z różnych powodów, sprawia, że ​​trudniej jest zawęzić powód. Mam nadzieję, że spojrzenie na niektóre z jego właściwości, które doprowadziły do ​​jego powszechnego przyjęcia wraz z praktycznymi przykładami i szczyptą historii, może pomóc zrozumieć jego znaczenie.

Historia:

Aby zrozumieć znaczenie transformacji Fouriera, ważne jest, aby cofnąć się nieco i docenić moc serii Fouriera przedstawionej przez Josepha Fouriera. W powłoce orzechowej dowolną funkcję okresową całkowitą w domenie można zapisać jako nieskończoną sumę sinusów i cosinusów jakoD = [ - π , π ]g(x)D=[π,π]

τ k = 1

g(x)=k=τkeȷkx
τk=12πDg(x)eȷkx dx

gdzie . Pomysł, że funkcję można rozbić na jej częstotliwości składowe (tj. Na sinus i cosinus wszystkich częstotliwości), był potężny i tworzy kręgosłup transformacji Fouriera.eıθ=cos(θ)+ȷsin(θ)

Transformacja Fouriera:

Transformację Fouriera można traktować jako rozszerzenie powyższej serii Fouriera na funkcje nieokresowe. Dla kompletności i przejrzystości zdefiniuję tutaj transformatę Fouriera. Jeśli jest ciągłym, całkowitym sygnałem, to jego transformata Fouriera, jest podane przezX ( f )x(t)X(f)

X(f)=Rx(t)eȷ2πft dt,fR

a odwrotną transformację podaje

x(t)=RX(f)eȷ2πft df,tR

Znaczenie w przetwarzaniu sygnału:

Przede wszystkim transformacja Fouriera sygnału mówi, jakie częstotliwości są obecne w twoim sygnale i w jakich proporcjach .

Przykład: czy zauważyłeś kiedyś, że każdy przycisk numeryczny telefonu brzmi inaczej po naciśnięciu podczas połączenia i że brzmi tak samo dla każdego modelu telefonu? To dlatego, że każdy z nich składa się z dwóch różnych sinusoid, które mogą być użyte do jednoznacznej identyfikacji przycisku. Kiedy używasz telefonu do wybijania kombinacji w celu poruszania się po menu, sposób, w jaki rozmówca wie, jakie klawisze nacisnąłeś, dokonuje transformacji Fouriera danych wejściowych i patrzy na obecne częstotliwości.

Oprócz bardzo użytecznych elementarnych właściwości, które sprawiają, że matematyka jest prosta, niektóre inne powody, dla których ma ona tak szerokie znaczenie w przetwarzaniu sygnałów, to:

  1. Kwadrat wielkości transformaty Fouriera natychmiast mówi nam, ile mocy ma sygnał przy określonej częstotliwości .|X(f)|2x(t)f
  2. Z twierdzenia Parsevala (bardziej ogólnie twierdzenia Plancherela) mamy co oznacza, że całkowita energia w sygnale w całym czasie jest równa całkowitej energii w transformacji na wszystkich częstotliwościach . Tak więc transformacja oszczędza energię.
    R|x(t)|2 dt=R|X(f)|2 df
  3. Zwojów w domenie czasu są równoważne do mnożenia w dziedzinie częstotliwości, a więc, biorąc pod uwagę dwie sygnałów i , a następnie, jeślix(t)y(t)

    z(t)=x(t)y(t)
    gdzie oznacza splot, wtedy transformata Fouriera jest jedyniez(t)

    Z(f)=X(f)Y(f)

    W przypadku sygnałów dyskretnych przy opracowywaniu wydajnych algorytmów FFT prawie zawsze szybsze jest wdrożenie operacji splotu w dziedzinie częstotliwości niż w dziedzinie czasu.

  4. Podobnie jak w przypadku operacji splotu, korelacje krzyżowe są również łatwo implementowane w dziedzinie częstotliwości, ponieważ , gdzie oznacza złożony koniugat.Z(f)=X(f)Y(f)
  5. Dzięki możliwości dzielenia sygnałów na ich częstotliwości składowe można łatwo blokować niektóre częstotliwości selektywnie, unieważniając ich udział.

    Przykład: Jeśli jesteś fanem piłki nożnej (piłki nożnej), mógłbyś być zirytowany ciągłym dronem wuwuzeli, które prawie zatopiły cały komentarz podczas mistrzostw świata w Afryce Południowej w 2010 roku. Jednak vuvuzela ma stały skok ~ 235 Hz, co ułatwiło nadawcom wdrożenie filtra wycinającego w celu odcięcia szkodliwego hałasu. [1]

  6. Przesunięty (opóźniony) sygnał w dziedzinie czasu przejawia się jako zmiana fazy w dziedzinie częstotliwości. Chociaż należy to do kategorii elementarnych właściwości, jest to powszechnie stosowana właściwość w praktyce, szczególnie w aplikacjach do obrazowania i tomografii,

    Przykład: Kiedy fala przemieszcza się przez heterogeniczne medium, zwalnia i przyspiesza zgodnie ze zmianami prędkości propagacji fali w medium. Obserwując zmianę fazy w stosunku do tego, czego się spodziewano i co jest mierzone, można wywnioskować nadmiarowe opóźnienie czasowe, które z kolei mówi, jak bardzo zmieniła się prędkość fali w ośrodku. Jest to oczywiście bardzo uproszczone wyjaśnienie dla laika, ale stanowi podstawę tomografii.

  7. Pochodne sygnałów (także n- te pochodne) można łatwo obliczyć (patrz 106), stosując transformaty Fouriera.

Cyfrowe przetwarzanie sygnału (DSP) vs. analogowe przetwarzanie sygnału (ASP)

Teoria przekształceń Fouriera ma zastosowanie bez względu na to, czy sygnał jest ciągły czy dyskretny, o ile jest „ładny” i absolutnie całkowalny. Tak więc, ASP używa transformacji Fouriera, o ile sygnały spełniają to kryterium. Jednak być może bardziej powszechne jest mówienie o transformatach Laplace'a, które są uogólnioną transformacją Fouriera w ASP. Transformata Laplace'a jest zdefiniowana jako

X(s)=0x(t)est dt,sC

Zaletą jest to, że niekoniecznie ogranicza się do „ładnych sygnałów”, jak w transformacie Fouriera, ale transformacja jest ważna tylko w pewnym regionie konwergencji. Jest szeroko stosowany w badaniu / analizie / projektowaniu obwodów LC / RC / LCR, które z kolei są używane w radiach / gitarach elektrycznych, pedałach wah-wah itp.


To właściwie wszystko, o czym teraz mogłem myśleć, ale zauważ, że żadna ilość pisania / wyjaśniania nie jest w stanie w pełni uchwycić prawdziwej ważności transformacji Fouriera w przetwarzaniu sygnału oraz w nauce / inżynierii


2
Dobra odpowiedź w udzielaniu niektórych aplikacji w świecie rzeczywistym za pomocą FT i jego właściwości. +1.
goldenmean

3
@endolith Nie powiedziałem, że transformacja Fouriera była pierwsza, tylko że jest potężna . Zauważ, że seria Taylora nie jest rozszerzeniem pod względem częstotliwości składowych. Na przykład, szereg Taylora około to , podczas gdy transformata Fouriera to (podaj lub weź kilka czynników normalizacyjnych). To drugie jest prawidłową reprezentacją częstotliwości, więc nie jestem pewien, czy trafne są tu porównania z seriami Taylora. sin(αx)0αxα3x3/3!+α5x5/5!sin(αx)[δ(ωα)δ(ω+α)]/(2ȷ)
Lorem Ipsum

6
Kiedy zacząłem czytać tę odpowiedź, jakoś wiedziałem, że @yoda napisał ją, zanim przewiniłem w dół, aby zobaczyć, kto to był =)
Phonon

2
Aby rozwinąć omówienie # 3: Konwolucja jest tym, co robisz, gdy zastosujesz filtr do obrazu, taki jak filtr średni lub filtr gaussowski (chociaż nie możesz filtrować nieliniowych filtrów Fouriera).
Jonas,

1
Punkt Petera K. jest naprawdę krytyczny. Sygnały mogą być reprezentowane w odniesieniu do wielu różnych baz. Sinusy i cosinusy są wyjątkowe, ponieważ są funkcjami własnymi systemów LTI.
nibot

53

Świetna odpowiedź Lorem Ipsum pomija jedną rzecz: transformata Fouriera rozkłada sygnały na składowe złożone wykładnicze:

eȷωt

a złożone wykładnicze są funkcjami własnymi dla liniowych, niezmiennych w czasie systemów .

Mówiąc prościej, jeśli układ jest liniowy i niezmienny w czasie, to jego odpowiedź na złożony wykładniczy będzie złożonym wykładniczym o tej samej częstotliwości, ale (ewentualnie) innej fazie, i amplitudzie, , --- i amplituda może wynosić zero:HϕA

y=H[eȷωt]=Aeȷϕeȷωt

Zatem transformata Fouriera jest przydatnym narzędziem do analizy liniowych układów niezmiennych w czasie.


@Peter K. Myślę, że zgodnie z filozofią wyboru (akademicką) poprawności nad „popularnością” odpowiedzi, twoja odpowiedź powinna zostać włączona do powyższej odpowiedzi dostarczonej przez Lorem Ipsum, który pomimo tego, że został wybrany jako odpowiedź 96 punktów przez użytkowników, brakuje tego bardzo ważnego punktu widzenia.
Fat32

@ Peter Przepraszam, że przeszkadzam w tej prośbie, ale jesteś 1) moderatorem, 2) Twoje imię i nazwisko pojawiło się na liście użytkowników „aktywnych” z tagiem kształtowania wiązki. Czy możesz szybko powiedzieć, czy ten post w Math.SE zostałby tutaj dobrze przyjęty? Nie jestem pewien, czy DSP.SE, Math.SE lub EE.SE ma najlepszą szansę pomocy temu pytającemu. Rozważam migrację (co mogę zrobić jako moderator Math.SE).
Jyrki Lahtonen

@Peter K., Czy możesz ponownie otworzyć pytanie na stronie: dsp.stackexchange.com/questions/37468 . Naprawiłem to. Dziękuję Ci.
Royi

@Royi jest już otwarty?
Peter K.

Peter (Jak to możliwe, że do niektórych osób można się zwrócić, @a niektórych nie? Gdzie jest taka opcja?), Wygląda na to, że ktoś to otworzył. Dziękuję Ci.
Royi

16

Inny powód:

Jest szybki (np. Przydatny do splotu), ze względu na złożoność liniowo-czasową (w szczególności FFT ).
Twierdziłbym, że gdyby tak nie było, prawdopodobnie robilibyśmy znacznie więcej w dziedzinie czasu i znacznie mniej w dziedzinie Fouriera.

Edycja: Ponieważ ludzie poprosili mnie o napisanie, dlaczego FFT jest szybki ...

To dlatego, że sprytnie unika wykonywania dodatkowej pracy.

Aby podać konkretny przykład tego, jak to działa, załóżmy, że mnożymy dwa wielomiany: oraz .b 0 x 0 + b 1 x 1 + + b n x na0x0+a1x1++anxnb0x0+b1x1++bnxn

Jeśli miałbyś to zrobić naiwnie (przy użyciu metody FOIL ), potrzebujesz około operacji arytmetycznych (podaj lub weź stały współczynnik).n2

Możemy jednak dokonać pozornie przyziemnej obserwacji: aby pomnożyć dwa wielomiany, nie musimy FOLIOWAĆ współczynników . Zamiast tego możemy po prostu ocenić wielomiany przy (wystarczającej) liczbie punktów, wykonać punktowe zwielokrotnienie ocenianych wartości, a następnie interpolować, aby uzyskać wynik.

Dlaczego to jest przydatne? W końcu każdy wielomian ma wyrażeń, a jeśli ocenilibyśmy każdy z punktów, to nadal skutkowałoby operacjami, więc nie wydaje się to pomocne.2 n n 2n2nn2

Ale tak, jeśli zrobimy to poprawnie! Ocena pojedynczego wielomianu w wielu punktach jednocześnie jest szybsza niż ocena w tych punktach indywidualnie, jeśli oceniamy w „właściwych” punktach . Jakie są „właściwe” punkty?

zzn=1

Możemy wykonać bardzo podobny proces interpolacji między punktami, aby odzyskać wielomianowe współczynniki wyniku, po prostu stosując odwrotne pierwiastki jedności.


nlognn2

Tak więc możliwość użycia FFT do wykonania typowej operacji (takiej jak mnożenie wielomianowe) znacznie szybciej jest tym, co czyni ją użyteczną, i dlatego ludzie są teraz podekscytowani nowym odkryciem przez MIT algorytmu rzadkiego FFT .


Co to jest złożoność liniowo-czasowa? Nie będę downvote tę odpowiedź, ale nie sądzę, że dodaje niczego wartościowego do tej dyskusji na Fouriera transformacje .
Dilip Sarwate

1
@DilipSarwate Podejrzewam, że używa go jako skrótu dla O (n * log (n)).
Jim Clay

@DilipSarwate: Jim ma rację. Ma wszystko wspólnego z (dyskretnymi) transformacjami Fouriera. Bez FFT transformacje Fouriera zajęłyby czas proporcjonalny do kwadratu wielkości wejściowej, co uczyniłoby je znacznie mniej użytecznymi. Ale z FFT zajmują one czas proporcjonalny do wielkości danych wejściowych (razy jego logarytm), co czyni je znacznie bardziej użytecznymi i przyspieszają wiele obliczeń. Także to może być interesująca lektura.
Mehrdad

Powinieneś wspomnieć, DLACZEGO jest szybki. Gdzie jest szybki i dlaczego zależy nam na tym, aby był szybki?
CyberMen

1
Myślę, że ta odpowiedź jest uzasadniona. Należy sparafrazować - „Oprócz wszystkich fajnych cech wyjaśnionych w odpowiedzi innych ludzi, FFT pozwala stać się wykonalnym podejściem w aplikacjach w czasie rzeczywistym”.
Andrey Rubshtein

15

ekxdndxnkk

ekx

EDYCJA: W rzeczywistości operatory różnicowe (i integralne) są operatorami LSIV, patrz tutaj .


8

Niektóre inne odpowiedzi w tym wątku zawierają doskonałe matematyczne omówienia definicji i właściwości transformaty Fouriera; jako programista audio chcę jedynie przedstawić własną intuicję, dlaczego jest to dla mnie ważne.

Transformacja Fouriera pozwala mi odpowiadać na pytania dotyczące dźwięku, na które trudno jest odpowiedzieć innymi metodami. Ułatwia trudne problemy.

Nagranie zawiera zestaw trzech nut. Jakie są notatki? Jeśli nagranie zostanie pozostawione jako zestaw amplitud w czasie, nie jest to łatwy problem. Przekształcenie nagrania na zestaw częstotliwości w czasie jest naprawdę łatwe.

Chcę zmienić wysokość nagrania bez zmiany jego czasu trwania. Jak mam to zrobic? Jest to możliwe, ale niełatwe, po prostu manipulując amplitudą sygnału wejściowego. Ale to łatwe, jeśli znasz częstotliwości składające się na sygnał.

Czy to nagranie zawiera mowę czy zawiera muzykę? Bardzo trudne do wykonania przy użyciu tylko metod opartych na amplitudzie. Istnieją jednak dobre rozwiązania, które niemal przez cały czas odgadują właściwą odpowiedź w oparciu o transformację Fouriera i jej rodzinę.

Prawie każde pytanie, które chcesz zadać na temat cyfrowego nagrania audio, jest łatwiejsze dzięki przekształceniu nagrania za pomocą dyskretnej wersji transformaty Fouriera.

W praktyce każde nowoczesne cyfrowe urządzenie audio w dużym stopniu opiera się na funkcjach bardzo podobnych do transformaty Fouriera.

Ponownie wybacz bardzo nieformalny opis; to tylko moja osobista intuicja, dlaczego transformacja Fouriera jest ważna.


Hej John, mam głupie pytanie. Chcę obliczyć TWA ( osha.gov/pls/oshaweb/... ) na podstawie dźwięku nagranego w miejscu pracy. Zastanawiam się, czy mógłbym dokładniej zmierzyć tę wartość, jeśli zastosuję transformację Fouriera do analizy mojego pliku audio.
Hossein Sarshar

Nie, chyba że mikrofon i środowisko nagrywania zostały skalibrowane, nie.
johnwbyrd

6

Inni ludzie udzielili świetnych, przydatnych odpowiedzi. Pomyśl tylko o pewnym sygnale: zależy ci tylko na częstotliwościach w nim zawartych (i na ich fazie), a nie na dziedzinie czasu. Nie wiem, czy jest to ostateczna lub kompletna odpowiedź, ale tylko kolejny powód, dla którego transformacja Fouriera jest przydatna.

Gdy masz jakiś sygnał, może on składać się z nieskończonej (lub zbliżonej) liczby częstotliwości, w zależności od częstotliwości próbkowania. Ale tak nie jest: wiemy, że większość sygnałów ma najmniejszą możliwą liczbę częstotliwości lub że próbkujemy z wystarczająco wysoką częstotliwością.

Jeśli wiemy, dlaczego nie możemy tego użyć? To właśnie robi pole wykrywania skompresowanego. Wiedzą, że najbardziej prawdopodobny sygnał to taki, który ma najmniejszy błąd i ma najmniejszą częstotliwość. Minimalizują więc ogólny błąd w stosunku do naszych pomiarów, a także wielkość transformaty Fouriera.

Sygnał kilku częstotliwości często ma minimalną transformatę Fouriera lub przeważnie zera (inaczej „rzadkie”, jak to się mówi w wykrywaniu skompresowanym). Przykładowo sygnał jednej częstotliwości pełni funkcję delty jako transformacja.

Możemy również użyć formalnej definicji matematycznej.

x¯=arg min ||yAx||+λ||F(x)||

||||||||

  • x¯
  • y
  • A
  • x
  • λ
  • F(x)

Być może pamiętasz, że Nyquist powiedział, że musisz mierzyć dwa razy najwyższą częstotliwość, aby uzyskać dobrą reprezentację. Zakładając, że masz nieskończone częstotliwości w swoim sygnale. Możemy to ominąć!

Pole skompresowanego wykrywania może zrekonstruować dowolny sygnał, który w większości domen jest najczęściej zerowy (lub rzadki). Tak jest w przypadku transformacji Fouriera.


5

Główne znaczenie transformacji Fouriera polega na analizie systemu. Głównym składnikiem naszego wszechświata jest próżnia, a próżnia jest zasadniczo liniowym i niezmiennym nośnikiem pól: różne pola nakładają się przez dodanie ich odpowiednich wektorów i niezależnie od tego, kiedy powtórzysz zastosowanie niektórych pól, wynik będzie taki sam .

W rezultacie wiele układów, w których również występuje materia fizyczna, w przybliżeniu zachowują się jak układy liniowe, niezmienne w czasie.

Takie systemy LTI można opisać za pomocą ich „odpowiedzi impulsowej”, a odpowiedź na dowolny sygnał rozłożony w czasie opisana jest przez zwoje sygnału z odpowiedzią impulsową.

Konwolucja jest operacją przemienną i asocjacyjną, ale jest również dość obliczeniowa i koncepcyjnie droga. Jednak splot funkcji jest odwzorowywany przez przekształcenie Fouriera w fragmentaryczne mnożenie.

Oznacza to, że właściwości liniowych systemów niezmienniczych w czasie i ich kombinacji są znacznie lepiej opisane i manipulowane po transformacji Fouriera.

W rezultacie rzeczy takie jak „pasmo przenoszenia” są dość charakterystyczne dla opisu zachowania wielu systemów i stają się przydatne do ich charakteryzowania.

Szybkie transformaty Fouriera należą do klasy „prawie, ale nie całkiem, zupełnie inaczej niż transformaty Fouriera”, ponieważ ich wyniki nie są tak naprawdę rozsądnie interpretowalne, jak transformaty Fouriera, choć mocno ułożone w swojej teorii. Odpowiadają one całkowicie transformacjom Fouriera tylko w przypadku próbkowanego sygnału z częstotliwością interwału transformacji. W szczególności kryterium „okresowości” prawie zawsze nie jest spełnione.

Istnieje kilka technik obejścia tego, na przykład użycie nakładających się funkcji okienkowania.

Jednak FFT można zastosować do splotu dyskretnego w czasie, gdy robi się dobrze, i jest to wydajny algorytm, który czyni go przydatnym do wielu rzeczy.

Podstawowy algorytm FFT można zastosować także do transformacji teoretycznych liczb (które działają w dyskretnych polach liczbowych, a nie w skomplikowanych „liczbach rzeczywistych”) w celu szybkiego splotu, na przykład podczas mnożenia liczb ogromnych lub wielomianów. W tym przypadku „domena częstotliwości” jest nie do odróżnienia od białego szumu w zasadzie dla dowolnego wejścia i nie ma użytecznej interpretacji przed ponownym wykonaniem transformacji odwrotnej.


2

znaczenie fizyki transformacji Fouriera polega na tym, że mówi ona o względnej amplitudzie częstotliwości obecnych w sygnale. można go zdefiniować zarówno dla sygnału dyskretnego, jak i ciągłego. Każdy sygnał może być reprezentowany jako mieszanina wielu częstotliwości harmonicznych. Pomoc w transformacji Fouriera w zastosowaniach filtrów, w których potrzebujemy tylko określonego zakresu częstotliwości, a następnie najpierw musimy wiedzieć, jakie amplitudy częstotliwości zawiera sygnał.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.