Filtres FIR vs IIR : structure, stabilité, phase, ordre du filtre, calcul

Ce sont deux filtres numériques qui façonnent la réponse en fréquence d’un signal, mais ils diffèrent selon que les sorties passées interviennent ou non dans le calcul. Un filtre FIR (à réponse impulsionnelle finie) se contente de multiplier les entrées actuelle et passées par des coefficients et de les additionner : sa réponse impulsionnelle s’arrête donc après autant d’échantillons qu’il a de prises. Un filtre IIR (à réponse impulsionnelle infinie) réinjecte aussi les sorties passées dans le calcul : sa réponse impulsionnelle se prolonge donc, en théorie, indéfiniment. Un filtre FIR est toujours stable et devient à phase linéaire si ses coefficients sont symétriques, mais une réponse raide demande beaucoup de prises. Un filtre IIR obtient une réponse raide avec un ordre faible, mais sa phase n’est pas linéaire et il peut devenir instable selon la position de ses pôles.

CritèreFiltre FIRFiltre IIR
Équation aux différences et réponse impulsionnelley[n] = Σh[k]x[n − k] : une somme pondérée des seules entrées ; la réponse impulsionnelle s’arrête après N prisesy[n] = Σb[k]x[n − k] − Σa[k]y[n − k] : les sorties passées sont réinjectées, et la réponse impulsionnelle s’amortit mais se prolonge
Fonction de transfert H(z) et stabilitéPas de dénominateur ; les seuls pôles sont en z = 0, donc il est toujours stable, quels que soient les coefficientsA un dénominateur ; stable seulement si tous les pôles sont à l’intérieur du cercle unité
Réponse en phasePhase linéaire si les coefficients sont symétriques ; le retard de groupe vaut (N − 1)/2 échantillons à toutes les fréquencesPas de phase linéaire ; le retard de groupe varie avec la fréquence et augmente près de la fréquence de coupure
Ordre nécessaire pour une même spécification (exemple)Pour un passe-bas à fs = 48 kHz, avec un bord de bande passante à 4 kHz, un bord de bande atténuée à 5 kHz, 60 dB d’atténuation et 0,5 dB d’ondulation en bande passante, une conception équi-ondulation demande environ 110 prisesUn filtre elliptique qui satisfait la même spécification est d’ordre 7 (4 cellules du second ordre)
Calcul par échantillon de sortieAutant de multiplications-accumulations que de prises : environ 110 dans l’exemple (la symétrie divise à peu près par deux le nombre de multiplications)Environ 5 multiplications par cellule du second ordre : environ 20 dans l’exemple
RetardConstant, (N − 1)/2 échantillons : environ 56 échantillons (environ 1,2 ms) dans l’exempleVarie avec la fréquence : dans l’exemple, environ 9 échantillons aux basses fréquences et environ 75 échantillons au bord de la bande passante
Quantification des coefficients (virgule fixe)La réponse en fréquence change légèrement, mais la stabilité n’est jamais perdueRéaliser directement une équation d’ordre élevé peut déplacer les pôles et causer une instabilité ; on le réalise en cascade de cellules du second ordre (biquads)
Principales méthodes de conceptionMéthode des fenêtres, méthode équi-ondulation (Parks-McClellan)Transformation bilinéaire d’un prototype analogique (Butterworth, Tchebychev, elliptique, etc.)
Usages typiquesCommunications et mesure où la forme d’onde doit être préservée, traitement audio et d’image, filtres de décimation et d’interpolation, filtres adaptatifsAppareils embarqués qui doivent économiser calcul et mémoire, égaliseurs audio, suppression de la composante continue et lissage exponentiel

Les valeurs indiquées sont des ordres de grandeur typiques et varient selon la génération de procédé et le produit.

Quand choisir l'un ou l'autre ?

