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 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Initialisation
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear all
close all
Fs = 44000;
Te=1/Fs;
Y1 = wavread('original.wav');%Importer le signal original.wav
Y2 = wavread('perturb1.wav');%Importer le signal perturb1.wav
Y3 = Y2 - Y1 ;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Signal
% perturb1.wav
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
L=length(Y2);
t=0:L-1;
Ne=length(t);
f=(-Ne/2:Ne/2-1)/Ne*(1/Te);
figure(1)
plot(t,Y1)
title('Signal Original')
xlabel('temps (ms)')
figure(2)
plot(t,Y2)
title('Signal perturb1')
xlabel('temps (ms)')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% FFT
% Perturb1.wav
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
fY2=fftshift(fft(Y2));
figure(3)
plot(f,abs(fY2));
title('FFT perturb1.wav');
xlabel('Fréquence(Hz)');
ylabel('Amplitude');
axis([435 445 -1 18*4*10^4])
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Filtrage
% perturb1.wav
%
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
wo=439*2*pi;%Pulsation de coupure
DW=6.2831;%Largeur de la bande
% Coefficients
a=(wo*wo*L*L+4)/(wo*wo*L*L+2*DW*L+4);
b=(2*wo*wo*L*L-8)/(wo*wo*L*L+2*DW*L+4);
c=a;
d=b;
e=(wo*wo*L*L-2*DW*L+4)/(wo*wo*L*L+2*DW*L+4);
%Equation du filtre réjecteur
S=0;
S(1)=a*Y2(1);
S(2)=a*Y2(2)+b*Y2(2-1)-d*S(2-1);
h=waitbar(0,'Attendre svp...');
for i=3:L
waitbar(i/L,h)
S(i)=a*Y2(i)+b*Y2(i-1)+c*Y2(i-2)-d*S(i-1)-e*S(i-2);
end;
%Signal non perturber
figure(4)
plot(t,S)
title('Signal après filtrage')
xlabel('temps (ms)') |
Partager