It is quite hard to improve on Pan-Tompkins. Having taken the class from Professor Tompkins, he would encourage us to try to improve on it, but no one in our class could beat it in a significant way. Given the algorithm's computational efficiency, there would be little reason to use other methods, except in rare applications. Perhaps highly irregular beats or artifacts from a pacemaker would give your reason to look for a different QRS detection method.
Here is a paper relevant to the topic that tests 3 real-time QRS detection methods:
Portet F, Hernández AI, Carrault DG. Evaluation of real-time QRS detection algorithms in variable contexts. Med Biol Eng Comput 2005; 43: 379–85.
It is quite hard to improve on Pan-Tompkins. Having taken the class from Professor Tompkins, he would encourage us to try to improve on it, but no one in our class could beat it in a significant way. Given the algorithm's computational efficiency, there would be little reason to use other methods, except in rare applications. Perhaps highly irregular beats or artifacts from a pacemaker would give your reason to look for a different QRS detection method.
Here is a paper relevant to the topic that tests 3 real-time QRS detection methods:
Portet F, Hernández AI, Carrault DG. Evaluation of real-time QRS detection algorithms in variable contexts. Med Biol Eng Comput 2005; 43: 379–85.
I agree with Thomas Richner that is is quite hard to improve on Pan-Tompkins.
Having said that I have used the MIT- BIH database to show that the 'best' bandpass filter to improve SNR for QRS detection as one with centre frequency=19Hz and bandwidth of 9 Hz. Please see...
“Optimal frequency and bandwidth for FIR bandpass filter for QRS Detection”, F.S. Schlindwein, A.C. Yi, T. Edwards and I.C.H. Bien, MEDSIP 2006, The 3rd International Conference on Medical Signal and Information Processing, Glasgow, UK, 17-19 July, 2006.
Pan-Tompkins algorithm is the most accurate filtering process till date to extract QRS from adult ECG. However, you need to customise it to use with neonatal ECG. I have tried wavelets, but its is of low efficiency.
I agree with Schlindwein and Thomas comments above, and their observations carry important practical directives.
Although we are talking about real-time QRS detection, I found this technique very interesting and motivating. It is based on Hilbert transform of the first derivative of raw ECG data. Its has shown a fairly high total accuracy, sensitivity and specificity, when applied to MIT-BIH database.
It may be worthwhile taking a look at: (http://www.google.com.br/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CC8QFjAA&url=http%3A%2F%2Fwww.researchgate.net%2Fpublication%2F11811587_The_use_of_the_Hilbert_transform_in_ECG_signal_analysis%2Ffile%2Fe0b4951c85f99b6859.pdf&ei=WimGU4XwOJDnsASYwILYCw&usg=AFQjCNF0FAh9XDbUugdVFzBJ2iqyxsmMLA&bvm=bv.67720277,d.cWc&cad=rja)
In my experience, I found this method quite appealing. The only conditional uncertainty I have observed is a sort of "threshold" that may be needed to appropriately envelope the signal.
Implementation of this technique for real-time QRS detection is a challenge.