Filtre FIR
Lorsque la forme d’onde ne doit pas être déformée (mise en forme des impulsions en communications, mesure, traitement audio et d’image), pour les filtres de décimation et d’interpolation, et pour les filtres adaptatifs qui doivent rester stables pendant que leurs coefficients changent. Il demande beaucoup de multiplications-accumulations, mais les DSP et les FPGA peuvent les traiter en parallèle.
Filtre IIR
Lorsque le calcul, la mémoire ou le retard doivent rester faibles. Dans les usages où la distorsion de phase n’a pas d’importance, il fournit avec peu de calcul des réponses raides, des réjecteurs étroits et la suppression de la composante continue.

Questions fréquentes

Que décrivent les noms FIR et IIR ?

La longueur de la réponse impulsionnelle, c’est-à-dire la sortie pour une impulsion (un signal qui vaut 1 seulement en n = 0). La réponse d’un filtre FIR (réponse impulsionnelle finie) revient à 0 après une longueur finie, égale à N pour N prises. Celle d’un filtre IIR (réponse impulsionnelle infinie) se prolonge à cause de la rétroaction : pour y[n] = 0,2x[n] + 0,8y[n − 1], la réponse impulsionnelle vaut 0,2 × 0,8ⁿ, qui tend vers 0 sans jamais s’arrêter.

Quel est l’intérêt de la phase linéaire ?

Toutes les composantes de fréquence sont retardées du même temps, si bien que la forme d’onde dans la bande passante est préservée. Pour un filtre FIR à N prises et à coefficients symétriques, le retard vaut (N − 1)/2 échantillons à toutes les fréquences : 50 échantillons pour 101 prises (environ 1,04 ms à 48 kHz). Un filtre IIR retarde les différentes fréquences de durées différentes, ce qui déforme les impulsions et les échelons.

Pourquoi un filtre IIR peut-il devenir instable ?

Parce qu’il réinjecte la sortie : si un pôle (une valeur de z qui annule le dénominateur de la fonction de transfert) se trouve hors du cercle unité, la sortie croît sans limite. Un filtre du premier ordre comme y[n] = x[n] + 0,5y[n − 1] est stable parce que le coefficient de rétroaction est inférieur à 1 en valeur absolue, mais dans un filtre raide d’ordre élevé, les pôles se regroupent près du cercle unité, et le seul arrondi des coefficients peut en pousser un à l’extérieur. C’est pourquoi on le découpe en cellules du second ordre.

Peut-on supprimer le déphasage d’un filtre IIR ?

Si des données enregistrées sont traitées après coup, appliquer le même filtre une fois vers l’avant puis une fois vers l’arrière annule le déphasage (filtrage à phase nulle). C’est impossible en temps réel, car il faudrait les entrées futures ; les systèmes temps réel corrigent donc le retard de groupe avec un filtre passe-tout, ou choisissent un filtre FIR à phase linéaire.

Vérifier vos connaissances

Quelle est une caractéristique d'un filtre FIR (filtre à réponse impulsionnelle finie) ?

  1. AIl possède une rétroaction de la sortie vers le côté de l'entrée, ce qui permet d'obtenir une réponse raide avec peu de coefficients
  2. BSa réponse impulsionnelle se prolonge indéfiniment, si bien qu'il devient facilement instable lorsque ses coefficients sont quantifiés
  3. CIl n'a pas de rétroaction : il est donc toujours stable, et des coefficients symétriques lui donnent une phase linéaire
Afficher la réponse et l'explication

Réponse : C. Il n'a pas de rétroaction : il est donc toujours stable, et des coefficients symétriques lui donnent une phase linéaire

Un filtre FIR ne fait que multiplier l'entrée actuelle et les entrées passées par des coefficients et les additionner ; il n'a aucune rétroaction de la sortie. Sa réponse impulsionnelle s'arrête après le nombre de coefficients (les prises), et ses pôles ne sont qu'en z = 0 : il est donc stable quelles que soient les valeurs des coefficients. Avec des coefficients symétriques, il a une phase linéaire, qui retarde toutes les composantes fréquentielles du même temps et préserve la forme de l'onde. En contrepartie, une réponse raide demande plus de prises qu'avec un filtre IIR.

Parmi les filtres FIR à 5 prises suivants, lequel a une phase linéaire ?

  1. Ah = {1, 2, 3, 2, 1}
  2. Bh = {1, 2, 3, 4, 5}
  3. Ch = {5, 4, 3, 2, 1}
