Bonjour,
J'ai exactement le même problème que ce thread. Je le re-expose ici.
Lors du tracé du diagramme de bode-phase de la fonction de transfert (s²+100)/(s²+121):
...on obtient un signal avec une avance de phase de 180° entre 10 et 11 rad/s. Par contre sur le signal suivant (s² + 100)/(s^4+121s²):
Code : Sélectionner tout - Visualiser dans une fenêtre à part bode([1 0 100],[1 0 121])
...on n'observe plus l'avance de phase, mais un retard à la place ! Alors qu'on devrait observer la même chose que le précédent signal, juste déphasé de 180° !
Code : Sélectionner tout - Visualiser dans une fenêtre à part bode([1 0 100],[1 0 121 0 0])
J'ai l'impression que le déphasage est bien effectué aux basses et hautes fréquences... alors pourquoi le calcul serait-il différent aux fréquences intermédiaires ?
Ce qui est inacceptable pour mon application... car même si le signal est défini à 2pi près, si je cherche une fréquence de coupure tel qu'on est une marge de phase par rapport -180° bien spécifique, selon la forme du signal, le résultat au final ne sera pas du tout le même... Ici c'est un cas simple, mais je travaille sur des modèles bien plus complexes, et je ne peux pas deviner à l'avance où est la véritable fréquence de coupure.
Quelqu'un aurait-il une idée d'où vient cette aberration ? Je suis d'accord sur le fait que le déphasage est défini à 2*pi près... du moins mathématiquement... parce que physiquement, entre un signal déphasé de 0° et un autre déphasé de 360°, eh bien il y a un retard d'une période entre ces deux signaux... en clair, en commande, cela peut se traduire de la manière suivante : imaginons qu'on commande un ascenseur en position au cours du temps. Imaginons qu'on veuille que cet ascenseur fasse deux aller retour entre le rez-de-chaussée et le dernier étage... avec un déphasage de 0°, l'ascenseur suivra la commande instantanément... par contre avec 2pi, cela voudra dire par exemple que l'ascenseur ne démarrera que lorsqu'on aura déjà commencé à lui demander d'entamer son deuxième aller-retour... alors qu'il n'a même pas entamé le premier ! Si l'immeuble fait 300 étages, cela pourrait vouloir dire que l'ascenseur a 1/2 heure de retard... inacceptable bien évidemment...
Je suis preneur de toute aide me permettant soit d'utiliser une autre fonction qui calcule correctement la phase, soit qui me permette d'apporter une correction qui soit juste.
L'explication donnée sur le thread ne me convient pas : je suis sur un modèle d'un cas d'application concret qu'on retrouve dans la réalité... et ce cas intervient à plusieurs points de linéarisation de mon modèle (je dirais même sur une large bande d'application), pas un seul.
[EDIT] Solution "provisoire" : je fais une étude fréquentielle de A à Z, mais j'ai peur que le calcul soit bien plus long qu'un simple bode. Je dois de toutes façons passer par là pour les calculs en non linéaire, mais j'aimerais tout de même avoir un calcul rapide mais restant un minimum "fiable" en linéaire, pour pouvoir effectuer des réglages "à la volée".
[EDIT2] J'ai la version 7.1 de matlab... il semblerait que l'erreur aie été corrigée à partir de la version 7.3.
Cordialement,
Partager