How to adjust the calculated frequency range in Continuous Wavelet Transforms
조회 수: 4 (최근 30일)
이전 댓글 표시
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
David Sokalski
2021년 5월 4일
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!
답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Continuous Wavelet Transforms에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!