MASTER1-FILS UPB
Le Filtrage des Signaux Numériques
Andrei Doncescu [email protected]
Filtres Linéaires
Fonction de Transfert
Filtres Analogiques Passives
4 types de filtres - “Ideal”
Passe-bas lowpass
Passe-haut highpass
Bande passante bandpass Filtre rejecteur bandstop
Filtres Analogiques Passives
Le Cas Réel :
lowpass
highpass
bandpass
bandstop
Systèmes linéaires
• Les systèmes linéaires sont caractérisés complètement par
leur réponse à une impulsion unité
Specification (anglais)
Frequency-Selection function
Passing Stopping Pass-Band Low-Pass High-Pass Band-Pass Band-Stop Band-Reject
Passband ripple Ripple bandwidth
Filter Specification
Filtres
• Analogique : se divisent en
passives et actives en fonction de la partie hardware utilisé : RLC ou A.O.
• Numériques : Implémentés en utilisant une structure numérique : DSP, microprocesseur permettant de calculer la convolution, la FFT
Filtre Passe-Bas Passif et Analogique
VI
+
_
R
C
+
VO _
Low pass filter circuit
OV jw ) ( V jw ) ( i
=
R
1 jwC 1 jwC
+
=
1 jwRC
1
+
Filtre Passe-Bas Passif et Analogique
0 dB
.
-3 dB
Bode
1/RC
ω
1
x
0.707
Lineair
0
1/RC
ω
Filtre Passe-Haut Analogique Passif
+ _
Vi
C
R
+
VO _
En anglais High Pass Filter
( OV jw ) V jw ) ( i
=
R
1 jwC
R
+
=
jwRC +
jwRC
1
Filtre Passe-Haut High Pass Filter
0 dB
Bode
1 0.707
Lineair
. -3 dB
1/RC
ω
1/RC
x .
0
1/RC
ω
Filtre Passe-Bande Passif
Vi
+ _
C
L
R
+ VO
_
( ) V s O V s ( ) i
=
2
s
+
s
R L R s L
+
1 LC
Filtre Passe-Bande Passif
0 dB -3 dB
1 0.707
0
.
ωl o .
ωl o
.
ωhi
.
Bode
ω
Lineair
ωhi
ω
Filtre Passif et Analogique
B ode D iagrams
F rom : U(1)
-3 dB
0
-5 dB
-5
)
B d (
e d u t i
n g a M
; ) g e d (
e s a h P
-10
-15
100
50
0
-50
-100
) 1 (
Y
: o T
2
10
3
10
4
10
Frequency (rad/sec)
Filtre Passe-Bande
Exemple Matlab
N = 10; %order butterworth ordre 10
[ZB, PB, KB] = buttap(N); numzb = poly([ZB]); denpb = poly([PB]);
wo = 600; bw = 200; % wo freq centrale
% bw bandwidth
[numbbs,denbbs] = lp2bs(numzb,denpb,wo,bw);
w = 1:1:1200;
Hbbs = freqs(numbbs,denbbs,w); Hb = abs(Hbbs);
plot(w,Hb) grid xlabel('Amplitude') ylabel('frequency (rad/sec)') title('10th order Butterworth filter')
Butterworth
Filtre Rejecteur
Exemple
num = [1 0 300000];
den = [1 3100 300000];
w = 1 : 5 : 10000;
Bode(num,den,w)
Filtre Rejecteur
Exemple
Bode
Matlab
Filtre Passe-Bas Actif
C
Rfb
Rin
+ Vin _
+
VO _
Filtre Passe-Haut Actif
Rfb
C
Rin
+ Vin _
+ VO _
Filtre Passe-Bande Actif
R1
C1
R1
C2
R2
Rfb
R2
Ri
+ Vin _
+ VO _
Filtre Rejecteur
C1
R1
R2
Ri
R1
C2
Vin
+
_
Rfb
+ VO _
La Transformée en z
Lien avec la Transformée de Laplace
• Pour p=σ+2πjf, σ l’amortissement et f=fréquence
x(n)
−npTee
∑
n∈Z
=
∑
n∈Z
−n
x(n)z
Plan des {z}
{ Tz x(n)
{ } = TL x(n)
} z=e pt =
Plan de Laplace
2πjf
0
σ
Plan Transformée en Z
p
2πσ+=
j
f
f
∈
⎡ ⎢ ⎣
(
k
−
1 2
)
f
e
(,
k
+
1 2
)
f
⎤ et σe ⎥ ⎦
<
0
z
σ=
tee
j
2 π
eTf
Plan des p
2πjf
fe/2
0
-fe/2
σ
fe/2
-fe/2
Plan des {z}
fe/4
-fe/4
Représentation par la Transformée en z
• Définition On appelle transformée en z bilatérale d’une suite {x(n)}, la
somme Xb(z) définie par :
Xb(z) = Tzb =
∑ z−n x(n)
n∈Z
Remarque : On peut considérer la transformée monolatérale:
Xb(z) = Tzb x(n)
{
∞
} =
∑ z−n x(n)
n=0
Propriétés
• Linéarité
nw )(
=
nax )(
zWnby )( =↔+
)(
zaX )(
+
zbY )(
• Shift (retard ou avance)
nnx (
) n−↔−
zXz )(
0
0
•
Inversion dans le temps
nx (
zX ( 1−↔−
)
)
Attention au domaine de convergence
Propriétés
• Multiplication par une exponentielle
nxn )(
α
↔
X
• Convolution
−
( α
1 z
)
nhnxny )( )( )(
=↔∗
zHzXzY )(
)(
)(
=
• La transformée en z n’a pas de sens que si l’on précise le domaine de
convergence
Le domaine de convergence d’un signal causal est un ????
Systèmes linéaires invariants
• Définition
kLx )(
=
ky )(
kkLx ( ) =− 0
kky ( ) − 0
Signaux Déterministes
• Dans un contexte de logique câblée ou programmée, il est
immédiat de créer certains signaux déterministe:
nx )(
=
rect N
n )(
nx )(
triang =
n )(
N
• Par contre il est moins facile de créer des signaux plus élaborés
comme par exemple:
y(n) =
a
exp
(αα e
)
cos 02 nTπf ( e
) u(n)
Systèmes discrets
• Un système est discret lorsque toutes les grandeurs variables du système sont des signaux discrets.
• La réponse du système ne dépend pas
uniquement des signaux discrets d’entrée mais aussi de l’état interne du système, donc nous avons une relation de récurrence
Systèmes discrets
• Si le système est linéaire et invariant dans le
temps nous avons l’équation de type récurrence :
N
M
∑
0 =
n
( nkyb ) =− n m
∑
( mkxa ) m 0 =
−
Exemple (l’importance des conditions initiales) 1)1( =− 1)0(
− ay
= x
)0(
)0(
)1(
)1(
ay
a
y
y
x
ky 0)( k 0 <∀= )( tukx )( =
= 1)2(
−=
y
ky )(
=
−= aa
− ay 1)1( +−= ) (1 a −− 1 a +
ku )(
1 +
k
2
Relation de récurrence et transformée en z monolatérale
• Considérons la relation de récurrence:
ny )(
+
nyb (
1
)1 +−
nyb (
2
−
0)2 =
b1 et b2 ctes
• La Transformée en z est :
{
Y
+
)( z
−=
yb
)1(
1
yb +− 1
)2( − zb
+
1 −
1
2
} { + zb +
2
−
2
yb
} )1( z −
2
1 −
La Transformée en z Inverse
• Basée sur l’intégrale de Cauchy • Méthode d’identification par “inspection”
– Décomposition en fractions simples – Identification de la série géométrique
Exemple: Calculer la transformée z inverse de :
( ) zX
=
1 1 2
−
1
z
1
−
z
>
1 2
→
[ ] nx
=
n
⎛ ⎜ ⎝
1 2
⎞ ⎟ ⎠
[ ]nu
[ ] n nua
Z ⎯⎯ →←
1 az
−
1
1
−
z
>
a
35
Transformée en z inverse
• Supposons que la TZ se présente sous la forme :
( ) zX
M
∑ 0k = = N ∑
0k =
−
k
zb k
−
k
za k
• Développement en fractions simple :
( ) zX
=
NM −
∑
0r =
−
r
zB r
+
N
∑
ik,1k ≠
=
k
A zd1 −
k
s
+
∑
1m =
−
1
C
m ( zd1 −
i
m1 −
)
• Le premier terme existe si M>N
– Br est obtenu par division longue
• Le deuxième terme représente le pôles simples • Le troisième terme représente les pôles multiples • Chaque terme permet d’obtenir le TZ inverse par identification
36
Développement en Fraction
( ) zX
=
NM −
∑
0r =
−
r
zB r
+
N
∑
ik,1k ≠
=
k
A zd1 −
k
s
+
∑
1m =
−
1
C
m ( zd1 −
i
m1 −
Publicité
)
A k
=
• Coefficients sont :
) ( ) ( − zXzd1 k
−
1
kdz =
C
m
=
1 ) ( ( d!ms − i
−
ms −
)
⎧ ⎨ ⎩
d dw
ms −
ms −
[ ( ( ) wXwd1
−
s
i
−
1
⎫ ] ) ⎬ ⎭ 1 −= idw
37
• Easier to understand with examples
Transformée z inverse d’un 2eme ordre
( ) zX
=
1
−
⎛ ⎜ ⎝
1 4
−
1
z
1
⎞ ⎛ ⎜ ⎟ ⎠ ⎝
1
−
1 2
−
1
z
⎞ ⎟ ⎠
ROC
z :
>
1 2
( ) zX
=
1
−
⎛ ⎜ ⎝
+
A 2 1 2
−
1
⎛ ⎜ ⎝
−
1
z
⎞ ⎟ ⎠
−
1
z
⎞ ⎟ ⎠
A 1 1 4
1
A
1
=
1
−
⎛ ⎜ ⎝
1 4
−
1
⎞ ( ) zXz ⎟ ⎠
=
z
=
1 4
1
−
⎛ ⎜ ⎜ ⎝
1 2
⎛ ⎜ ⎝
1 4
⎞ ⎟ ⎠
−
1
⎞ ⎟ ⎟ ⎠
−=
1
A
2
=
1
−
⎛ ⎜ ⎝
1 2
−
1
⎞ ( ) zXz ⎟ ⎠
=
z
=
1 2
1
1
−
⎛ ⎜ ⎜ ⎝
1 4
1 2
⎛ ⎜ ⎝
⎞ ⎟ ⎠
−
1
⎞ ⎟ ⎟ ⎠
=
2
38
( ) zX
=
1
⎛ ⎜ ⎝
1 − 1 4
z
−
+
−
1
⎞ ⎟ ⎠
1
−
⎛ ⎜ ⎝
2 1 2
−
1
z
⎞ ⎟ ⎠
z
>
1 2
• ROC extension
[ ] nx
=
1 2
⎛ 2 ⎜ ⎝
n ⎞ ⎟ ⎠
[ ] -nu
1 4
⎛ ⎜ ⎝
n ⎞ ⎟ ⎠
[ ]nu
39
Génération des signaux numériques
• Relation de récurrence :
kxakx )( =
)1( −
x
1)0( =
x(k)
=
• Générer un signal sinusoïdal
ak ⎧ ⎪ ⎨ 0 ⎪⎩
k en
0 ≥ rest
sin( cos( kb kb
ba ) + ba ) + b ) + b ) +
sin( cos(
a b ) ) cos( sin( = + ) cos( cos( a b ) = − sin( ) ) kb b cos( + = ) kb cos( b ) cos( = −
a b cos( ) sin( ) sin( sin( a b ) ) cos( sin( kb ) b ) sin( kb ) b ) sin(
x(k y(k
1 ) =+ ) 1 =+
x(k) y(k)
cos cos
(b) + (b) −
y(k) x(k)
sin sin
(b) (b)
x 0)0( = ⎧ ⎨ y 1)0( = ⎩
kx )( sin( = ky cos( )( =
kb ) kb )
⎧ ⎨ ⎩
Modèle Linéaire Discrets
Soit, l’équation linéaire, aux différences finies
L
1 − lnyb ( ) =− l
1 − knxa ( ) − k
K
∑
0 =
k
∑
0 =
l
Est un modèle ARMA d’ordre (K,L)
Questions: 1. Quel l’ordre minimal (K,L) qui permettre de représenter le signal de
façon convenable ?
2. Comment déterminer les {ak} et les {bl} ? Ces coefficients restent-ils invariants lorsque l’on considère différentes réalisation du signal ?
Filtres
• Filtres récursifs
Entrée Xk
RII-ARMA
Sortie yk
• Filtres non-récursifs
Entrée Xk
RIF-MA
Sortie yk
Stabilité des Modèles ARMA
• La CNS pour qu’un système linéaire, de réponse
impulsionnelle {h(n)} soit stable est que :
∞
)( nh
∞<
sommabilit é
∑
n
=
0
• La stabilité d’un système AR ou ARMA exige que les pôles de la fonction de transfert H(z) soient à l’intérieur du cercle unité du plan {z}
Filtrage Numérique
l
i
a n g s u d e d u t i l
p m a
MATLAB 3: signal sinusoïdal
c hronogr amme d'un signal en temps c ontinu
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
0
0. 005
0. 01
0.015 axe des temps (secondes)
0.02
0.025
• Amplitude : 0.8 • Durée : 0.03 seconde • Période : 0.02 seconde • Fréquence : 1/0.02 = 50Hz • Signal analogique et (en temps) continu • Expression : s(t)= 0.8*sin(2*π*t/0.02)
script Matlab
% créer et afficher le signal sinusoïdal précédent freq= 50; % en Hertz (Hz) ampl= 0.8; % ';' signifie ne pas afficher le résultat temps= [0:1:299]/10000; % définir vecteur temps(secondes) signal= ampl*sin(2*pi*freq*temps); % créer vecteur signal plot(temps, signal) % trace la courbe signal(temps) axis([0, temps(length(temps)), -1, 1]) % définir les axes grid % tracer la grille title('chronogramme d''un signal en temps continu') xlabel('axe des temps (secondes)') ylabel('amplitude du signal')
c hronogr amme d'un signal en temps c ontinu
l
i
a n g s u d e d u
t i l
p m a
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
0
0. 005
0.015 0. 01 axe des temps (secondes)
0.02
0.025
Page 46
l
i
a n g s u d e d u
t i l
p m a
signal discret, signal numérique.
chronogramme d‘‘un signal en temps discret
signal numérisé, B=3bits
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
0
0.005
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
l
a n g s
i
0.01 axe des temps (secondes)
0.015
0.02
0.025
-1
0
0.005
0.01 axe des temps (secondes)
0.015
0.02
010
001
000
0.025
• période d’échantillonnage : Te= 0.001s • fréquence d'échantillonnage fe =1000Hz • 20 Te par période • Signal en temps discret et analogique
• nombre de bits par échantillon : B = 3 • 8 niveaux de quantification • pas de quantification : Q=0.25 • erreur de quantification 0 < ε < 0.25 • Signal numérique et en temps discret
Page 47
Composition fréquentielle.
Le chronogramme ci-dessus a été tracé par Goldwave à partir de l’expression mathématique :
ts )(
=
t π
)
+
cos(
400 2 200Hz
cos(
t π
1200 18 600Hz
)
+
)
cos(
t π
2000 50 1000Hz
Le signal s(t) est composé des trois fréquences 200, 600 et 1000Hz
Page 48
MATLAB : spectre et spectrogramme du signal s(t)
fe/2
e c n e u q é r f
amplitude en dB
spectrogramme = spectre(temps)
spectre calculé par l’algorithme de F.F.T. (Fast Fourier Transform)
Page 49
fréquence
fe/2
Gabarit d’un filtre • Pour un filtre passe-bas, est conduit à introduire 3 régions – Bande passante, plage de fréquences où le gain prend des valeurs
comprises entre (1-δp,1+ δp) où δp est le taux d’ondulation
– Bande de transition, plage de fréquence où le gain s’atténue dans
un rapport A.
– Bande affaiblie, plage de fréquences où le gain prend des valeurs
inférieurs à δs
H(f)
ripples
- 3dB
B. passante
B. affaiblie
fc
fe
f
• La partie du plan complexes où se trouvent les zéros correspond à la bande affaiblie. Plus les zéros sont proches du cercle unité, plus l’atténuation est grande. Plus le nombre de zéros est grand, plus les ondulations dans la bande affaiblie pourront être rendues faibles.
zéros
x
pôles
• Le lien entre le gabarit et la position des pôles et des zéros.
– Le cercle unité est gradué en valeur de la fréquence qui varie entre –½et ½
– Si les pôles et les zéros sont complexes conjugués |H(jω)| est paire
– La partie du plan complexe où se trouvent les pôles correspond à la bande passante. Plus les pôles sont proches du cercle unité, plus les surtension sont grandes. Plus les pôles est grandes, plus les ondulations dans la bande passante pourront être rendues faibles.
Im(z)
f=1/4
x
x
x
f=0
Re(z)
f=-1/4
Synthèse d’un filtre réel à temps continu
• Problème :
Comment réaliser en numérique un filtrage analogique ? – Donc, si xa(t) et ya(t) sont les signaux d’entrée et de sortie d’un filtre analogique: comment fabriquer les échantillons de ya(t) à partir de ceux de xa(t) ?
Solution :
• Soit le filtrage linéaire réel analogique défini par l’équation en
fréquence :
fXfHfY ) ( ) ( a a
) ( a
=
Si Xa(f)=0 pour |f|>B, alors Ya(f) est lui-même à bande limitée B. On prend Fe=1/Te>2B
• L’expression des échantillons ye(n)=ya(nT) en fonction des
échantillons x e(n)=xa(nTe) s’écrit ~ )( e
)( *)( nhtxny e e
e(Y e
⇔
=
j 2 π
nf
e(X) = e
n 2 jπ f
~ e(H) e
n 2 jπ f
)
2~ nf jπ e(H e
Où est la périodisée de
)
H
( fFe
a
)
rect
( −
), bb
)( f
où b =
B/fe
Conclusion
• C’est donc un filtrage à temps discret dont la réponse en
fréquence s’obtient par troncature de Ha à la bande (-B,B) suivie d’une division de l’axe des fréquences par Fe
Preuve
• En utilisant la formule de Poisson:
fj 2 π
e ( Y e
) =
fnj 2 π
=
F e
∑ Zn ∈ ) FfkXFfkHF ) e e
(( ) FfkY − a e
∑ Zk ∈ ) e
e )( ny e ∑ (( a
(( a
−
−
)
)
=
Zk ∈
~ Et en posant fFeHfH =
)(
(
a
a
)
rect
( −
bb ),
f )(
: aon
fj
( 2 π Y e
e
) =
∑
Zk ∈
)) FfkHFfkXF
))
((
((
a
a
e
e
e
−
−
~
∑
Zk ∈
ANALYSE DES FILTRES NON RECURSIFS OU RIF
Caractéristiques des RIF
• Équations mathématiques :
y(n) =
N−1
∑
k=0
h(k)x(n − k)
H (z) =
N−1
∑
k=0
h(k)z−k
x(n)
h0
z 1−
h1
z 1−
hk
Σ
y(n)
Σ
zH )(
=
zY )( zX )(
=
h
0
+
zh
1
1 −
−
N
zh
N
... ++ 1
Filtre à réponse impulsionelle finie (RIF)
xhy =
0
n
n
... −++
xh
L
1
Ln
1 −−
Stabilité : un filtre RIF est stable Phase linéaire: si la réponse impulsionelle
vérifie
0 ∈∀ [L hh
= −
LN
L
,N]
Remarque: conséquence directe de la symétrie de la réponse
impulsionelle
Démonstration de la phase linéaire
• N=7 • h(n)=h(N-1-n) ou h(n)=-h(N-1-n)
h
Publicité
)0(
=
h
h )1( ; )6(
=
h
h )2( ; )5(
=
h
)4(
6
H
)( ω
=
eH (
t j ω
)
=
ekh )(
−
Tjk ω
∑=
0
k
H
( ) ω
=
e
−
j
3 T ω
h )(0((
e
j
3 T ω
+
e
−
j
3 T ω
)
+
h
)(1(
e
j
2
T ω
+
e
−
j
2
T ω
)
+
h
)(2(
e
Tj ω
+
e
−
Tj ω
))
Exemple
• Considérons le filtre RIF, dont la réponse :
, hhh = 0 3
h et h = 1 2
0 = n
{ }3210 pour n ,,, ≠
Sa réponse en fréquence est :
fj 2 π
e jππ fj fj 4 2 π π − − H ehh ( ) eh += + 0 1 2 e (h πf ) cos ( 3 h = − + 1
fj 6 π − eh + 3 ( cos 6 πf )) −
3 −
0
Filtre Design
• Spécifications du filtre • Calcul des coefficients • Réalisation • Analyse de la quantification des coefficients du filtre • Implémentation
Spécifications :
Soit un filtre passe-bas utilisé pour la réduction du bruit physiologique :
• La bande passante 10Hz • La bande d’arrêt < 20 Hz • L’atténuation dans la bande d’arrêt < 30dB • Les oscillation dans la bande passante « ripple » <0.026 dB • La fréquence d’échantillonnage 256 Hz
Gabarit d’un filtre
– Bande passante, plage de fréquences où le gain prend des valeurs
comprises entre (1-δp,1+ δp) où δp est le taux d’ondulation
– Bande de transition, plage de fréquence où le gain s’atténue dans
un rapport A.
– Bande affaiblie, plage de fréquences où le gain prend des valeurs
inférieurs à δs
H(f)
ripples
- 3dB
B. passante
B. affaiblie
fc
fe
f
Synthèse RIF passe-bas par la méthode de la fenêtre • On veut construire un filtre numérique idéal réel de bande
b∈(0,1/2) définie par :
2
eH (
fj
) =π
rect
(
−
bb ,
)
(
f
)
• Donc
h
n
b
= ∫−
b
2 π
e
jn
f
df
=
sin( 2 ) bn π n π
h
O
2=
f
c
• La meilleure approximation de longueur 2N+1 est :
{
=
h n 0
g n
si n
∈
[N,...,N } sinon
Remarque: cette troncature introduit des lobes dans la réponse
en fréquence
Fenêtre de pondération
• Le fait de ne conserver de la suite infinie h(n) qu’un nombre fini de termes revient à la multiplier par une fonction rectangle de largeur N et donc à convoluer H(f) par la fonction :
Wr =
N−1
∑
n=0
e− jω n
=
1− e− jNω 1- e− jω =
sin(Nπf ) sin(π f)
e− jπ( N−1) f
Algorithme
1.
2.
3.
On se donne le gain complexe H(f) à réaliser et le nombre N de coefficients du filtre On détermine les coefficients h(n) par la formule précédente en limitant le calcul à N valeurs réparties de façon symétrique autour de n On multiplie terme à terme la suite obtenue par une suite w(n) appelée fenêtre de pondération
Synthèse RIF passe-bande à partir d’un RIF passe-bas
• Soit hn la réponse impulsionnelle d’un filtre passe-bas de bande B. • Considérons le filtre de réponse impulsionnelle:
g n
2 h =
cos(
2 π
n
nfj 2 π ehnf ) 0 = 0 n
2 nfj −+ π eh 0 n
• Par TFtd on en déduit que l’expression du gain complexe de gn:
fj 2 π
G ( e
(2 j f π
) =
H ( e
f
) 0
+ + )
(2 j f π
H ( e
−
f
) 0
)
• Conclusion : Si hn est filtre passe-Bas de bande B, gn est un passe-bande
centré autour de f0 de bande 2B
Fenêtre de pondération
• Sont des fenêtres qui présentent des lobes secondaires de
moindre amplitudes.
• Conséquence: l’élargissement de la bande de transition. • Exemple: Hamming
wH (n) = 0.54 + 0.46 cos(2πn/N) où n ∈ −N / 2,..., N / 2 gn = hn × wn
{
}
• Remarque: la pondération utilisée conserve la symétrie de
la fenêtre et donc la propriété de phase linéaire
Relation pour la fenêtre de Hamming
f =Δ
3.3 N
H(f)
ripples
- 3dB
Les oscillations dans la bande passante minimum 0.0194 dB
B. passante
B. affaiblie
atténuation maximum est 53 dB
fΔ
Hamming
Différentes fenêtres
Fenêtre
Ltransition Ripple
Lobe principal
Attenuation dans la bande stop
Function
Rectang.
0.9/N
0.7416
Hanning
3.1/N
0.0546
Hamming
3.9/N
0.0194
Blackman
5.5/N
0.0017
13
31
41
57
21
44
53
75
1
⎛ cos5.05.0 ⎜⎜ ⎝
+
nπ2 N
⎞ ⎟⎟ ⎠
54.0
+
46.0
⎛ cos ⎜⎜ ⎝
nπ2 N
⎞ ⎟⎟ ⎠
Kaiser
Signification physique des coefficients bi
Considérons une impulsion :
)(nx
=
0n si 1 ⎧ ⎪ ⎨ n si 0 0 ⎪⎩
= ≠
Et la relation de récurrence :
ny )(
=
nxa )(
0
+
nxa (
1
)1 +−
nxa (
2
−
)2
+
...
y y
)1( 0 =− a )0( =
0
y
)1(
=
a
1
y
)2(
=
0
y
)3(
=
0
a
0
=
a
a
2
=
a
3
1
=
1 2 ... ==
0
Remarques
• On peut dire que la suite a0 ,a1, … constitue
la réponse du filtre à une impulsion • Le milieu de la réponse a pour abscisse :
=τ
eT 2
• On peut estimer que le filtre introduit un
retard et que la réponse impulsionnelle est symétrique par rapport à ce point.
Exemple
• Supposons que l'on veuille faire un filtre passe-bas de fréquence de
coupure fc, On peut prendre • Réponse de ce filtre :
s n
=
1 2
e n
+
1 e 12 n
−
1 2 • On a donc une réponse fréquentielle du type :
)( zE +
)( zzE
)( zS
1 2
=
1 −
zH
)(
=
)( zS zE )(
=
1 2
+
1 2
1 −
z
( jH
) ω
=
1 2
+
1 2
−
e
j ω
T e
=
1 2
T e
j ω 2
e (
+
e
−
T e
j ω 2
)
e
−
T e
j ω 2
=
⎛ cos ⎜⎜ ⎝
e
T ω 2
e
⎞ ⎟⎟ ⎠
−
T e
j ω 2
Réponse en amplitude
Réponse en phase
L' équation de récurrence • Ex: y(n)=x(n)-x(n-1) dérivateur mais avec • des résultats très moyens sauf pour les basses fréquence.
Exemple
• Déterminer les coefficients d’un filtre RIF passe-bas avec les fréquences suivantes pour la bande passante et la bande d’arrêt 1kH et 4.3 kHz. Utiliser une fenêtre de Hamming et considérer la fréquence d’échantillonnage de 10kHz.
Solution
N
≈
3.3 f Δ
Conclusion
• Il existe des méthodes de conception de filtre RIF simple à
mettre en œuvre
• Phase linéaire, donc pas de dispersion • Stabilité • Cher en réalisation • Le retard entre l’entrée et la sortie peut être relativement
longue
• Implémentation possible sur tous les DSP
ANALYSE DES FILTRES RECURSIFS OU RII
Synthèse des filtres numériques RII
• Caractérisés par l’équation récurrente :
∞
N
M
)( ny
=
∑
k
0 =
()( knxkh
−
)
=
∑
k
=
0
( knxb
) +−
k
( knya
−
k
)
∑
k
1 =
• La fonction de transfert est :
N
)( zH
=
−
k
zb
k
∑
k
=
0
1
+
M
∑
k
1 =
−
k
za
k
Réponse impulsionnelle
zH )(
=
8.11 −
cos(
1 −
z 5.01 + )16/ z π
1 −
+
z 81.0
−
2
Filtrage
Synthèse des filtres numériques par transformation de H(p) en H(z)
• Transposer la fonction de transfert H(p) de son homologue
analogique du plan p dans le plan z par une règle reliant p à z
Transformation d’Euler ou équivalence de la dérivation
)( ty
dx xx −−=→= k k y k dt T e
1
)( pY
=
ppX
)(
⇒
H(p) =
p
[ )(1)( zXzX zY )( − T e
=
z
1 −
z 1 ] − = T e
1 −
zX )(
p →
z 1 −− 1 eT
Synthèse d’un filtre numérique passe-bas du 1er ordre
• Soit la fonction de transfert :
pH )(
=
τ
=
RC
1 • La réponse impulsionnelle :
1 τ p +
th )( tu )( • La réponse indicielle :
=
e
RC
t
−
1 RC
s
ind
t )(
−
t
RC
e
⎡ −= 1 ⎢⎣
⎤ tu )( ⎥⎦
• En utilisant la transformation précédente :
zH )(
=
1
+
⎛ ⎜ 1 ⎜ ⎝
τ T
e
⎞ ⎟ −⎟ ⎠
τ T
e
1 −
z
• L’équation aux différence est :
y
k
=
τ T
e
1
+
τ T
e
y
k
1 −
+
1
1 τ T
e
+
x
k
Application
τ
=
Rms 1 (
=
)1Ck 1 = µ
Te
=
µ100 s
Équation ????* Réponse impulsionnelle x1=1 xk=0 k>1 Réponse indicielle xk=1 k>=1 Conditions initiales y0=1
RII versus RIF
• La complexité d'un filtre RII est moindre que celle d'un filtre RIF du
même ordre. Cette propriété peut être utile sur les plateformes limitées en puissance de calcul
• Généralement, les filtres RIF sont moins sensibles aux erreurs de
quantification que les filtres RII. L'absence de récursivité empêche les erreurs cumulatives.
• Un filtre RIF est moins sélectif qu'un filtre RII du même ordre. C'est-à- dire que la transition entre la bande passante et la bande rejetée est moins rapide que dans le cas du filtre RII.
Publicité
• Contrairement à un RII, un filtre RIF peut avoir une réponse
impulsionnelle symétrique et introduire un retard sur le signal mais aucun déphasage.
Le choix du filtre RIF/RII
• RIF peuvent avoir une phase linéaire : Applications transmission de données, audio, traitement d’images
• RII la phase est non-linéaire • RIF toujours stable • L’effet de la limitation du nombre de bits est moins sévère
pour les RIF que pour les RII
• RIF nécessitent un nombre de coefficient supérieure au RII • Les filtres analogiques peuvent être transformés facilement
en RII
Quand RII/RIF ?
• RII pour des filtres avec une bande de transition
faible
• RII pour des gains importants • RIF quand le nombre de coefficients est réduit :
les DSP conçus pour RIF
Les banc de filtres
Traitement Multicadence
• Un système multicadence est caractérisé par le fait que des cadences
de traitement différentes sont présentes simultanément en divers points de la chaîne de calcul
• Exemple: les opérations de sur et de sous-échantillonnage • Avantage: gain en termes d’efficacité de calcul
Applications du traitement du signal « multicadence »
• Filtrage bande étroite : Audio numérique
• Le codage en sous-bandes
• La conversion analogique/digitale (Σ-Δ)
• Transmultiplexeurs (OFDM)
• MPEG audio/vidéo
• ………
Problématique
Les systèmes de communications mobiles (GSM) ou interactifs sur câbles sont des systèmes où divers utilisateurs sont autorisés à communiquer simultanément.
L'accès multiple est classiquement résolu en ayant recours au multiplexage temporel des signaux (GSM) où l'attribution de codes différents (code division Pour les réseaux CATV interactifs, il a récemment été multiple acces). proposé d'attribuer à chaque utilisateur une forme d'onde qui est en fait une fonction de base d'une transformation de Fourier discrète. Cette technique a été baptisée OFDMA (orthogonal frequency division multipleacces).
Solution: • Structures en bancs de filtres (systèmes sous-bandes) , qui sont plus
généraux que les systèmes à transformation orthogonale.
Introduction
Un banc de filtre est un ensemble de filtres numériques travaillant en
parallèle et découpant la bande de fréquence en K sous bandes.
Le traitement du signal numérique traditionnel utilise des blocs comme: l’additionneur, multiplicateurs et des le retard.
Dans les systèmes banc de filtres, nous avons deux nouveaux bloc Décimateur
Expandeur
M↓
L↑
Sur-échantillonnage • Consiste à effectuer une interpolation sur une suite x(n) en calculant
M-1 valeurs intermédiaires entre deux points consécutifs
Sous-échantillonnage • Consiste à calculer, à partir d’une suite échantillonnée à fe, les valeurs
de la même suite qui aurait été échantillonnée à fe/M
M Décimateur
M décimation:
x
)( zY
1 −
M
1 = ∑ M
=
0
k
/1
WzX
M
(
M↓
y
ny )(
=
x
(
Mn
)
k
) ,
eW =
j /2 π−
M
z =
ωje
eY (
j ω
)
=
1 M
M
1 −
∑
k
=
0
j
( 2 πω −
Mk /)
( eX
)
Dans l’intervalle (-1/2,1/2), Y(f) est la somme algébrique de M contributions décalées de 1/M
Échelle temps
Séquence )(nx
Temps physique
)(tx
1−
0
1
2
3
4
5
6
7
)(ny
1−
0
1
2
3
4
n
n
T−
0
T
T2
T3
T4
T5
T6
T7
)(ty
0
T2
T4
T6
t
t
Échelle fréquence
Fréquence physique
( ωjeX )
( ωjeY )
1
0
1
2
0
π
π2
ω
π
π2
ω
Fréquence normalisée ) ( ΩjX
1
0
1
2
0
( ΩjY )
π T
π2 T
Ω
π T
π2 T
Ω
L Expandeur
x
y
L↑
L-expandeur:
ny )(
⎧= ⎨ ⎩
),
nLnx /( ,0
un est en
multiple rest
de
L
zY )(
=
LzX (
)
z =
ωje
eY (
j
ω = )
eX (
Lj ω
)
On retrouve le spectre de x(n) répliqué L fois
Filtre Décimateur
x
u
)(zH
M↓
Filtre Décimateur
Décimateur
y
∞
zU )(
=
zHzX )( )(
)( nu
=
()( knhkx
−
)
∑
−∞=
k
zY )(
=
=
1 M 1 M
M
1 −
∑
k
=
0
M
1 −
∑
k
=
0
/1
WzU
(
M
k
)
)( ny
=
u
(
Mn
)
∞
/1
M
WzHWzX )
(
(
/1
M
k
k
)
=
∑
k
−∞=
()( hkx
kMn −
)
Filtre Interpolateur
x
L↑
u
)(zH
y
expandeur
filtre interpolateur
zU )(
=
LzX (
)
zHzUzY )(
)(
)(
=
=
L
zHzX ) )(
(
nu )(
( ) nLnx / , ⎧= ⎨ ,0 ⎩
multiple rest
en
de
L
)( ny
=
=
∞
knhku
()(
−
)
∑
k
−∞=
∞
∑
k
−∞=
()( nhkx
−
kL
)
Connexion des éléments d’un schéma bloque
x
c
M↓
2x
2x
1x
1x
M↓
M↓
y
y
y
≡
≡
x
M↓
1x
M↓
≡
1x
M↓
c
2x
M↓
2x
M↓
y
y
y
Décimateur-Expandeur en cascades
x
x
0u
1u
L↑
M↓
M↓
L↑
0y
1y
yy =
0
1
et si
seulement
si
( LM ,
) premiéres
Simplification
Identité 1:
( MzH
)
M↓
y
x
≡
M↓
)(zH
Identité 2:
L↑
( LzH
)
y
x
≡
)(zH
L↑
x
x
y
y
Filtres Spéciaux
zE
=)(0
c
Filtre banc d’ordre M:
M
1 −
∑
k
=
0
zWH (
k Mc ) =
Représentation fréquentielle:
)(zH
(zWH
)
zWH (
2
)
1−MzWH
(
)
0
π2
ω
Banc de Filtres Numériques
Analyse
Synthèse
x
)(0 zH
)(1 zH
0x
1x
0y
1y
)(0 zF
)(1 zF
H M −
)(1 z
1−Mx
1−My
FM −
)(1 z
y
Conclusions:
M-banc de filtres:
x
)(0 zH
)(1 zH
0x
1x
M↓
M↓
0v
1v
0u
1u
M↑
M↑
)(0 zF
)(1 zF
H M −
)(1 z
1−Mx
M↓
1−Mv
M↑
1−Mu
FM −
)(1 z
xˆ
La reconstruction exacte est: )(ˆ zX
zX (
cz
),
n 0
−
=
nx )(ˆ
=
nncx 0
−
(
)
M=2 :
x
0x
1x
)(0 zG
)(1 zG
2↓
2↓
2↑
2↑
0y
1y
)(0 zH
)(1 zH
zXzGzXzGzHzY )( )()( − 0 0
()
( − 0
)[
( 0
=
+
2/)]
zXzGzXzGzHzY )( )()( − 1 1
( −+ 1
()
)[
=
( 1
2/)]
La reconstruction parfaite est assurée lorsque
)(ˆ zX
r−= zXz )(
zHzGzHzG +
)( 0
)( 0
)( 1
2)( = 1
r −
z
zHzGzHzG
( −+ 1
)( 0
( − 0
0)( = 1
)
)
• QMF: G1(z)=G0(-z)
• CQF: G1(z)=(-z) -N G0(-z -1)
Transmission Numérique
Types de transmission
• Transmission en bande de base: les signaux sont transmis
tels qu’ils sortent de la source
• Transmission par modulation: transposer le signal en autre contenant la même information, mais avec une modification en fréquence du signal – Permet le multiplexage fréquentiel – Adaptation aux condition d’un milieu de transmission
Quantité d’information
• La quantité d’information I contenue dans un caractère est :
I −=
log2
ixp )(
• Quantité d’information moyenne d’une source Entropie
Soit une source ayant émis un message de m caractère issus d’un alphabet de n caractère alors
XH )(
−=
n
∑
1 =
i
xp log)( i 2
xp )( i
Message numérique en bande de base • Le message numérique est une suite {dk} de v.a. à valeurs
dans {0,1}
• Le modulateur associe de façon bijective à chacun de 2k
message possible un signal à temps continue x(t)
• Exemple: le signal numérique est engendré à partir d’une
impulsion h(t) décalée et modulée par dk
)( tx
( kTthd ) b k
−
K
∑ =
k
1 =
• Où Tb est l’intervalle de temps entre l’émission de 2 bits D 1= b T
b
Transmission binaire
• On considère un alphabet fini à M symboles
2mM = • On choisit un codage qui asso