Introduction à la conception des filtres IIR

Les filtres Infinite Impulse Response (IIR) sont une pierre angulaire du traitement numérique du signal, offrant une sélectivité de fréquence efficace avec moins de coefficients que leurs homologues Finite Impulse Response (FIR). Le calcul d'une fonction de transfert de filtre IIR à partir d'un ensemble de spécifications de performance est un processus systématique qui combine la théorie des prototypes analogiques avec les techniques de transformation numérique. Ce guide offre une approche complète et progressive de la conception des filtres IIR, couvrant tout, de l'interprétation des spécifications à l'obtention d'une expression pratique H(z).

Comprendre les spécifications du filtre

Chaque conception de filtre commence par un ensemble clair d'exigences. Plus précisément celles-ci sont définies, plus il devient facile de choisir un prototype approprié et de déterminer l'ordre requis.

  • Frequence de bord de bande passante (.]p[):[La fréquence supérieure (ou inférieure) de la bande passante, souvent donnée en radians par seconde ou en Hz.
  • Frequence de bord de bande (-]s):[ La fréquence au-delà de laquelle l'atténuation doit être au moins la valeur de stopband spécifiée.
  • Onduleur de bande passante (-]p):[ La variation maximale admissible du gain dans la bande passante, exprimée en décibels (dB) sous la forme de Ap = 20 log10(1+шp) ou directement sous la forme d'une valeur dB (p. ex., 1 dB).
  • Atténution de bande d'arrêt (As):[ L'atténuation minimale requise dans le bouchon, exprimée en dB (p. ex., 60 dB), ce qui équivaut au gain maximal autorisé de bande d'arrêt.
  • Type d'engrais:[ Passage bas, passage haut, passage bande, arrêt bande ou passage tout-terrain. Chacun nécessite une transformation de fréquence différente.
  • Frequence d'échantillonnage (Fs):[Criticale pour l'implémentation numérique, car toutes les fréquences analogiques doivent être normalisées à la plage de Nyquist (0 à F]s/2).

D'autres considérations peuvent inclure les exigences de linéarité de phase (souvent mieux satisfaites par les filtres Bessel ou FIR) et les limites de ressources de calcul. Toutes les spécifications doivent être enregistrées à la fois dans des domaines analogiques (préchauffés) et numériques pour éviter toute confusion pendant la transformation.

Sélection du filtre Prototype

Le prototype est un filtre analogique à passe-bas avec une fréquence de coupure normalisée de 1 rad/s. Quatre prototypes classiques sont largement utilisés, chacun offrant un compromis différent entre l'ondulation de la bande passante, l'atténuation de la bande stop et la linéarité de phase.

Filtre Butterworth

Le filtre Butterworth fournit une réponse maximale à la bande passante plate sans ondulation. Son gain diminue monotoniquement avec la fréquence, et son écoulement est modéré — — 20n dB/décennie pour un filtre de nième ordre. Il est idéal quand une magnitude de bande passante lisse est nécessaire et une atténuation modérée de la bande arrêt est acceptable.

Filtre Chebyshev Type I

Les filtres Chebyshev de type I introduisent l'équiripple dans la bande passante mais obtiennent un roll-off plus raide à la fréquence de coupure par rapport à Butterworth. L'onduleur de bande passante est spécifié (p. ex. 0,5 dB). Ces filtres sont utiles lorsqu'une bande de transition plus nette est nécessaire, mais l'on peut tolérer l'onduleur de bande passante.

Filtre Chebyshev de type II (à l'inverse Chebyshev)

Le type II a une ondulation dans le bouchon et une bande de passe plate. Il offre un roll-off raide juste avant le bouchon, mais le bouchon présente une atténuation équiriple. Ce type est sélectionné lorsqu'une bande de passe plate est obligatoire, mais une certaine variation de bande de stop est acceptable.

Filtre elliptique (Cauer)

Les filtres elliptiques offrent le meilleur pliage possible pour une commande donnée en permettant l'ondulation dans le bandeau et le bandeau. Ils sont optimaux pour les applications nécessitant une sélectivité élevée avec un ordre de filtre faible, comme les filtres anti-aliasing ou la séparation des canaux.

Filtre de Bessel

Les filtres Bessel maximisent la planéité des retards de groupe, en préservant la forme des signaux du domaine temporel. Leur réponse de magnitude est plus lente que Butterworth, ce qui les rend adaptés aux communications basées sur les impulsions ou où la phase linéaire est critique.

Le choix dépend des spécifications. Par exemple, si l'onduleur de la bande passante doit être inférieur à 0,1 dB et qu'une atténuation de la bande arrêtant 60 dB est nécessaire, un design de type I ou elliptique de Chebyshev pourrait être approprié. Des ressources en ligne telles que Butterworth filter, Chebyshev filter[ et Elliptic filter[ fournissent des tables détaillées de fonctions pole-zero et transfert.

Détermination de l'ordre de filtrage requis

Une fois le type de prototype choisi, il faut calculer l'ordre minimal n qui satisfait à la fois l'ondulation de la bande passante et l'atténuation de la bande stop. Pour les filtres Butterworth et Chebyshev, il existe des expressions en forme fermée.

n =[ ceil( log10( (100.1A[s – 1) / (100.1A[p[ – 1) ) / [2 log10( -]s] / -]p ) ) )

où Ap[ et Assssss]ssssss]s[FLT:]ss]ss]s]s]s]s[FLT:]s[FLT:]sss]sss]sss]s]s]s]

