Post on 09-Oct-2018
1
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet1
Filtres à réponse impulsionnelle finie (RIF)
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet2
Objectifs d’apprentissage
Après ce cours vous serez en mesure:
• D’expliquer les conditions pour obtenir un filtre RIF avec une réponse linéaire.
• Faire la conception de filtre RIF en utilisant deux méthodes:
– La méthode des fenêtres
– L’échantillonnage en fréquence
2
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet3
Introduction• Les filtres RIF sont caractérisés par une fonction de
transfert exprimée par un polynôme en z-1 :
(donc, pas de dénominateur => pas de pôles)
• Propriétés :– Réponse stable par défaut
– Réponse en phase linéaire pour un filtre réalisable
– Peuvent demander un temps de calcul excessif
1
0
][N
n
nznhzH
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet4
Introduction
• Utilité d’un système stable par défaut :– Pas besoin de s’assurer de la position des pôles aux bons
endroits
• Avantage d’une réponse en phase linéaire :– L’équation d’entrée/sortie d’un filtre idéal est, dans sa
bande passante :
ou, dans le domaine de Fourier :
Ceci implique une fonction de transfert avec
)t(x)t(y
)(Xe)(Y j
H1)(H
3
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet5
L’équation d’un filtre RIF
• Équation d’entré/sortie:
1
0
N
kk knxbny
x[n] Valeurs successives du signal d’entréebk Coefficients de la fonction de transfert du filtrey[n] Valeurs successives du signal de sortieN Nombre de coefficients du filtre (détermine l’ordre)
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet6
Représentation d’un filtre RIF
• Diagramme de flux
• Deux filtres RIF se distinguent uniquement par leur coefficients!
x[n]
4
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet7
Origine du nom RIF
1N
0kk knxbny
• Si on remplace l’entrée x[n] par une impulsion [n], la sortie est y[n]=h[n] :
1
0
][N
kk knbnh
)1(1 110 Nnbnbnb N
kn 0
kn 1kn
for
for
• Et puisque : • On en déduit :
ou
1
0
1
0
bh
bh
autrement
Nksibkh k
0
1
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet8
Observations
• La réponse impulsionnelle du filtre est égale aux valeurs successives de ses coefficients.
• Pour un filtre d’ordre N :
• Conséquences:
La connaissance des valeurs de h[n] donne automatiquement les coefficients du filtre, et vice-versa
La réponse du filtre est de durée finie et égale à NTe
Nki 0
Nki b kh k
s
s
5
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet9
Réponse en fréquence
• La transformée z de
où bk=h[k] donne:
• La réponse en fréquence du filtre est obtenue en remplaçant z by ejTe :
• La similarité de forme de H() avec une série de Fourier suggère une méthode pour trouver h[n] !
1
0
N
kk knbnh
1
0
N
k
kzkhzH
1
0
N
k
Tjk
eze
eTj enhHzH
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet10
Périodicité de la réponse en fréquence
• Puisque e-j2k = 1, on a:
• Par conséquent, à l’instar de tout système à temps échantillonné, on a :
• En particulier, si on normalise Te à 1, on a:
et la période est simplement 2
HT
k2H
e
1N
0n
Tjn1N
0n
TT
2jn
e
ee
e enhenhT
2H
HkH 2
6
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet11
Nécessité d’un filtre anti-alias
• Conséquences de
• Il faut respecter le critère de Nyquist: (ou si on utilise une période d’échantillonnage normalisée)
=> Utiliser un filtre anti-alias à l’entrée du convertisseur A-N
HT
2H
e
fe/2fe/2fréqfréq
x[n]
y[n]
ee
max fT
FIR y[n]x[n]
CANFiltre anti-alias
x(t)
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet12
Réponse en phase
• Un filtre réalisable possède une réponse en fréquences symétrique (sinon h[n] aurait des valeurs complexes).– Pour un filtre d’ordre N, cela implique :
ou |h[n]| = |h[N-1-n]|
0n
h(n)
1 n n+1 2n+12n
N = 2n + 2
0n
h(n)
1 n n+1 2n2n-1n-1
N = 2n + 1
Symétrie paire Symétrie impaire
ee TnNjTjn enNhenh 11
7
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet13
Réponse en phase
• Si on suppose une symétrie impaire avec N=2n+1:
• Pour un symétrie paire, avec N=2n+2
0111
)1(110
20
)12(1
)1(11
00
2
0
...
......
zhzzhzzhzzhz
zhzhzhzhzhzh
zihzH
nnnnnnn
nnnn
nn
nN
i
i
nn
nn
n
nnnnn
nnnn
nn
nN
i
i
zzhzzhzzhz
zhzhzhzhzhzh
zihzH
2
12
2
121
2
121
2
12
12
12
2
12
02
12
)12(0
21
)1(11
00
12
0
...
......0
n
h(n)
1 n n+1 2n+12n
N = 2n + 2
0n
h(n)
1 n n+1 2n2n-1n-1
N = 2n + 1
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet14
Réponse en phase
• Dans les deux cas, on obtient une expression ou le terme entre crochets est réel (sommes de nombres complexes conjugués) et où l’argument du z hors-crochets donne la réponse en phase du filtre lorsque z=ejTe
– Dans les deux cas de symétrie, la réponse en phase est (ω) ωTe,
c.-à-d. de la forme kω
Condition Phase
2
1Nk Propriété Type de filtre
1 nNhnh
Symétrie positive k Phase linéaire
Symétrie impaire – Type 1
Symétrie paire – Type 2
8
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet15
Réponse en phase• En utilisant le même type de dérivation, on peut montrer
que les filtres antisymétriques ont eux aussi une réponse en phase linéaire
Centre de symétrie
Centre de symétrie
Centre de symétrie
Centre de symétrie
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet16
Conception d’un filtre RIF
• L’approche est similaire à la conception d’un filtre analogique.
• Cinq étapes :1. Spécification du filtre
2. Calcul des coefficients
3. Choix d’une architecture de mise en œuvre.
4. Simulation (option).
5. Implémentation.
9
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet17
Étape 1: Spécification du filtre
(a)
1
f(norm)fc : cut-off frequency
pass-band stop-band
pass-band stop-bandtransition band
1
s
pass-bandripple
stop-bandripple
fpb : pass-band frequency
fsb : stop-band frequency
f(norm)
(b)
p1
s
p0
-3
p1
fs/2
fc : cut-off frequency
fs/2
|H(f)|(dB)
|H(f)|(linear)
|H(f)|
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet18
Étape 1: exemple• Créer un filtre pour accentuer la sonorité d’un
trombone.– Passe-bande
– Transmission: 150-3000 Hz
– Transition: 100 Hz
– Échantillonnage:44 000 Hz
10
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet19
Spécification• Souvent, on ramène le design à la spécification d’un
filtre passe-bas normalisé – L’échelle des fréquences est modifiée de manière à ce que
la fréquence de coupure devienne 1 ( k); une fois le filtre conçu, on revient à l’échelle des fréquences originale( /k).
• Les filtre filtres passe haut, passe bande et coupe bande peuvent être spécifiés en termes d’un filtre passe bas normalisé équivalent.– On effectue un changement de variable pour obtenir le
filtre passe bas équivalent et on défait le changement à la fin.
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet20
Étape 2: calcul des coefficients de h[n]
• Il existe plusieurs méthodes dont :– L’approximation par série de Fourier inverse
tronquée du spectre d’amplitude (méthode des fenêtres ).
– La série de Fourier inverse du spectre d’amplitude échantillonné en fréquence
– La méthode de Parks-McClellan
– Etc…
11
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet21
La méthode des fenêtres• Comme bk=h[k], le calcul des coefficients revient à
trouver la réponse impulsionnelle du filtre
• On part de l’amplitude de la réponse en fréquence d’un filtre idéal et on prend sa transformée de Fourier inverse.
• Pour un filtre passe bas avec Te normalisé à 1:
Séquence infinie! On la tronque en pratique.
2... 0,1, ,
sin2
12
1
2
1
nn
nf
de
deHnh
c
cc
nj
njd
c
c
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet22
La méthode des fenêtres
Type de filtre
Passe-bas
Passe-haut
Passe-bande
Coupe-bande pour
pour
pour
pour
Réponse impulsionnelle idéaleh[n] (coefficients non causals)
• définitlepoint de troncation et est relié à l ordre dufiltre
12
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet23
La méthode des fenêtres
• Si on limite la progression de n à N, cela revient à multiplier hd[n] par une fenêtre rectangulaire de même largeur, modifiant ainsi hd[n].– L’effet est la convolution de H(ω) par la transformée de
Fourier de la fenêtre rectangulaire, ce qui affecte aussi la réponse en fréquence du filtre.
• On peut minimiser l’effet en utilisant des fenêtres non rectangulaire.– L’ordre du filtre, N, dépendra du type de fenêtre et de la
largeur de la bande de transition.
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet24
La méthode des fenêtres
• Calcul des coefficients du filtre tronqué:
• Par exemple, fenêtre de Hamming (avec Te=1) :
pair pour
impair pour
22
2
1
2
1
N
NN
nN
Nn
N
133
2cos46.054.0
2
cos46.054.0][
n
N
nnW
N=133 et -66 ≤ n ≤ 66 dans l’exemple
nWnhnh d
13
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet25
Exemple• Exemple de réponse passe bas à fenêtre de
Hamming (fe=8kHz, fc=1.3 kHz, Δf=200 Hz)
0 5 10 15 20 25-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
Coefficient number
Val
ueTruncated Impulse Response
0.002680185144672
-0.001175459081146
-0.007352762361627
0.000674199916282
-0.011061614566310
0.004884445218787
0.053381802959437
-0.003877229761413
0.028520376706076
-0.008868219888928
-0.296393895946737
0.008172485670763
0.462500000000000
0.008172485670763
-0.296393895946737
-0.008868219888928
0.028520376706076
-0.003877229761413
0.053381802959437
0.004884445218787
-0.011061614566310
0.000674199916282
-0.007352762361627
-0.001175459081146
0.002680185144672
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet26
La méthode des fenêtres
• Fenêtres communes (-M ≤ n ≤ M)
– Rectangulaire: w 1
– Hanning: w 0,5 0,5 cos
– Hamming: w 0,54 0,46 cos
– Blackman:
w 0,42 0,5 cos 0,08cos
14
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet27
La méthode des fenêtres
-40 -30 -20 -10 0 10 20 30 400
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Number of samples
Mag
nitu
de
O: triangulaire (Bartlett)+: Hanning─: Hamming--:Blackman
• Grandes ressemblances, mais effets différent sur la réponse du filtre!
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet28
Fenêtre de Kaiser
• La plus efficace à priori :
1
0
, 0
où α=M/2 et I0(x) est la fonction de Bessel modifiée d’ordre zéro.
• La forme de la fenêtre peut être ajustée en changeant M et/ou β.
autrement
15
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet29
La méthode des fenêtres
• Kaiser a démontré de façon empirique que β est relié à δ , l’ondulation dans la bande passante, par:
0,1102 8,7 , 500,584 21 , 0,07886 21 21 50
0 2120 log
et M suit la relation :
28
2,285
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet30
La méthode des fenêtres
β = 6
M = 20
16
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet31
La méthode des fenêtres• On trouve l’ordre du filtre selon la largeur de la bande de transition,
une fois choisie l’atténuation dans la bande d’arrêt.
Fenêtre Bande de transition normalisée (f(Hz))
Ondulation dans la bande passante (dB)
Atténuation dans la bande d’arrêt (dB)
Amplitude du lobe secondaire
(dB)
β de la fenêtre de Kaiser
équivalente
Rectangulaire N
9.0 0.7416 -21 -13 0
Hanning N
1.3 0.0546 -44 -31 3.86
Hamming N
3.3 0.0194 -53 -41 4.86
Blackman N
5.5 0.0017 -74 -57 7.04
Kaiser
54.493.2
N
96.871.5
N
0.0274
0.000275
-50
-90
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet32
Exemple
0 500 1000 1500 2000 2500 3000 3500 4000-5000
-4000
-3000
-2000
-1000
0
1000
Frequency (Hz)
Pha
se (
deg
ree
s)
0 500 1000 1500 2000 2500 3000 3500 4000-70
-60
-50
-40
-30
-20
-10
0
10
Frequency (Hz)
Mag
nitu
de (
dB
)
Hamming, N=25 et N=101
17
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet33
Exemple: Trombone
• Bande de transmission: 150-3000 Hz
• Bande de transition: 100 Hz
• Fréquence d’échantillonnage: 44 000 Hz
• Filtre avec M=5 (N=2)
• Fenêtre de Blackman
1. Normalisation des fréquences
Ω 2 215044000
3440
Ω 2 2300044000
322
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet34
Exemple: Trombone
2. Calcul les coefficients selon les formules
0Ω Ω 3
223440 0,1295
1sin Ω sin Ω
0,1254
2sin 2Ω
2sin 2Ω
20,1135
18
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet35
Exemple: Trombone
3. Ajustement des coefficients avec la fenêtre de Blackman
w 0,42 0,5 cos 0,08cos2
w 0 0,42 0,5 0,08 1w 1 0,42 0,08 0,34w 2 0,42 0,5 0,08 0
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet36
Exemple: Trombone
4. La fonction de transfert est:
0,0426 0,1295 0,0426
5. L’équation aux différences est:
0,0426 0,1295 1 0,0426 2
19
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet37
Exemple: Trombone
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet38
Exemple: Trombone• N=201
20
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet39
Exemple: Trombone
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet40
Exemple: Passe-haut• On veut un filtre passe-haut avec 5 coefficients avec une
fréquence de coupure de 250 Hz fonctionnant avec une fréquence d’échantillonnage de 1 kHz basé sur la fenêtre de Hamming.
1. Normalisation des fréquences
Ω 2 22501000
12
21
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet41
Exemple: Passe-haut
2. Calcul des coefficients en utilisant les formules
0Ω 1
2 0,5
1sin Ω
0,318
2sin 2Ω
20
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet42
Exemple: Passe-haut3. Ajustement des coefficients avec la fenêtre:
w 0,54 0,46 cos
w 0 0,54 0,46 1w 1 0,54 0 0,54
4. La fonction de transfert est:
0,1719 0,5 0,1719
22
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet43
Exemple: Passe-haut
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet44
Exemple: Nombre de coefficients• Filtre coupe-bande:
– Bande-passante basse: 0-1.2 kHz
– Bande d’arrêt: 1.6-2.0 kHz
– Bande-passante haute: 2.4-4.0 kHz
– Ondulation dans la bande-passante: 0.05 dB
– Atténuation dans la bande d’arrêt: 60 dB
– Fréquence d’échantillonnage: 8.0 kHz
• Trouver la fenêtre et le nombre de coefficients.
23
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet45
Exemple: Nombre de coefficients• À partir du tableau des fenêtres :
– Ondulation de 0.05 dB Fenêtre de Blackman
• Longueur du filtre:
∆5.5
→5.5
1.6 1.28.0
110
5.52.4 2.0
8.0
110 →
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet46
La méthode des fenêtres• Code MATLAB pour calculer les coefficients:% filtre passe bas : fc = 8000 Hz, fe = 44100 Hz, N=133 (|M|=66), fenetre de Blackman
close all;clear all;
fc = 8000/44100; % frequence de coupureN = 133; % nombre de valeurs (“taps”)n = -((N-1)/2):((N-1)/2);n = n+(n==0)*eps; % seulement pour prevenir la division par 0
[h] = sin(n*2*pi*fc)./(n*pi); % generation de la sequence de coefficients ideaux[w] = 0.54 + 0.46*cos(2*pi*n/N); % generation de la fenetred = h.*w; % filter ideal modifiéfigure(1);stem(d); % Tracé des valeurs de coefficients obtenuesxlabel('Coefficient number');ylabel ('Value');title('Truncated Impulse Response');
figure(2)freqz(d,1,512,44100); % freqz trace les reponses en amplitude et en phase axis([0 2*10^4 -70 10]);
24
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet47
La méthode des fenêtres
0 0.5 1 1.5 2
x 104
-6000
-4000
-2000
0
Frequency (Hz)
Pha
se (
degr
ees)
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
x 104
-60
-40
-20
0
Frequency (Hz)
Mag
nitu
de (
dB)
0 20 40 60 80 100 120 140-0.1
0
0.1
0.2
0.3
0.4
Coefficient number
Val
ue
Truncated Impulse Response
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet48
Conception de filtre RIF par échantillonnage en fréquence
• Au lieu de tronquer la transformée inverse de la réponse en fréquence idéale désirée, on l’échantillonne uniformément.– Utilise aussi la TFD inverse pour trouver les coefficients.
• On obtient un système causal en délayant la réponse
• On assume la symétrie des coefficients pour obtenir une réponse en phase linéaire.
• Approche très flexible.
25
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet49
Échantillonnage en fréquence
1
où
cos2
sin2
Équivalent à:
12 1
2 cos22 1
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet50
Exemple• Transmission: 150-3000 Hz
• Transition: 100 Hz
• Échantillonnage: 44 000 Hz
• Échantillonnage de la réponse en fréquence: 220 Hz
1. La valeur des échantillons en fréquence H(k) est:
H(0) = 0
H(1-14) = 1
H(18-200) = 0
1201
2 cos2 100
201
26
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet51
Exemple
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet52
Exemple
27
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet53
Exemple
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet54
Comparaison• Fenêtre vs. Fréquence
28
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet55
• Motivation
– La fenêtre rectangulaire devrait minimiser l’erreur quadratique moyenne entre le filtre idéal et celui obtenu après troncation de la réponse impulsionnelle
12
– Mais la discontinuité lors de la transition de la bande passante à celle d’arrêt créé des ondulations indésirables de grande amplitude (phénomène de Gibbs)
– Les autres fenêtres établissent un compromis entre le niveau d’ondulation et l’erreur de représentation.
Filtres à ondulations également reparties
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet56
• On aimerait pouvoir réduire l’effet du phénomène de Gibbs afin d’obtenir l’ordre N le plus bas pour un niveau d’erreur donné
• La méthode des fenêtres et l’échantillonnage en fréquence n’offrent pas de contrôle sur la distribution de l’erreur
Filtres à ondulations également reparties
29
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet57
Filtres à ondulations également reparties• But:
– Réduire l’ordre de l’équation de transfert du filtre pour un niveau d’erreur donné.
• Autrement dit, trouver l’équation optimale pour un ordre donné.
• Approche:– Distribuer l’erreur sur toute la bande passante
(equiripple filter)
– Permettre d’obtenir un niveau d’erreur différent dans la bande passante et la bande d’arrêt.
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet58
Filtres à ondulations également reparties
30
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet59
• Principe :– Transformer la conception du filtre en
l’optimisation d’une approximation polynomiale
∑ ∑ cos
• Définir la forme de l’équation optimale en termes de l’erreur de l’erreur maximale tolérée (utilisation du théorème d’alternance)
• Appliquer l’algorithme de Parks-McClellan pour trouver les coefficients de l’équation (lui-même basé sur d’autre algorithmes dont l’algorithme d’échange de Remez)
• Procédure complexe et non intuitive!
Filtres à ondulations également reparties
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet60
Algorithme Parks-McClellanEstimation de (M+2) fréquences d’extrême
Calcule du δ sur l’ensemble de fréquence d’extrême
Interpolation sur (M+1) pour obtenir A(ejω)
Calcule l’erreur E(ω) et recherche de les maximums locaux
Meilleur approximation
Vérifie si les fréquences d’extrême ont changé
Plus de (M+2) extrêmes?
Garde les (M+2) plus
grand extrêmeNon
Oui
Changé
Inchangé
31
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet61
Conception avec Parks-McClellan1. Normaliser les fréquences définissant les extrémités des bandes par
rapport à la fréquence de pliure (féchantillonnage/2).
2. Calculer les valeurs absolues des ondulations tolérées dans la bande passante et l’atténuation dans la bande d’arrêt.
10
1
10
3. Trouve les poids (W).
é
é
3. Utilise l’algorithme de Remez pour trouver les coefficients.
4. Si les spécifications ne sont pas respectées, on augmente l’ordre et recommence.
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet62
Exemple• Filtre passe-bas, spécifications:
– Fréquence d’échantillonnage: 8 000 Hz
– Bande de passage: 0-800 Hz
– Bande d’arrêt: 1 000 – 4 000 Hz
– Ondulation dans la bande passante: 1 dB
– Atténuation dans la bande d’arrêt: 40 dB
– Ordre du filtre: 53
32
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet63
Exemple• Fréquences normalisées:
– 0 Hz: 0/4000 = 0 magnitude:1
– 800 Hz: 800/4000= 0,2 magnitude:1
– 1000 Hz: 1000/4000= 0,25 magnitude:0
– 4000 Hz: 4000/4000= 1 magnitude:0
• Les poids:
10
1 0,122 10
0,01
12,2121
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet64
Code Matlab fs=8000; %Fréquence d'échantillonnage
N=53; %Ordre du filtre
f=[0 0.2 0.25 1]; %Fréquences de coupures
m=[1 1 0 0]; %Amplitude optimales
w=[1 12]; %Poids
b=remez(N,f,m,w); %Algorithme de Remez
freqz(b,1,512,fs) %Affichage des résultats
axis([0 fs/2 -80 10]); %Ajustement des axes
33
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet65
Exemple
0 500 1000 1500 2000 2500 3000 3500 4000-80
-70
-60
-50
-40
-30
-20
-10
0
10
Frequency (Hz)
Mag
nitu
de (
dB)
0 500 1000 1500 2000 2500 3000 3500 4000-1400
-1200
-1000
-800
-600
-400
-200
0
Frequency (Hz)
Pha
se (
degr
ees)
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet66
Exemple
• Passe-bande
• Transmission: 2 500-4 000 Hz
• Transition: 200 Hz
• Échantillonnage: 10 000 Hz
• Ondulation: 2 dB
• Atténuation: 20 dB
34
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet67
Exemple• Fréquences normalisées:
– 0 Hz: 0/5000 = 0 mag.:0
– 1300 Hz: 1300/5000 = 0,26 mag.:0
– 1500 Hz: 1500/5000= 0,3 mag.:1
– 3000 Hz: 3000/5000= 0,6 mag.:1
– 3200 Hz: 3200/5000 = 0,64 mag.:0
– 5000 Hz: 5000/5000= 1 mag.:0
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet68
Exemple• Les poids:
10
1 0, 26 10
0,1
2,6135
35
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet69
Exemple
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet70
Mise en œuvre• On peut utiliser toutes les formes discutées
précédemment et leur transposées– Direct
– Cascade
– Parallèlez
-1z
-1z
-1
+ + +
b0
b2
bN-1
y(n)
x(n)
b1
36
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet71
Mise en œuvre
• La symétrie des filtres linéaires en phase permet de réduire les multiplications.
+
b0+
+
+
+b
1
+b
2
+b
N/2-1
y(n)
z-1
z-1
z-1
z-1
z-1
+
b0
+
+
+
+b
1
+b
2
+b(N-3)/2
y(n)
x(n)
b(N-1)/2
+
z-1
z-1
z-1
z-1
z-1
z-1
N pair
N impair
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet72
FDATool de matlab
37
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet73
Sommaire• Les filtres FIR sont stables par défaut.
• Lorsque les coefficients de la réponse impulsionnelle sont réels et symétriques ou antisymétriques, la réponse en phase est linéaire.
• Deux méthodes possibles pour la conception de filtres RIF:– Méthode des fenêtres
– Échantillonnage en fréquence
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet74
Sommaire• L’algorithme Parks-McClellan permet d’obtenir l’équation
optimale définissant un filtre où l’erreur d’ondulation est distribuée (equiripple) pour un ordre donné.
• L’optimisation est garantie par le théorème d’alternance.
• Procédure de conception:– Normalise les fréquences (avec fe/2)
– Trouve les poids
– Algorithme de Remez
– Inverse TFD
• La symétrie de la réponse impulsionnelle permet de réduire le nombre de multiplication lors de la mise en œuvre.
38
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet75
SommaireMéthode Fenêtre Échantillonnage Parks-McClellan
Type de filtre 1. Passe-bas, passe-haut,passe-bande, Coupe-bande
2. Équations pas valide pour des réponses arbitraires
1. Tous types de filtre2. Équations valide
pour des réponses arbitraires
1. Tous types de filtre2. Équations valide
pour des réponses arbitraires
Phase linéaire Oui Oui Oui
Spécification des ondulations et de l’atténuation
Utilisé pour déterminer l’ordre du filtre et les fréquences de coupure
Doit être vérifié après chaque itération
Nécessaire pour l’algorithme mais doit
être vérifié après chaque itération
Complexité de l’algorithme
Modéré Simple Compliqué
Outils de conception requis
Calculatrice Calculatrice Logiciel
MIC4220, Traitement numérique des signaux
Mounir Boukadoum, Michaël Ménard et sources sur Internet76
Prochain cours• Problèmes
– 7.1, 7.3, 7.5, 7.7, 7.9, 7.11, 7.13, 7.17, 7.34, 7.35
• Lecture– Chapitres 7 et 8 de Tan