Filtrage temps-réel et MATLAB (introduction)

Documents pareils
INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE

Projet audio. Analyse des Signaux ELE2700

Systèmes de transmission

M1107 : Initiation à la mesure du signal. T_MesSig

Intérêt du découpage en sous-bandes pour l analyse spectrale

Communication parlée L2F01 TD 7 Phonétique acoustique (1) Jiayin GAO <jiayin.gao@univ-paris3.fr> 20 mars 2014

LABO PROJET : IMPLEMENTATION D UN MODEM ADSL SOUS MATLAB

Enregistrement et transformation du son. S. Natkin Novembre 2001

J AUVRAY Systèmes Electroniques TRANSMISSION DES SIGNAUX NUMERIQUES : SIGNAUX EN BANDE DE BASE

Mode d emploi ALTO MONITOR PROCESSEUR D ÉCOUTE. Version 1.0 Juillet 2003 Français

Université de La Rochelle. Réseaux TD n 6

ACOUSTIQUE 3 : ACOUSTIQUE MUSICALE ET PHYSIQUE DES SONS

CHAPITRE V. Théorie de l échantillonnage et de la quantification

Scanner acoustique NoiseScanner

EMETTEUR ULB. Architectures & circuits. Ecole ULB GDRO ESISAR - Valence 23-27/10/2006. David MARCHALAND STMicroelectronics 26/10/2006

Automatique Linéaire 1 Travaux Dirigés 1A ISMIN

Chaine de transmission

Didier Pietquin. Timbre et fréquence : fondamentale et harmoniques

Caractéristiques des ondes

TD1 Signaux, énergie et puissance, signaux aléatoires

Filtres passe-bas. On utilise les filtres passe-bas pour réduire l amplitude des composantes de fréquences supérieures à la celle de la coupure.

Chapitre 2 Les ondes progressives périodiques

5.2 Théorème/Transformée de Fourier a) Théorème

TRAVAUX PRATIQUES SCIENTIFIQUES SUR SYSTÈME

LABO 5 ET 6 TRAITEMENT DE SIGNAL SOUS SIMULINK

Exemple d acquisition automatique de mesures sur une maquette de contrôle actif de vibrations

Les technologies pour la santé, une discipline transversale pour la pédagogie en EEA : application aux troubles du sommeil

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

Dan Istrate. Directeur de thèse : Eric Castelli Co-Directeur : Laurent Besacier


Recherche De Coalescences Binaires Étalonnage Du Détecteur

UE 503 L3 MIAGE. Initiation Réseau et Programmation Web La couche physique. A. Belaïd

Son et Mathématiques

INTERPRÉTATION ET ANOMALIES DE LA PROSPECTION À RÉSONANCE MAGNÉTIQUE (MRS)

Production de documents audio-numériques

LA COUCHE PHYSIQUE EST LA COUCHE par laquelle l information est effectivemnt transmise.

1. PRESENTATION DU PROJET

Transmission d informations sur le réseau électrique

Calcul des indicateurs de sonie : revue des algorithmes et implémentation

8563A. SPECTRUM ANALYZER 9 khz GHz ANALYSEUR DE SPECTRE

Mesures de temps de propagation de groupe sur convertisseurs de fréquence sans accès aux OL

SCL LOGICIEL DE CONTROL

Network musical jammin

FAG Detector III la solution pour la surveillance et l équilibrage. Information Technique Produit

Projet de Traitement du Signal Segmentation d images SAR

«Tous les sons sont-ils audibles»

Signalisation, codage, contrôle d'erreurs

2 g Net - 36 g emballé 2 tips silicone anallergique small + 2 medium + 2 filtres à membrane. 2 tailles d embouts

Cours d Acoustique. Niveaux Sonores Puissance, Pression, Intensité

Traitement du signal avec Scilab : la transformée de Fourier discrète

Multichronomètre SA10 Présentation générale

Chapitre I La fonction transmission

Communications numériques

TP 03 B : Mesure d une vitesse par effet Doppler

Qu est ce que web meeting?

Transmission de données. A) Principaux éléments intervenant dans la transmission

TP Modulation Démodulation BPSK

Chapitre 5 Émetteurs et récepteurs sonores

TS 35 Numériser. Activité introductive - Exercice et démarche expérimentale en fin d activité Notions et contenus du programme de Terminale S

