design_riia
Design RII d'après un prototype analogique classique.
Espace de nom : tsd::filtrage
Prototype
FRat<cfloat> design_riia(entier n, cstring type, cstring prototype, float fc, float δ_bp=0.1f, float δ_bc=60)
Paramètres
n | Ordre du filtre. |
type | Type de filtre ("lp" pour passe-bas, "hp" pour passe-haut, ...) |
prototype | "butt", "cheb1", "cheb2" ou "ellip" |
fc | Fréquence de coupure normalisée (entre 0 et 0,5) |
δ_bp | Ondulation maximale en decibels dans la bande passante (utilisé seulement pour un filtre de Chebychev de type I ou un filtre elliptique). |
δ_bc | Atténuation minimale en decibels dans la bande coupée (utilisé seulement pour un filtre de Chebychev type II ou un filtre elliptique). |
Retourne
h Fonction de transfert (digitale)
Description
Cette fonction renvoie une fonction de transfert discrète, sous forme de pôles et de zéros (idéal pour une implémentation sous la forme de sections du second ordre, voir filtre_sois()). Les prototypes supportés sont les suivants :
- Butterworth (pas d'ondulation, bande de transition large)
- Chebychev type I (ondulations dans la bande passante)
- Chebychev type II (ondulations dans la bande coupée)
- Elliptique (ondulations partout, mais bande de transition la plus étroite)
Le filtre est d'abort conçu dans le domaine analogique (transformée de Laplace), puis converti en filtre digital (transformée en z) grâce à la transformée bilinéaire.
Exemple
