Articles
Fonction matlab CWT [fermée]
On février 17, 2021 by admin Clôturé. Cette question est hors sujet . Il naccepte pas les réponses actuellement.
Commentaires
- Les spaghettis se produisent à cause de lattitude complexe de certains CWT, que vous avez déjà gérés avec Fourier.
- cela signifie-t-il que lapplication de cwt à ce signal nest pas possible?
- Cest possible, et peut-être plus informatif quavec Fourier, car le signal nest pas stationnaire.
- vos spaghettis sont probablement un artefact de votre appel dintrigue , pas le cwt
- Je ' m voter pour fermer cette question comme hors sujet car le problème est lié à lappel de la fonction plot de matlab avec des valeurs complexes et non un problème avec les ondelettes
Réponse
Essayer de deviner quel signal vous analysez, et le but, voici une démonstration, sur un signal réel, avec la moitié du spectre de Fourier, et le scalogramme de transformée en ondelettes continue correspondant.
Ici, je soupçonne que le signal est trop court (sans autres objectifs) pour que FFT et CWT donnent des résultats interprétables. Le code Matlab est:
nsample = 64; % An odd number timeSampling = 1/nsample; time = (0:nsample-1)*timeSampling; ratioSecondHalf = 20; data = zeros(nsample,1); data(1:nsample/2,1) = rand(nsample/2,1)-0.5; data = medfilt1(data,5); data(nsample/2+1:end,1) = rand(nsample/2,1)/ratioSecondHalf; [fftR,fftAxe] = FFTR(data,timeSampling); [cwtCoeff,cwfFreq] = cwt(data,1:64,"morl",timeSampling); figure(1);clf subplot(3,1,1) plot(time,data,"x-");;axis tight xlabel("Time (a. u.)") ylabel("Amplitude (a. u.)") subplot(3,1,2) plot(fftAxe,fftR,"x-");axis tight xlabel("Frequency (a. u.)") ylabel("Amplitude (a. u.)") subplot(3,1,3) h=imagesc("XData",time,"YData",2*cwfFreq/pi,"CData",abs(cwtCoeff));axis tight xlabel("Time (a. u.)") ylabel("Frequency (a. u.)")
FFTR.m est obtenu à partir de ici .
Commentaires
- i ' jai également essayé ceci sur un signal plus long mais cela ma quand même donné des spaghettis je pense que ' car il ' est non stationnaire comme vous lavez dit.
- La valeur absolue manque quelque part
- ET la longueur la plus longue concerne linterprétabilité, pas les spaghettis
- Je lai fait avec une valeur absolue et jai obtenu de meilleurs résultats, plus de spaghettis.
- Bon, les spaghettis proviennent du tracé complexe valeurs en points 2D (réel + imaginaire)
Laisser un commentaire