Existe-t-il une règle de base pour calculer l'ordre de filtrage approximatif d'un FIR / IIR en fonction de la bande passante par rapport à la fréquence d'échantillonnage? Je crois me souvenir d'avoir lu à ce sujet une fois au premier cycle. Je pense que vous pourriez faire une estimation grossière comme le scaler * passband / stopband.
J'ai travaillé sur la mise en œuvre de différents filtres FIR / IIR et je voudrais une formule approximative qui dit que si une variable est modifiée, c'est approximativement combien de taps supplémentaires vous auriez besoin pour obtenir des performances similaires.
Réponses:
Ma "règle d'or" préférée pour l'ordre d'un filtre FIR passe-bas est la "règle d'or fred harris":
où delta (f) est la bande de transition, dans les mêmes unités de est la fréquence d'échantillonnage du filtre atten (dB) est la réjection cible en dBFs
Fs
Par exemple, si vous avez une bande de transition de 100 Hz dans un système échantillonné à 1 KHz et que votre exigence de rejet est de 50 dB dans la bande d'arrêt, l'ordre peut être approximé par:
N = 1 KHz / 100 Hz * 50/22 = 23 prises (arrondi)
Merci Fred Harris!
Notez une autre formule plus détaillée qui prend en compte l'ondulation de la bande passante est la formule de Kaiser grâce à James Kaiser de Bell Labs, que j'ai inclus dans mon graphique ci-dessous.
Pour la plupart des applications que j'ai faites, l'approche de fred harris a été très bien, étant donné un certain rejet, les filtres résultants utilisant des algorithmes de conception de filtres traditionnels tels que Parks-McClellan et Remez ont dépassé mes exigences d'ondulation de bande passante après avoir satisfait à l'exigence de rejet. (Ce que je fais habituellement, c'est estimer l'ordre, concevoir le filtre avec cet ordre, inspecter le résultat et augmenter ou diminuer l'ordre à partir de là pour affiner). Les résultats des estimations ne sont que des estimations et peuvent varier considérablement en fonction des paramètres de conception globaux et ne doivent pas être considérés comme une solution exacte.
Pour ceux qui sont familiers avec la conception de filtres utilisant des approches de fenêtre, l'examen du wagon couvert ou de la fenêtre rectangulaire (qui est une troncature simple) révèle pourquoi il faut taps (ce qui équivaut à si les unités pour la fréquence normalisée sont des radians / échantillon comme cela est souvent fait) pour compléter la bande de transition. Voir les images ci-dessous qui expliquent cela.Fs/ Δf 2 π/ Δω
La première image ci-dessous montre le Sinc attendu en fréquence pour une fenêtre rectangulaire dans le temps, puis sous forme discrète, où il s'agit d'une fonction Sinc aliasée, avec le point clé que pour N échantillons dans le temps de la fonction rectangulaire, la réponse en fréquence sera ont son premier nul à f = 1 / N (où f est la fréquence normalisée avec 1 étant la fréquence d'échantillonnage).
Cette image suivante montre l'approche de la fenêtre rectangulaire pour la conception du filtre (que je ne recommanderais jamais mais qui est informative). Le premier tracé dans le coin supérieur gauche montre la réponse en fréquence cible pour notre filtre comme une réponse idéale de "mur de briques". Veuillez ne pas confondre cela avec la "fenêtre du wagon couvert" (ou "fenêtre rectangulaire") qui est également une forme rectangulaire - la fenêtre est dans le domaine temporel!
Afin de réaliser un tel filtre, nous utiliserions la réponse impulsionnelle de la réponse en fréquence souhaitée comme coefficients dans notre filtre FIR (les coefficients du filtre sont la réponse impulsionnelle --- mettez une impulsion dans et sortez tous les coefficients! ). La réponse impulsionnelle pour une réponse en fréquence rectangulaire (brickwall) est l'inverse FT qui est une fonction Sinc, dans le domaine temporel, indiquée dans le coin inférieur gauche comme la "réponse impulsionnelle requise". Une fonction Sinc s'étend à l'infini plus et moins, donc pour réaliser réellement un tel filtre, nous aurions besoin d'un filtre infiniment long et il aurait un retard infiniment long. Évidemment, nous ne pouvons pas le faire, nous tronquons donc les coefficients à quelque chose de réalisable. Plus le filtre est long, plus nous nous rapprochons de la réponse idéale du mur de briques,
La troncature de la réponse impulsionnelle dans le domaine temporel est mathématiquement identique à la multiplication par une fenêtre rectangulaire dans le domaine temporel. (Notez que la réponse impulsionnelle est également retardée de la moitié de la durée de la fenêtre pour que le système soit causal). La multiplication dans le domaine temporel équivaut à la convolution dans le domaine fréquentiel. Le domaine de fréquence (FT) de la réponse impulsionnelle avant la troncature est notre réponse en fréquence de brickwall souhaitée d'origine. La réponse en fréquence pour la fenêtre rectangulaire est une fonction Sinc dans le domaine fréquentiel.
Ainsi, lorsque nous tronquons la réponse impulsionnelle souhaitée (multipliée dans le temps par une fenêtre rectangulaire), nous convolutons la réponse en fréquence souhaitée avec une fonction Sinc, ce qui donne une approximation de notre réponse en fréquence cible, comme indiqué dans le coin supérieur droit de l'image au dessous de.
Une clé à retenir pour les fonctions Sinc en général est que le premier nul est 1 / T où T est la durée de la fonction rectangulaire. Pour un système échantillonné, le premier nul serait à où N représente le nombre d'échantillons pour la durée de la fonction rectangulaire. Dans les images, une fréquence de radian normalisée est utilisée pour l'axe des fréquences - (si cela prête à confusion, vous savez simplement que est la fréquence de radian pour la fréquence d'échantillonnage). Ainsi, dans le processus de convolution, la transition nette de brickwall se propage et dans ce cas passe à 0 (notre ) sur une fréquence de ! Voici donc2 π/ N 2 π Δ ω 2 π/ N N= 2 π/ Δω et bien sûr, le filtre est médiocre avec les lobes latéraux, etc. Notez ceci: Cette transition de la fonction Sinc est la plus nette disponible pour un nombre donné de prises; il a la meilleure résolution en fréquence mais la plage dynamique la plus faible (réjection). D'autres typologies de fenêtres (Blackman, Blackman-harris, Kaiser (mon préféré), etc.) amélioreront considérablement la plage dynamique mais toujours au détriment de la transition.
Donc, d'après ce qui précède, nous voyons l'origine de l' qui est utilisé dans les formules d'approximation, et nous voyons également pourquoi il existe un facteur de multiplication supplémentaire augmentant le nombre de prises au-dessus de cela pour les conceptions de filtres typiques; la fenêtre rectangulaire nous donnerait la meilleure transition possible avec N prises où mais avec un très mauvais rejet. Plus de prises sont utilisées pour lisser la transition temporelle au-delà de la transition nette de la fenêtre rectangulaire, offrant une plus grande réjection au détriment de la bande passante de transition.2 π/ Δω N= 2 π/ Δω
la source
La longueur d'un filtre FIR ou l'ordre d'un filtre IIR est très approximativement inversement proportionnelle au rapport de la largeur de la bande de transition (la plus étroite, s'il y en a plusieurs) à la fréquence d'échantillonnage, d'autres choses étant quelque peu équivalentes, sauf pour très courte ou très filtres d'ordre inférieur.
la source