S.S.I.I., 2012-13, n°7 : Construire et utiliser un banc de filtres Page 1 Construire et utiliser un banc de filtres pour analyser le spectre dun signal.

Slides:



Advertisements
Présentations similaires
PRINCIPE SIMPLIFIE DE LA COMPRESSION MP3
Advertisements

1 Jean-Paul Stromboni, mars 2005, Révision des cinq premières séances S.S.I. Jean-Paul Stromboni, mars 2005, ESSI1 Elève : ______________________ groupe.
S.S.I., ESSI1, lundi 9 mai 2005 Page 1 Comment compresser avec le spectre Séance 10, 1 heure Version : lundi 9 mai 2005 Auteur : Jean-Paul Stromboni Contenu.
S.S.I., ESSI1, samedi 10 avril 2004 Page 1 Comment tailler les filtres sur mesure Séance 8, nouvelle application des filtres, 1 heure Version : samedi.
Comment créer des filtres d’ordre 1 et 2
Comment on filtre un signal audio
1 Insérez ici votre logo Insert here your logo! Atelier laboratoires virtuels Un cours pour introduire le traitement du signal à laide de lordinateur.
Comment calculer le spectre d’un signal audio
Cours 5 – Comment bien échantillonner le signal audio
Comment décimer les sons numériques
1 Jean-Paul Stromboni, octobre 2007, SI3 Réviser le devoir surveillé n°1 du cours S.S.I.I. Jean-Paul Stromboni, octobre 2007, SI3 Elève : ______________________.
Filtres (n entier, Te=1s)
Calcul de la composition fréquentielle du signal audio
1 Jean-Paul Stromboni, mars 2005, Révision des cinq premières séances S.S.I. Jean-Paul Stromboni, mars 2005, ESSI1 Elève : ______________________ groupe.
2. Echantillonnage et interpolation des signaux vidéo
Comment créer des filtres « simples »
Comment compresser avec le CODEC mlaw
Créer des interfaces avec Matlab.
Comment bien échantillonner
Cours S.S.I., SI1, avril 2007 – Comment utiliser les outils déjà présentés. Page 1 Comment utiliser les outils déjà présentés dans le cours S.S.I. et pourquoi.
Extraits choisis du cours S.S.I.I.
MATLAB Initiation à Matlab.
Sous-échantillonner le signal audio pour compresser
1 PolytechNice-Sophia, Département S.I., S.I.3, octobre 2012, Jean-Paul Stromboni Séance 7 : Retour sur les cinq premiers chapitres du cours S.S.I.I.
Sauver un signal audio numérique dans un fichier wave
3. Systèmes L.I.T Systèmes LIT, introduction
Extraits choisis du cours S.S.I.I.
4. Energie dinteraction, application à la reconnaissance de forme (texte, parole, radar …) Energie dun signal, analogie avec lélectrocinétique Par analogie.
Traitement Numérique du Signal
Cours S.S.I.I., , n°8, Créer des filtres pour compresser Cours S.S.I.I., , n°8, : Créer des filtres pour compresser Page 1 Mise en œuvre.
5. Echantillonnage Introduction
SSII : séance finale , lundi 9/01/2012 Page 1 Voici quelques questions pour assimiler la seconde partie du cours S.S.I.I., spectre, filtrage, banc.
VI-1 Introduction VI-2 Représentation d’état
S.S.I.I., , cours n°8 : Compresser avec un banc de filtres Page 1 Compresser avec un banc de filtres Le contenu de ce cours : T.D. n° 8 : simulation.
Transformée de Fourier discrète et transformée de Fourier rapide
S.S.I.I., , n°6, Créer des filtres sur mesure pour compresser S.S.I.I., , n°6, : Créer des filtres sur mesure pour compresser 1 Créer un.
1 par Jean-Paul Stromboni, octobre 2008 Un autobilan pour réviser le devoir surveillé n°1 du cours S.S.I.I., par Jean-Paul Stromboni, octobre 2008 Elève.
Un principe de compression d’image
Filtrer le signal audio numérique (n entier, Te=1s)
1 Jean-Paul Stromboni, octobre 2007, SI3 Réviser le devoir surveillé n°1 du cours S.S.I.I. Jean-Paul Stromboni, octobre 2007, SI3 Elève : ______________________.
Filtrer le signal audio numérique
Un moyen de compresser le signal audio présenté à travers un exemple
Miniprojet S.S.I.I., , S.I.3 Analyse du signal NOTEguitare.wav N = fe=44100 Hz le signal audio à analyser :
Miniprojet S.S.I.I. en , S.I.3 Analyse du signal Noteguitare.wav N = fe=44100 Hz le signal audio à analyser :
Commande en boucle ouverte et à horizon fini de l’alunissage de Lunar Lander Dans cette séance : problème de « gouvernabilité » de l’alunissage de Lunar.
S.S.I., ESSI1, le 8 février 2004 Page 1 Numériser le signal audio Séance 2, cours, 1 heure auteur : Jean-Paul Stromboni Idées clefs de la séance De nombreuses.
1 Introduction au module S.S.I. Signaux et Systèmes pour lInformatique le thème et les motivations du module S.S.I. les connaissances et le savoir faire.
I S E N 2006 COURS DE DSP (Digital Signal Processor) Partie 3: Filtres Alain Fruleux Une idée intéressante soumise par un étudiant est le combat de robots,
SCIENCES PHYSIQUES ET CHIMIQUES FONDAMENTALES ET APPLIQUEES
Polytech'Orléans Filtrage Multicadence Filière ESI
Créer des signaux audio en temps discret avec Scilab
Utiliser le spectre et la transformée de Fourier
- énergie bornée (tend vers 0 lorsque
Introduction.
DU TRAITEMENT DU SIGNAL
Cours S.S.I.I., , n°7, Créer des filtres pour compresser Cours S.S.I.I., , n°7, : Créer des filtres pour compresser Page 1 Retour sur le.
Extraits choisis du cours S.S.I.I.
DU TRAITEMENT DU SIGNAL
Contenu du cours : Principe de la commande par retour d'état
Retour sur les filtres et bancs de filtres Jean-Paul Stromboni, décembre 2007.
S.S.I.I., , cours n°9 : Compresser avec un banc de filtres Page 1 Compresser avec un banc de filtres Contenu de cette séance : T.D. n° 9 : application.
Signal Son et Image pour l’Informaticien (S.S.I.I.) Page 1 Extraits choisis du cours S.S.I.I. On introduit ici des notions de base du traitement numérique.
Calcul de la composition fréquentielle du signal audio
1 23 mars 2004, Jean-Paul Stromboni Signaux et Systèmes pour l’Informaticien Bilan essais erreurs des six premières séances Module SSI d’ESSI 1– 23 mars.
Introduction du cours à partir d’extraits
SSII, séance n°13, bilan du cours 15 décembre 2015 Dernière séance 2015 Résumé des chapitres et notions abordées en 2015.
Filtre en traitement du signal entrée filtre sortie e s h
Construire et utiliser un banc de filtres
Sous-échantillonner le signal audio pour compresser
Exploiter la fonction fft(.) de Scilab
Transcription de la présentation:

S.S.I.I., , n°7 : Construire et utiliser un banc de filtres Page 1 Construire et utiliser un banc de filtres pour analyser le spectre dun signal Les objectifs de ce cours : Définir le concept de banc de filtre et danalyse du signal Expliquer la fonction et lutilisation dun banc de filtre Calculer lénergie associée à un signal Construire itérativement un banc de filtres avec un seul filtre Créer et utiliser un banc de filtres en Scilab: un exemple. TD n°7 : création et utilisation dun banc de filtres en Scilab Quappelle ton banc de filtres et analyse ? Jean-Paul Stromboni, Polytech'Nice Sophia, S.I. 3 ème année séance 7, novembre 2012, durée : 50mn, vidéoprojecteur Banc de filtres : il sagit dun ensemble de M filtres de même taille R opérant à la même fréquence déchantillonnage fe, et conçus pour analyser automatiquement la composition fréquentielle dun signal audio présenté à lentrée du banc de filtre. Analyse du signal : consiste à découper le spectre du signal en M bandes de fréquences, ou encore à décomposer le signal analysé en M signaux différents à la sortie des filtres du banc. Synthèse : cest lopération inverse de lanalyse, laddition des signaux de sortie du filtre du banc permet de reconstituer le signal.

S.S.I.I., , n°7 : Construire et utiliser un banc de filtres Page 2 Banc de filtre : définition, notation, exemple. Notation : on désigne un filtre de taille R par le vecteur de ses coefficients h=(hn, n=0..R-1) ou par H=(Hk, k=0..R-1), sa réponse fréquentielle, avec On a donc : H=fft(h,-1) Et aussi : h= fftshift(real(ifft(H))) Le banc de M filtres sera donc constitué de filtres désignés par hi ou Hi, i = 1.. M avec Hi= fft(hi) Avec la contrainte qui définit un banc de filtre Exemple M=4 (H1, H2, H3, H4 entre –fe/2 et fe/2)

S.S.I.I., , n°7 : Construire et utiliser un banc de filtres Page 3 Comment utiliser un banc de filtres On désigne par le vecteur x = (xn=x(nTe), n=0..N-1) le signal à analyser (N échantillons du signal) et par le vecteur X=fft (x(1:R)) le spectre de x calculé par TFD sur une fenêtre rectangulaire de taille R : Le signal x est filtré par les M filtres du banc, il en résul- te M signaux filtrés que lon note x1, x2, x3, … xM avec Doù : X1+X2+ … +XM= (H1+H2+..HM)*X= X Et donc : x1+x2+ … +xM = x Exemple M=4: filtre1 filtre2filtre3filtre4

S.S.I.I., , n°7 : Construire et utiliser un banc de filtres Page 4 f Exercice : appliquer manuellement un banc de 4 filtres au signal x dont le spectre X est donné f 0fe R R/2 R/4 R/8 compléter f Découper X en quatre bandes égales, B1, B2, B3 et B4 ff B1 B2 B3 B4

S.S.I.I., , n°7 : Construire et utiliser un banc de filtres Page 5 Pour comparer les signaux x1, x2, … xM issus du banc de filtre, on peut leur associer une énergie Appliquer à lexemple de la page précédente : calculer lénergie de x, x1, x2, x3 et x4 Définition de lénergie associée à un signal à partir des échantillons de ce signal : Calcul de lénergie à partir du spectre (théorème de Parseval) : On perd 10% de lénergie du signal x, mais on peut com- presser x3 avec un taux de compression C=4 comme suit: Quelle est lerreur faite si on approxime x par x3 ?

S.S.I.I., , n°7 : Construire et utiliser un banc de filtres Page 6 Pour décaler de la réponse fréquentielle du filtre H, il suffit de multiplier le coefficient h n par où k0 entier vaut Comment créer un banc de M filtres itérativement à partir dun filtre unique par décalage et addition : Application : que vaut k0 ? Que vaut f0? Tracer le filtre h Soit le filtre de vecteur de coefficients h, et de réponse fréquentielle H, donc H=fft(h), length(h)= length(H)= R et

S.S.I.I., , n°7 : Construire et utiliser un banc de filtres Page 7 Exercice : créer les quatre filtres H1, H2, H3, et H4 engendrés de cette manière par H0 pour R=32 H0 f0= k0= fe= H1 f0=500Hz k0=2 H2 f0= k0= H3 f0=2500Hz k0= H4 f0= k0= Comment vérifier que ces quatre filtres constituent bien un banc ?

S.S.I.I., , n°7 : Construire et utiliser un banc de filtres Page 8 Création dun banc de filtres et analyse par le banc du signal audio tiré dun fichier wave function [s, E, Esignal, fe]=bancfiltres(M, R, fichier, play) //fichier bancfiltres.sce //utilisation [s,e,es,fe]=bancfiltres(8,128,'piano.wav',0); [e,fe]=wavread(fichier); N= R/(4*M); H=[ones(1,N-1),0.9,0.5,0.1,zeros(1,R-2*N-3), ,0.5,0.9,ones(1,N-2)]; h=fftshift(real(ifft(H))); n=0:R-1; for j=0:M-1 bande(j+1,:)=2*cos((2*j+1)*n*%pi/(2*M)).*h; end for j=0:M-1 sfiltre=convol(e,bande(j+1,:)); s(j+1,:)=sfiltre(1:length(e)); wavwrite(s(j+1,:),fe,['s'+string(j+1)+'.wav']); end Esignal= e*e'/2; E=diag(s*s')/2; disp(['sum(E):',string(sum(E))]) bar([0:M-1]*fe/(2*M),100*E/Esignal) xtitle(['Analyse de ',fichier],'frequence (Hz)'...,'energie (% energie totale)') xgrid(); if play then sound(sum(s,1),fe); end endfunction Crée filtre générateur h Crée banc de M filtres De taille R partir du filtre h Filtre e dans sfiltre Ramène longueur sfiltre à celle de y et sauve dans des fichiers wave Calcule et affiche un diagramme barre des énergies en % de lénergie de e Lit le signal audio dans e et fe Joue sum(s,1) si play!=0

S.S.I.I., , n°7 : Construire et utiliser un banc de filtres Page 9 Analyse du script bancfiltres.sce : Préciser les dimensions des matrices bande et s Que trouve ton dans bande(1,:) ? Que trouve ton dans s(1,:) ? Comment calcule ton Esignal ? Que trouve ton dans E(1) ? Utilité de la ligne s(j+1,:)=sfiltre(1:length(e)); ? Que contient le fichier s2.wav ? Quel est le pourcentage de lénergie du signal filtré selon les bandes de fréquence conservées ci-dessous ? h1 h2 … hM s1 s2 … sM matrice bande matrice s Bandes de fréquenceÉnergie (% énergie signal) 1 (basse fréquence)E(1) 1 et 2E(1)+E(2)= 1, 2, 3 1,2,3 et 4 1,2,3,4,5,6,7, et 8

S.S.I.I., , n°7 : Construire et utiliser un banc de filtres Page 10 Application : compression du signal x réduit à x3 dans un taux C=4 avec une perte de 10% dénergie f 0fe R R/2 R/4 R/8 R/4 f fe R R/2 R/8 R/4 f fe R R/2 R/8 R/4 f fe R R/2 R/8 R/4 f fe R R/2 R/8 En perdant 10% de lénergie du signal x, on obtient C=4