Processeurs de signaux Chapitre 1 Introduction aux...

Post on 12-Sep-2018

228 views 2 download

Transcript of Processeurs de signaux Chapitre 1 Introduction aux...

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Processeurs de signaux

Chapitre 1Introduction aux processeurs de signaux

Michel ETIQUE

Michel.Etique@eivd.ch

Haute Ecole d’Ingénieurs et de Gestion du canton de Vaud (HEIG-Vd)

Département d’électricité et d’informatique

institut d’Automatisation industrielle (iAi)

Processeurs de signaux – p. 1/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Organisation du cours (EIT5)

Processeurs de signaux 4h par semaine, se-mestre 6, trimestreno 2

Théorie, exercices, mini-projet2 TEs

Processeurs de signaux – p. 2/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Cours

Cours sous forme informatique :http ://iai.eivd.ch/users/mee/Processeurs_signaux.htm

Processeurs de signaux – p. 3/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Performances des processeurs de signaux

Fabricants :Texas InstrumentsAnalog DevicesMotorolaAT&TNEC

Processeurs de signaux – p. 4/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Applications des processeurs de signaux

Processeurs de signaux – p. 5/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Applications des processeurs de signaux

Filtrage classique (filtres FIR et IIR)Traitement d’imageTraitement et le codage de la paroleTransformée de Fourier rapide (FFT)Techniques d’audio digitale (lecteur CD)Compression de données (modulations numériques,

codage d’image JPEG)Applications d’automatisation (régulateur, algorithme de

commande de servo-moteurs)=⇒ traitement numérique de signal

Processeurs de signaux – p. 5/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Caractéristiques des applications de traitement numérique de signal

Requièrent, pour l’implantation desalgorithmes, un nombre d’opérationsmathématiques important

Processeurs de signaux – p. 6/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Caractéristiques des applications de traitement numérique de signal

Requièrent, pour l’implantation desalgorithmes, un nombre d’opérationsmathématiques important

Nécessitent un fonctionnement en tempsréel (hard real time)

Processeurs de signaux – p. 6/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Caractéristiques des applications de traitement numérique de signal

Requièrent, pour l’implantation desalgorithmes, un nombre d’opérationsmathématiques important

Nécessitent un fonctionnement en tempsréel (hard real time)

Concernent des systèmes échantillonnés

Processeurs de signaux – p. 6/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Caractéristiques des applications de traitement numérique de signal

Requièrent, pour l’implantation desalgorithmes, un nombre d’opérationsmathématiques important

Nécessitent un fonctionnement en tempsréel (hard real time)

Concernent des systèmes échantillonnés

Exigent une certaine flexibilitéd’implémentation

Processeurs de signaux – p. 6/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Algorithmes mathématiques : exemple

u ( t )s i g n a l a n a l o g i q u e

y ( t )s i g n a l a n a l o g i q u e

s y s t è m e a n a l o g i q u e !

C i c u i t é l e c t r o n i q u e

G ( s )f _ 0 1 a _ 0 3 . e p s

Fonction de transfert d’un filtre analogique d’ordre 2 :

G(s) =Y (s)

U(s)=

1

1 + A1 · s + A2 · s2

Processeurs de signaux – p. 7/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Algorithmes mathématiques : exemple

u ( t )s i g n a l a n a l o g i q u e

y ( t )s i g n a l a n a l o g i q u e

s y s t è m e a n a l o g i q u e !

C i c u i t é l e c t r o n i q u e

G ( s )f _ 0 1 a _ 0 3 . e p s

Fonction de transfert d’un filtre analogique d’ordre 2 :

G(s) =Y (s)

U(s)=

1

1 + A1 · s + A2 · s2

Equation différentielle :

A2 ·d2y

dt2+ A1 ·

dy

dt+ y(t) = u(t)

Processeurs de signaux – p. 7/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Algorithmes mathématiques : exemple

Réponse indicielle du filtre

0 1 2 3 4 5 6 7 80

0.2

0.4

0.6

0.8

1

1.2

1.4

t [s]

Réponse indicielle d’un filtre de Butterworth d’ordre 2

f_fil_a_al_1.epsProcesseurs de signaux – p. 8/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Algorithmes mathématiques : exemple

Réponse fréquentielle du filtre

10−1

100

101

−40

−20

0Réponse harmonique d’un filtre de Butterworth d’ordre 2

gain

[dB

]

10−1

100

101

−180

−135

−90

−45

0

ω [rad/s]

phas

e [d

egré

]

f_fil_a_al_2.epsProcesseurs de signaux – p. 8/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Algorithmes mathématiques : exemple

A2 ·

d2y

dt2+ A1 ·

dy

dt+ y(t) = u(t)

Sous forme discrétisée, en remplaçant t par k · h :

u(t) −→ u(k · h)

y(t) −→ y(k · h)

dy

dt−→

y(k · h) − y(k · h − h)

h

d2y

dt2−→

y(k·h)−y(k·h−h)h

−y(k·h−h)−y(k·h−2·h)

h

h

� � � �

Processeurs de signaux – p. 9/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Algorithmes mathématiques : exemple

A2 ·

d2y

dt2+ A1 ·

dy

dt+ y(t) = u(t)

Sous forme discrétisée, en remplaçant t par k · h :

u(t) −→ u(k · h)

y(t) −→ y(k · h)

dy

dt−→

y(k · h) − y(k · h − h)

h

d2y

dt2−→

y(k·h)−y(k·h−h)h

−y(k·h−h)−y(k·h−2·h)

h

h

Equation aux différences :�A2

h2+

A1

h+ 1

�· y(k · h) +

�−2 ·

A2

h2−

A1

h

· y(k · h − h)

+A2

h2· y(k · h − 2 · h) = u(k · h)

Processeurs de signaux – p. 9/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Algorithmes mathématiques : exemple

Mise en forme :

y(k ·h)+ a1 · y(k ·h−h)+ a2 · y(k ·h− 2 ·h) = b0 ·u(k ·h)

Processeurs de signaux – p. 10/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Algorithmes mathématiques : exemple

Mise en forme :

y(k ·h)+ a1 · y(k ·h−h)+ a2 · y(k ·h− 2 ·h) = b0 ·u(k ·h)

