Articles
CWT matlab-funksjon [lukket]
On februar 17, 2021 by admin Stengt. Dette spørsmålet er utenfor emnet . Det aksepteres for øyeblikket ikke svar.
Kommentarer
- Spaghetti skjer på grunn av den komplekse holdningen til noen CWT, som du allerede klarte med Fourier.
- betyr dette at bruk av cwt til dette signalet er ikke mulig?
- Det er mulig, og muligens mer informativt enn med Fourier, ettersom signalet ikke er stille.
- spagettien din er sannsynligvis en gjenstand for plottet ditt. , ikke cwt
- I ' Jeg stemmer for å lukke dette spørsmålet som utenfor emnet fordi problemet har å gjøre med å kalle matlabs plottfunksjon med komplekse verdier og ikke et problem med bølger
Svar
Prøver å gjette hvilket signal du analyserer, og formålet, her er en demo, på et ekte signal, med halvparten av Fourier-spekteret, og det tilsvarende kontinuerlige wavelet-transformasjons-skalogrammet.
Her mistenker jeg at signalet er for kort (uten ytterligere mål) til at FFT og CWT kan gi tolkbare resultater. Matlab-koden er:
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 er hentet fra her .
Kommentarer
- i ' Vi har også prøvd dette på et lengre signal, men det ga meg fortsatt spaghetti jeg tror det ' s fordi det ' er ikke-stasjonært som du sa.
- Absolut verdi mangler et sted
- OG jo lengre lengde handler om tolkbarhet, ikke spaghetti
- jeg gjorde det med absolutt verdi og jeg fikk bedre resultater, ikke mer spaghetti.
- God spaghetti oppstår fra å plotte kompleks verdier som 2D-poeng (ekte + imaginær)
Legg igjen en kommentar