Académique Documents
Professionnel Documents
Culture Documents
But de la manipulation:
Notions de filtrages, présentation des filtres théoriques, la conception de filtres. Les filtres
analogiques et numériques.
Outils utilisés:
MATLAB, MATLAB « FDATool, » "Signal Processing Tool" et en particulier ses interfaces
graphiques : "Signal Browser", "Filter Designer, "Filter Viewer "Spectrum Viewer" et "Sptool".
Rappels théoriques :
Les filtres ont pour rôle de modifier les données vues par leurs entrés pour répondre à des
spécifications fréquentielles.
La spécification d'un filtre peut aller de la simple élimination d'une ou des composantes
spectrales, à la spécification avec contraintes sur les amplitudes des ondulations sur les bandes
passantes ou coupantes, sur la transition entre ces régions ...etc. Cette spécification peut être
encore plus précise si on y trouve d'autres contraintes supplémentaires telles la nature du filtre ou
un ordre minimal.
Les filtres à RII comportent moins de paramètres que les filtres à RIF mais présentent en
générale une phase non linéaire.
Dans la suite, on se restreindra aux filtres passe bas. Les caractéristiques élémentaires des
filtres proposés par MATLAB sont:
1
SICOM 2- FILTRAGE ET FILTRES NUMÉRIQUES . F.ABDI DGE, FST FES
dans la bande passante. Amplitude d'ondulation presque nulle dans la bande passante et
décroissante par ailleurs. Seuls les paramètres ordre du filtre et fréquence de coupure
sont à préciser.
Ø Filtre de Chebyshev de type II: Minimise la différence en valeur absolue des réponses
idéale et réelle sur la totalité de la bande coupée. Il introduit des ondulations de même
amplitudes Rs dans la bande coupée. On parle de filtre de Chebyshev inverse.
Ø Filtre elliptique(Cauer): Minimise l'ordre du filtre et offre donc le filtre d'ordre le plus
bas par rapport aux autres implémentations possibles des filtres classiques. La réponse
fréquentielle a des ondulations à la fois dans la bande passante et dans la bande coupée.
Ø Filtre de Bessel: Optimise le retard de phase qui est presque constant à la fréquence
origine et reste presque constante sur la totalité de la bande passante.
Les arguments possibles à ces fonctions sont l'ordre du filtre, l'amplitude des ondulations
dans une bande donnée, la fréquence de coupure et une liste d'options ('high' ou 'stop').
[b,a]=butter(n,Wn,options) [b,a]=butter(5,0.4);
[b,a]=cheby2(n,Rs,Wn,option). [b,a]=cheby2(6,60,0.8,'high');
2
SICOM 2- FILTRAGE ET FILTRES NUMÉRIQUES . F.ABDI DGE, FST FES
L'élaboration d'une version analogique de l'un de ces filtres est possible en ajoutant
l'argument 's' pour signaler le plan analogique s.
Exemple:
[b,a]=butter(n,Wn,options,'s')
§ l'ordre N du filtre, l'amplitude des ondulations dans la bande passante Rp, l'amplitude
des ondulations dans la bande coupée Rs et la fréquence de coupure (fréquence
normalisée).
La syntaxe de cette fonction est similaire à celle de tous les autres filtres proposés par le
logiciel et va constituer de ce fait un exemple qu'on détaillera ici bien volontiers:
[b,a]=ellip(n,Rp,Rs,Wn,'type')
Wn est la fréquence de coupure du filtre considéré par défaut comme un passe – bas
(l'argument type est alors facultatif). Si Wn=[W1 W2] est un vecteur à 2 éléments, le filtre est
considéré comme un passe bande entre W1 et W2.
L'argument type peut prendre soit la mention 'high' pour un filtre passe haut ou alors 'stop'
pour un filtre coupe-bande entre deux pulsations [W1 W2].
Cette commande donne dans tous les cas deux vecteurs de coefficients constituant le
numérateur et le dénominateur du filtre.
Dans le domaine discret, les vecteurs coefficients du filtre sont donnés dans l'ordre
décroissant des puissances de Z selon l'écriture.
3
SICOM 2- FILTRAGE ET FILTRES NUMÉRIQUES . F.ABDI DGE, FST FES
La technique de conception des filtres discrets en se basant sur des versions analogiques est
dite méthode de conception indirecte car elle élabore une expression temporelle à partir de
spécification fréquentielles. Par opposition, lorsque le filtre est spécifié dans le domaine temporel,
on parle de conception directe.
Cette deuxième manière de conception offre de plus grandes variétés et la littérature est
riche en documents et en méthodes: Méthodes de Yule-Walker, de Prony, de Prédiction
linéaire,etc. Par ailleurs, elle ne se restreint pas à des modèles passe-bas prototype comme c'est le
cas des méthodes indirectes.
L'idée de base pour l'obtention d'un filtre à RIF est la troncature d'une RII. Pour ceci, on
utilise des fenêtres d'observation de durée finie. Différentes fenêtres peuvent être utilisées: Fenêtre
rectangulaire, de Hamming, de Hanning, de Blackman...etc. Chacune présente des caractéristiques
différentes.
Exemple:
b=0.4*sinc(0.4*(-25:25))
4
SICOM 2- FILTRAGE ET FILTRES NUMÉRIQUES . F.ABDI DGE, FST FES
b=b.*hamming(5).1
Travail à effectuer:
PREPARATION
1) La forme générale d’un filtre numérique est donnée par une fonction de
transfert H(z) à P pôles et Q zéros :
a. Si P=0, (le filtre n’a que des zéros), quel est le type du filtre ? Que représentent les
coefficients b(k) ?
0.5
𝐻 𝑝 =
𝑝 + 0.5
b) Est que le filtre numérique obtenu est stable ? Justifier votre réponse.
5
SICOM 2- FILTRAGE ET FILTRES NUMÉRIQUES . F.ABDI DGE, FST FES
MANIPULATION
Manip 1 :
• Le signal de sortie y(n) d’un filtre à moyenne mobile d’ordre M est donné par
l’équation :
!!!
1
𝑦 𝑛 = 𝑥 𝑛−𝑘
𝑀
!!!
Un tel filtre laisse passer les signaux de basses fréquences et supprime les signaux de
hautes fréquences.
1. Ecrire une fonction Matlab qui effectue un filtrage du type moyenne mobile sur M
échantillons
4. Tracer le signal de sortie. Comment le signal de sortie peut-il être décrit en ignorant
les effets de transition sur le début et la fin du signal?
5. Décrire les effets qui se produisent si vous changez la longueur du filtre entre M=1
et M=15 dans l’étape 3
Par des lignes de commande MATLAB, et en utilisant les différents filtres préprogrammés
dans cet environnement en souhaite concevoir des filtres à RII classiques.
Concevoir et visualiser un filtre de chebyshev de type II, d'ordre 9, analogique puis discret
ayant les ondulations dans la bande coupée Rs=20. Observer et comparer.
6
SICOM 2- FILTRAGE ET FILTRES NUMÉRIQUES . F.ABDI DGE, FST FES
Concevoir et visualiser un filtre elliptique, d'ordre 9, analogique puis discret ayant les
caractéristiques Rs= 3, Rp=500. Observer et comparer.
Manip2 :
Concevoir un filtre passe bas RII de type elliptique avec le gabarit suivant :
7
SICOM 2- FILTRAGE ET FILTRES NUMÉRIQUES . F.ABDI DGE, FST FES
SPTOOL est un outil qui simplifie les calculs que l’on peut faire avec MATLAB.
L’interface de SPTOOL permet de créer ou d’importer des signaux et des filtres et d’observer
(avec l’outil FVTOOL5) le résultat du filtrage numérique en temporel et en fréquentiel (outil
FDATool). Toutes les opérations effectuées sous ces outils sont obtenues par des calculs que l’on
peut exécuter pas par pas dans la ligne de commande Matlab. L’utilisateur peut revenir aux calculs
en utilisant les fonctions :
Pour SPTOOL et FVTOOL : plot, stem, linspace, logspace, fft, spectrum, filter, freqz,
zplane, roots, poly,…
Pour FDATOOL : les mêmes plus les fonctions de synthèse de FIR/IIR : filt1, filt2, butter,
buttord, ellip, ellipord, yulewalk …
Partant d'une fréquence d'échantillonnage de 5000 Hz, générer un vecteur signal de 5000
points. Donner les valeurs normalisées des fréquences?
Concevoir un filtrer elliptique capable d'éliminer la composante à 1500 Hz. Visualiser les
signaux et leur spectres respectifs à l'entrée et à la sortie du filtre.
8
SICOM 2- FILTRAGE ET FILTRES NUMÉRIQUES . F.ABDI DGE, FST FES
Filtrer ce signal par le filtre passe-bande ([500Hz 750Hz], [1250Hz 1500Hz]) "equiripplle" ,
d'ordre 78, et d'ondulations Rp=0.01 et Rs=75.
Activer l'interface "Spectrum Viewer" pour afficher les spectres de puissances des deux
signaux. Comparer les deux spectres (On affichera les deux spectres sur un même graphe (CTRL
+ sélection)). Prélever les caractéristiques principales du spectre du signal filtré.
On veut utiliser la FFT pour réaliser un filtre FIR défini par sa réponse impulsionnelle h(m).
Connaissant H(f), la FFT de h(m), et pour un signal d'entrée x(n), calculer X(f), la FFT de
x(n), multiplier les deux FFT terme à terme : Y(f)= H(f ) X(f ))
restituer la FFT inverse y(n) : y(n) =IFFT (H(f ) X(f )) Avec H(f ) =FFT( h(m )) et X(f )
=FFT( x(n ))
2. Tester la procédure en utilisant le filtre défini par h= ones(1,M)/M sur un sinusoïde avec
un bruit additif gaussien (utilise la fonction y = wgn(m,n,p) pour générer le bruit blanc ou la
fonction Y = awgn(X,SNR) pour bruiter directement par un bruit blanc avec un SNR fixé.