Vous êtes sur la page 1sur 8

Chapitre 5 Analyse des signaux numériques

Chapitre 5
Analyse des signaux numériques

5.1. Transformée de Fourier Discrète


Lorsqu’on désire calculer la transformée de Fourier d’un signal I(t) à l’aide d’un ordinateur,
ce dernier n’ayant qu’un nombre fini de mots de taille finie, on est amené à:
• discrétiser la fonction temporelle,
• tronquer la fonction temporelle,
• discrétiser la fonction fréquentielle.
+∞

𝑋(𝑓) = 𝑇𝐹[𝑥(𝑡)] = ∫ 𝑥(𝑡). 𝑒−𝑗2𝜋𝑓𝑡 . 𝑑𝑡


−∞

En approchant l’intégrale par une somme d’aires de rectangles de durée Te et en limitant la


durée d’intégration à l’intervalle [0,(N−1)Te], on obtient:

𝑁−1
𝑛𝑘
𝑋[𝑘] = ∑ 𝑥[𝑛]. 𝑒−𝑗2𝜋 𝑁
𝑛=0

La suite de N termes X[0], X[1], ..., X[N-1] est appelée la Transformée de Fourier Discrète
(notée par la suite DFT) de la suite de N termes x[0], x[1], ..., x[N−1].
En pratique, les N termes x(n) peuvent être N échantillons d’un signal analogique
échantillonné: x[n]=x[nTe], et les N termes X[k] correspondent à une approximation de la
transformée de Fourier de ce signal aux N points de fréquences fk=kfe/N, avec k entre 0 et
N−1, c'est-à-dire f entre 0 et fe.

La transformée de Fourier inverse (IDFT) est donnée par l’expression suivante :


𝑁−1
1 𝑗2𝜋
𝑛𝑘
𝑥[𝑛] = ∑ 𝑋[𝑘]. 𝑒 𝑁
𝑁
𝑘=0

5.1.1. Exercice 1

Calculer les quatre points DFT de la séquence x[k] de longueur N=4, qui est défini par :

32
Chapitre 5 Analyse des signaux numériques

