Différence entre les filtres IIR et FIR: un guide de conception pratique

Un filtre numérique est un algorithme mathématique qui fonctionne sur un ensemble de données numériques (par exemple des données de capteur) afin d’extraire des informations d’intérêt et de supprimer toute information indésirable. Les applications de ce type de technologie incluent la suppression des problèmes des données du capteur ou même le nettoyage du bruit sur un signal mesuré pour faciliter l’analyse des données. Mais comment choisir le meilleur type de filtre numérique pour notre application? Et quelles sont les différences entre un filtre IIR et un filtre FIR?

Les filtres numériques sont répartis dans les deux catégories suivantes:

  • Réponse impulsionnelle infinie (IIR)
  • Réponse impulsionnelle finie (FIR)

Comme son nom l’indique, chaque type de filtre est catégorisé en fonction de la longueur de sa réponse impulsionnelle. Cependant, avant de commencer par une analyse mathématique détaillée, il est prudent d’apprécier les différences de performances et de caractéristiques de chaque type de filtre.

Exemple

Afin d’illustrer les différences entre un IIR et un FIR, la réponse en fréquence d’un FIR du 14ème ordre (ligne continue) et d’un IIR de Tchebychev de type I du 4ème ordre (ligne pointillée) est illustrée ci-dessous à la figure 1. Notez que bien que les spectres de magnitude aient un degré d’atténuation similaire, le spectre de phase du filtre IIR est non linéaire dans la bande passante (\(\small 0\rightarrow7.5Hz\)), et devient très non linéaire à la fréquence de coupure, \(\small f_c = 7.5Hz\). Notez également que le FIR nécessite un nombre plus élevé de coefficients (15 vs 10 de l’IIR) pour correspondre aux caractéristiques d’atténuation de l’IIR.

 FIR vs IIR: réponse en fréquence d'un FIR du 14e ordre (ligne continue) et d'un Chebyshev de type I IIR du 4e ordre (ligne pointillée); Filtre Fir, Filtre IIR
Figure 1: FIR vs IIR: réponse en fréquence d’un FIR du 14e ordre (ligne continue) et d’un Chebyshev de Type I IIR du 4e ordre (ligne pointillée)

Ce ne sont là que quelques-unes des différences entre les deux types de filtres. Un résumé détaillé des principaux avantages et inconvénients de chaque type de filtre va maintenant suivre.

Filtres IIR

Les filtres IIR (réponse impulsionnelle infinie) sont généralement choisis pour les applications où la phase linéaire n’est pas trop importante et la mémoire est limitée. Ils ont été largement déployés dans l’égalisation audio, le traitement du signal des capteurs biomédicaux, les capteurs intelligents IoT / IIoT et les applications de télécommunication / RF à haut débit.

Avantages

  • Faible coût de mise en œuvre: nécessite moins de coefficients et de mémoire que les filtres FIR afin de satisfaire un ensemble similaire de spécifications, à savoir la fréquence de coupure et l’atténuation de la bande d’arrêt.
  • Faible latence: convient au contrôle en temps réel et aux applications RF à très haut débit en raison du faible nombre de coefficients.
  • Équivalent analogique : Peut être utilisé pour imiter les caractéristiques des filtres analogiques à l’aide de transformées de mappage plan s-z.

Inconvénients

  • Caractéristiques de phase non linéaire: Les caractéristiques de phase d’un filtre IIR sont généralement non linéaires, notamment à proximité des fréquences de coupure. Des filtres d’égalisation passe-tout peuvent être utilisés afin d’améliorer les caractéristiques de phase de bande passante.
  • Analyse plus détaillée : Nécessite plus d’analyse de mise à l’échelle et de débordement numérique lorsqu’elle est implémentée en point fixe. La structure du filtre Direct form II est particulièrement sensible aux effets de la quantification et nécessite un soin particulier lors de la phase de conception.
  • Stabilité numérique: Moins stables numériquement que leurs homologues FIR (réponse impulsionnelle finie), en raison des chemins de rétroaction.

Filtres FIR

Les filtres FIR (réponse impulsionnelle finie) sont généralement choisis pour les applications où la phase linéaire est importante et où une quantité décente de mémoire et de performances de calcul sont disponibles. Ils sont largement déployés dans les applications d’amélioration du signal audio et biomédical. Leur structure tout zéro (discutée ci-dessous) garantit qu’ils ne deviennent jamais instables pour aucun type de signal d’entrée, ce qui leur donne un avantage distinct sur l’IIR.

