Vous êtes sur la page 1sur 28

9 Description des signaux et

systmes numriques
9.1 Signaux numriques
Les signaux numriques sont mathmatiquement reprsents par des squences de
nombres notes

x[n]

pour

< n < +.

Dans le cas o la squence provient de

l'chantillonnage priodique d'un signal continu

x(t),

on aura :

x[n] = x(n Te )
Les signaux discrets sont souvent reprsents graphiquement (gure 9.1). Bien que
l'abscisse soit dessine de manire continue, il est important de noter que la squence

x[n]

n'est dnie que pour

entier. Pour

non entier,

x[n]

est simplement non

dnie.
0.6

signal x[n]

0.4
0.2
0
0.2
0.4
10

10

15

instants n

Fig. 9.1: Graphe d'un signal numrique

9.1.1 Quelques signaux fondamentaux


Parmi l'innit de squences que l'on peut imaginer, il y en a quelques unes qui sont
fondamentales pour l'analyse des signaux et des systmes. Ce sont :
1. L'impulsion unit dnie par :

[n] =

1 si n = 0

(9.1)

0 si n 6= 0
1

Description des signaux et systmes numriques

Un aspect important de cette squence est qu'elle peut servir dnir n'importe quelle autre squence. En eet, toute squence (telle que celle de la gure 9.1) peut tre considre comme une somme d'impulsions dcales
et d'amplitude

x[k].

La suite

x[n]

vante :

x[n] =

[nk]

peut donc tre dcrite par l'expression sui-

+
X

k=

x[k] [n k]

(9.2)

2. Le saut unit dni par :

[n] =

1 si n 0

De manire quivalente, on a :

[n] =

(9.3)

0 si n < 0

+
X
k=0

[n k]

(9.4)

Inversement, l'impulsion unit peut tre dcrite par la dirence de deux sauts
units :

[n] = [n] [n 1]

(9.5)

3. L'exponentielle numrique dcrite par :

x[n] = Rn [n]
Dans le cas o
pour

|R| > 1,

0 < R < 1,

(9.6)

on obtient une exponentielle dcroissante alors que

l'amplitude de la squence ne cesse d'augmenter avec

n.

4. La sinusode dcrite par :

x[n] = cos (n 0 + )
avec

(9.7)

0 = 2 f0 Te .

5. La suite complexe gnralement dcrite par une exponentielle numrique dont


l'argument est complexe :

x[n] = (a + jb)n [n]


En remplaant l'argument

a + jb =

a + jb

par sa reprsentation polaire

a2 + b2 arctan

b
R exp(j0 )
a

on obtient

x[n] = Rn exp(jn 0 ) [n]

(9.8)

Grce la relation d'Euler, on voit que cette squence est une oscillation
valeurs complexes dont l'amplitude varie exponentiellement avec le temps
L'enveloppe sera croissante si

R>1

et dcroissante si

R < 1.

n.

9.1 Signaux numriques

Impulsion unit

0
1
10
1

10

15

10

15

10

15

10

15

Saut unit

0
1
10
1

5
Exponentielle

0
1
10
1

5
Sinusode

0
1
10

Fig. 9.2: Quelques signaux fondamentaux

6. Le phaseur de pulsation

x[n] = exp (jn 0 )

(9.9)

Les squences exponentielle, sinusodale et complexe dcrites ci-dessus sont particulirement importantes dans l'analyse des systmes linaires.
On notera que pour les signaux discrets, la pulsation normalise

se mesure en

radians par chantillon et non pas en radians par seconde comme pour la pulsation

des signaux continus.

9.1.2 Priodicit des signaux numriques


Du point de vue de la priodicit, il existe une dirence importante entre signaux
continus et discrets. Dans le cas de ces derniers, la priodicit existe si :

x[n] = x[n + N]
o

est un entier reprsentant la priode de la squence. Ce qui, pour une sinusode

discrte, s'crit :

x[n] = A cos (n0 + ) = A cos (n0 + N0 + )


Comme la sinusode est priodique

, on doit avoir

N0 = k 2

(9.10)

Description des signaux et systmes numriques

0 /

Or ceci n'est possible que si

est rationnel.

Considrons comme exemple le cas o


pas possible car

0 = 3/11,

et

0 = 1.

On a alors

sont des entiers et que

N = 2 k ;

ce qui n'est

est irrationnel. Par contre, si

on a alors :

N 0 = N 3/11 = k 2
et la plus petite valeur de

N=

22
k
3

satisfaisant cette quation est 22 lorsque

vaut 3.

Ces deux valeurs signient qu'il faut 22 chantillons pour retrouver la valeur de
dpart (une priode numrique) et que cette priode numrique contient 3 priodes
du signal analogique chantillonn.
On voit donc que les squences sinusodales n'ont pas ncessairement la mme priode
que leur correspondant analogique et, suivant la valeur de

0 ,

elles peuvent mme

20

25

20

25

ne pas tre priodiques du tout.

Sinus numrique de pulsation 3 / 11


1
0.5
0
0.5

Tanl

Tnum

1
0

10

15

Sinus numrique de pulsation 1


1
0.5
0
0.5

Tanl