Sortie du filtre numérique à l’instant présent :

y(k ·h) = −a1 ·y(k ·h−h)−a2 ·y(k ·h−2 ·h)+ b0 ·u(k ·h)

Processeurs de signaux – p. 10/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Algorithmes mathématiques : exemple

Mise en forme :

y(k ·h)+ a1 · y(k ·h−h)+ a2 · y(k ·h− 2 ·h) = b0 ·u(k ·h)

Sortie du filtre numérique à l’instant présent :

y(k ·h) = −a1 ·y(k ·h−h)−a2 ·y(k ·h−2 ·h)+ b0 ·u(k ·h)

ADu ( t )

s i g n a l d i s c r e ts i g n a l a n a l o g i q u e

u ( k )

ADy ( k )

y ( t )s i g n a l d i s c r e t

s i g n a l a n a l o g i q u e

A l g o r i t h m e d e t r a i t e m e n t f i l t r a g e n u m é r i q u e F F T r é g u l a t e u r c o d a g e c o m p r e s s i o ni m p l a n t é s u r D S P

v u d e l ' e x t é r i e u r c o m m e u n s y s t è m e a n a l o g i q u e !

S y s t è m e d ' a c q u i s i t i o n( c o n v e r t i s s e u r A / D ,p o r t s é r i e , e t c )

S y s t è m e d e t r a n s m i s s i o n( c o n v e r t i s s e u r D / A ,p o r t s é r i e , e t c )

P r o c e s s e u r d e s i g n a l

f _ 0 1 a _ 0 2 . e p s Processeurs de signaux – p. 10/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Algorithmes mathématiques : exemple

h constant =⇒ notation allégée :Equation aux différences :

y(k · h) + a1 · y(k · h− h) + a2 · y(k · h− 2 · h) = b0 · u(k · h)

Processeurs de signaux – p. 11/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Algorithmes mathématiques : exemple

h constant =⇒ notation allégée :Equation aux différences :

y(k) + a1 · y(k − 1) + a2 · y(k − 2) = b0 · u(k)

Processeurs de signaux – p. 11/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Algorithmes mathématiques : exemple

h constant =⇒ notation allégée :Equation aux différences :

y(k) + a1 · y(k − 1) + a2 · y(k − 2) = b0 · u(k)

Sortie du filtre numérique à l’instant présent :

y(k ·h) = −a1 · y(k ·h−h)− a2 · y(k ·h− 2 ·h)+ b0 ·u(k ·h)

Processeurs de signaux – p. 11/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Algorithmes mathématiques : exemple

h constant =⇒ notation allégée :Equation aux différences :

y(k) + a1 · y(k − 1) + a2 · y(k − 2) = b0 · u(k)

Sortie du filtre numérique à l’instant présent :

y(k) = −a1 · y(k − 1) − a2 · y(k − 2) + b0 · u(k)

Processeurs de signaux – p. 11/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Algorithmes mathématiques : exemple

h constant =⇒ notation allégée :Equation aux différences :

y(k) + a1 · y(k − 1) + a2 · y(k − 2) = b0 · u(k)

Sortie du filtre numérique à l’instant présent :

y(k) = −a1 · y(k − 1) − a2 · y(k − 2) + b0 · u(k)

ADu ( t )

s i g n a l d i s c r e ts i g n a l a n a l o g i q u e

u ( k )

ADy ( k )

y ( t )s i g n a l d i s c r e t

s i g n a l a n a l o g i q u e

A l g o r i t h m e d e t r a i t e m e n t f i l t r a g e n u m é r i q u e F F T r é g u l a t e u r c o d a g e c o m p r e s s i o ni m p l a n t é s u r D S P

v u d e l ' e x t é r i e u r c o m m e u n s y s t è m e a n a l o g i q u e !

S y s t è m e d ' a c q u i s i t i o n( c o n v e r t i s s e u r A / D ,p o r t s é r i e , e t c )

S y s t è m e d e t r a n s m i s s i o n( c o n v e r t i s s e u r D / A ,p o r t s é r i e , e t c )

P r o c e s s e u r d e s i g n a l

f _ 0 1 a _ 0 2 . e p s Processeurs de signaux – p. 11/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Algorithmes mathématiques : exemple

/∗ rou t ine d ’ i n t e r r u p t i o n act ivee à chaque i n s ta n t d ’ echant i l lonnage ∗ /void i n t e r r u p t f i l t r e ( ){

s ta t i c f loa t y [ 3 ] ; /∗ tableau contenant y ( k ) , y ( k−1) et y ( k−2)∗/f l oa t u ; /∗ entree echan t i l l onnee ∗ /

/∗ l i t le r é s u l t a t de la conversion A/ D∗ /u = AD_lec ( ) ;

/∗ algor i thme ∗ /y [0 ] = − a1∗y [1 ] − a2∗y [ 2 ] + b0∗u ;

/∗ lance la conversion D/ A de y ( k )∗ /DA_conv( y [ 0 ] ) ;

/∗ mise a jour des so r t i e s memoriseespour l ’ i n s ta n t d ’ echant i l lonnage su ivant ∗ /

y [ 2 ] = y [ 1 ] ;y [ 1 ] = y [ 0 ] ;

}

Processeurs de signaux – p. 12/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Algorithmes mathématiques : généralisation

y(k) = −

n∑

i=1

ai · y(k − i) +n∑

j=0

bj · u(k − j)

=⇒ Opérations typiques :

somme de produitsdécalages

Processeurs de signaux – p. 13/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Filtre FIR

Processeurs de signaux – p. 14/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Filtre IIR

Processeurs de signaux – p. 15/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Traitement en temps réel

Traitement en temps réel "hard"

L’algorithme mathématique doit s’exécuter sans provoquerde retard ≥ h, de façon à garantir l’échantillonnagerégulier des grandeurs d’entrée de même que la mise àjour des grandeurs de sortie :

Traitement de la parole (traduction)FiltrageRégulation

Processeurs de signaux – p. 16/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Traitement en temps réel de la parole

Processeurs de signaux – p. 17/69

�J

I�

A

i

iutomatisation

n s t i t u t d '

n d u s t r i e l l e

Traitementen

temps

réel

