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
| clear
f1 = 440 ;
f2 = 460 ;
Fe = 16000;
Te = 1/Fe;
T1 = 1/f1;
T2 = 1/f2;
phi2 = 2*pi*rand(1);
A1 = randi([1,10]);
A2 = randi([1,10]);
Nb_Ech = 500;
alpha = (Nb_Ech*f1)/Fe ;
D = alpha /f1 ;
t = 0:Te:D;
x1 = A1*cos(2*pi*f1*t);
x2 = A2*cos(2*pi*f2*t + phi2);
subplot(3,1,1)
plot(t,x1, 'b')
grid
subplot(3,1,2)
plot(t, x2, 'r')
grid
N = length(x1);
for k = 1: N-1
for n = 1 : N-k-1
inter(n) = x1(n)*x2(n+k);
end
Cxx(k) = 1/N*sum(inter);
end
subplot(3,1,3)
plot((1:N-1)*Te,Cxx)
grid
d=find(Cxx(1:end-1).*Cxx(2:end)<0);
dd = diff(d) ;
dd=dd(1:end-5);
disp(dd);
% Résultat binaire
if max(dd)-min(dd) > 3
cprintf('red','signaux différents')
else
cprintf('blue','signaux prochent')
end |
Partager