La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Calcul de la composition fréquentielle du signal audio

Présentations similaires


Présentation au sujet: "Calcul de la composition fréquentielle du signal audio"— Transcription de la présentation:

1 Calcul de la composition fréquentielle du signal audio
Jean-Paul Stromboni, pour les élèves SI3, nécessite un vidéo projecteur, durée 50mn , octobre 2013 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. décrire l’effet sur la TFD de la taille du signal et celui de la fenêtre de Hamming Utiliser les fonctions fft(.) et spectrogram(.) de Scilab T. D. : calculer et interpréter spectre et spectrogramme Savez vous répondre aux questions suivantes ? 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 ?

2 Composition fréquentielle ou spectre
Depuis Joseph Fourier ( ), 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 peut déterminer s(t) : S(f) est une quantité complexe : Si par exemple s(t) contient la seule fréquence f: On aura : et Dans la suite, on se limite au spectre d’amplitude, ou ‘spectre’ :

3 Pour calculer le spectre d’un signal discret, on utilise la Transformée de Fourier Discrète (TFD)
Définition de la TFD : pour un signal x(t) échantillonné à la fréquence fe, SCILAB calcule le spectre en limitant le signal à une fenêtre temporelle de N échantillons successifs: N est le nombre d’échantillons utilisés X(f) est le spectre de x(n/fe), n= 0 … N-1 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 Calcul de la TFD : par défaut, Scilab calcule seulement N valeurs X(fk) : (résolution fréquentielle) Augmentation de la précision du calcul de la TFD: on calcule M > N valeurs, dans l’intervalle [0, fe[ Algorithme de F.F.T. (Fast Fourier Transform) : pour calculer la TFD, Scilab, Matlab, Goldwave, Audacity, … utilisent un algorithme plus rapide : on prend une puissance de 2 pour N, et on exploite les périodicités et symétries de l’exponentielle complexe de la formule.

4 (signal constant ou fréquence nulle ou fenêtre rectangulaire)
T.F.D. d’un signal constant de taille N échantillons (reprise du calcul fait en travaux dirigés) (signal constant ou fréquence nulle ou fenêtre rectangulaire) spectre de rn spectre (d'amplitude) de rn Que valent : R(0) R(fe) R(-fe) R(fe/N) La périodicité du dénominateur La périodicité du numérateur

5 Tracé de R(f) (a = 0.75, N = 16, fe = 8kHz)
Tracé de |R(f)| sur une période :[ 0, fe [ trouver fe/2 ? fe ? maximum ? en f= ? Nombre de lobes ? N ? Tracé de |R(f)|/N : Retrouver a ? N ? fe ? Reporter les N valeurs de TFD calculées R(kfe/N), k= 0 … N-1

6 Extension à la TFD d’un signal sinusoïdal
Tracé de |S(f)|/N pour : a= 0.5, N=16, fe= 8000 Hz, f0=1000Hz Tracé de |S(f)|/N sur une période Lire fe R(f0) R(fe-f0) R(fe/N)=R(500) a f0 valeurs calculées par la TFD ? Si f0=1250Hz, et N=16, que prévoir ? /N

7 Influence de N (fenêtre rectangulaire)
s= 0.75*cos(2*pi*440*t), D=0.04s, fe=8kHz Lire f0= 440 Hz a0=0.75 (~0.8) fe = N =32 NTe = Df =250Hz spectre/N <0.4 M=256 pts tracés Lire : f0= a0= fe = N = NTe = Df = spectre/N =

8 Fenêtre de Hamming et fenêtre rectangulaire
Pas de fenêtre (None) ou fenêtre rectangle fenêtre de Hamming Comparaison des spectres d'amplitude de ces deux fenêtres : fe= N= durée= fe/N= fmin= fmax= Hamming amplMax=0.53 nbLobes= 1 largeur=1000Hz Rectangle amplMax=1 nbLobes=31 Largeur lobe central: 500Hz

9 Influence de N avec la fenêtre de Hamming
s= 0.75*cos(2*pi*440*t), D=0.04s, fe=8kHz f0= a0= fe = N = NTe = Df = spectre/N = Dessiner la forme de la fenêtre de Hamming Comparer au spectre obtenu avec la fenêtre rectangulaire

10 Calcul et tracé du spectre avec Scilab

11 Tracé du spectrogramme avec Scilab

12 Erreur de synchronisation de la TFD
Le signal s est composé de deux fréquences f0 et f1 s=a*cos(2*pi*f0*t)+a1*cos(2*pi*f1*t) erreur sur l'amplitude et sur la position si f1 n'est pas l'une des fréquences calculées : f1 risque de confusion, si f0 et f1 sont trop proches f0 f1

13 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 Df ? Quelle est la relation entre les tracés ? fe=8000, N=32, s=0.25*cos(2*pi*500*t)

14 Spectre et spectrogramme (avec Goldwave)
Spectrogramme de s(t), fe=8kHz, f=500Hz, fenêtre rectangulaire, 30fps spectre = composition fréquentielle 500 Hz, -28 dB 1500 Hz, -47 dB 2500 Hz, -56 dB 3500 Hz, -62 dB 20*log10(9)=19 dB 20*log10(25)=28 dB 20*log10(49) = 33 dB Spectrogramme=spectre (temps) Mettons qu’on calcule le spectre 30 fois par seconde : c’est donc environ 270 échantillons (8000/30) pour calculer une TFD, Et on réunit tous ces résultats avec le temps en abscisse, c’est le spectrogramme

15 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 …

16 Spectre et spectrogramme avec Audacity
spectre = composition fréquentielle


Télécharger ppt "Calcul de la composition fréquentielle du signal audio"

Présentations similaires


Annonces Google