Arithmétique pour les applications de traitement du

Document Sample
Arithmétique pour les applications de traitement du Powered By Docstoc
					      e
Arithm´tique pour les applications de traitement
                                e
             du signal embarqu´es

                     D. Menard

                      IRISA–INRIA
                          e
                 Universit´ de Rennes 1
                  6 rue de Kerampont
                    F-22300 Lannion


                 27 octobre 2009
                 e
    Plan de la pr´sentation

                          e
          I Traitement num´rique du signal
              Notions de traitement du signal
              Algorithmes de TNS
              Domaines d’application du TNS




2                            IRISA–CAIRN         e
                                           Arithm´tique & traitement du signal
                 e
    Plan de la pr´sentation

                          e
          I Traitement num´rique du signal
              Notions de traitement du signal
              Algorithmes de TNS
              Domaines d’application du TNS


                   e
          II Arithm´tique virgule fixe
                e              e
              Ad´quation arithm´tique domaine d’application
              Conversion en virgule fixe




2                            IRISA–CAIRN         e
                                           Arithm´tique & traitement du signal
                 e
    Plan de la pr´sentation

                          e
          I Traitement num´rique du signal
              Notions de traitement du signal
              Algorithmes de TNS
              Domaines d’application du TNS


                   e
          II Arithm´tique virgule fixe
                e              e
              Ad´quation arithm´tique domaine d’application
              Conversion en virgule fixe


          III Conclusions

2                            IRISA–CAIRN         e
                                           Arithm´tique & traitement du signal
                 Notions de traitement du signal
                            Algorithmes de TNS
                 Domaines d’application du TNS




                                            Part 1

                                e
                  Traitement num´rique du signal


    1   Notions de traitement du signal

    2   Algorithmes de TNS

    3   Domaines d’application du TNS




3                                  IRISA–CAIRN           e
                                                   Arithm´tique & traitement du signal
                        Notions de traitement du signal
                                   Algorithmes de TNS
                        Domaines d’application du TNS


    Introduction


                     e                     e
      Traitement (num´rique) du signal (num´rique)
                 e
            Mod´liser – ou identifier – consiste en l’analyse d’un signal
                        e                                    e
            ou d’un syst`me, dans le domaine temporel ou fr´quentiel (i.e.
            spectral).




      Cours de traitement du signal, O. Sentieys, AriNews Nov 2003 :
      https://listes.ens-lyon.fr/wws/d_read/arinews.lip/2003-11/Sentieys.pdf?checked_cas=0




4                                         IRISA–CAIRN           e
                                                          Arithm´tique & traitement du signal
                        Notions de traitement du signal
                                   Algorithmes de TNS
                        Domaines d’application du TNS


    Introduction


                     e                     e
      Traitement (num´rique) du signal (num´rique)
                 e
            Mod´liser – ou identifier – consiste en l’analyse d’un signal
                        e                                    e
            ou d’un syst`me, dans le domaine temporel ou fr´quentiel (i.e.
            spectral).
                 e            e e
            Synth´tiser – ou g´n´rer – un signal.




      Cours de traitement du signal, O. Sentieys, AriNews Nov 2003 :
      https://listes.ens-lyon.fr/wws/d_read/arinews.lip/2003-11/Sentieys.pdf?checked_cas=0




4                                         IRISA–CAIRN           e
                                                          Arithm´tique & traitement du signal
                        Notions de traitement du signal
                                   Algorithmes de TNS
                        Domaines d’application du TNS


    Introduction


                     e                     e
      Traitement (num´rique) du signal (num´rique)
                 e
            Mod´liser – ou identifier – consiste en l’analyse d’un signal
                        e                                    e
            ou d’un syst`me, dans le domaine temporel ou fr´quentiel (i.e.
            spectral).
                 e            e e
            Synth´tiser – ou g´n´rer – un signal.
            Transmettre un ensemble de signaux sur un support.




      Cours de traitement du signal, O. Sentieys, AriNews Nov 2003 :
      https://listes.ens-lyon.fr/wws/d_read/arinews.lip/2003-11/Sentieys.pdf?checked_cas=0




4                                         IRISA–CAIRN           e
                                                          Arithm´tique & traitement du signal
                        Notions de traitement du signal
                                   Algorithmes de TNS
                        Domaines d’application du TNS


    Introduction


                     e                     e
      Traitement (num´rique) du signal (num´rique)
                 e
            Mod´liser – ou identifier – consiste en l’analyse d’un signal
                        e                                    e
            ou d’un syst`me, dans le domaine temporel ou fr´quentiel (i.e.
            spectral).
                 e            e e
            Synth´tiser – ou g´n´rer – un signal.
            Transmettre un ensemble de signaux sur un support.
                                                       a
            Transformer un ensemble de signaux ` l’aide d’un syst`me     e
            lin´aire (filtrer, moduler, coder, . . . ) ou non lin´aire (()2 , | |,
                e                                               e
            . . .).
      Cours de traitement du signal, O. Sentieys, AriNews Nov 2003 :
      https://listes.ens-lyon.fr/wws/d_read/arinews.lip/2003-11/Sentieys.pdf?checked_cas=0




4                                         IRISA–CAIRN           e
                                                          Arithm´tique & traitement du signal
                                 Notions de traitement du signal
                                            Algorithmes de TNS
                                 Domaines d’application du TNS


       ıne
    Chaˆ de traitement


                                                   A
                                         B
                                                       N                                   Action
                                 Te
                                                                                          numérique


                  Filtre passe-bas




                                                                                                          Actionneurs
                  anti-repliement
       Capteurs




                                             CAN               T.N.S.               CNA
                                                       0.236
                                                       0.421
                                                       0.563
                                                       0.6
                                                       0.61
                                                       0.613
                                                       0.61
                                                       1.236
                                                       0.58
                                                       0.49
                                                       035
                                                       0.2
                                                       0.2
                                                       0.21




                                                                            0.236
                                                                            0.421
                                                                            0.563
                                                                            0.6
                                                                            0.61
                                                                            0.613
                                                                            0.61
                                                                            1.236
                                                                            0.58
                                                                            0.49
                                                                            035
                                                                            0.2
                                                                            0.2
                                                                            0.21




5                                                  IRISA–CAIRN            e
                                                                    Arithm´tique & traitement du signal
                 Notions de traitement du signal
                            Algorithmes de TNS
                 Domaines d’application du TNS


               e
    Domaines d’´tudes


      Domaine temporel
         ´         e
         Equation r´currente

               y(n) = f (x (n − i ), y(n − j ))               avec i ≥ 0, j > 0




6                                  IRISA–CAIRN           e
                                                   Arithm´tique & traitement du signal
                  Notions de traitement du signal
                             Algorithmes de TNS
                  Domaines d’application du TNS


               e
    Domaines d’´tudes


      Domaine temporel
         ´         e
         Equation r´currente

               y(n) = f (x (n − i ), y(n − j ))                avec i ≥ 0, j > 0
           e                                   e      e
          R´ponse impulsionnelle h(n) d’un syst`me lin´aire invariant
          dans le temps (LIT)
                                                         ∞
                      y(n) = h(n) ∗ x (n) =                   h(i ).x (n − i )
                                                        i=0




6                                   IRISA–CAIRN           e
                                                    Arithm´tique & traitement du signal
                  Notions de traitement du signal
                             Algorithmes de TNS
                  Domaines d’application du TNS


               e
    Domaines d’´tudes



                e
      Domaine fr´quentiel
                   e
         Transform´e de fourrier
               e
              D´composition sur une base de fonctions orthogonales
                             e
                    Transform´e de Fourier (TF ) d’un signal x (n) discret
                                    e
                    quelconque non p´riodique
                                                            ∞
                                            X (e j Ω ) =          x (n)e −j Ωn
                                                           n=−∞




7                                   IRISA–CAIRN             e
                                                      Arithm´tique & traitement du signal
                  Notions de traitement du signal
                             Algorithmes de TNS
                  Domaines d’application du TNS


               e
    Domaines d’´tudes



                e
      Domaine fr´quentiel
                   e
         Transform´e de fourrier
               e
              D´composition sur une base de fonctions orthogonales
                             e
                    Transform´e de Fourier (TF ) d’un signal x (n) discret
                                    e
                    quelconque non p´riodique
                                                            ∞
                                            X (e j Ω ) =          x (n)e −j Ωn
                                                           n=−∞

                                                      e        e
              Analyse du module et de la phase de la r´ponse fr´quentielle




7                                   IRISA–CAIRN             e
                                                      Arithm´tique & traitement du signal
                  Notions de traitement du signal
                             Algorithmes de TNS
                  Domaines d’application du TNS


               e
    Domaines d’´tudes

      Domaine en Z
                    e                   e                 a
         Transform´e en Z directe unilat´rale d’un signal ` temps
                            e
         discret x (n) est d´finie par :
                                                           ∞
                            Z [x (n)] = X (z ) =                x (n)z −n
                                                         n=0


               z variable complexe (z ∈ C) d´finie partout o` cette s´rie
                                            e              u        e
               converge.




8                                   IRISA–CAIRN           e
                                                    Arithm´tique & traitement du signal
                  Notions de traitement du signal
                             Algorithmes de TNS
                  Domaines d’application du TNS


               e
    Domaines d’´tudes

      Domaine en Z
                    e                   e                 a
         Transform´e en Z directe unilat´rale d’un signal ` temps
                            e
         discret x (n) est d´finie par :
                                                           ∞
                            Z [x (n)] = X (z ) =                x (n)z −n
                                                         n=0


               z variable complexe (z ∈ C) d´finie partout o` cette s´rie
                                            e              u        e
               converge.
                                         e
          Fonction de transfert d’un syst`me LIT

                                                       Y (z )
                                            H (z ) =
                                                       X (z )

8                                   IRISA–CAIRN           e
                                                    Arithm´tique & traitement du signal
                                                  Notions de traitement du signal
                                                             Algorithmes de TNS
                                                  Domaines d’application du TNS


    Exemple
                                                                                                       Réponse impulsionnelle h(n)
                                                                                   0.5

                                                                                   0.4
                                 Entrée du filtre x(n)                                                                                                                                    Sortie du filtre y(n)

                                                                                   0.3
                                                                                                                                                                8
        2                                                                          0.2
                                                                                                                                                                6
                                                                                   0.1                                                                          4
        0
                                                                                        0                                                                       2

       -2                                                                      -0.1                                                                             0

                                                                               -0.2                                                                            -2
       -4
                                                                                                                                                               -4
                                                                               -0.3

       -6                                                                                                                                                      -6
                                                                               -0.4
                                                                                            0             50           100           150            200
                                                                                                                                                               -8
                                                                                                                        n
       -8
                1410    1420     1430    1440      1450   1460   1470                                                                                                1420       1430        1440            1450     1460    1470




                                                                                                                                                                     y ( n) = x ( n ) * h( n)
                                  x(n)                                                                               H
                                                                        x(n)                                                                        y (n)                     ↓TF
                               ↓        TF

                                                                                                                                                                    X ( f ) = H ( f ).Y ( f )
                               X( f )                                     H ( z) =
                                                                                                    0.4523 + 0.1072 z -1 + 0.4523 z -2
                                                                                                       1 - 0.6234 z -1 + 0.9689 z -2
                                                                                                                                                                            Sortie du filtre dans le domaine fréquentiel
                  Entrée du filtre dans le domaine fréquentiel
                                                                                                                                                               80
                                                                                                           Module de la réponse fréquentielle
                                                                                            40                                                                 70
       60
                                                                                                                                                               60
                                                                                            20
       50                                                                                                                                                      50
                                                                                                0
                                                                                                                                                               40
       40
                                                                           Module(dB)




                                                                                         -20                                                                   30

       30                                                                                                                                                      20
                                                                                         -40
                                                                                                                                                               10
       20
                                                                                         -60                                                                    0
       10
            0    1000     2000       3000       4000      5000   6000                    -80                                                                                1000       2000            3000        4000     5000


                                                                                        -100
                                                                                            0         1          2         3        4           5          6
                                                                                                                     Fréquence (Hz)                 x 10
                                                                                                                                                           4



