Wyjaśnienie Synchrosqueezing Wavelet Transform?
Jak działa Synchrosqueezing Wavelet Transform, intuicyjnie? Co robi część „zsynchronizowana” i czym różni się od zwykłej (ciągłej) transformacji falkowej?
Odpowiedzi
Synchrosqueezing to potężna metoda zmiany przypisania . Aby uchwycić jej mechanizmy, przeanalizujemy (ciągłą) transformację falkową i sposób, w jaki można zaradzić jej pułapkom. Zapewniono interpretacje fizyczne i statystyczne.
Jeśli nie znasz CWT, polecam ten poradnik. SSWT jest zaimplementowany w MATLAB jako wsst , aw Pythonie jako ssqueezepy . (- Wszystkie kody odpowiedzi )
Zacznij od CWT o czystym tonie:
Prosta na płaszczyźnie czas-częstotliwość (raczej skala czasu), dla naszej sinusoidy o stałej częstotliwości przez cały czas - w porządku. ... poza tym, że jest to linia prosta? Nie, to pasmo linii, pozornie wyśrodkowane wokół jakiegoś maksimum, prawdopodobnie „prawdziwej skali”. Powiększanie,
sprawia, że jest to wyraźniejsze. Narysujmy wiersze w tym powiększonym paśmie, jeden po drugim:
i wszystkie nałożone, każdy dla próbek od 0 do 127 (zoom poziomy):
Zauważyłeś coś interesującego? Wszystkie mają tę samą częstotliwość . Nie jest to specyficzne dla tej sinusoidy, ale tak działa CWT w korelowaniu fal z sygnałami.
Wydaje się, że wiele informacji „powtarza się”; jest nadmiarowość . Czy możemy to jakoś wykorzystać? Cóż, jeśli po prostu przyjmiemy, że wszystkie te sąsiednie pasma faktycznie pochodzą z jednego i tego samego pasma, możemy je połączyć w jeden - i to, w skrócie, robi synchrosqueezing. Oczywiście jest to bardziej skomplikowane niż to, z zastrzeżeniami, ale podstawową ideą jest to, że sumujemy składniki tej samej chwilowej częstotliwości, aby uzyskać ostrzejszą, skupioną reprezentację czasowo-częstotliwościową.
Oto ten sam CWT, zsynchronizowany:
Teraz to jest linia prosta.
Jak to dokładnie działa?
Mamy pomysł, ale jak dokładnie jest to sformułowane matematycznie? Motywowany identyfikacją mówcy i empiryczną dekompozycją trybów, SSWT opiera się na modelu modulacji :
$$ f(t) = \sum_{k=1}^{K} A_k(t) \cos(\phi_k (t)), \tag{1} $$
gdzie $A_k(t)$ jest chwilową amplitudą i
$$ \omega_k(t) = \frac{d}{dt}(\phi_k(t)) \tag{2} $$
chwilowa częstotliwość elementu $k$, gdzie szukamy $K$takie „komponenty”, które sumują się do oryginalnego sygnału. Więcej na ten temat poniżej, „MM kontra FT”.
Na tym etapie mamy tylko CWT, $W_f(a, b)$(a = skala, b = przesunięcie w czasie); jak wyodrębniamy$\omega$z tego? Ponownie zobacz wykresy z zoomem w czystym tonie; ponownie$b$-zależność zachowuje oryginalne oscylacje harmoniczne przy prawidłowej częstotliwości, niezależnie od$a$. Sugeruje to, że obliczamy dla dowolnego$(a, b)$, chwilowa częstotliwość za pośrednictwem
$$ \omega(a, b) = -j[W_f(a, b)]^{-1} \frac{\partial}{\partial b}W_f(a, b), \tag{3} $$
gdzie wzięliśmy pochodną logarytmiczną ,$f' / f$. Aby zobaczyć, dlaczego, możemy pokazać, że CWT$f(t)=A_0 \cos (\omega_0 t)$ jest:
$$ W_f(a, b) = \frac{A_0}{4 \pi} \sqrt{a} \overline{\hat{\psi}(a \omega_0)} e^{j b \omega_0} \tag{4} $$
a tym samym częściowe zróżnicowanie wrt $b$, wydobywamy $\omega_0$, a reszta w (3) zostaje podzielona. ("Ale co gdyby$f$ jest mniej przyjemny? ”- zobacz zastrzeżenia).
Wreszcie wyposażony w $\omega (a, b)$, przekazujemy informacje z $(a, b)$-samolot do a $(\omega, b)$ samolot:
$$ \boxed{ S_f (\omega_l, b) = \sum_{a_k\text{ such that } |\omega(a_k, b) - w_l| \leq \Delta \omega / 2} W_f (a_k, b) a_k^{-3/2}} \tag{5} $$
z $w_l$ oddalone od siebie o $\Delta w$, i $a^{-3/2}$ do normalizacji (patrz „Uwagi”).
I to wszystko. Zasadniczo weź nasze CWT i przypisz je inteligentnie.
Więc gdzie są „komponenty”? - Wydobyty z krzywych o wysokiej wartości (kalenicy) w płaszczyźnie SSWT; w przypadku tonów czystych jest to jedna linia, a$K=1$. Więcej przykładów ; wybieramy część płaszczyzny i odwracamy nad nią tyle razy, ile potrzeba.
Model modulacji a transformata Fouriera :
Co $(1)$wszystko o i dlaczego po prostu nie użyć FT? Rozważ wahadło oscylujące ze stałym okresem i stałym tłumieniem oraz jego FT:
$$ s(t) = e^{-t} \cos (25t) u(t)\ \Leftrightarrow\ S(\omega) = \frac{1 + j\omega}{(1 + j\omega)^2 + 625} $$
Co mówi nam transformata Fouriera? Nieskończenie wiele częstotliwości , ale przynajmniej osiąga szczyt na rzeczywistej częstotliwości wahadła. Czy to rozsądny opis fizyczny? Prawie (tylko w pewnych pośrednich znaczeniach); problem polega na tym, że FT używa częstotliwości sinusoidy zespolonej o stałej amplitudzie jako swoich elementów składowych (funkcji bazowych lub „baz”), podczas gdy tutaj mamy zmienną amplitudę, której nie można łatwo przedstawić za pomocą stałych częstotliwości, więc FT jest zmuszone do „kompensacji” z tymi wszystkimi dodatkowymi „częstotliwościami”.
Nie ogranicza się to do modulacji amplitudy; im mniej sinusoidalna lub nieperiodyczna funkcja, tym mniej znaczące jest jej widmo FT (choć nie zawsze). Prosty przykład: fala trójkątna 1 Hz, wiele częstotliwości FT. Podobnie cierpi modulacja częstotliwości; więcej intuicji tutaj .
Oto pułapki, którym model modulacji ma zaradzić - oddzielając amplitudę i częstotliwość w czasie od sygnału globalnego, zamiast zakładać tę samą (i stałą!) Amplitudę i częstotliwość przez cały czas.
Tymczasem SSWT - perfekcja:
Czy synchronizacja jest magią?
Wydaje się, że wiele zyskujemy na ściskaniu - pozornie doskonała rozdzielczość częstotliwości, naruszająca niepewność Heisenberga i częściowa redukcja szumów („Uwagi”). Jak to może być?
Przed . my zakładamy $f(t)$ jest dobrze ujęty przez $A_k(t) \cos(\phi_k (t))$komponenty, np. w oparciu o naszą wiedzę na temat podstawowego procesu fizycznego. W rzeczywistości zakładamy znacznie więcej, co pokazano nieco później, ale idea jest taka, że działa to dobrze na podzbiorze wszystkich możliwych sygnałów:
Rzeczywiście, istnieje wiele sposobów, w jakie synchronizowanie może się nie udać, a im bardziej dane wejściowe są zgodne z założeniami SSWT (które nie są zbyt restrykcyjne i wiele sygnałów jest w naturalny sposób zgodne), tym lepsze wyniki.
Jakie są założenia SSWT? (kiedy to się nie powiedzie?)
Jest to osobny temat (o którym mogę napisać później), ale pokrótce sformułowanie jest następujące. Po pierwsze, musimy w jakiś sposób ograniczyć co$A(t)$ i $\psi(t)$ może być na przykład $A(t)$może po prostu skasować cosinus i stać się dowolną inną funkcją. Dokładniej, komponenty mają być takie, aby:
Więcej informacji w ref 2.
Jak by to zostało wdrożone? Jest teraz kod Pythona , czysty i skomentowany. Niezależnie od tego, na co warto zwrócić uwagę:
- Dla bardzo małych współczynników CWT faza jest niestabilna (tak jak dla DFT), nad czym pracujemy zerując wszystkie takie współczynniki poniżej zadanego progu.
- Dla dowolnego wiersza / przedziału częstotliwości $w_l$ w samolocie SSWT przenosimy z $W_f(a, b)$na podstawie tego, co jest najbliższe $w_l$ według $\omega (a, b)$, a dla CWT ze skalą logów używamy odległości dziennika .
Podsumowanie :
SSWT to narzędzie do analizy czasu i częstotliwości. CWT wyodrębnia informacje czasowo-częstotliwościowe, a synchronizacja w inteligentny sposób ponownie je przypisuje - zapewniając rzadszą, ostrzejszą, odporną na szum i częściowo odszumioną reprezentację. Sukces synchrosqueezingu opiera się na jego poprzedniku i jest przez niego eksplorowany; im bardziej dane wejściowe są zgodne z założeniami, tym lepsze wyniki.
Uwagi i zastrzeżenia :
- Co jeśli $f$ nie jest miły w środku $\omega(a, b)$przykład? Prawidłowe pytanie ; w praktyce im bardziej funkcja spełnia powyższe założenia, tym mniej jest to problem, co dowodzą autorzy poprzez różne lematy.
- W SSWT tłumionego wahadła trochę oszukałem, wydłużając czas sygnału do $(-2, 6)$; ma to na celu jedynie zapobieganie efektom granicznym, które są zjawiskiem CWT, któremu można zaradzić; tutaj jest bezpośrednio od 0 do 6 .
- Częściowa redukcja szumów? W rzeczy samej; patrz str. 536 w odn. 1.
- Co to jest $a^{-3/2}$ w $(5)$? Synchrosqueezing skutecznie odwraca $W_f$na ponownie przypisaną płaszczyznę, używając jednowałkowej iCWT .
- - Zły Fourier? Moje wcześniejsze porównanie jest podatne na krytykę. Aby było jasne, FT jest najbardziej solidną i uniwersalną podstawą, jaką mamy dla struktury sygnałów. Ale to nie jest uniwersalny- najlepszy; w zależności od kontekstu inne konstrukcje są bardziej znaczące i użyteczne.
Gdzie dowiedzieć się więcej?
W refernced papiery są źródłem dobra, więc są Matlaba wssti cwtdocs i ssqueezepyjest kod źródłowy. Mogę również napisać dalsze pytania i odpowiedzi, o których możesz zostać powiadomiony, podając ten wątek .
Piśmiennictwo :
- Nieliniowe ściskanie CWT oparte na modelach nerwu słuchowego - I. Daubechies, S. Maes. Doskonały papier oryginalny ze zwięzłą intuicją.
- Synchrosqueezed Wavelet Transforms: a tool for Empirical Mode Decomposition - I. Daubechies, J. Lu, HT Wu. Dobry artykuł uzupełniający z przykładami.
- Algorytm Synchrosqueezing do analizy spektralnej zmiennej w czasie: właściwości odporności i nowe zastosowania paleoklimatu - G. Thakur, E. Brevdo i in. Dalsze badanie właściwości odporności i szczegółów implementacji (w tym ustalania progów).