Vous êtes sur la page 1sur 30

Compte rendu du TP :

Synthèse de filtres
numériques RII
Le 14/02/2022

Réalisé par : HAMOUDA Anis


FERJANI Dhouha
Enseigné par : Mme. KHOUJA Intissar

Année universitaire : 2021/2022


1|Page

I. But :
Ce TP est consacré à la réalisation des filtres à réponse impulsionnelle
infinie.

La synthèse peut être faite de 2 manières :

1.l’invariance de la réponse impulsionnelle

2.la transformation bilinéaire

Dans ce qui suit nous allons utiliser le gabarit d’un filtre analogique,
lui-même construit d’un gabarit d’un filtre numérique.

II. Filtres à réponse impulsionnelle infinie


RII :
1. Définition :
Un filtre à réponse impulsionnelle infinie ou filtre RII est un type
de filtre électronique caractérisé par une réponse basée sur les valeurs
du signal d'entrée ainsi que les valeurs antérieures de cette même
réponse.

Il est nommé ainsi parce que dans la majorité des cas la réponse
impulsionnelle de ce type de filtre est de durée théoriquement infinie.
Il est aussi désigné par l'appellation de filtre récursif. Ce filtre est l'un
des deux types de filtre numérique linéaire. L'autre type possible est
le filtre à réponse impulsionnelle finie (filtre RIF). Contrairement au
filtre RII la réponse du filtre RIF ne dépend que des valeurs du signal
d'entrée. Par conséquent, la réponse impulsionnelle d'un filtre RIF est
toujours de durée finie.

Ecole Nationale des Ingénieurs de Monastir 2021/2022


2|Page

La plupart des filtres analogiques peuvent également être considérés


comme des filtres à réponse impulsionnelle infinie.

Cette catégorie de filtre est caractérisée par le fait que leur fonction de
transfert en z contient des pôles et leur équation aux différences
récursive ; autrement dit le sortie y(n) dépend à la fois des entrées et
des sorties précédentes :

Y(n)=∑𝑛𝑖=0 b(𝑖 ) 𝑥 (𝑛 − 𝑖 ) - ∑𝑛𝑖=0 a(𝑖 ) 𝑦(𝑛 − 𝑖 )


2. Synthèse :
La synthèse d’un filtre numérique consistait à la recherche d’une
fonction H(z) correspondant à la spécification sous forme de gabarit.
Cette fonction peut être élaborée par différents méthodes :

i. Transformation analogique vers numérique :

On utilise des méthodes de synthèse des filtres analogiques


aboutissant à une fonction H(p) correspondant aux spécifications. Une
fonction permettant le passage du plan p au plan z est ensuite utilisé
pour obtenir H(z). Cette fonction doit maintenir la stabilité du filtre
analogique et maintenir les caractéristiques de la réponse fréquentielle
.il existe donc plusieurs transformations possibles tel que la méthode
d’invariance impulsionnelle, la transformation d’Euler et la
transformation bilinéaire

ii. Synthèse directe :

La synthèse directe en z est également possible selon les mêmes


principes que la synthèse analogique

Ecole Nationale des Ingénieurs de Monastir 2021/2022


3|Page

iii. Méthodes d’optimisation :

Ce sont des méthodes issues de l’analyse numérique peuvent être


utilisés afin de rechercher une fonction H(z) la plus proche possible de
la fonction prototype.

Gabarit numérique H(f) du filtre qu’on


veut synthétiser

Passage du gabarit numérique

Au gabarit analogique

Gabarit analogique H(f)


F = ( 1 / 𝝅 Te ) tan ( π f Te )

Approximation de H(p)

Fonction de transfert H(p) du filtre


analogique (Butterworth , Tchebychev)

Transformation p=f(z)

Synthèse du Filtre Numérique par :


Invariance impulsionnelle ,
transformation bilinéaire …

Ecole Nationale des Ingénieurs de Monastir 2021/2022


4|Page

En manipulant ce TP nous allons utiliser les filtres analogiques pour


