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 :

Maximum local dans Matlab en présence d'un BRUIT


Sujet :

Signal

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 46
    Points : 49
    Points
    49
    Par défaut
    bonjour,

    j'ai un graphique où il y a 3 dos d'ânes

    Le 1er et le 3ème sont dus au signal (donc utile) , le 2ème (celui au milieu) est du à l'interférence co-existante entre eux. Donc ce que je veux c'est obtenir la localisation de ces 2 dos d'ânes (obtenir la localisation des 3 et supprimer celui au milieu)

    Comment faire ?
    Merci

  2. #2
    Membre éprouvé
    Avatar de rostomus
    Homme Profil pro
    Doctorant électronique et traitement du signal
    Inscrit en
    Décembre 2006
    Messages
    791
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant électronique et traitement du signal

    Informations forums :
    Inscription : Décembre 2006
    Messages : 791
    Points : 1 205
    Points
    1 205
    Par défaut
    Salut,

    Essaie cet exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    z=peaks;
    z=z(30,:);
    d=diff(sign(diff(z)));
    j=find(d==-2)+1;
    plot(z)
    hold on
    plot(j,z(j),'r*')
    MATLAB 7.4 (R2007a) WIN XP SP2
    -------------------------------------

  3. #3
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 46
    Points : 49
    Points
    49
    Par défaut
    Merci boss, Mais j'ai vu le coté théorique et que j'ai essayer d'implementer mon graphe est le suivant, et la ya deux GRANDs pics aux extrimité (je veux pouvoir avoir cela), et le pb c'est que j'ai 64 graphe comme ça, et il faut que je reli les max (les deux) entre eux pour que j'obtienne deux droite sur le graphe, et donc à priori j'ai aucune infi sur le singal.

    Merci de m'aider
    Images attachées Images attachées  

  4. #4
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 46
    Points : 49
    Points
    49
    Par défaut
    MMMMMMMMMMMerci rostumus tu m'a bcp aidé, donc voici le code final ( pour ceux qui sont intéréssé)
    merci encore rostumus



    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
    for i=10:N-1
        z=Wr(:,i);
        d=diff(sign(diff(z)));
        j=find(d==-2)+1;
        %[val,posit]=max(z(j));
    %    plot(z)
    %hold on
    %plot(j,z(j),'r*')
    %    for o=1:length(z(j))
     %       M(o)=z(j(o));
      %  end
      %m=z(j)
        for u=1:3
     
            [val,posit]=max(z(j))
            posipeak(u)=j(posit);
            z(j(posit))=0;
        end
     
        finalposipeak(1,i)=min(posipeak);
        finalposipeak(2,i)=max(posipeak);
     
    end
     
    %axes(handles.PlotIF);
     
     
    %finalposipeak=finalposipeak+ones(2,63);
    for i=1:N-1;
        %i
           %%plot(absc,abs(Wr(i,:))+20*(i/164));
           %%celle la
     axes(handles.PlotIF);
     
           plot(freqc,(abs(Wr(:,i))+6*(i/taille_temps)));
    hold on
    if  finalposipeak(1,i)~=0;
    plot(freqc(finalposipeak(1,i)),(abs(Wr(finalposipeak(1,i),i))+6*(i/taille_temps)),'r*');
    end
     
    if  finalposipeak(2,i)~=0;
    %plot(freqc(finalposipeak(1,i)),(abs(Wr(finalposipeak(1,i),i))+6*(i/taille_temps)),'r*');
    hold on
    plot(freqc(finalposipeak(2,i)),(abs(Wr(finalposipeak(1,i),i))+6*(i/taille_temps)),'g*');
    end
    hold on
     
    end

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Boîtes de dialogue dans matlab
    Par ypascal dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 29/06/2006, 14h35
  2. importé une page HTML locale dans JSP !
    Par abd21 dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 20/06/2006, 11h01
  3. Utilisation Locales dans Progress Label
    Par LeCaméléon dans le forum XMLRAD
    Réponses: 2
    Dernier message: 02/06/2006, 15h51
  4. Volume de données maximum à passer dans Excel via delphi?
    Par batounet dans le forum Bases de données
    Réponses: 2
    Dernier message: 24/03/2006, 20h37
  5. Chercher un maximum local ?
    Par Clad3 dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 13/06/2005, 16h45

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