Académique Documents
Professionnel Documents
Culture Documents
Page -1-
REPRSENTATION
TEMPORELLE (EXEMPLE1.M)
S ( ) S ( ) S ( ) *
conjugaison complexe)
On passe de lune lautre par la transformation de Fourier
~
s ( f ) S ( ) F [ s (t )] et s (t ) F 1 [ S ( )] .
REPRSENTATION
FRQUENCIELLE
(*
, soit :
Page
-2-
Page
frquenciel
-a
raies
spectre
?
a
s(t ) a cos(2f 1 t ) ( ( f f 1 ) ( f f 1 ))
2
F
temporel
?
?
1/f1
?
-3-
T1
2
1
n 0
n 0
bn
).
an
a n , bn lharmonique n
Calcul des coefficients de Fourier
x y
1
T1
t 0 T1
t0
x (t ) y (t )dt
Page
-4-
1
S n2 , n IN , mais galement
2
C n C m S n S m 0, n m et C k S m 0, ( k , m ) IN 2 .
En consquence, et au vu de la forme de s (t ) , on a :
a 0 C 0 s 1 s , que a n 2C n s , et bn 2 S n s
2
On a en effet : C n
ILLUSTRATION
DU
PHNOMNE
DE
GIBBS :
T1/2
T1
-a
1.5
0.5
-0.5
-1
-1.5
10
0.2
0.4
0.6
temps (sec)
0.8
0.2
0.4
0.8
0.8
4a 1
On trouve : a 0 0 , b0 0 , a n 0, n , et bn
pour n 1
n
impair, bn 0 pour n pair.
Soit s (t )
Allure du spectre S ( ) associ s (t ) ?
S ( )
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
0.6
Page
-5-
grid
EXERCICE : (exemple3.m)
Analyser les instructions suivantes qui reconstituent le signal en
dents de scie ci-contre sur une seconde. A quel harmonique sarrte
ton ? Que dduire pour la dcomposition en srie de Fourier de ce
signal ? Comparer au cas prcdent du carr.
fs=8000;
t=0:1/fs:1;
f=1;
s=(8/pi^2)*(cos(2*pi*f*t)+ ...
cos(6*pi*f*t)/9+ ...
cos(10*pi*f*t)/25);
plot(t,s)
a
k 0
dks M
d me
b
est une quation gnrale dordre K M
m
dt k m 0
dt m
jt
Prenons une entre et une sortie complexes, soient e(t ) Ee
et
e jt e jt
.
2
S a k ( j ) k e j E bm ( j ) m .
en simplifiant par e jt :
Do lon tire :
E
b
a
( j ) m
( j ) k
F ( ) et F ( ) .
Page
signal dentre en fonction de . Gain et dphasage fonction de la
frquence/pulsation constituent la rponse harmonique du filtre.
Par consquent, comment dduire la rponse harmonique dun filtre
linaire de lquation diffrentielle? De la fonction de transfert ?
EXEMPLE
DU
FILTRE
DE
BUTTERWORTH
0
B( p ) 2
2
p 2 0 p 0
n=2
Filtrage :
Supposons que lon cherche retrouver le fondamental dun signal en
supprimant les harmoniques ; on pourra procder en appliquant un
filtre linaire qui prsente un gain unit la frquence du
fondamental et un gain nul pour les autres harmoniques.
-6-
-20dB
f 3dB
10 f 3 dB
Page
1
P
T
Transforme de Fourier
Quand on tend lanalyse prcdente des signaux priodiques au cas
non priodique, en faisant tendre la priode T vers linfini, les raies
harmoniques disparaissent, le spectre devient une fonction continue
de et la srie de Fourier devient la transforme de Fourier F :
t0 T
s(t )
f (t )dt
2
2
[
c
cos(
n
)]
dt
cn2 / 2
n 0 n
1
n
0
T
n 1
2
a
Le premier terme 0 est la puissance moyenne associe la
S ( )
S ( )
s( t )e
jt
dt
F 1
s(t )
1
2
s(t )e
jt
1
T
Fourier
t0
-7-
Fourier
~
s(f )
s (t )e
2 jft
dt S ( )
~
s( f )
F 1
s (t )
~s ( f )e
2 jft
df
Laplace
S ( p)
s(t )e
0
tp
dt ,
Page
F ()
Thorme de Parseval :
(t ) dt
-8-
~
s( f )
df
s (t ) signal rel
~
s ( f ) ~s ( f ) *
(*=complexe conjugu)
EXERCICE :
Comment faut il modifier ces proprits si lunit utilise pour le
spectre nest pas le Hz (frquence) mais le rd / s (pulsation) .
~s ( f f ) F ( e j 2f1t s(t ))
1
F [ s(t t1 )] ~
s ( f )e j 2ft1
ds
) j 2f ~
s( f )
dt
Seconde dmonstration en annexe : la rponse permanente dun
filtre linaire une entre sinusodale est elle-mme sinusodale
Page
s (t )
j ( t )
h( )d e jt e j h( )d e jt H ( )
On reconnat la transforme de Fourier de la rponse impulsionnelle h(t ) , soit H ( ) , quantit complexe. Cest donc :
s(t ) S e j (t ) avec
S H ( ) et H ( ) .
e jt e jt
, on en
2
e jt H ( )
) en utilisant la proprit
2
fondamentale ci-dessus, soit : h(t ) rel H ( )* H ( )
dduit que s (t ) 2 Re(
.
function wav(action)
% lance le magntophone Win95 de SonsWav
% exemple: wav('/play /close Bibli/son2.wav')
% ou wav('/open Bibli/Chord.wav')
-9-
Page
- 10 -
i=fix(x*fs);
extrait=son(min(i):max(i));
set(h,'name',['fichier wav ', fichier, ...
'.wav, ', num2str(max(i)-min(i)), ...
' chantillons',', F chantillonnage ',...
num2str(fs)]);
sound(extrait,fs)
end
end
set(h,'Pointer','arrow');
function []=analysewav(fichierwav)
%appel: son = analysewav('toto')
if ~nargin, fichierwav='bonjour'; end;
[son,fs]=wavread(['Bibli/' fichierwav]);
sound(son,fs)% joue fichierwav
[Nb,C]=size(son);%en cas de strophonie
if C>1, son=son(:,1); end;% une voie seulement
S=512; % nombre de points de la fft
FHz=1500; %fentre de frquence observe
dt=0.5;% intervalle temporel affich
T = fix(dt*fs);% nombre d'chantillons affichs
F = fix(FHz*S/fs); % nombre de frquences affiches
% trac du signal sonore entier
subplot(3,1,1)
plot([0:Nb-1]/fs,son)
text(0,1.2,'temps(s)','fontsize',8)
ylabel(fichierwav)
bouton=1;
% choix de la fentre d'analyse
h1=[],h2=[];% visualisation
[x,y,bouton]=ginput(1)
while bouton==1,
In=fix(x*fs)+1;
T1=min(T,Nb-In);
if Nb-In<S, In=Nb-S; end;
subplot(3,1,1)
delete(h1,h2)
h1=line([In,In]/fs,[-1,1],'color','red')
Page
h2=line([In+T1,In+T1]/fs,[-1,1],'color','red')
subplot(3,1,2)
t=[In:In+T1-1]/fs;
extrait=son(In:In+T1-1);
plot(t,son(In:In+T1-1))
sound(son(In:In+T1-1),fs)
ylabel([int2str(T1),' chantillons '],'fontsize',8)
axis([t(1),t(length(t)),min(son(In:In+T11)),max(son(In:In+T1-1))])
subplot(3,1,3)
%calcul et trac du spectre
spectre=fft(son(In:In+S-1));
spec=spectre(1:F);
interv=0:F-1;
freq=interv*fs/S;
plot(freq,abs(spec)')
xlabel('SPECTRE - frquence en Hz','fontsize',8)
M=max(abs(spec)); %marque le LA 110 Hz
V=[1 1.25 1.5]*110;%octave La110 Mi137.5 Sol165
W=[V 2*V 4*V 8*V]; % 4 octaves
h=gca;
set(h,'Xtick',W,'Xgrid','on','fontsize',6)
[x,y,bouton]=ginput(1)
end
function [son, fs]= ecoutewav(fichier)
[son,fs]=wavread(['Bibli/',fichier]);
sound(son,fs)
Avec en plus les exemples de scripts
%joue un signal carre 100 Hz
fs=22050;
t=0:1/fs:2;
f=100;
s= 0.5*sign(sin(2*pi*f*t));
spectre=fft(s,2048)/2048;
freq=0:2047;
freq=freq*fs/2047;
subplot(2,1,1)
plot(freq,abs(spectre))
subplot(2,1,2)
tvisu = (0:2047)/fs;
plot(tvisu,s(0:2047))
axis([0,0.1,-2,+2]);
sound(s,fs)
% wavwrite(s,fs,8,'son1'); % pour sauver
%cre un son avec une enveloppe
fs=22050;
t=0:1/fs:2;
f=1000;
s= exp(-2*t).*sin(2*pi*f*t);
spectre=fft(s,2048)/2048;
freq=0:2047;
freq=freq*fs/2047;
subplot(2,1,1)
plot(freq,abs(spectre))
subplot(2,1,2)
plot(t,s)
sound(s,fs)
% modulation de frquence
fs=22050;
t =1:1/fs:4;
f =800*(ones(size(t))+sin(4*pi*t));
s = 0.5*sign(sin(2*pi*f.*t));
spectre=fft(s,2048)/2048;
freq=0:2047;
freq=freq*fs/2047;
subplot(2,1,1)
plot(freq,abs(spectre))
subplot(2,1,2)
tvisu = (0:2047)/fs;
plot(tvisu,s(0:2047))
axis([0,0.1,-2,+2]);
sound(s,fs)
- 11 -
Page
- 12 -