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

MATLAB Discussion :

Détermination fonction de transfert


Sujet :

MATLAB

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 22
    Points : 12
    Points
    12
    Par défaut Détermination fonction de transfert
    salut tout le monde,

    J'ai commencer matlab il y a 3 jours alors je vous en supplie soyer indulgents^^

    Voila, je dispose de réponse d'accéléromètres en fonction de la frequence. Mon objectif est d'exploiter ces données pour créé une procédure d'étalonnage. Je dois, pour cela, calculer la fonction de transfert mais je ne vois pas comment faire à partir de ces données sur matlab.

  2. #2
    Membre habitué
    Profil pro
    Doctorant
    Inscrit en
    Mars 2011
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 147
    Points : 196
    Points
    196
    Par défaut
    Bonjour,

    Sans parler de Matlab, le but est de trouver une fonction de transfert à partir d'une fft, c'est bien ça ?
    Je me demande si cela ne peut pas se faire par de l'identification.
    Regarde les fonctions associées à l'identification sous Matlab (sur les versions récentes, tu peux taper "ident" et regarder l'aide de cette interface graphique)

    Matersss

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 22
    Points : 12
    Points
    12
    Par défaut
    Merci beaucoup,
    Je vais regarder tout ça mais il y a une autre contrainte que je n'ai pas prise en compte je dois d'abord trouver un moyen de sélectionner une zone d’intérêt ça il y a une aberration au début de mon signal. Je dois donc d'abord faire ça avant de m’atteler à la fonction de transfert.

  4. #4
    Membre habitué
    Profil pro
    Doctorant
    Inscrit en
    Mars 2011
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 147
    Points : 196
    Points
    196
    Par défaut
    Si tu as un signal y, tu peux avec y(P1 : P2) prendre uniquement les points entre P1 et P2 donc ça devrait être plus facile

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 22
    Points : 12
    Points
    12
    Par défaut
    Je m'excuse de ma réponse tardive mais je n'ai pas eu accès à matlab depuis vendredi.

    Le problème c'est que mon code doit marcher pour différents signaux et la zone d’intérêt n'est pas toujours la même

    voila le type de signaux que je peux avoir

    je dois détecter la zone d’intérêt, récupérer la matrice et faire une détection du début de mon signal en faisant un seuil dans les 2 3% de la valeur max et cela doit fonctionner pour différents signaux.

    Nom : image forum.JPG