Tnum

1
0

10

15

Fig. 9.3: Priodes numrique et analogique

On doit encore rappeler le fait que l'interprtation des hautes et basses frquences
est dirente pour les signaux discrets ou continus. En eet, pour une sinusode

0 est leve.
x[n] = A cos (n0 + ), l'oscillation sera d'autant plus
de et elle deviendra plus lente si 0 varie de 2 .

analogique, l'oscillation sera d'autant plus rapide que la pulsation


Dans le cas du signal discret
rapide que

se rapproche

Cette deuxime partie correspond au phnomne de repliement spectral. En fait,


cause de la priodicit des spectres des signaux discrets, ce qui se passe autour de

= 2

est indistinguable de ce qui se passe autour de

= 0.

9.2 Systmes numriques

9.2 Systmes numriques


Un systme numrique est une fonction ou un algorithme prdni qui opre sur
un signal numrique (appel l'entre ou l'excitation) et qui produit un autre signal
numrique nomm la sortie ou la rponse du systme.
Un tel systme est dni mathmatiquement comme un oprateur ou une transformation qui modie une squence d'entre

x[n]

y[n]. On
y[n] = T {x[n]} et

en une squence de sortie

peut reprsenter cette transformation par un oprateur

tel que

en donner l'quation ou son schma fonctionnel (section 9.2.2).

9.2.1 Exemples de systme numriques

Quelques systmes simples


Considrons des systmes simples dcrits par les quations du tableau 9.1.

y[n] = x[n]

y[n] = x[n 1]

y[n] = x[n + 1]

y[n] = max {x[n 1], x[n], x[n + 1]}


y[n] =

Pn

x[k]

y[n] = x[n] x[n 1]

Tab. 9.1: quations dcrivant des systmes numriques

A chacun de ces systmes, on applique l'instant

n=0

le signal :

x[n] = { 0, 1, 2, 3, 4, 5, 0, 0, 0, 0, }
Les rponses de chacun des systmes sont alors les suivantes :
1. L'quation (a) reprsente le systme identit qui restitue simplement le signal
qu'on lui applique :

y[n] = { 0, 0, 0, 1, 2, 3, 4, 5, 0, 0, 0, 0, }

Description des signaux et systmes numriques

2. L'quation (b) reprsente un dcalage arrire d'un pas :

y[n] = { 0, 0, 0, 0, 1, 2, 3, 4, 5, 0, 0, 0, }
3. Dans le cas (c), le signal est avanc d'un pas :

y[n] = { 0, 0, 1, 2, 3, 4, 5, 0, 0, 0, 0, 0, }
4. La sortie du systme (d) fournit chaque instant la valeur maximum du signal
considr aux instants prsent (n), prcdent (n

1)

et suivant (n

+ 1)

y[n] = { 0, 0, 1, 2, 3, 4, 5, 5, 5, 0, 0, 0 }
5. Le systme (e) reprsente un accumulateur qui fait la somme des valeurs qui
apparaissent au cours du temps :

y[n] = { 0, 0, 0, 1, 3, 6, 10, 15, 15, 15, 15, 15 }


6. Le systme (f ) eectue la dirence entre la valeur actuelle et la prcdente ;
ce qui, numriquement, correspond la drivation analogique :

y[n] = { 0, 0, 0, 1, 1, 1, 1, 1, 5, 0, 0 }
6

5 (a)

5 (b)

5 (c)

20
6

5 (d)

(e)

(f)
4

15

2
3

10

2
2
1

5
4

0
1

0
2

Fig. 9.4: Rponses des systmes considrs

9.2 Systmes numriques

Moyenneur glissant
Un moyenneur glissant d'ordre 5 est dni par l'quation :

y[n] =

1
(x[n 2] + x[n 1] + x[n] + x[n + 1] + x[n + 2])
5

Ce systme fournit chaque instant

(9.11)

la valeur moyenne des 5 chantillons

entourant et correspondant la position

x[n]

n. Un tel oprateur est frquemment utilis

pour attnuer des uctuations et mettre ainsi en vidence une tendance moyen
terme. Une illustration en est donne par la gure 9.5 reprsentant l'enregistrement
d'une temprature.
30

x[n]

20
10
0
5

10

15

20

25

30

35

40

10

15

20

25

30

35

40

10

15
20
instants n

25

30

35

40

h[n10]

0.2
0.1
0
0.1
5
30

y[n]

20
10
0
5

Fig. 9.5: Lissage de l'volution d'une temprature

On notera que ce moyenneur centr sur l'instant

est un systme non causal ;

c'est--dire que pour pouvoir l'utiliser, il est ncessaire d'avoir pralablement sa


disposition les valeurs traiter. Si l'on dsirait eectuer ce traitement en temps rel
(systme causal), on ne pourrait calculer la moyenne glissante que sur les 5 points
les plus rcents :

y[n] =

1
(x[n] + x[n 1] + x[n 2] + x[n 3] + x[n 4])
5

(9.12)

9.2.2 Schma fonctionnel d'un systme numrique


