0% ont trouvé ce document utile (0 vote)
77 vues2 pages

TD 9 - Analyse: transformée de Fourier discrète: T −2iπf t

Le document décrit la transformée de Fourier discrète d'un signal carré. Il explique d'abord la transformée de Fourier continue puis la définition de la transformée de Fourier discrète. Le script Scilab calcule ensuite la transformée de Fourier discrète du signal carré et affiche le module du spectre.

Transféré par

Zineb Elgourain
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
77 vues2 pages

TD 9 - Analyse: transformée de Fourier discrète: T −2iπf t

Le document décrit la transformée de Fourier discrète d'un signal carré. Il explique d'abord la transformée de Fourier continue puis la définition de la transformée de Fourier discrète. Le script Scilab calcule ensuite la transformée de Fourier discrète du signal carré et affiche le module du spectre.

Transféré par

Zineb Elgourain
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

TD 9 - Analyse : transformée de Fourier discrète

La transformée de Fourier d’un signal s entre les instants 0 et T est donnée par :
ˆ T
ŝ(f ) = s(t) e−2iπf t dt
0
1
Si on approche cette intégrale par la méthode des rectangles avec un pas ∆t égal à où fe est une
fe
fréquence d’échantillonnage, on obtient la somme :
N −1
X k
Ŝ(f ) = ∆t × s(tk ) e−2iπf tk où N = T fe et tk = .
fe
k=0
n
En prenant pour f les valeurs fn = pour n = 0, . . . , N − 1, on a :
T
N −1
1 X nk
Ŝ(fn ) = s(tk ) e−2iπ N
fe
k=0

Cette dernière expression correspond à un facteur près à la définition suivante de la TFD d’une suite
de nombres :
Définition
Soit (xk )0≤k≤N −1 une suite de N nombres réels. On appelle tranformée de Fourier discrète de cette
suite, la suite (yn )0≤n≤N −1 définie par :
N −1
nk
xk e−2iπ N
X
yn =
k=0

On considère maintenant un signal « porte », s(t) défini par :


(
1 si |x| < 1
s(t) =
0 si |x| > 1
de représentation graphique :

−3 −2 −1 0 1 2 3 4

sin (πf )
Le module de la transformée de Fourier de ce signal est :|ŝ(f )| = .
(πf )
représentation graphique :

−3 −2 −1 0 1 2 3

Travail demandé :
Construire la TFD du signal carré et afficher le spectre des fréquences.
1. Discrétiser en temps à la fréquence d’échantillonnage fe et construire la suite (xk ) de la définition
ci-dessus.
2. Construire la suite (yn ) à partir de la suite (xk ). On peut imbriquer deux boucles for ... end, une
pour calculer la somme du membre de droite, l’indice n étant fixé, et une deuxième pour faire
varier n.
Script Scilab

// Transformée de Fourier discrète


// -------------------------------------------------------------------
// définition d'une fonction "porte" de largeur 1
function s=f(t)
if t<0 then s=0
else if t<1 then s=1
else s=0
end
end
endfunction
// -----------------------------------------------------------------
utilisateur=x_mdialog('intervalle [a;b] et fréquence d''échantillonnage',['a';'b';'fe'],['0';'4';'100']);
a=evstr(utilisateur(1));
b=evstr(utilisateur(2));
fe=evstr(utilisateur(3));
// nombre d'échantillon N du signal
N=(b-a)*fe;
// vecteur X contenant les échantillons
X=zeros(1,N);
for k=1:N
X(k)=f(a+(k-1)/fe);
end
// vecteur Y contenant la TFD de la suite des valeurs dans X
Y=zeros(1,N);
v=exp(-2*%i*%pi/N);
w=1;
for n=1:N
wk=1;
for k=1:N
Y(n)=Y(n)+wk*X(k);
wk=wk*w;
end
w=w*v
end
// ----------------------------------------------------------
// module des complexes de la suite Y
Z=abs(Y);
// ----------------------------------------------------------
// échantillon F des fréquences
F=zeros(1,N);
for k=1:N
F(k)=(k-1)*fe/N;
end
// symétrisation du spectre
M=floor(N/2);
Fsym=(fe/N).*[M-N+1:M];
Zsym=[Z(1,M+2:N),Z(1,1:M+1)];
// graphique
clf(0);
figure(0);
plot2d(Fsym,Zsym);

Vous aimerez peut-être aussi