Lecture du tracé de la transformation en ondelettes

15

J'ai du mal à comprendre comment lire l'intrigue tracée par une transformée en ondelettes,

voici mon simple code Matlab,

load noissin;
% c is a 48-by-1000 matrix, each row 
% of which corresponds to a single scale.
c = cwt(noissin,1:48,'db4','plot');

entrez la description de l'image ici

Donc, la partie la plus brillante signifie que la taille du café à l'échelle est plus grande, mais comment exactement je peux comprendre ce tracé ce qui se passe là-bas? Veuillez m'aider.

Soufiyan Ghori
la source
j'ai tenté de suivre le code dans matlab t = 0: 0,001: 2; y = sin (2 * pi * 20 * t) wname = 'cmor0.5-1' échelle = 1: 0,1: 80; cwt (y, échelle, wname, 'plot'); j'ai suivi l'intrigue! entrez la description de l'image ici des parties réelles et imaginaires montrant des lacunes qui sont observées dans CWT avec des ondelettes morl. Donc, d'une manière CWT avec ondelette morlet complexe contient également des informations de phase. Comment expliquer ça ??

Réponses:

15

Imaginez une seconde que vous venez de tracer votre ondelette daubechies-4 , comme vous pouvez le voir ici en rouge.

entrez la description de l'image ici

Imaginez maintenant que vous prenez cette forme d'onde en rouge et que vous effectuez simplement une corrélation croisée avec votre signal. Vous tracez ce résultat. Ce sera la première ligne de votre intrigue. Il s'agit de l'échelle 1. Ensuite, vous dilatez votre ondelette Daubechies-4 (c'est-à-dire que vous la faites simplement «étirer» dans le temps, d'un certain facteur). Ensuite, vous effectuez à nouveau une corrélation croisée de cette nouvelle forme d'onde avec votre signal. Vous obtenez alors la deuxième ligne de votre intrigue. C'est l'échelle 2. Vous continuez à le faire pour toutes les échelles, ce qui signifie que vous continuez à prendre votre ondelette `` mère '' d'origine, et vous continuez à dilater, puis à corréler, à dilater et à corréler, etc., et vous tracez simplement les résultats un au-dessus du autres.

C'est ce que l'intrigue CWT vous montre. Les résultats de l'exécution d'une corrélation croisée de votre signal avec une ondelette à différentes échelles, c'est-à-dire à différents facteurs de dilatation (étirement).

Laissez-nous donc interpréter votre image. Dans la première ligne, vous pouvez voir que vous avez de faibles amplitudes dans votre corrélation croisée. Cela signifie qu'il vous dit que presque rien dans votre signal ne corrèle (ou ne correspond à) votre ondelette, lorsqu'elle est à l'échelle 1, (lorsqu'elle est à la plus petite échelle). Vous continuez à étirer votre ondelette et à la corréler, et cela ne correspond toujours à rien dans votre signal, jusqu'à ce que vous atteigniez par exemple l'échelle 31. Ainsi, lorsque vous étirez votre ondelette 31 fois et effectuez une corrélation croisée, vous commencez à voir des points lumineux, ce qui signifie que vous obtenez de bons scores de corrélation croisée entre votre ondelette étirée et votre signal.

Si vous regardez cependant tout en haut, nous avons les points les plus brillants. Donc, pour l'échelle-46, vous avez fait cette ligne en étirant votre ondelette d'origine 46 fois, puis en la corrélant avec votre signal, et c'est votre ligne-46. Vous voyez donc beaucoup de jolis points lumineux. Vous pouvez voir qu'aux positions (axe x) ~ 25, ~ 190 et ~ 610, j'ai des points lumineux. Donc, cela vous dit, vous avez une fonctionnalité dans votre signal, qui correspond très étroitement à votre ondelette qui est étirée 46 fois . Vous avez donc «quelque chose» à ces endroits qui correspondent étroitement à votre ondelette à cette échelle.

(Bien sûr, dans votre cas, vous avez utilisé du bruit, donc les positions dont j'ai parlé sont aléatoires - c'est-à-dire qu'il n'y a rien de vraiment «intéressant». Faites un CWT avec une impulsion sinusoïdale et ce que je dis peut être plus clair pour vous.)

En résumé, le CWT vous montre simplement tous les scores de corrélation possibles entre votre modèle / filtre adapté (dans ce cas, ondelette daub-4), à différentes positions, (axe x), également à différents facteurs étirés, (axe y) .

J'espère que cela vous a aidé.

