2 Les bases du temps-réel audio sous matlab 5 1 Rappels La réponse en fréquence d'un filtre passe-haut idéal de fréquence de coupure ν0 est donnée par :
Previous PDF | Next PDF |
[PDF] Filtrage linéaire
de pixels P' connectés à P Le pixel P, cerclé dans la figure, appartient à son propre voisinage Voici, sous Matlab, la visualisation de la matrice avant et après des filtres passe-haut : un rehausseur de contraste, des filtres différenciateurs
[PDF] Bases du traitement des images - Filtrage dimages
11 oct 2016 · Pour réduire le bruit dans l'image (sujet de ce cours) ▷ Pour détecter les Filtre passe-haut, non idéal (voir partie filtrage fréquentiel) 47 / 99
[PDF] Filtres et Filtrage
Filtre Passe-Haut Analogique Passif Page 49 MATLAB : spectre et spectrogramme du signal s(t) transmission de données, audio, traitement d' images
[PDF] Traitement des images numériques TP 3 : Filtrage - Laurent Oudre
1 2 Etude sous MATLAB Pour ajouter du bruit `a une image sous MATLAB, on utilise la commande imnoise S'agit-il d'un filtre passe-bas, passe-haut, etc
[PDF] — Matlab et le traitement du signal —
– Wn bande passante du filtre (fréquence haute de la bande passante pour un passe-bas ; fréquence basse de la bande passante pour un passe-haut;
[PDF] 7 Applications du filtragekey
Filtre passe-haut originale - filtrée Image Image filtrée Qu'est-ce qui se passe? f = image g = filtre h(m, n) = ∑ k,l Dans matlab: C = normxcorr2(template, A)
[PDF] Conception de filtres numériques
PH (f ), n ∈ Z Réponse fréquentielle du filtre numérique passe-haut idéal Sous Matlab, les fréquences de coupure sont normalisées par rapport à fe / 2 H( f)
[PDF] Filtrage temps-réel et MATLAB (introduction) - Laboratoire des
Rappels des cours précédents : filtrage idéal et FIR Les bases du temps-réel audio sous matlab Filtre passe-haut idéal – 1 Définition La réponse en fréquence
[PDF] Filtrage temps-réel et MATLAB (introduction) - Laboratoire des
2 Les bases du temps-réel audio sous matlab 5 1 Rappels La réponse en fréquence d'un filtre passe-haut idéal de fréquence de coupure ν0 est donnée par :
[PDF] filtre passe haut ordre 1
[PDF] filtre récursif
[PDF] filtre récursif définition
[PDF] filtre récursif et non récursif
[PDF] filtre rif
[PDF] filtre stable
[PDF] filtre uv aquaculture
[PDF] filtrer composante continue
[PDF] filtrer un signal bruité matlab
[PDF] filtres actifs exercices corrigés pdf
[PDF] fime antony
[PDF] fime caen recrutement
[PDF] fime logo
[PDF] fime miami
Filtrage temps-reel et MATLAB (introduction)
MatthieuKowalski
Table des matieres
1 Rappels des cours precedents : ltrage ideal et FIR 1
2 Les bases du temps-reel audio sous matlab 5
1 Rappels des cours precedents : ltrage ideal et FIR
Filtrage
Denition
Un ltre est un systemelineaireetinvariant dans le temps. Il peut donc s'ecrire comme une convo- lution.Reponse impulsionnelle
SoitSun ltre. La reponse impulsionnellehdeScorrespond a la sortie du systeme a l'impulsion unite (Dirac). Ainsi h=S() et l'on a, pour tout signalx y=S(x) =h ? x=x ? h yn=+1X k=1h kxnk Pour les signaux nis, la convolution suppose les signaux periodiques, de m^eme periode!Filtres realisables { 1
Filtre realisable
Un ltre de reponse impulsionnellehest realisable ssi il est stable et causal.Remarque 1
S iu nl trees tst able,al orsil ad metun et ransformeed eF ourier R eciproquement,si u n ltreadm etu net ransformeede F ourier,alor si les tst able.Remarque 2
Un l trer ealisablead metf orcementun et ransformeed eF ourier S iun ltreadm etu net ransformeede F ourieri ln 'estp asfor cementr ealisable,c ari lp eutn epas ^etre causal 1Filtres realisables { 2
Filtre stable
Un ltre de reponse impulsionnellehest stable ssi
+1X k=1jhkj<+1Filtre stable
Un ltre de reponse impulsionnellehest causal ssihest causal, ie h k= 08k <0Filtre realisable
Un ltre de reponse impulsionnellehest realisable ssi il est stable et causal.Filtrage et transformee de Fourier
Reponse en frequence ou Gain complexe
La reponse en frequence, ou gain complexe, d'un ltre est sa transformee de Fourier (quand elle existe!).
Filtrage dans le domaine frequentielle
SoitSun ltre de impulsionnellehetxun signal. On a
y=S(x) =h ? x Sihetxadmettent une transformee de Fourier, on a dans le domaine frequentiel : ^y=^h^x Filtrer un signal, c'est agir directement sur son spectre!Filtre passe-bas ideal { 1
Denition
La reponse en frequence d'un ltre passe-bas ideal de frequence de coupure0est donnee par : h()pb0=(1 sijj< 0
0 sinon
Reponse en frequence-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1Frequence (Hz)00.20.40.60.81
Amplitude2
Filtre passe-haut ideal { 1
Denition
La reponse en frequence d'un ltre passe-haut ideal de frequence de coupure0est donnee par : h()ph0=(0 sijj< 0
1 sinon
= 1^h()pb0 Reponse en frequence-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1Frequence (Hz)00.20.40.60.81
AmplitudeFiltre passe-bande { 1
Denition
La reponse en frequence d'un ltre passe-bande ideal de frequences de coupures0>0 et1>0 est donnee par : h()pbande0;1=8 :1 si0< < 11 si0< <1
0 sinon
^h()pb1^h()pb0Reponse en frequence
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1Frequence (Hz)00.20.40.60.81
AmplitudeFiltres { equation aux dierences
Soit un ltre de reponse impulsionnelleh. Alors le signaly, version ltree du signalxparh, est donnee par : y n= (h ? x)n=+1X k=1h kxnkComment realiser un tel ltre en "temps reel"?
3Filtres FIR ou MA
Denition
Soit un ltre de reponse impulsionnelleh. Le ltre est dit "a reponse impulsionnelle nie" (FIR) ou "a moyenne mobile" (MA) sihest nie :h=fhk1;:::;h0;:::;hk2gL'equation aux dierences s'ecrit alors :
y n=k 2X k=k1h kxnk On appelleordredu ltre, le nombre d'echantillons de sa reponse impulsionnelle.Remarques
Un l treF IRes tfor cementstable
Il n 'estp asf orcementcausal
Un l treF IRes trealisablessi il est causal
Synthese de ltre RIF
But Synthetiser un ltre RIF (ou MA)causal, qui s'approche le plus possible du ltre ideal recherche.RI du ltre RIF recherche VS RI du ltre ideal
Le ltrei deala u neRI hideala support inni, non causal : y n=+1X k=1h kxnk Le ltreRIF q uel' onc herche etantc ausal,s ar eponsei mpulsionnellehdoit ^etre causale : y n=KX k=0h kxnkSynthese de ltre RIF
But Synthetiser un ltre RIF (ou MA)causal, qui s'approche le plus possible du ltre ideal recherche.Synthese par fen^etrage
|Calculde la RIhidealpar TF inverse : h idealn=Z 1=21=2H()ei2nd
|Fen^etragede la RIhideal h win=w fhidealN=2;:::;hidealN=2g Ap plicationd' unretardsurhtronc, an de decaler les indices pour rendre le ltre causal hRIFn=hwinnN=2
Parametres d'un ltre FIR
O rdre( nombrede co ecients)
F en^etre( Rectangulaire,Hammi ng,Hann ,Bl ackman. ..) 42 Les bases du temps-reel audio sous matlab
Notion de temps reel
La n otiond et emps-reele stl iee ac elled el atence,et d ependd el 'application Lat ence= du reeq uis 'ecoulee ntrel 'actionet l ar eaction. P arex emple,u nd ecalageen trel eson e tl 'imagede 20 ms e stacce ptable.Au de la,on p ercoitl e decalage. T raiterun si gnalen t emps-reel= t raiteru ns ignalen mi nimisantla l atenceStructure general de traitement
Structure de traitement
Li reu n" bloc"d esi gnal( chier,mi cro...)
T raiterce bl oc
|Ecrire ce bloc (chier, enceintes...)Problemes
Le t raitementn ed oitpas i ntroduirede l atence
E nv ideo: <20 ms. En audio :<5 ms!
Temps reel audio sous Matlab
Boucle temps-reel 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-reel et ltrage ideal
Imp lementerun l tragei dealpar b loc
voir cours-TD 1 Q u'observe-t-on?Ecoute tres eloignee du signal originalP ourquoie ntend-t-once ph enomene?
Le ltre n'est pas compatible avec le temps-reel. Les artefacts viennent de la convolution circulaire!
Temps-reel et ltrage FIR
Q uels echantillonss ontn ecessairesp ourl e ltreF IR? desKprecedents echantillons, ouKest l'ordre du ltre P arq uoisem ble-t-ilrai sonnablede li miterl 'ordred ul tre? Par la taille des blocs utilisee pour le temps-reel P roposeru nei mplementationd' un ltraget emps-reel,a vecu n ltreF IR A p artirde q uelor drel esi gnalcor rectementl tre? Cela depend de la fen^etre. Un ordre d'environ 100 semble necessaire avec une fen^etre de Hann. 5Gain en decibel
Pour agir sur les frequences, on peut leur appliquer un gain en decibel. Soitsle signal original eth?s
le signal ltre :Gain en decibel
G= 10log10kh ? sk2ksk2
= 10log 10 k^h^sk2k^sk2! Ainsi, si l'on veut appliquer un gain de 3 dB, il sut d'amplier les frequences de : hk= 10G=10 On voit que pourG= 3, alorsh'2. Un gain de 3 dB double l'energie du signal!Vers un Equalizer numerique
Reprendre le programme ci-dessus avec :
Un ef onctionp ourcal culerle sco ecientsdu ltrev oulu,se lonla fr equenced ec oupure,l 'ordree t le gain (en DB) voulu : [FIRcoe] = coepassebasr(fe,fc,ordre,fenetre,gainDB,gainMax)Un ef onctionp ourl treren t emps-reel
[ sigltered ] = realTimeltering(sigpad,frameLength,FIRcoe) ou sigpad est le signal contenant susament d'echatillons passes pour appliquer le ltre.Vers un Equalizer numerique
Le b utest d ec reeru ne qualizern umerique.
O nc onsiderequ el 'oreilleh umainees tsen sibleau xf requencess uru ne echellel ogarithmique,de20 Hz a 20000 Hz.
Division de la bande frequentielle
su b-basses: 30 a 63 Hz b asses: 63 a 250 Hz b as-mediums: 250 a 500 Hz me diums: 500 a 2000 Hz h aut-mediums: 2 a 4 kHz ai gus: 4 a 20 kHzVers un Equalizer numerique trois bandes
Ce qui donne, pour un equalizer trois bandes, la division suivante :Equalizer trois bandes
Bas ses: <250 Hz
M edium: 250 a2000 Hz
Ai gus: >2000 Hz
Vers un Equalizer numerique trois bandes
Q uelsson tl est ypesde l tresqu iv onti ntervenirp ourcr eeru neq ualizertr oisb andes?Un passe-bas, un passe-bande et un passe-haut
Imp lementertr oisf onctionsq uical culel esco ecientsFI Rde ce st roisl tres[FIRcoeBass] = coepassebasr(fe,fc,ordre,fenetre,gainDB,gainMax) [FIRcoeMedium] = coepassebander(fe,fc1,fc2,ordre,fenetre,gainDB,gainMax)
[FIRcoeAigu] = coepassehautr(fe,fc,ordre,fenetre,gainDB,gainMax) Vers un Equalizer numerique trois bandes : interface graphique