Un systme numrique peut tre dcrit, comme on l'a vu, par la donne d'une
quation liant le signal de sortie au signal d'entre. On peut galement, et c'est
frquemment le cas, reprsenter ces systmes l'aide de diagrammes fonctionnels.

Description des signaux et systmes numriques

Ceux-ci illustrent alors graphiquement les oprations eectues sur le signal d'entre
ainsi que les connexions les reliant. Les plus frquentes sont l'addition de 2 valeurs
(), la multiplication de 2 signaux entre eux (), la multiplication d'un signal par
1
un coecient (), le dcalage avant (z ) et le dcalage arrire (z ).
Deux illustrations de schmas fonctionnels sont prsentes dans la gure 9.6. Le
premier des deux schmas correspond l'quation non linaire suivante :

y[n] = 0.5 (x1 [n] + x1 [n 1]) x2 [n] + 0.9 y[n 1]


dans laquelle on trouve un moyenneur causal d'ordre 2 (premier cadre) et un ltre
passe-bas d'ordre 1 (deuxime cadre).
Le deuxime schma fonctionnel illustre une quation aux dirences linaire d'ordre 2

y[n] = b0 x[n] + b1 x[n 1] + b2 x[n 2] a1 y[n 1] a2 y[n 2]


reprsentant un ltre rcursif d'ordre 2.

x1[n-1]

z-1

Filtre passe-bas dordre 1

x1[n]

y[n]

0.5
Moyenneur dordre 2

0.9

y[n-1]

x2[n]

x[n]

z-1

b0

x[n-1]

z-1

x[n-2]

z-1

b1

b2
y[n]

- a2

y[n-2]

- a1

z-1

y[n-1]

z-1

Fig. 9.6: Deux exemples de schmas fonctionnels

9.2.3 Proprits des systmes


Suivant leurs proprits, on peut classer les systmes de la faon suivante :

9.2 Systmes numriques

1. Systme statique
Un systme statique ou sans mmoire est un systme dont la sortie
dpend que du signal d'entre l'instant

n.

y[n]

ne

Par exemple :

y[n] = a x[n] + n x[n]2


2. Systme dynamique
Inversement, un systme tenant compte de ce qui s'est pass ou se passera est
dit dynamique ou avec mmoire :

y[n] =

1
(x[n 1] + x[n] + x[n + 1])
3

3. Systme linaire
Un systme linaire satisfait au principe de superposition :

y[n] = T {a x1 [n] + b x2 [n]}


= a T {x1 [n]} + b T {x2 [n]}
= y1 [n] + y2 [n]
4. Systme temporellement invariant
Un systme invariant dans le temps est un systme pour lequel un dcalage
temporel sur le signal d'entre conduit un signal de sortie simplement dcal
de la mme valeur :

si
T {x[n]}
= y[n]
alors T {x[n + d]} = y[n + d]
De manire quivalente, un systme est dit temporellement invariant lorsqu'on
peut croiser les oprations de dcalage et de transformation sans modier le
signal de sortie. On a alors :

yD,T [n] = yT,D [n]


On notera que tous les systmes dcrits par une quation aux dirences
coecients constants sont temporellement invariants.
5. Systme causal
Un systme est causal si la squence de sortie ne dpend que des valeurs
actuelles ou passes de la squence d'entre.
6. Systme stabl e
Un systme est stable si, quelle que soit la squence d'amplitude nie applique
l'entre, sa sortie ne devient pas inniment grande.
On notera que les proprits mentionnes ci-dessus sont des proprits lies aux
systmes et sont indpendantes des squences appliques ceux-ci.

Description des signaux et systmes numriques

Remarque

Il est important de ne pas oublier que la grande libert oerte lors

de la ralisation des systmes numriques peut parfois conduire des piges. Ainsi
en est-il de la succession des oprations eectues sur un signal. En eet, on a pris
l'habitude avec les systmes analogiques d'eectuer des oprations dans l'ordre qui
nous convient sachant que le rsultat est thoriquement indpendant de l'ordre des
oprations de ltrage. Cela tait possible parce que les systmes analogiques rels
sont pratiquement tous linaires et temporellement invariants par nature.
Or, avec les systmes numriques, les oprations que l'on peut souhaiter faire ne
sont limites que par notre imagination et certaines d'entre elles conduisent des
rsultats qui dpendent de la succession des oprations eectues. Il est donc trs
important de vrier si les oprations avec lesquelles on agit sur un signal sont
temporellement invariantes ou non.

Quelques exemples
L'accumulateur

Un accumulateur dni par la relation :

y[n] =

n
X

x[k]

(9.13)

k=
correspond l'opration analogique d'intgration. C'est un systme linaire. On
notera que si on lui applique une impulsion unit

[n],

sa sortie sera un saut unit

[n].

Si on lui applique un saut unit, sa sortie ne cessera d'augmenter linairement

avec

et tendra vers l'inni. L'accumulateur n'est donc pas un systme stable.

Dirences avant et arrire

La dirence entre 2 valeurs successives est l'qui-

valent de la drivation analogique. On peut eectuer la dirence avant dnie par


la relation :

y[n] = x[n + 1] x[n]

(9.14)

Elle n'est videmment pas causale ; ce qui est par contre le cas pour la dirence
arrire :

