Quelle mère ondelette pour un scalogramme?

8

J'essaie de créer un scalogramme en temps réel (à partir d'un signal à 1 dimension) dans le style d'un spectrogramme;

Regardant à travers divers papiers + livres; l'ondelette de Gabor, ou Morlet complexe semble être privilégiée pour garder une relation étroite avec la fréquence.

Bien que j'espérais utiliser une ondelette de valeur réelle, en raison de problèmes de complexité de calcul ... Quelle ondelette serait recommandée?

daurnimator
la source
Je ne comprends pas nécessairement cela, mais vous pouvez peut-être obtenir votre réponse à partir du code source pour cela, qui produit la sortie que vous souhaitez, mais pas en temps réel: phy.uct.ac.za/courses/python/examples/ Wavelets.py flic.kr/p/7oXfbT
endolith

Réponses:

3

L'ondelette mère de votre scalogramme devrait avoir une forme similaire aux formes de pic habituelles que vous souhaitez détecter (je suppose que vous l'utilisez pour détecter les pics de votre signal). Cependant, je voudrais vous demander à quoi aimeriez-vous utiliser des ondelettes? Je pourrais vous donner une réponse plus précise à votre question.

Luis Andrés García
la source
1
Je veux essentiellement créer un spectrogramme en utilisant des ondelettes au lieu du STFT. Donc, les «formes» que je veux détecter ne seraient que des sinusoïdes, je suppose ...
daurnimator
J'utiliserais la même fonction de forme g (t) en ondelette qu'en STFT. Vous pouvez trouver des différences entre ces deux transformations dans le Doc .
Luis Andrés García
Voulez-vous dire que (par exemple) si je veux quelque chose comme un STFT utilisant une fenêtre de Hamming; mon ondelette devrait être une fenêtre de Hamming modulée?
daurnimator
1
c'est ça. L'ondelette mère (fonction de forme) doit être similaire dans les deux cas.
Luis Andrés García
Cela nécessite-t-il alors une fenêtre complexe? (où sa valeur absolue est = dans la fenêtre de hamming) Ou puis-je simplement supprimer le composant imaginaire?
daurnimator
2

Malheureusement, c'est pour les signaux 2D (analyse d'image), mais je pense que sa conclusion s'appliquerait également au signal 1D. JF Kirby, "Quelle ondelette reproduit le mieux le spectre de puissance de Fourier?", Computers & Geosciences 31 (2005) 846–864

Fondamentalement, sa conclusion est d'aller avec l'ondelette Fan, qui est une version pivotée 2D de l'ondelette Morlet. En 1D, je suggère le complexe Morlet. C'est le mélange de parties réelles et complexes qui permet une bonne similitude avec un spectre de puissance de Fourier.

Plus précisément, voici à quoi cela devrait ressembler, converti en 1D de Kirby (2005):

Ψ=exp(ik0xλx22λ2),
λ est l'échelle que vous regardez, et k0=5.336est une constante sélectionnée pour donner le meilleur "échantillonnage à l'échelle" vs "échantillonnage de fréquence". Je n'ai pas inclus la constante de normalisation car dans chaque situation de calcul, il est préférable de simplement diviser l'ondelette finale par sa valeur maximale et de soustraire sa moyenne. Cela donne à peu près le même résultat avec moins de maux de tête.

Fondamentalement, l'ondelette de Morlet complexe est une "onde" de transformée de Fourier (exp(ik0x/λ)) délimité par un noyau gaussien (exp(x2/2)). Je suppose que vous pourriez obtenir un bon spectre de puissance en utilisant uniquement la partie réelle (en utilisantcos(x)exp(x2/2)), mais vous perdriez des informations de phase.

Essayez de comparer le spectre obtenu à partir d'une transformée de Fourier, d'un Morlet complexe et d'un Morlet réel. Méfiez-vous des normalisations incorrectes / non standard trouvées dans de nombreux algorithmes FFT.

PhilMacKay
la source
Comme indiqué en question; J'ai besoin d'une ondelette de valeurs réelles. J'ai fini par aller avec le discret meyer FWIW.
daurnimator
Bien sûr, si vous ne pouvez pas utiliser des valeurs complexes dans vos calculs, l'ondelette de Morlet perd un peu de son charme ... Pourtant, les mathématiques ne sont pas beaucoup plus complexes, donc lorsque la mémoire et la puissance de calcul ne sont pas le facteur limitant, je recommande de allez avec le Morlet. Un de mes amis / collègues s'est fait un programme pour comparer, et si vous prenez la valeur moyenne de la transformée en ondelettes à chaque échelle, vous vous retrouvez avec une copie exacte d'un spectre de puissance de Fourier. Malheureusement, il n'a pas encore publié ses résultats, je n'ai donc pas de source à citer (à part Kirby (2005)).
PhilMacKay
0

Le discret Meyer était mon choix final; il fournit une séparation de sous-bandes relativement propre.

daurnimator
la source