L e c t u r e e t t r a i t e m e n t d u r é s u l t a td e l ' a c q u i s i t i o n ( = > y ( k ) )

E x é c u t i o n d e l ' a l g o r i t h m e d et r a i t e m e n t = > u ( k ) = f ( w ( k ) , w ( k - 1 ) , . . . , y ( k ) , y ( k - 1 ) , . . . ) )T r a n s m i s s i o n d u r é s u l t a t( L a n c e m e n t d ' u n e c o n v e r s i o n D / A , é c r i t u r e s u r r e g i s t r e d ' é m i s s i o n d u p o r t s é r i e , e t c )

T â c h e s d e f o n d ( n o n t e m p s r é e l )

kk+1

h

TconvAD

TconvDA

Tcalcul

L a n c e m e n t d ' u n e a c q u i s i t i o n( c o n v e r s i o n A / D , l e c t u r e d u r e g i s t r e d er é c e p t i o n d u p o r t s é r i e , e t c )

t

kk+1

t

Signal d'horloge(base de tempspour définir h)

Tâches

e t c

i n t e r ru p t i o n

L a n c e m e n t d ' u n e a c q u i s i t i o n( c o n v e r s i o n A / D , l e c t u r e d u r e g i s t r e d er é c e p t i o n d u p o r t s é r i e , e t c )

f_01a_01.eps

Processeurs

designaux

–p.18/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Traitement en temps réel : régulation numérique

Aw ( k h )

y ( k h )

u ( t ) x ( t )u ( k h )

A N A L O G I Q U EN U M E R I Q U E

A L G O R I T H M ES Y S T E M E

AR E G L E R

H O R L O G E

y ( k h )

k h

t

w ( k h )

k h t

ht

y ( t )

v ( t )

n ( t )

c o n s i g n e

b r u i t s u r l a m e s u r e

g r a n d e u r r é g l é e

c o m m a n d ec o m m a n d e

p e r t u r b a t i o n

D

D

A S

u ( k h )

k h

f _ 0 1 a _ 0 5 . e p s

Processeurs de signaux – p. 19/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Traitement par lot

Processeurs de signaux – p. 20/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Fonctionnement sur interruption

Facteur important : temps de latenced’interruption dépend de l’architecture,notamment de la mise en pipeline desinstructions

Processeurs de signaux – p. 21/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Traitement comme système échantillonné

L’application à implanter doit pouvoir être traitéecomme un système échantillonné, bien qu’étantsouvent intrinsèquement analogique =⇒

Discrétisation possible de l’axe du temps,t = k · h

Théorie nécessaire pour gérer le passage dudomaine analogique au domaine échantillonné

Processeurs de signaux – p. 22/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Traitement comme système échantillonné

AD A D y ( k )u ( t ) y ( t )

u ( k ) G ( s )

H ( z )f _ 0 1 a _ 0 7 . e p s

u ( k ) y ( k )

H(z) =Y (z)

U(z)=

(1 − z−1

)· Z

{

L−1

(G(s)

s

)}

Processeurs de signaux – p. 24/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Traitement comme système échantillonné

Application Fréquence d’échan-tillonnage fe = 1

hty-

pique

Régulation 1 [kHz]

Télécommunications 8 [kHz]

Traitement de la parole 8 . . . 10 [kHz]

Traitement audio 40 . . . 48 [kHz]

Mise à jour d’écran video 50 . . . 100 [Hz]

Mise à jour des pixels 14 [MHz]

Processeurs de signaux – p. 25/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Flexibilité

Flexibilité nécessaire :

Pour être à jour avec l’état de l’art (domaine du TdS enconstante évolution, cf biomédical)Pour être en mesure de faire évoluer un produit à

moindre coût et prolonger ainsi sa durée de viePour implanter facilement ses propres techniques de

traitement=⇒ Solution logicielle basée sur un microprocesseur =

meilleur moyen de garantir une bonne flexibilité

Processeurs de signaux – p. 26/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Avantages/inconvénients de l’utilisation de DSPs

Sans précautions particulières, insertion denon-linéarités, dues à la quantification desconvertisseurs, à la précision de calcul finie duprocesseur et au procédé d’échantillonnage(recouvrement spectral)

Processeurs de signaux – p. 27/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Avantages/inconvénients de l’utilisation de DSPs

Insertion de retards purs :

ADu ( t )

s i g n a l d i s c r e ts i g n a l a n a l o g i q u e

u ( k )

ADy ( k )

y ( t )s i g n a l d i s c r e t

s i g n a l a n a l o g i q u e

A l g o r i t h m e d e t r a i t e m e n t f i l t r a g e n u m é r i q u e F F T r é g u l a t e u r c o d a g e c o m p r e s s i o ni m p l a n t é s u r D S P

v u d e l ' e x t é r i e u r c o m m e u n s y s t è m e a n a l o g i q u e !

S y s t è m e d ' a c q u i s i t i o n( c o n v e r t i s s e u r A / D ,p o r t s é r i e , e t c )

S y s t è m e d e t r a n s m i s s i o n( c o n v e r t i s s e u r D / A ,p o r t s é r i e , e t c )

P r o c e s s e u r d e s i g n a l

f _ 0 1 a _ 0 2 . e p s

Processeurs de signaux – p. 28/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Avantages/inconvénients de l’utilisation de DSPs

Insertion de retards purs :temps de conversion A/D

ADu ( t )

s i g n a l d i s c r e ts i g n a l a n a l o g i q u e

u ( k )

ADy ( k )

y ( t )s i g n a l d i s c r e t

s i g n a l a n a l o g i q u e

A l g o r i t h m e d e t r a i t e m e n t f i l t r a g e n u m é r i q u e F F T r é g u l a t e u r c o d a g e c o m p r e s s i o ni m p l a n t é s u r D S P

v u d e l ' e x t é r i e u r c o m m e u n s y s t è m e a n a l o g i q u e !

S y s t è m e d ' a c q u i s i t i o n( c o n v e r t i s s e u r A / D ,p o r t s é r i e , e t c )

S y s t è m e d e t r a n s m i s s i o n( c o n v e r t i s s e u r D / A ,p o r t s é r i e , e t c )

P r o c e s s e u r d e s i g n a l

f _ 0 1 a _ 0 2 . e p s

