Fonctions > Traitement du signal > Filtrage numérique > Exemple : Conception d'un filtre IIR
  
Exemple : Conception d'un filtre IIR
Utilisez les fonctions bessel, butter, cheby1, cheby2, iirlow, iirhigh, iirpass et iirstop pour générer les coefficients d'un filtre analogique passe-bas du type donné. Utilisez les coefficients en tant qu'arguments de l'une des fonctions iir, qui mettent à l'échelle et effectuent une transformation bilinéaire pour produire la réponse en fréquence requise.
* 
Pour les filtres passe-bas et passe-haut de même ordre N, toutes les sections sont d'ordre 2, avec trois coefficients dans chaque colonne. Si l'ordre est impair, la dernière section est d'ordre 1. Dans le cas des filtres passe-bande et coupe-bande, la conversion en un filtre numérique double l'ordre de chaque section.
Les fonctions gain et response acceptent des tableaux de coefficients dans la forme produite par ces fonctions. Le gain complexe est obtenu en multipliant les gains des différentes sections, et la réponse en introduisant la réponse de chaque section dans la section suivante.
Ces fonctions implémentent des algorithmes dans le Chapitre 7 des algorithmes de traitement du signal par Samuel Stearns et Ruth David (Prentice Hall, Inc.).
Filtre de Chebyshev passe-bas de type I
1. Définissez l'ordre, le paramètre d'ondulation et la fréquence de coupure.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
2. Utilisez les fonctions iirlow et cheby1 pour générer les coefficients de filtre.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
* 
Le filtre A possède quatre sections quadratiques.
3. Tracez la magnitude du gain, puis utilisez un marqueur horizontal pour marquer le niveau d'ondulation.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Etant donné que la fonction de transfert est un produit de facteurs quadratiques, le tracé des pôles sur le plan complexe est évident.
4. Déterminez les racines complexes de chaque facteur du dénominateur.
Cliquez pour copier cette expression
* 
Les pôles de la fonction de transfert du filtre A sont les racines des quadratiques dont les coefficients sont indiqués par les colonnes impaires de A, en commençant par le coefficient du terme quadratique.
5. Recherchez une racine pour chaque facteur du dénominateur.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
6. Indiquez les racines conjuguées.
Cliquez pour copier cette expression
7. Affichez les pôles de la fonction de transfert et tracez-les sur le plan complexe. Ajoutez un tracé de cercle d'unité pour référence.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Le tracé indique que les huit pôles se trouvent à l'intérieur du cercle unitaire, de telle sorte que le filtre est stable, comme requis.
8. Utilisez la fonction max pour vérifier numériquement que tous les huit pôles sont compris dans le cercle unité.
Cliquez pour copier cette expression
9. Appliquez la fonction response, puis tracez la réponse impulsionnelle du filtre A. Indiquez un vecteur de longueur 1 représentant une impulsion unitaire en tant que premier argument.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Bien que la longueur de la réponse soit infinie, celle-ci chute à une valeur proche de 0 après les 80 premiers termes. La condition de stabilité garantit que la somme des valeurs absolues de la réponse est bornée.
Filtre de Chebyshev passe-bas de type II
1. Définissez les paramètres d'un filtre de Chebyshev de type II.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
2. Utilisez la fonction tan pour calculer l'échelle.
Cliquez pour copier cette expression
* 
Voir la théorie de Stearns et David pour les détails de ce calcul : ce nombre est toujours supérieur à 1.
3. Utilisez les fonctions iirlow et cheby2 pour calculer les coefficients d'un filtre IIR passe-bas d'ordre 5, avec une fréquence de coupure f=pass.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
* 
La matrice des coefficients possède deux sections quadratiques et une section linéaire.
4. Utilisez la fonction gain pour calculer le gain à chaque fréquence, puis tracez la réponse de fréquence. Utilisez les marqueurs pour afficher les fréquences pass et stop, ainsi que l'inverse du niveau d'atténuation.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Le tracé de la réponse indique dans quelle mesure les critères de conception sont satisfaits. Les marqueurs permettent de constater que la bande de coupure commence à l'emplacement requis (l'intersection des lignes stop et 1/atten) et que le passe-bande se termine à la droite de la fréquence de coupure.
5. Utilisez les fonctions iirlow et cheby2 pour répéter le dessin précédent en utilisant une plus grande atténuation.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
* 
Des atténuations plus importantes nécessitent des filtres d'ordre plus élevé afin que la largeur de la bande de transition diminue jusqu'à la valeur requise. Essayez un filtre d'ordre 5 et un filtre d'ordre 8, et comparez les résultats.
6. Tracez le gain de filtre d'ordre 5 en dB. Utilisez des marqueurs pour marquer la fréquence de transmission et l'atténuation de 30 dB désirée.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
7. Tracez le gain d'un filtre d'ordre 8 en dB. Utilisez des marqueurs pour marquer la fréquence de transmission et l'atténuation de 30 dB désirée.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Tandis que le gain en dessous de la ligne de -30 dB est similaire pour les deux filtres aux alentours de la fréquence d'arrêt, le gain du filtre d'ordre 8 reste plat au-delà de la fréquence de coupure. Cela signifie qu'un filtre d'ordre 8 est requis pour obtenir l'atténuation souhaitée de 1000.
Calcul du facteur d'échelle
Les équations ci-dessous indiquent la définition du facteur d'échelle pour les filtres passe-haut, passe-bande et coupe-bande.
Filtre passe-haut :
Cliquez pour copier cette expression
Filtre passe-bande :
Cliquez pour copier cette expression
Les paramètres pass1 et pass2 sont les extrémités inférieure et supérieure de la bande passante et les paramètres stop1 et stop2 sont les extrémités des deux bandes de coupure.
Filtre coupe-bande :
Cliquez pour copier cette expression
Les paramètres pass1 et pass2 sont les extrémités des deux bandes passantes et les paramètres stop1 et stop2 sont les extrémités inférieure et supérieure de la bande de coupure.
1. Définissez les paramètres pour un filtre passe-bande :
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
2. Calculez l'échelle d'un filtre passe-bande en utilisant les paramètres précédents.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
3. Calculez les coefficients du filtre passe-bande ci-dessus.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
4. Tracez la réponse en dB et indiquez les marqueurs stop et pass.
Cliquez pour copier cette expression
L'extrémité droite de la bande de coupure se situe exactement à l'emplacement correct, tandis que l'extrémité gauche de la bande de coupure est juste au-dessus de la valeur de la fréquence cible. Cela signifie que cette bande de transition est plus étroite que nécessaire.
Filtre de Bessel passe-bas
Un filtre de Bessel est renvoyé en tant que section unique.
1. Définissez les paramètres du filtre de Bessel.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
* 
Le paramètre d'échelle peut être utilisé pour contrôler le gain à la fréquence de coupure.
2. Utilisez la fonction bessel pour calculer les coefficients du filtre de Bessel.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
3. Tracez le gain et indiquez le gain à la fréquence de coupure.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
4. Modifiez le gain inférieur à la fréquence de coupure afin d'augmenter l'atténuation dans la bande de coupure à l'aide du facteur d'échelle.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
R est la fonction de transfert analogique correspondant aux coefficients analogiques B1.
5. Utilisez la fonction root, avec une valeur initiale de 1, pour rechercher le point auquel la fonction de transfert analogique R est égale à 0.8 à la fréquence de coupure.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Le marqueur d'échelle traverse la courbe de gain à 0.8.
* 
La valeur initiale doit être un nombre positif, afin qu'elle résulte en une valeur d'échelle positive.
6. Recalculez les coefficients du filtre numérique à l'aide du facteur d'échelle calculé.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
7. Tracez la nouvelle réponse en fréquence et indiquez le gain à la fréquence de coupure.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Le tracé indique que la nouvelle réponse en fréquence est dotée d'une transition plus nette vers zéro, une fois passée la fréquence de coupure. L'utilisation du facteur d'échelle entraîne l'augmentation de l'atténuation dans la bande de coupure.
Filtres de Butterworth passe-bande, coupe-bande et passe-haut
L'ordre des coefficients d'entrée est doublé par les fonctions iirpass et iirstop, de telle sorte que des coefficients analogiques d'ordre 4 deviennent un filtre d'ordre 8.
Filtre de Butterworth passe-bande
1. Définissez les paramètres du filtre.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
2. Calculez les coefficients.
Cliquez pour copier cette expression
3. Tracez la réponse. Utilisez les marqueurs verticaux pour afficher les fréquences basses et hautes.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
La réponse indique que les fréquences entre f_lo et f_hi sont transmises. Toutes les autres sont filtrées.
Filtre de Butterworth coupe-bande
1. Définissez l'ordre du filtre.
Cliquez pour copier cette expression
2. Utilisez les fonctions iirstop et butter pour calculer les coefficients.
Cliquez pour copier cette expression
3. Tracez la réponse. Utilisez les marqueurs verticaux pour afficher les fréquences basses et hautes.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
La réponse indique que les fréquences entre f_lo et f_hi sont bloquées. Toutes les autres sont transmises.
Filtre de Butterworth passe-haut
1. Définissez l'ordre du filtre.
Cliquez pour copier cette expression
2. Utilisez les fonctions iirhigh et butter pour calculer les coefficients.
Cliquez pour copier cette expression
* 
Contrairement aux fonctions iirpass et iirstop, la fonction iirhigh ne double pas l'ordre des coefficients d'entrée. Par conséquent, la valeur de l'ordre a été transmise telle quelle à la fonction Butter.
3. Tracez la réponse. Utilisez un marqueur vertical pour afficher la fréquence haute.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
La réponse indique que les fréquences plus élevées que f_hi sont transmises. Toutes les autres sont filtrées.