Dérivé de la fonction de transfert analogique H(s)

Avec le type et l'ordre de prototype connus, la prochaine étape consiste à obtenir la fonction de transfert normalisée à passe basse H(s) avec une coupure de 1 rad/s. Pour chaque prototype, les pôles (et les zéros pour elliptique/Chebyshev de type II) sont connus analytiquement.

  • Butterworth: Les pôles sont situés sur un cercle de rayon 1 dans le demi-plan gauche à angles (2k+1)π/(2n) + π/2, pour k = 0,1,...,n−1. Pas de zéros finis.
  • Chebyshev Type I:[ Les pôles sont situés sur une ellipse avec des foyers à ± j-p. Le rayon de l'axe mineur est lié au facteur d'ondulation ε = √(10]0.1Ap–1).
  • Chebyshev Type II:[ A à la fois des pôles et des zéros sur l'axe imaginaire (bande d'arrêt). Les zéros sont à s = ± j .s / cos(...).
  • Elliptique: Implique des fonctions elliptiques jacobins; les pôles et les zéros sont disponibles dans les tableaux ou par des routines numériques.

La fonction de transfert est alors formée comme un rapport des polynômes : H(s) = K * N(s) / D(s), où le gain K normalise la réponse de magnitude (p. ex., K = 1 pour l'unité du gain de DC). Pour un prototype de passe-bas, H(s) est faible avec -pass avec --c = 1. De nombreux manuels, tels que Le guide scientifique et ingénieur du traitement numérique des signaux, fournissent des emplacements de pole-zéro tabulés et des polynômes de dénominateur pour les commandes communes.

Application des transformations de fréquence

Le filtre prototype normalisé doit être transformé pour répondre à la fréquence de coupure et au type de filtre souhaité. Les transformations de fréquence remplacent la variable complexe s par une fonction de s qui masquait la réponse du prototype à la bande de passe souhaitée.

Passage inférieur au passage inférieur

Remplacer s par s / -c, où -c est la fréquence angulaire de coupure souhaitée.

Passage inférieur au passage supérieur

Substituer s → -c[ / s. Cela convertit les zéros et les pôles réciproquement, inversant la réponse de magnitude.

Passage inférieur au passage de bande

La transformation bande-pass est s → (s2 + ↓0[2) / (s Δш), où ↓0 est la fréquence centrale et Δ- Δ-la bande passante.

Passage bas vers l'arrêt de bande

Similaire au passe-bande, mais avec s → s Δγ / (s2 + ↓02)[.

Après transformation, la fonction de transfert H(s) est maintenant exprimée en termes de la variable de fréquence angulaire analogique qui correspond aux bords de la bande de passage souhaitée. À ce stade, le filtre est encore un design analogique; l'étape suivante le convertit en filtre numérique.

Discrétisation du filtre à l'aide de la transformation bilinéaire

La méthode la plus utilisée pour convertir l'analogique H(s) en un numérique H(z) est la transformation bilinéaire:

s = (2/T) · (1 – z−1) / (1 + z−1)

T est la période d'échantillonnage. Cette transformation cartographie l'ensemble du plan gauche-demi-s dans le cercle unitaire du plan z, garantissant la stabilité (à condition que le filtre analogique soit stable).

.... = (2/T) tan( ....

Pour compenser, les fréquences de coupure analogiques utilisées dans la transformation doivent être préchauffées. Si la coupure numérique souhaitée est -d (en radians par échantillon), préchauffée à -analog[ = (2/T) tan( --]d/2 ).

La transformation bilinéaire donne une fonction rationnelle dans z−1 du même ordre que le filtre analogique. Les coefficients peuvent être obtenus par substitution algébrique et expansion polynôme, ou plus souvent en utilisant des fonctions de conception de filtre numérique dans des logiciels comme MATLAB=. Il existe des alternatives plus simples : la méthode impulsive-invariante et la conversion z-apparie, mais elles peuvent causer un alias ou ne pas préserver la forme de la réponse de magnitude. La transformation bilinéaire est préférée pour la plupart des modèles IIR parce qu'elle n'assure pas d'alias et préserve les caractéristiques de réponse de magnitude du filtre (sauf pour le déformage, qui est précompensé).

Expression de la fonction de transfert finale H(z)

Après la discrétisation, la fonction de transfert est un rapport de polynômes dans z−1:

H(z) = (b0 + b1 z−1 + ... + bN[ z−N) / (1 + a1 z−1 + ... + aM[ z−M[]]

N et M sont généralement égaux (l'ordre du filtre). Pour une section de deuxième ordre (SOS), les coefficients sont souvent écrits comme suit:

H(z) = (b0 + b1 z−1 + b2 z−2) / (1 + a1 z−1 + a2 z−2)

Les filtres à ordre supérieur doivent être pris en compte dans les sections en cascade du deuxième ordre afin d'améliorer la stabilité numérique et de réduire le bruit de quantification.

y[n] = b0 x[n] + b1 x[n−1] + ... + b]N x[n−N] – a1 y[n−1] – ... – aM y[n−M]

Considérations pratiques

La création d'une fonction de transfert théorique n'est qu'une partie de la conception; la mise en oeuvre réussie exige une attention particulière aux réalités du traitement numérique du signal (DSP) :

  • Effets de quantisation: L'arithmétique de précision finite peut déplacer les emplacements des pôles, causer une instabilité ou modifier la réponse de fréquence.
  • Écalage:[ Il faut mettre à l'échelle les signaux d'entrée et de sortie pour éviter le débordement dans les systèmes à points fixes.
  • Distorsion de phase: Les filtres IIR introduisent une phase non linéaire, qui peut être inacceptable dans certaines applications. Si la linéarité de phase est critique, il faut considérer un filtre FIR ou un prototype de Bessel.
  • Sortir des transitoires:[ La mémoire infinie des filtres IIR provoque un transitoire initial; cela peut être atténué par l'initialisation des variables d'état ou par l'activation d'une période de réchauffement.
  • Contraintes en temps réel: Le nombre d'opérations à accumulation multiple par échantillon a des impacts directs sur le débit. Utilisez un code optimisé et considérez les approximations polynômes pour le calcul des coefficients.

Exemple : Conception d'un filtre Chebyshev de type I à passe basse

Supposons qu'il nous faut un filtre numérique à passe-bas avec les spécifications suivantes:

  • Fréquence de prélèvement: 10 kHz
  • Bord de bande passante: 2 kHz (-)p = 0,4π rad/échantillon)
  • Bord de bande oblique: 3 kHz (-s = 0,6π rad/échantillon)
  • Ondulation de la bande passante: 1 dB
  • Atténuation du bandeau d ' arrêt: 40 dB

Étape 1: Préchauffer les fréquences analogiques en utilisant T = 1/10000 s. ↓p = 2 × 104 tan(0,4π/2) ↓ 2 × 104 × 1,376 ↓ 27520 rad/s; -s = 2 × 104 tan(0,6π/2) ↓ 2 × 104 × 3,077 ↓ 61540 rad/s.

Étape 2: Déterminer l'ordre en utilisant la formule Chebyshev Type I: avec 1 dB d'onduleur et 40 dB d'atténuation, ordre n -4 (arrondi).

Étape 3: Trouver la fonction de transfert de type I de Chebyshev normalisée pour n=4, 1 dB (pôles et gain disponibles dans les tableaux). Exemple de conception standard: H(s) = K / ( (s2 + 0,3473s + 0,8591)(s2 + 0,8506s + 0,3381) .

Étape 4: Appliquer le passe-bas préchauffé à la transformation du passage-bas: remplacer s par s / ↓p.

Étape 5: Appliquer la transformation bilinéaire à la fonction de transfert analogique pré-chauffée. L'utilisation d'un outil ou d'une substitution manuelle donne b et un coefficient pour chaque section de deuxième ordre.

Cet exemple, bien que condensé, illustre l'ensemble du pipeline. Pour le calcul numérique complet, se reporter à la documentation du logiciel DSP ou aux références standard.

Conclusion

La dérivation d'une fonction de transfert de filtre de l'IRI à partir de spécifications est un processus méthodique qui passe de la sélection des exigences à la sélection des prototypes, à la détermination des ordres, à la dérivation des fonctions de transfert analogique, à la transformation des fréquences, à la discrétisation et à la mise en oeuvre.Chaque étape a des fondements mathématiques bien établis et des compromis pratiques.En comprenant ces principes fondamentaux, vous pouvez concevoir des filtres qui répondent à des critères de performance rigoureux avec des frais généraux de calcul minimes.