Composition fréquentielle du signal audio, séance 4 SSII, oct. 2012 - page 1 Calcul de la...

14
Composition fréquentielle du signal audio, séance 4 Composition fréquentielle du signal audio, séance 4 SSII, oct. 2012 - page SSII, oct. 2012 - page 1 Calcul de la composition fréquentielle du signal audio Jean-Paul Stromboni, pour les élèves SI3, Jean-Paul Stromboni, pour les élèves SI3, nécessite un vidéo projecteur, durée 50mn , octobre 2012 nécessite un vidéo projecteur, durée 50mn , octobre 2012 Voici ce que vous devez savoir faire après cette séance : Définir le spectre d’un signal sinusoïdal Définir la Transformée de Fourier Discrète (TFD) de taille N Trouver la TFD des signaux constante et sinusoïde. Mesurer l’effet de la taille du signal de de la fenêtre d’apodisation Utiliser les fonctions fft(.) et spectrogram(.) de MATLAB Quelle est l’information donnée par le spectre d’un signal audio ? Quelle est la résolution fréquentielle d'une FFT de taille N= 32 si fe= 8kHz ? Pourquoi diviser le spectre d'amplitude par la taille N de la fenêtre temporelle ? Quelle est la période du spectre d'un signal audio numérique échantillonné à 22050Hz ? Si on calcule M = 2048 valeurs de la TFD, préciser les fréquences fk si fe=8000Hz : Quelle est la durée d'une fenêtre de 1024 échantillons, à fe = 44100Hz Donner la composition fréquentielle de x(t) Pourquoi limiter le calcul du spectre à une fenêtre de taille N échantillons ? ) 2000 ( cos ) ( 2 t t x Travaux Dirigés : calculer et exploiter TFD et FFT Savez vous répondre aux questions suivantes ?

Transcript of Composition fréquentielle du signal audio, séance 4 SSII, oct. 2012 - page 1 Calcul de la...

Page 1: Composition fréquentielle du signal audio, séance 4 SSII, oct. 2012 - page 1 Calcul de la composition fréquentielle du signal audio Jean-Paul Stromboni,

Composition fréquentielle du signal audio, séance 4 SSII, oct. 2012 - page Composition fréquentielle du signal audio, séance 4 SSII, oct. 2012 - page 11

Calcul de la composition fréquentielle du signal audioJean-Paul Stromboni, pour les élèves SI3, Jean-Paul Stromboni, pour les élèves SI3, nécessite un vidéo projecteur, durée 50mn , octobre 2012nécessite un vidéo projecteur, durée 50mn , octobre 2012

Voici ce que vous devez savoir faire après cette séance :

Définir le spectre d’un signal sinusoïdal Définir la Transformée de Fourier Discrète (TFD) de taille N Trouver la TFD des signaux constante et sinusoïde. Mesurer l’effet de la taille du signal de de la fenêtre d’apodisation Utiliser les fonctions fft(.) et spectrogram(.) de MATLAB

Quelle est l’information donnée par le spectre d’un signal audio ?

Quelle est la résolution fréquentielle d'une FFT de taille N= 32 si fe= 8kHz ?

Pourquoi diviser le spectre d'amplitude par la taille N de la fenêtre temporelle ?

Quelle est la période du spectre d'un signal audio numérique échantillonné à 22050Hz ?

Si on calcule M = 2048 valeurs de la TFD, préciser les fréquences fk si fe=8000Hz :

Quelle est la durée d'une fenêtre de 1024 échantillons, à fe = 44100Hz

Donner la composition fréquentielle de x(t) Pourquoi limiter le calcul du spectre à une fenêtre de taille N échantillons ?)2000(cos)( 2 ttx

Travaux Dirigés : calculer et exploiter TFD et FFT

Savez vous répondre aux questions suivantes ?

Page 2: Composition fréquentielle du signal audio, séance 4 SSII, oct. 2012 - page 1 Calcul de la composition fréquentielle du signal audio Jean-Paul Stromboni,

Composition fréquentielle du signal audio, séance 4 SSII, oct. 2012 - page Composition fréquentielle du signal audio, séance 4 SSII, oct. 2012 - page 22

Composition fréquentielle ou spectre Depuis Joseph Fourier (1768-1830), physicien et mathématicien français,

on sait décomposer une fonction du temps s(t) quelconque en une somme de fonctions sinusoïdales, ou spectre : Soit s(t), fonction du temps définie quelque soit t, S(f) ci-dessous détermine le

spectre de s(t) :

Inversement, connaissant le spectre S(f) de s(t), on détermine s(t) par :

S(f) est une quantité complexe : Si la composante fréquentielle de s(t) à la fréquence f s’exprime par :

On aura : et

Dans la suite de ce cours, on se limite au module de S(f), c’est-à-dire au spectre d’amplitude :

dtetsfS fti2)()(

dfefSts fti2)()(

)2cos()( fff pftats

)( fSa f )( fSp f

)( fSspectre

Page 3: Composition fréquentielle du signal audio, séance 4 SSII, oct. 2012 - page 1 Calcul de la composition fréquentielle du signal audio Jean-Paul Stromboni,

Composition fréquentielle du signal audio, séance 4 SSII, oct. 2012 - page Composition fréquentielle du signal audio, séance 4 SSII, oct. 2012 - page 33

Matlab, Scilab, Goldwave, utilisent la Transformée de Fourier Discrète (TFD) pour calculer le spectre Définition de la TFD : pour un signal x(t) échantillonné à

la fréquence fe, MATLAB calcule le spectre en limitant le signal à une fenêtre temporelle de N échantillons :

X(f) est le spectre de x(n/fe), X(f) est périodique, la valeur de la période est fe |X(f)| est symétrique par rapport à la fréquence fe/2 la fenêtre de calcul dure NTe (contient N échantillons)

Calcul de la TFD : en pratique, on calcule seulement N valeurs de la TFD, les X(fk) pour les seules fréquences fk :

est la résolution fréquentielle

Note : pour mieux reconstruire la fonction X(f), on peut calculer et afficher M > N valeurs au lieu de N

Algorithme de transformée de Fourier rapide (en anglais Fast Fourier Transform) Si N est une puissance de 2, on accélère le calcul du fait

des périodicités et symétries des exponentielles complexes Matlab, Scilab, Goldwave, … utilisent l’algorithme de

FFT pour calculer la transformée de Fourier discrète

1

0

/21

0

/2)/()(N

n

ffnin

N

n

ffnie

ee exefnxfX

N

fff e

kkf 1

10,/ NkNkff ek

,10,/,)(1

0

2

MkMkffexXfX ek

N

n

M

nki

nkk

Page 4: Composition fréquentielle du signal audio, séance 4 SSII, oct. 2012 - page 1 Calcul de la composition fréquentielle du signal audio Jean-Paul Stromboni,

Composition fréquentielle du signal audio, séance 4 SSII, oct. 2012 - page Composition fréquentielle du signal audio, séance 4 SSII, oct. 2012 - page 44

Calcul de la T.F.D. du signal constant de taille N

TFD de la fonction constante, du signal de fréquence nulle, ou de la fenêtre rectangulaire de durée NTe

1

0

)/(2)()(N

n

ffnin

eexfRrTFD

10, Nnxrn

e

e

ffi

ffNi

e

exfR /2

/2

1

1)(

ee

ee

e

e

ffiffi

fNfifNfi

ffi

fNfi

ee

ee

e

exfR //

//

/

/

)(

)/sin(

)/sin()( /)1(

e

effNi

ff

fNfexfR e

)/sin(

)/sin()(

e

e

ff

fNfxfR

Que valent :1. R(0) 2. R(fe) 3. R(-fe)4. R(fe/N) 5. La périodicité du dénominateur6. La périodicité du numérateur

Page 5: Composition fréquentielle du signal audio, séance 4 SSII, oct. 2012 - page 1 Calcul de la composition fréquentielle du signal audio Jean-Paul Stromboni,

Composition fréquentielle du signal audio, séance 4 SSII, oct. 2012 - page Composition fréquentielle du signal audio, séance 4 SSII, oct. 2012 - page 55

Analyse d’un exemple : x = 0.75, N = 16, fe = 8kHz

)8000/sin(

)8000/16sin(75.0

)/sin(

)/sin()(

f

f

ff

fNfxfR

e

e

Relation entre [0,fe/2] et [fe/2, fe] ?

Tracé sur une période [ 0, fe [

Tracé de spectre/N entre 0 et fe

0 1000 2000 3000 4000 5000 6000 7000 80000

2

4

6

8

10

12

14

16a=0.75, N=16, fe=8000, M=256

fréquence (Hz)

spe

ctre d

'am

plitu

de

spectre de x=0.75 fenêtre de taille 16

0 1000 2000 3000 4000 5000 6000 7000 80000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1a=0.75, N=16, fe=8000, M=256

fréquence (Hz)

spe

ctre/N

spectre de x=0.75 fenêtre de taille 16

0 1000 2000 3000 4000 5000 6000 7000 80000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1a=0.75, N=16, fe=8000, M=256

fréquence (Hz)

spe

ctre/N

spectre de x=0.75 fenêtre de taille 16

Tracé de spectre/N : reporter les N valeurs calculées R(kfe/N), k= 0 … N-1

Page 6: Composition fréquentielle du signal audio, séance 4 SSII, oct. 2012 - page 1 Calcul de la composition fréquentielle du signal audio Jean-Paul Stromboni,

Composition fréquentielle du signal audio, séance 4 SSII, oct. 2012 - page Composition fréquentielle du signal audio, séance 4 SSII, oct. 2012 - page 66

TFD du signal sinusoïdal (sans calcul)

))()((2

2

)()(

00

1

0

/)(2/)(2

1

0

/2

00

ffRffRx

eex

esxfSsTFD

N

n

fffnifffni

N

n

fnfnn

ee

e

10),/2cos( 0 Nnfnfxs en

2)/2cos(

)/(2)/(2

0

00 ee ffniffni

en

eeafnfxs

Analyser le spectre d’amplitude suivant (où |S(f)| est déjà divisé par N)

0 1000 2000 3000 4000 5000 6000 7000 80000

0.05

0.1

0.15

0.2

0.25

0.3

0.35a=0.5, N=16, fe=8000, f0=1000, M=256

fréquence (Hz)

spec

tre

d'a

mp

litu

de

spectre de x=0.5 fenêtre de taille 16

Lire feR(f0)R(fe-f0)R(fe/N)a et f0Placer les N= 16 valeurs calculées par la TFDf0 varie de 100 Hz, que prévoir ?

Tracé de |S(f)|/Nsur une période

Page 7: Composition fréquentielle du signal audio, séance 4 SSII, oct. 2012 - page 1 Calcul de la composition fréquentielle du signal audio Jean-Paul Stromboni,

Composition fréquentielle du signal audio, séance 4 SSII, oct. 2012 - page Composition fréquentielle du signal audio, séance 4 SSII, oct. 2012 - page 77

Influence du nombre N d’échantillons (fenêtre rectangulaire, ou pas de fenêtre)

s= 0.75*cos(2*pi*440*t), D=0.04s, fe=8kHz

0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04-1

-0.5

0

0.5

1

temps (s)

sign

al s

fenêtre rectangle N=32

0 1000 2000 3000 4000 5000 6000 7000 80000

0.1

0.2

0.3

0.4

fréquence (Hz)

spect

re/N

spectre d'amplitude/N, N=32 M=256

0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04-1

-0.5

0

0.5

1

temps (s)

sign

al s

fenêtre rectangle N=256

0 1000 2000 3000 4000 5000 6000 7000 80000

0.1

0.2

0.3

0.4

fréquence (Hz)

spect

re/N

spectre d'amplitude/N, N=256 M=2048

f0=a0=fe =N =NTe = f =spectre/N =

f0=a0=fe =N =NTe = f =spectre/N =

Page 8: Composition fréquentielle du signal audio, séance 4 SSII, oct. 2012 - page 1 Calcul de la composition fréquentielle du signal audio Jean-Paul Stromboni,

Composition fréquentielle du signal audio, séance 4 SSII, oct. 2012 - page Composition fréquentielle du signal audio, séance 4 SSII, oct. 2012 - page 88

Influence de la fenêtre de Hamming

10)),1/(2cos(46.054.0)( NnNnnh

0 0.5 1 1.5 2 2.5 3 3.5

x 10-3

0

0.5

1

1.5

temps (s)

am

plitu

de

fenêtre de Hamming N=32

HammingRect

-4000 -3000 -2000 -1000 0 1000 2000 3000 40000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1N=32, M=256 points calculés, D=N*Te=0.004, deltaf=250

fréquence (Hz)

spect

re n

orm

alis

é : fftsh

ift( a

bs

(fft))

/ N

RectHamming

Comparaison des spectres d'amplitude de ces deux fenêtres :

fe=N=durée= fe/N=fmin=fmax=

HammingamplMax= nbLobes=largeur=

RectangleamplMax=nbLobes=largeur:

10,1)( Nnnr

Page 9: Composition fréquentielle du signal audio, séance 4 SSII, oct. 2012 - page 1 Calcul de la composition fréquentielle du signal audio Jean-Paul Stromboni,

Composition fréquentielle du signal audio, séance 4 SSII, oct. 2012 - page Composition fréquentielle du signal audio, séance 4 SSII, oct. 2012 - page 99

Influence de la taille N du signal dans le cas de la fenêtre de Hamming

0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04-1

-0.5

0

0.5

1

temps (s)

sign

al s

fenêtre de Hamming N=256

0 1000 2000 3000 4000 5000 6000 7000 80000

0.1

0.2

0.3

0.4

fréquence (Hz)

spect

re/(

N*0

.53)

spectre d'amplitude/(N*0.53), N=256 M=2048

0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04-1

-0.5

0

0.5

1

temps (s)

sign

al s

fenêtre de Hamming N=32

0 1000 2000 3000 4000 5000 6000 7000 80000

0.1

0.2

0.3

0.4

fréquence (Hz)

spect

re/(

N*0

.53)

spectre d'amplitude/(N*0.53), N=32 M=256

Dessiner la forme de la fenêtre de Hamming

Comparer au spectre obtenu avec la fenêtre rectangulaire

f0=a0=fe =N =NTe = f =spectre/N =

s= 0.75*cos(2*pi*440*t), D=0.04s, fe=8kHz

Page 10: Composition fréquentielle du signal audio, séance 4 SSII, oct. 2012 - page 1 Calcul de la composition fréquentielle du signal audio Jean-Paul Stromboni,

Composition fréquentielle du signal audio, séance 4 SSII, oct. 2012 - page Composition fréquentielle du signal audio, séance 4 SSII, oct. 2012 - page 1010

Erreur ou problème de synchronisation

On illustre avec le signal s suivant composé d'une ou de deux fréquences f0 et f1 : s=a*cos(2*pi*f0*t)+a1*cos(2*pi*f1*t)

1. erreur sur l'amplitude et sur la position de la raie si f1 n'est pas l'une des fréquences calculées :

2. risque de confusion, si les deux composantes de fréquence sont trop proches

0 2000 4000 6000 80000

1

2

3

4

5

fréquence (Hz)

spect

re d

'am

plit

ude

f0=500, f1=625, a=0.25, a1=0.25

0 2000 4000 6000 80000

1

2

3

4

fréquence (Hz)

spect

re d

'am

plit

ude

f0=500, f1=550, a=0, a1=0.25

Page 11: Composition fréquentielle du signal audio, séance 4 SSII, oct. 2012 - page 1 Calcul de la composition fréquentielle du signal audio Jean-Paul Stromboni,

Composition fréquentielle du signal audio, séance 4 SSII, oct. 2012 - page Composition fréquentielle du signal audio, séance 4 SSII, oct. 2012 - page 1111

Spectre et spectrogramme (avec Goldwave)

2222 7

)14cos(

5

)10cos(

3

)6cos()2cos(

8.0)(

ftftftftts

Spectrogramme de s(t), fe=8kHz, f=500Hz, fenêtre rectangulaire, 30fps

spectre = composition fréquentielle

Spectrogramme=spectre (temps)

Page 12: Composition fréquentielle du signal audio, séance 4 SSII, oct. 2012 - page 1 Calcul de la composition fréquentielle du signal audio Jean-Paul Stromboni,

Composition fréquentielle du signal audio, séance 4 SSII, oct. 2012 - page Composition fréquentielle du signal audio, séance 4 SSII, oct. 2012 - page 1212

Spectre et spectrogramme avec MATLAB

fe=8000; N=4096;t=[0:16000]/fe;s=0.5*cos(2*pi*1000*t)+ 0.75*cos(4000*pi*t);f=[-N/2:N/2-1]*fe/N;spec= fftshift(fft(s(1:N)))plot(f,abs(spec)), grid, figurespectrogram(s,hamming(N),N/2,N,fe,'yaxis') colorbar

Noter pour le spectrogramme :1. la fenêtre utilisée est une fenêtre de Hamming2. le code de couleurs donnant l’amplitude en dB est à droite

-5000 0 50000

50

100

150

200

250

300

350

400

0.5 1 1.50

500

1000

1500

2000

2500

3000

3500

4000

Time

Fre

quency

(Hz)

-140

-120

-100

-80

-60

-40

-20

Page 13: Composition fréquentielle du signal audio, séance 4 SSII, oct. 2012 - page 1 Calcul de la composition fréquentielle du signal audio Jean-Paul Stromboni,

Composition fréquentielle du signal audio, séance 4 SSII, oct. 2012 - page Composition fréquentielle du signal audio, séance 4 SSII, oct. 2012 - page 1313

Exploitation du tracé du spectre d'amplitude sur les tracés suivants, retrouver : fe, N, a0 et f0, la durée

de la fenêtre temporelle et l'axe de symétrie. Que vaut M ? Que vaut f ?Quelle est la relation entre les tracés ?

0 2000 4000 6000 80000

1

2

3

4

5

fréquence (Hz)

spect

re d

'am

plitud

e

0 2000 4000 6000 80000

1

2

3

4

fréquence (Hz)

spect

re d

'am

plit

ude

Page 14: Composition fréquentielle du signal audio, séance 4 SSII, oct. 2012 - page 1 Calcul de la composition fréquentielle du signal audio Jean-Paul Stromboni,

Composition fréquentielle du signal audio, séance 4 SSII, oct. 2012 - page Composition fréquentielle du signal audio, séance 4 SSII, oct. 2012 - page 1414

Représentation 3D du spectrogramme

pour le signal vocal, on sait que la durée de la fenêtre d’analyse ne doit pas dépasser 30ms (?) si fe=8 kHz, c’est une fenêtre de 240 échantillons. On calcule la TFD de la fenêtre, on déplace la fenêtre et on recommence On regroupe les résultats dans un spectrogramme,

en 3D (cf. ci-dessous) ou en 2D (cf. Goldwave) Quelle est ici la résolution fréquentielle ?

Comment obtenir une fenêtre de 20ms, sachant que fe=22050Hz ? Donner la résolution fréquentielle.

Voici le spectrogramme de piano_c3.wav tracé par WaveLab : retrouver les informations de fréquence fondamentale, durée du signal, enveloppe …