Processeurs de signaux – p. 28/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Avantages/inconvénients de l’utilisation de DSPs

Insertion de retards purs :temps de conversion A/Dtemps d’exécution de l’algorithme de traitement designal

ADu ( t )

s i g n a l d i s c r e ts i g n a l a n a l o g i q u e

u ( k )

ADy ( k )

y ( t )s i g n a l d i s c r e t

s i g n a l a n a l o g i q u e

A l g o r i t h m e d e t r a i t e m e n t f i l t r a g e n u m é r i q u e F F T r é g u l a t e u r c o d a g e c o m p r e s s i o ni m p l a n t é s u r D S P

v u d e l ' e x t é r i e u r c o m m e u n s y s t è m e a n a l o g i q u e !

S y s t è m e d ' a c q u i s i t i o n( c o n v e r t i s s e u r A / D ,p o r t s é r i e , e t c )

S y s t è m e d e t r a n s m i s s i o n( c o n v e r t i s s e u r D / A ,p o r t s é r i e , e t c )

P r o c e s s e u r d e s i g n a l

f _ 0 1 a _ 0 2 . e p s

Processeurs de signaux – p. 28/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Avantages/inconvénients de l’utilisation de DSPs

Insertion de retards purs :temps de conversion A/Dtemps d’exécution de l’algorithme de traitement designaltemps de conversion D/A

ADu ( t )

s i g n a l d i s c r e ts i g n a l a n a l o g i q u e

u ( k )

ADy ( k )

y ( t )s i g n a l d i s c r e t

s i g n a l a n a l o g i q u e

A l g o r i t h m e d e t r a i t e m e n t f i l t r a g e n u m é r i q u e F F T r é g u l a t e u r c o d a g e c o m p r e s s i o ni m p l a n t é s u r D S P

v u d e l ' e x t é r i e u r c o m m e u n s y s t è m e a n a l o g i q u e !

S y s t è m e d ' a c q u i s i t i o n( c o n v e r t i s s e u r A / D ,p o r t s é r i e , e t c )

S y s t è m e d e t r a n s m i s s i o n( c o n v e r t i s s e u r D / A ,p o r t s é r i e , e t c )

P r o c e s s e u r d e s i g n a l

f _ 0 1 a _ 0 2 . e p s

Processeurs de signaux – p. 28/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Avantages/inconvénients de l’utilisation de DSPs

Insertion d’un retard supplémentaire dû à laconstruction imparfaite du signal analogique à partir dusignal numérique

Processeurs de signaux – p. 29/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Avantages/inconvénients de l’utilisation de DSPs

Insertion d’un retard supplémentaire dû à laconstruction imparfaite du signal analogique à partir dusignal numérique

Insertion d’un retard (déphasage) supplémentaire dû àla présence d’un filtre anti-repliement (voir cours detraitement de signal)

Processeurs de signaux – p. 29/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Avantages/inconvénients de l’utilisation de DSPs

Insertion d’un retard supplémentaire dû à laconstruction imparfaite du signal analogique à partir dusignal numérique

Insertion d’un retard (déphasage) supplémentaire dû àla présence d’un filtre anti-repliement (voir cours detraitement de signal)

Infrastructure logicielle lourde (émulateur, compilateur,assembleur, éditeur de liens)

Processeurs de signaux – p. 29/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Avantages/inconvénients de l’utilisation de DSPs

Pour un algorithme simple, grand nombre decomposants, d’une complexité supérieure

Processeurs de signaux – p. 30/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Avantages/inconvénients de l’utilisation de DSPs

Pour un algorithme simple, grand nombre decomposants, d’une complexité supérieure

A structure et identiques (par exemple filtre passe-basanalogique et filtre passe-bas numérique), le filtreanalogique offre des performances supérieures

Processeurs de signaux – p. 30/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Avantages/inconvénients de l’utilisation de DSPs

Quantification des convertisseurs :

0 y

y q

f _ 0 1 a _ 0 6 . e p s

D y q

Processeurs de signaux – p. 31/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Avantages/inconvénients de l’utilisation de DSPs

Battement (non respect du théorème de l’échantillonnage)

0 5 10 15 20 25 30 35 40 45 500

0.1

0.2

0.3

0.4

0.5

u(t)

, u(k

)

Sous−échantillonnage d’un signal analogique

0 5 10 15 20 25 30 35 40 45 500

0.1

0.2

0.3

0.4

0.5

y(t)

t [s], k

Reconstruction du signal analogique

f_01_matlab_43_44_4.eps

Processeurs de signaux – p. 32/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Avantages/inconvénients de l’utilisation de DSPs

0 5 10 15 20 25 30 35 40 45 500

0.1

0.2

0.3

0.4

0.5

u(t)

, u(k

)

Sous−échantillonnage d’un signal analogique

0 5 10 15 20 25 30 35 40 45 500

0.1

0.2

0.3

0.4

0.5

y(t)

t [s], k

Reconstruction du signal analogique

f_01_matlab_43_44_5.eps Processeurs de signaux – p. 32/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Avantages/inconvénients de l’utilisation de DSPs

0 5 10 15 20 25 30 35 40 45 500

0.1

0.2

0.3

0.4

0.5

u(t)

, u(k

)

Sous−échantillonnage d’un signal analogique

0 5 10 15 20 25 30 35 40 45 500

0.1

0.2

0.3

0.4

0.5

y(t)

t [s], k

Reconstruction du signal analogique

f_01_matlab_43_44_6.eps Processeurs de signaux – p. 32/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Avantages/inconvénients de l’utilisation de DSPs

0 5 10 15 20 25 30 35 40 45 500

0.1

0.2

0.3

0.4

0.5

u(t)

, u(k

)

Sous−échantillonnage d’un signal analogique

0 5 10 15 20 25 30 35 40 45 500

0.1

0.2

0.3

0.4

0.5

t [s], k

y(t)

Reconstruction du signal analogique

f_01_matlab_43_44_3.eps Processeurs de signaux – p. 32/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Avantages/inconvénients de l’utilisation de DSPs

Processeurs de signaux – p. 32/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Avantages/inconvénients de l’utilisation de DSPs

10 100 700 1300 10000−150

−140

−130

−120

−110

−100

−90

−80

