[PDF] — Matlab et le traitement du signal —





Previous PDF Next PDF



BioMaps BioMaps

analyse des données : - filtre mesure du gain et du On veut développer une routine matlab qui calcule la fonction de transfert d'un filtre passe haut.



Chapitre 3 Chapitre 3

Un filtre passe-haut avec un gain unitaire permet par exemple de rehausser le . Écrire le programme Matlab construisant fonctionnellement ce troisième filtre.



Filtres à réponse impulsionnelle finie (RIF) Objectifs dapprentissage Filtres à réponse impulsionnelle finie (RIF) Objectifs dapprentissage

On veut un filtre passe-haut avec M=5 et fc=250 Hz fonctionnant avec une • Code MATLAB pour calculer les coefficients: % filtre passe bas : fc = 8000 ...



Présentation PowerPoint

3.2 Filtrage avec Matlab. 4. Filtre de Vondrak. Page 2. Ecole d'été GRGS « Méthodes et CALIIR : Application d'un filtre RII passe-bas ou passe-haut. Les ...



Travaux Pratique TR-C1 : Traitement du signal Avancée TP 3 : Filtrage

Pour un filtre passe-bande fp contient les fréquences basse et haute de la bande passante et fs les fréquences haute et basse de la bande coupée. Attention



7. Applications du filtrage.key 7. Applications du filtrage.key

accentuée! = Rajoutons les détails originale détails. + α. Page 12. Filtre passe-haut • MATLAB: medfilt2(image [h w]). Bruit “poivre et sel”. Filtre médian.



Le Filtrage des Signaux Numériques Le Filtrage des Signaux Numériques

Filtre Passe-Haut Analogique. Passif. Page 12. High Pass Filter. 0 dB . . -3 dB MATLAB : spectre et spectrogramme du signal s(t) spectrogramme = spectre ...



Filtrage temps-réel et MATLAB (introduction)

Filtre passe-haut idéal – 1. Définition. La réponse en fréquence d'un filtre passe-haut idéal de fréquence de coupure ν0 est donnée par : h(ν)ph ν0 = {. 0 si 



Conception de filtres numériques Conception de filtres numériques

Réponse impulsionnelle d'un filtre passe-haut idéal d'après celle du passe filtre. RII équivalent. b) Vérifier avec la commande Matlab. >>[NumdDend] ...



— 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; fréquences 



Le Filtrage des Signaux Numériques

Filtre Passe-Bas Passif et. Analogique Filtre Passe-Haut Analogique ... MATLAB : spectre et spectrogramme du signal s(t) spectrogramme = spectre(temps).



Conception de filtres numériques

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 /.



— 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; fréquences 



Filtrage linéaire

Voici sous Matlab



Filtrage temps-réel et MATLAB (introduction)

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.



Filtrage temps-réel et MATLAB (introduction)

2 Les bases du temps-réel audio sous matlab La réponse en fréquence d'un filtre passe-haut idéal de fréquence de coupure ?0 est donnée par :.



Travaux Pratique TR-C1 : Traitement du signal Avancée TP 3 : Filtrage

De synthétiser un filtre numérique sous Matlab Pour un filtre passe-bande fp contient les fréquences basse et haute de la bande passante et fs.



Présentation PowerPoint

3.2 Filtrage avec Matlab. 4. Filtre de Vondrak Pour passer d'un filtre passe-bas à un filtre passe-haut de même fréquence de coupure il suffit de.



7. Applications du filtrage.key

