cwtfilterbank magnitude linear scale
조회 수: 2 (최근 30일)
이전 댓글 표시
I am using the cwtfilterbank function to generate a scalogram from a signal. However, the frequencies on the Y-axis of the scalogram are not linear. I have read the documentation for cwtfilterbank, but I couldn't find a direct solution. What changes can I make to achieve a linear frequency scale on the scalogram?
fb = cwtfilterbank('SignalLength',signalLength,'Wavelet','amor','SamplingFrequency',Fs,'VoicesPerOctave',48, 'FrequencyLimits', [0 40])
[wt,f] = fb.wt(sig);
im = ind2rgb(im2uint8(rescale(abs(wt))),jet(256));
댓글 수: 0
답변 (1개)
Binaya
2024년 8월 21일
편집: Binaya
2024년 8월 21일
Hello Jhon
I believe you have used the code provided here: https://www.mathworks.com/help/wavelet/ref/cwtfilterbank.html?searchHighlight=cwtfilterbank&s_tid=srchtitle_support_results_1_cwtfilterbank#:~:text=figure-,cwt(x%2CFilterBank%3Dfb),-title(%22Magnitude for plotting the scalogram when using the "cwtfilterbank".
The "cwt" command plots a scalogram with filterbank and signal as input. Here, the frequency scale is plotted in log scale to represent the frequency components present in the filterbank generated by "cwtfilterbank".
To get the frequency in the linear scale, you can use the output of "cwt" function and plot the scalogram manually. The following link shows how to plot the output of "cwt" function manually with a linear frequency scale: https://www.mathworks.com/help/wavelet/ref/cwt.html?searchHighlight=cwt&s_tid=srchtitle_support_results_1_cwt#mw_00e6791c-2525-4b09-9206-f20674403b99:~:text=Display%20the%20result.%20The%20scalogram%20values%20are%20now%20scaled%20by%20the%20maximum%20absolute%20value%20at%20each%20level.%20Frequencies%20are%20displayed%20on%20a%20linear%20scale.
댓글 수: 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!