f [Hz]

|YN

(ω)/

UN

(ω)|

[dB

] (f e=

8kH

z)

10 100 700 1300 100000

0.2

0.4

0.6

0.8

1

f [Hz]

|YN

(ω)/

UN

(ω)|

[dB

] (f e=

2kH

z)

f_replie_01_6.eps Processeurs de signaux – p. 32/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Avantages/inconvénients de l’utilisation de DSPs

10 100 700 1300 10000−150

−140

−130

−120

−110

−100

−90

−80

f [Hz]

|YN

(ω)/

UN

(ω)|

[dB

] (f e=

8kH

z)

10 100 700 1300 10000−150

−140

−130

−120

−110

−100

−90

−80

f [Hz]

|YN

(ω)/

UN

(ω)|

[dB

] (f e=

2kH

z)

f_replie_01_5.eps Processeurs de signaux – p. 32/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Comportement non-stationnaire

DAy ( k ) y ( t )

u ( k )

A L G O R I T H M E AD

u ( t )kt

H O R L O G E

f e

F I L T R E N U M E R I Q U E f _ 0 1 _ 1 9 . e p s

Processeurs de signaux – p. 33/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Comportement non-stationnaire

0 1 2 3 4 5 6 7 8 9 100

0.2

0.4

0.6

0.8

1

u(t)

, u(k

), y

(t)

Réponse indicielle d’un filtre numérique

0 1 2 3 4 5 6 7 8 9 100

0.2

0.4

0.6

0.8

1

t [s], k

u(t)

, u(k

), y

(t)

f_01_matlab_45_2.eps Processeurs de signaux – p. 33/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Comportement non-stationnaire

0 1 2 3 4 5 6 7 8 9 100

0.2

0.4

0.6

0.8

1

u(t)

, u(k

), y

(t)

Réponse indicielle d’un filtre numérique

0 1 2 3 4 5 6 7 8 9 100

0.2

0.4

0.6

0.8

1

t [s], k

u(t)

, u(k

), y

(t)

f_01_matlab_45_1.eps Processeurs de signaux – p. 33/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Oscillation cachée

0 2 4 6 8 10 12 14 16 18 200

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6Réponse indicielle analogique y(t) et échantillonnée y(k)

t [s], k

f_01_matlab_66_3c.eps Processeurs de signaux – p. 34/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Avantages/inconvénients de l’utilisation de DSPs

Retard dû à la construction imparfaite du signalanalogique :

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

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

t [s], k

u(t)

, u(k

), y

(t),

ueq

, yeq

Commande équivalente à la suite d’impulsions rectangulaires

f_01_matlab_65_1c.eps Processeurs de signaux – p. 35/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Avantages/inconvénients de l’utilisation de DSPs

Réponse harmonique :

10−2

10−1

100

101

102

−35

−30

−25

−20

−15

−10

−5

0

ω [rad/s]

A(ω

)

Réponse harmonique (diagramme de Bode)

10−2

10−1

100

101

102

−180

−135

−90

−45

0

45

90

135

180

ω [rad/s]

φ(ω

) [d

eg]

f_ch_06_02_4c.epsProcesseurs de signaux – p. 36/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Architecture de base des DSPs

Architecture de Harvard

Processeurs de signaux – p. 37/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Architecture de base des DSPs

Architecture de Harvard

Pipelining

Processeurs de signaux – p. 37/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Architecture de base des DSPs

Architecture de Harvard

Pipelining

Multiplicateur dédié (hardware)

Processeurs de signaux – p. 37/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Architecture de base des DSPs

Architecture de Harvard

Pipelining

Multiplicateur dédié (hardware)

Instructions spécifiques au traitementnumérique des signaux

Processeurs de signaux – p. 37/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Architecture de base des DSPs : von Neuman et Harvard

Processeurs de signaux – p. 38/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Architecture de base des DSPs : Harvard

7T e s t / e m u l a t i o n

T i m e r

6S e r i a l p o r t 1

P r o g r a m b u s

D a t a b u s

C P U

P r o g r a mc o n t r o l l e r

O s c i l l a t o r / t i m e rI n i t i a l i z a t i o nI n t e r r u p t sM u l t i p r o c e s s i n gM e m o r y c o n t r o l

P a r a l l e ll o g i cu n i t( P L U )

C A L U

D a t a b u s

. M u l t i p l i e r. A c c u m u l a t o r. A C C B u f f e r. S h i f t e r s. A r i t h m e t i cl o g i c u n i t ( A L U )

P r o g r a mR O M

D a t a / P r o g r a mD A R A M

B 0 ( 5 1 2 X 1 6 )

D a t a D A R A MB 2 ( 3 2 X 1 6 )B 1 ( 5 1 2 X 1 6 )

P r o g r a mc o u n t e r

S t a t u s / c o n t r o lr e g i s t e r s

H a r d w a r e s t a c kA d d r e s s g e n e r a t i o n

l o g i cI n s t r u c t i o n r e g i s t e r

M e m o r y -m a p p e dr e g i s t e r s

M e m o r yP e r i p h e r a l s

A u x i l i a r yr e g i s t e ra r i t h m e t i c

u n i t( A R A U )

' C 5 0 2 K

D a t a / P r o g r a mS A R A M

' C 5 0 9 K6S e r i a l p o r t 2

6T D Ms e r i a l p o r t

1

6B u f f e r e ds e r i a l p o r t

1 8H o s t p o r ti n t e r f a c e

Processeurs de signaux – p. 39/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Architecture de base des DSPs : Pipelining

E x e c u t e ( E )

R e a d ( R )

D e c o d e ( D )

F e t c h ( F )

C L K I N

N

N + 1

N + 2

N + 3

N ± 1

N

N + 1

N + 2

N ± 2

N ± 1

N

N + 1

N ± 3

N ± 2

N ± 1

N

F u l l y l o a d e dp i p e l i n e

Processeurs de signaux – p. 40/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Architecture de base des DSPs : Pipelining

Processeurs de signaux – p. 41/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Architecture de base des DSPs : multiplicateur dédié

Genre d’opérations typique :

ai · y(k − i)

=⇒

MPY

LT Y_I ; charge le mu l t i p l i cande dans le r e g i s t r e TMPY A_I ; m u l t i p l i e par le c o e f f i c i e n t , le

