Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
de filtres numériques
Hugues GARNIER
hugues.garnier@univ-lorraine.fr
TdS 1 H. Garnier
Organisation de l’UE de TdS
I. Introduction
II. Analyse et traitement de signaux déterministes
- Analyse de Fourier de signaux analogiques
– De l’analogique au numérique
– Analyse de Fourier de signaux numériques
TdS 2 H. Garnier
Réponse fréquentielle de filtres idéaux
Selon la bande à supprimer, on distingue 4 catégories de filtres
Passe-bas fc=1000 Hz
Filtre
Passe-haut fc=1000 Hz
Passe-bande fc=1000 Hz
TdS 3 H. Garnier
Réponse impulsionnelle d’un filtre passe-bas idéal
Réponse fréquentielle du filtre idéal
H(f)
1
⎧
⎪1 si f < fc
H( f ) = ⎨
⎩0 si f ≥ fc
⎪
-fc 0 fc f
0 t -fc 0 fc f
h(t)≠ 0 t < 0, réponse non causale & infinie ! Filtre idéal non réalisable
En pratique, on va approcher le filtre idéal !
TdS 4 H. Garnier
Conception de filtres numériques
1 + δp
On distingue deux approches : 1
1- δp
TdS 5 H. Garnier
Lien entre réponse fréquentielle et
localisation des pôles et des zéros
Des zéros proches ou sur le cercle unité produisent des minima au niveau de la
réponse fréquentielle en amplitude.
Des pôles proches du cercle unité produisent de larges pics sur la réponse
fréquentielle
Il est donc possible, par un placement judicieux des pôles et des zéros, d'obtenir
des filtres réjecteur ou en peigne.
ΙH(ω)Ι
TdS 6 H. Garnier
Filtres réjecteur (notch filter) pour supprimer
une composante sinusoïdale parasite
• But : concevoir un filtre qui supprime une et une seule composante
sinusoïdale ω0 sans affecter les autres composantes fréquentielles
• Solution : placer les deux zéros sur le cercle unité imaginaire pour
supprimer la composante sinusoïdale f0, et placer les deux pôles proches
des zéros à l’intérieur du cercle pour compenser l’effet des zéros aux autres
fréquences
⎛ jΩ ⎞ ⎛ − j Ω0 ⎞
⎜ z − e 0 ⎟⎜ z − e ⎟ z2 − 2 cos( Ω0 )z +1 f0
⎝ ⎠⎝ ⎠
()
H z =
⎛ j Ω0 ⎞ ⎛ − j Ω0 ⎞
=
2 2
Ω0 = 2 π
fe
a <1
⎜ z − ae ⎟ ⎜ z − ae ⎟ z − 2acos( Ω0 )z + a
⎝ ⎠⎝ ⎠
ΙH(ω)Ι
TdS 7 H. Garnier
Filtres réjecteur (notch filter) pour supprimer
une composante sinusoïdale parasite
Exemple : concevoir un filtre numérique qui supprime la composante
sinusoïdale f0 = 200 Hz lorsque le signal est échantillonné à fe = 2000 Hz
z2 − 2 cos( Ω0 )z +1 f0
• Fonction de transfert ()
H z = Ω0 = 2 π a <1
2 2 fe
z − 2acos( Ω0 )z + a
f0
Ω0 = 2 π = 0,4 π a = 0,9
fe
z2 − 2 cos(0,4π )z +1 z2 − 0,62z +1
()
H z =
2 2
=
z −1.8 cos(0,4π )z + 0,9 z2 − 0,56z + 0.81
TdS 8 H. Garnier
Autre exemple :
Suppression d’une note de la gamme musicale
• Objectif : concevoir un filtre réjecteur pour supprimer la
note “sol” de la gamme musicale
TdS 9 H. Garnier
Filtres en peigne (comb filter) pour supprimer
des signaux périodiques
• But : concevoir un filtre qui supprime un signal périodique sans
affecter les autres composantes fréquentielles
M M
∑ bi z −i
∑ bi zM−i
B( z ) i =0 i =0
H( z ) = = =
A( z ) 1 zM
M
∑ bi z−i
B( z ) i =0
H( z ) = =
A( z ) N
∑ ai z−i
i =0
TdS 11 H. Garnier
Méthodes de conception de filtres RIF
- la méthode de la fenêtre
- …
TdS 12 H. Garnier
Synthèse de filtres RIF :
méthode de la fenêtre
Principe
1. On choisit une réponse fréquentielle d’un filtre analogique idéal HA(f)
2. On détermine par transformée de Fourier inverse la réponse impulsionnelle
h(t)=F-1(HA(f))
TdS 13 H. Garnier
Réponse impulsionnelle d’un filtre passe-bas idéal
hA(t) HA(f)
1
TdS 14 H. Garnier
hA(t)
HA(f)
étape 2 1 étape 1
1/Te δfe(f)
1
étape 3
0 t -1 0 1
f/fe
hN(k) =hA(t). δTe(t)
HN(f)= HA(f)* δfe(f)
Te Fenêtre rectangulaire
étape 4
0 M Te/2 t
0 f
h(k) =hN(k). F(t) Apparition d’ondulation dans H(f)=HN(f)* F(f)
les bandes
passante et atténuée
Zone
utile
0 MTe/2 t
0 f
H(k) =hN(k). F(t) H(f)=HN(f)* F(f)
Réduction des ondulations dans
les bandes
passante et atténuée
TdS 16 H. Garnier
Exemple de synthèse sous Matlab : fir1
ordre M=7 ordre M=7
Fenêtre rectangulaire Fenêtre de hamming
h=fir1(7,0.5,boxcar((8)) h=fir1(7,0.5,hamming((8))
0 0
0 fc=fe/4 fe/2 0 fc=fe/4 fe/2
TdS 17 H. Garnier
Utilisation pratique de la méthode
1ère étape: Spécifier la réponse en fréquences désirée du filtre HN(f).
TdS 18 H. Garnier
Utilisation pratique de la méthode
2ème étape : Obtenir la réponse impulsionnelle hN(n) du filtre numérique désiré
par transformée de Fourier inverse, les coefficients de la réponse
impulsionnelle étant les coefficients de la fonction de transfert.
Passe-bas fc
sin(n!c / 2) fc
n!c / 2
Passe-haut !fc
sin(n"c / 2) 1 - fc
n"c / 2
Passe-bande f2
sin(n!2 / 2) sin(n!1 / 2)
" f1 f2 - f1
n!2 / 2 n!1 / 2
Réjecteur de bande f1
sin(n!1 / 2)
" f2
sin(n!2 / 2) 1 -(f2 - f1)
n!1 / 2 n!2 / 2
Rectangulaire 0.7416
1.8/Nc 13 21
N.B. 1 : les fréquences sont normalisées (réduites) par rapport à fe / 2 (comme dans Matlab)
N.B. 2 : Nc = M + 1 : Nombre de coefficients
d’où ordre du filtre : M=Nc -1
TdS 20 H. Garnier
Utilisation pratique de la méthode
4ème étape : Obtenir les valeurs de f(n) pour la fenêtre choisie et les valeurs
vraies des coefficients h(n) et décaler h(n) pour la rendre causale :
Exemple
Déterminer les coefficients d'un filtre RIF passe-bas respectant :
Fréquence de coupure : fc=1.875 kHz
Largeur de transition : Δf=625 Hz
Atténuation en bande atténuée : Aa> 51 dB
Fréquence d'échantillonnage : fe=10 kHz
TdS 21 H. Garnier
Exemple de conception d’un filtre RIF
1. On détermine les fenêtres qui permettent de respecter Aa> 51dB
⇒ D’après le tableau, seules les fenêtres de Hamming, Blackman et Kaiser
permettent d’obtenir Aa> 51dB
2. On calcule la largeur de la zone de transition réduite
Δf 625
Δf = = = 0.125
fe / 2 5000
TdS 22 H. Garnier
Fenêtre de Hamming
Sous Matlab :
>> B=fir1(52,0.4375,hamming(53)); % fir1(M,fn,hamming(N+1))
>> A=1; 20
0
>> fe=10000; -20
-40
>> freqz(B,A,512,fe) -60
-80
-100
-120
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000
Frequency ( Hz)
-500
- 1000
- 1500
- 2000
- 2500
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000
Frequency ( Hz)
TdS 23 H. Garnier
Fenêtre de Blackman
50
Sous Matlab :
0
B=fir1(87,0.4375,blackman(88));
- 50
A=1;
- 100
fe=10000;
0
50 0 1000 1500 2000 2500 3000 3500 4000 4500 5000
freqz(B,A,512,fe) Fr equency ( Hz)
- 1000
- 2000
- 3000
- 4000
- 5000
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000
Frequency ( Hz)
TdS 24 H. Garnier
Synthèse de filtres RIF avec l’interface graphique
filterDesigner de Matlab
TdS 25 H. Garnier
Méthodes de conception de filtres RII
TdS H. Garnier
26
Synthèse de filtres RII par transformation bilinéaire
• Principe
TdS H. Garnier
27
Approximation avancée et transformation bilinéaire
simple
TdS H. Garnier
28
Synthèse de filtres RII – Cas d’un circuit RC
R
y( t ) = h( t )* e( t ) h( t ) rép. imp.
e(t) C y(t) dy( t )
RC + y( t ) = e( t ) ( éq. diff .)
dt
H(s) ? Y ( s ) = H( s )E( s )
TdS H. Garnier
29
Synthèse par approximation avancée et
transformation bilinéaire simple - Exemple
Déterminer le filtre RII équivalent au filtre analogique RC en utilisant :
- l’approximation avancée
- la transformation bilinéaire
- l’équation de récurrence
- T=RC=1ms; Te=T / 2;
TdS H. Garnier
30
Comparaison des réponses fréquentielles
Te=T/10 (ωe=20πωc)
1
RC analogique
0.8 RII avancée
RII bilinéair e
0.6
0.4
0.2
0
2 3 4 5
10 10 10 10
100
RC analogique
50 RII avancée
RII bilinéair e
0
-50
-100
-150
-200
2 3 4 5
10 10 10 10
TdS H. Garnier
31
Comparaison des diagrammes de Bode
Te=T/10 (ωe=20πωc)
0
-10
-20
RC analogique
-30 RII avancée
RII bilinéaire
-40
-50
-60
2 3 4 5
10 10 10 10
100
RC analogique
50 RII avancée
RII bilinéair e
0
-50
-100
-150
-200
2 3 4 5
10 10 10 10
TdS H. Garnier
32
Comparaison des réponses fréquentielles
Te=T/2 (ωe=4πωc)
1
RC analogique
0.8 RII avancée
RII bilinéair e
0.6
0.4
0.2
0
2 3 4
10 10 10
100
RC analogique
50 RII avancée
RII bilinéair e
0
-50
-100
-150
-200
2 3 4
10 10 10
TdS H. Garnier
33
Transformation bilinéaire avec ajustement fréquentiel
z −1 2 ⎛ω T ⎞
s=k k = ωa = k tan ⎜⎜ n e ⎟⎟
z +1 Te
⎝ 2 ⎠
s = jω a
3.5
jωnTe
z=e
3
2.5
TdS H. Garnier
34
Synthèse de filtres RII par transformation
bilinéaire avec ajustement fréquentiel
On note
ωA : pulsation de coupure dans le domaine analogique
ωN : pulsation de coupure dans le domaine numérique
ωe : pulsation d’échantillonnage ωe =2πfe
2. Définir une pulsation de référence ωr pour laquelle on veut faire coïncider les
réponses fréquentielles des filtres analogique et numérique
Rq : pour filtres passe-bas et passe-haut, ωr = ωc
pour filtres passe-bande et coupe-bande, ωr = ω0 pulsation au
centre de la bande passante ou de la bande atténuée,
TdS H. Garnier
35
Synthèse de filtres RII par transformation bilinéaire
avec ajustement fréquentiel
4. Définir une pulsation où l'on voudra identité des réponses fréquentielles
des filtres analogique et numérique
Rq : le plus souvent on choisira cette pulsation = ωr
337.81s
H(s)=
s 2 +337.81s+9.8696´106
TdS H. Garnier
37
Comparaison des réponses fréquentielles
Réponse fréquentielle en amplitude 0 diagramme de Bode en amplitude
1
0.8
analogique-50
0.6
numérique
0.4
-100
0.2
0 -150
0 500 1000 1500 2000 2500 -4 -2 0 2 4
Fréquence en Hz 10 10 10 10 10
Fréquence en Hz
50 50
0 0
-50 -50
-100 -100
-4 -2 0 2 4
0 500 1000 1500 2000 2500 10 10 10 10 10
Fréquence en Hz Fréquence en Hz
TdS H. Garnier
38
Synthèse de filtres RII avec l’interface graphique
filterDesigner de Matlab
TdS H. Garnier
39
Comparatif filtres RIF / RIF
TdS H. Garnier
40
Un autre filtre numérique utile à connaître :
le filtre médian
C’est un filtre numérique non linéaire souvent utilisé pour
– réduire l’effet du bruit
– supprimer les valeurs aberrantes (outliers) ou pics parasites sur un signal
Principe
L'idée principale du filtre médian est de remplacer chaque valeur du signal par la
valeur médiane calculée sur une fenêtre glissante
TdS H. Garnier
42
Exemple : filtrage médian
medfilt1 sous Matlab
TdS H. Garnier
43
Traitement du Signal
Conclusion
• « L’art de faire parler les signaux »
• La transformée de Fourier est un outil majeur
TdS H. Garnier
44
Traitement du Signal
Conclusion
• Les domaines d’applications sont nombreux et variés
Télécoms & radars Médical
Audio Finance