Title: Comment calculer le spectre d
1Comment calculer le spectre dun signal audio
- Séance 4, très importante, 1 heure
- Version 15 mars 2005
- Auteur Jean-Paul Stromboni
Objectifs et idées clefs de la séance
- Introduire le concept de spectre dun signal
audio et expliquer comment un ordinateur calcule
spectre et spectrogramme avec lalgorithme de
FFT. - loreille perçoit le spectre, la composition
fréquentielle des sons. - on décrit aussi bien un son avec le signal
associé ou avec le spectre associé - à lorigine du spectre, la décomposition en
séries de Fourier (19ème siècle) - la transformation de Fourier calcule le spectre
dun signal en temps continu - un ordinateur utilise la transformée de Fourier
discrète et la FFT pour calculer le spectre à
court terme et le spectrogramme
Savez vous déjà répondre aux questions suivantes
?
Quappelle ton spectre, et quelle est linfor-mation contenue dans le spectre dun signal ? Quest ce qui fait distinguer à loreille un piano et une flûte ? Un adulte et un enfant ?
Que calcule la transformation de Fourier, et à partir de quelle information ? Quand peut-on décomposer un signal audio en séries de Fourier ?
Mais qui était J. Fourier, quand vivait-il et que cherchait il à résoudre avec ses séries ? Quel est lintérêt de la FFT ?
Quand doit-on utiliser la Transformée de Fourier Discrète ou TFD ? Dessiner une fenêtre temporelle de durée 20ms et dexpression
Le signal est-il à bande limitée ? Que valent spectre et spectrogramme de
2Loreille humaine perçoit la composition
fréquentielle des sons, cest-à-dire le spectre
- Tout un chacun sait (plus ou moins ?)
- différencier une note grave (basse fréquence,
donc pitch élevé) et une note aigüe (fréquence
élevée), sur une échelle de perception
logarithmique allant de 20Hz à 20kHz - reproduire un LA3 à 440 Hz
- reconnaître un instrument de musique selon la
richesse harmonique de son timbre - comparer lintensité des notes sur une échelle
damplitude logarithmique - Ces informations sur un son (pitch, timbre,
intensité) constituent son spectre - le spectre damplitude ou spectre regroupe
lensemble des intensités des composantes
fréquentielles du son amplitudef(fréquence) - un son dont le spectre (damplitude) est nul
au-delà dune fréquence Fmax est dit à bande
limitée - Le spectre varie au cours du temps
- En musique, cela crée le rythme, la mélodie, ou
encore lexpression dune interprétation - En parole, cela permet de percevoir phonèmes,
diphones, et aussi lintonation, ou prosodie, - On représente lévolution temporelle du spectre
damplitude dans un spectrogramme amplitude
g(instant, fréquence)
3Un son est aussi bien décrit par les valeurs
ins-tantanées du signal associé que par son
spectre
- soit s(t) lexpression temporelle du signal
associé - t est linstant (en seconde)
- éventuellement, s(t) est défini dans une fenêtre
temporelle débutant en t0 et de durée T -
- on note S(f) le spectre associé à s(t)
- f est la fréquence exprimée en Hertz (Hz)
- on définit S(f) comme la transformée de Fourier
de s(t) en distinguant les cas suivants - la décomposition en série de Fourier initiale ne
sapplique quà s(t) de durée T (ou
T-périodique). - si s(t) est apériodique, S(f) TFs(t).
- si le signal est échantillonné s(nTe) , on
utilise la transformée de Fourier discrète et on
exécute lalgorithme de FFT qui calcule le
spectre. - Dans lexemple de la note pure LA3, le spectre se
réduit à une composante de fréquence f 440 Hz - Est-ce un signal à bande limitée ?
- Lutilisation de la fréquence et du spectre peut
aussi simplifier certains problèmes - La décomposition en série de Fourier a été
proposée au 19ème siècle par J. Fourier pour
résoudre léquation de propagation de la chaleur
(il cherchait à estimer ainsi lage de la terre !)
4À lorigine du spectre, la décomposition en
séries de Fourier dun signal de durée finie
- Le problème posé par Fourier consistait à décrire
une fonction du temps s(t) de durée T avec une
somme de fonctions sinusoïdales -
- n est entier
- le terme n de fréquence n/T est lharmonique Hn
- le terme de fréquence nulle est la composante
continue CC ou valeur moyenne de s(t) (n0) - le terme de fréquence 1/T est dit fondamental F
- Par exemple, voici la décomposition dun signal
triangulaire défini sur lintervalle -T/2,T/2 - Préciser les amplitudes de CC, F, H3, H5 et H7
5La décomposition en séries de Fourier établit le
spectre dun signal périodique ou de durée T
- Que vaut f(t) entre T/2 et T/2 ?
- Que vaut f(t) à lextérieur de cet intervalle ?
- Que représente le diagramme ci-dessous ?
- Quand T tend vers linfini, 1/T tend vers 0
- Les raies ci-dessus se rapprochent et le spectre
devient une fonction continue de la fréquence.
6La transformation de Fourier établit le spectre
dun signal quelconque
- Définition de la transformation de Fourier (i2 -
1) - Quelques propriétés de TF utilisées dans la suite
- Linéarité
- TFproduit de convolution produit
- Définition du produit de convolution
- Dualité de TF et TF-1 (permuter t et f, )
7La transformation de Fourier établit le spectre
dun signal apériodique ou de durée infinie
- Quelques transformées utilisées dans la suite
- La distribution ou impulsion de Dirac
- la transformée de limpulsion de Dirac est
- Définition de la fonction peigne de Dirac
- La transformée dun peigne est un peigne
8La transformation de Fourier établit le spectre
dun signal apériodique ou de durée infinie
- Quelques transformées utilisées dans la suite
- la transformée du cosinus contient 2 raies
- La fonction rectangle (ou fonction porte)
- La transformée de la fonction rectangle est la
fonction sinus cardinal
9La transformée de Fourier discrète établit le
spectre dun signal en temps discret x(nTe)
- Transformée de Fourier discrète
- La périodicité de TFD est
- On ne conserve que N échantillons successifs pour
calculer la transformée de Fourier à court terme - Et on ne calcule que M fréquences fk de X(f)
- On aboutit à lalgorithme de FFT (ou Fast Fourier
Transform), car le calcul du spectre est plus
rapide en particulier si NM2K
10Le spectrogramme représente lévolution du
spectre à court terme au cours du temps
- On sait par exemple que le spectre du signal
vocal est constant durant 30ms, on utilisera une
fenêtre de 240 échantillons avec la fréquence
déchantillonnage 8 kHz. - On découpe laxe des temps en zones de 30
millisecon-des (240 échantillons), et on calcule
le spectre de chaque fenêtre par FFT 240 points. - Le spectrogramme qui affiche tous ces résultats
et indique donc lévolution temporelle du
spectre. - Spectrogramme de la note piano_c3.wav (par
WaveLab) - (retrouver laxe des temps et laxe des
fréquences)
11Calcul du spectre avec Matlab
fe8000 t01023(1/fe) s0.5cos(2pi880t)
f01023/1024fe plot(f,abs(fft(s,1024))) grid
, figure f2-512511/1024fe spec
fftshift(fft(s,1024)) plot(f2,abs(spec))
N? M?
Quest ce qui change ici ?
12Calcul du spectrogramme avec Matlab
fe8000 t016000(1/fe) s0.5cos(2pi880t)
0.75cos(4000pit) f-512511/1024fe spec
fftshift(fft(s(11024),1024)) plot(f,abs(spec)),
grid, figure specgram(s,2048,fe,ones(1,1024))
colorbar
Fenêtre Amplitude N M
Fenêtre Amplitude N M overlap
13Quelques propriétés de la distribution de Dirac
qui seront réutilisées dans la suite
- La distribution de Dirac peut être présentée
comme la limite dune impulsion de largeur h et
de hauteur 1/h quand h tend vers 0. - En conséquence, lopération suivante permet de
prélèver une valeur sur le signal s(t) - Le produit de convolution par d(t-T) décale le
signal s(t) de T
14Revenons aux origines du spectre la
décomposition en séries de Fourier
- Le problème consiste à décrire une fonction s(t)
de durée T sous la forme suivante -
- n est entier
- le terme n de fréquence n/T est lharmonique Hn
- le terme de fréquence nulle est la composante
continue CC ou valeur moyenne de s(t) (n0) - le terme de fréquence 1/T est dit fondamental F
- Fourier propose une méthode basée
sur les propriétés des fonctions sinus et
cosinus. - Notons
- Et notons
- On vérifie aisément
- On en tire