Articles
CWT-matlab-funktion [lukket]
On februar 17, 2021 by admin Lukket. Dette spørgsmål er uden for emnet . Det accepteres i øjeblikket ikke svar.
Kommentarer
- Spaghetti sker på grund af den komplekse holdning hos nogle CWT, som du allerede klarede med Fourier.
- betyder det, at anvendelse af cwt til dette signal er ikke muligt?
- Det er muligt og muligvis mere informativt end med Fourier, da signalet ikke er stille.
- din spaghetti er sandsynligvis en artefakt af dit plotopkald , ikke cwt
- I ' m stemmer for at lukke dette spørgsmål som off-topic, fordi problemet har at gøre med at kalde matlabs plotfunktion med komplekse værdier og ikke et problem med bølger
Svar
Forsøger at gætte hvilket signal du analyserer, og formålet, her er en demo på et ægte signal med halvt Fourier-spektrum og det tilsvarende kontinuerlige wavelet-transform-skalogram.
Her formoder jeg, at signalet er for kort (uden yderligere mål) til, at FFT og CWT kan give fortolkelige 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 fås fra her .
Kommentarer
- i ' har også prøvet dette på et længere signal, men det gav mig stadig spaghetti jeg tror det ' s fordi det ' er ikke-stationært som du sagde.
- Abslute-værdi mangler et eller andet sted
- OG jo længere længde handler om fortolkningsevne, ikke spaghetti
- jeg gjorde det med absolut værdi, og jeg fik bedre resultater, ikke mere spaghetti.
- God spaghetti stammer fra plottingskompleks værdier som 2D-punkter (ægte + imaginære)
Skriv et svar