filtres numériques - free
TRANSCRIPT
Filtres Numériques
Linéarité :
Invariance temporelle :
)(nx SLIT discret )(ny
)(1 nx )(1 ny
)(2 nx )(2 ny
)()( 2211 nxnx αα + )()( 2211 nyny αα +
)(nx )(ny
)( τ−nx )( τ−ny
Principede
superposition
Stationarité
Ce sont des Systèmes Linéaires Invariants dans le Temps discrets :
Convolution discrète
Réponse impulsionnelle :
Un signal numérique peut être exprimé comme une somme d'impulsions :
En vertu de la linéarité et de l'invariance temporelle :
Cette opération s'appelle la convolution discrète :
)(nδ SLIT Discret )(nh
∑ −= )()()( knkxnx δ
)()()( nhnxny ∗=
∑ −= )()()( knhkxny
Le Systèmes Linéaires Invariants dans le Temps discrets sont régis par
Convolution continue � discrète
∫+∞
∞−−=∗= duutxuhthtxty )()()()()(
Ce sont des Systèmes à temps discrets : ∑+∞
−∞=
−==n
N nTetnhthth )()()()( δ
Traitant des signaux à temps discrets : ∑+∞
−∞=
−==n
N nTetnxtxtx )()()()( δ
∫ ∑∑+∞
∞−
+∞
−∞=
+∞
−∞=
−−−= dulTeutlxkTeukhtylk
)()()()()( δδ
∑ ∑ ∫+∞
−∞=
+∞
−∞=+−
+∞
∞−−−−=
k lTelkt
dulTeutkTeulxkhty44444 344444 21
))((
)()()()()(
δ
δδ
l'opération de convolution continue :
knllknposons −=⇒+=
444 3444 2144 344 21)()(
)()()()()()(
ty
nn
ny
k
N
nTetnynTetknxkhty ∑∑ ∑+∞
−∞=
+∞
−∞=
+∞
−∞=
−=−−= δδ ∑+∞
−∞=
−=k
knxkhny )()()(
)()()( ttt δδδ =∗
Réponse en fréquence
∑+∞
−∞=
−=k
knxkhny )()()(
Si alors :fnTejenx π2)( = 43421
444 3444 21 )(
2
)(
2)(2 )()()(nx
fnTej
fH
k
fkTej
k
Teknfj eekhekhny πππ
== ∑∑
+∞
−∞=
−+∞
−∞=
−
SLIT DiscretfnTeje π2 fnTejefH π2)( ⋅
∑+∞
−∞=
−=k
fkTejekhfH π2)()(
Les signaux de la forme sont les seuls pour lesquels ce phénomène est observé. Ce sont les fonctions propres des systèmes linéaires invariants dans le temps.
nTeeα
Fonction filtrage
Il est ainsi possible de créer des filtres passe-bas, passe-haut, passe-bande, réjecteur, etc …
Exemple de synthèse d'un filtre RIF passe-bas ( )
∑−
=
−=1
0
2)()(N
n
fnTejenhfH π
� Voir la fonction "sptool" de Matlab
Bande de transition
Gabarit
Bande affaiblie
Bande passante
)( fH
2δ
0
11 δ+
11 δ−
1
1f 2f2Fe f
f∆
6Fe
cF =
78 n
79=N
39
)(nh
0
Filtrage
∑ −=k
knxkhny )()()(
)(nx )(nh )(ny
Le filtrage d'un signal consiste en sa convolution par la réponse impulsionnelle du filtre :
Exemple :
n0
Remarque : Le signal de sortie est déphasé� diagramme de Bode
)(ny
)(nx
Fef 3.02 =Fef 03.01 =
2Fe
Diagramme de Bode
0
0
1
f
2Fe0 f
)( fH
dBfH )(
60−
4Fe
2Fe f
4Fe
π−
π+
)( fϕ
Exemple pour un filtre récursif
Filtrage dans le domaine fréquentiel
dfefXnx fnTej
∫+∞
∞−= π2)()(
Convolution par)(nx )(ny
dfefHfXny fnTej
fY
∫+∞
∞−= π2
)(
)()()(43421
)(nh
)( fX)( fHMultiplication par
)( fY
TF TF -1
)()()( fHfXfY ⋅=
Résolution théorique, traitement d'images, traitement par blocs, …
Comme leur nom l'indique, leur réponse impulsionnelle est finie ; c'est-à-dire nulle en
dehors d'un intervalle borné : par exemple dans le cas d'un filtre causal :
Filtres à Réponse Impulsionnelle Finie (RIF)
∑∑−
=
+∞
−∞=
−=−=1
0
)()()()()(N
kk
knxkhknxkhny
)(nδ RIF )(nh
1−N n0n0
{ }LL4444 34444 21
LLL 00)1()1()0(00)(termesN
Nhhhnh −=
L'opération de convolution requière N multiplication-accumulations et elle est
généralement mise en œuvre telle qu'elle dans le processeur de traitement.
Représentation
∑−
=
−=1
0
)()()(N
k
knxkhny
{ })1()1()0()( −=↑
Nhhhnh L
)(nx
)(ny
Te Te Te TeL Te
+
)1(h
+
)2(h
+
)3(h
+ +
)1( −Nh)0(h L
L
)1( +− Nnx
Filtre à phase linéaire
Ces filtres présentent une réponse impulsionnelle symétrique :
M
)3()2(
)2()1(
)1()0(
−=−=−=
Nhh
Nhh
Nhh
0
5.0
78 n
)(nh
( ) ( ) ( )( )44444 344444 21
43421
)(
1
02
121
0
2221
0
22
21
2
21
21
21
2cos2)()()()(
fR
n
N
e
Tefj
n
TenfjTenfjTefjN
n
fnTej
N
fj
N
N
NNN
TenfnheeenheenhfH ∑∑∑−
=
−−−
=
−−−+−−
=
− −=
+==
−−−−π
α
πππππ
N pair :
N impair :
( ) ( ) ( )( )4444444 34444444 21
43421
)(
1
02
12
121
0
222
122
1
21
21
21
21
21
2cos2)()()()()(
fR
n
NN
e
Tefj
n
TenfjTenfjNTefj
N
fj
N
N
NNN
TenfnhheeenhhefH
−+=
++= ∑∑
−
=
−−−−
=
−−−+−−−
−−
−−−π
α
ππππ
π−π−
π+
Exemple de filtre à phase linéaire
{ }0.053700.0916-00.31310.50.313100.0916-00.0537)(↑
=nh
( ) ( ) ( )( )44444444444444 344444444444444 2143421
)(
52 10cos20.05376cos20.09162cos23131.05.0)(fRe
Tefj fTefTefTeefHfj
πππα
π ×+×−×+= −
1
π+
0 f
)( fR
fα
0 f
0 f
)( fϕ
R(f) et phase linéaire Diagramme de Bode : Module et argument
f
1
)( fH
0
)()( fRfH =
)0)( quand ()( <±= fRff παϕ
( )1−=± πje
Phase linéaire = Retard
{ }0.053700.0916-00.31310.50.313100.0916-00.0537)(↑
=nh
( ) ( ) ( )( )44444444444444 344444444444444 2143421
)(5 de retard
52 10cos20.05376cos20.09162cos23131.05.0)(fRTe
Tefj fTefTefTeefH ππππ ×+×−×+= −
ftje π2321)(
22)(2
fH
fjftjtfj eee τππτπ −− ×=τ
)(nx )(nyTe5)( fR
Un retard se traduit par un déphasage linéaire
Phase linéaire Retard pur⇔
)(ny
Phase linéaire = Retard
{ }0.053700.0916-00.31310.50.313100.0916-00.0537)(↑
=nh
( ) ( ) ( )( )44444444444444 344444444444444 2143421
)(5 de retard
52 10cos20.05376cos20.09162cos23131.05.0)(fRTe
Tefj fTefTefTeefH ππππ ×+×−×+= −
)( nx )( nh )( ny
n0
)(nx
n0
t0
)(tx
t0
f0
2Fe
2Fe−
)( fX
f2Fe
2Fe−
)( fY
f0
2Fe
2Fe−
)( fX
0
f0
2Fe
2Fe−
)( fY
Harmoniques de
5
Te5
)( fR
)(tyHarmoniques de
)( fR
Zoom
Réponse impulsionnelle antisymétrique
( ) ( ) ( ) ( ) ( )( )44444444444444444444444 344444444444444444444444 2143421
)(9 de retard
92 18sin20.026714sin20.058410sin20.10496sin20.19912sin26323.0)(fRTe
Tefj fTefTefTefTefTejefH ππππππ ×+×+×+×+×= −
n0
)(nh
189
19=N
Déphasage de 2
π
)(nx )(nyτ)( fR
2π
{ }0267000584001049001991006323.0063230019910010490005840002670)( .........nh −−−−−=↑
Filtre de Hilbert
)(nx )(nxRτ
)(nh )(nxI
Partie réelle
Partie imaginaire
2Fe
2Fe
2Fe
0
1
π
π−2π−
2π
)(nh
n
f
f
f
)( fH dBfH )(
20−
40−
60−
{ }0267000584001049001991006323.0063230019910010490005840002670)( .........nh −−−−−=↑
Les autres catégories de filtre RIF
Filtres à phase minimale : Filtres dont tous les zéros de la fonction de transfert en Z sont à l'intérieur du cercle unité.
Filtres à phase maximale : Filtres dont tous les zéros de la fonction de transfert en Z sont à l'extérieur du cercle unité.
∑ −=n
nZnhZH )()(
La fonction de transfert en Z est le pendant de la transformée de Laplace pour les systèmes discrets :
Remarque :
( ) ( ) ( ) ∑∑ −−====
n
fnTej
n
nfTejfTej enhenheZHfH πππ 222 )()(
Synthèse des filtres RIF
)( fH )(nh
∑ −=n
fnTejenhfH π2)()(
1−TF
� Déterminer réalisant la fonction de filtrage désirée)(nh )( fH
On sait que est la Transformée de Fourier de :)( fH )(nh
� est la Transformée de Fourier Inverse de .)( fH)(nh
Mais encore ?
Synthèse des filtres RIF
est périodique. En effet :)( fH
)(.)()()(1
22)(2 fHeenhenhkFefHn
knFeTejfnTej
n
nTekFefj ===+ ∑∑ −−+−43421
πππ
� La transformation de Fourier adaptée aux fonctions périodiques est laSérie de Fourier :
∫−⋅=
T
tj dtetxT
nc Tnπ2)(
1)(
∑ +⋅=n
tj Tn
enctx π2)()(
Problème : est périodique dans le domaine fréquentiel …)( fH
� Série de Fourier Inverse
f
)(nc
tT T2T−
)(tx
0
Serie de Fourier Inverse
∫−⋅=
T
tj dtetxT
nc Tnπ2)(
1)(
∑ +⋅=n
tj Tn
enctx π2)()(
∫+
+⋅=Fe
e
fjdfefH
Fenh
fnTej
Fen
43421π
π
2
2)(1
)(
∑−
−⋅=n e
fj
fnTej
Fen
enhfH 43421π
π
2
2)()(
f
)(nc
tT T2T−
)(tx
0
n
)(nh
fFe Fe2Fe−
)( fH
0
Application
fFe2
Fe−
)( fH
0
∫+
−
+=c
c
f
f
fnTej dfeFe
nh π21)(
1
cf 2
Fe+
[ ]( )
444 3444 21nTefj
nTefjnTefj
c
cc eenTejFe
nhπ
ππ
π2sin2
22
2
11)( −+ −=
( )nTef
nTef
Fe
fnh
c
cc
ππ
2
2sin2)( =
∫+⋅=
Fe
fnTej dfefHFe
nh π2)(1
)(
Problème : n'est pas causal et est de longueur infinie !)(nh
� Il est nécessaire de tronquer et retarder …)(nh
n
)(nh
Troncature de
)(tw
� Il faut encore rendre causal …
t t
f f
)(nh )(2 nh
)( fH )(2 fH
)( fW
)()( twth ⋅
)()( fWfH ∗
)(2 nh
fNTe
fNTeNTefW
ππ )sin(
)( =
NTe
NTe1
)(nh
1
Rendre causal )(nh
n
)(2 nh )()( 23 Knhnh −=
K K
N
0N
nK
21−= NK
)()()( 22 nxnhny ∗= )()()()( 223 KnynxKnhny −=∗−=
)(2 nh KTe)(nx )(2 ny )(3 ny
)( fϕ Tef N2
12 −− π )(3 fϕ
f f f
fff
)( fH )( fR )(3 fH
π− π− π−
π+ π+ π+
2Fe
2Fe
2Fe
2Fe
2Fe
2Fe
2Fe
2Fe
2Fe
2Fe
2Fe
2Fe
Représentationde Bode
H(f) idéale Représentationphase linéaire
Phénomène de Gibbs
)( fH
f
f
fn
n
n
)( fH
)( fH
)(nh
)(nh
)(nh
40
10
150
09,0
09,0
09,0
)( fH )( fH )( fH
2Fe
2Fe−
2Fe
2Fe
2Fe−
2Fe−
2Fe−
2Fe−
2Fe−
2Fe
2Fe
2Fe
)( 1τ−fcH
τ
)( fcH )( 1τ+fcH
Fenêtrage
)( fH
fn
)(nh
n
n
f
f
)( fH
)( fH
2Fe
2Fe
2Fe
2Fe−
2Fe−
2Fe−10
40
150
)(nh
)(nh Hamming
)( fW
)( fWdB
fW )(
dBfW )(
f
f
2Fe
2Fe
2Fe−
2Fe−
2Fe
2Fe
2Fe−
2Fe−
Te10Te10−
)(tw
Te10Te10−
t
t
dB20−
0
0
dB40−
dB60−
dB20−
dB40−
dB60−
Hamming �
Boxcar �
Egaliser les ondulations
� Filtres RIF à ondulations réparties (equiripple)
�Algorithme de Remez
n
f
150
)(nh Hamming
)(nh
)(nh
dBfH )(
n
n
2Fe
2Fe
2Fe
2Fe−
2Fe−
2Fe−
dBfH )(
dBfH )(
f
f
10
40
Filtre Equiripple
� Voir la fonction "sptool" de Matlab
Fc=Fe/6f1=Fc-0.01*Fe;f2=Fc+0.01*Fe;d1=0.02; d2=0.02;[N,Fo,Ao,Wo] = firpmord(2*[f1 f2],[1 0],[d1 d2]);h = firpm(N,Fo,Ao,Wo);
( )2110
1103
2 logˆδδf
FeN
∆=
Bande de transition
Gabarit
Bande affaiblie
Bande passante
)( fH
2δ
0
11 δ+
11 δ−
1
1f 2f2Fe f
f∆
78 n
79=N
39
)(nh
0
93,79ˆ =→ N
Filtres à Réponse Impulsionnelle Infinie (RII)
∑+∞
=
−=0
)()()(k
knxkhny
Comme leur nom l'indique, leur réponse impulsionnelle est infinie :
L'opération de convolution requière un nombre infini de multiplication-accumulations et ne peut donc pas être mise en œuvre directement dans le processeur de traitement.
Solution : Systèmes récursifs
Exemple :
)(nx
)(ny
Te+b
)1()()( −⋅+= nybnxny
)()( nnx δ= � { }LL nbbbbnhny 321)()(↑
==
� Vérifier qu'il s'agit bien d'un SLIT
Équations aux différences
∑∑−
=
−
=
−=−1
0
1
0
)()()()(N
k
M
k
knxkaknykb
Plus généralement, un Système Linéaire Invariant dans le Temps Discret peut être défini par son équation aux différences :
Il s'agit bien d'un système linéaire car :
∑∑−
=
−
=
−=−1
01
1
01 )()()()(
N
k
M
k
knxkaknykb
∑∑−
=
−
=
−=−1
02
1
02 )()()()(
N
k
M
k
knxkaknykb
Alors : ( ) ( )∑∑−
=
−
=
−+−=−+−1
021
1
021 )()()()()()(
N
k
M
k
knxknxkaknyknykb
Si :
Et si :
Filtre récursif
{44 344 2144 344 21
récursivepartie
M
k
transversepartie
N
k
knykbknxkanyb ∑∑−
=
−
=
−−−=1
1
""
1
01
)()()()()()0(
Sous certaines conditions, il est possible de calculer récursivement le signal de sortie :
Remarque : On peut faire en sorte que 1)0( =b
)(nx
)(ny
Conditions : Il faut que les soient tels que le système soit stable .
)(kb
+
)(ka )(kbTe Te Te TeL Te
+
)1(a
+
)2(a
+
)3(a
+ +
)1( −Na)0(a L
L
Te Te Te TeL Te
+ +
)3(b
+
)2(b)1( −Mb L
L+
)1(b
Réponse Impulsionnelle Infinie
44 344 2144 344 21récursivepartie
M
k
transversepartie
N
k
knhkbknkanh ∑∑−
=
−
=
−−−=1
1
""
1
0
)()()()()( δ
)(nδ
)(nh
+
)(ka )(kbTe Te Te TeL Te
+
)1(a
+
)2(a
+
)3(a
+ +
)1( −Na)0(a L
L
Te Te Te TeL Te
+ +
)3(b
+
)2(b)1( −Mb L
L+
)1(b
{ ( ) }L)0()1()1()1()0(*)2()2()0()1()1()0()( abababaabaanh ++++=↑
0 20 40 60 80 100-20
-10
0
10
20
0 20 40 60 80 100-1
-0.5
0
0.5
1
Système stable : Système instable
est difficile àdéterminer de cette manière !
)(nh
∞<∑∞
=0
)(k
kh
En effet, si alors :
Réponse en fréquence et fonction de transfert en Z
Si la réponse impulsionnelle est divergente : alors :
+fnTejenx π2)( =44 344 21
43421
)(
0
2
)(
2 )()(
fH
k
fkTej
nx
fnTej ekheny ∑∞
=
−= ππ
∑∞
=
−=0
2)()(k
fkTejekhfH π
∑∞
=
−=0
)()()(k
knxkhny
∞→)( fH
Mais il est toujours possible de calculer la réponse à un signal :
( )43421
nfTeje
fnTejnn eZπ
πρ2
2=
nZnx =)( {
43421)(
0)(
)()(
ZH
k
k
nx
n ZkhZny ∑∞
=
−=
∑∞
=
−=0
)()(k
kZkhZH
est la TF de )( fH )(nh
Et si alors, amortit et rend la série convergente.minZ ρ> kZ −
est la TZ de )(ZH )(nh
réel)(kh
∞<∑∞
=0
)(k
kh
Transformée en Z
La fonction de transfert en Z est la Transformée en Z de
nZnx =)(
∑∞
=
−=0
)()(k
kZkhZH
)(ZH )(nh
{ }L)3()2()1()0()( hhhhnh↑
=
TeZ de retard1 ≡−
{ {kTe
k
nx
nkn ZZZknx −− ⋅==−)(
)(
)( pnh − )()'()(
)''(0'
)'( ZHZZkhZpkh p
pkkpkkk
pk
pk
k −
+=→−=
∞
=
+−∞
=
− ==− ∑∑
)( pnx − ∑∞
=
−− =0
)()( avec )(k
kp ZkxZXZXZ
Généralisation :
La transformation en Z est l'équivalent de la transformation de Laplace : pTeeZ =
Application
∑∑−
=
−
=
−=−1
0
1
0
)()()()(N
k
M
k
knxkaknykb
De même si :
∑
∑−
=
−
−
=
−
=1
0
1
0
)(
)(
)(M
k
k
N
k
k
Zkb
Zka
ZH
∑∞
=
−=0
)()()(k
knxkhny
∑∑∞
=
−∞
=
− ⋅=⋅=00
)()()()()(k
k
k
k ZkhZXZZXkhZY
∑∞
=
−==0
)()(
)()(
k
kZkhZX
ZYZH
∑∑−
=
−−
=
− =1
0
1
0
)()()()(N
k
kM
k
k ZkaZXZkbZY
Pour retrouver , il suffit de remplacer par
)()( fHZH ↔
fTejeZ π2↔
)( fH Z fTeje π2
∑∑∞
=
−∞
=
− =↔=0
2
0
)()()()(k
fkTej
k
k ekhfHZkhZH π
Mais attention, il faut que la série converge pour 1=Z
De même :
∑
∑
∑
∑−
=
−
−
=
−
−
=
−
−
=
−
=↔= 1
0
2
1
0
2
1
0
1
0
)(
)()(
)(
)()(
M
k
fkTej
N
k
fkTej
M
k
k
N
k
k
ekb
ekafH
Zkb
ZkaZH
π
π
Remarque : )()( mais )()( 2 fTejeZHfHZfHfH π===≠
Factorisation
∑
∑−
=
−
−
=
−
=1
0
1
0
)(
)(
)(M
k
k
N
k
k
Zkb
Zka
ZH
La fonction de transfert apparaît comme une fraction polynomiale et peut-être factorisée :
( )
( )
( ) ( )
( ) ( )
( )
( )∏
∏
∏
∏
∑
∑
=
−
=
−
=
−−
=
−−
−
=
−−−−
−
=
−−−−
−
−=
−
−== M
kk
N
kk
M
kk
M
N
kk
N
M
k
kMM
N
k
kNN
ZPb
ZZa
PZbZ
ZZaZ
ZkbZ
ZkaZZH
1
1
1
1
1
1
1
1
1
0
11
1
0
11
1)0(
1)0(
)0(
)0(
)(
)()(
)(ZH
Les racines du numérateur sont appelées zéros .kZ
Les racines du dénominateur sont appelées pôles .kP
Cascade
Toutes les cellules récursives doivent être stables !
( ) ∏∏=
−=
−
−×−=
M
k k
N
kk
ZPZZaZH
11
1
1
1
11)0()(
)(ZX
: Toujours stable
)1()()()(
)(
1
11
−+=→=− − nyPnxny
ZX
ZY
ZPk
k: Cellule récursive
du premier ordre
111 −− ZZ 1
21 −− ZZ 11 −− ZZNL
)(ZY111
1−− ZP 1
21
1−− ZP 11
1−− ZPM
L
)1()()()(
)(1 1 −+=→=− − nxZnxny
ZX
ZYZZ kk
Cellule récursive du 1er Ordre
Si alors croît exponentiellement � divergence
)(nx
)(ny
Te+b
1>b
{ }LL nbbbbnh 321)(↑
=
{ )1()()( −⋅+= nybnxnykP
)(nh
Si alors � mémoire infinie1=b 1)( =nh
Si alors décroît exponentiellement � satisfaisant1<b )(nh
� Le système est stable si : 1<b
( )
∞
<−====
−−
∞
=
−∞
=
−∞
=
− ∑∑∑sinon
1si1
1)()(
11
0
1
00
bZbZbZZbZkhZH
k
k
k
kk
k
k
→<→
<→
− 111
2
bbZ
eZ fTej π
1<kP Stabilité si tous les pôles sont àl'intérieur du cercle unité.
Interprétation Géométrique
( ) ( )
( ) ( )∏
∏
=
−−
=
−−
−
−=
M
k
kM
N
kk
N
PZZ
ZZZ
aZH
1
1
1
1
)0()(
( )
( )∏
∏
=
−−
=
−−
−
−===
M
kk
fTejTeNfj
N
kk
fTejTeNfj
fTej
Pee
Zee
aeZHfH
1
2)1(2
1
2)1(2
2 )0()()(ππ
ππ
π
∏
∏
∏
∏
=
=
=
==
−
−
=M
kk
N
k
k
M
kdp
kfTej
N
kdz
kfTej
fdp
fdz
a
Pe
Ze
afH
k
k
1
1
1
2
1
2
)(
)(
)0()0()(
43421
4434421
π
π
0 0.2 0.4 0.6 0.8 10
0.5
1
1.5|H(f)|
0 0.2 0.4 0.6 0.8 1-2
0
2phase
Phase non-linéaire
Réponse en fréquence périodique
Re
Im
0=f
1
j
1−
j−
4Fef =
43Fef =
2Fef =
1Z
1Z
1P
1P
)( fdz
)( fdp
fTeje π2
Synthèse
La synthèse des filtres RII est basée comme en analogique sur les fonctions modèles : Butterworth , Tchebycheff, Cauer (Elliptique)
Influence des pôles
Influence des zéros
(Source : Wikipédia)
Exemple sous Matlab (TP)
[N, Wn] = ellipord(0.4, 0.6, 0.09, 60); � N = 6 Wn = 0.4
[B,A] = ellip(N,0.09,60,Wn);
� B = 0.0207 0.0585 0.1060 0.1255 0.1060 0.0585 0.0207
� A = 1.0000 -1.9673 2.9074 -2.5353 1.5771 -0.5972 0.1163
0 0.5 10
0.5
1
1.5|H(f)|
0 0.5 1-100
-50
0
50|H(f)| (dB)
0 0.5 10
5
10
15
20Groupe delay
0 0.5 1-200
-100
0
100
200Phase (°)
Filtres particuliers
• Cellule du 1er ordre purement récursive (filtrage passe bas)
• Cellule de second ordre purement récursive (résonnance)
• Cellule de second ordre générale (filtre réjecteur, déphaseur pur)
• Oscillateur (générateur sinusoïdal)
Cellule du premier ordre purement récursive
)(nx
)1()()( −+= nybnxny
Te+b
{ }LL nbbbbnh 321)(↑
=
11
1)( −−
=bZ
ZH
fTejbefH π21
1)( −−
=)2cos(21
1)(
2 fTebbfH
π−+=
−=
)2cos(1
)2sin()(
fTeb
fTebArctgf
ππϕ
2π−
0
0
2Fe
2Fe
2Fe−
2Fe−
)( fϕ
)( fH
2π+
b−11
b+11
0=f
1
j
1−
j−
2Fef =
fTejeZ π2=0>b 0=f
1
j
1−
j−
2Fef =
fTejeZ π2=0<b
2π−
0
0
2Fe
2Fe
2Fe−
)( fϕ
)( fH
2π+
b−11
b+11
2Fe−
Filtre passe-bas du 1er Ordre
)(nx
)1()()1()( −+−= nybnxbny
Te+b
11
1)( −−
−=bZ
bZH
0=f
1
j
1−
j−
2Fef =
fTejeZ π2=
0
)( fH
bb
+−
11
b−1
2Fe
2Fe−
1
5.0
9.0
99.0
( ) ( ) 110 ==== ZHfH
∑∑−∞=
−∞
=
−=−−=n
i
in
i
i bixbinxbbny )()1()()1()(0
0
0
n
n
inb −
)(nx
)(ny
1)1(0
=− ∑∞
=i
ibb
npondératio
Mise en œuvre en virgule fixe
)(nx
)1()()1()( −+−= nybnxbny
Te+bb−1
))()1(()1()1()()(
44 344 21321ne
nxnybnyny −−−−−=µ
PP nenynyb
−⋅−−==−
2)()1()( alors 21
1 si
Décalage de P bits
� Mise en œuvre en virgule fixe sur N>P bits
Algorithme LMS
Cellule de second ordre purement récursive
)(nx Te+1P
)(1
1
1
1
)(
12
)(
11
21
ZHZPZP
ZHZH
=−
×− −−
4342143421
Constituée de 2 cellules du premier ordre en cascade :
Te+2P
)(ny
{2
221
121
1
)(1
1)( −− ++−
=⇒ZPPZPP
ZH
bb43421
)2()1()()()(
)(
1
1)( 212
21
1
−−−−=⇒=++
= −− nybnybnxnyZX
ZY
ZbZbZH
Stabilité : et 11 <P 12 <P
Cellule de second ordre à coefficients réels
)(nx
2b
22
111
1)( −− ++
=ZbZb
ZH
)2()1()()( 21 −−−−= nybnybnxny
Te Te
1b
Lorsque le filtre est à coefficients réels ( et réels), les pôles et sont soit réels soit complexes conjugués
1b 2b 1P 2P
( )21222
21
11 bZbZZZbZb ++=++ −−−2
21 4bb −=∆
∆−−=
∆+−=
⇒≥∆
2
201
2
11
bP
bP
∆−−−==
∆−+−==⇒<∆
2
201*
2
11
jbPP
jbPP
Réponse en fréquence
)(nx Te+1P
11
11
1)( −−
=ZP
ZH
Te+2P
)(ny
fTejfTej ebebfH
ZbZbZH ππ 4
22
12
21
1 1
1)(
1
1)( −−−− ++
=⇒++
=
12
21
1)( −−
=ZP
ZH1
j
1−
j−
fTejeZ π2=1P
1
j
1−
j−
fTejeZ π2=
2P
02Fe
2Fe−
)( fH
mH
0f+0f−
02Fe
2Fe−
)(2 fHr−1
1
r+11
Tefj perPπ2
2−=
pf−02Fe
2Fe−
)(1 fH
r−11
r+11
Tefj perP π21
+=
pf+
1
j
1−
j−
fTejeZ π2=
2P
1P
θr
pff ≈0
×
Réponse en fréquence
fTejfTej ebebfH ππ 4
22
11
1)( −− ++
=
1
j
1−
j−
fTejeZ π2=
2P
1P
( ) ( ) ( )fTebfTebbbbfH
ππ 4cos22cos121
1)(
2212
22
1
2
+++++=
( ) ( )( ) ( )
+++=
fTebfTeb
fTebfTebArctgf
ππππϕ4cos2cos1
4sin2sin)(
21
21
2Fe
2Fe−
)( fH
mH
0f+0f−
0f+
0f−2Fe
2Fe−
2π+
2π−
)( fϕ
résonance
Résonance
1
j
1−
j−
fTejeZ π2=
2P
1P
( ) ( ) ( )fTebfTebbbbfH
ππ 4cos22cos121
1)(
2212
22
1
2
+++++=
2Fe
2Fe−
)( fH
mH
0f+0f−
( ) ( ) ( ) 04sin422sin2120)(
221
2
=++⇒= fTeTebfTeTebbdf
fHdππππ aaa cossin22sin =
( ) ( )[ ] ( ) 02sin2cos41 221 =++ fTefTebbb ππ ( )2
02sin FekfpourfTe ==π
( ) ( ) sifTebbb 02cos41 221 =++ π Condition de résonance
Si c'est le cas : ( ) ( )2
210 4
12cos
b
bbTef
+−=π
( )1
4
1
2
21 ≤+b
bb
1cos22cos 2 −= aa
Hb
b
b bm =
− −1
1
4
42
2
2 12
0
Réponse impulsionnelle
)(nδ Te+1P
)()()( 21 nhnhnh =∗
Te+2P
)(nh)(1 nh
∑∑∑=
−
=
−∞
−∞===−=
n
i
iinn
i
ini
i
PPPPPinhihnh0
2120
2121 )()()(
)(21 nhPP nn =∗
( ) θ
θ
θ
θθθθθ
2
)1(2)1(
0
221 1
1)(
j
nj
j
njn
n
i
ijjnnjj
e
e
e
ereernherPeterPsi
−−==⇒==
+
−
+−
=
−− ∑
⇒−−= −
++−
θθ
θθ
jj
njnjn
ee
eernh
)1()1()(
θθ
sin
)1sin()(
+= nrnh n
)(nh
n0
Décomposition en éléments simples
⇒+=⇒==
+−
θθθθ
sin2
)1sin(2)(
1
21 jr
njrnherPeterPsi
njj
θθ
sin
)1sin()(
+= nrnh n
( )( ) ( ) ( )
−+
−=
−−=
++=
++= −−
2
2
1
12
21
2
212
22
21
1
11
1
1)(
PZ
A
PZ
AZ
PZPZZ
bZbZZ
ZbZbZH
( )21
1111
: vient il ; faisonset par sMultiplionPP
APZPZ−
==−
( )12
2221
: vient il ; faisonset par sMultiplionPP
APZPZ−
==−
−−
−−=
−−
−−= −− 1
21
1212121
2
1
1
1
111)(
ZPZPPP
Z
PZPZPP
ZZH
[ ]21
12
11
2121
)1()1(1
)(PP
PPnhnh
PPnh
nn
−−=+−+
−=⇒
++
2112
1
PPAA
−−=−=
)(nx + )(ny)1(1 +nh
21
1
PP −)1(2 +nh
)(nh
n0
1P
2P
Cellule de second ordre générale
22
11
22
110
1)( −−
−−
++++
=ZbZb
ZaZaaZH
)2()1(
)2()1()()(
21
210
−−−−−+−+=
nybnyb
nxanxanxany
)(nx
2b
Te Te
1b
TeTe
0a 1a 2a
2Fe
2Fe−
)( fH
0
Im
Re
2Z
1Z
2Fe
2Fe− 0
)( fN
)( fD
Cas particuliers : filtre réjecteur
Re
Im
1
j
1−
j−*1Z
1Z
1P
*1P
fTeje π2
Fer
Bπ−≅→ 1
*12
21
*12
21
0
0
PPetreP
ZZeteZTefj
Tefj
====
π
π
2
Fe−2
Fe+
)( fH
1
00f+0f−
Tef02π
2
Fe−2
Fe+
)( fH
1
00f+0f−
Cas particuliers : déphaseur pur
⇒++
++= −−
−−
22
11
2112
1)(
ZbZb
ZZbbZH
2
Fe−
Tef02π
2
Fe+0
0f+0f−
)( fϕ
1)( =fH
Mise en œuvre des filtres numériques en précision finie
1) La quantification des coefficients des filtres conduit à une modification de leur réponse en fréquence.
2) Les erreurs d'arrondi lors de l'opération de filtrage (calculs) conduisent àune dégradation du rapport signal à bruit.
Il faut donc que q soit aussi petit que possible :
� grand
� A petit � structure cascade
Quantification des coefficients
∑
∑−
=
−
−
=
−
==1
0
2
1
0
2
)(
)(
)(
)()(
M
k
fkTej
N
k
fkTej
ekb
eka
fD
fNfH
π
π2
)()()()(q
kakakaka ≤+→ δδ
2)()()()(
qkbkbkbkb ≤+→ δδ
2)()()(
2)()()(
1
0
2
1
0
2
qMfeekbfe
qNfeekafe
N
M
k
fkTejD
N
N
k
fkTejN
<=
<=
∑
∑−
=
−
−
=
−
π
π
δ
δ
)()(
)()()(
fefD
fefNfH
D
N
++
=
cb
Aq
2
2=
cb2
Les et sont des polynômes à coefficients réels du premier ou du second ordre dont les coefficients sont à dynamique limitée :
Structure cascade
∏∏
∑
∑=== −
=
−
−
=
−
ii
ii
M
k
k
N
k
k
ZD
ZN
ZD
ZN
Zkb
Zka
ZH)(
)(
)(
)(
)(
)(
)(1
0
1
0
)(ZNi )(ZDi
( ){ {
21)( 22
1
Re21
2
<⇒++= −−
−
ij
P
i
P
ii bZbZbZD
ii
( ){ { 2)11()( 21
Re210
2
≤⇒++= −−
−
ij
ZZ
iii aZZaaZN
ii
zéros sur le cercle (filtre elliptique)
Les formes développées et présentent des coefficients à dynamique plus importante (convolution des dynamiques)
� q petit � A petit � mise en œuvre suivant une structure cascade.
)(ZN )(ZD
Pour que la dégradation de la réponse en fréquence reste de l'ordre de ses ondulations initiales; il faut que :
Filtre elliptique
22
11
211
01
0
1
0
1
1
)(
)(
)( −−
−−
−
=
−
−
=
−
++++== ∏
∑
∑
ZbZb
ZZaa
Zkb
Zka
ZHii
i
i
iN
k
k
N
k
k
( )
+
∆+
≅
Feff
Febc 12sin
122
12 loglog1
1log
πδ
cbNbits
Aq −== 22
2
2
Source : Traitement numérique du signal - Maurice Bellanger – Dunod
Remarque : La formule n'est qu'indicative � décider du nombre de bits àadopter après avoir calculé réellement la réponse en fréquence dégradée (Matlab ou autre).
Supposons que les données soient codées en interne sur bits. Lors du produit par les coefficients du filtre codés sur bits, on obtient des résultats sur bits qu'il convient de ramener sur bits � erreur d'arrondi.
Bruit de calcul
ibcb
ci bb + ib
x x x xs x x x xs
s x x xs
bitsib bitscb
bitsci bb +
x x x xs
bitsib
x x x x
arrondid'erreur
L'erreur d'arrondi au sein d'une cellule élémentaire peut être vue comme l'ajout d'un bruit (bruit de calcul).
Bruit de calcul
Structure D-N
+
1b− Te
Te2b−
+1a
2a
+
+
)(nx )(ny
)(nes)(ne
Erreur d'arrondi sur N(Z)
Erreur d'arrondi sur D(Z)
Remarque : L'erreur d'arrondi subit la fonction de filtrage.
Et dans une structure cascade, les erreurs d'arrondi et subissent les fonctions de filtrage des cellules suivantes. Ces considérations conduisent à des règles d'implémentation.
)(ne
)(ne )(nes
Règles
1) La dynamique du signal doit rester limitée au cours des calculs � ce qui conduit à constituer les cellules en associant les pôles les plus proches du cercle unité (les plus résonnants) aux zéros qui leurs sont le plus proches.
2) Les cellules sont d'autant plus "bruyantes" qu'elles sont raisonnantes. Elles doivent donc être disposées de la plus raisonnante à la moins raisonnante pour tirer profit du filtrage des erreurs d'arrondi.
3) Des facteurs d'échelles doivent être appliqués entre les cellules pour que les signaux occupent au maximum la dynamique permise.
Appairage des pôles et zéros
Structure cascade
00a
+)(nx
)(0 ne
)(
1
1 fD)(1 fN
10a
+
)(1 ne
+
)(1 neK −
)(
1
fDK)( fNK
Ka0
+
)(neK
)(ny
101
+=km
k
Ha
dBen bruit à signalrapport du n dégradatio:
entréed' signaldu bits de Nb:
SB
x(n)bd
∆
Remarque : La formule n'est qu'indicative � décider du nombre de bits àadopter en réalisant une simulation d'implémentation en précision finie (Matlab ou autre).
( ) ( )
++≅ ∆∆
Feff
FeSBdi bb
12sin1
21
2 loglog2
1π