CLXXXIX ORCHIDACEAE *
P. bifolia × chlorantha
Computerised ECG analysis has been widely studied resulting in many advanced methods for QRS complex detection. Wavelet transform (WT) methods have been mostly used in ECG feature extraction along with other enhancements (Übeyli 2008; Kabir & Shahnaz 2012; Madeiro et al. 2012; Rezk et al. 2011; Pan et al. 2010; Martínez et al. 2004). Other techniques include geometric analysis (Zhou et al. 2009), the difference operation method (Yeh & Wang 2008), spectral analysis (Ubeyli 2008), Cumulative Sums of Squares (Alkhaldi et al. 2013) etc. However, the majority of these highly accurate QRS detection algorithms have used complex methods requiring complex time-frequency domain conversion (e.g. Fourier/Wavelet transform, complex filtering). Such methods require high computational power and memory resources, which show great limitations for real-time deployment. In order to address such issues, Elgendi et al. (2014) presented a thorough revision on QRS detection methodologies for portable, wearable, battery operated and wireless ECG devices. Multiple techniques of QRS detection from raw ECG signals were presented in their work including thresholding, syntactic methods (Lee et al. 1996; Afonso et al. 1997; Hii & Chung 2011), hidden Markov models (Borjesson et al. 1982), neural networks (Xue et al. 1992; Vijaya et al. 1998; Hu et al. 1993; Strintzis et al. 1992), matched filters (Dobbs et al. 1984; Ebenezer & Krishnamurthy 1993), singularity techniques (Virgilio et al. 1995; Rao 2015; Kadambe et al. 1999) and zero crossing (Hennig et al. 2003). Table 1 shows a summary of some of these proposed methods and their limitations. According to Elgendi et al. (2014), thresholding methods were most computationally efficient for the portable battery operated devices when conducting QRS detection. However, empirical results also indicated that the initial parameter setting for such methods proved very important in determining their performances.
Table 1 : Methods and their limitations
Method Limitations
Thresholding Highly dependent on initialization. Fixed threshold setting might result in performance limitation.
Neural Networks
Training phase is highly computationally intensive whereas deploying a trained neural network with a large number of connections and weights requires a considerable amount of memory.
Hidden Markov Models
Computational complexity is very high and requires a large number (15-50) of parameter evaluations.
Matched Filters Computationally expensive due to template comparison along ECG sample by sample.
Syntactic Methods Grammar pattern formulation and various parameter calculation are highly costly in terms of computation.
Zero-Crossing Max/min search for temporal localization of R wave is time consuming and computationally inefficient.
The popular methods used in ECG feature extraction is discussed below. Thresholding
Thresholding is the simplest method used in R-peak detection and feature extraction. A threshold is a value (static or dynamic) used as a determiner or decision maker. For example, consider a system which detects amplitude fluctuation of the ECG signal. If it is more than a certain value (threshold value), the system considers it as a spike. Thresholding is generally used with other methods, otherwise, it is very simple and prone to errors. It is the easiest method for implementation and takes very low computing resources as the decision (like peak detection) is made based on one or multiple comparisons of values.
Filtering
In signal processing, filtering is the process of removing unwanted signal components or features to obtain the intended part or feature of the signal. Filtering is easier to implement and works well in noise reduction. However, for feature extraction from ECG signal it is not similarly effective.
There are multiple realizations of linear filters. The following are the commonly used ones:
Low-pass filter: where only low frequencies are passed, high frequencies are attenuated.
High-pass filter: where only high frequencies are passed, low frequencies are attenuated.
Band-pass filter: where only frequencies in a frequency band are passed.
Band-stop filter: where only frequencies in a frequency band are attenuated.
All-pass filter: where all frequencies are passed, but the phase of the output is changed.
Notch filter: which rejects just one specific frequency.
Comb filter: which has multiple regularly spaced narrow passbands resulting the appearance of a comb.
The combination of multiple filters can be used to extract important parts (features) of the signal for further processing.
Fourier Transform
Fourier transform takes a time domain signal (containing a function of time) and produces a frequency domain signal (containing frequencies) (Pinsky 2009). Fourier transform decomposes the signal into sines and cosines. The following equation shows conversion mathematically:
X(f)= ∫ x (t)e-i2πftdt
∞ -∞
which converts a function of time x (t) into a function of frequency X (f).
The opposite operation is called inverse Fourier transform where a function of frequency is taken and result is a time domain function. The process can be mathematically formulated as follows:
X(t)= ∫ X (f)ei2πftdt
∞ -∞
Wavelet Transform
Wavelet transform is very similar to Fourier transform (or closer to the windowed Fourier transform) (Pinsky 2009), however, it uses a completely different merit function which is localized in both real and frequency (Fourier) domain. The wavelet transform can be expressed mathematically using the following formula:
F(a,b)= ∫ f (x) 𝜓∞ (a,b)∗ (x) dx -∞
Where ψ is some function and * is the complex conjugate symbol. As the function ψ can be chosen arbitrarily by obeying certain rules, the wavelet transform is an infinite set of various transforms.
Wavelet transforms can be categorised in two types, i.e. discrete wavelet transform (DWT) and continuous wavelet transform (CWT). A wavelet is a mathematical function that can divide a given function or continuous-time signal into diverse scale components. Generally, one can allocate a frequency range to each scale component.
In the discrete wavelet transform, orthogonal wavelets are used. The output of the discrete wavelet transform is a data vector which has the same length as the input. Typically, even in the resulting vector many data are nearly zero. This means that it decomposes into a set of wavelets (functions) which are orthogonal to its translations and scaling. Hence, we decompose such a signal to a same or lower number of the wavelet coefficient spectrum than the number
of signal data points. This type of a wavelet spectrum is very good for signal processing and compression as no redundant information is added in the output.
In the continuous wavelet transform non-orthogonal wavelets are used. The continuous wavelet transform returns one dimension array larger than the input data. For a one-dimensional data vector, an image of the time-frequency plane is obtained. The signal frequency evolution during the duration of the signal and comparison of the spectrum with other signals spectra can be easily observed. As the non-orthogonal set of wavelets is used in continuous wavelet transform, data are highly correlated, thus vast redundancy is present here.