Afficher la réponse et l'explication

Réponse : A. h = {1, 2, 3, 2, 1}

Si les coefficients d'un filtre FIR sont symétriques par rapport au centre (h[n] = h[N − 1 − n]), la phase est une droite proportionnelle à la fréquence, et toutes les composantes fréquentielles sont retardées des mêmes (N − 1)/2 échantillons. {1, 2, 3, 2, 1} est symétrique par rapport au 3 central : c'est donc un filtre à phase linéaire, avec un retard constant de 2 échantillons. {1, 2, 3, 4, 5} et {5, 4, 3, 2, 1} ne sont ni symétriques ni antisymétriques : leur retard varie donc avec la fréquence.

Quel est le retard de groupe d'un filtre FIR à phase linéaire de 101 prises (à coefficients symétriques) ?

  1. A50 échantillons
  2. B50,5 échantillons
  3. C101 échantillons
Afficher la réponse et l'explication

Réponse : A. 50 échantillons

Le retard de groupe d'un filtre FIR à N prises et à coefficients symétriques vaut (N − 1)/2 échantillons à toutes les fréquences. Pour N = 101, cela donne (101 − 1)/2 = 50 échantillons, soit la position du coefficient central (le 51ᵉ coefficient, h[50]). À une fréquence d'échantillonnage de 48 kHz, cela représente un retard de 50 ÷ 48 000 ≈ 1,04 ms, et en traitement en temps réel, il faut garder à l'esprit que plus il y a de prises, plus le retard est grand.

  1. Quelle combinaison des gains en continu et à la fréquence de Nyquist du filtre IIR passe-bas du premier ordre donné par le lissage exponentiel y[n] = 0,2x[n] + 0,8y[n − 1] est correcte ?
  2. Quelle description de la transformation bilinéaire, utilisée pour concevoir un filtre numérique à partir de la fonction de transfert H(s) d'un filtre analogique, est correcte ?
  3. Quelle précaution est correcte lorsqu'on réalise un filtre IIR d'ordre élevé en virgule fixe avec des coefficients de largeur en bits limitée ?

Questions d'entraînement sur Bases du traitement numérique du signal

Termes clés expliqués