; r e s u l t a t se t rouvant dans le r e g i s t r e P

Processeurs de signaux – p. 42/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Architecture de base des DSPs : multiplicateur dédié

LT Y_I ; charge le mu l t i p l i cande dans le r e g i s t r e TMPY A_I ; m u l t i p l i e par le c o e f f i c i e n t , le

; r e s u l t a t se t rouvant dans le r e g i s t r e P

Le résultat d’une multiplication de deux nombres entiers16 [bit](positifs pour cet exemple) fournit un résultats’étendant sur presque 32 [bit] :

Sup

(215 − 1

)

︸ ︷︷ ︸

Y_I=7fffh

·(215 − 1

)

︸ ︷︷ ︸

A_I=7fffh

≈ 230 < 231 − 1

=⇒ le registre P recevant le résultat de la multiplication anécessairement une largeur de 32 [bit].

Processeurs de signaux – p. 43/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Instructions spécifiques aux DSPs : décalages, MAC, DMOV, etc

Exemple : implantation du filtre

y(k) = −a1 · y(k − 1) − a2 · y(k − 2) + b0 · u(k)

Implantation (principe)

Y0 = XA1 ∗ Y1 + XA2 ∗ Y2 + XB0 ∗ UY1 = Y0Y2 = Y1

Processeurs de signaux – p. 44/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Instructions spécifiques aux DSPs : décalages, MAC, DMOV, etc

Y0 = XA1 * Y1 +XA2 * Y2 + XB0 * U

∗ F i l t r e numerique passe−bas de type IIR de second ordre∗ Cette rou t ine est appelee a chaque i n s ta n t d ’ echant i l lonnage∗ ( vers ion 1 , non opt imisee )∗ ∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗

∗ On suppose que les c o e f f i c i e n t s du f i l t r e sont stockes dans∗ les va r i ab les ( memoires ) XA1, XA2 et XB0 et que les signaux∗ d ’ entree et de s o r t i e dans les va r i ab les ( memoires )∗ U, Y0 , Y1 et Y2 ( cf chap .2 pour leu r dec la ra t i on )

Processeurs de signaux – p. 45/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Instructions spécifiques aux DSPs : décalages, MAC, DMOV, etc

Y0 = XA1 * Y1 +XA2 * Y2 + XB0 * U

FILTRE:LT Y1 ; charge le mu l t i p l i cande dans le r e g i s t r e TMPY XA1 ; m u l t i p l i ePAC ; place le r é s u l t a t de la m u l t i p l i c a t i o n dans

; l ’ accumulateurLT Y2 ; charge le m u l t i p l i c a t e u r dans le r e g i s t r e TMPY XA2 ; m u l t i p l i eAPAC ; a joute le r é s u l t a t de la m u l t i p l i c a t i o n à

; l ’ accumulateur

Processeurs de signaux – p. 46/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Instructions spécifiques aux DSPs : décalages, MAC, DMOV, etc

Y0 = XA1 * Y1 +XA2 * Y2 + XB0 * U

LT U ; charge le m u l t i p l i c a t e u r dans le r e g i s t r e TMPY XB0 ; m u l t i p l i eAPAC ; a joute le r é s u l t a t de la m u l t i p l i c a t i o n à

; l ’ accumulateurSACH Y0,4 ; stocke la p a r t i e haute du r e s u l t a t ( 3 2 b i t s )

; en le decalant de 4 b i t s a gauche = d i v i s i o n; par 2^12

DMOV Y1 ; déplace d ’ un emplacement de mémoire data; pour créer le dé la i ( Y1−>Y2)

DMOV Y0 ; déplace d ’ un emplacement de mémoire data; pour créer le dé la i ( Y0−>Y1)

RETE ; re tour de l ’ i n t e r r u p t i o n

Total : 12 cyclesProcesseurs de signaux – p. 47/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Instructions spécifiques aux DSPs : décalages, MAC, DMOV, etc

Décalage de bits : le contenu del’accumulateur peut être sauvegardé enmémoire en même temps que décalé vers lagauche ou la droite ( = multiplié ou divisé parune puissance de 2)En arithmétique à virgule fixe, attention auproblème de résolution et de débordement(overflow)

=⇒ gestion des décalages

Processeurs de signaux – p. 48/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Instructions spécifiques aux DSPs : décalages, MAC, DMOV, etc

Y0 = XA1 * Y1 +XA2 * Y2 + XB0 * U

Les opérandes des multiplications sont mis à l’échelle :

XB0 = 4096 · b0 = 212 · b0

Processeurs de signaux – p. 49/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Instructions spécifiques aux DSPs : décalages, MAC, DMOV, etc

Y0 = XA1 * Y1 +XA2 * Y2 + XB0 * U

Les opérandes des multiplications sont mis à l’échelle :

XB0 = 4096 · b0 = 212 · b0

U =4096

10· 24 · u(k) =

216

10· u(k)

extension du signe !

Processeurs de signaux – p. 49/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Instructions spécifiques aux DSPs : décalages, MAC, DMOV, etc

Y0 = XA1 * Y1 +XA2 * Y2 + XB0 * U

Les opérandes des multiplications sont mis à l’échelle :

XB0 = 4096 · b0 = 212 · b0

U =4096

10· 24 · u(k) =

216

10· u(k)

XA1 = 4096 · a1 = 212 · a1

Processeurs de signaux – p. 49/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Instructions spécifiques aux DSPs : décalages, MAC, DMOV, etc

Y0 = XA1 * Y1 +XA2 * Y2 + XB0 * U

Les opérandes des multiplications sont mis à l’échelle :

XB0 = 4096 · b0 = 212 · b0

U =4096

10· 24 · u(k) =

216

10· u(k)

Yi =4096

10· 24 · y(k− i) =

216

10· y(k− i)

Processeurs de signaux – p. 49/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Instructions spécifiques aux DSPs : décalages, MAC, DMOV, etc

Y0 = XA1 * Y1 +XA2 * Y2 + XB0 * U

Les opérandes des multiplications sont mis à l’échelle :

XB0 = 4096 · b0 = 212 · b0

U =4096

10· 24 · u(k) =

216

10· u(k)

