+ Répondre à la discussion
Affichage des résultats 1 à 11 sur 11

Discussion: Calcul des max

  1. #1

    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

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

    Informations forums :
    Inscription : novembre 2011
    Messages : 21
    Points : -1
    Points
    -1

    Par défaut Calcul des max

    salut
    mon problème est que j'ai un signal qui est l'enveloppe d'une transformée en ondelettes d'un signal original et je veux calculer les max de cette enveloppe (entourés dans le graphe) et je n'ai pas d'idée, si quelqu'un peut m'aider
    merci
    Images attachées Images attachées

  2. #2
    Membre chevronné
    Homme Profil pro
    Doctorant automatique
    Inscrit en
    janvier 2012
    Messages
    447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Doctorant automatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : janvier 2012
    Messages : 447
    Points : 708
    Points
    708

    Par défaut

    Salut,

    Petite idée : repère tous les max de ton signal, et retiens leurs indices. Puis tu reconstruis une nouvelle courbe ne contenant que ces max, et tu cherches tous les max de cette nouvelle courbe, avec les indices correspondants à ceux de la première courbe : tu obtiendras ce que tu cherches je pense (avec peut-être un problème d'effet de de bord à régler).

    Autre idée : tu filtres les HF et tu reconstruis une nouvelle courbe ne contenant que la fréquence qui t'intéresse, et tu cherches les max de cette courbe. D'après moi tu obtiendras un moins bon résultat avec cette méthode, mais elle est théoriquement plus intelligente.

    Cordialement,
    Je ne réponds pas aux MP techniques. Le forum est là pour ça.
    La raison est simple : il est ennuyeux de répondre à une seule personne, alors que la réponse peut servir à tout le monde.
    Conclusion : n'hésitez pas à utiliser le forum pour poser vos questions.
    Matlab 2005 - ver.7.1.0.183 (R14) Service Pack 3

  3. #3

    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

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

    Informations forums :
    Inscription : novembre 2011
    Messages : 21
    Points : -1
    Points
    -1

    Par défaut

    salut
    merci beaucoup tachmou,
    je ne maitrise pas bien MATLAB, si vous voulez m'aider en appliquant votre idée sur l'exemple suivant:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    N=1024;
    f0=3e6; % freq de sortie du transducteur
    Fe=10*f0;  %fréquence échantillonnage
    Te=1/Fe;  % période échantillonnage
    t=(0:N-1)'.*Te; %L'intervalle du temps
    s=randn(1024);
     
    c = cwt(s,1:32,'morl','plot');
     
    xmax=max(c);
    plot(t,xmax), legend('envloppe'),,xlabel('temps(s)'),ylabel('Amplitude');

  4. #4
    Membre chevronné
    Homme Profil pro
    Doctorant automatique
    Inscrit en
    janvier 2012
    Messages
    447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Doctorant automatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : janvier 2012
    Messages : 447
    Points : 708
    Points
    708

    Par défaut

    Salut,

    Je veux bien t'aider, mais je n'ai pas envie de faire le travail à ta place. Je te laisse me proposer ici des tentatives de codes, je te guiderai pour corriger ce qui ne va pas. Et si tu n'arrives pas à écrire ne serait-ce qu'une ligne, dis où tu bloques, et on te guidera pas à pas.

    Cordialement,
    Je ne réponds pas aux MP techniques. Le forum est là pour ça.
    La raison est simple : il est ennuyeux de répondre à une seule personne, alors que la réponse peut servir à tout le monde.
    Conclusion : n'hésitez pas à utiliser le forum pour poser vos questions.
    Matlab 2005 - ver.7.1.0.183 (R14) Service Pack 3

  5. #5

    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

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

    Informations forums :
    Inscription : novembre 2011
    Messages : 21
    Points : -1
    Points
    -1

    Par défaut

    salut;
    merci tachmou,
    je vais commencer pas à pas
    repérer les max de la courbe veut dire:
    Et après comment tracer la courbe des max ?
    quelqu'un peut m'aider ?

  6. #6

    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

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

    Informations forums :
    Inscription : novembre 2011
    Messages : 21
    Points : -1
    Points
    -1

    Par défaut

    j'ai essayé
    j'obtiens totalement un autre chose

  7. #7
    Responsable FAQ C++

    Avatar de Winjerome
    Homme Profil pro
    Inscrit en
    septembre 2009
    Messages
    8 053
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : septembre 2009
    Messages : 8 053
    Points : 30 206
    Points
    30 206

    Par défaut

    Tu as regardé les valeurs de mm et pos ? Là tu ne repères qu'UN maximum qui est le maximum de la courbe.

    Citation Envoyé par hp_compaq_610 Voir le message
    Et après comment tracer la courbe des max ?
    Hola on ne va pas plus vite que la musique !
    Commence donc par les repérer
    Je t'invite à effectuer une recherche sur le forum, cette recherche de maximums a été abordée plusieurs fois.
    Avant de poser votre question : FAQ, Tutoriels et recherche sur le forum
    Une erreur ? Messages d'erreur et avertissements
    "Ça ne marche pas" n'apporte aucune information utile permettant de vous aider. Expliquez clairement votre problème (erreurs entières, résultat souhaité vs obtenu...).

    En essayant continuellement on finit par réussir. Donc: plus ça rate, plus on a de chance que ça marche. - Jacques Rouxel
    L'expérience, c'est le nom que chacun donne à ses erreurs - Oscar Wilde
    Retrouvez-moi en soirée sur le chat de developpez.com - Pas de question technique par MP, Merci

  8. #8

    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

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

    Informations forums :
    Inscription : novembre 2011
    Messages : 21
    Points : -1
    Points
    -1

    Par défaut

    j'ai essayé ce code
    Code :
    1
    2
    3
    k=max(c);
    [maxloc,loc]=findpeaks(k);
    plot(loc,maxloc)
    et j'aurai de resultat
    merci

  9. #9
    Membre chevronné
    Homme Profil pro
    Doctorant automatique
    Inscrit en
    janvier 2012
    Messages
    447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Doctorant automatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : janvier 2012
    Messages : 447
    Points : 708
    Points
    708

    Par défaut

    Bonjour,

    Tu as lu le commentaire de Winjerome ? Tapes

    puis

    dans la console. Et lis les premières lignes. Que fait "max" ? Il repère "the largest element" d'un vecteur... Donc, il te renvoie LE maximum... et non les maximum locaux.

    Première étape donc : commence par réfléchir à comment repérer les maximums locaux. Tu trouveras des réponses dans le forum. Cherches un peu.

    Cordialement,

    ps. : je ne réponds pas aux MP techniques... je ne l'ai pas précisé dans ma signature encore, mais je vais le faire de ce pas.
    Je ne réponds pas aux MP techniques. Le forum est là pour ça.
    La raison est simple : il est ennuyeux de répondre à une seule personne, alors que la réponse peut servir à tout le monde.
    Conclusion : n'hésitez pas à utiliser le forum pour poser vos questions.
    Matlab 2005 - ver.7.1.0.183 (R14) Service Pack 3

  10. #10

    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

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

    Informations forums :
    Inscription : novembre 2011
    Messages : 21
    Points : -1
    Points
    -1

    Par défaut

    bonjour,
    j'ai utilisé le code matlab 'findpeaks' et j'aurai ce que je cherche, j'ai trouver les max locaux, maintenant je veux essayer la methode de filtre proposé par tachmou, et j'ai pas compris qu'est ce que je filtre -document sur ça-

  11. #11
    Membre chevronné
    Homme Profil pro
    Doctorant automatique
    Inscrit en
    janvier 2012
    Messages
    447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Doctorant automatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : janvier 2012
    Messages : 447
    Points : 708
    Points
    708

    Par défaut

    Bonjour,

    Je ne l'ai jamais réellement fait moi-même... Mais en gros, tu fais une analyse fréquentielle pour repérer les hautes fréquences (HF) et les basses fréquences de ton signal. Une fois que c'est fait, tu reconstruit un signal possédant la forme des basses fréquences uniquement et passant au plus près de ta courbe de départ. (cette étape vas te permettre de supprimer le bruit)
    Tu pourras ainsi chercher les maximums de ta courbe, sans faire un deuxième passage.

    Tu n'obtiendras pas le même résultat qu'avant, puisque tu n'obtiendras pas les maximum "pur" étant donné que tu obtiendras les maximums "moyens" si on peut dire... en tout cas tu obtiendras des maximums beaucoup plus faibles qu'avant.

    Je ne suis pas un spécialiste du signal, donc je pourrais pas t'aider beaucoup plus que ça... Mais cela aura peut-être plus de sens physique, je ne sais pas d'où tu tires ton signal...

    Cordialement,
    Je ne réponds pas aux MP techniques. Le forum est là pour ça.
    La raison est simple : il est ennuyeux de répondre à une seule personne, alors que la réponse peut servir à tout le monde.
    Conclusion : n'hésitez pas à utiliser le forum pour poser vos questions.
    Matlab 2005 - ver.7.1.0.183 (R14) Service Pack 3

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •