IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Signal Discussion :

Décomposition d'un signal par ondelettes


Sujet :

Signal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de compaq610
    Homme Profil pro
    master de recherche
    Inscrit en
    Mai 2010
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : master de recherche
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2010
    Messages : 33
    Par défaut Décomposition d'un signal par ondelettes
    Salut tout le monde
    j'essaie de faire un programme en MATLAB qui fait la décomposition d'un signal par ondelettes, mais ça ne marche pas.
    Voilà mon code source
    j'attends votre réponse, merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    clear all
    fid1 = fopen('1.txt', 'r');
    x=fscanf(fid1,'%f', [1 Inf]);
    N=256;
    figure(1)
    plot(x)
    title('signale originale')
        a=2;
      for b=0:N-1
        for t=1:N  
    w(t)=(1/sqrt(a)).*exp(-((t-b)./a).^2).*cos(5.*(t-b)/a);
        end
        figure(6)
        plot(w)
        g=w.*x;
             G(1,b+1)=0;
             for i=1:N
             G(1,b+1)=G(1,b+1)+g(i);
             end  
    end
    figure(2)
    plot(G(1,:))
     a=4;
      for b=0:N-1
        for t=1:N  
    w(t)=(1/sqrt(a)).*exp(-((t-b)./a).^2).*cos(5.*(t-b)/a);
        end
        figure(6)
        plot(w)
        g=w.*G(1);
             G(2,b+1)=0;
             for i=1:N
             G(2,b+1)=G(2,b+1)+g(i);
             end  
    end
    figure(3)
    plot(G(2,:))
    a=8;
      for b=0:N-1
        for t=1:N  
    w(t)=(1/sqrt(a)).*exp(-((t-b)./a).^2).*cos(5.*(t-b)/a);
        end
        figure(6)
        plot(w)
        g=w.*G(2);
             G(3,b+1)=0;
             for i=1:N
             G(3,b+1)=G(3,b+1)+g(i);
             end  
    end
    figure(4)
    plot(G(3,:))

  2. #2
    Membre éprouvé
    Homme Profil pro
    doctorant
    Inscrit en
    Décembre 2010
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : doctorant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 101
    Par défaut
    beaucoup de chose qui ne vont pas dans ton programme.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
     
    clear all
    close all;
    x=rand(1,256)
    N=256;
    figure(1)
    plot(x)
    title('signale originale')
        a=2;
    for b=0:N-1
        for t=1:N  
            w(t)=(1/sqrt(a)).*exp(-((t-b)./a).^2).*cos(5.*(t-b)/a);
        end
        g=w.*x;
        figure(6)
        subplot(311)
        plot(w)
        subplot(312)
        plot(x)
        subplot(313)
        plot(g) 
        G(1,b+1)=sum(g);
     end
    figure(2)
    plot(G(1,:))
     a=4;
      for b=0:N-1
        for t=1:N  
            w(t)=(1/sqrt(a)).*exp(-((t-b)./a).^2).*cos(5.*(t-b)/a);
        end
        figure(6)
        subplot(311)
        plot(w)
        subplot(312)
        plot(x)
        subplot(313)
        plot(g) 
        g=w.*x;
        G(2,b+1)=sum(g);
     
    end
    figure(3)
    plot(G(2,:))
    a=8;
      for b=0:N-1
        for t=1:N  
            w(t)=(1/sqrt(a)).*exp(-((t-b)./a).^2).*cos(5.*(t-b)/a);
        end
        figure(6)
        subplot(311)
        plot(w)
        subplot(312)
        plot(x)
        subplot(313)
        plot(g) 
        g=w.*x;
        G(3,b+1)=sum(g);
      end
     
    figure(4)
    subplot(311)
    plot(G(1,:))
    subplot(312)
    plot(G(2,:))
    subplot(313)
    plot(G(3,:))
    tu ne peux pas décomposer les détails de la décomposition précédente. c'est ton signal que tu décompose. Regarde de plus près les équations de la CWT.

    y a encore moyen d'optimiser le code. par exemple tu calcules a chaque fois ton ondelette alors qu'elle est juste translatée. tu la calcules au début une seul fois et dans les boucles tu la translates. Encore mieux sert toi du calcule matriciel. La ton signal est court, mais si sa taille augmente tu va avoir des temps de calcul vraiment longs.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2011
    Messages : 33
    Par défaut
    ila faut faire l'etape de seuillage apres la decomposition et enfin le codage.

Discussions similaires

  1. [Débutant] décomposition de signal par ondelette
    Par sassou87 dans le forum Signal
    Réponses: 2
    Dernier message: 25/01/2012, 22h08
  2. Compresser un signal par la méthode des ondelettes
    Par pedro1 dans le forum Signal
    Réponses: 0
    Dernier message: 15/05/2011, 14h05
  3. Décomposition pyramidale par ondelettes
    Par Mr.ux dans le forum Traitement d'images
    Réponses: 6
    Dernier message: 08/06/2010, 10h09
  4. Compression par ondelette
    Par nsim dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 19/03/2005, 14h49
  5. Compression par Ondelette
    Par Trap D dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 20/01/2005, 19h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo