Docstoc

z

Document Sample
z Powered By Docstoc
					            e
La transform´ e en Z
Pourquoi ?
                      e                             ´          e              e
Outil important pour r´ soudre et raisonner sur les equations r´ currentes lin´ aires
stationnaires,
Permet d’abord de comprendre des outils de conception tels que Simulink, Scicos, voire
Lustre-Scade
–        e
       D´ finition
–                  e
       Equations r´ currentes
–      Fonctions puissance
–      Exemples
–         e e
       Th´ or` mes des valeurs initiales et finales
–                     e
       Signaux et syst` mes
–          e
       Syst` mes rationnels en Z
–      Z, Laplace et Euler
–              e
       Stabilit´ en Z
–      Programmation

plan                                                                                     def
 e
D´ finition

A toute suite x, on associe
                                        ∞
                              Zx(z) =       x(n)z −n
                                        0


       e
(sous r´ serve d’existence)
Pourquoi ? ? ?




plan                                                   equ
           e
Equations r´ currentes

                                          ´         e              ´            e
Parce que cela permet de transformer des equations r´ currentes en equations alg´ briques
ordinaires sur lesquelles on peut « calculer normalement »
  a `               ee
grˆ ce a deux propri´ t´ s :

        e e
  1. Lin´ arit´ :

                                 Z(αx + βy) = αZx + βZy

          e                                 e
  2. Les d´ calages d’indices sont transform´ s en produits :
       Soit x+ (n) = x(n + 1)
       On a :
                                Z(x+ )(z) = z(Zx(z) − x(0))




plan                                                                                        exp
 e
D´ monstration
                          ∞                      ∞
                                  x+ (n)z −n =            x(n + 1)z −n
                          0                          0


                     ∞                           ∞
                          x+ (n)z −n = z                 x(n + 1)z −(n+1)
                     0                           0


                           ∞                             ∞
                                   x+ (n)z −n = z             x(n)z −n
                              0                           1


                 ∞                               ∞
                         x+ (n)z −n = z                  x(n)z −n − x(0)
                 0                               0




plan                                                                        exp
Exemple
          e                               e       `
Equation r´ currente de premier ordre, lin´ aire, a coefficients constants

                                        y + = ay + bx


                   Z(y + )(z) = z(Zy(z) − y(0)) = aZy(z) + bZx(z)


                             (z − a)Zy(z) = bZx(z) + zy(0)

                                      1
                             Zy(z) =     (bZx(z) + zy(0))
                                     z−a
  e          e            ´e e
L’´ quation r´ currente a et´ « r´ solue » et la solution est une fraction rationnelle




plan                                                                                     exp
Fonctions puissance


Les fonctions puissance
Posons
                                      k
                            Gk (n) = Cn an−k

 u
o` on admet que

                                     k
                            n < k ⇒ Cn = 0

On a alors
                                         z
                          ZGk (z) =
                                    (z − a)k+1




plan                                             exe
 e
D´ monstration
Par induction : k = 0
                        ∞
                             n −n      1          z
                            a z     =      a   =
                        0
                                      1−   z     z−a
            a
pourvu que | | < 1
            z




plan                                                   exe
 e
D´ monstration
k+1
On veut calculer

                                  ∞
                                       Cn an−k−1 z −n
                                        k+1

                                 k+1

On remarque que
                               ∂ n−k
                                  a  = (n − k)an−k−1
                               ∂a
et que
                                   k+1      n−k k
                                  Cn =          Cn
                                            k+1
Donc
                   ∞                                   ∞
                                              1 ∂
                         Cn an−k−1 z −n
                          k+1
                                          =                Cn an−k z −n
                                                            k
                                            k + 1 ∂a
                   k+1                                 k


plan                                                                      exe
 e
D´ monstration
k+1
Donc
                   ∞                                   ∞
                                              1 ∂
                        Cn an−k−1 z −n
                         k+1
                                          =                Cn an−k z −n
                                                            k
                                            k + 1 ∂a
                  k+1                                  k

                    e        e
On applique l’hypoth` se de r´ currence
                       ∞
                                                1 ∂         z
                           Cn an−k−1 z −n =
                            k+1
                                              k + 1 ∂a (z − a)k+1
                     k+1

Or
                           ∂       z                    z
                                         = (k + 1)
                           ∂a (z − a)k+1           (z − a)k+2
Donc
                            ∞
                                                        z
                                Cn an−k−1 z −n =
                                 k+1

                            0
                                                   (z − a)k+2

plan                                                                      exe
Exemples de signaux
Un echelon : u(n) = 1
   ´
C’est le cas k = 0, a = 1

                                           z
                                  Zu(z) =
                                          z−1

Une rampe : r(n) = n C’est le cas k = 1, a = 1
                                            z
                                 Zr(z) =
                                         (z − 1)2




plan                                                etat
               e
Exemple de syst` mes
Fibonnacci :

                  f (n + 2) = f (n + 1) + f (n),         f (0) = f (1) = 1

            e
On peut le r´ ecrire :

                    f ++ (n) = f + (n) + f (n),        f (0) = f (1) = 1


                                  Zf ++ (z) = z(Zf + (z) − 1)


                                   Zf + (z) = z(Zf (z) − 1)


                         z(z(Zf (z) − 1) − 1) = z(Zf (z) − 1) + Zf (z)



plan                                                                         etat
               e
Exemple de syst` mes
Fibonnacci :

                 z(z(Zf (z) − 1) − 1) = z(Zf (z) − 1) + Zf (z)

      e
On « r´ soud »

                   z 2 Zf (z) − z 2 − z = zZf (z) − z + Zf (z)


                            (z 2 − z − 1)Zf (z) = z 2


                                        z2
                             Zf (z) = 2
                                     z −z−1




plan                                                             etat
 e
R´ solution
              o                  e
Chercher les pˆ les (racines du d´ nominateur)
              e             e        e
solution de l’´ quation du 2` me degr´

                                     z2 − z − 1 = 0

                                         √                √
                                   1+ 5                 1− 5
                            z0 =                 z1 =
                                     2                    2

                                      ee
C’est le fameux nombre d’or aux propri´ t´ s magiques




plan                                                           etat
 e
R´ solution
 e                                           ´e
D´ composition des fractions rationnelles en el´ ments simples :

                                 z2              zA       zB
                                             =        +
                          (z − z0 )(z − z1 )   z − z0   z − z1

On multiplie par z − z0

                         z(z − z0 )        A(z − z0 ) B(z − z0 )
                                         =           +
                      (z − z0 )(z − z1 )    z − z0     z − z1


                                  z          B(z − z0 )
                                         =A+
                               (z − z1 )      z − z1

On fait z = z0

                                         z0
                                                =A
                                     (z0 − z1 )


plan                                                               etat
 e
R´ solution
 e                                           ´e
D´ composition des fractions rationnelles en el´ ments simples :

                                 z2              zA       zB
                                             =        +
                          (z − z0 )(z − z1 )   z − z0   z − z1

On multiplie par z − z1

                         z(z − z1 )        A(z − z1 ) B(z − z1 )
                                         =           +
                      (z − z0 )(z − z1 )    z − z0     z − z1


                                  z        A(z − z1 )
                                         =            +B
                               (z − z0 )    z − z0
On fait z = z1
                                         z1
                                                =B
                                     (z1 − z0 )



plan                                                               etat
 e
R´ solution
                                                z2
                                     Zf (z) = 2
                                             z −z−1

                                        √                √
                                   1+ 5             1− 5
                              z0 =             z1 =
                                     2                2

                                     z0     z         z1     z
                         Zf (z) =                +
                                  z0 − z1 z − z0   z1 − z0 z − z1

                                         √                √
                                                                    
                                              n+1              n+1
                                1  1+ 5                 1− 5
                       f (n) = √                   −                
                                 5   2                    2

Que c’est beau ! ! !




plan                                                                     etat
             ee
Autres propri´ t´ s
  e e
Th´ or` me de la valeur initiale :

                                     x(0) = lim Zx(z)
                                           z→∞

si les limites existent


  e e
Th´ or` me de la valeur finale :

                                lim x(n) = lim (z − 1)Zx(z)
                               n→∞         z→1