construire le Gabarit du filtre numérique, ci-dessous quelques filtres
analogiques que nus allons utiliser et leur éventuelle caractéristique :

1. Filtre Butterworth :

Un filtre de Butterworth est un type de filtre linéaire, conçu pour


posséder un gain aussi constant que possible dans sa bande passante.

Le gain d'un filtre de Butterworth est le plus constant possible dans la


bande passante et tend vers 0 dans la bande de coupure.

2.Filtre elliptique :

Ce sont des filtres dont la réponse est caractérisée par une ondulation
tant en bande passante qu'en bande atténuée. Qu’ils soient optimaux
en ce sens qu'aucun filtre, à ordre donné, ne présente une coupure plus
raide que les filtres elliptiques.

3.Filtres de Tchebyshev :

Les filtres de Tchebychev sont un type de filtre caractérisé par


l'acceptation d'une ondulation, ou bien en bande passante ou bien en
bande atténuée. Dans le premier cas, on parle de filtres de Tchebychev
de type 1 ou directs, dans le second, de filtres de Tchebychev de type
2 ou inverses.Un filtre de Tchebychev donnera une atténuation rapide
mais par contre on aura de l'ondulation dans la bande passante et un
très mauvais retard de groupe.

III. Travail à effectuer :

Ecole Nationale des Ingénieurs de Monastir 2021/2022


5|Page

1. Synthèse des filtres numériques RII par


transformation analogique vers numérique :
Dans cette partie nous allons réaliser un filtre numérique H(z)
équivalent à un filtre de Butterworth de second ordre et passe bas
avec une fréquence de coupure de 1Khz et une fréquence
d’échantillonnage de 8Khz.

1ére partie : réalisation d’un filtre RII avec l’invariance


de réponse impulsionnelle :
1 Et 2. Détermination du Gabarit du filtre analogique ainsi que
l’ordre du filtre de Butterworth vérifiant le gabarit et sa fonction de
transfert :

clear all; close all;clc;


fp=700;
fc=1000;
fe=8000;
fs=3000;
d1=1;
d2=-30;
te=1/fe;
fpa=(1/(pi*te)*(tan(pi*fp*te)));
fsa=(1/(pi*te)*(tan(pi*fs*te)));
wp=2*pi*fpa;
ws=2*pi*fsa;
[n,wn]=buttord(wp,ws,d1,d2,'s')

Le filtre de Butterworth est alors d’ordre 2 :

Ecole Nationale des Ingénieurs de Monastir 2021/2022


6|Page

Calcul des coefficients de la fonction de transfert :


[a,b]=butter(2,wn,'s')

3.determination de la fonction de transfert ainsi obtenue en effectuant


l’invariance de la réponse impulsionnelle Hi(z) :

[bz,az]=impinvar(a,b,fe)

Ecole Nationale des Ingénieurs de Monastir 2021/2022


7|Page

