REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE
MINISTERE DE L’ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE
SCIENTIFIQUE
UNIVERSITEAKLI MOHAND OULHADJ-BOUIRA
Faculté des sciences et des Sciences Appliquées
Département Génie Electrique
Module: Traitement de signal
Groupe: 01 ESE
TPN°:01
Filtre RIF et RII
Réalisé par:
• Tamssaout Lydia
• Megdi Lydia
Année universitaire: 2021/2022
1
I. But du tp :
Ce TP est consacrée à l’analyse et synthèse de filtres numériques (RIF et RII) à l’aide des
logiciels Matlab.
II. Analyse d'un filtre RII :
clc ; clear all ; close all;
b = [0.079 2*0.079 0.079]; %Numérateur
a = [1 -1.2 0.516]; %Dénominateur
subplot(2,2,1); zplane(b,a);
N = 32; n=0:N-1; delta = [1; zeros(N-1,1)];
h = filter(b, a, delta);subplot(2,2,2); stem(n,h);
echelon=ones(1,N); h_ind=filter(b,a,echelon);
subplot(2,2,3); stem(n,h_ind);
L = 256;fe=1; [H,f] = freqz(b,a,L,fe);
module = abs(H); subplot(2,2,4); plot(f,module);
% phase = angle(H); figure (5); plot(f,phase);
% [tau,f]=grpdelay(b,a,L,fe);figure (6); plot(f,tau);
% [num,den]=invfreqz(H,f, 2,2)
2
1-Les pols et les zeros:
y(n)=1.2 y(n-1)-0.516 y(n-2)+ 0.079 x(n) +2*0.079 x(n-1)+0.079 x(n-2)
Y(Z)=(1.2Z-1Y(Z)) -(0.516Z-2Y(Z)) +(0.079X(Z)) +((2×0.079) Z-1X(Z))
+(0.079Z-2X(Z))
Y(Z) 0.079Z−2 +2×0.079 Z−1 +0.079 Z2 0.079+2×0.079 Z+0.079Z2
H(Z) = = 1−1.2Z−1 +0.516Z−2
× 2 = Z2 −1.2Z+0.516
X(Z) Z
Les zéros :
−b −( 2×0.079)
Δ = 0 donc Z1 = = = -1
2a 2×0.079
Les pôles :
Δ = - 0.624 = i20 .624 = √Δ= i0.624
−b−√Δ 1.2−i0.624
Z2= = = 0.6 – i0.312 , Z3 = 0.6 + i0.312
2a 2
−0.312
A = ǀ√(0.6)2+(0.312)2ǀ = 0.67 , θ2 = arctg ( ) = - 27.5°
0.6
θ3= 27.5°
Z2 = 0.67 e-i27.5 Z3 = 0.67 ei27.5
3- les pôles sont à l’intérieur du cercle donc le filtre RII est stable.
Le rôle de ce filtre :
Ce filtre laisse les basses fréquences passe
4- Filtre passe-haut:
clc ; clear all ; close all;
b = [0.079 2-0.079 0.079]; %Numérateur
a = [1 -1.2 0.516]; %Dénominateur
subplot(2,2,1); zplane(b,a);
N = 32; n=0:N-1; delta = [1; zeros(N-1,1)];
h = filter(b, a, delta);subplot(2,2,2); stem(n,h);
echelon=ones(1,N); h_ind=filter(b,a,echelon);
3
subplot(2,2,3); stem(n,h_ind);
L = 256;fe=1; [H,f] = freqz(b,a,L,fe);
module = abs(H); subplot(2,2,4); plot(f,module);
% phase = angle(H); figure (5); plot(f,phase);
% [tau,f]=grpdelay(b,a,L,fe);figure (6); plot(f,tau);
% [num,den]=invfreqz(H,f, 2,2)
clc ; clear all ; close all;
b = [0.079 2*0.079 0.079]; %Numérateur
a = [1 -1.2 0.516]; %Dénominateur
subplot(2,2,1); zplane(b,a);
N = 32; n=0:N-1; delta = [1; zeros(N-1,1)];
h = filter(b, a, delta);subplot(2,2,2); stem(n,h);
echelon=ones(1,N); h_ind=filter(b,a,echelon);
subplot(2,2,3); stem(n,h_ind);
L = 256;fe=1; [H,f] = freqz(b,a,L,fe);
module = abs(H); subplot(2,2,4); plot(f,module);
phase = angle(H);subplot(2,1,1) ;plot(f,phase);
[tau,f]=grpdelay(b,a,L,fe);subplot(2,1,2);plot(f,tau);
[num,den]=invfreqz(H,f, 2,2)
4
III. Analyse d'un filtre RIF :
1- H(n) :
y(n)=0.5 x(n)−0.5 x(n−1)
Y(Z) =(0.5X(Z)) – (0.5 Z-1X(z))
Y(Z) 1 Z1 Z
H(Z) = = 0.5Z−1+0.5× = 0.5+0.5Z
X(Z) Z1
• Les zeros:
Z1 = 0
• Les pôles :
Z2 =-1
1- Simulation sur matlab :
5
clc ; clear all ; close all;
b = [1 0]; %Numérateur
a = [0.5 0.5]; %Dénominateur
subplot(2,2,1); zplane(b,a);
N = 32; n=0:N-1; delta = [1; zeros(N-1,1)];
h = filter(b, a, delta);subplot(2,2,2); stem(n,h);
echelon=ones(1,N); h_ind=filter(b,a,echelon);
subplot(2,2,3); stem(n,h_ind);
L = 256;fe=1; [H,f] = freqz(b,a,L,fe);
module = abs(H); subplot(2,2,4); plot(f,module);
Les résultats obtenus sont juste avec ce de la partie théorique.
1- La stabilité :
Les poles et les zéros sont à l’intérieure de cercle donc le filtre est stable
2-
clc ; clear all ; close all;
b = [1 0]; %Numérateur
a = [1 1]; %Dénominateur
subplot(2,2,1); zplane(b,a);
N = 32; n=0:N-1; delta = [1; zeros(N-1,1)];
6
h = filter(b, a, delta);subplot(2,2,2); stem(n,h);
echelon=ones(1,N); h_ind=filter(b,a,echelon);
subplot(2,2,3); stem(n,h_ind);
L = 256;fe=1; [H,f] = freqz(b,a,L,fe);
module = abs(H); subplot(2,2,4); plot(f,module)
clc;clear all;close all;
b = [1 0]; %Numérateur
a = [0.5 0.5]; %Dénominateur
N = 32; n=0:N-1; delta = sin(2*pi*0.1*n)+sin(2*pi*0.4*n);
subplot(2,1,1); plot(delta)
h= filter(b, a,delta);subplot(2,1,2);plot(n,h);
7
Conclusion
Matlab nous facilite la synthèse des filtres FIR à l’aide des deux instructions FIR1 et FIR2.
* FIR1 est fait juste pour les filtres standards : passe haut, passe bas, passe bande et coupe bande.
* FIR2 est plus général, elle permet la synthèse de tous les filtres FIR numériques avec une
réponse en fréquence de forme arbitraire. De plus on peut utiliser la fenêtre qu’on veut, mais si
on n’indique pas la fenêtre désirée, MATLAB prend par défaut la fenêtre de hamming.