9                                                                          IRISA–CAIRN                                               e
                                                                                                                               Arithm´tique & traitement du signal
                  Notions de traitement du signal   Filtres
                             Algorithmes de TNS               e
                                                    Transform´es
                  Domaines d’application du TNS             e
                                                    Caract´ristiques des applications de TNS




                                             Part 1

                                 e
                   Traitement num´rique du signal


     1   Notions de traitement du signal

     2   Algorithmes de TNS

     3   Domaines d’application du TNS




10                                   IRISA–CAIRN            e
                                                      Arithm´tique & traitement du signal
                   Notions de traitement du signal       Filtres
                              Algorithmes de TNS                   e
                                                         Transform´es
                   Domaines d’application du TNS                 e
                                                         Caract´ristiques des applications de TNS


            a e
     Filtre ` r´ponse impulsionnelle finie (FIR)
         e
       Sp´cifications
           ´         e
           Equation r´currente
                                                     N
                                       y(n) =              bi .x (n − i )
                                                     i=0




11                                    IRISA–CAIRN                e
                                                           Arithm´tique & traitement du signal
                   Notions de traitement du signal       Filtres
                              Algorithmes de TNS                   e
                                                         Transform´es
                   Domaines d’application du TNS                 e
                                                         Caract´ristiques des applications de TNS


            a e
     Filtre ` r´ponse impulsionnelle finie (FIR)
         e
       Sp´cifications
           ´         e
           Equation r´currente
                                                     N
                                       y(n) =              bi .x (n − i )
                                                     i=0

           Fonction de transfert
                                                         N −1
                                          H (z ) =              bi .z −i
                                                         i=0




11                                    IRISA–CAIRN                e
                                                           Arithm´tique & traitement du signal
                   Notions de traitement du signal       Filtres
                              Algorithmes de TNS                   e
                                                         Transform´es
                   Domaines d’application du TNS                 e
                                                         Caract´ristiques des applications de TNS


            a e
     Filtre ` r´ponse impulsionnelle finie (FIR)
         e
       Sp´cifications
           ´         e
           Equation r´currente
                                                     N
                                       y(n) =              bi .x (n − i )
                                                     i=0

           Fonction de transfert
                                                         N −1
                                          H (z ) =              bi .z −i
                                                         i=0

            e
           R´ponse impulsionnelle
                                                     N
                                       h(n) =              bi .δ(n − i )
                                                     i=0

11                                    IRISA–CAIRN                e
                                                           Arithm´tique & traitement du signal
                     Notions de traitement du signal   Filtres
                                Algorithmes de TNS               e
                                                       Transform´es
                     Domaines d’application du TNS             e
                                                       Caract´ristiques des applications de TNS


            a e
     Filtre ` r´ponse impulsionnelle finie (FIR)

           Graphe flot de signal d’un filtre FIR




          Finite Impulse Response filter


          x (n)             T                T                             T
               b0           b1               b2                            bn


                                                                                               y(n)




12                                      IRISA–CAIRN            e
                                                         Arithm´tique & traitement du signal
                   Notions de traitement du signal   Filtres
                              Algorithmes de TNS               e
                                                     Transform´es
                   Domaines d’application du TNS             e
                                                     Caract´ristiques des applications de TNS


            a e
     Filtre ` r´ponse impulsionnelle infinie

         e
       Sp´cifications
           ´         e
           Equation r´currente
                                       N                       N
                         y(n) =            bi .x (n − i ) −         ai .y(n − i )
                                     i=0                      i=1




13                                    IRISA–CAIRN            e
                                                       Arithm´tique & traitement du signal
                   Notions de traitement du signal   Filtres
                              Algorithmes de TNS               e
                                                     Transform´es
                   Domaines d’application du TNS             e
                                                     Caract´ristiques des applications de TNS


            a e
     Filtre ` r´ponse impulsionnelle infinie

         e
       Sp´cifications
           ´         e
           Equation r´currente
                                       N                       N
                         y(n) =            bi .x (n − i ) −         ai .y(n − i )
                                     i=0                      i=1

           Fonction de transfert
                                                              N         −i
                                           N (z )             i=0 bi .z
                              H (z ) =            =             N
                                           D(z )    1+          i=1 ai .z
                                                                           −i




13                                    IRISA–CAIRN            e
                                                       Arithm´tique & traitement du signal
                   Notions de traitement du signal   Filtres
                              Algorithmes de TNS               e
                                                     Transform´es
                   Domaines d’application du TNS             e
                                                     Caract´ristiques des applications de TNS


            a e
     Filtre ` r´ponse impulsionnelle infinie

         e
       Sp´cifications
           ´         e
           Equation r´currente
                                       N                        N
                         y(n) =             bi .x (n − i ) −         ai .y(n − i )
                                     i=0                       i=1

           Fonction de transfert
                                                               N         −i
                                            N (z )             i=0 bi .z
                              H (z ) =             =             N
                                            D(z )    1+          i=1 ai .z
                                                                            −i


            e
           R´ponse impulsionnelle

                                           h(n) = Z −1 (H (z ))



13                                    IRISA–CAIRN            e
                                                       Arithm´tique & traitement du signal
                     Notions de traitement du signal   Filtres
                                Algorithmes de TNS               e
                                                       Transform´es
                     Domaines d’application du TNS             e
                                                       Caract´ristiques des applications de TNS


            a e
     Filtre ` r´ponse impulsionnelle infinie (IIR)
           Graphe flot de signal d’un filtre IIR


          Infinite Impulse Response filter

                      x (n)                                                   y(n)

                                     T         b0                  T




                                     T         b1            a1 T




                                               b2            a2


14                                       IRISA–CAIRN           e
                                                         Arithm´tique & traitement du signal
                   Notions de traitement du signal   Filtres
                              Algorithmes de TNS               e
                                                     Transform´es
                   Domaines d’application du TNS             e
                                                     Caract´ristiques des applications de TNS


     Filtres adaptatifs

         e
       Sp´cifications
                                                              e
           Adaptation des coefficients du filtre wi selon un crit`re
           d’erreur




15                                    IRISA–CAIRN            e
                                                       Arithm´tique & traitement du signal
                   Notions de traitement du signal     Filtres
                              Algorithmes de TNS                 e
                                                       Transform´es
                   Domaines d’application du TNS               e
                                                       Caract´ristiques des applications de TNS


     Filtres adaptatifs

         e
       Sp´cifications
                                                              e
           Adaptation des coefficients du filtre wi selon un crit`re
           d’erreur
                                                        e
           Minimisation de la fonction d’erreur par la m´thode du
           gradient stochastique : Least Mean Square (LMS)
                                                 N
                                    y(n) =            wi (n).x (n − i )
                                                i=0

                    wi (n) = wi (n − 1) + µ.x (n − i ).(ˆ (n) − y(n))
                                                        y




15                                    IRISA–CAIRN              e
                                                         Arithm´tique & traitement du signal
                   Notions de traitement du signal     Filtres
                              Algorithmes de TNS                 e
                                                       Transform´es
                   Domaines d’application du TNS               e
                                                       Caract´ristiques des applications de TNS


     Filtres adaptatifs

         e
       Sp´cifications
                                                              e
           Adaptation des coefficients du filtre wi selon un crit`re
           d’erreur
                                                        e
           Minimisation de la fonction d’erreur par la m´thode du
           gradient stochastique : Least Mean Square (LMS)
                                                 N
                                    y(n) =            wi (n).x (n − i )
                                                i=0

                    wi (n) = wi (n − 1) + µ.x (n − i ).(ˆ (n) − y(n))
                                                        y


                                       e     e
           Applications : annulation d’´cho, ´galisation, codage, filtrage
               e
           et r´duction de bruit

15                                    IRISA–CAIRN              e
                                                         Arithm´tique & traitement du signal
                   Notions de traitement du signal     Filtres
                              Algorithmes de TNS                 e
                                                       Transform´es
                   Domaines d’application du TNS               e
                                                       Caract´ristiques des applications de TNS


              e
     Transform´e de Fourier Rapide (FFT)

        e
       D´finition
                    e                   e
           Transform´e de Fourrier discr`te
                               N −1
                                                            n.k
                  X (k ) =            x (n).e (−2j π         N
                                                                  )
                                                                      , k = 0, 1 . . . N − 1
                               n=0

           Ecriture matricielle
                            1          1              1                ···       1
                                                                                      
               X (0)                                                          WN −1                 x (0)
                                                                              N
                                                                                                          
                          1          WN 1           WN 2              ···
            X (1)   .  
                                       .              .                 .        .
                                                                                                   x (1) 
                       .             .              .                 .        .
                                                                                        
                                                                                       ×
                 .     = .                                                                            .
                                                                                                          
           
                 .                     .              .                 .        .                    .
                                                                                                           
                .     
                                         2              4                      2(N −1)                 .  
                          1          WN             WN                ···   WN
             X (N − 1)                                                                            x (N − 1)
                                                                                       
                                                     2(N −1)                   (N −1)2
                            1       WN −1
                                     N
                                                 WN                    ···   WN
                                                                                                         (1)



16                                    IRISA–CAIRN                 e
                                                            Arithm´tique & traitement du signal
                Notions de traitement du signal   Filtres
                           Algorithmes de TNS               e
                                                  Transform´es
                Domaines d’application du TNS             e
                                                  Caract´ristiques des applications de TNS


              e
     Transform´e de Fourier Rapide (FFT)

                       0·0                  0·0              0·0
                      W16                  W8               W4
        x (0)       × 1·0                × 1·0            × 1·0                    X (0)
                     W16                  W8               W4
        x (1)       × 2·0                × 2·0            × 0·1                    X (8)
                     W16                  W8               W4
        x (2)       × 3·0                × 3·0            × 1·1                    X (4)
                     W16                  W8               W4
        x (3)       × 4·0                × 0·1            × 0·0                    X (12)
                     W16                  W8               W4
        x (4)       × 5·0                × 1·1            × 1·0                    X (2)
                     W16                  W8               W4
        x (5)       × 6·0                × 2·1            × 0·1                    X (10)
                     W16                  W8               W4
        x (6)       × 7·0                × 3·1            × 1·1                    X (6)
                     W16                  W8               W4
        x (7)       × 0·1                × 0·0            × 0·0                    X (14)
                     W16                  W8               W4
        x (8)       × 1·1                × 1·0            × 1·0                    X (1)
                     W16                  W8               W4
        x (9)       × 2·1                × 2·0            × 0·1                    X (9)
                     W16                  W8               W4
       x (10)       × 3·1                × 3·0            × 1·1                    X (5)
                     W16                  W8               W4
       x (11)       × 4·1                × 0·1            × 0·0                    X (13)
                     W16                  W8               W4
       x (12)       × 5·1                × 1·1            × 1·0                    X (3)
                     W16                  W8               W4
       x (13)       × 6·1                × 2·1            × 0·1                    X (11)
                     W16                  W8               W4
       x (14)       × 7·1                × 3·1            × 1·1                    X (7)
                     W16                  W8               W4
       x (15)       ×                    ×                ×                        X (15)

17                                 IRISA–CAIRN            e
                                                    Arithm´tique & traitement du signal
                   Notions de traitement du signal   Filtres
                              Algorithmes de TNS               e
                                                     Transform´es
                   Domaines d’application du TNS             e
                                                     Caract´ristiques des applications de TNS


              e
     Transform´e en cosinus discret (DCT)
        e
       D´finition
                    e
           Transform´e en cosinus discret

                         N −1
                                               π          1
              X (k ) =          x (n). cos           n+         .k    , k = 0, 1 . . . N − 1
                         n=0
                                               N          2




