Utilisation de versets continus transformée en ondelettes discrètes dans des applications numériques

14

Je connais une grande partie du contexte mathématique derrière les ondelettes. Cependant, lors de la mise en œuvre d'algorithmes sur un ordinateur avec des ondelettes, je ne suis pas sûr de savoir si je dois utiliser des ondelettes continues ou discrètes. Dans toute réalité, tout sur un ordinateur est bien sûr discret, il semble donc évident que les ondelettes discrètes sont le bon choix pour le traitement numérique du signal. Cependant, selon wikipedia, c'est la transformation en ondelettes continue qui est principalement utilisée dans la compression d'image (numérique) ainsi que dans un grand nombre d'autres activités de traitement de données numériques. Quels sont les avantages et les inconvénients à considérer pour décider d'utiliser une transformée en ondelettes continue (approximative) au lieu d'une transformée en ondelettes discrète (exacte) pour le traitement d'image ou de signal numérique?

PS (Vérification d'une hypothèse ici) Je suppose que les transformées en ondelettes continues sont utilisées dans le traitement numérique en prenant simplement la valeur de l'ondelette continue à des points régulièrement espacés et en utilisant la séquence résultante pour les calculs d'ondelettes. Est-ce correct?

PPS Habituellement, wikipedia est assez précis sur les mathématiques, donc je suppose que les applications de l'article sur les transformées en ondelettes continues sont en fait des applications de la transformation en ondelettes continue. Certes, il en mentionne certains qui sont spécifiquement CWT, il y a donc clairement une certaine utilisation de CWT dans les applications numériques.

John Robertson
la source

Réponses:

9

Comme Mohammad l'a déjà dit, les termes Transformées en ondelettes continues (CWT) et Transformations en ondelettes discrètes (DWT) sont un peu trompeurs. Ils se rapportent approximativement à la transformée de Fourier (continue) (la transformation intégrale mathématique) à la DFT (transformée de Fourier discrète).

Afin de comprendre les détails, il est bon de voir le contexte historique. La transformée en ondelettes a été introduite à l'origine en géophysique par Morlet, et était essentiellement une transformée de Gabor avec une fenêtre qui grandit et se rétrécit avec l'échelle / fréquence sélectionnée. Plus tard, Daubchies (un physicien de Belgique) a réalisé qu'en choisissant des bases d'ondelettes orthogonales spéciales, le CWT infiniment redondant pouvait être échantillonné de manière critique sur une grille dyadique. A partir du DWT résultant, le CWT complet correspondant peut être obtenu en convoluant le DWT avec le noyau de reproduction de l'ondelette respective. Le noyau reproducteur est le CWT de l'ondelette elle-même.

Les découvertes de Daubchies ont donné un coup de fouet à la théorie des ondelettes au début des années 80. Le prochain grand résultat a été que le DWT peut être calculé très efficacement (on l'appelle parfois aussi FWT [fast WT]) en utilisant des techniques de la théorie des bancs de filtres, à savoir des filtres miroir en quadrature (QMF) avec des bancs de filtres à sous-échantillonnage. En construisant des QMF spéciaux, le DWT correspondant peut être calculé via le filtrage et le sous-échantillonnage, qui est l'algorithme de pointe pour calculer les DWT aujourd'hui. Vous n'avez pas besoin de la fonction de mise à l'échelle pour calculer le DWT, c'est juste un détail d'implémentation que le processus FWT.

En ce qui concerne le côté application, le CWT est le candidat le plus idéal pour l'analyse de signaux ou de séries chronologiques en raison de sa résolution plus fine et est généralement choisi dans la plupart des tâches (par exemple, détection de singularité). Le DWT est plus intéressant dans le contexte des transformations rapides non redondantes. Le DWT a une très bonne compactification d'énergie et est donc un bon candidat pour les compressions avec perte et les transmissions de signaux.


J'espère que cela a clarifié les choses.

André Bergner
la source
Merci André pour la perspective historique et la clarification de la dénomination. J'ai lutté exactement à cause des confusions causées par ces noms!
Yanshuai Cao
6

Une erreur de conception très courante mais malheureuse dans le domaine des ondelettes a à voir avec la terminologie mal inventée des "Transformées en ondelettes continues".

Première chose: la transformation en ondelettes continue (CWT) et la transformation en ondelettes discrète (DWT) sont toutes deux des transformations numériques, point par point, qui sont facilement mises en œuvre sur un ordinateur.

La différence entre une transformation "continue" et une transformation "discrète" dans le contexte en ondelettes vient de:

1) Le nombre d'échantillons sauté lorsque vous corrélez un signal avec votre ondelette.

2) Le nombre d'échantillons sauté lorsque vous dilatez votre ondelette.

