Beruflich Dokumente
Kultur Dokumente
Université de Moncton
Hiver 2013
Contenu
Contenu
Série de Fourier discrète
Transformée de Fourier discrète
Applications
Transformée de Fourier rapide
Introduction
Introduction
Introduction
Exemple
4
2
0
−2
−4
0 2 4 6 8 10 12
n
Exemple (2)
0
0 2 4 6 8 10 12
k
Cependant, on a 2 pics dans le spectre, alors qu’il n’y a qu’un seul cosinus.
Exemple (3)
On a un pic à k = 3 et k = 9.
À cause de 3 périodes
f 50 1 1 3 3 k
F = = = = · = =
fs 200 4 4 3 12 N
X[k] = X ∗ [N − k]
Exemple (4)
0
−6 −4 −2 0 2 4 6
k
Exemple (5)
Exemple (6)
Exemple (7)
2 2
1 1
0 0
0 0.2 0.4 0 20 40 60 80 100
F f (Hz)
Problèmes de la DFS
Problèmes de la DFS
−2
−4
0 2 4 6 8 10 12 14
n
Problèmes de la DFS
0
0 10 20 30 40 50 60 70 80 90 100 110 120
f (Hz)
Problèmes de la DFS
Fuite spectrale
Exemple
−1
0 2 4 6 8 10 12 14 16 18 20
Temps (ms)
Exemple (2)
Le spectre :
0.6
0.4
0.2
0
0 100 200 300 400 500
Fréquence (Hz)
Exemple (3)
Exemple
Quelques propriétés
Remarquer qu’un signal qui est court dans le temps est long en fréquence,
et vice-versa.
Applications
Analyse spectrale
Il existe plusieurs signaux dont l’information est codée dans des sinusoı̈des.
La voix est un bon exemple : les humains peuvent distinguer des sons
de 20Hz à 20kHz environ.
La musique n’est qu’une suite de notes de fréquence fixe (ex : A4 est
440Hz).
Les pales d’un sous-marin tournent à une fréquence qui peut être
détectée.
Exemple 1
Exemple 1
0.2
0.1
−0.1
−0.2
0 0.5 1 1.5
temps (s)
Exemple 1
0.6
0.4
0.2
0
0 10 20 30 40 50 60 70 80
Fréquence (Hz)
Exemple 1
Exemple 1
Exemple 1
Exemple 1
Obtention du spectre
Obtention du spectre
Le signal :
Obtention du spectre
Le signal est le suivant :
1.5
0.5
−0.5
−1
−1.5
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09
Code Matlab :
N = 256;
S = 3000;
t = 0 : 1/S : (N-1)/S;
x = 0.5*cos(2*pi*t*44)+0.4*sin(2*pi*t*322)+0.5*cos(2*pi*t*415);
x = awgn(x,15);
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 42 / 79
Obtention du spectre Exemple
Obtention du spectre
À l’aide de la DFT, on obtient le spectre suivant :
60
50
40
30
20
10
0
0 20 40 60 80 100 120 140
k
Code Matlab :
X = fft(x);
k = 1:N;
plot(k,abs(X));
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 43 / 79
Obtention du spectre Exemple
Obtention du spectre
Obtention du spectre
En fonction de la fréquence :
60
50
40
30
20
10
0
0 500 1000 1500
f (Hz)
Code Matlab :
f = 0: S/N : 0.5*S;
stem(f,abs(X(0:129))); xlabel(’f (Hz)’);
Obtention du spectre
Il y a peu d’information utile après 500Hz, donc on fait un zoom sur cette
partie du spectre à l’aide de la commande xlim.
60
40
20
0
0 50 100 150 200 250 300 350 400 450 500
f (Hz)
Obtention du spectre
300
200
100
0
0 50 100 150 200 250 300 350 400 450 500
f (Hz)
Fenêtre de Hamming
Fenêtre de Hamming
0.8
1
0.6
0
0.4
−1
0.2
0 −2
0 50 100 150 200 250 0 0.02 0.04 0.06 0.08
n t
Code Matlab :
x = x.*hamming(N)’;
Fenêtre de Hamming
60 30
40 20
20 10
0 0
0 100 200 300 400 500 0 100 200 300 400 500
f (Hz) f (Hz)
Réponse en fréquence
Réponse en fréquence
0.4
0.2
−0.2
−0.4
0 10 20 30 40 50 60
n
Réponse en fréquence
1.5
0.5
0
0 0.1 0.2 0.3 0.4 0.5
F
Réponse en fréquence
0.2
1
0
0.5
−0.2
−0.4 0
0 100 200 300 400 500 0 0.1 0.2 0.3 0.4 0.5
n F
x[n]h[n] ⇐⇒ X[k]H[k]
Bien qu’il y ait des étapes supplémentaires, c’est plus rapide de passer
par la DFT pour faire la convolution.
Étapes : DFT de x[n], DFT de h[n], multiplication, transformée
inverse.
Certains problèmes :
La longueur de la convolution n’est pas la même que la DFT.
Pour un signal x[n] de longueur N et h[n] de longueur M , la
longueur de la convolution est N + M − 1.
La longueur de la DFT est N (si N > M ).
Il manque des points.
Il faut donc ajouter des zéros aux signaux pour qu’ils soient de
longueur N + M − 1, avant de faire la DFT.
Exemple
Soit x[n] = {1, −3, 1, 5} et h[n] = {4, 3, 2, 1}. Effectuer la convolution par
la DFT.
Déconvolution
Propriétés de la DFT
Propriétés de la DFT
Théorème de Parseval
Formulation matricielle
ce qui donne :
X = WN x
où 0
0 0 0
WN WN WN ··· WN
0 1 2 N −1
WN
WN WN ··· WN
W 0 2 4 2(N −1)
WN = N WN WN ··· WN
. .. .. ..
..
.
.
. . . .
0 N −1 2(N −1) (N −1)(N −1)
WN WN WN ··· WN
Détection de signaux
Détection de signaux
Pour S = 100, 200 et 500Hz, les pics changent de fréquence. Mais à
S = 1kHz, les pics sont au même endroit que S = 500Hz.
S = 100Hz S = 200Hz
0.4 0.4
0.3 0.3
0.2 0.2
0.1 0.1
0 0
0 10 20 30 40 50 0 50 100
f (Hz) f (Hz)
S = 500Hz S = 1000Hz
0.4 0.4
0.3 0.3
0.2 0.2
0.1 0.1
0 0
0 50 100 150 200 250 0 100 200 300 400 500
f (Hz) f (Hz)
DTFT
DFT
Exemple
Calculer la DTFT de la séquence x[n] = {1, 0, 3, −2}.
À partir de la définition,
∞
X
X(F ) = x[m]e−j2πmF = 1 + 3e−j4πF − 2e−j6πF
m=−∞
6
Amplitude
0
−0.5 0 0.5 1
F
FFT
FFT
Problèmes de la DFT
Optimiser la DFT
Optimiser la DFT
Optimiser la DFT
FFT
FFT
FFT
IFFT
Conclusion