Sie sind auf Seite 1von 38

GELE2511 Chapitre 6 :

Convolution discrète

Gabriel Cormier, Ph.D., ing.

Université de Moncton

Hiver 2013

Gabriel Cormier (UdeM) GELE2511 Chapitre 6 Hiver 2013 1 / 38


Introduction

Contenu

Contenu
Convolution discrète
Convolution de séquences finies
Propriétés
Corrélation
Auto-corrélation
Applications

Gabriel Cormier (UdeM) GELE2511 Chapitre 6 Hiver 2013 2 / 38


Convolution

Convolution

La convolution est une méthode pour combiner deux signaux et en


produire un troisième.
C’est la technique la plus importante en traitement de signaux.
La convolution permet de relier l’entrée, la sortie et la réponse
impulsionnelle d’un système.

Système
x[n] y[n]
h[n]

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

Gabriel Cormier (UdeM) GELE2511 Chapitre 6 Hiver 2013 3 / 38


Convolution

Convolution

On a déjà vu comment un système peut être caractérisé par sa


réponse impulsionnelle.
Si on connaı̂t la réponse impulsionnelle d’un système, alors on connaı̂t
sa sortie pour n’importe quelle entrée.
La convolution permet de calculer la sortie d’un système étant donnés
l’entrée et la réponse impulsionnelle.
Rappel : x[n] ∗ h[n] veut dire la convolution de x[n] et h[n].

Gabriel Cormier (UdeM) GELE2511 Chapitre 6 Hiver 2013 4 / 38


Convolution

Signaux discrets et convolution

On peut représenter un signal discret comme une somme d’impulsions.

x[n]

3 3

0 n 0 3δ[n-1] 3δ[n-3] 1δ[n-5]


3δ[n] 3δ[n-2] 2δ[n-4]

x[n] = 3δ[n] + 3δ[n − 1] + 3δ[n − 2] + 3δ[n − 3] + 2δ[n − 4] + δ[n − 5]


De façon générale,

X
x[n] = x[k]δ[n − k]
k=−∞

Gabriel Cormier (UdeM) GELE2511 Chapitre 6 Hiver 2013 5 / 38


Convolution

Signaux discrets et convolution


Par superposition, la sortie y[n] d’un système est la somme des réponses
impulsionnelles aux entrées x[n] :

Système h0[n]
3
+
Système h1[n]
0 3δ[n-1] 3δ[n-3] 1δ[n-5] +
3δ[n] 3δ[n-2] 2δ[n-4] Système h2[n]
+

y[n]


X
y[n] = x[k]h[n − k] = x[n] ∗ h[n]
k=−∞

Gabriel Cormier (UdeM) GELE2511 Chapitre 6 Hiver 2013 6 / 38


Convolution Exemples

Exemple 1

Entrée : sinusoı̈de + rampe. Système : filtre passe-bas.


x[n] h[n] y[n]
3 0.05 1.5

0.04
2 1
0.03
1 0.5
0.02
0 0
0.01

−1 0 −0.5
0 20 40 60 80 0 10 20 30 0 50 100
n n n

Sortie : sinusoı̈de fortement atténué. La séquence de sortie est 111


échantillons : Le + Lh − 1, où Le est la longueur de l’entrée (81 ici) et Lh
est la longueur du système (31 ici). 81 + 31 − 1 = 111.

Gabriel Cormier (UdeM) GELE2511 Chapitre 6 Hiver 2013 7 / 38


Convolution Exemples

Exemple 2

Entrée : sinusoı̈de + rampe. Système : filtre passe-haut.


x[n] h[n] y[n]
3 1 2

2 1
0.5

1 0

0
0 −1

−1 −0.5 −2
0 20 40 60 80 0 10 20 30 0 50 100
n n n

Sortie : sinusoı̈de. La séquence de sortie est 111 échantillons.

Gabriel Cormier (UdeM) GELE2511 Chapitre 6 Hiver 2013 8 / 38


