Construire et utiliser un banc de filtres

Slides:



Advertisements
Présentations similaires
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.
Advertisements

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.
Cours 5 – Comment bien échantillonner le signal audio
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.
Sous-échantillonner le signal audio pour compresser
Sauver un signal audio numérique dans un fichier wave
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.
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.
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.
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.
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 moyen de compresser le signal audio présenté à travers un exemple
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.
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.
A. Objectifs de la séquence: à l'issue de la séquence, il faut être capable de: Identifier l’ordre et la nature d’un filtre Tracer les diagrammes asymptotiques.
Acquisition Rapide Multivoies
La spécialité math en TS
16 Apprendre à rédiger Voici l’énoncé d’un exercice et un guide (en orange) ; ce guide vous aide : pour rédiger la solution détaillée ; pour retrouver.
temporelle – fréquentielle –Stabilité diagrammes de Bode / Nyquist
Google analytics.
Thème 1 : Ondes et Matière.
Mathématiques Mise à niveau
Information, Calcul, Communication
Les opérations sur les nombres
I Définition chapitre 1 Les Matrices.
DEFINITION DU CONCEPT DE MODÈLE DE PERFORMANCE
Plan du cours Introduction : création de circuits
Du pyrrole… Noté aussi : … au polypyrrole….
Le Courant Électrique 8.2.
Fonctions logiques et algèbre booléenne
ECHANTILLONNAGE.
Régression linéaire (STT-2400)
Journée du Savoir 16 Avril 2017
Mesure de température par radiométrie photothermique
Séries de Fourier Tout signal périodique (T) de puissance finie peut être décomposé en une somme de sinus et de cosinus. An=0 1(4/) 1+ 3 (4/3)
Informations vous concernant :
Cours N°10: Algorithmiques Tableaux - Matrices
Divers procédés de modulation sont utilisés dans le domaine hertzien et dans le domaine câblé pour transporter les informations numériques Ces techniques.
Orthographe à retenir :
Filtre en traitement du signal entrée filtre sortie e s h
Chapitre 3 : Caractéristiques de tendance centrale
Analogique-numérique
A l’aide du triangle pédagogique de Jean Houssaye
Compresser avec un banc de filtres
Cycle, Cocycle, Arbre et Arborescence
ELG La transformée de Fourier, énergie, puissance et densités spectrales.
ANALYSE HARMONIQUE 1) Rappels et définitions 2) Lieux de Bode
Introduction du cours à partir d’extraits
FORMATION POWERPOINT 2007/2010
Les nombres complexes Saison 1 - Épisode 2. Les nombres complexes Saison 1 - Épisode 2.
Présentation 4 : Sondage stratifié
Présentation 9 : Calcul de précision des estimateurs complexes
Les signaux périodiques
Sous-échantillonner le signal audio pour compresser
Information, Calcul, Communication
Travaux Pratiques de physique
Créer un filtre sur mesure (pour compresser)
Elles contiennent des informations autre que géométriques
Présentation 6 : Sondage à plusieurs degrés
Analyse des données et complémentarité des sources
Tableaux croisés dynamiques sous Excel: des outils simples pour une analyse rapide de jeux de données en cytométrie Camille SANTA MARIA Ingénieur d’étude.
Sous-échantillonner le signal audio pour compresser
μ = N 3) Moyenne d’une série discrète : ∑ ni xi que l’on peut noter
Exploiter la fonction fft(.) de Scilab
Python Nicolas THIBAULT
UC : Diagramme des cas d’utilisation Req : Diagramme d’exigence
I. Aouichak, I. Elfeki, Y. Raingeaud, J.-C. Le Bunetel
Type Tableau Partie 1 : Vecteurs
Transcription de la présentation:

Construire et utiliser un banc de filtres Jean-Paul Stromboni, Polytech'Nice Sophia, S.I. 3ème année cours 7, novembre 2015, durée : 50mn, vidéoprojecteur Les objectifs de ce cours : Définir le concept de banc de filtre et d’analyse du signal Expliquer la fonction et l’utilisation d’un banc de filtre Calculer l’énergie associée à un signal Construire un banc de filtres à partir d’un filtre générateur Créer et utiliser un banc de filtres : un exemple avec Scilab. TD n°7 : création et utilisation d’un banc de filtres en Scilab Qu’est ce qu’un banc de filtres ? Banc de filtres : il s’agit d’un 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 d’un signal audio présenté à l’entrée du banc de filtre. Analyse d’un signal par un banc de M filtres : 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. Reconstitution du signal : l’addition des signaux de sortie des filtres du banc de filtre permet de reconstituer le signal initial.

