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

Polytech'Nice Sophia, Dépt. Sciences Informatiques : cours S.S.I.I. Cours 5 – Comment bien échantillonner le signal audio, page 1 Cours 5 – Comment bien.

Présentations similaires


Présentation au sujet: "Polytech'Nice Sophia, Dépt. Sciences Informatiques : cours S.S.I.I. Cours 5 – Comment bien échantillonner le signal audio, page 1 Cours 5 – Comment bien."— Transcription de la présentation:

1 Polytech'Nice Sophia, Dépt. Sciences Informatiques : cours S.S.I.I. Cours 5 – Comment bien échantillonner le signal audio, page 1 Cours 5 – Comment bien échantillonner le signal audio Jean-Paul Stromboni, durée 1heure, amphi est, octobre 2008, avec vidéo projecteur et son Après ce cours, vous devriez savoir : Décrire le problème posé par l'échantillonnage d'un signal. Expliquer la notion d'alias et le phénomène d'aliasing Prédire les recouvrements du spectre Établir la condition et la formule de Shannon Vérifier la condition de Shannon sur des signaux simples En travaux dirigés n°5, avec MATLAB et Goldwave, on expérimentera : (1)l'échantillonnage d'une note pure, et la contrainte de Shannon (2)le sous échantillonnage (ou décimation) et le sur échantillonnage

2 Cours 5 – Comment bien échantillonner le signal audio, page 2 Page 2 À quelle condition peut-on reconstituer en totalité un signal audio s(t) à partir des seuls échantillons s(nTe) prélevés ? On note S(f)=TF(s(t)), le spectre du signal s(t), et on appellera dans la suite S(f-a) l'alias de S(f) décalé en a. Pour répondre à la question, on utilise le signal dit "signal échantillonné" et noté traditionnellement s*(t) : * la fonction Peigne a été définie dans le cours de la semaine 4 et on a donné sa transformée de Fourier Le calcul du spectre de s*(t) sur la page suivante fait apparaître une relation avec le spectre S(f) de s(t). On obtient une somme d'alias de S(f) décalés autour des multiples entiers de la fréquence d'échantillonnage :

3 Cours 5 – Comment bien échantillonner le signal audio, page 3 Page 3 Le spectre de s*(t) est la somme des alias de S(f) autour des multiples entiers de la fréquence d'échantillonnage : Le calcul du spectre de s*(t) utilise plusieurs résultats tirés de cours sur la transformée de Fourier et le spectre : 1.La transformée de Fourier du produit est le produit de convolution * 2.La transformée d'un peigne temporel est un peigne fréquentiel, 3.Le produit de convolution de S(f) par (f-a) décale S(f), soit S(f-a)

4 Cours 5 – Comment bien échantillonner le signal audio, page 4 Page 4 Il faut donc distinguer deux cas pour le spectre de s*(t) 1 er cas : Il n'y a pas de recouvrements des alias 2 ème cas : Il y a des recouvrements, les alias "se mélangent" Quelle est la condition de non recouvrement ? alias fe

5 Cours 5 – Comment bien échantillonner le signal audio, page 5 Page 5 S'il n'y a pas de recouvrements, il suffit de récupérer S(f) pour reconstituer s(t), par transformée de Fourier inverse de S(f). S'il n'y a pas de recouvrements, le spectre TF[s*(t)] contient S(f)/Te entre -fe/2 et fe/2, c'est l'alias central en f=0Hz : –Pour retrouver S(f), il suffit de supprimer du spectre de s*(t) les alias hors de l'intervalle [-fe/2, fe/2] et de multiplier par Te l'alias central. –C'est la fonction d'un filtre dont l'effet en fonction de la fréquence est représenté ci-dessous graphiquement et donné par une expression mathématique: filtre reconstructeur de Shannon

6 Cours 5 – Comment bien échantillonner le signal audio, page 6 Page 6 On sait donc calculer s(t) fonction des s(nTe), en l'absence de recouvrements du spectre de s*(t), c'est la formule de Shannon On applique le filtre de Shannon au signal s*(t) On calcule s(t) par transformée de Fourier inverse D'où la formule de Shannon :

