1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| %Exercice3 Signal bruité
function []= sigBruite()
%filtre passe-haut de type Butterworth en utilisant la fonction butter
[B,A]=butter(20,0.6,'high');
%Representation de la réponse en frequence
[h1,w1]=freqz(B,A,512);
plot(w1/pi,abs(h1));
hold on;
%filtre passe-bas de type Butterworth en utilisant la fonction butter
[C,D]=butter(20,0.6,'low');
%Representation de la réponse en frequence
[h2,w2]=freqz(C,D,512);
plot(w2/pi,abs(h2));
% Lecture du fichier Elise.wav
[elise,fs]=wavread('Elise.wav');
%signal(bruit) Blanc de meme taille qu'elise
sb=rand(size(elise));
% Filtre du signal bruité à partir du filtre passe haut
y=filter(B,A,sb);
%Ajout du signal blanc filtré au son Elise
c=y+elise;
% Filtre du son Elise bruité à partir du filtre passe bas
fpbs=filter(C,D,c);
%Ecriture du signal filtré
wavwrite(fpbs,fs-1,'musique.wav')
%a=size(y)
%b=size(elise) |
Partager