Next Article in Journal
Laplace–Fourier Transform of the Stretched Exponential Function: Analytic Error Bounds, Double Exponential Transform, and Open-Source Implementation “libkww”
Previous Article in Journal
Exact Algorithms for Maximum Clique: A Computational Study
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

An Efficient Algorithm for Automatic Peak Detection in Noisy Periodic and Quasi-Periodic Signals

Biomedical Optics Research Laboratory, Division of Neonatology, University Hospital Zurich, 8091 Zurich, Switzerland
*
Author to whom correspondence should be addressed.
Algorithms 2012, 5(4), 588-603; https://doi.org/10.3390/a5040588
Submission received: 3 August 2012 / Revised: 29 October 2012 / Accepted: 13 November 2012 / Published: 21 November 2012

Abstract

:
We present a new method for automatic detection of peaks in noisy periodic and quasi-periodic signals. The new method, called automatic multiscale-based peak detection (AMPD), is based on the calculation and analysis of the local maxima scalogram, a matrix comprising the scale-dependent occurrences of local maxima. The usefulness of the proposed method is shown by applying the AMPD algorithm to simulated and real-world signals.

1. Introduction

The detection of peaks in signals is an important step in many signal processing applications. Up to now, many different methods have been developed, including those based on traditional window-threshold techniques [1,2,3,4], wavelet transform [5,6,7,8,9,10,11,12,13], Hilbert transform [14], combining Hilbert and wavelet transform [15], artificial neural networks [16,17], techniques using templates [18,19], morphology filtering [20,21,22], nonlinear filtering [23,24,25,26], Kalman filtering [27], Gabor filtering [28], Gaussian second derivative filtering [29], linear prediction analysis [30], higher-order statistics [31], K-Means clustering [32], fuzzy C-Means clustering [33], Empirical Mode Decomposition [34], hidden Markov models [35], and techniques using entropy [36], momentum [37], histogram/cumulative distribution function [38], intensity weighted variance [39], stochastic resonance [40], or a smoothed nonlinear energy operator [41].
The problem with most of the peak detection algorithms available is that the more generally applicable the algorithm, the more free parameters (i.e., window length or threshold value) have to be chosen in order to be able to apply the algorithm to the signal. In contrast, algorithms with only a few parameters are in general restricted for use in specific applications such as the detection of R-peaks in electroencephalography (ECG) signals [1,7,8,10,12,14,15,16,17,20,21,22,23,24,30,31,32,33,34] or peaks in chromatography data [3,4]. Additionally the existence of noise in the analyzed signal is a challenge for many of the peak detection algorithm available.
The unsatisfactory situation with regard to existing peak detection methods motivated the development of a simple and effective new peak detection algorithm for noisy periodic and quasi-periodic signals based on the insight that the general applicability of an algorithm could be preserved by (i) using a multiscale technique to detect all local maxima of the signal and (ii) finding the “real peaks” by automatically analyzing the results of the multiscale technique applied. In particular, the goal of our work was to develop a peak detection algorithm that has the properties of (i) not having any free parameters values that have to be chosen by the user prior to the analysis; (ii) being able to detect peaks in periodic and quasi-periodic signals; and (iii) having a peak detection efficiency that is fairly robust against high and low frequency noise.
It should be noted that the goal of the present work was to develop a peak detection algorithm specifically to detect peaks in noisy periodic and quasi-periodic signals. Thus, it was not the intention to develop a general peak detection method that is also applicable to non-periodic signals, such as signals normally obtained in the field of analytical chemistry, including mass spectra, optical spectra or gas chromatograms.

2. Algorithm

