matlabscalewaveletphasewavelet-transform

Relationship between scale and frequency (Wavelet Coherence in Matlab)


I'm attempting to compute a phase-lag index for two signals. In order to do this I must first obtain a cross spectrum density in the time domain for the two signals.

I've experimented somewhat with the wcoher function in matlab, but the input required is assumed to be in scales. I am struggling to understand the relationship between scale and frequency, and particularly how one would convert desired frequencies (between 2 and 150 hz) to scales for coherence computation.

Any helpful resources would be appreciated.


Solution

  • It all depends on wavelet i.e. mother wavelet, and sampling frequency. For example take the simplest case i.e. the Morlet Wavelet that has approximately 1:1 between the wavelet central frequency and the Fourier frequency. Use a Matlab function scal2frq to convert scales to frequency. For your case i.e. at sampling frequency of 256 Hz, 2.08 Hz of Fourier frequency corresponds to wavelet scale of 100, and wavelet scale of 1.4 corresponds to 148.57 Hz. In its very simplest and loosest form (for just understanding), scale and Fourier frequencies are inversely proportional to each other. Read: A practical guide to wavelet analysis by C.Torrence.