7 Cours 5 – Comment bien échantillonner le signal audio, page 7 Page 7 En résumé, bien échantillonner un signal audio … Signifie : être capable de reconstituer le signal s(t) entièrement à partir des seuls échantillons s(nTe) Implique de respecter la condition de Shannon, il ne doit pas y avoir de recouvrements du spectre du "signal échantillonné" s*(t) associé à s(t). On remarque : –Pour reconstituer le signal s(t), on utilise la formule de Shannon. –La formule de Shannon exprime que s(t) est obtenue par filtrage de s*(t) avec le filtre reconstructeur de Shannon. –La condition de Shannon s'exprime généralement pour les signaux à bande limitée par : f e >2f Max –Si f Max est trop grand, ou infini, on applique un filtre anti- aliasing ou 'prefilter' pour limiter la largeur du spectre à f e /2

8 Cours 5 – Comment bien échantillonner le signal audio, page 8 Page 8 On peut illustrer laliasing ou démultiplication du spectre sur le cas particulièrement simple dun signal s 1 (t) sinusoïdal

9 Cours 5 – Comment bien échantillonner le signal audio, page 9 Page 9 Reprendre pour s 2 (t) ci-dessous et donner le spectre de s 2 * (t)

10 Cours 5 – Comment bien échantillonner le signal audio, page 10 Page 10 Retrouver le spectre de s 2 (t) avec le filtre de Shannon

11 Cours 5 – Comment bien échantillonner le signal audio, page 11 Page 11 Peut-on reconstruire s 3 (t) ci-dessous ? Pourquoi ?

12 Cours 5 – Comment bien échantillonner le signal audio, page 12 Page 12 Mise en œuvre de la formule de Shannon avec Matlab % script Shannon.m N=32; %nombre d'échantillons non nuls fe=8000; t=[0:63]/fe; %vecteur temps s=0.5*cos(880*pi*t); fenetre=zeros(size(t)); fenetre(1:N)=1; s=s.*fenetre%signal x=zeros(size(t)); for j=0:N-1 x=x+s(j+1)*sinc((t-j/fe)*fe); end subplot(2,1,1) stem(t,s) title('Mise en oeuvre de la formule de Shannon') xlabel('temps (s)') ylabel('échantillons') grid subplot(2,1,2) plot(t,x) xlabel('temps (s)') grid ylabel('signal reconstitué')

13 Cours 5 – Comment bien échantillonner le signal audio, page 13 Page 13 On décime un signal x(n) dans un rapport M en conservant un échantillon sur M. Le signal décimé y est défini comme : Sur l'exemple ci-contre M=2, les échantillons conservés sont en noir. Tout se passe comme si on avait divisé la fréquence d'échantillonnage par 2 La décimation provoque une division par M de la fréquence déchantillonnage Par conséquent, décimer peut provoquer des recouvrements du spectre, en particulier si t s(nTe) Sous échantillonner (ou décimer) un signal audio numérique consiste à supprimer des échantillons

14 Cours 5 – Comment bien échantillonner le signal audio, page 14 Page 14 Sous échantillonner a un effet sur le spectre devient : Puisque conserver un échantillon sur M revient à diviser par M la fréquence déchantillonnage f e Avec MATLAB, pour décimer le vecteur sig dans un facteur M: >> sdecime = s(1:M:length(sig)) Il y a M fois plus dalias et ils sont divisés par M

15 Cours 5 – Comment bien échantillonner le signal audio, page 15 Page 15 Sur-échantillonner multiplie la fréquence d'échantillonnage Pour sur-échantillonner un signal x(n) dans un rapport M, on insère M-1 échantillons nuls entre deux échantillons de x : Avec MATLAB, pour sur échantillonner le vecteur x, on fait : xM = zeros(1, M*length(x)); xM(1:M:M*length(x)) = x;

16 Cours 5 – Comment bien échantillonner le signal audio, page 16 Page 16 Exprimer le signal échantillonné s* associé à : A quoi correspond la décimation dun signal xn si M=2 ? Quel est le spectre du signal échantillonné s*(t) précédent ? Quappelle ton alias ? Donner l'expression du filtre reconstructeur de Shannon pour s*(t) précédent Qu'appelle t'on recouvrement du spectre ? Peut-on décimer les signaux continus ? Dans quel cas le filtre de Shannon reste til inefficace ? Pour vous tester par vous-même


Télécharger ppt "Polytech'Nice Sophia, Dépt. Sciences Informatiques : cours S.S.I.I. Cours 5 – Comment bien échantillonner le signal audio, page 1 Cours 5 – Comment bien."

Présentations similaires


Annonces Google