# use wavelet transform to extract frequencies from given signal

let us suppose that we have following signal values,which consists by deterministic components and random noise(white noise)

56.69
75.24
13.77
8.56
-12.88
-65.34
-45.33
-48.78
-22.23
54.12
83.77
11.84
2.31
39.59
-32.09
-88.86
5.45
50.24
-37.39
-35.69
38.62
7.06
-30.01
22.36
60.71
30.96
5.90
-38.91
-58.15
-40.87
-13.18
-14.77
35.36
103.24
39.04
-50.76
6.98
1.23
-87.46
-60.86
65.08
23.93
-28.36
2.42
31.67
-5.22
4.02
37.50
12.36
5.37
-18.83
-68.70
-38.11
35.47
7.47
11.64
103.89
88.26
-62.41
-62.44
10.09
-33.92
-72.48
17.83
74.35
7.56
-5.35
22.56
-2.11
-2.82
2.59
-21.33
-0.52
-4.11
-50.68
-66.68
28.14
62.10
6.73
32.39
93.62
-18.56
-112.15
-38.18
3.33
-44.78
13.79
76.52
39.92
9.55
-7.09
-28.72
-1.59
19.01
-26.25
-22.61
32.54
0.06
-80.17
-2.02
103.68
31.50
-9.29
44.79
6.10
-93.30
-87.67
2.06
5.53
20.94
67.28
48.24
16.43
4.28
-49.05
-43.92
14.48
2.02
-56.29
16.29
54.09
-42.38
-33.91
67.16
64.26
-34.38
1.31
17.57
-69.49
-86.43
-14.43
20.61
38.08
66.31
38.91
9.62
-4.38
-45.47
-91.23
-9.17
52.92
-21.17
-31.51
69.74
22.55
-62.65
22.34
72.59
-6.34
-49.96
0.06
-38.30
-55.57
-22.15
28.14
61.12
81.82
37.94
-32.41
-14.05
-16.05
-90.12
-46.52
75.39
50.48
-36.08
21.54
64.57
-32.83
-47.71
47.82
35.80
-31.32
-37.71
-30.45
-36.51
6.90
30.17
25.81
69.67
50.19
-55.42
-76.26
-11.97
-47.71
-80.69
52.76
91.17
-5.08
-12.75
49.10
5.44
-46.98
-0.40
22.20
-12.89
-17.56
-24.62
-18.95
22.94
53.27
8.67
35.09
67.76
-27.38
-111.75
-37.70
14.80
-56.16
2.87
105.52
59.46
-42.36
-7.17
12.65
-32.87
-38.61
-0.33
1.07
0.12
6.79
-41.04
3.19
76.28
18.78
-26.27
47.46
16.52
-116.17
-82.44
25.21
8.68
2.55
70.61
86.29
-10.63
-44.12
-19.48
-34.54
-31.95
8.52
-10.48
11.89
40.45
-10.66
-34.27
63.24
42.83
-32.87
-18.44
37.47
-64.48
-101.98
7.93
59.48
22.63
43.46
74.91
2.31
-49.18
-56.15
-55.96
-11.68
37.66
3.36
13.40
45.50
14.21
-57.98
6.29
74.98
-7.25
-70.83
12.29
7.90
-76.29
-24.42
69.80
60.11
28.97
39.65
-11.23
-59.30
-60.80
-63.71
-16.72
66.48
59.98
-17.27
36.01
55.04
-38.70
-59.95
48.63


i know that sampling frequency=100;i am interested what is a basic steps using wavelet to extract frequencies and phases?i know that there is function of cwt for compute continuous wavelet transform and from coefficients it tries to determine frequencies,now if i know sampling frequency and dont know frequency components but suppose that it must be less then sampling frequency/2 or fs/2,because of Nyquist criteria to held,how can i take scales?i have tried following example

>> B=xlsread('data_generations1','A1','g8:g301');
>> scales=1:100;
>> coeff=cwt(B,1:100,'db2','plot');


and got following picture

now how can i determine which frequency and phases are in signal?or which wavelet basis should i choose?please help me in this problem

To answer inside the framework you set:

In the CWT domain the frequencies will stay the same, the wavelet will behave just like any other filter. It will only filter out frequencies, not change them. You can see banded regions in the image where the peaks are. Since you picked a wavelet that does not have a very steep frequency response, "beating" is visible and appears to be about as strong as the signal itself.

If you choose a wavelet with better frequency resolution (a longer one), the signals will stand out better.

If you try to do a DWT, you will get aliases, and the signals are not far enough apart to separate them completely.

• just one concrete example if you can show ?because i am new and dont know well how to extract frequencies – dato datuashvili Mar 28 '14 at 4:47
• Morlet/Gabor-Wavelets are basically windowed oscillations. If you make the window larger, you will gain frequency resolution and lose spatial resolution. – user7358 Mar 28 '14 at 16:45
• yes but please show how to to in matlab it?please show me – dato datuashvili Mar 28 '14 at 19:00
• Maybe you try the Y of "X=linspace(-5,5,40);Y=sin(10*X).*exp(-X.^2)" instead of "db2" – user7358 Mar 29 '14 at 0:18

A simple (hanning-windowed) FFT reveals four peaks that stand out far beyond the noise. This appears to be what you are looking for.

• but how it could be frequencies,when sampling frequency is 100? – dato datuashvili Mar 23 '14 at 14:49
• i can find frequencies using periodogram methods( these are not correct frequencies),what i want is using wavelet to find frequencies,just using wavelets – dato datuashvili Mar 23 '14 at 14:51
• FFT bin 25 would stand for frequency 25/294*100 Hz ~= 8.5 Hz. – user7358 Mar 23 '14 at 15:08
• ok but what about wavelet? – dato datuashvili Mar 23 '14 at 15:15
• Why do you want to use wavelet decomposition? What do you want to achieve? – user7358 Mar 23 '14 at 15:25

Try using the Crosswavelet and Wavelet Coherence package linked below:

http://noc.ac.uk/using-science/crosswavelet-wavelet-coherence

A Morlet mother wavelet should serve you well if you're looking for periodic behavior.