Quel est l'avantage d'une implémentation PID dérivée d'une transformée en Z?


29

J'ai vu de nombreux articles PID, tels que celui-ci , utiliser une transformation Z de l'équation PID générique pour dériver une équation de différence folle qui peut ensuite être implémentée dans un logiciel (ou dans ce cas un FPGA). Ma question est, quel est l'avantage d'une telle implémentation par rapport au PID traditionnel et beaucoup plus intuitif sans doctoratmise en œuvre de type? La seconde semble plus facile à comprendre et à mettre en œuvre. Le terme P est une multiplication droite, l'intégrale utilise une somme cumulée et la dérivée est estimée en soustrayant l'échantillon précédent de l'échantillon actuel. Si vous devez ajouter une fonctionnalité telle que la protection intégrale de liquidation, il s'agit d'une algèbre simple. Essayer d'ajouter la protection Integral Windup ou d'autres fonctionnalités à un algorithme de type différence, tel que lié ci-dessus, semble être beaucoup plus compliqué. Y a-t-il une raison d'utiliser une telle implémentation, à part le type "Je suis un mauvais cul qui aime faire des transformations Z pour le plaisir" qui va avec?

EDIT: Le PID sans article PHD que j'ai lié est un exemple de la mise en œuvre plus simple qui utilise une somme cumulée pour le terme intégral et la différence entre des échantillons consécutifs pour le terme dérivé. Il peut être implémenté avec des mathématiques à virgule fixe de manière déterministe et peut inclure des informations de constante de temps en temps réel dans le calcul, si vous le souhaitez. Je cherche essentiellement un avantage pratique à la méthode de transformation Z. Je ne vois pas comment cela pourrait être plus rapide ou utiliser moins de ressources. Au lieu de conserver une somme cumulée de l'intégrale, la méthode Z semble utiliser la sortie précédente et soustraire les composants P et D précédents (pour arriver à la somme intégrale par calcul). Donc, à moins que quelqu'un puisse signaler quelque chose qui me manque, j'accepterai le commentaire d'AngryEE selon lequel ils sont essentiellement les mêmes.

MODIFICATION FINALE: Merci pour les réponses. Je pense que j'ai appris un peu sur chacun, mais au final, je pense que Angry a raison en ce sens que c'est juste une question de préférence. Les deux formes:

e(k-2)=e(k-1),