Un filtre gaussien enlève… Filtre passe-haut originale - filtrée ... fmn)2. Dans matlab: C = normxcorr2(template



Traitement des images numériques TP 3 : Filtrage et débruitage

Ouvrir MATLAB et créer un répertoire de travail. 3 Filtrage d'une image : domaine fréquentiel ... S'agit-il d'un filtre passe-bas passe-haut



Filtres passifs - Le Mans University

>Filtres passifs - Le Mans University



Le Filtrage des Signaux Numériques

>Le Filtrage des Signaux Numériques

Comment calculer la courbe de réponse d’un filtre passe-haut ?

Fig 7 La courbe de réponse du filtre passe-haut est symétrique de la courbe du passe-bas par rapport à la droite x = 1. A titre d’exercice, tracer la courbe asymptotique du gain pour un filtre passe-bande du second ordre quand Q est petit et vérifier que les asymptotes ont des pentes de +20 dB et –20 dB.

Comment calculer le gabarit d’un filtre passe-bas?

Gabarit d’un filtre •? Pour un filtre passe-bas, est conduit à introduire 3 régions –? Bande passante, plage de fréquences où le gain prend des valeurs comprises entre (1-? p ,1+ ?

Qu'est-ce que le filtre passe-haut ?

Les filtres passe-haut sont souvent utilisés pour nettoyer du bruits basse fréquence, éliminer les bourdonnements dans les signaux audio, rediriger les signaux haute fréquence vers les haut-parleurs appropriés du système audio et éliminer les tendances basse fréquence des séries temporelles, pour mettre en évidence les tendances haute fréquence.

Ann´ee 2013-20144 Universit´e Paul Sabatier-Wnbande passante du filtre (fr´equence haute de la bande

passante pour un passe-bas; fr´equence basse de la bande passante pour un passe-haut; fr´equences basse et haute de la bande passante pour un passe-bande; fr´equences basse et haute de la bande coup´ee pour un coupe-bande). Les fr´equences deWnsont normalis´ees par rapport `a la fr´equence de Nyquist. -Rpatt´enuation maximale (en dB) dans la bande pas- sante. -Rsatt´enuation minimale (en dB) dans la bande coup´ee.

3.3.5 Estimation de l"ordre des filtres

Enfin, Matlab, poss`ede des fonctions permettant d"estimer l"ordre minimal n´ecessaire pour la construction d"un filtre passe-bas ou passe bande entrant dans un gabarit donn´e : >> [n, Wn] = buttord(Wp,Ws,Rp,Rs) ; >> [n, Wn] = cheb1ord(Wp,Ws,Rp,Rs) ; >> [n, Wn] = ellipord(Wp,Ws,Rp,Rs) ; -Wpbande passante. -Wsbande coup´ee. -Rpatt´enuation maximale (en dB) dans la bande pas- sante. -Rsatt´enuation minimale (en dB) dans la bande coup´ee. -nordre du filtre. -Wnfr´equence propre du filtre num´erique. Pour un filtre passe-basWpetWssont les fr´equences hautes de la bande passante et basse de la bande coup´ee. Pour un filtre passe-bande,Wpcontient les fr´equences basse et haute de la bande passante etWsles fr´equences haute et basse de la bande coup´ee. Attention, les fr´equences sont normalis´ees par rapport `a la fr´equence de Nyquist = fe 2. Pour les filtres passe-haut et coupe-bande, leur ordre peut ˆetre calcul´e de la mˆeme fa¸con que pour les filtres passe-bas et passe-bande en renversant les fr´equences de 0 vers 1 et de 1 vers 0. (e.g. l"ordre d"un passe-hautWp=0.2,Ws=0.1 est le mˆeme que celui d"un passe-basWp=0.8,Ws=0.0).

4 Exemple

% G´en´eration du signal

Fe = 8e3;

N = 512;

t = (0:N-1)/Fe; x = square(2*pi*Fe*t/50); % TFD sur [0, Fe]

X = fft(x);

f = (0:N-1)/N*Fe; % Affichage subplot(1,2,1); plot(t,x);

xlabel("temps t"), ylabel("x(t)");subplot(1,2,2); plot(f(1:N/2),abs(X(1:N/2)));xlabel("fr´equence f"), ylabel("X(f)");

0 2000
4000

050100150200250300

fréquence f 0 0.02 0.04 0.06 -1 -0.8-0.6-0.4-0.2 0

0.20.40.60.8

1 temps t ?x(f)x(t) % Synth`ese du filtre passe bas % (RIF moindres carr´es) % Bande passante [0, 200 Hz] % Bande coup´ee [400Hz, 4000Hz] % R´eponse impulsionnelle h = firls(39,[0 500 750 Fe/2]/Fe*2,[1 1 0 0]); % R´eponse en frquence [H, freq] = freqz(h,1,512,Fe); % Affichage subplot(1,2,1); plot(h); xlabel("´echantillon"), ylabel("h[n]"); subplot(1,2,2); plot(freq,20*log10(abs(H))); xlabel("fr´equence f"), ylabel("H(f)"); 0 20 40
-0.04-0.02 0

0.020.040.060.080.10.120.140.16

échantillon

0 2000
4000
-100-80-60-40-20 020 fréquence f ?h(f)h[n] % Filtrage du signal y = filter(h,1,x);

Y = fft(y);

% Affichage subplot(1,2,1); plot(t,y); xlabel("temps t"), ylabel("y(t)"); subplot(1,2,2); plot(f(1:N/2),abs(Y(1:N/2))); xlabel("fr´equence f"), ylabel("Y(f)"); 0 0.02 0.04 0.06 -1 -0.8-0.6-0.4-0.2 0

0.20.40.60.8

1 temps t 0 2000
4000

050100150200250300

fréquence f ?y(f)y(t) Herv´e Carfantanhttp://userpages.irap.omp.eu/~hcarfantan/

Ann´ee 2013-20141 Universit´e Paul Sabatier

- Matlab et le traitement du signal -

Table des mati`eres

1 Repr´esentation des signaux et syst`emes 1

1.1 Temps . . . . . . . . . . . . . . . . . . . . . 1

1.2 Autocorr´elation . . . . . . . . . . . . . . . . 1

1.3 Fonction de transfert . . . . . . . . . . . . . 1

2 Repr´esentations fr´equentielles 2

2.1 Signaux . . . . . . . . . . . . . . . . . . . . 2

2.2 Syst`emes . . . . . . . . . . . . . . . . . . . 2

3 Filtrage et synth`ese de filtres 2

3.1 Filtrage . . . . . . . . . . . . . . . . . . . . 2

3.2 Synth`ese filtres RIF . . . . . . . . . . . . . 2

3.2.1 Troncature de la R´ep. Impuls. . . . . 2

3.2.2´Echantillonnage de la R´ep. en Fr´eq. 2

3.2.3 Moindres Carr´es . . . . . . . . . . . 2

3.2.4 M´ethode de R´emez . . . . . . . . . . 3

3.3 Synth`ese de filtres RII . . . . . . . . . . . . 3

3.3.1 Synth`ese de filtres analog. passe-bas 3

3.3.2 Transformation des fr´equences . . . 3

3.3.3 Discr´etisation des filtres . . . . . . . 3

3.3.4 Synth`ese compl`ete des filtres . . . . 3

3.3.5 Estimation de l"ordre des filtres . . . 4

4 Exemple4

Matlab et sa boˆıte `a outilsSignal Processing, contiennent un grand nombre de fonctionnalit´es concernant : - la g´en´eration de signaux; - la repr´esentation des signaux (Transform´ee de Fou- rier Discr`ete FFT, Transform´ee en Cosinus Discrets

DCT...);