Impact de l’entrée

Impact de l’entrée

On va analyser la convolution d’un système simple en détail : on


cherche à voir l’impact de chaque entrée sur la sortie finale.
On utilisera un système simple ayant 4 échantillons, et une entrée de
6 échantillons.

Gabriel Cormier (UdeM) GELE2511 Chapitre 6 Hiver 2013 9 / 38


Impact de l’entrée

Impact de l’entrée

La sortie a une longueur de 9 échantillons (6 + 4 − 1).

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


2 2 2

1 1 1

0 0 0

−1 −1 −1

−2 −2 −2
0 1 2 3 4 5 0 1 2 3 0 1 2 3 4 5 6 7 8
n n n

Selon l’équation de la convolution, la sortie est la somme de chaque entrée


multipliée par le système complet.

Gabriel Cormier (UdeM) GELE2511 Chapitre 6 Hiver 2013 10 / 38


Impact de l’entrée

Impact de l’entrée
La sortie totale est la somme de chaque sortie yk [n].
y1[n] y2[n]
y3[n]
2 2
2
1 1
1
0 0 0

−1 −1 −1

−2 −2 −2
0 2 4 6 8 0 2 4 6 8 0 2 4 6 8
n n n
y4[n] y5[n] y6[n]
2 2 2

1 1 1

0 0 0

−1 −1 −1

−2 −2 −2
0 2 4 6 8 0 2 4 6 8 0 2 4 6 8
Point bleu = l’entrée
n multipliée par len système. n

Point rouge = 0 ajouté pour avoir la bonne longueur de séquence.


Gabriel Cormier (UdeM) GELE2511 Chapitre 6 Hiver 2013 11 / 38
Impact de l’entrée

Impact de l’entrée

On va analyser la sortie produite par la convolution.


On cherche à voir comment chaque point de la sortie est affecté par
les entrées et le système.

Gabriel Cormier (UdeM) GELE2511 Chapitre 6 Hiver 2013 12 / 38


Impact de l’entrée

Impact de l’entrée

On va analyser le point y[4].


y1[n] y2[n]
y3[n]
2 2
2
1 1
1

4 points bleus 0 0 0
contribuent à y[4]. −1 −1 −1

−2 −2 −2
y[4] = x[1]h[3] 0 2 4 6 8 0 2 4 6 8 0 2 4
n
6 8
n n
y4[n] y5[n] y6[n]
+ x[2]h[2]
2 2 2
+ x[3]h[1] 1 1 1
+ x[4]h[0] 0 0 0

−1 −1 −1

−2 −2 −2
0 2 4 6 8 0 2 4 6 8 0 2 4 6 8
n n n

Gabriel Cormier (UdeM) GELE2511 Chapitre 6 Hiver 2013 13 / 38


Impact de l’entrée

Impact de l’entrée

On va analyser le point y[7].


y1[n] y2[n]
y3[n]
2 2
2
1 1
1
2 points bleus 0 0 0
contribuent à y[7]. −1 −1 −1

−2 −2 −2
y[4] = x[4]h[3] 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8
n n n
y4[n] y5[n] y6[n]
+ x[5]h[2]
2 2 2

⇒ basé sur moins 1 1 1

d’information. 0 0 0

−1 −1 −1

−2 −2 −2
0 2 4 6 8 0 2 4 6 8 0 2 4 6 8
n n n

Gabriel Cormier (UdeM) GELE2511 Chapitre 6 Hiver 2013 14 / 38


Impact de l’entrée

Convolution : problèmes

Les M − 1 points aux bouts sont basés sur moins d’information.


(M est la longueur de h[n])
Ceci peut causer des problèmes ; il peut y avoir des erreurs dans les
bouts des signaux, à cause de la convolution.
En général, il faut s’attendre que l’information aux bouts d’un signal
ne soit pas utilisable.

Gabriel Cormier (UdeM) GELE2511 Chapitre 6 Hiver 2013 15 / 38


