Précédent   Forum du club des développeurs et IT Pro > Environnements de développement > MATLAB > Signal
Signal Forum d'entraide sur le traitement du signal en MATLAB
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 17/10/2012, 18h57   #1
hp_compaq_610
 
Homme
Étudiant
Inscription : novembre 2011
Messages : 17
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 : 17
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
Type de fichier : jpg enveloppe.jpg (105,1 Ko, 15 affichages)
hp_compaq_610 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2012, 09h52   #2
tachmou
Membre éclairé
 
Jean-Charles
Doctorant automatique aéronautique
Inscription : janvier 2012
Messages : 243
Détails du profil
Informations personnelles :
Nom : Jean-Charles

Informations professionnelles :
Activité : Doctorant automatique aéronautique

Informations forums :
Inscription : janvier 2012
Messages : 243
Points : 301
Points : 301
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
tachmou est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 18/10/2012, 18h13   #3
hp_compaq_610
 
Homme
Étudiant
Inscription : novembre 2011
Messages : 17
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 : 17
Points : -1
Points : -1
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');
hp_compaq_610 est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 19/10/2012, 13h52   #4
tachmou
Membre éclairé
 
Jean-Charles
Doctorant automatique aéronautique
Inscription : janvier 2012
Messages : 243
Détails du profil
Informations personnelles :
Nom : Jean-Charles

Informations professionnelles :
Activité : Doctorant automatique aéronautique

Informations forums :
Inscription : janvier 2012
Messages : 243
Points : 301
Points : 301
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
tachmou est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 20/10/2012, 12h44   #5
hp_compaq_610
 
Homme
Étudiant
Inscription : novembre 2011
Messages : 17
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 : 17
Points : -1
Points : -1
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 ?
hp_compaq_610 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/10/2012, 12h49   #6
hp_compaq_610
 
Homme
Étudiant
Inscription : novembre 2011
Messages : 17
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 : 17
Points : -1
Points : -1
j'ai essayé
j'obtiens totalement un autre chose
hp_compaq_610 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/10/2012, 12h50   #7
Winjerome
Modérateur
 
Avatar de Winjerome
 
Homme Jérôme
Inscription : septembre 2009
Messages : 5 164
Détails du profil
Informations personnelles :
Nom : Homme Jérôme
Âge : 25
Localisation : France, Pyrénées Atlantiques (Aquitaine)

Informations forums :
Inscription : septembre 2009
Messages : 5 164
Points : 12 608
Points : 12 608
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.
__________________
Débutant en MATLAB ? Vous voulez faire une Interface Graphique ? Les Tutoriels et la FAQ sont là pour vous aider
Une erreur ? FAQ : Messages d'erreur et avertissements
"Ça ne marche pas" n'est pas une réponse acceptable Expliquez clairement votre problème (erreurs, résultats non attendus...).
Citation:
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
Pas de question technique par MP, Merci
Winjerome est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/10/2012, 10h49   #8
hp_compaq_610
 
Homme
Étudiant
Inscription : novembre 2011
Messages : 17
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 : 17
Points : -1
Points : -1
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
hp_compaq_610 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/10/2012, 10h27   #9
tachmou
Membre éclairé
 
Jean-Charles
Doctorant automatique aéronautique
Inscription : janvier 2012
Messages : 243
Détails du profil
Informations personnelles :
Nom : Jean-Charles

Informations professionnelles :
Activité : Doctorant automatique aéronautique

Informations forums :
Inscription : janvier 2012
Messages : 243
Points : 301
Points : 301
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
tachmou est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 22/10/2012, 10h41   #10
hp_compaq_610
 
Homme
Étudiant
Inscription : novembre 2011
Messages : 17
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 : 17
Points : -1
Points : -1
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-
hp_compaq_610 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/10/2012, 10h47   #11
tachmou
Membre éclairé
 
Jean-Charles
Doctorant automatique aéronautique
Inscription : janvier 2012
Messages : 243
Détails du profil
Informations personnelles :
Nom : Jean-Charles

Informations professionnelles :
Activité : Doctorant automatique aéronautique

Informations forums :
Inscription : janvier 2012
Messages : 243
Points : 301
Points : 301
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
tachmou est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 03h51.


 
 
 
 
Partenaires

Hébergement Web