Filtrage Numérique
Ce matériel couvre les principes fondamentaux du filtrage numérique, destiné aux étudiants en traitement du signal et en électronique numérique. Il présente les types de filtres numériques, leurs spécifications, méthodes de synthèse, ainsi que des exemples de programmation sous Matlab pour illustrer leur conception et analyse.
D'après le document Filtrage Numérique
Cet article a été rédigé automatiquement à partir du document source, puis vérifié avant publication.
Document source
Signal Processing, Digital Filters, Programming · PDF · 41 pages
Afficher l'aperçu du document
Ce matériel couvre les principes fondamentaux du filtrage numérique, destiné aux étudiants en traitement du signal et en électronique numérique. Il présente les types de filtres numériques, leurs spécifications, méthodes de synthèse, ainsi que des exemples de programmation sous Matlab pour illustrer leur conception et analyse.
Introduction au filtrage numérique
Le filtrage numérique est utilisé pour modifier ou extraire certaines composantes fréquentielles d'un signal discret. Il offre une grande souplesse grâce à la possibilité de changer les coefficients, de mettre en série plusieurs filtres, et présente une meilleure stabilité face au bruit et aux variations de température ou de temps.
Exemples d'applications :
- Réduction de bruit dans des signaux radio, images ou audio.
- Modification ciblée de zones fréquentielles dans un signal audio ou une image.
- Limitation à une bande fréquentielle prédéfinie.
- Fonctions spéciales comme la dérivation, l’intégration ou la transformée de Hilbert.
Un exemple concret est le décodage DTMF en téléphonie, où un signal est la somme de deux sinusoïdes de fréquences normalisées. La reconnaissance des touches repose sur une série de filtres passe-haut, passe-bas, puis passe-bande suivis de détecteurs.
Représentation d’un filtre numérique
Un filtre numérique peut être spécifié de plusieurs façons :
- Fonction de transfert en z : H(z) = N(z)/D(z), où N(z) est le polynôme du numérateur et D(z) celui du dénominateur. Si D(z) ≠ 1, le filtre est à Réponse Impulsionnelle Infinie (RII). Si D(z) = 1, il s'agit d'un filtre à Réponse Impulsionnelle Finie (RIF).
- Réponse impulsionnelle : h(n) est la transformée inverse de H(z). La sortie y(n) est la convolution de l'entrée x(n) avec h(n), soit y(n) = x(n) * h(n). Si h(n) est de support fini, le filtre est RIF ; sinon, il est RII.
- Équation aux différences : y(n) dépend des valeurs courantes et passées de l'entrée x(n) et des valeurs passées de la sortie y(n). Si les coefficients associés aux sorties précédentes sont nuls, le filtre est non récursif (RIF), sinon récursif (RII).
Spécifications des filtres numériques
Avant conception, il faut définir les caractéristiques du filtre :
- Filtres passe-bas : laissent passer les fréquences inférieures à une fréquence de coupure fc, bloquent les supérieures.
- Filtres passe-haut : bloquent les fréquences inférieures à fc, laissent passer les supérieures.
- Filtres passe-bande : laissent passer les fréquences autour d’une fréquence centrale f0 (ou entre f1 et f2), bloquent les autres.
- Filtres réjecteur-de-bande : bloquent les fréquences autour d’une fréquence centrale f0 (ou entre f1 et f2), laissent passer les autres.
Les transitions entre bandes passantes et atténuées ne sont pas idéales et se font dans une zone de transition dont la largeur exprime la sélectivité du filtre. Les bandes contiennent aussi des ondulations, caractérisées par des paramètres d’ondulation en bande passante (δ1) et d’atténuation (δ2).
Caractérisation des filtres RIF et RII
Les filtres numériques se divisent en deux grandes catégories :
- Filtres à Réponse Impulsionnelle Finie (RIF) : la réponse impulsionnelle h(n) est limitée à un nombre fini d’échantillons M. Ces filtres sont toujours stables et non récursifs (N=0 dans l’équation aux différences).
- Filtres à Réponse Impulsionnelle Infinie (RII) : la réponse impulsionnelle est infinie, avec mémorisation des sorties précédentes (N≥1). Ces filtres sont récursifs et leur stabilité doit être vérifiée.
Synthèse des filtres à Réponse Impulsionnelle Infinie (RII)
La synthèse d’un filtre numérique RII consiste à trouver une fonction H(z) respectant un gabarit de spécifications. Les méthodes principales sont :
- Conversion d’un filtre analogique H(p) en numérique H(z) via une transformation du plan p vers le plan z.
- Synthèse directe en z par optimisation numérique.
La synthèse analogique utilise des filtres types comme Butterworth ou Chebyshev :
- Filtre de Butterworth : réponse fréquentielle définie par la fonction
|H(jω)|^2 = 1 / (1 + (ω/ωc)^(2N))
- Filtre de Chebyshev de type I : réponse fréquentielle définie par
|H(jω)|^2 = 1 / (1 + ε^2 * C_N^2(ω/ωc))
où C_N(x) est le polynôme de Chebyshev de degré N, ε règle l’ondulation en bande passante.
Méthode de l’invariance impulsionnelle
On échantillonne la réponse impulsionnelle d’un filtre analogique connu. Cette méthode est adaptée aux filtres analogiques à bande limitée. Elle entraîne une périodisation du spectre, donc la condition de Shannon doit être respectée.
Transformation bilinéaire
Cette méthode consiste à :
- Définir le gabarit numérique.
- Convertir ce gabarit en domaine analogique par la relation entre fréquences analogiques fa et numériques fd.
- Synthétiser le filtre analogique (Butterworth, Chebyshev, etc.).
- Transformer le filtre analogique Ha(s) en filtre numérique Hd(z) via la transformation bilinéaire.
Exemple : un filtre de Butterworth analogique est transformé en filtre numérique en appliquant la transformation bilinéaire, ce qui conserve l’ordre du filtre et la fréquence de coupure adaptée.
Synthèse des filtres à Réponse Impulsionnelle Finie (RIF)
Un filtre RIF est défini par une fonction de transfert H(z) avec une réponse impulsionnelle h(n) de longueur finie N. Ces filtres sont uniquement numériques et leurs méthodes de synthèse ne dérivent pas des filtres analogiques. Les principales méthodes sont :
- Fenêtrage (windowing) : appliquer une fenêtre de taille N à la réponse impulsionnelle idéale infinie.
- Échantillonnage fréquentiel : utiliser la Transformée de Fourier Discrète inverse d’une fonction discrète représentative du filtre.
- Optimisation : minimiser un critère d’erreur entre la réponse réelle et idéale, notamment via la méthode de Parks and McClellan.
Méthode de la fenêtre
À partir du gabarit fréquentiel, on détermine la longueur N du filtre RIF. La réponse impulsionnelle idéale h(n) est symétrique pour assurer une phase linéaire. Comme h(n) est infinie, on la tronque à N échantillons en la pondérant par une fenêtre w(n).
Exemple de fenêtre : la fenêtre rectangulaire, qui engendre des ondulations égales en bande passante et atténuée, et limite la raideur de la coupure.
Pour rendre la réponse causale, on décale h(n) de N/2 échantillons, ce qui correspond à un déphasage linéaire en fréquence.
Choix de la fenêtre
Les critères de qualité sont :
- l : largeur du lobe principal en fréquence.
- A : amplitude des lobes secondaires (ondulations).
La relation entre la longueur N de la fenêtre et la largeur de la bande de transition ΔF est :
N * ΔF = constante
Différents types de fenêtres et leurs caractéristiques :
| Fenêtre | Amplitude des lobes secondaires A (dB) | Largeur du lobe principal l | Bande de transition ΔF |
|---|---|---|---|
| Rectangulaire | -13 | 4/N | 0.9/N |
| Hanning | -31 | 8/N | 3.1/N |
| Hamming | -41 | 8/N | 3.3/N |
| Blackman | -57 | 12/N | 5.5/N |
On ne peut pas réduire simultanément la largeur du lobe principal et l’amplitude des lobes secondaires. Le choix de la fenêtre dépend des spécifications en ondulation δ2 et en bande de transition ΔF.
Autres méthodes de synthèse RIF
- Méthode itérative par Transformée de Fourier Discrète (TFD) : on initialise h(n), on calcule la TFD, on force les valeurs hors gabarit, puis on inverse la TFD et tronque, répétant jusqu’à convergence.
- Moindres carrés : minimisation de l’erreur quadratique entre la fonction de transfert réelle et idéale.
- Approximation de Tchebycheff : approximation polynomiale assurant des ondulations d’amplitude constante.
Réalisation pratique des filtres RIF
Un filtre RIF causal de longueur N s’implémente par :
- Retard (registre à décalage)
- Opérations arithmétiques (+ et *)
- Registres pour pondération
La réalisation est non récursive, ce qui garantit la stabilité.
Exemples de programmes sous Matlab
Conception de filtres RIF
- firpm : conception de filtres FIR à phase non linéaire et réponse en ondulation égale.
- fir1 : conception de filtres FIR par méthode de fenêtrage.
- fir2 : conception par échantillonnage fréquentiel.
- fircls, fircls1, firls : conception par moindres carrés.
- firpmord : estimation de l’ordre du filtre pour Parks-McClellan.
- kaiserord : estimation des paramètres pour fenêtre de Kaiser.
Conception de filtres RII
- buttord, butter : filtres Butterworth.
- cheb1ord, cheby1 : filtres Chebyshev type I.
- cheb2ord, cheby2 : filtres Chebyshev type II.
- ellipord, ellip : filtres elliptiques (Cauer).
- yulewalk : conception récursive.
Analyse des filtres
- freqz : réponse fréquentielle.
- fvtool : outil de visualisation.
- impz : réponse impulsionnelle.
- zplane : tracé des pôles et zéros.
- grpdelay, phasedelay, phasez : analyse des délais et phases.
Exemple 1 : Filtre RII passe-bas d’ordre 2
Spécifications :
- Fréquence de coupure passe-bande Fp = 1 kHz
- Fréquence de coupure bande atténuée Fs = 3 kHz
- Ondulation δ1 = 1 dB
- Atténuation δ2 = -20 dB
- Fréquence d’échantillonnage Fe = 10 kHz
La fonction de transfert obtenue par méthode bilinéaire sur un filtre de Chebyshev est :
b = [0.079 2*0.079 0.079]; a = [1 -1.2 0.516];
On peut visualiser la réponse impulsionnelle, la réponse fréquentielle en module et phase, et tracer les pôles et zéros pour vérifier la stabilité.
Exemple 2 : Filtre RIF passe-bas
Deux filtres sont comparés avec N=11 et N=7 coefficients :
b11 = [0 -0.0309396 -0.0390182 0.0766059 0.288307 0.4 0.288307 0.0766059 -0.0390182 -0.0309396 0]; b7 = [-0.0409365 0.078369 0.289996 0.4 0.289996 0.078369 -0.0409365];
Les réponses fréquentielles sont tracées pour comparer la qualité du filtre selon le nombre de coefficients.
Exemple 3 : Filtre passe-bas par approximation de Chebyshev type I
Spécifications :
- Fe = 3000 Hz
- Fréquence de coupure analogique et numérique calculées
La fonction Matlab suivante réalise la conversion et compare réponses impulsionnelles et fréquentielles analogiques et numériques :
Fe=3000; [n,wn]=cheb1ord(2*pi*1000,2*pi*1200,1,40,'s'); [N,D]=cheby1(n,1,wn,'s'); [B,A]=impinvar(N,D,Fe); t=0:1/(5*Fe):.02; ha=real(exp(t'*(roots(D).'))*residue(N,D)); h=filter(B,A,[1;zeros(49,1)]);
On observe que l’ordre du filtre est conservé, la réponse impulsionnelle est proche, et la réponse fréquentielle numérique est périodique à cause de l’échantillonnage.
Glossaire des termes clés
- Filtre RIF (Réponse Impulsionnelle Finie) : filtre dont la réponse impulsionnelle est finie et non récursive.
- Filtre RII (Réponse Impulsionnelle Infinie) : filtre récursif avec réponse impulsionnelle infinie.
- Fonction de transfert H(z) : relation entre entrée et sortie dans le domaine z.
- Réponse impulsionnelle h(n) : sortie du filtre à une impulsion d’entrée.
- Fenêtrage : méthode de synthèse RIF consistant à tronquer la réponse impulsionnelle idéale par une fenêtre.
- Transformation bilinéaire : méthode de conversion d’un filtre analogique en filtre numérique.
- Polynôme de Chebyshev : polynôme utilisé pour définir la réponse fréquentielle des filtres Chebyshev.
- Ondulation δ1, δ2 : amplitude des variations en bande passante et en bande atténuée.
- Phase linéaire : propriété d’un filtre RIF symétrique assurant un déphasage proportionnel à la fréquence.
- Convolution : opération temporelle liant l’entrée, la réponse impulsionnelle et la sortie du filtre.
Points clés à retenir
- Les filtres numériques sont classés en RIF (non récursifs, réponse impulsionnelle finie) et RII (récursifs, réponse impulsionnelle infinie).
- La fonction de transfert H(z) et la réponse impulsionnelle h(n) sont deux représentations fondamentales d’un filtre.
- La synthèse des filtres RII s’appuie souvent sur la conversion de filtres analogiques (Butterworth, Chebyshev) via des transformations (bilinéaire, invariance impulsionnelle).
- Les filtres RIF sont conçus directement dans le domaine discret, souvent par fenêtrage ou optimisation (Parks-McClellan).
- Le choix de la fenêtre dans la méthode de fenêtrage influence la sélectivité et les ondulations du filtre.
- La causalité des filtres RIF est assurée par un décalage temporel de la réponse impulsionnelle.
- Les outils Matlab permettent de concevoir, analyser et visualiser facilement les filtres numériques.
Commentaires
Aucun commentaire pour le moment. Posez la première question.