How to adjust the calculated frequency range in Continuous Wavelet Transforms
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hello,
I'm currently sampling a wave at 20,000Hz, with the frequency I'm interested in occuring around 8,000Hz. This works well for FFT, with the output range for frequency occuring between 0 and 10,000Hz. However, using the cwt function, the output results in the range of 0 (or near 0) to 8, 682.5 Hz. I do not understand the math AT ALL behind this, but I assumed since wavelet transform used FFT function 'somewhere' within, I would have an output frequency MAX of 10,000 Hz.
Is there a way to have up to 10,000 Hz output range using cwt?
Thanks!
1 commentaire
David Sokalski
le 4 Mai 2021
Hey there,
when creating the cwtfilterbank there is a flag called "FrequencyLimits" where you can set a range like so:
fb = cwtfilterbank('SignalLength', your_signal_length,...
'SamplingFrequency', 20000, ...
'FrequencyLimits',[500 9000]);
Following the Matlab Documentation you can then plot the result by using:
[cfs,frq] = wt(fb,sig);
t = (0:(your_signal_length - 1)/Fs;
figure;
pcolor(t,frq,abs(cfs))
set(gca,'yscale','log');shading interp;axis tight;
title('Scalogram');xlabel('Time (s)');ylabel('Frequency (Hz)')
Hope this helps!
Réponses (0)
Voir également
Catégories
En savoir plus sur Continuous Wavelet Transforms dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!