18                                    IRISA–CAIRN            e
                                                       Arithm´tique & traitement du signal
                   Notions de traitement du signal   Filtres
                              Algorithmes de TNS               e
                                                     Transform´es
                   Domaines d’application du TNS             e
                                                     Caract´ristiques des applications de TNS


              e
     Transform´e en cosinus discret (DCT)
        e
       D´finition
                    e
           Transform´e en cosinus discret

                         N −1
                                               π          1
              X (k ) =          x (n). cos           n+         .k    , k = 0, 1 . . . N − 1
                         n=0
                                               N          2


           Implantation rapide : Fast Cosine Transform (FCT)
                                                      a
                Utilisation des techniques similaires ` la FFT pour factoriser
                les traitements
                     Complexit´ en O(N log2 (N ))
                              e




18                                    IRISA–CAIRN            e
                                                       Arithm´tique & traitement du signal
                   Notions de traitement du signal   Filtres
                              Algorithmes de TNS               e
                                                     Transform´es
                   Domaines d’application du TNS             e
                                                     Caract´ristiques des applications de TNS


              e
     Transform´e en cosinus discret (DCT)
        e
       D´finition
                    e
           Transform´e en cosinus discret

                         N −1
                                               π          1
              X (k ) =          x (n). cos           n+         .k    , k = 0, 1 . . . N − 1
                         n=0
                                               N          2


           Implantation rapide : Fast Cosine Transform (FCT)
                                                      a
                Utilisation des techniques similaires ` la FFT pour factoriser
                les traitements
                     Complexit´ en O(N log2 (N ))
                              e
           Applications :
                2d-DCT : compression JPEG
                MDCT (Modified Discrete Cosine Transform) : MP3, AAC,
                WMA
18                                    IRISA–CAIRN            e
                                                       Arithm´tique & traitement du signal
                   Notions de traitement du signal   Filtres
                              Algorithmes de TNS               e
                                                     Transform´es
                   Domaines d’application du TNS             e
                                                     Caract´ristiques des applications de TNS


           e
     Caract´ristiques des applications de TNS

       Fonctions typiques de TNS
           Filtrage, convolution
               Multiplication Accumulation (MAC) : y = y + x × h




19                                    IRISA–CAIRN            e
                                                       Arithm´tique & traitement du signal
                   Notions de traitement du signal   Filtres
                              Algorithmes de TNS               e
                                                     Transform´es
                   Domaines d’application du TNS             e
                                                     Caract´ristiques des applications de TNS


           e
     Caract´ristiques des applications de TNS

       Fonctions typiques de TNS
           Filtrage, convolution
               Multiplication Accumulation (MAC) : y = y + x × h
           Adaptation
               Multiplication Addition (MAD) : y = z + x × h




19                                    IRISA–CAIRN            e
                                                       Arithm´tique & traitement du signal
                   Notions de traitement du signal   Filtres
                              Algorithmes de TNS               e
                                                     Transform´es
                   Domaines d’application du TNS             e
                                                     Caract´ristiques des applications de TNS


           e
     Caract´ristiques des applications de TNS

       Fonctions typiques de TNS
           Filtrage, convolution
               Multiplication Accumulation (MAC) : y = y + x × h
           Adaptation
               Multiplication Addition (MAD) : y = z + x × h
                                        x = xr .wr − xi .wi
           Multiplication complexe : r
                                        xi = xr .wi + xi .wr




19                                    IRISA–CAIRN            e
                                                       Arithm´tique & traitement du signal
                   Notions de traitement du signal   Filtres
                              Algorithmes de TNS               e
                                                     Transform´es
                   Domaines d’application du TNS             e
                                                     Caract´ristiques des applications de TNS


           e
     Caract´ristiques des applications de TNS

       Fonctions typiques de TNS
           Filtrage, convolution
               Multiplication Accumulation (MAC) : y = y + x × h
           Adaptation
               Multiplication Addition (MAD) : y = z + x × h
                                        x = xr .wr − xi .wi
           Multiplication complexe : r
                                        xi = xr .wi + xi .wr
                      e
           Mesure du d´placement
               Sum of Absolute Difference (SAD) : y = y + |z − x |




19                                    IRISA–CAIRN            e
                                                       Arithm´tique & traitement du signal
                    Notions de traitement du signal   Filtres
                               Algorithmes de TNS               e
                                                      Transform´es
                    Domaines d’application du TNS             e
                                                      Caract´ristiques des applications de TNS


           e
     Caract´ristiques des applications de TNS

       Fonctions typiques de TNS
           Filtrage, convolution
                Multiplication Accumulation (MAC) : y = y + x × h
           Adaptation
               Multiplication Addition (MAD) : y = z + x × h
                                        x = xr .wr − xi .wi
           Multiplication complexe : r
                                        xi = xr .wi + xi .wr
                      e
           Mesure du d´placement
                Sum of Absolute Difference (SAD) : y = y + |z − x |
           Parcours de treillis, Viterbi :
                                                       a1 = x1 + x2 ; a2 = y1 + y2 ;
                Add Compare Select (ACS)
                                                       y = (a1 > a2 )?a1 : a2



19                                     IRISA–CAIRN            e
                                                        Arithm´tique & traitement du signal
                    Notions de traitement du signal   Filtres
                               Algorithmes de TNS               e
                                                      Transform´es
                    Domaines d’application du TNS             e
                                                      Caract´ristiques des applications de TNS


           e
     Caract´ristiques des applications de TNS

       Fonctions typiques de TNS
           Filtrage, convolution
                Multiplication Accumulation (MAC) : y = y + x × h
           Adaptation
               Multiplication Addition (MAD) : y = z + x × h
                                        x = xr .wr − xi .wi
           Multiplication complexe : r
                                        xi = xr .wi + xi .wr
                      e
           Mesure du d´placement
                Sum of Absolute Difference (SAD) : y = y + |z − x |
           Parcours de treillis, Viterbi :
                                                       a1 = x1 + x2 ; a2 = y1 + y2 ;
                Add Compare Select (ACS)
                                                       y = (a1 > a2 )?a1 : a2

                                 e e
           Motifs simples mais ex´cut´s de nombreuses fois

19                                     IRISA–CAIRN            e
                                                        Arithm´tique & traitement du signal
                  Notions de traitement du signal
                             Algorithmes de TNS     Quelques domaines d’application
                  Domaines d’application du TNS




                                             Part 1

                                 e
                   Traitement num´rique du signal


     1   Notions de traitement du signal

     2   Algorithmes de TNS

     3   Domaines d’application du TNS




20                                   IRISA–CAIRN            e
                                                      Arithm´tique & traitement du signal
                   Notions de traitement du signal
                              Algorithmes de TNS     Quelques domaines d’application
                   Domaines d’application du TNS


     Domaines d’application
       Applications de TNS
                            e
           Transmission et r´ception de l’information
                 ee                 ee
                T´l´communication, t´l´phonie mobile, satellite




21                                    IRISA–CAIRN            e
                                                       Arithm´tique & traitement du signal
                   Notions de traitement du signal
                              Algorithmes de TNS     Quelques domaines d’application
                   Domaines d’application du TNS


     Domaines d’application
       Applications de TNS
                            e
           Transmission et r´ception de l’information
                 ee                 ee
                T´l´communication, t´l´phonie mobile, satellite
                                                    e
           Analyse, traitement, compression et synth`se de signaux :
                Parole (codeur de parole)
                Son (MP3, AAC, Dolby, . . . )
                         ee e
                Image (t´l´d´tection)
                Video (MPEG4)




21                                    IRISA–CAIRN            e
                                                       Arithm´tique & traitement du signal
                   Notions de traitement du signal
                              Algorithmes de TNS     Quelques domaines d’application
                   Domaines d’application du TNS


     Domaines d’application
       Applications de TNS
                            e
           Transmission et r´ception de l’information
                 ee                 ee
                T´l´communication, t´l´phonie mobile, satellite
                                                    e
           Analyse, traitement, compression et synth`se de signaux :
                Parole (codeur de parole)
                Son (MP3, AAC, Dolby, . . . )
                         ee e
                Image (t´l´d´tection)
                Video (MPEG4)
                          e
           Traitement des ´chos
                ´           e
                Electromagn´tique (radar)
                Acoustique (sonar)
                          e
                Ultrason (´chographie)
                Sismique



21                                    IRISA–CAIRN            e
                                                       Arithm´tique & traitement du signal
                   Notions de traitement du signal
                              Algorithmes de TNS     Quelques domaines d’application
                   Domaines d’application du TNS


     Domaines d’application
       Applications de TNS
                            e
           Transmission et r´ception de l’information
                 ee                 ee
                T´l´communication, t´l´phonie mobile, satellite
                                                    e
           Analyse, traitement, compression et synth`se de signaux :
                Parole (codeur de parole)
                Son (MP3, AAC, Dolby, . . . )
                         ee e
                Image (t´l´d´tection)
                Video (MPEG4)
                          e
           Traitement des ´chos
                ´           e
                Electromagn´tique (radar)
                Acoustique (sonar)
                          e
                Ultrason (´chographie)
                Sismique
           Automatique
                                       e
                Automobile : injection ´lectronique, ABS
21                                    IRISA–CAIRN            e
                                                       Arithm´tique & traitement du signal
                   Notions de traitement du signal
                              Algorithmes de TNS     Quelques domaines d’application
                   Domaines d’application du TNS


          e
     March´ des processeurs DSP




       Source Forward Concept
22                                    IRISA–CAIRN            e
                                                       Arithm´tique & traitement du signal
                   Notions de traitement du signal
                              Algorithmes de TNS     Quelques domaines d’application
                   Domaines d’application du TNS


         e           e
     Syst`mes embarqu´s


                            e
       Applications embarqu´es et ”grand public”
              e          u
           Tr`s faible coˆt
                  u                    a
                Coˆt est proportionnel ` la surface du circuit




23                                    IRISA–CAIRN            e
                                                       Arithm´tique & traitement du signal
                   Notions de traitement du signal
                              Algorithmes de TNS     Quelques domaines d’application
                   Domaines d’application du TNS


         e           e
     Syst`mes embarqu´s


                            e
       Applications embarqu´es et ”grand public”
              e          u
           Tr`s faible coˆt
                  u                    a
                Coˆt est proportionnel ` la surface du circuit
           Faible consommation
                                                     e a      e
                Part importante de la consommation li´e ` la m´moire
                       e      e                                e
                     N´cessit´ de minimiser la largeur des donn´es et des
                                       e        e
                     instructions stock´es en m´moire




23                                    IRISA–CAIRN            e
                                                       Arithm´tique & traitement du signal
                   Notions de traitement du signal
                              Algorithmes de TNS     Quelques domaines d’application
                   Domaines d’application du TNS


         e           e
     Syst`mes embarqu´s


                            e
       Applications embarqu´es et ”grand public”
              e          u
           Tr`s faible coˆt
                  u                    a
                Coˆt est proportionnel ` la surface du circuit
           Faible consommation
                                                     e a      e
                Part importante de la consommation li´e ` la m´moire
                       e      e                                e
                     N´cessit´ de minimiser la largeur des donn´es et des
                                       e        e
                     instructions stock´es en m´moire
                  e
           Temps r´el
                    e
                Impl´mentation efficace des applications de TS
                          e       a
                Temps d’ex´cution ` minimiser




23                                    IRISA–CAIRN            e
                                                       Arithm´tique & traitement du signal
                   Notions de traitement du signal
                              Algorithmes de TNS     Quelques domaines d’application
                   Domaines d’application du TNS


         e           e
     Syst`mes embarqu´s


                            e
       Applications embarqu´es et ”grand public”
              e          u
           Tr`s faible coˆt
                  u                    a
                Coˆt est proportionnel ` la surface du circuit
           Faible consommation
                                                     e a      e
                Part importante de la consommation li´e ` la m´moire
                       e      e                                e
                     N´cessit´ de minimiser la largeur des donn´es et des
                                       e        e
                     instructions stock´es en m´moire
                  e
           Temps r´el
                    e
                Impl´mentation efficace des applications de TS
                          e       a
                Temps d’ex´cution ` minimiser
            u e
           Sˆret´ de fonctionnement