Filtre FIR
Filtre numérique dont la réponse impulsionnelle s'arrête après une longueur finie (filtre à réponse impulsionnelle finie). Il calcule y[n] = Σh[k]x[n − k], en multipliant l'entrée actuelle et les N entrées passées par des coefficients et en additionnant les résultats, et n'a pas de rétroaction de la sortie. Ses pôles ne sont qu'en z = 0 : il est donc toujours stable, quels que soient les coefficients, et des coefficients symétriques lui donnent une phase linéaire, qui retarde toutes les composantes fréquentielles de (N − 1)/2 échantillons. En revanche, une réponse raide demande beaucoup de prises, et chaque échantillon de sortie demande autant de multiplications-accumulations qu'il y a de prises.
Filtre IIR
Filtre numérique qui réinjecte les sorties passées du côté de l'entrée et dont la réponse impulsionnelle se prolonge indéfiniment (filtre à réponse impulsionnelle infinie). Il se calcule avec une équation aux différences comme y[n] = 0,2x[n] + 0,8y[n − 1] (lissage exponentiel), et sa fonction de transfert a un dénominateur. Il obtient une réponse raide avec peu de coefficients, peu de calcul et un faible retard, mais sa phase n'est pas linéaire. Il devient instable si tous ses pôles ne sont pas à l'intérieur du cercle unité, et les filtres d'ordre élevé sont sensibles à la quantification des coefficients : on les réalise donc souvent comme une cascade de cellules du second ordre (biquads). Une méthode courante consiste à le concevoir à partir d'un filtre analogique par la transformation bilinéaire.
Phase linéaire
Propriété d'un filtre dont la réponse en phase est une droite proportionnelle à la fréquence. Toutes les composantes fréquentielles sont alors retardées du même temps (le retard de groupe est constant), si bien que la forme d'onde est préservée. Un filtre FIR a exactement une phase linéaire lorsque ses coefficients sont symétriques (ou antisymétriques) par rapport au centre, avec un retard de (N − 1)/2 échantillons pour N prises. Un filtre IIR stable et causal ne peut pas avoir une phase exactement linéaire : les filtres FIR sont donc très utilisés là où les formes d'onde doivent être préservées, comme en audio, dans les récepteurs de communication et en mesure.
Retard de groupe (temps de propagation de groupe)
Grandeur qui décrit de combien chaque composante fréquentielle d'un signal traversant un filtre est retardée, définie comme l'opposé de la dérivée de la réponse en phase φ(ω) par rapport à la fréquence (−dφ/dω). Si le retard de groupe est le même à toutes les fréquences, l'ensemble de la forme d'onde est simplement retardé, sans être déformé. Un filtre FIR à N prises et à coefficients symétriques a un retard de groupe constant de (N − 1)/2 échantillons. Dans les filtres IIR et les filtres analogiques, le retard de groupe varie avec la fréquence et culmine souvent près de la fréquence de coupure, ce qui déforme les impulsions. Les filtres de Bessel sont conçus pour un retard de groupe plat.
Réponse impulsionnelle
Sortie h[n] d'un système lorsqu'on lui applique l'impulsion unité δ[n] (1 seulement pour n = 0, et 0 ailleurs). Pour un système linéaire et invariant dans le temps (LTI), la sortie pour une entrée quelconque est la convolution de l'entrée par h[n], y[n] = Σx[k]h[n − k] : h[n] décrit donc entièrement le système. Un filtre dont h[n] s'arrête après une longueur finie est un filtre FIR, et un filtre dont h[n] se prolonge indéfiniment est un filtre IIR. La stabilité au sens BIBO exige que Σ|h[n]| soit fini, et la transformée en z de h[n] est la fonction de transfert H(z).
Équation aux différences
Équation qui exprime la sortie d'un système à temps discret comme une somme pondérée de l'entrée actuelle, des entrées passées et des sorties passées. Par exemple, y[n] = x[n] + 0,5y[n − 1] ajoute à l'entrée actuelle la moitié de la sortie précédente. Une équation sans sortie passée dans le membre de droite correspond à un filtre FIR, et une équation avec des sorties passées (avec rétroaction) correspond généralement à un filtre IIR, dont la réponse impulsionnelle se prolonge indéfiniment. Avec des valeurs initiales, elle se calcule pas à pas et se réalise directement en logiciel ou en matériel. Appliquer la transformée en z aux deux membres donne la fonction de transfert H(z).
Transformée en z
Méthode qui convertit un signal à temps discret x[n] en une fonction du nombre complexe z, X(z) = Σx[n]z^(−n). Un retard d'un échantillon correspond à une multiplication par z⁻¹ : une équation aux différences peut donc être traitée comme une fraction rationnelle en z (la fonction de transfert H(z)). Les valeurs de z qui annulent le dénominateur de H(z) s'appellent des pôles, et celles qui annulent le numérateur des zéros ; un système causal est stable lorsque tous ses pôles sont à l'intérieur du cercle unité. L'évaluation sur le cercle unité, avec z = e^(jω), donne la réponse en fréquence. C'est l'équivalent en temps discret de la transformée de Laplace.
Filtre à moyenne mobile
Le filtre passe-bas le plus simple, qui fournit en sortie la moyenne des N derniers échantillons. Il s'écrit y[n] = (x[n] + x[n − 1] + … + x[n − N + 1])/N : c'est un filtre FIR dont tous les coefficients valent 1/N. Son gain en continu vaut 1, et son gain est nul aux multiples entiers de fs/N : faire la moyenne sur un intervalle qui correspond exactement à la période du secteur, par exemple, supprime le bruit à la fréquence du secteur et à ses harmoniques. Ses coefficients sont symétriques : il a donc une phase linéaire, avec un retard de (N − 1)/2 échantillons. En mettant à jour la somme par l'ajout de l'échantillon le plus récent et le retrait du plus ancien, on le calcule avec peu d'opérations, quel que soit N.

Comparatifs associés