si les limites existent




plan                                                          sys
 e
D´ monstration
  e e
Th´ or` me de la valeur initial :



                               Zx(z) = x(0) +         x(n)z −n
                                                1,∞


Quand z tend vers ∞, z −n , n > 1 tend vers 0




plan                                                             sys
 e
D´ monstration
  e e
Th´ or` me de la valeur initiale :



                    (z − 1)Zx(z) =          x(n)z −(n−1) −         x(n)z −n
                                      0,∞                    0,∞




                   (z − 1)Zx(z) =           x(n + 1)z −n −         x(n)z −n
                                     −1,∞                    0,∞




                             x(n + 1)z −n −         x(n)z −n = x(N + 1)
                      −1,N                    0,N




plan                                                                          sys
Applications
             ı                           e       `    ´                e
Comment connaˆtre la valeur finale de la r´ ponse a un echelon d’un syst` me de premier
ordre

                                                 bz
                                    Zy(z) =           Zx(z)
                                              (z − a)
avec
                                                     z
                                       Zx(z) =
                                                  (z − 1)
sans calculer la solution ?


         e e
Par le th´ or` me de la valeur finale, il suffit de faire :


                                             bz z     b
                              lim (z − 1)          =
                              z→1           z−az−1   1−a



plan                                                                                     sys
    e
Syst` mes et signaux, convolution
                      e                            e         e
Question : quelle diff´ rence entre signaux et syst` mes (lin´ aires stationnaires) ?
presque aucune !
              e
exemple : syst` me du premier ordre
                                            z
                                   Zy(z) =     Zx(z)
                                           z−a


                                   Zy(z) = ZS(z)Zx(z)

Avec
                                               z
                                      ZS(z) =
                                              z−a
                   e     e                    e
Tous deux sont repr´ sent´ s par des transform´ es en Z :
– Comment expliquer cela ?
                                       e
– Quelle est la vision signal d’un syst` me ?
plan                                                                                    rat
                 e
Convolution discr` te

Convolution de deux signaux x, y :

                                            ∞
                            (x ∗ y)(n) =         x(m)y(n − m)
                                             0



  e e
Th´ or` me de convolution


                               Z(x ∗ y)(z) = Zx(z)Zy(z)

                                        e                                                e
A tout signal discret correspond un syst` me dont la sortie s’obtient en convolant l’entr´ e
avec le signal.




plan                                                                                           rat
 e
D´ monstration

              Z(x ∗ y)(z) =                     x(m)y(n − m) z −n
                              n=0,∞     m=0,∞



             Z(x ∗ y)(z) =                  x(m)y(n − m)z −m−(n−m)
                             n=0,∞ m=0,∞

Posons u = n − m


                   Z(x ∗ y)(z) =                 x(m)y(u)z −m z −u
                                   m=0,∞ u=0,∞



                   Z(x ∗ y)(z) =           x(m)z −m           y(u)z −u
                                   m=0,∞              u=0,∞



                           Z(x ∗ y)(z) = Zx(z)Zy(z)

plan                                                                     rat
                         e`         e
Quel est le signal associ´ a un syst` me ?
                                               z
                                      ZS(z) =
                                              z−a

On a

                                  ZY (z) = ZS(z)ZX(z)

ZS(z) est la transform´ e de la r´ ponse du syst` me au signal d’entr´ e δ de transform´ e
                      e          e              e                    e                 e
Zδ(z) = 1


ZS(z) est la fonction de transfert du syst` me
                                          e


Z −1 ZS(z) est r´ ponse impulsionnelle du syst` me
                e                             e


                 e        e                                                 e
La sortie du syst` me (lin´ aire stationnaire) s’obtient en convolant l’entr´ e avec la
 e                                e
r´ ponse impulsionnelle du syst` me
plan                                                                                         rat
Exemples
  e            e
Op´ rateur unit´

                             ∞
                   Zδ(z) =       δ(n)z −n = 1
                             0

                          
                           1 si n = 0
                   δ(n) =
                           0 sinon




plan                                            rat
Exemples
   e              e
Int´ gration discr` te


                             y(n)    =            x(n − m)
                                          m=0,n

                                     =            s(m)x(n − m)
                                          m=0,n


   u
