SlideShare une entreprise Scribd logo
1  sur  44
Développement pour une plateforme
DSP
   Mise au point de l ’algorithme
       Prototypage, simulation haut-niveau
            Matlab
            Langage C sur PC
   Implémentation DSP
       Développement sur carte d'évaluation
            Langage C
            Cartes EVM, SDK
            Noyau temps-réel (DSP/BIOS)
       Optimisation des parties critiques
            Assembleur
       Outils de débogage
            Simulateur
            Émulateur
            Boundary scan JTAG (Norme IEEE 1179.1)
            Communication temps-réel avec un PC hôte

                                                        2
Développement pour un DSP

 Outils de           Compilateur      *.asm
conception    *.c
                         C



  IDE        *.asm   Assembleur       *.obj   *.lst



 Editeur
de Texte     *.cmd     Linker         *.out   *.map




                        Simulateur
                                              *.hex       DSP


                                          Chargement
                                          sur la cible


                                                                 3
C vs. assembleur
   Assembleur                             Langage C
       Langage bas-niveau                     Langage de plus haut-
            Fastidieux                         niveau
            Jeux d’instructions                    Plus rapide à coder
             complexes et irréguliers               Meilleure portabilité
            Spécifique à chaque               Code machine généré
             constructeur                       moins efficace
       Plus puissant                               Malgré l’optimisation par
            Accès direct à certains                 le compilateur
             registres inconnus du C           Outils de développement
       Nécessaire pour une                         Noyau temps-réel
        optimisation poussée                         (DSP/BIOS)
                                                    Configuration de la carte
                                                    Librairies de calculs
                                                     optimisées (DSPLIB)


                                                                                 4
Outils d'aide au développement

                  User Application

             Drivers


               DSP/BIOS™              Dsplib
     CSL     Kernel/Scheduler         Imglib


                                     CODEC
    Timer McBSP EMIF     CPU

            DSP                        DIP
                                     Switches
             Target Board

                                                5
CSL (Chip Support Library)
   Librairie pour faciliter         C67x™ DSP Modules
    l'utilisation des                CHIP
    périphériques internes du
                                     DAA
    DSP
   Plateformes C5000 et C6000       DAT
    Texas Instruments                DMA
   Accessible depuis le             EBUS
    langage C
                                     GPIO
   Organisation en modules          HPI
       Un module par périphérique   IRQ
                                     MCBSP
                                     PLL
                                     PWR
                                     UART
                                     WDTIM
                                                         6
Avantages d'une librairie de support
de type CSL
   Abstraction du matériel à travers une API logicielle
       Configuration
       Accès aux ressources
       Macros pour accéder au niveau des contenus de registres
   Intégré au noyau temps-réel DSP/BIOS
       Interface graphique CSL
   Facilitation du développement
       Méthodes standards d'accès aux périphériques
       Temps de développement réduit
       Programmation à plus haut-niveau
       Utile pour compenser l'augmentation de la complexité des
        processeurs et des applications



                                                                   7
Librairies spécialisées (DSPLIB, IMGLIB)

   Librairies de support pour le calcul
     Traitement  du signal ou des images
     Déjà programmées
     Optimisées
     Utilisables depuis le langage C
   Fonctionnalités de base
     FFT
     Filtrage
     Mathématiques        et trigonométrie
     Calcul   matriciel



                                              8
Propriétés des systèmes temps-réel
   Piloté par évènements
     Synchrones (chronomètre)
     Asynchrones (interruptions des E/S)
   Contraint dans le temps
       Contraintes dures (deadlines critiques)
       Contraintes souples (deadlines non critiques)
   Concurrence de l'exécution
     Contraintes sur plusieurs traitements en parallèle
     Nécessite un ordonnancement
            multi-tâches (plusieurs traitements à la fois)
            préemptif (toute tâche peut être interrompue par une tâche plus prioritaire)
   Déterministe et fiable
       Comportement du système prédictible
            Temps de réponse bornés




                                                                                            9
Système temps-réel DSP BIOS
   Noyau temps-réel
     Ordonnanceur   temps-réel
     Gestion multi-threads préemptive
   Outils d'analyse temps-réel
     Débogage     sans interruption de l'exécution
     Profiling, vision des threads
   Intégration avec
     Real-time data exchange (RTDX)
        Communication hôte↔DSP pendant l'exécution

     Chip   Support Library (CSL)



                                                      10
Stratification des traitements sous
DSP/BIOS
      Hard Real-time
                            1st-TIER
Interruptions matérielles     Traitement par échantillon
                              Réaction à la microseconde


                            2nd-TIER
Interruptions logicielles     Traitement par blocs
                              Réaction à la milliseconde



                              Traitements ordonnancés
      Multi-tâche             Exécution concurrente




  Tâche de fond (idle)        S'il reste du temps


      Soft Real-time
                                                            11
Mise en œuvre et implémentation de
         filtres RIF et RII




                                     12
Méthodologie d'implantation d'un filtre
   Étape 0 : Choix du filtre
        Choix du filtre et calcul des coefficients

   Étape 1 : Choix de structure
        Choix d'un schéma d'implantation
        Écriture des équations correspondantes
   Étape 2 : Choix algorithmiques
      Choix de l'implantation mémoire et des variables
      Écriture de l'algorithme
   Étape 3 : Choix numériques
        Choix du format Qk
        Écriture du programme

   Étape 4 : Validation
        Définir un protocole de test et l'appliquer
   Etape 5 : Optimisation


                                                          13
Étape 1 : Schéma et équations
  |H(f )|   pass-band                        stop-band

      1




                          fc : cut-of f f requency               fs/2       f (norm)
                                      (a)


  |H(f )|   pass-band   transition band        stop-band                |H(f )|
   (dB)                                                                 (linear)
     p                                                                 1     p

      0                                                                 1
                                                                        1         p

                                                     pass-band
     -3
                                                       ripple



                                                     stop-band
                                                       ripple
     s                                                                    s



                                                                 fs/2       f (norm)
                                 fs b : stop-band f requency
                              fc : cut-of f f requency
                            fpb : pass-band f requency
                                      (b)
Méthodes de synthèse d'un filtre


   Il existe de nombreuses méthodes
     Méthode  de la fenêtre
     Optimisation par moindres carrés
     Calcul des coefficients par approximation de
      tchebycheff
     Par TFD récursive
     etc.
Synthèse de filtres
Synthèse de filtre
Synthèse de filtre
Synthèse de filtre
Synthèse de filtre
Synthèse de filtre
Étape 1 : Schéma et équations

 Exemple sur une cellule RII du 2e ordre


     s          wn     b0
xn                          yn
                z-1
          -a1 w b1               wn  sxn  a1wn1  a2 wn2
               n-1

                z-1
                                 yn  b0 wn  b1wn1  b2 wn2
          -a2          b2
                                   Équations correspondantes
                wn-2
         Forme directe II

                                                               22