Avantages

  • Phase linéaire: Les sapins peuvent être facilement conçus pour avoir une phase linéaire. Cela signifie qu’aucune distorsion de phase n’est introduite dans le signal à filtrer, car toutes les fréquences sont décalées dans le temps de la même quantité – maintenant ainsi leurs relations harmoniques relatives (c’est-à-dire un retard de groupe et de phase constant). Ce n’est certainement pas le cas des filtres IIR, qui ont une caractéristique de phase non linéaire.
  • Stabilité : Comme les FIR n’utilisent pas les valeurs de sortie précédentes pour calculer leur sortie actuelle, c’est-à-dire ils n’ont pas de rétroaction, ils ne peuvent jamais devenir instables pour tout type de signal d’entrée, ce qui leur donne un avantage distinct sur les filtres IIR.
  • Réponse en fréquence arbitraire : La fonction firarb() de Parks-McClellan et ASN FilterScript permet de concevoir un FIR avec une réponse de magnitude arbitraire. Cela signifie qu’un FIR peut être personnalisé plus facilement qu’un IIR.
  • Performance en point fixe: les effets de la quantification sont moins graves que ceux d’un IIR.

Inconvénients

  • Besoins élevés en calcul et en mémoire: Les FIR nécessitent généralement beaucoup plus de coefficients pour obtenir une coupure nette que leurs homologues IIR. La conséquence en est qu’ils nécessitent beaucoup plus de mémoire et une quantité significativement plus élevée d’opérations MAC (multiples et accumulées). Cependant, les architectures de microcontrôleurs modernes basées sur les cœurs Cortex-M d’Arm incluent désormais la prise en charge matérielle DSP via SIMD (signal instruction, multiple data) qui accélère considérablement l’opération de filtrage.
  • Latence plus élevée: le nombre plus élevé de coefficients, signifie qu’en général un FIR est moins adapté qu’un IIR pour des applications rapides à haut débit. Cela devient problématique pour les applications de contrôle en boucle fermée en temps réel, où un filtre FIR peut avoir un retard de groupe trop important pour atteindre la stabilité de la boucle.
  • Pas d’équivalent analogique: en utilisant la transformée z bilinéaire et adaptée (mappage s-z), un filtre analogique peut être facilement transformé en un filtre IIR équivalent. Cependant, cela n’est pas possible pour un FIR car il n’a pas d’équivalent analogique.

Définitions mathématiques

Comme discuté dans l’introduction, les noms IIR et FIR proviennent des définitions mathématiques de chaque type de filtre, c’est-à-dire qu’un filtre IIR est catégorisé par sa réponse impulsionnelle théoriquement infinie,

\(\ displaystyle
y(n) = \sum_ {k = 0} ^{\infty} h(k)x(n-k)
\)

et un FIR catégorisé par sa réponse impulsionnelle finie,

\(\ si vous avez un problème, vous pouvez le faire.)
\)

Nous allons maintenant analyser tour à tour les propriétés mathématiques de chaque type de filtre.

Définition IIR

Comme vu ci-dessus, un filtre IIR est catégorisé par sa réponse impulsionnelle théoriquement infinie,

\(\ displaystyle y(n) = \sum_{k = 0} ^{\infty} h(k)x(n-k)\)

En pratique, il n’est pas possible de calculer la sortie d’un IIR en utilisant cette équation. Par conséquent, l’équation peut être réécrite en termes d’un nombre fini de pôles \ (\petit p\) et de zéros \ (\ petit q\), tels que définis par l’équation de différence de coefficient constant linéaire donnée par:

\(\displaystyle
y(n) = \sum_{k= 0}^{q} b_k x(n-k) – \sum_{k = 1}^{p} a_ky(n-k)
\)

où, \(\small a_k\) et \(\small b_k\) sont les coefficients polynomiaux du dénominateur et du numérateur du filtre, dont les racines sont égales respectivement aux pôles et aux zéros du filtre. Ainsi, une relation entre l’équation de différence et la transformée en z (fonction de transfert) peut donc être définie en utilisant la propriété de retard de transformée en z de telle sorte que,

\(\displaystyle
\sum_{k=0}^{q}b_kx(n-k)-\sum_{k=1}^{p}a_ky(n-k)\quad\stackrel{\displaystyle\mathcal{Z}}{\longleftrightarrow}\quad\frac{\sum\limits_{k=0}^ q b_kz ^{-k}} {1+\somme\limites_ {k = 1} ^ p a_kz^{-k}}
\)