Résultat de la multiplication XB0 · U :

ACC = XB0 · U = 212 ·216

10· b0 · u(k)

Processeurs de signaux – p. 49/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Instructions spécifiques aux DSPs : décalages, MAC, DMOV, etc

Y0 = XA1 * Y1 +XA2 * Y2 + XB0 * U

Les opérandes des multiplications sont mis à l’échelle :

XB0 = 4096 · b0 = 212 · b0

U =4096

10· 24 · u(k) =

216

10· u(k)

Résultat de la multiplication XB0 · U :

ACC = XB0 · U = 212 ·216

10· b0 · u(k)

XAI · YI et XBI · UI si possible à la même échelle pour être additionnés :

SACH Y0,4 stocke la partie haute du resultat (32 bits) en ledecalant de 4 bits à gauche = division par 212 !

Processeurs de signaux – p. 49/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Instructions spécifiques aux DSPs : décalages, MAC, DMOV, etc

z - 1u ( k ) y ( k ) = u ( k - 1 )f _ 0 1 a _ 0 9 . e p s

DMOV

Assembleur :DMOV Y0 ; déplace d ’ un emplacement de mémoire data

; pour créer le dé la i ( Y0−>Y1)

C :/∗ mise a jour des so r t i e s memorisées

pour l ’ i n s ta n t d ’ échant i l lonnage su ivant ∗ /y [ 1 ] = y [ 0 ] ;

Processeurs de signaux – p. 50/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Instructions spécifiques aux DSPs : décalages, MAC, DMOV, etc

Y0 = XA1 * Y1 +XA2 * Y2 + XB0 * U

∗ F i l t r e numerique passe−bas de second ordre( vers ion 2 , opt imisee avec LTD)∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗

Processeurs de signaux – p. 51/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Instructions spécifiques aux DSPs : décalages, MAC, DMOV, etc

Y0 = XA1 * Y1 +XA2 * Y2 + XB0 * U

FILTRE:ZAC ; met a zero l ’ accumulateurLT Y2 ; charge le mu l t i p l i cande dans le r e g i s t r e TMPY XA2 ; m u l t i p l i eLTD Y1 ; charge le mu l t i p l i cande dans le r e g i s t r e T

; add i t ionne le r é s u l t a t de la; m u l t i p l i c a t i o n à l ’ accumulateur; déplace d ’ un emplacement de mémoire data; pour créer le dé la i ( Y1−>Y2)

MPY XA1 ; m u l t i p l i e

Processeurs de signaux – p. 52/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Instructions spécifiques aux DSPs : décalages, MAC, DMOV, etc

Y0 = XA1 * Y1 +XA2 * Y2 + XB0 * U

LTA U ; a joute le r é s u l t a t de la m u l t i p l i c a t i o n; à l ’ accumulateur; charge le m u l t i p l i c a t e u r dans le ; r e g i s t r e T

MPY XB0 ; m u l t i p l i eAPAC ; a joute le r é s u l t a t de la m u l t i p l i c a t i o n

; à l ’ accumulateurSACH Y0,4 ; stocke la p a r t i e haute du r e s u l t a t

; ( 3 2 b i t s ) en le decalant de 4 b i t s a ; gaucheDMOV Y0 ; déplace d ’ un emplacement de mémoire data

; pour créer le dé la i ( Y0−>Y1)RETE ; re tour de l ’ i n t e r r u p t i o n

Total : 10 cyclesProcesseurs de signaux – p. 53/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Instructions spécifiques aux DSPs : décalages, MAC, DMOV, etc

Y0 = XA1 * Y1 +XA2 * Y2 + XB0 * U

F i l t r e numerique passe−bas de second ordre( vers ion 3 , opt imisee avec RPT et MACD)∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗

; i n i t i a l i s a t i o n s diversesFILTRE:

RPT 2 ; i n i t i a l i s e le compteurMACD A1,∗+ ; LT , DMOV, MPY et APACSACH Y0,4 ; stocke la p a r t i e haute du r e s u l t a t

; ( 3 2 b i t s ) en le decalant de 4 b i t s à gaucheRETE ; re tour de l ’ i n t e r r u p t i o n

Processeurs de signaux – p. 54/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Instructions spécifiques aux DSPs : décalages, MAC, DMOV, etc

Cycle d’instruction rapide

Processeurs de signaux – p. 55/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Tampon circulaire, exemple du filtre FIR

/∗ mise a jour des so r t i e s memoriséespour l ’ i n s ta n t d ’ échant i l lonnage su ivant ∗ /

y [ 1 ] = y [ 0 ] ;

Processeurs de signaux – p. 56/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Tampon circulaire, exemple du filtre FIR

Processeurs de signaux – p. 57/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Virgule fixe-virgule flottante

Processeurs de signaux – p. 58/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Virgule fixe-virgule flottante

Processeurs de signaux – p. 59/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Exemple : DSP TMS 320C50

Cycle Time (ns) 50

Data / Program Memory (Words) 64K/64K

Frequency (MHz) 40

MIPS 20

Parallel Ports 64Kx16

RAM (Words) 10K

Serial Ports 1

TDM Serial Ports 1

Timers 1

Total Serial Ports 2

Processeurs de signaux – p. 60/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Exemple : DSP TMS 320F2812

ET . . . compilateur C/C++ !

Processeurs de signaux – p. 61/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Exemple : DSP TMS 320C50

P ± S C A L E R( ± 6 , 0 , 1 , 4 )

P R E S C A L E RS F L ( 0 ± 1 6 )

T R E G 2 ( 4 )

3 2

D A T A B U S

P R O G R A M B U SD 1 5 ± D 0

R B I T

A 1 5 ± A 0

D B M R

M U X

3 2A C C B ( 3 2 )

3 2

A C C LA C C H

3 2

A L U ( 3 2 )

3 23 2

M U X

M U X

M U X

P R E G ( 3 2 )

M U L T I P L I E RT R E G 0

M U X

M U XB 1B 2

D A R A MB 0

D A R A M

M U X

f r o m I R E G7 L S B

M U X

9

M U X

S A R A M

A R A U

M U X

3

33

P R O G R A M B U S

C B S R 2C B S R 1C B C R ( 8 )

A R 7A R 6

