ABDELMALEK ESSAADI
ECOLE NATIONALE
DES SCIENCES APPLIQUEES
TANGER
Cours
Traitement Numérique du Signal
CHAPITRE
Synthèse de filtres
numériques
1
Prof : mohamed moussaoui
ENSA Tanger, Route Ziaten, BP 1818
Tanger principale
Mohamed.moussaoui@hotmail.fr
©
2
Chapitre : Synthèse de filtres numériques
I. Introduction :
Système physique
en évolution
Message
Bruit Codage
Canal de transmission
Canal de transmission
Bruit
Réception du signal
Décodage
Traitement de l’information
On trouve le système physique que l’on observe. Des capteurs vont enregistrer son évolution
et délivrer un message correspondant aux mesures observées qui est envoyé sur un canal de
transmission. Déjà à ce niveau, on va trouver des opérations de filtrage correspondant à la
mise en forme de ce signal pour l’adapter au canal de transmission. Lors de l’acquisition de ce
signal tout comme de sa transmission puis de sa réception, du bruit peut venir s’y ajouter. Il
sera donc nécessaire de mettre en œuvre des opérations de filtrage lors de la phase de
récupération du signal.
Ces opérations auront deux objectifs essentiels : éliminer au maximum le bruit qui perturbe le
signal puis extraire l’information utile.
La tendance actuelle pousse les traiteurs de signaux à travailler de plus en plus en numérique
afin de profiter des énormes progrès réalisés par les machines informatiques.
II. Rappels sur le filtrage
1) Définition
Un filtre linéaire est un système linéaire possédant une entrée et une sortie, et qui est invariant
dans le temps.
Linéarité : le filtre linéaire établit une relation linéaire entre l’entrée et la sortie.
Si le signal de l’entrée est e(t ) = αe1 (t ) + β e2 (t ) alors la sortie s(t) vaut s (t ) = αs1 (t ) + β s 2 (t ) ou
s1 (t ) et s 2 (t ) sont les réponses du filtre aux entrées e1 (t ) et e2 (t ) respectivement et α et β
sont des constantes.
Invariance dans le temps : la réponse d’un filtre invariant à une excitation ne dépend pas de
l’instant ou démarre cette excitation, mais seulement de l’entrée et du comportement du filtre.
1) Réponse impulsionnelle
La réponse, en régime permanent d’un filtre linéaire à une excitation, est la convolution de
cette excitation avec une fonction caractéristique du filtre appelée réponse impulsionnelle
h(t ) . La réponse y (t ) du filtre à un signal x(t ) d’entrée est donnée par :
y (t ) = h(t ) ∗ x(t ) = ∫ h(t ) ∗ x(t ) = ∫ h(u )x(t − u )du
ℜ ℜ
x(t ) h(t ) y (t )
h1
x (t ) y (t ) x (t ) y (t )
≡ h
h1
h(t ) = h1 (t ) + h2 (t )
x (t ) y (t ) x (t ) y (t )
h1 h2
≡ h
h(t ) = h1 (t ) ∗ h2 (t )
A partir de ces deux propriétés, on peut dire que l’ensemble des filtres linéaires est un
ensemble fermé pour les opérations d’addition et de produit, puisque le résultat de ces
opérations sur deux filtres linéaires est un filtre linéaire. A l’aide de ces deux opérations, on
peut réaliser des systèmes complexes qui restent des filtres linéaires.
Pour introduire les paramètres importants définissant le gabarit d’un filtre, nous allons prendre
l’exemple du filtre le plus simple : le filtre passe-bas. Dans ce cas, le gabarit à réaliser a
l’allure suivant :
0
Rp
Amplitude (dB)
Rs
fc fstop
Fréquence (Hz)
Le temps de propagation de groupe (group delay) est en fait, la mesure du retard induit sur
chaque composante spectrale par le filtrage.
6) Types de filtres
1) Préliminaires
Le but initial des travaux sur les filtres numériques était de simuler les filtres analogiques sur
ordinateur afin de vérifier les performances et optimiser les paramètres de ces filtres avant
leur réalisation.
Avec le développement des circuits numériques, il est devenu possible de réaliser directement
des filtres numériques. Ceci explique le développement de méthodes spécifiques pour la
synthèse de filtre numériques.
2) Introduction
Nous nous limitons au cas le plus simple, celui des systèmes linéaires et invariants dans le
temps. Quant aux méthodes de synthèse de filtres, on se limitera également à la présentation
des principales techniques les plus couramment utilisées en laissant de coté les méthodes trop
spécifiques ou trop complexes.
• Définition
Un filtre linéaire à temps discret réalise une opération de convolution entre le signal d’entrée
et la réponse impulsionnelle du filtre.
{x (n )} Filtre {y(n)}
{h (n )}
Figure 6 : filtre linéaire à temps discret
+∞ +∞
y (n ) = h(n ) ∗ x (n ) = ∑ x (k ) ∗ h(n − k ) = ∑ h(k )x (n − k ) (1)
k = −∞ k = −∞
• Propriétés
Dans toute la suite de ce chapitre, on considère des signaux réels et causaux. Donc dans le cas
d’un filtre linéaire, invariant dans le temps et causal, la relation (1) devient :
n n
y (n ) = ∑ x (k )h(n − k ) = ∑ h(k )x (n − k ), avec n = 0, 1, 2....
k =0 k =0
∑b m zm
H (z ) = m =0
N −1
ou M ≤ N pour que le filtre soit réalisable (causal).
z + ∑ an z
N n
n= 0
Remarque :
Ici, le coefficient de z N est égal à 1 car on a normalisé H (z ) .
b0 + b1 z 1 + ... + b M z M
H (z ) =
a 0 + a 1 z 1 + ... + a N −1 z N −1 + z N
Cette fonction de transfert H (z ) peut aussi s’écrire sous la forme :
b z − N + b1 z − ( N −1) + ... + b M z − ( N − M )
H (z ) = 0 − N . (2)
a 0 z + a 1 z − N + 1 + ... + a N −1 z −1 + 1
Un filtre numérique de fonction de transfert H (z ) peut aussi être décrit par une équation aux
différences ; en effet, comme Y (z ) = H (z ) X (z ) et en tenant compte de l’équation (2) il
vient :
Y (z ) + a N −1 z −1Y (z ) + ... + a 1 z − N +1Y (z ) + a 0 z − N Y (z ) = b0 z − N X (z ) + b1 z − ( N −1) X (z ) +
... + b M z − ( N − M ) X (z )
Remarque :
Cette équation a toujours une solution causale si M ≤ N .
Le calcul de y (n ) ne nécessite la connaissance que des x (n ) et y (n ) aux instants passés et
présent.
Cette solution correspond pour H (z ) au domaine de convergence z > max{ p k } ou les p k
k
y (n ) = b0 x (n − N ) + b1 X (n − N + 1) + ... + b M x (z − N + M )
− a N −1 y (n − 1) − ... − a 1 y (n − N + 1) − a 0 y (n − N )
a)
si les coefficients a i = 0 pour 0 ≤ i ≤ N − 1 , le filtre est à réponse impulsionnelle finie (RIF) ;
alors l’équation (3) devient :
y (n ) = b0 x(n − N ) + b1 X (n − N + 1) + ... + bM x( z − N + M ) (4)
et la fonction de transfert H(z) s’écrit :
M
∑b m zm M
H (z ) = m =0
= ∑ bm z m − N
zN m=0
b)
x (n ) x (n − 1) x (n − N )
z −1 z −1 z −1 ….. z −1
bM b M −1 bM −2 bM −3 b0
y(n)
bM
x(n) x (n − N + M )
y (n)
a N −1
N-M retards z −1 z −1
-
z −1 bM −1 z −1
M retards -
bM −2 a N −2 N retards
−1
z
a1 z −1
b0 -
-
z −1
a0
Si la structure de filtre se révèle instable, il n’aura aucune utilité pratique ; il peut même se
révéler nocif.
• Définition :
Un filtre numérique est considéré comme stable si pour toute séquence bornée du signal
d’entrée, la séquence de sortie filtrée est bornée.
• Théorème 1 :
{ }
Un filtre numérique de réponse impulsionnelle h(n ), n = 0, 1, 2,... est stable si et seulement
si
+∞
∑ h(n ) < +∞
n =0
• Théorème 2
Un filtre numérique causal de fonction de transfert H(z) est stable si et seulement si tous les
pôles de H(z) sont d’amplitude inférieure à 1. Ceci est équivalent à dire que tous les pôles
sont à l’intérieur du cercle unité dans le plan des z.
Filtre désiré : filtre d’une réponse fréquentielle correspondant au filtre passe-bas analogique
(filtre idéal).
Ha( f )
1
-Fc Fc f
− Fc
H( f )
Fe -Fe/2-Fc Fc Fe/2 Fe f
Pour obtenir un filtre RIF de longueur N, on peut par exemple utiliser une fenêtre
rectangulaire de longueur N.
N −1
Si N est impaire, on conserve les échantillons d’indice n ≤
2
N N
Si N est paire, on conserve les échantillons d’indice − ≤ n ≤ − 1
2 2
Le produit dans le domaine temporel correspond à un produit de convolution périodique dans
le domaine fréquentiel :
Fe / 2
A ce stade, le filtre RIF de longueur N que l’on a construit, est non causal.
Pour obtenir la causalité, il est nécessaire de translater la réponse impulsionnelle tronquée
h (n ) du nombre d’indice négatif, soit un temps T f / 2 , si T f représente la durée de la fenêtre
utilisée pour la troncature( T f = ( N − 1)Te ).
Ce retard dans le domaine temporel se traduit par un déphasage dans le domaine fréquentiel.
On a donc finalement :
N −1
h ′(n ) = h n − 2
− 2 jπ
Tf
H ′( f ) = H ( f )e = H ( f )e − jπ ( N −1)Te f
f
2
En résumé, la synthèse de filtres FIR par la méthode de fenêtre nécessite les étapes suivantes :
a. On se fixe la réponse fréquentielle H a ( f ) désirée à réaliser et le nombre N de
coefficients du filtre
b. On échantillonne la réponse impulsionnelle correspondante pour obtenir les
échantillons h(n ) ,
c. On tronque cette réponse pour ne conserver que N échantillons ; pour ce faire, on
multiplie h(n ) par une fenêtre de pondération w(n ) : on obtient h (n ) la réponse
impulsionnelle tronquée,
d. Il ne reste plus qu’à retarder h (n ) pour obtenir la réponse impulsionnelle h′(n ) du
filtre causal (donc réalisable).
Un filtre à phase linéaire ne déforme pas les signaux. C’est donc une propriété intéressante à
rechercher lors de la synthèse d’un filtre.
Dans le cas des filtres RIF, pour que le filtre ait une phase linéaire, il suffit d’avoir une
réponse impulsionnelle symétrique.
c-à-d : la phase du filtre est linéaire si sa réponse impulsionnelle comporte une symétrie axiale
par rapport au coefficient du milieu.
N −1
h ′(n ) = h n − 2
− 2 jπ
Tf
H ′( f ) = H ( f )e = H ( f )e − jπ ( N −1)Te f
f
2
Si l’on souhaite synthétiser un filtre à phase linéaire, il faut impérativement prélever les
échantillons de la réponse impulsionnelle de façon symétrique par rapport à l’origine :
h (n ) doit être paire.
Dans le cas d’un nombre pair d’échantillons, ceci revient à avoir N/2 échantillons de part et
d’autre de l’origine pour h (n ) .
Si l’on désire que la réponse impulsionnelle h (n ) soit paire alors les instants d’échantillonnage
de la réponse impulsionnelle ha (t ) doivent être décalés de Te / 2 :
Te
Echantillonner donc aux instants nTe ± au lieu de nTe comme on le fait traditionnellement.
2
Le même résultat peut être obtenu en décalant la réponse impulsionnelle ha (t ) de Te / 2 avant
l’échantillonnage.
En pratique, deux solutions sont envisageables pour effectuer ce décalage. Soit on retarde, soit
on avance la réponse impulsionnelle de Te / 2 .
Ce retard ou cette avance dans le domaine temporel entraîne l’introduction d’un terme de
retard e jπfTe dans le domaine fréquentiel, terme dont il faut tenir compte dans le calcul des
échantillons de la réponse impulsionnelle par Transformée de Fourier numérique inverse.
Si l’on reprend l’exemple de la synthèse du filtre passe-bas et si on se place dans le cas d’une
avance :
2 sin (πFc (n + 1)Te )
+ Fc
Remarque :
Lorsqu’un filtre RIF est à nombre N impair d’échantillons et que sa réponse
impulsionnelle présente une symétrie axiale par rapport au coefficient du milieu
N −1
n = , on dit qu’il est de type 1.
2
Lorsqu’un filtre est à nombre N pair d’échantillons et que sa réponse impulsionnelle
présente une symétrie axiale, on dit qu’il est de type 2.
Avec les calculs présentés précédemment, il est évident que le gain du filtre ainsi synthétisé
est différent de 1 pour la fréquence f = 0 . En effet, pour f = 0 on a :
N −1 +∞
H ( f ) = ∑ h (n ) ≠ ∑ h(n ) = 1
n =0 n = −∞
Un filtre doit avoir un gain de 1 dans la bande passante.
Solution : Il suffit de calibrer les échantillons.
Pour un filtre passe-bas : cette calibration se fait par rapport au gain à la fréquence f = 0 :
hc (n ) = N −1 h (n ) pour 0 ≤ n ≤ N − 1
1
∑ h (n )
n=0
Pour un filtre passe-haut : la calibration se fait par rapport au gain de la fréquence
normalisée f = 0.5 .
Pour un filtre passe-bande : cela se fera par rapport au gain de la fréquence centrale de la
bande passante.