y[n] = x[n] x[n 1]

Oprateur quadratique

(9.15)

An d'illustrer ce qu'est un systme invariant temporel-

lement, considrons l'oprateur quadratique :

y[n] = x2 [n]

(9.16)

Si l'on eectue d'abord l'lvation au carr puis le dcalage temporel, on obtient :

x[n] x2 [n] x2 [n d] = yT,D [n]


Dans le cas o l'on eectue le dcalage puis la contraction, on obtient :

x[n] x[n d] x2 [n d] = yD,T [n]


Comme les deux rsultats sont identiques, le systme est temporellement invariant.

10

9.2 Systmes numriques

Sous-chantillonnage

Cette opration trs frquente en traitement numrique des

signaux n'est pas invariante temporellement. Pour le voir, considrons une situation
o l'on ne prend qu'un chantillon sur deux :

y[n] = x[2n]

(9.17)

Si l'on eectue d'abord la contraction puis le dcalage temporel, on obtient :

x[n] x[2n] x[2n d] = yT,D [n]


Dans le cas o l'on eectue le dcalage puis la contraction, on obtient :

x[n] x[n d] x[2(n d)] = yD,T [n]


Comme le rsultat dpend de l'ordre des oprations, le systme n'est pas temporellement invariant.
Le tableau 9.2 rassemble les proprits de quelques oprations frquemment eectues en traitement numrique des signaux et mentionne si les oprations sont linaires

(L), invariantes temporellement (I), causales (C), stables (S) et si elles

ncessitent une mmoire (M). Quelques oprations sont laisses l'analyse du lecteur.
Oprations

quations

x[n + 1] x[n]
x[n]
x[n 1]
P
n
x[k]
a x[n]
(x[n + 1] + x[n] + x[n 1]) /3
x[n2 ]
x[2n]
x[n]
n x[n]
x2 [n]
a x[n] + b, b 6= 0

O
O

Dirence avant

Dirence arrire

Accumulation

Amplication

Moyenneur centr

Contraction temporelle

Sous-chantillonnage

Rotation autour de Oy

Multiplication temporelle

Opration quadratique

Amplication et dcalage

Tab. 9.2: Proprits de quelques transformations

9.2.4 Interconnexions des systmes


Comme pour les systmes analogiques, les systmes numriques peuvent tre interconnects pour former des systmes plus complexes. Pour ce faire, on a deux possibilits : les connecter en cascade ou en parallle (gure 9.7). Lors d'une connexion
en cascade, on a les relations suivantes :

y1 [n] = H1 {x[n]}
y[n]

= H2 {y1 [n]}

y[n] = H2 {H1 {x[n]}}

11

Description des signaux et systmes numriques

Lors d'une connexion en parallle, on a les relations suivantes :

y[n] = y1 [n] + y2 [n]

y[n] = H1 {x[n]} + H2 {x[n]}

Et c'est seulement dans le cas o les systmes sont linaires et temporellement invariants que l'on pourra crire comme on a l'habitude de le faire avec les systmes

continus :

y[n] = (H1 H2 ) {x[n]} = (H2 H1 ) {x[n]}


y[n] = (H1 + H2 ) {x[n]} = H1 {x[n]} + H2 {x[n]}
H1
x[n]

H1

y1[n]

H2

y2[n]

y1[n]

x[n]

y[n]

H2

y2[n]

Fig. 9.7: Interconnexions de 2 systmes en cascade ou en parallle

9.2.5 Conclusions
Comme nous venons de le voir, les systmes linaires et temporellement invariants
(systmes LTI) constituent une classe importante des systmes et c'est seulement
sur les systmes LTI que l'on peut appliquer les notions de rponse impulsionnelle,
de produit de convolution et de fonction de transfert.

9.3 Rponse impulsionnelle et produit de


convolution
Parmi l'ensemble des rponses temporelles d'un systme, il en est une qui permet
de calculer toutes les autres : c'est la rponse impulsionnelle que l'on obtient en
appliquant un systme LTI une impulsion unit
est dsigne par

h[n]

[n].

Cette rponse particulire

h[n] T {[n]}
On a vu au dbut de ce chapitre qu'un signal quelconque

(9.18)

x[n]

peut tre considr

comme une suite d'impulsions d'amplitude variable :

x[n] =

+
X

k=

12

x[k] [n k]

(9.19)

9.3 Rponse impulsionnelle et produit de convolution

Puisque les systmes que nous examinerons ds prsent sont linaires et temporel-

x[n]

lement invariants, la rponse de ceux-ci au signal


de rponses dues chaque impulsion

x[k] [n k]

sera constitue d'une somme

yk [n] = T {x[k] [n k]} = x[k] h[n k]

(9.20)

Ce qui, en tenant compte de l'ensemble des impulsions, conduit :

y[n] = T {x[n]} =

+
X

yk [n] =

k=

+
X

k=

x[k] h[n k]

(9.21)

Cette relation importante porte le nom de produit de convolution numrique. Les


oprations que nous venons d'eectuer peuvent tre dcrites et rsumes dans la
suite de relations suivantes

