フィルターのクリア

How to add a sum of frequency band or a specific frequency to the wsst function

6 ビュー (過去 30 日間)
Luccas S.
Luccas S. 2024 年 5 月 24 日
回答済み: William Rose 2024 年 5 月 24 日
I would like to sum up the values ​​found in the intervals or a specific frequency range, as shown in the image below:
The graph was constructed using the matlab wsst function.

採用された回答

William Rose
William Rose 2024 年 5 月 24 日
Compute wsst, and plot its magnitude:
load mtlb
dt = 1/Fs;
t = 0:dt:numel(mtlb)*dt-dt;
[sst,f] = wsst(mtlb,Fs);
%disp([size(f),size(f(f>2000 & f<=2500)),size(sst)])
pcolor(t,f,abs(sst))
shading interp; colorbar
xlabel("Seconds")
ylabel("Frequency (Hz)")
title("Synchrosqueezed Transform")
Sum up the wavelet amplitudes in band from f=2000 to f=2500:
S1=sum(abs(sst((f>2000 & f<=2500),:)),'all');
fprintf('Sum of wsst amplitudes, from f=2000 to f=2500: %.1f.\n',S1)
Sum of wsst amplitudes, from f=2000 to f=2500: 58.1.
S1=58 .1 the sum of about 40,000 array elements. Therefore the mean value of the elements is about 58/4e4~=0.0015. This seems like it could be consistent with the amplitudes, as indicated by the colorbar. At least it is not wildly inconsistent.

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeTriangulation Representation についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by