Automatique linéaire échantillonnée

Embed Size (px)

Citation preview

  • Automatique linaire chantillonne

    Version 2009.1

    Gonzalo Cabodevila [email protected]

    TDs : G. Cabodevila, D. Chappe, A. Janex, B. Lang Tutorial Matlab : B. Jouvencel

    1re anne Semestre jaune

    AUT1 - Automatique

    cole Nationale Suprieure de

    Mcanique et des Microtechniques

    26, chemin de lpitaphe

    25030 Besanon cedex FRANCE

    http://intranet-tice.ens2m.fr

  • 2

  • Preface

    Le choix de lenseignement de lautomatique echantillonnee de`s la premie`re annee se fonde sur la constatationque la majorite dentre vous ont acquis les bases de lautomatique lineaire pendant les classes preparatoires.Celles et ceux pour qui cette hypothe`se est fausse auront un peu de travail personnel supplementaire a` fournir.Les enseignants sont la` pour vous aider, nhesitez pas a` poser des questions. Par ailleurs, la bibliothe`que posse`dequelques ouvrages de qualite tels que [1] et [2] sans oublier les techniques de lingenieur, accessibles en ligne.

    Ce polycopie1 nest gue`re quun document vous epargnant la recopie de formules, la presence en cours estindispensable. Enfin, je ne saurai que trop vous conseiller de lire dautres ouvrages traitant du meme sujet,notamment [3], [4], [5] ou [6] (vous noterez une etrange ressemblance avec ce dernier ouvrage, cetait mon prof !).Il existe aussi quelques ouvrages au format PDF disponibles gratuitement sur internet ([7], [8], [9], [10], [11])que je vous conseille vivement de telecharger afin davoir une deuxie`me version des faits.

    Le cours est organise sous la forme de 6 lecons aussi independantes que possible. Des rappels des notions utilespour la comprehension de la lecon seront faits au debut de chaque seance, neanmoins une relecture des notesde cours (15mn) est indispensable.

    Lhomme de science le sait bien, lui, que seule lascience, a pu, au fil des sie`cles, lui apporter lhorlogepointeuse et le parcme`tre automatique sans lesquelsil nest pas de bonheur terrestre possible.

    Pierre DesprogesExtrait de Vivons heureux en attendant la mort

    Peut-on, dans la vie, triper sur quoi que ce soit,sans se faire un peu chier pour lapprendre ?

    Pierre Foglia

    1Ce cours est redige avec LATEX, les transparents sont faits avec LATEX et le package Beamer. Les dessins sont issus de Matlab

    et de Xfig ou Draw de Open Office.

    3

  • 4

  • Table des matie`res

    1 Introduction 91.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.2 Exemples dasservissements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    1.2.1 Historique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.3 Mise en uvre des asservissements numeriques . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

    1.3.1 Technologie des asservissements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141.4 Echantillonnage et quantification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

    1.4.1 Le bruit de quantification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.5 Periode dechantillonnage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

    1.5.1 Le proble`me de la periode dechantillonnage . . . . . . . . . . . . . . . . . . . . . . . . . 171.5.2 Le recouvrement de spectre avec les mains . . . . . . . . . . . . . . . . . . . . . . . . . . 191.5.3 Bruit sur la derivee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201.5.4 Choix de la periode dechantillonnage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    2 Transformee en z 252.1 Definition de la transformee en z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252.2 Proprietes de la transformee en z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262.3 Calcul de la transformee en z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

    2.3.1 Par la formule de definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282.3.2 Par la theorie des residus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282.3.3 Par lutilisation des tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

    2.4 Transformee inverse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302.4.1 Theorie des residus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302.4.2 Par division polynomiale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302.4.3 Par lutilisation des tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

    2.5 Transmittances echantillonnees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322.5.1 Notions de schema bloc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322.5.2 Transformee en z dun schema bloc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332.5.3 Transformee dun syste`me precede par un bloqueur dordre 0 . . . . . . . . . . . . . . . 332.5.4 Transmittances echantillonnees de syste`mes boucles . . . . . . . . . . . . . . . . . . . . 352.5.5 Avec Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

    3 Analyse des syste`mes 373.1 Stabilite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

    3.1.1 Conditions de stabilite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383.1.2 Crite`re de Jury . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383.1.3 Crite`re de Routh-Hurwitz applique sur la transformee en w . . . . . . . . . . . . . . . . 393.1.4 Avec Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

    3.2 Correspondance des plans z et p . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413.2.1 Reponse impulsionnelle en fonction de la position des poles. . . . . . . . . . . . . . . . . 42

    3.3 Le lieu dEvans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433.3.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433.3.2 Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

    3.4 Precision des syste`mes echantillonnes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463.4.1 Erreur vis-a`-vis de la consigne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463.4.2 Erreur vis-a`-vis de la perturbation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473.4.3 Extension du raisonnement a` tous types dentrees . . . . . . . . . . . . . . . . . . . . . . 47

    5

  • 6 TABLE DES MATIE`RES

    3.4.4 Cycle limite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

    4 Transposition des correcteurs analogiques 514.1 Les differentes approximations de la derivee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

    4.1.1 Differences vers larrie`re . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514.1.2 Differences vers lavant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524.1.3 Transformation bilineaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534.1.4 Avec Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

    4.2 PID analogique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554.2.1 Reglages de Ziegler-Nichols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554.2.2 P, PI, ou PID ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

    4.3 Le PID numerique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574.3.1 Reglages de Takahashi pour un regulateur PID numerique filtre . . . . . . . . . . . . . 58

    4.4 Mise en uvre dun asservissement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594.4.1 Anti windup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594.4.2 Predicteur de Smith . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604.4.3 Algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

    5 Synthe`ses a` temps detablissement fini 655.1 Synthe`se en z de correcteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

    5.1.1 Exemple idiot... mais riche denseignements . . . . . . . . . . . . . . . . . . . . . . . . . 655.2 Synthe`ses a` temps detablissement fini . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

    5.2.1 Synthe`se a` temps detablissement minimal absolu . . . . . . . . . . . . . . . . . . . . . . 685.2.2 Synthe`se a` temps detablissement minimal non absolu . . . . . . . . . . . . . . . . . . . 685.2.3 Reponse pile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705.2.4 Applications des synthe`ses a` temps detablissement fini . . . . . . . . . . . . . . . . . . 715.2.5 Exemples de reponse pile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

    5.3 Resolution de lequation diophantienne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

    6 Methodes de commande avancees 776.1 Choix des poles en boucle fermee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 776.2 Methode de Zdan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

    6.2.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 796.2.2 Correcteur de Zdan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

    6.3 Commande RST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 816.3.1 Synthe`se de la loi de commande RST . . . . . . . . . . . . . . . . . . . . . . . . . . . . 826.3.2 Choix des polynomes Am, Bm et A0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 836.3.3 Cas particulier du correcteur RST : le correcteur serie . . . . . . . . . . . . . . . . . . . 83

    Bibliographie 84

    I Annexes 87

    A Tables de transformees 89

    B Travaux diriges 93B.1 TD n1 : Frequence dechantillonnage et equations recurrentes . . . . . . . . . . . . . . . . . . 95B.2 TD n2 : Syste`mes recurrents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96B.3 TD n3 : Asservissement numerique de vitesse . . . . . . . . . . . . . . . . . . . . . . . . . . . 97B.4 TD n4 : Etude dun four electrique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98B.5 TD n5 et 6 : Etude dun asservissement de position . . . . . . . . . . . . . . . . . . . . . . . . 99B.6 TD n7 : Methode de Zdan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101B.7 TD n8 : Synthe`se dun regulateur RST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

    C Tutorial Matlab 105Tutorial Matlab de Jouvencel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

  • TABLE DES MATIE`RES 7

    D Annales 127Devoir personnel Juin 2006 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127Examen final Juin 2006 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129Devoir personnel Juin 2007 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133Examen final Juin 2007 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134Examen final Juin 2008 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138Examen final Janvier 2009 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144

  • 8 TABLE DES MATIE`RES

  • Chapitre 1

    Introduction

    1.1 Definition

    Lautomatique est la science qui traite de lanalyse et de la commande des syste`mes dynamiques evoluantavec le temps. En dautres mots de lautomatisation de taches par des machines fonctionnant sans interventionhumaine.

    Wikipedia

    Cest une partie dun ensemble plus vaste nomme cybernetique. Definie en 1947 par Norbert Wienner, lacybernetique est la base de la robotique, de lautomatique, de lintelligence artificielle et de la theorie delinformation.

    1.2 Exemples dasservissements

    1.2.1 Historique

    Lhistoire de lautomatique demarre sans doute de`s la prehistoire. En effet, le masque du sorcier prehistoriqueest une premie`re tentative de donner une vie propre a` un objet inanime.Le syste`me souvent cite comme etant la premie`re realisation dun correcteur automatique est la clepsydre deKtesibios (-270 av. J.C) (figure 1.1). Afin dameliorer le principe de lhorloge a` eau, Ktesibios introduit unreservoir supplementaire dans lequel le volume de liquide reste constant grace a` un flotteur qui ferme lentreedu reservoir lorsque celui-ci est trop plein. En gros, cest une chasse deau moderne.

    Fig. 1.1 Clepsydre de Ktesibios(-270 av. J.C., Alexandrie).

    Lhorloge, des sie`cles plus tard, est encore un moteur de decouvertes dans le domaine de lautomatique.Lechappement a` ancre nest gue`re quun stabilisateur de frequence. Les developpements de lhorloge conduisentalors a` la creation dautomates extremement compliques. Citons, a` titre dexemple, le canard de Vaucanson

    9

  • 10 CHAPITRE 1. INTRODUCTION

    (1709-1782) (figure 1.2) qui pouvait boire, se nourrir, caqueter, nager, digerer et defequer. Lidee de la pro-grammation est nee a` peu pre`s a` la meme epoque. En 1728, Jean-Philippe Falcon cree le premier metier a` tisserprogrammable par cartons perfores. Vaucanson realise un metier a` tisser programme en 1745, et en 1801 lecele`bre metier a` tisser automatique programmable de Joseph-Marie Jacquard.

    Fig. 1.2 Canard de Vaucanson (' 1739).

    Fig. 1.3 Metier a` tisser programmable.Fig. 1.4 Cartes perforees, le debut de la program-mation.

    A la meme epoque dautres syste`mes voient le jour, pousses par la revolution industrielle qui est en marche.Denis Papin developpe la soupape de securite (figure 1.5) pour les syste`mes fonctionnant a` la vapeur et JamesWatt invente le regulateur de vitesse a` boule (figure 1.6).Les realisations precedentes ne manquent pas dingeniosite, neanmoins il faudra attendre larrivee de lelectricitepuis de lelectronique pour voir apparatre les premiers correcteurs en tant que tels. Enfin, le developpementdes microprocesseurs puis celui des microcontroleurs permet aujourdhui de mettre en uvre des principes decommande tre`s elabores, notamment : le pilotage de syste`mes instables les commandes robustes lidentification en ligne la commande de syste`mes non lineaires la commande predictive ...

  • 1.2. EXEMPLES DASSERVISSEMENTS 11

    Fig. 1.5 Soupape de securite de Denis Papin(' 1679). Fig. 1.6 Regulateur de vitesse de Watt (1788).

    Les figures 1.7 et 1.8 representent deux exemples de stabilisation de syste`mes instables, les figures 1.9 et 1.10representent quant a` elles deux exemples de syste`mes instables pour lesquels le correcteur na rien pu faire.Dans les deux cas, le correcteur ny est pour rien. Une erreur humaine et une erreur de conception sont a`lorigine des deux proble`mes.

    Fig. 1.7 Fusee Ariane (ESA). Fig. 1.8 Avion de combat Rafale (Dassault).

  • 12 CHAPITRE 1. INTRODUCTION

    Fig. 1.9 Fusee Ariane (ESA). Fig. 1.10 Centrale electrique de Tchernobyl.

    Retenez encore quaujourdhui sur 100 syste`mes meritant detre asservis : 10 le sont effectivement, mais 9 sont mal asservis.

  • 1.3. MISE EN UVRE DES ASSERVISSEMENTS NUMERIQUES 13

    1.3 Mise en uvre des asservissements numeriques

    Le schema general dun asservissement analogique est represente en figure 1.11, sa transposition en commandenumerique est representee en figure 1.12.

    Fig. 1.11 Syste`me asservi lineaire continu.

    Fig. 1.12 Syste`me asservi lineaire echantillonne. (Ne cherchez pas les boites CAN et CNA sous simulink, elles nexistentpas ! CAN est intrinse`que en passant de continu a` echantillonne, CNA sappelle en fait ZOH pour Zero Order Hold.)

    Les avantages de lasservissement numerique sont nombreux, en voici quelques uns.

    Realisation aisee de regulateurs complexes, lois de commande raffinees. Facilite de mise en oeuvre de commandes anticipatrices (compensation par rapport a` la consigne ou a`

    certaines perturbations). Mise en oeuvre dalgorithmes de regulation sans equivalent analogique. Insensibilite de la caracteristique entree-sortie du regulateur aux parasites, aux variations de temperature,

    au vieillissement, etc. Pas de dispersion des parame`tres du regulateur en cas de fabrication en serie. Prise en compte de defauts, des limites et comportements particuliers du syste`me a` regler (non linearites,

    saturations) par simple programmation. Linearisation autour dun point de fonctionnement ajustable. Generateur de trajectoires integre. Changement de correcteur souple et rapide. Interface utilisateur conviviale. Plusieurs syste`mes corriges par un seul microprocesseur.

  • 14 CHAPITRE 1. INTRODUCTION

    Il y a aussi quelques inconvenients quil convient de connatre pour mieux les contourner. Notamment lobserva-tion discontinue de la grandeur reglee, le syste`me est en boucle ouverte entre deux instants dechantillonnage.Sans precautions particulie`res, le bouclage numerique inse`re des non linearites dans la boucle de regulationdues : a` la quantification des convertisseurs, a` la precision de calcul finie du microprocesseur, au procede dechantillonnage (recouvrement spectral).

    Ces non linearites peuvent avoir un effet destabilisant (cycles limites) et introduisent des bruits supplementaires,voire des battements. Un autre phenome`ne important est linsertion de retards purs dans la boucle de regulationdus au temps de conversion analogique-numerique (A/N) et numerique-analogique (N/A) et au temps dexecutionde lalgorithme de regulation, or les retards purs sont tre`s destabilisants.

    1.3.1 Technologie des asservissements

    Le choix du support materiel dun asservissement numerique est evidemment fonction de lobjet controle. Lagamme de supports est vaste, pour fixer les idees voici trois syste`mes complets.Dans le cas de syste`mes tre`s complexes, necessitant plusieurs asservissements simultanes, des interfaces utili-sateurs conviviales, le choix se porte sur des calculateurs industriels qui se presentent sous la forme dun rackdans lequel on inse`re des cartes a` microprocesseur et des cartes dentrees sorties. La puissance de calcul nestpas limitee.

    Fig. 1.13 Kit de developpement sur Bus VME.Fig. 1.14 Carte d acquisition haute densite. 96voies analogiques 12 bits 3 Mech./s.

    La programmation de ces syste`mes fait appel a` un syste`me dexploitation multitache temps reel.A linverse, pour des syste`mes simples, un microcontroleur1 suffit. La programmation se fait alors en C ou enAssembleur, les microcontroleurs plus puissants acceptent sans proble`me un OS temps reel.

    Fig. 1.15 Microcontroleur PIC.

    Entre les deux, il existe des cartes de puissance intermediaire telle que la SSV DIL/NetPC DNP/5280. Celle-ciposse`de 8Mo de ROM et 16 Mo de RAM (a` comparer aux 8192 mots de ROM et 368 octets de RAM dun PIC

    1Microcontroleur = sur la meme puce microprocesseur+ peripheriques : horloges, entrees sorties binaires et analogiques, liaisonsnumeriques, ...

  • 1.3. MISE EN UVRE DES ASSERVISSEMENTS NUMERIQUES 15

    16F877) ainsi que pratiquement tous les bus classiques (I2C, SPI, CAN et une interface Ethernet)

    Fig. 1.16 Carte microcontroleur SSV DIL/NetPC DNP/5280.

    Enfin, il existe les DSP : Digital Signal Processing, dedies au calcul rapide et flottant, plutot utilises dans desapplications necessitant du traitement du signal consequent.Et pour finir, sachez que les PID industriels soit disant analogiques cachent un microcontroleur, cette technologiepermettant de realiser des constantes de temps impossibles a` realiser en analogique. Mais aussi, de gerer desalarmes, des saturations, des modes de defaut, etc. Vous trouverez au 4.2.1 page 55 une methode rapide pourdeterminer les coefficients de ces correcteurs.

    Fig. 1.17 Regulateur analogique de type PID.

  • 16 CHAPITRE 1. INTRODUCTION

    CAN

    Afin de faire traiter le signal par un microprocesseur, il faut le lui rendre accessible, cest le role du convertisseuranalogique numerique. Plusieurs methodes de conversion existent2 .

    Convertisseur a` rampe numerique Convertisseur a` pesees successives Convertisseur flash

    lent, precis = rapide, moins precis

    Fig. 1.18 Principes de conversion analogique numerique.

    CNA

    Le convertisseur numerique analogique le plus connu est fonde sur le principe du reseau R-2R comme illustresur la figure 1.19. Ce principe est tre`s consommateur de surface de silicium, aussi la grande majorite des micro-controleurs nen posse`dent pas. Une autre methode de conversion consiste a` utiliser le principe de modulationen largeur dimpulsion (MLI, en anglais PWM). Le principe est de faire varier la valeur moyenne du signal desortie binaire (0 - 5V) en faisant varier la largeur de limpulsion. Un filtre RC filtrera les variations rapides,ne laissant passer que les variations lentes soit le signal desire. Ce principe presente lenorme avantage de nedemander quun bit de sortie du microcontroleur par rapport a` 16 bits pour un CNA classique !

    Fig. 1.19 Convertisseur numeriqueanalogique de type reseau R-2R.

    Fig. 1.20 Signal module en modulation de largeur dimpulsion avant etapre`s filtrage haute frequence.

    2dessins tires de : http ://hyperphysics.phy-astr.gsu.edu/hbase/electronic/adc.html

  • 1.4. ECHANTILLONNAGE ET QUANTIFICATION 17

    1.4 Echantillonnage et quantification

    La figure 1.21 montre la difference fondamentale entre le signal analogique et le signal echantillonne et quantifieque le microcontroleur percoit. Ce signal est en fait une suite de nombres codes sur n bits (typiquement 8 a`16 bits)

    Fig. 1.21 Echantillonnage et quantification dun signal.

    En observant le signal echantillonne et quantifie (en bas a` droite de la figure 1.21), la tentation est grande devouloir sapprocher du signal analogique en essayant de faire du quasi-continu par un surdimensionnementdes deux parame`tres principaux que sont la frequence dechantillonnage et le pas de quantification. Les deuxparties suivantes, je lespe`re, vous en dissuaderont.

    1.4.1 Le bruit de quantification

    Pour un signal sinusodal damplitude egale a` la dynamique du convertisseur, le rapport signal a` bruit SNR3

    est de :

    SNR = 6 n 4, 76

    ou` n est le nombre de bits du convertisseurEn pratique on choisit n tel que le rapport signal a` bruit de lensemble ne soit pas trop diminue par laquantification. Il existe des convertisseurs de : 8, 10, 12, 16, 24, 40 bits. Il existe aussi des convertisseurs ayantune caracteristique logarithmique.

    1.5 Periode dechantillonnage

    1.5.1 Le proble`me de la periode dechantillonnage

    La figure 1.23 montre un meme signal echantillonne a` plusieurs frequences, lorsque la periode dechantillonnageTe est egale a` la moitie de la frequence du signal, on voit quil devient impossible de reconstituer le signaloriginal.En augmentant encore la periode dechantillonnage on tombe sur des aberrations comme illustre en figure 1.24.

    3SNR : Signal to Noise Ratio

  • 18 CHAPITRE 1. INTRODUCTION

    Fig. 1.22 Bruit de quantification dun signal.

    Fig. 1.23 Signaux echantillonnes a` differentes frequences.

    Fig. 1.24 Signal ostensiblement sous-echantillonne.

  • 1.5. PERIODE DECHANTILLONNAGE 19

    1.5.2 Le recouvrement de spectre avec les mains

    Sans entrer dans les detail du traitement du signal rappelons une constante des transformees usuelles, Laplace,Fourier et bientot z : le produit de fonctions temporelles est transforme en un produit de convolution danslespace operationnel. En particulier pour la transformee de Fourier :

    x(t) y(t) Fourier X(f) Y (f) (1.1)x(t) y(t) Fourier X(f) Y (f) (1.2)

    La relation 1.1 est illustree en figure 1.25.

    Fig. 1.25 Spectre dun signal echantillonne (echantillonnage parfait).

    En fonction des valeurs relatives de Fmax et Fe on obtient deux types de spectres differents comme illustre enfigure 1.26.

    Fig. 1.26 Phenome`ne de recouvrement de spectre.

    Lorsque Fmax > Fe/2, il se produit le phenome`ne de recouvrement de spectre, a` ne pas confondre avec lerepliement de spectre. Si ce phenome`ne se produit, il est alors impossible de reconstituer le signal original, dou`le theore`me de Shannon :

    Le theore`me de Shannon Toute fonction du temps f(t) possedant un spectre de frequence limitee a` Fmaxpeut etre transformee par echantillonnage periodique, de frequence Fe superieure ou egale a` 2Fmax, sans aucuneperte dinformation.

    Ce theore`me nest quune limite infranchissable, dautre phenome`nes vont intervenir bien avant dans le choixde la periode dechantillonnage.

  • 20 CHAPITRE 1. INTRODUCTION

    Notez que lidee dun spectre limite a` Fmax est illusoire, tous les signaux en automatique ont un spectre infini.On ne peut alors que minimiser ce phenome`ne de recouvrement de spectre. Il sera parfois necessaire dajouterun filtre dit filtre anti-recouvrement ou filtre anti-repliement.Le calcul de ce filtre meriterait un chapitre a` lui seul. Disons pour faire extremement simple, quil sagit le plussouvent dun filtre electronique passe-bas du premier ordre dont la frequence de coupure est choisie entre Fmaxet Fe.

    1.5.3 Bruit sur la derivee

    Le theore`me de Shannon impose donc une periode dechantillonnage maximum, quen est-il de la periodedechantillonnage minimum ? La figure 1.27 montre que si la periode dechantillonnage tend vers 0, la deriveecalculee par le taux de variation entre deux periodes dechantillonnage tend vers la derivee de la fonction.

    df(t)dt' f(t) f(t Te)

    Te

    Fig. 1.27 Difference entre derivee analogique et derivee numerique.

    Ceci nest malheureusement vrai que dans le cas dun signal sans bruit. Or les signaux sont toujours entachesde bruit et dans ce cas la proposition precedente nest plus vraie. Dans le cas dun signal en rampe, la figure1.28 montre que lerreur sur le calcul de la derivee crot lorsque Te decrot.

    Fig. 1.28 Influence de la periode dechantillonnage dans le cas de calculs de derivees en presence de bruit.

    Ajoutez a` cela le fait quune periode dechantillonnage tre`s petite implique un microcontroleur tre`s rapide etdonc couteux.

  • 1.5. PERIODE DECHANTILLONNAGE 21

    1.5.4 Choix de la periode dechantillonnage

    Les considerations precedentes montrent : une limite fondamentale : le theore`me de Shannon, que lidee de surechantillonner provoque enormement de bruit sur le calcul des derivees et demande un

    microcontroleur puissant donc cher.Entre les deux, il existe un vaste choix de frequences dechantillonnage. Plusieurs auteurs proposent une for-malisation de ce choix, le plus souvent quasi-empirique mais donnant de bons resultats du point de vue ducompromis precision - vitesse de calcul necessaire.

    Sevely [3]

    Yves choisit Te, la periode dechantillonnage telle quelle soit

    2pi180

    Te 2pi90

    9 Te 4, 5

    Bulher [4]

    Hansruedi choisit Te, la periode dechantillonnage telle quelle soit 5 fois plus petite que la constante de temps la plus rapide que lon veut controler en boucle fermee

    Te ' 5 8 fois plus petite que la pseudo-periode, sil sagit de poles complexes conjugues

    Te ' 182pi

    0

    1 2

    Crite`re frequentiel [9]

    On choisit Fe, la frequence dechantillonnage telle quelle soit 6 a` 24 fois plus grande que la frequence de coupuredu syste`me. Soit pour un syste`me dordre 1 :

    Te 4Pour un syste`me dordre 2 : k

    p2+20p+20soit :

    0.25 < 0T < 1 = 0.7

    0.4 < 0T < 1.75 = 1

    Exemple

    Soit G(p) une fonction de transfert possedant 4 poles en boucle ouverte :

    G(p) =1

    (1 + 1p)(1 + 2p)(1 + 3p)(1 + 4p)

    Apre`s mise en uvre de lasservissement vous esperez accelerer le syste`me, la fonction de transfert devient donc

    F (p) =C(p)G(p)

    1 + C(p)G(p)=

    1

    (1 + 2 m0 p+p2

    02)(1 + 3p)(1 +

    4p)

    Quelques valeurs numeriques pour fixer les idees :

    3 = 1s, 0 = 1 rad.s1 et =0.43 (reglage classique a` 20% de depassement), on ne cherche pas a` controler

    4.

  • 22 CHAPITRE 1. INTRODUCTION

    Fig. 1.29 Reponse dun second ordre echantillonne (mais pas quantifie !). Observez le retard introduit parlechantillonnage.

    Fig. 1.30 Comparaison des periodes dechantillonnages preconisees par differents auteurs.

  • 1.5. PERIODE DECHANTILLONNAGE 23

    Fig. 1.31 Lieu des poles en z en fonction de la periode dechantillonnage. Te varie de 0.01s a` 3s. Buhler Sevely+ + + crite`re frequentiel

  • 24 CHAPITRE 1. INTRODUCTION

  • Chapitre 2

    Transformee en z

    2.1 Definition de la transformee en z

    On appelle transformee en z dun signal f(t) la transformee de Laplace F ?(p) du signal echantillonne f?(t),dans laquelle on effectue la substitution

    z = eTep (2.1)

    Notation : Z[F (p)] ou Z[f(t)]Rappel : transformee de Laplace dun signal

    L[f(t)] =

    0

    f(t)eptdt

    le signal f(t) echantillonne secrit f?(t) avec :

    f?(t) = f(t)Te(t)

    avec Te =k= (t kTe) k Z peigne de Dirac

    Ainsi la transformee de Laplace du signal echantillonne est :

    L[f?(t)] =

    0

    (f(t)

    k=

    (t kTe))eptdt

    L[f?(t)] =

    k=

    0

    f(t)(t kTe)eptdt

    L[f?(t)] =

    k=f(kTe)ekTep

    la fonction f etant nulle pour tout t < 0,

    F ?(p) = L[f?(t)] =k=0

    f(kTe)ekTep

    puis en posant z = eTep

    F (z) =k=0

    f(kTe)zk (2.2)

    Exemple :f(t) = U(t) echelon dHeaviside

    F (z) =k=0

    f(kTe)zk =k=0

    zk = 1 + z1 + z2 + . . . =1

    1 z1 =z

    z 1Rappel : Somme dune suite geometrique :premier terme qui y est moins premier terme qui ny est pas sur un moins la raison.

    25

  • 26 CHAPITRE 2. TRANSFORMEE EN Z

    2.2 Proprietes de la transformee en z

    Comme la transformee en z est la transformee de Laplace suivie dun changement de variable, ses proprietesse deduisent de celles de la transformee de Laplace.

    LineariteZ[af(t) + bg(t)] = aF (z) + bG(z) (2.3)

    ou` a et b sont des constantes

    Translations reelles

    Retard de k periodesZ[f(t kTe)U(t kTe)] = zkF (z) (2.4)

    Notez loperateur retard z1

    Fig. 2.1 Illustration de la propriete du retard.

    Avance de k periodes

    Z[f(t+ kTe)U(t)] = zkF (z) zkF (0) zk1F (Te) zk2F (2Te) . . . zF ((k 1)Te)

    Z[f(t+ kTe)U(t)] = zk[F (z)

    k1k=0

    f(kTe)zk]

    (2.5)

    Les valeurs initiales sont enlevees, sinon, le principe de causalite nest plus respecte.

    Fig. 2.2 Illustration de la propriete de lavance.

    Translation complexeZ[eaTef(t)] = Z[F (p+ a)] = F (zeaTe) (2.6)

  • 2.2. PROPRIETES DE LA TRANSFORMEE EN Z 27

    Changement dechelle en zZ[akf(kTe)] = F (z

    a) (2.7)

    Theore`me de la valeur finale

    limt f

    ?(t) = limk

    f(kTe) = limz1

    (1 z1)F (z) (2.8)

    Theore`me de la valeur initiale

    limt0

    f?(t) = limk0

    f(kTe) = limzF (z) (2.9)

    Theore`me de la convolution discre`te

    Z[ k=0

    f(kTe)g((n k)Te)]]

    = F (z)G(z) (2.10)

    Cest le theore`me fondamental qui permet de transformer lequation de la sortie dun syste`me,

    en temporel : sortie = convolution de lentree avec la reponse impulsionnelle du syste`me,

    en z : sortie = produit de lentree avec la transmittance du syste`me.

    Multiplication par tk

    Z [tf(t)] = Tez ddzF (z) (2.11)

    Tre`s utile pour demontrer la forme des signaux canoniques

    Theore`me de sommation

    Z[

    nk=0

    f(kTe)

    ]=

    z

    z 1F (z) (2.12)

    Pour aller plus loin : Demontrez le theore`me de la convolution discre`te

  • 28 CHAPITRE 2. TRANSFORMEE EN Z

    2.3 Calcul de la transformee en z

    2.3.1 Par la formule de definition

    F (z) =k=0

    f(kTe)zk (2.13)

    Cette methode est souvent lourde a` mettre en uvre.Exemples :f(t) = et

    F (z) =k=0

    ekTezk = 1 + eTez1 + e2Tez2 + . . . =1

    1 eTez1 =z

    z eTe

    f(t) = t

    F (z) =k=0

    kTezk = Te

    k=0

    kzk = zTek=0

    kzk1

    = zTek=0

    d

    dzzk = zTe d

    dz

    k=0

    zk

    = zTe ddz

    11 z1 =

    zTez2

    (1 z1)2

    =Tez

    (z 1)2

    2.3.2 Par la theorie des residus

    Cest la methode la plus a` meme de traiter tous les cas ! Neanmoins elle implique la connaissance de la theoriedes residus. Elle nest donc donnee qua` titre informatif.

    F (z) =i

    Residus{

    F ()1 eTez1

    }=i

    ou` les i sont les poles de la fonction de transfert F (p)Rappel : Theorie des residus.

    f(z)dz = 2jpi

    Res

    avec

    Res(a) =1

    (n 1)! limza(dn1

    dzn1[(z a)nf(z)]

    )si le pole a est un pole simple dordre n

    2.3.3 Par lutilisation des tables

    Ce sera la methode utilisee dans le cadre de ce cours. Le plus souvent on posse`de la transformee de Laplacedu syste`me. On proce`de a` une decomposition en elements simples puis, a` laide du tableau A.1 donne en page90, on obtient la transformee en z. Notez que la connaissance des proprietes de la transformee en z est souventnecessaire.

    Rappel sur la decomposition en elements simples

    On conside`re la fraction rationnelle reelle :

    F =4p3

    (p2 + 1)(p+ 1)3

    La forme de sa decomposition en elements simples se deduit de la valeur et de la multiplicite de ses poles. Ilexiste des reels a, b, c, d, e, f et un polynome reel E tels que :

  • 2.3. CALCUL DE LA TRANSFORMEE EN Z 29

    4p3

    (p2 + 1)(p+ 1)3= E +

    a

    p+ 1+

    b

    (p+ 1)2+

    c

    (p+ 1)3+

    (dp+ e)(p2 + 1)

    Il sagit desormais de determiner la valeur de chaque coefficient indetermine. Le degre du numerateur de F est strictement inferieur au degre de son denominateur, donc E = 0. On multiplie de part et dautre par (p+ 1)3 et on fait p = 1 pour obtenir c = 2 . De meme, on multiplie de part et dautre par (p2 + 1) et on fait p = pour obtenir d = 1 et e = 1. On etudie ensuite la limite de limp pF (p) , ce qui donne a+ d = 0 dou` a = 1. Puis on calcule F (0) = 0 dou` 0 = a+ b+ c+ e et donc b = 4.

    Verification, calculer par exemple F (1) = 1/4 .

    Transformation en z

    1p+1 zzeTe4

    (p+1)2 4 TezeTe

    (zeTe )2

    2(p+1)3 ????p1

    (p2+1) =p

    (p2+1) 1(p2+1) z(zcosTe)z22z cosTe+1 z sinTez22z cosTe+1mais

    1(p+ a)2

    teat TezeaTe

    (z eaTe)2et

    L[

    12t2eat

    ]=

    1(p+ a)3

    Z [tf(t)] = Tez ddzF (z)

    donc

    Z [t teat] = Tez ddz

    [Teze

    aTe

    (z eaTe)2]

    =T 2eaT z

    (z + eaT

    )(z eaT )3

    Z[

    4p3

    (p2 + 1)(p+ 1)3

    ]= z

    z eTe + 4Teze

    Te

    (z eTe)2

    +T 2eaT z

    (z + eaT

    )(z eaT )3

    +z(z cosTe)

    z2 2z cosTe + 1 z sinTe

    z2 2z cosTe + 1

  • 30 CHAPITRE 2. TRANSFORMEE EN Z

    2.4 Transformee inverse

    Il sagit, le plus souvent de revenir a` loriginal temporel, soit pour tracer la sortie dun syste`me echantillonnesoit pour retrouver lequation recurrente, dun correcteur pour limplanter dans le calculateur.

    2.4.1 Theorie des residus

    Celle-ci nest donnee a` titre informatif, elle ne sera jamais utilisee dans le cadre de ce cours. Cest la methodela plus complexe a` appliquer a` la main, par contre elle est extremement simple a` utiliser avec les logiciels decalcul symbolique tels que Maple ou Mathematica. Cest en outre la plus apte a` aller plus loin.

    f(kTe) =i

    Residus{zk1F ()

    }=i

    ou` les i sont les poles de la fonction de transfert F (z)Exemple :

    F (z) =z

    z az

    z 1Il y a deux residus en z = a et en z = 1.

    Resz=1 = limz1

    z2

    z azk1 =

    11 a

    Resz=a = limza

    z2

    z 1zk1 =

    ak+1

    a 1donc

    F (kTe) =1

    1 a +ak+1

    a 1 =1 ak+1

    1 a

    2.4.2 Par division polynomiale

    On ne cherche alors que les premiers echantillons de la reponse dun syste`me a` une entree specifiee.Exemple : original de zz0.5

    z z 0.5z + 0.5 1 + 0.5z1 + 0.25z2 +

    0 + 0.5

    0.5 + 0.25z10 + 0.25z1

    (2.14)

    f?(t) = (t) + 0.5(t Te) + 0.25(t 2Te) + donc f(0) = 1, f(Te) = 0.5, f(2Te) = 0.25,

  • 2.4. TRANSFORMEE INVERSE 31

    2.4.3 Par lutilisation des tables

    Methode : decomposer F (z)z en elements simplesPuis a` laide du tableau A.1 donne en page 90 retrouver les originaux fi(t) Developper F (z)z en elements simples, rechercher les racines du denominateur z1, z2, , zn, construire

    F (z)z

    =C1

    z z1 +C2

    z z2 +C3

    z z3 + +Cn

    z zn ,

    revenir a`F (z) =

    C1z

    z z1 +C2z

    z z2 +C3z

    z z3 + +Cnz

    z zn .

    Puis en utilisant

    Z1[

    z

    z a]

    = ak,

    on obtient :f(kTe) = C1zk1 + C2z

    k2 + C3z

    k3 + + Cnzkn.

    Remarque : les zi peuvent etre complexes, mais sont complexes conjugues deux a` deux.

    En resume

    Fig. 2.3 Ensemble des transformations.

  • 32 CHAPITRE 2. TRANSFORMEE EN Z

    2.5 Transmittances echantillonnees

    2.5.1 Notions de schema bloc

    Rappels sur la reduction des schemas-blocs

    Fig. 2.4 Operations fondamentales de reduction des graphes. Le schema de droite est equivalent a` celui degauche.

    Pour aller plus loin : Donner la fonction de transfert du syste`me decrit a` la figure 2.5.

    Fig. 2.5 Exercice : montrez que ce schema se reduit a` un bloc de transmittance : ABDE+AGE(1+ABC)(1+DEF ) .

  • 2.5. TRANSMITTANCES ECHANTILLONNEES 33

    2.5.2 Transformee en z dun schema bloc

    La figure 2.6 decrit une partie de schema bloc en p, il sagit alors de transformer ce schema en un schema blocen z. La tentation est grande de transformer terme a` terme, mais cest faux !

    Fig. 2.6 Il est impossible de transformer un graphe en p en un graphe en z par transformation des differentsblocs !

    G1(p) G1(z)G2(p) G2(z)

    G(p) = G1(p)G2(p) 9 G(z) = G1(z)G2(z)

    Pour que cela soit vrai il faut que le signal entre G1 et G2 soit un signal echantillonne.Les deux exemples suivants illustreront ce proble`me.

    2.5.3 Transformee dun syste`me precede par un bloqueur dordre 0

    Le bloqueur dordre 0 (en anglais Zero Order Hold) est lobjet physique qui permet de passer dun signalnumerique echantillonne, qui ne contient que de linformation et seulement aux instants dechantillonnage, a`un signal analogique continu par morceaux.

    Fig. 2.7 Signaux dentree et de sortie dun bloqueur dordre 0.

    On cherche la transformee en z du schema bloc donne en figure 2.8.

    Fig. 2.8 Transmittance continue precedee dun bloqueur dordre 0.

    En premier lieu, il nous faut la transmittance en p du bloqueur dordre 0, ensuite nous verrons commentdeterminer la transformee en z de lensemble.

  • 34 CHAPITRE 2. TRANSFORMEE EN Z

    Fonction de transfert dun bloqueur dordre 0

    Rappel : La transformee de Laplace dun syste`me est la transformee de Laplace de sa reponse impulsionnelle.Si lon soumet un bloqueur dordre 0 a` une impulsion, on obtient la sortie illustree en figure 2.9.

    Fig. 2.9 Reponse impulsionnelle dun bloqueur dordre 0.

    B0(t) = U(t) U(t Te)B0(p) = U(p) U(p)eTep

    B0(p) =1 eTep

    p

    Calcul de la transformee dun syste`me precede par un bloqueur dordre 0

    G(z) = Z [L1 [B0(p)G(p)]]Par souci de simplification decriture nous ecrirons :

    G(z) = Z [B0(p)G(p)]donc

    G(z) = Z[

    1 eTepp

    G(p)]

    = Z[G(p)p eTep

    pG(p)

    ]

    En appliquant la linearite de la transformation puis le theore`me du retard, on obtient :

    G(z) = Z[G(p)p

    ]Z

    [eTep

    pG(p)

    ]= (1 z1)Z

    [G(p)p

    ]dou`

    G(z) =z 1zZ[G(p)p

    ]Une table des transformees usuelles de syste`mes precedes dun bloqueur dordre 0 est donnee dans le tableauA.2 en page 91.

    Pour aller plus loin : Verifier quelques lignes du tableau A.2

  • 2.5. TRANSMITTANCES ECHANTILLONNEES 35

    Fig. 2.10 Syste`me boucle echantillonne.

    2.5.4 Transmittances echantillonnees de syste`mes boucles

    Le proble`me pose en figure 2.10 est quil ny a pas dechantillonneur bloqueur entre la sortie s et la transmittanceH(p). Qua` cela ne tienne, la transmittance en boucle fermee dun syste`me secrit :

    BF =chane directe

    1 + chane directe chane de retourIci

    BF (z) =C(z)Z [B0(p)G(p)]

    1 + C(z)Z [B0(p)G(p)H(p)]

    2.5.5 Avec Matlab

    Matlab ne sait transformer quen utilisant une methode, ici : faire preceder le syste`me dun bloqueur dordre 0.

    >> Te=1; % definition de la periode dechantillonnage>> sys=tf([1],[1 1 0] ) % definition du syste`me continu>> sysd=c2d(sys,Te, zoh); % transformee en z avec BOZ>> present(sysd); % presentation du resultat>> sysc=d2c(sysd,zoh); % transformee inverse avec BOZ>> present(sysdp); % presentation du resultat

    >> Te=1;>> sys=tf([1],[1 1 0] )

    Transfer function:1

    -------s^2 + s

    >> sysd=c2d(sys,Te, zoh);>> present(sysd);

    Transfer function:0.3679 z + 0.2642

    ----------------------z^2 - 1.368 z + 0.3679

    Sampling time: 1>> sysc=d2c(sysd,zoh);>> present(sysc);

  • 36 CHAPITRE 2. TRANSFORMEE EN Z

    Transfer function:-9.84e-016 s + 1

    --------------------s^2 + s + 1.776e-015

  • Chapitre 3

    Analyse des syste`mes

    Avant de faire une correction quelconque il faut analyser le syste`me. Dans ce chapitre nous aborderons le lienentre les poles en p et les poles en z afin de comprendre comment le syste`me reagit a` une entree de consigneet dans quelle mesure il est possible de transformer cette reaction. Deux points sont fondamentaux, la stabilitedu syste`me et sa precision. En effet on cherche toujours a` ameliorer ces deux points lorsque lon asservit unsyste`me.Notez que ces analyses sont totalement independantes du fait que lon parle dun syste`me en boucle ouverteou en boucle fermee. Hormis lanalyse de la stabilite par le crite`re de Nyquist (non aborde dans ce cours) quipredit la stabilite dun syste`me boucle par un retour unitaire, lensemble des autres points sappliquent sur unefonction de transfert, celle-ci representant soit un syste`me en boucle ouverte soit en boucle fermee.

    3.1 Stabilite

    Definition 1 Un syste`me est dit stable si, ecarte de sa position de repos, celui-ci revient a` cette positionlorsque la cause qui len a ecarte cesse.

    Definition 2 Un syste`me est dit stable si sa reponse a` toute entree bornee est bornee.

    Note : en appliquant ces definitions lintegrateur pur nest pas stable !

    Fig. 3.1 Stabilite des syste`mes au sens de Lyapounov [12] : illustration de la stabilite dune bille sur un profil.

    37

  • 38 CHAPITRE 3. ANALYSE DES SYSTE`MES

    3.1.1 Conditions de stabilite

    Nous avons vu au 2.4.3 quun signal F (z) de la forme :

    F (z) =C1z

    z z1 +C2z

    z z2 +C3z

    z z3 + +Cnz

    z znavait pour original f(kTe) de la forme :

    f(kTe) = C1zk1 + C2zk2 + C3z

    k3 + + Cnzkn

    les Ci et les zi etant complexes.

    Pour que le syste`me soit stable, il faut alors que :

    limk

    f(kTe) = 0

    donc que :

    |zi| < 1En dautres termes, pour quun syste`me soit stable, il faut et il suffit que les poles de la fonction de transfertsoient de module inferieur a` 1.Par abus de langage, nous inclurons dans lensemble des syste`mes stables ceux ayant un ou plusieurs poles en1. 1

    Pour connatre la stabilite dun syste`me il suffit alors de calculer le module des poles du syste`me. Ce calculest le plus souvent fastidieux voire impossible. Cest pourquoi, il existe des crite`res de stabilite ne faisant pasdirectement le calcul des poles mais qui permettent de savoir sils sont, ou pas, de module inferieur a` 1.

    Fig. 3.2 Zones ou` les poles sont stables en p et en z.

    3.1.2 Crite`re de Jury

    Soit H(z) = N(z)D(z) la fonction de transfert dun syste`me echantillonne.

    D(z) = a00 + a01z + a

    02z

    2 + . . .+ a0nzn

    On construit la matrice de dimensions (n 1) (n+ 1) suivante :

    a00 a01 a

    02 a0n1 a0n

    a10 a11 a

    12 a1n1 0

    a20 a21 a

    22 0 0

    ......

    ......

    an20 an21 a

    n22 0 0

    dont les elements sont definis comme suit :

    1Ceux-ci sont marginalement stables.

  • 3.1. STABILITE 39

    aj+1k =

    a

    j0 a

    jnjk

    ajnj ajk

    pour 0 k n j 10 pour k > n j 1

    Le polynome D(z) na aucun zero de module superieur a` 1 si les n+ 1 conditions suivantes sont respectees :

    1.ni=0 a

    0i = D(1) > 0

    2. (1)nni=0(1)ia0i = (1)nD(1) > 03.a00 a0n < 0

    4.aj0 ajnj > 0 pour j = 1, , n 2

    Exemple :D(z) = a00 + a

    01z + a

    02z

    2 + a03z3

    a00 a01 a02 a03a10 a

    11 a

    12 0

    1.ni=0 a

    0i = D(1) > 0

    2. (1)nni=0(1)ia0i = (1)nD(1) > 03.a00 a03 < 0

    4.a10 a12 > 0

    Determiner les conditions de stabilite du syste`me :

    H(z) =2z + 1

    z3 + 2z2 + 4z + 7

    3.1.3 Crite`re de Routh-Hurwitz applique sur la transformee en w

    Transformee en w La transformee en w est une transformation homographique qui fait correspondre exac-tement linterieur du cercle unite au demi plan gauche du plan complexe.

    w =z 1z + 1

    z =1 + w1 w

    En appliquant la transformee en w au syste`me, les racines en z de module inferieur a` 1 sont transformees endes racines a` partie reelle negative, il suffit alors dappliquer le crite`re de Routh-Hurwitz sur la transformee enw pour connatre le signe des racines du polynome considere et donc la stabilite du syste`me.

  • 40 CHAPITRE 3. ANALYSE DES SYSTE`MES

    Fig. 3.3 Illustration de la transformee homographique w.

    Determiner les condition de stabilite du syste`me par lapplication du crite`re de Routh sur la trans-formee en w :

    H(z) =2z + 1

    z3 + 2z2 + 4z + 7

    3.1.4 Avec Matlab

    Ou tout autre logiciel de calcul numerique (Scilab, Octave...2)

    >> P=[1 2 4 7]; % definition du polyno^me>> abs(roots(P)) % calcul du module (abs) des racine (roots) de P

    Il suffit de regarder si les modules de toutes les racines sont inferieurs a` 1.

    2Logiciels gratuits !

  • 3.2. CORRESPONDANCE DES PLANS Z ET P 41

    3.2 Correspondance des plans z et p

    Lobjectif est de determiner le type de comportement du syste`me a` la vue des poles du syste`me traces dans leplan complexe.Etudions le lien entre un pole simple en p et son transforme par la transformation en z

    Poles simples1

    p+ a z

    z eaTeLe pole en a est transforme en un pole en eaTeLaxe des reels en p est transforme en laxe des reels positifs en z. laxe des reels negatifs en z na pas decorrespondant en p.

    Fig. 3.4 Transformation des poles simples de p vers z.

    Poles complexes conjugues

    G(p) = 2n

    p2+2np+2n B0G(z) = b1z+b0z22(ekTe ) cos(dTe)z+e2kTe

    p1, p1 = n d z1, z1 = ekTe cos(dTe)e2kTe cos2(dTe) e2kTe

    ou` d = n

    1 2 = ekTe (cos(dTe) sin(dTe))= ekTeedTe

    (3.1)

    Fig. 3.5 Transformation des poles complexes conjugues de p vers z.

    Generalisation Dans les deux cas nous avons bien la relation :

    Pole du syste`me continu Pole du syste`me echantillonnepi zi = eTepi

    (3.2)

    La figure 3.6 montre cette relation.

  • 42 CHAPITRE 3. ANALYSE DES SYSTE`MES

    Fig. 3.6 Lieu des poles iso-amortissement.

    3.2.1 Reponse impulsionnelle en fonction de la position des poles.

    Fig. 3.7 Reponses impulsionnelles des poles en fonction de leur position.

    Fig. 3.8 Relation entre poles du syste`me continu et ceux du syste`me echantillonne.

  • 3.3. LE LIEU DEVANS 43

    3.3 Le lieu dEvans

    3.3.1 Definition

    Fig. 3.9 Le lieu dEvans : calcul des poles du syste`me en boucle fermee par un gain k .

    Le lieu dEvans est le lieu des poles de la fonction de transfert en boucle fermee lorsque le gain K varie de 0 a`linfini.Ce lieu est donc un moyen de choisir un gain K pour obtenir, en boucle fermee, des performances pre-specifiees.La construction du lieu est assez complexe et fait appel a` 8 re`gles que vous trouverez dans [3]. La synthe`sede correcteurs a` laide de cette methode est parfaitement possible mais demande un peu dexperience pour lechoix des poles et des zeros du correcteur. Neanmoins avec une methode de type try and error on arrive a`de bons resultats.

    Exemple de code Matlab

    >> sysd=zpk([],[0.1 0.9], 1, 1) %periode dechantillonnage = 1s

    >> rlocus(sysd);

    >> zgrid

    3.3.2 Exemples

    Tab. 3.1 Exemple 1

    G(z) = 1(z0.1)(z0.9)

    lorsque k est tre`s faible les poles enBF sont proches de ceux en BO lorsque k augmente, le syste`me

    accele`re, les poles se rapprochent etdeviennent complexes conjugues lorsque k depasse la valeur de 0.9, les

    poles ont un module > 1, le syste`meest instable

  • 44 CHAPITRE 3. ANALYSE DES SYSTE`MES

    Tab. 3.2 Exemple 2

    G(z) = z0.5(z0.1)(z0.9)

    lorsque k est tre`s faible les poles enBF sont proches de ceux en BO lorsque k augmente, le pole en 0.9

    tend vers le zero en 0.5, lautre poletend vers la limite de stabilite est obtenue pourk = 1.39

    Tab. 3.3 Exemple 3

    G(z) = z+0.5(z0.1)(z0.9)

    lorsque k est tre`s faible les poles enBF sont proches de ceux en BO lorsque k augmente, les poles se rap-

    prochent lun de lautre, puis de-viennent complexes conjugues lorsque k est tre`s grand lun des poles

    tend vers le zero, lautre vers

  • 3.3. LE LIEU DEVANS 45

    Tab. 3.4 Exemple 4

    G(z) = (z+0.7)(z+0.2)(z0.1)(z0.9)

    lorsque k est tre`s faible les poles enBF sont proches de ceux en BO lorsque k augmente, les poles se rap-

    prochent lun de lautre, puis de-viennent complexes conjugues lorsque k est tre`s grand les poles en

    BF tendent vers les zeros en BO.

    Tab. 3.5 Exemple 5

    G(z) = (z+0.7)(z+0.2)(z0.1)(z0.5)(z0.9)

    On retrouve les memes tendances quepour les exemples precedents les poles se rapprochent lun de lautre

    avant de devenir complexes conjugues lorsque k est tre`s grand les poles en

    BF tendent vers les zeros en BO ouvers linfini.

  • 46 CHAPITRE 3. ANALYSE DES SYSTE`MES

    3.4 Precision des syste`mes echantillonnes

    Fig. 3.10 Schema general pour letude de la precision des syste`mes.

    On conside`re le schema presente en figure 3.10. Calculons lerreur statique du syste`me pour une entree w(z) enechelon et une perturbation p(z) nulle.

    3.4.1 Erreur vis-a`-vis de la consigne

    Lerreur est :

    (z) = W (z) S(z)= W (z) (z)C(z)G(z)

    (z) [1 + C(z)G(z)] = W (z)

    (z) = W (z)1 + C(z)G(z)

    Calculons maintenant la limite de (kTe) lorsque k

    limt

    ?(t) = limk

    (kTe) = limz1

    (1 z1)(z) = limz1

    (1 z1) W (z)1 + C(z)G(z)

    Avec une entree en echelon uniteW (z) =

    z

    z 1on obtient :

    limk

    (kTe) = limz1

    (1 z1) zz 1

    11 + C(z)G(z)

    = limz1

    11 + C(z)G(z)

    lobjectif etant davoir une erreur statique nulle, il faut que

    limk

    (kTe) = 0

    et par consequent que :

    limz1

    11 + C(z)G(z)

    = 0

    Supposons maintenant que C(z) ou G(z) posse`de un integrateur pur. La transmittance en boucle ouverte peutsecrire :

    C(z)G(z) =N(z)D(z)

    =N(z)

    (z 1)D(z)donc

    limz1

    11 + C(z)G(z)

    = limz1

    1

    1 + N(z)(z1)D(z)= limz1

    (z 1)D(z)(z 1)D(z) +N(z) = 0

    Conclusion : pour quun syste`me presente une erreur statique nulle pour une entree en echelon, il faut quela transmittance en boucle ouverte presente au moins un integrateur pur.

  • 3.4. PRECISION DES SYSTE`MES ECHANTILLONNES 47

    3.4.2 Erreur vis-a`-vis de la perturbation

    Supposons cette fois que lentree W (z) est nulle et que la perturbation P (z) est un echelon unite.Lerreur est :

    (z) = W (z) S(z)= 0 (P (z)G(z) + (z)C(z)G(z))

    (z)(1 + C(z)G(z)) = P (z)G(z)

    limk

    (kTe) = limz1

    (1 z1) zz 1

    G(z)1 + C(z)G(z)

    = limz1

    G(z)1 + C(z)G(z)

    Supposons que le syste`me en boucle ouverte posse`de un seul integrateur pur et etudions les deux cas suivants Cas 1 : lintegrateur pur est dans C(z). Cas 2 : lintegrateur pur est dans G(z).

    Dans les deux cas :

    limk

    (kTe) = limz1

    NG(z)DG(z)1 + NC(z)DC(z)

    NG(z)DG(z)

    = limz1

    NG(z)DC(z)DC(z)DG(z) +NC(z)NG(z)

    Cas 1 : l integrateur pur est dans C(z).

    C(z) =NC(z)

    (z 1)DC(z)limk

    (kTe) =

    limz1

    NG(z)(z 1)DC(z)(z 1)DC(z)DG(z) +NC(z)NG(z)

    limk

    (kTe) = 0

    Cas 2 : lintegrateur pur est dans G(z).

    G(z) =NG(z)

    (z 1)DG(z)limk

    (kTe) =

    limz1

    NG(z)DC(z)DC(z)(z 1)DG(z) +NC(z)NG(z)

    limk

    (kTe) = limz1NG(z)DC(z)NC(z)NG(z)

    6= 0

    Conclusion : pour quun syste`me presente une erreur statique nulle pour une perturbation en echelon, ilfaut au moins un integrateur pur en amont de la perturbation.

    3.4.3 Extension du raisonnement a` tous types dentrees

    Calcul de lerreur vis-a`-vis de la consigne, le syste`me etant soumis a` une entree canonique quelconque de laforme w(t) = tm donc :

    W (z) =A(z)

    (z 1)m+1ou` A(z) est un polynome en z nayant pas (z 1) en facteur.

    La transmittance en boucle ouverte peut secrire :

    CG(z) =kN(z)

    (z 1)nD(z)avec k le gain statique du syste`me et N(z) et D(z) moniques3.

    3Dont le coefficient de plus haut degre est 1.

  • 48 CHAPITRE 3. ANALYSE DES SYSTE`MES

    Lexpression de lerreur est alors :

    limk

    (kTe) = limz1

    (1 z1) A(z)(z 1)m+1

    11 + CG(z)

    = limz1

    (1 z1) A(z)(z 1)m+1

    1

    1 + kN(z)(z1)nD(z)

    soit :

    limk

    (kTe) = limz1

    z 1z

    A(z)(z 1)m+1

    (z 1)nD(z)(z 1)nD(z) + kN(z) limz1

    1z

    (z 1)n(z 1)m

    A(z)D(z)(z 1)nD(z) + kN(z)

    Les valeurs de limk (kTe) sont resumees dans le tableau 3.6.

    Tab. 3.6 Erreur permanente en fonction de lentree et de la classe du syste`me en labsence dentree deperturbation.5

    classe du syste`me echelon rampe parabole

    = nb dintegrateurs purs m = 0 m = 1 m = 2

    0 11+k 1 0 Tek 2 0 0 Tek

    . . .

    3 0 0 0. . .

    ......

    ......

    . . .

    Pour aller plus loin : Quelle est lerreur permanente du syste`me 3.11 dans les conditions decrites ?

    Fig. 3.11 Syste`me soumis a` une entree en rampe et une perturbation en echelon.

    5Cest le polynome A(z) qui fait apparatre le terme Te.

  • 3.4. PRECISION DES SYSTE`MES ECHANTILLONNES 49

    3.4.4 Cycle limite

    Les resultats obtenus precedemment ne tiennent pas compte de la quantification du signal. Cette quantificationprovoque une non linearite destabilisante et par consequent, un petite oscillation autour de la valeur finalecomme illustre en figure 3.12. La precision est alors fonction du pas de quantification.

    Fig. 3.12 Cycle limite du a` la quantification du signal.

    Dans le cas de syste`mes instables en boucle ouverte, le cycle limite, veritable oscillation entretenue est inevitable.Par contre lamplitude de cette oscillation est controlable par le choix du pas de quantification.

  • 50 CHAPITRE 3. ANALYSE DES SYSTE`MES

  • Chapitre 4

    Transposition des correcteursanalogiques

    Il est, a priori, dommage de synthetiser un correcteur analogique puis de le convertir en correcteur numerique.Les methodes de synthe`ses numeriques abondent et donnent de meilleurs resultats en termes de performances(robustesse, precision, rejet de perturbation). Neanmoins dans le cas ou` le correcteur analogique est deja`synthetise et quil ne sagit que de le transposer en numerique, la transformee bilineaire donnee ci-apre`s sereve`le fort utile 1.Par ailleurs, cette methode de synthe`se de correcteurs numeriques couplee a` une methode de synthe`se typeZiegler-Nichols permet de synthetiser en quelques minutes un correcteur pour un syste`me dont on ignore toutou presque et qui plus est, pratiquement sans comprendre lautomatique !

    4.1 Les differentes approximations de la derivee

    Fig. 4.1 Principe de calcul de la derivee par differences finies : differences vers lavant et vers larrie`re.

    En introduisant loperateur retard q.

    4.1.1 Differences vers larrie`re

    dx

    dt' x(t) x(t Te)

    Te=

    1 q1Te

    x(t) =q 1qTe

    x(t)

    Derivation : p z 1zTe

    Integration :1p Tez

    z 1Cela correspond a` lapproximation :

    z = eTep ' 11 Tep = p '

    z 1zTe

    1La synthe`se de correcteur analogiques sort du cadre de ce cours, reportez vous au poly dautomatique lineaire continue de B.Lang

    51

  • 52 CHAPITRE 4. TRANSPOSITION DES CORRECTEURS ANALOGIQUES

    Fig. 4.2 Transformee du domaine de stabilite en p.Un syste`me continu instable peut etre transforme enun syste`me discret stable.

    Fig. 4.3 Methode des rectangles : approximationpar exce`s.

    Calcul numerique de lintegrale :

    I = t

    0

    x()d 'nk=1

    x(kTe)Te in = in1 + Texn

    4.1.2 Differences vers lavant

    dx

    dt' x(t+ Te) x(t)

    Te=q 1Te

    x(t)

    Derivation : p z 1Te

    Integration :1p Te

    z 1Cela correspond a` lapproximation :

    z = eTep ' 1 + Tep = p ' z 1Te

    Fig. 4.4 Transformee du domaine de stabilite en p.Un syste`me continu stable peut etre transforme en unsyste`me discret instable.

    Fig. 4.5 Methode des rectangles : approximationpar defaut.

    Calcul numerique de lintegrale :

    I = t

    0

    x()d 'n1k=0

    x(kTe)Te in = in1 + Texn1

  • 4.1. LES DIFFERENTES APPROXIMATIONS DE LA DERIVEE 53

    4.1.3 Transformation bilineaire

    La derivee numerique est proche de la moyenne des derivees au point considere et au point precedent.

    12

    [d x(t+ Te)

    dt+d x(t)dt

    ]' x(t+ Te) x(t)

    Te dx(t)

    dt

    [q + 1

    2

    ]' q 1

    Tex(t)

    dx

    dt' 2Te

    q 1q + 1

    x(t)

    Derivation : p 2Te

    z 1z + 1

    Integration :1p Te

    2z + 1z 1

    Cela correspond a` lapproximation :

    z = eTep ' eTep2

    eTep2

    ' 1 +Tep2

    1 Tep2' 2 + Tep

    2 Tep

    Fig. 4.6 Transformee du domaine de stabilite en p.Les deux regions se correspondent rigoureusement. Fig. 4.7 Methode des trape`zes.

    Calcul numerique de lintegrale :

    I = t

    0

    x()d 'nk=1

    x((k 1)Te) + x(kTe)2

    Te in = in1 +Te2

    (xn1 + xn)

    Remarque : La transformation bilineaire introduit une distorsion des frequences. Cette distorsion peut etrecompensee a` une pulsation donnee 1 par lutilisation de

    Derivation : p 1tan(1Te/2)

    z 1z + 1

    4.1.4 Avec Matlab

    Seule la transformee bilineaire est directement implantee, les differences avant et arrie`re ne le sont pas !

    >> Te=1;>> sys=tf([1],[1 1 1] ) % definition du syste`me continu>> sysd=c2d(sys,Te, tustin); % transformee en z par transformee bilineaire>> present(sysd); % presentation du resultat>> sysdp=c2d(sys,Te, prewarp, 2); % transformee bilineaire avec precompensee (f1=2rad/s)>> present(sysdp); % presentation du resultat>> sysdb=c2d(sys,Te, zoh); % transformee avec BOZ>> present(sysdb); % presentation du resultat>> W=logspace(-1, 0.5, 200);>> bode(sys,r,sysd,y--,sysdp,gx,sysdb,k., W);

  • 54 CHAPITRE 4. TRANSPOSITION DES CORRECTEURS ANALOGIQUES

    Fig. 4.8 Phenome`ne de distorsion de la transformation bilineaire.

    Fig. 4.9 Comparaison des transformees en z dun point de vue frequentiel.Syste`me original analogique

    .......... Transformee avec BOZ Transformee bilineaire+ + + Transformee bilineaire avec precompensation (en f = 2 rad/s.)

  • 4.2. PID ANALOGIQUE 55

    4.2 PID analogique

    Tous les correcteurs analogiques sont transformables en correcteurs numeriques, le plus connu dentre eux etantle PID. De nombreuses methodes permettent de calculer les coefficients du correcteur PID a` partir dun mode`ledu syste`me. Cependant, dans la plupart des cas, un tel mode`le dexiste pas. On proce`de alors des choix deparame`tres calcules a` partir dessais effectues sur le syste`me.

    4.2.1 Reglages de Ziegler-Nichols

    Le correcteur PID secrit :

    C(p) = K(

    1 +1Tip

    + Tdp)

    Tab. 4.1 Coefficients dun PID regle par les methodes de Ziegler-Nichols et Chien-Hrones-Reswick : essaiindiciel et methode du pompage.

    Methode de pompageBoucle fermee

    Methodes aperiodiquesBoucle ouverte

    Syste`mes stables ou instablesen boucle ouverte

    Syste`mes stables, instablesou integrateurs

    Ziegler-Nichols Ziegler-Nichols Chien-Hrones-Reswick

    Regulation ouPoursuite

    Regulation ouPoursuite Regulation Poursuite

    P K = 0.5Kosc K = 1a K = 0.31a K = 0.3

    1a

    P.I K = 0.45Kosc K = 0.9 1a K = 0.61a K = 0.35

    1a

    Ti = 0.83Tosc Ti = 3.3 Ti = 4 Ti = 1.2T ou 10 1

    P.I.D K = 0.6Kosc K = 1.2 1a K = 0.951a K = 0.6

    1a

    Ti = 0.5Tosc Ti = 2 Ti = 2.4 Ti = T ou 6 1

    Td = 0.125Tosc Td = 0.5 Td = 0.42 Td = 0.5

    1Si le syste`me a` un comportement de type integrateur pur.

  • 56 CHAPITRE 4. TRANSPOSITION DES CORRECTEURS ANALOGIQUES

    Il faut ensuite transformer le correcteur analogique C(p) en un correcteur numerique par lune des methodesde transformation vues precedemment (4.1 ou 2.5.3).La transformee bilineaire est la plus utilisee et donne de bons resultats a` condition de choisir une periodedechantillonnage proche du quasi-continu, cest-a`-dire les limites basses des valeurs communement admises(voir fig. 1.30).Le tableau 4.1 nest quun bref apercu de lensemble des reglages developpes par divers auteurs et qui sadaptenta` une majorite de syste`mes. Pour des syste`mes plus particuliers ou des reglages plus fins tenant compte descaracteristiques de votre syste`me, voyez les references [13] ou [14] qui proposent plus de 200 reglages !

    4.2.2 P, PI, ou PID ?

    Le choix est toujours un peu ambigue. Le principe de choix communement admis, qui sapplique dailleurs a`tous les choix de regulateur et correcteurs, est le principe du minimum : si un correcteur P donne les resultatsescomptes, on ne met pas un PI, moins encore un PID ! Les tableaux 4.2 et 4.3 donnent un crite`re de choix enfonction de la reponse temporelle du syste`me a` un echelon dentree.Notez la proposition de correcteur de type tout ou rien, qui fonctionne bien dans les cas ou la precisionrequise est faible ou que le syste`me supporte bien les fortes variations de commande. Si le syste`me est en limitede reglabilite par un PID, il faudra alors revoir la conception de la commande soit par des boucles imbriquees,soit synthetiser un correcteur numerique fonde sur dautres approches.Dernier point, mais non le moindre, sachez que les reglages de PID proposes, Ziegler-Nichols (voir page 55)ou Takahashi (voir page 58) sont avant tout des reglages de regulation et non pas dasservissement. Endautres termes, ces reglages sont choisis lorsque lobjectif principal est dasservir une grandeur a` une consigneconstante et detre insensible aux perturbations.

    Tab. 4.2 choix dune methode de correction en fonction de lindice de reglabilite

    Reglabilite T/ > 20 10 a` 20 5 a` 10 2 a` 5 < 2

    Regulateur Tout ou rien P PI PID limite du PID1

    Tab. 4.3 choix dune methode de correction en fonction de lindice de reglabilite : cas des syste`mes instables

    Reglabilite a. 0.05 < a 0.05 < a < 0.1 0.1 < a < 0.2 0.2 < a < 0.5 a > 0.5

    Regulateur Tout ou rien P PI PID limite du PID1

    1voir 4.4.2 page 60

  • 4.3. LE PID NUMERIQUE 57

    4.3 Le PID numerique

    En continu, la sortie dun PID secrit :

    u(t) = kp

    (t) + 1Ti

    t0

    ()d + Tdd

    dt

    Lequivalent en numerique secrit alors :

    uk = kp

    k + TeTi

    kj=0

    j + Td(k k1)

    Te

    uk+1 uk = kp

    (k+1 k + Te

    Tik+1 + Td

    (k+1 2k + k1)Te

    )

    (z 1)U(z) = kp(z 1 + Te

    Tiz + Td

    (z 2 + z1)Te

    )(z)

    dou` la transmittance du PID numerique

    U(z)(z) = kp + kiTe

    z

    z 1 +kdTe

    z 1z

    Ce correcteur reste pedagogique, dans une application industrielle on preferera les formes suivantes :

    Application industrielles des correcteurs PID

    1. Laction derivee ideale provoque une forte augmentation du bruit hautes frequences, on utilise en pratiqueune derivee filtree. Ceci conduit en discret au regulateur PID filtre :

    U(z)(z) = kp + kiTe

    z

    z 1 +kdTe

    z 1z

    Le choix de est classiquement de 0.1

    2. Lors dun changement de consigne de type echelon, la derivee du signal derreur entre la consigne et lasortie est tre`s grande (pratiquement une derivee dechelon soit un Dirac). La commande PID sur lecart vaengendrer une commande proportionnelle a` la variation de lerreur via le module derivateur. Lamplitudede cette commande risque detre inadmissible en pratique. Une solution pour limiter ce phenome`ne estdappliquer laction derivee seulement sur la sortie du procede dou` le PID avec la derivee sur la mesureseule :

    U(z) = kp(z) + kiTez

    z 1(z)kdTe

    z 1z Y (z)

    3. Meme remarque que precedemment mais cette fois sur la partie proportionnelle dou` le PID avec lactionproportionnelle et derivee sur la mesure seule :

    U(z) = kiTez

    z 1(z)[kp +

    kdTe

    z 1z

    ]Y (z)

    Cette dernie`re solution est bien entendu la meilleure.

  • 58 CHAPITRE 4. TRANSPOSITION DES CORRECTEURS ANALOGIQUES

    4.3.1 Reglages de Takahashi pour un regulateur PID numerique filtre

    La forme du PID utilise est :

    U(z) = kiTe zz1(z)[kp + kdTe

    z1z

    ]Y (z) PI ou PID

    U(z) = kp(z) P

    dont les equations recurrentes sont :

    uk = uk1 + kiTe (yck yk) kp (yk1 yk) kdTe (yk 2yk1 + yk2) PI ou PIDuk = kp (yck yk) P

    Comme pour la methode de Ziegler-Nichols, il faut alors soumettre le syste`me a` lun des deux essais : un essai indiciel qui donne les valeurs de et a, un essai en boucle fermee avec un gain K : on augmente K jusqua` Kosc valeur du gain pour laquelle

    on obtient une oscillation entretenue de periode Tosc.

    Tab. 4.4 Reglages de Takahashi pour un regulateur PID numerique filtre.

    Methode de pompageBoucle fermee

    Methodes aperiodiquesBoucle ouverte

    Syste`mes stables ou instablesen boucle ouverte

    Syste`mes stables, instablesou integrateurs

    P kp = 0.5Kosc kp = 1a(+Te)

    P.Ikp = 0.45Kosc 0.5kiTeki = 0.54KoscTosc

    kp = 0.9a(+0.5Te) 0.5kiTeki = 0.27a(+0.5Te)2

    P.I.D

    kp = 0.6Kosc 0.5kiTeki = 1.2KoscTosckd = 340KoscTosc

    kp = 1.2a(+Te) 0.5kiTeki = 0.6a(+0.5Te)2

    kd = 0.5a

    Ces reglages sont en fait les coefficients qui minimisent lerreurk0 |k|

  • 4.4. MISE EN UVRE DUN ASSERVISSEMENT 59

    4.4 Mise en uvre dun asservissement

    4.4.1 Anti windup

    Apre`s application du correcteur precedent, la premie`re imperfection qui apparat est due aux non linearites dusyste`me et en particulier les saturations de lorgane de commande (amplificateur, vanne, ...).En particulier lorsque lerreur est importante (demarrage par exemple), lintegrateur inte`gre une erreur grandeet donc sa sortie est tre`s grande. Lorsque le syste`me arrive a` la valeur de consigne, lintegrateur est encoreplein et donc le syste`me depasse largement cette valeur de consigne.

    Fig. 4.10 Effet de labsence de saturation sur le terme integral.

    Pour eviter ce phenome`ne deux methodes sont de loin les plus utilisees, souvent simultanement : la mise en place dun generateur de trajectoire (ex : bras de robot), afin que le syste`me ne quitte pas

    son domaine de linearite.

    la mise en place dun anti-windup qui limite la valeur stockee dans lintegrateur pur au maximum decommande admissible par le syste`me.

    Fig. 4.11 PID classique avec anti-windup.

  • 60 CHAPITRE 4. TRANSPOSITION DES CORRECTEURS ANALOGIQUES

    4.4.2 Predicteur de Smith

    Dans le cas de syste`mes tre`s retardes, ce qui arrive souvent dans les applications industrielles, les methodesprecedentes ne fonctionnent pas bien. En fait un reglage classique de PID conduit a` un syste`me plus lent enboucle fermee quen boucle ouverte si le retard pur depasse la moitie de la constante de temps dominante.

    Soit G(z) un syste`me tre`s retarde de la forme.

    G(z) = G1(z)zk

    Le principe de synthe`se est le suivant : on synthetise un correcteur C1(z) pour le syste`me non retarde G1(z)puis on adapte ce correcteur pour le syste`me reel G(z).

    Fig. 4.12 Schema ideal de correction de syste`mes tre`s retardes. Utopique car le retard pur nest pas dissociabledu reste de la transmittance du syste`me.

    Bien que totalement irrealisable en letat car le retard pur nest pas dissociable du reste de la transmittancedu syste`me, calculons tout de meme la fonction de transfert du syste`me presente en figure 4.12.

    F (z) =C1(z) G1(z)

    1 + C1(z) G1(z)zk

    En introduisant la transmittance G(z), on obtient :

    F (z) =C1(z) G(z)

    1 + C1(z) G1(z) C1(z)G(z) + C1(z)G(z)F (z) =

    C1(z) G(z)1 + C1(z) G1(z)(1 zk) + C1(z)G(z)

    F (z) =C1(z)

    1+(1zk)G1(z)C1(z) G(z)

    1 + C1(z)1+(1zk)G1(z)C1(z) G(z)

    qui est de la forme :

    F (z) =C(z)G(z)

    1 + C(z)G(z)

    En posant :

    C(z) =C1(z)

    1 + (1 zk)G1(z)C1(z)C(z) est un correcteur est parfaitement realisable : voir schema 4.13.

    Calcul de la boucle de retour du predicteur de Smith avec Matlab

    >> sysc=tf([1],[1 4 3 0]); % saisie de la fonction de transfert en p

    >> sysd=c2d(sysc, 0.1, zoh); % transformee en z avec un BOZ et Te = 0.1

    % sysr=z^(-20) soit 2s avec Te=0.1

    >> sysr=tf([1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1],[1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0], 0.1);

    >> corr=sysr*sysd % retour = produit de la transformee du syste`me sans retard par (1-z^-n)

    >> [nu, de]=tfdata(corr,v) % recuperation du numerateur et du denominateur

    Note : la mise en uvre dun predicteur de Smith implique de posseder un tre`s bon mode`le du syste`me. Lessyste`mes presentant des variations de parame`tres ne peuvent pas etre corriges par ce type de correcteur.

  • 4.4. MISE EN UVRE DUN ASSERVISSEMENT 61

    Fig. 4.13 Schema dun predicteur de Smith.

    Fig. 4.14 Performances dun predicteur de Smith.

  • 62 CHAPITRE 4. TRANSPOSITION DES CORRECTEURS ANALOGIQUES

    4.4.3 Algorithme

    Le cadencement dune routine dasservissement est donne en figure 4.15. Lors de la realisation du logiciel decommande, deux points sont importants : La minimisation du temps entre echantillonnage des capteurs et sortie des commandes. En effet, toute

    la theorie de la commande echantillonnee suppose que ce temps est nul ! La minimisation des variations de periode dechantillonnage. La` encore, Te est suppose constant.

    Fig. 4.15 Cadencement dune routine de regulation.

    Le cas A de la figure 4.16 est presque ideal. Le cas B est le cas limite, le retard pur introduit par le temps decalcul est de Te/2. Si le temps de calcul est vraiment trop important, il vaut mieux attendre le coup dhorlogesuivant pour envoyer la commande. Bien entendu ce cas introduit un retard pur dans le syste`me qui doit etrepris en compte au moment de la synthe`se (cas C). Un peu dastuce permet presque toujours de se ramener aucas D ou` tout ce qui peut etre pre-calcule pour la commande suivante lest juste apre`s la sortie de la commandeen cours.

    Fig. 4.16 Repartition du temps de calcul.

  • 4.4. MISE EN UVRE DUN ASSERVISSEMENT 63

    Fonction interruption PID( : void) : void

    result : void

    /* Mesure de la sortie */

    yn CAN ;

    /* Calcul de lerreur */

    n wn yn ;/* Calcul des termes du PID */

    pn Kpn ;dn Kd(n n1) ;in in1 +Kin ;/* Calcul de la commande */

    vn pn + dn + in ;/* Mode`le de lactionneur */

    Si (vn Uinf ) Alorsun Uinf ; /* Commande reelle = saturation basse */

    SinonSi (vn Usup) Alors

    un Usup ; /* Commande reelle = saturation haute */Sinon

    un vn ; /* Commande reelle = commande PID */Fin Si

    Fin Si/* Sortie de la commande */

    CNA un ;/* Desaturation du terme integral */

    in in + un vn ;/* Mise a` jour des variables */

    n1 n ;in1 in ;

    Fin

    Algorithme 1: Algorithme de PID classique avec anti-windup.

  • 64 CHAPITRE 4. TRANSPOSITION DES CORRECTEURS ANALOGIQUES

  • Chapitre 5

    Synthe`ses a` temps detablissement fini

    5.1 Synthe`se en z de correcteurs

    5.1.1 Exemple idiot... mais riche denseignements

    Soit a` corriger un syste`me G(z) :

    G(z) =(z 2)(z 0.5)

    (z + 0.7)(z 0.8)(z 1)On se propose de creer un correcteur parfait, cest-a`-dire, la compensation parfaite du syste`me par le correcteurC(z) soit :

    C(z) =1

    G(z)=

    (z + 0.7)(z 0.8)(z 1)(z 2)(z 0.5)

    Le syste`me corrige en boucle ouverte devient donc :

    C(z) G(z) =1

    G(z)G(z) = 1

    Cest bien un syste`me parfait, il est meme inutile de boucler ! Bien entendu cela ne peut pas fonctionner et cepour deux raisons.

    Stabilite

    C(z) =S(z)E(z)

    =(z + 0.7)(z 0.8)(z 1)

    (z 2)(z 0.5)Inutile de se lancer dans une etude, le correcteur C(z) est ostensiblement instable a` cause du pole en 2, doncexterieur au cercle unite.

    Causalite Etudions lequation recurrente de ce correcteur :

    C(z) =S(z)E(z)

    =(z + 0.7)(z 0.8)(z 1)

    (z 2)(z 0.5)donc

    S(z)[(z 2)(z 0.5)] = E(z)[(z + 0.7)(z 0.8)(z 1)]

    S(z)[z2 2.5z + 1] = E(z)[z3 1.1 z2 0.46 z + 0.56]En multipliant droite et gauche par z2

    S(z)[1 2.5z1 + z2] = E(z)[z 1.1 0.46 z1 + 0.56z2]S(z) = E(z)[z 1.1 0.46 z1 + 0.56z2] + S(z)[2.5z1 z2]

    En revenant a` loriginal :

    s(k) = e(k + 1) 1.1 e(k) 0.46 e(k 1) + 0.56e(k 2) + 2.5s(k 1) s(k 2)

    65

  • 66 CHAPITRE 5. SYNTHE`SES A` TEMPS DETABLISSEMENT FINI

    s(k) est une fonction de la commande a` linstant suivant e(k + 1) ! Ce correcteur nest pas causal, il est doncimpossible a` realiser.

    Les synthe`ses de correcteurs numeriques conduisent souvent a` des correcteurs non causaux et/ ou instables, ilfaut donc systematiquement verifier : la causalite la stabilite

    La methode precedente ayant echoue, on se propose de realiser un autre correcteur pratiquement aussi idealque le precedent mais utilisant le bouclage.

    F (z) =C(z)G(z)

    1 + C(z)G(z)

    Fig. 5.1 Syste`me boucle.

    Premie`re tentative :

    F (z) = 1 C(z)G(z)1 + C(z)G(z)

    = 1

    ....1 = 0Cest encore impossible !

    Deuxie`me tentative : La perfection etant impossible a` atteindre, essayons de determiner un correcteur quirendrait le syste`me corrige equivalent a` un retard pur. La sortie suivrait parfaitement lentree mais decaleedune periode dechantillonnage.On resout donc :

    F (z) =C(z)G(z)

    1 + C(z)G(z)= z1

    C(z) =z1

    G(z)(1 z1)Application numerique :

    C(z) = 0.0450.0 z2 5.0 z 28.02.0 z2 5.0 z + 2.0

    causalite : ouistabilite : non (poles en 0.5 et 2 !)

    Le resultat de cette correction est presente en figure 5.2. Comme prevu le syste`me est bien instable, maisobservez que la reponse continue du syste`me passe bien par 1 aux instants dechantillonnage !Essayons de formaliser un peu plus cette approche a` laide des synthe`ses a` temps detablissement fini.

  • 5.2. SYNTHE`SES A` TEMPS DETABLISSEMENT FINI 67

    Fig. 5.2 Reponse du syste`me a` un echelon.

    5.2 Synthe`ses a` temps detablissement fini

    Un syste`me est dit a` temps detablissement fini lorsque son erreur ?(k) = 0 en un nombre fini de periodesdechantillonnage, lentree etant un polynome en t specifie (le plus souvent un echelon : t0).

    Temps dtablissement infini

    Temps detablissement fini

    (k)

    k

    Fig. 5.3 Comparaison de lerreur permanente entre un syste`me a` temps detablissement fini ou infini.

    Definition Un syste`me est dit a` temps detablissement fini si lerreur ?(t) sannule en un nombre finidechantillons, pour une entree u(t) = tm specifiee.

    Corollaire (z) est donc un polynome en z (donc pas une fraction rationnelle)1.La transformee en z de u(t) = tm est de la forme2 U(z) = P (z)(1z1)m+1 avec P (z) polynome en z de degre d m.

    (z) = U(z) Y (z) = U(z) [1 F (z)] = P (z)(1 F (z))(1 z1)m+1 (5.1)

    Ou` F (z) est la transmittance en boucle fermee.

    Pour que P (z)(1F (z))(1z1)m+1 soit un polynome il faut et il suffit que 1F (z) contienne (1 z1)m+1 en facteur, donc1 F (z) secrit sous la forme :

    1 F (z) = (1 z1)m+1K(z) (5.2)1Calculons (z) de la figure 5.3 par la formule de definition de la transformees en z (2.13)

    (z) = 0 + 1z1 + 2z2 : cest bien un polynome.2voir eq. 2.11 page 27

  • 68 CHAPITRE 5. SYNTHE`SES A` TEMPS DETABLISSEMENT FINI

    ou` K(z) est un polynome.

    Pour verification, appliquons le theore`me de la valeur finale :

    limt

    ?(t) = limz1

    (1 z1)(z) = limz1

    (1 z1)P (z)(1 F (z))(1 z1)m+1 = limz1(1 z

    1)P (z)(1 z1)m+1K(z)

    (1 z1)m+1 = 0

    5.2.1 Synthe`se a` temps detablissement minimal absolu

    Definition Un syste`me est dit a` temps detablissement minimal lorsque le degre de (z) est minimal.

    En reprenant les equations (5.1) et (5.2)

    (z) = P (z)(1 F (z))(1 z1)m+1 = P (z)K(z)

    Si K(z) = 1, alors le syste`me est dit minimal absolu. Dans ce cas :

    1 F (z) = (1 z1)m+1

    (z) = P (z) = p0 + p1z1 + p2z2 + . . .+ pmzm

    Donc ?(t) sannule pour t = (m+ 1)TeLe correcteur C(z) est alors :

    C(z) =1 (1 z1)m+1(1 z1)m+1G(z)

    Remarque 1 : Le correcteur compense les poles et les zeros de G(z) donc cette methode de commande nesapplique quaux syste`mes ne possedant que des poles et des zeros stables !Remarque 2 : seul ?(t) sannule, pas (t) !

    Fig. 5.4 Lerreur echantillonnee est bien nulle mais lerreur continue ne lest pas.

    5.2.2 Synthe`se a` temps detablissement minimal non absolu

    Si le syste`me modelise par G(z) posse`de des poles ou des zeros exterieurs au cercle unite, la synthe`se a` tempsdetablissement minimal absolu nest plus applicable. La synthe`se en temps detablissement minimal consistealors a` chercher K(z) de degre minimal respectant les deux conditions suivantes :

    1. F (z) doit posseder parmi ses racines les zeros de G(z) exterieurs au cercle unite

    2. 1 F (z) doit posseder parmi ses racines les poles de G(z) exterieurs au cercle uniteDemonstration : posons

    G(z) =B+(z)B(z)A+(z)A(z)

    ou` B+(z), B(z), A+(z), A(z) sont des polynomes tels que :

  • 5.2. SYNTHE`SES A` TEMPS DETABLISSEMENT FINI 69

    B+(z) contient tous les zeros de G(z) interieurs au cercle unite (dits stables)

    B(z) contient tous les zeros de G(z) exterieurs au cercle unite (dits instables)

    ainsi que les retards purs du syste`me

    A+(z) contient tous les poles de G(z) interieurs au cercle unite (stables)

    A(z) contient tous les poles de G(z) exterieurs au cercle unite (instables)alors :

    C(z) =A+(z)A(z)B+(z)B(z)

    F (z)1 F (z)

    Comme C(z) ne peut pas contenir B(z) au denominateur (poles instables) alors F (z) doit contenir en facteur lapartie instable B(z). De meme, C(z) ne peut pas contenir au numerateur A(z) (ce serait de la compensationde poles de G(z) instable !) donc 1 F (z) doit contenir en facteur A(z).

    Remarque : les poles et zeros sur le cercle unite sont a` considerer comme instablesle proble`me pose se rame`ne a` la resolution de 3 equations :

    F (z) = B(z)L(z) (non compensation des zeros instables par le correcteur) (5.3)1 F (z) = A(z)J(z) (non compensation des poles instables par le correcteur) (5.4)1 F (z) = (1 z1)m+1K(z) (temps detablissement fini) (5.5)

    qui se condense en :

    F (z) = B(z)L(z) (5.6)1 F (z) = (1 z1)m+1A(z)K (z) (5.7)

    K(z) = A(z)K (z) (5.8)

    Cela reviens a` resoudre lequation diophantienne

    (1 z1)m+1A(z)K (z) +B(z)L(z) = 1

    Si la resolution donneK(z) = A(z)K (z) = k0 + k1z1 + k2z2 + +knzk

    alors(z) = U(z)K(z) = 0 + 1z1 + 2z2 + + m+nz(m+n)

    Le transitoire est bien de duree finie, mais de m+ n+ 1 periodes dechantillonnage.

  • 70 CHAPITRE 5. SYNTHE`SES A` TEMPS DETABLISSEMENT FINI

    5.2.3 Reponse pile

    La reponse pile est un cas particulier des syste`mes a` temps detablissement minimal non absolu.

    Definition Un syste`me est dit a` reponse pile lorsque la sortie continue atteint son regime permanent pourune entree canonique en un nombre fini dechantillons.

    Conditions Pour pouvoir realiser un correcteur a` reponse pile pour une entree de type u(t) = tm, il faut quele syste`me presente au moins m integrateurs purs.

    Fig. 5.5 Schema dun syste`me a` reponse pile.

    La figure 5.5 montre un exemple classique avec les differents signaux. On veut, pour une entree en parabole ,que la sortie soit une parabole. Le syste`me presentant deux integrateurs purs, il faut que la sortie du correcteursoit une constante au bout dun certain temps (le temps detablissement).Puisque la sortie du correcteur est constante au bout du temps detablissement, cette sortie secrit :

    W (z) =W1(z)

    1 z1La sortie du syste`me en boucle fermee est :

    S(z) =W1(z)

    1 z1 sortiecorrecteur

    B+(z)B(z)A+(z)A(z)(1 z1)m syste`me decompose ennum, den et IT purs

    =U1(z)

    (1 z1)m+1 entree en tm

    F (z)FT en BF

    Apre`s simplification des termes en (1 z1) la deuxie`me partie de legalite devient :

    W1(z)B+(z)B(z)A+(z)A(z)

    = U1(z)F (z)

    W1(z) = U1(z)F (z)A+(z)A

    (z)

    B+(z)B(z)

    W1, F, U1, A+, A

    , B+, B etant des polynomes, il vient immediatement que F secrit :

    F (z) = B+(z)B(z)L(z)

    ou` L(z) est un polynome.La synthe`se revient donc a` determiner deux polynomes L(z) et K(z) tels que :

    1 F (z) = (1 z1)m+1AK (z) (5.9)F (z) = B+(z)B(z)L(z) (5.10)

    Ce qui revient a` resoudre lequation diophantienne :

    (1 z1)m+1AK (z) +B+(z)B(z)L(z) = 1 (5.11)

    Le correcteur secrit alors :

  • 5.2. SYNTHE`SES A` TEMPS DETABLISSEMENT FINI 71

    C(z) =1

    syste`meF (z)

    1 F (z) (5.12)

    C(z) =A+(z)A

    (z)(1 z1)m

    B+(z)B(z)F (z)

    1 F (z) (5.13)

    =A+(z)A

    (z)(1 z1)m

    B+(z)B(z)B+(z)B(z)L(z)

    (1 z1)m+1AK (z) (5.14)

    =A+(z)L(z))

    (1 z1)K (z) (5.15)

    5.2.4 Applications des synthe`ses a` temps detablissement fini

    Applications sur syste`mes physiques Rarissimes Peu de syste`mes restent lineaires avec de telles commandes Electrotechnique Applications sur syste`mes informatifs

    Plus courantes Pas de physique, tout reste numerique donc pas de proble`me entre les instants dechantillonnage Observateurs Controle de syste`mes dinformations

  • 72 CHAPITRE 5. SYNTHE`SES A` TEMPS DETABLISSEMENT FINI

    5.2.5 Exemples de reponse pile

    Le syste`me continu etudie est :

    T (p) =5

    p2 + 2p+ 5

    Pour Te=1s, sa transformee en z avec un bloqueur dordre 0 est :

    T (z) =0.9858z + 0.4557

    z2 + 0.3062z + 0.1353

    Le correcteur pile, calcule pour avoir une erreur a` lechelon dentree nulle est :

    Cp(z) =0.6937z2 + 0.2124z + 0.09388

    z2 0.6839z 0.3161Le correcteur pour avoir un temps detablissement minimal est :

    Cem(z) =z2 + 0.3062z + 0.1353

    0.9858z2 0.5302z 0.4557

    Reponse pile Reponse a` temps detablissement minimal

    Fig. 5.6 Comparaison des commandes et sorties pour un correcteur pile et a` temps detablissement mini-mum : Te=0.5s.

    Reponse pile Reponse a` temps detablissement minimal

    Fig. 5.7 Comparaison des commandes et sorties pour un correcteur pile et a` temps detablissement mini-mum : Te=1s.

  • 5.3. RESOLUTION DE LEQUATION DIOPHANTIENNE 73

    5.3 Resolution de lequation diophantienne

    Quelle que soit la methode adoptee pour le calcul du correcteur (Zdan, pile RST, ...), cela revient a` la resolutiondune equation diophantienne de la forme :

    AX +BY = C

    ou` : A, X, B, Y et C sont des polynomes en z1

    Cette equation nadmet de solutions que ssi :

    dX + dY + 1 = max{dAX,dBY,dC, } (5.16)

    Sil existe une solution alors :

    dX dB 1dY dA 1

    Ces conditions etant respectees, deux cas peuvent se presenter :

    lequation estregulie`re

    lequation estnon regulie`re

    dC < dA+ dB dC dA+ dBSolution minimale en X Solution minimale en Y

    dX = dB 1 dX = dB 1 dX = max{(dC dA), (dB 1)}dY = dA 1 dY = max{(dC dB), (dA 1)} dY = dA 1

    Soit

    (a0+a1z1+ +anzk)(x0+x1z1+ +xkzk)+(b0+b1z1+ +bmzm)(y0+y1z1+ +ylzl) = c0+c1z1+ +cpzp

    ou` p n+ sup(k, l)

    Par identification terme a` terme :

    a0x0 + b0y0 = c0

    a1x0 + a0x1 + b1y0 + b0y1 = c1

    a2x0 + a1x1 + a0x2 + b2y0 + b1y1 + b0y2 = c2

    soit sous forme matricielle :

  • 74 CHAPITRE 5. SYNTHE`SES A` TEMPS DETABLISSEMENT FINI

    max(n+ k,m+ l) + 1

    a0 0 0a1 a0

    ...

    a2 a1. . . 0

    ......

    . . . a0

    an... a1

    0 an...

    .... . .

    ...

    0 an...

    ...

    0 0 k+1

    b0 0 0b1 b0

    ...

    b2 b1. . . 0

    ... b2. . . b0

    ... b1...

    bm. . .

    ......

    ......

    . . ....

    0 bm l+1

    x0...

    xk

    y0...

    yl

    =

    c0.........

    cp

    0...

    0

    Pour que cette matrice soit inversible, il faut que

    max(n+ k,m+ l) + 1 = k + l + 1

    Ce qui correspond a` lequation 5.16. Si toutefois cette dernie`re condition est respectee mais que le determinantde A est nul, cest que les polynomes A et B ne sont pas premiers entre eux.

    Exemple 1 Soit a` resoudre :

    (1 + 2z1 3z2 z3)X + (0.5 + 0.01z1)Y = 0.7z2 + 0.9z3 + z4

    dC ? dA+ dB (5.17)4 3 + 1 (5.18)

    lequation est non regulie`re. On choisi la premie`re forme :

    dY = dA 1 = 2dX = max{(dC dA)}, (dB 1) = max{(4 3, 0)} = 1

    (1 + 2z1 3z2 z3)(x0 + x1z1) + (0.5 + 0.01z1)(y0 + y1z1 + y2z2) = 0.7z2 + 0.9z3 + z4

    soit sous forme matricielle :

    1 0 0.5 0 0

    2 1 0.01 0.5 0

    3 2 0 0.01 0.51 3 0 0 0.01

    0 1 0 0 0

    x0

    x1

    y0

    y1

    y2

    =

    0

    0

    0.7

    0.9

    1

    x0

    x1

    y0

    y1

    y2

    =

    2.2930

    1.00004.58607.080319.2996

  • 5.3. RESOLUTION DE LEQUATION DIOPHANTIENNE 75

    Si on avais choisi le deuxie`me forme :

    dX = dB 1 = 0dY = max{(dC dB)}, (dA 1) = max{(4 1, 2)} = 3

    (1 + 2z1 3z2 z3)(x0) + (0.5 + 0.01z1)(y0 + y1z1 + y2z2 + y3z3) = 0.7z2 + 0.9z3 + z4

    soit sous forme matricielle :

    1 0.5 0 0 0

    2 0.01 0.5 0 0

    3 0 0.01 0.5 01 0 0 0.01 0.5

    0 0 0 0 0.01

    x0

    y0

    y1

    y2

    y3

    =

    0

    0

    0.7

    0.9

    1

    x0

    y0

    y1

    y2

    y3

    =

    0.49580.9916

    1.9634

    1.61400.8407

    Exemple 2 Soit a` resoudre :

    (1 + 2z1 3z2 z3)X + (0.5 + 0.01z1)Y = 1

    dC ? dA+ dB (5.19)0 < 3 + 1 (5.20)

    lequation est regulie`re donc :

    dY = dA 1 = 2dX = dB 1 = 0

    (1 + 2z1 3z2 z3)(x0) + (2 + 3z1)(y0 + y1z1 + y2z2) = 1soit sous forme matricielle :

    1 2 0 0

    2 3 2 0

    3 0 3 21 0 0 3

    x0

    y0

    y1

    y2

    =

    1

    0

    0

    0

    x0

    y0

    y1

    y2

    =0.72970.8649

    0.56760.2432

  • 76 CHAPITRE 5. SYNTHE`SES A` TEMPS DETABLISSEMENT FINI

  • Chapitre 6

    Me