A R 4A R 3A R 2A R 1

A R C RI N D X

S e r i a l P o r t 1T R E G 1 ( 5 )B R C RG R E GI F RI M RR P T CP M S TS T 1S T 0

B M A RI R E G

P F C

M C S

I n s t r u c t i o n

A d d r e s s

R O M

P A S R

C O M P A R E

P A E R

( 8 x 1 6 )S t a c k

P C

M U X

N M IW ER D

C L K I N 2X 2 / C L K I NC L K O U T 1X 1

4I N T ( 1 ± 4 )M P / M C

R S

H O L D AH O L D

X FB R

R E A D YS T R BR WP SD SI S

C L K M D 3C L K M D 2

PROG

RAM

BUS

DATA

BUS

C B E R 2C B E R 1

A R 5

B I O

MUXMUX

N o t e s : A l l r e g i s t e r s a n d d a t a l i n e s a r e 1 6 - b i t s w i d e u n l e s s o t h e r w i s e s p e c i f i e d .

D a t a / P r o g r a m

D a t a / P r o g r a m

P L U

D a t a

3 2

3 2

3 2

C L K M D 1

A R 0

P A 0

P A 1 5

I / O P o r t s

²

D A T A B U S

...

P R E S C A L E RS F R ( 0 ± 1 6 )

P O S T S C A L E R( 0 ± 7 )

I A C K

I A Q

Prog

ram Con

troller

DRB

S T 0 [ A R P ] S T 0 [ D P ]

S T 1 [ C ]

1 6 I O W S RC W S R ( 5 )

P D W S R

S o f t w a r e w a i t ± s t a t e s

S e r i a l P o r t 2

²T i m e - D i v i s i o nM u l t i p l e x e dS e r i a l P o r t

²B u f f e r e dS e r i a lP o r t

T i m e r

²H o s t P o r tI n t e r f a c e

E m u l a t i o n

Processeurs de signaux – p. 62/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Exemple : DSP TMS 320C50

L’unité arithmétique et logique centrale (ALU)contient

un shifter (ou scaler) 16 bitsun multiplicateur 16x16 bitsun accumulateur de 32 bits

Processeurs de signaux – p. 63/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Exemple : DSP TMS 320C50

P ± S C A L E R( ± 6 , 0 , 1 , 4 )

P R E S C A L E RS F L ( 0 ± 1 6 )

3 2

D a t a B u s

3 2A C C B ( 3 2 )

3 2

A C C LA C C H

3 2

A L U ( 3 2 )

3 23 2

M U X

M U X

M U X

P R E G ( 3 2 )

M u l t i p l i e rT R E G 0 T R E G 1 ( 5 )

Prog

ram Bu

s

3 2

3 2

3 2

D a t a B u s

C ( 1 )S T 1

P R E S C A L E RS F R ( 0 ± 1 6 )

P O S T S C A L E R( 0 ± 7 )

N o t e s : A l l r e g i s t e r s a n d d a t a l i n e s a r e 1 6 - b i t s w i d e u n l e s s o t h e r w i s e s p e c i f i e d .Processeurs de signaux – p. 64/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Applications

Automotive Consumer Control General-Purpose

Adaptive ridecontrolAntiskid brakesCellular telephonesDigital radiosEngine controlGlobal positioningNavigationVibration analysisVoice commands

Digital radios/TVsEducational toysMusic synthesizersPower toolsRadar detectorsSolid-state answe-ring machines

Disk drive controlEngine controlLaser printer controlMotor controlRobotics controlServo control

Adaptive filtering

ConvolutionCorrelationDigital filtering

Fast Fourier trans-formsHilbert transformsWaveform genera-tionWindowing

Processeurs de signaux – p. 65/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Applications

Graphics/Imaging Industrial Instrumentation Medical

3-D rotationAnimation/digitalmap

Homomorphic pro-cessingPattern recognitionImage enhance-mentImage compres-sion/transmissionRobot visionWorkstations

Numeric controlPower-line monito-ringRoboticsSecurity access

Digital filtering

Function generation

Pattern matchingPhase-locked loopsSeismic processingSpectrum analysisTransient analysis

Diagnostic equip-mentFetal monitoringHearing aidsPatient monitoringProstheticsUltrasound equip-ment

Processeurs de signaux – p. 66/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Applications

Military Telecommunications Telecommunications Voice/Speech

Image processing

Missile guidance

NavigationRadar processingRadio frequencymodemsSecure communica-tionsSonar processing

1200- to 19200-bpsmodemsAdaptive equalizersADPCM transco-dersCellular telephonesChannel multi-plexingData encryptionDigital PBXsDigital speech inter-polation (DSI)Personal digital as-sistants (PDA)

DTMF enco-ding/decodingEcho cancellationFaxLine repeatersSpeaker phonesSpread spectrumcommunicationsVideo conferencingX.25 Packet Swit-chingPersonal commu-nications systems(PCS)

Speech enhance-mentSpeech recognitionSpeech synthesisSpeaker verificationSpeech vocodingVoice mailText-to-speech

Processeurs de signaux – p. 67/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Programmation des DSPs : système de développement

T M S 3 2 0 D e v e l o p m e n t P r o d u c t I n t e g r a t i o n

A r c h i v e r

M a c r oL i b r a r y

M a c r oS o u r c eF i l e s

A r c h i v e r

L i b r a r y o fO b j e c tF i l e s

T M S 3 2 0D S P

H e x C o n v e r s i o nU t i l i t y

E P R O MP r o g r a m m e r

R u n t i m eS u p p o r t L i b r a r y

X D S E m u l a t o rw i t h D e b u g g e r

A b s o l u t eL i s t e r

CS o u r c eF i l e s

A s s e m b l e rS o u r c e

C O F FO b j e c tF i l e s

E x e c u t a b l eC O F FF i l e S i m u l a t o r

E V Mw i t h D e b u g g e r

C C o m p i l e r

L i n k e r

A s s e m b l e r

Processeurs de signaux – p. 68/69

�JI�

Ai iu

tom

atisa

tio

n

ns

tit

ut

d

'

nd

us

trie

lle

Liens Internet

http ://www.go-dsp.com/fet/expressdsp/index.html

Processeurs de signaux – p. 69/69