Impact de l’entrée

Convolution : problèmes

Exemple : une sinusoı̈de avec un niveau CC, qu’on filtre avec un filtre
passe-haut. Il ne devrait rester que la sinusoı̈de.
x[n] h[n] y[n]
4 1.5 4

utilisable
2 1 2

0 0.5 0

−2 0 −2

−4 −0.5 −4
0 20 40 60 80 0 10 20 30 0 20 40 60 80 100
n n n

Seule la région centrale est utilisable.

Gabriel Cormier (UdeM) GELE2511 Chapitre 6 Hiver 2013 16 / 38


Séquences finies

Convolution de séquences finies

Il existe quelques méthodes pour faire la convolution de séquences


finies.
La convolution de séquences finies x[n] et h[n] donne une séquence
finie y[n].
Quelques règles à suivre :
L’indice de début de y[n] est la somme des indices de début de x[n] et
h[n].
L’indice de fin de y[n] est la somme des indices de fin de x[n] et h[n].
La longueur de y[n] est la somme des longueurs de x[n] et h[n] moins
1 : Ly = Lx + Lh − 1

Gabriel Cormier (UdeM) GELE2511 Chapitre 6 Hiver 2013 17 / 38


Séquences finies

Méthode 1 : Somme des colonnes

Cette méthode ressemble un peu à la multiplication faite à la main.

Exemple : Faire la convolution de h[n] = {1, 2, 2, 3} et x[n] = {2, −1, 3}.


↑ ↑

En appliquant la méthode,

h[n] = 1 2 2 3
x[n] = 2 -1 3
2 4 4 6
-1 -2 -2 -3
3 6 6 9
2 3 5 10 3 9

La sortie est y[n] = {2, 3, 5, 10, 3, 9}.


Gabriel Cormier (UdeM) GELE2511 Chapitre 6 Hiver 2013 18 / 38


Séquences finies

Méthode 2 : ruban glissant


On déplace x[−n] devant h[n] en multipliant à chaque fois.

Exemple : h[n] = {2, 5, 0, 4} et x[n] = {4, 1, 3}.


↑ ↑

2 5 0 4 2 5 0 4 2 5 0 4
3 14 3 1 4 3 1 4
8 2 20 6 5 0
y[0] = somme = 8 y[1] = somme = 22 y[2] = somme = 11

25 0 4 2 5
0 4 2 5 0 4
3 1 4 3 1 4 3 1 4
15 0 16 0 4 12
y[3] = somme = 31 y[4] = somme = 4 y[5] = somme = 12

La sortie est y[n] = {8, 22, 11, 31, 4, 12}.


Gabriel Cormier (UdeM) GELE2511 Chapitre 6 Hiver 2013 19 / 38


Séquences finies

Méthode 3 : polynômes

La convolution est la même procédure que la multiplication de polynômes.

Exemple : h[n] = {2, 5, 0, 4} et x[n] = {4, 1, 3}.


↑ ↑

On peut considérer h[n] et x[n] comme des polynômes :

h(z) = 2z 3 + 5z 2 + 4
x(z) = 4z 2 + z + 3

On fait la multiplication (2z 3 + 5z 2 + 4)(4z 2 + z + 3) :

y(z) = 8z 5 + 22z 4 + 11z 3 + 31z 2 + 4z + 12

La sortie est y[n] = {8, 22, 11, 31, 4, 12}.


Gabriel Cormier (UdeM) GELE2511 Chapitre 6 Hiver 2013 20 / 38


Séquences finies

Matlab

La convolution est très facile avec Matlab. Il s’agit d’utiliser la commande


conv.

>> h = [2 5 0 4];
>> x = [4 1 3];
>> y = conv(h,x)
y =
8 22 11 31 4 12

Gabriel Cormier (UdeM) GELE2511 Chapitre 6 Hiver 2013 21 / 38


Propriétés

Propriétés de la convolution