Comme on le voit, la fonction de transfert est une représentation dans le domaine fréquentiel du filtre. Notez également que les pôles agissent sur les données de sortie et les zéros sur les données d’entrée. Puisque les pôles agissent sur les données de sortie et affectent la stabilité, il est essentiel que leurs rayons restent à l’intérieur du cercle unitaire (c’est-à-dire < 1) pour la stabilité BIBO (entrée bornée, sortie bornée). Les rayons des zéros sont moins critiques, car ils n’affectent pas la stabilité du filtre. C’est la principale raison pour laquelle les filtres FIR (réponse impulsionnelle finie) tous nuls sont toujours stables.

Stabilité BIBO

Un système d’invariant de temps linéaire (LTI) (tel qu’un filtre numérique) est dit entrée bornée, sortie bornée stable ou BIBO stable, si chaque entrée bornée donne lieu à une sortie bornée, comme

\(\displaystyle\sum_{k = 0}^{\infty}\left|h(k)\right | < \infty\)

Où, \(\small h(k)\) est la réponse impulsionnelle du système LTI. En analysant cette équation, il doit être clair que le critère de stabilité de BIBO ne sera satisfait que si les pôles du système se trouvent à l’intérieur du cercle unitaire, car la ROC (région de convergence) du système doit inclure le cercle unitaire. Par conséquent, il suffit de dire qu’un signal d’entrée borné produira toujours un signal de sortie borné si tous les pôles se trouvent à l’intérieur du cercle unitaire.

Les zéros, en revanche, ne sont pas contraints par cette exigence, et par conséquent peuvent se trouver n’importe où sur le plan z, car ils n’affectent pas directement la stabilité du système. Par conséquent, une analyse de stabilité du système peut être entreprise en calculant d’abord les racines de la fonction de transfert (c’est-à-dire les racines des polynômes du numérateur et du dénominateur), puis en traçant les pôles et les zéros correspondents sur le plan z.

Une situation intéressante se présente si des pôles se trouvent sur le cercle unitaire, car le système est dit marginalement stable, car il n’est ni stable ni instable. Bien que les systèmes marginalement stables ne soient pas BIBO stables, ils ont été exploités par les concepteurs d’oscillateurs numériques, car leur réponse impulsionnelle fournit une méthode simple de génération d’ondes sinusoïdales, qui se sont révélées inestimables dans le domaine des télécommunications.

Filtres Biquad IIR

La mise en oeuvre du filtre IIR discutée ici est dite biquad, puisqu’elle comporte deux pôles et deux zéros comme illustré ci-dessous sur la Figure 2. L’implémentation biquad est particulièrement utile pour les implémentations en point fixe, car les effets de la quantification et de la stabilité numérique sont minimisés. Cependant, le succès global de toute implémentation biquad dépend de la précision du nombre disponible, qui doit être suffisante pour que les pôles quantifiés soient toujours à l’intérieur du cercle unitaire.

 Réalisation directe du filtre I (biquad) IIR et fonction de transfert.; Forme directe; Filtre Biquad

Figure 2: Réalisation directe du filtre I (biquad) IIR et fonction de transfert.

En analysant la figure 2, on peut voir que la structure du biquad est en fait composée de deux chemins de rétroaction (mis à l’échelle par \(\small a_1\) et \(\small a_2\)), de trois chemins d’avance d’alimentation (mis à l’échelle par \(\small b_0, b_1\) et \(\small b_2\)) et d’un gain de section, \(\small K\). Ainsi, l’opération de filtrage de la figure 1 peut être résumée par l’équation récursive simple suivante:

\(\displaystyle y(n) = K\ fois \Big-a_1 y(n-1) – a_2 y(n-2)\)

En analysant l’équation, notez que l’implémentation de biquad ne nécessite que quatre additions (ne nécessitant qu’un seul accumulateur) et cinq multiplications, qui peuvent être facilement accommodées sur n’importe quel microcontrôleur Cortex-M. Le gain de section, \(\small K\) peut également être pré-multiplié avec les coefficients de trajet avant la mise en œuvre.

Une collection de filtres Biquades est appelée Cascade de Biquades, comme illustré ci-dessous.

 Cascade de Biquad; Filtre Biquad

Le concepteur de filtres ASN peut concevoir et mettre en œuvre une cascade de jusqu’à 50 biquads (édition professionnelle uniquement).

Implémentation en virgule flottante