23                                    IRISA–CAIRN            e
                                                       Arithm´tique & traitement du signal
            e              e
          Ad´quation arithm´tique domaine d’application
                               Conversion en virgule fixe




                                                    Part 2

                                      e
                                Arithm´tique virgule fixe


     4     e              e
         Ad´quation arithm´tique domaine d’application

     5   Conversion en virgule fixe




24                                          IRISA–CAIRN          e
                                                           Arithm´tique & traitement du signal
            e              e
          Ad´quation arithm´tique domaine d’application      Codage virgule fixe, virgule flottante
                               Conversion en virgule fixe     Comparaison Flottant Fixe


     Codage en virgule fixe

        e
       D´finition
           Valeur de x
                                                                    m−1
                                               x = −2m S +                  bi 2i
                                                                    i=−n

           Position de la virgule fixe
                                       e                     e
                   Nombre de bits allou´s pour la partie enti`re et fractionnaire
                   constant au cours du traitement
                     e
           Facteur d’´chelle implicite

                     -2m 2m-1                    21 20 2-1                                     2-n
                       S   bm-1 bm-2              b1   b0   b-1    b-2              b-n+2 b-n+1 b-n


                                Integer part                         Fractional part



25                                          IRISA–CAIRN                 e
                                                                  Arithm´tique & traitement du signal
            e              e
          Ad´quation arithm´tique domaine d’application           Codage virgule fixe, virgule flottante
                               Conversion en virgule fixe          Comparaison Flottant Fixe


     Codage en virgule flottante
        e
       D´finition
                                           e
           Valeur de x , IEEE 754 simple pr´cision (E=8, M=24)
                                                                       M −1
                                     x = (−1)S .2u . 1 +                      Ci 2i−M
                                                                        i=0

                                                           E −1
                                      avec u =                    di 2i − 2E −1 − 1
                                                           i=0


                                   a                     e
           Exposant pour s’adapter ` la valeur de la donn´e
                     e
           Facteur d’´chelle explicite

                      S    dE-1        d1    d0 cM-1                                   c2    c1   c0

                                  Exposant                            Mantisse

26                                           IRISA–CAIRN                  e
                                                                    Arithm´tique & traitement du signal
             e              e
           Ad´quation arithm´tique domaine d’application    Codage virgule fixe, virgule flottante
                                Conversion en virgule fixe   Comparaison Flottant Fixe


           e
     Qualit´ des calculs

       Niveau de dynamique
                                ea      e
           Analyse de la capacit´ ` repr´senter des grands nombres et
           des petits
                                                                  max (|x |)
                               ND (dB ) = 20. log10
                                                                  min (|x |)




27                                           IRISA–CAIRN            e
                                                              Arithm´tique & traitement du signal
             e              e
           Ad´quation arithm´tique domaine d’application    Codage virgule fixe, virgule flottante
                                Conversion en virgule fixe   Comparaison Flottant Fixe


           e
     Qualit´ des calculs

       Niveau de dynamique
                                ea      e
           Analyse de la capacit´ ` repr´senter des grands nombres et
           des petits
                                                                  max (|x |)
                               ND (dB ) = 20. log10
                                                                  min (|x |)

                       a
       Rapport Signal ` Bruit de Quantification
           Rapport entre la puissance du signal Px et la puissance de
           l’erreur de quantification Pex

                                                                          Px
                                 RSBQ(dB ) = 10. log10
                                                                          Pex

27                                           IRISA–CAIRN            e
                                                              Arithm´tique & traitement du signal
            e              e
          Ad´quation arithm´tique domaine d’application                  Codage virgule fixe, virgule flottante
                               Conversion en virgule fixe                 Comparaison Flottant Fixe


           e    e
     Qualit´ num´rique
       Niveau de dynamique
           Evolution du ND en fonction du nombre de bits


                                                 D yna m iq ue virg ule fixe /flo tta nte
                                     1500


                                                                        Virgule flottante
                  D ynamique en dB




                                     1000


                                             DSP Virgule fixe                               Codage virgule
                                             16 bits                                        flottante IEEE 754
                                      500

                                                                                  Virgule fixe

                                        0
                                            10         15            20          25         30
                                                            N o m b re d e b its

28                                                     IRISA–CAIRN               e
                                                                           Arithm´tique & traitement du signal
            e              e
          Ad´quation arithm´tique domaine d’application                Codage virgule fixe, virgule flottante
                               Conversion en virgule fixe               Comparaison Flottant Fixe


           e    e
     Qualit´ num´rique
                      a
       Rapport Signal ` Bruit de Quantification
           ´
           Evolution du RSBQ en fonction de la dynamique de x

                                         R a p p o rt S ig na l à B ruit virg ule fixe /flo tta nte
                                   100
                                            b =16 bits
                                    80
                      RS B en dB




                                    60      Virgule flottante


                                    40


                                    20                       Virgule fixe

                                     0
                                     -5 0                         0                               50
                                            D yna m iq ue d u s ig na l d e ntré e e n d B


29                                                  IRISA–CAIRN                e
                                                                         Arithm´tique & traitement du signal
            e              e
          Ad´quation arithm´tique domaine d’application    Codage virgule fixe, virgule flottante
                               Conversion en virgule fixe   Comparaison Flottant Fixe


               e
     Temps de d´veloppement


              e
       Arithm´tique virgule fixe
                       e
            Temps de d´veloppement plus important




30                                          IRISA–CAIRN            e
                                                             Arithm´tique & traitement du signal
            e              e
          Ad´quation arithm´tique domaine d’application    Codage virgule fixe, virgule flottante
                               Conversion en virgule fixe   Comparaison Flottant Fixe


               e
     Temps de d´veloppement


              e
       Arithm´tique virgule fixe
                       e
            Temps de d´veloppement plus important
                   Etude de la dynamique
                           Niveau de dynamique utilis´ faible (16 bits, ≈ 96 dB )
                                                     e
                                      e          e e
                           Risque de d´bordement ´lev´




30                                          IRISA–CAIRN            e
                                                             Arithm´tique & traitement du signal
            e              e
          Ad´quation arithm´tique domaine d’application    Codage virgule fixe, virgule flottante
                               Conversion en virgule fixe   Comparaison Flottant Fixe


               e
     Temps de d´veloppement


              e
       Arithm´tique virgule fixe
                       e
            Temps de d´veloppement plus important
                   Etude de la dynamique
                           Niveau de dynamique utilis´ faible (16 bits, ≈ 96 dB )
                                                     e
                                      e          e e
                           Risque de d´bordement ´lev´
                                 e
                   Etude de la pr´cision des calculs
                           Analyser l’influence des erreurs de calcul sur les performances
                           de l’application




30                                          IRISA–CAIRN            e
                                                             Arithm´tique & traitement du signal
            e              e
          Ad´quation arithm´tique domaine d’application    Codage virgule fixe, virgule flottante
                               Conversion en virgule fixe   Comparaison Flottant Fixe


               e
     Temps de d´veloppement


              e
       Arithm´tique virgule fixe
                       e
            Temps de d´veloppement plus important
                   Etude de la dynamique
                           Niveau de dynamique utilis´ faible (16 bits, ≈ 96 dB )
                                                     e
                                      e          e e
                           Risque de d´bordement ´lev´
                                 e
                   Etude de la pr´cision des calculs
                           Analyser l’influence des erreurs de calcul sur les performances
                           de l’application
                     e
           Ces probl`mes ne se posent pas pour l’implantation
                                              e
           d’applications de TNS avec l’arithm´tique virgule flottante
           classique



30                                          IRISA–CAIRN            e
                                                             Arithm´tique & traitement du signal
             e              e
           Ad´quation arithm´tique domaine d’application    Codage virgule fixe, virgule flottante
                                Conversion en virgule fixe   Comparaison Flottant Fixe


     Architecture


             e
       Arithm´tique virgule fixe
              e
            Op´rateurs plus simple
                    Pas de traitement de la mantisse et de l’exposant
                     e                          a      e
                    D´normalisation assimilable ` des d´calages
                                                      e
                            Surface et consommation d’´nergie plus faible
                            Latence plus faible




31                                           IRISA–CAIRN            e
                                                              Arithm´tique & traitement du signal
             e              e
           Ad´quation arithm´tique domaine d’application    Codage virgule fixe, virgule flottante
                                Conversion en virgule fixe   Comparaison Flottant Fixe


     Architecture


             e
       Arithm´tique virgule fixe
              e
            Op´rateurs plus simple
                    Pas de traitement de la mantisse et de l’exposant
                     e                          a      e
                    D´normalisation assimilable ` des d´calages
                                                      e
                            Surface et consommation d’´nergie plus faible
                            Latence plus faible
                            e
            Largeur des donn´es faible (typiquement 16 bits)
                                              e
                    Largeur des bus et de la m´moire plus faible
                                                      e
                            Surface et consommation d’´nergie plus faible




31                                           IRISA–CAIRN            e
                                                              Arithm´tique & traitement du signal
             e              e
           Ad´quation arithm´tique domaine d’application    Codage virgule fixe, virgule flottante
                                Conversion en virgule fixe   Comparaison Flottant Fixe


     Architecture


             e
       Arithm´tique virgule fixe
              e
            Op´rateurs plus simple
                    Pas de traitement de la mantisse et de l’exposant
                     e                          a      e
                    D´normalisation assimilable ` des d´calages
                                                      e
                            Surface et consommation d’´nergie plus faible
                            Latence plus faible
                            e
            Largeur des donn´es faible (typiquement 16 bits)
                                              e
                    Largeur des bus et de la m´moire plus faible
                                                      e
                            Surface et consommation d’´nergie plus faible
            Processeur moins cher, plus rapide et consommant moins
              e
            d’´nergie



31                                           IRISA–CAIRN            e
                                                              Arithm´tique & traitement du signal
             e              e
           Ad´quation arithm´tique domaine d’application    Codage virgule fixe, virgule flottante
                                Conversion en virgule fixe   Comparaison Flottant Fixe


     Comparaison flottant-fixe


                         e
       Comparaison des op´rateurs

                                                                     Fixe          Flottant

                       Additionneur         Surface (µm 2 )          588              3977
                         32 bits             Latence (ns)            1.55              4.3

                        Multiplieur         Surface (µm 2 )         23124            10351
                         32 bits             Latence (ns)            2.32             3.92

                        Multiplieur         Surface (µm 2 )          5683
                         16 bits             Latence (ns)            1.17


       source : bertrand.legal@ims-bordeaux.fr



32                                           IRISA–CAIRN            e
                                                              Arithm´tique & traitement du signal
            e              e
          Ad´quation arithm´tique domaine d’application    Codage virgule fixe, virgule flottante
                               Conversion en virgule fixe   Comparaison Flottant Fixe


     Comparaison flottant-fixe

       Comparaison de processeurs DSP
          Processeur DSP virgule fixe
                   TMS320C62x :
                           fCLK : 150 MHz - 300 MHz
                           On Chip Memory 72 Kbytes - 896 Kbytes
                           Prix : 9$ − 102$
                   TMS320C64x :
                           fCLK : 300 MHz - 1GHz
                           On Chip Memory 160 Kbytes - 1056 Kbytes
                           Prix : 18$ − 219$