[n] h[n]
[n k] h[n k]
x[k] [n k] x[k] h[n k]
X
X
x[k] [n k]
x[k] h[n k]
x[n] y[n]

qui sont illustres par la gure 9.8.


Un simple changement de variable permet de montrer que le produit de convolution
est commutatif :

y[n] =

+
X

k=

x[k] h[n k] =

+
X

k=

h[k] x[n k]

(9.22)

Ce rsultat s'crit symboliquement sous la forme :

y[n] = x[n] h[n] = h[n] x[n]

(9.23)

L'intrt du produit de convolution rside dans le fait qu'un systme LTI est totalement caractris par sa rponse impulsionnelle

h[n]

et que le calcul de la rponse

un signal quelconque peut alors se faire en restant dans le domaine temporel.


On notera que le produit de convolution est le rsultat direct de la linarit et de
l'invariance temporelle ; il ne peut donc s'appliquer qu'aux systmes LTI.

9.3.1 Systmes causaux

Systmes rponse impulsionnelle innie


h[n] ne
x[n] au systme ; elle est donc
signal x[n] l'instant n = 0, on a

Dans le cas o le systme considr est causal, sa rponse impulsionnelle


peut pas prcder l'instant de l'application du signal
nulle si

n < 0.

Considrant que l'on applique le

donc :

y[n] =

+n
X
k=0

x[k] h[n k] =

+n
X
k=0

h[k] x[n k]

0 n < +

(9.24)

13

Description des signaux et systmes numriques

[n]

h[n]

0.5

0.5

0
5

10

15

20

0
5

[n1]
1

0.5

0.5
0

10

15

20

0
5

[n2]
1

0.5

0.5
0

10

15

20

0
5

x[n] = x[k] [nk] avec x[k] = [k]


k

2
5

10
n

15

10

20

0
5

10
n

Fig. 9.8: Illustration du produit de convolution

14

15

20

15

20

15

20

10

y[n] = x[k] h[nk]

0
5

20

h[n2]

0
5

15

h[n1]

0
5

10

9.3 Rponse impulsionnelle et produit de convolution

Systmes rponse impulsionnelle nie


De plus, dans le cas trs frquent de systmes causaux rponse impulsionnelle
de dure nie (systmes RIF), la rponse impulsionnelle est nulle pour
pour

n < 0

et

n N . Alors, considrant que x[n < 0] = 0, la rponse impulsionnelle est de


N et la rponse du systme un signal quelconque x[n] se calcule avec :

longueur

y[n] =

N
1
X
k=0

h[k] x[n k]

0 n < +

(9.25)

Le schma fonctionnel correspondant cette quation est reprsent la gure 9.9


1
qui eectue un dcalage arrire).
(on notera l'usage de l'oprateur z

x[n]

z-1

x[n-1]

h[0]

x[n-2]

z-1

h[1]

z-1

x[n-3]

h[2]

z-1

x[n-N+1]

h[3]

h[N-1]
y[n]

N-1

h[k] x[n-k]

k=0

Fig. 9.9: Reprsentation du produit de convolution

Il est important de bien comprendre les oprations sousjacentes l'quation de


convolution

y[n] =

N
1
X
k=0

h[k] x[n k]

On voit que l'on doit tout d'abord retourner le signal d'entre


unit) autour de l'ordonne an d'obtenir

x[k]

