Qu'est-ce que Filtre FIR ?

Filtre numérique dont la réponse impulsionnelle s'arrête après une longueur finie (filtre à réponse impulsionnelle finie). Il calcule y[n] = Σh[k]x[n − k], en multipliant l'entrée actuelle et les N entrées passées par des coefficients et en additionnant les résultats, et n'a pas de rétroaction de la sortie. Ses pôles ne sont qu'en z = 0 : il est donc toujours stable, quels que soient les coefficients, et des coefficients symétriques lui donnent une phase linéaire, qui retarde toutes les composantes fréquentielles de (N − 1)/2 échantillons. En revanche, une réponse raide demande beaucoup de prises, et chaque échantillon de sortie demande autant de multiplications-accumulations qu'il y a de prises.

Nom japonais: FIRフィルタ

« Filtre FIR » apparaît dans 9 questions d'entraînement réparties sur 2 thèmes, dont Bases du traitement numérique du signal, Conversion A/N et N/A.

Domaine: Bases du traitement numérique du signal

Structure et charge de calcul

La structure aligne des éléments de retard qui retardent chacun l'entrée d'un échantillon, multiplie la valeur de chaque étage par un coefficient et additionne les résultats ; la chaîne des éléments de retard s'appelle une ligne à retard à prises. N prises demandent N multiplications-accumulations par échantillon de sortie : faire fonctionner 256 prises à 44,1 kHz, par exemple, demande environ 11,3 millions de multiplications-accumulations par seconde. C'est pourquoi les DSP disposent d'instructions qui effectuent une multiplication-accumulation en un cycle, ou d'unités MAC dédiées.

Méthodes de conception

La méthode la plus élémentaire est la méthode de la fenêtre : la réponse impulsionnelle de la réponse idéale (une fonction sinc pour un passe-bas) est tronquée à une longueur finie, puis multipliée par une fonction de fenêtrage pour atténuer l'effet des extrémités. La méthode de Parks-McClellan, qui minimise l'erreur maximale par rapport à la réponse en fréquence spécifiée, est aussi très utilisée. Dans les deux cas, plus il y a de prises, plus la réponse se rapproche de l'idéal.

Phase linéaire et retard

Un filtre FIR à coefficients symétriques retarde toutes les composantes fréquentielles du même temps : il préserve donc la forme des impulsions et des signaux audio. Le retard vaut (N − 1)/2 échantillons, soit environ 1,04 ms pour 101 prises à 48 kHz. Lorsque le retard pose problème, on renonce parfois à la phase linéaire au profit d'un filtre FIR à phase minimale, dont le retard est plus faible.

S'entraîner : questions sur Filtre FIR

Un filtre FIR de fonction de transfert H(z) = 1 + z⁻² (y[n] = x[n] + x[n − 2]) fonctionne à une fréquence d'échantillonnage de 8 kHz. Quelle est la fréquence d'une entrée sinusoïdale pour laquelle la sortie est nulle ?

  1. A1 kHz
  2. B2 kHz
  3. C4 kHz
Afficher la réponse et l'explication

Réponse : B. 2 kHz

Les solutions de 1 + z⁻² = 0, c'est-à-dire les zéros, sont z = ±j d'après z² = −1 ; elles sont situées sur le cercle unité en ω = ±π/2. ω = π/2 correspond à f = ω·fs/(2π) = fs/4 = 2 kHz ; une sinusoïde de 2 kHz a exactement le signe opposé deux échantillons plus tôt, si bien que la somme est nulle. Un zéro situé sur le cercle unité crée une encoche (notch) qui supprime complètement cette fréquence. À 4 kHz (la fréquence de Nyquist), z⁻² = 1, et le gain vaut donc 2.

Quelle est une caractéristique d'un filtre FIR (filtre à réponse impulsionnelle finie) ?

  1. AIl possède une rétroaction de la sortie vers le côté de l'entrée, ce qui permet d'obtenir une réponse raide avec peu de coefficients
  2. BSa réponse impulsionnelle se prolonge indéfiniment, si bien qu'il devient facilement instable lorsque ses coefficients sont quantifiés
  3. CIl n'a pas de rétroaction : il est donc toujours stable, et des coefficients symétriques lui donnent une phase linéaire
