Bonsoir 7homa5,
J'ai remarqué certaines choses qui ne vont pas:
Signal_FFT = abs(fftshift(Signal_trame));
fftshift ne calcule pas la fft, il ne fait qu'inverser la première et seconde moitié du vecteur résultat de la fft pour une meilleure visualisation.
Pour la calculer, il faut utiliser :
Signal_FFT = abs(fft(Signal_trame));
Ensuite,
Signal_pw = mean(abs(fft( xcorr(Signal_trame) )) );
à remplacer par:
Signal_pw = 1/(Taille_trame/2 +1)*sum(Signal_FFT.*Signal_FFT);
la fonction mean calcule la moyenne du vecteur
Pour la soustraction de la DC, ne passe pas par l'ifft, fais-le directement:
Signal_DCless = Signal_trame - 2*Signal_FFT(1)/Taille_trame
Puis n'oublie pas le facteur Ks du lien, sans quoi tu auras de très brusques variations.
Voilà j'espère t'avoir aidé, n'hésite pas si tu as des questions
Partager