(ici, un saut

x[k] (gure 9.10). Puis, chaque instant

on devra :
1. dcaler

x[k]

en

pour obtenir

2. eectuer sa multiplication avec

x[n k] ;

h[k]

pour obtenir

h[k] x[n k] ;

3. sommer la suite de valeurs ainsi obtenues.https ://www.cia.gov/library/publications/theworld-factbook/geos/ni.html


La gure 9.10 illustre la situation pour

n = 10

et l'on voit que la somme des valeurs

successives vaut :

10
X
k=0

h[k] x[n k] = 1 + 0.9 + 0.92 + + 0.910 = 6.86 = y[10]

15

Description des signaux et systmes numriques

Convolution entre x[k] et h[k] pour n=10


1
x[nk], n=10
0.5
0
5

10

15

20

25

30

20

25

30

1
h[k]
0.5
0
5

10

15

h[k] x[nk]

0.5

y[10] = h[k] x[nk] = 6.86

0
5

10

15

20

25

30

25

30

instants k
10
y[n] = h[k] x[nk]
5
0
5

10

15

20

Fig. 9.10: Illustration du calcul d'un produit de convolution

9.3.2 Ralisation d'un produit convolution


Considrant la gure 9.9, on voit que pour calculer un produit de convolution il faut
avoir sa disposition les suites de valeurs
espaces-mmoire de longueur

N.

h[k]

et

x[n k].

Cela ncessite donc deux

h[k]

0 k N 1

Dans le premier (gnralement une EPROM), on

stockera les valeurs de la rponse impulsionnelle

avec

caractri-

sant le systme que l'on souhaite raliser. Dans le deuxime, qui sera constamment
mis jour (gnralement une RAM), on gardera les
d'entre

x[n]

dernires valeurs du signal

(gure 9.11).

Comme exemple illustratif, imaginons que l'on souhaite raliser un quivalent numrique d'un ltre passe-bas analogique dont la rponse impulsionnelle
sortie

y(t)

h(t)

et la

sont dcrites par :

1 t/
e
pour t 0

Z t
y(t) =
h() x(t ) d

h(t) =

dont l'quivalent numrique s'crit :

y[n] =

n
X
k=0

Te h[k] x[n k]

On notera que dans cette expression, la priode d'chantillonnage


rponse impulsionnelle

16

h[k]

Te

multiplie la

dont les units sont l'inverse du temps. De manire

9.3 Rponse impulsionnelle et produit de convolution

x(t)

t
N-1

y[n] =

Te

x[n-k] h[k]
k=0

x(t)

x[n]

FAR

N-1

N-1

RAM

h[N-1]

EPROM
xn[k]

Tp

h[0]
h[1]
h[2]
h[3]

0
0
0
0
0
0
0
0

h[k]

x[n-k]

1
1
1
1
1
1
1
1

hn[k]

N-1

k=0

xn[k] hn[k]

y[n]

y(t)
FL

A
y(t)

Fig. 9.11: Schma technologique d'une convolution numrique

17

Description des signaux et systmes numriques

normaliser la rponse impulsionnelle numrique par rapport

Te , on la dnit comme

suit :

h[n] Te h(t = nTe )

(9.26)

Ce qui dans notre cas particulier devient :

h[n] = Te
En posant :

Te Te / n
1 n Te /
e
e
=

R = eTe /

la rponse impulsionnelle du ltre numrique passe-bas d'ordre 1 s'crit donc :

h[n] =

Te n
R

pour n 0

En limitant la longueur de la rponse impulsionnelle aux

(9.27)

premires valeurs et

admettant que le contenu de la RAM a t initialis zro, la rponse un signal


quelconque se calcule alors comme suit :

y[n] =

N
1
X
k=0

y[n] =

N
1
X
k=0

h(k) x[n k]

Te k
R x[n k]

Une traduction algorithmique du produit de convolution pourrait tre la suivante :

{initialisation des variables}


tau = 1e-3
Te = 1e-4
R = exp(-Te/tau)
N = 100
{initialisation des tableaux}
for k =0 :N-1
xn(k) = 0
hn(k) = (Te/tau)*R^k
end
{calcul et envoi du signal de sortie yn}
repeat
x0 = AnalogInput
{initialisation et calcul de la somme}
yn = x0*hn(0)
for k = 1 :N-1
do yn = yn + xn(k) * hn(k)
end
AnalogOutput (yn)
{mise jour du tableau xn(k)}

18

9.3 Rponse impulsionnelle et produit de convolution

for k = N-1 :-1 :1


do xn(k) = xn(k-1)
end
xn(0) = x0
until stop
9.3.3 Une application : l'interpolation numrique
Une application intressante du produit de convolution consiste en l'agrandissement
(zoom) d'une suite de valeurs par interpolation numrique. Parmi le grand nombre
d'interpolations possibles, on en prsente trois : les interpolations constante, linaire
et parabolique. La premire maintient la valeur considre, la deuxime relie deux
points successifs par un segment de droite et enn la dernire relie ces deux points
par des arcs de parabole. Un interpolateur d'ordre
suite

x[n]

(sauf la dernire) par

remplace chaque valeur d'une

nouvelles valeurs.

Du point de vue de la convolution, une fonction d'interpolation est un oprateur que


l'on dcrit par sa rponse impulsionnelle

h[n]. Son application une suite x[n] de va-

leurs numriques remplace chacune de celles-ci par, respectivement, une constante,


deux segments de droite ou trois arcs de parabole (gure 9.12). Ces fonctions d'interpolation de longueur

2N

doivent valoir 1 au centre et 0 aux extrmits. Elles

sont dcrites respectivement par les expressions suivantes :

h0 [n] =

1
0

si
si

|n| N/2
N/2 < |n| N

(9.28)

N |n|
h1 [n] =
pour |n| N
N
2
2
si
N < n < N/2

2 (n + N)
N

h2 [n] =
1 N22 n2 si N/2 n +N/2

2
(n N)2 si +N/2 < n < +N
N2

La gure 9.13 illustre l'eet des interpolateurs d'ordre

N = 15

(9.29)

(9.30)

appliqus trois

impulsions d'amplitude 1, 4 et 2. On y voit trs bien que chaque impulsion est


remplace par une fonction d'interpolation et que la somme de celles-ci conduit au
rsultat global reprsent par les points interpols. Il est important de noter que pour
utiliser la convolution en tant qu'interpolateur, il faut au pralable insrer entre les
valeurs interpoler un nombre de zros gal

N 1.

Ainsi, avant d'eectuer le

produit de convolution pour obtenir la suite interpole

y[n] = h[n] x0 [n]


on doit remplacer la suite

x[n]

(9.31)

= {0, 1, 4, 2} par une nouvelle suite valant

x0 [n] = {0, 0, 0, 0, , 1, 0, 0, 0, , 4, 0, 0, 0, , 2}

(9.32)

19

Description des signaux et systmes numriques

0.5

0
N

+N

+N

0.5

0.5

0
N

+N

Fig. 9.12: Rponses impulsionnelles de trois interpolateurs

Puis, an d'liminer les eets de bords, on enlvera du rsultat de cette convolution
les

valeurs extrmes obtenues de part et d'autre de la suite originale

x0 [n].

La gure 9.14 montre les rsultats des trois interpolations appliques une suite de
valeurs oscillantes amorties. On notera que le choix d'une fonction d'interpolation
n'est pas anodin car il peut conduire une reprsentation errone du signal analogique enregistr. La gure 9.15 illustre le rsultat de ces trois mmes interpolations
appliques une image agrandie d'un facteur huit.

9.4 Systmes dcrits par des quations rcursives


Dans la section prcdente, nous avons analys les systmes linaires et temporellement invariants (LTI). Ces systmes taient reprsents par leur rponse impulsionnelle

h[n]

et l'obtention de la rponse

y[n]

un signal d'entre quelconque faisait

appel au produit de convolution. Dans le calcul de celui-ci n'intervient que le signal

x[n] et h[n] (quation non rcursive). Cette manire de faire ncessite, pour
instant n, le calcul complet de y[n] sans utiliser des rsultats prcdemment

d'entre
chaque

calculs :

y[n] =

N
1
X
k=0

h(k) x[n k]

Dans les quelques exemples qui suivent, on montre qu'il est gnralement assez facile
de trouver une quation utilisant des rsultats obtenus pralablement. Le systme
est alors dcrit, de manire quivalente, par une quation rcursive.

20

9.4 Systmes dcrits par des quations rcursives

4
2
0
0

10

15

20

25

30

35

40

45

10

15

20

25

30

35

40

45

10

15

20

25

30

35

40

45

4
2
0

4
2
0

Fig. 9.13: Rponses individuelle et globale de trois interpolateurs d'ordre

N = 15

10

0
0

20

40

60

80

100

120

20

40

60

80

100

120

20

40

60

80

100

120

10

10

Fig. 9.14: Trois interpolations d'une mme suite de valeurs

21

Description des signaux et systmes numriques

Fig. 9.15: Agrandissement d'une image par interpolation constante, linaire ou pa-

rabolique

22

9.4 Systmes dcrits par des quations rcursives

9.4.1 Quelques exemples

Accumulateur

Un accumulateur causal est reprsent par l'quation :

y[n] =

n
X

x[k]

(9.33)

k=0

On voit immdiatement que ce rsultat peut tre rcrit sous la forme :

y[n] =
=

n
X

k=0
n1
X

x[k]
x[k] + x[n]

k=0

donc :

y[n] = y[n 1] + x[n]

(9.34)

Cette dernire quation n'est autre que la forme rcursive de l'accumulateur.

Filtre passe-bas

On a vu plus haut que la rponse d'un ltre passe-bas d'ordre 1

pouvait tre dcrite par :

y[n] =

N
1
X
k=0

Te k
R x[n k]

(9.35)

Ce rsultat peut galement s'crire comme suit :

y[n] =

N
1
X
k=0

=
=

N 1
Te X k
Te k
R x[n k] =
R x[n k]

k=0


Te  0
R x[n] + R1 x[n 1] + R2 x[n 2] +


Te
Te  0
R x[n 1] + R1 x[n 2] + R2 x[n 3)] +
x[n] + R

