Get frequency value from the Continuous Wavelet Transform

6 ビュー (過去 30 日間)
Angus Joyce
Angus Joyce 2019 年 9 月 25 日
回答済み: Robert U 2019 年 9 月 25 日
Hi There,
I'm using the CWT (1D) to analyze the frequency of small acoustic impulses. Based on the scalogram generated, I'm interested in extracting the frequency value from the higest magnitude component (In this case it's about 2KHz. Wavelet_0.jpg

採用された回答

Robert U
Robert U 2019 年 9 月 25 日
Hi Angus Joyce:
You did not provide any data, thus I could not work on your example. The mathworks example files for wavelet transforms are sufficient to show you a way to retrieve the requested data.
% matlab example
load mtlb % load example file
cwt(mtlb,'bump',Fs) % produce plot
[wt,f] = cwt(mtlb,'bump',Fs); % get matrix and frequency vector from cwt()
% get index of maximum value of returned matrix
[~,tmp] = max(wt);
[~,tmp2] = max(max(wt));
ind = [tmp(tmp2),tmp2];
% get frequency of maximum
f(ind(1))
% get time of maximum
(ind(2)-1) * 1/Fs
Kind regards,
Robert

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeContinuous Wavelet Transforms についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by