- l"analyse des signaux (statistique, analyse spectrale pa- ram´etrique...); - la repr´esentation des syst`emes lin´eaires (fonction de transfert, pˆoles et z´eros, espace d"´etat...); - l"analyse des syst`emes (r´eponse impulsionnelle, r´eponse en fr´equence...); - le filtrage et la synth`ese de filtres. Nous nous int´eresseronsici uniquement aux fonctions utiles pour la repr´esentation fr´equentielle des signaux et des sys- t`emes lin´eaires et aux fonctions de filtrage et de synth`ese de filtres.

1 Repr´esentation des signaux et

syst`emes1.1 TempsUn signal num´erique ´echantillonn´e `a la fr´equencefese re- pr´esente naturellement dans Matlab, comme un vecteur deN´el´ements (signal de dur´eeN fe). Le vecteur des temps qui lui est associ´e est : >> t = (0:N-1)/fe;

1.2 Autocorr´elation

L"estimation de l"autocorr´elation d"un signal ou de l"inter- corr´elation de deux signaux de longueurNpeut ˆetre effec- tu´ee avec la fonctionxcorr: >> Cxy = xcorr(x,y,option); C"est un vecteur de longueur 2N-1 tel que leNi`eme ´el´e- ment corresponde `a la corr´elation en 0. sioptionn"est pas donn´e,xcorrestime la corr´elation non normalis´ee : C unx,y[n] =? ?N-n k=1x?[k]y[k+n] sin≥0 C x,y[-n]?sin <0 optionpeut prendre les valeurs : -"biased"pour l"estimateur biais´e de la corr´elation : C bx,y[n] =1NCunx,y[n]. -"unbiased"pour l"estimateur non biais´e de la corr´ela- tion : C nbx,y[n] =1 |N-n|Cunx,y[n]. -"coeff"pour laquelle la corr´elation est normalis´ee de fa¸con `a ce queCcx,y(0) = 1.

1.3 Fonction de transfert

- La fonction de transfert (transform´ee de Laplace de la r´e- ponse impulsionnelle) d"un filtre analogique s"´ecrit sous la forme :

F(s) =b0sM+b1sM-1+···+bM-1s+bM

sN+a1sN-1+···+aN-1s+aN ou sous la forme :

F(s) ==K?

M k=1(s-zk) ?Nk=1(s-pk). - La fonction de transfert (transform´ee enzde la r´e- ponse impulsionnelle) d"un filtre num´erique s"´ecrit quant `a elle :

