# Calculating SNR for ECG signals

I'm reading through the literature for finding the best way to calculate SNR for a ECG signal. While there are many algorithms for improving SNR, I couldn't find any that details any standard procedure for evaluating the SNR itself. The following are my questions.

1. What is the SNR of a typical ECG signal from the MIT/BIH database? What is considered a good SNR for a typical ECG signal? http://www.physionet.org/physiobank/database/mitdb/

2. What would qualify as Signal and Noise for ECG? The assumption that I worked with is to apply a bandpass filter with cut-offs fc=[0.5Hz,45Hz] on the recorded ECG signal to get the Clean ECG signal, then subtract the clean ECG signal from recorded signal to obtain noise and then use the matlab snr function to evaluate SNR with the clean signal and noise as arguments. But, in some papers it is recommended to reject everything except the QRS complex to get the clean signal. Is there any standard/recommended procedure for calculating SNR for ECG? http://en.wikipedia.org/wiki/QRS_complex

3. What would be the best way to calculate ECG SNR in real-time in an embedded platform?

• What are MIT, BIH and QRS? – Deve Mar 27 '15 at 16:12
• @Deve these are ECG specific terminology. MIT/BIH database contains some standard recorded ECG data under various circumstances and from patients with a variety of cardio disorders. physionet.org/physiobank/database/mitdb QRS is a event related signal complex related to ventricular activity. en.wikipedia.org/wiki/QRS_complex – Naveen Mar 27 '15 at 16:46
• You can increase the probability of answers if you rephrase your question, so that people without ECG expert knowledge can answer it. – Deve Mar 27 '15 at 16:49
• There is nothing unique about the ECG signal as a DSP challenge. What should be considered is the cause and source of the noise to model it. Using a low pass filter assumes that you do not have meaningful ECG in the high frequencies and that there is much noise in the high frequency. The best filter, assuming white noise, is a matched filter. – Moti Mar 29 '15 at 15:58
• This paper summarises a few methods for estimating the SNR and contain several useful references: cinc.org/archives/2011/pdf/0609.pdf – Antonio Horta Ribeiro Apr 2 '18 at 13:36

I don't know about real time application normally what I am doing is to calculate $$\mathrm{PRD}$$ first and calculate $$\mathrm{SNR}$$ from $$\mathrm{PRD}$$
$$\mathrm{SNR}=-20\log_{10}(0.01\mathrm{PRD})$$
$$\mathrm{PRD}$$ - Percentage Root Mean Square Deviation