u(k)=u(k1)+Kp(e(k)e(k1)+KiTie(k)+KdTi(e(k)2e(k1)+e(k2))
u ( k - 1 ) = u ( k )
e(k2)=e(k1),e(k1)=e(k)
u(k1)=u(k)

ou

sum=sum+e(k)
u(k)=Kpe(k)+KiTisum+KdTi(e(k)e(k1))
e(k1)=e(k)

évaluera essentiellement la même chose. Certains mentionnent que le premier peut être implémenté dans un DSP ou un FPGA plus rapidement, mais je ne l'achète pas. L'un ou l'autre pourrait être vectorisé. Le premier nécessite deux opérations post, le second nécessite une opération pré et une opération post, il semble donc égaliser. Le premier nécessite également 1 multiplication supplémentaire dans le calcul réel.


Voulez-vous dire "équation différentielle"?
Kevin Vermeer

Je dois avoir mal compris vos commentaires, sur la base de ces commentaires que j'ai faits au moins. Je supprimerai mon commentaire!
Kortuk

1
Veuillez passer à dsp.stackexchange.com
Jason S

Réponses:


7

Vous êtes embrouillé par toute la fantaisie de la transformée en Z. Les deux approches sont fondamentalement les mêmes - l'approche PID sans PHD a juste moins d'indices. Ils remplissent la même fonction de base et utilisent les mêmes mathématiques de base.

La seule différence majeure entre les deux que je peux voir est que le PID sans PHD ne prend pas en compte le temps d'échantillonnage. Pour faire tout ce qui pourrait être instable, le temps d'échantillonnage est une considération très importante. L'avantage de l'approche de transformation Z dans ce cas est que vous ne pouvez pas l'utiliser sans prendre en compte le temps d'échantillonnage - cela vous oblige à montrer votre travail et vous aide à concevoir un système plus stable.

Il semble également que l'étude de cas que vous avez trouvée mettant en œuvre l'approche de la transformée en Z ait été conçue pour être hautement déterministe. Cela explique leur utilisation des FPGA - les calculs prendront toujours le même temps. Le PID sans mise en œuvre de PHD n'est décidément pas déterministe. L'utilisation de doubles comme variables au lieu d'une implémentation à virgule fixe est sûre de provoquer un comportement non déterministe sur tout microcontrôleur sans unité à virgule flottante (et probablement sur les uC avec un FPU également). L'étude de cas travaille sur un tout autre niveau de complexité par rapport à l'approche PID sans PHD.

Donc, fondamentalement, l'approche mathématique et de contrôle est la même, mais l'approche étude de cas / transformation en Z est plus rigoureuse et théoriquement fondée. L'approche PID sans PHD ne fonctionnera que pour des systèmes très simples, non critiques en temps et relativement stables.


Le PID sans article PHD n'est qu'un exemple de la mise en œuvre plus simple, qui utilise une somme cumulée pour l'intégrale et la différence entre les échantillons consécutifs pour la dérivée. L'article indique que le temps d'échantillonnage doit être cohérent. Le temps d'échantillonnage pourrait facilement être ajouté aux calculs I et D, mais dans la plupart des cas, il n'est pas effectué dans le calcul réel. L'interface graphique du contrôleur (ou une autre interface) présentera les termes I et D à l'utilisateur en termes de secondes en fonction du temps de boucle.
bt2

@ bt2 il semble que vous ayez un cas très spécifique où le PID sans doctorat est la meilleure approche. La plupart des systèmes n'ont aucun affichage des termes I et D. C'est le résultat du contrôleur PID qui a un certain changement sur le système dans son ensemble qui est ensuite rebouclé sur lui-même. Si vous affichez simplement à un utilisateur, il n'y a vraiment aucune raison de s'inquiéter de la stabilité.
Kellenjb le

"L'approche PID sans PHD ne fonctionnera que pour très simple", - je ne suis pas d'accord. Vous pouvez certainement optimiser les systèmes de contrôle numérique à l'aide de l'analyse de transformation en Z, mais le revers de la médaille est que vous pouvez vous laisser entraîner dans la modélisation de votre système si précisément que vous manquez la forêt pour les arbres.
Jason S

10

La méthode de transformation en Z de la conception du contrôleur PID donnera finalement une implémentation beaucoup plus efficace. Ceci est essentiel si vous concevez le plus petit FPGA / DSP / microcontrôleur pour votre application.

Le "PID sans PHD" mentionné est probablement l'approche la plus simple pour implémenter un contrôle PID dans un logiciel, mais il devient lourd à des taux d'échantillonnage plus élevés.

De plus, la transformée en Z se prête mieux à la conception dans un domaine discret (numérique). La méthode de conception traditionnelle (transformée de Laplace) est plus pour le temps continu. Il existe plusieurs façons de convertir entre les deux (maintien de l'ordre zéro, interpolation linéaire, placement des pôles, bilinéaire / Tustin), chacune est dotée de ses avantages et inconvénients en termes de stabilité et de réponse du système. Il est généralement plus facile de faire la conception entière dans le domaine discret.

Pour faire court, si vous utilisez un système relativement "lent" (tous les principaux comportements se produisent de manière significative sous une fréquence de 100 kHz environ), la première conception est probablement très bien. Vous pouvez l'implémenter sur un microcontrôleur ou un PC et en finir avec lui. Au fur et à mesure que les systèmes s'accélèrent, vous devrez peut-être utiliser la méthode de transformation en Z pour obtenir les vitesses dont vous avez besoin (l'article mentionne 9,5 MHz, en supposant que vous disposez d'A / D et de DAC qui peuvent suivre).


1
Même nombre d'opérations mathématiques, représentation différente des nombres. Les doubles sont une représentation beaucoup plus complexe des nombres que la méthode à virgule fixe utilisée dans l'étude de cas. Moins complexe signifie moins d'opérations (sur le silicium).
AngryEE

2
@ bt2, je dirais plus efficace dans le sens où les puces DSP sont configurées pour les jeux d'instructions SIMD (Single Instruction, Multiple Data). Bien qu'il s'agisse du même nombre d'opérations mathématiques, la transformation Z vous permet de faire toutes les multiplications en un seul cycle d'instruction, puis de faire la somme de tous les éléments du vecteur résultant en un seul cycle (en fonction de la plate-forme). Ainsi, bien que les mathématiques soient les mêmes, la complexité temporelle est nettement inférieure, ce qui donne des accélérations plus élevées.
mjcarroll

1
@ bt2 la forme z se prête à l'implémentation comme une équation de différence, qui ne dépend que des sorties passées et de l'entrée actuelle, sans nécessiter une somme cumulée qui à un moment donné débordera (ou débordera). Les DSP sont conçus pour permettre une mise en œuvre efficace des filtres numériques via l'approche par équation aux différences. Voir en.wikipedia.org/wiki/Digital_filter esp. formulaires directs - c'est pour cela que les DSP sont optimisés.
freespace

1
Je pense que vous manquez quelque chose. La somme cumulée ne débordera jamais dans des circonstances normales. Les filtres IIR ne satureront pas toujours, et dans le cas d'un contrôle PID, ce ne sera normalement pas le cas. Le dire avec un algorithme mais pas avec un autre est faux. La somme cumulée est également basée sur les sorties précédentes. Si l'un provoque un débordement, ils le feront tous les deux. Pensez-y de cette façon, la 2e implantation EST la première, avec quelques calculs pris en compte ... u (k-1) - kp (e (k-1) - kd / Ti (e (k-1) - e ( k-2) == (somme
cumulée

1
-1: Les transformées en Z ne vous donnent pas une implémentation plus efficace. En fait, si vous comparez un filtre passe-bas 1 pôle en utilisant la méthode numérique "naïve" à un filtre passe-bas 1 pôle en utilisant la transformation bilinéaire, vous obtiendrez une implémentation légèrement moins efficace avec cette approche. Quelle que soit la dérivation du filtre, le même nombre de variables d'état = à peu près la même efficacité d'implémentation. Il s'agit en grande partie d'une quantité indépendante de la conception du filtre.
Jason S

5

Voici l'affaire, selon mon expérience:

  • Les transformées en Z aident à certaines analyses: la théorie des systèmes échantillonnés en temps discret est mieux modélisée par les transformées en Z.
  • La conception de contrôleurs PID ou de filtres passe-bas peut être effectuée à la fois via des transformées en Z et une analyse classique, avec l'une des nombreuses approximations utilisées pour transformer les dérivés / intégrales du temps continu en temps discret. Si vos pôles et vos zéros sont à des fréquences basses par rapport à la fréquence d'échantillonnage, cela n'a pas d'importance. Restez fidèle à l'approche avec laquelle vous vous sentez le plus en confiance.
  • La dérivation de la transformation Z des filtres et contrôleurs obscurcit souvent la signification physique des paramètres de ces filtres et contrôleurs. Si j'ai une boucle PID avec un gain intégral, un gain proportionnel et un gain différentiel, je sais ce que chacun de ces paramètres fait directement. Si j'utilise des transformées en Z, ce ne sont que des chiffres que j'ai dû dériver d'une manière ou d'une autre.
  • La mise en œuvre de filtres et de contrôleurs peut ou non masquer la signification physique des paramètres de ces filtres et contrôleurs. Cette qualité est en grande partie indépendante du point précédent: si j'ai une conception basée sur la transformation Z, je peux la convertir en une implémentation d'aspect classique, et vice-versa. Votre exemple sous FINAL EDIT est bon car la deuxième implémentation maintient l'intégrateur (" sum") séparé dans sa propre variable d'état. Cette variable d'état a un sens. La première implémentation conserve la variable d'état en tant qu'historique de l'erreur; cela a un sens, mais il fournit moins de perspicacité à mon avis.

Enfin, il y a d'autres problèmes impliquant la non-linéarité ou l'analyse qui vous font souvent choisir une implémentation plutôt qu'une autre (pour moi, c'est toujours l'approche classique pour les contrôleurs, pour les filtres FIR, c'est la transformée en Z, et pour les filtres IIR à 1 ou 2 pôles, c'est généralement le approche classique):

  • Pour les contrôleurs, je garde toujours un intégrateur comme variable d'état, plutôt que des échantillons d'erreur passés. La raison en est que les vrais systèmes nécessitent souvent un anti-enroulement où vous devez empêcher l'intégrale de devenir trop positive ou trop négative. (Et si vous implémentez en virgule fixe, vous devez le faire de toute façon, car la condition enveloppante lorsque vous frappez le débordement affectera le comportement de votre boucle de contrôle)

  • Pour la même raison, je calcule également toujours l'intégrateur de manière référencée en sortie: par exemple sum += Ki*error; out = stuff + sumplutôt que sum += error; out = stuff + Ki*sum. Avec la deuxième approche, si vous modifiez le gain Ki, cela modifie l'effet de l'intégrateur sur la sortie de haut en bas, ce qui n'est probablement pas ce que vous voulez, et la limite change en fonction du gain. Si vous multipliez l'erreur par Ki avant l'intégration, vos unités de l'intégrateur sont les mêmes que les unités de la sortie de la boucle de contrôle, et cela a une signification physique plus évidente.

(mise à jour: j'ai écrit une entrée de blog sur ce sujet plus en détail.)


4

Modifier :

L'utilisation de la transformation Z facilite la combinaison et la simplification des systèmes LTI pour l' analyse . Par exemple, une série en cascade de k systèmes LTI avec les fonctions de transfert H1, H2, ..., Hk se combinera comme un simple produit H = H1*H2*...*Hk. En outre, la fonction de transfert d'une boucle de rétroaction négative est T = G/(1 + G*H), où H est sur le chemin de rétroaction. Une fois que vous disposez d'une fonction de transfert globale, vous pouvez analyser la stabilité (emplacement des pôles) et les performances (transitoires, erreur d'état stable), en ajoutant des filtres et des commentaires supplémentaires pour optimiser la conception.

Pour les sous-systèmes d'ordre supérieur, vous pouvez partitionner la fonction système et l'implémenter comme une série de biquades en cascade (c'est-à-dire par des paires de zéros et de pôles, tels que des conjugués complexes ou des racines répétées), ce qui diminue l'instabilité causée par la quantification. Un biquad de forme canonique:

section biquad


Votre réponse semble impressionnante, mais je n'ai pratiquement aucune idée de ce que vous avez dit. Qu'est-ce que la stabilité de quantification, par exemple, et comment est-elle supérieure pour une forme de l'équation que pour l'autre?
bt2

1
La fonction de transfert H (z) est une fonction rationnelle B (z) / A (z). Chaque polynôme en z est un facteur de N zéros pour un système de Nième ordre. Les zéros de A (z), ceux du dénominateur, sont appelés les pôles (c'est le chemin de rétroaction). À un facteur d'échelle constant, un système linéaire invariant dans le temps (LTI) est décrit par ses zéros et ses pôles.
Eryk Sun

1
Un système LTI à temps discret est stable si tous ses pôles sont à l'intérieur du cercle unitaire sur le plan z. Mais la quantification avec une précision numérique finie introduit un bruit qui peut entraîner la stabilité, l'instabilité ou la dérive d'un système dans le temps. En factorisant H (z) dans un produit biquadratics (biquads), ce type d'erreur est minimisé.
Eryk Sun

2
Un biquad est la partition minimale préférée car les zéros d'un polynôme à coefficients réels sont soit réels soit par paires de conjugués complexes. Le biquade B (z) / A (z) est (b0 + b1z ^ -1 + b2z ^ -2) / (a0 + a1z ^ -1 + a2z ^ -2).
Eryk Sun

J'ai ajouté puis supprimé un exemple de bruit de quantification comparant un quadratique en cascade à un poly direct du 4e ordre. Mais c'était trop. J'ai besoin de sommeil. Désolé, Tyblu.
Eryk Sun,

3

La partie difficile à propos d'un contrôleur PID n'est pas le code lui-même. Les problèmes surviennent lorsque vous essayez d'optimiser le contrôleur. Bien sûr, vous pouvez faire des essais et des erreurs et obtenir un contrôleur assez décent, mais certains systèmes sont beaucoup trop complexes pour qu'une méthode d'essai et d'erreur soit facile à exécuter. Ces mêmes systèmes ont tendance à être ceux qui ont besoin d'un très bon contrôleur au lieu d'un simple décent. Dans ce cas, la transformée en Z est beaucoup plus facile à analyser.

Une autre chose à penser est la stabilité d'un système. Vous avez peut-être affaire à un système qui est assez difficile à devenir instable, ou même s'il le fait, cela ne fait rien de mal. Mais il existe de nombreux systèmes qui peuvent avoir des résultats catastrophiques si le contrôleur le rend instable. La transformée en Z est un autre endroit où il est beaucoup plus facile d'identifier s'il y aura des problèmes.

Et 1 note finale. Lors de l'analyse d'un système dans son ensemble, vous devrez obtenir des équations pour tous les composants de votre système. Bien sûr, vous pouvez l'obtenir à partir du PID sans doctorat, mais si vous avez déjà travaillé avec lui dans la méthode de transformation en Z, il y a beaucoup moins de travail de va-et-vient que vous devez faire.

Maintenant, comme préférence personnelle, j'utilise toujours la méthode PID sans PhD. C'est juste parce que j'utilise simplement des micro-contrôleurs avec des systèmes qui ne dépendent pas vraiment du contrôleur.


2

Il y a plusieurs points pour lesquels la forme de transformation en Z a une utilité plus élevée.

Demandez à toute personne faisant la promotion de l'approche basée sur le temps / simple / sans PHD de définir le terme Kd. Ils sont susceptibles de répondre «zéro» et ils sont susceptibles de dire que D est instable (sans filtre passe-bas). Avant d’apprendre comment tout cela s’organise, j’aurais dit et fait de telles choses.

Le réglage de Kd est difficile dans le domaine temporel. Lorsque vous pouvez voir la fonction de transfert (la transformée en Z du sous-système PID), vous pouvez facilement voir à quel point elle est stable. Vous pouvez également facilement voir comment le terme D affecte le contrôleur par rapport aux autres paramètres. Si votre paramètre Kd contribue à 0,00001 aux coefficients du polynôme z mais que votre terme Ki met 10,5, alors votre terme D est trop petit pour avoir un effet réel sur le système. Vous pouvez également voir l'équilibre entre les termes Kp & Ki.

Les DSP sont conçus pour calculer des équations aux différences finies (FDE). Ils ont des op-codes qui multiplieront un coefficient, additionneront à un accumulateur et décaleront une valeur dans un tampon en un cycle d'instruction. Cela exploite la nature parallèle des FDE. Si la machine n'a pas ce code d'opération ... ce n'est pas un DSP. Les PowerPC embarqués (MPC) ont un périphérique dédié au calcul des FDE (ils l'appellent l'unité de décimation). Les DSP sont conçus pour calculer les FDE car il est trivial de transformer une fonction de transfert en FDE. La plage dynamique de 16 bits n'est pas tout à fait suffisante pour quantifier facilement les coefficients. Beaucoup de premiers DSP avaient en fait des mots 24 bits pour cette raison (je crois que les mots 32 bits sont courants aujourd'hui.)

IIRC, la soi-disant transformée bilinéaire prend une fonction de transfert (une transformée z d'un contrôleur de domaine temporel) et la transforme en un FDE. Prouver qu'il est «difficile», l'utiliser pour obtenir un résultat est trivial - vous avez juste besoin de la forme développée (multipliez tout) et les coefficients polynomiaux sont les coefficients FDE.

Un contrôleur PI n'est pas une excellente approche - une meilleure approche consiste à créer un modèle de comportement de votre système et à utiliser le PID pour la correction des erreurs. Le modèle doit être simple et basé sur la physique de base de ce que vous faites. Il s'agit de la rétroaction dans le bloc de contrôle. Un bloc PID corrige ensuite l'erreur en utilisant la rétroaction du système sous contrôle.

Si vous utilisez des valeurs normalisées, [-1 .. 1] ou [0 ... 1], pour le point de consigne (référence), la rétroaction et la rétroaction, vous pouvez implémenter un algorithme 2 pôles 2 zéro dans assemblage DSP optimisé et vous pouvez l'utiliser pour implémenter n'importe quel filtre de deuxième ordre qui comprend le PID et le filtre passe-bas (ou passe-haut) le plus basique. C'est pourquoi les DSP ont des op-codes qui supposent des valeurs normalisées, par exemple un qui produira une estimation de l'inverse-carré pour la plage (0..1] Vous pouvez mettre deux filtres 2p2z en série et créer un filtre 4p4z, cela permet vous pour exploiter votre code DSP 2p2z pour, par exemple, implémenter un filtre Butterworth passe-bas à 4 pressions.

La plupart des implémentations dans le domaine temporel incorporent le terme dt dans les paramètres PID (Kp / Ki / Kd). La plupart des implémentations de domaine z ne le font pas. dt est placé dans les équations qui prennent Kp, Ki et Kd et les transforment en coefficients [] & b [] afin que votre étalonnage (réglage) du contrôleur PID soit maintenant indépendant de la vitesse de contrôle. Vous pouvez le faire fonctionner dix fois plus vite, lancer les calculs a [] et b [] et le contrôleur PID aura des performances cohérentes.

Un résultat naturel de l'utilisation de FDE est que l'algorithme est implicitement "sans problème". Vous pouvez modifier les gains (Kp / Ki / Kd) à la volée pendant l'exécution et cela se comporte bien - selon la mise en œuvre du domaine temporel, cela peut être mauvais.

Beaucoup d'efforts sont généralement consacrés aux contrôleurs PID du domaine temporel pour empêcher la liquidation intégrale. Il y a une astuce simple avec la forme FDE qui fait que le PID se comporte bien, vous pouvez bloquer sa valeur dans le tampon d'historique. Je n'ai pas fait le calcul pour voir comment cela affecte le comportement du filtre (en ce qui concerne les paramètres Kp / Ki / Kd), mais le résultat empirique est qu'il est «lisse». Cela exploite la nature «sans pépin» du formulaire FDE. Un modèle de rétroaction contribue à empêcher la liquidation intégrale et l'utilisation du terme D permet d'équilibrer le terme I. Le PID ne fonctionne vraiment pas comme prévu avec un gain D. (Les points de consigne d'orientation sont une autre caractéristique clé pour éviter une remontée excessive.)

Enfin, les transformées en Z sont un sujet de premier cycle et non un «doctorat». Vous devriez avoir tout appris à leur sujet dans l'analyse complexe. C'est là que vous allez à l'université, l'instructeur que vous avez et l'effort que vous déployez pour apprendre les mathématiques et apprendre à utiliser les outils disponibles peut faire une différence significative dans votre capacité à travailler dans l'industrie. (Mon cours d'analyse complexe était horrible.)

L'outil de facto de l'industrie est Simulink (qui n'a pas de système d'algèbre informatique, CAS, vous avez donc besoin d'un autre outil pour lancer des équations générales). MathCAD ou wxMaxima sont des solveurs symboliques que vous pouvez utiliser sur un PC et j'ai appris à le faire à l'aide d'une calculatrice TI-92. Je pense que la TI-89 a également un système CAS.

Vous pouvez rechercher des équations de domaine z ou de domaine laplace sur wikipedia pour les filtres PID et passe-bas. Il y a une étape ici que je ne bloque pas, je crois que vous avez besoin de la forme à domaine temporel discret du contrôleur PID, puis que vous devez en prendre la transformation z La transformée de Laplace devrait être très similaire à la transformée z et est donnée comme PID {s} = Kp + Ki / s + Kd · s Je pense que la transformée z rendrait mieux compte des Dt dans les équations suivantes. Dt est delta-t [ime], j'utilise Dt pour ne pas confondre cette constante avec une dérivée 'dt'.

b[0] = Kp + (Ki*Dt/2) + (Kd/Dt)
b[1] = (Ki*Dt/2) - Kp - (2*Kd/Dt)
b[2] = Kd/Dt

a[1] = -1
a[2] = 0

Et voici le FDE 2p2z:

y[n] = b[0]·x[n] + b[1]·x[n-1] + b[2]·x[n-2] - a[1]·y[n-1] - a[2]·y[n-2]

Les DSP n'avaient généralement qu'un multiplier et ajouter (pas un multiplier et soustraire), vous pouvez donc voir la négation roulée dans les coefficients a []. Ajoutez plus de b pour plus de pôles, ajoutez plus de a pour plus de zéro.


1

Il est préférable d'utiliser la méthode de transformation Z en général, car ce faisant, vous conservez le comportement exact du système analogique équivalent. Il existe des méthodes de réglage bien connues, comme Ziegler-Nichols, qui fonctionnent dans le domaine analogique tout comme publiées. Si vous utilisez la méthode de transformation Z, vous avez une attente mathématique rigoureuse que votre contrôleur résultant fera la même chose pour les mêmes valeurs des gains P, I et D, qu'il le fera dans le domaine analogique, compte tenu de ces gains. De plus, vous pouvez dessiner un locus racine discret pour le système et prédire la stabilité pour un ensemble donné de gains, ce qui ne peut pas être fait si vous créez un contrôleur ad hoc directement dans le code.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.