33                                          IRISA–CAIRN            e
                                                             Arithm´tique & traitement du signal
            e              e
          Ad´quation arithm´tique domaine d’application    Codage virgule fixe, virgule flottante
                               Conversion en virgule fixe   Comparaison Flottant Fixe


     Comparaison flottant-fixe

       Comparaison de processeurs DSP
          Processeur DSP virgule fixe
                   TMS320C62x :
                           fCLK : 150 MHz - 300 MHz
                           On Chip Memory 72 Kbytes - 896 Kbytes
                           Prix : 9$ − 102$
                   TMS320C64x :
                           fCLK : 300 MHz - 1GHz
                           On Chip Memory 160 Kbytes - 1056 Kbytes
                           Prix : 18$ − 219$
           Processeur DSP virgule flottante
                   TMS320C67x
                           fCLK : 100 MHz - 350 MHz
                           On Chip Memory 72 Kbytes - 264 Kbytes
                           Price : 14$ − 105$

33                                          IRISA–CAIRN            e
                                                             Arithm´tique & traitement du signal
            e              e
          Ad´quation arithm´tique domaine d’application      Codage virgule fixe, virgule flottante
                               Conversion en virgule fixe     Comparaison Flottant Fixe


     Comparaison flottant-fixe


              e           e
       Arithm´tique adapt´e aux domaines d’application
                            e          e
            Largeur des donn´es manipul´es en fonction du domaine
            d’application

            Domaine                  e
                                 Donn´es         Coefficients        Traitements               e
                                                                                       Arithm´tique
            d’application                                            internes

            Telecom                  8                16                32             V.   Fixe
            Modem                    8                16                32             V.   Fixe
            Audio                    24               32                53             V.   Flottante
            Video                   8-10              16                32             V.   Fixe
            Image                   8-10              16                32             V.   Fixe
                 o
            Contrˆle                8-10             16-32             32-48           V.   Fixe




34                                          IRISA–CAIRN              e
                                                               Arithm´tique & traitement du signal
                                                           Processus de conversion
            e              e
          Ad´quation arithm´tique domaine d’application    ´
                                                           Evaluation de la dynamique
                               Conversion en virgule fixe   ´                  e
                                                           Evaluation de la pr´cision




                                                    Part 2

                                      e
                                Arithm´tique virgule fixe


     4     e              e
         Ad´quation arithm´tique domaine d’application

     5   Conversion en virgule fixe




35                                          IRISA–CAIRN            e
                                                             Arithm´tique & traitement du signal
                                                            Processus de conversion
             e              e
           Ad´quation arithm´tique domaine d’application    ´
                                                            Evaluation de la dynamique
                                Conversion en virgule fixe   ´                  e
                                                            Evaluation de la pr´cision


           e
     Arithm´tique virgule fixe


       Objectifs et contraintes du codage en virgule fixe
             e                       e
           D´finir pour chaque donn´e la position de la virgule
                      e                                             e
                    D´terminer le nombre de bits pour la partie enti`re et
                    fractionnaire




36                                           IRISA–CAIRN            e
                                                              Arithm´tique & traitement du signal
                                                            Processus de conversion
             e              e
           Ad´quation arithm´tique domaine d’application    ´
                                                            Evaluation de la dynamique
                                Conversion en virgule fixe   ´                  e
                                                            Evaluation de la pr´cision


           e
     Arithm´tique virgule fixe


       Objectifs et contraintes du codage en virgule fixe
             e                       e
           D´finir pour chaque donn´e la position de la virgule
                      e                                             e
                    D´terminer le nombre de bits pour la partie enti`re et
                    fractionnaire
                                      e
            Maintenir la fonctionnalit´ de l’algorithme
                                   e                e
                    Respecter les r`gles de l’arithm´tique virgule fixe
                                            e
                    Garantir l’absence de d´bordement




36                                           IRISA–CAIRN            e
                                                              Arithm´tique & traitement du signal
                                                            Processus de conversion
             e              e
           Ad´quation arithm´tique domaine d’application    ´
                                                            Evaluation de la dynamique
                                Conversion en virgule fixe   ´                  e
                                                            Evaluation de la pr´cision


           e
     Arithm´tique virgule fixe


       Objectifs et contraintes du codage en virgule fixe
             e                       e
           D´finir pour chaque donn´e la position de la virgule
                      e                                             e
                    D´terminer le nombre de bits pour la partie enti`re et
                    fractionnaire
                                      e
            Maintenir la fonctionnalit´ de l’algorithme
                                   e                e
                    Respecter les r`gles de l’arithm´tique virgule fixe
                                            e
                    Garantir l’absence de d´bordement
                                              e
            Satisfaire la contrainte de qualit´ des calculs




36                                           IRISA–CAIRN            e
                                                              Arithm´tique & traitement du signal
                                                            Processus de conversion
             e              e
           Ad´quation arithm´tique domaine d’application    ´
                                                            Evaluation de la dynamique
                                Conversion en virgule fixe   ´                  e
                                                            Evaluation de la pr´cision


           e
     Arithm´tique virgule fixe


       Objectifs et contraintes du codage en virgule fixe
             e                       e
           D´finir pour chaque donn´e la position de la virgule
                      e                                             e
                    D´terminer le nombre de bits pour la partie enti`re et
                    fractionnaire
                                      e
            Maintenir la fonctionnalit´ de l’algorithme
                                   e                e
                    Respecter les r`gles de l’arithm´tique virgule fixe
                                            e
                    Garantir l’absence de d´bordement
                                              e
            Satisfaire la contrainte de qualit´ des calculs
            Optimiser l’implantation de l’algorithme




36                                           IRISA–CAIRN            e
                                                              Arithm´tique & traitement du signal
                                                                       Processus de conversion
            e              e
          Ad´quation arithm´tique domaine d’application                ´
                                                                       Evaluation de la dynamique
                               Conversion en virgule fixe               ´                  e
                                                                       Evaluation de la pr´cision


     Flot de conversion en virgule fixe
                                                                      Application description
                           Application
                          performances
                                                                                                                  #define pi 3.1416
                                                                                                                  #define pi 3.1416
                                                                                                                  main()
                                                                                                                  {




                                                                                                                                         Block diagram
                                                                                                                  float x,h,z
                                                                              #define pi 3.1416                       for(i=1;i<n;i++)
                                                                              #define pi 3.1416                       {
                                                                              main()                                     *z= *y++ +
                                                                              {                                   *h++




                                                                  C Code
                                                                              float x,h,z                             }
                                                                                                 #define pi 3.1416
                                                                                  for(i=1;i<n;i++)
                                                                                  {              #define pi 3.1416for(i=1;i<n;i++)
                                                                                     *z= *y++ + main()                {
                                                                              *h++               {                       *z= *y++ +




                                                                                                                                         Scilab/Scicos
                                                                                  }              float x,h,z      *h++
                                                                                                     for(i=1;i<n;i++) }
                                                                              for(i=1;i<n;i++)       {
                                                                                  {                                +
                                                                                                        *z= *y++ Correlator.C
                                                                                     *z= *y++ +  *h++
                                                                              *h++                   }
                                                                                 }
                                                                                                 for(i=1;i<n;i++)
                                                                              Correlator.C           {
                                                                                                       *z= *y++ +
                                                                                                 *h++
                                                                                                   }

                                                                                                  Correlator.C




                             Accuracy Constraint
                             Accuracy Constraint                           Front-end
                                                                           Front-end

                                                                                                                         CDFG
                                Determination
                               Determination




                                                                        Binary-point




                                                                                                                                                   Fixed-point conversion
                                                                        Binary-point
                                                                          Position
                                                                          Position
                                                    Accuracy
                                                    Accuracy           Determination
                                                                       Determination
                                                   Evaluation
                                                   Evaluation

                                                        SQNR()
                                                                     Fixed-point format
                                                                     Fixed-point format
                                                                        Optimization
                                                                        Optimization
                                    SQNRmin

                                                        Fixed-point description

                                                                     Code generation
                                                                      Code generation
                                                                    High level synthesis
                                                                    High level synthesis



                                                                ASIC, FPGA                                                               DSP, µC


37                                                 IRISA–CAIRN                  e
                                                                          Arithm´tique & traitement du signal
                                                           Processus de conversion
            e              e
          Ad´quation arithm´tique domaine d’application    ´
                                                           Evaluation de la dynamique
                               Conversion en virgule fixe   ´                  e
                                                           Evaluation de la pr´cision


                          e
     Optimisation de la sp´cification virgule fixe


            e
       Probl`me d’optimisation
           Optimiser la largeur des signaux (variables)
                                  u
                   Minimiser le coˆt C de l’implantation sous contrainte de
                     e
                   pr´cision Pmax :

                        min C (WL)                    tel que         P (WL) ≤ Pmax




38                                          IRISA–CAIRN            e
                                                             Arithm´tique & traitement du signal
                                                           Processus de conversion
            e              e
          Ad´quation arithm´tique domaine d’application    ´
                                                           Evaluation de la dynamique
                               Conversion en virgule fixe   ´                  e
                                                           Evaluation de la pr´cision


                          e
     Optimisation de la sp´cification virgule fixe


            e
       Probl`me d’optimisation
           Optimiser la largeur des signaux (variables)
                                  u
                   Minimiser le coˆt C de l’implantation sous contrainte de
                     e
                   pr´cision Pmax :

                        min C (WL)                    tel que         P (WL) ≤ Pmax
           Optimiser la largeur des coefficients (constantes)
                   Analyser les effets de l’approximation des coefficients
                                                          e        e
                           Modification de la fonctionnalit´ du syst`me




38                                          IRISA–CAIRN            e
                                                             Arithm´tique & traitement du signal
                                                           Processus de conversion
            e              e
          Ad´quation arithm´tique domaine d’application    ´
                                                           Evaluation de la dynamique
                               Conversion en virgule fixe   ´                  e
                                                           Evaluation de la pr´cision


     Optimisation de la largeur des coefficients




39                                          IRISA–CAIRN            e
                                                             Arithm´tique & traitement du signal
                                                            Processus de conversion
             e              e
           Ad´quation arithm´tique domaine d’application    ´
                                                            Evaluation de la dynamique
                                Conversion en virgule fixe   ´                  e
                                                            Evaluation de la pr´cision


                          e
     Optimisation de la sp´cification virgule fixe



                       e
       Implantation mat´rielle
             e
           D´finition de l’architecture
                                              e
                    Choix de la largeur des op´rations




40                                           IRISA–CAIRN            e
                                                              Arithm´tique & traitement du signal
                                                            Processus de conversion
             e              e
           Ad´quation arithm´tique domaine d’application    ´
                                                            Evaluation de la dynamique
                                Conversion en virgule fixe   ´                  e
                                                            Evaluation de la pr´cision


                          e
     Optimisation de la sp´cification virgule fixe



                       e
       Implantation mat´rielle
             e
           D´finition de l’architecture
                                              e
                    Choix de la largeur des op´rations
              u
            Coˆt de l’implantation :
                    Latence
                    Surface du circuit
                                      e                     e
                    Consommation d’´nergie, puissance dissip´e




40                                           IRISA–CAIRN            e
                                                              Arithm´tique & traitement du signal
                                                            Processus de conversion
             e              e
           Ad´quation arithm´tique domaine d’application    ´
                                                            Evaluation de la dynamique
                                Conversion en virgule fixe   ´                  e
                                                            Evaluation de la pr´cision


                          e
     Optimisation de la sp´cification virgule fixe


       Implantation logicielle
                                                         e
           Implantation d’un code sur une architecture fig´e
                                              e
                    Type d’instructions utilis´es
                            Classique
                                    e
                            Multi-pr´cision
                            Sub-Word Parallelism
                                    e            e
                    Placement des op´rations de d´calage