Afficher la réponse et l'explication

Réponse : C. Il n'a pas de rétroaction : il est donc toujours stable, et des coefficients symétriques lui donnent une phase linéaire

Un filtre FIR ne fait que multiplier l'entrée actuelle et les entrées passées par des coefficients et les additionner ; il n'a aucune rétroaction de la sortie. Sa réponse impulsionnelle s'arrête après le nombre de coefficients (les prises), et ses pôles ne sont qu'en z = 0 : il est donc stable quelles que soient les valeurs des coefficients. Avec des coefficients symétriques, il a une phase linéaire, qui retarde toutes les composantes fréquentielles du même temps et préserve la forme de l'onde. En contrepartie, une réponse raide demande plus de prises qu'avec un filtre IIR.

Questions fréquentes

Comment choisir entre filtres FIR et IIR ?

Les filtres FIR conviennent quand il faut une phase linéaire, une stabilité garantie ou une faible sensibilité à la quantification des coefficients. Les filtres IIR conviennent quand il faut une réponse raide avec peu de calcul et un faible retard, mais leur phase n'est pas linéaire, et il faut surveiller l'instabilité due à la quantification des coefficients.

Qu'est-ce qui détermine le nombre de prises ?

Plus la bande de transition (l'écart entre la bande passante et la bande atténuée) est étroite, et plus l'atténuation dans la bande atténuée est forte, plus il faut de prises. En première approximation, le nombre de prises est proportionnel à « fréquence d'échantillonnage ÷ largeur de la bande de transition », et le facteur de proportionnalité augmente avec l'atténuation demandée.

« Filtre FIR » dans les explications

Questions mentionnant « Filtre FIR » (9)

  1. Un filtre FIR de fonction de transfert H(z) = 1 + z⁻² (y[n] = x[n] + x[n − 2]) fonctionne à une fréquence d'échantillonnage de 8 kHz. Quelle est la fréquence d'une entrée sinusoïdale pour laquelle la sortie est nulle ?
  2. Quelle est une caractéristique d'un filtre FIR (filtre à réponse impulsionnelle finie) ?
  3. Parmi les filtres FIR à 5 prises suivants, lequel a une phase linéaire ?
  4. Quel est le retard de groupe d'un filtre FIR à phase linéaire de 101 prises (à coefficients symétriques) ?
  5. Un filtre FIR à 256 prises fonctionne en temps réel à une fréquence d'échantillonnage de 44,1 kHz. Combien de multiplications-accumulations (MAC) sont nécessaires par seconde ?
  6. La sortie d'un filtre FIR est calculée pour chaque échantillon à une fréquence d'échantillonnage de 48 kHz, sur un processeur cadencé à 200 MHz qui effectue une multiplication-accumulation par cycle. En négligeant le temps des autres traitements, quelle valeur est la plus proche du nombre maximal de prises traitables en temps réel ?
  7. Dans le calcul d'un filtre FIR, les produits des données et des coefficients en virgule fixe sur 16 bits sont représentés sur 32 bits, et 256 de ces produits sont additionnés. Quelle est la largeur minimale de l'accumulateur qui garantit l'absence de dépassement de capacité pendant le calcul ?
  8. Dans un CAN ΔΣ, quel circuit numérique convertit la sortie quantifiée rapide et grossière en données haute résolution à faible fréquence d'échantillonnage ?
  9. Quelle précaution est correcte lorsqu'on réalise un filtre IIR d'ordre élevé en virgule fixe avec des coefficients de largeur en bits limitée ?

Termes associés

Phase linéaire Filtre IIR Virgule fixe Fréquence de Nyquist Réponse impulsionnelle Retard de groupe (temps de propagation de groupe) Interruption Arithmétique saturée Décimation Convolution

Retour au glossaire