Clear Filters
Clear Filters

cwt and wcoherence different periods

3 views (last 30 days)
I am performing cwt and wcoherence commands for acceleration responses of two dynamical systems under earthquake motion. Sampling intervals of both systems are same. Hence, the periods obtained from cwt are same for both systems. However they (period_1) differ form period values obtained form wcoherence (period_coh). The codes are below. What is the reason?
Also I cannot achieve same period data (i.e. period_1) in mat file as shown in cwt figures.
[wt1,period_1,coi1] = cwt(accel1(:,m),wname,dt);
[wcoh,wcs,period_coh] = wcoherence(accel1(:,m),accel2(:,m),dt) ;
Thanks in advance.

Answers (1)

vidyesh
vidyesh on 24 Jan 2024
Edited: vidyesh on 24 Jan 2024
Hi Elif,
You've noticed a difference in the period values when comparing the results from the continuous wavelet transform; cwt and wavelet coherence; wcoherence. This variation is due to the distinct default parameters used to construct the filter banks in each method.
Specifically, the wcoherence function creates its filter bank with the Morlet wavelet, also known as "amor," and sets 'voicesPerOctave' parameter to 12 by default. These parameters influence the period values you obtain.
In contrast, the cwt function uses a different set of default parameters, leading to the period values you've labelled as ‘period_1’ being different from ‘period_coh’.
When calling cwt set the 'wname' parameter as "amor" and 'voicesPerOctave' as 12 to get 'period_1' equal to 'period_coh'.
Hope this helps

Community Treasure Hunt

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

Start Hunting!