Filtre numérique

En électronique, un filtre numérique est un élément qui effectue un filtrage avec une succession d'opérations mathématiques sur un signal discret.



Catégories :

Filtre

Page(s) en rapport avec ce sujet :

  • Le filtre passe bas utilisé est un filtre numérique à réponse impulsionnelle finie... Ainsi, si l'entrée d'un filtre numérique est un processus discret... (source : pdfqueen)
  • Un filtre numérique est une combinaison linéaire d'échantillons.... les filtres RIF. mais... Filtre à réponse impulsionnelle finie (RIF) Filtre à réponse... (source : bepdf)

En électronique, un filtre numérique est un élément qui effectue un filtrage avec une succession d'opérations mathématiques sur un signal discret. C'est-à-dire qu'il modifie le contenu spectral du signal d'entrée en atténuant ou éliminant certaines composantes spectrales indésirées. Contrairement aux filtres analogiques, qui sont réalisés avec un agencement de composantes physiques (résistance, condensateur, inductance, transistor, etc. ), les filtres numériques sont réalisés soit par des circuits intégrés dédiés, des processeurs programmables (FPGA, microprocesseur, DSP, microcontrôleur, etc. ), soit par logiciel dans un ordinateur.

Les filtres numériques peuvent, en principe, réaliser la totalité des effets de filtrage pouvant être définis par des fonctions mathématiques ou des algorithmes. Les deux principales limitations des filtres numériques sont la vitesse et le coût. La vitesse du filtre est limitée par la vitesse (l'horloge, le "clock" en anglais) du processeur. Pour ce qui est du coût, ce dernier dépend du type de processeur utilisé. Par contre, le prix des circuits intégrés ne cesse de diminuer, et les filtres numériques se retrouvent partout dans notre environnement, radio, téléphone cellulaire, télévision, lecteurs MP3, etc.

Les filtres numériques étant le plus souvent réalisés par des processeurs, ils sont définis avec langages de programmation.

Définition

Un filtre numérique peut être défini par une équation aux différences, c'est-à-dire l'opération mathématique du filtre dans le domaine temporel (discret).

La forme générale du filtre d'ordre M est la suivante :

y[n] = {\sum_{k=0}ˆN} b_k \cdot x[n-k] - {\sum_{k=1}ˆM} a_k \cdot y[n-k]


y[n] =  b_0 \cdot x[n]  +  b_1 \cdot x[n-1]  +  b_2 \cdot x[n-2]  +  ....  +  b_N \cdot x[n-N]  -  a_1 \cdot y[n-1]  -  a_2 \cdot y[n-2]  +  ....  +  a_M \cdot y[n-M]


Une fonction de transfert, dans le domaine fréquentiel (Transformée en Z), permet aussi de définir un filtre numérique. Ainsi, la fonction de transfert générale d'ordre N d'un filtre numérique est la suivante :


H(z) = 
\frac {Y(z)} {X(z)} =
\frac {{\sum_{k=0}ˆN} b_k\cdot zˆ{-k}} {{\sum_{k=0}ˆM} a_k\cdot zˆ{-k}}



H(z) = 
\frac {b_0 + b_1 zˆ{-1} + b_2 zˆ{-2} + .... + b_N zˆ{-N}} {1 + a_1 zˆ{-1} + a_2 zˆ{-2} + .... + a_M zˆ{-M}}

La valeur des cœfficients a et b fixera le type de filtre, passe-bas, passe-haut, etc.

Classification

FIR - Filtre à réponse impulsionnelle finie

Il y a deux grandes familles de filtres numériques : la première, les filtres FIR, de l'anglais "Finite Impulse Response" (Filtre à réponse impulsionnelle finie). Ce type de filtre est dit fini, car sa réponse impulsionnelle se stabilisera ultimement à zéro. Un filtre FIR est non récursif, c'est-à-dire que la sortie dépend seulement de l'entrée du signal, il n'y a pas de contre-réaction. Ainsi, les cœfficients a de la forme générale des filtres numériques sont tous égaux à zéro.

Une propriété importante des filtres FIR est que les cœfficients du filtre b sont égaux à la réponse impulsionnelle h du filtre. D'autre part, la forme temporelle du filtre est tout simplement la convolution du signal d'entrée x avec les cœfficients (ou réponse impulsionnelle) b (ou h).

Un exemple de filtre FIR simple est une moyenne. Effectivement, effectuer la moyenne sur une série de données est équivalent à appliquer un filtre FIR à cœfficient constant 1/N.

Voici un exemple de l'implémentation d'un filtre FIR en C/C++ dans le domaine temporel :

// si la taille de NB_COEF = 2^n utiliser un masque au lieu du modulo (%)
// %=NB_COEF => &=(NB_COEF-1)
// pipe est un buffer circulaire

#define NB_COEF 16  // nombre de coef du filtre
double x_buffer[NB_COEF]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
double coef[NB_COEF]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
int ptr_x_buffer=0;

double FiltreFIR(double x)
// x: Signal d'entrée
// y: Signal de sortie
{
  int n, y=0;
  x_buffer[ptr_x_buffer++] = x;
  ptr_x_buffer %= NB_COEF;
  
  for( n = (NB_COEF-1) ; n >= 0 ; n-- )
  {
    y += coef[n] * x_buffer[ptr_x_buffer++];
    ptr_x_buffer %= NB_COEF;
  }
  return(y);
}

IIR - Filtre à réponse impulsionnelle illimitée

En opposition, les filtres de la seconde famille, les IIR, de l'anglais "Illimitéte Impulse Response" (Filtre à réponse impulsionnelle illimitée) possèdent une réponse impulsionnelle qui ne se stabilisera jamais, et ce, même à l'infini. Ce type de filtre est récursif, c'est-à-dire que la sortie du filtre dépend à la fois du signal d'entrée et du signal de sortie, il possède ainsi une boucle de contre-réaction ("feedback"). Les filtres IIR sont essentiellement la version numérique des filtres analogiques respectant les traditions : Butterworth, Tchebychev, Bessel, Elliptique.

Voir aussi

Liens externes

Filtre numérique par la pratique


Électromagnétisme | Électricité | Électronique | Électrotechnique | Électrochimie | Automatique | Traitement du signal
Types de filtres : Filtre passe-bas · Filtre passe-haut · Filtre passe-bande · Filtre coupe-bande
filtres linéaires : Filtre de Bessel · Filtre de Butterworth · Filtre de Tchebychev · Filtre elliptique
filtres numériques : Filtre à réponse impulsionnelle finie · Filtre à réponse impulsionnelle illimitée

Recherche sur Amazon (livres) :



Ce texte est issu de l'encyclopédie Wikipedia. Vous pouvez consulter sa version originale dans cette encyclopédie à l'adresse http://fr.wikipedia.org/wiki/Filtre_num%C3%A9rique.
Voir la liste des contributeurs.
La version présentée ici à été extraite depuis cette source le 07/04/2010.
Ce texte est disponible sous les termes de la licence de documentation libre GNU (GFDL).
La liste des définitions proposées en tête de page est une sélection parmi les résultats obtenus à l'aide de la commande "define:" de Google.
Cette page fait partie du projet Wikibis.
Accueil Recherche Aller au contenuDébut page
ContactContact ImprimerImprimer liens d'évitement et raccourcis clavierAccessibilité
Aller au menu