Ce qui donne nalement la forme rcursive suivante :

y[n] =

Te
x[n] + R y[n 1]

On voit ainsi que le calcul de la rponse


demande pour chaque instant

(9.36)

y[n], qui dans l'approche non rcursive


N multiplications et additions, peut

le calcul de

tre remplac par une quation rcursive ne demandant qu'une multiplication et


une addition.

23

Description des signaux et systmes numriques

x[n]

y[n]

x[n]

y[n]

Te

R
z-1

z-1

Accumulateur

Filtre passe-bas (R < 1)

1/(n+1)
Moyenneur cumulatif
y[n]

x[n]

z-1
n
Fig. 9.16: Schmas fonctionnels : (a) d'un accumulateur, (b) d'un ltre passe-bas,

(c) d'un moyenneur cumulatif

Moyenne cumule

Considrons le calcul d'une moyenne que l'on souhaite valuer

l'apparition de chaque nouvel chantillon :

1 X
x[k]
y[n] =
n + 1 k=0
En multipliant les 2 membres de l'quation par

(n + 1) y[n] =

n
X

n + 1,

x[k] = x[n] +

k=0

(9.37)

on obtient :

n1
X

x[k]

k=0

Ce qui peut galement s'crire sous la forme :

1
y[n] =
n+1

!
n1
1X
x[n] + n
x[k]
n k=0

pour donner nalement

y[n] =

1
(x[n] + n y[n 1])
n+1

(9.38)

Les schmas fonctionnels correspondant chacun de ces 3 systmes sont illustrs


par la gure 9.16.

Conclusion

Ces quelques exemples ont montr que bien des oprations linaires

peuvent tre ramenes des quations rcursives et qu'alors le nombre d'oprations


eectuer est fortement rduit.

24

9.5 Exercices

9.5 Exercices

SNB 1

