Filtrage par ondelettes
Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

Filtrage par ondelettes



  1. #1
    arnal88

    Filtrage par ondelettes


    ------

    Bonjour à tous,

    Je pose ma question dans cette section mais c'est plutôt des maths appliquées..

    Je veux filtrer le bruit blanc d'un signal avec des ondelettes.

    J'ai déjà lu "The wavelet tutorial" de Robi Polak et j'ai bien compris les différences avec la transformée de Fourier.
    Je suis en maths spé (même si les maths c'est pas trop mon fort...), et j'ai également compris que l'ondelette dilatée et translatée formait une base orthogonale.

    Je vous résume ce que j'ai compris :

    On prend un signal numérisé contenant n échantillons (donc un élément de R^n). Prenons R^4 par exemple.
    Mon signal est {a,b,c,d}.

    Une base orthogonale (pour le produit scalaire canonique) de R^4 est :
    e1 = (1,-1,0,0)
    e2 = (0,0,1,-1)
    e3 = (1,1,-1,-1)
    e4 = (1,1,1,1)
    C'est pas compliqué de la normer...

    On va donc projeter le signal dans cette base. C'est la transformée en ondelettes (avec une ondelette de Haar).

    D'un point de vue algorithmique, voici ce que je fais :
    Je prends les 1/2 différences de mon signal. J'ai les premiers coefficients.
    Je prends ensuite les 1/2 sommes et je recommence dessus...

    Un exemple :
    Mon signal est {7,1,6,6}
    Les 1ers coefficients sont : (7-1)/2=3 et (6-6)/2=0
    J'applique ensuite le filtre passe bas et je sous-échantillonne :
    (7+1)/2=4 et (6+6)/2=6
    Je recommence avec {4,6} :
    (4-6)/2=-1

    Les coefficients sont donc :
    3, 0
    -1

    On en récupère que 3... Il en manque donc un. Faut-il ajouter également la moyenne du signal initial (ce qui reviendrait à projeter sur e4) ?
    (7+1+6+6)/4=5

    C'est là que je ne comprends plus trop comment faire...
    Le lien entre les projections et l'algorithme n'est vrai qu'à un coefficient multiplicatif près (ma base n'est pas orthonormale...) mais ce n'est pas mon problème pour le moment.

    Je ne comprends plus le lien avec la représentation graphique des coefficients d'ondelettes.


    Voyez le programme Mathematica que j'ai fait.
    Je créé un signal (1024 échantillons) et je calcule les coefficients selon l'algorithme que j'ai expliqué plus haut.

    Mais quand je fais un plot2D de ces coefficients je n'obtiens pas la représentation de mon signal (un sinus vobulé). Il y a des sortes de vagues que je ne parviens pas à expliquer..

    Bref regardez le PDF..


    J'aimerais donc comprendre d'où vient la différence entre la représentation en ondelettes de Mathematica et celle que je calcule.
    Ensuite je pourrai m'attaquer à la transformée inverse.

    Je n'ai pas trouvé de site qui explique clairement l'algorithme.

    Merci pour votre aide.

    -----
    Images attachées Images attachées

  2. #2
    acx01b

    Re : Filtrage par ondelettes

    salut

    l'ondelette de haar est vraiment pas compliquée à comprendre d'un point de vu calcul/reconstruction

    si on connait (a-b)/2 et (a+b)/2 on peut facilement retrouver a et b

    ce calcul d'un point de vu traitement du signal correspond à une convolution (un filtrage FIR) par {1,-1} qui est un filtre passe haut, et d'un autre côté par {1,1} qui est un filtre passe bas, puis à un sous-échantillonage de chacune des sorties de filtre, et ça récursivement sur la sortie sous-échantillonnée du filtre passe bas

    tes coefficients de haar pour {7,1,6,6} sont {{5},{1},{3,0}}
    si tu veux filtrer ton signal passe bas alors mets carrément les coefficients de détail à 0 (ici {3,0} --> {0,0} ), ou divise les par une certaine valeur !
    Dernière modification par acx01b ; 12/02/2009 à 18h27.

  3. #3
    acx01b

    Re : Filtrage par ondelettes

    tes coefficients de haar pour {7,1,6,6} sont
    {{5},{-1},{3,0}}

    non c'est bon pardon

    je crois qu'on utilise plutôt {-1,1} comme filtre passe haut
    et donc ça donnerait {{5},{1},{-3,0}}

  4. #4
    arnal88

    Re : Filtrage par ondelettes

    Ok merci pour ton explication.

    Donc apparemment j'ai compris comment faire, étant donné que je trouve les mêmes valeurs que toi.
    Et pour le coefficient 5, c'est logique de prendre la moyenne = cela correspond à la fréquence nulle.

    Par contre je n'ai encore pas réfléchi à la reconstruction. Mais ça n'a pas l'air insurmontable...

    Mon problème est le suivant :
    Dans Mathematica je définit une fonction sinus dont la fréquence augmente (vobulation).
    Ce qui est intéressant c'est que Mathematica fournit la représentation en ondelettes de ce signal (mais on ne peut pas l'exploiter...)
    Voici ce que j'obtiens :

    liste = Table[Sin[(0.1 t)^1.4], {t, 1, 2^10}];
    ListPlay[liste]


    Ensuite, je calcule tous les coefficients pour les ondlettes de Haar, comme expliqué dans mon 1er post.
    Quand je fais un plot2D de la valeur absolue de ces coefficients, voici ce que j'obtiens :


    D'où vient la différence ??
    Est-ce que c'est dû à l'ondelette utilisée (l'ondelette de Haar étant la plus basique..) ?

  5. A voir en vidéo sur Futura
  6. #5
    arnal88

    Re : Filtrage par ondelettes

    Petit up...

    Personne ne sait d'où vient la différence entre la représentation en ondelettes de Mathematica et celle que j'ai calculé ?

    Est-ce que ça vient de l'ondelette de Haar ?

    Merci !

Discussions similaires

  1. Wifi par filtrage adresse MAC
    Par invite8785f949 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 4
    Dernier message: 28/01/2009, 15h23
  2. Le filtrage par inductance pour une alimlentation stabilisée
    Par invitee80e09d9 dans le forum Électronique
    Réponses: 1
    Dernier message: 30/12/2007, 13h36
  3. Filtrage passe-bas par moyenne mobile
    Par invite31b5cbad dans le forum Physique
    Réponses: 5
    Dernier message: 08/07/2007, 22h20
  4. ondelettes
    Par invite65f5493e dans le forum Technologies
    Réponses: 3
    Dernier message: 22/10/2006, 18h38
  5. Ondelettes
    Par invitebfa9cd46 dans le forum Physique
    Réponses: 1
    Dernier message: 02/08/2006, 11h21