Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
Introduction du cours à partir d’extraits
Jean-Paul Stromboni, 8 septembre 2015, amphi nord, 50mn, utilise des sons Polytech'Nice-Sophia, Département SI, cours SI3, Objectif : présenter les bases de l’analyse et du traitement numérique du signal : Notions abordées : signal audio numérique, échantillonnage, quantification, taille et bit rate, composition fréquentielle, spectre, spectrogramme, analyse fréquentielle, transformée de Fourier discrète TFD, algorithme de FFT, compression par sous échantillonnage, par quantification, filtrage, énergie d’un signal, banc de filtres, codec utilisant un banc de filtres extension à l’image numérique, composition fréquentielle, filtrage, compression pour les TD : Télécharger et installer Scilab et Audacity, logiciels libres et multiplateformes : Scilab (cf. proche de Matlab Audacity, éditeur de signaux audio, calcul du spectre, filtrage, effets divers … apporter dés le TD n°2 un casque audio Tous les textes utilisés sont sur :
2
Évaluation et notation
Deux notes de devoirs surveillés (2/3 de la note finale) : à mi semestre et en fin de semestre questions sur les cours et questions sur les travaux dirigés (TD), seuls documents autorisés : les polys de cours annotés les notes et comptes-rendus rédigés en TD. Une note de TD (1/3 de la note) prenant en compte L’assiduité et la ponctualité La participation Des questionnaires (au nombre de 6 à 8) Qui sont posés en début de séance de TD Qui portent sur le cours de la semaine précédente, Qui sont rendus lors de la séance suivante, corrigés et commentés au besoin ___________________________________________________________________________ Comment rédiger un compte-rendu de TD utilisable en devoir surveillé (et plus tard …) Un compte rendu relate ce qui a été fait sur le texte du TD, même si on n’a pas terminé le texte Ils contient les observations, les interprétations, les interrogations, les réponses aux questions posées, Il ne contient pas des listings, images, et données numériques sans explications. Fil d’Ariane : l’objectif est d’expliquer le TD suffisamment clairement pour pouvoir le reprendre ultérieurement et le poursuivre à partir du compte rendu
3
Extrait 1: son, microphone, signal audio, chronogramme
l'oreille détecte certaines vibrations de l'air, les sons seuil d’audition (0dB)< niveau (W/m2) < seuil de douleur (120dB) (seuil d’audibilité à 1000Hz = 2-12W/m2 ou encore Pa) 20 Hz < fréquence < Hz le microphone transforme à tout instant t la pression de l'air en tension électrique proportionnelle s(t) s(t) est un signal audio le chronogramme est la représentation temporelle du signal, avec t en abscisse et s(t) en ordonnée. s(t) t
4
Extrait 2: signal audio sinusoïdal s(t)= 0.8*sin(2*p*t/0.02)
Amplitude (comprise entre -1 et 1) : 0.8 Durée : 0.03 seconde Période : 0.02 seconde Fréquence : 1/0.02 = 50Hz Signal analogique et (en temps) continu Expression : s(t)= 0.8*sin(2*p*t/0.02)
5
Extrait 3: échantillonnage de s(t) et vecteur Scilab
s(t)= 0.8*sin(2*p*t/0.02) échantillon de s(t) à l’instant nTe : s(nTe) = sn signal échantillonné de taille N : se={sn , n= 0 … N-1} Scilab range se dans un vecteur : v = [s0, s1, … sN-1] Attention s0 = v(1) Scilab permet d’analyser et de traiter le signal placé dans le vecteur v : length(v) // donne 30 max(v) //donne 0.8 plot(v) // trace se fft(v) // calcul du spectre de se … N=30 échantillons ou valeurs mesurées sur s(t) période d’échantillonnage : Te= 0.001s fréquence d'échantillonnage fe =1000Hz 20 Te par période Signal en temps discret et analogique
6
Extrait 3: quantification du signal s(t) échantillonné
Quantification de se sur B bits : Le pas de quantification Q sqn = Q*int(sn /Q) Dans Scilab, B=3 Q=2/(2^B) vq=Q*floor(v/Q) Taille du signal numérique en bits 30 fois 3 bits soit 90bits Bit rate : 3000 bits par seconde 111 110 101 100 011 010 001 000 nombre de bits par échantillon : B = 3 8 niveaux de quantification pas de quantification : Q=0.25 erreur de quantification 0 < e < 0.25 Signal numérique et en temps discret
7
Extrait 4 : compression par sous-échantillonnage
fe=500 Hz Te=2/1000 s fe=1000 Hz Te=1/1000 s
8
Extrait 5 : compression par sous-quantification
Q=2/256 soit moins de 4/1000 Q=2/8=0.25=250/1000 C=8/3
9
Extrait 6 : composition fréquentielle.
Le chronogramme ci-dessus a été tracé à partir de l’expression mathématique suivante s(t): 200Hz 600Hz 1000Hz Le signal s(t) est composé des trois fréquences 200, 600 et 1000Hz
10
Extrait 7 : spectre d’amplitude et spectrogramme de s(t)
fe/2 spectrogramme = spectre(temps) fréquence temps spectre calculé par l’algorithme de F.F.T. (Fast Fourier Transform) amplitude en dB fréquence fe/2
11
Extrait 8 : Filtrage numérique d’un signal discret
Le signal e tiré du fichier Bbc.wav est filtré, c’est-à-dire traité par un programme de calcul qui obtient y le signal filtré sauvé dans Bbcfiltré.wav. Le filtre multiplie le spectre du signal à filtrer par la réponse fréquentielle. Filtre passe-bas, rectangulaire, fréquence de coupure = 1000Hz, gain = 1 Bbc.wav Bbcfiltré.wav Réponse fréquentielle du filtre En ordonnée, la fréquence e y En abscisse, le temps En abscisse, le temps
12
Extrait 9: passer du son à l’image numérique
s(t) D t x abscisse X colonnes ! y Im(x,y) H y ordonnée Y lignes !! x L
13
Extrait 10 : filtrage numérique d’une image avec Scilab
// Scilab SIVP image='joconde.jpg'; im = imread(image); imd=im2double(im); img = rgb2gray(imd); imshow(img) // avec Scilab et SIVP h= fspecial(‘prewitt’) imfx = imfilter(img, h'); aimfx=imcomplement(abs(imfx)); imwrite(aimfx,’aimfx.png’); // avec Scilab et SIVP imfy = imfilter(img, h); aimfy=imcomplement(abs(imfy)); imwrite(aimfx,’aimfy.png’);
14
Extrait 11 : Filtre passe bande
Ce script Scilab lit le fichier piano.wav dans le vecteur e, puis il filtre dans le vecteur y et sauve le signal filtré y dans pianofiltre.wav Comparer les spectrogrammes de piano.wav (à gauche) et pianofiltre.wav (à droite) // lecture du son à filtrer [e,fe,b]= wavread ('piano.wav'); // définition du filtre R=256; // longueur du filtre fc=500; // bande passante f0=1500; // fréquence centrale N = fix(fc*R/fe); H=[ones(1,N-1),0.9,0.5,0.1, ... zeros(1,R-2*N-3),0.1,0.5, ... 0.9,ones(1,N-2)]; // réponse impulsionnelle h=fftshift(real(ifft(H))); filtre = 2*cos(2*%pi*[0:R-1]*f0/fe).*h; // filtrage du signal audio y= filter( filtre,1,e); wavwrite(y,fe,b,'pianofiltre.wav'); // calcul de l’énergie du signal E=(y’*y)/2; En ordonnée, la fréquence En abscisse, le temps
15
Extrait 12 : bancs de filtres, compression avec pertes
h1 On code les signaux yi, i=1..M selon leur importance ou énergie M*h1 h2 M*h2 Bbc.wav … … … … hM M*hM Banc de filtres Étage sous- échantillonneur Etage de compression Banc de lissage suréchantillonnage Le signal y est tiré du fichier Bbc.wav pour être compressé. Le spectre de y est découpé en bandes de fréquence par les filtres h1, h2, …hM Les signaux filtrés sont sous-échantillonnés dans un rapport M. On néglige les signaux de "faible" énergie, il en résulte un taux de compression. Les signaux restants sont sur-échantillonnés, lissés, et le signal est décompressé.
16
Pour vous tester vous-mêmes après ce cours:
Quelle est l’URL du cours SSII ? Lire l’amplitude du fondamental page 10 sur le spectre et le spectrogramme Mesurer période, fréquence et amplitude du signal sinusoïdal de la page 4 Combien d’échantillons sur le signal à temps discret de la page 5 ? Quelles sont les amplitudes maximale et minimale d’un signal audio numérique ? Préciser les composantes de fréquence conservées par le filtre passe bas page 11 Préciser le fondamental et les harmoniques du signal triangulaire page 9 Dans le signal quantifié page 6, combien de niveaux de quantification ?
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.