1. Technical Field
The invention relates to a signal decomposition system and the method thereof. In particular, the invention relates to a signal decomposition system with low-latency empirical mode decomposition that reduces the number of data stream directions in many computations. The invention also relates to the method for the same.
2. Related Art
In recent years, many experts apply the Hilbert-Huang transform to different fields, such as safety analysis in public engineering, disease diffusion analysis, voice recognition, natural disaster analysis, geophysical probes, satellite data analysis, biomedical data analysis, etc. In contrast to conventional Fourier transform or wavelet transform, the Hilbert-Huang transform is more effective in decomposing nonlinear signals for further analysis.
Generally speaking, the Hilbert-Huang transform utilizes empirical mode decomposition (EMD) to decompose an original signal into an intrinsic mode function (IMF) for subsequent analyses. However, since the EMD requires a huge amount of memory and the computation is complicated and time-consuming, there is a problem of low efficiency in signal decomposition.
In view of the foregoing, some vendors propose real-time computations on hardware. The very-large-scale integration (VLSI) architecture is employed to implement the EMD. Nevertheless, this method has the problem of high latency. Therefore, it still has the problem with lower signal decomposition efficiency.
In summary, there exists in the prior art the problem of low efficiency in signal decomposition. It is imperative to provide a good solution.
The invention discloses a signal decomposition system with low-latency EMD and the method of the same.
The disclosed system includes: a receiving module, a computing module, and an outputting module. The receiving module receives an original signal, and sets the original signal as input data. The computing module employs low-latency EMD to execute multiple computations with data stream directions for decomposing the original signal into an IMF, where consecutive two computations have opposite data stream directions. Each computation searches for a plurality of maxima and a plurality of minima, uses cubic-spline interpolation (CSI) to compute an upper envelope for the plurality of maxima and a lower envelope of the plurality of minima. The data stream directions are reversed. An average of the upper envelope and the lower envelope is computed. The input data and the average are used to produce a difference. When the number of difference productions satisfies a predetermined value of times, the difference is taken as an IMF. After obtaining the IMF, the original signal subtracts the IMF to obtain a residue, which is used as the input data to redo the computation until the residues becomes a monotonic function. After the multiple computations with the low-latency EMD, the outputting module outputs all the IMFs and the last residue.
The disclosed method includes the steps of: receiving an original signal and setting the original signal as input data employing low-latency EMD to execute multiple computations with data stream directions for decomposing the original signal into an IMF, wherein each consecutive computations involve opposite data stream directions and each computation includes the steps of: finding a plurality of maxima and a plurality of minima; using cubic-spline interpolation to compute an upper envelope of the plurality of maxima and a lower envelope of the plurality of minima, and making data stream directions opposite; computing an average of the upper envelope and the lower envelope; subtracting the average from the input data to generate a difference and, when the number of difference generations has not reached a predetermined value, using the difference as the input data for redoing the computation or, when the number of difference generations has reached the predetermined value, using the difference as the IMF; after generating the IMF, subtracting the IMF from the original signal to generate a residue and using the residue as the input data for redoing the computation until the residues become a monotonic function; outputting all of the IMFs and the residue from the last computation after completing a plurality of the above-mentioned low-latency EMD.
The disclosed system and method differ from the prior art in that the invention performs multiple iterative computations with different data stream directions to decompose the original signal. The data stream directions in odd-numbered and even-numbered computations are adjusted to reduce the number of data stream direction reversals. As a result, computing data can be shared and computing time can be saved.
Through the above-mentioned means, the invention achieves the goal of increasing signal decomposition efficiency.
The invention will become more fully understood from the detailed description given herein below illustration only, and thus is not limitative of the present invention, and wherein:
The present invention will be apparent from the following detailed description, which proceeds with reference to the accompanying drawings, wherein the same references relate to the same elements.
Before describing in detail the disclosed signal decomposition system and method with low-latency empirical mode decomposition (EMD), we first define terms used herein. Each computation mentioned in this specification includes the following steps:
(1) find a plurality of maxima and a plurality of minima;
(2) use cubic-spline interpolation (CSI) to compute an upper envelope for the plurality of maxima and a lower envelope for the plurality of minima, and reverse a data stream direction;
(3) compute an average for the upper envelope and the lower envelope;
(4) subtract the average from the input data to generate a difference and, when the number of difference generations is below a predetermined value, use the difference as the input for redoing the computation or, when the number of difference generations reaches the predetermined value, use the difference as an intrinsic mode function (IMF); and
(5) after obtaining the IMF, subtract the IMF from the original signal to generate a residue and use the residue as the input for redoing the computation until the residues becomes a monotonic function (that is, unable to further decompose the IMF into the components thereof).
In other words, after repeatedly executing the above-mentioned five steps, the original signal is decomposed into at least one IMF and one residue, and no further decomposition is possible.
Please refer to
Through low-latency EMD, the computing module 120 executes multiple computations with different data stream directions to decompose the original signal into an IMF, where the data stream directions in each two consecutive computations are opposite. The data stream direction in each computation will be described with an accompanying figure later. It should be mentioned that each computation includes the steps of: finding extrema (i.e., a plurality of maxima and a plurality of minima); using the CSI to compute an upper envelope for the plurality of maxima and a lower envelope for the plurality of minima, and reversing the data stream direction (e.g., changing the original left-to-right data stream direction to right-to-left); computing an average of the upper envelope and the lower envelope; subtracting the average from the input data to generate a difference and, when the number of difference generations is below a predetermined value, taking the difference as the input data for redoing the computation or, when the number of difference generations reaches the predetermined value, taking the difference as the IMF; after obtaining the IMF, subtracting the IMF from the original signal to generate a residue and using the residue as the input data for redoing the computation until the residues become a monotonic function. In practice, the predetermined value can be set as 10 before performing the multiple computations. The CSI can employ a tridiagonal matrix to perform forward and backward operations of Gauss elimination. The tridiagonal matrix has the following form:
During the calculation, one first performs the Gauss elimination in the forward direction for the lower tridiagonal matrix, followed by the Gauss elimination in the backward direction for the upper tridiagonal matrix. Since the data stream directions of the consecutive two operations are reversed, the data stream direction in the later half of the first operation is the same as that in the first half of the second operation, the data in these two operations for forward Gauss elimination, finding extrema, and backward Gauss elimination can be shared.
After completing the multiple computations of the low-latency EMD, the outputting module 130 outputs all of the IMFs and the residue generated during the last computation. In practice, the output IMFs and the last residue can be used in the Hilbert-Huang transform.
Please refer to
In the following, an embodiment is used to elucidate the invention with reference to
When the EMD starts, the input data are loaded from the LF memory in order to find the extrema (including a plurality of maxima and a plurality of minima). The PU's employ the tridiagonal matrix algorithm (TDMA) to compute “C′k,D′k”, which are then stored in the buffer. Afterwards, “C′k,D′k” are used to compute the upper envelope “U(t)” of the plurality of maxima and the lower envelope “L(t)” of the plurality of minima. Moreover, the average of the upper envelope and the lower envelope is computed for average removal (subtracting the average from the input data). Suppose the predetermined value of computations is set as 10. During the first to the ninth computations, computed results “Ei,j+1(t)” are stored in the HF memory. During the tenth computation, the computed result “Ei,j+1(t)” is output as an IMF. The average removal “Ei,1(t)−Ei,j+1(t)” of the tenth iteration is stored in the LF memory and set as the input of the next IMF. Using this hardware structure, the original signal can be decomposed after multiple computations, thereby outputting at least one IMF and the last residue, represented by
where “x(t)” is the original signal, “M” the number of IMFs, “Ci(t)” the i-th IMF, and “Res(t)” the last residue. It is then provided for Hilbert-Huang transforms.
Please refer to
In summary, the invention differs from the prior art in that the original signal is decomposed through multiple iterations with different data stream directions. The data stream directions of odd-numbered and even-numbered computations are adjusted to reduce the number of data stream direction reversals. As a result, computing data can be shared and computing time can be saved. The mechanism solves the problems in the prior art and helps improve the efficiency of signal decompositions.
Although the invention has been described with reference to specific embodiments, this description is not meant to be construed in a limiting sense. Various modifications of the disclosed embodiments, as well as alternative embodiments, will be apparent to persons skilled in the art. It is, therefore, contemplated that the appended claims will cover all modifications that fall within the true scope of the invention.