Étape 2 : Variables et algorithme
                                              Entrées :
       coefs             dbuffer               x (contient xn)
0        s         0      wn-1       w(n-1)    dbuffer (contient wn-1 et wn-2)
                                               coefs (contient les coefficients)
1        a1        1      wn-2       w(n-2)
                                              Variable temporaire :
2        a2            tableau des             w (recevra wn)
3        b2              retards
                                              Calcul
4        b1                                    wn ← s * xn – a1 * w(n-1) – a2 * w(n-2)
5        b0                xn        x         y ← b0 * wn + b1 * w(n-1) + b2 * w(n-2)
    tableau des                               Mise à jour retards
                        ? puis yn    y
    coefficients
                                               w(n-2) ← w(n-1)
                        ? puis wn    w         w(n-1) ← wn
                         variables            Sorties :
                       temporaires             y (reçoit yn)
                                               dbuffer (contient wn'-1 et wn'-2 pour n'=n+1)
         État de la mémoire
    lors de l'appel de la fonction
                                                                                               23
Étape 3 : Format Qk et programme C
                                               int coefs[6];
        x(n)       Q15                         int dbuffer[2];

        s          Q15                         int cellule(int x) {
        ai         Q15                           int w;
                                                 int y;
        bi         Q15
                                               /* Calcul */
        wk         Q15                         w=((long)coefs[0]*x
                                                  +(long)coefs[1]*dbuffer[0]
                                                  –(long)coefs[2]*dbuffer[1]) >> 15;
                                               y=((long)coefs[5]*w
                                                  +(long)coefs[4]*dbuffer[1]
Conversion algorithme (calcul sur des réels)      +(long)coefs[3]*dbuffer[0]) >> 15;
vers programme (calcul en format Qk)
                                               /* Mise à jour retards */
                                               dbuffer[1]=dbuffer[0];
           s*x                                 dbuffer[0]=w;
          devient
                                               /* Sortie */
    (coefs[0]*x)>>15                           return y;
  pour un résultat en Q15                      }



                                                                                   24
Étape 3 : Programme détaillé

   Si programmation       ACC=x(n)  s
    en assembleur,         ACC=ACC - a1  w(n-1)
    nécessité de           ACC=ACC - a2  w(n-2)
    décomposer en          w(n)=ACC>>15
                           ACC=w(n)  b0
    calculs élémentaires
                           ACC=ACC + b2  w(n-2)
     Algorithmedétaillé   ACC=ACC + b1  w(n-1)
     Conversion en        y(n)=ACC>>15
      assembleur           w(n-2)=w(n-1)
                           w(n-1)=w(n)




                                                   25
Implantation mémoire pour cellules en
cascade
            coefs                     dbuffer
                                 0    w1(n-1)
       0      s                                 cellule 1
                                 1    w1(n-2)
       1     a11
                                2+1   w2(n-1)
       2     a12
                                                cellule 2
                    cellule 1   2+2   w2(n-2)
       …     b12
       …     b11
       5     b10
      5+1    a21
      5+2    a22
       …     b22    cellule 2
             b21
             b20


                                                            26
Filtres RIF




Structure
         transverse
Implémentation par
  Buffer linéaire
  Buffer circulaire



                           27
Structures pour filtre RIF
    Structure transverse avec ligne à retard
                             y n   b0 xn   b1 xn  1  ....  bN 1 xn  N  1
                                                -1                -1                              -1
                      x(n)                  z                 z                               z



                                        b                 b                  b                              b
                                        0                 1                  2                                  N-1




                                                     +                   +                              +                 y (n)


    Structure en treillis (filtres adaptatifs)
                  y0(n)                                  y1(n)                       y2(n)                                   y3(n)
                                                     +                           +                                    +
               x(n)
                                   k1                                   k2                         k3

                                                         u1(n)                       u2(n)                                   u3(n)
                u0(n)        z-1                     +            z-1            +           z-1                      +



    yi(n) = yi-1(n) + ki ui-1(n) et ui(n) = k1 yi-1(n) + ui-1(n-1)
    avec y0(n)=u0(n)=x(n).                                                                                                           28
Structures pour filtre RIF

    Structures en cascade:
                              N 1       k  b  b z  1  b z  2  ... b              N  1
                     H z  
                                                                                                
                                 bk z                                                z         
                                                 0    1         2               N 1
                              k 0
                                                                                   
                                                                   N  1 z   N  1 
                                     b 1 b  2                  b           
                             b 1   1 z         2 z     ...                   
                               0 b              b                  b                 
                                     0            0                 0                
                                   M
                             b  1  b z  1  b
                                                            z 2 
                                                                  
                               0
                                 k 1      k ,1        k ,2      
  x(n)   b0                                                                                      y (n)
                                +                        +                                   +

              z -1                        z -1                             z -1
                        b 1,1                    b 2,1                             b   M,1
                                +                        +                                   +
              z -1                        z -1                             z -1
                        b 1,2                    b 2,2                             b   M,2




                                                                                                         29
Filtre RIF par structure transverse

   Deux aspects
     Mise     à jour de la mémoire
         A chaque réception d’une nouvelle donnée x(n)
     Calcul    du filtre
       ACCU=0
       for i=0 to N-1:
              ACCU ← ACCU + h(i)   x(n-i)
         Sortie de y(n)=ACCU




                                                          30
N 1
                                                       y n    bi xn  i 
Buffer linéaire                                                i 0



           Schéma "état mémoire"      Schéma de structure de filtre

                     x(n)                              y(n)
           xtab               xtab
     0    x(n-1)         0    x(n)       b0
     1    x(n-2)         1   x(n-1)      b1
           …             2   x(n-2)      b2
           …                   …         …
           …                   …         …
           …                   …         …
    N-2 x(n-N+1)       N-2 x(n-N+2)      bN-2
    N-1   x(n-N)       N-1 x(n-N+1)      bN-1
                             x(n-N)


            Mise à jour du buffer     Calcul de y(n)
                                                                             31
N 1
                                                               y n    bi xn  i 
Buffer circulaire                                                      i 0



                  Schéma "état mémoire"       Schéma de structure de filtre

                        x(n)                                          y(n)
        xtab                          xtab
  0    x(n-k+1)                0   x(n-k+1)     bk+1
  1       …                    1       …        …

       x(n-N+1)                    x(n-N+1)     bN-1

        x(n-N)             idx        x(n)      b0

 idx    x(n-1)                      x(n-1)      b1

        x(n-2)                      x(n-2)      b2
 N-2      …                N-2         …        …
 N-1    x(n-k)             N-1      x(n-k)      bk




              Mise à jour du buffer           Calcul de y(n)
                                                                                     32
Quantification des coefficients RIF

   Virgule fixe:                                     N 1

     B=16  bits pour h(i) , x(n-i) et y(n)   y n    hi xn  i 
                                                      i 0
     40 bits pour les accumulateurs

   Représentation Qk
     Coefficient     de magnitude maximale:
          hmax = max |h(i)|
     Nombre      de bits nécessaires pour la partie entière :
          BE = log2(hmax)
     Codage      Qk avec k = B – BE
          h(i) = round(h(i)/2k)



                                                                      33
Filtre RIF avec buffer circulaire en
assembleur
                                    N 1
                            y n    hi xn  i 
N       .set      32
; adr_x+d supposé chargé
                                    i 0
dans AR2                                                  Adresses       Contenu
STM     #(coef)+N-1, AR3        Adresses    Contenu       k = adr_x    x(n-N+d-1)
STM     #(adr_y), AR5
                                 i = coef    h(N-1)         ……             ……
                                  i +1       h(N-2)       k+d-1         x(n-N+1)
STM     #N, BK
STM     #1, AR0                   i+2        h(N-3)         k+d            x(n)
                                  ……          ……            ……             ……
RPTZ    A, #N-1                  i+N-1        h(0)          k+N         x(n-N+d)
MAC     *AR2+0%, *AR3-, A
                                Mémoire Programme           Mémoire Données

STH     A, *AR5                              Rmq: les log2(N) bits de poids faible
                                             de adr_x doivent être nuls



                                                                                  34
Exemple d’implémentation d’un filtre RIF en Q15

short fir_filter (short input)
{
int i;
short output;
int acc=0;
int prod;
R_in[0] = input;                 /* lire les valeurs des échantillons */
acc = 0;                          /* initialisation de l’acc à zéro*/
for (i=0; i<128; i++)
{
prod = (h[i]*R_in[i]);           /* Q.15 */
acc = acc + prod;                /* mise a jour des 32-bit de l’acc */
}
output = (short) (acc>>15);       /* mise en forme de l’output (16-bits) */
for (i=127; i>0; i--)            /* décalage des échantillons */
R_in[i]=R_in[i-1];
return output;
}
Filtres RII




Structures
          de filtres
Décomposition en élements simples
Problèmes de quantification


                                     36
Filtre RII
    Fonction de transfert rationnelle
                                   Q

                     N(z)
                                   bi z i
                                  i0
              H(z)                P
                     D( z )
                                1   ak z  k
                                    k 1

    Equation aux différences
                    Q              P
              yn   bi xni   ak ynk
                   i 0           k 1



                                                 37
Filtre RII – Pôles et zéros

   Zéros au numérateur
                                                   
              Q                      Q

              bi z  b0  1  zi z 1
             i 0
                           i

                                     i 0




   Pôles au dénominateur
                                                       
                     P                   P
             1   ai z   1  pi z 1
                                i

                    i 1               i 0



                                                            38
Forme directe I (ND)

                                           Q               P
                                     yn   bi xni   ak yn k
           b0
xn                              yn
     z-1                  z-1             i 0            k 1
           b1      -a1

     z-1           -a2    z-1
           b2
                                                          1
     z-1                  z-1            H ( z)  N ( z)
           b3      -a3                                   D( z )
                                         •Forme non canonique :
                                         •Nécessite Q+P mémoires
     z-1                  z-1
           bQ-1   -aQ-1


      Forme directe I (ND)


                                                                   39
Forme directe II (DN)

                    b0
xn                           yn
                                            1
        -a1
              z-1
                    b1            H ( z)         N ( z)
                                           D( z )
              z-1
        -a2         b2             •Forme canonique
                                   •Nécessite max(Q,P) mémoires
        -a3   z-1
                    b3



              z-1
      -aQ-1         bQ-1

     Forme directe II (DN)

                                                                  40
Forme directe II transposée
                   b0                    b0
xn                        yn   xn                                 yn
             z-1                                z-1
      -a1          b1                    b1           -a1

             z-1
      -a2          b2                           z-1
                                         b2           -a2

             z-1
      -a3          b3                           z-1
                                         b3           -a3



             z-1                                z-1
     -aQ-1         bQ-1                  bQ-1         -aQ-1


     Forme directe II               Forme directe II transposée
                                                                       41
Quantification des coefficients
                   b0
xn                        yn
      -a1
             z-1
                   b1               ak  ak  ak
             z-1
      -a2          b2


      -a3
             z-1
                   b3
                                    bk  bk  bk

                          Quantification d’un coef :
             z-1
     -aQ-1         bQ-1   aq = round(a*q)/q
                          avec un pas de quantification q=2-k
     Forme directe II

                                                                42
Quantification des coefficients
                       Q

         N(z)
                       bi z i
                      i0
H(z)           
                                                a k  a k  a k
                        P
         D( z )
                    1   ak z  k
                        k 1


Le dénominateur quantifié devient :
                                       Q 1         Q 1
                                                            
                           D  z   1   ak z  k   1  pl z 1   
                                       k 1          l 1

La fonction de transfert est donc perturbée.
Plus le degré du polynôme est élevé, plus la fonction
de transfert sera perturbée.


                                                                          43
Décomposition d’un filtre RII
        en sections du deuxième ordre
            choisies pour leur stabilité
            coefficients réels (racines conjuguées)

        Structure parallèle                                      Structure cascade
                         c0

                    b0  b1 z 1                               b0  b1 z 1  b2 z 2        b0  b1 z 1  b2 z 2
                                                          xn   1  a1 z 1  a2 z  2        1  a1 z 1  a2 z  2
                                                                                                                      yn
                1  a1 z 1  a2 z  2
xn                                                   yn
                    b0  b1 z 1
                1  a1 z 1  a2 z  2                     Factorisation

Expansion partielle                                              B( z )      N 1
                                                                                   1  bi 1 z 1  bi 2 z 2
                                                                         b0                 1
     B( z )        N 1
                            bi 0  bi 1 z 1                     A( z )      i  0 1  ai 1 z     ai 2 z  2
             c0                 1
     A( z )        i 0 1  ai 1 z     ai 2 z  2
                                                                                                                      44
Décomposition en cascade


x(n) s0                          s1                      s2                       s3 y(n)
                    H1                       H2                      H3


         B( z )      N 1
                          1  bi1 z 1  bi 2 z 2
                 b0               1          2
                                                    b0 H1 ( z ) H 2 ( z ) H 3 ( z )
         A( z )      i 0 1  ai1 z  ai 2 z



avec :                1  bi1 z 1  bi 2 z 2         et       s0 s1s2 s3  b0
           H i ( z) 
                      1  ai1 z 1  ai 2 z 2


                                                                                            45

Contenu connexe

Tendances

Architecture des ordinateurs Elaboré par- ABIDA Mounir.ppt
Architecture des ordinateurs Elaboré par- ABIDA Mounir.pptArchitecture des ordinateurs Elaboré par- ABIDA Mounir.ppt
Architecture des ordinateurs Elaboré par- ABIDA Mounir.pptwafawafa52
 
CM2 - Conversion Anlogique Numérique
CM2 - Conversion Anlogique NumériqueCM2 - Conversion Anlogique Numérique
CM2 - Conversion Anlogique NumériquePierre Maréchal
 
Chapitre 3 NP-complétude
Chapitre 3 NP-complétudeChapitre 3 NP-complétude
Chapitre 3 NP-complétudeSana Aroussi
 
correction examen rattrapage 2012 transmission numérique
correction examen rattrapage 2012 transmission numérique correction examen rattrapage 2012 transmission numérique
correction examen rattrapage 2012 transmission numérique omar bllaouhamou
 
Examen principal - Fondement Multimedia - correction
Examen principal - Fondement Multimedia - correctionExamen principal - Fondement Multimedia - correction
Examen principal - Fondement Multimedia - correctionInes Ouaz
 
Exercices vhdl
Exercices vhdlExercices vhdl
Exercices vhdlyassinesmz
 
Base des systèmes à microprocesseur
Base des systèmes à microprocesseurBase des systèmes à microprocesseur
Base des systèmes à microprocesseurPeronnin Eric
 
réseaux de neurones artificiels
réseaux de neurones artificiels réseaux de neurones artificiels
réseaux de neurones artificiels Oussama Werfelli
 
Lamini&farsane traitement de_signale
Lamini&farsane traitement de_signaleLamini&farsane traitement de_signale
Lamini&farsane traitement de_signaleAsmae Lamini
 
Introduction aux réseaux locaux
 Introduction aux réseaux locaux Introduction aux réseaux locaux
Introduction aux réseaux locauxInes Kechiche
 
chap2 outil_mathematiques
chap2 outil_mathematiqueschap2 outil_mathematiques
chap2 outil_mathematiquesBAKKOURY Jamila
 
Modulation FM_Phase.pdf
Modulation FM_Phase.pdfModulation FM_Phase.pdf
Modulation FM_Phase.pdfHassnTAI
 
Programmation de systèmes embarqués : Introduction aux systèmes embarqués
Programmation de systèmes embarqués : Introduction aux systèmes embarquésProgrammation de systèmes embarqués : Introduction aux systèmes embarqués
Programmation de systèmes embarqués : Introduction aux systèmes embarquésECAM Brussels Engineering School
 
64378311-Traitement-Du-Signal.ppt
64378311-Traitement-Du-Signal.ppt64378311-Traitement-Du-Signal.ppt
64378311-Traitement-Du-Signal.pptdocteurgyneco1
 

Tendances (20)

Architecture des ordinateurs Elaboré par- ABIDA Mounir.ppt
Architecture des ordinateurs Elaboré par- ABIDA Mounir.pptArchitecture des ordinateurs Elaboré par- ABIDA Mounir.ppt
Architecture des ordinateurs Elaboré par- ABIDA Mounir.ppt
 
Systeme embarque
Systeme embarqueSysteme embarque
Systeme embarque
 
Cours1
Cours1Cours1
Cours1
 
CM2 - Conversion Anlogique Numérique
CM2 - Conversion Anlogique NumériqueCM2 - Conversion Anlogique Numérique
CM2 - Conversion Anlogique Numérique
 
Chapitre 3 NP-complétude
Chapitre 3 NP-complétudeChapitre 3 NP-complétude
Chapitre 3 NP-complétude
 
correction examen rattrapage 2012 transmission numérique
correction examen rattrapage 2012 transmission numérique correction examen rattrapage 2012 transmission numérique
correction examen rattrapage 2012 transmission numérique
 
Coursdsp tdi
Coursdsp tdiCoursdsp tdi
Coursdsp tdi
 
Examen principal - Fondement Multimedia - correction
Examen principal - Fondement Multimedia - correctionExamen principal - Fondement Multimedia - correction
Examen principal - Fondement Multimedia - correction
 
Exercices vhdl
Exercices vhdlExercices vhdl
Exercices vhdl
 
Base des systèmes à microprocesseur
Base des systèmes à microprocesseurBase des systèmes à microprocesseur
Base des systèmes à microprocesseur
 
réseaux de neurones artificiels
réseaux de neurones artificiels réseaux de neurones artificiels
réseaux de neurones artificiels
 
Lamini&farsane traitement de_signale
Lamini&farsane traitement de_signaleLamini&farsane traitement de_signale
Lamini&farsane traitement de_signale
 
Introduction aux réseaux locaux
 Introduction aux réseaux locaux Introduction aux réseaux locaux
Introduction aux réseaux locaux
 
Traitement de signal 1
Traitement de signal 1Traitement de signal 1
Traitement de signal 1
 
chap2 outil_mathematiques
chap2 outil_mathematiqueschap2 outil_mathematiques
chap2 outil_mathematiques
 
Couche physique réseau
Couche physique réseauCouche physique réseau
Couche physique réseau
 
Chap2 dsp
Chap2 dspChap2 dsp
Chap2 dsp
 
Modulation FM_Phase.pdf
Modulation FM_Phase.pdfModulation FM_Phase.pdf
Modulation FM_Phase.pdf
 
Programmation de systèmes embarqués : Introduction aux systèmes embarqués
Programmation de systèmes embarqués : Introduction aux systèmes embarquésProgrammation de systèmes embarqués : Introduction aux systèmes embarqués
Programmation de systèmes embarqués : Introduction aux systèmes embarqués
 
64378311-Traitement-Du-Signal.ppt
64378311-Traitement-Du-Signal.ppt64378311-Traitement-Du-Signal.ppt
64378311-Traitement-Du-Signal.ppt
 

En vedette

DSP architecture
DSP architectureDSP architecture
DSP architecturejstripinis
 
Introduction to Digital Signal Processing
Introduction to Digital Signal ProcessingIntroduction to Digital Signal Processing
Introduction to Digital Signal Processingop205
 
Digital Signal Processors - DSP's
Digital Signal Processors - DSP'sDigital Signal Processors - DSP's
Digital Signal Processors - DSP'sHicham Berkouk
 
Cours langage c
Cours langage cCours langage c
Cours langage ccoursuniv
 
Implémentation optimale de filtres linéaires en arithmétique virgule fixe
Implémentation optimale de filtres linéaires en arithmétique virgule fixeImplémentation optimale de filtres linéaires en arithmétique virgule fixe
Implémentation optimale de filtres linéaires en arithmétique virgule fixeBenoit Lopez
 
La docencia y la cultura
La docencia y la culturaLa docencia y la cultura
La docencia y la culturaRo Sport
 
Evolución de las computadoras
Evolución de las computadorasEvolución de las computadoras
Evolución de las computadorasLety Martinez
 
S4 drf-printemps-13
S4 drf-printemps-13S4 drf-printemps-13
S4 drf-printemps-13essa1988
 
07 belles-histoires-d'amour-animales
07 belles-histoires-d'amour-animales07 belles-histoires-d'amour-animales
07 belles-histoires-d'amour-animalesDominique Pongi
 
L eau chaude_et_le_coeur
L eau chaude_et_le_coeurL eau chaude_et_le_coeur
L eau chaude_et_le_coeurDominique Pongi
 

En vedette (19)

DSP architecture
DSP architectureDSP architecture
DSP architecture
 
DSP Processor
DSP Processor DSP Processor
DSP Processor
 
Introduction to Digital Signal Processing
Introduction to Digital Signal ProcessingIntroduction to Digital Signal Processing
Introduction to Digital Signal Processing
 
Dsp ppt
Dsp pptDsp ppt
Dsp ppt
 
Chapitre2 prog dsplf3
Chapitre2 prog dsplf3Chapitre2 prog dsplf3
Chapitre2 prog dsplf3
 
Introduction to visual DSP++ Kernel
Introduction to visual DSP++ KernelIntroduction to visual DSP++ Kernel
Introduction to visual DSP++ Kernel
 
Digital Signal Processors - DSP's
Digital Signal Processors - DSP'sDigital Signal Processors - DSP's
Digital Signal Processors - DSP's
 
Processeur FPGA
Processeur FPGAProcesseur FPGA
Processeur FPGA
 
Temps reel
Temps reel Temps reel
Temps reel
 
Cours langage c
Cours langage cCours langage c
Cours langage c
 
Implémentation optimale de filtres linéaires en arithmétique virgule fixe
Implémentation optimale de filtres linéaires en arithmétique virgule fixeImplémentation optimale de filtres linéaires en arithmétique virgule fixe
Implémentation optimale de filtres linéaires en arithmétique virgule fixe
 
La docencia y la cultura
La docencia y la culturaLa docencia y la cultura
La docencia y la cultura
 
Evolución de las computadoras
Evolución de las computadorasEvolución de las computadoras
Evolución de las computadoras
 
S4 drf-printemps-13
S4 drf-printemps-13S4 drf-printemps-13
S4 drf-printemps-13
 
VIDEOS TUTORIALES
VIDEOS TUTORIALESVIDEOS TUTORIALES
VIDEOS TUTORIALES
 
Principales ressources cartographiques et statistiques Centre GéoStat (2015)
Principales ressources cartographiques et statistiques Centre GéoStat (2015)Principales ressources cartographiques et statistiques Centre GéoStat (2015)
Principales ressources cartographiques et statistiques Centre GéoStat (2015)
 
07 belles-histoires-d'amour-animales
07 belles-histoires-d'amour-animales07 belles-histoires-d'amour-animales
07 belles-histoires-d'amour-animales
 
L eau chaude_et_le_coeur
L eau chaude_et_le_coeurL eau chaude_et_le_coeur
L eau chaude_et_le_coeur
 
Inventions de femme
Inventions de femmeInventions de femme
Inventions de femme
 

Similaire à Chapitre3 prog dsplf3

COURS VHDL PROGRAMMATION ET _ETAPES pour comprendre
COURS VHDL   PROGRAMMATION ET _ETAPES pour comprendreCOURS VHDL   PROGRAMMATION ET _ETAPES pour comprendre
COURS VHDL PROGRAMMATION ET _ETAPES pour comprendreMariamHafsa
 
.NET Microframework: du code, de l&rsquo;électronique, de la robotique
.NET Microframework: du code, de l&rsquo;électronique, de la robotique.NET Microframework: du code, de l&rsquo;électronique, de la robotique
.NET Microframework: du code, de l&rsquo;électronique, de la robotiqueMicrosoft
 
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseriesBreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseriesXavier MARIN
 
soft-shake.ch - Domotique et robotique avec le micro Framework .NET
soft-shake.ch - Domotique et robotique avec le micro Framework .NETsoft-shake.ch - Domotique et robotique avec le micro Framework .NET
soft-shake.ch - Domotique et robotique avec le micro Framework .NETsoft-shake.ch
 
Perfug BOF devoxx2017.pptx
Perfug BOF devoxx2017.pptxPerfug BOF devoxx2017.pptx
Perfug BOF devoxx2017.pptxMarc Bojoly
 
Presentaion fpga µc µp quelles est la solution
Presentaion  fpga µc µp quelles est la solutionPresentaion  fpga µc µp quelles est la solution
Presentaion fpga µc µp quelles est la solutionCynapsys It Hotspot
 
Sizing PoC LSF & PowerAI for Engineers schools workloads
Sizing PoC LSF & PowerAI for Engineers schools workloadsSizing PoC LSF & PowerAI for Engineers schools workloads
Sizing PoC LSF & PowerAI for Engineers schools workloadsPhilippeBrogi
 
OWF12/PAUG Conf Days Render script, sylvain galand, software engineer at geny...
OWF12/PAUG Conf Days Render script, sylvain galand, software engineer at geny...OWF12/PAUG Conf Days Render script, sylvain galand, software engineer at geny...
OWF12/PAUG Conf Days Render script, sylvain galand, software engineer at geny...Paris Open Source Summit
 
Du hard et des réseaux: Les outils pour construire l'internet des objets chez...
Du hard et des réseaux: Les outils pour construire l'internet des objets chez...Du hard et des réseaux: Les outils pour construire l'internet des objets chez...
Du hard et des réseaux: Les outils pour construire l'internet des objets chez...Microsoft
 
Architecture des ordinateurs
Architecture des ordinateursArchitecture des ordinateurs
Architecture des ordinateursRMwebsite
 
Cours de microcontrôleurs
Cours de microcontrôleursCours de microcontrôleurs
Cours de microcontrôleurssarah Benmerzouk
 
Apache Kafka, Un système distribué de messagerie hautement performant
Apache Kafka, Un système distribué de messagerie hautement performantApache Kafka, Un système distribué de messagerie hautement performant
Apache Kafka, Un système distribué de messagerie hautement performantALTIC Altic
 
Chapitre 3-architecture-des-dsp
Chapitre 3-architecture-des-dspChapitre 3-architecture-des-dsp
Chapitre 3-architecture-des-dspgharbisalah
 
Ez18n Annotation Processing Tool in a nutshell
Ez18n Annotation Processing Tool in a nutshellEz18n Annotation Processing Tool in a nutshell
Ez18n Annotation Processing Tool in a nutshellgdigugli
 
Net duino et le .net micro framework
Net duino et le .net micro frameworkNet duino et le .net micro framework
Net duino et le .net micro frameworkVincent Hubert
 
Isbs slides 2010
Isbs slides 2010Isbs slides 2010
Isbs slides 2010RMwebsite
 

Similaire à Chapitre3 prog dsplf3 (20)

COURS VHDL PROGRAMMATION ET _ETAPES pour comprendre
COURS VHDL   PROGRAMMATION ET _ETAPES pour comprendreCOURS VHDL   PROGRAMMATION ET _ETAPES pour comprendre
COURS VHDL PROGRAMMATION ET _ETAPES pour comprendre
 
.NET Microframework: du code, de l&rsquo;électronique, de la robotique
.NET Microframework: du code, de l&rsquo;électronique, de la robotique.NET Microframework: du code, de l&rsquo;électronique, de la robotique
.NET Microframework: du code, de l&rsquo;électronique, de la robotique
 
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseriesBreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
 
soft-shake.ch - Domotique et robotique avec le micro Framework .NET
soft-shake.ch - Domotique et robotique avec le micro Framework .NETsoft-shake.ch - Domotique et robotique avec le micro Framework .NET
soft-shake.ch - Domotique et robotique avec le micro Framework .NET
 
Perfug BOF devoxx2017.pptx
Perfug BOF devoxx2017.pptxPerfug BOF devoxx2017.pptx
Perfug BOF devoxx2017.pptx
 
Presentaion fpga µc µp quelles est la solution
Presentaion  fpga µc µp quelles est la solutionPresentaion  fpga µc µp quelles est la solution
Presentaion fpga µc µp quelles est la solution
 
Sizing PoC LSF & PowerAI for Engineers schools workloads
Sizing PoC LSF & PowerAI for Engineers schools workloadsSizing PoC LSF & PowerAI for Engineers schools workloads
Sizing PoC LSF & PowerAI for Engineers schools workloads
 
OWF12/PAUG Conf Days Render script, sylvain galand, software engineer at geny...
OWF12/PAUG Conf Days Render script, sylvain galand, software engineer at geny...OWF12/PAUG Conf Days Render script, sylvain galand, software engineer at geny...
OWF12/PAUG Conf Days Render script, sylvain galand, software engineer at geny...
 
Du hard et des réseaux: Les outils pour construire l'internet des objets chez...
Du hard et des réseaux: Les outils pour construire l'internet des objets chez...Du hard et des réseaux: Les outils pour construire l'internet des objets chez...
Du hard et des réseaux: Les outils pour construire l'internet des objets chez...
 
Architecture des ordinateurs
Architecture des ordinateursArchitecture des ordinateurs
Architecture des ordinateurs
 
Démo puppet et état du projet
Démo puppet et état du projetDémo puppet et état du projet
Démo puppet et état du projet
 
Cours de microcontrôleurs
Cours de microcontrôleursCours de microcontrôleurs
Cours de microcontrôleurs
 
Apache kafka big data track
Apache kafka   big data trackApache kafka   big data track
Apache kafka big data track
 
Apache Kafka, Un système distribué de messagerie hautement performant
Apache Kafka, Un système distribué de messagerie hautement performantApache Kafka, Un système distribué de messagerie hautement performant
Apache Kafka, Un système distribué de messagerie hautement performant
 
Chapitre 3-architecture-des-dsp
Chapitre 3-architecture-des-dspChapitre 3-architecture-des-dsp
Chapitre 3-architecture-des-dsp
 
Démystifier la programmation avec LabVIEW FPGA
Démystifier la programmation avec LabVIEW FPGADémystifier la programmation avec LabVIEW FPGA
Démystifier la programmation avec LabVIEW FPGA
 
Ez18n Annotation Processing Tool in a nutshell
Ez18n Annotation Processing Tool in a nutshellEz18n Annotation Processing Tool in a nutshell
Ez18n Annotation Processing Tool in a nutshell
 
Net duino et le .net micro framework
Net duino et le .net micro frameworkNet duino et le .net micro framework
Net duino et le .net micro framework
 
Isbs slides 2010
Isbs slides 2010Isbs slides 2010
Isbs slides 2010
 
_JCVFr
_JCVFr_JCVFr
_JCVFr
 

Dernier

Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfachrafbrahimi1
 
Computer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxComputer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxRayane619450
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaireTxaruka
 
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...Faga1939
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...Nguyen Thanh Tu Collection
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprisesMajdaKtiri2
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfabatanebureau
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne FontaineTxaruka
 
Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfssuserc72852
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.Txaruka
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film françaisTxaruka
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film françaisTxaruka
 

Dernier (13)

Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdf
 
Computer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxComputer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptx
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaire
 
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
 
Evaluación Alumnos de Ecole Victor Hugo
Evaluación Alumnos de Ecole  Victor HugoEvaluación Alumnos de Ecole  Victor Hugo
Evaluación Alumnos de Ecole Victor Hugo
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprises
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne Fontaine
 
Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdf
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film français
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film français
 

Chapitre3 prog dsplf3

  • 1. Développement pour une plateforme DSP  Mise au point de l ’algorithme  Prototypage, simulation haut-niveau  Matlab  Langage C sur PC  Implémentation DSP  Développement sur carte d'évaluation  Langage C  Cartes EVM, SDK  Noyau temps-réel (DSP/BIOS)  Optimisation des parties critiques  Assembleur  Outils de débogage  Simulateur  Émulateur  Boundary scan JTAG (Norme IEEE 1179.1)  Communication temps-réel avec un PC hôte 2
  • 2. Développement pour un DSP Outils de Compilateur *.asm conception *.c C IDE *.asm Assembleur *.obj *.lst Editeur de Texte *.cmd Linker *.out *.map  Simulateur *.hex  DSP Chargement sur la cible 3
  • 3. C vs. assembleur  Assembleur  Langage C  Langage bas-niveau  Langage de plus haut-  Fastidieux niveau  Jeux d’instructions  Plus rapide à coder complexes et irréguliers  Meilleure portabilité  Spécifique à chaque  Code machine généré constructeur moins efficace  Plus puissant  Malgré l’optimisation par  Accès direct à certains le compilateur registres inconnus du C  Outils de développement  Nécessaire pour une  Noyau temps-réel optimisation poussée (DSP/BIOS)  Configuration de la carte  Librairies de calculs optimisées (DSPLIB) 4
  • 4. Outils d'aide au développement User Application Drivers DSP/BIOS™ Dsplib CSL Kernel/Scheduler Imglib CODEC Timer McBSP EMIF CPU DSP DIP Switches Target Board 5
  • 5. CSL (Chip Support Library)  Librairie pour faciliter C67x™ DSP Modules l'utilisation des CHIP périphériques internes du DAA DSP  Plateformes C5000 et C6000 DAT Texas Instruments DMA  Accessible depuis le EBUS langage C GPIO  Organisation en modules HPI  Un module par périphérique IRQ MCBSP PLL PWR UART WDTIM 6
  • 6. Avantages d'une librairie de support de type CSL  Abstraction du matériel à travers une API logicielle  Configuration  Accès aux ressources  Macros pour accéder au niveau des contenus de registres  Intégré au noyau temps-réel DSP/BIOS  Interface graphique CSL  Facilitation du développement  Méthodes standards d'accès aux périphériques  Temps de développement réduit  Programmation à plus haut-niveau  Utile pour compenser l'augmentation de la complexité des processeurs et des applications 7
  • 7. Librairies spécialisées (DSPLIB, IMGLIB)  Librairies de support pour le calcul  Traitement du signal ou des images  Déjà programmées  Optimisées  Utilisables depuis le langage C  Fonctionnalités de base  FFT  Filtrage  Mathématiques et trigonométrie  Calcul matriciel 8
  • 8. Propriétés des systèmes temps-réel  Piloté par évènements  Synchrones (chronomètre)  Asynchrones (interruptions des E/S)  Contraint dans le temps  Contraintes dures (deadlines critiques)  Contraintes souples (deadlines non critiques)  Concurrence de l'exécution  Contraintes sur plusieurs traitements en parallèle  Nécessite un ordonnancement  multi-tâches (plusieurs traitements à la fois)  préemptif (toute tâche peut être interrompue par une tâche plus prioritaire)  Déterministe et fiable  Comportement du système prédictible  Temps de réponse bornés 9
  • 9. Système temps-réel DSP BIOS  Noyau temps-réel  Ordonnanceur temps-réel  Gestion multi-threads préemptive  Outils d'analyse temps-réel  Débogage sans interruption de l'exécution  Profiling, vision des threads  Intégration avec  Real-time data exchange (RTDX)  Communication hôte↔DSP pendant l'exécution  Chip Support Library (CSL) 10
  • 10. Stratification des traitements sous DSP/BIOS Hard Real-time 1st-TIER Interruptions matérielles  Traitement par échantillon  Réaction à la microseconde 2nd-TIER Interruptions logicielles  Traitement par blocs  Réaction à la milliseconde  Traitements ordonnancés Multi-tâche  Exécution concurrente Tâche de fond (idle)  S'il reste du temps Soft Real-time 11
  • 11. Mise en œuvre et implémentation de filtres RIF et RII 12
  • 12. Méthodologie d'implantation d'un filtre  Étape 0 : Choix du filtre  Choix du filtre et calcul des coefficients  Étape 1 : Choix de structure  Choix d'un schéma d'implantation  Écriture des équations correspondantes  Étape 2 : Choix algorithmiques  Choix de l'implantation mémoire et des variables  Écriture de l'algorithme  Étape 3 : Choix numériques  Choix du format Qk  Écriture du programme  Étape 4 : Validation  Définir un protocole de test et l'appliquer  Etape 5 : Optimisation 13
  • 13. Étape 1 : Schéma et équations |H(f )| pass-band stop-band 1 fc : cut-of f f requency fs/2 f (norm) (a) |H(f )| pass-band transition band stop-band |H(f )| (dB) (linear) p 1   p 0 1 1   p pass-band -3 ripple stop-band ripple s  s fs/2 f (norm) fs b : stop-band f requency fc : cut-of f f requency fpb : pass-band f requency (b)
  • 14. Méthodes de synthèse d'un filtre  Il existe de nombreuses méthodes  Méthode de la fenêtre  Optimisation par moindres carrés  Calcul des coefficients par approximation de tchebycheff  Par TFD récursive  etc.
  • 21. Étape 1 : Schéma et équations Exemple sur une cellule RII du 2e ordre s wn b0 xn yn z-1 -a1 w b1 wn  sxn  a1wn1  a2 wn2 n-1 z-1 yn  b0 wn  b1wn1  b2 wn2 -a2 b2 Équations correspondantes wn-2 Forme directe II 22
  • 22. Étape 2 : Variables et algorithme Entrées : coefs dbuffer x (contient xn) 0 s 0 wn-1 w(n-1) dbuffer (contient wn-1 et wn-2) coefs (contient les coefficients) 1 a1 1 wn-2 w(n-2) Variable temporaire : 2 a2 tableau des w (recevra wn) 3 b2 retards Calcul 4 b1 wn ← s * xn – a1 * w(n-1) – a2 * w(n-2) 5 b0 xn x y ← b0 * wn + b1 * w(n-1) + b2 * w(n-2) tableau des Mise à jour retards ? puis yn y coefficients w(n-2) ← w(n-1) ? puis wn w w(n-1) ← wn variables Sorties : temporaires y (reçoit yn) dbuffer (contient wn'-1 et wn'-2 pour n'=n+1) État de la mémoire lors de l'appel de la fonction 23
  • 23. Étape 3 : Format Qk et programme C int coefs[6]; x(n) Q15 int dbuffer[2]; s Q15 int cellule(int x) { ai Q15 int w; int y; bi Q15 /* Calcul */ wk Q15 w=((long)coefs[0]*x +(long)coefs[1]*dbuffer[0] –(long)coefs[2]*dbuffer[1]) >> 15; y=((long)coefs[5]*w +(long)coefs[4]*dbuffer[1] Conversion algorithme (calcul sur des réels) +(long)coefs[3]*dbuffer[0]) >> 15; vers programme (calcul en format Qk) /* Mise à jour retards */ dbuffer[1]=dbuffer[0]; s*x dbuffer[0]=w; devient /* Sortie */ (coefs[0]*x)>>15 return y; pour un résultat en Q15 } 24
  • 24. Étape 3 : Programme détaillé  Si programmation ACC=x(n)  s en assembleur, ACC=ACC - a1  w(n-1) nécessité de ACC=ACC - a2  w(n-2) décomposer en w(n)=ACC>>15 ACC=w(n)  b0 calculs élémentaires ACC=ACC + b2  w(n-2)  Algorithmedétaillé ACC=ACC + b1  w(n-1)  Conversion en y(n)=ACC>>15 assembleur w(n-2)=w(n-1) w(n-1)=w(n) 25
  • 25. Implantation mémoire pour cellules en cascade coefs dbuffer 0 w1(n-1) 0 s cellule 1 1 w1(n-2) 1 a11 2+1 w2(n-1) 2 a12 cellule 2 cellule 1 2+2 w2(n-2) … b12 … b11 5 b10 5+1 a21 5+2 a22 … b22 cellule 2 b21 b20 26
  • 26. Filtres RIF Structure transverse Implémentation par Buffer linéaire Buffer circulaire 27
  • 27. Structures pour filtre RIF  Structure transverse avec ligne à retard y n   b0 xn   b1 xn  1  ....  bN 1 xn  N  1 -1 -1 -1 x(n) z z z b b b b 0 1 2 N-1 + + + y (n)  Structure en treillis (filtres adaptatifs) y0(n) y1(n) y2(n) y3(n) + + + x(n) k1 k2 k3 u1(n) u2(n) u3(n) u0(n) z-1 + z-1 + z-1 + yi(n) = yi-1(n) + ki ui-1(n) et ui(n) = k1 yi-1(n) + ui-1(n-1) avec y0(n)=u0(n)=x(n). 28
  • 28. Structures pour filtre RIF  Structures en cascade: N 1  k  b  b z  1  b z  2  ... b   N  1 H z      bk z z   0 1 2 N 1 k 0   N  1 z   N  1  b 1 b  2 b   b 1  1 z  2 z  ...   0 b b b   0 0 0  M  b  1  b z  1  b  z 2   0 k 1  k ,1 k ,2  x(n) b0 y (n) + + + z -1 z -1 z -1 b 1,1 b 2,1 b M,1 + + + z -1 z -1 z -1 b 1,2 b 2,2 b M,2 29
  • 29. Filtre RIF par structure transverse  Deux aspects  Mise à jour de la mémoire  A chaque réception d’une nouvelle donnée x(n)  Calcul du filtre  ACCU=0  for i=0 to N-1:  ACCU ← ACCU + h(i) x(n-i)  Sortie de y(n)=ACCU 30
  • 30. N 1 y n    bi xn  i  Buffer linéaire i 0 Schéma "état mémoire" Schéma de structure de filtre x(n) y(n) xtab xtab 0 x(n-1) 0 x(n) b0 1 x(n-2) 1 x(n-1) b1 … 2 x(n-2) b2 … … … … … … … … … N-2 x(n-N+1) N-2 x(n-N+2) bN-2 N-1 x(n-N) N-1 x(n-N+1) bN-1 x(n-N) Mise à jour du buffer Calcul de y(n) 31
  • 31. N 1 y n    bi xn  i  Buffer circulaire i 0 Schéma "état mémoire" Schéma de structure de filtre x(n) y(n) xtab xtab 0 x(n-k+1) 0 x(n-k+1) bk+1 1 … 1 … … x(n-N+1) x(n-N+1) bN-1 x(n-N) idx x(n) b0 idx x(n-1) x(n-1) b1 x(n-2) x(n-2) b2 N-2 … N-2 … … N-1 x(n-k) N-1 x(n-k) bk Mise à jour du buffer Calcul de y(n) 32
  • 32. Quantification des coefficients RIF  Virgule fixe: N 1  B=16 bits pour h(i) , x(n-i) et y(n) y n    hi xn  i  i 0  40 bits pour les accumulateurs  Représentation Qk  Coefficient de magnitude maximale:  hmax = max |h(i)|  Nombre de bits nécessaires pour la partie entière :  BE = log2(hmax)  Codage Qk avec k = B – BE  h(i) = round(h(i)/2k) 33
  • 33. Filtre RIF avec buffer circulaire en assembleur N 1 y n    hi xn  i  N .set 32 ; adr_x+d supposé chargé i 0 dans AR2 Adresses Contenu STM #(coef)+N-1, AR3 Adresses Contenu k = adr_x x(n-N+d-1) STM #(adr_y), AR5 i = coef h(N-1) …… …… i +1 h(N-2) k+d-1 x(n-N+1) STM #N, BK STM #1, AR0 i+2 h(N-3) k+d x(n) …… …… …… …… RPTZ A, #N-1 i+N-1 h(0) k+N x(n-N+d) MAC *AR2+0%, *AR3-, A Mémoire Programme Mémoire Données STH A, *AR5 Rmq: les log2(N) bits de poids faible de adr_x doivent être nuls 34
  • 34. Exemple d’implémentation d’un filtre RIF en Q15 short fir_filter (short input) { int i; short output; int acc=0; int prod; R_in[0] = input; /* lire les valeurs des échantillons */ acc = 0; /* initialisation de l’acc à zéro*/ for (i=0; i<128; i++) { prod = (h[i]*R_in[i]); /* Q.15 */ acc = acc + prod; /* mise a jour des 32-bit de l’acc */ } output = (short) (acc>>15); /* mise en forme de l’output (16-bits) */ for (i=127; i>0; i--) /* décalage des échantillons */ R_in[i]=R_in[i-1]; return output; }
  • 35. Filtres RII Structures de filtres Décomposition en élements simples Problèmes de quantification 36
  • 36. Filtre RII  Fonction de transfert rationnelle Q N(z)  bi z i i0 H(z)   P D( z ) 1   ak z  k k 1  Equation aux différences Q P yn   bi xni   ak ynk i 0 k 1 37
  • 37. Filtre RII – Pôles et zéros  Zéros au numérateur   Q Q  bi z  b0  1  zi z 1 i 0 i i 0  Pôles au dénominateur   P P 1   ai z   1  pi z 1 i i 1 i 0 38
  • 38. Forme directe I (ND) Q P yn   bi xni   ak yn k b0 xn yn z-1 z-1 i 0 k 1 b1 -a1 z-1 -a2 z-1 b2 1 z-1 z-1 H ( z)  N ( z) b3 -a3 D( z ) •Forme non canonique : •Nécessite Q+P mémoires z-1 z-1 bQ-1 -aQ-1 Forme directe I (ND) 39
  • 39. Forme directe II (DN) b0 xn yn 1 -a1 z-1 b1 H ( z)  N ( z) D( z ) z-1 -a2 b2 •Forme canonique •Nécessite max(Q,P) mémoires -a3 z-1 b3 z-1 -aQ-1 bQ-1 Forme directe II (DN) 40
  • 40. Forme directe II transposée b0 b0 xn yn xn yn z-1 z-1 -a1 b1 b1 -a1 z-1 -a2 b2 z-1 b2 -a2 z-1 -a3 b3 z-1 b3 -a3 z-1 z-1 -aQ-1 bQ-1 bQ-1 -aQ-1 Forme directe II Forme directe II transposée 41
  • 41. Quantification des coefficients b0 xn yn -a1 z-1 b1 ak  ak  ak z-1 -a2 b2 -a3 z-1 b3 bk  bk  bk Quantification d’un coef : z-1 -aQ-1 bQ-1 aq = round(a*q)/q avec un pas de quantification q=2-k Forme directe II 42
  • 42. Quantification des coefficients Q N(z)  bi z i i0 H(z)   a k  a k  a k P D( z ) 1   ak z  k k 1 Le dénominateur quantifié devient : Q 1 Q 1  D  z   1   ak z  k   1  pl z 1  k 1 l 1 La fonction de transfert est donc perturbée. Plus le degré du polynôme est élevé, plus la fonction de transfert sera perturbée. 43
  • 43. Décomposition d’un filtre RII  en sections du deuxième ordre  choisies pour leur stabilité  coefficients réels (racines conjuguées) Structure parallèle Structure cascade c0 b0  b1 z 1 b0  b1 z 1  b2 z 2 b0  b1 z 1  b2 z 2 xn 1  a1 z 1  a2 z  2 1  a1 z 1  a2 z  2 yn 1  a1 z 1  a2 z  2 xn yn b0  b1 z 1 1  a1 z 1  a2 z  2 Factorisation Expansion partielle B( z ) N 1 1  bi 1 z 1  bi 2 z 2  b0  1 B( z ) N 1 bi 0  bi 1 z 1 A( z ) i  0 1  ai 1 z  ai 2 z  2  c0   1 A( z ) i 0 1  ai 1 z  ai 2 z  2 44
  • 44. Décomposition en cascade x(n) s0 s1 s2 s3 y(n) H1 H2 H3 B( z ) N 1 1  bi1 z 1  bi 2 z 2  b0  1 2  b0 H1 ( z ) H 2 ( z ) H 3 ( z ) A( z ) i 0 1  ai1 z  ai 2 z avec : 1  bi1 z 1  bi 2 z 2 et s0 s1s2 s3  b0 H i ( z)  1  ai1 z 1  ai 2 z 2 45