4.traçage du gabarit :
[h,f]=freqz(bz,az,512,fe);
gab1=[d1*ones(fs,1);d2*ones((fe/2-fs),1)];
gab2=[-d1*ones(fp,1);-120*ones((fe/2),1)];
amp=abs(h);
figure(1);
hold on
plot(f,20*log10(amp)),grid
title('diagramme de bode en amplitude et phase
');
ylabel('amplitude en db');
plot(gab1)
plot(gab2)
hold off

Le digramme de Bode ne respecte pas le Gabarit


5. traçage du plan complexe des pôles et des zéros du filtre
numérique :
pole= roots(az)
zero=roots(bz)
figure (2)
zplane (zero,pole)

Ecole Nationale des Ingénieurs de Monastir 2021/2022


8|Page

ce filtre possède 2 pôles <1, donc c’est un filtre stable.

6. Comparaison des réponses impulsionnelles des filtres analogique et


numérique :

Réponse impulsionnelle numérique du filtre

Ecole Nationale des Ingénieurs de Monastir 2021/2022


9|Page

Réponse impulsionnelle analogique du filtre

la réponse impulsionnelle analogique est finie alors que celle


numérique est infinie de ce fait ce gabarit ne correspond pas au gabarit
numérique performant => cette transformation ne garde pas les
caractéristiques temporelles du filtre.

2éme partie : réalisation d’un filtre RII avec la


transformation bilinéaire :
7. Détermination de la fonction de transfert en utilisant la méthode
de l’invariance temporelle :
clear all; close all;clc;
fp=700;
fc=1000;
fe=8000;
fs=3000;
d1=1;
d2=-30;

Ecole Nationale des Ingénieurs de Monastir 2021/2022


10 | P a g e

te=1/fe;
fpa=(1/(pi*te)*(tan(pi*fp*te)));
fsa=(1/(pi*te)*(tan(pi*fs*te)));
wp=2*pi*fpa;
ws=2*pi*fsa;
[n,wn]=buttord(wp,ws,d1,d2,'s');
[a,b]=butter(2,wn,'s');
[bd,ad]=bilinear(a,b,fe)

8. vérification si le filtre obtenu correspond bien au gabarit


numérique :
clear all; close all;clc;
fp=700;
fc=1000;
fe=8000;
fs=3000;
d1=1;
d2=-30;
te=1/fe;
fpa=(1/(pi*te)*(tan(pi*fp*te)));
fsa=(1/(pi*te)*(tan(pi*fs*te)));
wp=2*pi*fpa;
ws=2*pi*fsa;
[n,wn]=buttord(wp,ws,d1,d2,'s');
[a,b]=butter(2,wn,'s');
[bd,ad]=bilinear(a,b,fe);

Ecole Nationale des Ingénieurs de Monastir 2021/2022


11 | P a g e

[h,f]=freqz(bd,ad,512,fe);
gab1=[d1*ones(fs,1);d2*ones((fe/2-fs),1)];
gab2=[-d1*ones(fp,1);-120*ones((fe/2),1)];
amp=abs(h);
figure(1);
hold on
plot(f,20*log10(amp)),grid
title('diagramme de bode en amplitude et phase
');
ylabel('amplitude en db');
plot(gab1)
plot(gab2)
hold off

Ecole Nationale des Ingénieurs de Monastir 2021/2022


12 | P a g e

9.taçage du plan complexe des pôles et des zéros du filtre :

pole= roots(ad)
zero=roots(bd)
figure (2)
zplane (zero,pole)
figure(3)
impz(bd,ad);
figure(4)
impz(a,b);

Le filtre est stable car ces pôles sont <1


10. Comparaison des réponses impulsionnelles des filtres analogique
et numérique :
Réponse impulsionnelle numérique du filtre

Ecole Nationale des Ingénieurs de Monastir 2021/2022


13 | P a g e

Réponse impulsionnelle analogique du filtre

Ce filtre respecte le gabarit numérique


11. comparaison des deux méthodes de transformation dans le
domaine fréquentiel et temporel :

Ecole Nationale des Ingénieurs de Monastir 2021/2022


14 | P a g e

2. Synthèse directe des filtres numériques RII :


1ére partie : calcul d’un filtre numérique RII dérivé
d’un filtre analogique :
Nous désirons faire le calcul de la fonction de transfert d’un filtre
numérique RII satisfaisant les contraintes de réponse en amplitude
définies ci-dessous avec une fréquence d’échantillonnage Fe=40Khz.

1. On cherche l’ordre minimal requis pour les différentes


approximations suivantes :

❖ Butterworth :

clear all; close all;clc;


fe=40000;
te=1/fe;
d1=1;
d2=35;
fs1=5000;
fp1=6000;
fp2=10000;

Ecole Nationale des Ingénieurs de Monastir 2021/2022


15 | P a g e

fs2=12000;
fp=[fp1 fp2]/(fe/2);
fs=[fs1 fs2]/(fe/2);
[n1,fn1]=buttord(fp,fs,d1,d2)

❖ Tchebychev type 1 :

[n1,fn1]=cheb1ord(fp,fs,d1,d2)

❖ Tchebychev type 2 :

[n1,fn1]=cheb2ord(fp,fs,d1,d2)

Ecole Nationale des Ingénieurs de Monastir 2021/2022


16 | P a g e

❖ Elliptique :

[n2,fn2]=ellipord(fp,fs,d1,d2)

2/Puis on calcule les quatre fonctions de transfert numérique (en z) de


chaque filtre précédent par la méthode de la transformation bilinéaire :
❖ Butterworth on utilise la fonction « butter » :

[b1,a1]=butter(n1,fn1)

Ecole Nationale des Ingénieurs de Monastir 2021/2022


17 | P a g e

❖ Tchebychev type 1 on utilise la fonction « cheby1 » :

[b2,a2]=cheby1(n2,d1,fn2)

❖ Tchebychev type 2 on utilise la fonction « cheby2 » :

[b3,a3]=cheby2(n3,d2,fn3)

❖ Elliptique on utilise la fonction « ellip » :

[b4,a4]=ellip(n4,d1,d1,fn4)

Ecole Nationale des Ingénieurs de Monastir 2021/2022


18 | P a g e

3/On visualise après la réponse impulsionnelle pour les quatre


fonctions de transfert précédentes :
clear all; close all;clc;

fe=40000;
te=1/fe;
d1=1;
d2=35;
fs1=5000;
fp1=6000;
fp2=10000;
fs2=12000;
fp=[fp1 fp2]/(fe/2);
fs=[fs1 fs2]/(fe/2);
[n,fn]=buttord(fp,fs,d1,d2)
[n1,fn1]=cheb1ord(fp,fs,d1,d2);
[n2,fn2]=cheb2ord(fp,fs,d1,d2);
[n3,fn3]=ellipord(fp,fs,d1,d2);
[b1,a1]=cheby1(n1,d1,fn1);
[b2,a2]=cheby2(n2,d1,fn2);
[b3,a3]=ellip(n3,d1,d2,fn3);
[b4,a4]=butter(n,fn);

figure(1)
subplot(2,2,1)
impz(b1,a1,100,fe)
subplot(2,2,1)
impz(b1,a1,100,fe)
subplot(2,2,2)
impz(b2,a2,100,fe)

Ecole Nationale des Ingénieurs de Monastir 2021/2022


19 | P a g e

subplot(2,2,3)
impz(b3,a3,100,fe)
subplot(2,2,4)
impz(b4,a4,100,fe)

Traçage des pôles et zéros dans le plan complexe


clear all; close all;clc;
fe=40000;
te=1/fe;
d1=1;
d2=35;
fs1=5000;
fp1=6000;
fp2=10000;
fs2=12000;
fp=[fp1 fp2]/(fe/2);
fs=[fs1 fs2]/(fe/2);
[n,fn]=buttord(fp,fs,d1,d2)
[n1,fn1]=cheb1ord(fp,fs,d1,d2);
[n2,fn2]=cheb2ord(fp,fs,d1,d2);
[n3,fn3]=ellipord(fp,fs,d1,d2);
[b1,a1]=cheby1(n1,d1,fn1);
[b2,a2]=cheby2(n2,d1,fn2);

Ecole Nationale des Ingénieurs de Monastir 2021/2022


20 | P a g e

[b3,a3]=ellip(n3,d1,d2,fn3);
[b4,a4]=butter(n,fn);

figure(1)
subplot(2,2,1)
impz(b1,a1,100,fe)
subplot(2,2,1)
impz(b1,a1,100,fe)
subplot(2,2,2)
impz(b2,a2,100,fe)
subplot(2,2,3)
impz(b3,a3,100,fe)
subplot(2,2,4)
impz(b4,a4,100,fe)

figure(2)
subplot(2,2,1)
zplane(b1,a1)
subplot(2,2,2)
zplane(b2,a2)
subplot(2,2,3)
zplane(b3,a3)
subplot(2,2,4)
zplane(b4,a4)

Ecole Nationale des Ingénieurs de Monastir 2021/2022


21 | P a g e

4/On trace après sur le même système d’axes les quatre réponses
fréquentielles avec le gabarit :
clear all; close all;clc;
fe=40000;
te=1/fe;
d1=1;
d2=35;
fs1=5000;
fp1=6000;
fp2=10000;
fs2=12000;
fp=[fp1 fp2]/(fe/2);
fs=[fs1 fs2]/(fe/2);
[n,fn]=buttord(fp,fs,d1,d2)
[n1,fn1]=cheb1ord(fp,fs,d1,d2);
[n2,fn2]=cheb2ord(fp,fs,d1,d2);
[n3,fn3]=ellipord(fp,fs,d1,d2);
[b1,a1]=cheby1(n1,d1,fn1);
[b2,a2]=cheby2(n2,d1,fn2);
[b3,a3]=ellip(n3,d1,d2,fn3);
[b4,a4]=butter(n,fn);

Ecole Nationale des Ingénieurs de Monastir 2021/2022


22 | P a g e

[H1 f1]=freqz(b1,a1,512,fe)
amp1=abs(H1);
phase1=angle(H1);
[H2 f2]=freqz(b2,a2,512,fe)
amp2=abs(H2);
phase2=angle(H2);
[H3 f3]=freqz(b3,a3,512,fe)
amp3=abs(H3);
phase3=angle(H3);
[H4 f4]=freqz(b4,a4,512,fe)
amp4=abs(H4);
phase4=angle(H4);
T1=0 :0.1 :fs;
gab1=[400*ones(1,6000) d1*ones(1,10000-6000)
400*ones(1, (fe/2)-10000 ) ];
gab2=[d2*ones(1,5000) zeros*ones(1,12000-5000)
d2*ones(1,(fe/2)-12000) ];
figure(9)
hold on
plot(f1,-20*log10(amp1),'r'),grid
plot(f2,-20*log10(amp2),'v'),grid
plot(f3,-20*log10(amp3),'b'),grid
plot(f4,-20*log10(amp4),'g'),grid
title('diagramme de bode' )
ylabel('amplitude en dB')
plot(gab1)
plot(gab2)
legend('buttord','cheby1','cheby2','ellipord')
hold off
figure(10)
subplot(2,2,1)
grpdelay(b1,da1,512,fe)
title('butter')
subplot(2,2,2)
grpdelay(b2,a2,512,fe)
title('cheb1')

Ecole Nationale des Ingénieurs de Monastir 2021/2022


23 | P a g e

subplot(2,2,3)
grpdelay(b3,a3,512,fe)
title('cheb2')
subplot(2,2,4)
grpdelay(b4,a4,512,fe)
title('elli')

Diagramme de Bode en amplitude et phase pur [0 ;fe/2]


Les filtres RII ne sont pas forcément stables, la stabilité dépend de la
position.

Le filtre de butterworth possède le gain le plus monotone en fonction


de la fréquence par contre il est le plus complexe coté facilité de
conception et son ordre est toujours très élevé en le comparant avec
les autres

Ecole Nationale des Ingénieurs de Monastir 2021/2022


24 | P a g e

Pour les filtres de Tchebychev ils possèdent le même ordre et la pente


de coupure la plus raide sauf que le type 1 s’annule avant le type 2 et
possèdent des ondulations dans leurs bandes passantes.

Le filtre elliptique est le plus simple coté facilité de conception.

Si les ondulations n’affectent pas le filtre, le filtre elliptique sera le


mieux adapté puisque c'est celui qui répond le mieux à la spécification
d'un gabarit.

5/ On trace après sur le même système d’axes les quatre réponses en


temps de groupe :
clear all; close all;clc;
fe=40000;
te=1/fe;
d1=1;
d2=35;
fs1=5000;
fp1=6000;
fp2=10000;
fs2=12000;
fp=[fp1 fp2]/(fe/2);
fs=[fs1 fs2]/(fe/2);
[n,fn]=buttord(fp,fs,d1,d2)
[n1,fn1]=cheb1ord(fp,fs,d1,d2);
[n2,fn2]=cheb2ord(fp,fs,d1,d2);
[n3,fn3]=ellipord(fp,fs,d1,d2);
[b1,a1]=cheby1(n1,d1,fn1);
[b2,a2]=cheby2(n2,d1,fn2);
[b3,a3]=ellip(n3,d1,d2,fn3);
[b4,a4]=butter(n,fn);

Ecole Nationale des Ingénieurs de Monastir 2021/2022


25 | P a g e

[H1 f1]=freqz(b1,a1,512,fe)
amp1=abs(H1);
phase1=angle(H1);
[H2 f2]=freqz(b2,a2,512,fe)
amp2=abs(H2);
phase2=angle(H2);
[H3 f3]=freqz(b3,a3,512,fe)
amp3=abs(H3);
phase3=angle(H3);
[H4 f4]=freqz(b4,a4,512,fe)
amp4=abs(H4);
phase4=angle(H4);
T1=0 :0.1 :fs;
gab1=[400*ones(1,6000) d1*ones(1,10000-6000)
400*ones(1, (fe/2)-10000 ) ];
gab2=[d2*ones(1,5000) zeros*ones(1,12000-5000)
d2*ones(1,(fe/2)-12000) ];
figure(9)
hold on
plot(f1,-20*log10(amp1),'r'),grid
plot(f2,-20*log10(amp2),'v'),grid
plot(f3,-20*log10(amp3),'b'),grid
plot(f4,-20*log10(amp4),'g'),grid
title('diagramme de bode' )
ylabel('amplitude en dB')
plot(gab1)
plot(gab2)
legend('buttord','cheby1','cheby2','ellipord')
hold off
figure(10)
subplot(2,2,1)
grpdelay(b1,a1,512,fe)
title('butter')
subplot(2,2,2)
grpdelay(b2,a2,512,fe)
title('cheb1')
subplot(2,2,3)
grpdelay(b3,a3,512,fe)

Ecole Nationale des Ingénieurs de Monastir 2021/2022


26 | P a g e

title('cheb2')
subplot(2,2,4)
grpdelay(b4,a4,512,fe)
title('elli')

6/ donne les différentes différences entre les quatre types des filtres
étudiés précédemment :
Le filtre elliptique est le plus simple coté facilité de conception
Le filtre de butterworth possède la pente la plus raide par contre il est
le plus complexe coté facilité de conception et son ordre est toujours
très élevé en le comparant avec les autres
Pour les filtres de Tchebychev ils possèdent le même ordre sauf que le
type 1 s’annule avant le type 2

Ecole Nationale des Ingénieurs de Monastir 2021/2022


27 | P a g e

Si les ondulations n’affectent pas le filtre, le filtre elliptique sera le


mieux adapté puisque c'est celui qui répond le mieux à la spécification
d'un gabarit.

2éme partie : FDA Tool :


Toute cette étude peut être faite facilement en utilisant l’outil
« fdtool » de Matlab qui permet la conception d’un filtre RII à l’aide
de la transformation bilinéaire.

On précise le paramètre demandé : méthode utilisée, fréquences, gain


en db, nature de filtre.
Pour créer le filtre on clique sur « Design Filter »

❖ Prenons l’exemple du filtre de Butterworth :

Ecole Nationale des Ingénieurs de Monastir 2021/2022


28 | P a g e

Ecole Nationale des Ingénieurs de Monastir 2021/2022


29 | P a g e

De ce fait nous concluons que tout le travail précèdent peut être


réaliser d’une manière facile et rapide à l’aide de l’outil graphique
« FDATool » de Matlab

IV. Conclusion :
Lors de ce TP nous avons étudié le comportement des filtre RII en
utilisant différents approximations (Butterworth, Tchebychev1,
Tchebychev 2 et elliptique).
Nous avons pu aussi voir l’effet de ces approximations sur les
performances des filtres :
facilité de conception, linéarité de phase, régularité temps de
propagation, raideur de pente, ...

Ecole Nationale des Ingénieurs de Monastir 2021/2022

Vous aimerez peut-être aussi