Krótkotrwała transformata Fouriera
Krótkotrwała transformata Fouriera ( STFT ) to transformacja związana z Fourierem, używana do określania częstotliwości sinusoidalnej i zawartości fazy lokalnych sekcji sygnału, gdy zmienia się on w czasie. W praktyce procedura obliczania STFT polega na podzieleniu sygnału o dłuższym czasie na krótsze segmenty o równej długości, a następnie obliczeniu transformaty Fouriera oddzielnie dla każdego krótszego segmentu. Ujawnia to widmo Fouriera na każdym krótszym segmencie. Następnie zwykle wykreśla się zmieniające się widma w funkcji czasu, znane jako spektrogramu lub wodospadu, takie jak powszechnie stosowane w wyświetlacze widma radiowego (SDR) zdefiniowane programowo . Wyświetlacze o pełnej przepustowości obejmujące cały zakres SDR zwykle wykorzystują szybkie transformaty Fouriera (FFT) z punktami 2 ^ 24 na komputerach stacjonarnych.
STFT do przodu
STFT w czasie ciągłym
Po prostu, w przypadku czasu ciągłego, przekształcana funkcja jest mnożona przez funkcję okna , która jest różna od zera tylko przez krótki okres czasu. Pobierana jest transformata Fouriera (funkcja jednowymiarowa) wynikowego sygnału, następnie przesuwane jest okno wzdłuż osi czasu aż do końca, w wyniku czego powstaje dwuwymiarowa reprezentacja sygnału. Matematycznie jest to zapisane jako:
gdzie jest funkcją okna , zwykle oknem Hanna lub oknem Gaussa wyśrodkowanym wokół zera, i jest sygnałem do przekształcenia ( różnicę między funkcją częstotliwością . jest zasadniczo transformatą Fouriera , złożoną funkcją reprezentującą fazę i wielkość sygnału w czasie i częstotliwości. Często rozpakowywanie faz stosowane wzdłuż jednej lub obu osi czasu i osi częstotliwości, aby stłumić wszelkie skoków τ wyniku fazy STFT. Indeks czasu zwykle uważany za czas „ ” i zwykle nie jest wyrażany w tak wysokiej rozdzielczości, jak czas } . Biorąc pod uwagę, że STFT jest zasadniczo transformatą Fouriera razy funkcja okna, STFT jest również nazywany okienkową transformatą Fouriera lub zależną od czasu transformatą Fouriera.
STFT w czasie dyskretnym
W przypadku czasu dyskretnego dane, które mają być przekształcone, można podzielić na fragmenty lub ramki (które zwykle nakładają się na siebie, aby zredukować artefakty na granicy). Każdy fragment jest transformowany Fouriera , a złożony wynik jest dodawany do macierzy, która rejestruje wielkość i fazę dla każdego punktu w czasie i częstotliwości. Można to wyrazić jako:
podobnie z sygnałem x [ n ] i oknem w [ n ]. W tym przypadku m jest dyskretne, a ω jest ciągłe, ale w większości typowych zastosowań STFT jest przeprowadzane na komputerze przy użyciu szybkiej transformaty Fouriera , więc obie zmienne są dyskretne i skwantowane .
Kwadrat wielkości STFT daje spektrogramową reprezentację widmowej gęstości mocy funkcji:
Zobacz także zmodyfikowaną dyskretną transformatę kosinusową (MDCT), która jest również transformacją związaną z Fourierem, która wykorzystuje nakładające się okna.
Przesuwne DFT
Jeśli pożądana jest tylko niewielka liczba ω lub jeśli STFT ma być oceniany dla każdego przesunięcia m okna, wówczas STFT może być oceniany wydajniej przy użyciu przesuwanego algorytmu DFT.
Odwrotny STFT
STFT jest odwracalny , to znaczy, że oryginalny sygnał można odzyskać z transformacji za pomocą odwrotnego STFT. Najszerzej akceptowanym sposobem odwrócenia STFT jest użycie metody „overlap-add” (OLA) , która pozwala również na modyfikacje widma zespolonego STFT. Tworzy to wszechstronną metodę przetwarzania sygnału, określaną jako nakładania i dodawania z modyfikacjami .
STFT w czasie ciągłym
Biorąc pod uwagę szerokość i definicję funkcji okna w ( t ), początkowo wymagamy, aby obszar funkcji okna był przeskalowany tak, aby
Łatwo z tego wynika
I
Ciągła transformata Fouriera jest
Podstawiając x ( t ) z góry:
Zamiana kolejności całkowania:
Tak więc transformatę Fouriera można postrzegać jako rodzaj spójnej fazowo sumy wszystkich STFT x ( t ). Ponieważ odwrotna transformata Fouriera jest
wtedy x ( t ) można wyprowadzić z X (τ,ω) as
Lub
Można zauważyć, porównując z powyższym, że okienkowane „ziarno” lub „falka” x ( t ) to
odwrotna transformata Fouriera X (τ, ω) dla τ stała.
Alternatywna definicja, która jest ważna tylko w pobliżu τ, odwrotna transformata to:
Ogólnie rzecz biorąc, funkcja okna ma następujące właściwości:
- (a) nawet symetria: ;
- (b) nierosnący (dla czasu dodatniego): jeśli ;
- (c) kompaktowe wsparcie: jest równe zeru, gdy |t| jest wielki.
Problemy z rozdzielczością
Jedną z pułapek STFT jest to, że ma stałą rozdzielczość. Szerokość funkcji okienkowania odnosi się do sposobu reprezentacji sygnału — określa, czy występuje dobra rozdzielczość częstotliwościowa (składowe częstotliwości znajdujące się blisko siebie można rozdzielić) lub dobra rozdzielczość czasowa (czas, w którym zmieniają się częstotliwości). Szerokie okno daje lepszą rozdzielczość częstotliwościową, ale słabą rozdzielczość czasową. Węższe okno daje dobrą rozdzielczość czasową, ale słabą rozdzielczość częstotliwościową. Są to odpowiednio transformaty wąskopasmowe i szerokopasmowe.
Jest to jeden z powodów stworzenia transformacji falkowej i analizy wielorozdzielczej , które mogą zapewnić dobrą rozdzielczość czasową dla zdarzeń o wysokiej częstotliwości i dobrą rozdzielczość częstotliwościową dla zdarzeń o niskiej częstotliwości, kombinację najlepiej pasującą do wielu rzeczywistych sygnałów.
Ta właściwość jest związana z zasadą nieoznaczoności Heisenberga , ale nie bezpośrednio - patrz granica Gabora w celu omówienia. Iloczyn odchylenia standardowego w czasie i częstotliwości jest ograniczony. Granica zasady nieoznaczoności (najlepsza jednoczesna rozdzielczość obu) jest osiągana za pomocą funkcji okna Gaussa (lub funkcji maski), ponieważ Gauss minimalizuje zasadę nieoznaczoności Fouriera . Nazywa się to transformatą Gabora (i po modyfikacjach dla wielu rozdzielczości staje się transformatą falkową Morleta ).
Można uznać STFT dla zmiennej wielkości okna jako dziedzinę dwuwymiarową (czas i częstotliwość), jak pokazano w poniższym przykładzie, którą można obliczyć zmieniając rozmiar okna. Jednak nie jest to już reprezentacja stricte czasowo-częstotliwościowa – jądro nie jest stałe w całym sygnale.
Przykłady
Gdy oryginalna funkcja to:
Możemy mieć prosty przykład:
w(t) = 1 dla |t| mniejszy lub równy B
w(t) = 0 w przeciwnym razie
B = okno
Teraz pierwotną funkcję krótkoterminowej transformaty Fouriera można zmienić jako
Inny przykład:
Używając następującego przykładowego sygnału który składa się z zestawu czterech przebiegów sinusoidalnych połączonych ze Każdy przebieg składa się tylko z jednej z czterech częstotliwości (10, 25, 50, 100 Hz ). Definicja to: x ( t ) {\ displaystyle x (t)}
Następnie jest próbkowany z częstotliwością 400 Hz. Powstały następujące spektrogramy:
Okno 25 ms pozwala nam określić dokładny czas, w którym sygnały się zmieniają, ale dokładne częstotliwości są trudne do zidentyfikowania. Na drugim końcu skali okno 1000 ms pozwala dokładnie zobaczyć częstotliwości, ale czas między zmianami częstotliwości jest rozmyty.
Inne przykłady:
Zwykle nazywamy funkcję Gaussa lub funkcję Gabora Kiedy go używamy, krótkotrwała transformata Fouriera jest nazywana „transformacją Gabora”.
Wyjaśnienie
Można to również wyjaśnić w odniesieniu do próbkowania i częstotliwości Nyquista .
Weź okno N próbek z dowolnego sygnału o wartościach rzeczywistych przy częstotliwości próbkowania f s . Przekształcenie Fouriera daje N współczynników zespolonych. Z tych współczynników tylko połowa jest użyteczna (ostatnie N/2 jest złożonym sprzężeniem pierwszego N/2 w odwrotnej kolejności, ponieważ jest to sygnał o wartości rzeczywistej).
Te współczynniki N/2 reprezentują częstotliwości od 0 do fs / 2 (Nyquist) , a dwa kolejne współczynniki są oddalone od siebie o fs / N Hz.
Aby zwiększyć rozdzielczość częstotliwościową okna, należy zmniejszyć odstępy między częstotliwościami współczynników. Istnieją tylko dwie zmienne, ale zmniejszenie f s (i utrzymanie stałego N ) spowoduje zwiększenie rozmiaru okna — ponieważ jest teraz mniej próbek na jednostkę czasu. Inną alternatywą jest zwiększenie N , ale to ponownie powoduje zwiększenie rozmiaru okna. Tak więc każda próba zwiększenia rozdzielczości częstotliwości powoduje większy rozmiar okna, a tym samym zmniejszenie rozdzielczości czasowej - i odwrotnie.
Częstotliwość Rayleigha
Ponieważ częstotliwość Nyquista jest ograniczeniem maksymalnej częstotliwości, którą można sensownie przeanalizować, tak samo częstotliwość Rayleigha jest ograniczeniem minimalnej częstotliwości.
Częstotliwość Rayleigha to minimalna częstotliwość, którą można rozwiązać za pomocą okna czasowego o skończonym czasie trwania.
Biorąc pod uwagę okno czasowe o długości Τ sekund, minimalna częstotliwość, którą można rozróżnić, to 1/Τ Hz.
Częstotliwość Rayleigha jest ważnym czynnikiem w zastosowaniach krótkookresowej transformaty Fouriera (STFT), jak również w każdej innej metodzie analizy harmonicznej sygnału o skończonej długości zapisu.
Aplikacja
STFT, standardowe transformaty Fouriera i inne narzędzia są często używane do analizy muzyki. Spektrogram stronie i najwyższymi po prawej. Wysokość każdego słupka (powiększona o kolor) reprezentuje amplitudę częstotliwości w tym paśmie. Wymiar głębokości reprezentuje czas, gdzie każdy nowy słupek był osobną, odrębną transformacją. Inżynierowie dźwięku używają tego rodzaju wizualizacji do uzyskiwania informacji o próbce audio, na przykład do lokalizowania częstotliwości określonych szumów (zwłaszcza w przypadku użycia z większą rozdzielczością częstotliwości) lub do znajdowania częstotliwości, które mogą być mniej lub bardziej rezonujące w przestrzeni, w której zarejestrowano sygnał. Te informacje mogą być wykorzystane do wyrównywanie lub dostrajanie innych efektów dźwiękowych.
Realizacja
Oryginalna funkcja
Konwersja do postaci dyskretnej:
Przypuszczam, że
Następnie możemy zapisać pierwotną funkcję
Bezpośrednia realizacja
Ograniczenia
A. Kryterium Nyquista (unikanie efektu aliasingu):
- , gdzie jest przepustowością
Metoda oparta na FFT
Ograniczenie
A. , gdzie jest liczbą całkowitą
B.
C. Kryterium Nyquista (unikanie efektu aliasingu):
- , to przepustowość
Metoda rekurencyjna
Ograniczenie
A. , gdzie jest liczbą całkowitą
B.
C. Kryterium Nyquista (unikanie efektu aliasingu):
- , to przepustowość
D. Tylko do implementacji prostokątnego STFT
Prostokątne okno narzuca ograniczenie
Podstawienie daje:
Zmiana zmiennej n -1 na n :
Oblicz przez N -punkt FFT:
Gdzie
Zastosowanie formuły rekurencyjnej do obliczenia
Transformacja Chirp Z
Ograniczenie
Więc
Porównanie implementacji
metoda | Złożoność |
---|---|
Bezpośrednia realizacja | |
Oparte na FFT | |
rekurencyjne | |
Transformacja Chirp Z |
Zobacz też
- Analiza widmowa metodą najmniejszych kwadratów
- Oszacowanie gęstości widmowej
- Analiza czasowo-częstotliwościowa
- Reprezentacja czasowo-częstotliwościowa
- Metoda ponownego przypisania
Inne transformaty czasowo-częstotliwościowe:
- Funkcja dystrybucji w kształcie stożka
- Transformacja o stałej Q
- Ułamkowa transformata Fouriera
- Transformacja Gabora
- Transformata Newlanda
- Transformacja S
- Transformacja falkowa
- Transformacja Chirpleta
- ^ Sejdić E.; Djurović I.; Jiang J. (2009). „Reprezentacja funkcji czasowo-częstotliwościowych z wykorzystaniem koncentracji energii: przegląd ostatnich postępów”. Cyfrowe przetwarzanie sygnału . 19 (1): 153–183. doi : 10.1016/j.dsp.2007.12.004 .
- ^ E. Jacobsen i R. Lyons, przesuwne DFT , Signal Processing Magazine obj. 20, nr 2, s. 74–80 (marzec 2003).
- ^ Jont B. Allen (czerwiec 1977). „Krótkoterminowa analiza widmowa, synteza i modyfikacja za pomocą dyskretnej transformaty Fouriera”. Transakcje IEEE dotyczące akustyki, mowy i przetwarzania sygnałów . ASSP-25 (3): 235–238. doi : 10.1109/TASSP.1977.1162950 .
- ^ https://physics.ucsd.edu/neurophysics/publications/Cold%20Spring%20Harb%20Protoc-2014-Kleinfeld-pdb.top081075.pdf [ bez adresu URL PDF ]
- ^ „Co oznacza „wypełnienie niewystarczające dla żądanej rozdzielczości częstotliwości”? - Zestaw narzędzi FieldTrip” .
- ^ Zeitler M, frytki P, Gielen S (2008). „Stronnicza konkurencja poprzez zmiany amplitudy oscylacji gamma” . J Comput Neurosci . 25 (1): 89–107. doi : 10.1007/s10827-007-0066-2 . PMC 2441488 . PMID 18293071 .
- ^ Wingerden, Marijn van; Vinck, Martin; Lankelma, Jan; Pennartz, Cyriel MA (2010-05-19). „Blokada fazowa pasma Theta neuronów oczodołowo-czołowych podczas oczekiwanej nagrody” . Journal of Neuroscience . 30 (20): 7078–7087. doi : 10.1523/JNEUROSCI.3860-09.2010 . ISSN 0270-6474 . PMC 6632657 . PMID 20484650 .
Linki zewnętrzne
- DiscreteTFDs - oprogramowanie do obliczania krótkotrwałej transformaty Fouriera i innych rozkładów czasowo-częstotliwościowych
- Singular Spectral Analysis – MultiTaper Method Toolkit – darmowy program do analizy krótkich, zaszumionych szeregów czasowych
- kSpectra Toolkit dla Mac OS X firmy SpectraWorks
- Rozciągnięta w czasie krótkoterminowa transformata Fouriera do analizy czasowo-częstotliwościowej sygnałów ultraszerokopasmowych
- Klasa Matlab na licencji BSD do wykonywania STFT i odwrotnego STFT
- LTFAT – darmowy (GPL) zestaw narzędzi Matlab / Octave do pracy z krótkoterminowymi transformatami Fouriera i analizą czasowo-częstotliwościową
- Mowa widzialna sonogramu — bezpłatne (GPL) bezpłatne oprogramowanie do krótkotrwałych transformat Fouriera i analizy czasowo-częstotliwościowej
- National Taiwan University, Analiza czasowo-częstotliwościowa i transformacja falkowa 2021, profesor Jian-Jiun Ding, Wydział Elektrotechniki