Filtrer le signal audio numérique

Slides:



Advertisements
Présentations similaires
notes de cours Filtrage Numérique
Advertisements

Pour voir où nous en sommes dans le cours S.S.I.
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.
Notion d ’état interne Démontrer le résultat trouvé pour s(t) :
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
Comment calculer le spectre d’un signal audio
Cours 5 – Comment bien échantillonner le signal audio
SuivantPrécédent ESSI 1 - Auto TS © Jean-Paul Stromboni (Mai 2000) Consolidation: tester les connaissances acquises 1 Etude de la commande du système.
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.
Du signal continu au numérique
Mesures dans le domaine fréquentiel
2. Echantillonnage et interpolation des signaux vidéo


Comment créer des filtres « simples »
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.
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
Synthèse de filtres numériques
Les système linéaires Stéphane Paris.
3. Systèmes L.I.T Systèmes LIT, introduction
Extraits choisis du cours S.S.I.I.
Traitement Numérique du Signal
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.
Chapitre 2 : La fonction de transfert
Calcul et implantation des filtres numériques RIF et RII dans un DSP
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.
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.
Dynamique des Systèmes Asservis
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.
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 : ______________________.
Un moyen de compresser le signal audio présenté à travers un exemple
Chapitre 3: Caractérisation des systèmes
Chapitre 4: Caractérisation des systèmes
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.
Traitement Numérique du Signal
Traitement Numérique du Signal
Cours H Filtres à réponse impulsionnelle infinie (RII)
Analyse des systèmes linéaires types
Utiliser le spectre et la transformée de Fourier
ELECTRICITE Hervé BOEGLEN IUT de Colmar Département R&T 2007.
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
Courants alternatifs.
Les différentes sortes de filtre
TNS et Analyse Spectrale
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.
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.
DU TRAITEMENT DU SIGNAL
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.
ANALYSE HARMONIQUE.
Transcription de la présentation:

Filtrer le signal audio numérique Jean-Paul Stromboni, Polytech Nice Sophia, Dépt S.I, 3ème année séance n°6, novembre 2009, durée : une heure, vidéoprojecteur Contenu de la séance : filtre, filtre numérique, filtre linéaire invariant dans le temps équation aux différences pour implémenter le filtre effet d'un filtre sur le spectre méthode pour construire les filtres désirés conception des filtres avec Matlab Travaux dirigés : des filtres avec Goldwave et MATLAB Questions pour tester la compréhension du cours Le filtre ci-dessous est il causal? Donner la fonction de transfert de Que réalise le filtre ci-dessous ? Réponse impulsionnelle du filtre Ce filtre est RIF ou RII ? Quelle est la réponse harmonique du filtre ?

Les notions de filtre, de filtre numérique, de filtre linéaire et invariant dans le temps Filtrer un signal audio, c'est agir sur l'information transportée par ce signal Pourquoi filtrer dans le cours S.S.I.I. ? Parce que pour compresser un signal audio, on sera amené à découper son spectre en bandes de fréquences, par filtrage Pour filtrer un signal audio numérique, l'ordinateur met en œuvre un filtre numérique programmé. Exemple de filtre numérique : x est le signal à filtrer (ou entrée du filtre) yn=xn-xn-1 est l'équation aux différences du filtre y est le signal filtré (sortie du filtre) ce filtre est Linéaire et Invariant dans le Temps (LIT, LTI en anglais) car sa relation d'entrée sortie (xn yn) ne dépend pas de l'indice n (ou temps nTe) ne dépend pas des amplitudes des yn et xn. calculer y si x est appliqué à yn=yn-1 + xn-1 et que y0=0 : y = [0, 1, 2, 2, 2, 3, 3.5, 4.5]

est récursif , et linéaire invariant dans le temps Pour mettre en œuvre un filtre numérique, il faut programmer son équation aux différences (EaD) Forme générale de l'EaD d'un filtre L.I.T. où les coefficients bk et aj sont indépendants : des valeurs de yn-k et xn-j (linéarité, le L. de L.I.T.) des indices n (invariance dans le temps, le I.T.) N est l’ordre du filtre (M+N est la longueur) Un filtre est à réponse impulsionnelle finie, ou non récursif, si les coefficients bk sont nuls, et à réponse impulsionnelle infinie (récursif) sinon Un filtre est dit causal quand yn ne dépend pas d'échantillons ultérieurs à l'instant nTe (si M > 1). Sinon, le filtre est anticausal. par exemple est récursif , et linéaire invariant dans le temps est LIT, mais récursif non invariant dans le temps, linéaire, récursif (RII) non linéaire, RIF LIT, récursif, anticausal

Filtrer un signal audio, c'est multiplier son spectre par la réponse harmonique du filtre EaD Effet du filtre: H(f) est la réponse harmonique du filtre. hn est la réponse impulsionnelle du filtre Quel est l'effet du filtre H2(f) sur X2(f) ? G/2

