Abstract
The Continuous Wavelet Transform (CWT) is an important mathematical tool in signal processing, which is a linear time-invariant operator with causality and stability for a fixed scale and real-life application. A novel and simple proof of the FFT-based fast method of linear convolution is presented by exploiting the structures of circulant matrix. After introducing Equivalent Condition of Time-domain and Frequency-domain Algorithms of CWT, a class of algorithms for continuous wavelet transform are proposed and analyzed in this paper, which can cover the algorithms in JLAB and WaveLab, as well as the other existing methods such as the function in the toolbox of MATLAB. In this framework, two theoretical issues for the computation of CWT are analyzed. Firstly, edge effect is easily handled by using Equivalent Condition of Time-domain and Frequency-domain Algorithms of CWT and higher precision is expected. Secondly, due to the fact that linear convolution expands the support of the signal, which parts of the linear convolution are just the coefficients of CWT is analyzed by exploring the relationship of the filters of Frequency-domain and Time-domain algorithms, and some generalizations are given. Numerical experiments are presented to further demonstrate our analyses.
1. Introduction
In recent years, different Time-frequency representations, such as, empirical mode decomposition [1], wavelet transform [2] and its variants, empirical wavelet transform [3,4], synchrosqueezed wavelet transforms [5], have been used for analyzing nonlinear and non-stationary signals. To name only a few, the method of fused empirical mode decomposition and wavelets is applied to detection-location of damage in a truss-type structure [6]; Wavelet transform is used for the pattern recognition for diagnosis, condition monitoring and fault detection [7,8,9]. It is also used to design an algorithm for Brain-computer interfacing [10], to detect the exact onset of chipping of the cutting tool from the workpiece profile [11], to determine the length of piles [12]; Synchrosqueezed wavelet transform is used for global and local health condition assessment of structures [13], for modal parameters identification of smart civil structures [14].
This paper gives priority to the computation of continuous wavelet transform (CWT) for Morlet-type wavelets. However, for this type of wavelets, it is not possible to use a multiresolution framework for the computation of CWT [15]. Michael Unser [16] used Exponentials or B-spline window to approximate Gabor window, which can achieve complexity per scale. Another kind of method for the computation of CWT with Morlet-type wavelets concerns directly discretizing the integral expression of Wavelet transform. These methods allow us to use arbitrary values for the scale variable, and require the explicit expression of wavelet function and cannot deal with those wavelets without analytic expressions such as Daubechies wavelets [17]. This kind of method include Time-domain methods [17] and Frequency-domain methods [18].
Frequency-domain methods for CWT are also widely used in the freewares such as JLAB (available online http://www.jmlilly.net), Wavelab (available online http://www-stat.stanford.edu/$\sim$wavelab), which can achieve satisfactory precision while the edge effect, defined in [18], may occur and the complexity of those methods is where N is the length of the signal.
The function in wavelet toolbox of MATLAB, which has poorer precision than Frequency-domain methods mentioned above, is a representation of the Time-domain method [17]. For the details of the comparison of the different methods, we refer to [17].
The computation of linear convolution can be realized by using the circular convolution, while the computation of circular convolution can be computed by using the FFT-based fast method [19]. In this paper, a novel and simple method is given to prove the FFT-based fast method of linear convolution by exploiting the structures of circulant matrix. After introducing Equivalent Condition of Time-domain and Frequency-domain Algorithms of CWT, a class of algorithms for continuous wavelet transform are proposed and analyzed, which can cover the algorithms in JLAB and WaveLab, as well as the other existing methods such as the function in the toolbox of MATLAB. In this framework, two theoretical issues for the computation of CWT are analyzed.
Firstly, by using Equivalent Condition of Time-domain and Frequency-domain Algorithms of CWT to design Frequency-domain Algorithm, the edge effect, defined in [18], can be avoided. To be specific, in [18], the time series is padded with sufficient zeroes to bring the total length N up to the next-higher power of two, thus limiting the edge effects and speeding up the Fourier transform. In fact, the same number of zeros is padded for all scales in [18], which may cause some troubles, for example, increasing the amount of data to process, and consequently the computational complexity. In this article, the time series (the data) is padded with zeros while a is the scale. These two zero padding methods are compared in Remark 2 of this paper.
Secondly, due to the fact that linear convolution expands the support of the signal, which parts of the linear convolution are just the coefficients of CWT is analyzed by exploring the relationship of the filters of Frequency-domain and Time-domain algorithms (see Theorem 4), and some generalizations are given (see Theorem 5).
This paper is organized as follows. Section 2 gives some definitions and theorems concerning circulant matrix and linear convolution. Section 3 analyzes algorithms of continuous wavelet transform. Section 4 presents numerical experiments to demonstrate our results and finally, we end this paper with conclusions and discussions in Section 5.
2. Primary Definitions and Theorems
Definition 1.
Circulant matrix: An circulant matrix takes the form [20,21]
A circulant matrix is fully specified by one vector, c, which appears as the first column of .
Definition 2.
Discrete Fourier transform(DFT): The sequence of N complex numbers is transformed into an N-periodic sequence of complex numbers [22]
where , is the N-th root of unity.
It is easy to verify that
where “” means conjugate transposition. Then, the inverse discrete Fourier transform (IDFT) is given as
Theorem 1.
References [20,21] The matrix defined in (1) can be diagonalized by the DFT matrix , namely,
where c is the first column of , i.e., .
Proof.
It is easy to verify that the normalized eigenvectors of are given by
where with is the N-th root of unity. The corresponding eigenvalues are then given by
Definition 3.
Linear convolution [23]: A time-invariant linear operator L can be represented as a linear convolution. To be specific, we denote by the discrete Dirac
Any signal can be decomposed as a sum of shifted Diracs:
Let be the discrete impulse response. Linearity and time invariance implies that
where “” represents linear convolution.
Definition 4.
Causality and Stability [23]: A discrete filter L is causal if depends only on the values of for . The convolution formula (14) implies that if .
A discrete filter L is stable if any bounded input signal produces a bounded output signal . One can verify that the filter is stable if and only if .
Proposition 1.
Assume that the length of f and h are finite. To be specific, If , and , then the linear convolution of f and h defined in (14) can be written as
where , and
Proof.
We refer the reader to [19] for details. ☐
Suppose we wish to compute the polynomial product , the ordinary product expression for the coefficients of involves a linear convolution.
Definition 5.
Circular convolution [19]: The circular convolution of a signal with a signal is defined as a matrix vector multiplication as follows.
where is defined in Equation (1), and “” represents circular convolution.
Proposition 2.
The computation of circular convolution can be realized by using FFT-based fast method. In other word, Equation (17) can be written as
Proof.
The equivalent condition of circular convolution and linear convolution will be given in the following theorem.
Theorem 2.
Proof.
From Proposition (1), we get , where is defined in (16). Now extend to a circulant matrix [21]
thus the first column of is . Therefore,
by using Definition 5 and Proposition 2. ☐
From Theorem 2, the algorithm of linear convolution of is given as follows (See Algorithm 1).
| Algorithm 1: FFT-based fast method for linear convolution. |
| Input: the signal, the signal, Output: the linear convolution of f and h, 1. Set 2. Appending an array of zeros to the end of h to obtain so that the length of is n. 3. Appending an array of zeros to the end of f to obtain so that the length of is n 4. |
Additionally, the asymptotic time complexity is for Algorithm 1. Note the condition plays a pivotal role in the equivalence of linear convolution and circular convolution. This condition will also be used in the following part of this paper.
Definition 6.
Equivalent Condition of Linear Convolution and Circular Convolution: Let be defined in Theorem 2. The condition is called Equivalent Condition of Linear Convolution and Circular Convolution.
3. A Class of Algorithms for Continuous Wavelet Transform
3.1. Time-Domain Algorithm for CWT
Definition 7.
Continuous wavelet transform: The continuous wavelet transform of a function at a scale and translational value is expressed by the following integral [17]
where is a continuous function called the mother wavelet and the overline represents the operation of complex conjugate.
For real-life applications, the length of is finite and the support of is compact. Without loss of generality, assume the sampling rates of the signal and the wavelet are equal to 1, then Equation (21) can be written as
Assume the sampled signal is and the support of the mother wavelet is . If define
then the support of is . Now, we can get the following result.
Theorem 3.
Assume the length of is finite and the support of is compact, and the sampling rates of the signal and the wavelet are equal to 1, then CWT of can be written as
where we assume is an integer for the convenience of analysis. Furthermore, the corresponding filter is causal and stable.
Proof.
In brief, are just the while can be implemented with linear convolution [17]. From Algorithm 1, we can get the algorithm of CWT (see Algorithm 2).
| Algorithm 2: Time-domain fast algorithm for CWT. |
| Input: the signal, mother wavelet, scale, a T, where is the support of . Output:wavelet coefficients, 1. Let 2. Let , where the overline represents the operation of complex conjugate; 3. Let ; 4. Let 5. ; 6. . |
3.2. Frequency-Domain Algorithm for CWT
The algorithm can be further optimized by taking advantage of the analytic expression of , the Fourier transform of the mother wavelet . In fact, the wavelet transform defined in (21) can also be written as a frequency integration by applying the Fourier Parseval formula [23].
Assume the sampled signal is . Discretizing (27) and considering the periodic property of discrete Fourier transform yields
It is seen by comparing (28) and (18) that (28) represents a circular convolution. By considering Equivalent Condition of Linear Convolution and Circular Convolution, It is reasonable to let
In this case, the values of can be computed as the discrete Fourier transform of . As for the computation of , we can make use of the analytic expression of . For example, the Morlet wavelet is defined as [24]
then
where is shape parameter, and is center frequency. Furthermore, the Morlet wavelet is approximately analytic and therefore for . So
by the periodic property of discrete Fourier transform. Equation (32) will be used to design algorithm of CWT (see the 4th–6th steps of Algorithms 3).
Definition 8.
Equivalent Condition of Time-domain and Frequency-domain Algorithms of CWT: in Equation (29) is called Equivalent Condition of Time-domain and Frequency-domain Algorithms of CWT.
Remark 1.
In freeware such as Wavelab, the parameter M in Equation (29) takes value N, where N is the length of signal. In this case, can be obtained as the discrete Fourier transform of the data. Furthermore, the length of the result of is just N. However, the method will produce artificial periodicity, which is called edge effect by Torrence [18], in the wavelet coefficients if signal is not periodic. In order to limit the edge effect, in [18], the data is padded with sufficient zeros before doing the CWT, then the first N coefficients of the corresponding convolution are just the coefficients of the CWT. Nevertheless, the reason for this is not answered in previous papers in the author’s knowledge. Put another way. Why the last step of Algorithm 3 is dissimilar from the last step of Algorithm 2? The answer will be given in the following Theorem 4.
Lemma 1.
The filter used in Equation (27) is
Proof.
We refer the reader to [23] for details. ☐
Theorem 4.
Proof.
The filter used in Theorem 3 is defined in (23); therefore, . Define , then . Denote , , for the simplicity of notation for this moment. By the property of time-invariant of L,
therefore
That is to say
From Theorem 3, is the wanted wavelet coefficients; therefore is the wanted wavelet coefficients. ☐
Theorem 5.
Assume that (Without loss of generality, is assumed to be an integer.)
then
Proof.
Since
thus , the conclusion is deduced from Theorem 3. If define , the conclusion for the case can also be proved in the same way. ☐
Now, Frequency-domain algorithm of CWT with Morlet wavelet as the mother wavelet is given as follows.
| Algorithm 3: Frequency-domain fast algorithm for CWT (In real application, the case is enough for the calculation of CWT). |
| Input: the signal, scale, a , the Fourier transform of the Morlet wavelet T, where is the support of . Output: wavelet coefficients, 1. Let 2. Define , where the overline represents the operation of complex conjugate; 3. Let ; 4. If M is even, Let 5. else 6. end if 7. ; 8. switch(m) case 0 ; case 1 ; case 2 . |
Remark 2.
Note that the previous data preparation method takes , where [17,18]. However, this method may fail for some real life data. We propose , Equivalent Condition of Time-domain and Frequency-domain Algorithms of CWT, then the edge effect, defined in [18], that may occur in JLAB, Wavelab and [25] can be avoided. See Figures 6 and 7 for details.
4. Numerical Experiments
The experiments are conducted on two types of data, one for synthetic data, another for real-life data. Entropy can be used to measure the sparsity of wavelet coefficients [17]. In order to define entropy, are rearranged as , then are normalized to obtain:
The wavelet entropy is calculated as
with the convention by definition.
Experiments for Data 1: Data 1 is a synthetic signal with length N. The first half contains sinusoidal signal superimposition with three different frequencies, namely ; The latter half contains the 60 Hz sinusoidal signal with amplitude , namely , where , and the sampling frequency is 400 Hz. Data 1 with length is presented in Figure 1a. Figure 1b, the absolute values of CWT coefficients of Figure 1a, computed with the function in Wavelab, where the shape parameter and the center frequency , manifests edge effects. Figure 1c without edge effects is computed by using the case 0 of Algorithm 3.
Figure 1.
(a) is Data 1 with . (b) the absolute values of CWT coefficients of (a), computed with the function in Wavelab, where the shape parameter and the center frequency , manifests edge effects. (c) without edge effects is computed with Algorithm 3.
Table 1 gives the computational results of Data 1 with wavelet parameter by using different methods. “” means the function in wavelet toolbox of Matlab. “Zhao’s method” is an improved version of [26]. ”Direct” means the computation method of linear convolution by using Equation (15). If the length of signal is far larger than the length of the filter, an “Overlap-add” procedure for the calculation of linear convolution is faster than Direct method and Algorithm 1 [23]. The “wavelet entropy” shown in Table 1 can measure the sparsity of wavelet coefficients [17]. “Err_i” means the relative error of and the corresponding maximum amplitude of CWT coefficients.
Table 1.
Comparisons between the different CWT methods for Data 1.
From Table 1, we know that the precision, wavelet entropy of “Direct”, Algorithms 2 and 3, “Overlap-add” are almost the same and are more optimal to function in toolbox of Matlab. In fact, the precision of two methods in [17], “FFT based method” and the proposed method is almost the same. This phenomenon indicates some equivalence of these two methods. As a matter of fact, these two methods can be categorized as Algorithms 2 and 3 respectively.
Figure 2 is computed by using the case 1 of Algorithm 3. The wavelet coefficients of Figure 2b can exactly characterize the time-frequency local properties of data of Figure 1a. At the same time, Figure 2a,c fail to do so. In fact, it is known from the case 1 of Algorithm 3, the wavelet coefficients should be chosen as the middle part of the coefficients of the convolution. However, the wavelet coefficients of Figure 2a,c are respectively chosen as the first N and the last N part of the coefficients of the convolution.
Figure 2.
Figure 2 is computed by using the case 1 of Algorithm 3. The wavelet coefficients of (b) can exactly characterize the time-frequency local properties of data of (a). At the same time, (a,c) fail to do so.
Experiments for Data 2: Data 2 is the annual average temperature from 1 January 1951 to 31 December 2010 for No. 50978 weather station, Heilongjiang, China. Figure 3, Figure 4 and Figure 5, computed with different methods of CWT, namely, Algorithm 2, Zhao’s method, function in wavelet toolbox of Matlab, are the contours of the real part of coefficients of CWT for Data 2. The Morlet wavelet parameters are . The coefficients with negative values are plotted with a dotted, blue line, while the coefficients with positive values are plotted with a dashed, red line. It is obvious from these figures that the precision of Algorithm 2 is superior to that of Zhao’s method and function of Matlab.
Figure 3.
This contour is computed by using Algorithm 2 with the Morlet wavelet parameter for Data 2.
Figure 4.
This contour is computed by using Zhao’s method with the Morlet wavelet parameter for Data 2.
Figure 5.
This contour is computed by using function in wavelet toolbox of Matlab with the Morlet wavelet parameter for Data 2.
It is seen from Table 2 that the wavelet entropy for Algorithm 2 is the smallest of all the methods. Therefore, Algorithm 2 is the most suitable method for this temperature data.
Table 2.
The wavelet entropy corresponding to different wavelet transform methods.
Figure 6 and Figure 7 are calculated with different data preparation methods. To be specific, Figure 6 is computed with the frequency-domain method of CWT with data preparation method given in previously published papers, namely, while Figure 7 is computed with the case 0 of Algorithm 3 with . Note the different structures of contours in the upper edge of these two figures. The contour is not closed in the upper edge of Figure 6, which means that there will be a valley and a peak in the left and right part of this edge. So the edge effect is obvious in Figure 6.
Figure 6.
This contour, computed with frequency-domain method of CWT with data preparation method given in previously published papers, namely, , manifests edge effect.
Figure 7.
This contour, computed with the case 0 of Algorithm 3 with , manifests no edge effect.
5. Conclusions
The continuous wavelet transform of a signal with finite length for a fixed scale is considered as a linear time-invariant operator. Furthermore, the filter with causal and stability is constructed. The algorithm of linear convolution constitutes a unifying framework to the continuous wavelet transform methods previously published in [17]. The precision of these methods based on this framework is almost the same, no matter what method is used, and higher than other methods that use the approximation of wavelet, for example, the function in wavelet toolbox of Matlab. The edge effect is also easily handled by using Equivalent Condition of Time-domain and Frequency-domain Algorithms of CWT.
The algorithms of CWT consist of two methods, time-domain method and frequency-domain method. For time-domain method, by constructing the causal filter , we know the wavelet coefficients are just the middle part of the corresponding linear convolution. For frequency-domain method, by exploring the relationship of and , we know the wavelet coefficients are just the first N coefficients of the corresponding convolution. Furthermore, by constructing the different filters, the wavelet coefficients can be the first N coefficients, or the middle N coefficients, or the last N coefficients of the corresponding convolution for frequency-domain method.
There are three methods for the calculation of linear convolution. The first one is to directly implement the definition of linear convolution. The second one is known as the FFT-based method, for example, Algorithm 1. Lastly, if the length of the signal is far larger than the length of the filter, an overlap-add procedure for the calculation of linear convolution is faster than the previous two methods [23]. How to combine the Frequency-domain method and an overlap-add procedure for the computation of CWT is a question for future research.
Acknowledgments
The work is supported by the Natural Science Foundation of Jiangxi Province, China (Grant No. 20161BAB201017), the Technology Plan Project of Jiangxi Provincial Education Department (No. GJJ160758), and the Doctoral research startup project of Jinggangshan University(No. JZB11002).
Author Contributions
Hua Yi, Shi-You Xin and Jun-Feng Yin conceived and designed the experiments; Jun-Feng Yin wrote the introduction part of this paper; Shi-You Xin wrote the experimental part; Hua Yi wrote the rest parts of this paper.
Conflicts of Interest
The authors declare no conflict of interest.
References
- Huang, N.E.; Shen, Z.; Long, S.R.; Wu, M.C.; Shih, H.H.; Zheng, Q.; Yen, N.C.; Chi, C.T.; Liu, H.H. The empirical mode decomposition and the Hilbert spectrum for nonlinear and non-stationary time series analysis. Proc. Math. Phys. Eng. Sci. 1998, 454, 903–995. [Google Scholar] [CrossRef]
- Daubechies, I.; Heil, C. Ten Lectures on Wavelets. Comput. Phys. 1992, 6, 1671. [Google Scholar] [CrossRef]
- Gilles, J. Empirical Wavelet Transform. IEEE Trans. Signal Process. 2013, 61, 3999–4010. [Google Scholar] [CrossRef]
- Amezquita-Sanchez, J.P.; Adeli, H. A new music-empirical wavelet transform methodology for time frequency analysis of noisy nonlinear and non-stationary signals. Digit. Signal Process. 2015, 45, 55–68. [Google Scholar] [CrossRef]
- Daubechies, I.; Lu, J.; Wu, H.T. Synchrosqueezed wavelet transforms: An empirical mode decomposition-like tool. Appl. Comput. Harmon. Anal. 2011, 30, 243–261. [Google Scholar] [CrossRef]
- Garcia-Perez, A.; Amezquita-Sanche, J.P.; Dominguez-Gonzale, A.; Sedaghat, R.; Osornio-Rio, R.; Romero-Troncos, R.J. Fused empirical mode decomposition and wavelets for locating combined damage in a truss-type structure through vibration analysis. J. Zhejiang Univ. Sci. A 2013, 14, 615–630. [Google Scholar] [CrossRef]
- Boashash, B.; Khan, N.A.; Ben-Jabeur, T. Time frequency features for pattern recognition using high-resolution TFDs: A tutorial review. Digit. Signal Process. 2015, 40, 1–30. [Google Scholar]
- Glowacz, A. DC Motor Fault Analysis with the Use of Acoustic Signals, Coiflet Wavelet Transform, and K-Nearest Neighbor Classifier. Arch. Acoust. 2015, 40, 321–327. [Google Scholar] [CrossRef]
- Chen, J.; Rostami, J.; Tse, P.W.; Wan, X. The Design of a Novel Mother Wavelet that is Tailor-made for Continuous Wavelet Transform in Extracting Defect-Related Features from Reflected Guided Wave Signals. Measurement 2017, 110, 176–191. [Google Scholar] [CrossRef]
- Chamanzar, A.; Shabany, M.; Malekmohammadi, A.; Mohammadinejad, S. Efficient Hardware Implementation of Real-Time Low-Power Movement Intention Detector System Using FFT and Adaptive Wavelet Transform. IEEE Trans. Biomed. Circuits Syst. 2017, 11, 585–596. [Google Scholar] [CrossRef] [PubMed]
- Lee, W.K.; Ratnam, M.M.; Ahmad, Z.A. Detection of chipping in ceramic cutting inserts from workpiece profile during turning using fast Fourier transform (FFT) and continuous wavelet transform (CWT). Precis. Eng. 2017, 47, 406–423. [Google Scholar] [CrossRef]
- Ni, S.H.; Li, J.L.; Yang, Y.Z.; Yang, Z.T. An improved approach to evaluating pile length using complex continuous wavelet transform analysis. Insight Non-Destr. Test. Cond. Monit. 2017, 59, 318–324. [Google Scholar] [CrossRef]
- Rafiei, M.H.; Adeli, H. A novel unsupervised deep learning model for global and local health condition assessment of structures. Eng. Struct. 2018, 156, 598–607. [Google Scholar] [CrossRef]
- Perez-Ramirez, C.A.; Amezquita-Sanchez, J.P.; Adeli, H.; Valtierra-Rodriguez, M.; Camarena-Martinez, D.; Romero-Troncoso, R.J. New methodology for modal parameters identification of smart civil structures using ambient vibrations and synchrosqueezed wavelet transform. Eng. Appl. Artif. Intell. 2016, 48, 1–12. [Google Scholar] [CrossRef]
- Leigh, G.M. Fast FIR Algorithms for the Continuous Wavelet Transform From Constrained Least Squares. IEEE Trans. Signal Process. 2012, 61, 28–37. [Google Scholar] [CrossRef]
- Unser, M. Fast Gabor-like windowed Fourier and continuous wavelet transforms. IEEE Signal Process. Lett. 1994, 1, 76–79. [Google Scholar] [CrossRef]
- Yi, H.; Chen, Z.; Cao, Y. High Precision Computation of Morlet Wavelet Transform for Multi-period Analysis of Climate Data. J. Inf. Comput. Sci. 2014, 11, 6369–6385. [Google Scholar] [CrossRef]
- Torrence, C.; Compo, G.P. A Practical Guide to Wavelet Analysis. Bull. Am. Meteorol. Soc. 1998, 79, 61–78. [Google Scholar] [CrossRef]
- Burrus, C.; Parks, T.W. DFT/FFT and Convolution Algorithms: Theory and Implementation; John Wiley & Sons Inc.: New York, NY, USA, 1991. [Google Scholar]
- Jin, X.Q. Preconditioning Techniques for Toeplitz Systems; Higher Education Press: Beijing, China, 2010. [Google Scholar]
- Nagy, J.G.; Plemmons, R.J.; Torgersen, T.C. Iterative image restoration using approximate inverse preconditioning. IEEE Trans. Image Process. 1996, 5, 1151–1162. [Google Scholar] [CrossRef] [PubMed]
- Proakis, J.G.; Manolakis, D.G. Digital Signal Processing: Principles, Algorithms, And Applications; Pearson Education: Delhi, India, 2007; Volume 23, pp. 392–394. [Google Scholar]
- Mallat, S.G. A Wavelet Tour of Signal Processing: The Sparse Way; Academic Press: New York, NY, USA, 2009. [Google Scholar]
- Yi, H.; Shu, H. The improvement of the Morlet wavelet for multi-period analysis of climate data. Comptes Rendus Geosci. 2012, 344, 483–497. [Google Scholar] [CrossRef]
- Jones, D.L.; Baraniuk, R.G. Efficient approximation of continuous wavelet transforms. Electron. Lett. 1991, 27, 748–750. [Google Scholar] [CrossRef]
- Zhao, Y.Y.; Yuan, X.; Wei, Y.H. Realization of Continuous Wavelet Transform of Sequences by MATLAB. J. Sichuan Univ. 2006, 43, 325–329. [Google Scholar]
© 2018 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).