F(z) =b0+b1z-1+···+bMz-M

1 +a1z-1+···+aNz-N=K?

M k=1(z-zk) ?Nk=1(z-pk). Ces syst`emes peuvent donc se repr´esenter dans Matlab, avec les vecteurs du d´enominateura=[1,a1,...aN]et du num´erateurb=[b0, b1,...bM]ou par le gainKet les vecteurs des polesp=[p0, p1,...pM]et des z´eros z=[z0, z1,...zM]. Un filtre num´erique `a r´eponse impulsionnelle finie (RIF) ayant son d´enominateur `a 1 sera enti`erement caract´eris´e par sa r´eponse impulsionnelle (h = b). Herv´e Carfantanhttp://userpages.irap.omp.eu/~hcarfantan/

Ann´ee 2013-20142 Universit´e Paul Sabatier2 Repr´esentations fr´equentielles2.1 SignauxLa Transform´ee de Fourier Discr`ete d"un signal deNpoints

est calcul´ee par un algorithme rapide (Fast Fourier Trans- formFFT) : >> X = fft(x) ; C"est ´egalement un signal (`a valeurs complexes) deNpoints

´echantillonn´es `a la fr´equenceN

fe. Le vecteur des fr´equences qui lui est associ´e est : >> f = (0:N-1)/N*fe; Rappelons que ce signal est de p´eriodefe; on peut le repr´esenter sur l"intervalle [-fe 2,fe

2] grˆace `a la fonction