D’o`

                                          s(n) = 1

     e              e                                  e            e
L’int´ gration discr` te s’obtient en convolant avec l’´ chelon unit´
La fonction de transfert correspondante est

                                               z
                                      Zu(z) =
                                              z−1

plan                                                                    rat
Diagrammes de blocs
    e                       e
Repr´ sentation graphique tr` s populaire :
 e           ı
R´ seau de boˆtes et de fils :
      ı               e              e     ´e                        e
Les boˆtes sont des op´ rateurs (syst` mes el´ mentaires) et des syst` mes
                                           e             ı
Les fils sont les signaux qui sont transform´ s par les boˆtes.
Exemple :

                                          y+ = x

                                              1
                     1                                                1
                                              z
                     X                                                Y
                                          Unit Delay




plan                                                                         rat
        e       e
Des syst` mes d’´ quations aux diagrammes
       e
Un syst` me




                       x+       = f (x, y, u)
                       y+       = g(x, y, u)



Construire f , g

                        x
                        u            xp         1
                        y                       x
                                 F
                   1
                   u

                            x
                            u         yp            2
                            y                       y
                                 G




plan                                                    rat
        e       e
Des syst` mes d’´ quations aux diagrammes
       e
Un syst` me




                         x+   = f (x, y, u)
                         y+   = g(x, y, u)



Retarder
                     x
                                                  1
                     u             xp                       1
                                                  z
                     y                                      x
                              F               Unit Delay
           1
           u

                         x
                                                  1
                         u          yp                          2
                                                  z
                         y                                      y
                              G               Unit Delay1



plan                                                                rat
        e       e
Des syst` mes d’´ quations aux diagrammes
       e
Un syst` me




                     x+        = f (x, y, u)
                     y+        = g(x, y, u)



Reboucler

                       x
                                              1
                       u            xp                  1
                                              z
                       y                                x
                                F         Unit Delay
              1
              u

                           x
                                              1
                           u         yp                     2
                                              z
                           y                                y
                                G         Unit Delay1




plan                                                            rat
    e
Syst` mes rationnels
                     N (z)
Forme g´ n´ rale :
       e e                 avec degr´ N ≤degr´ D.
                                    e        e
                     D(z)
                                                     n
                                                     0   ai z i
                                   Y (z) =     n−1                         X(z)
                                               0   bi z i    +     zn

                            n−1                                   n
                           (        bi z i + z n )Y (z) =              ai z i X(z)
                               0                                  0


                                          n                        n−1
                          z n Y (z) =         ai z i X(z) −                 bi z i Y (z)
                                          0                            0

                                     n                            n−1
                         Y (z) =         ai z i−n X(z) −                   bi z i−n Y (z)
                                     0                             0
                                               n−1
                       Y (z) = an X(z) +             z i−n (ai X(z) − bi Y (z))
                                                0

plan                                                                                        euler
    e
Syst` mes rationnels
                                         n−1
                     Y (z) = an X(z) +         z i−n (ai X(z) − bi Y (z))
                                          0

Posons :



                     U0 (z)   = z −1 (a0 X(z) − b0 Y (z))
                        ...
                  Ui+1 (z)    = z −1 (ai+1 X(z) − bi+1 Y (z) + Ui (z))
                        ...
                      Y (z)   = an X(z) + Un (z)

                  e          e                                          ´
Il est facile de v´ rifier alg´ briquement que ces deux expressions sont egales.




plan                                                                              euler
    e
Syst` mes rationnels

                     U0 (z)   = z −1 (a0 X(z) − b0 Y (z))
                        ...
                  Ui+1 (z)    = z −1 (ai+1 X(z) − bi+1 Y (z) + Ui (z))
                        ...
                      Y (z)   = an X(z) + Un (z)

Conclusion : pour simuler un syst` me rationnel d’ordre n, il suffit d’utiliser n retards.
                                 e




plan                                                                                        euler
    e
Syst` mes rationnels

