Existe-t-il une règle empirique pour calculer lordre de filtrage approximatif dune FIR / IIR en fonction de la bande passante par rapport à la fréquence déchantillonnage? Il me semble me souvenir den avoir lu une fois au premier cycle. Je pense que vous pourriez faire une estimation approximative comme scaler * passband / stopband.

Jai travaillé sur la mise en œuvre de différents filtres FIR / IIR et jaimerais une formule approximative qui dit que si une variable est modifiée, ceci correspond approximativement au nombre de clics supplémentaires dont vous auriez besoin pour obtenir des performances similaires.

Commentaires

Réponse

Ma " Règle de base " préférée pour lordre dun filtre FIR passe-bas est la " règle empirique de fred harris ":

$$ N = \ frac {f_s} {\ Delta f} \ cdot \ frac {\ rm atten_ {dB}} {22} $$

  • $ \ Delta f $ est la bande de transition, dans les mêmes unités de $ f_s $
  • $ f_s $ est la fréquence déchantillonnage du filtre
  • $ \ rm atten_ {dB} $ est le rejet cible en dB

Par exemple, si vous avez une bande de transition de 100 Hz dans un système échantillonné à 1 kHz et que votre besoin de rejet est de 50 dB dans la bande darrêt, le lordre peut être approché par:

$$ N = \ frac {1 \ \ rm kHz} {100 \ \ rm Hz} \ cdot \ frac {50} {22} = 23 \ \ rm taps \ tag {rounding up} $$

Merci Fred Harris!

Notez une autre formule plus détaillée qui prend en compte la bande passante ripple est la formule de Kaiser grâce à James Kaiser de Bell Labs, que jai inclus dans mon graphique ci-dessous.

Pour la plupart des applications que jai faites, lapproche de Fred Harris a été très bien, étant donné un certain rejet , les filtres résultants utilisant des algorithmes de conception de filtre traditionnels tels que Parks-McClellan et Remez ont dépassé mes exigences dondulation de bande passante en répondant à lexigence de rejet. (Ce que je fais habituellement, cest estimer lordre, concevoir le filtre avec cet ordre, inspecter le résultat et augmenter ou diminuer lordre à 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 généraux et ne pas être supposés être une solution exacte.

entrez la description de limage ici

Pour ceux qui sont familiers avec la conception de filtres utilisant des approches de fenêtre, passez en revue le wagon couvert ou la fenêtre rectangulaire (qui est une simple troncature) révèle pourquoi il faut $ f_s / \ Delta f $ taps (ce qui équivaut à $ 2 \ pi / \ Delta \ omega $ si les unités de fréquence normalisée sont des radians / échantillon comme cela se fait souvent) pour compléter la bande de transition. Voir les images ci-dessous qui aident à expliquer cela.

Limage du haut ci-dessous montre le Sinc attendu en fréquence pour une fenêtre rectangulaire dans le temps, dans ce cas sous la forme dune impulsion rectangulaire non causale centrée sur $ t = 0 $ . Ceci est ensuite répété sous des formes discrètes comme une forme donde causale commençant à $ t = 0 $ , à la fois avec la transformée de Fourier en temps discret (DTFT) et en transformée de Fourier discrète (DFT) où la différence est que les échantillons dans le temps sétendent jusquà $ \ pm \ infty $ pour le DTFT résultant en une forme donde continue dans le domaine fréquentiel. Dans les deux cas, le résultat est une fonction Sinc aliasée qui est périodique sur lintervalle $ f = [0, f_s) $ , avec le point clé que pour $ N $ échantillons dans le temps de la fonction rectangulaire, la réponse en fréquence aura son premier nul à $ f = 1 / N $ (Où $ f $ est la fréquence normalisée, 1 étant le taux déchantillonnage).

Examen des transformations

Cette image ci-dessous montre lapproche de la fenêtre rectangulaire pour la conception des filtres (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 sous forme de réponse " brick wall " idéale. Veuillez ne pas confondre cela avec la fenêtre rectangulaire " " (ou " ") 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 sortent tous les coefficients!). La réponse impulsionnelle pour une réponse de fréquence rectangulaire (brickwall) est linverse FT qui est une fonction Sinc, dans le domaine temporel, indiquée dans le coin inférieur gauche comme " Réponse impulsionnelle requise ". Une fonction Sinc sétend à plus et moins linfini, donc pour réaliser réellement un tel filtre, nous aurions besoin dun filtre infiniment long et il aurait un délai infiniment long. Évidemment, nous ne pouvons pas faire cela, donc nous tronquons les coefficients à quelque chose de réalisable. Plus le filtre est long, plus nous approchons de la réponse idéale du mur de briques, mais aussi plus le délai sera long (et plus nous aurions besoin de ressources en termes de la construction du filtre; plus de taps).

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 afin que le système soit causal). La multiplication dans le domaine temporel équivaut à la convolution dans le domaine fréquentiel. Le domaine fréquentiel (FT) de la réponse impulsionnelle avant la troncature est notre réponse en fréquence du brickwall souhaitée. La fréquence la réponse pour la fenêtre rectangulaire est une fonction Sinc dans le domaine fréquentiel.