Convolution avec une impulsion :

x[n] ∗ δ[n] = x[n]

Déphasage :
x[n] ∗ δ[n − s] = x[n − s]
Convolution avec un échelon :

X
x[n] ∗ u[n] = x[k] = r[k]
k=0

Gabriel Cormier (UdeM) GELE2511 Chapitre 6 Hiver 2013 22 / 38


Propriétés

Propriétés de la convolution

Commutativité :
a[n] ∗ b[n] = b[n] ∗ a[n]
Associativité :

(a[n] ∗ b[n]) ∗ c[n] = a[n] ∗ (b[n] ∗ c[n])

Distributivité :

a[n] ∗ b[n] + a[n] ∗ c[n] = a[n] ∗ (b[n] + c[n])

Gabriel Cormier (UdeM) GELE2511 Chapitre 6 Hiver 2013 23 / 38


Convolution périodique

Convolution périodique

La convolution normale de deux signaux qui sont tous 2 périodiques


n’existe pas.
Il faut alors faire la convolution périodique ou circulaire en utilisant
des moyennes.
Si x[n] et h[n] sont tous deux périodiques avec la même période N ,
alors leur convolution périodique produira une séquence y[n] qui est
périodique aussi, ayant la même période N .

Gabriel Cormier (UdeM) GELE2511 Chapitre 6 Hiver 2013 24 / 38


Convolution périodique

Convolution périodique

La convolution périodique est notée :

yp [n] = xp [n] ~ hp [n]

où xp [n] veut dire que x[n] est périodique.


Il y a parfois un facteur de normalisation 1/N dans la convolution
circulaire.

Gabriel Cormier (UdeM) GELE2511 Chapitre 6 Hiver 2013 25 / 38


Convolution périodique

Convolution périodique

Pour faire la convolution périodique, il faut :


Faire la convolution normale d’une période de x[n] et h[n]
La réponse aura 2N − 1 échantillons. On ajoute un zéro à la fin pour
avoir 2N échantillons.
On coupe la réponse en deux moitiés.
On fait la somme des deux moitiés.

Gabriel Cormier (UdeM) GELE2511 Chapitre 6 Hiver 2013 26 / 38


Convolution périodique

Exemple

Faire la convolution de hp [n] = {1, 2, 3, 1} et xp [n] = {1, 0, 1, 1}.

h[n] = 1 2 3 1 Première moitié 1 2 4 4


x[n] = 1 0 1 1 Deuxième moitié 5 4 1 0
1 2 3 1 6 6 5 4
0 0 0 0 0
1 2 3 1 yp [n] = {6, 6, 5, 4}
1 2 3 1
1 2 4 4 5 4 1

Gabriel Cormier (UdeM) GELE2511 Chapitre 6 Hiver 2013 27 / 38


Corrélation

Corrélation

La corrélation est une méthode pour mesurer la similitude entre deux


signaux.
C’est une technique très similaire à la convolution.
On l’utilise beaucoup pour enlever le bruit dans des signaux et
détecter des composantes périodiques.

Gabriel Cormier (UdeM) GELE2511 Chapitre 6 Hiver 2013 28 / 38


Corrélation

Corrélation

La corrélation permet de comparer deux signaux.



X ∞
X
rxh = x[n] ∗ ∗h[n] = x[k]h[k − n] = x[n + k]h[k]
k=−∞ k=−∞

Il s’agit de faire la convolution de x[n] et h[−n].


Remarquer que x[n] ∗ ∗h[n] 6= h[n] ∗ ∗x[n], mais plutôt
rxh [n] = rhx [−n].

Gabriel Cormier (UdeM) GELE2511 Chapitre 6 Hiver 2013 29 / 38


Corrélation

Exemple

Pour détecter un avion, on envoie un


pulse à un moment donné, puis on
reçoit une version atténuée de ce
pulse, décalé dans le temps, et
contenant beaucoup de bruit.

