Académique Documents
Professionnel Documents
Culture Documents
Introduction :
1
La représentation numérique du signal est cruciale car elle permet de réduire sa
dégradation lors du stockage, de la manipulation et de la reproduction analogique.
Tout le monde peut s’en rendre compte en comparant la qualité d’écoute d’une
cassette
L’objectif du projet :
2
La conception numériques des filtres (passe-haut, passe-bas, passe-bande)par le
logiciel de simulation Matlab et la caractérisation de ses filtres par les réponses en
fréquences, indicielle, impulsionnelle, ainsi que la mise en évidence des
paramètres qui rend le filtre réalisable et sa caractéristique coïncide avec le filtre
idéal .
Définition :
IIR(b) : on retarde une copie du signal de sortie que l'on combine au nouveau
signal d'entrée. Les filtres numériques basés sur ce fonctionnement sont dit à
"réponse impulsionnelle infinie" ou IIR (pour Infinite-Impulse-Response). On les
qualifie également de filtres récursifs ou à "feedback".
3
L’equation aux différence est donnée par :
y[n] = a0 x[n] + a1 x[n-1] + ... + aN x[n-N] - b1 y[n-1] - b2 y[n-2] - ... - bM y[n-M]
Les filtres FIR offrent en général une réponse de phase plus linéaire et ils n'entrent
jamais en oscillation (c'est-à-dire deviennent instable) puisqu'ils sont dépourvus de
récursion. Mais ils requièrent un grand nombre de termes dans leurs équations et
sont ainsi plus coûteux en temps de calcul. Un filtre FIR avec coupure très nette
(bande de transition très courte) peut requérir jusqu'à des centaines de délais.
Les filtres IIR, quant à eux, sont très efficaces et peuvent donner des pentes de
coupure très raides. Toutefois, vu les caractéristiques de feedback, ils ont tendance
à entrer en oscillation et à résonner.
Pour réaliser un filtre passe-bas FIR simple (qui atténue les fréquences élevées du
signal), il suffit d'effectuer la moyenne des valeurs entre l'échantillon présent et
l'échantillon précédent, tel qu'illustré sur le schéma-bloc ci-dessous et tel
qu'exprimé par l'équation :
Xn
Yn
4
Simulation du filtre par matlab :
script matlab :
a=[0.5 0.5]
[h,w]=freqz(a,1,512,8000);
plot(w,abs(h));
5
Conclusion :
la fréquence de coupure d’un filtre dépend de la fréquence d’échantillonnage.
Comportement d’un filtre passe-bas d’ordre 1 de fréquence de coupure fc=500Hz pour une entrée
sinusoïdale de fréquence f=1KHz, f=200 Hz
Simulation matlab :
script matlab :
n=100;
f1=200;
f2=1000;
fe=8000;
te=1/fe;
t=0:te:(n-1)*te;
y1=sin(2*pi*f2*t);
y2=sin(2*pi*f1*t);
subplot(2,1,1);
plot(t,y1,t,y2);
[b,a]=butter(1,1/8);
sortie1=filter(b,a,y1);
sortie2=filter(b,a,y2);
subplot(2,1,2);
plot(t,sortie1,t,sortie2);
grid;
Conclusion :
On observe que le filtre atténue la sinusoïde de f=1 KHz, l’atténuation sera autant plus forte que
l’ordre du filtre est grand.
6
Réponse impulsionnelle du filtre passe-bas :
Script Matlab :
imp=[1 zeros(1,100)];
[b,a]=butter(1,1/8);
sortie=filter(b,a,imp);
stem(0:100,sortie);
grid;
Script matlab :
step=ones(1,100);
[b,a]=butter(1,1/8);
sortie=filter(b,a,step);
plot(1:100,sortie,1:100,
step);
grid;
Conclusion :
7
Influence de l’ordre du filtre sur sa caractéristique en fréquence :
Script matlab :
8
Conclusion :
-L’observation de ses deux réponses montre que plus l’ordre est élevé plus la
coupure est raide, et plus on s’approche de la caractéristique d’un filtre idéal.
Filtre passe-haut :
Simulation Matlab :
script MATLAB :
[b,a]=butter(1,1/8,'high'); %conception d’un filter passé-haut d’ordre 1
[h,w]=freqz(b,a,512,8000);
9
La fonction butter est la fonction utilisée par Matlab pour la conception des filtres
numériques à prise en paramètres l’ordre du filtre ,le type du filtre ,pour la
fréquence de coupure matlab prend comme paramètres l’angle θ=2k.Pi.fc/Fe
normalisé par rapport à Pi
Réponse du filtre à une sinusoïde échantillonné de fréquence F=250 Hz pour 100 échantillons.
Script MATLAB :
n=99;
Fe=8000;
te=1/Fe
t=0:te:(n-1)*te
y=cos(2*pi*100*t);
[b,a]=butter(1,1/8,'high');
[h,w]=freqz(b,a,512,8000);
sortie=filter(a,1,y);
subplot(2,1,1)
plot(t,y);
grid on
subplot(2,1,2);
plot(t,sortie);
grid on
1
0
le résultat obtenu prouve bien la caractéristique d’un filtre passe-haut, pour une
fréquence F=100Hz<Fc=750Hz on observe bien une atténuation de l’ordre de –
10dB ainsi qu’un déphasage apporté par le filtre.
Script matlab :
step=ones(1,50);
[b,a]=butter(1,1/8);
sortie=filter(b,a,step);
stem(1:50,sortie);
grid;
Simulation matlab :
script matlab:
1
1
[h,w]=freqz(b,a,512,8000); filtre troisième ordre
[c,d]=butter(3,[1/2 1/4],'bandpass');
[h1,w1]=freqz(c,d,512,8000);
plot(w,h,w1,h1);
conclusion
Simulation matlab :
Script matlab :
[b,a]=butter(1,[1/2 1/4],'STOP');
[h,w]=freqz(b,a,512,8000);
subplot(2,1,1);
plot(w,h);
grid;
subplot(2,1,2);
plot(w,angle(h));
1
2
interprétation :
Ce type de filtre est aussi nommé filtre rejecteur de bande utilisée surtout pour
éliminer certaines fréquences parasites.
Si on veut que la coupure soit très raide il faut augmenter l’ordre du filtre .
Equivalence de la dérivation
Equivalence de l’intégration
Réponse impulsionnelle
1
3
H(p)=Ω² [Ω² +2.m. Ω.p+p²]
Application de la M. dérivation :
1
4
Application à la méthode de la réponse impulsionnelle :
Script matlab:
1
5
a2=[0.084971 2*0.084971 0.084971]
b3=[1 -1.523 0.8819] %coefficient pour M.impulsionnelle.
a3=[0 0.18325 0.1756]
step=ones(1,100);
integration=filter(0.25965,b,step);
derivation=filter(a2,b2,step);
impulsionnelle= filter(a3,b3,step);
plot(1:100,integration,'r',1:100,derivation,'b',1:100,impulsionne
lle,'g');
grid;
Conclusion :
1
6
en œuvre car il les méthodes et les algorithmes numériques qui ont été bâtis pour
faire ses tâches.
Exemple :
On considére un signal d’entrée composée de deux fréquence f1=1
KHz et f2=2 KHz ,on considère un filtre passe bas d’ordre 3 et de fréquence
de coupure Fc=1 KHz , analysons les spectres d’entrée et de sortie de ce
filtre, exemple d’un signal contaminé d’un bruit
Simulation matlab :
Script matlab :
n=300;
f1=1000;
f2=2000;
fe=15000;
te=1/fe;
t=0:te:(n-1)*te;
y=sin(2*pi*f1*t)
+sin(2*pi*f2*t);
[b,a]=butter(3,0.133);
sortie=filter(b,a,y);
close all;
plage=1:91;
plot(t(plage),y(plage));
entree=abs(fft(y))/(n/2);
spectre des signaux : sortie1=abs(fft(sortie))/(n/2);
fmax=4000;
df=fe/(n-1);
f=0:df:fmax;
m=length(f);
s=s(1:m);
sortie1=sortie1(1:m)
figure;
subplot(2,1,1);
plot(f,s);
1 subplot(2,1,2);
7 plot(f,sortie1);
grid;
Conclusion :
L’analyse spectrale est plus communicante concernant l’étude des filtres, le signal
d’entrée est formé de deux raies f1=1 KHz et f2=2 KHz , ce filtre élimine la raie de
f=2 kHz tout en gardant la raie de f=1KHz avec une certaine atténuation
1
8
Conclusion :
1
9