Académique Documents
Professionnel Documents
Culture Documents
Chapitre 5 Ts
Chapitre 5 Ts
Chapitre 5
Analyse des signaux numériques
𝑁−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.
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
= 2+3(-j)-1(-1)+1(j)=3-2j
= 2+3(-1)-1(1)+1(-1)=-3
= 2+3(j)-1(-1)+1(-j)=3+2j
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
On aura :
-j
𝑊41 = 𝑊49
𝑋[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
2 𝑝𝑜𝑢𝑟 𝑛 = 0
3 𝑝𝑜𝑢𝑟 𝑛 = 1
𝑥[𝑛] = {
−1 𝑝𝑜𝑢𝑟 𝑛 = 2
1 𝑝𝑜𝑢𝑟 𝑛 = 3
5 𝑝𝑜𝑢𝑟 𝑘 = 0
3 − 2𝑗 𝑝𝑜𝑢𝑟 𝑘 = 1
𝑋[𝑘] = {
−3 𝑝𝑜𝑢𝑟 𝑘 = 2
3 + 2𝑗 𝑝𝑜𝑢𝑟 𝑘 = 3
𝑁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
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
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.
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.
x[n]=h[n] * g[n]=∑𝑁−1
𝑘=0 ℎ[𝑘]. 𝑔[𝑛 − 𝑘]
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
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
Pour n=6, 2 2 2
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]
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
39