Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Remarque : Il est demandé aux étudiants de bien présenter le compte rendu avec une introduction au TP
et une conclusion. Les résultats, les figures et les codes Matlab doivent être clairs et bien exposés avec des
commentaires.
1)Transformée de Fourier Discrète
Considérons un signal à support limité (n), n=0,1 , … , N −1. Soit ~x (n) un signal périodique construit à
partir de x (n).
~
x (n)=x ( n mod N )
La transformée de Fourier discrète (TFD) de x ( n )est donnée par :
N −1 2π N −1
−j kn
X ( k )= ∑ x( n)e N
= ∑ x(n)W nk
N , 0 ≤ k ≤ N−1( 1)
n=0 n=0
2π
−j kn
avec W nk =e N . La transformée de Fourier discrète inverse (TFDI) est donnée par
N
N −1 2π N−1
1 j kn 1
x ( n )= ∑ X ( k ) e N = ∑ X ( k ) W −nk N , 0 ≤ n ≤ N −1 ( 2 )
N k =0 N k=0
Nous savons que l’échantillonnage en temporel induit une périodisation du spectre dans le domaine
fréquentiel.
X ( k + N )=X ( k ) ∀ n , k (3)
A la différence de la transformée de Fourier à temps discret, la transformée de Fourier discrète (TFD)
induit l’échantillonnage de l’axe des fréquences et par conséquent la périodisation du signal en temporel
sur N échantillons. Le nouveau signal périodique ~ x ( n ) est la version périodique de période N de x (n), on
peut l’exprimer comme ~
x ( n ) = ( x (n) ) ≜ x ( n modulo N ).
N
On pose W N de taille N × N qu’on peut remplir avec W nk N , n=0,1 , … N et k =0,1 , … N , tel que :
1 1 1 ⋯ 1
W N =[ W nkN 0≤ k , n ≤ N−1 ] =
⋮
1 WNWN
⋮
1 W (N
N
1
−1)
2× 1
W 2×
N
⋮
⋯ WN
(N−1)
⋱
[
(N −1)
1
Université BLIDA1, Département de l’électronique,
Master 1 : ESE (2020-2021). TP traitement numérique du signal
Il est possible de calculer le résultat d’un produit de convolution circulaire en utilisant la TFDI.
2) La symétrie : W nk
N
+N / 2
=−W knN
Ces deux propriétés sont utilisées par l’algorithme de transformée de Fourier discrète rapide (FFT), ce qui
permet de réduire la complexité à O(N log N ) operations. Il existe deux versions de l’algorithme FFT :
FFT avec entrelacement temporel (Cooley-Tukey).
FFT avec entrelacement fréquentiel.
FFT avec entrelacement temporel
1
nk
Calculons une DFT sur N=2 points,X ( k )=∑ x (n)W 2 , n , k =0,1 :
n=0
Travail à faire :
Partie1
1) Soit le signal x (n) une séquence à 4 points avec : x (n)=[1 , 1 ,1 , 1] pour n=0,1,2,3. Calculer
théoriquement la TFD de ce signal.
2) Ecrire deux fonctions qui permettent de calculer la TFD et la TFDI en utilisant les formules (1) et (2).
3) Ecrire à nouveau deux autres fonctions qui permettent de calculer la TFD et la TFDI en utilisant les
formules (4), (5) et (6).
4) Soient les signaux x 1=[1,2,2]; n=0, 1, 2 et x 2=[ 1,2,3,4 ] ,n=0,1,2 , 3. Calculer théoriquement le
résultat du produit de convolution circulaire sur N=4, 5, 6 et 8. Calculer également le résultat de la
convolution linaire. Comparez
5) Soit le signal x (n)=[ −3 1 2−1 01 1 ] pour n=0,1 … 6. Ecrire une fonction Matlab cir_decalage en utilisant
la fonction mod qui réalise un décalage circulaire modulo N de k échantillons sur un signal pour une
taille N de la TFD. Autrement dit on veut calculer la séquence ~ x=( x ( n−k ) ) N avec k=3 et N=7 puis N= 10.
6) Représenter x(n) et ses versions décalées sur la même figure en utilisant la fonction stem.
Partie 2
7) On veut réaliser un programme qui calcule le produit de convolution circulaire.
a) Ecrire un programme qui calcul le produit de convolution circulaire entre les signaux x1 et x2 en
utilisant la relation (7) et la fonction cir_decalage, avec N=4. Vérifier vos résultats avec la
fonction cconv.
b) Proposer une fonction plus efficace pour calculer cette convolution sans boucle for.
c) Recalculer maintenant la convolution circulaire en utilisant la relation (10) en utilisant des FFT et
IFFT sur N=4 points.
d) Comparez le temps d’exécution de des méthodes de calcul de la convolution circulaire avec les
fonctions tic et toc. Commentez le résultat obtenu.
e) Calculer la convolution linéaire en utilisant la fonction conv et comparez avec le résultat de la
convolution circulaire. Que constatez-vous ? expliquez.
f) Refaites les questions a), b) et c) avec N=5, 6 et N=8. Donnez vos commentaires.
8) Soit le signalx ( n )=exp (−0.9 n ) , n=0,1…N-1
En utilisant les fonctions Matlab tic et toc, compléter le tableau suivant :
Temps exécution FFT (T1) Temps Exécution TFD (T2) T1/T2
N=10
N=512
1024
Comparer et conclure.