Composition fréquentielle du signal audio, séance 4 SSII, oct. 2012 - page 1 Calcul de la...
-
Upload
jeanette-bret -
Category
Documents
-
view
107 -
download
0
Transcript of Composition fréquentielle du signal audio, séance 4 SSII, oct. 2012 - page 1 Calcul de la...
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 ?
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
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
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
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
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
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 =
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
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
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
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)
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
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
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 …