Articles
Função CWT matlab [fechada]
On Fevereiro 17, 2021 by admin Fechada. Esta questão está fora do tópico . Atualmente não está aceitando respostas.
Comentários
- Spaghetti acontece por causa da atitude complexa de alguns CWT, que você já administrou com Fourier.
- isso significa que aplicar cwt a este sinal não é possível?
- Isso é possível, e possivelmente mais informativo do que com Fourier, já que o sinal não está estacionário.
- seu espaguete é provavelmente um artefato de sua chamada de trama , não o cwt
- Eu ' estou votando para fechar esta questão como fora do tópico porque o problema tem a ver com chamar a função plot do matlab com valores complexos e não um problema com wavelets
Resposta
Tentando adivinhar qual sinal você está analisando e qual o propósito, aqui está uma demonstração, em um sinal real, com metade do espectro de Fourier e o escalograma de transformação wavelet contínua correspondente.
Aqui, eu suspeito que o sinal é muito curto (sem objetivos adicionais) para FFT e CWT produzir resultados interpretáveis. O código Matlab é:
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 é obtido aqui .
Comentários
- i ' Também tentei em um sinal mais longo, mas ainda me deu espaguete, acho que ' s porque ' é não estacionário como você disse.
- Valor absoluto está faltando em algum lugar
- E o comprimento mais longo tem a ver com interpretabilidade, não espaguete
- Fiz isso com valor absoluto e obtive resultados melhores, chega de espaguete.
- Ótimo, espaguete surge de complexo de plotagem valores como pontos 2D (real + imaginário)
Deixe uma resposta