Exemple de calcul avec l'ondelette de Haar

Page d'accueil · Une courte introduction aux ondelettes

Transformée en ondelettes de Haar

Marche à suivre

Haar?

Pour calculer la transformée en ondelettes de Haar (non normalisée) d'un tableau de n = 2m données, il faut:

  • calculer la moyenne de chaque paire de données (n/2 moyennes) = fonction d'échelle;
  • calculer la différence entre chaque données et sa moyenne respective (n/2 différences) = fonction ondelette;
  • placer les moyennes dans la première moitier du tableau de données;
  • placer les différences dans la seconde moitier du tableau de données;
  • répéter le processus sur la première moitier des données (c'est pourquoi le nombre de données n doit être une puissance de 2).

Expression des moyennes et différences

Deux mesures (l,r) peuvent être exprimées sous la forme d'une moyenne a et d'une différence d de la manière suivante:

  • a = (l+r)/2 = la fonction d'échelle;
  • d = l-a = a-r = (l-r)/2 = la fonction d'ondelette;

Le processus étant réversible de la manière suivante:

  • l = a+d;
  • r = a-d.

Exemple

Transformée directe

Pour réaliser la première itération de la transformée en ondelette sur les données, il faut calculer la moyenne (fonction d'échelle) et la différence (fonction d'ondelette) de chaque paire de donnée:

1ere itération de la multirésolution
Données 7 1 6 6 3 -5 4 2
Moyenne (7+1)/2 = 4 (6+6)/2 = 6 (3+ -5)/2 = -1 (4+2)/2 = 3
Différence 7-4 = 4-1 = 3 6-6 = 6-6 = 0 3- -1 = -1- -5 = 4 4-3 = 3-2 = 1
1ere itération Signal comprimé = moyenne Détails du signal = différence
4 6 -1 3 3 0 4 1

La deuxième itération ne concerne plus que les 4 premières valeurs:

2eme itération de la multirésolution
Données 4 6 -1 3
Moyenne ( 4 + 6) / 2 = 5 (-1 + 3) / 2 = 1
Différence ( 4 - 5) = (5 - 6) = -1 (-1 - 1) = (1 - 3) = -2
2eme itération Signal comprimé Détails du signal
5 1 -1 -2

Cette deuxième itération donne les valeurs suivantes:

[5, 1, -1, -2, 3, 0, 4, 1] qui sont les 4 nombres résultant de la 2eme itération auquels ont ajoute à la fin les 4 nombres "détail du signal" de la 1ere itération

La troisième itération ne concerne plus que les 2 premières valeurs :

3eme itération de la multirésolution
Données 5 1
Moyenne ( 5 + 1) / 2 = 3
Différence ( 5 - 3) = (3 - 1) = 2
3eme itération Signal comprimé Détails du signal
3 2

Cette troisième itération donne les valeurs suivantes:

[3, 2, -1, -2, 3, 0, 4, 1] qui sont les 2 nombres résultant de la 3eme itération auquels ont ajoute dans l'ordre les 2 nombres "détail du signal" de la 2eme itération et à la fin les 4 nombres "détail du signal" de la 1ere itération.

Deux mesures étant le minimum possible, nous ne pouvons pas aller plus en avant dans ce processus, ce qui marque la fin de la multirésolution. La première valeur est donc le résultat des fonctions d'échelles successives et les 7 autres nombres étants les coefficients des fonctions d'ondelettes.

On remarque que la première valeur obtenue par la transformée est égale à la moyenne des données initiales:

(7 + 1 + 6 + 6 + 3 - 5 + 4 + 2) / 8 = 3 et est donc bien uniquement un résultat ne dépendant que de la fonction d'échelle.

Transformée inverse

Pour la transformée inverse, on va utiliser les moyennes avec leurs différences des itérations du niveau n+1 pour déterminer les moyennes du niveau n.

Le calcul de la transformée inverse commence sur les deux premières valeurs (3, 2) (la moyenne et sa différence de la 3eme itération qu'il faut inverser en premier lieu):

  • l = 3 + 2 = 5
  • r = 3 - 2 = 1
On obtient alors les valeurs moyennes déterminées lors de la 2eme itération.

Le premier traitement donne les valeurs suivantes:

[5, 1, -1, -2, 3, 0, 4, 1] qui sont les moyennes de la 2eme itération avec les différences des 2eme et 1ere itérations.

Le traitement se poursuit sur les 4 premières valeurs qui sont les moyennes et les différences de la 2eme itération qu'il faut à présent inverser:

5, 1, -1, -2

  • l1 = 5 + -1 = 4
  • r1 = 5 - -1 = 6
  • l2 = 1 + -2 = -1
  • r2 = 1 - -2 = 3

Le second traitement donne les valeurs suivantes:

[4, 6, -1, 3, 3, 0, 4, 1] qui sont les moyennes de la 1ere itération avec les différences de la 1ere itération.

Le traitement se poursuit sur ces 8 premières valeurs (soit l'ensemble des valeurs) pour inverser la 1ere itération et retrouver le signal de départ :

4, 6, -1, 3, 3, 0, 4, 1

  • l1 = 4 + 3 = 7
  • r1 = 4 - 3 = 1
  • l2 = 6 + 0 = 6
  • r2 = 6 - 0 = 6
  • l3 = -1 + 4 = 3
  • r3 = -1 - 4 = -5
  • l4 = 3 + 1 = 4
  • r4 = 3 - 1 = 2

Le troisième et dernier traitement donne les valeurs suivantes:

7, 1, 6, 6, 3, -5, 4, 2

qui sont bien les valeurs initiales (ouf). L'inversion est terminée.

Page précédente   Haut   Page suivante