�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
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é
Signaux :
Temps Amplitude
Continu
0 t 0 t
Discret
0 t 0 t
Processeurs de signaux – p. 23/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
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
Top Related