Filtre : système linéaire et invariant dans le temps.
Vocabulaire
- un système est dit linéaire s’il obéit au principe de superposition.
- un système est dit invariant dans le temps si son comportement se reproduit de façon identique au cours du temps.
- Un filtre agit sur un signal d’entrée pour donner un signal de sortie. Les signaux ici sont continus.
- Un filtre est représenté habituellement sous la forme suivante :
Une propriété importante d’un système linéaire et que si on met à l’entrée une exponentielle complexe alors le signal de sortie est aussi une exponentielle complexe de module et de phase modifiées.
Parmi ces systèmes, nous distinguons : les filtres passe-bas (lissage), filtres passe-haut (accentuation), filtres passe-bande (différenciation) et filtres directionnels.
Exemple :
Le circuit RC est un système linéaire invariant, c’est un filtre.
Remarque :
- En pratique un système n’est jamais linéaire quel que soit le signal d’entrée mais plutôt dans une gamme de fréquences ou pour une dynamique faible.
- Les problèmes classiques de non linéarité sont la saturation, l’hystérésis et l’offset.
Ce filtre n’affecte pas les composantes de basses fréquences dans les données d’une image, mais doit atténuer les composantes de hautes fréquences.
Effet associé : lissage
L’opération de lissage est souvent utilisée pour atténuer le bruit et les irrégularités de l’image. Elle peut être répétée plusieurs fois, ce qui crée un effet de flou. En pratique, il faut choisir un compromis entre l’atténuation du bruit et la conservation des détails et contours significatifs.
Exemple
f1 = ones(3,3)/9;
Le renfoncement des contours et leur extraction s’obtiennent dans le domaine fréquentiel par l’application d’un filtre passe-haut.
Effet associé : accentuation
Le filtre digital passe-haut a les caractéristiques inverses du filtre passe-bas .Ce filtre n’affecte pas les composantes de haute fréquence d’un signal, mais doit atténuer les composantes de basse fréquence.
Exemple
f2 = [-1 -1 -1 ; -1 8 -1 ; -1 -1 -1];
Filtre ne laissant passer qu'une plage de fréquences. Un filtre passe-bande est l'association d'un filtre passe-bas et d'un filtre passe-haut.
Cette opération est une dérivée du filtre passe-bas.
ð Démonstration :
On a : avec Im la fonction Image (ie couleur du
pixel en fonction des coordonnées) et * la convolution. On obtient :
Ainsi, la fonction de transfert d'un tel filtre est bien celle d'un passe-bande.
Effet associé : différenciation
Elle consiste à éliminer la redondance d’information entre l’image originale et l’image obtenue par filtrage passe-bas. Seule la différence entre l’image source et l’image traitée est conservée.
Dans certains cas, on cherche à faire apparaître des détails de l’image dans une direction bien déterminée. Pour cela, on utilise des filtres qui opèrent suivant des directions (horizontales, verticales et diagonales).
Exemples
Le filtre directionnel de Sobel ci-dessous extrait les hautes fréquences verticales :
sobel = [-1 0 1 ; -2 0 2 ; -1 0 1];
Premièrement, on peut voir de façon intuitive que la réponse du filtre sera forte aux endroits de l'image ayant la « même forme » que le filtre. Par exemple pour le filtre passe haut f2, on peut tout de suite voir que la réponse sera forte pour un point de valeur de gris élevée situé au milieu d'autres points aux valeurs basses. Pour le filtre de Sobel, on voit qu'il va détecter les lignes horizontales avec même une réponse positive quand le bas niveau de gris est en haut, et le niveau de gris élevé est en bas !
Fenêtrage
En fait depuis longtemps on s'est aperçu que la transformée de Fourier avait son avantage (coder un signal selon les fréquences qui le constitue) mais qu'elle perdait toutes notation d'instantanéité (il est très difficile voir impossible de savoir quelle fréquence constitue le signal maintenant).
Une solution à ce problème est le fenêtrage. Au lieu d'appliquer la transformée de Fourier sur tout le signal, elle est appliqué seulement sur une partie du signal, le reste du signal étant 0. Ainsi la fenêtre est définie ainsi: f(t) = 0 pour t<t1 et t>t2, f(t) <> 0 sinon. D'autres conditions peuvent aussi être ajoutées.
On s'aperçoit ensuite que la transformé de Fourier de la fenêtre donnera le spectre du signal seulement autour d'un point choisi. Dès lors on peut s'apercevoir d'une chose fondamentale (il s'agit du principe d'incertitude d'Heisenberg) :
- Plus la fenêtre est large et plus le spectre de fréquences est précis, mais moins on est précis sur l'instant du signal.
- Plus la fenêtre est petite, plus on est localisé en temps, mais plus la fenêtre est passe-haut, donc perte d'informations dans les basses fréquences.
Convolution
Maintenant si on veut connaître le fenêtrage de tous les points, cela revient à la multiplication du signal par la fenêtre et cela en chaque point. Bref une convolution des spectres que l'on fait en chaque point.
http://fr.wikipedia.org/wiki/Reconnaissance_de_formes
Application des filtres sous Matlab