How to add a sum of frequency band or a specific frequency to the wsst function
3 次查看(过去 30 天)
显示 更早的评论
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.
0 个评论
采纳的回答
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)
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 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Get Started with Wavelet Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!