Lors de la mise en œuvre d’un filtre en virgule flottante (c’est-à-dire en utilisant une arithmétique à précision double ou simple), les structures de forme directe II sont considérées comme un meilleur choix que la structure de Forme directe I. La structure transposée de Forme directe II est considérée comme la plus précise numériquement pour la mise en œuvre en virgule flottante, car les effets indésirables du submersion numérique sont minimisés, comme le montre l’analyse des équations de différence.

 Structure transposée de forme directe II, équations de fonction de transfert et de différence; Filtres IIR; Filtres Biquad

Figure 3 – Structure transposée de forme directe II, fonction de transfert et équations de différence

Le résumé du filtre (illustré à la figure 4) fournit au concepteur un aperçu détaillé du filtre conçu, y compris un résumé détaillé des spécifications techniques et des coefficients du filtre, ce qui présente un moyen rapide et simple de documenter votre conception.

Le concepteur de filtres ASN prend en charge la conception et la mise en œuvre de filtres IIR à section unique et Biquad (paramètre par défaut).

 Filtre Biquad Concepteur de filtres ASN DSP

Figure 4: spécification détaillée.

Définition FIR

Renvoyant l’équation de différence de coefficient constant linéaire de l’IIR, c’est-à-dire

\(\displaystyle
y(n) = \sum_{k = 0}^{q}b_kx(n-k)- \sum_{k = 1}^{p} a_ky(n-k)
\)

Notez que lorsque nous définissons les coefficients \ (\small a_k\) (c’est-à-dire la rétroaction) à zéro, la définition réduit à notre définition originale de filtre FIR, ce qui signifie que le calcul FIR est uniquement basé sur les valeurs d’entrées passées et présentes, à savoir:

\(\displaystyle
y(n) = \sum_{k= 0}^{q} b_kx(n-k)
\)

Implémentation

Bien qu’il existe plusieurs implémentations pratiques pour les FIR, la structure de forme directe et son cousin transposé sont peut-être les plus couramment utilisés, et en tant que tels, tous les coefficients de filtre conçus sont destinés à une implémentation dans une structure de forme directe.

La structure de forme directe et l’équation de différence associée sont illustrées ci-dessous. La Forme directe est préconisée pour la mise en œuvre en point fixe en vertu du concept d’accumulateur unique.

\(\displaystyle y(n) = b_0x(n) + b_1x(n-1) + b_2x(n-2) +…. +b_qx (n-q) \)

 Forme directe; Structure de forme directe

La structure recommandée (par défaut) dans le Concepteur de filtres ASN est la structure Transposée de Forme directe, car elle offre une précision numérique supérieure lors de l’utilisation de l’arithmétique à virgule flottante. Cela peut être facilement constaté en analysant les équations de différence ci-dessous (utilisées pour la mise en œuvre), car les effets indésirables du submersion numérique sont minimisés, car une addition en virgule flottante est effectuée sur des nombres de magnitude similaire.

\(\displaystyle\begin{eqnarray} y(n) & = & b_0x(n) & + & w_1(n-1) \\w_1(n) & = &b_1x(n) & + & w_2(n-1) \\w_2 (n) & = & b_2x(n) & + & w_3(n-1) \\\ vdots\ quad& = & \quad\vdots& + & \quad\vdots\\w_q(n) & = &b_qx(n) \end {eqnarray}\)

 Forme directe Transposée

Qu’avons-nous appris ?

Les filtres numériques sont répartis dans les deux catégories suivantes:

  • Réponse impulsionnelle infinie (IIR)
  • Réponse impulsionnelle finie (FIR)

Les filtres IIR (réponse impulsionnelle infinie) sont généralement choisis pour les applications où la phase linéaire n’est pas trop importante et la mémoire est limitée. Ils ont été largement déployés dans l’égalisation audio, le traitement du signal des capteurs biomédicaux, les capteurs intelligents IoT / IIoT et les applications de télécommunication / RF à haut débit.

Les filtres FIR (réponse impulsionnelle finie) sont généralement choisis pour les applications où la phase linéaire est importante et où une quantité décente de mémoire et de performances de calcul sont disponibles. Ils sont largement déployés dans les applications d’amélioration du signal audio et biomédical.

ASN Filter Designer fournit aux ingénieurs tout ce dont ils ont besoin pour concevoir, expérimenter et déployer des filtres numériques IIR et FIR complexes pour une variété d’applications de mesure de capteurs. Ces avantages associés à la documentation automatique et à la fonctionnalité de génération de code permettent aux ingénieurs de concevoir et de valider un filtre numérique IIR/FIR en quelques minutes plutôt qu’en quelques heures.