41                                           IRISA–CAIRN            e
                                                              Arithm´tique & traitement du signal
                                                            Processus de conversion
             e              e
           Ad´quation arithm´tique domaine d’application    ´
                                                            Evaluation de la dynamique
                                Conversion en virgule fixe   ´                  e
                                                            Evaluation de la pr´cision


                          e
     Optimisation de la sp´cification virgule fixe


       Implantation logicielle
                                                         e
           Implantation d’un code sur une architecture fig´e
                                              e
                    Type d’instructions utilis´es
                            Classique
                                    e
                            Multi-pr´cision
                            Sub-Word Parallelism
                                    e            e
                    Placement des op´rations de d´calage
              u
            Coˆt de l’implantation :
                                e
                    Temps d’ex´cution
                                    e
                    Consommation d’´nergie
                    Taille du code




41                                           IRISA–CAIRN            e
                                                              Arithm´tique & traitement du signal
                                                            Processus de conversion
             e              e
           Ad´quation arithm´tique domaine d’application    ´
                                                            Evaluation de la dynamique
                                Conversion en virgule fixe   ´                  e
                                                            Evaluation de la pr´cision

     ´
     Evaluation de la dynamique


       Objectifs
             e                          e
            D´terminer l’intervalle de d´finition Dx = [min(x ); max(x )]
            de chaque variable x
                        e
                    En d´duire la position de la virgule mx




42                                           IRISA–CAIRN            e
                                                              Arithm´tique & traitement du signal
                                                            Processus de conversion
             e              e
           Ad´quation arithm´tique domaine d’application    ´
                                                            Evaluation de la dynamique
                                Conversion en virgule fixe   ´                  e
                                                            Evaluation de la pr´cision

     ´
     Evaluation de la dynamique


       Objectifs
             e                          e
            D´terminer l’intervalle de d´finition Dx = [min(x ); max(x )]
            de chaque variable x
                        e
                    En d´duire la position de la virgule mx
                e            e
            Crit`re de qualit´ de l’estimation
                      e
                    Pr´cision : minimiser l’erreur d’estimation
                            ´           e                        e
                            Eviter la pr´sence de bits non utilis´s au niveau des bits les
                                                        e
                            plus significatifs de la donn´e




42                                           IRISA–CAIRN            e
                                                              Arithm´tique & traitement du signal
                                                            Processus de conversion
             e              e
           Ad´quation arithm´tique domaine d’application    ´
                                                            Evaluation de la dynamique
                                Conversion en virgule fixe   ´                  e
                                                            Evaluation de la pr´cision

     ´
     Evaluation de la dynamique


       Objectifs
             e                          e
            D´terminer l’intervalle de d´finition Dx = [min(x ); max(x )]
            de chaque variable x
                        e
                    En d´duire la position de la virgule mx
                e            e
            Crit`re de qualit´ de l’estimation
                      e
                    Pr´cision : minimiser l’erreur d’estimation
                            ´           e                        e
                            Eviter la pr´sence de bits non utilis´s au niveau des bits les
                                                        e
                            plus significatifs de la donn´e
                            e
                    Fiabilit´ : garantir que toutes les valeurs seront dans
                                     e
                    l’intervalle de d´finition
                                                   e
                            Garantir l’absence de d´bordement




42                                           IRISA–CAIRN            e
                                                              Arithm´tique & traitement du signal
                                                               Processus de conversion
                e              e
              Ad´quation arithm´tique domaine d’application    ´
                                                               Evaluation de la dynamique
                                   Conversion en virgule fixe   ´                  e
                                                               Evaluation de la pr´cision


      e
     M´thodes par simulation

       Objectifs
             e                                        e a
           D´termination de la dynamique d’une donn´e ` partir de ses
                 e
           param`tres statistiques obtenus par simulation




        e
       D´tails : section 6



43                                              IRISA–CAIRN            e
                                                                 Arithm´tique & traitement du signal
                                                               Processus de conversion
                e              e
              Ad´quation arithm´tique domaine d’application    ´
                                                               Evaluation de la dynamique
                                   Conversion en virgule fixe   ´                  e
                                                               Evaluation de la pr´cision


      e
     M´thodes par simulation

       Objectifs
             e                                        e a
           D´termination de la dynamique d’une donn´e ` partir de ses
                 e
           param`tres statistiques obtenus par simulation

       Techniques




        e
       D´tails : section 6



43                                              IRISA–CAIRN            e
                                                                 Arithm´tique & traitement du signal
                                                               Processus de conversion
                e              e
              Ad´quation arithm´tique domaine d’application    ´
                                                               Evaluation de la dynamique
                                   Conversion en virgule fixe   ´                  e
                                                               Evaluation de la pr´cision


      e
     M´thodes par simulation

       Objectifs
             e                                        e a
           D´termination de la dynamique d’une donn´e ` partir de ses
                 e
           param`tres statistiques obtenus par simulation

       Techniques
             e        e
           M´thode bas´e sur les moments
                        Utilisation de la moyenne, variance, skewness, kurtosis




        e
       D´tails : section 6



43                                              IRISA–CAIRN            e
                                                                 Arithm´tique & traitement du signal
                                                               Processus de conversion
                e              e
              Ad´quation arithm´tique domaine d’application    ´
                                                               Evaluation de la dynamique
                                   Conversion en virgule fixe   ´                  e
                                                               Evaluation de la pr´cision


      e
     M´thodes par simulation

       Objectifs
             e                                        e a
           D´termination de la dynamique d’une donn´e ` partir de ses
                 e
           param`tres statistiques obtenus par simulation

       Techniques
             e        e
           M´thode bas´e sur les moments
                        Utilisation de la moyenne, variance, skewness, kurtosis
                 e                     e
               Th´orie des valeurs extrˆmes
                        Distribution des minima et maxima suit une distribution de
                        Gumbel


        e
       D´tails : section 6



43                                              IRISA–CAIRN            e
                                                                 Arithm´tique & traitement du signal
                                                               Processus de conversion
                e              e
              Ad´quation arithm´tique domaine d’application    ´
                                                               Evaluation de la dynamique
                                   Conversion en virgule fixe   ´                  e
                                                               Evaluation de la pr´cision


      e
     M´thodes par simulation

       Objectifs
             e                                        e a
           D´termination de la dynamique d’une donn´e ` partir de ses
                 e
           param`tres statistiques obtenus par simulation

       Techniques
             e        e
           M´thode bas´e sur les moments
                        Utilisation de la moyenne, variance, skewness, kurtosis
                 e                     e
               Th´orie des valeurs extrˆmes
                        Distribution des minima et maxima suit une distribution de
                        Gumbel
                e
               D´composition de Karhunen-Loeve
        e
       D´tails : section 6



43                                              IRISA–CAIRN            e
                                                                 Arithm´tique & traitement du signal
                                                            Processus de conversion
             e              e
           Ad´quation arithm´tique domaine d’application    ´
                                                            Evaluation de la dynamique
                                Conversion en virgule fixe   ´                  e
                                                            Evaluation de la pr´cision


           e
     Arithm´tique sur les intervalles

               e
       Arithm´tique d’intervalle
                                            e                e
            Propagation de l’intervalle de d´finition des entr´es au sein de
            l’application
                                                   e
                    Traitement des structures non-r´cursives
                                       e     e
                    Encadrement certifi´ du r´sultat en sortie
                    Estimation pessimiste




44                                           IRISA–CAIRN            e
                                                              Arithm´tique & traitement du signal
                                                              Processus de conversion
             e              e
           Ad´quation arithm´tique domaine d’application      ´
                                                              Evaluation de la dynamique
                                Conversion en virgule fixe     ´                  e
                                                              Evaluation de la pr´cision


           e
     Arithm´tique sur les intervalles

               e
       Arithm´tique d’intervalle
                                            e                e
            Propagation de l’intervalle de d´finition des entr´es au sein de
            l’application
                                                   e
                    Traitement des structures non-r´cursives
                                       e     e
                    Encadrement certifi´ du r´sultat en sortie
                    Estimation pessimiste

             e
       Arithm´tique affine
                e                  e
            Repr´sentation des donn´es sous forme affine (FA)
                            x = x0 +             xi .   i   xi : symbole d incertitude
                                             i

                    Propagation de la FA au sein de l’application
                    Conservation de la source des erreurs

44                                           IRISA–CAIRN              e
                                                                Arithm´tique & traitement du signal
                                                            Processus de conversion
             e              e
           Ad´quation arithm´tique domaine d’application    ´
                                                            Evaluation de la dynamique
                                Conversion en virgule fixe   ´                  e
                                                            Evaluation de la pr´cision


                         e
     Normes pour les syst`mes LTI

       Norme L1
                              e
           Utilisation de la r´ponse impulsionnelle h(n)
                                                                            +∞
                           max (|y(n)|) ≤ max (|x (n)|) .                            |h(m)|
                              n                         n
                                                                          m=−∞




45                                           IRISA–CAIRN            e
                                                              Arithm´tique & traitement du signal
                                                              Processus de conversion
             e              e
           Ad´quation arithm´tique domaine d’application      ´
                                                              Evaluation de la dynamique
                                Conversion en virgule fixe     ´                  e
                                                              Evaluation de la pr´cision


                         e
     Normes pour les syst`mes LTI

       Norme L1
                              e
           Utilisation de la r´ponse impulsionnelle h(n)
                                                                              +∞
                           max (|y(n)|) ≤ max (|x (n)|) .                              |h(m)|
                                n                         n
                                                                            m=−∞


       Norme de Chebyshev
            Utilisation de la r´ponse fr´quentielle H (e j Ω )
                               e        e
                                                e a        e
                    Valide pour un signal d’entr´e ` bande ´troite

                         max (|y(n)|) ≤ max (|x (n)|) . max |H (e j Ω )|
                            n                         n                     Ω



45                                           IRISA–CAIRN              e
                                                                Arithm´tique & traitement du signal
                                                            Processus de conversion
             e              e
           Ad´quation arithm´tique domaine d’application    ´
                                                            Evaluation de la dynamique
                                Conversion en virgule fixe   ´                  e
                                                            Evaluation de la pr´cision


     Comparaison

                                     e
                                    M´thode statistique                        e
                                                                              M´thode analytique


            e
          Pr´cision            Erreur d’estimation faible                    e
                                                                            M´thode conservatrice


                 e
           Qualit´                 Pas de garantie sur                      Garantie sur l’absence
                                             e
                               l’absence de d´bordement                            e
                                                                              de d´bordement
                                                e          e
                             Fonction de la repr´sentativit´
                                      des signaux


         Structures                         Toutes                                       e
                                                                           Structures lin´aires et
               e
          trait´es                                                              e           e
                                                                         non-lin´aires non-r´cursives


        Connaissances                               e
                                      Signaux d’entr´e                           e                e
                                                                     Domaine de d´finition des entr´es
          e
         n´cessaires



46                                           IRISA–CAIRN            e
                                                              Arithm´tique & traitement du signal
                                                            Processus de conversion
             e              e
           Ad´quation arithm´tique domaine d’application    ´
                                                            Evaluation de la dynamique
                                Conversion en virgule fixe   ´                  e
                                                            Evaluation de la pr´cision

     ´                  e
     Evaluation de la pr´cision


                    e
       Techniques d’´valuation des performances
           ´
           Evaluation directe des performances :
                     e          e
                    M´thodes bas´es sur la simulation
                                    e            e
                            Temps d’´valuation tr`s important




47                                           IRISA–CAIRN            e
                                                              Arithm´tique & traitement du signal
                                                            Processus de conversion
             e              e
           Ad´quation arithm´tique domaine d’application    ´
                                                            Evaluation de la dynamique
                                Conversion en virgule fixe   ´                  e
                                                            Evaluation de la pr´cision

     ´                  e
     Evaluation de la pr´cision


                    e
       Techniques d’´valuation des performances
           ´
           Evaluation directe des performances :
                     e          e
                    M´thodes bas´es sur la simulation
                                    e            e
                            Temps d’´valuation tr`s important
                              e             e            e
            Evaluation d’une m´trique interm´diaire de pr´cision
                                         e              e          e
                    Diminuer le temps n´cessaire pour ´valuer la m´trique
                                                       e
                    Deux approches : analytique - bas´e sur la simulation
                                                        e           e
                    Lien entre les performances et la m´trique de pr´cision
                                                      e a           e
                    Erreur de quantification ex associ´e ` une donn´e x
                    ex = xQ − x
                                      e       e
                            xQ : donn´e en pr´cision finie (virgule fixe)
                                    e       e
                            x : donn´e en pr´cision infinie (valeur exacte)



