cwtfilterbank magnitude linear scale
3 ビュー (過去 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!