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 :

Equivalent 'transfer fcn' en code


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert Avatar de lecteur1001
    Inscrit en
    Mai 2009
    Messages
    1 526
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 1 526
    Par défaut Equivalent 'transfer fcn' en code
    Bonjour,

    je possède des résultats d'expérience dans un fichier.mat
    Ces données sont quelque peu bruitées, je souhaite donc les filtrer à l'aide d'un filtre du 1er ordre avec une constante de temps de 10s.
    Sous Simulink, rien de plus bête : j'utilise la fonction 'from Worskpace' avec comme paramètre Je relie ce bloc à un bloc 'transfer fcn' dont les arguments sont '1' pour le numérateur et '[10 1]' pour le dénominateur. Et en sortie j'obtiens le signal filtré.
    Ma question est bête mais existe-t-il une fonction en code MATLAB qui soit équivalente à ce modèle Simulink ? Je ne m'en sors pas avec la function 'tf'. Suis-je obligé de passer par une intégration avec une fonction ode par exemple ?

    Merci de vos réponses
    À lire avant de poster : qu'est ce qu'un ECM (Exemple Complet Minimal) ?
    Règles des forums LaTeX. Quand votre problème est réglé, mettez votre discussion en
    Pour débuter en LaTeX je conseille fortement Tout ce que vous avez toujours voulu savoir sur LaTeX sans jamais oser le demander (merci Woody Allen ), livre téléchargeable gratuitement ou en vente dans le commerce pour 15 €

  2. #2
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Par défaut
    Bonjour,

    Je sais pas si ca réponds à ta question mais il y a un exemple de filtre simple dans l'aide de la fonction FILTER.

    Duf

  3. #3
    Membre Expert Avatar de lecteur1001
    Inscrit en
    Mai 2009
    Messages
    1 526
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 1 526
    Par défaut
    Si ça pourrait mais le problème est que la fonction filter définit un filtre discret. Moi je recherche quelque chose de continu.

    J'aimerai vraiment savoir quel code se cache derrière le bloc 'Transfer fcn'...
    À lire avant de poster : qu'est ce qu'un ECM (Exemple Complet Minimal) ?
    Règles des forums LaTeX. Quand votre problème est réglé, mettez votre discussion en
    Pour débuter en LaTeX je conseille fortement Tout ce que vous avez toujours voulu savoir sur LaTeX sans jamais oser le demander (merci Woody Allen ), livre téléchargeable gratuitement ou en vente dans le commerce pour 15 €

  4. #4
    Membre Expert Avatar de lecteur1001
    Inscrit en
    Mai 2009
    Messages
    1 526
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 1 526
    Par défaut
    Bon ben... j'ai opté pour la solution de facilité "pas très joli" : j'ai créé un modèle Simulink auquel je fais appel grâce à la fonction 'sim'.
    Si quelqu'un a une solution plus élégante je suis preneur
    À lire avant de poster : qu'est ce qu'un ECM (Exemple Complet Minimal) ?
    Règles des forums LaTeX. Quand votre problème est réglé, mettez votre discussion en
    Pour débuter en LaTeX je conseille fortement Tout ce que vous avez toujours voulu savoir sur LaTeX sans jamais oser le demander (merci Woody Allen ), livre téléchargeable gratuitement ou en vente dans le commerce pour 15 €

  5. #5
    Membre émérite Avatar de tubaas
    Homme Profil pro
    Acousticien
    Inscrit en
    Août 2009
    Messages
    641
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Acousticien
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2009
    Messages : 641
    Par défaut
    bonjour
    je veux bien essayé de t'aider mais je ne connais pas Simulink.
    Citation Envoyé par lecteur1001
    Ces données sont quelque peu bruitées, je souhaite donc les filtrer à l'aide d'un filtre du 1er ordre avec une constante de temps de 10s.
    Je suppose que tu veux appliquer un filtre passe-bas du premier ordre. Cependant 10s me paraît énorme comme constante de temps.
    Citation Envoyé par lecteur1001
    Si ça pourrait mais le problème est que la fonction filter définit un filtre discret. Moi je recherche quelque chose de continu.
    Quelque chose de continu... c'est à dire un filtre analogique ? Parce que Simulink applique nécessairement un filtre numérique, et tes données sont discrétisées si je ne m'abuse.
    En fait il te faut la fonction de transfert de ton filtre (des vecteurs avec les coefficients du numérateurs et du dénominateur, a et b dans la doc de filter).
    Pour les construire si tu ne les connais pas tu as par exemple les fonctions CHEBY1, CHEBY2, BUTTER,... suivant le type de filtre que tu souhaites utilisé mais il faut avoir la Signal Processing Toolbox.
    Sinon ça doit pouvoir se trouver si tu précises bien le type de filtre, son ordre, sa fréquence de coupure, éventuellement gain et facteur de qualité...

  6. #6
    Membre Expert Avatar de lecteur1001
    Inscrit en
    Mai 2009
    Messages
    1 526
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 1 526
    Par défaut
    Citation Envoyé par tubaas Voir le message
    bonjour
    je veux bien essayé de t'aider mais je ne connais pas Simulink.

    Je suppose que tu veux appliquer un filtre passe-bas du premier ordre. Cependant 10s me paraît énorme comme constante de temps.
    Ben tout dépend de la dynamique des données que j'ai à filtrer. Dans le cas présent, 10s est tout à fait adapté.

    Citation Envoyé par tubaas Voir le message
    Quelque chose de continu... c'est à dire un filtre analogique ? Parce que Simulink applique nécessairement un filtre numérique.
    Oui et non... C'est juste qu'avec un filtre discret, tu spécifies la période d'échantillonnage dans le filtre alors qu'avec un filtre "continue", la période d'échantillonnage est celle appliquée au modèle Simulink.
    Citation Envoyé par tubaas Voir le message
    En fait il te faut la fonction de transfert de ton filtre (des vecteurs avec les coefficients du numérateurs et du dénominateur, a et b dans la doc de filter).
    Je ne les connais pas... En revanche, je les connais dans le domaine de Laplace. D'où ma volonté initiale de passer par la fonction 'tf'. Du coup, je ne comprends pas quel est l'intérêt de cette fonction finalement.
    Citation Envoyé par tubaas Voir le message
    Pour les construire si tu ne les connais pas tu as par exemple les fonctions CHEBY1, CHEBY2, BUTTER,... suivant le type de filtre que tu souhaites utilisé mais il faut avoir la Signal Processing Toolbox.
    Sinon ça doit pouvoir se trouver si tu précises bien le type de filtre, son ordre, sa fréquence de coupure, éventuellement gain et facteur de qualité...
    Sans faire preuve de mauvaise volonté, je t'assure que j'ai déjà cherché une solution dans ce sens et je n'y ai rien trouvé. Après, j'ai peut-être mal cherché...
    Ce que je ne comprends pas finalement, c'est pourquoi je ne peux pas faire un truc aussi simple via Simulink en code ? Dans Simulink, tu mets ton signal à l'entrée, ton filtre du 1er ordre (dans le domaine de Laplace) et tu obtiens le signal de sortie dans l'intervalle de temps désiré. Là, j'ai l'impression d'être obligé de passer par une fonction de transfert discrète, de chercher les coefficients correspondants...
    À lire avant de poster : qu'est ce qu'un ECM (Exemple Complet Minimal) ?
    Règles des forums LaTeX. Quand votre problème est réglé, mettez votre discussion en
    Pour débuter en LaTeX je conseille fortement Tout ce que vous avez toujours voulu savoir sur LaTeX sans jamais oser le demander (merci Woody Allen ), livre téléchargeable gratuitement ou en vente dans le commerce pour 15 €

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

Discussions similaires

  1. Equivalent Java d'un code C# basé sur les delegates
    Par flow10000 dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 13/05/2013, 22h20
  2. equivalent AS3 d'un code en AS2
    Par bigboy dans le forum ActionScript 3
    Réponses: 3
    Dernier message: 07/11/2009, 23h07
  3. Réponses: 2
    Dernier message: 19/02/2009, 12h15
  4. Réponses: 12
    Dernier message: 28/04/2007, 09h43
  5. Equivalent de ce code sous IE?
    Par Death83 dans le forum Général JavaScript
    Réponses: 25
    Dernier message: 28/12/2005, 00h26

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