Spacey
la source
Merci beaucoup, cela a vraiment aidé, mais comment pouvez-vous dire que j'ai découvert la fréquence et l'heure de mon signal par ce processus?
Soufiyan Ghori
1
@Effected Vous avez trouvé le «temps» d'occurrence d'une fonction dans votre signal, par lequel vous obtenez des scores de corrélation maximum. (Exemple, ~ 25, ~ 190, ~ 610) dans votre exemple. Pour obtenir le contenu en fréquence de votre signal à ce point, vous pouvez simplement regarder la FFT de cette partie de votre signal, OU, vous pouvez regarder la FFT de votre ondelette à cette échelle et regarder sa réponse en fréquence.
Spacey
Donc, supposons-nous de prendre DCT après ondelette afin d'avoir à la fois des composantes de temps et de fréquence? Si j'ai une onde sinusoïdale (axe x = temps, axe y = amplitude) et si je prends sa FFT, alors j'ai des composantes de fréquence du fft et des composantes de temps du signal d'origine, alors pourquoi supposons-nous utiliser des ondelettes?
Soufiyan Ghori
1
@Effected La raison pour laquelle vous utilisez DFT / DCT est d'obtenir un contenu de fréquence global . DFT / DCT indique votre contenu de fréquence pour l'ensemble du signal. Où est une fréquence spécifique dans le temps? Tu ne sais pas. Cependant, si vous utilisez des ondelettes, vous pouvez découvrir non seulement quelle est votre fréquence (similaire à DFT / DCT), mais aussi vous avez cette fréquence. (Emplacement dans le temps).
Spacey
Pour mémoire, la fréquence n'existe qu'en tant que concept global. Dès que vous commencez à essayer d'épingler la fréquence à une période de temps, vous parlez vraiment d'une distribution de fréquence. La distribution se rétrécit à mesure que la durée ou l'échelle augmente. Le calcul de la DFT d'ondelettes d'échelles différentes vous donnera une idée de la façon d'interpréter les résultats de transformation associés dans le domaine fréquentiel; pensez filtre passe-bande. L'ondelette de Morlet a une distribution de fréquence bien gaussienne qui est bien adaptée pour se rapporter aux concepts de Fourier. @endolith a abordé ce sujet dans sa réponse.
user2718
11

Ces tracés m'ont aidé à comprendre, provenant d'un arrière-plan STFT :

