Concevoir un simple filtre Buterworth de bande passante IIR d'ordre 2 avec une fréquence centrale de 500 Hz et une bande passante de 1 octave me donne la réponse en fréquence suivante ...
Maintenant, si je prends la réponse impulsionnelle et la normalise et la convertis en dB, nous pouvons observer la décroissance de la réponse impulsionnelle.
La décroissance de la réponse impulsionnelle est approximativement linéaire avec le temps lorsqu'elle est tracée sur cette échelle, ce qui nous permet de définir une statistique de temps de décroissance (tout comme dans l'acoustique de la pièce où vous pouvez définir le temps de réverbération). Pour que la réponse impulsionnelle de ce filtre tombe en dessous de 30 dB, il faut environ 11 ms.
Nous essayons de minimiser ce temps de décroissance en maintenant la constante suivante:
- -3 dB de bande passante
- Ordre des filtres
Je suis heureux d'accepter (dans certaines limites) l'ondulation de la bande passante et de la bande d'arrêt, et / ou un compromis sur la pente de la bande de transition pour y parvenir. Quelqu'un peut-il suggérer une méthode de filtrage avec la durée de réponse impulsionnelle la plus courte possible définie ci-dessus?
Réponses:
La réponse en fréquence du filtre de Butterworth est le résultat de formules spécifiques et sa caractéristique est la réponse en fréquence à bande passante plate. Par conséquent, si les coefficients du filtre IIR sont modifiés de quelque façon que ce soit, le filtre pourrait ne pas conserver les caractéristiques "Butterworth".
En plus des réponses de "Hilmar" et "Jason R", vous pourriez peut-être traiter cela comme un problème d'optimisation d'une fonction de fitness qui capture vos spécifications.
Vous pouvez par exemple commencer par une conception (par exemple un filtre Butterworth), puis utiliser une technique d'optimisation pour déplacer les zéros et les pôles autour de leur emplacement (ou modifier la conception en ajoutant / supprimant des pôles et des zéros) en essayant d'atteindre vos spécifications (une plus nette roll-off dans le domaine temporel en maintenant la bande passante et l'ordre des filtres).
Le long de cette ligne, un grand travail a été effectué sur la conception de filtres avec des algorithmes génétiques (et ici ) et un recuit simulé (et ici ) que vous pourriez trouver utiles.
la source
Il n'y a pas de solution miracle, je le crains. Vous pouvez utiliser un filtre elliptique pour contrôler indépendamment l'ondulation de la bande passante et l'atténuation de la bande d'arrêt, mais vous constaterez que le taux de décroissance est étroitement lié à la pente et à la bande passante globale du filtre. Vous pouvez accélérer considérablement la décroissance du filtre en réduisant l'ordre du filtre à 1, mais là encore, le filtre sera beaucoup moins raide.
la source