Systèmes de communications numériques 2

Tuto pour connecter une source RVB RGB à un moniteur Commodore / Amiga

Compatibilité Électromagnétique

ADSL. Étude d une LiveBox. 1. Environnement de la LiveBox TMRIM 2 EME TRIMESTRE LP CHATEAU BLANC CHALETTE/LOING NIVEAU :

Partie Agir : Défis du XXI ème siècle CHAP 20-ACT EXP Convertisseur Analogique Numérique (CAN)

Expérience 3 Formats de signalisation binaire

Précision d un résultat et calculs d incertitudes

EFFET DOPPLER EXOPLANETES ET SMARTPHONES.

Traitement du signal avec Scilab : transmission numérique en bande de base

Information. BASES LITTERAIRES Etre capable de répondre à une question du type «la valeur trouvée respecte t-elle le cahier des charges?

Bandes Critiques et Masquage

GUIDE DE PRODUCTION DES STEMS

Champ électromagnétique?

TP: Représentation des signaux binaires. 1 Simulation d un message binaire - Codage en ligne

Ecole Centrale d Electronique VA «Réseaux haut débit et multimédia» Novembre 2009

Synchroniser le son et la vidéo dans Lightworks

Janvier 2013 AUDIO/VIDEO PLAYER AUDIO VIDEO OEM DIVERS

Technique de codage des formes d'ondes

H.323. Internet Multimédia. Sommaire

GUIDE DE PRISE EN MAIN ISIS PROTEUS V7

Exercices d application

TABLE DES MATIÈRES 1. DÉMARRER ISIS 2 2. SAISIE D UN SCHÉMA 3 & ' " ( ) '*+ ", ##) # " -. /0 " 1 2 " 3. SIMULATION 7 " - 4.

Equipement. électronique

SYSTEME DE PALPAGE A TRANSMISSION RADIO ETUDE DU RECEPTEUR (MI16) DOSSIER DE PRESENTATION. Contenu du dossier :

LES CARACTERISTIQUES DES SUPPORTS DE TRANSMISSION

1 Démarrer L écran Isis La boite à outils Mode principal Mode gadget Mode graphique...

DIPLÔME INTERUNIVERSITAIRE D ECHOGRAPHIE. Examen du Tronc Commun sous forme de QCM. Janvier h à 16 h

SIGNAUX NUMERIQUES ET MODULATIONS NUMERIQUES

Choix d'enceintes de monitoring et autres...

Introduction à l informatique temps réel Pierre-Yves Duval (cppm)

LE VDSL 2 EN FRANCE. Source :

Notions d asservissements et de Régulations

PRODUIRE DES SIGNAUX 1 : LES ONDES ELECTROMAGNETIQUES, SUPPORT DE CHOIX POUR TRANSMETTRE DES INFORMATIONS

Baccalauréat technique de la musique et de la danse Métropole septembre 2008

Mini_guide_Isis.pdf le 23/09/2001 Page 1/14

10ème Congrès Français d'acoustique Lyon, Avril 2010

VIII- Circuits séquentiels. Mémoires

Logiciel libre, OpenMeetings permet de créer ou simplement de participer à des conférences en ligne.

Mode d emploi ALTO MONITOR PROCESSEUR D ÉCOUTE. Version 1.0 Juillet 2003 Français

Transcription:

Filtrage temps-réel et MATLAB (introduction) Matthieu Kowalski Table des matières Rappels des cours précédents : filtrage idéal et FIR 2 Les bases du temps-réel audio sous matlab 5 Rappels des cours précédents : filtrage idéal et FIR Filtrage Un filtre est un système linéaire et invariant dans le temps. Il peut donc s écrire comme une convolution. Réponse impulsionnelle Soit S un filtre. La réponse impulsionnelle h de S correspond à la sortie du système à l impulsion unité (Dirac). Ainsi h = S(δ) et l on a, pour tout signal x y = S(x) = h x = x h y n = Pour les signaux finis, la convolution suppose les signaux périodiques, de même période! Filtres réalisables Filtre réalisable Un filtre de réponse impulsionnelle h est réalisable ssi il est stable et causal. Remarque Si un filtre est stable, alors il admet une transformée de Fourier Réciproquement, si un filtre admet une transformée de Fourier, alors il est stable. Remarque 2 Un filtre réalisable admet forcément une transformée de Fourier Si un filtre admet une transformée de Fourier il n est pas forcément réalisable, car il peut ne pas être causal