3) Le CWT utilise uniquement une ondelette, tandis que le DWT utilise à la fois une ondelette et un scale-let. (Pas important pour cette discussion, mais ici pour être complet).

Mais ne vous y trompez pas - un CWT, tout comme un DWT, est à tout moment une opération discrète et numérique.

Laissez cet exemple illustrer ceci: considérons l'ondelette de Haar, [1 -1]. Disons que nous voulions faire un DWT avec le Haar Wavelet. Donc, vous convoluez votre signal, avec l'ondelette mère Haar, [1 -1], mais uniquement à des retards dyadiques. Par exemple, disons que votre signal est le vecteur suivant:

x=[1 2 3 4 5 6 7 8]

Le premier résultat de la convolution DWT avec votre Haar Wavelet est:

1(1)+2(1)

Le résultat suivant est:

3(1)+4(1)

Le suivant est:

5(1)+6(1)

Et enfin le dernier est:

7(1)+8(1)

Quelque chose vous semble étrange? J'ai dit de prendre la convolution de votre signal avec l'ondelette - alors comment se fait-il que je ne me retrouve qu'avec quatre valeurs? C'est parce que je saute des échantillons lorsque je fais des convolutions dans le DWT. J'ai d'abord pris [1 2], fait un produit scalaire, puis pris [3 4]. Qu'est-il arrivé à [2 3]? Je l'ai sauté.

Quand ne le sautez-vous pas? Lorsque vous effectuez un CWT. Si vous faisiez un CWT, ce serait une convolution numérique «normale» de votre signal, avec l'ondelette de Haar.


La deuxième chose, c'est la façon dont vous dilatez vos ondelettes. Dans l'exemple du haut, l'ondelette de Haar est [1 -1] pour la décomposition de premier niveau. Au deuxième niveau, l'ondelette Haar DWT devient [1 1 -1 -1]. Cependant, dans le CWT, l'ondelette Haar de deuxième niveau est [1 0 -1]. Encore une fois, dans le DWT, je ne développe pas point par point - je n'ai jamais d'ondelette à trois longueurs. Cependant, dans le CWT, je passe de la longueur 2 à la longueur 3. Dans le DWT, je suis allé directement de la longueur 2 à la longueur 4.

C'est le long et le court, j'espère que cela a aidé.

Spacey
la source
1
S'il est vrai que dans une réalisation DSP de n'importe quelle transformée en ondelettes (CWT ou DWT), la mise en œuvre est susceptible de se faire comme une multiplication discrète point par point avec une fonction d'ondelettes discrète (similaire à la façon dont la DFT est formulée), la la définition mathématique d'un CWT est continue. Il existe des versions du DWT qui ont été développées pour des données discrètes, donc certaines implémentations DWT sont exactes par définition. Toute implémentation d'un CWT est une approximation qui a été obtenue en convertissant une opération de continuation (intégration) avec une fonction d'ondelettes continue, en une opération discrète.
user2718
@BruceZenone Certainement, et la définition prend certainement du contexte. Deux mathématiciens parlant de "la CWT" signifieraient la version continue avec les intégrales, tandis que deux ingénieurs discutant de l'implémentation diraient "la CWT" et signifieraient la version discrète, (qui n'est pas la même que la DWT), d'où la source de La confusion d'OP.
Spacey
Assez vrai. J'aimerais voir une implémentation bien documentée d'un CWT (disons Morlet) pour DSP pour voir les détails de la façon dont les opérations / fonctions continues sont traduites dans le monde du traitement discret. Notez que les transformées DFT et Fourier sont des bêtes très différentes mathématiquement parlant.
user2718