2 𝑝𝑜𝑢𝑟 𝑛 = 0
3 𝑝𝑜𝑢𝑟 𝑛 = 1
𝑥[𝑛] = {
−1 𝑝𝑜𝑢𝑟 𝑛 = 2
1 𝑝𝑜𝑢𝑟 𝑛 = 3

Solution
3
𝑛𝑘
𝑋[𝑘] = ∑ 𝑥[𝑛]. 𝑒−𝑗2𝜋 4
𝑛=0
=2+3.e-j2 π k/4-1.e-j2 π 2k /4+1.e-j2π3k/4
Pour 0 ≤ k ≤ 3, on peut obtenir :

k=0, X[0]=2+3-1+1=5

k=1, X[1]=2+3.e-j2 π /4-1.e-j2 π 2 /4+1.e-j2π3/4

= 2+3(-j)-1(-1)+1(j)=3-2j

k=2, X[2]=2+3.e-j2 π2 /4-1.e-j2 π 2(2) /4+1.e-j2π3(2)/4

= 2+3(-1)-1(1)+1(-1)=-3

k=3, X[3]=2+3.e-j2 π3 /4-1.e-j2 π 2(3) /4+1.e-j2π3(3)/4

= 2+3(j)-1(-1)+1(-j)=3+2j

Les spectres du module et de la phase sont tracés dans la figure suivante.

n k k

5.1.2. Exercice 2

Calculer la IDFT de :

5 𝑝𝑜𝑢𝑟 𝑘 = 0
3 − 2𝑗 𝑝𝑜𝑢𝑟 𝑘 = 1
𝑋[𝑘] = {
−3 𝑝𝑜𝑢𝑟 𝑘 = 2
3 + 2𝑗 𝑝𝑜𝑢𝑟 𝑘 = 3

Solution
3
1 𝑛𝑘
𝑥[𝑛] = ∑ 𝑋[𝑘]. 𝑒−𝑗2𝜋 4
𝑁
𝑘=0
=[5+(3-2j).e-j2 π n/4-3.e-j2 π 2n /4+(3+2j).e-j2π3n/4]/4

33
Chapitre 5 Analyse des signaux numériques

n=0, X[0]=(5+3-2j-3+3+2j)/4=2
n=1, X[1]=[5+(3-2j).e-j2 π/4-3.e-j2 π 2 /4+(3+2j).e-j2π3/4]/4
= [5+(3-2j).j-3.(-1)+(3+2j).(-j)]/4
=(5+3j+2+3-3j+2)/4
=3
n=2, X[2]=[5+(3-2j).e-j2 π2/4-3.e-j2 π 2.2 /4+(3+2j).e-j2π.3.2/4]/4
=[5+(3-2j).(-1)-3.1+(3+2j).(-1)]/4
=(5-3+2j-3-3-2j)/4
=-1
n=3, X[3]=[5+(3-2j).e-j2 π3/4-3.e-j2 π 2.3 /4+(3+2j).e-j2π.3.3/4]/4
=(5+(3-2j).(-j)-3.(-1)+(3+2j).j]/4
=(5-3j-2+3+3j-2)/4
=1
2 𝑝𝑜𝑢𝑟 𝑛 = 0 5 𝑝𝑜𝑢𝑟 𝑘 = 0
3 𝑝𝑜𝑢𝑟 𝑛 = 1 DFT 3 − 2𝑗 𝑝𝑜𝑢𝑟 𝑘 = 1
𝑥[𝑛] = { 𝑋[𝑘] = {
−1 𝑝𝑜𝑢𝑟 𝑛 = 2 −3 𝑝𝑜𝑢𝑟 𝑘 = 2
1 𝑝𝑜𝑢𝑟 𝑛 = 3 IDFT 3 + 2𝑗 𝑝𝑜𝑢𝑟 𝑘 = 3

Cas particulier : Calcul matriciel pour N=4


𝑛𝑘 𝑊43
𝑛𝑘 −𝑗2𝜋
Si on pose : 𝑊𝑁 = 𝑒 𝑁 j

On aura :

𝑊46 = 𝑊42 -1 1 𝑊40 = 𝑊44

-j
𝑊41 = 𝑊49

𝑋[0] 𝑊40 𝑊40 𝑊40 𝑊40 𝑥[0]


𝑋[1] 𝑊0 𝑊41 𝑊42 𝑊43 𝑥[1]
[ ] = 40 [ ]
𝑋[2] 𝑊4 𝑊42 𝑊44 𝑊46 𝑥[2]
𝑋[3] [𝑊40 𝑊43 𝑊46 𝑊49 ] 𝑥[3]

𝑋[0] 1 1 1 1 𝑥[0]
𝑋[1] 1 − 𝑗 − 1 + 𝑗 𝑥[1]
[ ]=[ ][ ]
𝑋[2] 1 − 1 1 − 1 𝑥[2]
𝑋[3] 1 + 𝑗 − 1 − 𝑗 𝑥[3]

34
Chapitre 5 Analyse des signaux numériques

Dans l’exemple du calcul de la DFT précédent, on a :

2 𝑝𝑜𝑢𝑟 𝑛 = 0
3 𝑝𝑜𝑢𝑟 𝑛 = 1
𝑥[𝑛] = {
−1 𝑝𝑜𝑢𝑟 𝑛 = 2
1 𝑝𝑜𝑢𝑟 𝑛 = 3

En remplaçons dans la dernière représentation matricielle on aura le même résultat


qu’auparavant, c-à-d on trouvera :

5 𝑝𝑜𝑢𝑟 𝑘 = 0
3 − 2𝑗 𝑝𝑜𝑢𝑟 𝑘 = 1
𝑋[𝑘] = {
−3 𝑝𝑜𝑢𝑟 𝑘 = 2
3 + 2𝑗 𝑝𝑜𝑢𝑟 𝑘 = 3

5.2. Transformée de Fourier Rapide, Fast Fourier Transform (FFT)


La Transformée de Fourier Rapide (notée par la suite FFT) est simplement une DFT calculée
selon un algorithme permettant de réduire le nombre d’opérations et, en particulier, le nombre
de multiplications à effectuer. Il faut noter cependant, que la réduction du nombre
d’opérations arithmétiques à effectuer, n’est pas synonyme de réduction du temps
d’exécution. Tout dépend de l’architecture du processeur qui exécute le traitement.
Pour calculer une DFT, on doit calculer N valeurs X(k):
𝑁−1
𝑛𝑘
𝑋[𝑘] = ∑ 𝑥[𝑛]. 𝑒−𝑗2𝜋 𝑁
𝑛=0
et ceci pour k∈[0,N−1]. Si on effectue le calcul directement sans algorithme efficace, on
doit effectuer :

𝑁2 multiplications complexes
{
𝑁(𝑁 − 1) additions complexes

Il existe différents algorithmes de FFT. Le plus connu est sûrement celui de Cooley-Tukey qui
réduit à :

𝑁
𝑙𝑜𝑔2 (𝑁) le nombre de multiplications.
2

Illustrons tout d’abord la méthode par un exemple pour N=4.

La notation w représente e−j2π/N, c’est-à- dire e−j2π/4. On peut remarquer que wN=1 et wN/2=−1.
Pour N=4, w4=1 et w2=−1.

35
Chapitre 5 Analyse des signaux numériques

La suite DFT s’écrit :

X[0]=x[0]+x[1]+x[2]+x[3]=(x[0]+x[2])+(x[1]+x[3])
X[1]=x[0]+w1x[1]+w2x[2]+w3x[3]=(x[0]−x[2])+w1(x[1]−x[3])

X[2]=x[0]+w2x[1]+w4x[2]+w6x[3]=(x[0]+x[2])−(x[1]+x[3])

X[3]=x[0]+w3x[1]+w6x[2]+w9x[3]=(x[0]−x[2])−w1(x[1]−x[3])

Les données (x[0], x[1],..., x[N−1]) sont regroupées en 2 paquets: un paquet formé des
données d’indices pairs (x[0], x[2],..., x[N−2]) et un paquet formé des données d’indices
impairs (x[1], x[3],..., x[N−1]).

Soit pour N=4, un paquet (x[0], x[2]) et un paquet (x[1], x[3]). Puis sur chaque paquet on
effectue une DFT d’ordre N/2 et on combine les résultats de ces 2 DFT pour obtenir celle
d’ordre N. Ce qui donne, toujours pour N=4 :

x0
DFT Y0=x0+x2  X0= Y0+Z0=x0+x2+ x0+x2
d’ordre N/2
x2 Y1=x0-x2
 X1=Y1+w1Z1= x0+w1x1- x2-w1x3
w1

x1
DFT Z0=x1+x3 _ X2= Y0-Z0=x0-x1+ x2-x3
d’ordre N/2
_
x3 Z1=x1-x3 X3=Y1-w1Z1= x0-w1x1- x2+w1x3
1
w

Pour obtenir les 4 valeurs X[k], il suffit donc de calculer 2 DFT d’ordre N/2=2 et de combiner
les résultats 2 à 2 à l’aide d’une addition et d’une multiplication au maximum, pour chaque
valeur X[k]. Cette étape est appelée étage de «papillons», pour des raisons évidentes liées à la
forme du schéma de calcul. Ce résultat se généralise à toute valeur de N multiple de 2.

5.3. Convolution numérique

Si les signaux numériques h et g sont définis par les suites {h[n]} et {g[n]} de dimension N, le
produit de convolution s’écrit alors :

x[n]=h[n] * g[n]=∑𝑁−1
𝑘=0 ℎ[𝑘]. 𝑔[𝑛 − 𝑘]

36
Chapitre 5 Analyse des signaux numériques

La dimension du signal convolué x[n] est donc 2N−1 si les signaux de départ sont tous deux
de dimension N.

Nous abordons maintenant le cas de deux signaux h et g de dimensions différentes. Nous


posons dim(h)=N et dim(g)=M. Par définition nous avons toujours :

x[n]=h[n] * g[n]=∑𝑁−1
𝑘=0 ℎ[𝑘]. 𝑔[𝑛 − 𝑘]

La dimension du signal convolué est N+M−1.

Exemple
Calculer le produit de convolution numérique entre les signaux h et g tel que :
x[n]=h[n]*g[n] avec h[n]=[1 2 3 4] et g[n]=[0 2 2 2]

Solution

x[n]=h[n] * g[n]=∑𝑁−1
𝑘=0 ℎ[𝑘]. 𝑔[𝑛 − 𝑘] avec N=4

2 2 2 2

0
0 1 2 3 k 0 1 2 3 k
h[k] 0 g[k]

2 2 2 2 2 2

0 0
-3 -2 -1 0 k n-3 n-2 n-1 n k
0 0
g[-k] g[n-k]

37
Chapitre 5 Analyse des signaux numériques

0 1 2 3 k
h[k]

Pour n=0, 2 2 2

x[0]=∑3𝑘=0 ℎ[0]. 𝑔[−𝑘]


0
x[0]=0
-3 -2 -1 0 k
0
g[-k]

Pour n=1,
2 2 2
x[1]=∑3𝑘=0 ℎ[1]. 𝑔[1 − 𝑘]

x[1]=2 0
-2 -1 0 1 k
0
g[1-k]

Pour n=2,
2 2 2
x[2]=∑3𝑘=0 ℎ[2]. 𝑔[2 − 𝑘]

x[2]=2.1+2.2=6 0
-1 0 1 2 k
0
g[2-k]

Pour n=3,

2 2 2
x[3]=∑3𝑘=0 ℎ[3]. 𝑔[3 − 𝑘]

x[3]=2.1+2.2+2.3=12
0
0 1 2 3 k
0
g[3-k]

38
Chapitre 5 Analyse des signaux numériques

Pour n=4,
2 2 2
x[4]=∑3𝑘=0 ℎ[4]. 𝑔[4 − 𝑘]

x[4]=2.2+2.3+2.4=18 0
0 1 2 3 k
0 g[4-k]

Pour n=5, 2 2 2

x[5]=∑3𝑘=0 ℎ[5]. 𝑔[5 − 𝑘]


0
x[5]=2.3+2.4=14
0 1 2 3 k
0
g[5-k]

Pour n=6, 2 2 2

x[6]=∑3𝑘=0 ℎ[6]. 𝑔[6 − 𝑘]


0
x[6]=2.4=8
0 1 2 3 k
0 g[6-k]

dim(x)=2.4-1=7 18
14
12
s[x]=[0 2 6 12 18 14 8] 6 8
0 2
0 1 2 3 4 5 6 k
s[n]

5.4. Intercorrélation numérique

Pour des signaux numériques (que l’on supposera réels) définis par {s(n)} et {r(n)} et tels que
dim(s)=N et dim(r)=M, on définit la fonction d’intercorrélation par :

𝑁−1

𝐶𝑠𝑟 [𝑛] = ∑ 𝑠[𝑚]. 𝑟[𝑚 − 𝑛]


𝑚=0

Le problème du calcul de la fonction d’intercorrélation des deux signaux s et r est équivalent


à celui rencontré dans l’opération de convolution.

39

Vous aimerez peut-être aussi