Journal of Information & Computational Science 11:17 (2014) 6369–6385 Available at

Journal of Information & Computational Science 11:17 (2014) 6369–6385
Available at http://www.joics.com
November 20, 2014
High Precision Computation of Morlet Wavelet Transform
for Multi-period Analysis of Climate Data ⋆
Hua Yi ∗, Zhiquan Chen ∗, Yanhua Cao ∗
School of Mathematics and Physics, Jinggangshan University, Ji’an 343009, China
Abstract
The algorithms of continuous wavelet transform based on Morlet wavelets are analyzed. The algorithm
analysis, advantage and disadvantage, and remedial method of FFT-based method are given. And then
the algorithm proposed in this paper is free of shortcomings of FFT-based method and its precision
is the best among existing linear-convolution-based methods. Thirdly, two different normalizations
for the computation of continuous wavelet transform are proposed in order to obtain high-precision
characterization of data. Finally, we stress the importance of suitable algorithms by analyzing the
multi-period structure of climate data.
Keywords: Morlet Wavelet; Continuous Wavelet Transform; Entropy; FFT; Convolution; Matlab
1
Introduction
The Continuous Wavelet Transform (CWT) is widely used as a common tool for analyzing localized variations of power within a time series, and therefore the program realization of CWT
for signal analysis is becoming increasing interest. This article focuses on the computation of
CWT with Morlet wavelets based on Matlab (matrix laboratory) for two reasons. Firstly, Matlab is a high-level language and interactive environment and widely used in academic and research institutions. In addition, the algorithms of CWT were developed by many researchers
and the source codes about CWT, written in Matlab language, are freely available in internet
besides cwt function in wavelet toolbox of Matlab. For instance, a Matlab freeware for data
analysis, called JLAB, witten by Lilly, is available at http://www.jmlilly.net. Torrence and Compo (1998) have given a practical step-by-step guide to wavelet analysis, with examples taken
from time series of the El Ni˜
no-Southern Oscillation (ENSO), and developed a code at the URL
http://paos.colorado.edu/research/wavelets/ for computing the continuous wavelet transform of
⋆
Supported jointly by the National Natural Science Foundation of China (No. 11347210), the Natural Science
Foundation of Jiangxi Province (No. 20132BAB201014), and the Doctoral Starting up Foundation of Jinggangshan
University (No. JZB1304).
∗
Corresponding author.
Email addresses: [email protected] (Hua Yi), [email protected] (Zhiquan Chen),
[email protected] (Yanhua Cao).
1548–7741 / Copyright © 2014 Binary Information Press
DOI: 10.12733/jics20104715
6370
H. Yi et al. / Journal of Information & Computational Science 11:17 (2014) 6369–6385
time series [11]. Another freeware, which contains the source program of CWT, known as WaveLab, can be retrieved at: http://www-stat.stanford.edu/∼wavelab, and so on.
Secondly, the complex Morlet wavelets, with the property of optimal localization in time and
frequency domains, have been widely used for modeling multiscale nonstationary processes in
space and time. In 1993, Meyers studied the dispersion of Yanai waves with Morlet wavelets [8].
The wavelet transform with Morlet wavelets has also been used to identify periodic oscillations
of real-life signals [2]-[4], [13]-[15].
There are several different ways to implement a continuous wavelet transform. The simplest
method is numerical integration for the transform using classical quadrature (such as a trapezoidal
rule). The drawback of this technique is that it is time consuming. Unser proposed a fast
noniterative algorithm in which the input signal and the analyzing wavelet are both represented
by polynomial splines for the evaluation of continuous wavelet transforms. However, this method
can only deal with integer scales [12].
To fully exploit the advantages of continuous wavelet transform, FFT-based algorithms, which
allow us to use arbitrary values for the scale variable, are widespreadly employed in aforementioned
Matlab freeware toolboxes, such as JLAB, WaveLab, and Torrence’s codes etc. However, the
method will produce an artificial periodicity in the wavelet coefficients if signal is not periodic
since this method assumes that data is cyclic. Therefore, a data processing method is proposed
to overcome this problem after the principle of FFT-based method is analyzed and the issues will
be addressed in Section 3.2.
At the same time, the function cwt in wavelet toolbox of Matlab, will not suffer this pseudo
periodic problem because the algorithm involves linear convolution instead of circular convolution.
Yet the precision for analyzing data is less than FFT-based method. And the errors caused by
differential coefficient was analyzed [17]; the algorithm was modified by Zhao [17]. The algorithm
is further studied in this paper so that the precision for analyzing data is enhanced, which is
another goal of this paper and will be addressed in Section 3.1.
The third goal, the focus of Section 2, is to propose two normalizations of mother wavelet
and time-frequency atoms ψa,b (t) when conducting continuous wavelet transform so that the
characteristics of signal are accurately depicted with wavelet coefficients.
In Section 4, a physical signal—temperature data is analyzed in order to illustrate the importance of suitable continuous wavelet transform method, which is the fourth goal of this paper.
2
2.1
Morlet Wavelets and Continuous Wavelet Transform
Morlet Continuous Wavelet Transform (MWT)
The Morlet wavelet is a plane wave modulated by a Gaussian function, and is defined as
−t2
ψ(t) = C · e 2σ2 eiηt ,
(1)
where η is the center frequency, σ 2 is the shape parameter to control time and frequency resolution, and C is a constant which should take different values according to different definition of
continuous wavelet transform. The Morlet Wavelet Transform (MWT) of signal f (t) at time b
H. Yi et al. / Journal of Information & Computational Science 11:17 (2014) 6369–6385
6371
and scale a is calculated [6]:
∫
Wf (a, b) =
+∞
−∞
(t − b)
1
f (t) √ ψ ∗
dt,
a
a
where ∗ denotes complex conjugation. Then the constant C should be
(2)
1
1
(σ 2 π) 4
and the mother
wavelet takes the form [6]
ψ(t) =
1
−t2
1
(σ 2 π) 4
· e 2σ2 eiηt
(3)
so that ∥ψa,b (t)∥2 = ∥ψ(t)∥2 = 1, where ψa,b (t) are the family of time-frequency atoms obtained
by scaling ψ by a and translating it by b, that is
1 (t − b)
ψa,b (t) = √ ψ
.
a
a
(4)
.
2.2
Modified Morlet Continuous Wavelet Transform (MMWT)
Different normalization may be found in the literature [1, 16]. If we define the family ψa,b as
ψa,b
1 (t − b)
= ψ
,
a
a
(5)
we can get ∥ψa,b ∥1 = ∥ψ(t)∥1 [1, 15]. Furthermore, if we change the constant C so that the mother
wavelet is defined as
√
−t2
2
iηt
2σ 2 · e
ψ(t) =
·
e
,
(6)
πσ 2
we have ∥ψa,b ∥1 = ∥ψ(t)∥1 = 2 [15]. In that case, we can define the Modified Morlet Wavelet
Transform (MMWT) as
∫ +∞
1 (t − b)
dt.
(7)
Wf (a, b) = ⟨f, ψa,b ⟩ =
f (t) ψ ∗
a
a
−∞
It should be mentioned that the complex Morlet wavelet function known as cmor, is defined in
2
wavelet toolbox as cmor(t) = (π · F b)−0.5 e2iπ·F c·t e−t /F b , where F b is a bandwidth parameter, and
F c is a wavelet center frequency. In order to ensure that ∥cmor(t)∥1 = 2, we modify the cmor in
this paper so that
2
cmor(t) = 2 · (π · F b)−0.5 e2iπ·F c·t e−t /F b .
(8)
For more information on the comparison between MWT and MMWT, we refer the reader to [15].
The algorithms for MWT and MMWT are almost the same except for the constant C of
mother wavelet and the normalizations of time-frequency atoms ψa,b (t). On the other hand,
MMWT maintains the same amplitude between the original frequency component and the wavelet
coefficients, which qualify itself as a superior tool for analyzing data [15, 16]. Therefore, algorithms
for MMWT will be exclusively addressed in the following part of this article.
6372
3
H. Yi et al. / Journal of Information & Computational Science 11:17 (2014) 6369–6385
Algorithms for MMWT
3.1
Time-domain-based Algorithms
The algorithm of cwt in wavelet toolbox, Zhao’s codes, and the algorithm proposed in this article
are all based on the convolution of signal and wavelets in time domain. The proposed algorithm
is first introduced, and then the other two are given.
3.1.1
The Proposed Algorithm
Assume the support of the mother wavelet ψ(t) is [−T, T ]. If define
1 (t)
ψa (t) = ψ
a a
(9)
1 ∗ ( −t )
∗
e
,
ψa (t + a · T ) = ψ a (t) = ψa (−t) = ψ
a
a
(10)
and
the support of ψea (t) = a1 ψ ∗ ( a·Ta−t ) is [0, 2a·T ]. Then the samples of ψea (t) is the impulse response of
a causal system. The wavelet transform, which is basically a linear filter whose response function
is given by the wavelet function, can be rewritten as a convolution:
∫
Wf (a, b) =
+∞
−∞
1 (t − b)
f (t) ψ ∗
dt = f ∗ ψ a (b) = f ∗ ψea (b + a · T ).
a
a
(11)
Denote the sampled signal by {fd (i), i = 0, 1, · · · , N − 1}, with sample frequency 1. As for the
samples of wavelet ψ a (t), we make use of the analytic expression of ψ(t) defined in (6) or cmor
defined in (8) and sample ψ a (t) in [−aT, aT ] with sample frequency 1 . And so we obtain
{
}
ψ a (ti ) : ti = −aT + i, i = 0, 1, · · · , 2a · T ,
(12)
the discrete version of ψ a (t)1 . Then we have the following result corresponding to the discrete
version of (11).
Proposition 1: Let
ha (i) = ψ a (ti − aT ) = ψea (ti ), i = 0, · · · , 2a · T.
(13)
Wf (a, i) = fd ∗ ha (i + aT ), i = 0, 1, · · · , N − 1,
(14)
Then
where ∗ denotes the linear convolution operator.
1
Without loss of generality, assume the sampling rates of data to be analyzed and the wavelet are equal to 1
and a · T is an integer for the convenience of analysis.
H. Yi et al. / Journal of Information & Computational Science 11:17 (2014) 6369–6385
6373
Proof: For i = 0, 1, · · · , N − 1, discretizing (11) yields
Wf (a, i) = fd ∗ ψ a (ti ) =
N
−1
∑
fd (k)ψ a (ti−k )
k=0
=
=
N
−1
∑
k=0
N
−1
∑
fd (k)ψea (aT + ti−k ) =
N
−1
∑
fd (k)ψea (−aT + aT + i − k)
k=0
fd (k)ψea (taT +i−k ) = fd ∗ ψea (taT +i ) = fd ∗ ha (i + aT )
(15)
k=0
In brief, {fd ∗ ha (i), i = 0, 1, · · · , N + 2aT − 1} can be implemented with linear convolution,
for example, the conv function in Matlab. Then {Wf (a, i), i = 0, 1, · · · , N − 1} are just the
{fd ∗ ha (i), i = aT, aT + 1, · · · , aT + N − 1}.
The computational complexity for the convolution-based algorithm depends on how the linear
convolution operation is implemented. In real applications, one would like to use the convolution
theorem together with the FFT in order to perform linear convolutions in the frequency-domain
−1
2aT
with reduced complexity [9]. For the data {fd (i)}N
i=0 and the filter {ha (i)}i=0 . The classical
frequency-domain approach requires to pad both signals with enough zeros to at least a size of
N + 2aT . The complexity can be expressed as a function of N + 2aT . Then, we have that three
FFTs are needed to transform the signals to the frequency-domain and back to the time-domain.
log2 (N + 2aT ) complex
For each of these, the FFT (or IFFT) requires approximately N +2aT
2
multiplications. The point-wise multiplication of the spectra requires N + 2aT multiplications.
)
Hence, the total number of multiplications performed is N +2aT + 3(N +2aT
log2 (N +2aT ) for each
2
scale a. For more information on some other method to perform the linear convolution adapting
to the feature of the data, we refer the reader to [7, 10].
The main source program of this method is given in Appendix A2.
3.1.2
The Algorithm of cwt in the Toolbox of Matlab
According to (7),
Wf (a, b) =
∑∫
k
k+1
k
1 (t − b)
dt.
f (t) ψ ∗
a
a
If f (t) = f (k), for t ∈ [k, k + 1], then
∫ k
∫
(
) )
( ∫ k+1 ( t − b )
1∑
∗ t−b
∗
Wf (a, b) =
dt −
ψ
dt = f ∗ ∆ ψ a (b).
f (k)
ψ
a k
a
a
−∞
−∞
(16)
(17)
According to (17), the convolution in algorithm of cwt in the toolbox of Matlab involves a filter
by first integrating, and then calculating the difference for the filter defined in (10). There is no
error introduced until now because theoretically the composition of integration and differential
will be an identity transform. However, practically the redundant operation will bring in some
error. Zhao et al. proposed to discard directly these redundant operation [17]. The precision of
Zhao’s codes is better than cwt’s.
6374
3.1.3
H. Yi et al. / Journal of Information & Computational Science 11:17 (2014) 6369–6385
The Algorithm of Zhao
In [17], three steps were used to obtain the filter defined in (13). Firstly, by using wavef un
function of Matlab toolbox, the samples of the mother wavelet ψ(t) in [−T, T ] is computed as
{
}N
2T
ψ(tj ), tj = −T +
(j − 1)
.
(18)
N −1
j=1
N , controlled by a precision parameter, may be 210 or 215 or others. In other words, N also
depends on the sampling interval
dw =
2T
N −1
(19)
of the mother wavelet. In this case, except for round-off error, there is no other error introduced
for the samples because these samples are computed with the analytic expression of the Morlet
wavelet.
Secondly, in order to obtain
{
}i=2aT +1
1 t′i ′
′
ψa (ti ) = ψ( ), ti = −aT + (i − 1)
,
a a
i=1
(20)
the discrete version of ψa (t), Zhao et al. adopted the same method with that of cwt function
in Matlab. That is, the discrete samples of ψa (t) are the dilation and translation version of the
samples of ψ(t). For a fixed i of (20), search j of (18) so that
1 ( t′ ) 1
ψa (t′i ) = ψ i ≈ ψ(tj ).
(21)
a
a
a
Insert the expressions of t′i and tj into (21), we have
1 (
i − 1) 1
ψ −T +
≈ ψ(−T + dw (j − 1)).
a
a
a
Then
j=
⌊i−1⌋
a · dw
+1
suffices an approximation for (22)2 . From (23), it is easy to deduce that
′
ti
− t j < dw .
a
(22)
(23)
(24)
By controlling the size of dw , any wanted precision can be obtained for (21) because the Morlet
wavelet function is continuous.
2aT +1
Thirdly, {ha (i)}i=1
is obtained by flipping left and right, taking conjugation3 , taking trans+1
.
lation for {ψa (t′i )}2aT
i=1
The code in Matlab, searching j for a fixed i, is j = [1 + f loor([0 : a ∗ 2T ]/(a ∗ dw ))]
Conjugation operation had been ignored in [17] because only real Morlet wavelet whose wavelet type is 4 was
considered in [17]. The real Morlet wavelet is just the real part of the cmor whose wavelet type is 5
2
3
H. Yi et al. / Journal of Information & Computational Science 11:17 (2014) 6369–6385
6375
Now, the difference between the proposed method and Zhao’s codes is that the discrete samples
of ψea (ti ) are obtained by different means. In Zhao’s code, the discrete samples of the filters are
the dilation and translation version of samples of ψ(t), except the samples of ψ(t) are computed
by analytic expression of Morlet wavelet. In the proposed method, all samples of response function are from the analytic expression of Morlet wavelet, which is the reason of that accuracy is
enhanced.
In Zhao’s method, for each scale a, in order to obtain the {ha (i)}, it is necessary to compute j
for each i using (23). These operations requires extra 2aT + 1 multiplications. In addition, N +
)
2aT + 3(N +2aT
log2 (N + 2aT ) multiplications is needed for the computation of linear convolution.
2
Hence, the total number of multiplications performed for Zhao’s method is N + 4aT + 1 +
3(N +2aT )
log2 (N + 2aT ) for each scale a.
2
3.2
3.2.1
Frequency-domain-based Algorithm
Algorithm Analysis
The wavelet transform defined in (7) can also be written as a frequency integration by applying
the Fourier Parseval formula:
∫ +∞
1 ˆ ˆ
1
Wf (a, b) =
⟨f , ψa,b ⟩ =
fˆ(ω)ψˆ∗ (aω)eibω dω,
(25)
2π
2π −∞
where
ˆ
ψˆa,b (ω) = e−ibω ψ(aω),
(26)
and ψˆ is the Fourier transform of ψ.
In practice, we must deal with the sampled versions of the signal. Denote the sampled signal
by {fd (n) = f (nT ), n = 0, · · · , N − 1}, where T is the sampling period. Discretising (25) yields
M
1
Wf (a, nT ) =
M
2
∑
k=− M
2
+1
( 2π ) ( 2π
) 2π
fˆ
k ψˆ∗
· k · a ei M ·k·n ,
M
M
n = 0, 1, · · · , N − 1.
(27)
In freeware such as Wavelab, M usually takes value N so that the number of {fˆ( 2π
k)} which can
M
be obtained as the discrete Fourier transform of {f (nT )} is just N . As for the computation of
ka)}, we can make use of the analytic expression of
{ψˆ∗ ( 2π
M
σ
ˆ
ψ(ω)
= 2 · e−
2 (ω−η)2
2
(28)
if ψ(t) is defined as (6). Therefore, the CWT can be computed by first finding the Fourier
transforms of the signal and the normalized wavelet. The inverse Fourier transform of the product
k)} and the scaled wavelet {ψˆ∗ ( 2π
ka)} yields one constant-scale slice of the transform.
of {fˆ( 2π
M
M
The main source program of FFT-based algorithm for continuous wavelet transform is given in
Appendix A1.
6376
3.2.2
H. Yi et al. / Journal of Information & Computational Science 11:17 (2014) 6369–6385
The Advantage and Disadvantage of this Method
FFT-based method is popularized due to its low computation complexity and its high precision,
and so it is widely adopted in aforementioned free softwares. However, the method will produce an
artificial periodicity in the wavelet coefficients if signal is not periodic since this method assumes
the data is cyclic if we do nothing about the preprocessing of data. This is demonstrated in the
examples herein, and the method for dealing with this problem is proposed.
For pedagogical reasons, we will concentrate on a Matlab generated data to illustrate this
point. As shown in Fig. 1, the data 1 is a synthetic signal of length 1024. The first half contains
sinusoidal signal superimposition with three different frequencies, and various amplitude, namely
0.8 sin(30πt) + sin(60πt) + 1.2 sin(120πt); The latter half contains the 60 Hz sinusoidal signal with
amplitude 0.6, namely 0.6 sin(120πt). Here the sampling frequency is 400 Hz.
MultiSignal
2.5
2.0
1.5
1.0
0.5
0
−0.5
−1.0
−1.5
−2.0
−2.5
0
200
400
600
800
1000
1200
Fig. 1: A synthetic signal of length 1024. The first half contains sinusoidal signal superimposition with
three different frequencies, namely 0.8 sin(30πt) + sin(60πt) + 1.2 sin(120πt); The latter half contains the
60 Hz sinusoidal signal with amplitude 0.6, namely 0.6 sin(120πt). Here the sampling frequency is 400
Hz
ABSOLUTE−COEFS
The absolute values of the MMWT coefficients of data 1 are presented in Fig. 2. The three
periodic components embedded in the signal are unveiled respectively by their corresponding
MMWT real coefficients in Fig. 3. The outward bulging of the coefficients at the end of the
signal are shown in Fig. 2 and Fig. 3. The line of wavelet coefficients bends to meet artificial
periodic boundary conditions, falsely indicating an increase of amplitude at the end of the signal.
This demonstrates the generic problem when using FFT-based algorithm on non periodic data—
the FFT-based algorithm, in which FFT (fast Fourier transform) is adopted, can induce the
1.4
1.2
1.0
0.8
0.6
0.4
0.2
0
0
200
400
600
Time
800
1000
40 30 20
1200 80 70 60 50 cy/Hz
Frequen
10
Fig. 2: The absolute values of the MMWT coefficients of data 1 computed with FFT-based method
without data preprocessing, where the shape parameter σ 2 = 1 and the center frequency η = 8
6377
H. Yi et al. / Journal of Information & Computational Science 11:17 (2014) 6369–6385
2
0
−2
The MMWT coefficients of 60 Hz
0
200
400
600
800
1000
1200
1000
1200
1000
1200
The MMWT coefficients of 30 Hz
2
0
−2
0
200
400
600
800
The MMWT coefficients of 15 Hz
1
0
−1
0
200
400
600
800
Fig. 3: The MMWT real coefficients of the three periodic components of the signal computed with
FFT-based method without data preprocessing, where the shape parameter σ 2 = 0.8 and the center
frequency η = 10
periodicity into the transform, greatly distorting the information at the end of the signal. This
is a critical problem when the initial and final signal characteristics are very different.
There are several different data preparation methods and here we propose one that is to pad
the end of the time series with zeroes before doing the MMWT and then remove them afterward
[11]. In this study, the time series {fd (n) = f (nT ), n = 0, · · · , N − 1} is padded with sufficient
zeroes so that
{
f (nT ), x = 0, 1, · · · , N − 1
f˜d (n) =
(29)
0,
n = N, N + 1, · · · , M,
where M = 2q for some q ∈ Z and M is the smallest number that is greater than n. It is important
to note that zero padding does not provide any additional information about the spectrum of the
data but results in a “better display” of the Fourier transform of the data [9]. Then
n = 0, 1, · · · , N − 1.
Wfd (a, nT ) = Wf˜d (a, nT ) ,
(30)
Fig. 4 is computed with this method. Comparing Fig. 3 and Fig. 4, we see this method does not
The MMWT coefficients figure of the first period, 60 Hz
2
0
−2
0
200
1000
1200
2
0
−2
0
400
600
800
The MMWT coefficients of the second period, 30 Hz
200
1000
1200
1
0
−1
0
400
600
800
The MMWT coefficients of the third period, 15 Hz
200
1000
1200
400
600
800
Fig. 4: The MMWT real coefficients of the three periodic components of the signal computed with FFTbased method with data preprocessing, where the shape parameter σ 2 = 0.8 and the center frequency
η = 10
6378
H. Yi et al. / Journal of Information & Computational Science 11:17 (2014) 6369–6385
introduce significant distortions of the end regions and eliminates the problem of non periodic
data.
3.2.3
The Computational Complexity for the Frequency-domain-based Method
For the data with length N , pad the end of the data with zeroes so that the length of the data is
M and M ≥ N + 2aT . The FFT of the data requires M2 log2 (M ) multiplications. The spectra of
σ 2 ( 2π ka−η)2
M
2
wavelet , {ψˆ∗ ( 2π
ka) = 2·e−
, k = 0, 1, · · · , M2 , − M2 +1, · · · , −1} can be precomputed and
M
stored in memory. Furthermore, only M2 + 1 discrete spectra need to be stored because the Morlet
wavelet is approximately analytic and therefore ψˆ∗ ( 2π
ka) ≈ 0 for k < 0. Therefore the point-wise
M
M
multiplication of the spectra requires 2 + 1 multiplications. Then the IFFT requires M2 log2 (M )
multiplications. Hence, the total number of multiplications performed is M2 + 1 + M log2 (M ) for
each scale for FFT-based method. In a word, the asymptotic time complexity is O(M log2 (M ))
for all the four methods discussed in this paper.
4
3.3
Comparisons between the Different Algorithms
ABSOLUTE−COEFS
The advantage of convolution-based method (include three methods involved in this paper) compared with FFT-based method is that it will not result in edge effect without previously processing
the data because the algorithm involves linear convolution in time domain instead of FFT, which
assumes the data is cyclic. Fig. 5, computed with the proposed method without preprocessing of
data, unlike Fig. 2, is free of artificial periodic problem.
1.4
1.2
1.0
0.8
0.6
0.4
0.2
0
600 800
1000 1200 80
Time
70
60
50
30
40
Frequency/Hz
10
Fig. 5: Absolute values of MMWT coefficients of data 1 computed with the proposed method without
preprocessing of data, where the shape parameter σ 2 = 1 and the center frequency η = 8
Another merit of the proposed method compared with cwt and Zhao’s is that it accurately
characterizes the amplitude of the three periodic component embedded in the data 1. For the
MMWT real coefficients map of 60 Hz main period shown in Fig. 6, computed with the proposed
method with parameter σ 2 = 0.8, η = 10, the maximum amplitude of MMWT real coefficients
is 1.2 in the first 512 points, the maximum amplitude 0.6 in the second 512 points, while the
corresponding local amplitude of the original signal is respectively 1.2, 0.6. And we can get the
relative errors are 0.2675 × 10−4 and 0.0000 × 10−4 respectively. Unlike the 60 Hz signal, lasting
in all 1024 samples, the 30 Hz, the 2nd period, and the 15 Hz, the 3rd period, shown in Fig. 6,
4
Note the first element in the wavelet spectra corresponds to k = 0 because the first element in the result of
FFT of the data also corresponds to k = 0
6379
H. Yi et al. / Journal of Information & Computational Science 11:17 (2014) 6369–6385
The MMWT real coefficients of 60 Hz
2
0
−2
0
200
400
600
800
1000
1200
1000
1200
1000
1200
The MMWT real coefficients of 30 Hz
2
0
−2
0
200
400
600
800
The MMPS real coefficients of 15 Hz
1
0
−1
0
200
400
600
800
Fig. 6: The real MMWT coefficients of data 1 computed with the proposed method without preprocessing
of data, where the shape parameter σ 2 = 0.8 and the center frequency η = 10
only occur in the first 512 samples, the relative errors between the measured values and the true
values are 0.2589 × 10−4 and 0.0000 × 10−4 respectively. If computed with FFT-based method
with preprocessing of data, the relative errors are the same with the proposed method. When
computed with another parameters, the relative errors for different methods are displayed in
Table 1. At the same time, it should be mentioned that the errors in column “proposed method”
are identical with column “FFT based method” in Table 1, and this is not typographical errors.
This phenomenon indicates some equivalences between these two methods. In fact, both of the
two methods can supply error-free linear convolution except for round-off error. In addition, the
number of multiplications for FFT-based method is less than that of other methods.
As another example illustrating the different performance of these methods, we recompute the
scalograms and wavelet ridges of two hyperbolic chirps shown in Figure 4.14 of [6], with the four
different continuous wavelet transform methods, and the result is shown in Fig. 7. It is obvious
that the proposed method and FFT-based method outperform the other two, while the precision
of Zhao’s is slightly better than that of cwt method.
Table 1: The relative errors between the amplitude of the MMWT real coefficients and the corresponding
amplitude of periodic components embedded in the data 1 with different methods
σ2 = 1
Proposed method
cwt method
Zhao’s method
FFT-based method
relative error1
0.2196 × 10−5
3.254 × 10−2
0.9530 × 10−2
0.2196 × 10−5
relative error2
0.0000 × 10−5
3.652 × 10−2
0.3688 × 10−2
0.0000 × 10−5
relative error3
0.2108 × 10−5
0.3960 × 10−2
1.722 × 10−2
0.2108 × 10−5
relative error4
0.0001 × 10−5
0.6820 × 10−2
2.971 × 10−2
0.0001 × 10−5
Proposed method
cwt method
Zhao’s method
FFT-based method
relative error1
0.0042 × 10−6
3.305 × 10−2
0.8670 × 10−2
0.0042 × 10−6
relative error2
0.0000 × 10
−6
−2
3.678 × 10
−2
0.2115 × 10
0.0000 × 10−6
relative error3
0.0041 × 10−6
0.3358 × 10−2
0.8435 × 10−2
0.0041 × 10−6
relative error4
0.7074 × 10−6
0.6217 × 10−2
0.4829 × 10−2
0.7074 × 10−6
η = 10
σ 2 = 1.5
η = 10
6380
H. Yi et al. / Journal of Information & Computational Science 11:17 (2014) 6369–6385
400
200
Figure based on cwt
Frequency
Frequency
Figure based on cwt
400
200
200
400
200
0
0 100 200 300 400 500 600 700 800 900 1000
200
0 100 200 300 400 500 600 700 800 900 1000
Figure based on the proposed method
400
200
0
Frequency
Frequency
0
0 100 200 300 400 500 600 700 800 900 1000
Figure based on FFT−based algorithm
0 100 200 300 400 500 600 700 800 900 1000
Figure based on the algorithm of ZHAO
400
0
Frequency
Frequency
0
0 100 200 300 400 500 600 700 800 900 1000
Figure based on the proposed method
400
200
0
Frequency
Frequency
0
0 100 200 300 400 500 600 700 800 900 1000
Figure based on the algorithm of ZHAO
400
0 100 200 300 400 500 600 700 800 900 1000
Figure based on FFT−based algorithm
400
200
0
0 100 200 300 400 500 600 700 800 900 1000
Fig. 7: The scalograms and wavelet ridges of two hyperbolic chirps shown in Figure 4.14 of [6] are
calculated with four different continuous wavelet transform methods, where the Morlet wavelet with the
shape parameter σ 2 = 1 and the center frequency η = 5 is used
4
Application: The Necessity of Suitable Method
The different analytical effect of temperature data with different algorithms are presented in this
section, which illustrates the necessity of choosing suitable algorithm. The temperature data
are from Jan. 1, 1951 to Dec. 31, 2010, and the experimental site is No. 50978 weather station,
Heilongjiang, China.
Fig. 8 and Fig.9 are contours of real part of MMWT of summer average temperature data for
50978 station, the two figures are computed with same parameters except for the continuous
wavelet transform algorithms, the Fig. 8 with Zhao’s method, the Fig. 9 with proposed method
(the corresponding figures computed by cwt method and FFT-based are not shown here for lack
of space but are available from the authors upon request). In these figures, the coefficients with
negative values, which mean that the temperature is in cold stage, are plotted with dotted, blue
line, while the coefficients with positive values, which mean that the temperature is in warm
stage, are plotted with dashed, red line. And so the negative and positive oscillation of local time
structures of summer temperature are visualized clearly from both figures.
However, the contour in Fig. 9 are more distinct than those in Fig. 8, which means that there
are less peaks and valleys in Fig. 9 compared with those in Fig. 8.
6381
H. Yi et al. / Journal of Information & Computational Science 11:17 (2014) 6369–6385
60
Period/year
50
28
17.9594
10.7561
5.3781
2.689
0
1951
1960
1970
1980
Time/year
1990
2000
2010
Fig. 8: The contour of real part of wavelet coefficients of summer average temperature of 50978 station
computed with Zhao’s method
60
Period/year
50
28
17.8302
10.9126
5.3781
2.6125
0
1951
1960
1970
1980
Time/year
1990
2000
2010
Fig. 9: The contour of real part of wavelet coefficients of summer average temperature of 50978 station
computed with the proposed method
The above phenomena, which are perceived by our visual sensors, can also be illustrated from
another quantitative way. That is, the proposed method can determine the multi-period of
the data more definite than Zhao’s methods. The multi-period, which concentrate the essential
dynamic of data, shown in Table 2, are calculated by using wavelet variance [3, 4, 11]. The
performance of proposed method superior to that of Zhao’s and FFT-based can be seen from
two aspects. Firstly, the number of periods computed by Zhao’s and by FFT-based outnumber
that of proposed method. With a few periods, we can give a more accurate characterization of
6382
H. Yi et al. / Journal of Information & Computational Science 11:17 (2014) 6369–6385
data. Secondly, the period computed by proposed method are almost the same when the center
frequency η, the wavelet parameter, changes. On the contrary, the number of period calculated
by other methods will change when the wavelet parameter changes, which may lead to confusion
when we determine what period exist in the data.
Table 2: The multi-period (unit: year) of 60 year summer temperature data differentiated by different
continuous wavelet transform methods
σ 2 = 1, η = 5
σ 2 = 1, η = 6
Zhao’s
2.1189, 2.2776, 2.4305, 2.5750
2.1497, 2.3956, 2.5381, 2.6697, 2.8081, 2.9324
method
2.6890, 5.3781, 10.7561, 17.9594
5.4170, 11.1515, 17.8302, 44.6060, 51.9091, 57.4307
proposed
2.6125, 5.3781, 10.9126, 17.8302
2.5565, 5.4170, 10.9916, 17.8302
F-based
2.6505, 5.3394, 10.2260, 16.2327
2.5750, 5.3781, 10.0794, 16.2327, 21.0512, 31.7698
The above analysis indicates that the wavelet transform coefficients computed by the proposed method are more sparse than those of all the other methods. On the other hand, sparsity of wavelet coefficients may be measured with the entropy of those wavelet coefficients
[5]. The entropy here is termed wavelet entropy. In order to define entropy, we rearrange the
{|Wf (ai , bj )|2 }{i,j} computed by (7) as {ck }k=1,...,M , then normalize it to obtain:
ck
dk = ∑M
k=1 ck
.
(31)
The wavelet entropy is calculated as
En = −
M
∑
dk log dk ,
(32)
k=1
with the convention 0 log 0 = 0 by definition. Next, from the Table 3, we see the wavelet entropy
of the proposed method is the smallest of all the others, which singles out the proposed method
as the superior method to the others.
Table 3: The wavelet entropy corresponding to different wavelet transform methods
σ 2 = 1, η = 5
2
σ = 1, η = 6
5
cwt
Zhao’s
FFT-based
Proposed
9.3327
9.1273
9.2079
9.1263
9.3318
9.1300
9.1985
9.1291
Conclusion
The wavelet transform is basically a linear filter whose response function is given by the wavelet
function. So the algorithms of continuous wavelet transform consist of two methods, frequencydomain calculation and time-domain calculation. FFT-based method, the typical representation
of frequency-domain computation, with its low computation complexity and its high precision, is
H. Yi et al. / Journal of Information & Computational Science 11:17 (2014) 6369–6385
6383
widely adopted in free softwares. But, M in (27) taking value N , the length of data, implicitly
assumes the data is cyclic, and so the artificial periodic problem emerges. Meanwhile, different
values of M implies different data preprocessing method.
The proposed method, a representation of time-domain computation, is free of artificial periodic
problem. And the computation precision of the proposed method and FFT-based method is
superior to other existing methods because the two methods calculate the response function by
the analytic expression of wavelet, the proposed method in time-domain, and the FFT-based
method in frequency-domain.
The proposed method, with the most sparse coefficients, is the most suitable method to analyzing the multi-period structure of temperature data.
The asymptotic time complexity is O(M log2 (M )) for all the four methods discussed in this
paper.
It should be noted that the proposed method can be adapted to other wavelets having analytic
expressions although this paper exclusively discusses Morlet wavelets. And it is not surprising
that the precision of the proposed method is superior to that of cwt function in wavelet toolbox of
Matlab and Zhao’s considering the fact that cwt and Zhao’s can deal with those wavelets without
analytic expressions such as Daubechies wavelets.
Appendix
A1: The Main Source Program of FFT-based Algorithm for MMWT
The main source program of FFT-based algorithm is given as follows:
n= l e n g t h ( S i g ) ; % t h e number o f s i g n a l
f f t x = f f t ( S i g ( : ) ) ; % F o u r i e r Transform o f s i g n a l S i g
L e n S c a l e s=l e n g t h ( S c a l e s ) ; % t h e number o f S c a l e s
omega = [ ( 0 : ( n / 2 ) ) ((( −n /2)+1): −1) ] . ∗ ( 2 ∗ p i /n ) ;
Coefs = z e r o s ( LenScales , n ) ;
f o r k = 1 : L e n S c a l e s % computation o f c o e f f i c i e n t s f o r each s c a l e
a= S c a l e s ( k );% a i s t h e s c a l e v a l u e
omega = omega ( : ) ;
P s i = 2∗ exp(−sigma2 / 2 ∗ ( a . ∗ omega − e t a ) . ˆ 2 ) ; % sigma2
i s th e shape parameter , and e t a i s t h e c e n t e r f r e q u e n c y .
P s i = P s i . ∗ ( omega>0);% P s i ( omega )=0 , when omega<0
C o e f s =(k , : ) = i f f t ( f f t x . ∗ P s i ) ;
end
A2: The Main Source Program of the Proposed Method for MMWT
The main source program(in this time, the Morlet wavelet is given as cmor function defined in
(8) in stead of (6)) of proposed method is given as follows:
[
√
√
√ ]
wsupport= 8 √F2 b ; % the effective support of Morlet defined in (8) is − 8 √F2 b , 8 √F2 b
6384
H. Yi et al. / Journal of Information & Computational Science 11:17 (2014) 6369–6385
L e n S c a l e s=l e n g t h ( S c a l e s ) ;
% t h e number o f S c a l e s
lenSig = length ( Sig ) ;
% t h e number o f s i g n a l
C o e f s = z e r o s ( L e n S c a l e s , l e n S i g );% t h e c o e f f i c i e n t s matrix
f o r k = 1: LenScales
% computation o f c o e f f i c i e n t s f o r each s c a l e
a = Scales (k );
% a i s t he s c a l e v a l u e
t = −round ( a∗ wsupport ) : 1 : round ( a∗ wsupport ) ;
% t h e e f f e c t i v e s u p p o r t o f Morlet with s a l c e a i s
[−a∗ wsupport , a∗ wsupport ] ,
and t h e sample f r e q u e n c y o f w a v e l e t i s 1 Hz
wvalue= f l i p l r ( 2 ∗ ( p i ∗Fb)ˆ( −1/2)∗ exp ( 1 i ∗2∗ p i ∗Fc . ∗ t /a ) .
∗ exp(− t . ˆ 2 / ( Fb∗a ˆ 2 ) ) ) ;
wvalue=c o n j ( wvalue ) ;
%computation o f t he w a v e l e t f u n c t i o n with t he a n a l y t i c e x p r e s s i o n .
temp = conv ( Sig , wvalue ) / a;% computation o f c o n v o l u t i o n
C o e f s ( k , :)= temp ( round ( a∗ wsupport )+1:
l e n g t h ( temp)−round ( a∗ wsupport ) ) ;
end
A3: The Main Source Program of Zhao’s Method for MWT
The main source program of Zhao’s method is given as follows:
signal = signal ( : ) ’ ; len = length ( signal ) ; nbscales =
l e n g t h ( s c a l e s ) ; c o e f s = z e r o s ( n b s c a l e s , l e n ) ; f o r k=1: n b s c a l e s
a=s c a l e s ( k ) ;
[ p s i , x v a l ] = wavefun (wname ) ;
x v a l = xval−x v a l ( 1 ) ;
dx = x v a l ( 2 ) ;
xmax = x v a l ( end ) ;
j =[1+ f l o o r ( [ 0 : a∗xmax ] / ( a∗dx ) ) ] ;
i f l e n g t h ( j )==1, j =[1 1 ] ; end
f= f l i p l r ( p s i ( j ) ) ;
f=c o n j ( f ) ;
c o e f s ( k , : ) = wkeep ( conv ( s i g n a l , f ) , l e n ) / s q r t ( a ) ; end
References
[1]
[2]
[3]
[4]
Ren´e Carmona, Wen-liang Hwang, Bruno Torresani, Practical Time-Frequency Analysis: Gabor
and Wavelet Transforms, with an Implementation in S, Volume 9, Academic Press, 1998
M. Issac, G. Renuka, C. Venugopal, Wavelet analysis of long period oscillations in geomagnetic
field over the magnetic equator, Journal of Atmospheric and Solar-Terrestrial Physics, 66(11),
2004, 919-925
David Labat, Recent advances in wavelet analyses: Part 1 - A review of concepts, Journal of
Hydrology, 314(1), 2005, 275-288
David Labat, Josyane Ronchail, Jean Loup Guyot, Recent advances in wavelet analyses: Part
2 - Amazon, parana, orinoco and congo discharges time scale variability, Journal of Hydrology,
314(1), 2005, 289-311
H. Yi et al. / Journal of Information & Computational Science 11:17 (2014) 6369–6385
6385
[5]
J. Lin, L. Qu, Feature extraction based on morlet wavelet and its application for mechanical fault
diagnosis, Journal of Sound and Vibration, 234(1), 2000, 135-148
[6]
Stephane Mallat, A Wavelet Tour of Signal Processing: The Sparse Way, Access Online via Elsevier, 2008
[7]
Jorge Martinez, Richard Heusdens, Richard C. Hendriks, A generalized poisson summation formula
and its application to fast linear convolution, Signal Processing Letters, IEEE, 18(9), 2011, 501-504
[8]
Steven D. Meyers, Brian G. Kelly, James J. O’Brien, An introduction to wavelet analysis in oceanography and meteorology: With application to the dispersion of yanai waves, Monthly Weather
Review, 121(10), 1993, 2858-2866
[9]
John G. Proakis, Digital Signal Processing: Principles, Algorithms, and Applications, 4th Ed.,
Pearson Education India, 2007
[10] Ivan W. Selesnick, C. Sidney Burrus, Fast Convolution and Filtering, The Digital Signal Processing
Handbook, 1999, 8-2
[11] C. Torrence, G. P. Compo, A practical guide to wavelet analysis, Bulletin of the American Meteorological Society, 79(1), 1998, 61-78
[12] Michael Unser, Akram Aldroubi, Steven J. Schiff, Fast implementation of the continuous wavelet
transform with integer scales, IEEE Transactions on Signal Processing, 42(12), 1994, 3519-3523
[13] R. Werner, The latitudinal ozone variability study using wavelet analysis, Journal of Atmospheric
and Solar-Terrestrial Physics, 70(2), 2008, 261-267
[14] H. Yi, Q. Fan, An algorithm for the determination of multi-period structure of time series, IEEE
International Conference on Information and Automation (ICIA), 2010, 1684-1689
[15] H. Yi, H. Shu, The improvement of the Morlet wavelet for multi-period analysis of climate data,
Comptes Rendus Geoscience, 344(10), 2012, 483-497
[16] H. Yi, H. Shu, T. Zhang, Q. Fan, Applications of Morlet wavelets in time-frequency localization
of signals, Mathematica Applicata, 23(2), 2010, 395-400
[17] Y. Zhao, X. Yuan, Y. Wei, Realization of continuous wavelet transform of sequences by matlab,
Journal of Sichuan University (Natural Science Edition), 43(2), 2006, 325-329