Une méthode pour construire les filtres FIR à partir de la réponse harmonique désirée : Impulsion : Réponse impulsionnelle : L'invariance dans le temps implique que : La linéarité et l'invariance dans le temps impliquent que la sortie du filtre yn est le produit de convolution de l'entrée xn par la réponse impulsionnelle hn : Produit de convolution : D'où la méthode de conception des filtres à partir de la réponse harmonique désirée : 1ère étape : définir H(f) désiré 2ème étape : déduire hn=TFD-1[H(f)] 3ème étape : calculer yn=[xn*hn] Calculer la réponse impulsionnelle de partant de n=0, yn=hn= [1, -1, 0, 0, 0, 0, …] Calculer le produit de convolution yn=[xn*hn] :

Il est équivalent d'utiliser la fonction de transfert en z d'un filtre ou son EaD : On calcule la fonction de transfert en z d'un filtre à partir de la réponse fréquentielle avec le changement de variable Voici un exemple : d'où la fonction de transfert en z : Un second exemple : Quelle est la fonction de transfert de ?

Mise en œuvre avec Goldwave du filtre Pour mettre ce filtre en œuvre, il faudra saisir l'expression suivante dans Expression Evaluator wave1(n-1)*0.9+0.1*wave2(n-1) chronogramme atténué fréquence d'échantillonnage 2kHz spectrogramme diminué à partir de 200Hz Noter l'effet du filtre sur les tracés ci-dessus.

Quelques fonctions Matlab pour créer, évaluer, et appliquer les filtres, tel que : On crée ce filtre avec la fonction tf de Matlab: ftz= tf(0.1,[1,–0.9],1/8000); ftz % donne 0.1/(z-0.9), Ts = 1/8000 s On calcule sa réponse impulsionnelle : [hn,t]=impulse(ftz); % puis plot(t,hn) % pour le tracé, ou bien impulse(ftz) sa réponse indicielle (à une entrée échelon) : [ind,t]=step(ftz); % ou bien step(ftz) % pour tracer sa réponse harmonique (ou fréquentielle): bode(ftz) % attention ! rad/s, pas Hz [m,p,w]=bode(ftz); % voir aussi la fonction freqz() % en Hz on filtre le signal xn avec la fonction filter(): yn= filter(0.1,[1,-0.9],xn); on calcule le spectrogramme de yn, par exemple : spectrogram(yn,1024,0,1024,fe,'yaxis'); Créer avec Matlab le filtre ci-contre, à appliquer au signal tiré de SheepBaa.wav, puis tracer la réponse harmonique du filtre [xn,fe] = wavread('SheepBaa.wav'); ftz = tf(0.1,[1,0.9],1/fe); yn = filter(0.1,[1,0.9],xn); bode(ftz)

On lit sur la réponse harmonique d'un filtre l'effet multiplicatif sur le spectre du signal Voici par exemple la réponse harmonique tracée par MATLAB pour le filtre : Lire l’effet du filtre sur la fréquence 500 Hz : donner le facteur d’atténuation ou gain : donner le déphasage : Lire le gain du filtre à fréquence nulle (ou gain statique) : À quelle fréquence le filtre divise t’il par 2 ? À quelle fréquence retarde t’il de 45° ? Quel est le gain minimum du filtre ? Relever la fréquence maximum du tracé :

Comparer les deux filtres dont Matlab a superposé les réponses ci-dessous : fe=2000; fc=200; a=exp(-2*pi*fc/fe),b=1-a; F1z=tf([b],[1,-a],1/fe); b=exp(-sqrt(2)*pi*fc/fe)% b=0.6413 a=b*cos(sqrt(2)*pi*fc/fe)% a=0.5790 F2z=tf([1-2*a+b^2,0],[1,-2*a,b^2],1/fe) bode(F1z,F2z) Qu’est que ces deux filtres ont en commun ? Qu’est ce qui les différencie ?

Annexe : stabilité et gain statique d'un filtre Stabilité EBSB : un filtre est stable au sens E.B.S.B si toute entrée bornée (finie en amplitude) donne une sortie bornée (E.B.S.B. signifie Entrée Bornée Sortie Bornée). un filtre est stable au sens EBSB, si et seule-ment si tous les pôles de sa fonction de transfert sont de module inférieur à un. Gain statique : Le gain statique d'un filtre est le rapport sortie sur entrée en régime permanent. On calcule le gain statique de deux manières: Dans EaD, faire disparaître les indices n : xn+1 = xn =… = X, yn = yn-1 = …=Y Dans FTz, faire tendre la variable z vers 1 Stabilité et gain statique du filtre intégrateur ? Mêmes questions pour le filtre dérivateur ?

Trouver les filtres récursifs passe bas d'ordre 1 et 2 selon le gain statique et la fréquence de coupure* Pour le filtre F1(z) du premier ordre, on obtient la fréquence de coupure à -3dB notée fc et le gain sta-tique G en calculant les coefficients comme suit : Pour le filtre F2(z) du second ordre, c'est : * ces résultats non démontrés découlent de la relation entre la variable de Laplace p et la variable z