Bonjour,
Pour mon projet, je dois superposer deux signaux pour vérifier que les pics sont à la même fréquence.
Le problème qu'ils n'ont pas la même fréquence d'échantillonnage donc il faut faire des changement sur signal 1 pour ne pas y avoir un décalage:
J'ai commencé par bien choisir nfft pour avoir la même durée sur chaque bloc
Signal 1 :
Fe = 139.5393 , fréquence d'échantillonnage
N = 50085 , Nbr des points
Nfft = 10240
Signal 2 :
Fe = 15 ,
N = 2249
Nfft = 1024
Je fais de l'overlapping dans mon code. Donc j'applique une fft sur chaque bloc de mon signal contenant nfft points puis je fais une moyenne sur les blocs.
********
Sig1w=Sig(1:nfftp).*window';
F1=fft(Sig1w(1:nfftp));
mF1=abs(F1);
noverlapp=nfftp/5;
i=nfftp;
c=1;
Overlap(1,=mF1;
while (c < Ncp) && (i-noverlapp+nfftp-1 < N)
c=c+1;
New(c,=(Sig(i-noverlapp:i-noverlapp+nfftp-1)).*window';
Overlap(c ,=abs(fft(New(c,
));%/max(abs(fft(New(c,
)));
i=i-noverlapp+nfftp;
end
Overlap_mean=mean(Overlap)/max(mean(Overlap));
*******
Pour signal 1 : overlapping = nfft / 5 , donc j'ai 6 blocs
Pour signal 2 : overlapping = nfft/2 , 3 blocs
df=Fe/nfft;
freq=0:dfFs/2)-df/2;
Puis je trace par rapport le tableau de fréquence freq adapté pour chaque signal
***********
Le problème je retrouve pas les pics aux bons endroits.
Donc j'ai pensé à dégrader la fréquence du signal 1 à 15 hz (la fréquence du signal 2) , et j'ai trouvé sur ce forum que pour ce faire il faut faire une décimation , un sous échantillonnage d'un facteur D.
Donc j'ai fabriqué un signal comportant moins d'échantillons avec D=10 , 139.5393 /15 = 9.3 et j'ai supprimé le contenu de mon signal entre Fe/2D et Fe/D pour avoir échantillonné directementà Fe/D.
New1 = Sig1(1:round(Fs/2*10));
New2 = Sig1 (round(Fs/10):end);
Sig = [New1 New2];
J’obtiens cette figure :
**********
J'ai l'impression que c'est encore décalé, il faut vraiment que les pics pour chaque signal soient à la même fréquence.
Est ce que vous pouvez m'aider?
Est ce que je dois corriger qlq chose ? ou bien une nouvelle méthode, démarche pour aboutir au bon résultat ?
Merci.
Partager