Comment calculer le spectre dun signal audio Sance

  • Slides: 14
Download presentation
Comment calculer le spectre d’un signal audio Séance 4, très importante, 1 heure Version

Comment calculer le spectre d’un 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 d’un signal audio et expliquer comment un ordinateur calcule spectre et spectrogramme avec l’algorithme de FFT. • l’oreille 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é • à l’origine du spectre, la décomposition en séries de Fourier (19ème siècle) • la transformation de Fourier calcule le spectre d’un 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 ? Qu’appelle t’on spectre, et quelle est l’infor-mation contenue dans le spectre d’un signal ? Qu’est ce qui fait distinguer à l’oreille 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 l’inté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 20 ms et d’expression : Le signal est-il à bande limitée ? Que valent spectre et spectrogramme de: S. S. I. 2005, Comment calculer le spectre d’un signal audio Page 1

L’oreille humaine perçoit la composition fréquentielle des sons, c’est-à-dire le «spectre» q Tout un

L’oreille humaine perçoit la composition fréquentielle des sons, c’est-à-dire le «spectre» q 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 20 Hz à 20 k. Hz Ø reproduire un LA 3 à 440 Hz Ø reconnaître un instrument de musique selon la richesse harmonique de son timbre Ø comparer l’intensité des notes sur une échelle d’amplitude logarithmique q Ces informations sur un son (pitch, timbre, intensité) constituent son spectre: Ø le spectre d’amplitude ou spectre regroupe l’ensemble des intensités des composantes fréquentielles du son: amplitude=f(fréquence) Ø un son dont le spectre (d’amplitude) est nul audelà d’une 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 l’expression d’une interprétation ü En parole, cela permet de percevoir phonèmes, diphones, et aussi l’intonation, ou prosodie, … Ø On représente l’évolution temporelle du spectre d’amplitude dans un spectrogramme : amplitude = g(instant, fréquence) S. S. I. 2005, Comment calculer le spectre d’un signal audio 2

Un son est aussi bien décrit par les valeurs instantanées du signal associé que

Un son est aussi bien décrit par les valeurs instantanées du signal associé que par son spectre q soit s(t) l’expression temporelle du signal associé Ø t est l’instant (en seconde) q éventuellement, s(t) est défini dans une fenêtre temporelle débutant en t 0 et de durée T : Ø q on note S(f) le spectre associé à s(t) Ø f est la fréquence exprimée en Hertz (Hz) q 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 s’applique qu’à s(t) de durée T (ou T-périodique). Ø si s(t) est apériodique, S(f)= TF[s(t)]. Ø si le signal est échantillonné s(n. Te) , on utilise la transformée de Fourier discrète et on exécute l’algorithme de FFT qui calcule le spectre. Ø Dans l’exemple de la note pure LA 3, le spectre se réduit à une composante de fréquence f = 440 Hz Ø Est-ce un signal à bande limitée ? q L’utilisation 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 l’age de la terre !) S. S. I. 2005, Comment calculer le spectre d’un signal audio 3

À l’origine du spectre, la décomposition en séries de Fourier d’un signal de durée

À l’origine du spectre, la décomposition en séries de Fourier d’un signal de durée finie q 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 l’harmonique Hn Ø le terme de fréquence nulle est la composante continue CC ou valeur moyenne de s(t) (n=0) Ø le terme de fréquence 1/T est dit fondamental F q Par exemple, voici la décomposition d’un signal triangulaire défini sur l’intervalle [-T/2, T/2] : s(t) 1 t -1 T Ø Préciser les amplitudes de CC, F, H 3, H 5 et H 7 S. S. I. 2005, Comment calculer le spectre d’un signal audio 4

La décomposition en séries de Fourier établit le spectre d’un signal périodique ou de

La décomposition en séries de Fourier établit le spectre d’un signal périodique ou de durée T q Que vaut f(t) entre –T/2 et T/2 ? q Que vaut f(t) à lextérieur de cet intervalle ? q Que représente le diagramme ci-dessous ? 1 1/9 1/25 1/49 1/81 q Quand T tend vers l’infini, 1/T tend vers 0 Ø Les raies ci-dessus se rapprochent et le spectre devient une fonction continue de la fréquence. Ø La décomposition en séries de Fourier devient la transformation de Fourier. S. S. I. 2005, Comment calculer le spectre d’un signal audio 5

La transformation de Fourier établit le spectre d’un signal quelconque q Définition de la