L' ondelette Morlet (sinusoïdale) complexe ressemble et se comporte comme le noyau complexe d'une STFT (car elle est dérivée de la transformée de Gabor , un type de STFT). Lorsque vous le "faites glisser" devant un signal de la même fréquence, il correspond, quelle que soit la phase du signal que vous mesurez, produisant une amplitude et une mesure de phase à chaque point (et ceci est un graphique de l'amplitude seul):

Amplitude de la transformée en ondelettes de Morlet complexe

Diagramme de magnitude d'une transformée en ondelettes de Morlet complexe

L' ondelette de Morlet à valeur réelle ne correspond que lorsque les phases de l'ondelette et du signal s'alignent. Ainsi, lorsque vous le faites glisser devant le signal que vous mesurez, il passe en phase et en phase, produisant des maxima et des minima lorsqu'ils annulent ou renforcent:

Amplitude de la transformée en ondelettes Morlet réelle continue

Amplitude de la transformée en ondelettes Morlet réelle continue

(En fait, dans ce cas, nous traçons la magnitude, de sorte que les correspondances positives et négatives produisent des points orange. Il est préférable de passer à une palette de couleurs bipolaire à la place, pour montrer que certains pics sont en phase et d'autres sont déphasés) :

Transformation continue en ondelettes de Morlet en utilisant une palette de couleurs bipolaire

Transformation continue en ondelettes de Morlet en utilisant une palette de couleurs bipolaire

Avec le Morlet à valeur réelle, les informations d'amplitude et de phase sont combinées en une seule valeur de sortie.

Les ondelettes les plus couramment utilisées ont une valeur réelle, elles ne correspondent donc que lorsque l'onde que vous mesurez et l'onde que vous testez avec alignement, conduisant à ces oscillations ou ondulations dans le scalogramme lorsque vous glissez l'une sur l'autre.

endolith
la source
D'où avez-vous obtenu ces parcelles, au fait?
Spacey
@Mohammad: Oh, si vous suivez les liens, j'ai plus d'informations à leur sujet, mais en bref, je les ai créés avec ce code: phy.uct.ac.za/courses/python/examples/…
endolith le
Le lien est mort, maintenant ils sont sur github.com/emanuele/cwt ou gist.github.com/endolith/2783866
endolith
1
Très agréable! J'ai décidé de me renseigner sur les ondelettes, googlé, et en cinq minutes, je suis renvoyé dans l'écosystème de stackexchange vers une réponse de classe "aha!" Bien écrite. Il s'agit d'un ensemble d'images bien choisi et minimal. Je vous remercie!
uhoh
4

C'est l'exemple que je pense être le meilleur pour comprendre le tracé des ondelettes.

Jetez un œil à l'image ci-dessous, la forme d'onde (A) est notre signal d'origine, la forme d'onde (B) montre une ondelette Daubechies 20 (Db20) d'environ 1/8 de seconde qui commence au début (t = 0) et se termine bien avant 1/4 seconde. Les valeurs nulles sont étendues à la seconde complète. La comparaison point par point * avec notre signal d'impulsion (A) sera très mauvaise et nous obtiendrons une très petite valeur de corrélation.

nous déplaçons d'abord légèrement l'ondelette de base ou mère non étirée vers la droite et effectuons une autre comparaison du signal avec cette nouvelle forme d'onde pour obtenir une autre valeur de corrélation. Nous continuons à décaler et lorsque l'ondelette Db20 est dans la position indiquée en (C), nous obtenons une comparaison un peu meilleure qu'avec (B), mais toujours très médiocre car (C) et (A) sont des fréquences différentes.

Après avoir continué de déplacer l'ondelette jusqu'à la fin de l'intervalle de temps de 1 seconde, nous recommençons avec une ondelette légèrement étirée au début et nous déplaçons à plusieurs reprises vers la droite pour obtenir un autre ensemble complet de ces valeurs de corrélation. La forme d'onde (D) montre l'ondelette Db20 étirée à l'endroit où la fréquence est à peu près la même que l'impulsion (A) et décalée vers la droite jusqu'à ce que les pics et les vallées s'alignent assez bien. À ces quantités particulières de décalage et d'étirement, nous devrions obtenir une très bonne comparaison et une grande valeur de corrélation. Un déplacement supplémentaire vers la droite, cependant, même à ce même étirement, donnera des corrélations de plus en plus faibles. Un étirement supplémentaire n'aide pas du tout, car même aligné, le pouls et l'ondelette sur-étiré ne seront pas de la même fréquence.

entrez la description de l'image ici

Dans le CWT, nous avons une valeur de corrélation pour chaque décalage de chaque ondelette étirée. † Pour afficher les valeurs de corrélation (qualité de la «correspondance») pour tous ces étirements et décalages, nous utilisons un affichage 3D.

Ça y est,

entrez la description de l'image ici

Les points lumineux indiquent où les pics et les vallées des ondelettes étirées et décalées s'alignent le mieux avec les pics et les vallées de l'impulsion intégrée (sombre lorsqu'ils ne sont pas alignés, gradateur où seuls certains pics et vallées s'alignent, mais plus lumineux où tous les pics et les vallées aligner). Dans cet exemple simple, étirer l'ondelette d'un facteur 2 de 40 à 20 Hz (étirer le filtre des 20 points d'origine à 40 points) et le déplacer de 3/8 seconde dans le temps a donné la meilleure corrélation et est d'accord avec ce que nous savions a priori ou «en amont» autour de l'impulsion (impulsion centrée à 3/8 seconde, fréquence d'impulsion 20 Hz).

Nous avons choisi l'ondelette Db20 car elle ressemble un peu au signal d'impulsion. Si nous ne savions pas a priori à quoi ressemblait l'événement, nous pourrions essayer plusieurs ondelettes (facilement commutables dans le logiciel) pour voir laquelle produisait un affichage CWT avec les points les plus brillants (indiquant la meilleure corrélation). Cela nous dirait quelque chose sur la forme de l'événement.

Pour l'exemple de didacticiel simple ci-dessus, nous aurions pu discerner visuellement l'emplacement et la fréquence de l'impulsion (A). L'exemple suivant est un peu plus représentatif des ondelettes dans le monde réel où l'emplacement et la fréquence ne sont pas visibles à l'œil nu.

Voir l'exemple ci-dessous,

entrez la description de l'image ici

Les ondelettes peuvent être utilisées pour analyser les événements locaux. Nous construisons un signal d'onde sinusoïdale variant lentement de 300 points et ajoutons un minuscule «pépin» ou discontinuité (en pente) au temps = 180. Nous ne remarquerions pas le pépin à moins de regarder le gros plan (b).

Voyons maintenant comment FFT affichera ce Glitch, jetez un œil, entrez la description de l'image ici

La faible fréquence de l'onde sinusoïdale est facile à remarquer, mais le petit problème n'est pas visible.

Mais si nous utilisons CWT au lieu de FFT, il affichera clairement ce problème, entrez la description de l'image ici

Comme vous pouvez le voir, l'affichage des ondelettes CWT montre clairement une ligne verticale au temps = 180 et à des échelles basses. (L'ondelette a très peu d'étirement à de faibles échelles, ce qui indique que le pépin était très court.) Le CWT se compare également bien à la grande onde sinusoïdale oscillante qui cache le pépin. À ces échelles supérieures, l'ondelette a été étirée (à une fréquence plus basse) et "trouve" ainsi le pic et la vallée de l'onde sinusoïdale à un temps = 75 et 225, Pour cette courte discontinuité, nous avons utilisé un Db4 court à 4 points ondelette (comme indiqué) pour une meilleure comparaison.

Soufiyan Ghori
la source