La distance de l’objet dépend de l’instant auquel on reçoit le pulse.

Gabriel Cormier (UdeM) GELE2511 Chapitre 6 Hiver 2013 30 / 38


Corrélation

Exemple
Système radar : cas idéal.

Pulse
1

0.5

0
0 20 40 60 80 100 120 140 160 180 200
Pulse reçu idéal
1

0.5

0
0 20 40 60 80 100 120 140 160 180 200
Corrélation idéale

20

10

0
0 50 100 150 200 250 300 350 400 450

Gabriel Cormier (UdeM) GELE2511 Chapitre 6 Hiver 2013 31 / 38


Corrélation

Exemple
Système radar : cas avec bruit.

Pulse
1

0.5

0
0 20 40 60 80 100 120 140 160 180 200
Signal reçu avec bruit
5

−5
0 20 40 60 80 100 120 140 160 180 200
Corrélation

20

10

0
0 50 100 150 200 250 300 350 400 450

Gabriel Cormier (UdeM) GELE2511 Chapitre 6 Hiver 2013 32 / 38


Corrélation

Corrélation

L’amplitude de chaque échantillon dans le signal de corrélation est


une mesure de combien le signal reçu ressemble au signal original à ce
point-là.
Ceci veut dire qu’un pic se produit à chaque endroit où le signal
original est présent dans le signal reçu.
L’amplitude du signal de corrélation est maximale au point où le
signal voulu est aligné avec le signal reçu.

Gabriel Cormier (UdeM) GELE2511 Chapitre 6 Hiver 2013 33 / 38


Corrélation

Corrélation

La forme du pic dans le signal de corrélation n’a pas besoin de


ressembler au signal voulu. Le but n’est pas recréer le signal original,
mais plutôt de le détecter.
La corrélation est la meilleure façon de détecter un signal connu dans
un signal ayant du bruit.
Le pic est plus élevé au-dessus du bruit en utilisant la corrélation que
toute autre méthode linéaire.
L’utilisation de la corrélation pour détecter un signal connu est
souvent appelé le filtrage adaptatif (matched filtering).

Gabriel Cormier (UdeM) GELE2511 Chapitre 6 Hiver 2013 34 / 38


Auto-corrélation

Auto-corrélation

Si on fait la corrélation d’un signal avec lui-même, on appelle ceci


l’auto-corrélation.
L’auto-corrélation permet d’identifier un signal périodique qui est
caché dans du bruit.
Ceci ne permet pas nécessairement d’identifier le signal périodique,
mais plutôt de trouver la période.
Ensuite, on peut récupérer le signal original par d’autres méthodes.

Gabriel Cormier (UdeM) GELE2511 Chapitre 6 Hiver 2013 35 / 38


Auto-corrélation

Exemple

Signal avec bruit


4

−2

−4
0 20 40 60 80 100 120 140 160 180 200
n
Auto−Corrélation
500

−500
0 20 40 60 80 100 120 140 160 180 200
n

Gabriel Cormier (UdeM) GELE2511 Chapitre 6 Hiver 2013 36 / 38


Auto-corrélation

Exemple 2

Signal original Signal avec bruit


3 3
On identifie la période
2 2
par auto-corrélation.
1 1

La corrélation du signal 0 0

bruité avec un train −1


0 20 40 60
−1
0 20 40 60
d’impulsions ayant la Autocorrélation Corrélation avec train d’impulsions
bonne période permet de 300 15

récupérer le signal 250


10
original. 200
5
150

100 0
0 20 40 60 0 20 40 60

Gabriel Cormier (UdeM) GELE2511 Chapitre 6 Hiver 2013 37 / 38


Conclusion

Conclusion

Les points clés de ce chapitre sont :


Calcul de la convolution
Applications de la convolution.
Calcul de la corrélation.

Gabriel Cormier (UdeM) GELE2511 Chapitre 6 Hiver 2013 38 / 38

Das könnte Ihnen auch gefallen