fftshift(qui ne fait qu"un d´ecalage des vecteurs et aucun calcul de fft) : >> Y = fftshift(X); Le vecteur des fr´equences qui lui est associ´e est alors : >> f = (0:N-1)/N*fe - fe/2;

2.2 Syst`emes

La r´eponse en fr´equence d"un syst`eme analogique est don- n´ee par : >> H=freqs(b,a,w); Hest la r´eponse en fr´equence aux pulsations donn´ees dans le vecteurw(en radian par seconde). La r´eponse en fr´equence d"un syst`eme num´erique est don- n´ee par : >> H=freqz(b,a,f,fe); Hest la r´eponse du syst`eme aux fr´equences donn´ees dans le vecteurf(en Hertz) etfela fr´equence d"´echantillonnage.

Voir l"aide en ligne pour plus de d´etails...

Remarque :Matlab, travaille en pulsation pour les sys- t`emes analogiques et en fr´equence (et mˆeme en fr´equence normalis´ee) pour les syst`emes num´eriques.

3 Filtrage et synth`ese de filtres

3.1 Filtrage

Le filtrage du vecteurxpar le filtre num´erique d´efini par aetbest effectu´e par : >> y = filter(b,a,x); Remarque :Les conditions initiales de l"´equation de r´ecu- rence peuvent ˆetre donn´ees en entr´ee de la fonctionfilter.

Elles se calculent par la fonctionfiltic.

3.2 Synth`ese filtres RIF

Il existe diff´erentes m´ethodes de synth`ese de filtres RIF

approchant un filtre id´eal :3.2.1 Troncature de la R´eponse ImpulsionnelleLa fonctionfir1synth´etise un filtre RIF simple (d´efini

par une seule bande passante ou coup´ee) par troncature et fenˆetrage de la r´eponse impulsionnelle du filtre num´erique id´eal : >> h = fir1(n,fn,type,window) ; -nest l"ordre du filtre (longueur de la RI moins un). - Les fr´equencesfnsont normalis´ees par rapport `a la fr´e- quence de Nyquist (fn=f/fe fr´equence de coupure pour les passe-bas et passe-haut, et les fr´equences de coupures basse et haute pour les passe-bande et coupe-bande. - La chaˆıne de caract`eretypepr´ecise le type de filtre. "high"pour passe-haut,"stop"pour coupe-bande, type omis pour les passe-bas et passe-bande. - Le vecteurwindowde longueurn+1, correspond `a la fe- nˆetre prise en compte (par d´efaut fenˆetre de Hamming). Les fonctions Matlab, disponibles pour cr´eer des fe- nˆetres sont :bartlett,blackman,boxcar(rectangu- triang(triangulaire).

Voir l"aide en ligne pour plus de d´etails...

3.2.2 ´Echantillonnage de la R´eponse en Fr´e-quence La fonctionfir2synth´etise un filtre RIF par ´echantillon- nage de la r´eponse en fr´equence du filtre analogique id´eal et fenˆetrage de la r´eponse impulsionnelle du filtre ainsi construit. >> h = fir2(n,fn,m,window) ; -nest l"ordre du filtre (longueur de la RI moins un). d´efinissant le filtre id´eal comme lin´eaire par morceaux. -mest le vecteur des amplitudes, aux fr´equences donn´ees parfn, de la r´eponse en fr´equence du filtre id´eal.

Voir l"aide en ligne pour plus de d´etails...

3.2.3 Moindres Carr´es

La fonctionfirlssynth´etise un filtre RIF approchant au mieux, au sens des moindres carr´es (normeL2), la r´eponse en fr´equence du filtre analogique id´eal. >> h = firls(n,fn,m) ; -nest l"ordre du filtre (longueur de la RI moins un). d´efinissant le filtre id´eal. Attention, contrairement `afir2, ces fr´equences sont prises deux par deux dansfirls, permettant ainsi de d´efinir des bandes de fr´equences ou le filtre id´eal n"est pas pr´ecis´e (bandes de transition). Herv´e Carfantanhttp://userpages.irap.omp.eu/~hcarfantan/

Ann´ee 2013-20143 Universit´e Paul Sabatier-mest le vecteur des amplitudes de la r´eponse en fr´equence

du filtre id´eal aux fr´equencesfn.

Voir l"aide en ligne pour plus de d´etails...

3.2.4 M´ethode de R´emez

La fonctionremezsynth´etise un filtre RIF approchant au mieux, au sens du minimax (normeL∞), la r´eponse en fr´equence du filtre id´eal. >> h = remez(n,fn,m) ;

Les param`etres sont les mˆemes que pourfirls.

La fonctionremezordpermet de plus d"estimer l"ordre n´e- cessaire `a la m´ethode de remez pour construire un filtre de d´eviation maximale donn´ee.

Voir l"aide en ligne pour plus de d´etails...

3.3 Synth`ese de filtres RII

Les principales m´ethodes de synth`ese de filtres `a r´eponse impulsionnelle infinie (RII) proc`edent par discr´etisation d"un filtre analogique.

3.3.1 Synth`ese de filtres analogiques passe-bas

Les fonctions suivantes renvoient les pˆoles (p) z´eros (z) et gain (k) des filtres analogiques passe-bas normalis´es (pul- sation de coupure unit´e) : % Butterworth >> [z, p, k] = buttap(n) ; % Chebychev % Oscillations inf´erieures `a Rp dB % en bande passante >> [z, p, k] = cheb1ap(n, Rp) ; % Oscillations au de¸c`a de Rs dB % en bande coup´ee >> [z, p, k] = cheb2ap(n, Rs) ; % Elliptique : oscillations inf´erieures % `a Rp dB en bande passante et au de¸c`a % de Rs dB en bande coup´ee >> [z, p, k] = ellipap (n, Rp, Rs) ; Pour obtenir une repr´esentation de ces filtres analogiques en terme des num´erateurs et d´enominateurs de leur fonc- tion de transfert (transform´ee de Laplace de leur r´eponse impulsionnelle) : >> [b, a] = zp2tf(z,p,k) ;

3.3.2 Transformation des fr´equences

Pour transformer les filtres passe-bas en tout type de filtres : % Lowpass -> Lowpass(p-→p

ω0)

>> [bt, at] = lp2lp(b,a,W0) ; % Lowpass -> Highpass(p-→ω0 p) >> [bt, at] = lp2hp(b,a,W0) ;% Lowpass -> Bandpass(p-→1 B(p

ω0+ω0

p)) >> [bt, at] = lp2bp(b,a,W0,Bw) ; % Lowpass -> bandstop(p-→B1 pω0+ω0 p) >> [bt, at] = lp2bs(b,a,W0,Bw) ; Siωbest la pulsation basse de coupure etωhla pulsation haute de coupure, alors la pulsation propre du filtreω0et la largeur de bande du filtre sont donn´es par :B=ωh-ωb etω0=⎷

ωhωb.

3.3.3 Discr´etisation des filtres

La discr´etisation des filtres analogiques permet d"obtenir les coefficients des filtres num´eriques `a partir de ceux du filtre analogiques. Deux techniques sont disponibles `a cette fin dans Matlab : - Discr´etisation par invariance de la r´eponse impulsion- nelle : >> [bd, ad] = impinvar(b, a, fe) ;

O`ufeest la fr´equence d"´echantillonnage.

- Discr´etisation par transformation bilin´eaire : (approxi- mationp≈2

Te1-z-1

1+z-1)

>> [bd, ad] = bilinear(b, a, fe) ; Attention, la transformation bilin´eaire provoque une d´e- formation des fr´equences (soitfala fr´equence analogique etfnla fr´equence num´erique) : f n=fe

πarctan(πfa

fe) et fa=fe

πtan(πfn

fe). Il est donc n´ecessaire de pr´e-d´eformer le gabarit du filtre analogique pour obtenir le filtre num´erique d´esir´e.

3.3.4 Synth`ese compl`ete des filtres

Matlab, propose des fonctions dans lesquelles la synth`ese compl`ete du filtre num´erique est effectu´ee : % Butterworth >> [b, a] = butter(n,Wn,type) ; % Chebychev % Oscillations de Rp dB en bande % passante >> [b, a] = cheby1(n,Rp,Wn,type) ; % Oscillations au de¸c`a de Rs dB % en bande coup´ee >> [b, a] = cheby2(n,Rs,Wn,type) ; % Elliptique : oscillations de Rp dB en % bande passante et au de¸c`a de Rs dB en % bande coup´ee >> [b, a] = ellip(n,Rp,Rs,Wn,type) ; Ces fonctions donnent directement les coefficientsaetb du filtre num´erique `a partir de : -nordre du filtre. Herv´e Carfantanhttp://userpages.irap.omp.eu/~hcarfantan/quotesdbs_dbs14.pdfusesText_20
[PDF] filtre passe haut matlab image

[PDF] filtre passe haut numérique

[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