Filtres réalisables 2 Filtre stable Un filtre de réponse impulsionnelle h est stable ssi h k < + Filtre stable Un filtre de réponse impulsionnelle h est causal ssi h est causal, ie h k = 0 k < 0 Filtre réalisable Un filtre de réponse impulsionnelle h est réalisable ssi il est stable et causal. Filtrage et transformée de Fourier Réponse en fréquence ou Gain complexe La réponse en fréquence, ou gain complexe, d un filtre est sa transformée de Fourier (quand elle existe!). Filtrage dans le domaine fréquentielle Soit S un filtre de impulsionnelle h et x un signal. On a y = S(x) = h x Si h et x admettent une transformée de Fourier, on a dans le domaine fréquentiel : ŷ = ĥ ˆx Filtrer un signal, c est agir directement sur son spectre! Filtre passe-bas idéal La réponse en fréquence d un filtre passe-bas idéal de fréquence de coupure ν 0 est donnée par : { ĥ(ν) pb si ν < ν ν 0 0 = 0 sinon Réponse en fréquence Amplitude 0.8 0.6 0.4 0.2 0 - -0.8-0.6-0.4-0.2 0 0.2 0.4 0.6 0.8 Frequence (Hz) 2

Filtre passe-haut idéal La réponse en fréquence d un filtre passe-haut idéal de fréquence de coupure ν 0 est donnée par : { ĥ(ν) ph 0 si ν < ν ν 0 0 = sinon = ĥ(ν)pb ν 0 Réponse en fréquence Amplitude 0.8 0.6 0.4 0.2 0 - -0.8-0.6-0.4-0.2 0 0.2 0.4 0.6 0.8 Frequence (Hz) Filtre passe-bande La réponse en fréquence d un filtre passe-bande idéal de fréquences de coupures ν 0 > 0 et ν > 0 est donnée par : si ν 0 < ν < ν ĥ(ν) pbande ν 0 ;ν = si ν 0 < ν < ν 0 sinon = ĥ(ν)pb ν ĥ(ν)pb ν 0 Réponse en fréquence Amplitude 0.8 0.6 0.4 0.2 0 - -0.8-0.6-0.4-0.2 0 0.2 0.4 0.6 0.8 Frequence (Hz) Filtres équation aux différences Soit un filtre de réponse impulsionnelle h. Alors le signal y, version filtrée du signal x par h, est donnée par : y n = (h x) n = Comment réaliser un tel filtre en temps réel? 3

Filtres FIR ou MA Soit un filtre de réponse impulsionnelle h. Le filtre est dit à réponse impulsionnelle finie (FIR) ou à moyenne mobile (MA) si h est finie : h = {h k,..., h 0,..., h k2 } L équation aux différences s écrit alors : y n = k 2 k= k On appelle ordre du filtre, le nombre d échantillons de sa réponse impulsionnelle. Remarques Un filtre FIR est forcément stable Il n est pas forcément causal Un filtre FIR est réalisable ssi il est causal Synthèse de filtre RIF But Synthétiser un filtre RIF (ou MA) causal, qui s approche le plus possible du filtre idéal recherché. RI du filtre RIF recherché VS RI du filtre idéal Le filtre idéal a une RI h ideal a support infini, non causal : y n = Le filtre RIF que l on cherche étant causal, sa réponse impulsionnelle h doit être causale : y n = K k=0 Synthèse de filtre RIF But Synthétiser un filtre RIF (ou MA) causal, qui s approche le plus possible du filtre idéal recherché. Synthèse par fenêtrage Calcul de la RI h ideal par TF inverse : /2 h ideal n = H(ν)e i2πnν dν /2 Fenêtrage de la RI h ideal h win = w {h ideal N/2,..., hideal N/2 } Application d un retard sur h tronc, afin de décaler les indices pour rendre le filtre causal h RIF n = h win n N/2 Paramètres d un filtre FIR Ordre (nombre de coefficients) Fenêtre (Rectangulaire, Hamming, Hann, Blackman... ) 4

2 Les bases du temps-réel audio sous matlab Notion de temps réel La notion de temps-réel est liée à celle de latence, et dépend de l application Latence = durée qui s écoule entre l action et la réaction. Par exemple, un décalage entre le son et l image de 20 ms est acceptable. Au dela, on perçoit le décalage. Traiter un signal en temps-réel = traiter un signal en minimisant la latence Structure général de traitement Structure de traitement Lire un bloc de signal (fichier, micro... ) Traiter ce bloc Écrire ce bloc (fichier, enceintes... ) Problèmes Le traitement ne doit pas introduire de latence En video : < 20 ms. En audio : < 5 ms! Temps réel audio sous Matlab Boucle temps-réel Matlab avec la toolbox dsp.systems % Lecture d un fichier audio: AFR = dsp.audiofilereader( fichier.wav, SamplesPerFrame,frameLength); % Ecriture d un fichier audio: ADW = dsp.audioplayer(afr.samplerate); while ~isdone(afr) % Lecture d un block de signal audio = step(afr); % Traitement de ce block audio_processed = signal_processing(audio); % Ecriture du block de signal step(adw, audio_processed) end % Fermeture des ressources close(afr); close(adw); Temps-réel et filtrage ideal Implémenter un filtrage ideal par bloc voir cours-td Qu observe-t-on? Écoute très éloignée du signal original Pourquoi entend-t-on ce phénomène? Le filtre n est pas compatible avec le temps-réel. Les artefacts viennent de la convolution circulaire! Temps-réel et filtrage FIR Quels échantillons sont nécessaires pour le filtre FIR? des K précédents échantillons, où K est l ordre du filtre Par quoi semble-t-il raisonnable de limiter l ordre du filtre? Par la taille des blocs utilisée pour le temps-réel Proposer une implémentation d un filtrage temps-réel, avec un filtre FIR A partir de quel ordre le signal correctement filtré? Cela dépend de la fenêtre. Un ordre d environ 00 semble nécessaire avec une fenêtre de Hann. 5

Gain en décibel Pour agir sur les fréquences, on peut leur appliquer un gain en décibel. Soit s le signal original et h s le signal filtré : Gain en décibel ( ) ) h s 2 ( ĥ G = 0 log 0 s 2 = 0 log ŝ 2 0 ŝ 2 Ainsi, si l on veut appliquer un gain de 3 db, il suffit d amplifier les fréquences de : ĥ k = 0 G/0 On voit que pour G = 3, alors h 2. Un gain de 3 db double l énergie du signal! Vers un Equalizer numérique Reprendre le programme ci-dessus avec : Une fonction pour calculer les coefficients du filtre voulu, selon la fréquence de coupure, l ordre et le gain (en DB) voulu : [FIRcoeff] = coeff passe bas fir(fe,fc,ordre,fenetre,gaindb,gainmax) Une fonction pour filtrer en temps-réel [ sig filtered ] = realtime filtering(sig pad,framelength,fircoeff) où sig pad est le signal contenant suffisament d échatillons passés pour appliquer le filtre. Vers un Equalizer numérique Le but est de créer un equalizer numérique. On considère que l oreille humaine est sensible aux fréquences sur une échelle logarithmique, de 20 Hz à 20000 Hz. Division de la bande fréquentielle sub-basses : 30 a 63 Hz basses : 63 a 250 Hz bas-mediums : 250 a 500 Hz mediums : 500 a 2000 Hz haut-mediums : 2 a 4 khz aigus : 4 a 20 khz Vers un Equalizer numérique trois bandes Ce qui donne, pour un equalizer trois bandes, la division suivante : Equalizer trois bandes Basses : < 250 Hz Medium : 250 à 2000 Hz Aigus : > 2000 Hz Vers un Equalizer numérique trois bandes Quels sont les types de filtres qui vont intervenir pour créer un equalizer trois bandes? Un passe-bas, un passe-bande et un passe-haut Implémenter trois fonctions qui calcule les coefficients FIR de ces trois filtres [FIRcoeffBass] = coeff passe bas fir(fe,fc,ordre,fenetre,gaindb,gainmax) [FIRcoeffMedium] = coeff passe bande fir(fe,fc,fc2,ordre,fene [FIRcoeffAigu] = coeff passe haut fir(fe,fc,ordre,fenetre,gaindb,gainmax) Vers un Equalizer numérique trois bandes : interface graphique Voir Matlab... 6