[Numérique] filtre matlab
Répondre à la discussion
Affichage des résultats 1 à 6 sur 6

filtre matlab



  1. #1
    invitea2e53836

    filtre matlab


    ------

    Bonjour,

    je cherche à reproduire un filtre sur matlab : je connais le diagramme de bode de la fonction de transfert en boucle ouverte ci-dessous

    Nom : OLTF.jpg
Affichages : 187
Taille : 79,8 Ko

    et je connais les pôles et zéros :

    Zero 20 Hz, Q=1
    -> j'ai fait H1 = tf([1 2*pi*20],[1])

    Zero 10 Hz, Q=1.5
    -> H2 = tf([1 2*pi*10],[1])

    3 Poles at 0 Hz
    -> H3 = tf([1],[1 0 0 0])

    Pole 500 Hz, Q=1
    -> H4 = tf([1],[1 500])

    pendulum system with a damped resonance 1 Hz, Q=1.5
    -> H5 = tf ([1], [1 0.01*2*pi*1 4*pi*pi*1])

    Gain 1 at 100 Hz
    -> H = 1e8*H1*H2*H3*H4*H5
    (le 1e8 est approximatif, c'est pour être environ à G=1 à 100Hz, le facteur pourra être peaufiné plus tard pour être pile à 1)

    Cependant quand je trace le diagramme de bode de H je n'obtiens pas le graph que j'ai mis plus haut. Le soucis c'est que les filtre c'est pas du tout ma spécialité, j'en ai vu quand j'étais à l'iut y a quelques années donc j'suis fortement rouillé. Il me semble que Q est le facteur de qualité mais là pareil je ne sais pas trop comment en tenir compte.

    Quelqu'un peut m'aider svp ? un truc que j'oublie ou qui est faux dans ce que je fais ?

    Merci

    -----

  2. #2
    micka_ch

    Re : filtre matlab

    Bonjour,

    Je suis également rouillé dans ce domaine mais pour moi, si on me donne 20Hz et Q=1 ça me fait pensé à une fonction de type : 1+s/(Q*w0)+(s/w0)^2 avec w0=2*pi*f0 plutôt que a un zéro.

    Les pôles c'est quand le dénominateur =0 et les zéros quand le numérateur =0. Ça nous donne une valeur (qui peut être complexe). Exemple : p1=1.5, p2=0.5+j*0.5,p3=0.5-j*0.5, z1=0.

    La fonction sera alors H(s) = s/((s-1.5)(s-0.5-0.5j)(s-0.5+0.5j)). Noté que le système est instable car Re[p2]>0.

    Dans ton cas si je fais l'hypothèse que f0=20Hz, Q=1 vaut dire H1(s)=1+s/(40*pi)+(s/(40*pi))^2 et que je fais pareil pour les autres j'arrive à :

    Nom : bode.png
Affichages : 157
Taille : 29,7 Ko

    C'est proche mais c'est pas parfait.

    Salutations

  3. #3
    invitea2e53836

    Re : filtre matlab

    Merci pour la réponse, en reprenant l'explication je fais :

    H1 = tf([1 2*pi*20 4*pi*pi*20*20],[1]);
    H2 = tf([1 (1.5)*2*pi*10 4*pi*pi*10*10],[1]);
    H3 = tf([1],[1 0 0 0]);
    H4 = tf([1],[1 2*pi*500 2*pi*pi*500*500]);
    H5=tf ([1], [1 (1.5)*2*pi*1 4*pi*pi*1]);

    H6 = 1e8*H1*H2*H3*H4*H5

    Avec ça j'obtiens effectivement le diagramme tracé dans ta réponse. Mais du coup je ne vois pas ce qui manque pour obtenir le diagramme que j'ai mis dans mon 1er post :/

  4. #4
    invitea2e53836

    Re : filtre matlab

    En fait j'ai l'impression que le diagramme que l'on a obtenu est quasiment le même que celui que je veux obtenir mais avec un retard d'une décade.
    Par exemple dans notre cas la pente devient plus abrupte entre 10 Hz et 100 Hz en gros alors que dans ce que je veux obtenir la pente est entre 1 Hz et 10 Hz, comment jouer sur ce décalage ?

  5. A voir en vidéo sur Futura
  6. #5
    micka_ch

    Re : filtre matlab

    Dans l'image de référence l'axe x est une fréquence en Hz alors que le bodeplot de Matlab donne par défaut une pulsation en rad/s. Avec un plot de type loglog (avec la fréquence en x) :

    Nom : Bode2.png
Affichages : 130
Taille : 18,8 Ko

    Salutations

  7. #6
    invitea2e53836

    Re : filtre matlab

    Merci beaucoup, j'ai obtenu ce que je voulais !

Discussions similaires

  1. filtre passe bas - matlab
    Par invitee86e7aea dans le forum Mathématiques du supérieur
    Réponses: 0
    Dernier message: 27/10/2016, 06h48
  2. filtre passe bas - matlab
    Par invitee86e7aea dans le forum Physique
    Réponses: 0
    Dernier message: 27/10/2016, 06h47
  3. MATLAB: Filtre passe-haut (actif) pour compenser filtre passe-bas (passif)
    Par invitea29b3af3 dans le forum Programmation et langages, Algorithmique
    Réponses: 2
    Dernier message: 15/11/2013, 20h15
  4. filtre passe bas sur Matlab 2010
    Par invite57b37f86 dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 06/10/2013, 20h11
  5. synthèse de filtre en matlab
    Par invite873da441 dans le forum Électronique
    Réponses: 1
    Dernier message: 26/11/2009, 10h12
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...