Esquissez les signaux suivants

x4 [n] = 0.9n [n]


x5 [n] = sin(n/6)
x6 [n] = sin(n/8) [n]

x1 [n] = [n 2]
x2 [n] = +[n + 1] + [n]
x3 [n] = 2[n + 2] [3 n]

SNB 2

Esquissez le signal

x[n]

= {..., 0, 0, -1, 0, 1, 2, 3, 0, 0, 0,...} puis faites de

mme avec les signaux suivants

y1 [n] = x[n 2]
y2 [n] = x[3 n]
y3 [n] = x[n + 1] [n]

SNB 3

y4 [n] = x[n] [n]


y5 [n] = x[n + 1] [n]
y6 [n] = x[3 n] [n 2]

Trouvez les expressions mathmatiques dcrivant les signaux de la gure

SNB 3.
x [n]

x2[n]

3
2

1.5

1
.....

0
0.5

2
5

10

x3[n]

0.8

0.6

0.6

0.4

1, 0.9, 0.81, 0.73, 0.656, .....

0.8

0.4
.....

0.2
0
0.2

10

x4[n]

1, 0.9, 0.81, 0.73, 0.656, .....

.....

0.2
0

10

0.2

10

Fig. 9.17: Ex. SNB 3

SNB 4

Considrant les fonctions oscillantes ci-dessous, donnez pour chacune d'entre-

elles la pulsation normalise

0 ,

la priode numrique

et le nombre de priodes

analogiques par priode numrique.

25

Description des signaux et systmes numriques

x1 [n] = cos(n /20)


x2 [n] = cos(n 3/8)
x3 [n] = cos(n 13/8 /3)

SNC 1

x4 [n] = exp(j n /4 /2)


x5 [n] = 3 sin(5 n + /6)
x6 [n] = cos(n 3/10) sin(n /10) + 3 cos(n /5)

On considre un systme temporellement invariant auquel on applique suc-

x1 [n], x2 [n]
y1 [n], y2 [n].

cessivement les signaux d'entre


correspondent les suites

(gure SNC 1). A ces signaux distincts

1. Quelle est la rponse impulsionnelle du systme ?


2. Dterminez si le systme est linaire ou non.
3. Donnez son quation aux dirences et dessinez son schma fonctionnel.
x1[n]

y [n]
1

1.5

0.5

0
5

10

x2[n]

10

10

y2[n]

1.5

0.5

0
5

10

Fig. 9.18: Ex. SNC 1

SNC 2

On considre un systme LTI causal dcrit par sa rponse impulsionnelle

h[n] = {4, 3, 2, 1, 0, 0, 0, } n 0
et les signaux d'entre suivants

x1 [n] = [n 1]
x2 [n] = +2[n] [n 1]
Esquissez ces signaux

xk [n]

et les rponses respectives

avec le produit de convolution.

26

x3 [n] = [n] [n 5]


x4 [n] = [n + 5]
yk [n]

aprs les avoir calcules

9.5 Exercices

SNC 3

tant donn la rponse impulsionnelle causale

h[n 0] = {0, 1, 1, 1, 1, 2, 2, 0, 0, }
d'un systme LTI, dessinez cette rponse puis calculez et esquissez sa rponse

x[n] = [n].

SNC 4

De quel ltre s'agit-il ?

Utilisez le produit de convolution pour calculer la rponse indicielle d'un


h[n] = 0.8n [n].

systme causal et LTI dcrit par sa rponse impulsionnelle

SNC 5

On considre un systme dcrit par l'quation aux dirences suivantes

y[n] = 2 x[n 1] +

3
1
y[n 1] y[n 2]
4
8

Dessinez son schma fonctionnel et calculez sa rponse impulsionnelle sachant que


les CI sont nulles.

SNC 6

h[n]
appliqu x[n]

Trouvez la rponse impulsionnelle

rpondu avec le signal

y[n]

au signal

d'un systme causal LTI qui a


(gure SNC 6).

x[n]

y[n]

2.5

1.5
1

0.5
0

3
5

10

10

Fig. 9.19: Ex. SNC 6


Remarque : Ce calcul, qui porte le nom d'opration de dconvolution, se fait de

manire rcursive directement partir de la dnition du produit de convolution.

SNC 7

On souhaite appliquer une interpolation en cosinus d'ordre 4 la squence

numrique

x[n] = {1, 6, 3}.

Pour ce faire,

1. calculez littralement la rponse impulsionnelle

et

h[N] = 0 ;

2. calculez les valeurs numriques de


3. crez la suite
Rp. :

h[n] en cosinus telle que h[0] =

x0 [n]

h[n] ;

et calculez la suite interpole

 n 
1 
1 + cos
h[n] =
2
N

avec

y[n].

N n +N

27

Description des signaux et systmes numriques

h[n]
x0 [n]
h1 [n]
h6 [n]
h3 [n]
y[n]

28

0.1465

0.5

0.8535

0.8535

0.5

0.1465

0.8535

0.5

0.1465

0.8787

5.1213

5.1213

0.8787

0.4394

1.5

2.5606

5.5607

4.5

3.4393

1.7322

3.5

5.2678