47                                           IRISA–CAIRN            e
                                                              Arithm´tique & traitement du signal
                                                            Processus de conversion
             e              e
           Ad´quation arithm´tique domaine d’application    ´
                                                            Evaluation de la dynamique
                                Conversion en virgule fixe   ´                  e
                                                            Evaluation de la pr´cision


      e          e                  e
     M´triques d’´valuation de la pr´cision

          e       e          e                  e
       Diff´rents m´triques d’´valuation de la pr´cision
            Nombre de bits significatifs
                          e
                    Arithm´tique stochastique




48                                           IRISA–CAIRN            e
                                                              Arithm´tique & traitement du signal
                                                            Processus de conversion
             e              e
           Ad´quation arithm´tique domaine d’application    ´
                                                            Evaluation de la dynamique
                                Conversion en virgule fixe   ´                  e
                                                            Evaluation de la pr´cision


      e          e                  e
     M´triques d’´valuation de la pr´cision

          e       e          e                  e
       Diff´rents m´triques d’´valuation de la pr´cision
            Nombre de bits significatifs
                          e
                    Arithm´tique stochastique
            Intervalle de l’erreur
                    Analyse min/max (simulation)
                           e
                    Arithm´tique d’intervalle (analytique)
                           e
                    Arithm´tique affine (analytique)
                       e                    e
                    Th´orie des valeurs extrˆmes (simulation)
                       e
                    Th´orie de la perturbation (analytique)




48                                           IRISA–CAIRN            e
                                                              Arithm´tique & traitement du signal
                                                            Processus de conversion
             e              e
           Ad´quation arithm´tique domaine d’application    ´
                                                            Evaluation de la dynamique
                                Conversion en virgule fixe   ´                  e
                                                            Evaluation de la pr´cision


      e          e                  e
     M´triques d’´valuation de la pr´cision

          e       e          e                  e
       Diff´rents m´triques d’´valuation de la pr´cision
            Nombre de bits significatifs
                          e
                    Arithm´tique stochastique
            Intervalle de l’erreur
                    Analyse min/max (simulation)
                           e
                    Arithm´tique d’intervalle (analytique)
                           e
                    Arithm´tique affine (analytique)
                       e                    e
                    Th´orie des valeurs extrˆmes (simulation)
                       e
                    Th´orie de la perturbation (analytique)
            Moments du bruit
                      e
                    Th´orie de la perturbation (analytique)
                        e
                    Mod`les de bruit (analytique)



48                                           IRISA–CAIRN            e
                                                              Arithm´tique & traitement du signal
                                                               Processus de conversion
                e              e
              Ad´quation arithm´tique domaine d’application    ´
                                                               Evaluation de la dynamique
                                   Conversion en virgule fixe   ´                  e
                                                               Evaluation de la pr´cision


      e          e
     M´thodes bas´es sur la simulation
       Principe
                                 e
               Simulation du syst`me en virgule fixe (yfixed ) et en virgule
               flottante (yfloat )
                                                e
                        Erreur en sortie du syst`me :
                                                   ey = yfixed − yfloat




        e
       D´tails : section 7
49                                              IRISA–CAIRN            e
                                                                 Arithm´tique & traitement du signal
                                                               Processus de conversion
                e              e
              Ad´quation arithm´tique domaine d’application    ´
                                                               Evaluation de la dynamique
                                   Conversion en virgule fixe   ´                  e
                                                               Evaluation de la pr´cision


      e          e
     M´thodes bas´es sur la simulation
       Principe
                                 e
               Simulation du syst`me en virgule fixe (yfixed ) et en virgule
               flottante (yfloat )
                                                e
                        Erreur en sortie du syst`me :
                                                   ey = yfixed − yfloat
                                                       ee
               La sortie en virgule flottante est consid´r´e comme la
                ee
               r´f´rence
                               e                       e a          e
                        Hypoth`se valide si l’erreur li´e ` l’arithm´tique virgule
                                      e                        a       e a
                        flottante est n´gligeable par rapport ` celle li´e ` la virgule fixe
                                                  e
                               La largeur des donn´es en virgule fixe doit rester faible




        e
       D´tails : section 7
49                                              IRISA–CAIRN            e
                                                                 Arithm´tique & traitement du signal
                                                               Processus de conversion
                e              e
              Ad´quation arithm´tique domaine d’application    ´
                                                               Evaluation de la dynamique
                                   Conversion en virgule fixe   ´                  e
                                                               Evaluation de la pr´cision


      e          e
     M´thodes bas´es sur la simulation
       Principe
                                 e
               Simulation du syst`me en virgule fixe (yfixed ) et en virgule
               flottante (yfloat )
                                                e
                        Erreur en sortie du syst`me :
                                                   ey = yfixed − yfloat
                                                       ee
               La sortie en virgule flottante est consid´r´e comme la
                ee
               r´f´rence
                               e                       e a          e
                        Hypoth`se valide si l’erreur li´e ` l’arithm´tique virgule
                                      e                        a       e a
                        flottante est n´gligeable par rapport ` celle li´e ` la virgule fixe
                                                  e
                               La largeur des donn´es en virgule fixe doit rester faible
               Point faible
                                                               e     e e e
                        Temps d’optimisation du format des donn´es tr`s ´lev´
                                                                                   e
                               Une nouvelle simulation en virgule fixe est requise d`s que le
                                                 e
                               format d’une donn´e est modifi´ e
        e
       D´tails : section 7
49                                              IRISA–CAIRN            e
                                                                 Arithm´tique & traitement du signal
                                                             Processus de conversion
             e              e
           Ad´quation arithm´tique domaine d’application     ´
                                                             Evaluation de la dynamique
                                Conversion en virgule fixe    ´                  e
                                                             Evaluation de la pr´cision


      e
     M´thodes analytiques

       Principe
              e e                             e          e
            G´n´ration d’une fonction math´matique d´finissant
                                 e                                     e
            l’expression de la pr´cision en fonction du format des donn´es
                      e
                    D´termination du moment d’ordre 2 du bruit de quantification
                    by

                                           Nns −1                Nns −1 Nns −1
                                 2                       2
                          E     by    =             ai .σi   +                     Aij .µi .µj
                                             i=0                  i=0      j =0

                         e
                    Param`tre statistique de chaque source de bruit : σi , µi
                                                              e
                            Valeur fonction du codage des donn´es
                                      e                               e
                    ai , Aij : gains d´pendant de la structure du syst`me
                            Valeur constante


50                                           IRISA–CAIRN             e
                                                               Arithm´tique & traitement du signal
                                                            Processus de conversion
             e              e
           Ad´quation arithm´tique domaine d’application    ´
                                                            Evaluation de la dynamique
                                Conversion en virgule fixe   ´                  e
                                                            Evaluation de la pr´cision


      e
     M´thodes analytiques

       Objectifs
                ee     e                  e
           Acc´l´rer l’´valuation de la pr´cision
                                                  e
                           Evolution du temps d’ex´cution en fonction du nombre
                               e
                           d’it´rations

                       texec
                                                      e         e
                                                     M´thode bas´e sur la simulation
                  Temps d’ex´cution
                            e




                                                                     e
                                                                    M´thode analytique


                                                                It´rations
                                                                  e                             i


51                                           IRISA–CAIRN            e
                                                              Arithm´tique & traitement du signal
           Part 3

     Conclusions




52   IRISA–CAIRN         e
                   Arithm´tique & traitement du signal
     Conclusions


              e
       Arithm´tique virgule fixe
                e
            Syst`mes embarqu´se
                         u
                Faible coˆt
                Faible consommation
                 e
           Caract´ristiques des applications de TNS
                   e
                Op´rations simples
                                      e
                Dynamique des donn´es faible
                  e                        e
                Pr´cision des calculs limit´e
                                 e                                  e
         Utilisation d’une arithm´tique efficace mais ayant une qualit´ des
                    e
       calculs limit´e



53                              IRISA–CAIRN         e
                                              Arithm´tique & traitement du signal
     Conclusions


       Conversion en virgule fixe
           Evaluation de la dynamique
                Approches statistiques
                                  e
                     Estimation pr´cise
                                             e
                     Absence de garantie de d´bordement
                Approches analytiques
                                 e
                     Absence de d´bordement
                     Estimation pessimiste

                      e                                e
         Estimation pr´cise garantissant l’absence de d´bordement ou
                                         e     e
       capable de quantifier la probabilit´ de d´bordement




54                              IRISA–CAIRN         e
                                              Arithm´tique & traitement du signal
     Conclusions


       Conversion en virgule fixe
                              e
           Evaluation de la pr´cision
                Approches par simulation :
                     Temps d’optimisation trop important
                                                      e
                     Support de tous les types de syst`mes
                Approches analytiques
                     Temps d’optimisation plus faible
                                              e           e     e
                     Restrictions sur les syst`mes support´s (op´rateurs de
                      e
                     d´cision)

                              e e
         Approche mixte pour b´n´ficier des avantages de chaque
       approche ?



55                               IRISA–CAIRN         e
                                               Arithm´tique & traitement du signal
                          e
             Techniques d’´valuation de la dynamique
                            e                  e
               Techniques d’´valuation de la pr´cision




                                                  Part 4

                                                Annexes


     6                e
         Techniques d’´valuation de la dynamique

     7                e                  e
         Techniques d’´valuation de la pr´cision