Exemple :

                            1
                            x
                                a0                     a1                  a2




       a2 z 2 + a1 z + a0                1                      1
                                                                                1
        z 2 + b1 z + b0                  z        u0            z     u1
                                                                                y
                                     Unit Delay             Unit Delay1


                                b0                     b1




plan                                                                                euler
    e
Syst` mes rationnels
                  1
                  x
                             a0                       a1                  a2




                                        1                      1
                                                                               1
                                        z        u0            z     u1
                                                                               y
                                    Unit Delay             Unit Delay1


                             b0                       b1




        U0 (z) = z −1 (a0 X(z) − b0 Y (z))
        U1 (z) = z −1 (a1 X(z) − b1 Y (z) + U0 (z))
         Y (z) = a2 X(z) + U1 (z)
         Y (z)   = a2 X(z) + z −1 (a1 X(z) − b1 Y (z) + z −1 (a0 X(z) − b0 Y (z)))
         Y (z)   = a2 X(z) + z −1 a1 X(z) + z −2 a0 X(z) − z −1 b1 Y (z) − z −2 b0 Y (z)
       z 2 Y (z) = a2 z 2 X(z) + a1 zX(z) + a0 X(z) − b1 zY (z) − b0 Y (z)

plan                                                                                       euler
Z, Laplace,. . .
1
           e                   e
   est l’op´ rateur retard unit´
z
Si on choisit un pas d’´ chantillonnage T on peut donc ecrire :
                         e                             ´
                                         1
                                           = e−sT
                                         z
                                              e                  e
On a alors l’approximation du premier ordre (d´ veloppement limit´ )

                                       e−sT ≈ 1 − sT

Donc, au premier ordre,


                                             1
                              1 − sT     ≈
                                             z
                                                 1   z−1
                                  sT     ≈ 1−      =
                                                 z    z
                                             z−1
                                    s ≈
                                              zT

plan                                                                   stab
Z, Laplace, et Euler
                                               z−1
                                          s≈
                                                zT
Et Euler ?
Appliquons a une fonction de transfert H :
           `

                                                 z−1
                                   H(s) ≈ H(         )
                                                  zT
            e         e            `        e    ´           e
On est pass´ d’un syst` me continu a un syst` me echantillonn´ , implantable sur
calculateur
                `     e
Cela correspond a la m´ thode d’Euler :

                                               z−1
                                   sx(s) ≈         x(z)
                                                zT

                                          x(n) − x(n − 1)
                                x (t) ≈
                                                T

plan                                                                               stab
Application
                                                               2
                                                              bruit




               1                          erreur        commande             commande       sortie               1
        sortie desiree                                                                                     sortie reelle
                                                   Pilote                         Systeme




                                                         6.8s + 4               1
                                          P =                            S=
                                                         s + 3.8                s2
                              10


                               0


                             −10

                               2

                               1

                               0

                              −1
                                   0               20              40   60        80                 100

                         Time offset: 0




plan                                                                                                                       stab
Application
             e
Choix de la p´ riode :
                0.1
On prend T =        ≈ 0.025
                3.8
Transformation du pilote

                                  6.8 z−1 + 4
                              P = z−1zT
                                   zT + 3.8



                                    6.9z − 6.8
                              P =
                                     1.1z − 1

On essaie




plan                                             stab
Application
                                                               2
                                                              bruit




               1                          erreur        commande              commande       sortie               1
        sortie desiree                                                                                      sortie reelle
                                                   Pilote                          Systeme




                                              6.9z − 6.8                        1
                                          P =                                S= 2
                                               1.1z − 1                        s
                              10


                               0


                             −10

                               2

                               1

                               0

                              −1
                                   0               20              40   60         80                 100

                         Time offset: 0




plan                                                                                                                        stab
Application
                                                  2
                                                 bruit




                     1         erreur      commande       commande       sortie         1
              sortie desiree                                                      sortie reelle
                                        Pilote                 Systeme




                                   6.9z − 6.8               1
                               P =                       S= 2
                                    1.1z − 1               s
On a donc su :


                                              e
– calculer un pilote continu donnant de bons r´ sultats

                              e                               e
– le transformer en pilote num´ rique qui donne d’aussi bons r´ sultats




plan                                                                                              stab
        e
