synthèse de filtres numériques
DESCRIPTION
Synthèse de filtres numériques. Généralités T. Bilinéaire RIF à linéaire. B. David SI 240, TSMECS Octobre 2006. Généralités. Critères de choix. RIF ou RII ? RII : + : complexité, imitation des filtres analogiques - PowerPoint PPT PresentationTRANSCRIPT
1
Synthèse de filtres numériques
B. DavidSI 240, TSMECSOctobre 2006
B. DavidSI 240, TSMECSOctobre 2006
GénéralitésT. BilinéaireRIF à linéaire
GénéralitésT. BilinéaireRIF à linéaire
2Oct. 2006 SI240-TSMECS
Critères de choix
RIF ou RII ?
RII : + : complexité, imitation des filtres analogiques - : pb d’arrondis de calcul cumulatifs, sensibilité à la représentation finie
des coefficients, phase non linéaire
RIF : + : phase exactement linéaire possible, garantie de stabilité, non
cumulation des erreurs de calcul (non récursifs) - : complexité (par ex. pour traduire des résonances ou pour assurer une
bonne sélectivité)
RIF ou RII ?
RII : + : complexité, imitation des filtres analogiques - : pb d’arrondis de calcul cumulatifs, sensibilité à la représentation finie
des coefficients, phase non linéaire
RIF : + : phase exactement linéaire possible, garantie de stabilité, non
cumulation des erreurs de calcul (non récursifs) - : complexité (par ex. pour traduire des résonances ou pour assurer une
bonne sélectivité)
Généralités
3Oct. 2006 SI240-TSMECS
Spécifications d’un filtre numérique
Généralités
4Oct. 2006 SI240-TSMECS
construction empirique d’un filtre passe-bas IIR
on suppose
pour construire la bande atténuée, on place des zéros en 0.1, 0.2...
0.5.
on suppose
pour construire la bande atténuée, on place des zéros en 0.1, 0.2...
0.5.
Généralités
0 0.1 0.2 0.3 0.4 0.5-200
-100
0
Frequency (Hz)
Ph
ase
(d
eg
ree
s) 0 0.1 0.2 0.3 0.4 0.5
-40
-20
0
20
Ma
gn
itu
de
(d
B)
Code
z = exp(j*2*pi*[0.1 .2 .3 0.4 0.5]);z = [z conj(z)];N = poly(z);
freqz(N,1,4096,1)
5Oct. 2006 SI240-TSMECS
construction empirique d’un filtre passe-bas IIR
le filtre n’est pas « plat » dans sa bande passante
on cherche à compenser par le placement d’un pole tel que
le filtre n’est pas « plat » dans sa bande passante
on cherche à compenser par le placement d’un pole tel que
Généralités
0 0.1 0.2 0.3 0.4 0.5-200
-100
0
100
Frequency (Hz)
Ph
ase
(d
eg
ree
s)
0 0.1 0.2 0.3 0.4 0.5-20
0
20
40
Ma
gn
itu
de
(d
B)
Dénominateur seul
6Oct. 2006 SI240-TSMECS
construction empirique d’un filtre passe-bas IIR
Généralités
0 0.1 0.2 0.3 0.4 0.5-300
-200
-100
0
Frequency (Hz)
Ph
ase
(d
eg
ree
s)
0 0.1 0.2 0.3 0.4 0.5
-40
-20
0
20
Ma
gn
itud
e (
dB
)
7Oct. 2006 SI240-TSMECS
diagramme poles-zeros typique
Généralités > construction empirique IIR
Bande de transition
o
oo
o
o
oo
o
8Oct. 2006 SI240-TSMECS
Transformation bilinéaire
Définition et propriétés
Laplace Ha(p) fonction de transfert en H(z) en posant
Transforme le demi-plan gauche intérieur du C1 (conserve la stabilité)
la droite imaginaire C1
Définition et propriétés
Laplace Ha(p) fonction de transfert en H(z) en posant
Transforme le demi-plan gauche intérieur du C1 (conserve la stabilité)
la droite imaginaire C1
Synthèse des RII par T.B.
9Oct. 2006 SI240-TSMECS
Transformation bilinéaire
Synthèse des RII par T.B.
Plan P
Plan Z
10Oct. 2006 SI240-TSMECS
Exemple du passe bas du premier ordre
fonction de transfert du type
soit c = 1/.
Ex: Fe = 8000 Hz, fc = 1000 Hz conduit à choisir la fréquence de coupure du filtre numérique !
on peut par exemple prendre c = 1
conduit à
calcul final
fonction de transfert du type
soit c = 1/.
Ex: Fe = 8000 Hz, fc = 1000 Hz conduit à choisir la fréquence de coupure du filtre numérique !
on peut par exemple prendre c = 1
conduit à
calcul final
Synthèse des RII par T.B.
11Oct. 2006 SI240-TSMECS
Exemple du passe bas du premier ordre
Synthèse des RII par T.B.
12Oct. 2006 SI240-TSMECS
Exemple : maximalement plat en = 0
filtre de Butterworth
Réponse en fréquence
2N-1 dérivées nulles en 0 :
filtre de Butterworth
Réponse en fréquence
2N-1 dérivées nulles en 0 :
Synthèse des RII par T.B.
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5-200
-150
-100
-50
0
Frequency (Hz)
Ph
ase
(d
eg
ree
s)
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5-100
-80
-60
-40
-20
0M
ag
nitu
de
(d
B)
13Oct. 2006 SI240-TSMECS
Exemple : filtres à ondulations constante
Filtres elliptiques
forme particulière du gain faisant intervenir des fonctions elliptiques
condition sur les fréquences de transition : c A = 1
obtenue itérativement à partir des données initiales c et A
Filtres elliptiques
forme particulière du gain faisant intervenir des fonctions elliptiques
condition sur les fréquences de transition : c A = 1
obtenue itérativement à partir des données initiales c et A
Synthèse des RII par T.B.
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.50
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
fréquence
|H|
A
c Filtre elliptique d'ordre 4 (0.1, -20dB,
c=0.15)
14Oct. 2006 SI240-TSMECS
Synthèse des filtres à RIF
Filtres RIF à phase linéaire
intérêt majeur des RIF : peuvent avoir une phase exactement linéaire
Définition
propriété : si le support fréquentiel du signal d’entrée est dans la bande passante (avec HR()=c dans la BP), alors
où xa(t) est la reconstruction parfaite analogique à partir des échantillons x(n) à la cadence 1.
Filtres RIF à phase linéaire
intérêt majeur des RIF : peuvent avoir une phase exactement linéaire
Définition
propriété : si le support fréquentiel du signal d’entrée est dans la bande passante (avec HR()=c dans la BP), alors
où xa(t) est la reconstruction parfaite analogique à partir des échantillons x(n) à la cadence 1.
Synthèse des RIF
15Oct. 2006 SI240-TSMECS
Exemple IIR (phase NL) vs FIR à phase lin.
signal d’entrée : SF du carré à 3 composantes
IIR = filtre elliptique, RIF à phase lin. à ondulation constantes
même niveaux d’ondulation dans les bp et ba
même fréquences de coupure, > fréq. supérieure du spectre d’entrée
signal d’entrée : SF du carré à 3 composantes
IIR = filtre elliptique, RIF à phase lin. à ondulation constantes
même niveaux d’ondulation dans les bp et ba
même fréquences de coupure, > fréq. supérieure du spectre d’entrée
Synthèse des RIF > RIF à phase linéaire
0 50 100 150 200 250 300 350 400-1.5
-1
-0.5
0
0.5
1
1.5
temps discret
am
plit
ud
eentréey elliptiquey rif
16Oct. 2006 SI240-TSMECS
Symétrie de la réponse impulsionnelle
on considère un filtre h(n) causal, réèl, à phase linéaire. Montrer que est nécessairement un demi-entier, = p/2 p 2 Z
en déduire que HR() est au moins périodique de période 2.
Montrer que d = ej2 vaut 1 ou j.
On pose G(ej2) = HR(2). Etudier les symétries possibles pour g(n). Montrer la relation
interpréter le résultat en terme de suréchantillonnage. En déduire la valeur de p en fonction de la longueur N de la RI.
on considère un filtre h(n) causal, réèl, à phase linéaire. Montrer que est nécessairement un demi-entier, = p/2 p 2 Z
en déduire que HR() est au moins périodique de période 2.
Montrer que d = ej2 vaut 1 ou j.
On pose G(ej2) = HR(2). Etudier les symétries possibles pour g(n). Montrer la relation
interpréter le résultat en terme de suréchantillonnage. En déduire la valeur de p en fonction de la longueur N de la RI.
Synthèse des RIF > RIF à phase linéaire
17Oct. 2006 SI240-TSMECS
-15 -10 -5 0 5 10 150
0.5
1
g(n
)
type I
-15 -10 -5 0 5 10 150
0.5
1
g(n
-p)
-15 -10 -5 0 5 10 150
0.5
1
h(n
)
temps discret
Cas longueur impaire, entier
Synthèse des RIF > RIF à phase linéaire
si d=1 : G est paire, réelle g est paire et réelle. si d=1 : G est paire, réelle g est paire et réelle.
18Oct. 2006 SI240-TSMECS
Cas longueur paire, demi-entier
Synthèse des RIF > RIF à phase linéaire
si d=1 : G est paire, réelle g est paire et réelle. si d=1 : G est paire, réelle g est paire et réelle.
-15 -10 -5 0 5 10 150
0.5
1
g(n
)type II
-15 -10 -5 0 5 10 150
0.5
1
g(n
-p)
-15 -10 -5 0 5 10 150
0.5
1
h(n
)
temps discret
19Oct. 2006 SI240-TSMECS
Cas longueur impaire, entier
Synthèse des RIF > RIF à phase linéaire
si d=j : G est impaire, réelle g est impaire et imaginaire. si d=j : G est impaire, réelle g est impaire et imaginaire.
-15 -10 -5 0 5 10 15-1
0
1
d g
(n)
type III
-15 -10 -5 0 5 10 15-1
0
1
d g
(n-p
)
-15 -10 -5 0 5 10 15-1
0
1
h(n
)
temps discret
20Oct. 2006 SI240-TSMECS
Cas longueur paire, demi-entier
Synthèse des RIF > RIF à phase linéaire
si d=j : G est impaire, réelle g est impaire et imaginaire. si d=j : G est impaire, réelle g est impaire et imaginaire.
-15 -10 -5 0 5 10 15-1
0
1
d g
(n)
type IV
-15 -10 -5 0 5 10 15-1
0
1
d g
(n-p
)
-15 -10 -5 0 5 10 15-1
0
1
h(n
)
temps discret
21Oct. 2006 SI240-TSMECS
En résumé
Synthèse des RIF > RIF à phase linéaire
Type IN impair
symétrique-
Passe-basPasse-Haut
Passe-Bande
Type IIN pair
symétriqueH(-1) = 0
Passe-bas,Passe-bande
Type IIIN impairanti-sym.
H(0)=H(-1) = 0
Différentiateur,Transformateur
de Hilbert, Passe-bande
Type IVN pair
anti-sym.H(0) = 0
Différentiateur,Transformateur
de Hilbert,Passe Haut
22Oct. 2006 SI240-TSMECS
Filtres spéciaux
lié au facteur j dans la réponse en fréquence des types III et IV.
Différentiateur : réalise une approximation de l’opérateur différentiel en temps, dans le domaine fréquentiel :
Transformateur de Hilbert. Soit H la réponse en fréquence du filtre linéaire tel que
H: x(n) → x_h(n) H: cos(20 n) → sin(20 n), 8 0 2 [-0.5 0.5]
Déterminer la fonction H(ej2) pour 2 ]-0.5 0[ U ]0 0.5[. Préciser ensuite sa valeur aux points 0 et 0.5
En déduire l’intérêt présenté par les types III et IV pour réaliser le filtre H.
Signal analytique. Soit le filtre H_a: x(n) → x_a(n) = x(n)+j x_h(n). x_a(n) est le signal analytique associé au signal réel x(n).
lié au facteur j dans la réponse en fréquence des types III et IV.
Différentiateur : réalise une approximation de l’opérateur différentiel en temps, dans le domaine fréquentiel :
Transformateur de Hilbert. Soit H la réponse en fréquence du filtre linéaire tel que
H: x(n) → x_h(n) H: cos(20 n) → sin(20 n), 8 0 2 [-0.5 0.5]
Déterminer la fonction H(ej2) pour 2 ]-0.5 0[ U ]0 0.5[. Préciser ensuite sa valeur aux points 0 et 0.5
En déduire l’intérêt présenté par les types III et IV pour réaliser le filtre H.
Signal analytique. Soit le filtre H_a: x(n) → x_a(n) = x(n)+j x_h(n). x_a(n) est le signal analytique associé au signal réel x(n).
Synthèse des RIF > RIF à phase linéaire
23Oct. 2006 SI240-TSMECS
Différentiateur : exemple
Synthèse des RIF > RIF à phase linéaire > filtres spéciaux
h = remez(11,[0 0.49]*2,[0 2*pi*.49],'d');
0 20 40 60 80 100 120 140-0.5
0
0.5
n
xy dx/dt
0 0.1 0.2 0.3 0.40
1
2
3
|H|
0 0.1 0.2 0.3 0.4-30
-20
-10
0
10
H
24Oct. 2006 SI240-TSMECS
Transformateur de Hilbert : exemple
Synthèse des RIF > RIF à phase linéaire > filtres spéciaux
h = remez(60,2*[.01 .25 .3 .5],[1 1 0 0],[1 10],'h');
0 20 40 60 80 100 120-2
-1
0
1
2
n
x(n)=cos(20 n)
xh
0 0.1 0.2 0.3 0.4-100
-80
-60
-40
-20
0
20
fréquence réduite
|H| dB
0 0.1 0.2 0.3 0.4-60
-40
-20
0
H
25Oct. 2006 SI240-TSMECS
Synthèse : méthodes pour les RIF
méthode de la fenêtre : permet de comprendre le compromis à atteindre entre le niveau d’ondulation et la largeur de transition
méthode d’optimisation sous contrainte, notion de « filtre propre »
méthode d’optimisation par minimisation de la norme L1 d’une fonction d’erreur pondérée.
méthode de la fenêtre : permet de comprendre le compromis à atteindre entre le niveau d’ondulation et la largeur de transition
méthode d’optimisation sous contrainte, notion de « filtre propre »
méthode d’optimisation par minimisation de la norme L1 d’une fonction d’erreur pondérée.
Synthèse des RIF
26Oct. 2006 SI240-TSMECS
Synthèse à fenêtre
Algorithme simple : inversion de Hidéal
troncature symétrique multiplication par une fenêtre finie décalage pour rendre le filtre causal
Donne nécessairement type I ou III (N impair)
Exemple : soit Hi(ej2) ci-contre
calculer hi(n)
en déduire h(n) par troncaturerectangulaire de longueur 2P-1,P = 4.
Représenter H(ej2)
Algorithme simple : inversion de Hidéal
troncature symétrique multiplication par une fenêtre finie décalage pour rendre le filtre causal
Donne nécessairement type I ou III (N impair)
Exemple : soit Hi(ej2) ci-contre
calculer hi(n)
en déduire h(n) par troncaturerectangulaire de longueur 2P-1,P = 4.
Représenter H(ej2)
Synthèse des RIF > synthèse des RIF
Hi(ej2)
c 0.5
27Oct. 2006 SI240-TSMECS
Synthèse à fenêtre : Gibbs et transition
Synthèse des RIF > synthèse des RIF
28Oct. 2006 SI240-TSMECS
Optimisation de la synthèse à Fenêtre
Fenêtre paramétrable de Kaiser
qques pb liés à la méthode à fenêtre ajuster indépendamment le niveau d’ondulation en bande coupée et la
largeur de transition le niveau d’ondulation est le même en bande coupée et passante
fenêtre de Kaiser dépend d’un paramètre qui ajuste 2 en bande atténuée
on joue ensuite sur la longueur du filtre pour la bande de transition longueur N =2M+1, I0 : fonction de Bessel modifiée de 1ere espèce
Fenêtre paramétrable de Kaiser
qques pb liés à la méthode à fenêtre ajuster indépendamment le niveau d’ondulation en bande coupée et la
largeur de transition le niveau d’ondulation est le même en bande coupée et passante
fenêtre de Kaiser dépend d’un paramètre qui ajuste 2 en bande atténuée
on joue ensuite sur la longueur du filtre pour la bande de transition longueur N =2M+1, I0 : fonction de Bessel modifiée de 1ere espèce
Synthèse des RIF > synthèse des RIF
29Oct. 2006 SI240-TSMECS
Optimiser la fenêtre sous contrainte
Prolates sphéroïdes
on cherche à maximiser l’énergie en bande passante sous contrainte unitaire, i.e.
on cherche
sous contrainte
montrer que ce pb peut se ramener à la maximisation de la forme
quadratique
sous la contrainte hH h = 1, avec
Prolates sphéroïdes
on cherche à maximiser l’énergie en bande passante sous contrainte unitaire, i.e.
on cherche
sous contrainte
montrer que ce pb peut se ramener à la maximisation de la forme
quadratique
sous la contrainte hH h = 1, avec
Synthèse des RIF > synthèse des RIF
30Oct. 2006 SI240-TSMECS
Optimiser la fenêtre sous contrainte
Prolates sphéroïdes et filtres propres
terme général de R :
définie positive (Réelle symétrique)
algorithme de calcul 1. calcul de R 2. décomposition aux valeurs propres 3. h = vecteur propre unitaire associé à la plus grande valeur propre
extension : contrainte en minimisation d’erreur quadratique sur les différentes bandes → filtres propres.
Prolates sphéroïdes et filtres propres
terme général de R :
définie positive (Réelle symétrique)
algorithme de calcul 1. calcul de R 2. décomposition aux valeurs propres 3. h = vecteur propre unitaire associé à la plus grande valeur propre
extension : contrainte en minimisation d’erreur quadratique sur les différentes bandes → filtres propres.
Synthèse des RIF > synthèse des RIF
31Oct. 2006 SI240-TSMECS
Exemple
Synthèse des RIF > synthèse des RIF > optimisation sous contrainte
clear allnu0 = 0.05; % freq de coupureN = 33 ; % longueur du filtren = 0:N-1;
L1 = sincard(2*pi*nu0*n)R = nu0*toeplitz(L1); [V,lambda]=eig(R,'nobalance');lambda = diag(lambda);ind = find(lambda==max(lambda));
h = V(:,ind);
0 10 20 30 400
0.05
0.1
0.15
0.2
0.25
0.3
0.35
n
h(n
)
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5-400
-300
-200
-100
0
100
Frequency (Hz)
Pha
se (
degr
ees)
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5-100
-50
0
50
Frequency (Hz)
Mag
nitu
de (d
B)
32Oct. 2006 SI240-TSMECS
Méthodes itératives : principe
rappel : la forme de la rf =
on cherche à minimiser le maximum d’une erreur pondérée
soit
rappel : la forme de la rf =
on cherche à minimiser le maximum d’une erreur pondérée
soit
Synthèse des RIF > synthèse des RIF
33Oct. 2006 SI240-TSMECS
illustration de l’erreur pondérée (Chebychev)
Synthèse des RIF > synthèse des RIF > méthodes itératives
34Oct. 2006 SI240-TSMECS
algorithme d’échange (remez)
Sur un exemple de type I (N impair, symétrique)
Montrer que la réponse zéro-phase s’écrit sous la forme
On en déduit qu’on peut encore l’écrire sous la forme d’un
polynôme en c() = cos(2) soit :
qui admet une dérivée =0
en 0 et P-1 autres maxima
algorithme d’échange : 0: init : on réparti dans B les candidats au max en prenant les bords 1: a l’aide d’une interpolation, on calcule les coeffs du polynome 2: on recalcule les candidats comme les max du polynome 3: si non convergence de l’erreur, retour à 1:
Sur un exemple de type I (N impair, symétrique)
Montrer que la réponse zéro-phase s’écrit sous la forme
On en déduit qu’on peut encore l’écrire sous la forme d’un
polynôme en c() = cos(2) soit :
qui admet une dérivée =0
en 0 et P-1 autres maxima
algorithme d’échange : 0: init : on réparti dans B les candidats au max en prenant les bords 1: a l’aide d’une interpolation, on calcule les coeffs du polynome 2: on recalcule les candidats comme les max du polynome 3: si non convergence de l’erreur, retour à 1:
Synthèse des RIF > synthèse des RIF > méthodes itératives
35Oct. 2006 SI240-TSMECS
algorithme d’échange (remez)
Synthèse des RIF > synthèse des RIF > méthodes itératives