Vous êtes sur la page 1sur 21

Chapitre III Signaux discrets

1. Définition :
Un signal discret 𝑥(𝑘) est une fonction d’une variable entière indépendante. Un exemple de
signal discret est donné par la figure suivante.

Figure III.1 Représentation graphique d’un signal discret

Il est important de noter qu’un signal discret n’est pas défini aux instants entre deux
échantillons successifs. Si le signal discret est obtenu après une opération d’échantillonnage
𝑥(𝑘) ≡ 𝑥(𝑘. 𝑇𝑒 ) où 𝑇𝑒 est la période d’échantillonnage.

En plus de la représentation graphique un signal discret peut être représenté par :

1 𝑝𝑜𝑢𝑟 𝑘 = 1,3
- Une représentation sous forme de fonction : 𝑥 (𝑘 ) = {4 𝑝𝑜𝑢𝑟 𝑘 = 2 (1)
0 𝑎𝑖𝑙𝑙𝑒𝑢𝑟𝑠

-Une représentation sous forme de tableau :

k … -2 -1 0 1 2 3 4 5 …
x(k) … 0 0 0 1 4 1 0 0 …

- Une représentation sous forme de séquence :

𝑥(𝑘) = {… , 0, 0, 1, 4, 1, 1,0,0, … }
 une séquence infinie aura la forme suivante où le

symbole ↑ représente l’instant où k=0.
 une séquence infinie où x(k) est causal aura la forme suivante :
𝑥 (𝑘 ) = { 0, 1, 4, 1, 1,0,0, … }

1
2 Signaux discrets élémentaires

2.1 Séquence échantillon unité :


1 𝑝𝑜𝑢𝑟 𝑘 = 0
Elle est notée δ(k) et est définie par : 𝛿(𝑘) ≡ { (2)
0 𝑎𝑖𝑙𝑙𝑒𝑢𝑟𝑠

Elle est aussi appelée impulsion unité

Figure III.2 Séquence échantillon unité

2.2 Le signal discret échelon unité


1 𝑝𝑜𝑢𝑟 𝑘 ≥ 0
Il est noté u(k) et défini par : 𝑢(𝑘) ≡ { (3)
0 𝑎𝑖𝑙𝑙𝑒𝑢𝑟𝑠

Figure III.3 Signal discret échelon unité

2.3 Le signal discret unité rampe :


𝑘 𝑝𝑜𝑢𝑟 𝑘 ≥ 0
Il est défini par r(𝑘) ≡ { (4)
0 𝑎𝑖𝑙𝑙𝑒𝑢𝑟𝑠

Figure III.4 Signal discret unité rampe

2
3 Convolution discrète :

3.1 Définition
En continu la convolution de deux signaux continus 𝑥(𝑡) et 𝑦(𝑡) donne un signal 𝑧(𝑡) défini
par :
+∞
𝑧(𝑡) = 𝑥 (𝑡) ∗ 𝑦(𝑡) = ∫−∞ 𝑥(𝜏)𝑦(𝑡 − 𝜏)𝑑𝜏 (5)

En discret, l’échantillonnage donne les suites de termes : 𝑥(𝑖𝑇𝑒 ) (= 𝑥(𝑖)) 𝑒𝑡 𝑦(𝑖𝑇𝑒 ) (= 𝑦(𝑖)). La
convolution discrète z de x et de y, formée des points 𝑧(𝑖𝑇𝑒 ) (= 𝑧(𝑖)), est définie à partir de
l’écriture discrétisée de la fonction de convolution continue donnée précédemment.
+∞

𝑧(𝑘 ) = ∑ 𝑥 (𝑖 ). 𝑦(𝑘 − 𝑖 ) 𝑎𝑣𝑒𝑐 𝑘 𝑞𝑢𝑒𝑙𝑐𝑜𝑛𝑞𝑢𝑒 (6)


𝑖=−∞

Mais, pour N échantillons de 𝑥 (𝑖 ) et 𝑦(𝑖 ), la convolution discrète s’exprime par :


𝑁−1

𝑧(𝑘 ) = ∑ 𝑥(𝑖 ). 𝑦(𝑘 − 𝑖 ) 𝑎𝑣𝑒𝑐 𝑘 ∈ [0, 𝑁 − 1] (7)


𝑖=0

Il est important de remarquer que ce calcul nécessite de connaître 𝑦(𝑖) en dehors de l’intervalle
précédemment défini ; en effet nous avons besoin des échantillons correspondant à l’intervalle
𝑖 ∈ {−𝑁 + 1, . . . , − 1, 0,1, . . . , 𝑁 − 1}. Pour pouvoir réaliser effectivement le calcul, plusieurs
solutions sont possibles :

- Cas 1 :

Les échantillons en dehors de l’intervalle {0,1, . . . , 𝑁 − 1}


sont considérés comme nuls :
𝑥(𝑖) = 0 et y(i) = 0 pour 𝑖 < 0 ou 𝑖 ≥ 𝑁.

- Cas 2 :
Les échantillons en dehors de l’intervalle {0,1, . . . , 𝑁 − 1}
sont considérés comme identiques, c’est-à-dire comme si
la fonction était périodique et de période 𝑁𝑇𝑒 .
- Cas 3 :
Les échantillons en dehors de l’intervalle
{0,1, . . . , 𝑁 − 1} peuvent être connus et alors utilisés pour N/2

le calcul. Ou si ils ne le sont pas, la convolution peut


alors être calculée sur un intervalle moitié de l’intervalle
𝑁/2.
Figure III.5 La convolution discrète

3
Le premier cas conduit à des résultats présentant des distorsions, alors que les deux dernières
solutions conduisent à des résultats beaucoup plus acceptables et semblent être les plus
utilisées.

3.2 Forme directe de la convolution


Dans de nombreuses applications pratiques, nous échantillonnons notre signal d'entrée
analogique (conformément aux exigences du théorème d'échantillonnage) et recueillons un
ensemble fini d'échantillons, par exemple 𝐿 échantillons, représentant un enregistrement fini du
signal d'entrée. La durée de l'enregistrement en secondes sera: 𝑇𝐿 = 𝐿. 𝑇𝑒 où 𝑇𝑒 est la période
d’échantillonnage.

Les L échantillons collectés du signal 𝑥(𝑘) peuvent être représentés par un bloc :

𝑥 = [𝑥0 , 𝑥1 , … , 𝑥𝐿−1 ]

Considérons un filtre causal FIR d'ordre 𝑀 avec une réponse impulsionnelle ℎ (𝑘 ),

𝑘 = 0, 1, . . . , 𝑀. Il peut être représenté comme un bloc :

ℎ = [ℎ0 , ℎ1 , … , ℎ𝑀 ]

Sa longueur (c'est-à-dire le nombre de coefficients de filtre) est égale à son ordre +1 :

𝐿ℎ = 𝑀 + 1

La convolution du signal entrée 𝑥 de longueur 𝐿 avec le filtre ℎ d’ordre M donnera une séquence
de sortie 𝑦 (𝑘). Nous devons déterminer :

(i) la plage de valeurs de l'indice de sortie 𝑘, et


(ii) la gamme de sommation précise en 𝑖.
+∞

𝑦 (𝑘 ) = ∑ ℎ ( 𝑖 ) 𝑥 ( 𝑘 − 𝑖 )
𝑖=−∞
L'indice de ℎ (𝑖) doit se situer dans l’intervalle : 0 ≤ 𝑖 ≤ 𝑀 et l’indice de 𝑥 (𝑘 − 𝑖) doit se situer
dans l’intervalle : 0 ≤ 𝑘 − 𝑖 ≤ 𝐿 − 1 ou encore 𝑖 ≤ 𝑘 ≤ 𝐿 + 𝑖 − 1 et ce qui donne :

0≤𝑖 ≤𝑘 ≤ 𝐿+𝑖−1≤𝐿+𝑀−1 𝑐à𝑑 0 ≤ 𝑘 ≤ 𝐿 + 𝑀 − 1


0 ≤ 𝑘 − 𝑖 ≤ 𝐿 − 1 donne en multipliant par (-1) :
𝑘−𝐿+1≤ 𝑖 ≤𝑘
en même temps 0≤𝑖≤𝑀

Il s'ensuit que 𝑖 doit être supérieur au maximum des deux côtés gauches et
inférieur au minimum des deux côtés de droite, c'est-à-dire :

𝑀𝑎𝑥(0, 𝑘 − 𝐿 + 1) ≤ 𝑖 ≤ 𝑀𝑖𝑛(𝑘, 𝑀)

4
Par conséquent, dans le cas d'un filtre FIR d’ordre 𝑀 et d'un signal entrée de longueur 𝐿, la
forme directe de convolution est donnée comme suit :
𝑀𝑖𝑛(𝑘,𝑀)

𝐹𝑜𝑟𝑚𝑒 𝑑𝑖𝑟𝑒𝑐𝑡𝑒: 𝑦(𝑘 ) = ∑ ℎ ( 𝑖 )𝑥 (𝑘 − 𝑖 )


𝑖=𝑀𝑎𝑥(0,𝑘−𝐿+1)

3.3 Convolution des séquences finies :


Pour deux séquences finies 𝑥 (𝑘 ) et 𝑦(𝑘 ) et si 𝑥 (𝑘 ) est définie sur l’intervalle [k1, k2] et y(k)
définie sur l’intervalle [k3, k4] alors la séquence 𝑧(𝑘) = 𝑥(𝑘) ∗ 𝑦(𝑘) sera définie sur l’intervalle
[k1+k3, k2+k4].

Exemple :

Calculer la convolution des deux signaux 𝑥1(𝑘 )et 𝑥2(𝑘 ) si :

𝑎) − 𝑥1(𝑘 ) = 1 𝑝𝑜𝑢𝑟 𝑘 = 0, 𝑘 = 1, 𝑘 = 2 𝑒𝑡 𝑥1(𝑘 ) = 0 𝑎𝑖𝑙𝑙𝑒𝑢𝑟𝑠

− 𝑥2(𝑘 ) = 𝑥1(𝑘 )

𝑏) − 𝑥1(𝑘 ) = 1 𝑝𝑜𝑢𝑟 𝑘 = 0, 𝑘 = 1, 𝑘 = 2 𝑒𝑡 𝑥1(𝑘 ) = 0 𝑎𝑖𝑙𝑙𝑒𝑢𝑟𝑠

− 𝑥2(𝑘 ) = 1 𝑝𝑜𝑢𝑟 𝑘 = −2, 𝑘 = −1, 𝑘 = 0 𝑒𝑡 𝑥2(𝑘 ) = 0 𝑎𝑖𝑙𝑙𝑒𝑢𝑟𝑠


2 2

𝑎) 𝑦(𝑘 ) = ∑ 𝑥1(𝑖 )𝑥2(𝑘 − 𝑖 ) 𝑘𝜖[0,4] 𝑦(0) = ∑ 𝑥1(𝑖 )𝑥1(−𝑖 ) = 𝑥1(0)𝑥1(0) = 1


𝑖=0 𝑖=0

2 2

𝑦(1) = ∑ 𝑥1(𝑖 )𝑥1(1 − 𝑖 ) 𝑦(2) = ∑ 𝑥1(𝑖 )𝑥1(2 − 𝑖 )


𝑖=0 𝑖=0
= 𝑥1(0)𝑥1(1) + 𝑥1 (1)𝑥1 (0) = 2 = 𝑥1(0)𝑥1(2) + 𝑥1 (1)𝑥1 (1)
2
+ 𝑥1 (2)𝑥1 (0) = 3
𝑦(3) = ∑ 𝑥1(𝑖 )𝑥1(3 − 𝑖 ) 2
𝑖=0 𝑦(4) = ∑ 𝑥1(𝑖 )𝑥1(4 − 𝑖 ) = 𝑥1(2)𝑥1(2) = 1
= 𝑥1(1)𝑥1(2) + 𝑥1 (2)𝑥1 (1) = 2 𝑖=0

𝑦(𝑘 ) = {1↑ , 2,3,2,1}

Ce résultat peut être trouvé directement à partir de la table suivante où la première ligne
correspond aux échantillons du premier signal et la première colonne est prévue pour les
échantillons du deuxième signal

𝑥1 (0) 𝑥1 (1) 𝑥1 (2)


𝑥1 (0) 𝑥1 (0)2 𝑥1 (0)𝑥1 (1) 𝑥1 (0)𝑥1 (2)
𝑥1 (1) 𝑥1 (1)𝑥1 (0) 𝑥1 (1)2 𝑥1 (1)𝑥1 (2)
𝑥1 (2) 𝑥1 (2)𝑥1 (0) 𝑥1 (2)𝑥1 (1) 𝑥1 (2)2

5
Les éléments du tableau sont obtenus en multipliant les lignes par les colonnes, les k échantillons
de la convolution correspondent à la somme des éléments des lignes anti-diagonales du tableau
avec 𝑘 = 𝑖 + 𝑗 𝑖 indice des lignes et 𝑗 indice des colonnes.
2

𝑏) 𝑦(𝑘 ) = ∑ 𝑥1(𝑖 )𝑥2(𝑘 − 𝑖 ) 𝑘𝜖[−2,2]


𝑖=0

𝑥1 (0) 𝑥1 (1) 𝑥1 (2)


𝑥2 (−2) 𝑥2 (−2)𝑥1 (0) 𝑥2 (−2)𝑥1 (1) 𝑥2 (−2)𝑥1 (2)
𝑥2 (−1) 𝑥2 (−1)𝑥1 (0) 𝑥2 (−1)𝑥1 (1) 𝑥2 (−1)𝑥1 (2)
𝑥2 (0) 𝑥2 (0)𝑥1 (0) 𝑥2 (0)𝑥1 (1) 𝑥2 (0)𝑥1 (2)

𝑦(−2) = 𝑥2 (−2)𝑥1 (0) = 1; 𝑦(−1) = 𝑥2 (−2)𝑥1 (1) + 𝑥2 (−1)𝑥1 (0) = 2

𝑦(0) = 𝑥2 (−2)𝑥1 (2) + 𝑥2 (−1)𝑥1 (1) + 𝑥2 (0)𝑥1 (0) = 3;

𝑦(1) = 𝑥2 (−1)𝑥1 (2) + 𝑥2 (0)𝑥1 (1) = 2; 𝑦(2) = 𝑥2 (0)𝑥1 (2) = 1

𝑦(𝑘 ) = {1,2, 3↑ , 2,1}

3.4 Convolution de séquences infinies :

En prenant les limites appropriées de la forme directe de la convolution


𝑀𝑖𝑛(𝑘,𝑀)

𝑦 (𝑘 ) = ∑ ℎ (𝑖 )𝑥 (𝑘 − 𝑖 )
𝑖=𝑀𝑎𝑥(0,𝑘−𝐿+1)

Nous pouvons obtenir les limites de sommation correctes pour les trois cas suivants :
1. Filtre infini, entrée finie ; C'est-à-dire, 𝑀 = ∞, 𝐿 < ∞.
2. Filtre fini, entrée infini ; C'est-à-dire 𝑀 < ∞, 𝐿 = ∞.
3. Filtre infini, entrée infinie ; C'est-à-dire, 𝑀 = ∞, 𝐿 = ∞.

Dans les trois cas, la plage de l'indice de sortie est infinie, 0 ≤ 𝑘 ≤ 𝐿 + 𝑀 − 1 d’où 0 ≤ 𝑘 ≤ ∞
c'est-à-dire que la sortie 𝑦 (𝑘) a une durée infinie.

Par conséquent, nous trouvons dans les trois cas :


𝑘

1. 𝑦(𝑘 ) = ∑ ℎ(𝑖 )𝑥 (𝑘 − 𝑖 ) ; 𝑀 = ∞, 𝐿 < ∞.


𝑖=𝑀𝑎𝑥(0,𝑘−𝐿+1)
𝑀𝑖𝑛(𝑘,𝑀)

2. 𝑦(𝑘 ) = ∑ ℎ (𝑖 )𝑥 (𝑘 − 𝑖 ) ; 𝑀 < ∞, 𝐿 = ∞.
𝑖=0
𝑘

3. 𝑦(𝑘 ) = ∑ ℎ(𝑖 )𝑥(𝑘 − 𝑖 ) ; 𝑀 = ∞, 𝐿 = ∞.


𝑖=0
6
Lorsque le filtre est infini, nous définissons l'état stationnaire comme la limite de 𝑦 (𝑘) pour
𝑘 grand.

Exemple : Un filtre RII a une réponse impulsionnelle ℎ (𝑘) = (0.75) 𝑘 𝑢 (𝑘). En utilisant la
convolution, trouver les expressions pour le signal de sortie 𝑦 (𝑘) lorsque l'entrée est :

(a) Un échelon unitaire, 𝑥 (𝑘) = 𝑢 (𝑘).


(b) Un échelon alterné 𝑥 (𝑘) = (−1)𝑘 𝑢 (𝑘).
(c) Une impulsion carrée de durée 𝐿 = 25 échantillons, 𝑥 (𝑘) = 𝑢 (𝑘) − 𝑢 (𝑘 − 25).

Dans le cas (a), parce que l'entrée et le filtre sont causaux et ont une durée infinie, nous
utilisons la formule :
𝑘 𝑘 𝑘
1 − (0.75) 𝑘+1
𝑦(𝑘 ) = ∑ ℎ(𝑖 )𝑥 (𝑘 − 𝑖 ) = ∑(0.75) 𝑢 (𝑘)𝑢(𝑘 − 𝑖 ) = ∑(0.75) 𝑖 =
𝑖
= 4 − 3(0.75) 𝑘
1 − 0.75
𝑖=0 𝑖=0 𝑖=0

𝑦(𝑘 ) = 4 𝑞𝑑 𝑘 → ∞

Dans le cas (b), nous avons :


𝑘 𝑘
𝑖 𝑘−𝑖
1 − (−0.75) 𝑘+1 4 3
𝑦(𝑘 ) = ∑(0.75) (−1) = (−1) ∑(−0.75) 𝑖 = (−1)𝑘
𝑘
= (−1)𝑘 + (0.75) 𝑘
1 + 0.75 7 7
𝑖=0 𝑖=0

4
𝑦 (𝑘 ) = (−1)𝑘 𝑞𝑑 𝑘 → ∞
7

Dans la partie (c), l'entrée est finie avec une longueur L = 25. Par conséquent,
𝑘 𝑘

𝑦 (𝑘 ) = ∑ ℎ (𝑖 ) 𝑥 (𝑘 − 𝑖 ) = ∑ (0.75) 𝑖
𝑖=𝑚𝑎𝑥(0,𝑘−𝐿+1) 𝑖=𝑚𝑎𝑥(0,𝑘−𝐿+1)

Nous devons distinguer deux cas :

- 0 ≤ 𝑘 ≤ 24 𝑒𝑡 𝑜𝑛 𝑎 𝑎𝑙𝑜𝑟𝑠
𝑘

𝑦(𝑘 ) = ∑(0.75) 𝑖 = 4 − 3(0.75) 𝑘


𝑖=0

- 24 ≤ 𝑘 ≤ ∞ 𝑒𝑡 𝑜𝑛 𝑎 𝑎𝑙𝑜𝑟𝑠
𝑘
1 − (0.75) 𝑘−(𝑘−24)+1 1 − (0.75) 25
𝑦(𝑘 ) = ∑ (0.75) 𝑖 = (0.75) 𝑘−24 = (0.75) 𝑘−24
1 − 0.75 1 − 0.75
𝑖=𝑘−24

7
4. Corrélation des signaux discrets :
Une opération mathématique qui ressemble étroitement à la convolution est la
corrélation. Comme dans le cas de la convolution deux signaux sont impliqués dans la
corrélation. L’opération de corrélation entre deux signaux sert à mesurer le degré de similitude
entre les deux signaux.

Exemple d’application de la corrélation :


Soient deux séquences de signaux 𝑥(𝑘) et 𝑦(𝑘) qu’on désire comparer. Par exemple, dans
des applications telles que le radar 𝑥(𝑘) peut représenter la version échantillonnée d’un signal
transmis et 𝑦(𝑘) peut représenter la version échantillonnée d’un signal reçu à la sortie d’un
CAN. Si la cible est présente dans l'espace de recherche du radar, le signal reçu 𝑦(𝑘) va
consister à une version décalée du signal transmis renvoyée par la cible et détériorée par un
bruit additif comme le montre la figure

Figure III.6 Détection d’une cible par un radar

La séquence du signal reçu 𝑦(𝑘)peut être représentée par :

𝑦(𝑘 ) = 𝜶 𝑥 (𝑘 − 𝑫) + 𝒘(𝒌) (8)

où 𝜶 correspond à un facteur d’atténuation représentant la perte d’information due à la


transmission aller-retour du signal x(k), 𝑫 est le retard correspondant à l’aller-retour, qui est
supposé être un entier multiple de la période d’échantillonnage et 𝒘(𝒌) représente le bruit
additif capté par l’antenne et qui correspond à tout bruit généré par des composants
électroniques et amplificateurs se trouvant à l’extrémité avant du récepteur.

D’autre part, s’il n’y a pas de cible dans l’espace de recherche du radar, le signal 𝑦(𝑘)
représente alors le bruit seul.

Le problème de détection par un radar va donc consister en la comparaison des deux


séquences de signaux 𝑥(𝑘)(signal de référence ou signal transmis)) et 𝑦(𝑘) (signal reçu)
pour déterminer s’il y a présence d’une cible et si c’est le cas déterminer le temps de retard
𝑫 pour calculer la distance de la cible.

8
En pratique le signal 𝑥(𝑘 − 𝑫) est fortement perturbé par le bruit additif au point où une
inspection visuelle de 𝑦(𝑘)ne révèle pas la présence ou l’absence du signal désiré réfléchi par la
cible.

La corrélation nous procure un moyen pour extraire cette importante information de 𝑦(𝑘).

4.1 Séquences d’inter-corrélation et d’auto-corrélation


Soient deux séquences de signaux réels 𝑥(𝑘) et 𝑦(𝑘) tous deux à énergie finie. L’inter-
corrélation de 𝑥(𝑘) et 𝑦(𝑘) est une séquence 𝑟𝑥𝑦 (𝑙 ), qui est définie par :

𝑟𝑥𝑦 (𝑙 ) = ∑ 𝑥 (𝑘 )𝑦(𝑘 − 𝑙 ) 𝑙 = 0, ±1, ±2, … (9)


𝑘=−∞

ou de façon équivalente

𝑟𝑥𝑦 (𝑙 ) = ∑ 𝑥 (𝑘 + 𝑙 )𝑦(𝑘 ) 𝑙 = 0, ±1, ±2, … (10)


𝑘=−∞

L’indice 𝒍 est le (temps) paramètre de décalage (retard) et les indices inférieurs 𝒙𝒚 sur la
séquence d’inter-corrélation représentent les séquences à corréler. L’ordre de ces indices
détermine la direction dans laquelle une séquence est décalée par rapport à l’autre. Dans la
première équation seule 𝑦(𝑘) est décalée de 𝒍 unités de temps, à droite si 𝒍 est positif et à gauche
si 𝒍 est négatif. Maintenant, dans la seconde équation seule x(k) est décalée de 𝒍 unités de
temps, à droite si 𝒍 est négatif et à gauche si 𝒍 est positif. Les deux équations sont équivalentes
puisque le décalage de x(k) à gauche de 𝒍 unité de temps par rapport à 𝑦(𝑘) est équivalent au
décalage de 𝑦(𝑘) à droite 𝒍 unité de temps par rapport à 𝑥(𝑘).

Si on calcule maintenant la séquence d’inter-corrélation 𝑟𝑦𝑥 (𝑙 ), cela donne :


𝑟𝑦𝑥 (𝑙 ) = ∑ 𝑦(𝑘 )𝑥(𝑘 − 𝑙 ) 𝑙 = 0, ±1, ±2, … (11)


𝑘=−∞

En comparant l’équation (9) et l’équation(11), on conclut que

𝑟𝑥𝑦 (𝑙 ) = 𝑟𝑦𝑥 (−𝑙 ) (12)

Alors la séquence d’inter-corrélation 𝑟𝑦𝑥 (𝑙 ) est simplement la version symétrique de 𝑟𝑥𝑦 (𝑙 ), où


la symétrie est réalisée par rapport à 𝑙 = 0. Ainsi 𝑟𝑦𝑥 (𝑙 ) fournit exactement la même
information que 𝑟𝑥𝑦 (𝑙 ) quant à la similarité entre 𝑥(𝑘) et 𝑦(𝑘).

Exemple :Déterminer la séquence d’inter-corrélation 𝑟𝑥𝑦 (𝑙 ) des séquences

𝑥(𝑘 ) = { … ,0,0, 2, −1,3,7, 1, 2, −3,0, … } 𝑦(𝑘 ) = { … ,0,0,1, −1,2, −2,4, 1, −2,5,0,0, … }


↑ ↑

9
L'indice de x (𝑘) doit se situer dans l’intervalle : -4≤ 𝑘 ≤ 2 et l’indice de y (𝑘 − 𝑙) doit se situer
dans l’intervalle : −4 ≤ 𝑘 − 𝑙 ≤ 3 ou encore −4 − 𝑘 ≤ −𝑙 ≤ 3 − 𝑘 et ce qui donne :
𝑘 − 3 ≤ 𝑙 ≤ 𝑘 + 4 𝑒𝑡 − 4 ≤ 𝑘 ≤ 2 𝑐𝑒 𝑞𝑢𝑖 𝑑𝑜𝑛𝑛𝑒 − 7 ≤ 𝑙 ≤ 6
2
{ 2,1,6, −14,4, 2,6}
𝑃𝑜𝑢𝑟 𝑙 = 0, 𝑟𝑥𝑦 (0) = ∑ 𝑥 (𝑘 )𝑦(𝑘 − 𝑙 ) = ∑ =7

𝑘=−4
𝑃𝑜𝑢𝑟 𝑙 = 1, 𝑟𝑥𝑦 (1) = 13, 𝑃𝑜𝑢𝑟 𝑙 = 2, 𝑟𝑥𝑦 (2) = −18 …etc.

𝑟𝑥𝑦 (𝑙 ) = { 10, −9,19,36, −14,33,0,7,13, −18,16, −7,5, −3}


on obtient alors

( )
𝑟𝑥𝑦 𝑙 = 0 𝑝𝑜𝑢𝑟 𝑙 ≥ 7 𝑒𝑡 𝑙 ≤ −8

- Relation entre convolution et corrélation :


𝑟𝑥𝑦 (𝑙 ) = 𝑥 (𝑙 ) ∗ 𝑦(−𝑙 ) (13)

- Fonction d’auto-corrélation :
Dans le cas spécial où 𝑦(𝑘) = 𝑥(𝑘), la fonction d’inter-corrélation devient fonction
d’auto-corrélation qui est définie par la séquence :

𝑟𝑥𝑥 (𝑙 ) = ∑ 𝑥 (𝑘 )𝑥(𝑘 − 𝑙 ) 𝑙 = 0, ±1, ±2, … (14)


𝑘=−∞

ou encore

𝑟𝑥𝑥 (𝑙 ) = ∑ 𝑥 (𝑘 + 𝑙 )𝑥(𝑘 ) 𝑙 = 0, ±1, ±2, … (15)


𝑘=−∞

Si les séquences x(k) et y(k) sont causales et finies de longueur N (càd 𝑥(𝑘) = 𝑦(𝑘) = 0 pour
𝑘 < 0 𝑒𝑡 𝑘 ≥ 𝑁), les fonctions d’inter-corrélation et d’auto-corrélation deviennent :
𝑁−|𝑗|−1

𝑟𝑥𝑦 (𝑙 ) = ∑ 𝑥 (𝑘 )𝑦 (𝑘 − 𝑙 ) 𝑙 = 0, ±1, ±2, … (16)


𝑘=𝑖

et
𝑁−|𝑗|−1

𝑟𝑥𝑥 (𝑙 ) = ∑ 𝑥 (𝑘 )𝑥 (𝑘 − 𝑙 ) 𝑙 = 0, ±1, ±2, … (17)


𝑘=𝑖
𝑜ù 𝑖 = 𝑙, 𝑗 = 0 𝑝𝑜𝑢𝑟 𝑙 ≥ 0 𝑒𝑡 𝑖 = 0, 𝑗 = 𝑙 𝑝𝑜𝑢𝑟 𝑙 < 0

4.2 Propriétés des fonctions d’auto-corrélation et d’inter-corrélation :


Soient 𝑥(𝑘) et 𝑦(𝑘) deux séquences à énergie finie avec lesquelles on réalise la
combinaison lineaire suivante :

𝑎 𝑥 (𝑘 ) + 𝑏 𝑦(𝑘 − 𝑙)

où 𝑎 et 𝑏 sont des constantes arbitraires et 𝑙 un décalage temporel quelconque.

L’énergie de ce signal est :


10
∞ ∞ ∞ ∞

∑ [𝑎𝑥 (𝑘 ) + 𝑏𝑦(𝑘 − 𝑙 )]2 =𝑎 2 2(


∑ 𝑥 𝑘) + 𝑏 2 2(
∑ 𝑦 𝑘 − 𝑙 ) + 2𝑎𝑏 ∑ 𝑥 (𝑘 )𝑦(𝑘 − 𝑙 ) (18)
𝑘=−∞ 𝑘=−∞ 𝑘=−∞ 𝑘=−∞

= 𝑎2 𝑟𝑥𝑥 (0) + 𝑏2 𝑟𝑦𝑦 (0) + 2𝑎𝑏 𝑟𝑥𝑦 (𝑙 )

Il est à noter que :

𝒓𝒙𝒙 (𝟎) = 𝑬𝒙 𝒆𝒕 𝒓𝒚𝒚 (𝟎) = 𝑬𝒚 𝑞𝑢𝑖 𝑠𝑜𝑛𝑡 𝑙𝑒𝑠 é𝑛𝑒𝑟𝑔𝑖𝑒𝑠 𝑑𝑒𝑠 𝑠𝑖𝑔𝑛𝑎𝑢𝑥 𝑥 (𝑘 )𝑒𝑡 𝑦(𝑘 )𝑟𝑒𝑠𝑝𝑒𝑐𝑡𝑖𝑣𝑒𝑚𝑒𝑛𝑡.

Il est évident que :


𝑎2 𝑟𝑥𝑥 (0) + 𝑏2 𝑟𝑦𝑦 (0) + 2𝑎𝑏 𝑟𝑥𝑦 (𝑙 ) ≥ 0 (19)

Supposons maintenant que 𝑏0, on peut diviser l’équation (19) par 𝑏² pour obtenir :
𝑎 2 𝑎
( ) 𝑟𝑥𝑥 (0) + 𝑟𝑦𝑦 (0) + 2 ( ) 𝑟𝑥𝑦 (𝑙 ) ≥ 0
𝑏 𝑏
𝑎
on considère cette équation comme une équation du second degré avec comme variable (𝑏 ).

Pour que cette équation soit positive, il suffit que son déterminant soit négatif
∆= 4𝑟𝑥𝑦 2 (𝑙 ) − 4𝑟𝑥𝑥 (0)𝑟𝑦𝑦 (0) ≤ 0

Ceci implique que la fonction d’inter-corrélation satisfait la condition

|𝑟𝑥𝑦 (𝑙)| ≤ √𝑟𝑥𝑥 (0)𝑟𝑦𝑦 (0) = √𝐸𝑥 𝐸𝑦 (20)

et que la fonction d’auto-corrélation satisfait


|𝑟𝑥𝑥 (𝑙)| ≤ 𝑟𝑥𝑥 (0) = 𝐸𝑥 (21)
Ces résultats montrent que :
- La fonction d’auto-corrélation atteint son maximum avec un decalage égal à 0. Ce
résultat était prévisible puisque un signal est identique à lui même avec un décalage
égal à 0.
- La valeur maximale de la fonction d’inter-corrélationest donnée par l’équation (20)

- Normalisation des séquences d’intercorrélation :


Si un ou les deux signaux impliqués dans la fonction d’intercorrélation sont mis à une
échelle, la forme de la fonction d’intercorrélation ne change pas, seules les amplitudes sont
mises à l’échelle par conséquence.

Puisque la mise à l’échelle ne modifie pas la forme de la fonction d’intercorrélation, en


pratique les fonctions d’intercorrélation et d’autocorrélation sont normalisées dans l’intervalle
−1 à 1.

La fonction d’autocorrélation normalisée est et la fonction d’intercorrélation normalisée :


donné par :

11
𝑟𝑥𝑥 (𝑙) 𝑟𝑥𝑦 (𝑙)
𝜌𝑥𝑥 = (22) 𝜌𝑥𝑦 = (23)
𝑟𝑥𝑥 (0) √𝑟𝑥𝑥 (0)𝑟𝑦𝑦 (0)

Il est clair que |𝜌𝑥𝑥 | ≤ 1 𝑒𝑡| 𝜌𝑥𝑦 | ≤ 1

- Nature de la fonction d’auto- corrélation :


Il a été déjà montré que : 𝑟𝑥𝑦 (𝑙 ) = 𝑟𝑦𝑥 (−𝑙 ) avec 𝑥(𝑘) = 𝑦(𝑘), cette relation mène à une propriété
très importante dans le calcul de la fonction d’auto-corrélation

𝑟𝑥𝑥 (𝑙 ) = 𝑟𝑥𝑥 (−𝑙 )

qui implique que la fonction d’auto-corrélation est une fonction paire. Donc pour le calcul de
𝑟𝑥𝑥 (𝑙 ) il suffit de faire le calcul pour 𝑙 ≥ 0.

4.3 Corrélation des séquences périodiques :


Les relations des fonctions de corrélation vues jusqu’ à maintenant sont valables pour les
signaux à énergie finie. Pour le cas des signaux à puissance finie, et en particulier les signaux
périodiques, la fonction d’intercorrélation est donnée par :
𝑀
1
𝑟𝑥𝑦 (𝑙 ) = 𝑙𝑖𝑚 ∑ 𝑥 (𝑘 )𝑦 (𝑘 − 𝑙 ) 𝑙 = 0, ±1, ±2, … (24)
𝑀→∞ 2𝑀 + 1
𝑘=−𝑀

et la fonction d’auto-corrélation :
𝑀
1
𝑟𝑥𝑥 (𝑙 ) = 𝑙𝑖𝑚 ∑ 𝑥 (𝑘 )𝑥 (𝑘 − 𝑙 ) 𝑙 = 0, ±1, ±2, … (25)
𝑀→∞ 2𝑀 + 1
𝑘=−𝑀

Dans le cas particulier où 𝑥(𝑘) et 𝑦(𝑘) sont des séquences périodiques avec une période
égale à 𝑁 les moyennes calculées dans (24) et (25) sur un intervalle infinie sont identiques aux
moyennes sur une seule période ce qui donne
𝑁−1
1
𝑟𝑥𝑦 (𝑙 ) = ∑ 𝑥(𝑘 )𝑦(𝑘 − 𝑙 ) 𝑙 = 0, ±1, ±2, … (26)
𝑁
𝑘=0

𝑁−1
1
𝑟𝑥𝑥 (𝑙 ) = ∑ 𝑥 (𝑘 )𝑥(𝑘 − 𝑙 ) 𝑙 = 0, ±1, ±2, … (27)
𝑁
𝑘=0

Il est clair que 𝑟𝑥𝑦 (𝑙 ) et 𝑟𝑥𝑥 (𝑙 ) sont périodiques et de période N. Le coefficient 1/𝑁 peut être vu
comme un coefficient de normalisation.

Dans certaines applications pratiques, la corrélation est utilisée pour identifier les
périodicités dans un signal physique observé qui peut être corrompu par une interférence
aléatoire. Par exemple, considérons un signal discret 𝑥(𝑘) de la forme :

12
𝑦 (𝑘 ) = 𝑥 (𝑘 ) + 𝑤 (𝑘 ) (28)

où 𝑥(𝑘) est une séquence périodique de période inconnue 𝑁 et 𝑤(𝑘) représente une interférence
aléatoire additive.

Supposons qu’on observe 𝑀 échantillons de 𝑦(𝑘), soit 0 ≤ 𝑘 ≤ 𝑀 avec 𝑀 ≫ 𝑁. Pour des


considérations pratiques, on suppose que 𝑦(𝑘 ) = 0 𝑝𝑜𝑢𝑟 𝑛 < 0 𝑒𝑡 𝑛 ≥ 𝑀. Calculons maintenant
la fonction d’auto-corrélation du signal 𝑦(𝑘) en utilisant un facteur de normalisation égal à 1/𝑀
𝑀−1
1
𝑟𝑦𝑦 (𝑙 ) = ∑ 𝑦(𝑘 )𝑦(𝑘 − 𝑙 ) 𝑙 = 0, ±1, ±2, … (29)
𝑀
𝑘=0

𝑀−1
1
= ∑ [𝑥 (𝑘 ) + 𝑤(𝑘 )][𝑥(𝑘 − 𝑙 ) + 𝑤(𝑘 − 𝑙 )]
𝑀
𝑘=0

𝑀−1 𝑀−1 𝑀−1


1 1 1
∑ 𝑥 (𝑘 ) 𝑥 (𝑘 − 𝑙 ) + ∑ [𝑥(𝑘 )𝑤(𝑘 − 𝑙 ) + 𝑤(𝑘 )𝑥(𝑘 − 𝑙 )] + ∑ 𝑤 (𝑘 ) 𝑤 (𝑘 − 𝑙 )
𝑀 𝑀 𝑀
𝑘=0 𝑘=0 𝑘=0

= 𝑟𝑥𝑥 (𝑙 ) + 𝑟𝑥𝑤 (𝑙 ) + 𝑟𝑤𝑥 (𝑙 ) + 𝑟𝑤𝑤 (𝑙 ) (30)

Le premier terme est la fonction d’autocorrélation du signal 𝑥(𝑘 ). Puisque 𝑥(𝑘) est
périodique sa fonction d’auto-corrélation est aussi périodique et de même période par
conséquent les valeurs maximales de 𝑟𝑥𝑥 (𝑙 ) seront aux instants 𝑙 = 0, 𝑙 = 𝑁, 𝑙 = 2𝑁 … Aussi,
quand le facteur de décalage 𝑙 approche de 𝑀, les pics sont réduits en amplitude du au fait que
plusieurs produits 𝑥(𝑘)𝑥(𝑘 − 𝑙) tendent vers 0. Alors on calculera par exemple 𝑟𝑦𝑦 (𝑙 ) que pour
𝑙 < 𝑀/2.

Les fonctions d’inter-corrélation 𝑟𝑥𝑤 (𝑙 ) 𝑒𝑡 𝑟𝑤𝑥 (𝑙 ) devraient être relativement petites du au fait
que 𝑥(𝑘) et 𝑤(𝑘) sont totalement indépendants. Le dernier terme correspond à la fonction
d’autocorrélation du signal aléatoire 𝑤(𝑘) et dû au fait de sa nature aléatoire 𝑟𝑤𝑤 (𝑙 ) devrait
tendre rapidement vers 0. Finalement seule 𝑟𝑥𝑥 (𝑙) devrait avoir des grands pics pour 𝑙 > 0.

Ceci va nous permettre de détecter la présence du signal 𝑥(𝑘) enfui dans une interférence
𝑤(𝑘) et identifier sa période.

4.4 Fonctions de corrélation entre entrée/sortie d’un système


Soit un signal 𝑥(𝑘), avec une fonction d’autocorrélation 𝑟𝑥𝑥 (𝑙 ) connue, qui est appliqué en
entrée à un système linéaire défini par sa réponse impulsionnelle ℎ(𝑘). La sortie de ce système
est alors donnée par

𝑦 (𝑘 ) = ℎ (𝑘 ) ∗ 𝑥 (𝑘 ) = ∑ ℎ (𝑛 )𝑥 (𝑘 − 𝑛 )
𝑛=−∞

La fonction d’inter-corrélation entre le signal de sortie et le signal d’entrée est donnée par

𝑟𝑦𝑥 (𝑙 ) = 𝑦(𝑙 ) ∗ 𝑥 (−𝑙 ) = ℎ(𝑙 ) ∗ [𝑥 (𝑙 ) ∗ 𝑥(−𝑙)] = ℎ(𝑙 ) ∗ 𝑟𝑥𝑥 (𝑙 ) (31)


13
𝑟𝑥𝑥 (𝑘 ) SYSTEME 𝑟𝑦𝑥 (𝑘 )

ℎ (𝑘 ) Sortie
Entrée

Figure III.7 Fonction d’inter-corrélation entre le signal de sortie et le signal d’entrée

La fonction d’autocorrélation du signal de sortie peut être obtenue en utilisant les propriétés
de la convolution et la corrélation

𝑟𝑦𝑦 (𝑙 ) = 𝑦(𝑙 ) ∗ 𝑦(−𝑙 ) = [ℎ(𝑙 ) ∗ 𝑥(𝑙)] ∗ [ℎ (−𝑙 ) ∗ 𝑥(−𝑙)] = [ℎ(𝑙 ) ∗ ℎ(−𝑙)] ∗ [𝑥 (𝑙 ) ∗ 𝑥(−𝑙)]

𝑟𝑦𝑦 (𝑙 ) = 𝑟ℎℎ (𝑙 ) ∗ 𝑟𝑥𝑥 (𝑙 ) (32)

La fonction d’autocorrélation 𝑟ℎℎ (𝑙 ) de la réponse impulsionnelle existe si le système est stable.


Par ailleurs la stabilité assure que le système ne change pas le type (énergie ou puissance finie)
du signal d’entrée.

5. Transformée de Fourier discrète

5.1. Définition
Dans le but de calculer la transformée de Fourier d’un signal s(t) à l’aide d’un ordinateur,
celui-ci n’ayant qu’un nombre limité de mots de taille finie, on est amené à discrétiser le signal
(échantillonnage) et à tronquer temporellement ce signal. On obtient ainsi une suite de N
termes représentée par :
𝑁−1

𝑠𝑒,𝛱 (𝑡) = ∑ 𝑠(𝑘𝑡𝑒). 𝛿(𝑡 − 𝑘. 𝑇𝑒)


𝑘=0

On appelle 𝑠𝑘 les valeurs du signal 𝑠𝑒,𝛱 (𝑡) aux instants 𝑘𝑡𝑒. Le spectre 𝑠𝑒,𝛱 (𝑓) de ce
signal échantillonné limité à N termes 𝑠𝑒,𝛱 (𝑡) est donné sous la forme de N éléments de valeurs
Sm espacés de Fe/N suivant une expression identique :
𝑁−1
𝐹𝑒
𝑠𝑒,𝛱 (𝑓) = ∑ 𝑆𝑚 . 𝛿 (𝑓 − 𝑚 )
𝑁
𝑚=0

De la même façon que la transformée de Fourier 𝑆(𝑓) du signal analogique s(t) qui est :
+∞
𝑆(𝑓) = ∫ 𝑠(𝑡)𝑒 −𝑗2𝜋𝑓𝑡 𝑑𝑡
−∞

On appelle Transformée de Fourier Discrète (TFD ou DFT : Discrete Fourier Transform)


d’un signal défini par N échantillons 𝑠𝑘 , la suite de N termes 𝑆𝑚 définie par :

14
𝑁−1
𝑘𝑚
𝑆𝑚 = ∑ 𝑠𝑘 . 𝑒 −𝑗2𝜋 𝑁
𝑘=0

La transformée de Fourier discrète réalise la correspondance entre deux suites de N


termes

Figure III.8 La Transformée de Fourier Discrète

Si les N échantillons ont été prélevés avec une fréquence d’échantillonnage Fe (Fe = 1/Te),
la durée du signal échantillonné, sur laquelle a été calculée la transformée de Fourier discrète,
est donnée par :

𝑁
𝜏 = 𝑁. 𝑇𝑒 =
𝐹𝑒

En conséquence, le spectre de ce signal échantillonné, composé aussi de N termes, est


calculé sur un domaine fréquentiel [0, Fe] avec une précision ou distance fréquentielle entre
points égale à :

1 1 𝐹𝑒
𝛥𝑓 = = =
𝜏 𝑁. 𝑇𝑒 𝑁

De même on peut définir une transformée de Fourier discrète inverse par :


𝑁−1 𝑁−1
1 𝑘𝑚
𝑠𝑒,𝛱 (𝑡) = ∑ 𝑠𝑘 . 𝛿 (𝑡 − 𝑘. 𝑇𝑒) 𝑎𝑣𝑒𝑐 𝑠𝑘 = ∑ 𝑆𝑚 . 𝑒 𝑗2𝜋 𝑁
𝑁
𝑘=0 𝑚=0

5.2. Relations entre transformée de Fourier et transformée de Fourier discrète

5.2.1 Transformée de Fourier du signal échantillonné tronqué et la TFD :


Soit un signal 𝑠(𝑡), échantillonné à la fréquence 𝐹𝑒 (𝐹𝑒 = 1/𝑇𝑒 ) et tronqué par une porte
de largeur 𝜏 = 𝑁. 𝑇𝑒 qui prélève 𝑁 points d’amplitude 𝑠𝑘 de ce signal, soit :
𝑁−1

𝑠𝑒,𝛱 (𝑡) = ∑ 𝑠𝑘 . 𝛿 (𝑡 − 𝑘𝑇𝑒 )


𝑘=0

La transformée de Fourier de ce signal est donc donnée par :

15
+∞ 𝑁−1 𝑁−1

𝑆𝑒,𝛱 (𝑓) = ∫ [∑ 𝑠𝑘 . 𝛿(𝑡 − 𝑘𝑇𝑒 )] 𝑒 −𝑗2𝜋𝑓𝑡 𝑑𝑡 = ∑ 𝑠𝑘 . 𝑒 −𝑗2𝜋𝑓𝑘𝑇𝑒


−∞ 𝑘=0 𝑘=0

Or pour obtenir la transformée de Fourier discrète, il faut échantillonner dans le domaine


1 𝐹
fréquentiel par un pas de 𝛥𝑓 = 𝜏 = 𝑁𝑒, soit :

∞ ∞
𝑚 𝑚 𝑚
𝑆𝑒,𝛱,𝑒 (𝑓 ) = 𝑆𝑒,𝛱 (𝑓 ). ∑ 𝛿 (𝑓 − ) = ∑ 𝑆𝑒,𝛱 ( ) . 𝛿 (𝑓 − )
𝜏 𝜏 𝜏
𝑚=−∞ 𝑚=−∞

Cette expression doit être tronquée, puisque le nombre des échantillons de la représentation
spectrale est limité à 𝑁 :
𝑁−1
𝑚 𝑚
𝑆𝑒,𝛱,𝑒,𝛱 (𝑓 ) = ∑ 𝑆𝑒,𝛱 ( ) . 𝛿 (𝑓 − )
𝜏 𝜏
𝑚=0

Nous avons bien obtenu la relation de définition de la transformée de Fourier discrète


𝑁−1 𝑁−1 𝑁−1
−𝑗2𝜋
𝑘𝑚 𝑘𝑚 𝑚
𝑆𝑚 = ∑ 𝑠𝑘 . 𝑒 𝑁 𝑎𝑙𝑜𝑟𝑠 𝑆𝑒,𝛱,𝑒,𝛱 (𝑓 ) = ∑ [∑ 𝑠𝑘 . 𝑒 −𝑗2𝜋 𝑁 ] . 𝛿 (𝑓 − )
𝜏
𝑘=0 𝑚=0 𝑘=0

5.2.2 Relation entre la Transformée de Fourier et la TFD


Considérons un signal 𝑠(𝑡) et sa transformée de Fourier 𝑆( 𝑓 ). À la suite 𝑠(𝑘𝑇𝑒 ) =
𝑠𝑘 , 𝑘 = {0,1, . . . , 𝑁 − 1}, correspondent les échantillons de la transformée de Fourier discrète
𝑆𝑚 avec 𝑚 = {0,1, . . . , 𝑁 − 1} par la relation :
𝑁−1
𝑘𝑚
𝑆𝑚 = ∑ 𝑠𝑘 . 𝑒 −𝑗2𝜋 𝑁
𝑘=0

La question, qui se pose, est donc le lien qui existe entre les valeurs de 𝑆( 𝑓 ) aux
fréquences 𝑚𝐹𝑒 /𝑁 et 𝑆𝑚 pour 𝑚 ∈ {0,1, . . . , 𝑁 − 1}. En posant 𝜏 = 𝑁𝑇𝑒 , dans le cas où le signal
est périodique de période 𝜏, à spectre borné 𝐹𝑚𝑎𝑥 , et étant donné que :

– la largeur de la troncature temporelle est égale à la période 𝜏 ;

– le théorème de Shannon doit être respecté : 𝐹𝑒 ≥ 2𝐹𝑚𝑎𝑥

Il y a coïncidence, à un facteur multiplicatif près, entre 𝑆(𝑚𝐹𝑒 /𝑁) et 𝑆𝑚 :

𝜏 𝐹𝑒 𝐹𝑒
𝑆𝑚 = . 𝑆 (𝑚. ) = 𝑁. 𝑆 (𝑚. )
𝑇𝑒 𝑁 𝑁

16
5.2.3 Interprétation du résultat de la TFD

Le calcul de la transformée de Fourier discrète donne une suite de 𝑁 termes. Dans le


domaine temporel ceci correspond à N échantillons prélevés avec une fréquence
d’échantillonnage 𝐹𝑒 (𝐹𝑒 = 1/𝑇𝑒 ) et sur une durée 𝜏 (𝜏 = 𝑁. 𝑇𝑒 ).

Le spectre, composé de 𝑁 termes, est calculé sur un domaine fréquentiel


[0, 𝐹𝑒 ] avec une précision ou distance fréquentielle entre points égale à 𝛥𝑓 = 𝐹𝑒 /𝑁. Chaque
échantillon peut être considéré comme un « harmonique » du spectre du signal. D’autre part, le
calcul est réalisé avec un indice positif des échantillons variant entre[0, 𝑁 – 1] qui correspond à
un domaine fréquentiel [0, 𝐹𝑒 ]. Mais il serait plus exact de la représenter sur un intervalle
[−𝐹𝑒 /2, 𝐹𝑒 /2]. Ainsi l’interprétation des échantillons est présentée sur le tableau.

Echantillons Fréquence Fréquence Interprétation


[0, 𝐹𝑒 ] [−𝐹𝑒 /2, 𝐹𝑒 /2]
𝑆0 0 0 Composante continue
𝑆1 𝛥𝑓 𝛥𝑓 Fondamentale ou 1er harmonique
𝑆2 2𝛥𝑓 2𝛥𝑓 2eme harmonique
𝑆3 3𝛥𝑓 3𝛥𝑓 3eme harmonique
...
𝑆𝑁−1 𝐹𝑒 𝐹𝑒 (𝑁/2 − 1)eme harmonique
2 − 𝛥𝑓 − 𝛥𝑓
2 2
𝑆𝑁 𝐹𝑒 𝐹𝑒 (𝑁/2)eme harmonique
2
2 2 (fréquence de Nyquist)
𝑆𝑁+1 𝐹𝑒 𝐹𝑒 𝑁
( 2 + 2)eme harmonique/ −(𝑁/2 − 1)eme harmonique
2 + 𝛥𝑓 − + 𝛥𝑓
2 2
...
𝑆𝑁−3 𝐹𝑒 − 3𝛥𝑓 −3𝛥𝑓 (𝑁 − 3)eme harmonique/ −3eme harmonique
𝑆𝑁−2 𝐹𝑒 − 2𝛥𝑓 −2𝛥𝑓 (𝑁 − 2)eme harmonique/ −2eme harmonique
𝑆𝑁−1 𝐹𝑒 − 𝛥𝑓 −𝛥𝑓 (𝑁 − 1)eme harmonique/ −1er harmonique

Cette interprétation des échantillons obtenus montre bien que la précision d’analyse
fréquentielle du spectre est donné par 𝛥𝑓 qui est directement lié à la fenêtre d’observation du
signal 𝜏 (𝜏 = 1/𝛥𝑓 ).

Pour une fréquence d’échantillonnage 𝐹𝑒 constante, l’augmentation de la précision en


fréquence 𝛥𝑓 passe par une augmentation du nombre de points 𝑁 et donc de la fenêtre
d’observation τ.

5.3 Transformée de Fourier rapide

17
La transformée de Fourier rapide TFR ou FFT (Fast Fourier Transform) est simplement
un algorithme permettant de réduire le nombre d’opérations, en particulier le nombre de
multiplications, pour calculer la TFD. Ce temps de calcul est en effet primordial pour réaliser
des systèmes numériques en «temps réel ».

Il est aisé de voir que le nombre d’opérations arithmétiques (sommes et produits) nécessitées
par la TFD d’une suite de longueur 𝑁 est proportionnel à 𝑁². Ce qui, pour une suite de longueur
1000, conduit à calculer un million de sinus et cosinus suivis d’une addition et d’une
multiplication ; les temps de calcul deviennent très vite prohibitifs.

Il existe différents algorithmes de transformée de Fourier rapide. Le plus connu et le plus utilisé
est celui de Cooley-Tukey (appelé aussi à entrelacement temporel). Le nombre des
multiplications complexes est (𝑁/2) 𝑙𝑜𝑔(𝑁).

𝑁2 2𝑁
= = 204.8 𝑝𝑜𝑢𝑟 𝑁 = 1000
𝑁 𝑙𝑜𝑔(𝑁)
2 𝑙𝑜𝑔(𝑁)
Algorithme de transformée de Fourier rapide
L’algorithme de Cooley-Tukey, appelé aussi algorithme de réduction à base 2 dans le domaine
temporel, s’applique dans le cas où le nombre 𝑁 d’échantillons sk s’exprime sous la forme 2𝐿 et
permet alors de simplifier le problème par une décomposition dichotomique. Posons :
𝑘𝑚
𝑊𝑁𝑚𝑘 = 𝑒 −𝑗2𝜋 𝑁

Cette fonction a les propriétés suivantes :


𝒎𝒌+𝑵/𝟐
𝑾𝟐𝒎𝒌
𝑵 = 𝑾𝒎𝒌
𝑵/𝟐 et pour 𝒎 < 𝑁/2 𝑊𝑵 = −𝑾𝒎𝒌
𝑵

Pour calculer les 𝑁 échantillons de la TFD {𝑆0 , 𝑆1 , 𝑆2 , . . . , 𝑆𝑁−2 , 𝑆𝑁−1 }, on utilise l’expression de
base :
𝑁−1

𝑆𝑚 = ∑ 𝑠𝑘 . 𝑊𝑁𝑚𝑘 𝑝𝑜𝑢𝑟 𝑚 ∈ {0,1,2, … , 𝑁 − 1}


𝑘=0

En séparant les échantillons d’ordre pair et d’ordre impair, il vient :


𝑁/2−1 𝑁/2−1
𝑚(2𝑖) 𝑚(2𝑖+1)
𝑆𝑚 = ∑ 𝑠2𝑖 . 𝑊𝑁 + ∑ 𝑠2𝑖+1 . 𝑊𝑁
𝑖=0 𝑖=0

𝑁/2−1 𝑁/2−1
𝑚𝑖 𝑚𝑖
𝑆𝑚 = ∑ 𝑠2𝑖 . 𝑊𝑁/2 + 𝑊𝑁𝑚 ∑ 𝑠2𝑖+1 . 𝑊𝑁/2
𝑖=0 𝑖=0

Les échantillons Sm de la TFD d’ordre N s’expriment donc sous la forme de deux TFD d’ordre
N/2 :

18
𝑆𝑚 = 𝑆 𝑁 + 𝑊𝑁𝑚 𝑆 𝑁
1( ),𝑚 2( ),𝑚
2 2

avec 𝑆1(𝑁),𝑚 transformée d’ordre 𝑁/2 effectuée sur les échantillons d’ordre pair
2

et 𝑆2(𝑁),𝑚 transformée d’ordre 𝑁/2 effectuée sur les échantillons d’ordre impair.
2

Si l’on considère l’opérateur « papillon », représenté sur la


figure, le calcul d’une TFD d’ordre 𝑁 conduit à faire le
calcul de deux TFD d’ordre 𝑁/2 et de terminer un calcul en
utilisant un opérateur « papillon » avec le coefficient 𝑊𝑁𝑚 .

En effet la dernière équation peut être précisée selon l’intervalle d’appartenance de


l’indice m :
𝑁
- 𝑝𝑜𝑢𝑟 0 ≤ 𝑚′ ≤ −1 ∶ 𝑆𝑚′ = 𝑆1,𝑚′ + 𝑊𝑁𝑚′ 𝑆2,𝑚′
2

𝑁 𝑚′′ −𝑁/2
- 𝑝𝑜𝑢𝑟 2 ≤ 𝑚′′ ≤ 𝑁 − 1 ∶ 𝑆𝑚′′ = 𝑆1,𝑚′′−𝑁/2 − 𝑊𝑁 𝑆2,𝑚′′ −𝑁/2

𝑒𝑛 𝑝𝑜𝑠𝑎𝑛𝑡 𝑚′ = 𝑚′′ − 𝑁/2 ∶ 𝑆𝑚′′ = 𝑆1,𝑚′ − 𝑊𝑁𝑚′ 𝑆2,𝑚′

Cette analyse peut être réalisée 𝐿 fois si 𝑁 = 2𝐿. On obtient alors à la fin du processus de
dichotomie une transformée d’ordre 2 dont la matrice de calcul ne demande pas de
multiplication car :

𝑊21 = −1 𝑒𝑡 𝑊20 = 1

Ainsi l’algorithme complet du calcul peut être représenté sous la forme de 𝐿 étapes de calcul de
type « papillon » commençant par le calcul des 𝑁/2 transformées d’ordre 2.

Exemple : 𝑁 = 8

On a 8 échantillons temporels 𝑠𝑘 avec 𝑘 ∈ [0,7] et on calcule les 8 échantillons fréquentiels 𝑆𝑚


avec m ∈ [0,7].
7

𝑆𝑚 = ∑ 𝑠𝑘 . 𝑊8𝑚𝑘 𝑝𝑜𝑢𝑟 𝑚 ∈ {0,1,2, … ,7}


𝑘=0

Calculons les valeurs de 𝑊8𝑚𝑘 . Seules les 8 premières valeurs de 𝑊8𝑚𝑘 sont différentes puisque
cette fonction est identique modulo 𝑁 = 8.

19
√2 √2
𝑊80 = − 𝑊84 = 1, 𝑊81 = − 𝑊85 = (1 − 𝑗 ), 𝑊82 = − 𝑊86 = −𝑗, 𝑊83 = − 𝑊87 = − (1 + 𝑗)
2 2

Un premier découpage dichotomique conduit à réaliser deux TFD d’ordre 4 et un calcul «


papillon » avec les échantillons résultants 𝑆𝑖,𝑚. Les deux transformées de Fourier discrètes sont
calculées à partir des équations suivantes :

- échantillons pairs : 𝑆1,𝑚 = ∑3𝑘=0 𝑠2𝑘 . 𝑊4𝑚𝑘 𝑝𝑜𝑢𝑟 𝑚 ∈ {0, . . ,3}

- échantillons impairs : 𝑆2,𝑚 = ∑3𝑘=0 𝑠2𝑘+1 . 𝑊4𝑚𝑘 𝑝𝑜𝑢𝑟 𝑚 ∈ {0, . . ,3}

avec les quatre valeurs de la fonction 𝑊4𝑚𝑘 : 𝑊40 = − 𝑊42 = 1, 𝑊41 = − 𝑊43 = −𝑗,

Ensuite les échantillons de la TFD complète sont obtenus à l’aide du calcul « papillon » avec les
coefficients 𝑊8𝑚𝑘 :

- 𝑝𝑜𝑢𝑟 0 ≤ 𝑚 ≤ 3 ∶ 𝑆𝑚 = 𝑆1,𝑚 + 𝑊8𝑚 𝑆2,𝑚

- 𝑝𝑜𝑢𝑟 4 ≤ 𝑚 ≤ 7 ∶ 𝑆𝑚 = 𝑆1,𝑚−4 − 𝑊8𝑚−4 𝑆2,𝑚−4

Les coefficients des expressions, donnant 𝑆1,𝑚et 𝑆2,𝑚, étant très simples (1 ou 𝑗), la méthode de
découpage peut se limiter à cette étape et conserver ainsi comme premier calcul des TFD d’ordre
4. Les algorithmes, construits sur ce principe, sont appelés « FFT Radix-4 ».

En continuant le découpage dichotomique, nous obtenons alors le calcul de 4 TFD d’ordre 2 à


réaliser suivi du calcul « papillon » avec les échantillons résultants 𝑆𝑖,𝑗,𝑚 . Les quatre
transformées de Fourier discrètes sont calculées à partir des équations suivantes :

- échantillons pairs et impairs de S1,m pour m ∈ [0,1] :


1 1

𝑆1,1,𝑚 = ∑ 𝑠4𝑘 . 𝑊2𝑚𝑘 𝑆1,2,𝑚 = ∑ 𝑠4𝑘+2 . 𝑊2𝑚𝑘


𝑘=0 𝑘=0

- échantillons pairs et impairs de 𝑆2,𝑚 pour 𝑚 ∈ [0,1] :


1 1

𝑆2,1,𝑚 = ∑ 𝑠4𝑘+1 . 𝑊2𝑚𝑘 𝑆2,2,𝑚 = ∑ 𝑠4𝑘+3 . 𝑊2𝑚𝑘


𝑘=0 𝑘=0

avec les deux valeurs de la fonction 𝑊2𝑚𝑘 : 𝑊20 = −𝑊21 = 1

Étant donné les valeurs des coefficients 𝑊2𝑚𝑘 , une TFD d’ordre 2 correspond à un opérateur de
type «papillon » sans coefficient, donc une simple somme ou différence de nombres complexes
(coût de calcul négligeable).

Ensuite les échantillons intermédiaires 𝑆1,𝑚 et 𝑆2,𝑚sont obtenus à l’aide du calcul « papillon »
avec les coefficients 𝑊2𝑚𝑘 équivalents :

- 𝑝𝑜𝑢𝑟 0 ≤ 𝑚 ≤ 1 ∶ 𝑆1,𝑚 = 𝑆1,1,𝑚 + 𝑊4𝑚 𝑆1,2,𝑚 = 𝑆1,1,𝑚 + 𝑊82𝑚 𝑆1,2,𝑚

20
𝑆2,𝑚 = 𝑆2,1,𝑚 + 𝑊4𝑚 𝑆1,2,𝑚 = 𝑆2,1,𝑚 + 𝑊82𝑚 𝑆2,2,𝑚

2(𝑚−2)
- 𝑝𝑜𝑢𝑟 2 ≤ 𝑚 ≤ 3 ∶ 𝑆1,𝑚 = 𝑆1,1,𝑚−2 − 𝑊4𝑚−2 𝑆1,2,𝑚−2 = 𝑆1,1,𝑚−2 − 𝑊8 𝑆1,2,𝑚−2

2(𝑚−2)
𝑆2,𝑚 = 𝑆2,1,𝑚−2 − 𝑊4𝑚−2 𝑆2,2,𝑚−2 = 𝑆2,1,𝑚−2 − 𝑊8 𝑆2,2,𝑚−2

Finalement nous obtenons dans ce cas le schéma général du calcul de la TFD d’ordre 8 qui
conduit à un calcul de 4 TFD d’ordre 2 (ou opérateur « papillon » sans coefficient), suivi de deux
étapes de calcul « papillon »

Figure III.9 Etapes de calcul papillon de la FFT

Il faut noter que pour un calcul immédiat sous cette forme les échantillons sk doivent être classés
dans un ordre permuté. Ainsi les programmes de TFR ou FFT suivant cette méthode
commencent toujours par un classement des échantillons et ensuite réalise le calcul des
différentes étapes. De nombreux programmes, qui implémentent cette méthode, existent dans
les différents langages de haut niveau et sont souvent disponibles dans les bibliothèques
scientifiques de base. Dans tous les cas le calcul d’une TFR se traduit par un temps important.
Pour améliorer ces temps de calcul de TFR et obtenir des résultats en « temps réel », par
exemple dans les systèmes de type radar, il est nécessaire d’utiliser des processeurs de
traitement de signaux (DSP : Digital Signal Processor).

Exemple : - le processeur TMS 320C25 (Texas Instruments) : 200 μs pour 64 échantillons, 3 ms


pour 256 et 20 ms pour 1024.

- processeur 68040 Motorola : programmes écrits en langage de haut niveau (C ou autre) et


compilés sur des processeurs 32 bits, temps de calcul : quelques 100 ms ou plus pour 1024
échantillons.

21

Vous aimerez peut-être aussi