Borrar filtros
Borrar filtros

How to adjust the calculated frequency range in Continuous Wavelet Transforms

7 visualizaciones (últimos 30 días)
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 comentario
David Sokalski
David Sokalski el 4 de Mayo de 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!

Iniciar sesión para comentar.

Respuestas (0)

Categorías

Más información sobre Continuous Wavelet Transforms en Help Center y File Exchange.

Productos


Versión

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by