Generate wavelet cross correlation ceofficients using CWT?

4 views (last 30 days)
I am cross correlating 2 signals using the CWT. I would like to know the maximum correlation coefficient of the desired signal (sig1 and sig 2) with the mother wavelet in order to identify similarity between the signals and the mother wavelet. i.e. how well does Signal 1 cross correlate with the Haar mother wavelet? The aim is to basically find out if there is a high level of similarity between the Haar mother wavelet and signal 1.
My code so far is below and based on the information provided in Matlabs help documentation. Although it computes the wavelet transform and cross correlates signal 1 and 2 successfully, I can't seem to get it to cross correlate signal 1 with the mother wavelet and generate the normalised cross correlation coefficients.
wname = 'Haar'; scales = 1:512; ntw = 21; wcoher(Sig_1, Sig_2,scales,wname,'ntw',ntw,'plot','cwt'); % Wavelet cross spectrum examines the two signals on the time scale plain wcoher(Sig_1,Sig_2,scales,wname,'ntw',ntw,'plot','wcs');
% Now I would like to cross correlate the mother wavelet with the signal to identify how similar the signal is to the mother wavelet.
Any ideas?!
Thank you!

Accepted Answer

Philip Caplan
Philip Caplan on 14 Apr 2015
From my understanding of the problem, it sounds like you would like to determine the correlation between a given wavelet and the mother wavelet. Have you tried to use "wavefun" to generate the mother wavelet as a separate signal and then pass that to "wcoher"? One of the output arguments of "wcoher", called "xval", can be used to evaluate your signal such that the sizes are consistent when passed to "wcoher". "wcoher" ends up using "wavefun" to evaluate the wave you specify in 'wname' so this might give the desired result. For more information, please see:
Please let me know if I misunderstood your question.

More Answers (0)


Community Treasure Hunt

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

Start Hunting!