La transformation de Fourier établit le spectre d’un signal quelconque q Définition de la transformation de Fourier (i 2= - 1) q Quelques propriétés de TF utilisées dans la suite Ø Linéarité Ø TF[produit de convolution] = produit Ø Définition du produit de convolution Ø Dualité de TF et TF-1 (permuter t et f, …) S. S. I. 2005, Comment calculer le spectre d’un signal audio 6

La transformation de Fourier établit le spectre d’un signal apériodique ou de durée infinie

La transformation de Fourier établit le spectre d’un signal apériodique ou de durée infinie q Quelques transformées utilisées dans la suite : Ø La distribution ou impulsion de Dirac : 1/h 0 h temps Ø la transformée de l’impulsion de Dirac est : Ø Définition de la fonction peigne de Dirac Ø La transformée d’un peigne est un peigne S. S. I. 2005, Comment calculer le spectre d’un signal audio 7

La transformation de Fourier établit le spectre d’un signal apériodique ou de durée infinie

La transformation de Fourier établit le spectre d’un signal apériodique ou de durée infinie q 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 S. S. I. 2005, Comment calculer le spectre d’un signal audio 8

La transformée de Fourier discrète établit le spectre d’un signal en temps discret x(n.

La transformée de Fourier discrète établit le spectre d’un signal en temps discret x(n. Te) q 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) q On aboutit à l’algorithme de FFT (ou Fast Fourier Transform), car le calcul du spectre est plus rapide en particulier si N=M=2 K S. S. I. 2005, Comment calculer le spectre d’un signal audio 9

Le spectrogramme représente l’évolution du spectre à court terme au cours du temps q

Le spectrogramme représente l’évolution du spectre à court terme au cours du temps q On sait par exemple que le spectre du signal vocal est constant durant 30 ms, on utilisera une fenêtre de 240 échantillons avec la fréquence d’échantillonnage 8 k. Hz. q On découpe l’axe des temps en zones de 30 millisecondes (240 échantillons), et on calcule le spectre de chaque fenêtre par FFT 240 points. q Le spectrogramme qui affiche tous ces résultats et indique donc l’évolution temporelle du spectre. Spectrogramme de la note piano_c 3. wav (par Wave. Lab) (retrouver l’axe des temps et l’axe des fréquences) S. S. I. 2005, Comment calculer le spectre d’un signal audio 10

Calcul du spectre avec Matlab fe=8000; t=[0: 1023]*(1/fe); s=0. 5*cos(2*pi*880*t); f=[0: 1023]/1024*fe; plot(f, abs(fft(s,

Calcul du spectre avec Matlab fe=8000; t=[0: 1023]*(1/fe); s=0. 5*cos(2*pi*880*t); f=[0: 1023]/1024*fe; plot(f, abs(fft(s, 1024))) grid, figure f 2=[-512: 511]/1024*fe; spec= fftshift(fft(s, 1024)) plot(f 2, abs(spec)) N=? M=? Qu’est ce qui change ici ? S. S. I. 2005, Comment calculer le spectre d’un signal audio 11

Calcul du spectrogramme avec Matlab fe=8000; t=[0: 16000]*(1/fe); s=0. 5*cos(2*pi*880*t)+0. 75*cos(4000*pi*t); f=[-512: 511]/1024*fe; spec=

Calcul du spectrogramme avec Matlab fe=8000; t=[0: 16000]*(1/fe); s=0. 5*cos(2*pi*880*t)+0. 75*cos(4000*pi*t); f=[-512: 511]/1024*fe; spec= fftshift(fft(s(1: 1024), 1024)) plot(f, abs(spec)), grid, figure specgram(s, 2048, fe, ones(1, 1024)) colorbar Fenêtre Amplitude N M overlap S. S. I. 2005, Comment calculer le spectre d’un signal audio 12

Quelques propriétés de la distribution de Dirac qui seront réutilisées dans la suite :

Quelques propriétés de la distribution de Dirac qui seront réutilisées dans la suite : q La distribution de Dirac peut être présentée comme la limite d’une impulsion de largeur h et de hauteur 1/h quand h tend vers 0. 1/h 0 h temps q En conséquence, l’opération suivante permet de prélèver une valeur sur le signal s(t) q Le produit de convolution par d(t-T) décale le signal s(t) de T : S. S. I. 2005, Comment calculer le spectre d’un signal audio 13

Revenons aux origines du spectre : la décomposition en séries de Fourier q Le

Revenons aux origines du spectre : la décomposition en séries de Fourier q 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 l’harmonique Hn Ø le terme de fréquence nulle est la composante continue CC ou valeur moyenne de s(t) (n=0) Ø le terme de fréquence 1/T est dit fondamental F q 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 S. S. I. 2005, Comment calculer le spectre d’un signal audio 14