Let x = [ x 1 , x 2 , , x i , , x N ] be a given univariate uniformly sampled signal containing a component of periodic or quasi-periodic peaks. The first step of the automatic multiscale-based peak detection (AMPD) algorithm consists of calculating the local maxima scalogram (LMS). To this end, the signal x is first linearly detrended, i.e., the least-squares fit of a straight line to x is calculated and subtracted from x. Then, the local maxima of the signal x are determined using a moving window approach whereby the window length w k is varied { w k = 2 k | k = 1 , 2 , , L } with k the k-th scale of the signal and L = N / 2 1 where z is the ceiling function that gives the smallest integer not less than z. This is realized for every scale k and for i = k + 2 , , N k + 1 according to
m k , i = { 0 , x i 1 > x i k 1 x i 1 > x i + k 1 r + α , otherwise
where r is a uniformly distributed random number in the range [0, 1] and α a constant factor (α = 1). For i = 1 , , k + 1 , and for i = N k + 2 , , N the value r + α is assigned to m k , i . These operations of Equation 1 result in the matrix
M = ( m 1 , 1 m 1 , 2 m 1 , N m 2 , 1 m 2 , 2 m 2 , N m L , 1 m L , 2 m L , N ) = ( m k , i )
where the k-th row contains the value for the window length w k .
Thus, all elements of the L × N matrix M are in the range of [0, 1 + α]. The matrix M is called the LMS of the signal x.
The second step of the algorithm comprises a row-wise summation of the LMS matrix M
γ k = i = 1 N m k , i ,   for   k { 1 , 2 , , L }
The vector γ = [ γ 1 , γ 2 , , γ i , , γ L ] contains the information about the scale-dependent distribution of zeros (and thus local maxima). The global minimum of γ , λ =  ​ arg min ( γ k ) , represents the scale with the most local maxima. This value λ is used in the third step of the algorithm to reshape the LMS matrix M by removing all elements m k , i for which k > λ holds, leading to the new λ × N-matrix M r = ( m k , i ) , for i { 1 , 2 , , N } and k { 1 , 2 , , λ } .
In the last step of the algorithm, the peaks are detected by (i) calculating the column-wise standard deviation of the matrix M r according to
σ i = 1 λ 1 k = 1 λ [ ( m k , i 1 λ k = 1 λ m k , i ) 2 ] 1 2 ,   for   i { 1 , 2 , , N }
and (ii) find all indices i for which σ i = 0 holds. These values are stored in the vector p = [ p 1 , p 2 , , p q , p N ^ ] with N ^ the total number of detected peaks of the signal x. p refers to the indices of the detected peaks. We found empirically that for quasi-periodic input signals the highest frequency ( f max ) of the oscillation should not be larger than 4 times the lowest frequency ( f min ) , i.e., f max < 4 f min .
Thus, using this AMPD algorithmic framework, every value of a given signal x = [ x 1 , x 2 , , x i , , x N ] is detected as a peak when the column-wise standard deviation of the matrix M r meet the criterion σ i = 0 .
Figure 1 summarizes visually the steps of the AMPD algorithm and Figure 2 shows an example of applying the AMPD algorithm to a simulated noisy multicomponent signal x , defined as x = [ x 1 , x 2 , , x i , , x N ] , with x i = { a sin ( 2 π f 1 / f S ) + b sin ( 2 π f 2 / f S ) + c sin ( 2 π f 3 / f S ) + d ε i } for i { 0 , 0.1 , , N } where f S = 800  Hz , f 1 = 10  Hz , f 2 = 70  Hz , f 3 = 5  Hz , a = 1, b = 1, c = 0.5, d = 0.1 and ε a normally distributed random number in the range [0, 1].
Figure 1. Calculation steps of the AMPD algorithm.
Figure 1. Calculation steps of the AMPD algorithm.
Algorithms 05 00588 g001
Figure 2. Example of applying the AMPD algorithm to a simulated signal. (a) Local maxima scalogram, calculated from scale 1 to L = N / 2 1 and N the length of the signal (N = 3000); (b) Rescaled local maxima scalogram (LMS) according to the detected global minimum as shown in (c); (d) Calculated row-wise standard deviation of the rescaled LMS; (e) and (f) Detected peaks.
Figure 2. Example of applying the AMPD algorithm to a simulated signal. (a) Local maxima scalogram, calculated from scale 1 to L = N / 2 1 and N the length of the signal (N = 3000); (b) Rescaled local maxima scalogram (LMS) according to the detected global minimum as shown in (c); (d) Calculated row-wise standard deviation of the rescaled LMS; (e) and (f) Detected peaks.
Algorithms 05 00588 g002

3. Validation

Two types of simulated data sets (type A and B) were created and used for the validation of the algorithm. The first type (A) of data set was constructed to evaluate the ability of the AMPD algorithm to detect peaks in noisy periodic signals. Therefore 5 signals (sampling frequency: 100 Hz, length: 20 s, frequency of the sinus oscillation: 1 Hz) with different amount of Gaussian white noise were used. The signal-to-noise ratios (SNR) of the final signals were 25 dB, 10 dB, 5 dB and 0 dB. Additionally one signal without noise was created. The SNR values were calculated according to the formula SNR​  =  ​ 10 log ( P s i g n a l / P n o i s e ) , with P s i g n a l the power of the periodic signal and P n o i s e the power of the noise. The second type (B) of data set was constructed to evaluate the ability of the AMPD algorithm to detect peaks in noisy quasi-periodic signals. Therefore, five chirp signals were created, each comprising a sinus oscillation with an increasing frequency (start frequency: 1 Hz, end frequency: 3.8 Hz). As for the type A signals, different amounts of noise were added to the signals leading to the same SNR-values as for the type A signals.
The AMPD algorithm was implemented in Matlab (The Mathworks, Natick, MA, USA). The results of applying the algorithm to the simulated data sets are visualised in Figure 3 and Figure 4. All peaks were correctly detected (based on visual inspection) for all types of signal characteristics used.
Figure 3. Results of applying the AMPD algorithm to the simulated type A data sets. (a) no noise; (b) SNR = 25 dB; (c) SNR = 10 dB; (d) SNR = 5 dB; (e) SNR = 0 dB.
Figure 3. Results of applying the AMPD algorithm to the simulated type A data sets. (a) no noise; (b) SNR = 25 dB; (c) SNR = 10 dB; (d) SNR = 5 dB; (e) SNR = 0 dB.
Algorithms 05 00588 g003
Figure 4. Results of applying the AMPD algorithm to the simulated type B data sets. (a) no noise; (b) SNR = 25 dB; (c) SNR = 10 dB; (d) SNR = 5 dB; (e) SNR = 0 dB.
Figure 4. Results of applying the AMPD algorithm to the simulated type B data sets. (a) no noise; (b) SNR = 25 dB; (c) SNR = 10 dB; (d) SNR = 5 dB; (e) SNR = 0 dB.
Algorithms 05 00588 g004

4. Application Examples

In this section, we present a demonstration of the proposed algorithm on five different time series originating from different research areas (i.e., astrophysics, biomedical optics, physiology, geophysics and chaos theory) in the field of natural sciences.

4.1. Sunspot Numbers

The time series analyzed comprises the total monthly number of sunspots, i.e., the number of dark spots on the solar surface caused by interactions between the solar magnetic field and the Sun’s plasma [42]. The time series comprises 3151 values and spans a period from January 1749 to July 2011. The data was downloaded from the website of the Solar Influences Data Analysis Center (SIDC) of the Royal Observatory of Belgium (SIDC-team) [43]. The results of the analysis are given in Figure 5. All 23 peaks were correctly detected (no false negative errors) and no false detection occurred (no false positive errors).
Figure 5. Results of applying the AMPD algorithm to a time series comprising the monthly total number of sunspots.
Figure 5. Results of applying the AMPD algorithm to a time series comprising the monthly total number of sunspots.
Algorithms 05 00588 g005

4.2. Blood Volume Pulse in fNIRS Signals

Signals measured using functional near-infrared spectroscopy (fNIRS) contain a strong oscillation that is caused by the blood volume pulse (BVP) related to the arterial blood pressure changes (systole, diastole). fNIRS is a technique allowing non-invasive measurement of changes in the blood concentrations of oxyhemoglobin ([O2Hb]) and deoxyhemoglobin ([HHb]) by irradiating light in the near-infrared spectrum (600–950 nm) into the brain and analyzing the reflected light intensity changes [44,45,46]. The information of the BVP in fNIRS signals is relevant for various reasons, i.e., for a proper removal of the BVP from fNIRS signals to improve the detection of fast neuronal optical signals [47,48], or for the usage of a surrogate to the heart rate variability measured with electrocardiography [49].
In order to demonstrate the applicability of the AMPD algorithm to detect the BVP-peaks in a fNIRS time series, we used a self-recorded [O2Hb] signal measured on the prefrontal cortex (sampling frequency: 10 Hz, source-detector distance: 2.5 mm, device: MCP-II, multichannel continuous-wave NIR-spectroscope, for technical details see [50]). The time series analyzed had a duration of 200 s (~3.3 min). The results of the analysis are given in Figure 6. All 225 peaks were correctly detected (no false negative errors) and no false detection occurred (no false positive errors).
Figure 6. Results of applying the AMPD algorithm to a [O2Hb] time series with BVP-peaks.
Figure 6. Results of applying the AMPD algorithm to a [O2Hb] time series with BVP-peaks.
Algorithms 05 00588 g006

4.3. Maximum Concentration of Expired CO2

The CO2 concentration of the exhaled air, measured with capnography, is an important parameter in medicine and basic physiological research. The waveform of CO2 concentration changes during the respiratory cycle comprises four phases (I: inspiratory baseline, II: expiratory upstroke, III: expiratory plateau, and IV: inspiratory downstroke) where the phase IV marks the peak of the whole waveform. This peak value is called end-tidal CO2 (PETCO2) and is a best approximation of the alveolar CO2 level, i.e., the partial pressure of CO2 in the arterial blood (PaCO2) [51]. A precise and robust measurement of the phase IV peak is indispensable to correctly determine the PETCO2 values.
The time series analyzed comprised a 500 s long CO2 time series measured on a resting subject (sampling frequency: 5 Hz, device: Nellcor N1000 gas analyzer, Nellcor. Inc, Hayward, USA). The results of the analysis are given in Figure 7. All 133 peaks were correctly detected (no false negative errors) and no false detection occurred (no false positive errors).
Figure 7. Results of applying the AMPD algorithm to a CO2 time series.
Figure 7. Results of applying the AMPD algorithm to a CO2 time series.
Algorithms 05 00588 g007

4.4. QRS Peaks in ECG Signals

Electrocardiography (ECG) time series contain information about the direction and magnitude of the electrical activity caused by electrophysiological effects (depolarisation and repolarisation) of the atria and ventricles. The time series comprises a recurrent sequence of characteristic signal waveforms (P, QRS, T) where the QRS complex is the most striking element. The maximum of the QRS complex is the R-peak. The sequence of RR intervals is the heart rate. The variability of the RR interval lengths is called hart rate variability (HRV), associated with the state of the autonomic nervous system [52].
To demonstrate the usefulness of the proposed AMPD algorithm, we used a self-recorded ECG signal (sampling frequency: 128 Hz; device: 1-channel ECG, MK3-ETA, TOM-Medical, Graz, Austria). The analyzed time series had a duration of 200 s (~3.3 min). The results of the analysis are given in Figure 8. All 221 R-peaks were correctly detected (no false negative errors) and no false detection occurred (no false positive errors).
Figure 8. Results of applying the AMPD algorithm to an ECG time series.
Figure 8. Results of applying the AMPD algorithm to an ECG time series.
Algorithms 05 00588 g008

4.5. Peaks in the Variation of the Earth’s Length of Day due to Lunar Tidal Forcing

Since the Earth’s rotation rate is not a constant, each day has a different duration (length of day, LOD) when comparing the astronomically determined duration of a day on Earth with the duration of a day according to the SI units definition (1 day = 86,400 s) measured using atomic clocks [53]. The variations in LOD are highly non-stationary and comprise different oscillations. One of the strongest oscillations present in the LOD time series has the average period of 13.6 days. This oscillation is the result of a lunar tidal force that the Moon exerts on the Earth’s rotation due to changes in the lunar declination during the lunar cycle [54].
The proposed AMPD algorithm was tested to establish its ability to detect the peaks of this lunar-related oscillation in the unfiltered (raw) LOD data. To this end, (i) daily averaged LOD data were obtained from the International Earth Rotation and Reference Service (IERS) [55]; and (ii) the peaks of the LOD time series from 2008 to 2011 (1461 days) were detected. The results are given in Figure 9. In total 105 peaks were detected. One peak was not detected (one false negative error) but no false detection occurred (no false positive errors). As shown in Figure 9, the missed peak has low amplitude and is superimposed with a rapidly decreasing part of a slower oscillation (low frequency noise) which makes the detection difficult. The missed peak detection could be prevented by high-pass filtering the signal prior to analysis with the AMPD algorithm.
The average duration of the intervals between the peaks was 13.7885 ± 2.1974 days, which corresponds well with the value reported in literature [54,56].
Figure 9. Results of applying the AMPD algorithm to aLOD time series.
Figure 9. Results of applying the AMPD algorithm to aLOD time series.
Algorithms 05 00588 g009

4.6. Chaos Theory: Lorenz System

The three-dimensional Lorenz system, developed by Edward N. Lorenz in 1963 [57], is a simplification of the seven-dimensional system developed by Barry Salzman in 1962 [58]. The Lorenz system is a classic example of a nonlinear system exhibiting chaotic behaviour. It is given by three ordinary differential equations (Lorenz equations):
d x d t = σ ( y x ) ,   d y d t = x ( ρ z ) y ,   d z d t = x y β z
with the system parameters σ, ρ and β that determine the dynamic behaviour of the system.
To demonstrate the capability of the proposed AMPD algorithm, (i) the system of ordinary differential equations given by (5) was solved for the parameter values σ = 10, ρ = 28, β = 8/3, and t [ 1 , 3000 ] ; and (ii) the peaks of the time series x(t) were detected. The results are given in Figure 10. All 53 peaks were correctly detected (no false negative errors) and no false detection occurred (no false positive errors).
Figure 10. Results of applying the AMPD algorithm to the x(t) time series of the Lorenz system.
Figure 10. Results of applying the AMPD algorithm to the x(t) time series of the Lorenz system.
Algorithms 05 00588 g010

5. Discussion and Conclusions

In this paper, we presented a new method, called automatic multiscale-based peak detection (AMPD), for automatic detection of peaks in noisy periodic and quasi-periodic signals. Compared to traditional methods for peak detection, the proposed AMPD algorithm has the following advantages: (i) no free parameter values have to be chosen by the user prior to analysis; (ii) peaks in periodic and quasi-periodic signals can be detected; and (iii) the peak detection efficiency is fairly robust against high and low frequency noise. Hence, the presented method results in a high efficiency in detection of peaks.
Using simulated and real-world signals, the usefulness of the AMPD algorithm was evaluated and demonstrated. For signals with high amplitude low frequency noise, the performance of the algorithm can be optimized by high-pass filtering the signal prior to analysis. However, the high-pass filtering is not necessary for most of the signals as demonstrated.
For future work it would be interesting (i) to further explore the information given in the LMS in order to find, for example, additional rules for the automatic identification of peaks; (ii) to evaluate the performance of the AMPD algorithm compared to other peak detection algorithms available; and (iii) to use and test the algorithm in real world applications.

Acknowledgments

The authors thank Rachel Folkes for assisting with proofreading and Patrick Wespi for his helpful comments on the draft.

References

  1. Pan, J.; Tompkins, W.J. A real-time QRS detection algorithm. IEEE Trans. Biomed. Eng. 1985, 32, 230–236. [Google Scholar] [CrossRef] [PubMed]
  2. Jacobsen, A.L. Auto-Threshold peak detection in physiological signals. In Proceedings of the 23rd Annual International Conference of the IEEE, Al-Ain, United Arab Emirates; 2001; Volume 3, pp. 2194–2195. [Google Scholar]
  3. Vivó-Truyols, G.; Torres-Lapasió, J.R.; Van Nederkassel, A.M.; Vander Heyden, Y.; Massart, D.L. Automatic program for peak detection and deconvolution of multi-overlapped chromatographic signals part I: Peak detection. J. Chromatogr. A 2005, 1096, 133–145. [Google Scholar] [CrossRef] [PubMed]
  4. Excoffier, J.L.; Guichon, G. Automatic peak detection in chromatography. Chromatographia 1982, 15, 543–545. [Google Scholar] [CrossRef]
  5. Du, P.; Kibbe, W.A.; Lin, S.M. Improved peak detection in mass spectrum by incorporating continuous wavelet transform-based pattern matching. Bioinformatics 2006, 22, 2059–2065. [Google Scholar] [CrossRef] [PubMed]
  6. Coombes, K.R.; Tsavachidis, S.; Morris, J.S.; Baggerly, K.A.; Hung, M.C.; Kuerer, H.M. Improved peak detection and quantification of mass spectrometry data acquired from surface-enhanced laser desorption and ionization by denoising spectra with the undecimated discrete wavelet transform. Proteomics 2005, 5, 4107–4117. [Google Scholar] [CrossRef] [PubMed]
  7. Singh, O.; Sunkaria, R.K. A robust R-peak detection algorithm using wavelet packets. Int. J. Comput. Appl. 2011, 36, 37–43. [Google Scholar]
  8. Kadambe, S.; Murray, R.; Boudreaux-Bartels, G.F. Wavelet transform-based QRS complex detector. IEEE Trans. Biomed. Eng. 1999, 46, 838–848. [Google Scholar] [CrossRef] [PubMed]
  9. Nenadic, Z.; Burdick, J.W. Spike detection using the continuous wavelet transform. IEEE Trans. Biomed. Eng. 2005, 52, 74–87. [Google Scholar] [CrossRef] [PubMed]
  10. Li, C.; Zheng, C.; Tai, C. Detection of ECG characteristic points using wavelet transforms. IEEE Trans. Biomed. Eng. 1995, 42, 21–28. [Google Scholar] [PubMed]
  11. Gregoire, J.M.; Dale, D.; Van Dover, R.B. A wavelet transform algorithm for peak detection and application to powder X-ray diffraction data. Rev. Sci. Instrum. 2011, 82, 1–8. [Google Scholar] [CrossRef] [PubMed]
  12. Fard, P.J.; Moradi, M.H.; Tajvidi, M.R. A novel approach in R peak detection using Hybrid Complex Wavelet (HCW). Int. J. Cardiol. 2008, 124, 250–253. [Google Scholar] [CrossRef] [PubMed]
  13. Wee, A.; Grayden, D.B.; Zhu, Y.; Petrkovic-Duran, K.; Smith, D. A continuous wavelet transform algorithm for peak detection. Electrophoresis 2008, 29, 4215–4225. [Google Scholar] [CrossRef] [PubMed]
  14. Benitez, D.; Gaydecki, P.A.; Zaidi, A.; Fitzpatrick, A.P. The use of the Hilbert transform in ECG signal analysis. Comput. Biol. Med. 2001, 31, 399–406. [Google Scholar] [CrossRef]
  15. Rabbani, H.; Mahjoob, M.P.; Farahabadi, E.; Farahabadi, A. R peak detection in electrocardiogram signal based on an optimal combination of wavelet transform, Hilbert transform, and adaptive thresholding. J. Med. Signals Sens. 2011, 1, 91–98. [Google Scholar] [PubMed]
  16. Xue, Q.; Hu, Y.H.; Tompkins, W.J. Neural-Network-Based adaptive matched filtering for QRS detection. IEEE Trans. Biomed. Eng. 1992, 39, 317–329. [Google Scholar] [CrossRef] [PubMed]
  17. Vijaya, G.; Kumar, V.; Verma, H.K. ANN-Based QRS-complex analysis of ECG. J. Med. Eng. & Technol. 1998, 22, 160–167. [Google Scholar]
  18. Mtetwa, N.; Smith, L.S. Smoothing and thresholding in neuronal spike detection. Neurocomputing 2006, 69, 1366–1370. [Google Scholar] [CrossRef]
  19. Andreev, V.P.; Rejtar, T.; Chen, H.S.; Moskovets, E.V.; Ivanov, A.R.; Karger, B.L. A universal denoising and peak picking algorithm for LC-MS based on matched filtration in the chromatographic time domain. Anal. Chem. 2003, 75, 6314–6326. [Google Scholar] [CrossRef] [PubMed]
  20. Chen, Y.; Duan, H. A QRS complex detection algorithm based on mathematical morphology and envelope. In Proceedings of 27th Annual International Conference of the Engineering in Medicine and Biology Society, Shanghai, China, 2006; pp. 4654–4657.
  21. Zhang, F.; Lian, Y. QRS detection based on multiscale mathematical morphology for wearable ECG devices in body area networks. IEEE Trans. Biomed. Circuits Syst. 2009, 3, 220–228. [Google Scholar] [CrossRef] [PubMed]
  22. Zhang, F.; Lian, Y. QRS detection based on morphological filter and energy envelope for applications in body sensor networks. J. Signal Proc. Syst. 2011, 64, 187–194. [Google Scholar] [CrossRef]
  23. Sun, Y.; Suppappola, S.; Wrublewski, T.A. Microcontroller-Based real-time QRS detection. Biomed. Instrum. & Technol. 1992, 26, 477–484. [Google Scholar]
  24. Ferdi, Y.; Herbeuval, J.P.; Charaf, A.; Boucheham, B. R wave detection using fractional digital differentiation. ITBM-RBM 2003, 24, 273–280. [Google Scholar] [CrossRef]
  25. Aboy, M.; McNames, J.; Thong, T.; Tsunami, D.; Ellenby, M.S.; Goldstein, B. An automatic beat detection algorithm for pressure signals. IEEE Trans. Biomed. Eng. 2005, 52, 1662–1670. [Google Scholar] [CrossRef] [PubMed]
  26. Shim, B.; Min, H.; Yoon, S. Nonlinear preprocessing method for detecting peaks from gas chromatograms. BMC Bioinf. 2009. [Google Scholar] [CrossRef] [PubMed]
  27. Tzallas, A.T.; Oikonomou, V.P.; Fotiadis, D.I. Epileptic spike detection using a Kalman filter based approach. In Proceedings of the 28th IEEE EMBS Annual International Conference, New York, NY, USA, 2006; pp. 501–504.
  28. Nguyen, N.; Huang, H.; Oraintara, S.; Vo, A. Peak detection in mass spectrometry by Gabor filters and envelope analysis. J. Bioinf. Comput. Biol. 2009, 7, 547–569. [Google Scholar] [CrossRef]
  29. Fredriksson, M.J.; Petersson, P.; Axelsson, B.O.; Bylund, D. An automatic peak finding method for LC-MS data using Gaussian second derivative filtering. J. Seperation Sci. 2009, 32, 3906–3918. [Google Scholar] [CrossRef] [PubMed]
  30. Lin, K.-P. QRS feature extraction using linear prediction. IEEE Trans. Biomed. Eng. 1989, 36, 1050–1055. [Google Scholar] [PubMed]
  31. Panoulas, K.I.; Hadjileontiadis, L.J.; Pasa, S.M. Enhancement of R-wave detection in ECG data analysis using higher-order statistics. In Proceedings of the 23rd Annual International Conference of the IEEE, Thessaloniki, Greece, 2001; Volume 1, pp. 344–347.
  32. Mehta, S.S.; Sheta, D.A.; Lingayat, N.S.; Chouhan, V.S. K-Means algorithm for the detection and delineation of QRS-complexes in electrocardiogram. IRBM 2010, 31, 48–54. [Google Scholar] [CrossRef]
  33. Sharma, S.; Mehta, S.S.; Mehta, H. Development of derivative based algorithm for the detection of QRS-complexes in single lead electrocardiogram using FCM. IJCA 2011, 4, 19–23. [Google Scholar]
  34. Slimane, Z.-E.H.; Nait-Ali, A. QRS complex detection using Empirical Mode Decomposition. Digit. Signal Proc. 2010, 20, 1221–1228. [Google Scholar] [CrossRef]
  35. Coast, D.A.; Stern, R.M.; Cano, G.G.; Briller, S.A. An approach to cardiac arrhythmia analysis using hidden Markov models. IEEE Trans. Biomed. Eng. 1990, 37, 826–836. [Google Scholar] [CrossRef] [PubMed]
  36. Palshikar, G. Simple algorithms for peak detection in time-series. In Proceedings of 1st IIMA International Conference on Advanced Data Analysis, Business Analytics and Intelligence, Ahmedabad, India, 2009.
  37. Harmer, K.; Howells, G.; Sheng, W.; Fairhurst, M.; Deravi, F. A peak-trough detection algorithm based on momentum. In Proceedings of the International Congress on Image and Signal Processing CISP ’08, Sanya, Hainan, China, 2008; Volume 4, pp. 454–458.
  38. Sezan, M.I. A peak detection algorithm and its application to histogram-based image data reduction. Comput Vis. Graph. Image Proc. 1990, 49, 36–51. [Google Scholar] [CrossRef]
  39. Jarman, K.H.; Daly, D.S.; Anderson, K.K.; Wahl, K.L. A new approach to automated peak detection. Chemom. Intell. Lab. Syst. 2003, 69, 61–76. [Google Scholar] [CrossRef]
  40. Deng, H.; Xiang, B.; Liao, X.; Xie, S. A linear modulation-based stochastic resonance algorithm applied to the detection of weak chromatographic peaks. Anal. Bioanal. Chem. 2006, 386, 2199–2205. [Google Scholar] [CrossRef] [PubMed]
  41. Mukhopadhyay, S.; Ray, G.C. A new interpretation of nonlinear energy operator and its efficacy in spike detection. IEEE Trans. Biomed. Eng. 1998, 45, 180–187. [Google Scholar] [CrossRef] [PubMed]
  42. Solanki, S.K. Sunspots: An overview. Astron. Astrophys. Rev. 2003, 11, 153–286. [Google Scholar] [CrossRef]
  43. Solar Influences Data Analysis Center (SIDC) of the Royal Observatory of Belgium. Available online: http://sidc.oma.be/DATA/monthssn.dat (accessed on 22 May 2012).
  44. Mansouri, C.; Kashou, N.H. New window on optical brain imaging; medical development, simulations and applications. In Selected Topics on Optical Fiber Technology; Yasin, M., Harun, S.W., Arof, H., Eds.; InTech: Rijeka, Croatia, 2012; pp. 271–288. [Google Scholar]
  45. Wolf, M.; Ferrari, M.; Quaresima, V. Progress of near-infrared spectroscopy and topography for brain and muscle clinical applications. J. Biomed. Opt. 2007. [Google Scholar] [CrossRef]
  46. Ferrari, M.; Quaresima, V. A brief review on the history of human functional near-infrared spectroscopy (fNIRS) development and fields of application. Neuroimage 2012, 63, 921–935. [Google Scholar] [CrossRef] [PubMed]
  47. Morren, G.; Wolf, M.; Lemmerling, P.; Wolf, U.; Choi, J.H.; Gratton, E.; De Lathauwer, L.; Van Huffel, S. Detection of fast neuronal signals in the motor cortex from functional near infrared spectroscopy measurements using independent component analysis. Med. Biol. Eng. Comput. 2004, 42, 92–99. [Google Scholar] [CrossRef] [PubMed]
  48. Steinbrink, J.; Kempf, F.C.D.; Villringer, A.; Obrig, H. The fast optical signal—robust or elusive when non-invasively measured in the human adult? Neuroimage 2005, 26, 996–1008. [Google Scholar] [CrossRef] [PubMed]
  49. Trajkovic, I.; Scholkmann, F.; Wolf, M. Estimating and validating the interbeat intervals of the heart using near-infrared spectroscopy on the human forehead. J. Biomed. Opt. 2011. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  50. Haensse, D.; Szabo, P.; Brown, D.; Fauchere, J.C.; Niederer, P.; Bucher, H.U.; Wolf, M. A new multichannel near-infrared spectro-photometry system for functional studies of the brain of adults and neonates. Opt. Express 2005, 13, 4525–4538. [Google Scholar] [CrossRef] [PubMed]
  51. Bhavani-Shankar, K.; Moseley, H.; Kumar, A.Y.; Delph, Y. Capnometry and anaesthesia. Can. J. Anesth. 1992, 39, 617–632. [Google Scholar] [CrossRef] [PubMed]
  52. Rajendra Acharya, U.; Paul Joseph, K.; Kannathal, N.; Lim, C.M.; Suri, J.S. Heart rate variability: A review. Med. Biol. Eng. Comput. 2004, 44, 1031–1051. [Google Scholar] [CrossRef] [PubMed]
  53. Wahr, J.M. The earth’s rotation. Ann. Rev. Earth Planet. Sci. 1988, 16, 231–249. [Google Scholar] [CrossRef]
  54. Li, G. 27.3-day and 13.6-day atmospheric tide and lunar forcing on atmospheric circulation. Adv. Atmos. Sci. 2005, 22, 359–374. [Google Scholar]
  55. International Earth Rotation and Reference Service (IERS). Available online: http://www.iers.org, used data file: EOP 08 C04 series for 1862-2012 (IAU2000) (accessed on 29 May 2012).
  56. Bellanger, E.; Blanter, E.M.; Le Mouël, J.-L.; Shnirman, M.G. Estimation of the 13.63-day lunar tide effect on length of day. J. Geophys. Res. 2002, 107, 2102. [Google Scholar] [CrossRef]
  57. Lorenz, E.N. Deterministic nonperiodic flow. J. Atmos. Sci. 1963, 20, 130–148. [Google Scholar] [CrossRef]
  58. Saltzman, B. Finite amplitude free convection as an initial value problem—1. J. Atmos. Sci. 1962, 19, 329–341. [Google Scholar] [CrossRef]

Share and Cite

MDPI and ACS Style

Scholkmann, F.; Boss, J.; Wolf, M. An Efficient Algorithm for Automatic Peak Detection in Noisy Periodic and Quasi-Periodic Signals. Algorithms 2012, 5, 588-603. https://doi.org/10.3390/a5040588

AMA Style

Scholkmann F, Boss J, Wolf M. An Efficient Algorithm for Automatic Peak Detection in Noisy Periodic and Quasi-Periodic Signals. Algorithms. 2012; 5(4):588-603. https://doi.org/10.3390/a5040588

Chicago/Turabian Style

Scholkmann, Felix, Jens Boss, and Martin Wolf. 2012. "An Efficient Algorithm for Automatic Peak Detection in Noisy Periodic and Quasi-Periodic Signals" Algorithms 5, no. 4: 588-603. https://doi.org/10.3390/a5040588

Article Metrics

Back to TopTop