Bonsoir à tous,
Je dois coder un programme sous matlab qui me permettrait de comparer les fréquences de deux sons audio purs (donc de forme Acos(2*pi*f*t)), que j'ai préalablement générés. Cette partie est correcte d'après mon professeur.
On connait la fréquence d’échantillonnage, qui est de 16KHz. L'algorithme doit renvoyer un résultat binaire : 1 si les deux fréquences sont les mêmes, à une marge d’erreur près, 0 sinon.
Je dois pour cela utiliser l'intercorrélation dont la formule est ci-dessous. Voilà ce que j'ai écrit :
Cependant, on m'affiche l'erreur : Index exceeds the number of array elements (501).Code:N = length(x1); Cxx = zeros (1,2*N); inter = zeros(1,N); for k = 1 : N for n = k : N-1 inter(n) = x1(n)*x2(n+k); end Cxx(k) = 1/N * sum(inter); end plot(Cxx) ;
Error in Exercice (line 43)
inter(n) = x1(n)*x2(n+k);
Comment puis-je la corriger ?
Merci d'avance pour votre aide.
-----