Quels coefficients temps-fréquence la transformée en ondelettes calcule-t-elle?


26

La transformation de Fourier rapide prend les opérations , tandis que la transformation rapide en ondelettes prend . Mais que calcule précisément le FWT?O(NbûcheN)O(N)

Bien qu'ils soient souvent comparés, il semble que les FFT et FWT soient des pommes et des oranges. Si je comprends bien, il serait plus approprié de comparer les STFT (FFT de petits morceaux dans le temps) avec le Morlet WT complexe , car ce sont deux représentations temps-fréquence basées sur des sinusoïdes complexes (veuillez me corriger si je me trompe ). Ceci est souvent montré avec un diagramme comme celui-ci:

Grilles montrant comment les coefficients de la FFT et du WT correspondent au plan temps-fréquence

( Un autre exemple )

La gauche montre comment le STFT est un tas de FFT empilés les uns sur les autres au fil du temps (cette représentation est à l'origine du spectrogramme ), tandis que la droite montre le WT dyadique, qui a une meilleure résolution temporelle à hautes fréquences et une meilleure fréquence résolution aux basses fréquences (cette représentation est appelée un scalogramme ). Dans cet exemple, pour le STFT est le nombre de colonnes verticales (6), et une seule opération FFT calcule une seule ligne de coefficients à partir de échantillons. Le total est de 8 FFT de 6 points chacune, soit 48 échantillons dans le domaine temporel.O ( N log N ) N NNO(NbûcheN)NN

Ce que je ne comprends pas:

  • Combien de coefficients une seule opération FWT calcule-t-elle et où sont-ils situés sur le graphique temps-fréquence ci-dessus? O(N)

  • Quels rectangles sont remplis par un seul calcul?

  • Si nous calculons un bloc de surface égale de coefficients temps-fréquence en utilisant les deux, obtenons-nous la même quantité de données?

  • Le FWT est-il toujours plus efficace que le FFT?

Exemple concret utilisant PyWavelets :

In [2]: dwt([1, 0, 0, 0, 0, 0, 0, 0], 'haar')
Out[2]:
(array([ 0.70710678,  0.        ,  0.        ,  0.        ]),
 array([ 0.70710678,  0.        ,  0.        ,  0.        ]))

Il crée deux ensembles de 4 coefficients, c'est donc le même que le nombre d'échantillons dans le signal d'origine. Mais quelle est la relation entre ces 8 coefficients et les tuiles du diagramme?

Mise à jour:

En fait, je faisais probablement mal, et je devrais utiliser wavedec(), qui fait une décomposition DWT à plusieurs niveaux:

In [4]: wavedec([1, 0, 0, 0, 0, 0, 0, 0], 'haar')
Out[4]: 
[array([ 0.35355339]),
 array([ 0.35355339]),
 array([ 0.5,  0. ]),
 array([ 0.70710678,  0.        ,  0.        ,  0.        ])]

2
Afin de mieux comprendre le fonctionnement de la décomposition de ces ondelettes, un outil utile serait de pouvoir le faire sur des signaux réels: le signal audio par exemple (j'ai une question dans ce sens ici dsp.stackexchange.com/ questions / 12694 / ondelettes stft et dwt )
Basj

@endolith Votre question est-elle toujours posée? Si oui, je peux ajouter d'autres indices
Laurent Duval

@LaurentDuval Oui, il est toujours ouvert et je ne comprends toujours pas. Je peux être confus parce que CWT utilise des choses comme Morlet et DWT n'utilise que des choses comme Haar ou Daubechies. Je ne sais pas si le FWT rapide n'est que Haar ou peut également utiliser d'autres types d'ondelettes.
endolith

2
@ndolith Juste un commentaire pour celui-ci: le CWT continu admet une quantité incroyable de formes d'ondelettes potentielles. Ils ne peuvent être discrétisés exactement qu'avec des modèles d'échantillonnage (en temps ou en échelle) qui respectent une certaine inégalité de "Heisenberg". Ces motifs dépendent de l'ondelette. Dans la majorité des cas, les schémas rendent un CWT discrétisé qui est redondant. Certains le veulent non redondant, avec une échelle dyadique. Seules quelques ondelettes le permettent. Si vous imposez ensuite que le support d'ondelettes soit fini, alors Haar est un, presque impossible à obtenir avec des "ondelettes naturelles", c'est pourquoi celles de Daubechies ont été construites
Laurent Duval

Réponses:


13

Vous avez raison de dire que le FWT est mieux considéré comme un "cousin" du STFT plutôt que du FT. En fait, le FWT n'est qu'un échantillonnage discret de la CWT (transformée en ondelettes continue), car le FFT / DFT est un échantillonnage discret de la transformée de Fourier. Cela peut sembler être un point subtil, mais il est pertinent lorsque vous choisissez comment discrétiser la transformation.

Le CWT et le STFT sont tous deux des analyses redondantes d'un signal. En d'autres termes, vous avez plus de "coefficients" (dans le cas discret) que vous n'en avez besoin pour représenter pleinement un signal. Cependant, une transformée de Fourier (ou disons une transformée en ondelettes utilisant une seule échelle) intègre un signal de -infini à + infini. Ce n'est pas très utile sur les signaux du monde réel, donc nous tronquons (c'est-à-dire la fenêtre) les transformations à des longueurs plus courtes. Le fenêtrage d'un signal modifie la transformation - vous multipliez par la fenêtre dans le temps / espace, donc dans l'espace de transformation vous avez la convolution de la transformation de la fenêtre avec la transformation du signal.

Dans le cas de la STFT, les fenêtres ont (généralement) la même longueur (étendue non nulle) à tout moment et sont indépendantes de la fréquence (vous affichez un signal à 10 Hz de la même largeur qu'un signal à 10 kHz). Vous obtenez donc le spectrogramme à grille rectangulaire comme vous l'avez dessiné.

Le CWT a ce fenêtrage intégré par le fait que les ondelettes raccourcissent (dans le temps ou l'espace) à mesure que l'échelle diminue (comme une fréquence plus élevée). Ainsi, pour des fréquences plus élevées, la fenêtre effective est plus courte et vous vous retrouvez avec un scalogramme qui ressemble à ce que vous avez dessiné pour le FWT.

La façon dont vous discrétisez le CWT dépend quelque peu de vous, bien que je pense qu'il y ait un minimum d'échantillonnages à la fois en décalage et en échelle pour représenter pleinement un signal. Typiquement (au moins comment je les ai utilisés), pour l'échelle la plus basse (fréquence la plus élevée), vous échantillonnerez à tous les emplacements de décalage (temps / espace). Au fur et à mesure que vous augmentez l'échelle (plus basse en fréquence), vous pouvez échantillonner moins souvent. La raison en est que les basses fréquences ne changent pas aussi rapidement (pensez à un crash de cymbale par rapport à une guitare basse - le crash de cymbale a des transitoires très courts, alors que la guitare basse prendrait plus de temps à changer). En fait, à l'échelle la plus courte (en supposant que vous échantillonnez à tous les emplacements de décalage), vous avez la représentation complète d'un signal (vous pouvez le reconstruire en utilisant uniquement les coefficients à cette échelle). Je ne suis pas sûr de la justification de l'échantillonnage de l'échelle. JE' Nous avons vu cela comme étant logarithmique, avec (je pense) un espacement plus étroit entre des échelles plus courtes. Je pense que c'est parce que les ondelettes à des échelles plus longues ont une transformée de Fourier plus large (donc elles "captent" plus de fréquences).

J'avoue que je ne comprends pas bien le FWT. Mon intuition est qu'il s'agit en fait de l'échantillonnage minimum en décalage / échelle, et n'est pas une représentation redondante. Mais je pense que vous perdez la capacité d'analyser (et de jouer avec) un signal en peu de temps sans introduire d'artefacts indésirables. J'en lirai plus à ce sujet et, si j'apprends quelque chose d'utile, j'en rendrai compte. J'espère que d'autres aimeront commenter.


1
"il s'agit en fait de l'échantillonnage minimum en décalage / échelle, et ce n'est pas une représentation redondante." Ah! Je pense que vous avez raison, et cela expliquerait pourquoi il est toujours comparé à la FFT, qui est également une représentation minimale.
endolith

3
Le FWT est un échantillonnage critique du CWT. J'essaie toujours de mieux le comprendre, mais j'ai appris que le STFT et le CWT sont tous les deux des cadres. La théorie des trames me dépasse, mais une notion intéressante est la formule d'incertitude, que pour le STFT, dw * dt> C (dw est la résolution en fréquence et dt est la résolution en temps). En d'autres termes, lorsque vous essayez de mieux résoudre la fréquence, vous perdez la résolution du temps. Le CWT n'a pas cette limitation. Je vais continuer à lire et essayer de clarifier ma réponse ci-dessus une fois que je la clarifierai dans ma tête.

1
D'après ce que je comprends, CWT a la même limitation, mais utilise un meilleur compromis.
endolith

1
"STFT sont deux analyses redondantes d'un signal". Je ne pense pas que ce soit vrai. Si vous avez un signal à 100 points, divisez-le en morceaux de 10 points, puis effectuez une FFT à 10 points sur chacun, vous avez toujours les mêmes informations stockées dans la même quantité d'échantillons.
endolith

11

Prenons le cas des ondelettes Haar. La transformation rapide en ondelettes subdivise récursivement votre signal et calcule la somme et la différence des deux moitiés à chaque fois. La différence est la magnitude de la transformation pour l'ondelette actuelle et la somme est renvoyée à l'appelant pour calculer la magnitude de la transformation pour une ondelette dilatée avec la moitié de la fréquence. Ainsi, le FWT couvre le plan temps-fréquence en utilisant le modèle décrit dans le diagramme que vous avez donné.

Notez que le diagramme que vous avez donné est un peu trompeur. Ce qu'ils essaient vraiment de vous dire, c'est que vous obtenez un échantillon à la fréquence la plus basse, deux échantillons au double de cette fréquence, quatre échantillons au quadruple de cette fréquence et ainsi de suite. Les propriétés temps-fréquence de chaque ondelette ne sont pas telles qu'elles recouvrent leur tuile. En pratique, chaque ondelette couvrira une zone infinie car elles ont un support compact et doivent donc être complètement délocalisées en termes de fréquence. Donc, vous devriez juste penser au centre de ces tuiles.

En outre, le FWT nécessite une ondelette discrète qui doit respecter un critère d'admissibilité beaucoup plus restrictif que les ondelettes continues pour le CWT. Par conséquent, les propriétés temps-fréquence des ondelettes discrètes sont généralement affreuses (par exemple, les ondelettes Daubechies sont pleines de caractéristiques nettes ou ont une fréquence changeante) et l'utilité du plan temps-fréquence est considérablement diminuée dans le contexte du FWT. Cependant, des ondelettes continues sont utilisées pour calculer les représentations temps-fréquence des signaux.


Oui, je comprends la localisation des coefficients. C'est la même chose que la FFT. Quand vous dites "doit adhérer", que voulez-vous dire? Est-ce seulement une exigence si vous essayez d'obtenir une représentation minimale / non redondante du signal? Et si vous essayez simplement de l'analyser / le visualiser? J'ajouterai un exemple plus concret à la question.
endolith

1
Le respect du critère d'admissibilité garantit l'existence d'une résolution de l'identité, c'est-à-dire que tous les signaux peuvent être récupérés à partir de leurs transformées en ondelettes. Si vous n'y adhérez pas, vous ne pouvez pas récupérer un signal de sa transformation, à quel point vous devez vous demander ce que vous analysez exactement (cela reflète-t-il même les informations qui étaient dans le signal?!). Si vous n'avez pas besoin d'une représentation minimale / non redondante, vous pouvez utiliser le critère d'admissibilité plus laxiste du CWT (qui vous permet de définir des ondelettes plus «idéales»).

1
Je pense que vous trouveriez ma thèse de doctorat vraiment utile. Je vais le mettre en ligne pour vous ...

L'avez-vous mis en ligne? :)
endolith


3

Votre référence l'a:

Une séquence de coefficients basée sur une base orthogonale de petites ondes finies, ou ondelettes.

Pour plus, vous aimerez peut-être la page DWT . Il y présente les ondelettes Haar, les ondelettes Daubechies et autres. Il montre comment

  • Les ondelettes ont un emplacement - l'ondelette (1,1, –1, -1) correspond au "côté gauche" par rapport au "côté droit", tandis que les deux dernières ondelettes ont un support du côté gauche ou du côté droit, et l'une est une traduction de l'autre.
  • Les ondes sinusoïdales n'ont pas d'emplacement - elles se propagent dans tout l'espace - mais ont une phase - les deuxième et troisième ondes sont des traductions l'une de l'autre, correspondant à un déphasage de 90 °, comme le cosinus et le sinus, dont ce sont des versions discrètes .

Si, au lieu d'ondelettes discrètes, vous voulez maintenant parler des ondelettes continues ou des ondelettes complexes, vous pouvez commencer par des séries d'ondelettes .

Au-delà de wikipedia, un manuel et un cours pourraient vous faire du bien.


Je ne comprends pas cette réponse. Répond-il à mes questions? Côté gauche et côté droit de quoi? Qu'est-ce que cela a à voir avec la représentation temps-fréquence?
endolithe

La description "côté gauche contre côté droit" est un aperçu extrait de la page DWT, montrant que cette page comprend un exemple simple pour expliquer les mérites relatifs de la base sinusoïdale et de la base des ondelettes Haar. Vous posiez des questions sur la nature des coefficients dans une transformée en ondelettes. On aurait dit que vous recherchiez l'intuition. J'ai pensé que vous pourriez trouver cet exemple (dans son contexte d'origine) utile.

Oui, j'ai lu les articles Wikipedia plusieurs fois avant de poster cette question. Je ne sais pas si / ce que votre réponse a à voir avec ma question sur la représentation temps-fréquence. Si c'est le cas, pourriez-vous relier les points? Une FFT de n échantillons produira n coefficients, qui constituent une seule colonne du spectrogramme STFT. Existe-t-il une relation correspondante entre les coefficients produits par le WT et le scalogramme? Si oui, c'est quoi? Lesquelles des cases du tableau en bas à droite sont remplies par un seul passage dans le FWT?
endolith

1
Presque tout sur les pages Wikipédia concernant les ondelettes est actuellement incorrect.

3

O(N2)

O(N)O(Nbûche(N))O()

Commencez par le STFT fenêtré générique (forme continue). Si vous branchez une fenêtre infinie de hauteur unitaire, vous récupérez la transformée de Fourier comme un cas spécial. Que vous pouvez discrétiser (et obtenir la DFT) et la rendre rapide (et obtenir la FFT).

Commencez à partir d'un CWT (formulaire continu). Le CWT continu admet une quantité incroyable de formes d'ondelettes potentielles. Ils ne peuvent être discrétisés exactement qu'avec des modèles d'échantillonnage (en temps ou en échelle) qui respectent une certaine inégalité de "Heisenberg": un échantillon par unité de surface. Ces motifs dépendent de l'ondelette. Dans la majorité des cas, les motifs font une CWT discrétisée qui est redondante et produisent une trame d'ondelettes.

Certains l'ont voulu non redondant, avec une échelle dyadique (DWT). Seules très peu d'ondelettes (toujours un nombre infini, mais vous ne pouvez pas les trouver par hasard) le permettent. Parmi les premières figuraient les ondelettes Haar, Franklin et Meyer. Si vous imposez ensuite que le support d'ondelettes est fini, alors Haar était tout à fait le seul pendant longtemps. Il est presque impossible d'obtenir une ondelette orthogonale à partir "d'ondelettes continues naturelles", c'est pourquoi celles de Daubechies ont été construites, et plus tard Symmlets et Coiflets . Ces ondelettes de forme bizarre n'ont pas de formules agréables et simples comme l'ondelette de Morlet.

O(N)

En fait, le FWT est juste un échantillonnage discret du CWT

DWT (ou FWT) est exact, comme le DFT / FFT. La plupart des autres CWT discrétisés (avec n'importe quelle ondelette) le sont à peu près (sans trop de mal si vous avez une redondance suffisante).

Alors:

  • kkk804T2×424[ω/2,ω]42×22[ω/8,ω/4][1,1,2,4]
  • k
  • +×O(N)

Les images suivantes révèlent comment une version continue de l'ondelette Haar ondelette Haar continue

peut être échantillonné en une ondelette orthogonale discrète: Ondelette Haar critique discrète

Notez que certaines ondelettes discrètes, en particulier les longues (comme les splines), sont parfois calculées à l'aide d'une FFT :)

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.