56                                        IRISA–CAIRN          e
                                                         Arithm´tique & traitement du signal
                           e
              Techniques d’´valuation de la dynamique      e          e
                                                          M´thodes bas´es sur la simulation
                             e                  e
                Techniques d’´valuation de la pr´cision    e
                                                          M´thodes analytiques


      e
     M´thodes par simulation


       Objectifs
             e                                        e a
           D´termination de la dynamique d’une donn´e ` partir de ses
                 e
           param`tres statistiques obtenus par simulation
                Simulation de l’algorithme en virgule flottante
                             e                             e
                Collecte des ´chantillons pour chaque donn´e
                  e                       e
                D´termination des param`tres statistiques

       Techniques
           Instrumentation du code
                                                 e
                Types C++ pour collecter les donn´es




57                                         IRISA–CAIRN            e
                                                            Arithm´tique & traitement du signal
                           e
              Techniques d’´valuation de la dynamique      e          e
                                                          M´thodes bas´es sur la simulation
                             e                  e
                Techniques d’´valuation de la pr´cision    e
                                                          M´thodes analytiques


      e         e
     M´thode bas´e sur les moments

       Classification des distributions
            Kurtosis (coefficient d’aplatissement):

                                                      E (xi − µxi )3
                                           sxi =              3
                                                             σxi

                                        e
           Skewness (coefficient de dissym´trie) :

                                                  E (xi − µxi )4
                                        kxi =              4
                                                                          −3
                                                          σxi

           Tests de la distribution
                Uni-modale : −1.2 < kxi < 5
                Sym´trique : sxi ≈ 0
                    e

58                                         IRISA–CAIRN            e
                                                            Arithm´tique & traitement du signal
                           e
              Techniques d’´valuation de la dynamique      e          e
                                                          M´thodes bas´es sur la simulation
                             e                  e
                Techniques d’´valuation de la pr´cision    e
                                                          M´thodes analytiques


      e         e
     M´thode bas´e sur les moments


                                     e
       Distribution uni-modale et sym´trique
            Estimation :

                                     xi max = |µxi | + (4 + kxi ).σxi
                                     ˜

                                               e
       Distribution non uni-modale ou non sym´trique
            Estimation :
                                 ˜
                                xi max = xi100% + g
                                              e
                                         xiX d´fini tel que P (xi < xiX ) = X
                       avec
                                         g = α xi100% − xi99%



59                                         IRISA–CAIRN            e
                                                            Arithm´tique & traitement du signal
                           e
              Techniques d’´valuation de la dynamique      e          e
                                                          M´thodes bas´es sur la simulation
                             e                  e
                Techniques d’´valuation de la pr´cision    e
                                                          M´thodes analytiques


       e                     e
     Th´orie des valeurs extrˆmes [OZER08]

         e                     e
       Th´orie des valeurs extrˆmes
             e                                              e
           R´alisation de N simulations avec des stimuli diff´rents
                Obtention de N valeurs pour les minima et maxima
           Distribution des minima et maxima : distribution de Gumbel

       Distribution de Gumbel
                                                                     x −α
                                                                       β
           Fonction de r´partition : F (x ) = e −e
                        e
                Moyenne : µ = α + β.γ
                                2
                                  .β 2
                Variance : σ = π 6
                     e     e
           Probabilit´ de d´bordement c :
                                                                              Amax −α
                                                                                β
                              P (x < Amax ) = c → c = e −e

60                                         IRISA–CAIRN            e
                                                            Arithm´tique & traitement du signal
                         e
            Techniques d’´valuation de la dynamique      e          e
                                                        M´thodes bas´es sur la simulation
                           e                  e
              Techniques d’´valuation de la pr´cision    e
                                                        M´thodes analytiques


      e
     D´composition de Karhunen-Loeve




61                                       IRISA–CAIRN            e
                                                          Arithm´tique & traitement du signal
                           e
              Techniques d’´valuation de la dynamique      e          e
                                                          M´thodes bas´es sur la simulation
                             e                  e
                Techniques d’´valuation de la pr´cision    e
                                                          M´thodes analytiques


           e
     Arithm´tique sur les intervalles



               e
       Arithm´tique d’intervalle
                                            e                e
            Propagation de l’intervalle de d´finition des entr´es au sein de
            l’application
                                               e
                Traitement des structures non-r´cursives
                             e     e
           Encadrement certifi´ du r´sultat en sortie
                Estimation dans le pire-cas
           Estimation pessimiste
                                                     e                     e
                Absence de prise en compte de la corr´lation entre les donn´es




62                                         IRISA–CAIRN            e
                                                            Arithm´tique & traitement du signal
                           e
              Techniques d’´valuation de la dynamique      e          e
                                                          M´thodes bas´es sur la simulation
                             e                  e
                Techniques d’´valuation de la pr´cision    e
                                                          M´thodes analytiques


           e
     Arithm´tique sur les intervalles

             e
       Arithm´tique affine
               e                  e
           Repr´sentation des donn´es sous forme affine (FA)

                                              x = x0 +            xi .   i
                                                              i

                xi : symbole d’incertitude
           Propagation de la FA au sein de l’application
                                                         e
                Obtention d’une FA en sortie de chaque op´ration
                                                  e
                         Approximation pour les op´rations non-affines
           Conservation de la source des erreurs
                                       e                 e
                Prise en compte de la d´pendance des donn´es



63                                         IRISA–CAIRN            e
                                                            Arithm´tique & traitement du signal
                           e
              Techniques d’´valuation de la dynamique          e          e
                                                              M´thodes bas´es sur la simulation
                             e                  e
                Techniques d’´valuation de la pr´cision        e
                                                              M´thodes analytiques


                         e
     Normes pour les syst`mes LTI

       Norme L1
                              e
           Utilisation de la r´ponse impulsionnelle h(n)
                                                                              +∞
                         max (|y(n)|) ≤ max (|x (n)|)                                  |h(m)|
                              n                           n
                                                                           m=−∞


       Norme de Chebyshev
           Utilisation de la r´ponse fr´quentielle H (e j Ω )
                              e        e
                                            e a        e
                Valide pour un signal d’entr´e ` bande ´troite

                       max (|y(n)|) ≤ max (|x (n)|) max |H (e j Ω )|
                          n                          n                      Ω



64                                         IRISA–CAIRN                e
                                                                Arithm´tique & traitement du signal
                           e
              Techniques d’´valuation de la dynamique      e          e
                                                          M´thodes bas´es sur la simulation
                             e                  e
                Techniques d’´valuation de la pr´cision    e
                                                          M´thodes analytiques


      e          e
     M´thodes bas´es sur la simulation


       Principe
                             e
           Simulation du syst`me en virgule fixe (yfixed ) et en virgule
           flottante (yfloat )
                                          e
                  Erreur en sortie du syst`me :

                                              ey = yfixed − yfloat
                                                   ee
           La sortie en virgule flottante est consid´r´e comme la
            ee
           r´f´rence
                         e                       e a          e
                  Hypoth`se valide si l’erreur li´e ` l’arithm´tique virgule
                                e                        a       e a
                  flottante est n´gligeable par rapport ` celle li´e ` la virgule fixe
                                            e
                         La largeur des donn´es en virgule fixe doit rester faible




65                                         IRISA–CAIRN            e
                                                            Arithm´tique & traitement du signal
                            e
               Techniques d’´valuation de la dynamique      e          e
                                                           M´thodes bas´es sur la simulation
                              e                  e
                 Techniques d’´valuation de la pr´cision    e
                                                           M´thodes analytiques


      e          e
     M´thodes bas´es sur la simulation

       Mise en œuvre
                                          e
           Utilisation de librairies pour ´muler la virgule fixe
                 Utilisation de classe C++ : systemC, gFix [Kim 98]
                                              e e
                          Temps de simulation ´lev´s
                                       e                         o
                 Utilisation des caract´ristiques de la machine hˆte pour
                    ee
                 acc´l´rer la simulation en virgule fixe
                                                      e
                          Utilisation de types optimis´s : pFix [Kim 98]
                           e e                          e
                          G´n´ration d’un code optimis´ : FRIDGE [Ked 01]
           Point faible
                                                        e     e e e
                 Temps d’optimisation du format des donn´es tr`s ´lev´ [Sun
                 95]
                                                                              e
                          Une nouvelle simulation en virgule fixe est requise d`s que le
                                            e
                          format d’une donn´e est modifi´ e



66                                          IRISA–CAIRN            e
                                                             Arithm´tique & traitement du signal
                           e
              Techniques d’´valuation de la dynamique       e          e
                                                           M´thodes bas´es sur la simulation
                             e                  e
                Techniques d’´valuation de la pr´cision     e
                                                           M´thodes analytiques


      e
     M´thodes analytiques

       Principe
              e e                             e          e
            G´n´ration d’une fonction math´matique d´finissant
                                 e                                     e
            l’expression de la pr´cision en fonction du format des donn´es
                  e
                D´termination du moment d’ordre 2 du bruit de quantification
                by

                                        Nns −1                 Nns −1 Nns −1
                              2                        2
                       E     by     =             ai .σi   +                     Aij .µi .µj
                                          i=0                   i=0      j =0

                     e
                Param`tre statistique de chaque source de bruit : σi , µi
                                                           e
                         Valeur fonction du codage des donn´es
                                  e                               e
                ai , Aij : gains d´pendant de la structure du syst`me
                         Valeur constante


67                                         IRISA–CAIRN             e
                                                             Arithm´tique & traitement du signal
                            e
               Techniques d’´valuation de la dynamique      e          e
                                                           M´thodes bas´es sur la simulation
                              e                  e
                 Techniques d’´valuation de la pr´cision    e
                                                           M´thodes analytiques


      e
     M´thodes analytiques
       Objectifs
                ee     e                  e
           Acc´l´rer l’´valuation de la pr´cision
                                                e
                         Evolution du temps d’ex´cution en fonction du nombre
                             e
                         d’it´rations




                     texec
                                                     e         e
                                                    M´thode bas´e sur la simulation
                Temps d’ex´cution
                          e




                                                                     e
                                                                    M´thode analytique


                                                                It´rations
                                                                  e                            i
68                                          IRISA–CAIRN            e
                                                             Arithm´tique & traitement du signal
                           e
              Techniques d’´valuation de la dynamique      e          e
                                                          M´thodes bas´es sur la simulation
                             e                  e
                Techniques d’´valuation de la pr´cision    e
                                                          M´thodes analytiques


                            e             e
     Approche analytique bas´e sur les mod`les de bruit




          e
       mod`le de bruit
          Quantification d’un signal x

                                                   xQ = x + eQ

                ee                    e
           Propi´t´s de la variable al´atoire eQ :
                Distribution uniforme
                              ee
                Bruit non corr´l´ avec le signal et les autres bruits
                Moments :
                                                                               q2
                         Truncation : µeQ = q (1 − 2−k ), σeQ =
                                            2
                                                           2
                                                                               12
                                                                                  (1   − 2−2k )

69                                         IRISA–CAIRN            e
                                                            Arithm´tique & traitement du signal
                           e
              Techniques d’´valuation de la dynamique          e          e
                                                              M´thodes bas´es sur la simulation
                             e                  e
                Techniques d’´valuation de la pr´cision        e
                                                              M´thodes analytiques


                            e             e
     Approche analytique bas´e sur les mod`les de bruit

          e
       Mod`le de propagation des bruits
           Addition/Soustraction :
                                                                      z =x ±y
                             Z =X ±Y                      ⇒
                                                                      bz = bx ± by

           Multiplication :
                                                    
                                                     z = xy
                Z =X ×Y                    ⇒                                             negligeable

                                                          bz = bx y + by x +                 bx by
                                                    

           Division :
                                                               z = x /y
                        Z = X /Y                ⇒
                                                               bz = bx /y − by x /y 2


70                                         IRISA–CAIRN                e
                                                                Arithm´tique & traitement du signal
                           e
              Techniques d’´valuation de la dynamique       e          e
                                                           M´thodes bas´es sur la simulation
                             e                  e
                Techniques d’´valuation de la pr´cision     e
                                                           M´thodes analytiques


                            e             e
     Approche analytique bas´e sur les mod`les de bruit

               e                    e                e
           Syst`me incluant des op´rations arithm´tiques (additions,
           soutractions, multiplications, divisions)


                                                                                                 a
                                                                   Le bruit en sortie correspond `
                                                                   la somme des contributions de
                                                                   chaque source de bruit
                                                                                  e     e
                                                                   Contribution d´termin´e par la
                                                                   propagation des sources de bruit
                                                                                  e
                                                                   au sein du syst`me

                                     P                            Q
                                            (n)                          (n)
                         b (n) =           f(n−j ) b (n − j ) +         g(n−i) b(n − i)
                                    j =1                          i=0

                                              b2 (n)                       b1 (n)


71                                          IRISA–CAIRN            e
                                                             Arithm´tique & traitement du signal
                           e
              Techniques d’´valuation de la dynamique          e          e
                                                              M´thodes bas´es sur la simulation
                             e                  e
                Techniques d’´valuation de la pr´cision        e
                                                              M´thodes analytiques


                            e             e
     Approche analytique bas´e sur les mod`les de bruit
       Expression de la puissance du bruit en sortie
                     a                      e
           Obtenue ` partie de la pseudo-r´ponse impulsionnelle et des
           moments du bruit
                                           Ne                      Ne Ne
                                                  2
                               Pby =             σbi ai +                        µbi µbj Aij
                                           i=1                     i=1 j =1
           avec
                                                          ∞
                                                 ai =             E (hi2 (k ))
                                                          k =0

                                                   ∞      ∞
                                         Aij =                    E (hi (k )hj (m))
                                                  k =0 m=0

                                                              n
                                               bi (n) =            hi (k )b(k )
                                                           k =0

72                                         IRISA–CAIRN                   e
                                                                   Arithm´tique & traitement du signal