Définition d’un banc de filtres et exemple Notation : on désigne un filtre de taille R par le vecteur de ses coef-ficients h= (hn, n= 0..R-1) ou par H= (Hk, k= 0..R-1), sa réponse fréquentielle, avec H= fft(h) si h=ifft(H) mais h= fftshift(real(ifft(H))) ! On trace H=abs(fft(h)) ou on calcule H=fft(fftshift(h)) ! Un banc de M filtres sera donc constitué de filtres désignés par hi ou Hi, i = 1 .. M avec Hi= fft(hi) Contrainte de définition d’un banc de filtres : Exemple d’un banc de M=4 filtres de taille R=64 (attention, H1, H2, H3, H4 tracés entre –fe/2 et fe/2)

Utilisation d’un banc de filtres On désigne par le vecteur x = (xn=x(nTe), n= 0..N-1) le signal à l’entrée du banc (x contient N échantillons) et par le vecteur X=fft (x(1:R)) le spectre de x calculé par Transformée de Fourier Discrète (TFD) de taille R x est filtré tour à tour par les M filtres du banc, et on note x1, x2, x3, … xM les signaux filtrés avec : X1+X2+ … +XM= (H1+H2+..+HM)*X= X car H1+ H2+ ...+ HM= ones(1,R) donc x1+x2+ … +xM = x Exemple avec M=4: filtre1 filtre2 filtre3 filtre4

Découper X en quatre bandes égales, B1, B2, B3 et B4 Exercice : appliquer graphiquement un banc de 4 filtres au signal x de spectre X donné ci-dessous compléter f fe R R/2 R/4 R/8 Découper X en quatre bandes égales, B1, B2, B3 et B4 B1 B1 f f B2 f B3 f B4

Définition de l’énergie d’un signal et comparaison des signaux x1, x2, … xM issus du banc de filtres 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) : Appliquer à l’exemple de la page précédente : calculer l’énergie de x, x1, x2, x3 et x4 Quelle est l’erreur faite si on approxime x par x3 ? On perd 10% de l’énergie du signal x, mais on peut com-presser x3 dans un facteur C=4

Création d’un banc de filtres par décalages et additions successifs d’un filtre générateur unique 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 hn complexe HkHk-k0 hn réel et Pour décaler de la réponse fréquentielle du filtre H, il suffit de multiplier le coefficient hn par où k0 entier vaut Exemple : k0 =6, R=32, fe=8000 Hz, que vaut f0 ? f0? Hk? Hk-k0? Hk+k0?

Exercice : créer les quatre filtres H1, H2, H3 et H4 engendrés de cette manière par H0 pour R=32 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 ?

Création d’un banc de filtres et analyse par le banc du signal audio tiré d’un 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.1,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 sfiltre=convol(e,bande(j+1,:)); s(j+1,:)=sfiltre(1:length(e)); wavwrite(s(j+1,:),fe,['s'+string(j+1)+'.wav']); 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); endfunction Lit le signal audio dans e et fe Crée le filtre générateur h Crée un banc de M filtres à partir du filtre générateur h Filtre e dans sfiltre, réduit length(sfiltre) sauve au format wave Calcule et trace le diagramme des énergies des signaux issus du banc de filtre Joue sum(s,1) si play!=0

Étudier le script ‘bancfiltres.sce’ et préciser : les dimensions des matrices bande et s : le contenu de la ligne bande(1,:) : le contenu de s(1,:) : le contenu de Esignal le contenu de E(1) la raison de la ligne s(j+1,:)=sfiltre(1:length(e)); le contenu du fichier s2.wav ? l’énergie de e conservée selon les bandes de fréquence conservées ci-dessous matrice bande matrice s h1 h2 … hM s1 s2 … sM Bandes de fréquence Énergie (en % énergie de e) 1 (basse fréquence) E(1) 1 et 2 E(1)+E(2) = 1, 2, 3 1, 2, 3 et 4 1, 2, 3, 4, 5, 6, 7 et 8

Application à la compression du signal x dans un rapport C=4 avec une perte d’énergie de 10% f fe 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