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

19 views (last 30 days)
Luccas S. on 24 May 2024 at 17:53
Answered: William Rose on 24 May 2024 at 18:18
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 on 24 May 2024 at 18:18
Compute wsst, and plot its magnitude:
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))
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.