Stabilit´ en Z

           e                        ee
Un sujet tr` s important, une propri´ t´ globale



          e
– Stabilit´

      e
– Syst` mes rationnels




plan                                               prog
        e
Stabilit´
       e     e     e              e
Un syst` me d´ plac´ d’un point d’´ quilibre reconverge-t-il vers celui-ci ou diverge-t-il ?
                 e
Exemple : Un syst` me stable




                         z
                       z−0.5
                                             Scope
        Pulse         Discrete
       Generator    Transfer Fcn




plan                                                                                           prog
        e
Stabilit´
       e     e     e              e
Un syst` me d´ plac´ d’un point d’´ quilibre reconverge-t-il vers celui-ci ou diverge-t-il ?
                 e
Exemple : Un syst` me stable
                                                               1




                                                             0.9




                                                             0.8




                                                             0.7




                                                             0.6




                                                             0.5




                                                             0.4




                                                             0.3




                                                             0.2




                         z                                   0.1




                       z−0.5                                   0

                                             Scope
                                                                   0   1   2   3   4   5   6   7   8   9   10




        Pulse         Discrete
       Generator    Transfer Fcn
                                                     Time offset: 0




plan                                                                                                            prog
        e
Stabilit´
       e     e     e              e
Un syst` me d´ plac´ d’un point d’´ quilibre reconverge-t-il vers celui-ci ou diverge-t-il ?
                 e
Exemple : Un syst` me instable




                         z
                        z−2
                                             Scope
        Pulse         Discrete
       Generator    Transfer Fcn




plan                                                                                           prog
        e
Stabilit´
       e     e     e              e
Un syst` me d´ plac´ d’un point d’´ quilibre reconverge-t-il vers celui-ci ou diverge-t-il ?
                 e
Exemple : Un syst` me instable
                                                            600




                                                            500




                                                            400




                                                            300




                                                            200




                                                            100



                         z
                        z−2                                    0
                                                                   0   1   2   3   4   5   6   7   8   9   10

                                             Scope
        Pulse         Discrete
       Generator    Transfer Fcn
                                                     Time offset: 0




Pourquoi ?




plan                                                                                                            prog
    e
Syst` mes rationnels
                          o                  e
Il suffit de regarder les pˆ les (racines du d´ nominateur) de la fonction de transfert dans le
plan complexe :


Si les pˆ les sont tous de module inf´ rieur a 1 le syst` me est dit asymptotiquement stable
        o                            e       `          e


             e
en effet la r´ ponse impulsionnelle sera une somme de termes de type

                                           k
                                          Cn an−k

avec a en module inf´ rieur a 1. Tous ces termes tendent vers 0 quand n tend vers l’infini.
                       e      `
                z
Exemple :
            z − 0.5
il y a un seul pˆ le de valeur absolue 0.5 < 1 : le syst` me est asymptotiquement stable
                o                                       e




plan                                                                                        prog
Programmation

         e                     e            e                          e
Les sch´ mas-bloc discrets (´ chantillonn´ s) s’appliquent aussi aux op´ rations non
   e
lin´ aires (tests, multiplication entre signaux,...)


                         e                      e e
Ils sont la base des syst` mes de compilation (g´ n´ ration automatique de code) :
– Simulink Real-Time Workshop (Matlab)
– Scicos (Inria)
– Lustre/Scade (Verimag/Esterel-Tecnologies)




plan                                                                                   prog
 e                    e
D´ veloppement par mod` les

                e     `                e           e                    e
Cette possibilit´ est a la base de la m´ thode de d´ veloppement par mod` les
(Model-Based Development)
                                  e
– Conception et validation sur mod` les (Simulink, Scicos)
   e
– D´ ploiement automatique par compilation


       e       ´
Cette m´ thode evite la phase de codage manuel, source d’erreur.
                                  e                e
Elle garantit que ce qu’on a valid´ est ce qu’on ex´ cute.
                            e                 e                      e
La mise en œuvre de cette m´ thode place le d´ veloppement des syst` mes
                                          `
