% Chargement d'un fichier repr�sentant le son d'un oiseau
load chirp
sound(y);
pause;
% bruitage de ce son avec un gain g
g=0.1;
y1 = y + g*randn(size(y));
sound(y1);
pause;
% cr�ation d'un vecteur t repr�sentant l'abscisse de ce signal son
t = (0:length(y)-1)/Fs;
% Calcul des spectres d'amplitude du signal son original et du son bruit�
Y=abs(fft(y));
YY1=abs(fft(y1));
% Calcul du nombre de coefficient n du filtre RIF � r�aliser en fonction
% des caract�ristiques du GABARIT choisi
% GABARIT repr�sent� par les amplitudes maximales des ondulations accept�es
% � l'int�rieur de la bande passante et dans la bande coup�e
% et aussi des fr�quences f1 et f2
delta1=0.01;
delta2=0.01;
f2=3000;
f1=2000;
n=ceil (2/3*log10 (1/(10*delta1*delta2))*Fs/(f2-f1))
pause;
% synth�se d'un filtre RIF passe-bas par la m�thode des fen�tres, �r
% d�faut il s'agit de la fen�tre de Hamming
% Deux filtres RIF sont r�alis�s avec des fr�quences de coupure diff�rentes
% bhi1 et bhi2 sont respectivement les deux r�ponses impulsionnelles des
% deux filtres RIF passe-haut r�alis�s
%
% l'instruction fir1 est donc utilis�e pour la synth�se par la m�thode des
% fen�tres
%
% fir1(n,Wn,ftype,window) o! n d�signe l'ordre dy filtre, wn d�signe la
% pulsation de coupure entre (?=wnx?), ftype d�signe le type de
% filtre passe-bas, passe-haut ....etc et window la fen�tre de synth�se
% utilis�e. Si on met pas de window par d�faut on utilisera la fen�tre de
% Hamming

bhi1 = fir1(n+1,0.2,'low');
bhi2 = fir1(n+1,0.5,'low');
figure;
subplot(2,1,1);
plot(bhi1);
subplot(2,1,2);
plot(bhi2);
pause;
%
% ANALYSE SEPCTRALE DES FILTRES RIF REALISES
%
% REPONSES FREQUENTIELLES
%
% l'intruction freqz(bhi1,1)permet de repr�senter le sepctre d'amplitude en
% dB et de phase du premier filtre RIF
figure;
freqz(bhi1,1)
%
% l'intruction freqz(bhi2,1)permet de repr�senter le sepctre d'amplitude en
% dB et de phase du deuxi�me filtre RIF
figure;
freqz(bhi2,1)
%
%
% PLAN Z
% repr�sentation des z�ros (c'est un RIF) par zplane
%
figure;
zplane(bhi1,1);
figure;
zplane(bhi2,1);
pause;
% Application du premier filtre RIF passe-bas r�alis� sur le fichier son
% bruit�
outhi1 = filter(bhi1,1,y1);
sound(outhi1);
Y1=abs(fft(outhi1));
pause;
% Application du second filtre RIF passe-bas r�alis� sur le fichier son
% bruit�
outhi2 = filter(bhi2,1,y1);
sound(outhi2);
Y2=abs(fft(outhi2));
pause;
figure;
subplot(4,1,1)
plot(t,y)
title('Signal Original')
ys = ylim;
subplot(4,1,2)
plot(t,y1)
title('Signal bruit�')
subplot(4,1,3)
plot(t,outhi1)
title('Signal filtr� par le premier filtre RIF passe-bas')
xlabel('Time (s)')
ylim(ys);
subplot(4,1,4)
plot(t,outhi2)
title('Signal filtr� par le second filtre RIF passe-bas');
figure;
subplot(4,1,1);
plot(Y);
subplot(4,1,2);
plot(YY1);
subplot(4,1,3);
plot(Y1);
subplot(4,1,4);
plot(Y2);