# Can I "turn off" the CWT normalization, to directly compare the CWTs of different signals?

8 views (last 30 days)
AG on 14 Aug 2022
I am looking to compare the CWT of different signals in time, and I would like there to be an equivalence on different CWT plots. I.e., a magnitude of 0.5 on one CWT plot is the same as a magnitude of 0.5 on another CWT plot, and they both show up at the same colour.
I see in the documentation that the CWT uses the L1 normalization, here is my attempt to "undo" that such that I can compare across different observations. I essentially multiply each row of the wavelet transform output by its corresponding frequency.
[wt,f,coi] = cwt(Q,'amor',VoicesPerOctave = 48); % Q is the timetable of my signal
f = f';
T = conj(wt).*wt;
% attempt to unscale the L1 normalization of the CWT
N_f = length(f);
T_scaled = T;
f_flip = flip(f); % frequency vector is backwards so need to flip
for i=1:1:N_f % multiply each row of T by its corresponding frequency
T_scaled(i,:)=f_flip(i)*T(i,:);
end
T = T_scaled;
Am I on the right track, or what would be a better method of doing this to compare CWTs of different signals? Is unscaling the normalization the right way to go?

R2022a

### Community Treasure Hunt

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

Start Hunting!