% 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);