Synthèse de filtres
- Travaux Pratiques -
Thème 3 : "Filtres à Réponse Impulsionnelle Finie (RIF)"
- Indications sur les résultats graphiques à obtenir -
Calcul des coefficients du filtre par Transformée de Fourier (TF) inverse de la réponse en fréquence
On souhaite synthétiser un filtre de type RIF (à Réponse Impulsionnelle Finie) par TF inverse de la réponse idéale d’un filtre passe-bas, de fréquence de coupure fc=5Hz. On prendra une fréquence d’échantillonnage fe=100fc.
1) Ecrire un programme Matlab calculant les coefficients d’un filtre passe-bas à l’aide de la formule calculée à partir de la TF inverse d’un filtre passe-bas idéal (vue en cours), et affichant la réponse en fréquence (diagramme de Bode du gain en dB) du filtre, entre 1Hz et fe/2, avec un nombre de coefficients N prenant les valeurs suivantes : N=10, N=100 et N=1000.
N=10 :
N=100 :
100 101 102 103
-70 -60 -50 -40 -30 -20 -10 0
-160 -140 -120 -100 -80 -60 -40 -20 0
N=1000 :
…
3) Examiner les coefficients résultant de ce calcul et en déduire la caractéristique de la phase en fonction de la fréquence (d’un point de vue théorique). Afficher la phase en fonction de la fréquence (repère linéaire : fonction plot) et le délai de groupe (fonction grpdelay).
Phase :
Délai de groupe :
100 101 102 103
-250 -200 -150 -100 -50 0 50
0 5 10 15 20 25 30 35 40 45 50
-12 -10 -8 -6 -4 -2 0
0 5 10 15 20 25
-50 -50 -50 -50 -50 -50 -50 -50
Amélioration par fenêtrage
4) Diminuer les ondulations en bande coupée par utilisation d’un fenêtrage de Hamming (sans utiliser de fonction pré-définie de Matlab).
N=10
N=100 :
N=1000 :
100 101 102 103
-100 -90 -80 -70 -60 -50 -40 -30 -20 -10 0
100 101 102 103
-180 -160 -140 -120 -100 -80 -60 -40 -20 0
100 101 102 103
-250 -200 -150 -100 -50 0 50
Filtrage proprement dit
5) Générer quelques périodes d’un signal sinusoïdal (fréquence au choix), et le filtrer avec le filtre synthétisé précédemment en utilisant la fonction filter. Relier le résultat à la réponse en fréquence.
Exemple pour N=1000 (choix de la fréquence libre) ; rappel du diagramme de gain et signal filtré :
100 101
-8 -6 -4 -2 0 2
0 0.5 1 1.5 2 2.5 3
-1 -0.5 0 0.5 1
Utilisation de la fonction fir1 de Matlab
6) Recommencer la question 1) en utilisant cette fois-ci la fonction fir1 de Matlab.
Interpréter les résultats en les comparant avec ceux obtenus en 1).
N=10 :
100 101 102 103
-120 -100 -80 -60 -40 -20 0
N=100 :
100 101 102 103
-180 -160 -140 -120 -100 -80 -60 -40 -20 0
N=1000 :
100 101 102 103
-250 -200 -150 -100 -50 0 50