d’automatismes et de traitement de signal a la pointe de l’informatique :
                                     e                 e                  `
Dans ce domaine, l’informatique est v´ ritablement pass´ e de l’artisanat a l’industrie




plan                                                                                      prog
Compilation
        1
        x
                   a0                        a1                  a2




                               1                      1
                                                                      1
                               z        u0            z     u1
                                                                      y
                           Unit Delay             Unit Delay1


                   b0                        b1




              U0 (z)    = z −1 (a0 X(z) − b0 Y (z))
              U1 (z)    = z −1 (a1 X(z) − b1 Y (z) + U0 (z))
              Y (z)     = a2 X(z) + U1 (z)




plan                                                                      prog
             e e
Compilation g´ n´ rique

                     U0 (z)   = z −1 (a0 X(z) − b0 Y (z))
                     U1 (z)   = z −1 (a1 X(z) − b1 Y (z) + U0 (z))
                      Y (z)   = a2 X(z) + U1 (z)

                                               e
Associer deux variables pour chaque variable d’´ tat
– la valeur avant
               e
– la valeur apr` s




plan                                                                 prog
             e e
Compilation g´ n´ rique

              U0 (z)   = z −1 (a0 X(z) − b0 Y (z))
              U1 (z)   = z −1 (a1 X(z) − b1 Y (z) + U0 (z))
              Y (z)    = a2 X(z) + U1 (z)

           e
class deuxi`me_ordre {
      private :
        float a0, a1, a2, b0, b1;
        float u0, u1 ;
      public :
             e
        deuxi`me_ordre(float a0, a1, a2, b0, b1;
               float u0, u1) {....}
        float compute(float x) {
          ...
          return y;
        }}
plan                                                          prog
plan   prog
             e e
Compilation g´ n´ rique

               U0 (z)   = z −1 (a0 X(z) − b0 Y (z))
               U1 (z)   = z −1 (a1 X(z) − b1 Y (z) + U0 (z))
               Y (z)    = a2 X(z) + U1 (z)

       float compute(float x) {
         float y, up0, up1;
         y   = a2*x + u1 ;
         up0 = a0*x - b0*y ;
         up1 = a1*x - b1*y + u0;
         u0 = up0;
         u1 = up1;
         return y;
         }
       }


plan                                                           prog
Optimisations

                     e a `            e          ´                    e
Nombreuses possibilit´ s grˆ ce a la s´ mantique equationnelle des sch´ mas-bloc.


  ´                              e
– eliminer les buffers non utilis´ s

                            e               ´
– supprimer des buffers en r´ ordonnant les equations

– transformer le source grˆ ce a la commutation des z −1
                          a `




plan                                                                                prog
Suppression de buffers

  float compute(float x) {    float compute(float x) {
    float y, up0, up1;          float y, up0;
    y   = a2*x + u1 ;           y   = a2*x + u1 ;
    up0 = a0*x - b0*y ;         up0 = a0*x - b0*y ;
    up1 = a1*x - b1*y + u0;     u1 = a1*x - b1*y + u0;
    u0 = up0;                   u0 = up0;
    u1 = up1;                   return y;
    return y;                   }
    }                         }
  }




plan                                                     prog
 e
R´ ordonner les instructions

  float compute(float x) {     float compute(float x) {
    float y, up0;                float y;
    y   = a2*x + u1 ;            y   = a2*x + u1 ;
    up0 = a0*x - b0*y ;          u1 = a1*x - b1*y + u0;
    u1 = a1*x - b1*y + u0;       u0 = a0*x - b0*y ;
    u0 = up0 ;                   return y;
    return y;                    }
    }                          }
  }




plan                                                      prog
Commutation des z −1

  a `             ee
Grˆ ce a la propri´ t´ :
Si f est une fonction statique (ne comportant pas d’´ p´ rateur z),
                                                    o e

                                   zf (x, y) = f (zx, zy)



                  ee                         e                                         e
C’est cette propri´ t´ qui nous a permis de r´ duire le nombre de retards dans le deuxi` me
ordre.




plan                                                                                      prog

				
DOCUMENT INFO
Shared By:
Categories:
Stats:
views:1
posted:10/30/2012
language:
pages:58
Description: ces document contient des cours informatique industrielle