Affichages : 914
Taille : 92,1 Ko

    merci pour votre aide

  6. #6
    Membre éclairé
    Homme Profil pro
    Doctorant automatique
    Inscrit en
    Janvier 2012
    Messages
    446
    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 : 446
    Points : 719
    Points
    719
    Par défaut
    Salut,

    Dur, ta question ! Mais tu as cette page qui peut t'intéresser.

    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

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 22
    Points : 12
    Points
    12
    Par défaut
    Merci pour le lien mais étant vraiment débutant je t'avoue que je n'ai pas tout compris ^^

    J'avais pensé pour détecter le début de mon signal :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    in1max=max(in1);
    seuil=(3/100)*in1max;
    [x]=find(in1>seuil1);
    mais ça ne peut par marcher puisque je veux récupérer l'intégralité de mon signal une fois un certain seuil dépasser, or la ça va juste me récupérer les valeur au dessus du seuil ... bref je suis dans l'impasse ^^

  8. #8
    Membre éclairé
    Homme Profil pro
    Doctorant automatique
    Inscrit en
    Janvier 2012
    Messages
    446
    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 : 446
    Points : 719
    Points
    719
    Par défaut
    Bonjour,

    En fait, sous matlab, le lien que je t'ai filé devrait t'expliquer comment faire avec des outils "tous faits".

    Inconvénient : cela te demande d'utiliser la "System Identification Toolbox". Une toolbox sous matlab est une "boîte à outil" payante, bien sûr...

    Maintenant, ce qui est proposé dans les boîtes à outil peut être refait bien sûr... ça prend du temps, c'est tout :-)

    Si c'est ce que tu souhaites faire (qui m'intéresse soit dit en passant), précises-le, stp. D'ailleurs, si c'est le cas, je ne suis moi-même pas vraiment certain de la procédure à suivre... ?

    Ensuite, avant de parler du traitement de tes signaux... il faudrait déjà que tu exposes un peu de quoi on parle... tu as quoi exactement comme signal ? Des amplitudes d'accélération ? Comment les as-tu obtenus ? Tu parles de signaux générés à partir d'excitations, j'imagine ? Quelle est la forme de tes excitations ? Leurs amplitudes ? Leurs fréquences au cours du temps ? Bref, pour l'instant, j'ai un peu de mal à voir de quoi tu parles exactement. Si tu n'as pas le système, il faut au moins que tu nous décrives pleinement les entrées et les sorties Sur tes graphiques, on ne voit pas de légende en ordonnée (ni les unités)... On ne sait pas trop si tu as appliqué tel ou tel traitement déjà... Ensuite, pour détecter le "début" de ton signal : il faut aussi savoir à quoi il est dû, et décrire correctement comment on le détecte, en essayant d'être le plus rigoureux possible ^^

    Car les fonctions find et max sont jolis en maths... sauf que là on est dans la vraie vie

    Tout ça pour te dire : n'hésites pas à raconter ta vie ! Cela te permet de t'éclaircir toi-même les idées en racontant des choses plus passionnantes que si tu ne donnes que des "bribes d'informations" (je vulgarise, mais le message c'est : il ne faut pas hésiter pas à détailler)... plus passionnant => plus accrocheur => plus de réponse

    (pas de palais... pas de palais )

    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

  9. #9
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 22
    Points : 12
    Points
    12
    Par défaut
    Je n'avais pas pensé a ça ^^ je pensais faire vraiment étape par étape et je pense que c'est pour ça que je galère. Je vais essayer de voir avec la toolbox et je te tiendrai au courant !

    Après si tu as un idée de comment je pourrais récupérer ma sous-matrice a partir de la première valeur au dessus du seuil ca m’intéresse ^^ je sais pas si c'est très clair ...

    Cordialement,

  10. #10
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 22
    Points : 12
    Points
    12
    Par défaut
    Désolé je vais vous exposé mon problème clairement ^^

    Une rampe en fréquence (de 20 à 1kHz) a été appliquer a un pot vibrant sur lequel était fixé deux accéléromètre : un accéléromètre étalon et un accéléromètre à étalonner. on suppose que la rampe en fréquence évolue linéairement. J'ai donc des réponse en V en fonction du temps.

    in1 étant la réponse de l'accéléromètre de référence et in2 celle l'accéléromètre à étalonner.

    Nom : image 2.JPG
Affichages : 837
Taille : 37,9 Ko

    ceci n'est qu'un exemple car mon programme doit fonctionner pour plusieurs série de donner car il y a plusieurs accéléromètre à étalonner.

    Il y a plusieurs problème, comme vous pouvez le constater la rampe en fréquence ne commence pas à t0 et il peut y avoir un perturbation avant le démarrage de la rampe (un gars qui s'est cassé la gueule par exemple ^^). bien sur la perturbation ne dois pas être pris en compte.
    Il faut donc que je sélectionne les zones ou ont été appliquée la rampe, et que je les récupère.

    cordialement,

  11. #11
    Membre éclairé
    Homme Profil pro
    Doctorant automatique
    Inscrit en
    Janvier 2012
    Messages
    446
    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 : 446
    Points : 719
    Points
    719
    Par défaut
    Bon, c'est un peu mieux déjà (mais n'hésites pas à compléter... genre "V" c'est quoi... tout ça bref)

    Alors maintenant, question : une fonction de transfert... c'est quoi ? Question loin d'être idiote quand on y réfléchit dans le détail : c'est une fonction qui relie une sortie à une entrée, chacune possédant des unités propres. Une fonction de transfert dépend donc pleinement de tes entrées et de tes sorties (il faut donc que tu sois très pointilleux là-dessus). Cette fonction te permet de décrire le comportement fréquentiel entrée/sortie de ton système. Selon le degré du numérateur et du dénominateur, tu obtiendras plus ou moins de précisions, cela va de soit.

    Vu que la sortie et l'entrée sont importants... je vais m'intéresser à l'entrée si tu veux bien... Donc, si tu disposes de signaux de sortie (V=f(t)), c'est qu'ils ont été générés à partir de signaux "excitateurs" d'entrées E = f(t). Tu peux me tracer E de la même manière que tu as tracé V stp?

    Masturbation intellectuelle supplémentaire :
    Je pense qu'une des méthodes intéressantes serait dans un premier lieu de tracer tes diagrammes de bodes (gain=f(fréquence) et phase=f(fréquence)) - revoir au passage les définition de gain et de phase pour pouvoir l'appliquer à ton problème grâce à V et E -, pour voir à quoi ça ressemble, et peut peut-être te donner un indice quand à la forme de ta fonction de transfert (peux-tu l'approximer par un ordre 2 ? ou faut-il une fonction de transfert plus "chiadée" ?)
    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

  12. #12
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 22
    Points : 12
    Points
    12
    Par défaut
    Je vous prie de bien vouloir m'excuser de ce très long retard, mais je ne pouvais pas faire autrement.

    Concernant mon problème il n'est plus d'actualité car je ne peux pas procédé comme je l'avais envisagé enfin disons que j'ai un tas de soucis a régler avant.

    Je vous remercie cependant des conseils que vous avez pu me fournir.

Discussions similaires

  1. [Débutant] Calcul d'une fonction de transfert
    Par demeter dans le forum Simulink
    Réponses: 1
    Dernier message: 24/04/2008, 15h13
  2. Tracer des fonctions de transfert
    Par Morgan1000 dans le forum LabVIEW
    Réponses: 0
    Dernier message: 17/10/2007, 12h50
  3. Déterminaton d'une fonction de transfert
    Par tarzan_tlse dans le forum Signal
    Réponses: 5
    Dernier message: 05/07/2007, 09h39
  4. Optimisation de paramètres d'une fonction de transfert
    Par miloutcheque dans le forum Signal
    Réponses: 1
    Dernier message: 29/06/2007, 12h36
  5. Réponses: 1
    Dernier message: 21/01/2007, 16h31

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