📈 Diagramme de Bode : réponse en fréquence et marges de stabilité
Simulateur de diagramme de Bode interactif : placez des pôles et des zéros réels, observez de véritables courbes de gain et de phase à partir de G(jω), et lisez en direct la marge de gain, la marge de phase et le verdict de stabilité.
À propos de cette simulation
Cette simulation construit une véritable fonction de transfert G(s) = K·Π(s−zᵢ)/Π(s−pᵢ) à partir des pôles et zéros que vous placez, puis évalue réellement G(jω) par un calcul en nombres complexes sur une plage de fréquences balayée et espacée logarithmiquement. Elle trace l'amplitude réellement calculée 20·log₁₀|G(jω)| en décibels et la phase ∠G(jω) en degrés en fonction du log de la fréquence — un véritable diagramme de Bode, pas un croquis — puis localise la fréquence de coupure de gain (où |G|=0 dB) et la fréquence de coupure de phase (où phase=−180°) par interpolation sur ces courbes pour indiquer la marge de gain et la marge de phase classiques, ainsi qu'un verdict de stabilité en direct.
🔬 Ce que ça montre
Une vue du plan s où × marque les pôles et ○ marque les zéros de la fonction de transfert en boucle ouverte, plus deux véritables courbes de réponse en fréquence : l'amplitude en dB et la phase en degrés, toutes deux calculées point par point à partir de G(jω). Le marqueur ambre est la fréquence de coupure de gain ω_gc ; le marqueur violet est la fréquence de coupure de phase ω_pc. La marge de gain et la marge de phase se lisent directement sur ces deux points.
🎮 Comment l'utiliser
Faites glisser les marqueurs × et ○ sur le plan s pour déplacer les pôles et les zéros, ou saisissez des valeurs Re/Im exactes une fois qu'un élément est sélectionné. Utilisez + Pôle, + Paire de pôles, + Zéro, + Paire de zéros pour ajouter des racines réelles ou complexes conjuguées, et Supprimer la sélection pour en effacer une. Le curseur Gain K met à l'échelle toute la fonction de transfert ; les curseurs de plage de fréquences contrôlent combien de décades couvre le balayage. Observez la marge de gain, la marge de phase et le verdict de stabilité se mettre à jour en direct pendant que vous modifiez.
💡 Le saviez-vous ?
L'exemple par défaut G(s) = K/[s(s+1)(s+5)] est un système classique de type 1 : Routh–Hurwitz montre que sa boucle fermée n'est stable que pour 0 < K < 30. Poussez le curseur Gain K vers 30 et observez la marge de gain se réduire vers 0 dB et le verdict passer de stable à marginal puis à instable — exactement la limite que prédit le critère de stabilité de Nyquist/Bode.
Questions fréquentes
Qu'est-ce qu'un diagramme de Bode exactement ?
Un diagramme de Bode est une paire de graphiques — l'amplitude en décibels et la phase en degrés, tous deux tracés en fonction de la fréquence sur un axe logarithmique — qui montrent comment un système linéaire répond à des entrées sinusoïdales de toutes fréquences. Il est produit en substituant s = jω dans la fonction de transfert G(s) du système et en évaluant le nombre complexe résultant G(jω) à de nombreuses fréquences ω ; cette simulation fait exactement cela à l'aide d'un véritable calcul en nombres complexes, pas d'une approximation.
Que sont exactement la marge de gain et la marge de phase ?
La marge de gain est l'augmentation possible du gain en boucle ouverte, en décibels, avant que le système en boucle fermée ne devienne instable ; elle est mesurée à la fréquence de coupure de phase ω_pc, la fréquence où la phase atteint pour la première fois −180°, soit GM = −20·log₁₀|G(jω_pc)|. La marge de phase est le retard de phase supplémentaire que la boucle pourrait tolérer avant l'instabilité ; elle est mesurée à la fréquence de coupure de gain ω_gc, où |G(jω_gc)| = 0 dB (gain unitaire), soit PM = 180° + ∠G(jω_gc). Les deux se lisent directement sur les courbes tracées dans cette simulation, par interpolation entre les deux points d'échantillonnage les plus proches qui encadrent le point de coupure.
Pourquoi des marges positives signifient-elles que la boucle fermée est stable ?
Selon la théorie classique de stabilité de Bode/Nyquist, pour une large classe de fonctions de transfert en boucle ouverte, fermer la boucle avec une contre-réaction unitaire négative reste stable tant que, à la fréquence où le gain égale 0 dB, la phase n'a pas encore atteint −180° (marge de phase positive), et à la fréquence où la phase atteint −180°, le gain est encore inférieur à 0 dB (marge de gain positive). Si l'une de ces conditions échoue, le gain et la phase de la boucle s'alignent à −180° avec un gain ≥ 1, si bien qu'une petite perturbation est renvoyée en phase et amplifiée à chaque cycle — la définition de l'instabilité. Cette simulation signale « marginal » plutôt que simplement « stable » lorsqu'une marge est positive mais faible, car les systèmes réels comportent une incertitude de modèle et de faibles marges laissent peu de robustesse.
Comment cette simulation calcule-t-elle réellement les courbes — est-ce un vrai calcul ?
Oui. Chaque pôle et zéro que vous placez est stocké comme un nombre complexe ; la simulation développe G(s) = K·Π(s−zᵢ)/Π(s−pᵢ), substitue s = jω pour 400 fréquences espacées logarithmiquement entre les limites choisies, et effectue une véritable multiplication et division complexes (selon les règles arithmétiques standard a+bi) à chaque point. L'amplitude est 20·log₁₀ du module du nombre complexe résultant et la phase est son argument, déroulé sur tout le balayage pour qu'il ne saute pas de ±360° — le même calcul qu'effectue un manuel ou la fonction bode() de MATLAB.
Pourquoi la phase continue-t-elle de diminuer au lieu de boucler ?
Chaque pôle d'une fonction de transfert apporte un angle qui approche −90° lorsque la fréquence dépasse la fréquence de coupure de ce pôle, et chaque zéro apporte +90° de la même manière ; un système à trois pôles et sans zéro finit donc près de −270° en haute fréquence, pas quelque part entre −180° et +180°. Cette simulation « déroule » la sortie brute de l'arctangente pour que la courbe de phase soit continue plutôt que de sauter en arrière chaque fois que l'angle brut franchirait ±180°, ce qui est essentiel pour trouver correctement la fréquence de coupure de phase à −180°.
Que signifie l'affichage d'une marge de gain ou de phase « ∞ (pas de croisement) » ?
Si la courbe d'amplitude ne croise jamais 0 dB dans la plage de fréquences choisie, il n'y a pas de fréquence de coupure de gain et la marge de phase ne peut pas être localisée de cette façon — le gain de boucle est soit toujours inférieur, soit toujours supérieur à l'unité sur toute la bande balayée. De même, si la phase n'atteint jamais −180° dans la plage, il n'y a pas de marge de gain finie. Élargir la plage de fréquences avec les curseurs ω min / ω max révélera généralement le point de coupure s'il en existe un.
Pourquoi l'exemple par défaut utilise-t-il un pôle à l'origine ?
Un pôle à s = 0 fait de G(s) un système de « type 1 », signifiant qu'il contient un intégrateur libre ; les systèmes de type 1 sont courants en pratique (commande de position de moteur, régulation de niveau) car l'intégrateur ramène l'erreur en régime permanent à zéro pour une entrée en échelon. Ce sont aussi un exemple pédagogique classique pour l'analyse de Bode car leur phase démarre à −90° en basse fréquence et leur marge de gain est finie et dépendante du gain, rendant la limite de stabilité facile à observer en faisant glisser K.
Simulateur de diagramme de Bode interactif : placez des pôles et des zéros réels, observez de véritables courbes de gain et de phase à partir de G(jω), et lisez en direct la marge de gain, la marge de phase et le verdict de stabilité.
2D · Canvas 2D HTML5 · Cible 60 FPS · fonctionne entièrement côté client, sans installation