Ainsi, lorsque nous tronquons la réponse impulsionnelle souhaitée (multipliez dans le temps par une fenêtre rectangulaire), nous convoluons la réponse en fréquence souhaitée e avec une fonction Sinc, résultant en une approximation de notre réponse en fréquence cible comme indiqué dans le coin supérieur droit de limage ci-dessous.

Réponse en fréquence après fenêtrage

Une clé à retenir pour les fonctions Sinc en général est que le premier null est $ 1 / T $ $ T $ est la durée de la fonction rectangulaire. Pour un système échantillonné, le premier null serait à $ 2 \ pi / N $ $ N $ représente le nombre déchantillons pour la durée de la fonction rectangulaire. Dans les images, une fréquence radian normalisée est utilisée pour laxe des fréquences – (si cela confond vous savez simplement que $ 2 \ pi $ est la fréquence radian pour le taux déchantillonnage). Ainsi, dans le processus de convolution, la transition brusque du brickwall sétale et dans ce cas passe à 0 (notre $ \ Delta \ omega $ ) sur une fréquence de $ 2 \ pi / N $ ! Alors ici $$ N = 2 \ pi / \ Delta \ omega $$ et bien sûr le filtre est pauvre avec les lobes latéraux etc. Notez ceci: Cette transition de la fonction Sinc est le plus net disponible pour un nombre donné de tarauds; il a la meilleure résolution en fréquence mais la plage dynamique la plus faible (rejet). Dautres 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.

N taps pour terminer la transition

Ainsi, à partir de ce qui précède, nous voyons lorigine du $ 2 \ pi / \ Delta \ omega $ qui est utilisé dans les formules dapproximation, et nous voyons également pourquoi il y a un facteur de multiplication supplémentaire augmentant le nombre de taps au-dessus de cela pour les conceptions de filtre typiques; la fenêtre rectangulaire nous donnerait la meilleure transition possible avec $ N $ taps où $ N = 2 \ pi / \ Delta \ omega $ mais ont un très faible rejet. Plus de taps sont utilisés pour lisser la transition temporelle au-delà de la transition nette de la fenêtre rectangulaire, offrant un plus grand rejet au détriment de la bande passante de transition.

Commentaires

  • Pour éviter toute confusion, la formule que vous appelez " Kaiser ' formule s " est en fait la formule des filtres optimaux de Parks McClellan (en effet trouvés par Kaiser), mais pas pour la méthode de la fenêtre de Kaiser. Ce dernier na ' t avoir deux valeurs $ \ delta $ différentes mais une seule.
  • En effet, bonne clarification Matt puisquil existe une méthode de fenêtre Kaiser. Cette formule est cependant appelée et connue sous le nom de " Kaiser ' s Formula " dans le littérature, juste pour que les lecteurs ' ne pensent pas que cétait ma propre utilisation de ce terme. engold.ui.ac.ir/~sabahi/Advanced%20digital%20communication/…
  • Génial!Cela semble provenir de la page 48 du livre de Fred Harris ': " Traitement du signal multi-vitesses pour les systèmes de communication "?
  • La règle dor ou les images? Les photos sont à moi pour un cours que je fais. Je ne ' Je nai pas le livre de fred ', mais je suis un grand fan et jai découvert son " règle empirique " par lui lors dune présentation DSP World quil a faite vers 1996. (Notez quil insiste pour que son nom soit écrit en minuscules).
  • @DanBoschen La formule de Parks McClellan est-elle également valable lors de la conception de filtres FIR passe-bande? Sinon, existe-t-il une autre " règle empirique " qui pourrait être appliquée?

Réponse

La longueur dun filtre FIR ou lordre dun filtre IIR est très à peu près inversement proportionnelle au rapport de la largeur de la bande de transition (la plus étroite , sil y en a beaucoup) à la fréquence déchantillonnage, dautres choses étant quelque peu équivalentes, à lexception des filtres dordre très court ou très bas.

Commentaires

  • je ne sais pas pourquoi quelquun a voté contre. Je lai ramené à zéro.
  • dautres choses étant quelque peu équivalentes?
  • Londulation de la bande passante et latténuation de la bande darrêt sont également les autres principaux facteurs qui affectent la longueur du filtre.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *