Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
GEI-1055 : Signaux et
systèmes linéaires
FILTRAGE NUMÉRIQUE
ET
FILTRAGE ADAPTATIF
Cours de la session d’Hiver : • Systèmes de télécommunication
• Traitement numérique du signal
1
Quizz Time
Que permettent de faire les filtres numériques?
Quelles sont les façons de filtrer un signal?
Sur quels types de systèmes LTI peuvent être utilisés pour les filtres
numériques?
À quoi sert l’ordre du filtre?
Quels sont les genres de filtres numériques?
Quelles sont les étapes du filtrage dans Matlab?
Est-ce que le filtrage numérique s’applique dans le domaine temporel
ou dans le domaine fréquentiel?
x n
System y n
LTI
Dans Matlab
y n = x k h n − k = h k x n − k = x n h n
k =− k =−
N M Dans Matlab
a y n − k = b x n − k
k =0
k
k =0
k
Fonction «filter»
M N
y n = bk x n − k − ak y n − k
k =0 k =1
x n
System y n
LTI
Dans Matlab
y n = x k h n − k = h k x n − k = x n h n
k =− k =−
▪Faire la conception
Système d’un filtre
LTI discret récursif c’est simplement
: ➔ Équation déterminer les valeurs
aux différences
des coefficients a et b ou h pour faire la filtre que l’on veut.
N M Dans Matlab
a y n − k = b x n − k
k =0
k
k =0
k
Fonction «filter»
M N
y n = bk x n − k − ak y n − k
k =0 k =1
0 1
1 − d p
pass-band
-3
ripple
stop-band
ripple
f(norm) Ds d
fc : cut-off frequency fs/2 s
f(norm)
fs/2
→ Filtres de Bessel, Chebyshev, Butterworh, Kaiser… fsb: stop-band frequency
fc : cut-off frequency
fpb: pass-band frequency
Département de génie électrique et informatique GEI-1055 - Signaux et systèmes linéaires 6
Rappel - Filtrage numérique dans Matlab
▪ Filtre numérique dans Matlab :
▪ Il existe de nombreux types de filtres et toutes une science derrière le filtrage.
Cependant nous allons nous intéresser ici à l’utilisation du filtrage de
Butterworth, identifié dans Matlab par la fonction «Butter».
Spécifications
Coefficients
Signal à Filtrer
Signal Filtré
Amplitude
Amplitude
0.5 0.5
-0.5 -0.5
100
-1 -1
Est-il nécessaire de traiter ce signal? 50
-1.5 -1.5
Activité musculaires dans le dos
-2 -2
0 5 10 15 20 25 30 00 50 5
100 150 10200 25015 300 350
20 400 25
450 50030
Temps en seconde Fréquence
Temps enen Hz
seconde
0.5 0.5
Amplitude
k =0 FF k =0 k =1
0 1500
T
Détermination des
-0.5 - Moins performant -0.5 - Plus performant
coefficients pour
100
-1 - Nécessite plus de coefficients -1 - Nécessite moins de coefficients
faire des filtres
50
-1.5 -Activité
Aucun musculaires
problème de stabilité
dans le dos numériques -1.5 - Peut être instable
-2 (Passe haut, bas, bande,…)
-2
0 - Plus5 simple
10 15 20 25 30 00 50 5- Plus
100 complexe
150 10200 250 15 300 350
20 400 25
450 50030
Temps en seconde Fréquence
Temps enen Hz
seconde
Amplitude
Amplitude
3 0.5
0.4
? 3
2
2
0.3
1
0.2
1
0.1 0
0 0 -1
0 20 40 60 80 100 120 140 0 20 40 60 80 100 120 140 20 40 60 80 100 120
Échantillons Échantillons
Longueur d’onde Échantillonsd’onde
Longueur d’onde Longueur
Amplitude
Amplitude
3 0.5 3
0.4
2
2
0.3
1
0.2
1
0.1 0
0 0 -1
0 20 40 60 80 100 120 140 0 20 40 60 80 100 120 140 20 40 60 80 100 120
Échantillons Échantillons
Longueur d’onde Échantillonsd’onde
Longueur d’onde Longueur
0.8
5
0.7
→ Déterminer les coefficients w[n] d’une structure (FIR, IIR ou autre) afin que :
4
0.6 4
Amplitude
Amplitude
Amplitude
3 0.5 3
0.4
2
x[n] h[n]*w[n] => Pulsation de Dirac
0.3
2
^
x[n]
1
0.2
1
ou
0.1 0
0
0 20 40 60 80
Échantillons
100 120 140 H [z] ×W[z] => 1
0
0 20 40 60 80
Échantillons
100 120 140
-1
20 40 60 80 100 120
Longueur d’onde Longueur d’onde Échantillonsd’onde
Longueur
x n
System y n
LTI
w n
▪ Système LTI discret non-récursif : ➔ Convolution
Dans Matlab
y n = w k x n − k = x n wn
k =− y = conv ( x, w )
Objectif
x[n] Modèle du système u[n]
Inconnu Filtre Adaptatif
h[n] w[n] w[n]
^ Objectif
x[n] Modèle du système u[n] x[n]
Inconnu Filtre Adaptatif
h[n] w[n] ^
x[n]
Valeurs désirées
d[n] d[n] = x[n]
^y[n] - +
x[n] u[n] Filtre Adaptatif x[n]
h[n] +
w[n]
?
➔ Objectif de la méthode e[n] = d[n]-y[n] 0
d’optimisation :
➔ y[n] d[n]
minimiser l’erreur e[n] Méthode
en ajustant les d’optimisation y[n] x[n]
coefficients w[n]
Simon Haykin, «Adaptive filter theory», Prentice-Hall, 2007.
e[n] =d[n]-y[n]
Méthode
d’optimisation
▪ Identification de systèmes
▪ Prédiction
▪ Inversion de systèmes
▪ Annulation d’interférences Projet de mi-session
Filtre y n d n
adaptatif
w[n]
e n → 0
-
+
+
u n d n
Système
inconnu h[n]
x n x n − 1 Filtre y n x n
Délai Z-1 adaptatif
w[n]
e n → 0
-
+
x n
+
Département de génie électrique et informatique GEI-1055 - Signaux et systèmes linéaires 18
Types de Filtres adaptatifs
➔ Inversion de systèmes ou déconvolution :
x n Système h[n]
u n Filtre y n x n −
à inverser
adaptatif
w[n]
e n → 0
-
+
xn −
+
Délai
?
Pour assurer une
bonne synchronisation
Département de génie électrique et informatique GEI-1055 - Signaux et systèmes linéaires 19
Types de Filtres adaptatifs
➔ Inversion de systèmes ou déconvolution :
Ce système a compensé
l’effet de h[n]
x n Système h[n]
u n Filtre y n x n −
à inverser
adaptatif
w[n]
e n → 0
-
+
xn −
+
Délai
Ce système a compensé
l’effet de h[n]
x n Système h[n]
u n Filtre y n x n −
à inverser
adaptatif
w[n]
e n → 0
-
+
xn −
+
Délai
Séquence
Séquence Comment retrouver la [ 0,5 -0,2 0,1 0,8
[ 0 1 0 1 0 0] séquence transmise? -0,3 0,4]
Filtre
Filtre
?
Émetteur Récepteur
≠ Adaptatif
Numérique
Canal de transmission
Sequence transmise Sequence après passage dans le canal
1.4
1 1.2
0.8
➔ le canal de 1
transmission, qui est 0.8
Amplitude
Amplitude
0.4
signal transmis 0.4
0.2
0.2 ➔ On ne retrouve pas la 0
séquence transmisse. -0.2
0
-0.4
0 5 10 15 20 25 30 35 40 45 50 0 5 10 15 20 25 30 35 40 45 50
Échantillons Échantillons
d[n]
Séquence
w[n]
connue au
récepteur d[n]
[ 0 1 0 1 0 0] Filtre
Émetteur Adaptatif +
w[n]
Canal de Méthode
transmission h[n] d’optimisation e[n]
-
e n → 0
+
xn −
+
Délai
Séquence
w[n]
connue au
récepteur d[n]
[ 0 1 0 1 0 0] Filtre d[n]
Émetteur Adaptatif
w[n]
Canal de
transmission h[n]
-
e n → 0
+
xn −
+
Délai
? Micro2
Rock Hélicop.
Micro1
Rock +
Hélicop. MAIS Julien entend sa
musique et BEAUCOUP le
Julien aime le rock et
moteur de l’hélicoptère…
veut écouter une
chanson dans son
hélicoptère
Rock Hélicop.2
Hélicop.
Micro1
Rock +
Hélicop.
Hélicop.1 MAIS Julien entend sa
musique et BEAUCOUP le
Julien aime le rock et
moteur de l’hélicoptère…
veut écouter une
son pas si facile…
chanson dansMAIS
hélicoptèrePourquoi???
Exemple«Les
Matlab
sons d’hélicoptères des deux micros
Département de génie électrique et informatique sont différents pour les deux
GEI-1055 -micros»
Signaux et systèmes linéaires 26
Filtrage adaptatif – Annulation d’interférences
➔ Exemple 2 : Annulation des pulsations cardiaques sur l’EMG
Analyse du rythme respiratoire :
Filtre
Passe haut
60Hz
E1 E2
Muscles Directement la
intercostaux poitrine sur le cœur
Électrode
Référence
primaire
E1 - E2
EMG
≠ EMG
EMG
M −1
ECG1 n = w k ECG 2 n − k
k =0
Coefficients
w[n]
EMG
Méthode
d’optimisation
e = (EMG + ECG1)-y
Méthode
d’optimisation
^
EMG
Méthode
d’optimisation
^
EMG
De quoi
dépendent les ➔ Donc, comme plus on itère :
performances ^ ^
y ➔ ECG1 e ➔ EMG
d’annulation?
Département de génie électrique et informatique GEI-1055 - Signaux et systèmes linéaires 37
Filtrage adaptatif – Annulation d’interférences
➔ Exemple 2 : Annulation des pulsations cardiaques sur l’EMG
Pistes de solution (3):
De quoi
dépendent les Méthode
performances d’optimisation
d’annulation? ^
EMG
dépendent les
0.3 Méthode
0.3
performances
0.2 d’optimisation
0.2
d’annulation?
0.1 ^
EMG 0.1
Amplitude
Amplitude
0 0
-0.1 -0.1
▪ Stochastique basée sur les connaissance statistiques des entrées
-0.2 -0.2
(LMS, peu complexe, peu performante)
-0.3 -0.3
- + Avec :
w n = w0 n , w1 n , wM −1 n
u[n] Filtre FIR y[n] d[n] T
+
w[n]
M le nombre de coéfficients du système LTI
u n = u n , u n − 1 , u n − M + 1
T
Méthode LMS
→ Attention les caractères en gras sont des
e[n]=d[n]-y[n] vecteurs et les autres des scalaires
y n = w n u n
T
▪ La phase apprentissage est → Passage dans le FIR
e n = d n − y n
définit par ces trois lignes de
code qu’il faut répéter dans → Calcul d’erreur
une boucle d’itérations. w n + 1 = w n + e n u n → Mise à jour des coef.
k =0
- + Avec :
w n = w0 n , w1 n , wM −1 n
u[n] Filtre FIR y[n] d[n] T
+
w[n]
M le nombre de coéfficients du système LTI
u n = u n , u n − 1 , u n − M + 1
T
Méthode LMS
→ Attention les caractères en gras sont des
e[n]=d[n]-y[n] vecteurs et les autres des scalaires
y n = w n u n
T
▪ La phase apprentissage est → Passage dans le FIR
e n = d n − y n
définit par ces trois lignes de
code qu’il faut répéter dans → Calcul d’erreur
une boucle d’itérations. w n + 1 = w n + e n u n → Mise à jour des coef.
e n = d n − y n
w n + 1 = w n + e n u n
Méthode LMS
e[n]=d[n]-y[n]
→ Paramétrage
e n = d n − y n
w n + 1 = w n + e n u n
Méthode LMS
e[n]=d[n]-y[n]
Système de mesure
Résultat
FITLRE ADAPTATIF
Reconstitution
Spectromètre =
Reconstitution de
«Déconvolution»
FITLRES NUMÉRIQUES??? mesure
Amplitude
Amplitude
3 0.5 3
0.4
2
2
0.3
1
0.2
1
0.1 0
0 0 -1
0 20 40 60 80 100 120 140 0 20 40 60 80 100 120 140 20 40 60 80 100 120
Échantillons Échantillons Échantillons
Longueur d’onde Longueur d’onde Longueur d’onde
Étape2 – Il y a pas assez de données avec les données fournies. Alors allongez les
vecteurs Mesure_brute et Mesurande en les répétant 1000 fois. Vous obtenez
ainsi Vect_input_temp et vect_calib.
%- Etape 2
vect_input_temp = [];
vect_calib = [];
for rep = 1 : 1000
vect_input_temp = [vect_input_temp;Mesure_Brute];
vect_calib = [vect_calib;Mesurande];
end
Étape5 – Comme fait en Q2, calculez output_LMS avec cette boucle qui est le
résultat du passage de Vect_input à travers w_LMS à chaque instant n.
Étape6 – À partir ce qui a été fait à l’étape 5. Terminez la suite de la méthode LMS
sachant que le signal désiré est vect_calib.
y n = w n u n
T
Iterations e n = d n − y n
w n + 1 = w n + e n u n
Méthode
d’optimisation
^
EMG
Référence :
S. Haykin and B. Van Veen, Signals and Systems, 2nd edition, John Wiley & Sons, 2005.
S. Haykin, Adaptative Filter Theory, 4e edition, Prentice Hall, 2002.
Département de génie électrique et informatique GEI-1055 - Signaux et systèmes linéaires 37