Synchrosqueezing Wavelet Transform Explication?
Comment fonctionne la transformation en ondelettes Synchrosqueezing, intuitivement? Que fait la partie "synchrosqueezed", et en quoi est-elle différente de la simple transformation en ondelettes (continue)?
Réponses
La synchronisation synchronisée est une méthode de réaffectation puissante . Pour saisir ses mécanismes, nous disséquons la transformation en ondelettes (continue) et comment ses pièges peuvent être surmontés. Des interprétations physiques et statistiques sont fournies.
Si vous ne connaissez pas CWT, je recommande ce tutoriel. SSWT est implémenté dans MATLAB en tant que wsst et en Python, ssqueezepy . (- Tous les codes de réponse )
Commencez par CWT d'un ton pur:
Une ligne droite dans le plan temps-fréquence (plutôt, échelle de temps), pour notre sinusoïde à fréquence fixe sur tous les temps - juste. ... sauf est-ce une ligne droite? Non, c'est une bande de lignes, apparemment centrée sur un maximum, probablement la «vraie échelle». Zoom,
rend cela plus prononcé. Tracons les lignes dans cette bande agrandie, une par une:
et le tout superposé, chacun pour les échantillons 0 à 127 (zoom horizontal):
Avez-vous remarqué quelque chose d'intéressant? Ils ont tous la même fréquence . Ce n'est pas particulier à cette sinusoïde, mais c'est ainsi que CWT fonctionne en corrélant les ondelettes avec les signaux.
Il semble que beaucoup d'informations "se répètent"; il y a redondance . Pouvons-nous en profiter d'une manière ou d'une autre? Eh bien, si nous supposons simplement que toutes ces bandes adjacentes proviennent en fait d'une seule et même bande, alors nous pouvons les fusionner en une seule - et c'est, en un mot, ce que fait le synchrosqueezing. Naturellement, c'est plus complexe que cela, avec des mises en garde, mais l'idée sous-jacente est que nous additionnons les composants de la même fréquence instantanée pour obtenir une représentation temps-fréquence plus nette et plus précise.
Voici ce même CWT, synchronisé:
Maintenant, c'est une ligne droite.
Comment ça marche, exactement?
Nous avons une idée, mais comment est-ce exactement formulé mathématiquement? Motivé par l'identification du locuteur et la décomposition du mode empirique, SSWT s'appuie sur le modèle de modulation :
$$ f(t) = \sum_{k=1}^{K} A_k(t) \cos(\phi_k (t)), \tag{1} $$
où $A_k(t)$ est l'amplitude instantanée et
$$ \omega_k(t) = \frac{d}{dt}(\phi_k(t)) \tag{2} $$
la fréquence instantanée du composant $k$, où nous cherchons à trouver $K$ces "composants" qui correspondent au signal d'origine. Plus d'informations ci-dessous, «MM vs FT».
A ce stade, nous n'avons que le CWT, $W_f(a, b)$(a = échelle, b = décalage temporel); comment extraire$\omega$à partir de cela? Revisitez les tracés de tons purs agrandis; encore une fois, le$b$-la dépendance préserve les oscillations harmoniques d'origine à la fréquence correcte, indépendamment de$a$. Cela suggère que nous calculons, pour tout$(a, b)$, la fréquence instantanée via
$$ \omega(a, b) = -j[W_f(a, b)]^{-1} \frac{\partial}{\partial b}W_f(a, b), \tag{3} $$
où nous avons pris la dérivée log ,$f' / f$. Pour comprendre pourquoi, nous pouvons montrer que CWT de$f(t)=A_0 \cos (\omega_0 t)$ est:
$$ W_f(a, b) = \frac{A_0}{4 \pi} \sqrt{a} \overline{\hat{\psi}(a \omega_0)} e^{j b \omega_0} \tag{4} $$
et donc partiellement différant wrt $b$, nous extrayons $\omega_0$, et le reste de (3) est divisé. ("Mais si$f$ est moins agréable? »- voir mises en garde).
Enfin, équipé de $\omega (a, b)$, nous transférons les informations du $(a, b)$-avion à un $(\omega, b)$ avion:
$$ \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} $$
avec $w_l$ espacés de $\Delta w$, et $a^{-3/2}$ pour la normalisation (voir "Notes").
Et c'est à peu près tout. Essentiellement, prenez notre CWT et réaffectez -le intelligemment.
Alors, où sont les «composants»? - Extrait de courbes (crêtes) à haute valeur dans le plan SSWT; dans le cas de ton pur, c'est une ligne, et$K=1$. Plus d'exemples ; nous sélectionnons une partie du plan et l' inversons autant de fois que nécessaire.
Modèle de modulation vs transformée de Fourier :
Qu'est-ce que $(1)$tout sur, et pourquoi ne pas simplement utiliser FT? Considérons un pendule oscillant à période fixe et amortissement constant, et son FT:
$$ s(t) = e^{-t} \cos (25t) u(t)\ \Leftrightarrow\ S(\omega) = \frac{1 + j\omega}{(1 + j\omega)^2 + 625} $$
Que nous dit la transformée de Fourier? Un nombre infini de fréquences , mais au moins culminant à la fréquence réelle du pendule. Est-ce une description physique sensée? À peine (seulement dans certains sens indirects); le problème est que FT utilise des fréquences sinusoïdales complexes d'amplitude fixe comme blocs de construction (fonctions de base, ou «bases»), alors qu'ici nous avons une amplitude variable qui ne peut pas être facilement représentée par des fréquences constantes, donc FT est obligé de «compenser» avec toutes ces "fréquences" supplémentaires.
Cela ne se limite pas à la modulation d'amplitude; moins la fonction est sinusoïdale ou non périodique, moins son spectre FT est significatif (mais pas toujours). Exemple simple: onde triangulaire 1Hz, plusieurs fréquences FT. La modulation de fréquence en souffre également; plus d'intuition ici .
Ce sont les pièges que le modèle de modulation vise à résoudre - en découplant l' amplitude et la fréquence dans le temps du signal global, plutôt que de supposer la même amplitude et la même fréquence (et constantes!) Pour tous les temps.
Pendant ce temps, SSWT - perfection:
La synchrosqueezing est-elle magique?
Nous semblons gagner beaucoup en serrant - une résolution de fréquence apparemment parfaite, violant l'incertitude de Heisenberg et une annulation partielle du bruit ("Notes"). Comment se peut-il?
Un avant . Nous supposons $f(t)$ est bien capturé par le $A_k(t) \cos(\phi_k (t))$composants, par exemple sur la base de notre connaissance du processus physique sous-jacent. En fait, nous supposons beaucoup plus que cela, montré un peu plus tard, mais l'idée est que cela fonctionne bien sur un sous - ensemble de tous les signaux possibles:
En effet, il existe de nombreuses façons dont la synchronisation synchronisée peut mal tourner, et plus l'entrée obéit aux hypothèses de SSWT (qui ne sont pas trop restrictives et de nombreux signaux se conforment naturellement), meilleurs sont les résultats.
Quelles sont les hypothèses de SSWT? (quand échouera-t-il?)
C'est un sujet qui lui est propre (sur lequel je pourrai poster plus tard), mais brièvement, la formulation est la suivante. Notez tout d'abord que nous devons en quelque sorte restreindre$A(t)$ et $\psi(t)$ peut être, sinon, par exemple, $A(t)$peut simplement annuler le cosinus et devenir n'importe quelle autre fonction. Plus précisément, les composants doivent être tels que:
Plus d'informations dans la réf 2.
Comment serait-il mis en œuvre? Il y a maintenant du code Python , propre et commenté. Quoi qu'il en soit, il convient de noter:
- Pour de très petits coefficients CWT, la phase est instable (tout comme pour DFT), ce que nous contournons en remettant à zéro tous ces coefficients en dessous d'un seuil donné.
- Pour toute ligne / case de fréquence $w_l$ dans le plan SSWT, nous réaffectons de $W_f(a, b)$basé sur ce qui est le plus proche de $w_l$ selon $\omega (a, b)$, et pour CWT à l'échelle logarithmique, nous utilisons log-distance .
Résumé :
SSWT est un outil d'analyse temps-fréquence. CWT extrait les informations temps-fréquence et la synchronisation synchronisée les réaffecte intelligemment - fournissant une représentation plus clairsemée, plus nette, plus résistante au bruit et partiellement débruitée. Le succès de la synchrosqueezing est basé et expliqué par son a priori; plus l'entrée obéit aux hypothèses, meilleurs sont les résultats.
Notes et mises en garde :
- Et qu'est-ce qui se passerait si $f$ n'est pas gentil dans $\omega(a, b)$exemple? Question valide ; en pratique, plus la fonction satisfait aux hypothèses susmentionnées, moins cela pose de problème, comme les auteurs le démontrent à travers différents lemmes.
- Dans le SSWT du pendule amorti, j'ai triché un peu en prolongeant le temps du signal à $(-2, 6)$; il s'agit uniquement de prévenir les effets de frontière, phénomène CWT auquel on peut remédier; voici directement 0 à 6 .
- Annulation partielle du bruit? En effet; voir page 536 de la référence 1.
- Quel est le $a^{-3/2}$ dans $(5)$? Synchrosqueezing inverse efficacement $W_f$sur le plan réaffecté, en utilisant iCWT à une seule intégrale .
- «Fourier mauvais? Ma comparaison précédente est sujette à la critique. Pour être clair, le FT est la base la plus solide et la plus polyvalente que nous ayons pour un cadre de signaux. Mais ce n'est pas unmeilleur polyvalent ; selon le contexte, d'autres constructions sont plus significatives et plus utiles.
Où en savoir plus?
Les articles référencés sont une bonne source, tout comme le code source de MATLAB wsstet cwtdocs et ssqueezepy. Je peux également écrire d'autres questions et réponses, dont vous pouvez être informé en sous-traitant ce fil .
Références :
- Une compression non linéaire de la CWT basée sur des modèles de nerf auditif - I. Daubechies, S. Maes. Excellent papier d'origine avec des intuitions succinctes.
- Transformations en ondelettes synchronisées: un outil pour la décomposition en mode empirique - I. Daubechies, J. Lu, HT Wu. Bon document de suivi avec des exemples.
- L'algorithme Synchrosqueezing pour l'analyse spectrale variant dans le temps: propriétés de robustesse et nouvelles applications paléoclimatiques - G. Thakur, E. Brevdo, et al. Poursuite de l'exploration des propriétés de robustesse et des détails de mise en œuvre (y compris l'établissement de seuils).